zenglf
2023-09-28 f84d9e69907cb678150eaa6393fd74cf042fcca4
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
<?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.mdc.mapper.MdcEquipmentRepairMapper">
 
    <!-- 根据车间层级查询设备维修列表 -->
    <select id="pageList" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentRepair">
        SELECT
        mer.*
        FROM
        MDC_EQUIPMENT_REPAIR mer
        LEFT JOIN MDC_EQUIPMENT me ON mer.EQUIPMENT_ID = me.EQUIPMENT_ID
        WHERE 1=1
        <if test="repair.equipmentName != null and repair.equipmentName != '' ">
            AND mer.EQUIPMENT_NAME LIKE CONCAT(CONCAT('%',#{repair.equipmentName}),'%')
        </if>
        <if test="repair.equipmentId != null and repair.equipmentId != '' ">
            AND mer.EQUIPMENT_ID LIKE CONCAT(CONCAT('%',#{repair.equipmentId}),'%')
        </if>
        <if test="repair.startTime != null ">
            AND mer.END_TIME &gt;= #{ repair.startTime }
        </if>
        <if test="repair.endTime != null ">
            AND mer.START_TIME &lt;= #{ repair.endTime }
        </if>
        <if test="repair.mdcSectionIds != null and repair.mdcSectionIds.size() > 0 ">
            AND mer.EQUIPMENT_ID IN
            <foreach collection="repair.mdcSectionIds" item="id" index="index" open="(" close=")" separator=",">
                #{ id }
            </foreach>
        </if>
        ORDER BY START_TIME ASC
    </select>
 
    <!--查询某段时间内是否有维修休班数据-->
    <select id="selectByIdAndTime" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentRepair">
        SELECT
            *
        FROM
            mdc_equipment_repair
        <where>
            <if test="equipmentId != null and equipmentId!= ''">
                AND equipment_id = #{ equipmentId }
            </if>
            <if test="startTime != null and endTime!= null">
                AND (
                ( START_TIME  <![CDATA[ >= ]]>  #{ startTime }  AND START_TIME <![CDATA[ <= ]]>  #{ endTime } )
                OR ( START_TIME <![CDATA[ <= ]]> #{ startTime }  AND END_TIME <![CDATA[ >= ]]> #{ endTime })
                OR ( END_TIME <![CDATA[ >= ]]> #{ startTime }  AND END_TIME <![CDATA[ <= ]]>  #{ endTime } )
                OR ( START_TIME <![CDATA[ <= ]]> #{ startTime }  AND END_TIME <![CDATA[ >= ]]> #{ endTime } )
                )
            </if>
        </where>
        ORDER BY start_time ASC
    </select>
 
</mapper>