cuijian
2023-08-19 bdd0875d4b13a3f1ef472f64d4b6a95e0ef64b22
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<?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="org.jeecg.modules.eam.mapper.SpecialtyMaintenanceOrderMapper">
 
    <select id="getSpecialtyMaintenanceOrderList"  parameterType="Map" resultType="Map">
        SELECT
            t1.id,
            t1.num,
            t1.`status`,
            t1.maintenance_user_id maintenanceUserId,
            t12.realname maintenanceUserName,
            t2.id as specialtyMaintenancePlanId,
            t2.num AS specialtyMaintenancePlanNum,
            t2.assign_mode assignMode,
            t11.item_text assignModeName,
            t7.item_text AS statusName,
            t5.item_text AS maintenanceMode,
            t4.depart_name AS departName,
            t2.team_id teamId,
            t6.name AS teamName,
            concat(t8.code, '/', t8.name) AS maintenanceCycleName,
            t9.NAME AS maintenanceTypeName,
            t1.plan_start_time as planStartTime,
            t1.plan_end_time as planEndTime,
            t1.actual_start_time as actualStartTime,
            t1.actual_end_time as actualEndTime,
            t10.realname,
            t1.create_time as createTime,
            t1.create_by as createBy,
            ifnull(sum(t14.working_hour_quota),0) sumOfWorkingHourQuota
        FROM
            mom_eam_specialty_maintenance_order t1
        LEFT JOIN mom_eam_specialty_maintenance_plan t2 ON t1.specialty_maintenance_plan_id = t2.id
        LEFT JOIN sys_depart t4 ON t2.depart_id = t4.id
        LEFT JOIN ( SELECT * FROM v_sys_dict WHERE dict_code = 'maintenance_method' ) t5 ON t5.item_value = t2.maintenance_mode
        LEFT JOIN mom_base_team t6 ON t2.team_id = t6.id
        LEFT JOIN ( SELECT * FROM v_sys_dict WHERE dict_code = 'maintenance_order_status' ) t7 ON t7.item_value = t1.STATUS
        left join (select * from v_sys_dict where dict_code = 'assign_mode') t11 on t2.assign_mode = t11.item_value
        LEFT JOIN mom_eam_maintenance_cycle t8 ON t8.id = t2.maintenance_cycle_id
        LEFT JOIN mom_eam_maintenance_type t9 ON t9.id = t2.maintenance_type_id
        left join sys_user t10 on t1.recipient_user_id = t10.id
        left join sys_user t12 on t1.maintenance_user_id = t12.id
        left join (select * from mom_eam_specialty_maintenance_order_detail where del_flag = 0) t13 on t13.specialty_maintenance_order_id = t1.id
        left join (select * from mom_eam_maintenance_project where del_flag = 0) t14 on t14.id = t13.maintenance_project_id
        WHERE t1.del_flag = 0 and t2.del_flag = 0 and t8.del_flag = 0 and t9.del_flag = 0
        <if test="params.num != null and params.num != ''">
            and t1.num like concat('%',#{params.num},'%')
        </if>
        group by t1.id
        ORDER BY t1.create_time desc
    </select>
 
    <select id="getMaintenanceProjectList"  parameterType="String" resultType="Map">
        SELECT
            t1.id,
            t1.maintenance_mode AS maintenanceMode,
            t2.num,
            t3.id AS equipmentId,
            t3.num AS equipmentNum,
            t3.NAME AS equipmentName,
            t3.model AS equipmentModel,
            t5.id AS maintenanceProjectId,
            t1.maintenance_cycle_id AS maintenanceCycleId,
            t5.num AS maintenanceNum,
            t5.NAME AS maintenanceName,
            t5.standard,
            t5.maintenance_require AS maintenanceRequire,
            t6.item_text AS maintenanceMethodName,
            t5.maintenance_tool AS maintenanceTool,
            t5.working_hour_quota AS workingHourQuota,
            t7.NAME AS maintenanceSpecialtyName
        FROM
            mom_eam_maintenance_standard_detail t1
        LEFT JOIN mom_eam_maintenance_standard t2 ON t1.maintenance_standard_id = t2.id
        LEFT JOIN mom_eam_equipment t3 ON t2.equipment_id = t3.id
        LEFT JOIN mom_eam_maintenance_cycle t4 ON t1.maintenance_cycle_id = t4.id
        LEFT JOIN mom_eam_maintenance_project t5 ON t1.maintenance_project_id = t5.id
        LEFT JOIN ( SELECT * FROM v_sys_dict WHERE dict_code = 'maintenance_project_method' ) t6 ON t6.item_value = t5.maintenance_method
        LEFT JOIN mom_eam_maintenance_specialty t7 ON t7.id = t5.maintenance_specialty_id
        WHERE t1.del_flag = 0 AND t2.del_flag = 0 AND t3.del_flag = 0 AND t4.del_flag = 0 AND t2.type = 'specialty'
            and t1.maintenance_cycle_id = #{maintenanceCycleId}
            and t1.maintenance_standard_id = #{maintenanceStandardId}
            and t1.maintenance_mode= #{maintenanceMode}
    </select>
</mapper>