浏览代码

MIS表改动

wangb 2 年之前
父节点
当前提交
3ff56e0d43

+ 38 - 1
src/main/java/com/gyee/frame/controller/report/MisReportController.java

@@ -2,6 +2,7 @@ package com.gyee.frame.controller.report;
 
 
 import com.gyee.frame.common.domain.AjaxResult;
+import com.gyee.frame.model.auto.GlycstlData;
 import com.gyee.frame.model.auto.Misdailydata;
 import com.gyee.frame.service.report.MisDailyDateService;
 import com.gyee.frame.util.DateUtils;
@@ -12,6 +13,7 @@ import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
+import java.io.IOException;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
@@ -45,8 +47,42 @@ public class MisReportController {
         misDailyDateService.insert(list);
         return AjaxResult.success();
     }
+    /**
+     * 导入故障数据数据
+     * @return
+     */
+    @PostMapping("/import/datagz")
+    @ResponseBody
+    public AjaxResult importgz(MultipartFile file) throws IOException {
+        if (file.isEmpty()) {
+            return AjaxResult.error("导入文件为空!");
+        }
 
-
+        MisDailyUtil util = new MisDailyUtil();
+        List<Misdailydata> list = util.Stream1(file);
+        misDailyDateService.insertgz(list);
+        return AjaxResult.success();
+    }
+    /**
+     * 查询功率预测数据
+     * @return
+     */
+    @PostMapping("/import/datagl")
+    @ResponseBody
+    public AjaxResult importgl(){
+        List<GlycstlData> list = misDailyDateService.query();
+        return AjaxResult.successData(200,list);
+    }
+    /**
+     * 写入数据
+     * @return
+     */
+    @GetMapping("/import/dataxr")
+    @ResponseBody
+    public AjaxResult writexr(){
+        misDailyDateService.write();
+        return AjaxResult.success();
+    }
     /**
      * 计算数据
      * @return
@@ -91,4 +127,5 @@ public class MisReportController {
         return AjaxResult.error("保存失败");
     }
 
+
 }

+ 12 - 0
src/main/java/com/gyee/frame/mapper/auto/MisdailydataMapper.java

@@ -1,9 +1,14 @@
 package com.gyee.frame.mapper.auto;
 
+import com.github.pagehelper.ISelect;
+import com.gyee.frame.model.auto.GlycstlData;
 import com.gyee.frame.model.auto.Misdailydata;
 import com.gyee.frame.model.auto.MisdailydataExample;
+
+import java.util.Date;
 import java.util.List;
 import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
 
 public interface MisdailydataMapper {
     /**
@@ -54,6 +59,13 @@ public interface MisdailydataMapper {
      */
     List<Misdailydata> selectByExample(MisdailydataExample example);
 
+
+    @Select("select * from NXFDPROD.MISDAILYDATA  where IMPORTDATE = to_date ('${IMPORTDATE}','yyyy-MM-dd') and UNIT_NO is null and PROJECTID ='${PROJECTID}'")
+    List<Misdailydata> selectByExamplegz(@Param("IMPORTDATE") String IMPORTDATE, @Param("PROJECTID") String PROJECTID);
+
+    @Select("select wc.windplant_no,wc.abbr_name,nd.data_time,nd.value,wc.wpfmodel_no from NOSCALE_WF_DA_PF_PERIOD_DATA nd left join wf_file_config wc on nd.windplant_no = wc.windplant_no order by nd.data_time desc")
+    List<GlycstlData> slectGlyc();
+
     /**
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table MISDAILYDATA

+ 3 - 3
src/main/java/com/gyee/frame/model/auto/Misdailydata.java

@@ -893,7 +893,7 @@ public class Misdailydata implements Serializable {
      *
      * @mbg.generated
      */
-    private Double gzcs;
+    private Integer gzcs;
 
     /**
      * This field was generated by MyBatis Generator.
@@ -3263,7 +3263,7 @@ public class Misdailydata implements Serializable {
      *
      * @mbg.generated
      */
-    public Double getGzcs() {
+    public Integer getGzcs() {
         return gzcs;
     }
 
@@ -3275,7 +3275,7 @@ public class Misdailydata implements Serializable {
      *
      * @mbg.generated
      */
-    public void setGzcs(Double gzcs) {
+    public void setGzcs(Integer gzcs) {
         this.gzcs = gzcs;
     }
 }

+ 120 - 11
src/main/java/com/gyee/frame/service/report/MisDailyDateService.java

@@ -2,9 +2,10 @@ package com.gyee.frame.service.report;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.gyee.frame.common.dataSources.DataSource;
+import com.gyee.frame.common.dataSources.DataSourceType;
 import com.gyee.frame.mapper.auto.MisdailydataMapper;
-import com.gyee.frame.model.auto.Misdailydata;
-import com.gyee.frame.model.auto.MisdailydataExample;
+import com.gyee.frame.model.auto.*;
 import com.gyee.frame.util.SnowflakeIdWorker;
 import com.gyee.frame.util.StringUtils;
 import com.gyee.frame.util.excel.MisDailyData;
@@ -12,6 +13,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -41,15 +43,95 @@ public class MisDailyDateService {
         });
     }
 
+    /**
+     * 保存数据
+     *
+     * @param list
+     */
+    @Transactional
+    public void insertgz(List<Misdailydata> list) {
+        if (list == null || list.size() == 0)
+            return;
+
+        list.forEach(data -> {
+            data.setId(SnowflakeIdWorker.getUUID());
+            boolean flage = selectItemgz(data);
+            if (!flage) {
+                misdailydataMapper.insert(data);
+            }
+        });
+    }
+
+    /**
+     * 查询功率预测数据
+     *
+     * @return
+     */
+    @DataSource(value = DataSourceType.PREDICT)
+    public List<GlycstlData> query() {
+        return misdailydataMapper.slectGlyc();
+    }
+
+    /**
+     * 写入功率预测数据
+     *
+     * @return
+     */
+    @DataSource(value = DataSourceType.PREDICT)
+    public List<GlycstlData> write() {
+        List<GlycstlData> list = misdailydataMapper.slectGlyc();
+        //处理字段名
+        list.forEach(ss->
+                ss.setAbbr_name(projectMap().get(ss.getWindplantNo()))
+        );
+
+        //处理时间
+        MisdailydataExample example = new MisdailydataExample();
+        example.createCriteria()
+                .andImportdateIsNotNull();
+        List<Misdailydata> misdailydata = misdailydataMapper.selectByExample(example);
+
+        java.text.SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
+
+        list.forEach(data->{
+            if(formatter.format(data.getDataTime()).equals(misdailydata));
+        });
+
+
+        List<Misdailydata> gl = new ArrayList<>();
+
+
+        misdailydataMapper.insert((Misdailydata)gl);
+
+        return list;
+
+    }
+
+    /**
+     * 字段对应
+     *
+     * @return
+     */
+    private Map<String, String> projectMap() {
+        Map<String, String> map = new HashMap<>();
+        map.put("NX_GDNSS_WF", "牛首山风电场");
+        map.put("NX_GDQS_WF", "青山风电场");
+        map.put("NX_GDSBQ_WF", "石板泉风电场");
+        map.put("NX_GDXS_WF", "香山风电场");
+        map.put("NX_GDMHS_WF", "麻黄山风电场");
+        return map;
+    }
 
     /**
      * 查询是否存在
+     *
      * @param data
      * @return
      */
-    public boolean selectItem(Misdailydata data){
+    public boolean selectItem(Misdailydata data) {
         MisdailydataExample example = new MisdailydataExample();
-        example.createCriteria().andImportdateEqualTo(data.getImportdate())
+        example.createCriteria()
+                .andImportdateEqualTo(data.getImportdate())
                 .andUnitNoEqualTo(data.getUnitNo());
 
         List<Misdailydata> list = misdailydataMapper.selectByExample(example);
@@ -60,14 +142,38 @@ public class MisDailyDateService {
     }
 
     /**
+     * 查询是否存在故障数据
+     *
+     * @param data
+     * @return
+     */
+    public boolean selectItemgz(Misdailydata data) {
+        MisdailydataExample example = new MisdailydataExample();
+        example.createCriteria()
+                .andImportdateEqualTo(data.getImportdate())
+                .andProjectidEqualTo(data.getProjectid())
+                .andUnitNoIsNull();
+
+        java.text.SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
+        String date = formatter.format(new Date());
+
+        List<Misdailydata> list = misdailydataMapper.selectByExamplegz(date, data.getProjectid());
+        if (list.size() > 0)
+            return true;
+        else
+            return false;
+    }
+
+    /**
      * 更新或删除短期功率预测数据和故障次数
+     *
      * @param data
      * @return
      */
-    public boolean insertOrUpdate(Misdailydata data){
+    public boolean insertOrUpdate(Misdailydata data) {
         int i = 0;
 
-        if (StringUtils.isEmpty(data.getId())){
+        if (StringUtils.isEmpty(data.getId())) {
             data.setId(SnowflakeIdWorker.getUUID());
             i = misdailydataMapper.insert(data);
         } else {
@@ -79,10 +185,11 @@ public class MisDailyDateService {
 
     /**
      * 查询短期功率数据及故障次数
+     *
      * @param date
      * @return
      */
-    public Misdailydata selectItemByDate(Date date){
+    public Misdailydata selectItemByDate(Date date) {
         MisdailydataExample example = new MisdailydataExample();
         example.createCriteria().andImportdateEqualTo(date)
                 .andUnitNoIsNull();
@@ -97,14 +204,16 @@ public class MisDailyDateService {
 
     /**
      * 计算数据   风速、同期电量等
+     *
      * @param st
      * @param et
      */
-    public List<Object> getCalData(Date st, Date et){
+    public List<Object> getCalData(Date st, Date et) {
         //当前数据
         MisdailydataExample example = new MisdailydataExample();
         example.createCriteria().andImportdateBetween(st, et)
-                .andProjectidIsNotNull();
+//                .andProjectidIsNotNull()
+                .andUnitNoIsNotNull();
         example.setOrderByClause(" IMPORTDATE ASC");
         List<Misdailydata> listC = misdailydataMapper.selectByExample(example);
 
@@ -127,7 +236,7 @@ public class MisDailyDateService {
 
         //计算数据
         List<Object> list = new ArrayList<>();
-        if (listC.size() > 0){
+        if (listC.size() > 0) {
             Map<String, List<Misdailydata>> collect = listC.stream().filter(a -> !a.getProjectid().equals("HJ"))
                     .collect(Collectors.groupingBy(Misdailydata::getName, Collectors.toList()));
             collect.forEach((k, v) -> {
@@ -171,6 +280,6 @@ public class MisDailyDateService {
         return list;
     }
 
-    public static void main(String[] args){
+    public static void main(String[] args) {
     }
 }

+ 1 - 0
src/main/java/com/gyee/frame/util/excel/MisDailyData.java

@@ -206,6 +206,7 @@ public class MisDailyData {
 
     private double fszlycJzRXny;
 
+
     public MisDailyData(){}
 
     public MisDailyData(Row row, Row row2){

+ 283 - 11
src/main/java/com/gyee/frame/util/excel/MisDailyUtil.java

@@ -2,18 +2,24 @@ package com.gyee.frame.util.excel;
 
 import com.gyee.frame.common.exception.QiNiuException;
 import com.gyee.frame.common.exception.enums.QiNiuErrorEnum;
+import com.gyee.frame.model.auto.Misdailydata;
 import com.gyee.frame.util.DateUtils;
 import com.gyee.frame.util.StringUtils;
+import com.sun.el.stream.Stream;
+import io.swagger.models.auth.In;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.*;
 import java.util.*;
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * mis日报数据导入
@@ -28,16 +34,16 @@ public class MisDailyUtil {
      * @return
      * @throws Exception
      */
-    public List<MisDailyData> importStream(MultipartFile file){
+    public List<MisDailyData> importStream(MultipartFile file) {
         InputStream is = null;
         Workbook wb = null;
         List<MisDailyData> list = new ArrayList<>();
-        try{
+        try {
             String fileName = file.getOriginalFilename(); //读取文件名
             is = file.getInputStream();  //读取文件流
 
             String year = fileName.substring(0, 4);
-            String month = fileName.substring(5,fileName.indexOf("月"));
+            String month = fileName.substring(5, fileName.indexOf("月"));
             Calendar cal = Calendar.getInstance();
             cal.setTime(DateUtils.parseStrtoDate(year + "-" + month + "-01", DateUtils.YYYY_MM_DD));
             int dayMaximum = cal.getActualMaximum(Calendar.DAY_OF_MONTH); //获取当月最大的一天
@@ -52,7 +58,7 @@ public class MisDailyUtil {
             }
 
             Iterator<Sheet> sheets = wb.sheetIterator();
-            while(sheets.hasNext()){
+            while (sheets.hasNext()) {
                 Sheet sheet = sheets.next(); //读取sheet
 
                 //如果sheet不是日报内容则过滤
@@ -61,7 +67,7 @@ public class MisDailyUtil {
                     continue;
                 String day = name.substring(0, name.indexOf("日"));
 
-                for (int i = 8; i <= sheet.getLastRowNum(); i++){
+                for (int i = 8; i <= sheet.getLastRowNum(); i++) {
                     Row row = sheet.getRow(i);  //读取行
                     if (row == null)
                         continue;
@@ -73,9 +79,9 @@ public class MisDailyUtil {
 
                     MisDailyData data;
                     //单元格格式不统一,特殊处理
-                    if (i == 9 || i == 12 || i == 14){
+                    if (i == 9 || i == 12 || i == 14) {
                         data = new MisDailyData(row, sheet.getRow(i + 1));
-                    }else{
+                    } else {
                         data = new MisDailyData(row, null);
                     }
 
@@ -92,9 +98,9 @@ public class MisDailyUtil {
                     list.add(data);
                 }
             }
-        } catch (IndexOutOfBoundsException e){
+        } catch (IndexOutOfBoundsException e) {
             throw new QiNiuException(QiNiuErrorEnum.FILE_NAME_ERROR);
-        } catch (Exception e){
+        } catch (Exception e) {
             throw new QiNiuException(QiNiuErrorEnum.FILE_LONG_ERROR);
         } finally {
             if (is != null) {
@@ -104,7 +110,7 @@ public class MisDailyUtil {
                     e.printStackTrace();
                 }
             }
-            if (wb != null){
+            if (wb != null) {
                 try {
                     wb.close();
                 } catch (IOException e) {
@@ -134,7 +140,7 @@ public class MisDailyUtil {
         return 3;
     }
 
-    private Map<Integer, String> projectMap(){
+    private Map<Integer, String> projectMap() {
         Map<Integer, String> map = new HashMap<>();
         map.put(206, "MHS01_GC");
         map.put(310, "XS02_GC");
@@ -165,5 +171,271 @@ public class MisDailyUtil {
 //
 //        for (MisDailyData d : list)
 //            System.out.println(d.toString());
+
+
+    }
+
+
+    /*
+     * miss故障
+     * */
+
+    public  List<Misdailydata> Stream1(MultipartFile file) throws IOException {
+        XSSFWorkbook workbook = new XSSFWorkbook("C:\\Users\\Administrator\\Desktop\\2022年7月国电电力MIS故障日报.xlsx");
+
+
+        InputStream is = null;
+        Workbook wb = null;
+
+        //获取工作表
+        XSSFSheet sheet = workbook.getSheetAt(0);
+
+
+        String fileName = file.getOriginalFilename(); //读取文件名
+        is = file.getInputStream();  //读取文件流
+
+        String year = fileName.substring(0, 4);
+        String month = fileName.substring(5, fileName.indexOf("月"));
+        Calendar cal = Calendar.getInstance();
+        cal.setTime(DateUtils.parseStrtoDate(year + "-" + month + "-01", DateUtils.YYYY_MM_DD));
+
+        //校验文件类型
+        if (checkFile(fileName) == 1) {
+            wb = new XSSFWorkbook(is);
+        } else if (checkFile(fileName) == 2) {
+            wb = new HSSFWorkbook(is);
+        } else {
+            throw new QiNiuException(QiNiuErrorEnum.FILE_NAME_ERROR);
+        }
+
+
+        Row row1 = sheet.getRow(0);
+//读取场站名
+        String m1 = String.valueOf(row1.getCell(1).getStringCellValue()).trim();
+        String m2 = String.valueOf(row1.getCell(4).getStringCellValue()).trim();
+        String q1 = String.valueOf(row1.getCell(7).getStringCellValue()).trim();
+        String q2 = String.valueOf(row1.getCell(10).getStringCellValue()).trim();
+        String n1 = String.valueOf(row1.getCell(13).getStringCellValue()).trim();
+        String n2 = String.valueOf(row1.getCell(16).getStringCellValue()).trim();
+        String n3 = String.valueOf(row1.getCell(19).getStringCellValue()).trim();
+        String s1 = String.valueOf(row1.getCell(22).getStringCellValue()).trim();
+        String s2 = String.valueOf(row1.getCell(25).getStringCellValue()).trim();
+        String s3 = String.valueOf(row1.getCell(28).getStringCellValue()).trim();
+        String s4 = String.valueOf(row1.getCell(31).getStringCellValue()).trim();
+        String x1 = String.valueOf(row1.getCell(34).getStringCellValue()).trim();
+        String x2 = String.valueOf(row1.getCell(37).getStringCellValue()).trim();
+        String q3 = String.valueOf(row1.getCell(40).getStringCellValue()).trim();
+        String zhj = String.valueOf(row1.getCell(43).getStringCellValue()).trim();
+
+        List<Misdailydata> jh =new ArrayList<>();;
+        for (int i = 2; i < sheet.getLastRowNum(); i++) {
+            Row row = sheet.getRow(i);
+            if (i > 32)
+                break;
+            //读取数据
+            int day1 = Double.valueOf(row.getCell(0).getNumericCellValue()).intValue();
+            int mhs1 = Double.valueOf(row.getCell(1).getNumericCellValue()).intValue();
+            int mhs2 = Double.valueOf(row.getCell(4).getNumericCellValue()).intValue();
+            int qs1 = Double.valueOf(row.getCell(7).getNumericCellValue()).intValue();
+            int qs2 = Double.valueOf(row.getCell(10).getNumericCellValue()).intValue();
+            int nss1 = Double.valueOf(row.getCell(13).getNumericCellValue()).intValue();
+            int nss2 = Double.valueOf(row.getCell(16).getNumericCellValue()).intValue();
+            int nss3 = Double.valueOf(row.getCell(19).getNumericCellValue()).intValue();
+            int sbq1 = Double.valueOf(row.getCell(22).getNumericCellValue()).intValue();
+            int sbq2 = Double.valueOf(row.getCell(25).getNumericCellValue()).intValue();
+            int sbq3 = Double.valueOf(row.getCell(28).getNumericCellValue()).intValue();
+            int sbq4 = Double.valueOf(row.getCell(31).getNumericCellValue()).intValue();
+            int xs1 = Double.valueOf(row.getCell(34).getNumericCellValue()).intValue();
+            int xs2 = Double.valueOf(row.getCell(37).getNumericCellValue()).intValue();
+            int qs3 = Double.valueOf(row.getCell(40).getNumericCellValue()).intValue();
+            int zhj1 = Double.valueOf(row.getCell(43).getNumericCellValue()).intValue();
+
+//            dz.add(day1);
+//            dz.add(mhs1);
+//            dz.add(mhs2);
+//            dz.add(qs1);
+//            dz.add(qs2);
+//            dz.add(nss1);
+//            dz.add(nss2);
+//            dz.add(nss3);
+//            dz.add(sbq1);
+//            dz.add(sbq2);
+//            dz.add(sbq3);
+//            dz.add(sbq4);
+//            dz.add(xs1);
+//            dz.add(xs2);
+//            dz.add(qs3);
+//            dz.add(zhj1);
+
+//            List<Misdailydata> data = new ArrayList<>();
+
+//            for (Misdailydata c : data) {
+//
+//                c.setImportdate(DateUtils.parseStrtoDate(year + "-" + month + "-" + day1, DateUtils.YYYY_MM_DD));
+//                c.setProjectid(projectMap1().get(m1));
+//
+//                c.setName(m1);
+//                c.setGzcs(mhs1);
+//
+//                c.setName(m2);
+//                c.setGzcs(mhs2);
+//
+//            Misdailydata data = new Misdailydata();
+//            data.setImportdate(DateUtils.parseStrtoDate(year + "-" + month + "-" + day1, DateUtils.YYYY_MM_DD));
+            Date date = DateUtils.parseStrtoDate(year + "-" + month + "-" + day1, DateUtils.YYYY_MM_DD);
+            Misdailydata data1 = new Misdailydata();
+            data1.setName(m1);
+            data1.setProjectid(projectMap1().get(m1));
+            data1.setGzcs(mhs1);
+            data1.setImportdate(date);
+
+            Misdailydata data2 = new Misdailydata();
+            data2.setName(m2);
+            data2.setProjectid(projectMap1().get(m2));
+            data2.setGzcs(mhs2);
+            data2.setImportdate(date);
+
+            Misdailydata data3 = new Misdailydata();
+            data3.setName(n1);
+            data3.setProjectid(projectMap1().get(n1));
+            data3.setGzcs(nss1);
+            data3.setImportdate(date);
+
+            Misdailydata data4 = new Misdailydata();
+            data4.setName(n2);
+            data4.setProjectid(projectMap1().get(n2));
+            data4.setGzcs(nss2);
+            data4.setImportdate(date);
+
+            Misdailydata data5 = new Misdailydata();
+            data5.setName(n3);
+            data5.setProjectid(projectMap1().get(n3));
+            data5.setGzcs(nss3);
+            data5.setImportdate(date);
+
+            Misdailydata data6 = new Misdailydata();
+            data6.setName(q1);
+            data6.setProjectid(projectMap1().get(q1));
+            data6.setGzcs(qs1);
+            data6.setImportdate(date);
+
+            Misdailydata data7 = new Misdailydata();
+            data7.setName(q2);
+            data7.setProjectid(projectMap1().get(q2));
+            data7.setGzcs(qs2);
+            data7.setImportdate(date);
+
+            Misdailydata data8 = new Misdailydata();
+            data8.setName(q3);
+            data8.setProjectid(projectMap1().get(q3));
+            data8.setGzcs(qs3);
+            data8.setImportdate(date);
+
+            Misdailydata data9 = new Misdailydata();
+            data9.setName(s1);
+            data9.setProjectid(projectMap1().get(s1));
+            data9.setGzcs(sbq1);
+            data9.setImportdate(date);
+
+            Misdailydata data10 = new Misdailydata();
+            data10.setName(s2);
+            data10.setProjectid(projectMap1().get(s2));
+            data10.setGzcs(sbq2);
+            data10.setImportdate(date);
+
+            Misdailydata data11 = new Misdailydata();
+            data11.setName(s3);
+            data11.setProjectid(projectMap1().get(s3));
+            data11.setGzcs(sbq3);
+            data11.setImportdate(date);
+
+            Misdailydata data12 = new Misdailydata();
+            data12.setName(s4);
+            data12.setProjectid(projectMap1().get(s4));
+            data12.setGzcs(sbq4);
+            data12.setImportdate(date);
+
+            Misdailydata data13 = new Misdailydata();
+            data13.setName(x1);
+            data13.setProjectid(projectMap1().get(x1));
+            data13.setGzcs(xs1);
+            data13.setImportdate(date);
+
+            Misdailydata data14 = new Misdailydata();
+            data14.setName(x2);
+            data14.setProjectid(projectMap1().get(x2));
+            data14.setGzcs(xs2);
+            data14.setImportdate(date);
+
+            Misdailydata data15 = new Misdailydata();
+            data15.setName(zhj);
+            data15.setProjectid(projectMap1().get(zhj));
+            data15.setGzcs(zhj1);
+            data15.setImportdate(date);
+
+//            jh.add(data);
+            jh.add(data1);
+            jh.add(data2);
+            jh.add(data3);
+            jh.add(data4);
+            jh.add(data5);
+            jh.add(data6);
+            jh.add(data7);
+            jh.add(data8);
+            jh.add(data9);
+            jh.add(data10);
+            jh.add(data11);
+            jh.add(data12);
+            jh.add(data13);
+            jh.add(data14);
+            jh.add(data15);
+        }
+
+//        workbook.close();
+        jh.forEach(ss->
+                ss.setName(projectMap2().get(ss.getProjectid()))
+                );
+        return jh;
+    }
+
+    private Map<String, String> projectMap1() {
+        Map<String, String> map = new HashMap<>();
+        map.put("麻一", "MHS01_GC");
+        map.put("麻分散", "MHS02_GC");
+        map.put("青一", "QS01_GC");
+        map.put("青二", "QS02_GC");
+        map.put("牛一", "NSS01_GC");
+        map.put("牛二", "NSS02_GC");
+        map.put("牛三", "NSS03_GC");
+        map.put("石一", "SBQ01_GC");
+        map.put("石二", "SBQ02_GC");
+        map.put("石三", "SBQ03_GC");
+        map.put("石四", "SBQ04_GC");
+        map.put("香一", "XS01_GC");
+        map.put("香二", "XS02_GC");
+        map.put("青三", "QS03_GC");
+        map.put("合计", "HJ");
+        return map;
+
+
+    }
+    private Map<String, String> projectMap2() {
+        Map<String, String> map = new HashMap<>();
+        map.put("MHS01_GC", "麻黄山风电场");
+        map.put("MHS02_GC", "麻黄山分散式项目");
+        map.put("QS01_GC", "青山一期");
+        map.put("QS02_GC", "青山二期");
+        map.put("NSS01_GC", "牛首山一期");
+        map.put("NSS02_GC", "牛首山二期");
+        map.put("NSS03_GC", "牛首山三期");
+        map.put("SBQ01_GC", "石板泉风电");
+        map.put("SBQ02_GC", "石板泉风电二期");
+        map.put("SBQ03_GC", "太阳山项目(石板泉三期)");
+        map.put("SBQ04_GC", "太阳山风光储(石板泉四期)");
+        map.put("XS01_GC", "宁夏香山砖瓦子淌");
+        map.put("XS02_GC", "宁夏韩家圈(香山二期)");
+        map.put("QS03_GC", "青山三期");
+        map.put("HJ", "合计");
+        return map;
     }
 }