From cad9484ec00283576049ea25027ea65351873748 Mon Sep 17 00:00:00 2001 From: my_ong <429426262@qq.com> Date: Tue, 10 Dec 2024 21:11:26 +0800 Subject: [PATCH] =?UTF-8?q?:new:=20=E5=AE=A1=E6=A0=B8=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../material/ApplyFormController.java | 28 ++++++++++++++++--- .../tech/riemann/ims/enums/HandleEnum.java | 18 ++++++++++-- 2 files changed, 39 insertions(+), 7 deletions(-) diff --git a/src/main/java/tech/riemann/ims/controller/platform/material/ApplyFormController.java b/src/main/java/tech/riemann/ims/controller/platform/material/ApplyFormController.java index d6b4140..c0398e3 100644 --- a/src/main/java/tech/riemann/ims/controller/platform/material/ApplyFormController.java +++ b/src/main/java/tech/riemann/ims/controller/platform/material/ApplyFormController.java @@ -242,20 +242,40 @@ public class ApplyFormController { @PostMapping("submit-review") @Operation(summary = "提交审核") + @Transactional(rollbackFor = Exception.class) public void submitReview(@Parameter(description = "异常数据列表") @RequestBody ReviewDTO reviewDTO) { applyFormService.update(Wrappers.lambdaUpdate() .set(ApplyForm::getReviewResult, reviewDTO.getReviewResult()) .set(reviewDTO.getReviewResult() == ReviewResultEnum.PASS, ApplyForm::getConfirm, Boolean.TRUE) .set(ApplyForm::getReviewRemark, reviewDTO.getRemark()) .eq(ApplyForm::getId, reviewDTO.getApplyId())); - if(reviewDTO.getReviewResult() == ReviewResultEnum.PASS){ + if (reviewDTO.getReviewResult() == ReviewResultEnum.PASS) { //修改库存明细状态和库存数量 List list = stocktakingScanExceptionalDataService.list(Wrappers.lambdaQuery() .eq(StocktakingScanExceptionalData::getApplyId, reviewDTO.getApplyId())); list.forEach(data -> { -// if(data.getExceptionHandle() == StocktakingExceptonalStatusEnum.SOCK_OUT_BUT_SCAN_EXIST){ -// -// } + // 新入库 归还 丢失 需要处理 + if (data.getExceptionHandle() == HandleEnum.MARK_NEW) { + // 新增库存明细 和 增加库存数量 + materialStockDetailService.save(MaterialStockDetail.builder() + .applyId(null) + .materialId(data.getMaterialId()) + .barcode(data.getBarcode()) + .status(StockStatusEnum.IN) + .build()); + materialService.update(Wrappers.lambdaUpdate() + .setSql("m_stock = m_stock + " + 1) + .eq(Material::getId, data.getMaterialId())); + } else if (data.getExceptionHandle() == HandleEnum.MARK_RETURN || data.getExceptionHandle() == HandleEnum.MARK_LOST) { + materialStockDetailService.update(Wrappers.lambdaUpdate() + .set(MaterialStockDetail::getStatus, data.getExceptionHandle() == HandleEnum.MARK_RETURN + ? StockStatusEnum.IN : StockStatusEnum.LOST) + .eq(MaterialStockDetail::getBarcode, data.getBarcode())); + materialService.update(Wrappers.lambdaUpdate() + .setSql(data.getExceptionHandle() == HandleEnum.MARK_RETURN, "m_stock = m_stock + " + 1) + .setSql(data.getExceptionHandle() == HandleEnum.MARK_LOST, "m_stock = m_stock - " + 1) + .eq(Material::getId, data.getMaterialId())); + } }); } } diff --git a/src/main/java/tech/riemann/ims/enums/HandleEnum.java b/src/main/java/tech/riemann/ims/enums/HandleEnum.java index 2ae3e1c..8d52d38 100644 --- a/src/main/java/tech/riemann/ims/enums/HandleEnum.java +++ b/src/main/java/tech/riemann/ims/enums/HandleEnum.java @@ -14,13 +14,25 @@ import lombok.Getter; public enum HandleEnum implements ICodeBook { - MARK_KEEP("1", "保持在库状态不变"), //SOCK_IN_BUT_SCAN_NOT_EXIST("1", "库房在库状态但是扫码不存在") - MARK_LOST("2", "标记为丢失状态"), + //SOCK_IN_BUT_SCAN_NOT_EXIST("1", "库房在库状态但是扫码不存在") - DISCARD("3", "丢弃-1"), + MARK_LOST("1", "标记为丢失"), + MARK_KEEP("2", "保持不变"), + + //SOCK_OUT_BUT_SCAN_EXIST("2", "库房不是在库状态但是扫码存在"), + MARK_RETURN("3", "标记为归还"), + MARK_DISCARD("4", "标记为舍弃"), + + //SOCK_NOT_EXIST_BUT_SCAN_EXIST("3", "库房不存在该条码但是扫码存在"), + MARK_NEW("5", "标记为新入库"), ; @EnumValue final String code; final String description; + + } + + +