Browse Source

风机绩效榜明细数据接口

xieshengjie 4 years ago
parent
commit
eb2117923d

+ 86 - 0
src/main/java/com/gyee/frame/controller/powercompare/PowerCompareDetailController.java

@@ -0,0 +1,86 @@
+package com.gyee.frame.controller.powercompare;
+
+import com.gyee.frame.common.conf.AjaxStatus;
+import com.gyee.frame.common.domain.AjaxResult;
+import com.gyee.frame.model.auto.Windturbineinfoday3;
+import com.gyee.frame.model.benchmarking.PowerCompareDetail;
+import com.gyee.frame.service.Windpowerinfoday3Service;
+import com.gyee.frame.service.Windturbineinfoday3Service;
+import com.gyee.frame.service.benchmarking.PowerCompareDetailService;
+import com.gyee.frame.util.DateUtils;
+import com.gyee.frame.util.StringUtils;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+/**
+ * @ClassName : PowerCompareDetailController
+ * @Author : xieshengjie
+ * @Date: 2021/1/30 19:15
+ * @Description : 风机绩效榜明细Controller
+ */
+@Controller
+@RequestMapping("/powercomparedetail")
+public class PowerCompareDetailController {
+
+    @Resource
+    private PowerCompareDetailService powerCompareDetailService;
+
+
+
+
+    /**查询风机列表数据结果**/
+    @GetMapping("/powerAjaxDetail")
+    @ResponseBody
+    public AjaxResult powerAjaxDetail(@RequestParam(value = "beginDate",required = true) String beginDate,
+                                      @RequestParam(value = "endDate",required = true) String endDate,
+                                      @RequestParam(value = "wpId",required = false) String  wpId,
+                                      @RequestParam(value = "pjId",required = false) String  pjId,
+                                      @RequestParam(value = "xlId",required = false) String  xlId )  {
+        Date begin = DateUtils.parseDate(beginDate);
+        Date end = DateUtils.parseDate(endDate);
+        List<PowerCompareDetail>  vos = powerCompareDetailService.getDetailWtInfo(begin,end,wpId,pjId,xlId);
+        if(vos !=null && !vos.isEmpty())
+        {
+            vos.stream().forEach(i -> i.setFnlyl(i.getScadafdl()/i.getLlfdl()*100));
+            return	AjaxResult.successData(AjaxStatus.success.code,vos);
+        }else
+        {
+            return	AjaxResult.successData(AjaxStatus.emptyresultset.code,vos);
+        }
+    }
+
+    /**查询风场、项目、线路列表数据结果**/
+    @GetMapping("/powerAjaxDetailAll")
+    @ResponseBody
+    public AjaxResult powerAjaxDetailAll(@RequestParam(value = "beginDate",required = true) String beginDate,
+                                         @RequestParam(value = "endDate",required = true) String endDate,
+                                         @RequestParam(value = "queryType",required = true) String  queryType)  {
+
+        List<PowerCompareDetail>  vos=null;
+        Date begin = DateUtils.parseDate(beginDate);
+        Date end = DateUtils.parseDate(endDate);
+        if (queryType.equals("fc")) {
+            vos = powerCompareDetailService.getDetailInfo(begin,end,0);
+        } else if (queryType.equals("pj")) {
+            vos = powerCompareDetailService.getDetailInfo(begin,end,1);
+        } else if (queryType.equals("xl")) {
+            vos = powerCompareDetailService.getDetailInfo(begin,end,2);
+        }
+        if(vos !=null && !vos.isEmpty())
+        {
+            vos.stream().forEach(i -> i.setFnlyl(i.getScadafdl()/i.getLlfdl()*100));
+            return	AjaxResult.successData(AjaxStatus.success.code,vos);
+        }else
+        {
+            return	AjaxResult.successData(AjaxStatus.emptyresultset.code,vos);
+        }
+    }
+}

+ 19 - 0
src/main/java/com/gyee/frame/mapper/benchmarking/PowerCompareDetailMapper.java

@@ -0,0 +1,19 @@
+package com.gyee.frame.mapper.benchmarking;
+
+import com.gyee.frame.model.benchmarking.PowerCompareDetail;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @ClassName : PowerCompareDetailMapper
+ * @Author : xieshengjie
+ * @Date: 2021/1/30 19:22
+ * @Description : 风机绩效榜明细mapper
+ */
+public interface PowerCompareDetailMapper {
+    public List<PowerCompareDetail> getDetailInfo(@Param("beginDate") Date beginDate, @Param("endDate") Date endDate, @Param("type") int type);
+
+    public List<PowerCompareDetail> getDetailWtInfo(@Param("begin") Date begin, @Param("end") Date end, @Param("wpId") String wpId, @Param("pjId") String pjId, @Param("xlId") String xlId);
+}

+ 30 - 0
src/main/java/com/gyee/frame/model/benchmarking/PowerCompareDetail.java

@@ -0,0 +1,30 @@
+package com.gyee.frame.model.benchmarking;
+
+import lombok.Data;
+
+/**
+ * @ClassName : PowerCompareDetail
+ * @Author : xieshengjie
+ * @Date: 2021/1/30 19:01
+ * @Description : 风机绩效榜VO
+ */
+@Data
+public class PowerCompareDetail {
+    private String generation;
+    private Double llfdl;
+    private Double scadafdl;
+    private Double speed;
+    private Double gzssdl;
+    private Double gzslssdl;
+    private Double jxssdl;
+    private Double jxslssdl;
+    private Double dwslssdl;
+    private Double hjslssdl;
+    private Double xdjclssdl;
+    private Double xdtjssdl;
+    private Double dfssdl;
+    private  Double sdtjssdl;
+    private Double zcfdssdl;
+    private Double qxjclssdl;
+    private Double fnlyl;
+}

+ 31 - 0
src/main/java/com/gyee/frame/service/benchmarking/PowerCompareDetailService.java

@@ -0,0 +1,31 @@
+package com.gyee.frame.service.benchmarking;
+
+import com.gyee.frame.mapper.benchmarking.PowerCompareDetailMapper;
+import com.gyee.frame.model.benchmarking.PowerCompareDetail;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @ClassName : PowerCompareDetailService
+ * @Author : xieshengjie
+ * @Date: 2021/1/30 19:15
+ * @Description : 风机绩效榜明细service
+ */
+@Service
+public class PowerCompareDetailService   {
+    @Resource
+    private PowerCompareDetailMapper powerCompareDetailMapper;
+
+    public List<PowerCompareDetail> getDetailInfo(Date beginDate, Date endDate, int i) {
+        List<PowerCompareDetail> list = powerCompareDetailMapper.getDetailInfo(beginDate,endDate,i);
+       return  list;
+    }
+
+    public List<PowerCompareDetail> getDetailWtInfo(Date begin, Date end, String wpId, String pjId, String xlId) {
+        List<PowerCompareDetail> list = powerCompareDetailMapper.getDetailWtInfo(begin,end,wpId,pjId,xlId);
+        return  list;
+    }
+}

+ 108 - 0
src/main/resources/mybatis/benchmarking/PowerCompareDetailMapper.xml

@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gyee.frame.mapper.benchmarking.PowerCompareDetailMapper">
+
+<!--  public List<PowerCompareDetail> getDetailInfo(Date beginDate, Date endDate, int type);-->
+  <select id="getDetailInfo" resultType="com.gyee.frame.model.benchmarking.PowerCompareDetail">
+    SELECT
+        <choose>
+          <when test="type==0">
+            a.windpowerstationid generation,
+          </when>
+          <when test="type==1">
+            d.projectid generation,
+          </when>
+          <when test="type==2">
+            d.lineid generation,
+          </when>
+          <otherwise>
+            a.windturbineid generation,
+          </otherwise>
+        </choose>
+    sum(a.generatingcapacity) scadafdl,
+    avg(a.speed) speed,
+    (
+    sum(a.generatingcapacity) + sum(b.statuslossofpower0) + sum(b.statuslossofpower1) + sum(b.statuslossofpower2) + sum(b.statuslossofpower3) + sum(b.statuslossofpower4) + sum(b.statuslossofpower5) + sum(b.statuslossofpower6) + sum(b.statuslossofpower7) + sum(b.statuslossofpower8) + sum(b.statuslossofpower9) + sum(b.statuslossofpower10) + sum(b.statuslossofpower11) + sum(b.statuslossofpower12)
+    ) llfdl,
+    sum(b.statuslossofpower0) dfssdl,
+    sum(b.statuslossofpower1) sdtjssdl,
+    sum(b.statuslossofpower2) zcfdssdl,
+    sum(b.statuslossofpower3) qxjclssdl,
+    sum(b.statuslossofpower4) xdjclssdl,
+    sum(b.statuslossofpower5) xdtjssdl,
+    sum(b.statuslossofpower6) gzssdl,
+    sum(b.statuslossofpower7) gzslssdl,
+    sum(b.statuslossofpower8) jxssdl,
+    sum(b.statuslossofpower9) jxslssdl,
+    sum(b.statuslossofpower10) dwslssdl,
+    sum(b.statuslossofpower11) hjslssdl
+    FROM
+    windturbineinfoday a,
+    windturbinestatusdaystatistics b,
+    windturbine d
+    WHERE
+    a.windturbineid = b.windturbineid
+    AND a.recorddate = b.recorddate
+    AND a.windturbineid = d.id
+    AND a.recordDate &gt;= #{beginDate}
+    AND a.recordDate &lt;= #{endDate}
+
+    GROUP BY
+    <choose>
+      <when test="type==0">
+        a.windpowerstationid
+      </when>
+      <when test="type==1">
+        d.projectid
+      </when>
+      <when test="type==2">
+        d.lineid
+      </when>
+      <otherwise>
+        a.windturbineid
+      </otherwise>
+    </choose>
+  </select>
+
+  <select id="getDetailWtInfo" resultType="com.gyee.frame.model.benchmarking.PowerCompareDetail">
+    select a.windturbineid generation,sum(a.generatingcapacity) scadafdl,
+    avg(a.speed) speed,
+    (
+    sum(a.generatingcapacity) + sum(b.statuslossofpower0) + sum(b.statuslossofpower1) + sum(b.statuslossofpower2) + sum(b.statuslossofpower3) + sum(b.statuslossofpower4) + sum(b.statuslossofpower5) + sum(b.statuslossofpower6) + sum(b.statuslossofpower7) + sum(b.statuslossofpower8) + sum(b.statuslossofpower9) + sum(b.statuslossofpower10) + sum(b.statuslossofpower11) + sum(b.statuslossofpower12)
+    ) llfdl,
+    sum(b.statuslossofpower0) dfssdl,
+    sum(b.statuslossofpower1) sdtjssdl,
+    sum(b.statuslossofpower2) zcfdssdl,
+    sum(b.statuslossofpower3) qxjclssdl,
+    sum(b.statuslossofpower4) xdjclssdl,
+    sum(b.statuslossofpower5) xdtjssdl,
+    sum(b.statuslossofpower6) gzssdl,
+    sum(b.statuslossofpower7) gzslssdl,
+    sum(b.statuslossofpower8) jxssdl,
+    sum(b.statuslossofpower9) jxslssdl,
+    sum(b.statuslossofpower10) dwslssdl,
+    sum(b.statuslossofpower11) hjslssdl
+    FROM
+    windturbineinfoday a,
+    windturbinestatusdaystatistics b,
+    windturbine d
+    WHERE
+    a.windturbineid = b.windturbineid
+    AND a.recorddate = b.recorddate
+    AND a.windturbineid = d.id
+    AND a.recordDate &gt;= #{begin}
+    AND a.recordDate &lt;= #{end}
+    <if test="wpId!=null &amp;&amp; wpId.trim()!=''">
+        AND a.windpowerstationid=#{wpId}
+    </if>
+    <if test="pjId!=null &amp;&amp; pjId.trim()!=''">
+      AND d.projectid=#{pjId}
+    </if>
+    <if test="xlId!=null &amp;&amp; xlId.trim()!=''">
+      AND d.lineid=#{xlId}
+    </if>
+
+    GROUP BY a.windturbineid
+  </select>
+
+</mapper>