Explorar o código

项目统计,总金额和列表

qianxb %!s(int64=2) %!d(string=hai) anos
pai
achega
261d8618a5
Modificáronse 14 ficheiros con 109 adicións e 21 borrados
  1. 2 5
      blade-service-api/blade-control-api/src/main/java/org/springblade/control/entity/ProjectCostBudget.java
  2. 24 4
      blade-service-api/blade-control-api/src/main/java/org/springblade/control/vo/AllProjectStatsVO.java
  3. 10 0
      blade-service/blade-control/src/main/java/org/springblade/control/controller/ContractInfoController.java
  4. 18 10
      blade-service/blade-control/src/main/java/org/springblade/control/controller/ContractReturnedInfoController.java
  5. 10 0
      blade-service/blade-control/src/main/java/org/springblade/control/controller/ProjectInfoController.java
  6. 2 0
      blade-service/blade-control/src/main/java/org/springblade/control/mapper/ContractInfoMapper.java
  7. 3 0
      blade-service/blade-control/src/main/java/org/springblade/control/mapper/ContractInfoMapper.xml
  8. 2 0
      blade-service/blade-control/src/main/java/org/springblade/control/mapper/ProjectInfoMapper.java
  9. 14 1
      blade-service/blade-control/src/main/java/org/springblade/control/mapper/ProjectInfoMapper.xml
  10. 2 0
      blade-service/blade-control/src/main/java/org/springblade/control/service/IContractInfoService.java
  11. 2 0
      blade-service/blade-control/src/main/java/org/springblade/control/service/IProjectInfoService.java
  12. 8 0
      blade-service/blade-control/src/main/java/org/springblade/control/service/impl/ContractInfoServiceImpl.java
  13. 4 1
      blade-service/blade-control/src/main/java/org/springblade/control/service/impl/ContractReturnedInfoServiceImpl.java
  14. 8 0
      blade-service/blade-control/src/main/java/org/springblade/control/service/impl/ProjectInfoServiceImpl.java

+ 2 - 5
blade-service-api/blade-control-api/src/main/java/org/springblade/control/entity/ProjectCostBudget.java

@@ -35,26 +35,21 @@ public class ProjectCostBudget extends BaseEntity {
     private Long deptId;
 
     @ApiModelProperty(value = "费用类型")
-    @JsonSerialize(nullsUsing = NullSerializer.class)
     private Integer costType;
 
     @ApiModelProperty(value = "项目环节")
-    @JsonSerialize(nullsUsing = NullSerializer.class)
     private Long projectProcess;
 
     @ApiModelProperty(value = "预算类型")
-    @JsonSerialize(nullsUsing = NullSerializer.class)
     private Integer budgetType;
 
     @ApiModelProperty(value = "任务类型")
-    @JsonSerialize(nullsUsing = NullSerializer.class)
     private Integer taskDetail;
 
     @ApiModelProperty(value = "预计天数")
     private BigDecimal budgetDays;
 
     @ApiModelProperty(value = "岗位类型")
-    @JsonSerialize(nullsUsing = NullSerializer.class)
     private Integer postType;
 
     @ApiModelProperty(value = "投入人员数量")
@@ -97,6 +92,7 @@ public class ProjectCostBudget extends BaseEntity {
     private String planTarget;
 
     @ApiModelProperty(value = "任务人")
+    @JsonSerialize(nullsUsing = NullSerializer.class)
     private Long taskUser;
 
     @DateTimeFormat(
@@ -121,6 +117,7 @@ public class ProjectCostBudget extends BaseEntity {
     private BigDecimal planDays;
 
     @ApiModelProperty(value = "关联回款")
+    @JsonSerialize(nullsUsing = NullSerializer.class)
     private Long contractReturnedId;
 
     @ApiModelProperty(value = "父id")

+ 24 - 4
blade-service-api/blade-control-api/src/main/java/org/springblade/control/vo/AllProjectStatsVO.java

@@ -3,6 +3,8 @@ package org.springblade.control.vo;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.math.BigDecimal;
+
 /**
  * @Param
  * @Author wangwl
@@ -11,15 +13,33 @@ import lombok.Data;
 @Data
 public class AllProjectStatsVO {
     @ApiModelProperty(value = "总合同额")
-    private String allContractMoney;
+    private BigDecimal allContractMoney;
 
     @ApiModelProperty(value = "总测算成本")
-    private String allProjectCost;
+    private BigDecimal allProjectCost;
 
     @ApiModelProperty(value = "总实际支出")
-    private String allPracticalDisburse;
+    private BigDecimal allPracticalDisburse;
 
     @ApiModelProperty(value = "总回款")
-    private String allReturned;
+    private BigDecimal allReturned;
+
+    @ApiModelProperty(value = "项目名称")
+    private String projectName;
+
+    @ApiModelProperty(value = "合同金额")
+    private BigDecimal contractMoney;
+
+    @ApiModelProperty(value = "预算成本")
+    private BigDecimal budgetCost;
+
+    @ApiModelProperty(value = "实际已支出成本呢")
+    private BigDecimal practicalPayCost;
+
+    @ApiModelProperty(value = "实际已回款")
+    private BigDecimal ReturnedMoney;
+
+    @ApiModelProperty(value = "未回款")
+    private BigDecimal unreturnedMoney;
 
 }

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

@@ -87,6 +87,16 @@ public class ContractInfoController {
         return R.data(contractInfoService.getPage(dto,query));
     }
 
+    /**
+     * 合同列表,回款更新
+     */
+    @GetMapping("/getList")
+    @ApiOperationSupport(order = 3)
+    @ApiOperation(value = "合同列表,回款更新")
+    public R getList() {
+        return R.data(contractInfoService.getList());
+    }
+
     /**
      * 获取合同类型字典
      */

+ 18 - 10
blade-service/blade-control/src/main/java/org/springblade/control/controller/ContractReturnedInfoController.java

@@ -2,9 +2,12 @@ package org.springblade.control.controller;
 
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import org.springblade.control.dto.ContractReturnedInfoDTO;
+import org.springblade.control.dto.ControlContractInfoDTO;
 import org.springblade.control.entity.ContractReturnedInfo;
 import org.springblade.control.entity.ControlContractInfo;
 import org.springblade.control.service.IContractInfoService;
@@ -27,16 +30,21 @@ public class ContractReturnedInfoController {
 
     private final IContractReturnedInfoService contractReturnedInfoService;
 
-//    /**
-//     * 批量新增或修改回款信息
-//     */
-//    @PostMapping("/saveOrUpdateBatchReturned")
-//    @ApiOperationSupport(order = 1)
-//    @ApiOperation(value = "批量新增或修改回款信息")
-//    public R saveOrUpdateBatchReturned(@RequestBody ContractReturnedInfoDTO dto) {
-//        contractReturnedInfoService.saveOrUpdateBatchReturned(dto);
-//        return R.success("保存成功");
-//    }
+    /**
+     * 批量新增或修改回款信息
+     */
+    @PostMapping("/saveOrUpdateBatchReturned")
+    @ApiOperationSupport(order = 1)
+    @ApiOperation(value = "批量新增或修改回款信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "合同id", required = true),
+            @ApiImplicitParam(name = "projectId", value = "项目id", required = true),
+            @ApiImplicitParam(name = "list", value = "合同回款集合", required = false),
+    })
+    public R saveOrUpdateBatchReturned(@RequestBody ControlContractInfoDTO dto) {
+        contractReturnedInfoService.saveOrUpdateBatchReturned(dto);
+        return R.success("保存成功");
+    }
 
     /**
      * 根据合同ID获取合同回款列表

+ 10 - 0
blade-service/blade-control/src/main/java/org/springblade/control/controller/ProjectInfoController.java

@@ -119,4 +119,14 @@ public class ProjectInfoController {
         return R.data(projectInfoService.allProjectStats());
     }
 
+    /**
+     * 项目统计列表统计
+     */
+    @GetMapping("/ProjectListStats")
+    @ApiOperationSupport(order = 2)
+    @ApiOperation(value = "项目统计列表统计")
+    public R ProjectListStats() {
+        return R.data(projectInfoService.ProjectListStats());
+    }
+
 }

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

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

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

@@ -29,4 +29,7 @@
     <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>
+    <select id="getList" resultType="org.springblade.control.entity.ControlContractInfo">
+        select * from c_control_contract_info WHERE is_deleted = 0
+    </select>
 </mapper>

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

@@ -29,4 +29,6 @@ public interface ProjectInfoMapper extends BaseMapper<ControlProjectInfo> {
     Long selectProjectCount();
 
     AllProjectStatsVO allProjectStats();
+
+    List<AllProjectStatsVO> ProjectListStats();
 }

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

@@ -54,7 +54,20 @@
         select count(1) from c_control_project_info
     </select>
     <select id="allProjectStats" resultType="org.springblade.control.vo.AllProjectStatsVO">
-
+        select
+            (select sum(cci.contract_money)  from c_control_contract_info cci WHERE cci.is_deleted = 0) as allContractMoney,
+            (select SUM(cbs.project_cost_total)  from c_project_cost_budget_stats cbs WHERE cbs.is_deleted = 0) as allProjectCost,
+            (select SUM(cri.practical_returned_money)  from c_contract_returned_info cri WHERE cri.is_deleted = 0) as allReturned
+    </select>
+    <select id="ProjectListStats" resultType="org.springblade.control.vo.AllProjectStatsVO">
+        select
+            cpi.name as 'projectName',
+            cci.contract_money  as 'contractMoney',
+                (select cbs.project_cost_total from c_project_cost_budget_stats cbs WHERE cpi.id = cbs.project_id  and cbs.is_deleted = 0) as 'budgetCost',
+                (select SUM(cri.practical_returned_money)  from c_contract_returned_info cri WHERE cpi.id = cri.project_id and cri.is_deleted = 0) as 'ReturnedMoney',
+                (cci.contract_money - IFNULL((select SUM(cri.practical_returned_money) from c_contract_returned_info cri WHERE cri.contract_id = cci.id and cri.is_deleted = 0),0)) as 'unreturnedMoney'
+        from c_control_project_info cpi left join c_control_contract_info cci on cpi.id = cci.project_id and cci.is_deleted = 0
+        WHERE cpi.is_deleted = 0
     </select>
 
 

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

@@ -35,4 +35,6 @@ public interface IContractInfoService extends BaseService<ControlContractInfo> {
     ControlContractInfoVO getContractInfoById(Long id);
 
     List<ControlContractInfoVO> getPage(ControlContractInfoDTO dto,Query query);
+
+    List<ControlContractInfo> getList();
 }

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

@@ -33,4 +33,6 @@ public interface IProjectInfoService extends BaseService<ControlProjectInfo> {
     List<DictInfo> getProjectServerTypeDict();
 
     AllProjectStatsVO allProjectStats();
+
+    List<AllProjectStatsVO> ProjectListStats();
 }

+ 8 - 0
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/ContractInfoServiceImpl.java

@@ -124,4 +124,12 @@ public class ContractInfoServiceImpl extends BaseServiceImpl<ContractInfoMapper,
         IPage<ControlContractInfoVO> page = new Page<>(query.getCurrent(),query.getSize());
         return baseMapper.getPage(page,dto);
     }
+
+    /**
+     * 合同列表,回款更新
+     */
+    @Override
+    public List<ControlContractInfo> getList() {
+        return baseMapper.getList();
+    }
 }

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

@@ -42,7 +42,10 @@ public class ContractReturnedInfoServiceImpl extends BaseServiceImpl<ContractRet
         baseMapper.deleteOldInfo(dto.getId());
         List<ContractReturnedInfo> list = dto.getList();
         if (list != null && list.size() >0) {
-            list.stream().forEach(l->l.setProjectId(dto.getProjectId()));
+            for (ContractReturnedInfo info : list) {
+                info.setProjectId(dto.getProjectId());
+                info.setContractId(dto.getId());
+            }
             this.saveOrUpdateBatch(list);
         }
     }

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

@@ -145,5 +145,13 @@ public class ProjectInfoServiceImpl extends BaseServiceImpl<ProjectInfoMapper, C
         return baseMapper.allProjectStats();
     }
 
+    /**
+     * 项目统计列表统计
+     */
+    @Override
+    public List<AllProjectStatsVO> ProjectListStats() {
+        return baseMapper.ProjectListStats();
+    }
+
 
 }