| | |
| | | package com.doumee.service.business.impl.thrid; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.doumee.biz.system.SystemDictDataBiz; |
| | | import com.doumee.core.constants.ResponseStatus; |
| | | import com.doumee.core.exception.BusinessException; |
| | | import com.doumee.core.haikang.model.HKConstants; |
| | | import com.doumee.core.haikang.model.cars.response.CarsDeviceDetaisResponse; |
| | | import com.doumee.core.haikang.model.param.BaseListPageRequest; |
| | | import com.doumee.core.haikang.model.param.BaseListPageResponse; |
| | | import com.doumee.core.haikang.model.param.BaseResponse; |
| | | import com.doumee.core.haikang.model.param.BaseListPageRequest; |
| | | import com.doumee.core.haikang.model.param.request.*; |
| | | import com.doumee.core.haikang.model.param.respose.*; |
| | | import com.doumee.core.haikang.service.HKCarOpenService; |
| | | import com.doumee.core.haikang.service.HKService; |
| | | import com.doumee.core.model.ApiResponse; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.core.utils.DateUtil; |
| | | import com.doumee.core.utils.Utils; |
| | | import com.doumee.core.wms.model.response.WmsBaseResponse; |
| | | import com.doumee.core.wms.model.response.WmsInventoryDataResponse; |
| | | import com.doumee.core.wms.model.response.WmsInventoryJsonResponse; |
| | | import com.doumee.dao.business.*; |
| | | import com.doumee.dao.business.join.VisitsJoinMapper; |
| | | import com.doumee.dao.business.model.*; |
| | | import com.doumee.dao.system.model.SystemDictData; |
| | | import com.doumee.dao.web.reqeust.SavePlatformWarnEventDTO; |
| | | import com.doumee.dao.web.reqeust.CarsJobAndContractDTO; |
| | | import com.doumee.dao.web.response.platformReport.*; |
| | | import com.doumee.service.business.impl.PlatformJobServiceImpl; |
| | | import com.doumee.service.business.impl.VisitsServiceImpl; |
| | | import com.doumee.service.business.third.BoardService; |
| | | import com.doumee.service.business.third.WmsService; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.checkerframework.checker.units.qual.C; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | |
| | | @Autowired |
| | | private PlatformLogMapper platformLogMapper; |
| | | @Autowired |
| | | private WmsService wmsService; |
| | | @Autowired |
| | | private HiddenDangerMapper hiddenDangerMapper; |
| | | @Autowired |
| | | private PlatformWaterGasMapper platformWaterGasMapper; |
| | | @Autowired |
| | | private SystemDictDataBiz systemDictDataBiz; |
| | |
| | | @Autowired |
| | | private PlatformWmsDetailMapper platformWmsDetailMapper; |
| | | @Autowired |
| | | private PlatformWmsJobMapper platformWmsJobMapper; |
| | | @Autowired |
| | | private PlatformMapper platformMapper; |
| | | @Autowired |
| | | private VisitsJoinMapper visitsJoinMapper; |
| | |
| | | private RetentionMapper retentionMapper; |
| | | @Autowired |
| | | private PlatformGroupMapper platformGroupMapper; |
| | | /** |
| | | * 获取区域树形结构数据 |
| | | * @return |
| | | */ |
| | | @Override |
| | | public BoardStockListVO stockList( ){ |
| | | BoardStockListVO data = new BoardStockListVO(); |
| | | double toatalNum = 1d; |
| | | BigDecimal num = new BigDecimal(0); |
| | | List<GeneralVO> list = new ArrayList<>(); |
| | | try { |
| | | toatalNum =Double.parseDouble(systemDictDataBiz.queryByCode(Constants.WMS_PARAM,Constants.WMS_TOTAL_STOCK_NUM).getCode()) ; |
| | | }catch (Exception e){ |
| | | |
| | | } |
| | | WmsBaseResponse<WmsInventoryDataResponse> response = wmsService.getInventoryList(); |
| | | if(response!=null && response.getData()!=null && response.getData().size()>=0){ |
| | | List<WmsInventoryJsonResponse> t= response.getData().get(0).getJson(); |
| | | if(t!=null &&t.size()>0){ |
| | | for(WmsInventoryJsonResponse j :t){ |
| | | num = num.add (Constants.formatBigdecimal( j.getQty())); |
| | | GeneralVO d = new GeneralVO(); |
| | | d.setNum(Constants.formatBigdecimal(j.getQty())); |
| | | d.setName(j.getItem_name()); |
| | | list.add(d); |
| | | } |
| | | } |
| | | } |
| | | data.setStockList(list); |
| | | data.setNum(num); |
| | | if(toatalNum<=0){ |
| | | toatalNum =1; |
| | | } |
| | | data.setTotalNum(new BigDecimal(toatalNum)); |
| | | data.setUseRate(data.getTotalNum().divide(data.getNum(),2,BigDecimal.ROUND_UP)); |
| | | return data; |
| | | |
| | | } |
| | | /** |
| | | * 获取区域树形结构数据 |
| | | * @return |
| | |
| | | List<EnergyDataVO> loadCurveList = new ArrayList<>(); |
| | | try { |
| | | BaseResponse<List<EnergyTodayLoadDataResponse>> response = HKService.energyTodayLoadData(); |
| | | if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) || response.getData()==null ){ |
| | | if(response != null && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) && response.getData()!=null ){ |
| | | for (EnergyTodayLoadDataResponse model :response.getData()) { |
| | | EnergyDataVO data = new EnergyDataVO(); |
| | | data.setTimeData(model.getName()); |
| | | data.setEnergy(new BigDecimal(model.getName())); |
| | | data.setEnergy(new BigDecimal(StringUtils.defaultString(model.getValue(),"0"))); |
| | | loadCurveList.add(data); |
| | | } |
| | | } |
| | |
| | | return oilDataVOList; |
| | | } |
| | | |
| | | /** |
| | | * 【消防管控】看板-本年和本月新增消防设备/设施维护情况 |
| | | * @return |
| | | * |
| | | */ |
| | | @Override |
| | | public List<AlarmEventDataVO> fightingAdminAlertList(){ |
| | | List<AlarmEventDataVO> data = new ArrayList<>(); |
| | | |
| | | //查询24小时内的 |
| | | FindHomeAlarmInfoPageRequest param = new FindHomeAlarmInfoPageRequest(); |
| | | param.setHour(24); |
| | | param.setPage(1); |
| | | param.setUserId("admin"); |
| | | // param.setRegionIndexCodes("root000000"); |
| | | param.setAlarmStartTime(DateUtil.getPlusTime2(DateUtil.addDaysToDate(new Date(),-1))); |
| | | param.setAlarmEndTime(DateUtil.getPlusTime2(new Date())); |
| | | param.setPageSize(20); |
| | | BaseResponse<BaseListPageResponse<FindHomeAlarmInfoPageResponse>> response = HKService.findHomeAlarmInfoPage(param); |
| | | if(response != null && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) |
| | | && response.getData()!=null |
| | | &&response.getData().getList()!=null) { |
| | | for(FindHomeAlarmInfoPageResponse r : response.getData().getList()){ |
| | | AlarmEventDataVO t = new AlarmEventDataVO(); |
| | | BeanUtils.copyProperties(r,t); |
| | | data.add(t); |
| | | } |
| | | } |
| | | return data; |
| | | |
| | | } |
| | | /** |
| | | * 【消防管控】看板-实时监测数据 |
| | | * @return |
| | | * |
| | | */ |
| | | @Override |
| | | public List<MonitorDataVO> monitorDataList(){ |
| | | List<MonitorDataVO> list = new ArrayList<>(); |
| | | MinitorDataSearchRequest param = new MinitorDataSearchRequest(); |
| | | param.setResourceTypeCodes(new String[]{}); |
| | | param.setRegionIndexCode("root000000"); |
| | | param.setIncludeDown("1"); |
| | | param.setUserId("admin"); |
| | | BaseResponse<BaseListPageResponse<MonitorDataSearchResponse>> response = HKService.minitorDataSearch(param); |
| | | if(response != null && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) |
| | | && response.getData()!=null ) { |
| | | List<MonitorDataSearchResponse> r = response.getData().getList(); |
| | | if(r!= null){ |
| | | for(MonitorDataSearchResponse model : r){ |
| | | MonitorDataVO m = new MonitorDataVO(); |
| | | m.setName(model.getName()); |
| | | m.setDataList(new ArrayList<>()); |
| | | if(model.getValues()!=null){ |
| | | for(MonitorDataValResponse v : model.getValues()){ |
| | | MonitorDataInfoVO vm = new MonitorDataInfoVO(); |
| | | vm.setValue(v.getMonitorValue()); |
| | | vm.setCateName(v.getMonitorSpecificName()); |
| | | vm.setCateCode(v.getMonitorTypeKey()); |
| | | vm.setTypeCode(v.getMonitorTypeCode()); |
| | | vm.setTypeName(v.getMonitorTypeName()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 【消防管控】看板-告警处理分析集合 |
| | | * @return |
| | | * |
| | | */ |
| | | @Override |
| | | public List<AlarmDataVO> fightingAlarmHandleData(){ |
| | | List<AlarmDataVO> alarmHandleDataVOList = new ArrayList<>(); |
| | | Date now =DateUtil.StringToDate(DateUtil.getFirstDayCurrentMonth(),"yyyy-MM") ; |
| | | for (int i = 1; i <= 12; i++) { |
| | | Date start = DateUtil.addMonthToDate(now,-12+i); |
| | | Date end = DateUtil.addMonthToDate(now,-11+i); |
| | | AlarmDataVO t = getAlertDataByStartEndTime(DateUtil.getPlusTime2(start),DateUtil.getPlusTime2(end)); |
| | | alarmHandleDataVOList.add(t); |
| | | } |
| | | return alarmHandleDataVOList; |
| | | } |
| | | /** |
| | | * 【园区物料中心调度】看板-运输任务分析 |
| | | * |
| | | * @return |
| | | * |
| | | */ |
| | | @Override |
| | | public List<TransportMeasureVO> transportMeasure(Integer queryType){ |
| | | List<TransportMeasureVO> list = new ArrayList<>(); |
| | | Random random = new Random(); |
| | | List<Date> dayList = DateUtil.getDateListBeforDays(new Date(),7);//近7天 |
| | | if(Constants.equalsInteger(queryType,Constants.ONE)){ |
| | | dayList = DateUtil.getThisMonthDateList();//本月天数 |
| | | }else if(Constants.equalsInteger(queryType,Constants.TWO)){ |
| | | dayList = DateUtil.getThisYearMonthList();//本年月份 |
| | | } |
| | | List<PlatformJob> dataList = platformJobMapper.selectJoinList(PlatformJob.class, |
| | | new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAs(PlatformJob::getId,PlatformJob::getId) |
| | | .selectAs(PlatformJob::getTotalNum,PlatformJob::getTotalNum) |
| | | // .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .apply(queryType==0,"to_days(create_date) >= to_days(now()) -7") |
| | | .apply(queryType==1,"year(create_date) = year(now()) and month(create_date) = month(now())") |
| | | .apply(queryType==2,"year(create_date) = year(now())")); |
| | | for (Date date : dayList) { |
| | | TransportMeasureVO data = new TransportMeasureVO(); |
| | | data.setPlanDate(date); |
| | | data.setPlanTimes(0); |
| | | data.setPlanTaskNum(new BigDecimal(random.nextInt(0))); |
| | | data.setFinishTaskNum(new BigDecimal(0)); |
| | | for(PlatformJob job :dataList){ |
| | | if(queryType == 2){ |
| | | if(DateUtil.formatDate(date,"yyyy-MM").equals(DateUtil.formatDate(job.getCreateDate(),"yyyy-MM"))){ |
| | | data.setPlanTimes( data.getPlanTimes() +1); |
| | | data.setPlanTaskNum( data.getPlanTaskNum().add(Constants.formatBigdecimal(job.getTotalNum()))); |
| | | if(Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.DONE.getKey()) |
| | | ||Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.LEAVED.getKey()) |
| | | ||Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())){ |
| | | //完成数 |
| | | data.setFinishTaskNum( data.getFinishTaskNum().add(Constants.formatBigdecimal(job.getTotalNum()))); |
| | | } |
| | | } |
| | | }else{ |
| | | if(DateUtil.formatDate(date,"yyyy-MM-dd").equals(DateUtil.formatDate(job.getCreateDate(),"yyyy-MM-dd"))){ |
| | | data.setPlanTimes( data.getPlanTimes() +1); |
| | | data.setPlanTaskNum( data.getPlanTaskNum().add(Constants.formatBigdecimal(job.getTotalNum()))); |
| | | if(Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.DONE.getKey()) |
| | | ||Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.LEAVED.getKey()) |
| | | ||Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())){ |
| | | //完成数 |
| | | data.setFinishTaskNum( data.getFinishTaskNum().add(Constants.formatBigdecimal(job.getTotalNum()))); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | list.add(data); |
| | | } |
| | | return list; |
| | | } |
| | | /** |
| | | * 【园区物料中心调度】看板-根据车牌号查询作业信息和合同信息集合 |
| | | * |
| | | * @return |
| | | * |
| | | */ |
| | | @Override |
| | | public CarsJobAndContractVO getCarsJobDetails(CarsJobAndContractDTO param){ |
| | | CarsJobAndContractVO data = new CarsJobAndContractVO(); |
| | | if(StringUtils.isBlank(param.getCarCode())){ |
| | | return data; |
| | | } |
| | | PlatformJob job = platformJobMapper.selectJoinOne(PlatformJob.class, |
| | | new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAll(PlatformJob.class) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformJob::getCarCodeFront,param.getCarCode()) |
| | | .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey(),Constants.PlatformJobStatus.CALLED.getKey()) |
| | | .last("limit 1")); |
| | | if(job!=null){ |
| | | List<PlatformLog> logList = platformLogMapper.selectJoinList(PlatformLog.class, |
| | | new MPJLambdaWrapper<PlatformLog>() |
| | | .selectAll(PlatformLog.class) |
| | | .eq(PlatformLog::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformLog::getJobId,job.getId()) |
| | | .orderByDesc(PlatformLog::getCreateDate)); |
| | | data.setLogList(logList); |
| | | data.setName(job.getDriverName()); |
| | | data.setPhone(job.getDrivierPhone()); |
| | | data.setBillCode(job.getBillCode()); |
| | | data.setTotalNum(Constants.formatBigdecimal(job.getTotalNum())); |
| | | data.setContractList(new ArrayList<>()); |
| | | CarsContractVO tt = new CarsContractVO(); |
| | | tt.setIoCode(job.getContractNum()); |
| | | tt.setDetailList(new ArrayList<>()); |
| | | data.getContractList().add(tt); |
| | | |
| | | PlatformWmsJob wmsJob = platformWmsJobMapper.selectJoinOne(PlatformWmsJob.class, |
| | | new MPJLambdaWrapper<PlatformWmsJob>() |
| | | .selectAll(PlatformWmsJob.class) |
| | | .eq(PlatformWmsJob::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformWmsJob::getJobId,job.getId()) |
| | | .last("limit 1")); |
| | | if(wmsJob!=null){ |
| | | data.setName(wmsJob.getDriverName()); |
| | | data.setPhone(wmsJob.getDriverPhone()); |
| | | data.setBillCode(wmsJob.getCarryBillCode()); |
| | | data.setContractList(new ArrayList<>()); |
| | | |
| | | List<PlatformWmsDetail> detailList = platformWmsDetailMapper.selectJoinList(PlatformWmsDetail.class, |
| | | new MPJLambdaWrapper<PlatformWmsDetail>() |
| | | .selectAll(PlatformWmsDetail.class) |
| | | .eq(PlatformWmsDetail::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformWmsDetail::getWmsJobId,wmsJob.getId()) |
| | | .orderByDesc(PlatformLog::getCreateDate)); |
| | | if(detailList!=null){ |
| | | for(PlatformWmsDetail d : detailList){ |
| | | if(!isNotExistIocode(d.getIocode(),data.getContractList())){ |
| | | continue; |
| | | } |
| | | tt = new CarsContractVO(); |
| | | tt.setIoCode(d.getIocode()); |
| | | tt.setAddress(d.getRepertotyAddress()); |
| | | tt.setDetailList(getDetailListByCode(d.getIocode(),detailList,tt)); |
| | | data.getContractList().add(tt); |
| | | data.getTotalNum().add(Constants.formatBigdecimal(tt.getTotalNum()));//总运输量 |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | return data; |
| | | |
| | | } |
| | | |
| | | private List<PlatformWmsDetail> getDetailListByCode(String iocode, List<PlatformWmsDetail> detailList,CarsContractVO tt) { |
| | | List<PlatformWmsDetail> list = new ArrayList<>(); |
| | | BigDecimal total = new BigDecimal(0); |
| | | if(detailList!=null){ |
| | | for(PlatformWmsDetail d :detailList){ |
| | | if(StringUtils.equals(d.getIocode(),iocode)){ |
| | | list.add(d); |
| | | total.add(Constants.formatBigdecimal(d.getIoQty())); |
| | | } |
| | | } |
| | | } |
| | | tt.setTotalNum(total); |
| | | return list; |
| | | } |
| | | |
| | | private boolean isNotExistIocode(String iocode, List<CarsContractVO> detailList) { |
| | | if(detailList!=null){ |
| | | for(CarsContractVO d :detailList){ |
| | | if(StringUtils.equals(d.getIoCode(),iocode)){ |
| | | return true; |
| | | } |
| | | } |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | /** |
| | | * 【消防管控】看板-告警信息集合 |
| | | * |
| | | * @return |
| | | * |
| | | */ |
| | | @Override |
| | | public AlarmDataVO alarmDataSumByCate(){ |
| | | AlarmDataVO alarmDataVO = getAlertDataByStartEndTime(DateUtil.getPlusTime2(DateUtil.addDaysToDate(new Date(),-1)) |
| | | ,(DateUtil.getPlusTime2(new Date()))); |
| | | return alarmDataVO; |
| | | } |
| | | |
| | | /** |
| | | * 查询本月 本年的累计出库量统计数据,出库任务、入库任务量 |
| | | * @return |
| | | */ |
| | | @Override |
| | | public PlatformJobRunBoardNewVO platformJobCenterData(){ |
| | | PlatformJobRunBoardNewVO data = new PlatformJobRunBoardNewVO(); |
| | | Random random = new Random(); |
| | | |
| | | data.setMonthOutTimes(random.nextInt(1000)); |
| | | data.setYearOutTimes(random.nextInt(1000) * 11); |
| | | |
| | | Date month = Utils.Date.getStart(new Date());//本月 |
| | | Date lastMonth = DateUtil.addMonthToDate(month,-1);//上月 |
| | | Date year = Utils.Date.getStart(new Date());//今年 |
| | | Date lastYear = DateUtil.addYearToDate(year,-1);//去年 |
| | | |
| | | List<PlatformJob> monthNum = platformJobMapper.selectJoinList(PlatformJob.class, |
| | | new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAs(PlatformJob::getId,PlatformJob::getId) |
| | | .select(PlatformJob::getTotalNum,PlatformJob::getTotalNum) |
| | | // .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | // .in(PlatformJob::getType,Constants.ONE,Constants.THREE) |
| | | .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey()) |
| | | .apply("year(create_date) = year("+DateUtil.getPlusTime2(month)+") and month(create_date) = month("+DateUtil.getPlusTime2(month)+") and to_days(create_date)<= "+DateUtil.getPlusTime2(month))); |
| | | List<PlatformJob> monthLastNum = platformJobMapper.selectJoinList(PlatformJob.class, |
| | | new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAs(PlatformJob::getId,PlatformJob::getId) |
| | | // .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .in(PlatformJob::getType,Constants.ONE,Constants.THREE) |
| | | .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey()) |
| | | .apply("year(create_date) = year("+DateUtil.getPlusTime2(lastMonth)+") and month(create_date) = month("+DateUtil.getPlusTime2(lastMonth)+") and to_days(create_date)<= "+DateUtil.getPlusTime2(lastMonth))); |
| | | List<PlatformJob> yearNum = platformJobMapper.selectJoinList(PlatformJob.class, |
| | | new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAs(PlatformJob::getId,PlatformJob::getId) |
| | | .select(PlatformJob::getTotalNum,PlatformJob::getTotalNum) |
| | | .selectCount(PlatformJob::getPlatformId,PlatformJob::getCountum) |
| | | // .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .in(PlatformJob::getType,Constants.ONE,Constants.THREE) |
| | | .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey()) |
| | | .apply("year(create_date) = year("+DateUtil.getPlusTime2(year)+") and to_days(create_date)<= "+DateUtil.getPlusTime2(year))); |
| | | List<PlatformJob> yearLastNum = platformJobMapper.selectJoinList(PlatformJob.class, |
| | | new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAs(PlatformJob::getId,PlatformJob::getId) |
| | | .select(PlatformJob::getTotalNum,PlatformJob::getTotalNum) |
| | | // .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .in(PlatformJob::getType,Constants.ONE,Constants.THREE) |
| | | .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey()) |
| | | .apply("year(create_date) = year("+DateUtil.getPlusTime2(lastYear)+") and to_days(create_date)<= "+DateUtil.getPlusTime2(lastYear))); |
| | | |
| | | data.setMonthOutTotal(getSumTotalByList(monthNum,0,null));//本月出库量 |
| | | data.setMonthLastOutTotal(getSumTotalByList(monthLastNum,null,null) );//上有出库量 |
| | | data.setYearOutTotal(getSumTotalByList(yearNum,null,null) );//本年出库量 |
| | | data.setYearLastOutTotal(getSumTotalByList(yearLastNum,null,null) );//去年出库量 |
| | | data.setMonthOutTimes(monthNum!=null?monthNum.size():0); |
| | | data.setYearOutTimes(yearNum!=null?yearNum.size():0); |
| | | |
| | | //==========今天之前未完成出入库任务 |
| | | List<PlatformJob> beforeJobNum = platformJobMapper.selectJoinList(PlatformJob.class, |
| | | new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAs(PlatformJob::getId,PlatformJob::getId) |
| | | .selectAs(PlatformJob::getStatus,PlatformJob::getStatus) |
| | | .selectAs(PlatformJob::getType,PlatformJob::getType) |
| | | .select(PlatformJob::getTotalNum,PlatformJob::getTotalNum) |
| | | // .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .notIn(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey(),Constants.PlatformJobStatus.CALLED.getKey()) |
| | | .apply(" and to_days(create_date) <to_days(now())")); |
| | | |
| | | //==========今天出入库任务 |
| | | List<PlatformJob> currentNum = platformJobMapper.selectJoinList(PlatformJob.class, |
| | | new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAs(PlatformJob::getId,PlatformJob::getId) |
| | | .selectAs(PlatformJob::getStatus,PlatformJob::getStatus) |
| | | .selectAs(PlatformJob::getType,PlatformJob::getType) |
| | | .select(PlatformJob::getTotalNum,PlatformJob::getTotalNum) |
| | | // .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .notIn(PlatformJob::getStatus,Constants.PlatformJobStatus.CALLED.getKey()) |
| | | .apply("year(create_date) = year("+DateUtil.getPlusTime2(lastYear)+") and to_days(create_date)<= "+DateUtil.getPlusTime2(lastYear))); |
| | | |
| | | BigDecimal beforeOutNum = (getSumTotalByList(beforeJobNum,0,null));//今天之前未完成出库任务 |
| | | BigDecimal currentOutNum = (getSumTotalByList(currentNum,0,null));//今天下发出库任务 |
| | | BigDecimal beforeInNum = (getSumTotalByList(beforeJobNum,1,null));//今天之前未完成入库任务 |
| | | BigDecimal currentInNum = (getSumTotalByList(currentNum,1,null));//今天下发入库任务 |
| | | data.setCurrentInNum(beforeInNum.add(currentInNum));//当前入库总任务成量 |
| | | data.setCurrentOutNum(beforeOutNum.add(currentOutNum));//当前出库总任务成量 |
| | | data.setCurrentInDoneNum(getSumTotalByList(currentNum,0,1));//今日完成量 |
| | | data.setCurrentOutDoneNum(getSumTotalByList(currentNum,1,1));//今日完成量 |
| | | |
| | | //------------今日出入库效率---------------- |
| | | BigDecimal outHours = getTotalDoneTimes(currentNum,0);// |
| | | BigDecimal inHours = getTotalDoneTimes(currentNum,1);// |
| | | if(outHours.compareTo(new BigDecimal(0))>0){ |
| | | data.setTodayOutRate(data.getCurrentOutDoneNum().divide(outHours,2));//当前入库总任务成量 |
| | | } |
| | | if(inHours.compareTo(new BigDecimal(0))>0){ |
| | | data.setTodayInRate(data.getCurrentInDoneNum().divide(inHours,2));//当前入库总任务成量 |
| | | } |
| | | //------------本月出入库效率---------------- |
| | | BigDecimal outMonthNum = getSumTotalByList(monthNum,0,null).add(data.getCurrentOutDoneNum()); |
| | | BigDecimal inMonthNum = getSumTotalByList(monthNum,1,null).add(data.getCurrentInDoneNum()); |
| | | BigDecimal outYearHours = getTotalDoneTimes(yearNum,0).add(outHours);// |
| | | BigDecimal inYearHours = getTotalDoneTimes(yearNum,1).add(inHours);// |
| | | if(outYearHours.compareTo(new BigDecimal(0))>0){ |
| | | data.setMonthOutRate(outMonthNum.divide(outYearHours,2));//本月入库效率 |
| | | } |
| | | if(inYearHours.compareTo(new BigDecimal(0))>0){ |
| | | data.setMonthInRate(inMonthNum.divide(inYearHours,2));//本月入库效率 |
| | | } |
| | | return data; |
| | | } |
| | | |
| | | |
| | | private BigDecimal getDoneHoursByData(String start ,String end) { |
| | | List<PlatformLog> platformLogList = platformLogMapper.selectList(new QueryWrapper<PlatformLog>().lambda() |
| | | .apply("create_date >= '"+start+"' and create_date <= '"+end+"'") |
| | | .isNotNull(PlatformLog::getParam3) |
| | | .ne(PlatformLog::getParam3,Constants.ZERO+"")); |
| | | if(platformLogList!=null && platformLogList.size()>0){ |
| | | return new BigDecimal((double)(platformLogList.stream().map(m->Long.valueOf(m.getParam3())).reduce(Long.valueOf(0),Long::sum))/(double)60); |
| | | } |
| | | |
| | | return new BigDecimal(0); |
| | | |
| | | } |
| | | private BigDecimal getTotalDoneTimes(List<PlatformJob> list, Integer type) { |
| | | BigDecimal r = new BigDecimal(0); |
| | | if(list==null || list.size() == 0){ |
| | | return r; |
| | | } |
| | | List<Integer> jobIds= new ArrayList<>(); |
| | | for(PlatformJob job : list){ |
| | | if( !(Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.DONE.getKey()) |
| | | ||Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.LEAVED.getKey()) |
| | | ||Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey()))){ |
| | | //只查询完成数据 |
| | | continue; |
| | | } |
| | | if(type !=null &&type ==0 && (Constants.equalsInteger(job.getType(),Constants.ONE) ||Constants.equalsInteger(job.getType(),Constants.THREE))){ |
| | | //出库 |
| | | jobIds.add(job.getId()); |
| | | } |
| | | if(type !=null &&type ==1 && (Constants.equalsInteger(job.getType(),Constants.ZERO) ||Constants.equalsInteger(job.getType(),Constants.TWO)||Constants.equalsInteger(job.getType(),Constants.FOUR))){ |
| | | //入库 |
| | | jobIds.add(job.getId()); |
| | | } |
| | | } |
| | | if(jobIds.size()>0){ |
| | | //处理作业时长 |
| | | List<PlatformLog> platformLogList = platformLogMapper.selectList(new QueryWrapper<PlatformLog>().lambda() |
| | | .in(PlatformLog::getJobId,jobIds) |
| | | .isNotNull(PlatformLog::getParam3) |
| | | .ne(PlatformLog::getParam3,Constants.ZERO+"")); |
| | | if(platformLogList!=null && platformLogList.size()>0){ |
| | | return new BigDecimal((double)(platformLogList.stream().map(m->Long.valueOf(m.getParam3())).reduce(Long.valueOf(0),Long::sum))/(double)60); |
| | | } |
| | | } |
| | | return r; |
| | | } |
| | | |
| | | private BigDecimal getSumTotalByList(List<PlatformJob> list,Integer type,Integer status) { |
| | | BigDecimal r = new BigDecimal(0); |
| | | if(list==null || list.size() == 0){ |
| | | return r; |
| | | } |
| | | for(PlatformJob job : list){ |
| | | |
| | | if(type !=null &&type ==0 && !(Constants.equalsInteger(job.getType(),Constants.ONE) ||Constants.equalsInteger(job.getType(),Constants.THREE))){ |
| | | continue; |
| | | } |
| | | if(type !=null &&type ==1 && !(Constants.equalsInteger(job.getType(),Constants.ZERO) ||Constants.equalsInteger(job.getType(),Constants.TWO)||Constants.equalsInteger(job.getType(),Constants.FOUR))){ |
| | | continue; |
| | | } |
| | | if(status !=null &&status ==1 && !(Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.DONE.getKey()) |
| | | ||Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.LEAVED.getKey()) |
| | | ||Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey()))){ |
| | | continue; |
| | | } |
| | | // if(Constants.formatBigdecimal(job.getIoQty()).compareTo(new BigDecimal(0)) >0){ |
| | | // r.add( job.getIoQty()); |
| | | // }else{ |
| | | r.add(Constants.formatBigdecimal(job.getTotalNum())); |
| | | // } |
| | | } |
| | | return Constants.formatBigdecimal0Float(r); |
| | | } |
| | | |
| | | @Override |
| | | public BoardCarsListVO platformJobCarsList(){ |
| | | BoardCarsListVO data = new BoardCarsListVO(); |
| | | List<CarsDeviceDetaisResponse> detaisResponses = HKCarOpenService.getAllCarsDetais(); |
| | | data.setCarsList(detaisResponses); |
| | | if(data.getCarsList()!=null && data.getCarsList().size()>0){ |
| | | List<String> codes = new ArrayList<>(); |
| | | //设备状态 0:离线;1:在线;2:休眠 |
| | | int online = 0; |
| | | for(CarsDeviceDetaisResponse model:detaisResponses){ |
| | | if(Constants.equalsInteger(model.getStatus(),Constants.ONE) ||Constants.equalsInteger(model.getStatus(),Constants.TWO)){ |
| | | //如果是在线或者休眠,查询在途还是空闲 |
| | | codes.add(model.getPlateNum()); |
| | | }else |
| | | data.setOfflineNum(data.getOfflineNum()+1); |
| | | } |
| | | if(codes.size()>0){ |
| | | //状态 0待确认 1待签到 2等待叫号 3入园等待 4已叫号 5作业中 6作业完成 7转移中 8异常挂起 9已授权离园 10已离园 11 已过号 12取消(WMS) |
| | | long busyNum = platformJobMapper.selectCount(new QueryWrapper<PlatformJob>().lambda() |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .in(PlatformJob::getCarCodeFront,codes) |
| | | .in(PlatformJob::getStatus,Constants.PlatformJobStatus.WORKING.getKey() |
| | | ,Constants.PlatformJobStatus.WAIT_CALL.getKey() |
| | | ,Constants.PlatformJobStatus.CALLED.getKey() |
| | | ,Constants.PlatformJobStatus.IN_WAIT.getKey() |
| | | ,Constants.PlatformJobStatus.TRANSFERING.getKey() |
| | | ,Constants.PlatformJobStatus.WART_SIGN_IN.getKey() |
| | | ,Constants.PlatformJobStatus.WAIT_CONFIRM.getKey() |
| | | ,Constants.PlatformJobStatus.EXCEPTION.getKey()) |
| | | .groupBy(PlatformJob::getCarCodeFront)); |
| | | data.setBusyNum((int)busyNum);//在途有任务数量 |
| | | data.setIdleNum(codes.size() -data.getBusyNum());//无任务空闲数量 |
| | | } |
| | | } |
| | | |
| | | return data; |
| | | } |
| | | |
| | | public static AlarmDataVO getAlertDataByStartEndTime(String start,String end){ |
| | | AlarmDataVO alarmDataVO = new AlarmDataVO(); |
| | | FindAlarmBaseDataStatisticRequest param = new FindAlarmBaseDataStatisticRequest(); |
| | | param.setAlarmStartTime(start); |
| | | param.setAlarmEndTime(end); |
| | | param.setUserId("admin"); |
| | | BaseResponse<FindAlarmBaseDataStatisticResponse> response = HKService.findAlarmBaseDataStatistic(param); |
| | | if(response != null && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) |
| | | && response.getData()!=null ) { |
| | | alarmDataVO.setTotalNum(Constants.formatIntegerNum(response.getData().getTotalAlarmNum())); |
| | | alarmDataVO.setRealNum(Constants.formatIntegerNum(response.getData().getTotalAlarmNum())); |
| | | alarmDataVO.setErrNum(Constants.formatIntegerNum(response.getData().getMisReportAlarmNum())); |
| | | alarmDataVO.setLiftNum(Constants.formatIntegerNum(response.getData().getHandledAlarmNum())); |
| | | alarmDataVO.setProcessingNum(Constants.formatIntegerNum(response.getData().getUnHandedAlarmNum())); |
| | | alarmDataVO.setStartDate(start); |
| | | alarmDataVO.setEndDate(end); |
| | | } |
| | | return alarmDataVO; |
| | | } |
| | | /** |
| | | * 【消防管控】看板-本年和本月新增消防设备/设施维护情况 |
| | | * @return |
| | | */ |
| | | @Override |
| | | public YearDeviceDataVO yearFightingAdminDeviceData(){ |
| | | YearDeviceDataVO data = new YearDeviceDataVO(); |
| | | |
| | | FireStatisticRequest param = new FireStatisticRequest(); |
| | | param.setIndexCode("api_fire_statistic"); |
| | | BaseResponse<FireStatisticResponse> response = HKService.fireStatistic(param); |
| | | if(response != null && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) && response.getData()!=null ) { |
| | | data.setProtectNum(Constants.formatIntegerNum(response.getData().getMaintenanceNum())); |
| | | data.setPlanProtectTotal(Constants.formatIntegerNum(response.getData().getDeviceTotalNum())); |
| | | } |
| | | |
| | | param = new FireStatisticRequest(); |
| | | param.setIndexCode("api_fire_statistic_month"); |
| | | BaseResponse<FireStatisticResponse> response1 = HKService.fireStatisticMonth(param); |
| | | if(response1 != null && StringUtils.equals(response1.getCode(), HKConstants.RESPONSE_SUCCEE) |
| | | && response1.getData()!=null ) { |
| | | data.setMonthAddNum(Constants.formatIntegerNum(response1.getData().getMaintenanceNum())); |
| | | data.setMonthTotalNum(Constants.formatIntegerNum(response1.getData().getDeviceTotalNum())); |
| | | } |
| | | return data; |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 【消防管控】看板-分类和汇总的各状态设备数量 |
| | | * @return |
| | | */ |
| | | @Override |
| | | public FightingAdminCenterDataVO centerFightingAdminData(){ |
| | | FightingAdminCenterDataVO data = new FightingAdminCenterDataVO(); |
| | | List<DeviceNumByTypeVO> list = new ArrayList<>(); |
| | | FireDevStatusTotalRequest param = new FireDevStatusTotalRequest(); |
| | | param.setIncludeBool(1); |
| | | param.setRegionIds(new String[]{"root000000"}); |
| | | BaseResponse<List<FireDevStatusListResponse>> response = HKService.getFireDevStatusList(param); |
| | | if(response != null && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) && response.getData()!=null ){ |
| | | for(FireDevStatusListResponse r :response.getData()){ |
| | | DeviceNumByTypeVO t = new DeviceNumByTypeVO(); |
| | | t.setTypeName(r.getDevTypeName()); |
| | | t.setOfflineDeviceNum(Constants.formatIntegerNum(r.getOfflineFireDevCount())); |
| | | t.setAlarmDeviceNum(Constants.formatIntegerNum(r.getAlarmFireDevCount())); |
| | | t.setOnlineDeviceNum(Constants.formatIntegerNum(r.getOnlineFireDevCount())); |
| | | t.setErrDeviceNum(Constants.formatIntegerNum(r.getFaultFireDevCount())); |
| | | t.setTotalDeviceNum(Constants.formatIntegerNum(r.getTotalFireDevCount())); |
| | | list.add(t); |
| | | data.setOfflineDeviceNum(Constants.formatIntegerNum( data.getOfflineDeviceNum())+Constants.formatIntegerNum(r.getOfflineFireDevCount())); |
| | | data.setAlarmDeviceNum(Constants.formatIntegerNum( data.getAlarmDeviceNum())+Constants.formatIntegerNum(r.getAlarmFireDevCount())); |
| | | data.setOnlineDeviceNum(Constants.formatIntegerNum( data.getOnlineDeviceNum())+Constants.formatIntegerNum(r.getOnlineFireDevCount())); |
| | | data.setErrDeviceNum(Constants.formatIntegerNum( data.getErrDeviceNum())+Constants.formatIntegerNum(r.getFaultFireDevCount())); |
| | | data.setTotalDeviceNum(Constants.formatIntegerNum( data.getTotalDeviceNum())+Constants.formatIntegerNum(r.getTotalFireDevCount())); |
| | | } |
| | | } |
| | | data.setDeviceTypeList(list); |
| | | Long totalNum =hiddenDangerMapper.selectCount(new QueryWrapper<HiddenDanger>().lambda() |
| | | .eq(HiddenDanger::getIsdeleted,Constants.ZERO ) |
| | | .apply("to_days(create_date) = to_days(now())" ) ); |
| | | data.setDangerTotalNum(totalNum !=null?totalNum.intValue():0);//今日隐患数量 |
| | | totalNum =hiddenDangerMapper.selectCount(new QueryWrapper<HiddenDanger>().lambda() |
| | | .eq(HiddenDanger::getIsdeleted,Constants.ZERO ) |
| | | .in(HiddenDanger::getStatus,Constants.ONE,Constants.TWO ) |
| | | .apply("to_days(check_date) = to_days(now())" ) ); |
| | | data.setDangerDealedNum(totalNum !=null?totalNum.intValue():0);//今日处理隐患数量 |
| | | return data; |
| | | } |
| | | /** |
| | | * 用电总能耗同比、环比和区域用电量集合 |
| | | * @return |
| | |
| | | data.setGasQuantity(getDefaultData());//上月用气 |
| | | data.setMonthElectricity(getDefaultData());//本月用电 |
| | | data.setYesterdayElectricity(getDefaultData());//昨日用电 |
| | | getMonthElectricityData(data.getMonthElectricity());//通过安防平获取本月数据 |
| | | getMonthElectricityData(data.getMonthElectricity());//通过安防平获取本月用电量数据 |
| | | carbonElec = new BigDecimal(StringUtils.defaultString(data.getMonthElectricity().getTotal(), "0")); |
| | | getLastMonthElectricityData(data.getElectricityQuantity());//通过安防平获取上月数据 |
| | | String firstDate = DateUtil.getFirstDayOfThisMonth() +" 00:00:00"; |
| | | getLastMonthElectricityData(data.getElectricityQuantity());//通过安防平获取上月用电量数据 |
| | | getCurrentDateElectircityData(data.getTodayElectricity(),0);//通过安防平获取今日用电量数据 |
| | | getCurrentDateElectircityData(data.getYesterdayElectricity(),-1);//通过安防平获取昨日用电量数据 |
| | | String firstDate = DateUtil.getFirstDayCurrentMonth() +" 00:00:00"; |
| | | Date month0 = DateUtil.getDateFromString(firstDate); |
| | | Date month1 = DateUtil.increaseMonth(month0,-1);//上月 |
| | | Date month2 = DateUtil.increaseMonth(month0,-2);//上上月 |
| | | Date month3 = DateUtil.increaseMonth(month0,-12);//去年同月 |
| | | Date month3 = DateUtil.increaseMonth(month0,-13);//去年同月 |
| | | |
| | | List<PlatformWaterGas> list = platformWaterGasMapper.selectList(new QueryWrapper<PlatformWaterGas>() |
| | | .lambda() |
| | |
| | | data.getGasQuantity().setTotal(Constants.formatBigdecimal(model.getNum())+""); |
| | | } |
| | | if(model.getTimeInfo().getTime() == month2.getTime()){ |
| | | data.getGasQuantity().setSameNum(Constants.formatBigdecimal(model.getNum()) ); |
| | | data.getGasQuantity().setRingNum(Constants.formatBigdecimal(model.getNum()) ); |
| | | } |
| | | if(model.getTimeInfo().getTime() == month3.getTime()){ |
| | | data.getGasQuantity().setRingNum(Constants.formatBigdecimal(model.getNum()) ); |
| | | data.getGasQuantity().setSameNum(Constants.formatBigdecimal(model.getNum()) ); |
| | | } |
| | | |
| | | }else if(Constants.equalsInteger(model.getType(),Constants.ZERO)){ |
| | |
| | | data.getWaterQuantity().setTotal(Constants.formatBigdecimal(model.getNum())+""); |
| | | } |
| | | if(model.getTimeInfo().getTime() == month2.getTime()){ |
| | | data.getWaterQuantity().setSameNum(Constants.formatBigdecimal(model.getNum()) ); |
| | | data.getWaterQuantity().setRingNum(Constants.formatBigdecimal(model.getNum()) ); |
| | | } |
| | | if(model.getTimeInfo().getTime() == month3.getTime()){ |
| | | data.getWaterQuantity().setRingNum(Constants.formatBigdecimal(model.getNum()) ); |
| | | data.getWaterQuantity().setSameNum(Constants.formatBigdecimal(model.getNum()) ); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if( data.getGasQuantity().getTotalNum().compareTo(new BigDecimal(0)) !=0){ |
| | | //计算用气同比环比 |
| | | data.getGasQuantity().setSameRate(Constants.formatBigdecimal4Float(data.getGasQuantity().getSameNum().divide(data.getGasQuantity().getTotalNum())).doubleValue()*100 +""); |
| | | data.getGasQuantity().setRingRate(Constants.formatBigdecimal4Float(data.getGasQuantity().getRingNum().divide(data.getGasQuantity().getTotalNum())).doubleValue()*100 +""); |
| | | data.getGasQuantity().setSameRate(Constants.formatBigdecimal4Float(data.getGasQuantity().getSameNum().divide(data.getGasQuantity().getTotalNum(),4,BigDecimal.ROUND_HALF_UP)).doubleValue()*100 +""); |
| | | data.getGasQuantity().setRingRate(Constants.formatBigdecimal4Float(data.getGasQuantity().getRingNum().divide(data.getGasQuantity().getTotalNum(),4,BigDecimal.ROUND_HALF_UP)).doubleValue()*100 +""); |
| | | } |
| | | if( data.getWaterQuantity().getTotalNum().compareTo(new BigDecimal(0)) !=0){ |
| | | // //计算用水同比环比 |
| | | data.getWaterQuantity().setSameRate(Constants.formatBigdecimal4Float(data.getWaterQuantity().getSameNum().divide(data.getWaterQuantity().getTotalNum())).doubleValue()*100 +""); |
| | | data.getWaterQuantity().setRingRate(Constants.formatBigdecimal4Float(data.getWaterQuantity().getRingNum().divide(data.getWaterQuantity().getTotalNum())).doubleValue()*100 +""); |
| | | data.getWaterQuantity().setSameRate(Constants.formatBigdecimal4Float(data.getWaterQuantity().getSameNum().divide(data.getWaterQuantity().getTotalNum(),4,BigDecimal.ROUND_HALF_UP)).doubleValue()*100 +""); |
| | | data.getWaterQuantity().setRingRate(Constants.formatBigdecimal4Float(data.getWaterQuantity().getRingNum().divide(data.getWaterQuantity().getTotalNum(),4,BigDecimal.ROUND_HALF_UP)).doubleValue()*100 +""); |
| | | } |
| | | |
| | | /*计算碳排量,以下三个因素之和 |
| | |
| | | */ |
| | | private void getMonthElectricityData(EnergyModelDataVO data) { |
| | | BaseResponse<MonthDataByMeterTypeResponse> response = HKService.getCurrentMonthDataByMeterType("1"); |
| | | if(response != null && !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) && response.getData()!=null ){ |
| | | 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")); |
| | |
| | | * @param data |
| | | */ |
| | | private void getLastMonthElectricityData(EnergyModelDataVO data) { |
| | | BaseResponse<LastMonthFeeByMeterTypeResponse> response = HKService.lastMonthFeeByMeterType("1"); |
| | | if(response != null && !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) && response.getData()!=null ){ |
| | | 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")); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 通过安防平获取今日用电量 |
| | | * @param data |
| | | */ |
| | | private void getCurrentDateElectircityData(EnergyModelDataVO data,int days) { |
| | | EnergyTrendRequest param = new EnergyTrendRequest(); |
| | | param.setDate(DateUtil.getFomartDate(DateUtil.addDaysToDate(new Date(),days),"yyyy-MM-dd"));//日期 |
| | | param.setMeterType(1); |
| | | param.setShowType("4"); |
| | | param.setNodeType(2); |
| | | param.setNodeId("root000000"); |
| | | param.setPeriodType("day"); |
| | | BigDecimal total = new BigDecimal(0); |
| | | BaseResponse<EnergyTrendResponse> response = HKService.energyTrend(param); |
| | | if(response != null && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) && response.getData()!=null&& response.getData().getYvalues()!=null ){ |
| | | for (int i = 0; i < response.getData().getYvalues().get(0).getValue().length; i++) { |
| | | total = total.add(new BigDecimal(StringUtils.defaultString( response.getData().getYvalues().get(0).getValue()[i],"0"))); |
| | | } |
| | | |
| | | } |
| | | data.setTotal(Constants.formatBigdecimal2Float(total).toString()); |
| | | } |
| | | |
| | | private EnergyModelDataVO getDefaultData() { |
| | |
| | | public RegionEnergyListResponse energyRegionData(){ |
| | | RegionEnergyListResponse data = null; |
| | | BaseResponse<RegionEnergyListResponse> response = HKService.regionEnergyList("1"); |
| | | if(response != null && !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) && response.getData()!=null ){ |
| | | if(response != null && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) && response.getData()!=null ){ |
| | | data = response.getData(); |
| | | } |
| | | if(data == null){ |
| | |
| | | if(type >=0 && type <=2){ |
| | | //用水用电用气 |
| | | List<PlatformWaterGas> list = platformWaterGasMapper.selectList(new QueryWrapper<PlatformWaterGas>() |
| | | .select("DATE_FORMAT(TIME_INFO,'yyyy-MM') as time_info_str,sum(num) as num") |
| | | .select("DATE_FORMAT(TIME_INFO,'%Y-%m') as time_info_str,sum(num) as num") |
| | | .lambda() |
| | | .eq(PlatformWaterGas::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformWaterGas::getType,type) |
| | | .apply("time_info BETWEEN DATE_SUB(CURDATE(), INTERVAL 12 MONTH) AND CURDATE()")//近12个月 |
| | | .last(" groupby DATE_FORMAT(TIME_INFO,'yyyy-MM')") |
| | | .last(" group by DATE_FORMAT(TIME_INFO,'%Y-%m')") |
| | | ); |
| | | for (int i = 0; i < 12; i++) { |
| | | Date tempDate = DateUtil.increaseMonth(lastMonth,i); |
| | |
| | | param.setNodeId("root000000"); |
| | | param.setPeriodType("year"); |
| | | BaseResponse<EnergyTrendResponse> response = HKService.energyTrend(param); |
| | | if(response != null && !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) && response.getData()!=null&& response.getData().getYvalues()!=null ){ |
| | | if(response != null && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) && response.getData()!=null&& response.getData().getYvalues()!=null ){ |
| | | for (int i = 0; i < 12; i++) { |
| | | if(response.getData().getYvalues().size()>0 &&response.getData().getYvalues().get(0).getValue().length>i){ |
| | | //取相应的参数值 |
| | | energyDataVOList.get(0).setEnergy(new BigDecimal(response.getData().getYvalues().get(0).getValue()[i])); |
| | | energyDataVOList.get(i).setEnergy(new BigDecimal(StringUtils.defaultString(response.getData().getYvalues().get(0).getValue()[i],"0"))); |
| | | } |
| | | } |
| | | |
| | |
| | | List<WorkEfficiencyVO> workEfficiencyVOList = new ArrayList<>(); |
| | | List<PlatformJob> jobList = platformJobMapper.selectJoinList(PlatformJob.class, new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAll( PlatformJob.class) |
| | | .select("(select sum(ifnull(a.io_qty,0)) from platform_wms_detail a where a.isdeleted=0 and a.job_id =t.id )", PlatformJob::getIoQty) |
| | | // .select("(select sum(ifnull(a.io_qty,0)) from platform_wms_detail a where a.isdeleted=0 and a.job_id =t.id )", create_date) |
| | | .apply("to_days(t.create_date) = to_days(now())") |
| | | .eq(Platform::getIsdeleted, Constants.ZERO) |
| | | .in(PlatformJob::getStatus, Constants.PlatformJobStatus.DONE.getKey() |
| | |
| | | if(jobList==null || jobList.size()==0){ |
| | | return workEfficiencyVOList; |
| | | } |
| | | /* List<PlatformWmsDetail> jobList = platformWmsDetailMapper.selectJoinList(PlatformWmsDetail.class, new MPJLambdaWrapper<PlatformWmsDetail>() |
| | | .selectAll( PlatformWmsDetail.class) |
| | | .selectAs( PlatformJob::getDoneDate,PlatformWmsDetail::getDoneDate) |
| | | .leftJoin(PlatformJob.class,PlatformJob::getId,PlatformWmsDetail::getJobId) |
| | | .eq(PlatformWmsDetail::getIsdeleted, Constants.ZERO) |
| | | .eq(PlatformJob::getIsdeleted, Constants.ZERO) |
| | | .in(Constants.equalsInteger(type,Constants.ZERO),PlatformJob::getType,new Integer[]{0,2,4}) |
| | | .in(Constants.equalsInteger(type,Constants.ONE),PlatformJob::getType,new Integer[]{1,3}) |
| | | .in(PlatformJob::getStatus, Constants.PlatformJobStatus.DONE.getKey() |
| | | , Constants.PlatformJobStatus.AUTHED_LEAVE.getKey() |
| | | , Constants.PlatformJobStatus.LEAVED.getKey()) |
| | | .apply("to_days(t1.create_date) = to_days(now())") |
| | | );*/ |
| | | int curtotalNum = 0; |
| | | Date today = Utils.Date.getStart(new Date()); |
| | | long curTime=0, lastTime=0; |
| | |
| | | public List<PlatformWarnEvent> warningList(int limit){ |
| | | List<PlatformWarnEvent> platformLogList = platformWarnEventMapper.selectList(new QueryWrapper<PlatformWarnEvent>().lambda() |
| | | .eq(PlatformWarnEvent::getIsdeleted,Constants.ZERO) |
| | | .apply("to_days(create_date) = to_days(now())") |
| | | .orderByDesc(PlatformWarnEvent::getCreateDate) |
| | | .last(" limit "+limit) |
| | | ); |