From 5680590a31095ecccc1cbcf568072fc74659ca57 Mon Sep 17 00:00:00 2001 From: sy Date: Thu, 31 Oct 2024 15:57:20 +0800 Subject: [PATCH] =?UTF-8?q?=E8=80=83=E5=8B=A4=EF=BC=8C=E8=80=83=E5=8B=A4?= =?UTF-8?q?=E6=97=A5=E6=8A=A5=E8=A7=86=E5=9B=BE=E5=88=B7=E6=96=B0=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E4=BF=AE=E6=94=B9=EF=BC=8C=E7=94=A8=E5=8A=A9=E8=AE=B0?= =?UTF-8?q?=E7=A0=81=E6=9B=BF=E4=BB=A3=E5=90=8D=E7=A7=B0=EF=BC=9B=E6=97=A5?= =?UTF-8?q?=E5=8E=86=E6=8E=92=E7=8F=AD=E5=88=97=E8=A1=A8=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E5=A2=9E=E5=8A=A0=E7=8A=B6=E6=80=81=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/AttendanceSummaryServiceImpl.java | 42 ++++++++++--------- .../service/impl/WorkRulesServiceImpl.java | 4 ++ 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/AttendanceSummaryServiceImpl.java b/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/AttendanceSummaryServiceImpl.java index d546c5e..d34453a 100644 --- a/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/AttendanceSummaryServiceImpl.java +++ b/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/AttendanceSummaryServiceImpl.java @@ -257,8 +257,8 @@ public class AttendanceSummaryServiceImpl extends Service implements AttendanceS bs.writeLog("columns : " + columns); //收集考勤项目id-核算单位映射 Map kqxmUnitInfo = kqxmDates.stream().collect(Collectors.toMap(e->Util.null2String(e.get("id")),e->Util.null2String(e.get("hsdw")))); - //收集考勤项目id-考勤项目名称映射 - Map kqxmMcInfo = kqxmDates.stream().collect(Collectors.toMap(e->Util.null2String(e.get("id")),e->Util.null2String(e.get("mc")))); + //收集考勤项目id-考勤项目名称映射, 20241031需求变更,字段“助记码”代替“名称” + Map kqxmMcInfo = kqxmDates.stream().collect(Collectors.toMap(e->Util.null2String(e.get("id")),e->Util.null2String(e.get("zjm")))); //获取列表结果,typeSelect为9、10时查询出勤汇总明细表数据,其他则生成临时汇总数据 List> dtDates = null; LocalDate targetDate = LocalDate.now(); // 获取当前日期 @@ -489,37 +489,39 @@ public class AttendanceSummaryServiceImpl extends Service implements AttendanceS //拼接视图内容sql StringBuilder viewResourceSql = new StringBuilder("SELECT id, ygid, rq, fbid, bm, zw, bc"); //考勤项目核算单位、id、名称 + //20241031需求变更,字段“助记码”代替“名称” String hsdw = ""; String kqxmId = ""; - String mc = ""; +// String mc = ""; + String zjm = ""; for (Map kqxmInfo : kqxmList) { hsdw = Util.null2String(kqxmInfo.get("hsdw")); kqxmId = Util.null2String(kqxmInfo.get("id")); - mc = Util.null2String(kqxmInfo.get("mc")); + zjm = Util.null2String(kqxmInfo.get("zjm")); int lengthCompareValue = "字".getBytes().length * 9; - int mcLength = mc.getBytes().length; - if ("oracle".equals(dbType) && mcLength > lengthCompareValue) { - mc = mc.substring(0,9); + int zjmLength = zjm.getBytes().length; + if ("oracle".equals(dbType) && zjmLength > lengthCompareValue) { + zjm = zjm.substring(0,9); } if ("0".equals(hsdw)) { - viewResourceSql.append(", SUM(CASE WHEN xm = ").append(kqxmId).append(" THEN sc ELSE 0 END) AS \"").append(mc).append("_t\""); - viewResourceSql.append(", SUM(CASE WHEN xm = ").append(kqxmId).append(" THEN 1 ELSE 0 END) AS \"").append(mc).append("_c\""); - viewColumn.append(",").append(mc).append("_t").append(",").append(mc).append("_c"); + viewResourceSql.append(", SUM(CASE WHEN xm = ").append(kqxmId).append(" THEN sc ELSE 0 END) AS \"").append(zjm).append("_t\""); + viewResourceSql.append(", SUM(CASE WHEN xm = ").append(kqxmId).append(" THEN 1 ELSE 0 END) AS \"").append(zjm).append("_c\""); + viewColumn.append(",").append(zjm).append("_t").append(",").append(zjm).append("_c"); } else if ("1".equals(hsdw)) { if ("1".equals(kqxmId)) { - viewResourceSql.append(", SUM(CASE WHEN xm = 1 OR xm = 5").append(" THEN sc ELSE 0 END) AS \"").append(mc).append("_s\""); + viewResourceSql.append(", SUM(CASE WHEN xm = 1 OR xm = 5").append(" THEN sc ELSE 0 END) AS \"").append(zjm).append("_s\""); } else { - viewResourceSql.append(", SUM(CASE WHEN xm = ").append(kqxmId).append(" THEN sc ELSE 0 END) AS \"").append(mc).append("_s\""); + viewResourceSql.append(", SUM(CASE WHEN xm = ").append(kqxmId).append(" THEN sc ELSE 0 END) AS \"").append(zjm).append("_s\""); } - viewResourceSql.append(", SUM(CASE WHEN xm = ").append(kqxmId).append(" THEN 1 ELSE 0 END) AS \"").append(mc).append("_c\""); - viewColumn.append(",").append(mc).append("_s").append(",").append(mc).append("_c"); + viewResourceSql.append(", SUM(CASE WHEN xm = ").append(kqxmId).append(" THEN 1 ELSE 0 END) AS \"").append(zjm).append("_c\""); + viewColumn.append(",").append(zjm).append("_s").append(",").append(zjm).append("_c"); } else if ("2".equals(hsdw)) { - viewResourceSql.append(", SUM(CASE WHEN xm = ").append(kqxmId).append(" THEN sc ELSE 0 END) AS \"").append(mc).append("_f\""); - viewResourceSql.append(", SUM(CASE WHEN xm = ").append(kqxmId).append(" THEN 1 ELSE 0 END) AS \"").append(mc).append("_c\""); - viewColumn.append(",").append(mc).append("_f").append(",").append(mc).append("_c"); + viewResourceSql.append(", SUM(CASE WHEN xm = ").append(kqxmId).append(" THEN sc ELSE 0 END) AS \"").append(zjm).append("_f\""); + viewResourceSql.append(", SUM(CASE WHEN xm = ").append(kqxmId).append(" THEN 1 ELSE 0 END) AS \"").append(zjm).append("_c\""); + viewColumn.append(",").append(zjm).append("_f").append(",").append(zjm).append("_c"); } else { - viewResourceSql.append(", SUM(CASE WHEN xm = ").append(kqxmId).append(" THEN 1 ELSE 0 END) AS \"").append(mc).append("_c\""); - viewColumn.append(",").append(mc).append("_c"); + viewResourceSql.append(", SUM(CASE WHEN xm = ").append(kqxmId).append(" THEN 1 ELSE 0 END) AS \"").append(zjm).append("_c\""); + viewColumn.append(",").append(zjm).append("_c"); } } //ifnull函数的适配 @@ -1568,7 +1570,7 @@ public class AttendanceSummaryServiceImpl extends Service implements AttendanceS itemMap.put("ls", String.format("%.2f", time)); } if (accountUnit.equals(AccountingUnitEnum.MINUTES.getKey())) { - itemMap.put("lf", String.format("%.2f", time)); + itemMap.put("lf", String.format("%.0f", time)); } dailyKqAddList.add(itemMap); } diff --git a/src/com/engine/jucailinkq/attendance/component/calendarscheduling/service/impl/WorkRulesServiceImpl.java b/src/com/engine/jucailinkq/attendance/component/calendarscheduling/service/impl/WorkRulesServiceImpl.java index d11d71a..cf8eace 100644 --- a/src/com/engine/jucailinkq/attendance/component/calendarscheduling/service/impl/WorkRulesServiceImpl.java +++ b/src/com/engine/jucailinkq/attendance/component/calendarscheduling/service/impl/WorkRulesServiceImpl.java @@ -96,6 +96,7 @@ public class WorkRulesServiceImpl extends Service implements WorkRulesService { String employeeIds = Util.null2String(params.get("employeeIds")); String username = Util.null2String(params.get("username")); String psersongroup = Util.null2String(params.get("psersongroup")); + String status = Util.null2String(params.get("status")); String userId = Util.null2String(user.getUID()); //0:全体人员、1:分部、2:部门,3:人员 @@ -112,6 +113,9 @@ public class WorkRulesServiceImpl extends Service implements WorkRulesService { if (!"".equals(username)){ conditions = conditions +" and lastname like '%"+username+"%'"; } + if (!"".equals(status)){ + conditions = conditions +" and status in (" + status + ")"; + } Set psersongroupUserIds = null; if (!"".equals(psersongroup)){ psersongroupUserIds = CommonUtil.getEmpGroupUserIds(psersongroup);