From 8da0e84f0021e4d818c7a93ecb4001e7fd05e5ad Mon Sep 17 00:00:00 2001 From: zhangzhiqiang Date: Wed, 23 Aug 2023 21:56:16 +0800 Subject: [PATCH] =?UTF-8?q?rev:=E5=88=BB=E5=AD=97=E4=B8=8A=E6=96=99?= =?UTF-8?q?=E6=96=B9=E6=A1=88=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../acs/service/impl/AcsToWmsServiceImpl.java | 5 +- .../dao/mapper/MdMeMaterialbaseMapper.xml | 2 +- .../pda/controller/TmpKZController.java | 7 ++ .../Engrave/EngraveTranSportTask.java | 4 +- .../service/extendtask/PointListener.java | 1 + .../extendtask/wash/WashCallEmptyTask.java | 78 ++++++++++--------- .../pda/controller/PdaStBcpInController.java | 9 +-- .../pda/service/PdaStBcpInService.java | 4 +- .../service/impl/PdaStBcpInServiceImpl.java | 23 +++--- .../master/storagevehicleinfo/index.vue | 2 +- 10 files changed, 75 insertions(+), 60 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/acs/service/impl/AcsToWmsServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/acs/service/impl/AcsToWmsServiceImpl.java index 124884d4..db4635ae 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/acs/service/impl/AcsToWmsServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/acs/service/impl/AcsToWmsServiceImpl.java @@ -78,7 +78,10 @@ public class AcsToWmsServiceImpl implements AcsToWmsService{ try { RedissonUtils.lock(()->{ //业务处理 - Task_Collent.get(taskEnum).createTask(param); + AbstractAcsTask abstractAcsTask = Task_Collent.get(taskEnum); + if (abstractAcsTask!=null){ + abstractAcsTask.createTask(param); + } },param.getString("type"),5); }catch (Exception ex){ log.error("acs申请任务失败:ex:{}",ex.getMessage()); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/service/material/dao/mapper/MdMeMaterialbaseMapper.xml b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/service/material/dao/mapper/MdMeMaterialbaseMapper.xml index b5a089dc..264b1a2c 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/service/material/dao/mapper/MdMeMaterialbaseMapper.xml +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/service/material/dao/mapper/MdMeMaterialbaseMapper.xml @@ -12,7 +12,7 @@ LEFT JOIN md_pb_measureunit unit ON unit.measure_unit_id = mater.base_unit_id LEFT JOIN md_pb_classstandard class ON class.class_id = mater.material_type_id WHERE - 1 = 1 + 1 = 1 and mater.material_type_id = '1528555445302726656' AND (mater.material_code LIKE '%${query.material_code}%' or mater.material_name LIKE '%${query.material_code}%') diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/pda/controller/TmpKZController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/pda/controller/TmpKZController.java index a474dd88..fffea509 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/pda/controller/TmpKZController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/pda/controller/TmpKZController.java @@ -33,6 +33,7 @@ import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtSectattr; import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtStructattr; import org.nl.wms.scheduler_manage.service.extendtask.Engrave.EngraveCallService; import org.nl.wms.scheduler_manage.service.extendtask.Engrave.EngraveSendEmpTask; +import org.nl.wms.scheduler_manage.service.extendtask.manage.TaskStatusEnum; import org.nl.wms.scheduler_manage.service.extendtask.plotter.PlotterCallEmptyTask; import org.nl.wms.scheduler_manage.service.point.ISchBasePointService; import org.nl.wms.scheduler_manage.service.point.dao.SchBasePoint; @@ -260,7 +261,13 @@ public class TmpKZController { JSONObject result = wmsToAcsService.request(jo, "api/wms/engravingIn"); if (!result.getString("status").equals("200")){ log.error("刻字上料输送线任务下发异常:{}",result.getString("message")); + baseTask.setRemark(result.getString("message")); + baseTask.setTask_status(TaskStatusEnum.SURE_START_ERROR.getCode()); + taskService.updateById(baseTask); throw new BadRequestException(result.getString("message")); + }else { + baseTask.setTask_status(TaskStatusEnum.ISSUE.getCode()); + taskService.updateById(baseTask); } }else { taskService.operation(MapOf.of("method_name","immediateNotifyAcs","task_id",param.getString("task_id"))); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/extendtask/Engrave/EngraveTranSportTask.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/extendtask/Engrave/EngraveTranSportTask.java index 51fad12d..d28b4b99 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/extendtask/Engrave/EngraveTranSportTask.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/extendtask/Engrave/EngraveTranSportTask.java @@ -102,7 +102,7 @@ public class EngraveTranSportTask extends AbstractAcsTask { jo.put("to_sort_array", Arrays.stream(to_sort_array).collect(Collectors.joining(","))); jo.put("to_devices_array",Arrays.stream(to_devices_array).collect(Collectors.joining(","))); jo.put("to_weight_array", Arrays.stream(to_weight_array).collect(Collectors.joining(","))); - wms.asyncRequest(jo, "api/wms/engravingIn"); +// wms.asyncRequest(jo, "api/wms/engravingIn"); taskService.save(baseTask); return baseTask.getTask_id(); }catch (Exception ex){ @@ -130,7 +130,7 @@ public class EngraveTranSportTask extends AbstractAcsTask { baseTask.setTask_code(CodeUtil.getNewCode("TASK_CODE")); baseTask.setTask_name( AcsTaskEnum.TASK_Engrave_CALL.getDesc()); baseTask.setTask_type( AcsTaskEnum.TASK_Engrave_CALL.getCode()); - baseTask.setTask_status(StatusEnum.TASK_PUBLISH.getCode()); + baseTask.setTask_status(StatusEnum.TASK_CREATE.getCode()); baseTask.setPoint_code1("A1_KZ_SL"); baseTask.setPoint_code3(taskMap.entrySet().stream().map(a->a.getKey()).collect(Collectors.joining(","))); baseTask.setMaterial_qty(new BigDecimal(canuse_qty)); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/extendtask/PointListener.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/extendtask/PointListener.java index a0ef21ce..5c4281fc 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/extendtask/PointListener.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/extendtask/PointListener.java @@ -47,6 +47,7 @@ public class PointListener extends AbstraceListener { task.put("material_qty", extParam.get("material_qty")); task.put("table_fk_id", extParam.get("table_fk_id")); task.put("qtyArr", JSON.toJSONString(extParam.get("qtyArr"))); + task.put("task_step",1); } task.put("is_delete", StatusEnum.LOCK_OFF.getCode()); task.put("create_id", SecurityUtils.getCurrentUserId()); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/extendtask/wash/WashCallEmptyTask.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/extendtask/wash/WashCallEmptyTask.java index eee1c6c2..88e51064 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/extendtask/wash/WashCallEmptyTask.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/extendtask/wash/WashCallEmptyTask.java @@ -104,45 +104,47 @@ public class WashCallEmptyTask extends AbstractAcsTask { @Override @Transactional(rollbackFor = Exception.class) public String createTask(JSONObject param) { - - List list = taskService.list(new QueryWrapper() - .lt("task_status", StatusEnum.TASK_FINISH.getCode()) - .eq("point_code3", param.getString("device_code"))); - if (!CollectionUtils.isEmpty(list)){ - throw new BadRequestException(String.format("设备%s存在未完成任务"+list.stream().map(SchBaseTask::getTask_id).collect(Collectors.toList()).toString(), param.getString("device_code"))); - } -// 查找任务状态 - JSONObject task = packageTask(param.getString("device_code")); - Param one = paramService.getOne(new QueryWrapper().eq("code", "wash_priority")); - if (one!=null){ - task.put("priority",one.getValue()); - } - SchBaseTask schBaseTask = task.toJavaObject(SchBaseTask.class); - taskService.save(schBaseTask); - // 找终点 - try { - pointConfirm(task); - JSONArray data = new JSONArray(); - data.add(task); - // 下发 - wms.issueTaskToAcs(data); - } catch (Exception ex) { - if (StringUtils.isNotEmpty(task.getString("point_code1"))){ - structattrService.update( - new UpdateWrapper().lambda() - .set(StIvtStructattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定")) - .set(StIvtStructattr::getTask_code, "") - .eq(StIvtStructattr::getStruct_code, task.getString("point_code1")) - ); + RedissonUtils.lock(()->{ + List list = taskService.list(new QueryWrapper() + .lt("task_status", StatusEnum.TASK_FINISH.getCode()) + .eq("point_code3", param.getString("device_code"))); + if (!CollectionUtils.isEmpty(list)){ + throw new BadRequestException(String.format("设备%s存在未完成任务"+list.stream().map(SchBaseTask::getTask_id).collect(Collectors.toList()).toString(), param.getString("device_code"))); } - log.error("清洗空框请求异常,error:{}",ex); - schBaseTask.setRemark(ex.getMessage()); - schBaseTask.setUpdate_time(new Date()); - schBaseTask.setUpdate_name("acs"); - schBaseTask.setTask_status(StatusEnum.TASK_START_ERROR.getCode()); - taskService.updateById(schBaseTask); - } - return task.getString("task_id"); +// 查找任务状态 + JSONObject task = packageTask(param.getString("device_code")); + Param one = paramService.getOne(new QueryWrapper().eq("code", "wash_priority")); + if (one!=null){ + task.put("priority",one.getValue()); + } + SchBaseTask schBaseTask = task.toJavaObject(SchBaseTask.class); + taskService.save(schBaseTask); + // 找终点 + try { + pointConfirm(task); + JSONArray data = new JSONArray(); + data.add(task); + // 下发 + wms.issueTaskToAcs(data); + } catch (Exception ex) { + if (StringUtils.isNotEmpty(task.getString("point_code1"))){ + structattrService.update( + new UpdateWrapper().lambda() + .set(StIvtStructattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定")) + .set(StIvtStructattr::getTask_code, "") + .eq(StIvtStructattr::getStruct_code, task.getString("point_code1")) + ); + } + log.error("清洗空框请求异常,error:{}",ex); + schBaseTask.setRemark(ex.getMessage()); + schBaseTask.setUpdate_time(new Date()); + schBaseTask.setUpdate_name("acs"); + schBaseTask.setTask_status(StatusEnum.TASK_START_ERROR.getCode()); + taskService.updateById(schBaseTask); + } + },AcsTaskEnum.REQUEST_WARP_SEND_EMP.getCode(),2); + + return null; } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/pda/controller/PdaStBcpInController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/pda/controller/PdaStBcpInController.java index a828dfae..ea09dc85 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/pda/controller/PdaStBcpInController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/pda/controller/PdaStBcpInController.java @@ -2,12 +2,10 @@ package org.nl.wms.storage_manage.pda.controller; import com.alibaba.fastjson.JSONObject; -import io.swagger.annotations.ApiOperation; import org.nl.common.TableDataInfo; import org.nl.common.anno.Log; import org.nl.common.domain.query.PageQuery; import org.nl.wms.storage_manage.pda.service.PdaStBcpInService; -import org.nl.wms.storage_manage.pda.service.dto.PdaQuery; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -62,8 +60,8 @@ public class PdaStBcpInController { @PostMapping("/callVehicle") @Log("呼叫空载具") //("呼叫空载具") - public ResponseEntity callVehicle() { - pdaStBcpInService.callVehicle(); + public ResponseEntity callVehicle(JSONObject param) { + pdaStBcpInService.callVehicle(param.getString("point")); return new ResponseEntity<>(TableDataInfo.build(), HttpStatus.OK); } @@ -71,7 +69,8 @@ public class PdaStBcpInController { @Log("确认入库") //("确认入库") public ResponseEntity createIn(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(pdaStBcpInService.createIn(whereJson), HttpStatus.OK); + pdaStBcpInService.createIn(whereJson); + return new ResponseEntity<>(TableDataInfo.build(), HttpStatus.OK); } @PostMapping("/getAll") diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/pda/service/PdaStBcpInService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/pda/service/PdaStBcpInService.java index 53a6254e..d5494364 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/pda/service/PdaStBcpInService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/pda/service/PdaStBcpInService.java @@ -2,7 +2,6 @@ package org.nl.wms.storage_manage.pda.service; import com.alibaba.fastjson.JSONObject; import org.nl.common.domain.query.PageQuery; -import org.nl.wms.storage_manage.pda.service.dto.PdaQuery; /** *

@@ -42,8 +41,9 @@ public interface PdaStBcpInService { /** * 呼叫空载具 * @return JSONObject / + * @param pointCode3 */ - JSONObject callVehicle(); + JSONObject callVehicle(String pointCode3); /** * 确认入库 diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/pda/service/impl/PdaStBcpInServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/pda/service/impl/PdaStBcpInServiceImpl.java index b995ffa9..6c5a9c53 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/pda/service/impl/PdaStBcpInServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/pda/service/impl/PdaStBcpInServiceImpl.java @@ -9,6 +9,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import org.apache.commons.lang3.StringUtils; import org.nl.common.domain.query.PageQuery; import org.nl.common.enums.AcsTaskEnum; import org.nl.common.publish.BussEventMulticaster; @@ -125,7 +126,7 @@ public class PdaStBcpInServiceImpl implements PdaStBcpInService { if (ObjectUtil.isEmpty(whereJson1.getString("material_code"))) { List list1 = iMdMeMaterialbaseService.list( new QueryWrapper().lambda() - .in(MdMeMaterialbase::getMaterial_type_id, childIdStr) + .eq(MdMeMaterialbase::getMaterial_type_id, "1528555445302726656") ); list = list1.subList(0, Math.min(list1.size(), size)); } else { @@ -155,7 +156,10 @@ public class PdaStBcpInServiceImpl implements PdaStBcpInService { @Override @Transactional - public JSONObject callVehicle() { + public JSONObject callVehicle(String pointCode3) { + if (StringUtils.isEmpty(pointCode3)){ + throw new BadRequestException("请求参数不能为空"); + } JSONObject result = new JSONObject(); result.put("message", "下发失败"); RedissonUtils.lock(() -> { @@ -165,23 +169,23 @@ public class PdaStBcpInServiceImpl implements PdaStBcpInService { new QueryWrapper().lambda() .eq(SchBaseTask::getIs_delete, false) .lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()) - .and(qr -> qr.eq(SchBaseTask::getPoint_code1, "A1_CPQXJ_01_X") + .and(qr -> qr.eq(SchBaseTask::getPoint_code1, pointCode3) .or() - .eq(SchBaseTask::getPoint_code3, "A1_CPQXJ_01_X") + .eq(SchBaseTask::getPoint_code3, pointCode3) ) ); - if (ObjectUtil.isNotEmpty(taskList)) { - throw new BadRequestException("清洗下料有正在执行中的任务,请稍后在尝试!"+taskList.stream().map(SchBaseTask::getTask_code).collect(Collectors.joining(","))); + throw new BadRequestException("半成品手动入库位存在正在执行的任务!"+taskList.stream().map(SchBaseTask::getTask_code).collect(Collectors.joining(","))); } - // 3.找一个空载具 StIvtStructattr attrDao = structattrService.getOne( new QueryWrapper().lambda() .eq(StIvtStructattr::getIs_emptyvehicle,IOSEnum.IS_USED.code("是")) .eq(StIvtStructattr::getSect_code, PDAEnum.SECT_CODE.code("半成品库区")) .eq(StIvtStructattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定")) - .eq(StIvtStructattr::getIs_used,true),false + .eq(StIvtStructattr::getIs_used,true) + .orderByDesc(StIvtStructattr::getXqty) + .orderByAsc(StIvtStructattr::getZqty),false ); if (ObjectUtil.isEmpty(attrDao)) throw new BadRequestException("未找到空载具!"); @@ -192,7 +196,7 @@ public class PdaStBcpInServiceImpl implements PdaStBcpInService { .acs_task_type("7") .task_group_id(IdUtil.getStringId()) .point_code1(attrDao.getStruct_code()) - .point_code3("A1_CPQXJ_01_X") + .point_code3(pointCode3) .vehicle_code(attrDao.getStoragevehicle_code()) .product_area("A1") // 暂时写死 .build(); @@ -202,7 +206,6 @@ public class PdaStBcpInServiceImpl implements PdaStBcpInService { attrDao.setLock_type(IOSEnum.LOCK_TYPE.code("其他锁")); structattrService.updateById(attrDao); - // 6.下发任务 String task_id = iSchBaseTaskService.getOne( new QueryWrapper().lambda() diff --git a/mes/qd/src/views/wms/masterdata_manage/master/storagevehicleinfo/index.vue b/mes/qd/src/views/wms/masterdata_manage/master/storagevehicleinfo/index.vue index 90938a51..8d6a131f 100644 --- a/mes/qd/src/views/wms/masterdata_manage/master/storagevehicleinfo/index.vue +++ b/mes/qd/src/views/wms/masterdata_manage/master/storagevehicleinfo/index.vue @@ -115,7 +115,7 @@ - +