fuliqi
2025-02-14 c6976365d5bfb39a32db8b541b1fe3ceb30c7826
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
<?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="com.ycl.platform.mapper.WorkOrderErrorTypeMapper">
 
    <resultMap type="WorkOrderErrorType" id="WorkOrderErrorTypeResult">
        <result property="id" column="id"/>
        <result property="workOrderNo" column="work_order_no"/>
        <result property="errorName" column="error_name"/>
        <result property="createTime" column="create_time"/>
        <result property="updateTime" column="update_time"/>
        <result property="deleted" column="deleted"/>
    </resultMap>
 
    <sql id="selectWorkOrderErrorTypeVo">
        SELECT id, work_order_no, error_name, create_time, update_time, deleted
        FROM t_work_order_error_type
    </sql>
 
    <select id="selectWorkOrderErrorTypeList" parameterType="WorkOrderErrorType" resultMap="WorkOrderErrorTypeResult">
        <include refid="selectWorkOrderErrorTypeVo"/>
        <where>
            <if test="workOrderNo != null  and workOrderNo != ''">and work_order_no = #{workOrderNo}</if>
            <if test="errorName != null  and errorName != ''">and error_name like concat('%', #{errorName}, '%')</if>
            <if test="deleted != null ">and deleted = #{deleted}</if>
        </where>
    </select>
 
    <select id="selectWorkOrderErrorTypeById" parameterType="Long" resultMap="WorkOrderErrorTypeResult">
        <include refid="selectWorkOrderErrorTypeVo"/>
        where id = #{id}
    </select>
 
    <insert id="insertWorkOrderErrorType" parameterType="WorkOrderErrorType" useGeneratedKeys="true" keyProperty="id">
        insert into t_work_order_error_type
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="workOrderNo != null and workOrderNo != ''">work_order_no,</if>
            <if test="errorName != null and errorName != ''">error_name,</if>
            <if test="createTime != null">create_time,</if>
            <if test="updateTime != null">update_time,</if>
            <if test="deleted != null">deleted,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="workOrderNo != null and workOrderNo != ''">#{workOrderNo},</if>
            <if test="errorName != null and errorName != ''">#{errorName},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="updateTime != null">#{updateTime},</if>
            <if test="deleted != null">#{deleted},</if>
        </trim>
    </insert>
 
    <update id="updateWorkOrderErrorType" parameterType="WorkOrderErrorType">
        update t_work_order_error_type
        <trim prefix="SET" suffixOverrides=",">
            <if test="workOrderNo != null and workOrderNo != ''">work_order_no = #{workOrderNo},</if>
            <if test="errorName != null and errorName != ''">error_name = #{errorName},</if>
            <if test="createTime != null">create_time = #{createTime},</if>
            <if test="updateTime != null">update_time = #{updateTime},</if>
            <if test="deleted != null">deleted = #{deleted},</if>
        </trim>
        where id = #{id}
    </update>
 
    <delete id="deleteWorkOrderErrorTypeById" parameterType="Long">
        DELETE
        FROM t_work_order_error_type
        WHERE id = #{id}
    </delete>
 
    <delete id="deleteWorkOrderErrorTypeByIds" parameterType="String">
        delete from t_work_order_error_type where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
 
    <insert id="insertWorkOrderErrorTypeList">
        INSERT INTO t_work_order_error_type(work_order_no, error_name, create_time, update_time) VALUES
        <foreach item="item" index="index" collection="list" separator=",">
            (#{item.workOrderNo}, #{item.errorName}, NOW(), NOW())
        </foreach>
    </insert>
 
    <select id="getNotFinishWorkOrderErrors" resultType="string">
        SELECT
               ot.error_name
        FROM
             t_work_order_error_type ot
                 INNER JOIN t_work_order wo ON wo.work_order_no = ot.work_order_no AND wo.work_order_no = #{workOrderNo} AND wo.status != 'AUDITING_SUCCESS'
    </select>
 
    <insert id="addMany">
        INSERT INTO t_work_order_error_type (work_order_no, error_name, create_time, update_time, deleted) VALUES
        <foreach collection="errorTypeList" item="errorType" separator=",">
            (#{errorType.workOrderNo}, #{errorType.errorName}, #{errorType.createTime}, #{errorType.updateTime}, 0)
        </foreach>
    </insert>
 
 
    <select id="getErrorListByNumbers" resultType="com.ycl.platform.domain.vo.WorkOrderVO">
        SELECT m.ip,da.dict_value as errorType
        FROM t_work_order_error_type oer
        INNER JOIN sys_dict_data da ON oer.error_name = da.dict_value
        left join t_work_order wo on oer.work_order_no = wo.work_order_no
        left join t_monitor m on m.serial_number = wo.serial_number
        WHERE oer.work_order_no in
        <foreach collection="workOrderNos" separator="," open="(" close=")" item="workOrderNo">
            #{workOrderNo}
        </foreach>
        ORDER BY oer.create_time
    </select>
 
    <select id="getErrorList" resultType="com.ycl.system.entity.SysDictData">
        SELECT da.dict_value, da.dict_label
        FROM t_work_order_error_type oer
                 INNER JOIN sys_dict_data da ON oer.error_name = da.dict_value
        WHERE oer.work_order_no = #{workOrderNo}
        ORDER BY oer.create_time
    </select>
</mapper>