Compare commits

...

2 Commits

Author SHA1 Message Date
yf001217 83098677eb 修改接口 2026-04-20 13:50:57 +08:00
yf001217 da04ac9e72 修改供应商管理、COA任务接口 2026-04-20 11:48:11 +08:00
8 changed files with 68 additions and 20 deletions

View File

@ -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<Void> delete(@NotNull(message = "ID不能为空") Long id) {
coaReviewService.delete(id);
public ApiResult<Void> delete(@RequestBody List<Long> ids) {
coaReviewService.delete(ids);
return ApiResult.success();
}

View File

@ -20,7 +20,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* COA通知管理 Controller
* COA通知管理
*/
@RestController
@RequestMapping("/coaTask")

View File

@ -39,7 +39,7 @@ import java.time.LocalDate;
import java.util.List;
/**
* 检测项管理 Controller
* 检测项管理
*/
@RestController
@RequestMapping("/inspectionItem")

View File

@ -77,6 +77,11 @@ public class QmsCoaReviewDetailVO {
*/
private String coaFile;
/**
* 报告模板
*/
private String reportTemplate;
/**
* 创建时间
*/

View File

@ -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;
}

View File

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

View File

@ -132,19 +132,28 @@ public class QmsCoaReviewServiceImpl extends ServiceImpl<QmsCoaReviewMapper, Qms
@Transactional
@Override
public void delete(Long id) {
QmsCoaReview review = getById(id);
if (Objects.isNull(review) || Boolean.TRUE.equals(review.getDeleted())) {
throw new NflgException(STATE.BusinessError, "记录不存在");
public void delete(List<Long> ids) {
if (ids == null || ids.isEmpty()) {
throw new NflgException(STATE.BusinessError, "删除ID列表不能为空");
}
// 校验供应商权限
validateSupplierPermission(review.getSupplierId());
// 校验所有记录状态是否为0并校验供应商权限
List<QmsCoaReview> 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<QmsCoaReviewMapper, Qms
final Set<Long> finalSupplierIds = filteredSupplierIds;
final Set<Long> 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<QmsCoaReviewMapper, Qms
vo.setSqeName(user.getUserName());
}
}
// 报告模板从任务表获取
if (Objects.nonNull(review.getTaskId())) {
QmsCoaTask task = coaTaskService.getById(review.getTaskId());
if (Objects.nonNull(task)) {
vo.setReportTemplate(task.getReportTemplate());
}
}
return vo;
}

View File

@ -9,7 +9,11 @@
us.supplier_code,
us.supplier_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
LEFT JOIN user_supplier us ON us.id = qssm.supplier_id
LEFT JOIN "user" u ON u.id = qssm.user_id