新增混炼示方生成预览与批量创建功能,优化相关字段及用户交互,修复界面显示问题,增强系统稳定性和用户体验。

This commit is contained in:
geht
2026-05-22 19:43:41 +08:00
parent f3e3a99ebc
commit c85657d199
30 changed files with 1786 additions and 61 deletions

View File

@@ -49,6 +49,9 @@ public class SysCategory implements Serializable,Comparable<SysCategory>{
/**是否有子节点*/
@Excel(name = "是否有子节点(1:有)", width = 15)
private java.lang.String hasChild;
/**是否胶料(仅原辅材料子类有效) 1是/0否*/
@Excel(name = "是否胶料", width = 15)
private java.lang.String isRubber;
/**租户ID*/
private java.lang.Integer tenantId;

View File

@@ -29,6 +29,9 @@ 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";
@Override
public void addSysCategory(SysCategory sysCategory) {
String categoryPid = ISysCategoryService.ROOT_PID_VALUE;
@@ -64,6 +67,9 @@ public class SysCategoryServiceImpl extends ServiceImpl<SysCategoryMapper, SysCa
sysCategory.setCode(customCode);
}
sysCategory.setPid(categoryPid);
//update-begin---author:cursor ---date:20260522 for【XSLMES-20260522-A31】原辅材料子类胶料标记归一化-----------
normalizeIsRubber(sysCategory);
//update-end---author:cursor ---date:20260522 for【XSLMES-20260522-A31】原辅材料子类胶料标记归一化-----------
baseMapper.insert(sysCategory);
}
@@ -91,9 +97,35 @@ public class SysCategoryServiceImpl extends ServiceImpl<SysCategoryMapper, SysCa
}
sysCategory.setCode(newCode);
}
//update-begin---author:cursor ---date:20260522 for【XSLMES-20260522-A31】原辅材料子类胶料标记归一化-----------
normalizeIsRubber(sysCategory);
//update-end---author:cursor ---date:20260522 for【XSLMES-20260522-A31】原辅材料子类胶料标记归一化-----------
baseMapper.updateById(sysCategory);
}
//update-begin---author:cursor ---date:20260522 for【XSLMES-20260522-A31】原辅材料子类胶料标记归一化-----------
/**
* 胶料标记仅对「原辅材料」直接子类生效,其余节点强制为 0。
*/
private void normalizeIsRubber(SysCategory sysCategory) {
if (sysCategory == null) {
return;
}
if (!"1".equals(sysCategory.getIsRubber())) {
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())) {
sysCategory.setIsRubber("0");
}
}
//update-end---author:cursor ---date:20260522 for【XSLMES-20260522-A31】原辅材料子类胶料标记归一化-----------
@Override
public List<TreeSelectModel> queryListByCode(String pcode) throws JeecgBootException{
String pid = ROOT_PID_VALUE;