From 340d93849564533bdae6fdc91e51ad5ed68dd341 Mon Sep 17 00:00:00 2001 From: 44673626 <44673626@qq.com> Date: Wed, 20 Apr 2022 19:49:45 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BA=A2=E6=97=97=E6=9C=AA=E7=BB=93=E6=A0=B8?= =?UTF-8?q?=E5=AF=B9=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UnHQSettleAccounts/UnHQSettleImportDto.cs | 2 +- .../UnHQSettleAppService.cs | 5 +- .../HQFactorySettledDetailDapperRepository.cs | 946 +++++++++++------- .../Report/KanbanUnSettledDapperRepository.cs | 4 +- .../Services/Report/KanBanUnSettledExport.cs | 3 + 5 files changed, 606 insertions(+), 354 deletions(-) diff --git a/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/UnHQSettleAccounts/UnHQSettleImportDto.cs b/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/UnHQSettleAccounts/UnHQSettleImportDto.cs index 1a4fff9b..ceb4f942 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/UnHQSettleAccounts/UnHQSettleImportDto.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/UnHQSettleAccounts/UnHQSettleImportDto.cs @@ -17,7 +17,7 @@ namespace Win.Sfs.SettleAccount.Entities.UnHQSettleAccounts /// ///外部看板编号 /// - [ImporterHeader(Name = "外部看板编号")] + [ImporterHeader(Name = "外部单号")] public string ExternalKanbanNumber { get; set; } /// ///看板编号 diff --git a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/UnHQSettleAccounts/UnHQSettleAppService.cs b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/UnHQSettleAccounts/UnHQSettleAppService.cs index f8413cc9..3a4aec7d 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/UnHQSettleAccounts/UnHQSettleAppService.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/UnHQSettleAccounts/UnHQSettleAppService.cs @@ -86,12 +86,13 @@ namespace Win.Sfs.SettleAccount.Entities.UnHQSettleAccounts public async Task UnHQSettleUploadExcelImport([FromForm] IFormFileCollection files, Guid branchId, string year, string period, string version, string customerCode) { ExportImporter _exportImporter = new ExportImporter(); - var result = await _exportImporter.UploadExcelImport(files, _excelImportService); + var result_org = await _exportImporter.UploadExcelImport(files, _excelImportService); - if (result == null || result.Count == 0) + if (result_org == null || result_org.Count == 0) { throw new BusinessException("导入模板数据不能为空!"); } + var result = result_org.Where(p => p.Factory != "L").ToList();//去掉工厂L var entityList = ObjectMapper.Map, List>(result); //删除版本 diff --git a/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/HQFactorySettledDetailDapperRepository.cs b/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/HQFactorySettledDetailDapperRepository.cs index beb247d0..d0ec899f 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/HQFactorySettledDetailDapperRepository.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/HQFactorySettledDetailDapperRepository.cs @@ -27,22 +27,22 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report /// /// /// - public virtual List GetHQFactoryDetailDiffReportList(string version, string materialCode, + public virtual List GetHQFactoryDetailDiffReportList(string version, string materialCode, string begin, string end, string materialGroup, string iscontionversion) { - List _list = new List(); + List _list = new List(); string condition = " "; - //if (!string.IsNullOrEmpty(begin)) - //{ - // condition += string.Format(" and a.LastModificationTime>='{0}' ", begin); - //} - //if (!string.IsNullOrEmpty(end)) - //{ - // condition += string.Format(" and a.LastModificationTime<='{0}' ", end); - //} + if (!string.IsNullOrEmpty(begin)) + { + condition += string.Format(" and a.LastModificationTime>='{0}' ", begin); + } + if (!string.IsNullOrEmpty(end)) + { + condition += string.Format(" and a.LastModificationTime<='{0}' ", end); + } string contion = string.Empty; //选中,是否过滤掉当期结算数据 @@ -55,348 +55,521 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report contion += " WHERE 1=1 "; } - string str = "SELECT\n" + - " temp3.HQHKanBan 订货看板编号,\n" + - " temp3.MaterialCode Sap编码,\n" + - " temp3.hqMaterialCode 客户物料号,\n" + - " temp3.EstimateTypeDesc 物料组,\n" + - " temp3.MaterialDesc 零件中文名称,\n" + - " isnull( TEMP2.Price, 0 ) AS 发货定价,\n" + - " temp3.发货数量,\n" + - " temp3.结算数量,\n" + - " temp3.退货数量,\n" + - " temp3.系统未结数量,\n" + - " temp3.UnHQQty 红旗未结数量,\n" + - " ( ISNULL( temp3.系统未结数量, 0 ) - ISNULL( temp3.UnHQQty, 0 ) ) 差异 \n" + - "FROM\n" + - " (\n" + - " SELECT\n" + - " * \n" + - " FROM\n" + - " (\n" + - " SELECT\n" + - " h.HQHKanBan,\n" + - " m.MaterialCode,\n" + - " h.MaterialCode hqMaterialCode,\n" + - " m.CustomerPartCode,\n" + - " m.MaterialDesc,\n" + - " m.EstimateTypeDesc,\n" + - " ISNULL( h.Qty, 0 ) AS UnHQQty \n" + - " FROM\n" + - " ( SELECT SUM ( Qty ) Qty, HQHKanBan, MaterialCode FROM Set_UnHQSettleAccount GROUP BY HQHKanBan, MaterialCode ) AS h\n" + - " LEFT JOIN Set_material AS m ON h.MaterialCode = m.CustomerPartCode \n" + - " ) AS unhq\n" + - " LEFT JOIN (\n" + - " SELECT\n" + - " * \n" + - " FROM\n" + - " (\n" + - " SELECT\n" + - " isnull( temp1.交货单号, '' ) 交货单号,\n" + - " NULL 交货时间,\n" + - " temp1.订货看板编号,\n" + - " temp1.订货零件号,\n" + - " temp1.Sap编码,\n" + - " temp1.[客户物料号],\n" + - " temp1.物料组,\n" + - " temp1.零件中文名称,\n" + - " temp1.发货数量,\n" + - " temp1.外部单号,\n" + - " temp1.结算数量,\n" + - " isnull( TEMP2.Price, 0 ) AS 发货定价,\n" + - " isnull( temp1.发货数量, 0 ) * isnull( TEMP2.Price, 0 ) AS 发货总金额,\n" + - " isnull( tt.Qty, 0 ) 退货数量,\n" + - " isnull( temp1.发货数量, 0 ) - isnull( temp1.结算数量, 0 ) - isnull( tt.Qty, 0 ) AS 系统未结数量 \n" + - " FROM\n" + - " (\n" + - " SELECT\n" + - " '' AS 交货单号,\n" + - " a.Kanban AS 订货看板编号,\n" + - " b.MaterialCode AS 订货零件号,\n" + - " c.MaterialCode Sap编码,\n" + - " c.CustomerPartCode 客户物料号,\n" + - " c.MaterialDesc AS 零件中文名称,\n" + - " isnull( a.Qty, 0 ) AS 发货数量,\n" + - " '' AS 外部单号,\n" + - " isnull( b.Qty, 0 ) AS 结算数量,\n" + - " C.EstimateTypeDesc AS 物料组 \n" + - " FROM\n" + - " ( SELECT SUM ( Qty ) Qty, Kanban, MaterialCode FROM Set_HQ_H_Kanban GROUP BY kanban, MaterialCode ) AS a\n" + - " LEFT OUTER JOIN ( SELECT SUM ( Qty ) Qty, HQHKanBan, MaterialCode FROM Set_HQ_H_Platform {1} GROUP BY HQHKanBan, MaterialCode ) AS b ON a.Kanban = b.HQHKanBan \n" + - " AND a.MaterialCode = b.MaterialCode\n" + - " LEFT OUTER JOIN Set_material AS c ON a.MaterialCode = c.CustomerPartCode \n" + - " WHERE\n" + - " b.HQHKanBan IS NULL \n" + - " AND b.MaterialCode IS NULL \n" + - " ) AS temp1\n" + - " LEFT OUTER JOIN ( SELECT Price, MaterialCode FROM Set_PriceList WHERE Version = '202110' ) AS TEMP2 ON temp1.Sap编码 = TEMP2.MaterialCode\n" + - " LEFT JOIN ( SELECT * FROM set_backQty WHERE Version = '{0}' ) tt ON temp1.Sap编码 = tt.MaterialCode \n" + - " AND temp1.订货看板编号 = tt.Code \n" + - " ) UNION1 UNION ALL\n" + - " SELECT\n" + - " * \n" + - " FROM\n" + - " (\n" + - " SELECT\n" + - " isnull( temp1.交货单号, '' ) 交货单号,\n" + - " NULL 交货时间,\n" + - " temp1.订货看板编号,\n" + - " temp1.订货零件号,\n" + - " temp1.Sap编码,\n" + - " temp1.[客户物料号],\n" + - " temp1.物料组,\n" + - " temp1.零件中文名称,\n" + - " temp1.发货数量,\n" + - " temp1.外部单号,\n" + - " temp1.结算数量,\n" + - " isnull( TEMP2.Price, 0 ) AS 发货定价,\n" + - " isnull( temp1.发货数量, 0 ) * isnull( TEMP2.Price, 0 ) AS 发货总金额,\n" + - " isnull( tt.Qty, 0 ) 退货数量,\n" + - " isnull( temp1.发货数量, 0 ) - isnull( temp1.结算数量, 0 ) - isnull( tt.Qty, 0 ) AS 系统未结数量 \n" + - " FROM\n" + - " (\n" + - " SELECT\n" + - " '' AS 交货单号,\n" + - " a.Kanban AS 订货看板编号,\n" + - " b.MaterialCode AS 订货零件号,\n" + - " c.MaterialCode Sap编码,\n" + - " c.CustomerPartCode 客户物料号,\n" + - " c.MaterialDesc AS 零件中文名称,\n" + - " isnull( a.Qty, 0 ) AS 发货数量,\n" + - " '' AS 外部单号,\n" + - " isnull( b.Qty, 0 ) AS 结算数量,\n" + - " C.EstimateTypeDesc AS 物料组 \n" + - " FROM\n" + - " ( SELECT SUM ( Qty ) Qty, Kanban, MaterialCode FROM Set_HQ_H_Kanban GROUP BY kanban, MaterialCode ) AS a\n" + - " INNER JOIN ( SELECT SUM ( Qty ) Qty, HQHKanBan, MaterialCode FROM Set_HQ_H_Platform {1} GROUP BY HQHKanBan, MaterialCode ) AS b ON a.Kanban = b.HQHKanBan \n" + - " AND a.MaterialCode = b.MaterialCode\n" + - " LEFT OUTER JOIN Set_material AS c ON a.MaterialCode = c.CustomerPartCode \n" + - " WHERE\n" + - " a.Qty> b.Qty \n" + - " ) AS temp1\n" + - " LEFT OUTER JOIN ( SELECT Price, MaterialCode FROM Set_PriceList WHERE Version = '202110' ) AS TEMP2 ON temp1.Sap编码 = TEMP2.MaterialCode\n" + - " LEFT JOIN ( SELECT * FROM set_backQty WHERE Version = '{0}' ) tt ON temp1.Sap编码 = tt.MaterialCode \n" + - " AND temp1.订货看板编号 = tt.Code \n" + - " ) UNION2 \n" + - " ) AS temp1 ON unhq.HQHKanBan = temp1.[订货看板编号] \n" + - " AND unhq.CustomerPartCode= temp1.客户物料号 WHERE temp1.[订货看板编号] is null and temp1.客户物料号 is null \n" + - " ) temp3\n" + - " LEFT OUTER JOIN ( SELECT Price, MaterialCode FROM Set_PriceList WHERE Version = '202110' ) AS TEMP2 ON temp3.MaterialCode = TEMP2.MaterialCode"; - - - var _sql = string.Format(str,version, contion); - - - var sql2 = "SELECT\n" + - " a.WmsBillNum,\n" + - " t1.MaterialCode MaterialCode,\n" + - " a.Kanban ,\n" + - " A.LastModificationTime WmsDate \n" + - "FROM\n" + - " Set_HQ_H_Kanban A\n" + - " INNER JOIN ( SELECT MaterialCode, Kanban FROM Set_HQ_H_Kanban GROUP BY MaterialCode, Kanban HAVING COUNT(*)> 1 ) B ON A.Kanban = B.Kanban \n" + - " AND A.MaterialCode = B.MaterialCode " + - " left join Set_material t1 on a.MaterialCode=t1.CustomerPartCode "; + string conditionDate = ""; - var listCompare = DbConnection.Query(sql2); - - - var sql3 = "SELECT\n" + - " a.WmsBillNum,\n" + - " t1.MaterialCode MaterialCode,\n" + - " a.Kanban,\n" + - " A.LastModificationTime WmsDate \n" + - "FROM\n" + - " Set_HQ_H_Kanban A\n" + - " LEFT JOIN ( SELECT MaterialCode, Kanban FROM Set_HQ_H_Kanban GROUP BY MaterialCode, Kanban HAVING COUNT(*)> 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" + - - "WHERE\n" + - " B.Kanban IS NULL"; - - - - var listCompare1 = DbConnection.Query(sql3); - - - var sql10 = "SELECT DISTINCT\n" + - " t1.* \n" + - "FROM\n" + - " (\n" + - " SELECT\n" + - " a.ExternalKanbanNumber AS ExternalKanbanNumber,\n" + - " a.KanbanNumber AS KanbanNumber,\n" + - " CONVERT ( VARCHAR ( 100 ), a.AcceptanceDate, 23 ) AS AcceptanceDate,\n" + - " HQHKanBan,\n" + - " b2.MaterialCode \n" + - " FROM\n" + - " Set_UnHQSettleAccount a\n" + - " LEFT JOIN Set_material b2 ON a.MaterialCode = b2.CustomerPartCode \n" + - " WHERE\n" + - " Version = '{0}' \n" + - " AND HQHKanBan <> 'BJ' \n" + - " ) t1\n" + - " LEFT JOIN (\n" + - " SELECT\n" + - " HQHKanBan,\n" + - " MaterialCode \n" + - " FROM\n" + - " Set_UnHQSettleAccount a \n" + - " WHERE\n" + - " Version = '{0}' \n" + - " AND HQHKanBan <> 'BJ' \n" + - " GROUP BY\n" + - " HQHKanBan,\n" + - " MaterialCode \n" + - " HAVING\n" + - " COUNT ( * ) > 1 \n" + - " ) t2 ON t1.HQHKanBan = t2.HQHKanBan \n" + - " AND t1.MaterialCode = t2.MaterialCode \n" + - "WHERE\n" + - " t2.HQHKanBan IS NULL"; - - - var list11 = DbConnection.Query(string.Format(sql10, version)); - - - var sql11 = "SELECT DISTINCT\n" + - " t1.* \n" + - "FROM\n" + - " (\n" + - " SELECT\n" + - " a.ExternalKanbanNumber AS ExternalKanbanNumber,\n" + - " a.KanbanNumber AS KanbanNumber,\n" + - " CONVERT ( VARCHAR ( 100 ), a.AcceptanceDate, 23 ) AS AcceptanceDate,\n" + - " HQHKanBan,\n" + - " b2.MaterialCode \n" + - " FROM\n" + - " Set_UnHQSettleAccount a\n" + - " LEFT JOIN Set_material b2 ON a.MaterialCode = b2.CustomerPartCode \n" + - " WHERE\n" + - " Version = '{0}' \n" + - " AND HQHKanBan <> 'BJ' \n" + - " ) t1\n" + - " INNER JOIN (\n" + - " SELECT\n" + - " HQHKanBan,\n" + - " MaterialCode \n" + - " FROM\n" + - " Set_UnHQSettleAccount a \n" + - " WHERE\n" + - " Version = '{0}' \n" + - " AND HQHKanBan <> 'BJ' \n" + - " GROUP BY\n" + - " HQHKanBan,\n" + - " MaterialCode \n" + - " HAVING\n" + - " COUNT ( * ) > 1 \n" + - " ) t2 ON t1.HQHKanBan = t2.HQHKanBan \n" + - " AND t1.MaterialCode = t2.MaterialCode \n" + - "ORDER BY\n" + - " t1.HQHKanBan,\n" + - " t1.MaterialCode"; - - - var list12 = DbConnection.Query(string.Format(sql11, version)); - - - var sql12 = "SELECT\n" + - " a.ExternalKanbanNumber AS ExternalKanbanNumber,\n" + - " a.KanbanNumber AS KanbanNumber,\n" + - " CONVERT ( VARCHAR ( 100 ), a.AcceptanceDate, 23 ) AS AcceptanceDate,\n" + - " HQHKanBan,\n" + - " b2.MaterialCode \n" + - "FROM\n" + - " Set_UnHQSettleAccount a\n" + - " LEFT JOIN Set_material b2 ON a.MaterialCode = b2.CustomerPartCode \n" + - "WHERE\n" + - " Version = '{0}' \n" + - " AND HQHKanBan = 'BJ'"; - - var list13 = DbConnection.Query(string.Format(sql12, version)); - - List _lscopy = new List(); - - foreach (var itm in list11) - { - var first = _lscopy.FirstOrDefault(p => p.HQHKanBan == itm.HQHKanBan && p.MaterialCode == itm.MaterialCode); - if (first != null) - { - //first.KanbanNumber += "," + itm.KanbanNumber; - //first.AcceptanceDate += "," + itm.AcceptanceDate; - first.ExternalKanbanNumber += "," + itm.ExternalKanbanNumber; - } - else - { - _lscopy.Add(itm); - } - } - foreach (var itm in list12) + if (!string.IsNullOrEmpty(begin)) { - _lscopy.Add(itm); + conditionDate += string.Format(" and LastModificationTime>='{0}' ", begin); } - foreach (var itm in list13) + if (!string.IsNullOrEmpty(end)) { - _lscopy.Add(itm); + conditionDate += string.Format(" and LastModificationTime<='{0}' ", end); } + #region + //string str = "SELECT\n" + + // " temp3.HQHKanBan 订货看板编号, temp3.ExternalKanbanNumber 外部单号,\n" + + // " temp3.MaterialCode Sap编码,\n" + + // " temp3.hqMaterialCode 客户物料号,\n" + + // " temp3.EstimateTypeDesc 物料组,\n" + + // " temp3.MaterialDesc 零件中文名称,\n" + + // " isnull( TEMP2.Price, 0 ) AS 发货定价,\n" + + // " temp3.发货数量,\n" + + // " temp3.结算数量,\n" + + // " temp3.退货数量,\n" + + // " temp3.系统未结数量,\n" + + // " temp3.UnHQQty 红旗未结数量,\n" + + // " ( ISNULL( temp3.系统未结数量, 0 ) - ISNULL( temp3.UnHQQty, 0 ) ) 差异 \n" + + // "FROM\n" + + // " (\n" + + // " SELECT\n" + + // " * \n" + + // " FROM\n" + + // " (\n" + + // " SELECT\n" + + // " h.HQHKanBan, h.ExternalKanbanNumber, \n" + + // " m.MaterialCode,\n" + + // " h.MaterialCode hqMaterialCode,\n" + + // " m.CustomerPartCode,\n" + + // " m.MaterialDesc,\n" + + // " m.EstimateTypeDesc,\n" + + // " ISNULL( h.Qty, 0 ) AS UnHQQty \n" + + // " FROM\n" + + // " ( SELECT SUM ( Qty ) Qty, HQHKanBan, MaterialCode,ExternalKanbanNumber FROM Set_UnHQSettleAccount WHERE Version ='{0}' GROUP BY HQHKanBan, MaterialCode,ExternalKanbanNumber ) AS h\n" + + // " LEFT JOIN Set_material AS m ON h.MaterialCode = m.CustomerPartCode \n" + + // " ) AS unhq\n" + + // " LEFT JOIN (\n" + + // " SELECT\n" + + // " * \n" + + // " FROM\n" + + // " (\n" + + // " SELECT\n" + + // " isnull( temp1.交货单号, '' ) 交货单号,\n" + + // " NULL 交货时间,\n" + + // " temp1.订货看板编号,\n" + + // " temp1.订货零件号,\n" + + // " temp1.Sap编码,\n" + + // " temp1.[客户物料号],\n" + + // " temp1.物料组,\n" + + // " temp1.零件中文名称,\n" + + // " temp1.发货数量,\n" + + // " temp1.外部单号,\n" + + // " temp1.结算数量,\n" + + // " isnull( TEMP2.Price, 0 ) AS 发货定价,\n" + + // " isnull( temp1.发货数量, 0 ) * isnull( TEMP2.Price, 0 ) AS 发货总金额,\n" + + // " isnull( tt.Qty, 0 ) 退货数量,\n" + + // " isnull( temp1.发货数量, 0 ) - isnull( temp1.结算数量, 0 ) - isnull( tt.Qty, 0 ) AS 系统未结数量 \n" + + // " FROM\n" + + // " (\n" + + // " SELECT\n" + + // " '' AS 交货单号,\n" + + // " a.Kanban AS 订货看板编号,\n" + + // " b.MaterialCode AS 订货零件号,\n" + + // " c.MaterialCode Sap编码,\n" + + // " c.CustomerPartCode 客户物料号,\n" + + // " c.MaterialDesc AS 零件中文名称,\n" + + // " isnull( a.Qty, 0 ) AS 发货数量,\n" + + // " '' AS 外部单号,\n" + + // " isnull( b.Qty, 0 ) AS 结算数量,\n" + + // " C.EstimateTypeDesc AS 物料组 \n" + + // " FROM\n" + + // " ( SELECT SUM ( Qty ) Qty, Kanban, MaterialCode FROM Set_HQ_H_Kanban WHERE 1=1 {2} GROUP BY kanban, MaterialCode ) AS a\n" + + // " LEFT OUTER JOIN ( SELECT SUM ( Qty ) Qty, HQHKanBan, MaterialCode FROM Set_HQ_H_Platform {1} GROUP BY HQHKanBan, MaterialCode ) AS b ON a.Kanban = b.HQHKanBan \n" + + // " AND a.MaterialCode = b.MaterialCode\n" + + // " LEFT OUTER JOIN Set_material AS c ON a.MaterialCode = c.CustomerPartCode \n" + + // " WHERE\n" + + // " b.HQHKanBan IS NULL \n" + + // " AND b.MaterialCode IS NULL \n" + + // " ) AS temp1\n" + + // " LEFT OUTER JOIN ( SELECT Price, MaterialCode FROM Set_PriceList WHERE Version = '202110' ) AS TEMP2 ON temp1.Sap编码 = TEMP2.MaterialCode\n" + + // " LEFT JOIN set_backQty tt ON temp1.Sap编码 = tt.MaterialCode \n" + + // " AND temp1.订货看板编号 = tt.Code \n" + + // " ) UNION1 UNION ALL\n" + + // " SELECT\n" + + // " * \n" + + // " FROM\n" + + // " (\n" + + // " SELECT\n" + + // " isnull( temp1.交货单号, '' ) 交货单号,\n" + + // " NULL 交货时间,\n" + + // " temp1.订货看板编号,\n" + + // " temp1.订货零件号,\n" + + // " temp1.Sap编码,\n" + + // " temp1.[客户物料号],\n" + + // " temp1.物料组,\n" + + // " temp1.零件中文名称,\n" + + // " temp1.发货数量,\n" + + // " temp1.外部单号,\n" + + // " temp1.结算数量,\n" + + // " isnull( TEMP2.Price, 0 ) AS 发货定价,\n" + + // " isnull( temp1.发货数量, 0 ) * isnull( TEMP2.Price, 0 ) AS 发货总金额,\n" + + // " isnull( tt.Qty, 0 ) 退货数量,\n" + + // " isnull( temp1.发货数量, 0 ) - isnull( temp1.结算数量, 0 ) - isnull( tt.Qty, 0 ) AS 系统未结数量 \n" + + // " FROM\n" + + // " (\n" + + // " SELECT\n" + + // " '' AS 交货单号,\n" + + // " a.Kanban AS 订货看板编号,\n" + + // " b.MaterialCode AS 订货零件号,\n" + + // " c.MaterialCode Sap编码,\n" + + // " c.CustomerPartCode 客户物料号,\n" + + // " c.MaterialDesc AS 零件中文名称,\n" + + // " isnull( a.Qty, 0 ) AS 发货数量,\n" + + // " '' AS 外部单号,\n" + + // " isnull( b.Qty, 0 ) AS 结算数量,\n" + + // " C.EstimateTypeDesc AS 物料组 \n" + + // " FROM\n" + + // " ( SELECT SUM ( Qty ) Qty, Kanban, MaterialCode FROM Set_HQ_H_Kanban WHERE 1=1 {2} GROUP BY kanban, MaterialCode ) AS a\n" + + // " INNER JOIN ( SELECT SUM ( Qty ) Qty, HQHKanBan, MaterialCode FROM Set_HQ_H_Platform {1} GROUP BY HQHKanBan, MaterialCode ) AS b ON a.Kanban = b.HQHKanBan \n" + + // " AND a.MaterialCode = b.MaterialCode\n" + + // " LEFT OUTER JOIN Set_material AS c ON a.MaterialCode = c.CustomerPartCode \n" + + // " WHERE\n" + + // " a.Qty> b.Qty \n" + + // " ) AS temp1\n" + + // " LEFT OUTER JOIN ( SELECT Price, MaterialCode FROM Set_PriceList WHERE Version = '202110' ) AS TEMP2 ON temp1.Sap编码 = TEMP2.MaterialCode\n" + + // " LEFT JOIN set_backQty tt ON temp1.Sap编码 = tt.MaterialCode \n" + + // " AND temp1.订货看板编号 = tt.Code \n" + + // " ) UNION2 \n" + + // " ) AS temp1 ON unhq.HQHKanBan = temp1.[订货看板编号] \n" + + // " AND unhq.CustomerPartCode= temp1.客户物料号 WHERE temp1.[订货看板编号] is null and temp1.客户物料号 is null \n" + + // " ) temp3\n" + + // " LEFT OUTER JOIN ( SELECT Price, MaterialCode FROM Set_PriceList WHERE Version = '202110' ) AS TEMP2 ON temp3.MaterialCode = TEMP2.MaterialCode"; + #endregion - List _ls = new List(); - foreach (var itm in listCompare.ToList()) - { - var first = _ls.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(); - } + string str = "SELECT\n" + + " temp3.HQHKanBan 订货看板编号,\n" + + " temp3.ExternalKanbanNumber 外部单号,\n" + + " temp3.MaterialCode Sap编码,\n" + + " temp3.hqMaterialCode 客户物料号,\n" + + " temp3.EstimateTypeDesc 物料组,\n" + + " temp3.MaterialDesc 零件中文名称,\n" + + " isnull( temp3.Qty, 0 ) 结算数量 ,\n" + + " isnull( temp3.Qty, 0 ) 结算单价,\n" + + " isnull( temp3.Qty, 0 ) * isnull( temp3.Qty, 0 ) 结算金额,\n" + + " temp3.系统未结数量,\n" + + " temp3.UnHQQty 红旗未结数量,\n" + + " ( ISNULL( temp3.系统未结数量, 0 ) - ISNULL( temp3.UnHQQty, 0 ) ) 差异 \n" + + "FROM\n" + + " (\n" + + " SELECT\n" + + " * \n" + + " FROM\n" + + " (\n" + + " SELECT\n" + + " h.HQHKanBan,\n" + + " h.Qty,\n" + + " h.Price,\n" + + " h.ExternalKanbanNumber,\n" + + " m.MaterialCode,\n" + + " h.MaterialCode hqMaterialCode,\n" + + " m.CustomerPartCode,\n" + + " m.MaterialDesc,\n" + + " m.EstimateTypeDesc,\n" + + " ISNULL( h.Qty, 0 ) AS UnHQQty \n" + + " FROM\n" + + " (\n" + + " SELECT SUM\n" + + " ( Qty ) Qty,\n" + + " HQHKanBan,\n" + + " MaterialCode,\n" + + " ExternalKanbanNumber,\n" + + " Price \n" + + " FROM\n" + + " Set_UnHQSettleAccount \n" + + " WHERE\n" + + " Version = '{0}' \n" + + " GROUP BY\n" + + " HQHKanBan,\n" + + " MaterialCode,\n" + + " ExternalKanbanNumber,\n" + + " Price \n" + + " ) AS h\n" + + " LEFT JOIN Set_material AS m ON h.MaterialCode = m.CustomerPartCode \n" + + " ) AS unhq\n" + + " LEFT JOIN (\n" + + " SELECT\n" + + " * \n" + + " FROM\n" + + " (\n" + + " SELECT\n" + + " isnull( temp1.交货单号, '' ) 交货单号,\n" + + " NULL 交货时间,\n" + + " temp1.订货看板编号,\n" + + " temp1.订货零件号,\n" + + " temp1.Sap编码,\n" + + " temp1.[客户物料号],\n" + + " temp1.物料组,\n" + + " temp1.零件中文名称,\n" + + " temp1.发货数量,\n" + + " temp1.外部单号,\n" + + " temp1.结算数量,\n" + + " isnull( TEMP2.Price, 0 ) AS 发货定价,\n" + + " isnull( temp1.发货数量, 0 ) * isnull( TEMP2.Price, 0 ) AS 发货总金额,\n" + + " isnull( tt.Qty, 0 ) 退货数量,\n" + + " isnull( temp1.发货数量, 0 ) - isnull( temp1.结算数量, 0 ) - isnull( tt.Qty, 0 ) AS 系统未结数量 \n" + + " FROM\n" + + " (\n" + + " SELECT\n" + + " '' AS 交货单号,\n" + + " a.Kanban AS 订货看板编号,\n" + + " b.MaterialCode AS 订货零件号,\n" + + " c.MaterialCode Sap编码,\n" + + " c.CustomerPartCode 客户物料号,\n" + + " c.MaterialDesc AS 零件中文名称,\n" + + " isnull( a.Qty, 0 ) AS 发货数量,\n" + + " '' AS 外部单号,\n" + + " isnull( b.Qty, 0 ) AS 结算数量,\n" + + " C.EstimateTypeDesc AS 物料组 \n" + + " FROM\n" + + " ( SELECT SUM ( Qty ) Qty, Kanban, MaterialCode FROM Set_HQ_H_Kanban WHERE 1 = 1 {2} GROUP BY kanban, MaterialCode ) AS a\n" + + " LEFT OUTER JOIN ( SELECT SUM ( Qty ) Qty, HQHKanBan, MaterialCode FROM Set_HQ_H_Platform {1} GROUP BY HQHKanBan, MaterialCode ) AS b ON a.Kanban = b.HQHKanBan \n" + + " AND a.MaterialCode = b.MaterialCode\n" + + " LEFT OUTER JOIN Set_material AS c ON a.MaterialCode = c.CustomerPartCode \n" + + " WHERE\n" + + " b.HQHKanBan IS NULL \n" + + " AND b.MaterialCode IS NULL \n" + + " ) AS temp1\n" + + " LEFT OUTER JOIN ( SELECT Price, MaterialCode FROM Set_PriceList WHERE Version = '202110' ) AS TEMP2 ON temp1.Sap编码 = TEMP2.MaterialCode\n" + + " LEFT JOIN set_backQty tt ON temp1.Sap编码 = tt.MaterialCode \n" + + " AND temp1.订货看板编号 = tt.Code \n" + + " ) UNION1 UNION ALL\n" + + " SELECT\n" + + " * \n" + + " FROM\n" + + " (\n" + + " SELECT\n" + + " isnull( temp1.交货单号, '' ) 交货单号,\n" + + " NULL 交货时间,\n" + + " temp1.订货看板编号,\n" + + " temp1.订货零件号,\n" + + " temp1.Sap编码,\n" + + " temp1.[客户物料号],\n" + + " temp1.物料组,\n" + + " temp1.零件中文名称,\n" + + " temp1.发货数量,\n" + + " temp1.外部单号,\n" + + " temp1.结算数量,\n" + + " isnull( TEMP2.Price, 0 ) AS 发货定价,\n" + + " isnull( temp1.发货数量, 0 ) * isnull( TEMP2.Price, 0 ) AS 发货总金额,\n" + + " isnull( tt.Qty, 0 ) 退货数量,\n" + + " isnull( temp1.发货数量, 0 ) - isnull( temp1.结算数量, 0 ) - isnull( tt.Qty, 0 ) AS 系统未结数量 \n" + + " FROM\n" + + " (\n" + + " SELECT\n" + + " '' AS 交货单号,\n" + + " a.Kanban AS 订货看板编号,\n" + + " b.MaterialCode AS 订货零件号,\n" + + " c.MaterialCode Sap编码,\n" + + " c.CustomerPartCode 客户物料号,\n" + + " c.MaterialDesc AS 零件中文名称,\n" + + " isnull( a.Qty, 0 ) AS 发货数量,\n" + + " '' AS 外部单号,\n" + + " isnull( b.Qty, 0 ) AS 结算数量,\n" + + " C.EstimateTypeDesc AS 物料组 \n" + + " FROM\n" + + " ( SELECT SUM ( Qty ) Qty, Kanban, MaterialCode FROM Set_HQ_H_Kanban WHERE 1 = 1 {2} GROUP BY kanban, MaterialCode ) AS a\n" + + " INNER JOIN ( SELECT SUM ( Qty ) Qty, HQHKanBan, MaterialCode FROM Set_HQ_H_Platform {1} GROUP BY HQHKanBan, MaterialCode ) AS b ON a.Kanban = b.HQHKanBan \n" + + " AND a.MaterialCode = b.MaterialCode\n" + + " LEFT OUTER JOIN Set_material AS c ON a.MaterialCode = c.CustomerPartCode \n" + + " WHERE\n" + + " a.Qty> b.Qty \n" + + " ) AS temp1\n" + + " LEFT OUTER JOIN ( SELECT Price, MaterialCode FROM Set_PriceList WHERE Version = '202110' ) AS TEMP2 ON temp1.Sap编码 = TEMP2.MaterialCode\n" + + " LEFT JOIN set_backQty tt ON temp1.Sap编码 = tt.MaterialCode \n" + + " AND temp1.订货看板编号 = tt.Code \n" + + " ) UNION2 \n" + + " ) AS temp1 ON unhq.HQHKanBan = temp1.[订货看板编号] \n" + + " AND unhq.CustomerPartCode= temp1.客户物料号 \n" + + " WHERE\n" + + " temp1.[订货看板编号] IS NULL \n" + + " AND temp1.客户物料号 IS NULL \n" + + " ) temp3\n" + + " LEFT OUTER JOIN ( SELECT Price, MaterialCode FROM Set_PriceList WHERE Version = '202110' ) AS TEMP2 ON temp3.MaterialCode = TEMP2.MaterialCode"; + + + var _sql = string.Format(str,version, contion,conditionDate); + + + + ////发运数据中,查出看板号+物料号相同的重复数据 + //var sql2 = "SELECT\n" + + // " a.WmsBillNum,\n" + + // " t1.MaterialCode MaterialCode,\n" + + // " a.Kanban ,\n" + + // " A.LastModificationTime WmsDate \n" + + // "FROM\n" + + // " Set_HQ_H_Kanban A\n" + + // " INNER JOIN ( SELECT MaterialCode, Kanban FROM Set_HQ_H_Kanban GROUP BY MaterialCode, Kanban HAVING COUNT ( * ) > 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" + + // "WHERE\n" + + // " 1 = 1 {0}"; + //var _sql2 = string.Format(sql2, condition); + //var listCompare = DbConnection.Query(_sql2); + + + + + ////查询发运表中,看板号+物料号没有重复的数据 + //var sql3 = "SELECT\n" + + //" a.WmsBillNum,\n" + + //" t1.MaterialCode MaterialCode,\n" + + //" a.Kanban,\n" + + //" A.LastModificationTime WmsDate \n" + + //"FROM\n" + + //" Set_HQ_H_Kanban A\n" + + //" LEFT JOIN ( SELECT MaterialCode, Kanban FROM Set_HQ_H_Kanban GROUP BY MaterialCode, Kanban HAVING COUNT(*)> 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" + + + //"WHERE\n" + + //" B.Kanban IS NULL {0} "; + //var _sql3 = string.Format(sql3, condition); + //var listCompare1 = DbConnection.Query(_sql3); + + + + + + + + //var sql10 = "SELECT DISTINCT\n" + + //" t1.* \n" + + //"FROM\n" + + //" (\n" + + //" SELECT\n" + + //" a.ExternalKanbanNumber AS ExternalKanbanNumber,\n" + + //" a.KanbanNumber AS KanbanNumber,\n" + + //" CONVERT ( VARCHAR ( 100 ), a.AcceptanceDate, 23 ) AS AcceptanceDate,\n" + + //" HQHKanBan,\n" + + //" b2.MaterialCode \n" + + //" FROM\n" + + //" Set_UnHQSettleAccount a\n" + + //" LEFT JOIN Set_material b2 ON a.MaterialCode = b2.CustomerPartCode \n" + + //" WHERE\n" + + //" Version = '{0}' \n" + + //" AND HQHKanBan <> 'BJ' \n" + + //" ) t1\n" + + //" LEFT JOIN (\n" + + //" SELECT\n" + + //" HQHKanBan,\n" + + //" MaterialCode \n" + + //" FROM\n" + + //" Set_UnHQSettleAccount a \n" + + //" WHERE\n" + + //" Version = '{0}' \n" + + //" AND HQHKanBan <> 'BJ' \n" + + //" GROUP BY\n" + + //" HQHKanBan,\n" + + //" MaterialCode \n" + + //" HAVING\n" + + //" COUNT ( * ) > 1 \n" + + //" ) t2 ON t1.HQHKanBan = t2.HQHKanBan \n" + + //" AND t1.MaterialCode = t2.MaterialCode \n" + + //"WHERE\n" + + //" t2.HQHKanBan IS NULL"; + + + //var list11 = DbConnection.Query(string.Format(sql10, version)); + + + //var sql11 = "SELECT DISTINCT\n" + + //" t1.* \n" + + //"FROM\n" + + //" (\n" + + //" SELECT\n" + + //" a.ExternalKanbanNumber AS ExternalKanbanNumber,\n" + + //" a.KanbanNumber AS KanbanNumber,\n" + + //" CONVERT ( VARCHAR ( 100 ), a.AcceptanceDate, 23 ) AS AcceptanceDate,\n" + + //" HQHKanBan,\n" + + //" b2.MaterialCode \n" + + //" FROM\n" + + //" Set_UnHQSettleAccount a\n" + + //" LEFT JOIN Set_material b2 ON a.MaterialCode = b2.CustomerPartCode \n" + + //" WHERE\n" + + //" Version = '{0}' \n" + + //" AND HQHKanBan <> 'BJ' \n" + + //" ) t1\n" + + //" INNER JOIN (\n" + + //" SELECT\n" + + //" HQHKanBan,\n" + + //" MaterialCode \n" + + //" FROM\n" + + //" Set_UnHQSettleAccount a \n" + + //" WHERE\n" + + //" Version = '{0}' \n" + + //" AND HQHKanBan <> 'BJ' \n" + + //" GROUP BY\n" + + //" HQHKanBan,\n" + + //" MaterialCode \n" + + //" HAVING\n" + + //" COUNT ( * ) > 1 \n" + + //" ) t2 ON t1.HQHKanBan = t2.HQHKanBan \n" + + //" AND t1.MaterialCode = t2.MaterialCode \n" + + //"ORDER BY\n" + + //" t1.HQHKanBan,\n" + + //" t1.MaterialCode"; + + + //var list12 = DbConnection.Query(string.Format(sql11, version)); + + + //var sql12 = "SELECT\n" + + //" a.ExternalKanbanNumber AS ExternalKanbanNumber,\n" + + //" a.KanbanNumber AS KanbanNumber,\n" + + //" CONVERT ( VARCHAR ( 100 ), a.AcceptanceDate, 23 ) AS AcceptanceDate,\n" + + //" HQHKanBan,\n" + + //" b2.MaterialCode \n" + + //"FROM\n" + + //" Set_UnHQSettleAccount a\n" + + //" LEFT JOIN Set_material b2 ON a.MaterialCode = b2.CustomerPartCode \n" + + //"WHERE\n" + + //" Version = '{0}' \n" + + //" AND HQHKanBan = 'BJ'"; + + //var list13 = DbConnection.Query(string.Format(sql12, version)); + + //List _lscopy = new List(); + + //foreach (var itm in list11) + //{ + // var first = _lscopy.FirstOrDefault(p => p.HQHKanBan == itm.HQHKanBan && p.MaterialCode == itm.MaterialCode); + // if (first != null) + // { + // //first.KanbanNumber += "," + itm.KanbanNumber; + // //first.AcceptanceDate += "," + itm.AcceptanceDate; + // first.ExternalKanbanNumber += "," + itm.ExternalKanbanNumber; + // } + // else + // { + // _lscopy.Add(itm); + // } + //} + //foreach (var itm in list12) + //{ + // _lscopy.Add(itm); + //} + //foreach (var itm in list13) + //{ + // _lscopy.Add(itm); + //} - first.WmsBillNum += "," + itm.WmsBillNum; - first.WmsDate += "," + itm.WmsDate; - } - else - { - if (!string.IsNullOrEmpty(itm.WmsDate)) - { - itm.WmsDate = DateTime.Parse(itm.WmsDate).ToShortDateString(); - } - _ls.Add(itm); - } - } + //List _ls = new List(); + //foreach (var itm in listCompare.ToList()) + //{ + // var first = _ls.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(); + // } + // _ls.Add(itm); + // } - foreach (var itm in listCompare1.ToList()) - { - if (!string.IsNullOrEmpty(itm.WmsDate)) - { - itm.WmsDate = DateTime.Parse(itm.WmsDate).ToShortDateString(); - } - _ls.Add(itm); - } + //} - var _query = DbConnection.Query(_sql, null, null, true, 1200, null); - _list = _query.ToList(); + //foreach (var itm in listCompare1.ToList()) + //{ + // if (!string.IsNullOrEmpty(itm.WmsDate)) + // { + // itm.WmsDate = DateTime.Parse(itm.WmsDate).ToShortDateString(); + // } + // _ls.Add(itm); + //} + var _query = DbConnection.Query(_sql, null, null, true, 1200, null); + _list = _query.ToList(); - foreach (var itm1 in _list) - { - var itm = _ls.FirstOrDefault(p => p.Kanban == itm1.订货看板编号 && p.MaterialCode == itm1.Sap编码); - if (itm != null) - { - itm1.交货单号 = itm.WmsBillNum; - itm1.交货时间 = itm.WmsDate; - } - var itmcopy = _lscopy.FirstOrDefault(p => p.HQHKanBan == itm1.订货看板编号 && p.MaterialCode == itm1.Sap编码); - if (itmcopy != null) - { - //itm1.看板编号 = itmcopy.KanbanNumber; - //itm1.验收单日期 = itmcopy.AcceptanceDate; - itm1.外部单号 = itmcopy.ExternalKanbanNumber; - } - } + //foreach (var itm1 in _list) + //{ + // //var itm = _ls.FirstOrDefault(p => p.Kanban == itm1.订货看板编号 && p.MaterialCode == itm1.Sap编码); + // //if (itm != null) + // //{ + // // itm1.交货单号 = itm.WmsBillNum; + // // itm1.交货时间 = itm.WmsDate; + // //} + + // var itmcopy = _lscopy.FirstOrDefault(p => p.HQHKanBan == itm1.订货看板编号 && p.MaterialCode == itm1.Sap编码); + // if (itmcopy != null) + // { + // //itm1.看板编号 = itmcopy.KanbanNumber; + // //itm1.验收单日期 = itmcopy.AcceptanceDate; + // itm1.外部单号 = itmcopy.ExternalKanbanNumber; + // } + //} return _list; @@ -441,7 +614,18 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report { contion += " WHERE 1=1 "; } - + + string conditionDate = ""; + + if (!string.IsNullOrEmpty(begin)) + { + conditionDate += string.Format(" and LastModificationTime>='{0}' ", begin); + } + if (!string.IsNullOrEmpty(end)) + { + conditionDate += string.Format(" and LastModificationTime<='{0}' ", end); + } + string str = "SELECT\n" + @@ -455,6 +639,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report " temp.零件中文名称,\n" + " isnull( TEMP2.Price, 0 ) AS 发货定价,\n" + " temp.发货数量,\n" + + " isnull( TEMP2.Price, 0 )*isnull(temp.发货数量, 0 ) 发货总金额,\n" + " temp.结算数量,\n" + " temp.退货数量,\n" + " ISNULL( temp.系统未结数量, 0 ) 系统未结数量,\n" + @@ -492,12 +677,12 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report " c.CustomerPartCode 客户物料号,\n" + " c.MaterialDesc AS 零件中文名称,\n" + " isnull( a.Qty, 0 ) AS 发货数量,\n" + - " '' AS 外部单号,\n" + + " b.ExternalKanbanNumber AS 外部单号,\n" + " isnull( b.Qty, 0 ) AS 结算数量,\n" + " C.EstimateTypeDesc AS 物料组 \n" + " FROM\n" + - " ( SELECT SUM ( Qty ) Qty, Kanban, MaterialCode FROM Set_HQ_H_Kanban GROUP BY kanban, MaterialCode ) AS a\n" + - " LEFT OUTER JOIN ( SELECT SUM ( Qty ) Qty, HQHKanBan, MaterialCode FROM Set_HQ_H_Platform {1} GROUP BY HQHKanBan, MaterialCode ) AS b ON a.Kanban = b.HQHKanBan \n" + + " ( SELECT SUM ( Qty ) Qty, Kanban, MaterialCode FROM Set_HQ_H_Kanban WHERE 1=1 {0} GROUP BY kanban, MaterialCode ) AS a\n" + + " LEFT OUTER JOIN ( SELECT SUM ( Qty ) Qty, HQHKanBan, MaterialCode,ExternalKanbanNumber FROM Set_HQ_H_Platform {1} GROUP BY HQHKanBan, MaterialCode,ExternalKanbanNumber ) AS b ON a.Kanban = b.HQHKanBan \n" + " AND a.MaterialCode = b.MaterialCode\n" + " LEFT OUTER JOIN Set_material AS c ON a.MaterialCode = c.CustomerPartCode \n" + " WHERE\n" + @@ -505,7 +690,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report " AND b.MaterialCode IS NULL \n" + " ) AS temp1\n" + " LEFT OUTER JOIN ( SELECT Price, MaterialCode FROM Set_PriceList WHERE Version = '202110' ) AS TEMP2 ON temp1.Sap编码 = TEMP2.MaterialCode\n" + - " LEFT JOIN ( SELECT * FROM set_backQty WHERE Version = '{0}' ) tt ON temp1.Sap编码 = tt.MaterialCode \n" + + " LEFT JOIN set_backQty tt ON temp1.Sap编码 = tt.MaterialCode \n" + " AND temp1.订货看板编号 = tt.Code \n" + " ) UNION1 UNION ALL\n" + " SELECT\n" + @@ -542,7 +727,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report " isnull( b.Qty, 0 ) AS 结算数量,\n" + " C.EstimateTypeDesc AS 物料组 \n" + " FROM\n" + - " ( SELECT SUM ( Qty ) Qty, Kanban, MaterialCode FROM Set_HQ_H_Kanban GROUP BY kanban, MaterialCode ) AS a\n" + + " ( SELECT SUM ( Qty ) Qty, Kanban, MaterialCode FROM Set_HQ_H_Kanban WHERE 1=1 {0} GROUP BY kanban, MaterialCode ) AS a\n" + " INNER JOIN ( SELECT SUM ( Qty ) Qty, HQHKanBan, MaterialCode FROM Set_HQ_H_Platform {1} GROUP BY HQHKanBan, MaterialCode ) AS b ON a.Kanban = b.HQHKanBan \n" + " AND a.MaterialCode = b.MaterialCode\n" + " LEFT OUTER JOIN Set_material AS c ON a.MaterialCode = c.CustomerPartCode \n" + @@ -550,17 +735,17 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report " a.Qty> b.Qty \n" + " ) AS temp1\n" + " LEFT OUTER JOIN ( SELECT Price, MaterialCode FROM Set_PriceList WHERE Version = '202110' ) AS TEMP2 ON temp1.Sap编码 = TEMP2.MaterialCode\n" + - " LEFT JOIN ( SELECT * FROM set_backQty WHERE Version = '{0}' ) tt ON temp1.Sap编码 = tt.MaterialCode \n" + + " LEFT JOIN set_backQty tt ON temp1.Sap编码 = tt.MaterialCode \n" + " AND temp1.订货看板编号 = tt.Code \n" + " ) UNION2 \n" + " ) AS temp\n" + " LEFT OUTER JOIN ( SELECT Price, MaterialCode FROM Set_PriceList WHERE Version = '202110' ) AS TEMP2 ON temp.Sap编码 = TEMP2.MaterialCode\n" + - " LEFT JOIN ( SELECT SUM ( Qty ) Qty, HQHKanBan, MaterialCode FROM Set_UnHQSettleAccount GROUP BY HQHKanBan, MaterialCode ) temp3 ON temp.[订货看板编号] = temp3.HQHKanBan \n" + + " LEFT JOIN ( SELECT SUM ( Qty ) Qty, HQHKanBan, MaterialCode FROM Set_UnHQSettleAccount WHERE Version ='{2}' GROUP BY HQHKanBan, MaterialCode ) temp3 ON temp.[订货看板编号] = temp3.HQHKanBan \n" + " AND temp.[客户物料号] = temp3.MaterialCode"; - var _sql = string.Format(str, version,contion); + var _sql = string.Format(str, conditionDate, contion,version); @@ -716,10 +901,12 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report [ExporterHeader(DisplayName = "发货定价")] public decimal 发货定价 { set; get; } - [ExporterHeader(DisplayName = "金额")] - public decimal 金额 { set; get; } + [ExporterHeader(DisplayName = "发货数量")] public decimal 发货数量 { set; get; } + [ExporterHeader(DisplayName = "发货总金额")] + public decimal 发货总金额 { set; get; } + [ExporterHeader(DisplayName = "结算数量")] public decimal 结算数量 { set; get; } [ExporterHeader(DisplayName = "退货数量")] @@ -736,6 +923,67 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report + } + + + /// + /// 红旗主机厂比对红旗未结 + /// + public class HQSettledUnFactoryDetailDiff + { + + [ExporterHeader(DisplayName = "收货仓库", IsIgnore = true)] + public string 收货仓库 { set; get; } + [ExporterHeader(DisplayName = "收货仓库描述", IsIgnore = true)] + public string 收货仓库描述 { set; get; } + [ExporterHeader(DisplayName = "订货看板编号")] + public string 订货看板编号 { set; get; } + + [ExporterHeader(DisplayName = "外部单号")] + public string 外部单号 { set; get; } + + [ExporterHeader(DisplayName = "Sap编码")] + public string Sap编码 { set; get; } + + + [ExporterHeader(DisplayName = "客户物料号")] + public string 客户物料号 { set; get; } + [ExporterHeader(DisplayName = "零件中文名称")] + public string 零件中文名称 { set; get; } + + [ExporterHeader(DisplayName = "物料组")] + public string 物料组 { set; get; } + + [ExporterHeader(DisplayName = "验收单日期", IsIgnore = true)] + public string 验收单日期 { set; get; } + + [ExporterHeader(DisplayName = "发货定价", IsIgnore = true)] + public decimal 发货定价 { set; get; } + + + [ExporterHeader(DisplayName = "结算单价")] + public decimal 结算单价 { set; get; } + [ExporterHeader(DisplayName = "发货数量",IsIgnore =true)] + public decimal 发货数量 { set; get; } + [ExporterHeader(DisplayName = "结算数量")] + public decimal 结算数量 { set; get; } + + [ExporterHeader(DisplayName = "结算金额")] + public decimal 结算金额 { set; get; } + + [ExporterHeader(DisplayName = "退货数量",IsIgnore = true)] + public decimal 退货数量 { set; get; } + [ExporterHeader(DisplayName = "系统未结数量")] + public decimal 系统未结数量 { set; get; } + [ExporterHeader(DisplayName = "红旗未结数量")] + public decimal 红旗未结数量 { set; get; } + [ExporterHeader(DisplayName = "差异")] + public decimal 差异 { set; get; } + + + + + } diff --git a/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/KanbanUnSettledDapperRepository.cs b/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/KanbanUnSettledDapperRepository.cs index ca871349..4947b324 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/KanbanUnSettledDapperRepository.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/KanbanUnSettledDapperRepository.cs @@ -241,13 +241,13 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report " LEFT JOIN set_backQty AS tt ON a.Kanban = tt.Code \n" + " AND a.MaterialCode = tt.MaterialCode \n" + " WHERE\n" + - " a.WMSDeliveryQty> B.Qty \n" + + " a.WMSDeliveryQty> B.Qty AND (a.WMSDeliveryQty-tt.Qty)!=B.Qty \n" + " ) TEMP1\n" + " LEFT JOIN ( SELECT Price, MaterialCode FROM Set_PriceList WHERE Version = '202110' ) TEMP2 ON TEMP1.SapCode = TEMP2.MaterialCode \n" + " ) UNION2"; + //财务香凝要求:交货数量-退货数量=结算数量 这样的不体现在未结中 - sql = string.Format(sql,contion,strDate); diff --git a/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/KanBanUnSettledExport.cs b/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/KanBanUnSettledExport.cs index c97a2840..5eaa591e 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/KanBanUnSettledExport.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/KanBanUnSettledExport.cs @@ -47,6 +47,9 @@ namespace SettleAccount.Job.Services.Report var _ls = _dapper.GetKanbanReportList(version, begin, end, iscontionversion); + //财务香凝要求:交货数量-退货数量=结算数量 这样的不体现在未结中 + //_ls = _ls.Where(p => p.DiffQty != 0).ToList(); + //有发货有结算,且发货数量大于结算 var _ls_wmskanban = _dapper.GetWMSKanbanReportList(version, begin, end, iscontionversion);