| | |
| | | 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.RuleEventFiledOptionsRequest; |
| | | import com.doumee.core.haikang.model.param.request.RuleEventSearchRequest; |
| | | import com.doumee.core.haikang.model.param.request.SecureDevStatusTotalRequest; |
| | | import com.doumee.core.haikang.model.param.request.SensorStatusListRequest; |
| | | import com.doumee.core.haikang.model.param.respose.PageCameraInfoResponse; |
| | | import com.doumee.core.haikang.model.param.respose.PageFireChannelInfoResponse; |
| | | import com.doumee.core.haikang.model.param.respose.PageRegionInfoResponse; |
| | | import com.doumee.core.haikang.model.param.respose.PageSensorStatusResponse; |
| | | import com.doumee.core.haikang.model.param.respose.*; |
| | | import com.doumee.core.haikang.service.HKService; |
| | | import com.doumee.core.model.ApiResponse; |
| | | import com.doumee.core.utils.Constants; |
| | |
| | | private PlatformWmsDetailMapper platformWmsDetailMapper; |
| | | @Autowired |
| | | private PlatformMapper platformMapper; |
| | | @Autowired |
| | | private PlatformGroupMapper platformGroupMapper; |
| | | /** |
| | | * 获取区域树形结构数据 |
| | | * @return |
| | |
| | | if(carmeraListVOList!=null && carmeraListVOList.size()>0){ |
| | | for(PageRegionInfoResponse p : allList){ |
| | | for(CarmeraListVO c : carmeraListVOList){ |
| | | if(StringUtils.equals(p.getRegionIndexCode(),c.getReginCode()) |
| | | if(StringUtils.equals(p.getIndexCode(),c.getReginCode()) |
| | | && (StringUtils.contains(c.getName(),name) ||StringUtils.isBlank(name))){ |
| | | if(p.getCarmeraList()==null){ |
| | | p.setCarmeraList(new ArrayList<>()); |
| | |
| | | @Override |
| | | public List<PlatformGroupFinishVO> platformGroupFinish(){ |
| | | List<PlatformGroupFinishVO> data = new ArrayList<>(); |
| | | List<PlatformWmsDetail> jobList = platformWmsDetailMapper.selectJoinList(PlatformWmsDetail.class, new MPJLambdaWrapper<PlatformWmsDetail>() |
| | | .selectSum( PlatformWmsDetail::getIoQty) |
| | | .selectAs(PlatformGroup::getName, PlatformWmsDetail::getGroupName) |
| | | .leftJoin(PlatformJob.class,PlatformJob::getId,PlatformWmsDetail::getJobId) |
| | | .rightJoin(PlatformGroup.class,PlatformGroup::getId,PlatformJob::getPlatformGroupId) |
| | | .eq(PlatformWmsDetail::getIsdeleted, Constants.ZERO) |
| | | .eq(PlatformJob::getIsdeleted, Constants.ZERO) |
| | | .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())") |
| | | .groupBy(PlatformGroup::getId) |
| | | List<PlatformGroup> groups = platformGroupMapper.selectJoinList(PlatformGroup.class, new MPJLambdaWrapper<PlatformGroup>() |
| | | .select("(select sum(a.TOTAL_NUM) from platform_job a where a.PLATFORM_GROUP_ID=t.id and a.isdeleted=0 and a.status in(6,9,10) and to_days(a.done_date) = to_days(now()))",PlatformGroup::getOrtherTotalNum) |
| | | .selectAll(PlatformGroup.class) |
| | | .eq(PlatformGroup::getIsdeleted,Constants.ZERO) |
| | | ); |
| | | if(jobList!=null){ |
| | | for(PlatformWmsDetail d : jobList){ |
| | | if(groups!=null && groups.size()>0){ |
| | | List<PlatformWmsDetail> jobList = platformWmsDetailMapper.selectJoinList(PlatformWmsDetail.class, new MPJLambdaWrapper<PlatformWmsDetail>() |
| | | .selectSum( PlatformWmsDetail::getIoQty) |
| | | .selectAs(PlatformGroup::getId, PlatformWmsDetail::getGroupId) |
| | | .leftJoin(PlatformJob.class,PlatformJob::getId,PlatformWmsDetail::getJobId) |
| | | .eq(PlatformWmsDetail::getIsdeleted, Constants.ZERO) |
| | | .eq(PlatformJob::getIsdeleted, Constants.ZERO) |
| | | .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())") |
| | | .groupBy(PlatformJob::getPlatformGroupId) |
| | | ); |
| | | for(PlatformGroup d : groups){ |
| | | PlatformGroupFinishVO t = new PlatformGroupFinishVO(); |
| | | t.setFinishData(Constants.formatBigdecimal(d.getIoQty()).intValue()); |
| | | t.setPlatformGroupName(d.getGroupName()); |
| | | if(jobList!=null){ |
| | | for(PlatformWmsDetail dd : jobList){ |
| | | if(Constants.equalsInteger(dd.getGroupId(),d.getId())){ |
| | | d.setTotalNum(dd.getIoQty()); |
| | | } |
| | | } |
| | | } |
| | | t.setFinishData(Constants.formatBigdecimal(d.getTotalNum()).intValue()+Constants.formatBigdecimal(d.getOrtherTotalNum()).intValue()); |
| | | t.setPlatformGroupName(d.getName()); |
| | | data.add(t); |
| | | } |
| | | } |
| | | |
| | | return data; |
| | | } |
| | | |
| | | @Override |
| | | public CarWorkSituationVO carWorkSituation(int limit){ |
| | | CarWorkSituationVO carWorkSituationVO = new CarWorkSituationVO(); |
| | |
| | | ); |
| | | carWorkSituationVO.setPlatformLogList(platformLogList); |
| | | return carWorkSituationVO; |
| | | } |
| | | @Override |
| | | public List<SecurityDeviceDataVO> securityDeviceData(){ |
| | | List<SecurityDeviceDataVO> list = new ArrayList<>(); |
| | | BaseResponse<List<SecureDevStatusListResponse>> result = HKService.getSecureDevStatusList(new SecureDevStatusTotalRequest()) ; |
| | | if(result!=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) && result.getData()!=null){ |
| | | List<SecureDevStatusListResponse> rlist = result.getData(); |
| | | for(SecureDevStatusListResponse r :rlist){ |
| | | SecurityDeviceDataVO data = new SecurityDeviceDataVO(); |
| | | data.setDeviceType(r.getDevTypeName()); |
| | | data.setOnlineNum(r.getOnlineCount()); |
| | | data.setOfflineDeviceNum(r.getOfflineCount()); |
| | | data.setTotalNum(data.getOnlineNum() + data.getOfflineDeviceNum() ); |
| | | list.add(data); |
| | | } |
| | | } |
| | | /* |
| | | Random random = new Random(); |
| | | for (int i = 1; i <= 3; i++) { |
| | | SecurityDeviceDataVO data = new SecurityDeviceDataVO(); |
| | | data.setDeviceType("设备类型_"+i); |
| | | data.setOnlineNum(random.nextInt(10)); |
| | | data.setOfflineDeviceNum(random.nextInt(10)); |
| | | data.setTotalNum(data.getOnlineNum() + data.getOfflineDeviceNum() ); |
| | | list.add(data); |
| | | }*/ |
| | | return list; |
| | | } |
| | | @Override |
| | | public List<WaningEventDataVO> warningEventData(Integer type){ |
| | | List<WaningEventDataVO> list = new ArrayList<>(); |
| | | RuleEventSearchRequest request = new RuleEventSearchRequest(); |
| | | request.setFiledOptions(new ArrayList<>()); |
| | | RuleEventFiledOptionsRequest file = new RuleEventFiledOptionsRequest(); |
| | | file.setFieldName("event_type"); |
| | | file.setFieldValue("131588");//安防告警 |
| | | file.setType("eq"); |
| | | request.getFiledOptions().add(file); |
| | | BaseResponse< RuleEventSearchResponse> result = HKService.ruleEventSearch(request); |
| | | if(result!=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) && result.getData()!=null){ |
| | | List<RuleEventSearchDataResponse> rlist = result.getData().getList(); |
| | | if(rlist!=null){ |
| | | for(RuleEventSearchDataResponse r :rlist){ |
| | | WaningEventDataVO data = new WaningEventDataVO(); |
| | | data.setAddr(r.getSrc_name()); |
| | | data.setImg(r.getImage_url()); |
| | | data.setTitle(r.getEvent_type_name()); |
| | | data.setCreateDate(r.getCreate_time()); |
| | | // data.setContent(r.get); |
| | | list.add(data); |
| | | } |
| | | } |
| | | |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | @Override |
| | |
| | | }else{ |
| | | platformDurationVO.setWorkType(Constants.ZERO);//如果是卸货 |
| | | } |
| | | Integer workMinute = job.getWorkNum().multiply(new BigDecimal(60)).divide(model.getWorkRate(),0,BigDecimal.ROUND_HALF_UP).intValue(); |
| | | Integer workMinute = Constants.formatBigdecimal(job.getWorkNum()).multiply(new BigDecimal(60)).divide(model.getWorkRate(),0,BigDecimal.ROUND_HALF_UP).intValue(); |
| | | Date overDate = DateUtil.getXMinuteAfterDate(job.getNewStartDate(),workMinute + model.getWorkTimeoutAlarmTime());//预计完成时间 |
| | | platformDurationVO.setFinishTimeStr(DateUtil.DateToStr(overDate,"HH:mm")); |
| | | |
| | |
| | | public List<WorkEfficiencyVO> workEfficiency(Integer type){ |
| | | //作业类型 0自有车卸货 1自有车装货 2外协车卸货 3外协车装货 4市公司外协车卸货 |
| | | List<WorkEfficiencyVO> workEfficiencyVOList = new ArrayList<>(); |
| | | List<PlatformWmsDetail> jobList = platformWmsDetailMapper.selectJoinList(PlatformWmsDetail.class, new MPJLambdaWrapper<PlatformWmsDetail>() |
| | | 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) |
| | | .apply("to_days(t.create_date) = to_days(now())") |
| | | .eq(Platform::getIsdeleted, Constants.ZERO) |
| | | .in(PlatformJob::getStatus, Constants.PlatformJobStatus.DONE.getKey() |
| | | , Constants.PlatformJobStatus.AUTHED_LEAVE.getKey() |
| | | , Constants.PlatformJobStatus.LEAVED.getKey()) |
| | | .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}) |
| | | |
| | | ); |
| | | 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) |
| | |
| | | , 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; |
| | | for (int i = 0; i < 8; i++) { |
| | | lastTime = curTime;//上次的时间 |
| | | int curHour = 8+(i*2); |
| | | long time = curHour*60*60*1000 + today.getTime(); |
| | | curTime = curHour*60*60*1000 + today.getTime(); |
| | | WorkEfficiencyVO workEfficiencyVO = new WorkEfficiencyVO(); |
| | | workEfficiencyVO.setWorkTime(curHour+":00"); |
| | | workEfficiencyVO.setTotalWorkNum(0); |
| | | workEfficiencyVO.setWorkNum(0); |
| | | if(jobList!=null && jobList.size()>0){ |
| | | for(PlatformWmsDetail detail : jobList){ |
| | | if(detail.getDoneDate()!=null && detail.getDoneDate().getTime()<= time){ |
| | | for(PlatformJob detail : jobList){ |
| | | if(detail.getDoneDate()!=null && detail.getDoneDate().getTime()<= curTime){ |
| | | //当前量 |
| | | if(detail.getDoneDate()!=null && detail.getDoneDate().getTime() > lastTime){ |
| | | //区间值 取实近2小时内的累计值 |
| | | workEfficiencyVO.setWorkNum(Constants.formatIntegerNum(workEfficiencyVO.getWorkNum())+Constants.formatBigdecimal(detail.getIoQty()).intValue()); |
| | | workEfficiencyVO.setWorkNum(Constants.formatIntegerNum(workEfficiencyVO.getWorkNum())+Constants.formatBigdecimal(detail.getIoQty()).intValue() +Constants.formatBigdecimal(detail.getTotalNum()).intValue()); |
| | | //累积量 |
| | | } |
| | | //累积量 |
| | | curtotalNum += Constants.formatBigdecimal(detail.getIoQty()).intValue(); |
| | | } |
| | | } |
| | | curtotalNum += Constants.formatIntegerNum(workEfficiencyVO.getWorkNum()) ; |
| | | } |
| | | workEfficiencyVO.setTotalWorkNum(curtotalNum);//累计值 |
| | | workEfficiencyVOList.add(workEfficiencyVO); |
| | |
| | | List<PlatformDurationVO> platformDurationList = new ArrayList<>(); |
| | | List<Platform> jobList = platformMapper.selectJoinList(Platform.class, new MPJLambdaWrapper<Platform>() |
| | | .selectAll( Platform.class) |
| | | .select(" ( select ROUND( ifnull(SUM(pl.PARAM3),0)/60 , 2 ) from platform_log pl where pl.remark = t.id and to_days(pl.CREATE_DATE) =to_days now())",Platform::getWorkCountTime) |
| | | .select(" (select ROUND( SUM(ifnull(pl.PARAM3,0)/60 ) , 2 ) from platform_log pl where pl.remark = t.id and to_days(pl.CREATE_DATE) =to_days(now()))",Platform::getWorkCountTime) |
| | | .eq(Platform::getIsdeleted, Constants.ZERO) |
| | | ); |
| | | if(jobList!=null){ |