浏览代码

首页待办数据调整

黄远 5 年之前
父节点
当前提交
40e028c0f6

+ 0 - 55
lift-system-service/src/main/java/cn/com/ty/lift/system/homepage/controller/TodoEnterpriseController.java

@@ -32,59 +32,4 @@ public class TodoEnterpriseController {
         return todoService.todoNum(todoRequest);
     }
 
-    /**
-     * @param
-     * @return
-     * @description 用户申请加入团队待办
-     * @date 2020/2/24 11:30 上午
-     */
-    @RequestMapping("/companyUserApplyTodo")
-    public RestResponse companyUserApplyTodo(@RequestBody TodoRequest todoRequest) {
-        return todoService.companyApplyUserTodo(todoRequest);
-    }
-
-    /**
-     * @param
-     * @return
-     * @description 获取急修待待办数据
-     * @date 2020/2/14 12:20 下午
-     */
-    @RequestMapping("/emergencyTodo")
-    public RestResponse getEmergencyTodo(@RequestBody TodoRequest todoRequest) {
-        return todoService.getEmergencyTodo(todoRequest);
-    }
-
-    /**
-     * @param
-     * @return
-     * @description 获取维保待办
-     * @date 2020/2/14 12:21 下午
-     */
-    @RequestMapping("/maintenanceTodo")
-    public RestResponse getMaintenanceTodo(@RequestBody TodoRequest todoRequest) {
-        return todoService.getMaintenanceTodo(todoRequest);
-    }
-
-    /**
-     * @param
-     * @return
-     * @description 获取大修待办
-     * @date 2020/2/14 12:22 下午
-     */
-    @RequestMapping("/capitalRepairTodo")
-    public RestResponse capitalRepairTodo(@RequestBody TodoRequest todoRequest) {
-        return todoService.getCapitalRepairTodo(todoRequest);
-    }
-
-    /**
-     * @param
-     * @return
-     * @description 获取年检待办
-     * @date 2020/2/14 12:24 下午
-     */
-    @RequestMapping("/annualInspectionTodo")
-    public RestResponse getAnnualInspectionTodo(@RequestBody TodoRequest todoRequest) {
-        return todoService.getAnnualInspectionTodo(todoRequest);
-    }
-
 }

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

@@ -46,38 +46,6 @@ public interface TodoDataMapper {
      */
     Long getAnnualTodoCount(TodoRequest todoRequest);
 
-    /**
-     * @param
-     * @return
-     * @description 获取急修待办数据
-     * @date 2020/2/21 5:05 下午
-     */
-    List<EmergencyResponse> getEmergencyTodoData(TodoRequest todoRequest);
-
-    /**
-     * @param
-     * @return
-     * @description 获取维保(计划)待办数据
-     * @date 2020/2/21 5:06 下午
-     */
-    List<MaintenanceTodoResponse> getMaintenanceTodoData(TodoRequest todoRequest);
-
-    /**
-     * @param
-     * @return
-     * @description 获取大修待办事项
-     * @date 2020/2/22 8:43 上午
-     */
-    List<CapitalRepairResponse> getCapitalRepairTodoData(TodoRequest todoRequest);
-
-    /**
-     * @param
-     * @return
-     * @description 获取年检待办数据
-     * @date 2020/2/22 8:37 上午
-     */
-    List<AnnualInspectionResponse> getAnnualInspectionTodoData(TodoRequest todoRequest);
-
     /**
      * @param
      * @return

+ 7 - 6
lift-system-service/src/main/java/cn/com/ty/lift/system/homepage/service/PlatformCalendarService.java

@@ -142,19 +142,20 @@ public class PlatformCalendarService {
         //获取每天的年检记录数据
         Map<Long, List<AnnualInspectionDataModel>> liftIdToAnnualInspection = dayToAnnualInspection.get(day);
         //获取电梯id集合
-        Set<Long> liftIdSet = getLiftIdSet(liftIdToMtRecord, liftIdToMtPlan, liftIdToEmergencyRecord,
+        Set liftIdSet = getLiftIdSet(liftIdToMtRecord, liftIdToMtPlan, liftIdToEmergencyRecord,
                 liftIdToAnnualInspection);
         //状态 -> 电梯列表
         Map<Integer, List<CalendarLiftDataModel>> statusToCalendarLift = new HashMap<>();
         if (liftIdSet.size() > 0) {
             List<CalendarLiftDataModel> calendarLiftDataModelList = new ArrayList<>();
             liftIdSet.forEach(liftId -> {
+                long liftIdLong = Long.parseLong(liftId.toString());
                 //封装维保的电梯信息
-                addMaintenanceStatusLift(liftIdToMtRecord, liftIdToMtPlan, calendarLiftDataModelList, liftId);
+                addMaintenanceStatusLift(liftIdToMtRecord, liftIdToMtPlan, calendarLiftDataModelList, liftIdLong);
                 //封装急修信息
-                addEmergencyStatusLift(liftIdToEmergencyRecord, calendarLiftDataModelList, liftId);
+                addEmergencyStatusLift(liftIdToEmergencyRecord, calendarLiftDataModelList, liftIdLong);
                 //封装年检信息
-                addAnnualInspectionLift(liftIdToAnnualInspection, calendarLiftDataModelList, liftId);
+                addAnnualInspectionLift(liftIdToAnnualInspection, calendarLiftDataModelList, liftIdLong);
                 //分类封装电梯数据
                 classifyStatusPutLIftData(statusToCalendarLift, calendarLiftDataModelList);
             });
@@ -404,7 +405,7 @@ public class PlatformCalendarService {
      * @description 获取电梯id集合
      * @date 2020/2/21 1:16 下午
      */
-    private Set<Long> getLiftIdSet(Map<Long, List<MtRecordDataModel>> liftIdToMtRecord,
+    private Set getLiftIdSet(Map<Long, List<MtRecordDataModel>> liftIdToMtRecord,
                                    Map<Long, List<MtPlanDataModel>> liftIdToMtPlan,
                                    Map<Long, List<EmergencyRecordDataModel>> liftIdToEmergencyRecord,
                                    Map<Long, List<AnnualInspectionDataModel>> liftIdToAnnualInspection) {
@@ -416,7 +417,7 @@ public class PlatformCalendarService {
                 liftIdToAnnualInspection
         };
         //获取当天所有电梯数据
-        Set<Long> liftIdSet = new HashSet<>();
+        Set liftIdSet = new HashSet<>();
         //循环设置电梯id
         for (Map dataMap : dataMapArray) {
             if (dataMap != null && dataMap.size() > 0) {

+ 1 - 60
lift-system-service/src/main/java/cn/com/ty/lift/system/homepage/service/TodoService.java

@@ -55,6 +55,7 @@ public class TodoService {
         //团队成员申请待办
         long administrativeTodoCount = userApplicationService.count(new QueryWrapper<UserApplication>()
                 .eq("status", ApiConstants.ApplicationConstants.APPLY_WAIT)
+                .eq("mt_company_id", todoRequest.getMtCompanyId())
         );
         //公司申请待办,平台公司才能有公司申请待办
         if (todoRequest.getMtCompanyId().equals(ApiConstants.PLATFORM_COMPANY_ID)) {
@@ -80,55 +81,6 @@ public class TodoService {
                 ApiConstants.RESULT_SUCCESS, "获取待办数据成功");
     }
 
-    /**
-     * @param
-     * @return
-     * @description 获取急修待待办数据
-     * @date 2020/2/14 12:20 下午
-     */
-    public RestResponse getEmergencyTodo(TodoRequest todoRequest) {
-        handleTodoRequest(todoRequest);
-        List<EmergencyResponse> emergencyTodoResponseList = todoDataMapper.getEmergencyTodoData(todoRequest);
-        return RestResponse.success(emergencyTodoResponseList, ApiConstants.RESULT_SUCCESS, "获取待办数据成功");
-    }
-
-    /**
-     * @param
-     * @return
-     * @description 获取维保待办
-     * @date 2020/2/14 12:21 下午
-     */
-    public RestResponse getMaintenanceTodo(TodoRequest todoRequest) {
-        handleTodoRequest(todoRequest);
-        List<MaintenanceTodoResponse> maintenanceTodoResponseList = todoDataMapper.getMaintenanceTodoData(todoRequest);
-        return RestResponse.success(maintenanceTodoResponseList, ApiConstants.RESULT_SUCCESS, "获取待办数据成功");
-    }
-
-    /**
-     * @param
-     * @return
-     * @description 获取大修待办
-     * @date 2020/2/14 12:22 下午
-     */
-    public RestResponse getCapitalRepairTodo(TodoRequest todoRequest) {
-        handleTodoRequest(todoRequest);
-        List<CapitalRepairResponse> capitalRepairResponseList = todoDataMapper.getCapitalRepairTodoData(todoRequest);
-        return RestResponse.success(capitalRepairResponseList, ApiConstants.RESULT_SUCCESS, "获取待办数据成功");
-    }
-
-    /**
-     * @param
-     * @return
-     * @description 获取年检待办
-     * @date 2020/2/14 12:24 下午
-     */
-    public RestResponse getAnnualInspectionTodo(TodoRequest todoRequest) {
-        handleTodoRequest(todoRequest);
-        List<AnnualInspectionResponse> annualInspectionResponseList = todoDataMapper
-                .getAnnualInspectionTodoData(todoRequest);
-        return RestResponse.success(annualInspectionResponseList, ApiConstants.RESULT_SUCCESS, "获取待办数据成功");
-    }
-
     /**
      * @param
      * @return
@@ -185,15 +137,4 @@ public class TodoService {
             todoRequest.setClerkId(todoRequest.getUserId().toString());
         }
     }
-
-    /**
-     * @param
-     * @return
-     * @description 用户申请加入团队待办
-     * @date 2020/2/24 11:31 上午
-     */
-    public RestResponse companyApplyUserTodo(TodoRequest todoRequest) {
-        List<CompanyUserApplyResponse> companyUserApplyResponseList = todoDataMapper.getCompanyUserApplyTodo(todoRequest);
-        return RestResponse.success(companyUserApplyResponseList, ApiConstants.RESULT_SUCCESS, "获取待办数据成功");
-    }
 }

+ 66 - 264
lift-system-service/src/main/resources/mapper/TodoDataMapper.xml

@@ -2,206 +2,21 @@
 <!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.TodoDataMapper">
 
-    <!-- 分页查询sql -->
-    <sql id="pageQuerySql">
-        limit #{pageNum} , #{pageSize}
-    </sql>
-
-    <!-- 维保计划查询条件sql -->
-    <sql id="maintenanceTodoQuerySql">
-        where
-            mp.mt_company_id = #{mtCompanyId}
-        and
-            mp.status <![CDATA[ != ]]> 1
-    </sql>
-
-    <!-- 急修记录查询条件sql -->
-    <sql id="emergencyTodoQuerySql">
-        where
-            er.mt_company_id = #{mtCompanyId}
-        and
-            er.status <![CDATA[ != ]]> 2
-        and
-            er.status <![CDATA[ != ]]> 3
-
-    </sql>
-
-    <!-- 大修记录查询条件sql -->
-    <sql id="capitalTodoQuerySql">
-        where
-            p.mt_company_id = #{mtCompanyId}
-        and
-            p.project_status <![CDATA[ != ]]> 4
-    </sql>
-
-    <!-- 年检记录查询条件sql -->
-    <sql id="annualInspectionTodoSql">
-        where
-            ai.mt_company_id = #{mtCompanyId}
-        and
-            ai.status = 1
-    </sql>
-
-    <!-- 区域项目查询 -->
-    <sql id="regionProjectSql">
-        <if test="clerkId != null || regionChargeId != null">
-            and p.region_id in (
-            select id from region r
-            where true
-            <if test="clerkId != null">
-                and find_in_set(#{clerkId}, r.clerk)
-            </if>
-            <if test="regionChargeId != null">
-                and r.user_id = #{regionChargeId}
-            </if>
-            )
-        </if>
-    </sql>
-
-
-    <!-- 获取维保计划待办事项 -->
-    <select id="getMaintenanceTodoData"
-            parameterType="cn.com.ty.lift.system.homepage.dao.dto.request.TodoRequest"
-            resultType="cn.com.ty.lift.system.homepage.dao.dto.response.MaintenanceTodoResponse">
-        select
-            mp.id as mtPlanId,
-            mp.lift_id as liftId,
-            mp.plan_date as planDate,
-            l.registration_code as registrationCode,
-            l.use_company_code as userCompanyCode,
-            l.lift_type as liftType,
-            ui.name as workerName
-        from
-            maintenance_plan mp
-        left join
-            lift l
-        on
-            mp.lift_id = l.id
-        left join
-            project_lift_relevance plr
-        on
-            l.id = plr.lift_id
-        left join
-            project p
-        on 
-            plr.project_id = p.id
-        left join
-            user_info ui
-        on
-            mp.worker_id = ui.user_id
-        <include refid="maintenanceTodoQuerySql"/>
-        <include refid="regionProjectSql"/>
-        order by plan_date
-        <include refid="pageQuerySql"/>
-    </select>
-
-    <!-- 获取急修待办数据 -->
-    <select id="getEmergencyTodoData"
-            parameterType="cn.com.ty.lift.system.homepage.dao.dto.request.TodoRequest"
-            resultType="cn.com.ty.lift.system.homepage.dao.dto.response.EmergencyResponse">
-        select
-            er.id as emergencyId,
-            er.lift_id as liftId,
-            er.caller_name as callerName,
-            er.fault_reason as faultReason,
-            er.is_critical as isCritical,
-            er.is_trapped as isTrapped,
-            l.registration_code as registrationCode,
-            l.coordinate as coordinate,
-            p.project_name as projectName,
-            p.project_code as projectCode,
-            ui.name as workerName
-        from
-            emergency_repair er
-        left join
-            lift l
-        on
-            er.lift_id = l.id
-        left join
-            project p
-        on
-            er.project_id = p.id
-        left join
-            user_info ui
-        on
-            er.worker_id = ui.user_id
-        <include refid="emergencyTodoQuerySql"/>
-        <include refid="regionProjectSql"/>
-        order by er.assign_time
-        <include refid="pageQuerySql"/>
-    </select>
-
-    <!-- 获取大修待办事项 -->
-    <select id="getCapitalRepairTodoData"
-            parameterType="cn.com.ty.lift.system.homepage.dao.dto.request.TodoRequest"
-            resultType="cn.com.ty.lift.system.homepage.dao.dto.response.CapitalRepairResponse">
-        select
-            p.id as capitalRepairId,
-            p.project_name as projectName,
-            p.project_address as projectAddress,
-            p.start_date as startDate,
-            p.end_date as endDate,
-            p.push_flag as pushFlag
-        from
-            capital_repair p
-        <include refid="capitalTodoQuerySql"/>
-        <include refid="regionProjectSql"/>
-        order by p.create_date
-        <include refid="pageQuerySql"/>
-    </select>
-
-    <!-- 获取年检待办数据 -->
-    <select id="getAnnualInspectionTodoData"
-            parameterType="cn.com.ty.lift.system.homepage.dao.dto.request.TodoRequest"
-            resultType="cn.com.ty.lift.system.homepage.dao.dto.response.AnnualInspectionResponse">
-        select
-            ai.id as annualInspectionId,
-            ai.lift_id as liftId,
-            ai.plan_date as planDate,
-            p.project_name as projectName,
-            p.project_code as projectCode,
-            l.registration_code as registerationCode,
-            l.use_company_code as useCompanyCode,
-            l.lift_type as liftType,
-            ui.name as workerName
-        from
-            annual_inspection ai
-        left join
-            lift l
-        on
-            ai.lift_id = l.id
-        left join
-            project_lift_relevance plr
-        on
-            plr.lift_id = l.id
-        left join
-            project p
-        on
-            plr.project_id = p.id
-        left join
-            user_info ui
-        on
-            ui.user_id = plr.worker_id
-        <include refid="annualInspectionTodoSql"/>
-        <include refid="regionProjectSql"/>
-        <include refid="pageQuerySql"/>
-    </select>
-
     <!-- 获取团队申请待办信息 -->
     <select id="getCompanyApplyTodo" parameterType="cn.com.ty.lift.system.homepage.dao.dto.request.TodoRequest"
             resultType="cn.com.ty.lift.system.homepage.dao.dto.response.CompanyApplyResponse">
         select
-            mca.id as applyId,
-            mca.mt_company_id as mtCompanyId,
-            mca.attestation_name as companyName,
-            mca.contacts_name as contractsName,
-            mca.contacts_tel as contractsTel,
-            mca.remarks as remarks,
-            mca.create_time as createTime
+        mca.id as applyId,
+        mca.mt_company_id as mtCompanyId,
+        mca.attestation_name as companyName,
+        mca.contacts_name as contractsName,
+        mca.contacts_tel as contractsTel,
+        mca.remarks as remarks,
+        mca.create_time as createTime
         from
-            mt_company_attestation mca
+        mt_company_attestation mca
         where
-            mca.is_certificated = #{isCertificated}
+        mca.is_certificated = #{isCertificated}
         <include refid="pageQuerySql"/>
     </select>
 
@@ -209,27 +24,27 @@
     <select id="getCompanyUserApplyTodo" parameterType="cn.com.ty.lift.system.homepage.dao.dto.request.TodoRequest"
             resultType="cn.com.ty.lift.system.homepage.dao.dto.response.CompanyUserApplyResponse">
         select
-            ua.id as userApplyId,
-            ui.avatar_url as avatarUrl,
-            ui.name as userName,
-            u.type as userType,
-            u.mobile as mobile,
-            u.type as type,
-            u.create_date as applyDate
+        ua.id as userApplyId,
+        ui.avatar_url as avatarUrl,
+        ui.name as userName,
+        u.type as userType,
+        u.mobile as mobile,
+        u.type as type,
+        u.create_date as applyDate
         from
-            user_application ua
+        user_application ua
         left join
-            user_info ui
+        user_info ui
         on
-            ua.user_id = ui.user_id
+        ua.user_id = ui.user_id
         left join
-            user_account u
+        user_account u
         on
-            ua.user_id = u.user_id
+        ua.user_id = u.user_id
         where
-            ua.mt_company_id = #{mtCompanyId}
+        ua.mt_company_id = #{mtCompanyId}
         and
-            ua.status = ${status}
+        ua.status = ${status}
         <include refid="pageQuerySql"/>
     </select>
 
@@ -237,80 +52,67 @@
     <select id="getEmergencyTodoCount"
             parameterType="cn.com.ty.lift.system.homepage.dao.dto.request.TodoRequest"
             resultType="java.lang.Long">
-        select
-            count(1)
-        from
-            emergency_repair er
-        left join
-            lift l
-        on
-            er.lift_id = l.id
-        left join
-            project p
-        on
-            er.project_id = p.id
-        <include refid="emergencyTodoQuerySql"/>
-        <include refid="regionProjectSql"/>
+        SELECT
+            COUNT(1)
+        FROM
+        emergency_repair er
+        LEFT JOIN user_info ui ON ui.user_id = er.creator_id
+        LEFT JOIN lift li ON li.id = er.lift_id
+        LEFT JOIN project pr ON pr.id = er.project_id
+        LEFT JOIN platform_company_lift_relevance pclr ON pclr.lift_id = er.lift_id AND pclr.mt_company_id = er.mt_company_id
+        WHERE
+            er.`status` IN (0,1)
+        AND
+            er.mt_company_id = #{mtCompanyId}
     </select>
 
     <!-- 获取维保待办条数 -->
     <select id="getMaintenanceTodoCount"
             parameterType="cn.com.ty.lift.system.homepage.dao.dto.request.TodoRequest"
             resultType="java.lang.Long">
-        select
-            count(1)
-        from
-            maintenance_plan mp
-        left join
-            lift l
-        on
-            mp.lift_id = l.id
-        left join
-            project_lift_relevance plr
-        on
-            l.id = plr.lift_id
-        left join
-            project p
-        on
-            plr.project_id = p.id
-        <include refid="maintenanceTodoQuerySql"/>
-        <include refid="regionProjectSql"/>
+        SELECT
+            COUNT(1)
+		FROM
+		project_lift_relevance plr
+		LEFT JOIN platform_company_lift_relevance pclr ON plr.mt_company_id = pclr.mt_company_id AND plr.lift_id = pclr.lift_id
+		LEFT JOIN lift l ON plr.lift_id = l.id
+		LEFT JOIN project p ON plr.mt_company_id = p.mt_company_id AND plr.project_id = p.id
+		LEFT JOIN maintenance_plan mp ON plr.mt_company_id = mp.mt_company_id AND plr.project_id = mp.project_id
+		AND mp.status = 0 AND mp.plan_date = (SELECT MIN(plan_date) FROM maintenance_plan WHERE status = 0
+		AND mt_company_id = #{mtCompanyId,jdbcType=VARCHAR} AND lift_id = plr.lift_id) AND plr.lift_id = mp.lift_id
+		LEFT JOIN user_info ui ON plr.worker_id = ui.user_id
+		LEFT JOIN region r ON p.region_id = r.id
+		WHERE plr.mt_company_id = #{mtCompanyId,jdbcType=VARCHAR}
+		AND pclr.lift_company_status != '1'
     </select>
 
     <!-- 获取大修待办条数 -->
     <select id="getCapitalTodoCount"
             parameterType="cn.com.ty.lift.system.homepage.dao.dto.request.TodoRequest"
             resultType="java.lang.Long">
-        select
-            count(1)
-        from
-            capital_repair p
-        <include refid="capitalTodoQuerySql"/>
-        <include refid="regionProjectSql"/>
+        SELECT COUNT(1)
+        FROM capital_repair c
+        LEFT JOIN region r ON c.region_id = r.id
+        LEFT JOIN user_info ui ON r.user_id = ui.user_id
+        LEFT JOIN property_company pc ON c.pp_company_id = pc.id
+        WHERE c.mt_company_id = #{mtCompanyId,jdbcType=BIGINT}
     </select>
 
     <!-- 获取年检待办条数 -->
     <select id="getAnnualTodoCount"
             parameterType="cn.com.ty.lift.system.homepage.dao.dto.request.TodoRequest"
             resultType="java.lang.Long">
-        select
-            count(1)
-        from
-            annual_inspection ai
-        left join
-            lift l
-        on
-            ai.lift_id = l.id
-        left join
-            project_lift_relevance plr
-        on
-            plr.lift_id = l.id
-        left join
-            project p
-        on
-            plr.project_id = p.id
-        <include refid="annualInspectionTodoSql"/>
-        <include refid="regionProjectSql"/>
+            SELECT
+                COUNT(1)
+            FROM
+                annual_inspection ai
+            LEFT JOIN project_lift_relevance plr ON ai.lift_id = plr.lift_id AND ai.mt_company_id = plr.mt_company_id
+            LEFT JOIN lift li ON ai.lift_id = li.id
+            LEFT JOIN project pr ON pr.id = plr.project_id
+            LEFT JOIN region re ON pr.region_id = re.id
+            LEFT JOIN user_info ui ON ui.user_id = re.user_id
+            WHERE
+                ai.mt_company_id = #{mtCompanyId}
     </select>
 
 </mapper>