|
@@ -485,85 +485,84 @@
|
|
|
</select>
|
|
|
<select id="selectOrderTable" resultType="com.rongwei.bsentity.domain.ApsReportOrderFinishTable">
|
|
|
with plan as (
|
|
|
- -- 本月计划完成订单量
|
|
|
- select
|
|
|
- apope.PROCESSWORKSHOPID,
|
|
|
- max(apope.PROCESSWORKSHOP) PROCESSWORKSHOP,
|
|
|
- sum((apope.PLANPROCESSRALL-apope.CANCELROLL)*apoom.PLANPRODROLLNUM/apo.PLANPROCESSRALL*apoom.SINGLEROLLWEIGHT) PLANPRODUCEVOLUME -- 本月计划完成订单量
|
|
|
- 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
|
|
|
- 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 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 MONTH(apope.PLANENDDATE) = MONTH(CURRENT_DATE)
|
|
|
- and apro.TENANTID=#{tenantId}
|
|
|
- group by
|
|
|
- apope.PROCESSWORKSHOPID
|
|
|
+ -- 本周计划完成订单量
|
|
|
+ select
|
|
|
+ apope.PROCESSWORKSHOPID,
|
|
|
+ max(apope.PROCESSWORKSHOP) PROCESSWORKSHOP,
|
|
|
+ sum((apope.PLANPROCESSRALL-apope.CANCELROLL)*apoom.PLANPRODROLLNUM/apo.PLANPROCESSRALL*apoom.SINGLEROLLWEIGHT) PLANPRODUCEVOLUME -- 本周计划完成订单量
|
|
|
+ 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 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 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 YEARWEEK(apope.PLANENDDATE) = YEARWEEK(CURRENT_DATE)
|
|
|
+ and apro.TENANTID=#{tenantId}
|
|
|
+ group by
|
|
|
+ apope.PROCESSWORKSHOPID
|
|
|
),
|
|
|
- actual as (
|
|
|
- -- 本月和昨日实际已完成订单
|
|
|
- select
|
|
|
- apope.PROCESSWORKSHOPID,
|
|
|
- max(apope.PROCESSWORKSHOP) PROCESSWORKSHOP,
|
|
|
- sum(if(YEAR(arr.REPORTWORKTIME) = YEAR(CURRENT_DATE) and MONTH(arr.REPORTWORKTIME) = MONTH(CURRENT_DATE), -- 本月
|
|
|
- aro.WEIGHT,null)) ACTUALPRODUCEVOLUME, -- 本月实际完成订单量
|
|
|
- sum(if(DATE(arr.REPORTWORKTIME) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY), -- 昨日
|
|
|
- aro.WEIGHT,null)) YACTUALPRODUCEVOLUME -- 昨日实际完成订单量
|
|
|
- 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 MONTH(arr.REPORTWORKTIME) = MONTH(CURRENT_DATE)
|
|
|
- or DATE(arr.REPORTWORKTIME) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY))
|
|
|
- and apro.TENANTID=#{tenantId}
|
|
|
+ actual as (
|
|
|
+ -- 本周和昨日实际已完成订单
|
|
|
+ select
|
|
|
+ apope.PROCESSWORKSHOPID,
|
|
|
+ max(apope.PROCESSWORKSHOP) PROCESSWORKSHOP,
|
|
|
+ sum(if(YEARWEEK(arr.REPORTWORKTIME) = YEARWEEK(CURRENT_DATE), -- 本周
|
|
|
+ aro.WEIGHT,null)) ACTUALPRODUCEVOLUME, -- 本周实际完成订单量
|
|
|
+ sum(if(DATE(arr.REPORTWORKTIME) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY), -- 昨日
|
|
|
+ aro.WEIGHT,null)) YACTUALPRODUCEVOLUME -- 昨日实际完成订单量
|
|
|
+ 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 (YEARWEEK(arr.REPORTWORKTIME) = YEARWEEK(CURRENT_DATE)
|
|
|
+ or DATE(arr.REPORTWORKTIME) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY))
|
|
|
+ and apro.TENANTID=#{tenantId}
|
|
|
group by
|
|
|
- apope.PROCESSWORKSHOPID
|
|
|
- )
|
|
|
+ apope.PROCESSWORKSHOPID
|
|
|
+ )
|
|
|
select
|
|
|
- plan.PROCESSWORKSHOPID
|
|
|
- ,plan.PROCESSWORKSHOP
|
|
|
- ,IFNULL(ROUND(plan.PLANPRODUCEVOLUME,2),0) AS 'PLANPRODUCEVOLUME' -- 本月计划完成(吨)
|
|
|
- ,IFNULL(ROUND(actual.ACTUALPRODUCEVOLUME,2),0) AS 'ACTUALPRODUCEVOLUME' -- 本月实际已完成(吨)
|
|
|
+ plan.PROCESSWORKSHOPID
|
|
|
+ ,plan.PROCESSWORKSHOP
|
|
|
+ ,IFNULL(ROUND(plan.PLANPRODUCEVOLUME,2),0) AS 'PLANPRODUCEVOLUME' -- 本周计划完成(吨)
|
|
|
+ ,IFNULL(ROUND(actual.ACTUALPRODUCEVOLUME,2),0) AS 'ACTUALPRODUCEVOLUME' -- 本周实际已完成(吨)
|
|
|
,IFNULL(ROUND(actual.YACTUALPRODUCEVOLUME,2),0) AS 'YACTUALPRODUCEVOLUME' -- 昨日实际已完成(吨)
|
|
|
,concat(if(plan.PLANPRODUCEVOLUME is null or plan.PLANPRODUCEVOLUME = 0,
|
|
|
- 100, ROUND(actual.ACTUALPRODUCEVOLUME/plan.PLANPRODUCEVOLUME*100,2)),'%') COMPLETIONRATIO -- 本月实际已完成比例
|
|
|
+ 100, ROUND(actual.ACTUALPRODUCEVOLUME/plan.PLANPRODUCEVOLUME*100,2)),'%') COMPLETIONRATIO -- 本周实际已完成比例
|
|
|
from
|
|
|
- plan left join actual on plan.PROCESSWORKSHOPID=actual.PROCESSWORKSHOPID
|
|
|
+ plan left join actual on plan.PROCESSWORKSHOPID=actual.PROCESSWORKSHOPID
|
|
|
union -- mysql 该版本不支持full join,通过left join 和right join配合
|
|
|
select
|
|
|
- actual.PROCESSWORKSHOPID
|
|
|
- ,actual.PROCESSWORKSHOP
|
|
|
- ,IFNULL(ROUND(plan.PLANPRODUCEVOLUME,2),0) AS 'PLANPRODUCEVOLUME' -- 本月计划完成(吨)
|
|
|
- ,IFNULL(ROUND(actual.ACTUALPRODUCEVOLUME,2),0) AS 'ACTUALPRODUCEVOLUME' -- 本月实际已完成(吨)
|
|
|
+ actual.PROCESSWORKSHOPID
|
|
|
+ ,actual.PROCESSWORKSHOP
|
|
|
+ ,IFNULL(ROUND(plan.PLANPRODUCEVOLUME,2),0) AS 'PLANPRODUCEVOLUME' -- 本周计划完成(吨)
|
|
|
+ ,IFNULL(ROUND(actual.ACTUALPRODUCEVOLUME,2),0) AS 'ACTUALPRODUCEVOLUME' -- 本周实际已完成(吨)
|
|
|
,IFNULL(ROUND(actual.YACTUALPRODUCEVOLUME,2),0) AS 'YACTUALPRODUCEVOLUME' -- 昨日实际已完成(吨)
|
|
|
,concat(if(plan.PLANPRODUCEVOLUME is null or plan.PLANPRODUCEVOLUME = 0,
|
|
|
- 100, ROUND(actual.ACTUALPRODUCEVOLUME/plan.PLANPRODUCEVOLUME*100,2)),'%') COMPLETIONRATIO -- 本月实际已完成比例
|
|
|
+ 100, ROUND(actual.ACTUALPRODUCEVOLUME/plan.PLANPRODUCEVOLUME*100,2)),'%') COMPLETIONRATIO -- 本周实际已完成比例
|
|
|
from
|
|
|
- plan right join actual on plan.PROCESSWORKSHOPID=actual.PROCESSWORKSHOPID
|
|
|
+ plan right join actual on plan.PROCESSWORKSHOPID=actual.PROCESSWORKSHOPID
|
|
|
</select>
|
|
|
<select id="selectOrderFinishPhotoAvg" resultType="com.rongwei.bsentity.domain.ApsReportOrderFinishPhoto">
|
|
|
with months as (
|