i.id,
        isa.sample_code,
        isa.sample,
        isa.model,
        isa.ins_state,
        ip.id insProductId,
        ip.state,
        ip.unit,
        ip.inspection_item_class,
        ip.inspection_item_class_en,
        ip.inspection_item,
        ip.inspection_item_en,
        ip.inspection_item_subclass,
        ip.inspection_item_subclass_en,
        ip.son_laboratory,
        ip.inspection_item_type,
        ip.inspection_value_type,
        ip.ask,
        ip.tell,
        ip.`last_value`,
        ip.ins_result,
        ip.radius,
        isa.quantity,
        ip.sort,
        ip.cable_tag
     
    
        SELECT
            io.*,
            isau.user_id assign,
            ir.id report_id,
            ir.url,
            ir.url_s,
            sample_counts.sample_num,
            CONCAT(ROUND(approved_product_counts.approved_count / total_product_counts.total_count * 100, 2), '%') AS insProgress,
            io.sample_view AS sample_name,
            GROUP_CONCAT(DISTINCT isa.model SEPARATOR ' ') AS sample_model,
            u.name,
            testing_name,
            case when io.type = 0 then '普通'
                 when io.type = 1 then '优先'
                 when io.type = 2 then '紧急'
                end typeString,
            case when io.ins_result = 1 then '合格'
                 when io.ins_result = 0 then '不合格'
                 else '待检验' end insResultString
        FROM
            ins_order io
                LEFT JOIN
            ins_sample isa ON io.id = isa.ins_order_id
                LEFT JOIN
            ins_sample_user isau ON isau.ins_sample_id = io.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
                LEFT JOIN
            user u ON io.create_user = u.id
                LEFT JOIN
            (SELECT ins_order_id, COUNT(*) AS sample_num
             FROM ins_sample
             WHERE id in(select id1 from (select is2.id id1 ,ip.id from ins_sample is2 left join ins_product ip on is2.id = ip.ins_sample_id where ip.id is not null)s )
             GROUP BY ins_order_id) sample_counts ON io.id = sample_counts.ins_order_id
                LEFT JOIN
            (SELECT ins_sample.ins_order_id, COUNT(*) AS total_count
             FROM ins_product
                      JOIN ins_sample ON ins_product.ins_sample_id = ins_sample.id
             WHERE ins_product.state = 1
             GROUP BY ins_sample.ins_order_id) total_product_counts ON io.id = total_product_counts.ins_order_id
                LEFT JOIN
            (SELECT ins_sample.ins_order_id, COUNT(*) AS approved_count
             FROM ins_product
                      JOIN ins_sample ON ins_product.ins_sample_id = ins_sample.id
             WHERE ins_product.state = 1 AND ins_product.ins_result IS NOT NULL
             GROUP BY ins_sample.ins_order_id) approved_product_counts ON io.id = approved_product_counts.ins_order_id
                LEFT JOIN (SELECT ins_sample_id, GROUP_CONCAT(DISTINCT uu.name SEPARATOR ',') AS testing_name
                           FROM ins_sample_user u
                                    LEFT JOIN user uu ON u.user_id = uu.id
                           WHERE u.state = 0
                           GROUP BY ins_sample_id
                           ORDER BY ins_sample_id) isu ON isu.ins_sample_id = io.id
     
    
        select *
        from (
        SELECT
        io.*,
        isau.user_id assign,
        ir.id report_id,
        ir.url,
        ir.url_s,
        sample_counts.sample_num,
        CONCAT(ROUND(approved_product_counts.approved_count / total_product_counts.total_count * 100, 2), '%') AS insProgress,
        io.sample_view AS sample_name,
        GROUP_CONCAT(DISTINCT isa.model SEPARATOR ' ') AS sample_model,
        u.name,
        testing_name,
        ip.son_laboratory
        FROM
        ins_order io
        LEFT JOIN
        ins_sample isa ON io.id = isa.ins_order_id
        left join ins_product ip on ip.ins_sample_id = isa.id
        LEFT JOIN
        ins_sample_user isau ON isau.ins_sample_id = io.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
        LEFT JOIN
        user u ON io.create_user = u.id
        LEFT JOIN
        (SELECT ins_order_id, COUNT(*) AS sample_num
        FROM ins_sample
        WHERE id in(select id1 from (select is2.id id1 ,ip.id from ins_sample is2 left join ins_product ip on is2.id = ip.ins_sample_id where ip.id is not null)s )
        GROUP BY ins_order_id) sample_counts ON io.id = sample_counts.ins_order_id
        LEFT JOIN
        (SELECT ins_sample.ins_order_id, COUNT(*) AS total_count
        FROM ins_product
        JOIN ins_sample ON ins_product.ins_sample_id = ins_sample.id
        WHERE ins_product.state = 1
        GROUP BY ins_sample.ins_order_id) total_product_counts ON io.id = total_product_counts.ins_order_id
        LEFT JOIN
        (SELECT ins_sample.ins_order_id, COUNT(*) AS approved_count
        FROM ins_product
        JOIN ins_sample ON ins_product.ins_sample_id = ins_sample.id
        WHERE ins_product.state = 1 AND ins_product.ins_result IS NOT NULL
        GROUP BY ins_sample.ins_order_id) approved_product_counts ON io.id = approved_product_counts.ins_order_id
        LEFT JOIN (SELECT ins_sample_id, GROUP_CONCAT(DISTINCT uu.name SEPARATOR ',') AS testing_name
        FROM ins_sample_user u
        LEFT JOIN user uu ON u.user_id = uu.id
        WHERE u.state = 0
        GROUP BY ins_sample_id
        ORDER BY ins_sample_id) isu ON isu.ins_sample_id = io.id
        where (io.ifs_inventory_id IS NULL OR TRIM(io.ifs_inventory_id)  = '')
        
            AND io.state in (1, 4)
         
        
            AND io.laboratory=#{laboratory}
         
        GROUP BY io.id,type
        order by type desc,io.id desc
        ) a
        
            ${ew.customSqlSegment}
         
     
    
        select *
        from (
        select
        id,
        appointed,
        user_id,
        create_user,
        otc_code,
        code,
        custom,
        update_user,
        update_time,
        type,
        entrust_code,
        company,
        remark,
        create_time,
        state
        from ins_order
        ) a
        
            ${ew.customSqlSegment}
         
     
    
        select laboratory_number
        from laboratory
        where laboratory_name = #{name}
     
    
        select *
        from (
        select
        i.id,
        isa.sample_code,
        isa.sample,
        isa.model,
        isa.ins_state,
        ip.id insProductId,
        ip.state,
        ip.unit,
        ip.inspection_item,
        ip.inspection_item_subclass,
        ip.son_laboratory,
        ip.inspection_item_type,
        ip.inspection_value_type,
        ip.tell,
        ip.ask,
        ip.`last_value`,
        ip.ins_result,
        ip.inspection_item_class,
        i.ifs_inventory_id,
        i.order_type,
        ip.sort,
        ip.cable_tag,
        ip.radius
        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
        where ip.state = 1
        and i.id=#{id}
        and ip.is_binding != 1
        ) a
        
            ${ew.customSqlSegment}
         
     
    
        select device_name,
               en_device_name,
               specification_model,
               management_number,
               date_format(activation_date,'%Y-%m-%d')
        latest_traceability
        from device
        where device.management_number in
        
            #{val}
         
     
    
        update ins_order
        set state=3
        where id = #{id}
     
    
        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)
        
            and inspection_item like concat('%', #{inspectionItems}, '%')
         
        
            and io.entrust_code like concat('%', #{orderNumber}, '%')
         
     
    
        select code
        from standard_method
        where id = #{id}
     
    
        select laboratory_code
        from laboratory
        where laboratory_name = #{laboratory}
     
    
        select distinct id, name
        from standard_template
        where id in (select template_id
                     from ins_product
                     where son_laboratory = #{laboratory}
                       and ins_sample_id in
                           (select id from ins_sample where ins_order_id = #{id}))
     
    
        select name
        from department_lims
        where id = #{depLimsId}
     
    
        select  
        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
        where ip.state = 1
          and ip.is_binding != 1
          and isa.id in
        
            #{val}
         
        order by ip.sort asc
     
    
        SELECT COUNT(*)
        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
        WHERE ip.state = 1
          AND isa.id = #{id}
          and ip.is_binding != 1
        GROUP BY ip.inspection_item,
                 ip.inspection_item_subclass,
                 ip.inspection_item_class
        ORDER BY COUNT(*) DESC
        LIMIT 1;
     
    
        SELECT ip.cable_tag
        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
        WHERE ip.state = 1
          AND isa.id = #{id}
          and ip.cable_tag is not null
        GROUP BY ip.cable_tag
        order by ip.cable_tag
     
    
        select count(*)
        from (select distinct ip.inspection_item
              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
              where ip.state = 1
                and i.id = #{id}) a
     
    
        select  
        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
        where ip.state = 1
        and isa.id = #{id}
        and ip.raw_material_tag = 1
        order by ip.sort asc
     
    
        select io2.entrust_code text,
               io2.type         type,
               ios.ins_state    insState,
               u.name           name
        from ins_order io2
                 left join ins_order_state ios on ios.ins_order_id = io2.id
                 left join user u on u.id = io2.create_user
        where DATE(io2.create_time) = CURDATE() - INTERVAL #{day} DAY
     
    
        select sto.id,
               object_type
        from product_part pp
                 left join product p on p.id = pp.product_id
                 left join structure_test_object sto on sto.id = p.object_id
        where pp.part_no = #{partNo}
     
    
        select sto.id,
               object_type
        from structure_test_object_part stop
                 left join structure_test_object sto on sto.id = stop.test_object_id
        where stop.part_no = #{partNo}
     
    
    
        select *
        from (select io2.id insOrderId,
                     io2.sample_view,
                     io2.production,
                     io2.send_time,
                     GROUP_CONCAT(DISTINCT isa.model SEPARATOR ' ') AS sample_model,
                     io2.prepare_user,
                     io2.entrust_code,
                     io2.test_quantity,
                     io2.ins_state,
                     JSON_OBJECT(
                             'sample_name', io2.sample_view,
                             'entrust_code', io2.entrust_code
                     )                                                 labelBarCode
              from ins_order io2
                       LEFT JOIN ins_sample isa ON io2.id = isa.ins_order_id
              where type_source = 0
              GROUP BY io2.id) a
        where insOrderId in
        
            #{val}
         
     
    
    
        select *
        from (  
        where (io.ifs_inventory_id IS NULL OR TRIM(io.ifs_inventory_id)  = '')
        
            AND io.state in (1, 4)
         
        
            AND io.laboratory=#{laboratory}
         
        GROUP BY io.id,type
        order by type desc,io.id desc
        ) a
        
            ${ew.customSqlSegment}
         
     
    
    
        select ip.son_laboratory
        from ins_product ip
                 left join ins_sample is2 on is2.id = ip.ins_sample_id
        where is2.ins_order_id = #{insOrderId}
        limit 1
     
    
        select io.id,
               io.is_first_submit
        from ins_order io
                 left join ins_sample is2 on is2.ins_order_id = io.id
        where is2.id = #{insSampleId}
     
    
    
         
        where (io.ifs_inventory_id IS NULL OR TRIM(io.ifs_inventory_id)  = '')
        and io.id in
        
            #{id}
         
        GROUP BY io.id,type
        order by type desc,io.id desc
     
    
    
        select count(*)
        from (select io.id
              from ins_product ip
                       left join ins_sample is2 on is2.id = ip.ins_sample_id
                       left join ins_order io on io.id = is2.ins_order_id
                       left join spot_check_quarter_item scqi on scqi.quarter_item_id = io.quarter_item_id
              where io.quarter_item_id is not null
                and scqi.spot_check_time between #{startTime} and #{endTime}
                and ip.structure_item_parameter_id = #{itmeId}
              group by io.id) a
     
    
        select  io.*,
                iiq.is_split_order,
                iiq.order_type AS ifs_order_type,
                iiq.part_no,
                iiq.update_batch_no AS lot_batch_no,
                ipps.id AS lot_part_id,
                case
                    when ipps.drum_no is not null and ipps.drum_no!='' then ipps.drum_no
                    else isor.drum_no
                    end AS drum_no,
                case
                    when ipps.insulation_color is not null and ipps.insulation_color!='' then ipps.insulation_color
                    else isor.insulation_color
                    end AS insulation_color,
                case
                    when ipps.outer_color is not null and ipps.outer_color!='' then ipps.outer_color
                    else isor.outer_color
                    end AS outer_color,
                case
                    when ipps.lettering_info is not null and ipps.lettering_info!='' then ipps.lettering_info
                    else isor.lettering_info
                    end AS lettering_info,
                ipps.start_meter_mark,
                ipps.end_meter_mark
        from ins_order io left join ifs_inventory_quantity iiq on io.ifs_inventory_id=iiq.id
                          left join ifs_split_order_record isor
                                    on iiq.order_no=isor.order_no
                                        and iiq.line_no=isor.line_no
                                        and iiq.release_no=isor.release_no
                                        and iiq.receipt_no=isor.receipt_no
                                        and iiq.part_no=isor.part_no
                                        AND iiq.update_batch_no = isor.lot_batch_no
            LEFT JOIN ifs_part_props_record ipps ON iiq.id = ipps.ifs_inventory_id
        where io.state !=-1
        AND io.id = #{id}
        LIMIT 1