|  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     <select id="findInsSampleAndOrder" resultType="com.ruoyi.inspect.vo.InsOrderPlanVO"> | 
 |  |  |         SELECT * | 
 |  |  |         FROM ( | 
 |  |  |         select * from(select * from( | 
 |  |  |         SELECT | 
 |  |  |         a.*, | 
 |  |  |         ios.ins_state, | 
 |  |  |         ios.verify_tell, | 
 |  |  |         ios.verify_user | 
 |  |  |         FROM ( | 
 |  |  |         a.*,ios.ins_state,ios.verify_tell,verify_user | 
 |  |  |         FROM | 
 |  |  |         ( | 
 |  |  |         SELECT | 
 |  |  |         io.id, | 
 |  |  |         io.entrust_code, | 
 |  |  | 
 |  |  |         io.appointed, | 
 |  |  |         io.send_time, | 
 |  |  |         io.order_type, | 
 |  |  |         CASE WHEN io.type_source = 0 THEN io.sample_view ELSE io.sample END AS sample, | 
 |  |  |         case when | 
 |  |  |         io.type_source = 0 | 
 |  |  |         then io.sample_view | 
 |  |  |         else io.sample end sample, | 
 |  |  |         GROUP_CONCAT(DISTINCT isa.model SEPARATOR ' ') AS sample_model, | 
 |  |  |         MAX(isu.userName) AS userName, | 
 |  |  |         MAX(isu2.checkName) AS checkName, | 
 |  |  |         GROUP_CONCAT(DISTINCT ip.son_laboratory) AS son_laboratory, | 
 |  |  |         userName, | 
 |  |  |         checkName, | 
 |  |  |         ip.son_laboratory, | 
 |  |  |         io.ins_time, | 
 |  |  |         io.laboratory, | 
 |  |  |         io.type_source, | 
 |  |  |         io.ifs_inventory_id, | 
 |  |  |         MAX(ira.id) AS ins_report_id, | 
 |  |  |         MAX(ira.url) AS url, | 
 |  |  |         MAX(ira.url_s) AS url_s, | 
 |  |  |         MAX(ira.temp_url_pdf) AS temp_url_pdf, | 
 |  |  |         MAX(iiq.is_copper) AS is_copper | 
 |  |  |         FROM ins_order io | 
 |  |  |         INNER JOIN ins_sample isa ON isa.ins_order_id = io.id | 
 |  |  |         ira.id ins_report_id, | 
 |  |  |         ira.url, | 
 |  |  |         ira.url_s, | 
 |  |  |         ira.temp_url_pdf, | 
 |  |  |         iiq.is_copper | 
 |  |  |         FROM | 
 |  |  |         ins_order io | 
 |  |  |         LEFT JOIN ins_sample isa ON isa.ins_order_id = io.id | 
 |  |  |         LEFT JOIN ins_report ira ON ira.ins_order_id = io.id | 
 |  |  |         LEFT JOIN ifs_inventory_quantity iiq ON iiq.id = io.ifs_inventory_id | 
 |  |  |         LEFT JOIN ( | 
 |  |  |         SELECT | 
 |  |  |         ins_sample_id, | 
 |  |  |         GROUP_CONCAT(DISTINCT uu.name SEPARATOR ',') AS userName | 
 |  |  |         FROM ins_sample_user u | 
 |  |  |         INNER JOIN user uu ON u.user_id = uu.id | 
 |  |  |         WHERE u.state = 0 | 
 |  |  |         <if test="sonLaboratory != null and sonLaboratory != ''"> | 
 |  |  |             AND u.son_laboratory = #{sonLaboratory} | 
 |  |  |         SELECT ins_sample_id,GROUP_CONCAT( DISTINCT uu.name SEPARATOR ',') AS userName | 
 |  |  |         FROM ins_sample_user u LEFT JOIN  user uu ON u.user_id = uu.id | 
 |  |  |         WHERE u.state=0 | 
 |  |  |         <if test="sonLaboratory!= null and sonLaboratory != ''"> | 
 |  |  |             and son_laboratory=#{sonLaboratory} | 
 |  |  |         </if> | 
 |  |  |         GROUP BY ins_sample_id | 
 |  |  |         ORDER BY ins_sample_id | 
 |  |  |         ) isu ON isu.ins_sample_id = io.id | 
 |  |  |         LEFT JOIN ( | 
 |  |  |         SELECT | 
 |  |  |         ins_sample_id, | 
 |  |  |         MAX(uu.name) AS checkName | 
 |  |  |         FROM ins_sample_user u | 
 |  |  |         INNER JOIN user uu ON u.user_id = uu.id | 
 |  |  |         WHERE u.state = 1 | 
 |  |  |         <if test="sonLaboratory != null and sonLaboratory != ''"> | 
 |  |  |             AND u.son_laboratory = #{sonLaboratory} | 
 |  |  |         SELECT ins_sample_id,uu.name checkName | 
 |  |  |         FROM ins_sample_user u LEFT JOIN  user uu ON u.user_id = uu.id | 
 |  |  |         WHERE u.state=1 | 
 |  |  |         <if test="sonLaboratory!= null and sonLaboratory != ''"> | 
 |  |  |             and son_laboratory=#{sonLaboratory} | 
 |  |  |         </if> | 
 |  |  |         GROUP BY ins_sample_id | 
 |  |  |         ) isu2 ON isu2.ins_sample_id = io.id | 
 |  |  |         ORDER BY ins_sample_id | 
 |  |  |         )isu2 ON isu2.ins_sample_id = io.id | 
 |  |  |         LEFT JOIN ins_product ip ON ip.ins_sample_id = isa.id | 
 |  |  |  | 
 |  |  |         WHERE io.state = 1 | 
 |  |  |         AND io.send_time IS NOT NULL | 
 |  |  |  | 
 |  |  |         WHERE io.state = 1 and send_time is not null | 
 |  |  |         <if test="isCheck != null"> | 
 |  |  |             <if test="userName != null and userName != ''"> | 
 |  |  |                 AND EXISTS ( | 
 |  |  |                 SELECT 1 | 
 |  |  |                 FROM ins_sample_user iu | 
 |  |  |                 JOIN user u ON iu.user_id = u.id | 
 |  |  |                 WHERE iu.ins_sample_id = io.id | 
 |  |  |                 AND iu.state = 1 | 
 |  |  |                 AND u.name LIKE CONCAT('%', #{userName}, '%') | 
 |  |  |                 <if test="sonLaboratory != null and sonLaboratory != ''"> | 
 |  |  |                     AND iu.son_laboratory = #{sonLaboratory} | 
 |  |  |                 </if> | 
 |  |  |                 ) | 
 |  |  |             <if test="userName !=null and userName!=''"> | 
 |  |  |                 and checkName like CONCAT ('%', #{userName},'%') | 
 |  |  |             </if> | 
 |  |  |         </if> | 
 |  |  |  | 
 |  |  |         <if test="isCheck == null"> | 
 |  |  |             <if test="userName != null and userName != ''"> | 
 |  |  |                 AND EXISTS ( | 
 |  |  |                 SELECT 1 | 
 |  |  |                 FROM ins_sample_user iu | 
 |  |  |                 JOIN user u ON iu.user_id = u.id | 
 |  |  |                 WHERE iu.ins_sample_id = io.id | 
 |  |  |                 AND iu.state = 0 | 
 |  |  |                 AND u.name LIKE CONCAT('%', #{userName}, '%') | 
 |  |  |                 <if test="sonLaboratory != null and sonLaboratory != ''"> | 
 |  |  |                     AND iu.son_laboratory = #{sonLaboratory} | 
 |  |  |                 </if> | 
 |  |  |                 ) | 
 |  |  |             <if test="userName !=null and userName!=''"> | 
 |  |  |                 and userName like CONCAT ('%', #{userName},'%') | 
 |  |  |             </if> | 
 |  |  |         </if> | 
 |  |  |  | 
 |  |  |         <if test="sonLaboratory != null and sonLaboratory != ''"> | 
 |  |  |             AND EXISTS ( | 
 |  |  |             SELECT 1 | 
 |  |  |             FROM ins_product ip2 | 
 |  |  |             WHERE ip2.ins_sample_id = isa.id | 
 |  |  |             AND ip2.son_laboratory = #{sonLaboratory} | 
 |  |  |             ) | 
 |  |  |         <if test="sonLaboratory!= null and sonLaboratory != ''"> | 
 |  |  |             and ip.son_laboratory = #{sonLaboratory} | 
 |  |  |         </if> | 
 |  |  |  | 
 |  |  |         GROUP BY io.id | 
 |  |  |         GROUP BY | 
 |  |  |         ip.son_laboratory, | 
 |  |  |         io.id | 
 |  |  |         ) a | 
 |  |  |  | 
 |  |  |         LEFT JOIN ( | 
 |  |  |         SELECT * | 
 |  |  |         FROM ( | 
 |  |  |         SELECT *, | 
 |  |  |         ROW_NUMBER() OVER (PARTITION BY ins_order_id ORDER BY update_time DESC, id DESC) AS rn | 
 |  |  |         FROM ins_order_state | 
 |  |  |         ) ios | 
 |  |  |         WHERE ios.rn = 1 | 
 |  |  |         <if test="sonLaboratory != null and sonLaboratory != ''"> | 
 |  |  |             AND ios.laboratory = #{sonLaboratory} | 
 |  |  |         LEFT JOIN ins_order_state ios ON ios.ins_order_id = a.id AND ios.laboratory = a.son_laboratory | 
 |  |  |         ORDER BY | 
 |  |  |         a.type DESC, | 
 |  |  |         a.id | 
 |  |  |         ) b | 
 |  |  |         where ins_state is not null | 
 |  |  |         <if test="laboratory!=null and laboratory!=''"> | 
 |  |  |             and laboratory=#{laboratory} | 
 |  |  |         </if> | 
 |  |  |         ) ios ON ios.ins_order_id = a.id | 
 |  |  |  | 
 |  |  |         WHERE ios.ins_state IS NOT NULL | 
 |  |  |  | 
 |  |  |         <if test="laboratory != null and laboratory != ''"> | 
 |  |  |             AND a.laboratory = #{laboratory} | 
 |  |  |         </if> | 
 |  |  |  | 
 |  |  |         ORDER BY a.type DESC, a.id | 
 |  |  |         ) A | 
 |  |  |  | 
 |  |  |         )A | 
 |  |  |         <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> | 
 |  |  |             ${ew.customSqlSegment} | 
 |  |  |         </if> | 
 |  |  |  | 
 |  |  |         ORDER BY send_time ASC | 
 |  |  |         ORDER BY send_time asc | 
 |  |  |  | 
 |  |  |     </select> | 
 |  |  |  |