From d0a265713fd18162f3a82bdcd22e267df7298c7b Mon Sep 17 00:00:00 2001 From: 杨前锦 <1010338399@qq.com> Date: 星期一, 26 五月 2025 08:59:52 +0800 Subject: [PATCH] 印尼佳通-半制品代码逻辑优化 --- HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_PT/wms/ContainerHelper.cs | 204 ++++---------------------------------------------- 1 files changed, 18 insertions(+), 186 deletions(-) diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_PT/wms/ContainerHelper.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_PT/wms/ContainerHelper.cs index f365ca7..7dcf1d1 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_PT/wms/ContainerHelper.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_PT/wms/ContainerHelper.cs @@ -57,6 +57,22 @@ } + internal static bool AddCntr(string cntrCode) + { + var res = false; + var db = new SqlHelper<object>().GetInstance(); + var TN_Container = new Container { S_CODE = cntrCode }; + try + { + res = db.Insertable<Container>(TN_Container).ExecuteCommand() > 0; + } + catch (Exception ex) + { + LogHelper.Info($"娣诲姞瀹瑰櫒閿欒锛岄敊璇師鍥狅細{ex.Message}", "WMS"); + } + return res; + } + internal static bool AddCntr(string cntrCode, string itemCode) { var res = false; var db = new SqlHelper<object>().GetInstance(); @@ -107,99 +123,7 @@ var list = db.Queryable<CntrItemRel>().Where(a => a.S_CNTR_CODE == cntr).ToList(); return list; } - internal static bool BindNewCntrItem(string loc,string cntrCode, string itemCode) { - var res = false; - var itemName = ItemHelper.GetItemInfo(itemCode).S_ITEM_NAME; - var db = new SqlHelper<object>().GetInstance(); - try { - db.BeginTran(); - var cntr = new Container { S_CODE = cntrCode, N_DETAIL_COUNT = 1 }; - db.Insertable(cntr).ExecuteCommand(); - //鑾峰彇鐗╂枡淇℃伅锛屽~鍏呭埌瀹瑰櫒璐у搧鏄庣粏锛屾柟渚夸汉宸ユ煡鐪�- var cir = new CntrItemRel { S_CNTR_CODE = cntr.S_CODE.Trim(), F_QTY = 1, S_ITEM_CODE = itemCode, S_ITEM_NAME = itemName }; - db.Insertable<CntrItemRel>(cir).ExecuteCommand(); - var lcr = new LocCntrRel { S_CNTR_CODE = cntrCode, S_LOC_CODE = loc }; - db.Insertable<LocCntrRel>(lcr).ExecuteCommand(); - db.CommitTran(); - res = true; - } - catch (Exception ex) { - db.RollbackTran(); - Console.WriteLine(ex.Message); - } - - return res; - } - /// <summary> - /// 鐗╂枡淇℃伅缁戝畾鍒版弧瀹瑰櫒涓�- /// </summary> - /// <param name="cntrCode"></param> - /// <param name="itemCode"></param> - /// <param name="batchNo"></param> - /// <param name="qty"></param> - /// <returns></returns> - internal static bool BindCntrItem(Container cntr, string itemCode, string batchNo, float qty, string putawayNo) { - var res = false; - var db = new SqlHelper<object>().GetInstance(); - try { - db.BeginTran(); - //1.鏌ョ湅鏄惁鏈夌浉鍚岀墿鏂欐壒娆$殑淇℃伅锛屽鏋滄湁瑕佺疮鍔狅紝涓嶅悓鎵规鐨勫彲浠ュ垎寮�- var cir = db.Queryable<CntrItemRel>().Where(a => a.S_CNTR_CODE == cntr.S_CODE && a.S_ITEM_CODE == itemCode && a.S_BATCH_NO == batchNo).First(); - if (cir != null) { - cir.F_QTY += qty; - db.Updateable(cir).UpdateColumns(it => new { it.F_QTY }).ExecuteCommand(); - } - else { - //2.鎻掑叆鏂扮殑瀹瑰櫒鐗╂枡淇℃伅锛堝鍣ㄥ彿涓嶅彉锛�- cir = new CntrItemRel { S_CNTR_CODE = cntr.S_CODE.Trim(), S_BATCH_NO = batchNo, F_QTY = qty, S_ITEM_CODE = itemCode, S_PUTAWAY_NO = putawayNo }; - db.Insertable<CntrItemRel>(cir).ExecuteCommand(); - } - var count = db.Queryable<CntrItemRel>().Count(a => a.S_CNTR_CODE == cntr.S_CODE); - cntr.N_DETAIL_COUNT = count; - cntr.C_ENABLE = "N";//鐮佺洏鍚庡皢鎵樼洏璁剧疆涓轰笉鍙敤鐘舵�锛屽叆搴撳悗鍙樻垚鍙敤 - db.Updateable(cntr).UpdateColumns(it => new { it.N_DETAIL_COUNT, it.C_ENABLE, it.S_SRC }).ExecuteCommand(); - - db.CommitTran(); - res = true; - } - catch (Exception ex) { - db.RollbackTran(); - Console.WriteLine(ex.Message); - } - - return res; - } - - /// <summary> - /// 鐗╂枡淇℃伅缁戝畾鍒版弧瀹瑰櫒涓�- /// </summary> - /// <param name="cntrCode"></param> - /// <param name="itemCode"></param> - /// <param name="batchNo"></param> - /// <param name="qty"></param> - /// <param name="purpose">瀹瑰櫒鐢ㄩ�锛岀敤浜庡摢涓嚎杈硅繕鏄洰鐨勭偣</param> - /// <returns></returns> - internal static bool BindCntrItemSingle(Container cntr, string itemCode, string batchNo, float qty) { - var res = false; - var db = new SqlHelper<object>().GetInstance(); - try { - db.BeginTran(); - db.Updateable(cntr).UpdateColumns(it => new { it.S_DEST }).ExecuteCommand(); - //1.灏嗗師鏈夊鍣ㄧ墿鏂欎俊鎭垹闄�- db.Deleteable<CntrItemRel>().Where(it => it.S_CNTR_CODE == cntr.S_CODE.Trim()).ExecuteCommand(); - //2.鎻掑叆鏂扮殑瀹瑰櫒鐗╂枡淇℃伅锛堝鍣ㄥ彿涓嶅彉锛�- var cir = new CntrItemRel { S_CNTR_CODE = cntr.S_CODE.Trim(), S_BATCH_NO = batchNo, F_QTY = qty, S_ITEM_CODE = itemCode }; - db.Insertable<CntrItemRel>(cir).ExecuteCommand(); - - db.CommitTran(); - res = true; - } - catch (Exception ex) { - db.RollbackTran(); - } - - return res; - } + /// <summary> /// 鏍规嵁瀹瑰櫒鏉ユ簮鍜岀姸鎬佽幏鍙栨墭鐩� /// </summary> @@ -308,98 +232,6 @@ return db.Queryable<Container>().Where(a => a.S_SRC == src && a.N_B_STATE == state && a.S_TYPE == cntrType).ToList(); } } - /// <summary> - /// enable 璁╂墭鐩樺厑璁歌鍑哄簱璁$畻鍒帮紝鍚屾椂澧炲姞閲忚〃鏁版嵁 - /// </summary> - /// <param name="cntr"></param> - internal static void Enable(string cntr, string loc) { - var db = new SqlHelper<object>().GetInstance(); - var cntrInfo = db.Queryable<Container>().Where(a => a.S_CODE == cntr).First(); - //鑾峰彇浠撳簱閲忚〃 - //鑾峰彇鐗╃悊搴撳尯 - //鑾峰彇閫昏緫搴撳尯 - if (cntrInfo != null) { - try { - db.BeginTran(); - //闃叉鎺ュ彛閲嶅璋冪敤锛岄噺琛ㄩ噸澶嶅鍔�- if (cntrInfo.C_ENABLE == "N") { - cntrInfo.C_ENABLE = "Y"; - db.Updateable(cntrInfo).UpdateColumns(a => new { a.C_ENABLE, a.T_MODIFY }).ExecuteCommand(); - var cirList = db.Queryable<CntrItemRel>().Where(a => a.S_CNTR_CODE == cntr).ToList(); - if (cirList.Count > 0) { - cirList.ForEach(a => { - var wh = db.Queryable<WHInventory>().Where(b => b.S_ITEM_CODE == a.S_ITEM_CODE).First(); - if (wh != null) { - //鏇存柊浠撳簱閲忚〃 - wh.F_QTY += a.F_QTY; - wh.T_MODIFY = DateTime.Now; - db.Updateable(wh).UpdateColumns(it => new { it.F_QTY, it.T_MODIFY }).ExecuteCommand(); - } - else { - //鏂板浠撳簱閲忚〃 - wh = new WHInventory { F_QTY = a.F_QTY, S_ITEM_CODE = a.S_ITEM_CODE }; - db.Insertable(wh).ExecuteCommand(); - } - //鍐欏叆绗笁鏂逛腑闂磋〃 - var di = new DayuanIn - { - CN_S_ARRIVAL_NO = a.S_PUTAWAY_NO, - CN_F_QUANTITY = a.F_QTY, - CN_S_BATCH_NO = a.S_BATCH_NO, - CN_S_ITEM_CODE = a.S_ITEM_CODE, - }; - db.Insertable(di).ExecuteCommand(); - //濡傛灉瑕佺粺璁″垎鎷d腑锛屽垎鎷e洖鐨勯噺锛屾棤娉曡窡韪墭鐩橈紝闄ら潪瀵规墭鐩樺姞鏍囪瘑锛屽睘浜庡摢涓簱鍖恒� - //鍙﹀鍒嗘嫞鍥炲彲鑳藉幓鍒殑宸烽亾锛屽埆鐨勯�杈戝簱鍖猴紝閫昏緫搴撳尯鐨勯噺鎺у埗鏇村鏉傦紝涓嶈兘璁$畻鍒嗘嫞涓拰鍒嗘嫞鍥炪�鎵�互搴撳尯閲忚〃鏈」鐩殏涓嶈�铏�- /* - //鑾峰彇璐т綅鐨勭墿鐞嗗簱鍖哄拰鎵�湁閫昏緫搴撳尯 - var location = db.Queryable<Location>().Where(l => l.S_CODE == loc).First(); - if (location != null) { - var az = db.Queryable<AZInventory>().Where(b => b.S_ITEM_CODE == a.S_ITEM_CODE && b.S_AREA_CODE == location.S_AREA_CODE).First(); - if (az != null) { - //鏇存柊搴撳尯閲忚〃 - az.F_QTY += a.F_QTY; - az.T_MODIFY = DateTime.Now; - db.Updateable(az).UpdateColumns(it => new { it.F_QTY, it.T_MODIFY }).ExecuteCommand(); - } - else { - //鏂板搴撳尯閲忚〃 - az = new AZInventory { F_QTY = a.F_QTY, S_ITEM_CODE = a.S_ITEM_CODE, S_AREA_CODE = location.S_AREA_CODE }; - db.Insertable(az).ExecuteCommand(); - } - - } - //閫昏緫搴撳尯鐨勯噺琛�- var zoneList = db.Queryable<ZoneLoc>().Where(l => l.S_LOC_CODE == loc).ToList(); - if (zoneList.Count > 0) { - zoneList.ForEach(z => { - var az = db.Queryable<AZInventory>().Where(b => b.S_ITEM_CODE == a.S_ITEM_CODE && b.S_AREA_CODE == z.S_ZONE_CODE).First(); - if (az != null) { - //鏇存柊搴撳尯閲忚〃 - az.F_QTY += a.F_QTY; - az.T_MODIFY = DateTime.Now; - db.Updateable(az).UpdateColumns(it => new { it.F_QTY, it.T_MODIFY }).ExecuteCommand(); - } - else { - //鏂板搴撳尯閲忚〃 - az = new AZInventory { F_QTY = a.F_QTY, S_ITEM_CODE = a.S_ITEM_CODE, S_AREA_CODE = z.S_ZONE_CODE, C_IS_LOGIC_AREA = "Y" }; - db.Insertable(az).ExecuteCommand(); - } - }); - } - */ - - }); - } - } - db.CommitTran(); - } - catch (Exception ex) { - Console.WriteLine(ex.Message); - db.RollbackTran(); - - } - } - } + } } -- Gitblit v1.9.1