From d1022dab44c4916c2935d10f5b04c7e7bbaa5dad Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期四, 21 十一月 2024 16:26:34 +0800 Subject: [PATCH] 调整 --- inspect-server/src/main/resources/mapper/InsOrderMapper.xml | 175 +++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 106 insertions(+), 69 deletions(-) diff --git a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml index 006d20c..34a07c7 100644 --- a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml +++ b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml @@ -60,7 +60,42 @@ <association property="children" resultMap="SampleDefectsChildrenMap" javaType="java.util.List"/> </resultMap> - <select id="selectInsOrderPage" resultType="com.yuanchu.mom.dto.SampleOrderDto"> + <resultMap id="SampleOrderDto" type="com.yuanchu.mom.dto.SampleOrderDto"> + <id property="id" column="id" jdbcType="INTEGER"/> + <result property="entrustCode" column="entrust_code" jdbcType="VARCHAR"/> + <result property="outEntrustCode" column="out_entrust_code" jdbcType="VARCHAR"/> + <result property="custom" column="custom" jdbcType="VARCHAR"/> + <result property="company" column="company" jdbcType="VARCHAR"/> + <result property="code" column="code" jdbcType="VARCHAR"/> + <result property="type" column="type" jdbcType="INTEGER"/> + <result property="appointed" column="appointed" jdbcType="TIMESTAMP"/> + <result property="state" column="state" jdbcType="INTEGER"/> + <result property="remark" column="remark" jdbcType="VARCHAR"/> + <result property="rule" column="rule" jdbcType="VARCHAR"/> + <result property="otcCode" column="otc_code" 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"/> + <result property="revocationInsProductIds" column="revocation_ins_product_ids"/> + <result property="assign" column="assign"/> + <result property="sampleNum" column="sample_num"/> + <result property="insProgress" column="insProgress"/> + <result property="sampleCode" column="sample_code"/> + <result property="motorNumber" column="motor_number"/> + <result property="sampleName" column="sample_name"/> + <result property="sampleModel" column="sample_model"/> + <result property="name" column="name"/> + <collection property="reportDtos" ofType="com.yuanchu.mom.dto.ReportDto" resultMap="reportDto"/> + </resultMap> + <resultMap id="reportDto" type="com.yuanchu.mom.dto.ReportDto"> + <result property="reportId" column="reportId"/> + <result property="url" column="url"/> + <result property="urlS" column="urlS"/> + <result property="name" column="name"/> + </resultMap> + + <select id="selectInsOrderPage" resultMap="SampleOrderDto"> select * from ( SELECT @@ -157,39 +192,48 @@ A.inspection_item, A.company, A.`name`, - COUNT(1) num, - SUM(A.price) price, - SUM(A.cost) cost - FROM - (SELECT - i.id, + COUNT(1) num, + ROUND(SUM(A.price),2) price + FROM (SELECT i.id, i.entrust_code, i.create_time, isa.sample, - isa.sample_code, isa.model, - c.price, - c.cost, - c.inspection_item, + ins_sample_id, + sum(c.price * times) price, + GROUP_CONCAT(distinct c.inspection_item SEPARATOR ',') inspection_item, i.company, - u.`name`, - i.create_user, - c.ins_sample_id - FROM - ins_order i + u.`name` + 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 custom cus on cus.id = u.company - LEFT JOIN (select SUM(b.price) price, sum(b.man_hour) cost,b.ins_sample_id, - GROUP_CONCAT(b.inspection_item2 - SEPARATOR ',') - inspection_item from (select * , - GROUP_CONCAT(CONCAT(inspection_item,'@',inspection_item_subclass) SEPARATOR ',')inspection_item2 from - ins_product where state = 1 and ins_result is not null and ins_result!=2 and template_id IS NOT NULL GROUP BY ins_sample_id,man_hour_group) b GROUP - BY b.ins_sample_id) c ON c.ins_sample_id = isa.id - where (<!--i.state = 1 or i.state = 3 or -->i.state = 4) and c.ins_sample_id IS not NULL)A - GROUP BY - A.id, + LEFT JOIN (select ip.ins_sample_id, + ip.inspection_item, + ip.inspection_item_subclass, + ip.price, + sum(aowh.output_work_time) times + from ins_product ip + left join auxiliary_output_working_hours aowh on ip.id = aowh.ins_product_id + where state = 1 + and ins_result is not null + and ins_result != 2 + and template_id IS NOT NULL + group by ip.ins_sample_id, + ip.inspection_item, + ip.inspection_item_subclass, + ip.price) c ON c.ins_sample_id = isa.id + where (i.state = 4) + and c.ins_sample_id IS not NULL + group by i.id, + i.entrust_code, + i.create_time, + isa.sample, + isa.model, + i.company, + ins_sample_id, + u.`name`) A + GROUP BY A.id, A.entrust_code, A.create_time, A.sample, @@ -340,63 +384,56 @@ A.inspection_item, A.company, A.`name`, - production, - engineering, - COUNT(1) num, - SUM(A.price) price, - SUM(A.cost) cost - FROM - (SELECT - i.id, + COUNT(1) num, + ROUND(SUM(A.price),2) price + FROM (SELECT i.id, i.entrust_code, i.create_time, isa.sample, - isa.sample_code, isa.model, - c.price, - c.cost, - c.inspection_item, + ins_sample_id, + sum(c.price * times) price, + GROUP_CONCAT(distinct c.inspection_item SEPARATOR ',') inspection_item, i.company, - u.`name`, - i.create_user, - c.ins_sample_id, - production, - engineering - FROM - ins_order i + u.`name` + 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 custom cus on cus.id = u.company - LEFT JOIN (select SUM(b.price) price, sum(b.man_hour) cost,b.ins_sample_id, - GROUP_CONCAT(b.inspection_item2 - SEPARATOR ',') - inspection_item from (select * , - GROUP_CONCAT(CONCAT(inspection_item,'@',inspection_item_subclass) SEPARATOR ',')inspection_item2 from - ins_product where state = 1 and ins_result is not null and ins_result!=2 and template_id IS NOT NULL GROUP BY ins_sample_id,man_hour_group) b GROUP - BY b.ins_sample_id) c ON c.ins_sample_id = isa.id - where (<!--i.state = 1 or i.state = 3 or -->i.state = 4) and c.ins_sample_id IS not NULL)A - GROUP BY - A.id, + LEFT JOIN (select ip.ins_sample_id, + ip.inspection_item, + ip.inspection_item_subclass, + ip.price, + sum(aowh.output_work_time) times + from ins_product ip + left join auxiliary_output_working_hours aowh on ip.id = aowh.ins_product_id + where state = 1 + and ins_result is not null + and ins_result != 2 + and template_id IS NOT NULL + group by ip.ins_sample_id, + ip.inspection_item, + ip.inspection_item_subclass, + ip.price) c ON c.ins_sample_id = isa.id + where (i.state = 4) + and c.ins_sample_id IS not NULL + group by i.id, + i.entrust_code, + i.create_time, + isa.sample, + isa.model, + i.company, + ins_sample_id, + u.`name`) A + GROUP BY A.id, A.entrust_code, A.create_time, A.sample, A.model, A.inspection_item, A.company, - A.`name`, - production, - engineering - ORDER BY - A.id, - A.entrust_code, - A.create_time, - A.sample, - A.model, - A.inspection_item, - A.company, - A.`name`, - production, - engineering) B + A.`name` + ) B <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> ${ew.customSqlSegment} </if> -- Gitblit v1.9.3