|
@@ -1,5 +1,6 @@
|
|
|
package com.zjugis.business.service.impl;
|
|
|
|
|
|
+import cn.hutool.core.collection.CollectionUtil;
|
|
|
import com.zjugis.business.bean.entity.FinanceCostView;
|
|
|
import com.zjugis.business.bean.entity.Project;
|
|
|
import com.zjugis.business.bean.request.FinanceCostRequest;
|
|
@@ -154,280 +155,27 @@ public class FinanceCostServiceImpl implements FinanceCostService {
|
|
|
List<FinanceCostExcelResponse> excelList = new ArrayList<>();
|
|
|
if (typeList.contains("差旅报销")) {
|
|
|
List<TravelCostDO> travelCostList = travelCostService.getFinanceCostExcelList(pageReqVO);
|
|
|
- Set<String> projectIds = convertSet(travelCostList, TravelCostDO::getProjectId);
|
|
|
- Set<String> userIds = convertSet(travelCostList, TravelCostDO::getUserId);
|
|
|
- List<Project> projects = projectService.selectByIds(projectIds);
|
|
|
- Set<String> zrbmIds = convertSet(projects, Project::getZrbmId);
|
|
|
- Map<String, DeptRespDTO> deptMap = deptApi.getDeptMap(zrbmIds);
|
|
|
- Map<String, Project> projectMap = CollectionUtils.convertMap(projects, Project::getId);
|
|
|
- Map<String, StaffRecordsDTO> userMap = staffApi.getUserMap(userIds);
|
|
|
- for (TravelCostDO entity : travelCostList) {
|
|
|
- FinanceCostExcelResponse obj = new FinanceCostExcelResponse();
|
|
|
- obj.setNo(entity.getTravelCostNo());
|
|
|
- obj.setDeptName(entity.getDeptName());
|
|
|
- Project project = projectMap.get(entity.getProjectId());
|
|
|
- obj.setProjectDeptName(deptMap.get(project.getZrbmId()).getName());
|
|
|
- String digest = entity.getUserNickname() + "报差旅费";
|
|
|
- obj.setDigest(digest);
|
|
|
- obj.setProjectNo(project.getXmbh());
|
|
|
- obj.setProjectName(project.getXmmc());
|
|
|
- obj.setUserName(entity.getUserNickname());
|
|
|
- obj.setTotalAmount(entity.getTotalAmount().toString());
|
|
|
- obj.setClf(entity.getTotalAmount().toString());
|
|
|
- StaffRecordsDTO recordsDTO = userMap.get(entity.getUserId());
|
|
|
- obj.setBankName(recordsDTO.getKhyh());
|
|
|
- obj.setBankCard(recordsDTO.getYhzh());
|
|
|
- excelList.add(obj);
|
|
|
- }
|
|
|
- }
|
|
|
- if (typeList.contains("普通报销")) {
|
|
|
- List<DictDataRespDTO> costType = dictDataApi.getDictDataList("WF_COMMON_COST_TYPE").getCheckedData();
|
|
|
- Map<String, DictDataRespDTO> costTypeMap = CollectionUtils.convertMap(costType, DictDataRespDTO::getValue);
|
|
|
- List<CommonCostDO> commonCostList = commonCostService.getFinanceCostExcelList(pageReqVO);
|
|
|
- Set<String> commonCostIds = convertSet(commonCostList, CommonCostDO::getId);
|
|
|
- Set<String> userIds = convertSet(commonCostList, CommonCostDO::getUserId);
|
|
|
- List<CommonCostDetailDO> detailList = commonCostDetailService.getListByCommonCostIds(commonCostIds);
|
|
|
- Set<String> projectIds = convertSet(detailList, CommonCostDetailDO::getProjectId);
|
|
|
- List<Project> projects = projectService.selectByIds(projectIds);
|
|
|
- Set<String> zrbmIds = convertSet(projects, Project::getZrbmId);
|
|
|
- Map<String, DeptRespDTO> deptMap = deptApi.getDeptMap(zrbmIds);
|
|
|
- Map<String, Project> projectMap = CollectionUtils.convertMap(projects, Project::getId);
|
|
|
- Map<String, StaffRecordsDTO> userMap = staffApi.getUserMap(userIds);
|
|
|
- Map<String, List<CommonCostDetailDO>> detailListMap = detailList.stream().collect(Collectors.groupingBy(CommonCostDetailDO::getCommonCostId));
|
|
|
- for (CommonCostDO entity : commonCostList) {
|
|
|
- List<CommonCostDetailDO> detailDOS = detailListMap.get(entity.getId());
|
|
|
- Map<String, List<CommonCostDetailDO>> detailProjectListMap = detailDOS.stream().collect(Collectors.groupingBy(CommonCostDetailDO::getProjectId));
|
|
|
- for (Map.Entry<String, List<CommonCostDetailDO>> stringListEntry : detailProjectListMap.entrySet()) {
|
|
|
+ if(CollectionUtil.isNotEmpty(travelCostList)){
|
|
|
+ Set<String> projectIds = convertSet(travelCostList, TravelCostDO::getProjectId);
|
|
|
+ Set<String> userIds = convertSet(travelCostList, TravelCostDO::getUserId);
|
|
|
+ List<Project> projects = projectService.selectByIds(projectIds);
|
|
|
+ Set<String> zrbmIds = convertSet(projects, Project::getZrbmId);
|
|
|
+ Map<String, DeptRespDTO> deptMap = deptApi.getDeptMap(zrbmIds);
|
|
|
+ Map<String, Project> projectMap = CollectionUtils.convertMap(projects, Project::getId);
|
|
|
+ Map<String, StaffRecordsDTO> userMap = staffApi.getUserMap(userIds);
|
|
|
+ for (TravelCostDO entity : travelCostList) {
|
|
|
FinanceCostExcelResponse obj = new FinanceCostExcelResponse();
|
|
|
- BigDecimal rggz = BigDecimal.ZERO, rgjj = BigDecimal.ZERO, rglzbcj = BigDecimal.ZERO, sbylxgs = BigDecimal.ZERO,
|
|
|
- sbyilxgs = BigDecimal.ZERO, sbgsxgs = BigDecimal.ZERO, sbylxgr = BigDecimal.ZERO, sbsyxgr = BigDecimal.ZERO,
|
|
|
- sbyilxgr = BigDecimal.ZERO, gjjgs = BigDecimal.ZERO, gjjgr = BigDecimal.ZERO, fl = BigDecimal.ZERO,
|
|
|
- gkf = BigDecimal.ZERO, wbf = BigDecimal.ZERO, fbf = BigDecimal.ZERO, wxf = BigDecimal.ZERO,
|
|
|
- ryjcg = BigDecimal.ZERO, gdzc = BigDecimal.ZERO, wxzc = BigDecimal.ZERO, sbwxf = BigDecimal.ZERO,
|
|
|
- alyjsbzlf = BigDecimal.ZERO, ywzdf = BigDecimal.ZERO, lpcg = BigDecimal.ZERO, clf = BigDecimal.ZERO,
|
|
|
- clbxf = BigDecimal.ZERO, clwxjbyfy = BigDecimal.ZERO, dyf = BigDecimal.ZERO, cailiaof = BigDecimal.ZERO,
|
|
|
- jcf = BigDecimal.ZERO, zgjwjf = BigDecimal.ZERO, fzwyf = BigDecimal.ZERO, sdf = BigDecimal.ZERO,
|
|
|
- kdf = BigDecimal.ZERO, bgf = BigDecimal.ZERO, tbbmfjbsf = BigDecimal.ZERO, zbdlf = BigDecimal.ZERO,
|
|
|
- psf = BigDecimal.ZERO, pgsjf = BigDecimal.ZERO, hwf = BigDecimal.ZERO, zxf = BigDecimal.ZERO,
|
|
|
- ywxcf = BigDecimal.ZERO, ysf = BigDecimal.ZERO, lxzc = BigDecimal.ZERO, bzjzc = BigDecimal.ZERO,
|
|
|
- yjzc = BigDecimal.ZERO, total = BigDecimal.ZERO;
|
|
|
- Set<String> digestSet = new HashSet<>();
|
|
|
- obj.setNo(entity.getCommonCostNo());
|
|
|
+ obj.setNo(entity.getTravelCostNo());
|
|
|
obj.setDeptName(entity.getDeptName());
|
|
|
- Project project = projectMap.get(stringListEntry.getKey());
|
|
|
+ Project project = projectMap.get(entity.getProjectId());
|
|
|
obj.setProjectDeptName(deptMap.get(project.getZrbmId()).getName());
|
|
|
- List<CommonCostDetailDO> value = stringListEntry.getValue();
|
|
|
- for (CommonCostDetailDO commonCostDetailDO : value) {
|
|
|
- String exportType = costMap.get(commonCostDetailDO.getCostType());
|
|
|
- digestSet.add(costTypeMap.get(commonCostDetailDO.getCostType()).getLabel());
|
|
|
- switch (exportType) {
|
|
|
- case "分包费":
|
|
|
- fbf = fbf.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "外协费":
|
|
|
- wxf = wxf.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "软硬件采购":
|
|
|
- ryjcg = ryjcg.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "外包费":
|
|
|
- wbf = wbf.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "人工-工资":
|
|
|
- rggz = rggz.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "社保-养老险(公司)":
|
|
|
- sbylxgs = sbylxgs.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "福利":
|
|
|
- fl = fl.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "人工-离职补偿金":
|
|
|
- rglzbcj = rglzbcj.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "差旅费":
|
|
|
- clf = clf.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "固定资产":
|
|
|
- gdzc = gdzc.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "车辆保险费":
|
|
|
- clbxf = clbxf.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "车辆维修及保养费用":
|
|
|
- clwxjbyfy = clwxjbyfy.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "设备维修费":
|
|
|
- sbwxf = sbwxf.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "阿里云及设备租赁费":
|
|
|
- alyjsbzlf = alyjsbzlf.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "办公费":
|
|
|
- bgf = bgf.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "房租物业费":
|
|
|
- fzwyf = fzwyf.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "水电费":
|
|
|
- sdf = sdf.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "职工教育经费":
|
|
|
- zgjwjf = zgjwjf.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "咨询费":
|
|
|
- zxf = zxf.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "快递费":
|
|
|
- kdf = kdf.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "材料费":
|
|
|
- cailiaof = cailiaof.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "检测费":
|
|
|
- jcf = jcf.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "投标报名费及标书费":
|
|
|
- tbbmfjbsf = tbbmfjbsf.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "招标代理费":
|
|
|
- zbdlf = zbdlf.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "评估审计费":
|
|
|
- pgsjf = pgsjf.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "会务费":
|
|
|
- hwf = hwf.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "业务宣传费":
|
|
|
- ywxcf = ywxcf.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "验收费":
|
|
|
- ysf = ysf.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "业务招待费":
|
|
|
- ywzdf = ywzdf.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "礼品采购":
|
|
|
- lpcg = lpcg.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "打印费":
|
|
|
- dyf = dyf.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "评审费":
|
|
|
- psf = psf.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "利息支出":
|
|
|
- lxzc = lxzc.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "保证金支出":
|
|
|
- bzjzc = bzjzc.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "押金支出":
|
|
|
- yjzc = yjzc.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "无形资产":
|
|
|
- wxzc = wxzc.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- case "挂靠费":
|
|
|
- gkf = gkf.add(commonCostDetailDO.getAmount());
|
|
|
- total = total.add(commonCostDetailDO.getAmount());
|
|
|
- break;
|
|
|
- default:
|
|
|
- throw new IllegalStateException("Unexpected value: " + exportType);
|
|
|
- }
|
|
|
- }
|
|
|
- String digest = entity.getUserNickname() + "报";
|
|
|
- for (String s : digestSet) {
|
|
|
- digest += s;
|
|
|
- digest += "、";
|
|
|
- }
|
|
|
- obj.setDigest(digest.substring(0,digest.length()-1));
|
|
|
+ String digest = entity.getUserNickname() + "报差旅费";
|
|
|
+ obj.setDigest(digest);
|
|
|
obj.setProjectNo(project.getXmbh());
|
|
|
obj.setProjectName(project.getXmmc());
|
|
|
obj.setUserName(entity.getUserNickname());
|
|
|
- obj.setTotalAmount(total.toString());
|
|
|
- obj.setBzjzc(bzjzc.toString());
|
|
|
- obj.setYjzc(yjzc.toString());
|
|
|
- obj.setLxzc(lxzc.toString());
|
|
|
- obj.setRggz(rggz.toString());
|
|
|
- obj.setRgjj(rgjj.toString());
|
|
|
- obj.setRglzbcj(rglzbcj.toString());
|
|
|
- obj.setSbylxgs(sbylxgs.toString());
|
|
|
- obj.setSbyilxgs(sbyilxgs.toString());
|
|
|
- obj.setSbgsxgs(sbgsxgs.toString());
|
|
|
- obj.setSbylxgr(sbylxgr.toString());
|
|
|
- obj.setSbsyxgr(sbsyxgr.toString());
|
|
|
- obj.setSbyilxgr(sbyilxgr.toString());
|
|
|
- obj.setGjjgs(gjjgs.toString());
|
|
|
- obj.setGjjgr(gjjgr.toString());
|
|
|
- obj.setFl(fl.toString());
|
|
|
- obj.setGkf(gkf.toString());
|
|
|
- obj.setWbf(wbf.toString());
|
|
|
- obj.setFbf(fbf.toString());
|
|
|
- obj.setWxf(wxf.toString());
|
|
|
- obj.setRyjcg(ryjcg.toString());
|
|
|
- obj.setGdzc(gdzc.toString());
|
|
|
- obj.setWxzc(wxzc.toString());
|
|
|
- obj.setSbwxf(sbwxf.toString());
|
|
|
- obj.setAlyjsbzlf(alyjsbzlf.toString());
|
|
|
- obj.setYwzdf(ywzdf.toString());
|
|
|
- obj.setLpcg(lpcg.toString());
|
|
|
- obj.setClf(clf.toString());
|
|
|
- obj.setClbxf(clbxf.toString());
|
|
|
- obj.setClwxjbyfy(clwxjbyfy.toString());
|
|
|
- obj.setDyf(dyf.toString());
|
|
|
- obj.setCailiaof(cailiaof.toString());
|
|
|
- obj.setJcf(jcf.toString());
|
|
|
- obj.setZgjwjf(zgjwjf.toString());
|
|
|
- obj.setFzwyf(fzwyf.toString());
|
|
|
- obj.setSdf(sdf.toString());
|
|
|
- obj.setKdf(kdf.toString());
|
|
|
- obj.setBgf(bgf.toString());
|
|
|
- obj.setTbbmfjbsf(tbbmfjbsf.toString());
|
|
|
- obj.setZbdlf(zbdlf.toString());
|
|
|
- obj.setPsf(psf.toString());
|
|
|
- obj.setPgsjf(pgsjf.toString());
|
|
|
- obj.setHwf(hwf.toString());
|
|
|
- obj.setZxf(zxf.toString());
|
|
|
- obj.setYwxcf(ywxcf.toString());
|
|
|
- obj.setYsf(ysf.toString());
|
|
|
+ obj.setTotalAmount(entity.getTotalAmount().toString());
|
|
|
+ obj.setClf(entity.getTotalAmount().toString());
|
|
|
StaffRecordsDTO recordsDTO = userMap.get(entity.getUserId());
|
|
|
obj.setBankName(recordsDTO.getKhyh());
|
|
|
obj.setBankCard(recordsDTO.getYhzh());
|
|
@@ -435,6 +183,263 @@ public class FinanceCostServiceImpl implements FinanceCostService {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ if (typeList.contains("普通报销")) {
|
|
|
+ List<DictDataRespDTO> costType = dictDataApi.getDictDataList("WF_COMMON_COST_TYPE").getCheckedData();
|
|
|
+ Map<String, DictDataRespDTO> costTypeMap = CollectionUtils.convertMap(costType, DictDataRespDTO::getValue);
|
|
|
+ List<CommonCostDO> commonCostList = commonCostService.getFinanceCostExcelList(pageReqVO);
|
|
|
+ if(CollectionUtil.isNotEmpty(commonCostList)){
|
|
|
+ Set<String> commonCostIds = convertSet(commonCostList, CommonCostDO::getId);
|
|
|
+ Set<String> userIds = convertSet(commonCostList, CommonCostDO::getUserId);
|
|
|
+ List<CommonCostDetailDO> detailList = commonCostDetailService.getListByCommonCostIds(commonCostIds);
|
|
|
+ Set<String> projectIds = convertSet(detailList, CommonCostDetailDO::getProjectId);
|
|
|
+ List<Project> projects = projectService.selectByIds(projectIds);
|
|
|
+ Set<String> zrbmIds = convertSet(projects, Project::getZrbmId);
|
|
|
+ Map<String, DeptRespDTO> deptMap = deptApi.getDeptMap(zrbmIds);
|
|
|
+ Map<String, Project> projectMap = CollectionUtils.convertMap(projects, Project::getId);
|
|
|
+ Map<String, StaffRecordsDTO> userMap = staffApi.getUserMap(userIds);
|
|
|
+ Map<String, List<CommonCostDetailDO>> detailListMap = detailList.stream().collect(Collectors.groupingBy(CommonCostDetailDO::getCommonCostId));
|
|
|
+ for (CommonCostDO entity : commonCostList) {
|
|
|
+ List<CommonCostDetailDO> detailDOS = detailListMap.get(entity.getId());
|
|
|
+ Map<String, List<CommonCostDetailDO>> detailProjectListMap = detailDOS.stream().collect(Collectors.groupingBy(CommonCostDetailDO::getProjectId));
|
|
|
+ for (Map.Entry<String, List<CommonCostDetailDO>> stringListEntry : detailProjectListMap.entrySet()) {
|
|
|
+ FinanceCostExcelResponse obj = new FinanceCostExcelResponse();
|
|
|
+ BigDecimal rggz = BigDecimal.ZERO, rgjj = BigDecimal.ZERO, rglzbcj = BigDecimal.ZERO, sbylxgs = BigDecimal.ZERO,
|
|
|
+ sbyilxgs = BigDecimal.ZERO, sbgsxgs = BigDecimal.ZERO, sbylxgr = BigDecimal.ZERO, sbsyxgr = BigDecimal.ZERO,
|
|
|
+ sbyilxgr = BigDecimal.ZERO, gjjgs = BigDecimal.ZERO, gjjgr = BigDecimal.ZERO, fl = BigDecimal.ZERO,
|
|
|
+ gkf = BigDecimal.ZERO, wbf = BigDecimal.ZERO, fbf = BigDecimal.ZERO, wxf = BigDecimal.ZERO,
|
|
|
+ ryjcg = BigDecimal.ZERO, gdzc = BigDecimal.ZERO, wxzc = BigDecimal.ZERO, sbwxf = BigDecimal.ZERO,
|
|
|
+ alyjsbzlf = BigDecimal.ZERO, ywzdf = BigDecimal.ZERO, lpcg = BigDecimal.ZERO, clf = BigDecimal.ZERO,
|
|
|
+ clbxf = BigDecimal.ZERO, clwxjbyfy = BigDecimal.ZERO, dyf = BigDecimal.ZERO, cailiaof = BigDecimal.ZERO,
|
|
|
+ jcf = BigDecimal.ZERO, zgjwjf = BigDecimal.ZERO, fzwyf = BigDecimal.ZERO, sdf = BigDecimal.ZERO,
|
|
|
+ kdf = BigDecimal.ZERO, bgf = BigDecimal.ZERO, tbbmfjbsf = BigDecimal.ZERO, zbdlf = BigDecimal.ZERO,
|
|
|
+ psf = BigDecimal.ZERO, pgsjf = BigDecimal.ZERO, hwf = BigDecimal.ZERO, zxf = BigDecimal.ZERO,
|
|
|
+ ywxcf = BigDecimal.ZERO, ysf = BigDecimal.ZERO, lxzc = BigDecimal.ZERO, bzjzc = BigDecimal.ZERO,
|
|
|
+ yjzc = BigDecimal.ZERO, total = BigDecimal.ZERO;
|
|
|
+ Set<String> digestSet = new HashSet<>();
|
|
|
+ obj.setNo(entity.getCommonCostNo());
|
|
|
+ obj.setDeptName(entity.getDeptName());
|
|
|
+ Project project = projectMap.get(stringListEntry.getKey());
|
|
|
+ obj.setProjectDeptName(deptMap.get(project.getZrbmId()).getName());
|
|
|
+ List<CommonCostDetailDO> value = stringListEntry.getValue();
|
|
|
+ for (CommonCostDetailDO commonCostDetailDO : value) {
|
|
|
+ String exportType = costMap.get(commonCostDetailDO.getCostType());
|
|
|
+ digestSet.add(costTypeMap.get(commonCostDetailDO.getCostType()).getLabel());
|
|
|
+ switch (exportType) {
|
|
|
+ case "分包费":
|
|
|
+ fbf = fbf.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "外协费":
|
|
|
+ wxf = wxf.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "软硬件采购":
|
|
|
+ ryjcg = ryjcg.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "外包费":
|
|
|
+ wbf = wbf.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "人工-工资":
|
|
|
+ rggz = rggz.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "社保-养老险(公司)":
|
|
|
+ sbylxgs = sbylxgs.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "福利":
|
|
|
+ fl = fl.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "人工-离职补偿金":
|
|
|
+ rglzbcj = rglzbcj.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "差旅费":
|
|
|
+ clf = clf.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "固定资产":
|
|
|
+ gdzc = gdzc.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "车辆保险费":
|
|
|
+ clbxf = clbxf.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "车辆维修及保养费用":
|
|
|
+ clwxjbyfy = clwxjbyfy.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "设备维修费":
|
|
|
+ sbwxf = sbwxf.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "阿里云及设备租赁费":
|
|
|
+ alyjsbzlf = alyjsbzlf.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "办公费":
|
|
|
+ bgf = bgf.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "房租物业费":
|
|
|
+ fzwyf = fzwyf.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "水电费":
|
|
|
+ sdf = sdf.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "职工教育经费":
|
|
|
+ zgjwjf = zgjwjf.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "咨询费":
|
|
|
+ zxf = zxf.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "快递费":
|
|
|
+ kdf = kdf.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "材料费":
|
|
|
+ cailiaof = cailiaof.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "检测费":
|
|
|
+ jcf = jcf.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "投标报名费及标书费":
|
|
|
+ tbbmfjbsf = tbbmfjbsf.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "招标代理费":
|
|
|
+ zbdlf = zbdlf.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "评估审计费":
|
|
|
+ pgsjf = pgsjf.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "会务费":
|
|
|
+ hwf = hwf.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "业务宣传费":
|
|
|
+ ywxcf = ywxcf.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "验收费":
|
|
|
+ ysf = ysf.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "业务招待费":
|
|
|
+ ywzdf = ywzdf.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "礼品采购":
|
|
|
+ lpcg = lpcg.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "打印费":
|
|
|
+ dyf = dyf.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "评审费":
|
|
|
+ psf = psf.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "利息支出":
|
|
|
+ lxzc = lxzc.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "保证金支出":
|
|
|
+ bzjzc = bzjzc.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "押金支出":
|
|
|
+ yjzc = yjzc.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "无形资产":
|
|
|
+ wxzc = wxzc.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ case "挂靠费":
|
|
|
+ gkf = gkf.add(commonCostDetailDO.getAmount());
|
|
|
+ total = total.add(commonCostDetailDO.getAmount());
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ throw new IllegalStateException("Unexpected value: " + exportType);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ String digest = entity.getUserNickname() + "报";
|
|
|
+ for (String s : digestSet) {
|
|
|
+ digest += s;
|
|
|
+ digest += "、";
|
|
|
+ }
|
|
|
+ obj.setDigest(digest.substring(0,digest.length()-1));
|
|
|
+ obj.setProjectNo(project.getXmbh());
|
|
|
+ obj.setProjectName(project.getXmmc());
|
|
|
+ obj.setUserName(entity.getUserNickname());
|
|
|
+ obj.setTotalAmount(total.toString());
|
|
|
+ obj.setBzjzc(bzjzc.toString());
|
|
|
+ obj.setYjzc(yjzc.toString());
|
|
|
+ obj.setLxzc(lxzc.toString());
|
|
|
+ obj.setRggz(rggz.toString());
|
|
|
+ obj.setRgjj(rgjj.toString());
|
|
|
+ obj.setRglzbcj(rglzbcj.toString());
|
|
|
+ obj.setSbylxgs(sbylxgs.toString());
|
|
|
+ obj.setSbyilxgs(sbyilxgs.toString());
|
|
|
+ obj.setSbgsxgs(sbgsxgs.toString());
|
|
|
+ obj.setSbylxgr(sbylxgr.toString());
|
|
|
+ obj.setSbsyxgr(sbsyxgr.toString());
|
|
|
+ obj.setSbyilxgr(sbyilxgr.toString());
|
|
|
+ obj.setGjjgs(gjjgs.toString());
|
|
|
+ obj.setGjjgr(gjjgr.toString());
|
|
|
+ obj.setFl(fl.toString());
|
|
|
+ obj.setGkf(gkf.toString());
|
|
|
+ obj.setWbf(wbf.toString());
|
|
|
+ obj.setFbf(fbf.toString());
|
|
|
+ obj.setWxf(wxf.toString());
|
|
|
+ obj.setRyjcg(ryjcg.toString());
|
|
|
+ obj.setGdzc(gdzc.toString());
|
|
|
+ obj.setWxzc(wxzc.toString());
|
|
|
+ obj.setSbwxf(sbwxf.toString());
|
|
|
+ obj.setAlyjsbzlf(alyjsbzlf.toString());
|
|
|
+ obj.setYwzdf(ywzdf.toString());
|
|
|
+ obj.setLpcg(lpcg.toString());
|
|
|
+ obj.setClf(clf.toString());
|
|
|
+ obj.setClbxf(clbxf.toString());
|
|
|
+ obj.setClwxjbyfy(clwxjbyfy.toString());
|
|
|
+ obj.setDyf(dyf.toString());
|
|
|
+ obj.setCailiaof(cailiaof.toString());
|
|
|
+ obj.setJcf(jcf.toString());
|
|
|
+ obj.setZgjwjf(zgjwjf.toString());
|
|
|
+ obj.setFzwyf(fzwyf.toString());
|
|
|
+ obj.setSdf(sdf.toString());
|
|
|
+ obj.setKdf(kdf.toString());
|
|
|
+ obj.setBgf(bgf.toString());
|
|
|
+ obj.setTbbmfjbsf(tbbmfjbsf.toString());
|
|
|
+ obj.setZbdlf(zbdlf.toString());
|
|
|
+ obj.setPsf(psf.toString());
|
|
|
+ obj.setPgsjf(pgsjf.toString());
|
|
|
+ obj.setHwf(hwf.toString());
|
|
|
+ obj.setZxf(zxf.toString());
|
|
|
+ obj.setYwxcf(ywxcf.toString());
|
|
|
+ obj.setYsf(ysf.toString());
|
|
|
+ StaffRecordsDTO recordsDTO = userMap.get(entity.getUserId());
|
|
|
+ obj.setBankName(recordsDTO.getKhyh());
|
|
|
+ obj.setBankCard(recordsDTO.getYhzh());
|
|
|
+ excelList.add(obj);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
return excelList;
|
|
|
}
|
|
|
}
|