From ddcde38fb045efe3e495c9e6ba80de3156229c1d Mon Sep 17 00:00:00 2001 From: hongchao <3228015117@qq.com> Date: Tue, 1 Jul 2025 11:15:08 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9B=98=E5=B8=A6=E7=BB=91=E5=AE=9A=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PurchaseBindController.java | 24 ++++++++ .../purchase/domain/vo/PurchaseVo.java | 3 + .../purchase/mapper/PurchaseBindMapper.java | 15 +++++ .../service/IPurchaseBindService.java | 4 ++ .../service/impl/PurchaseBindServiceImpl.java | 60 +++++++++++++++++++ .../material/purchase/PurchaseBindMapper.xml | 59 ++++++++++++++++++ 6 files changed, 165 insertions(+) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseBindController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseBindController.java index 68cb0307..59a6a43b 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseBindController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseBindController.java @@ -46,6 +46,30 @@ public class PurchaseBindController extends BaseController { return purchaseBindService.bind(dto); } + /** + * 盘点绑定 + * @param dto + * @return + */ + @ApiOperation(value = "盘点绑定") + @PreventRepeatSubmit +// @RequiresPermissions("purchase:bind:add") + @PostMapping("/inventoryBind") + public AjaxResult inventoryBind(@RequestBody @NotNull(message = "参数不能为空") PurchaseDto dto) { + return purchaseBindService.inventoryBind(dto); + } + + /** + * 获取盘点绑定绑定扫描后详细信息 + */ + @ApiOperation(value = "获取盘点绑定绑定扫描后详细信息") +// @RequiresPermissions("purchase:bind:query") + @GetMapping(value = "/getInventoryInfo") + public AjaxResult getInventoryInfo(PurchaseDto dto) { + return purchaseBindService.getInventoryInfo(dto); + } + + /** * 获取新购验收绑定详细信息 */ diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/vo/PurchaseVo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/vo/PurchaseVo.java index a587ae48..49f17dca 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/vo/PurchaseVo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/vo/PurchaseVo.java @@ -117,4 +117,7 @@ public class PurchaseVo { @ApiModelProperty(value = "异常数量") private BigDecimal exceptionNum; + + private int isBindInventory; + } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseBindMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseBindMapper.java index 0eb24cff..9e22a671 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseBindMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseBindMapper.java @@ -142,4 +142,19 @@ public interface PurchaseBindMapper { * @return */ PurchaseCheckInfo selectSupplierByTaskId(String taskId); + + /** + * 根据二维码查询 + * @param purchaseDto + * @return + */ + List selectByQrCode(PurchaseDto purchaseDto); + + PurchaseVo getInventoryInfo(PurchaseDto dto); + + int updateQrCodeInfo(PurchaseDto dto); + + int insertMachineBind(PurchaseDto dto); + + int selectMaCodeCount(PurchaseDto dto); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/IPurchaseBindService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/IPurchaseBindService.java index 181430e0..9e3832a9 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/IPurchaseBindService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/IPurchaseBindService.java @@ -56,4 +56,8 @@ public interface IPurchaseBindService { AjaxResult reject(PurchaseDto dto); AjaxResult getTypeByQrcode(PurchaseDto dto); + + AjaxResult inventoryBind(PurchaseDto dto); + + AjaxResult getInventoryInfo(PurchaseDto dto); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java index 787ed95f..d6a580f7 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java @@ -204,6 +204,43 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService { return AjaxResult.success("绑定成功"); } + /** + * 盘点绑定 + * @param dto 盘点绑定 + * @return + */ + @Override + @Transactional(rollbackFor = Exception.class) + public AjaxResult inventoryBind(PurchaseDto dto) { + if(dto.getQrCode() == null || dto.getQrCode().isEmpty()){ + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "二维码不能为空"); + } + if(dto.getMaCode()== null || dto.getMaCode().isEmpty()){ + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "设备编码不能为空"); + } + if(dto.getTypeId() == null){ + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "未知设备类型,请扫描后再绑定"); + } + //查找maCode是否重复 + int count = purchaseBindMapper.selectMaCodeCount(dto); + if (count > 0) { + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "该设备编码已存在,请勿重复添加"); + } + dto.setUpdateBy(SecurityUtils.getLoginUser().getUserid().toString()); + //修改bm_qrcode_info表中状态和ma_code + int countOne = purchaseBindMapper.updateQrCodeInfo(dto); + if (countOne == 0) { + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "修改bm_qrcode_info表失败"); + } + //插入ma_machine表 + int countTwo = purchaseBindMapper.insertMachineBind(dto); + if (countTwo == 0) { + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "插入ma_machine表失败"); + } + return AjaxResult.success("绑定成功"); + } + + /** * 提取状态更新逻辑到一个方法 * @param taskId @@ -486,4 +523,27 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService { //extracted(list); return AjaxResult.success(list); } + + /** + * 查询盘点绑定信息 + * @param dto + * @return + */ + @Override + public AjaxResult getInventoryInfo(PurchaseDto dto) { + if (dto == null || dto.getQrCode() == null || dto.getQrCode().isEmpty()) { + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "参数不能为空"); + } + PurchaseVo vo = purchaseBindMapper.getInventoryInfo(dto); + if(vo == null){ + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "该二维码不存在,请重新扫描"); + } + if(vo.getMaCode()!=null && !vo.getMaCode().equals("")){ + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "该二维码已绑定,请勿重复绑定"); + } + if(vo.getIsBindInventory()==1){ + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "该二维码已绑定,请勿重复绑定"); + } + return AjaxResult.success(vo); + } } diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseBindMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseBindMapper.xml index 525c21c0..25658a82 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseBindMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseBindMapper.xml @@ -442,4 +442,63 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" t.task_id = #{taskId} + + + + + UPDATE bm_qrcode_info + SET + ma_code = #{maCode}, + status = 1, + update_by = #{updateBy}, + update_time = now(), + is_bind = 1, + bind_user = #{updateBy} + WHERE qr_code = #{qrCode} and del_flag = 0 + + + + insert into ma_machine + + ma_code, + ma_status, + qr_code, + type_id, + out_fac_code, + create_time + + + #{maCode}, + 1, + #{qrCode}, + #{typeId}, + #{outFacCode}, + now() + + + + +