|
@@ -1245,55 +1245,68 @@
|
|
|
yearmonth
|
|
|
</select>
|
|
|
<select id="selectThProcessTable" resultType="com.rongwei.bsentity.domain.ApsReportThProcessTable">
|
|
|
+ -- 退火生产情况:
|
|
|
with plan as (
|
|
|
- -- 按照车间分组统计本月退火工序类别计划加工量
|
|
|
select
|
|
|
- apo.TENANTID,
|
|
|
- apope.PROCESSWORKSHOPID,
|
|
|
- max(apope.PROCESSWORKSHOP) PROCESSWORKSHOP,
|
|
|
- count(DISTINCT if(YEAR(apope.PLANENDDATE) = YEAR(CURRENT_DATE) and MONTH(apope.PLANENDDATE) = MONTH(CURRENT_DATE), -- 本月
|
|
|
- apope.PROCESSDEVICEID+apope.PLANENDDATE,0)) PLANPRODUCEVOLUME, -- 本月计划加工量=炉次(设备ID+计划开工时间)的数量
|
|
|
- count(DISTINCT if(DATE(apope.PLANENDDATE) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY), -- 昨日
|
|
|
- apope.PROCESSDEVICEID+apope.PLANENDDATE,0)) YPLANPRODUCEVOLUME -- 昨日计划加工量=炉次(设备ID+计划开工时间)的数量
|
|
|
- from
|
|
|
- aps_process_operation_process_equ apope
|
|
|
- join aps_process_operation apo on apo.ID = apope.PROCESSID
|
|
|
- join aps_production_processes app on app.PRODUCTPROCESSNAME=apo.PROCESS
|
|
|
- where
|
|
|
- apope.deleted='0' and apo.DELETED='0'
|
|
|
- and app.PROCESSCATEGORY='30' -- 退火
|
|
|
- and apo.PROCESSSTATUS in ('30','40','50') -- 已发布
|
|
|
- and (apope.PLANPROCESSRALL-apope.CANCELROLL)>0 -- 计划加工卷数- 已取消卷数合计
|
|
|
- and (YEAR(apope.PLANENDDATE) = YEAR(CURRENT_DATE) and MONTH(apope.PLANENDDATE) = MONTH(CURRENT_DATE) -- 本月
|
|
|
- or DATE(apope.PLANENDDATE) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY)) -- 昨日
|
|
|
- and apo.TENANTID=#{tenantId}
|
|
|
- group by
|
|
|
- apope.PROCESSWORKSHOPID
|
|
|
+ PROCESSWORKSHOPID,
|
|
|
+ max(PROCESSWORKSHOP) PROCESSWORKSHOP,
|
|
|
+ count(if(YEAR(heat.PROCESSDAY) = YEAR(CURRENT_DATE) and MONTH(heat.PROCESSDAY) = MONTH(CURRENT_DATE), -- 本月
|
|
|
+ HEATNUMBER,null)) PLANPRODUCEVOLUME, -- 本月计划加工量=炉次的数量
|
|
|
+ count(if(DATE(heat.PROCESSDAY) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY), -- 昨日
|
|
|
+ HEATNUMBER,null)) YPLANPRODUCEVOLUME -- 昨日计划加工量=炉次的数量
|
|
|
+ from (
|
|
|
+ -- 按照车间分组统计本月退火工序类别计划加工量
|
|
|
+ select
|
|
|
+ max(apope.PROCESSWORKSHOPID) PROCESSWORKSHOPID,
|
|
|
+ max(apope.PROCESSWORKSHOP) PROCESSWORKSHOP,
|
|
|
+ apope.PROCESSDEVICEID+apope.PLANSTARTDATE HEATNUMBER, -- 炉次(设备ID+计划开工时间)
|
|
|
+ max(apope.PLANENDDATE) PROCESSDAY
|
|
|
+ from
|
|
|
+ aps_process_operation_process_equ apope
|
|
|
+ join aps_process_operation apo on apo.ID = apope.PROCESSID
|
|
|
+ join aps_production_processes app on app.PRODUCTPROCESSNAME=apo.PROCESS
|
|
|
+ where
|
|
|
+ apope.deleted='0' and apo.DELETED='0'
|
|
|
+ and app.PROCESSCATEGORY='30' -- 退火
|
|
|
+ and apo.PROCESSSTATUS in ('30','40','50') -- 已发布
|
|
|
+ and (apope.PLANPROCESSRALL-apope.CANCELROLL)>0 -- 计划加工卷数- 已取消卷数合计
|
|
|
+ and (YEAR(apope.PLANENDDATE) = YEAR(CURRENT_DATE) and MONTH(apope.PLANENDDATE) = MONTH(CURRENT_DATE) -- 本月
|
|
|
+ or DATE(apope.PLANENDDATE) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY)) -- 昨日
|
|
|
+ and apo.TENANTID=#{tenantId}
|
|
|
+ group by
|
|
|
+ HEATNUMBER -- 计划炉次
|
|
|
+ ) heat
|
|
|
+ group by PROCESSWORKSHOPID
|
|
|
),
|
|
|
actual as (
|
|
|
-- 按照车间分组统计本月退火工序类别实际加工量
|
|
|
select
|
|
|
- apo.TENANTID,
|
|
|
- apope.PROCESSWORKSHOPID,
|
|
|
- max(apope.PROCESSWORKSHOP) PROCESSWORKSHOP,
|
|
|
- count(DISTINCT if(YEAR(arr.REPORTWORKTIME) = YEAR(CURRENT_DATE) and MONTH(arr.REPORTWORKTIME) = MONTH(CURRENT_DATE),
|
|
|
- arr.HEATNUMBER, null)) ACTUALPRODUCEVOLUME, -- 本月实际已加工量
|
|
|
- count(DISTINCT if(DATE(arr.REPORTWORKTIME) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY),
|
|
|
- arr.HEATNUMBER, null)) YACTUALPRODUCEVOLUME -- 昨日实际已加工量
|
|
|
- from
|
|
|
- aps_report_records arr
|
|
|
- join aps_process_operation_process_equ apope on apope.id=arr.PROCESSEQUID
|
|
|
- join aps_process_operation apo on apo.ID = apope.PROCESSID
|
|
|
- join aps_production_processes app on app.PRODUCTPROCESSNAME=apo.PROCESS
|
|
|
- where
|
|
|
- apope.deleted='0' and apo.DELETED='0' and arr.deleted='0'
|
|
|
- and app.PROCESSCATEGORY='30' -- 退火
|
|
|
- and arr.REPORTWORKSTATUS='已报工'
|
|
|
- and (YEAR(arr.REPORTWORKTIME) = YEAR(CURRENT_DATE) and MONTH(arr.REPORTWORKTIME) = MONTH(CURRENT_DATE) -- 本月
|
|
|
- or DATE(arr.REPORTWORKTIME) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY)) -- 昨日
|
|
|
- and apo.TENANTID=#{tenantId}
|
|
|
- group by
|
|
|
- apope.PROCESSWORKSHOPID
|
|
|
+ PROCESSWORKSHOPID,
|
|
|
+ max(PROCESSWORKSHOP) PROCESSWORKSHOP,
|
|
|
+ count(if(YEAR(heat.PROCESSDAY) = YEAR(CURRENT_DATE) and MONTH(heat.PROCESSDAY) = MONTH(CURRENT_DATE), -- 本月
|
|
|
+ HEATNUMBER,null)) ACTUALPRODUCEVOLUME, -- 本月实际已加工(炉次)
|
|
|
+ count(if(DATE(heat.PROCESSDAY) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY), -- 昨日
|
|
|
+ HEATNUMBER,null)) YACTUALPRODUCEVOLUME -- 昨日实际已加工(炉次)
|
|
|
+ from(
|
|
|
+ select
|
|
|
+ arr.HEATNUMBER, -- 炉次
|
|
|
+ max(DATE(arr.REPORTWORKTIME)) PROCESSDAY,
|
|
|
+ max(apope.PROCESSWORKSHOPID) PROCESSWORKSHOPID,
|
|
|
+ max(apope.PROCESSWORKSHOP) PROCESSWORKSHOP
|
|
|
+ from
|
|
|
+ aps_report_records arr
|
|
|
+ join aps_process_operation_process_equ apope on apope.id=arr.PROCESSEQUID
|
|
|
+ join aps_process_operation apo on apo.ID = apope.PROCESSID
|
|
|
+ join aps_production_processes app on app.PRODUCTPROCESSNAME=apo.PROCESS
|
|
|
+ where
|
|
|
+ apope.deleted='0' and apo.DELETED='0' and arr.deleted='0'
|
|
|
+ and app.PROCESSCATEGORY='30' -- 退火
|
|
|
+ and arr.REPORTWORKSTATUS='已报工'
|
|
|
+ and apo.TENANTID=#{tenantId}
|
|
|
+ group by
|
|
|
+ arr.HEATNUMBER
|
|
|
+ ) heat
|
|
|
+ group by PROCESSWORKSHOPID
|
|
|
)
|
|
|
select
|
|
|
plan.PROCESSWORKSHOPID
|
|
@@ -1326,41 +1339,57 @@
|
|
|
),
|
|
|
plan as (
|
|
|
-- 近12个月退火计划加工量
|
|
|
+
|
|
|
+ -- 按照车间分组统计本月退火工序类别计划加工量
|
|
|
select
|
|
|
- DATE_FORMAT(apope.PLANENDDATE, '%Y-%m') month_year,
|
|
|
- count(DISTINCT apope.PROCESSDEVICEID+apope.PLANENDDATE) PLANPRODUCEVOLUME -- 当月计划加工量=炉次(设备ID+计划开工时间)的数量
|
|
|
- from
|
|
|
- aps_process_operation_process_equ apope
|
|
|
- join aps_process_operation apo on apo.ID = apope.PROCESSID
|
|
|
- join aps_production_processes app on app.PRODUCTPROCESSNAME=apo.PROCESS
|
|
|
- where
|
|
|
- apope.deleted='0' and apo.DELETED='0'
|
|
|
- and app.PROCESSCATEGORY='30' -- 退火
|
|
|
- and apo.PROCESSSTATUS in ('30','40','50') -- 已发布
|
|
|
- and (apope.PLANPROCESSRALL-apope.CANCELROLL)>0 -- 计划加工卷数- 已取消卷数合计
|
|
|
- and apope.PLANENDDATE between DATE_FORMAT(DATE_SUB(CURRENT_DATE, INTERVAL 11 MONTH), '%Y-%m-01') and DATE_FORMAT(LAST_DAY(CURRENT_DATE()),'%Y-%m-%d 23:59:59') -- 近12个月计划
|
|
|
- and apo.TENANTID=#{tenantId}
|
|
|
- group by
|
|
|
- month_year
|
|
|
+ DATE_FORMAT(heat.PROCESSDAY, '%Y-%m') month_year,
|
|
|
+ count(HEATNUMBER) PLANPRODUCEVOLUME -- 当月计划加工量=炉次的数量
|
|
|
+ from (
|
|
|
+ -- 按照车间分组统计本月退火工序类别计划加工量
|
|
|
+ select
|
|
|
+ apope.PROCESSDEVICEID+apope.PLANSTARTDATE HEATNUMBER, -- 炉次(设备ID+计划开工时间)
|
|
|
+ max(apope.PLANENDDATE) PROCESSDAY
|
|
|
+ from
|
|
|
+ aps_process_operation_process_equ apope
|
|
|
+ join aps_process_operation apo on apo.ID = apope.PROCESSID
|
|
|
+ join aps_production_processes app on app.PRODUCTPROCESSNAME=apo.PROCESS
|
|
|
+ where
|
|
|
+ apope.deleted='0' and apo.DELETED='0'
|
|
|
+ and app.PROCESSCATEGORY='30' -- 退火
|
|
|
+ and apo.PROCESSSTATUS in ('30','40','50') -- 已发布
|
|
|
+ and (apope.PLANPROCESSRALL-apope.CANCELROLL)>0 -- 计划加工卷数- 已取消卷数合计
|
|
|
+ and (YEAR(apope.PLANENDDATE) = YEAR(CURRENT_DATE) and MONTH(apope.PLANENDDATE) = MONTH(CURRENT_DATE) -- 本月
|
|
|
+ or DATE(apope.PLANENDDATE) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY)) -- 昨日
|
|
|
+ and apo.TENANTID=#{tenantId}
|
|
|
+ group by
|
|
|
+ HEATNUMBER -- 计划炉次
|
|
|
+ ) heat
|
|
|
+ group by month_year
|
|
|
),
|
|
|
actual as (
|
|
|
-- 近12个月退火实际加工量
|
|
|
select
|
|
|
- DATE_FORMAT(arr.REPORTWORKTIME, '%Y-%m') month_year,
|
|
|
- count(DISTINCT arr.HEATNUMBER) ACTUALPRODUCEVOLUME -- 当月实际已加工量=炉次的数量
|
|
|
- from
|
|
|
- aps_report_records arr
|
|
|
- join aps_process_operation_process_equ apope on apope.id=arr.PROCESSEQUID
|
|
|
- join aps_process_operation apo on apo.ID = apope.PROCESSID
|
|
|
- join aps_production_processes app on app.PRODUCTPROCESSNAME=apo.PROCESS
|
|
|
- where
|
|
|
- apope.deleted='0' and apo.DELETED='0' and arr.deleted='0'
|
|
|
- and app.PROCESSCATEGORY='30' -- 退火
|
|
|
- and arr.REPORTWORKSTATUS='已报工'
|
|
|
- and arr.REPORTWORKTIME between DATE_FORMAT(DATE_SUB(CURRENT_DATE, INTERVAL 11 MONTH), '%Y-%m-01') and DATE_FORMAT(LAST_DAY(CURRENT_DATE()),'%Y-%m-%d 23:59:59') -- 近12个月计划
|
|
|
- and apo.TENANTID=#{tenantId}
|
|
|
- group by
|
|
|
- month_year
|
|
|
+ DATE_FORMAT(heat.PROCESSDAY, '%Y-%m') month_year,
|
|
|
+ count(HEATNUMBER) ACTUALPRODUCEVOLUME -- 当月实际已加工量=炉次的数量
|
|
|
+ from(
|
|
|
+ -- 按照车间分组统计本月退火工序类别实际加工量
|
|
|
+ select
|
|
|
+ arr.HEATNUMBER, -- 炉次
|
|
|
+ max(DATE(arr.REPORTWORKTIME)) PROCESSDAY
|
|
|
+ from
|
|
|
+ aps_report_records arr
|
|
|
+ join aps_process_operation_process_equ apope on apope.id=arr.PROCESSEQUID
|
|
|
+ join aps_process_operation apo on apo.ID = apope.PROCESSID
|
|
|
+ join aps_production_processes app on app.PRODUCTPROCESSNAME=apo.PROCESS
|
|
|
+ where
|
|
|
+ apope.deleted='0' and apo.DELETED='0' and arr.deleted='0'
|
|
|
+ and app.PROCESSCATEGORY='30' -- 退火
|
|
|
+ and arr.REPORTWORKSTATUS='已报工'
|
|
|
+ and apo.TENANTID=#{tenantId}
|
|
|
+ group by
|
|
|
+ arr.HEATNUMBER
|
|
|
+ ) heat
|
|
|
+ group by month_year
|
|
|
)
|
|
|
-- 计划加工量月平均值,实际已加工量月平均值
|
|
|
select
|
|
@@ -1378,41 +1407,57 @@
|
|
|
),
|
|
|
plan as (
|
|
|
-- 近12个月退火计划加工量
|
|
|
+
|
|
|
+ -- 按照车间分组统计本月退火工序类别计划加工量
|
|
|
select
|
|
|
- DATE_FORMAT(apope.PLANENDDATE, '%Y-%m') month_year,
|
|
|
- count(DISTINCT apope.PROCESSDEVICEID+apope.PLANENDDATE) PLANPRODUCEVOLUME -- 当月计划加工量=炉次(设备ID+计划开工时间)的数量
|
|
|
- from
|
|
|
- aps_process_operation_process_equ apope
|
|
|
- join aps_process_operation apo on apo.ID = apope.PROCESSID
|
|
|
- join aps_production_processes app on app.PRODUCTPROCESSNAME=apo.PROCESS
|
|
|
- where
|
|
|
- apope.deleted='0' and apo.DELETED='0'
|
|
|
- and app.PROCESSCATEGORY='30' -- 退火
|
|
|
- and apo.PROCESSSTATUS in ('30','40','50') -- 已发布
|
|
|
- and (apope.PLANPROCESSRALL-apope.CANCELROLL)>0 -- 计划加工卷数- 已取消卷数合计
|
|
|
- and apope.PLANENDDATE between DATE_FORMAT(DATE_SUB(CURRENT_DATE, INTERVAL 11 MONTH), '%Y-%m-01') and DATE_FORMAT(LAST_DAY(CURRENT_DATE()),'%Y-%m-%d 23:59:59') -- 近12个月计划
|
|
|
- and apo.TENANTID=#{tenantId}
|
|
|
- group by
|
|
|
- month_year
|
|
|
+ DATE_FORMAT(heat.PROCESSDAY, '%Y-%m') month_year,
|
|
|
+ count(HEATNUMBER) PLANPRODUCEVOLUME -- 当月计划加工量=炉次的数量
|
|
|
+ from (
|
|
|
+ -- 按照车间分组统计本月退火工序类别计划加工量
|
|
|
+ select
|
|
|
+ apope.PROCESSDEVICEID+apope.PLANSTARTDATE HEATNUMBER, -- 炉次(设备ID+计划开工时间)
|
|
|
+ max(apope.PLANENDDATE) PROCESSDAY
|
|
|
+ from
|
|
|
+ aps_process_operation_process_equ apope
|
|
|
+ join aps_process_operation apo on apo.ID = apope.PROCESSID
|
|
|
+ join aps_production_processes app on app.PRODUCTPROCESSNAME=apo.PROCESS
|
|
|
+ where
|
|
|
+ apope.deleted='0' and apo.DELETED='0'
|
|
|
+ and app.PROCESSCATEGORY='30' -- 退火
|
|
|
+ and apo.PROCESSSTATUS in ('30','40','50') -- 已发布
|
|
|
+ and (apope.PLANPROCESSRALL-apope.CANCELROLL)>0 -- 计划加工卷数- 已取消卷数合计
|
|
|
+ and (YEAR(apope.PLANENDDATE) = YEAR(CURRENT_DATE) and MONTH(apope.PLANENDDATE) = MONTH(CURRENT_DATE) -- 本月
|
|
|
+ or DATE(apope.PLANENDDATE) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY)) -- 昨日
|
|
|
+ and apo.TENANTID=#{tenantId}
|
|
|
+ group by
|
|
|
+ HEATNUMBER -- 计划炉次
|
|
|
+ ) heat
|
|
|
+ group by month_year
|
|
|
),
|
|
|
actual as (
|
|
|
-- 近12个月退火实际加工量
|
|
|
select
|
|
|
- DATE_FORMAT(arr.REPORTWORKTIME, '%Y-%m') month_year,
|
|
|
- count(DISTINCT arr.HEATNUMBER) ACTUALPRODUCEVOLUME -- 当月实际已加工量=炉次的数量
|
|
|
- from
|
|
|
- aps_report_records arr
|
|
|
- join aps_process_operation_process_equ apope on apope.id=arr.PROCESSEQUID
|
|
|
- join aps_process_operation apo on apo.ID = apope.PROCESSID
|
|
|
- join aps_production_processes app on app.PRODUCTPROCESSNAME=apo.PROCESS
|
|
|
- where
|
|
|
- apope.deleted='0' and apo.DELETED='0' and arr.deleted='0'
|
|
|
- and app.PROCESSCATEGORY='30' -- 退火
|
|
|
- and arr.REPORTWORKSTATUS='已报工'
|
|
|
- and arr.REPORTWORKTIME between DATE_FORMAT(DATE_SUB(CURRENT_DATE, INTERVAL 11 MONTH), '%Y-%m-01') and DATE_FORMAT(LAST_DAY(CURRENT_DATE()),'%Y-%m-%d 23:59:59') -- 近12个月计划
|
|
|
- and apo.TENANTID=#{tenantId}
|
|
|
- group by
|
|
|
- month_year
|
|
|
+ DATE_FORMAT(heat.PROCESSDAY, '%Y-%m') month_year,
|
|
|
+ count(HEATNUMBER) ACTUALPRODUCEVOLUME -- 当月实际已加工量=炉次的数量
|
|
|
+ from(
|
|
|
+ -- 按照车间分组统计本月退火工序类别实际加工量
|
|
|
+ select
|
|
|
+ arr.HEATNUMBER, -- 炉次
|
|
|
+ max(DATE(arr.REPORTWORKTIME)) PROCESSDAY
|
|
|
+ from
|
|
|
+ aps_report_records arr
|
|
|
+ join aps_process_operation_process_equ apope on apope.id=arr.PROCESSEQUID
|
|
|
+ join aps_process_operation apo on apo.ID = apope.PROCESSID
|
|
|
+ join aps_production_processes app on app.PRODUCTPROCESSNAME=apo.PROCESS
|
|
|
+ where
|
|
|
+ apope.deleted='0' and apo.DELETED='0' and arr.deleted='0'
|
|
|
+ and app.PROCESSCATEGORY='30' -- 退火
|
|
|
+ and arr.REPORTWORKSTATUS='已报工'
|
|
|
+ and apo.TENANTID=#{tenantId}
|
|
|
+ group by
|
|
|
+ arr.HEATNUMBER
|
|
|
+ ) heat
|
|
|
+ group by month_year
|
|
|
)
|
|
|
select
|
|
|
DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL months.n MONTH), '%Y-%m') yearmonth,
|