diff --git a/src/main/java/com/glxp/api/controller/auth/SysWorkplaceQueueController.java b/src/main/java/com/glxp/api/controller/auth/SysWorkplaceQueueController.java index 7aa1540e3..38b628ae2 100644 --- a/src/main/java/com/glxp/api/controller/auth/SysWorkplaceQueueController.java +++ b/src/main/java/com/glxp/api/controller/auth/SysWorkplaceQueueController.java @@ -1,5 +1,7 @@ package com.glxp.api.controller.auth; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.alibaba.fastjson.JSON; import com.github.pagehelper.PageInfo; @@ -11,10 +13,13 @@ import com.glxp.api.controller.BaseController; import com.glxp.api.entity.auth.SysWorkplace; import com.glxp.api.entity.basic.SysWorkplaceLayer; import com.glxp.api.entity.basic.SysWorkplaceQueue; +import com.glxp.api.entity.basic.UdiEntity; +import com.glxp.api.entity.basic.UdiProductEntity; import com.glxp.api.entity.system.SysPdfTemplateRelevanceLabelEntity; import com.glxp.api.entity.system.SystemPDFTemplateEntity; import com.glxp.api.req.basic.SysWorkplaceFreightRequest; import com.glxp.api.req.basic.SysWorkplaceLayerRequest; +import com.glxp.api.req.basic.SysWorkplaceQueueBindRequest; import com.glxp.api.req.basic.SysWorkplaceQueueRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.basic.SysWorkplaceFreightResponse; @@ -22,9 +27,11 @@ import com.glxp.api.res.basic.SysWorkplaceQueueResponse; import com.glxp.api.res.basic.SysWorkplaceResponse; import com.glxp.api.service.auth.SysWorkplaceService; import com.glxp.api.service.basic.SysWorkplaceQueueService; +import com.glxp.api.service.basic.UdiProductService; import com.glxp.api.service.system.SystemPDFModuleService; import com.glxp.api.service.system.SystemPDFTemplateService; import com.glxp.api.util.JasperUtils; +import com.glxp.api.util.udi.FilterUdiUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.GetMapping; @@ -67,6 +74,15 @@ public class SysWorkplaceQueueController extends BaseController { @GetMapping("/udiwms/sysWorkplaceQueue/getQueueList") public BaseResponse getQueueList(SysWorkplaceQueueRequest request) { + + + String scanCode = request.getScanCode(); + if (StrUtil.isNotEmpty(scanCode)){ + UdiEntity udi = FilterUdiUtils.getUdi(scanCode); + if (udi != null ) request.setNameCode(udi.getUdi()); + } + request.setScanCode(null); + List page = sysWorkplaceQueueService.filterList(request); PageInfo pageInfo = new PageInfo<>(page); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); @@ -170,19 +186,73 @@ public class SysWorkplaceQueueController extends BaseController { } - @PostMapping("/udiwms/WorkplaceQueue/update") - public BaseResponse update(@RequestBody SysWorkplaceQueue sysWorkplaceQueue){ + @PostMapping("/udiwms/WorkplaceQueue/bind") + public BaseResponse bind(@RequestBody SysWorkplaceQueueBindRequest sysWorkplaceQueueBindRequest){ - // TODO: 2024/11/9 做一个relId重复的判断 + String relId = sysWorkplaceQueueBindRequest.getRelId(); + List list = sysWorkplaceQueueService.list(new LambdaQueryWrapper().eq(SysWorkplaceQueue::getRelId, relId)); + if (CollUtil.isNotEmpty(list)){ + return ResultVOUtils.error("产品已绑定到货位槽码的信息,请先解绑"); + } + + Long id = sysWorkplaceQueueBindRequest.getId(); + SysWorkplaceQueue sysWorkplaceQueue = sysWorkplaceQueueService.getById(id); + sysWorkplaceQueue.setRelId(relId); sysWorkplaceQueue.setUpdateTime(new Date()); sysWorkplaceQueue.setUpdateUser(getUserId() + ""); boolean falg = sysWorkplaceQueueService.updateById(sysWorkplaceQueue); if (!falg) { - return ResultVOUtils.error(999, "更新失败"); + return ResultVOUtils.error(999, "绑定失败"); } return ResultVOUtils.success(); } + /** + * 根据货位槽号 获取 货位槽信息 + */ + @PostMapping("/udiwms/sysWorkplaceQueue/getInfoByCode") + public BaseResponse getInfoByCode(@RequestBody SysWorkplaceQueueRequest request){ + String code = request.getCode(); + if (StrUtil.isEmpty(code)){ + return ResultVOUtils.error("货位槽码不能为空"); + } + + List list = sysWorkplaceQueueService.filterList(request); + if (CollUtil.isEmpty(list)){ + return ResultVOUtils.error("未找到该货位槽码的信息"); + } + SysWorkplaceQueueResponse sysWorkplaceQueue = list.get(0); + return ResultVOUtils.success(sysWorkplaceQueue); + } + + + @Resource + UdiProductService udiProductService; + + /** + * 根据货位槽号 获取 货位槽信息 + */ + @PostMapping("/udiwms/sysWorkplaceQueue/getProductByCode") + public BaseResponse getProductByCode(@RequestBody SysWorkplaceQueueRequest request){ + String udiCode = request.getUdiCode(); + if (StrUtil.isEmpty(udiCode)){ + return ResultVOUtils.error("UDI码不能为空"); + } + + UdiProductEntity byNameCode = udiProductService.findByNameCode(udiCode); + if (byNameCode == null){ + return ResultVOUtils.error("UDI码未能识别出对应产品"); + } + + String relId = byNameCode.getRelId(); + List list = sysWorkplaceQueueService.list(new LambdaQueryWrapper().eq(SysWorkplaceQueue::getRelId, relId)); + if (CollUtil.isNotEmpty(list)){ + return ResultVOUtils.error("产品已绑定到货位槽码的信息,请先解绑"); + } + + return ResultVOUtils.success(byNameCode); + } + } diff --git a/src/main/java/com/glxp/api/entity/basic/SysWorkplaceQueue.java b/src/main/java/com/glxp/api/entity/basic/SysWorkplaceQueue.java index 425c14c64..f2f4c2056 100644 --- a/src/main/java/com/glxp/api/entity/basic/SysWorkplaceQueue.java +++ b/src/main/java/com/glxp/api/entity/basic/SysWorkplaceQueue.java @@ -117,7 +117,7 @@ public class SysWorkplaceQueue implements Serializable { */ @TableField(value = "relId") @ApiModelProperty(value = "") - private Long relId; + private String relId; diff --git a/src/main/java/com/glxp/api/req/basic/SysWorkplaceQueueBindRequest.java b/src/main/java/com/glxp/api/req/basic/SysWorkplaceQueueBindRequest.java new file mode 100644 index 000000000..3fb93679d --- /dev/null +++ b/src/main/java/com/glxp/api/req/basic/SysWorkplaceQueueBindRequest.java @@ -0,0 +1,21 @@ +package com.glxp.api.req.basic; + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +import java.util.List; + +/** + * @author : zhangsan + * @date : 2024/10/30 10:42 + * @modyified By : + */ + +@Data +public class SysWorkplaceQueueBindRequest{ + private Long id; + private String relId; + private String code; + + +} diff --git a/src/main/java/com/glxp/api/req/basic/SysWorkplaceQueueRequest.java b/src/main/java/com/glxp/api/req/basic/SysWorkplaceQueueRequest.java index c9e9a5eae..d24faa428 100644 --- a/src/main/java/com/glxp/api/req/basic/SysWorkplaceQueueRequest.java +++ b/src/main/java/com/glxp/api/req/basic/SysWorkplaceQueueRequest.java @@ -14,6 +14,9 @@ import java.util.List; @Data public class SysWorkplaceQueueRequest extends ListPageRequest { private String key; + private String scanCode; + private String udiCode; + private String nameCode; private String code; private String name; private Long workPlaceIdFk; diff --git a/src/main/java/com/glxp/api/res/basic/SysWorkplaceQueueResponse.java b/src/main/java/com/glxp/api/res/basic/SysWorkplaceQueueResponse.java index 5c673dcc5..ed331d0b3 100644 --- a/src/main/java/com/glxp/api/res/basic/SysWorkplaceQueueResponse.java +++ b/src/main/java/com/glxp/api/res/basic/SysWorkplaceQueueResponse.java @@ -80,6 +80,9 @@ public class SysWorkplaceQueueResponse { * 货架code */ private String freightCode; - + private String nameCode; + private String ggxh; + private String cpmctymc; + private String relId; } diff --git a/src/main/resources/mybatis/mapper/basic/SysWorkplaceQueueMapper.xml b/src/main/resources/mybatis/mapper/basic/SysWorkplaceQueueMapper.xml index f6fbb3993..e459ea9b5 100644 --- a/src/main/resources/mybatis/mapper/basic/SysWorkplaceQueueMapper.xml +++ b/src/main/resources/mybatis/mapper/basic/SysWorkplaceQueueMapper.xml @@ -28,8 +28,13 @@ - SELECT basic_products.*,basic_udirel.purType,basic_udirel.hcType + SELECT basic_products.*,basic_udirel.purType,basic_udirel.hcType,basic_udirel.id as relId FROM basic_products LEFT JOIN basic_udirel ON basic_udirel.uuid = basic_products.uuid WHERE (basic_products.nameCode = #{nameCode})