李林
2024-06-26 fe6abde400c8f68c4af1807cc307c4c5cbd8547c
inspect-server/src/main/resources/mapper/StandardProductListMapper.xml
@@ -7,7 +7,6 @@
    <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.StandardProductList">
            <id property="id" column="id" jdbcType="INTEGER"/>
            <result property="inspectionItem" column="inspection_item" jdbcType="VARCHAR"/>
            <result property="inspectionItemClassify" column="inspection_item_classify" 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"/>
@@ -16,10 +15,8 @@
            <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="deviceGroup" column="device_group" jdbcType="VARCHAR"/>
            <result property="checkoutNumber" column="checkout_number" jdbcType="INTEGER"/>
            <result property="section" column="section" jdbcType="VARCHAR"/>
            <result property="valueType" column="value_type" jdbcType="VARCHAR"/>
            <result property="method" column="method" jdbcType="VARCHAR"/>
            <result property="manDay" column="man_day" jdbcType="INTEGER"/>
            <result property="bsm" column="bsm" jdbcType="VARCHAR"/>
@@ -31,14 +28,62 @@
            <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
    </resultMap>
    <sql id="Base_Column_List">
        id,inspection_item,inspection_item_classify,
        inspection_item_subclass,laboratory,unit,
        price,man_hour,man_hour_group,
        inspection_item_type,inspection_value_type,device_group,
        checkout_number,section,value_type,
        method,man_day,bsm,
        ask,standard_method_list_id,create_user,
        update_user,create_time,update_time
    </sql>
    <select id="standardProductListIPage" resultType="com.yuanchu.mom.pojo.StandardProductList">
        select spl.* from `center-lims`.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>
        group by spl.id
        order by p.id
    </select>
    <select id="getOne" resultType="com.yuanchu.mom.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>
    </select>
    <select id="selectDetail" resultType="com.yuanchu.mom.pojo.StandardProductList">
        select * from standard_product_list
        where standard_method_list_id = #{standardMethodListId}
        and state =#{state}
        and model=#{model}
        order by 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.yuanchu.mom.pojo.StandardProductList">
        select * from standard_product_list
        where standard_method_list_id = #{standardMethodListId}
          and state =#{state}
          and tree like #{tree}
        order by 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>
</mapper>