Ver Fonte

项目详情,投资未完成额

qianxb há 1 ano atrás
pai
commit
2c3047273b

+ 2 - 0
src/main/java/org/springblade/modules/project/mapper/ProjectInfoMapper.java

@@ -67,4 +67,6 @@ public interface ProjectInfoMapper extends BaseMapper<ProjectInfo> {
     List<InvestPlanWarningVO> getAllYearPlan();
 
     Long getBuildTotal(@Param("dto") ProjectInfoPageDTO dto);
+
+    void deleteProgressByProjectId(@Param("projectId") Long id);
 }

+ 3 - 0
src/main/java/org/springblade/modules/project/mapper/ProjectInfoMapper.xml

@@ -4,6 +4,9 @@
     <delete id="deleteWarning">
         delete from d_project_warning
     </delete>
+    <delete id="deleteProgressByProjectId">
+        delete from d_project_plan_progress where project_id = #{projectId}
+    </delete>
 
     <select id="detail" resultType="org.springblade.modules.project.pojo.vo.ProjectInfoDetailVO">
         select * from d_project_info where id = #{id}

+ 4 - 5
src/main/java/org/springblade/modules/project/service/impl/ProjectInfoServiceImpl.java

@@ -273,9 +273,9 @@ public class ProjectInfoServiceImpl extends BaseServiceImpl<ProjectInfoMapper, P
             //校验是否允许填写,未设置计划和超过今年的不允许填写
             if (planVO.getIsPlan() == 0 || planVO.getPlanYear() > LocalDate.now().getYear()){
                 planVO.setIsCanFill(0);
-                continue;
+            }else {
+                planVO.setIsCanFill(1);
             }
-            planVO.setIsCanFill(1);
             //如果没有填写过完成情况,则创建构建完成情况信息
             List<ProjectPlanProgressVO> progresses = new ArrayList<>();
             BigDecimal monthFinished = BigDecimal.ZERO;
@@ -321,6 +321,7 @@ public class ProjectInfoServiceImpl extends BaseServiceImpl<ProjectInfoMapper, P
                     Integer i = progress.getPlanMonth();
                     progress.setPlanMonthName(monthNames[i]);
                     progress.setYearlyTarget(planVO.getYearlyTarget());
+                    monthFinished = monthFinished.add(progress.getInvestMoney() == null ? BigDecimal.ZERO : progress.getInvestMoney());
                     if (i <= 3){
                         progress.setPlanQuarterName("一季度");
                         if (planVO.getOneInvest() != null) {
@@ -371,8 +372,7 @@ public class ProjectInfoServiceImpl extends BaseServiceImpl<ProjectInfoMapper, P
             return;
         }
         //删除所有年的详情
-        planProgressService.remove(new LambdaQueryWrapper<ProjectPlanProgress>()
-                .eq(ProjectPlanProgress::getProjectId,dto.getId()));
+        baseMapper.deleteProgressByProjectId(dto.getId());
         List<ProjectInvestPlan> updateYearPlan = new ArrayList<>();
         for (ProjectInvestPlanDTO year : years) {
             //如果此年不能填写,则直接跳过
@@ -402,7 +402,6 @@ public class ProjectInfoServiceImpl extends BaseServiceImpl<ProjectInfoMapper, P
 
             List<ProjectPlanProgress> monthList = year.getList();
             for (ProjectPlanProgress progress : monthList) {
-                progress.setId(null);
                 progress.setInvestMoneyAll(null);
                 //设置当前行已经填写字段
                 Integer fillField = 0;