Bladeren bron

Merge branch 'huangyuan-user' of lift-manager/lift-server into develop

huangyuan 5 jaren geleden
bovenliggende
commit
dcb45c18d1
14 gewijzigde bestanden met toevoegingen van 347 en 23 verwijderingen
  1. 20 7
      lift-system-service/src/main/java/cn/com/ty/lift/system/homepage/dao/dto/request/LiftDataRequest.java
  2. 4 0
      lift-system-service/src/main/java/cn/com/ty/lift/system/homepage/dao/dto/response/LiftDataResponse.java
  3. 26 0
      lift-system-service/src/main/java/cn/com/ty/lift/system/homepage/dao/mapper/CommonDataMapper.java
  4. 8 0
      lift-system-service/src/main/java/cn/com/ty/lift/system/homepage/dao/mapper/HomeLiftDataMapper.java
  5. 7 4
      lift-system-service/src/main/java/cn/com/ty/lift/system/homepage/service/LiftDataService.java
  6. 2 2
      lift-system-service/src/main/java/cn/com/ty/lift/system/settings/controller/MaintenanceCompanyController.java
  7. 8 0
      lift-system-service/src/main/java/cn/com/ty/lift/system/settings/dao/entity/model/ConfirmCompanyResponse.java
  8. 10 0
      lift-system-service/src/main/java/cn/com/ty/lift/system/settings/dao/entity/model/MaintenanceCompanyRequest.java
  9. 1 1
      lift-system-service/src/main/java/cn/com/ty/lift/system/settings/service/IMaintenanceCompanyService.java
  10. 19 7
      lift-system-service/src/main/java/cn/com/ty/lift/system/settings/service/IMtCompanyAttestationService.java
  11. 145 2
      lift-system-service/src/main/java/cn/com/ty/lift/system/settings/service/impl/MaintenanceCompanyServiceImpl.java
  12. 19 0
      lift-system-service/src/main/java/cn/com/ty/lift/system/settings/service/impl/MtCompanyAttestationServiceImpl.java
  13. 59 0
      lift-system-service/src/main/resources/mapper/CommonDataMapper.xml
  14. 19 0
      lift-system-service/src/main/resources/mapper/HomeLiftDataMapper.xml

+ 20 - 7
lift-system-service/src/main/java/cn/com/ty/lift/system/homepage/dao/dto/request/LiftDataRequest.java

@@ -2,6 +2,8 @@ package cn.com.ty.lift.system.homepage.dao.dto.request;
 
 import lombok.Data;
 
+import java.util.List;
+
 /**
  * @author huangyuan
  * @date 2020/2/14
@@ -16,13 +18,13 @@ public class LiftDataRequest {
 
     /**
      * 电梯状态:
-     *      全部电梯:0
-     *      今日待维保电梯:10
-     *      今日维保中电梯:11
-     *      今日已完成维保电梯:12
-     *      今日待急修电梯:20
-     *      今日急修完成电梯:21
-     *      未定位电梯:-1
+     * 全部电梯:0
+     * 今日待维保电梯:10
+     * 今日维保中电梯:11
+     * 今日已完成维保电梯:12
+     * 今日待急修电梯:20
+     * 今日急修完成电梯:21
+     * 未定位电梯:-1
      */
     private Integer liftDataStatus;
 
@@ -35,4 +37,15 @@ public class LiftDataRequest {
      * 终止时间-字符串
      */
     private String endTimeStr;
+
+    /**
+     * 公司id集合
+     */
+    private List<Long> companyIdList;
+
+    public LiftDataRequest(){}
+
+    public LiftDataRequest(List<Long> companyIdList){
+        this.companyIdList = companyIdList;
+    }
 }

+ 4 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/homepage/dao/dto/response/LiftDataResponse.java

@@ -9,6 +9,10 @@ import lombok.Data;
  */
 @Data
 public class LiftDataResponse {
+    /**
+     * 公司id
+     */
+    private Long mtCompanyId;
     /**
      * 电梯id
      */

+ 26 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/homepage/dao/mapper/CommonDataMapper.java

@@ -4,9 +4,11 @@ import cn.com.ty.lift.system.homepage.dao.dto.request.LiftDataRequest;
 import cn.com.ty.lift.system.homepage.dao.model.EmergencyRecordDataModel;
 import cn.com.ty.lift.system.homepage.dao.model.MtPlanDataModel;
 import cn.com.ty.lift.system.homepage.dao.model.MtRecordDataModel;
+import cn.com.ty.lift.system.settings.dao.entity.model.MaintenanceCompanyRequest;
 import cn.com.xwy.boot.mybatis.MyBatisMapper;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author huangyuan
@@ -38,4 +40,28 @@ public interface CommonDataMapper {
      * @date 2020/2/18 2:02 下午
      */
     List<MtRecordDataModel> getMtRecordData(LiftDataRequest liftDataRequest);
+
+    /**
+     * @param
+     * @return
+     * @description 获取公司项目数
+     * @date 2020/2/19 12:22 下午
+     */
+    Map<Long, Long> getMtCompanyIdToProjectNum(MaintenanceCompanyRequest maintenanceCompanyRequest);
+
+    /**
+     * @param
+     * @return
+     * @description 获取公司id -> 维保记录
+     * @date 2020/2/19 2:28 下午
+     */
+    Map<Long, Long> getMtCompanyIdToMtRecord(MaintenanceCompanyRequest maintenanceCompanyRequest);
+
+    /**
+     * @param
+     * @return
+     * @description 获取公司id -> 急修记录
+     * @date 2020/2/19 3:07 下午
+     */
+    Map<Long, Long> getMtCompanyIdToEmergencyRecord(MaintenanceCompanyRequest maintenanceCompanyRequest);
 }

+ 8 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/homepage/dao/mapper/HomeLiftDataMapper.java

@@ -30,4 +30,12 @@ public interface HomeLiftDataMapper {
      * @date 2020/2/18 11:07 上午
      */
     List<LiftMapDataModel> getLiftMapData(LiftDataRequest liftDataRequest);
+
+    /**
+     * @param
+     * @return
+     * @description 通过公司id信息获取公司电梯信息
+     * @date 2020/2/19 1:30 下午
+     */
+    List<LiftMapDataModel> getCompanyLiftData(LiftDataRequest liftDataRequest);
 }

+ 7 - 4
lift-system-service/src/main/java/cn/com/ty/lift/system/homepage/service/LiftDataService.java

@@ -89,14 +89,14 @@ public class LiftDataService {
         List<LiftMapDataModel> returnLiftMapDataModelList = new ArrayList<>();
         //获取电梯数据
         List<LiftMapDataModel> liftMapDataModelList = getLiftMapDataModel(liftDataRequest);
-        if(liftMapDataModelList != null && liftMapDataModelList.size() > 0) {
+        if (liftMapDataModelList != null && liftMapDataModelList.size() > 0) {
             //通过电梯状态进行分组,默认通过状态来获取
             Map<Integer, List<LiftMapDataModel>> statusToLiftData = liftMapDataModelList.stream()
                     .collect(Collectors.groupingBy(LiftMapDataModel::getLiftLocateStatus));
-            if(statusToLiftData != null) {
+            if (statusToLiftData != null) {
                 returnLiftMapDataModelList = statusToLiftData.get(liftDataRequest.getLiftDataStatus());
             }
-            switch (liftDataRequest.getLiftDataStatus()){
+            switch (liftDataRequest.getLiftDataStatus()) {
                 case CommonConstants.LiftDataConstants.STATUS_ALL_LIFT:
                     returnLiftMapDataModelList = liftMapDataModelList;
                     break;
@@ -158,7 +158,10 @@ public class LiftDataService {
      * @description 设置电梯状态
      * @date 2020/2/18 2:17 下午
      */
-    private void setLiftMapStatus(List<LiftMapDataModel> liftMapDataModelList, Map<Long, Integer> liftIdToMaintenancePlanStatus, Map<Long, Integer> liftIdToMaintenanceRecordStatus, Map<Long, Integer> liftIdToEmergencyStatus) {
+    private void setLiftMapStatus(List<LiftMapDataModel> liftMapDataModelList,
+                                  Map<Long, Integer> liftIdToMaintenancePlanStatus,
+                                  Map<Long, Integer> liftIdToMaintenanceRecordStatus,
+                                  Map<Long, Integer> liftIdToEmergencyStatus) {
         //循环设置电梯状态
         liftMapDataModelList.forEach(liftMapDataModel -> {
             //设置电梯定位状态

+ 2 - 2
lift-system-service/src/main/java/cn/com/ty/lift/system/settings/controller/MaintenanceCompanyController.java

@@ -44,8 +44,8 @@ public class MaintenanceCompanyController {
      * @date 2020/2/14 2:45 下午
      */
     @RequestMapping("/confirmCompanyList")
-    public RestResponse confirmCompanyList() {
-        return maintenanceCompanyService.getConfirmCompanyList();
+    public RestResponse confirmCompanyList(@RequestBody MaintenanceCompanyRequest maintenanceCompanyRequest) {
+        return maintenanceCompanyService.getConfirmCompanyList(maintenanceCompanyRequest);
     }
 
     /**

+ 8 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/settings/dao/entity/model/ConfirmCompanyResponse.java

@@ -1,5 +1,6 @@
 package cn.com.ty.lift.system.settings.dao.entity.model;
 
+import cn.com.ty.lift.system.settings.dao.entity.MaintenanceCompany;
 import lombok.Data;
 
 import java.time.LocalDateTime;
@@ -60,4 +61,11 @@ public class ConfirmCompanyResponse {
      * 最后活跃时间
      */
     private LocalDateTime lastActiveTime;
+
+    public ConfirmCompanyResponse(){}
+
+    public ConfirmCompanyResponse(MaintenanceCompany maintenanceCompany){
+        this.companyName = maintenanceCompany.getName();
+        this.teamNum = Long.valueOf(maintenanceCompany.getUserNum());
+    }
 }

+ 10 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/settings/dao/entity/model/MaintenanceCompanyRequest.java

@@ -2,6 +2,8 @@ package cn.com.ty.lift.system.settings.dao.entity.model;
 
 import lombok.Data;
 
+import java.util.List;
+
 /**
  * @author huangyuan
  * @date 2019-12-09
@@ -11,6 +13,7 @@ import lombok.Data;
 public class MaintenanceCompanyRequest {
     private Long id;//公司申请信息id
     private Long companyId;//公司id
+    private List<Long> companyIdList;//公司id集合
     private String companyName;//公司名称
     private String telephone;//联系电话
     private String corporator;//联系人
@@ -22,6 +25,13 @@ public class MaintenanceCompanyRequest {
     private Integer limitedNum;//台量
     private String userName;//用户名称
     private String menuIds;//菜单id集合
+    private String provinceCode;//省份编码
     private int pageSize;//每页的条数
     private int pageNum;//第几页
+
+    public MaintenanceCompanyRequest(){}
+
+    public MaintenanceCompanyRequest(List<Long> companyIdList){
+        this.companyIdList = companyIdList;
+    }
 }

+ 1 - 1
lift-system-service/src/main/java/cn/com/ty/lift/system/settings/service/IMaintenanceCompanyService.java

@@ -64,7 +64,7 @@ public interface IMaintenanceCompanyService extends IService<MaintenanceCompany>
      * @description 认证企业统计
      * @date 2020/2/14 2:46 下午
      */
-    RestResponse getConfirmCompanyList();
+    RestResponse getConfirmCompanyList(MaintenanceCompanyRequest maintenanceCompanyRequest);
 
     /**
      * @param

+ 19 - 7
lift-system-service/src/main/java/cn/com/ty/lift/system/settings/service/IMtCompanyAttestationService.java

@@ -5,6 +5,10 @@ import cn.com.ty.lift.system.settings.dao.entity.model.CompanyAttestationRequest
 import cn.com.xwy.boot.web.dto.RestResponse;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  * 公司认证信息 服务类
@@ -16,19 +20,19 @@ import com.baomidou.mybatisplus.extension.service.IService;
 public interface IMtCompanyAttestationService extends IService<MtCompanyAttestation> {
 
     /**
-     * @description 发起认证
-     * @date 2019-12-12 11:42
      * @param companyAttestationRequest
      * @return
+     * @description 发起认证
+     * @date 2019-12-12 11:42
      */
     RestResponse applyAudit(CompanyAttestationRequest companyAttestationRequest);
 
 
     /**
-     * @description 认证通过
-     * @date 2019-12-12 15:24
      * @param companyAttestationRequest
      * @return
+     * @description 认证通过
+     * @date 2019-12-12 15:24
      */
     RestResponse auditPass(CompanyAttestationRequest companyAttestationRequest);
 
@@ -41,18 +45,26 @@ public interface IMtCompanyAttestationService extends IService<MtCompanyAttestat
     RestResponse auditFail(CompanyAttestationRequest companyAttestationRequest);
 
     /**
-     * @description 获取用户申请列表
-     * @date 2019-12-17 22:35
      * @param
      * @return
+     * @description 获取用户申请列表
+     * @date 2019-12-17 22:35
      */
     RestResponse applyList(CompanyAttestationRequest companyAttestationRequest);
 
     /**
+     * @param
+     * @return
      * @description 获取认证信息结果
      * @date 2020-01-07 19:35
+     */
+    RestResponse getAuditResult(CompanyAttestationRequest companyAttestationRequest);
+
+    /**
      * @param
      * @return
+     * @description 获取公司id -> 处理时间
+     * @date 2020/2/19 2:15 下午
      */
-    RestResponse getAuditResult(CompanyAttestationRequest companyAttestationRequest);
+    Map<Long, LocalDateTime> getMtCompanyIdToDealTime(List<Long> companyIdList);
 }

+ 145 - 2
lift-system-service/src/main/java/cn/com/ty/lift/system/settings/service/impl/MaintenanceCompanyServiceImpl.java

@@ -3,6 +3,11 @@ package cn.com.ty.lift.system.settings.service.impl;
 import cn.com.ty.lift.common.constants.ApiConstants;
 import cn.com.ty.lift.common.constants.CommonEnum;
 import cn.com.ty.lift.common.utils.ProjectUtils;
+import cn.com.ty.lift.system.homepage.dao.dto.request.LiftDataRequest;
+import cn.com.ty.lift.system.homepage.dao.dto.response.LiftDataResponse;
+import cn.com.ty.lift.system.homepage.dao.mapper.CommonDataMapper;
+import cn.com.ty.lift.system.homepage.dao.mapper.HomeLiftDataMapper;
+import cn.com.ty.lift.system.homepage.dao.model.LiftMapDataModel;
 import cn.com.ty.lift.system.settings.dao.entity.MaintenanceCompany;
 import cn.com.ty.lift.system.settings.dao.entity.MtCompanyAttestation;
 import cn.com.ty.lift.system.settings.dao.entity.model.ConfirmCompanyResponse;
@@ -26,6 +31,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -61,6 +67,12 @@ public class MaintenanceCompanyServiceImpl extends ServiceImpl<MaintenanceCompan
     @Resource
     private IMtCompanyAttestationService mtCompanyAttestationService;
 
+    @Resource
+    private CommonDataMapper commonDataMapper;
+
+    @Resource
+    private HomeLiftDataMapper homeLiftDataMapper;
+
     @Override
     public RestResponse list(MaintenanceCompanyRequest maintenanceCompanyRequest) {
         IPage<MaintenanceCompany> maintenanceCompanyPage = new Page<>(
@@ -182,9 +194,23 @@ public class MaintenanceCompanyServiceImpl extends ServiceImpl<MaintenanceCompan
     }
 
     @Override
-    public RestResponse getConfirmCompanyList() {
+    public RestResponse getConfirmCompanyList(MaintenanceCompanyRequest maintenanceCompanyRequest) {
         List<ConfirmCompanyResponse> confirmCompanyResponseList = new ArrayList<>();
-        return RestResponse.success(confirmCompanyResponseList, ApiConstants.RESULT_SUCCESS, "获取认证企业数据成功");
+        //分页数据
+        IPage maintenanceCompanyPage = new Page<>(maintenanceCompanyRequest.getPageNum(),
+                maintenanceCompanyRequest.getPageSize());
+        //获取已认证的团队信息
+        maintenanceCompanyPage = page(maintenanceCompanyPage, new QueryWrapper<MaintenanceCompany>()
+                //如果省份信息
+                .eq(StringUtils.isNotBlank(maintenanceCompanyRequest.getProvinceCode()), "province_code",
+                        maintenanceCompanyRequest.getProvinceCode())
+                .eq("is_certificated", ApiConstants.CompanyConstants.MAINTENANCE_PASS)
+        );
+        List<MaintenanceCompany> maintenanceCompanyList = maintenanceCompanyPage.getRecords();
+        //封装认证企业信息
+        packConfirmCompany(maintenanceCompanyList, confirmCompanyResponseList);
+        maintenanceCompanyPage.setRecords(confirmCompanyResponseList);
+        return RestResponse.success(maintenanceCompanyPage, ApiConstants.RESULT_SUCCESS, "获取认证企业数据成功");
     }
 
     @Override
@@ -202,4 +228,121 @@ public class MaintenanceCompanyServiceImpl extends ServiceImpl<MaintenanceCompan
         return provinceCodeToMaintenanceCompany;
     }
 
+    /**
+     * @param
+     * @return
+     * @description 封装认证企业信息
+     * @date 2020/2/19 11:18 上午
+     */
+    private void packConfirmCompany(List<MaintenanceCompany> maintenanceCompanyList,
+                                    List<ConfirmCompanyResponse> confirmCompanyResponseList) {
+        if (maintenanceCompanyList != null && maintenanceCompanyList.size() > 0) {
+            //获取公司id集合
+            List<Long> companyIdList = maintenanceCompanyList.stream()
+                    .map(MaintenanceCompany::getId).collect(Collectors.toList());
+            //设置企业团队人数
+            setCompanyUserNum(maintenanceCompanyList);
+
+            //将信息封装为 mtCompanyId(公司id) -> dealTime(处理时间)
+            Map<Long, LocalDateTime> companyIdToDealTime = mtCompanyAttestationService.
+                    getMtCompanyIdToDealTime(companyIdList);
+
+            //获取公司项目数
+            Map<Long, Long> mtCompanyIdToProjectNum = commonDataMapper.
+                    getMtCompanyIdToProjectNum(new MaintenanceCompanyRequest(companyIdList));
+
+            //获取公司电梯信息
+            Map<Long, List<LiftMapDataModel>> companyIdToLiftData = getMtCompanyIdToLiftData(companyIdList);
+
+            //获取公司维保记录数
+            Map<Long, Long> mtCompanyIdToMtRecordNum = commonDataMapper.getMtCompanyIdToMtRecord(
+                    new MaintenanceCompanyRequest(companyIdList));
+
+            //获取公司急修记录数
+            Map<Long, Long> mtCompanyIdToEmergencyRecordNum = commonDataMapper.getMtCompanyIdToEmergencyRecord(
+                    new MaintenanceCompanyRequest(companyIdList));
+
+            //循环设置认证公司信息
+            for (MaintenanceCompany maintenanceCompany : maintenanceCompanyList) {
+                //设置认证企业信息
+                setConfirmCompany(confirmCompanyResponseList, companyIdToDealTime, mtCompanyIdToProjectNum, companyIdToLiftData, mtCompanyIdToMtRecordNum, mtCompanyIdToEmergencyRecordNum, maintenanceCompany);
+            }
+        }
+    }
+    /**
+     * @param
+     * @return
+     * @description 设置认证企业信息
+     * @date 2020/2/19 6:53 下午
+     */
+    private void setConfirmCompany(List<ConfirmCompanyResponse> confirmCompanyResponseList, Map<Long, LocalDateTime> companyIdToDealTime, Map<Long, Long> mtCompanyIdToProjectNum, Map<Long, List<LiftMapDataModel>> companyIdToLiftData, Map<Long, Long> mtCompanyIdToMtRecordNum, Map<Long, Long> mtCompanyIdToEmergencyRecordNum, MaintenanceCompany maintenanceCompany) {
+        ConfirmCompanyResponse confirmCompanyResponse = new ConfirmCompanyResponse(maintenanceCompany);
+        //设置认证时间
+        if (companyIdToDealTime.size() > 0) {
+            confirmCompanyResponse.setConfirmTime(companyIdToDealTime.get(maintenanceCompany.getId()));
+        }
+        //设置公司项目数
+        if (mtCompanyIdToProjectNum != null && mtCompanyIdToProjectNum.size() > 0) {
+            confirmCompanyResponse.setProjectNum(mtCompanyIdToProjectNum.get(maintenanceCompany.getId()));
+        }
+        setLiftUnitsNum(companyIdToLiftData, maintenanceCompany, confirmCompanyResponse);
+        //设置公司维保数
+        if (mtCompanyIdToMtRecordNum != null && mtCompanyIdToMtRecordNum.size() > 0) {
+            confirmCompanyResponse.setMaintenanceNum(mtCompanyIdToMtRecordNum.get(maintenanceCompany.getId()));
+        }
+        //设置公司急修数
+        if (mtCompanyIdToEmergencyRecordNum != null && mtCompanyIdToEmergencyRecordNum.size() > 0) {
+            confirmCompanyResponse.setEmergencyNum(mtCompanyIdToEmergencyRecordNum.get(maintenanceCompany.getId()));
+        }
+        //设置最后活跃时间
+        confirmCompanyResponseList.add(confirmCompanyResponse);
+    }
+
+    /**
+     * @param
+     * @return
+     * @description 获取公司id -> 电梯数据
+     * @date 2020/2/19 2:21 下午
+     */
+    private Map<Long, List<LiftMapDataModel>> getMtCompanyIdToLiftData(List<Long> companyIdList) {
+        List<LiftMapDataModel> liftMapDataModelList = homeLiftDataMapper.getCompanyLiftData(new LiftDataRequest(companyIdList));
+        Map<Long, List<LiftMapDataModel>> companyIdToLiftData = new HashMap<>();
+        if (liftMapDataModelList != null && liftMapDataModelList.size() > 0) {
+            companyIdToLiftData = liftMapDataModelList.stream()
+                    .collect(Collectors.groupingBy(LiftDataResponse::getMtCompanyId));
+        }
+        return companyIdToLiftData;
+    }
+
+    /**
+     * @param
+     * @return
+     * @description 设置电梯台量数据
+     * @date 2020/2/19 2:22 下午
+     */
+    private void setLiftUnitsNum(Map<Long, List<LiftMapDataModel>> companyIdToLiftData,
+                                 MaintenanceCompany maintenanceCompany,
+                                 ConfirmCompanyResponse confirmCompanyResponse) {
+        //设置电梯台量
+        if (companyIdToLiftData.size() > 0) {
+            List<LiftMapDataModel> liftMapDataModels = companyIdToLiftData.get(maintenanceCompany.getId());
+            if (liftMapDataModels != null && liftMapDataModels.size() > 0) {
+                //总台量
+                long totalLiftNum = liftMapDataModels.stream().count();
+                //总停保台量
+                long totalStopLiftNum = liftMapDataModels.stream()
+                        .filter(liftMapDataModel -> {
+                            return StringUtils.isNotBlank(liftMapDataModel.getLiftCompanyStatus()) &&
+                                    CommonEnum.LiftStatus.STOP_INSURANCE.equals(liftMapDataModel.getLiftCompanyStatus());
+                        }).count();
+                //总活跃台量
+                long totalActiveLiftNum = totalLiftNum - totalStopLiftNum;
+                confirmCompanyResponse.setTotalLiftNum(totalLiftNum);
+                confirmCompanyResponse.setActiveLiftNum(totalActiveLiftNum);
+                confirmCompanyResponse.setStopLiftNum(totalStopLiftNum);
+            }
+        }
+    }
+
+
 }

+ 19 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/settings/service/impl/MtCompanyAttestationServiceImpl.java

@@ -29,8 +29,10 @@ import org.springframework.transaction.annotation.Transactional;
 import javax.annotation.Resource;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -230,6 +232,23 @@ public class MtCompanyAttestationServiceImpl extends ServiceImpl<MtCompanyAttest
         return RestResponse.success(mtCompanyAttestation, ApiConstants.RESULT_SUCCESS, "获取申请信息成功");
     }
 
+    @Override
+    public Map<Long, LocalDateTime> getMtCompanyIdToDealTime(List<Long> companyIdList) {
+        //获取公司认证信息
+        List<MtCompanyAttestation> mtCompanyAttestationList = list(new QueryWrapper<MtCompanyAttestation>()
+                .select("deal_time")
+                .in("mt_company_id", companyIdList)
+        );
+        //将信息封装为 mtCompanyId(公司id) -> dealTime(处理时间)
+        Map<Long, LocalDateTime> companyIdToDealTime = new HashMap<>();
+        if (mtCompanyAttestationList != null && mtCompanyAttestationList.size() > 0) {
+            companyIdToDealTime = mtCompanyAttestationList.stream()
+                    .collect(Collectors.toMap(MtCompanyAttestation::getMtCompanyId,
+                            MtCompanyAttestation::getDealTime));
+        }
+        return companyIdToDealTime;
+    }
+
     /**
      * @param
      * @return

+ 59 - 0
lift-system-service/src/main/resources/mapper/CommonDataMapper.xml

@@ -1,6 +1,17 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
 <mapper namespace="cn.com.ty.lift.system.homepage.dao.mapper.CommonDataMapper">
+
+    <!-- 公司id sql设置 -->
+    <sql id="setCompanyId">
+        <if test="companyIdList != null">
+            and mt_company_id in
+            <foreach item="item" index="index" collection="companyIdList" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+    </sql>
+
     <!-- 获取维保计划数据 -->
     <select id="getMtPlanData" parameterType="cn.com.ty.lift.system.homepage.dao.dto.request.LiftDataRequest"
             resultType="cn.com.ty.lift.system.homepage.dao.model.MtPlanDataModel">
@@ -49,4 +60,52 @@
             mr.create_date <![CDATA[ <= ]]> #{endDateStr}
     </select>
 
+    <!-- 获取公司项目数 -->
+    <select id="getMtCompanyIdToProjectNum"
+            parameterType="cn.com.ty.lift.system.settings.dao.entity.model.MaintenanceCompanyRequest"
+            resultType="java.util.Map">
+        select
+            mt_company_id,count(mt_company_id)
+        from
+            project
+        group by
+            mt_company_id
+        having
+            1=1
+            <!-- 判断公司id是否在集合中 -->
+            <include refid="setCompanyId"/>
+
+    </select>
+
+    <!-- 获取公司维保记录 -->
+    <select id="getMtCompanyIdToMtRecord"
+            parameterType="cn.com.ty.lift.system.settings.dao.entity.model.MaintenanceCompanyRequest">
+        select
+            mt_company_id, count(mt_company_id)
+        from
+            maintenance_record
+        group by
+            mt_company_id
+        having
+            1=1
+            <!-- 判断公司id是否在集合中 -->
+            <include refid="setCompanyId"/>
+    </select>
+
+    <!-- 获取公司急修记录 -->
+    <select id="getMtCompanyIdToEmergencyRecord"
+            parameterType="cn.com.ty.lift.system.settings.dao.entity.model.MaintenanceCompanyRequest"
+            resultType="java.util.Map">
+        select
+            mt_company_id, count(mt_company_id)
+        from
+            emergency_repair
+        group by
+            mt_company_id
+        having
+            1=1
+            <!-- 判断公司id是否在集合中 -->
+            <include refid="setCompanyId"/>
+    </select>
+
 </mapper>

+ 19 - 0
lift-system-service/src/main/resources/mapper/HomeLiftDataMapper.xml

@@ -53,4 +53,23 @@
             pclr.mt_company_id = #{mtCompanyId}
     </select>
 
+    <!-- 获取公司电梯信息 -->
+    <select id="getCompanyLiftData" parameterType="cn.com.ty.lift.system.homepage.dao.dto.request.LiftDataRequest"
+            resultType="cn.com.ty.lift.system.homepage.dao.model.LiftMapDataModel">
+        select
+            lift_company_status as liftCompanyStatus,
+            mt_company_id as mtCompanyId
+        from
+            platform_company_lift_relevance
+        where
+            1=1
+        <!-- 判断公司id是否在集合中 -->
+        <if test="companyIdList != null">
+            and mt_company_id in
+            <foreach item="item" index="index" collection="companyIdList" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+    </select>
+
 </mapper>