Przeglądaj źródła

【CHG】修改查询条件

zhaomn 2 lat temu
rodzic
commit
321a2b6d3a

+ 1 - 1
railway-business/src/main/java/com/railway/business/bi/controller/ShowSbxjController.java

@@ -30,7 +30,7 @@ public class ShowSbxjController extends BaseController {
     this.showSbxjService = showSbxjService;
   }
 
-  @ApiOperation(value = "列表")
+  @ApiOperation(value = "查询某月的计划和兑现情况")
   @GetMapping(value = {"/total/{month}"})
   public AjaxResult getTotal(@PathVariable int month) {
     List<SbxjVO> list = showSbxjService.getTotal(month);

+ 4 - 4
railway-business/src/main/java/com/railway/business/bi/domain/vo/SbxjVO.java

@@ -24,15 +24,15 @@ public class SbxjVO implements Serializable {
   private String sbmc;
 
   @ApiModelProperty(value = "总数")
-  private String total;
+  private Integer total;
 
   @ApiModelProperty(value = "计划")
-  private String plan;
+  private Integer plan;
 
   @ApiModelProperty(value = "实际")
-  private String actual;
+  private Integer actual;
 
   @ApiModelProperty(value = "兑现")
-  private String dx;
+  private Integer dx;
 
 }

+ 14 - 0
railway-business/src/main/java/com/railway/business/bi/mapper/ShowBpdjxjhMapper.java

@@ -42,4 +42,18 @@ public interface ShowBpdjxjhMapper {
    */
   Page<ShowBpdjxjh> getList(BpdjxjhQuery query);
 
+  /**
+   * 统计计划数
+   * @param jhMonth 月份
+   * @return 合计
+   */
+  int getPlan(String jhMonth);
+
+  /**
+   * 统计完成数
+   * @param month 月份
+   * @return 合计
+   */
+  int getActual(String month);
+
 }

+ 19 - 0
railway-business/src/main/java/com/railway/business/bi/mapper/ShowSbxjMapper.java

@@ -2,6 +2,7 @@ package com.railway.business.bi.mapper;
 
 import com.github.pagehelper.Page;
 import com.railway.business.bi.domain.ShowSbxj;
+import com.railway.business.bi.domain.vo.ChartVO;
 import com.railway.business.bi.domain.vo.SbxjVO;
 import java.util.List;
 import org.apache.ibatis.annotations.Mapper;
@@ -49,4 +50,22 @@ public interface ShowSbxjMapper {
      */
     List<SbxjVO> getTotal(int month);
 
+    /**
+     * 获取电力远动调试本月兑现情况图表数据
+     * @return 图表数据对象
+     */
+    ChartVO getChartDlydtsby();
+
+    /**
+     * 获取电力受电线路本月兑现情况图表数据
+     * @return 图表数据对象
+     */
+    ChartVO getChartDlsdxlby();
+
+    /**
+     * 获取电力变配电所本月兑现情况图表数据
+     * @return 图表数据对象
+     */
+    ChartVO getChartDlbpdsby();
+
 }

+ 560 - 516
railway-business/src/main/java/com/railway/business/bi/service/impl/ChartServiceImpl.java

@@ -3,11 +3,15 @@ package com.railway.business.bi.service.impl;
 import com.railway.business.bi.domain.dto.DlycDTO;
 import com.railway.business.bi.domain.dto.SeriesDTO;
 import com.railway.business.bi.domain.vo.ChartVO;
+import com.railway.business.bi.domain.vo.SbxjVO;
 import com.railway.business.bi.domain.vo.TodoListVO;
 import com.railway.business.bi.mapper.ShowBdycMapper;
+import com.railway.business.bi.mapper.ShowBpdjxjhMapper;
 import com.railway.business.bi.mapper.ShowDlycMapper;
+import com.railway.business.bi.mapper.ShowSbxjMapper;
 import com.railway.business.bi.service.IChartService;
 import java.util.ArrayList;
+import java.util.Calendar;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
@@ -28,527 +32,567 @@ import org.springframework.stereotype.Service;
 @Service
 public class ChartServiceImpl implements IChartService {
 
-    private final ShowBdycMapper bdycMapper;
-    private final ShowDlycMapper dlycMapper;
-
-    public ChartServiceImpl(ShowBdycMapper bdycMapper, ShowDlycMapper dlycMapper) {
-        this.bdycMapper = bdycMapper;
-        this.dlycMapper = dlycMapper;
-    }
-
-    /**
-     * 重要待办事项
-     *
-     * @return 待办事项统计
-     */
-    @Override
-    public TodoListVO todoList() {
-        TodoListVO todoList = new TodoListVO();
-        todoList.setYdts(1);
-        todoList.setDlsdxl(1);
-        todoList.setDlsbxj(1);
-        todoList.setDlbpds(1);
-        todoList.setBdsdsy(1);
-        return todoList;
-    }
-
-    /**
-     * 获取地图上的图表数据
-     *
-     * @return 图表数据对象
-     */
-    @Override
-    public List<ChartVO> getChartInMap(String date) {
-
-        List<ChartVO> chartList = new ArrayList<>();
-
-        List<String> xAxis = new ArrayList<>();
-        xAxis.add("变电");
-        xAxis.add("电力");
-
-        List<DlycDTO> bdycList = bdycMapper.totalByDay(date);
-        List<DlycDTO> dlycList = dlycMapper.totalByDay(date);
-        Map<String, DlycDTO> bdycMap = bdycList.stream()
-            .collect(Collectors.toMap(DlycDTO::getGq, v -> v, (p1, p2) -> p1));
-        Map<String, DlycDTO> dlycMap = dlycList.stream()
-            .collect(Collectors.toMap(DlycDTO::getGq, v -> v, (p1, p2) -> p1));
-        Set<String> gqFlag = new HashSet<>();
-        for(DlycDTO bdDto : bdycList){
-            if(gqFlag.contains(bdDto.getGq())){
-                continue;
-            }
-            gqFlag.add(bdDto.getGq());
-            DlycDTO dlDto = dlycMap.get(bdDto.getGq());
-            List<SeriesDTO> series = listSeries(xAxis, bdDto, dlDto);
-            chartList.add(createChartVO(xAxis, series, bdDto.getGq()));
-        }
-
-        for(DlycDTO dlDto : dlycList){
-            if(gqFlag.contains(dlDto.getGq())){
-                continue;
-            }
-            gqFlag.add(dlDto.getGq());
-            DlycDTO bdDto = bdycMap.get(dlDto.getGq());
-            List<SeriesDTO> series = listSeries(xAxis, bdDto, dlDto);
-            chartList.add(createChartVO(xAxis, series, dlDto.getGq()));
-        }
-
-        return chartList;
-    }
-
-    private List<SeriesDTO> listSeries(List<String> xAxis, DlycDTO bdDto, DlycDTO dlDto){
-        List<Integer> dlData = getSeries(dlDto);
-        List<Integer> bdData = getSeries(bdDto);
-
-        List<SeriesDTO> series = new ArrayList<>();
-        SeriesDTO zs = createSeriesDTO(xAxis, bdData, "变电");
-        SeriesDTO yt = createSeriesDTO(xAxis, dlData, "电力");
-        series.add(zs);
-        series.add(yt);
-
-        return series;
-    }
-
-    private List<Integer> getSeries(DlycDTO dto){
-        List<Integer> data = new ArrayList<>();
-        if(null != dto){
-            data.add(null == dto.getDj1() ? 0 : dto.getDj1());
-            data.add(null == dto.getDj2() ? 0 : dto.getDj2());
-            data.add(null == dto.getDj3() ? 0 : dto.getDj3());
-        }else {
-            data.add(0);
-            data.add(0);
-            data.add(0);
-        }
-        return data;
+  private final ShowBdycMapper bdycMapper;
+  private final ShowDlycMapper dlycMapper;
+  private final ShowBpdjxjhMapper bpdjxjhMapper;
+  private final ShowSbxjMapper sbxjMapper;
+
+  public ChartServiceImpl(ShowBdycMapper bdycMapper, ShowDlycMapper dlycMapper,
+      ShowBpdjxjhMapper bpdjxjhMapper, ShowSbxjMapper sbxjMapper) {
+    this.bdycMapper = bdycMapper;
+    this.dlycMapper = dlycMapper;
+    this.bpdjxjhMapper = bpdjxjhMapper;
+    this.sbxjMapper = sbxjMapper;
+  }
+
+  /**
+   * 重要待办事项
+   *
+   * @return 待办事项统计
+   */
+  @Override
+  public TodoListVO todoList() {
+    // TODO
+    TodoListVO todoList = new TodoListVO();
+    todoList.setYdts(1);
+    todoList.setDlsdxl(1);
+    todoList.setDlsbxj(1);
+    todoList.setDlbpds(1);
+    todoList.setBdsdsy(1);
+    return todoList;
+  }
+
+  /**
+   * 获取地图上的图表数据
+   *
+   * @return 图表数据对象
+   */
+  @Override
+  public List<ChartVO> getChartInMap(String date) {
+
+    List<ChartVO> chartList = new ArrayList<>();
+
+    List<String> xAxis = new ArrayList<>();
+    xAxis.add("变电");
+    xAxis.add("电力");
+
+    List<DlycDTO> bdycList = bdycMapper.totalByDay(date);
+    List<DlycDTO> dlycList = dlycMapper.totalByDay(date);
+    Map<String, DlycDTO> bdycMap = bdycList.stream()
+        .collect(Collectors.toMap(DlycDTO::getGq, v -> v, (p1, p2) -> p1));
+    Map<String, DlycDTO> dlycMap = dlycList.stream()
+        .collect(Collectors.toMap(DlycDTO::getGq, v -> v, (p1, p2) -> p1));
+    Set<String> gqFlag = new HashSet<>();
+    for (DlycDTO bdDto : bdycList) {
+      if (gqFlag.contains(bdDto.getGq())) {
+        continue;
+      }
+      gqFlag.add(bdDto.getGq());
+      DlycDTO dlDto = dlycMap.get(bdDto.getGq());
+      List<SeriesDTO> series = listSeries(xAxis, bdDto, dlDto);
+      chartList.add(createChartVO(xAxis, series, bdDto.getGq()));
     }
 
-    /**
-     * 获取地图上的图表数据
-     *
-     * @return 图表数据对象
-     */
-    @Override
-    public ChartVO getTableInMap() {
-        List<String> xAxis = new ArrayList<>();
-        xAxis.add("一级");
-        xAxis.add("二级");
-        xAxis.add("三级");
-
-        List<Integer> zsData = new ArrayList<>();
-        zsData.add(0);
-        zsData.add(10);
-        zsData.add(0);
-
-        List<Integer> ytData = new ArrayList<>();
-        ytData.add(6);
-        ytData.add(42);
-        ytData.add(9);
-
-        List<SeriesDTO> series = new ArrayList<>();
-        SeriesDTO zs = createSeriesDTO(xAxis, zsData, "变电");
-        SeriesDTO yt = createSeriesDTO(xAxis, ytData, "电力");
-        series.add(zs);
-        series.add(yt);
-
-        String name = "今日遗留";
-        return createChartVO(xAxis, series, name);
+    for (DlycDTO dlDto : dlycList) {
+      if (gqFlag.contains(dlDto.getGq())) {
+        continue;
+      }
+      gqFlag.add(dlDto.getGq());
+      DlycDTO bdDto = bdycMap.get(dlDto.getGq());
+      List<SeriesDTO> series = listSeries(xAxis, bdDto, dlDto);
+      chartList.add(createChartVO(xAxis, series, dlDto.getGq()));
     }
 
-    /**
-     * 获取检修兑现情况图表数据
-     *
-     * @return 图表数据对象
-     */
-    @Override
-    public ChartVO getChartJxdxqk() {
-        String [] xAxis = new String[]{"检修兑现情况"};
-
-        List<Integer> jhData = new ArrayList<>();
-        jhData.add(31);
-        List<Integer> wcData = new ArrayList<>();
-        wcData.add(50);
-
-        List<SeriesDTO> series = new ArrayList<>();
-        SeriesDTO jh = createSeriesDTO(xAxis, jhData, "检修");
-        SeriesDTO wc = createSeriesDTO(xAxis, wcData, "剩余");
-        series.add(jh);
-        series.add(wc);
-
-        String name = "检修兑现情况";
-        return createChartVO(xAxis, series, name);
+    return chartList;
+  }
+
+  private List<SeriesDTO> listSeries(List<String> xAxis, DlycDTO bdDto, DlycDTO dlDto) {
+    List<Integer> dlData = getSeries(dlDto);
+    List<Integer> bdData = getSeries(bdDto);
+
+    List<SeriesDTO> series = new ArrayList<>();
+    SeriesDTO zs = createSeriesDTO(xAxis, bdData, "变电");
+    SeriesDTO yt = createSeriesDTO(xAxis, dlData, "电力");
+    series.add(zs);
+    series.add(yt);
+
+    return series;
+  }
+
+  private List<Integer> getSeries(DlycDTO dto) {
+    List<Integer> data = new ArrayList<>();
+    if (null != dto) {
+      data.add(null == dto.getDj1() ? 0 : dto.getDj1());
+      data.add(null == dto.getDj2() ? 0 : dto.getDj2());
+      data.add(null == dto.getDj3() ? 0 : dto.getDj3());
+    } else {
+      data.add(0);
+      data.add(0);
+      data.add(0);
     }
-
-    /**
-     * 获取检修本月兑现情况图表数据
-     *
-     * @return 图表数据对象
-     */
-    @Override
-    public ChartVO getChartJxdxqkby() {
-        String [] xAxis = new String[]{"检修本月兑现情况"};
-
-        List<Integer> jhData = new ArrayList<>();
-        jhData.add(7);
-        List<Integer> wcData = new ArrayList<>();
-        wcData.add(4);
-
-        List<SeriesDTO> series = new ArrayList<>();
-        SeriesDTO jh = createSeriesDTO(xAxis, jhData, "检修");
-        SeriesDTO wc = createSeriesDTO(xAxis, wcData, "剩余");
-        series.add(jh);
-        series.add(wc);
-
-        String name = "检修本月兑现情况";
-        return createChartVO(xAxis, series, name);
-    }
-
-    /**
-     * 获取试验计划兑现情况图表数据
-     *
-     * @return 图表数据对象
-     */
-    @Override
-    public ChartVO getChartSyjhdxqk() {
-        List<String> xAxis = createYearAxis();
-
-        List<Integer> kgfhjhData = new ArrayList<>();
-        kgfhjhData.add(145);
-        kgfhjhData.add(655);
-        kgfhjhData.add(606);
-        kgfhjhData.add(353);
-
-        List<Integer> kgfhwcData = new ArrayList<>();
-        kgfhwcData.add(29);
-        kgfhwcData.add(390);
-        kgfhwcData.add(675);
-        kgfhwcData.add(301);
-
-        List<Integer> dtjhData = new ArrayList<>();
-        dtjhData.add(127);
-        dtjhData.add(597);
-        dtjhData.add(608);
-        dtjhData.add(297);
-
-        List<Integer> dtwcData = new ArrayList<>();
-        dtwcData.add(38);
-        dtwcData.add(425);
-        dtwcData.add(689);
-        dtwcData.add(401);
-
-        List<SeriesDTO> series = new ArrayList<>();
-        SeriesDTO kgfhjh = createSeriesDTO(xAxis, kgfhjhData, "开关分合计划");
-        SeriesDTO kgfhwc = createSeriesDTO(xAxis, kgfhwcData, "开关分合完成");
-        SeriesDTO dtjh = createSeriesDTO(xAxis, dtjhData, "单体计划");
-        SeriesDTO dtwc = createSeriesDTO(xAxis, dtwcData, "单体完成");
-        series.add(kgfhjh);
-        series.add(kgfhwc);
-        series.add(dtjh);
-        series.add(dtwc);
-
-        String name = "试验计划兑现情况";
-        return createChartVO(xAxis, series, name);
-    }
-
-    /**
-     * 获取试验计划本月兑现情况图表数据
-     *
-     * @return 图表数据对象
-     */
-    @Override
-    public ChartVO getChartSyjhbydxqk() {
-        String [] xAxis = new String[]{"本月"};
-
-        List<Integer> kgfhbyjhData = new ArrayList<>();
-        kgfhbyjhData.add(142);
-        List<Integer> kgfhbywcData = new ArrayList<>();
-        kgfhbywcData.add(103);
-
-        List<Integer> kgfhbzjhData = new ArrayList<>();
-        kgfhbzjhData.add(14);
-        List<Integer> kgfhbzwcData = new ArrayList<>();
-        kgfhbzwcData.add(14);
-
-        List<Integer> dtbyjhData = new ArrayList<>();
-        dtbyjhData.add(155);
-        List<Integer> dtbywcData = new ArrayList<>();
-        dtbywcData.add(155);
-
-        List<Integer> dtbzjhData = new ArrayList<>();
-        dtbzjhData.add(4);
-        List<Integer> dtbzwcData = new ArrayList<>();
-        dtbzwcData.add(4);
-
-        List<SeriesDTO> series = new ArrayList<>();
-        SeriesDTO kgfhbyjh = createSeriesDTO(xAxis, kgfhbyjhData, "开关分合本月计划");
-        SeriesDTO kgfhbywc = createSeriesDTO(xAxis, kgfhbywcData, "开关分合本月完成");
-        SeriesDTO kgfhbzjh = createSeriesDTO(xAxis, kgfhbzjhData, "开关分合本周计划");
-        SeriesDTO kgfhbzwc = createSeriesDTO(xAxis, kgfhbzwcData, "开关分合本周完成");
-        SeriesDTO dtbyjh = createSeriesDTO(xAxis, dtbyjhData, "单体本月计划");
-        SeriesDTO dtbywc = createSeriesDTO(xAxis, dtbywcData, "单体本月完成");
-        SeriesDTO dtbzjh = createSeriesDTO(xAxis, dtbzjhData, "单体本周计划");
-        SeriesDTO dtbzwc = createSeriesDTO(xAxis, dtbzwcData, "单体本周完成");
-
-        series.add(kgfhbyjh);
-        series.add(kgfhbywc);
-        series.add(kgfhbzjh);
-        series.add(kgfhbzwc);
-        series.add(dtbyjh);
-        series.add(dtbywc);
-        series.add(dtbzjh);
-        series.add(dtbzwc);
-
-        String name = "试验计划兑现情况";
-        return createChartVO(xAxis, series, name);
-    }
-
-    /**
-     * 获取电力远动调试图表数据
-     *
-     * @return 图表数据对象
-     */
-    @Override
-    public ChartVO getChartDlydts() {
-        List<String> xAxis = createYearAxis();
-
-        List<Integer> jhData = new ArrayList<>();
-        jhData.add(12);
-        jhData.add(100);
-        jhData.add(150);
-        jhData.add(22);
-
-        List<Integer> wcData = new ArrayList<>();
-        wcData.add(16);
-        wcData.add(110);
-        wcData.add(140);
-        wcData.add(28);
-
-        List<SeriesDTO> series = new ArrayList<>();
-        SeriesDTO jh = createSeriesDTO(xAxis, jhData, "计划");
-        SeriesDTO wc = createSeriesDTO(xAxis, wcData, "完成");
-        series.add(jh);
-        series.add(wc);
-
-        String name = "电力远动调试";
-        return createChartVO(xAxis, series, name);
-    }
-
-    /**
-     * 获取电力受电线路图表数据
-     *
-     * @return 图表数据对象
-     */
-    @Override
-    public ChartVO getChartDlsdxl() {
-        List<String> xAxis = createYearAxis();
-
-        List<Integer> jhData = new ArrayList<>();
-        jhData.add(9);
-        jhData.add(10);
-        jhData.add(15);
-        jhData.add(6);
-
-        List<Integer> wcData = new ArrayList<>();
-        wcData.add(9);
-        wcData.add(11);
-        wcData.add(13);
-        wcData.add(5);
-
-        List<SeriesDTO> series = new ArrayList<>();
-        SeriesDTO jh = createSeriesDTO(xAxis, jhData, "计划");
-        SeriesDTO wc = createSeriesDTO(xAxis, wcData, "完成");
-        series.add(jh);
-        series.add(wc);
-
-        String name = "电力受电线路";
-        return createChartVO(xAxis, series, name);
-    }
-
-    /**
-     * 获取电力变配电所图表数据
-     *
-     * @return 图表数据对象
-     */
-    @Override
-    public ChartVO getChartDlbpds() {
-        List<String> xAxis = createYearAxis();
-
-        List<Integer> jhData = new ArrayList<>();
-        jhData.add(6);
-        jhData.add(7);
-        jhData.add(7);
-        jhData.add(6);
-
-        List<Integer> wcData = new ArrayList<>();
-        wcData.add(6);
-        wcData.add(8);
-        wcData.add(6);
-        wcData.add(3);
-
-        List<SeriesDTO> series = new ArrayList<>();
-        SeriesDTO jh = createSeriesDTO(xAxis, jhData, "计划");
-        SeriesDTO wc = createSeriesDTO(xAxis, wcData, "完成");
-        series.add(jh);
-        series.add(wc);
-
-        String name = "电力变配电所";
-        return createChartVO(xAxis, series, name);
+    return data;
+  }
+
+  /**
+   * 获取地图上的图表数据
+   *
+   * @return 图表数据对象
+   */
+  @Override
+  public ChartVO getTableInMap() {
+    // TODO
+    List<String> xAxis = new ArrayList<>();
+    xAxis.add("一级");
+    xAxis.add("二级");
+    xAxis.add("三级");
+
+    List<Integer> zsData = new ArrayList<>();
+    zsData.add(0);
+    zsData.add(10);
+    zsData.add(0);
+
+    List<Integer> ytData = new ArrayList<>();
+    ytData.add(6);
+    ytData.add(42);
+    ytData.add(9);
+
+    List<SeriesDTO> series = new ArrayList<>();
+    SeriesDTO zs = createSeriesDTO(xAxis, zsData, "变电");
+    SeriesDTO yt = createSeriesDTO(xAxis, ytData, "电力");
+    series.add(zs);
+    series.add(yt);
+
+    String name = "今日遗留";
+    return createChartVO(xAxis, series, name);
+  }
+
+  /**
+   * 获取检修兑现情况图表数据
+   *
+   * @return 图表数据对象
+   */
+  @Override
+  public ChartVO getChartJxdxqk() {
+    String[] xAxis = new String[]{"检修兑现情况"};
+    String name = "检修兑现情况";
+    return getChartJxdxqk(xAxis, name, null);
+  }
+
+  /**
+   * 获取检修本月兑现情况图表数据
+   *
+   * @return 图表数据对象
+   */
+  @Override
+  public ChartVO getChartJxdxqkby() {
+    String[] xAxis = new String[]{"检修本月兑现情况"};
+    String name = "检修本月兑现情况";
+    int month = Calendar.getInstance().get(Calendar.MONTH) + 1;
+    return getChartJxdxqk(xAxis, name, String.valueOf(month));
+  }
+
+  private ChartVO getChartJxdxqk(String[] xAxis, String chartName, String month) {
+    int plan = bpdjxjhMapper.getPlan(month);
+    int actual = bpdjxjhMapper.getActual(month);
+    List<Integer> jhData = new ArrayList<>();
+    jhData.add(plan);
+    List<Integer> wcData = new ArrayList<>();
+    wcData.add(actual);
+
+    List<SeriesDTO> series = new ArrayList<>();
+    SeriesDTO jh = createSeriesDTO(xAxis, jhData, "检修");
+    SeriesDTO wc = createSeriesDTO(xAxis, wcData, "剩余");
+    series.add(jh);
+    series.add(wc);
+
+    return createChartVO(xAxis, series, chartName);
+  }
+
+  /**
+   * 获取试验计划兑现情况图表数据
+   *
+   * @return 图表数据对象
+   */
+  @Override
+  public ChartVO getChartSyjhdxqk() {
+    // TODO
+    List<String> xAxis = createYearAxis();
+
+    List<Integer> kgfhjhData = new ArrayList<>();
+    kgfhjhData.add(145);
+    kgfhjhData.add(655);
+    kgfhjhData.add(606);
+    kgfhjhData.add(353);
+
+    List<Integer> kgfhwcData = new ArrayList<>();
+    kgfhwcData.add(29);
+    kgfhwcData.add(390);
+    kgfhwcData.add(675);
+    kgfhwcData.add(301);
+
+    List<Integer> dtjhData = new ArrayList<>();
+    dtjhData.add(127);
+    dtjhData.add(597);
+    dtjhData.add(608);
+    dtjhData.add(297);
+
+    List<Integer> dtwcData = new ArrayList<>();
+    dtwcData.add(38);
+    dtwcData.add(425);
+    dtwcData.add(689);
+    dtwcData.add(401);
+
+    List<SeriesDTO> series = new ArrayList<>();
+    SeriesDTO kgfhjh = createSeriesDTO(xAxis, kgfhjhData, "开关分合计划");
+    SeriesDTO kgfhwc = createSeriesDTO(xAxis, kgfhwcData, "开关分合完成");
+    SeriesDTO dtjh = createSeriesDTO(xAxis, dtjhData, "单体计划");
+    SeriesDTO dtwc = createSeriesDTO(xAxis, dtwcData, "单体完成");
+    series.add(kgfhjh);
+    series.add(kgfhwc);
+    series.add(dtjh);
+    series.add(dtwc);
+
+    String name = "试验计划兑现情况";
+    return createChartVO(xAxis, series, name);
+  }
+
+  /**
+   * 获取试验计划本月兑现情况图表数据
+   *
+   * @return 图表数据对象
+   */
+  @Override
+  public ChartVO getChartSyjhbydxqk() {
+    // TODO
+    String[] xAxis = new String[]{"本月"};
+
+    List<Integer> kgfhbyjhData = new ArrayList<>();
+    kgfhbyjhData.add(142);
+    List<Integer> kgfhbywcData = new ArrayList<>();
+    kgfhbywcData.add(103);
+
+    List<Integer> kgfhbzjhData = new ArrayList<>();
+    kgfhbzjhData.add(14);
+    List<Integer> kgfhbzwcData = new ArrayList<>();
+    kgfhbzwcData.add(14);
+
+    List<Integer> dtbyjhData = new ArrayList<>();
+    dtbyjhData.add(155);
+    List<Integer> dtbywcData = new ArrayList<>();
+    dtbywcData.add(155);
+
+    List<Integer> dtbzjhData = new ArrayList<>();
+    dtbzjhData.add(4);
+    List<Integer> dtbzwcData = new ArrayList<>();
+    dtbzwcData.add(4);
+
+    List<SeriesDTO> series = new ArrayList<>();
+    SeriesDTO kgfhbyjh = createSeriesDTO(xAxis, kgfhbyjhData, "开关分合本月计划");
+    SeriesDTO kgfhbywc = createSeriesDTO(xAxis, kgfhbywcData, "开关分合本月完成");
+    SeriesDTO kgfhbzjh = createSeriesDTO(xAxis, kgfhbzjhData, "开关分合本周计划");
+    SeriesDTO kgfhbzwc = createSeriesDTO(xAxis, kgfhbzwcData, "开关分合本周完成");
+    SeriesDTO dtbyjh = createSeriesDTO(xAxis, dtbyjhData, "单体本月计划");
+    SeriesDTO dtbywc = createSeriesDTO(xAxis, dtbywcData, "单体本月完成");
+    SeriesDTO dtbzjh = createSeriesDTO(xAxis, dtbzjhData, "单体本周计划");
+    SeriesDTO dtbzwc = createSeriesDTO(xAxis, dtbzwcData, "单体本周完成");
+
+    series.add(kgfhbyjh);
+    series.add(kgfhbywc);
+    series.add(kgfhbzjh);
+    series.add(kgfhbzwc);
+    series.add(dtbyjh);
+    series.add(dtbywc);
+    series.add(dtbzjh);
+    series.add(dtbzwc);
+
+    String name = "试验计划兑现情况";
+    return createChartVO(xAxis, series, name);
+  }
+
+  /**
+   * 获取电力远动调试图表数据
+   *
+   * @return 图表数据对象
+   */
+  @Override
+  public ChartVO getChartDlydts() {
+    // TODO
+    List<String> xAxis = createYearAxis();
+
+    List<Integer> jhData = new ArrayList<>();
+    jhData.add(12);
+    jhData.add(100);
+    jhData.add(150);
+    jhData.add(22);
+
+    List<Integer> wcData = new ArrayList<>();
+    wcData.add(16);
+    wcData.add(110);
+    wcData.add(140);
+    wcData.add(28);
+
+    List<SeriesDTO> series = new ArrayList<>();
+    SeriesDTO jh = createSeriesDTO(xAxis, jhData, "计划");
+    SeriesDTO wc = createSeriesDTO(xAxis, wcData, "完成");
+    series.add(jh);
+    series.add(wc);
+
+    String name = "电力远动调试";
+    return createChartVO(xAxis, series, name);
+  }
+
+  /**
+   * 获取电力受电线路图表数据
+   *
+   * @return 图表数据对象
+   */
+  @Override
+  public ChartVO getChartDlsdxl() {
+    // TODO
+    List<String> xAxis = createYearAxis();
+
+    List<Integer> jhData = new ArrayList<>();
+    jhData.add(9);
+    jhData.add(10);
+    jhData.add(15);
+    jhData.add(6);
+
+    List<Integer> wcData = new ArrayList<>();
+    wcData.add(9);
+    wcData.add(11);
+    wcData.add(13);
+    wcData.add(5);
+
+    List<SeriesDTO> series = new ArrayList<>();
+    SeriesDTO jh = createSeriesDTO(xAxis, jhData, "计划");
+    SeriesDTO wc = createSeriesDTO(xAxis, wcData, "完成");
+    series.add(jh);
+    series.add(wc);
+
+    String name = "电力受电线路";
+    return createChartVO(xAxis, series, name);
+  }
+
+  /**
+   * 获取电力变配电所图表数据
+   *
+   * @return 图表数据对象
+   */
+  @Override
+  public ChartVO getChartDlbpds() {
+    // TODO
+    List<String> xAxis = createYearAxis();
+
+    List<Integer> jhData = new ArrayList<>();
+    jhData.add(6);
+    jhData.add(7);
+    jhData.add(7);
+    jhData.add(6);
+
+    List<Integer> wcData = new ArrayList<>();
+    wcData.add(6);
+    wcData.add(8);
+    wcData.add(6);
+    wcData.add(3);
+
+    List<SeriesDTO> series = new ArrayList<>();
+    SeriesDTO jh = createSeriesDTO(xAxis, jhData, "计划");
+    SeriesDTO wc = createSeriesDTO(xAxis, wcData, "完成");
+    series.add(jh);
+    series.add(wc);
+
+    String name = "电力变配电所";
+    return createChartVO(xAxis, series, name);
+  }
+
+  /**
+   * 获取电力远动调试本月兑现情况图表数据
+   *
+   * @return 图表数据对象
+   */
+  @Override
+  public ChartVO getChartDlydtsby() {
+    // TODO
+    String[] xAxis = new String[]{"远动调试"};
+
+    List<Integer> jhData = new ArrayList<>();
+    jhData.add(12);
+
+    List<Integer> wcData = new ArrayList<>();
+    wcData.add(4);
+
+    List<SeriesDTO> series = new ArrayList<>();
+    SeriesDTO jh = createSeriesDTO(xAxis, jhData, "本月计划");
+    SeriesDTO wc = createSeriesDTO(xAxis, wcData, "本月完成");
+    series.add(jh);
+    series.add(wc);
+
+    String name = "电力远动调试";
+    return createChartVO(xAxis, series, name);
+  }
+
+  /**
+   * 获取电力受电线路本月兑现情况图表数据
+   *
+   * @return 图表数据对象
+   */
+  @Override
+  public ChartVO getChartDlsdxlby() {
+    // TODO
+    String[] xAxis = new String[]{"电力受电线路"};
+
+    List<Integer> jhData = new ArrayList<>();
+    jhData.add(7);
+
+    List<Integer> wcData = new ArrayList<>();
+    wcData.add(0);
+
+    List<SeriesDTO> series = new ArrayList<>();
+    SeriesDTO jh = createSeriesDTO(xAxis, jhData, "本月计划");
+    SeriesDTO wc = createSeriesDTO(xAxis, wcData, "本月完成");
+    series.add(jh);
+    series.add(wc);
+
+    String name = "电力受电线路";
+    return createChartVO(xAxis, series, name);
+  }
+
+  /**
+   * 获取电力变配电所本月兑现情况图表数据
+   *
+   * @return 图表数据对象
+   */
+  @Override
+  public ChartVO getChartDlbpdsby() {
+    // TODO
+    String[] xAxis = new String[]{"电力变配电所"};
+
+    List<Integer> jhData = new ArrayList<>();
+    jhData.add(4);
+
+    List<Integer> wcData = new ArrayList<>();
+    wcData.add(0);
+
+    List<SeriesDTO> series = new ArrayList<>();
+    SeriesDTO jh = createSeriesDTO(xAxis, jhData, "本月计划");
+    SeriesDTO wc = createSeriesDTO(xAxis, wcData, "本月完成");
+    series.add(jh);
+    series.add(wc);
+
+    String name = "电力变配电所";
+    return createChartVO(xAxis, series, name);
+  }
+
+  /**
+   * 获取牵变、电力设备巡检兑现(本月)图表数据
+   *
+   * @return 图表数据对象
+   */
+  @Override
+  public ChartVO getChartQbdlsbxjdx() {
+    int month = Calendar.getInstance().get(Calendar.MONTH) + 1;
+    List<SbxjVO> sbxjList = sbxjMapper.getTotal(month);
+    int jh1 = 0, jh2 = 0, jh3 = 0, jh4 = 0, jh5 = 0;
+    int wc1 = 0, wc2 = 0, wc3 = 0, wc4 = 0, wc5 = 0;
+    for(SbxjVO sbxj : sbxjList){
+      switch (sbxj.getSbmc()){
+        case "单元":
+          jh1 = sbxj.getPlan();
+          wc1 = sbxj.getActual();
+          break;
+        case "变电所":
+          jh2 = sbxj.getPlan();
+          wc2 = sbxj.getActual();
+          break;
+        case "配电所":
+          jh3 = sbxj.getPlan();
+          wc3 = sbxj.getActual();
+          break;
+        case "电源线":
+          jh3 = sbxj.getPlan();
+          wc4 = sbxj.getActual();
+          break;
+        case "箱变":
+          jh5 = sbxj.getPlan();
+          wc5 = sbxj.getActual();
+          break;
+        default:
+          break;
+      }
     }
 
-    /**
-     * 获取电力远动调试本月兑现情况图表数据
-     *
-     * @return 图表数据对象
-     */
-    @Override
-    public ChartVO getChartDlydtsby() {
-        String [] xAxis = new String[]{"远动调试"};
-
-        List<Integer> jhData = new ArrayList<>();
-        jhData.add(12);
-
-        List<Integer> wcData = new ArrayList<>();
-        wcData.add(4);
-
-        List<SeriesDTO> series = new ArrayList<>();
-        SeriesDTO jh = createSeriesDTO(xAxis, jhData, "本月计划");
-        SeriesDTO wc = createSeriesDTO(xAxis, wcData, "本月完成");
-        series.add(jh);
-        series.add(wc);
-
-        String name = "电力远动调试";
-        return createChartVO(xAxis, series, name);
-    }
-
-    /**
-     * 获取电力受电线路本月兑现情况图表数据
-     *
-     * @return 图表数据对象
-     */
-    @Override
-    public ChartVO getChartDlsdxlby() {
-        String [] xAxis = new String[]{"电力受电线路"};
-
-        List<Integer> jhData = new ArrayList<>();
-        jhData.add(7);
-
-        List<Integer> wcData = new ArrayList<>();
-        wcData.add(0);
-
-        List<SeriesDTO> series = new ArrayList<>();
-        SeriesDTO jh = createSeriesDTO(xAxis, jhData, "本月计划");
-        SeriesDTO wc = createSeriesDTO(xAxis, wcData, "本月完成");
-        series.add(jh);
-        series.add(wc);
-
-        String name = "电力受电线路";
-        return createChartVO(xAxis, series, name);
-    }
-
-    /**
-     * 获取电力变配电所本月兑现情况图表数据
-     *
-     * @return 图表数据对象
-     */
-    @Override
-    public ChartVO getChartDlbpdsby() {
-        String [] xAxis = new String[]{"电力变配电所"};
-
-        List<Integer> jhData = new ArrayList<>();
-        jhData.add(4);
-
-        List<Integer> wcData = new ArrayList<>();
-        wcData.add(0);
-
-        List<SeriesDTO> series = new ArrayList<>();
-        SeriesDTO jh = createSeriesDTO(xAxis, jhData, "本月计划");
-        SeriesDTO wc = createSeriesDTO(xAxis, wcData, "本月完成");
-        series.add(jh);
-        series.add(wc);
-
-        String name = "电力变配电所";
-        return createChartVO(xAxis, series, name);
-    }
-
-    /**
-     * 获取牵变、电力设备巡检兑现(本月)图表数据
-     *
-     * @return 图表数据对象
-     */
-    @Override
-    public ChartVO getChartQbdlsbxjdx() {
-        List<String> xAxis = new ArrayList<>();
-        xAxis.add("单元");
-        xAxis.add("变电所");
-        xAxis.add("配电所");
-        xAxis.add("电源线");
-        xAxis.add("箱变");
-
-        List<Integer> jhData = new ArrayList<>();
-        jhData.add(64);
-        jhData.add(88);
-        jhData.add(90);
-        jhData.add(73);
-        jhData.add(98);
-
-        List<Integer> wcData = new ArrayList<>();
-        wcData.add(61);
-        wcData.add(76);
-        wcData.add(82);
-        wcData.add(76);
-        wcData.add(92);
-
-        List<SeriesDTO> series = new ArrayList<>();
-        SeriesDTO jh = createSeriesDTO(xAxis, jhData, "计划");
-        SeriesDTO wc = createSeriesDTO(xAxis, wcData, "完成");
-        series.add(jh);
-        series.add(wc);
-
-        String name = "牵变、电力设备巡检兑现(本月)";
-        return createChartVO(xAxis, series, name);
-    }
-
-    private List<String> createYearAxis(){
-        List<String> xAxis = new ArrayList<>();
-        xAxis.add("一季度");
-        xAxis.add("二季度");
-        xAxis.add("三季度");
-        xAxis.add("四季度");
-        return xAxis;
-    }
-
-    private SeriesDTO createSeriesDTO(List<String> xAxis, List<Integer> data, String name){
-        int size = xAxis.size();
-        return createSeriesDTO(data, name, size);
-    }
-
-    private SeriesDTO createSeriesDTO(String [] xAxisArray, List<Integer> data, String name){
-        int size = xAxisArray.length;
-        return createSeriesDTO(data, name, size);
-    }
-
-    private SeriesDTO createSeriesDTO(List<Integer> data, String name, int size){
-        SeriesDTO dto = new SeriesDTO();
-        dto.setData(data.toArray(new Integer[size]));
-        dto.setName(name);
-        return dto;
-    }
-
-    private ChartVO createChartVO(List<String> xAxis, List<SeriesDTO> series, String name){
-        String[] xAxisArray = new String[xAxis.size()];
-        xAxis.toArray(xAxisArray);
-        return createChartVO(xAxisArray, series, name);
-    }
-
-    private ChartVO createChartVO(String [] xAxisArray, List<SeriesDTO> series, String name){
-        ChartVO chart = new ChartVO();
-        chart.setXAxis(xAxisArray);
-
-        SeriesDTO[] seriesArray = new SeriesDTO[series.size()];
-        series.toArray(seriesArray);
-        chart.setSeries(seriesArray);
-
-        chart.setTitle(name);
-        return chart;
-    }
+    List<String> xAxis = new ArrayList<>();
+    xAxis.add("单元");
+    xAxis.add("变电所");
+    xAxis.add("配电所");
+    xAxis.add("电源线");
+    xAxis.add("箱变");
+
+    List<Integer> jhData = new ArrayList<>();
+    jhData.add(jh1);
+    jhData.add(jh2);
+    jhData.add(jh3);
+    jhData.add(jh4);
+    jhData.add(jh5);
+
+    List<Integer> wcData = new ArrayList<>();
+    wcData.add(wc1);
+    wcData.add(wc2);
+    wcData.add(wc3);
+    wcData.add(wc4);
+    wcData.add(wc5);
+
+    List<SeriesDTO> series = new ArrayList<>();
+    SeriesDTO jh = createSeriesDTO(xAxis, jhData, "计划");
+    SeriesDTO wc = createSeriesDTO(xAxis, wcData, "完成");
+    series.add(jh);
+    series.add(wc);
+
+    String name = "牵变、电力设备巡检兑现(本月)";
+    return createChartVO(xAxis, series, name);
+  }
+
+  private List<String> createYearAxis() {
+    List<String> xAxis = new ArrayList<>();
+    xAxis.add("一季度");
+    xAxis.add("二季度");
+    xAxis.add("三季度");
+    xAxis.add("四季度");
+    return xAxis;
+  }
+
+  private SeriesDTO createSeriesDTO(List<String> xAxis, List<Integer> data, String name) {
+    int size = xAxis.size();
+    return createSeriesDTO(data, name, size);
+  }
+
+  private SeriesDTO createSeriesDTO(String[] xAxisArray, List<Integer> data, String name) {
+    int size = xAxisArray.length;
+    return createSeriesDTO(data, name, size);
+  }
+
+  private SeriesDTO createSeriesDTO(List<Integer> data, String name, int size) {
+    SeriesDTO dto = new SeriesDTO();
+    dto.setData(data.toArray(new Integer[size]));
+    dto.setName(name);
+    return dto;
+  }
+
+  private ChartVO createChartVO(List<String> xAxis, List<SeriesDTO> series, String name) {
+    String[] xAxisArray = new String[xAxis.size()];
+    xAxis.toArray(xAxisArray);
+    return createChartVO(xAxisArray, series, name);
+  }
+
+  private ChartVO createChartVO(String[] xAxisArray, List<SeriesDTO> series, String name) {
+    ChartVO chart = new ChartVO();
+    chart.setXAxis(xAxisArray);
+
+    SeriesDTO[] seriesArray = new SeriesDTO[series.size()];
+    series.toArray(seriesArray);
+    chart.setSeries(seriesArray);
+
+    chart.setTitle(name);
+    return chart;
+  }
 }

+ 20 - 0
railway-business/src/main/resources/mapper/bi/ShowBpdjxjhMapper.xml

@@ -165,4 +165,24 @@
     </where>
   </select>
 
+  <select id="getPlan" resultType="java.lang.Integer">
+    select count(*) from show_bpdjxjh
+    <where>
+      del_flag='0'
+      <if test="jhMonth!=null and jhMonth!=''">
+        and jh_month like concat('%', #{jhMonth})
+      </if>
+    </where>
+  </select>
+
+  <select id="getActual" resultType="java.lang.Integer">
+    select count(*) from show_bpdjxjh
+    <where>
+      del_flag='0' and completion_state = '1'
+      <if test="month!=null and month!=''">
+        and LPAD(MONTH(completion_date), 2, 0) like concat('%', #{month})
+      </if>
+    </where>
+  </select>
+
 </mapper>

+ 40 - 2
railway-business/src/main/resources/mapper/bi/ShowSbxjMapper.xml

@@ -376,7 +376,6 @@
     <include refid="Base_Column_List"/>
     FROM show_sbxj
     WHERE del_flag='0' and id = #{id}
-
   </select>
 
   <select id="getList" resultMap="BaseResultMap">
@@ -468,7 +467,7 @@
 
     select dept_name,
     team_name,
-    '10/0.4变电所' as sbmc,
+    '变电所' as sbmc,
     sum(bds) as total,
     sum(plan) as planTotal,
     sum(actual) as actualTotal,
@@ -558,4 +557,43 @@
     group by dept_name, team_name
   </select>
 
+  <select id="getChartDlydtsby" resultType="com.railway.business.bi.domain.vo.ChartVO">
+
+  </select>
+
+  <select id="getChartDlsdxlby" resultType="com.railway.business.bi.domain.vo.ChartVO">
+    select dept_name,
+    team_name,
+    '受电线路' as sbmc,
+    sum(sdxl) as total,
+    sum(plan) as planTotal,
+    sum(actual) as actualTotal,
+    round(sum(actual) * 100 / sum(plan)) as dx
+    from (select dept_name,
+    team_name,
+    sdxl,
+    case when plan is not null then 1 else 0 end as plan,
+    case when actual is not null then 1 else 0 end as actual
+    from (select dept_name, team_name, sdxl,
+    <if test="month==1">plan1 as plan, actual1 as actual</if>
+    <if test="month==2">plan2 as plan, actual2 as actual</if>
+    <if test="month==3">plan3 as plan, actual3 as actual</if>
+    <if test="month==4">plan4 as plan, actual4 as actual</if>
+    <if test="month==5">plan5 as plan, actual5 as actual</if>
+    <if test="month==6">plan6 as plan, actual6 as actual</if>
+    <if test="month==7">plan7 as plan, actual7 as actual</if>
+    <if test="month==8">plan8 as plan, actual8 as actual</if>
+    <if test="month==9">plan9 as plan, actual9 as actual</if>
+    <if test="month==10">plan10 as plan, actual10 as actual</if>
+    <if test="month==11">plan11 as plan, actual11 as actual</if>
+    <if test="month==12">plan12 as plan, actual12 as actual</if>
+    from show_sbxj
+    where sdxl is not null) a) b
+    group by dept_name, team_name
+  </select>
+
+  <select id="getChartDlbpdsby" resultType="com.railway.business.bi.domain.vo.ChartVO">
+
+  </select>
+
 </mapper>