lxw
2023-05-17 cc95ea96c89301a181147fb35b7b589d61c80233
Merge branch 'master' of http://118.89.139.230:10101/r/fg_v2.0
11个文件已修改
2个文件已添加
629 ■■■■■ 已修改文件
src/main/java/com/whyc/controller/BaoJiGroupController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/BattdischargePlanController.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/FaultUploadController.java 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/KPIController.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/BattdischargePlanMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/FaultUploadMapper.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/FaultUpload.java 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/BaoJiGroupService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/BattdischargePlanService.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/FaultUploadService.java 294 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/KPIService.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/BattdischargePlanMapper.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/FaultUploadMapper.xml 94 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/BaoJiGroupController.java
@@ -53,4 +53,11 @@
        return service.updateDischargeFlag(baoJiGroupId,flag);
    }
    @GetMapping("groupNameList")
    @ApiOperation(value = "班组名列表")
    public Response<List<BaoJiGroup>> getGroupNameList(){
        List<BaoJiGroup> baoJiGroupList = service.getBaoJiGroupNameListByFlag(1);
        return new Response<List<BaoJiGroup>>().set(1,baoJiGroupList);
    }
}
src/main/java/com/whyc/controller/BattdischargePlanController.java
@@ -84,4 +84,16 @@
        return service.getDischargePlanFinishTime();
    }
    @ApiOperation("获取年度放电任务量统计-组内")
    @GetMapping("myPlanCount")
    public Response getMyPlanCount(){
        return service.getMyPlanCount();
    }
    @ApiOperation("获取年度放电任务量统计-管理")
    @GetMapping("planCount")
    public Response getPlanCount(){
        return service.getPlanCountWithGroupName();
    }
}
src/main/java/com/whyc/controller/FaultUploadController.java
@@ -28,17 +28,42 @@
        return service.updateConfirm(fault);
    }
    @GetMapping("listPage")
    @ApiOperation(value = "列表分页",notes = "包机组内成员可见")
    public Response listPage(@RequestParam int pageNum,@RequestParam int pageSize){
        return service.listPage(pageNum, pageSize);
    @PostMapping("listPage")
    @ApiOperation(value = "列表分页-组内",notes = "包机组内成员可见")
    public Response listPage(@RequestParam int pageNum,@RequestParam int pageSize,
                             @RequestBody FaultUpload upload){
        return service.listPage(pageNum, pageSize,upload);
    }
    @GetMapping("typeNum")
    @ApiOperation(value = "故障隐患类型统计",notes = "包机组内成员可见")
    public Response getTypeNum(){
        return service.getTypeNum();
    @GetMapping("typeCount")
    @ApiOperation(value = "隐患故障上报类型统计",notes = "timeType:不传-所有,1-本月,2-本季度,3-本年")
    public Response getTypeCount(@RequestParam(required = false) Integer timeType){
        return service.getTypeCount(timeType);
    }
    @PostMapping("listPage2")
    @ApiOperation(value = "列表分页-管理")
    public Response listPage2(@RequestParam int pageNum,@RequestParam int pageSize,
                              @RequestBody FaultUpload upload){
        return service.listPage2(pageNum, pageSize,upload);
    }
    @GetMapping("groupNameCount")
    @ApiOperation(value = "隐患故障上报统计-管理",notes = "timeType:1-本月,2-本季度,3-本年")
    public Response groupNameCount(@RequestParam int timeType){
        return service.groupNameCount(timeType);
    }
    @GetMapping("listOfLastPeriod")
    @ApiOperation(value = "隐患故障上报进度-最近一周及最近一月-管理",notes = "type:1-最近一周,2-最近一月")
    public Response getListOfLastPeriod(int type){
        return service.getListOfLastPeriod(type);
    }
    @GetMapping("myUploadStatusCount")
    @ApiOperation(value = "我的隐患故障上报状态数量统计")
    public Response getMyUploadStatusCount(){
        return service.getMyUploadStatusCount();
    }
}
src/main/java/com/whyc/controller/KPIController.java
New file
@@ -0,0 +1,19 @@
package com.whyc.controller;
import com.whyc.service.KPIService;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * 绩效考核
 */
@RequestMapping("kpi")
@RestController
@Api(tags = "项目绩效考核")
public class KPIController {
    private KPIService service;
}
src/main/java/com/whyc/mapper/BattdischargePlanMapper.java
@@ -30,4 +30,6 @@
    List<BattdischargePlan> getListWithBaojiGroupName();
    List<BattdischargePlan> getPlanCount(int userId);
}
src/main/java/com/whyc/mapper/FaultUploadMapper.java
@@ -7,6 +7,7 @@
public interface FaultUploadMapper extends CustomMapper<FaultUpload> {
    List<FaultUpload> selectListInBaoJiGroup(@Param("userId") int userId);
    List<FaultUpload> getList(int userId,FaultUpload upload);
    List<FaultUpload> getList2(int userId,FaultUpload upload);
}
src/main/java/com/whyc/pojo/FaultUpload.java
@@ -9,7 +9,7 @@
public class FaultUpload {
    private Integer id;
    private String stationName;
    private Integer stationId;
    private Integer type;
    private String description;
    private Integer uploadUserId;
@@ -21,9 +21,23 @@
    private Date createTime;
    @TableField(exist = false)
    private String stationName;
    @TableField(exist = false)
    private String stationName3;
    @TableField(exist = false)
    private String uploadUserName;
    @TableField(exist = false)
    private String confirmUserName;
    @TableField(exist = false)
    private String groupName;
    @TableField(exist = false)
    private String uploadStartTime;
    @TableField(exist = false)
    private String uploadEndTime;
    @TableField(exist = false)
    private String confirmStartTime;
    @TableField(exist = false)
    private String confirmEndTime;
    public Integer getId() {
        return id;
@@ -33,12 +47,28 @@
        this.id = id;
    }
    public Integer getStationId() {
        return stationId;
    }
    public void setStationId(Integer stationId) {
        this.stationId = stationId;
    }
    public String getStationName() {
        return stationName;
    }
    public void setStationName(String stationName) {
        this.stationName = stationName;
    }
    public String getStationName3() {
        return stationName3;
    }
    public void setStationName3(String stationName3) {
        this.stationName3 = stationName3;
    }
    public Integer getType() {
@@ -120,4 +150,44 @@
    public void setConfirmUserName(String confirmUserName) {
        this.confirmUserName = confirmUserName;
    }
    public String getGroupName() {
        return groupName;
    }
    public void setGroupName(String groupName) {
        this.groupName = groupName;
    }
    public String getUploadStartTime() {
        return uploadStartTime;
    }
    public void setUploadStartTime(String uploadStartTime) {
        this.uploadStartTime = uploadStartTime;
    }
    public String getUploadEndTime() {
        return uploadEndTime;
    }
    public void setUploadEndTime(String uploadEndTime) {
        this.uploadEndTime = uploadEndTime;
    }
    public String getConfirmStartTime() {
        return confirmStartTime;
    }
    public void setConfirmStartTime(String confirmStartTime) {
        this.confirmStartTime = confirmStartTime;
    }
    public String getConfirmEndTime() {
        return confirmEndTime;
    }
    public void setConfirmEndTime(String confirmEndTime) {
        this.confirmEndTime = confirmEndTime;
    }
}
src/main/java/com/whyc/service/BaoJiGroupService.java
@@ -103,4 +103,10 @@
        mapper.update(null,update);
        return new Response().set(1,true,"设置完成");
    }
    public List<BaoJiGroup> getBaoJiGroupNameListByFlag(int dischargePlanFlag) {
        QueryWrapper<BaoJiGroup> query = Wrappers.query();
        query.eq("discharge_plan_flag",dischargePlanFlag);
        return mapper.selectList(query);
    }
}
src/main/java/com/whyc/service/BattdischargePlanService.java
@@ -420,4 +420,52 @@
        return new Response().set(1,baojiGroupPlanFinishTimeList);
    }
    public Response getMyPlanCount() {
        int userId = ActionUtil.getUser().getUId().intValue();
        Map<String,Integer> map = new HashMap<>();
        List<BattdischargePlan> planList = mapper.getPlanCount(userId);
        //总数,已完成数量
        int total = planList.size();
        int finishNum = planList.stream().filter(plan -> plan.getDischargeState() == 2).collect(Collectors.toList()).size();
        map.put("total",total);
        map.put("finishNum",finishNum);
        return new Response().set(1,map);
    }
    public Map<String,Map<String,Integer>> getPlanCount() {
        int userId = ActionUtil.getUser().getUId().intValue();
        Map<String,Map<String,Integer>> resMap = new HashMap<>();
        Map<String,Integer> map = new HashMap<>();
        List<BattdischargePlan> planList = mapper.getPlanCount(userId);
        //班组,总数,已完成数量
        Map<String, List<BattdischargePlan>> groupNameListMap = planList.stream().collect(Collectors.groupingBy(BattdischargePlan::getBaojiGroupName));
        Set<String> groupNameSet = groupNameListMap.keySet();
        for (String groupName : groupNameSet) {
            List<BattdischargePlan> plans = groupNameListMap.get(groupName);
            int total = plans.size();
            int finishNum = plans.stream().filter(plan -> plan.getDischargeState() == 2).collect(Collectors.toList()).size();
            map.put("total",total);
            map.put("finishNum",finishNum);
            resMap.put(groupName,map);
        }
        return resMap;
    }
    public Response getPlanCountWithGroupName() {
        Map<String,Integer> resMap = new HashMap<>();
        resMap.put("放电任务总数",0);
        int total = 0;
        Map<String, Map<String, Integer>> planCount = getPlanCount();
        Set<String> groupNameSet = planCount.keySet();
        for (String groupName : groupNameSet) {
            resMap.put(groupName,planCount.get(groupName).get("finishNum"));
            total = total + planCount.get(groupName).get("total");
        }
        resMap.put("放电任务总数",total);
        return new Response().set(1,resMap);
    }
}
src/main/java/com/whyc/service/FaultUploadService.java
@@ -1,13 +1,15 @@
package com.whyc.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.whyc.dto.Response;
import com.whyc.mapper.FaultUploadMapper;
import com.whyc.pojo.BaoJiGroup;
import com.whyc.pojo.FaultUpload;
import com.whyc.pojo.UserInf;
import com.whyc.util.ActionUtil;
import com.whyc.util.DateUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -19,6 +21,12 @@
    @Resource
    private FaultUploadMapper mapper;
    @Autowired
    private BaoJiGroupService baoJiGroupService;
    @Autowired
    private UserService userService;
    public Response add(FaultUpload fault) {
        int userId = ActionUtil.getUser().getUId().intValue();
@@ -38,27 +46,293 @@
        return new Response().setII(1,"确认完成");
    }
    public Response listPage(int pageNum, int pageSize) {
    public Response listPage(int pageNum, int pageSize, FaultUpload upload) {
        PageHelper.startPage(pageNum,pageSize);
        int userId = ActionUtil.getUser().getUId().intValue();
        /*QueryWrapper<FaultUpload> query = Wrappers.query();
        query.eq("upload_user_id",userId);
        List<FaultUpload> faultUploads = mapper.selectList(query);*/
        List<FaultUpload> faultUploads = mapper.selectListInBaoJiGroup(userId);
        List<FaultUpload> faultUploads = mapper.getList(userId,upload);
        //联查拆分,组装 用户名
        List<UserInf> users = userService.getAll();
        Map<Long, List<UserInf>> userIdListMap = users.stream().collect(Collectors.groupingBy(UserInf::getUId));
        for (FaultUpload faultUpload : faultUploads) {
            faultUpload.setUploadUserName(userIdListMap.get(Long.valueOf(faultUpload.getUploadUserId() +"")).get(0).getUName());
            if(faultUpload.getConfirmUserId()!=null) {
                faultUpload.setConfirmUserName(userIdListMap.get(Long.valueOf(faultUpload.getConfirmUserId() + "")).get(0).getUName());
            }
        }
        PageInfo<FaultUpload> pageInfo = new PageInfo<>(faultUploads);
        return new Response().set(1,pageInfo);
    }
    public Response getTypeNum() {
    public Response listPage2(int pageNum, int pageSize, FaultUpload upload) {
        PageHelper.startPage(pageNum,pageSize);
        int userId = ActionUtil.getUser().getUId().intValue();
        List<FaultUpload> faultUploads = mapper.selectListInBaoJiGroup(userId);
        List<FaultUpload> faultUploads = mapper.getList2(userId,upload);
        //联查拆分,组装 用户名
        List<UserInf> users = userService.getAll();
        Map<Long, List<UserInf>> userIdListMap = users.stream().collect(Collectors.groupingBy(UserInf::getUId));
        for (FaultUpload faultUpload : faultUploads) {
            faultUpload.setUploadUserName(userIdListMap.get(Long.valueOf(faultUpload.getUploadUserId() +"")).get(0).getUName());
            if(faultUpload.getConfirmUserId() !=null) {
                faultUpload.setConfirmUserName(userIdListMap.get(Long.valueOf(faultUpload.getConfirmUserId() + "")).get(0).getUName());
            }
        }
        PageInfo<FaultUpload> pageInfo = new PageInfo<>(faultUploads);
        return new Response().set(1,pageInfo);
    }
    public Response getTypeCount(Integer timeType) {
        int userId = ActionUtil.getUser().getUId().intValue();
        FaultUpload upload = new FaultUpload();
        Date now = new Date();
        String uploadStartTime = null;
        String uploadEndTime = null;
        if(timeType == 1){
            //本月
            Calendar monthStart = Calendar.getInstance();
            monthStart.setTime(now);
            //设置为1号,当前日期既为本月第一天
            monthStart.set(Calendar.DAY_OF_MONTH,1);
            monthStart.set(Calendar.HOUR_OF_DAY, 0);
            monthStart.set(Calendar.MINUTE, 0);
            monthStart.set(Calendar.SECOND, 0);
            Calendar monthEnd = Calendar.getInstance();
            monthEnd.setTime(now);
            //设置为1号,当前日期既为本月第一天
            monthEnd.set(Calendar.DAY_OF_MONTH,monthEnd.getActualMaximum(Calendar.DAY_OF_MONTH));
            monthEnd.set(Calendar.HOUR_OF_DAY, 23);
            monthEnd.set(Calendar.MINUTE, 59);
            monthEnd.set(Calendar.SECOND, 59);
            uploadStartTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthStart.getTime());
            uploadEndTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthEnd.getTime());
        }else if(timeType == 2){
            //本季度
            Calendar monthStart = Calendar.getInstance();
            monthStart.setTime(now);
            monthStart.set(Calendar.DAY_OF_MONTH,1);
            monthStart.set(Calendar.HOUR_OF_DAY, 0);
            monthStart.set(Calendar.MINUTE, 0);
            monthStart.set(Calendar.SECOND, 0);
            Calendar monthEnd = Calendar.getInstance();
            monthEnd.setTime(now);
            //设置为1号,当前日期既为本月第一天
            monthEnd.set(Calendar.DAY_OF_MONTH,monthEnd.getActualMaximum(Calendar.DAY_OF_MONTH));
            monthEnd.set(Calendar.HOUR_OF_DAY, 23);
            monthEnd.set(Calendar.MINUTE, 59);
            monthEnd.set(Calendar.SECOND, 59);
            //定位是第几季度
            int i = monthStart.get(Calendar.MONTH);
            if (i<=2){ // 0,1,2
                monthStart.set(Calendar.MONTH,0);
                monthEnd.set(Calendar.MONTH,2);
            }
            else if(i<=5){ // 3,4,5
                monthStart.set(Calendar.MONTH,3);
                monthEnd.set(Calendar.MONTH,5);
            }
            else if(i<=8){ // 6,7,8
                monthStart.set(Calendar.MONTH,6);
                monthEnd.set(Calendar.MONTH,8);
            }else{ //9,10,11
                monthStart.set(Calendar.MONTH,9);
                monthEnd.set(Calendar.MONTH,11);
            }
            uploadStartTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthStart.getTime());
            uploadEndTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthEnd.getTime());
        }else{
            //年度
            Calendar monthStart = Calendar.getInstance();
            monthStart.setTime(now);
            monthStart.set(Calendar.MONTH,0);
            monthStart.set(Calendar.DAY_OF_MONTH,1);
            monthStart.set(Calendar.HOUR_OF_DAY, 0);
            monthStart.set(Calendar.MINUTE, 0);
            monthStart.set(Calendar.SECOND, 0);
            Calendar monthEnd = Calendar.getInstance();
            monthEnd.setTime(now);
            //设置为1号,当前日期既为本月第一天
            monthEnd.set(Calendar.MONTH,11);
            monthEnd.set(Calendar.DAY_OF_MONTH,monthEnd.getActualMaximum(Calendar.DAY_OF_MONTH));
            monthEnd.set(Calendar.HOUR_OF_DAY, 23);
            monthEnd.set(Calendar.MINUTE, 59);
            monthEnd.set(Calendar.SECOND, 59);
            uploadStartTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthStart.getTime());
            uploadEndTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthEnd.getTime());
        }
        upload.setUploadStartTime(uploadStartTime);
        upload.setUploadEndTime(uploadEndTime);
        List<FaultUpload> faultUploads = mapper.getList(userId,upload);
        Map<Integer, List<FaultUpload>> typeListMap = faultUploads.stream().collect(Collectors.groupingBy(FaultUpload::getType));
        Map<Integer,Integer> typeMap = new HashMap<>();
        typeMap.put(0,0);
        int total = 0;
        Set<Integer> typeSet = typeListMap.keySet();
        for (Integer type : typeSet) {
            typeMap.put(type,typeListMap.get(type).size());
            int size = typeListMap.get(type).size();
            total+=size;
            typeMap.put(type, size);
        }
        typeMap.put(0,total);
        return new Response().set(1,typeMap);
    }
    public Response groupNameCount(int timeType) {
        int userId = ActionUtil.getUser().getUId().intValue();
        FaultUpload upload = new FaultUpload();
        Date now = new Date();
        String uploadStartTime = null;
        String uploadEndTime = null;
        if(timeType == 1){
            //本月
            Calendar monthStart = Calendar.getInstance();
            monthStart.setTime(now);
            //设置为1号,当前日期既为本月第一天
            monthStart.set(Calendar.DAY_OF_MONTH,1);
            monthStart.set(Calendar.HOUR_OF_DAY, 0);
            monthStart.set(Calendar.MINUTE, 0);
            monthStart.set(Calendar.SECOND, 0);
            Calendar monthEnd = Calendar.getInstance();
            monthEnd.setTime(now);
            //设置为1号,当前日期既为本月第一天
            monthEnd.set(Calendar.DAY_OF_MONTH,monthEnd.getActualMaximum(Calendar.DAY_OF_MONTH));
            monthEnd.set(Calendar.HOUR_OF_DAY, 23);
            monthEnd.set(Calendar.MINUTE, 59);
            monthEnd.set(Calendar.SECOND, 59);
            uploadStartTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthStart.getTime());
            uploadEndTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthEnd.getTime());
        }else if(timeType == 2){
            //本季度
            Calendar monthStart = Calendar.getInstance();
            monthStart.setTime(now);
            monthStart.set(Calendar.DAY_OF_MONTH,1);
            monthStart.set(Calendar.HOUR_OF_DAY, 0);
            monthStart.set(Calendar.MINUTE, 0);
            monthStart.set(Calendar.SECOND, 0);
            Calendar monthEnd = Calendar.getInstance();
            monthEnd.setTime(now);
            //设置为1号,当前日期既为本月第一天
            monthEnd.set(Calendar.DAY_OF_MONTH,monthEnd.getActualMaximum(Calendar.DAY_OF_MONTH));
            monthEnd.set(Calendar.HOUR_OF_DAY, 23);
            monthEnd.set(Calendar.MINUTE, 59);
            monthEnd.set(Calendar.SECOND, 59);
            //定位是第几季度
            int i = monthStart.get(Calendar.MONTH);
            if (i<=2){ // 0,1,2
                monthStart.set(Calendar.MONTH,0);
                monthEnd.set(Calendar.MONTH,2);
            }
            else if(i<=5){ // 3,4,5
                monthStart.set(Calendar.MONTH,3);
                monthEnd.set(Calendar.MONTH,5);
            }
            else if(i<=8){ // 6,7,8
                monthStart.set(Calendar.MONTH,6);
                monthEnd.set(Calendar.MONTH,8);
            }else{ //9,10,11
                monthStart.set(Calendar.MONTH,9);
                monthEnd.set(Calendar.MONTH,11);
            }
            uploadStartTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthStart.getTime());
            uploadEndTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthEnd.getTime());
        }else{
            //年度
            Calendar monthStart = Calendar.getInstance();
            monthStart.setTime(now);
            monthStart.set(Calendar.MONTH,0);
            monthStart.set(Calendar.DAY_OF_MONTH,1);
            monthStart.set(Calendar.HOUR_OF_DAY, 0);
            monthStart.set(Calendar.MINUTE, 0);
            monthStart.set(Calendar.SECOND, 0);
            Calendar monthEnd = Calendar.getInstance();
            monthEnd.setTime(now);
            //设置为1号,当前日期既为本月第一天
            monthEnd.set(Calendar.MONTH,11);
            monthEnd.set(Calendar.DAY_OF_MONTH,monthEnd.getActualMaximum(Calendar.DAY_OF_MONTH));
            monthEnd.set(Calendar.HOUR_OF_DAY, 23);
            monthEnd.set(Calendar.MINUTE, 59);
            monthEnd.set(Calendar.SECOND, 59);
            uploadStartTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthStart.getTime());
            uploadEndTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthEnd.getTime());
        }
        upload.setUploadStartTime(uploadStartTime);
        upload.setUploadEndTime(uploadEndTime);
        List<FaultUpload> list = mapper.getList2(userId, upload);
        Map<String, List<FaultUpload>> groupNameListMap = list.stream().collect(Collectors.groupingBy(FaultUpload::getGroupName));
        //初始化 班组列表
        Map<String,Integer> groupNameCountMap = new HashMap<>();
        groupNameCountMap.put("总数",0);
        int total = 0;
        List<BaoJiGroup> baoJiGroups = baoJiGroupService.getBaoJiGroupNameListByFlag(1);
        for (BaoJiGroup baoJiGroup : baoJiGroups) {
            groupNameCountMap.put(baoJiGroup.getBaoJiGroupName(),0);
        }
        Set<String> groupNameSet = groupNameListMap.keySet();
        for (String groupName : groupNameSet) {
            int size = groupNameListMap.get(groupName).size();
            total+=size;
            groupNameCountMap.put(groupName, size);
        }
        groupNameCountMap.put("总数",total);
        return new Response().set(1,groupNameCountMap);
    }
    public Response getListOfLastPeriod(int type) {
        int userId = ActionUtil.getUser().getUId().intValue();
        FaultUpload upload = new FaultUpload();
        Date now = new Date();
        Calendar instance = Calendar.getInstance();
        instance.setTime(now);
        if(type == 1){
            instance.add(Calendar.DATE,-7);
        }else{
            instance.add(Calendar.DATE,-30);
        }
        upload.setUploadStartTime(DateUtil.YYYY_MM_DD_HH_MM_SS.format(instance.getTime()));
        upload.setUploadEndTime(DateUtil.YYYY_MM_DD_HH_MM_SS.format(now));
        List<FaultUpload> faultUploads = mapper.getList(userId, upload);
        //联查拆分,组装 用户名
        List<UserInf> users = userService.getAll();
        Map<Long, List<UserInf>> userIdListMap = users.stream().collect(Collectors.groupingBy(UserInf::getUId));
        for (FaultUpload faultUpload : faultUploads) {
            faultUpload.setUploadUserName(userIdListMap.get(Long.valueOf(faultUpload.getUploadUserId() +"")).get(0).getUName());
        }
        return new Response().set(1,faultUploads);
    }
    public Response getMyUploadStatusCount() {
        Map<String,Integer> map = new HashMap<>();
        int userId = ActionUtil.getUser().getUId().intValue();
        FaultUpload upload = new FaultUpload();
        List<FaultUpload> list = mapper.getList(userId, upload);
        List<FaultUpload> confirmedList = list.stream().filter(temp -> temp.getConfirmUserId() != null).collect(Collectors.toList());
        List<FaultUpload> myList = list.stream().filter(temp -> temp.getUploadUserId() == userId).collect(Collectors.toList());
        List<FaultUpload> myConfirmedList = myList.stream().filter(temp -> temp.getConfirmUserId() != null).collect(Collectors.toList());
        //班组 上报总数,已确认数量
        map.put("groupUploadNum",list.size());
        map.put("groupUploadConfirmedNum",confirmedList.size());
        //我的 上报总数,已确认数量
        map.put("myUploadNum",myList.size());
        map.put("myUploadConfirmedNum",myConfirmedList.size());
        return new Response().set(1,map);
    }
}
src/main/java/com/whyc/service/KPIService.java
New file
@@ -0,0 +1,17 @@
package com.whyc.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class KPIService {
    @Autowired
    private BattdischargePlanService planService;
    @Autowired
    private FaultUploadService uploadService;
}
src/main/resources/mapper/BattdischargePlanMapper.xml
@@ -167,5 +167,19 @@
        select p.*,b.battGroupName,b.stationName,g.baoji_group_name baojiGroupName from web_site.tb_battdischarge_plan p,db_battinf.tb_battinf b,db_user.tb_user_battgroup_baojigroup g
        where p.battgroupid = b.battGroupId and p.baoji_group_id = g.baoji_group_id
    </select>
    <select id="getPlanCount" resultType="com.whyc.pojo.BattdischargePlan">
        SELECT
            baoJiGroup.baoji_group_name,plan.*
        FROM
            web_site.tb_battdischarge_plan plan,
            db_user.tb_user_battgroup_baojigroup_battgroup baoJiGroupBattGroup,
            db_user.tb_user_battgroup_baojigroup baoJiGroup,
            db_user.tb_user_battgroup_baojigroup_usr baoJiGroupUser
        WHERE
            plan.battgroupid = baoJiGroupBattGroup.BattGroupId
        AND baoJiGroupBattGroup.baoji_group_id = baoJiGroup.baoji_group_id
        AND baoJiGroupBattGroup.baoji_group_id = baoJiGroupUser.baoji_group_id
        AND baoJiGroupUser.uId = #{userId}
    </select>
</mapper>
src/main/resources/mapper/FaultUploadMapper.xml
@@ -3,21 +3,91 @@
<mapper namespace="com.whyc.mapper.FaultUploadMapper" >
    <select id="selectListInBaoJiGroup" resultType="com.whyc.pojo.FaultUpload">
    <select id="getList" resultType="com.whyc.pojo.FaultUpload">
        SELECT distinct
            u.*
            u.*,s.StationName as station_name,s.StationName3 as station_name3
        FROM
            web_site.tb_fault_upload u,
            db_user.tb_user_battgroup_baojigroup_usr b
            db_battinf.tb_station_inf s
        WHERE
            u.upload_user_id = b.uId
        and b.baoji_group_id in (
            SELECT
            baoji_group_id
            FROM
            db_user.tb_user_battgroup_baojigroup_usr
            WHERE
            uId = #{userId}
        )
            u.station_id = s.StationId
        <if test="upload.uploadStartTime !=null and upload.uploadStartTime!=''">
            and u.create_time &gt;= #{upload.uploadStartTime}
        </if>
        <if test="upload.uploadEndTime !=null and upload.uploadEndTime!=''">
            and u.create_time &lt;= #{upload.uploadEndTime}
        </if>
        <if test="upload.confirmStartTime !=null and upload.confirmStartTime!=''">
            and u.confirm_time &gt;= #{upload.confirmStartTime}
        </if>
        <if test="upload.confirmEndTime !=null and upload.confirmEndTime!=''">
            and u.confirm_time &lt;= #{upload.confirmEndTime}
        </if>
        <if test="upload.type !=null and upload.type !=0">
            and u.type = #{upload.type}
        </if>
        and
            station_id in
            (
                select distinct stationId
                from db_user.tb_user_battgroup_baojigroup_battgroup
                , db_user.tb_user_battgroup_baojigroup_usr
                , db_user.tb_user_inf
                where db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id =
                db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id
                and db_user.tb_user_inf.uid = db_user.tb_user_battgroup_baojigroup_usr.uid
                and db_user.tb_user_inf.uid = #{userId}
            )
    </select>
    <select id="getList2" resultType="com.whyc.pojo.FaultUpload">
        SELECT distinct
            u.*,s.StationName as station_name,s.StationName3 as station_name3,g.baoji_group_name as group_name
        FROM
            web_site.tb_fault_upload u,
            db_battinf.tb_station_inf s,
            db_user.tb_user_battgroup_baojigroup_usr gu,
            db_user.tb_user_battgroup_baojigroup g
        WHERE
            u.station_id = s.StationId
        and u.upload_user_id = gu.uId
        and gu.baoji_group_id = g.baoji_group_id
        <if test="upload.uploadStartTime !=null and upload.uploadStartTime!=''">
            and u.create_time &gt;= #{upload.uploadStartTime}
        </if>
        <if test="upload.uploadEndTime !=null and upload.uploadEndTime!=''">
            and u.create_time &lt;= #{upload.uploadEndTime}
        </if>
        <if test="upload.confirmStartTime !=null and upload.confirmStartTime!=''">
            and u.confirm_time &gt;= #{upload.confirmStartTime}
        </if>
        <if test="upload.confirmEndTime !=null and upload.confirmEndTime!=''">
            and u.confirm_time &lt;= #{upload.confirmEndTime}
        </if>
        <if test="upload.type !=null and upload.type !=0">
            and u.type = #{upload.type}
        </if>
        <if test="upload.groupName !=null and upload.groupName !=''">
            and g.baoji_group_name = #{upload.groupName}
        </if>
        and
            station_id in
            (
                select distinct stationId
                from db_user.tb_user_battgroup_baojigroup_battgroup
                , db_user.tb_user_battgroup_baojigroup_usr
                , db_user.tb_user_inf
                where db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id =
                db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id
                and db_user.tb_user_inf.uid = db_user.tb_user_battgroup_baojigroup_usr.uid
                and db_user.tb_user_inf.uid = #{userId}
            )
    </select>
</mapper>