Commit e624754c authored by chenyuefang's avatar chenyuefang

update

parent df73e992
...@@ -10,6 +10,7 @@ import com.dsk.cscec.domain.bo.CbSummaryActualListBo; ...@@ -10,6 +10,7 @@ import com.dsk.cscec.domain.bo.CbSummaryActualListBo;
import com.dsk.cscec.domain.bo.CbSummaryActualLockBo; import com.dsk.cscec.domain.bo.CbSummaryActualLockBo;
import com.dsk.cscec.domain.bo.CbSummaryBo; import com.dsk.cscec.domain.bo.CbSummaryBo;
import com.dsk.cscec.domain.vo.CbSummaryActualListVo; import com.dsk.cscec.domain.vo.CbSummaryActualListVo;
import com.dsk.cscec.domain.vo.CbSummaryActualVo;
import com.dsk.cscec.domain.vo.CbSummaryCostAccountExportVo; import com.dsk.cscec.domain.vo.CbSummaryCostAccountExportVo;
import com.dsk.cscec.domain.vo.CbSummaryProjectExportVo; import com.dsk.cscec.domain.vo.CbSummaryProjectExportVo;
import com.dsk.cscec.service.CbSummaryService; import com.dsk.cscec.service.CbSummaryService;
...@@ -58,6 +59,11 @@ public class CbSummaryController extends BaseController { ...@@ -58,6 +59,11 @@ public class CbSummaryController extends BaseController {
return R.ok(cbSummaryService.getActualList(bo)); return R.ok(cbSummaryService.getActualList(bo));
} }
@GetMapping("/allList")
public R<List<CbSummaryActualVo>> getAllList(CbSummaryActualListBo bo) {
return R.ok(cbSummaryService.getAllList(bo));
}
/** /**
* 已添加成本月份 * 已添加成本月份
* *
......
...@@ -13,7 +13,7 @@ import java.util.List; ...@@ -13,7 +13,7 @@ import java.util.List;
* @since 2024-02-06 * @since 2024-02-06
*/ */
@Data @Data
public class CbSummaryActualListVo extends BaseEntity { public class CbSummaryActualListVo {
/** /**
* 主键id * 主键id
*/ */
......
package com.dsk.cscec.domain.vo;
import lombok.Data;
import java.util.List;
/**
* 成本汇总
*
* @author cyf
* @since 2024-02-06
*/
@Data
public class CbSummaryActualVo {
/**
* 主键id
*/
private Long id;
/**
* 项目id
*/
private Long projectId;
/**
* 成本阶段( 0:标前成本、1:标后成本、2:转固成本)
*/
private Integer cbStage;
/**
* 层级
*/
private Integer level;
/**
* 序号
*/
private String number;
/**
* 名称/成本科目
*/
private String cbName;
/**
* 不含税成本合价
*/
private String taxExclusiveTotal;
/**
* 成本税金合价
*/
private String cbTaxesTotal;
/**
* 含税成本合价
*/
private String taxInclusiveTotal;
/**
* 成本占比
*/
private String cbProportion;
/**
* 含税成本平米指标
*/
private String taxInclusivePmTarget;
/**
* 备注
*/
private String remark;
/**
* 费用id
*/
private Long actualId;
/**
* 本月费用(含税)
*/
private Double taxInclusiveExpense;
/**
* 本月费用(不含税)
*/
private Double taxExclusiveExpense;
/**
* 截至本月费用(含税)
*/
private Double taxInclusiveExpenseTotal;
/**
* 截至本月费用(不含税)
*/
private Double taxExclusiveExpenseTotal;
/**
* 费用日期
*/
private String expenseDate;
private List<CbSummaryActualVo> children;
}
...@@ -8,6 +8,7 @@ import com.dsk.cscec.domain.bo.CbSummaryActualListBo; ...@@ -8,6 +8,7 @@ import com.dsk.cscec.domain.bo.CbSummaryActualListBo;
import com.dsk.cscec.domain.bo.CbSummaryActualLockBo; import com.dsk.cscec.domain.bo.CbSummaryActualLockBo;
import com.dsk.cscec.domain.bo.CbSummaryBo; import com.dsk.cscec.domain.bo.CbSummaryBo;
import com.dsk.cscec.domain.vo.CbSummaryActualListVo; import com.dsk.cscec.domain.vo.CbSummaryActualListVo;
import com.dsk.cscec.domain.vo.CbSummaryActualVo;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -42,7 +43,7 @@ public interface CbSummaryService extends IService<CbSummary> { ...@@ -42,7 +43,7 @@ public interface CbSummaryService extends IService<CbSummary> {
* @return * @return
*/ */
List<CbSummaryActualListVo> getActualList(CbSummaryActualListBo bo); List<CbSummaryActualListVo> getActualList(CbSummaryActualListBo bo);
List<CbSummaryActualVo> getAllList(CbSummaryActualListBo bo);
/** /**
* 获取已添加成本月份 * 获取已添加成本月份
* *
......
...@@ -375,6 +375,60 @@ public class CbSummaryServiceImpl extends ServiceImpl<CbSummaryMapper, CbSummary ...@@ -375,6 +375,60 @@ public class CbSummaryServiceImpl extends ServiceImpl<CbSummaryMapper, CbSummary
} }
@Override
public List<CbSummaryActualVo> getAllList(CbSummaryActualListBo bo) {
Assert.notNull(bo.getId(), "id不能为空");
Assert.notNull(bo.getCbType(), "成本类型不能为空");
if (StringUtil.isBlank(bo.getExpenseDate())) {
//默认当前月
bo.setExpenseDate(DatePattern.SIMPLE_MONTH_FORMAT.format(new Date()));
}
List<CbSummaryActualListVo> list = new ArrayList<>();
//当前父级数据
CbSummaryActualListVo cbSummaryActualListVo = baseMapper.getById(bo.getId(), bo.getExpenseDate());
if (ObjectUtil.isEmpty(cbSummaryActualListVo)) {
return new ArrayList<>();
}
//截至本月费用汇总
Map<String, BigDecimal> parentTotal = cbSummaryActualMapper.getTotal(cbSummaryActualListVo.getId(), bo.getExpenseDate());
cbSummaryActualListVo.setTaxExclusiveExpenseTotal(parentTotal.get("taxExclusiveExpenseTotal").doubleValue());
cbSummaryActualListVo.setTaxInclusiveExpenseTotal(parentTotal.get("taxInclusiveExpenseTotal").doubleValue());
List<CbSummaryActualListVo> childrenList = baseMapper.getByParentId(bo.getId(), bo.getExpenseDate());
//截至本月费用汇总
childrenList.parallelStream().forEach(children -> {
Map<String, BigDecimal> total = cbSummaryActualMapper.getTotal(children.getId(), bo.getExpenseDate());
children.setTaxExclusiveExpenseTotal(total.get("taxExclusiveExpenseTotal").doubleValue());
children.setTaxInclusiveExpenseTotal(total.get("taxInclusiveExpenseTotal").doubleValue());
});
if (CollectionUtil.isNotEmpty(childrenList)) {
cbSummaryActualListVo.setHasChildren(1);
} else {
cbSummaryActualListVo.setHasChildren(0);
}
if (0 == cbSummaryActualListVo.getLevel() && 1 == bo.getCbType()) {
//项目汇总一级列表
list = childrenList;
// return childrenList;
} else if (0 == cbSummaryActualListVo.getLevel() && 2 == bo.getCbType()) {
//成本科目汇总一级列表
cbSummaryActualListVo.setChildren(childrenList);
list.add(cbSummaryActualListVo);
// return list;
} else {
//递归列表
childrenList = getProjectSumList(bo);
cbSummaryActualListVo.setChildren(childrenList);
list.add(cbSummaryActualListVo);
// return list;
}
List<CbSummaryActualVo> resultList = BeanUtil.copyToList(list,CbSummaryActualVo.class);
return resultList;
}
/** /**
* 成本汇总递归列表 * 成本汇总递归列表
* *
......
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