From 6044c8b011b52af056f3bca127de3861958e3a67 Mon Sep 17 00:00:00 2001 From: Administrator Date: Fri, 1 Apr 2022 14:28:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SettleKBWithCodeDapperReportRepository.cs | 69 ++++++++++++++----- 1 file changed, 52 insertions(+), 17 deletions(-) diff --git a/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/SettleKBWithCodeDapperReportRepository.cs b/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/SettleKBWithCodeDapperReportRepository.cs index ad991e74..2efb5e00 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/SettleKBWithCodeDapperReportRepository.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/SettleKBWithCodeDapperReportRepository.cs @@ -51,9 +51,8 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report string sqlString = "SELECT\n" + - " * ,\n" + - " temp5.WmsBillNum WMSDeliveryNote,--交货单号\n" + - " CONVERT ( VARCHAR ( 100 ), TEMP5.WmsDate, 23 ) AS WMSActualGoodsDate,\n" + + " temp1.* ,\n" + + " ISNULL ( temp1.InvoicePrice * temp1.Qty, 0 ) AS InvoiceMoney,--开票金额\n" + " ISNULL ( Price * WMSDeliveryQty, 0 ) AS Amount,--金额\n" + " ISNULL ( Price * temp1.Qty, 0 ) AS SettlePrice,--结算金额\n" + @@ -101,19 +100,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report " A.VERSION = '{0}' {1} \n" + " ) TEMP1\n" + " LEFT JOIN set_backQty temp3 ON temp1.Kanban = temp3.Code\n" + - " LEFT JOIN (\n" + - " SELECT A\n" + - " .WMSActualGoodsDate WmsBillNum,\n" + - " t1.MaterialCode MaterialCode,\n" + - " A.Kanban,\n" + - " A.WMSActualGoodsDate WmsDate \n" + - " FROM\n" + - " Set_WMSKanBanSettle\n" + - " A INNER JOIN ( SELECT MaterialCode, Kanban FROM Set_WMSKanBanSettle GROUP BY MaterialCode, Kanban HAVING COUNT ( 1 ) = 1 ) B ON A.Kanban = B.Kanban \n" + - " AND A.MaterialCode = B.MaterialCode\n" + - " LEFT JOIN Set_material t1 ON A.MaterialCode = t1.CustomerPartCode \n" + - " ) temp5 ON temp1.SapMaterialCode = temp5.MaterialCode \n" + - " AND temp1.Kanban = temp5.Kanban \n" + + " LEFT JOIN ( SELECT Price, --定价\n" + " MaterialCode --厂内物料号\n" + @@ -209,6 +196,54 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report var _query = DbConnection.Query(_sql, null, null, true, 1200, null); + var _lst = _query.ToList(); + + + var sql1 = "SELECT A\n" + + " .WMSDeliveryNote WmsBillNum,\n" + + " t1.MaterialCode MaterialCode,\n" + + " A.Kanban,\n" + + " A.WMSActualGoodsDate WmsDate \n" + + "FROM\n" + + " Set_WMSKanBanSettle\n" + + " A INNER JOIN ( SELECT MaterialCode, Kanban FROM Set_WMSKanBanSettle GROUP BY MaterialCode, Kanban HAVING COUNT ( 1 ) = 1 ) B ON A.Kanban = B.Kanban \n" + + " AND A.MaterialCode = B.MaterialCode\n" + + " LEFT JOIN Set_material t1 ON A.MaterialCode = t1.CustomerPartCode\n"; + + + var listCompare1 = DbConnection.Query(sql1); + + + List _ls1 = new List(); + foreach (var itm in listCompare1.ToList()) + { + var first = _ls1.FirstOrDefault(p => p.Kanban == itm.Kanban && p.MaterialCode == itm.MaterialCode); + if (first != null) + { + if (!string.IsNullOrEmpty(itm.WmsDate)) + { + itm.WmsDate = DateTime.Parse(itm.WmsDate).ToShortDateString(); + } + + first.WmsBillNum += "," + itm.WmsBillNum; + first.WmsDate += "," + itm.WmsDate; + } + else + { + if (!string.IsNullOrEmpty(itm.WmsDate)) + { + itm.WmsDate = DateTime.Parse(itm.WmsDate).ToShortDateString(); + } + _ls1.Add(itm); + } + + } + + + + + + @@ -224,7 +259,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report " LEFT JOIN Set_material t1 ON A.MaterialCode = t1.CustomerPartCode"; var listCompare = DbConnection.Query(sql2); - var _lst=_query.ToList(); + List _ls = new List();