From 0010dd10c41c5c990bf6cc1b40ad857a6c956cbe Mon Sep 17 00:00:00 2001 From: 南骏 池 <chiffly@163.com> Date: 星期四, 05 六月 2025 09:45:43 +0800 Subject: [PATCH] 1.其他入库优化 2.推荐库位函数优化 --- appsettings.json | 3 + service/Wom/WomdaaManager.cs | 2 service/Warehouse/MesCgthSqManager.cs | 2 service/Warehouse/MesItemBlManager.cs | 2 service/Warehouse/MesSctkManager.cs | 2 Controllers/Warehouse/MesItemQtrkController.cs | 26 +++++++++++++ service/Warehouse/MesItemQtrkManager.cs | 57 +++++++++++++--------------- 7 files changed, 58 insertions(+), 36 deletions(-) diff --git a/Controllers/Warehouse/MesItemQtrkController.cs b/Controllers/Warehouse/MesItemQtrkController.cs index 7c773f3..d881817 100644 --- a/Controllers/Warehouse/MesItemQtrkController.cs +++ b/Controllers/Warehouse/MesItemQtrkController.cs @@ -116,10 +116,36 @@ [HttpPost("GetQtckDetailList")] public ResponseResult GetQtckDetailList([FromBody] WarehouseQuery query) { + //try + //{ + // dynamic resultInfos = new ExpandoObject(); + // resultInfos.tbBillList = _manager.GetQtckDetailList(query); + // return new ResponseResult + // { + // status = 0, + // message = "OK", + // data = resultInfos + // }; + //} + //catch (Exception ex) + //{ + // return ResponseResult.ResponseError(ex); + //} try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = _manager.GetQtckDetailList(query); + + //if(resultInfos.tbBillList.Count < 1) + //{ + // return new ResponseResult + // { + // status = 1, + // message = "璇ョ敵璇峰崟鍙蜂笉瀛樺湪鎴栨湭瀹℃牳锛侊紒锛�", + // data = "" + // }; + //} + return new ResponseResult { status = 0, diff --git a/appsettings.json b/appsettings.json index 09b39ee..7df8dbe 100644 --- a/appsettings.json +++ b/appsettings.json @@ -9,6 +9,7 @@ "AppSettings": { "TestErpUrl": "http://192.168.1.149:8066/WebService1.asmx/MesToErpinfoTest", "ProductionErpUrl": "http://192.168.1.149:8066/WebService1.asmx/MesToErpinfoTest", - "DataBaseConn": "Data Source=192.168.1.146;Initial Catalog=GS_MES;User ID=sa;Password =qixi123;Encrypt=True;TrustServerCertificate=True;" + "DataBaseConn": "Data Source=192.168.1.146;Initial Catalog=TEST_MES;User ID=sa;Password =qixi123;Encrypt=True;TrustServerCertificate=True;" + //"DataBaseConn": "Data Source=192.168.1.146;Initial Catalog=GS_MES;User ID=sa;Password =qixi123;Encrypt=True;TrustServerCertificate=True;" } } diff --git a/service/Warehouse/MesCgthSqManager.cs b/service/Warehouse/MesCgthSqManager.cs index d4634cf..45e7b9b 100644 --- a/service/Warehouse/MesCgthSqManager.cs +++ b/service/Warehouse/MesCgthSqManager.cs @@ -27,7 +27,7 @@ if (mesInvItemOuts == null) throw new Exception("閲囪喘閫�璐х敵璇峰崟涓嶅瓨鍦�"); var sql = string.Format(@"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,A.SQ_NUM FQty,A.YS_NUM SQty,A.SQ_NUM - A.YS_NUM DSQty, - dbo.F_QX_GETRECODEPOTSE(A.ITEM_ID) as RecoKw + dbo.F_QX_GETRECODEPOTSE(A.ITEM_ID,'','','') as RecoKw fROM MES_CGTH_SQ_DETAIL A LEFT JOIN MES_CGTH_SQ B ON A.MID = B.ID LEFT JOIN MES_ITEMS C ON A.ITEM_ID = C.item_id diff --git a/service/Warehouse/MesItemBlManager.cs b/service/Warehouse/MesItemBlManager.cs index ca78cba..762d934 100644 --- a/service/Warehouse/MesItemBlManager.cs +++ b/service/Warehouse/MesItemBlManager.cs @@ -69,7 +69,7 @@ //return (mesItemBl.Bl001, blDetails); var sql = string.Format(@"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,A.BLD007 FQty,A.BLD008 SQty,A.BLD007 - A.BLD008 DSQty, - dbo.F_QX_GETRECODEPOTSE(A.bld012) as RecoKw,D.daa001 + dbo.F_QX_GETRECODEPOTSE(A.bld012,'','','') as RecoKw,D.daa001 fROM MES_ITEM_BL_DETAIL A LEFT JOIN MES_ITEM_BL B ON A.MID = B.ID LEFT JOIN MES_ITEMS C ON A.bld012 = CAST(C.item_id AS VARCHAR(50)) diff --git a/service/Warehouse/MesItemQtrkManager.cs b/service/Warehouse/MesItemQtrkManager.cs index 73d3026..81eceda 100644 --- a/service/Warehouse/MesItemQtrkManager.cs +++ b/service/Warehouse/MesItemQtrkManager.cs @@ -1,6 +1,7 @@ 锘縰sing NewPdaSqlServer.DB; using NewPdaSqlServer.Dto.service; using NewPdaSqlServer.entity; +using NewPdaSqlServer.entity.Base; using NewPdaSqlServer.util; using SqlSugar; using System.Text.RegularExpressions; @@ -17,42 +18,36 @@ .ToList(); } - public List<MesItemQtrrDetail> GetQtckDetailList(WarehouseQuery query) + public ProductionPickDto GetQtckDetailList(WarehouseQuery query) { - // 1. 楠岃瘉鐢宠鍗曟槸鍚﹀瓨鍦� - var qtrk = Db.Queryable<MesItemQtrk>() - .Where(x => x.Qtck == query.billNo) - .First(); - if (qtrk == null) - throw new Exception($"鏈煡璇㈠埌姝ゅ叾浠栧叆搴撶敵璇峰崟 {query.billNo}"); + // 鍏宠仈鏌ヨ鐗╂枡琛ㄣ�佺墿鏂欐槑缁嗚〃鍜岀墿鏂欏熀纭�淇℃伅琛� + if (string.IsNullOrEmpty(query.billNo)) throw new Exception("鐢宠鍗曞彿涓虹┖"); - // 2. 楠岃瘉鐢宠鍗曠姸鎬� - if (qtrk.Qt015 != 1) - throw new Exception($"鍏朵粬鍏ュ簱鐢宠鍗� {query.billNo} 鏈鏍革紝璇风‘璁わ紒"); + var mesInvItemOuts = base.GetSingle(it => it.Qtck == query.billNo); + if (mesInvItemOuts == null) throw new Exception("鍏朵粬鍏ュ簱鐢宠鍗曚笉瀛樺湪"); - if (qtrk.Qt014 == 1) - throw new Exception($"鍏朵粬鍏ュ簱鐢宠鍗� {query.billNo} 宸插畬缁擄紝璇风‘璁わ紒"); + var sql = string.Format(@"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,A.qd007 FQty,A.qd008 SQty,A.qd007 - A.qd008 DSQty +fROM MES_ITEM_QTRR_DETAIL A + LEFT JOIN MES_ITEM_QTRK B ON A.qtrkGuid = B.guid + LEFT JOIN MES_ITEMS C ON A.itemId = C.item_id +WHERE B.qtck = '{0}'", query.billNo); - // 3. 鏌ヨ鐢宠鍗曟槑缁� - var details = Db.Queryable<MesItemQtrk, MesItemQtrrDetail, MesItems>( - (a, b, c) => new JoinQueryInfos( - JoinType.Left, a.Guid == b.QtrkGuid, - JoinType.Left, c.Id.ToString() == b.ItemId)) - .Where((a, b, c) => - a.Qtck == query.billNo && - (b.Qd007 ?? 0) - (b.Qd008 ?? 0) > 0) - .OrderBy((a, b, c) => b.Qd002) - .Select((a, b, c) => new MesItemQtrrDetail - { - Qtck = a.Qtck, - ItemNo = c.ItemNo, - ItemName = c.ItemName, - Qd007 = b.Qd007 ?? 0, - Qd008 = b.Qd008 ?? 0 - }) - .ToList(); + var womdabs = Db.Ado.SqlQuery<ItemDetailModel>(sql); - return details; + + var DS_list = womdabs.Where(s => s.DSQty > 0).ToList(); + + var YS_list = womdabs.Where(s => s.SQty > 0).ToList(); + + var dto = new ProductionPickDto + { + //daa001 = womdaa.Daa001, + //PlanNo = womcaa.Caa020, + items = DS_list, + Ysitems = YS_list + }; + + return dto; } public string ScanInDepotsQT(WarehouseQuery query) diff --git a/service/Warehouse/MesSctkManager.cs b/service/Warehouse/MesSctkManager.cs index c5798ef..7a1d9bf 100644 --- a/service/Warehouse/MesSctkManager.cs +++ b/service/Warehouse/MesSctkManager.cs @@ -28,7 +28,7 @@ if (mesInvItemOuts == null) throw new Exception("閲囪喘閫�璐х敵璇峰崟涓嶅瓨鍦�"); var sql = string.Format(@"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,A.SQ_NUM FQty,A.YS_NUM SQty,A.SQ_NUM - A.YS_NUM DSQty, - dbo.F_QX_GETRECODEPOTSE(A.ITEM_ID) as RecoKw + dbo.F_QX_GETRECODEPOTSE(A.ITEM_ID,'','','') as RecoKw fROM MES_SCTH_SQ_DETAIL A LEFT JOIN MES_SCTH_SQ B ON A.MID = B.ID LEFT JOIN MES_ITEMS C ON A.ITEM_ID = C.item_id diff --git a/service/Wom/WomdaaManager.cs b/service/Wom/WomdaaManager.cs index a56f9dd..23dddc8 100644 --- a/service/Wom/WomdaaManager.cs +++ b/service/Wom/WomdaaManager.cs @@ -204,7 +204,7 @@ // .ToList(); var sql =string.Format(@"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,b.dab006 FQty,b.dab007 SQty,b.dab006 - b.dab007 DSQty , - dbo.F_QX_GETRECODEPOTSE(B.dab003) as RecoKw + dbo.F_QX_GETRECODEPOTSE(B.dab003,'','','') as RecoKw FROM WOMDAB B LEFT JOIN WOMDAA A ON A.guid = B.daaGuid LEFT JOIN MES_ITEMS C ON B.dab003 = C.item_id -- Gitblit v1.9.3