zss
2025-02-14 f5114972497953a70772f202a8ae2a0bf96659b0
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
<?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.ruoyi.basic.mapper.StandardProductListMapper">
 
    <resultMap id="BaseResultMap" type="com.ruoyi.basic.pojo.StandardProductList">
            <id property="id" column="id" jdbcType="INTEGER"/>
            <result property="inspectionItem" column="inspection_item" jdbcType="VARCHAR"/>
            <result property="inspectionItemSubclass" column="inspection_item_subclass" jdbcType="VARCHAR"/>
            <result property="laboratory" column="laboratory" jdbcType="VARCHAR"/>
            <result property="unit" column="unit" jdbcType="VARCHAR"/>
            <result property="price" column="price" jdbcType="DECIMAL"/>
            <result property="manHour" column="man_hour" jdbcType="INTEGER"/>
            <result property="manHourGroup" column="man_hour_group" jdbcType="VARCHAR"/>
            <result property="inspectionItemType" column="inspection_item_type" jdbcType="VARCHAR"/>
            <result property="inspectionValueType" column="inspection_value_type" jdbcType="VARCHAR"/>
            <result property="checkoutNumber" column="checkout_number" jdbcType="INTEGER"/>
            <result property="section" column="section" jdbcType="VARCHAR"/>
            <result property="method" column="method" jdbcType="VARCHAR"/>
            <result property="manDay" column="man_day" jdbcType="INTEGER"/>
            <result property="bsm" column="bsm" jdbcType="VARCHAR"/>
            <result property="ask" column="ask" jdbcType="VARCHAR"/>
            <result property="standardMethodListId" column="standard_method_list_id" jdbcType="INTEGER"/>
            <result property="createUser" column="create_user" jdbcType="INTEGER"/>
            <result property="updateUser" column="update_user" jdbcType="INTEGER"/>
            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
            <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
    </resultMap>
    <update id="updateSection">
        UPDATE standard_product_list
        SET price=#{productList.price},
            man_hour=#{productList.manHour},
            section=#{productList.section},
            cores=#{productList.cores},
            conductor_material=#{productList.conductorMaterial},
            conductor_type=#{productList.conductorType},
            ask=#{productList.ask},
            tell=#{productList.tell},
            update_user=#{productList.updateUser},
            update_time=#{productList.updateTime}
        WHERE id = #{productList.id}
    </update>
    <update id="updateSortUp">
        update standard_product_list
        set sort = sort - 1
        where tree = #{tree}
          and standard_method_list_id = #{methodId}
          and sort between #{beginIndex} + 1 and #{endIndex}
    </update>
    <update id="updateSortDown">
        update standard_product_list
        set sort = sort + 1
        where tree = #{tree}
          and standard_method_list_id = #{methodId}
          and sort between #{endIndex} and #{beginIndex} - 1
    </update>
    <select id="standardProductListIPage" resultType="com.ruoyi.basic.pojo.StandardProductList">
        select spl.* from standard_product_list spl
        left join product p on spl.sample = p.name
        where standard_method_list_id = #{id}
        and tree like concat('%',#{tree},'%')
        <if test="laboratory != ''">
            and son_laboratory = #{laboratory}
        </if>
        <if test="insItem != ''">
            and inspection_item = #{insItem}
        </if>
        <if test="insItems != ''">
            and inspection_item_subclass = #{insItems}
        </if>
        order by p.id
        group by spl.id
    </select>
    <select id="getOne" resultType="com.ruoyi.basic.pojo.StandardProductList">
        select * from standard_product_list
        where standard_method_list_id = #{standardMethodListId}
        and inspection_item = #{inspectionItem}
        <if test="sample!=null">
            and sample = #{sample}
        </if>
        <if test="inspectionItemSubclass!=null">
            and inspection_item_subclass = #{inspectionItemSubclass}
        </if>
        <if test="inspectionItemSubclass == null">
            and (inspection_item_subclass is null or inspection_item_subclass = '')
        </if>
        <if test="model!=null">
            and model = #{model}
        </if>
        <if test="inspectionItemClass != null and inspectionItemClass != ''">
            and inspection_item_class = #{inspectionItemClass}
        </if>
    </select>
    <select id="selectDetail" resultType="com.ruoyi.basic.pojo.StandardProductList">
        select * from standard_product_list
        where standard_method_list_id = #{standardMethodListId}
        and state =#{state}
        and model=#{model}
        <if test="isCableTag != null and isCableTag != ''">
            and (inspection_item_class like concat('%结构尺寸%') or
            inspection_item_class like concat('%电缆电性能%')or
            inspection_item_class like concat('%绝缘%')or
            inspection_item_class like concat('%电缆燃烧性能%'))
        </if>
        order by sort asc,
            case when man_hour_group is NULL then 1
                      when man_hour_group ='' then 1  else 0 end,
                 CASE
                     WHEN man_hour_group REGEXP '^[0-9]' THEN CAST(man_hour_group AS UNSIGNED) -- 如果以数字开头,则按照数字大小排序
                     WHEN man_hour_group REGEXP '[0-9]+' THEN CAST(SUBSTRING(man_hour_group, 2)AS UNSIGNED) END -- 提取字母后面的数字部分
                ,id asc
    </select>
    <select id="selectDetail2" resultType="com.ruoyi.basic.pojo.StandardProductList">
        select * from standard_product_list
        where standard_method_list_id = #{standardMethodListId}
          and state =#{state}
          and tree =#{tree}
        <if test="isCableTag != null and isCableTag != ''">
            and (inspection_item_class like concat('%结构尺寸%') or
            inspection_item_class like concat('%电缆电性能%')or
            inspection_item_class like concat('%绝缘%')or
            inspection_item_class like concat('%电缆燃烧性能%'))
        </if>
        order by sort asc,
            case when man_hour_group is NULL then 1
                      when man_hour_group ='' then 1  else 0 end,
                 CASE
                     WHEN man_hour_group REGEXP '^[0-9]' THEN CAST(man_hour_group AS UNSIGNED) -- 如果以数字开头,则按照数字大小排序
                     WHEN man_hour_group REGEXP '[0-9]+' THEN CAST(SUBSTRING(man_hour_group, 2)AS UNSIGNED) END -- 提取字母后面的数字部分
                ,id asc
    </select>
    <select id="selectPartColor" resultType="java.util.Map">
        select color,
               color_code
        from product_part
        where part_no = #{partNo}
        union all
        select color,
               color_code
        from structure_test_object_part
        where part_no = #{partNo}
    </select>
</mapper>