lxw
2023-08-15 160e150009b51a39fa95d9462c3798ba28d51a09
src/main/java/com/whyc/service/BattInfService.java
@@ -6,15 +6,16 @@
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.whyc.dto.BattInfAndEnduranceDTO;
import com.whyc.dto.BatteryRTState;
import com.whyc.dto.Response;
import com.whyc.mapper.BattInfMapper;
import com.whyc.mapper.BattinfUpdateRecordMapper;
import com.whyc.mapper.CommonMapper;
import com.whyc.pojo.Battinf;
import com.whyc.pojo.BattinfUpdateRecord;
import com.whyc.pojo.PowerInf;
import com.whyc.pojo.StationInf;
import com.whyc.util.ActionUtil;
import com.whyc.util.MathUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.system.ApplicationHome;
import org.springframework.core.env.Environment;
@@ -35,6 +36,8 @@
    @Resource
    private BattInfMapper battInfMapper;
    @Resource
    private BattinfUpdateRecordMapper battinfUpdateRecordMapper;
    @Resource
    private Environment environment;
    @Resource
    private PowerInfService powerInfService;
@@ -50,6 +53,8 @@
    private BattRtalarmService battRtalarmService;
    @Autowired
    private ProcessSurveyService processSurveyService;
    @Autowired
    private BatttestdataInfService testInfService;
    public int searchMaxBattgroupId_zj() {
        Integer id = battInfMapper.getMaxBattGroupId_zj();
@@ -285,13 +290,25 @@
    }
    @Transactional
    public Response update(Battinf battinf){
        if (battInfMapper.updateById(battinf)>0){
    public Response update(Battinf battinf) {
        //1.查询更新前的记录
        QueryWrapper wrapper = new QueryWrapper();
        wrapper.eq("battGroupId", battinf.getBattGroupId());
        wrapper.last("limit 1");
        Battinf binf = battInfMapper.selectOne(wrapper);
        binf.setUpdateReason(battinf.getUpdateReason());
        if (battInfMapper.updateById(battinf) > 0) {
            doAfterBattGroupChange(battinf.getBattGroupId());
            //run_cmd();
            return new Response().set(1,"更新成功");
        }else {
            return new Response().set(0,"更新失败");
            //将更新前的记录记录下来BattinfUpdateRecord
            BattinfUpdateRecord binBattinfUpdateRecord = new BattinfUpdateRecord();
            BeanUtils.copyProperties(binf, binBattinfUpdateRecord);
            binBattinfUpdateRecord.setRecordTime(new Date());
            binBattinfUpdateRecord.setUpdateName(ActionUtil.getUser().getUName());
            battinfUpdateRecordMapper.insert(binBattinfUpdateRecord);
            return new Response().set(1, "更新成功");
        } else {
            return new Response().set(0, "更新失败");
        }
    }
@@ -379,8 +396,17 @@
        int yearBetweenFiveAndSeven = 0;
        int yearAboveSeven = 0;
        List<Integer> list = battInfMapper.findUseYear(uId);
        //查询3年内,3-5年,5-7年,7年以上,含头不含尾
        for (int year:list){
        //查询1年内~7年内,7年以上,含头不含尾
        map.put("1年内", (int) list.stream().filter(item -> item <1).count());
        map.put("2年内", (int) list.stream().filter(item -> item < 2).count());
        map.put("3年内", (int) list.stream().filter(item -> item < 3).count());
        map.put("4年内", (int) list.stream().filter(item -> item < 4).count());
        map.put("5年内", (int) list.stream().filter(item -> item < 5).count());
        map.put("6年内", (int) list.stream().filter(item -> item < 6).count());
        map.put("7年内", (int) list.stream().filter(item -> item < 7).count());
        map.put("7年以上", (int) list.stream().filter(item -> item >= 7).count());
        /*for (int year:list){
            if(year<3){
                yearBelowThree+=1;
            }else if(year<5){
@@ -394,7 +420,7 @@
        map.put("3年内",yearBelowThree);
        map.put("3-5年",yearBetweenThreeAndFive);
        map.put("5-7年",yearBetweenFiveAndSeven);
        map.put("7年以上",yearAboveSeven);
        map.put("7年以上",yearAboveSeven);*/
        return new Response().set(1,map,"查询成功");
    }
@@ -410,16 +436,16 @@
    /**
     * yearCode:
     * 1:3年以内
     * 2:3-5年
     * 3:5到7年
     * 4:7年以上
     * @param yearCode
     * 1:1年以内
     * ...
     * 7:7年以内
     * 8:7年以上
     * @param year
     * @param uId
     * @return
     */
    public Response findBattProducerInfoByYearCode(int yearCode,int uId){
        List<BattInfAndEnduranceDTO> list = battInfMapper.findBattProducerInfoByYearCode(yearCode,uId);
    public Response findBattProducerInfoByYearCode(int year,int uId){
        List<BattInfAndEnduranceDTO> list = battInfMapper.findBattProducerInfoByYearCode(year,uId);
        return new Response().set(1,list,"查询成功");
    }
@@ -450,7 +476,7 @@
    //取出电池组信息构建excel文件的名称
    public String serchExcelName(int battGroupId) {
        Battinf binf = battInfMapper.serchExcelName(battGroupId);
        String excelName = binf.getStationName1() + "-" + binf.getStationName2() + "-" + binf.getStationName5() + "-" + binf.getStationName3() + "-" + ActionUtil.sdfwithOutday.format(binf.getBattProductDate()).replace("_", "年") + "月-" + (int) ((float) binf.getMonCapStd()) + "AH" + "-" + binf.getBattGroupName();
        String excelName = binf.getStationName1() + "-" + binf.getStationName2() + "-" + binf.getStationName5() + "-" + binf.getStationName3() + "-" + ActionUtil.sdfwithOutday.format(binf.getBattProductDate()).replace("_", "-") + "-" + (int) ((float) binf.getMonCapStd()) + "AH" + "-" + binf.getBattGroupName();
        return excelName;
    }
@@ -589,12 +615,14 @@
            int devCount = battInfMapper.getDevNum(userId);
            int powerNum = powerInfService.getNum(userId);
            List<StationInf> stationInfList = stationInfService.getStationInfList(userId);
            int stationNum = stationInfList.size();
            int stationNum = stationInfService.getStation(userId);
            int hrDisNum = testInfService.getHrQuarterZC(userId);
            map.put("battGroupCount", battGroupCount);
            map.put("devCount", devCount);
            map.put("powerNum", powerNum);
            map.put("stationNum",stationNum);
            map.put("stationInfList",stationInfList);
            map.put("checkCapNum",hrDisNum);
            return new Response().setII(1,true, map,null);
        }catch (Exception e){
            return new Response<>().set(1,false,"发生异常:"+e.getCause());
@@ -613,16 +641,29 @@
            int battGroupCount = battInfMapper.getBattGroupNum(userId);
            //电源机房总数
            int powerNum = powerInfService.getNum(userId);
            int monNum = battInfMapper.getMonCount(userId);
            //int monNum = battInfMapper.getMonCount(userId);
            //电池机房总数
            int battStationNum = battInfMapper.geStationCount(userId);
            //int battStationNum = battInfMapper.geStationCount(userId);
            //总机房
            int stationNum = stationInfService.getStation(userId);
            map.put("monNum", monNum);//单体
            map.put("battStationNum", battStationNum);//站点
            //设备数
            int deviceNum = battInfMapper.getDevNum(userId);
            /*本年度已核容放电电池组(testdate_inf中test_type=3,test_startType=3)
             int hrDisNum = testInfService.getHrQuarter(userId);
            * 修改为:领导层本年度已放数 仅需要统计放电正常停止的 正常停止的条件如下:
                stop_type:
                2-放电时间到终止并且放电时间超过2小时
                3-放电容量到终止
                4-单体电压下限到终止
                6-组端电压下限到终止*/
            int hrDisNum = testInfService.getHrQuarterZC(userId);
            //map.put("monNum", monNum);//单体
            //map.put("battStationNum", battStationNum);//站点
            map.put("battGroupCount", battGroupCount);//电池组
            map.put("powerNum", powerNum);//电源
            map.put("stationNum", stationNum);//总机房
            map.put("hrDisNum", hrDisNum);//本年度核容放电电池组
            map.put("deviceNum", deviceNum);//本年度核容放电电池组
            return new Response().setII(1, true, map, "基础资源信息");
        } catch (Exception e) {
            return new Response<>().set(1, false, "发生异常:" + e.getCause());
@@ -756,14 +797,26 @@
    /**
     * 校验当前设备是否是锂电BTS
     *
     * @param fbsDeviceId
     * @return
     */
    private boolean checkLiBTSDevType(int fbsDeviceId) {
        if(fbsDeviceId/100000 == 9131) {
        if (fbsDeviceId / 100000 == 9131) {
            return true;
        }
        return false;
    }
    //查询标称电压类别
    public Response searchMonVol() {
        List<String> list = battInfMapper.searchMonVol();
        return new Response().setII(1, list.size() > 0 ? true : false, list, "查询标称电压类别");
    }
    //根据设备id查询电池组id(取第一个)
    public Response searchBattGroupIdByDevId(int devId) {
        String battGroupId = battInfMapper.searchBattGroupIdByDevId(devId);
        return new Response().setII(1, battGroupId != null, battGroupId != null ? battGroupId : "0", "返回电池组id");
    }
}