From 3be84ab80df82055ab64b99422cd077dd317d2db Mon Sep 17 00:00:00 2001 From: liuliang <401809302@qq.com> Date: Thu, 17 Oct 2024 15:49:02 +0800 Subject: [PATCH 1/4] 1 --- .../web/AttendanceanalysisAction.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/com/engine/jucailinkq/attendance/attendanceanalysis/web/AttendanceanalysisAction.java b/src/com/engine/jucailinkq/attendance/attendanceanalysis/web/AttendanceanalysisAction.java index c3e27c2..b592831 100644 --- a/src/com/engine/jucailinkq/attendance/attendanceanalysis/web/AttendanceanalysisAction.java +++ b/src/com/engine/jucailinkq/attendance/attendanceanalysis/web/AttendanceanalysisAction.java @@ -44,11 +44,11 @@ public class AttendanceanalysisAction { public String getSchedulingData(@Context HttpServletRequest request, @Context HttpServletResponse response) { try { log.info("********AttendanceanalysisAction start********"); - // Map paramMap = ParamUtil.request2Map(request); - Map paramMap = Maps.newHashMap(); - paramMap.put("startDate","2024-07-22"); - paramMap.put("endDate","2024-07-22"); - paramMap.put("userIds","31"); + Map paramMap = ParamUtil.request2Map(request); +// Map paramMap = Maps.newHashMap(); +// paramMap.put("startDate","2024-08-01"); +// paramMap.put("endDate","2024-08-01"); +// paramMap.put("userIds","31"); String startDate = Util.null2String(paramMap.get("startDate")); String startBeforeDate = DateUtil.beforeDay(startDate,2); From 9bb573d4105f59d83e85d6edf71ce18a216f57b5 Mon Sep 17 00:00:00 2001 From: liuliang <401809302@qq.com> Date: Thu, 17 Oct 2024 16:11:34 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=80=83=E5=8B=A4?= =?UTF-8?q?=E6=96=B9=E6=A1=88bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cmd/GetAttendanceItemsByPersonDataCmd.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/com/engine/jucailinkq/attendance/attendanceplan/cmd/GetAttendanceItemsByPersonDataCmd.java b/src/com/engine/jucailinkq/attendance/attendanceplan/cmd/GetAttendanceItemsByPersonDataCmd.java index f64e767..e95e93d 100644 --- a/src/com/engine/jucailinkq/attendance/attendanceplan/cmd/GetAttendanceItemsByPersonDataCmd.java +++ b/src/com/engine/jucailinkq/attendance/attendanceplan/cmd/GetAttendanceItemsByPersonDataCmd.java @@ -127,8 +127,11 @@ public class GetAttendanceItemsByPersonDataCmd extends AbstractCommonCommand> attendanceItems = DbTools.getSqlToList(sql); - sql = "select b.id keyid,b.mc kqxm,c.mc famc,b.* from uf_jcl_kq_kqfa_dt1 a left join uf_jcl_kq_kqxm b on a.kqxm=b.id left join uf_jcl_kq_kqfa c on a.mainid=c.id where mainid in ("+String.join(",",dataIds)+") and (b.xmzt is null or b.xmzt <> '0')"; if (dataIds.size() > 0){ + sql = "select id from uf_jcl_kq_kqfa where zt=0 and id in ("+String.join(",",dataIds)+")"; + dataIds = DbTools.getSqlToList(sql).stream().map(e->e.get("id").toString()).collect(Collectors.toSet()); + + sql = "select b.id keyid,b.mc kqxm,c.mc famc,b.* from uf_jcl_kq_kqfa_dt1 a left join uf_jcl_kq_kqxm b on a.kqxm=b.id left join uf_jcl_kq_kqfa c on a.mainid=c.id where mainid in ("+String.join(",",dataIds)+") and (b.xmzt is null or b.xmzt <> '0')"; attendanceItems.addAll(DbTools.getSqlToList(sql)); } List fatherItems = attendanceItems.stream().filter(e->Util.null2String(e.get("sffzcx")).equals(CheckBoxEnum.CHECKED.getKey())).map(e->e.get("keyid").toString()).collect(Collectors.toList()); From 7c3a551c858d9b2751f007592ff55d67e3e850c3 Mon Sep 17 00:00:00 2001 From: liuliang <401809302@qq.com> Date: Fri, 18 Oct 2024 14:32:57 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=BC=B9=E6=80=A7?= =?UTF-8?q?=E8=AF=B7=E5=81=87=E6=91=86=E5=8D=A1=E9=97=AE=E9=A2=98=EF=BC=8C?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=80=A7=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../getclockInpoint/GetClockInPointCmd.java | 39 +++++++++++-- .../web/AttendanceanalysisAction.java | 6 +- .../cmd/GetDatatableRecurrenceCmd.java | 2 +- .../commonutil/PersongroupCommonUtil.java | 6 +- .../impl/SchedulingResultsServiceImpl.java | 57 ------------------- .../web/SchedulingResultsAction.java | 50 ++++++++++++++++ 6 files changed, 92 insertions(+), 68 deletions(-) diff --git a/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/getclockInpoint/GetClockInPointCmd.java b/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/getclockInpoint/GetClockInPointCmd.java index 3f241f9..d6c7194 100644 --- a/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/getclockInpoint/GetClockInPointCmd.java +++ b/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/getclockInpoint/GetClockInPointCmd.java @@ -274,6 +274,8 @@ public class GetClockInPointCmd extends AbstractCommonCommand clcokInTimeData = Lists.newArrayList(); + List> restScheduleList = scheduleResult.stream().filter(e -> (ClassSegmentTypeEnum.REST_AND_DINE.getKey().equals(e.get("bdlx")) || ClassSegmentTypeEnum.REST_PERIOD.getKey().equals(e.get("bdlx")) + || ClassSegmentTypeEnum.DINING_PERIOD.getKey().equals(e.get("bdlx"))) && CheckBoxEnum.CHECKED.getKey().equals(e.get("dtsfdx"))).collect(Collectors.toList()); for (Map needClockIn : scheduleResult) { /**非请假外出开始打卡逻辑处理*/ @@ -324,8 +326,7 @@ public class GetClockInPointCmd extends AbstractCommonCommand> restScheduleList = scheduleResult.stream().filter(e -> (ClassSegmentTypeEnum.REST_AND_DINE.getKey().equals(e.get("bdlx")) || ClassSegmentTypeEnum.REST_PERIOD.getKey().equals(e.get("bdlx")) - || ClassSegmentTypeEnum.DINING_PERIOD.getKey().equals(e.get("bdlx"))) && CheckBoxEnum.CHECKED.getKey().equals(e.get("dtsfdx"))).collect(Collectors.toList()); + if (restScheduleList.size() > 0){ flexibleRestClass(restScheduleList,clcokInTimeData,scheduleResult); } @@ -981,6 +982,7 @@ public class GetClockInPointCmd extends AbstractCommonCommand= 0)) { + timeType = ClockPointEnum.AFTER; + } + + } + + if (DateUtil.getTime(clockInTime).compareTo(DateUtil.getTime(DateUtil.AfterMinutes(maxelasticTime, thdkfzs))) <= 0) { timeType = ClockPointEnum.AFTER; } } if (ClockPointEnum.EMPTY.equals(timeType) && jsdkNearestClcokInTime.get(ClockPointEnum.BEFORE) != null) { String clockInTime = jsdkNearestClcokInTime.get(ClockPointEnum.BEFORE).get("signdate") + " " + jsdkNearestClcokInTime.get(ClockPointEnum.BEFORE).get("signtime"); - if (getBeforeClockTime(needClockDateList,dtjssj).equals("") || DateUtil.getTime(clockInTime).compareTo(DateUtil.getTime(getBeforeClockTime(needClockDateList,dtjssj))) > 0) { - timeType = ClockPointEnum.BEFORE; + if (dtjssj.equals(maxelasticTime)){ + if (getBeforeClockTime(needClockDateList,dtjssj).equals("") || DateUtil.getTime(clockInTime).compareTo(DateUtil.getTime(getBeforeClockTime(needClockDateList,dtjssj))) > 0) { + timeType = ClockPointEnum.BEFORE; + } + }else { + int betweenTime = DateUtil.getBetWeenMinutes(dtjssj,maxelasticTime); + if (getBeforeClockTime(needClockDateList,dtjssj).equals("") || DateUtil.getTime(clockInTime).compareTo(DateUtil.getTime(getBeforeClockTime(needClockDateList,dtjssj))) > 0 + || DateUtil.getTime(clockInTime).compareTo(DateUtil.getTime(DateUtil.beforeMinutes(dtjssj,betweenTime))) >=0) { + timeType = ClockPointEnum.BEFORE; + } } + + timeType = ClockPointEnum.BEFORE; } return timeType; } diff --git a/src/com/engine/jucailinkq/attendance/attendanceanalysis/web/AttendanceanalysisAction.java b/src/com/engine/jucailinkq/attendance/attendanceanalysis/web/AttendanceanalysisAction.java index b592831..e06b610 100644 --- a/src/com/engine/jucailinkq/attendance/attendanceanalysis/web/AttendanceanalysisAction.java +++ b/src/com/engine/jucailinkq/attendance/attendanceanalysis/web/AttendanceanalysisAction.java @@ -46,9 +46,9 @@ public class AttendanceanalysisAction { log.info("********AttendanceanalysisAction start********"); Map paramMap = ParamUtil.request2Map(request); // Map paramMap = Maps.newHashMap(); -// paramMap.put("startDate","2024-08-01"); -// paramMap.put("endDate","2024-08-01"); -// paramMap.put("userIds","31"); +// paramMap.put("startDate","2024-10-10"); +// paramMap.put("endDate","2024-10-10"); +// paramMap.put("userIds","22"); String startDate = Util.null2String(paramMap.get("startDate")); String startBeforeDate = DateUtil.beforeDay(startDate,2); diff --git a/src/com/engine/jucailinkq/attendance/component/persongroup/cmd/GetDatatableRecurrenceCmd.java b/src/com/engine/jucailinkq/attendance/component/persongroup/cmd/GetDatatableRecurrenceCmd.java index 47726a9..fdc15a5 100644 --- a/src/com/engine/jucailinkq/attendance/component/persongroup/cmd/GetDatatableRecurrenceCmd.java +++ b/src/com/engine/jucailinkq/attendance/component/persongroup/cmd/GetDatatableRecurrenceCmd.java @@ -48,7 +48,7 @@ public class GetDatatableRecurrenceCmd extends AbstractCommonCommand Dateparam = Lists.newArrayList(); diff --git a/src/com/engine/jucailinkq/attendance/component/persongroup/commonutil/PersongroupCommonUtil.java b/src/com/engine/jucailinkq/attendance/component/persongroup/commonutil/PersongroupCommonUtil.java index 26f003c..02fb562 100644 --- a/src/com/engine/jucailinkq/attendance/component/persongroup/commonutil/PersongroupCommonUtil.java +++ b/src/com/engine/jucailinkq/attendance/component/persongroup/commonutil/PersongroupCommonUtil.java @@ -398,7 +398,7 @@ public class PersongroupCommonUtil { } }else if (!"".equals(sqltj)){ sqltj = Utils.converSQL(sqltj); - log.debug("getPersonnelGroupingByPerson sqltj : [{}]",sqltj); + log.info("getPersonnelGroupingByPerson sqltj : [{}]",sqltj); List> dataList = DbTools.getSqlToList(sqltj); for (Map dataMap :dataList){ String hrmId = Util.null2String(dataMap.get("id")); @@ -577,6 +577,10 @@ public class PersongroupCommonUtil { String sql = "select id,mc name from uf_jcl_kq_hxbz"; return DbTools.getSqlToMapList(sql); } + public static Map getPersonName(){ + String sql = "select id,lastname name from hrmresource"; + return DbTools.getSqlToMapList(sql); + } /** * 获得班次信息名称与简称集合 diff --git a/src/com/engine/jucailinkq/attendance/component/persongroup/service/impl/SchedulingResultsServiceImpl.java b/src/com/engine/jucailinkq/attendance/component/persongroup/service/impl/SchedulingResultsServiceImpl.java index 39562af..534f478 100644 --- a/src/com/engine/jucailinkq/attendance/component/persongroup/service/impl/SchedulingResultsServiceImpl.java +++ b/src/com/engine/jucailinkq/attendance/component/persongroup/service/impl/SchedulingResultsServiceImpl.java @@ -24,11 +24,6 @@ import java.util.stream.Collectors; @Slf4j public class SchedulingResultsServiceImpl extends Service implements SchedulingResultsService { - private Map personGroupMap = PersongroupCommonUtil.getPersonGroup(); - private Map departMentMap = PersongroupCommonUtil.getDepartMent(); - private Map subCompanyMap = PersongroupCommonUtil.getSubCompany(); - private Map classesInformationMap = PersongroupCommonUtil.getClassesInformation(); - private Map candidateTeamMap = PersongroupCommonUtil.getCandidateTeam(); @Override public Map queryDataTable(Map params) { @@ -65,9 +60,6 @@ public class SchedulingResultsServiceImpl extends Service implements SchedulingR } dataTableList = dataTableList.subList(startindex,endindex); } - for (Map map:dataTableList){ - SetBrowSerName(map); - } resultMap.put("data",dataTableList); }else { @@ -76,61 +68,12 @@ public class SchedulingResultsServiceImpl extends Service implements SchedulingR int total = Integer.valueOf(result.get("total").toString()); params.put("total",total); resultMap = commandExecutor.execute(new GetDatatableCmd(params)); - List> dataTable = (List>)resultMap.get("data"); - for (Map map :dataTable){ - SetBrowSerName(map); - - } resultMap.put("total",total); } return resultMap; } - /** - * 塞入 人员、人员分组、部门、分部、班次信息、候选班组浏览按钮显示值 - * @param map - */ - public void SetBrowSerName(Map map){ - log.debug("personGroupMap :{},departMentMap:{},subCompanyMap:{},classesInformationMap:{},candidateTeamMap:{}" - ,personGroupMap.hashCode(),departMentMap.hashCode(),subCompanyMap.hashCode(),classesInformationMap.hashCode(),candidateTeamMap.hashCode()); - String dxlx = Util.null2String(map.get("dxlx")); - if (dxlx.equals("0")){ - //人员 - String lastname = Util.null2String(map.get("lastname")); - String pbdxry = Util.null2String(map.get("pbdxry")); - pbdxry = pbdxry +"-"+lastname; - map.put("pbdxry",pbdxry); - - }else if (dxlx.equals("1")){ - //人员分组 - String pbdxryfz = Util.null2String(map.get("pbdxryfz")); - pbdxryfz= pbdxryfz+"-"+personGroupMap.get(pbdxryfz); - map.put("pbdxryfz",pbdxryfz); - - }else if (dxlx.equals("2")){ - //部门 - String pbdxbm = Util.null2String(map.get("pbdxbm")); - pbdxbm= pbdxbm+"-"+departMentMap.get(pbdxbm); - map.put("pbdxbm",pbdxbm); - - }else if (dxlx.equals("3")){ - //分部 - String pbdxfb = Util.null2String(map.get("pbdxfb")); - pbdxfb= pbdxfb+"-"+subCompanyMap.get(pbdxfb); - map.put("pbdxfb",pbdxfb); - } - String bcxx = Util.null2String(map.get("bcxx")); - String hxbz = Util.null2String(map.get("hxbz")); - if (!"".equals(bcxx)){ - bcxx = bcxx +"-"+classesInformationMap.get(bcxx); - map.put("bcxx",bcxx); - } - if (!"".equals(hxbz)){ - hxbz = hxbz +"-"+candidateTeamMap.get(hxbz); - map.put("hxbz",hxbz); - } - } @Override public Map queryDataTableActualUse(Map params) { diff --git a/src/com/engine/jucailinkq/attendance/component/persongroup/web/SchedulingResultsAction.java b/src/com/engine/jucailinkq/attendance/component/persongroup/web/SchedulingResultsAction.java index 6964dbf..fc272a2 100644 --- a/src/com/engine/jucailinkq/attendance/component/persongroup/web/SchedulingResultsAction.java +++ b/src/com/engine/jucailinkq/attendance/component/persongroup/web/SchedulingResultsAction.java @@ -1,11 +1,13 @@ package com.engine.jucailinkq.attendance.component.persongroup.web; +import com.engine.jucailinkq.attendance.component.persongroup.commonutil.PersongroupCommonUtil; import com.engine.jucailinkq.attendance.component.persongroup.service.SchedulingResultsService; import com.engine.jucailinkq.attendance.component.persongroup.service.impl.SchedulingResultsServiceImpl; import com.engine.jucailinkq.common.util.ApiReturnTools; import com.engine.common.util.ParamUtil; import com.engine.common.util.ServiceUtil; import lombok.extern.slf4j.Slf4j; +import weaver.general.Util; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -13,6 +15,7 @@ import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Context; +import java.util.List; import java.util.Map; @Slf4j public class SchedulingResultsAction { @@ -29,6 +32,53 @@ public class SchedulingResultsAction { try { Map paramMap = ParamUtil.request2Map(request); Map dataMap = basicsetService.queryDataTable(paramMap); + List> dataTable = (List>)dataMap.get("data"); + Map personGroupMap = PersongroupCommonUtil.getPersonGroup(); + Map departMentMap = PersongroupCommonUtil.getDepartMent(); + Map subCompanyMap = PersongroupCommonUtil.getSubCompany(); + Map classesInformationMap = PersongroupCommonUtil.getClassesInformation(); + Map candidateTeamMap = PersongroupCommonUtil.getCandidateTeam(); + Map personName = PersongroupCommonUtil.getPersonName(); + for (Map map :dataTable){ + String dxlx = Util.null2String(map.get("dxlx")); + if (dxlx.equals("0")){ + //人员 + String pbdxry = Util.null2String(map.get("pbdxry")); + String lastname = Util.null2String(personName.get(pbdxry)); + pbdxry = pbdxry +"-"+lastname; + map.put("pbdxry",pbdxry); + + }else if (dxlx.equals("1")){ + //人员分组 + String pbdxryfz = Util.null2String(map.get("pbdxryfz")); + pbdxryfz= pbdxryfz+"-"+personGroupMap.get(pbdxryfz); + map.put("pbdxryfz",pbdxryfz); + + }else if (dxlx.equals("2")){ + //部门 + String pbdxbm = Util.null2String(map.get("pbdxbm")); + pbdxbm= pbdxbm+"-"+departMentMap.get(pbdxbm); + map.put("pbdxbm",pbdxbm); + + }else if (dxlx.equals("3")){ + //分部 + String pbdxfb = Util.null2String(map.get("pbdxfb")); + pbdxfb= pbdxfb+"-"+subCompanyMap.get(pbdxfb); + map.put("pbdxfb",pbdxfb); + } + String bcxx = Util.null2String(map.get("bcxx")); + String hxbz = Util.null2String(map.get("hxbz")); + if (!"".equals(bcxx)){ + bcxx = bcxx +"-"+classesInformationMap.get(bcxx); + map.put("bcxx",bcxx); + } + if (!"".equals(hxbz)){ + hxbz = hxbz +"-"+candidateTeamMap.get(hxbz); + map.put("hxbz",hxbz); + } + + } + return ApiReturnTools.success(dataMap); }catch (Exception e){ log.error("execute fail,catch error: [{}]",e); From 045010e632a42b3b9e6b1d777fb7dcd75f2a76fc Mon Sep 17 00:00:00 2001 From: liuliang <401809302@qq.com> Date: Fri, 18 Oct 2024 17:32:52 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=8D=8A=E5=A4=A9=E8=AF=B7=E5=81=87?= =?UTF-8?q?=E6=8B=86=E5=88=86=E3=80=81=E5=85=A8=E5=A4=A9=E8=AF=B7=E5=81=87?= =?UTF-8?q?=E6=8B=86=E5=88=86=E4=BC=98=E5=8C=96=E3=80=81=E5=87=BA=E5=8B=A4?= =?UTF-8?q?=E7=BB=93=E6=9E=9C=E6=97=A5=E5=8E=86=E6=8E=92=E7=8F=AD=E6=80=A7?= =?UTF-8?q?=E8=83=BD=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cmd/getclockInpoint/GetClockInPointCmd.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/getclockInpoint/GetClockInPointCmd.java b/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/getclockInpoint/GetClockInPointCmd.java index d6c7194..6621b24 100644 --- a/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/getclockInpoint/GetClockInPointCmd.java +++ b/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/getclockInpoint/GetClockInPointCmd.java @@ -1051,7 +1051,6 @@ public class GetClockInPointCmd extends AbstractCommonCommand