From 360659e325528be0c9405855b3553869041d32b9 Mon Sep 17 00:00:00 2001 From: cnf <3200815559@qq.com> Date: 星期六, 23 八月 2025 16:12:35 +0800 Subject: [PATCH] 生产报工后端修改,加上自动入库的分支 --- service/Wom/WomdaahbManager.cs | 107 ++++++++++++++++++++++++++++++++++------------------- 1 files changed, 69 insertions(+), 38 deletions(-) diff --git a/service/Wom/WomdaahbManager.cs b/service/Wom/WomdaahbManager.cs index 1436d92..4c4edc2 100644 --- a/service/Wom/WomdaahbManager.cs +++ b/service/Wom/WomdaahbManager.cs @@ -11,7 +11,7 @@ namespace NewPdaSqlServer.service.Wom; -public class WomdaaManager : Repository<Womdaa> +public class WomdaahbManager : Repository<Womdaa> { //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉� //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 WomdaaManager.cs @@ -20,9 +20,9 @@ public List<string> GetProductionPickDaa001(WarehouseQuery query) { var sql = - "SELECT DAA001 FROM WOMDAA A LEFT JOIN (SELECT COUNT(1) UN_NUM, PID FROM WOMDAB WHERE DAB006 > DAB007 GROUP BY DAB002) B ON A.GUID = B.daaGuid WHERE DAA001 = " + - query.daa001 + - " and DAA018 != '瀹屽伐' AND DAA022 = 1 AND UN_NUM > 0 AND ROWNUM <= 10 order by a.id desc"; + "SELECT DAAhb001 FROM WOMDAAhb A WHERE DAAHB001 = " + + query.hbNo + + " and FSTATUS=1 order by a.CREATE_DATE desc"; return Db.Ado.SqlQuery<string>(sql); } @@ -40,10 +40,10 @@ using (var conn = new SqlConnection(DbHelperSQL.strConn)) { if (query.userName.IsNullOrEmpty()) throw new Exception("鐢ㄦ埛鍚嶄笉鍏佽涓虹┖"); - if (query.daa001.IsNullOrEmpty()) throw new Exception("棰嗘枡鍗曞彿涓嶅厑璁镐负绌�"); + if (query.hbNo.IsNullOrEmpty()) throw new Exception("鍚堝苟棰嗘枡鍗曞彿涓嶅厑璁镐负绌�"); if (query.barcode.IsNullOrEmpty()) throw new Exception("鏉$爜涓嶅厑璁镐负绌�"); - using (var cmd = new SqlCommand("[prc_pda_SCLL]", conn)) + using (var cmd = new SqlCommand("[prc_pda_SCLLHB]", conn)) { try { @@ -56,7 +56,7 @@ new("@barcode_num", SqlDbType.NVarChar, 300), new("@split_num", SqlDbType.NVarChar, 300), new("@c_User", query.userName), - new("@p_biLL_no", query.daa001), + new("@p_biLL_no", query.hbNo), new("@p_item_barcode", query.barcode) }; parameters[0].Direction = ParameterDirection.Output; @@ -77,7 +77,7 @@ var dto = new ProductionPickDto { - daa001 = query.daa001, + daa001 = query.hbNo, barcodeNum = barcodeNum, splitNum = splitNum, barcode = query.barcode, @@ -103,7 +103,7 @@ public ProductionPickDto ScanCodeCF(WarehouseQuery query) { if (query.userName.IsNullOrEmpty()) throw new Exception("鐢ㄦ埛鍚嶄笉鍏佽涓虹┖"); - if (query.daa001.IsNullOrEmpty()) throw new Exception("棰嗘枡鍗曞彿涓嶅厑璁镐负绌�"); + if (query.hbNo.IsNullOrEmpty()) throw new Exception("鍚堝苟棰嗘枡鍗曞彿涓嶅厑璁镐负绌�"); if (query.barcode.IsNullOrEmpty()) throw new Exception("鏉$爜涓嶅厑璁镐负绌�"); if (query.Num is null or 0) throw new Exception("鏉$爜鎷嗗垎鏁颁笉鍏佽涓虹┖鎴栬�呬负0"); @@ -113,7 +113,7 @@ var _cfBar = "";//鎷嗗垎鍚庢潯鐮� using (var conn = new SqlConnection(DbHelperSQL.strConn)) { - using (var cmd = new SqlCommand("[prc_pda_SCLL_CF]", conn)) + using (var cmd = new SqlCommand("[prc_pda_SCLLHB_CF]", conn)) { try { @@ -125,7 +125,7 @@ new("@outSum", SqlDbType.NVarChar, 300), new("@outCfBar", SqlDbType.NVarChar, 300), new("@c_User", query.userName), - new("@p_biLL_no", query.daa001), + new("@p_biLL_no", query.hbNo), new("@p_item_barcode", query.barcode), new("@num", query.Num) }; @@ -145,7 +145,7 @@ var dto = new ProductionPickDto { - daa001 = query.daa001, + daa001 = query.hbNo, barcode = query.barcode,//鍘熸潯鐮� cfBarcode = _cfBar//鎷嗗垎鍚庢潯鐮� }; @@ -166,19 +166,33 @@ private ProductionPickDto getDaa001(WarehouseQuery query) { - if (string.IsNullOrEmpty(query.daa001)) throw new Exception("宸ュ崟鍙蜂负绌�"); + if (string.IsNullOrEmpty(query.hbNo)) throw new Exception("鍚堝苟鍗曞彿涓虹┖"); - var womdaa = Db.Queryable<Womdaa, MesItems>((a, i) => - new JoinQueryInfos(JoinType.Left, - a.Daa002 == i.ItemId.ToString())) - .Where((a, i) => a.Daa001 == query.daa001 - && a.Fstatus == 1) - .Select((a, i) => new - { - a.Daa001, a.CaaGuid - }).First(); + var queryResult = Db.Queryable<Womdaahb, Womdaa, MesItems>( + (b, a, i) => new JoinQueryInfos( + JoinType.Left, b.OrgId.ToString() == a.ErpSczz, // Womdaahb 鈫� Womdaa 鍏宠仈 + JoinType.Left, a.Daa002 == i.ItemId.ToString()) // Womdaa 鈫� MesItems 鍏宠仈 + ) + .Where((b, a, i) => + (b.Daah009 != null && a.Daa021 != null) && // 闃叉null寮傚父 + ( + b.Daah009.Contains("," + a.Daa021 + ",") || // 鍖归厤涓棿鍊� + b.Daah009.StartsWith(a.Daa021 + ",") || // 鍖归厤寮�澶村�� + b.Daah009.EndsWith("," + a.Daa021) || // 鍖归厤缁撳熬鍊� + b.Daah009 == a.Daa021 // 瀹屽叏鍖归厤 + ) + ) + .Where((b, a, i) => b.Daahb001 == query.hbNo && b.Fstatus == 1) // 鍏朵粬鏉′欢 + .Select((b, a, i) => new + { + b.Daahb001, + a.Daa001, // 宸ュ崟鍙� + a.CaaGuid, // Womdaa 鐨� GUID + i.ItemName // MesItems 鐨勫瓧娈� + }) + .First(); - if (womdaa?.Daa001 == null) throw new Exception("宸ュ崟鍙蜂笉瀛樺湪"); + if (queryResult?.Daahb001 == null) throw new Exception("鍚堝苟鍗曞彿涓嶅瓨鍦�"); //var womdabs = Db.Queryable<Womdaa, Womdab, MesItems, Womcab>( // (a, b, c, d) => @@ -203,13 +217,31 @@ // }) // .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 - FROM WOMDAB B - LEFT JOIN WOMDAA A ON A.guid = B.daaGuid - LEFT JOIN MES_ITEMS C ON B.dab003 = C.item_id - LEFT JOIN WOMCAB D ON B.erpid = D.ERPID - WHERE daa001 = '{0}' AND ISSUE_TYPE = 1 ORDER BY DAB002", query.daa001); + var sql =string.Format(@"SELECT max(ahb.GUID) as hbguid, + m.item_no as itemNo, + max(m.item_name) as itemName, + max(m.item_model) as itemModel, + sum(b.dab006) as FQty, + sum(b.dab007) as SQty, + sum(b.dab006) - sum(b.dab007) as DSQty, + sum(b.dab020) as slsl, + max(u.fname) as dw, + max(ahb.DAAHB001) as hbdh, + dbo.F_QX_GETRECODEPOTSE(MAX(B.DAB003),'','','') AS RecoKw + FROM WOMDAAHB ahb + left join WOMDAAHB_LIST ahbl on ahb.GUID = ahbl.MID + left join WOMDAA A on ahbl.PWORK_NO = a.daa021 and ahb.org_id = a.erp_sczz + left join WOMDAB b on b.daaGuid = a.guid + left join WOMCAA ca on a.caaGuid = ca.guid + LEFT JOIN WOMCAB D ON B.erpid = D.ERPID + LEFT JOIN MES_WORKSHOP_LINE WL ON WL.ID = A.DAA015 + left join mes_items m on M.ID = b.dab003 + left join MES_UNIT u on u.id = ahbl.UNIT + left join [dbo].[v_caa] v on v.guid = a.guid + WHERE ahb.daahb001 = '{0}' AND D.ISSUE_TYPE = 1 + group by m.item_no + ORDER BY m.item_no + ", query.hbNo); var womdabs = Db.Ado.SqlQuery<ItemDetailModel>(sql); @@ -238,7 +270,7 @@ }) .ToList(); - var womcaa = Db.Queryable<Womcaa>().Where(s => s.Guid == womdaa.CaaGuid) + var womcaa = Db.Queryable<Womcaa>().Where(s => s.Guid == queryResult.CaaGuid) .First(); if (womcaa == null) @@ -248,8 +280,8 @@ var dto = new ProductionPickDto { - daa001 = womdaa.Daa001, - PlanNo = womcaa.Caa020, + daa001 = queryResult.Daahb001, + //PlanNo = womcaa.Caa020, items = DS_list, Ysitems = YS_list // yisao = mesInvItemOutCDetailsList @@ -900,16 +932,15 @@ var sqlParams = new List<SugarParameter> { }; var sql2 = new StringBuilder(@" - SELECT '['+DAA001+']['+DAA021+']' AS daaInfo,DAA001,DAA021 - FROM WOMDAA - WHERE daa018 <>'W:瀹屽伐'"); + SELECT daahb001 as daaInfo,daahb001 as daa001 + FROM WOMDAAHB + WHERE FSTATUS = 1 and COMPLETE_STATUS=0"); if (!string.IsNullOrWhiteSpace(unity.selectKey?.ToString())) { sqlParams.Add(new("@selectKey", unity.selectKey)); sql2.Append(@" - AND (DAA001 LIKE '%' + @selectKey + '%' - OR DAA021 LIKE '%' + @selectKey + '%')"); + AND (DAAHB001 LIKE '%' + @selectKey + '%' "); } var XcslItem = Db.Ado.SqlQuery<dynamic>(sql2.ToString(), sqlParams); -- Gitblit v1.9.3