From 75364046ec0b3432733b56042e3de2da7831d8a8 Mon Sep 17 00:00:00 2001
From: he wei <858544502@qq.com>
Date: 星期四, 18 五月 2023 10:03:43 +0800
Subject: [PATCH] 配置

---
 src/main/java/com/whyc/service/ExcelExportService.java |  488 ++++++++++++++++++++++-------------------------------
 1 files changed, 202 insertions(+), 286 deletions(-)

diff --git a/src/main/java/com/whyc/service/ExcelExportService.java b/src/main/java/com/whyc/service/ExcelExportService.java
index c112210..fefe59e 100644
--- a/src/main/java/com/whyc/service/ExcelExportService.java
+++ b/src/main/java/com/whyc/service/ExcelExportService.java
@@ -1,7 +1,10 @@
 package com.whyc.service;
 
-import com.whyc.charge.Fbs5100DisChargeData;
-import com.whyc.charge.Fbs5100FbsData;
+import com.whyc.alarm.Fbs5100Alarm;
+import com.whyc.alarm.Fbs5100AlarmData;
+import com.whyc.alarm.Fbs5100AlarmParam;
+import com.whyc.charge.*;
+import com.whyc.dto.AlarmFactoryDto;
 import com.whyc.dto.ServletUtils;
 import org.apache.poi.ss.usermodel.ClientAnchor;
 import org.apache.poi.xssf.usermodel.*;
@@ -21,7 +24,7 @@
 
 @Service
 public class ExcelExportService {
-   /* @Autowired
+    @Autowired
     private Fbs5100DisChargeDataService disChargeDataService;
 
     @Autowired
@@ -31,21 +34,14 @@
     private Fbs5100AlarmDataService alarmDataService;
 
     //瀵煎嚭鏀剧數鏁版嵁bcp
-    public void exportBcp(HttpServletRequest req, HttpServletResponse resp){
-
-        String curr_echart = req.getParameter("curr_echart");		//鐢垫睜鐢垫祦鎶樼嚎鍥�
-        String groupVol_echart = req.getParameter("groupVol_echart");		//缁勭鐢靛帇鎶樼嚎鍥�
-        String cap_echart = req.getParameter("cap_echart");			//娴嬭瘯瀹归噺鎶樼嚎鍥�
-        //String actualCap_echart = req.getParameter("actualCap_echart");			//瀹為檯瀹归噺鎶樼嚎鍥�
-        String vol_echart = req.getParameter("vol_echart");			//鍗曚綋鐢靛帇鎶樼嚎鍥�
-        String tempEnvi_echart = req.getParameter("tempEnvi_echart");//鐜娓╁害鎶樼嚎鍥�
-        String humiEnvi_echart = req.getParameter("humiEnvi_echart");//鐜婀垮害鎶樼嚎鍥�
-
+    public void exportBcp(HttpServletRequest req, HttpServletResponse resp) {
+        String curr_echart = req.getParameter("curr_echart");        //鐢垫睜鐢垫祦鎶樼嚎鍥�
+        String groupVol_echart = req.getParameter("groupVol_echart");//缁勭鐢靛帇鎶樼嚎鍥�
+        String cap_echart = req.getParameter("cap_echart");            //娴嬭瘯瀹归噺鎶樼嚎鍥�
+        String temp_echart = req.getParameter("temp_echart");//娓╁害鎶樼嚎鍥�
 
         String filePath = req.getParameter("filePath");
-        Fbs5100DisChargeData data=disChargeDataService.readFboFile(filePath);
-        //浠庢枃浠朵腑鑾峰彇鏁版嵁
-        List<Fbs5100FbsData> list = data.fbsDatas;
+        Fbs5100DisChargeData data = disChargeDataService.readFboFile(filePath);
         //鍥剧墖base64鍚庣殑鏁版嵁
         List<byte[]> bytes = new ArrayList<>();
         try {
@@ -61,70 +57,58 @@
                 String[] url = cap_echart.split(",");
                 bytes.add(new BASE64Decoder().decodeBuffer(url[1]));
             }
-            if (ServletUtils.isNotNull(vol_echart)) {
-                String[] url = vol_echart.split(",");
+            if (ServletUtils.isNotNull(temp_echart)) {
+                String[] url = temp_echart.split(",");
                 bytes.add(new BASE64Decoder().decodeBuffer(url[1]));
             }
-            if (ServletUtils.isNotNull(tempEnvi_echart)) {
-                String[] url = tempEnvi_echart.split(",");
-                bytes.add(new BASE64Decoder().decodeBuffer(url[1]));
-            }
-            if (ServletUtils.isNotNull(humiEnvi_echart)) {
-                String[] url = humiEnvi_echart.split(",");
-                bytes.add(new BASE64Decoder().decodeBuffer(url[1]));
-            }
-        }catch (Exception e){
+        } catch (Exception e) {
             e.printStackTrace();
         }
         //褰撳墠鏃ユ湡
         String nowFormat = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
-        String excelName = "FBX-"+nowFormat;
+        String excelName = "bcp-" + nowFormat;
 
         XSSFWorkbook wb = new XSSFWorkbook();
         XSSFSheet sheet = wb.createSheet("鏁版嵁鎬昏〃");
 
         XSSFDrawing patriarch = sheet.createDrawingPatriarch();
         int rowNumSheet = 0;
-        FboDataHeadStart start = fboDataInf.fboDataStart;
-        FboDataHeadStop stop = fboDataInf.fboDataStop;
-        sheet.createRow(rowNumSheet);
-        sheet.getRow(rowNumSheet).createCell(0).setCellValue("鐢垫睜缁勫悕绉帮細"+start.battNameStr);
-        sheet.getRow(rowNumSheet).createCell(1).setCellValue("鐢垫睜鍝佺墝锛�"+start.battBrandStr);
-        rowNumSheet++;
-        sheet.createRow(rowNumSheet);
+        //浠庢枃浠朵腑鑾峰彇鏁版嵁
+        List<Fbs5100FbsData> list = data.fbsDatas;
+        Fbs5100BattParam battParam = data.battParam;
+        Fbs5100TestParam testParam = data.testParam;
+        Fbs5100CapState capState = data.capState;
 
-        sheet.getRow(rowNumSheet).createCell(0).setCellValue("瀹夎鏃ユ湡锛�"+start.batt_date_str);
-        sheet.getRow(rowNumSheet).createCell(1).setCellValue("鍗曚綋鏁伴噺锛�"+start.batt_mon_num);
-        sheet.getRow(rowNumSheet).createCell(2).setCellValue("鏍囩О瀹归噺锛�"+start.batt_std_cap+"AH");
+        sheet.createRow(rowNumSheet);
+        sheet.getRow(rowNumSheet).createCell(0).setCellValue("鐢垫睜缁勬暟锛�" + battParam.BattGroupCount);
+        sheet.getRow(rowNumSheet).createCell(1).setCellValue("姣忕粍鍗曚綋鏁帮細" + battParam.EachGroupBattCount);
+        sheet.getRow(rowNumSheet).createCell(2).setCellValue("鏍囩О鍗曚綋鐢靛帇锛�" + battParam.MonomerVol + "V");
+
         rowNumSheet++;
         sheet.createRow(rowNumSheet);
-        sheet.getRow(rowNumSheet).createCell(0).setCellValue("娴嬭瘯寮�濮嬫椂闂达細"+formartDate(start.testStartTime,"yyyy-MM-dd HH:mm:ss"));
-        sheet.getRow(rowNumSheet).createCell(1).setCellValue("娴嬭瘯鏃堕暱锛�"+stop.TestTimeLong.hms());
-        sheet.getRow(rowNumSheet).createCell(2).setCellValue("鍗曚綋鐢靛帇锛�"+start.batt_mon_vol+"V");
+        sheet.getRow(rowNumSheet).createCell(0).setCellValue("娴厖鐢垫祦闃堝�硷細" + battParam.FloatChargeVol + "A");
+        sheet.getRow(rowNumSheet).createCell(1).setCellValue("鍦ㄧ嚎鐢靛帇浣庨槇鍊硷細" + battParam.OnlineVolLow + "A");
+        sheet.getRow(rowNumSheet).createCell(2).setCellValue("鍧囧厖鐢靛帇锛�" + battParam.JunChargeVol + "A");
+
         rowNumSheet++;
         sheet.createRow(rowNumSheet);
-        sheet.getRow(rowNumSheet).createCell(0).setCellValue("姝f瀬缁濈紭鐢甸樆锛�"+list.get(list.size()-1).PosInsRes+"k惟");
-        sheet.getRow(rowNumSheet).createCell(1).setCellValue("璐熸瀬缁濈紭鐢甸樆锛�"+list.get(list.size()-1).NegInsRes+"k惟");
-        sheet.getRow(rowNumSheet).createCell(2).setCellValue("鏍囩О鍐呴樆锛�"+start.batt_std_res+"m惟");
-        if(start.DataType==0xFD){
-            rowNumSheet++;
-            sheet.createRow(rowNumSheet);
-            sheet.getRow(rowNumSheet).createCell(0).setCellValue("棰勪及瀹為檯瀹归噺锛�"+list.get(list.size()-1).actualCap+"AH");
-        }
-        rowNumSheet+=4;
+        sheet.getRow(rowNumSheet).createCell(0).setCellValue("娴嬭瘯寮�濮嬫椂闂达細" + formartDate(capState.StartDT.time,"yyyy-MM-dd HH:mm:ss"));
+        sheet.getRow(rowNumSheet).createCell(1).setCellValue("娴嬭瘯鏃堕暱锛�" + getHHMMSS(capState.Test_Time.hour,capState.Test_Time.minute,capState.Test_Time.second));
+
+        rowNumSheet += 4;
         //鎻掑叆鍥剧墖
         int picNum = 0;
-        String[] picName = getPicName(start.DataType);
-        if (picName.length==bytes.size()){
-            for(int i=0;i<picName.length;i++){
-                sheet.createRow(rowNumSheet-1);
-                sheet.getRow(rowNumSheet-1).createCell(0).setCellValue(picName[i]);
+        String[] picName = getPicName("bcp");
+        if (picName.length == bytes.size()) {
+            for (int i = 0; i < picName.length; i++) {
+                sheet.createRow(rowNumSheet - 1);
+                sheet.getRow(rowNumSheet - 1).createCell(0).setCellValue(picName[i]);
                 //rowNum++;
-                XSSFClientAnchor anchor = new XSSFClientAnchor(0, 0, 512, 255,(short) 0, rowNumSheet, (short) 10, rowNumSheet+27);
+                XSSFClientAnchor anchor = new XSSFClientAnchor(0, 0, 512, 255, (short) 0, rowNumSheet, (short) 10, rowNumSheet + 24);
                 anchor.setAnchorType(ClientAnchor.AnchorType.DONT_MOVE_AND_RESIZE);
-                patriarch.createPicture(anchor,wb.addPicture(bytes.get(picNum),XSSFWorkbook.PICTURE_TYPE_PNG)).resize(1);
-                picNum ++;
-                rowNumSheet+=27;
+                patriarch.createPicture(anchor, wb.addPicture(bytes.get(picNum), XSSFWorkbook.PICTURE_TYPE_PNG)).resize(1);
+                picNum++;
+                rowNumSheet += 27;
             }
         }
 
@@ -134,33 +118,31 @@
         sheet1.createRow(rowNum).createCell(0).setCellValue("娴嬭瘯鏁版嵁");
         rowNum++;
         //灞炴�ф爮
-        String[] rowName = getRowName(start.DataType);
+        String[] rowName = getRowName("bcp");
         XSSFRow row = sheet1.createRow(rowNum);
-        for (int i=0;i<rowName.length;i++){
+        for (int i = 0; i < rowName.length; i++) {
             row.createCell(i).setCellValue(rowName[i]);
         }
-        for(int i=0;i<list.get(0).SingleVol.length;i++){
-            row.createCell(rowName.length+i).setCellValue("#"+Integer.valueOf(i+1));
+        for (int i = 0; i < battParam.BattGroupCount; i++) {
+            row.createCell(rowName.length + i*2).setCellValue("#" + Integer.valueOf(i + 1)+"鍦ㄧ嚎鐢靛帇");
+            row.createCell(rowName.length + i*2+1).setCellValue("#" + Integer.valueOf(i + 1)+"缁勭鐢靛帇");
         }
         rowNum++;
         //鏁版嵁鏍�
         for (int i = 0; i < list.size(); i++) {
             sheet1.createRow(rowNum);  //鍒涘缓琛�
-            FboData fbo=list.get(i);
-            sheet1.getRow(rowNum).createCell(0).setCellValue(fbo.m_TestTime.hms());
-            sheet1.getRow(rowNum).createCell(1).setCellValue(fbo.SumVoltage);
-            sheet1.getRow(rowNum).createCell(2).setCellValue(fbo.SumCurrent);
-            sheet1.getRow(rowNum).createCell(3).setCellValue(fbo.Temp_Envi);
-            sheet1.getRow(rowNum).createCell(4).setCellValue(fbo.Humi_Envi);
-            if (start.DataType!=0xFB){
-                sheet1.getRow(rowNum).createCell(5).setCellValue(fbo.testCap);
-            }
-            for (int k = 0;k<list.get(0).SingleVol.length;k++){
-                sheet1.getRow(rowNum).createCell(rowName.length+k).setCellValue(fbo.SingleVol[k]);
+            Fbs5100FbsData fbsData = list.get(i);
+            sheet1.getRow(rowNum).createCell(0).setCellValue(getHHMMSS(fbsData.testTime.hour,fbsData.testTime.minute,fbsData.testTime.second));
+            sheet1.getRow(rowNum).createCell(1).setCellValue(String.valueOf(fbsData.muxianvol_discharge));
+            sheet1.getRow(rowNum).createCell(2).setCellValue(String.valueOf(fbsData.muxianvol_charge));
+            sheet1.getRow(rowNum).createCell(3).setCellValue(String.valueOf(fbsData.boostDCDC_OutVol));
+            sheet1.getRow(rowNum).createCell(4).setCellValue(String.valueOf(fbsData.muxianvol));
+            for (int j = 0; j < battParam.BattGroupCount; j++) {
+                sheet1.getRow(rowNum).createCell(rowName.length + j*2).setCellValue(String.valueOf(fbsData.onlinevol[j]));
+                sheet1.getRow(rowNum).createCell(rowName.length + j*2+1).setCellValue(String.valueOf(fbsData.groupvol[j]));
             }
             rowNum++;
         }
-
         rowNum++;
 
         try {
@@ -178,89 +160,173 @@
         }
     }
 
+    //灏嗘棩鏈熸牸寮忚浆鎹㈡垚鎸囧畾鐨勫瓧绗︿覆鏍煎紡
+    public static String formartDate(Date date, String str){
+        return new SimpleDateFormat(str).format(date);
+    }
 
-    public String[] getRowName(int dateType){
-        if (dateType==0xFB){
-            String[] rowName = {"娴嬭瘯鏃堕棿","鎬荤數鍘�(V)","鎬荤數娴�(A)","鐜娓╁害","鐜婀垮害"};
-            return rowName;
+    //鑾峰彇鏍囧噯鏍煎紡鏃堕棿
+    public static String getHHMMSS(int hour,int minute,int second){
+        String time="";
+        if(hour<10){
+            time+="0"+hour;
+        }else{
+            time+=""+hour;
+        }
+        if(minute<10){
+            time+=":"+"0"+minute;
+        }else{
+            time+=":"+minute;
+        }
+        if(second<10){
+            time+=":"+"0"+second;
+        }else{
+            time+=":"+second;
+        }
+        return time;
+    }
+    public String[] getRowName(String bcp){
+        if (bcp.equals("bcp")){
+            String[] rowNameBcp = {"娴嬭瘯鏃堕棿","鏀剧數姣嶇嚎鐢靛帇(V)","鍏呯數姣嶇嚎鐢靛帇(V)","鍗囧帇DCDC杈撳嚭鐢靛帇","48V姣嶇嚎鐢靛帇"};
+            return rowNameBcp;
+        }else if (bcp.equals("chr")){
+            String[] rowNameChr = {"娴嬭瘯鏃堕棿","鏀剧數姣嶇嚎鐢靛帇(V)","鍏呯數姣嶇嚎鐢靛帇(V)","鍗囧帇DCDC杈撳嚭鐢靛帇","48V姣嶇嚎鐢靛帇"};
+            return rowNameChr;
+        }else if (bcp.equals("alm")){
+            String[] rowNameAlm = {"鍛婅寮�濮嬫椂闂�","鍛婅鍚嶇О","鍛婅绫诲瀷","鍛婅鍊�"};
+            return rowNameAlm;
         }else{
             String[] rowName1 = {"娴嬭瘯鏃堕棿","鎬荤數鍘�(V)","鎬荤數娴�(A)","鐜娓╁害","鐜婀垮害","娴嬭瘯瀹归噺(AH)"};
             return rowName1;
         }
     }
 
-    public String[] getPicName(int dateType){
-        if (dateType==0xFB){
-            String[] picName1 = new String[]{
-                    "鐢垫睜鐢垫祦鎶樼嚎鍥�","缁勭鐢靛帇鎶樼嚎鍥�","鍗曚綋鐢靛帇鎶樼嚎鍥�","鐜娓╁害鎶樼嚎鍥�","鐜婀垮害鎶樼嚎鍥�"
+    public String[] getPicName(String fileType){
+        if (fileType.equals("bcp")){
+            String[] picNameBcp = new String[]{
+                    "鐢垫睜鐢垫祦鎶樼嚎鍥�","缁勭鐢靛帇鎶樼嚎鍥�","娴嬭瘯瀹归噺鎶樼嚎鍥�","娓╁害鎶樼嚎鍥�"
             };
-            return picName1;
+            return picNameBcp;
+        }else if(fileType.equals("chr")){
+            String[] picNameChr = new String[]{
+                    "鐢垫睜鐢垫祦鎶樼嚎鍥�","缁勭鐢靛帇鎶樼嚎鍥�","娴嬭瘯瀹归噺鎶樼嚎鍥�","娓╁害鎶樼嚎鍥�"
+            };
+            return picNameChr;
         }else{
-            String[] picName = new String[]{
-                    "鐢垫睜鐢垫祦鎶樼嚎鍥�","缁勭鐢靛帇鎶樼嚎鍥�","娴嬭瘯瀹归噺鎶樼嚎鍥�","鍗曚綋鐢靛帇鎶樼嚎鍥�","鐜娓╁害鎶樼嚎鍥�","鐜婀垮害鎶樼嚎鍥�"
-            };
-            return picName;
+            return null;
         }
     }
 
 
     //瀵煎嚭鍏呯數鏁版嵁chr
     public void exportChr(HttpServletRequest req, HttpServletResponse resp){
-        String volEchart = req.getParameter("vol_echart");			//鍗曚綋鐢靛帇鎶樼嚎鍥�
-        String resEchart = req.getParameter("res_echart");			//鍗曚綋鍐呴樆鎶樼嚎鍥�
-        String tmpEchart = req.getParameter("tmp_echart");			//鍗曚綋娓╁害鎶樼嚎鍥�
-
+        String curr_echart = req.getParameter("curr_echart");        //鐢垫睜鐢垫祦鎶樼嚎鍥�
+        String groupVol_echart = req.getParameter("groupVol_echart");//缁勭鐢靛帇鎶樼嚎鍥�
+        String cap_echart = req.getParameter("cap_echart");            //娴嬭瘯瀹归噺鎶樼嚎鍥�
+        String temp_echart = req.getParameter("temp_echart");//娓╁害鎶樼嚎鍥�
         String filePath = req.getParameter("filePath");
+        Fbs5100ChargeData data=chargeDataService.readFileData(filePath);
         //鍥剧墖base64鍚庣殑鏁版嵁
         List<byte[]> bytes = new ArrayList<>();
         try {
-            if (ServletUtils.isNotNull(volEchart)) {
-                String[] url = volEchart.split(",");
+            if (ServletUtils.isNotNull(curr_echart)) {
+                String[] url = curr_echart.split(",");
                 bytes.add(new BASE64Decoder().decodeBuffer(url[1]));
             }
-            if (ServletUtils.isNotNull(resEchart)) {
-                String[] url = resEchart.split(",");
+            if (ServletUtils.isNotNull(groupVol_echart)) {
+                String[] url = groupVol_echart.split(",");
                 bytes.add(new BASE64Decoder().decodeBuffer(url[1]));
             }
-            if (ServletUtils.isNotNull(tmpEchart)) {
-                String[] url = tmpEchart.split(",");
+            if (ServletUtils.isNotNull(cap_echart)) {
+                String[] url = cap_echart.split(",");
+                bytes.add(new BASE64Decoder().decodeBuffer(url[1]));
+            }
+            if (ServletUtils.isNotNull(temp_echart)) {
+                String[] url = temp_echart.split(",");
                 bytes.add(new BASE64Decoder().decodeBuffer(url[1]));
             }
         }catch (Exception e){
             e.printStackTrace();
         }
+        //鏁版嵁
+        Fbs5100BattParam battParam =data.battParam;
+        Fbs5100ChargeParam chargeParam =data.chargeParam;
+        Fbs5100ChargeState chargeState =data.chargeState;
+        //浠庢枃浠朵腑鑾峰彇鏁版嵁
+        List<Fbs5100FbsData> list = data.fbsDatas;
         //褰撳墠鏃ユ湡
         String nowFormat = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
-        String excelName = "BRES-"+nowFormat;
+        String excelName = "chr-"+nowFormat;
         XSSFWorkbook wb = new XSSFWorkbook();
         XSSFSheet sheet = wb.createSheet("鏁版嵁鎬昏〃");
+        int rowNumSheet = 0;
+        sheet.createRow(rowNumSheet);
+        sheet.getRow(rowNumSheet).createCell(0).setCellValue("鐢垫睜缁勬暟锛�" + battParam.BattGroupCount);
+        sheet.getRow(rowNumSheet).createCell(1).setCellValue("姣忕粍鍗曚綋鏁帮細" + battParam.EachGroupBattCount);
+        sheet.getRow(rowNumSheet).createCell(2).setCellValue("鏍囩О鍗曚綋鐢靛帇锛�" + battParam.MonomerVol + "V");
+
+        rowNumSheet++;
+        sheet.createRow(rowNumSheet);
+        sheet.getRow(rowNumSheet).createCell(0).setCellValue("娴厖鐢垫祦闃堝�硷細" + battParam.FloatChargeVol + "A");
+        sheet.getRow(rowNumSheet).createCell(1).setCellValue("鍦ㄧ嚎鐢靛帇浣庨槇鍊硷細" + battParam.OnlineVolLow + "A");
+        sheet.getRow(rowNumSheet).createCell(2).setCellValue("鍧囧厖鐢靛帇锛�" + battParam.JunChargeVol + "A");
+
+        rowNumSheet++;
+        sheet.createRow(rowNumSheet);
+        sheet.getRow(rowNumSheet).createCell(0).setCellValue("娴嬭瘯寮�濮嬫椂闂达細" + formartDate(chargeState.StartDT.time,"yyyy-MM-dd HH:mm:ss"));
+        sheet.getRow(rowNumSheet).createCell(1).setCellValue("娴嬭瘯鏃堕暱锛�" + getHHMMSS(chargeState.Test_Time.hour,chargeState.Test_Time.minute,chargeState.Test_Time.second));
+
+        rowNumSheet += 4;
         //鍥剧墖鍏冪礌
         XSSFDrawing patriarch = sheet.createDrawingPatriarch();
-        int rowNumSheet = 1;
         //鎻掑叆鍥剧墖
         int picNum = 0;
-        String[] picName =new String[]{"鍗曚綋鐢靛帇鎶樼嚎鍥�","鍗曚綋鍐呴樆鎶樼嚎鍥�","鍗曚綋娓╁害鎶樼嚎鍥�"};
+        String[] picName =getPicName("chr");
         if (picName.length==bytes.size()){
             for(int i=0;i<picName.length;i++){
                 sheet.createRow(rowNumSheet-1);
                 sheet.getRow(rowNumSheet-1).createCell(0).setCellValue(picName[i]);
                 //rowNum++;
-                XSSFClientAnchor anchor = new XSSFClientAnchor(0, 0, 512, 255,(short) 0, rowNumSheet, (short) 10, rowNumSheet+27);
+                XSSFClientAnchor anchor = new XSSFClientAnchor(0, 0, 512, 255,(short) 0, rowNumSheet, (short) 10, rowNumSheet+24);
                 anchor.setAnchorType(ClientAnchor.AnchorType.DONT_MOVE_AND_RESIZE);
                 patriarch.createPicture(anchor,wb.addPicture(bytes.get(picNum),XSSFWorkbook.PICTURE_TYPE_PNG)).resize(1);
                 picNum ++;
                 rowNumSheet+=30;
             }
         }
-        //鏁版嵁
-        RESDataInfo resDataInfo =resService.readFileData(filePath);
-        //浠庢枃浠朵腑鑾峰彇鏁版嵁
-        List<RESData> list = resDataInfo.resDatas;
-        int battNum=list.get(0).getBattSum();//鍗曚綋涓暟
-        //鍒涘缓涓嶅悓sheet
-        createBresSheet(wb,battNum,list,1);//鍒涘缓鍐呴樆鏁版嵁
-        createBresSheet(wb,battNum,list,2);//鍒涘缓娓╁害鏁版嵁
-        createBresSheet(wb,battNum,list,3);//鍒涘缓鐢靛帇鏁版嵁
+        XSSFSheet sheet1 = wb.createSheet("鏁版嵁");
+        //鎶ご
+        int rowNum = 0;
+        sheet1.createRow(rowNum).createCell(0).setCellValue("娴嬭瘯鏁版嵁");
+        rowNum++;
+        //灞炴�ф爮
+        String[] rowName = getRowName("chr");
+        XSSFRow row = sheet1.createRow(rowNum);
+        for (int i = 0; i < rowName.length; i++) {
+            row.createCell(i).setCellValue(rowName[i]);
+        }
+        for (int i = 0; i < battParam.BattGroupCount; i++) {
+            row.createCell(rowName.length + i*2).setCellValue("#" + Integer.valueOf(i + 1)+"鍦ㄧ嚎鐢靛帇");
+            row.createCell(rowName.length + i*2+1).setCellValue("#" + Integer.valueOf(i + 1)+"缁勭鐢靛帇");
+        }
+        rowNum++;
+        //鏁版嵁鏍�
+        for (int i = 0; i < list.size(); i++) {
+            sheet1.createRow(rowNum);  //鍒涘缓琛�
+            Fbs5100FbsData fbsData = list.get(i);
+            sheet1.getRow(rowNum).createCell(0).setCellValue(getHHMMSS(fbsData.testTime.hour,fbsData.testTime.minute,fbsData.testTime.second));
+            sheet1.getRow(rowNum).createCell(1).setCellValue(String.valueOf(fbsData.muxianvol_discharge));
+            sheet1.getRow(rowNum).createCell(2).setCellValue(String.valueOf(fbsData.muxianvol_charge));
+            sheet1.getRow(rowNum).createCell(3).setCellValue(String.valueOf(fbsData.boostDCDC_OutVol));
+            sheet1.getRow(rowNum).createCell(4).setCellValue(String.valueOf(fbsData.muxianvol));
+            for (int j = 0; j < battParam.BattGroupCount; j++) {
+                sheet1.getRow(rowNum).createCell(rowName.length + j*2).setCellValue(String.valueOf(fbsData.onlinevol[j]));
+                sheet1.getRow(rowNum).createCell(rowName.length + j*2+1).setCellValue(String.valueOf(fbsData.groupvol[j]));
+            }
+            rowNum++;
+        }
+        rowNum++;
+
         try {
             // 杞爜闃叉涔辩爜
             resp.addHeader("Content-Disposition", "attachment;filename="
@@ -275,206 +341,56 @@
             e.printStackTrace();
         }
     }
-    //bres涓唴闃绘暟鎹�/娓╁害鏁版嵁/鍗曚綋鐢靛帇鏁版嵁鏀惧湪涓嶅悓鐨剆heet涓�
-    public void createBresSheet(XSSFWorkbook wb,int battNum,List<RESData> list,int type){
-        String sheetName="";
-        String testName="";
-        switch (type){
-            case 1:sheetName= "鍐呴樆鏁版嵁";testName="娴嬭瘯鏁版嵁(鍐呴樆)";break;
-            case 2:sheetName= "娓╁害鏁版嵁";testName="娴嬭瘯鏁版嵁(娓╁害)";break;
-            case 3:sheetName= "鐢靛帇鏁版嵁";testName="娴嬭瘯鏁版嵁(鐢靛帇)";break;
-        }
-        XSSFSheet sheet1 = wb.createSheet(sheetName);
-        //鎶ご
-        int rowNum = 0;
-        sheet1.createRow(rowNum).createCell(0).setCellValue(testName);
-        rowNum++;
-        //灞炴�ф爮
-        XSSFRow row = sheet1.createRow(rowNum);
-        row.createCell(0).setCellValue("娴嬭瘯鏃堕棿");
-
-        for(int i=0;i<battNum;i++){
-            row.createCell(1+i).setCellValue("#"+Integer.valueOf(i+1));
-        }
-        rowNum++;
-        float[] datas=new float[]{};
-        //鏁版嵁鏍�
-        for (int i = 0; i < list.size(); i++) {
-            sheet1.createRow(rowNum);  //鍒涘缓琛�
-            RESData resData= list.get(i);
-            switch (type){
-                case 1:datas= resData.getMonomerRes();break;
-                case 2:datas= resData.getMonomerTemp();break;
-                case 3:datas= resData.getMonomerVol();break;
-            }
-            sheet1.getRow(rowNum).createCell(0).setCellValue(formartDate(resData.getData_Time(),"yyyy-MM-dd HH:mm:ss"));
-            for (int k = 0;k<battNum;k++){
-                sheet1.getRow(rowNum).createCell(k+1).setCellValue(datas[k]);
-            }
-            rowNum++;
-        }
-        rowNum++;
-    }
-
-    *//**
-     * 灏嗘棩鏈熸牸寮忚浆鎹㈡垚鎸囧畾鐨勫瓧绗︿覆鏍煎紡
-     * @param date	鏃ユ湡
-     * @param str	瀛楃涓茬殑鏍煎紡
-     * @return
-     *//*
-    public static String formartDate(Date date, String str){
-        return new SimpleDateFormat(str).format(date);
-    }
-
-
 
     //瀵煎嚭鍛婅鏁版嵁alm
     public void exportAlm(HttpServletRequest req, HttpServletResponse resp){
-        String volEchart = req.getParameter("vol_echart");			//鍗曚綋鐢靛帇鎶樼嚎鍥�
-        String currEchart = req.getParameter("curr_echart");		//鐢垫睜鐢垫祦鎶樼嚎鍥�
-        String groupVolEchart = req.getParameter("groupVol_echart");		//缁勭鐢靛帇鎶樼嚎鍥�
-        String capEchart = req.getParameter("cap_echart");			//娴嬭瘯瀹归噺鎶樼嚎鍥�
         String filePath = req.getParameter("filePath");
         //鏁版嵁
-        TestDataInfo testDataInfoMcp=testDataInfoService.readFileData(filePath);
-        MonitorDataInfo info = testDataInfoMcp.monitorDataInfo;//缁勭鏁版嵁
-
-        //鍥剧墖base64鍚庣殑鏁版嵁
-        List<byte[]> bytes = new ArrayList<>();
-        try {
-            if (ServletUtils.isNotNull(volEchart)) {
-                String[] url = volEchart.split(",");
-                bytes.add(new BASE64Decoder().decodeBuffer(url[1]));
-            }
-            if (ServletUtils.isNotNull(currEchart)) {
-                String[] url = currEchart.split(",");
-                bytes.add(new BASE64Decoder().decodeBuffer(url[1]));
-            }
-            if (ServletUtils.isNotNull(groupVolEchart)) {
-                String[] url = groupVolEchart.split(",");
-                bytes.add(new BASE64Decoder().decodeBuffer(url[1]));
-            }
-            if (ServletUtils.isNotNull(capEchart)) {
-                String[] url = capEchart.split(",");
-                bytes.add(new BASE64Decoder().decodeBuffer(url[1]));
-            }
-        }catch (Exception e){
-            e.printStackTrace();
-        }
+        Fbs5100AlarmData data=alarmDataService.readFileData(filePath);
+        Fbs5100AlarmParam alarmParam = data.alarmParam;
+        List<Fbs5100Alarm> list=data.alarms;
         //褰撳墠鏃ユ湡
-        String nowFormat = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
-        String excelName ="";
-        int fileType=testDataInfoMcp.getFile_type();
-        if(fileType==0xFA){
-            excelName="MCP-"+nowFormat;
-        }else{
-            excelName="MCH-"+nowFormat;
-        }
+        String excelName ="alm-"+new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
         XSSFWorkbook wb = new XSSFWorkbook();
         XSSFSheet sheet = wb.createSheet("鏁版嵁鎬昏〃");
-        //鍥剧墖鍏冪礌
-        XSSFDrawing patriarch = sheet.createDrawingPatriarch();
-        BattParam battParam=info.battparam;//鐢垫睜鍙傛暟
-        SYSMonitorParam sysParam=info.monitorparam;//缁勭鍙傛暟
-        SYSMonitorState sysState=info.monitorstate;//缁勭鐘舵��
         int rowNumSheet = 0;
         sheet.createRow(rowNumSheet);
-        sheet.getRow(rowNumSheet).createCell(0).setCellValue("鐢垫睜鍙傛暟:");
+        sheet.getRow(rowNumSheet).createCell(0).setCellValue("鍛婅鍙傛暟:");
         rowNumSheet++;
         sheet.createRow(rowNumSheet);
-        sheet.getRow(rowNumSheet).createCell(0).setCellValue("鏍囩О瀹归噺(1AH):"+battParam.STD_CAP);
-        sheet.getRow(rowNumSheet).createCell(1).setCellValue("鏍囩О鍐呴樆(0.001m惟):"+battParam.STD_RES);
-        sheet.getRow(rowNumSheet).createCell(2).setCellValue("鍗曚綋鏍囩О鐢靛帇(0.1V):"+battParam.monomerVol);
+        sheet.getRow(rowNumSheet).createCell(0).setCellValue("鏍囩О瀹归噺:"+alarmParam.Batt_CAP);
+        sheet.getRow(rowNumSheet).createCell(1).setCellValue("缁勭鐢靛帇涓婇檺鍊�:"+alarmParam.GroupVol_H);
+        sheet.getRow(rowNumSheet).createCell(2).setCellValue("缁勭鐢靛帇涓嬮檺鍊�:"+alarmParam.GroupVol_L);
         rowNumSheet++;
         sheet.createRow(rowNumSheet);
-        sheet.getRow(rowNumSheet).createCell(0).setCellValue("缁勬暟:"+battParam.battGroupCount);
-
-        int battNum=battParam.eachGroupBattCount;//鍗曚綋涓暟
-        sheet.getRow(rowNumSheet).createCell(1).setCellValue("姣忕粍鍗曚綋涓暟:"+battNum);
+        sheet.getRow(rowNumSheet).createCell(0).setCellValue("浜ゆ祦鐢靛帇涓婇檺鍊�:"+alarmParam.AC_VOL_H);
+        sheet.getRow(rowNumSheet).createCell(1).setCellValue("浜ゆ祦鐢靛帇涓嬮檺鍊�:"+alarmParam.AC_VOL_L);
         rowNumSheet++;
-
-        sheet.createRow(rowNumSheet);
-        sheet.getRow(rowNumSheet).createCell(0).setCellValue("缁勭鍙傛暟:");
-        rowNumSheet++;
-        sheet.createRow(rowNumSheet);
-        sheet.getRow(rowNumSheet).createCell(0).setCellValue("鏀剧數鐢垫祦:"+sysParam.disCurr);
-        sheet.getRow(rowNumSheet).createCell(1).setCellValue("鏀剧數瀹归噺:"+sysParam.disCap);
-        sheet.getRow(rowNumSheet).createCell(2).setCellValue("鏀剧數鏃堕暱:"+sysParam.disTime);
-        rowNumSheet++;
-        sheet.createRow(rowNumSheet);
-        sheet.getRow(rowNumSheet).createCell(0).setCellValue("缁勭涓嬮檺:"+sysParam.groupVol_LOW);
-        sheet.getRow(rowNumSheet).createCell(1).setCellValue("鍗曚綋涓嬮檺:"+sysParam.monomerVol_LOW);
-        sheet.getRow(rowNumSheet).createCell(2).setCellValue("涓嬮檺涓暟:"+sysParam.monomerLowCount);
-        rowNumSheet++;
-        sheet.createRow(rowNumSheet);
-        sheet.getRow(rowNumSheet).createCell(0).setCellValue("鍏呯數鐢垫祦:"+sysParam.chrCurr);
-        sheet.getRow(rowNumSheet).createCell(1).setCellValue("鍏呯數瀹归噺:"+sysParam.chrCap);
-        sheet.getRow(rowNumSheet).createCell(2).setCellValue("鍏呯數鏃堕暱:"+sysParam.chrTime);
-        rowNumSheet++;
-
-        sheet.createRow(rowNumSheet);
-        sheet.getRow(rowNumSheet).createCell(0).setCellValue("缁勭鐘舵��:");
-        rowNumSheet++;
-        sheet.createRow(rowNumSheet);
-        sheet.getRow(rowNumSheet).createCell(0).setCellValue("鍚姩鏀剧數鐨勬棩鏈熸椂闂�:"+formartDate(sysState.startDT.time,"yyyy-MM-dd HH:mm:ss"));
-        sheet.getRow(rowNumSheet).createCell(1).setCellValue("缁堟鏀剧數鐨勬棩鏈熸椂闂�:"+formartDate(sysState.stopDT.time,"yyyy-MM-dd HH:mm:ss"));
-        sheet.getRow(rowNumSheet).createCell(2).setCellValue("宸叉祴璇曟椂闂�(HMS):"+sysState.test_Time.testTime);
-
-        rowNumSheet+=4;
-        //鎻掑叆鍥剧墖
-        int picNum = 0;
-        String[] picName =new String[]{"鍗曚綋鐢靛帇鎶樼嚎鍥�","鐢垫睜鐢垫祦鎶樼嚎鍥�","缁勭鐢靛帇鎶樼嚎鍥�","娴嬭瘯瀹归噺鎶樼嚎鍥�"};
-        if (picName.length==bytes.size()){
-            for(int i=0;i<picName.length;i++){
-                sheet.createRow(rowNumSheet-1);
-                sheet.getRow(rowNumSheet-1).createCell(0).setCellValue(picName[i]);
-                //rowNum++;
-                XSSFClientAnchor anchor = new XSSFClientAnchor(0, 0, 512, 255,(short) 0, rowNumSheet, (short) 10, rowNumSheet+27);
-                anchor.setAnchorType(ClientAnchor.AnchorType.DONT_MOVE_AND_RESIZE);
-                patriarch.createPicture(anchor,wb.addPicture(bytes.get(picNum),XSSFWorkbook.PICTURE_TYPE_PNG)).resize(1);
-                picNum ++;
-                rowNumSheet+=30;
-            }
-        }
 
         //浠庢枃浠朵腑鑾峰彇鏁版嵁
-        List<FBSData> list=testDataInfoMcp.fbsDatas;//鍏呮斁鐢垫暟鎹�
-        String sheetName="鏀剧數鏁版嵁";
-        String testName="娴嬭瘯鏁版嵁";
-        XSSFSheet sheet1 = wb.createSheet(sheetName);
+        String testName="娴嬭瘯鏁版嵁:";
         //鎶ご
-        int rowNum = 0;
-        sheet1.createRow(rowNum).createCell(0).setCellValue(testName);
-        rowNum++;
+        sheet.createRow(rowNumSheet).createCell(0).setCellValue(testName);
+        rowNumSheet++;
 
-        XSSFRow row = sheet1.createRow(rowNum);
+        XSSFRow row = sheet.createRow(rowNumSheet);
         //灞炴�ф爮
-        String[] rowName =new String[]{"娴嬭瘯鏃堕棿","鍦ㄧ嚎鐢靛帇","缁勭鐢靛帇","鐢垫睜鐢垫祦","鐢垫睜瀹归噺","鐢垫睜娓╁害"};
+        String[] rowName =getRowName("alm");
         for (int i=0;i<rowName.length;i++){
             row.createCell(i).setCellValue(rowName[i]);
         }
-        for(int i=0;i<battNum;i++){
-            row.createCell(6+i).setCellValue("#"+Integer.valueOf(i+1));
-        }
-        rowNum++;
+        rowNumSheet++;
         //鏁版嵁鏍�
         for (int i = 0; i < list.size(); i++) {
-            sheet1.createRow(rowNum);  //鍒涘缓琛�
-            FBSData fbsData= list.get(i);
-            sheet1.getRow(rowNum).createCell(0).setCellValue(fbsData.testTime.testTime);
-            sheet1.getRow(rowNum).createCell(1).setCellValue(fbsData.vcData.onlinevol[0]);
-            sheet1.getRow(rowNum).createCell(2).setCellValue(fbsData.vcData.groupvol[0]);
-            sheet1.getRow(rowNum).createCell(3).setCellValue(fbsData.vcData.battcurr[0]);
-            sheet1.getRow(rowNum).createCell(4).setCellValue(fbsData.vcData.battcap[0]);
-            sheet1.getRow(rowNum).createCell(5).setCellValue(fbsData.vcData.batttemp[0]);
-            float[]  datas=fbsData.mvol.vol;
-            for (int k = 0;k<battNum;k++){
-                sheet1.getRow(rowNum).createCell(k+6).setCellValue(datas[k]);
-            }
-            rowNum++;
+            sheet.createRow(rowNumSheet);  //鍒涘缓琛�
+            Fbs5100Alarm alarm= list.get(i);
+            sheet.getRow(rowNumSheet).createCell(0).setCellValue(formartDate(alarm.StartTime.time,"yyyy-MM-dd HH:mm:ss"));
+            sheet.getRow(rowNumSheet).createCell(1).setCellValue(AlarmFactoryDto.getAlmName(alarm.AlarmItem));
+            sheet.getRow(rowNumSheet).createCell(2).setCellValue(AlarmFactoryDto.getAlmType(alarm.AlarmType));
+            sheet.getRow(rowNumSheet).createCell(3).setCellValue(alarm.AlarmValue);
+            rowNumSheet++;
         }
-        rowNum++;
-
+        rowNumSheet++;
         try {
             // 杞爜闃叉涔辩爜
             resp.addHeader("Content-Disposition", "attachment;filename="
@@ -488,5 +404,5 @@
         } catch (IOException e) {
             e.printStackTrace();
         }
-    }*/
+    }
 }

--
Gitblit v1.9.1