From fdeecb1480ff8ce032166ecd1611cd490bca97ed Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期一, 30 六月 2025 12:00:46 +0800 Subject: [PATCH] 代码初始化 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java | 157 +++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 123 insertions(+), 34 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 126b630..d4c376b 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 @@ -1024,6 +1024,7 @@ Date lastMonth = DateUtil.addMonthToDate(month,-1);//涓婃湀 Date year = Utils.Date.getStart(new Date());//浠婂勾 Date lastYear = DateUtil.addYearToDate(year,-1);//鍘诲勾 + log.error("1銆�=====================>"+DateUtil.getCurrDateTime()); List<PlatformJob> monthNum = platformJobMapper.selectJoinList(PlatformJob.class, new MPJLambdaWrapper<PlatformJob>() .selectAs(PlatformJob::getId,PlatformJob::getId) @@ -1032,12 +1033,13 @@ .select(PlatformJob::getStatus,PlatformJob::getStatus) .select(PlatformJob::getType,PlatformJob::getType) .eq(PlatformJob::getIsdeleted,Constants.ZERO) - .in(PlatformJob::getType,Constants.ONE,Constants.THREE) +// .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)+"') ")); + log.error("2銆�=====================>"+DateUtil.getCurrDateTime()); List<PlatformJob> yearNum = platformJobMapper.selectJoinList(PlatformJob.class, new MPJLambdaWrapper<PlatformJob>() .selectAs(PlatformJob::getId,PlatformJob::getId) @@ -1049,6 +1051,8 @@ .in(PlatformJob::getType,Constants.ONE,Constants.THREE) .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey()) .apply("year(done_date) = year('"+DateUtil.getPlusTime2(year)+"') and done_date<= now() ")); + + log.error("3銆�=====================>"+DateUtil.getCurrDateTime()); List<PlatformJob> monthLastNum = platformJobMapper.selectJoinList(PlatformJob.class, new MPJLambdaWrapper<PlatformJob>() .selectAs(PlatformJob::getId,PlatformJob::getId) @@ -1061,7 +1065,8 @@ .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey()) .apply("year(done_date) = year('"+DateUtil.getPlusTime2(lastMonth)+"') and month(done_date) = month('"+DateUtil.getPlusTime2(lastMonth)+"') and done_date<= '" +DateUtil.getPlusTime2(lastMonth)+"'")); - + + log.error("4銆�=====================>"+DateUtil.getCurrDateTime()); List<PlatformJob> yearLastNum = platformJobMapper.selectJoinList(PlatformJob.class, new MPJLambdaWrapper<PlatformJob>() .selectAs(PlatformJob::getId,PlatformJob::getId) @@ -1077,9 +1082,10 @@ data.setMonthLastOutTotal(getSumTotalByList(monthLastNum,null,null) );//涓婃湀鍑哄簱閲� data.setYearOutTotal(getSumTotalByList(yearNum,null,null) );//鏈勾鍑哄簱閲� data.setYearLastOutTotal(getSumTotalByList(yearLastNum,null,null) );//鍘诲勾鍑哄簱閲� - data.setMonthOutTimes(monthNum!=null?monthNum.size():0); + data.setMonthOutTimes(monthNum!=null?monthNum.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)||Constants.equalsInteger(i.getType(),Constants.THREE)).collect(Collectors.toList()).size():0); data.setYearOutTimes(yearNum!=null?yearNum.size():0); + log.error("5銆�=====================>"+DateUtil.getCurrDateTime()); //==========浠婂ぉ涔嬪墠鏈畬鎴愬嚭鍏ュ簱浠诲姟 List<PlatformJob> beforeJobNum = platformJobMapper.selectJoinList(PlatformJob.class, new MPJLambdaWrapper<PlatformJob>() @@ -1095,6 +1101,7 @@ .apply(" to_days(create_date) < to_days(now()) ") ); + log.error("6銆�=====================>"+DateUtil.getCurrDateTime()); //==========浠婂ぉ鍑哄叆搴撳畬鎴愰噺 List<PlatformJob> currentDoneNum = platformJobMapper.selectJoinList(PlatformJob.class, new MPJLambdaWrapper<PlatformJob>() @@ -1107,6 +1114,7 @@ .notIn(PlatformJob::getStatus,Constants.PlatformJobStatus.CANCEL.getKey()) .apply(" to_days(done_date) = to_days(now())")); + log.error("7銆�=====================>"+DateUtil.getCurrDateTime()); //==========浠婂ぉ涓嬪彂鍑哄叆搴撲换鍔� 鏈畬鎴愮殑---- List<PlatformJob> currentNum = platformJobMapper.selectJoinList(PlatformJob.class, new MPJLambdaWrapper<PlatformJob>() @@ -1119,18 +1127,39 @@ .notIn(PlatformJob::getStatus,Constants.PlatformJobStatus.CANCEL.getKey()) .apply(" to_days(create_date) = to_days(now()) and done_date is null ")); + log.error("8銆�=====================>"+DateUtil.getCurrDateTime()); BigDecimal beforeOutNum = (getSumTotalByList(beforeJobNum,0,null));//浠婂ぉ涔嬪墠鏈畬鎴愬嚭搴撲换鍔� + log.error("9銆�=====================>"+DateUtil.getCurrDateTime()); BigDecimal currentOutNum = (getSumTotalByList(currentNum,0,null));//浠婂ぉ涓嬪彂鍑哄簱浠诲姟 + log.error("10銆�=====================>"+DateUtil.getCurrDateTime()); BigDecimal beforeInNum = (getSumTotalByList(beforeJobNum,1,null));//浠婂ぉ涔嬪墠鏈畬鎴愬叆搴撲换鍔� + log.error("11銆�=====================>"+DateUtil.getCurrDateTime()); BigDecimal currentInNum = (getSumTotalByList(currentNum,1,null));//浠婂ぉ涓嬪彂鍏ュ簱浠诲姟 + log.error("12銆�=====================>"+DateUtil.getCurrDateTime()); data.setCurrentInDoneNum(getSumTotalByList(currentDoneNum,1,1));//浠婃棩瀹屾垚閲� + log.error("13銆�=====================>"+DateUtil.getCurrDateTime()); data.setCurrentOutDoneNum(getSumTotalByList(currentDoneNum,0,1));//浠婃棩瀹屾垚閲� + log.error("14銆�=====================>"+DateUtil.getCurrDateTime()); data.setCurrentInNum(beforeInNum.add(data.getCurrentInDoneNum()).add(currentInNum));//褰撳墠鍏ュ簱鎬讳换鍔℃垚閲� + log.error("15銆�=====================>"+DateUtil.getCurrDateTime()); data.setCurrentOutNum(beforeOutNum.add(data.getCurrentOutDoneNum()).add(currentOutNum));//褰撳墠鍑哄簱鎬讳换鍔℃垚閲� + log.error("16銆�=====================>"+DateUtil.getCurrDateTime()); data.setTodayOutRate(getDayTotalRata(data.getCurrentOutDoneNum(),DateUtil.getToday()));//褰撴棩鍑哄簱鏁堢巼 + log.error("17銆�=====================>"+DateUtil.getCurrDateTime()); data.setTodayInRate(getDayTotalRata(data.getCurrentInDoneNum(),DateUtil.getToday()));//褰撴棩鍏ュ簱鏁堢巼 - data.setMonthOutRate(getMonthRata(monthNum,Constants.ZERO));//鏈湀鍑哄簱鏁堢巼 - data.setMonthInRate(getMonthRata(monthNum,Constants.ONE));//鏈湀鍑哄簱鏁堢巼 + log.error("18銆�=====================>"+DateUtil.getCurrDateTime()); + //鏌ヨ鏈湀鍏ㄩ儴鏃ュ織 + List<PlatformLog> monthLogList = platformLogMapper.selectList(new QueryWrapper<PlatformLog>().lambda() + .eq(PlatformLog::getIsdeleted,Constants.ZERO) + .and(i->i.isNotNull(PlatformLog::getParam1).or().isNotNull(PlatformLog::getParam2)) + .apply("year(CREATE_DATE) = year('"+DateUtil.getPlusTime2(month)+"') and month(CREATE_DATE) = month('"+DateUtil.getPlusTime2(month)+"') ") + ); + + + data.setMonthOutRate(getMonthRata(monthLogList,monthNum,Constants.ZERO));//鏈湀鍑哄簱鏁堢巼 + log.error("19銆�=====================>"+DateUtil.getCurrDateTime()); + data.setMonthInRate(getMonthRata(monthLogList,monthNum,Constants.ONE));//鏈湀鍏ュ簱鏁堢巼 + log.error("20銆�=====================>"+DateUtil.getCurrDateTime()); //------------浠婃棩鍑哄叆搴撴晥鐜�---------------- // BigDecimal outHours = getTotalDoneTimes(currentDoneNum,0);// // BigDecimal inHours = getTotalDoneTimes(currentDoneNum,1);// @@ -1202,7 +1231,7 @@ } - private BigDecimal getMonthRata(List<PlatformJob> list, Integer type) { + private BigDecimal getMonthRata(List<PlatformLog> monthLogList,List<PlatformJob> list, Integer type) { BigDecimal r = new BigDecimal(0); if(list==null || list.size() == 0){ return r; @@ -1235,11 +1264,28 @@ filter(i->jobDate.equals(DateUtil.formatDate(i.getDoneDate(),"yyyy-MM-dd"))).collect(Collectors.toList()); if(CollectionUtils.isNotEmpty(platformJobList)){ //鑾峰彇浠婂ぉ鐨� - r = r.add(this.getDayTotalRata(getSumTotalByList(platformJobList,type,null),jobDate)); + r = r.add(this.getDayTotalForMonthRata(monthLogList,getSumTotalByList(platformJobList,type,null),jobDate)); } } r = r.divide(new BigDecimal(Integer.toString(jobList.size())),2,BigDecimal.ROUND_HALF_UP); } + } + return r; + } + + private BigDecimal getDayTotalForMonthRata(List<PlatformLog> allList ,BigDecimal totalAmount,String today) { + BigDecimal r = new BigDecimal(0); + //鏌ヨ浠婃棩鏈�鏃�/鏈�鏅氱殑浣滀笟鏁版嵁 + List<PlatformLog> platformLogList = allList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM-dd").equals(today)).collect(Collectors.toList()); +// platformLogMapper.selectList(new QueryWrapper<PlatformLog>() +// .lambda() +// .apply(" ( DATE_FORMAT( param1 ,'%Y-%m-%d' ) = '"+today+"' or DATE_FORMAT( param2 ,'%Y-%m-%d' ) = '"+today+"' ) ") +// ); + if(totalAmount.compareTo(BigDecimal.ZERO)==0||CollectionUtils.isEmpty(platformLogList)){ + return BigDecimal.ZERO; + } + if(platformLogList!=null && platformLogList.size()>0){ + return this.getWorkTime(totalAmount,platformLogList,today); } return r; } @@ -1256,7 +1302,7 @@ return BigDecimal.ZERO; } if(platformLogList!=null && platformLogList.size()>0){ - return this.getWorkTime(totalAmount,platformLogList); + return this.getWorkTime(totalAmount,platformLogList,today); } return r; } @@ -1267,15 +1313,19 @@ * @param platformLogList * @return */ - public BigDecimal getWorkTime(BigDecimal totalAmount,List<PlatformLog> platformLogList){ + public BigDecimal getWorkTime(BigDecimal totalAmount,List<PlatformLog> platformLogList,String today){ if(CollectionUtils.isEmpty(platformLogList)){ return BigDecimal.ZERO; } //鑾峰彇寮�濮嬫椂闂� - List<Long> startTimeList = platformLogList.stream().filter(i->Objects.nonNull(i.getParam1())).map(i->DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",i.getParam1()).getTime()).collect(Collectors.toList()); + List<Long> startTimeList = platformLogList.stream().filter(i->Objects.nonNull(i.getParam1())) + .filter(i->Objects.nonNull(i.getParam1())&&i.getParam1().indexOf(today)>=0) + .map(i->DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",i.getParam1()).getTime()).collect(Collectors.toList()); Long startTime = Collections.min(startTimeList); //鑾峰彇缁撴潫鏃堕棿 - List<Long> endTimeList = platformLogList.stream().filter(i->Objects.nonNull(i.getParam2())).map(i->DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",i.getParam2()).getTime()).collect(Collectors.toList()); + List<Long> endTimeList = platformLogList.stream() + .filter(i->Objects.nonNull(i.getParam2())&&i.getParam2().indexOf(today)>=0) + .map(i->DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",i.getParam2()).getTime()).collect(Collectors.toList()); Long endTime = Collections.max(endTimeList); if(Objects.isNull(startTime) || Objects.isNull(endTime) || (startTime>=endTime)){ @@ -1283,14 +1333,6 @@ } return totalAmount.divide(new BigDecimal(( endTime - startTime )+"").divide(new BigDecimal("3600000"),2,BigDecimal.ROUND_HALF_UP),2,BigDecimal.ROUND_HALF_UP) ; } - - - - - - - - private BigDecimal getSumTotalByList(List<PlatformJob> list,Integer type,Integer status) { @@ -2507,6 +2549,36 @@ */ @Override public WholeProvinceBoardVO centerProvinceData(String factoryCode){ + WholeProvinceBoardVO data = initWholeProvinceBoardVOData(factoryCode); + /* Date date = new Date(); + TmsOutQtyAndVehicleQtyRequest param = new TmsOutQtyAndVehicleQtyRequest(); + param.setDateEnd(DateUtil.getShortTime(date)); + param.setDateStart(DateUtil.getShortTime(date)); + if(StringUtils.isNotBlank(code)){ + param.setFacrotyCodeList(new ArrayList<>()); + param.getFacrotyCodeList().add(code);//鏌ヨ鎸囧畾鍘傚尯 + } + List<TmsOutQtyAndVehicleQtyResponse> listSame= tmsService.getOutQtyAndVehicleQty(param); + if(listSame!=null ){ + for(TmsOutQtyAndVehicleQtyResponse model : listSame){ + data.setCrrentOutNum(data.getCrrentOutNum().add(Constants.formatBigdecimal(model.getTotalOutQty())));//浠婃棩鍑哄簱閲� + data.setCrrentOutCarNum(data.getCrrentOutCarNum()+(Constants.formatIntegerNum(model.getVehicleQty())));//浠婃棩鍑哄簱杞︽ + } + }*/ + initOutboundCapability(data,factoryCode); + return data; + + } + @Override + public WholeProvinceBoardVO centerProvinceDataNew(String factoryCode){ + WholeProvinceBoardVO data = initWholeProvinceBoardVOData(factoryCode); + + initOutboundCapabilityNew(data,factoryCode); + return data; + + } + + private WholeProvinceBoardVO initWholeProvinceBoardVOData(String factoryCode) { WholeProvinceBoardVO data = new WholeProvinceBoardVO(); data.setMaxAbility(new BigDecimal(0)); data.setHoursAbility(new BigDecimal(0)); @@ -2535,24 +2607,42 @@ } } } - /* Date date = new Date(); - TmsOutQtyAndVehicleQtyRequest param = new TmsOutQtyAndVehicleQtyRequest(); - param.setDateEnd(DateUtil.getShortTime(date)); - param.setDateStart(DateUtil.getShortTime(date)); + return data; + } + + private void initOutboundCapabilityNew(WholeProvinceBoardVO data, String code) { + TmsFacrotyCodeListRequest param = new TmsFacrotyCodeListRequest(); if(StringUtils.isNotBlank(code)){ param.setFacrotyCodeList(new ArrayList<>()); - param.getFacrotyCodeList().add(code);//鏌ヨ鎸囧畾鍘傚尯 + param.getFacrotyCodeList().add(code); } - List<TmsOutQtyAndVehicleQtyResponse> listSame= tmsService.getOutQtyAndVehicleQty(param); - if(listSame!=null ){ - for(TmsOutQtyAndVehicleQtyResponse model : listSame){ - data.setCrrentOutNum(data.getCrrentOutNum().add(Constants.formatBigdecimal(model.getTotalOutQty())));//浠婃棩鍑哄簱閲� - data.setCrrentOutCarNum(data.getCrrentOutCarNum()+(Constants.formatIntegerNum(model.getVehicleQty())));//浠婃棩鍑哄簱杞︽ - } - }*/ - initOutboundCapability(data,factoryCode); - return data; + TmsGetOutCapabilityResponse result= tmsService.getOutCapacity(param); + if(result !=null){ + data.setCrrentOutNum(Constants.formatBigdecimal(result.getCurrentOutNum()) );//浠婃棩鍑哄簱閲� + data.setNeedTransportOrderNum(Constants.formatBigdecimal(result.getCurrentTransportNum()));//褰撳墠浠诲姟閲�-宸查厤杞芥湭鍑哄簱 + data.setNoNeedTransportOrderNum(Constants.formatBigdecimal(result.getCurrentNotTransportNum()) );//褰撳墠浠诲姟閲�-鏃犻渶璋冨害 + data.setCrrentRestNum(Constants.formatBigdecimal(result.getCurrentTransportNum()));//鍓╀綑浠诲姟閲�-宸查厤杞芥湭鍑哄簱 + data.setCurrentOrderNum(Constants.formatBigdecimal(result.getCurrentOrderNum()) );//褰撳墠璁㈠崟閲� + data.setCurrentPlanCarNum(Constants.formatBigdecimal(result.getCurrentTransportVehicleNum()).intValue() );//褰撳墠浠诲姟杞︽ + data.setCrrentRestCarNum(Constants.formatBigdecimal(result.getCurrentTransportVehicleNum()).intValue() );//鍓╀綑浠诲姟杞︽閲� + data.setCrrentOutCarNum(Constants.formatBigdecimal(result.getCurrentOutVehicleNum()).intValue());//浠婃棩鍑哄簱杞︽ + //褰撳墠浠诲姟閲忓拰鍓╀綑浠诲姟閲忥紝涓猴紙鏃犻渶閰嶈浇+闇�瑕侀厤杞界殑浠诲姟閲忎箣鍜岋級 + data.setCurrentPlanNum(data.getNeedTransportOrderNum().add(data.getNoNeedTransportOrderNum()));//褰撳墠浠诲姟閲� + data.setCrrentRestNum(data.getCurrentPlanNum());//褰撳墠浠诲姟閲� + + } + //澶勭悊鍗曚綅鎴愨�滅鈥濓紝涓�绠�=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)); + } } private void initOutboundCapability(WholeProvinceBoardVO data, String code) { TmsFacrotyCodeListRequest param = new TmsFacrotyCodeListRequest(); @@ -2648,7 +2738,6 @@ } } } - } private boolean notInList(String transportCode, List<String> planCodes) { -- Gitblit v1.9.3