From 35550aa78819f0eefe9d39b70b7e693ca14d2e06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Fri, 20 Oct 2023 13:26:25 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=81=87=E6=9C=9F=E4=BD=99=E9=A2=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/RemoteAttend4SalaryService.java | 17 +++++++++-- .../impl/RemoteAttend4SalaryServiceImpl.java | 28 +++++++++++++++++++ .../impl/AttendQuoteFieldServiceImpl.java | 5 ++++ 3 files changed, 47 insertions(+), 3 deletions(-) diff --git a/src/com/engine/salary/remote/attend/service/RemoteAttend4SalaryService.java b/src/com/engine/salary/remote/attend/service/RemoteAttend4SalaryService.java index fde7fea78..430e8b3c3 100644 --- a/src/com/engine/salary/remote/attend/service/RemoteAttend4SalaryService.java +++ b/src/com/engine/salary/remote/attend/service/RemoteAttend4SalaryService.java @@ -7,11 +7,22 @@ import java.util.Map; public interface RemoteAttend4SalaryService { + /** + * 考勤报表列 + * @return + */ List> getColumns(); - + /** + * 考勤报表数据 + * @param attend4Salary + * @return + */ List> getDatas(Attend4Salary attend4Salary); - - + /** + * 获取假期余额列 + * @return + */ + List> getBalanceOfLeaveColumns(); } diff --git a/src/com/engine/salary/remote/attend/service/impl/RemoteAttend4SalaryServiceImpl.java b/src/com/engine/salary/remote/attend/service/impl/RemoteAttend4SalaryServiceImpl.java index e8b65d616..4e0950b58 100644 --- a/src/com/engine/salary/remote/attend/service/impl/RemoteAttend4SalaryServiceImpl.java +++ b/src/com/engine/salary/remote/attend/service/impl/RemoteAttend4SalaryServiceImpl.java @@ -3,6 +3,7 @@ package com.engine.salary.remote.attend.service.impl; import com.alibaba.druid.support.json.JSONUtils; import com.alibaba.fastjson.JSONObject; import com.engine.core.impl.Service; +import com.engine.kq.cmd.balanceofleaverp.GetSearchListCmd; import com.engine.kq.cmd.report.GetKQReportCmd; import com.engine.salary.remote.attend.entity.Attend4Salary; import com.engine.salary.remote.attend.service.RemoteAttend4SalaryService; @@ -94,6 +95,8 @@ public class RemoteAttend4SalaryServiceImpl extends Service implements RemoteAtt } } }); + + getBalanceOfLeaveColumns(); return columns; } @@ -131,4 +134,29 @@ public class RemoteAttend4SalaryServiceImpl extends Service implements RemoteAtt } + + /** + * dateScope: 6 + * selectedYear: 2024 + * dataScope: 3 + * resourceId: 94,7938 + * status: 9 + * isNoAccount: true + * pageSize: 10 + * currentPage: 1 + * @return + */ + + @Override + public List> getBalanceOfLeaveColumns() { + Map paramsMap = new HashMap(); + paramsMap.put("dateScope", "6"); + paramsMap.put("selectedYear", 2023); + paramsMap.put("dataScope", "3"); + paramsMap.put("resourceId", 92); + paramsMap.put("status", "9"); + paramsMap.put("isNoAccount", true); + List datas = (List) commandExecutor.execute(new GetSearchListCmd(paramsMap, user)).get("columns"); + return null; + } } diff --git a/src/com/engine/salary/service/impl/AttendQuoteFieldServiceImpl.java b/src/com/engine/salary/service/impl/AttendQuoteFieldServiceImpl.java index c48b1c7e5..3979c3180 100644 --- a/src/com/engine/salary/service/impl/AttendQuoteFieldServiceImpl.java +++ b/src/com/engine/salary/service/impl/AttendQuoteFieldServiceImpl.java @@ -291,6 +291,11 @@ public class AttendQuoteFieldServiceImpl extends Service implements AttendQuoteF if (CollectionUtils.isNotEmpty(saves)) { biz.saveBatch(saves); } + + //假期余额 + + + return null; } From 7249c749c02c1817538b611c11e7fe897005bef3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Tue, 24 Oct 2023 10:24:10 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=B9=B4=E5=81=87=E4=BD=99=E9=A2=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/RemoteAttend4SalaryService.java | 7 +++ .../impl/RemoteAttend4SalaryServiceImpl.java | 52 ++++++++++++------- 2 files changed, 40 insertions(+), 19 deletions(-) diff --git a/src/com/engine/salary/remote/attend/service/RemoteAttend4SalaryService.java b/src/com/engine/salary/remote/attend/service/RemoteAttend4SalaryService.java index 430e8b3c3..e784bf361 100644 --- a/src/com/engine/salary/remote/attend/service/RemoteAttend4SalaryService.java +++ b/src/com/engine/salary/remote/attend/service/RemoteAttend4SalaryService.java @@ -25,4 +25,11 @@ public interface RemoteAttend4SalaryService { * @return */ List> getBalanceOfLeaveColumns(); + + /** + * 假期值 + * @param attend4Salary + * @return + */ + List> getBalanceOfLeaveDatas(Attend4Salary attend4Salary); } diff --git a/src/com/engine/salary/remote/attend/service/impl/RemoteAttend4SalaryServiceImpl.java b/src/com/engine/salary/remote/attend/service/impl/RemoteAttend4SalaryServiceImpl.java index 4e0950b58..2ad3069dd 100644 --- a/src/com/engine/salary/remote/attend/service/impl/RemoteAttend4SalaryServiceImpl.java +++ b/src/com/engine/salary/remote/attend/service/impl/RemoteAttend4SalaryServiceImpl.java @@ -8,6 +8,7 @@ import com.engine.kq.cmd.report.GetKQReportCmd; import com.engine.salary.remote.attend.entity.Attend4Salary; import com.engine.salary.remote.attend.service.RemoteAttend4SalaryService; import com.engine.salary.util.SalaryDateUtil; +import com.engine.salary.util.SalaryEntityUtil; import com.engine.salary.util.valid.ValidUtil; import com.google.common.collect.Maps; import lombok.extern.slf4j.Slf4j; @@ -96,7 +97,8 @@ public class RemoteAttend4SalaryServiceImpl extends Service implements RemoteAtt } }); - getBalanceOfLeaveColumns(); + //假期余额字段 + columns.addAll(getBalanceOfLeaveColumns()); return columns; } @@ -125,28 +127,20 @@ public class RemoteAttend4SalaryServiceImpl extends Service implements RemoteAtt if (isLog) { log.info("获取的考勤数据,{}", JSONUtils.toJSONString(list)); } + + List> balanceOfLeaveDatas = getBalanceOfLeaveDatas(attend4Salary); + Map map = SalaryEntityUtil.convert2Map(balanceOfLeaveDatas, m -> m.get("id"), m -> m.get("2")); + + list.forEach(m->{ + String resourceId = m.get("resourceId"); + m.put("balanceOfLeave2",map.get(resourceId)); + }); } catch (Exception e) { log.error("获取考勤数据失败", e); } - - return list; - - } - /** - * dateScope: 6 - * selectedYear: 2024 - * dataScope: 3 - * resourceId: 94,7938 - * status: 9 - * isNoAccount: true - * pageSize: 10 - * currentPage: 1 - * @return - */ - @Override public List> getBalanceOfLeaveColumns() { Map paramsMap = new HashMap(); @@ -156,7 +150,27 @@ public class RemoteAttend4SalaryServiceImpl extends Service implements RemoteAtt paramsMap.put("resourceId", 92); paramsMap.put("status", "9"); paramsMap.put("isNoAccount", true); - List datas = (List) commandExecutor.execute(new GetSearchListCmd(paramsMap, user)).get("columns"); - return null; + List> columns = (List>) commandExecutor.execute(new GetSearchListCmd(paramsMap, user)).get("columns"); + Map map = Maps.newHashMapWithExpectedSize(2); + //年假 + map.put("code", "balanceOfLeave" + 2); + map.put("name", columns.stream().filter(m -> "2".equals(m.get("key"))).findFirst().map(m -> m.get("title")).orElse("年假余额")); + + List> balanceOfLeaveColumns = new ArrayList<>(); + balanceOfLeaveColumns.add(map); + return balanceOfLeaveColumns; + } + + + @Override + public List> getBalanceOfLeaveDatas(Attend4Salary attend4Salary) { + Map paramsMap = new HashMap(); + paramsMap.put("dateScope", "6"); + paramsMap.put("selectedYear", SalaryDateUtil.date2Year(attend4Salary.getBeginDate())); + paramsMap.put("dataScope", "3"); + paramsMap.put("resourceId", attend4Salary.getOnlyEmpIds().stream().map(String::valueOf).collect(Collectors.joining(","))); + paramsMap.put("status", "9"); + paramsMap.put("isNoAccount", true); + return (List>) commandExecutor.execute(new GetSearchListCmd(paramsMap, user)).get("datas"); } } From bf67fe17fcf987401243c5848ce26f617ba6d604 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Tue, 24 Oct 2023 11:43:14 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=B9=B4=E5=81=87=E4=BD=99=E9=A2=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/RemoteAttend4SalaryServiceImpl.java | 28 +++++++++++++++---- 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/src/com/engine/salary/remote/attend/service/impl/RemoteAttend4SalaryServiceImpl.java b/src/com/engine/salary/remote/attend/service/impl/RemoteAttend4SalaryServiceImpl.java index 2ad3069dd..413aca182 100644 --- a/src/com/engine/salary/remote/attend/service/impl/RemoteAttend4SalaryServiceImpl.java +++ b/src/com/engine/salary/remote/attend/service/impl/RemoteAttend4SalaryServiceImpl.java @@ -128,13 +128,29 @@ public class RemoteAttend4SalaryServiceImpl extends Service implements RemoteAtt log.info("获取的考勤数据,{}", JSONUtils.toJSONString(list)); } - List> balanceOfLeaveDatas = getBalanceOfLeaveDatas(attend4Salary); - Map map = SalaryEntityUtil.convert2Map(balanceOfLeaveDatas, m -> m.get("id"), m -> m.get("2")); - list.forEach(m->{ - String resourceId = m.get("resourceId"); - m.put("balanceOfLeave2",map.get(resourceId)); - }); + //假期余额信息 + List> balanceOfLeaveDatas = getBalanceOfLeaveDatas(attend4Salary); + Map balanceMap = SalaryEntityUtil.convert2Map(balanceOfLeaveDatas, m -> m.get("id"), m -> m.get("2")); + + //给有考勤的赋值 + List attendEmpIds = list.stream().map(attend -> { + String resourceId = attend.get("resourceId"); + attend.put("balanceOfLeave2", balanceMap.get(resourceId)); + return resourceId; + }).collect(Collectors.toList()); + + //没有考勤,但有假期余额的人赋值 + List> balanceOfLeaveList = balanceMap.keySet().stream() + .filter(k -> !attendEmpIds.contains(k)) + .map(k -> { + Map map = new HashMap<>(); + map.put("resourceId", k); + map.put("balanceOfLeave2", balanceMap.get(k)); + return map; + }) + .collect(Collectors.toList()); + list.addAll(balanceOfLeaveList); } catch (Exception e) { log.error("获取考勤数据失败", e); }