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 5edc648..d6b4140 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 @@ -12,6 +12,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import tech.riemann.ims.dto.request.ApplyInfo; import tech.riemann.ims.dto.request.AuditApplyInfo; +import tech.riemann.ims.dto.request.ReviewDTO; import tech.riemann.ims.dto.response.ApplyDTO; import tech.riemann.ims.dto.response.ComparisonResDTO; import tech.riemann.ims.dto.response.StockDetailInfo; @@ -228,7 +229,7 @@ public class ApplyFormController { @PutMapping("handle-exceptional-data/{applyId}") @Operation(summary = "处理盘点异常数据") public void updateReviewResult(@Parameter(description = "申请单ID") @PathVariable(name = "applyId") String applyId, - @Parameter(description = "异常数据列表") @RequestBody List dataList) { + @Parameter(description = "异常数据列表") @RequestBody List dataList) { dataList.forEach(data -> stocktakingScanExceptionalDataService.update(Wrappers.lambdaUpdate() .eq(StocktakingScanExceptionalData::getId, data.getId()) .set(StocktakingScanExceptionalData::getExceptionHandle, data.getExceptionHandle()) @@ -239,6 +240,26 @@ public class ApplyFormController { } + @PostMapping("submit-review") + @Operation(summary = "提交审核") + 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){ + //修改库存明细状态和库存数量 + List list = stocktakingScanExceptionalDataService.list(Wrappers.lambdaQuery() + .eq(StocktakingScanExceptionalData::getApplyId, reviewDTO.getApplyId())); + list.forEach(data -> { +// if(data.getExceptionHandle() == StocktakingExceptonalStatusEnum.SOCK_OUT_BUT_SCAN_EXIST){ +// +// } + }); + } + } + // 比较数据 生成差异数据 public void comparisonData(List scanData, Long applyId) { //生成map比较 diff --git a/src/main/java/tech/riemann/ims/dto/request/ReviewDTO.java b/src/main/java/tech/riemann/ims/dto/request/ReviewDTO.java new file mode 100644 index 0000000..18b98de --- /dev/null +++ b/src/main/java/tech/riemann/ims/dto/request/ReviewDTO.java @@ -0,0 +1,28 @@ +package tech.riemann.ims.dto.request; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import tech.riemann.ims.enums.ReviewResultEnum; + +/** + * @author mayong + * @since 2024/12/9 20:20 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class ReviewDTO { + + @Schema(description = "申请单") + private String applyId; + + @Schema(description = "审核意见") + private String remark; + + @Schema(description = "审核结果") + private ReviewResultEnum reviewResult; +} diff --git a/src/main/java/tech/riemann/ims/entity/material/ApplyForm.java b/src/main/java/tech/riemann/ims/entity/material/ApplyForm.java index 23e10f5..5a5761e 100644 --- a/src/main/java/tech/riemann/ims/entity/material/ApplyForm.java +++ b/src/main/java/tech/riemann/ims/entity/material/ApplyForm.java @@ -87,29 +87,14 @@ public class ApplyForm extends IdBaseEntity { @Column("af_is_confirm") @Comment("是否确认") @ColDefine(type = ColType.BOOLEAN, notNull = false, width = 128, precision = 0) - private Boolean isConfirm; + private Boolean confirm; - @Schema(description = "结果(系统自动生成)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) - @TableField("af_result") - @Column("af_result") - @Comment("结果(系统自动生成)") - @ColDefine(notNull = false, width = 512, precision = 0) - private String result; - - @Schema(description = "异常原因", requiredMode = Schema.RequiredMode.NOT_REQUIRED) - @TableField("af_exception") - @Column("af_exception") - @Comment("异常原因") - @ColDefine(type = ColType.VARCHAR, notNull = false, width = 512, precision = 0) - private String exception; - - @Schema(description = "处理摘要", requiredMode = Schema.RequiredMode.NOT_REQUIRED) - @TableField("af_exception_handle") - - @Column("af_exception_handle") - @Comment("处理摘要") - @ColDefine(type = ColType.VARCHAR, notNull = false, width = 128, precision = 0) - private String handle; + @Schema(description = "审核意见", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @TableField("af_review_remark") + @Column("af_review_remark") + @Comment("审核意见") + @ColDefine(type = ColType.TEXT) + private String reviewRemark; @Schema(description = "审核结果(1-待扫码 2-待提交 3-待审核 4-审核通过 5退回)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @TableField("af_review_result") diff --git a/src/main/java/tech/riemann/ims/enums/HandleEnum.java b/src/main/java/tech/riemann/ims/enums/HandleEnum.java index 47e600e..2ae3e1c 100644 --- a/src/main/java/tech/riemann/ims/enums/HandleEnum.java +++ b/src/main/java/tech/riemann/ims/enums/HandleEnum.java @@ -13,8 +13,10 @@ import lombok.Getter; @AllArgsConstructor public enum HandleEnum implements ICodeBook { - INBOUND("1", "入库+1"), - OUTBOUND("2", "不入库-1"), + + MARK_KEEP("1", "保持在库状态不变"), //SOCK_IN_BUT_SCAN_NOT_EXIST("1", "库房在库状态但是扫码不存在") + MARK_LOST("2", "标记为丢失状态"), + DISCARD("3", "丢弃-1"), ;