From 858fa3e0b30498156d6f23c6ed425dc16272b4c9 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期一, 09 六月 2025 09:59:05 +0800 Subject: [PATCH] 代码初始化 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 51 insertions(+), 5 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 8fdcc2f..d135f18 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) @@ -1038,6 +1039,7 @@ 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) @@ -1080,6 +1085,7 @@ 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,7 +1264,7 @@ 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); @@ -1244,6 +1273,23 @@ 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); + } + return r; + } + private BigDecimal getDayTotalRata(BigDecimal totalAmount,String today) { BigDecimal r = new BigDecimal(0); -- Gitblit v1.9.3