Browse Source

Merge remote-tracking branch 'origin/master'

wangchangsheng 2 years ago
parent
commit
8df6c4a40a
16 changed files with 3110 additions and 37 deletions
  1. 20 0
      realtime/generationXK-service/src/main/java/com/gyee/generation/controller/ProEconEquipmentInfoDayTopController.java
  2. 16 0
      realtime/generationXK-service/src/main/java/com/gyee/generation/mapper/auto/ProEconEquipmentInfoDayTopMapper.java
  3. 409 0
      realtime/generationXK-service/src/main/java/com/gyee/generation/model/auto/ProEconEquipmentInfoDayTop.java
  4. 15 0
      realtime/generationXK-service/src/main/java/com/gyee/generation/model/vo/CsvVo.java
  5. 1181 0
      realtime/generationXK-service/src/main/java/com/gyee/generation/service/EquipmentInfoDayTopService.java
  6. 16 0
      realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/IProEconEquipmentInfoDayTopService.java
  7. 20 0
      realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/impl/ProEconEquipmentInfoDayTopServiceImpl.java
  8. 228 0
      realtime/generationXK-service/src/main/java/com/gyee/generation/util/realtimesource/math/LineUtil.java
  9. 85 0
      realtime/generationXK-service/src/test/java/com/gyee/generation/CsvTest.java
  10. 6 6
      web/backmanagerconfig/src/main/java/com/gyee/backconfig/controller/WindpowerstationController.java
  11. 1 1
      web/backmanagerconfig/src/main/java/com/gyee/backconfig/service/auto/IWindpowerstationService.java
  12. 453 25
      web/backmanagerconfig/src/main/java/com/gyee/backconfig/service/auto/impl/WindpowerstationServiceImpl.java
  13. 1 1
      web/monitor-web-sxjn/src/main/java/com/gyee/frame/common/spring/InitialRunner.java
  14. 17 0
      web/monitor-web-sxjn/src/main/java/com/gyee/frame/controller/monitor/GenreSetPushController.java
  15. 4 4
      web/monitor-web-sxjn/src/main/java/com/gyee/frame/model/auto/WindpowerstationPG.java
  16. 638 0
      web/monitor-web-sxjn/src/main/java/com/gyee/frame/service/WindpowerstationPGService.java

+ 20 - 0
realtime/generationXK-service/src/main/java/com/gyee/generation/controller/ProEconEquipmentInfoDayTopController.java

@@ -0,0 +1,20 @@
+package com.gyee.generation.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 风机日信息表排行 前端控制器
+ * </p>
+ *
+ * @author shilin
+ * @since 2022-11-09
+ */
+@RestController
+@RequestMapping("//pro-econ-equipment-info-day-top")
+public class ProEconEquipmentInfoDayTopController {
+
+}

+ 16 - 0
realtime/generationXK-service/src/main/java/com/gyee/generation/mapper/auto/ProEconEquipmentInfoDayTopMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.generation.mapper.auto;
+
+import com.gyee.generation.model.auto.ProEconEquipmentInfoDayTop;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 风机日信息表排行 Mapper 接口
+ * </p>
+ *
+ * @author shilin
+ * @since 2022-11-09
+ */
+public interface ProEconEquipmentInfoDayTopMapper extends BaseMapper<ProEconEquipmentInfoDayTop> {
+
+}

+ 409 - 0
realtime/generationXK-service/src/main/java/com/gyee/generation/model/auto/ProEconEquipmentInfoDayTop.java

@@ -0,0 +1,409 @@
+package com.gyee.generation.model.auto;
+
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 风机日信息表排行
+ * </p>
+ *
+ * @author shilin
+ * @since 2022-11-09
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ProEconEquipmentInfoDayTop extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 编号
+     */
+    @TableId(value = "ID",type = IdType.ASSIGN_ID)
+    private Integer id;
+
+    /**
+     * 风场编号
+     */
+    private String windpowerstationId;
+
+    /**
+     * 项目编号
+     */
+    private String projectId;
+
+    /**
+     * 线路编号
+     */
+    private String lineId;
+
+    /**
+     * 风机编号
+     */
+    private String windturbineId;
+
+    /**
+     * 日期
+     */
+    private Date recordDate;
+
+    /**
+     * 发电量
+     */
+    private Double dayfdl;
+
+    /**
+     * 发电量月
+     */
+    private Double monthfdl;
+
+    /**
+     * 发电量年
+     */
+    private Double yearfdl;
+
+    /**
+     * 理论发电量
+     */
+    private Double dayllfdl;
+
+    /**
+     * 理论发电量月
+     */
+    private Double monthllfdl;
+
+    /**
+     * 理论发电量年
+     */
+    private Double yearllfdl;
+
+    /**
+     * 平均风速
+     */
+    private Double dayfs;
+
+    /**
+     * 月平均风速
+     */
+    private Double monthfs;
+
+    /**
+     * 年平均风速
+     */
+    private Double yearfs;
+
+    /**
+     * 平均功率
+     */
+    private Double daygl;
+
+    /**
+     * 月平均功率
+     */
+    private Double monthgl;
+
+    /**
+     * 年平均功率
+     */
+    private Double yeargl;
+
+    /**
+     * 故障损失电量
+     */
+    private Double daygzssdl;
+
+    /**
+     * 月故障损失电量
+     */
+    private Double monthgzssdl;
+
+    /**
+     * 年故障损失电量
+     */
+    private Double yeargzssdl;
+
+    /**
+     * 日限电损失电量
+     */
+    private Double dayxdssdl;
+
+    /**
+     * 月限电损失电量
+     */
+    private Double monthxdssdl;
+
+    /**
+     * 年限电损失电量
+     */
+    private Double yearxdssdl;
+
+    /**
+     * 日维护损失电量
+     */
+    private Double daywhssdl;
+
+    /**
+     * 月维护损失电量
+     */
+    private Double monthwhssdl;
+
+    /**
+     * 年维护损失电量
+     */
+    private Double yearwhssdl;
+
+    /**
+     * 日性能损失电量
+     */
+    private Double dayxnssdl;
+
+    /**
+     * 月性能损失电量
+     */
+    private Double monthxnssdl;
+
+    /**
+     * 年性能损失电量
+     */
+    private Double yearxnssdl;
+
+    /**
+     * 日故障时间
+     */
+    private Double daygzsj;
+
+    /**
+     * 月故障时间
+     */
+    private Double monthgzsj;
+
+    /**
+     * 年故障时间
+     */
+    private Double yeargzsj;
+
+    /**
+     * 日维护时间
+     */
+    private Double daywhsj;
+
+    /**
+     * 月维护时间
+     */
+    private Double monthwhsj;
+
+    /**
+     * 年维护时间
+     */
+    private Double yearwhsj;
+
+    /**
+     * 日运行时间
+     */
+    private Double dayyxsj;
+
+    /**
+     * 月运行时间
+     */
+    private Double monthyxsj;
+
+    /**
+     * 年运行时间
+     */
+    private Double yearyxsj;
+
+    /**
+     * 日停机时间
+     */
+    private Double daytjsj;
+
+    /**
+     * 月停机时间
+     */
+    private Double monthtjsj;
+
+    /**
+     * 年停机时间
+     */
+    private Double yeartjsj;
+
+    /**
+     * 日利用小时数
+     */
+    private Double daylyxs;
+
+    /**
+     * 月利用小时数
+     */
+    private Double monthlyxs;
+
+    /**
+     * 年利用小时数
+     */
+    private Double yearlyxs;
+
+    /**
+     * 日拟合优度
+     */
+    private Double daynhyd;
+
+    /**
+     * 月拟合优度
+     */
+    private Double monthnhyd;
+
+    /**
+     * 年拟合优度
+     */
+    private Double yearnhyd;
+
+    /**
+     * 日设备可利用率
+     */
+    private Double daysbklyl;
+
+    /**
+     * 月设备可利用率
+     */
+    private Double monthsbklyl;
+
+    /**
+     * 年设备可利用率
+     */
+    private Double yearsbklyl;
+
+    /**
+     * 日等效可用系数
+     */
+    private Double daydxkyxs;
+
+    /**
+     * 月等效可用系数
+     */
+    private Double monthdxkyxs;
+
+    /**
+     * 年等效可用系数
+     */
+    private Double yeardxkyxs;
+
+    /**
+     * 有效风时数
+     */
+    private Double dayyxfss;
+
+    /**
+     * 月有效风时数
+     */
+    private Double monthyxfss;
+
+    /**
+     * 年有效风时数
+     */
+    private Double yearyxfss;
+
+    /**
+     * 日小风切入
+     */
+    private Double dayxfqr;
+
+    /**
+     * 月小风切入
+     */
+    private Double monthxfqr;
+
+    /**
+     * 年小风切入
+     */
+    private Double yearxfqr;
+
+    /**
+     * 日静风频率
+     */
+    private Double dayjfpl;
+
+    /**
+     * 月静风频率
+     */
+    private Double monthjfpl;
+
+    /**
+     * 年静风频率
+     */
+    private Double yearjfpl;
+
+    /**
+     * 日功率一致性系数
+     */
+    private Double dayglyzxxs;
+
+    /**
+     * 月功率一致性系数
+     */
+    private Double monthglyzxxs;
+
+    /**
+     * 年功率一致性系数
+     */
+    private Double yearglyzxxs;
+
+    /**
+     * 类型
+     */
+    private Integer types;
+
+
+    /**
+     *年
+     */
+    private Integer year;
+    /**
+     *月
+     */
+    private Integer month;
+
+
+    /**
+     * 综合排名
+     */
+    private Integer dayRank;
+
+    /**
+     * 等级
+     */
+    private String dayLevel;
+
+    /**
+     * 综合排名
+     */
+    private Integer monthRank;
+
+    /**
+     * 等级
+     */
+    private String monthLevel;
+
+    /**
+     * 综合排名
+     */
+    private Integer yearRank;
+
+    /**
+     * 等级
+     */
+    private String yearLevel;
+
+    /**
+     * 分数
+     */
+    private Double dayScore;
+    private Double monthScore;
+    private Double yearScore;
+}

+ 15 - 0
realtime/generationXK-service/src/main/java/com/gyee/generation/model/vo/CsvVo.java

@@ -0,0 +1,15 @@
+package com.gyee.generation.model.vo;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class CsvVo {
+
+    public Date  date;
+    public Double power;
+    public Double speed;
+    public Integer status;
+    public Integer lackpower;
+}

File diff suppressed because it is too large
+ 1181 - 0
realtime/generationXK-service/src/main/java/com/gyee/generation/service/EquipmentInfoDayTopService.java


+ 16 - 0
realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/IProEconEquipmentInfoDayTopService.java

@@ -0,0 +1,16 @@
+package com.gyee.generation.service.auto;
+
+import com.gyee.generation.model.auto.ProEconEquipmentInfoDayTop;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 风机日信息表排行 服务类
+ * </p>
+ *
+ * @author shilin
+ * @since 2022-11-09
+ */
+public interface IProEconEquipmentInfoDayTopService extends IService<ProEconEquipmentInfoDayTop> {
+
+}

+ 20 - 0
realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/impl/ProEconEquipmentInfoDayTopServiceImpl.java

@@ -0,0 +1,20 @@
+package com.gyee.generation.service.auto.impl;
+
+import com.gyee.generation.model.auto.ProEconEquipmentInfoDayTop;
+import com.gyee.generation.mapper.auto.ProEconEquipmentInfoDayTopMapper;
+import com.gyee.generation.service.auto.IProEconEquipmentInfoDayTopService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 风机日信息表排行 服务实现类
+ * </p>
+ *
+ * @author shilin
+ * @since 2022-11-09
+ */
+@Service
+public class ProEconEquipmentInfoDayTopServiceImpl extends ServiceImpl<ProEconEquipmentInfoDayTopMapper, ProEconEquipmentInfoDayTop> implements IProEconEquipmentInfoDayTopService {
+
+}

+ 228 - 0
realtime/generationXK-service/src/main/java/com/gyee/generation/util/realtimesource/math/LineUtil.java

@@ -0,0 +1,228 @@
+package com.gyee.generation.util.realtimesource.math;
+
+import com.gyee.generation.model.vo.PointVo;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class LineUtil {
+
+    /// <summary>
+    /// 用最小二乘法拟合二元多次曲线
+    /// </summary>
+    /// <param name="arrX">已知点的x坐标集合</param>
+    /// <param name="arrY">已知点的y坐标集合</param>
+    /// <param name="length">已知点的个数</param>
+    /// <param name="dimension">方程的最高次数</param>
+    /// <param name="scale">曲线的刻度</param>
+    /// <returns></returns>
+    public static List<PointVo> buildLine(double[] arrX, double[] arrY, int length, int dimension, double scale)
+    {
+
+        List<PointVo> points =new ArrayList<PointVo>();
+
+        if (arrX.length != arrY.length || arrX.length<3)
+        {
+            return points;
+        }
+
+        double minValue=arrY[0];
+        double maxValue=arrY[arrY.length-1];
+
+
+        double min = 0;
+        double max= 0;
+
+        double[] coefficient = multiLine(arrX, arrY, length, dimension);
+
+        for (double i = arrX[0]; i <= arrX[arrX.length - 1]; i += scale)
+        {
+            PointVo point = new PointVo();
+            point.setX(i);
+
+
+            for (int j = 0; j < coefficient.length; j++)
+            {
+                if(j==0)
+                {
+                    point.setY(coefficient[j] * Math.pow(point.getX(), (double)j));
+                }else
+                {
+                    double temp=coefficient[j] * Math.pow(point.getX(), (double)j);
+                    point.setY(point.getY()+temp);
+                }
+
+            }
+            if (point.getY() < minValue)
+            {
+                point.setY(minValue);
+   
+            }
+            if (point.getY() > maxValue)
+            {
+                point.setY(maxValue);
+            }
+
+            if (point.getY() < min)
+            {
+                min = point.getY();
+            }
+            if (point.getY() > max)
+            {
+                max = point.getY();
+            }
+
+            points.add(point);
+        }
+        builder(points, min, max);
+        return points;
+    }
+
+    private static void builder(List<PointVo> points, double min, double max)
+    {
+        boolean b = false;
+        for (int i = 0; i < points.size(); i++)
+        {
+            if (b)
+            {
+                points.get(i).setY(max);
+            }
+            else
+            {
+                if (max == points.get(i).getY())
+                {
+                    b = true;
+                }
+            }
+
+        }
+
+        for (int i = points.size()-1; i > -1; i--)
+        {
+            if (!b)
+            {
+                points.get(i).setY(min);
+            }
+            else
+            {
+                if (min == points.get(i).getY())
+                {
+                    b = false;
+                }
+            }
+
+        }
+    }
+
+
+
+    ///<summary>
+    ///用最小二乘法拟合二元多次曲线
+    ///</summary>
+    ///<param name="arrX">已知点的x坐标集合</param>
+    ///<param name="arrY">已知点的y坐标集合</param>
+    ///<param name="length">已知点的个数</param>
+    ///<param name="dimension">方程的最高次数</param>
+    public static double[] multiLine(double[] arrX, double[] arrY, int length, int dimension)//二元多次线性方程拟合曲线
+    {
+        int n = dimension + 1;                  //dimension次方程需要求 dimension+1个 系数
+        double[][] guass = new double[n][n+1];      //高斯矩阵 例如:y=a0+a1*x+a2*x*x
+        for (int i = 0; i < n; i++)
+        {
+            int j;
+            for (j = 0; j < n; j++)
+            {
+                guass[i][j] = sumArr(arrX, j + i, length);
+            }
+            guass[i][j]= sumArr(arrX, i, arrY, 1, length);
+        }
+        return computGauss(guass, n);
+    }
+    public static double sumArr(double[] arr, int n, int length) //求数组的元素的n次方的和
+    {
+        double s = 0;
+        for (int i = 0; i < length; i++)
+        {
+            if (arr[i] != 0 || n != 0)
+                s = s + Math.pow(arr[i], n);
+            else
+                s = s + 1;
+        }
+        return s;
+    }
+    public static double sumArr(double[] arr1, int n1, double[] arr2, int n2, int length)
+    {
+        double s = 0;
+        for (int i = 0; i < length; i++)
+        {
+            if ((arr1[i] != 0 || n1 != 0) && (arr2[i] != 0 || n2 != 0))
+                s = s + Math.pow(arr1[i], n1) * Math.pow(arr2[i], n2);
+            else
+                s = s + 1;
+        }
+        return s;
+
+    }
+    public static double[] computGauss(double[][] guass, int n)
+    {
+        int i, j;
+        int k, m;
+        double temp;
+        double max;
+        double s;
+        double[] x = new double[n];
+        for (i = 0; i < n; i++) x[i] = 0.0;//初始化
+
+        for (j = 0; j < n; j++)
+        {
+            max = 0;
+            k = j;
+            for (i = j; i < n; i++)
+            {
+                if (Math.abs(guass[i][j]) > max)
+                {
+                    max = guass[i][j];
+                    k = i;
+                }
+            }
+
+
+            if (k != j)
+            {
+                for (m = j; m < n + 1; m++)
+                {
+                    temp = guass[j][m];
+                    guass[j][m]= guass[k][m];
+                    guass[k][m] = temp;
+                }
+            }
+            if (0 == max)
+            {
+                // "此线性方程为奇异线性方程" 
+                return x;
+            }
+
+            for (i = j + 1; i < n; i++)
+            {
+                s = guass[i][j];
+                for (m = j; m < n + 1; m++)
+                {
+                    guass[i][m] = guass[i][m] - guass[j][m] * s / (guass[j][j]);
+                }
+            }
+
+        }//结束for (j=0;j<n;j++)
+
+        for (i = n - 1; i >= 0; i--)
+        {
+            s = 0;
+            for (j = i + 1; j < n; j++)
+            {
+                s = s + guass[i][j] * x[j];
+            }
+            x[i] = (guass[i][n]- s) / guass[i][i];
+        }
+        return x;
+    }//返回值是函数的系数
+}
+

+ 85 - 0
realtime/generationXK-service/src/test/java/com/gyee/generation/CsvTest.java

@@ -0,0 +1,85 @@
+package com.gyee.generation;
+
+
+import com.gyee.common.util.SortUtils;
+import com.gyee.generation.model.vo.CsvVo;
+
+
+import com.gyee.generation.model.vo.PointVo;
+import com.gyee.generation.util.StringUtils;
+import com.gyee.generation.util.realtimesource.math.LineUtil;
+import com.opencsv.CSVReader;
+
+
+import java.io.FileReader;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.List;
+
+import java.util.stream.Collectors;
+
+
+/**
+ * OpenCSV CSVReader Example, Read line by line
+ *
+ * @author pankaj
+ *
+ */
+public class CsvTest {
+
+    private static SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+
+    public static void main(String[] args) throws Exception {
+        CSVReader csvReader = new CSVReader(new FileReader("d:\\NG01_02.csv"));
+        String[] titles = csvReader.readNext(); //读取到第一行 是小标题
+//        时间	风机功率	风机风速	风机明细状态	欠发状态
+
+        List<CsvVo> vols=new ArrayList<>();
+        CsvVo vo = null;
+        while (true){
+            vo = new CsvVo();
+            String[] content = csvReader.readNext();
+            if(content==null){
+                break;
+            }
+            vo.setDate(StringUtils.toDate(content[0],"yyyy/MM/dd HH:mm"));
+            vo.setPower(Double.valueOf(content[1]));
+            vo.setSpeed(Double.valueOf(content[2]));
+            vo.setStatus(Integer.valueOf(content[3]));
+            vo.setLackpower(Integer.valueOf(content[4]));
+
+
+            vols.add(vo);
+        }
+
+        if(!vols.isEmpty())
+        {
+//            List<CsvVo> vos=vols.stream().filter(i->i.power>0
+//                    && i.getSpeed()>0
+//                    && i.getLackpower()<=2
+//                    && i.getStatus()==2
+//            ) .sorted(Comparator.comparing(CsvVo::getSpeed)).collect(Collectors.toList());
+            List<CsvVo> vos=vols.stream().filter(i->i.power>0
+                    && i.getSpeed()>2.5
+                    && i.getLackpower()<=2
+                    && i.getStatus()==2
+            ).collect(Collectors.toList());
+            SortUtils.sort(vos,"speed",SortUtils.ASC);
+
+
+
+
+            List<PointVo> temp = LineUtil.buildLine(vos.stream().mapToDouble(i -> i.getSpeed()).toArray(), vos.stream().mapToDouble(i -> i.getPower()).toArray(), vos.size(), 20, 0.01);
+            if(!temp.isEmpty())
+            {
+                for(PointVo v:temp)
+                {
+                    System.out.println("x="+v.getX()+",y="+v.getY());
+                }
+            }
+        }
+    }
+
+
+
+}

+ 6 - 6
web/backmanagerconfig/src/main/java/com/gyee/backconfig/controller/WindpowerstationController.java

@@ -192,15 +192,15 @@ public class WindpowerstationController {
         }
     }
 
-    @GetMapping(value = "/treels")
+    @GetMapping(value = "/homeSuspensionWindows")
     @ResponseBody
     @CrossOrigin(origins = "*", maxAge = 3600)
     public R wtls() {
-        Map<String, Object> resultList = windpowerstationService.cpls();
-        if (StringUtils.isNotNull(resultList)) {
-            return com.gyee.backconfig.config.R.ok((int) resultList.size()).data(resultList);
-        } else {
-            return R.error().message("访问失败");
+        List<Map> resultList = windpowerstationService.hso();
+        if (null != resultList){
+            return R.ok().data(resultList);
+        }else {
+            return R.error().data("查询失败!");
         }
     }
 

+ 1 - 1
web/backmanagerconfig/src/main/java/com/gyee/backconfig/service/auto/IWindpowerstationService.java

@@ -40,7 +40,7 @@ public interface IWindpowerstationService extends IService<Windpowerstation> {
 
     List<PersisVo> getPersis(String stationDate, Date startdate, Date enddate) throws Exception;
 
-    Map<String, Object> cpls ();
+    List<Map> hso ();
 
 
 

+ 453 - 25
web/backmanagerconfig/src/main/java/com/gyee/backconfig/service/auto/impl/WindpowerstationServiceImpl.java

@@ -196,20 +196,46 @@ public class WindpowerstationServiceImpl extends ServiceImpl<WindpowerstationMap
     }
 
     @Override
-    public Map<String, Object> cpls() {
+    public List<Map> hso() {
         QueryWrapper<Windpowerstation> qw = new QueryWrapper<>();
         List<Windpowerstation> list = baseMapper.selectList(qw);
-        Map<String, Object> jh = new HashMap<>();
+//        Map<String, Object> tcjh = new LinkedHashMap<>();
         //产业光伏
         List<Windpowerstation> sxgf = new ArrayList<>();
-        List<Windpowerstation> sxgfzjrl = new ArrayList<>();
         List<Windpowerstation> xjgf = new ArrayList<>();
         List<Windpowerstation> sdgf = new ArrayList<>();
         List<Windpowerstation> xzgf = new ArrayList<>();
         List<Windpowerstation> nmgf = new ArrayList<>();
         List<Windpowerstation> xsgf = new ArrayList<>();
         List<Windpowerstation> hbgf = new ArrayList<>();
-        //清洁能源公司
+        //产业风电
+        List<Windpowerstation> sxfd = new ArrayList<>();
+        List<Windpowerstation> xjfd = new ArrayList<>();
+        List<Windpowerstation> sdfd = new ArrayList<>();
+        List<Windpowerstation> xzfd = new ArrayList<>();
+        List<Windpowerstation> nmfd = new ArrayList<>();
+        List<Windpowerstation> xsfd = new ArrayList<>();
+        List<Windpowerstation> hbfd = new ArrayList<>();
+
+        //产业光伏装机容量
+        List<Double> sxgfzjrl = new ArrayList<>();
+        List<Double> xjgfzjrl = new ArrayList<>();
+        List<Double> sdgfzjrl = new ArrayList<>();
+        List<Double> xzgfzjrl = new ArrayList<>();
+        List<Double> nmgfzjrl = new ArrayList<>();
+        List<Double> xsgfzjrl = new ArrayList<>();
+        List<Double> hbgfzjrl = new ArrayList<>();
+
+        //产业风电装机容量
+        List<Double> sxfdzjrl = new ArrayList<>();
+        List<Double> xjfdzjrl = new ArrayList<>();
+        List<Double> sdfdzjrl = new ArrayList<>();
+        List<Double> xzfdzjrl = new ArrayList<>();
+        List<Double> nmfdzjrl = new ArrayList<>();
+        List<Double> xsfdzjrl = new ArrayList<>();
+        List<Double> hbfdzjrl = new ArrayList<>();
+
+        //清洁能源公司光伏
         List<Windpowerstation> sxqjnygf = new ArrayList<>();
         List<Windpowerstation> xjqjnygf = new ArrayList<>();
         List<Windpowerstation> sdqjnygf = new ArrayList<>();
@@ -217,10 +243,38 @@ public class WindpowerstationServiceImpl extends ServiceImpl<WindpowerstationMap
         List<Windpowerstation> nmqjnygf = new ArrayList<>();
         List<Windpowerstation> xsqjnygf = new ArrayList<>();
         List<Windpowerstation> hbqjnygf = new ArrayList<>();
+
+        //清洁能源公司风电
+        List<Windpowerstation> sxqjnyfd = new ArrayList<>();
+        List<Windpowerstation> xjqjnyfd = new ArrayList<>();
+        List<Windpowerstation> sdqjnyfd = new ArrayList<>();
+        List<Windpowerstation> xzqjnyfd = new ArrayList<>();
+        List<Windpowerstation> nmqjnyfd = new ArrayList<>();
+        List<Windpowerstation> xsqjnyfd = new ArrayList<>();
+        List<Windpowerstation> hbqjnyfd = new ArrayList<>();
+
+        //清洁能源公司光伏装机容量
+        List<Double> sxqjnygfzjrl = new ArrayList<>();
+        List<Double> xjqjnygfzjrl = new ArrayList<>();
+        List<Double> sdqjnygfzjrl = new ArrayList<>();
+        List<Double> xzqjnygfzjrl = new ArrayList<>();
+        List<Double> nmqjnygfzjrl = new ArrayList<>();
+        List<Double> xsqjnygfzjrl = new ArrayList<>();
+        List<Double> hbqjnygfzjrl = new ArrayList<>();
+
+        //清洁能源公司光伏装机容量
+        List<Double> sxqjnyfdzjrl = new ArrayList<>();
+        List<Double> xjqjnyfdzjrl = new ArrayList<>();
+        List<Double> sdqjnyfdzjrl = new ArrayList<>();
+        List<Double> xzqjnyfdzjrl = new ArrayList<>();
+        List<Double> nmqjnyfdzjrl = new ArrayList<>();
+        List<Double> xsqjnyfdzjrl = new ArrayList<>();
+        List<Double> hbqjnyfdzjrl = new ArrayList<>();
+
         if (!list.isEmpty()) {
             for (Windpowerstation w1 : list) {
                 if (StringUtils.notEmp(w1.getRegionid())) {
-                    //产业
+                    //产业光伏
                     if (w1.getRegionid().endsWith("XJ") & w1.getId().endsWith("GDC")) {
                         Windpowerstation vo = new Windpowerstation();
                         vo.setId(w1.getId());
@@ -230,6 +284,7 @@ public class WindpowerstationServiceImpl extends ServiceImpl<WindpowerstationMap
                         vo.setCompanyid(w1.getCompanyid());
                         vo.setRegionid(w1.getRegionid());
                         xjgf.add(vo);
+                        xjgfzjrl.add(vo.getCapacity());
                     }
                     if (w1.getRegionid().endsWith("SX") & w1.getId().endsWith("GDC")) {
                         Windpowerstation vo1 = new Windpowerstation();
@@ -240,6 +295,7 @@ public class WindpowerstationServiceImpl extends ServiceImpl<WindpowerstationMap
                         vo1.setCompanyid(w1.getCompanyid());
                         vo1.setRegionid(w1.getRegionid());
                         sxgf.add(vo1);          //45条数据
+                        sxgfzjrl.add(vo1.getCapacity());
                     }
                     if (w1.getRegionid().endsWith("XS") & w1.getId().endsWith("GDC")) {
                         Windpowerstation vo1 = new Windpowerstation();
@@ -250,6 +306,7 @@ public class WindpowerstationServiceImpl extends ServiceImpl<WindpowerstationMap
                         vo1.setCompanyid(w1.getCompanyid());
                         vo1.setRegionid(w1.getRegionid());
                         xsgf.add(vo1);
+                        xsgfzjrl.add(vo1.getCapacity());
                     }
                     if (w1.getRegionid().endsWith("NM") & w1.getId().endsWith("GDC")) {
                         Windpowerstation vo1 = new Windpowerstation();
@@ -260,6 +317,7 @@ public class WindpowerstationServiceImpl extends ServiceImpl<WindpowerstationMap
                         vo1.setCompanyid(w1.getCompanyid());
                         vo1.setRegionid(w1.getRegionid());
                         nmgf.add(vo1);
+                        nmgfzjrl.add(vo1.getCapacity());
                     }
                     if (w1.getRegionid().endsWith("HB") & w1.getId().endsWith("GDC")) {
                         Windpowerstation vo1 = new Windpowerstation();
@@ -270,6 +328,7 @@ public class WindpowerstationServiceImpl extends ServiceImpl<WindpowerstationMap
                         vo1.setCompanyid(w1.getCompanyid());
                         vo1.setRegionid(w1.getRegionid());
                         hbgf.add(vo1);
+                        hbgfzjrl.add(vo1.getCapacity());
                     }
                     if (w1.getRegionid().endsWith("SD") & w1.getId().endsWith("GDC")) {
                         Windpowerstation vo1 = new Windpowerstation();
@@ -280,6 +339,7 @@ public class WindpowerstationServiceImpl extends ServiceImpl<WindpowerstationMap
                         vo1.setCompanyid(w1.getCompanyid());
                         vo1.setRegionid(w1.getRegionid());
                         sdgf.add(vo1);
+                        sdgfzjrl.add(vo1.getCapacity());
                     }
                     if (w1.getRegionid().endsWith("XZ") & w1.getId().endsWith("GDC")) {
                         Windpowerstation vo1 = new Windpowerstation();
@@ -290,9 +350,90 @@ public class WindpowerstationServiceImpl extends ServiceImpl<WindpowerstationMap
                         vo1.setCompanyid(w1.getCompanyid());
                         vo1.setRegionid(w1.getRegionid());
                         xzgf.add(vo1);
+                        xzgfzjrl.add(vo1.getCapacity());
                     }
 
-                    //清洁能源公司
+
+                    //产业风电
+                    if (w1.getRegionid().endsWith("XJ") & w1.getId().endsWith("FDC")) {
+                        Windpowerstation vo = new Windpowerstation();
+                        vo.setId(w1.getId());
+                        vo.setAname(w1.getAname());
+                        vo.setCapacity(w1.getCapacity());
+                        vo.setCapacityunit(w1.getCapacityunit());
+                        vo.setCompanyid(w1.getCompanyid());
+                        vo.setRegionid(w1.getRegionid());
+                        xjfd.add(vo);
+                        xjfdzjrl.add(vo.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("SX") & w1.getId().endsWith("FDC")) {
+                        Windpowerstation vo1 = new Windpowerstation();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        sxfd.add(vo1);          //45条数据
+                        sxfdzjrl.add(vo1.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("XS") & w1.getId().endsWith("FDC")) {
+                        Windpowerstation vo1 = new Windpowerstation();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        xsfd.add(vo1);
+                        xsfdzjrl.add(vo1.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("NM") & w1.getId().endsWith("FDC")) {
+                        Windpowerstation vo1 = new Windpowerstation();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        nmfd.add(vo1);
+                        nmfdzjrl.add(vo1.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("HB") & w1.getId().endsWith("FDC")) {
+                        Windpowerstation vo1 = new Windpowerstation();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        hbfd.add(vo1);
+                        hbfdzjrl.add(vo1.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("SD") & w1.getId().endsWith("FDC")) {
+                        Windpowerstation vo1 = new Windpowerstation();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        sdfd.add(vo1);
+                        sdfdzjrl.add(vo1.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("XZ") & w1.getId().endsWith("FDC")) {
+                        Windpowerstation vo1 = new Windpowerstation();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        xzfd.add(vo1);
+                        xzfdzjrl.add(vo1.getCapacity());
+                    }
+
+                    //清洁能源公司光伏
                     if (w1.getRegionid().endsWith("XJ") & w1.getId().endsWith("GDC") & w1.getCompanyid().endsWith("QJNY")) {
                         Windpowerstation vo = new Windpowerstation();
                         vo.setId(w1.getId());
@@ -302,6 +443,7 @@ public class WindpowerstationServiceImpl extends ServiceImpl<WindpowerstationMap
                         vo.setCompanyid(w1.getCompanyid());
                         vo.setRegionid(w1.getRegionid());
                         xjqjnygf.add(vo);
+                        xjqjnygfzjrl.add(vo.getCapacity());
                     }
                     if (w1.getRegionid().endsWith("SX") & w1.getId().endsWith("GDC") & w1.getCompanyid().endsWith("QJNY")) {
                         Windpowerstation vo1 = new Windpowerstation();
@@ -312,6 +454,7 @@ public class WindpowerstationServiceImpl extends ServiceImpl<WindpowerstationMap
                         vo1.setCompanyid(w1.getCompanyid());
                         vo1.setRegionid(w1.getRegionid());
                         sxqjnygf.add(vo1);
+                        sxqjnygfzjrl.add(vo1.getCapacity());
                     }
                     if (w1.getRegionid().endsWith("XS") & w1.getId().endsWith("GDC") & w1.getCompanyid().endsWith("QJNY")) {
                         Windpowerstation vo1 = new Windpowerstation();
@@ -322,6 +465,7 @@ public class WindpowerstationServiceImpl extends ServiceImpl<WindpowerstationMap
                         vo1.setCompanyid(w1.getCompanyid());
                         vo1.setRegionid(w1.getRegionid());
                         xsqjnygf.add(vo1);
+                        xsqjnygfzjrl.add(vo1.getCapacity());
                     }
                     if (w1.getRegionid().endsWith("NM") & w1.getId().endsWith("GDC") & w1.getCompanyid().endsWith("QJNY")) {
                         Windpowerstation vo1 = new Windpowerstation();
@@ -332,6 +476,7 @@ public class WindpowerstationServiceImpl extends ServiceImpl<WindpowerstationMap
                         vo1.setCompanyid(w1.getCompanyid());
                         vo1.setRegionid(w1.getRegionid());
                         nmqjnygf.add(vo1);
+                        nmqjnygfzjrl.add(vo1.getCapacity());
                     }
                     if (w1.getRegionid().endsWith("HB") & w1.getId().endsWith("GDC") & w1.getCompanyid().endsWith("QJNY")) {
                         Windpowerstation vo1 = new Windpowerstation();
@@ -342,6 +487,7 @@ public class WindpowerstationServiceImpl extends ServiceImpl<WindpowerstationMap
                         vo1.setCompanyid(w1.getCompanyid());
                         vo1.setRegionid(w1.getRegionid());
                         hbqjnygf.add(vo1);
+                        hbqjnygfzjrl.add(vo1.getCapacity());
                     }
                     if (w1.getRegionid().endsWith("SD") & w1.getId().endsWith("GDC") & w1.getCompanyid().endsWith("QJNY")) {
                         Windpowerstation vo1 = new Windpowerstation();
@@ -352,6 +498,7 @@ public class WindpowerstationServiceImpl extends ServiceImpl<WindpowerstationMap
                         vo1.setCompanyid(w1.getCompanyid());
                         vo1.setRegionid(w1.getRegionid());
                         sdqjnygf.add(vo1);
+                        sdqjnygfzjrl.add(vo1.getCapacity());
                     }
                     if (w1.getRegionid().endsWith("XZ") & w1.getId().endsWith("GDC") & w1.getCompanyid().endsWith("QJNY")) {
                         Windpowerstation vo1 = new Windpowerstation();
@@ -362,9 +509,22 @@ public class WindpowerstationServiceImpl extends ServiceImpl<WindpowerstationMap
                         vo1.setCompanyid(w1.getCompanyid());
                         vo1.setRegionid(w1.getRegionid());
                         xzqjnygf.add(vo1);
+                        xzqjnygfzjrl.add(vo1.getCapacity());
                     }
-                    //装机容量-qjny
-                    if (w1.getRegionid().endsWith("XZ") & w1.getId().endsWith("GDC") & w1.getCompanyid().endsWith("QJNY")) {
+
+                    //清洁能源公司风电
+                    if (w1.getRegionid().endsWith("XJ") & w1.getId().endsWith("FDC") & w1.getCompanyid().endsWith("QJNY")) {
+                        Windpowerstation vo = new Windpowerstation();
+                        vo.setId(w1.getId());
+                        vo.setAname(w1.getAname());
+                        vo.setCapacity(w1.getCapacity());
+                        vo.setCapacityunit(w1.getCapacityunit());
+                        vo.setCompanyid(w1.getCompanyid());
+                        vo.setRegionid(w1.getRegionid());
+                        xjqjnyfd.add(vo);
+                        xjqjnyfdzjrl.add(vo.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("SX") & w1.getId().endsWith("FDC") & w1.getCompanyid().endsWith("QJNY")) {
                         Windpowerstation vo1 = new Windpowerstation();
                         vo1.setId(w1.getId());
                         vo1.setAname(w1.getAname());
@@ -372,28 +532,296 @@ public class WindpowerstationServiceImpl extends ServiceImpl<WindpowerstationMap
                         vo1.setCapacityunit(w1.getCapacityunit());
                         vo1.setCompanyid(w1.getCompanyid());
                         vo1.setRegionid(w1.getRegionid());
-                        xzqjnygf.add(vo1);
+                        sxqjnyfd.add(vo1);
+                        sxqjnyfdzjrl.add(vo1.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("XS") & w1.getId().endsWith("FDC") & w1.getCompanyid().endsWith("QJNY")) {
+                        Windpowerstation vo1 = new Windpowerstation();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        xsqjnyfd.add(vo1);
+                        xsqjnyfdzjrl.add(vo1.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("NM") & w1.getId().endsWith("FDC") & w1.getCompanyid().endsWith("QJNY")) {
+                        Windpowerstation vo1 = new Windpowerstation();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        nmqjnyfd.add(vo1);
+                        nmqjnyfdzjrl.add(vo1.getCapacity());
                     }
+                    if (w1.getRegionid().endsWith("HB") & w1.getId().endsWith("FDC") & w1.getCompanyid().endsWith("QJNY")) {
+                        Windpowerstation vo1 = new Windpowerstation();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        hbqjnyfd.add(vo1);
+                        hbqjnyfdzjrl.add(vo1.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("SD") & w1.getId().endsWith("FDC") & w1.getCompanyid().endsWith("QJNY")) {
+                        Windpowerstation vo1 = new Windpowerstation();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        sdqjnyfd.add(vo1);
+                        sdqjnyfdzjrl.add(vo1.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("XZ") & w1.getId().endsWith("FDC") & w1.getCompanyid().endsWith("QJNY")) {
+                        Windpowerstation vo1 = new Windpowerstation();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        xzqjnyfd.add(vo1);
+                        xzqjnyfdzjrl.add(vo1.getCapacity());
+                    }
+
                 }
 
             }
         }
-        jh.put("山西区域光伏场站数量", sxgf.size()); //45
-        jh.put("新疆区域光伏场站数量", xjgf.size());  //3
-        jh.put("陕西区域光伏场站数量", xsgf.size());
-        jh.put("内蒙区域光伏场站数量", nmgf.size());
-        jh.put("河北区域光伏场站数量", hbgf.size());
-        jh.put("西藏区域光伏场站数量", xzgf.size());
-        jh.put("山东区域光伏场站数量", sdgf.size());
-        jh.put("山西区域光伏清洁能源场站数量", sxqjnygf.size());
-        jh.put("新疆区域光伏清洁能源场站数量", xjqjnygf.size());
-        jh.put("陕西区域光伏清洁能源场站数量", xsqjnygf.size());
-        jh.put("内蒙区域光伏清洁能源场站数量", nmqjnygf.size());
-        jh.put("河北区域光伏清洁能源场站数量", hbqjnygf.size());
-        jh.put("西藏区域光伏清洁能源场站数量", xzqjnygf.size());
-        jh.put("山东区域光伏清洁能源场站数量", sdqjnygf.size());
-
-        return jh;
+
+        //产业光伏装机容量
+        Double sxsum = sxgfzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double xjsum = xjgfzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double xssum = xsgfzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double nmsum = nmgfzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double hbsum = hbgfzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double xzsum = xzgfzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double sdsum = sdgfzjrl.stream().reduce(Double::sum).orElse((double) 0);
+
+        //产业风电装机容量
+        Double sxfdsum = sxfdzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double xjfdsum = xjfdzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double xsfdsum = xsfdzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double nmfdsum = nmfdzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double hbfdsum = hbfdzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double xzfdsum = xzfdzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double sdfdsum = sdfdzjrl.stream().reduce(Double::sum).orElse((double) 0);
+
+
+        //产业
+//        tcjh.put("sxcygf", sxgf.size()); //45
+//        tcjh.put("sxcygfzjrl", MathUtil.twoBit(sxsum));
+//        tcjh.put("sxcyfd", sxfd.size());
+//        tcjh.put("sxcyfdzjrl", MathUtil.twoBit(sxfdsum));
+//        tcjh.put("sxcyzzjrl", MathUtil.twoBit(sxsum+sxfdsum));
+
+//        tcjh.put("xjcygf", xjgf.size());  //3
+//        tcjh.put("xjcygfzjrl", MathUtil.twoBit(xjsum));
+//        tcjh.put("xjcyfd", xjfd.size());
+//        tcjh.put("xjcyfdzjrl", MathUtil.twoBit(xjfdsum));
+//        tcjh.put("xjcyzzjrl", MathUtil.twoBit(xjsum+xjfdsum));
+
+        //"xs"为陕西
+//        tcjh.put("xscygf", xsgf.size());
+//        tcjh.put("xscygfzjrl", MathUtil.twoBit(xssum));
+//        tcjh.put("xscyfd", xsfd.size());
+//        tcjh.put("xscyfdzjrl", MathUtil.twoBit(xsfdsum));
+//        tcjh.put("xscyzzjrl", MathUtil.twoBit(xssum+xsfdsum));
+
+//        tcjh.put("nmcygf", nmgf.size());
+//        tcjh.put("nmcygfzjrl", MathUtil.twoBit(nmsum));
+//        tcjh.put("nmcyfd", nmfd.size());
+//        tcjh.put("nmcyfdzjrl", MathUtil.twoBit(nmfdsum));
+//        tcjh.put("nmcyzzjrl", MathUtil.twoBit(nmsum+nmfdsum));
+
+//        tcjh.put("hbcygf", hbgf.size());
+//        tcjh.put("hbcygfzjrl", MathUtil.twoBit(hbsum));
+//        tcjh.put("hbcyfd", hbfd.size());
+//        tcjh.put("hbcyfdzjrl", MathUtil.twoBit(hbfdsum));
+//        tcjh.put("hbcyzzjrl", MathUtil.twoBit(hbsum+hbfdsum));
+
+//        tcjh.put("xzcygf", xzgf.size());
+//        tcjh.put("xzcygfzjrl", MathUtil.twoBit(xzsum));
+//        tcjh.put("xzcyfd", xzfd.size());
+//        tcjh.put("xzcyfdzjrl", MathUtil.twoBit(xzfdsum));
+//        tcjh.put("xzcyzzjrl", MathUtil.twoBit(xzsum+xzfdsum));
+
+//        tcjh.put("sdcygf", sdgf.size());
+//        tcjh.put("sdcygfzjrl", MathUtil.twoBit(sdsum));
+//        tcjh.put("sdcyfd", sdfd.size());
+//        tcjh.put("sdcyfdzjrl", MathUtil.twoBit(sdfdsum));
+//        tcjh.put("sdcyzzjrl", MathUtil.twoBit(sdsum+sdfdsum));
+        //清洁能源公司装机容量
+        Double sxqjnysum = sxqjnygfzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double xjqjnysum = xjqjnygfzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double xsqjnysum = xsqjnygfzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double nmqjnysum = nmqjnygfzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double hbqjnysum = hbqjnygfzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double xzqjnysum = xzqjnygfzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double sdqjnysum = sdqjnygfzjrl.stream().reduce(Double::sum).orElse((double) 0);
+
+        //清洁能源公司风电装机容量
+        Double sxqjnyfdsum = sxqjnyfdzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double xjqjnyfdsum = xjqjnyfdzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double xsqjnyfdsum = xsqjnyfdzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double nmqjnyfdsum = nmqjnyfdzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double hbqjnyfdsum = hbqjnyfdzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double xzqjnyfdsum = xzqjnyfdzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double sdqjnyfdsum = sdqjnyfdzjrl.stream().reduce(Double::sum).orElse((double) 0);
+
+        //清洁能源公司
+
+//        tcjh.put("sxgsgf", sxqjnygf.size());
+//        tcjh.put("sxgsgfzjrl", MathUtil.twoBit(sxqjnysum));
+//        tcjh.put("sxgsfd", sxqjnyfd.size());
+//        tcjh.put("sxgsfdzjrl", MathUtil.twoBit(sxqjnyfdsum));
+//        tcjh.put("sxgszzjrl", MathUtil.twoBit(sxqjnysum+sxqjnyfdsum));
+
+//        tcjh.put("xjgsgf", xjqjnygf.size());
+//        tcjh.put("xjgsgfzjrl", MathUtil.twoBit(xjqjnysum));
+//        tcjh.put("xjgsfd", xjqjnyfd.size());
+//        tcjh.put("xjgsfdzjrl", MathUtil.twoBit(xjqjnyfdsum));
+//        tcjh.put("xjgszzjrl", MathUtil.twoBit(xjqjnysum+xjqjnyfdsum));
+//
+//        tcjh.put("xsgsgf", xsqjnygf.size());
+//        tcjh.put("xsgsgfzjrl", MathUtil.twoBit(xsqjnysum));
+//        tcjh.put("xsgsfd", xsqjnyfd.size());
+//        tcjh.put("xsgsfdzjrl", MathUtil.twoBit(xsqjnyfdsum));
+//        tcjh.put("xsgszzjrl", MathUtil.twoBit(xsqjnysum+xsqjnyfdsum));
+
+//        tcjh.put("nmgsgf", nmqjnygf.size());
+//        tcjh.put("nmgsgfzjrl", MathUtil.twoBit(nmqjnysum));
+//        tcjh.put("nmgsfd", nmqjnyfd.size());
+//        tcjh.put("nmgsfdzjrl", MathUtil.twoBit(nmqjnyfdsum));
+//        tcjh.put("nmgszzjrl", MathUtil.twoBit(nmqjnysum+nmqjnyfdsum));
+
+//        tcjh.put("hbgsgf", hbqjnygf.size());
+//        tcjh.put("hbgsgfzjrl", MathUtil.twoBit(hbqjnysum));
+//        tcjh.put("hbgsfd", hbqjnyfd.size());
+//        tcjh.put("hbgsfdzjrl", MathUtil.twoBit(hbqjnyfdsum));
+//        tcjh.put("hbgszzjrl", MathUtil.twoBit(hbqjnysum+hbqjnyfdsum));
+
+//        tcjh.put("xzgsgf", xzqjnygf.size());
+//        tcjh.put("xzgsgfzjrl", MathUtil.twoBit(xzqjnysum));
+//        tcjh.put("xzgsfd", xzqjnyfd.size());
+//        tcjh.put("xzgsfdzjrl", MathUtil.twoBit(xzqjnyfdsum));
+//        tcjh.put("xzgszzjrl", MathUtil.twoBit(xzqjnysum+xzqjnyfdsum));
+
+//        tcjh.put("sdgsgf", sdqjnygf.size());
+//        tcjh.put("sdgsgfzjrl", MathUtil.twoBit(sdqjnysum));
+//        tcjh.put("sdgsfd", sdqjnyfd.size());
+//        tcjh.put("sdgsfdzjrl", MathUtil.twoBit(sdqjnyfdsum));
+//        tcjh.put("sdgszjrl", MathUtil.twoBit(sdqjnysum+sdqjnyfdsum));
+
+
+        Map<String, Object> tcsx = new LinkedHashMap<>();
+        tcsx.put("name", "山西");
+        tcsx.put("sxcygf", sxgf.size()); //45
+        tcsx.put("sxcygfzjrl", MathUtil.twoBit(sxsum));
+        tcsx.put("sxcyfd", sxfd.size());
+        tcsx.put("sxcyfdzjrl", MathUtil.twoBit(sxfdsum));
+        tcsx.put("sxcyzzjrl", MathUtil.twoBit(sxsum + sxfdsum));
+        tcsx.put("sxgsgf", sxqjnygf.size());
+        tcsx.put("sxgsgfzjrl", MathUtil.twoBit(sxqjnysum));
+        tcsx.put("sxgsfd", sxqjnyfd.size());
+        tcsx.put("sxgsfdzjrl", MathUtil.twoBit(sxqjnyfdsum));
+        tcsx.put("sxgszzjrl", MathUtil.twoBit(sxqjnysum + sxqjnyfdsum));
+
+        Map<String, Object> tcxj = new LinkedHashMap<>();
+        tcxj.put("name", "新疆");
+        tcxj.put("xjcygf", xjgf.size());  //3
+        tcxj.put("xjcygfzjrl", MathUtil.twoBit(xjsum));
+        tcxj.put("xjcyfd", xjfd.size());
+        tcxj.put("xjcyfdzjrl", MathUtil.twoBit(xjfdsum));
+        tcxj.put("xjcyzzjrl", MathUtil.twoBit(xjsum + xjfdsum));
+        tcxj.put("xjgsgf", xjqjnygf.size());
+        tcxj.put("xjgsgfzjrl", MathUtil.twoBit(xjqjnysum));
+        tcxj.put("xjgsfd", xjqjnyfd.size());
+        tcxj.put("xjgsfdzjrl", MathUtil.twoBit(xjqjnyfdsum));
+        tcxj.put("xjgszzjrl", MathUtil.twoBit(xjqjnysum + xjqjnyfdsum));
+
+        Map<String, Object> tcxs = new LinkedHashMap<>();
+        tcxs.put("name", "陕西");
+        tcxs.put("xscygf", xsgf.size());
+        tcxs.put("xscygfzjrl", MathUtil.twoBit(xssum));
+        tcxs.put("xscyfd", xsfd.size());
+        tcxs.put("xscyfdzjrl", MathUtil.twoBit(xsfdsum));
+        tcxs.put("xscyzzjrl", MathUtil.twoBit(xssum + xsfdsum));
+        tcxs.put("xsgsgf", xsqjnygf.size());
+        tcxs.put("xsgsgfzjrl", MathUtil.twoBit(xsqjnysum));
+        tcxs.put("xsgsfd", xsqjnyfd.size());
+        tcxs.put("xsgsfdzjrl", MathUtil.twoBit(xsqjnyfdsum));
+        tcxs.put("xsgszzjrl", MathUtil.twoBit(xsqjnysum + xsqjnyfdsum));
+
+        Map<String, Object> tcnm = new LinkedHashMap<>();
+        tcnm.put("name", "内蒙");
+        tcnm.put("nmcygf", nmgf.size());
+        tcnm.put("nmcygfzjrl", MathUtil.twoBit(nmsum));
+        tcnm.put("nmcyfd", nmfd.size());
+        tcnm.put("nmcyfdzjrl", MathUtil.twoBit(nmfdsum));
+        tcnm.put("nmcyzzjrl", MathUtil.twoBit(nmsum + nmfdsum));
+        tcnm.put("nmgsgf", nmqjnygf.size());
+        tcnm.put("nmgsgfzjrl", MathUtil.twoBit(nmqjnysum));
+        tcnm.put("nmgsfd", nmqjnyfd.size());
+        tcnm.put("nmgsfdzjrl", MathUtil.twoBit(nmqjnyfdsum));
+        tcnm.put("nmgszzjrl", MathUtil.twoBit(nmqjnysum + nmqjnyfdsum));
+
+        Map<String, Object> tchb = new LinkedHashMap<>();
+        tchb.put("name", "河北");
+        tchb.put("hbcygf", hbgf.size());
+        tchb.put("hbcygfzjrl", MathUtil.twoBit(hbsum));
+        tchb.put("hbcyfd", hbfd.size());
+        tchb.put("hbcyfdzjrl", MathUtil.twoBit(hbfdsum));
+        tchb.put("hbcyzzjrl", MathUtil.twoBit(hbsum + hbfdsum));
+        tchb.put("hbgsgf", hbqjnygf.size());
+        tchb.put("hbgsgfzjrl", MathUtil.twoBit(hbqjnysum));
+        tchb.put("hbgsfd", hbqjnyfd.size());
+        tchb.put("hbgsfdzjrl", MathUtil.twoBit(hbqjnyfdsum));
+        tchb.put("hbgszzjrl", MathUtil.twoBit(hbqjnysum + hbqjnyfdsum));
+
+        Map<String, Object> tcxz = new LinkedHashMap<>();
+        tcxz.put("name", "西藏");
+        tcxz.put("xzcygf", xzgf.size());
+        tcxz.put("xzcygfzjrl", MathUtil.twoBit(xzsum));
+        tcxz.put("xzcyfd", xzfd.size());
+        tcxz.put("xzcyfdzjrl", MathUtil.twoBit(xzfdsum));
+        tcxz.put("xzcyzzjrl", MathUtil.twoBit(xzsum + xzfdsum));
+        tcxz.put("xzgsgf", xzqjnygf.size());
+        tcxz.put("xzgsgfzjrl", MathUtil.twoBit(xzqjnysum));
+        tcxz.put("xzgsfd", xzqjnyfd.size());
+        tcxz.put("xzgsfdzjrl", MathUtil.twoBit(xzqjnyfdsum));
+        tcxz.put("xzgszzjrl", MathUtil.twoBit(xzqjnysum + xzqjnyfdsum));
+
+        Map<String, Object> tcsd = new LinkedHashMap<>();
+        tcsd.put("name", "山东");
+        tcsd.put("sdcygf", sdgf.size());
+        tcsd.put("sdcygfzjrl", MathUtil.twoBit(sdsum));
+        tcsd.put("sdcyfd", sdfd.size());
+        tcsd.put("sdcyfdzjrl", MathUtil.twoBit(sdfdsum));
+        tcsd.put("sdcyzzjrl", MathUtil.twoBit(sdsum + sdfdsum));
+        tcsd.put("sdgsgf", sdqjnygf.size());
+        tcsd.put("sdgsgfzjrl", MathUtil.twoBit(sdqjnysum));
+        tcsd.put("sdgsfd", sdqjnyfd.size());
+        tcsd.put("sdgsfdzjrl", MathUtil.twoBit(sdqjnyfdsum));
+        tcsd.put("sdgszjrl", MathUtil.twoBit(sdqjnysum + sdqjnyfdsum));
+
+        List<Map> tcjh = new ArrayList<>();
+        tcjh.add(tcsx);
+        tcjh.add(tcxj);
+        tcjh.add(tcnm);
+        tcjh.add(tcxz);
+        tcjh.add(tcsd);
+        tcjh.add(tcxs);
+        tcjh.add(tchb);
+
+        return tcjh;
     }
 }
 

+ 1 - 1
web/monitor-web-sxjn/src/main/java/com/gyee/frame/common/spring/InitialRunner.java

@@ -89,7 +89,7 @@ public class InitialRunner implements CommandLineRunner {
 
     public static List<Windpowerstation> wpls = new ArrayList<Windpowerstation>(); // 风电场LIST集合
     public static List<Windpowerstation> spls = new ArrayList<Windpowerstation>(); // 光伏场LIST集合
-    
+
     public static List<Project> pjls = new ArrayList<Project>(); // 项目LIST集合
     public static List<Line> linels = new ArrayList<Line>(); // 线路LIST集合
     public static List<Windturbine> wtls = new ArrayList<Windturbine>(); // 风电机LIST集合

+ 17 - 0
web/monitor-web-sxjn/src/main/java/com/gyee/frame/controller/monitor/GenreSetPushController.java

@@ -1,10 +1,12 @@
 package com.gyee.frame.controller.monitor;
 
+import com.gyee.common.config.R;
 import com.gyee.frame.common.conf.AjaxStatus;
 import com.gyee.frame.common.domain.AjaxResult;
 import com.gyee.frame.common.spring.InitialRunner;
 import com.gyee.frame.model.custom.DataVo;
 import com.gyee.frame.service.ForecastwindspeedService;
+import com.gyee.frame.service.WindpowerstationPGService;
 import com.gyee.frame.service.websocket.*;
 import com.gyee.frame.util.StringUtils;
 import io.swagger.annotations.Api;
@@ -12,6 +14,7 @@ import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.CrossOrigin;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
@@ -44,6 +47,9 @@ public class GenreSetPushController {
     @Resource
     private ForecastwindspeedService forecastwindspeedService;
 
+    @Resource
+    private WindpowerstationPGService windpowerstationPGService;
+
     private final String QY = "QY";
     private final String QS = "0";
     private final String FD = "-1";
@@ -546,4 +552,15 @@ public class GenreSetPushController {
 
     }
 
+    @GetMapping(value = "/homeSuspensionWindows")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R wtls() {
+        List<Map> resultList = windpowerstationPGService.hso();
+        if (null != resultList){
+            return R.ok().data(resultList);
+        }else {
+            return R.error().data("查询失败!");
+        }
+    }
 }

+ 4 - 4
web/monitor-web-sxjn/src/main/java/com/gyee/frame/model/auto/WindpowerstationPG.java

@@ -56,12 +56,12 @@ public class WindpowerstationPG implements Serializable {
      *
      * @mbg.generated
      */
-    private BigDecimal capacity;
+    private Double capacity;
 
     /**
      *
      * This field was generated by MyBatis Generator.
-     * This field corresponds to the database column windpowerstation.capacityunit
+     * This field corresponds to the database column windpowerstation.unit
      *
      * @mbg.generated
      */
@@ -329,7 +329,7 @@ public class WindpowerstationPG implements Serializable {
      *
      * @mbg.generated
      */
-    public BigDecimal getCapacity() {
+    public Double getCapacity() {
         return capacity;
     }
 
@@ -341,7 +341,7 @@ public class WindpowerstationPG implements Serializable {
      *
      * @mbg.generated
      */
-    public void setCapacity(BigDecimal capacity) {
+    public void setCapacity(Double capacity) {
         this.capacity = capacity;
     }
 

+ 638 - 0
web/monitor-web-sxjn/src/main/java/com/gyee/frame/service/WindpowerstationPGService.java

@@ -1,16 +1,21 @@
 package com.gyee.frame.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.gyee.common.model.StringUtils;
 import com.gyee.frame.common.base.BaseService;
 import com.gyee.frame.common.dataSources.DataSource;
 import com.gyee.frame.common.dataSources.DataSourceType;
 import com.gyee.frame.mapper.auto.WindpowerstationPGMapper;
 import com.gyee.frame.model.auto.WindpowerstationPG;
 import com.gyee.frame.model.auto.WindpowerstationPGExample;
+import com.gyee.frame.util.MathUtil;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.util.ArrayList;
+import java.util.LinkedHashMap;
 import java.util.List;
+import java.util.Map;
 
 @Service
 public class WindpowerstationPGService implements BaseService<WindpowerstationPG, WindpowerstationPGExample> {
@@ -87,6 +92,639 @@ public class WindpowerstationPGService implements BaseService<WindpowerstationPG
         return list;
 
     }
+    @DataSource(value = DataSourceType.SLAVE)
+    public List<Map> hso() {
+//        QueryWrapper<WindpowerstationPGPG> qw = new QueryWrapper<>();
+//        List<WindpowerstationPGPG> list = baseMapper.selectList(qw);
+
+        List<WindpowerstationPG> list=new ArrayList<>();
+        WindpowerstationPGExample example=new WindpowerstationPGExample();
+        example.setOrderByClause(" id asc");
+        list= windpowerstationPGMapper.selectByExample(example);
+
+        //产业光伏
+        List<WindpowerstationPG> sxgf = new ArrayList<>();
+        List<WindpowerstationPG> xjgf = new ArrayList<>();
+        List<WindpowerstationPG> sdgf = new ArrayList<>();
+        List<WindpowerstationPG> xzgf = new ArrayList<>();
+        List<WindpowerstationPG> nmgf = new ArrayList<>();
+        List<WindpowerstationPG> xsgf = new ArrayList<>();
+        List<WindpowerstationPG> hbgf = new ArrayList<>();
+        //产业风电
+        List<WindpowerstationPG> sxfd = new ArrayList<>();
+        List<WindpowerstationPG> xjfd = new ArrayList<>();
+        List<WindpowerstationPG> sdfd = new ArrayList<>();
+        List<WindpowerstationPG> xzfd = new ArrayList<>();
+        List<WindpowerstationPG> nmfd = new ArrayList<>();
+        List<WindpowerstationPG> xsfd = new ArrayList<>();
+        List<WindpowerstationPG> hbfd = new ArrayList<>();
+
+        //产业光伏装机容量
+        List<Double> sxgfzjrl = new ArrayList<>();
+        List<Double> xjgfzjrl = new ArrayList<>();
+        List<Double> sdgfzjrl = new ArrayList<>();
+        List<Double> xzgfzjrl = new ArrayList<>();
+        List<Double> nmgfzjrl = new ArrayList<>();
+        List<Double> xsgfzjrl = new ArrayList<>();
+        List<Double> hbgfzjrl = new ArrayList<>();
+
+        //产业风电装机容量
+        List<Double> sxfdzjrl = new ArrayList<>();
+        List<Double> xjfdzjrl = new ArrayList<>();
+        List<Double> sdfdzjrl = new ArrayList<>();
+        List<Double> xzfdzjrl = new ArrayList<>();
+        List<Double> nmfdzjrl = new ArrayList<>();
+        List<Double> xsfdzjrl = new ArrayList<>();
+        List<Double> hbfdzjrl = new ArrayList<>();
+
+        //清洁能源公司光伏
+        List<WindpowerstationPG> sxqjnygf = new ArrayList<>();
+        List<WindpowerstationPG> xjqjnygf = new ArrayList<>();
+        List<WindpowerstationPG> sdqjnygf = new ArrayList<>();
+        List<WindpowerstationPG> xzqjnygf = new ArrayList<>();
+        List<WindpowerstationPG> nmqjnygf = new ArrayList<>();
+        List<WindpowerstationPG> xsqjnygf = new ArrayList<>();
+        List<WindpowerstationPG> hbqjnygf = new ArrayList<>();
+
+        //清洁能源公司风电
+        List<WindpowerstationPG> sxqjnyfd = new ArrayList<>();
+        List<WindpowerstationPG> xjqjnyfd = new ArrayList<>();
+        List<WindpowerstationPG> sdqjnyfd = new ArrayList<>();
+        List<WindpowerstationPG> xzqjnyfd = new ArrayList<>();
+        List<WindpowerstationPG> nmqjnyfd = new ArrayList<>();
+        List<WindpowerstationPG> xsqjnyfd = new ArrayList<>();
+        List<WindpowerstationPG> hbqjnyfd = new ArrayList<>();
+
+        //清洁能源公司光伏装机容量
+        List<Double> sxqjnygfzjrl = new ArrayList<>();
+        List<Double> xjqjnygfzjrl = new ArrayList<>();
+        List<Double> sdqjnygfzjrl = new ArrayList<>();
+        List<Double> xzqjnygfzjrl = new ArrayList<>();
+        List<Double> nmqjnygfzjrl = new ArrayList<>();
+        List<Double> xsqjnygfzjrl = new ArrayList<>();
+        List<Double> hbqjnygfzjrl = new ArrayList<>();
+
+        //清洁能源公司光伏装机容量
+        List<Double> sxqjnyfdzjrl = new ArrayList<>();
+        List<Double> xjqjnyfdzjrl = new ArrayList<>();
+        List<Double> sdqjnyfdzjrl = new ArrayList<>();
+        List<Double> xzqjnyfdzjrl = new ArrayList<>();
+        List<Double> nmqjnyfdzjrl = new ArrayList<>();
+        List<Double> xsqjnyfdzjrl = new ArrayList<>();
+        List<Double> hbqjnyfdzjrl = new ArrayList<>();
+
+        if (!list.isEmpty()) {
+            for (WindpowerstationPG w1 : list) {
+                if (StringUtils.notEmp(w1.getRegionid())) {
+                    //产业光伏
+                    if (w1.getRegionid().endsWith("XJ") & w1.getId().endsWith("GDC")) {
+                        WindpowerstationPG vo = new WindpowerstationPG();
+                        vo.setId(w1.getId());
+                        vo.setAname(w1.getAname());
+                        vo.setCapacity(w1.getCapacity());
+                        vo.setCapacityunit(w1.getCapacityunit());
+                        vo.setCompanyid(w1.getCompanyid());
+                        vo.setRegionid(w1.getRegionid());
+                        xjgf.add(vo);
+                        xjgfzjrl.add(vo.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("SX") & w1.getId().endsWith("GDC")) {
+                        WindpowerstationPG vo1 = new WindpowerstationPG();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        sxgf.add(vo1);          //45条数据
+                        sxgfzjrl.add(vo1.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("XS") & w1.getId().endsWith("GDC")) {
+                        WindpowerstationPG vo1 = new WindpowerstationPG();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        xsgf.add(vo1);
+                        xsgfzjrl.add(vo1.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("NM") & w1.getId().endsWith("GDC")) {
+                        WindpowerstationPG vo1 = new WindpowerstationPG();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        nmgf.add(vo1);
+                        nmgfzjrl.add(vo1.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("HB") & w1.getId().endsWith("GDC")) {
+                        WindpowerstationPG vo1 = new WindpowerstationPG();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        hbgf.add(vo1);
+                        hbgfzjrl.add(vo1.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("SD") & w1.getId().endsWith("GDC")) {
+                        WindpowerstationPG vo1 = new WindpowerstationPG();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        sdgf.add(vo1);
+                        sdgfzjrl.add(vo1.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("XZ") & w1.getId().endsWith("GDC")) {
+                        WindpowerstationPG vo1 = new WindpowerstationPG();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        xzgf.add(vo1);
+                        xzgfzjrl.add(vo1.getCapacity());
+                    }
+
+
+                    //产业风电
+                    if (w1.getRegionid().endsWith("XJ") & w1.getId().endsWith("FDC")) {
+                        WindpowerstationPG vo = new WindpowerstationPG();
+                        vo.setId(w1.getId());
+                        vo.setAname(w1.getAname());
+                        vo.setCapacity(w1.getCapacity());
+                        vo.setCapacityunit(w1.getCapacityunit());
+                        vo.setCompanyid(w1.getCompanyid());
+                        vo.setRegionid(w1.getRegionid());
+                        xjfd.add(vo);
+                        xjfdzjrl.add(vo.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("SX") & w1.getId().endsWith("FDC")) {
+                        WindpowerstationPG vo1 = new WindpowerstationPG();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        sxfd.add(vo1);          //45条数据
+                        sxfdzjrl.add(vo1.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("XS") & w1.getId().endsWith("FDC")) {
+                        WindpowerstationPG vo1 = new WindpowerstationPG();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        xsfd.add(vo1);
+                        xsfdzjrl.add(vo1.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("NM") & w1.getId().endsWith("FDC")) {
+                        WindpowerstationPG vo1 = new WindpowerstationPG();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        nmfd.add(vo1);
+                        nmfdzjrl.add(vo1.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("HB") & w1.getId().endsWith("FDC")) {
+                        WindpowerstationPG vo1 = new WindpowerstationPG();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        hbfd.add(vo1);
+                        hbfdzjrl.add(vo1.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("SD") & w1.getId().endsWith("FDC")) {
+                        WindpowerstationPG vo1 = new WindpowerstationPG();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        sdfd.add(vo1);
+                        sdfdzjrl.add(vo1.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("XZ") & w1.getId().endsWith("FDC")) {
+                        WindpowerstationPG vo1 = new WindpowerstationPG();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        xzfd.add(vo1);
+                        xzfdzjrl.add(vo1.getCapacity());
+                    }
+
+                    //清洁能源公司光伏
+                    if (w1.getRegionid().endsWith("XJ") & w1.getId().endsWith("GDC") & w1.getCompanyid().endsWith("QJNY")) {
+                        WindpowerstationPG vo = new WindpowerstationPG();
+                        vo.setId(w1.getId());
+                        vo.setAname(w1.getAname());
+                        vo.setCapacity(w1.getCapacity());
+                        vo.setCapacityunit(w1.getCapacityunit());
+                        vo.setCompanyid(w1.getCompanyid());
+                        vo.setRegionid(w1.getRegionid());
+                        xjqjnygf.add(vo);
+                        xjqjnygfzjrl.add(vo.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("SX") & w1.getId().endsWith("GDC") & w1.getCompanyid().endsWith("QJNY")) {
+                        WindpowerstationPG vo1 = new WindpowerstationPG();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        sxqjnygf.add(vo1);
+                        sxqjnygfzjrl.add(vo1.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("XS") & w1.getId().endsWith("GDC") & w1.getCompanyid().endsWith("QJNY")) {
+                        WindpowerstationPG vo1 = new WindpowerstationPG();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        xsqjnygf.add(vo1);
+                        xsqjnygfzjrl.add(vo1.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("NM") & w1.getId().endsWith("GDC") & w1.getCompanyid().endsWith("QJNY")) {
+                        WindpowerstationPG vo1 = new WindpowerstationPG();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        nmqjnygf.add(vo1);
+                        nmqjnygfzjrl.add(vo1.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("HB") & w1.getId().endsWith("GDC") & w1.getCompanyid().endsWith("QJNY")) {
+                        WindpowerstationPG vo1 = new WindpowerstationPG();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        hbqjnygf.add(vo1);
+                        hbqjnygfzjrl.add(vo1.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("SD") & w1.getId().endsWith("GDC") & w1.getCompanyid().endsWith("QJNY")) {
+                        WindpowerstationPG vo1 = new WindpowerstationPG();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        sdqjnygf.add(vo1);
+                        sdqjnygfzjrl.add(vo1.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("XZ") & w1.getId().endsWith("GDC") & w1.getCompanyid().endsWith("QJNY")) {
+                        WindpowerstationPG vo1 = new WindpowerstationPG();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        xzqjnygf.add(vo1);
+                        xzqjnygfzjrl.add(vo1.getCapacity());
+                    }
+
+                    //清洁能源公司风电
+                    if (w1.getRegionid().endsWith("XJ") & w1.getId().endsWith("FDC") & w1.getCompanyid().endsWith("QJNY")) {
+                        WindpowerstationPG vo = new WindpowerstationPG();
+                        vo.setId(w1.getId());
+                        vo.setAname(w1.getAname());
+                        vo.setCapacity(w1.getCapacity());
+                        vo.setCapacityunit(w1.getCapacityunit());
+                        vo.setCompanyid(w1.getCompanyid());
+                        vo.setRegionid(w1.getRegionid());
+                        xjqjnyfd.add(vo);
+                        xjqjnyfdzjrl.add(vo.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("SX") & w1.getId().endsWith("FDC") & w1.getCompanyid().endsWith("QJNY")) {
+                        WindpowerstationPG vo1 = new WindpowerstationPG();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        sxqjnyfd.add(vo1);
+                        sxqjnyfdzjrl.add(vo1.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("XS") & w1.getId().endsWith("FDC") & w1.getCompanyid().endsWith("QJNY")) {
+                        WindpowerstationPG vo1 = new WindpowerstationPG();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        xsqjnyfd.add(vo1);
+                        xsqjnyfdzjrl.add(vo1.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("NM") & w1.getId().endsWith("FDC") & w1.getCompanyid().endsWith("QJNY")) {
+                        WindpowerstationPG vo1 = new WindpowerstationPG();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        nmqjnyfd.add(vo1);
+                        nmqjnyfdzjrl.add(vo1.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("HB") & w1.getId().endsWith("FDC") & w1.getCompanyid().endsWith("QJNY")) {
+                        WindpowerstationPG vo1 = new WindpowerstationPG();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        hbqjnyfd.add(vo1);
+                        hbqjnyfdzjrl.add(vo1.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("SD") & w1.getId().endsWith("FDC") & w1.getCompanyid().endsWith("QJNY")) {
+                        WindpowerstationPG vo1 = new WindpowerstationPG();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        sdqjnyfd.add(vo1);
+                        sdqjnyfdzjrl.add(vo1.getCapacity());
+                    }
+                    if (w1.getRegionid().endsWith("XZ") & w1.getId().endsWith("FDC") & w1.getCompanyid().endsWith("QJNY")) {
+                        WindpowerstationPG vo1 = new WindpowerstationPG();
+                        vo1.setId(w1.getId());
+                        vo1.setAname(w1.getAname());
+                        vo1.setCapacity(w1.getCapacity());
+                        vo1.setCapacityunit(w1.getCapacityunit());
+                        vo1.setCompanyid(w1.getCompanyid());
+                        vo1.setRegionid(w1.getRegionid());
+                        xzqjnyfd.add(vo1);
+                        xzqjnyfdzjrl.add(vo1.getCapacity());
+                    }
+
+                }
+
+            }
+        }
+
+        //产业光伏装机容量
+        Double sxsum = sxgfzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double xjsum = xjgfzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double xssum = xsgfzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double nmsum = nmgfzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double hbsum = hbgfzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double xzsum = xzgfzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double sdsum = sdgfzjrl.stream().reduce(Double::sum).orElse((double) 0);
+
+        //产业风电装机容量
+        Double sxfdsum = sxfdzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double xjfdsum = xjfdzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double xsfdsum = xsfdzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double nmfdsum = nmfdzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double hbfdsum = hbfdzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double xzfdsum = xzfdzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double sdfdsum = sdfdzjrl.stream().reduce(Double::sum).orElse((double) 0);
+
+
+        //产业
+//        tcjh.put("sxcygf", sxgf.size()); //45
+//        tcjh.put("sxcygfzjrl", MathUtil.twoBit(sxsum));
+//        tcjh.put("sxcyfd", sxfd.size());
+//        tcjh.put("sxcyfdzjrl", MathUtil.twoBit(sxfdsum));
+//        tcjh.put("sxcyzzjrl", MathUtil.twoBit(sxsum+sxfdsum));
+
+//        tcjh.put("xjcygf", xjgf.size());  //3
+//        tcjh.put("xjcygfzjrl", MathUtil.twoBit(xjsum));
+//        tcjh.put("xjcyfd", xjfd.size());
+//        tcjh.put("xjcyfdzjrl", MathUtil.twoBit(xjfdsum));
+//        tcjh.put("xjcyzzjrl", MathUtil.twoBit(xjsum+xjfdsum));
+
+        //"xs"为陕西
+//        tcjh.put("xscygf", xsgf.size());
+//        tcjh.put("xscygfzjrl", MathUtil.twoBit(xssum));
+//        tcjh.put("xscyfd", xsfd.size());
+//        tcjh.put("xscyfdzjrl", MathUtil.twoBit(xsfdsum));
+//        tcjh.put("xscyzzjrl", MathUtil.twoBit(xssum+xsfdsum));
+
+//        tcjh.put("nmcygf", nmgf.size());
+//        tcjh.put("nmcygfzjrl", MathUtil.twoBit(nmsum));
+//        tcjh.put("nmcyfd", nmfd.size());
+//        tcjh.put("nmcyfdzjrl", MathUtil.twoBit(nmfdsum));
+//        tcjh.put("nmcyzzjrl", MathUtil.twoBit(nmsum+nmfdsum));
+
+//        tcjh.put("hbcygf", hbgf.size());
+//        tcjh.put("hbcygfzjrl", MathUtil.twoBit(hbsum));
+//        tcjh.put("hbcyfd", hbfd.size());
+//        tcjh.put("hbcyfdzjrl", MathUtil.twoBit(hbfdsum));
+//        tcjh.put("hbcyzzjrl", MathUtil.twoBit(hbsum+hbfdsum));
+
+//        tcjh.put("xzcygf", xzgf.size());
+//        tcjh.put("xzcygfzjrl", MathUtil.twoBit(xzsum));
+//        tcjh.put("xzcyfd", xzfd.size());
+//        tcjh.put("xzcyfdzjrl", MathUtil.twoBit(xzfdsum));
+//        tcjh.put("xzcyzzjrl", MathUtil.twoBit(xzsum+xzfdsum));
+
+//        tcjh.put("sdcygf", sdgf.size());
+//        tcjh.put("sdcygfzjrl", MathUtil.twoBit(sdsum));
+//        tcjh.put("sdcyfd", sdfd.size());
+//        tcjh.put("sdcyfdzjrl", MathUtil.twoBit(sdfdsum));
+//        tcjh.put("sdcyzzjrl", MathUtil.twoBit(sdsum+sdfdsum));
+        //清洁能源公司装机容量
+        Double sxqjnysum = sxqjnygfzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double xjqjnysum = xjqjnygfzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double xsqjnysum = xsqjnygfzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double nmqjnysum = nmqjnygfzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double hbqjnysum = hbqjnygfzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double xzqjnysum = xzqjnygfzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double sdqjnysum = sdqjnygfzjrl.stream().reduce(Double::sum).orElse((double) 0);
+
+        //清洁能源公司风电装机容量
+        Double sxqjnyfdsum = sxqjnyfdzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double xjqjnyfdsum = xjqjnyfdzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double xsqjnyfdsum = xsqjnyfdzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double nmqjnyfdsum = nmqjnyfdzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double hbqjnyfdsum = hbqjnyfdzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double xzqjnyfdsum = xzqjnyfdzjrl.stream().reduce(Double::sum).orElse((double) 0);
+        Double sdqjnyfdsum = sdqjnyfdzjrl.stream().reduce(Double::sum).orElse((double) 0);
+
+        //清洁能源公司
+
+//        tcjh.put("sxgsgf", sxqjnygf.size());
+//        tcjh.put("sxgsgfzjrl", MathUtil.twoBit(sxqjnysum));
+//        tcjh.put("sxgsfd", sxqjnyfd.size());
+//        tcjh.put("sxgsfdzjrl", MathUtil.twoBit(sxqjnyfdsum));
+//        tcjh.put("sxgszzjrl", MathUtil.twoBit(sxqjnysum+sxqjnyfdsum));
+
+//        tcjh.put("xjgsgf", xjqjnygf.size());
+//        tcjh.put("xjgsgfzjrl", MathUtil.twoBit(xjqjnysum));
+//        tcjh.put("xjgsfd", xjqjnyfd.size());
+//        tcjh.put("xjgsfdzjrl", MathUtil.twoBit(xjqjnyfdsum));
+//        tcjh.put("xjgszzjrl", MathUtil.twoBit(xjqjnysum+xjqjnyfdsum));
+//
+//        tcjh.put("xsgsgf", xsqjnygf.size());
+//        tcjh.put("xsgsgfzjrl", MathUtil.twoBit(xsqjnysum));
+//        tcjh.put("xsgsfd", xsqjnyfd.size());
+//        tcjh.put("xsgsfdzjrl", MathUtil.twoBit(xsqjnyfdsum));
+//        tcjh.put("xsgszzjrl", MathUtil.twoBit(xsqjnysum+xsqjnyfdsum));
+
+//        tcjh.put("nmgsgf", nmqjnygf.size());
+//        tcjh.put("nmgsgfzjrl", MathUtil.twoBit(nmqjnysum));
+//        tcjh.put("nmgsfd", nmqjnyfd.size());
+//        tcjh.put("nmgsfdzjrl", MathUtil.twoBit(nmqjnyfdsum));
+//        tcjh.put("nmgszzjrl", MathUtil.twoBit(nmqjnysum+nmqjnyfdsum));
+
+//        tcjh.put("hbgsgf", hbqjnygf.size());
+//        tcjh.put("hbgsgfzjrl", MathUtil.twoBit(hbqjnysum));
+//        tcjh.put("hbgsfd", hbqjnyfd.size());
+//        tcjh.put("hbgsfdzjrl", MathUtil.twoBit(hbqjnyfdsum));
+//        tcjh.put("hbgszzjrl", MathUtil.twoBit(hbqjnysum+hbqjnyfdsum));
+
+//        tcjh.put("xzgsgf", xzqjnygf.size());
+//        tcjh.put("xzgsgfzjrl", MathUtil.twoBit(xzqjnysum));
+//        tcjh.put("xzgsfd", xzqjnyfd.size());
+//        tcjh.put("xzgsfdzjrl", MathUtil.twoBit(xzqjnyfdsum));
+//        tcjh.put("xzgszzjrl", MathUtil.twoBit(xzqjnysum+xzqjnyfdsum));
+
+//        tcjh.put("sdgsgf", sdqjnygf.size());
+//        tcjh.put("sdgsgfzjrl", MathUtil.twoBit(sdqjnysum));
+//        tcjh.put("sdgsfd", sdqjnyfd.size());
+//        tcjh.put("sdgsfdzjrl", MathUtil.twoBit(sdqjnyfdsum));
+//        tcjh.put("sdgszjrl", MathUtil.twoBit(sdqjnysum+sdqjnyfdsum));
+
+
+        Map<String, Object> tcsx = new LinkedHashMap<>();
+        tcsx.put("name", "山西");
+        tcsx.put("sxcygf", sxgf.size()); //45
+        tcsx.put("sxcygfzjrl", MathUtil.twoBit(sxsum));
+        tcsx.put("sxcyfd", sxfd.size());
+        tcsx.put("sxcyfdzjrl", MathUtil.twoBit(sxfdsum));
+        tcsx.put("sxcyzzjrl", MathUtil.twoBit(sxsum + sxfdsum));
+        tcsx.put("sxgsgf", sxqjnygf.size());
+        tcsx.put("sxgsgfzjrl", MathUtil.twoBit(sxqjnysum));
+        tcsx.put("sxgsfd", sxqjnyfd.size());
+        tcsx.put("sxgsfdzjrl", MathUtil.twoBit(sxqjnyfdsum));
+        tcsx.put("sxgszzjrl", MathUtil.twoBit(sxqjnysum + sxqjnyfdsum));
+
+        Map<String, Object> tcxj = new LinkedHashMap<>();
+        tcxj.put("name", "新疆");
+        tcxj.put("xjcygf", xjgf.size());  //3
+        tcxj.put("xjcygfzjrl", MathUtil.twoBit(xjsum));
+        tcxj.put("xjcyfd", xjfd.size());
+        tcxj.put("xjcyfdzjrl", MathUtil.twoBit(xjfdsum));
+        tcxj.put("xjcyzzjrl", MathUtil.twoBit(xjsum + xjfdsum));
+        tcxj.put("xjgsgf", xjqjnygf.size());
+        tcxj.put("xjgsgfzjrl", MathUtil.twoBit(xjqjnysum));
+        tcxj.put("xjgsfd", xjqjnyfd.size());
+        tcxj.put("xjgsfdzjrl", MathUtil.twoBit(xjqjnyfdsum));
+        tcxj.put("xjgszzjrl", MathUtil.twoBit(xjqjnysum + xjqjnyfdsum));
+
+        Map<String, Object> tcxs = new LinkedHashMap<>();
+        tcxs.put("name", "陕西");
+        tcxs.put("xscygf", xsgf.size());
+        tcxs.put("xscygfzjrl", MathUtil.twoBit(xssum));
+        tcxs.put("xscyfd", xsfd.size());
+        tcxs.put("xscyfdzjrl", MathUtil.twoBit(xsfdsum));
+        tcxs.put("xscyzzjrl", MathUtil.twoBit(xssum + xsfdsum));
+        tcxs.put("xsgsgf", xsqjnygf.size());
+        tcxs.put("xsgsgfzjrl", MathUtil.twoBit(xsqjnysum));
+        tcxs.put("xsgsfd", xsqjnyfd.size());
+        tcxs.put("xsgsfdzjrl", MathUtil.twoBit(xsqjnyfdsum));
+        tcxs.put("xsgszzjrl", MathUtil.twoBit(xsqjnysum + xsqjnyfdsum));
+
+        Map<String, Object> tcnm = new LinkedHashMap<>();
+        tcnm.put("name", "内蒙");
+        tcnm.put("nmcygf", nmgf.size());
+        tcnm.put("nmcygfzjrl", MathUtil.twoBit(nmsum));
+        tcnm.put("nmcyfd", nmfd.size());
+        tcnm.put("nmcyfdzjrl", MathUtil.twoBit(nmfdsum));
+        tcnm.put("nmcyzzjrl", MathUtil.twoBit(nmsum + nmfdsum));
+        tcnm.put("nmgsgf", nmqjnygf.size());
+        tcnm.put("nmgsgfzjrl", MathUtil.twoBit(nmqjnysum));
+        tcnm.put("nmgsfd", nmqjnyfd.size());
+        tcnm.put("nmgsfdzjrl", MathUtil.twoBit(nmqjnyfdsum));
+        tcnm.put("nmgszzjrl", MathUtil.twoBit(nmqjnysum + nmqjnyfdsum));
+
+        Map<String, Object> tchb = new LinkedHashMap<>();
+        tchb.put("name", "河北");
+        tchb.put("hbcygf", hbgf.size());
+        tchb.put("hbcygfzjrl", MathUtil.twoBit(hbsum));
+        tchb.put("hbcyfd", hbfd.size());
+        tchb.put("hbcyfdzjrl", MathUtil.twoBit(hbfdsum));
+        tchb.put("hbcyzzjrl", MathUtil.twoBit(hbsum + hbfdsum));
+        tchb.put("hbgsgf", hbqjnygf.size());
+        tchb.put("hbgsgfzjrl", MathUtil.twoBit(hbqjnysum));
+        tchb.put("hbgsfd", hbqjnyfd.size());
+        tchb.put("hbgsfdzjrl", MathUtil.twoBit(hbqjnyfdsum));
+        tchb.put("hbgszzjrl", MathUtil.twoBit(hbqjnysum + hbqjnyfdsum));
+
+        Map<String, Object> tcxz = new LinkedHashMap<>();
+        tcxz.put("name", "西藏");
+        tcxz.put("xzcygf", xzgf.size());
+        tcxz.put("xzcygfzjrl", MathUtil.twoBit(xzsum));
+        tcxz.put("xzcyfd", xzfd.size());
+        tcxz.put("xzcyfdzjrl", MathUtil.twoBit(xzfdsum));
+        tcxz.put("xzcyzzjrl", MathUtil.twoBit(xzsum + xzfdsum));
+        tcxz.put("xzgsgf", xzqjnygf.size());
+        tcxz.put("xzgsgfzjrl", MathUtil.twoBit(xzqjnysum));
+        tcxz.put("xzgsfd", xzqjnyfd.size());
+        tcxz.put("xzgsfdzjrl", MathUtil.twoBit(xzqjnyfdsum));
+        tcxz.put("xzgszzjrl", MathUtil.twoBit(xzqjnysum + xzqjnyfdsum));
+
+        Map<String, Object> tcsd = new LinkedHashMap<>();
+        tcsd.put("name", "山东");
+        tcsd.put("sdcygf", sdgf.size());
+        tcsd.put("sdcygfzjrl", MathUtil.twoBit(sdsum));
+        tcsd.put("sdcyfd", sdfd.size());
+        tcsd.put("sdcyfdzjrl", MathUtil.twoBit(sdfdsum));
+        tcsd.put("sdcyzzjrl", MathUtil.twoBit(sdsum + sdfdsum));
+        tcsd.put("sdgsgf", sdqjnygf.size());
+        tcsd.put("sdgsgfzjrl", MathUtil.twoBit(sdqjnysum));
+        tcsd.put("sdgsfd", sdqjnyfd.size());
+        tcsd.put("sdgsfdzjrl", MathUtil.twoBit(sdqjnyfdsum));
+        tcsd.put("sdgszjrl", MathUtil.twoBit(sdqjnysum + sdqjnyfdsum));
+
+        List<Map> tcjh = new ArrayList<>();
+        tcjh.add(tcsx);
+        tcjh.add(tcxj);
+        tcjh.add(tcnm);
+        tcjh.add(tcxz);
+        tcjh.add(tcsd);
+        tcjh.add(tcxs);
+        tcjh.add(tchb);
+
+        return tcjh;
+    }