| | |
| | | var taskInfo = db.Queryable<WCSTask>().Where(a => a.S_TYPE == "瓶坯非即产补空框" && a.S_B_STATE != "完成" && a.S_B_STATE != "取消").First(); |
| | | if(taskInfo == null) |
| | | { |
| | | //需要从库区补充空托 |
| | | Location location = TaskProcess.FJCKTLoc(); |
| | | var locInfo = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM < a.N_CAPACITY && a.S_LOCK_STATE == "无").OrderBy(a => a.N_ROW).First(); |
| | | if (location != null && locInfo != null) |
| | | var wmsTask = db.Queryable<WMSTask>().Where(a => a.S_OP_DEF_NAME == "瓶坯非即产补空框" && (a.N_B_STATE == 0 || a.N_B_STATE == 1)).First(); |
| | | if(wmsTask == null) |
| | | { |
| | | string cntrCode = getCntrCode(db, location); |
| | | //创建作业 |
| | | WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "入库", "瓶坯非即产补空框", cntrCode, "瓶坯"); |
| | | //需要从库区补充空托 |
| | | Location location = TaskProcess.FJCKTLoc(); |
| | | var locInfo = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM < a.N_CAPACITY && a.S_LOCK_STATE == "无").OrderBy(a => a.N_ROW).First(); |
| | | if (location != null && locInfo != null) |
| | | { |
| | | string cntrCode = getCntrCode(db, location); |
| | | //创建作业 |
| | | WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "入库", "瓶坯非即产补空框", cntrCode, "瓶坯"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | LocList = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM == a.N_CAPACITY).ToList(); |
| | | if (LocList.Count > 2) |
| | | { |
| | | //判断任务是否存在 |
| | | LogHelper.Info($"瓶坯非即产空托入库 {JsonConvert.SerializeObject(LocList)}"); |
| | | var taskInfo = db.Queryable<WCSTask>().Where(a => a.S_TYPE == "瓶坯非即产空框入库" && a.S_B_STATE != "完成" && a.S_B_STATE != "取消" && a.S_B_STATE != "卸货完成" && a.S_B_STATE != "开始卸货" && a.S_B_STATE != "取货完成").First(); |
| | | if(taskInfo == null) |
| | | { |
| | | //需要将空托转运到库区 |
| | | foreach (var a in LocList) |
| | | //判断作业是否存在 |
| | | var wmsTask = db.Queryable<WMSTask>().Where(a => a.S_OP_DEF_NAME == "瓶坯非即产空框入库" && (a.N_B_STATE == 0 || a.N_B_STATE == 1)).First(); |
| | | if(wmsTask == null) |
| | | { |
| | | if (a.S_LOCK_STATE == "无") |
| | | //需要将空托转运到库区 |
| | | foreach (var a in LocList) |
| | | { |
| | | //生成任务 |
| | | string cntrCode = getCntrCode(db, a); |
| | | //创建作业 |
| | | WMSHelper.CreateOpTask(a.S_CODE, "", "入库", "瓶坯非即产空框入库", cntrCode, "瓶坯"); |
| | | break; |
| | | if (a.S_LOCK_STATE == "无") |
| | | { |
| | | //生成任务 |
| | | string cntrCode = getCntrCode(db, a); |
| | | //创建作业 |
| | | WMSHelper.CreateOpTask(a.S_CODE, "", "入库", "瓶坯非即产空框入库", cntrCode, "瓶坯"); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | } |
| | | |
| | | internal static void PGFDFullInJC() |
| | | internal static void PPFDFullInJC() |
| | | { |
| | | var db = new SqlHelper<object>().GetInstance(); |
| | | var workInfo = db.Queryable<LinZhiBCPWorkOrder>().Where(a => a.S_PLineNo == "农夫林芝-瓶坯机" && a.S_UsingNow == "Y" && a.S_WorkState == "执行中").First(); |
| | | var workInfo = db.Queryable<LinZhiBCPWorkOrder>().Where(a => a.S_PLineNo.Contains("瓶坯翻斗机") && a.S_UsingNow == "Y" && a.S_WorkState == "执行中").First(); |
| | | if(workInfo != null) |
| | | { |
| | | var areaInfo = Settings.areaInfos.Where(a => a.areaName == "瓶坯即产满框" && a.enable == 1).FirstOrDefault(); |
| | | if(areaInfo != null) |
| | | { |
| | | //如果库区是空的,并且没有有锁的就补充空托 |
| | | var locInfo = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM == 0 && a.S_LOCK_STATE == "无").First(); |
| | | if (locInfo != null) |
| | | { |
| | |
| | | { |
| | | var rowInfo = db.Queryable<RowLock>().Where(a => a.S_AREA_CODE == endloc.S_AREA_CODE && a.S_ROW == endloc.S_ROW).First(); |
| | | LogHelper.Info($"瓶盖小包装盖转运:查询锁信息,货位锁:{endloc.S_LOCK_STATE},排锁:{JsonConvert.SerializeObject(rowInfo)}"); |
| | | if(rowInfo!=null && rowInfo.S_LOCK_STATE == "无" && endloc.S_LOCK_STATE == "无") |
| | | if(rowInfo != null && rowInfo.S_LOCK_STATE == "无" && endloc.S_LOCK_STATE == "无") |
| | | { |
| | | endLoca = endloc; |
| | | break; |