From aac0fb36d6b6762f8f28827be417b6dc97e7e34e Mon Sep 17 00:00:00 2001 From: Crunchy <3114200645@qq.com> Date: 星期一, 13 五月 2024 16:30:11 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- inspect-server/src/main/resources/mapper/InsOrderMapper.xml | 137 +++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 131 insertions(+), 6 deletions(-) diff --git a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml index 3a6a8cb..b520a2e 100644 --- a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml +++ b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml @@ -50,6 +50,18 @@ <result property="remark" column="remark"/> </resultMap> + <resultMap id="selectSampleDefectsMap" type="com.yuanchu.mom.vo.SampleDefectsFatherVo"> + <id column="id" property="id"/> + <result column="sample" property="sample"/> + <association property="children" resultMap="SampleDefectsChildrenMap" javaType="java.util.List"/> + </resultMap> + + <resultMap id="SampleDefectsChildrenMap" type="com.yuanchu.mom.vo.SampleDefectsChildrenVo"> + <result column="entrust_code" property="entrust_code"/> + <result column="inspection_item" property="inspection_item"/> + <result column="name" property="name"/> + <result column="create_time" property="create_time"/> + </resultMap> <select id="selectInsOrderParameter" resultType="com.yuanchu.mom.pojo.InsOrder"> select * from ( @@ -78,16 +90,84 @@ <select id="selectInsOrderPage" resultType="com.yuanchu.mom.dto.SampleOrderDto"> select * from ( - select io.*,isa.id sampleId,isa.sample_code,isa.sample,isa.ins_progress,ir.id report_id,isa.send_time - 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 + SELECT + io.*, + ir.id report_id, + ir.url, + ir.url_s, + 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, + group_concat(distinct isa.sample_code,' ') sample_code, + group_concat(distinct isa.sample,' ') sample_name, + group_concat(distinct isa.model,' ') sample_model + 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, url,url_s 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,isa.ins_state,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> + <select id="selectCostStatistics" resultType="com.yuanchu.mom.dto.CostStatisticsDto"> + select * from ( + SELECT + i.id, + i.entrust_code, + i.create_time, + isa.sample, + isa.model, + c.price, + c.cost, + c.inspection_item, + u.company, + u.`name`, + i.create_user, + c.ins_sample_id + FROM + ins_order i + LEFT JOIN ins_sample isa ON isa.ins_order_id = i.id + LEFT JOIN `user` u ON u.id = i.user_id + LEFT JOIN (select SUM(b.price) price, sum(b.man_hour) cost,b.ins_sample_id,GROUP_CONCAT(b.inspection_item + SEPARATOR ',') + inspection_item from (select * from ins_product where state = 1 GROUP BY ins_sample_id,man_hour_group) b GROUP + BY b.ins_sample_id) c ON c.ins_sample_id = isa.id + ) a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> + <select id="selectDeviceList" resultType="java.util.Map"> + select device_name,specification_model,management_number,DATE_ADD(date_format(last_calibration_date, '%Y-%m-%d'),INTERVAL calibration_date month) latest_traceability + from device + where device.management_number in + <foreach collection="names" index="index" open="(" separator="," close=")" item="val"> + #{val} + </foreach> </select> <update id="upInsOrderParameter" parameterType="com.yuanchu.mom.pojo.InsOrder"> @@ -113,4 +193,49 @@ </where> </update> + <select id="selectSampleDefects" resultMap="selectSampleDefectsMap"> + SELECT io.entrust_code,sam.sample,ip.inspection_item,u.name,b.create_time, sam.id + from ins_order io + left JOIN ins_sample sam on io.id=sam.ins_order_id + LEFT JOIN ins_product ip on ip.ins_sample_id=sam.id + LEFT JOIN + (SELECT create_time,create_user,ins_product_id FROM + (select * FROM ins_product_user ORDER BY ins_product_user.create_time DESC) a + GROUP BY a.ins_product_id) b + on b.ins_product_id=ip.id + left JOIN `user` u on u.id=b.create_user + WHERE (ip.ins_result=0 OR ip.state=0) + <if test="inspectionItems != null and inspectionItems != ''"> + and inspection_item like concat('%', #{inspectionItems}, '%') + </if> + <if test="orderNumber != null and orderNumber != ''"> + and io.entrust_code like concat('%', #{orderNumber}, '%') + </if> + </select> + + <select id="getCount" resultType="long"> + select count(1) + from ( + SELECT io.entrust_code,sam.sample,ip.inspection_item,u.name,b.create_time, sam.id + from ins_order io + left JOIN ins_sample sam on io.id=sam.ins_order_id + LEFT JOIN ins_product ip on ip.ins_sample_id=sam.id + LEFT JOIN + (SELECT create_time,create_user,ins_product_id FROM (select * FROM ins_product_user ORDER BY + ins_product_user.create_time DESC) a GROUP BY a.ins_product_id) b + on b.ins_product_id=ip.id + left JOIN `user` u on u.id=b.create_user + where (ip.ins_result=0 OR ip.state=0) + <if test="inspectionItems != null and inspectionItems != ''"> + and inspection_item like concat('%', #{inspectionItems}, '%') + </if> + <if test="orderNumber != null and orderNumber != ''"> + and io.entrust_code like concat('%', #{orderNumber}, '%') + </if> + ) temp + </select> + <select id="getEnumLabelByValue" resultType="java.lang.String"> + select label from `center-lims`.enums + where value = #{value} + </select> </mapper> -- Gitblit v1.9.3