sucheng il y a 7 mois
Parent
commit
babd29f46a
15 fichiers modifiés avec 913 ajouts et 10 suppressions
  1. 13 3
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProductionOrderDao.java
  2. 15 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsReportCastRollPhotoMapper.java
  3. 15 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsReportCastRollTableMapper.java
  4. 15 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsReportOrderFinishPhotoMapper.java
  5. 11 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsReportCastRollPhotoService.java
  6. 11 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsReportCastRollTableService.java
  7. 11 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsReportOrderFinishPhotoService.java
  8. 121 7
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsProductionOrderServiceImpl.java
  9. 20 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsReportCastRollPhotoServiceImpl.java
  10. 20 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsReportCastRollTableServiceImpl.java
  11. 20 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsReportOrderFinishPhotoServiceImpl.java
  12. 401 0
      cx-aps/cx-aps-common/src/main/resources/mybatis/ApsProductionOrderDao.xml
  13. 76 0
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsReportCastRollPhoto.java
  14. 88 0
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsReportCastRollTable.java
  15. 76 0
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsReportOrderFinishPhoto.java

+ 13 - 3
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProductionOrderDao.java

@@ -1,9 +1,7 @@
 package com.rongwei.bscommon.sys.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.rongwei.bsentity.domain.ApsProcessOperationDo;
-import com.rongwei.bsentity.domain.ApsProductionOrderDo;
-import com.rongwei.bsentity.domain.ApsReportYearAndMonth;
+import com.rongwei.bsentity.domain.*;
 import com.rongwei.bsentity.vo.BlankIdAndWorkShopVo;
 import com.rongwei.bsentity.vo.ProductDetailIdAndPlanOutPutRollCountAllVo;
 import com.rongwei.bsentity.vo.ProductTypeIdAndPidVo;
@@ -97,6 +95,18 @@ public interface ApsProductionOrderDao extends BaseMapper<ApsProductionOrderDo>
     List<ApsReportYearAndMonth> selectNowMonthActualGetOrderNum();
 
     List<ApsReportYearAndMonth> selectNowMonthActualProduceNum();
+
+    List<ApsReportOrderFinishTable> selectOrderTable(@Param("tenantId") String tenantId);
+
+    ApsReportOrderFinishPhoto selectOrderFinishPhotoAvg(@Param("tenantId") String tenantId);
+
+    List<ApsReportOrderFinishPhoto> selectOrderFinishPhotoByMonth(@Param("tenantId") String tenantId);
+
+    List<ApsReportCastRollTable> selectCastRollData(@Param("tenantId") String tenantId);
+
+    ApsReportCastRollPhoto selectCastRollPhotoAvg(@Param("tenantId") String tenantId);
+
+    List<ApsReportCastRollPhoto> selectCastRollPhoto(@Param("tenantId") String tenantId);
 }
 
 

+ 15 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsReportCastRollPhotoMapper.java

@@ -0,0 +1,15 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ApsReportCastRollPhoto;
+
+/**
+ * @Entity generator.domain.ApsReportCastRollPhoto
+ */
+public interface ApsReportCastRollPhotoMapper extends BaseMapper<ApsReportCastRollPhoto> {
+
+}
+
+
+
+

+ 15 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsReportCastRollTableMapper.java

@@ -0,0 +1,15 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ApsReportCastRollTable;
+
+/**
+ * @Entity generator.domain.ApsReportCastRollTable
+ */
+public interface ApsReportCastRollTableMapper extends BaseMapper<ApsReportCastRollTable> {
+
+}
+
+
+
+

+ 15 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsReportOrderFinishPhotoMapper.java

@@ -0,0 +1,15 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ApsReportOrderFinishPhoto;
+
+/**
+ * @Entity generator.domain.ApsReportOrderFinishPhoto
+ */
+public interface ApsReportOrderFinishPhotoMapper extends BaseMapper<ApsReportOrderFinishPhoto> {
+
+}
+
+
+
+

+ 11 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsReportCastRollPhotoService.java

@@ -0,0 +1,11 @@
+package com.rongwei.bscommon.sys.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.domain.ApsReportCastRollPhoto;
+
+/**
+ *
+ */
+public interface ApsReportCastRollPhotoService extends IService<ApsReportCastRollPhoto> {
+
+}

+ 11 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsReportCastRollTableService.java

@@ -0,0 +1,11 @@
+package com.rongwei.bscommon.sys.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.domain.ApsReportCastRollTable;
+
+/**
+ *
+ */
+public interface ApsReportCastRollTableService extends IService<ApsReportCastRollTable> {
+
+}

+ 11 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsReportOrderFinishPhotoService.java

@@ -0,0 +1,11 @@
+package com.rongwei.bscommon.sys.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.domain.ApsReportOrderFinishPhoto;
+
+/**
+ *
+ */
+public interface ApsReportOrderFinishPhotoService extends IService<ApsReportOrderFinishPhoto> {
+
+}

+ 121 - 7
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsProductionOrderServiceImpl.java

@@ -135,8 +135,14 @@ public class ApsProductionOrderServiceImpl extends ServiceImpl<ApsProductionOrde
     private ApsWorkInProgressInventoryService apsWorkInProgressInventoryService;
     @Autowired
     private ApsReportYearAndMonthService apsReportYearAndMonthService;
-    @Resource
-    private ApsReportYearAndMonthDao apsReportYearAndMonthDao;
+    @Autowired
+    private ApsReportOrderFinishTableService apsReportOrderFinishTableService;
+    @Autowired
+    private ApsReportOrderFinishPhotoService apsReportOrderFinishPhotoService;
+    @Autowired
+    private ApsReportCastRollTableService apsReportCastRollTableService;
+    @Autowired
+    private ApsReportCastRollPhotoService apsReportCastRollPhotoService;
 
 
     public static final String ERROR_MSG = "%s上诉订单的排程交货期大于承诺交货期";
@@ -1066,19 +1072,125 @@ public class ApsProductionOrderServiceImpl extends ServiceImpl<ApsProductionOrde
         } catch (Exception e) {
             log.error("生成大屏订单完成情况表格失败");
         }
+        //订单完成情况趋势图
+        try {
+            log.info("开始生成大屏订单完成情况趋势图");
+            setOrderFinishTrend();
+        } catch (Exception e) {
+            log.error("生成大屏订单完成情况趋势图失败");
+        }
+        //铸轧生产情况表格
+        try {
+            log.info("开始生成大屏铸轧生产情况表格");
+            setCastRollData();
+        } catch (Exception e) {
+            log.error("生成大屏铸轧生产情况表格失败");
+        }
+        //铸轧生产情况趋势图
+        try {
+            log.info("开始生成大屏铸轧生产情况趋势图");
+            setCastRollTrend();
+        } catch (Exception e) {
+            log.error("生成大屏铸轧生产情况趋势图失败");
+        }
+
+    }
 
+    private void setCastRollTrend() {
+        List<ApsReportCastRollPhoto> resInsertList = new LinkedList<>();
+        //根据工厂分别生成指定数据
+        SaveConstans.COMPANY_MAP.forEach((key, value) -> {
+            //平均值
+            ApsReportCastRollPhoto apsReportCastRollPhotoAvg = this.baseMapper.selectCastRollPhotoAvg(key);
+            //近12月份值
+            List<ApsReportCastRollPhoto> list = this.baseMapper.selectCastRollPhoto(key);
+            if (ObjectUtil.isNotEmpty(list)) {
+                list.forEach(item -> {
+                    item.setId(SecurityUtil.getUUID());
+                    item.setTenantid(key);
+                    item.setTenantname(value);
+                    item.setAvgplanproducevolume(apsReportCastRollPhotoAvg.getAvgplanproducevolume());
+                    item.setAvgactualproducevolume(apsReportCastRollPhotoAvg.getAvgactualproducevolume());
+                });
+                resInsertList.addAll(list);
+            }
+        });
+        //更新
+        if (ObjectUtil.isNotEmpty(resInsertList)) {
+            apsReportCastRollPhotoService.remove(new LambdaQueryWrapper<ApsReportCastRollPhoto>().eq(ApsReportCastRollPhoto::getDeleted, "0"));
+            apsReportCastRollPhotoService.saveBatch(resInsertList);
+        }
+    }
 
+    private void setCastRollData() {
+        List<ApsReportCastRollTable> resInsertList = new LinkedList<>();
+        //根据工厂分别生成指定数据
+        SaveConstans.COMPANY_MAP.forEach((key, value) -> {
+            List<ApsReportCastRollTable> list = this.baseMapper.selectCastRollData(key);
+            if (ObjectUtil.isNotEmpty(list)) {
+                list.forEach(item -> {
+                    item.setId(SecurityUtil.getUUID());
+                    item.setTenantid(key);
+                    item.setTenantname(value);
+                });
+                resInsertList.addAll(list);
+            }
+        });
+        //更新
+        if (ObjectUtil.isNotEmpty(resInsertList)) {
+            apsReportCastRollTableService.remove(new LambdaQueryWrapper<ApsReportCastRollTable>().eq(ApsReportCastRollTable::getDeleted, "0"));
+            apsReportCastRollTableService.saveBatch(resInsertList);
+        }
+    }
 
+    private void setOrderFinishTrend() {
+        List<ApsReportOrderFinishPhoto> resInsertList = new LinkedList<>();
+        //根据工厂分别生成指定数据
+        SaveConstans.COMPANY_MAP.forEach((key, value) -> {
+            //平均值
+            ApsReportOrderFinishPhoto apsReportOrderFinishPhotoAvg = this.baseMapper.selectOrderFinishPhotoAvg(key);
+            //近12月值
+            List<ApsReportOrderFinishPhoto> list = this.baseMapper.selectOrderFinishPhotoByMonth(key);
+            if (ObjectUtil.isNotEmpty(list)) {
+                list.forEach(item -> {
+                    item.setId(SecurityUtil.getUUID());
+                    item.setTenantid(key);
+                    item.setTenantname(value);
+                    item.setAvgplanproducevolume(apsReportOrderFinishPhotoAvg.getAvgplanproducevolume());
+                    item.setAvgactualproducevolume(apsReportOrderFinishPhotoAvg.getAvgactualproducevolume());
+                });
+                resInsertList.addAll(list);
+            }
+        });
+        //更新
+        if (!resInsertList.isEmpty()) {
+            apsReportOrderFinishPhotoService.remove(new LambdaQueryWrapper<ApsReportOrderFinishPhoto>().eq(ApsReportOrderFinishPhoto::getDeleted, "0"));
+            apsReportOrderFinishPhotoService.saveBatch(resInsertList);
+        }
     }
 
     /**
      * 生成订单完成情况表格
      */
     private void setOrderFinishTable() {
+        List<ApsReportOrderFinishTable> resInsertList = new LinkedList<>();
         //根据工厂分别生成指定数据
         SaveConstans.COMPANY_MAP.forEach((key, value) -> {
-//            this.baseMapper.selectOrderTable(key);
+            List<ApsReportOrderFinishTable> list = this.baseMapper.selectOrderTable(key);
+            if (ObjectUtil.isNotEmpty(list)) {
+                list.forEach(item -> {
+                    item.setId(SecurityUtil.getUUID());
+                    item.setTenantid(key);
+                    item.setTenantname(value);
+                });
+                resInsertList.addAll(list);
+            }
         });
+        //更新
+        if (!resInsertList.isEmpty()) {
+            apsReportOrderFinishTableService.remove(new LambdaQueryWrapper<ApsReportOrderFinishTable>().eq(ApsReportOrderFinishTable::getDeleted, "0"));
+            apsReportOrderFinishTableService.saveBatch(resInsertList);
+        }
     }
 
     /**
@@ -1238,10 +1350,12 @@ public class ApsProductionOrderServiceImpl extends ServiceImpl<ApsProductionOrde
                     item.getActualfinishnummonth() + "(" + pre + "%)");
         });
         //================更新数据==================
-        //删除所有之前的数据
-        apsReportYearAndMonthService.remove(new QueryWrapper<ApsReportYearAndMonth>().lambda().eq(ApsReportYearAndMonth::getDeleted, "0"));
-        //插入新的数据
-        apsReportYearAndMonthService.saveBatch(resInsertList);
+        if (!resInsertList.isEmpty()) {
+            //删除所有之前的数据
+            apsReportYearAndMonthService.remove(new QueryWrapper<ApsReportYearAndMonth>().lambda().eq(ApsReportYearAndMonth::getDeleted, "0"));
+            //插入新的数据
+            apsReportYearAndMonthService.saveBatch(resInsertList);
+        }
     }
 
 }

+ 20 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsReportCastRollPhotoServiceImpl.java

@@ -0,0 +1,20 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.ApsReportCastRollPhotoMapper;
+import com.rongwei.bscommon.sys.service.ApsReportCastRollPhotoService;
+import com.rongwei.bsentity.domain.ApsReportCastRollPhoto;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ */
+@Service
+public class ApsReportCastRollPhotoServiceImpl extends ServiceImpl<ApsReportCastRollPhotoMapper, ApsReportCastRollPhoto>
+    implements ApsReportCastRollPhotoService {
+
+}
+
+
+
+

+ 20 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsReportCastRollTableServiceImpl.java

@@ -0,0 +1,20 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.ApsReportCastRollTableMapper;
+import com.rongwei.bscommon.sys.service.ApsReportCastRollTableService;
+import com.rongwei.bsentity.domain.ApsReportCastRollTable;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ */
+@Service
+public class ApsReportCastRollTableServiceImpl extends ServiceImpl<ApsReportCastRollTableMapper, ApsReportCastRollTable>
+    implements ApsReportCastRollTableService {
+
+}
+
+
+
+

+ 20 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsReportOrderFinishPhotoServiceImpl.java

@@ -0,0 +1,20 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.ApsReportOrderFinishPhotoMapper;
+import com.rongwei.bscommon.sys.service.ApsReportOrderFinishPhotoService;
+import com.rongwei.bsentity.domain.ApsReportOrderFinishPhoto;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ */
+@Service
+public class ApsReportOrderFinishPhotoServiceImpl extends ServiceImpl<ApsReportOrderFinishPhotoMapper, ApsReportOrderFinishPhoto>
+    implements ApsReportOrderFinishPhotoService {
+
+}
+
+
+
+

+ 401 - 0
cx-aps/cx-aps-common/src/main/resources/mybatis/ApsProductionOrderDao.xml

@@ -485,4 +485,405 @@
           and MONTH(apope.ACTUALFINISHDATE) = MONTH(CURRENT_DATE)
         GROUP BY apro.TENANTID
     </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 -- 订单产品明细
+        left join aps_product_specs aps on apoom.THICKNESS > aps.THICKSTR and apoom.THICKNESS &lt;= aps.THICKEND
+        left join aps_production_merge_order apmd on apmd.ID = apd.MERGEORDERNUMBER and apmd.DELETED='0'
+        where
+        apope.deleted='0' and apo.DELETED='0' and abo.DELETED='0' and apro.deleted='0'
+        and apd.DELETED='0' and apoom.DELETED='0' and aps.DELETED='0'
+        and (ifnull(apmd.ORDERTYPE, apro.ORDERTYPE) in ('客户订单','')) -- 订单类型为空默认为客户订单
+        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
+        ),
+        actual as (
+        -- 本月和昨日实际已完成订单
+        select
+        apope.PROCESSWORKSHOPID,
+        max(apope.PROCESSWORKSHOP) PROCESSWORKSHOP,
+        sum(if(YEAR(apope.ACTUALFINISHDATE) = YEAR(CURRENT_DATE) and MONTH(apope.ACTUALFINISHDATE) = MONTH(CURRENT_DATE), -- 本月
+        aro.WEIGHT,null)) ACTUALPRODUCEVOLUME, -- 本月实际完成订单量
+        sum(if(DATE(apope.ACTUALFINISHDATE) = 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_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 -- 订单产品明细
+        join aps_report_records arr on apope.id=arr.PROCESSEQUID
+        join aps_report_output aro on arr.id=aro.mainid
+        left join aps_production_merge_order apmd on apmd.ID = apd.MERGEORDERNUMBER and apmd.DELETED='0'
+        where
+        apope.deleted='0' and apo.DELETED='0' and abo.DELETED='0' and apro.deleted='0'
+        and apd.DELETED='0' and arr.deleted='0' and aro.DELETED='0'
+        and (ifnull(apmd.ORDERTYPE, apro.ORDERTYPE) in ('客户订单','')) -- 订单类型为空默认为客户订单
+        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 apro.TENANTID=#{tenantId}
+        group by
+        apope.PROCESSWORKSHOPID
+        )
+        select
+        plan.PROCESSWORKSHOPID
+        ,plan.PROCESSWORKSHOP
+        ,IFNULL(plan.PLANPRODUCEVOLUME,0) AS 'PLANPRODUCEVOLUME' -- 本月计划完成(吨)
+        ,IFNULL(actual.ACTUALPRODUCEVOLUME,0) AS 'ACTUALPRODUCEVOLUME' -- 本月实际已完成(吨)
+        ,IFNULL(actual.YACTUALPRODUCEVOLUME,0) AS 'YACTUALPRODUCEVOLUME' -- 昨日实际已完成(吨)
+        ,if(plan.PLANPRODUCEVOLUME is null or plan.PLANPRODUCEVOLUME = 0,
+        1, actual.ACTUALPRODUCEVOLUME/plan.PLANPRODUCEVOLUME) COMPLETIONRATIO -- 本月实际已完成比例
+        from
+        plan left join actual on plan.PROCESSWORKSHOPID=actual.PROCESSWORKSHOPID
+        union -- mysql 该版本不支持full join,通过left join 和right join配合
+        select
+        plan.PROCESSWORKSHOPID
+        ,plan.PROCESSWORKSHOP
+        ,IFNULL(plan.PLANPRODUCEVOLUME,0) AS 'PLANPRODUCEVOLUME' -- 本月计划完成(吨)
+        ,IFNULL(actual.ACTUALPRODUCEVOLUME,0) AS 'ACTUALPRODUCEVOLUME' -- 本月实际已完成(吨)
+        ,IFNULL(actual.YACTUALPRODUCEVOLUME,0) AS 'YACTUALPRODUCEVOLUME' -- 昨日实际已完成(吨)
+        ,if(plan.PLANPRODUCEVOLUME is null or plan.PLANPRODUCEVOLUME = 0,
+        1, actual.ACTUALPRODUCEVOLUME/plan.PLANPRODUCEVOLUME) COMPLETIONRATIO -- 本月实际已完成比例
+        from
+        plan right join actual on plan.PROCESSWORKSHOPID=actual.PROCESSWORKSHOPID
+    </select>
+    <select id="selectOrderFinishPhotoAvg" resultType="com.rongwei.bsentity.domain.ApsReportOrderFinishPhoto">
+        with months as (
+        -- 12个月
+        SELECT 0 AS n UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 10 UNION SELECT 11
+        ),
+        plan as (
+        -- 近12个月计划完成订单量
+        select
+        DATE_FORMAT(apope.PLANENDDATE, '%Y-%m') month_year,
+        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 -- 订单产品明细
+        left join aps_product_specs aps on apoom.THICKNESS > aps.THICKSTR and apoom.THICKNESS &lt;= aps.THICKEND
+        left join aps_production_merge_order apmd on apmd.ID = apd.MERGEORDERNUMBER and apmd.DELETED='0'
+        where
+        apope.deleted='0' and apo.DELETED='0' and abo.DELETED='0' and apro.deleted='0'
+        and apd.DELETED='0' and apoom.DELETED='0' and aps.DELETED='0'
+        and (ifnull(apmd.ORDERTYPE, apro.ORDERTYPE) in ('客户订单','')) -- 订单类型为空默认为客户订单
+        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 apro.TENANTID=#{tenantId}
+        group by
+        month_year
+        ),
+        actual as (
+        -- 近12个月实际已完成订单
+        select
+        DATE_FORMAT(apope.ACTUALFINISHDATE, '%Y-%m') month_year,
+        sum(aro.WEIGHT) ACTUALPRODUCEVOLUME -- 当月实际完成订单量
+        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 -- 订单产品明细
+        join aps_report_records arr on apope.id=arr.PROCESSEQUID
+        join aps_report_output aro on arr.id=aro.mainid
+        left join aps_production_merge_order apmd on apmd.ID = apd.MERGEORDERNUMBER and apmd.DELETED='0'
+        where
+        apope.deleted='0' and apo.DELETED='0' and abo.DELETED='0' and apro.deleted='0'
+        and apd.DELETED='0' and arr.deleted='0' and aro.DELETED='0'
+        and (ifnull(apmd.ORDERTYPE, apro.ORDERTYPE) in ('客户订单','')) -- 订单类型为空默认为客户订单
+        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 apro.TENANTID=#{tenantId}
+        group by
+        month_year
+        )
+        -- 计划完成订单量月平均值,实际已完成订单量月平均值
+        select
+        IFNULL(AVG(plan.PLANPRODUCEVOLUME),0) AVGPLANPRODUCEVOLUME, -- 计划完成订单量月平均
+        IFNULL(AVG(actual.ACTUALPRODUCEVOLUME),0) AVGACTUALPRODUCEVOLUME -- 实际已完成订单量月平均
+        from
+        months
+        LEFT JOIN plan ON plan.month_year = DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL months.n MONTH), '%Y-%m')
+        LEFT JOIN actual ON actual.month_year = DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL months.n MONTH), '%Y-%m') limit 1
+    </select>
+    <select id="selectOrderFinishPhotoByMonth"
+            resultType="com.rongwei.bsentity.domain.ApsReportOrderFinishPhoto">
+        with months as (
+        -- 12个月
+        SELECT 0 AS n UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 10 UNION SELECT 11
+        ),
+        plan as (
+        -- 近12个月计划完成订单量
+        select
+        DATE_FORMAT(apope.PLANENDDATE, '%Y-%m') month_year,
+        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 -- 订单产品明细
+        left join aps_product_specs aps on apoom.THICKNESS > aps.THICKSTR and apoom.THICKNESS &lt;= aps.THICKEND
+        left join aps_production_merge_order apmd on apmd.ID = apd.MERGEORDERNUMBER and apmd.DELETED='0'
+        where
+        apope.deleted='0' and apo.DELETED='0' and abo.DELETED='0' and apro.deleted='0'
+        and apd.DELETED='0' and apoom.DELETED='0' and aps.DELETED='0'
+        and (ifnull(apmd.ORDERTYPE, apro.ORDERTYPE) in ('客户订单','')) -- 订单类型为空默认为客户订单
+        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 apro.TENANTID=#TENANTID
+        group by
+        month_year
+        ),
+        actual as (
+        -- 近12个月实际已完成订单
+        select
+        DATE_FORMAT(apope.ACTUALFINISHDATE, '%Y-%m') month_year,
+        sum(aro.WEIGHT) ACTUALPRODUCEVOLUME -- 当月实际完成订单量
+        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 -- 订单产品明细
+        join aps_report_records arr on apope.id=arr.PROCESSEQUID
+        join aps_report_output aro on arr.id=aro.mainid
+        left join aps_production_merge_order apmd on apmd.ID = apd.MERGEORDERNUMBER and apmd.DELETED='0'
+        where
+        apope.deleted='0' and apo.DELETED='0' and abo.DELETED='0' and apro.deleted='0'
+        and apd.DELETED='0' and arr.deleted='0' and aro.DELETED='0'
+        and (ifnull(apmd.ORDERTYPE, apro.ORDERTYPE) in ('客户订单','')) -- 订单类型为空默认为客户订单
+        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 apro.TENANTID=#TENANTID
+        group by
+        month_year
+        )
+        select
+            DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL months.n MONTH), '%Y-%m') month_year,
+            IFNULL(plan.PLANPRODUCEVOLUME,0) AS 'PLANPRODUCEVOLUME', -- 计划完成订单量
+            IFNULL(actual.ACTUALPRODUCEVOLUME,0) AS 'ACTUALPRODUCEVOLUME' -- 实际已完成订单量
+        from
+            months
+                LEFT JOIN plan ON plan.month_year = DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL months.n MONTH), '%Y-%m')
+                LEFT JOIN actual ON actual.month_year = DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL months.n MONTH), '%Y-%m')
+        ORDER BY
+            month_year
+    </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(apope.ACTUALFINISHDATE) = YEAR(CURRENT_DATE) and MONTH(apope.ACTUALFINISHDATE) = MONTH(CURRENT_DATE), -- 本月
+                            apo.SINGLEROLLWEIGHT,null)) ACTUALPRODUCEVOLUME, -- 本月实际已加工量
+                     sum(if(DATE(apope.ACTUALFINISHDATE) = 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(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
+             )
+        select
+            plan.PROCESSWORKSHOPID
+             ,plan.PROCESSWORKSHOP
+             ,IFNULL(plan.PLANPRODUCEVOLUME,0) AS 'PLANPRODUCEVOLUME' -- 本月计划加工(吨)
+             ,IFNULL(plan.YPLANPRODUCEVOLUME,0) AS 'YPLANPRODUCEVOLUME' -- 昨日计划加工(吨)
+             ,IFNULL(actual.ACTUALPRODUCEVOLUME,0) AS 'ACTUALPRODUCEVOLUME' -- 本月实际已加工(吨)
+             ,IFNULL(actual.YACTUALPRODUCEVOLUME,0) AS 'YACTUALPRODUCEVOLUME' -- 昨日实际已加工(吨)
+             ,if(plan.PLANPRODUCEVOLUME is null or plan.PLANPRODUCEVOLUME = 0,
+                 1, actual.ACTUALPRODUCEVOLUME/plan.PLANPRODUCEVOLUME) COMPLETIONRATIO -- 本月实际已完成比例
+        from
+            plan left join actual on plan.PROCESSWORKSHOPID=actual.PROCESSWORKSHOPID
+        union -- mysql 该版本不支持full join,通过left join 和right join配合
+        select
+            plan.PROCESSWORKSHOPID
+             ,plan.PROCESSWORKSHOP
+             ,IFNULL(plan.PLANPRODUCEVOLUME,0) AS 'PLANPRODUCEVOLUME' -- 本月计划加工(吨)
+             ,IFNULL(plan.YPLANPRODUCEVOLUME,0) AS 'YPLANPRODUCEVOLUME' -- 昨日计划加工(吨)
+             ,IFNULL(actual.ACTUALPRODUCEVOLUME,0) AS 'ACTUALPRODUCEVOLUME' -- 本月实际已加工(吨)
+             ,IFNULL(actual.YACTUALPRODUCEVOLUME,0) AS 'YACTUALPRODUCEVOLUME' -- 昨日实际已加工(吨)
+             ,if(plan.PLANPRODUCEVOLUME is null or plan.PLANPRODUCEVOLUME = 0,
+                 1, actual.ACTUALPRODUCEVOLUME/plan.PLANPRODUCEVOLUME) COMPLETIONRATIO -- 本月实际已完成比例
+        from
+            plan right join actual on plan.PROCESSWORKSHOPID=actual.PROCESSWORKSHOPID
+    </select>
+    <select id="selectCastRollPhotoAvg" resultType="com.rongwei.bsentity.domain.ApsReportCastRollPhoto">
+        with months as (
+            -- 12个月
+            SELECT 0 AS n UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 10 UNION SELECT 11
+        ),
+             plan as (
+                 -- 近12个月铸轧计划加工量
+                 select
+                     DATE_FORMAT(apope.PLANENDDATE, '%Y-%m') month_year,
+                     sum((apope.PLANPROCESSRALL-apope.CANCELROLL)*apo.SINGLEROLLWEIGHT) PLANPRODUCEVOLUME -- 当月计划加工量
+                 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 apope.PLANENDDATE between DATE_FORMAT(DATE_SUB(CURRENT_DATE, INTERVAL 11 MONTH), '%Y-%m-01') and CURRENT_DATE -- 近12个月计划
+                   and apo.TENANTID='0001S31000000000J0TR'
+                 group by
+                     month_year
+             ),
+             actual as (
+                 -- 近12个月铸轧实际加工量
+                 select
+                     DATE_FORMAT(apope.ACTUALFINISHDATE, '%Y-%m') month_year,
+                     sum(apo.SINGLEROLLWEIGHT) 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='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 apo.TENANTID='0001S31000000000J0TR'
+                 group by
+                     month_year
+             )
+        -- 计划加工量月平均值,实际已加工量月平均值
+        select
+            IFNULL(AVG(plan.PLANPRODUCEVOLUME),0) AVGPLANPRODUCEVOLUME, -- 计划加工量月平均
+            IFNULL(AVG(actual.ACTUALPRODUCEVOLUME),0) AVGACTUALPRODUCEVOLUME -- 实际已加工量月平均
+        from
+            months
+                LEFT JOIN plan ON plan.month_year = DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL months.n MONTH), '%Y-%m')
+                LEFT JOIN actual ON actual.month_year = DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL months.n MONTH), '%Y-%m') limit 1
+    </select>
+    <select id="selectCastRollPhoto" resultType="com.rongwei.bsentity.domain.ApsReportCastRollPhoto">
+        with months as (
+            -- 12个月
+            SELECT 0 AS n UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 10 UNION SELECT 11
+        ),
+             plan as (
+                 -- 近12个月铸轧计划加工量
+                 select
+                     DATE_FORMAT(apope.PLANENDDATE, '%Y-%m') month_year,
+                     sum((apope.PLANPROCESSRALL-apope.CANCELROLL)*apo.SINGLEROLLWEIGHT) PLANPRODUCEVOLUME -- 当月计划加工量
+                 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 apope.PLANENDDATE between DATE_FORMAT(DATE_SUB(CURRENT_DATE, INTERVAL 11 MONTH), '%Y-%m-01') and CURRENT_DATE -- 近12个月计划
+                   and apo.TENANTID='0001S31000000000J0TR'
+                 group by
+                     month_year
+             ),
+             actual as (
+                 -- 近12个月铸轧实际加工量
+                 select
+                     DATE_FORMAT(apope.ACTUALFINISHDATE, '%Y-%m') month_year,
+                     sum(apo.SINGLEROLLWEIGHT) 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='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 apo.TENANTID='0001S31000000000J0TR'
+                 group by
+                     month_year
+             )
+        select
+            DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL months.n MONTH), '%Y-%m') month_year,
+            IFNULL(plan.PLANPRODUCEVOLUME,0) AS 'PLANPRODUCEVOLUME', -- 计划加工量
+            IFNULL(actual.ACTUALPRODUCEVOLUME,0) AS 'ACTUALPRODUCEVOLUME' -- 实际已加工量
+        from
+            months
+                LEFT JOIN plan ON plan.month_year = DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL months.n MONTH), '%Y-%m')
+                LEFT JOIN actual ON actual.month_year = DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL months.n MONTH), '%Y-%m')
+        ORDER BY
+            month_year
+    </select>
 </mapper>

+ 76 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsReportCastRollPhoto.java

@@ -0,0 +1,76 @@
+package com.rongwei.bsentity.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+
+import com.rongwei.rwcommon.base.BaseDo;
+import lombok.Data;
+
+/**
+ * aps-大屏数据-订单完成情况趋势图
+ * @TableName aps_report_cast_roll_photo
+ */
+@TableName(value ="aps_report_cast_roll_photo")
+@Data
+public class ApsReportCastRollPhoto extends BaseDo implements Serializable {
+    /**
+     * 主键ID
+     */
+    @TableId(value = "ID")
+    private String id;
+
+    /**
+     * 
+     */
+    @TableField(value = "TENANTID")
+    private String tenantid;
+
+    /**
+     * 扩展json格式配置
+     */
+    @TableField(value = "ROPTION")
+    private String roption;
+
+    /**
+     * 工厂名称
+     */
+    @TableField(value = "TENANTNAME")
+    private String tenantname;
+
+    /**
+     * 年月
+     */
+    @TableField(value = "YEARMONTH")
+    private String yearmonth;
+
+    /**
+     * 计划加工量
+     */
+    @TableField(value = "PLANPRODUCEVOLUME")
+    private String planproducevolume;
+
+    /**
+     * 实际已加工量
+     */
+    @TableField(value = "ACTUALPRODUCEVOLUME")
+    private String actualproducevolume;
+
+    /**
+     * 计划加工量月平均
+     */
+    @TableField(value = "AVGPLANPRODUCEVOLUME")
+    private String avgplanproducevolume;
+
+    /**
+     * 实际已加工量月平均
+     */
+    @TableField(value = "AVGACTUALPRODUCEVOLUME")
+    private String avgactualproducevolume;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 88 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsReportCastRollTable.java

@@ -0,0 +1,88 @@
+package com.rongwei.bsentity.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+
+import com.rongwei.rwcommon.base.BaseDo;
+import lombok.Data;
+
+/**
+ * aps-大屏数据-铸轧生产情况表格
+ * @TableName aps_report_cast_roll_table
+ */
+@TableName(value ="aps_report_cast_roll_table")
+@Data
+public class ApsReportCastRollTable extends BaseDo implements Serializable {
+    /**
+     * 主键ID
+     */
+    @TableField(value = "ID")
+    private String id;
+
+    /**
+     * 
+     */
+    @TableField(value = "TENANTID")
+    private String tenantid;
+
+    /**
+     * 扩展json格式配置
+     */
+    @TableField(value = "ROPTION")
+    private String roption;
+
+    /**
+     * 工厂名称
+     */
+    @TableField(value = "TENANTNAME")
+    private String tenantname;
+
+    /**
+     * 车间ID
+     */
+    @TableField(value = "PROCESSWORKSHOPID")
+    private String processworkshopid;
+
+    /**
+     * 车间
+     */
+    @TableField(value = "PROCESSWORKSHOP")
+    private String processworkshop;
+
+    /**
+     * 本月计划加工(吨)
+     */
+    @TableField(value = "PLANPRODUCEVOLUME")
+    private String planproducevolume;
+
+    /**
+     * 本月实际已加工(吨)
+     */
+    @TableField(value = "ACTUALPRODUCEVOLUME")
+    private String actualproducevolume;
+
+    /**
+     * 昨日计划加工(吨)
+     */
+    @TableField(value = "YPLANPRODUCEVOLUME")
+    private String yplanproducevolume;
+
+    /**
+     * 昨日实际已加工(吨)
+     */
+    @TableField(value = "YACTUALPRODUCEVOLUME")
+    private String yactualproducevolume;
+
+    /**
+     * 本月实际已完成比例
+     */
+    @TableField(value = "COMPLETIONRATIO")
+    private String completionratio;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 76 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsReportOrderFinishPhoto.java

@@ -0,0 +1,76 @@
+package com.rongwei.bsentity.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+
+import com.rongwei.rwcommon.base.BaseDo;
+import lombok.Data;
+
+/**
+ * aps-大屏数据-订单完成情况趋势图
+ * @TableName aps_report_order_finish_photo
+ */
+@TableName(value ="aps_report_order_finish_photo")
+@Data
+public class ApsReportOrderFinishPhoto extends BaseDo implements Serializable {
+    /**
+     * 主键ID
+     */
+    @TableField(value = "ID")
+    private String id;
+
+    /**
+     * 
+     */
+    @TableField(value = "TENANTID")
+    private String tenantid;
+
+    /**
+     * 扩展json格式配置
+     */
+    @TableField(value = "ROPTION")
+    private String roption;
+
+    /**
+     * 工厂名称
+     */
+    @TableField(value = "TENANTNAME")
+    private String tenantname;
+
+    /**
+     * 年月
+     */
+    @TableField(value = "YEARMONTH")
+    private String yearmonth;
+
+    /**
+     * 计划完成订单量
+     */
+    @TableField(value = "PLANPRODUCEVOLUME")
+    private String planproducevolume;
+
+    /**
+     * 实际已完成订单量
+     */
+    @TableField(value = "ACTUALPRODUCEVOLUME")
+    private String actualproducevolume;
+
+    /**
+     * 计划完成订单量月平均
+     */
+    @TableField(value = "AVGPLANPRODUCEVOLUME")
+    private String avgplanproducevolume;
+
+    /**
+     * 实际已完成订单量月平均
+     */
+    @TableField(value = "AVGACTUALPRODUCEVOLUME")
+    private String avgactualproducevolume;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}