refactor(wms): 统一钢卷质量状态更新逻辑,集中管理改判记录

1. 新增统一的updateQualityStatus方法,封装钢卷质量状态更新和改判日志记录逻辑
2. 替换mes模块中直接更新钢卷状态和插入改判日志的代码,改用统一服务方法
3. 移除冗余的改判日志Mapper注入和手动插入代码
This commit is contained in:
王文昊
2026-07-04 10:54:41 +08:00
parent 827555aa43
commit 32455daf42
3 changed files with 51 additions and 16 deletions

View File

@@ -9,10 +9,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.klp.common.core.domain.PageQuery;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.utils.StringUtils;
import com.klp.domain.WmsCoilQualityRejudge;
import com.klp.domain.WmsMaterialCoil;
import com.klp.mapper.WmsCoilQualityRejudgeMapper;
import com.klp.mapper.WmsMaterialCoilMapper;
import com.klp.service.IWmsMaterialCoilService;
import com.klp.mes.qc.domain.QcQualityReview;
import com.klp.mes.qc.domain.QcQualityReviewCoil;
import com.klp.mes.qc.domain.QcQualityReviewLog;
@@ -49,7 +48,7 @@ public class QcQualityReviewServiceImpl implements IQcQualityReviewService {
private final QcQualityReviewCoilMapper coilMapper;
private final QcQualityReviewLogMapper logMapper;
private final WmsMaterialCoilMapper wmsMaterialCoilMapper;
private final WmsCoilQualityRejudgeMapper wmsCoilQualityRejudgeMapper;
private final IWmsMaterialCoilService wmsMaterialCoilService;
/**
* 查询评审单详情(含钢卷明细和审批日志)
@@ -289,23 +288,15 @@ public class QcQualityReviewServiceImpl implements IQcQualityReviewService {
}
Date now = new Date();
String reason = "异常产品评审改判,评审单号:" + review.getReviewNo();
for (QcQualityReviewCoil coil : coilList) {
// 1. 写入 wms_coil_quality_rejudge 改判记录
WmsCoilQualityRejudge rejudge = new WmsCoilQualityRejudge();
rejudge.setCoilId(coil.getCoilId());
rejudge.setBeforeQuality(coil.getBeforeQuality());
rejudge.setAfterQuality(coil.getRegradeQuality());
rejudge.setRejudgeReason("异常产品评审改判,评审单号:" + review.getReviewNo());
wmsCoilQualityRejudgeMapper.insert(rejudge);
// 2. 更新钢卷的 qualityStatus 为改判后的值
// 1. 通过统一方法更新钢卷质量状态 + 自动记录改判日志
if (coil.getCoilId() != null && StringUtils.isNotBlank(coil.getRegradeQuality())) {
wmsMaterialCoilMapper.update(null, Wrappers.<WmsMaterialCoil>lambdaUpdate()
.eq(WmsMaterialCoil::getCoilId, coil.getCoilId())
.set(WmsMaterialCoil::getQualityStatus, coil.getRegradeQuality()));
wmsMaterialCoilService.updateQualityStatus(
coil.getCoilId(), coil.getRegradeQuality(), reason);
}
// 3. 更新明细执行状态
// 2. 更新明细执行状态
coilMapper.update(null, Wrappers.<QcQualityReviewCoil>lambdaUpdate()
.eq(QcQualityReviewCoil::getDetailId, coil.getDetailId())
.set(QcQualityReviewCoil::getExecuteStatus, 1L)