From a1a820d5223b9a59e91769ccf384a523c92b8f08 Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Tue, 5 Aug 2025 10:47:14 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=83=A8=E5=88=86=E6=94=B9=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SchBasePointController.java | 5 ++ .../service/ISchBasePointService.java | 2 + .../service/ISchBaseTaskconfigService.java | 2 +- .../service/impl/SchBasePointServiceImpl.java | 15 ++-- .../impl/SchBaseTaskconfigServiceImpl.java | 6 ++ .../sch_manage/service/util/AcsTaskDto.java | 7 ++ .../service/util/tasks/jb/JbBackAgvTask.java | 68 +++++++++++++++++-- .../service/util/tasks/jb/JbDownAgvTask.java | 14 +++- .../service/util/tasks/jb/JbUpAgvTask.java | 22 +++++- .../system_manage/enums/SysParamConstant.java | 2 +- .../service/impl/InBillServiceImpl.java | 2 + .../service/impl/OutBillServiceImpl.java | 3 + .../src/views/wms/sch/point/schBasePoint.js | 9 ++- .../src/views/wms/st/inbill/DivDialog.vue | 10 +-- .../src/views/wms/st/outbill/DivDialog.vue | 11 ++- 15 files changed, 149 insertions(+), 29 deletions(-) diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/controller/SchBasePointController.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/controller/SchBasePointController.java index 6bc3bd1..e4b3bb7 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/controller/SchBasePointController.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/controller/SchBasePointController.java @@ -76,6 +76,11 @@ public class SchBasePointController { public ResponseEntity getPointList(@RequestBody(required = false) SchBasePoint region) { return new ResponseEntity<>(schBasePointService.getPointList(region), HttpStatus.OK); } + @PostMapping("/getPointsByCode") + @Log("获取区域下拉框") + public ResponseEntity getPointsByCode(@RequestBody(required = false) String region) { + return new ResponseEntity<>(schBasePointService.getPointsByCode(region), HttpStatus.OK); + } @PostMapping("/getPointList2") @Log("获取区域下拉框") public ResponseEntity getPointList2(@RequestBody(required = false) SchBasePoint region) { diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/ISchBasePointService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/ISchBasePointService.java index 9c807f9..7c5917d 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/ISchBasePointService.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/ISchBasePointService.java @@ -133,4 +133,6 @@ public interface ISchBasePointService extends IService { List getCanUseCFGJs(SchBasePoint parentPoint, String pointStatus); List getPointList2(SchBasePoint region); + + List getPointsByCode(String regions); } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/ISchBaseTaskconfigService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/ISchBaseTaskconfigService.java index 003659e..65e5a9f 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/ISchBaseTaskconfigService.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/ISchBaseTaskconfigService.java @@ -54,5 +54,5 @@ public interface ISchBaseTaskconfigService extends IService { List getTaskConfigList(); - + SchBaseTaskconfig getTaskByConfigCode(String code); } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/impl/SchBasePointServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/impl/SchBasePointServiceImpl.java index b9aceec..d2bf148 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/impl/SchBasePointServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/impl/SchBasePointServiceImpl.java @@ -185,10 +185,7 @@ public class SchBasePointServiceImpl extends ServiceImpl() - .eq(SchBasePoint::getRegion_code, region.getRegion_code()) - //点位类型,根据传入的值是否为空增加判断 - .eq(StringUtils.isNotBlank(region.getPoint_type()), SchBasePoint::getPoint_type, region.getPoint_type()) - .eq(SchBasePoint::getIs_has_workder, true)); + .eq(SchBasePoint::getRegion_code, region.getRegion_code())); } @Override @@ -332,4 +329,14 @@ public class SchBasePointServiceImpl extends ServiceImpl getPointsByCode(String regions) { + if (ObjectUtil.isEmpty(regions)) { + return this.list(); + } + List collect = Arrays.stream(regions.split(",")).collect(Collectors.toList()); + return pointMapper.selectList(new LambdaQueryWrapper() + .in(SchBasePoint::getRegion_code, collect)); + } + } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/impl/SchBaseTaskconfigServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/impl/SchBaseTaskconfigServiceImpl.java index 34a32ee..59f1099 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/impl/SchBaseTaskconfigServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/impl/SchBaseTaskconfigServiceImpl.java @@ -138,4 +138,10 @@ public class SchBaseTaskconfigServiceImpl extends ServiceImpl() + .eq(SchBaseTaskconfig::getConfig_code, code)); + } + } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/AcsTaskDto.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/AcsTaskDto.java index 652b419..0cb293e 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/AcsTaskDto.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/AcsTaskDto.java @@ -2,6 +2,7 @@ package org.nl.wms.sch_manage.service.util; import lombok.Data; +import java.math.BigDecimal; import java.util.Map; /** @@ -124,4 +125,10 @@ public class AcsTaskDto { * 扩展属性 */ Map params; + + + private String task_group_id; + + + private BigDecimal task_group_seq; } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/jb/JbBackAgvTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/jb/JbBackAgvTask.java index 38e3db7..2311ec4 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/jb/JbBackAgvTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/jb/JbBackAgvTask.java @@ -3,15 +3,22 @@ package org.nl.wms.sch_manage.service.util.tasks.jb; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import lombok.extern.slf4j.Slf4j; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.IdUtil; import org.nl.common.utils.SecurityUtils; import org.nl.wms.sch_manage.enums.TaskStatus; import org.nl.wms.sch_manage.service.ISchBaseTaskService; +import org.nl.wms.sch_manage.service.ISchBaseTaskconfigService; import org.nl.wms.sch_manage.service.dao.SchBaseTask; +import org.nl.wms.sch_manage.service.dao.SchBaseTaskconfig; import org.nl.wms.sch_manage.service.util.AbstractTask; import org.nl.wms.sch_manage.service.util.AcsTaskDto; +import org.nl.wms.warehouse_manage.enums.IOSEnum; +import org.nl.wms.warehouse_manage.inAndOut.service.IInBillService; +import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDis; +import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvDisMapper; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -26,8 +33,22 @@ import javax.annotation.Resource; public class JbBackAgvTask extends AbstractTask { @Resource private ISchBaseTaskService taskService; + @Resource + private ISchBaseTaskconfigService taskconfigService; + @Resource + private IInBillService inBillService; + @Resource + private IOStorInvDisMapper ioStorInvDisMapper; @Override public String create(JSONObject json) { + // 获取任务配置的优先级 + String priority= "1"; + SchBaseTaskconfig taskconfig = taskconfigService.getTaskByConfigCode(json.getString("task_type")); + if (ObjectUtil.isNotEmpty(json.getString("Priority"))) { + priority = json.getString("Priority"); + } else if (ObjectUtil.isNotEmpty(taskconfig)){ + priority = taskconfig.getPriority(); + } SchBaseTask task = new SchBaseTask(); task.setTask_id(IdUtil.getStringId()); task.setTask_code(json.getString("TaskCode")); @@ -41,7 +62,7 @@ public class JbBackAgvTask extends AbstractTask { task.setVehicle_code2(json.getString("vehicle_code2")); task.setGroup_id(json.getString("group_id")); task.setRequest_param(json.toString()); - task.setPriority(json.getString("Priority")); + task.setPriority(priority); task.setCreate_id(SecurityUtils.getCurrentUserId()); task.setCreate_name(SecurityUtils.getCurrentNickName()); task.setCreate_time(DateUtil.now()); @@ -51,7 +72,23 @@ public class JbBackAgvTask extends AbstractTask { @Override public AcsTaskDto sendAcsParam(String taskId) { - return null; + SchBaseTask taskDao = taskService.getById(taskId); + SchBaseTaskconfig taskconfig = taskconfigService.getTaskByConfigCode(taskDao.getConfig_code()); + + // 组织下发给acs的数据 + AcsTaskDto acsTaskDto = new AcsTaskDto(); + acsTaskDto.setExt_task_uuid(taskDao.getTask_id()); + acsTaskDto.setTask_code(taskDao.getTask_code()); + acsTaskDto.setStart_device_code(taskDao.getPoint_code1()); + acsTaskDto.setNext_device_code(taskDao.getPoint_code2()); + acsTaskDto.setStart_device_code2(taskDao.getPoint_code3()); + acsTaskDto.setNext_device_code2(taskDao.getPoint_code4()); + acsTaskDto.setPriority(taskDao.getPriority()); + acsTaskDto.setAgv_system_type(taskconfig.getAcs_task_type()); + acsTaskDto.setTask_type(taskconfig.getTask_type()); + acsTaskDto.setTask_group_id(taskDao.getTask_group_id()); + acsTaskDto.setTask_group_seq(taskDao.getTask_group_seq()); + return acsTaskDto; } @Override @@ -87,10 +124,6 @@ public class JbBackAgvTask extends AbstractTask { this.finishTask(taskObj); } - private void finishTask(SchBaseTask taskObj) { - - } - @Override public void cancel(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); @@ -103,8 +136,29 @@ public class JbBackAgvTask extends AbstractTask { this.cancelTask(taskObj); } - private void cancelTask(SchBaseTask taskObj) { + private void finishTask(SchBaseTask taskObj) { + // 任务完成 + taskObj.setTask_status(TaskStatus.FINISHED.getCode()); + taskObj.setRemark("已完成"); + taskService.updateById(taskObj); + inBillService.taskFinish(taskObj); + } + private void cancelTask(SchBaseTask taskObj) { + // 取消任务 + taskService.update(new LambdaUpdateWrapper() + .set(SchBaseTask::getTask_status, TaskStatus.CANCELED.getCode()) + .set(SchBaseTask::getRemark, "已取消") + .eq(SchBaseTask::getTask_id, taskObj.getTask_id()) + ); + //分配表清除任务 + ioStorInvDisMapper.update(new IOStorInvDis(),new LambdaUpdateWrapper<>(IOStorInvDis.class) + .set(IOStorInvDis::getTask_id,null) + .set(IOStorInvDis::getPoint_code,null) + .set(IOStorInvDis::getIs_issued,0) + .set(IOStorInvDis::getWork_status, IOSEnum.INBILL_DIS_STATUS.code("未生成")) + .eq(IOStorInvDis::getTask_id,taskObj.getTask_id()) + ); } @Override diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/jb/JbDownAgvTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/jb/JbDownAgvTask.java index 03a3a59..7b753f8 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/jb/JbDownAgvTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/jb/JbDownAgvTask.java @@ -80,7 +80,19 @@ public class JbDownAgvTask extends AbstractTask { @Override public AcsTaskDto sendAcsParam(String taskId) { - return null; + SchBaseTask taskDao = taskService.getById(taskId); + + // 组织下发给acs的数据 + AcsTaskDto acsTaskDto = new AcsTaskDto(); + acsTaskDto.setExt_task_uuid(taskDao.getTask_id()); + acsTaskDto.setTask_code(taskDao.getTask_code()); + acsTaskDto.setStart_device_code(taskDao.getPoint_code1()); + acsTaskDto.setNext_device_code(taskDao.getPoint_code2()); + acsTaskDto.setStart_device_code2(taskDao.getPoint_code3()); + acsTaskDto.setNext_device_code2(taskDao.getPoint_code4()); + acsTaskDto.setPriority(taskDao.getPriority()); + acsTaskDto.setTask_type("1"); + return acsTaskDto; } @Override diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/jb/JbUpAgvTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/jb/JbUpAgvTask.java index 195f8ef..cf6587a 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/jb/JbUpAgvTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/jb/JbUpAgvTask.java @@ -14,8 +14,10 @@ import org.nl.wms.pm_manage.service.dao.PdmBdWorkorder; import org.nl.wms.sch_manage.enums.TaskStatus; import org.nl.wms.sch_manage.service.ISchBasePointService; import org.nl.wms.sch_manage.service.ISchBaseTaskService; +import org.nl.wms.sch_manage.service.ISchBaseTaskconfigService; import org.nl.wms.sch_manage.service.dao.SchBasePoint; import org.nl.wms.sch_manage.service.dao.SchBaseTask; +import org.nl.wms.sch_manage.service.dao.SchBaseTaskconfig; import org.nl.wms.sch_manage.service.util.AbstractTask; import org.nl.wms.sch_manage.service.util.AcsTaskDto; import org.nl.wms.warehouse_manage.enums.IOSEnum; @@ -50,6 +52,8 @@ public class JbUpAgvTask extends AbstractTask { private IMdPbGroupplateService groupplateService; @Resource private IStructattrService structattrService; + @Resource + private ISchBaseTaskconfigService taskconfigService; @Override public String create(JSONObject json) { @@ -76,7 +80,23 @@ public class JbUpAgvTask extends AbstractTask { @Override public AcsTaskDto sendAcsParam(String taskId) { - return null; + SchBaseTask taskDao = taskService.getById(taskId); + SchBaseTaskconfig taskconfig = taskconfigService.getTaskByConfigCode(taskDao.getConfig_code()); + + // 组织下发给acs的数据 + AcsTaskDto acsTaskDto = new AcsTaskDto(); + acsTaskDto.setExt_task_uuid(taskDao.getTask_id()); + acsTaskDto.setTask_code(taskDao.getTask_code()); + acsTaskDto.setStart_device_code(taskDao.getPoint_code1()); + acsTaskDto.setNext_device_code(taskDao.getPoint_code2()); + acsTaskDto.setStart_device_code2(taskDao.getPoint_code3()); + acsTaskDto.setNext_device_code2(taskDao.getPoint_code4()); + acsTaskDto.setPriority(taskDao.getPriority()); + acsTaskDto.setAgv_system_type(taskconfig.getAcs_task_type()); + acsTaskDto.setTask_type(taskconfig.getTask_type()); + acsTaskDto.setTask_group_id(taskDao.getTask_group_id()); + acsTaskDto.setTask_group_seq(taskDao.getTask_group_seq()); + return acsTaskDto; } @Override diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/enums/SysParamConstant.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/enums/SysParamConstant.java index 3c68c40..9576828 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/enums/SysParamConstant.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/enums/SysParamConstant.java @@ -21,12 +21,12 @@ public class SysParamConstant { * ACS系统IP */ public final static String ACS_URL = "acs_url"; - public final static String MES_URL = "mes_url"; /** * ERP系统IP */ public final static String ERP_URL = "erp_url"; + public final static String MES_URL = "mes_url"; } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/InBillServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/InBillServiceImpl.java index f3ebe88..34076f9 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/InBillServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/InBillServiceImpl.java @@ -769,6 +769,8 @@ public class InBillServiceImpl extends ServiceImpl i task.put("point_code2", emptyPoint.getPoint_code()); task.put("point_code3", fullPoint.getPoint_code()); task.put("point_code4", structCode); + task.put("vehicle_code", fullPoint.getVehicle_code()); + task.put("vehicle_code2", emptyPoint.getStoragevehicle_code()); jbBackAgvTask.create(task); } else if (StatusEnum.IOBILL_TYPE_IN.code("来料入库").equals(invObj.getBill_type())) { // 获取组盘信息 diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/OutBillServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/OutBillServiceImpl.java index 5c58dad..8d0944c 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/OutBillServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/OutBillServiceImpl.java @@ -980,6 +980,9 @@ public class OutBillServiceImpl extends ServiceImpl i if (ObjectUtil.isEmpty(inPoint) || ObjectUtil.isEmpty(outPoint)) { throw new BadRequestException("解包机输送线点位不存在或者存在任务!"); } + if (!"1".equals(inPoint.getPoint_status())) { + throw new BadRequestException("原料进对接位状态不为空位,请检查确认!"); + } JSONObject task_form = new JSONObject(); task_form.put("task_type", "JbUpAgvTask"); task_form.put("order_id", whereJson.getString("order_id")); diff --git a/lms/nladmin-ui/src/views/wms/sch/point/schBasePoint.js b/lms/nladmin-ui/src/views/wms/sch/point/schBasePoint.js index 45be7b8..48fff23 100644 --- a/lms/nladmin-ui/src/views/wms/sch/point/schBasePoint.js +++ b/lms/nladmin-ui/src/views/wms/sch/point/schBasePoint.js @@ -39,6 +39,13 @@ export function getPointList(data) { data }) } +export function getPointsByCode(data) { + return request({ + url: 'api/schBasePoint/getPointsByCode', + method: 'post', + data + }) +} export function getPointList2(data) { return request({ url: 'api/schBasePoint/getPointList2', @@ -55,4 +62,4 @@ export function changeLock(data) { }) } -export default { add, edit, del, changeUsed, getPointList, getPointList2, changeLock } +export default { add, edit, del, changeUsed, getPointList, getPointsByCode, getPointList2, changeLock } diff --git a/lms/nladmin-ui/src/views/wms/st/inbill/DivDialog.vue b/lms/nladmin-ui/src/views/wms/st/inbill/DivDialog.vue index 238ca2e..4d14c56 100644 --- a/lms/nladmin-ui/src/views/wms/st/inbill/DivDialog.vue +++ b/lms/nladmin-ui/src/views/wms/st/inbill/DivDialog.vue @@ -259,13 +259,9 @@ export default { this.sects = res.content }) - const area_type = 'YLXCQ' - - // 点位类型,因为卸货区的点位类型(出库区、入库区)会变动,因需要增加点位类型字段进行判断 - // 1-入库区,2-出库区 - const region_type = '1' - crudPoint.getPointList({ 'region_code': area_type, 'region_type': region_type }).then(res => { - this.pointlist = res + const area_type = 'RKQ,YLXCQ' + crudPoint.getPointsByCode(area_type).then(res => { + this.pointList = res }) }, toDelete(data) { diff --git a/lms/nladmin-ui/src/views/wms/st/outbill/DivDialog.vue b/lms/nladmin-ui/src/views/wms/st/outbill/DivDialog.vue index 8bd6118..c25c813 100644 --- a/lms/nladmin-ui/src/views/wms/st/outbill/DivDialog.vue +++ b/lms/nladmin-ui/src/views/wms/st/outbill/DivDialog.vue @@ -161,6 +161,7 @@ { this.sects = res.content }) - const area_type = 'YLXCQ' - // 点位类型,因为卸货区的点位类型(出库区、入库区)会变动,因需要增加点位类型字段进行判断 - // 1-入库区,2-出库区 - const region_type = '2' - crudPoint.getPointList({ 'region_code': area_type, 'region_type': region_type }).then(res => { - this.pointlist = res + + const area_type = 'CKQ,YLXCQ' + crudPoint.getPointsByCode(area_type).then(res => { + this.pointList = res }) }, close() {