| | |
| | | /// </summary> |
| | | internal static void PPFDFullInEmpty() |
| | | { |
| | | //瓶坯非即产空框区堆叠库区一共四个货位,如果有三个货位是满的,就开始转运到瓶坯库区 |
| | | //如果满货位小于等于一就开始从满框缓存区空框区域转运,如果满框缓存区空框区域无空托,则从瓶坯库转运 |
| | | |
| | | var db = new SqlHelper<object>().GetInstance(); |
| | | var workInfo = db.Queryable<LinZhiBCPWorkOrder>().Where(a => a.S_PLineNo == "农夫林芝-瓶坯机" && a.S_UsingNow == "N" && 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 LocList = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM == a.N_CAPACITY).ToList(); |
| | | if(LocList.Count <= 1) |
| | | { |
| | | //生成任务 |
| | | Location location = TaskProcess.BCPInOrOut(db, false, "瓶坯库区", ""); |
| | | if (location != 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 == "无").First(); |
| | | if(location != null && locInfo != null) |
| | | { |
| | | string cntrCode = getCntrCode(db, location); |
| | | //创建作业 |
| | | WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "入库", "瓶坯非急产补空框", cntrCode, "瓶坯"); |
| | | } |
| | | } |
| | | } |
| | | else |
| | | if (LocList.Count >= 2) |
| | | { |
| | | LogHelper.Info("瓶坯非即产空框 未配置"); |
| | | //需要将空托转运到库区 |
| | | foreach (var a in LocList) |
| | | { |
| | | if(a.S_LOCK_STATE == "无") |
| | | { |
| | | //生成任务 |
| | | string cntrCode = getCntrCode(db, a); |
| | | //创建作业 |
| | | WMSHelper.CreateOpTask(a.S_CODE, "", "入库", "瓶坯非急产空框入库", cntrCode, "瓶坯"); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | #region |
| | | //var workInfo = db.Queryable<LinZhiBCPWorkOrder>().Where(a => a.S_PLineNo == "农夫林芝-瓶坯机" && a.S_UsingNow == "N" && 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) |
| | | // { |
| | | // //生成任务 |
| | | // Location location = TaskProcess.BCPInOrOut(db, false, "瓶坯库区", ""); |
| | | // if (location != null) |
| | | // { |
| | | // string cntrCode = getCntrCode(db, location); |
| | | // //创建作业 |
| | | // WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "入库", "瓶坯非急产补空框", cntrCode, "瓶坯"); |
| | | // } |
| | | // } |
| | | // } |
| | | // else |
| | | // { |
| | | // LogHelper.Info("瓶坯非即产空框 未配置"); |
| | | // } |
| | | //} |
| | | #endregion |
| | | |
| | | } |
| | | |
| | | internal static void PGFDFullInJC() |
| | | { |
| | | var db = new SqlHelper<object>().GetInstance(); |
| | | var workInfo = db.Queryable<LinZhiBCPWorkOrder>().Where(a => a.S_PLineNo == "农夫林芝-瓶坯机" && 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) |
| | | { |
| | | //开始转运 |
| | | Location startLoca = TaskProcess.BCPInOrOut(db, false, "瓶坯即产满框缓存", workInfo.S_ItemCode); |
| | | if (startLoca != null) |
| | | { |
| | | //创建作业 |
| | | string cntrCode = getCntrCode(db, startLoca); |
| | | WMSHelper.CreateOpTask(startLoca.S_CODE, locInfo.S_CODE, "出库", "瓶坯急产补满框", cntrCode, ""); |
| | | } |
| | | } |
| | | } |
| | | |
| | | 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 == "无").ToList(); |
| | | if (locInfo.Count == 2) |
| | | { |
| | | //开始转运 |
| | | Location startLoca = TaskProcess.BCPInOrOut(db, false, "瓶坯即产满框缓存", ""); |
| | | if (startLoca != null) |
| | | { |
| | | //创建作业 |
| | | string cntrCode = getCntrCode(db, startLoca); |
| | | WMSHelper.CreateOpTask(startLoca.S_CODE, locInfo[0].S_CODE, "出库", "瓶坯急产补空框", cntrCode, ""); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |