Commit f8c33abc authored by 施翔轲's avatar 施翔轲

修复直接费数据详情显示不正确的问题

parent b55c8799
...@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; ...@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.lang.Assert; import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.ReUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.common.excel.ExcelUtils; import com.dsk.common.excel.ExcelUtils;
...@@ -65,7 +66,7 @@ public class CbDirectExpenseServiceImpl extends ServiceImpl<CbDirectExpenseMappe ...@@ -65,7 +66,7 @@ public class CbDirectExpenseServiceImpl extends ServiceImpl<CbDirectExpenseMappe
//校验项目是否存在 //校验项目是否存在
this.checkProjectExist(projectId); this.checkProjectExist(projectId);
//查询清单/费用项分类标识为数字的数字 //查询清单/费用项分类标识为数字123的数据
List<CbDirectExpenseMenuVo> menuVoList = baseMapper.selectMenuData(projectId, regx, CbProjectConstants.DELETE_FLAG_EXIST); List<CbDirectExpenseMenuVo> menuVoList = baseMapper.selectMenuData(projectId, regx, CbProjectConstants.DELETE_FLAG_EXIST);
Assert.isFalse(menuVoList.isEmpty(), "当前项目不存在直接费菜单"); Assert.isFalse(menuVoList.isEmpty(), "当前项目不存在直接费菜单");
...@@ -241,19 +242,28 @@ public class CbDirectExpenseServiceImpl extends ServiceImpl<CbDirectExpenseMappe ...@@ -241,19 +242,28 @@ public class CbDirectExpenseServiceImpl extends ServiceImpl<CbDirectExpenseMappe
*/ */
@Override @Override
public List<CbDirectExpenseDataDetailVo> getDataDetail(Long menuId) { public List<CbDirectExpenseDataDetailVo> getDataDetail(Long menuId) {
//查询该菜单下的 //查询该菜单下的子集
List<CbDirectExpenseDataDetailVo> qingList = BeanUtil.copyToList(baseMapper.selectList(new LambdaQueryWrapper<CbDirectExpense>() List<CbDirectExpenseDataDetailVo> level4List = BeanUtil.copyToList(baseMapper.selectList(new LambdaQueryWrapper<CbDirectExpense>()
.eq(CbDirectExpense::getParentId, menuId) .eq(CbDirectExpense::getParentId, menuId)
//.eq(CbDirectExpense::getExpenseCategoryTag, CbProjectConstants.DIRECT_EXPENSE_CATEGORY_TAG_QING)
), CbDirectExpenseDataDetailVo.class); ), CbDirectExpenseDataDetailVo.class);
Assert.isFalse(qingList.isEmpty(), "该菜单下无数据"); Assert.isFalse(level4List.isEmpty(), "该菜单下无数据");
//生成数据树形 //生成数据树形
qingList.forEach(qing -> { this.generateDataDetailTree(level4List);
qing.getChildrenList().addAll(BeanUtil.copyToList(baseMapper.selectList(new LambdaQueryWrapper<CbDirectExpense>() return level4List;
.eq(CbDirectExpense::getParentId, qing.getId())), CbDirectExpenseDataDetailVo.class)); }
//生成数据详情树形
public void generateDataDetailTree(List<CbDirectExpenseDataDetailVo> level4List) {
level4List.forEach(item -> {
if (ReUtil.isMatch(regx, item.getExpenseCategoryTag())) {
item.setExpenseCategoryTag(null);
}
List<CbDirectExpenseDataDetailVo> childrenList = BeanUtil.copyToList(baseMapper.selectList(new LambdaQueryWrapper<CbDirectExpense>()
.eq(CbDirectExpense::getParentId, item.getId())), CbDirectExpenseDataDetailVo.class);
item.getChildrenList().addAll(childrenList);
generateDataDetailTree(childrenList);
}); });
return qingList;
} }
/** /**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment