| | |
| | | && SqlFunc.Subqueryable<TN_Loc_Container>().Where(b => b.S_LOC_CODE == a.S_CODE).NotAny()//不能有货 |
| | | ); |
| | | |
| | | if (endLoc != null) |
| | | if (endLoc == null) |
| | | { |
| | | LogHelper.Info("终点库区已满或者已全部锁住"); |
| | | return; |
| | |
| | | .LeftJoin<TN_Loc_Container>((o, i) => o.S_CNTR_CODE == i.S_CNTR_CODE) |
| | | .Where((o, i) => i.S_LOC_CODE == startLoc.S_CODE).First(); |
| | | |
| | | if (WCSHelper.CreateTask(startLoc.S_CODE, endLoc.S_CODE, "复检自动合格回库", 3, cginfo.S_CNTR_CODE, out string taskNo, cginfo.S_SPE))//创建搬送任务,起点终点容器 |
| | | if (WCSHelper.CreateTask(startLoc.S_CODE, endLoc.S_CODE, "复检合格自动回库", 3, cginfo.S_CNTR_CODE, out string taskNo, cginfo.S_SPE))//创建搬送任务,起点终点容器 |
| | | { |
| | | LocationHelper.LockLoc(startLoc.S_CODE, 2);//起点出库锁, |
| | | LocationHelper.LockLoc(endLoc.S_CODE, 1);//终点入库锁 |
| | | LogHelper.Info($"生成复检自动合格回库任务成功,容器号{cginfo.S_CNTR_CODE},起点{startLoc.S_CODE},终点{endLoc.S_CODE}"); |
| | | LogHelper.Info($"生成复检合格自动回库任务成功,容器号{cginfo.S_CNTR_CODE},起点{startLoc.S_CODE},终点{endLoc.S_CODE}"); |
| | | |
| | | Task task99 = Task.Run(() => |
| | | { |
| | | WMSHelper.InsertOpInfo("自动轮询", "复检自动合格回库", cginfo.S_CNTR_CODE); |
| | | WMSHelper.InsertOpInfo("自动轮询", "复检合格自动回库", cginfo.S_CNTR_CODE); |
| | | }); |
| | | |
| | | Task task27 = Task.Run(() => |
| | |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"生成复检自动合格回库任务失败,容器号{cginfo.S_CNTR_CODE},起点{startLoc.S_CODE},终点{endLoc.S_CODE}"); |
| | | LogHelper.Info($"生成复检合格自动回库任务失败,容器号{cginfo.S_CNTR_CODE},起点{startLoc.S_CODE},终点{endLoc.S_CODE}"); |
| | | return; |
| | | } |
| | | |
| | |
| | | |
| | | |
| | | targetInM = db.Queryable<TN_InventoryM>().LeftJoin<TN_CG_Detail>((o, i) => o.S_ID == i.S_ID). |
| | | Where((o, i) => System.DateTime.Now >= o.EXPIRATION && i.S_ITEM_STATE == "待检" && i.N_ITEM_STATE == 1).First(); |
| | | Where((o, i) => System.DateTime.Now >= o.EXPIRATION |
| | | && ((i.S_ITEM_STATE == "待检" && i.N_ITEM_STATE == 1) |
| | | || (i.S_ITEM_STATE == "合格" && i.N_ITEM_STATE == 0)) |
| | | ).First(); |
| | | |
| | | if (targetInM != null)//检测出已过期的货品 |
| | | { |
| | |
| | | } |
| | | |
| | | targetInM = db.Queryable<TN_InventoryM>().LeftJoin<TN_CG_Detail>((o, i) => o.S_ID == i.S_ID). |
| | | Where((o, i) => System.DateTime.Now < o.EXPIRATION && i.S_ITEM_STATE == "待检" && i.N_ITEM_STATE == 1).First(); |
| | | Where((o, i) => System.DateTime.Now < o.EXPIRATION |
| | | && ((i.S_ITEM_STATE == "待检" && i.N_ITEM_STATE == 1) |
| | | || (i.S_ITEM_STATE == "合格" && i.N_ITEM_STATE == 0)) |
| | | ).First(); |
| | | |
| | | if (targetInM != null)//检测出快过期的货品 |
| | | { |
| | |
| | | db.Updateable<TN_InventoryM>(targetInM).UpdateColumns(it => new { it.EXPIRATION_DAY }).ExecuteCommand(); |
| | | } |
| | | |
| | | targetInM = db.Queryable<TN_InventoryM>().First(a => Convert.ToInt32(a.EXPIRATION_DAY) > 0 && a.ITEMSTATE == "过期");//已过期的货品,剩余天数改为0 |
| | | if (targetInM != null) |
| | | targetInM = db.Queryable<TN_InventoryM>().First(a => Convert.ToInt32(a.EXPIRATION_DAY) > 0 && a.ITEMSTATE == "过期"); |
| | | if (targetInM != null)//已过期的货品,剩余天数改为0 |
| | | { |
| | | targetInM.EXPIRATION_DAY = "0"; |
| | | db.Updateable<TN_InventoryM>(targetInM).UpdateColumns(it => new { it.EXPIRATION_DAY }).ExecuteCommand(); |