From 5fad1938f3b8863f89121d53fdc66a08593ebf96 Mon Sep 17 00:00:00 2001 From: shusir <497819738@qq.com> Date: Wed, 4 Mar 2026 13:50:55 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E7=89=A9=E6=96=99=E6=B8=85=E6=B4=97?= =?UTF-8?q?=E5=9B=9E=E6=94=B6=EF=BC=8C=E4=BD=BF=E7=94=A8=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E7=9B=91=E7=9D=A3=E4=BA=BA=E7=A1=AE=E8=AE=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/MaterialUseEndReuseController.java | 7 +++++ .../admin/MaterialUseRecordController.java | 9 +++++- .../MaterialUseEndReuseDetailPageReqVO.java | 14 +++++++++ .../vo/MaterialUseEndReuseDetailRespVO.java | 24 +++++++++++++++ .../MaterialUseEndReuseDetailSaveReqVO.java | 6 ++++ .../vo/MaterialUseEndReuseRespVO.java | 13 ++++++-- .../vo/MaterialUseEndReuseSaveReqVO.java | 10 +++++++ .../vo/MaterialUseRecordPageReqVO.java | 3 ++ .../vo/MaterialUseRecordRespVO.java | 7 +++++ .../dal/dataobject/MaterialUseEndReuseDO.java | 15 ++++++++++ .../MaterialUseEndReuseDetailDO.java | 21 +++++++++++++ .../dal/dataobject/MaterialUseRecordDO.java | 10 +++++++ .../MaterialUseEndReuseDetailMapper.java | 14 ++++++--- .../dal/mapper/MaterialUseEndReuseMapper.java | 1 - .../dal/mapper/MaterialUseRecordMapper.java | 2 ++ .../MaterialUseEndReuseDetailService.java | 17 +++++++++++ .../MaterialUseEndReuseDetailServiceImpl.java | 12 ++++++++ .../service/MaterialUseEndReuseService.java | 15 ++++++++++ .../MaterialUseEndReuseServiceImpl.java | 29 +++++++++++++++++- .../service/MaterialUseRecordService.java | 14 +++++++++ .../service/MaterialUseRecordServiceImpl.java | 30 +++++++++++++++++-- 21 files changed, 261 insertions(+), 12 deletions(-) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/admin/MaterialUseEndReuseController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/admin/MaterialUseEndReuseController.java index 02ecc88e..9ba44368 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/admin/MaterialUseEndReuseController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/admin/MaterialUseEndReuseController.java @@ -111,4 +111,11 @@ public class MaterialUseEndReuseController extends AbstractFileUploadController BeanUtils.toBean(list, MaterialUseEndReuseRespVO.class)); } + @PutMapping("/reuse") + @Operation(summary = "物料回收") + public CommonResult reuseMaterial(@RequestBody List detailIds) { + materialUseEndReuseService.reuseMaterialsByDetailIds(detailIds); + return success(true); + } + } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/admin/MaterialUseRecordController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/admin/MaterialUseRecordController.java index 5d2db5ab..4c9cea24 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/admin/MaterialUseRecordController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/admin/MaterialUseRecordController.java @@ -55,7 +55,7 @@ public class MaterialUseRecordController implements BusinessControllerMarker { return success(materialUseRecordDetailService.makeHazardousMaterial(makeReqVO)); } - @PutMapping("/update") +// @PutMapping("/update") @Operation(summary = "更新使用记录") @PreAuthorize("@ss.hasPermission('qms:material-use-record:update')") public CommonResult updateMaterialUseRecord(@Valid @RequestBody MaterialUseRecordSaveReqVO updateReqVO) { @@ -111,4 +111,11 @@ public class MaterialUseRecordController implements BusinessControllerMarker { BeanUtils.toBean(list, MaterialUseRecordRespVO.class)); } + + @PutMapping("/review") + @Operation(summary = "监督确认") + public CommonResult superviseReviews(@RequestBody List ids) { + return success(materialUseRecordService.superviseReviews(ids)); + } + } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialUseEndReuseDetailPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialUseEndReuseDetailPageReqVO.java index c824dd90..0e589089 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialUseEndReuseDetailPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialUseEndReuseDetailPageReqVO.java @@ -1,10 +1,12 @@ package com.zt.plat.module.qms.resource.material.controller.vo; +import com.baomidou.mybatisplus.annotation.TableField; import com.zt.plat.framework.common.pojo.PageParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; +import java.math.BigDecimal; import java.time.LocalDateTime; import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @@ -35,6 +37,18 @@ public class MaterialUseEndReuseDetailPageReqVO extends PageParam { @Schema(description = "物料id", example = "7953") private Long infomationId; + @Schema(description = "物料名称") + private String materialName; + + @Schema(description = "物料类型:玻璃,塑料") + private String materialType; + + @Schema(description = "回收日期") + private LocalDateTime ruseDate; + + @Schema(description = "处理回收状态,0-未回收,1-已回收") + private String treatmentStatus; + @Schema(description = "所属部门") private String systemDepartmentCode; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialUseEndReuseDetailRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialUseEndReuseDetailRespVO.java index 9839b782..41471c15 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialUseEndReuseDetailRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialUseEndReuseDetailRespVO.java @@ -53,6 +53,14 @@ public class MaterialUseEndReuseDetailRespVO { @ExcelProperty("型号") private String modelNo; + @Schema(description = "大类id", example = "108") + @ExcelProperty("大类id") + private Long productId; + + @Schema(description = "物料名称") + @ExcelProperty("物料名称") + private String materialName; + @Schema(description = "数量") @ExcelProperty("数量") private BigDecimal quantity; @@ -61,6 +69,22 @@ public class MaterialUseEndReuseDetailRespVO { @ExcelProperty("物料类型:玻璃,塑料") private String materialType; + @Schema(description = "回收人") + @ExcelProperty("回收人") + private String reuseName; + + @Schema(description = "回收人id") + @ExcelProperty("回收人id") + private String reuseId; + + @Schema(description = "回收日期") + @ExcelProperty("回收日期") + private LocalDateTime reuseDate; + + @Schema(description = "处理回收状态,0-未回收,1-已回收") + @ExcelProperty("处理回收状态,0-未回收,1-已回收") + private String treatmentStatus; + @Schema(description = "所属部门") @ExcelProperty("所属部门") private String systemDepartmentCode; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialUseEndReuseDetailSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialUseEndReuseDetailSaveReqVO.java index 76cf9c5e..3a07b032 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialUseEndReuseDetailSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialUseEndReuseDetailSaveReqVO.java @@ -19,6 +19,12 @@ public class MaterialUseEndReuseDetailSaveReqVO { @Schema(description = "物料id", example = "7953") private Long infomationId; + @Schema(description = "大类id", example = "108") + private Long productId; + + @Schema(description = "物料名称") + private String materialName; + @Schema(description = "数量") private BigDecimal quantity; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialUseEndReuseRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialUseEndReuseRespVO.java index 57c23dfb..fc0f5c35 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialUseEndReuseRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialUseEndReuseRespVO.java @@ -29,10 +29,19 @@ public class MaterialUseEndReuseRespVO { @ExcelProperty("操作人id") private Long operatorId; - @Schema(description = "标记日期或清洗回收日期") - @ExcelProperty("标记日期或清洗回收日期") + @Schema(description = "标记日期或清洗日期") + @ExcelProperty("标记日期或清洗日期") private LocalDateTime operatorDate; + @Schema(description = "回收人") + private String reuseName; + + @Schema(description = "回收人id") + private Long reuseId; + + @Schema(description = "回收日期") + private LocalDateTime reuseDate; + @Schema(description = "所属部门") @ExcelProperty("所属部门") private String systemDepartmentCode; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialUseEndReuseSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialUseEndReuseSaveReqVO.java index 0a8c3d84..6b66f620 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialUseEndReuseSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialUseEndReuseSaveReqVO.java @@ -1,5 +1,6 @@ package com.zt.plat.module.qms.resource.material.controller.vo; +import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; @@ -28,6 +29,15 @@ public class MaterialUseEndReuseSaveReqVO { @Schema(description = "标记日期或清洗回收日期") private LocalDateTime operatorDate; + @Schema(description = "回收人") + private String reuseName; + + @Schema(description = "回收人id") + private Long reuseId; + + @Schema(description = "回收日期") + private LocalDateTime reuseDate; + @Schema(description = "所属部门") private String systemDepartmentCode; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialUseRecordPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialUseRecordPageReqVO.java index ff2fcc38..aa5fcbbd 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialUseRecordPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialUseRecordPageReqVO.java @@ -50,6 +50,9 @@ public class MaterialUseRecordPageReqVO extends PageParam { @Schema(description = "监督人姓名", example = "李四") private String supervisorName; + @Schema(description = "审核确认状态,0-未确认,1-已确认") + private String reviewStatus; + @Schema(description = "所属部门") private String systemDepartmentCode; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialUseRecordRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialUseRecordRespVO.java index aaf26320..9fe1dc2d 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialUseRecordRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialUseRecordRespVO.java @@ -2,6 +2,7 @@ package com.zt.plat.module.qms.resource.material.controller.vo; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.TableField; import com.zt.plat.module.qms.core.aspect.annotation.Dict; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -74,6 +75,12 @@ public class MaterialUseRecordRespVO { @ExcelProperty("监督人姓名") private String supervisorName; + @Schema(description = "确认处理状态") + private String reviewStatus; + + @Schema(description = "确认处理日期") + private LocalDateTime reviewDate; + @Schema(description = "所属部门") @ExcelProperty("所属部门") private String systemDepartmentCode; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/dataobject/MaterialUseEndReuseDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/dataobject/MaterialUseEndReuseDO.java index fe49b3b2..df8f27e8 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/dataobject/MaterialUseEndReuseDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/dataobject/MaterialUseEndReuseDO.java @@ -50,6 +50,21 @@ public class MaterialUseEndReuseDO extends BusinessBaseDO { */ @TableField("OPTR_DT") private LocalDateTime operatorDate; + /** + * 回收人 + */ + @TableField("RUSE_NAME") + private String reuseName; + /** + * 回收人id + */ + @TableField("RUSE_ID") + private Long reuseId; + /** + * 回收日期 + */ + @TableField("RUSE_DT") + private LocalDateTime reuseDate; /** * 所属部门 */ diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/dataobject/MaterialUseEndReuseDetailDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/dataobject/MaterialUseEndReuseDetailDO.java index 592ad3bd..a4f1b650 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/dataobject/MaterialUseEndReuseDetailDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/dataobject/MaterialUseEndReuseDetailDO.java @@ -5,6 +5,7 @@ import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; import lombok.*; import java.math.BigDecimal; +import java.time.LocalDateTime; /** * 物料用完标记或清洗回收明细 DO @@ -42,6 +43,16 @@ public class MaterialUseEndReuseDetailDO extends BusinessBaseDO { @TableField("INF_ID") private Long infomationId; /** + * 大类id + */ + @TableField("PDT_ID") + private Long productId; + /** + * 物料名称 + */ + @TableField("MTRL_NAME") + private String materialName; + /** * 数量 */ @TableField("QTY") @@ -51,6 +62,16 @@ public class MaterialUseEndReuseDetailDO extends BusinessBaseDO { */ @TableField("MTRL_TP") private String materialType; + /** + * 回收日期 + */ + @TableField("RUSE_DT") + private LocalDateTime reuseDate; + /** + * 处理回收状态,0-未回收,1-已回收 + */ + @TableField("TMT_STS") + private String treatmentStatus; /** * 所属部门 */ diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/dataobject/MaterialUseRecordDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/dataobject/MaterialUseRecordDO.java index e1d2b4e2..78a13d3f 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/dataobject/MaterialUseRecordDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/dataobject/MaterialUseRecordDO.java @@ -86,6 +86,16 @@ public class MaterialUseRecordDO extends BusinessBaseDO { */ @TableField("SPVR_NAME") private String supervisorName; + /** + * 确认处理状态 + */ + @TableField("RVW_STS") + private String reviewStatus; + /** + * 确认处理日期 + */ + @TableField("RVW_DT") + private LocalDateTime reviewDate; /** * 所属部门 */ diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/mapper/MaterialUseEndReuseDetailMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/mapper/MaterialUseEndReuseDetailMapper.java index ce7c27c7..350faacf 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/mapper/MaterialUseEndReuseDetailMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/mapper/MaterialUseEndReuseDetailMapper.java @@ -37,9 +37,13 @@ public interface MaterialUseEndReuseDetailMapper extends BaseMapperX selectPageWithParentInfoAndMaterialInfo(MaterialUseEndReuseDetailPageReqVO reqVO, List pdtIds) { MPJLambdaWrapper wrapper = new MPJLambdaWrapperX() .select(MaterialUseEndReuseDetailDO::getId, MaterialUseEndReuseDetailDO::getCreateTime, - MaterialUseEndReuseDetailDO::getParentId, MaterialUseEndReuseDetailDO::getInfomationId) + MaterialUseEndReuseDetailDO::getParentId, MaterialUseEndReuseDetailDO::getInfomationId, + MaterialUseEndReuseDetailDO::getProductId, MaterialUseEndReuseDetailDO::getMaterialName, + MaterialUseEndReuseDetailDO::getMaterialType, MaterialUseEndReuseDetailDO::getQuantity, + MaterialUseEndReuseDetailDO::getReuseDate, MaterialUseEndReuseDetailDO::getTreatmentStatus) .select(MaterialUseEndReuseDO::getBusinessType, MaterialUseEndReuseDO::getOperator, MaterialUseEndReuseDO::getOperatorId, - MaterialUseEndReuseDO::getOperatorDate, MaterialUseEndReuseDO::getRemark) + MaterialUseEndReuseDO::getOperatorDate, MaterialUseEndReuseDO::getRemark, + MaterialUseEndReuseDO::getReuseId, MaterialUseEndReuseDO::getReuseName) .selectAs(MaterialInfomationDO::getCode, MaterialUseEndReuseDetailRespVO::getInfomationCode) .select(MaterialProductDO::getModelNo) .selectAs(MaterialProductDO::getName, MaterialUseEndReuseDetailRespVO::getInfomationName) @@ -48,7 +52,7 @@ public interface MaterialUseEndReuseDetailMapper extends BaseMapperX selectListWithParentInfoAndMaterialInfoByParentIds(List parentIds) { MPJLambdaWrapper wrapper = new MPJLambdaWrapperX() .select(MaterialUseEndReuseDetailDO::getId, MaterialUseEndReuseDetailDO::getCreateTime, - MaterialUseEndReuseDetailDO::getParentId, MaterialUseEndReuseDetailDO::getInfomationId) + MaterialUseEndReuseDetailDO::getParentId, MaterialUseEndReuseDetailDO::getInfomationId, + MaterialUseEndReuseDetailDO::getProductId, MaterialUseEndReuseDetailDO::getMaterialName, + MaterialUseEndReuseDetailDO::getMaterialType, MaterialUseEndReuseDetailDO::getQuantity) .select(MaterialUseEndReuseDO::getBusinessType, MaterialUseEndReuseDO::getOperator, MaterialUseEndReuseDO::getOperatorId, MaterialUseEndReuseDO::getOperatorDate, MaterialUseEndReuseDO::getRemark) .selectAs(MaterialInfomationDO::getCode, MaterialUseEndReuseDetailRespVO::getInfomationCode) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/mapper/MaterialUseEndReuseMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/mapper/MaterialUseEndReuseMapper.java index b44bdc5a..ff4c402e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/mapper/MaterialUseEndReuseMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/mapper/MaterialUseEndReuseMapper.java @@ -52,5 +52,4 @@ public interface MaterialUseEndReuseMapper extends BaseMapperX parentIds); + + /** + * 根据ids批量获取明细 + * + * @param detailIds 编号 + * @return 用完标记或清洗回收明细 + */ + List getDetailListByIds(List detailIds); + + /** + * 根据ids批量更新明细 + * + * @param detailIds 编号 + * @param detailDO 用完标记或清洗回收明细 + */ + void updateByIds(List detailIds, MaterialUseEndReuseDetailDO detailDO); + } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialUseEndReuseDetailServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialUseEndReuseDetailServiceImpl.java index 77f5c415..a2c39935 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialUseEndReuseDetailServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialUseEndReuseDetailServiceImpl.java @@ -128,4 +128,16 @@ public class MaterialUseEndReuseDetailServiceImpl implements MaterialUseEndReuse materialUseEndReuseDetailMapper.deleteBatch(MaterialUseEndReuseDetailDO::getParentId, parentIds); } + @Override + public List getDetailListByIds(List detailIds) { + return materialUseEndReuseDetailMapper.selectByIds(detailIds); + } + + @Override + public void updateByIds(List detailIds, MaterialUseEndReuseDetailDO detailDO) { + materialUseEndReuseDetailMapper.update(detailDO, Wrappers.lambdaQuery(MaterialUseEndReuseDetailDO.class) + .in(MaterialUseEndReuseDetailDO::getId, detailIds)); + + } + } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialUseEndReuseService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialUseEndReuseService.java index 11d00e82..b56a5d9a 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialUseEndReuseService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialUseEndReuseService.java @@ -68,4 +68,19 @@ public interface MaterialUseEndReuseService { * @return 物料用完标记或清洗回收分页 */ PageResult getPageWithDetail(@Valid MaterialUseEndReusePageReqVO pageReqVO); + + /** + * 批量回收物料 + * + * @param detailIds 明细编号 + */ + void reuseMaterialsByDetailIds(List detailIds); + + /** + * 批量更新物料用完标记或清洗回收 + * + * @param reuseIds 用完标记或清洗回收编号 + * @param useEndReuseDO 用完标记或清洗回收 + */ + void updateByIds(List reuseIds, MaterialUseEndReuseDO useEndReuseDO); } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialUseEndReuseServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialUseEndReuseServiceImpl.java index b647e904..a07646e7 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialUseEndReuseServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialUseEndReuseServiceImpl.java @@ -1,6 +1,7 @@ package com.zt.plat.module.qms.resource.material.service; import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.zt.plat.framework.common.exception.ServiceException; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.common.util.object.BeanUtils; @@ -75,7 +76,7 @@ public class MaterialUseEndReuseServiceImpl implements MaterialUseEndReuseServic // 保存明细 List detailDOS = detailList.stream().map(detail -> { MaterialUseEndReuseDetailDO detailDO = BeanUtils.toBean(detail, MaterialUseEndReuseDetailDO.class); - detailDO.setParentId(useEndReuseDO.getId()); + detailDO.setParentId(useEndReuseDO.getId()).setTreatmentStatus("0"); return detailDO; }).toList(); materialUseEndReuseDetailService.saveBatch(detailDOS); @@ -185,4 +186,30 @@ public class MaterialUseEndReuseServiceImpl implements MaterialUseEndReuseServic return respVOPageResult; } + @Transactional + @Override + public void reuseMaterialsByDetailIds(List detailIds) { + List detailDOS = materialUseEndReuseDetailService.getDetailListByIds(detailIds); + if (CollUtil.isEmpty(detailDOS)) throw new ServiceException(1_032_160_000, "回收的物料不存在"); + // 检查回收状态 + for (MaterialUseEndReuseDetailDO detailDO : detailDOS) { + if ("1".equals(detailDO.getTreatmentStatus())) + throw new ServiceException(1_032_160_000, String.format("物料【%s】已回收", detailDO.getMaterialName())); + } + List reuseIds = detailDOS.stream().map(MaterialUseEndReuseDetailDO::getParentId).toList(); + LocalDateTime reuseDate = LocalDateTime.now(); + materialUseEndReuseDetailService.updateByIds(detailIds, + new MaterialUseEndReuseDetailDO().setTreatmentStatus("1").setReuseDate(reuseDate)); + Long loginUserId = SecurityFrameworkUtils.getLoginUserId(); + String loginUserNickname = SecurityFrameworkUtils.getLoginUserNickname(); + this.updateByIds(reuseIds, new MaterialUseEndReuseDO().setReuseId(loginUserId).setReuseName(loginUserNickname) + .setReuseDate(reuseDate)); + } + + @Override + public void updateByIds(List reuseIds, MaterialUseEndReuseDO useEndReuseDO) { + materialUseEndReuseMapper.update(useEndReuseDO, Wrappers.lambdaQuery(MaterialUseEndReuseDO.class) + .in(MaterialUseEndReuseDO::getId, reuseIds)); + } + } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialUseRecordService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialUseRecordService.java index 0edea002..39ac47f5 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialUseRecordService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialUseRecordService.java @@ -92,4 +92,18 @@ public interface MaterialUseRecordService { * @param recordDOS 使用记录 */ void saveBatch(List recordDOS); + + /** + * 批量确认使用记录 + * + * @param ids 使用记录 + */ + Boolean superviseReviews(List ids); + + /** + * 批量更新使用记录 + * + * @param ids 使用记录 + */ + void updateByIds(List ids, MaterialUseRecordDO recordDO); } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialUseRecordServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialUseRecordServiceImpl.java index a97dbdb7..211a1c73 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialUseRecordServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialUseRecordServiceImpl.java @@ -1,6 +1,7 @@ package com.zt.plat.module.qms.resource.material.service; import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.zt.plat.framework.common.exception.ServiceException; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.common.util.object.BeanUtils; @@ -74,11 +75,13 @@ public class MaterialUseRecordServiceImpl implements MaterialUseRecordService { // 物料用完 if (operationQuantity.compareTo(remainingVolume) >= 0) { infomationDO.setUseEndFlag(1); - // TODO 新增用完标记记录 - /*materialUseEndReuseService.createMaterialUseEndReuse(new MaterialUseEndReuseSaveReqVO() + // 新增用完标记记录 + ArrayList useEndReuseDetailSaveReqVOS = new ArrayList<>(); + useEndReuseDetailSaveReqVOS.add(new MaterialUseEndReuseDetailSaveReqVO().setInfomationId(infomationId)); + materialUseEndReuseService.createMaterialUseEndReuse(new MaterialUseEndReuseSaveReqVO() .setBusinessType(MaterialNormalOperationType.used_mark.getName()) .setRemark("物料已用完,自动标记") - .setDetailList(new ArrayList<>()))*/ + .setDetailList(useEndReuseDetailSaveReqVOS)); } materialInfomationService.updateById(infomationDO); @@ -188,4 +191,25 @@ public class MaterialUseRecordServiceImpl implements MaterialUseRecordService { materialUseRecordMapper.insertBatch(recordDOS); } + @Override + public Boolean superviseReviews(List ids) { + List recordDOS = materialUseRecordMapper.selectByIds(ids); + if (CollUtil.isEmpty(recordDOS) || recordDOS.size() != ids.size()) + throw new ServiceException(1_032_160_000, "物料使用记录不存在或数量不匹配"); + // 检查数据是否都是当前监督人的数据 + for (MaterialUseRecordDO recordDO : recordDOS) { + if (!recordDO.getSupervisorId().equals(SecurityFrameworkUtils.getLoginUserId())) + throw new ServiceException(1_032_160_000, String.format("当前用户不是记录【%s】的监督人", recordDO.getId())); + } + this.updateByIds(ids, new MaterialUseRecordDO() + .setReviewStatus("1").setReviewDate(LocalDateTime.now())); + return true; + } + + @Override + public void updateByIds(List ids, MaterialUseRecordDO recordDO) { + materialUseRecordMapper.update(recordDO, Wrappers.lambdaQuery(MaterialUseRecordDO.class) + .in(MaterialUseRecordDO::getId, ids)); + } + } \ No newline at end of file