|
@@ -94,6 +94,14 @@ public class ProReportServiceImpl implements ProReportService {
|
|
|
if(StringUtils.isNotBlank(reqDTO.getPkOrg())){
|
|
|
queryWrapper.eq("pk_org", reqDTO.getPkOrg());
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ if(StringUtils.isNotBlank(reqDTO.getProArchivesName())){
|
|
|
+ queryWrapper.lambda().like(ProjectManageArchives::getProName, reqDTO.getProArchivesName());
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotBlank(reqDTO.getProArchivesCode())){
|
|
|
+ queryWrapper.lambda().eq(ProjectManageArchives::getProCode, reqDTO.getProArchivesCode());
|
|
|
+ }
|
|
|
List<ProjectManageArchives> archives = projectManageArchivesService.list(queryWrapper);
|
|
|
|
|
|
|
|
@@ -138,7 +146,7 @@ public class ProReportServiceImpl implements ProReportService {
|
|
|
ProStatisticsRespDTO respDTO = new ProStatisticsRespDTO(archives.getId(), archives.getProName(),
|
|
|
archives.getProCode(), archives.getProName(), "0", member);
|
|
|
//配置收付款条线数据
|
|
|
- setSecondChildren(businesses, respDTO, CoLineMap, otherList, businessMap, logicMap, milestoneMap, purchaseDataMap, slipMap);
|
|
|
+ setSecondChildren(businesses, respDTO, CoLineMap, otherList, businessMap, logicMap, milestoneMap, purchaseDataMap, slipMap, respDTO.getId());
|
|
|
|
|
|
return respDTO;
|
|
|
}
|
|
@@ -175,7 +183,8 @@ public class ProReportServiceImpl implements ProReportService {
|
|
|
*/
|
|
|
private void setSecondChildren(List<ProjectManageArchivesAndBusiness> businesses, ProStatisticsRespDTO respDTO, Map<String, BaseArchivesCollectionLine> CoLineMap,
|
|
|
List<ProjectManageBusinessOther> otherList, Map<String, List<ProjectManageArchivesAndBusiness>> businessMap, Map<String, List<ProWorkLogic>> logicMap,
|
|
|
- Map<String, List<ProWorkMilestone>> milestoneMap, Map<String, List<PurchaseDataDTO>> purchaseDataMap, Map<String, List<SlipAllListDTO>> slipMap) {
|
|
|
+ Map<String, List<ProWorkMilestone>> milestoneMap, Map<String, List<PurchaseDataDTO>> purchaseDataMap, Map<String, List<SlipAllListDTO>> slipMap,
|
|
|
+ String archivesId) {
|
|
|
List<ProStatisticsTwoRespDTO> list = Lists.newArrayList();
|
|
|
|
|
|
//i: 1代表实施, 2代表开发, 3代表服务, 4,代表其他
|
|
@@ -203,7 +212,7 @@ public class ProReportServiceImpl implements ProReportService {
|
|
|
}
|
|
|
|
|
|
twoRespDTO.setMilePrice(business.getPrice1());
|
|
|
- setThreeChildren(twoRespDTO, otherList, i, logicMap, milestoneMap, purchaseDataMap, slipMap);
|
|
|
+ setThreeChildren(twoRespDTO, otherList, i, logicMap, milestoneMap, purchaseDataMap, slipMap, archivesId);
|
|
|
|
|
|
}
|
|
|
//里程碑2
|
|
@@ -215,7 +224,7 @@ public class ProReportServiceImpl implements ProReportService {
|
|
|
if(!CollectionUtils.isEmpty(others)){
|
|
|
twoRespDTO.setMileCoPrice(others.get(0).getPrice2());
|
|
|
}
|
|
|
- setThreeChildren(twoRespDTO, otherList, i, logicMap, milestoneMap, purchaseDataMap, slipMap);
|
|
|
+ setThreeChildren(twoRespDTO, otherList, i, logicMap, milestoneMap, purchaseDataMap, slipMap, archivesId);
|
|
|
}
|
|
|
//里程碑3
|
|
|
if(StringUtils.isNotBlank(business.getMileId3())){
|
|
@@ -227,7 +236,7 @@ public class ProReportServiceImpl implements ProReportService {
|
|
|
if(!CollectionUtils.isEmpty(others)){
|
|
|
twoRespDTO.setMileCoPrice(others.get(0).getPrice3());
|
|
|
}
|
|
|
- setThreeChildren(twoRespDTO, otherList, i, logicMap, milestoneMap, purchaseDataMap, slipMap);
|
|
|
+ setThreeChildren(twoRespDTO, otherList, i, logicMap, milestoneMap, purchaseDataMap, slipMap, archivesId);
|
|
|
}
|
|
|
//里程碑4
|
|
|
if(StringUtils.isNotBlank(business.getMileId4())){
|
|
@@ -238,7 +247,7 @@ public class ProReportServiceImpl implements ProReportService {
|
|
|
if(!CollectionUtils.isEmpty(others)) {
|
|
|
twoRespDTO.setMileCoPrice(others.get(0).getPrice4());
|
|
|
}
|
|
|
- setThreeChildren(twoRespDTO, otherList, i, logicMap, milestoneMap, purchaseDataMap, slipMap);
|
|
|
+ setThreeChildren(twoRespDTO, otherList, i, logicMap, milestoneMap, purchaseDataMap, slipMap, archivesId);
|
|
|
}
|
|
|
//里程碑5
|
|
|
if(StringUtils.isNotBlank(business.getMileId5())){
|
|
@@ -250,7 +259,7 @@ public class ProReportServiceImpl implements ProReportService {
|
|
|
if(!CollectionUtils.isEmpty(others)) {
|
|
|
twoRespDTO.setMileCoPrice(others.get(0).getPrice5());
|
|
|
}
|
|
|
- setThreeChildren(twoRespDTO, otherList, i, logicMap, milestoneMap, purchaseDataMap, slipMap);
|
|
|
+ setThreeChildren(twoRespDTO, otherList, i, logicMap, milestoneMap, purchaseDataMap, slipMap, archivesId);
|
|
|
}
|
|
|
|
|
|
if(CollectionUtils.isEmpty(twoRespDTO.getChildren())){
|
|
@@ -275,13 +284,14 @@ public class ProReportServiceImpl implements ProReportService {
|
|
|
//配置计划信息表的数据
|
|
|
private void setThreeChildren(ProStatisticsTwoRespDTO twoRespDTO, List<ProjectManageBusinessOther> otherList, int i,
|
|
|
Map<String, List<ProWorkLogic>> logicMap, Map<String, List<ProWorkMilestone>> milestoneMap, Map<String, List<PurchaseDataDTO>> purchaseDataMap,
|
|
|
- Map<String, List<SlipAllListDTO>> slipMap) {
|
|
|
+ Map<String, List<SlipAllListDTO>> slipMap, String archivesId) {
|
|
|
|
|
|
List<ProStatisticsThreeRespDTO> respDTOS = Lists.newArrayList();
|
|
|
- //计划类型 1.商务 2.实施 3.开发 4.服务 5.其他
|
|
|
- i++;
|
|
|
+
|
|
|
+ i++; //计划类型 1.商务 2.实施 3.开发 4.服务 5.其他
|
|
|
for(ProjectManageBusinessOther other : otherList){
|
|
|
- if(other.getPlanType() == i && other.getMuilesId().equals(twoRespDTO.getMileId())){
|
|
|
+ //重点项目档案id一定要与other表的项目档案id 对应,且计划类型与里程碑id匹配的进入该方法
|
|
|
+ if(other.getPlanType() == i && other.getMuilesId().equals(twoRespDTO.getMileId())&& other.getProArchivesId().equals(archivesId)){
|
|
|
ProStatisticsThreeRespDTO threeRespDTO = new ProStatisticsThreeRespDTO(other, twoRespDTO);
|
|
|
//获取实际开始时间
|
|
|
String planType = ChoosePlanTypeEnum.match(i) != null ? ChoosePlanTypeEnum.match(i).getPlanType() : null;
|