From a3836fdb8d7cb4fc4de2b65f9c1790a38091486e Mon Sep 17 00:00:00 2001 From: bonus <1203338439@qq.com> Date: Wed, 18 Jun 2025 21:10:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=87=E5=87=86=E7=AE=B1=E6=96=B0=E8=B4=AD?= =?UTF-8?q?=E5=85=A5=E5=BA=93=E6=8E=A5=E5=8F=A3=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/biz/enums/QrBoxStatusEnum.java | 2 + .../basic/controller/BmQrBoxController.java | 15 ++++ .../material/basic/mapper/BmQrBoxMapper.java | 18 +++++ .../basic/service/BmQrBoxService.java | 2 + .../service/impl/BmQrBoxServiceImpl.java | 75 +++++++++++++++++++ .../purchase/mapper/PurchaseBindMapper.java | 2 + .../mapper/material/basic/BmQrBoxMapper.xml | 72 ++++++++++++++++++ 7 files changed, 186 insertions(+) diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/QrBoxStatusEnum.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/QrBoxStatusEnum.java index f300b892..1ba11c23 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/QrBoxStatusEnum.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/QrBoxStatusEnum.java @@ -19,6 +19,8 @@ public enum QrBoxStatusEnum { QR_BOX_STATUS_ON_RECEIVE(4, "已接收"), QR_BOX_STATUS_REJECT(5, "移交被驳回"); + + private final Integer status; private final String statusName; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmQrBoxController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmQrBoxController.java index 0f0a7c07..470adcc2 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmQrBoxController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmQrBoxController.java @@ -162,6 +162,21 @@ public class BmQrBoxController extends BaseController { return qrBoxService.appWarehouse(boxBindWarehouseDto); } + + + /** + * APP -- 新购入库 -- 确认入库标准箱 + */ + @ApiOperation(value = "APP -- 新购入库 -- 标准箱直接扫描入库") + @PreventRepeatSubmit + //@RequiresPermissions("basic:qrBox:edit") + @SysLog(title = "APP-二维码标准箱入库", businessType = OperaType.UPDATE, logType = 1,module = "仓储管理->APP扫码创建标准箱") + @PostMapping("/app_box_input") + public AjaxResult appBoxInput(@RequestBody @NotNull(message = "参数不能为空") BoxBindWarehouseDto boxBindWarehouseDto) { + return qrBoxService.appBoxInput(boxBindWarehouseDto); + } + + /** * APP -- 扫码绑定机具 */ diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmQrBoxMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmQrBoxMapper.java index a3d2086f..f258d7ad 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmQrBoxMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmQrBoxMapper.java @@ -2,6 +2,7 @@ package com.bonus.material.basic.mapper; import com.bonus.common.biz.domain.lease.LeaseOutDetails; import com.bonus.material.basic.domain.BmQrBoxInfo; +import com.bonus.material.basic.domain.dto.BoxBindWarehouseDto; import java.util.List; @@ -134,4 +135,21 @@ public interface BmQrBoxMapper { * @return */ List selectByMaId(Long maId); + + List getBoxList(BoxBindWarehouseDto boxBindWarehouseDto); + + int updateNewInputNum(BoxBindWarehouseDto boxMa); + + + BoxBindWarehouseDto getSingleInfo(BoxBindWarehouseDto boxMa); + + void updatePurchaseStatus(BoxBindWarehouseDto boxMa); + + BoxBindWarehouseDto getTaskInfo(BoxBindWarehouseDto boxMa); + + void updateTaskStatus(BoxBindWarehouseDto boxMa); + + int updateStorageNum(BoxBindWarehouseDto boxMa); + + int updateBoxStatus(BoxBindWarehouseDto boxMa); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/BmQrBoxService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/BmQrBoxService.java index fcf7612d..2a5062a4 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/BmQrBoxService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/BmQrBoxService.java @@ -110,4 +110,6 @@ public interface BmQrBoxService { * @return */ AjaxResult getBoxCodeList(BmQrBoxInfo bmQrBoxInfo); + + AjaxResult appBoxInput(BoxBindWarehouseDto boxBindWarehouseDto); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmQrBoxServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmQrBoxServiceImpl.java index 40ed041c..76ffba6f 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmQrBoxServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmQrBoxServiceImpl.java @@ -560,4 +560,79 @@ public class BmQrBoxServiceImpl implements BmQrBoxService { } return AjaxResult.success(bmQrBoxMapper.getBoxCodeList(bmQrBoxInfo)); } + + @Override + @Transactional(rollbackFor = Exception.class) + public AjaxResult appBoxInput(BoxBindWarehouseDto boxBindWarehouseDto) { + int result = 0; + try { + List boxList = bmQrBoxMapper.getBoxList(boxBindWarehouseDto); + for (BoxBindWarehouseDto boxMa: boxList) { + //1.验证标准箱里的机具是否待入库 + if (!MaMachineStatusEnum.NEW_PURCHASE.equals(boxMa.getMaStatus())) { + return AjaxResult.error(String.format("标准箱里%s状态异常,请检查后重新提交!", boxMa.getMaStatus())); + } + //2.修改新购入库数量, //2.5.修改入库任务状态 + result = updateNewInputNum(boxMa); + if (0 == result) { + return AjaxResult.error("入库失败:成功入库0条"); + } + //3.修改库存 + result = updateStorageNum(boxMa); + if (0 == result) { + return AjaxResult.error("入库失败:成功入库0条"); + } + //4.修改标准箱状态 + result = updateBoxStatus(boxMa); + if (0 == result) { + return AjaxResult.error("入库失败:成功入库0条"); + } + + } + + + } catch (final Exception e) { + System.err.println("入库失败,SQL执行异常:" + e.getMessage()); + return AjaxResult.error("入库失败,SQL执行异常:" + e.getMessage()); + } + + return AjaxResult.success(); + } + + private int updateBoxStatus(BoxBindWarehouseDto boxMa) { + int result = 0; + result = bmQrBoxMapper.updateBoxStatus(boxMa); + return result; + } + + private int updateStorageNum(BoxBindWarehouseDto boxMa) { + + int result = 0; + result = bmQrBoxMapper.updateStorageNum(boxMa); + return result; + } + + private int updateNewInputNum(BoxBindWarehouseDto boxMa) { + int result = 0; + result = bmQrBoxMapper.updateNewInputNum(boxMa); + + BoxBindWarehouseDto sonStatus = bmQrBoxMapper.getSingleInfo(boxMa); + if (sonStatus != null) { + //不用修改任务状态 + } else { + //修改子任务状态 + bmQrBoxMapper.updatePurchaseStatus(boxMa); + BoxBindWarehouseDto taskStatus = bmQrBoxMapper.getTaskInfo(boxMa); + if (taskStatus != null) { + //不用修改任务状态 + } else { + //修改任务状态 + bmQrBoxMapper.updateTaskStatus(boxMa); + } + + + } + return result; + } + } 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 2bb4c1a3..53deb9e5 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 @@ -1,5 +1,6 @@ package com.bonus.material.purchase.mapper; +import com.bonus.material.basic.domain.dto.BoxBindWarehouseDto; import com.bonus.material.purchase.domain.PurchaseCheckDetails; import com.bonus.common.biz.domain.purchase.PurchaseDto; import com.bonus.material.purchase.domain.vo.PurchaseVo; @@ -133,4 +134,5 @@ public interface PurchaseBindMapper { * @return */ List getMachineByCode(PurchaseDto dto); + } diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmQrBoxMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmQrBoxMapper.xml index afd0014b..31f04df3 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmQrBoxMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmQrBoxMapper.xml @@ -322,4 +322,76 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where qb.ma_id = #{maId} + + + + + update purchase_check_details set input_num = ifnull(input_num) + 1 where task_id = #{taskId} and type_id = #{maTypeId} + + + + + + + + update purchase_check_details set status =19 where task_id = #{taskId} and type_id = #{maTypeId} + + + + + + UPDATE tm_task SET status = 22 WHERE task_id = #{taskId} + + + + update ma_type set storage_num = storage_num + #{inputNum} where type_id = #{typeId} + + + + update bm_qrcode_box set box_status = 5 where box_id = #{boxId} +