| | |
| | | |
| | | static void ROW_LOCK(Location startBit, Location EndBit, string msg, int sign, bool up = true, string WorkNo = "") |
| | | { |
| | | LogHelper.Info("dooooooooooooooooooooooooooooooooooooooooooooo" + msg + "---" + sign); |
| | | LogHelper.Info("移库解锁 doo" + msg + "---" + sign + "--" + WorkNo); |
| | | LogHelper.Info(JsonConvert.SerializeObject(startBit)); |
| | | LogHelper.Info(JsonConvert.SerializeObject(EndBit)); |
| | | bool j解锁起点库区排 = true; |
| | |
| | | //解锁时,有工单号。 查查除了这个工单号以外的其他 指定出库排执行 |
| | | var orders = WCSHelper.GetWorkOrder2(); |
| | | var thisOrder = orders.Find(x => x.SQL_WorkNo == WorkNo); |
| | | LogHelper.Info("移库解锁 --当前工单 sid:" + thisOrder?.S_ID); |
| | | if (thisOrder != null) |
| | | { |
| | | var other = orders.Find(x => x.SQL_WorkNo != WorkNo && x.start_area == thisOrder.start_area && x.start_row == thisOrder.start_row); |
| | | LogHelper.Info($"移库解锁 --其他工单 x.start_area == {thisOrder.start_area} start_row == {thisOrder.start_row} SID:" + other?.S_ID); |
| | | if (other != null) |
| | | j解锁起点库区排 = false; |
| | | } |
| | |
| | | //else |
| | | var ccr = _clrel0.S_TYPE.Split(','); |
| | | string EdnRarea = ccr.First(); |
| | | |
| | | if (EdnRarea == "YWLBQWJ" || EdnRarea == "YWLWJJB")//到B区的移库工单最多只能生成两条任务 |
| | | { |
| | | //查询任务数 |
| | | List<string> AreaLi = new List<string>() { "YWLBQWJ", "YWLWJJB" }; |
| | | var db = new SqlHelper<object>().GetInstance(); |
| | | var list = db.Queryable<Location>().Where(a => AreaLi.Contains(a.S_AREA_CODE) && a.S_LOCK_STATE == "入库锁").ToList(); |
| | | if (list.Count() >= 2) |
| | | { |
| | | LogHelper.Info($"CreateTransport- CreateTask Error" + $"终点库区为YWLRGDD或者YWLWJJB 则最多只能生成两个任务"); |
| | | continue; |
| | | } |
| | | } |
| | | string Last = string.Join(",", ccr.Skip(1)); |
| | | |
| | | if (ABlist.Contains(EdnRarea)) |
| | |
| | | { |
| | | isCd = true; |
| | | inlockLis = LocationHelper.GetList<RowLock>(x => x.S_AREA_CODE == EdnRarea && x.S_LOCK_SRC == cir1.S_ITEM_CODE + cir1.S_ITEM_NAME + cir1.S_CJ_NAME && x.S_LOCK_STATE == "入库锁").ToList(); |
| | | inlock = inlockLis.FirstOrDefault(); |
| | | if (inlockLis.Count() > 0) |
| | | { |
| | | inlock = inlockLis.FirstOrDefault(); |
| | | } |
| | | if (inlock != null) |
| | | { |
| | | //当入库的任务能放满一排并且还有余的时候 开第二排 |
| | |
| | | if (res && inlock == null && isCd) |
| | | { |
| | | var rrrr = new RowLock { S_LOCK_SRC = cir1.S_ITEM_CODE + cir1.S_ITEM_NAME + cir1.S_CJ_NAME, T_LOCK_TIME = DateTime.Now, S_LOCK_STATE = "入库锁", S_AREA_CODE = endbit.S_AREA_CODE, N_ROW = endbit.N_ROW }; |
| | | LogHelper.Info($"原物料入库 添加排锁信息{JsonConvert.SerializeObject(rrrr)} "); |
| | | WCSHelper.Do(db => db.Insertable(rrrr).ExecuteCommand()); |
| | | } |
| | | if (EdnRarea == "YWLWJJB") InworkLock = false; |
| | |
| | | { |
| | | var l2 = new List<string>() { "YWLAQWJ", "YWLBQWJ" };//, "YWLCQSX", "YWLDQWJ" }; |
| | | l2.Remove(od.S_ROW); |
| | | l2.Remove(od.TagOver); |
| | | var odsr = new List<string> { od.TagOver, od.S_ROW }.Concat(l2).Distinct().ToList(); |
| | | //l2.Remove(od.TagOver); |
| | | //var odsr = new List<string> { od.TagOver, od.S_ROW }.Concat(l2).Distinct().ToList(); |
| | | var odsr = new List<string> { od.S_ROW }.Concat(l2).Distinct().ToList(); |
| | | |
| | | ///汇总仓库里最大层是几层。 |
| | | Dictitems Lart = null; |
| | | foreach (var area in odsr)//od.S_ROW.Split('$')) |
| | | { |
| | | if (string.IsNullOrEmpty(area)) continue; |
| | | |
| | | if (string.IsNullOrEmpty(area)) |
| | | { |
| | | continue; |
| | | } |
| | | if (dsi.TryGetValue(area, out var dictitems1)) |
| | | { |
| | | foreach (var d in dictitems1.FindAll(x => x.ItemCode == od.SQL_ItemCode && x.ItemName == od.SQL_ItemName && x.S_CJ_NAME == od.S_CJ_NAME)) |
| | |
| | | var locS = LocationHelper.GetAreaNormalLocList(ODs.Key); |
| | | foreach (var od in ODs) |
| | | { |
| | | if (od.S_END_AREA == "YWLBQWJ" || od.S_END_AREA == "YWLAQWJ")//到B区的移库工单最多只能生成两条任务 |
| | | { |
| | | |
| | | //查询任务数 |
| | | List<string> AreaLi = new List<string>() { "YWLBQWJ", "YWLWJJB" }; |
| | | var db = new SqlHelper<object>().GetInstance(); |
| | | var list = db.Queryable<Location>().Where(a => AreaLi.Contains(a.S_AREA_CODE) && a.S_LOCK_STATE == "入库锁").ToList(); |
| | | if (list.Count() >= 2) |
| | | { |
| | | LogHelper.Info($"CreateTransport- CreateTask Error" + $"终点库区为YWLRGDD或者YWLWJJB 则最多只能生成两个任务"); |
| | | continue; |
| | | } |
| | | } |
| | | LogHelper.Info($"YWL_ZX_Turn from{od.S_START_AREA} mid:{od.S_ZZ_AREA} to{od.S_END_AREA} 开始 》》》"); |
| | | if (string.IsNullOrEmpty(od.S_ZZ_AREA) && string.IsNullOrEmpty(od.S_END_AREA)) |
| | | { |