diff --git a/log/sdk.log b/log/sdk.log index 46ccc6b..5274a5d 100644 --- a/log/sdk.log +++ b/log/sdk.log @@ -762,3 +762,9 @@ 2023-11-20 14:02:52,160 [Timer-0] [A2] [INFO] - filePath == nullWEB-INF\prop\isSyncLog4j.properties 2023-11-20 14:35:59,979 [Timer-0] [A2] [INFO] - rootPath == null 2023-11-20 14:35:59,982 [Timer-0] [A2] [INFO] - filePath == nullWEB-INF\prop\isSyncLog4j.properties +2023-11-27 21:26:47,131 [main] [com.engine.common.util.Utils] [INFO] - 请假外出时间 右边 +2023-11-28 13:55:01,852 [main] [com.engine.common.util.Utils] [INFO] - 请假外出时间 右边 +2023-11-28 15:44:10,438 [main] [com.engine.common.util.Utils] [INFO] - 请假外出时间 右边 +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 diff --git a/out/artifacts/hrm_attendance/hrm-attendance.jar b/out/artifacts/hrm_attendance/hrm-attendance.jar index bbb0c35..5ddd083 100644 Binary files a/out/artifacts/hrm_attendance/hrm-attendance.jar and b/out/artifacts/hrm_attendance/hrm-attendance.jar differ diff --git a/src/com/engine/attendance/attendanceanalysis/cmd/ComputeAttendanceDurationCmd.java b/src/com/engine/attendance/attendanceanalysis/cmd/ComputeAttendanceDurationCmd.java index 4d04f3b..ec01474 100644 --- a/src/com/engine/attendance/attendanceanalysis/cmd/ComputeAttendanceDurationCmd.java +++ b/src/com/engine/attendance/attendanceanalysis/cmd/ComputeAttendanceDurationCmd.java @@ -7,12 +7,14 @@ import com.engine.common.util.DateUtil; import com.engine.common.util.Utils; import com.engine.core.interceptor.CommandContext; import com.google.common.collect.Maps; +import lombok.extern.slf4j.Slf4j; import weaver.general.Util; import java.util.List; import java.util.Map; import java.util.stream.Collectors; +@Slf4j public class ComputeAttendanceDurationCmd extends AbstractCommonCommand> { public ComputeAttendanceDurationCmd(Map params){ @@ -88,7 +90,9 @@ public class ComputeAttendanceDurationCmd extends AbstractCommonCommand> askForLeaveItems,List> offsetAskForLeaveAnomaly){ double employTime = 0; double edsc = Double.valueOf(scheduleResult.get(0).get("edsc").toString()); + + log.info("removeAskForLeave scheduleResult:{},askForLeaveList:{},askForLeaveItems:{},offsetAskForLeaveAnomaly:{}",scheduleResult, + askForLeaveList,askForLeaveItems,offsetAskForLeaveAnomaly); for (int i=0;i 0){ List> list = offsetAskForLeaveAnomaly.stream().filter(e->ClassSegmentTypeEnum.WORK_TIME.getKey().equals(e.get("bdlx"))).collect(Collectors.toList()); employTime += Math.round(list.size()/Double.valueOf(offsetAskForLeaveAnomaly.size()) *Double.valueOf(qjsc)*60); + }else { + employTime +=Double.valueOf(qjsc)*60; } } }else { //按照开始时间,结束时间请假 for (Map scheduleMap:scheduleResult){ - String dtkssj = analysisDate+" "+scheduleMap.get("dtkssj"); - String dtjssj = analysisDate+" "+scheduleMap.get("dtjssj"); - if (DateUtil.getTime(dtkssj).compareTo(DateUtil.getTime(dtjssj)) > 0){ - dtjssj = DateUtil.AfterDay(analysisDate,1) +" "+scheduleMap.get("dtjssj"); + if (ClassSegmentTypeEnum.WORK_TIME.getKey().equals(scheduleMap.get("bdlx"))){ + String dtkssj = analysisDate+" "+scheduleMap.get("dtkssj"); + String dtjssj = analysisDate+" "+scheduleMap.get("dtjssj"); + if (DateUtil.getTime(dtkssj).compareTo(DateUtil.getTime(dtjssj)) > 0){ + dtjssj = DateUtil.AfterDay(analysisDate,1) +" "+scheduleMap.get("dtjssj"); + } + employTime +=Utils.getStartAndEndTime(dtkssj,dtjssj,askForLeaveList.get(i)); } - employTime +=Utils.getStartAndEndTime(dtkssj,dtjssj,askForLeaveList.get(i)); } } @@ -169,6 +180,8 @@ public class ComputeAttendanceDurationCmd extends AbstractCommonCommand 0){ List> list = offsetEvectionAnomaly.stream().filter(e->ClassSegmentTypeEnum.WORK_TIME.getKey().equals(e.get("bdlx"))).collect(Collectors.toList()); employTime += Math.round(list.size()/Double.valueOf(offsetEvectionAnomaly.size()) *Double.valueOf(ccsc)*60); + }else { + employTime += Double.valueOf(ccsc)*60; } } }else { @@ -176,10 +189,12 @@ public class ComputeAttendanceDurationCmd extends AbstractCommonCommand scheduleMap:scheduleResult){ String dtkssj = analysisDate+" "+scheduleMap.get("dtkssj"); String dtjssj = analysisDate+" "+scheduleMap.get("dtjssj"); - if (DateUtil.getTime(dtkssj).compareTo(DateUtil.getTime(dtjssj)) > 0){ - dtjssj = DateUtil.AfterDay(analysisDate,1) +" "+scheduleMap.get("dtjssj"); + if (ClassSegmentTypeEnum.WORK_TIME.getKey().equals(scheduleMap.get("bdlx"))){ + if (DateUtil.getTime(dtkssj).compareTo(DateUtil.getTime(dtjssj)) > 0){ + dtjssj = DateUtil.AfterDay(analysisDate,1) +" "+scheduleMap.get("dtjssj"); + } + employTime +=Utils.getStartAndEndTime(dtkssj,dtjssj,evectionList.get(i)); } - employTime +=Utils.getStartAndEndTime(dtkssj,dtjssj,evectionList.get(i)); } } diff --git a/src/com/engine/attendance/attendanceanalysis/cmd/item/WorkOvertimeItemCmd.java b/src/com/engine/attendance/attendanceanalysis/cmd/item/WorkOvertimeItemCmd.java index b7aae49..938c224 100644 --- a/src/com/engine/attendance/attendanceanalysis/cmd/item/WorkOvertimeItemCmd.java +++ b/src/com/engine/attendance/attendanceanalysis/cmd/item/WorkOvertimeItemCmd.java @@ -50,7 +50,7 @@ public class WorkOvertimeItemCmd extends AbstractCommonCommand> { List> classInfo = (List>)params.get("classInfo"); //进出时间 Map recordDataTime = (Map)params.get("recordDataTime"); + //出勤时间 + String attendanceDuration = Util.null2String(params.get("attendanceDuration")); - String formmodeid = Util.null2String(params.get("modeId")); + Map formmodeIdMap = (Map)params.get("formmodeIdMap"); + + String formmodeid = formmodeIdMap.get("uf_jcl_kq_cqjg"); String cqzt = Util.null2String(params.get("cqzt")); @@ -63,7 +67,7 @@ public class recordDataCmd extends AbstractCommonCommand> { String sql = "select ygid,rq from uf_jcl_kq_cqjg where ygid=? and rq=?"; List> dataList = DbTools.getSqlToList(sql,userId,analysisDate); if (dataList.size() >0){ - sql = "update uf_jcl_kq_cqjg set cqzt="+cqzt+",fxrq='"+DateUtil.getCurrentDate()+"',xm1="+dayTYpe+","; + sql = "update uf_jcl_kq_cqjg set cqsc="+attendanceDuration+",cqzt="+cqzt+",fxrq='"+DateUtil.getCurrentDate()+"',xm1="+dayTYpe+","; for (int i =0;i> { insertDatas.add(classInfo.get(0).get("bcxx")); insertDatas.add(classInfo.get(0).get("bcsdxx")); insertDatas.add(cqzt); - insertDatas.add(classInfo.get(0).get("edsc")); + insertDatas.add(attendanceDuration); insertDatas.add(1); insertDatas.add(DateUtil.getCurrentDate()); insertDatas.add(formmodeid); diff --git a/src/com/engine/attendance/attendanceanalysis/job/AttendanceAnalysisJob.java b/src/com/engine/attendance/attendanceanalysis/job/AttendanceAnalysisJob.java index 98281c0..c600995 100644 --- a/src/com/engine/attendance/attendanceanalysis/job/AttendanceAnalysisJob.java +++ b/src/com/engine/attendance/attendanceanalysis/job/AttendanceAnalysisJob.java @@ -19,10 +19,6 @@ import java.util.stream.Collectors; @Slf4j public class AttendanceAnalysisJob extends BaseCronJob { private AttendancePlanService basicsetService = ServiceUtil.getService(AttendancePlanServiceImpl.class); - /** - * 出勤结果模块id - */ - private String modeId; private AttendanceAnalysisWrapper attendanceAnalysisService = ServiceUtil.getService(AttendanceAnalysisWrapper.class); @Override @@ -50,7 +46,7 @@ public class AttendanceAnalysisJob extends BaseCronJob { Map dataMap = basicsetService.getAttendanceItemsByPerson(paramMap); List> attendanceItems = (List>)dataMap.get("data"); - attendanceAnalysisService.attendanceAnalysis(userId,collect.get(userMap.get("id")),attendanceItems,modeId); + attendanceAnalysisService.attendanceAnalysis(userId,collect.get(userMap.get("id")),attendanceItems); } log.info("********AttendanceAnalysisJob end********"); } diff --git a/src/com/engine/attendance/attendanceanalysis/service/impl/AbnormalAttendanceServiceImpl.java b/src/com/engine/attendance/attendanceanalysis/service/impl/AbnormalAttendanceServiceImpl.java index b6c8e71..df38fc4 100644 --- a/src/com/engine/attendance/attendanceanalysis/service/impl/AbnormalAttendanceServiceImpl.java +++ b/src/com/engine/attendance/attendanceanalysis/service/impl/AbnormalAttendanceServiceImpl.java @@ -78,7 +78,7 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt between = qbkcsc; }else { int deductionDuration = between-qbkcsc; - between = Double.valueOf(Utils.getItemduration(cckcbc,AccountingUnitEnum.MINUTES.getKey(),deductionDuration,AccountingUnitEnum.MINUTES)).intValue(); + between = Double.valueOf(Utils.getItemduration(cckcbc,AccountingUnitEnum.MINUTES.getKey(),deductionDuration,AccountingUnitEnum.MINUTES)).intValue()+qbkcsc; } } @@ -88,7 +88,7 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt saveWorkTimeBeLateParam.put("betweenMinutes",between); saveWorkTimeBeLateParam.put("itemType", AttendanceItemTypeEnum.LATE); saveWorkTimeBeLateParam.put("hsdw",hsdw); - saveWorkTimeBeLateParam.put("kczgsc",workTimeBeLateItems.get(0)); + saveWorkTimeBeLateParam.put("kczgsc",kczgsc); resultList.add(saveWorkTimeBeLateParam); } @@ -121,7 +121,7 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt between = qbkcsc; }else { int deductionDuration = between-qbkcsc; - between = Double.valueOf(Utils.getItemduration(cckcbc,AccountingUnitEnum.MINUTES.getKey(),deductionDuration,AccountingUnitEnum.MINUTES)).intValue(); + between = Double.valueOf(Utils.getItemduration(cckcbc,AccountingUnitEnum.MINUTES.getKey(),deductionDuration,AccountingUnitEnum.MINUTES)).intValue()+qbkcsc; } } @@ -131,7 +131,7 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt saveWorkTimeBeLateParam.put("betweenMinutes",between); saveWorkTimeBeLateParam.put("itemType", AttendanceItemTypeEnum.LATE); saveWorkTimeBeLateParam.put("hsdw",hsdw); - saveWorkTimeBeLateParam.put("kczgsc",workTimeBeLateItems.get(0)); + saveWorkTimeBeLateParam.put("kczgsc",kczgsc); resultList.add(saveWorkTimeBeLateParam); } @@ -162,7 +162,7 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt between = qbkcsc; }else { int deductionDuration = between-qbkcsc; - between = Double.valueOf(Utils.getItemduration(cckcbc,AccountingUnitEnum.MINUTES.getKey(),deductionDuration,AccountingUnitEnum.MINUTES)).intValue(); + between = Double.valueOf(Utils.getItemduration(cckcbc,AccountingUnitEnum.MINUTES.getKey(),deductionDuration,AccountingUnitEnum.MINUTES)).intValue()+qbkcsc; } } @@ -173,7 +173,7 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt saveWorkTimeBeLateParam.put("betweenMinutes",between); saveWorkTimeBeLateParam.put("itemType", AttendanceItemTypeEnum.LATE); saveWorkTimeBeLateParam.put("hsdw",hsdw); - saveWorkTimeBeLateParam.put("kczgsc",workTimeBeLateItems.get(0)); + saveWorkTimeBeLateParam.put("kczgsc",kczgsc); resultList.add(saveWorkTimeBeLateParam); } @@ -239,7 +239,7 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt between = qbkcsc; }else { int deductionDuration = between-qbkcsc; - between = Double.valueOf(Utils.getItemduration(cckcbc,AccountingUnitEnum.MINUTES.getKey(),deductionDuration,AccountingUnitEnum.MINUTES)).intValue(); + between = Double.valueOf(Utils.getItemduration(cckcbc,AccountingUnitEnum.MINUTES.getKey(),deductionDuration,AccountingUnitEnum.MINUTES)).intValue()+qbkcsc; } } @@ -249,8 +249,9 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt saveWorkTimeBeLateParam.put("item",getBeEarlyItems(earlyParams).get(0).get("key")); saveWorkTimeBeLateParam.put("itemduration",itemduration); saveWorkTimeBeLateParam.put("betweenMinutes",between); + saveWorkTimeBeLateParam.put("itemType", AttendanceItemTypeEnum.LEAVE_EARLY); saveWorkTimeBeLateParam.put("hsdw",hsdw); - saveWorkTimeBeLateParam.put("kczgsc",workTimeBeLateItems.get(0)); + saveWorkTimeBeLateParam.put("kczgsc",kczgsc); resultList.add(saveWorkTimeBeLateParam); } @@ -283,7 +284,7 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt between = qbkcsc; }else { int deductionDuration = between-qbkcsc; - between = Double.valueOf(Utils.getItemduration(cckcbc,AccountingUnitEnum.MINUTES.getKey(),deductionDuration,AccountingUnitEnum.MINUTES)).intValue(); + between = Double.valueOf(Utils.getItemduration(cckcbc,AccountingUnitEnum.MINUTES.getKey(),deductionDuration,AccountingUnitEnum.MINUTES)).intValue()+qbkcsc; } } @@ -291,8 +292,9 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt saveWorkTimeBeLateParam.put("item",getBeEarlyItems(earlyParams).get(0).get("key")); saveWorkTimeBeLateParam.put("itemduration",itemduration); saveWorkTimeBeLateParam.put("betweenMinutes",between); + saveWorkTimeBeLateParam.put("itemType", AttendanceItemTypeEnum.LEAVE_EARLY); saveWorkTimeBeLateParam.put("hsdw",hsdw); - saveWorkTimeBeLateParam.put("kczgsc",workTimeBeLateItems.get(0)); + saveWorkTimeBeLateParam.put("kczgsc",kczgsc); resultList.add(saveWorkTimeBeLateParam); } @@ -323,7 +325,7 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt between = qbkcsc; }else { int deductionDuration = between-qbkcsc; - between = Double.valueOf(Utils.getItemduration(cckcbc,AccountingUnitEnum.MINUTES.getKey(),deductionDuration,AccountingUnitEnum.MINUTES)).intValue(); + between = Double.valueOf(Utils.getItemduration(cckcbc,AccountingUnitEnum.MINUTES.getKey(),deductionDuration,AccountingUnitEnum.MINUTES)).intValue()+qbkcsc; } } @@ -333,8 +335,9 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt saveWorkTimeBeLateParam.put("item",getBeEarlyItems(earlyParams).get(0).get("key")); saveWorkTimeBeLateParam.put("itemduration",itemduration); saveWorkTimeBeLateParam.put("betweenMinutes",between); + saveWorkTimeBeLateParam.put("itemType", AttendanceItemTypeEnum.LEAVE_EARLY); saveWorkTimeBeLateParam.put("hsdw",hsdw); - saveWorkTimeBeLateParam.put("kczgsc",workTimeBeLateItems.get(0)); + saveWorkTimeBeLateParam.put("kczgsc",kczgsc); resultList.add(saveWorkTimeBeLateParam); } diff --git a/src/com/engine/attendance/attendanceanalysis/service/impl/UtilServiceImpl.java b/src/com/engine/attendance/attendanceanalysis/service/impl/UtilServiceImpl.java index afe840a..60f64af 100644 --- a/src/com/engine/attendance/attendanceanalysis/service/impl/UtilServiceImpl.java +++ b/src/com/engine/attendance/attendanceanalysis/service/impl/UtilServiceImpl.java @@ -5,8 +5,6 @@ import com.engine.attendance.attendanceanalysis.cmd.GetClockInPointCmd; import com.engine.attendance.attendanceanalysis.cmd.GetClockInTimeItemCmd; import com.engine.attendance.attendanceanalysis.cmd.recordDataCmd; import com.engine.attendance.attendanceanalysis.service.UtilService; -import com.engine.attendance.attendanceplan.service.AttendancePlanService; -import com.engine.attendance.attendanceplan.service.impl.AttendancePlanServiceImpl; import com.engine.attendance.component.persongroup.service.SchedulingResultsService; import com.engine.attendance.component.persongroup.service.impl.SchedulingResultsServiceImpl; import com.engine.attendance.enums.*; @@ -28,8 +26,6 @@ import java.util.stream.Collectors; @Slf4j public class UtilServiceImpl extends Service implements UtilService { private SchedulingResultsService schedulingResultsService = ServiceUtil.getService(SchedulingResultsServiceImpl.class); - private AttendancePlanService basicsetService = ServiceUtil.getService(AttendancePlanServiceImpl.class); - @Override public Map>> getSchedulingInFormation(Map params) { @@ -45,7 +41,7 @@ public class UtilServiceImpl extends Service implements UtilService { // Map schedulingMap = schedulingResultsList.stream().collect(Collectors.toMap(e-> Util.null2String(e.get("bcxx")).split("-")[0], e->Util.null2String(e.get("bcrq"))+"&"+Util.null2String(e.get("rqlx")))); Map>> schedulingMap = schedulingResultsList.stream().collect(Collectors.groupingBy(e-> Util.null2String(e.get("bcxx")).split("-")[0])); Map>> resultMap = Maps.newHashMap(); - String sql = "select a.id bcxx,a.edsc,a.bcsdxx,a.sfdx,a.sfkt,b.bdlx,a.zddxfz,a.dxhs,b.kssj dtkssj,b.jssj dtjssj,b.ksdk,b.jsdk,b.tqdkfzs,b.thdkfzs from uf_jcl_kq_bcxx a left join uf_jcl_kq_bcxx_dt1 b on a.id=b.mainid where a.id in ("; + String sql = "select a.id bcxx,a.edsc,a.bcsdxx,a.sfdx,a.sfkt,b.bdlx,a.zddxfz,a.dxhs,b.kssj dtkssj,b.jssj dtjssj,b.ksdk,b.jsdk,b.tqdkfzs,b.thdkfzs,b.edxss from uf_jcl_kq_bcxx a left join uf_jcl_kq_bcxx_dt1 b on a.id=b.mainid where a.id in ("; String bcxxIds = ""; for (Map.Entry>> entry :schedulingMap.entrySet()){ bcxxIds +=entry.getKey() +","; @@ -60,15 +56,18 @@ public class UtilServiceImpl extends Service implements UtilService { dataMap.entrySet().forEach(e -> { List> schedulingList = schedulingMap.get(e.getKey()); + List> bcxxs = e.getValue(); for (Map scheduling :schedulingList){ String bcrq = Util.null2String(scheduling.get("bcrq")); String rqlx = Util.null2String(scheduling.get("rqlx")); - - List> bcxxs = e.getValue(); + List> classs = Lists.newArrayList(); for (Map map:bcxxs){ - map.put("rqlx",rqlx); + Map newMap = Maps.newHashMap(); + newMap.putAll(map); + newMap.put("rqlx",rqlx); + classs.add(newMap); } - resultMap.put(bcrq,bcxxs); + resultMap.put(bcrq,classs); } }); @@ -77,13 +76,8 @@ public class UtilServiceImpl extends Service implements UtilService { Map>> overtimePlanMap = DbTools.getSqlToList(sql,params.get("pbdx"),params.get("startDate"),params.get("endDate")).stream().collect(Collectors.groupingBy(e -> Util.null2String(e.get("ksrq")))); //考勤项目 - Map paramMap = Maps.newHashMap(); - paramMap.put("startDate",""); - paramMap.put("endDate",""); - paramMap.put("resourceId",params.get("pbdx")); - paramMap.put("modeId","204"); - Map attendanceItemMap = basicsetService.getAttendanceItemsByPerson(paramMap); - List> attendanceItems = (List>)attendanceItemMap.get("data"); + + List> attendanceItems = (List>)params.get("attendanceItems"); //日期集合 Map dateParam = Maps.newHashMap(); dateParam.put("nd",Util.null2String(params.get("startDate")).split("-")[0]); @@ -120,13 +114,14 @@ public class UtilServiceImpl extends Service implements UtilService { if (xmlx.equals(AttendanceItemTypeEnum.WORK_OVERTIME.getKey()) && (zysd.contains(WorkForTimeEnum.PLAN_WORK_OVERTIME.getKey()) || zysd.equals(WorkForTimeEnum.ALL_TIME.getKey())) && bddrqlx.contains(dateType)){ return true; + }else { + return false; } - return false; }).collect(Collectors.toList()); - map.put("bcxx","0"); - map.put("bcsdxx",""); + map.put("bcxx",resultList.get(0) == null ? "0" :resultList.get(0).get("bcxx")); + map.put("bcsdxx",resultList.get(0) == null ? "":resultList.get(0).get("bcsdxx")); if (dataList.size()>0){ map.put("edsc",Util.null2String(dataList.get(0).get("edsc"))); }else { @@ -143,7 +138,7 @@ public class UtilServiceImpl extends Service implements UtilService { map.put("zddxfz","0"); map.put("dxhs","0"); map.put("rqlx",dateMap.get(e.getKey())); - map.put("jbsc",overtimePlan.get("jbsc")); + map.put("edxss",overtimePlan.get("jbsc")); if (attendanceItems.size() >0){ map.put("ksdk",attendanceItems.get(0).get("ksjbbxydk")); map.put("jsdk",attendanceItems.get(0).get("jsjbbxydk")); @@ -152,19 +147,27 @@ public class UtilServiceImpl extends Service implements UtilService { map.put("jbwdhlfzs",attendanceItems.get(0).get("jbwdhlfzs")); map.put("jbzzhlfzs",attendanceItems.get(0).get("jbzzhlfzs")); } - if (resultList.size() == 0){ - resultList.add(map); - } - for (int j=0;j=0 && DateUtil.getTime(kssj3).compareTo(DateUtil.getTime(kssj2)) <=0){ - map.put("bcxx",resultList.get(0).get("bcxx")); - map.put("bcsdxx",resultList.get(0).get("bcsdxx")); - map.put("edsc",resultList.get(0).get("edsc")); - resultList.add(j,map); + if (resultList.size() > 1){ + String kssjbegin = e.getKey() +" "+resultList.get(0).get("dtkssj"); + String kssjend = e.getKey() +" "+resultList.get(resultList.size()-1).get("dtkssj"); + String kssj = e.getKey() +" "+overtimePlan.get("kssj"); + if (DateUtil.getTime(kssj).compareTo(DateUtil.getTime(kssjbegin)) <0){ + resultList.add(0,map); + }else if (DateUtil.getTime(kssj).compareTo(DateUtil.getTime(kssjend)) >0){ + resultList.add(map); + }else { + for (int j=1;j=0 && DateUtil.getTime(kssj3).compareTo(DateUtil.getTime(kssj2)) <=0){ + resultList.add(j,map); + break; + } + } } + }else { + resultList.add(map); } } diff --git a/src/com/engine/attendance/attendanceanalysis/service/impl/WorkOverTimeServiceImpl.java b/src/com/engine/attendance/attendanceanalysis/service/impl/WorkOverTimeServiceImpl.java index 4dea1cd..1c51560 100644 --- a/src/com/engine/attendance/attendanceanalysis/service/impl/WorkOverTimeServiceImpl.java +++ b/src/com/engine/attendance/attendanceanalysis/service/impl/WorkOverTimeServiceImpl.java @@ -52,6 +52,8 @@ public class WorkOverTimeServiceImpl extends Service implements WorkOverTimeServ List> workOverTimeResults = null; + + Calendar calendar = Calendar.getInstance(); calendar.set(Integer.valueOf(analysisDate.split("-")[0]), Integer.valueOf(analysisDate.split("-")[1]) - 1, 1); @@ -67,7 +69,7 @@ public class WorkOverTimeServiceImpl extends Service implements WorkOverTimeServ } //需要计算的班次打卡时间点 String pointTime = point.split("\\|")[0]; - clcokInTimeMap.put(pointTime,clcokInTimeData); + clcokInTimeMap.put(pointTime.split(" ")[1],clcokInTimeData); } //人员 String userId = Util.null2String(params.get("userId")); @@ -94,7 +96,6 @@ public class WorkOverTimeServiceImpl extends Service implements WorkOverTimeServ String realityEndime = ""; - resultLists.add(workOverTimeItems); getWorkOverTimeParam.put("attendanceItems",attendanceItems); getWorkOverTimeParam.put("rqlx",scheduleMap.get("rqlx")); if (ClassSegmentTypeEnum.EXTENDED_OVERTIME.getKey().equals(bdlx)){ @@ -103,14 +104,17 @@ public class WorkOverTimeServiceImpl extends Service implements WorkOverTimeServ getWorkOverTimeParam.put("workfor",WorkForTimeEnum.EARLY_TO_WORK_OVERTIME.getKey()); }else if (ClassSegmentTypeEnum.OVERTIME_PLAN.getKey().equals(bdlx)){ getWorkOverTimeParam.put("workfor",WorkForTimeEnum.PLAN_WORK_OVERTIME.getKey()); + }else { + continue; } + Map result = commandExecutor.execute(new WorkOvertimeItemCmd(getWorkOverTimeParam)); //加班项目 List> workTimeBeLateItems = (List>)result.get("attendanceItems"); if (workTimeBeLateItems.size() == 0){ continue; } - double jbsc = Integer.valueOf(Util.null2String(scheduleMap.get("jbsc"))); + double jbsc = Double.valueOf(Util.null2String(scheduleMap.get("edxss"))); //开始加班必须打卡 @@ -149,6 +153,13 @@ public class WorkOverTimeServiceImpl extends Service implements WorkOverTimeServ */ if (CheckBoxEnum.CHECKED.getKey().equals(ksjbbxydk)){ Map clcokInTimeData = clcokInTimeMap.get(dtkssj); + if (clcokInTimeData == null){ + log.info("加班开始时间漏卡: {},clcokInTimeData:{}",dtkssj,clcokInTimeMap); + workOverTimeItems.put("item",workTimeBeLateItems.get(0).get("key")); + workOverTimeItems.put("itemduration","0"); + resultLists.add(workOverTimeItems); + continue; + } String signTime = clcokInTimeData.get("signdate")+" "+clcokInTimeData.get("signtime"); realityStartTime = signTime; }else { @@ -156,6 +167,13 @@ public class WorkOverTimeServiceImpl extends Service implements WorkOverTimeServ } if (CheckBoxEnum.CHECKED.getKey().equals(jsjbbxydk)){ Map clcokInTimeData = clcokInTimeMap.get(dtjssj); + if (clcokInTimeData == null){ + log.info("加班结束时间漏卡: {},clcokInTimeData:{}",dtjssj,clcokInTimeData); + workOverTimeItems.put("item",workTimeBeLateItems.get(0).get("key")); + workOverTimeItems.put("itemduration","0"); + resultLists.add(workOverTimeItems); + continue; + } String signTime = clcokInTimeData.get("signdate")+" "+clcokInTimeData.get("signtime"); realityEndime = signTime; }else { @@ -209,9 +227,9 @@ public class WorkOverTimeServiceImpl extends Service implements WorkOverTimeServ List> leaveEarlyAbnormal = abnormalClockInList.stream().filter(e->e.get("pointTime").toString().split(" ")[1].equals(dtjssj)).collect(Collectors.toList()); double leaveElaryTime=0; if (leaveEarlyAbnormal.size() > 0){ - String hsdw = Util.null2String(beLateAbnormal.get(0).get("hsdw")); - String itemduration = Util.null2String(beLateAbnormal.get(0).get("itemduration")); - AttendanceItemTypeEnum itemType = (AttendanceItemTypeEnum)beLateAbnormal.get(0).get("itemType"); + String hsdw = Util.null2String(leaveEarlyAbnormal.get(0).get("hsdw")); + String itemduration = Util.null2String(leaveEarlyAbnormal.get(0).get("itemduration")); + AttendanceItemTypeEnum itemType = (AttendanceItemTypeEnum)leaveEarlyAbnormal.get(0).get("itemType"); if (itemType == AttendanceItemTypeEnum.MISSE_CARD){ //下午漏卡 leaveElaryTime = jbsc; @@ -239,13 +257,13 @@ public class WorkOverTimeServiceImpl extends Service implements WorkOverTimeServ * 当存在请假时,考虑扣除请假时长 */ int askForLeaveTime = removeAskForLeave(realityStartTime,realityEndime,Util.null2String(getWorkOverTimeParam.get("workfor")) - ,bdlx,evectionList,askForLeaveItems,offsetAskForLeaveAnomaly); + ,bdlx,askForLeaveList,askForLeaveItems,offsetAskForLeaveAnomaly); /** * 当存在外出时,考虑扣除外出时长 */ int evectionTime = removeEvection(realityStartTime,realityEndime,Util.null2String(getWorkOverTimeParam.get("workfor")) - ,bdlx,askForLeaveList,evectionItems,offsetEvectionAnomaly); + ,bdlx,evectionList,evectionItems,offsetEvectionAnomaly); log.info("加班时长: {}",jbsc); log.info("beLateTime :[{}],leaveElaryTime :[{}],askForLeaveTime:[{}],evectionTime:[{}]",beLateTime,leaveElaryTime,askForLeaveTime,evectionTime); @@ -257,6 +275,7 @@ public class WorkOverTimeServiceImpl extends Service implements WorkOverTimeServ //小于最小加班分钟数不算加班 workOverTimeItems.put("item",workTimeBeLateItems.get(0).get("key")); workOverTimeItems.put("itemduration","0"); + 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(); @@ -266,6 +285,7 @@ public class WorkOverTimeServiceImpl extends Service implements WorkOverTimeServ //加班时长为0 workOverTimeItems.put("item",workTimeBeLateItems.get(0).get("key")); workOverTimeItems.put("itemduration","0"); + resultLists.add(workOverTimeItems); continue; } @@ -326,7 +346,7 @@ public class WorkOverTimeServiceImpl extends Service implements WorkOverTimeServ insertParam.put("sjjbsc",String.format ("%.2f", jbsc/60)); insertParam.put("jbjgly","4"); insertParam.put("zt","1"); - DbTools.update(CommonUtil.makeInsertSql("uf_jcl_kq_jbjg",insertParam)); + Utils.InsertFormTable("uf_jcl_kq_jbjg",insertParam,(Map)params.get("formmodeIdMap")); /** * 入假期余额 @@ -394,8 +414,10 @@ public class WorkOverTimeServiceImpl extends Service implements WorkOverTimeServ //一年 insertHoliDayParam.put("yqsxrq",DateUtil.nextMonth(analysisDate,12,DateUtil.yyyyMMdd)); } - DbTools.update(CommonUtil.makeInsertSql("uf_jcl_kq_kqxm",insertHoliDayParam)); + Utils.InsertFormTable("uf_jcl_kq_jqye",insertHoliDayParam,(Map)params.get("formmodeIdMap")); + } + resultLists.add(workOverTimeItems); } return resultLists; @@ -525,4 +547,5 @@ public class WorkOverTimeServiceImpl extends Service implements WorkOverTimeServ } + } diff --git a/src/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.java b/src/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.java index ba37fd0..2df9c09 100644 --- a/src/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.java +++ b/src/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.java @@ -67,11 +67,12 @@ public class AttendanceanalysisAction { classesParamMap.put("current","1"); classesParamMap.put("pageSize",10); classesParamMap.put("recurrence",1); + classesParamMap.put("attendanceItems",attendanceItems); Map>> schedulingResultsMap = utilService.getSchedulingInFormation(classesParamMap); for (int i=0; i<=betweenDays;i++){ String date = DateUtil.AfterDay(startDate,i); - attendanceAnalysisService.attendanceAnalysisForApi(userId,date,collect.get(userId),attendanceItems,schedulingResultsMap,modeId); + attendanceAnalysisService.attendanceAnalysisForApi(userId,date,collect.get(userId),attendanceItems,schedulingResultsMap); } } return null; diff --git a/src/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.java b/src/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.java index 5dfcc52..f8e52cb 100644 --- a/src/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.java +++ b/src/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.java @@ -41,9 +41,8 @@ public class AttendanceAnalysisWrapper extends Service { * @param userId 人员id * @param dataList 打卡日期 * @param attendanceItems 考勤项目 - * @param modeId 出勤结果formmodeid */ - public void attendanceAnalysis(String userId, List> dataList,List> attendanceItems,String modeId){ + public void attendanceAnalysis(String userId, List> dataList,List> attendanceItems){ log.info("***********analysis userId:{} start***********",userId); log.info("clockInTimeDate : [{}]",dataList); @@ -65,6 +64,7 @@ public class AttendanceAnalysisWrapper extends Service { classesParamMap.put("current","1"); classesParamMap.put("pageSize",10); classesParamMap.put("recurrence",1); + classesParamMap.put("attendanceItems",attendanceItems); Map>> schedulingResultsMap = utilService.getSchedulingInFormation(classesParamMap); @@ -78,14 +78,14 @@ public class AttendanceAnalysisWrapper extends Service { List> beforeOneDayClockInTimeList = utilService.getClockInTime(getClockTimeParam); log.info("beforeOneDayClockInTimeList : [{}]",beforeOneDayClockInTimeList); //分析前一天考勤 - analysis(userId,beforeOneDayDate,beforeOneDayClockInTimeList,schedulingResultsMap.get(beforeOneDayDate),attendanceItems,modeId); + analysis(userId,beforeOneDayDate,beforeOneDayClockInTimeList,schedulingResultsMap.get(beforeOneDayDate),attendanceItems); getClockTimeParam.put("date",beforeTwoDayDate); //前第二天打卡数据 List> beforeTwoDayClockInTimeList = utilService.getClockInTime(getClockTimeParam); log.info("beforeTwoDayClockInTimeList : [{}]",beforeTwoDayClockInTimeList); //分析前第二天考勤 - analysis(userId,beforeTwoDayDate,beforeTwoDayClockInTimeList,schedulingResultsMap.get(beforeTwoDayDate),attendanceItems,modeId); + analysis(userId,beforeTwoDayDate,beforeTwoDayClockInTimeList,schedulingResultsMap.get(beforeTwoDayDate),attendanceItems); } @@ -96,9 +96,8 @@ public class AttendanceAnalysisWrapper extends Service { * @param analysisDate 分析日期 * @param dataList 需要包含分析日期以及分析日期前后2天的3天打卡数据 * @param attendanceItems 人员考勤项目 - * @param modeId 出勤结果formmodeid */ - public void attendanceAnalysisForApi(String userId,String analysisDate, List> dataList,List> attendanceItems,Map>> schedulingResultsMap,String modeId){ + public void attendanceAnalysisForApi(String userId,String analysisDate, List> dataList,List> attendanceItems,Map>> schedulingResultsMap){ log.info("***********analysis userId:{} start***********",userId); log.info("clockInTimeDate : [{}]",dataList); Map>> collect = Maps.newHashMap(); @@ -114,7 +113,7 @@ public class AttendanceAnalysisWrapper extends Service { log.info("getClockTimeParam : [{}]",getClockTimeParam); List> clockInTimeList = utilService.getClockInTime(getClockTimeParam); - analysis(userId,analysisDate,clockInTimeList,schedulingResultsMap.get(analysisDate),attendanceItems,modeId); + analysis(userId,analysisDate,clockInTimeList,schedulingResultsMap.get(analysisDate),attendanceItems); } /** @@ -125,12 +124,16 @@ public class AttendanceAnalysisWrapper extends Service { * @param scheduleResult 班次 * @param attendanceItems 考勤项目 */ - public void analysis(String userId,String analysisDate,List> clockInTimeList,List> scheduleResult,List> attendanceItems,String modeId){ + public void analysis(String userId,String analysisDate,List> clockInTimeList,List> scheduleResult,List> attendanceItems){ Map recordParam = Maps.newHashMap(); + Map formModeIdMap = Utils.getFormmodeIdMap(); recordParam.put("userId",userId); recordParam.put("analysisDate",analysisDate); recordParam.put("classInfo",scheduleResult); - recordParam.put("modeId",modeId); + recordParam.put("formmodeIdMap",formModeIdMap); + recordParam.put("attendanceDuration",0); + + recordParam.put("modeId",formModeIdMap.get("uf_jcl_kq_cqjg")); if (scheduleResult == null || scheduleResult.size() ==0){ @@ -138,7 +141,7 @@ public class AttendanceAnalysisWrapper extends Service { Map params = Maps.newHashMap(); params.put("userId",userId); params.put("analysisDate",analysisDate); - params.put("modeId",modeId); + params.put("modeId",formModeIdMap.get("uf_jcl_kq_cqjg")); updateAttendanceResultWrapper.recordNoClass(params); return; } @@ -168,7 +171,7 @@ public class AttendanceAnalysisWrapper extends Service { Map> evectionItems = Maps.newHashMap(); - sql = "select hsl,hsdw,lgsbxydk,tqlghlfzs,fgsbxydk,thfghlfzs,tybcndbjlhbjs,zdycbcndfgzsd,zdycrqqjndxxb from uf_jcl_kq_kqxm where id=?"; + sql = "select hsl,hsdw,lgsbxydk,tqlghlfzs,fgsbxydk,thfghlfzs,tybcndbjlhbjs,zdycbcndfgzsd,zdycrqqjndxxb,zysd from uf_jcl_kq_kqxm where id=?"; for (Map askForLeaveData : askForLeaveList){ Map askForLeaveItem = DbTools.getSqlToMap(sql,askForLeaveData.get("jqlx")); //全天请假 @@ -176,7 +179,7 @@ public class AttendanceAnalysisWrapper extends Service { List> resultList = Lists.newArrayList(); Map resultMap = Maps.newHashMap(); resultMap.put("item",askForLeaveData.get("jqlx")); - resultMap.put("itemduration",askForLeaveItem.get("hsl")); + resultMap.put("itemduration",scheduleResult.get(0).get("edsc")); resultList.add(resultMap); recordParam.put("cqzt",CheckBoxEnum.CHECKED.getKey()); recordParam.put("recordData",resultList); @@ -213,7 +216,7 @@ public class AttendanceAnalysisWrapper extends Service { List> resultList = Lists.newArrayList(); Map resultMap = Maps.newHashMap(); resultMap.put("item", evectionData.get("cclx")); - resultMap.put("itemduration", evectionItem.get("hsl")); + resultMap.put("itemduration", scheduleResult.get(0).get("edsc")); resultList.add(resultMap); recordParam.put("cqzt",CheckBoxEnum.CHECKED.getKey()); recordParam.put("recordData",resultList); @@ -257,10 +260,11 @@ public class AttendanceAnalysisWrapper extends Service { recordAbnormalParam.put("analysisDate",analysisDate); recordAbnormalParam.put("userId",userId); recordAbnormalParam.put("rqlx",scheduleResult.get(0).get("rqlx")); - recordAbnormalParam.put("modeId",modeId); + + recordAbnormalParam.put("formmodeIdMap",formModeIdMap); log.info("recordAbnormalParam clcokInTimeList:{},attendanceItems size :{},scheduleResult :{},analysisDate:[{}],userId:[{}],rqlx:[{}],modeId:[{}]",clcokInTimeData, - attendanceItems.size(),scheduleResult,analysisDate,userId,scheduleResult.get(0).get("rqlx"),modeId); + attendanceItems.size(),scheduleResult,analysisDate,userId,scheduleResult.get(0).get("rqlx")); /** * 正常上下班入结果表 @@ -320,6 +324,7 @@ public class AttendanceAnalysisWrapper extends Service { recordData.addAll(recordWorkOverTime); recordParam.put("recordData",recordData); recordParam.put("recordDataTime",utilService.getNeedRecordClockInTime(clcokInTimeData)); + recordParam.put("attendanceDuration",attendanceDuration); log.info("recordParam : {}",recordParam); if (abnormalClockInListByEvction.size()>0){ recordParam.put("cqzt",CheckBoxEnum.CHECKED.getKey()); diff --git a/src/com/engine/common/cmd/GetDateCmd.java b/src/com/engine/common/cmd/GetDateCmd.java index fa05f7d..65711b6 100644 --- a/src/com/engine/common/cmd/GetDateCmd.java +++ b/src/com/engine/common/cmd/GetDateCmd.java @@ -26,7 +26,7 @@ public class GetDateCmd extends AbstractCommonCommand> { String nd = Util.null2String(params.get("nd")); String glpb = Util.null2String(params.get("glpb")); String sql = "select nd,rq,nlrq,rqlx,xq,rlmc from uf_jcl_kq_rlxx a left join uf_jcl_kq_glpb b on a.rlmc=b.qyrl where b.id=? and a.nd=? "; - List> dataList = DbTools.getSqlToList(sql,nd,glpb); + List> dataList = DbTools.getSqlToList(sql,glpb,nd); Map resultMap = Maps.newHashMap(); resultMap.put("data",dataList); return resultMap; diff --git a/src/com/engine/common/util/Utils.java b/src/com/engine/common/util/Utils.java index b6a4634..fb86866 100644 --- a/src/com/engine/common/util/Utils.java +++ b/src/com/engine/common/util/Utils.java @@ -20,10 +20,7 @@ import java.math.MathContext; import java.net.JarURLConnection; import java.net.URL; import java.net.URLDecoder; -import java.util.ArrayList; -import java.util.Enumeration; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.jar.JarEntry; import java.util.jar.JarFile; import java.util.stream.Collectors; @@ -440,4 +437,22 @@ public class Utils { return betweenMinutes; } + public static Map getFormmodeIdMap(){ + String sql = "select modeid,tablename from uf_jcl_form_table "; + List> dataList = DbTools.getSqlToList(sql); + return dataList.stream().collect(Collectors.toMap(e->e.get("tablename").toString(),e->e.get("modeid").toString())); + + } + + public static void InsertFormTable(String tableName,Map dataMap,Map formmodeIdMap){ + String formmodeId = formmodeIdMap.get(tableName); + dataMap.put("formmodeid",formmodeId); + dataMap.put("modeuuid", UUID.randomUUID().toString()); + dataMap.put("modedatacreater","1"); + dataMap.put("modedatacreatertype","0"); + dataMap.put("modedatacreatedate",DateUtil.getCurrentTime().split(" ")[0]); + dataMap.put("modedatacreatetime",DateUtil.getCurrentTime().split(" ")[1]); + DbTools.update(CommonUtil.makeInsertSql(tableName,dataMap)); + } + } diff --git a/target/classes/com/engine/attendance/attendanceanalysis/cmd/ComputeAttendanceDurationCmd.class b/target/classes/com/engine/attendance/attendanceanalysis/cmd/ComputeAttendanceDurationCmd.class index 458f6b5..5bdf031 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/item/WorkOvertimeItemCmd.class b/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/WorkOvertimeItemCmd.class index d39f414..ee99ba2 100644 Binary files a/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/WorkOvertimeItemCmd.class and b/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/WorkOvertimeItemCmd.class differ diff --git a/target/classes/com/engine/attendance/attendanceanalysis/cmd/recordDataCmd.class b/target/classes/com/engine/attendance/attendanceanalysis/cmd/recordDataCmd.class index 10cd8b3..6f8b149 100644 Binary files a/target/classes/com/engine/attendance/attendanceanalysis/cmd/recordDataCmd.class and b/target/classes/com/engine/attendance/attendanceanalysis/cmd/recordDataCmd.class differ diff --git a/target/classes/com/engine/attendance/attendanceanalysis/job/AttendanceAnalysisJob.class b/target/classes/com/engine/attendance/attendanceanalysis/job/AttendanceAnalysisJob.class index d90f3b8..c6c4505 100644 Binary files a/target/classes/com/engine/attendance/attendanceanalysis/job/AttendanceAnalysisJob.class and b/target/classes/com/engine/attendance/attendanceanalysis/job/AttendanceAnalysisJob.class differ 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 bd2b05d..dc81a9b 100644 Binary files a/target/classes/com/engine/attendance/attendanceanalysis/service/impl/AbnormalAttendanceServiceImpl.class and b/target/classes/com/engine/attendance/attendanceanalysis/service/impl/AbnormalAttendanceServiceImpl.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 a2a3599..1169b39 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 50b4821..d30ef35 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/web/AttendanceanalysisAction.class b/target/classes/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.class index 094128b..d32462a 100644 Binary files a/target/classes/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.class and b/target/classes/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.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 037695a..97b1f7a 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 8812c73..c0d4b81 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 3028752..659a788 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/common/cmd/GetDateCmd.class b/target/classes/com/engine/common/cmd/GetDateCmd.class index 9633877..c7a5aca 100644 Binary files a/target/classes/com/engine/common/cmd/GetDateCmd.class and b/target/classes/com/engine/common/cmd/GetDateCmd.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 6d8253b..e994031 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 707a19b..38d3836 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 1ecb957..0b87eae 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 ab60db5..a2a1f2d 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/Test$1.class b/target/test-classes/Test$1.class index 5dc12d4..b205d27 100644 Binary files a/target/test-classes/Test$1.class and b/target/test-classes/Test$1.class differ diff --git a/target/test-classes/Test$10.class b/target/test-classes/Test$10.class index 9423d16..62a2fcf 100644 Binary files a/target/test-classes/Test$10.class and b/target/test-classes/Test$10.class differ diff --git a/target/test-classes/Test$11.class b/target/test-classes/Test$11.class index b6d010b..94d1724 100644 Binary files a/target/test-classes/Test$11.class and b/target/test-classes/Test$11.class differ diff --git a/target/test-classes/Test$12.class b/target/test-classes/Test$12.class index 89a9b0e..32cafc6 100644 Binary files a/target/test-classes/Test$12.class and b/target/test-classes/Test$12.class differ diff --git a/target/test-classes/Test$13.class b/target/test-classes/Test$13.class index 27d9470..44d1f46 100644 Binary files a/target/test-classes/Test$13.class and b/target/test-classes/Test$13.class differ diff --git a/target/test-classes/Test$2.class b/target/test-classes/Test$2.class index b407a7f..6874ae5 100644 Binary files a/target/test-classes/Test$2.class and b/target/test-classes/Test$2.class differ diff --git a/target/test-classes/Test$3.class b/target/test-classes/Test$3.class index 9c17264..9e5d09a 100644 Binary files a/target/test-classes/Test$3.class and b/target/test-classes/Test$3.class differ diff --git a/target/test-classes/Test$4.class b/target/test-classes/Test$4.class index fa0454c..4f3eef7 100644 Binary files a/target/test-classes/Test$4.class and b/target/test-classes/Test$4.class differ diff --git a/target/test-classes/Test$5.class b/target/test-classes/Test$5.class index 46d0d3f..657c652 100644 Binary files a/target/test-classes/Test$5.class and b/target/test-classes/Test$5.class differ diff --git a/target/test-classes/Test$6.class b/target/test-classes/Test$6.class index a3ef535..23d4c38 100644 Binary files a/target/test-classes/Test$6.class and b/target/test-classes/Test$6.class differ diff --git a/target/test-classes/Test$7.class b/target/test-classes/Test$7.class index 02e837b..c6717db 100644 Binary files a/target/test-classes/Test$7.class and b/target/test-classes/Test$7.class differ diff --git a/target/test-classes/Test$8.class b/target/test-classes/Test$8.class index 30c53ac..6df0d98 100644 Binary files a/target/test-classes/Test$8.class and b/target/test-classes/Test$8.class differ diff --git a/target/test-classes/Test$9.class b/target/test-classes/Test$9.class index ebf1684..36a59f2 100644 Binary files a/target/test-classes/Test$9.class and b/target/test-classes/Test$9.class differ diff --git a/target/test-classes/Test.class b/target/test-classes/Test.class index 2f81ea1..2b8f3f2 100644 Binary files a/target/test-classes/Test.class and b/target/test-classes/Test.class differ diff --git a/test/Test.java b/test/Test.java index 99ba69a..88624ae 100644 --- a/test/Test.java +++ b/test/Test.java @@ -71,6 +71,12 @@ 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(Util.getIntValue("")); // List> beforeleaveDate = Lists.newArrayList(); @@ -118,7 +124,28 @@ public class Test { // map3.put("value","222"); // System.out.println(DateUtil.getBetWeenMinutes("2023-11-16 08:00","2023-11-16 09:10")); // BigDecimal durationBig = new BigDecimal(1.5); - List> list = Lists.newArrayList(); + +// List> list = Lists.newArrayList(); +// +// List> list2 = Lists.newArrayList(); +// list2.add(new HashMap(){{ +// put("one","aa"); +// }}); +// list.addAll(list2); +// list.get(0).put("two","bb"); +//// System.out.println(list2); +//// System.out.println(list); +// +// Map map1 = Maps.newHashMap(); +// map1.put("aa","bb"); +// Map map2 = Maps.newHashMap(); +// map2.putAll(map1); +// map2.put("bb","ss");; +// map1.put("cc","cc"); +// System.out.println(map1); +// System.out.println(map2); + + // list.add(new HashMap(){{ // put("aa","bb"); @@ -190,10 +217,9 @@ public class Test { // List lists2 = lists.stream().filter(e->e.equals("aa")).collect(Collectors.toList()); // System.out.println(lists.size()); // System.out.println(lists2.size()); - BigDecimal s = new BigDecimal(110.0); - - - System.out.println(8.0*0.3); +// BigDecimal s = new BigDecimal(110.0); +// List> list1 +// System.out.println(8.0*0.3); //System.out.println(Utils.getItemdurationDown(15,AccountingUnitEnum.MINUTES.getKey(),59,AccountingUnitEnum.MINUTES)); // Calendar calendar = Calendar.getInstance();