<?xml version="1.0"?>
<Entity>
	<Name>FundPlanDtl</Name>
	<Type>Single</Type>
	<Table>
		<Name>FundPlanDtl</Name>
		<Column>
			<Name>FundPlanDtlCode</Name>
			<DataType>System.Int32</DataType>
			<IsKey>true</IsKey>
			<IsAllowNull>false</IsAllowNull>
			<ColumnSize>4</ColumnSize>
		</Column>
		<Column>
			<Name>FundPlanCode</Name>
			<DataType>System.Int32</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>4</ColumnSize>
		</Column>
		<Column>
			<Name>IsContract</Name>
			<DataType>System.Int32</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>4</ColumnSize>
		</Column>
		<Column>
			<Name>CostCode</Name>
			<DataType>System.String</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>50</ColumnSize>
		</Column>
		<Column>
			<Name>ContractCode</Name>
			<DataType>System.String</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>50</ColumnSize>
		</Column>
		<Column>
			<Name>ApplyMoney</Name>
			<DataType>System.Decimal</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>17</ColumnSize>
		</Column>
		<Column>
			<Name>FinanceMoney</Name>
			<DataType>System.Decimal</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>17</ColumnSize>
		</Column>
		<Column>
			<Name>CheckMoney</Name>
			<DataType>System.Decimal</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>17</ColumnSize>
		</Column>
		<Column>
			<Name>Remark</Name>
			<DataType>System.String</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>1000</ColumnSize>
		</Column>
		<Column>
			<Name>PlanPayDate</Name>
			<DataType>System.DateTime</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>8</ColumnSize>
		</Column>
		<Column>
			<Name>CpId</Name>
			<DataType>System.String</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>50</ColumnSize>
		</Column>
		<Sql>
			<Name>Select</Name>
			<String>select * from FundPlanDtl where  FundPlanDtlCode=@FundPlanDtlCode</String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@FundPlanDtlCode</Name>
				<Column>FundPlanDtlCode</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
		</Sql>
		<Sql>
			<Name>SelectAll</Name>
			<String>select * from FundPlanDtl</String>
			<CommandType>Text</CommandType>
		</Sql>
		<Sql>
			<Name>Insert</Name>
			<String> Insert into FundPlanDtl (  FundPlanDtlCode, FundPlanCode, IsContract, CostCode, ContractCode, ApplyMoney, FinanceMoney, CheckMoney, Remark, PlanPayDate, CpId ) values (  @FundPlanDtlCode, @FundPlanCode, @IsContract, @CostCode, @ContractCode, @ApplyMoney, @FinanceMoney, @CheckMoney, @Remark, @PlanPayDate, @CpId )</String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@FundPlanDtlCode</Name>
				<Column>FundPlanDtlCode</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@FundPlanCode</Name>
				<Column>FundPlanCode</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@IsContract</Name>
				<Column>IsContract</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@CostCode</Name>
				<Column>CostCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@ContractCode</Name>
				<Column>ContractCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@ApplyMoney</Name>
				<Column>ApplyMoney</Column>
				<SqlDbType>Decimal</SqlDbType>
			</Param>
			<Param>
				<Name>@FinanceMoney</Name>
				<Column>FinanceMoney</Column>
				<SqlDbType>Decimal</SqlDbType>
			</Param>
			<Param>
				<Name>@CheckMoney</Name>
				<Column>CheckMoney</Column>
				<SqlDbType>Decimal</SqlDbType>
			</Param>
			<Param>
				<Name>@Remark</Name>
				<Column>Remark</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@PlanPayDate</Name>
				<Column>PlanPayDate</Column>
				<SqlDbType>DateTime</SqlDbType>
			</Param>
			<Param>
				<Name>@CpId</Name>
				<Column>CpId</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
		</Sql>
		<Sql>
			<Name>Update</Name>
			<String> Update FundPlanDtl set FundPlanCode=@FundPlanCode,IsContract=@IsContract,CostCode=@CostCode,ContractCode=@ContractCode,ApplyMoney=@ApplyMoney,FinanceMoney=@FinanceMoney,CheckMoney=@CheckMoney,Remark=@Remark,PlanPayDate=@PlanPayDate,CpId=@CpId where  FundPlanDtlCode=@FundPlanDtlCode</String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@FundPlanDtlCode</Name>
				<Column>FundPlanDtlCode</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@FundPlanCode</Name>
				<Column>FundPlanCode</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@IsContract</Name>
				<Column>IsContract</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@CostCode</Name>
				<Column>CostCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@ContractCode</Name>
				<Column>ContractCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@ApplyMoney</Name>
				<Column>ApplyMoney</Column>
				<SqlDbType>Decimal</SqlDbType>
			</Param>
			<Param>
				<Name>@FinanceMoney</Name>
				<Column>FinanceMoney</Column>
				<SqlDbType>Decimal</SqlDbType>
			</Param>
			<Param>
				<Name>@CheckMoney</Name>
				<Column>CheckMoney</Column>
				<SqlDbType>Decimal</SqlDbType>
			</Param>
			<Param>
				<Name>@Remark</Name>
				<Column>Remark</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@PlanPayDate</Name>
				<Column>PlanPayDate</Column>
				<SqlDbType>DateTime</SqlDbType>
			</Param>
			<Param>
				<Name>@CpId</Name>
				<Column>CpId</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
		</Sql>
		<Sql>
			<Name>Delete</Name>
			<String> Delete from FundPlanDtl  where  FundPlanDtlCode=@FundPlanDtlCode</String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@FundPlanDtlCode</Name>
				<Column>FundPlanDtlCode</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
		</Sql>
		<Sql>
			<Name>SelectByFundPlanCode</Name>
			<String>select * from FundPlanDtl where FundPlanCode=@FundPlanCode </String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@FundPlanCode</Name>
				<Column>FundPlanCode</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
		</Sql>
    <Sql>
      <Name>SelectWithContract</Name>
      <String>select * from V_FundPlanDtlContract where FundPlanCode=@FundPlanCode </String>
      <CommandType>Text</CommandType>
      <Param>
        <Name>@FundPlanCode</Name>
        <Column>FundPlanCode</Column>
        <SqlDbType>Int</SqlDbType>
      </Param>      
    </Sql>
    <Sql>
      <Name>SelectWithNContract</Name>
      <String>select * from FundPlanDtl where FundPlanCode=@FundPlanCode and IsContract=0 </String>
      <CommandType>Text</CommandType>
      <Param>
        <Name>@FundPlanCode</Name>
        <Column>FundPlanCode</Column>
        <SqlDbType>Int</SqlDbType>
      </Param>
    </Sql>
    <Sql>
      <Name>SelectFundPlanCBS</Name>
      <String>select fd.*,c.CostName,c.FullCode,c.ParentCode from FundPlanDtl fd inner join CBS c on c.costcode=fd.costcode where FundPlanCode=@FundPlanCode and IsContract=0 </String>
      <CommandType>Text</CommandType>
      <Param>
        <Name>@FundPlanCode</Name>
        <Column>FundPlanCode</Column>
        <SqlDbType>Int</SqlDbType>
      </Param>
    </Sql>
	<Sql>
		<Name>SelectContractByFundPlanCode</Name>
		<String>select (select SupplierName from Supplier where Supplier.SupplierCode=Contract.SupplierCode) as SupplierName,* from (select v.CreateDate,v.ChangeStatus,v.UnitCode,v.FundsCode,v.ProjectCode,v.ContractId,v.ContractCode,v.ContractName,v.status,v.SupplierCode,v.SupplierTypeCode,v.TotalMoney,v.AHMoney,v.APMoney,fp.FundPlanDtlCode,fp.FundPlanCode,fp.ApplyMoney,fp.FinanceMoney,fp.CheckMoney,fp.Remark as FundPlanRemark,fp.PlanPayDate,sum(isnull(pm.Money,0)) as FundPlanMoney from V_ContractPayMoney v left join FundPlanDtl fp on fp.ContractCode=v.ContractCode and fp.FundPlanCode=@FundPlanCode  and isnull(fp.CostCode,'')='' left join payment pm on pm.ContractCode=v.ContractCode and pm.Status in ('1','2') and PayDate&gt;=@Date1 and PayDate&lt;=@Date2 group by v.CreateDate,v.ChangeStatus,v.UnitCode,v.FundsCode,v.ProjectCode,v.ContractId,v.ContractCode,v.ContractName,v.status,v.SupplierCode,v.SupplierTypeCode,v.TotalMoney,v.AHMoney,v.APMoney,fp.FundPlanDtlCode,fp.FundPlanCode,fp.ApplyMoney,fp.FinanceMoney,fp.CheckMoney,fp.Remark,fp.PlanPayDate) as Contract</String>
		<CommandType>Text</CommandType>
		<Param>
			<Name>@FundPlanCode</Name>
			<Column>FundPlanCode</Column>
			<SqlDbType>VarChar</SqlDbType>
		</Param>
		<Param>
			<Name>@Date1</Name>
			<Column>PayDate</Column>
			<SqlDbType>DateTime</SqlDbType>
		</Param>
		<Param>
			<Name>@Date2</Name>
			<Column>PayDate</Column>
			<SqlDbType>DateTime</SqlDbType>
		</Param>
	</Sql>
	</Table>
</Entity>