From b1506101e89a5baf3d67e46fcb898b09b580032a Mon Sep 17 00:00:00 2001 From: liuliang <401809302@qq.com> Date: Thu, 22 Aug 2024 16:05:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=BC=8F=E6=89=93=E5=8D=A1=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E4=BD=9C=E7=94=A8=E6=97=B6=E6=AE=B5=EF=BC=8C=E5=8A=A0=E7=8F=AD?= =?UTF-8?q?=E8=80=83=E8=99=91=E5=BC=B9=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workovertime/GetOvertimeDurationCmd.java | 24 +++++++++++++++---- .../impl/ForgetClockInServiceImpl.java | 9 +++---- .../web/AttendanceanalysisAction.java | 4 ++-- .../UpdateAttendanceResultWrapper.java | 9 ++++++- .../service/impl/VocationServiceImpl.java | 4 ++-- .../vacation/util/VocationCommonUtil.java | 2 +- 6 files changed, 37 insertions(+), 15 deletions(-) diff --git a/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/workovertime/GetOvertimeDurationCmd.java b/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/workovertime/GetOvertimeDurationCmd.java index 73b68c8..fd2b662 100644 --- a/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/workovertime/GetOvertimeDurationCmd.java +++ b/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/workovertime/GetOvertimeDurationCmd.java @@ -1,5 +1,6 @@ package com.engine.jucailinkq.attendance.attendanceanalysis.cmd.workovertime; +import com.engine.jucailinkq.attendance.attendanceanalysis.dto.clockpoint.ClockPointDTO; import com.engine.jucailinkq.attendance.enums.*; import com.engine.common.biz.AbstractCommonCommand; import com.engine.common.entity.BizLogContext; @@ -64,6 +65,8 @@ public class GetOvertimeDurationCmd extends AbstractCommonCommand> clcokInTimeMap = (Map>)params.get("clcokInTimeMap"); //班次 Map scheduleMap = (Map)params.get("scheduleMap"); + //打卡卡点 + List clcokInTimeDataList = (List)params.get("clcokInTimeData"); @@ -78,9 +81,12 @@ public class GetOvertimeDurationCmd extends AbstractCommonCommand getWorkOverTimeParam = Maps.newHashMap(); //加班开始时间 String kssj = Utils.getkssjTime(scheduleMap, analysisDate); + ClockPointDTO startClockPointDTO = clcokInTimeDataList.stream().filter(e->e.getPointType() == ClockPointEnum.START && + DateUtil.getTime(kssj).compareTo(DateUtil.getTime(e.getClassTime())) == 0).collect(Collectors.toList()).get(0); //加班结束时间 String jssj = Utils.getjssjTime(scheduleMap, analysisDate); - + ClockPointDTO endClockPointDTO = clcokInTimeDataList.stream().filter(e->e.getPointType() == ClockPointEnum.END && + DateUtil.getTime(jssj).compareTo(DateUtil.getTime(e.getClassTime())) == 0).collect(Collectors.toList()).get(0); //加班实际开始时间 String realityStartTime = ""; //加班实际结束时间 @@ -184,8 +190,12 @@ public class GetOvertimeDurationCmd extends AbstractCommonCommand 0) { - beLateTime = DateUtil.getBetWeenMinutes(kssj, realityStartTime); + String kssjTime = kssj; + if (startClockPointDTO.getElasticTime() != null && !startClockPointDTO.getElasticTime().equals("")){ + kssjTime = startClockPointDTO.getElasticTime(); + } + if (DateUtil.getTime(realityStartTime).compareTo(DateUtil.getTime(kssjTime)) > 0) { + beLateTime = DateUtil.getBetWeenMinutes(kssjTime, realityStartTime); List> collect1 = anomalyList.stream().filter(e -> e.get("pointTime").equals(kssj)).collect(Collectors.toList()); if (!"".equals(jbwdhlfzs) && beLateTime < Integer.valueOf(jbwdhlfzs)) { @@ -223,8 +233,12 @@ public class GetOvertimeDurationCmd extends AbstractCommonCommand> collect2 = anomalyList.stream().filter(e -> e.get("pointTime").equals(jssj)).collect(Collectors.toList()); if (!"".equals(jbzzhlfzs) && leaveElaryTime < Integer.valueOf(jbzzhlfzs)) { leaveElaryTime = 0; diff --git a/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/ForgetClockInServiceImpl.java b/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/ForgetClockInServiceImpl.java index d6ce54c..a2f755e 100644 --- a/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/ForgetClockInServiceImpl.java +++ b/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/ForgetClockInServiceImpl.java @@ -42,15 +42,16 @@ public class ForgetClockInServiceImpl extends Service implements ForgetClockInSe String workFor = Utils.getWorkFor(bdlx); params.put("workfor",workFor); params.put("key",SystemItemEnum.MISSING_CLOCK_IN.getKey()); + List> attendanceItems = (List>)params.get("attendanceItems"); - Map result = commandExecutor.execute(new ForGetClockItemCmd(params)); List> resultList = Lists.newArrayList(); - List> forgerAttendanceItems = (List>)result.get("attendanceItems"); - if (forgerAttendanceItems.size() > 0){ + attendanceItems = attendanceItems.stream().filter(e->e.get("key").equals(SystemItemEnum.MISSING_CLOCK_IN.getKey())).collect(Collectors.toList()); + if (attendanceItems.size() > 0){ Map forgetParam = Maps.newHashMap(); - forgetParam.put("item", forgerAttendanceItems.get(0).get("key")); + forgetParam.put("item", SystemItemEnum.MISSING_CLOCK_IN.getKey()); forgetParam.put("itemduration", 1); forgetParam.put("itemType", AttendanceItemTypeEnum.MISSE_CARD); + forgetParam.put("zysd",attendanceItems.get(0).get("zysd")); forgetParam.put("kczgsc", CheckBoxEnum.CHECKED.getKey()); resultList.add(forgetParam); } diff --git a/src/com/engine/jucailinkq/attendance/attendanceanalysis/web/AttendanceanalysisAction.java b/src/com/engine/jucailinkq/attendance/attendanceanalysis/web/AttendanceanalysisAction.java index a8b77dd..568eec9 100644 --- a/src/com/engine/jucailinkq/attendance/attendanceanalysis/web/AttendanceanalysisAction.java +++ b/src/com/engine/jucailinkq/attendance/attendanceanalysis/web/AttendanceanalysisAction.java @@ -49,8 +49,8 @@ public class AttendanceanalysisAction { log.info("********AttendanceAnalysisJob start********"); Map paramMap = ParamUtil.request2Map(request); // Map paramMap = Maps.newHashMap(); -// paramMap.put("startDate","2024-08-11"); -// paramMap.put("endDate","2024-08-11"); +// paramMap.put("startDate","2024-08-21"); +// paramMap.put("endDate","2024-08-21"); // paramMap.put("userIds","81"); String startDate = Util.null2String(paramMap.get("startDate")); diff --git a/src/com/engine/jucailinkq/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.java b/src/com/engine/jucailinkq/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.java index f549e32..55f13e3 100644 --- a/src/com/engine/jucailinkq/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.java +++ b/src/com/engine/jucailinkq/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.java @@ -107,8 +107,15 @@ public class UpdateAttendanceResultWrapper extends Service { iforgetClockIn.get(0).put("pointTime",pointTime); iforgetClockIn.get(0).put("pointType",clcokInTimedto.getPointType()); iforgetClockIn.get(0).put("bdlx",classInfo.get("bdlx")); - iforgetClockIn.get(0).put("record",clcokInTimedto.isRecord()); iforgetClockIn.get(0).put("clcokInTimeData",clcokInTimeData); + String workfor = Util.null2String(classInfo.get("bdlx")); + String zysd = Util.null2String(iforgetClockIn.get(0).get("zysd")); + if (zysd.contains(workfor) || zysd.contains(WorkForTimeEnum.ALL_TIME.getKey())){ + iforgetClockIn.get(0).put("record",clcokInTimedto.isRecord()); + }else { + iforgetClockIn.get(0).put("record",false); + } + resultList.add(iforgetClockIn.get(0)); } diff --git a/src/com/engine/jucailinkq/attendance/vacation/service/impl/VocationServiceImpl.java b/src/com/engine/jucailinkq/attendance/vacation/service/impl/VocationServiceImpl.java index 4dc5eba..7afb813 100644 --- a/src/com/engine/jucailinkq/attendance/vacation/service/impl/VocationServiceImpl.java +++ b/src/com/engine/jucailinkq/attendance/vacation/service/impl/VocationServiceImpl.java @@ -41,7 +41,7 @@ public class VocationServiceImpl extends Service implements VocationService { List> dataList = Lists.newArrayList(); for (List list : userPartions){ String querySql = sql + String.join(",",list) +")"; - log.info("querySql : [{}]",querySql); + log.debug("querySql : [{}]",querySql); List> resultList = DbTools.getSqlToListKeySmallLetter(querySql); resultList = resultList.stream().filter(e->"HrmCustomFieldByInfoType".equals(e.get("scope")) || "".equals(Util.null2String(e.get("scope")))).collect(Collectors.toList()); dataList.addAll(resultList); @@ -64,7 +64,7 @@ public class VocationServiceImpl extends Service implements VocationService { needGenerateVocationMap.put(Util.null2String(map.get("key")),vocationMap.get(map.get("key"))); } } - log.info("VocationServiceImpl userId:{}, userList:{}",userId,userIdMap.get(userId)); + log.debug("VocationServiceImpl userId:{}, userList:{}",userId,userIdMap.get(userId)); for (Map.Entry e:needGenerateVocationMap.entrySet()){ if (e.getValue() != null && ((List>)e.getValue()).size() > 0){ Map vocationParam = Maps.newHashMap(); diff --git a/src/com/engine/jucailinkq/attendance/vacation/util/VocationCommonUtil.java b/src/com/engine/jucailinkq/attendance/vacation/util/VocationCommonUtil.java index 16ff1e5..c3e9759 100644 --- a/src/com/engine/jucailinkq/attendance/vacation/util/VocationCommonUtil.java +++ b/src/com/engine/jucailinkq/attendance/vacation/util/VocationCommonUtil.java @@ -619,7 +619,7 @@ public class VocationCommonUtil { break; } } - log.info("need adjust askforleave detail2 data : [{}]",ids); + log.debug("need adjust askforleave detail2 data : [{}]",ids); if (ids.size() > 0){ updatesql = "update uf_jcl_kq_qjjl_dt2 set jqye=? where id in ("+String.join(",",ids)+")"; DbTools.update(updatesql,currentHolidayId);