liukangdong
2024-12-19 955fbce6ef52bae47ad6444dd5334561148f32fd
Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit
已修改18个文件
209 ■■■■ 文件已修改
admin/src/api/business/tmsFactoryParam.js 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/core/utils/Constants.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/dao/business/model/SmsEmail.java 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitsCloudController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/FightingAdminController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/openapi/HkOpenApiController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/MonitorDataVO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/PlatformWorkDataVO.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/TmsFactoryParamService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncNoticeServiceImpl.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/api/business/tmsFactoryParam.js
@@ -2,14 +2,14 @@
// 查询
export function fetchList (data) {
  return request.post('/visitsAdmin/cloudService/tmsFactoryParam/page', data, {
  return request.post('/visitsAdmin/cloudService/business/tmsFactoryParam/page', data, {
    trim: true
  })
}
// 导出Excel
export function exportExcel (data) {
  return request.post('/visitsAdmin/cloudService/tmsFactoryParam/exportExcel', data, {
  return request.post('/visitsAdmin/cloudService/business/tmsFactoryParam/exportExcel', data, {
    trim: true,
    download: true
  })
@@ -17,22 +17,22 @@
// 创建
export function create (data) {
  return request.post('/visitsAdmin/cloudService/tmsFactoryParam/create', data)
  return request.post('/visitsAdmin/cloudService/business/tmsFactoryParam/create', data)
}
// 修改
export function updateById (data) {
  return request.post('/visitsAdmin/cloudService/tmsFactoryParam/updateById', data)
  return request.post('/visitsAdmin/cloudService/business/tmsFactoryParam/updateById', data)
}
// 删除
export function deleteById (id) {
  return request.get(`/visitsAdmin/cloudService/tmsFactoryParam/delete/${id}`)
  return request.get(`/visitsAdmin/cloudService/business/tmsFactoryParam/delete/${id}`)
}
// 批量删除
export function deleteByIdInBatch (ids) {
  return request.get('/visitsAdmin/cloudService/tmsFactoryParam/delete/batch', {
  return request.get('/visitsAdmin/cloudService/business/tmsFactoryParam/delete/batch', {
    params: {
      ids
    }
server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
@@ -153,9 +153,9 @@
        //发送会议预约成功通知
        if(Constants.equalsInteger(bookings.getJoinNotice(),Constants.ZERO)){
            this.sendNotice(bookings, MeetConstants.TWO);
        }
        SystemUser systemUser = systemUserMapper.selectById(user.getId());
        this.sendWxNotice(bookings,Objects.isNull(systemUser)||StringUtils.isBlank(systemUser.getOpenid())?null:systemUser.getOpenid(),Constants.ZERO);
        }
        return bookings.getId();
    }
@@ -386,9 +386,9 @@
        //发送会议通知
        if(Constants.equalsInteger(bookings.getJoinNotice(),Constants.ZERO)){
            this.sendNotice(bookings, MeetConstants.TWO);
        }
        SystemUser systemUser = systemUserMapper.selectById(bookings.getUserId());
        this.sendWxNotice(bookings,Objects.isNull(systemUser)||StringUtils.isBlank(systemUser.getOpenid())?null:systemUser.getOpenid(),Constants.ZERO);
        }
    }
    @Override
@@ -458,9 +458,8 @@
        //取消会议 发送取消通知
        if(Constants.equalsInteger(bookings.getJoinNotice(),Constants.ZERO)){
            this.sendNotice(bookings, 3);
        }
        this.sendWxNotice(bookings,Objects.isNull(systemUser)||StringUtils.isBlank(systemUser.getOpenid())?null:systemUser.getOpenid(),Constants.ONE);
        }
    }
    @Override
@@ -1416,7 +1415,7 @@
                if(Constants.equalsInteger(sendType,Constants.ZERO)){
                    wxPlatNotice.sendMeetingBookTemplateNotice(systemDictDataBiz,bookings,"CuoDoxOl6SFwi4NhNgOQgKSJVjDD4VCIaPYlnbv_zdY",
                            systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),openIds);
                }else{
                }else if(Constants.equalsInteger(sendType,Constants.ONE)){
                    wxPlatNotice.sendMeetingBookCancelTemplateNotice(systemDictDataBiz,bookings,"CiB6vCT2InovAoQfudY-lvzLSV0-3lfz3a5GsSFCzd8",
                            systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),openIds);
                }
server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -151,6 +151,8 @@
    public static final String HK_WXTOKEN_CONFIGID ="HK_WXTOKEN_CONFIGID" ;
    public static final String HK_WXTOKEN_TAGID ="HK_WXTOKEN_TAGID" ;
    public static final String WMS_TOTAL_STOCK_NUM ="WMS_TOTAL_STOCK_NUM" ;
    public static final String WMS_LIQUID_LEVEL ="WMS_LIQUID_LEVEL" ;
    public static final String WMS_PRESSURE_LEVEL ="WMS_PRESSURE_LEVEL" ;
    public static final String WX_REDIRECT_URL = "WX_REDIRECT_URL";
    public static final String HK_CHANGNEI_SCREEN_INDEXCODES = "HK_CHANGNEI_SCREEN_INDEXCODES";
    public static final String CITY_XH_REASON_ID ="CITY_XH_REASON_ID" ;
server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
@@ -2911,14 +2911,17 @@
//            System.out.println(DateUtil.afterMinutesDate(-5));
            List<Date> list =getThisMonthDateList();
            for(Date d :list){
                System.out.println(getPlusTime2(d));
            }
            List<Date> list1 =getThisYearMonthList();
            for(Date d :list1){
                System.out.println(getPlusTime2(d));
            }
            System.out.println(DateUtil.getBeforMonthStr(new Date(),1));
            System.out.println(DateUtil.getBeforMonthStr(new Date(),12));
//            List<Date> list =getThisMonthDateList();
//            for(Date d :list){
//                System.out.println(getPlusTime2(d));
//            }
//            List<Date> list1 =getThisYearMonthList();
//            for(Date d :list1){
//                System.out.println(getPlusTime2(d));
//            }
//            Date startTime = DateUtil.StringToDate("2024-05-01 08:00:00" ,"yyyy-MM-dd HH:mm:ss");
//            Date endTime = DateUtil.StringToDate("2024-05-01 17:00:00" ,"yyyy-MM-dd HH:mm:ss");
@@ -3389,4 +3392,17 @@
    }
    /**
     * 获取X天后的日期
     * @param date
     * @param beforMonths 下月 -1  上月 1
     * @return
     */
    public static String getBeforMonthStr(Date date,Integer beforMonths){
        ZonedDateTime zonedDateTime = date.toInstant().atZone(ZoneId.systemDefault());
        // 转换为java.time.LocalDate,计算x天的日期
        LocalDate dateBeforeDay = zonedDateTime.toLocalDate().minusMonths(beforMonths);
        return dateBeforeDay.toString();
    }
}
server/system_service/src/main/java/com/doumee/dao/business/model/SmsEmail.java
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitsCloudController.java
@@ -143,6 +143,7 @@
        visits.setMemberId(loginUserInfo.getMemberId());
        visits.setCreateMemberId(loginUserInfo.getMemberId());
        visits.setReceptMemberId(visits.getMemberId());
        visits.setLoginUserInfo(loginUserInfo);
        return ApiResponse.success("查询成功", visitsService.visitReporting(visits));
    }
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/FightingAdminController.java
@@ -53,6 +53,7 @@
        List<AlarmEventDataVO> data  = boardService.fightingAdminAlertList();
        return ApiResponse.success(data);
    }
    @LoginNoRequired
    @ApiOperation("检测数据集合")
    @GetMapping("/monitorDataList")
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/openapi/HkOpenApiController.java
@@ -240,4 +240,5 @@
    public ApiResponse<List<PlatformStatusListResponse>> getStatusList() {
        return ApiResponse.success(platformService.getPlatformStatusList());
    }
}
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
@@ -619,6 +619,9 @@
        String[] findHomeAlarmInfoPage= new String[]{"/api/v1/alarm/findHomeAlarmInfoPage","安防看板-- 分页查询未处理报警信息6"};//安防看板-- 分页查询未处理报警信息6
        String[] minitorDataSearchV1= new String[]{"/api/fem/v1/minitor/data/search","分页查询设备监测历史数据"};//分页查询设备监测历史数据
        String[] minitorDataSearch= new String[]{"/api/fpms/v2/minitor/data/search","分页查询设备监测历史数据"};//分页查询设备监测历史数据
        String[] monitorDataSearch= new String[]{"/api/fpms/v2/monitor/data/search","分页查询设备监测历史数据"};//分页查询设备监测历史数据
        String[] fireMonitorData= new String[]{"/api/v2/monitor/fireMonitorData","分页查询设备监测历史数据"};//分页查询设备监测历史数据
        String[] userOpenidSave= new String[]{"/api/v1/oa/userOpenId/saveV2","保存用户及openId绑定信息微信公众号"};//保存用户及openId绑定信息微信公众号
        String[] temperatureHumidityDataStatistic= new String[]{"/api/v2/public/monitor/sensor/list","消防看板-4温湿度统计"};//消防看板-温湿度
        String[] regionDataRanking= new String[]{"/api/ecm/v1/energy/regionDataRanking","消防看板-4获取区域用量排名-能耗看板"};//消防看板-获取区域用量排名 - 能耗看板
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
@@ -896,7 +896,7 @@
     * @return
     */
    public static String minitorDataSearch(String body) {
        return startDoPostStringArtemis(HKConstants.InterfacePath.minitorDataSearch,body);
        return startDoPostStringArtemis(HKConstants.InterfacePath.minitorDataSearchV1,body);
    }
    /**
     * 统计园区总体的安防设备数量,在线数、在线率、离线数、离线率
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
@@ -262,6 +262,10 @@
    @TableField(exist = false)
    private String finishTimeStr;
    @ApiModelProperty(value = "作业月台编码")
    @TableField(exist = false)
    private String platformCode;
    @ApiModelProperty(value = "作业月台名称")
    @TableField(exist = false)
    private String platformName ;
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.LoginUserModel;
import com.doumee.dao.business.vo.ApproveDataVO;
import io.swagger.annotations.ApiModel;
@@ -315,6 +316,10 @@
    @TableField(exist = false)
    private String createMobile;
    @ApiModelProperty(value = "后端创建人", example = "1",hidden = true)
    @TableField(exist = false)
    private LoginUserInfo loginUserInfo;
    @ApiModelProperty(value = "审批信息数据")
    @TableField(exist = false)
    private ApproveDataVO approveDateVO;
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/MonitorDataVO.java
@@ -17,6 +17,10 @@
    @ApiModelProperty(value = "设备或者传感器名称")
    private String name;
    @ApiModelProperty(value = "阈值")
    private String level;
    @ApiModelProperty(value = "监测数据集合")
    private List<MonitorDataInfoVO> dataList;
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/PlatformWorkDataVO.java
@@ -17,11 +17,13 @@
    @ApiModelProperty(value = "月台名称")
    private String platformName;
    @ApiModelProperty(value = "月台编码")
    @ApiModelProperty(value = "月台主键")
    private Integer platformId;
    @ApiModelProperty(value = "月台排序")
    private Integer platformSort;
    @ApiModelProperty(value = "月台编码")
    private String platformCode;
    @ApiModelProperty(value = "车牌号")
    private String carNo;
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/TmsFactoryParamService.java
@@ -17,7 +17,7 @@
     * 创建
     * 
     * @param tmsFactoryParam 实体对象
     * @return Integer
     * @return IntegerC
     */
    Integer create(TmsFactoryParam tmsFactoryParam);
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -331,6 +331,19 @@
        //初始化访客信息
//        initVisitInfo(visits,date);
        visitsMapper.insert(visits);
        if(Objects.nonNull(visits.getLoginUserInfo())){
            SystemUser systemUser = systemUserMapper.selectById(visits.getLoginUserInfo().getId());
            if(Objects.nonNull(systemUser)&&StringUtils.isNotBlank(systemUser.getOpenid())){
                WxPlatNotice wxPlatNotice = new WxPlatNotice();
                wxPlatNotice.sendVisitTemplateNotice(systemDictDataBiz,
                        wxNoticeConfigMapper,visits,
                        Constants.equalsInteger(visits.getType(),Constants.TWO)?WxPlatConstants.visitReportContent.visitReportUpload:WxPlatConstants.visitContent.visitUpload,
                        systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
                        Arrays.asList(systemUser.getOpenid().split(","))
                );
            }
        }
        approveService.createApproveFlow(visits.getType(),visits.getId(),visits.getReceptMemberId());
        return visits.getId();
    }
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncNoticeServiceImpl.java
@@ -60,6 +60,7 @@
        try {
            List<String> users = new ArrayList<>();
            users.add(username);
            List<Integer> userIds = new ArrayList<>();
            List<Member > userList = memberMapper.selectList(new QueryWrapper<Member>().lambda()
                    .in(Member::getPhone,users)
@@ -70,6 +71,12 @@
                userIds.add(tu.getId());
            }else{
                throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "对不起,无效账号~");
            }
            if(userIds.size()>0){
                //清空海康全部的代办数据
                noticesJoinMapper.delete(new UpdateWrapper<Notices>().lambda()
                        .eq(Notices::getType, Constants.noticesObjectType.hknotice)
                        .in(Notices::getUserId, userIds));
            }
            Date date = new Date();
            List<GetTodoListResponse> allHkList = new ArrayList<>();
@@ -143,13 +150,6 @@
                    noticesJoinMapper.insert(list);//批量插入记录
                }
            }
             if(userIds.size()>0){
                 //清空海康全部的代办数据
                 noticesJoinMapper.delete(new UpdateWrapper<Notices>().lambda()
                         .eq(Notices::getType, Constants.noticesObjectType.hknotice)
                         .in(Notices::getUserId, userIds));
             }
        }catch (Exception e){
            e.printStackTrace();
        }finally {
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
@@ -581,7 +581,7 @@
        param.setPage(1);
        param.setUserId("admin");
//        param.setRegionIndexCodes("root000000");
        param.setAlarmStartTime(DateUtil.getPlusTime2(DateUtil.addDaysToDate(new Date(),-1)));
        param.setAlarmStartTime(DateUtil.getFomartDate(new Date(),"yyyy-MM-dd") + " 00:00:00");
        param.setAlarmEndTime(DateUtil.getPlusTime2(new Date()));
        param.setPageSize(20);
        BaseResponse<BaseListPageResponse<FindHomeAlarmInfoPageResponse>> response = HKService.findHomeAlarmInfoPage(param);
@@ -608,9 +608,14 @@
        MinitorDataSearchRequest param = new MinitorDataSearchRequest();
        param.setResourceTypeCodes(new String[]{});
        param.setRegionIndexCode("root000000");
        param.setResourceTypeCodes("60,61".split(","));
        param.setIncludeDown("1");
        param.setUserId("admin");
        param.setPageNo(1);
        param.setPageSize(100);
        BaseResponse<BaseListPageResponse<MonitorDataSearchResponse>> response = HKService.minitorDataSearch(param);
        String pressure = systemDictDataBiz.queryByCode(Constants.WMS_PARAM,Constants.WMS_PRESSURE_LEVEL).getCode();
        String liquid = systemDictDataBiz.queryByCode(Constants.WMS_PARAM,Constants.WMS_LIQUID_LEVEL).getCode();
        if(response != null && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)
                && response.getData()!=null ) {
            List<MonitorDataSearchResponse> r = response.getData().getList();
@@ -618,17 +623,37 @@
                for(MonitorDataSearchResponse model : r){
                    MonitorDataVO m = new MonitorDataVO();
                    m.setName(model.getName());
                    m.setLevel(Constants.equalsInteger(model.getType(),60)?liquid:pressure);
                    m.setDataList(new ArrayList<>());
                    if(model.getValues()!=null){
                        List<MonitorDataInfoVO> dataList = new ArrayList<>();
                        for(MonitorDataValResponse v : model.getValues()){
                            if(Constants.equalsInteger(model.getType(),60)){
                                if(v.getMonitorTypeCode().equals("254001")){
                            MonitorDataInfoVO vm = new MonitorDataInfoVO();
                            vm.setValue(v.getMonitorValue());
                            vm.setCateName(v.getMonitorSpecificName());
                            vm.setCateCode(v.getMonitorTypeKey());
                            vm.setTypeCode(v.getMonitorTypeCode());
                            vm.setTypeName(v.getMonitorTypeName());
                                    dataList.add(vm);
                                }
                            }else{
                                if(v.getMonitorTypeCode().equals("253958")){
                                    MonitorDataInfoVO vm = new MonitorDataInfoVO();
                                    vm.setValue(v.getMonitorValue());
                                    vm.setCateName(v.getMonitorSpecificName());
                                    vm.setCateCode(v.getMonitorTypeKey());
                                    vm.setTypeCode(v.getMonitorTypeCode());
                                    vm.setTypeName(v.getMonitorTypeName());
                                    dataList.add(vm);
                        }
                    }
                        }
                        m.setDataList(dataList);
                    }
                    list.add(m);
                }
            }
        }
@@ -1268,18 +1293,22 @@
        BigDecimal carbonWater = new BigDecimal(0);//本月用水
        BigDecimal carbonElec = new BigDecimal(0);//用电
        data.setYesterdayElectricity(getDefaultData());//昨日用电
        data.setTodayElectricity(getDefaultData());//今日用电
        data.setElectricityQuantity(getDefaultData());//上月用电
        data.setWaterQuantity(getDefaultData());//上月用水
        data.setGasQuantity(getDefaultData());//上月用气
        data.setMonthElectricity(getDefaultData());//本月用电
        data.setYesterdayElectricity(getDefaultData());//昨日用电
        getMonthElectricityData(data.getMonthElectricity());//通过安防平获取本月用电量数据
        carbonElec = new BigDecimal(StringUtils.defaultString(data.getMonthElectricity().getTotal(), "0"));
        getLastMonthElectricityData(data.getElectricityQuantity());//通过安防平获取上月用电量数据
        getCurrentDateElectircityData(data.getTodayElectricity(),0);//通过安防平获取今日用电量数据
        getCurrentDateElectircityData(data.getYesterdayElectricity(),-1);//通过安防平获取昨日用电量数据
        getCurrentDateElectircityData(data.getTodayElectricity(),0);//通过安防平获取今日用电量数据
        data.setWaterQuantity(getDefaultData());//上月用水
        data.setGasQuantity(getDefaultData());//上月用气
        carbonElec = new BigDecimal(StringUtils.defaultString(data.getMonthElectricity().getTotal(), "0"));
        String firstDate = DateUtil.getFirstDayCurrentMonth() +" 00:00:00";
        Date month0 = DateUtil.getDateFromString(firstDate);
        Date month1 = DateUtil.increaseMonth(month0,-1);//上月
@@ -1369,12 +1398,62 @@
     */
    private void getLastMonthElectricityData(EnergyModelDataVO data) {
         BaseResponse<LastMonthFeeByMeterTypeResponse> response = HKService.lastMonthFeeByMeterType("1");
        if(response != null && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) && response.getData()!=null ){
           data.setRingRate(StringUtils.defaultString(response.getData().getRingPercent(),"0"));
           data.setSameRate(StringUtils.defaultString(response.getData().getSamePercent(),"0"));
           data.setTotal(StringUtils.defaultString(response.getData().getValue(),"0"));
//        if(response != null && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) && response.getData()!=null ){
//           data.setRingRate(StringUtils.defaultString(response.getData().getRingPercent(),"0"));
//           data.setSameRate(StringUtils.defaultString(response.getData().getSamePercent(),"0"));
//           data.setTotal(StringUtils.defaultString(response.getData().getValue(),"0"));
//        }
//        String nowMonth = DateUtil.getFomartDate(new Date(),"yyyy-MM-dd");
//        //上月日期
//        DateUtil.getBeforMonthStr(new Date(),1);
//        //上上月日期
//        DateUtil.getBeforMonthStr(new Date(),2);
//        //上年日期
//        DateUtil.getBeforMonthStr(new Date(),13);
        EnergyTotalDataRequest param = new EnergyTotalDataRequest();
        param.setPeriodType("month");
        param.setDate(DateUtil.getBeforMonthStr(new Date(),1).substring(0,7));
        BaseResponse<EnergyTotalDataResponse> beforMonthResponse = HKService.energyTotal(param);
        if(beforMonthResponse != null && StringUtils.equals(beforMonthResponse.getCode(), HKConstants.RESPONSE_SUCCEE) && beforMonthResponse.getData()!=null ){
            data.setTotal(beforMonthResponse.getData().getElectricity());
            data.setTotalNum(new BigDecimal(beforMonthResponse.getData().getElectricity()));
        }
        param.setDate(DateUtil.getBeforMonthStr(new Date(),2).substring(0,7));
        BaseResponse<EnergyTotalDataResponse> beforBeforMonthResponse = HKService.energyTotal(param);
        if(beforBeforMonthResponse != null && StringUtils.equals(beforBeforMonthResponse.getCode(), HKConstants.RESPONSE_SUCCEE) && beforBeforMonthResponse.getData()!=null ){
            if(Objects.nonNull(beforBeforMonthResponse.getData()) && StringUtils.isNotBlank(beforBeforMonthResponse.getData().getElectricity())){
                data.setRingNum(new BigDecimal(beforBeforMonthResponse.getData().getElectricity()));
            }else{
                data.setRingNum(BigDecimal.ZERO);
            }
            if(Objects.isNull(data.getTotal()) || Objects.isNull(data.getRingNum())
                    || data.getTotalNum().compareTo(BigDecimal.ZERO) ==0  || data.getRingNum().compareTo(BigDecimal.ZERO) ==0 ){
               data.setRingRate("0");
            }else{
               data.setRingRate(new BigDecimal(data.getTotal()).divide(data.getRingNum(),2,BigDecimal.ROUND_HALF_UP).toString());
        }
    }
        param.setDate(DateUtil.getBeforMonthStr(new Date(),13).substring(0,7));
        BaseResponse<EnergyTotalDataResponse> beforYearMonthResponse = HKService.energyTotal(param);
        if(beforYearMonthResponse != null && StringUtils.equals(beforYearMonthResponse.getCode(), HKConstants.RESPONSE_SUCCEE) && beforBeforMonthResponse.getData()!=null ){
            if(Objects.nonNull(beforYearMonthResponse.getData()) && StringUtils.isNotBlank(beforYearMonthResponse.getData().getElectricity())){
                data.setSameNum(new BigDecimal(beforYearMonthResponse.getData().getElectricity()));
            }else{
                data.setSameNum(BigDecimal.ZERO);
            }
            if(Objects.isNull(data.getTotal()) || Objects.isNull(data.getSameNum())
                    || data.getTotalNum().compareTo(BigDecimal.ZERO) ==0  || data.getSameNum().compareTo(BigDecimal.ZERO) ==0 ){
                data.setSameRate("0");
            }else{
                data.setSameRate(new BigDecimal(data.getTotal()).divide(data.getSameNum(),2,BigDecimal.ROUND_HALF_UP).toString());
            }
        }
    }
    /**
     * 通过安防平获取今日用电量
@@ -1668,18 +1747,21 @@
        if(platformList!=null && platformList.size()>0){
            List<PlatformJob> jobList = platformJobMapper.selectJoinList(PlatformJob.class, new MPJLambdaWrapper<PlatformJob>()
                    .selectAll( PlatformJob.class)
//                    .selectAs(Platform::getCode,PlatformJob::getPlatformCode)
                    .select("( select pl.CREATE_DATE from platform_log pl where t.id = pl.obj_id and pl.OBJ_TYPE = "+Constants.PlatformJobLogType.WORKING.getKey()+"  order by pl.CREATE_DATE desc  limit 1  ) as newStartDate")
                    //.select(" (  select sum(ifnull(pl.IO_QTY , 0 ))   from platform_wms_detail pl  where   pl.job_id = t.id and pl.isdeleted=0 )",PlatformJob::getWorkNum)
                    .select(" (  case when t.total_num is null  then ( select sum(pwd.IO_QTY) from platform_wms_detail pwd where pwd.JOB_ID = t.id  ) else t.total_num end )",PlatformJob::getWorkNum)
                    .apply("to_days(t.create_date) = to_days(now())")
                    .eq(Platform::getIsdeleted, Constants.ZERO)
                    .in(PlatformJob ::getStatus,new Integer[]{Constants.PlatformJobStatus.WORKING.getKey(),Constants.PlatformJobStatus.CALLED.getKey() })
//                    .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
                    .orderByDesc(PlatformJob::getStatus ));
            //月台状态:0=作业中;1=空闲中;2=作业超时;3=叫号
            for(Platform model : platformList){
                PlatformWorkDataVO platformDurationVO = new PlatformWorkDataVO();
                platformDurationVO.setPlatformName(model.getName());
                platformDurationVO.setPlatformId(model.getId());
                platformDurationVO.setPlatformCode(model.getCode());
                platformDurationVO.setPlatformSort(model.getSortnum());
                PlatformJob job = getJobFromListById(model.getId(),jobList);
                if(job != null){