Browse Source

feat(qms): 新增 IQC 专用检验方法功能

- 添加 qcMethodSaveIqc 接口用于 IQC 专用检验方法新增
- 实现 IQC 检验类型验证,仅允许类型编号为 105 的数据
- 添加方法编码必填验证和去重检查逻辑
- 集成 QcSiteBuHelper 处理站点和业务单元解析
- 实现主键冲突防护机制,避免重复编码导致的数据异常
master
qiankanghui 3 weeks ago
parent
commit
e3d16d59fa
  1. 9
      src/main/java/com/xujie/modules/qms/controller/QcController.java
  2. 2
      src/main/java/com/xujie/modules/qms/service/QcService.java
  3. 24
      src/main/java/com/xujie/modules/qms/service/impl/QcServiceImpl.java

9
src/main/java/com/xujie/modules/qms/controller/QcController.java

@ -65,6 +65,15 @@ public class QcController {
return R.ok();
}
/**
* @description: 新增检验方法(IQC 专用,方法编码手动输入)
**/
@PostMapping(value="/qcMethodSaveIqc")
public R qcMethodSaveIqc(@RequestBody QcMethodData data) {
qcService.qcMethodSaveIqc(data);
return R.ok();
}
/**
* @description: 修改检验方法
* @author: fengyuan_yang

2
src/main/java/com/xujie/modules/qms/service/QcService.java

@ -32,6 +32,8 @@ public interface QcService {
void qcMethodSave(QcMethodData data);
void qcMethodSaveIqc(QcMethodData data);
void qcMethodUpdate(QcMethodData data);
void qcMethodDelete(QcMethodData data);

24
src/main/java/com/xujie/modules/qms/service/impl/QcServiceImpl.java

@ -159,6 +159,30 @@ public class QcServiceImpl implements QcService {
qcMapper.qcMethodSave(data);
}
/**
* 新增检验方法(IQC 专用,方法编码由前端手动输入)
**/
@Override
public void qcMethodSaveIqc(QcMethodData data) {
QcSiteBuHelper.resolveSiteAndBu(data.getBu(), data::setSite, data::setBuNo);
// 仅允许 IQC
if (!"105".equals(data.getInspectionTypeNo())) {
throw new RuntimeException("该方法仅支持 IQC 检验类型!");
}
// 编码必填
if (StringUtils.isBlank(data.getMethodNo())) {
throw new RuntimeException("方法编码不能为空!");
}
data.setMethodNo(data.getMethodNo().trim());
// 查重:编码已存在时明确报错,避免主键冲突
List<QcMethodData> checkMethod = qcMapper.checkMethodOnlyOne(data);
if (!checkMethod.isEmpty()) {
throw new RuntimeException("该方法编码已存在:" + data.getMethodNo());
}
// 新增数据
qcMapper.qcMethodSave(data);
}
/**
* 修改检验方法
**/

Loading…
Cancel
Save