| | |
| | | private PlatformGroupMapper platformGroupMapper; |
| | | @Autowired |
| | | private TmsService tmsService; |
| | | @Autowired |
| | | private PlatformDeviceMapper platformDeviceMapper; |
| | | |
| | | @Value("${debug_model}") |
| | | private Boolean isDebug; |
| | |
| | | .select(PlatformJob::getTotalNum) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformJob::getOrigin,Constants.ONE) |
| | | .in(PlatformJob::getType,new Integer[]{0,2,4}) |
| | | .in(PlatformJob::getStatus, Constants.PlatformJobStatus.DONE.getKey() |
| | | , Constants.PlatformJobStatus.AUTHED_LEAVE.getKey() |
| | | , Constants.PlatformJobStatus.LEAVED.getKey()) |
| | |
| | | List<PlatformJob> jobs = platformJobMapper.selectList (new MPJLambdaWrapper<PlatformJob>() |
| | | .select(PlatformJob::getTotalNum) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .apply(" ( origin = 0 or origin is null) ") |
| | | .eq(PlatformJob::getPlatformGroupId,platformGroupId) |
| | | .apply("to_days(done_date) = to_days(now())") |
| | | .in(PlatformJob::getStatus, Constants.PlatformJobStatus.DONE.getKey() |
| | |
| | | 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())); |
| | | //2025年4月9日16:46:40 处理 包含托盘字眼的数据 不进行合计 |
| | | num = num.add (j.getItemName().indexOf("托盘")<Constants.ZERO?Constants.formatBigdecimal( j.getQty()):BigDecimal.ZERO); |
| | | GeneralVO d = new GeneralVO(); |
| | | d.setNum(Constants.formatBigdecimal(j.getQty())); |
| | | d.setName(j.getItemName()); |
| | |
| | | } |
| | | /** |
| | | * 【消防管控】看板-实时监测数据 |
| | | * 液压固定值:254001 |
| | | * 水压固定值:253958 |
| | | * @return |
| | | * |
| | | */ |
| | |
| | | MinitorDataSearchRequest param = new MinitorDataSearchRequest(); |
| | | param.setResourceTypeCodes(new String[]{}); |
| | | param.setRegionIndexCode("root000000"); |
| | | //60-液位 61-水压 |
| | | param.setResourceTypeCodes("60,61".split(",")); |
| | | param.setIncludeDown("1"); |
| | | param.setUserId("admin"); |
| | |
| | | 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(); |
| | | String pressureUnit = systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.PRESSURE_LEVEL_UNIT).getCode(); |
| | | String liquidUnit = systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.LIQUID_LEVEL_UNIT).getCode(); |
| | | if(response != null && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) |
| | | && response.getData()!=null ) { |
| | | List<MonitorDataSearchResponse> r = response.getData().getList(); |
| | |
| | | for(MonitorDataSearchResponse model : r){ |
| | | MonitorDataVO m = new MonitorDataVO(); |
| | | m.setName(model.getName()); |
| | | m.setLevel(Constants.equalsInteger(model.getType(),60)?liquid:pressure); |
| | | m.setType(model.getType()); |
| | | // m.setLevel(Constants.equalsInteger(model.getType(),60)?liquid:pressure); |
| | | m.setLevel(getLevelDataByDeviceName(m,model.getName(),Constants.equalsInteger(model.getType(),60)?liquidUnit:pressureUnit)); |
| | | m.setDataList(new ArrayList<>()); |
| | | if(model.getValues()!=null){ |
| | | List<MonitorDataInfoVO> dataList = new ArrayList<>(); |
| | | for(MonitorDataValResponse v : model.getValues()){ |
| | | //液压固定值:254001 |
| | | //水压固定值:253958 |
| | | if(Constants.equalsInteger(model.getType(),60)){ |
| | | if(v.getMonitorTypeCode().equals("254001")){ |
| | | MonitorDataInfoVO vm = new MonitorDataInfoVO(); |
| | |
| | | vm.setCateName(v.getMonitorSpecificName()); |
| | | vm.setCateCode(v.getMonitorTypeKey()); |
| | | vm.setTypeCode(v.getMonitorTypeCode()); |
| | | vm.setTypeName(v.getMonitorTypeName()); |
| | | dataList.add(vm); |
| | | } |
| | | }else{ |
| | |
| | | } |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | private String getLevelDataByDeviceName(MonitorDataVO m,String name,String unit) { |
| | | |
| | | /** |
| | | * { |
| | | * "name":"液", |
| | | * "regionIndexCodes": [ |
| | | * "root000000" |
| | | * ], |
| | | * "isSubRegion": true, |
| | | * "resourceType": "fireSensor", |
| | | * "pageNo": 1, |
| | | * "pageSize": 20, |
| | | * "orderBy": "name", |
| | | * "orderType": "desc" |
| | | * } |
| | | */ |
| | | String r = ""; |
| | | |
| | | ResourcesByParamsRequest param = new ResourcesByParamsRequest(); |
| | | param.setName(name); |
| | | param.setIsSubRegion(Boolean.TRUE); |
| | | param.setRegionIndexCodes(new String[]{"root000000"}); |
| | | param.setResourceType("fireSensor"); |
| | | param.setOrderType("desc"); |
| | | param.setOrderBy("name"); |
| | | param.setPageNo(1); |
| | | param.setPageSize(20); |
| | | BaseResponse<BaseListPageResponse<ResourcesByParamsResponse>> response = HKService.resourcesByParams(param); |
| | | if(response != null && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) |
| | | && response.getData()!=null ) { |
| | | String min = response.getData().getList().get(0).getFireproChannelMinValue(); |
| | | String max = response.getData().getList().get(0).getFireproChannelMaxvalue(); |
| | | m.setMax(max); |
| | | m.setMin(min); |
| | | r =StringUtils.defaultString(min,"-")+"~"+StringUtils.defaultString(max,"-") +unit; |
| | | } |
| | | return r; |
| | | |
| | | } |
| | | |
| | | |
| | |
| | | .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())")); |
| | | |
| | | |
| | | List<PlatformJob> finishDataList = platformJobMapper.selectJoinList(PlatformJob.class, |
| | | new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAs(PlatformJob::getId,PlatformJob::getId) |
| | | .selectAs(PlatformJob::getCreateDate,PlatformJob::getCreateDate) |
| | | .selectAs(PlatformJob::getTotalNum,PlatformJob::getTotalNum) |
| | | .selectAs(PlatformJob::getStatus,PlatformJob::getStatus) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey()) |
| | | .apply(queryType==0,"to_days(done_date) >= to_days(now()) -7") |
| | | .apply(queryType==1,"year(done_date) = year(now()) and month(done_date) = month(now())") |
| | | .apply(queryType==2,"year(done_date) = year(now())")); |
| | | |
| | | for (Date date : dayList) { |
| | | TransportMeasureVO data = new TransportMeasureVO(); |
| | | data.setPlanDate(date); |
| | |
| | | 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()))); |
| | | } |
| | | // 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())){ |
| | | //完成数 |
| | | // 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()))); |
| | | // } |
| | | } |
| | | } |
| | | } |
| | | for (PlatformJob job :finishDataList) { |
| | | if(queryType == 2){ |
| | | if(DateUtil.formatDate(date,"yyyy-MM").equals(DateUtil.formatDate(job.getDoneDate(),"yyyy-MM"))){ |
| | | data.setFinishTaskNum( data.getFinishTaskNum().add(Constants.formatBigdecimal(job.getTotalNum()))); |
| | | } |
| | | } |
| | | }else{ |
| | | if(DateUtil.formatDate(date,"yyyy-MM-dd").equals(DateUtil.formatDate(job.getDoneDate(),"yyyy-MM-dd"))){ |
| | | data.setFinishTaskNum( data.getFinishTaskNum().add(Constants.formatBigdecimal(job.getTotalNum()))); |
| | | } |
| | | } |
| | | } |
| | |
| | | .selectAll(PlatformJob.class) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformJob::getCarCodeFront,param.getCarCode()) |
| | | .in(PlatformJob::getStatus, |
| | | .notIn(PlatformJob::getStatus, |
| | | Constants.PlatformJobStatus.DONE.getKey(), |
| | | Constants.PlatformJobStatus.LEAVED.getKey(), |
| | | Constants.PlatformJobStatus.AUTHED_LEAVE.getKey(), |
| | | Constants.PlatformJobStatus.CALLED.getKey()) |
| | | Constants.PlatformJobStatus.CANCEL.getKey() |
| | | ) |
| | | .orderByAsc(PlatformJob::getId) |
| | | .last("limit 1")); |
| | | |
| | | dealJobDetailAndContractBiz(job,data); |
| | |
| | | */ |
| | | @Override |
| | | public AlarmDataVO alarmDataSumByCate(){ |
| | | AlarmDataVO alarmDataVO = getAlertDataByStartEndTime(DateUtil.getPlusTime2(DateUtil.addDaysToDate(new Date(),-1)) |
| | | AlarmDataVO alarmDataVO = getAlertDataByStartEndTime(DateUtil.getPlusTime2(Utils.Date.getStart(new Date())) |
| | | ,(DateUtil.getPlusTime2(new Date()))); |
| | | return alarmDataVO; |
| | | } |
| | |
| | | .select(PlatformJob::getTotalNum,PlatformJob::getTotalNum) |
| | | .select(PlatformJob::getStatus,PlatformJob::getStatus) |
| | | .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(done_date) = year('"+DateUtil.getPlusTime2(month)+"') and month(done_date) = month('"+DateUtil.getPlusTime2(month)+"') ")); |
| | | |
| | | List<PlatformJob> yearNum = platformJobMapper.selectJoinList(PlatformJob.class, |
| | | new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAs(PlatformJob::getId,PlatformJob::getId) |
| | | .selectAs(PlatformJob::getTotalNum,PlatformJob::getTotalNum) |
| | | .select(PlatformJob::getStatus,PlatformJob::getStatus) |
| | | .select(PlatformJob::getType,PlatformJob::getType) |
| | | // .selectCount(PlatformJob::getPlatformId,PlatformJob::getCountum) |
| | | .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(done_date) = year('"+DateUtil.getPlusTime2(year)+"') and done_date<= now() ")); |
| | | List<PlatformJob> monthLastNum = platformJobMapper.selectJoinList(PlatformJob.class, |
| | | new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAs(PlatformJob::getId,PlatformJob::getId) |
| | |
| | | .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey()) |
| | | .apply("year(done_date) = year('"+DateUtil.getPlusTime2(lastMonth)+"') and month(done_date) = month('"+DateUtil.getPlusTime2(lastMonth)+"') and done_date<= '" |
| | | +DateUtil.getPlusTime2(lastMonth)+"'")); |
| | | List<PlatformJob> yearNum = platformJobMapper.selectJoinList(PlatformJob.class, |
| | | new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAs(PlatformJob::getId,PlatformJob::getId) |
| | | .selectAs(PlatformJob::getTotalNum,PlatformJob::getTotalNum) |
| | | .select(PlatformJob::getStatus,PlatformJob::getStatus) |
| | | .select(PlatformJob::getType,PlatformJob::getType) |
| | | // .selectCount(PlatformJob::getPlatformId,PlatformJob::getCountum) |
| | | .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(done_date) = year('"+DateUtil.getPlusTime2(year)+"') and done_date<= '"+DateUtil.getPlusTime2(year)+"'")); |
| | | |
| | | List<PlatformJob> yearLastNum = platformJobMapper.selectJoinList(PlatformJob.class, |
| | | new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAs(PlatformJob::getId,PlatformJob::getId) |
| | |
| | | .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(done_date) = year('"+DateUtil.getPlusTime2(lastYear)+"') and done_date<= '"+DateUtil.getPlusTime2(lastYear)+"'")); |
| | | .apply("year(done_date) = year('"+DateUtil.getPlusTime2(lastYear)+"') and done_date<= now() ")); |
| | | |
| | | data.setMonthOutTotal(getSumTotalByList(monthNum,0,null));//本月出库量 |
| | | data.setMonthLastOutTotal(getSumTotalByList(monthLastNum,null,null) );//上月出库量 |
| | |
| | | .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(" to_days(create_date) <to_days(now())")); |
| | | .notIn(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(), |
| | | Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey() |
| | | ,Constants.PlatformJobStatus.CANCEL.getKey()) |
| | | .apply(" to_days(create_date) < to_days(now()) ") |
| | | ); |
| | | |
| | | //==========今天出入库完成量 |
| | | List<PlatformJob> currentDoneNum = platformJobMapper.selectJoinList(PlatformJob.class, |
| | |
| | | .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()) |
| | | .notIn(PlatformJob::getStatus,Constants.PlatformJobStatus.CANCEL.getKey()) |
| | | .apply(" to_days(done_date) = to_days(now())")); |
| | | //==========今天下发出入库任务---- |
| | | |
| | | //==========今天下发出入库任务 未完成的---- |
| | | List<PlatformJob> currentNum = 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) |
| | | .notIn(PlatformJob::getStatus,Constants.PlatformJobStatus.CALLED.getKey()) |
| | | .apply(" to_days(create_date) = to_days(now())")); |
| | | .notIn(PlatformJob::getStatus,Constants.PlatformJobStatus.CANCEL.getKey()) |
| | | .apply(" to_days(create_date) = to_days(now()) and done_date is null ")); |
| | | |
| | | 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(currentDoneNum,1,1));//今日完成量 |
| | | data.setCurrentOutDoneNum(getSumTotalByList(currentDoneNum,0,1));//今日完成量 |
| | | |
| | | //------------今日出入库效率---------------- |
| | | BigDecimal outHours = getTotalDoneTimes(currentDoneNum,0);// |
| | | BigDecimal inHours = getTotalDoneTimes(currentDoneNum,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));//当前入库总任务成量 |
| | | } |
| | | data.setCurrentInNum(beforeInNum.add(data.getCurrentInDoneNum()).add(currentInNum));//当前入库总任务成量 |
| | | data.setCurrentOutNum(beforeOutNum.add(data.getCurrentOutDoneNum()).add(currentOutNum));//当前出库总任务成量 |
| | | data.setTodayOutRate(getDayTotalRata(data.getCurrentOutDoneNum(),DateUtil.getToday()));//当日出库效率 |
| | | data.setTodayInRate(getDayTotalRata(data.getCurrentInDoneNum(),DateUtil.getToday()));//当日入库效率 |
| | | data.setMonthOutRate(getMonthRata(monthNum,Constants.ZERO));//本月出库效率 |
| | | data.setMonthInRate(getMonthRata(monthNum,Constants.ONE));//本月出库效率 |
| | | //------------今日出入库效率---------------- |
| | | // BigDecimal outHours = getTotalDoneTimes(currentDoneNum,0);// |
| | | // BigDecimal inHours = getTotalDoneTimes(currentDoneNum,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 outMonthHours = getTotalDoneTimes(monthNum,0).add(outHours);// |
| | | BigDecimal inMonthHours = getTotalDoneTimes(monthNum,1).add(inHours);// |
| | | if(outMonthHours.compareTo(new BigDecimal(0))>0){ |
| | | data.setMonthOutRate(data.getMonthOutTotal().divide(outMonthHours,0,BigDecimal.ROUND_HALF_UP));//本月入库效率 |
| | | } |
| | | if(inMonthHours.compareTo(new BigDecimal(0))>0){ |
| | | data.setMonthInRate(inMonthNum.divide(inMonthHours,0,BigDecimal.ROUND_HALF_UP));//本月入库效率 |
| | | } |
| | | // BigDecimal inMonthNum = getSumTotalByList(monthNum,1,null).add(data.getCurrentInDoneNum()); |
| | | // BigDecimal outMonthHours = getTotalDoneTimes(monthNum,0).add(outHours);// |
| | | // BigDecimal inMonthHours = getTotalDoneTimes(monthNum,1).add(inHours);// |
| | | // if(outMonthHours.compareTo(new BigDecimal(0))>0){ |
| | | // data.setMonthOutRate(data.getMonthOutTotal().divide(outMonthHours,0,BigDecimal.ROUND_HALF_UP));//本月出库效率 |
| | | // } |
| | | // if(inMonthHours.compareTo(new BigDecimal(0))>0){ |
| | | // data.setMonthInRate(inMonthNum.divide(inMonthHours,0,BigDecimal.ROUND_HALF_UP));//本月入库效率 |
| | | // } |
| | | return data; |
| | | } |
| | | |
| | |
| | | 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; |
| | | } |
| | | |
| | | |
| | | private BigDecimal getMonthRata(List<PlatformJob> list, Integer type) { |
| | | BigDecimal r = new BigDecimal(0); |
| | | if(list==null || list.size() == 0){ |
| | | return r; |
| | | } |
| | | List<PlatformJob> jobList= 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))) { |
| | | //出库 |
| | | jobList.add(job); |
| | | } |
| | | if (type != null && type == 1 && (Constants.equalsInteger(job.getType(), Constants.ZERO) || Constants.equalsInteger(job.getType(), Constants.TWO) || Constants.equalsInteger(job.getType(), Constants.FOUR))) { |
| | | //入库 |
| | | jobList.add(job); |
| | | } |
| | | } |
| | | if(CollectionUtils.isNotEmpty(jobList)){ |
| | | //获取任务数据 |
| | | List<String> jobDataList = list.stream().filter(i->Objects.nonNull(i.getDoneDate())).map(i->DateUtil.formatDate(i.getDoneDate(),"yyyy-MM-dd")).collect(Collectors.toList()); |
| | | for (String jobDate:jobDataList) { |
| | | //过滤当天的数据 |
| | | List<PlatformJob> platformJobList = list.stream(). |
| | | filter(i->jobDate.equals(DateUtil.formatDate(i.getDoneDate(),"yyyy-MM-dd"))).collect(Collectors.toList()); |
| | | if(CollectionUtils.isNotEmpty(platformJobList)){ |
| | | //获取今天的 |
| | | r = r.add(this.getDayTotalRata(getSumTotalByList(platformJobList,type,null),jobDate)); |
| | | } |
| | | } |
| | | } |
| | | return r; |
| | | } |
| | | |
| | | |
| | | private BigDecimal getDayTotalRata(BigDecimal totalAmount,String today) { |
| | | BigDecimal r = new BigDecimal(0); |
| | | //查询今日最早/最晚的作业数据 |
| | | List<PlatformLog> platformLogList = platformLogMapper.selectList(new QueryWrapper<PlatformLog>() |
| | | .lambda() |
| | | .apply(" ( to_days(param1) = '"+today+"' or to_days(param2) = '"+today+"' ) ") |
| | | ); |
| | | if(totalAmount.compareTo(BigDecimal.ZERO)==0||CollectionUtils.isEmpty(platformLogList)){ |
| | | return BigDecimal.ZERO; |
| | | } |
| | | if(platformLogList!=null && platformLogList.size()>0){ |
| | | return this.getWorkTime(totalAmount,platformLogList); |
| | | } |
| | | return r; |
| | | } |
| | | |
| | | /** |
| | | * 查询作业时长(小时) |
| | | * @param totalAmount |
| | | * @param platformLogList |
| | | * @return |
| | | */ |
| | | public BigDecimal getWorkTime(BigDecimal totalAmount,List<PlatformLog> platformLogList){ |
| | | if(CollectionUtils.isEmpty(platformLogList)){ |
| | | return BigDecimal.ZERO; |
| | | } |
| | | //获取开始时间 |
| | | List<Long> startTimeList = platformLogList.stream().filter(i->Objects.nonNull(i.getParam1())).map(i->DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",i.getParam1()).getTime()).collect(Collectors.toList()); |
| | | Long startTime = Collections.min(startTimeList); |
| | | //获取结束时间 |
| | | List<Long> endTimeList = platformLogList.stream().filter(i->Objects.nonNull(i.getParam2())).map(i->DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",i.getParam2()).getTime()).collect(Collectors.toList()); |
| | | Long endTime = Collections.max(endTimeList); |
| | | if(Objects.isNull(startTime) |
| | | || Objects.isNull(endTime) || (startTime>=endTime)){ |
| | | return BigDecimal.ZERO; |
| | | } |
| | | return totalAmount.divide(new BigDecimal(( endTime - startTime )+"").divide(new BigDecimal("3600000"),2,BigDecimal.ROUND_HALF_UP),2,BigDecimal.ROUND_HALF_UP) ; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | private BigDecimal getSumTotalByList(List<PlatformJob> list,Integer type,Integer status) { |
| | | BigDecimal r = new BigDecimal(0); |
| | |
| | | @Override |
| | | public VisitDataVO visitSecurityData(){ |
| | | //待访问、已登记、已离开 |
| | | |
| | | VisitDataVO result = new VisitDataVO(); |
| | | result.setWaitVisitNum(visitsJoinMapper.selectCount(new MPJLambdaWrapper<Visits>() |
| | | .eq(Visits::getIsdeleted,Constants.ZERO) |
| | | .apply("to_days(create_date)=to_days(now())") |
| | | .apply(" now() > STARTTIME and now() < ENDTIME") |
| | | .in(Visits::getStatus,Constants.VisitStatus.pass,Constants.VisitStatus.xfSuccess )));//待访问 |
| | | result.setRegisterVisitNum(visitsJoinMapper.selectCount(new MPJLambdaWrapper<Visits>() |
| | | .eq(Visits::getIsdeleted,Constants.ZERO) |
| | |
| | | ); |
| | | //在园长期相关方人数 |
| | | data.setRelatedTotal( |
| | | (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO) && Constants.equalsInteger(i.getCompanyType(),Constants.ZERO)).count() |
| | | (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.FOUR) ).count() |
| | | ); |
| | | //在园内部员工人数 |
| | | data.setInternalTotal( |
| | | (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO) && Constants.equalsInteger(i.getCompanyType(),Constants.ONE)).count() |
| | | (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO) ).count() |
| | | ); |
| | | //在园访客数量 |
| | | data.setVisitTotal( |
| | |
| | | data.setInParkCarTotal( |
| | | (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE)).count() |
| | | ); |
| | | //在园相关方车辆 |
| | | //在园车辆 |
| | | data.setInParkCarUserTotal( |
| | | (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.FIVE)).count() |
| | | ); |
| | | /* //在园相关方车辆 |
| | | data.setRelatedCarTotal( |
| | | (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE) |
| | | &&Constants.equalsInteger(i.getCarType(),Constants.RetentionCarType.relation)).count() |
| | |
| | | data.setInternalCarTotal( |
| | | (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE) |
| | | &&Constants.equalsInteger(i.getCarType(),Constants.RetentionCarType.internal)).count() |
| | | ); |
| | | );*/ |
| | | //来访车辆 |
| | | data.setVisitCarTotal( |
| | | (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE) |
| | | &&Constants.equalsInteger(i.getCarType(),Constants.RetentionCarType.visitor)).count() |
| | | &&Constants.equalsInteger(i.getCarType(),Constants.RetentionCarType.fkCar)).count() |
| | | ); |
| | | //自由物流车数量 |
| | | data.setVisitCarTotal( |
| | | (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE) |
| | | &&Constants.equalsInteger(i.getCarType(),Constants.RetentionCarType.selfTruck)).count() |
| | | &&Constants.equalsInteger(i.getCarType(),Constants.RetentionCarType.atwlzyCar)).count() |
| | | ); |
| | | //市公司卸货车数量 |
| | | data.setInternalJobCarTotal( |
| | | (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE) |
| | | &&Constants.equalsInteger(i.getCarType(),Constants.RetentionCarType.cityComTruck)).count() |
| | | &&Constants.equalsInteger(i.getCarType(),Constants.RetentionCarType.sgsxhCar)).count() |
| | | ); |
| | | //外协车数量 |
| | | data.setRelatedJobCarTotal( |
| | | (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE) |
| | | &&Constants.equalsInteger(i.getCarType(),Constants.RetentionCarType.outTruck)).count() |
| | | &&Constants.equalsInteger(i.getCarType(),Constants.RetentionCarType.wxysCar)).count() |
| | | ); |
| | | data.setVideoPluginUrl(getVideoUrl()); |
| | | return data; |
| | |
| | | .in(PlatformJob ::getStatus,new Integer[]{Constants.PlatformJobStatus.WORKING.getKey(),Constants.PlatformJobStatus.CALLED.getKey() }) |
| | | // .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId) |
| | | .orderByDesc(PlatformJob::getStatus ) |
| | | .orderByAsc(PlatformJob::getId ) |
| | | .orderByAsc(PlatformJob::getSortnum ) |
| | | ); |
| | | List<PlatformDevice> platformDevices = platformDeviceMapper.selectList(new QueryWrapper<PlatformDevice>().lambda().eq(PlatformDevice::getType,Constants.ONE) |
| | | .eq(PlatformDevice::getIsdeleted,Constants.ZERO).isNotNull(PlatformDevice::getDeviceId)); |
| | | |
| | | String videoUrl = getVideoUrl(); |
| | | //月台状态:0=作业中;1=空闲中;2=作业超时;3=叫号 |
| | | for(Platform model : platformList){ |
| | | PlatformWorkDataVO platformDurationVO = new PlatformWorkDataVO(); |
| | |
| | | platformDurationVO.setPlatformId(model.getId()); |
| | | platformDurationVO.setPlatformCode(model.getCode()); |
| | | platformDurationVO.setPlatformSort(model.getSortnum()); |
| | | if(CollectionUtils.isNotEmpty(platformDevices)){ |
| | | List<PlatformDevice> deviceList = platformDevices.stream().filter(i->Constants.equalsInteger(i.getPlatformId(),model.getId())).collect(Collectors.toList()); |
| | | if (CollectionUtils.isNotEmpty(deviceList)) { |
| | | platformDurationVO.setDeviceId(deviceList.get(Constants.ZERO).getDeviceId()); |
| | | platformDurationVO.setVideoPluginUrl(videoUrl); |
| | | } |
| | | } |
| | | PlatformJob job = getJobFromListById(model.getId(),jobList); |
| | | if(job != null){ |
| | | if(Constants.equalsInteger(job.getType(),Constants.ONE) || Constants.equalsInteger(job.getType(),Constants.THREE)){ |
| | |
| | | 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 )", create_date) |
| | | .apply("to_days(t.create_date) = to_days(now())") |
| | | .apply("to_days(t.done_date) = to_days(now())") |
| | | .eq(Platform::getIsdeleted, Constants.ZERO) |
| | | .in(PlatformJob::getStatus, Constants.PlatformJobStatus.DONE.getKey() |
| | | , Constants.PlatformJobStatus.AUTHED_LEAVE.getKey() |
| | |
| | | } |
| | | int curtotalNum = 0; |
| | | Date today = Utils.Date.getStart(new Date()); |
| | | long curTime=0, lastTime=0; |
| | | long curTime=0, lastTime=0 ; |
| | | for (int i = 0; i < 8; i++) { |
| | | lastTime = curTime;//上次的时间 |
| | | int curHour = 8+(i*2); |
| | |
| | | curtotalNum += Constants.formatIntegerNum(workEfficiencyVO.getWorkNum()) ; |
| | | } |
| | | workEfficiencyVO.setTotalWorkNum(curtotalNum);//累计值 |
| | | if(System.currentTimeMillis() < curTime){ |
| | | if((System.currentTimeMillis() + 2*60*60*1000) < curTime ){ |
| | | workEfficiencyVO.setTotalWorkNum(0); |
| | | } |
| | | workEfficiencyVOList.add(workEfficiencyVO); |
| | |
| | | //已作业数 |
| | | data.setWorkedNum(platformJobMapper.selectCount(new MPJLambdaWrapper<PlatformJob>() |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .and(w->{w.eq(PlatformJob::getStatus,Constants.PlatformJobStatus.WORKING.getKey());}) |
| | | .and(w->{w.in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey() |
| | | .and(w-> w.eq(PlatformJob::getStatus,Constants.PlatformJobStatus.WORKING.getKey()) |
| | | .or().in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey() |
| | | ,Constants.PlatformJobStatus.AUTHED_LEAVE.getKey() |
| | | ,Constants.PlatformJobStatus.LEAVED.getKey()) |
| | | .apply("to_days(done_date) = to_days(now())");}) |
| | | .and(w->{w.eq(PlatformJob::getStatus,Constants.PlatformJobStatus.EXCEPTION.getKey()) |
| | | .apply("to_days(error_date) = to_days(now())");}) |
| | | .and(w->{w.eq(PlatformJob::getStatus,Constants.PlatformJobStatus.TRANSFERING.getKey()) |
| | | .apply("to_days(trans_platform_date) = to_days(now())");}) |
| | | ,Constants.PlatformJobStatus.LEAVED.getKey()).apply("to_days(done_date) = to_days(now())") |
| | | .or().eq(PlatformJob::getStatus,Constants.PlatformJobStatus.EXCEPTION.getKey()).apply("to_days(done_date) = to_days(now())") |
| | | .or().eq(PlatformJob::getStatus,Constants.PlatformJobStatus.TRANSFERING.getKey()).apply("to_days(trans_platform_date) = to_days(now())") |
| | | ) |
| | | // .and(w->{w.eq(PlatformJob::getStatus,Constants.PlatformJobStatus.WORKING.getKey());}) |
| | | // .and(w->{w.in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey() |
| | | // ,Constants.PlatformJobStatus.AUTHED_LEAVE.getKey() |
| | | // ,Constants.PlatformJobStatus.LEAVED.getKey()) |
| | | // .apply("to_days(done_date) = to_days(now())");}) |
| | | // .and(w->{w.eq(PlatformJob::getStatus,Constants.PlatformJobStatus.EXCEPTION.getKey()) |
| | | // .apply("to_days(error_date) = to_days(now())");}) |
| | | // .and(w->{w.eq(PlatformJob::getStatus,Constants.PlatformJobStatus.TRANSFERING.getKey()) |
| | | // .apply("to_days(trans_platform_date) = to_days(now())");}) |
| | | ).intValue()); |
| | | |
| | | data.setVideoPluginUrl(getVideoUrl()); |