| | |
| | | DeviceProcess.Door(mst, forkliftNo, state); |
| | | } |
| | | else if (state == 1002) { |
| | | LogHelper.Info($"等待交互,任务号={mst.S_CODE},卸货交管成功,修改参数", "安全交互"); |
| | | LogHelper.Info($"等待交互,任务号={mst.S_CODE}", "安全交互"); |
| | | |
| | | //等待rfid校验 |
| | | var rfidFlag = TaskHelper.GetRfid(mst.S_CODE); |
| | |
| | | foreach (var item in usableConnectionList.available) |
| | | { |
| | | var con = LocationHelper.GetLoc(item); |
| | | if (con.S_CODE.Contains(task.S_END_LOC) && con.C_ENABLE=="Y") |
| | | if (con.S_CODE.Contains(task.S_END_LOC)) |
| | | { |
| | | |
| | | flag = false; |
| | |
| | | var usableConnectionList = WcsTask.WcsPositionAvailable(model.task_no, connectionList); |
| | | if (usableConnectionList != null && usableConnectionList.code == "0") |
| | | { |
| | | foreach (var item in usableConnectionList.available) |
| | | //根据接驳位任务数量获取均衡接驳位集合优先任务数少的接驳位 |
| | | var balanceConnectionList = LocationHelper.GetBalanceConnectionList(usableConnectionList.available); |
| | | foreach (var item in balanceConnectionList) |
| | | { |
| | | var con = LocationHelper.GetLoc(item); |
| | | if (con.N_CURRENT_NUM < 2 && con.C_ENABLE == "Y") |
| | | if (item.loc.N_CURRENT_NUM<2) |
| | | { |
| | | connection = con.S_CODE; |
| | | connectionArea = con.S_AREA_Name; |
| | | connection = item.loc.S_CODE; |
| | | connectionArea = item.loc.S_AREA_Name; |
| | | LogHelper.Info($"ZCSendTask入库任务下发寻找到可用接驳位{connection}", "Mes任务下发"); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | |
| | | //if (end == null) |
| | | //{ |
| | | LogHelper.Info($"ZCSendTask入库任务没找到空托缓存区终点,寻找立库区空货位", "Mes任务下发"); |
| | | end = LocationHelper.FindEndcolByLocList(endList, workFlow.ENDAREA, workFlow.ROADWAY); |
| | | end = LocationHelper.FindBalanceEndcolByLocList(endList, workFlow.ENDAREA, workFlow.ROADWAY); |
| | | //} |
| | | //else |
| | | //{ |
| | |
| | | } |
| | | |
| | | |
| | | LogHelper.Info($"ZCSendTask任务下发终点信息" + JsonConvert.SerializeObject(end), "Mes任务下发"); |
| | | LogHelper.Info($"ZCSendTask入库任务下发终点信息" + JsonConvert.SerializeObject(end), "Mes任务下发"); |
| | | |
| | | if (end == null) { |
| | | LogHelper.Info($"ZCSendTask任务下发失败,终点库区{workFlow.ENDAREA},没找到终点", "Mes任务下发"); |
| | | LogHelper.Info($"ZCSendTask入库任务下发失败,终点库区{workFlow.ENDAREA},没找到终点", "Mes任务下发"); |
| | | throw new Exception($"终点库区{workFlow.ENDAREA},没找到终点"); |
| | | } |
| | | |
| | |
| | | else { |
| | | //根据制品编号寻找立库区对应物料托盘 |
| | | start = LocationHelper.FindStartcolByLoclistAndItem(strrtList, model.PROD_NO, workFlow.STARTAREA, workFlow.ROADWAY); |
| | | if (start==null) |
| | | { |
| | | strrtList = LocationHelper.GetAllLocList2(workFlow.STARTAREA); |
| | | var itemFlag = LocationHelper.FindStartcolByLoclistAndItemFlag(strrtList, model.PROD_NO, workFlow.STARTAREA); |
| | | LogHelper.Info($"ZCSendTask满托出库任务没找到起点,校验是否有库存但是设备报警{itemFlag}", "Mes任务下发"); |
| | | if (itemFlag) |
| | | { |
| | | result.errMsg = "满托出库作业有库存但设备报警"; |
| | | result.errCode = 2001; |
| | | result.success = true; |
| | | return result; |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | |
| | | else if (workFlow.FLOWCODE == "7") { |
| | | //寻找立库区空托 |
| | | start = LocationHelper.FindStartcolByLoclistAndcntr(strrtList, workFlow.STARTAREA); |
| | | if (start == null) |
| | | { |
| | | strrtList = LocationHelper.GetAllLocList2(workFlow.STARTAREA); |
| | | var itemFlag = LocationHelper.FindStartcolByLoclistAndcntrFlag(strrtList, workFlow.STARTAREA); |
| | | LogHelper.Info($"ZCSendTask空托出库任务没找到起点,校验是否有库存但是设备报警{itemFlag}", "Mes任务下发"); |
| | | |
| | | if (itemFlag) |
| | | { |
| | | result.errMsg = "空托出库作业有库存但设备报警"; |
| | | result.errCode = 2001; |
| | | result.success = true; |
| | | return result; |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | |
| | | |
| | | //正式代码,调用接口寻找可用接驳位 |
| | | var connectionList = LocationHelper.GetConnectionList(workFlow.CONNECTION); |
| | | var usableConnectionList = WcsTask.WcsPositionAvailable(model.task_no, connectionList); |
| | | if (usableConnectionList != null && usableConnectionList.code == "0") |
| | | //var usableConnectionList = WcsTask.WcsPositionAvailable(model.task_no, connectionList); |
| | | //if (usableConnectionList != null && usableConnectionList.code == "0") |
| | | //{ |
| | | // foreach (var item in usableConnectionList.available) |
| | | // { |
| | | // var con = LocationHelper.GetLoc(item); |
| | | // if (con.C_ENABLE == "Y" && con.N_CURRENT_NUM < 2) |
| | | // { |
| | | // connection = con.S_CODE; |
| | | // connectionArea = con.S_AREA_Name; |
| | | // LogHelper.Info($"ZCSendTask出库任务下发寻找到可用接驳位{connection}", "Mes任务下发"); |
| | | // } |
| | | // } |
| | | //} |
| | | //else |
| | | //{ |
| | | // LogHelper.Info($"ZCSendTask出库任务下发寻找接驳位失败", "Mes任务下发"); |
| | | // throw new Exception($"ZCSendTask出库任务下发寻找接驳位失败"); |
| | | //} |
| | | |
| | | //根据接驳位任务数量获取均衡接驳位集合优先任务数少的接驳位 |
| | | var balanceConnectionList = LocationHelper.GetBalanceConnectionList(connectionList); |
| | | foreach (var item in balanceConnectionList) |
| | | { |
| | | foreach (var item in usableConnectionList.available) |
| | | if (item.loc.N_CURRENT_NUM < 2) |
| | | { |
| | | var con = LocationHelper.GetLoc(item); |
| | | if (con.C_ENABLE == "Y" && con.N_CURRENT_NUM < 2) |
| | | { |
| | | connection = con.S_CODE; |
| | | connectionArea = con.S_AREA_Name; |
| | | LogHelper.Info($"ZCSendTask出库任务下发寻找到可用接驳位{connection}", "Mes任务下发"); |
| | | } |
| | | connection = item.loc.S_CODE; |
| | | connectionArea = item.loc.S_AREA_Name; |
| | | LogHelper.Info($"ZCSendTask出库任务下发寻找到可用接驳位{connection}", "Mes任务下发"); |
| | | break; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"ZCSendTask出库任务下发寻找接驳位失败", "Mes任务下发"); |
| | | throw new Exception($"ZCSendTask出库任务下发寻找接驳位失败"); |
| | | } |
| | | |
| | | if (connection == "") |
| | | { |
| | | LogHelper.Info($"ZCSendTask入库任务下发寻找接驳位失败", "Mes任务下发"); |
| | | throw new Exception($"ZCSendTask入库任务下发寻找接驳位失败"); |
| | | LogHelper.Info($"ZCSendTask出库任务下发寻找接驳位失败", "Mes任务下发"); |
| | | throw new Exception($"ZCSendTask出库任务下发寻找接驳位失败"); |
| | | } |
| | | } |
| | | |
| | |
| | | result.success = false; |
| | | return result; |
| | | } |
| | | |
| | | return result; |
| | | |
| | | } |
| | | |
| | | |