| | |
| | | #endregion |
| | | } |
| | | |
| | | public static bool B_FLAGE = false; |
| | | /// <summary> |
| | | /// 瓶坯翻斗机非即产满框区补满托 |
| | | /// </summary> |
| | |
| | | string areaName = a.S_PLineNo.Split('-')[1].Substring(0, 1) + "号瓶坯翻斗机非即产满框"; |
| | | LogHelper.Info($"PPFDFullIn area:{areaName}"); |
| | | var areaInfo = Settings.areaInfos.Where(b => b.areaName == areaName && b.enable == 1).FirstOrDefault(); |
| | | if(areaInfo != null) |
| | | if (areaInfo != null) |
| | | { |
| | | var locInfo = db.Queryable<Location>().Where(b => b.S_AREA_CODE == areaInfo.areaCode && b.N_CURRENT_NUM == 0 && b.S_LOCK_STATE == "无").First(); |
| | | if(locInfo != null) |
| | | if (locInfo != null) |
| | | { |
| | | //生成任务 |
| | | Location location = TaskProcess.BCPInOrOutTwo(db, "瓶坯库区", a.S_ItemCode); |
| | | if(location != null) |
| | | if (!B_FLAGE) |
| | | { |
| | | string cntrCode = getCntrCode(db,location); |
| | | //创建作业 |
| | | WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "入库", "瓶坯非即产补满框", cntrCode, "瓶坯"); |
| | | B_FLAGE = true; |
| | | //生成任务 |
| | | Location location = TaskProcess.BCPInOrOutTwo(db, "瓶坯库区", a.S_ItemCode); |
| | | if (location != null) |
| | | { |
| | | string cntrCode = getCntrCode(db, location); |
| | | //创建作业 |
| | | WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "入库", "瓶坯非即产补满框", cntrCode, "瓶坯"); |
| | | } |
| | | } |
| | | B_FLAGE = false; |
| | | } |
| | | } |
| | | else |
| | |
| | | { |
| | | try |
| | | { |
| | | if(a.S_OP_DEF_NAME == "接驳位入库") |
| | | { |
| | | if (!Monitor.B_FLAGE) |
| | | { |
| | | Monitor.B_FLAGE = true; |
| | | //判断当前是否有等待或者错误的接驳位入库任务,并且起点货位在当前货位的外面 |
| | | var taskList = db.Queryable<WMSTask>().Where(b => b.S_OP_DEF_NAME == "接驳位入库" && b.S_ID != a.S_ID && (b.N_B_STATE == 0 || b.N_B_STATE == 3)).ToList(); |
| | | if(taskList.Count > 0) |
| | | { |
| | | bool task_flage = false; |
| | | foreach(var x in taskList) |
| | | { |
| | | var startLocInfo = db.Queryable<Location>().Where(y => y.S_CODE == x.S_START_LOC).First(); |
| | | var startLocInfoTwo = db.Queryable<Location>().Where(y => y.S_CODE == a.S_START_LOC).First(); |
| | | if(startLocInfo.N_ROW == startLocInfoTwo.N_ROW && startLocInfo.N_COL > startLocInfoTwo.N_COL) |
| | | { |
| | | task_flage = true; |
| | | break; |
| | | } |
| | | } |
| | | if (task_flage) |
| | | { |
| | | continue; |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | continue; |
| | | } |
| | | } |
| | | if (a.N_TYPE == 1) |
| | | { |
| | | //查询托盘所在位置 |
| | |
| | | LogHelper.Info($"作业{a.S_CODE} 获取终点失败"); |
| | | } |
| | | } |
| | | if (a.S_OP_DEF_NAME == "接驳位入库") |
| | | { |
| | | Monitor.B_FLAGE = false; |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | { |
| | | string areaName = a.S_NOTE.Split('-')[1]; |
| | | result = TaskProcess.BCPInOrOut(db, true, areaName, itemCode); |
| | | //查询终点货位,是由否相同排的作业 |
| | | } |
| | | else |
| | | { |