|
@@ -163,6 +163,7 @@ public class ProjectInfoServiceImpl extends BaseServiceImpl<ProjectInfoMapper, P
|
|
|
if (vo.getFinishedFill() != null && !vo.getFinishedFill().equals(BigDecimal.ZERO)){
|
|
|
vo.setFinishedFillRatio(vo.getFinishedFill().divide(totalField,2, RoundingMode.UP));
|
|
|
}
|
|
|
+ vo.setInvestYearAll(investPlanService.getYearAllByProjectId(vo.getId()));
|
|
|
}
|
|
|
}
|
|
|
return iPage;
|
|
@@ -407,6 +408,7 @@ public class ProjectInfoServiceImpl extends BaseServiceImpl<ProjectInfoMapper, P
|
|
|
List<ProjectInvestPlan> updateYearPlan = new ArrayList<>();
|
|
|
//开工累计完成投资
|
|
|
BigDecimal projectInvestFinished = BigDecimal.ZERO;
|
|
|
+ BigDecimal InvestYearAllToTal=years.get(0).getInvestYearAll();
|
|
|
for (ProjectInvestPlanVO year : years) {
|
|
|
//如果此年不能填写,则直接跳过
|
|
|
if (year.getIsCanFill() == 0){
|
|
@@ -653,6 +655,17 @@ public class ProjectInfoServiceImpl extends BaseServiceImpl<ProjectInfoMapper, P
|
|
|
yearPlan.setIsFillPlan(1);
|
|
|
}
|
|
|
}
|
|
|
+ if(year.getIsInvestYear()!=null&&year.getIsInvestYear()==0){
|
|
|
+ BigDecimal totalInvestMoney=monthList.stream()
|
|
|
+ .map(ProjectPlanProgress::getInvestMoney)
|
|
|
+ .filter(investMoney -> investMoney != null)
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ if(totalInvestMoney.compareTo(BigDecimal.ZERO)!=0){
|
|
|
+ yearPlan.setInvestYear(totalInvestMoney);
|
|
|
+ InvestYearAllToTal=totalInvestMoney.add(InvestYearAllToTal==null?BigDecimal.ZERO:InvestYearAllToTal);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//直接保存月计划集合
|
|
|
List<ProjectPlanProgress> progresses = new ArrayList<>();
|
|
|
for (ProjectPlanProgressVO vo : monthList) {
|
|
@@ -670,8 +683,11 @@ public class ProjectInfoServiceImpl extends BaseServiceImpl<ProjectInfoMapper, P
|
|
|
}
|
|
|
updateYearPlan.add(yearPlan);
|
|
|
}
|
|
|
+ BigDecimal finalInvestYearAllToTal = InvestYearAllToTal;
|
|
|
//修改年计划
|
|
|
investPlanService.updateBatchById(updateYearPlan);
|
|
|
+ //updateYearPlan有可能会遗漏 在最后统一更新
|
|
|
+ investPlanService.updateAllInvestYearAllByProjectId(dto.getId(),finalInvestYearAllToTal);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -1197,6 +1213,10 @@ public class ProjectInfoServiceImpl extends BaseServiceImpl<ProjectInfoMapper, P
|
|
|
throw new ServiceException("excel中未发现数据,请检查后再导入");
|
|
|
}
|
|
|
for (ProjectImportExcel project : list) {
|
|
|
+ List<ProjectPlanProgressVO> list1 = baseMapper.getAllProgressByProjectId(project.getProjectId());
|
|
|
+ BigDecimal total = list1.stream()
|
|
|
+ .map(vo -> Optional.ofNullable(vo.getInvestMoney()).orElse(BigDecimal.ZERO))
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
//判断是新增项目还是修改项目
|
|
|
if (project.getIsExist()){
|
|
|
/*修改项目*/
|
|
@@ -1216,11 +1236,14 @@ public class ProjectInfoServiceImpl extends BaseServiceImpl<ProjectInfoMapper, P
|
|
|
if (plan.getPlanYear().equals(project.getPlanYear())){
|
|
|
isExist = true;
|
|
|
plan.setProjectId(project.getProjectId());
|
|
|
- if(project.getInvestYear()!=null){
|
|
|
- plan.setYearlyInvest(project.getInvestYear());
|
|
|
+ if(project.getInvestYear()==null||project.getInvestYear().compareTo(BigDecimal.ZERO)==0){
|
|
|
+ plan.setInvestYear(total);
|
|
|
+ plan.setIsInvestYear(0);
|
|
|
}else {
|
|
|
- plan.setYearlyInvest(project.getYearlyInvest());
|
|
|
+ plan.setInvestYear(project.getInvestYear());
|
|
|
+ plan.setIsInvestYear(1);
|
|
|
}
|
|
|
+ plan.setYearlyInvest(project.getYearlyInvest());
|
|
|
plan.setOneInvest(project.getOneInvest());
|
|
|
plan.setTwoInvest(project.getTwoInvest());
|
|
|
plan.setThreeInvest(project.getThreeInvest());
|
|
@@ -1241,11 +1264,14 @@ public class ProjectInfoServiceImpl extends BaseServiceImpl<ProjectInfoMapper, P
|
|
|
ProjectInvestPlan plan = new ProjectInvestPlan();
|
|
|
plan.setProjectId(project.getProjectId());
|
|
|
plan.setPlanYear(project.getPlanYear());
|
|
|
- if(project.getInvestYear()!=null){
|
|
|
- plan.setYearlyInvest(project.getInvestYear());
|
|
|
+ if(project.getInvestYear()==null||project.getInvestYear().compareTo(BigDecimal.ZERO)==0){
|
|
|
+ plan.setInvestYear(total);
|
|
|
+ plan.setIsInvestYear(0);
|
|
|
}else {
|
|
|
- plan.setYearlyInvest(project.getYearlyInvest());
|
|
|
+ plan.setInvestYear(project.getInvestYear());
|
|
|
+ plan.setIsInvestYear(1);
|
|
|
}
|
|
|
+ plan.setYearlyInvest(project.getYearlyInvest());
|
|
|
plan.setOneInvest(project.getOneInvest());
|
|
|
plan.setTwoInvest(project.getTwoInvest());
|
|
|
plan.setThreeInvest(project.getThreeInvest());
|
|
@@ -1275,7 +1301,14 @@ public class ProjectInfoServiceImpl extends BaseServiceImpl<ProjectInfoMapper, P
|
|
|
ProjectInvestPlan plan = new ProjectInvestPlan();
|
|
|
if (i == project.getPlanYear()) {
|
|
|
plan.setPlanYear(project.getPlanYear());
|
|
|
- plan.setYearlyInvest(project.getInvestYear());
|
|
|
+ if(project.getInvestYear()==null||project.getInvestYear().compareTo(BigDecimal.ZERO)==0){
|
|
|
+ plan.setInvestYear(total);
|
|
|
+ plan.setIsInvestYear(0);
|
|
|
+ }else {
|
|
|
+ plan.setInvestYear(project.getInvestYear());
|
|
|
+ plan.setIsInvestYear(1);
|
|
|
+ }
|
|
|
+ plan.setYearlyInvest(project.getYearlyInvest());
|
|
|
plan.setOneInvest(project.getOneInvest());
|
|
|
plan.setTwoInvest(project.getTwoInvest());
|
|
|
plan.setThreeInvest(project.getThreeInvest());
|
|
@@ -1298,7 +1331,14 @@ public class ProjectInfoServiceImpl extends BaseServiceImpl<ProjectInfoMapper, P
|
|
|
if (project.getPlanYear() < project.getStartYear() || project.getPlanYear() > project.getEndYear()){
|
|
|
ProjectInvestPlan plan = new ProjectInvestPlan();
|
|
|
plan.setPlanYear(project.getPlanYear());
|
|
|
- plan.setYearlyInvest(project.getInvestYear());
|
|
|
+ if(project.getInvestYear()==null||project.getInvestYear().compareTo(BigDecimal.ZERO)==0){
|
|
|
+ plan.setInvestYear(total);
|
|
|
+ plan.setIsInvestYear(0);
|
|
|
+ }else {
|
|
|
+ plan.setInvestYear(project.getInvestYear());
|
|
|
+ plan.setIsInvestYear(1);
|
|
|
+ }
|
|
|
+ plan.setYearlyInvest(project.getYearlyInvest());
|
|
|
plan.setOneInvest(project.getOneInvest());
|
|
|
plan.setTwoInvest(project.getTwoInvest());
|
|
|
plan.setThreeInvest(project.getThreeInvest());
|
|
@@ -1332,9 +1372,8 @@ public class ProjectInfoServiceImpl extends BaseServiceImpl<ProjectInfoMapper, P
|
|
|
this.updateFinished(vo);
|
|
|
}
|
|
|
//统计每个项目开工累计完成投资
|
|
|
- BigDecimal allYearlyInvest=baseMapper.getAllYearlyInvestByProjectId(project.getProjectId());
|
|
|
- baseMapper.updateAllYearlyInvest(allYearlyInvest,project.getProjectId());
|
|
|
-
|
|
|
+ BigDecimal investYearAll=baseMapper.getAllYearlyInvestByProjectId(project.getProjectId());
|
|
|
+ baseMapper.updateInvestYearAll(investYearAll,project.getProjectId());
|
|
|
}
|
|
|
long add = list.stream().filter(l -> !l.getIsExist()).count();
|
|
|
long update = list.stream().filter(l -> l.getIsExist()).count();
|