From 6422818ab54c4177b61da626075a72da37aef021 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期一, 30 六月 2025 11:09:00 +0800
Subject: [PATCH] 代码初始化
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java | 80 ++++++++++++++++++++++++++++++---------
1 files changed, 61 insertions(+), 19 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 fb603d3..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) {
--
Gitblit v1.9.3