diff --git a/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat b/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat index 44b1fa4..a8d602e 100644 Binary files a/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat and b/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat differ diff --git a/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values b/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values index fc773c2..bb57555 100644 Binary files a/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values and b/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values differ diff --git a/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values.at b/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values.at index a66731e..85e00a7 100644 Binary files a/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values.at and b/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values.at differ diff --git a/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values.s b/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values.s index 9c3c0e3..cc22fb7 100644 --- a/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values.s +++ b/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values.s @@ -1 +1 @@ -~~}}}}~~}}~}~~~|~}Ā~~}~~}||~vlhjkikliliijjom|vuwuxvyxxyvvxvyxytwɉגߐǔِّۏӑٍđޑēԒِҐԑђĒёܑǏܐݓđ΍ϏŒލȓِ͓ړՌďڍގӑۏێϑ؎΍ҏ̍ǑڎݎȒُҏxtvsvtvryksoqpnpnrnqvqunopsjnZY][]ZVXZWWuvxy{z}{wx{{}vyxxƃ_WUZQVWZT]cfcV[^SVPWV[VZ[YZQVTY[ZXRVU\W]Wԁ||z|x{z|z{}~|~}NMMMMMMMMNMMMLLLLMMMJKKKKKKKKKKJJJKKKKKKKLKKKKKJJJKKLKKKKKKKKKJJIJKKKKKKKLKKKKJJJKKKLKKKKKKKKKJJJKKKKKKKKLKKKK \ No newline at end of file +‡~|}}}y{~{|x}|{{}W\X\UXRXZ[ZTVQYY[ZUZVXPUS]\Vdeb^U\VVQ[UW_xxyu|{{wy{{x{yxwvWX\XVY[[][[nltonosswpntopkqqotlzrvtutvtxԋݏ‘̏ώގɐːЏێ׎ːÐȐҐƏώܓ֐͓ё؏ʌˑΐڎɔώבÓݎݏϐڍܑʎٓǒƐݐ͓ÒŒ͏ϐ֒ӐڏޏђđێԒߎߒxsxxxuxvwyywxvvvvuw{mnliihlfkihlkjkt~|~~}{}}}|~~}}~~|~~~}{ \ No newline at end of file diff --git a/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat_i b/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat_i index 69a52f6..d041140 100644 Binary files a/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat_i and b/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat_i differ diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 937fb8a..4d607db 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -10,9 +10,49 @@ + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + - @@ -550,7 +590,9 @@ - + + + diff --git a/log/sdk.log b/log/sdk.log index 69a004e..1dd07bd 100644 --- a/log/sdk.log +++ b/log/sdk.log @@ -30770,3 +30770,5 @@ 2024-04-11 14:59:51,031 [main] [org.logicalcobwebs.proxool.ConnectionPool] [DEBUG] - 000006 (01/04/01) - Connection #3 tested: OK 2024-04-11 14:59:51,118 [main] [org.logicalcobwebs.proxool.ConnectionPool] [DEBUG] - 000007 (01/04/01) - Connection #3 tested: OK 2024-04-11 14:59:51,119 [main] [A2] [INFO] - [null] main-1[com.engine.attendance.workflow.service.impl.AllowanceServiceImpl:43] - tyAllowanceIds : [149, 150] +2024-04-12 15:02:41,352 [Timer-0] [A2] [INFO] - rootPath == null +2024-04-12 15:02:41,356 [Timer-0] [A2] [INFO] - filePath == nullWEB-INF\prop\isSyncLog4j.properties diff --git a/src/com/engine/attendance/attendanceanalysis/service/AllowanceService.java b/src/com/engine/attendance/attendanceanalysis/service/AllowanceService.java index 4e4a470..cade247 100644 --- a/src/com/engine/attendance/attendanceanalysis/service/AllowanceService.java +++ b/src/com/engine/attendance/attendanceanalysis/service/AllowanceService.java @@ -4,5 +4,7 @@ import java.util.List; import java.util.Map; public interface AllowanceService { - List> removeAbnormal(Map param); + Map allowanceHandle(Map param); + + Map removeAbnormal(Map param); } diff --git a/src/com/engine/attendance/attendanceanalysis/service/impl/AllowanceServiceImpl.java b/src/com/engine/attendance/attendanceanalysis/service/impl/AllowanceServiceImpl.java index 9dc5f8f..6a42a1c 100644 --- a/src/com/engine/attendance/attendanceanalysis/service/impl/AllowanceServiceImpl.java +++ b/src/com/engine/attendance/attendanceanalysis/service/impl/AllowanceServiceImpl.java @@ -1,18 +1,31 @@ package com.engine.attendance.attendanceanalysis.service.impl; +import com.engine.attendance.attendanceanalysis.cmd.item.AbsenteeismItemCmd; +import com.engine.attendance.attendanceanalysis.cmd.item.BeLateItemCmd; import com.engine.attendance.attendanceanalysis.service.AllowanceService; +import com.engine.attendance.enums.AccountingUnitEnum; +import com.engine.attendance.enums.AttendanceItemTypeEnum; +import com.engine.attendance.enums.CheckBoxEnum; +import com.engine.attendance.enums.WorkForTimeEnum; +import com.engine.common.util.DateUtil; import com.engine.common.util.DbTools; +import com.engine.common.util.Utils; import com.engine.core.impl.Service; +import com.google.common.collect.Maps; import weaver.general.Util; +import java.time.ZoneOffset; +import java.util.Comparator; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; public class AllowanceServiceImpl extends Service implements AllowanceService { + @Override - public List> removeAbnormal(Map param) { + public Map allowanceHandle(Map param) { String userId = Util.null2String(param.get("userId")); String analysisDate = Util.null2String(param.get("analysisDate")); @@ -21,9 +34,132 @@ public class AllowanceServiceImpl extends Service implements AllowanceService { if (allowanceList.size() == 0){ return null; } + Set allowances = allowanceList.stream().map(e-> e.get("jtlx").toString()).collect(Collectors.toSet()); Map>> allowanceGroupByList = allowanceList.stream().collect(Collectors.groupingBy(e->e.get("jtlx").toString())); + sql = "select id,csjthdclfs,tcscws,hsdw from uf_jcl_kq_kqxm where id in ("+String.join(",",allowances)+")"; + List> itemList = DbTools.getSqlToList(sql); + Map>> itemGroupbyList = itemList.stream().collect(Collectors.groupingBy(e->e.get("id").toString())); + + Map resultMap = Maps.newHashMap(); + allowanceGroupByList.entrySet().forEach(e -> { + String jtlx = e.getKey(); + List> list = e.getValue(); + Map item = itemGroupbyList.get(jtlx).get(0); + String csjthdclfs = Util.null2String(item.get("csjthdclfs")); + String tcscws = Util.null2String(item.get("tcscws")); + String hsdw = Util.null2String(item.get("hsdw")); + if ("1".equals(csjthdclfs)){ + //次日免班 + resultMap.put("ifnotWork","true"); + }else if ("2".equals(csjthdclfs)){ + //推迟上班 + double scsum = list.stream().mapToDouble(f->Double.valueOf(f.get("sc").toString())).sum(); + scsum = Utils.converTimeToMinute(scsum,hsdw); + double multiple = Double.valueOf(tcscws); + resultMap.put(jtlx, Utils.multiply(scsum,multiple)); + } + }); + if (resultMap.get("ifnotWork") != null){ + //次日免班 + + }else { + //推迟上班分钟数 + double delayMinute = 0; + for (Map.Entry entry :resultMap.entrySet()){ + delayMinute = delayMinute+Double.valueOf(String.valueOf(entry.getValue())); + } + resultMap.put("delayMinute",delayMinute); + } + + + return resultMap; + } + + @Override + public Map removeAbnormal(Map param) { + List> abnormalClockInList = (List>)param.get("abnormalClockInList"); + //班次 + List> scheduleResult = (List>)param.get("scheduleResult"); + //分析日期 + String analysisDate = Util.null2String(param.get("analysisDate")); + //考勤项目 + List> attendanceItems = (List>)param.get("attendanceItems"); + + int delayMinute = Double.valueOf(Util.null2String(param.get("delayMinute"))).intValue(); + List> lateList = abnormalClockInList.stream().filter(e-> AttendanceItemTypeEnum.LATE.equals(e.get("itemType"))).collect(Collectors.toList()); + lateList = lateList.stream().sorted(Comparator.comparing(e-> DateUtil.getTime(e.get("classStartTime").toString()).toInstant(ZoneOffset.of("+8")).toEpochMilli())).collect(Collectors.toList()); + Map lateMap = lateList.get(0); + if (delayMinute > 0){ + //早上卡嗲 + String classStartTime = Util.null2String(lateMap.get("classStartTime")); + //早上打卡时间 + String classEndTime = Util.null2String(lateMap.get("classEndTime")); + + for (Map abnormalClockIn:abnormalClockInList){ + if (abnormalClockIn.get("itemType").equals(AttendanceItemTypeEnum.LATE) && + abnormalClockIn.get("classStartTime").equals(lateMap.get("classStartTime")) ){ + abnormalClockInList.remove(abnormalClockIn); + } + + } + //延迟上班后新的上班时间 + String newClassStartTime = DateUtil.AfterMinutes(classStartTime,delayMinute); + + if (DateUtil.getTime(newClassStartTime).compareTo(DateUtil.getTime(classEndTime)) >=0){ + //消除迟到 + + }else { + //重新计算迟到项目以及时间 + int between = Utils.removeRestTime(newClassStartTime,classEndTime,scheduleResult,analysisDate); + Map lateParams = Maps.newHashMap(); + lateParams.put("attendanceItems",attendanceItems); + lateParams.put("time",between); + lateParams.put("rqlx",scheduleResult.get(0).get("rqlx")); + + + lateParams.put("workfor", WorkForTimeEnum.WORK_TIME.getKey()); + Map result = commandExecutor.execute(new BeLateItemCmd(lateParams)); + List> workTimeBeLateItems = (List>)result.get("attendanceItems"); + if (workTimeBeLateItems.size() == 0){ + workTimeBeLateItems = (List>)commandExecutor.execute(new AbsenteeismItemCmd(lateParams)).get("attendanceItems"); + } + if (workTimeBeLateItems.size() > 0){ + Map saveWorkTimeBeLateParam = Maps.newHashMap(); + 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)){ + //起步扣除分钟数 + int qbkcsc = Integer.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("qbkcsc"))); + //超出后单次累加扣除分钟数 + int cckcbc = Integer.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("cckcbc"))); + if (between <= qbkcsc){ + between = qbkcsc; + }else { + int deductionDuration = between-qbkcsc; + between = Double.valueOf(Utils.getItemduration(cckcbc,AccountingUnitEnum.MINUTES.getKey(),deductionDuration,AccountingUnitEnum.MINUTES)).intValue()+qbkcsc; + + } + } + double itemduration = Utils.getItemduration(hsl,hsdw,between,AccountingUnitEnum.MINUTES); + saveWorkTimeBeLateParam.put("item",workTimeBeLateItems.get(0).get("key")); + saveWorkTimeBeLateParam.put("itemduration",itemduration); + saveWorkTimeBeLateParam.put("betweenMinutes",between); + saveWorkTimeBeLateParam.put("itemType", AttendanceItemTypeEnum.LATE); + saveWorkTimeBeLateParam.put("hsdw",hsdw); + saveWorkTimeBeLateParam.put("hsl",hsl); + saveWorkTimeBeLateParam.put("kczgsc",kczgsc); + saveWorkTimeBeLateParam.put("classStartTime",classStartTime); + saveWorkTimeBeLateParam.put("classEndTime",classEndTime); + abnormalClockInList.add(saveWorkTimeBeLateParam); + + } + } + + } return null; } + } diff --git a/src/com/engine/attendance/attendanceanalysis/service/impl/ComprehensiveWorkingHourServiceImpl.java b/src/com/engine/attendance/attendanceanalysis/service/impl/ComprehensiveWorkingHourServiceImpl.java index 13f8f02..eb71c34 100644 --- a/src/com/engine/attendance/attendanceanalysis/service/impl/ComprehensiveWorkingHourServiceImpl.java +++ b/src/com/engine/attendance/attendanceanalysis/service/impl/ComprehensiveWorkingHourServiceImpl.java @@ -36,7 +36,7 @@ public class ComprehensiveWorkingHourServiceImpl extends Service implements Comp @Override public Map excuteByWorkHour(Map param) { Map resultMap = Maps.newHashMap(); - log.info("ComprehensiveWorkingHourServiceImpl param : [{}]",param); + //按照日期分割的打卡时间 List> clockInTimeList = (List>) param.get("clockInTimeCollect"); //分析日期 diff --git a/src/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.java b/src/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.java index 556685b..290cc64 100644 --- a/src/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.java +++ b/src/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.java @@ -142,6 +142,11 @@ public class AttendanceAnalysisWrapper extends Service { workingHourparam.put("userId",userId); workingHourparam.put("attendanceItems",attendanceItems); + /** + * 津贴 + */ + Map allowanceMap = updateAttendanceResultWrapper.allowanceHandle(recordParam); + if (workHourItems !=null && workHourItems.size() >0){ workingHourparam.put("workHourItem",workHourItems.get(0)); String ifPriority = Util.null2String(workHourItems.get(0).get("hlpbyxsyzhgs")); @@ -161,6 +166,7 @@ public class AttendanceAnalysisWrapper extends Service { params.put("scheduleList",scheduleList); params.put("workHourItems",workHourItems); params.put("attendanceItems",attendanceItems); + params.put("allowanceMap",allowanceMap); updateAttendanceResultWrapper.recordNoClass(params); return; } @@ -316,9 +322,28 @@ public class AttendanceAnalysisWrapper extends Service { /** - * 请假 + * 出勤津贴 */ recordAbnormalParam.put("abnormalClockInList",abnormalClockInList); + String ifnotWork = Util.null2String(allowanceMap.get("ifnotWork")); + if (!"".equals(ifnotWork)){ + //次日免班 + recordParam.put("recordData",Lists.newArrayList()); + recordParam.put("recordDataTime",Maps.newHashMap()); + recordParam.put("attendanceDuration",0); + recordParam.put("cqzt",CheckBoxEnum.UNCHECKED.getKey()); + utilService.recordItem(recordParam); + return; + } + if (!"".equals(allowanceMap.get("delayMinute"))){ + recordAbnormalParam.put("delayMinute",allowanceMap.get("delayMinute")); + updateAttendanceResultWrapper.removeAbnormal(recordAbnormalParam); + } + + /** + * 请假 + */ + Map vactionMap = updateAttendanceResultWrapper.recordAskForLeave(recordAbnormalParam); List> abnormalClockInListByAskForLeave = (List>)vactionMap.get("abnormalClockInList"); List> vactionList = (List>)vactionMap.get("resultList"); @@ -340,9 +365,6 @@ public class AttendanceAnalysisWrapper extends Service { */ List> recordWorkOverTime= updateAttendanceResultWrapper.recordWorkOverTime(recordAbnormalParam); - /** - * 有出勤津贴 - */ /** diff --git a/src/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.java b/src/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.java index a636fc6..8c48e95 100644 --- a/src/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.java +++ b/src/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.java @@ -27,7 +27,8 @@ public class UpdateAttendanceResultWrapper extends Service { private EvectionService evectionService= ServiceUtil.getService(EvectionServiceImpl.class); private WorkOverTimeService workOverTimeService = ServiceUtil.getService(WorkOverTimeServiceImpl.class); private ComprehensiveWorkingHourService comprehensiveWorkingHourService = ServiceUtil.getService(ComprehensiveWorkingHourServiceImpl.class); - + private AllowanceService allowanceService = ServiceUtil.getService(AllowanceServiceImpl.class); + private UtilService utilService = ServiceUtil.getService(UtilServiceImpl.class); /** * 记录异常打卡 @@ -409,6 +410,8 @@ public class UpdateAttendanceResultWrapper extends Service { String userId = Util.null2String(params.get("userId")); //综合工时 List> workHourItems = (List>)params.get("workHourItems"); + //津贴 + Map allowanceMap = (Map)params.get("allowanceMap"); Map normalParams = Maps.newHashMap(); @@ -417,6 +420,23 @@ public class UpdateAttendanceResultWrapper extends Service { normalParams.put("modeId",params.get("modeId")); normalParams.put("scheduleList",params.get("scheduleList")); log.info("userId : {} ,analysisDate: {} have no class",userId,analysisDate); + + if (allowanceMap.get("ifnotWork") != null){ + //次日免班 + Map recordParam = Maps.newHashMap(); + recordParam.put("userId",userId); + recordParam.put("analysisDate",analysisDate); + recordParam.put("recordData",Lists.newArrayList()); + recordParam.put("rqlx",Utils.getDateType(analysisDate)); + recordParam.put("classInfo",Lists.newArrayList()); + recordParam.put("recordDataTime",Maps.newHashMap()); + recordParam.put("attendanceDuration",0); + recordParam.put("formmodeIdMap",Utils.getFormmodeIdMap()); + recordParam.put("cqzt",CheckBoxEnum.UNCHECKED.getKey()); + utilService.recordItem(recordParam); + return false; + } + if (workHourItems.size() >0){ params.put("workHourItem",workHourItems.get(0)); comprehensiveWorkingHourService.excuteByWorkHour(params); @@ -433,9 +453,16 @@ public class UpdateAttendanceResultWrapper extends Service { * @param params * @return */ - public List> allowanceHandle(Map params){ - + public Map allowanceHandle(Map params){ + return allowanceService.allowanceHandle(params); + } - return null; + /** + * 津贴处理 + * @param params + * @return + */ + public Map removeAbnormal(Map params){ + return allowanceService.removeAbnormal(params); } } diff --git a/src/com/engine/common/util/Utils.java b/src/com/engine/common/util/Utils.java index bd9f130..946042d 100644 --- a/src/com/engine/common/util/Utils.java +++ b/src/com/engine/common/util/Utils.java @@ -16,6 +16,7 @@ import java.io.IOException; import java.lang.reflect.Type; import java.math.BigDecimal; import java.math.MathContext; +import java.math.RoundingMode; import java.net.JarURLConnection; import java.net.URL; import java.net.URLDecoder; @@ -562,14 +563,30 @@ public class Utils { return resultList; } + /** + * 相减 + * @param value1 + * @param value2 + * @return + */ public static double subtract(double value1,double value2){ - return new BigDecimal(value1).subtract(new BigDecimal(value2),new MathContext(BigDecimal.ROUND_HALF_DOWN)).doubleValue(); + return new BigDecimal(value1).subtract(new BigDecimal(value2),new MathContext(BigDecimal.ROUND_HALF_UP)).doubleValue(); } + /** + * + * @param value1 + * @param value2 + * @return + */ public static double add(double value1,double value2){ - return new BigDecimal(value1).add(new BigDecimal(value2),new MathContext(BigDecimal.ROUND_HALF_DOWN)).doubleValue(); + return new BigDecimal(value1).add(new BigDecimal(value2),new MathContext(BigDecimal.ROUND_HALF_UP)).doubleValue(); + } + public static double multiply(double value1,double value2){ + + return new BigDecimal(value1).multiply(new BigDecimal(value2),new MathContext(BigDecimal.ROUND_HALF_UP)).doubleValue(); } /** @@ -603,4 +620,30 @@ public class Utils { Map data = DbTools.getSqlToMap(sql,rlmc,date.split(" ")[0]); return Util.null2String(data.get("rqlx")); } + /** + * 根据日期,获得默认日历的当前日期类型 + * @param date + * @return + */ + public static String getDateType(String date){ + String sql = "select a.rqlx from uf_jcl_kq_rlxx a left join uf_jcl_kq_rlmc b on a.rlmc=b.id where b.mrrl=1 and a.rq=?"; + Map data = DbTools.getSqlToMap(sql,date); + return Util.null2String(data.get("rqlx")); + } + + /** + * 根据核算单位、时间转换成分钟 + * @param time 时间 + * @param hsdw 核算单位 + * @return + */ + public static double converTimeToMinute(double time,String hsdw){ + if (AccountingUnitEnum.DAY.getKey().equals(hsdw)){ + time = time*24*60; + }else if (AccountingUnitEnum.HOUR.getKey().equals(hsdw)){ + time = time*60; + } + + return time; + } } diff --git a/target/classes/com/engine/attendance/attendanceanalysis/cmd/ComputeAttendanceDurationCmd.class b/target/classes/com/engine/attendance/attendanceanalysis/cmd/ComputeAttendanceDurationCmd.class index 4e1faa9..3e3dd1f 100644 Binary files a/target/classes/com/engine/attendance/attendanceanalysis/cmd/ComputeAttendanceDurationCmd.class and b/target/classes/com/engine/attendance/attendanceanalysis/cmd/ComputeAttendanceDurationCmd.class differ diff --git a/target/classes/com/engine/attendance/attendanceanalysis/cmd/GetClockInPointCmd.class b/target/classes/com/engine/attendance/attendanceanalysis/cmd/GetClockInPointCmd.class index 2a305df..06140e3 100644 Binary files a/target/classes/com/engine/attendance/attendanceanalysis/cmd/GetClockInPointCmd.class and b/target/classes/com/engine/attendance/attendanceanalysis/cmd/GetClockInPointCmd.class differ diff --git a/target/classes/com/engine/attendance/attendanceanalysis/service/AllowanceService.class b/target/classes/com/engine/attendance/attendanceanalysis/service/AllowanceService.class index 3f70f82..fa8c1cd 100644 Binary files a/target/classes/com/engine/attendance/attendanceanalysis/service/AllowanceService.class and b/target/classes/com/engine/attendance/attendanceanalysis/service/AllowanceService.class differ diff --git a/target/classes/com/engine/attendance/attendanceanalysis/service/impl/AllowanceServiceImpl.class b/target/classes/com/engine/attendance/attendanceanalysis/service/impl/AllowanceServiceImpl.class index c64e467..c21ecca 100644 Binary files a/target/classes/com/engine/attendance/attendanceanalysis/service/impl/AllowanceServiceImpl.class and b/target/classes/com/engine/attendance/attendanceanalysis/service/impl/AllowanceServiceImpl.class differ diff --git a/target/classes/com/engine/attendance/attendanceanalysis/service/impl/AskForLeaveServiceImpl.class b/target/classes/com/engine/attendance/attendanceanalysis/service/impl/AskForLeaveServiceImpl.class index 982554b..cd14959 100644 Binary files a/target/classes/com/engine/attendance/attendanceanalysis/service/impl/AskForLeaveServiceImpl.class and b/target/classes/com/engine/attendance/attendanceanalysis/service/impl/AskForLeaveServiceImpl.class differ diff --git a/target/classes/com/engine/attendance/attendanceanalysis/service/impl/ComprehensiveWorkingHourServiceImpl.class b/target/classes/com/engine/attendance/attendanceanalysis/service/impl/ComprehensiveWorkingHourServiceImpl.class index 82b2706..46cf085 100644 Binary files a/target/classes/com/engine/attendance/attendanceanalysis/service/impl/ComprehensiveWorkingHourServiceImpl.class and b/target/classes/com/engine/attendance/attendanceanalysis/service/impl/ComprehensiveWorkingHourServiceImpl.class differ diff --git a/target/classes/com/engine/attendance/attendanceanalysis/service/impl/EvectionServiceImpl.class b/target/classes/com/engine/attendance/attendanceanalysis/service/impl/EvectionServiceImpl.class index 854dce0..82f720e 100644 Binary files a/target/classes/com/engine/attendance/attendanceanalysis/service/impl/EvectionServiceImpl.class and b/target/classes/com/engine/attendance/attendanceanalysis/service/impl/EvectionServiceImpl.class differ diff --git a/target/classes/com/engine/attendance/attendanceanalysis/service/impl/UtilServiceImpl.class b/target/classes/com/engine/attendance/attendanceanalysis/service/impl/UtilServiceImpl.class index 166fa5e..a04a7f4 100644 Binary files a/target/classes/com/engine/attendance/attendanceanalysis/service/impl/UtilServiceImpl.class and b/target/classes/com/engine/attendance/attendanceanalysis/service/impl/UtilServiceImpl.class differ 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 fbe5506..7c13fee 100644 Binary files a/target/classes/com/engine/attendance/attendanceanalysis/service/impl/WorkOverTimeServiceImpl.class and b/target/classes/com/engine/attendance/attendanceanalysis/service/impl/WorkOverTimeServiceImpl.class differ diff --git a/target/classes/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper$1.class b/target/classes/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper$1.class index aa19739..f0c6219 100644 Binary files a/target/classes/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper$1.class and b/target/classes/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper$1.class differ diff --git a/target/classes/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper$2.class b/target/classes/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper$2.class index b115d5e..88e286f 100644 Binary files a/target/classes/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper$2.class and b/target/classes/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper$2.class differ diff --git a/target/classes/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.class b/target/classes/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.class index 3f1f6c3..4464d36 100644 Binary files a/target/classes/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.class and b/target/classes/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.class differ diff --git a/target/classes/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.class b/target/classes/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.class index 25294ea..d450908 100644 Binary files a/target/classes/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.class and b/target/classes/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.class differ diff --git a/target/classes/com/engine/attendance/attendanceplan/cmd/GetAttendanceItemsByPersonDataCmd.class b/target/classes/com/engine/attendance/attendanceplan/cmd/GetAttendanceItemsByPersonDataCmd.class index 1c328e5..e8aad6b 100644 Binary files a/target/classes/com/engine/attendance/attendanceplan/cmd/GetAttendanceItemsByPersonDataCmd.class and b/target/classes/com/engine/attendance/attendanceplan/cmd/GetAttendanceItemsByPersonDataCmd.class differ diff --git a/target/classes/com/engine/attendance/attendanceplan/cmd/GetWorkHoursItemByPersonCmd.class b/target/classes/com/engine/attendance/attendanceplan/cmd/GetWorkHoursItemByPersonCmd.class index e4867c0..49358ee 100644 Binary files a/target/classes/com/engine/attendance/attendanceplan/cmd/GetWorkHoursItemByPersonCmd.class and b/target/classes/com/engine/attendance/attendanceplan/cmd/GetWorkHoursItemByPersonCmd.class differ diff --git a/target/classes/com/engine/attendance/component/calendarscheduling/service/impl/WorkRulesServiceImpl.class b/target/classes/com/engine/attendance/component/calendarscheduling/service/impl/WorkRulesServiceImpl.class index 19e5026..acaa7f9 100644 Binary files a/target/classes/com/engine/attendance/component/calendarscheduling/service/impl/WorkRulesServiceImpl.class and b/target/classes/com/engine/attendance/component/calendarscheduling/service/impl/WorkRulesServiceImpl.class differ diff --git a/target/classes/com/engine/attendance/component/persongroup/job/scheduling/SchedulingJob.class b/target/classes/com/engine/attendance/component/persongroup/job/scheduling/SchedulingJob.class index 8dd578e..c8b92fb 100644 Binary files a/target/classes/com/engine/attendance/component/persongroup/job/scheduling/SchedulingJob.class and b/target/classes/com/engine/attendance/component/persongroup/job/scheduling/SchedulingJob.class differ diff --git a/target/classes/com/engine/attendance/component/persongroup/service/impl/PersonGroupServiceImpl.class b/target/classes/com/engine/attendance/component/persongroup/service/impl/PersonGroupServiceImpl.class index bfeb64c..3db1f55 100644 Binary files a/target/classes/com/engine/attendance/component/persongroup/service/impl/PersonGroupServiceImpl.class and b/target/classes/com/engine/attendance/component/persongroup/service/impl/PersonGroupServiceImpl.class differ diff --git a/target/classes/com/engine/attendance/vacation/cmd/VocationCmd.class b/target/classes/com/engine/attendance/vacation/cmd/VocationCmd.class index 124f101..efe1d58 100644 Binary files a/target/classes/com/engine/attendance/vacation/cmd/VocationCmd.class and b/target/classes/com/engine/attendance/vacation/cmd/VocationCmd.class differ diff --git a/target/classes/com/engine/attendance/vacation/util/VocationCommonUtil.class b/target/classes/com/engine/attendance/vacation/util/VocationCommonUtil.class index bc64578..5df2544 100644 Binary files a/target/classes/com/engine/attendance/vacation/util/VocationCommonUtil.class and b/target/classes/com/engine/attendance/vacation/util/VocationCommonUtil.class differ diff --git a/target/classes/com/engine/attendance/workflow/action/askforleave/AskForLeaveWorkFlowArchivingAction.class b/target/classes/com/engine/attendance/workflow/action/askforleave/AskForLeaveWorkFlowArchivingAction.class index 0184434..85698c6 100644 Binary files a/target/classes/com/engine/attendance/workflow/action/askforleave/AskForLeaveWorkFlowArchivingAction.class and b/target/classes/com/engine/attendance/workflow/action/askforleave/AskForLeaveWorkFlowArchivingAction.class differ diff --git a/target/classes/com/engine/attendance/workflow/action/askforleave/AskForLeaveWorkFlowSubmitAction.class b/target/classes/com/engine/attendance/workflow/action/askforleave/AskForLeaveWorkFlowSubmitAction.class index 1895789..5abf754 100644 Binary files a/target/classes/com/engine/attendance/workflow/action/askforleave/AskForLeaveWorkFlowSubmitAction.class and b/target/classes/com/engine/attendance/workflow/action/askforleave/AskForLeaveWorkFlowSubmitAction.class differ diff --git a/target/classes/com/engine/attendance/workflow/cmd/GetKqCycleTimeIntervalCmd.class b/target/classes/com/engine/attendance/workflow/cmd/GetKqCycleTimeIntervalCmd.class index 2b8489b..ab5971e 100644 Binary files a/target/classes/com/engine/attendance/workflow/cmd/GetKqCycleTimeIntervalCmd.class and b/target/classes/com/engine/attendance/workflow/cmd/GetKqCycleTimeIntervalCmd.class differ diff --git a/target/classes/com/engine/attendance/workflow/service/impl/AllowanceServiceImpl.class b/target/classes/com/engine/attendance/workflow/service/impl/AllowanceServiceImpl.class index 8016d03..f088d30 100644 Binary files a/target/classes/com/engine/attendance/workflow/service/impl/AllowanceServiceImpl.class and b/target/classes/com/engine/attendance/workflow/service/impl/AllowanceServiceImpl.class differ diff --git a/target/classes/com/engine/common/util/Utils$1.class b/target/classes/com/engine/common/util/Utils$1.class index e994031..89a5e34 100644 Binary files a/target/classes/com/engine/common/util/Utils$1.class and b/target/classes/com/engine/common/util/Utils$1.class differ diff --git a/target/classes/com/engine/common/util/Utils$2.class b/target/classes/com/engine/common/util/Utils$2.class index 38d3836..831dd42 100644 Binary files a/target/classes/com/engine/common/util/Utils$2.class and b/target/classes/com/engine/common/util/Utils$2.class differ diff --git a/target/classes/com/engine/common/util/Utils$3.class b/target/classes/com/engine/common/util/Utils$3.class index 0b87eae..6ba89b0 100644 Binary files a/target/classes/com/engine/common/util/Utils$3.class and b/target/classes/com/engine/common/util/Utils$3.class differ diff --git a/target/classes/com/engine/common/util/Utils.class b/target/classes/com/engine/common/util/Utils.class index 912c2a9..5dfd984 100644 Binary files a/target/classes/com/engine/common/util/Utils.class and b/target/classes/com/engine/common/util/Utils.class differ diff --git a/target/test-classes/ComprehensiveWorkingHourServiceImpl/Test1$1.class b/target/test-classes/ComprehensiveWorkingHourServiceImpl/Test1$1.class new file mode 100644 index 0000000..a02ecd9 Binary files /dev/null and b/target/test-classes/ComprehensiveWorkingHourServiceImpl/Test1$1.class differ diff --git a/target/test-classes/ComprehensiveWorkingHourServiceImpl/Test1$2.class b/target/test-classes/ComprehensiveWorkingHourServiceImpl/Test1$2.class new file mode 100644 index 0000000..1ee3d2e Binary files /dev/null and b/target/test-classes/ComprehensiveWorkingHourServiceImpl/Test1$2.class differ diff --git a/target/test-classes/ComprehensiveWorkingHourServiceImpl/Test1$3.class b/target/test-classes/ComprehensiveWorkingHourServiceImpl/Test1$3.class new file mode 100644 index 0000000..692f1c9 Binary files /dev/null and b/target/test-classes/ComprehensiveWorkingHourServiceImpl/Test1$3.class differ diff --git a/target/test-classes/ComprehensiveWorkingHourServiceImpl/Test1$4.class b/target/test-classes/ComprehensiveWorkingHourServiceImpl/Test1$4.class new file mode 100644 index 0000000..9802092 Binary files /dev/null and b/target/test-classes/ComprehensiveWorkingHourServiceImpl/Test1$4.class differ diff --git a/target/test-classes/ComprehensiveWorkingHourServiceImpl/Test1$5.class b/target/test-classes/ComprehensiveWorkingHourServiceImpl/Test1$5.class new file mode 100644 index 0000000..e47db9d Binary files /dev/null and b/target/test-classes/ComprehensiveWorkingHourServiceImpl/Test1$5.class differ diff --git a/target/test-classes/ComprehensiveWorkingHourServiceImpl/Test1$6.class b/target/test-classes/ComprehensiveWorkingHourServiceImpl/Test1$6.class new file mode 100644 index 0000000..2a9ff27 Binary files /dev/null and b/target/test-classes/ComprehensiveWorkingHourServiceImpl/Test1$6.class differ diff --git a/target/test-classes/ComprehensiveWorkingHourServiceImpl/Test1$7.class b/target/test-classes/ComprehensiveWorkingHourServiceImpl/Test1$7.class new file mode 100644 index 0000000..83c39b3 Binary files /dev/null and b/target/test-classes/ComprehensiveWorkingHourServiceImpl/Test1$7.class differ diff --git a/target/test-classes/ComprehensiveWorkingHourServiceImpl/Test1$8.class b/target/test-classes/ComprehensiveWorkingHourServiceImpl/Test1$8.class new file mode 100644 index 0000000..3043cf0 Binary files /dev/null and b/target/test-classes/ComprehensiveWorkingHourServiceImpl/Test1$8.class differ diff --git a/target/test-classes/ComprehensiveWorkingHourServiceImpl/Test1.class b/target/test-classes/ComprehensiveWorkingHourServiceImpl/Test1.class index 356b520..3f99b5d 100644 Binary files a/target/test-classes/ComprehensiveWorkingHourServiceImpl/Test1.class and b/target/test-classes/ComprehensiveWorkingHourServiceImpl/Test1.class differ diff --git a/target/test-classes/TestGetClockInPoint.class b/target/test-classes/TestGetClockInPoint.class index 636270b..989e67b 100644 Binary files a/target/test-classes/TestGetClockInPoint.class and b/target/test-classes/TestGetClockInPoint.class differ diff --git a/target/test-classes/TestObj.class b/target/test-classes/TestObj.class index 1d73946..adefe9d 100644 Binary files a/target/test-classes/TestObj.class and b/target/test-classes/TestObj.class differ diff --git a/target/test-classes/shuju/Test.class b/target/test-classes/shuju/Test.class index d20f0f8..d4b5364 100644 Binary files a/target/test-classes/shuju/Test.class and b/target/test-classes/shuju/Test.class differ diff --git a/test/TestObj.java b/test/TestObj.java index ddc2ad5..2264bf4 100644 --- a/test/TestObj.java +++ b/test/TestObj.java @@ -54,9 +54,10 @@ public class TestObj { // // // System.out.println(DateUtil.getBetWeenMinutes("2023-12-01 10:14","2023-12-01 12:25")); - BigDecimal bigDecimal1 = new BigDecimal(100); - BigDecimal bigDecimal2 = new BigDecimal(60); - System.out.println(bigDecimal1.divide(bigDecimal2,2,RoundingMode.HALF_UP).doubleValue()); +// BigDecimal bigDecimal1 = new BigDecimal(100); +// BigDecimal bigDecimal2 = new BigDecimal(60); +// System.out.println(bigDecimal1.divide(bigDecimal2,2,RoundingMode.HALF_UP).doubleValue()); + System.out.println(Utils.multiply(1.1,1.5)); // System.out.println(Utils.getItemdurationDown(30, AccountingUnitEnum.MINUTES.getKey(), 35,AccountingUnitEnum.MINUTES)); } diff --git a/test/shuju/Test.java b/test/shuju/Test.java index 7491b2a..2e38dbd 100644 --- a/test/shuju/Test.java +++ b/test/shuju/Test.java @@ -1,13 +1,18 @@ package shuju; import com.engine.common.util.DateUtil; +import com.engine.common.util.Utils; import com.google.common.collect.Lists; +import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; public class Test { public static void main(String[] args) { - System.out.println(DateUtil.getBetWeenMinutes("2024-04-10 09:06:00","2024-04-10 18:04:00")); + + System.out.println(Utils.subtract(1,2)); } }