快检标准新增

This commit is contained in:
2026-06-16 15:35:54 +08:00
parent be215d604d
commit 7f0f8a3a2f
15 changed files with 684 additions and 50 deletions

View File

@@ -16,8 +16,12 @@ import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.common.system.vo.LoginUser;
import org.apache.shiro.SecurityUtils;
import org.jeecg.modules.mes.material.entity.MesMaterial;
import org.jeecg.modules.mes.material.service.IMesMaterialService;
import org.jeecg.modules.system.entity.SysUser;
import org.jeecg.modules.system.service.ISysUserService;
import org.jeecg.modules.xslmes.entity.MesXslRubberQuickTestRecord;
import org.jeecg.modules.xslmes.entity.MesXslRubberQuickTestRecordLine;
import org.jeecg.modules.xslmes.entity.MesXslRubberQuickTestType;
@@ -49,6 +53,9 @@ public class MesXslRubberQuickTestRecordController
@Autowired
private IMesXslRubberQuickTestTypeService mesXslRubberQuickTestTypeService;
@Autowired
private ISysUserService sysUserService;
@Operation(summary = "MES胶料快检记录-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<MesXslRubberQuickTestRecord>> queryPageList(
@@ -110,6 +117,9 @@ public class MesXslRubberQuickTestRecordController
@PostMapping(value = "/batchFromMaterial")
public Result<List<String>> batchFromMaterial(@RequestBody MesXslRubberQuickTestRecordBatchFromMaterialVO vo) {
try {
//update-begin---author:jiangxh ---date:20260616 for【MES】胶料快检记录批量生成默认带出当前登录检验人-----------
fillInspectorIfEmpty(vo);
//update-end---author:jiangxh ---date:20260616 for【MES】胶料快检记录批量生成默认带出当前登录检验人-----------
List<String> ids = mesXslRubberQuickTestRecordService.batchFromMaterial(vo);
return Result.OK("成功生成 " + ids.size() + " 条快检记录", ids);
} catch (Exception e) {
@@ -186,6 +196,10 @@ public class MesXslRubberQuickTestRecordController
main.setQuickTestTypeName(type.getTypeName());
}
//update-begin---author:jiangxh ---date:20260616 for【MES】胶料快检记录保存时补全检验人姓名冗余-----------
resolveInspector(main);
//update-end---author:jiangxh ---date:20260616 for【MES】胶料快检记录保存时补全检验人姓名冗余-----------
if (lineList == null || lineList.isEmpty()) {
return "请维护检验明细";
}
@@ -197,4 +211,35 @@ public class MesXslRubberQuickTestRecordController
}
return null;
}
//update-begin---author:jiangxh ---date:20260616 for【MES】胶料快检记录检验人冗余字段补全-----------
private void resolveInspector(MesXslRubberQuickTestRecord main) {
if (main == null || oConvertUtils.isEmpty(main.getInspectorUserId())) {
return;
}
if (oConvertUtils.isNotEmpty(main.getInspectorRealname())) {
return;
}
SysUser user = sysUserService.getById(main.getInspectorUserId().trim());
if (user != null) {
main.setInspectorUsername(user.getUsername());
main.setInspectorRealname(user.getRealname());
}
}
private void fillInspectorIfEmpty(MesXslRubberQuickTestRecordBatchFromMaterialVO vo) {
if (vo == null || oConvertUtils.isNotEmpty(vo.getInspectorUserId())) {
return;
}
if (SecurityUtils.getSubject() == null || SecurityUtils.getSubject().getPrincipal() == null) {
return;
}
if (!(SecurityUtils.getSubject().getPrincipal() instanceof LoginUser user)) {
return;
}
vo.setInspectorUserId(user.getId());
vo.setInspectorUsername(user.getUsername());
vo.setInspectorRealname(user.getRealname());
}
//update-end---author:jiangxh ---date:20260616 for【MES】胶料快检记录检验人冗余字段补全-----------
}

View File

@@ -238,13 +238,6 @@ public class MesXslRubberQuickTestStdController
if (main == null) {
return "参数不能为空";
}
if (oConvertUtils.isEmpty(main.getStdName())) {
return "实验标准名称不能为空";
}
main.setStdName(main.getStdName().trim());
if (mesXslRubberQuickTestStdService.isStdNameDuplicated(main.getStdName(), excludeId, main)) {
return "实验标准名称已存在";
}
if (oConvertUtils.isEmpty(main.getTestMethodId())) {
return "请选择实验方法";
}
@@ -254,13 +247,22 @@ public class MesXslRubberQuickTestStdController
}
main.setTestMethodName(method.getMethodName());
if (oConvertUtils.isNotEmpty(main.getRubberMaterialId())) {
MesMaterial material = mesMaterialService.getById(main.getRubberMaterialId());
if (material == null) {
return "所选胶料不存在";
}
main.setRubberMaterialName(material.getMaterialName());
if (oConvertUtils.isEmpty(main.getRubberMaterialId())) {
return "请选择胶料信息";
}
MesMaterial material = mesMaterialService.getById(main.getRubberMaterialId());
if (material == null) {
return "所选胶料不存在";
}
main.setRubberMaterialName(material.getMaterialName());
//update-begin---author:jiangxh ---date:20260616 for【MES】胶料快检实验标准名称自动生成实验方法名称_胶料名称-----------
String stdName = main.getTestMethodName().trim() + "_" + main.getRubberMaterialName().trim();
main.setStdName(stdName);
if (mesXslRubberQuickTestStdService.isStdNameDuplicated(stdName, excludeId, main)) {
return "实验标准名称已存在";
}
//update-end---author:jiangxh ---date:20260616 for【MES】胶料快检实验标准名称自动生成实验方法名称_胶料名称-----------
if (oConvertUtils.isNotEmpty(main.getPsCompileId())) {
MesXslMixerPsCompile ps = mesXslMixerPsCompileService.getById(main.getPsCompileId());

View File

@@ -78,6 +78,7 @@ public class MesXslRubberQuickTestRecord implements Serializable {
private Date inspectTime;
@Schema(description = "检验人用户ID")
@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "id")
private String inspectorUserId;
private String inspectorUsername;

View File

@@ -200,7 +200,7 @@ public class MesXslRubberQuickTestRecordServiceImpl
if (CollectionUtils.isEmpty(stdLines)) {
throw new JeecgBootException("胶料【" + material.getMaterialName() + "】关联的实验标准无明细数据");
}
MesXslRubberQuickTestRecord main = buildMainFromMaterial(material, std);
MesXslRubberQuickTestRecord main = buildMainFromMaterial(material, std, vo);
List<MesXslRubberQuickTestRecordLine> recordLines = new ArrayList<>();
for (MesXslRubberQuickTestStdLine stdLine : stdLines) {
MesXslRubberQuickTestRecordLine rl = new MesXslRubberQuickTestRecordLine();
@@ -230,7 +230,8 @@ public class MesXslRubberQuickTestRecordServiceImpl
return mesXslRubberQuickTestStdService.getOne(w, false);
}
private MesXslRubberQuickTestRecord buildMainFromMaterial(MesMaterial material, MesXslRubberQuickTestStd std) {
private MesXslRubberQuickTestRecord buildMainFromMaterial(
MesMaterial material, MesXslRubberQuickTestStd std, MesXslRubberQuickTestRecordBatchFromMaterialVO vo) {
MesXslRubberQuickTestRecord main = new MesXslRubberQuickTestRecord();
main.setRubberMaterialId(material.getId());
main.setRubberMaterialName(material.getMaterialName());
@@ -241,6 +242,30 @@ public class MesXslRubberQuickTestRecordServiceImpl
fillQuickTestType(main, method.getQuickTestTypeId());
}
}
//update-begin---author:jiangxh ---date:20260616 for【MES】胶料快检记录批量生成写入检验人等共用字段-----------
if (vo != null) {
main.setProdEquipmentLedgerId(vo.getProdEquipmentLedgerId());
main.setProdEquipmentName(vo.getProdEquipmentName());
main.setProductionDate(vo.getProductionDate());
main.setTrainNo(vo.getTrainNo());
main.setWorkShift(vo.getWorkShift());
main.setWorkTeam(vo.getWorkTeam());
main.setInspectTimes(vo.getInspectTimes());
main.setInspectTime(vo.getInspectTime());
main.setInspectorUserId(vo.getInspectorUserId());
main.setInspectorUsername(vo.getInspectorUsername());
main.setInspectorRealname(vo.getInspectorRealname());
if (oConvertUtils.isNotEmpty(vo.getQuickTestTypeId())) {
fillQuickTestType(main, vo.getQuickTestTypeId());
}
main.setInspectResult(vo.getInspectResult());
main.setProductionPlanNo(vo.getProductionPlanNo());
main.setInspectEquipmentLedgerId(vo.getInspectEquipmentLedgerId());
main.setInspectEquipmentName(vo.getInspectEquipmentName());
main.setRubberCardNo(vo.getRubberCardNo());
main.setRubberBatchNo(vo.getRubberBatchNo());
}
//update-end---author:jiangxh ---date:20260616 for【MES】胶料快检记录批量生成写入检验人等共用字段-----------
return main;
}