From 00a72fff219241eb5b0405a066cc859d07cf7735 Mon Sep 17 00:00:00 2001 From: 啊鑫 <t2856754968@163.com> Date: 星期三, 17 九月 2025 10:23:44 +0800 Subject: [PATCH] 1111 --- service/Warehouse/MesItemQtrkManager.cs | 124 +++++++++++++++++++++-------------------- 1 files changed, 63 insertions(+), 61 deletions(-) diff --git a/service/Warehouse/MesItemQtrkManager.cs b/service/Warehouse/MesItemQtrkManager.cs index 8c3615a..e56aab2 100644 --- a/service/Warehouse/MesItemQtrkManager.cs +++ b/service/Warehouse/MesItemQtrkManager.cs @@ -1,10 +1,10 @@ -锘縰sing System.Text.RegularExpressions; -using NewPdaSqlServer.DB; +锘縰sing NewPdaSqlServer.DB; using NewPdaSqlServer.Dto.service; using NewPdaSqlServer.entity; using NewPdaSqlServer.entity.Base; using NewPdaSqlServer.util; using SqlSugar; +using System.Text.RegularExpressions; namespace NewPdaSqlServer.service.Warehouse; @@ -20,18 +20,17 @@ // 鑾峰彇鏈畬鎴愮殑閫�鏂欏崟鍙峰垪琛� var parameters = new[] { - new SugarParameter("@pi_orgId", orgId), - new SugarParameter("@inP1", null), - new SugarParameter("@inP2", null), - new SugarParameter("@inP3", null), - new SugarParameter("@inP4", null) + new SugarParameter("@pi_orgId", orgId), + new SugarParameter("@inP1", null), + new SugarParameter("@inP2", null), + new SugarParameter("@inP3", null), + new SugarParameter("@inP4", null) }; try { // 杩斿洖鍗曞彿瀛楃涓插垪琛� var blDetails = Db.Ado.SqlQuery<string>( - "EXEC prc_pda_qtrk_list @pi_orgId,@inP1,@inP2,@inP3,@inP4", - parameters); + "EXEC prc_pda_qtrk_list @pi_orgId,@inP1,@inP2,@inP3,@inP4", parameters); return blDetails; } catch (Exception ex) @@ -48,24 +47,24 @@ throw new Exception("缁勭粐涓嶅瓨鍦紒"); var parameters = new[] - { - new SugarParameter("@billNo", query.billNo), - new SugarParameter("@pi_orgId", orgId), - new SugarParameter("@inP1", null), - new SugarParameter("@inP2", null), - new SugarParameter("@inP3", null), - new SugarParameter("@inP4", null) +{ + new SugarParameter("@billNo",query.billNo), + new SugarParameter("@pi_orgId", orgId), + new SugarParameter("@inP1", null), + new SugarParameter("@inP2", null), + new SugarParameter("@inP3", null), + new SugarParameter("@inP4", null) }; try { - var blDetails = Db.Ado.SqlQuery<dynamic>( - "EXEC prc_pda_qtrk_detailList @billNo,@pi_orgId,@inP1,@inP2,@inP3,@inP4", - parameters); - var items = blDetails.Where(x => x.DSQty > 0).ToList(); // 寰呮壂鐗╂枡 - var ysitems = blDetails.Where(x => x.SQty > 0).ToList(); // 宸叉壂鐗╂枡 + List<dynamic>? blDetails = Db.Ado.SqlQuery<dynamic>( + "EXEC prc_pda_qtrk_detailList @billNo,@pi_orgId,@inP1,@inP2,@inP3,@inP4", parameters); + var items = blDetails.Where(x => x.DSQty > 0).ToList(); // 寰呮壂鐗╂枡 + var ysitems = blDetails.Where(x => x.SQty > 0).ToList(); // 宸叉壂鐗╂枡 return new { - items, ysitems + items = items, + ysitems = ysitems }; } catch (Exception ex) @@ -77,14 +76,13 @@ public dynamic ScanInDepotsQT(WarehouseQuery query) { - var sectionCode = query.sectionCode; + var sectionCode = query.sectionCode; var billNo = query.billNo; // 1. 楠岃瘉搴撲綅鏉$爜鏄惁涓虹┖ if (string.IsNullOrEmpty(sectionCode)) throw new Exception("璇锋壂搴撲綅鏉$爜锛�"); - var sqlParams = new List<SugarParameter> - { new("@sectionCode", sectionCode) }; + var sqlParams = new List<SugarParameter> { new("@sectionCode", sectionCode) }; var sql2 = @" SELECT TOP 1 b.depot_code, b.depot_id, @@ -97,7 +95,7 @@ var depotInfo = Db.Ado.SqlQuery<dynamic>(sql2, sqlParams).First(); - if (depotInfo is null) + if (depotInfo is null) throw new Exception($"搴撲綅缂栫爜 {sectionCode} 涓嶅瓨鍦紝璇风‘璁わ紒"); // 5. 杩斿洖鎴愬姛淇℃伅 @@ -120,8 +118,9 @@ throw new Exception("璇锋壂搴撲綅鏉$爜锛�"); // 2. 鏌ヨ搴撲綅瀵瑰簲鐨勪粨搴撶紪鐮佸拰浠撳簱ID - var depotInfo = Db.Queryable<MesDepotSections, MesDepots>((a, b) => - new JoinQueryInfos(JoinType.Inner, a.DepotGuid == b.Guid)) + var depotInfo = Db.Queryable<MesDepotSections, MesDepots>( + (a, b) => + new JoinQueryInfos(JoinType.Inner, a.DepotGuid == b.Guid)) .Where((a, b) => a.DepotSectionCode == p_section_code) .Select((a, b) => new { b.DepotCode, b.DepotId }) .First(); @@ -132,8 +131,7 @@ var c_depot_code = depotInfo.DepotCode; var c_depot_id = depotInfo.DepotId; - var sqlParams = new List<SugarParameter> - { new("@barcode", p_item_barcode), new("@billNo", p_bill_no) }; + var sqlParams = new List<SugarParameter> { new("@barcode", p_item_barcode), new("@billNo", p_bill_no) }; // var sql1 = @" SELECT TOP 1 A.rkCkId //FROM MES_QA_ITEMS_DETECT_01 A @@ -145,8 +143,13 @@ // var appDepotInfo = Db.Ado.SqlQuery<dynamic>(sql1, sqlParams).First(); + + var mesDepost = Db.Queryable<MesDepots>() - .Where(s => s.DepotId == c_depot_id).First(); + .Where(s => s.DepotId == c_depot_id).First(); + + + // 3. 楠岃瘉鏉$爜鏄惁宸插叆搴� @@ -178,15 +181,13 @@ if (qtrk == null) throw new Exception("鍏朵粬鍏ュ簱鐢宠鍗曚笉瀛樺湪锛�"); - if (p_bill_no != barcode.BillNo) + if(p_bill_no != barcode.BillNo) throw new Exception($"璇ユ潯鐮佸搴旂殑鐢宠鍗曘�恵barcode.BillNo}銆戜笌褰撳墠鐢宠鍗曞彿涓嶅尮閰嶏紒"); if (qtrk.Qt008 != c_depot_id.ToString()) - throw new Exception( - $"璇� {p_section_code} 瀵瑰簲鐨勪粨搴� 涓� 妫�楠屽垽瀹氱殑鍏ュ簱浠撳簱涓嶄竴鑷达紝璇风‘璁わ紒"); + throw new Exception($"璇� {p_section_code} 瀵瑰簲鐨勪粨搴� 涓� 妫�楠屽垽瀹氱殑鍏ュ簱浠撳簱涓嶄竴鑷达紝璇风‘璁わ紒"); - var sql = - @"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel, + var sql = @"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel, ISNULL(A.qd007,0) FQty,ISNULL(A.qd008,0) SQty,ISNULL(A.qd007,0) - ISNULL(A.qd008,0) DSQty FROM MES_ITEM_QTRR_DETAIL A LEFT JOIN MES_ITEM_QTRK B ON A.qtrkGuid = B.guid @@ -194,8 +195,7 @@ WHERE B.qtck = @billNo AND QT015 = 1 AND QT028 = 1 AND QT032 = 1 AND QT014 = 0 "; //AND QT014 = 0 - var sqlParams1 = new List<SugarParameter> - { + var sqlParams1 = new List<SugarParameter> { new("@billNo", p_bill_no) }; @@ -224,15 +224,20 @@ var details = new List<MesItemQtrrDetail>(); - var pattern = @"\(([^)]+)\)"; - var match = Regex.Match(qtrk.Qt023, pattern); + string pattern = @"\(([^)]+)\)"; + Match match = Regex.Match(qtrk.Qt023, pattern); var owner_type = ""; // 8.鑾峰彇璐т富绫诲瀷 if (match.Success) + { owner_type = match.Groups[1].Value; + } else + { throw new Exception("鍏朵粬鍏ュ簱鐢宠鍗曡揣涓荤被鍨嬫湁璇�,璇锋牳瀵癸紒"); + } + // 10. 鎵ц鍏ュ簱浜嬪姟 @@ -242,15 +247,14 @@ // 鏌ヨ鏄惁瀛樺湪鏈叆搴撶殑鍏ュ簱鍗� var existingInv = db.Queryable<MesInvItemIns>() .Where(x => x.Status == 0 - && x.InsDate.Value.ToString("yyyy-MM-dd") == - DateTime.Now.ToString("yyyy-MM-dd") + && x.InsDate.Value.ToString("yyyy-MM-dd") == DateTime.Now.ToString("yyyy-MM-dd") && x.TransctionNo == transactionNo.ToString() && x.TaskNo == p_bill_no //&& x.CbillNo == p_bill_no && x.BillTypeId == billTypeId && x.DepotsId == Convert.ToInt64(c_depot_id)) - // && x.DepotsCode == c_depot_code) - //&& x.SuppNo == barcode.SuppNo) + // && x.DepotsCode == c_depot_code) + //&& x.SuppNo == barcode.SuppNo) .First(); var newId = Guid.Empty; @@ -282,9 +286,10 @@ Status = 0, Reason = qtrk.Qt010, TaskNo = p_bill_no, - DepotsId = Convert.ToInt64(c_depot_id), + DepotsId = Convert.ToInt64(c_depot_id) , InType = "鍏朵粬鍏ュ簱", ReceiveOrgId = qtrk.Qt022 + }).IgnoreColumns(true).ExecuteCommand(); } else @@ -298,7 +303,7 @@ .Where(x => x.ItemInId == newId && x.ItemId == barcode.ItemId && x.DepotId == c_depot_id.ToString() - ) + ) //&& x.DepotCode = .First(); @@ -329,16 +334,16 @@ LineK3id = barcode.LineK3id, ItemId = barcode.ItemId, DepotId = c_depot_id.ToString(), - itemDabid = barcode.AboutGuid.ToString() + itemDabid = barcode.AboutGuid.ToString(), }).IgnoreColumns(true).ExecuteCommand(); else // 瀛樺湪鍒欐洿鏂版暟閲� res += db.Updateable<MesInvItemInCItems>() - .SetColumns(x => - x.Quantity == x.Quantity + barcode.Quantity) + .SetColumns( + x => x.Quantity == x.Quantity + barcode.Quantity) .Where(x => x.ItemInId == newId - && x.ItemId == barcode.ItemId - && x.DepotId == c_depot_id.ToString()) + && x.ItemId == barcode.ItemId + && x.DepotId == c_depot_id.ToString()) .ExecuteCommand(); @@ -464,7 +469,7 @@ res += db.Updateable<MesItemQtrrDetail>() .SetColumns(x => x.Qd008 == (x.Qd008 ?? 0) + barcode.Quantity) .Where(x => x.QtrkGuid == qtrk.Guid && - x.ItemId == barcode.ItemId.ToString()) + x.ItemId == barcode.ItemId.ToString()) .ExecuteCommand(); // 妫�鏌ユ槸鍚﹀畬鍏ㄥ叆搴撳苟鏇存柊鐘舵�� @@ -478,11 +483,10 @@ .Where(x => x.Guid == detail1.Guid) .ExecuteCommand(); - details = Db - .Queryable<MesItemQtrk, MesItemQtrrDetail, - MesItems>((a, b, c) => new JoinQueryInfos( - JoinType.Left, a.Guid == b.QtrkGuid, - JoinType.Left, c.Id.ToString() == b.ItemId)) + 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 == p_bill_no && (b.Qd007 ?? 0) - (b.Qd008 ?? 0) > 0) @@ -505,10 +509,8 @@ // 鍒涘缓 鎻掑叆鏃ュ織 var logService = new LogService(); - var LogMsg = "銆怭DA銆戝叾浠栧叆搴撱�傛潯鐮併��" + query.barcode + "銆戞暟閲忋��" + - barcode.Quantity + "銆� 鍏ュ簱鍗曞彿銆�" + billNo + "銆�"; - logService.CreateLog(db, query.userName, qtrk.Guid.ToString(), - "MES_ITEM_QTRK", LogMsg, qtrk.Qtck); + var LogMsg = "銆怭DA銆戝叾浠栧叆搴撱�傛潯鐮併��" + query.barcode + "銆戞暟閲忋��" + barcode.Quantity.ToString() + "銆� 鍏ュ簱鍗曞彿銆�" + billNo + "銆�"; + logService.CreateLog(db, query.userName, qtrk.Guid.ToString(), "MES_ITEM_QTRK", LogMsg, qtrk.Qtck); if (res < 5) throw new Exception("鎻掑叆鎴栨洿鏂板け璐�"); -- Gitblit v1.9.3