<?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.StandardTreeMapper">
|
<resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.StandardTree">
|
<id property="id" column="id" jdbcType="INTEGER"/>
|
<result property="factory" column="factory" jdbcType="VARCHAR"/>
|
<result property="laboratory" column="laboratory" jdbcType="VARCHAR"/>
|
<result property="sampleType" column="sample_type" jdbcType="VARCHAR"/>
|
<result property="sample" column="sample" jdbcType="VARCHAR"/>
|
<result property="model" column="model" 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="FactoryDto" type="com.yuanchu.mom.dto.FactoryDto">
|
<result property="label" column="factory"/>
|
<result property="value" column="factory"/>
|
<collection property="children" resultMap="LaboratoryDto"/>
|
</resultMap>
|
|
<resultMap id="LaboratoryDto" type="com.yuanchu.mom.dto.LaboratoryDto">
|
<result property="label" column="laboratory"/>
|
<result property="value" column="laboratory"/>
|
<collection property="children" resultMap="SampleTypeDto"/>
|
</resultMap>
|
|
<resultMap id="SampleTypeDto" type="com.yuanchu.mom.dto.SampleTypeDto">
|
<result property="label" column="sample_type"/>
|
<result property="value" column="sample_type"/>
|
<collection property="children" resultMap="SampleDto"/>
|
</resultMap>
|
|
<resultMap id="SampleDto" type="com.yuanchu.mom.dto.SampleDto">
|
<result property="label" column="sample"/>
|
<result property="value" column="sample"/>
|
<collection property="children" resultMap="ModelDto"/>
|
</resultMap>
|
|
<resultMap id="ModelDto" type="com.yuanchu.mom.dto.ModelDto">
|
<result property="label" column="model"/>
|
<result property="value" column="model"/>
|
</resultMap>
|
|
<select id="selectStandardTreeList" resultMap="FactoryDto">
|
select '中天科技检测中心' factory,
|
l.laboratory_name laboratory,
|
sto.specimen_name sample_type,
|
p.name sample,
|
st.model,
|
sto.code
|
from laboratory l
|
left join structure_test_object sto on sto.laboratory_id = l.id
|
left join product p on p.object_id = sto.id
|
left join standard_tree st on st.sample_type = sto.specimen_name
|
and st.sample = p.name
|
order by l.id, CAST(sto.code AS DECIMAL), p.id, ISNULL(st.id), st.id
|
</select>
|
|
<select id="selectStandardProductById" resultType="com.yuanchu.mom.pojo.StandardProductList">
|
select inspection_item,
|
inspection_item_subclass,
|
laboratory,
|
son_laboratory,
|
unit,
|
price,
|
man_hour,
|
man_hour_group,
|
inspection_item_type,
|
inspection_value_type,
|
checkout_number,
|
section,
|
method,
|
man_day,
|
bsm,
|
template_id
|
from structure_item_parameter
|
where id = #{id}
|
</select>
|
<select id="getStandardProductListBySample" resultType="com.yuanchu.mom.pojo.StandardProductList">
|
select inspection_item,
|
inspection_item_subclass,
|
laboratory,
|
son_laboratory,
|
unit,
|
price,
|
man_hour,
|
man_hour_group,
|
inspection_item_type,
|
inspection_value_type,
|
checkout_number,
|
section,
|
method,
|
man_day,
|
sample,
|
bsm,
|
template_id,
|
dic,
|
ask,
|
ask_tell as tell
|
from structure_item_parameter sp
|
where sp.sample = #{sampleType}
|
or sp.sample = ''
|
or sp.sample = '[]'
|
</select>
|
<select id="getStandardMethodListBySample" resultType="com.yuanchu.mom.pojo.StandardMethodList">
|
select sm.code,sm.name,sm.remark from standard_method sm
|
left join structure_test_object sto on sm.structure_test_object_id = sto.id
|
where is_use = 1
|
and is_product = 1
|
<if test="sampleType != null">
|
and sto.specimen_name = #{sampleType}
|
</if>
|
</select>
|
<select id="selectStandardTreeList2" resultType="com.yuanchu.mom.pojo.StandardTree">
|
select '中天科技检测中心' factory,
|
l.laboratory_name laboratory,
|
sto.specimen_name sample_type,
|
p.name sample
|
from laboratory l
|
left join structure_test_object sto on sto.laboratory_id = l.id
|
left join product p on p.object_id = sto.id
|
left join standard_tree st on st.laboratory = l.laboratory_name
|
and st.sample_type = sto.specimen_name
|
and st.sample = p.name
|
where sto.specimen_name = #{sampleType}
|
group by sto.specimen_name
|
</select>
|
<select id="selectStandardProductListByTree" resultType="com.yuanchu.mom.pojo.StandardProductList">
|
select sample sample2,
|
inspection_item,
|
inspection_item_en,
|
inspection_item_subclass,
|
inspection_item_subclass_en,
|
inspection_item_class,
|
inspection_item_class_en,
|
method,
|
son_laboratory,
|
unit,
|
ask_tell tell,
|
ask,
|
price,
|
man_hour,
|
man_hour_group,
|
man_day,
|
inspection_item_type,
|
inspection_value_type,
|
bsm,
|
template_id,
|
laboratory,
|
checkout_number,
|
section,
|
dic,
|
0 state,
|
#{model} model,
|
#{sample} sample,
|
#{trees} tree,
|
id structure_item_parameter_id
|
from structure_item_parameter
|
where (
|
sample is NULL
|
OR sample = ''
|
or sample = '[]'
|
OR sample LIKE CONCAT('%[', #{tree}, ']%')
|
)
|
and (laboratory is null
|
or laboratory = ''
|
or laboratory = #{laboratory})
|
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="selectStandardProductListByTree2" resultType="com.yuanchu.mom.pojo.StandardProductList">
|
select sample sample2,
|
inspection_item,
|
inspection_item_en,
|
inspection_item_subclass,
|
inspection_item_subclass_en,
|
inspection_item_class,
|
inspection_item_class_en,
|
method,
|
son_laboratory,
|
unit,
|
ask_tell tell,
|
ask,
|
price,
|
man_hour,
|
man_hour_group,
|
man_day,
|
inspection_item_type,
|
inspection_value_type,
|
bsm,
|
template_id,
|
laboratory,
|
checkout_number,
|
section,
|
dic,
|
0 state,
|
#{model} model,
|
#{sample} sample,
|
#{trees} tree,
|
id structure_item_parameter_id
|
from structure_item_parameter
|
where sample LIKE CONCAT('%[', #{tree}, ']%')
|
and (laboratory is null
|
or laboratory = ''
|
or laboratory = #{laboratory})
|
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="getStandardTree2" resultMap="SampleTypeDto">
|
select sto.specimen_name sample_type,
|
p.name sample,
|
st.model
|
from structure_test_object sto
|
left join product p on p.object_id = sto.id
|
left join standard_tree st on st.sample_type = sto.specimen_name
|
and st.sample = p.name
|
</select>
|
<select id="selectStandardProductListByTree3" resultType="com.yuanchu.mom.pojo.StandardProductList">
|
select sample sample2,
|
inspection_item,
|
inspection_item_en,
|
inspection_item_subclass,
|
inspection_item_subclass_en,
|
inspection_item_class,
|
inspection_item_class_en,
|
method,
|
son_laboratory,
|
unit,
|
ask_tell tell,
|
ask,
|
price,
|
man_hour,
|
man_hour_group,
|
man_day,
|
inspection_item_type,
|
inspection_value_type,
|
bsm,
|
template_id,
|
laboratory,
|
checkout_number,
|
section,
|
dic,
|
0 state,
|
#{model} model,
|
#{sample} sample,
|
#{trees} tree,
|
id structure_item_parameter_id
|
from structure_item_parameter
|
where (
|
sample is NULL
|
OR sample = ''
|
or sample = '[]'
|
OR sample LIKE CONCAT('%', #{tree}, '%')
|
)
|
and (laboratory is null
|
or laboratory = ''
|
or laboratory = #{laboratory})
|
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="getStandardTree3" resultType="com.yuanchu.mom.dto.SampleDto">
|
select model label,
|
model value
|
from standard_tree
|
where sample_type = #{sampleType}
|
and sample is null
|
</select>
|
<select id="getLaboratory" resultType="java.lang.String">
|
select l.laboratory_name
|
from structure_test_object sto
|
left join laboratory l on sto.laboratory_id = l.id
|
where sto.specimen_name = #{str}
|
</select>
|
<select id="getStructureItemParameterId" resultType="java.lang.Integer">
|
select id from structure_item_parameter
|
where sample like concat('%', #{sampleType}, '%')
|
and inspection_item = #{item}
|
<if test="itemChild != null and itemChild != ''">
|
and inspection_item_subclass = #{itemChild}
|
</if>
|
<if test="inspectionItemClass != null and inspectionItemClass != ''">
|
and inspection_item_class = #{inspectionItemClass}
|
</if>
|
<if test="itemChild == null or itemChild == ''">
|
and (inspection_item_subclass is null or inspection_item_subclass = '')
|
</if>
|
</select>
|
<select id="selectPList" resultType="com.yuanchu.mom.dto.ProductDto">
|
select p.name
|
from structure_test_object sto
|
left join product p on p.object_id = sto.id
|
where sto.specimen_name = #{name}
|
order by p.id
|
</select>
|
<select id="selSample" resultType="java.lang.String">
|
select name
|
from product
|
where name = #{name}
|
</select>
|
|
<select id="exportStandTree" resultType="com.yuanchu.mom.dto.standardTreeDto">
|
select
|
inspection_item,
|
inspection_item_en,
|
inspection_item_subclass,
|
inspection_item_subclass_en,
|
laboratory,
|
sample_type,
|
sample,
|
model,
|
son_laboratory,
|
unit,
|
price,
|
man_hour,
|
man_hour_group,
|
case when inspection_item_type='1' then '采集类型'
|
else '非采集类型' end as inspection_item_type ,
|
case when inspection_value_type='1' then '数值'
|
when inspection_value_type='2' then '文本'
|
when inspection_value_type='5' then '下拉'
|
else '/' end as inspection_value_type,
|
method_s,
|
man_day,
|
bsm,
|
ask,
|
tell,
|
st.name templateName,
|
sml.code standardMethodNo
|
from standard_product_list spl
|
left join standard_template st on spl.template_id = st.id
|
left join standard_method sml on spl.standard_method_list_id = sml.id
|
where spl.state = 1
|
order by spl.sample_type
|
</select>
|
</mapper>
|