diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsCoaReviewController.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsCoaReviewController.java index 80e5ca46..feb72b1a 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsCoaReviewController.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsCoaReviewController.java @@ -19,7 +19,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; /** - * COA审核 Controller + * COA审核 */ @RestController @RequestMapping("/coaReview") @@ -40,14 +40,14 @@ public class QmsCoaReviewController extends BaseController { } /** - * 删除COA审核记录(逻辑删除,仅状态为0时可删) + * 删除COA审核记录(批量逻辑删除,仅状态为0时可删) * - * @param id 记录ID + * @param ids 记录ID列表 */ @Transactional @PostMapping("delete") - public ApiResult delete(@NotNull(message = "ID不能为空") Long id) { - coaReviewService.delete(id); + public ApiResult delete(@RequestBody List ids) { + coaReviewService.delete(ids); return ApiResult.success(); } diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsCoaTaskController.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsCoaTaskController.java index 505cba43..55dff5a5 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsCoaTaskController.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsCoaTaskController.java @@ -20,7 +20,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; /** - * COA通知管理 Controller + * COA通知管理 */ @RestController @RequestMapping("/coaTask") diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsInspectionItemController.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsInspectionItemController.java index 36da7a35..ccd90a90 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsInspectionItemController.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsInspectionItemController.java @@ -39,7 +39,7 @@ import java.time.LocalDate; import java.util.List; /** - * 检测项管理 Controller + * 检测项管理 */ @RestController @RequestMapping("/inspectionItem") diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsCoaReviewDetailVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsCoaReviewDetailVO.java index dd74290b..06adbb7f 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsCoaReviewDetailVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsCoaReviewDetailVO.java @@ -77,6 +77,11 @@ public class QmsCoaReviewDetailVO { */ private String coaFile; + /** + * 报告模板 + */ + private String reportTemplate; + /** * 创建时间 */ diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsSupplierSqeMapVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsSupplierSqeMapVO.java index 15e3876d..bb1e32bd 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsSupplierSqeMapVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsSupplierSqeMapVO.java @@ -2,6 +2,8 @@ package com.nflg.wms.common.pojo.vo; import lombok.Data; +import java.time.LocalDateTime; + /** * 供应商-用户 关联 VO(按供应商聚合,每行一个供应商) */ @@ -32,4 +34,24 @@ public class QmsSupplierSqeMapVO { * 统一启用状态:所有关联记录均启用时为true,否则为false */ private Boolean enable; + + /** + * 创建时间(取该供应商下最晚的创建时间) + */ + private LocalDateTime createTime; + + /** + * 创建人 + */ + private String createBy; + + /** + * 修改时间(取该供应商下最晚的修改时间) + */ + private LocalDateTime updateTime; + + /** + * 修改人(取最晚修改时间对应的操作人) + */ + private String updateBy; } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IQmsCoaReviewService.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IQmsCoaReviewService.java index 41b5a0fc..f7d1875e 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IQmsCoaReviewService.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IQmsCoaReviewService.java @@ -23,9 +23,9 @@ public interface IQmsCoaReviewService extends IService { void add(QmsCoaReviewAddQO qo); /** - * 删除COA审核记录(逻辑删除,仅状态为0时可删) + * 删除COA审核记录(批量逻辑删除,仅状态为0时可删) */ - void delete(Long id); + void delete(List ids); /** * 修改COA审核记录 diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/QmsCoaReviewServiceImpl.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/QmsCoaReviewServiceImpl.java index 688bef2c..1df90831 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/QmsCoaReviewServiceImpl.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/QmsCoaReviewServiceImpl.java @@ -132,19 +132,28 @@ public class QmsCoaReviewServiceImpl extends ServiceImpl ids) { + if (ids == null || ids.isEmpty()) { + throw new NflgException(STATE.BusinessError, "删除ID列表不能为空"); } - // 校验供应商权限 - validateSupplierPermission(review.getSupplierId()); + // 校验所有记录状态是否为0,并校验供应商权限 + List reviews = lambdaQuery() + .in(QmsCoaReview::getId, ids) + .list(); - if (!Objects.equals(review.getStatus(), 0)) { - throw new NflgException(STATE.BusinessError, "当前状态不允许删除,只有待提交(状态0)的记录才能删除"); + for (QmsCoaReview r : reviews) { + if (Objects.isNull(r) || Boolean.TRUE.equals(r.getDeleted())) { + throw new NflgException(STATE.BusinessError, "记录不存在"); + } + // 校验供应商权限 + validateSupplierPermission(r.getSupplierId()); + if (!Objects.equals(r.getStatus(), 0)) { + throw new NflgException(STATE.BusinessError, "当前状态不允许删除,只有待提交(状态0)的记录才能删除"); + } } + lambdaUpdate() - .eq(QmsCoaReview::getId, id) + .in(QmsCoaReview::getId, ids) .set(QmsCoaReview::getDeleted, true) .set(QmsCoaReview::getUpdateBy, UserUtil.getUserName()) .set(QmsCoaReview::getUpdateTime, LocalDateTime.now()) @@ -451,9 +460,10 @@ public class QmsCoaReviewServiceImpl extends ServiceImpl finalSupplierIds = filteredSupplierIds; final Set finalMaterialIds = filteredMaterialIds; - // 构建查询:只能查看属于当前SQE任务的审核记录 + // 构建查询:只能查看属于当前SQE任务的审核记录,且状态不为0(排除待提交) var query = lambdaQuery() .in(QmsCoaReview::getTaskId, taskIds) + .ne(QmsCoaReview::getStatus, 0) .ne(QmsCoaReview::getDeleted, true) .eq(StrUtil.isNotBlank(qo.getPurchaseNo()), QmsCoaReview::getPurchaseNo, qo.getPurchaseNo()) .orderByDesc(QmsCoaReview::getCreateTime); @@ -548,6 +558,13 @@ public class QmsCoaReviewServiceImpl extends ServiceImpl