李林
2024-04-06 c7e24959364e65e6632e71546d607433560bb403
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
<?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.InsOrderMapper">
    <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.InsOrder">
        <id property="id" column="id" jdbcType="INTEGER"/>
        <result property="entrustCode" column="entrust_code" jdbcType="VARCHAR"/>
        <result property="custom" column="custom" jdbcType="VARCHAR"/>
        <result property="company" column="company" jdbcType="VARCHAR"/>
        <result property="code" column="code" jdbcType="VARCHAR"/>
        <result property="type" column="type" jdbcType="INTEGER"/>
        <result property="appointed" column="appointed" jdbcType="TIMESTAMP"/>
        <result property="state" column="state" jdbcType="INTEGER"/>
        <result property="remark" column="remark" jdbcType="VARCHAR"/>
        <result property="otcCode" column="otc_code" jdbcType="VARCHAR"/>
        <result property="createUser" column="create_user" jdbcType="INTEGER"/>
        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
        <result property="updateUser" column="update_user" jdbcType="INTEGER"/>
        <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
    </resultMap>
 
    <resultMap id="OrderThingDto" type="com.yuanchu.mom.dto.OrderThingDto">
        <result property="id" column="id"/>
        <result property="company" column="company"/>
        <result property="entrustCode" column="entrust_code"/>
        <result property="sampleCode" column="sample_code"/>
        <result property="custom" column="custom"/>
        <result property="sample" column="sample"/>
        <result property="model" column="model"/>
        <result property="sampleNum" column="sample_num"/>
        <result property="remark" column="remark"/>
        <result property="insResult" column="ins_result"/>
        <result property="createTime" column="create_time"/>
        <collection property="products" resultMap="ProductThingDto"/>
    </resultMap>
 
    <resultMap id="ProductThingDto" type="com.yuanchu.mom.dto.ProductThingDto">
        <result property="productId" column="id"/>
        <result property="inspectionItem" column="inspection_item"/>
        <result property="lastValue" column="last_value"/>
        <result property="insResult" column="ins_result"/>
        <collection property="productResults" resultMap="productResultDto"/>
    </resultMap>
 
    <resultMap id="productResultDto" type="com.yuanchu.mom.dto.productResultDto">
        <result property="id" column="id"/>
        <result property="insValue" column="ins_value"/>
        <result property="insResult" column="ins_result"/>
        <result property="remark" column="remark"/>
    </resultMap>
 
    <select id="selectInsOrderParameter" resultType="com.yuanchu.mom.pojo.InsOrder">
        select *
        from (
        select
        id,
        appointed,
        user_id,
        create_user,
        otc_code,
        code,
        custom,
        update_user,
        update_time,
        type,
        entrust_code,
        company,
        remark,
        create_time,
        state
        from ins_order
        ) a
        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
            ${ew.customSqlSegment}
        </if>
    </select>
    <select id="selectInsOrderPage" resultType="com.yuanchu.mom.dto.SampleOrderDto">
        select *
        from (
        SELECT
        io.*,
        ir.id report_id,
        concat(ROUND((select count(*) from ins_sample isa2
        where ins_state = 5 and isa2.ins_order_id = io.id) / (select count(*) from ins_sample isa2
        where isa2.ins_order_id = io.id) * 100, 2), '%') insProgress
        FROM
        ins_order io
        LEFT JOIN ins_sample isa ON io.id = isa.ins_order_id
        LEFT JOIN ( SELECT id, ins_order_id, is_ratify FROM ins_report WHERE is_ratify = 1 ) ir ON io.id =
        ir.ins_order_id
        GROUP BY
        io.id
        ) a
        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
            ${ew.customSqlSegment}
        </if>
    </select>
    <select id="getLaboratoryCode" resultType="java.lang.String">
        select laboratory_number
        from laboratory
        where laboratory_name = #{name}
    </select>
    <select id="selectSampleAndProductByOrderId" resultType="com.yuanchu.mom.dto.SampleProductDto2">
        select *
        from (
        select i.id,isa.sample_code,isa.sample,isa.model,ip.state,ip.unit,ip.inspection_item,ip.inspection_item_subclass,
        ip.son_laboratory,ip.inspection_item_type,ip.inspection_value_type,ip.ask,ip.`last_value`,ip.ins_result,ipr.equip_value
        from ins_sample isa
        left join ins_order i on isa.ins_order_id = i.id
        left join ins_product ip on isa.id = ip.ins_sample_id
        left join ins_product_result ipr on ip.id = ipr.ins_product_id
        where ip.state = 1
        ) a
        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
            ${ew.customSqlSegment}
        </if>
    </select>
 
    <update id="upInsOrderParameter" parameterType="com.yuanchu.mom.pojo.InsOrder">
        UPDATE ins_order
        <set>
            <if test="appointed!=null and appointed!='' ">appointed=#{appointed},</if>
            <if test="userId!=null  ">user_id=#{userId},</if>
            <if test="createUser!=null  ">create_user=#{createUser}</if>
            <if test="otcCode!=null  ">otc_code=#{otcCode}</if>
            <if test="code!=null  ">code=#{code}</if>
            <if test="custom!=null  ">custom=#{custom}</if>
            <if test="updateUser!=null  ">update_user=#{updateUser}</if>
            <if test="updateTime!=null  ">update_time=#{updateTime}</if>
            <if test="type!=null  ">type=#{type}</if>
            <if test="entrustCode!=null  ">entrust_code=#{entrustCode}</if>
            <if test="company!=null  ">company=#{company}</if>
            <if test="remark!=null  ">remark=#{remark}</if>
            <if test="createTime!=null  ">create_time=#{createTime}</if>
            <if test="state!=null  ">state=#{state}</if>
        </set>
        <where>
            id=#{id}
        </where>
    </update>
 
</mapper>