From c8f338feee0b6003d8f069b1d37fd9b90dd1b7f4 Mon Sep 17 00:00:00 2001 From: 杨前锦 <1010338399@qq.com> Date: 星期一, 07 七月 2025 17:31:38 +0800 Subject: [PATCH] 印尼佳通优化 --- HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/wms/ContainerHelper.cs | 238 +---------------------------------------------------------- 1 files changed, 5 insertions(+), 233 deletions(-) diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/wms/ContainerHelper.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/wms/ContainerHelper.cs index 7b5c805..e05968b 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/wms/ContainerHelper.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/wms/ContainerHelper.cs @@ -18,33 +18,6 @@ var date = DateTime.Now.ToString("yyMMdd"); return $"TP{date}{id.ToString().PadLeft(4, '0')}"; } - /// <summary> - /// 鏍规嵁瀹瑰櫒绫诲瀷銆佺洰鐨勫湴銆佺姸鎬佹煡璇㈠鍣�- /// </summary> - /// <param name="dest"></param> - /// <param name="cntrType"></param> - /// <param name="state"></param> - /// <returns></returns> - internal static List<Container> GetCntrListByPurpose(string dest, string cntrType, int state) { - //1.0 鏌ヨ揣浣嶅鍣ㄨ〃 - var db = new SqlHelper<object>().GetInstance(); - var list = db.Queryable<Container>().Where(a => a.S_DEST == dest && a.S_TYPE == cntrType && a.N_B_STATE == state).ToList(); - return list; - - } - /// <summary> - /// TN_ContainerHelper.test("4L澶╃劧姘寸瑁�鍏�, 50, "335ml涓滄柟鏍戝彾15鍏�, 30); - /// </summary> - /// <param name="item1"></param> - /// <param name="qty1"></param> - /// <param name="item2"></param> - /// <param name="qty2"></param> - //internal static void test(string item1, int qty1, string item2, int qty2) { - // var db = new SqlHelper<object>().GetInstance(); - // var cntr = db.Queryable<TN_Container>().Includes(a => a.CntrItemRelList). - // Where(a => a.CntrItemRelList.Count(b => b.S_ITEM_CODE == item1 && int.Parse(b.F_QTY) > qty1) > 0 - // && a.CntrItemRelList.Count(b => b.S_ITEM_CODE == item2 && int.Parse(b.F_QTY) > qty2) > 0).First(); - //} /// <summary> /// 鍒ゆ柇瀹瑰櫒鏄惁鏈夌墿鏂欎俊鎭�@@ -58,52 +31,21 @@ } - /*internal static bool AddCntr(string cntrCode, string itemCode) { - var res = false; - var db = new SqlHelper<object>().GetInstance(); - var TN_Container = new Container { S_CODE = cntrCode }; - var cntrItemRel = new CntrItemRel { S_CNTR_CODE = cntrCode, S_ITEM_CODE = itemCode }; - try { - db.BeginTran(); - - db.Insertable<Container>(TN_Container).ExecuteCommand(); - db.Insertable<CntrItemRel>(cntrItemRel).ExecuteCommand(); - - db.CommitTran(); - res = true; - } - catch (Exception ex) { - db.RollbackTran(); - - } - return res; - }*/ - - internal static bool AddCntr(string cntrCode ,int detallCount = 1) + internal static bool AddCntr(string cntrCode ,int detallCount = 0) { var res = false; var db = new SqlHelper<object>().GetInstance(); var TN_Container = new Container { S_CODE = cntrCode ,N_DETAIL_COUNT = detallCount }; try { - db.BeginTran(); var container = db.Queryable<Container>().Where(a => a.S_CODE.Trim() == cntrCode).First(); if (container == null) { - db.Insertable<Container>(TN_Container).ExecuteCommand(); + res = db.Insertable<Container>(TN_Container).ExecuteCommand() > 0; } - else - { - container.N_DETAIL_COUNT = detallCount; - container.N_E_STATE = 0; - db.Updateable(container).ExecuteCommand(); - } - db.CommitTran(); - res = true; } catch (Exception ex) { - db.RollbackTran(); WMSHelper.addAlarmRecord("绯荤粺閿欒", "楂�, $"娣诲姞瀹瑰櫒閿欒锛岄敊璇師鍥狅細{ex.Message}"); throw new BusinessException($"娣诲姞瀹瑰櫒閿欒锛岄敊璇師鍥狅細{ex.Message}"); } @@ -182,200 +124,30 @@ return db.Updateable(cntrItem).ExecuteCommand()>0; } - /// <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) { - 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 }; - 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> - /// <param name="src"></param> - /// <param name="state"></param> - /// <returns></returns> - internal static List<Container> GetCntr(string dest, int state, string cntrType = "") { - var db = new SqlHelper<object>().GetInstance(); - if (cntrType == "") { - return db.Queryable<Container>().Where(a => a.S_DEST == dest && a.N_B_STATE == state).ToList(); - } - else { - return db.Queryable<Container>().Where(a => a.S_DEST == dest && a.N_B_STATE == state && a.S_TYPE == cntrType).ToList(); - } - } - internal static bool UpdateCntr(List<string> cntrs, string dest, int state) { - var res = false; - var db = new SqlHelper<object>().GetInstance(); - var models = db.Queryable<Container>().Where(a => cntrs.Contains(a.S_CODE)).ToList(); - if (models.Count > 0) { - models.ForEach(a => { - a.S_DEST = dest; a.N_B_STATE = state; - db.Updateable(a).UpdateColumns(it => new { it.S_DEST, it.N_B_STATE }).ExecuteCommand(); - }); - res = true; - } - return res; - } - internal static bool UpdateCntr(Container container) { var db = new SqlHelper<object>().GetInstance(); return db.Updateable(container).ExecuteCommand()>0; } - internal static bool UpdateCntrDest(List<string> cntrs, string dest) { - var res = false; - var db = new SqlHelper<object>().GetInstance(); - var models = db.Queryable<Container>().Where(a => cntrs.Contains(a.S_CODE)).ToList(); - if (models.Count > 0) { - models.ForEach(a => { - a.S_DEST = dest; - db.Updateable(a).UpdateColumns(it => new { it.S_DEST }).ExecuteCommand(); - }); - res = true; - } - return res; - } - /// <summary> - /// 鏇存柊鎵樼洏鏉ユ簮 - /// </summary> - /// <param name="cntr"></param> - /// <param name="src"></param> - /// <returns></returns> - internal static bool UpdateCntrSrc(string cntr, string src) { - var res = false; - var db = new SqlHelper<object>().GetInstance(); - var model = db.Queryable<Container>().Where(a => a.S_CODE == cntr).First(); - if (model != null) { - model.S_SRC = src; - model.T_MODIFY = DateTime.Now; - res = db.Updateable(model).UpdateColumns(it => new { it.S_SRC, it.T_MODIFY }).ExecuteCommand() > 0; - } - return res; - } - /// <summary> /// /// </summary> /// <param name="cntrCode"></param> - /// <param name="state">鎵樼洏寮傚父鐘舵� 0.榛樿 1.WCS璇荤爜寮傚父 2.AGV璇荤爜鍣ㄨ鐮佸紓甯�/param> - /// <param name="errMsg">寮傚父淇℃伅</param> + /// <param name="state">鎵樼洏寮傚父鐘舵� 0.姝e父 1.寮傚父</param> /// <returns></returns> - internal static bool UpdateCntrState(string cntrCode, int state ,string errMsg) { + internal static bool UpdateCntrState(string cntrCode, int state) { var res = false; var db = new SqlHelper<object>().GetInstance(); var models = db.Queryable<Container>().Where(a => a.S_CODE.Trim() == cntrCode).ToList(); if (models.Count > 0) { models.ForEach(a => { a.N_E_STATE = state; - a.S_ERR_DESC = errMsg; - db.Updateable(a).UpdateColumns(it => new { it.N_E_STATE,it.S_ERR_DESC }).ExecuteCommand(); + db.Updateable(a).UpdateColumns(it => new { it.N_E_STATE }).ExecuteCommand(); }); res = true; } return res; } - - internal static bool UpdateCntr(List<string> cntrs, string src, string dest, int state) { - var res = false; - var db = new SqlHelper<object>().GetInstance(); - var models = db.Queryable<Container>().Where(a => cntrs.Contains(a.S_CODE)).ToList(); - if (models.Count > 0) { - models.ForEach(a => { - a.S_DEST = dest; a.N_B_STATE = state; - db.Updateable(a).UpdateColumns(it => new { it.S_DEST, it.N_B_STATE, it.S_SRC }).ExecuteCommand(); - }); - res = true; - } - return res; - } - public static bool ClearCntrInfo(string cntr) { - - var db = new SqlHelper<object>().GetInstance(); - var model = db.Queryable<Container>().Where(a => a.S_CODE == cntr).First(); - if (model != null) { - model.S_SRC = ""; - model.S_DEST = ""; - model.N_B_STATE = 0; - model.T_MODIFY = DateTime.Now; - - } - db.Updateable(model).UpdateColumns(it => new { it.S_SRC, it.S_DEST, it.N_B_STATE, it.T_MODIFY }).ExecuteCommand(); - return db.Deleteable<CntrItemRel>().Where(a => a.S_CNTR_CODE.Trim() == cntr.Trim()).ExecuteCommand() > 0; - } - internal static List<Container> GetCntrBySrc(string src, int state, string cntrType = "") { - var db = new SqlHelper<object>().GetInstance(); - if (cntrType == "") { - return db.Queryable<Container>().Where(a => a.S_SRC == src && a.N_B_STATE == state).ToList(); - } - else { - return db.Queryable<Container>().Where(a => a.S_SRC == src && a.N_B_STATE == state && a.S_TYPE == cntrType).ToList(); - } - } - } } -- Gitblit v1.9.1