| | |
| | | LinZhiBCPWorkOrder bcpW = null; |
| | | bcpW = db.Queryable<LinZhiBCPWorkOrder>().Where(a => a.S_WorkNo == mst.S_WORK_NO && a.S_WorkState == "执行中").First(); |
| | | LogHelper.Info($"满托任务生成处理,工单:{JsonConvert.SerializeObject(bcpW)}"); |
| | | if (mst.S_TYPE.Contains("瓶盖")) |
| | | { |
| | | //瓶盖无即产即用和非即产即用 |
| | | var bcpInfo = Settings.areaInfos.Where(a => a.areaName == "瓶盖非即产满框" && a.enable == 1).FirstOrDefault(); |
| | | if (bcpInfo != null) |
| | | if (bcpW != null) |
| | | { |
| | | if (mst.S_TYPE.Contains("瓶盖")) |
| | | { |
| | | startLoca = DeviceProcess.getFDSXArea(db, bcpW, bcpInfo.areaCode); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (bcpW.S_UsingNow == "Y") |
| | | { |
| | | LogHelper.Info($"瓶坯即产满框 查找"); |
| | | startArea = Settings.areaInfos.Where(a => a.areaName == "瓶坯即产满框" && a.enable == 1).FirstOrDefault().areaCode; |
| | | startLoca = DeviceProcess.getFDSXArea(db, bcpW, startArea); |
| | | //瓶盖无即产即用和非即产即用 |
| | | var bcpInfo = Settings.areaInfos.Where(a => a.areaName == "瓶盖非即产满框" && a.enable == 1).FirstOrDefault(); |
| | | if (bcpInfo != null) |
| | | { |
| | | startLoca = DeviceProcess.getFDSXArea(db, bcpW, bcpInfo.areaCode); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"瓶坯翻斗机非即产满框 查找"); |
| | | string areaName = bcpW.S_PLineNo.Split('-')[1].Substring(0, 1) + "号瓶坯翻斗机非即产满框"; |
| | | startArea = Settings.areaInfos.Where(a => a.areaName == areaName && a.enable == 1).FirstOrDefault().areaCode; |
| | | startLoca = DeviceProcess.getFDSXArea(db, bcpW, startArea); |
| | | if (bcpW.S_UsingNow == "Y") |
| | | { |
| | | LogHelper.Info($"瓶坯即产满框 查找"); |
| | | startArea = Settings.areaInfos.Where(a => a.areaName == "瓶坯即产满框" && a.enable == 1).FirstOrDefault().areaCode; |
| | | startLoca = DeviceProcess.getFDSXArea(db, bcpW, startArea); |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"瓶坯翻斗机非即产满框 查找"); |
| | | string areaName = bcpW.S_PLineNo.Split('-')[1].Substring(0, 1) + "号瓶坯翻斗机非即产满框"; |
| | | startArea = Settings.areaInfos.Where(a => a.areaName == areaName && a.enable == 1).FirstOrDefault().areaCode; |
| | | startLoca = DeviceProcess.getFDSXArea(db, bcpW, startArea); |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (startLoca != null) |
| | | { |
| | | LogHelper.Info("startLoca" + JsonConvert.SerializeObject(startLoca)); |
| | | string taskType = ""; |
| | | if (mst.S_TYPE == "翻斗机即产空托下线(瓶坯)") taskType = "翻斗机即产满托上线(瓶坯)"; |
| | | if (mst.S_TYPE == "翻斗机库存空托下线(瓶坯)") taskType = "翻斗机库存满托上线(瓶坯)"; |
| | | if (mst.S_TYPE == "翻斗机库存空托下线(瓶盖)") taskType = "翻斗机库存满托上线(瓶盖)"; |
| | | var cntrInfo = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == startLoca.S_CODE).First(); |
| | | if (cntrInfo != null) |
| | | if (startLoca != null) |
| | | { |
| | | WMSHelper.CreateOpTask(startLoca.S_CODE, mst.S_START_LOC, "出库", taskType, cntrInfo.S_CNTR_CODE,"","",bcpW.S_WorkNo); |
| | | LogHelper.Info("startLoca" + JsonConvert.SerializeObject(startLoca)); |
| | | string taskType = ""; |
| | | if (mst.S_TYPE == "翻斗机即产空托下线(瓶坯)") taskType = "翻斗机即产满托上线(瓶坯)"; |
| | | if (mst.S_TYPE == "翻斗机库存空托下线(瓶坯)") taskType = "翻斗机库存满托上线(瓶坯)"; |
| | | if (mst.S_TYPE == "翻斗机库存空托下线(瓶盖)") taskType = "翻斗机库存满托上线(瓶盖)"; |
| | | var cntrInfo = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == startLoca.S_CODE).First(); |
| | | if (cntrInfo != null) |
| | | { |
| | | WMSHelper.CreateOpTask(startLoca.S_CODE, mst.S_START_LOC, "出库", taskType, cntrInfo.S_CNTR_CODE,"","",bcpW.S_WorkNo); |
| | | } |
| | | else LogHelper.Info($"未绑定托盘,货位号:{startLoca.S_CODE}"); |
| | | } |
| | | else LogHelper.Info($"未绑定托盘,货位号:{startLoca.S_CODE}"); |
| | | } |
| | | |
| | | } |
| | | } |
| | | |