|
@@ -1285,70 +1285,68 @@
|
|
|
select
|
|
|
PROCESSWORKSHOPID,
|
|
|
max(PROCESSWORKSHOP) PROCESSWORKSHOP,
|
|
|
- DATE(PLANSTARTDATE) PROCESSDAY,
|
|
|
- count(if(YEARWEEK(heat.PROCESSDAY,1)=YEARWEEK(CURRENT_DATE,1), -- 本周
|
|
|
- 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,
|
|
|
- concat(apope.PROCESSDEVICEID,apope.PLANSTARTDATE) HEATNUMBER, -- 炉次(设备ID+计划开工时间)
|
|
|
- max(apope.PLANSTARTDATE) PROCESSDAY,
|
|
|
- apope.PLANSTARTDATE
|
|
|
- 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 (YEARWEEK(apope.PLANSTARTDATE,1)=YEARWEEK(CURRENT_DATE,1) -- 本周
|
|
|
- or DATE(apope.PLANSTARTDATE) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY)) -- 昨日
|
|
|
- and apo.TENANTID=#{tenantId}
|
|
|
- group by
|
|
|
- concat(apope.PROCESSDEVICEID,apope.PLANSTARTDATE) -- 计划炉次
|
|
|
- ) heat
|
|
|
- group by PROCESSWORKSHOPID
|
|
|
- ),
|
|
|
- actual as (
|
|
|
- -- 按照车间分组统计本周退火工序类别实际加工量
|
|
|
- select
|
|
|
- PROCESSWORKSHOPID,
|
|
|
- max(PROCESSWORKSHOP) PROCESSWORKSHOP,
|
|
|
- DATE(STARTWORKTIME) PROCESSDAY,
|
|
|
- count(if(YEARWEEK(heat.PROCESSDAY,1)=YEARWEEK(CURRENT_DATE,1), -- 本周
|
|
|
- HEATNUMBER,null)) ACTUALPRODUCEVOLUME, -- 本周实际已加工(炉次)
|
|
|
- count(if(DATE(heat.PROCESSDAY) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY), -- 昨日
|
|
|
- HEATNUMBER,null)) YACTUALPRODUCEVOLUME -- 昨日实际已加工(炉次)
|
|
|
- from(
|
|
|
- select
|
|
|
- concat(apope.PROCESSDEVICEID,arr.STARTWORKTIME,arr.HEATNUMBER) HEATNUMBER, -- 炉次
|
|
|
- max(DATE(arr.STARTWORKTIME)) PROCESSDAY,
|
|
|
- max(apope.PROCESSWORKSHOPID) PROCESSWORKSHOPID,
|
|
|
- max(apope.PROCESSWORKSHOP) PROCESSWORKSHOP,
|
|
|
- arr.STARTWORKTIME
|
|
|
- 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 (YEARWEEK(arr.STARTWORKTIME,1)=YEARWEEK(CURRENT_DATE,1) -- 本周
|
|
|
- or DATE(arr.STARTWORKTIME) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY)) -- 昨日
|
|
|
- and apo.TENANTID=#{tenantId}
|
|
|
- group by
|
|
|
- apope.PROCESSDEVICEID,concat(apope.PROCESSDEVICEID,arr.STARTWORKTIME,arr.HEATNUMBER)
|
|
|
- ) heat
|
|
|
- group by PROCESSWORKSHOPID
|
|
|
- )
|
|
|
+ DATE(PROCESSDAY) PROCESSDAY,
|
|
|
+ count(if(YEARWEEK(heat.PROCESSDAY,1)=YEARWEEK(CURRENT_DATE,1), -- 本周
|
|
|
+ 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,
|
|
|
+ concat(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 apo.TENANTID=#{tenantId}
|
|
|
+ group by
|
|
|
+ concat(apope.PROCESSDEVICEID,apope.PLANSTARTDATE) -- 计划炉次
|
|
|
+ HAVING (YEARWEEK(PROCESSDAY,1)=YEARWEEK(CURRENT_DATE,1) -- 本周
|
|
|
+ or DATE(PROCESSDAY) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY)) -- 昨日
|
|
|
+ ) heat
|
|
|
+ group by PROCESSWORKSHOPID,DATE(PROCESSDAY)
|
|
|
+ ),
|
|
|
+ actual as (
|
|
|
+ -- 按照车间分组统计本周退火工序类别实际加工量
|
|
|
+ select
|
|
|
+ PROCESSWORKSHOPID,
|
|
|
+ max(PROCESSWORKSHOP) PROCESSWORKSHOP,
|
|
|
+ DATE(PROCESSDAY) PROCESSDAY,
|
|
|
+ count(if(YEARWEEK(heat.PROCESSDAY,1)=YEARWEEK(CURRENT_DATE,1), -- 本周
|
|
|
+ HEATNUMBER,null)) ACTUALPRODUCEVOLUME, -- 本周实际已加工(炉次)
|
|
|
+ count(if(DATE(heat.PROCESSDAY) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY), -- 昨日
|
|
|
+ HEATNUMBER,null)) YACTUALPRODUCEVOLUME -- 昨日实际已加工(炉次)
|
|
|
+ from(
|
|
|
+ select
|
|
|
+ concat(apope.PROCESSDEVICEID,arr.STARTWORKTIME,arr.HEATNUMBER) HEATNUMBER, -- 炉次
|
|
|
+ max(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
|
|
|
+ apope.PROCESSDEVICEID,concat(apope.PROCESSDEVICEID,arr.STARTWORKTIME,arr.HEATNUMBER)
|
|
|
+ HAVING (YEARWEEK(PROCESSDAY,1)=YEARWEEK(CURRENT_DATE,1) -- 本周
|
|
|
+ or DATE(PROCESSDAY) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY)) -- 昨日
|
|
|
+ ) heat
|
|
|
+ group by PROCESSWORKSHOPID,DATE(PROCESSDAY)
|
|
|
+ )
|
|
|
select
|
|
|
plan.PROCESSWORKSHOPID
|
|
|
,plan.PROCESSWORKSHOP
|
|
@@ -1356,9 +1354,9 @@
|
|
|
,IFNULL(ROUND(sum(if(DATE(plan.PROCESSDAY) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY),plan.YPLANPRODUCEVOLUME,null)),2),0) AS 'YPLANPRODUCEVOLUME' -- 昨日计划加工(吨)
|
|
|
,IFNULL(ROUND(sum(if(YEARWEEK(actual.PROCESSDAY,1)=YEARWEEK(CURRENT_DATE,1),actual.ACTUALPRODUCEVOLUME,null)),2),0) AS 'WEEKACTUALPRODUCEVOLUME' -- 本周实际已加工(吨)
|
|
|
,IFNULL(ROUND(sum(if(DATE(actual.PROCESSDAY) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY),actual.YACTUALPRODUCEVOLUME,null)),2),0) AS 'YACTUALPRODUCEVOLUME' -- 昨日实际已加工(吨)
|
|
|
- -- ,ROUND(if(plan.PLANPRODUCEVOLUME is null or plan.PLANPRODUCEVOLUME = 0,
|
|
|
+ -- ,ROUND(if(plan.PLANPRODUCEVOLUME is null or plan.PLANPRODUCEVOLUME = 0,
|
|
|
-- 1, actual.ACTUALPRODUCEVOLUME/plan.PLANPRODUCEVOLUME),2) COMPLETIONRATIO -- 本周实际已完成比例
|
|
|
- ,IFNULL(ROUND(AVG(actual.ACTUALPRODUCEVOLUME),2),0) COMPLETIONRATIO -- 本周日平均
|
|
|
+ ,IFNULL(ROUND(AVG(actual.ACTUALPRODUCEVOLUME),2),0) COMPLETIONRATIO -- 本周日平均
|
|
|
from
|
|
|
plan left join actual on plan.PROCESSWORKSHOPID=actual.PROCESSWORKSHOPID group by plan.PROCESSWORKSHOPID
|
|
|
union -- mysql 该版本不支持full join,通过left join 和right join配合
|
|
@@ -1369,9 +1367,9 @@
|
|
|
,IFNULL(ROUND(sum(if(DATE(plan.PROCESSDAY) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY),plan.YPLANPRODUCEVOLUME,null)),2),0) AS 'YPLANPRODUCEVOLUME' -- 昨日计划加工(吨)
|
|
|
,IFNULL(ROUND(sum(if(YEARWEEK(actual.PROCESSDAY,1)=YEARWEEK(CURRENT_DATE,1),actual.ACTUALPRODUCEVOLUME,null)),2),0) AS 'WEEKACTUALPRODUCEVOLUME' -- 本周实际已加工(吨)
|
|
|
,IFNULL(ROUND(sum(if(DATE(actual.PROCESSDAY) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY),actual.YACTUALPRODUCEVOLUME,null)),2),0) AS 'YACTUALPRODUCEVOLUME' -- 昨日实际已加工(吨)
|
|
|
- -- ,ROUND(if(plan.PLANPRODUCEVOLUME is null or plan.PLANPRODUCEVOLUME = 0,
|
|
|
+ -- ,ROUND(if(plan.PLANPRODUCEVOLUME is null or plan.PLANPRODUCEVOLUME = 0,
|
|
|
-- 1, actual.ACTUALPRODUCEVOLUME/plan.PLANPRODUCEVOLUME),2) COMPLETIONRATIO -- 本周实际已完成比例
|
|
|
- ,IFNULL(ROUND(AVG(actual.ACTUALPRODUCEVOLUME),2),0) COMPLETIONRATIO -- 本周日平均
|
|
|
+ ,IFNULL(ROUND(AVG(actual.ACTUALPRODUCEVOLUME),2),0) COMPLETIONRATIO -- 本周日平均
|
|
|
from
|
|
|
plan right join actual on plan.PROCESSWORKSHOPID=actual.PROCESSWORKSHOPID group by actual.PROCESSWORKSHOPID
|
|
|
</select>
|