From 01d8334aaf05ff0ac0e4c0de3e43b4ee6d6fa73b Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期五, 09 八月 2024 10:39:52 +0800
Subject: [PATCH] 修改流程卡打印查询,补片流程卡同步流程卡的修改
---
north-glass-erp/src/main/resources/mapper/pp/Report.xml | 803 +++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 527 insertions(+), 276 deletions(-)
diff --git a/north-glass-erp/src/main/resources/mapper/pp/Report.xml b/north-glass-erp/src/main/resources/mapper/pp/Report.xml
index f4a1ad2..69fc697 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/Report.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/Report.xml
@@ -118,6 +118,7 @@
<result column="completed_quantity" property="completedQuantity"/>
<result column="area" property="area"/>
<result column="product_name" property="productName"/>
+ <result column="code" property="code"/>
</resultMap>
<resultMap id="scheduleProductionScheduleMap" type="com.example.erp.dto.pp.ScheduleProductionScheduleDTO">
@@ -130,6 +131,25 @@
<result column="plan_end_time" property="planEndTime"/>
</resultMap>
+ <resultMap id="workInProgressMap" type="com.example.erp.dto.pp.WorkInProgressDTO">
+ <result column="thisProcess" property="thisProcess"/>
+ <result column="order_id" property="orderId"/>
+ <result column="process_id" property="processId"/>
+ <result column="customer_name" property="customerName"/>
+ <result column="project" property="project"/>
+ <result column="batch" property="batch"/>
+ <result column="order_number" property="orderNumber"/>
+ <result column="technology_number" property="technologyNumber"/>
+ <result column="shape" property="shape"/>
+ <result column="process" property="process"/>
+ <result column="quantity" property="quantity"/>
+ <result column="child_width" property="childWidth"/>
+ <result column="child_height" property="childHeight"/>
+ <result column="stockNum" property="stockNum"/>
+ <result column="stockArea" property="stockArea"/>
+ <result column="product_name" property="productName"/>
+ <result column="bend_radius" property="bendRadius"/>
+ </resultMap>
<!-- 娴佺▼鍗¤繘搴�-->
<select id="processCardProgressMp">
@@ -238,141 +258,161 @@
order by dd.id desc
</select>
- <select id="workInProgressMp">
- select #{selectProcesses} as thisProcess,
- fc.process_id,
- o.customer_name,
- o.project,
- o.order_id,
- o.batch,
- if(od.shape = 1, '鏅舰', if(od.shape = 2, '寮傚舰', '')) as shape,
- ogd.order_number,
- ogd.technology_number,
- ogd.process,
- od.quantity,
- ogd.child_width,
- ogd.child_height,
- odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
- odpd.broken_num as stockNum,
- ROUND(ogd.child_width * ogd.child_height *
- (odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
- odpd.broken_num) / 1000000, 2) as stockArea,
- od.product_name,
- od.bend_radius
+ <select id="workInProgressMp" resultMap="workInProgressMap">
+ select #{selectProcesses} as thisProcess,
+ fc.process_id,
+ o.customer_name,
+ o.project,
+ o.order_id,
+ o.batch,
+ if(od.shape = 1, '鏅舰', if(od.shape = 2, '寮傚舰', '')) as shape,
+ ogd.order_number,
+ ogd.technology_number,
+ ogd.process,
+ od.quantity,
+ ogd.child_width,
+ ogd.child_height,
+ odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
+ odpd.broken_num as stockNum,
+ ROUND(ogd.child_width * ogd.child_height *
+ (odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
+ odpd.broken_num) / 1000000, 2) as stockArea,
+ od.product_name,
+ od.bend_radius
from sd.order_detail AS od
- LEFT JOIN sd.order_glass_detail AS ogd
- ON od.order_id = ogd.order_id
- AND od.order_number = ogd.order_number
- LEFT JOIN flow_card AS fc
- ON fc.order_id = ogd.order_id
- and fc.production_id = ogd.production_id
- AND fc.order_number = ogd.order_number
- AND fc.technology_number = ogd.technology_number
- left join sd.order_process_detail as odpd
- ON odpd.order_id = fc.order_id
- AND odpd.order_number = fc.order_number
- AND odpd.technology_number = fc.technology_number
- and odpd.process_id = fc.process_id
- left join sd.order_process_detail as odpds
- ON odpds.id = odpd.id - 1
- left join
- (SELECT sum(rw.rework_num) as 'patchNumSum',
- rw.process_id,
- rw.order_sort,
- rw.technology_number,
- rwk.this_process
- from rework as rw
- LEFT JOIN
- reporting_work as rwk
- on rw.reporting_work_id = rwk.reporting_work_id
- where rwk.this_process = #{selectProcesses}
- and rw.review_status = 1
- GROUP BY rw.process_id, rw.order_sort, rw.technology_number) as c
- on c.process_id = fc.process_id
- and c.order_sort = fc.order_number
- and c.technology_number = fc.technology_number
- left join sd.`order` as o
- on o.order_id = od.order_id
+ LEFT JOIN sd.order_glass_detail AS ogd
+ ON od.order_id = ogd.order_id
+ AND od.order_number = ogd.order_number
+ LEFT JOIN flow_card AS fc
+ ON fc.order_id = ogd.order_id
+ and fc.production_id = ogd.production_id
+ AND fc.order_number = ogd.order_number
+ AND fc.technology_number = ogd.technology_number
+ left join sd.order_process_detail as odpd
+ ON odpd.order_id = fc.order_id
+ AND odpd.order_number = fc.order_number
+ AND odpd.technology_number = fc.technology_number
+ and odpd.process_id = fc.process_id
+ left join sd.order_process_detail as odpds
+ ON odpds.id = odpd.id - 1
+ left join
+ (SELECT sum(rw.rework_num) as 'patchNumSum',
+ rw.process_id,
+ rw.order_sort,
+ rw.technology_number,
+ rwk.this_process
+ from rework as rw
+ LEFT JOIN
+ reporting_work as rwk
+ on rw.reporting_work_id = rwk.reporting_work_id
+ where rwk.this_process = #{selectProcesses}
+ and rw.review_status >= 0
+ GROUP BY rw.process_id, rw.order_sort, rw.technology_number) as c
+ on c.process_id = fc.process_id
+ and c.order_sort = fc.order_number
+ and c.technology_number = fc.technology_number
+ left join sd.`order` as o
+ on o.order_id = od.order_id
where LENGTH(fc.process_id) = 14
- and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
- odpd.broken_num != 0
- and odpd.process = #{selectProcesses}
- and o.create_time between #{selectTime1} and #{selectTime2}
- and position(#{orderId} in od.order_id)
- and position(#{inputProject} in o.project)
-
+ and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
+ odpd.broken_num != 0
+ and odpd.process = #{selectProcesses}
+ and position(#{orderId} in od.order_id)
+ and position(#{inputProject} in o.project)
+ <if test="workInProgressDTO.customerName != null and workInProgressDTO.customerName != ''">
+ and o.customer_name regexp #{workInProgressDTO.customerName}
+ </if>
+ <if test="workInProgressDTO.project != null and workInProgressDTO.project != ''">
+ and o.project regexp #{workInProgressDTO.project}
+ </if>
+ <if test="workInProgressDTO.orderId != null and workInProgressDTO.orderId != ''">
+ and o.order_id regexp #{workInProgressDTO.orderId}
+ </if>
+ <if test="workInProgressDTO.batch != null and workInProgressDTO.batch != ''">
+ and o.batch regexp #{workInProgressDTO.batch}
+ </if>
+ <if test="workInProgressDTO.processId != null and workInProgressDTO.processId != ''">
+ and fc.process_id regexp #{workInProgressDTO.processId}
+ </if>
+ <if test="workInProgressDTO.orderNumber != null and workInProgressDTO.orderNumber != ''">
+ and ogd.order_number regexp #{workInProgressDTO.orderNumber}
+ </if>
+ <if test="workInProgressDTO.technologyNumber != null and workInProgressDTO.technologyNumber != ''">
+ and ogd.technology_number regexp #{workInProgressDTO.technologyNumber}
+ </if>
group by fc.process_id, fc.order_number, fc.technology_number
order by fc.process_id, fc.order_number, fc.technology_number
+ limit #{offset},#{pageSize};
</select>
- <!--
- <if test="Report.processId != null and Report.processId != ''">
- and fc.process_id regexp #{Report.processId}
- </if>
- <if test="Report.customerName != null and Report.customerName != ''">
- and o.customer_name regexp #{Report.customerName}
- </if>
- <if test="Report.project != null and Report.project != ''">
- and o.project regexp #{Report.project}
- </if>
- <if test="Report.batch != null and Report.batch != ''">
- and o.batch regexp #{Report.batch}
- </if>
- <if test="Report.shape != null and Report.shape != ''">
- and od.shape regexp #{Report.shape}
- </if>
- -->
+ <select id="workInProgressTotal">
+ select CEILING(count(fc.id)/#{pageSize}) as 'pageTotal',
+ count(distinct fc.id) as 'total'
- <!-- <select id="getWorkInProgressTotal">-->
- <!-- select CEILING(count(fc.id) / #{pageSize}) as 'pageTotal',-->
- <!-- count(distinct fc.id) as 'total'-->
-
- <!-- from sd.order_detail AS od-->
- <!-- LEFT JOIN sd.order_glass_detail AS ogd-->
- <!-- ON od.order_id = ogd.order_id-->
- <!-- AND od.order_number = ogd.order_number-->
- <!-- LEFT JOIN flow_card AS fc-->
- <!-- ON fc.order_id = ogd.order_id-->
- <!-- and fc.production_id = ogd.production_id-->
- <!-- AND fc.order_number = ogd.order_number-->
- <!-- AND fc.technology_number = ogd.technology_number-->
- <!-- left join sd.order_process_detail as odpd-->
- <!-- ON odpd.order_id = fc.order_id-->
- <!-- AND odpd.order_number = fc.order_number-->
- <!-- AND odpd.technology_number = fc.technology_number-->
- <!-- and odpd.process_id = fc.process_id-->
- <!-- left join sd.order_process_detail as odpds-->
- <!-- ON odpds.id = odpd.id - 1-->
- <!-- left join-->
- <!-- (SELECT sum(rw.rework_num) as 'patchNumSum',-->
- <!-- rw.process_id,-->
- <!-- rw.order_sort,-->
- <!-- rw.technology_number,-->
- <!-- rwk.this_process-->
- <!-- from rework as rw-->
- <!-- LEFT JOIN-->
- <!-- reporting_work as rwk-->
- <!-- on rw.reporting_work_id = rwk.reporting_work_id-->
- <!-- where rwk.this_process = #{selectProcesses}-->
- <!-- and rw.review_status = 1-->
- <!-- GROUP BY rw.process_id, rw.order_sort, rw.technology_number) as c-->
- <!-- on c.process_id = fc.process_id-->
- <!-- and c.order_sort = fc.order_number-->
- <!-- and c.technology_number = fc.technology_number-->
- <!-- left join sd.`order` as o-->
- <!-- on o.order_id = od.order_id-->
- <!-- where LENGTH(fc.process_id) = 14-->
- <!-- and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - -->
- <!-- odpd.broken_num != 0-->
- <!-- and odpd.process = #{selectProcesses}-->
- <!-- and o.create_time between #{selectTime1} and #{selectTime2}-->
- <!-- and position(#{orderId} in od.order_id)-->
- <!-- and position(#{inputProject} in o.project)-->
- <!-- group by fc.process_id, fc.order_number, fc.technology_number-->
- <!-- order by fc.process_id, fc.order_number, fc.technology_number-->
- <!-- limit #{offset},#{pageSize};-->
- <!-- </select>-->
+ from sd.order_detail AS od
+ LEFT JOIN sd.order_glass_detail AS ogd
+ ON od.order_id = ogd.order_id
+ AND od.order_number = ogd.order_number
+ LEFT JOIN flow_card AS fc
+ ON fc.order_id = ogd.order_id
+ and fc.production_id = ogd.production_id
+ AND fc.order_number = ogd.order_number
+ AND fc.technology_number = ogd.technology_number
+ left join sd.order_process_detail as odpd
+ ON odpd.order_id = fc.order_id
+ AND odpd.order_number = fc.order_number
+ AND odpd.technology_number = fc.technology_number
+ and odpd.process_id = fc.process_id
+ left join sd.order_process_detail as odpds
+ ON odpds.id = odpd.id - 1
+ left join
+ (SELECT sum(rw.rework_num) as 'patchNumSum',
+ rw.process_id,
+ rw.order_sort,
+ rw.technology_number,
+ rwk.this_process
+ from rework as rw
+ LEFT JOIN
+ reporting_work as rwk
+ on rw.reporting_work_id = rwk.reporting_work_id
+ where rwk.this_process = #{selectProcesses}
+ and rw.review_status >= 0
+ GROUP BY rw.process_id, rw.order_sort, rw.technology_number) as c
+ on c.process_id = fc.process_id
+ and c.order_sort = fc.order_number
+ and c.technology_number = fc.technology_number
+ left join sd.`order` as o
+ on o.order_id = od.order_id
+ where LENGTH(fc.process_id) = 14
+ and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
+ odpd.broken_num != 0
+ and odpd.process = #{selectProcesses}
+ and position(#{orderId} in od.order_id)
+ and position(#{inputProject} in o.project)
+ <if test="workInProgressDTO.customerName != null and workInProgressDTO.customerName != ''">
+ and o.customer_name regexp #{workInProgressDTO.customerName}
+ </if>
+ <if test="workInProgressDTO.project != null and workInProgressDTO.project != ''">
+ and o.project regexp #{workInProgressDTO.project}
+ </if>
+ <if test="workInProgressDTO.orderId != null and workInProgressDTO.orderId != ''">
+ and o.order_id regexp #{workInProgressDTO.orderId}
+ </if>
+ <if test="workInProgressDTO.batch != null and workInProgressDTO.batch != ''">
+ and o.batch regexp #{workInProgressDTO.batch}
+ </if>
+ <if test="workInProgressDTO.processId != null and workInProgressDTO.processId != ''">
+ and fc.process_id regexp #{workInProgressDTO.processId}
+ </if>
+ <if test="workInProgressDTO.orderNumber != null and workInProgressDTO.orderNumber != ''">
+ and ogd.order_number regexp #{workInProgressDTO.orderNumber}
+ </if>
+ <if test="workInProgressDTO.technologyNumber != null and workInProgressDTO.technologyNumber != ''">
+ and ogd.technology_number regexp #{workInProgressDTO.technologyNumber}
+ </if>
+ limit #{offset},#{pageSize};
+ </select>
<select id="processToBeCompletedMp">
select DATE(o.create_time) as create_time,
@@ -425,7 +465,7 @@
order by fc.process_id, fc.order_number, fc.technology_number
</select>
- <select id="selectDamageReportMp" resultMap="damageReportMap">
+ <select id="selectDamageReportMp" resultMap="damageReportMap">
SELECT
o.order_id,
o.project,
@@ -989,7 +1029,7 @@
reporting_work as rwk
on rw.reporting_work_id = rwk.reporting_work_id
where rwk.this_process = #{process}
- and rw.review_status = 1
+ and rw.review_status >= 0
GROUP BY rw.process_id, rw.order_sort, rw.technology_number) as c
on c.process_id = fc.process_id
and c.order_sort = fc.order_number
@@ -1163,9 +1203,10 @@
if(od.shape=1,'鏅舰',if(od.shape=2,'寮傚舰','')) as shape,
sum( pd.thickness ) as thickness,
od.edging_type,
- rwd.completed_quantity,
- ROUND(MAX( ogd.child_width )*MAX( ogd.child_height )*rwd.completed_quantity/1000000,2) as area,
- od.product_name
+ opd.reporting_work_num as completed_quantity,
+ ROUND(MAX( ogd.child_width )*MAX( ogd.child_height )*opd.reporting_work_num/1000000,2) as area,
+ od.product_name,
+ JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS code
FROM
reporting_work AS rw
LEFT JOIN reporting_work_detail AS rwd ON rw.reporting_work_id = rwd.reporting_work_id
@@ -1185,10 +1226,13 @@
sd.product_detail
WHERE
detail_type = "glass"
- ) AS pd ON pd.prod_id = od.product_id
- AND pd.glass_sort = rwd.technology_number
- where rw.reviewed_state=1 and rw.reporting_work_time between #{selectTime1} and #{selectTime2}
- and rw.this_process=#{selectProcesses}
+ ) AS pd ON pd.prod_id = od.product_id AND pd.glass_sort = rwd.technology_number
+ LEFT JOIN sd.order_process_detail AS opd ON opd.order_id = o.order_id
+ AND opd.process_id = rw.process_id
+ AND opd.order_number = ogd.order_number
+ AND opd.technology_number = ogd.technology_number
+ where opd.reporting_work_num > 0 and rw.reviewed_state=1 and rw.reporting_work_time between #{selectTime1} and #{selectTime2}
+ and position(#{selectProcesses} in rw.this_process)
<if test="teamOutputDTO.thisProcess != null and teamOutputDTO.thisProcess != ''">
and rw.this_process regexp #{teamOutputDTO.thisProcess}
</if>
@@ -1209,23 +1253,36 @@
</if>
GROUP BY
- rwd.order_number,
rw.this_process,
rw.teams_groups_name,
rw.process_id,
- rw.reporting_work_id
+ rwd.order_number
ORDER BY
rw.this_process,
+ rw.process_id,
+ rwd.order_number,
rw.reporting_work_time,
- rw.teams_groups_name,
- rw.process_id
+ rw.teams_groups_name
limit #{offset},#{pageSize};
</select>
- <select id="teamOutputPageTotal">
+ <select id="exportTeamOutputMp">
SELECT
- CEILING(count(rw.reporting_work_id)/#{pageSize}) as 'pageTotal',
- count(distinct rw.reporting_work_id) as 'total'
+ rw.reporting_work_time,
+ rw.this_process,
+ rw.teams_groups_name,
+ o.project,
+ rw.process_id,
+ rwd.order_number,
+ MAX( ogd.child_width ) as width,
+ MAX( ogd.child_height ) as height,
+ if(od.shape=1,'鏅舰',if(od.shape=2,'寮傚舰','')) as shape,
+ sum( pd.thickness ) as thickness,
+ od.edging_type,
+ opd.reporting_work_num as completed_quantity,
+ ROUND(MAX( ogd.child_width )*MAX( ogd.child_height )*opd.reporting_work_num/1000000,2) as area,
+ od.product_name,
+ JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS code
FROM
reporting_work AS rw
LEFT JOIN reporting_work_detail AS rwd ON rw.reporting_work_id = rwd.reporting_work_id
@@ -1245,10 +1302,58 @@
sd.product_detail
WHERE
detail_type = "glass"
- ) AS pd ON pd.prod_id = od.product_id
- AND pd.glass_sort = rwd.technology_number
- where rw.reviewed_state=1 and rw.reporting_work_time between #{selectTime1} and #{selectTime2}
- and rw.this_process=#{selectProcesses}
+ ) AS pd ON pd.prod_id = od.product_id AND pd.glass_sort = rwd.technology_number
+ LEFT JOIN sd.order_process_detail AS opd ON opd.order_id = o.order_id
+ AND opd.process_id = rw.process_id
+ AND opd.order_number = ogd.order_number
+ AND opd.technology_number = ogd.technology_number
+ where opd.reporting_work_num > 0 and rw.reviewed_state=1
+ and date(rw.reporting_work_time) >= #{date[0]}
+ and date(rw.reporting_work_time) <= #{date[1]}
+ and position(#{process} in rw.this_process)
+ GROUP BY
+ rw.this_process,
+ rw.teams_groups_name,
+ rw.process_id,
+ rwd.order_number
+ ORDER BY
+ rw.this_process,
+ rw.process_id,
+ rwd.order_number,
+ rw.reporting_work_time,
+ rw.teams_groups_name
+ </select>
+
+ <select id="teamOutputPageTotal">
+ SELECT
+ CEILING(count(rwd.id)/#{pageSize}) as 'pageTotal',
+ count(distinct rwd.id) as 'total'
+ FROM
+ reporting_work AS rw
+ LEFT JOIN reporting_work_detail AS rwd ON rw.reporting_work_id = rwd.reporting_work_id
+ LEFT JOIN sd.`order` AS o ON o.order_id = rw.order_id
+ LEFT JOIN sd.order_detail AS od ON od.order_id = o.order_id
+ AND od.order_number = rwd.order_number
+ LEFT JOIN sd.order_glass_detail AS ogd ON ogd.order_id = o.order_id
+ AND ogd.order_number = rwd.order_number
+ AND ogd.technology_number = rwd.technology_number
+ AND ogd.order_number = od.order_number
+ LEFT JOIN (
+ SELECT
+ prod_id,
+ glass_sort,
+ REPLACE ( JSON_UNQUOTE( JSON_EXTRACT( separation, '$.thickness' )), 'mm', '' ) AS thickness
+ FROM
+ sd.product_detail
+ WHERE
+ detail_type = "glass"
+ ) AS pd ON pd.prod_id = od.product_id AND pd.glass_sort = rwd.technology_number
+ LEFT JOIN sd.order_process_detail AS opd ON opd.order_id = o.order_id
+ AND opd.process_id = rw.process_id
+ AND opd.order_number = ogd.order_number
+ AND opd.technology_number = ogd.technology_number
+ where opd.reporting_work_num > 0 and rw.reviewed_state=1 and rw.reporting_work_time between #{selectTime1} and #{selectTime2}
+ and position(#{selectProcesses} in rw.this_process)
<if test="teamOutputDTO.thisProcess != null and teamOutputDTO.thisProcess != ''">
and rw.this_process regexp #{teamOutputDTO.thisProcess}
</if>
@@ -1271,144 +1376,290 @@
limit #{offset},#{pageSize};
</select>
- <select id="workInProgressOrderMp">
- select #{selectProcesses} as thisProcess,
- o.customer_name,
- o.project,
- o.order_id,
- o.batch,
- if(od.shape = 1, '鏅舰', if(od.shape = 2, '寮傚舰', '')) as shape,
- sum(od.quantity) as quantity,
- sum(odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
- odpd.broken_num) as stockNum,
- sum(ROUND(ogd.child_width * ogd.child_height *
- (odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
- odpd.broken_num) / 1000000, 2)) as stockArea,
- od.product_name
+ <select id="workInProgressOrderMp" resultMap="workInProgressMap">
+ select #{selectProcesses} as thisProcess,
+ o.customer_name,
+ o.project,
+ o.order_id,
+ o.batch,
+ if(od.shape = 1, '鏅舰', if(od.shape = 2, '寮傚舰', '')) as shape,
+ sum(od.quantity) as quantity,
+ sum(odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
+ odpd.broken_num) as stockNum,
+ sum(ROUND(ogd.child_width * ogd.child_height *
+ (odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
+ odpd.broken_num) / 1000000, 2)) as stockArea,
+ od.product_name
from sd.order_detail AS od
- LEFT JOIN sd.order_glass_detail AS ogd
- ON od.order_id = ogd.order_id
- AND od.order_number = ogd.order_number
- LEFT JOIN flow_card AS fc
- ON fc.order_id = ogd.order_id
- and fc.production_id = ogd.production_id
- AND fc.order_number = ogd.order_number
- AND fc.technology_number = ogd.technology_number
- left join sd.order_process_detail as odpd
- ON odpd.order_id = fc.order_id
- AND odpd.order_number = fc.order_number
- AND odpd.technology_number = fc.technology_number
- and odpd.process_id = fc.process_id
- left join sd.order_process_detail as odpds
- ON odpds.id = odpd.id - 1
- left join
- (SELECT sum(rw.rework_num) as 'patchNumSum',
- rw.process_id,
- rw.order_sort,
- rw.technology_number,
- rwk.this_process
- from rework as rw
- LEFT JOIN
- reporting_work as rwk
- on rw.reporting_work_id = rwk.reporting_work_id
- where rwk.this_process = #{selectProcesses}
- and rw.review_status = 1
- GROUP BY rw.process_id, rw.order_sort, rw.technology_number) as c
- on c.process_id = fc.process_id
- and c.order_sort = fc.order_number
- and c.technology_number = fc.technology_number
- left join sd.`order` as o
- on o.order_id = od.order_id
+ LEFT JOIN sd.order_glass_detail AS ogd
+ ON od.order_id = ogd.order_id
+ AND od.order_number = ogd.order_number
+ LEFT JOIN flow_card AS fc
+ ON fc.order_id = ogd.order_id
+ and fc.production_id = ogd.production_id
+ AND fc.order_number = ogd.order_number
+ AND fc.technology_number = ogd.technology_number
+ left join sd.order_process_detail as odpd
+ ON odpd.order_id = fc.order_id
+ AND odpd.order_number = fc.order_number
+ AND odpd.technology_number = fc.technology_number
+ and odpd.process_id = fc.process_id
+ left join sd.order_process_detail as odpds
+ ON odpds.id = odpd.id - 1
+ left join
+ (SELECT sum(rw.rework_num) as 'patchNumSum',
+ rw.process_id,
+ rw.order_sort,
+ rw.technology_number,
+ rwk.this_process
+ from rework as rw
+ LEFT JOIN
+ reporting_work as rwk
+ on rw.reporting_work_id = rwk.reporting_work_id
+ where rwk.this_process = #{selectProcesses}
+ and rw.review_status >= 0
+ GROUP BY rw.process_id, rw.order_sort, rw.technology_number) as c
+ on c.process_id = fc.process_id
+ and c.order_sort = fc.order_number
+ and c.technology_number = fc.technology_number
+ left join sd.`order` as o
+ on o.order_id = od.order_id
where LENGTH(fc.process_id) = 14
- and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
- odpd.broken_num != 0
- and odpd.process = #{selectProcesses}
- and o.create_time between #{selectTime1} and #{selectTime2}
- and position(#{orderId} in od.order_id)
- and position(#{inputProject} in o.project)
-
+ and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
+ odpd.broken_num != 0
+ and odpd.process = #{selectProcesses}
+ and position(#{orderId} in od.order_id)
+ and position(#{inputProject} in o.project)
+ <if test="workInProgressDTO.customerName != null and workInProgressDTO.customerName != ''">
+ and o.customer_name regexp #{workInProgressDTO.customerName}
+ </if>
+ <if test="workInProgressDTO.project != null and workInProgressDTO.project != ''">
+ and o.project regexp #{workInProgressDTO.project}
+ </if>
+ <if test="workInProgressDTO.orderId != null and workInProgressDTO.orderId != ''">
+ and o.order_id regexp #{workInProgressDTO.orderId}
+ </if>
+ <if test="workInProgressDTO.batch != null and workInProgressDTO.batch != ''">
+ and o.batch regexp #{workInProgressDTO.batch}
+ </if>
group by o.order_id
order by o.order_id
+ limit #{offset},#{pageSize};
</select>
- <select id="workInProgressProcessMp">
- select #{selectProcesses} as thisProcess,
- o.customer_name,
- o.project,
- o.order_id,
- fc.process_id,
- o.batch,
- if(od.shape = 1, '鏅舰', if(od.shape = 2, '寮傚舰', '')) as shape,
- sum(od.quantity) as quantity,
- sum(odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
- odpd.broken_num) as stockNum,
- sum(ROUND(ogd.child_width * ogd.child_height *
- (odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
- odpd.broken_num) / 1000000, 2)) as stockArea,
- od.product_name
+ <select id="workInProgressOrderTotal">
+ select CEILING(count(o.order_id)/#{pageSize}) as 'pageTotal',
+ count(distinct o.order_id) as 'total'
from sd.order_detail AS od
- LEFT JOIN sd.order_glass_detail AS ogd
- ON od.order_id = ogd.order_id
- AND od.order_number = ogd.order_number
- LEFT JOIN flow_card AS fc
- ON fc.order_id = ogd.order_id
- and fc.production_id = ogd.production_id
- AND fc.order_number = ogd.order_number
- AND fc.technology_number = ogd.technology_number
- left join sd.order_process_detail as odpd
- ON odpd.order_id = fc.order_id
- AND odpd.order_number = fc.order_number
- AND odpd.technology_number = fc.technology_number
- and odpd.process_id = fc.process_id
- left join sd.order_process_detail as odpds
- ON odpds.id = odpd.id - 1
- left join
- (SELECT sum(rw.rework_num) as 'patchNumSum',
- rw.process_id,
- rw.order_sort,
- rw.technology_number,
- rwk.this_process
- from rework as rw
- LEFT JOIN
- reporting_work as rwk
- on rw.reporting_work_id = rwk.reporting_work_id
- where rwk.this_process = #{selectProcesses}
- and rw.review_status = 1
- GROUP BY rw.process_id, rw.order_sort, rw.technology_number) as c
- on c.process_id = fc.process_id
- and c.order_sort = fc.order_number
- and c.technology_number = fc.technology_number
- left join sd.`order` as o
- on o.order_id = od.order_id
+ LEFT JOIN sd.order_glass_detail AS ogd
+ ON od.order_id = ogd.order_id
+ AND od.order_number = ogd.order_number
+ LEFT JOIN flow_card AS fc
+ ON fc.order_id = ogd.order_id
+ and fc.production_id = ogd.production_id
+ AND fc.order_number = ogd.order_number
+ AND fc.technology_number = ogd.technology_number
+ left join sd.order_process_detail as odpd
+ ON odpd.order_id = fc.order_id
+ AND odpd.order_number = fc.order_number
+ AND odpd.technology_number = fc.technology_number
+ and odpd.process_id = fc.process_id
+ left join sd.order_process_detail as odpds
+ ON odpds.id = odpd.id - 1
+ left join
+ (SELECT sum(rw.rework_num) as 'patchNumSum',
+ rw.process_id,
+ rw.order_sort,
+ rw.technology_number,
+ rwk.this_process
+ from rework as rw
+ LEFT JOIN
+ reporting_work as rwk
+ on rw.reporting_work_id = rwk.reporting_work_id
+ where rwk.this_process = #{selectProcesses}
+ and rw.review_status >= 0
+ GROUP BY rw.process_id, rw.order_sort, rw.technology_number) as c
+ on c.process_id = fc.process_id
+ and c.order_sort = fc.order_number
+ and c.technology_number = fc.technology_number
+ left join sd.`order` as o
+ on o.order_id = od.order_id
where LENGTH(fc.process_id) = 14
- and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
- odpd.broken_num != 0
- and odpd.process = #{selectProcesses}
- and o.create_time between #{selectTime1} and #{selectTime2}
- and position(#{orderId} in od.order_id)
- and position(#{inputProject} in o.project)
+ and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
+ odpd.broken_num != 0
+ and odpd.process = #{selectProcesses}
+ and position(#{orderId} in od.order_id)
+ and position(#{inputProject} in o.project)
+ <if test="workInProgressDTO.customerName != null and workInProgressDTO.customerName != ''">
+ and o.customer_name regexp #{workInProgressDTO.customerName}
+ </if>
+ <if test="workInProgressDTO.project != null and workInProgressDTO.project != ''">
+ and o.project regexp #{workInProgressDTO.project}
+ </if>
+ <if test="workInProgressDTO.orderId != null and workInProgressDTO.orderId != ''">
+ and o.order_id regexp #{workInProgressDTO.orderId}
+ </if>
+ <if test="workInProgressDTO.batch != null and workInProgressDTO.batch != ''">
+ and o.batch regexp #{workInProgressDTO.batch}
+ </if>
+ limit #{offset},#{pageSize};
+ </select>
+ <select id="workInProgressProcessMp" resultMap="workInProgressMap">
+ select #{selectProcesses} as thisProcess,
+ o.customer_name,
+ o.project,
+ o.order_id,
+ fc.process_id,
+ o.batch,
+ if(od.shape = 1, '鏅舰', if(od.shape = 2, '寮傚舰', '')) as shape,
+ sum(od.quantity) as quantity,
+ sum(odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
+ odpd.broken_num) as stockNum,
+ sum(ROUND(ogd.child_width * ogd.child_height *
+ (odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
+ odpd.broken_num) / 1000000, 2)) as stockArea,
+ od.product_name
+
+ from sd.order_detail AS od
+ LEFT JOIN sd.order_glass_detail AS ogd
+ ON od.order_id = ogd.order_id
+ AND od.order_number = ogd.order_number
+ LEFT JOIN flow_card AS fc
+ ON fc.order_id = ogd.order_id
+ and fc.production_id = ogd.production_id
+ AND fc.order_number = ogd.order_number
+ AND fc.technology_number = ogd.technology_number
+ left join sd.order_process_detail as odpd
+ ON odpd.order_id = fc.order_id
+ AND odpd.order_number = fc.order_number
+ AND odpd.technology_number = fc.technology_number
+ and odpd.process_id = fc.process_id
+ left join sd.order_process_detail as odpds
+ ON odpds.id = odpd.id - 1
+ left join
+ (SELECT sum(rw.rework_num) as 'patchNumSum',
+ rw.process_id,
+ rw.order_sort,
+ rw.technology_number,
+ rwk.this_process
+ from rework as rw
+ LEFT JOIN
+ reporting_work as rwk
+ on rw.reporting_work_id = rwk.reporting_work_id
+ where rwk.this_process = #{selectProcesses}
+ and rw.review_status >= 0
+ GROUP BY rw.process_id, rw.order_sort, rw.technology_number) as c
+ on c.process_id = fc.process_id
+ and c.order_sort = fc.order_number
+ and c.technology_number = fc.technology_number
+ left join sd.`order` as o
+ on o.order_id = od.order_id
+ where LENGTH(fc.process_id) = 14
+ and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
+ odpd.broken_num != 0
+ and odpd.process = #{selectProcesses}
+ and position(#{orderId} in od.order_id)
+ and position(#{inputProject} in o.project)
+ <if test="workInProgressDTO.customerName != null and workInProgressDTO.customerName != ''">
+ and o.customer_name regexp #{workInProgressDTO.customerName}
+ </if>
+ <if test="workInProgressDTO.project != null and workInProgressDTO.project != ''">
+ and o.project regexp #{workInProgressDTO.project}
+ </if>
+ <if test="workInProgressDTO.orderId != null and workInProgressDTO.orderId != ''">
+ and o.order_id regexp #{workInProgressDTO.orderId}
+ </if>
+ <if test="workInProgressDTO.batch != null and workInProgressDTO.batch != ''">
+ and o.batch regexp #{workInProgressDTO.batch}
+ </if>
+ <if test="workInProgressDTO.processId != null and workInProgressDTO.processId != ''">
+ and fc.process_id regexp #{workInProgressDTO.processId}
+ </if>
group by o.order_id, fc.process_id
order by o.order_id, fc.process_id
+ limit #{offset},#{pageSize};
+ </select>
+
+ <select id="workInProgressProcessTotal">
+ select CEILING(count(fc.process_id)/#{pageSize}) as 'pageTotal',
+ count(distinct fc.process_id) as 'total'
+
+ from sd.order_detail AS od
+ LEFT JOIN sd.order_glass_detail AS ogd
+ ON od.order_id = ogd.order_id
+ AND od.order_number = ogd.order_number
+ LEFT JOIN flow_card AS fc
+ ON fc.order_id = ogd.order_id
+ and fc.production_id = ogd.production_id
+ AND fc.order_number = ogd.order_number
+ AND fc.technology_number = ogd.technology_number
+ left join sd.order_process_detail as odpd
+ ON odpd.order_id = fc.order_id
+ AND odpd.order_number = fc.order_number
+ AND odpd.technology_number = fc.technology_number
+ and odpd.process_id = fc.process_id
+ left join sd.order_process_detail as odpds
+ ON odpds.id = odpd.id - 1
+ left join
+ (SELECT sum(rw.rework_num) as 'patchNumSum',
+ rw.process_id,
+ rw.order_sort,
+ rw.technology_number,
+ rwk.this_process
+ from rework as rw
+ LEFT JOIN
+ reporting_work as rwk
+ on rw.reporting_work_id = rwk.reporting_work_id
+ where rwk.this_process = #{selectProcesses}
+ and rw.review_status >= 0
+ GROUP BY rw.process_id, rw.order_sort, rw.technology_number) as c
+ on c.process_id = fc.process_id
+ and c.order_sort = fc.order_number
+ and c.technology_number = fc.technology_number
+ left join sd.`order` as o
+ on o.order_id = od.order_id
+ where LENGTH(fc.process_id) = 14
+ and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
+ odpd.broken_num != 0
+ and odpd.process = #{selectProcesses}
+ and position(#{orderId} in od.order_id)
+ and position(#{inputProject} in o.project)
+ <if test="workInProgressDTO.customerName != null and workInProgressDTO.customerName != ''">
+ and o.customer_name regexp #{workInProgressDTO.customerName}
+ </if>
+ <if test="workInProgressDTO.project != null and workInProgressDTO.project != ''">
+ and o.project regexp #{workInProgressDTO.project}
+ </if>
+ <if test="workInProgressDTO.orderId != null and workInProgressDTO.orderId != ''">
+ and o.order_id regexp #{workInProgressDTO.orderId}
+ </if>
+ <if test="workInProgressDTO.batch != null and workInProgressDTO.batch != ''">
+ and o.batch regexp #{workInProgressDTO.batch}
+ </if>
+ <if test="workInProgressDTO.processId != null and workInProgressDTO.processId != ''">
+ and fc.process_id regexp #{workInProgressDTO.processId}
+ </if>
+ limit #{offset},#{pageSize};
</select>
<select id="scheduleProductionScheduleMp" resultMap="scheduleProductionScheduleMap">
select ps.order_id,
- o.project,
- ps.processes,
- sum(ps.scheduling_quantity) as scheduling_quantity,
- notes,
- date(ps.scheduled_start_time) as scheduled_start_time,
- date(ps.plan_end_time) as plan_end_time
+ o.project,
+ ps.processes,
+ sum(ps.scheduling_quantity) as scheduling_quantity,
+ notes,
+ date(ps.scheduled_start_time) as scheduled_start_time,
+ date(ps.plan_end_time) as plan_end_time
from (select order_id, order_number, processes, scheduling_quantity, scheduled_start_time, plan_end_time, notes
- from production_scheduling
- where processes = #{processes}
- GROUP BY order_id, order_number) as ps
- left join sd.`order` as o on o.order_id = ps.order_id
+ from production_scheduling
+ where processes = #{processes}
+ GROUP BY order_id, order_number) as ps
+ left join sd.`order` as o on o.order_id = ps.order_id
where ps.processes = #{processes}
- and ps.scheduled_start_time between #{selectTime1} and #{selectTime2}
+ and ps.scheduled_start_time between #{selectTime1} and #{selectTime2}
<if test="scheduleProductionScheduleDTO.orderId != null and scheduleProductionScheduleDTO.orderId != ''">
and ps.order_id regexp #{scheduleProductionScheduleDTO.orderId}
</if>
@@ -1452,17 +1703,17 @@
<select id="exportScheduleReportMp">
select ps.order_id,
- o.project,
- ps.processes,
- sum(ps.scheduling_quantity) as scheduling_quantity,
- notes,
- date(ps.scheduled_start_time) as scheduled_start_time,
- date(ps.plan_end_time) as plan_end_time
+ o.project,
+ ps.processes,
+ sum(ps.scheduling_quantity) as scheduling_quantity,
+ notes,
+ date(ps.scheduled_start_time) as scheduled_start_time,
+ date(ps.plan_end_time) as plan_end_time
from (select order_id, order_number, processes, scheduling_quantity, scheduled_start_time, plan_end_time, notes
- from production_scheduling
- where processes = #{process}
- GROUP BY order_id, order_number) as ps
- left join sd.`order` as o on o.order_id = ps.order_id
+ from production_scheduling
+ where processes = #{process}
+ GROUP BY order_id, order_number) as ps
+ left join sd.`order` as o on o.order_id = ps.order_id
where ps.processes = #{process}
and date(scheduled_start_time) >= #{date[0]}
and date(scheduled_start_time) <= #{date[1]}
--
Gitblit v1.8.0