From c846119a7b8d52c8ff33d11b9af6285006ede3fa Mon Sep 17 00:00:00 2001 From: liuliang <401809302@qq.com> Date: Wed, 29 Nov 2023 15:44:32 +0800 Subject: [PATCH] liuliang --- log/sdk.log | 6 ++ .../hrm_attendance/hrm-attendance.jar | Bin 189106 -> 189597 bytes .../impl/AbnormalAttendanceServiceImpl.java | 85 ++++++++++-------- .../service/impl/WorkOverTimeServiceImpl.java | 30 +++++-- .../impl/AbnormalAttendanceServiceImpl.class | Bin 11976 -> 12502 bytes .../impl/WorkOverTimeServiceImpl.class | Bin 21131 -> 21419 bytes target/test-classes/Test$1.class | Bin 569 -> 569 bytes target/test-classes/Test$10.class | Bin 898 -> 898 bytes target/test-classes/Test$11.class | Bin 898 -> 898 bytes target/test-classes/Test$12.class | Bin 898 -> 898 bytes target/test-classes/Test$13.class | Bin 898 -> 898 bytes target/test-classes/Test$2.class | Bin 569 -> 569 bytes target/test-classes/Test$3.class | Bin 569 -> 569 bytes target/test-classes/Test$4.class | Bin 569 -> 569 bytes target/test-classes/Test$5.class | Bin 569 -> 569 bytes target/test-classes/Test$6.class | Bin 569 -> 569 bytes target/test-classes/Test$7.class | Bin 569 -> 569 bytes target/test-classes/Test$8.class | Bin 569 -> 569 bytes target/test-classes/Test$9.class | Bin 897 -> 897 bytes target/test-classes/Test.class | Bin 4649 -> 4513 bytes test/Test.java | 21 +---- 21 files changed, 78 insertions(+), 64 deletions(-) diff --git a/log/sdk.log b/log/sdk.log index 5274a5d..5a71668 100644 --- a/log/sdk.log +++ b/log/sdk.log @@ -768,3 +768,9 @@ 2023-11-28 15:44:22,121 [main] [com.engine.common.util.Utils] [INFO] - 请假外出时间 右边 2023-11-28 15:49:22,060 [Timer-0] [A2] [INFO] - rootPath == null 2023-11-28 15:49:22,060 [Timer-0] [A2] [INFO] - filePath == nullWEB-INF\prop\isSyncLog4j.properties +2023-11-28 19:55:32,852 [main] [com.engine.common.util.Utils] [INFO] - 请假外出时间 右边 +2023-11-28 19:55:50,741 [main] [com.engine.common.util.Utils] [INFO] - 请假外出时间 右边 +2023-11-28 19:57:09,942 [main] [com.engine.common.util.Utils] [INFO] - 请假外出时间 右边 +2023-11-28 19:57:25,603 [main] [com.engine.common.util.Utils] [INFO] - 请假外出时间 右边 +2023-11-28 20:02:25,544 [Timer-0] [A2] [INFO] - rootPath == null +2023-11-28 20:02:25,545 [Timer-0] [A2] [INFO] - filePath == nullWEB-INF\prop\isSyncLog4j.properties diff --git a/out/artifacts/hrm_attendance/hrm-attendance.jar b/out/artifacts/hrm_attendance/hrm-attendance.jar index 5ddd083301c272f2ca2703ec2ec8d171d7ad0438..bec84cec0ce9890f987a1070be1a630ca78a3d9d 100644 GIT binary patch delta 17008 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 fullDayAbsenteeism(Map params) { @@ -66,7 +67,7 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt } if (workTimeBeLateItems.size() > 0){ Map saveWorkTimeBeLateParam = Maps.newHashMap(); - double hsl = Float.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("hsl"))); + double hsl = Double.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("hsl"))); String hsdw = Util.null2String(workTimeBeLateItems.get(0).get("hsdw")); String kczgsc = Util.null2String(workTimeBeLateItems.get(0).get("kczgsc")); if (CheckBoxEnum.CHECKED.getKey().equals(kczgsc)){ @@ -104,19 +105,20 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt lateParams.put("workfor",WorkForTimeEnum.PLAN_WORK_OVERTIME.getKey()); } Map result = commandExecutor.execute(new WorkOvertimeItemCmd(lateParams)); - List> workTimeBeLateItems = (List>)result.get("attendanceItems"); - if (workTimeBeLateItems.size() > 0){ - double hsl = Float.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("hsl"))); - String hsdw = Util.null2String(workTimeBeLateItems.get(0).get("hsdw")); - String jbwdhlfzs = Util.null2String(workTimeBeLateItems.get(0).get("jbwdhlfzs")); + List> workTimeItems = (List>)result.get("attendanceItems"); + List> lateItems = getBeLateItems(lateParams); + if (workTimeItems.size() > 0 && lateItems.size() >0){ + double hsl = Double.valueOf(Util.null2String(lateItems.get(0).get("hsl"))); + String hsdw = Util.null2String(lateItems.get(0).get("hsdw")); + String jbwdhlfzs = Util.null2String(workTimeItems.get(0).get("jbwdhlfzs")); if (!"".equals(jbwdhlfzs) && between > Integer.valueOf(jbwdhlfzs)){ Map saveWorkTimeBeLateParam = Maps.newHashMap(); - String kczgsc = Util.null2String(workTimeBeLateItems.get(0).get("kczgsc")); + String kczgsc = Util.null2String(lateItems.get(0).get("kczgsc")); if (CheckBoxEnum.CHECKED.getKey().equals(kczgsc)){ //起步扣除分钟数 - int qbkcsc = Integer.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("qbkcsc"))); + int qbkcsc = Integer.valueOf(Util.null2String(lateItems.get(0).get("qbkcsc"))); //超出后单次累加扣除分钟数 - int cckcbc = Integer.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("cckcbc"))); + int cckcbc = Integer.valueOf(Util.null2String(lateItems.get(0).get("cckcbc"))); if (between <= qbkcsc){ between = qbkcsc; }else { @@ -126,7 +128,7 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt } } double itemduration = Utils.getItemduration(hsl,hsdw,between,AccountingUnitEnum.MINUTES); - saveWorkTimeBeLateParam.put("item",getBeLateItems(lateParams).get(0).get("key")); + saveWorkTimeBeLateParam.put("item",lateItems.get(0).get("key")); saveWorkTimeBeLateParam.put("itemduration",itemduration); saveWorkTimeBeLateParam.put("betweenMinutes",between); saveWorkTimeBeLateParam.put("itemType", AttendanceItemTypeEnum.LATE); @@ -147,17 +149,18 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt lateParams.put("workfor",WorkForTimeEnum.WORK_TIME.getKey()); result = commandExecutor.execute(new BeAwayItemCmd(lateParams)); } - List> workTimeBeLateItems = (List>)result.get("attendanceItems"); - double hsl = Float.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("hsl"))); - String hsdw = Util.null2String(workTimeBeLateItems.get(0).get("hsdw")); - String thfghlfzs = Util.null2String(workTimeBeLateItems.get(0).get("thfghlfzs")); + List> beAwayItems = (List>)result.get("attendanceItems"); + List> lateItems = getBeLateItems(lateParams); + double hsl = Double.valueOf(Util.null2String(lateItems.get(0).get("hsl"))); + String hsdw = Util.null2String(lateItems.get(0).get("hsdw")); + String thfghlfzs = Util.null2String(beAwayItems.get(0).get("thfghlfzs")); if (!"".equals(thfghlfzs) && between> Integer.valueOf(thfghlfzs)){ - String kczgsc = Util.null2String(workTimeBeLateItems.get(0).get("kczgsc")); + String kczgsc = Util.null2String(lateItems.get(0).get("kczgsc")); if (CheckBoxEnum.CHECKED.getKey().equals(kczgsc)){ //起步扣除分钟数 - int qbkcsc = Integer.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("qbkcsc"))); + int qbkcsc = Integer.valueOf(Util.null2String(lateItems.get(0).get("qbkcsc"))); //超出后单次累加扣除分钟数 - int cckcbc = Integer.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("cckcbc"))); + int cckcbc = Integer.valueOf(Util.null2String(lateItems.get(0).get("cckcbc"))); if (between <= qbkcsc){ between = qbkcsc; }else { @@ -168,7 +171,7 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt } double itemduration = Utils.getItemduration(hsl,hsdw,between,AccountingUnitEnum.MINUTES); Map saveWorkTimeBeLateParam = Maps.newHashMap(); - saveWorkTimeBeLateParam.put("item",getBeLateItems(lateParams).get(0).get("key")); + saveWorkTimeBeLateParam.put("item",lateItems.get(0).get("key")); saveWorkTimeBeLateParam.put("itemduration",itemduration); saveWorkTimeBeLateParam.put("betweenMinutes",between); saveWorkTimeBeLateParam.put("itemType", AttendanceItemTypeEnum.LATE); @@ -227,7 +230,7 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt } if (workTimeBeLateItems.size() > 0){ Map saveWorkTimeBeLateParam = Maps.newHashMap(); - double hsl = Float.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("hsl"))); + double hsl = Double.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("hsl"))); String hsdw = Util.null2String(workTimeBeLateItems.get(0).get("hsdw")); String kczgsc = Util.null2String(workTimeBeLateItems.get(0).get("kczgsc")); if (CheckBoxEnum.CHECKED.getKey().equals(kczgsc)){ @@ -246,7 +249,8 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt double itemduration = Utils.getItemduration(hsl,hsdw,between,AccountingUnitEnum.MINUTES); // saveWorkTimeBeLateParam.put("userId",userId); // saveWorkTimeBeLateParam.put("date",analysisDate); - saveWorkTimeBeLateParam.put("item",getBeEarlyItems(earlyParams).get(0).get("key")); + + saveWorkTimeBeLateParam.put("item",workTimeBeLateItems.get(0).get("key")); saveWorkTimeBeLateParam.put("itemduration",itemduration); saveWorkTimeBeLateParam.put("betweenMinutes",between); saveWorkTimeBeLateParam.put("itemType", AttendanceItemTypeEnum.LEAVE_EARLY); @@ -267,19 +271,21 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt earlyParams.put("workfor",WorkForTimeEnum.PLAN_WORK_OVERTIME.getKey()); } Map result = commandExecutor.execute(new WorkOvertimeItemCmd(earlyParams)); - List> workTimeBeLateItems = (List>)result.get("attendanceItems"); - if (workTimeBeLateItems.size() > 0){ - double hsl = Float.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("hsl"))); - String hsdw = Util.null2String(workTimeBeLateItems.get(0).get("hsdw")); - String jbzzhlfzs = Util.null2String(workTimeBeLateItems.get(0).get("jbzzhlfzs")); + List> workTimeItems = (List>)result.get("attendanceItems"); + List> beEarlyItems = getBeEarlyItems(earlyParams); + if (workTimeItems.size() > 0 && beEarlyItems.size() >0){ + String jbzzhlfzs = Util.null2String(workTimeItems.get(0).get("jbzzhlfzs")); + String hsdw = Util.null2String(beEarlyItems.get(0).get("hsdw")); + double hsl = Double.valueOf(Util.null2String(beEarlyItems.get(0).get("hsl"))); if (!"".equals(jbzzhlfzs) && between > Integer.valueOf(jbzzhlfzs)){ + log.info("between :{},jbzzhlfzs:{}",between,jbzzhlfzs); Map saveWorkTimeBeLateParam = Maps.newHashMap(); - String kczgsc = Util.null2String(workTimeBeLateItems.get(0).get("kczgsc")); + String kczgsc = Util.null2String(beEarlyItems.get(0).get("kczgsc")); if (CheckBoxEnum.CHECKED.getKey().equals(kczgsc)){ //起步扣除分钟数 - int qbkcsc = Integer.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("qbkcsc"))); + int qbkcsc = Integer.valueOf(Util.null2String(beEarlyItems.get(0).get("qbkcsc"))); //超出后单次累加扣除分钟数 - int cckcbc = Integer.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("cckcbc"))); + int cckcbc = Integer.valueOf(Util.null2String(beEarlyItems.get(0).get("cckcbc"))); if (between <= qbkcsc){ between = qbkcsc; }else { @@ -289,7 +295,7 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt } } double itemduration = Utils.getItemduration(hsl,hsdw,between,AccountingUnitEnum.MINUTES); - saveWorkTimeBeLateParam.put("item",getBeEarlyItems(earlyParams).get(0).get("key")); + saveWorkTimeBeLateParam.put("item",beEarlyItems.get(0).get("key")); saveWorkTimeBeLateParam.put("itemduration",itemduration); saveWorkTimeBeLateParam.put("betweenMinutes",between); saveWorkTimeBeLateParam.put("itemType", AttendanceItemTypeEnum.LEAVE_EARLY); @@ -310,17 +316,18 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt earlyParams.put("workfor",WorkForTimeEnum.WORK_TIME.getKey()); result = commandExecutor.execute(new BeAwayItemCmd(earlyParams)); } - List> workTimeBeLateItems = (List>)result.get("attendanceItems"); - double hsl = Float.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("hsl"))); - String hsdw = Util.null2String(workTimeBeLateItems.get(0).get("hsdw")); - String tqlghlfzs = Util.null2String(workTimeBeLateItems.get(0).get("tqlghlfzs")); - if (!"".equals(tqlghlfzs) && between> Integer.valueOf(tqlghlfzs)){ - String kczgsc = Util.null2String(workTimeBeLateItems.get(0).get("kczgsc")); + List> beAwayItems = (List>)result.get("attendanceItems"); + List> beEarlyItems = getBeEarlyItems(earlyParams); + double hsl = Double.valueOf(Util.null2String(beEarlyItems.get(0).get("hsl"))); + String hsdw = Util.null2String(beEarlyItems.get(0).get("hsdw")); + String tqlghlfzs = Util.null2String(beAwayItems.get(0).get("tqlghlfzs")); + if (!"".equals(tqlghlfzs) && between> Integer.valueOf(tqlghlfzs) && beEarlyItems.size()>0){ + String kczgsc = Util.null2String(beEarlyItems.get(0).get("kczgsc")); if (CheckBoxEnum.CHECKED.getKey().equals(kczgsc)){ //起步扣除分钟数 - int qbkcsc = Integer.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("qbkcsc"))); + int qbkcsc = Integer.valueOf(Util.null2String(beEarlyItems.get(0).get("qbkcsc"))); //超出后单次累加扣除分钟数 - int cckcbc = Integer.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("cckcbc"))); + int cckcbc = Integer.valueOf(Util.null2String(beEarlyItems.get(0).get("cckcbc"))); if (between <= qbkcsc){ between = qbkcsc; }else { @@ -332,7 +339,7 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt double itemduration = Utils.getItemduration(hsl,hsdw,between,AccountingUnitEnum.MINUTES); Map saveWorkTimeBeLateParam = Maps.newHashMap(); - saveWorkTimeBeLateParam.put("item",getBeEarlyItems(earlyParams).get(0).get("key")); + saveWorkTimeBeLateParam.put("item",beEarlyItems.get(0).get("key")); saveWorkTimeBeLateParam.put("itemduration",itemduration); saveWorkTimeBeLateParam.put("betweenMinutes",between); saveWorkTimeBeLateParam.put("itemType", AttendanceItemTypeEnum.LEAVE_EARLY); diff --git a/src/com/engine/attendance/attendanceanalysis/service/impl/WorkOverTimeServiceImpl.java b/src/com/engine/attendance/attendanceanalysis/service/impl/WorkOverTimeServiceImpl.java index 1c51560..97fa3ed 100644 --- a/src/com/engine/attendance/attendanceanalysis/service/impl/WorkOverTimeServiceImpl.java +++ b/src/com/engine/attendance/attendanceanalysis/service/impl/WorkOverTimeServiceImpl.java @@ -147,6 +147,10 @@ public class WorkOverTimeServiceImpl extends Service implements WorkOverTimeServ double workOverTimeHsl = Double.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("hsl"))); //核算单位 String workOverTimeHsdw = Util.null2String(workTimeBeLateItems.get(0).get("hsdw")); + //晚于开始时间忽略分钟数 + String jbwdhlfzs = Util.null2String(workTimeBeLateItems.get(0).get("jbwdhlfzs")); + //早于结束时间忽略分钟数 + String jbzzhlfzs = Util.null2String(workTimeBeLateItems.get(0).get("jbzzhlfzs")); /** * 获得实际加班时间 @@ -160,7 +164,11 @@ public class WorkOverTimeServiceImpl extends Service implements WorkOverTimeServ resultLists.add(workOverTimeItems); continue; } - String signTime = clcokInTimeData.get("signdate")+" "+clcokInTimeData.get("signtime"); + String hourTime = clcokInTimeData.get("signtime").toString(); + if (hourTime.length() > 5){ + hourTime = hourTime.substring(0,5); + } + String signTime = clcokInTimeData.get("signdate")+" "+hourTime; realityStartTime = signTime; }else { realityStartTime = kssj; @@ -174,7 +182,11 @@ public class WorkOverTimeServiceImpl extends Service implements WorkOverTimeServ resultLists.add(workOverTimeItems); continue; } - String signTime = clcokInTimeData.get("signdate")+" "+clcokInTimeData.get("signtime"); + String hourTime = clcokInTimeData.get("signtime").toString(); + if (hourTime.length() > 5){ + hourTime = hourTime.substring(0,5); + } + String signTime = clcokInTimeData.get("signdate")+" "+hourTime; realityEndime = signTime; }else { realityEndime= jssj; @@ -219,6 +231,9 @@ public class WorkOverTimeServiceImpl extends Service implements WorkOverTimeServ }else { if (DateUtil.getTime(realityStartTime).compareTo(DateUtil.getTime(kssj)) >0){ beLateTime = DateUtil.getBetWeenMinutes(kssj,realityStartTime); + if (!"".equals(jbwdhlfzs) && beLateTime < Integer.valueOf(jbwdhlfzs)){ + beLateTime=0; + } } } /** @@ -244,11 +259,13 @@ public class WorkOverTimeServiceImpl extends Service implements WorkOverTimeServ }else if (AccountingUnitEnum.ONCE.getKey().equals(hsdw)){ leaveElaryTime = jbsc; } - } }else { if (DateUtil.getTime(realityEndime).compareTo(DateUtil.getTime(jssj)) <0){ leaveElaryTime = DateUtil.getBetWeenMinutes(realityEndime,jssj); + if (!"".equals(jbzzhlfzs) && leaveElaryTime < Integer.valueOf(jbzzhlfzs)){ + leaveElaryTime=0; + } } } @@ -278,7 +295,8 @@ public class WorkOverTimeServiceImpl extends Service implements WorkOverTimeServ resultLists.add(workOverTimeItems); continue; }else if (jbsc >= Integer.valueOf(jbqsfzs) && !"".equals(ccqszhdhsfzs)){ - jbsc = Double.valueOf(Utils.getItemdurationDown(Integer.valueOf(ccqszhdhsfzs),AccountingUnitEnum.MINUTES.getKey(),Double.valueOf(jbsc).intValue(),AccountingUnitEnum.MINUTES)).intValue(); + + jbsc = Double.valueOf(Utils.getItemdurationDown(Integer.valueOf(ccqszhdhsfzs),AccountingUnitEnum.MINUTES.getKey(),Double.valueOf(jbsc).intValue()-Integer.valueOf(jbqsfzs),AccountingUnitEnum.MINUTES)).intValue()+Integer.valueOf(jbqsfzs); } } if (jbsc < 0){ @@ -343,7 +361,7 @@ public class WorkOverTimeServiceImpl extends Service implements WorkOverTimeServ insertParam.put("sjkssj",realityStartTime.split(" ")[1]); insertParam.put("sjjsrq",realityEndime.split(" ")[0]); insertParam.put("sjjssj",realityEndime.split(" ")[1]); - insertParam.put("sjjbsc",String.format ("%.2f", jbsc/60)); + insertParam.put("sjjbsc",itemduration); insertParam.put("jbjgly","4"); insertParam.put("zt","1"); Utils.InsertFormTable("uf_jcl_kq_jbjg",insertParam,(Map)params.get("formmodeIdMap")); @@ -395,7 +413,7 @@ public class WorkOverTimeServiceImpl extends Service implements WorkOverTimeServ //一年 insertHoliDayParam.put("jzrq",DateUtil.nextMonth(analysisDate,12,DateUtil.yyyyMMdd)); } - insertHoliDayParam.put("ktsc",String.format ("%.2f", jbsc/60)); + insertHoliDayParam.put("ktsc",itemduration); String zdyqsc = Util.null2String(workTimeBeLateItems.get(0).get("zdyqsc")); if ("0".equals(zdyqsc)){ diff --git a/target/classes/com/engine/attendance/attendanceanalysis/service/impl/AbnormalAttendanceServiceImpl.class b/target/classes/com/engine/attendance/attendanceanalysis/service/impl/AbnormalAttendanceServiceImpl.class index dc81a9b714a4f4da1960b198cb15709bf463ad14..1133aaf68e1505ec834b42db0d3ee2c287831cee 100644 GIT binary patch literal 12502 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 literal 11976 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 diff --git a/target/classes/com/engine/attendance/attendanceanalysis/service/impl/WorkOverTimeServiceImpl.class b/target/classes/com/engine/attendance/attendanceanalysis/service/impl/WorkOverTimeServiceImpl.class index d30ef3558396564946b2d9580204527d5013b3a9..aed5c1dbffd53d23d97023ea65440f84807ae36d 100644 GIT binary patch literal 21419 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 VMNt}7Y{GyoNn^{>ZKv|@{tqU4m9PK+ literal 21131 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 diff --git a/target/test-classes/Test$13.class b/target/test-classes/Test$13.class index 44d1f46a36c84656ee9de3868f4144574083bfbf..fc0363fc232917a8424d7c1ad733c12df7a179fb 100644 GIT binary patch delta 77 zcmV-T0J8sr2Z9H%3j;xz00aS<01W|}02Tq803QLI04M>S05Jic06GDm07C(w089a) j0965^0A2y30A~TD0B`}N0C@qX0D=Lh0E+>rlS~6Pmy8lp delta 77 zcmV-T0J8sr2Z9H%3j;x^00aT501W}F02TqP03QLZ04M>j05Jit06GD%07C(>089b0 j0966A0A2yK0A~TU0B`}e0C@qo0D=Ly0E+>+lS~6P!BG=) diff --git a/target/test-classes/Test$2.class b/target/test-classes/Test$2.class index 6874ae5ad3edbed6f52895bb997d824b2bdcbc05..db1928dd6649ba4f39218968ddb672ba53bfb2b0 100644 GIT binary patch delta 33 ocmdnVvXf=QJ4R7;1{OvQ23|%@1~Eo026;wp1`S4?$;?b<0Cm0vX#fBK delta 33 ocmdnVvXf=QJ4R6p1{Ow323|%h1~Eo!26;vs1`S5r$;?b<0DHIv&j0`b diff --git a/target/test-classes/Test$3.class b/target/test-classes/Test$3.class index 9e5d09acc048918d7a3068a2e080cdefbddeedb2..36340317bae2f842fb0d760f7c92f9b37b5ada43 100644 GIT binary patch delta 33 ocmdnVvXf=QJ4R7m1{Ov=23|&e1~Enh26;w91`S4|$;?b<0C(C2jQ{`u delta 33 ocmdnVvXf=QJ4R7E1{Owp23|%71~EoQ26;v&1`S5%$;?b<0DaU2^8f$< diff --git a/target/test-classes/Test$4.class b/target/test-classes/Test$4.class index 4f3eef7f293772dd45e3fe7aba99fd450c20d4e3..66b14969b4f8ad89bdcfcc925c4917eb434b44de 100644 GIT binary patch delta 33 ocmdnVvXf=QJ4R7s1{OvW23|%}1~Eo626;wv1`S4w$;?b<0D1NWu>b%7 delta 33 ocmdnVvXf=QJ4R6#1{OwF23|%t1~Eo=26;vg1`S5f$;?b<0DtfX7XSbN diff --git a/target/test-classes/Test$5.class b/target/test-classes/Test$5.class index 657c652113c764b7ab7377e9eea96332e752bc26..48401f10bc50fdbf0ad93db23e565fe704c09ed9 100644 GIT binary patch delta 33 ocmdnVvXf=QJ4R7U1{Ovu23|&M1~En(26;wX1`S5L$;?b<0DKY!)c^nh delta 33 ocmdnVvXf=QJ4R721{Owd23|%V1~Eoo26;w51`S64$;?b<0D=q#I{*Lx diff --git a/target/test-classes/Test$6.class b/target/test-classes/Test$6.class index 23d4c38c1a70b8b762bf6074c8d67a54e4e25a7e..90f1c1171792559dc80aeae532b85106a2ece569 100644 GIT binary patch delta 33 ocmdnVvXf=QJ4R7^1{OvK23|%-1~En_26;wj1`S4+$;?b<0Ddk7`2YX_ delta 33 ocmdnVvXf=QJ4Vp}1{TIZ242P>1~JB926@I11`Wp0$;?b<0E8$8UjP6A diff --git a/target/test-classes/Test$7.class b/target/test-classes/Test$7.class index c6717dbe72ddfa6c7f9530e50b195d1ea47361e2..7cff7c2966060ce5f21a37e59887ef652b7e067f 100644 GIT binary patch delta 33 ocmdnVvXf=QJ4R7g1{Ov)23|&Y1~Ent26;wL1`S59$;?b<0Dwvc9RL6T delta 33 ocmdnVvXf=QJ4Vqk1{TI}242Pp1~JA+26@IP1`WpO$;?b<0ER>cg8%>k diff --git a/target/test-classes/Test$8.class b/target/test-classes/Test$8.class index 6df0d98a51598315c31b7430aecaf4b408248e04..f4ed027d87475df05e8a461387b9aa1ef5cb0b66 100644 GIT binary patch delta 33 ocmdnVvXf=QJ4R7&1{Ovi23|&A1~EoI26;w*1`Wo5$;?b<0D@))K>z>% delta 33 ocmdnVvXf=QJ4VqM1{TIx242QE1~JBX26@H=1`Wo<$;?b<0El1)rvLx| diff --git a/target/test-classes/Test$9.class b/target/test-classes/Test$9.class index 36a59f27d50bb49676feb67a7a4143561cee88c5..fd531bc4dd14a5f4b59581e37dbb1fb88d814e88 100644 GIT binary patch delta 77 zcmZoi_@% diff --git a/target/test-classes/Test.class b/target/test-classes/Test.class index 2b8f3f23f89f51d1166f866052d6e3d6c10aa13d..0ffb9b0d65ddebd5cb288e5d7f9b5fd22d9a2a7d 100644 GIT binary patch delta 1889 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 diff --git a/test/Test.java b/test/Test.java index 88624ae..58cb8ab 100644 --- a/test/Test.java +++ b/test/Test.java @@ -1,25 +1,12 @@ import com.engine.attendance.attendanceanalysis.cmd.GetClockInTimeItemCmd; -import com.engine.attendance.attendanceanalysis.service.UtilService; -import com.engine.attendance.attendanceanalysis.service.impl.UtilServiceImpl; -import com.engine.attendance.enums.AccountingUnitEnum; import com.engine.common.util.DateUtil; -import com.engine.common.util.ServiceUtil; import com.engine.common.util.Utils; import com.google.common.collect.Lists; import com.google.common.collect.Maps; -import com.google.common.collect.Sets; -import io.swagger.models.auth.In; -import weaver.general.TimeUtil; import weaver.general.Util; - -import java.math.BigDecimal; -import java.math.MathContext; -import java.math.RoundingMode; import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; import java.util.*; import java.util.stream.Collectors; @@ -27,6 +14,7 @@ import java.util.stream.Collectors; public class Test { public static void main(String[] args) { + System.out.println("18:13:00".substring(0,5)); // Map params = Maps.newHashMap(); // List> attendanceItems = new ArrayList<>(); // Map map = new HashMap<>(); @@ -71,13 +59,8 @@ public class Test { // System.out.println(i); // } // System.out.println("aaaa"); - Map map = Maps.newHashMap(); - map.put("ksrq","2023-11-25"); - map.put("jssj","14:00"); - map.put("jsrq","2023-11-25"); - map.put("kssj","10:00"); - System.out.println(Utils.getStartAndEndTime("2023-11-25 09:00","2023-11-25 13:00",map)); + System.out.println(DateUtil.getBetWeenMinutes("2023-11-25 20:45:00","2023-11-25 21:00")); //System.out.println(Util.getIntValue("")); // List> beforeleaveDate = Lists.newArrayList(); // for (int i=beforeleaveDate.size()-1;i>=0;i--){