XiaoRuby
2023-09-24 208bb2f289ce8a7b59f587a9f57e24c0fc8a0ba6
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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
<?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.yuanchu.mom.mapper.InspectUnacceptedMapper">
 
 
    <!--不合格管理-->
    <select id="selectInsList" resultType="java.util.Map">
        SELECT ru.id,
        ru.reason,
        u.`name`,
        ru.deal_state,
        ru.deal_reasult,
        DATE_FORMAT(fi.dateArrival, '%Y-%m-%d') dateArrival,
        fi.material_code,
        fi.project_name,
        fi.specifications_model,
        fi.unit,
        fi.quantity,
        DATE_FORMAT(fi.inspectionDate, '%Y-%m-%d') inspectionDate,
        DATE_FORMAT(fi.processingDate, '%Y-%m-%d') processingDate
        FROM mom_ocean.inspect_unaccepted ru, mom_ocean.`user` u, (
        SELECT p.id, DATE_FORMAT(p.`create_time`, '%Y-%m-%d') dateArrival, p.`material_code`, p.`material` project_name,
        p.`specifications_model`,
        p.`unit`, p.`quantity`,DATE_FORMAT(p.`create_time`, '%Y-%m-%d') inspectionDate, DATE_FORMAT(p.`update_time`,
        '%Y-%m-%d') processingDate, p.`user_id`, 2 AS
        classify
        FROM mom_ocean.process_inspect p
        WHERE p.`state` = 1
        UNION ALL
        SELECT fi.id, DATE_FORMAT(fi.create_time, '%Y-%m-%d')
        dateArrival,material_code, material project_name,specifications_model,
        unit,quantity,DATE_FORMAT(fi.create_time, '%Y-%m-%d') inspectionDate,DATE_FORMAT(fi.update_time, '%Y-%m-%d')
        processingDate, fi.`user_id`, 1 AS classify
        FROM mom_ocean.finished_inspect fi
        WHERE fi.`state` = 1) fi
        WHERE fi.id = ru.raw_inspect_id
        AND ru.`type` = fi.`classify`
        AND ru.type != 0
        AND ru.state=1
        AND fi.`user_id` = u.`id`
        <if test="dealState!=null">
            and ru.deal_state = #{dealState}
        </if>
        <if test="formTime!=null and formTime!=''">
            and fi.dateArrival=#{formTime}
        </if>
        <if test="productCategories != null">
            and ru.`type` = #{productCategories}
        </if>
        order by ru.id desc
    </select>
 
    <!--原材料不合格品-->
    <select id="selectUnqualifiedRawMaterials" resultType="map">
        SELECT i.id,
               DATE_FORMAT(r.form_time, '%Y-%m-%d') dateArrival,
               i.`reason`,
               r.`code`,
               r.`name`,
               r.`specifications`,
               r.`unit`,
               r.`number`,
               DATE_FORMAT(r.`create_time`,'%Y-%m-%d') inspectionDate,
               r.`user_name`,
               DATE_FORMAT(r.`ins_time`,'%Y-%m-%d') processingDate,
               r.`supplier`,
               i.`deal_state`,
               i.`deal_reasult`
        FROM mom_ocean.inspect_unaccepted i
                 LEFT JOIN mom_ocean.raw_inspect r ON i.`raw_inspect_id` = r.`id`
        WHERE i.`state` = 1
          AND i.`type` = 0
        <if test="formTime != null and formTime != ''">
            AND r.form_time = #{formTime}
        </if>
        <if test="productName != null and productName != ''">
            AND r.name LIKE CONCAT('%', #{productName}, '%')
        </if>
        <if test="supplier != null and supplier != ''">
            AND r.supplier LIKE CONCAT('%', #{supplier}, '%')
        </if>
        <if test="processingStatus != null">
            AND i.deal_state = #{processingStatus}
        </if>
        ORDER BY i.`id` DESC
    </select>
 
    <!--不合格处置-->
    <select id="selectDisposal" resultType="map">
        SELECT i.`id`, s.`type`, s.name productName, s.`specifications`, s.number, i.`tell` description,
        i.`tell` opinions, s.user_name, DATE_FORMAT(i.`create_time`, '%Y-%m-%d') `date`, i.`deal_state`, i.way, i.faulty_materials, i.opinion_tell
        FROM mom_ocean.inspect_unaccepted i
        LEFT JOIN
        (
            -- 原材料
            SELECT 0 AS `type`, r.`name`, r.`specifications`, r.`number`, r.`id`, r.`user_name`
            FROM mom_ocean.raw_inspect r
            WHERE r.state = 1
            <if test="specificationModel != null and specificationModel != ''">AND r.`specifications` LIKE CONCAT('%',
                #{specificationModel}, '%')
            </if>
            <if test="
            productName != null and productName != ''">AND r.`name` LIKE CONCAT('%', #{productName}, '%')
            </if>
            UNION ALL
            -- 半成品
            SELECT 1 AS `type`, f.`project_name` `name`, f.`specifications_model` specifications, f.`quantity` `number`, f.`id`, u.name user_name
            FROM mom_ocean.finished_inspect f, mom_ocean.`user` u
            WHERE f.`state` = 1
              AND u.id = f.user_id
            <if test="specificationModel != null and specificationModel != ''">
                AND f.`specifications_model` LIKE CONCAT('%', #{specificationModel}, '%')
            </if>
            <if test="productName != null and productName != ''">
                AND f.`project_name` LIKE CONCAT('%', #{productName}, '%')
            </if>
            UNION ALL
            -- 在制品
            SELECT 2 AS `type`, p.`material` `name`, p.`specifications_model` specifications, p.`quantity` `number`, p.`id`, u.name user_name
            FROM mom_ocean.process_inspect p, mom_ocean.`user` u
            WHERE p.state = 1
                AND u.id = p.user_id
            <if test="specificationModel != null and specificationModel != ''">
                AND p.`specifications_model` LIKE CONCAT('%', #{specificationModel}, '%')
            </if>
            <if test="productName != null and productName != ''">
                AND p.`material` LIKE CONCAT('%', #{productName}, '%')
            </if>
         )AS s ON s.`id` = i.`raw_inspect_id` AND s.`type` = i.type
        WHERE i.`state` = 1
          AND i.`deal_reasult` = 0
        <if test="state != null">
            AND i.`deal_state` = #{state}
        </if>
        <if test="productCategories != null">
            AND s.`type` = #{productCategories}
        </if>
        ORDER BY i.`update_time` DESC
    </select>
 
    <resultMap id="editDisposalOpinionConfirmationMap" type="com.yuanchu.mom.pojo.vo.RawInspectVo">
        <id property="code" column="code"/>
        <result property="unit" column="unit"/>
        <result property="name" column="name"/>
        <result property="specifications" column="specifications"/>
        <result property="formTime" column="form_time"/>
        <result property="number" column="number"/>
        <result property="supplier" column="supplier"/>
        <result property="userName" column="user_name"/>
        <collection property="rawInsProducts" ofType="com.yuanchu.mom.pojo.vo.RawInsProductVo">
            <result property="name" column="pNmae"/>
            <result property="unit" column="pUnit"/>
            <result property="required" column="required"/>
            <result property="deviceId" column="device_id"/>
            <result property="internal" column="internal"/>
            <result property="testValue" column="test_value"/>
        </collection>
    </resultMap>
 
    <select id="editDisposalOpinionConfirmation" resultMap="editDisposalOpinionConfirmationMap">
        select r.`form_time`, r.`specifications`, r.`code`, r.`name`, r.`unit`, r.`number`, r.`supplier`, r.`user_name`, p.`name` pNmae, p.`unit` pUnit,
               p.`required`,p.`internal`, p.`test_value`, p.`device_id`
        from (mom_ocean.inspect_unaccepted i, mom_ocean.raw_inspect r)
                 left join mom_ocean.raw_ins_product p on r.`id` = p.`raw_inspect_id`
        where i.`id` = #{rawUnacceptedId}
          and i.`raw_inspect_id` = r.`id`
    </select>
</mapper>