From cae22f023e5ac64b6290a4577d098ce591800b36 Mon Sep 17 00:00:00 2001 From: 44673626 <44673626@qq.com> Date: Fri, 11 Feb 2022 19:39:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=87=E4=BB=B6=E6=8C=89=E7=85=A7=E8=B4=A2?= =?UTF-8?q?=E5=8A=A1=E6=96=B0=E8=B0=83=E6=95=B4-1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Entities/WMS/WMSSharePart90AppService.cs | 3 +- .../Entities/WMS/WMSSharePartAppService.cs | 2 +- .../SettleSparePartDapperReportRepository.cs | 433 ++++++++---------- 3 files changed, 196 insertions(+), 242 deletions(-) diff --git a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSSharePart90AppService.cs b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSSharePart90AppService.cs index 89e6b2bc..0e07d3ff 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSSharePart90AppService.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSSharePart90AppService.cs @@ -457,7 +457,8 @@ namespace Win.Sfs.SettleAccount.Entities.WMS { WmsSharePart90OutPutDetial _detail = new WmsSharePart90OutPutDetial( GuidGenerator.Create(), - itm.WmsBillNum, + //itm.WmsBillNum, + string.Empty, itm.OrderBillNum, itm.MaterialCode, diff --git a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSSharePartAppService.cs b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSSharePartAppService.cs index 3c89a8b0..ff2bbb9e 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSSharePartAppService.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSSharePartAppService.cs @@ -482,7 +482,7 @@ namespace Win.Sfs.SettleAccount.Entities.SettleAccounts string.Empty, string.Empty, 0, - !string.IsNullOrEmpty(p.Extend1) ? p.Extend1 : string.Empty, + !string.IsNullOrEmpty(itm.Extend1) ? itm.Extend1 : string.Empty, string.Empty, version, itm.ParentMaterialCode, diff --git a/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/SettleSparePartDapperReportRepository.cs b/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/SettleSparePartDapperReportRepository.cs index 43a17053..f5f22be1 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/SettleSparePartDapperReportRepository.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/SettleSparePartDapperReportRepository.cs @@ -22,204 +22,153 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report //string state, DateTime begin, DateTime end) + /// + /// 带采购订单号和无订单号一起统计报表 + /// + /// + /// + /// + /// + /// + /// + /// public virtual List GetSettleSparePartReportList(string purchaseOrderNo, string version, string sapCode, string matialCode, string begintime, string endtime) { - //string sqlString = "SELECT\n" + - //" temp1.交货日期,\n" + - //" temp1.交货单号,\n" + - //" '' 订单日期,\n" + - //" temp1.采购订单号,\n" + - //" temp1.SAP编码,\n" + - //" temp1.物料代码,\n" + - //" temp1.物料描述,\n" + - //" temp1.采购订单文本,\n" + - //" temp1.发货数量,\n" + - //" temp1.开票数量,\n" + - //" ISNULL( temp1.发货数量, 0 ) - ISNULL( temp1.开票数量, 0 ) AS 发货与开票差异,\n" + - //" temp1.开票单价,\n" + - //" ISNULL( temp1.开票金额, 0 ) AS 开票金额,\n" + - //" ISNULL( TEMP2.Price, 0 ) AS 定价,\n" + - //" temp1.开票单价 - ISNULL( TEMP2.Price, 0 ) AS 单价差异 ,\n" + - //" ( temp1.开票单价 - ISNULL( TEMP2.Price, 0 ) ) * temp1.开票数量 AS 差异总金额 \n" + - //"FROM\n" + - //" (\n" + - //" SELECT\n" + - //" a.Version AS 期间,\n" + - //" a.PurchaseOrderNoText AS 采购订单文本,\n" + - //" b.WMSDeliveryNote AS 交货单号,\n" + - //" b.SpareDate AS 交货日期,\n" + - //" a.PurchaseOrderNo AS 采购订单号,\n" + - //" b.SapCode AS SAP编码,\n" + - //" b.MaterialCode AS 物料代码,\n" + - //" c.MaterialDesc AS 物料描述,\n" + - //" c.EstimateTypeDesc AS 物料组,\n" + - //" a.PurchasePriceNoTax AS 开票单价,\n" + - //" 0 AS 数量差异,\n" + - //" ISNULL( b.ReceiptQty, 0 ) AS 发货数量,\n" + - //" ISNULL( a.InvoicedQty, 0 ) AS 开票数量 ,\n" + - //" ISNULL( a.AmountNoTax, 0 ) AS 开票金额 \n" + - //" FROM\n" + - //" (\n" + - //" SELECT\n" + - //" t.ReceiptQty,\n" + - //" t.PurchaseOrderNo,\n" + - //" t.Version,\n" + - //" t.PurchasePriceNoTax,\n" + - //" t.InvoicedQty,\n" + - //" t.AmountNoTax,\n" + - //" t.PurchaseOrderNoText,\n" + - //" ( SELECT MaterialCode FROM Set_material WHERE CustomerPartCode = t.MaterialCode ) AS SapCode \n" + - //" FROM\n" + - //" (\n" + - //" SELECT SUM\n" + - //" ( ReceiptQty ) AS ReceiptQty,\n" + - //" PurchaseOrderNo,\n" + - //" MaterialCode,\n" + - //" Version,\n" + - //" PurchasePriceNoTax,\n" + - //" InvoicedQty,\n" + - //" PurchaseOrderNoText,\n" + - //" AmountNoTax \n" + - //" FROM\n" + - //" Set_SparePart \n" + - //" WHERE\n" + - //" Extend != 'is90' \n" + - //" GROUP BY\n" + - //" PurchaseOrderNo,\n" + - //" MaterialCode,\n" + - //" Version,\n" + - //" PurchasePriceNoTax,\n" + - //" InvoicedQty,\n" + - //" PurchaseOrderNoText,\n" + - //" AmountNoTax \n" + - //" ) t \n" + - //" ) AS a\n" + - //" INNER JOIN (\n" + - //" SELECT SUM\n" + - //" ( ReceiptQty ) AS ReceiptQty,\n" + - //" PurchaseOrderNo,\n" + - //" SapCode,\n" + - //" MaterialCode,\n" + - //" WMSDeliveryNote,\n" + - //" SpareDate \n" + - //" FROM\n" + - //" Set_WMSSparePart \n" + - //" GROUP BY\n" + - //" PurchaseOrderNo,\n" + - //" SapCode,\n" + - //" MaterialCode,\n" + - //" WMSDeliveryNote,\n" + - //" SpareDate \n" + - //" ) AS b ON a.SapCode = b.SapCode\n" + - //" LEFT OUTER JOIN ( SELECT MAX ( Id ) Id, MaterialCode, MaterialDesc, EstimateTypeDesc FROM Set_material GROUP BY MaterialCode, MaterialDesc, EstimateTypeDesc ) AS c ON b.SapCode = c.MaterialCode \n" + - //" WHERE\n" + - //" ( a.Version = '{0}' ) \n" + - //" ) AS temp1\n" + - //" LEFT OUTER JOIN ( SELECT Price, MaterialCode FROM Set_PriceList WHERE ( Version = ( SELECT MAX ( Version ) AS Expr1 FROM Set_PriceList ) ) ) AS TEMP2 ON temp1.SAP编码 = TEMP2.MaterialCode \n" + - //"ORDER BY\n" + - //" temp1.采购订单号"; string sqlString = "SELECT\n" + - " temp1.交货日期,\n" + - " '' 订单日期,\n" + - " temp1.SAP编码,\n" + - " temp1.物料代码,\n" + - " temp1.物料描述,\n" + - " temp1.采购订单文本,\n" + - " temp1.发货数量,\n" + - " temp1.开票数量,\n" + - " ISNULL( temp1.发货数量, 0 ) - ISNULL( temp1.开票数量, 0 ) AS 发货与开票差异,\n" + - " temp1.开票单价,\n" + - " ISNULL( temp1.开票金额, 0 ) AS 开票金额,\n" + - " ISNULL( TEMP2.Price, 0 ) AS 定价,\n" + - " temp1.开票单价 - ISNULL( TEMP2.Price, 0 ) AS 单价差异 ,\n" + - " ( temp1.开票单价 - ISNULL( TEMP2.Price, 0 ) ) * temp1.开票数量 AS 差异总金额 \n" + - "FROM\n" + - " (\n" + - " SELECT\n" + - " a.Version AS 期间,\n" + - " '' AS 采购订单文本,\n" + - " b.SpareDate AS 交货日期,\n" + - " c.MaterialCode AS SAP编码,\n" + - " a.MaterialCode AS 物料代码,\n" + - " c.MaterialDesc AS 物料描述,\n" + - " c.EstimateTypeDesc AS 物料组,\n" + - " a.PurchasePriceNoTax AS 开票单价,\n" + - " 0 AS 数量差异,\n" + - " ISNULL( b.ReceiptQty, 0 ) AS 发货数量,\n" + - " ISNULL( a.ReceiptQty, 0 ) AS 开票数量 ,\n" + - " ISNULL( a.ReceiptQty, 0 )*ISNULL( a.PurchasePriceNoTax, 0 ) AS 开票金额 \n" + - " FROM\n" + - " ( SELECT SUM ( ReceiptQty ) AS ReceiptQty, MaterialCode, Version, PurchasePriceNoTax FROM Set_SparePart WHERE Extend != 'is90' GROUP BY MaterialCode, Version, PurchasePriceNoTax ) AS a\n" + - " LEFT JOIN ( SELECT SUM ( ReceiptQty ) AS ReceiptQty, SapCode, MaterialCode, SpareDate FROM Set_WMSSparePart GROUP BY SapCode, MaterialCode, SpareDate ) AS b ON a.MaterialCode = b.MaterialCode\n" + - " LEFT OUTER JOIN ( SELECT MAX ( Id ) Id, MaterialCode, CustomerPartCode, MaterialDesc, EstimateTypeDesc FROM Set_material GROUP BY MaterialCode, MaterialDesc, EstimateTypeDesc, CustomerPartCode ) AS c ON a.MaterialCode = c.CustomerPartCode \n" + - " WHERE\n" + - " ( a.Version = '{0}' and b.MaterialCode is NULL ) \n" + - " ) AS temp1\n" + - " LEFT OUTER JOIN ( SELECT Price, MaterialCode FROM Set_PriceList WHERE ( Version = ( SELECT MAX ( Version ) AS Expr1 FROM Set_PriceList ) ) ) AS TEMP2 ON temp1.SAP编码 = TEMP2.MaterialCode"; - string addwhere = string.Empty; - string addSqlStr = string.Format(sqlString, version); - - //if (!string.IsNullOrEmpty(purchaseOrderNo)) - //{ - // addwhere += string.Format(" AND PurchaseOrderNo LIKE '{0}%' ", purchaseOrderNo); - //} - //else if (!string.IsNullOrEmpty(sapCode)) - //{ - // addwhere += string.Format(" AND SAPCode LIKE '{0}%' ", sapCode); - //} - //else if (!string.IsNullOrEmpty(matialCode)) - //{ - // addwhere += string.Format(" AND MaterialCode LIKE '{0}%' ", matialCode); - //} - //else if (!string.IsNullOrEmpty(begintime)&& !string.IsNullOrEmpty(endtime)) - //{ - // addwhere += string.Format(" AND OrderDate BETWEEN '{0}' AND '{1}' ", begintime, endtime); - //} - - string _sql = string.Format(addSqlStr, addwhere); - //string _sql = string.Format(sqlString, version); - var _query = DbConnection.Query(_sql, null, null, true, 1200, null); - return _query.ToList(); + " union1.* \n" + + "FROM\n" + + " (\n" + + " SELECT\n" + + " temp1.交货日期,\n" + + " temp1.交货单号,\n" + + " '' 订单日期,\n" + + " temp1.采购订单号,\n" + + " temp1.SAP编码,\n" + + " temp1.物料代码,\n" + + " temp1.物料描述,\n" + + " temp1.采购订单文本,\n" + + " temp1.发货数量,\n" + + " temp1.开票数量,\n" + + " ISNULL( temp1.发货数量, 0 ) - ISNULL( temp1.开票数量, 0 ) AS 发货与开票差异,\n" + + " temp1.开票单价,\n" + + " ISNULL( temp1.开票金额, 0 ) AS 开票金额,\n" + + " ISNULL( TEMP2.Price, 0 ) AS 定价,\n" + + " temp1.开票单价 - ISNULL( TEMP2.Price, 0 ) AS 单价差异 ,\n" + + " ( temp1.开票单价 - ISNULL( TEMP2.Price, 0 ) ) * temp1.开票数量 AS 差异总金额 \n" + + " FROM\n" + + " (\n" + + " SELECT\n" + + " a.Version AS 期间,\n" + + " a.PurchaseOrderNoText AS 采购订单文本,\n" + + " b.WMSDeliveryNote AS 交货单号,\n" + + " b.SpareDate AS 交货日期,\n" + + " a.PurchaseOrderNo AS 采购订单号,\n" + + " c.MaterialCode AS SAP编码,\n" + + " b.MaterialCode AS 物料代码,\n" + + " c.MaterialDesc AS 物料描述,\n" + + " c.EstimateTypeDesc AS 物料组,\n" + + " a.PurchasePriceNoTax AS 开票单价,\n" + + " 0 AS 数量差异,\n" + + " ISNULL( b.ReceiptQty, 0 ) AS 发货数量,\n" + + " ISNULL( a.InvoicedQty, 0 ) AS 开票数量 ,\n" + + " ISNULL( a.AmountNoTax, 0 ) AS 开票金额 \n" + + " FROM\n" + + " (\n" + + " SELECT SUM\n" + + " ( ReceiptQty ) AS ReceiptQty,\n" + + " PurchaseOrderNo,\n" + + " MaterialCode,\n" + + " Version,\n" + + " PurchasePriceNoTax,\n" + + " InvoicedQty,\n" + + " PurchaseOrderNoText,\n" + + " AmountNoTax \n" + + " FROM\n" + + " Set_SparePart \n" + + " GROUP BY\n" + + " PurchaseOrderNo,\n" + + " MaterialCode,\n" + + " Version,\n" + + " PurchasePriceNoTax,\n" + + " InvoicedQty,\n" + + " PurchaseOrderNoText,\n" + + " AmountNoTax \n" + + " ) AS a\n" + + " INNER JOIN (\n" + + " SELECT SUM\n" + + " ( ReceiptQty ) AS ReceiptQty,\n" + + " PurchaseOrderNo,\n" + + " SapCode,\n" + + " MaterialCode,\n" + + " WMSDeliveryNote,\n" + + " SpareDate \n" + + " FROM\n" + + " Set_WMSSparePart \n" + + " GROUP BY\n" + + " PurchaseOrderNo,\n" + + " SapCode,\n" + + " MaterialCode,\n" + + " WMSDeliveryNote,\n" + + " SpareDate \n" + + " ) AS b ON a.PurchaseOrderNo = b.PurchaseOrderNo \n" + + " AND a.MaterialCode = b.MaterialCode\n" + + " LEFT OUTER JOIN Set_material AS c ON a.MaterialCode = c.CustomerPartCode \n" + + " WHERE\n" + + " ( a.Version = '{0}' ) \n" + + " ) AS temp1\n" + + " LEFT OUTER JOIN ( SELECT Price, MaterialCode FROM Set_PriceList WHERE ( Version = ( SELECT MAX ( Version ) AS Expr1 FROM Set_PriceList ) ) ) AS TEMP2 ON temp1.SAP编码 = TEMP2.MaterialCode \n" + + " ) union1 UNION ALL\n" + + "SELECT\n" + + " union2.* \n" + + "FROM\n" + + " (\n" + + " SELECT\n" + + " temp1.交货日期,\n" + + " '' 交货单号,\n" + + " '' 订单日期,\n" + + " '' 采购订单号,\n" + + " temp1.SAP编码,\n" + + " temp1.物料代码,\n" + + " temp1.物料描述,\n" + + " temp1.采购订单文本,\n" + + " temp1.发货数量,\n" + + " temp1.开票数量,\n" + + " ISNULL( temp1.发货数量, 0 ) - ISNULL( temp1.开票数量, 0 ) AS 发货与开票差异,\n" + + " temp1.开票单价,\n" + + " ISNULL( temp1.开票金额, 0 ) AS 开票金额,\n" + + " ISNULL( TEMP2.Price, 0 ) AS 定价,\n" + + " temp1.开票单价 - ISNULL( TEMP2.Price, 0 ) AS 单价差异 ,\n" + + " ( temp1.开票单价 - ISNULL( TEMP2.Price, 0 ) ) * temp1.开票数量 AS 差异总金额 \n" + + " FROM\n" + + " (\n" + + " SELECT\n" + + " a.Version AS 期间,\n" + + " '' AS 采购订单文本,\n" + + " NULL AS 交货日期,\n" + + " c.MaterialCode AS SAP编码,\n" + + " a.MaterialCode AS 物料代码,\n" + + " c.MaterialDesc AS 物料描述,\n" + + " c.EstimateTypeDesc AS 物料组,\n" + + " a.PurchasePriceNoTax AS 开票单价,\n" + + " 0 AS 数量差异,\n" + + " ISNULL( b.ReceiptQty, 0 ) AS 发货数量,\n" + + " ISNULL( a.ReceiptQty, 0 ) AS 开票数量 ,\n" + + " ISNULL( a.ReceiptQty, 0 ) * ISNULL( a.PurchasePriceNoTax, 0 ) AS 开票金额 \n" + + " FROM\n" + + " ( SELECT SUM ( ReceiptQty ) AS ReceiptQty, MaterialCode, Version, PurchasePriceNoTax FROM Set_SparePart WHERE Extend != 'is90' GROUP BY MaterialCode, Version, PurchasePriceNoTax ) AS a\n" + + " LEFT JOIN ( SELECT SUM ( ReceiptQty ) AS ReceiptQty, SapCode, MaterialCode FROM Set_WMSSparePart GROUP BY SapCode, MaterialCode ) AS b ON a.MaterialCode = b.MaterialCode\n" + + " LEFT OUTER JOIN ( SELECT MAX ( Id ) Id, MaterialCode, CustomerPartCode, MaterialDesc, EstimateTypeDesc FROM Set_material GROUP BY MaterialCode, MaterialDesc, EstimateTypeDesc, CustomerPartCode ) AS c ON a.MaterialCode = c.CustomerPartCode \n" + + " WHERE\n" + + " ( a.Version = '{0}' ) \n" + + " ) AS temp1\n" + + " LEFT OUTER JOIN ( SELECT Price, MaterialCode FROM Set_PriceList WHERE ( Version = ( SELECT MAX ( Version ) AS Expr1 FROM Set_PriceList ) ) ) AS TEMP2 ON temp1.SAP编码 = TEMP2.MaterialCode \n" + + " ) union2"; - } - public virtual List GetSettleSparePartNoOrderList(string purchaseOrderNo, string version, string sapCode, string matialCode, - string begintime, string endtime) - { - string sqlString = " SELECT \n" + - " * , \n" + - " (Price-InvoicePrice) as InvoiceDiffPrice, --单价差异 \n" + - " ISNULL( Price * ReceiptQty-InvoiceMoney, 0 ) AS SumDiffMoney --总金额差异 \n" + - " FROM \n" + - " ( \n" + - " SELECT \n" + - " c.Period as WMSDeliveryDate,--交货日期 \n" + - " c.WMSDeliveryNote,--交货单号 \n" + - " c.SpareDate as OrderDate,--订单日期 \n" + - " a.PurchaseOrderNo,--采购订单号 \n" + - " b.MaterialCode as SAPCode,--SAP编码,即厂内物料号 \n" + - " a.MaterialCode,--物料代码 \n" + - " b.MaterialDesc,--物料描述 \n" + - " a.PurchaseOrderNoText,--采购订单文本 \n" + - " c.ReceiptQty,-- 发货数量 \n" + - " a.InvoicedQty as InvoicedQty,--开票数量 \n" + - " (c.ReceiptQty-d.Amt) as SettleInvoiceDiffQty,--发货与开票差异 \n" + - " d.InvoicePrice,--开票单价 \n" + - " 0 as InvoiceMoney --开票金额 \n" + - " \n" + - " FROM \n" + - " Set_SparePart AS a \n" + - " LEFT JOIN Set_material AS b ON a.MaterialCode= b.CustomerPartCode \n" + - " LEFT JOIN Set_WMSSparePart c ON a.PurchaseOrderNo= c.WMSDeliveryNote \n" + - " AND a.MaterialCode= c.MaterialCode \n" + - " LEFT JOIN ( SELECT SUM ( amt ) / SUM ( Qty ) InvoicePrice, MaterialCode,Amt FROM set_invoice WHERE version = '{0}' GROUP BY materialcode,Amt ) d ON a.MaterialCode= d.MaterialCode \n" + - " ) TEMP1 \n" + - " LEFT JOIN ( SELECT Price, --定价 \n" + - " MaterialCode --厂内物料号 \n" + - " FROM Set_PriceList WHERE version = ( SELECT MAX ( Version ) FROM Set_PriceList_20 ) ) TEMP2 ON TEMP1.SAPCode= TEMP2.MaterialCode "; string addwhere = string.Empty; string addSqlStr = string.Format(sqlString, version); + //if (!string.IsNullOrEmpty(purchaseOrderNo)) //{ // addwhere += string.Format(" AND PurchaseOrderNo LIKE '{0}%' ", purchaseOrderNo); @@ -244,66 +193,70 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report } - public virtual List GetSettleSparePartSumQtyDiff(string version) + /// + /// 有发货无结算的报表统计 + /// + /// + /// + /// + /// + /// + /// + /// + public virtual List GetUnSettleSparePart90ReportList(string purchaseOrderNo, string version, string sapCode, string matialCode, + string begintime, string endtime) { string sqlString = "SELECT\n" + - " ISNULL( A.ReceiptQty - ISNULL( B.ReceiptQty, 0 ), 0 ) 数量差异,\n" + - " a.PurchaseOrderNo 订单号,\n" + - " a.SapCode 厂内物料号 \n" + + " temp1.交货日期,\n" + + " temp1.交货单号,\n" + + " '' 订单日期,\n" + + " temp1.采购订单号,\n" + + " temp1.SAP编码,\n" + + " temp1.物料代码,\n" + + " temp1.物料描述,\n" + + " temp1.采购订单文本,\n" + + " temp1.发货数量,\n" + + " temp1.开票数量,\n" + + " ISNULL( temp1.发货数量, 0 ) - ISNULL( temp1.开票数量, 0 ) AS 发货与开票差异,\n" + + " temp1.开票单价,\n" + + " ISNULL( temp1.开票金额, 0 ) AS 开票金额,\n" + + " ISNULL( TEMP2.Price, 0 ) AS 定价,\n" + + " temp1.开票单价 - ISNULL( TEMP2.Price, 0 ) AS 单价差异 ,\n" + + " ( temp1.开票单价 - ISNULL( TEMP2.Price, 0 ) ) * temp1.开票数量 AS 差异总金额 \n" + "FROM\n" + " (\n" + " SELECT\n" + - " t.ReceiptQty,\n" + - " t.PurchaseOrderNo,\n" + - " t.Version,\n" + - " t.PurchasePriceNoTax,\n" + - " ( SELECT MaterialCode FROM Set_material WHERE CustomerPartCode = t.MaterialCode ) AS SapCode \n" + + " a.PurchaseOrderNo AS 采购订单号,\n" + + " a.WMSDeliveryNote AS 交货单号,\n" + + " a.SpareDate AS 交货日期,\n" + + " a.MaterialCode AS 物料代码,\n" + + " ISNULL( a.ReceiptQty, 0 ) AS 发货数量,\n" + + " c.MaterialCode AS SAP编码,\n" + + " c.MaterialDesc AS 物料描述,\n" + + " c.EstimateTypeDesc AS 物料组,\n" + + " b.Version AS 期间,\n" + + " b.PurchaseOrderNoText AS 采购订单文本,\n" + + " b.PurchasePriceNoTax AS 开票单价,\n" + + " 0 AS 数量差异,\n" + + " ISNULL( b.InvoicedQty, 0 ) AS 开票数量 ,\n" + + " ISNULL( b.AmountNoTax, 0 ) AS 开票金额 \n" + " FROM\n" + - " (\n" + - " SELECT SUM\n" + - " ( ReceiptQty ) AS ReceiptQty,\n" + - " PurchaseOrderNo,\n" + - " MaterialCode,\n" + - " Version,\n" + - " PurchasePriceNoTax \n" + - " FROM\n" + - " Set_SparePart \n" + - " WHERE\n" + - " Version = '{0}' \n" + - " AND Extend != 'is90' \n" + - " GROUP BY\n" + - " PurchaseOrderNo,\n" + - " MaterialCode,\n" + - " Version,\n" + - " PurchasePriceNoTax \n" + - " ) t \n" + - " ) A\n" + - " LEFT JOIN (\n" + - " SELECT SUM\n" + - " ( ReceiptQty ) AS ReceiptQty,\n" + - " PurchaseOrderNo,\n" + - " SapCode,\n" + - " MaterialCode,\n" + - " WMSDeliveryNote,\n" + - " SpareDate \n" + - " FROM\n" + - " Set_WMSSparePart \n" + - " GROUP BY\n" + - " PurchaseOrderNo,\n" + - " SapCode,\n" + - " MaterialCode,\n" + - " WMSDeliveryNote,\n" + - " SpareDate \n" + - " ) B ON A.SapCode = B.SapCode \n" + - "WHERE\n" + - " ( A.ReceiptQty - ISNULL( B.ReceiptQty, 0 ) ) <> 0"; + " Set_WMSSparePart a\n" + + " LEFT JOIN ( SELECT PurchaseOrderNo, Version, PurchaseOrderNoText, PurchasePriceNoTax, InvoicedQty, AmountNoTax FROM Set_SparePart WHERE Version = '{0}' ) b ON a.PurchaseOrderNo = b.PurchaseOrderNo\n" + + " LEFT OUTER JOIN Set_material AS c ON a.MaterialCode = c.CustomerPartCode \n" + + " WHERE\n" + + " b.PurchaseOrderNo IS NULL \n" + + " ) AS temp1\n" + + " LEFT OUTER JOIN ( SELECT Price, MaterialCode FROM Set_PriceList WHERE ( Version = ( SELECT MAX ( Version ) AS Expr1 FROM Set_PriceList ) ) ) AS TEMP2 ON temp1.SAP编码 = TEMP2.MaterialCode \n" + + "ORDER BY\n" + + " temp1.采购订单号"; + string addwhere = string.Empty; string addSqlStr = string.Format(sqlString, version); - string _sql = string.Format(addSqlStr, addwhere); - - var _query = DbConnection.Query(_sql, null, null, true, 1200, null); + //string _sql = string.Format(sqlString, version); + var _query = DbConnection.Query(_sql, null, null, true, 1200, null); return _query.ToList(); }