From c70f24a091b313cef7ecb831f1f7dadd6baceb34 Mon Sep 17 00:00:00 2001 From: chenwei <3291673014@qq.com> Date: Tue, 7 May 2024 23:31:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A5=E7=A6=BB=E8=81=8C=E5=B7=A5=E6=97=B6?= =?UTF-8?q?=E5=8A=A0=E4=B8=8A=E8=80=83=E5=8B=A4=E6=8A=A5=E8=A1=A8=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/kq/cmd/report/GetKQReportCmd.java | 49 ++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/src/com/engine/kq/cmd/report/GetKQReportCmd.java b/src/com/engine/kq/cmd/report/GetKQReportCmd.java index 32acb06..35bbd11 100644 --- a/src/com/engine/kq/cmd/report/GetKQReportCmd.java +++ b/src/com/engine/kq/cmd/report/GetKQReportCmd.java @@ -1130,6 +1130,14 @@ public class GetKQReportCmd extends AbstractCommonCommand> { return lsChildColumns; } + /** + * 获取入离职工时 + * @param resourceId + * @param startDate + * @param endDate + * @param groupDate + * @return + */ public int getAbsenceDays(String resourceId, String startDate, String endDate, String groupDate){ int days = 0; @@ -1151,7 +1159,7 @@ public class GetKQReportCmd extends AbstractCommonCommand> { KQGroupMemberComInfo kqGroupMemberComInfo = new KQGroupMemberComInfo(); String groupid = Util.null2String(kqGroupMemberComInfo.getKQGroupId(resourceId, groupDate)); - String acqNumberSql = "select count(*) as number from KQ_HolidaySet where groupid = " + groupid +" changeType in (1,3) " + + String acqNumberSql = "select count(*) as number from KQ_HolidaySet where groupid = " + groupid +" and changeType in (1,3) " + "and holidayDate in ("+selDates+")"; bb.writeLog("acqNumberSql: " + acqNumberSql); RecordSet rs = new RecordSet(); @@ -1166,6 +1174,45 @@ public class GetKQReportCmd extends AbstractCommonCommand> { return days; } + /** + * 获取请假时长 + * @return + */ + public Map getLeaveInfos(String startDate, String endDate){ + + Map result = new HashMap<>(); + + RecordSet rs = new RecordSet(); + String acqLeaveSql = "select resourceid, sum(d_mins) as mins from kq_flow_split_leave " + + "where belongdate >='"+startDate+"' and belongdate <='"+endDate+"' " + + "group by resourceid " + + "order by resourceid "; + rs.executeQuery(acqLeaveSql); + while (rs.next()) { + String resourceid = Util.null2String(rs.getString("resourceid")); + String mins = Util.null2String(rs.getString("mins")); + result.put(resourceid, mins); + } + + String acqLeaveBackSql = "select resourceid, sum(d_mins) as mins from kq_flow_split_leaveback " + + "where belongdate >='"+startDate+"' and belongdate <='"+endDate+"' " + + "group by resourceid " + + "order by resourceid "; + rs.executeQuery(acqLeaveBackSql); + while (rs.next()) { + String resourceid = Util.null2String(rs.getString("resourceid")); + int mins = Math.max(Util.getIntValue(Util.null2String(rs.getString("mins"))), 0); + if (mins > 0) { + int temp = Math.max(Util.getIntValue(Util.null2String(result.get(resourceid))), 0); + int remins = Math.max(temp - mins, 0); + result.put(resourceid, remins); + } + } + + + return result; + } + @Override public BizLogContext getLogContext() { return null;