From 56a0692624bad9d65feaf0b31b8c28eb698f3c9f Mon Sep 17 00:00:00 2001 From: liukangdong <898885815@qq.com> Date: 星期四, 14 十一月 2024 17:48:52 +0800 Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java | 150 +++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 119 insertions(+), 31 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java index 2e64ef8..0be4d8b 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java @@ -8,11 +8,11 @@ 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; @@ -52,6 +52,8 @@ private PlatformWmsDetailMapper platformWmsDetailMapper; @Autowired private PlatformMapper platformMapper; + @Autowired + private PlatformGroupMapper platformGroupMapper; /** * 鑾峰彇鍖哄煙鏍戝舰缁撴瀯鏁版嵁 * @return @@ -95,7 +97,7 @@ 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<>()); @@ -248,28 +250,42 @@ @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(); @@ -279,6 +295,61 @@ ); 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 @@ -328,7 +399,7 @@ }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")); @@ -374,7 +445,22 @@ 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) @@ -386,28 +472,30 @@ , 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); @@ -419,7 +507,7 @@ 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){ -- Gitblit v1.9.3