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 | 153 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 153 insertions(+), 0 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 new file mode 100644 index 0000000..e05968b --- /dev/null +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/wms/ContainerHelper.cs @@ -0,0 +1,153 @@ +锘縰sing HH.WCS.Mobox3.FJJT.models.other; +using HH.WCS.Mobox3.FJJT.util; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static HH.WCS.Mobox3.FJJT.dispatch.NDC; +using static HH.WCS.Mobox3.FJJT.util.ExcetionHelper; + +namespace HH.WCS.Mobox3.FJJT.wms { + /// <summary> + /// 瀹瑰櫒甯姪绫�+ /// </summary> + internal class ContainerHelper { + internal static string GenerateCntrNo() { + var id = SYSHelper.GetSerialNumber("鎵樼洏鍙�, "TP"); + var date = DateTime.Now.ToString("yyMMdd"); + return $"TP{date}{id.ToString().PadLeft(4, '0')}"; + } + + /// <summary> + /// 鍒ゆ柇瀹瑰櫒鏄惁鏈夌墿鏂欎俊鎭�+ /// </summary> + /// <param name="cntr"></param> + /// <returns></returns> + internal static bool CheckEmpty(string cntr) { + //1.0 鏌ヨ揣浣嶅鍣ㄨ〃 + var db = new SqlHelper<object>().GetInstance(); + return db.Queryable<LocCntrRel>().Count(a => a.S_LOC_CODE.Trim() == cntr) == 0; + + } + + 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 + { + var container = db.Queryable<Container>().Where(a => a.S_CODE.Trim() == cntrCode).First(); + if (container == null) + { + res = db.Insertable<Container>(TN_Container).ExecuteCommand() > 0; + } + } + catch (Exception ex) + { + WMSHelper.addAlarmRecord("绯荤粺閿欒", "楂�, $"娣诲姞瀹瑰櫒閿欒锛岄敊璇師鍥狅細{ex.Message}"); + throw new BusinessException($"娣诲姞瀹瑰櫒閿欒锛岄敊璇師鍥狅細{ex.Message}"); + } + return res; + } + + internal static bool AddContainer(string cntrCode,int cntrType ,int detallCount = 0) + { + var res = false; + var db = new SqlHelper<object>().GetInstance(); + var TN_Container = new Container { S_CODE = cntrCode, N_TYPE = cntrType,S_TYPE = Container.GetCntrType(cntrType),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(); + } + else + { + container.N_DETAIL_COUNT = detallCount; + container.N_E_STATE = 0; + db.Updateable<Container>(container).ExecuteCommand(); + } + db.CommitTran(); + res = true; + } + catch (Exception ex) + { + db.RollbackTran(); + WMSHelper.addAlarmRecord("绯荤粺閿欒", "楂�, $"娣诲姞瀹瑰櫒閿欒锛岄敊璇師鍥狅細{ex.Message}"); + throw new BusinessException($"娣诲姞瀹瑰櫒閿欒锛岄敊璇師鍥狅細{ex.Message}"); + } + return res; + } + + /// <summary> + /// 鏍规嵁瀹瑰櫒鍙疯幏鍙栧鍣ㄤ俊鎭�+ /// </summary> + /// <param name="cntr"></param> + /// <param name="create"></param> + /// <returns></returns> + internal static Container GetCntr(string cntr, bool create = false) { + //1.0 鏌ヨ揣浣嶅鍣ㄨ〃 + var db = new SqlHelper<object>().GetInstance(); + var old = db.Queryable<Container>().Where(a => a.S_CODE.Trim() == cntr).First(); + if (old == null && create) { + var model = new Container { S_CODE = cntr }; + if (db.Insertable(model).ExecuteCommand() > 0) { + old = model; + } + } + return old; + } + + /// <summary> + /// 鏍规嵁瀹瑰櫒鑾峰彇鐗╂枡淇℃伅 + /// </summary> + /// <param name="cntr"></param> + /// <returns></returns> + internal static List<CntrItemRel> GetCntrItemRel(string cntr) { + var db = new SqlHelper<object>().GetInstance(); + var list = db.Queryable<CntrItemRel>().Where(a => a.S_CNTR_CODE == cntr).ToList(); + return list; + } + + /// <summary> + /// 鏇存柊瀹瑰櫒鐗╂枡淇℃伅 + /// </summary> + /// <param name="cntrItem"></param> + /// <returns></returns> + internal static bool updateCntrItemRel(CntrItemRel cntrItem) + { + var db = new SqlHelper<object>().GetInstance(); + return db.Updateable(cntrItem).ExecuteCommand()>0; + } + + internal static bool UpdateCntr(Container container) + { + var db = new SqlHelper<object>().GetInstance(); + return db.Updateable(container).ExecuteCommand()>0; + } + + /// <summary> + /// + /// </summary> + /// <param name="cntrCode"></param> + /// <param name="state">鎵樼洏寮傚父鐘舵� 0.姝e父 1.寮傚父</param> + /// <returns></returns> + 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; + db.Updateable(a).UpdateColumns(it => new { it.N_E_STATE }).ExecuteCommand(); + }); + res = true; + } + return res; + } + } +} -- Gitblit v1.9.1