| | |
| | | ContainerHelper.CreateCntrItem(rel); |
| | | |
| | | |
| | | //添加托盘 |
| | | Container cntr1 = new Container(); |
| | | cntr1.S_CODE = model.contNo; |
| | | cntr1.C_ENABLE = "Y"; |
| | | cntr1.N_DETAIL_COUNT = 1; |
| | | cntr1.S_TYPE = ""; |
| | | |
| | | |
| | | ContainerHelper.CreateCntr(cntr1); |
| | | |
| | | |
| | | |
| | | |
| | | //添加托盘 异常托盘不添加 |
| | | if (!(model.code == "1" || model.contNo == "99")) { |
| | | Container cntr1 = new Container(); |
| | | cntr1.S_CODE = model.contNo; |
| | | cntr1.C_ENABLE = "Y"; |
| | | cntr1.N_DETAIL_COUNT = 1; |
| | | cntr1.S_TYPE = ""; |
| | | ContainerHelper.CreateCntr(cntr1); |
| | | } |
| | | |
| | | |
| | | //起点终点查找成功,创建作业 |
| | | |
| | |
| | | TaskHelper.Fail(transportTask); |
| | | TaskProcess.OperateStatus(transportTask, 7); |
| | | |
| | | var agvTask = newDb.Queryable<WMSTask>().Where(e => e.S_CODE == transportTask.S_OP_CODE+"_1")?.First(); |
| | | var agvTask = TaskHelper.GetTaskByWorkNo(transportTask.S_OP_CODE, "agv"); |
| | | |
| | | if (agvTask == null) |
| | | { |
| | | LogHelper.Info($"RFID校验失败,没找到对应{transportTask.S_OP_CODE+"_1"}任务", "Wcs任务执行通知"); |
| | | throw new Exception($"RFID校验失败,没找到对应{transportTask.S_OP_CODE + "_1"}任务"); |
| | | LogHelper.Info($"RFID校验失败,没找到对应{transportTask.S_OP_CODE}的agv任务", "Wcs任务执行通知"); |
| | | throw new Exception($"RFID校验失败,没找到对应{transportTask.S_OP_CODE }的agv任务"); |
| | | } |
| | | var workFlow = TaskHelper.selectWorkFlowByType(agvTask.N_TYPE.ToString(), agvTask.TOOLSTYPE); |
| | | |
| | |
| | | TaskHelper.Fail(transportTask); |
| | | TaskProcess.OperateStatus(transportTask, 7); |
| | | LocationHelper.updateLocLock(transportTask.S_START_LOC, 4, "异常锁"); |
| | | var agvTask = TaskHelper.GetTask(transportTask.S_OP_CODE + "_1"); |
| | | var agvTask = TaskHelper.GetTaskByWorkNo(transportTask.S_OP_CODE, "agv"); |
| | | if (agvTask!=null) |
| | | { |
| | | TaskHelper.Fail(agvTask); |
| | |
| | | LogHelper.Info("查询到安全请求信号记录表已经存在数据,此次信号不下达给立库", "agv执行通知"); |
| | | return true; |
| | | } |
| | | |
| | | if (mst.S_TYPE.Contains("入库")) |
| | | switch (state) |
| | | { |
| | | Type = "2"; |
| | | bit = mst.S_END_LOC; |
| | | if (state == 1103) |
| | | { |
| | | Meshod = "AgvRequest"; |
| | | bit = mst.S_END_LOC; |
| | | } |
| | | else if (state == 7) |
| | | { |
| | | Type = "3"; |
| | | Meshod = "AgvRequestCancel"; |
| | | } |
| | | else if (state == 4) { |
| | | //申请出门 |
| | | Type = "4"; |
| | | Meshod = "AgvRequest"; |
| | | bit = mst.S_END_LOC; |
| | | } |
| | | else |
| | | { |
| | | Meshod = "Complete"; |
| | | } |
| | | } |
| | | else if (mst.S_TYPE.Contains("出库")) |
| | | { |
| | | Type = "1"; |
| | | bit = mst.S_START_LOC; |
| | | if (state == 1101) |
| | | { |
| | | Meshod = "AgvRequest"; |
| | | } |
| | | else if (state == 7) |
| | | { |
| | | Type = "3"; |
| | | Meshod = "AgvRequestCancel"; |
| | | } |
| | | else if (state == 3) |
| | | { |
| | | //申请进门 |
| | | Type = "3"; |
| | | Meshod = "AgvRequest"; |
| | | case 1101: |
| | | Type = "1"; |
| | | bit = mst.S_START_LOC; |
| | | } |
| | | else |
| | | { |
| | | Meshod = "AgvRequest"; |
| | | break; |
| | | case 1102: |
| | | Type = "1"; |
| | | bit = mst.S_START_LOC; |
| | | Meshod = "Complete"; |
| | | } |
| | | break; |
| | | case 1103: |
| | | Type = "2"; |
| | | bit = mst.S_END_LOC; |
| | | Meshod = "AgvRequest"; |
| | | break; |
| | | case 1104: |
| | | Type = "5"; |
| | | bit = mst.S_END_LOC; |
| | | Meshod = "Complete"; |
| | | break; |
| | | case 7: |
| | | Type = "2"; |
| | | bit = ""; |
| | | Meshod = "AgvRequestCancel"; |
| | | break; |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info("除了出入库其余不需要安全请求", "agv执行通知"); |
| | | return true; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | |
| | | |
| | | var endLoc = LocationHelper.GetLocOne(task.S_END_LOC); |
| | | |
| | | var end = newDb.Queryable<Location>().Where(a => a.S_AREA_CODE == endLoc.S_AREA_CODE && a.N_ROW == endLoc.N_ROW && a.N_COL > endLoc.N_COL && a.S_LOCK_STATE == "无" && a.N_CURRENT_NUM == 0).OrderBy(b=>b.N_COL).First(); |
| | | var end = newDb.Queryable<Location>().Where(a => a.S_AREA_CODE == endLoc.S_AREA_CODE && a.N_ROW == endLoc.N_ROW && a.N_COL > endLoc.N_COL && a.S_LOCK_STATE == "无" && a.N_CURRENT_NUM == 0 && a.C_ENABLE=="Y").OrderBy(b=>b.N_COL).First(); |
| | | |
| | | LogHelper.Info($"Wcs放货有货寻找新终点信息" + JsonConvert.SerializeObject(end), "放货有货"); |
| | | |