diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/common/enums/AcsTaskEnum.java b/mes/hd/nladmin-system/src/main/java/org/nl/common/enums/AcsTaskEnum.java index 2a75a76b..75da8406 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/common/enums/AcsTaskEnum.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/common/enums/AcsTaskEnum.java @@ -27,11 +27,10 @@ public enum AcsTaskEnum { TASK_CACHELINE_OUT("3","缓存线出库任务"), //回调状态 - STATUS_START("1","开始取货"), - STATUS_RUNDING("2","放货中"), - STATUS_FINISH("3","完成"), - STATUS_CANNEL("4","取消"), - + STATUS_START("1","执行中"), + STATUS_FINISH("2","完成"), + STATUS_CANNEL("3","取消"), + //专机请求 REQUEST_CALLTYPE_FULL("1","满料请求"), REQUEST_CALLTYPE_EMP("2","缺料请求"), ; diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java index 59fc7276..8efd7192 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java @@ -44,11 +44,11 @@ public class AcsToWmsController { return new ResponseEntity<>(acsToWmsService.receiveTaskStatusAcs(string), HttpStatus.OK); } - @PostMapping("/orderFinish") + @PostMapping("/orderStatus") @Log("ACS给WMS下发工单完成状态") @ApiOperation("ACS给WMS下发工单完成状态") - public ResponseEntity orderFinish(@RequestBody String string) { - return new ResponseEntity<>(acsToWmsService.orderFinish(string), HttpStatus.OK); + public ResponseEntity orderFinish(@RequestBody JSONObject param) { + return new ResponseEntity<>(acsToWmsService.orderStatus(param), HttpStatus.OK); } @PostMapping("/feedDeviceStatusType") diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/WmsToAcsController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/WmsToAcsController.java index 65182b69..cc4e0e22 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/WmsToAcsController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/WmsToAcsController.java @@ -10,6 +10,7 @@ import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.nl.common.anno.Log; import lombok.extern.slf4j.Slf4j; +import org.nl.common.enums.WorkerOrderEnum; import org.nl.wms.ext.acs.service.WmsToAcsService; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -64,6 +65,11 @@ public class WmsToAcsController { return new ResponseEntity<>(wmsToAcsService.order(arr), HttpStatus.OK); } + /** + * @see org.nl.common.enums.WorkerOrderEnum + * @param whereJson + * @return + */ @PostMapping("/orderStatusUpdate") @Log("WMS向acs发送强制完成") @ApiOperation("WMS强制完成向acs发送强制完成") diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java index a6c3355b..1a4f17da 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java @@ -40,7 +40,7 @@ public interface AcsToWmsService { * @param string * @return */ - Map orderFinish(String string); + Map orderStatus(JSONObject param); /** * ACS给WMS反馈设备状态状态 diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index b2c60897..6f26c63c 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -70,15 +70,15 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { JSONArray errArr = new JSONArray(); for (int i = 0; i < array.size(); i++) { JSONObject row = array.getJSONObject(i); - String task_uuid = row.getString("task_uuid"); - TaskDto taskDto = taskService.findById(task_uuid); + String task_id = row.getString("task_id"); + TaskDto taskDto = taskService.findById(task_id); String processing_class = taskDto.getHandle_class(); //1:执行中,2:完成 ,3:acs取消 String acs_task_status = row.getString("task_status"); String message = ""; String status = ""; if ("1".equals(acs_task_status)) { - status = AcsTaskEnum.STATUS_RUNDING.getCode(); + status = AcsTaskEnum.STATUS_START.getCode(); } if ("2".equals(acs_task_status)) { status = AcsTaskEnum.STATUS_FINISH.getCode(); @@ -101,7 +101,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { log.info("任务状态更新失败:{}", message); JSONObject json = new JSONObject(); - json.put("task_uuid", task_uuid); + json.put("task_id", task_id); json.put("message", message); errArr.add(json); @@ -111,7 +111,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { log.info("任务状态更新失败:{}", message); JSONObject json = new JSONObject(); - json.put("task_uuid", task_uuid); + json.put("task_id", task_id); json.put("message", message); errArr.add(json); @@ -132,14 +132,13 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { } @Override - public Map orderFinish(String string) { + public Map orderStatus(JSONObject orderJson) { JSONObject result = new JSONObject(); try { - JSONObject orderJson = JSONObject.parseObject(string); - String ext_order_id = orderJson.getString("ext_order_id"); + String ext_order_id = orderJson.getString("workorder_id"); // JSONArray array = JSONArray.parseArray(string); - - WQLObject wo = WQLObject.getWQLObject("MPS_BD_ProduceShiftOrder"); + //TODO: 表未维护 + WQLObject wo = WQLObject.getWQLObject("PDM_produce_workOrder"); JSONObject map = new JSONObject(); map.put("produceorder_id", ext_order_id); map.put("order_status", "04"); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AgvInstService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AgvInstService.java index de6dc5e6..88fd3f8a 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AgvInstService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AgvInstService.java @@ -44,7 +44,7 @@ public class AgvInstService { WQLObject basePoint = WQLObject.getWQLObject("sch_base_point"); WQLObject cacheLineSearch = WQLObject.getWQLObject("SCH_cacheLine_region_relation"); try { - String workorder = param.getString("workorder_code"); + String workorder = param.getString("workorder_code");// String point_code = param.getString("point_code"); String quantity = param.getString("quantity"); //1.PDM_produce_workOrder diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java index 47812660..9e44225d 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java @@ -22,12 +22,15 @@ public class WmsToAcsServiceImpl implements WmsToAcsService { for (Object o : arr) { JSONObject task = (JSONObject) o; JSONObject param = new JSONObject(MapOf.of("task_id", task.getString("task_id") - , "task_type", task.getString("task_type") + , "acs_task_type", task.getString("acs_task_type") , "start_point_code", task.getString("point_code1") , "next_point_code", task.getString("point_code2") , "return_point_code", task.getString("point_code3") , "task_group_id", task.getString("task_group_id") + , "priority", task.getString("priority") + , "task_group_id", task.getString("is_send") , "vehicle_code", task.getString("vehicle_code") + , "agv_system_type", task.getString("agv_system_type") )); form.add(param); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/pdm.xls b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/pdm.xls index 1c827962..17b8d79f 100644 Binary files a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/pdm.xls and b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/pdm.xls differ diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/AbstractAcsTask.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/AbstractAcsTask.java index cbef8cfb..499a3f97 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/AbstractAcsTask.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/AbstractAcsTask.java @@ -16,6 +16,8 @@ import lombok.extern.slf4j.Slf4j; */ @Slf4j public abstract class AbstractAcsTask { + + private static final String OPT_NAME = "acs回调#"; public abstract void updateTaskStatus(JSONObject taskObj,String status); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/tasks/SpeMachineryTask.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/tasks/SpeMachineryTask.java index aa1a95a7..871e6dbd 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/tasks/SpeMachineryTask.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/tasks/SpeMachineryTask.java @@ -14,7 +14,7 @@ import org.nl.modules.system.util.CodeUtil; import org.nl.common.utils.SecurityUtils; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.wms.sch.manage.AbstractAcsTask; -import org.springframework.http.HttpStatus; +import org.springframework.stereotype.Service; import java.util.HashMap; @@ -24,6 +24,7 @@ import java.util.Map; * 专机任务 */ @Slf4j +@Service public class SpeMachineryTask extends AbstractAcsTask { private final Map SpeHandles= new HashMap<>(); private static String OPT_NAME = "ACS回调# "; @@ -116,8 +117,6 @@ public class SpeMachineryTask extends AbstractAcsTask { case STATUS_START: taskTable.update(MapOf.of("task_status",StatusEnum.TASK_RUNNING.getCode(),"update_name","acs","update_time", DateUtil.now()),"task_id = '"+task.getString("task_id")+"'"); break; - case STATUS_RUNDING: - break; case STATUS_FINISH: taskTable.update(MapOf.of("task_status",StatusEnum.TASK_FINISH.getCode(),"update_name","acs","update_time", DateUtil.now()),"task_id = '"+task.getString("task_id")+"'"); //到专机:更新设备上料位物料数量 @@ -146,8 +145,6 @@ public class SpeMachineryTask extends AbstractAcsTask { switch (status){ case STATUS_START: taskTable.update(MapOf.of("task_status",StatusEnum.TASK_RUNNING.getCode(),"update_name","acs","update_time", DateUtil.now()),"task_id = '"+task.getString("task_id")+"'"); - break; - case STATUS_RUNDING: cacheVehTable.delete("vehicle_code = '" + outboxtxm + "'"); break; case STATUS_FINISH: diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/tasks/TaskScheduleService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/tasks/TaskScheduleService.java index 4015bef4..498b087a 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/tasks/TaskScheduleService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/tasks/TaskScheduleService.java @@ -38,13 +38,14 @@ public class TaskScheduleService { private ReentrantLock lock = new ReentrantLock(); private final WmsToAcsService wmsToAcsService; - @Scheduled(cron = "0/10 * * * * ?") + @Scheduled(cron = "0/30 * * * * ?") public void taskPublish(){ boolean islock = lock.tryLock(); try { if (islock){ WQLObject taskTable = WQLObject.getWQLObject("sch_base_task"); - JSONArray all = taskTable.query("task_type < '" + StatusEnum.TASK_PUBLISH + "'").getResultJSONArray(0); + //查询所有自动下发的任务 + JSONArray all = taskTable.query("is_auto_issue = '1' and task_type < '" + StatusEnum.TASK_PUBLISH + "'").getResultJSONArray(0); //分区域:不同区域调用不同acs接口 log.info("TaskScheduleService#taskPublish all_task:{}",all.size()); Map> areaCollent = all.stream().collect(Collectors.groupingBy(o -> ((JSONObject) o).getString("product_area"))); @@ -65,8 +66,10 @@ public class TaskScheduleService { String taskGroupId = IdUtil.getStringId(); JSONObject task = (JSONObject) o; String taskId = task.getString("task_id"); + task.put("is_send","1"); if (taskGroupMap.get(taskId) != null){ task.put("task_group_id",taskGroupMap.get(taskId)); + task.put("is_send","0"); continue; } String start = task.getString("point_code1"); @@ -96,10 +99,15 @@ public class TaskScheduleService { String waitingTaskId = waitingTask.stream().map(a -> ((JSONObject) a).getString("task_id")).collect(Collectors.joining(",")); String MergeId = Merge.stream().map(a -> ((JSONObject) a).getString("task_id")).collect(Collectors.joining(",")); log.info("TaskScheduleService#taskPublish notMerge:{},waitingTask:{},merge:{}",notMergeID,waitingTaskId,MergeId); - //下发任务:一次暂时下发十条:同一个区域任务不超过10条 - JSONArray form = new JSONArray(); Merge.addAll(notMerge); JSONArray jsonArray = new JSONArray(Merge); + //批量更新任务状态,is_send,task_group_id + for (Object task : Merge) { + JSONObject task1 = (JSONObject) task; + task1.put("task_type",StatusEnum.TASK_PUBLISH.getCode()); + taskTable.update(task1,"task_id = '"+task1.getString("task_id")+"'"); + } + //缓存线任务待确认是否生成多个 wmsToAcsService.issueTaskToAcs(jsonArray); } } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/wql/sch.xls b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/wql/sch.xls index 7c7bbc47..a05561a4 100644 Binary files a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/wql/sch.xls and b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/wql/sch.xls differ diff --git a/mes/qd/src/views/wms/mps/produce/index.vue b/mes/qd/src/views/wms/mps/produce/index.vue index c2eac439..2ebe10db 100644 --- a/mes/qd/src/views/wms/mps/produce/index.vue +++ b/mes/qd/src/views/wms/mps/produce/index.vue @@ -752,10 +752,8 @@ export default { var orders = [] console.log(rows) rows.forEach((item) => { - debugger orders.push(item.workprocedure_id) }) - debugger crudProduceshiftorder.submits(orders).then(res => { this.crud.notify('下发成功', CRUD.NOTIFICATION_TYPE.SUCCESS) this.crud.toQuery()