Explorar o código

Merge remote-tracking branch 'origin/master'

liuyc %!s(int64=2) %!d(string=hai) anos
pai
achega
c20d9ba475
Modificáronse 22 ficheiros con 282 adicións e 30 borrados
  1. 1 1
      blade-service-api/blade-control-api/src/main/java/org/springblade/control/entity/DictInfo.java
  2. 42 0
      blade-service-api/blade-control-api/src/main/java/org/springblade/control/vo/ProjectCostBudgetVO3.java
  3. 4 6
      blade-service/blade-archive/src/main/java/org/springblade/archive/mapper/ArchivesAutoMapper.xml
  4. 2 2
      blade-service/blade-control/src/main/java/org/springblade/control/controller/ContractInfoController.java
  5. 18 0
      blade-service/blade-control/src/main/java/org/springblade/control/controller/ProjectCostBudgetController.java
  6. 44 0
      blade-service/blade-control/src/main/java/org/springblade/control/controller/ProjectCostBudgetStatsController.java
  7. 2 0
      blade-service/blade-control/src/main/java/org/springblade/control/mapper/ContractInfoMapper.java
  8. 4 1
      blade-service/blade-control/src/main/java/org/springblade/control/mapper/ContractInfoMapper.xml
  9. 5 4
      blade-service/blade-control/src/main/java/org/springblade/control/mapper/ProjectCostBudgetMapper.java
  10. 15 0
      blade-service/blade-control/src/main/java/org/springblade/control/mapper/ProjectCostBudgetMapper.xml
  11. 10 2
      blade-service/blade-control/src/main/java/org/springblade/control/mapper/ProjectCostBudgetStatsMapper.java
  12. 19 1
      blade-service/blade-control/src/main/java/org/springblade/control/mapper/ProjectCostBudgetStatsMapper.xml
  13. 1 0
      blade-service/blade-control/src/main/java/org/springblade/control/mapper/ProjectInfoMapper.java
  14. 3 0
      blade-service/blade-control/src/main/java/org/springblade/control/mapper/ProjectInfoMapper.xml
  15. 1 1
      blade-service/blade-control/src/main/java/org/springblade/control/service/IContractInfoService.java
  16. 5 0
      blade-service/blade-control/src/main/java/org/springblade/control/service/IProjectCostBudgetService.java
  17. 10 2
      blade-service/blade-control/src/main/java/org/springblade/control/service/IProjectCostBudgetStatsService.java
  18. 6 2
      blade-service/blade-control/src/main/java/org/springblade/control/service/impl/ContractInfoServiceImpl.java
  19. 43 0
      blade-service/blade-control/src/main/java/org/springblade/control/service/impl/ProjectCostBudgetServiceImpl.java
  20. 43 7
      blade-service/blade-control/src/main/java/org/springblade/control/service/impl/ProjectCostBudgetStatsServiceImpl.java
  21. 1 1
      blade-service/blade-control/src/main/java/org/springblade/control/service/impl/ProjectInfoServiceImpl.java
  22. 3 0
      blade-service/blade-control/src/main/java/org/springblade/control/service/impl/ProjectProcessServiceImpl.java

+ 1 - 1
blade-service-api/blade-control-api/src/main/java/org/springblade/control/entity/DictInfo.java

@@ -62,7 +62,7 @@ public class DictInfo implements Serializable {
     /**
      * 字典值
      */
-    private String dictValue;
+    private Integer dictValue;
     /**
      * 排序
      */

+ 42 - 0
blade-service-api/blade-control-api/src/main/java/org/springblade/control/vo/ProjectCostBudgetVO3.java

@@ -0,0 +1,42 @@
+package org.springblade.control.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.control.entity.ProjectCostBudget;
+
+import java.util.List;
+
+/**
+ * @Param  门户普通权限统计个人计划
+ * @Author wangwl
+ * @Date 2023/6/8 10:30
+ **/
+@Data
+public class ProjectCostBudgetVO3 {
+    @ApiModelProperty(value = "任务总数")
+    private Integer totalPlan;
+
+    @ApiModelProperty(value = "已完成任务总数")
+    private Integer finishedPlan;
+
+    @ApiModelProperty(value = "风险总数")
+    private Integer riskPlan;
+
+    @ApiModelProperty(value = "延期总数")
+    private Integer postponePlan;
+
+    @ApiModelProperty(value = "未完成总数")
+    private Integer unfinishedPlan;
+
+    @ApiModelProperty(value = "取消总数")
+    private Integer cancelPlan;
+
+    @ApiModelProperty(value = "转移总数")
+    private Integer transferPlan;
+
+    @ApiModelProperty(value = "未填写日志总数")
+    private Integer notFilledLog;
+
+
+}

+ 4 - 6
blade-service/blade-archive/src/main/java/org/springblade/archive/mapper/ArchivesAutoMapper.xml

@@ -174,8 +174,7 @@
                 and is_lock!=1
                 and node_id in (
                     SELECT id FROM m_archive_tree_contract
-                    WHERE is_deleted = 0
-                    AND project_id = #{projectId}
+                    WHERE project_id = #{projectId}
                     <if test="contractId == null">
                         AND ( contract_id is null OR tree_code = #{treeCode} )
                     </if>
@@ -193,7 +192,7 @@
             and is_lock!=1
             and node_id in (
                 SELECT id FROM m_archive_tree_contract
-                WHERE is_deleted = 0 AND project_id = #{projectId}
+                WHERE project_id = #{projectId}
                 <if test="contractId == null">
                     AND ( contract_id is null OR tree_code = #{treeCode} )
                 </if>
@@ -328,7 +327,7 @@
             and is_lock!=1
             and node_id in (
                 SELECT id FROM m_archive_tree_contract
-                WHERE is_deleted = 0 AND project_id = #{projectId}
+                WHERE project_id = #{projectId}
                 <if test="contractId == null">
                     AND ( contract_id is null OR tree_code = #{treeCode} )
                 </if>
@@ -348,8 +347,7 @@
             AND is_lock != 1
             AND node_id IN (
                     SELECT id FROM m_archive_tree_contract
-                    WHERE
-                    is_deleted = 0 AND project_id = #{projectId}
+                    WHERE project_id = #{projectId}
           AND ancestors IS NOT NULL
           AND ancestors LIKE concat(''
             , #{ancestors}

+ 2 - 2
blade-service/blade-control/src/main/java/org/springblade/control/controller/ContractInfoController.java

@@ -102,8 +102,8 @@ public class ContractInfoController {
     @GetMapping("getNoConnectionProject")
     @ApiOperationSupport(order = 2)
     @ApiOperation(value = "获取未被关联的项目")
-    public R getNoConnectionProject(){
-        return R.data(contractInfoService.getNoConnectionProject());
+    public R getNoConnectionProject(Integer type){
+        return R.data(contractInfoService.getNoConnectionProject(type));
     }
 
 }

+ 18 - 0
blade-service/blade-control/src/main/java/org/springblade/control/controller/ProjectCostBudgetController.java

@@ -100,5 +100,23 @@ public class ProjectCostBudgetController {
 //        return R.data(budgetService.getDepartmentPlan(departmentType,planDate));
 //    }
 
+    /**
+     * 门户普通权限总计划统计
+     */
+    @GetMapping("/planOverview")
+    @ApiOperationSupport(order = 1)
+    @ApiOperation(value = "门户普通权限总计划统计")
+    public R planOverview(){
+        return R.data(budgetService.planOverview());
+    }
 
+    /**
+     * 门户普通权限单月计划统计
+     */
+    @GetMapping("/MonthPlanOverview")
+    @ApiOperationSupport(order = 1)
+    @ApiOperation(value = "门户普通权限单月计划统计")
+    public R MonthPlanOverview(String planDate){
+        return R.data(budgetService.MonthPlanOverview(planDate));
+    }
 }

+ 44 - 0
blade-service/blade-control/src/main/java/org/springblade/control/controller/ProjectCostBudgetStatsController.java

@@ -96,4 +96,48 @@ public class ProjectCostBudgetStatsController {
     public R budgetList(ProjectCostBudget costBudget) {
         return R.data(budgetStatsService.budgetList(costBudget));
     }
+
+    /**
+     * 获取未做预算的项目列表
+     */
+    @GetMapping("/getProjectList")
+    @ApiOperationSupport(order = 1)
+    @ApiOperation(value = "获取未做预算的项目列表")
+    public R getProjectList() {
+        return R.data(budgetStatsService.getProjectList());
+    }
+
+    /**
+     * 获取费用分类
+     */
+    @GetMapping("/getCostTypeDict")
+    @ApiOperationSupport(order = 1)
+    @ApiOperation(value = "获取费用分类")
+    public R getCostTypeDict() {
+        return R.data(budgetStatsService.getCostTypeDict());
+    }
+
+    /**
+     * 获取项目环节
+     */
+    @GetMapping("/getProcessList")
+    @ApiOperationSupport(order = 1)
+    @ApiOperation(value = "获取项目环节")
+    public R getProcessList(Long projectId) {
+        return R.data(budgetStatsService.getProcessList(projectId));
+    }
+
+    /**
+     * 获取岗位字典
+     */
+    @GetMapping("/getPostDict")
+    @ApiOperationSupport(order = 1)
+    @ApiOperation(value = "获取岗位字典")
+    public R getPostDict() {
+        return R.data(budgetStatsService.getPostDict());
+    }
+
+
+
+
 }

+ 2 - 0
blade-service/blade-control/src/main/java/org/springblade/control/mapper/ContractInfoMapper.java

@@ -28,4 +28,6 @@ public interface ContractInfoMapper extends BaseMapper<ControlContractInfo> {
     ControlContractInfoVO getContractInfoById(@Param("id") Long id);
 
     List<ControlContractInfoVO> getPage(IPage page,@Param("dto") ControlContractInfoDTO dto);
+
+    List<ControlProjectInfo> getNoConnectionProject2();
 }

+ 4 - 1
blade-service/blade-control/src/main/java/org/springblade/control/mapper/ContractInfoMapper.xml

@@ -4,7 +4,7 @@
 
 
     <select id="getNoConnectionProject" resultType="org.springblade.control.entity.ControlProjectInfo">
-        select pi.id,pi.name from c_control_project_info pi left join c_control_contract_info ci on pi.id = ci.project_id WHERE ci.id is null
+        select pi.id,pi.name from c_control_project_info pi left join c_control_contract_info ci on pi.id = ci.project_id WHERE pi.is_deleted = 0 and  ci.id is null
     </select>
 
     <select id="getContractTypeDict" resultType="org.springblade.control.entity.DictInfo">
@@ -26,4 +26,7 @@
             (ci.contract_money - IFNULL((select SUM(practical_returned_money) from c_contract_returned_info WHERE contract_id = ci.id),0)) as unreturnedMoney
         FROM c_control_contract_info ci
     </select>
+    <select id="getNoConnectionProject2" resultType="org.springblade.control.entity.ControlProjectInfo">
+        select pi.id,pi.name from c_control_project_info pi WHERE pi.is_deleted = 0
+    </select>
 </mapper>

+ 5 - 4
blade-service/blade-control/src/main/java/org/springblade/control/mapper/ProjectCostBudgetMapper.java

@@ -7,10 +7,7 @@ import org.apache.ibatis.annotations.Param;
 import org.springblade.control.dto.ControlContractInfoDTO;
 import org.springblade.control.dto.ControlProjectInfoDTO;
 import org.springblade.control.entity.*;
-import org.springblade.control.vo.ControlContractInfoVO;
-import org.springblade.control.vo.ControlProjectInfoVO;
-import org.springblade.control.vo.ProjectCostBudgetVO;
-import org.springblade.control.vo.ProjectCostBudgetVO2;
+import org.springblade.control.vo.*;
 import org.springblade.core.mp.support.Query;
 
 import java.time.LocalDate;
@@ -42,4 +39,8 @@ public interface ProjectCostBudgetMapper extends BaseMapper<ProjectCostBudget> {
     List<ProjectCostBudgetVO> getDepartmentPlan(@Param("type") Integer type,@Param("startDate") LocalDate startDate,@Param("endDate") LocalDate endDate);
 
     void updateStatus(@Param("id") Long id,@Param("status") int status);
+
+    ProjectCostBudgetVO3 getUserALLPlan(@Param("user") Long user);
+
+    ProjectCostBudgetVO3 MonthPlanOverview(@Param("user") Long user,@Param("startDate") LocalDate startDate,@Param("endDate") LocalDate endDate);
 }

+ 15 - 0
blade-service/blade-control/src/main/java/org/springblade/control/mapper/ProjectCostBudgetMapper.xml

@@ -83,6 +83,21 @@
           and (pcb.plan_start_time BETWEEN #{startDate} AND #{endDate}
             or pcb.plan_end_time BETWEEN #{startDate} AND #{endDate})
     </select>
+    <select id="getUserALLPlan" resultType="org.springblade.control.vo.ProjectCostBudgetVO3">
+        SELECT
+            (select COUNT(1) FROM c_project_cost_budget pcb WHERE pcb.task_user = #{user}) as 'totalPlan',
+            (select COUNT(1) FROM c_project_cost_budget pcb WHERE pcb.task_user = #{user} and pcb.status = 4 ) as 'finishedPlan'
+    </select>
+    <select id="MonthPlanOverview" resultType="org.springblade.control.vo.ProjectCostBudgetVO3">
+        select
+            (select count(1) from c_project_cost_budget pcb WHERE pcb.task_user = #{user}
+                and (pcb.plan_start_time BETWEEN #{startDate} AND #{endDate}
+                or pcb.plan_end_time BETWEEN #{startDate} AND #{endDate})) as 'totalPlan',
+            (select count(1) from c_project_cost_budget pcb WHERE pcb.task_user = #{user} and pcb.status in (1,2,3)
+                and (pcb.plan_start_time BETWEEN #{startDate} AND #{endDate}
+                or pcb.plan_end_time BETWEEN #{startDate} AND #{endDate})) as 'unfinishedPlan'
+
+    </select>
 
 
 </mapper>

+ 10 - 2
blade-service/blade-control/src/main/java/org/springblade/control/mapper/ProjectCostBudgetStatsMapper.java

@@ -3,10 +3,10 @@ package org.springblade.control.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.Param;
-import org.springblade.control.entity.ProjectCostBudget;
-import org.springblade.control.entity.ProjectCostBudgetStats;
+import org.springblade.control.entity.*;
 import org.springblade.control.vo.ProjectCostBudgetStatsVO;
 import org.springblade.control.vo.ProjectCostBudgetVO;
+import org.springblade.manager.entity.ProjectInfo;
 
 import java.util.List;
 
@@ -23,4 +23,12 @@ public interface ProjectCostBudgetStatsMapper extends BaseMapper<ProjectCostBudg
     void deleteByProjectId(@Param("id") Long id);
 
     List<ProjectCostBudgetStatsVO> page(IPage page,@Param("queryValue") String queryValue);
+
+    List<ControlProjectInfo> getProjectList();
+
+    List<DictInfo> getCostTypeDict();
+
+    List<ProjectProcess> getProcessList(@Param("projectId") Long projectId);
+
+    List<DictInfo> getPostDict();
 }

+ 19 - 1
blade-service/blade-control/src/main/java/org/springblade/control/mapper/ProjectCostBudgetStatsMapper.xml

@@ -16,9 +16,27 @@
     <select id="page" resultType="org.springblade.control.vo.ProjectCostBudgetStatsVO">
         SELECT cbs.*,cpi.name as projectName,CASE cbs.status WHEN '0' THEN '未上报' WHEN '1' THEN '已上报' WHEN '2' THEN '已审批' ELSE '已驳回' END as statusValue
         from c_project_cost_budget_stats cbs left join bladex.c_control_project_info cpi on cbs.project_id = cpi.id
-        where 1=1
+        where is_deleted = 0
         <if test="queryValue != null and queryValue != ''">
             and cpi.name like concat('%', #{queryValue}, '%')
         </if>
     </select>
+
+    <select id="getProjectList" resultType="org.springblade.control.entity.ControlProjectInfo">
+        select * FROM c_control_project_info cpi left join c_project_cost_budget_stats cbs on cpi.id = cbs.project_id WHERE cbs.id is null
+    </select>
+
+    <select id="getCostTypeDict" resultType="org.springblade.control.entity.DictInfo">
+        select * from c_dict_info WHERE code = 'cost_type' order by sort
+    </select>
+
+    <select id="getProcessList" resultType="org.springblade.control.entity.ProjectProcess">
+        SELECT * FROM c_project_process
+        WHERE project_id = #{projectId}
+        order by sort
+    </select>
+    <select id="getPostDict" resultType="org.springblade.control.entity.DictInfo">
+        select * from c_dict_info WHERE `type` = 3 order by sort
+    </select>
+
 </mapper>

+ 1 - 0
blade-service/blade-control/src/main/java/org/springblade/control/mapper/ProjectInfoMapper.java

@@ -25,4 +25,5 @@ public interface ProjectInfoMapper extends BaseMapper<ControlProjectInfo> {
 
     List<DictInfo> getProjectServerTypeDict();
 
+    Long selectProjectCount();
 }

+ 3 - 0
blade-service/blade-control/src/main/java/org/springblade/control/mapper/ProjectInfoMapper.xml

@@ -50,6 +50,9 @@
     <select id="getProjectServerTypeDict" resultType="org.springblade.control.entity.DictInfo">
         SELECT dict_name,dict_value FROM c_dict_info WHERE CODE = 'project_server_type' order by sort
     </select>
+    <select id="selectProjectCount" resultType="java.lang.Long">
+        select count(1) from c_control_project_info
+    </select>
 
 
 </mapper>

+ 1 - 1
blade-service/blade-control/src/main/java/org/springblade/control/service/IContractInfoService.java

@@ -26,7 +26,7 @@ public interface IContractInfoService extends BaseService<ControlContractInfo> {
 
     List<DictInfo> getContractTypeDict();
 
-    List<ControlProjectInfo> getNoConnectionProject();
+    List<ControlProjectInfo> getNoConnectionProject(Integer type);
 
     void deleteContractInfoById(Long id);
 

+ 5 - 0
blade-service/blade-control/src/main/java/org/springblade/control/service/IProjectCostBudgetService.java

@@ -10,6 +10,7 @@ import org.springblade.control.entity.ProjectCostBudget;
 import org.springblade.control.entity.ProjectCostBudgetStats;
 import org.springblade.control.vo.ControlProjectInfoVO;
 import org.springblade.control.vo.ProjectCostBudgetVO;
+import org.springblade.control.vo.ProjectCostBudgetVO3;
 import org.springblade.core.mp.base.BaseService;
 import org.springblade.core.mp.support.Query;
 
@@ -43,4 +44,8 @@ public interface IProjectCostBudgetService extends BaseService<ProjectCostBudget
     void updateStatus(Long id, int status);
 
     Integer getWorkDays(LocalDate startDate, LocalDate endDate);
+
+    ProjectCostBudgetVO3 planOverview();
+
+    ProjectCostBudgetVO3 MonthPlanOverview(String planDate);
 }

+ 10 - 2
blade-service/blade-control/src/main/java/org/springblade/control/service/IProjectCostBudgetStatsService.java

@@ -2,12 +2,12 @@ package org.springblade.control.service;
 
 import org.springblade.control.dto.ProjectCostBudgetDTO;
 import org.springblade.control.dto.ProjectCostBudgetStatsDTO;
-import org.springblade.control.entity.ProjectCostBudget;
-import org.springblade.control.entity.ProjectCostBudgetStats;
+import org.springblade.control.entity.*;
 import org.springblade.control.vo.ProjectCostBudgetStatsVO;
 import org.springblade.control.vo.ProjectCostBudgetVO;
 import org.springblade.core.mp.base.BaseService;
 import org.springblade.core.mp.support.Query;
+import org.springblade.manager.entity.ProjectInfo;
 
 import java.util.List;
 
@@ -27,4 +27,12 @@ public interface IProjectCostBudgetStatsService extends BaseService<ProjectCostB
     List<ProjectCostBudgetStatsVO> page(String queryValue, Query query);
 
     ProjectCostBudgetStatsVO budgetList(ProjectCostBudget costBudget);
+
+    List<ControlProjectInfo> getProjectList();
+
+    List<DictInfo> getCostTypeDict();
+
+    List<ProjectProcess> getProcessList(Long projectId);
+
+    List<DictInfo> getPostDict();
 }

+ 6 - 2
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/ContractInfoServiceImpl.java

@@ -62,8 +62,12 @@ public class ContractInfoServiceImpl extends BaseServiceImpl<ContractInfoMapper,
      * @return
      */
     @Override
-    public List<ControlProjectInfo> getNoConnectionProject() {
-        return baseMapper.getNoConnectionProject();
+    public List<ControlProjectInfo> getNoConnectionProject(Integer type) {
+        if (type.equals(1)) {
+            return baseMapper.getNoConnectionProject();
+        }else {
+            return baseMapper.getNoConnectionProject2();
+        }
     }
 
     /**

+ 43 - 0
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/ProjectCostBudgetServiceImpl.java

@@ -21,6 +21,7 @@ import org.springblade.control.service.IProjectProcessService;
 import org.springblade.control.vo.ControlProjectInfoVO;
 import org.springblade.control.vo.ProjectCostBudgetVO;
 import org.springblade.control.vo.ProjectCostBudgetVO2;
+import org.springblade.control.vo.ProjectCostBudgetVO3;
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.core.mp.support.Query;
 import org.springframework.beans.BeanUtils;
@@ -270,6 +271,48 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
         return CommonUtil.getWorkDays(startDate,endDate);
     }
 
+    /**
+     * 门户普通权限总计划统计
+     */
+    @Override
+    public ProjectCostBudgetVO3 planOverview() {
+        //没有用户
+        Long user = 1123598821738675201L;
+        ProjectCostBudgetVO3 vo3 = baseMapper.getUserALLPlan(user);
+        return vo3;
+    }
+
+    /**
+     * 门户普通权限单月计划统计
+     */
+    @Override
+    public ProjectCostBudgetVO3 MonthPlanOverview(String planDate) {
+        //没有用户
+        Long user = 1123598821738675201L;
+        //初始化时间段
+        String[] split = planDate.split("-");
+        int year = Integer.parseInt(split[0]);
+        int month = Integer.parseInt(split[1]);
+        LocalDate startDate;
+        LocalDate endDate;
+        startDate =  LocalDate.of(year,month,1);
+        if (Arrays.asList("1,3,5,7,8,10,12".split(",")).contains(month)){
+            endDate =  LocalDate.of(year,month,31);
+        }else {
+            if (month != 2) {
+                endDate = LocalDate.of(year, month, 30);
+            }else {
+                if (year % 4 == 0){
+                    endDate = LocalDate.of(year, month, 29);
+                }else {
+                    endDate = LocalDate.of(year, month, 28);
+                }
+            }
+        }
+        ProjectCostBudgetVO3 vo3 = baseMapper.MonthPlanOverview(user, startDate, endDate);
+        return vo3;
+    }
+
     /**
      * 统计一行的几个总金额
      */

+ 43 - 7
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/ProjectCostBudgetStatsServiceImpl.java

@@ -7,19 +7,19 @@ import lombok.AllArgsConstructor;
 import org.springblade.common.utils.SnowFlakeUtil;
 import org.springblade.control.dto.ProjectCostBudgetDTO;
 import org.springblade.control.dto.ProjectCostBudgetStatsDTO;
-import org.springblade.control.entity.ControlProjectInfo;
-import org.springblade.control.entity.ProjectCostBudget;
-import org.springblade.control.entity.ProjectCostBudgetStats;
+import org.springblade.control.entity.*;
 import org.springblade.control.mapper.ProjectCostBudgetMapper;
 import org.springblade.control.mapper.ProjectCostBudgetStatsMapper;
 import org.springblade.control.service.IProjectCostBudgetService;
 import org.springblade.control.service.IProjectCostBudgetStatsService;
 import org.springblade.control.service.IProjectInfoService;
+import org.springblade.control.service.IProjectProcessService;
 import org.springblade.control.vo.ProjectCostBudgetStatsVO;
 import org.springblade.control.vo.ProjectCostBudgetVO;
 import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.core.mp.support.Query;
+import org.springblade.manager.entity.ProjectInfo;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -39,6 +39,8 @@ import java.util.stream.Collectors;
 public class ProjectCostBudgetStatsServiceImpl extends BaseServiceImpl<ProjectCostBudgetStatsMapper, ProjectCostBudgetStats> implements IProjectCostBudgetStatsService {
     private final IProjectCostBudgetService budgetService;
     private final IProjectInfoService projectInfoService;
+    private final IProjectProcessService processService;
+
 
     /**
      * 新增项目成本预算
@@ -68,10 +70,12 @@ public class ProjectCostBudgetStatsServiceImpl extends BaseServiceImpl<ProjectCo
         ProjectCostBudgetStatsVO vo = baseMapper.getBudgetStatsById(id);
         //查询具体明细并分组存入
         List<ProjectCostBudget> list = budgetService.budgetListByProjectId(vo.getProjectId());
-        Map<Integer, List<ProjectCostBudget>> map = list.parallelStream().collect(Collectors.groupingBy(ProjectCostBudget::getUnitType));
-        vo.setBuildUnit(map.get(1));
-        vo.setSupervisorUnit(map.get(2));
-        vo.setConstructUnit(map.get(3));
+        if (list != null && list.size() > 0) {
+            Map<Integer, List<ProjectCostBudget>> map = list.parallelStream().collect(Collectors.groupingBy(ProjectCostBudget::getUnitType));
+            vo.setBuildUnit(map.get(1));
+            vo.setSupervisorUnit(map.get(2));
+            vo.setConstructUnit(map.get(3));
+        }
         return vo;
     }
 
@@ -121,4 +125,36 @@ public class ProjectCostBudgetStatsServiceImpl extends BaseServiceImpl<ProjectCo
         vo.setPreviewList(list);
         return vo;
     }
+
+    /**
+     * 获取未做预算的项目列表
+     */
+    @Override
+    public List<ControlProjectInfo> getProjectList() {
+        return baseMapper.getProjectList();
+    }
+
+    /**
+     * 获取费用分类
+     */
+    @Override
+    public List<DictInfo> getCostTypeDict() {
+        return baseMapper.getCostTypeDict();
+    }
+
+    /**
+     * 获取项目环节
+     */
+    @Override
+    public List<ProjectProcess> getProcessList(Long projectId) {
+        return baseMapper.getProcessList(projectId);
+    }
+
+    /**
+     * 获取项目环节
+     */
+    @Override
+    public List<DictInfo> getPostDict() {
+        return baseMapper.getPostDict();
+    }
 }

+ 1 - 1
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/ProjectInfoServiceImpl.java

@@ -62,7 +62,7 @@ public class ProjectInfoServiceImpl extends BaseServiceImpl<ProjectInfoMapper, C
     public void addProjectInfo(ControlProjectInfoDTO dto) {
         Long id = SnowFlakeUtil.getId();
         dto.setId(id);
-        Long count = infoMapper.selectCount(new LambdaQueryWrapper<>());
+        Long count = baseMapper.selectProjectCount();
         if (count == 0){
             dto.setNumber("GS-01");
         }else if (count < 9){

+ 3 - 0
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/ProjectProcessServiceImpl.java

@@ -90,11 +90,14 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl<ProjectProcessMap
                 if (l.getProcessStartTime().isBefore(LocalDate.now())) {
                     if (l.getProcessEndTime().isBefore(LocalDate.now())) {
                         l.setStatusValue("已闭环");
+                        l.setStatus(3);
                     } else {
                         l.setStatusValue("进行中");
+                        l.setStatus(2);
                     }
                 } else {
                     l.setStatusValue("未开始");
+                    l.setStatus(1);
                 }
             }
         });