| | |
| | | CreateOneTask(operation); |
| | | break; |
| | | case 7: |
| | | //出库两段任务 |
| | | CreateOutTowTask(operation); |
| | | break; |
| | | case 9: |
| | |
| | | |
| | | var ConnectionLoc = LocationHelper.GetLocOne(operation.CONNECTION); |
| | | |
| | | |
| | | // 任务1 |
| | | var task1 = new WMSTask() |
| | | var count = LocationHelper.GetConnectionTaskCount(operation.CONNECTION); |
| | | LogHelper.Info($"CreateOneTask 作业:{operation.S_CODE},接驳位:{operation.CONNECTION},任务数量:{count}", "任务"); |
| | | if (count<4) |
| | | { |
| | | // 作业编码 |
| | | S_OP_CODE = operation.S_CODE, |
| | | // 任务号 |
| | | S_CODE = operation.S_CODE + "_1", |
| | | // 任务类型 |
| | | N_TYPE = operation.N_TYPE, |
| | | // 任务类型 |
| | | S_TYPE = operation.S_TYPE, |
| | | // 起点货位 |
| | | S_START_LOC = operation.S_START_LOC, |
| | | // 起点库区 |
| | | S_START_AREA = operation.S_START_AREA, |
| | | // 终点货位 |
| | | S_END_LOC = operation.CONNECTION, |
| | | // 终点库区 |
| | | S_END_AREA = ConnectionLoc.S_AREA_CODE, |
| | | // 设备类型 |
| | | N_SCHEDULE_TYPE = 2, |
| | | // 设备类型 |
| | | S_SCHEDULE_TYPE = "wcs", |
| | | // 容器编码 |
| | | S_CNTR_CODE = operation.S_CNTR_CODE, |
| | | //任务状态 |
| | | S_B_STATE = "未执行", |
| | | // 优先级 |
| | | N_PRIORITY = operation.N_PRIORITY, |
| | | //工装类型 |
| | | TOOLSTYPE = operation.TOOLSTYPE, |
| | | //起点库区名称 |
| | | S_START_AREA_NAME = operation.S_START_AREA_NAME, |
| | | //终点库区名称 |
| | | S_END_AREA_NAME = operation.CONNECTION_AREA, |
| | | }; |
| | | |
| | | // 任务2 |
| | | var task2 = new WMSTask() |
| | | { |
| | | // 作业编码 |
| | | S_OP_CODE = operation.S_CODE, |
| | | // 任务号 |
| | | S_CODE = operation.S_CODE + "_2", |
| | | // 任务类型 |
| | | N_TYPE = operation.N_TYPE, |
| | | // 任务类型 |
| | | S_TYPE = operation.S_TYPE, |
| | | // 起点货位 |
| | | S_START_LOC = operation.CONNECTION, |
| | | // 起点库区 |
| | | S_START_AREA = ConnectionLoc.S_AREA_CODE, |
| | | // 终点货位 |
| | | S_END_LOC = operation.S_END_LOC, |
| | | // 终点库区 |
| | | S_END_AREA = operation.S_END_AREA, |
| | | // 设备类型 |
| | | N_SCHEDULE_TYPE = 3, |
| | | // 设备类型 |
| | | S_SCHEDULE_TYPE = "agv", |
| | | // 容器编码 |
| | | S_CNTR_CODE = operation.S_CNTR_CODE, |
| | | //任务状态 |
| | | S_B_STATE = "未执行", |
| | | // 优先级 |
| | | N_PRIORITY = operation.N_PRIORITY, |
| | | //工装类型 |
| | | TOOLSTYPE = operation.TOOLSTYPE, |
| | | //起点库区名称 |
| | | S_START_AREA_NAME = operation.CONNECTION_AREA, |
| | | //终点库区名称 |
| | | S_END_AREA_NAME = operation.S_END_AREA_NAME, |
| | | }; |
| | | |
| | | try |
| | | { |
| | | // 修改作业状态为执行中 |
| | | operation.N_B_STATE = 1; |
| | | operation.S_B_STATE = "执行"; |
| | | |
| | | if (CreateTask(task1) && CreateTask(task2)) |
| | | // 任务1 |
| | | var task1 = new WMSTask() |
| | | { |
| | | LocationHelper.LockLoc(operation.S_START_LOC, "出库锁", 2); |
| | | LocationHelper.LockLoc(operation.S_END_LOC, "入库锁", 1); |
| | | LocationHelper.LockLoc(operation.CONNECTION, "入库锁", 1); |
| | | LogHelper.Info($"任务{task1.S_CODE},{task2.S_CODE}创建成功", "任务"); |
| | | var db = new SqlHelper<object>().GetInstance(); |
| | | db.Updateable(operation).UpdateColumns(it => new { it.N_B_STATE, it.S_B_STATE }).ExecuteCommand(); |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"任务{task1.S_CODE},{task2.S_CODE}创建失败", "任务"); |
| | | } |
| | | // 作业编码 |
| | | S_OP_CODE = operation.S_CODE, |
| | | // 任务号 |
| | | S_CODE = operation.S_CODE + "_1", |
| | | // 任务类型 |
| | | N_TYPE = operation.N_TYPE, |
| | | // 任务类型 |
| | | S_TYPE = operation.S_TYPE, |
| | | // 起点货位 |
| | | S_START_LOC = operation.S_START_LOC, |
| | | // 起点库区 |
| | | S_START_AREA = operation.S_START_AREA, |
| | | // 终点货位 |
| | | S_END_LOC = operation.CONNECTION, |
| | | // 终点库区 |
| | | S_END_AREA = ConnectionLoc.S_AREA_CODE, |
| | | // 设备类型 |
| | | N_SCHEDULE_TYPE = 2, |
| | | // 设备类型 |
| | | S_SCHEDULE_TYPE = "wcs", |
| | | // 容器编码 |
| | | S_CNTR_CODE = operation.S_CNTR_CODE, |
| | | //任务状态 |
| | | S_B_STATE = "未执行", |
| | | // 优先级 |
| | | N_PRIORITY = operation.N_PRIORITY, |
| | | //工装类型 |
| | | TOOLSTYPE = operation.TOOLSTYPE, |
| | | //起点库区名称 |
| | | S_START_AREA_NAME = operation.S_START_AREA_NAME, |
| | | //终点库区名称 |
| | | S_END_AREA_NAME = operation.CONNECTION_AREA, |
| | | }; |
| | | |
| | | // 任务2 |
| | | var task2 = new WMSTask() |
| | | { |
| | | // 作业编码 |
| | | S_OP_CODE = operation.S_CODE, |
| | | // 任务号 |
| | | S_CODE = operation.S_CODE + "_2", |
| | | // 任务类型 |
| | | N_TYPE = operation.N_TYPE, |
| | | // 任务类型 |
| | | S_TYPE = operation.S_TYPE, |
| | | // 起点货位 |
| | | S_START_LOC = operation.CONNECTION, |
| | | // 起点库区 |
| | | S_START_AREA = ConnectionLoc.S_AREA_CODE, |
| | | // 终点货位 |
| | | S_END_LOC = operation.S_END_LOC, |
| | | // 终点库区 |
| | | S_END_AREA = operation.S_END_AREA, |
| | | // 设备类型 |
| | | N_SCHEDULE_TYPE = 3, |
| | | // 设备类型 |
| | | S_SCHEDULE_TYPE = "agv", |
| | | // 容器编码 |
| | | S_CNTR_CODE = operation.S_CNTR_CODE, |
| | | //任务状态 |
| | | S_B_STATE = "未执行", |
| | | // 优先级 |
| | | N_PRIORITY = operation.N_PRIORITY, |
| | | //工装类型 |
| | | TOOLSTYPE = operation.TOOLSTYPE, |
| | | //起点库区名称 |
| | | S_START_AREA_NAME = operation.CONNECTION_AREA, |
| | | //终点库区名称 |
| | | S_END_AREA_NAME = operation.S_END_AREA_NAME, |
| | | }; |
| | | |
| | | try |
| | | { |
| | | // 修改作业状态为执行中 |
| | | operation.N_B_STATE = 1; |
| | | operation.S_B_STATE = "执行"; |
| | | |
| | | if (CreateTask(task1) && CreateTask(task2)) |
| | | { |
| | | LocationHelper.LockLoc(operation.S_START_LOC, "出库锁", 2); |
| | | LocationHelper.LockLoc(operation.S_END_LOC, "入库锁", 1); |
| | | LocationHelper.LockLoc(operation.CONNECTION, "入库锁", 1); |
| | | LogHelper.Info($"任务{task1.S_CODE},{task2.S_CODE}创建成功", "任务"); |
| | | var db = new SqlHelper<object>().GetInstance(); |
| | | db.Updateable(operation).UpdateColumns(it => new { it.N_B_STATE, it.S_B_STATE }).ExecuteCommand(); |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"任务{task1.S_CODE},{task2.S_CODE}创建失败", "任务"); |
| | | } |
| | | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | LogHelper.Info("CreateOneTask异常信息" + e.Message, "任务"); |
| | | throw; |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | LogHelper.Info("CreateOneTask异常信息" + e.Message, "任务"); |
| | | throw; |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | |