| | |
| | | |
| | | 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.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.request.*; |
| | | 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.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.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.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.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.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | |
| | | @Autowired |
| | | private PlatformLogMapper platformLogMapper; |
| | | @Autowired |
| | | private SystemDictDataBiz systemDictDataBiz; |
| | | @Autowired |
| | | private PlatformWarnEventMapper platformWarnEventMapper; |
| | | @Autowired |
| | | private PlatformJobMapper platformJobMapper; |
| | |
| | | private PlatformWmsDetailMapper platformWmsDetailMapper; |
| | | @Autowired |
| | | private PlatformMapper platformMapper; |
| | | @Autowired |
| | | private VisitsJoinMapper visitsJoinMapper; |
| | | @Autowired |
| | | private RetentionMapper retentionMapper; |
| | | @Autowired |
| | | private PlatformGroupMapper platformGroupMapper; |
| | | /** |
| | |
| | | return data; |
| | | } |
| | | private void initReginCameralList(List<PageRegionInfoResponse> allList,String name) { |
| | | List<CarmeraListVO> carmeraListVOList = cameraList(null); |
| | | CarmeraListVO re = new CarmeraListVO(); |
| | | re.setName(name); |
| | | List<CarmeraListVO> carmeraListVOList = cameraList(re); |
| | | if(carmeraListVOList!=null && carmeraListVOList.size()>0){ |
| | | for(PageRegionInfoResponse p : allList){ |
| | | for(CarmeraListVO c : carmeraListVOList){ |
| | |
| | | |
| | | List<CarmeraListVO> data = new ArrayList<>(); |
| | | for(PageCameraInfoResponse p : allList){ |
| | | CarmeraListVO t = new CarmeraListVO(); |
| | | t.setIndexCode(p.getCameraIndexCode()); |
| | | t.setReginCode(p.getRegionIndexCode()); |
| | | t.setName(p.getCameraName()); |
| | | t.setStatus(p.getStatus()); |
| | | t.setStatusName(p.getStatusName()); |
| | | data.add(t); |
| | | if(StringUtils.isBlank(req.getName()) ||StringUtils.contains(p.getCameraName(),req.getName())){ |
| | | CarmeraListVO t = new CarmeraListVO(); |
| | | t.setIndexCode(p.getCameraIndexCode()); |
| | | t.setReginCode(p.getRegionIndexCode()); |
| | | t.setName(p.getCameraName()); |
| | | t.setStatus(p.getStatus()); |
| | | t.setStatusName(p.getStatusName()); |
| | | data.add(t); |
| | | } |
| | | } |
| | | return data; |
| | | } |
| | |
| | | @Override |
| | | public List<SecurityDeviceDataVO> securityDeviceData(){ |
| | | List<SecurityDeviceDataVO> list = new ArrayList<>(); |
| | | BaseResponse<List<SecureDevStatusListResponse>> result = HKService.getSecureDevStatusList(new SecureDevStatusTotalRequest()) ; |
| | | SecureDevStatusTotalRequest request =new SecureDevStatusTotalRequest(); |
| | | request.setIncludeBool(""); |
| | | request.setRegionIds(new String[]{}); |
| | | BaseResponse<List<SecureDevStatusListResponse>> result = HKService.getSecureDevStatusList(request) ; |
| | | if(result!=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) && result.getData()!=null){ |
| | | List<SecureDevStatusListResponse> rlist = result.getData(); |
| | | for(SecureDevStatusListResponse r :rlist){ |
| | |
| | | return list; |
| | | } |
| | | @Override |
| | | public List<WaningEventDataVO> warningEventData(Integer type){ |
| | | List<WaningEventDataVO> list = new ArrayList<>(); |
| | | public WaningEventDataVO warningEventData(Integer type){ |
| | | WaningEventDataVO lastResult = new WaningEventDataVO(); |
| | | List<WaningEventDataListVO> list = new ArrayList<>(); |
| | | RuleEventSearchRequest request = new RuleEventSearchRequest(); |
| | | request.setPageNo(1); |
| | | request.setPageSize(10); |
| | | request.setFiledOptions(new ArrayList<>()); |
| | | request.setSorts(new ArrayList<>()); |
| | | RuleEventFiledOptionsRequest file = new RuleEventFiledOptionsRequest(); |
| | | file.setFieldName("event_type"); |
| | | file.setFieldValue("131588");//安防告警 |
| | | file.setType("eq"); |
| | | file.setType("in"); |
| | | request.getFiledOptions().add(file); |
| | | BaseResponse< RuleEventSearchResponse> result = HKService.ruleEventSearch(request); |
| | | SortRequest sort = new SortRequest(); |
| | | sort.setSortField("happen_time"); |
| | | sort.setSortType("desc"); |
| | | request.getSorts().add(sort); |
| | | BaseResponse<BaseListPageResponse< RuleEventSearchDataResponse>> result = HKService.ruleEventSearch(request); |
| | | if(result!=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) && result.getData()!=null){ |
| | | List<RuleEventSearchDataResponse> rlist = result.getData().getList(); |
| | | lastResult.setTotal(result.getData().getTotal()); |
| | | if(rlist!=null){ |
| | | String privateIp =systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.EVENT_FILES_PRIVATE_DOMAIN).getCode(); |
| | | String publicIp =systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.EVENT_FILES_PUBLIC_DOMAIN).getCode(); |
| | | for(RuleEventSearchDataResponse r :rlist){ |
| | | WaningEventDataVO data = new WaningEventDataVO(); |
| | | WaningEventDataListVO data = new WaningEventDataListVO(); |
| | | data.setAddr(r.getSrc_name()); |
| | | data.setImg(r.getImage_url()); |
| | | if(data.getImg()!=null){ |
| | | data.setImg(data.getImg().replace(privateIp,publicIp)); |
| | | } |
| | | data.setTitle(r.getEvent_type_name()); |
| | | data.setCreateDate(r.getCreate_time()); |
| | | data.setCreateDate(DateUtil.getPlusTime(DateUtil.getISO8601DateByStr(r.getHappen_time()))); |
| | | // data.setContent(r.get); |
| | | list.add(data); |
| | | } |
| | | } |
| | | |
| | | } |
| | | return list; |
| | | lastResult.setList(list); |
| | | return lastResult; |
| | | } |
| | | @Override |
| | | public String getCarmeraPreviemUrl(CarmeraListVO param){ |
| | | CameraPreviewURLsRequest request = new CameraPreviewURLsRequest(); |
| | | request.setCameraIndexCode(param.getIndexCode()); |
| | | BaseResponse<CamerasPreviewURLsResponse> result = HKService.cameraPreviewURLs(request); |
| | | if(result!=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) && result.getData()!=null){ |
| | | return result.getData().getUrl(); |
| | | |
| | | } |
| | | return null; |
| | | } |
| | | @Override |
| | | public VisitDataVO visitSecurityData(){ |
| | | //待访问、已登记、已离开 |
| | | |
| | | VisitDataVO result = new VisitDataVO(); |
| | | result.setWaitVisitNum(visitsJoinMapper.selectCount(new MPJLambdaWrapper<Visits>() |
| | | .eq(Visits::getIsdeleted,Constants.ZERO) |
| | | .in(Visits::getStatus,Constants.VisitStatus.pass,Constants.VisitStatus.xfSuccess )));//待访问 |
| | | result.setWaitVisitNum(visitsJoinMapper.selectCount(new MPJLambdaWrapper<Visits>() |
| | | .eq(Visits::getIsdeleted,Constants.ZERO) |
| | | .in(Visits::getStatus,Constants.VisitStatus.signout,Constants.VisitStatus.signin )));//已登记 |
| | | result.setWaitVisitNum(visitsJoinMapper.selectCount(new MPJLambdaWrapper<Visits>() |
| | | .eq(Visits::getIsdeleted,Constants.ZERO) |
| | | .in(Visits::getStatus,Constants.VisitStatus.signout )));//已签离 |
| | | PageWrap<Visits> pageWrap = new PageWrap<>(); |
| | | pageWrap.setCapacity(10); |
| | | pageWrap.setPage(1); |
| | | pageWrap.setModel(new Visits()); |
| | | pageWrap.getModel().setLevelStatus(Constants.ZERO); |
| | | pageWrap.getModel().setStatus(Constants.TWO); |
| | | PageData<Visits> visitsPageData = VisitsServiceImpl.retentionPageBiz(pageWrap,visitsJoinMapper,systemDictDataBiz); |
| | | List<VisitRetentionDataVO> list = new ArrayList<>(); |
| | | if(visitsPageData !=null && visitsPageData.getRecords() !=null && visitsPageData.getRecords().size()>0){ |
| | | for (Visits model : visitsPageData.getRecords()) { |
| | | VisitRetentionDataVO data = new VisitRetentionDataVO(); |
| | | data.setName(model.getName()); |
| | | data.setCompanyName(model.getCompanyName()); |
| | | data.setTimeOutMinute(Constants.formatIntegerNum(model.getTimeOut())); |
| | | list.add(data); |
| | | } |
| | | result.setRetentionNum(visitsPageData.getTotal()); |
| | | } |
| | | result.setVisitRetentionDataList(list);//访客滞留数据集合 |
| | | return result; |
| | | |
| | | } |
| | | @Override |
| | | public SecurityBoardVO centerSecurityData(){ |
| | | |
| | | |
| | | SecurityBoardVO data = new SecurityBoardVO(); |
| | | getParkingCarsNum(data);//获取车位数据 |
| | | Random random = new Random(); |
| | | |
| | | List<Retention> retentionList = retentionMapper.selectJoinList(Retention.class, |
| | | new MPJLambdaWrapper<Retention>() |
| | | .selectAll(Retention.class) |
| | | .selectAs(Company::getType,Retention::getCompanyType) |
| | | .leftJoin(Company.class,Company::getId,Retention::getCompanyId) |
| | | ); |
| | | |
| | | //今日在园人数 |
| | | data.setInParkTotal( |
| | | (int) retentionList.stream().filter(i->!Constants.equalsInteger(i.getType(),Constants.THREE)).count() |
| | | ); |
| | | //在园长期相关方人数 |
| | | data.setInternalTotal( |
| | | (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO) && Constants.equalsInteger(i.getCompanyType(),Constants.ZERO)).count() |
| | | ); |
| | | //在园访客数量 |
| | | data.setVisitTotal( |
| | | (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&Objects.isNull(i.getCompanyType())).count() |
| | | ); |
| | | //在园车辆 |
| | | data.setInternalCarTotal( |
| | | (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE)).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() |
| | | ); |
| | | //自由物流车数量 |
| | | data.setVisitCarTotal( |
| | | (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE) |
| | | &&Constants.equalsInteger(i.getCarType(),Constants.RetentionCarType.selfTruck)).count() |
| | | ); |
| | | //市公司卸货车数量 |
| | | data.setInternalJobCarTotal( |
| | | (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE) |
| | | &&Constants.equalsInteger(i.getCarType(),Constants.RetentionCarType.cityComTruck)).count() |
| | | ); |
| | | //外协车数量 |
| | | data.setRelatedJobCarTotal( |
| | | (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE) |
| | | &&Constants.equalsInteger(i.getCarType(),Constants.RetentionCarType.outTruck)).count() |
| | | ); |
| | | return data; |
| | | } |
| | | |
| | | private void getParkingCarsNum(SecurityBoardVO data) { |
| | | try { |
| | | BaseResponse<ParkingStatisticResponse> response = HKService.getParkingStatistics(); |
| | | if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) || response.getData()==null |
| | | ||response.getData().getTodayParkingDataDto() == null){ |
| | | return; |
| | | } |
| | | data.setParkingLotTotal(Constants.formatIntegerNum(response.getData().getTodayParkingDataDto().getTotalPlace()));//总车位 |
| | | data.setFreeParkingLot(Constants.formatIntegerNum(response.getData().getTodayParkingDataDto().getLeftPlace()));//剩余车位 |
| | | data.setParkingUseRate(Constants.formatBigdecimal(response.getData().getTodayParkingDataDto().getUseRate()));//车位使用率 |
| | | }catch (Exception e){ |
| | | |
| | | } |
| | | } |
| | | |
| | | @Override |
| | |
| | | .eq(Platform::getIsdeleted, Constants.ZERO) |
| | | .orderByAsc(Platform::getSortnum) |
| | | ); |
| | | /** |
| | | * WAIT_CONFIRM(0, "待确认","待确认" ), |
| | | * WART_SIGN_IN(1, "待签到","待签到" ), |
| | | * WAIT_CALL(2, "已签到","已签到"), |
| | | * IN_WAIT(3, "入园等待","入园等待" ), |
| | | * CALLED(4, "已叫号","已叫号" ), |
| | | * WORKING(5, "作业中","作业中" ), |
| | | * DONE(6, "作业完成 ","作业完成" ), |
| | | * TRANSFERING(7, "转移中","转移中" ), |
| | | * EXCEPTION(8, "异常挂起","异常挂起" ), |
| | | * AUTHED_LEAVE(9, "已授权离园","已授权离园" ), |
| | | * LEAVED(10, "已离园 ","已离园 " ), |
| | | * OVER_NUMBER(11, "已过号","已过号" ), |
| | | * CANCEL(12, "已取消","已取消" ), |
| | | */ |
| | | |
| | | if(platformList!=null && platformList.size()>0){ |
| | | List<PlatformJob> jobList = platformJobMapper.selectJoinList(PlatformJob.class, new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAll( PlatformJob.class) |