fix(qc): 优化质量评审模块的字典使用与逻辑修复

1. 替换改判状态硬编码选项为系统字典
2. 修复钢卷明细更新的误删问题,仅在传coilList时更新
3. 拆分评审意见表单避免数据串用
4. 补充线上数据库修复脚本与缺失字典
5. 修复钢卷字段名不匹配问题
This commit is contained in:
王文昊
2026-07-01 10:45:20 +08:00
parent 7aea184a81
commit 3fcb03ebc3
4 changed files with 72 additions and 35 deletions

View File

@@ -121,11 +121,13 @@ public class QcQualityReviewServiceImpl implements IQcQualityReviewService {
validEntityBeforeSave(update);
boolean flag = baseMapper.updateById(update) > 0;
if (flag) {
// 先删除原有明细,再重新插入
coilMapper.delete(Wrappers.<QcQualityReviewCoil>lambdaQuery()
.eq(QcQualityReviewCoil::getReviewId, bo.getReviewId()));
if (CollUtil.isNotEmpty(bo.getCoilList())) {
saveCoilList(bo.getReviewId(), bo.getCoilList());
// 只有明确传了coilList才更新钢卷明细saveOpinion等场景不传coilList避免误删
if (bo.getCoilList() != null) {
coilMapper.delete(Wrappers.<QcQualityReviewCoil>lambdaQuery()
.eq(QcQualityReviewCoil::getReviewId, bo.getReviewId()));
if (CollUtil.isNotEmpty(bo.getCoilList())) {
saveCoilList(bo.getReviewId(), bo.getCoilList());
}
}
}
return flag;
@@ -334,6 +336,7 @@ public class QcQualityReviewServiceImpl implements IQcQualityReviewService {
int seq = 1;
for (QcQualityReviewCoilBo coilBo : coilBoList) {
QcQualityReviewCoil coil = BeanUtil.toBean(coilBo, QcQualityReviewCoil.class);
coil.setDetailId(null); // 清空主键,使用数据库自增(避免软删除后重复)
coil.setReviewId(reviewId);
coil.setExecuteStatus(0L);
if (coil.getGroupSeq() == null) {