| | |
| | | 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天然水箱装6入", 50, "335ml东方树叶15入", 30); |
| | | /// </summary> |
| | |
| | | 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.Updateable(cntr).UpdateColumns(it => new { it.N_DETAIL_COUNT, it.C_ENABLE}).ExecuteCommand(); |
| | | |
| | | db.CommitTran(); |
| | | res = true; |
| | |
| | | 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) |
| | | { |
| | |
| | | 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> |
| | | /// |
| | |
| | | if (models.Count > 0) { |
| | | models.ForEach(a => { |
| | | a.N_E_STATE = state; |
| | | 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(); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |