Commit acede891 authored by tianhongyang's avatar tianhongyang

Merge branch 'V20231129-中建一局二公司' of http://192.168.60.201/root/dsk-operate-sys...

Merge branch 'V20231129-中建一局二公司' of http://192.168.60.201/root/dsk-operate-sys into V20231129-中建一局二公司
parents b25928a8 8dcf3342
......@@ -10,6 +10,7 @@ import com.dsk.cscec.domain.bo.CbSummaryActualListBo;
import com.dsk.cscec.domain.bo.CbSummaryActualLockBo;
import com.dsk.cscec.domain.bo.CbSummaryBo;
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.CbSummaryProjectExportVo;
import com.dsk.cscec.service.CbSummaryService;
......@@ -58,6 +59,11 @@ public class CbSummaryController extends BaseController {
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;
* @since 2024-02-06
*/
@Data
public class CbSummaryActualListVo extends BaseEntity {
public class CbSummaryActualListVo {
/**
* 主键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;
import com.dsk.cscec.domain.bo.CbSummaryActualLockBo;
import com.dsk.cscec.domain.bo.CbSummaryBo;
import com.dsk.cscec.domain.vo.CbSummaryActualListVo;
import com.dsk.cscec.domain.vo.CbSummaryActualVo;
import java.util.List;
import java.util.Map;
......@@ -42,7 +43,7 @@ public interface CbSummaryService extends IService<CbSummary> {
* @return
*/
List<CbSummaryActualListVo> getActualList(CbSummaryActualListBo bo);
List<CbSummaryActualVo> getAllList(CbSummaryActualListBo bo);
/**
* 获取已添加成本月份
*
......
......@@ -19,6 +19,7 @@ import com.dsk.cscec.domain.bo.CbSummaryActualListBo;
import com.dsk.cscec.domain.bo.CbSummaryActualLockBo;
import com.dsk.cscec.domain.bo.CbSummaryBo;
import com.dsk.cscec.domain.vo.CbSummaryActualListVo;
import com.dsk.cscec.domain.vo.CbSummaryActualVo;
import com.dsk.cscec.domain.vo.CbSummaryCostAccountImportVo;
import com.dsk.cscec.domain.vo.CbSummaryProjectImportVo;
import com.dsk.cscec.listener.CbSummaryCostAccountImportListener;
......@@ -329,18 +330,18 @@ public class CbSummaryServiceImpl extends ServiceImpl<CbSummaryMapper, CbSummary
if (ObjectUtil.isEmpty(cbSummaryActualListVo)) {
return list;
}
//截至本月费用汇总
Map<String, BigDecimal> parentTotal = cbSummaryActualMapper.getTotal(cbSummaryActualListVo.getId(), bo.getExpenseDate());
cbSummaryActualListVo.setTaxExclusiveExpenseTotal(parentTotal.get("taxExclusiveExpenseTotal").doubleValue());
cbSummaryActualListVo.setTaxInclusiveExpenseTotal(parentTotal.get("taxInclusiveExpenseTotal").doubleValue());
// //截至本月费用汇总
// 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());
});
// //截至本月费用汇总
// 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 {
......@@ -375,6 +376,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;
}
/**
* 成本汇总递归列表
*
......@@ -389,10 +444,10 @@ public class CbSummaryServiceImpl extends ServiceImpl<CbSummaryMapper, CbSummary
childBo.setId(children.getId());
childBo.setExpenseDate(bo.getExpenseDate());
children.setChildren(getProjectSumList(childBo));
//截至本月费用汇总
Map<String, BigDecimal> total = cbSummaryActualMapper.getTotal(children.getId(), bo.getExpenseDate());
children.setTaxExclusiveExpenseTotal(total.get("taxExclusiveExpenseTotal").doubleValue());
children.setTaxInclusiveExpenseTotal(total.get("taxInclusiveExpenseTotal").doubleValue());
// //截至本月费用汇总
// Map<String, BigDecimal> total = cbSummaryActualMapper.getTotal(children.getId(), bo.getExpenseDate());
// children.setTaxExclusiveExpenseTotal(total.get("taxExclusiveExpenseTotal").doubleValue());
// children.setTaxInclusiveExpenseTotal(total.get("taxInclusiveExpenseTotal").doubleValue());
});
return childrenList;
......
......@@ -30,20 +30,25 @@
</sql>
<select id="getByParentId" resultType="com.dsk.cscec.domain.vo.CbSummaryActualListVo">
select csu.*,csa.id actualId,csa.tax_inclusive_expense,csa.tax_exclusive_expense,csa.expense_date
select csu.*,csa.id actualId,csa.tax_inclusive_expense,csa.tax_exclusive_expense,csa.expense_date,
ifnull(sum(csa1.tax_inclusive_expense),0) taxInclusiveExpenseTotal,ifnull(sum(csa1.tax_exclusive_expense),0) taxExclusiveExpenseTotal
from cb_summary csu
left join cb_summary_actual csa on csu.id = csa.cb_summary_id and csa.expense_date = #{expenseDate} AND csa.del_flag = 0
left join cb_summary_actual csa1 on csu.id = csa1.cb_summary_id and csa1.expense_date &lt;= #{expenseDate} AND csa.del_flag = 0
<where>
csu.parent_id = #{parentId}
and csu.del_flag = 0
</where>
group by csu.id
order by csu.sort
</select>
<select id="getById" resultType="com.dsk.cscec.domain.vo.CbSummaryActualListVo">
select csu.*,csa.id actualId,csa.tax_inclusive_expense,csa.tax_exclusive_expense,csa.expense_date
select csu.*,csa.id actualId,csa.tax_inclusive_expense,csa.tax_exclusive_expense,csa.expense_date,
ifnull(sum(csa1.tax_inclusive_expense),0) taxInclusiveExpenseTotal,ifnull(sum(csa1.tax_exclusive_expense),0) taxExclusiveExpenseTotal
from cb_summary csu
left join cb_summary_actual csa on csu.id = csa.cb_summary_id and csa.expense_date = #{expenseDate} AND csa.del_flag = 0
left join cb_summary_actual csa1 on csu.id = csa1.cb_summary_id and csa1.expense_date &lt;= #{expenseDate} AND csa.del_flag = 0
<where>
csu.id = #{id}
and csu.del_flag = 0
......
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