<?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.process.mapper.ProcessOrderMapper">
|
<!-- 通用查询映射结果 -->
|
<resultMap id="BaseResultMap" type="com.ruoyi.process.pojo.ProcessOrder">
|
<id column="id" property="id"/>
|
<result column="ins_order_id" property="insOrderId"/>
|
<result column="rule" property="rule"/>
|
<result column="comprehensive_user" property="comprehensiveUser"/>
|
<result column="comprehensive_time" property="comprehensiveTime"/>
|
<result column="issue_user" property="issueUser"/>
|
<result column="issue_time" property="issueTime"/>
|
</resultMap>
|
|
<resultMap id="ProcessOrderDto" type="com.ruoyi.process.dto.ProcessOrderDto">
|
<id column="id" property="id"/>
|
<result column="entrust_code" property="entrustCode"/>
|
<result column="sample" property="sample"/>
|
<result column="create_time" property="createTime"/>
|
<result column="sampleType" property="sampleType"/>
|
<result column="company" property="company"/>
|
<result column="production" property="production"/>
|
<result column="productionEn" property="productionEn"/>
|
<result column="prepare_user" property="prepareUser"/>
|
<result column="sample_num" property="sampleNum"/>
|
<result column="ins_state" property="insState"/>
|
<result column="is_leave" property="isLeave"/>
|
<result column="processing" property="processing"/>
|
<result column="phones" property="phone"/>
|
<result column="appointed" property="appointed"/>
|
<result column="send" property="send"/>
|
<result column="rule" property="rule"/>
|
<result column="comprehensive_user" property="comprehensiveUser"/>
|
<result column="comprehensiveUserName" property="comprehensiveUserName"/>
|
<result column="comprehensiveUserUrl" property="comprehensiveUserUrl"/>
|
<result column="comprehensive_time" property="comprehensiveTime"/>
|
<result column="issue_user" property="issueUser"/>
|
<result column="issueUserName" property="issueUserName"/>
|
<result column="issueUserUrl" property="issueUserUrl"/>
|
<result column="issue_time" property="issueTime"/>
|
<collection property="sampleItems" resultMap="SampleItemDto"/>
|
</resultMap>
|
<resultMap id="SampleItemDto" type="com.ruoyi.process.dto.SampleItemDto">
|
<result column="code" property="code"/>
|
<result column="model" property="model"/>
|
<result column="product" property="product"/>
|
<result column="standardMethodList" property="standardMethodList"/>
|
<result column="remark" property="remark"/>
|
</resultMap>
|
|
<select id="pageProcessOrder" resultMap="ProcessOrderDto">
|
select * from
|
(
|
select cpo.*,
|
u1.signature_url comprehensiveUserUrl,
|
u2.signature_url issueUserUrl,
|
u3.phone phones,
|
ioo.*
|
from cnas_process_order cpo
|
left join user u1 on comprehensive_user = u1.id
|
left join user u2 on issue_user = u2.id
|
left join
|
(SELECT distinct
|
io.id AS iod,
|
io.entrust_code,
|
io.sample,
|
io.create_time,
|
fst.model AS sampleType,
|
io.company,
|
io.production,
|
io.prepare_user,
|
sc.sample_num,
|
io.ins_state,
|
io.is_leave,
|
io.processing,
|
appointed,
|
send
|
FROM cnas_process_order cpo
|
LEFT JOIN ins_order io ON cpo.ins_order_id = io.id
|
LEFT JOIN (
|
SELECT ins_order_id, COUNT(*) AS sample_num
|
FROM ins_sample is2
|
WHERE id in ( SELECT is3.id
|
FROM ins_sample is3 JOIN ins_product ip ON is3.id = ip.ins_sample_id where ip.id is not null)
|
GROUP BY ins_order_id
|
) sc ON io.id = sc.ins_order_id
|
LEFT JOIN (
|
SELECT isa.ins_order_id, isa.model
|
FROM ins_sample isa
|
JOIN ins_product ip ON isa.id = ip.ins_sample_id
|
WHERE ip.id IS NOT NULL
|
AND ip.state = 1
|
AND isa.id = (
|
SELECT MIN(is2.id)
|
FROM ins_sample is2
|
JOIN ins_product ip2 ON is2.id = ip2.ins_sample_id
|
WHERE ip2.id IS NOT NULL
|
AND ip2.state = 1
|
AND isa.ins_order_id = is2.ins_order_id
|
)
|
) fst ON io.id = fst.ins_order_id) ioo
|
on cpo.ins_order_id = ioo.iod
|
left join user u3 on prepare_user = u3.name
|
left join (select io2.id,
|
is2.sample_code,
|
GROUP_CONCAT(DISTINCT ip.inspection_item SEPARATOR ' ') AS product,
|
sm.code standardMethodList,
|
is2.remark
|
from ins_order io2
|
left join ins_sample is2 on io2.id = is2.ins_order_id
|
left join standard_method sm on standard_method_list_id = sm.id
|
left join ins_product ip on is2.id = ip.ins_sample_id
|
where ip.id is not null) A on A.id = cpo.ins_order_id
|
) B
|
<if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
|
${ew.customSqlSegment}
|
</if>
|
</select>
|
<select id="getProcessOrder" resultMap="ProcessOrderDto">
|
select cpo.*,
|
u1.name comprehensiveUserName,
|
u1.signature_url comprehensiveUserUrl,
|
u2.name issueUserName,
|
u2.signature_url issueUserUrl,
|
u3.phone phones,
|
u3.signature_url prepareUserUrl,
|
ioo.*,
|
A.*
|
from cnas_process_order cpo
|
left join user u1 on comprehensive_user = u1.id
|
left join user u2 on issue_user = u2.id
|
left join
|
(SELECT distinct cpo.id,
|
io.id AS iod,
|
io.entrust_code,
|
io.sample,
|
io.create_time,
|
fst.model AS sampleType,
|
io.company,
|
io.production,
|
io.prepare_user,
|
sc.sample_num,
|
io.ins_state,
|
io.is_leave,
|
io.processing,
|
appointed,
|
send
|
FROM cnas_process_order cpo
|
LEFT JOIN ins_order io ON cpo.ins_order_id = io.id
|
LEFT JOIN (
|
SELECT ins_order_id, COUNT(*) AS sample_num
|
FROM ins_sample is2
|
WHERE id in (SELECT is3.id
|
FROM ins_sample is3
|
JOIN ins_product ip ON is3.id = ip.ins_sample_id
|
where ip.id is not null)
|
GROUP BY ins_order_id
|
) sc ON io.id = sc.ins_order_id
|
LEFT JOIN (
|
SELECT isa.ins_order_id, isa.model
|
FROM ins_sample isa
|
JOIN ins_product ip ON isa.id = ip.ins_sample_id
|
WHERE ip.id IS NOT NULL
|
AND ip.state = 1
|
AND isa.id = (
|
SELECT MIN(is2.id)
|
FROM ins_sample is2
|
JOIN ins_product ip2 ON is2.id = ip2.ins_sample_id
|
WHERE ip2.id IS NOT NULL
|
AND ip2.state = 1
|
AND isa.ins_order_id = is2.ins_order_id)
|
) fst ON io.id = fst.ins_order_id) ioo on cpo.ins_order_id = ioo.iod
|
left join user u3 on prepare_user = u3.name
|
left join
|
(select io2.id,
|
is2.sample_code code,
|
is2.model,
|
GROUP_CONCAT(DISTINCT ip.inspection_item SEPARATOR ' ') AS product,
|
sm.code standardMethodList,
|
is2.remark
|
from ins_order io2
|
left join ins_sample is2 on io2.id = is2.ins_order_id
|
left join standard_method sm on standard_method_list_id = sm.id
|
left join ins_product ip on is2.id = ip.ins_sample_id
|
left join cnas_process_order cpo2 on io2.id = cpo2.ins_order_id
|
where ip.id is not null
|
and cpo2.id = #{id}) A on A.id = cpo.ins_order_id
|
where cpo.id = #{id}
|
</select>
|
<select id="selectInsOrder" resultType="com.ruoyi.process.pojo.InspectionOrderDetail">
|
select is2.sample_code sampleNumber,
|
is2.model,
|
GROUP_CONCAT(DISTINCT ip.inspection_item SEPARATOR ',') AS testItem,
|
sm.code testStandard,
|
is2.remark
|
from ins_sample is2
|
left join standard_method sm on standard_method_list_id = sm.id
|
left join ins_product ip on is2.id = ip.ins_sample_id
|
where ip.id is not null
|
and ins_order_id = #{id}
|
</select>
|
</mapper>
|