|
@@ -702,78 +702,82 @@
|
|
|
</select>
|
|
|
<select id="selectCastRollData" resultType="com.rongwei.bsentity.domain.ApsReportCastRollTable">
|
|
|
with plan as (
|
|
|
- -- 按照车间分组统计本月铸轧工序类别计划加工量
|
|
|
+ -- 按照车间分组统计本周铸轧工序类别计划加工量
|
|
|
select
|
|
|
apo.TENANTID,
|
|
|
apope.PROCESSWORKSHOPID,
|
|
|
- max(apope.PROCESSWORKSHOP) PROCESSWORKSHOP,
|
|
|
- sum(if(YEAR(apope.PLANENDDATE) = YEAR(CURRENT_DATE) and MONTH(apope.PLANENDDATE) = MONTH(CURRENT_DATE), -- 本月
|
|
|
- (apope.PLANPROCESSRALL-apope.CANCELROLL)*apo.SINGLEROLLWEIGHT,null)) PLANPRODUCEVOLUME, -- 本月计划加工量
|
|
|
- sum(if(DATE(apope.PLANENDDATE) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY), -- 昨日
|
|
|
- (apope.PLANPROCESSRALL-apope.CANCELROLL)*apo.SINGLEROLLWEIGHT,null)) YPLANPRODUCEVOLUME -- 昨日计划加工量
|
|
|
- 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='10' -- 铸轧
|
|
|
- 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
|
|
|
- ),
|
|
|
- actual as (
|
|
|
- -- 按照车间分组统计本月铸轧工序类别实际加工量
|
|
|
- select
|
|
|
- apo.TENANTID,
|
|
|
- apope.PROCESSWORKSHOPID,
|
|
|
- max(apope.PROCESSWORKSHOP) PROCESSWORKSHOP,
|
|
|
- sum(if(YEAR(arr.REPORTWORKTIME) = YEAR(CURRENT_DATE) and MONTH(arr.REPORTWORKTIME) = MONTH(CURRENT_DATE), -- 本月
|
|
|
- apo.SINGLEROLLWEIGHT,null)) ACTUALPRODUCEVOLUME, -- 本月实际已加工量
|
|
|
- sum(if(DATE(arr.REPORTWORKTIME) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY), -- 昨日
|
|
|
- apo.SINGLEROLLWEIGHT,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='10' -- 铸轧
|
|
|
- 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
|
|
|
- )
|
|
|
+ DATE(apope.PLANENDDATE) PROCESSDAY,
|
|
|
+ max(apope.PROCESSWORKSHOP) PROCESSWORKSHOP,
|
|
|
+ sum(if(YEAR(apope.PLANENDDATE) = YEAR(CURRENT_DATE) and WEEK(apope.PLANENDDATE) = WEEK(CURRENT_DATE), -- 本周
|
|
|
+ (apope.PLANPROCESSRALL-apope.CANCELROLL)*apo.SINGLEROLLWEIGHT,null)) PLANPRODUCEVOLUME, -- 本周计划加工量
|
|
|
+ sum(if(DATE(apope.PLANENDDATE) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY), -- 昨日
|
|
|
+ (apope.PLANPROCESSRALL-apope.CANCELROLL)*apo.SINGLEROLLWEIGHT,null)) YPLANPRODUCEVOLUME -- 昨日计划加工量
|
|
|
+ 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='10' -- 铸轧
|
|
|
+ and apo.PROCESSSTATUS in ('30','40','50') -- 已发布
|
|
|
+ and (apope.PLANPROCESSRALL-apope.CANCELROLL)>0 -- 计划加工卷数- 已取消卷数合计
|
|
|
+ and (YEAR(apope.PLANENDDATE) = YEAR(CURRENT_DATE) and WEEK(apope.PLANENDDATE) = WEEK(CURRENT_DATE) -- 本周
|
|
|
+ or DATE(apope.PLANENDDATE) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY)) -- 昨日
|
|
|
+ and apo.TENANTID=#{tenantId}
|
|
|
+ group by
|
|
|
+ apope.PROCESSWORKSHOPID,PROCESSDAY
|
|
|
+ ),
|
|
|
+ actual as (
|
|
|
+ -- 按照车间分组统计本周铸轧工序类别实际加工量
|
|
|
+ select
|
|
|
+ apo.TENANTID,
|
|
|
+ apope.PROCESSWORKSHOPID,
|
|
|
+ DATE(arr.REPORTWORKTIME) PROCESSDAY,
|
|
|
+ max(apope.PROCESSWORKSHOP) PROCESSWORKSHOP,
|
|
|
+ sum(if(YEAR(arr.REPORTWORKTIME) = YEAR(CURRENT_DATE) and WEEK(arr.REPORTWORKTIME) = WEEK(CURRENT_DATE), -- 本周
|
|
|
+ apo.SINGLEROLLWEIGHT,null)) ACTUALPRODUCEVOLUME, -- 本周实际已加工量
|
|
|
+ sum(if(DATE(arr.REPORTWORKTIME) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY), -- 昨日
|
|
|
+ apo.SINGLEROLLWEIGHT,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='10' -- 铸轧
|
|
|
+ and arr.REPORTWORKSTATUS='已报工'
|
|
|
+ and (YEAR(arr.REPORTWORKTIME) = YEAR(CURRENT_DATE) and WEEK(arr.REPORTWORKTIME) = WEEK(CURRENT_DATE) -- 本周
|
|
|
+ or DATE(arr.REPORTWORKTIME) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY)) -- 昨日
|
|
|
+ and apo.TENANTID=#{tenantId}
|
|
|
+ group by
|
|
|
+ apope.PROCESSWORKSHOPID,PROCESSDAY
|
|
|
+ )
|
|
|
select
|
|
|
plan.PROCESSWORKSHOPID
|
|
|
,plan.PROCESSWORKSHOP
|
|
|
- ,IFNULL(ROUND(plan.PLANPRODUCEVOLUME,2),0) AS 'PLANPRODUCEVOLUME' -- 本月计划加工(吨)
|
|
|
- ,IFNULL(ROUND(plan.YPLANPRODUCEVOLUME,2),0) AS 'YPLANPRODUCEVOLUME' -- 昨日计划加工(吨)
|
|
|
- ,IFNULL(ROUND(actual.ACTUALPRODUCEVOLUME,2),0) AS 'ACTUALPRODUCEVOLUME' -- 本月实际已加工(吨)
|
|
|
- ,IFNULL(ROUND(actual.YACTUALPRODUCEVOLUME,2),0) AS 'YACTUALPRODUCEVOLUME' -- 昨日实际已加工(吨)
|
|
|
- ,ROUND(if(plan.PLANPRODUCEVOLUME is null or plan.PLANPRODUCEVOLUME = 0,
|
|
|
- 1, actual.ACTUALPRODUCEVOLUME/plan.PLANPRODUCEVOLUME),2) COMPLETIONRATIO -- 本月实际已完成比例
|
|
|
+ ,IFNULL(ROUND(sum(if(YEAR(plan.PROCESSDAY) = YEAR(CURRENT_DATE) and WEEK(plan.PROCESSDAY) = WEEK(CURRENT_DATE),plan.PLANPRODUCEVOLUME,null)),2),0) AS 'WEEKPLANPRODUCEVOLUME' -- 本周计划加工(吨)
|
|
|
+ ,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(YEAR(actual.PROCESSDAY) = YEAR(CURRENT_DATE) and WEEK(actual.PROCESSDAY) = WEEK(CURRENT_DATE),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,
|
|
|
+-- 1, actual.ACTUALPRODUCEVOLUME/plan.PLANPRODUCEVOLUME),2) COMPLETIONRATIO -- 本周实际已完成比例
|
|
|
+ ,IFNULL(ROUND(AVG(actual.ACTUALPRODUCEVOLUME),2),0) COMPLETIONRATIO -- 本周日平均
|
|
|
from
|
|
|
- plan left join actual on plan.PROCESSWORKSHOPID=actual.PROCESSWORKSHOPID
|
|
|
+ plan left join actual on plan.PROCESSWORKSHOPID=actual.PROCESSWORKSHOPID and plan.PROCESSDAY=actual.PROCESSDAY
|
|
|
union -- mysql 该版本不支持full join,通过left join 和right join配合
|
|
|
select
|
|
|
actual.PROCESSWORKSHOPID
|
|
|
,actual.PROCESSWORKSHOP
|
|
|
- ,IFNULL(ROUND(plan.PLANPRODUCEVOLUME,2),0) AS 'PLANPRODUCEVOLUME' -- 本月计划加工(吨)
|
|
|
- ,IFNULL(ROUND(plan.YPLANPRODUCEVOLUME,2),0) AS 'YPLANPRODUCEVOLUME' -- 昨日计划加工(吨)
|
|
|
- ,IFNULL(ROUND(actual.ACTUALPRODUCEVOLUME,2),0) AS 'ACTUALPRODUCEVOLUME' -- 本月实际已加工(吨)
|
|
|
- ,IFNULL(ROUND(actual.YACTUALPRODUCEVOLUME,2),0) AS 'YACTUALPRODUCEVOLUME' -- 昨日实际已加工(吨)
|
|
|
- ,ROUND(if(plan.PLANPRODUCEVOLUME is null or plan.PLANPRODUCEVOLUME = 0,
|
|
|
- 1, actual.ACTUALPRODUCEVOLUME/plan.PLANPRODUCEVOLUME),2) COMPLETIONRATIO -- 本月实际已完成比例
|
|
|
+ ,IFNULL(ROUND(sum(if(YEAR(plan.PROCESSDAY) = YEAR(CURRENT_DATE) and WEEK(plan.PROCESSDAY) = WEEK(CURRENT_DATE),plan.PLANPRODUCEVOLUME,null)),2),0) AS 'WEEKPLANPRODUCEVOLUME' -- 本周计划加工(吨)
|
|
|
+ ,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(YEAR(actual.PROCESSDAY) = YEAR(CURRENT_DATE) and WEEK(actual.PROCESSDAY) = WEEK(CURRENT_DATE),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,
|
|
|
+-- 1, actual.ACTUALPRODUCEVOLUME/plan.PLANPRODUCEVOLUME),2) COMPLETIONRATIO -- 本周实际已完成比例
|
|
|
+ ,IFNULL(ROUND(AVG(actual.ACTUALPRODUCEVOLUME),2),0) COMPLETIONRATIO -- 本周日平均
|
|
|
from
|
|
|
- plan right join actual on plan.PROCESSWORKSHOPID=actual.PROCESSWORKSHOPID
|
|
|
+ plan right join actual on plan.PROCESSWORKSHOPID=actual.PROCESSWORKSHOPID and plan.PROCESSDAY=actual.PROCESSDAY
|
|
|
</select>
|
|
|
<select id="selectCastRollPhotoAvg" resultType="com.rongwei.bsentity.domain.ApsReportCastRollPhoto">
|
|
|
with months as (
|
|
@@ -883,78 +887,82 @@
|
|
|
</select>
|
|
|
<select id="selectProcessTable" resultType="com.rongwei.bsentity.domain.ApsReportJzProcessTable">
|
|
|
with plan as (
|
|
|
- -- 按照车间分组统计本月精整工序类别计划加工量
|
|
|
+ -- 按照车间分组统计本周精整工序类别计划加工量
|
|
|
select
|
|
|
apo.TENANTID,
|
|
|
apope.PROCESSWORKSHOPID,
|
|
|
- max(apope.PROCESSWORKSHOP) PROCESSWORKSHOP,
|
|
|
- sum(if(YEAR(apope.PLANENDDATE) = YEAR(CURRENT_DATE) and MONTH(apope.PLANENDDATE) = MONTH(CURRENT_DATE), -- 本月
|
|
|
- (apope.PLANPROCESSRALL-apope.CANCELROLL)*apo.SINGLEROLLWEIGHT,null)) PLANPRODUCEVOLUME, -- 本月计划加工量
|
|
|
- sum(if(DATE(apope.PLANENDDATE) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY), -- 昨日
|
|
|
- (apope.PLANPROCESSRALL-apope.CANCELROLL)*apo.SINGLEROLLWEIGHT,null)) YPLANPRODUCEVOLUME -- 昨日计划加工量
|
|
|
- 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='40' -- 精整
|
|
|
- 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
|
|
|
- ),
|
|
|
- actual as (
|
|
|
- -- 按照车间分组统计本月精整工序类别实际加工量
|
|
|
- select
|
|
|
- apo.TENANTID,
|
|
|
- apope.PROCESSWORKSHOPID,
|
|
|
- max(apope.PROCESSWORKSHOP) PROCESSWORKSHOP,
|
|
|
- sum(if(YEAR(arr.REPORTWORKTIME) = YEAR(CURRENT_DATE) and MONTH(arr.REPORTWORKTIME) = MONTH(CURRENT_DATE), -- 本月
|
|
|
- (LENGTH(trim( BOTH ',' FROM arr.BATCHNUMBER))-LENGTH(REPLACE(trim( BOTH ',' FROM arr.BATCHNUMBER), ',', '')) + 1) * IFNULL(arr.ACTUALROLLWEIGHT,apo.SINGLEROLLWEIGHT),null)) ACTUALPRODUCEVOLUME, -- 本月实际已加工量=报工批次号数量*实际输入单卷重
|
|
|
- sum(if(DATE(arr.REPORTWORKTIME) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY), -- 昨日
|
|
|
- (LENGTH(trim( BOTH ',' FROM arr.BATCHNUMBER))-LENGTH(REPLACE(trim( BOTH ',' FROM arr.BATCHNUMBER), ',', '')) + 1) * IFNULL(arr.ACTUALROLLWEIGHT,apo.SINGLEROLLWEIGHT),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='40' -- 精整
|
|
|
- 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
|
|
|
- )
|
|
|
+ DATE(apope.PLANENDDATE) PROCESSDAY,
|
|
|
+ max(apope.PROCESSWORKSHOP) PROCESSWORKSHOP,
|
|
|
+ sum(if(YEAR(apope.PLANENDDATE) = YEAR(CURRENT_DATE) and WEEK(apope.PLANENDDATE) = WEEK(CURRENT_DATE), -- 本周
|
|
|
+ (apope.PLANPROCESSRALL-apope.CANCELROLL)*apo.SINGLEROLLWEIGHT,null)) PLANPRODUCEVOLUME, -- 本周计划加工量
|
|
|
+ sum(if(DATE(apope.PLANENDDATE) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY), -- 昨日
|
|
|
+ (apope.PLANPROCESSRALL-apope.CANCELROLL)*apo.SINGLEROLLWEIGHT,null)) YPLANPRODUCEVOLUME -- 昨日计划加工量
|
|
|
+ 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='40' -- 精整
|
|
|
+ and apo.PROCESSSTATUS in ('30','40','50') -- 已发布
|
|
|
+ and (apope.PLANPROCESSRALL-apope.CANCELROLL)>0 -- 计划加工卷数- 已取消卷数合计
|
|
|
+ and (YEAR(apope.PLANENDDATE) = YEAR(CURRENT_DATE) and WEEK(apope.PLANENDDATE) = WEEK(CURRENT_DATE) -- 本周
|
|
|
+ or DATE(apope.PLANENDDATE) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY)) -- 昨日
|
|
|
+ and apo.TENANTID=#{tenantId}
|
|
|
+ group by
|
|
|
+ apope.PROCESSWORKSHOPID,PROCESSDAY
|
|
|
+ ),
|
|
|
+ actual as (
|
|
|
+ -- 按照车间分组统计本周精整工序类别实际加工量
|
|
|
+ select
|
|
|
+ apo.TENANTID,
|
|
|
+ apope.PROCESSWORKSHOPID,
|
|
|
+ DATE(arr.REPORTWORKTIME) PROCESSDAY,
|
|
|
+ max(apope.PROCESSWORKSHOP) PROCESSWORKSHOP,
|
|
|
+ sum(if(YEAR(arr.REPORTWORKTIME) = YEAR(CURRENT_DATE) and WEEK(arr.REPORTWORKTIME) = WEEK(CURRENT_DATE), -- 本周
|
|
|
+ (LENGTH(trim( BOTH ',' FROM arr.BATCHNUMBER))-LENGTH(REPLACE(trim( BOTH ',' FROM arr.BATCHNUMBER), ',', '')) + 1) * IFNULL(arr.ACTUALROLLWEIGHT,apo.SINGLEROLLWEIGHT),null)) ACTUALPRODUCEVOLUME, -- 本周实际已加工量=报工批次号数量*实际输入单卷重
|
|
|
+ sum(if(DATE(arr.REPORTWORKTIME) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY), -- 昨日
|
|
|
+ (LENGTH(trim( BOTH ',' FROM arr.BATCHNUMBER))-LENGTH(REPLACE(trim( BOTH ',' FROM arr.BATCHNUMBER), ',', '')) + 1) * IFNULL(arr.ACTUALROLLWEIGHT,apo.SINGLEROLLWEIGHT),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='40' -- 精整
|
|
|
+ and arr.REPORTWORKSTATUS='已报工'
|
|
|
+ and (YEAR(arr.REPORTWORKTIME) = YEAR(CURRENT_DATE) and WEEK(arr.REPORTWORKTIME) = WEEK(CURRENT_DATE) -- 本周
|
|
|
+ or DATE(arr.REPORTWORKTIME) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY)) -- 昨日
|
|
|
+ and apo.TENANTID=#{tenantId}
|
|
|
+ group by
|
|
|
+ apope.PROCESSWORKSHOPID,PROCESSDAY
|
|
|
+ )
|
|
|
select
|
|
|
plan.PROCESSWORKSHOPID
|
|
|
,plan.PROCESSWORKSHOP
|
|
|
- ,IFNULL(ROUND(plan.PLANPRODUCEVOLUME,2),0) AS 'PLANPRODUCEVOLUME' -- 本月计划加工(吨)
|
|
|
- ,IFNULL(ROUND(plan.YPLANPRODUCEVOLUME,2),0) AS 'YPLANPRODUCEVOLUME' -- 昨日计划加工(吨)
|
|
|
- ,IFNULL(ROUND(actual.ACTUALPRODUCEVOLUME,2),0) AS 'ACTUALPRODUCEVOLUME' -- 本月实际已加工(吨)
|
|
|
- ,IFNULL(ROUND(actual.YACTUALPRODUCEVOLUME,2),0) AS 'YACTUALPRODUCEVOLUME' -- 昨日实际已加工(吨)
|
|
|
- ,ROUND(if(plan.PLANPRODUCEVOLUME is null or plan.PLANPRODUCEVOLUME = 0,
|
|
|
- 1, actual.ACTUALPRODUCEVOLUME/plan.PLANPRODUCEVOLUME),2) COMPLETIONRATIO -- 本月实际已完成比例
|
|
|
+ ,IFNULL(ROUND(sum(if(YEAR(plan.PROCESSDAY) = YEAR(CURRENT_DATE) and WEEK(plan.PROCESSDAY) = WEEK(CURRENT_DATE),plan.PLANPRODUCEVOLUME,null)),2),0) AS 'WEEKPLANPRODUCEVOLUME' -- 本周计划加工(吨)
|
|
|
+ ,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(YEAR(actual.PROCESSDAY) = YEAR(CURRENT_DATE) and WEEK(actual.PROCESSDAY) = WEEK(CURRENT_DATE),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,
|
|
|
+-- 1, actual.ACTUALPRODUCEVOLUME/plan.PLANPRODUCEVOLUME),2) COMPLETIONRATIO -- 本周实际已完成比例
|
|
|
+ ,IFNULL(ROUND(AVG(actual.ACTUALPRODUCEVOLUME),2),0) COMPLETIONRATIO -- 本周日平均
|
|
|
from
|
|
|
- plan left join actual on plan.PROCESSWORKSHOPID=actual.PROCESSWORKSHOPID
|
|
|
+ plan left join actual on plan.PROCESSWORKSHOPID=actual.PROCESSWORKSHOPID and plan.PROCESSDAY=actual.PROCESSDAY
|
|
|
union -- mysql 该版本不支持full join,通过left join 和right join配合
|
|
|
select
|
|
|
actual.PROCESSWORKSHOPID
|
|
|
,actual.PROCESSWORKSHOP
|
|
|
- ,IFNULL(ROUND(plan.PLANPRODUCEVOLUME,2),0) AS 'PLANPRODUCEVOLUME' -- 本月计划加工(吨)
|
|
|
- ,IFNULL(ROUND(plan.YPLANPRODUCEVOLUME,2),0) AS 'YPLANPRODUCEVOLUME' -- 昨日计划加工(吨)
|
|
|
- ,IFNULL(ROUND(actual.ACTUALPRODUCEVOLUME,2),0) AS 'ACTUALPRODUCEVOLUME' -- 本月实际已加工(吨)
|
|
|
- ,IFNULL(ROUND(actual.YACTUALPRODUCEVOLUME,2),0) AS 'YACTUALPRODUCEVOLUME' -- 昨日实际已加工(吨)
|
|
|
- ,ROUND(if(plan.PLANPRODUCEVOLUME is null or plan.PLANPRODUCEVOLUME = 0,
|
|
|
- 1, actual.ACTUALPRODUCEVOLUME/plan.PLANPRODUCEVOLUME),2) COMPLETIONRATIO -- 本月实际已完成比例
|
|
|
+ ,IFNULL(ROUND(sum(if(YEAR(plan.PROCESSDAY) = YEAR(CURRENT_DATE) and WEEK(plan.PROCESSDAY) = WEEK(CURRENT_DATE),plan.PLANPRODUCEVOLUME,null)),2),0) AS 'WEEKPLANPRODUCEVOLUME' -- 本周计划加工(吨)
|
|
|
+ ,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(YEAR(actual.PROCESSDAY) = YEAR(CURRENT_DATE) and WEEK(actual.PROCESSDAY) = WEEK(CURRENT_DATE),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,
|
|
|
+-- 1, actual.ACTUALPRODUCEVOLUME/plan.PLANPRODUCEVOLUME),2) COMPLETIONRATIO -- 本周实际已完成比例
|
|
|
+ ,IFNULL(ROUND(AVG(actual.ACTUALPRODUCEVOLUME),2),0) COMPLETIONRATIO -- 本周日平均
|
|
|
from
|
|
|
- plan right join actual on plan.PROCESSWORKSHOPID=actual.PROCESSWORKSHOPID
|
|
|
+ plan right join actual on plan.PROCESSWORKSHOPID=actual.PROCESSWORKSHOPID and plan.PROCESSDAY=actual.PROCESSDAY
|
|
|
</select>
|
|
|
<select id="selectProcessAvg" resultType="com.rongwei.bsentity.domain.ApsReportJzProcessPhoto">
|
|
|
with months as (
|
|
@@ -1064,78 +1072,82 @@
|
|
|
</select>
|
|
|
<select id="selectZjProcessTable" resultType="com.rongwei.bsentity.domain.ApsReportZjProcessTable">
|
|
|
with plan as (
|
|
|
- -- 按照车间分组统计本月轧机工序类别计划加工量
|
|
|
+ -- 按照车间分组统计本周轧机工序类别计划加工量
|
|
|
select
|
|
|
apo.TENANTID,
|
|
|
apope.PROCESSWORKSHOPID,
|
|
|
- max(apope.PROCESSWORKSHOP) PROCESSWORKSHOP,
|
|
|
- sum(if(YEAR(apope.PLANENDDATE) = YEAR(CURRENT_DATE) and MONTH(apope.PLANENDDATE) = MONTH(CURRENT_DATE), -- 本月
|
|
|
- apope.PLANPROCESSRALL-apope.CANCELROLL,null)) PLANPRODUCEVOLUME, -- 本月计划加工量
|
|
|
- sum(if(DATE(apope.PLANENDDATE) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY), -- 昨日
|
|
|
- apope.PLANPROCESSRALL-apope.CANCELROLL,null)) YPLANPRODUCEVOLUME -- 昨日计划加工量
|
|
|
- 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='20' -- 轧机
|
|
|
- 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
|
|
|
- ),
|
|
|
- actual as (
|
|
|
- -- 按照车间分组统计本月轧机工序类别实际加工量
|
|
|
- select
|
|
|
- apo.TENANTID,
|
|
|
- apope.PROCESSWORKSHOPID,
|
|
|
- max(apope.PROCESSWORKSHOP) PROCESSWORKSHOP,
|
|
|
- sum(if(YEAR(arr.REPORTWORKTIME) = YEAR(CURRENT_DATE) and MONTH(arr.REPORTWORKTIME) = MONTH(CURRENT_DATE), -- 本月
|
|
|
- 1,null)) ACTUALPRODUCEVOLUME, -- 本月实际已加工量
|
|
|
- sum(if(DATE(arr.REPORTWORKTIME) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY), -- 昨日
|
|
|
- 1,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='20' -- 轧机
|
|
|
- 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
|
|
|
- )
|
|
|
+ DATE(apope.PLANENDDATE) PROCESSDAY,
|
|
|
+ max(apope.PROCESSWORKSHOP) PROCESSWORKSHOP,
|
|
|
+ sum(if(YEAR(apope.PLANENDDATE) = YEAR(CURRENT_DATE) and WEEK(apope.PLANENDDATE) = WEEK(CURRENT_DATE), -- 本周
|
|
|
+ apope.PLANPROCESSRALL-apope.CANCELROLL,null)) PLANPRODUCEVOLUME, -- 本周计划加工量
|
|
|
+ sum(if(DATE(apope.PLANENDDATE) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY), -- 昨日
|
|
|
+ apope.PLANPROCESSRALL-apope.CANCELROLL,null)) YPLANPRODUCEVOLUME -- 昨日计划加工量
|
|
|
+ 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='20' -- 轧机
|
|
|
+ and apo.PROCESSSTATUS in ('30','40','50') -- 已发布
|
|
|
+ and (apope.PLANPROCESSRALL-apope.CANCELROLL)>0 -- 计划加工卷数- 已取消卷数合计
|
|
|
+ and (YEAR(apope.PLANENDDATE) = YEAR(CURRENT_DATE) and WEEK(apope.PLANENDDATE) = WEEK(CURRENT_DATE) -- 本周
|
|
|
+ or DATE(apope.PLANENDDATE) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY)) -- 昨日
|
|
|
+ and apo.TENANTID=#{tenantId}
|
|
|
+ group by
|
|
|
+ apope.PROCESSWORKSHOPID,PROCESSDAY
|
|
|
+ ),
|
|
|
+ actual as (
|
|
|
+ -- 按照车间分组统计本周轧机工序类别实际加工量
|
|
|
+ select
|
|
|
+ apo.TENANTID,
|
|
|
+ apope.PROCESSWORKSHOPID,
|
|
|
+ DATE(arr.REPORTWORKTIME) PROCESSDAY,
|
|
|
+ max(apope.PROCESSWORKSHOP) PROCESSWORKSHOP,
|
|
|
+ sum(if(YEAR(arr.REPORTWORKTIME) = YEAR(CURRENT_DATE) and WEEK(arr.REPORTWORKTIME) = WEEK(CURRENT_DATE), -- 本周
|
|
|
+ 1,null)) ACTUALPRODUCEVOLUME, -- 本周实际已加工量
|
|
|
+ sum(if(DATE(arr.REPORTWORKTIME) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY), -- 昨日
|
|
|
+ 1,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='20' -- 轧机
|
|
|
+ and arr.REPORTWORKSTATUS='已报工'
|
|
|
+ and (YEAR(arr.REPORTWORKTIME) = YEAR(CURRENT_DATE) and WEEK(arr.REPORTWORKTIME) = WEEK(CURRENT_DATE) -- 本周
|
|
|
+ or DATE(arr.REPORTWORKTIME) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY)) -- 昨日
|
|
|
+ and apo.TENANTID=#{tenantId}
|
|
|
+ group by
|
|
|
+ apope.PROCESSWORKSHOPID,PROCESSDAY
|
|
|
+ )
|
|
|
select
|
|
|
plan.PROCESSWORKSHOPID
|
|
|
,plan.PROCESSWORKSHOP
|
|
|
- ,ifnull(ROUND(plan.PLANPRODUCEVOLUME,2),0) PLANPRODUCEVOLUME -- 本月计划加工(道次)
|
|
|
- ,ifnull(ROUND(plan.YPLANPRODUCEVOLUME,2),0) YPLANPRODUCEVOLUME -- 昨日计划加工(道次)
|
|
|
- ,ifnull(ROUND(actual.ACTUALPRODUCEVOLUME,2),0) ACTUALPRODUCEVOLUME -- 本月实际已加工(道次)
|
|
|
- ,ifnull(ROUND(actual.YACTUALPRODUCEVOLUME,2),0) YACTUALPRODUCEVOLUME -- 昨日实际已加工(道次)
|
|
|
- ,ROUND(if(plan.PLANPRODUCEVOLUME is null or plan.PLANPRODUCEVOLUME = 0,
|
|
|
- 1, actual.ACTUALPRODUCEVOLUME/plan.PLANPRODUCEVOLUME),2) COMPLETIONRATIO -- 本月实际已完成比例
|
|
|
+ ,IFNULL(ROUND(sum(if(YEAR(plan.PROCESSDAY) = YEAR(CURRENT_DATE) and WEEK(plan.PROCESSDAY) = WEEK(CURRENT_DATE),plan.PLANPRODUCEVOLUME,null)),2),0) AS 'WEEKPLANPRODUCEVOLUME' -- 本周计划加工(吨)
|
|
|
+ ,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(YEAR(actual.PROCESSDAY) = YEAR(CURRENT_DATE) and WEEK(actual.PROCESSDAY) = WEEK(CURRENT_DATE),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,
|
|
|
+-- 1, actual.ACTUALPRODUCEVOLUME/plan.PLANPRODUCEVOLUME),2) COMPLETIONRATIO -- 本周实际已完成比例
|
|
|
+ ,IFNULL(ROUND(AVG(actual.ACTUALPRODUCEVOLUME),2),0) COMPLETIONRATIO -- 本周日平均
|
|
|
from
|
|
|
- plan left join actual on plan.PROCESSWORKSHOPID=actual.PROCESSWORKSHOPID
|
|
|
+ plan left join actual on plan.PROCESSWORKSHOPID=actual.PROCESSWORKSHOPID and plan.PROCESSDAY=actual.PROCESSDAY
|
|
|
union -- mysql 该版本不支持full join,通过left join 和right join配合
|
|
|
select
|
|
|
actual.PROCESSWORKSHOPID
|
|
|
,actual.PROCESSWORKSHOP
|
|
|
- ,ifnull(ROUND(plan.PLANPRODUCEVOLUME,2),0) PLANPRODUCEVOLUME -- 本月计划加工(道次)
|
|
|
- ,ifnull(ROUND(plan.YPLANPRODUCEVOLUME,2),0) YPLANPRODUCEVOLUME -- 昨日计划加工(道次)
|
|
|
- ,ifnull(ROUND(actual.ACTUALPRODUCEVOLUME,2),0) ACTUALPRODUCEVOLUME -- 本月实际已加工(道次)
|
|
|
- ,ifnull(ROUND(actual.YACTUALPRODUCEVOLUME,2),0) YACTUALPRODUCEVOLUME -- 昨日实际已加工(道次)
|
|
|
- ,ROUND(if(plan.PLANPRODUCEVOLUME is null or plan.PLANPRODUCEVOLUME = 0,
|
|
|
- 1, actual.ACTUALPRODUCEVOLUME/plan.PLANPRODUCEVOLUME),2) COMPLETIONRATIO -- 本月实际已完成比例
|
|
|
+ ,IFNULL(ROUND(sum(if(YEAR(plan.PROCESSDAY) = YEAR(CURRENT_DATE) and WEEK(plan.PROCESSDAY) = WEEK(CURRENT_DATE),plan.PLANPRODUCEVOLUME,null)),2),0) AS 'WEEKPLANPRODUCEVOLUME' -- 本周计划加工(吨)
|
|
|
+ ,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(YEAR(actual.PROCESSDAY) = YEAR(CURRENT_DATE) and WEEK(actual.PROCESSDAY) = WEEK(CURRENT_DATE),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,
|
|
|
+-- 1, actual.ACTUALPRODUCEVOLUME/plan.PLANPRODUCEVOLUME),2) COMPLETIONRATIO -- 本周实际已完成比例
|
|
|
+ ,IFNULL(ROUND(AVG(actual.ACTUALPRODUCEVOLUME),2),0) COMPLETIONRATIO -- 本周日平均
|
|
|
from
|
|
|
- plan right join actual on plan.PROCESSWORKSHOPID=actual.PROCESSWORKSHOPID
|
|
|
+ plan right join actual on plan.PROCESSWORKSHOPID=actual.PROCESSWORKSHOPID and plan.PROCESSDAY=actual.PROCESSDAY
|
|
|
</select>
|
|
|
<select id="selectAvgZjProcessPhoto" resultType="com.rongwei.bsentity.domain.ApsReportZjProcessPhoto">
|
|
|
with months as (
|
|
@@ -1250,87 +1262,95 @@
|
|
|
select
|
|
|
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
|
|
|
- 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
|
|
|
- apope.PROCESSDEVICEID+arr.HEATNUMBER 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
|
|
|
- apope.PROCESSDEVICEID,arr.HEATNUMBER
|
|
|
- ) heat
|
|
|
- group by PROCESSWORKSHOPID
|
|
|
- )
|
|
|
+ DATE(PLANENDDATE) PROCESSDAY,
|
|
|
+ count(if(YEAR(heat.PROCESSDAY) = YEAR(CURRENT_DATE) and WEEK(heat.PROCESSDAY) = WEEK(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,
|
|
|
+ apope.PLANENDDATE
|
|
|
+ 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 WEEK(apope.PLANENDDATE) = WEEK(CURRENT_DATE) -- 本周
|
|
|
+ or DATE(apope.PLANENDDATE) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY)) -- 昨日
|
|
|
+ and apo.TENANTID=#{tenantId}
|
|
|
+ group by
|
|
|
+ HEATNUMBER -- 计划炉次
|
|
|
+ ) heat
|
|
|
+ group by PROCESSWORKSHOPID,PROCESSDAY
|
|
|
+ ),
|
|
|
+ actual as (
|
|
|
+ -- 按照车间分组统计本周退火工序类别实际加工量
|
|
|
+ select
|
|
|
+ PROCESSWORKSHOPID,
|
|
|
+ max(PROCESSWORKSHOP) PROCESSWORKSHOP,
|
|
|
+ DATE(REPORTWORKTIME) PROCESSDAY,
|
|
|
+ count(if(YEAR(heat.PROCESSDAY) = YEAR(CURRENT_DATE) and WEEK(heat.PROCESSDAY) = WEEK(CURRENT_DATE), -- 本周
|
|
|
+ HEATNUMBER,null)) ACTUALPRODUCEVOLUME, -- 本周实际已加工(炉次)
|
|
|
+ count(if(DATE(heat.PROCESSDAY) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY), -- 昨日
|
|
|
+ HEATNUMBER,null)) YACTUALPRODUCEVOLUME -- 昨日实际已加工(炉次)
|
|
|
+ from(
|
|
|
+ select
|
|
|
+ apope.PROCESSDEVICEID+arr.HEATNUMBER HEATNUMBER, -- 炉次
|
|
|
+ max(DATE(arr.REPORTWORKTIME)) PROCESSDAY,
|
|
|
+ max(apope.PROCESSWORKSHOPID) PROCESSWORKSHOPID,
|
|
|
+ max(apope.PROCESSWORKSHOP) PROCESSWORKSHOP,
|
|
|
+ arr.REPORTWORKTIME
|
|
|
+ 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 WEEK(arr.REPORTWORKTIME) = WEEK(CURRENT_DATE) -- 本周
|
|
|
+ or DATE(arr.REPORTWORKTIME) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY)) -- 昨日
|
|
|
+ and apo.TENANTID=#{tenantId}
|
|
|
+ group by
|
|
|
+ apope.PROCESSDEVICEID,arr.HEATNUMBER
|
|
|
+ ) heat
|
|
|
+ group by PROCESSWORKSHOPID,PROCESSDAY
|
|
|
+ )
|
|
|
select
|
|
|
plan.PROCESSWORKSHOPID
|
|
|
,plan.PROCESSWORKSHOP
|
|
|
- ,IFNULL(ROUND(plan.PLANPRODUCEVOLUME,2),0) PLANPRODUCEVOLUME -- 本月计划加工(炉次)
|
|
|
- ,IFNULL(ROUND(plan.YPLANPRODUCEVOLUME,2),0) YPLANPRODUCEVOLUME -- 昨日计划加工(炉次)
|
|
|
- ,IFNULL(ROUND(actual.ACTUALPRODUCEVOLUME,2),0) ACTUALPRODUCEVOLUME -- 本月实际已加工(炉次)
|
|
|
- ,IFNULL(ROUND(actual.YACTUALPRODUCEVOLUME,2),0) YACTUALPRODUCEVOLUME -- 昨日实际已加工(炉次)
|
|
|
- ,ROUND(if(plan.PLANPRODUCEVOLUME is null or plan.PLANPRODUCEVOLUME = 0,
|
|
|
- 1, actual.ACTUALPRODUCEVOLUME/plan.PLANPRODUCEVOLUME),2) COMPLETIONRATIO -- 本月实际已完成比例
|
|
|
+ ,IFNULL(ROUND(sum(if(YEAR(plan.PROCESSDAY) = YEAR(CURRENT_DATE) and WEEK(plan.PROCESSDAY) = WEEK(CURRENT_DATE),plan.PLANPRODUCEVOLUME,null)),2),0) AS 'WEEKPLANPRODUCEVOLUME' -- 本周计划加工(吨)
|
|
|
+ ,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(YEAR(actual.PROCESSDAY) = YEAR(CURRENT_DATE) and WEEK(actual.PROCESSDAY) = WEEK(CURRENT_DATE),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,
|
|
|
+-- 1, actual.ACTUALPRODUCEVOLUME/plan.PLANPRODUCEVOLUME),2) COMPLETIONRATIO -- 本周实际已完成比例
|
|
|
+ ,IFNULL(ROUND(AVG(actual.ACTUALPRODUCEVOLUME),2),0) COMPLETIONRATIO -- 本周日平均
|
|
|
from
|
|
|
- plan left join actual on plan.PROCESSWORKSHOPID=actual.PROCESSWORKSHOPID
|
|
|
+ plan left join actual on plan.PROCESSWORKSHOPID=actual.PROCESSWORKSHOPID and plan.PROCESSDAY=actual.PROCESSDAY
|
|
|
union -- mysql 该版本不支持full join,通过left join 和right join配合
|
|
|
select
|
|
|
actual.PROCESSWORKSHOPID
|
|
|
,actual.PROCESSWORKSHOP
|
|
|
- ,IFNULL(ROUND(plan.PLANPRODUCEVOLUME,2),0) PLANPRODUCEVOLUME -- 本月计划加工(炉次)
|
|
|
- ,IFNULL(ROUND(plan.YPLANPRODUCEVOLUME,2),0) YPLANPRODUCEVOLUME -- 昨日计划加工(炉次)
|
|
|
- ,IFNULL(ROUND(actual.ACTUALPRODUCEVOLUME,2),0) ACTUALPRODUCEVOLUME -- 本月实际已加工(炉次)
|
|
|
- ,IFNULL(ROUND(actual.YACTUALPRODUCEVOLUME,2),0) YACTUALPRODUCEVOLUME -- 昨日实际已加工(炉次)
|
|
|
- ,ROUND(if(plan.PLANPRODUCEVOLUME is null or plan.PLANPRODUCEVOLUME = 0,
|
|
|
- 1, actual.ACTUALPRODUCEVOLUME/plan.PLANPRODUCEVOLUME),2) COMPLETIONRATIO -- 本月实际已完成比例
|
|
|
+ ,IFNULL(ROUND(sum(if(YEAR(plan.PROCESSDAY) = YEAR(CURRENT_DATE) and WEEK(plan.PROCESSDAY) = WEEK(CURRENT_DATE),plan.PLANPRODUCEVOLUME,null)),2),0) AS 'WEEKPLANPRODUCEVOLUME' -- 本周计划加工(吨)
|
|
|
+ ,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(YEAR(actual.PROCESSDAY) = YEAR(CURRENT_DATE) and WEEK(actual.PROCESSDAY) = WEEK(CURRENT_DATE),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,
|
|
|
+-- 1, actual.ACTUALPRODUCEVOLUME/plan.PLANPRODUCEVOLUME),2) COMPLETIONRATIO -- 本周实际已完成比例
|
|
|
+ ,IFNULL(ROUND(AVG(actual.ACTUALPRODUCEVOLUME),2),0) COMPLETIONRATIO -- 本周日平均
|
|
|
from
|
|
|
- plan right join actual on plan.PROCESSWORKSHOPID=actual.PROCESSWORKSHOPID
|
|
|
+ plan right join actual on plan.PROCESSWORKSHOPID=actual.PROCESSWORKSHOPID and plan.PROCESSDAY=actual.PROCESSDAY
|
|
|
</select>
|
|
|
<select id="selectAvgThProcessPhoto" resultType="com.rongwei.bsentity.domain.ApsReportThProcessPhoto">
|
|
|
with months as (
|
|
@@ -1470,4 +1490,78 @@
|
|
|
ORDER BY
|
|
|
yearmonth
|
|
|
</select>
|
|
|
+ <select id="selectNowWeekActualGetOrderNum" resultType="com.rongwei.bsentity.domain.ApsReportYearAndMonth">
|
|
|
+ select
|
|
|
+ apro.TENANTID AS 'tenantid',
|
|
|
+ ifnull(ROUND(sum((apope.PLANPROCESSRALL-apope.CANCELROLL)*apoom.PLANPRODROLLNUM/apo.PLANPROCESSRALL*apoom.SINGLEROLLWEIGHT),2),0) AS 'actualordernumweek' -- 本周实际接单量
|
|
|
+ from
|
|
|
+ aps_process_operation_process_equ apope
|
|
|
+ join aps_process_operation apo on apo.ID = apope.PROCESSID
|
|
|
+ join aps_process_operation_out_mater apoom on apo.id=apoom.MAINID-- 作业输出物料
|
|
|
+ join aps_blank_order abo on apo.BLANKID = abo.id
|
|
|
+ join aps_production_order apro on apro.ID = abo.PRODUCTIONORDERID
|
|
|
+ left join aps_product_detail apd on apoom.ORDERDETAILID = apd.id and apo.DELETED='0'-- 订单产品明细
|
|
|
+ left join aps_production_merge_order apmd on apmd.ORDERNO = apd.MERGEORDERNUMBER and apmd.DELETED='0'
|
|
|
+ where
|
|
|
+ apope.deleted='0' and abo.DELETED='0' and apro.deleted='0'
|
|
|
+ and apd.DELETED='0' and apoom.DELETED='0'
|
|
|
+ and ifnull(apmd.ORDERTYPE, apro.ORDERTYPE) = '客户订单' -- 订单类型为空默认为客户订单
|
|
|
+ and abo.PRODUCTSTATUS in ('30','40','50')
|
|
|
+ and (apope.PLANPROCESSRALL-apope.CANCELROLL)>0
|
|
|
+ and apoom.PLANPRODROLLNUM>0
|
|
|
+ and YEAR(apope.PLANENDDATE) = YEAR(CURRENT_DATE)
|
|
|
+ and WEEK(apope.PLANENDDATE) = WEEK(CURRENT_DATE)
|
|
|
+ GROUP BY apro.TENANTID
|
|
|
+ </select>
|
|
|
+ <select id="selectNowWeekActualProduceNum" resultType="com.rongwei.bsentity.domain.ApsReportYearAndMonth">
|
|
|
+ select
|
|
|
+ apro.TENANTID AS 'tenantid',
|
|
|
+ ifnull(ROUND(sum(aro.WEIGHT),2),0) AS 'actualfinishnumweek'
|
|
|
+ from
|
|
|
+ aps_process_operation_process_equ apope
|
|
|
+ join aps_process_operation apo on apo.ID = apope.PROCESSID
|
|
|
+ join aps_blank_order abo on apo.BLANKID = abo.id
|
|
|
+ join aps_production_order apro on apro.ID = abo.PRODUCTIONORDERID
|
|
|
+ join aps_report_records arr on apope.id=arr.PROCESSEQUID
|
|
|
+ join aps_report_output aro on arr.id=aro.mainid
|
|
|
+ join aps_process_operation_out_mater apoom on aro.OUTPUTID=apoom.ID-- 作业输出物料
|
|
|
+ left join aps_product_detail apd on apoom.ORDERDETAILID = apd.id and apd.DELETED = '0' -- 订单产品明细
|
|
|
+ left join aps_production_merge_order apmd on apmd.ORDERNO = apd.MERGEORDERNUMBER and apmd.DELETED='0'
|
|
|
+ where
|
|
|
+ apope.deleted='0' and apo.DELETED='0' and abo.DELETED='0' and apro.deleted='0'
|
|
|
+ and arr.deleted='0' and aro.DELETED='0' and apoom.DELETED = '0'
|
|
|
+ and ifnull(apmd.ORDERTYPE, apro.ORDERTYPE) = '客户订单' -- 订单类型为空默认为客户订单
|
|
|
+ and arr.CHECKSTATUS='已检验'
|
|
|
+ and aro.QUALIFIED='是'
|
|
|
+ and apoom.PLANPRODROLLNUM>0
|
|
|
+ and YEAR(arr.REPORTWORKTIME) = YEAR(CURRENT_DATE)
|
|
|
+ and WEEK(arr.REPORTWORKTIME) = WEEK(CURRENT_DATE)
|
|
|
+ GROUP BY apro.TENANTID
|
|
|
+ </select>
|
|
|
+ <select id="selectPlanMap" resultType="java.util.Map">
|
|
|
+ SELECT
|
|
|
+ aop.TENANTID AS 'tenantid',
|
|
|
+ aop.PARTYEAR AS 'year',
|
|
|
+ ifnull( ROUND( sum( ONEM )/DAY(LAST_DAY(CONCAT(aop.PARTYEAR, '-01-01'))), 4 ), 0 ) AS '01',
|
|
|
+ ifnull( ROUND( sum( TWOM )/DAY(LAST_DAY(CONCAT(aop.PARTYEAR, '-02-01'))), 4 ), 0 ) AS '02',
|
|
|
+ ifnull( ROUND( sum( THREEM )/DAY(LAST_DAY(CONCAT(aop.PARTYEAR, '-03-01'))), 4 ), 0 ) AS '03',
|
|
|
+ ifnull( ROUND( sum( FOURM )/DAY(LAST_DAY(CONCAT(aop.PARTYEAR, '-04-01'))), 4 ), 0 ) AS '04',
|
|
|
+ ifnull( ROUND( sum( FIVEM )/DAY(LAST_DAY(CONCAT(aop.PARTYEAR, '-05-01'))), 4 ), 0 ) AS '05',
|
|
|
+ ifnull( ROUND( sum( SIXM )/DAY(LAST_DAY(CONCAT(aop.PARTYEAR, '-06-01'))), 4 ), 0 ) AS '06',
|
|
|
+ ifnull( ROUND( sum( SEVENM )/DAY(LAST_DAY(CONCAT(aop.PARTYEAR, '-07-01'))), 4 ), 0 ) AS '07',
|
|
|
+ ifnull( ROUND( sum( EIGHTM )/DAY(LAST_DAY(CONCAT(aop.PARTYEAR, '-08-01'))), 4 ), 0 ) AS '08',
|
|
|
+ ifnull( ROUND( sum( NINEM )/DAY(LAST_DAY(CONCAT(aop.PARTYEAR, '-09-01'))), 4 ), 0 ) AS '09',
|
|
|
+ ifnull( ROUND( sum( TENM )/DAY(LAST_DAY(CONCAT(aop.PARTYEAR, '-10-01'))), 4 ), 0 ) AS '10',
|
|
|
+ ifnull( ROUND( sum( ELEVENM )/DAY(LAST_DAY(CONCAT(aop.PARTYEAR, '-11-01'))), 4 ), 0 ) AS '11',
|
|
|
+ ifnull( ROUND( sum( TWELVEM )/DAY(LAST_DAY(CONCAT(aop.PARTYEAR, '-12-01'))), 4 ), 0 ) AS '12'
|
|
|
+ FROM
|
|
|
+ aps_accept_order_plan aop
|
|
|
+ JOIN aps_accept_order_plan_detail aopd ON aop.id = aopd.MAINID
|
|
|
+ WHERE
|
|
|
+ aop.deleted = '0'
|
|
|
+ AND aopd.deleted = '0'
|
|
|
+ AND aop.PARTYEAR IN (YEAR(CURRENT_DATE),YEAR(CURRENT_DATE)-1)
|
|
|
+ GROUP BY
|
|
|
+ aop.TENANTID,aop.PARTYEAR
|
|
|
+ </select>
|
|
|
</mapper>
|