Procházet zdrojové kódy

增加根据项目状态统计

别傲 před 5 roky
rodič
revize
613c6900a7

+ 10 - 4
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/service/ContractService.java

@@ -3,6 +3,7 @@ package cn.com.ty.lift.business.contract.service;
 import cn.com.ty.lift.business.contract.dao.entity.Contracts;
 import cn.com.ty.lift.business.contract.dao.entity.ContractsExtend;
 import cn.com.ty.lift.business.contract.dao.entity.ContractsHistory;
+import cn.com.ty.lift.business.contract.dao.entity.Payment;
 import cn.com.ty.lift.business.contract.dao.entity.model.ContractRequest;
 import cn.com.ty.lift.business.contract.dao.entity.model.ContractsHistoryRequest;
 import cn.com.ty.lift.business.contract.dao.mapper.ContractsMapper;
@@ -24,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 import javax.annotation.Resource;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -164,9 +166,13 @@ public class ContractService extends ServiceImpl<ContractsMapper, Contracts> {
     public Map<String, Object> detail(Long id) {
         QueryWrapper<Contracts> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("id", id);
-        Map<String, Object> contractMap = getMap(queryWrapper);
-        List<Map<String, Object>> paymentMap = paymentService.paymentList(id);
-        contractMap.put("paymentList", paymentMap);
-        return contractMap;
+        Contracts contracts = getOne(queryWrapper);
+        List<Payment> paymentMap = paymentService.paymentList(id);
+        Map<String, Object> resultMap = new HashMap<>();
+        resultMap.put("contract", contracts);
+        resultMap.put("paymentList", paymentMap);
+        Project project = projectService.getOne(contracts.getProjectId());
+        resultMap.put("project", project);
+        return resultMap;
     }
 }

+ 2 - 2
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/service/PaymentService.java

@@ -47,9 +47,9 @@ public class PaymentService extends ServiceImpl<PaymentMapper, Payment> {
      * @description 查询付款列表
      * @date 2020/1/17 2:57 下午
      */
-    public List<Map<String, Object>> paymentList(Long contractId) {
+    public List<Payment> paymentList(Long contractId) {
         QueryWrapper<Payment> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("contracts_id", contractId);
-        return listMaps(queryWrapper);
+        return list(queryWrapper);
     }
 }

+ 0 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/project/dao/entity/model/request/ProjectRequest.java

@@ -42,7 +42,6 @@ public class ProjectRequest extends BaseRequestModel {
     /**
      * 项目状态
      */
-    @NotNull(message = "notEmpty")
     private String projectStatus;
 
     /**

+ 5 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/project/dao/entity/model/response/ProjectResponse.java

@@ -104,4 +104,9 @@ public class ProjectResponse {
      * 是否锁定
      */
     private Integer locked;
+
+    /**
+     * 项目状态
+     */
+    private String projectStatus;
 }

+ 15 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/project/service/ProjectService.java

@@ -110,6 +110,11 @@ public class ProjectService extends ServiceImpl<ProjectMapper,Project> {
         return projectMapper.findByCondition(page, request);
     }
 
+    private void count(List<ProjectResponse> list) {
+        Map<String, Long> collect = list.stream().collect(Collectors.groupingBy(ProjectResponse::getProjectStatus, Collectors.counting()));
+        System.out.println(collect.toString());
+    }
+
     /**
      * @param mtCompanyId   公司id
      * @param projectStatus 项目状态
@@ -118,10 +123,20 @@ public class ProjectService extends ServiceImpl<ProjectMapper,Project> {
      * @date 2020/1/19 11:30 上午
      */
     public Map<String, Object> countAll(Long mtCompanyId, String projectStatus) {
+        LambdaQueryWrapper<Project> lambdaQueryWrapper = new QueryWrapper<Project>().lambda();
+        lambdaQueryWrapper.eq(Project::getMtCompanyId, mtCompanyId);
+        List<Project> projects = list(lambdaQueryWrapper);
+        Map<String, Long> collect = projects.stream().collect(Collectors.groupingBy(Project::getProjectStatus, Collectors.counting()));
+        Map<String, Integer> totalMap = new HashMap<>();
+        totalMap.put("notStart", collect.get(CommonEnum.ProjectStatus.NOT_START.getCode()).intValue());
+        totalMap.put("inService", collect.get(CommonEnum.ProjectStatus.IN_SERVICE.getCode()).intValue());
+        totalMap.put("stopService", collect.get(CommonEnum.ProjectStatus.STOP_SERVICE.getCode()).intValue());
+        totalMap.put("overdue", collect.get(CommonEnum.ProjectStatus.OVERDUE.getCode()).intValue());
         int projectCount = count(mtCompanyId, projectStatus);
         int liftCount = projectLiftRelevanceService.count(mtCompanyId, projectStatus);
         int stopLiftCount = platformCompanyService.count(mtCompanyId, projectStatus);
         Map<String, Object> resultMap = new HashMap<>();
+        resultMap.put("totalCount", totalMap);
         resultMap.put("projectCount", projectCount);
         resultMap.put("liftCount", liftCount);
         resultMap.put("stopLiftCount", stopLiftCount);

+ 1 - 0
lift-business-service/src/main/resources/mapper/project/ProjectMapper.xml

@@ -61,6 +61,7 @@
 		p.pp_contact_id AS ppContactId,
 		p.save          AS save,
 		p.locked        AS locked,
+		p.project_status AS projectStatus,
         r.area_name     AS regionName,
         ui.name         AS userName,
         pc.name         AS companyName