From 529d697fe8d55998027dad36818ad62c8f0cd055 Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Fri, 25 Jul 2025 15:10:43 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=A7=A3=E5=8C=85=E4=B8=8A=E6=96=99/?= =?UTF-8?q?=E4=B8=8B=E6=96=99/=E5=B7=A5=E5=8D=95=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/StructattrServiceImpl.java | 6 +- .../decisioner/impl/diy/RawOutRuleHandle.java | 1 - .../service/impl/PdaJBServiceImpl.java | 178 +++++++----------- .../controller/SchBasePointController.java | 5 + .../service/ISchBasePointService.java | 2 + .../service/impl/SchBasePointServiceImpl.java | 10 + .../service/util/tasks/jb/JbDownAgvTask.java | 38 +++- .../service/util/tasks/jb/JbUpAgvTask.java | 52 ++--- .../service/impl/InBillServiceImpl.java | 6 +- .../service/impl/OutBillServiceImpl.java | 62 ++++-- .../src/views/wms/basedata/group/index.vue | 130 +++++++------ .../views/wms/basedata/structattr/index.vue | 42 ++--- .../views/wms/pm_manage/workerorder/index.vue | 87 ++++----- .../src/views/wms/sch/point/index.vue | 54 +++--- .../src/views/wms/sch/point/schBasePoint.js | 9 +- 15 files changed, 369 insertions(+), 313 deletions(-) diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/StructattrServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/StructattrServiceImpl.java index ad59146..d8d4fe4 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/StructattrServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/StructattrServiceImpl.java @@ -196,7 +196,7 @@ public class StructattrServiceImpl extends ServiceImpl() + .eq(IOStorInvDtl::getIostorinv_id, invId)); + param.put("row", dtl); + row.put("storagevehicle_code", outStructAttr.getStoragevehicle_code()); + row.put("pcsn", groupPlate.getPcsn()); + row.put("qty", groupPlate.getQty()); + row.put("qty_unit_name", groupPlate.getQty_unit_name()); + row.put("frozen_qty", groupPlate.getFrozen_qty()); + row.put("struct_id", outStructAttr.getStruct_id()); + row.put("struct_code", outStructAttr.getStruct_code()); + row.put("struct_name", outStructAttr.getStruct_name()); + row.put("sect_id", outStructAttr.getSect_id()); + row.put("sect_code", outStructAttr.getSect_code()); + row.put("sect_name", outStructAttr.getSect_name()); + row.put("material_code", groupPlate.getMaterial_code()); + row.put("material_name", groupPlate.getMaterial_name()); + row.put("edit", true); + outBillService.manualDiv(param); - // 1.3 仓位锁住 - JSONObject lock_map = new JSONObject(); - lock_map.put("struct_code", outStructAttr.getStruct_code()); - lock_map.put("inv_id", ioStorInv.getIostorinv_id()); - lock_map.put("inv_code", ioStorInv.getBill_code()); - lock_map.put("inv_type", ioStorInv.getBill_type()); - lock_map.put("lock_type", IOSEnum.LOCK_TYPE.code("出库锁")); - iStructattrService.updateStatusByCode("0", lock_map); - //更新组盘表冻结数量状态 - iMdPbGroupPlateService.update(new LambdaUpdateWrapper() - .set(GroupPlate::getFrozen_qty, "1") - .set(GroupPlate::getUpdate_time, now) - .set(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("出库")) - .eq(GroupPlate::getStoragevehicle_code, outStructAttr.getStoragevehicle_code()) - .eq(GroupPlate::getPcsn, groupPlate.getPcsn()) - .eq(GroupPlate::getMaterial_id, materialbase.getMaterial_id()) - .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("入库"))); - // 2、创建任务、下发 - // 获取工单对应的区域的出入点 - SchBasePoint inPoint = pointService.getNotTaskByRegionAndType(workorder.getRegion_code(), "3"); - SchBasePoint outPoint = pointService.getNotTaskByRegionAndType(workorder.getRegion_code(), "4"); - if (ObjectUtil.isEmpty(inPoint) || ObjectUtil.isEmpty(outPoint)) { - throw new BadRequestException("解包机输送线点位不存在或者存在任务!"); - } - JSONObject task_form = new JSONObject(); - task_form.put("task_type", "JbUpAgvTask"); - task_form.put("group_id", groupPlate.getGroup_id()); - task_form.put("order_id", workorder.getWorkorder_id()); - task_form.put("TaskCode", CodeUtil.getNewCode("TASK_CODE")); - task_form.put("point_code1", outStructAttr.getStruct_code()); - task_form.put("point_code2", inPoint.getPoint_code()); - task_form.put("vehicle_code", outStructAttr.getStoragevehicle_code()); - if ("2".equals(outPoint.getPoint_status())) { - // 四点任务 - task_form.put("point_code3", outPoint.getPoint_code()); - task_form.put("point_code4", outStructAttr.getStruct_code()); - task_form.put("vehicle_code2", outPoint.getVehicle_code()); - } - String task_id = jbUpAgvTask.create(task_form); - ioStorInvDis.setTask_id(task_id); - ioStorInvDis.setIs_issued(BaseDataEnum.IS_YES_NOT.code("是")); - ioStorInvDis.setPoint_code(outStructAttr.getStruct_code()); - ioStorInvDisMapper.insert(ioStorInvDis); + // 创建任务 + SchBasePoint outPoint = pointService.getOne(new LambdaQueryWrapper() + .eq(SchBasePoint::getParent_point_code, pointCode) + .eq(SchBasePoint::getRegion_code, "CKQ")); + JSONObject taskParam = new JSONObject(); + taskParam.put("order_id", workorderId); + taskParam.put("iostorinv_id", invId); + taskParam.put("point_code", outPoint.getPoint_code()); + outBillService.allSetPoint(taskParam); // 3、工单状态修改,设置实际开始时间 workorder.setWorkorder_status("3"); workorder.setRealproducestart_date(DateUtil.now()); workorderService.updateById(workorder); - - inPoint.setIng_task_code(task_id); - if ("2".equals(outPoint.getPoint_status())) { - outPoint.setIng_task_code(task_id); - } - pointService.updateBatchById(Arrays.asList(inPoint, outPoint)); return PdaResponse.requestOk(); } 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 a71de9e..a9e87e5 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 @@ -68,6 +68,11 @@ public class SchBasePointController { public ResponseEntity getPointList(@RequestBody(required = false) SchBasePoint region) { return new ResponseEntity<>(schBasePointService.getPointList(region), HttpStatus.OK); } + @PostMapping("/getPointList2") + @Log("获取区域下拉框") + public ResponseEntity getPointList2(@RequestBody(required = false) SchBasePoint region) { + return new ResponseEntity<>(schBasePointService.getPointList2(region), HttpStatus.OK); + } @Log("锁定与解锁") @PostMapping("/changeLock") 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 a7db2aa..6d27876 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 @@ -115,4 +115,6 @@ public interface ISchBasePointService extends IService { * @return */ List getCanUseCFGJs(SchBasePoint parentPoint, String pointStatus); + + List getPointList2(SchBasePoint region); } 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 71ed5f3..3b82caf 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 @@ -296,4 +296,14 @@ public class SchBasePointServiceImpl extends ServiceImpl getPointList2(SchBasePoint region) { + if (ObjectUtil.isEmpty(region)) { + return this.list(); + } + return pointMapper.selectList(new LambdaQueryWrapper() + .eq(SchBasePoint::getRegion_code, region.getRegion_code()) + .eq(SchBasePoint::getIs_has_workder, true)); + } + } 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 2f1ac5e..03a3a59 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 @@ -4,6 +4,7 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import lombok.extern.slf4j.Slf4j; import org.nl.common.exception.BadRequestException; @@ -11,6 +12,7 @@ import org.nl.common.utils.IdUtil; import org.nl.common.utils.SecurityUtils; 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.dao.SchBasePoint; import org.nl.wms.sch_manage.service.dao.SchBaseTask; @@ -41,6 +43,8 @@ public class JbDownAgvTask extends AbstractTask { private IInBillService inBillService; @Resource private IOStorInvDisMapper ioStorInvDisMapper; + @Resource + private ISchBasePointService pointService; @Override public String create(JSONObject param) { // 改造:多条任务 @@ -122,12 +126,36 @@ public class JbDownAgvTask extends AbstractTask { private void finishTask(SchBaseTask taskObj) { // 任务完成 - taskObj.setTask_status(TaskStatus.FINISHED.getCode()); - taskObj.setRemark("已完成"); - taskService.updateById(taskObj); - if ("3".equals(taskObj.getTask_group_seq().toString())) { - inBillService.taskFinish(taskObj); + taskObj.setRemark("等待最后一条任务完成"); + if ("1".equals(taskObj.getTask_group_seq().toString())) { + // 开盖设置成有盖 + SchBasePoint khgPoint = pointService.getById(taskObj.getPoint_code2()); + khgPoint.setPoint_status("2"); + khgPoint.setUpdate_time(DateUtil.now()); + pointService.updateById(khgPoint); } + if ("2".equals(taskObj.getTask_group_seq().toString())) { + SchBasePoint jbjPoint = pointService.getById(taskObj.getPoint_code1()); + jbjPoint.setPoint_status("2"); + jbjPoint.setVehicle_code(taskObj.getVehicle_code()); + jbjPoint.setUpdate_time(DateUtil.now()); + pointService.updateById(jbjPoint); + } + if ("3".equals(taskObj.getTask_group_seq().toString())) { + // 开盖设置成有盖 + SchBasePoint khgPoint = pointService.getById(taskObj.getPoint_code2()); + khgPoint.setPoint_status("2"); + khgPoint.setUpdate_time(DateUtil.now()); + pointService.updateById(khgPoint); + SchBaseTask task = new SchBaseTask(); + task.setTask_status(TaskStatus.FINISHED.getCode()); + task.setRemark("任务执行完毕"); + taskService.update(task, new LambdaQueryWrapper() + .eq(SchBaseTask::getTask_group_id, taskObj.getTask_group_id())); + inBillService.taskFinish(taskObj); + return; + } + taskService.updateById(taskObj); } @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 cbabfb6..195f8ef 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 @@ -7,7 +7,8 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.IdUtil; import org.nl.common.utils.SecurityUtils; -import org.nl.wms.basedata_manage.enums.BaseDataEnum; +import org.nl.wms.basedata_manage.service.IStructattrService; +import org.nl.wms.basedata_manage.service.dao.Structattr; import org.nl.wms.pm_manage.service.IPdmBdWorkorderService; import org.nl.wms.pm_manage.service.dao.PdmBdWorkorder; import org.nl.wms.sch_manage.enums.TaskStatus; @@ -23,13 +24,13 @@ import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDis; import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvDisMapper; import org.nl.wms.warehouse_manage.service.IMdPbGroupplateService; import org.nl.wms.warehouse_manage.service.dao.GroupPlate; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.annotation.Resource; /** * 解包上料AGV任务 + * * @Author: lyd * @Date: 2025/7/22 */ @@ -47,6 +48,9 @@ public class JbUpAgvTask extends AbstractTask { private ISchBasePointService pointService; @Resource private IMdPbGroupplateService groupplateService; + @Resource + private IStructattrService structattrService; + @Override public String create(JSONObject json) { SchBaseTask task = new SchBaseTask(); @@ -103,17 +107,17 @@ public class JbUpAgvTask extends AbstractTask { // 取消任务 taskService.update(new LambdaUpdateWrapper() .set(SchBaseTask::getTask_status, TaskStatus.CANCELED.getCode()) - .set(SchBaseTask::getRemark,"已取消") - .eq(SchBaseTask::getTask_id,taskObj.getTask_id()) + .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) + 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()) + .eq(IOStorInvDis::getTask_id, taskObj.getTask_id()) ); } @@ -126,16 +130,18 @@ public class JbUpAgvTask extends AbstractTask { // 工单完成 JSONObject requestParam = JSONObject.parseObject(taskObj.getRequest_param()); String orderId = requestParam.getString("order_id"); - workorderService.update(new LambdaUpdateWrapper() - .set(PdmBdWorkorder::getWorkorder_status, "4") - .set(PdmBdWorkorder::getReal_qty, 1) - .set(PdmBdWorkorder::getRealproduceend_date, DateUtil.now()) - .eq(PdmBdWorkorder::getWorkorder_id, orderId)); + if (ObjectUtil.isNotEmpty(orderId)) { + workorderService.update(new LambdaUpdateWrapper() + .set(PdmBdWorkorder::getWorkorder_status, "4") + .set(PdmBdWorkorder::getReal_qty, 1) + .set(PdmBdWorkorder::getRealproduceend_date, DateUtil.now()) + .eq(PdmBdWorkorder::getWorkorder_id, orderId)); + } // 点位设置值 pointService.update(new LambdaUpdateWrapper() .set(SchBasePoint::getVehicle_code, taskObj.getVehicle_code()) .set(SchBasePoint::getPoint_status, "3") - .set(SchBasePoint::getIng_task_code, "") + .set(SchBasePoint::getIng_task_code, null) .set(SchBasePoint::getUpdate_id, SecurityUtils.getCurrentUserId()) .set(SchBasePoint::getUpdate_name, SecurityUtils.getCurrentNickName()) .set(SchBasePoint::getUpdate_time, DateUtil.now()) @@ -143,22 +149,18 @@ public class JbUpAgvTask extends AbstractTask { if (ObjectUtil.isNotEmpty(taskObj.getPoint_code3())) { pointService.update(new LambdaUpdateWrapper() .set(SchBasePoint::getVehicle_code, "") - .set(SchBasePoint::getIng_task_code, "") + .set(SchBasePoint::getIng_task_code, null) .set(SchBasePoint::getPoint_status, "1") .set(SchBasePoint::getUpdate_id, SecurityUtils.getCurrentUserId()) .set(SchBasePoint::getUpdate_name, SecurityUtils.getCurrentNickName()) .set(SchBasePoint::getUpdate_time, DateUtil.now()) .eq(SchBasePoint::getPoint_code, taskObj.getPoint_code3())); + // 仓位设置空托盘 + structattrService.update(new LambdaUpdateWrapper() + .set(Structattr::getStoragevehicle_code, taskObj.getVehicle_code2()) + .set(Structattr::getOccupancy_state, 2) + .eq(Structattr::getStruct_code, taskObj.getPoint_code4())); } - - groupplateService.update(new LambdaUpdateWrapper() - .set(GroupPlate::getFrozen_qty, "1") - .set(GroupPlate::getUpdate_time, DateUtil.now()) - .set(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("出库")) - .eq(GroupPlate::getStoragevehicle_code, taskObj.getVehicle_code()) -// .eq(GroupPlate::getPcsn, w.getPcsn()) -// .eq(GroupPlate::getMaterial_id, materialbase.getMaterial_id()) - .eq(GroupPlate::getStatus,IOSEnum.GROUP_PLATE_STATUS.code("入库"))); } @Override 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 908bc1c..f8913cd 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 @@ -556,8 +556,8 @@ public class InBillServiceImpl extends ServiceImpl i SchBasePoint intoPoint = pointService.getNotTaskByRegionAndType(parentPoint.getRegion_code(), "2"); SchBasePoint emptyPoint = pointService.getNotTaskByRegionAndType(parentPoint.getRegion_code(), "5"); SchBasePoint fullPoint = pointService.getNotTaskByRegionAndType(parentPoint.getRegion_code(), "6"); - // 获取有盖子的对应的点位 - List canUseCFGJs = pointService.getCanUseCFGJs(parentPoint, "2"); + // 获取无盖子的对应的点位 + List canUseCFGJs = pointService.getCanUseCFGJs(parentPoint, "1"); if (canUseCFGJs.size() == 0) { throw new BadRequestException("找不到可用的拆封盖机"); } @@ -619,7 +619,7 @@ public class InBillServiceImpl extends ServiceImpl i List jsonObjects = Arrays.asList(task1, task2, task3); JSONObject requestTaskParam = new JSONObject(); requestTaskParam.put("tasks", jsonObjects); - jbDownAgvTask.create(requestTaskParam); + task_id = jbDownAgvTask.create(requestTaskParam); } else { //创建任务 JSONObject task_form = new JSONObject(); 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 a4fecd5..8c41756 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 @@ -28,11 +28,13 @@ import org.nl.wms.basedata_manage.service.dto.StrategyStructMaterialVO; import org.nl.wms.basedata_manage.service.dto.StrategyStructParam; import org.nl.wms.basedata_manage.service.dto.StructattrChangeDto; 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.dao.SchBasePoint; import org.nl.wms.sch_manage.service.dao.SchBaseTask; import org.nl.wms.sch_manage.service.dao.mapper.SchBasePointMapper; import org.nl.wms.sch_manage.service.util.tasks.StOutTask; +import org.nl.wms.sch_manage.service.util.tasks.jb.JbUpAgvTask; import org.nl.wms.warehouse_manage.enums.IOSConstant; import org.nl.wms.warehouse_manage.enums.IOSEnum; import org.nl.wms.warehouse_manage.service.IMdPbGroupplateService; @@ -46,6 +48,7 @@ import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvDtlMappe import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvMapper; import org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDisDto; import org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDtlDto; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -69,6 +72,8 @@ public class OutBillServiceImpl extends ServiceImpl i @Resource private IStructattrService iStructattrService; + @Resource + private ISchBasePointService pointService; /** * 载具扩展属性mapper @@ -94,6 +99,8 @@ public class OutBillServiceImpl extends ServiceImpl i @Resource private IMdPbGroupplateService iMdPbGroupPlateService; + @Autowired + private JbUpAgvTask jbUpAgvTask; @Override @@ -575,7 +582,7 @@ public class OutBillServiceImpl extends ServiceImpl i ioStorInvDis.setSect_id(outAllocation.getSect_id()); ioStorInvDis.setPcsn(outAllocation.getPcsn()); ioStorInvDis.setMaterial_id(outAllocation.getMaterial_id()); - ioStorInvDis.setMaterial_code(outAllocation.getMaterial_code()); +// ioStorInvDis.setMaterial_code(outAllocation.getMaterial_code()); ioStorInvDis.setSect_name(outAllocation.getSect_name()); ioStorInvDis.setSect_code(outAllocation.getSect_code()); ioStorInvDis.setStruct_id(outAllocation.getStruct_id()); @@ -753,7 +760,7 @@ public class OutBillServiceImpl extends ServiceImpl i double allocation_canuse_qty = 0; for (int i = 0; i < rows.size(); i++){ JSONObject ivt = rows.getJSONObject(i); - double canuse_qty = ivt.getDoubleValue("canuse_qty"); + double canuse_qty = ivt.getDoubleValue("qty"); //分配明细 IOStorInvDis ioStorInvDis = new IOStorInvDis(); ioStorInvDis.setIostorinvdis_id(IdUtil.getStringId()); @@ -763,6 +770,7 @@ public class OutBillServiceImpl extends ServiceImpl i ioStorInvDis.setSect_id(ivt.getString("sect_id")); ioStorInvDis.setPcsn(ivt.getString("pcsn")); ioStorInvDis.setMaterial_id(dtl.getMaterial_id()); + ioStorInvDis.setMaterial_code(dtl.getMaterial_code()); ioStorInvDis.setSect_name(ivt.getString("sect_name")); ioStorInvDis.setSect_code(ivt.getString("sect_code")); ioStorInvDis.setStruct_id(ivt.getString("struct_id")); @@ -952,19 +960,49 @@ public class OutBillServiceImpl extends ServiceImpl i if (ObjectUtil.isEmpty(ioStorInvDisList)){ throw new BadRequestException("当前没有可设置的分配明细"); } - + String task_id = ""; for (IOStorInvDis ioStorInvDis:ioStorInvDisList){ - //创建任务 - JSONObject task_form = new JSONObject(); - task_form.put("task_type", "STOutTask"); - task_form.put("TaskCode",CodeUtil.getNewCode("TASK_CODE")); - task_form.put("PickingLocation", ioStorInvDis.getStruct_code()); - task_form.put("PlacedLocation", point_code); - task_form.put("vehicle_code", ioStorInvDis.getStoragevehicle_code()); + if ("1012".equals(ioStorInv.getBill_type())) { + // 解包需要单独操作 + SchBasePoint ckPoint = pointService.getById(point_code); + SchBasePoint outPointP = pointService.getById(ckPoint.getParent_point_code()); + SchBasePoint inPoint = pointService.getNotTaskByRegionAndType(outPointP.getRegion_code(), "3"); + SchBasePoint outPoint = pointService.getNotTaskByRegionAndType(outPointP.getRegion_code(), "4"); + if (ObjectUtil.isEmpty(inPoint) || ObjectUtil.isEmpty(outPoint)) { + throw new BadRequestException("解包机输送线点位不存在或者存在任务!"); + } + JSONObject task_form = new JSONObject(); + task_form.put("task_type", "JbUpAgvTask"); + task_form.put("order_id", whereJson.getString("order_id")); + task_form.put("TaskCode", CodeUtil.getNewCode("TASK_CODE")); + task_form.put("point_code1", ioStorInvDis.getStruct_code()); + task_form.put("point_code2", inPoint.getPoint_code()); + task_form.put("vehicle_code", ioStorInvDis.getStoragevehicle_code()); + if ("2".equals(outPoint.getPoint_status())) { + // 四点任务 + task_form.put("point_code3", outPoint.getPoint_code()); + task_form.put("point_code4", ioStorInvDis.getStruct_code()); + task_form.put("vehicle_code2", outPoint.getVehicle_code()); + } + task_id = jbUpAgvTask.create(task_form); + inPoint.setIng_task_code(task_id); + if ("2".equals(outPoint.getPoint_status())) { + outPoint.setIng_task_code(task_id); + } + pointService.updateBatchById(Arrays.asList(inPoint, outPoint)); + } else { + //创建任务 + JSONObject task_form = new JSONObject(); + task_form.put("task_type", "STOutTask"); + task_form.put("TaskCode",CodeUtil.getNewCode("TASK_CODE")); + task_form.put("PickingLocation", ioStorInvDis.getStruct_code()); + task_form.put("PlacedLocation", point_code); + task_form.put("vehicle_code", ioStorInvDis.getStoragevehicle_code()); - StOutTask stOutTask = SpringContextHolder.getBean("STOutTask"); + StOutTask stOutTask = SpringContextHolder.getBean("STOutTask"); - String task_id = stOutTask.create(task_form); + task_id = stOutTask.create(task_form); + } //分配明细表更新任务相关数据 IOStorInvDis dis = new IOStorInvDis(); diff --git a/lms/nladmin-ui/src/views/wms/basedata/group/index.vue b/lms/nladmin-ui/src/views/wms/basedata/group/index.vue index a16cda9..96b2b91 100644 --- a/lms/nladmin-ui/src/views/wms/basedata/group/index.vue +++ b/lms/nladmin-ui/src/views/wms/basedata/group/index.vue @@ -2,62 +2,62 @@
- - - 物料查询: - + + 物料查询: + + + + 批次查询: + + + + 载具编码: + + + + 组盘状态: + + - - - 批次查询: - - - - 载具编码: - - - - 组盘状态: - - - - - - - - + + + + + + @@ -71,19 +71,19 @@ - - + + - - + + - + - + @@ -154,7 +154,13 @@ - + + + + + diff --git a/lms/nladmin-ui/src/views/wms/basedata/structattr/index.vue b/lms/nladmin-ui/src/views/wms/basedata/structattr/index.vue index 8bb4f7d..87a4d1f 100644 --- a/lms/nladmin-ui/src/views/wms/basedata/structattr/index.vue +++ b/lms/nladmin-ui/src/views/wms/basedata/structattr/index.vue @@ -93,16 +93,16 @@
- - - - - - - - - - + + + + + + + + + + @@ -272,16 +272,16 @@ {{ dict.label.placement_type[scope.row.placement_type] }} - - - + + + + + + + + + + @@ -305,7 +305,7 @@
- + diff --git a/lms/nladmin-ui/src/views/wms/pm_manage/workerorder/index.vue b/lms/nladmin-ui/src/views/wms/pm_manage/workerorder/index.vue index 0349c07..914e35a 100644 --- a/lms/nladmin-ui/src/views/wms/pm_manage/workerorder/index.vue +++ b/lms/nladmin-ui/src/views/wms/pm_manage/workerorder/index.vue @@ -61,27 +61,27 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + @@ -600,7 +601,7 @@ export default { const param = { region_code: this.regionCodeParam } - crudSchBasePoint.getPointList(param).then(res => { + crudSchBasePoint.getPointList2(param).then(res => { this.pointList = res this.regionCodeParam = null }) diff --git a/lms/nladmin-ui/src/views/wms/sch/point/index.vue b/lms/nladmin-ui/src/views/wms/sch/point/index.vue index 631988a..faf46f3 100644 --- a/lms/nladmin-ui/src/views/wms/sch/point/index.vue +++ b/lms/nladmin-ui/src/views/wms/sch/point/index.vue @@ -37,12 +37,12 @@ - + - + @@ -241,8 +241,8 @@ v-for="item in dict.storagevehicle_type" :key="item.value" :label="item.label" - :value="item.value"> - + :value="item.value" + /> @@ -251,12 +251,12 @@ v-for="item in dict.storagevehicle_type" :key="item.value" :label="item.label" - :value="item.value"> - + :value="item.value" + /> - + {{ item.label }} @@ -281,25 +281,25 @@ - - - - + + + + - - - + + + @@ -307,22 +307,22 @@ - + @@ -351,8 +351,8 @@ - - + + @@ -468,6 +468,12 @@ export default { this.getPointStatusAndTypeList(this.form.region_code, 2) } }, + getVehicleTypeLabel(value) { + if (!value) return '' + const types = value.toString().split(',').map(item => item.trim()) + const labels = types.map(type => this.dict.label.storagevehicle_type[type] || '未知') + return labels.join(', ') + }, hand(value) { this.crud.toQuery() }, 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 aecdb0f..45be7b8 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 getPointList2(data) { + return request({ + url: 'api/schBasePoint/getPointList2', + method: 'post', + data + }) +} export function changeLock(data) { return request({ @@ -48,4 +55,4 @@ export function changeLock(data) { }) } -export default { add, edit, del, changeUsed, getPointList, changeLock } +export default { add, edit, del, changeUsed, getPointList, getPointList2, changeLock }