修改供应商管理、COA任务接口

This commit is contained in:
yf001217 2026-04-20 11:48:11 +08:00
parent bfb96778f6
commit da04ac9e72
5 changed files with 53 additions and 17 deletions

View File

@ -40,14 +40,14 @@ public class QmsCoaReviewController extends BaseController {
} }
/** /**
* 删除COA审核记录逻辑删除仅状态为0时可删 * 删除COA审核记录批量逻辑删除仅状态为0时可删
* *
* @param id 记录ID * @param ids 记录ID列表
*/ */
@Transactional @Transactional
@PostMapping("delete") @PostMapping("delete")
public ApiResult<Void> delete(@NotNull(message = "ID不能为空") Long id) { public ApiResult<Void> delete(@RequestBody List<Long> ids) {
coaReviewService.delete(id); coaReviewService.delete(ids);
return ApiResult.success(); return ApiResult.success();
} }

View File

@ -2,6 +2,8 @@ package com.nflg.wms.common.pojo.vo;
import lombok.Data; import lombok.Data;
import java.time.LocalDateTime;
/** /**
* 供应商-用户 关联 VO按供应商聚合每行一个供应商 * 供应商-用户 关联 VO按供应商聚合每行一个供应商
*/ */
@ -32,4 +34,24 @@ public class QmsSupplierSqeMapVO {
* 统一启用状态所有关联记录均启用时为true否则为false * 统一启用状态所有关联记录均启用时为true否则为false
*/ */
private Boolean enable; private Boolean enable;
/**
* 创建时间取该供应商下最晚的创建时间
*/
private LocalDateTime createTime;
/**
* 创建人
*/
private String createBy;
/**
* 修改时间取该供应商下最晚的修改时间
*/
private LocalDateTime updateTime;
/**
* 修改人取最晚修改时间对应的操作人
*/
private String updateBy;
} }

View File

@ -23,9 +23,9 @@ public interface IQmsCoaReviewService extends IService<QmsCoaReview> {
void add(QmsCoaReviewAddQO qo); void add(QmsCoaReviewAddQO qo);
/** /**
* 删除COA审核记录逻辑删除仅状态为0时可删 * 删除COA审核记录批量逻辑删除仅状态为0时可删
*/ */
void delete(Long id); void delete(List<Long> ids);
/** /**
* 修改COA审核记录 * 修改COA审核记录

View File

@ -132,19 +132,28 @@ public class QmsCoaReviewServiceImpl extends ServiceImpl<QmsCoaReviewMapper, Qms
@Transactional @Transactional
@Override @Override
public void delete(Long id) { public void delete(List<Long> ids) {
QmsCoaReview review = getById(id); if (ids == null || ids.isEmpty()) {
if (Objects.isNull(review) || Boolean.TRUE.equals(review.getDeleted())) { throw new NflgException(STATE.BusinessError, "删除ID列表不能为空");
throw new NflgException(STATE.BusinessError, "记录不存在");
} }
// 校验供应商权限 // 校验所有记录状态是否为0并校验供应商权限
validateSupplierPermission(review.getSupplierId()); List<QmsCoaReview> reviews = lambdaQuery()
.in(QmsCoaReview::getId, ids)
.list();
if (!Objects.equals(review.getStatus(), 0)) { for (QmsCoaReview r : reviews) {
throw new NflgException(STATE.BusinessError, "当前状态不允许删除只有待提交状态0的记录才能删除"); 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() lambdaUpdate()
.eq(QmsCoaReview::getId, id) .in(QmsCoaReview::getId, ids)
.set(QmsCoaReview::getDeleted, true) .set(QmsCoaReview::getDeleted, true)
.set(QmsCoaReview::getUpdateBy, UserUtil.getUserName()) .set(QmsCoaReview::getUpdateBy, UserUtil.getUserName())
.set(QmsCoaReview::getUpdateTime, LocalDateTime.now()) .set(QmsCoaReview::getUpdateTime, LocalDateTime.now())
@ -451,9 +460,10 @@ public class QmsCoaReviewServiceImpl extends ServiceImpl<QmsCoaReviewMapper, Qms
final Set<Long> finalSupplierIds = filteredSupplierIds; final Set<Long> finalSupplierIds = filteredSupplierIds;
final Set<Long> finalMaterialIds = filteredMaterialIds; final Set<Long> finalMaterialIds = filteredMaterialIds;
// 构建查询只能查看属于当前SQE任务的审核记录 // 构建查询只能查看属于当前SQE任务的审核记录且状态不为0排除待提交
var query = lambdaQuery() var query = lambdaQuery()
.in(QmsCoaReview::getTaskId, taskIds) .in(QmsCoaReview::getTaskId, taskIds)
.ne(QmsCoaReview::getStatus, 0)
.ne(QmsCoaReview::getDeleted, true) .ne(QmsCoaReview::getDeleted, true)
.eq(StrUtil.isNotBlank(qo.getPurchaseNo()), QmsCoaReview::getPurchaseNo, qo.getPurchaseNo()) .eq(StrUtil.isNotBlank(qo.getPurchaseNo()), QmsCoaReview::getPurchaseNo, qo.getPurchaseNo())
.orderByDesc(QmsCoaReview::getCreateTime); .orderByDesc(QmsCoaReview::getCreateTime);

View File

@ -9,7 +9,11 @@
us.supplier_code, us.supplier_code,
us.supplier_name, us.supplier_name,
STRING_AGG(DISTINCT u.user_name, ',' ORDER BY u.user_name) AS user_name, STRING_AGG(DISTINCT u.user_name, ',' ORDER BY u.user_name) AS user_name,
BOOL_AND(qssm.enable) AS enable BOOL_AND(qssm.enable) AS enable,
MAX(qssm.create_time) AS create_time,
MAX(qssm.create_by) AS create_by,
MAX(qssm.update_time) AS update_time,
MAX(qssm.update_by) AS update_by
FROM qms_supplier_sqe_map qssm FROM qms_supplier_sqe_map qssm
LEFT JOIN user_supplier us ON us.id = qssm.supplier_id LEFT JOIN user_supplier us ON us.id = qssm.supplier_id
LEFT JOIN "user" u ON u.id = qssm.user_id LEFT JOIN "user" u ON u.id = qssm.user_id