| | |
| | | if (locCntrRel != null) |
| | | { |
| | | LogHelper.Info("1111111", "输送线"); |
| | | if (lineSignalInfo.faultMessage == 1) |
| | | { |
| | | // 回报车间控制器 |
| | | LogHelper.Info("输送线,线体【" + line.code + "】调整为手动状态", "输送线"); |
| | | continue; |
| | | } |
| | | |
| | | WMSTask wmsTask = WMSHelper.GetWmsTaskByCntr(locCntrRel.S_CNTR_CODE); |
| | | if (wmsTask == null) |
| | | { |
| | | LogHelper.Info("没有正在执行的任务,货位:" + locCntrRel.S_LOC_CODE + " 容器:" + locCntrRel.S_CNTR_CODE, "输送线"); |
| | | continue; |
| | | } |
| | | |
| | | if (lineSignalInfo.faultMessage != 0) |
| | | { |
| | | // 回报车间控制器 |
| | | WMSStatusInfo statusInfo = new WMSStatusInfo() |
| | | { |
| | | wmsId = wmsTask.S_CODE, |
| | | errMsg = $"{line.code}输送线故障,故障编码:{lineSignalInfo.faultMessage}" |
| | | }; |
| | | ShopFloorControl.wmsUpdateStatus(statusInfo); |
| | | |
| | | if (lineSignalInfo.faultMessage == 1) |
| | | { |
| | | LogHelper.Info("输送线,线体【" + line.code + "】调整为手动状态", "输送线"); |
| | | continue; |
| | | } |
| | | } |
| | | |
| | | var date = DateTime.Now.ToString("yyMMdd"); |
| | |
| | | } |
| | | LogHelper.Info("堆垛机入库任务终点", "输送线"); |
| | | Location endLoc = WMSHelper.GetEndLocation(wmsTask.S_END_AREA, itemCode, originLocation.N_ROADWAY, originLocation.N_ROW); |
| | | LogHelper.Info($"堆垛机入库任务终点:{endLoc.S_CODE}", "输送线"); |
| | | wmsTask.S_END_LOC = endLoc.S_CODE; |
| | | WMSHelper.UpdateTask(wmsTask); |
| | | string eqNo = ApiHelper.getEqNo(endLoc.S_AREA_CODE, endLoc.N_ROADWAY); |
| | | if (endLoc != null) |
| | | { |
| | | LogHelper.Info($"堆垛机入库任务终点:{endLoc.S_CODE}", "输送线"); |
| | | wmsTask.S_END_LOC = endLoc.S_CODE; |
| | | WMSHelper.UpdateTask(wmsTask); |
| | | string eqNo = ApiHelper.getEqNo(endLoc.S_AREA_CODE, endLoc.N_ROADWAY); |
| | | |
| | | List<string> areaCdoes = Settings.getStoreAreaCodes(2, 1); |
| | | WCSTask twoWcsTask = new WCSTask |
| | | List<string> areaCdoes = Settings.getStoreAreaCodes(2, 1); |
| | | WCSTask twoWcsTask = new WCSTask |
| | | { |
| | | S_OP_NAME = wmsTask.S_OP_DEF_NAME, |
| | | S_OP_CODE = wmsTask.S_CODE, |
| | | S_CODE = WCSHelper.GenerateTaskNo(), |
| | | S_CNTR_CODE = wmsTask.S_CNTR_CODE, |
| | | S_TYPE = wmsTask.S_TYPE + "-2", |
| | | S_START_LOC = originLocation.S_CODE, |
| | | S_START_AREA = originLocation.S_AREA_CODE, |
| | | S_END_LOC = wmsTask.S_END_LOC, |
| | | S_END_AREA = wmsTask.S_END_AREA, |
| | | S_EQ_NO = eqNo, |
| | | S_SCHEDULE_TYPE = "RB", |
| | | T_START_TIME = DateTime.Now, |
| | | }; |
| | | if (WCSHelper.CreateTask(twoWcsTask)) |
| | | { |
| | | // 接驳位加出库锁,终点货位加入库锁 |
| | | LocationHelper.LockLoc(twoWcsTask.S_START_LOC, 2); |
| | | LocationHelper.LockLoc(twoWcsTask.S_END_LOC, 1); |
| | | LogHelper.Info("堆垛机入库任务已下发,任务信息:" + JsonConvert.SerializeObject(twoWcsTask), "输送线"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | S_OP_NAME = wmsTask.S_OP_DEF_NAME, |
| | | S_OP_CODE = wmsTask.S_CODE, |
| | | S_CODE = WCSHelper.GenerateTaskNo(), |
| | | S_CNTR_CODE = wmsTask.S_CNTR_CODE, |
| | | S_TYPE = wmsTask.S_TYPE + "-2", |
| | | S_START_LOC = originLocation.S_CODE, |
| | | S_START_AREA = originLocation.S_AREA_CODE, |
| | | S_END_LOC = wmsTask.S_END_LOC, |
| | | S_END_AREA = wmsTask.S_END_AREA, |
| | | S_EQ_NO = eqNo, |
| | | S_SCHEDULE_TYPE = "RB", |
| | | T_START_TIME = DateTime.Now, |
| | | }; |
| | | if (WCSHelper.CreateTask(twoWcsTask)) |
| | | { |
| | | // 接驳位加出库锁,终点货位加入库锁 |
| | | LocationHelper.LockLoc(twoWcsTask.S_START_LOC, 2); |
| | | LocationHelper.LockLoc(twoWcsTask.S_END_LOC, 1); |
| | | LogHelper.Info("堆垛机入库任务已下发,任务信息:" + JsonConvert.SerializeObject(twoWcsTask), "输送线"); |
| | | LogHelper.Info($"堆垛机入库任务终点:null", "输送线"); |
| | | } |
| | | } |
| | | else { |
| | |
| | | N_PRIORITY = wmsTask.N_PRIORITY, |
| | | T_START_TIME = DateTime.Now, |
| | | }; |
| | | if (wmsTask.S_TYPE.Equals("半成品/成品出库") || wmsTask.S_TYPE.Equals("叫托盘出库")) |
| | | if (wmsTask.S_TYPE.Equals("半成品/成品出库") || wmsTask.S_TYPE.Equals("叫托盘出库") || (wmsTask.S_OP_DEF_CODE != null && wmsTask.S_OP_DEF_CODE != "")) |
| | | { |
| | | twoWcsTask.S_SCHEDULE_TYPE = "LD-AUTO"; |
| | | } |
| | |
| | | LocationHelper.LockLoc(twoWcsTask.S_START_LOC, 2); |
| | | LocationHelper.LockLoc(twoWcsTask.S_END_LOC, 1); |
| | | |
| | | var notificationResult = ShopFloorControl.notificationCreateTransportOrder(new TransferTiledData() { logisticsTaskId = wmsTask.S_OP_DEF_CODE }); |
| | | if (notificationResult) |
| | | if (twoWcsTask.S_SCHEDULE_TYPE == "LD-AUTO") |
| | | { |
| | | WCSHelper.UpdateStatus(twoWcsTask,"已推送"); |
| | | LogHelper.Info("灵动AGV出库任务已下发,并通知车间下发灵动AGV任务,任务信息:" + JsonConvert.SerializeObject(twoWcsTask), "输送线"); |
| | | } |
| | | else |
| | | { |
| | | NotificationInfo notificationInfo = new NotificationInfo() { |
| | | logisticsTaskId = wmsTask.S_OP_DEF_CODE, |
| | | locCode = originLocation.S_CODE |
| | | }; |
| | | LogHelper.Info("物流任务信息:" + JsonConvert.SerializeObject(notificationInfo), "输送线"); |
| | | if (notificationInfo.logisticsTaskId != null && notificationInfo.locCode != null) { |
| | | logisticsTaskIdDict.Add(notificationInfo, 0); |
| | | var notificationResult = ShopFloorControl.notificationCreateTransportOrder(new TransferTiledData() { logisticsTaskId = wmsTask.S_OP_DEF_CODE }); |
| | | if (notificationResult) |
| | | { |
| | | WCSHelper.UpdateStatus(twoWcsTask, "已推送"); |
| | | LogHelper.Info("灵动AGV出库任务已下发,并通知车间下发灵动AGV任务,任务信息:" + JsonConvert.SerializeObject(twoWcsTask), "输送线"); |
| | | } |
| | | LogHelper.Info("通知车间下发灵动AGV任务失败,任务信息:" + JsonConvert.SerializeObject(twoWcsTask), "输送线"); |
| | | else |
| | | { |
| | | NotificationInfo notificationInfo = new NotificationInfo() |
| | | { |
| | | logisticsTaskId = wmsTask.S_OP_DEF_CODE, |
| | | locCode = originLocation.S_CODE |
| | | }; |
| | | LogHelper.Info("物流任务信息:" + JsonConvert.SerializeObject(notificationInfo), "输送线"); |
| | | if (notificationInfo.logisticsTaskId != null && notificationInfo.locCode != null) |
| | | { |
| | | logisticsTaskIdDict.Add(notificationInfo, 0); |
| | | } |
| | | LogHelper.Info("通知车间下发灵动AGV任务失败,任务信息:" + JsonConvert.SerializeObject(twoWcsTask), "输送线"); |
| | | } |
| | | } |
| | | } |
| | | } |