From 33ad2a0d7ea00df31d39370a02e3a495f35f88ae Mon Sep 17 00:00:00 2001 From: gongbaoxiong <751575283@qq.com> Date: Mon, 10 Feb 2025 22:13:28 +0800 Subject: [PATCH] =?UTF-8?q?fix:1.=E4=BF=AE=E5=A4=8D=E8=BE=93=E9=80=81?= =?UTF-8?q?=E7=BA=BF=E5=91=BD=E4=BB=A4=E4=B8=8B=E5=8F=91=E6=98=AF=E5=90=A6?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C=E5=BA=93=E5=AD=98=EF=BC=9B=20=20=20=20=202.?= =?UTF-8?q?=E7=BB=84=E7=9B=98=E5=AF=BC=E5=85=A5=E5=A2=9E=E5=8A=A0=E6=96=B0?= =?UTF-8?q?=E7=89=A9=E6=96=99=EF=BC=9B=20=20=20=20=203.=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E7=BB=84=E7=9B=98=E4=BF=A1=E6=81=AF=EF=BC=8C=E5=85=B3=E8=81=94?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E8=BD=BD=E5=85=B7=E7=89=A9=E6=96=99=E8=A1=A8?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chainer/impl/EndDecisionChainer.java | 7 +- .../dao/mapper/xml/SchBaseTaskMapper.xml | 3 + .../task/service/dto/SchBaseTaskQuery.java | 1 + .../controller/MdGruopDickController.java | 2 +- .../service/IMdGruopDickService.java | 3 + .../service/impl/MdGruopDickServiceImpl.java | 28 +++- .../devicemanage/DeviceManageController.java | 63 ++++----- .../pda_manage/devicemanage/dto/ComTp.java | 5 + .../impl/StIvtIostorinvServiceImpl.java | 1 + .../views/wms/dispatch_manage/task/index.vue | 133 +++++++++++------- 10 files changed, 147 insertions(+), 99 deletions(-) diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/chainer/impl/EndDecisionChainer.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/chainer/impl/EndDecisionChainer.java index 7a11b5b7..5356edb7 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/chainer/impl/EndDecisionChainer.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/chainer/impl/EndDecisionChainer.java @@ -55,9 +55,8 @@ public class EndDecisionChainer extends DecisionerChain { IStIvtStructattrService iStIvtStructattrService = SpringContextHolder.getBean(IStIvtStructattrService.class); IMdPbVehicleMaterService iMdPbVehicleMaterService = SpringContextHolder.getBean(IMdPbVehicleMaterService.class); List structs = new ArrayList<>(); - StIvtStructattr structattr = (StIvtStructattr) transfers.get(0); - try { if (in_storage) { + StIvtStructattr structattr = (StIvtStructattr) transfers.get(0); UpdateWrapper updateWrapper = new UpdateWrapper() .set("vehicle_code", startParam.getString("vehicle_code")) .set("lock_type", StatusEnum.LOCK.code("入库锁")) @@ -78,6 +77,7 @@ public class EndDecisionChainer extends DecisionerChain { for (StructattrVechielDto vechielDto : vechielDtos) { iMdPbVehicleMaterService.update(new UpdateWrapper() .set("frozen_qty", vechielDto.getFrozen_qty()) + .set("update_time", DateUtil.now()) .eq("id", vechielDto.getVm_id())); } List structCodes = vechielDtos.stream().map(StructattrVechielDto::getStruct_code).collect(Collectors.toList()); @@ -90,9 +90,6 @@ public class EndDecisionChainer extends DecisionerChain { System.out.println("载具绑定成功" + collect); structs = collect; } - } catch (Exception e) { - log.error("库位:" + structattr.getStruct_code() + "异常:" + e.getMessage()); - } return structs; } diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/service/dao/mapper/xml/SchBaseTaskMapper.xml b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/service/dao/mapper/xml/SchBaseTaskMapper.xml index 20fea41f..b7bf051b 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/service/dao/mapper/xml/SchBaseTaskMapper.xml +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/service/dao/mapper/xml/SchBaseTaskMapper.xml @@ -7,6 +7,9 @@ FROM `sch_base_task` t + + AND t.id = #{whereJson.task_id} + AND t.task_code = #{whereJson.task_code} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/service/dto/SchBaseTaskQuery.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/service/dto/SchBaseTaskQuery.java index 2b4dc518..6496aabc 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/service/dto/SchBaseTaskQuery.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/service/dto/SchBaseTaskQuery.java @@ -10,6 +10,7 @@ import java.io.Serializable; **/ @Data public class SchBaseTaskQuery implements Serializable { + private String task_id; private String task_code; private String vehicle_code; private String point_code; diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/md_manage/group_dick/controller/MdGruopDickController.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/md_manage/group_dick/controller/MdGruopDickController.java index 1264e7bb..b47932ea 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/md_manage/group_dick/controller/MdGruopDickController.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/md_manage/group_dick/controller/MdGruopDickController.java @@ -67,7 +67,7 @@ public class MdGruopDickController { @Log("删除桶记录表") public ResponseEntity delete(@RequestBody String[] ids) { if (ids != null && ids.length >0){ - iMdGruopDickService.removeByIds(Arrays.asList(ids)); + iMdGruopDickService.delete(ids); } return new ResponseEntity<>(HttpStatus.OK); } diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/md_manage/group_dick/service/IMdGruopDickService.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/md_manage/group_dick/service/IMdGruopDickService.java index 6840594f..af181086 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/md_manage/group_dick/service/IMdGruopDickService.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/md_manage/group_dick/service/IMdGruopDickService.java @@ -6,6 +6,7 @@ import org.nl.wms.md_manage.group_dick.service.dao.MdGruopDick; import com.baomidou.mybatisplus.extension.service.IService; import org.nl.wms.md_manage.group_dick.service.dto.GroupDickQuery; import org.nl.wms.md_manage.vehicleMater.service.dto.MdPbVehicleMaterVo; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; @@ -26,6 +27,8 @@ public interface IMdGruopDickService extends IService { Object queryAll(GroupDickQuery query, PageQuery page); void groupDick(JSONObject form); + void delete(@RequestBody String[] ids); + /** * 导入组盘信息 diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/md_manage/group_dick/service/impl/MdGruopDickServiceImpl.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/md_manage/group_dick/service/impl/MdGruopDickServiceImpl.java index 1fd71e5c..59c279c0 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/md_manage/group_dick/service/impl/MdGruopDickServiceImpl.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/md_manage/group_dick/service/impl/MdGruopDickServiceImpl.java @@ -1,6 +1,7 @@ package org.nl.wms.md_manage.group_dick.service.impl; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.poi.excel.ExcelReader; import cn.hutool.poi.excel.ExcelUtil; import com.alibaba.fastjson.JSON; @@ -45,10 +46,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.InputStream; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -62,8 +60,6 @@ import java.util.stream.Collectors; @Service public class MdGruopDickServiceImpl extends ServiceImpl implements IMdGruopDickService { - @Autowired - private SyncFormMappingServiceImpl syncFormMappingServiceImpl; @Autowired private IMdPbVehicleMaterService iMdPbVehicleMaterService; @Autowired @@ -76,6 +72,8 @@ public class MdGruopDickServiceImpl extends ServiceImpl 0) { + this.removeByIds(Arrays.asList(ids)); + List vehicleMaterList = iMdPbVehicleMaterService.list(new QueryWrapper().select("id").in("group_id", ids)); + if (ObjectUtil.isNotEmpty(vehicleMaterList)) { + iMdPbVehicleMaterService.removeByIds(vehicleMaterList.stream().map(MdPbVehicleMater::getId).collect(Collectors.toList())); + } + } + } + + /** + * 组盘导入 + */ @Override @Transactional public void excelImport(MultipartFile file, HttpServletRequest request, HttpServletResponse response) { @@ -253,7 +267,7 @@ public class MdGruopDickServiceImpl extends ServiceImpl().eq("material_code", material_code)); + materialCode = mdMeMaterialbaseService.getOne(new QueryWrapper().eq("material_code", material_code)); } materialCode.setSingle_weight(new BigDecimal(single_weight)); //更新单重 diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/devicemanage/DeviceManageController.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/devicemanage/DeviceManageController.java index b7ae15c7..19d47488 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/devicemanage/DeviceManageController.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/devicemanage/DeviceManageController.java @@ -2,10 +2,8 @@ package org.nl.wms.pda_manage.devicemanage; import cn.dev33.satoken.annotation.SaIgnore; -import cn.hutool.core.date.DateUtil; import cn.hutool.core.lang.Assert; import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import org.apache.commons.lang3.ObjectUtils; @@ -13,24 +11,18 @@ import org.apache.commons.lang3.StringUtils; import org.nl.common.TableDataInfo; import org.nl.common.anno.Log; import org.nl.common.domain.exception.BadRequestException; -import org.nl.common.domain.exception.handler.ApiError; import org.nl.common.enums.StatusEnum; -import org.nl.common.utils.*; +import org.nl.common.utils.MapOf; +import org.nl.common.utils.RedissonUtils; import org.nl.wms.base_manage.vehicle.service.IBmVehicleInfoService; import org.nl.wms.base_manage.vehicle.service.dao.BmVehicleInfo; import org.nl.wms.dispatch_manage.point.service.ISchBasePointService; import org.nl.wms.dispatch_manage.point.service.dao.SchBasePoint; import org.nl.wms.dispatch_manage.task.handler.impl.TranforTask; -import org.nl.wms.dispatch_manage.task.service.ISchBaseTaskService; -import org.nl.wms.dispatch_manage.task.service.dao.SchBaseTask; -import org.nl.wms.external_system.acs.service.AcsToWmsService; import org.nl.wms.external_system.acs.service.WmsToAcsService; import org.nl.wms.md_manage.vehicleMater.service.IMdPbVehicleMaterService; -import org.nl.wms.md_manage.vehicleMater.service.dao.MdPbVehicleMater; import org.nl.wms.md_manage.vehicleMater.service.dto.MdPbVehicleMaterVo; import org.nl.wms.pda_manage.devicemanage.dto.ComTp; -import org.nl.wms.pda_manage.palletio.service.PalletIostorinvService; -import org.nl.wms.pda_manage.palletio.service.dto.LabelValueVo; import org.nl.wms.stor_manage.struct.service.IStIvtStructattrService; import org.nl.wms.stor_manage.struct.service.dao.StIvtStructattr; import org.springframework.beans.factory.annotation.Autowired; @@ -42,7 +34,6 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.text.Format; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -112,40 +103,46 @@ public class DeviceManageController { @SaIgnore @Log("下发输送线运动命令") public ResponseEntity toCommandTP(@RequestBody ComTp form) { - Assert.noNullElements(new Object[]{form.getDevice_code(),form.getVehicle_code()},"请求参数不能为空"); + Assert.noNullElements(new Object[]{form.getDevice_code(), form.getVehicle_code()}, "请求参数不能为空"); String device_code = form.getDevice_code(); String vehicleCode = form.getVehicle_code(); + String is_check = form.getIs_check(); + if (StringUtils.isBlank(is_check)) { + is_check = "1"; + } SchBasePoint code = iSchBasePointService.getOne(new QueryWrapper().eq("code", device_code)); - if (code!=null && !code.getIs_used()){ - throw new BadRequestException(String.format("输送线%s模式不正确不允许下发运动",device_code)); + if (code != null && !code.getIs_used()) { + throw new BadRequestException(String.format("输送线%s模式不正确不允许下发运动", device_code)); } BmVehicleInfo vehicleInfo = iBmVehicleInfoService.getOne(new QueryWrapper() .eq("vehicle_code", vehicleCode)); - if (vehicleInfo == null ){ - throw new BadRequestException(String.format(vehicleCode+"载具信息不存在")); + if (vehicleInfo == null) { + throw new BadRequestException(String.format(vehicleCode + "载具信息不存在")); } List item = iMdPbVehicleMaterService.getVehicleMaters(vehicleCode); - if (CollectionUtils.isEmpty(item)){ - throw new BadRequestException(String.format(vehicleCode+"载具组盘信息不存在")); + if (CollectionUtils.isEmpty(item)) { + throw new BadRequestException(String.format(vehicleCode + "载具组盘信息不存在")); } for (MdPbVehicleMaterVo materVo : item) { - if (materVo.getQty().intValue() == 0){ - throw new BadRequestException(String.format(vehicleCode+"组盘异常,确认是否出库后组盘")); + if (materVo.getQty().intValue() == 0) { + throw new BadRequestException(String.format(vehicleCode + "组盘异常,确认是否出库后组盘")); } } - //校验料箱是否还存在库存 - RedissonUtils.lock(() -> { - QueryWrapper query = new QueryWrapper() - .eq("is_used", true) - .eq("lock_type", StatusEnum.LOCK.code("无锁")) - .eq("vehicle_code", vehicleCode); - List list = iStIvtStructattrService.list(query); - if (ObjectUtils.isNotEmpty(list)) { - throw new BadRequestException(String.format("扫码失败:当前载具号在立库的库位中未出库:%s中,请核查库存记录!", list.get(0).getStruct_code())); - } - }, StatusEnum.STRATEGY_TYPE.code("入库") + vehicleCode, 5); - wmsToAcsService.toCommand(device_code,"1",vehicleInfo.getH()); - return new ResponseEntity<>(TableDataInfo.build(),HttpStatus.OK); + if ("1".equals(is_check)) { + //校验料箱是否还存在库存 + RedissonUtils.lock(() -> { + QueryWrapper query = new QueryWrapper() + .eq("is_used", true) + .eq("lock_type", StatusEnum.LOCK.code("无锁")) + .eq("vehicle_code", vehicleCode); + List list = iStIvtStructattrService.list(query); + if (ObjectUtils.isNotEmpty(list)) { + throw new BadRequestException(String.format("扫码失败:当前载具号在立库的库位中未出库:%s中,请核查库存记录!", list.get(0).getStruct_code())); + } + }, StatusEnum.STRATEGY_TYPE.code("入库") + vehicleCode, 5); + } + wmsToAcsService.toCommand(device_code, "1", vehicleInfo.getH()); + return new ResponseEntity<>(TableDataInfo.build(), HttpStatus.OK); } @PostMapping("transf") @SaIgnore diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/devicemanage/dto/ComTp.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/devicemanage/dto/ComTp.java index 27877206..b6ee5ba4 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/devicemanage/dto/ComTp.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/devicemanage/dto/ComTp.java @@ -16,4 +16,9 @@ public class ComTp { * 载具编码 */ private String vehicle_code ; + /** + * 是否库存检查 + */ + private String is_check ; + } diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/io/service/iostor/impl/StIvtIostorinvServiceImpl.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/io/service/iostor/impl/StIvtIostorinvServiceImpl.java index efd60937..86fa3869 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/io/service/iostor/impl/StIvtIostorinvServiceImpl.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/io/service/iostor/impl/StIvtIostorinvServiceImpl.java @@ -197,6 +197,7 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl groupVehicle(JSONObject form, List tmpItemO, StIvtIostorinvdtl dtl) { String now = DateUtil.now(); String user = SecurityUtils.getCurrentNickName(); diff --git a/wms_pro/qd/src/views/wms/dispatch_manage/task/index.vue b/wms_pro/qd/src/views/wms/dispatch_manage/task/index.vue index 88739c74..53481456 100644 --- a/wms_pro/qd/src/views/wms/dispatch_manage/task/index.vue +++ b/wms_pro/qd/src/views/wms/dispatch_manage/task/index.vue @@ -10,8 +10,6 @@ label-width="80px" label-suffix=":" > - - + + + + - + @change="crud.toQuery" + /> - + @@ -83,44 +91,57 @@ /> 任务调度 - + - - + + - + - + - + - + - + - + - + - + - + - + - + - - - - + + + + + - + - - - - - - + + + + + + - - - - - - - - + + + + + + + + - +