|
@@ -22,13 +22,13 @@ public class ReimbursementTypeService {
|
|
|
|
|
|
public List<ReimbursementTypeInfo> list(ReimbursementTypeInfo info) {
|
|
|
LambdaQueryWrapper<ReimbursementTypeInfo> wrapper = new LambdaQueryWrapper<>();
|
|
|
- wrapper.eq(BaseEntity::getDelFlag, 0);
|
|
|
if (StringUtils.isNotEmpty(info.getName())) {
|
|
|
wrapper.like(ReimbursementTypeInfo::getName, info.getName());
|
|
|
}
|
|
|
if (StringUtils.isNotEmpty(info.getNo())) {
|
|
|
wrapper.like(ReimbursementTypeInfo::getNo, info.getNo());
|
|
|
}
|
|
|
+ wrapper.eq(BaseEntity::getDelFlag, 0);
|
|
|
wrapper.orderByAsc(ReimbursementTypeInfo::getNo);
|
|
|
return mapper.selectList(wrapper);
|
|
|
}
|
|
@@ -66,8 +66,8 @@ public class ReimbursementTypeService {
|
|
|
info.setUpdateBy(userDto.getId());
|
|
|
info.setUpdateDate(new Date());
|
|
|
info.setDelFlag(0);
|
|
|
- // 生成序号
|
|
|
- info.setNo(getNo(info.getParentId()));
|
|
|
+ // 生成序号/层级
|
|
|
+ getNo(info);
|
|
|
mapper.insert(info);
|
|
|
return "操作完成";
|
|
|
}
|
|
@@ -87,27 +87,46 @@ public class ReimbursementTypeService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 生成序号
|
|
|
- * @param parentId
|
|
|
+ * 生成序号/层级
|
|
|
+ * @param info
|
|
|
* @return
|
|
|
*/
|
|
|
- public String getNo(String parentId) {
|
|
|
- Integer no = mapper.getNo(parentId);
|
|
|
+ public ReimbursementTypeInfo getNo(ReimbursementTypeInfo info) {
|
|
|
+ ReimbursementTypeInfo parentInfo = null;
|
|
|
+ if (!"0".equals(info.getParentId())) {
|
|
|
+ //根据parentId查询父节点信息
|
|
|
+ LambdaQueryWrapper<ReimbursementTypeInfo> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(BaseEntity::getDelFlag, 0);
|
|
|
+ wrapper.eq(BaseEntity::getId, info.getParentId());
|
|
|
+ parentInfo = mapper.selectOne(wrapper);
|
|
|
+ }
|
|
|
+ //查询序号
|
|
|
+ Integer no = mapper.getNo(info.getParentId());
|
|
|
// 该层级下有数据,正常返回序号值
|
|
|
if (no != null) {
|
|
|
- return no.toString();
|
|
|
+ info.setNo(no.toString());
|
|
|
} else {
|
|
|
- // 该层级无数据,根据parentId查询父节点信息
|
|
|
- LambdaQueryWrapper<ReimbursementTypeInfo> wrapper = new LambdaQueryWrapper<>();
|
|
|
- wrapper.eq(BaseEntity::getDelFlag, 0);
|
|
|
- wrapper.eq(BaseEntity::getId, parentId);
|
|
|
- ReimbursementTypeInfo info = mapper.selectOne(wrapper);
|
|
|
// 父节点存在,根据父节点序号生成;不存在,则表示无上级层级,从1开始
|
|
|
- if (info != null) {
|
|
|
- return info.getNo() + "01";
|
|
|
+ if (parentInfo != null) {
|
|
|
+ info.setNo(parentInfo.getNo() + "01");
|
|
|
+ } else {
|
|
|
+ info.setNo("1");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 生成层级
|
|
|
+ //查询层级
|
|
|
+ Integer level = mapper.getLevel(info.getParentId());
|
|
|
+ if (level != null) {
|
|
|
+ info.setLevel(level.toString());
|
|
|
+ } else {
|
|
|
+ // 父节点存在,根据父节点level生成,不存在,则表示无上级层级,从1开始
|
|
|
+ if (parentInfo != null) {
|
|
|
+ Integer i = Integer.parseInt(parentInfo.getLevel())+1;
|
|
|
+ info.setLevel(i.toString());
|
|
|
} else {
|
|
|
- return "1";
|
|
|
+ info.setLevel("1");
|
|
|
}
|
|
|
}
|
|
|
+ return info;
|
|
|
}
|
|
|
}
|