Merge remote-tracking branch '惠信/qms/develop' into qms/develop
This commit is contained in:
commit
9136cbf3d4
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ import org.springframework.web.bind.annotation.*;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* COA通知管理 Controller
|
||||
* COA通知管理
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/coaTask")
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ import java.time.LocalDate;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 检测项管理 Controller
|
||||
* 检测项管理
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/inspectionItem")
|
||||
|
|
|
|||
|
|
@ -77,6 +77,11 @@ public class QmsCoaReviewDetailVO {
|
|||
*/
|
||||
private String coaFile;
|
||||
|
||||
/**
|
||||
* 报告模板
|
||||
*/
|
||||
private String reportTemplate;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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审核记录
|
||||
|
|
|
|||
|
|
@ -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())) {
|
||||
public void delete(List<Long> ids) {
|
||||
if (ids == null || ids.isEmpty()) {
|
||||
throw new NflgException(STATE.BusinessError, "删除ID列表不能为空");
|
||||
}
|
||||
// 校验所有记录状态是否为0,并校验供应商权限
|
||||
List<QmsCoaReview> reviews = lambdaQuery()
|
||||
.in(QmsCoaReview::getId, ids)
|
||||
.list();
|
||||
|
||||
for (QmsCoaReview r : reviews) {
|
||||
if (Objects.isNull(r) || Boolean.TRUE.equals(r.getDeleted())) {
|
||||
throw new NflgException(STATE.BusinessError, "记录不存在");
|
||||
}
|
||||
// 校验供应商权限
|
||||
validateSupplierPermission(review.getSupplierId());
|
||||
|
||||
if (!Objects.equals(review.getStatus(), 0)) {
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue