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

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

parent b55c8799
......@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.ReUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.common.excel.ExcelUtils;
......@@ -65,7 +66,7 @@ public class CbDirectExpenseServiceImpl extends ServiceImpl<CbDirectExpenseMappe
//校验项目是否存在
this.checkProjectExist(projectId);
//查询清单/费用项分类标识为数字的数字
//查询清单/费用项分类标识为数字123的数据
List<CbDirectExpenseMenuVo> menuVoList = baseMapper.selectMenuData(projectId, regx, CbProjectConstants.DELETE_FLAG_EXIST);
Assert.isFalse(menuVoList.isEmpty(), "当前项目不存在直接费菜单");
......@@ -241,19 +242,28 @@ public class CbDirectExpenseServiceImpl extends ServiceImpl<CbDirectExpenseMappe
*/
@Override
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::getExpenseCategoryTag, CbProjectConstants.DIRECT_EXPENSE_CATEGORY_TAG_QING)
), CbDirectExpenseDataDetailVo.class);
Assert.isFalse(qingList.isEmpty(), "该菜单下无数据");
Assert.isFalse(level4List.isEmpty(), "该菜单下无数据");
//生成数据树形
qingList.forEach(qing -> {
qing.getChildrenList().addAll(BeanUtil.copyToList(baseMapper.selectList(new LambdaQueryWrapper<CbDirectExpense>()
.eq(CbDirectExpense::getParentId, qing.getId())), CbDirectExpenseDataDetailVo.class));
this.generateDataDetailTree(level4List);
return level4List;
}
//生成数据详情树形
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