优化混炼示方,新增种类配置

This commit is contained in:
geht
2026-05-25 19:44:14 +08:00
parent c85657d199
commit dc3f305303
34 changed files with 3892 additions and 104 deletions

View File

@@ -29,8 +29,8 @@ import java.util.stream.Collectors;
@Service
public class SysCategoryServiceImpl extends ServiceImpl<SysCategoryMapper, SysCategory> implements ISysCategoryService {
/** 原辅材料分类编码(其子类可标记胶料) */
private static final String MATERIAL_RAW_AUX_CODE = "XSLMES_MATERIAL_RAW_AUX";
/** MES 物料大类编码前缀(其直接子类为物料小类,可标记胶料) */
private static final String MATERIAL_MAJOR_CODE_PREFIX = "XSLMES_MATERIAL_";
@Override
public void addSysCategory(SysCategory sysCategory) {
@@ -103,9 +103,9 @@ public class SysCategoryServiceImpl extends ServiceImpl<SysCategoryMapper, SysCa
baseMapper.updateById(sysCategory);
}
//update-begin---author:cursor ---date:20260522 for【XSLMES-20260522-A31】原辅材料子类胶料标记归一化-----------
//update-begin---author:cursor ---date:20260525 for【XSLMES-20260525-A50】MES物料小类均可维护是否胶料-----------
/**
* 胶料标记仅对「原辅材料」直接子类生效,其余节点强制为 0。
* 胶料标记仅对 MES 物料小类(父节点为物料大类)生效,其余节点强制为 0。
*/
private void normalizeIsRubber(SysCategory sysCategory) {
if (sysCategory == null) {
@@ -115,16 +115,22 @@ public class SysCategoryServiceImpl extends ServiceImpl<SysCategoryMapper, SysCa
sysCategory.setIsRubber("0");
return;
}
if (oConvertUtils.isEmpty(sysCategory.getPid()) || ISysCategoryService.ROOT_PID_VALUE.equals(sysCategory.getPid())) {
sysCategory.setIsRubber("0");
return;
}
SysCategory parent = baseMapper.selectById(sysCategory.getPid());
if (parent == null || !MATERIAL_RAW_AUX_CODE.equals(parent.getCode())) {
if (!isMaterialMinorCategory(sysCategory)) {
sysCategory.setIsRubber("0");
}
}
//update-end---author:cursor ---date:20260522 for【XSLMES-20260522-A31】原辅材料子类胶料标记归一化-----------
private boolean isMaterialMinorCategory(SysCategory category) {
if (category == null || oConvertUtils.isEmpty(category.getPid())) {
return false;
}
SysCategory parent = baseMapper.selectById(category.getPid());
if (parent == null || oConvertUtils.isEmpty(parent.getCode())) {
return false;
}
return parent.getCode().startsWith(MATERIAL_MAJOR_CODE_PREFIX);
}
//update-end---author:cursor ---date:20260525 for【XSLMES-20260525-A50】MES物料小类均可维护是否胶料-----------
@Override
public List<TreeSelectModel> queryListByCode(String pcode) throws JeecgBootException{