Quellcode durchsuchen

Merge remote-tracking branch 'origin/mode-min-unit' into mode-min-unit

fangpy vor 7 Monaten
Ursprung
Commit
a5a22ec40c

+ 8 - 8
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsBlankOrderServiceImpl.java

@@ -3644,14 +3644,14 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                         throw new CustomException(r.getMsg());
                     }
                 }
-                //撤回订单
-                //被撤回的作业明细
-                ApsProcessOperationProcessEquDo apsProcessOperationProcessEquDo = apsProcessOperationProcessEquService.getById(needBorrowOperationEqu.getId());
-                //被撤回的坯料计划
-                ApsBlankOrderDo changeBlankOrder = apsBlankOrderService.getById(apsProcessOperationProcessEquDo.getBlankid());
-                //被撤回的订单信息
-                ApsProductionOrderDo apsProductionOrderDo = apsProductionOrderService.getById(changeBlankOrder.getProductionorderid());
-                reportCheckService.goBackWf(needBorrowOperationEqu.getId(), apsProcessOperationProcessEquDo.getBlankid(), apsProductionOrderDo);
+//                //撤回订单
+//                //被撤回的作业明细
+//                ApsProcessOperationProcessEquDo apsProcessOperationProcessEquDo = apsProcessOperationProcessEquService.getById(needBorrowOperationEqu.getId());
+//                //被撤回的坯料计划
+//                ApsBlankOrderDo changeBlankOrder = apsBlankOrderService.getById(apsProcessOperationProcessEquDo.getBlankid());
+//                //被撤回的订单信息
+//                ApsProductionOrderDo apsProductionOrderDo = apsProductionOrderService.getById(changeBlankOrder.getProductionorderid());
+//                reportCheckService.goBackWf(needBorrowOperationEqu.getId(), apsProcessOperationProcessEquDo.getBlankid(), apsProductionOrderDo);
 
 
 //                //处理后续工序状态

+ 188 - 143
cx-aps/cx-aps-common/src/main/resources/mybatis/ApsProductionOrderDao.xml

@@ -516,9 +516,9 @@
         select
         apope.PROCESSWORKSHOPID,
         max(apope.PROCESSWORKSHOP) PROCESSWORKSHOP,
-        sum(if(YEAR(apope.ACTUALFINISHDATE) = YEAR(CURRENT_DATE) and MONTH(apope.ACTUALFINISHDATE) = MONTH(CURRENT_DATE), -- 本月
+        sum(if(YEAR(arr.REPORTWORKTIME) = YEAR(CURRENT_DATE) and MONTH(arr.REPORTWORKTIME) = MONTH(CURRENT_DATE), -- 本月
         aro.WEIGHT,null)) ACTUALPRODUCEVOLUME, -- 本月实际完成订单量
-        sum(if(DATE(apope.ACTUALFINISHDATE) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY), -- 昨日
+        sum(if(DATE(arr.REPORTWORKTIME) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY), -- 昨日
         aro.WEIGHT,null)) YACTUALPRODUCEVOLUME -- 昨日实际完成订单量
         from
         aps_process_operation_process_equ apope
@@ -537,8 +537,8 @@
         and arr.CHECKSTATUS='已检验'
         and aro.QUALIFIED='是'
         and apoom.PLANPRODROLLNUM>0
-        and (YEAR(apope.ACTUALFINISHDATE) = YEAR(CURRENT_DATE) and MONTH(apope.ACTUALFINISHDATE) = MONTH(CURRENT_DATE)
-        or DATE(apope.ACTUALFINISHDATE) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY))
+        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}
         group by
         apope.PROCESSWORKSHOPID
@@ -590,7 +590,7 @@
         and abo.PRODUCTSTATUS in ('30','40','50')
         and (apope.PLANPROCESSRALL-apope.CANCELROLL)>0
         and apoom.PLANPRODROLLNUM>0
-        and apope.PLANENDDATE between DATE_FORMAT(DATE_SUB(CURRENT_DATE, INTERVAL 11 MONTH), '%Y-%m-01') and CURRENT_DATE -- 近12个月计划
+        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 apro.TENANTID=#{tenantId}
         group by
         month_year
@@ -598,7 +598,7 @@
         actual as (
         -- 近12个月实际已完成订单
         select
-        DATE_FORMAT(apope.ACTUALFINISHDATE, '%Y-%m') month_year,
+        DATE_FORMAT(arr.REPORTWORKTIME, '%Y-%m') month_year,
         sum(aro.WEIGHT) ACTUALPRODUCEVOLUME -- 当月实际完成订单量
         from
         aps_process_operation_process_equ apope
@@ -617,7 +617,7 @@
         and arr.CHECKSTATUS='已检验'
         and aro.QUALIFIED='是'
         and apoom.PLANPRODROLLNUM>0
-        and apope.ACTUALFINISHDATE between DATE_FORMAT(DATE_SUB(CURRENT_DATE, INTERVAL 11 MONTH), '%Y-%m-01') and CURRENT_DATE -- 近12个月计划
+        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 apro.TENANTID=#{tenantId}
         group by
         month_year
@@ -657,7 +657,7 @@
         and abo.PRODUCTSTATUS in ('30','40','50')
         and (apope.PLANPROCESSRALL-apope.CANCELROLL)>0
         and apoom.PLANPRODROLLNUM>0
-        and apope.PLANENDDATE between DATE_FORMAT(DATE_SUB(CURRENT_DATE, INTERVAL 11 MONTH), '%Y-%m-01') and CURRENT_DATE -- 近12个月计划
+        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 apro.TENANTID=#{tenantId}
         group by
         month_year
@@ -665,7 +665,7 @@
         actual as (
         -- 近12个月实际已完成订单
         select
-        DATE_FORMAT(apope.ACTUALFINISHDATE, '%Y-%m') month_year,
+        DATE_FORMAT(arr.REPORTWORKTIME, '%Y-%m') month_year,
         sum(aro.WEIGHT) ACTUALPRODUCEVOLUME -- 当月实际完成订单量
         from
         aps_process_operation_process_equ apope
@@ -684,7 +684,7 @@
         and arr.CHECKSTATUS='已检验'
         and aro.QUALIFIED='是'
         and apoom.PLANPRODROLLNUM>0
-        and apope.ACTUALFINISHDATE between DATE_FORMAT(DATE_SUB(CURRENT_DATE, INTERVAL 11 MONTH), '%Y-%m-01') and CURRENT_DATE -- 近12个月计划
+        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 apro.TENANTID=#{tenantId}
         group by
         month_year
@@ -732,9 +732,9 @@
                      apo.TENANTID,
                      apope.PROCESSWORKSHOPID,
                      max(apope.PROCESSWORKSHOP) PROCESSWORKSHOP,
-                     sum(if(YEAR(apope.ACTUALFINISHDATE) = YEAR(CURRENT_DATE) and MONTH(apope.ACTUALFINISHDATE) = MONTH(CURRENT_DATE), -- 本月
+                     sum(if(YEAR(arr.REPORTWORKTIME) = YEAR(CURRENT_DATE) and MONTH(arr.REPORTWORKTIME) = MONTH(CURRENT_DATE), -- 本月
                             apo.SINGLEROLLWEIGHT,null)) ACTUALPRODUCEVOLUME, -- 本月实际已加工量
-                     sum(if(DATE(apope.ACTUALFINISHDATE) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY), -- 昨日
+                     sum(if(DATE(arr.REPORTWORKTIME) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY), -- 昨日
                             apo.SINGLEROLLWEIGHT,null)) YACTUALPRODUCEVOLUME -- 昨日实际已加工量
                  from
                      aps_report_records arr
@@ -745,8 +745,8 @@
                      apope.deleted='0' and apo.DELETED='0' and arr.deleted='0'
                    and app.PROCESSCATEGORY='10' -- 铸轧
                    and arr.REPORTWORKSTATUS='已报工'
-                   and (YEAR(apope.ACTUALFINISHDATE) = YEAR(CURRENT_DATE) and MONTH(apope.ACTUALFINISHDATE) = MONTH(CURRENT_DATE) -- 本月
-                     or DATE(apope.ACTUALFINISHDATE) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY)) -- 昨日
+                   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
@@ -794,7 +794,7 @@
                    and app.PROCESSCATEGORY='10' -- 铸轧
                    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 CURRENT_DATE -- 近12个月计划
+                   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
@@ -802,7 +802,7 @@
              actual as (
                  -- 近12个月铸轧实际加工量
                  select
-                     DATE_FORMAT(apope.ACTUALFINISHDATE, '%Y-%m') month_year,
+                     DATE_FORMAT(arr.REPORTWORKTIME, '%Y-%m') month_year,
                      sum(apo.SINGLEROLLWEIGHT) ACTUALPRODUCEVOLUME -- 当月实际已加工量
                  from
                      aps_report_records arr
@@ -813,7 +813,7 @@
                      apope.deleted='0' and apo.DELETED='0' and arr.deleted='0'
                    and app.PROCESSCATEGORY='10' -- 铸轧
                    and arr.REPORTWORKSTATUS='已报工'
-                   and apope.ACTUALFINISHDATE between DATE_FORMAT(DATE_SUB(CURRENT_DATE, INTERVAL 11 MONTH), '%Y-%m-01') and CURRENT_DATE -- 近12个月计划
+                   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
@@ -846,7 +846,7 @@
                    and app.PROCESSCATEGORY='10' -- 铸轧
                    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 CURRENT_DATE -- 近12个月计划
+                   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
@@ -854,7 +854,7 @@
              actual as (
                  -- 近12个月铸轧实际加工量
                  select
-                     DATE_FORMAT(apope.ACTUALFINISHDATE, '%Y-%m') month_year,
+                     DATE_FORMAT(arr.REPORTWORKTIME, '%Y-%m') month_year,
                      sum(apo.SINGLEROLLWEIGHT) ACTUALPRODUCEVOLUME -- 当月实际已加工量
                  from
                      aps_report_records arr
@@ -865,7 +865,7 @@
                      apope.deleted='0' and apo.DELETED='0' and arr.deleted='0'
                    and app.PROCESSCATEGORY='10' -- 铸轧
                    and arr.REPORTWORKSTATUS='已报工'
-                   and apope.ACTUALFINISHDATE between DATE_FORMAT(DATE_SUB(CURRENT_DATE, INTERVAL 11 MONTH), '%Y-%m-01') and CURRENT_DATE -- 近12个月计划
+                   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
@@ -913,9 +913,9 @@
                      apo.TENANTID,
                      apope.PROCESSWORKSHOPID,
                      max(apope.PROCESSWORKSHOP) PROCESSWORKSHOP,
-                     sum(if(YEAR(apope.ACTUALFINISHDATE) = YEAR(CURRENT_DATE) and MONTH(apope.ACTUALFINISHDATE) = MONTH(CURRENT_DATE), -- 本月
+                     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(apope.ACTUALFINISHDATE) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY), -- 昨日
+                     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
@@ -926,8 +926,8 @@
                      apope.deleted='0' and apo.DELETED='0' and arr.deleted='0'
                    and app.PROCESSCATEGORY='40' -- 精整
                    and arr.REPORTWORKSTATUS='已报工'
-                   and (YEAR(apope.ACTUALFINISHDATE) = YEAR(CURRENT_DATE) and MONTH(apope.ACTUALFINISHDATE) = MONTH(CURRENT_DATE) -- 本月
-                     or DATE(apope.ACTUALFINISHDATE) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY)) -- 昨日
+                   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
@@ -975,7 +975,7 @@
                    and app.PROCESSCATEGORY='40' -- 精整
                    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 CURRENT_DATE -- 近12个月计划
+                   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
@@ -983,7 +983,7 @@
              actual as (
                  -- 近12个月精整实际加工量
                  select
-                     DATE_FORMAT(apope.ACTUALFINISHDATE, '%Y-%m') month_year,
+                     DATE_FORMAT(arr.REPORTWORKTIME, '%Y-%m') month_year,
                      sum((LENGTH(trim( BOTH ',' FROM arr.BATCHNUMBER))-LENGTH(REPLACE(trim( BOTH ',' FROM arr.BATCHNUMBER), ',', '')) + 1) * IFNULL(arr.ACTUALROLLWEIGHT,apo.SINGLEROLLWEIGHT)) ACTUALPRODUCEVOLUME -- 当月实际已加工量
                  from
                      aps_report_records arr
@@ -994,7 +994,7 @@
                      apope.deleted='0' and apo.DELETED='0' and arr.deleted='0'
                    and app.PROCESSCATEGORY='40' -- 精整
                    and arr.REPORTWORKSTATUS='已报工'
-                   and apope.ACTUALFINISHDATE between DATE_FORMAT(DATE_SUB(CURRENT_DATE, INTERVAL 11 MONTH), '%Y-%m-01') and CURRENT_DATE -- 近12个月计划
+                   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
@@ -1027,7 +1027,7 @@
                    and app.PROCESSCATEGORY='40' -- 精整
                    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 CURRENT_DATE -- 近12个月计划
+                   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
@@ -1035,7 +1035,7 @@
              actual as (
                  -- 近12个月精整实际加工量
                  select
-                     DATE_FORMAT(apope.ACTUALFINISHDATE, '%Y-%m') month_year,
+                     DATE_FORMAT(arr.REPORTWORKTIME, '%Y-%m') month_year,
                      sum((LENGTH(trim( BOTH ',' FROM arr.BATCHNUMBER))-LENGTH(REPLACE(trim( BOTH ',' FROM arr.BATCHNUMBER), ',', '')) + 1) * IFNULL(arr.ACTUALROLLWEIGHT,apo.SINGLEROLLWEIGHT)) ACTUALPRODUCEVOLUME -- 当月实际已加工量
                  from
                      aps_report_records arr
@@ -1046,7 +1046,7 @@
                      apope.deleted='0' and apo.DELETED='0' and arr.deleted='0'
                    and app.PROCESSCATEGORY='40' -- 精整
                    and arr.REPORTWORKSTATUS='已报工'
-                   and apope.ACTUALFINISHDATE between DATE_FORMAT(DATE_SUB(CURRENT_DATE, INTERVAL 11 MONTH), '%Y-%m-01') and CURRENT_DATE -- 近12个月计划
+                   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
@@ -1094,9 +1094,9 @@
                      apo.TENANTID,
                      apope.PROCESSWORKSHOPID,
                      max(apope.PROCESSWORKSHOP) PROCESSWORKSHOP,
-                     sum(if(YEAR(apope.ACTUALFINISHDATE) = YEAR(CURRENT_DATE) and MONTH(apope.ACTUALFINISHDATE) = MONTH(CURRENT_DATE), -- 本月
+                     sum(if(YEAR(arr.REPORTWORKTIME) = YEAR(CURRENT_DATE) and MONTH(arr.REPORTWORKTIME) = MONTH(CURRENT_DATE), -- 本月
                             1,null)) ACTUALPRODUCEVOLUME, -- 本月实际已加工量
-                     sum(if(DATE(apope.ACTUALFINISHDATE) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY), --  昨日
+                     sum(if(DATE(arr.REPORTWORKTIME) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY), --  昨日
                             1,null)) YACTUALPRODUCEVOLUME -- 昨日实际已加工量
                  from
                      aps_report_records arr
@@ -1107,8 +1107,8 @@
                      apope.deleted='0' and apo.DELETED='0' and arr.deleted='0'
                    and app.PROCESSCATEGORY='20' -- 轧机
                    and arr.REPORTWORKSTATUS='已报工'
-                   and (YEAR(apope.ACTUALFINISHDATE) = YEAR(CURRENT_DATE) and MONTH(apope.ACTUALFINISHDATE) = MONTH(CURRENT_DATE) -- 本月
-                     or DATE(apope.ACTUALFINISHDATE) = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY)) -- 昨日
+                   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
@@ -1156,7 +1156,7 @@
                    and app.PROCESSCATEGORY='20' -- 轧机
                    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 CURRENT_DATE -- 近12个月计划
+                   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
@@ -1164,7 +1164,7 @@
              actual as (
                  -- 近12个月轧机实际加工量
                  select
-                     DATE_FORMAT(apope.ACTUALFINISHDATE, '%Y-%m') month_year,
+                     DATE_FORMAT(arr.REPORTWORKTIME, '%Y-%m') month_year,
                      count(arr.id) ACTUALPRODUCEVOLUME -- 当月实际已加工量
                  from
                      aps_report_records arr
@@ -1175,7 +1175,7 @@
                      apope.deleted='0' and apo.DELETED='0' and arr.deleted='0'
                    and app.PROCESSCATEGORY='20' -- 轧机
                    and arr.REPORTWORKSTATUS='已报工'
-                   and apope.ACTUALFINISHDATE between DATE_FORMAT(DATE_SUB(CURRENT_DATE, INTERVAL 11 MONTH), '%Y-%m-01') and CURRENT_DATE -- 近12个月计划
+                   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
@@ -1209,7 +1209,7 @@
                    and app.PROCESSCATEGORY='20' -- 轧机
                    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 CURRENT_DATE -- 近12个月计划
+                   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
@@ -1217,7 +1217,7 @@
              actual as (
                  -- 近12个月轧机实际加工量
                  select
-                     DATE_FORMAT(apope.ACTUALFINISHDATE, '%Y-%m') month_year,
+                     DATE_FORMAT(arr.REPORTWORKTIME, '%Y-%m') month_year,
                      count(arr.id) ACTUALPRODUCEVOLUME -- 当月实际已加工量
                  from
                      aps_report_records arr
@@ -1228,7 +1228,7 @@
                      apope.deleted='0' and apo.DELETED='0' and arr.deleted='0'
                    and app.PROCESSCATEGORY='20' -- 轧机
                    and arr.REPORTWORKSTATUS='已报工'
-                   and apope.ACTUALFINISHDATE between DATE_FORMAT(DATE_SUB(CURRENT_DATE, INTERVAL 11 MONTH), '%Y-%m-01') and CURRENT_DATE -- 近12个月计划
+                   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
@@ -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(apope.ACTUALFINISHDATE) = YEAR(CURRENT_DATE) and MONTH(apope.ACTUALFINISHDATE) = MONTH(CURRENT_DATE),
-                                       arr.HEATNUMBER, null)) ACTUALPRODUCEVOLUME, -- 本月实际已加工量
-                     count(DISTINCT if(DATE(apope.ACTUALFINISHDATE) = 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(apope.ACTUALFINISHDATE) = YEAR(CURRENT_DATE) and MONTH(apope.ACTUALFINISHDATE) = MONTH(CURRENT_DATE) -- 本月
-                     or DATE(apope.ACTUALFINISHDATE) = 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 CURRENT_DATE -- 近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(apope.ACTUALFINISHDATE, '%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 apope.ACTUALFINISHDATE between DATE_FORMAT(DATE_SUB(CURRENT_DATE, INTERVAL 11 MONTH), '%Y-%m-01') and CURRENT_DATE -- 近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 CURRENT_DATE -- 近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(apope.ACTUALFINISHDATE, '%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 apope.ACTUALFINISHDATE between DATE_FORMAT(DATE_SUB(CURRENT_DATE, INTERVAL 11 MONTH), '%Y-%m-01') and CURRENT_DATE -- 近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,