|  |  |  | 
|---|
|  |  |  | 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.tms.model.request.TmsFacrotyCodeListRequest; | 
|---|
|  |  |  | import com.doumee.core.tms.model.request.TmsOrderNoFinishListRequest; | 
|---|
|  |  |  | import com.doumee.core.tms.model.request.TmsOutQtyAndVehicleQtyRequest; | 
|---|
|  |  |  | import com.doumee.core.tms.model.request.TmsSevenArrivalDetailsRequest; | 
|---|
|  |  |  | import com.doumee.core.tms.model.response.*; | 
|---|
|  |  |  | import com.doumee.dao.web.reqeust.CarsJobAndContractByJobIdDTO; | 
|---|
|  |  |  | import com.doumee.service.business.third.model.request.TmsFacrotyCodeListRequest; | 
|---|
|  |  |  | import com.doumee.service.business.third.model.request.TmsOrderNoFinishListRequest; | 
|---|
|  |  |  | import com.doumee.service.business.third.model.request.TmsOutQtyAndVehicleQtyRequest; | 
|---|
|  |  |  | import com.doumee.service.business.third.model.request.TmsSevenArrivalDetailsRequest; | 
|---|
|  |  |  | import com.doumee.core.utils.Constants; | 
|---|
|  |  |  | import com.doumee.core.utils.DateUtil; | 
|---|
|  |  |  | import com.doumee.core.utils.Utils; | 
|---|
|  |  |  | 
|---|
|  |  |  | import com.doumee.service.business.third.BoardService; | 
|---|
|  |  |  | import com.doumee.service.business.third.TmsService; | 
|---|
|  |  |  | import com.doumee.service.business.third.WmsService; | 
|---|
|  |  |  | import com.doumee.service.business.third.model.response.*; | 
|---|
|  |  |  | import com.github.xiaoymin.knife4j.core.util.CollectionUtils; | 
|---|
|  |  |  | import com.github.yulichang.wrapper.MPJLambdaWrapper; | 
|---|
|  |  |  | import io.swagger.annotations.ApiModelProperty; | 
|---|
|  |  |  | import lombok.extern.slf4j.Slf4j; | 
|---|
|  |  |  | import org.apache.commons.lang3.StringUtils; | 
|---|
|  |  |  | import org.springframework.beans.BeanUtils; | 
|---|
|  |  |  | 
|---|
|  |  |  | .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<WaningEventDataListVO> list = new ArrayList<>(); | 
|---|
|  |  |  | RuleEventSearchRequest request = new RuleEventSearchRequest(); | 
|---|
|  |  |  | request.setPageNo(1); | 
|---|
|  |  |  | request.setPageSize(10); | 
|---|
|  |  |  | request.setPageSize(1000); | 
|---|
|  |  |  | request.setFiledOptions(new ArrayList<>()); | 
|---|
|  |  |  | request.setSorts(new ArrayList<>()); | 
|---|
|  |  |  | RuleEventFiledOptionsRequest file = new RuleEventFiledOptionsRequest(); | 
|---|
|  |  |  | 
|---|
|  |  |  | if(type == 1){ | 
|---|
|  |  |  | file.setFieldValue("131588");//安防告警 | 
|---|
|  |  |  | }else  if(type == 2){ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | file.setFieldValue("131593");//人员告警 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | request.getFiledOptions().add(file); | 
|---|
|  |  |  | 
|---|
|  |  |  | sort.setSortField("happen_time"); | 
|---|
|  |  |  | sort.setSortType("desc"); | 
|---|
|  |  |  | request.getSorts().add(sort); | 
|---|
|  |  |  | int total =0; | 
|---|
|  |  |  | 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){ | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | if(DateUtil.getISO8601DateByStr(r.getHappen_time()).getTime() < Utils.Date.getStart(new Date()).getTime()){ | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | } | 
|---|
|  |  |  | total ++; | 
|---|
|  |  |  | WaningEventDataListVO data = new WaningEventDataListVO(); | 
|---|
|  |  |  | data.setCreateDate(DateUtil.getPlusTime(DateUtil.getISO8601DateByStr(r.getHappen_time()))); | 
|---|
|  |  |  | 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(DateUtil.getPlusTime(DateUtil.getISO8601DateByStr(r.getHappen_time()))); | 
|---|
|  |  |  | //                data.setContent(r.get); | 
|---|
|  |  |  | list.add(data); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | lastResult.setTotal(total); | 
|---|
|  |  |  | lastResult.setList(list); | 
|---|
|  |  |  | return lastResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | public    List<AlarmEventDataVO> fightingAdminAlertList(){ | 
|---|
|  |  |  | List<AlarmEventDataVO> data = new ArrayList<>(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //查询24小时内的 | 
|---|
|  |  |  | List<FindHomeAlarmInfoPageResponse> allList = new ArrayList<>(); | 
|---|
|  |  |  | boolean hasNext = true; | 
|---|
|  |  |  | int curTotal = 0; | 
|---|
|  |  |  | int curPage = 1; | 
|---|
|  |  |  | FindHomeAlarmInfoPageRequest param = new FindHomeAlarmInfoPageRequest(); | 
|---|
|  |  |  | param.setHour(24); | 
|---|
|  |  |  | param.setPage(1); | 
|---|
|  |  |  | param.setUserId("admin"); | 
|---|
|  |  |  | while (hasNext){ | 
|---|
|  |  |  | //分页遍历循环查询所有门禁设备数据 | 
|---|
|  |  |  | param.setPage(curPage); | 
|---|
|  |  |  | //        param.setRegionIndexCodes("root000000"); | 
|---|
|  |  |  | param.setAlarmStartTime(DateUtil.getFomartDate(new Date(),"yyyy-MM-dd") + " 00:00:00"); | 
|---|
|  |  |  | 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) { | 
|---|
|  |  |  | param.setAlarmStartTime(DateUtil.getFomartDate(new Date(),"yyyy-MM-dd") + " 00:00:00"); | 
|---|
|  |  |  | param.setAlarmEndTime(DateUtil.getPlusTime2(new Date())); | 
|---|
|  |  |  | param.setPageSize(50); | 
|---|
|  |  |  | BaseResponse<BaseListPageResponse<FindHomeAlarmInfoPageResponse>> response = HKService.findHomeAlarmInfoPage(param); | 
|---|
|  |  |  | if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "对不起,海康同步数据失败~"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | for(FindHomeAlarmInfoPageResponse r : response.getData().getList()){ | 
|---|
|  |  |  | AlarmEventDataVO t = new AlarmEventDataVO(); | 
|---|
|  |  |  | BeanUtils.copyProperties(r,t); | 
|---|
|  |  |  | data.add(t); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | if(DateUtil.getDateFromString(t.getAlarmTime()).getTime() >= Utils.Date.getStart(new Date()).getTime()){ | 
|---|
|  |  |  | data.add(t); | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | hasNext =false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | curTotal += 50; | 
|---|
|  |  |  | if(curTotal >= response.getData().getTotal()){ | 
|---|
|  |  |  | hasNext = false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(response.getData().getList() == null || response.getData().getList().size()==0){ | 
|---|
|  |  |  | hasNext =false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | curPage++; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return data; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | .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); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return data; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 【园区物料中心调度】看板-根据车牌号查询作业信息和合同信息集合 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | * | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public  CarsJobAndContractVO  getJobDetailsById(CarsJobAndContractByJobIdDTO param) { | 
|---|
|  |  |  | CarsJobAndContractVO data = new CarsJobAndContractVO(); | 
|---|
|  |  |  | if(param.getId() == null){ | 
|---|
|  |  |  | return  data; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | PlatformJob job = platformJobMapper.selectJoinOne(PlatformJob.class, | 
|---|
|  |  |  | new MPJLambdaWrapper<PlatformJob>() | 
|---|
|  |  |  | .selectAll(PlatformJob.class) | 
|---|
|  |  |  | .eq(PlatformJob::getId,param.getId()) | 
|---|
|  |  |  | .last("limit 1")); | 
|---|
|  |  |  | dealJobDetailAndContractBiz(job,data); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return data; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private void dealJobDetailAndContractBiz(PlatformJob job, CarsJobAndContractVO data) { | 
|---|
|  |  |  | if(job!=null){ | 
|---|
|  |  |  | List<PlatformLog>  logList = platformLogMapper.selectJoinList(PlatformLog.class, | 
|---|
|  |  |  | new MPJLambdaWrapper<PlatformLog>() | 
|---|
|  |  |  | 
|---|
|  |  |  | if(detailList!=null){ | 
|---|
|  |  |  | for(PlatformWmsDetail d : detailList){ | 
|---|
|  |  |  | if(isExistIocode(d.getIocode(),data.getContractList())){ | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | tt = new CarsContractVO(); | 
|---|
|  |  |  | tt.setIoCode(d.getIocode()); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return data; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private List<PlatformWmsDetail> getDetailListByCode(String iocode, List<PlatformWmsDetail> detailList,CarsContractVO tt) { | 
|---|
|  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public  PlatformJobRunBoardNewVO platformJobCenterData(){ | 
|---|
|  |  |  | PlatformJobRunBoardNewVO data = new PlatformJobRunBoardNewVO(); | 
|---|
|  |  |  | Random random = new Random(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | data.setMonthOutTimes(random.nextInt(1000)); | 
|---|
|  |  |  | data.setYearOutTimes(random.nextInt(1000) * 11); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | data.setMonthOutTimes(0); | 
|---|
|  |  |  | data.setYearOutTimes(0); | 
|---|
|  |  |  | 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::getType,PlatformJob::getType) | 
|---|
|  |  |  | .select(PlatformJob::getType,PlatformJob::getType) | 
|---|
|  |  |  | .select(PlatformJob::getTotalNum,PlatformJob::getTotalNum) | 
|---|
|  |  |  | .select(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()) | 
|---|
|  |  |  | .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>  monthLastNum = platformJobMapper.selectJoinList(PlatformJob.class, | 
|---|
|  |  |  | new MPJLambdaWrapper<PlatformJob>() | 
|---|
|  |  |  | 
|---|
|  |  |  | .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) | 
|---|
|  |  |  | // .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())")); | 
|---|
|  |  |  | 
|---|
|  |  |  | 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+"'") | 
|---|
|  |  |  | 
|---|
|  |  |  | return r; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private BigDecimal getSumTotalByList(List<PlatformJob> list,Integer type,Integer status) { | 
|---|
|  |  |  | private BigDecimal  getSumTotalByList(List<PlatformJob> list,Integer type,Integer status) { | 
|---|
|  |  |  | BigDecimal r = new BigDecimal(0); | 
|---|
|  |  |  | if(list==null || list.size() == 0){ | 
|---|
|  |  |  | return r; | 
|---|
|  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public    YearDeviceDataVO yearFightingAdminDeviceData(){ | 
|---|
|  |  |  | YearDeviceDataVO data = new YearDeviceDataVO(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | FireStatisticRequest param = new FireStatisticRequest(); | 
|---|
|  |  |  | param.setIndexCode("api_fire_statistic"); | 
|---|
|  |  |  | BaseResponse<FireStatisticResponse> response = HKService.fireStatistic(param); | 
|---|
|  |  |  | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | 
|---|
|  |  |  | data.setMonthTotalNum(Constants.formatIntegerNum(response1.getData().getDeviceTotalNum())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return data; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | 
|---|
|  |  |  | public  FightingAdminCenterDataVO centerFightingAdminData(){ | 
|---|
|  |  |  | FightingAdminCenterDataVO data = new FightingAdminCenterDataVO(); | 
|---|
|  |  |  | List<DeviceNumByTypeVO> list = new ArrayList<>(); | 
|---|
|  |  |  | FireDevStatusTotalRequest param = new FireDevStatusTotalRequest(); | 
|---|
|  |  |  | FindDeviceStatisticsRequest param1 = new FindDeviceStatisticsRequest(); | 
|---|
|  |  |  | param1.setRegionIndexCode("root000000"); | 
|---|
|  |  |  | BaseResponse<List<FindDeviceStatisticsResponse>> response = HKService.findDeviceStatistics(param1); | 
|---|
|  |  |  | if(response != null && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) && response.getData()!=null ){ | 
|---|
|  |  |  | for(FindDeviceStatisticsResponse r :response.getData()){ | 
|---|
|  |  |  | if(r.getDevices()!=null){ | 
|---|
|  |  |  | for(FindDeviceStatisticsInfoResponse td : r.getDevices()){ | 
|---|
|  |  |  | DeviceNumByTypeVO t = new DeviceNumByTypeVO(); | 
|---|
|  |  |  | t.setTypeName(td.getDeviceName()); | 
|---|
|  |  |  | //屏蔽数 | 
|---|
|  |  |  | t.setShieldDeviceNum(Constants.formatIntegerNum(t.getShieldDeviceNum() )+ Constants.formatIntegerNum(td.getShieldSensorCount())); | 
|---|
|  |  |  | //报警数 | 
|---|
|  |  |  | t.setAlarmDeviceNum(Constants.formatIntegerNum(t.getAlarmDeviceNum())+ Constants.formatIntegerNum(td.getAlarmSensorCount())); | 
|---|
|  |  |  | //正常数 | 
|---|
|  |  |  | t.setOnlineDeviceNum(Constants.formatIntegerNum(t.getOnlineDeviceNum())+Constants.formatIntegerNum(td.getNormalSensorCount())); | 
|---|
|  |  |  | //故障数 | 
|---|
|  |  |  | t.setErrDeviceNum(Constants.formatIntegerNum(t.getErrDeviceNum())+ Constants.formatIntegerNum(td.getFaultSensorCount())); | 
|---|
|  |  |  | //总设备数 | 
|---|
|  |  |  | t.setTotalDeviceNum(Constants.formatIntegerNum(t.getTotalDeviceNum())+ Constants.formatIntegerNum(td.getTotalSensorCount())); | 
|---|
|  |  |  | list.add(t); | 
|---|
|  |  |  | //                        data.setOfflineDeviceNum(Constants.formatIntegerNum( data.getOfflineDeviceNum())+Constants.formatIntegerNum(t.getOfflineDeviceNum())); | 
|---|
|  |  |  | data.setShieldDeviceNum(Constants.formatIntegerNum( data.getShieldDeviceNum())+Constants.formatIntegerNum(t.getShieldDeviceNum())); | 
|---|
|  |  |  | data.setAlarmDeviceNum(Constants.formatIntegerNum( data.getAlarmDeviceNum())+Constants.formatIntegerNum(t.getAlarmDeviceNum())); | 
|---|
|  |  |  | data.setOnlineDeviceNum(Constants.formatIntegerNum( data.getOnlineDeviceNum())+Constants.formatIntegerNum(t.getOnlineDeviceNum())); | 
|---|
|  |  |  | data.setErrDeviceNum(Constants.formatIntegerNum( data.getErrDeviceNum())+Constants.formatIntegerNum(t.getErrDeviceNum())); | 
|---|
|  |  |  | data.setTotalDeviceNum(Constants.formatIntegerNum( data.getTotalDeviceNum())+Constants.formatIntegerNum(t.getTotalDeviceNum())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /* FireDevStatusTotalRequest param = new FireDevStatusTotalRequest(); | 
|---|
|  |  |  | param.setIncludeBool(1); | 
|---|
|  |  |  | param.setRegionIds(new String[]{"root000000"}); | 
|---|
|  |  |  | BaseResponse<List<FireDevStatusListResponse>> response = HKService.getFireDevStatusList(param); | 
|---|
|  |  |  | 
|---|
|  |  |  | 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 ) | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if( data.getGasQuantity().getTotalNum().compareTo(new BigDecimal(0)) !=0){ | 
|---|
|  |  |  | //计算用气同比环比 | 
|---|
|  |  |  | data.getGasQuantity().setSameRate( | 
|---|
|  |  |  | (data.getGasQuantity().getTotalNum().subtract(data.getGasQuantity().getSameNum())).divide(data.getGasQuantity().getSameNum()).doubleValue()*100 +"" | 
|---|
|  |  |  | if(Constants.formatBigdecimal(data.getGasQuantity().getSameNum()).compareTo(new BigDecimal(0))!=0){ | 
|---|
|  |  |  | data.getGasQuantity().setSameRate( | 
|---|
|  |  |  | (data.getGasQuantity().getTotalNum().subtract(data.getGasQuantity().getSameNum())).divide(data.getGasQuantity().getSameNum(),4,BigDecimal.ROUND_HALF_UP).doubleValue()*100 +"" | 
|---|
|  |  |  | /*Constants.formatBigdecimal4Float(data.getGasQuantity().getSameNum() | 
|---|
|  |  |  | .divide(data.getGasQuantity().getTotalNum(),4,BigDecimal.ROUND_HALF_UP)).doubleValue()*100 +""*/); | 
|---|
|  |  |  | data.getGasQuantity().setRingRate( | 
|---|
|  |  |  | (data.getGasQuantity().getTotalNum().subtract(data.getGasQuantity().getRingNum())).divide(data.getGasQuantity().getRingNum()).doubleValue()*100 +"" | 
|---|
|  |  |  | //Constants.formatBigdecimal4Float(data.getGasQuantity().getRingNum().divide(data.getGasQuantity().getTotalNum(),4,BigDecimal.ROUND_HALF_UP)).doubleValue()*100 +"" | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(Constants.formatBigdecimal(data.getGasQuantity().getRingNum()).compareTo(new BigDecimal(0))!=0){ | 
|---|
|  |  |  | data.getGasQuantity().setRingRate( | 
|---|
|  |  |  | (data.getGasQuantity().getTotalNum().subtract(data.getGasQuantity().getRingNum())).divide(data.getGasQuantity().getRingNum(),4,BigDecimal.ROUND_HALF_UP).doubleValue()*100 +"" | 
|---|
|  |  |  | //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){ | 
|---|
|  |  |  | // //计算用水同比环比 | 
|---|
|  |  |  | 
|---|
|  |  |  | energyDataVOList.add(data); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | String lastYear = null; | 
|---|
|  |  |  | int lastMonths = 0,curMonths =0; | 
|---|
|  |  |  | String curYear =DateUtil.getFomartDate(new Date(),"yyyy"); | 
|---|
|  |  |  | for (int i = 0; i < 12; i++) { | 
|---|
|  |  |  | Date tempDate = DateUtil.increaseMonth(lastMonth,i); | 
|---|
|  |  |  | String tt =DateUtil.getFomartDate(tempDate,"yyyy"); | 
|---|
|  |  |  | if(!StringUtils.equals(curYear,tt)){ | 
|---|
|  |  |  | lastYear = tt; | 
|---|
|  |  |  | lastMonths = i+1;//去年的月份数 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | EnergyDataVO data = new EnergyDataVO(); | 
|---|
|  |  |  | data.setTimeData(DateUtil.getFomartDate(tempDate,"YYYY-MM")); | 
|---|
|  |  |  | //                data.setTimeData(DateUtil.getFomartDate(tempDate,(i+1)+"月")); | 
|---|
|  |  |  | data.setEnergy(new BigDecimal(0)); | 
|---|
|  |  |  | energyDataVOList.add(data); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //如果是用电数据 | 
|---|
|  |  |  | curMonths = 12 - lastMonths;//今年的月份数 | 
|---|
|  |  |  | EnergyTrendRequest param = new EnergyTrendRequest(); | 
|---|
|  |  |  | param.setDate(DateUtil.getFomartDate(new Date(),"yyyy"));//年份 | 
|---|
|  |  |  | param.setMeterType(1); | 
|---|
|  |  |  | param.setNodeType(2); | 
|---|
|  |  |  | param.setNodeId("root000000"); | 
|---|
|  |  |  | param.setPeriodType("year"); | 
|---|
|  |  |  | if(lastYear!=null){ | 
|---|
|  |  |  | //如果是用电数据 | 
|---|
|  |  |  | param.setDate(lastYear);//查询去年年份 | 
|---|
|  |  |  | 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 < lastMonths; i++) { //0,11,取值1-12 | 
|---|
|  |  |  | if(response.getData().getYvalues().size()>0 &&response.getData().getYvalues().get(0).getValue().length>curMonths+i){ | 
|---|
|  |  |  | //取相应的参数值 | 
|---|
|  |  |  | energyDataVOList.get(i).setEnergy(new BigDecimal(StringUtils.defaultString(response.getData().getYvalues().get(0).getValue()[curMonths+i],"0"))); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //如果是用电数据 | 
|---|
|  |  |  | param.setDate(curYear);//年份 | 
|---|
|  |  |  | 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 < 12; i++) { | 
|---|
|  |  |  | if(response.getData().getYvalues().size()>0 &&response.getData().getYvalues().get(0).getValue().length>i){ | 
|---|
|  |  |  | for (int i = lastMonths; i < 12; i++) { //12 取值 0 | 
|---|
|  |  |  | if(response.getData().getYvalues().size()>0 &&response.getData().getYvalues().get(0).getValue().length>i-lastMonths){ | 
|---|
|  |  |  | //取相应的参数值 | 
|---|
|  |  |  | energyDataVOList.get(i).setEnergy(new BigDecimal(StringUtils.defaultString(response.getData().getYvalues().get(0).getValue()[i],"0"))); | 
|---|
|  |  |  | energyDataVOList.get(i).setEnergy(new BigDecimal(StringUtils.defaultString(response.getData().getYvalues().get(0).getValue()[i-lastMonths],"0"))); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | .eq(Visits::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | .apply("to_days(create_date)=to_days(now())") | 
|---|
|  |  |  | .in(Visits::getStatus,Constants.VisitStatus.pass,Constants.VisitStatus.xfSuccess )));//待访问 | 
|---|
|  |  |  | result.setWaitVisitNum(visitsJoinMapper.selectCount(new MPJLambdaWrapper<Visits>() | 
|---|
|  |  |  | result.setRegisterVisitNum(visitsJoinMapper.selectCount(new MPJLambdaWrapper<Visits>() | 
|---|
|  |  |  | .eq(Visits::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | .apply("to_days(create_date)=to_days(now())") | 
|---|
|  |  |  | .in(Visits::getStatus,Constants.VisitStatus.signout,Constants.VisitStatus.signin )));//已登记 | 
|---|
|  |  |  | result.setWaitVisitNum(visitsJoinMapper.selectCount(new MPJLambdaWrapper<Visits>() | 
|---|
|  |  |  | result.setLevelNum(visitsJoinMapper.selectCount(new MPJLambdaWrapper<Visits>() | 
|---|
|  |  |  | .eq(Visits::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | .apply("to_days(create_date)=to_days(now())") | 
|---|
|  |  |  | .in(Visits::getStatus,Constants.VisitStatus.signout )));//已签离 | 
|---|
|  |  |  | 
|---|
|  |  |  | result.getVisitRetentionDataList().add(t); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | result.setRetentionNum(result.getVisitRetentionDataList().size()); | 
|---|
|  |  |  | return result; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | .selectAll(Retention.class) | 
|---|
|  |  |  | .selectAs(Company::getType,Retention::getCompanyType) | 
|---|
|  |  |  | .leftJoin(Company.class,Company::getId,Retention::getCompanyId) | 
|---|
|  |  |  | .eq(Retention::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //今日在园人数 | 
|---|
|  |  |  | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | platformDurationVO.setWorkType(Constants.ZERO);//如果是卸货 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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")); | 
|---|
|  |  |  | Integer workMinute = 0; | 
|---|
|  |  |  | Date overDate =null; | 
|---|
|  |  |  | if(model.getWorkRate()!=null && model.getWorkRate().compareTo(new BigDecimal(0)) !=0){ | 
|---|
|  |  |  | workMinute   = Constants.formatBigdecimal(job.getWorkNum()).multiply(new BigDecimal(60)).divide(model.getWorkRate(),0,BigDecimal.ROUND_HALF_UP).intValue(); | 
|---|
|  |  |  | overDate = DateUtil.getXMinuteAfterDate(job.getNewStartDate(),workMinute + model.getWorkTimeoutAlarmTime());//预计完成时间 | 
|---|
|  |  |  | platformDurationVO.setFinishTimeStr(DateUtil.DateToStr(overDate,"HH:mm")); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | platformDurationVO.setWorkNum(Constants.formatBigdecimal(job.getWorkNum()).intValue()); | 
|---|
|  |  |  | platformDurationVO.setCarNo(job.getCarCodeFront());//车牌号 | 
|---|
|  |  |  | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | platformDurationVO.setStatus(Constants.ZERO); //作业中 | 
|---|
|  |  |  | platformDurationVO.setWorkTime(PlatformJobServiceImpl.getWorkTime(job,platformLogMapper));//已工作时间 | 
|---|
|  |  |  | if(overDate.getTime() < System.currentTimeMillis() ){ | 
|---|
|  |  |  | if(overDate!=null && overDate.getTime() < System.currentTimeMillis() ){ | 
|---|
|  |  |  | model.setStatus(Constants.TWO); //作业已超时 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | 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() | 
|---|
|  |  |  | 
|---|
|  |  |  | data.setFreePlatform( | 
|---|
|  |  |  | list.stream().filter(i->Constants.formatIntegerNum(i.getWorkStatus())<=Constants.ZERO).collect(Collectors.toList()).size() | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | //查询今日月台个状态作业数量 | 
|---|
|  |  |  | /*  //查询今日月台个状态作业数量 | 
|---|
|  |  |  | List<PlatformJob> jobList =  platformJobMapper.selectJoinList(PlatformJob.class,new MPJLambdaWrapper<PlatformJob>() | 
|---|
|  |  |  | .selectAll(PlatformJob.class) | 
|---|
|  |  |  | .select("count(id)" ,PlatformJob::getCountum) | 
|---|
|  |  |  | .eq(PlatformJob::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | .apply("to_days(create_date) = to_days(now())" ) | 
|---|
|  |  |  | .groupBy(PlatformJob::getStatus ) | 
|---|
|  |  |  | .groupBy(PlatformJob::getStatus) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | if(jobList!=null){ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(jobList!=null){ | 
|---|
|  |  |  | //-------------TODO----------【看板】爱确认需求-------------- | 
|---|
|  |  |  | //     * 0待确认 1待签到 2等待叫号 3入园等待 4已叫号 5作业中 6作业完成 7转移中 8异常挂起 9已授权离园 10已离园 11 已过号 12已取消 | 
|---|
|  |  |  | for(PlatformJob model : jobList){ | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }*/ | 
|---|
|  |  |  | //预约数 | 
|---|
|  |  |  | data.setReservationCar(platformJobMapper.selectCount(new MPJLambdaWrapper<PlatformJob>() | 
|---|
|  |  |  | .eq(PlatformJob::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | .apply("to_days(create_date) = to_days(now())" )).intValue()); | 
|---|
|  |  |  | //作业中 | 
|---|
|  |  |  | data.setWorkingCar(platformJobMapper.selectCount(new MPJLambdaWrapper<PlatformJob>() | 
|---|
|  |  |  | .eq(PlatformJob::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.WORKING.getKey()) | 
|---|
|  |  |  | ).intValue()); | 
|---|
|  |  |  | //排队车 | 
|---|
|  |  |  | data.setLineUpCar(platformJobMapper.selectCount(new MPJLambdaWrapper<PlatformJob>() | 
|---|
|  |  |  | .eq(PlatformJob::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | .in(PlatformJob::getStatus,Constants.PlatformJobStatus.CALLED.getKey(), | 
|---|
|  |  |  | Constants.PlatformJobStatus.WAIT_CALL.getKey(), | 
|---|
|  |  |  | Constants.PlatformJobStatus.IN_WAIT.getKey())).intValue()); | 
|---|
|  |  |  | //已叫号 | 
|---|
|  |  |  | data.setCalledNum(platformJobMapper.selectCount(new MPJLambdaWrapper<PlatformJob>() | 
|---|
|  |  |  | .eq(PlatformJob::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | .apply("to_days(call_date) = to_days(now())" )).intValue()); | 
|---|
|  |  |  | //签到数 | 
|---|
|  |  |  | data.setSignedNum(platformJobMapper.selectCount(new MPJLambdaWrapper<PlatformJob>() | 
|---|
|  |  |  | .eq(PlatformJob::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | .apply("to_days(sign_date) = to_days(now())" )).intValue()); | 
|---|
|  |  |  | //今日完成数 | 
|---|
|  |  |  | data.setDoneNum(platformJobMapper.selectCount(new MPJLambdaWrapper<PlatformJob>() | 
|---|
|  |  |  | .eq(PlatformJob::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | .in(PlatformJob::getStatus,Constants.PlatformJobStatus.LEAVED.getKey(), | 
|---|
|  |  |  | Constants.PlatformJobStatus.AUTHED_LEAVE.getKey(), | 
|---|
|  |  |  | Constants.PlatformJobStatus.DONE.getKey()) | 
|---|
|  |  |  | .apply("to_days(done_date) = to_days(now())" )).intValue()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | data.setVideoPluginUrl(getVideoUrl()); | 
|---|
|  |  |  | String indexCodes = systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.HK_CHANGNEI_SCREEN_INDEXCODES).getCode(); | 
|---|
|  |  |  | if(StringUtils.isNotBlank(indexCodes)){ | 
|---|
|  |  |  | data.setVideoIndexCodes(indexCodes.split(",")); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //已作业数 | 
|---|
|  |  |  | data.setWorkedNum(platformJobMapper.selectCount(new MPJLambdaWrapper<PlatformJob>() | 
|---|
|  |  |  | .eq(PlatformJob::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | .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())") | 
|---|
|  |  |  | .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()); | 
|---|
|  |  |  | String indexCodes = systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.HK_CHANGNEI_SCREEN_INDEXCODES).getCode(); | 
|---|
|  |  |  | if(StringUtils.isNotBlank(indexCodes)){ | 
|---|
|  |  |  | data.setVideoIndexCodes(indexCodes.split(",")); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return  data; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | if(t.getTotalNum().compareTo(new BigDecimal(0)) !=0){ | 
|---|
|  |  |  | t.setUseRate(t.getCurrentNum().divide(t.getTotalNum(),4,BigDecimal.ROUND_HALF_UP)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(Constants.UNIT_TYPE == 1) { | 
|---|
|  |  |  | //处理单位成“箱”,一箱=5万支 | 
|---|
|  |  |  | t.setCurrentNum(Constants.formatBigdecimal(t.getCurrentNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP)); | 
|---|
|  |  |  | t.setTotalNum(Constants.formatBigdecimal(t.getTotalNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | result.getDetailList().add(t); | 
|---|
|  |  |  | result.setCurrentNum(result.getCurrentNum().add(t.getCurrentNum())); | 
|---|
|  |  |  | 
|---|
|  |  |  | data.setMaxAbility(new BigDecimal(0)); | 
|---|
|  |  |  | data.setHoursAbility(new BigDecimal(0)); | 
|---|
|  |  |  | data.setCurrentPlanNum(new BigDecimal(0)); | 
|---|
|  |  |  | data.setCurrentOrderNum(new BigDecimal(0)); | 
|---|
|  |  |  | data.setNoNeedTransportOrderNum(new BigDecimal(0)); | 
|---|
|  |  |  | data.setNeedTransportOrderNum(new BigDecimal(0)); | 
|---|
|  |  |  | data.setCurrentOrderNum(new BigDecimal(0)); | 
|---|
|  |  |  | data.setCrrentRestNum(new BigDecimal(0)); | 
|---|
|  |  |  | data.setCrrentOutNum(new BigDecimal(0)); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | TmsOutboundCapabilityResponse result=  tmsService.getOutboundCapability(param); | 
|---|
|  |  |  | if(result !=null){ | 
|---|
|  |  |  | String todayDate = DateUtil.getShortTime(new Date()); | 
|---|
|  |  |  | List<String> planCodes = new ArrayList<>(); | 
|---|
|  |  |  | List<String> todayCodes = new ArrayList<>(); | 
|---|
|  |  |  | String todayDate = DateUtil.getShortTime(new Date()); | 
|---|
|  |  |  | if(result.getCurrentDayOrderList()!=null && result.getCurrentDayOrderList().size()>0){ | 
|---|
|  |  |  | for(TmsOutboundCapabilityInfoResponse model :result.getCurrentDayOrderList()){ | 
|---|
|  |  |  | data.setCurrentOrderNum(data.getCurrentOrderNum().add(Constants.formatBigdecimal(model.getNcTotality())));//今日订单量 | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * DISPATCH_TYPE in(1,2) 且 TRANSPORT_CODE不为空,sum(NC_TOTALITY)  +      DISPATCH_TYPE not in(1,2) sum(NC_TOTALITY) | 
|---|
|  |  |  | *    今日出库下达的计划任务总量 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | if(StringUtils.isNotBlank(model.getTransportCode()) | 
|---|
|  |  |  | && (StringUtils.equals("1",model.getDispatchType()) || StringUtils.equals("2",model.getDispatchType()))){ | 
|---|
|  |  |  | data.setCurrentPlanNum(data.getCurrentPlanNum().add(Constants.formatBigdecimal(model.getNcTotality())));//今日订单量 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(!(StringUtils.equals("1",model.getDispatchType()) || StringUtils.equals("2",model.getDispatchType()))){ | 
|---|
|  |  |  | data.setCurrentPlanNum(data.getCurrentPlanNum().add(Constants.formatBigdecimal(model.getNcTotality())));//今日计划量 | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 今日下达出库的计划任务对应的运输车次数 | 
|---|
|  |  |  | * TRANSPORT_CODE不为空count(transport_code ) | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | if(StringUtils.isNotBlank(model.getTransportCode()) && notInList(model.getTransportCode(),planCodes)){ | 
|---|
|  |  |  | planCodes.add(model.getTransportCode()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 今日下达出库的计划任务对应的运输车次数 | 
|---|
|  |  |  | * TRANSPORT_CODE不为空count(transport_code ) | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | if(StringUtils.isNotBlank(model.getTransportCode()) && notInList(model.getTransportCode(),planCodes)){ | 
|---|
|  |  |  | planCodes.add(model.getTransportCode()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | *  out_date为当日,sum(NC_TOTALITY) 今日完成的出库作业任务总量 | 
|---|
|  |  |  | * TRANSPORT_CODE不为空 且out_date为当日 count(transport_code)     今日完成的出库作业任务的运输车次数 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | if(StringUtils.isNotBlank(model.getOutDate()) && model.getOutDate().length()> 10){ | 
|---|
|  |  |  | String tDate = model.getOutDate().substring(0,10); | 
|---|
|  |  |  | if(tDate.equals(todayDate)){ | 
|---|
|  |  |  | //如果是当日 | 
|---|
|  |  |  | data.setCrrentOutNum(data.getCrrentOutNum().add(Constants.formatBigdecimal(model.getNcTotality())));//今日订单量 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(StringUtils.isNotBlank(model.getTransportCode()) && notInList(model.getTransportCode(),todayCodes)){ | 
|---|
|  |  |  | todayCodes.add(model.getTransportCode()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | dealOutOrderBiz(data,model,planCodes,todayCodes,todayDate); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(result.getCurrentDayAgoOrderList()!=null && result.getCurrentDayAgoOrderList().size()>0){ | 
|---|
|  |  |  | for(TmsOutboundCapabilityInfoResponse model :result.getCurrentDayAgoOrderList()){ | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * out_date为空,sum(NC_TOTALITY)   昨天未完成出库计划任务 | 
|---|
|  |  |  | * out_date为空 且TRANSPORT_CODE不为空 * count(transport_code )   昨天未完成出库计划任务车次 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | if(StringUtils.isBlank(model.getOutDate())){ | 
|---|
|  |  |  | data.setCurrentPlanNum(data.getCurrentPlanNum().add(Constants.formatBigdecimal(model.getNcTotality())));//今日计划量 | 
|---|
|  |  |  | if(StringUtils.isNotBlank(model.getTransportCode()) && notInList(model.getTransportCode(),planCodes)){ | 
|---|
|  |  |  | planCodes.add(model.getTransportCode()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | dealOutOrderBiz(data,model,planCodes,todayCodes,todayDate); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | data.setCurrentPlanCarNum(planCodes.size());//今日计划车次 | 
|---|
|  |  |  | data.setCurrentPlanCarNum(planCodes.size());//今日任务车次 | 
|---|
|  |  |  | data.setCrrentOutCarNum(todayCodes.size());//今日出库车次 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | data.setCrrentRestNum(data.getCurrentPlanNum().subtract(data.getCrrentOutNum())); | 
|---|
|  |  |  | data.setCrrentRestCarNum(data.getCurrentPlanCarNum() -data.getCrrentOutCarNum()); | 
|---|
|  |  |  | //        data.setCrrentRestNum(data.getCurrentPlanNum().subtract(data.getCrrentOutNum())); | 
|---|
|  |  |  | //        data.setCrrentRestCarNum(data.getCurrentPlanCarNum() -data.getCrrentOutCarNum()); | 
|---|
|  |  |  | data.setCrrentRestNum(data.getCurrentPlanNum()); | 
|---|
|  |  |  | data.setCrrentRestCarNum(data.getCurrentPlanCarNum()); | 
|---|
|  |  |  | if(data.getCrrentRestNum().compareTo(new BigDecimal(0)) <=0){ | 
|---|
|  |  |  | data.setCrrentRestNum(new BigDecimal(0)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(data.getCrrentRestCarNum()<=0){ | 
|---|
|  |  |  | data.setCrrentRestCarNum(0); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //处理单位成“箱”,一箱=5万支 | 
|---|
|  |  |  | if(Constants.UNIT_TYPE == 1) { | 
|---|
|  |  |  | data.setMaxAbility(Constants.formatBigdecimal(data.getMaxAbility()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP)); | 
|---|
|  |  |  | data.setHoursAbility(Constants.formatBigdecimal(data.getHoursAbility()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP)); | 
|---|
|  |  |  | data.setCrrentRestNum(Constants.formatBigdecimal(data.getCrrentRestNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP)); | 
|---|
|  |  |  | data.setCurrentPlanNum(Constants.formatBigdecimal(data.getCurrentPlanNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP)); | 
|---|
|  |  |  | data.setCrrentOutNum(Constants.formatBigdecimal(data.getCrrentOutNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP)); | 
|---|
|  |  |  | data.setCurrentOrderNum(Constants.formatBigdecimal(data.getCurrentOrderNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP)); | 
|---|
|  |  |  | data.setNoNeedTransportOrderNum(Constants.formatBigdecimal(data.getNoNeedTransportOrderNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP)); | 
|---|
|  |  |  | data.setNeedTransportOrderNum(Constants.formatBigdecimal(data.getNeedTransportOrderNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 1、当前订单里:截止目前未配载订单量; | 
|---|
|  |  |  | * 2、当前任务量:截止目前已配载未出库订单量+无需配载的未出库任务量; | 
|---|
|  |  |  | * 3、当前任务量和剩余任务量统计逻辑一致; | 
|---|
|  |  |  | * @param data | 
|---|
|  |  |  | * @param model | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | private void dealOutOrderBiz(WholeProvinceBoardVO data, TmsOutboundCapabilityInfoResponse model,List<String> planCodes,List<String> todayCodes,  String todayDate ) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 当前订单量:截至目前未配载的数据 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | if(StringUtils.isBlank(model.getTransportCode()) | 
|---|
|  |  |  | &&( StringUtils.equals("1",model.getDispatchType()) || StringUtils.equals("2",model.getDispatchType()))){ | 
|---|
|  |  |  | data.setCurrentOrderNum(data.getCurrentOrderNum().add(Constants.formatBigdecimal(model.getNcTotality())));//当前订单量 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 当前任务量(和剩余任务里):截至目前已配载未出库的订单 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | if(StringUtils.isNotBlank(model.getTransportCode()) && StringUtils.isBlank(model.getOutDate())){ | 
|---|
|  |  |  | data.setCurrentPlanNum(data.getCurrentPlanNum().add(Constants.formatBigdecimal(model.getNcTotality())));//当前任务量(累计) | 
|---|
|  |  |  | data.setNeedTransportOrderNum(data.getNeedTransportOrderNum().add(Constants.formatBigdecimal(model.getNcTotality())));//同城剩余任务量(累计) | 
|---|
|  |  |  | if(notInList(model.getTransportCode(),planCodes)){ | 
|---|
|  |  |  | planCodes.add(model.getTransportCode()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | *   同城单子(无需配载但是未完成) | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | if(StringUtils.isBlank(model.getOutDate()) | 
|---|
|  |  |  | && !StringUtils.equals("1",model.getDispatchType()) && !StringUtils.equals("2",model.getDispatchType())){ | 
|---|
|  |  |  | data.setNoNeedTransportOrderNum(data.getNoNeedTransportOrderNum().add(Constants.formatBigdecimal(model.getNcTotality())));//同城剩余任务量(累计) | 
|---|
|  |  |  | data.setCurrentPlanNum(data.getCurrentPlanNum().add(Constants.formatBigdecimal(model.getNcTotality())));//当前任务量(累计) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 今日出库量,出库时间为今天的 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | if(StringUtils.isNotBlank(model.getOutDate()) && model.getOutDate().length()> 10){ | 
|---|
|  |  |  | String tDate = model.getOutDate().substring(0,10); | 
|---|
|  |  |  | if(tDate.equals(todayDate)){ | 
|---|
|  |  |  | //如果是当日 | 
|---|
|  |  |  | data.setCrrentOutNum(data.getCrrentOutNum().add(Constants.formatBigdecimal(model.getNcTotality())));//今日出库量 | 
|---|
|  |  |  | if(StringUtils.isNotBlank(model.getTransportCode()) && notInList(model.getTransportCode(),todayCodes)){ | 
|---|
|  |  |  | todayCodes.add(model.getTransportCode()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private boolean notInList(String transportCode, List<String> planCodes) { | 
|---|
|  |  |  | 
|---|
|  |  |  | TotalOutQtyNumVO  data = new TotalOutQtyNumVO(); | 
|---|
|  |  |  | data.setCurrentInNum(new BigDecimal(0)); | 
|---|
|  |  |  | data.setLastInNum(new BigDecimal(0)); | 
|---|
|  |  |  | data.setCurrentProvinceNum(new BigDecimal(0)); | 
|---|
|  |  |  | data.setCurrentOtherNum(new BigDecimal(0)); | 
|---|
|  |  |  | data.setSameInNum(new BigDecimal(0)); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //---------省外---------------- | 
|---|
|  |  |  | data.setCurrentOutNum(new BigDecimal(0)); | 
|---|
|  |  |  | data.setLastOutNum(new BigDecimal(0)); | 
|---|
|  |  |  | 
|---|
|  |  |  | List<TmsOutQtyAndVehicleQtyResponse> listSame=  tmsService.getOutQtyAndVehicleQty(param);//去年同期 | 
|---|
|  |  |  | if(listSame!=null ){ | 
|---|
|  |  |  | for(TmsOutQtyAndVehicleQtyResponse model : listSame){ | 
|---|
|  |  |  | model.setOutSideProvinceOutQty(Constants.formatBigdecimal(model.getOutSideProvinceOutT03Qty()).add(Constants.formatBigdecimal(model.getOutSideProvinceOutT01Qty())));//省外累计 | 
|---|
|  |  |  | model.setInSideProvinceOutQty(Constants.formatBigdecimal(model.getInSideProvinceOutT03Qty()).add(Constants.formatBigdecimal(model.getInSideProvinceOutT01Qty())));//省内累计 | 
|---|
|  |  |  | data.setSameOutNum(data.getSameOutNum().add(Constants.formatBigdecimal(model.getOutSideProvinceOutQty()))); | 
|---|
|  |  |  | data.setSameInNum(data.getSameInNum().add(Constants.formatBigdecimal(model.getInSideProvinceOutQty()))); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | List<TmsOutQtyAndVehicleQtyResponse> listCur =  tmsService.getOutQtyAndVehicleQty(param);//本周期 | 
|---|
|  |  |  | if(listCur!=null ){ | 
|---|
|  |  |  | for(TmsOutQtyAndVehicleQtyResponse model : listCur){ | 
|---|
|  |  |  | model.setOutSideProvinceOutQty(Constants.formatBigdecimal(model.getOutSideProvinceOutT03Qty()).add(Constants.formatBigdecimal(model.getOutSideProvinceOutT01Qty())));//省外累计 | 
|---|
|  |  |  | model.setInSideProvinceOutQty(Constants.formatBigdecimal(model.getInSideProvinceOutT03Qty()).add(Constants.formatBigdecimal(model.getInSideProvinceOutT01Qty())));//省内累计 | 
|---|
|  |  |  | data.setCurrentOutNum(data.getCurrentOutNum().add(Constants.formatBigdecimal(model.getOutSideProvinceOutQty()))); | 
|---|
|  |  |  | data.setCurrentInNum(data.getCurrentInNum().add(Constants.formatBigdecimal(model.getInSideProvinceOutQty()))); | 
|---|
|  |  |  | data.setTotalCarNum(data.getTotalCarNum()+Constants.formatIntegerNum(model.getVehicleQty()));//累计车次 | 
|---|
|  |  |  | data.setCurrentProvinceNum(data.getCurrentProvinceNum().add(Constants.formatBigdecimal(model.getOutSideProvinceOutT01Qty())) | 
|---|
|  |  |  | .add(Constants.formatBigdecimal(model.getInSideProvinceOutT01Qty())));//省内省外销售量 | 
|---|
|  |  |  | data.setCurrentOtherNum(data.getCurrentOtherNum().add(Constants.formatBigdecimal(model.getOutSideProvinceOutT03Qty())) | 
|---|
|  |  |  | .add(Constants.formatBigdecimal(model.getInSideProvinceOutT03Qty())));//省内省外其他出库量 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | param.setDateEnd(DateUtil.getShortTime(lastEnd)); | 
|---|
|  |  |  | 
|---|
|  |  |  | List<TmsOutQtyAndVehicleQtyResponse> listLast =  tmsService.getOutQtyAndVehicleQty(param);//上周期 | 
|---|
|  |  |  | if(listCur!=null ){ | 
|---|
|  |  |  | for(TmsOutQtyAndVehicleQtyResponse model : listLast){ | 
|---|
|  |  |  | model.setOutSideProvinceOutQty(Constants.formatBigdecimal(model.getOutSideProvinceOutT03Qty()).add(Constants.formatBigdecimal(model.getOutSideProvinceOutT01Qty())));//省外累计 | 
|---|
|  |  |  | model.setInSideProvinceOutQty(Constants.formatBigdecimal(model.getInSideProvinceOutT03Qty()).add(Constants.formatBigdecimal(model.getInSideProvinceOutT01Qty())));//省内累计 | 
|---|
|  |  |  | data.setLastOutNum(data.getLastOutNum().add(Constants.formatBigdecimal(model.getOutSideProvinceOutQty()))); | 
|---|
|  |  |  | data.setLastInNum(data.getLastInNum().add(Constants.formatBigdecimal(model.getInSideProvinceOutQty()))); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | if(type == 2){//本年的 | 
|---|
|  |  |  | data.setSameOutNum(data.getLastOutNum()); | 
|---|
|  |  |  | data.setSameInNum(data.getLastInNum()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //处理单位成“箱”,一箱=5万支 | 
|---|
|  |  |  | if(Constants.UNIT_TYPE == 1) { | 
|---|
|  |  |  | data.setCurrentInNum(Constants.formatBigdecimal(data.getCurrentInNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP)); | 
|---|
|  |  |  | data.setCurrentOutNum(Constants.formatBigdecimal(data.getCurrentOutNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP)); | 
|---|
|  |  |  | data.setCurrentOtherNum(Constants.formatBigdecimal(data.getCurrentOtherNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP)); | 
|---|
|  |  |  | data.setCurrentProvinceNum(Constants.formatBigdecimal(data.getCurrentProvinceNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP)); | 
|---|
|  |  |  | data.setLastInNum(Constants.formatBigdecimal(data.getLastInNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP)); | 
|---|
|  |  |  | data.setLastOutNum(Constants.formatBigdecimal(data.getLastOutNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP)); | 
|---|
|  |  |  | data.setSameInNum(Constants.formatBigdecimal(data.getSameInNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP)); | 
|---|
|  |  |  | data.setSameOutNum(Constants.formatBigdecimal(data.getSameOutNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return data; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | List<TmsDistributionOfDeliveryLocResponse> response  = tmsService.getDistributionOfDeliveryLocations(param);//查询出库量 | 
|---|
|  |  |  | if(response!=null &&response.size()>0){ | 
|---|
|  |  |  | for(TmsDistributionOfDeliveryLocResponse model : response){ | 
|---|
|  |  |  | WholeProvinceMapVO tt = getFromProvinceResultList(model ,result); | 
|---|
|  |  |  | if(tt == null){ | 
|---|
|  |  |  | tt =new WholeProvinceMapVO(); | 
|---|
|  |  |  | tt.setMonthNum( Constants.formatBigdecimal0Float(model.getMonthOutboundQuantity())); | 
|---|
|  |  |  | tt.setYearNum( Constants.formatBigdecimal0Float(model.getYearOutboundQuantity())); | 
|---|
|  |  |  | tt.setProvinceCode(model.getToProvinceCode()); | 
|---|
|  |  |  | tt.setProvinceName(model.getToProvinceName()); | 
|---|
|  |  |  | result.add(tt); | 
|---|
|  |  |  | WholeProvinceMapVO t = getFromProvinceResultList(model ,result); | 
|---|
|  |  |  | if(t == null){ | 
|---|
|  |  |  | t =new WholeProvinceMapVO(); | 
|---|
|  |  |  | t.setMonthNum( Constants.formatBigdecimal0Float(model.getMonthOutboundQuantity())); | 
|---|
|  |  |  | t.setYearNum( Constants.formatBigdecimal0Float(model.getYearOutboundQuantity())); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(Constants.UNIT_TYPE == 1) { | 
|---|
|  |  |  | //处理单位成“箱”,一箱=5万支 | 
|---|
|  |  |  | t.setMonthNum(Constants.formatBigdecimal(t.getMonthNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP)); | 
|---|
|  |  |  | t.setYearNum(Constants.formatBigdecimal(t.getYearNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | t.setProvinceCode(model.getToProvinceCode()); | 
|---|
|  |  |  | t.setProvinceName(model.getToProvinceName()); | 
|---|
|  |  |  | result.add(t); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | return infoList; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 近七日到货情况 | 
|---|
|  |  |  | * 近七日到货情况-改成近15日 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | 
|---|
|  |  |  | param.getFacrotyCodeList().add(code);//查询指定厂区 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Date date = new Date(); | 
|---|
|  |  |  | Date startDate = DateUtil.addDaysToDate(date,-7); | 
|---|
|  |  |  | Date startDate = DateUtil.addDaysToDate(date,-15); | 
|---|
|  |  |  | //看板大屏近7日到货情况日期 0表示当天当前推7天,-1表示本月初1号-7号 | 
|---|
|  |  |  | String flag = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.SCREEN_SEVENT_ARRIVAL_STARTDATE).getCode(); | 
|---|
|  |  |  | if(StringUtils.equals(flag,"-1")){ | 
|---|
|  |  |  | startDate =DateUtil.getBeginDayOfMonth(0); | 
|---|
|  |  |  | date = DateUtil.addDaysToDate(startDate,7); | 
|---|
|  |  |  | date = DateUtil.addDaysToDate(startDate,15); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | param.setNcCreateDateFrom(DateUtil.getShortTime(startDate)); | 
|---|
|  |  |  | param.setNcCreateDateThrough(DateUtil.getShortTime(date)); | 
|---|
|  |  |  | List<TmsSevenArrivalStatusAndDetailsResponse> infoList =   tmsService.getSevenArrivalStatusAndDetails(param);//查询出库量 | 
|---|
|  |  |  | for (int i = 0; i < 7; i++) { | 
|---|
|  |  |  | for (int i = 0; i < 15; i++) { | 
|---|
|  |  |  | LastSevenDaysOrderVo model = new LastSevenDaysOrderVo(); | 
|---|
|  |  |  | Date td = DateUtil.addDaysToDate(date,-i); | 
|---|
|  |  |  | model.setDateStr(DateUtil.getShortTime(td)); | 
|---|
|  |  |  | 
|---|
|  |  |  | WholeProvinceZXTVO result = new WholeProvinceZXTVO(); | 
|---|
|  |  |  | result.setCurrentNum(new BigDecimal(0)); | 
|---|
|  |  |  | result.setTotalNum(new BigDecimal(0)); | 
|---|
|  |  |  | result.setZtNum(new BigDecimal(0)); | 
|---|
|  |  |  | result.setUseRate(new BigDecimal(0)); | 
|---|
|  |  |  | result.setDetailList(new ArrayList<>()); | 
|---|
|  |  |  | List<TmsFactoryParam> paramList =factoryList(); | 
|---|
|  |  |  | 
|---|
|  |  |  | WholeProvinceZxtDetailVO t = new WholeProvinceZxtDetailVO(); | 
|---|
|  |  |  | t.setFactoryName(p.getName()); | 
|---|
|  |  |  | t.setCurrentNum(new BigDecimal(0)); | 
|---|
|  |  |  | t.setZaituNum(new BigDecimal(0)); | 
|---|
|  |  |  | t.setTotalNum(Constants.formatBigdecimal(p.getNum1()));//总库存量 | 
|---|
|  |  |  | getFromReportVehicleQtyList(p.getCode(),t,response);//处理提报运力和总运力数据 | 
|---|
|  |  |  | t.setUseRate(new BigDecimal(0)); | 
|---|
|  |  |  | if(t.getTotalNum().compareTo(new BigDecimal(0)) !=0){ | 
|---|
|  |  |  | t.setUseRate(t.getCurrentNum().divide(t.getTotalNum(),4,BigDecimal.ROUND_HALF_UP)); | 
|---|
|  |  |  | if((t.getTotalNum().subtract(t.getZaituNum())).compareTo(new BigDecimal(0)) !=0){ | 
|---|
|  |  |  | t.setUseRate(t.getCurrentNum().divide(t.getTotalNum().subtract(t.getZaituNum()),4,BigDecimal.ROUND_HALF_UP)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /*if(Constants.UNIT_TYPE == 1) { | 
|---|
|  |  |  | //处理单位成“箱”,一箱=5万支 | 
|---|
|  |  |  | t.setCurrentNum(Constants.formatBigdecimal(t.getCurrentNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP)); | 
|---|
|  |  |  | t.setTotalNum(Constants.formatBigdecimal(t.getTotalNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP)); | 
|---|
|  |  |  | }*/ | 
|---|
|  |  |  | result.getDetailList().add(t); | 
|---|
|  |  |  | result.setCurrentNum(result.getCurrentNum().add(t.getCurrentNum())); | 
|---|
|  |  |  | result.setTotalNum(result.getTotalNum().add(t.getTotalNum())); | 
|---|
|  |  |  | result.setZtNum(result.getZtNum().add(t.getZaituNum())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(result.getTotalNum().compareTo(new BigDecimal(0)) !=0){ | 
|---|
|  |  |  | result.setUseRate(result.getCurrentNum().divide(result.getTotalNum(),4,BigDecimal.ROUND_HALF_UP)); | 
|---|
|  |  |  | if((result.getTotalNum().subtract(result.getZtNum())).compareTo(new BigDecimal(0)) !=0){ | 
|---|
|  |  |  | result.setUseRate(result.getCurrentNum().divide(result.getTotalNum().subtract(result.getZtNum()),4,BigDecimal.ROUND_HALF_UP)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return result; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | private void getFromReportVehicleQtyList(String code,WholeProvinceZxtDetailVO t, List<TmsTotalAndReportVehicleQtyResponse> responses) { | 
|---|
|  |  |  | BigDecimal current = new BigDecimal(0); | 
|---|
|  |  |  | BigDecimal total= new BigDecimal(0); | 
|---|
|  |  |  | BigDecimal ztTotal= new BigDecimal(0); | 
|---|
|  |  |  | if(responses!=null && responses.size()>0){ | 
|---|
|  |  |  | for(TmsTotalAndReportVehicleQtyResponse model: responses){ | 
|---|
|  |  |  | if(StringUtils.equals(model.getFactoryCode(),code)){ | 
|---|
|  |  |  | ztTotal = ztTotal.add(Constants.formatBigdecimal(model.getInTransitQty())); | 
|---|
|  |  |  | total = total.add(Constants.formatBigdecimal(model.getTotalQty())); | 
|---|
|  |  |  | current = current.add(Constants.formatBigdecimal(model.getReportQty())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | t.setCurrentNum(current); | 
|---|
|  |  |  | t.setZaituNum(ztTotal); | 
|---|
|  |  |  | t.setTotalNum(total); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | private BigDecimal getCurrentOutQryByList(List<TmsOutQtyAndVehicleQtyResponse> response) { | 
|---|
|  |  |  | BigDecimal r = new BigDecimal(0); | 
|---|
|  |  |  | if(response!=null && response.size()>0){ | 
|---|
|  |  |  | for(TmsOutQtyAndVehicleQtyResponse model: response){ | 
|---|
|  |  |  | r = r.add(Constants.formatBigdecimal(model.getTotalOutQty())); | 
|---|
|  |  |  | //                model.setTotalOutQty(Constants.formatBigdecimal(model.getTotalOutT03Qty()).add(Constants.formatBigdecimal(model.getTotalOutT01Qty()))); | 
|---|
|  |  |  | r = r.add(Constants.formatBigdecimal(model.getTotalOutQty())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return r ; | 
|---|
|  |  |  | 
|---|
|  |  |  | if(t.getTotalNum().compareTo(new BigDecimal(0)) !=0){ | 
|---|
|  |  |  | t.setUseRate(t.getCurrentNum().divide(t.getTotalNum(),4,BigDecimal.ROUND_HALF_UP)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(Constants.UNIT_TYPE == 1){ | 
|---|
|  |  |  | //处理单位成“箱”,一箱=5万支 | 
|---|
|  |  |  | t.setCurrentNum(Constants.formatBigdecimal(t.getCurrentNum()).divide(new BigDecimal(5),2,BigDecimal.ROUND_HALF_UP)); | 
|---|
|  |  |  | t.setTotalNum(Constants.formatBigdecimal(t.getTotalNum()).divide(new BigDecimal(5),2,BigDecimal.ROUND_HALF_UP)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | result.getDetailList().add(t); | 
|---|
|  |  |  | result.setCurrentNum(result.getCurrentNum().add(t.getCurrentNum())); | 
|---|
|  |  |  | result.setTotalNum(result.getTotalNum().add(t.getTotalNum())); | 
|---|