From 8e892a8a5c149457e76b74bdb78df1aa8e70f408 Mon Sep 17 00:00:00 2001 From: 44673626 <44673626@qq.com> Date: Mon, 11 Apr 2022 14:09:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E8=B4=A5=E5=A4=A7=E4=BC=97=E5=A4=87?= =?UTF-8?q?=E4=BB=B6=E5=AF=B9=E5=BA=94DTO=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SettleSparePartDapperReportRepository.cs | 124 +++++++++++++++++- 1 file changed, 122 insertions(+), 2 deletions(-) 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 24b707b4..34713bdf 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 @@ -155,7 +155,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report var sql1 = "SELECT\n" + " A.WMSDeliveryNote WmsBillNum,\n" + " t1.MaterialCode MaterialCode,\n" + - " A.PurchaseOrderNo,\n" + + " A.PurchaseOrderNo Kanban,\n" + " A.SpareDate WmsDate \n" + "FROM\n" + " Set_WMSSparePart A\n" + @@ -200,7 +200,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report var sql2 = "SELECT\n" + " A.WMSDeliveryNote WmsBillNum,\n" + " t1.MaterialCode MaterialCode,\n" + - " A.PurchaseOrderNo,\n" + + " A.PurchaseOrderNo Kanban,\n" + " A.SpareDate WmsDate \n" + "FROM\n" + " Set_WMSSparePart A\n" + @@ -212,6 +212,120 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report + + + //结算表中订单日期也要合并 + var sql10 = "SELECT DISTINCT\n" + + " t1.* \n" + + "FROM\n" + + " (\n" + + " SELECT CONVERT\n" + + " ( VARCHAR ( 100 ), a.SpareDate, 23 ) AS AcceptanceDate,\n" + + " PurchaseOrderNo KanbanNumber,\n" + + " b2.MaterialCode \n" + + " FROM\n" + + " Set_SparePart a\n" + + " LEFT JOIN Set_material b2 ON a.MaterialCode = b2.CustomerPartCode \n" + + " WHERE\n" + + " a.Extend != 'is90' \n" + + " AND a.PurchaseOrderNo != 'NoOrder' \n" + + " AND a.Version = '{0}' \n" + + " ) t1\n" + + " LEFT JOIN (\n" + + " SELECT\n" + + " PurchaseOrderNo KanbanNumber,\n" + + " MaterialCode \n" + + " FROM\n" + + " Set_SparePart a \n" + + " WHERE\n" + + " a.Extend != 'is90' \n" + + " AND a.PurchaseOrderNo != 'NoOrder' \n" + + " AND a.Version = '{0}' \n" + + " GROUP BY\n" + + " PurchaseOrderNo,\n" + + " MaterialCode \n" + + " HAVING\n" + + " COUNT ( * ) > 1 \n" + + " ) t2 ON t1.KanbanNumber = t2.KanbanNumber \n" + + " AND t1.MaterialCode = t2.MaterialCode \n" + + "WHERE\n" + + " t2.KanbanNumber IS NULL"; + + + var list11 = DbConnection.Query(string.Format(sql10, version)); + + + + + + var sql11 = "SELECT DISTINCT\n" + + " t1.* \n" + + "FROM\n" + + " (\n" + + " SELECT CONVERT\n" + + " ( VARCHAR ( 100 ), a.SpareDate, 23 ) AS AcceptanceDate,\n" + + " PurchaseOrderNo KanbanNumber,\n" + + " b2.MaterialCode \n" + + " FROM\n" + + " Set_SparePart a\n" + + " LEFT JOIN Set_material b2 ON a.MaterialCode = b2.CustomerPartCode \n" + + " WHERE\n" + + " a.Extend != 'is90' \n" + + " AND a.PurchaseOrderNo != 'NoOrder' \n" + + " AND a.Version = '{0}' \n" + + " ) t1\n" + + " INNER JOIN (\n" + + " SELECT\n" + + " PurchaseOrderNo KanbanNumber,\n" + + " MaterialCode \n" + + " FROM\n" + + " Set_SparePart a \n" + + " WHERE\n" + + " a.Extend != 'is90' \n" + + " AND a.PurchaseOrderNo != 'NoOrder' \n" + + " AND a.Version = '{0}' \n" + + " GROUP BY\n" + + " PurchaseOrderNo,\n" + + " MaterialCode \n" + + " HAVING\n" + + " COUNT ( * ) > 1 \n" + + " ) t2 ON t1.KanbanNumber = t2.KanbanNumber \n" + + " AND t1.MaterialCode = t2.MaterialCode \n" + + "ORDER BY\n" + + " t1.KanbanNumber,\n" + + " t1.MaterialCode"; + + + var list12 = DbConnection.Query(string.Format(sql11, version)); + + + List _lscopy = new List(); + + foreach (var itm in list11) + { + var first = _lscopy.FirstOrDefault(p => p.KanbanNumber == itm.KanbanNumber && p.MaterialCode == itm.MaterialCode); + if (first != null) + { + first.AcceptanceDate += "," + itm.AcceptanceDate; + } + else + { + _lscopy.Add(itm); + } + } + foreach (var itm in list12) + { + _lscopy.Add(itm); + } + + + + + + + + + List _ls = new List(); foreach (var itm in listCompare.ToList()) { @@ -257,6 +371,12 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report itm1.交货日期 = itm.WmsDate; } + var itmcopy = _lscopy.FirstOrDefault(p => p.KanbanNumber == itm1.采购订单号 && p.MaterialCode == itm1.SAP编码); + if (itmcopy != null) + { + itm1.订单日期 = itmcopy.AcceptanceDate; + } + }