|
@@ -2,7 +2,10 @@ package org.jeecg.modules.report.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.google.common.collect.Lists;
|
|
|
+import io.swagger.annotations.ApiModel;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
+import org.jeecg.common.dto.invoice.PurchaseDataDTO;
|
|
|
+import org.jeecg.common.dto.payment.SlipAllListDTO;
|
|
|
import org.jeecg.common.dto.report.CostAccountingReqDTO;
|
|
|
import org.jeecg.common.dto.report.CostAccountingRespDTO;
|
|
|
import org.jeecg.common.dto.report.ProStatisticsRespDTO;
|
|
@@ -15,10 +18,15 @@ import org.jeecg.modules.archives.service.ProjectManageArchivesAndBusinessServic
|
|
|
import org.jeecg.modules.archives.service.ProjectManageArchivesService;
|
|
|
import org.jeecg.modules.archives.service.ProjectManageBusinessOtherService;
|
|
|
import org.jeecg.modules.basedata.service.IBaseArchivesCollectionLineService;
|
|
|
+import org.jeecg.modules.invoice.entity.InvoiceManagePurchase;
|
|
|
+import org.jeecg.modules.invoice.service.InvoiceManagePurchaseService;
|
|
|
+import org.jeecg.modules.payment.entity.ManagerPaymentAndReceiptSlip;
|
|
|
+import org.jeecg.modules.payment.service.ManagerPaymentAndReceiptSlipService;
|
|
|
import org.jeecg.modules.prowork.entity.ProWorkLogic;
|
|
|
import org.jeecg.modules.prowork.entity.ProWorkMilestone;
|
|
|
import org.jeecg.modules.prowork.service.ProWorkLogicService;
|
|
|
import org.jeecg.modules.prowork.service.ProWorkMilestoneService;
|
|
|
+import org.jeecg.modules.report.entity.ChoosePlanTypeEnum;
|
|
|
import org.jeecg.modules.report.entity.MeberDepartEnum;
|
|
|
import org.jeecg.modules.report.mapper.ProReportMapper;
|
|
|
import org.jeecg.modules.report.service.ProReportService;
|
|
@@ -50,6 +58,10 @@ public class ProReportServiceImpl implements ProReportService {
|
|
|
private ProWorkLogicService proWorkLogicService;
|
|
|
@Autowired
|
|
|
private ProWorkMilestoneService proWorkMilestoneService;
|
|
|
+ @Autowired
|
|
|
+ private InvoiceManagePurchaseService invoiceManagePurchaseService;
|
|
|
+ @Autowired
|
|
|
+ private ManagerPaymentAndReceiptSlipService managerPaymentAndReceiptSlipService;
|
|
|
/**
|
|
|
* @desc 获取成本核算数据
|
|
|
*/
|
|
@@ -72,19 +84,29 @@ public class ProReportServiceImpl implements ProReportService {
|
|
|
@Override
|
|
|
public List<ProStatisticsRespDTO> getProStatistics(CostAccountingReqDTO reqDTO) {
|
|
|
QueryWrapper<ProjectManageArchives> queryWrapper = new QueryWrapper();
|
|
|
- queryWrapper.eq("del_flag", "0").eq("id", reqDTO.getId());
|
|
|
+ queryWrapper.eq("del_flag", "0");
|
|
|
+ if(StringUtils.isNotBlank(reqDTO.getId())){
|
|
|
+ queryWrapper.eq("id", reqDTO.getId());
|
|
|
+ }
|
|
|
if(StringUtils.isNotBlank(reqDTO.getPkOrg())){
|
|
|
queryWrapper.eq("pk_org", reqDTO.getPkOrg());
|
|
|
}
|
|
|
List<ProjectManageArchives> archives = projectManageArchivesService.list(queryWrapper);
|
|
|
+
|
|
|
+
|
|
|
+ List<ProStatisticsRespDTO> list = Lists.newArrayList();
|
|
|
//获取树形数据
|
|
|
- return getProStatisticsDatas(archives, reqDTO.getId());
|
|
|
+ for(ProjectManageArchives projectManageArchives : archives){
|
|
|
+ list.add(getProStatisticsDatas(projectManageArchives, projectManageArchives.getId()));
|
|
|
+ }
|
|
|
+
|
|
|
+ return list;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @desc 获取树形数据
|
|
|
*/
|
|
|
- private List<ProStatisticsRespDTO> getProStatisticsDatas( List<ProjectManageArchives> archives, String id) {
|
|
|
+ private ProStatisticsRespDTO getProStatisticsDatas( ProjectManageArchives archives, String id) {
|
|
|
//获取项目档案里程碑信息表数据
|
|
|
List<ProjectManageArchivesAndBusiness> businesses = getBusinessData(id);
|
|
|
//项目档案计划信息表Map
|
|
@@ -93,20 +115,26 @@ public class ProReportServiceImpl implements ProReportService {
|
|
|
Map<String, String> CoLineMap = baseArchivesCollectionLineService.getDataMap();
|
|
|
//获取项目档案计划信息表数据
|
|
|
List<ProjectManageBusinessOther> otherList = projectManageBusinessOtherService.getAll(new ProjectManageBusinessOther(id));
|
|
|
+ //获取里程碑确认单
|
|
|
+ List<ProWorkMilestone> milestones = proWorkMilestoneService.getAll(new ProWorkMilestone(id));
|
|
|
+ Map<String, List<ProWorkMilestone>> milestoneMap = milestones.stream().collect(Collectors.groupingBy(t ->t.getType()));
|
|
|
+ //销售发票,采购发票主子表数据
|
|
|
+ List<PurchaseDataDTO> purchaseDataDTOS = invoiceManagePurchaseService.getAll(new InvoiceManagePurchase(id));
|
|
|
+ Map<String, List<PurchaseDataDTO>> purchaseDataMap = purchaseDataDTOS.stream().collect(Collectors.groupingBy(t -> t.getType()));
|
|
|
+ //收付款单主子表
|
|
|
+ List<SlipAllListDTO> slipAllListDTOS = managerPaymentAndReceiptSlipService.getAll(new ManagerPaymentAndReceiptSlip(id));
|
|
|
+ Map<String, List<SlipAllListDTO>> slipMap = slipAllListDTOS.stream().collect(Collectors.groupingBy(t -> t.getType()));
|
|
|
|
|
|
//项目日志
|
|
|
Map<String, List<ProWorkLogic>> logicMap = getProLogic(id);
|
|
|
|
|
|
- List<ProStatisticsRespDTO> list = Lists.newArrayList();
|
|
|
- for(ProjectManageArchives projectManageArchives : archives){
|
|
|
- ProStatisticsRespDTO respDTO = new ProStatisticsRespDTO(projectManageArchives.getId(), projectManageArchives.getProName(),
|
|
|
- projectManageArchives.getProCode(), projectManageArchives.getProName(), "0");
|
|
|
+ //逻辑处理
|
|
|
+ ProStatisticsRespDTO respDTO = new ProStatisticsRespDTO(archives.getId(), archives.getProName(),
|
|
|
+ archives.getProCode(), archives.getProName(), "0");
|
|
|
//配置收付款条线数据
|
|
|
- setSecondChildren(businesses, respDTO, CoLineMap, otherList, businessMap, logicMap);
|
|
|
- list.add(respDTO);
|
|
|
- }
|
|
|
+ setSecondChildren(businesses, respDTO, CoLineMap, otherList, businessMap, logicMap, milestoneMap, purchaseDataMap, slipMap);
|
|
|
|
|
|
- return list;
|
|
|
+ return respDTO;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -126,83 +154,86 @@ public class ProReportServiceImpl implements ProReportService {
|
|
|
* @desc 配置收付款线条数据
|
|
|
*/
|
|
|
private void setSecondChildren(List<ProjectManageArchivesAndBusiness> businesses, ProStatisticsRespDTO respDTO, Map<String, String> CoLineMap,
|
|
|
- List<ProjectManageBusinessOther> otherList, Map<String, List<ProjectManageArchivesAndBusiness>> otherMap, Map<String, List<ProWorkLogic>> logicMap) {
|
|
|
+ List<ProjectManageBusinessOther> otherList, Map<String, List<ProjectManageArchivesAndBusiness>> otherMap, Map<String, List<ProWorkLogic>> logicMap,
|
|
|
+ Map<String, List<ProWorkMilestone>> milestoneMap, Map<String, List<PurchaseDataDTO>> purchaseDataMap, Map<String, List<SlipAllListDTO>> slipMap) {
|
|
|
List<ProStatisticsTwoRespDTO> list = Lists.newArrayList();
|
|
|
//i: 1代表实施, 2代表开发, 3代表服务
|
|
|
for(int i = 1; i <=4 ; i++) {
|
|
|
if(!CollectionUtils.isEmpty(businesses)){
|
|
|
List<ProjectManageArchivesAndBusiness> businesseses = selectSecondChildren(i, businesses);
|
|
|
-
|
|
|
- for(ProjectManageArchivesAndBusiness business : businesseses){
|
|
|
- //只处理收款计划
|
|
|
- if(business.getPlanType() == 3){
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- if(StringUtils.isNotBlank(business.getMileId1())){
|
|
|
- ProStatisticsTwoRespDTO twoRespDTO = new ProStatisticsTwoRespDTO(business, MeberDepartEnum.match(i).getName(), respDTO.getId());
|
|
|
- twoRespDTO.setCoArchivesCode(CoLineMap.get(business.getPlanId()));
|
|
|
- twoRespDTO.setMileId(business.getMileId1());
|
|
|
- List<ProjectManageArchivesAndBusiness> others = otherMap.get("3&"+business.getPlanId());
|
|
|
- if(!CollectionUtils.isEmpty(others)){
|
|
|
- twoRespDTO.setMileCoPrice(others.get(0).getPrice1());
|
|
|
+ if(!CollectionUtils.isEmpty(businesseses)){
|
|
|
+ for(ProjectManageArchivesAndBusiness business : businesseses){
|
|
|
+ //只处理收款计划
|
|
|
+ if(business.getPlanType() == 3){
|
|
|
+ break;
|
|
|
}
|
|
|
|
|
|
- twoRespDTO.setMilePrice(business.getPrice1());
|
|
|
+ if(StringUtils.isNotBlank(business.getMileId1())){
|
|
|
+ ProStatisticsTwoRespDTO twoRespDTO = new ProStatisticsTwoRespDTO(business, MeberDepartEnum.match(i).getName(), respDTO.getId());
|
|
|
+ twoRespDTO.setCoArchivesCode(CoLineMap.get(business.getPlanId()));
|
|
|
+ twoRespDTO.setMileId(business.getMileId1());
|
|
|
+ List<ProjectManageArchivesAndBusiness> others = otherMap.get("3&"+business.getPlanId());
|
|
|
+ if(!CollectionUtils.isEmpty(others)){
|
|
|
+ twoRespDTO.setMileCoPrice(others.get(0).getPrice1());
|
|
|
+ }
|
|
|
|
|
|
- setThreeChildren(twoRespDTO, otherList, i, logicMap);
|
|
|
- list.add(twoRespDTO);
|
|
|
- }
|
|
|
- if(StringUtils.isNotBlank(business.getMileId2())){
|
|
|
- ProStatisticsTwoRespDTO twoRespDTO = new ProStatisticsTwoRespDTO(business, MeberDepartEnum.match(i).getName(), respDTO.getId());
|
|
|
- twoRespDTO.setCoArchivesCode(CoLineMap.get(business.getPlanId()));
|
|
|
- twoRespDTO.setMileId(business.getMileId2());
|
|
|
- List<ProjectManageArchivesAndBusiness> others = otherMap.get("3&"+business.getPlanId());
|
|
|
- if(!CollectionUtils.isEmpty(others)){
|
|
|
- twoRespDTO.setMileCoPrice(others.get(0).getPrice2());
|
|
|
+ twoRespDTO.setMilePrice(business.getPrice1());
|
|
|
+
|
|
|
+ setThreeChildren(twoRespDTO, otherList, i, logicMap, milestoneMap, purchaseDataMap, slipMap);
|
|
|
+ list.add(twoRespDTO);
|
|
|
}
|
|
|
- setThreeChildren(twoRespDTO, otherList, i, logicMap);
|
|
|
- list.add(twoRespDTO);
|
|
|
- }
|
|
|
- if(StringUtils.isNotBlank(business.getMileId3())){
|
|
|
- ProStatisticsTwoRespDTO twoRespDTO = new ProStatisticsTwoRespDTO(business, MeberDepartEnum.match(i).getName(), respDTO.getId());
|
|
|
- twoRespDTO.setCoArchivesCode(CoLineMap.get(business.getPlanId()));
|
|
|
- twoRespDTO.setMileId(business.getMileId3());
|
|
|
- twoRespDTO.setMilePrice(business.getPrice3());
|
|
|
- List<ProjectManageArchivesAndBusiness> others = otherMap.get("3&"+business.getPlanId());
|
|
|
- if(!CollectionUtils.isEmpty(others)){
|
|
|
- twoRespDTO.setMileCoPrice(others.get(0).getPrice3());
|
|
|
+ if(StringUtils.isNotBlank(business.getMileId2())){
|
|
|
+ ProStatisticsTwoRespDTO twoRespDTO = new ProStatisticsTwoRespDTO(business, MeberDepartEnum.match(i).getName(), respDTO.getId());
|
|
|
+ twoRespDTO.setCoArchivesCode(CoLineMap.get(business.getPlanId()));
|
|
|
+ twoRespDTO.setMileId(business.getMileId2());
|
|
|
+ List<ProjectManageArchivesAndBusiness> others = otherMap.get("3&"+business.getPlanId());
|
|
|
+ if(!CollectionUtils.isEmpty(others)){
|
|
|
+ twoRespDTO.setMileCoPrice(others.get(0).getPrice2());
|
|
|
+ }
|
|
|
+ setThreeChildren(twoRespDTO, otherList, i, logicMap, milestoneMap, purchaseDataMap, slipMap);
|
|
|
+ list.add(twoRespDTO);
|
|
|
}
|
|
|
- setThreeChildren(twoRespDTO, otherList, i, logicMap);
|
|
|
- list.add(twoRespDTO);
|
|
|
- }
|
|
|
- if(StringUtils.isNotBlank(business.getMileId4())){
|
|
|
- ProStatisticsTwoRespDTO twoRespDTO = new ProStatisticsTwoRespDTO(business, MeberDepartEnum.match(i).getName(), respDTO.getId());
|
|
|
- twoRespDTO.setCoArchivesCode(CoLineMap.get(business.getPlanId()));
|
|
|
- twoRespDTO.setMileId(business.getMileId4());
|
|
|
- List<ProjectManageArchivesAndBusiness> others = otherMap.get("3&"+business.getPlanId());
|
|
|
- if(!CollectionUtils.isEmpty(others)) {
|
|
|
- twoRespDTO.setMileCoPrice(others.get(0).getPrice4());
|
|
|
+ if(StringUtils.isNotBlank(business.getMileId3())){
|
|
|
+ ProStatisticsTwoRespDTO twoRespDTO = new ProStatisticsTwoRespDTO(business, MeberDepartEnum.match(i).getName(), respDTO.getId());
|
|
|
+ twoRespDTO.setCoArchivesCode(CoLineMap.get(business.getPlanId()));
|
|
|
+ twoRespDTO.setMileId(business.getMileId3());
|
|
|
+ twoRespDTO.setMilePrice(business.getPrice3());
|
|
|
+ List<ProjectManageArchivesAndBusiness> others = otherMap.get("3&"+business.getPlanId());
|
|
|
+ if(!CollectionUtils.isEmpty(others)){
|
|
|
+ twoRespDTO.setMileCoPrice(others.get(0).getPrice3());
|
|
|
+ }
|
|
|
+ setThreeChildren(twoRespDTO, otherList, i, logicMap, milestoneMap, purchaseDataMap, slipMap);
|
|
|
+ list.add(twoRespDTO);
|
|
|
}
|
|
|
- setThreeChildren(twoRespDTO, otherList, i, logicMap);
|
|
|
- list.add(twoRespDTO);
|
|
|
- }
|
|
|
- if(StringUtils.isNotBlank(business.getMileId5())){
|
|
|
- ProStatisticsTwoRespDTO twoRespDTO = new ProStatisticsTwoRespDTO(business, MeberDepartEnum.match(i).getName(), respDTO.getId());
|
|
|
- twoRespDTO.setCoArchivesCode(CoLineMap.get(business.getPlanId()));
|
|
|
- twoRespDTO.setMileId(business.getMileId5());
|
|
|
- twoRespDTO.setMilePrice(business.getPrice5());
|
|
|
- List<ProjectManageArchivesAndBusiness> others = otherMap.get("3&"+business.getPlanId());
|
|
|
- if(!CollectionUtils.isEmpty(others)) {
|
|
|
-
|
|
|
- twoRespDTO.setMileCoPrice(others.get(0).getPrice5());
|
|
|
+ if(StringUtils.isNotBlank(business.getMileId4())){
|
|
|
+ ProStatisticsTwoRespDTO twoRespDTO = new ProStatisticsTwoRespDTO(business, MeberDepartEnum.match(i).getName(), respDTO.getId());
|
|
|
+ twoRespDTO.setCoArchivesCode(CoLineMap.get(business.getPlanId()));
|
|
|
+ twoRespDTO.setMileId(business.getMileId4());
|
|
|
+ List<ProjectManageArchivesAndBusiness> others = otherMap.get("3&"+business.getPlanId());
|
|
|
+ if(!CollectionUtils.isEmpty(others)) {
|
|
|
+ twoRespDTO.setMileCoPrice(others.get(0).getPrice4());
|
|
|
+ }
|
|
|
+ setThreeChildren(twoRespDTO, otherList, i, logicMap, milestoneMap, purchaseDataMap, slipMap);
|
|
|
+ list.add(twoRespDTO);
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotBlank(business.getMileId5())){
|
|
|
+ ProStatisticsTwoRespDTO twoRespDTO = new ProStatisticsTwoRespDTO(business, MeberDepartEnum.match(i).getName(), respDTO.getId());
|
|
|
+ twoRespDTO.setCoArchivesCode(CoLineMap.get(business.getPlanId()));
|
|
|
+ twoRespDTO.setMileId(business.getMileId5());
|
|
|
+ twoRespDTO.setMilePrice(business.getPrice5());
|
|
|
+ List<ProjectManageArchivesAndBusiness> others = otherMap.get("3&"+business.getPlanId());
|
|
|
+ if(!CollectionUtils.isEmpty(others)) {
|
|
|
+
|
|
|
+ twoRespDTO.setMileCoPrice(others.get(0).getPrice5());
|
|
|
+ }
|
|
|
+ setThreeChildren(twoRespDTO, otherList, i, logicMap, milestoneMap, purchaseDataMap, slipMap);
|
|
|
+ list.add(twoRespDTO);
|
|
|
}
|
|
|
- setThreeChildren(twoRespDTO, otherList, i, logicMap);
|
|
|
- list.add(twoRespDTO);
|
|
|
- }
|
|
|
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
+
|
|
|
} else {
|
|
|
respDTO.setChildren(null);
|
|
|
respDTO.setIsLeaf(true);
|
|
@@ -216,42 +247,91 @@ public class ProReportServiceImpl implements ProReportService {
|
|
|
//配置计划信息表的数据
|
|
|
|
|
|
private void setThreeChildren(ProStatisticsTwoRespDTO twoRespDTO, List<ProjectManageBusinessOther> otherList, int i,
|
|
|
- Map<String, List<ProWorkLogic>> logicMap) {
|
|
|
+ Map<String, List<ProWorkLogic>> logicMap, Map<String, List<ProWorkMilestone>> milestoneMap, Map<String, List<PurchaseDataDTO>> purchaseDataMap,
|
|
|
+ Map<String, List<SlipAllListDTO>> slipMap) {
|
|
|
+
|
|
|
+ List<ProStatisticsThreeRespDTO> respDTOS = Lists.newArrayList();
|
|
|
//计划类型 1.商务 2.实施 3.开发 4.服务
|
|
|
++i;
|
|
|
for(ProjectManageBusinessOther other : otherList){
|
|
|
if(other.getPlanType() == i && other.getMuilesId().equals(twoRespDTO.getMileId())){
|
|
|
ProStatisticsThreeRespDTO threeRespDTO = new ProStatisticsThreeRespDTO(other, twoRespDTO);
|
|
|
//获取实际开始时间
|
|
|
- String planType = choosePlanType(i);
|
|
|
+ String planType = ChoosePlanTypeEnum.match(i) != null ? ChoosePlanTypeEnum.match(i).getPlanType() : null;
|
|
|
List<ProWorkLogic> logics = logicMap.get(planType);
|
|
|
if(!CollectionUtils.isEmpty(logics)){
|
|
|
threeRespDTO.setMileRealStartDate(logics.get(0).getStartDate());
|
|
|
}
|
|
|
- //TODO 确认单 , 销售发票等
|
|
|
+
|
|
|
+ //配置里程碑确认单--实际结束时间
|
|
|
+ List<ProWorkMilestone> proWorkMilestones = milestoneMap.get(ChoosePlanTypeEnum.match(i) != null ?
|
|
|
+ ChoosePlanTypeEnum.match(i).getPlanType() : null);
|
|
|
+ if(!CollectionUtils.isEmpty(proWorkMilestones)){
|
|
|
+ for(ProWorkMilestone proWorkMilestone : proWorkMilestones){
|
|
|
+ if(proWorkMilestone.getMileId().equals(other.getMuilesId())){
|
|
|
+ threeRespDTO.setMileRealEndtDate(proWorkMilestone.getConfirmTime());
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //配置 里程碑开票金额(销售发票)
|
|
|
+ List<PurchaseDataDTO> purchaseDataDTOS = purchaseDataMap.get("2");
|
|
|
+ if(!CollectionUtils.isEmpty(purchaseDataDTOS)) {
|
|
|
+ for(PurchaseDataDTO purchaseDataDTO : purchaseDataDTOS) {
|
|
|
+ if(twoRespDTO.getCoArchivesName().equals(purchaseDataDTO.getCoArchivesName()) &&
|
|
|
+ threeRespDTO.getMilesName().equals(purchaseDataDTO.getProArchivesMilestone())) {
|
|
|
+ threeRespDTO.setMileInvoice(purchaseDataDTO.getCoPrice());
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //配置 里程碑收票(采购发票)
|
|
|
+ List<PurchaseDataDTO> purchaseDataDTOS2 = purchaseDataMap.get("1");
|
|
|
+ if(!CollectionUtils.isEmpty(purchaseDataDTOS2)) {
|
|
|
+ for(PurchaseDataDTO purchaseDataDTO : purchaseDataDTOS2) {
|
|
|
+ if(twoRespDTO.getCoArchivesName().equals(purchaseDataDTO.getCoArchivesName()) &&
|
|
|
+ threeRespDTO.getMilesName().equals(purchaseDataDTO.getProArchivesMilestone())) {
|
|
|
+ threeRespDTO.setMileTicket(purchaseDataDTO.getCoPrice());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //里程碑实际收款 (收款单)
|
|
|
+ List<SlipAllListDTO> slipAllListDTOS = slipMap.get("1");
|
|
|
+ if(!CollectionUtils.isEmpty(slipAllListDTOS)) {
|
|
|
+ for(SlipAllListDTO slipAllListDTO : slipAllListDTOS) {
|
|
|
+ if(slipAllListDTO.getCoArchivesName().equals(twoRespDTO.getCoArchivesName()) &&
|
|
|
+ slipAllListDTO.getProArchivesMilestone().equals(threeRespDTO.getMilesName())) {
|
|
|
+ threeRespDTO.setMileRealCollecion(slipAllListDTO.getCoPrvice());
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //里程碑实际收款 (收款单)
|
|
|
+ List<SlipAllListDTO> slipAllListDTOS2 = slipMap.get("2");
|
|
|
+ if(!CollectionUtils.isEmpty(slipAllListDTOS2)) {
|
|
|
+ for(SlipAllListDTO slipAllListDTO : slipAllListDTOS2) {
|
|
|
+ if(slipAllListDTO.getCoArchivesName().equals(twoRespDTO.getCoArchivesName()) &&
|
|
|
+ slipAllListDTO.getProArchivesMilestone().equals(threeRespDTO.getMilesName())) {
|
|
|
+ threeRespDTO.setMileRealPayment(slipAllListDTO.getCoPrvice());
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ threeRespDTO.setIsLeaf(true);
|
|
|
+ threeRespDTO.setChilderen(null);
|
|
|
+
|
|
|
+ respDTOS.add(threeRespDTO);
|
|
|
} else {
|
|
|
twoRespDTO.setLeaf(true);
|
|
|
twoRespDTO.setChildren(null);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ twoRespDTO.setChildren(CollectionUtils.isEmpty(respDTOS)? null : respDTOS);
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * @desc 选择计划类型 1.开发 2.实施 3.服务
|
|
|
- */
|
|
|
- private String choosePlanType(int i) {
|
|
|
- switch(i){
|
|
|
- //代表实施
|
|
|
- case 1:
|
|
|
- return "2";
|
|
|
- case 2:
|
|
|
- return "1";
|
|
|
- case 3:
|
|
|
- return "3";
|
|
|
- }
|
|
|
- return null;
|
|
|
- }
|
|
|
+
|
|
|
|
|
|
//根据首付款条线获取指定的数据
|
|
|
private List<ProjectManageArchivesAndBusiness> selectSecondChildren(int i, List<ProjectManageArchivesAndBusiness> businesses) {
|