Quellcode durchsuchen

王子文 月报SUB Utility Consumption, SCTF Utility Consumption, KBI, BCC装置主要原材料及公用工程消耗 查询

wangggziwen vor 2 Jahren
Ursprung
Commit
351e38ccdc

Datei-Diff unterdrückt, da er zu groß ist
+ 1190 - 7
master/src/main/java/com/ruoyi/project/production/domain/TMonthlyProductionReport.java


+ 496 - 4
master/src/main/java/com/ruoyi/project/production/service/impl/TMonthlyProductionReportServiceImpl.java

@@ -1670,7 +1670,142 @@ public class TMonthlyProductionReportServiceImpl implements ITMonthlyProductionR
      */
     @Override
     public List<MonthlyProductionReportVO> selectSUBUtilityConsumptionByYear(Long year) {
-        return  null;
+        // 当前日期
+        Date currentDate = new Date();
+        // 当前年份
+        Long currentYear = Long.parseLong(currentDate.getYear() + 1900 + "");
+        // 当前月份
+        Long currentMonth = Long.parseLong(currentDate.getMonth() + 1 + "");
+        // 从数据库中查出的当前year的月报数据集合,每个元素对应当前year某个月的数据
+        List<TMonthlyProductionReport> tMonthlyProductionReports = tMonthlyProductionReportMapper.selectSUBUtilityConsumptionByYear(year);
+        // 前端月报数据集合,每个元素对应当前某个指标的title、unit、1~12月的数据以及年度汇总数据
+        List<MonthlyProductionReportVO> monthlyProductionReportVOs = new ArrayList<>();
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sub_con_electric","Electric","MWh"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sub_con_ng","NG","KM3"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sub_con_fg_fr_eu","FG fr EU","tom"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sub_con_lpg","LPG","Ton"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sub_con_hhp_steam","HHP Steam","Ton"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sub_con_mp_steam","MP Steam","Ton"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sub_con_lp_steam","LP Steam","Ton"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sub_con_p_condensate","P. Condensate","Ton"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sub_con_cw","CW","KT"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sub_con_n2","N2","Ton"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sub_con_ia_pa","IA&PA","KM3"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sub_con_hppa","HPPA","KM3"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sub_con_production_water","Production Water","Ton"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sub_con_hp_steam_fr_sub_net","HP Steam fr SuB-net","Ton"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sub_con_bfw","BFW","Ton"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sub_con_eo_eg_purge_gas","EO/EG purge gas","Km3"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sub_con_h2_fr_syngas_as_fule","H2 fr Syngas as fule","km3"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sub_con_hp_product","HP product","Ton"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sub_con_sub1_fg_fic1302","SUB1# FG FIC1302","Km3"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sub_con_sub2_fg_fic2302","SUB2#FG  FIC2302","Km3"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sub_con_total_ng_fc3702","total NG FC3702","Km3"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sub_con_cost_output","COST(output)","RMB/T"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sub_con_zfy","总费用","RMB"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sub_con_gljcl","锅炉净产量","T"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sub_con_cc","产汽","T/h"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sub_con_sc","输出","T/h"));
+        // 遍历从数据库中查出的月报数据集合,结果为0~12条数据不等
+        for (int i = 0; i < tMonthlyProductionReports.size(); i++) {
+            TMonthlyProductionReport tMonthlyProductionReport = tMonthlyProductionReports.get(i);
+            String subConElectric = tMonthlyProductionReport.getSubConElectric();
+            String subConNg = tMonthlyProductionReport.getSubConNg();
+            String subConFgFrEu = tMonthlyProductionReport.getSubConFgFrEu();
+            String subConLpg = tMonthlyProductionReport.getSubConLpg();
+            String subConHhpSteam = tMonthlyProductionReport.getSubConHhpSteam();
+            String subConMpSteam = tMonthlyProductionReport.getSubConMpSteam();
+            String subConLpSteam = tMonthlyProductionReport.getSubConLpSteam();
+            String subConPCondensate = tMonthlyProductionReport.getSubConPCondensate();
+            String subConCw = tMonthlyProductionReport.getSubConCw();
+            String subConN2 = tMonthlyProductionReport.getSubConN2();
+            String subConIaPa = tMonthlyProductionReport.getSubConIaPa();
+            String subConHppa = tMonthlyProductionReport.getSubConHppa();
+            String subConProductionWater = tMonthlyProductionReport.getSubConProductionWater();
+            String subConHpSteamFrSubNet = tMonthlyProductionReport.getSubConHpSteamFrSubNet();
+            String subConBfw = tMonthlyProductionReport.getSubConBfw();
+            String subConEoEgPurgeGas = tMonthlyProductionReport.getSubConEoEgPurgeGas();
+            String subConH2FrSyngasAsFule = tMonthlyProductionReport.getSubConH2FrSyngasAsFule();
+            String subConHpProduct = tMonthlyProductionReport.getSubConHpProduct();
+            String subConSub1FgFic1302 = tMonthlyProductionReport.getSubConSub1FgFic1302();
+            String subConSub2FgFic2302 = tMonthlyProductionReport.getSubConSub2FgFic2302();
+            String subConTotalNgFc3702 = tMonthlyProductionReport.getSubConTotalNgFc3702();
+            String subConCostOutput = tMonthlyProductionReport.getSubConCostOutput();
+            String subConZfy = tMonthlyProductionReport.getSubConZfy();
+            String subConGljcl = tMonthlyProductionReport.getSubConGljcl();
+            String subConCc = tMonthlyProductionReport.getSubConCc();
+            String subConSc = tMonthlyProductionReport.getSubConSc();
+            Long reportMonth = tMonthlyProductionReport.getReportMonth();   // 当前元素的所属月份
+            Long reportYear = tMonthlyProductionReport.getReportYear();     // 当前元素的所属年份
+            // 前端数据集合的class
+            Class clazz = null;
+            // 当前元素调用的set方法
+            Method method = null;
+            try {
+                clazz = Class.forName("com.ruoyi.project.production.service.impl.vo.MonthlyProductionReportVO");
+                method = this.getSetMethod(reportMonth, clazz);
+                // 按照当前元素的所属月份调取相应set方法
+                method.invoke(monthlyProductionReportVOs.get(0), subConElectric);
+                method.invoke(monthlyProductionReportVOs.get(1), subConNg);
+                method.invoke(monthlyProductionReportVOs.get(2), subConFgFrEu);
+                method.invoke(monthlyProductionReportVOs.get(3), subConLpg);
+                method.invoke(monthlyProductionReportVOs.get(4), subConHhpSteam);
+                method.invoke(monthlyProductionReportVOs.get(5), subConMpSteam);
+                method.invoke(monthlyProductionReportVOs.get(6), subConLpSteam);
+                method.invoke(monthlyProductionReportVOs.get(7), subConPCondensate);
+                method.invoke(monthlyProductionReportVOs.get(8), subConCw);
+                method.invoke(monthlyProductionReportVOs.get(9), subConN2);
+                method.invoke(monthlyProductionReportVOs.get(10), subConIaPa);
+                method.invoke(monthlyProductionReportVOs.get(11), subConHppa);
+                method.invoke(monthlyProductionReportVOs.get(12), subConProductionWater);
+                method.invoke(monthlyProductionReportVOs.get(13), subConHpSteamFrSubNet);
+                method.invoke(monthlyProductionReportVOs.get(14), subConBfw);
+                method.invoke(monthlyProductionReportVOs.get(15), subConEoEgPurgeGas);
+                method.invoke(monthlyProductionReportVOs.get(16), subConH2FrSyngasAsFule);
+                method.invoke(monthlyProductionReportVOs.get(17), subConHpProduct);
+                method.invoke(monthlyProductionReportVOs.get(18), subConSub1FgFic1302);
+                method.invoke(monthlyProductionReportVOs.get(19), subConSub2FgFic2302);
+                method.invoke(monthlyProductionReportVOs.get(20), subConTotalNgFc3702);
+                method.invoke(monthlyProductionReportVOs.get(21), subConCostOutput);
+                method.invoke(monthlyProductionReportVOs.get(22), subConZfy);
+                method.invoke(monthlyProductionReportVOs.get(23), subConGljcl);
+                method.invoke(monthlyProductionReportVOs.get(24), subConCc);
+                method.invoke(monthlyProductionReportVOs.get(25), subConSc);
+                // 当前年份=所属年份,当前月份=所属月份
+                if (currentMonth.equals(reportMonth) && currentYear.equals(reportYear)) {
+                    monthlyProductionReportVOs.get(0).setCurrently(subConElectric);
+                    monthlyProductionReportVOs.get(1).setCurrently(subConNg);
+                    monthlyProductionReportVOs.get(2).setCurrently(subConFgFrEu);
+                    monthlyProductionReportVOs.get(3).setCurrently(subConLpg);
+                    monthlyProductionReportVOs.get(4).setCurrently(subConHhpSteam);
+                    monthlyProductionReportVOs.get(5).setCurrently(subConMpSteam);
+                    monthlyProductionReportVOs.get(6).setCurrently(subConLpSteam);
+                    monthlyProductionReportVOs.get(7).setCurrently(subConPCondensate);
+                    monthlyProductionReportVOs.get(8).setCurrently(subConCw);
+                    monthlyProductionReportVOs.get(9).setCurrently(subConN2);
+                    monthlyProductionReportVOs.get(10).setCurrently(subConIaPa);
+                    monthlyProductionReportVOs.get(11).setCurrently(subConHppa);
+                    monthlyProductionReportVOs.get(12).setCurrently(subConProductionWater);
+                    monthlyProductionReportVOs.get(13).setCurrently(subConHpSteamFrSubNet);
+                    monthlyProductionReportVOs.get(14).setCurrently(subConBfw);
+                    monthlyProductionReportVOs.get(15).setCurrently(subConEoEgPurgeGas);
+                    monthlyProductionReportVOs.get(16).setCurrently(subConH2FrSyngasAsFule);
+                    monthlyProductionReportVOs.get(17).setCurrently(subConHpProduct);
+                    monthlyProductionReportVOs.get(18).setCurrently(subConSub1FgFic1302);
+                    monthlyProductionReportVOs.get(19).setCurrently(subConSub2FgFic2302);
+                    monthlyProductionReportVOs.get(20).setCurrently(subConTotalNgFc3702);
+                    monthlyProductionReportVOs.get(21).setCurrently(subConCostOutput);
+                    monthlyProductionReportVOs.get(22).setCurrently(subConZfy);
+                    monthlyProductionReportVOs.get(23).setCurrently(subConGljcl);
+                    monthlyProductionReportVOs.get(24).setCurrently(subConCc);
+                    monthlyProductionReportVOs.get(25).setCurrently(subConSc);
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        this.calcTotal(monthlyProductionReportVOs);
+        return monthlyProductionReportVOs;
     }
 
     /**
@@ -1678,7 +1813,106 @@ public class TMonthlyProductionReportServiceImpl implements ITMonthlyProductionR
      */
     @Override
     public List<MonthlyProductionReportVO> selectSCTFUtilityConsumptionByYear(Long year) {
-        return  null;
+        // 当前日期
+        Date currentDate = new Date();
+        // 当前年份
+        Long currentYear = Long.parseLong(currentDate.getYear() + 1900 + "");
+        // 当前月份
+        Long currentMonth = Long.parseLong(currentDate.getMonth() + 1 + "");
+        // 从数据库中查出的当前year的月报数据集合,每个元素对应当前year某个月的数据
+        List<TMonthlyProductionReport> tMonthlyProductionReports = tMonthlyProductionReportMapper.selectSCTFUtilityConsumptionByYear(year);
+        // 前端月报数据集合,每个元素对应当前某个指标的title、unit、1~12月的数据以及年度汇总数据
+        List<MonthlyProductionReportVO> monthlyProductionReportVOs = new ArrayList<>();
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sctf_con_electric","Electric","MWh"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sctf_con_ng","NG","KM3"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sctf_con_fg_fr_eu","FG fr EU","KM3"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sctf_con_lpg","LPG","Ton"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sctf_con_hhp_steam","HHP Steam","Ton"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sctf_con_mp_steam","MP Steam","Ton"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sctf_con_lp_steam","LP Steam","Ton"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sctf_con_p_condensate","P. Condensate","Ton"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sctf_con_cw","CW","KT"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sctf_con_n2","N2","Ton"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sctf_con_ia_pa","IA&PA","KM3"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sctf_con_hppa","HPPA","KM3"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sctf_con_production_water","Production Water","Ton"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sctf_con_hp_steam_fr_sub_net","HP Steam fr SuB-net","Ton"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sctf_con_bfw","BFW","Ton"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sctf_con_contaminated_ww","Contaminated WW","Ton"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("sctf_con_production_ww","Production WW","Ton"));
+        // 遍历从数据库中查出的月报数据集合,结果为0~12条数据不等
+        for (int i = 0; i < tMonthlyProductionReports.size(); i++) {
+            TMonthlyProductionReport tMonthlyProductionReport = tMonthlyProductionReports.get(i);
+            String sctfConElectric = tMonthlyProductionReport.getSctfConElectric();
+            String sctfConNg = tMonthlyProductionReport.getSctfConNg();
+            String sctfConFgFrEu = tMonthlyProductionReport.getSctfConFgFrEu();
+            String sctfConLpg = tMonthlyProductionReport.getSctfConLpg();
+            String sctfConHhpSteam = tMonthlyProductionReport.getSctfConHhpSteam();
+            String sctfConMpSteam = tMonthlyProductionReport.getSctfConMpSteam();
+            String sctfConLpSteam = tMonthlyProductionReport.getSctfConLpSteam();
+            String sctfConPCondensate = tMonthlyProductionReport.getSctfConPCondensate();
+            String sctfConCw = tMonthlyProductionReport.getSctfConCw();
+            String sctfConN2 = tMonthlyProductionReport.getSctfConN2();
+            String sctfConIaPa = tMonthlyProductionReport.getSctfConIaPa();
+            String sctfConHppa = tMonthlyProductionReport.getSctfConHppa();
+            String sctfConProductionWater = tMonthlyProductionReport.getSctfConProductionWater();
+            String sctfConHpSteamFrSubNet = tMonthlyProductionReport.getSctfConHpSteamFrSubNet();
+            String sctfConBfw = tMonthlyProductionReport.getSctfConBfw();
+            String sctfConContaminatedWw = tMonthlyProductionReport.getSctfConContaminatedWw();
+            String sctfConProductionWw = tMonthlyProductionReport.getSctfConProductionWw();
+            Long reportMonth = tMonthlyProductionReport.getReportMonth();   // 当前元素的所属月份
+            Long reportYear = tMonthlyProductionReport.getReportYear();     // 当前元素的所属年份
+            // 前端数据集合的class
+            Class clazz = null;
+            // 当前元素调用的set方法
+            Method method = null;
+            try {
+                clazz = Class.forName("com.ruoyi.project.production.service.impl.vo.MonthlyProductionReportVO");
+                method = this.getSetMethod(reportMonth, clazz);
+                // 按照当前元素的所属月份调取相应set方法
+                method.invoke(monthlyProductionReportVOs.get(0), sctfConElectric);
+                method.invoke(monthlyProductionReportVOs.get(1), sctfConNg);
+                method.invoke(monthlyProductionReportVOs.get(2), sctfConFgFrEu);
+                method.invoke(monthlyProductionReportVOs.get(3), sctfConLpg);
+                method.invoke(monthlyProductionReportVOs.get(4), sctfConHhpSteam);
+                method.invoke(monthlyProductionReportVOs.get(5), sctfConMpSteam);
+                method.invoke(monthlyProductionReportVOs.get(6), sctfConLpSteam);
+                method.invoke(monthlyProductionReportVOs.get(7), sctfConPCondensate);
+                method.invoke(monthlyProductionReportVOs.get(8), sctfConCw);
+                method.invoke(monthlyProductionReportVOs.get(9), sctfConN2);
+                method.invoke(monthlyProductionReportVOs.get(10), sctfConIaPa);
+                method.invoke(monthlyProductionReportVOs.get(11), sctfConHppa);
+                method.invoke(monthlyProductionReportVOs.get(12), sctfConProductionWater);
+                method.invoke(monthlyProductionReportVOs.get(13), sctfConHpSteamFrSubNet);
+                method.invoke(monthlyProductionReportVOs.get(14), sctfConBfw);
+                method.invoke(monthlyProductionReportVOs.get(15), sctfConContaminatedWw);
+                method.invoke(monthlyProductionReportVOs.get(16), sctfConProductionWw);
+                // 当前年份=所属年份,当前月份=所属月份
+                if (currentMonth.equals(reportMonth) && currentYear.equals(reportYear)) {
+                    monthlyProductionReportVOs.get(0).setCurrently(sctfConElectric);
+                    monthlyProductionReportVOs.get(1).setCurrently(sctfConNg);
+                    monthlyProductionReportVOs.get(2).setCurrently(sctfConFgFrEu);
+                    monthlyProductionReportVOs.get(3).setCurrently(sctfConLpg);
+                    monthlyProductionReportVOs.get(4).setCurrently(sctfConHhpSteam);
+                    monthlyProductionReportVOs.get(5).setCurrently(sctfConMpSteam);
+                    monthlyProductionReportVOs.get(6).setCurrently(sctfConLpSteam);
+                    monthlyProductionReportVOs.get(7).setCurrently(sctfConPCondensate);
+                    monthlyProductionReportVOs.get(8).setCurrently(sctfConCw);
+                    monthlyProductionReportVOs.get(9).setCurrently(sctfConN2);
+                    monthlyProductionReportVOs.get(10).setCurrently( sctfConIaPa);
+                    monthlyProductionReportVOs.get(11).setCurrently( sctfConHppa);
+                    monthlyProductionReportVOs.get(12).setCurrently( sctfConProductionWater);
+                    monthlyProductionReportVOs.get(13).setCurrently( sctfConHpSteamFrSubNet);
+                    monthlyProductionReportVOs.get(14).setCurrently( sctfConBfw);
+                    monthlyProductionReportVOs.get(15).setCurrently( sctfConContaminatedWw);
+                    monthlyProductionReportVOs.get(16).setCurrently( sctfConProductionWw);
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        this.calcTotal(monthlyProductionReportVOs);
+        return monthlyProductionReportVOs;
     }
 
     /**
@@ -1686,7 +1920,98 @@ public class TMonthlyProductionReportServiceImpl implements ITMonthlyProductionR
      */
     @Override
     public List<MonthlyProductionReportVO> selectKbiByYear(Long year) {
-        return  null;
+        // 当前日期
+        Date currentDate = new Date();
+        // 当前年份
+        Long currentYear = Long.parseLong(currentDate.getYear() + 1900 + "");
+        // 当前月份
+        Long currentMonth = Long.parseLong(currentDate.getMonth() + 1 + "");
+        // 从数据库中查出的当前year的月报数据集合,每个元素对应当前year某个月的数据
+        List<TMonthlyProductionReport> tMonthlyProductionReports = tMonthlyProductionReportMapper.selectKbiByYear(year);
+        // 前端月报数据集合,每个元素对应当前某个指标的title、unit、1~12月的数据以及年度汇总数据
+        List<MonthlyProductionReportVO> monthlyProductionReportVOs = new ArrayList<>();
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("kbi_pcur","Plant capacity utilization rate","%"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("kbi_energy_consumption","Energy Consumption","%"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("kbi_pepc","Product of Ethylene and Propylene and C4's base FEED","%"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("kbi_c2_c3_production","C2+C3 Production","%"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("kbi_c2_c3_target","C2+C3 target","%"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("kbi_c2_c3_target2","C2+C3 target","%"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("kbi_c2_target","C2 target","%"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("kbi_c2_target2","C2 target","%"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("kbi_lti","LTI","%"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("kbi_yepbf","Yields of Ethylene and propylene base on furnace feeds","%"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("kbi_yebf","Yields of Ethylene  base on furnace feeds","%"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("kbi_aeu_energy_consumption","AEU Energy Consumption","%"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("kbi_btx_production","BTX Production","%"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("kbi_btx_target","BTX target","%"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("kbi_btx_target2","BTX target","%"));
+        // 遍历从数据库中查出的月报数据集合,结果为0~12条数据不等
+        for (int i = 0; i < tMonthlyProductionReports.size(); i++) {
+            TMonthlyProductionReport tMonthlyProductionReport = tMonthlyProductionReports.get(i);
+            String kbiPcur = tMonthlyProductionReport.getKbiPcur();
+            String kbiEnergyConsumption = tMonthlyProductionReport.getKbiEnergyConsumption();
+            String kbiPepc = tMonthlyProductionReport.getKbiPepc();
+            String kbiC2C3Production = tMonthlyProductionReport.getKbiC2C3Production();
+            String kbiC2C3Target = tMonthlyProductionReport.getKbiC2C3Target();
+            String kbiC2C3Target2 = tMonthlyProductionReport.getKbiC2C3Target2();
+            String kbiC2Target = tMonthlyProductionReport.getKbiC2Target();
+            String kbiC2Target2 = tMonthlyProductionReport.getKbiC2Target2();
+            String kbiLti = tMonthlyProductionReport.getKbiLti();
+            String kbiYepbf = tMonthlyProductionReport.getKbiYepbf();
+            String kbiYebf = tMonthlyProductionReport.getKbiYebf();
+            String kbiAeuEnergyConsumption = tMonthlyProductionReport.getKbiAeuEnergyConsumption();
+            String kbiBtxProduction = tMonthlyProductionReport.getKbiBtxProduction();
+            String kbiBtxTarget = tMonthlyProductionReport.getKbiBtxTarget();
+            String kbiBtxTarget2 = tMonthlyProductionReport.getKbiBtxTarget2();
+            Long reportMonth = tMonthlyProductionReport.getReportMonth();   // 当前元素的所属月份
+            Long reportYear = tMonthlyProductionReport.getReportYear();     // 当前元素的所属年份
+            // 前端数据集合的class
+            Class clazz = null;
+            // 当前元素调用的set方法
+            Method method = null;
+            try {
+                clazz = Class.forName("com.ruoyi.project.production.service.impl.vo.MonthlyProductionReportVO");
+                method = this.getSetMethod(reportMonth, clazz);
+                // 按照当前元素的所属月份调取相应set方法
+                method.invoke(monthlyProductionReportVOs.get(0), kbiPcur);
+                method.invoke(monthlyProductionReportVOs.get(1), kbiEnergyConsumption);
+                method.invoke(monthlyProductionReportVOs.get(2), kbiPepc);
+                method.invoke(monthlyProductionReportVOs.get(3), kbiC2C3Production);
+                method.invoke(monthlyProductionReportVOs.get(4), kbiC2C3Target);
+                method.invoke(monthlyProductionReportVOs.get(5), kbiC2C3Target2);
+                method.invoke(monthlyProductionReportVOs.get(6), kbiC2Target);
+                method.invoke(monthlyProductionReportVOs.get(7), kbiC2Target2);
+                method.invoke(monthlyProductionReportVOs.get(8), kbiLti);
+                method.invoke(monthlyProductionReportVOs.get(9), kbiYepbf);
+                method.invoke(monthlyProductionReportVOs.get(10), kbiYebf);
+                method.invoke(monthlyProductionReportVOs.get(11), kbiAeuEnergyConsumption);
+                method.invoke(monthlyProductionReportVOs.get(12), kbiBtxProduction);
+                method.invoke(monthlyProductionReportVOs.get(13), kbiBtxTarget);
+                method.invoke(monthlyProductionReportVOs.get(14), kbiBtxTarget2);
+                // 当前年份=所属年份,当前月份=所属月份
+                if (currentMonth.equals(reportMonth) && currentYear.equals(reportYear)) {
+                    monthlyProductionReportVOs.get(0).setCurrently(kbiPcur);
+                    monthlyProductionReportVOs.get(1).setCurrently(kbiEnergyConsumption);
+                    monthlyProductionReportVOs.get(2).setCurrently(kbiPepc);
+                    monthlyProductionReportVOs.get(3).setCurrently(kbiC2C3Production);
+                    monthlyProductionReportVOs.get(4).setCurrently(kbiC2C3Target);
+                    monthlyProductionReportVOs.get(5).setCurrently(kbiC2C3Target2);
+                    monthlyProductionReportVOs.get(6).setCurrently(kbiC2Target);
+                    monthlyProductionReportVOs.get(7).setCurrently(kbiC2Target2);
+                    monthlyProductionReportVOs.get(8).setCurrently(kbiLti);
+                    monthlyProductionReportVOs.get(9).setCurrently(kbiYepbf);
+                    monthlyProductionReportVOs.get(10).setCurrently(kbiYebf);
+                    monthlyProductionReportVOs.get(11).setCurrently(kbiAeuEnergyConsumption);
+                    monthlyProductionReportVOs.get(12).setCurrently(kbiBtxProduction);
+                    monthlyProductionReportVOs.get(13).setCurrently(kbiBtxTarget);
+                    monthlyProductionReportVOs.get(14).setCurrently(kbiBtxTarget2);
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        this.calcTotal(monthlyProductionReportVOs);
+        return monthlyProductionReportVOs;
     }
 
     /**
@@ -1694,7 +2019,174 @@ public class TMonthlyProductionReportServiceImpl implements ITMonthlyProductionR
      */
     @Override
     public List<MonthlyProductionReportVO> selectSummaryByYear(Long year) {
-        return  null;
+        // 当前日期
+        Date currentDate = new Date();
+        // 当前年份
+        Long currentYear = Long.parseLong(currentDate.getYear() + 1900 + "");
+        // 当前月份
+        Long currentMonth = Long.parseLong(currentDate.getMonth() + 1 + "");
+        // 从数据库中查出的当前year的月报数据集合,每个元素对应当前year某个月的数据
+        List<TMonthlyProductionReport> tMonthlyProductionReports = tMonthlyProductionReportMapper.selectSummarByYear(year);
+        // 前端月报数据集合,每个元素对应当前某个指标的title、unit、1~12月的数据以及年度汇总数据
+        List<MonthlyProductionReportVO> monthlyProductionReportVOs = new ArrayList<>();
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_cl_yb","乙丙产量","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_cl_sny","石脑油产量","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_cl_c5_raff","C5 raff产量","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_cl_yw","乙烷产量","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_cl_jqtj","加氢碳九产量","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_cl_yxjy","乙烯焦油产量","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_cl_hhc4","混合C4产量","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_cl_sb","三苯产量","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_cl_ljtw","裂解碳五产量","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_cl_ljtj","裂解碳九产量","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_cl_ccsny","重整石脑油产量","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_cl_zqzh","蒸汽综合产量","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_cl_lqs","冷却水产量","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_cl_d","电产量","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_cl_rlq","燃料气产量","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_cl_jzs","精制水产量","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_cl_tpny","透平凝液产量","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_sl_yb","乙丙收率","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_sl_sny","石脑油收率","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_sl_c5_raff","C5 raff收率","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_sl_yw","乙烷收率","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_sl_jqtj","加氢碳九收率","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_sl_yxjy","乙烯焦油收率","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_sl_hhc4","混合C4收率","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_sl_sb","三苯收率","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_sl_ljtw","裂解碳五收率","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_sl_ljtj","裂解碳九收率","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_sl_ccsny","重整石脑油收率","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_sl_zqzh","蒸汽综合收率","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_sl_lqs","冷却水收率","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_sl_d","电收率","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_sl_rlq","燃料气收率","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_sl_jzs","精制水收率","t"));
+        monthlyProductionReportVOs.add(new MonthlyProductionReportVO("summary_sl_tpny","透平凝液收率","t"));
+        // 遍历从数据库中查出的月报数据集合,结果为0~12条数据不等
+        for (int i = 0; i < tMonthlyProductionReports.size(); i++) {
+            TMonthlyProductionReport tMonthlyProductionReport = tMonthlyProductionReports.get(i);
+            String summaryClYb = tMonthlyProductionReport.getSummaryClYb();
+            String summaryClSny = tMonthlyProductionReport.getSummaryClSny();
+            String summaryClC5Raff = tMonthlyProductionReport.getSummaryClC5Raff();
+            String summaryClYw = tMonthlyProductionReport.getSummaryClYw();
+            String summaryClJqtj = tMonthlyProductionReport.getSummaryClJqtj();
+            String summaryClYxjy = tMonthlyProductionReport.getSummaryClYxjy();
+            String summaryClHhc4 = tMonthlyProductionReport.getSummaryClHhc4();
+            String summaryClSb = tMonthlyProductionReport.getSummaryClSb();
+            String summaryClLjtw = tMonthlyProductionReport.getSummaryClLjtw();
+            String summaryClLjtj = tMonthlyProductionReport.getSummaryClLjtj();
+            String summaryClCcsny = tMonthlyProductionReport.getSummaryClCcsny();
+            String summaryClZqzh = tMonthlyProductionReport.getSummaryClZqzh();
+            String summaryClLqs = tMonthlyProductionReport.getSummaryClLqs();
+            String summaryClD = tMonthlyProductionReport.getSummaryClD();
+            String summaryClRlq = tMonthlyProductionReport.getSummaryClRlq();
+            String summaryClJzs = tMonthlyProductionReport.getSummaryClJzs();
+            String summaryClTpny = tMonthlyProductionReport.getSummaryClTpny();
+            String summarySlYb = tMonthlyProductionReport.getSummarySlYb();
+            String summarySlSny = tMonthlyProductionReport.getSummarySlSny();
+            String summarySlC5Raff = tMonthlyProductionReport.getSummarySlC5Raff();
+            String summarySlYw = tMonthlyProductionReport.getSummarySlYw();
+            String summarySlJqtj = tMonthlyProductionReport.getSummarySlJqtj();
+            String summarySlYxjy = tMonthlyProductionReport.getSummarySlYxjy();
+            String summarySlHhc4 = tMonthlyProductionReport.getSummarySlHhc4();
+            String summarySlSb = tMonthlyProductionReport.getSummarySlSb();
+            String summarySlLjtw = tMonthlyProductionReport.getSummarySlLjtw();
+            String summarySlLjtj = tMonthlyProductionReport.getSummarySlLjtj();
+            String summarySlCcsny = tMonthlyProductionReport.getSummarySlCcsny();
+            String summarySlZqzh = tMonthlyProductionReport.getSummarySlZqzh();
+            String summarySlLqs = tMonthlyProductionReport.getSummarySlLqs();
+            String summarySlD = tMonthlyProductionReport.getSummarySlD();
+            String summarySlRlq = tMonthlyProductionReport.getSummarySlRlq();
+            String summarySlJzs = tMonthlyProductionReport.getSummarySlJzs();
+            String summarySlTpny = tMonthlyProductionReport.getSummarySlTpny();
+            Long reportMonth = tMonthlyProductionReport.getReportMonth();   // 当前元素的所属月份
+            Long reportYear = tMonthlyProductionReport.getReportYear();     // 当前元素的所属年份
+            // 前端数据集合的class
+            Class clazz = null;
+            // 当前元素调用的set方法
+            Method method = null;
+            try {
+                clazz = Class.forName("com.ruoyi.project.production.service.impl.vo.MonthlyProductionReportVO");
+                method = this.getSetMethod(reportMonth, clazz);
+                // 按照当前元素的所属月份调取相应set方法
+                method.invoke(monthlyProductionReportVOs.get(0), summaryClYb);
+                method.invoke(monthlyProductionReportVOs.get(1), summaryClSny);
+                method.invoke(monthlyProductionReportVOs.get(2), summaryClC5Raff);
+                method.invoke(monthlyProductionReportVOs.get(3), summaryClYw);
+                method.invoke(monthlyProductionReportVOs.get(4), summaryClJqtj);
+                method.invoke(monthlyProductionReportVOs.get(5), summaryClYxjy);
+                method.invoke(monthlyProductionReportVOs.get(6), summaryClHhc4);
+                method.invoke(monthlyProductionReportVOs.get(7), summaryClSb);
+                method.invoke(monthlyProductionReportVOs.get(8), summaryClLjtw);
+                method.invoke(monthlyProductionReportVOs.get(9), summaryClLjtj);
+                method.invoke(monthlyProductionReportVOs.get(10), summaryClCcsny);
+                method.invoke(monthlyProductionReportVOs.get(11), summaryClZqzh);
+                method.invoke(monthlyProductionReportVOs.get(12), summaryClLqs);
+                method.invoke(monthlyProductionReportVOs.get(13), summaryClD);
+                method.invoke(monthlyProductionReportVOs.get(14), summaryClRlq);
+                method.invoke(monthlyProductionReportVOs.get(15), summaryClJzs);
+                method.invoke(monthlyProductionReportVOs.get(16), summaryClTpny);
+                method.invoke(monthlyProductionReportVOs.get(17), summarySlYb);
+                method.invoke(monthlyProductionReportVOs.get(18), summarySlSny);
+                method.invoke(monthlyProductionReportVOs.get(19), summarySlC5Raff);
+                method.invoke(monthlyProductionReportVOs.get(20), summarySlYw);
+                method.invoke(monthlyProductionReportVOs.get(21), summarySlJqtj);
+                method.invoke(monthlyProductionReportVOs.get(22), summarySlYxjy);
+                method.invoke(monthlyProductionReportVOs.get(23), summarySlHhc4);
+                method.invoke(monthlyProductionReportVOs.get(24), summarySlSb);
+                method.invoke(monthlyProductionReportVOs.get(25), summarySlLjtw);
+                method.invoke(monthlyProductionReportVOs.get(26), summarySlLjtj);
+                method.invoke(monthlyProductionReportVOs.get(27), summarySlCcsny);
+                method.invoke(monthlyProductionReportVOs.get(28), summarySlZqzh);
+                method.invoke(monthlyProductionReportVOs.get(29), summarySlLqs);
+                method.invoke(monthlyProductionReportVOs.get(30), summarySlD);
+                method.invoke(monthlyProductionReportVOs.get(31), summarySlRlq);
+                method.invoke(monthlyProductionReportVOs.get(32), summarySlJzs);
+                method.invoke(monthlyProductionReportVOs.get(33), summarySlTpny);
+                // 当前年份=所属年份,当前月份=所属月份
+                if (currentMonth.equals(reportMonth) && currentYear.equals(reportYear)) {
+                    monthlyProductionReportVOs.get(0).setCurrently(summaryClYb);
+                    monthlyProductionReportVOs.get(1).setCurrently(summaryClSny);
+                    monthlyProductionReportVOs.get(2).setCurrently(summaryClC5Raff);
+                    monthlyProductionReportVOs.get(3).setCurrently(summaryClYw);
+                    monthlyProductionReportVOs.get(4).setCurrently(summaryClJqtj);
+                    monthlyProductionReportVOs.get(5).setCurrently(summaryClYxjy);
+                    monthlyProductionReportVOs.get(6).setCurrently(summaryClHhc4);
+                    monthlyProductionReportVOs.get(7).setCurrently(summaryClSb);
+                    monthlyProductionReportVOs.get(8).setCurrently(summaryClLjtw);
+                    monthlyProductionReportVOs.get(9).setCurrently(summaryClLjtj);
+                    monthlyProductionReportVOs.get(10).setCurrently(summaryClCcsny);
+                    monthlyProductionReportVOs.get(11).setCurrently(summaryClZqzh);
+                    monthlyProductionReportVOs.get(12).setCurrently(summaryClLqs);
+                    monthlyProductionReportVOs.get(13).setCurrently(summaryClD);
+                    monthlyProductionReportVOs.get(14).setCurrently(summaryClRlq);
+                    monthlyProductionReportVOs.get(15).setCurrently(summaryClJzs);
+                    monthlyProductionReportVOs.get(16).setCurrently(summaryClTpny);
+                    monthlyProductionReportVOs.get(17).setCurrently(summarySlYb);
+                    monthlyProductionReportVOs.get(18).setCurrently(summarySlSny);
+                    monthlyProductionReportVOs.get(19).setCurrently(summarySlC5Raff);
+                    monthlyProductionReportVOs.get(20).setCurrently(summarySlYw);
+                    monthlyProductionReportVOs.get(21).setCurrently(summarySlJqtj);
+                    monthlyProductionReportVOs.get(22).setCurrently(summarySlYxjy);
+                    monthlyProductionReportVOs.get(23).setCurrently(summarySlHhc4);
+                    monthlyProductionReportVOs.get(24).setCurrently(summarySlSb);
+                    monthlyProductionReportVOs.get(25).setCurrently(summarySlLjtw);
+                    monthlyProductionReportVOs.get(26).setCurrently(summarySlLjtj);
+                    monthlyProductionReportVOs.get(27).setCurrently(summarySlCcsny);
+                    monthlyProductionReportVOs.get(28).setCurrently(summarySlZqzh);
+                    monthlyProductionReportVOs.get(29).setCurrently(summarySlLqs);
+                    monthlyProductionReportVOs.get(30).setCurrently(summarySlD);
+                    monthlyProductionReportVOs.get(31).setCurrently(summarySlRlq);
+                    monthlyProductionReportVOs.get(32).setCurrently(summarySlJzs);
+                    monthlyProductionReportVOs.get(33).setCurrently(summarySlTpny);
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        this.calcTotal(monthlyProductionReportVOs);
+        return monthlyProductionReportVOs;
     }
 
     /**

+ 280 - 0
master/src/main/java/com/ruoyi/project/production/service/impl/thread/SyncAfterDailyUpdateThread.java

@@ -455,6 +455,286 @@ public class SyncAfterDailyUpdateThread extends Thread {
         monthly.setSctuConsumptionCw(sctuConsumptionCw.toString());
         monthly.setSctuConsumptionPaIa(sctuConsumptionPaIa.toString());
 
+//        String subConElectricStr = daily.get();
+//        String subConNgStr = daily.get();
+//        String subConFgFrEuStr = daily.get();
+//        String subConLpgStr = daily.get();
+//        String subConHhpSteamStr = daily.get();
+//        String subConMpSteamStr = daily.get();
+//        String subConLpSteamStr = daily.get();
+//        String subConPCondensateStr = daily.get();
+//        String subConCwStr = daily.get();
+//        String subConN2Str = daily.get();
+//        String subConIaPaStr = daily.get();
+//        String subConHppaStr = daily.get();
+//        String subConProductionWaterStr = daily.get();
+//        String subConHpSteamFrSubNetStr = daily.get();
+//        String subConBfwStr = daily.get();
+//        String subConEoEgPurgeGasStr = daily.get();
+//        String subConH2FrSyngasAsFuleStr = daily.get();
+//        String subConHpProductStr = daily.get();
+//        String subConSub1FgFic1302Str = daily.get();
+//        String subConSub2FgFic2302Str = daily.get();
+//        String subConTotalNgFc3702Str = daily.get();
+//        String subConCostOutputStr = daily.get();
+//        String subConZfyStr = daily.get();
+//        String subConGljclStr = daily.get();
+//        String subConCcStr = daily.get();
+//        String subConScStr = daily.get();
+//        BigDecimal subConElectric = new BigDecimal( subConElectricStr == null ? "0" : subConElectricStr);
+//        BigDecimal subConNg = new BigDecimal( subConNgStr == null ? "0" : subConNgStr);
+//        BigDecimal subConFgFrEu = new BigDecimal( subConFgFrEuStr == null ? "0" : subConFgFrEuStr);
+//        BigDecimal subConLpg = new BigDecimal( subConLpgStr == null ? "0" : subConLpgStr);
+//        BigDecimal subConHhpSteam = new BigDecimal( subConHhpSteamStr == null ? "0" : subConHhpSteamStr);
+//        BigDecimal subConMpSteam = new BigDecimal( subConMpSteamStr == null ? "0" : subConMpSteamStr);
+//        BigDecimal subConLpSteam = new BigDecimal( subConLpSteamStr == null ? "0" : subConLpSteamStr);
+//        BigDecimal subConPCondensate = new BigDecimal( subConPCondensateStr == null ? "0" : subConPCondensateStr);
+//        BigDecimal subConCw = new BigDecimal( subConCwStr == null ? "0" : subConCwStr);
+//        BigDecimal subConN2 = new BigDecimal( subConN2Str == null ? "0" : subConN2Str);
+//        BigDecimal subConIaPa = new BigDecimal( subConIaPaStr == null ? "0" : subConIaPaStr);
+//        BigDecimal subConHppa = new BigDecimal( subConHppaStr == null ? "0" : subConHppaStr);
+//        BigDecimal subConProductionWater = new BigDecimal( subConProductionWaterStr == null ? "0" : subConProductionWaterStr);
+//        BigDecimal subConHpSteamFrSubNet = new BigDecimal( subConHpSteamFrSubNetStr == null ? "0" : subConHpSteamFrSubNetStr);
+//        BigDecimal subConBfw = new BigDecimal( subConBfwStr == null ? "0" : subConBfwStr);
+//        BigDecimal subConEoEgPurgeGas = new BigDecimal( subConEoEgPurgeGasStr == null ? "0" : subConEoEgPurgeGasStr);
+//        BigDecimal subConH2FrSyngasAsFule = new BigDecimal( subConH2FrSyngasAsFuleStr == null ? "0" : subConH2FrSyngasAsFuleStr);
+//        BigDecimal subConHpProduct = new BigDecimal( subConHpProductStr == null ? "0" : subConHpProductStr);
+//        BigDecimal subConSub1FgFic1302 = new BigDecimal( subConSub1FgFic1302Str == null ? "0" : subConSub1FgFic1302Str);
+//        BigDecimal subConSub2FgFic2302 = new BigDecimal( subConSub2FgFic2302Str == null ? "0" : subConSub2FgFic2302Str);
+//        BigDecimal subConTotalNgFc3702 = new BigDecimal( subConTotalNgFc3702Str == null ? "0" : subConTotalNgFc3702Str);
+//        BigDecimal subConCostOutput = new BigDecimal( subConCostOutputStr == null ? "0" : subConCostOutputStr);
+//        BigDecimal subConZfy = new BigDecimal( subConZfyStr == null ? "0" : subConZfyStr);
+//        BigDecimal subConGljcl = new BigDecimal( subConGljclStr == null ? "0" : subConGljclStr);
+//        BigDecimal subConCc = new BigDecimal( subConCcStr == null ? "0" : subConCcStr);
+//        BigDecimal subConSc = new BigDecimal( subConScStr == null ? "0" : subConScStr);
+//        monthly.setSubConElectric(subConElectric.toString());
+//        monthly.setSubConNg(subConNg.toString());
+//        monthly.setSubConFgFrEu(subConFgFrEu.toString());
+//        monthly.setSubConLpg(subConLpg.toString());
+//        monthly.setSubConHhpSteam(subConHhpSteam.toString());
+//        monthly.setSubConMpSteam(subConMpSteam.toString());
+//        monthly.setSubConLpSteam(subConLpSteam.toString());
+//        monthly.setSubConPCondensate(subConPCondensate.toString());
+//        monthly.setSubConCw(subConCw.toString());
+//        monthly.setSubConN2(subConN2.toString());
+//        monthly.setSubConIaPa(subConIaPa.toString());
+//        monthly.setSubConHppa(subConHppa.toString());
+//        monthly.setSubConProductionWater(subConProductionWater.toString());
+//        monthly.setSubConHpSteamFrSubNet(subConHpSteamFrSubNet.toString());
+//        monthly.setSubConBfw(subConBfw.toString());
+//        monthly.setSubConEoEgPurgeGas(subConEoEgPurgeGas.toString());
+//        monthly.setSubConH2FrSyngasAsFule(subConH2FrSyngasAsFule.toString());
+//        monthly.setSubConHpProduct(subConHpProduct.toString());
+//        monthly.setSubConSub1FgFic1302(subConSub1FgFic1302.toString());
+//        monthly.setSubConSub2FgFic2302(subConSub2FgFic2302.toString());
+//        monthly.setSubConTotalNgFc3702(subConTotalNgFc3702.toString());
+//        monthly.setSubConCostOutput(subConCostOutput.toString());
+//        monthly.setSubConZfy(subConZfy.toString());
+//        monthly.setSubConGljcl(subConGljcl.toString());
+//        monthly.setSubConCc(subConCc.toString());
+//        monthly.setSubConSc(subConSc.toString());
+
+//        String sctfConElectricStr = daily.get();
+//        String sctfConNgStr = daily.get();
+//        String sctfConFgFrEuStr = daily.get();
+//        String sctfConLpgStr = daily.get();
+//        String sctfConHhpSteamStr = daily.get();
+//        String sctfConMpSteamStr = daily.get();
+//        String sctfConLpSteamStr = daily.get();
+//        String sctfConPCondensateStr = daily.get();
+//        String sctfConCwStr = daily.get();
+//        String sctfConN2Str = daily.get();
+//        String sctfConIaPaStr = daily.get();
+//        String sctfConHppaStr = daily.get();
+//        String sctfConProductionWaterStr = daily.get();
+//        String sctfConHpSteamFrSubNetStr = daily.get();
+//        String sctfConBfwStr = daily.get();
+//        String sctfConContaminatedWwStr = daily.get();
+//        String sctfConProductionWwStr = daily.get();
+//        BigDecimal sctfConElectric = new BigDecimal( sctfConElectricStr == null ? "0" : sctfConElectricStr);
+//        BigDecimal sctfConNg = new BigDecimal( sctfConNgStr == null ? "0" : sctfConNgStr);
+//        BigDecimal sctfConFgFrEu = new BigDecimal( sctfConFgFrEuStr == null ? "0" : sctfConFgFrEuStr);
+//        BigDecimal sctfConLpg = new BigDecimal( sctfConLpgStr == null ? "0" : sctfConLpgStr);
+//        BigDecimal sctfConHhpSteam = new BigDecimal( sctfConHhpSteamStr == null ? "0" : sctfConHhpSteamStr);
+//        BigDecimal sctfConMpSteam = new BigDecimal( sctfConMpSteamStr == null ? "0" : sctfConMpSteamStr);
+//        BigDecimal sctfConLpSteam = new BigDecimal( sctfConLpSteamStr == null ? "0" : sctfConLpSteamStr);
+//        BigDecimal sctfConPCondensate = new BigDecimal( sctfConPCondensateStr == null ? "0" : sctfConPCondensateStr);
+//        BigDecimal sctfConCw = new BigDecimal( sctfConCwStr == null ? "0" : sctfConCwStr);
+//        BigDecimal sctfConN2 = new BigDecimal( sctfConN2Str == null ? "0" : sctfConN2Str);
+//        BigDecimal sctfConIaPa = new BigDecimal( sctfConIaPaStr == null ? "0" : sctfConIaPaStr);
+//        BigDecimal sctfConHppa = new BigDecimal( sctfConHppaStr == null ? "0" : sctfConHppaStr);
+//        BigDecimal sctfConProductionWater = new BigDecimal( sctfConProductionWaterStr == null ? "0" : sctfConProductionWaterStr);
+//        BigDecimal sctfConHpSteamFrSubNet = new BigDecimal( sctfConHpSteamFrSubNetStr == null ? "0" : sctfConHpSteamFrSubNetStr);
+//        BigDecimal sctfConBfw = new BigDecimal( sctfConBfwStr == null ? "0" : sctfConBfwStr);
+//        BigDecimal sctfConContaminatedWw = new BigDecimal( sctfConContaminatedWwStr == null ? "0" : sctfConContaminatedWwStr);
+//        BigDecimal sctfConProductionWw = new BigDecimal( sctfConProductionWwStr == null ? "0" : sctfConProductionWwStr);
+//        monthly.setSubConSc(sctfConElectric.toString());
+//        monthly.setSctfConElectric(sctfConNg.toString());
+//        monthly.setSctfConNg(sctfConFgFrEu.toString());
+//        monthly.setSctfConFgFrEu(sctfConLpg.toString());
+//        monthly.setSctfConLpg(sctfConHhpSteam.toString());
+//        monthly.setSctfConHhpSteam(sctfConMpSteam.toString());
+//        monthly.setSctfConMpSteam(sctfConLpSteam.toString());
+//        monthly.setSctfConLpSteam(sctfConPCondensate.toString());
+//        monthly.setSctfConPCondensate(sctfConCw.toString());
+//        monthly.setSctfConCw(sctfConN2.toString());
+//        monthly.setSctfConN2(sctfConIaPa.toString());
+//        monthly.setSctfConIaPa(sctfConHppa.toString());
+//        monthly.setSctfConHppa(sctfConProductionWater.toString());
+//        monthly.setSctfConProductionWater(sctfConHpSteamFrSubNet.toString());
+//        monthly.setSctfConHpSteamFrSubNet(sctfConBfw.toString());
+//        monthly.setSctfConBfw(sctfConContaminatedWw.toString());
+//        monthly.setSctfConContaminatedWw(sctfConProductionWw.toString());
+//
+//        String kbiPcurStr = daily.get();
+//        String kbiEnergyConsumptionStr = daily.get();
+//        String kbiPepcStr = daily.get();
+//        String kbiC2C3ProductionStr = daily.get();
+//        String kbiC2C3TargetStr = daily.get();
+//        String kbiC2C3Target2Str = daily.get();
+//        String kbiC2TargetStr = daily.get();
+//        String kbiC2Target2Str = daily.get();
+//        String kbiLtiStr = daily.get();
+//        String kbiYepbfStr = daily.get();
+//        String kbiYebfStr = daily.get();
+//        String kbiAeuEnergyConsumptionStr = daily.get();
+//        String kbiBtxProductionStr = daily.get();
+//        String kbiBtxTargetStr = daily.get();
+//        String kbiBtxTarget2Str = daily.get();
+//        BigDecimal kbiPcur = new BigDecimal( kbiPcurStr == null ? "0" : kbiPcurStr);
+//        BigDecimal kbiEnergyConsumption = new BigDecimal( kbiEnergyConsumptionStr == null ? "0" : kbiEnergyConsumptionStr);
+//        BigDecimal kbiPepc = new BigDecimal( kbiPepcStr == null ? "0" : kbiPepcStr);
+//        BigDecimal kbiC2C3Production = new BigDecimal( kbiC2C3ProductionStr == null ? "0" : kbiC2C3ProductionStr);
+//        BigDecimal kbiC2C3Target = new BigDecimal( kbiC2C3TargetStr == null ? "0" : kbiC2C3TargetStr);
+//        BigDecimal kbiC2C3Target2 = new BigDecimal( kbiC2C3Target2Str == null ? "0" : kbiC2C3Target2Str);
+//        BigDecimal kbiC2Target = new BigDecimal( kbiC2TargetStr == null ? "0" : kbiC2TargetStr);
+//        BigDecimal kbiC2Target2 = new BigDecimal( kbiC2Target2Str == null ? "0" : kbiC2Target2Str);
+//        BigDecimal kbiLti = new BigDecimal( kbiLtiStr == null ? "0" : kbiLtiStr);
+//        BigDecimal kbiYepbf = new BigDecimal( kbiYepbfStr == null ? "0" : kbiYepbfStr);
+//        BigDecimal kbiYebf = new BigDecimal( kbiYebfStr == null ? "0" : kbiYebfStr);
+//        BigDecimal kbiAeuEnergyConsumption = new BigDecimal( kbiAeuEnergyConsumptionStr == null ? "0" : kbiAeuEnergyConsumptionStr);
+//        BigDecimal kbiBtxProduction = new BigDecimal( kbiBtxProductionStr == null ? "0" : kbiBtxProductionStr);
+//        BigDecimal kbiBtxTarget = new BigDecimal( kbiBtxTargetStr == null ? "0" : kbiBtxTargetStr);
+//        BigDecimal kbiBtxTarget2 = new BigDecimal( kbiBtxTarget2Str == null ? "0" : kbiBtxTarget2Str);
+//        monthly.setKbiPcur(kbiPcur.toString());
+//        monthly.setKbiEnergyConsumption(kbiEnergyConsumption.toString());
+//        monthly.setKbiPepc(kbiPepc.toString());
+//        monthly.setKbiC2C3Production(kbiC2C3Production.toString());
+//        monthly.setKbiC2C3Target(kbiC2C3Target.toString());
+//        monthly.setKbiC2C3Target2(kbiC2C3Target2.toString());
+//        monthly.setKbiC2Target(kbiC2Target.toString());
+//        monthly.setKbiC2Target2(kbiC2Target2.toString());
+//        monthly.setKbiLti(kbiLti.toString());
+//        monthly.setKbiYepbf(kbiYepbf.toString());
+//        monthly.setKbiYebf(kbiYebf.toString());
+//        monthly.setKbiAeuEnergyConsumption(kbiAeuEnergyConsumption.toString());
+//        monthly.setKbiBtxProduction(kbiBtxProduction.toString());
+//        monthly.setKbiBtxTarget(kbiBtxTarget.toString());
+//        monthly.setKbiBtxTarget2(kbiBtxTarget2.toString());
+//
+//        String summaryClYbStr = daily.get();
+//        String summaryClSnyStr = daily.get();
+//        String summaryClC5RaffStr = daily.get();
+//        String summaryClYwStr = daily.get();
+//        String summaryClJqtjStr = daily.get();
+//        String summaryClYxjyStr = daily.get();
+//        String summaryClHhc4Str = daily.get();
+//        String summaryClSbStr = daily.get();
+//        String summaryClLjtwStr = daily.get();
+//        String summaryClLjtjStr = daily.get();
+//        String summaryClCcsnyStr = daily.get();
+//        String summaryClZqzhStr = daily.get();
+//        String summaryClLqsStr = daily.get();
+//        String summaryClDStr = daily.get();
+//        String summaryClRlqStr = daily.get();
+//        String summaryClJzsStr = daily.get();
+//        String summaryClTpnyStr = daily.get();
+//        String summarySlYbStr = daily.get();
+//        String summarySlSnyStr = daily.get();
+//        String summarySlC5RaffStr = daily.get();
+//        String summarySlYwStr = daily.get();
+//        String summarySlJqtjStr = daily.get();
+//        String summarySlYxjyStr = daily.get();
+//        String summarySlHhc4Str = daily.get();
+//        String summarySlSbStr = daily.get();
+//        String summarySlLjtwStr = daily.get();
+//        String summarySlLjtjStr = daily.get();
+//        String summarySlCcsnyStr = daily.get();
+//        String summarySlZqzhStr = daily.get();
+//        String summarySlLqsStr = daily.get();
+//        String summarySlDStr = daily.get();
+//        String summarySlRlqStr = daily.get();
+//        String summarySlJzsStr = daily.get();
+//        String summarySlTpnyStr = daily.get();
+//        BigDecimal summaryClYb = new BigDecimal( summaryClYbStr == null ? "0" : summaryClYbStr);
+//        BigDecimal summaryClSny = new BigDecimal( summaryClSnyStr == null ? "0" : summaryClSnyStr);
+//        BigDecimal summaryClC5Raff = new BigDecimal( summaryClC5RaffStr == null ? "0" : summaryClC5RaffStr);
+//        BigDecimal summaryClYw = new BigDecimal( summaryClYwStr == null ? "0" : summaryClYwStr);
+//        BigDecimal summaryClJqtj = new BigDecimal( summaryClJqtjStr == null ? "0" : summaryClJqtjStr);
+//        BigDecimal summaryClYxjy = new BigDecimal( summaryClYxjyStr == null ? "0" : summaryClYxjyStr);
+//        BigDecimal summaryClHhc4 = new BigDecimal( summaryClHhc4Str == null ? "0" : summaryClHhc4Str);
+//        BigDecimal summaryClSb = new BigDecimal( summaryClSbStr == null ? "0" : summaryClSbStr);
+//        BigDecimal summaryClLjtw = new BigDecimal( summaryClLjtwStr == null ? "0" : summaryClLjtwStr);
+//        BigDecimal summaryClLjtj = new BigDecimal( summaryClLjtjStr == null ? "0" : summaryClLjtjStr);
+//        BigDecimal summaryClCcsny = new BigDecimal( summaryClCcsnyStr == null ? "0" : summaryClCcsnyStr);
+//        BigDecimal summaryClZqzh = new BigDecimal( summaryClZqzhStr == null ? "0" : summaryClZqzhStr);
+//        BigDecimal summaryClLqs = new BigDecimal( summaryClLqsStr == null ? "0" : summaryClLqsStr);
+//        BigDecimal summaryClD = new BigDecimal( summaryClDStr == null ? "0" : summaryClDStr);
+//        BigDecimal summaryClRlq = new BigDecimal( summaryClRlqStr == null ? "0" : summaryClRlqStr);
+//        BigDecimal summaryClJzs = new BigDecimal( summaryClJzsStr == null ? "0" : summaryClJzsStr);
+//        BigDecimal summaryClTpny = new BigDecimal( summaryClTpnyStr == null ? "0" : summaryClTpnyStr);
+//        BigDecimal summarySlYb = new BigDecimal( summarySlYbStr == null ? "0" : summarySlYbStr);
+//        BigDecimal summarySlSny = new BigDecimal( summarySlSnyStr == null ? "0" : summarySlSnyStr);
+//        BigDecimal summarySlC5Raff = new BigDecimal( summarySlC5RaffStr == null ? "0" : summarySlC5RaffStr);
+//        BigDecimal summarySlYw = new BigDecimal( summarySlYwStr == null ? "0" : summarySlYwStr);
+//        BigDecimal summarySlJqtj = new BigDecimal( summarySlJqtjStr == null ? "0" : summarySlJqtjStr);
+//        BigDecimal summarySlYxjy = new BigDecimal( summarySlYxjyStr == null ? "0" : summarySlYxjyStr);
+//        BigDecimal summarySlHhc4 = new BigDecimal( summarySlHhc4Str == null ? "0" : summarySlHhc4Str);
+//        BigDecimal summarySlSb = new BigDecimal( summarySlSbStr == null ? "0" : summarySlSbStr);
+//        BigDecimal summarySlLjtw = new BigDecimal( summarySlLjtwStr == null ? "0" : summarySlLjtwStr);
+//        BigDecimal summarySlLjtj = new BigDecimal( summarySlLjtjStr == null ? "0" : summarySlLjtjStr);
+//        BigDecimal summarySlCcsny = new BigDecimal( summarySlCcsnyStr == null ? "0" : summarySlCcsnyStr);
+//        BigDecimal summarySlZqzh = new BigDecimal( summarySlZqzhStr == null ? "0" : summarySlZqzhStr);
+//        BigDecimal summarySlLqs = new BigDecimal( summarySlLqsStr == null ? "0" : summarySlLqsStr);
+//        BigDecimal summarySlD = new BigDecimal( summarySlDStr == null ? "0" : summarySlDStr);
+//        BigDecimal summarySlRlq = new BigDecimal( summarySlRlqStr == null ? "0" : summarySlRlqStr);
+//        BigDecimal summarySlJzs = new BigDecimal( summarySlJzsStr == null ? "0" : summarySlJzsStr);
+//        BigDecimal summarySlTpny = new BigDecimal( summarySlTpnyStr == null ? "0" : summarySlTpnyStr);
+//        monthly.setSummaryClYb(summaryClYb.toString());
+//        monthly.setSummaryClSny(summaryClSny.toString());
+//        monthly.setSummaryClC5Raff(summaryClC5Raff.toString());
+//        monthly.setSummaryClYw(summaryClYw.toString());
+//        monthly.setSummaryClJqtj(summaryClJqtj.toString());
+//        monthly.setSummaryClYxjy(summaryClYxjy.toString());
+//        monthly.setSummaryClHhc4(summaryClHhc4.toString());
+//        monthly.setSummaryClSb(summaryClSb.toString());
+//        monthly.setSummaryClLjtw(summaryClLjtw.toString());
+//        monthly.setSummaryClLjtj(summaryClLjtj.toString());
+//        monthly.setSummaryClCcsny(summaryClCcsny.toString());
+//        monthly.setSummaryClZqzh(summaryClZqzh.toString());
+//        monthly.setSummaryClLqs(summaryClLqs.toString());
+//        monthly.setSummaryClD(summaryClD.toString());
+//        monthly.setSummaryClRlq(summaryClRlq.toString());
+//        monthly.setSummaryClJzs(summaryClJzs.toString());
+//        monthly.setSummaryClTpny(summaryClTpny.toString());
+//        monthly.setSummarySlYb(summarySlYb.toString());
+//        monthly.setSummarySlSny(summarySlSny.toString());
+//        monthly.setSummarySlC5Raff(summarySlC5Raff.toString());
+//        monthly.setSummarySlYw(summarySlYw.toString());
+//        monthly.setSummarySlJqtj(summarySlJqtj.toString());
+//        monthly.setSummarySlYxjy(summarySlYxjy.toString());
+//        monthly.setSummarySlHhc4(summarySlHhc4.toString());
+//        monthly.setSummarySlSb(summarySlSb.toString());
+//        monthly.setSummarySlLjtw(summarySlLjtw.toString());
+//        monthly.setSummarySlLjtj(summarySlLjtj.toString());
+//        monthly.setSummarySlCcsny(summarySlCcsny.toString());
+//        monthly.setSummarySlZqzh(summarySlZqzh.toString());
+//        monthly.setSummarySlLqs(summarySlLqs.toString());
+//        monthly.setSummarySlD(summarySlD.toString());
+//        monthly.setSummarySlRlq(summarySlRlq.toString());
+//        monthly.setSummarySlJzs(summarySlJzs.toString());
+//        monthly.setSummarySlTpny(summarySlTpny.toString());
+
         // 查询年份=reportYear,月份=reportMonth的月报数据
         int count = tMonthlyProductionReportMapper.selectTMonthlyProductionReportCountByDate(reportYear, reportMonth);
         if (count == 0) {   // 新增月报数据

+ 417 - 5
master/src/main/resources/mybatis/production/TMonthlyProductionReportMapper.xml

@@ -3,7 +3,7 @@
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.project.production.mapper.TMonthlyProductionReportMapper">
-    
+
     <resultMap type="TMonthlyProductionReport" id="TMonthlyProductionReportResult">
         <result property="id"                       column="id"    />
         <result property="reportMonth"              column="report_month"    />
@@ -176,6 +176,98 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="sctuConsumptionElectirc"  column="sctu_consumption_electirc"    />
         <result property="sctuConsumptionCw"        column="sctu_consumption_cw"    />
         <result property="sctuConsumptionPaIa"      column="sctu_consumption_pa_ia"    />
+        <result property="subConElectric"           column="sub_con_electric"    />
+        <result property="subConNg"                 column="sub_con_ng"    />
+        <result property="subConFgFrEu"             column="sub_con_fg_fr_eu"    />
+        <result property="subConLpg"                column="sub_con_lpg"    />
+        <result property="subConHhpSteam"           column="sub_con_hhp_steam"    />
+        <result property="subConMpSteam"            column="sub_con_mp_steam"    />
+        <result property="subConLpSteam"            column="sub_con_lp_steam"    />
+        <result property="subConPCondensate"        column="sub_con_p_condensate"    />
+        <result property="subConCw"                 column="sub_con_cw"    />
+        <result property="subConN2"                 column="sub_con_n2"    />
+        <result property="subConIaPa"               column="sub_con_ia_pa"    />
+        <result property="subConHppa"               column="sub_con_hppa"    />
+        <result property="subConProductionWater"    column="sub_con_production_water"    />
+        <result property="subConHpSteamFrSubNet"    column="sub_con_hp_steam_fr_sub_net"    />
+        <result property="subConBfw"                column="sub_con_bfw"    />
+        <result property="subConEoEgPurgeGas"       column="sub_con_eo_eg_purge_gas"    />
+        <result property="subConH2FrSyngasAsFule"   column="sub_con_h2_fr_syngas_as_fule"    />
+        <result property="subConHpProduct"          column="sub_con_hp_product"    />
+        <result property="subConSub1FgFic1302"      column="sub_con_sub1_fg_fic1302"    />
+        <result property="subConSub2FgFic2302"      column="sub_con_sub2_fg_fic2302"    />
+        <result property="subConTotalNgFc3702"      column="sub_con_total_ng_fc3702"    />
+        <result property="subConCostOutput"         column="sub_con_cost_output"    />
+        <result property="subConZfy"                column="sub_con_zfy"    />
+        <result property="subConGljcl"              column="sub_con_gljcl"    />
+        <result property="subConCc"                 column="sub_con_cc"    />
+        <result property="subConSc"                 column="sub_con_sc"    />
+        <result property="sctfConElectric"          column="sctf_con_electric"    />
+        <result property="sctfConNg"                column="sctf_con_ng"    />
+        <result property="sctfConFgFrEu"            column="sctf_con_fg_fr_eu"    />
+        <result property="sctfConLpg"               column="sctf_con_lpg"    />
+        <result property="sctfConHhpSteam"          column="sctf_con_hhp_steam"    />
+        <result property="sctfConMpSteam"           column="sctf_con_mp_steam"    />
+        <result property="sctfConLpSteam"           column="sctf_con_lp_steam"    />
+        <result property="sctfConPCondensate"       column="sctf_con_p_condensate"    />
+        <result property="sctfConCw"                column="sctf_con_cw"    />
+        <result property="sctfConN2"                column="sctf_con_n2"    />
+        <result property="sctfConIaPa"              column="sctf_con_ia_pa"    />
+        <result property="sctfConHppa"              column="sctf_con_hppa"    />
+        <result property="sctfConProductionWater"   column="sctf_con_production_water"    />
+        <result property="sctfConHpSteamFrSubNet"   column="sctf_con_hp_steam_fr_sub_net"    />
+        <result property="sctfConBfw"               column="sctf_con_bfw"    />
+        <result property="sctfConContaminatedWw"    column="sctf_con_contaminated_ww"    />
+        <result property="sctfConProductionWw"      column="sctf_con_production_ww"    />
+        <result property="kbiPcur"                  column="kbi_pcur"    />
+        <result property="kbiEnergyConsumption"     column="kbi_energy_consumption"    />
+        <result property="kbiPepc"                  column="kbi_pepc"    />
+        <result property="kbiC2C3Production"        column="kbi_c2_c3_production"    />
+        <result property="kbiC2C3Target"            column="kbi_c2_c3_target"    />
+        <result property="kbiC2C3Target2"           column="kbi_c2_c3_target2"    />
+        <result property="kbiC2Target"              column="kbi_c2_target"    />
+        <result property="kbiC2Target2"             column="kbi_c2_target2"    />
+        <result property="kbiLti"                   column="kbi_lti"    />
+        <result property="kbiYepbf"                 column="kbi_yepbf"    />
+        <result property="kbiYebf"                  column="kbi_yebf"    />
+        <result property="kbiAeuEnergyConsumption"  column="kbi_aeu_energy_consumption"    />
+        <result property="kbiBtxProduction"         column="kbi_btx_production"    />
+        <result property="kbiBtxTarget"             column="kbi_btx_target"    />
+        <result property="kbiBtxTarget2"            column="kbi_btx_target2"    />
+        <result property="summaryClYb"              column="summary_cl_yb"    />
+        <result property="summaryClSny"             column="summary_cl_sny"    />
+        <result property="summaryClC5Raff"          column="summary_cl_c5_raff"    />
+        <result property="summaryClYw"              column="summary_cl_yw"    />
+        <result property="summaryClJqtj"            column="summary_cl_jqtj"    />
+        <result property="summaryClYxjy"            column="summary_cl_yxjy"    />
+        <result property="summaryClHhc4"            column="summary_cl_hhc4"    />
+        <result property="summaryClSb"              column="summary_cl_sb"    />
+        <result property="summaryClLjtw"            column="summary_cl_ljtw"    />
+        <result property="summaryClLjtj"            column="summary_cl_ljtj"    />
+        <result property="summaryClCcsny"           column="summary_cl_ccsny"    />
+        <result property="summaryClZqzh"            column="summary_cl_zqzh"    />
+        <result property="summaryClLqs"             column="summary_cl_lqs"    />
+        <result property="summaryClD"               column="summary_cl_d"    />
+        <result property="summaryClRlq"             column="summary_cl_rlq"    />
+        <result property="summaryClJzs"             column="summary_cl_jzs"    />
+        <result property="summaryClTpny"            column="summary_cl_tpny"    />
+        <result property="summarySlYb"              column="summary_sl_yb"    />
+        <result property="summarySlSny"             column="summary_sl_sny"    />
+        <result property="summarySlC5Raff"          column="summary_sl_c5_raff"    />
+        <result property="summarySlYw"              column="summary_sl_yw"    />
+        <result property="summarySlJqtj"            column="summary_sl_jqtj"    />
+        <result property="summarySlYxjy"            column="summary_sl_yxjy"    />
+        <result property="summarySlHhc4"            column="summary_sl_hhc4"    />
+        <result property="summarySlSb"              column="summary_sl_sb"    />
+        <result property="summarySlLjtw"            column="summary_sl_ljtw"    />
+        <result property="summarySlLjtj"            column="summary_sl_ljtj"    />
+        <result property="summarySlCcsny"           column="summary_sl_ccsny"    />
+        <result property="summarySlZqzh"            column="summary_sl_zqzh"    />
+        <result property="summarySlLqs"             column="summary_sl_lqs"    />
+        <result property="summarySlD"               column="summary_sl_d"    />
+        <result property="summarySlRlq"             column="summary_sl_rlq"    />
+        <result property="summarySlJzs"             column="summary_sl_jzs"    />
+        <result property="summarySlTpny"            column="summary_sl_tpny"    />
     </resultMap>
 
     <select id="selectCrackerRawMaterialByYear" parameterType="Long" resultMap="TMonthlyProductionReportResult">
@@ -349,13 +441,57 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where d.report_year = #{year}
     </select>
 
-    <select id="selectSUBUtilityConsumptionByYear" parameterType="Long" resultMap="TMonthlyProductionReportResult"></select>
+    <select id="selectSUBUtilityConsumptionByYear" parameterType="Long" resultMap="TMonthlyProductionReportResult">
+        select
+               d.id, d.report_month, d.report_year,
+               d.sub_con_electric, d.sub_con_ng, d.sub_con_fg_fr_eu, d.sub_con_lpg, d.sub_con_hhp_steam,
+               d.sub_con_mp_steam, d.sub_con_lp_steam, d.sub_con_p_condensate, d.sub_con_cw, d.sub_con_n2,
+               d.sub_con_ia_pa, d.sub_con_hppa, d.sub_con_production_water, d.sub_con_hp_steam_fr_sub_net,
+               d.sub_con_bfw, d.sub_con_eo_eg_purge_gas, d.sub_con_h2_fr_syngas_as_fule, d.sub_con_hp_product,
+               d.sub_con_sub1_fg_fic1302, d.sub_con_sub2_fg_fic2302, d.sub_con_total_ng_fc3702, d.sub_con_cost_output,
+               d.sub_con_zfy, d.sub_con_gljcl, d.sub_con_cc, d.sub_con_sc
+        from
+             t_monthly_production_report d
+        where d.report_year = #{year}
+    </select>
 
-    <select id="selectSCTFUtilityConsumptionByYear" parameterType="Long" resultMap="TMonthlyProductionReportResult"></select>
+    <select id="selectSCTFUtilityConsumptionByYear" parameterType="Long" resultMap="TMonthlyProductionReportResult">
+        select
+               d.id, d.report_month, d.report_year,
+               d.sctf_con_electric, d.sctf_con_ng, d.sctf_con_fg_fr_eu, d.sctf_con_lpg, d.sctf_con_hhp_steam,
+               d.sctf_con_mp_steam, d.sctf_con_lp_steam, d.sctf_con_p_condensate, d.sctf_con_cw, d.sctf_con_n2,
+               d.sctf_con_ia_pa, d.sctf_con_hppa, d.sctf_con_production_water, d.sctf_con_hp_steam_fr_sub_net,
+               d.sctf_con_bfw, d.sctf_con_contaminated_ww, d.sctf_con_production_ww
+        from
+             t_monthly_production_report d
+        where d.report_year = #{year}
+    </select>
 
-    <select id="selectKbiByYear" parameterType="Long" resultMap="TMonthlyProductionReportResult"></select>
+    <select id="selectKbiByYear" parameterType="Long" resultMap="TMonthlyProductionReportResult">
+        select
+               d.id, d.report_month, d.report_year,
+               d.kbi_pcur, d.kbi_energy_consumption, d.kbi_pepc, d.kbi_c2_c3_production, d.kbi_c2_c3_target,
+               d.kbi_c2_c3_target2, d.kbi_c2_target, d.kbi_c2_target2, d.kbi_lti, d.kbi_yepbf, d.kbi_yebf,
+               d.kbi_aeu_energy_consumption, d.kbi_btx_production, d.kbi_btx_target, d.kbi_btx_target2
+        from
+             t_monthly_production_report d
+        where d.report_year = #{year}
+    </select>
 
-    <select id="selectSummaryByYear" parameterType="Long" resultMap="TMonthlyProductionReportResult"></select>
+    <select id="selectSummaryByYear" parameterType="Long" resultMap="TMonthlyProductionReportResult">
+        select
+               d.id, d.report_month, d.report_year,
+               d.summary_cl_yb, d.summary_cl_sny, d.summary_cl_c5_raff, d.summary_cl_yw, d.summary_cl_jqtj,
+               d.summary_cl_yxjy, d.summary_cl_hhc4, d.summary_cl_sb, d.summary_cl_ljtw, d.summary_cl_ljtj,
+               d.summary_cl_ccsny, d.summary_cl_zqzh, d.summary_cl_lqs, d.summary_cl_d, d.summary_cl_rlq,
+               d.summary_cl_jzs, d.summary_cl_tpny, d.summary_sl_yb, d.summary_sl_sny, d.summary_sl_c5_raff,
+               d.summary_sl_yw, d.summary_sl_jqtj, d.summary_sl_yxjy, d.summary_sl_hhc4, d.summary_sl_sb,
+               d.summary_sl_ljtw, d.summary_sl_ljtj, d.summary_sl_ccsny, d.summary_sl_zqzh, d.summary_sl_lqs,
+               d.summary_sl_d, d.summary_sl_rlq, d.summary_sl_jzs, d.summary_sl_tpny
+        from
+             t_monthly_production_report d
+        where d.report_year = #{year}
+    </select>
 
     <select id="selectTMonthlyProductionReportCountByDate" parameterType="int" resultType="int">
         select count(id)
@@ -546,6 +682,98 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="sctuConsumptionElectirc != null">sctu_consumption_electirc,</if>
             <if test="sctuConsumptionCw != null">sctu_consumption_cw,</if>
             <if test="sctuConsumptionPaIa != null">sctu_consumption_pa_ia,</if>
+            <if test="subConElectric != null">sub_con_electric,</if>
+            <if test="subConNg != null">sub_con_ng,</if>
+            <if test="subConFgFrEu != null">sub_con_fg_fr_eu,</if>
+            <if test="subConLpg != null">sub_con_lpg,</if>
+            <if test="subConHhpSteam != null">sub_con_hhp_steam,</if>
+            <if test="subConMpSteam != null">sub_con_mp_steam,</if>
+            <if test="subConLpSteam != null">sub_con_lp_steam,</if>
+            <if test="subConPCondensate != null">sub_con_p_condensate,</if>
+            <if test="subConCw != null">sub_con_cw,</if>
+            <if test="subConN2 != null">sub_con_n2,</if>
+            <if test="subConIaPa != null">sub_con_ia_pa,</if>
+            <if test="subConHppa != null">sub_con_hppa,</if>
+            <if test="subConProductionWater != null">sub_con_production_water,</if>
+            <if test="subConHpSteamFrSubNet != null">sub_con_hp_steam_fr_sub_net,</if>
+            <if test="subConBfw != null">sub_con_bfw,</if>
+            <if test="subConEoEgPurgeGas != null">sub_con_eo_eg_purge_gas,</if>
+            <if test="subConH2FrSyngasAsFule != null">sub_con_h2_fr_syngas_as_fule,</if>
+            <if test="subConHpProduct != null">sub_con_hp_product,</if>
+            <if test="subConSub1FgFic1302 != null">sub_con_sub1_fg_fic1302,</if>
+            <if test="subConSub2FgFic2302 != null">sub_con_sub2_fg_fic2302,</if>
+            <if test="subConTotalNgFc3702 != null">sub_con_total_ng_fc3702,</if>
+            <if test="subConCostOutput != null">sub_con_cost_output,</if>
+            <if test="subConZfy != null">sub_con_zfy,</if>
+            <if test="subConGljcl != null">sub_con_gljcl,</if>
+            <if test="subConCc != null">sub_con_cc,</if>
+            <if test="subConSc != null">sub_con_sc,</if>
+            <if test="sctfConElectric != null">sctf_con_electric,</if>
+            <if test="sctfConNg != null">sctf_con_ng,</if>
+            <if test="sctfConFgFrEu != null">sctf_con_fg_fr_eu,</if>
+            <if test="sctfConLpg != null">sctf_con_lpg,</if>
+            <if test="sctfConHhpSteam != null">sctf_con_hhp_steam,</if>
+            <if test="sctfConMpSteam != null">sctf_con_mp_steam,</if>
+            <if test="sctfConLpSteam != null">sctf_con_lp_steam,</if>
+            <if test="sctfConPCondensate != null">sctf_con_p_condensate,</if>
+            <if test="sctfConCw != null">sctf_con_cw,</if>
+            <if test="sctfConN2 != null">sctf_con_n2,</if>
+            <if test="sctfConIaPa != null">sctf_con_ia_pa,</if>
+            <if test="sctfConHppa != null">sctf_con_hppa,</if>
+            <if test="sctfConProductionWater != null">sctf_con_production_water,</if>
+            <if test="sctfConHpSteamFrSubNet != null">sctf_con_hp_steam_fr_sub_net,</if>
+            <if test="sctfConBfw != null">sctf_con_bfw,</if>
+            <if test="sctfConContaminatedWw != null">sctf_con_contaminated_ww,</if>
+            <if test="sctfConProductionWw != null">sctf_con_production_ww,</if>
+            <if test="kbiPcur != null">kbi_pcur,</if>
+            <if test="kbiEnergyConsumption != null">kbi_energy_consumption,</if>
+            <if test="kbiPepc != null">kbi_pepc,</if>
+            <if test="kbiC2C3Production != null">kbi_c2_c3_production,</if>
+            <if test="kbiC2C3Target != null">kbi_c2_c3_target,</if>
+            <if test="kbiC2C3Target2 != null">kbi_c2_c3_target2,</if>
+            <if test="kbiC2Target != null">kbi_c2_target,</if>
+            <if test="kbiC2Target2 != null">kbi_c2_target2,</if>
+            <if test="kbiLti != null">kbi_lti,</if>
+            <if test="kbiYepbf != null">kbi_yepbf,</if>
+            <if test="kbiYebf != null">kbi_yebf,</if>
+            <if test="kbiAeuEnergyConsumption != null">kbi_aeu_energy_consumption,</if>
+            <if test="kbiBtxProduction != null">kbi_btx_production,</if>
+            <if test="kbiBtxTarget != null">kbi_btx_target,</if>
+            <if test="kbiBtxTarget2 != null">kbi_btx_target2,</if>
+            <if test="summaryClYb != null">summary_cl_yb,</if>
+            <if test="summaryClSny != null">summary_cl_sny,</if>
+            <if test="summaryClC5Raff != null">summary_cl_c5_raff,</if>
+            <if test="summaryClYw != null">summary_cl_yw,</if>
+            <if test="summaryClJqtj != null">summary_cl_jqtj,</if>
+            <if test="summaryClYxjy != null">summary_cl_yxjy,</if>
+            <if test="summaryClHhc4 != null">summary_cl_hhc4,</if>
+            <if test="summaryClSb != null">summary_cl_sb,</if>
+            <if test="summaryClLjtw != null">summary_cl_ljtw,</if>
+            <if test="summaryClLjtj != null">summary_cl_ljtj,</if>
+            <if test="summaryClCcsny != null">summary_cl_ccsny,</if>
+            <if test="summaryClZqzh != null">summary_cl_zqzh,</if>
+            <if test="summaryClLqs != null">summary_cl_lqs,</if>
+            <if test="summaryClD != null">summary_cl_d,</if>
+            <if test="summaryClRlq != null">summary_cl_rlq,</if>
+            <if test="summaryClJzs != null">summary_cl_jzs,</if>
+            <if test="summaryClTpny != null">summary_cl_tpny,</if>
+            <if test="summarySlYb != null">summary_sl_yb,</if>
+            <if test="summarySlSny != null">summary_sl_sny,</if>
+            <if test="summarySlC5Raff != null">summary_sl_c5_raff,</if>
+            <if test="summarySlYw != null">summary_sl_yw,</if>
+            <if test="summarySlJqtj != null">summary_sl_jqtj,</if>
+            <if test="summarySlYxjy != null">summary_sl_yxjy,</if>
+            <if test="summarySlHhc4 != null">summary_sl_hhc4,</if>
+            <if test="summarySlSb != null">summary_sl_sb,</if>
+            <if test="summarySlLjtw != null">summary_sl_ljtw,</if>
+            <if test="summarySlLjtj != null">summary_sl_ljtj,</if>
+            <if test="summarySlCcsny != null">summary_sl_ccsny,</if>
+            <if test="summarySlZqzh != null">summary_sl_zqzh,</if>
+            <if test="summarySlLqs != null">summary_sl_lqs,</if>
+            <if test="summarySlD != null">summary_sl_d,</if>
+            <if test="summarySlRlq != null">summary_sl_rlq,</if>
+            <if test="summarySlJzs != null">summary_sl_jzs,</if>
+            <if test="summarySlTpny != null">summary_sl_tpny,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="id != null">#{id},</if>
@@ -719,6 +947,98 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="sctuConsumptionElectirc != null">#{sctuConsumptionElectirc},</if>
             <if test="sctuConsumptionCw != null">#{sctuConsumptionCw},</if>
             <if test="sctuConsumptionPaIa != null">#{sctuConsumptionPaIa},</if>
+            <if test="subConElectric != null">#{subConElectric},</if>
+            <if test="subConNg != null">#{subConNg},</if>
+            <if test="subConFgFrEu != null">#{subConFgFrEu},</if>
+            <if test="subConLpg != null">#{subConLpg},</if>
+            <if test="subConHhpSteam != null">#{subConHhpSteam},</if>
+            <if test="subConMpSteam != null">#{subConMpSteam},</if>
+            <if test="subConLpSteam != null">#{subConLpSteam},</if>
+            <if test="subConPCondensate != null">#{subConPCondensate},</if>
+            <if test="subConCw != null">#{subConCw},</if>
+            <if test="subConN2 != null">#{subConN2},</if>
+            <if test="subConIaPa != null">#{subConIaPa},</if>
+            <if test="subConHppa != null">#{subConHppa},</if>
+            <if test="subConProductionWater != null">#{subConProductionWater},</if>
+            <if test="subConHpSteamFrSubNet != null">#{subConHpSteamFrSubNet},</if>
+            <if test="subConBfw != null">#{subConBfw},</if>
+            <if test="subConEoEgPurgeGas != null">#{subConEoEgPurgeGas},</if>
+            <if test="subConH2FrSyngasAsFule != null">#{subConH2FrSyngasAsFule},</if>
+            <if test="subConHpProduct != null">#{subConHpProduct},</if>
+            <if test="subConSub1FgFic1302 != null">#{subConSub1FgFic1302},</if>
+            <if test="subConSub2FgFic2302 != null">#{subConSub2FgFic2302},</if>
+            <if test="subConTotalNgFc3702 != null">#{subConTotalNgFc3702},</if>
+            <if test="subConCostOutput != null">#{subConCostOutput},</if>
+            <if test="subConZfy != null">#{subConZfy},</if>
+            <if test="subConGljcl != null">#{subConGljcl},</if>
+            <if test="subConCc != null">#{subConCc},</if>
+            <if test="subConSc != null">#{subConSc},</if>
+            <if test="sctfConElectric != null">#{sctfConElectric},</if>
+            <if test="sctfConNg != null">#{sctfConNg},</if>
+            <if test="sctfConFgFrEu != null">#{sctfConFgFrEu},</if>
+            <if test="sctfConLpg != null">#{sctfConLpg},</if>
+            <if test="sctfConHhpSteam != null">#{sctfConHhpSteam},</if>
+            <if test="sctfConMpSteam != null">#{sctfConMpSteam},</if>
+            <if test="sctfConLpSteam != null">#{sctfConLpSteam},</if>
+            <if test="sctfConPCondensate != null">#{sctfConPCondensate},</if>
+            <if test="sctfConCw != null">#{sctfConCw},</if>
+            <if test="sctfConN2 != null">#{sctfConN2},</if>
+            <if test="sctfConIaPa != null">#{sctfConIaPa},</if>
+            <if test="sctfConHppa != null">#{sctfConHppa},</if>
+            <if test="sctfConProductionWater != null">#{sctfConProductionWater},</if>
+            <if test="sctfConHpSteamFrSubNet != null">#{sctfConHpSteamFrSubNet},</if>
+            <if test="sctfConBfw != null">#{sctfConBfw},</if>
+            <if test="sctfConContaminatedWw != null">#{sctfConContaminatedWw},</if>
+            <if test="sctfConProductionWw != null">#{sctfConProductionWw},</if>
+            <if test="kbiPcur != null">#{kbiPcur},</if>
+            <if test="kbiEnergyConsumption != null">#{kbiEnergyConsumption},</if>
+            <if test="kbiPepc != null">#{kbiPepc},</if>
+            <if test="kbiC2C3Production != null">#{kbiC2C3Production},</if>
+            <if test="kbiC2C3Target != null">#{kbiC2C3Target},</if>
+            <if test="kbiC2C3Target2 != null">#{kbiC2C3Target2},</if>
+            <if test="kbiC2Target != null">#{kbiC2Target},</if>
+            <if test="kbiC2Target2 != null">#{kbiC2Target2},</if>
+            <if test="kbiLti != null">#{kbiLti},</if>
+            <if test="kbiYepbf != null">#{kbiYepbf},</if>
+            <if test="kbiYebf != null">#{kbiYebf},</if>
+            <if test="kbiAeuEnergyConsumption != null">#{kbiAeuEnergyConsumption},</if>
+            <if test="kbiBtxProduction != null">#{kbiBtxProduction},</if>
+            <if test="kbiBtxTarget != null">#{kbiBtxTarget},</if>
+            <if test="kbiBtxTarget2 != null">#{kbiBtxTarget2},</if>
+            <if test="summaryClYb != null">#{summaryClYb},</if>
+            <if test="summaryClSny != null">#{summaryClSny},</if>
+            <if test="summaryClC5Raff != null">#{summaryClC5Raff},</if>
+            <if test="summaryClYw != null">#{summaryClYw},</if>
+            <if test="summaryClJqtj != null">#{summaryClJqtj},</if>
+            <if test="summaryClYxjy != null">#{summaryClYxjy},</if>
+            <if test="summaryClHhc4 != null">#{summaryClHhc4},</if>
+            <if test="summaryClSb != null">#{summaryClSb},</if>
+            <if test="summaryClLjtw != null">#{summaryClLjtw},</if>
+            <if test="summaryClLjtj != null">#{summaryClLjtj},</if>
+            <if test="summaryClCcsny != null">#{summaryClCcsny},</if>
+            <if test="summaryClZqzh != null">#{summaryClZqzh},</if>
+            <if test="summaryClLqs != null">#{summaryClLqs},</if>
+            <if test="summaryClD != null">#{summaryClD},</if>
+            <if test="summaryClRlq != null">#{summaryClRlq},</if>
+            <if test="summaryClJzs != null">#{summaryClJzs},</if>
+            <if test="summaryClTpny != null">#{summaryClTpny},</if>
+            <if test="summarySlYb != null">#{summarySlYb},</if>
+            <if test="summarySlSny != null">#{summarySlSny},</if>
+            <if test="summarySlC5Raff != null">#{summarySlC5Raff},</if>
+            <if test="summarySlYw != null">#{summarySlYw},</if>
+            <if test="summarySlJqtj != null">#{summarySlJqtj},</if>
+            <if test="summarySlYxjy != null">#{summarySlYxjy},</if>
+            <if test="summarySlHhc4 != null">#{summarySlHhc4},</if>
+            <if test="summarySlSb != null">#{summarySlSb},</if>
+            <if test="summarySlLjtw != null">#{summarySlLjtw},</if>
+            <if test="summarySlLjtj != null">#{summarySlLjtj},</if>
+            <if test="summarySlCcsny != null">#{summarySlCcsny},</if>
+            <if test="summarySlZqzh != null">#{summarySlZqzh},</if>
+            <if test="summarySlLqs != null">#{summarySlLqs},</if>
+            <if test="summarySlD != null">#{summarySlD},</if>
+            <if test="summarySlRlq != null">#{summarySlRlq},</if>
+            <if test="summarySlJzs != null">#{summarySlJzs},</if>
+            <if test="summarySlTpny != null">#{summarySlTpny},</if>
         </trim>
     </insert>
 
@@ -893,6 +1213,98 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="sctuConsumptionElectirc != null">sctu_consumption_electirc = #{sctuConsumptionElectirc},</if>
             <if test="sctuConsumptionCw != null">sctu_consumption_cw = #{sctuConsumptionCw},</if>
             <if test="sctuConsumptionPaIa != null">sctu_consumption_pa_ia = #{sctuConsumptionPaIa},</if>
+            <if test="subConElectric != null">sub_con_electric = #{subConElectric},</if>
+            <if test="subConNg != null">sub_con_ng = #{subConNg},</if>
+            <if test="subConFgFrEu != null">sub_con_fg_fr_eu = #{subConFgFrEu},</if>
+            <if test="subConLpg != null">sub_con_lpg = #{subConLpg},</if>
+            <if test="subConHhpSteam != null">sub_con_hhp_steam = #{subConHhpSteam},</if>
+            <if test="subConMpSteam != null">sub_con_mp_steam = #{subConMpSteam},</if>
+            <if test="subConLpSteam != null">sub_con_lp_steam = #{subConLpSteam},</if>
+            <if test="subConPCondensate != null">sub_con_p_condensate = #{subConPCondensate},</if>
+            <if test="subConCw != null">sub_con_cw = #{subConCw},</if>
+            <if test="subConN2 != null">sub_con_n2 = #{subConN2},</if>
+            <if test="subConIaPa != null">sub_con_ia_pa = #{subConIaPa},</if>
+            <if test="subConHppa != null">sub_con_hppa = #{subConHppa},</if>
+            <if test="subConProductionWater != null">sub_con_production_water = #{subConProductionWater},</if>
+            <if test="subConHpSteamFrSubNet != null">sub_con_hp_steam_fr_sub_net = #{subConHpSteamFrSubNet},</if>
+            <if test="subConBfw != null">sub_con_bfw = #{subConBfw},</if>
+            <if test="subConEoEgPurgeGas != null">sub_con_eo_eg_purge_gas = #{subConEoEgPurgeGas},</if>
+            <if test="subConH2FrSyngasAsFule != null">sub_con_h2_fr_syngas_as_fule = #{subConH2FrSyngasAsFule},</if>
+            <if test="subConHpProduct != null">sub_con_hp_product = #{subConHpProduct},</if>
+            <if test="subConSub1FgFic1302 != null">sub_con_sub1_fg_fic1302 = #{subConSub1FgFic1302},</if>
+            <if test="subConSub2FgFic2302 != null">sub_con_sub2_fg_fic2302 = #{subConSub2FgFic2302},</if>
+            <if test="subConTotalNgFc3702 != null">sub_con_total_ng_fc3702 = #{subConTotalNgFc3702},</if>
+            <if test="subConCostOutput != null">sub_con_cost_output = #{subConCostOutput},</if>
+            <if test="subConZfy != null">sub_con_zfy = #{subConZfy},</if>
+            <if test="subConGljcl != null">sub_con_gljcl = #{subConGljcl},</if>
+            <if test="subConCc != null">sub_con_cc = #{subConCc},</if>
+            <if test="subConSc != null">sub_con_sc = #{subConSc},</if>
+            <if test="sctfConElectric != null">sctf_con_electric = #{sctfConElectric},</if>
+            <if test="sctfConNg != null">sctf_con_ng = #{sctfConNg},</if>
+            <if test="sctfConFgFrEu != null">sctf_con_fg_fr_eu = #{sctfConFgFrEu},</if>
+            <if test="sctfConLpg != null">sctf_con_lpg = #{sctfConLpg},</if>
+            <if test="sctfConHhpSteam != null">sctf_con_hhp_steam = #{sctfConHhpSteam},</if>
+            <if test="sctfConMpSteam != null">sctf_con_mp_steam = #{sctfConMpSteam},</if>
+            <if test="sctfConLpSteam != null">sctf_con_lp_steam = #{sctfConLpSteam},</if>
+            <if test="sctfConPCondensate != null">sctf_con_p_condensate = #{sctfConPCondensate},</if>
+            <if test="sctfConCw != null">sctf_con_cw = #{sctfConCw},</if>
+            <if test="sctfConN2 != null">sctf_con_n2 = #{sctfConN2},</if>
+            <if test="sctfConIaPa != null">sctf_con_ia_pa = #{sctfConIaPa},</if>
+            <if test="sctfConHppa != null">sctf_con_hppa = #{sctfConHppa},</if>
+            <if test="sctfConProductionWater != null">sctf_con_production_water = #{sctfConProductionWater},</if>
+            <if test="sctfConHpSteamFrSubNet != null">sctf_con_hp_steam_fr_sub_net = #{sctfConHpSteamFrSubNet},</if>
+            <if test="sctfConBfw != null">sctf_con_bfw = #{sctfConBfw},</if>
+            <if test="sctfConContaminatedWw != null">sctf_con_contaminated_ww = #{sctfConContaminatedWw},</if>
+            <if test="sctfConProductionWw != null">sctf_con_production_ww = #{sctfConProductionWw},</if>
+            <if test="kbiPcur != null">kbi_pcur = #{kbiPcur},</if>
+            <if test="kbiEnergyConsumption != null">kbi_energy_consumption = #{kbiEnergyConsumption},</if>
+            <if test="kbiPepc != null">kbi_pepc = #{kbiPepc},</if>
+            <if test="kbiC2C3Production != null">kbi_c2_c3_production = #{kbiC2C3Production},</if>
+            <if test="kbiC2C3Target != null">kbi_c2_c3_target = #{kbiC2C3Target},</if>
+            <if test="kbiC2C3Target2 != null">kbi_c2_c3_target2 = #{kbiC2C3Target2},</if>
+            <if test="kbiC2Target != null">kbi_c2_target = #{kbiC2Target},</if>
+            <if test="kbiC2Target2 != null">kbi_c2_target2 = #{kbiC2Target2},</if>
+            <if test="kbiLti != null">kbi_lti = #{kbiLti},</if>
+            <if test="kbiYepbf != null">kbi_yepbf = #{kbiYepbf},</if>
+            <if test="kbiYebf != null">kbi_yebf = #{kbiYebf},</if>
+            <if test="kbiAeuEnergyConsumption != null">kbi_aeu_energy_consumption = #{kbiAeuEnergyConsumption},</if>
+            <if test="kbiBtxProduction != null">kbi_btx_production = #{kbiBtxProduction},</if>
+            <if test="kbiBtxTarget != null">kbi_btx_target = #{kbiBtxTarget},</if>
+            <if test="kbiBtxTarget2 != null">kbi_btx_target2 = #{kbiBtxTarget2},</if>
+            <if test="summaryClYb != null">summary_cl_yb = #{summaryClYb},</if>
+            <if test="summaryClSny != null">summary_cl_sny = #{summaryClSny},</if>
+            <if test="summaryClC5Raff != null">summary_cl_c5_raff = #{summaryClC5Raff},</if>
+            <if test="summaryClYw != null">summary_cl_yw = #{summaryClYw},</if>
+            <if test="summaryClJqtj != null">summary_cl_jqtj = #{summaryClJqtj},</if>
+            <if test="summaryClYxjy != null">summary_cl_yxjy = #{summaryClYxjy},</if>
+            <if test="summaryClHhc4 != null">summary_cl_hhc4 = #{summaryClHhc4},</if>
+            <if test="summaryClSb != null">summary_cl_sb = #{summaryClSb},</if>
+            <if test="summaryClLjtw != null">summary_cl_ljtw = #{summaryClLjtw},</if>
+            <if test="summaryClLjtj != null">summary_cl_ljtj = #{summaryClLjtj},</if>
+            <if test="summaryClCcsny != null">summary_cl_ccsny = #{summaryClCcsny},</if>
+            <if test="summaryClZqzh != null">summary_cl_zqzh = #{summaryClZqzh},</if>
+            <if test="summaryClLqs != null">summary_cl_lqs = #{summaryClLqs},</if>
+            <if test="summaryClD != null">summary_cl_d = #{summaryClD},</if>
+            <if test="summaryClRlq != null">summary_cl_rlq = #{summaryClRlq},</if>
+            <if test="summaryClJzs != null">summary_cl_jzs = #{summaryClJzs},</if>
+            <if test="summaryClTpny != null">summary_cl_tpny = #{summaryClTpny},</if>
+            <if test="summarySlYb != null">summary_sl_yb = #{summarySlYb},</if>
+            <if test="summarySlSny != null">summary_sl_sny = #{summarySlSny},</if>
+            <if test="summarySlC5Raff != null">summary_sl_c5_raff = #{summarySlC5Raff},</if>
+            <if test="summarySlYw != null">summary_sl_yw = #{summarySlYw},</if>
+            <if test="summarySlJqtj != null">summary_sl_jqtj = #{summarySlJqtj},</if>
+            <if test="summarySlYxjy != null">summary_sl_yxjy = #{summarySlYxjy},</if>
+            <if test="summarySlHhc4 != null">summary_sl_hhc4 = #{summarySlHhc4},</if>
+            <if test="summarySlSb != null">summary_sl_sb = #{summarySlSb},</if>
+            <if test="summarySlLjtw != null">summary_sl_ljtw = #{summarySlLjtw},</if>
+            <if test="summarySlLjtj != null">summary_sl_ljtj = #{summarySlLjtj},</if>
+            <if test="summarySlCcsny != null">summary_sl_ccsny = #{summarySlCcsny},</if>
+            <if test="summarySlZqzh != null">summary_sl_zqzh = #{summarySlZqzh},</if>
+            <if test="summarySlLqs != null">summary_sl_lqs = #{summarySlLqs},</if>
+            <if test="summarySlD != null">summary_sl_d = #{summarySlD},</if>
+            <if test="summarySlRlq != null">summary_sl_rlq = #{summarySlRlq},</if>
+            <if test="summarySlJzs != null">summary_sl_jzs = #{summarySlJzs},</if>
+            <if test="summarySlTpny != null">summary_sl_tpny = #{summarySlTpny},</if>
         </trim>
         where report_month = #{reportMonth} and report_year = #{reportYear}
     </update>

Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.