浏览代码

功率预测功能完善

wangb 2 年之前
父节点
当前提交
6628a438bf

+ 11 - 5
src/main/java/com/gyee/frame/controller/report/MisReportController.java

@@ -1,20 +1,24 @@
 package com.gyee.frame.controller.report;
 
 
+import com.gyee.frame.common.conf.AjaxStatus;
 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.model.auto.Noscaledata;
+import com.gyee.frame.model.auto.Noscwfdata;
+import com.gyee.frame.model.auto.Wfpfdata;
 import com.gyee.frame.service.report.MisDailyDateService;
 import com.gyee.frame.util.DateUtils;
 import com.gyee.frame.util.excel.MisDailyData;
 import com.gyee.frame.util.excel.MisDailyUtil;
 import io.swagger.annotations.Api;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
 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;
 
@@ -70,18 +74,20 @@ public class MisReportController {
     @PostMapping("/import/datagl")
     @ResponseBody
     public AjaxResult importgl(){
-        List<GlycstlData> list = misDailyDateService.query();
+        List<Noscwfdata> list = misDailyDateService.query();
         return AjaxResult.successData(200,list);
     }
     /**
      * 写入数据
      * @return
      */
+    @Scheduled(cron = "0 0 0 1 * ?")
     @GetMapping("/import/dataxr")
     @ResponseBody
     public AjaxResult writexr(){
-        misDailyDateService.write();
-        return AjaxResult.success();
+        misDailyDateService.gl();
+        List<Noscwfdata> write = misDailyDateService.write();
+        return AjaxResult.successData(AjaxStatus.success.code,write);
     }
     /**
      * 计算数据

+ 10 - 4
src/main/java/com/gyee/frame/mapper/auto/MisdailydataMapper.java

@@ -1,7 +1,5 @@
 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;
 
@@ -9,6 +7,9 @@ import java.util.Date;
 import java.util.List;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
+
+import javax.xml.crypto.Data;
 
 public interface MisdailydataMapper {
     /**
@@ -63,8 +64,11 @@ public interface MisdailydataMapper {
     @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();
+    @Select("select * from NXFDPROD.MISDAILYDATA  where IMPORTDATE = to_date ('${IMPORTDATE}','yyyy-MM-dd') and UNIT_NO is null and NAME ='${NAME}'")
+    List<Misdailydata> selectByExamplegl(@Param("IMPORTDATE") String IMPORTDATE, @Param("NAME") String NAME);
+
+//    @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")
+
 
     /**
      * This method was generated by MyBatis Generator.
@@ -90,6 +94,8 @@ public interface MisdailydataMapper {
      */
     int updateByExample(@Param("record") Misdailydata record, @Param("example") MisdailydataExample example);
 
+    @Update("update misdailydata set dqglyczql=${dqglyczql} where id=${id}")
+    int updategl(@Param("dqglyczql") Double dqglyczql,@Param("id") String id);
     /**
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table MISDAILYDATA

+ 62 - 34
src/main/java/com/gyee/frame/service/report/MisDailyDateService.java

@@ -5,6 +5,8 @@ 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.mapper.auto.NoscaledataMapper;
+import com.gyee.frame.mapper.auto.WfpfdataMapper;
 import com.gyee.frame.model.auto.*;
 import com.gyee.frame.util.SnowflakeIdWorker;
 import com.gyee.frame.util.StringUtils;
@@ -13,6 +15,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -22,6 +25,12 @@ public class MisDailyDateService {
 
     @Resource
     private MisdailydataMapper misdailydataMapper;
+    @Resource
+    private NoscaledataMapper noscaledataMapper;
+    @Resource
+    private WfpfdataMapper wfpfdataMapper;
+
+    List<Noscwfdata> gll = null;
 
     /**
      * 保存数据
@@ -68,8 +77,17 @@ public class MisDailyDateService {
      * @return
      */
     @DataSource(value = DataSourceType.PREDICT)
-    public List<GlycstlData> query() {
-        return misdailydataMapper.slectGlyc();
+    public List<Noscwfdata> query() {
+        return wfpfdataMapper.slectGlyc();
+    }
+    //处理字段名
+    @DataSource(value = DataSourceType.PREDICT)
+    public void gl (){
+        List<Noscwfdata> list = wfpfdataMapper.slectGlyc();
+//        list.forEach(ss->
+//                ss.setWindplantNo(projectMap().get(ss.getWindplantNo()))
+//        );
+        gll = list;
     }
 
     /**
@@ -77,48 +95,58 @@ public class MisDailyDateService {
      *
      * @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));
+    @DataSource(value = DataSourceType.MASTER)
+    public List<Noscwfdata> write() {
+        Misdailydata misdailydata = new Misdailydata();
+        gll.forEach(data -> {
+            java.text.SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
+            String date = formatter.format(data.getData_Time());
+//
+//            java.text.SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+//            Date date1=null;
+//            try {
+//                date1 = dateFormat.parse(date);
+//            } catch (ParseException e) {
+//                e.printStackTrace();
+//            }
+
+            if(projectMap().get(data.getWindplant_No())==null){
+                System.out.println();
+            }
+            List<Misdailydata> list1 = misdailydataMapper.selectByExamplegl(date,projectMap().get(data.getWindplant_No()));
+            if(list1.size()>0){
+                misdailydataMapper.updategl(data.getAccuracy_Rate(),list1.get(0).getId());
+            }else {
+
+                misdailydata.setId(SnowflakeIdWorker.getUUID());
+                misdailydata.setName(projectMap().get(data.getWindplant_No()));
+                misdailydata.setImportdate(data.getData_Time());
+                misdailydata.setDqglyczql(data.getAccuracy_Rate());
+                misdailydataMapper.insert(misdailydata);
+            }
         });
 
-
-        List<Misdailydata> gl = new ArrayList<>();
-
-
-        misdailydataMapper.insert((Misdailydata)gl);
-
-        return list;
+        return  gll;
 
     }
 
+
     /**
      * 字段对应
      *
      * @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", "麻黄山风电场");
+    private Map<Short, String> projectMap() {
+        Map<Short, String> map = new HashMap<>();
+        map.put((short) 1, "牛首山风电场");
+        map.put((short) 2, "青山风电场");
+        map.put((short) 3, "石板泉风电场");
+        map.put((short) 4, "香山风电场");
+        map.put((short) 5, "麻黄山风电场");
+        map.put((short) 6, "麻六");
+        map.put((short) 7, "宋六");
+        map.put((short) 8, "星六");
+        map.put((short) 9, "牛五");
         return map;
     }
 

+ 0 - 32
src/main/java/com/gyee/frame/util/excel/MisDailyUtil.java

@@ -250,38 +250,6 @@ public class MisDailyUtil {
             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);