From 877476efc0b8c7e901d0cefe37b4d5b8b65acf62 Mon Sep 17 00:00:00 2001 From: sy Date: Tue, 13 Aug 2024 15:45:07 +0800 Subject: [PATCH] =?UTF-8?q?=E8=80=83=E5=8B=A4-=E8=80=83=E5=8B=A4=E6=B1=87?= =?UTF-8?q?=E6=80=BB=E6=8A=A5=E8=A1=A8=E6=9F=A5=E8=AF=A2=EF=BC=8C=E5=88=86?= =?UTF-8?q?=E6=9D=83=E9=80=BB=E8=BE=91=E4=B8=AD=E4=BA=BA=E5=91=98=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E8=8E=B7=E5=8F=96=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/AttendanceSummaryServiceImpl.java | 2 +- .../AdjustPersonGroupArchivingAction.java | 81 +++++++++++++++++++ 2 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 src/com/engine/jucailinkq/attendance/workflow/action/AdjustPersonGroupArchivingAction.java 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 55d40df..ef958f8 100644 --- a/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/AttendanceSummaryServiceImpl.java +++ b/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/AttendanceSummaryServiceImpl.java @@ -1453,7 +1453,7 @@ public class AttendanceSummaryServiceImpl extends Service implements AttendanceS if (userManageInfo.get(empId) == null) { return false; } - String listType = (String) userManageInfo.get("listType"); + String listType = Util.null2String(userManageInfo.get("listType")); if (listType.equals(PersonGroupListTypeEnum.PERSON.getKey())) { Map forceTimeItem = (Map) userManageInfo.get(empId); String startDate = (String) forceTimeItem.get("startDate"); diff --git a/src/com/engine/jucailinkq/attendance/workflow/action/AdjustPersonGroupArchivingAction.java b/src/com/engine/jucailinkq/attendance/workflow/action/AdjustPersonGroupArchivingAction.java new file mode 100644 index 0000000..8d3fab4 --- /dev/null +++ b/src/com/engine/jucailinkq/attendance/workflow/action/AdjustPersonGroupArchivingAction.java @@ -0,0 +1,81 @@ +package com.engine.jucailinkq.attendance.workflow.action; + +import com.engine.jucailinkq.common.util.CommonUtil; +import com.engine.jucailinkq.common.util.DateUtil; +import com.engine.jucailinkq.common.util.DbTools; +import lombok.extern.slf4j.Slf4j; +import weaver.general.Util; +import weaver.interfaces.workflow.action.Action; +import weaver.soa.workflow.request.RequestInfo; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 调动分组流程归档action + * @author sy + */ +@Slf4j +public class AdjustPersonGroupArchivingAction implements Action { + + + @Override + public String execute(RequestInfo requestInfo) { + String requestid = requestInfo.getRequestid(); + // 流程表单主表数据 + HashMap mainTableData = CommonUtil.getMainTableInfo(requestInfo); + + //调动人员 + String ddry = Util.null2String(mainTableData.get("ddry")); + //调入日期 + String adjustDate = Util.null2String(mainTableData.get("drrq")); + //调入分组 + String adjustToGroup = Util.null2String(mainTableData.get("drfz")); + //调出分组 + String adjustFromGroup = Util.null2String(mainTableData.get("dcfz")); + //调回日期 + String adjustBackDate = Util.null2String(mainTableData.get("dhrq")); + //调动说明 + String ddsm = Util.null2String(mainTableData.get("ddsm")); + + try { + String sql = ""; + if (!"".equals(adjustFromGroup)) { + sql = "select id, bdate, edate from uf_ryqz_dt1 where mainid = " + adjustFromGroup + " and empid = " + ddry + " and delete_type = 0"; + List> data = DbTools.getSqlToList(sql); + data = data.stream(). + filter(f -> Util.null2String(f.get("bdate")).compareTo(adjustDate) < 0 + && ("".equals(Util.null2String(f.get("edate"))) || Util.null2String(f.get("edate")).compareTo(adjustDate) >= 0)) + .collect(Collectors.toList()); + if (data.size() > 2) { + log.error("更新人员分组数据失败: 调出分组中目标数据不唯一!"); + requestInfo.getRequestManager().setMessageid("11111" + requestInfo.getRequestid() + "22222"); + requestInfo.getRequestManager().setMessagecontent("更新人员分组数据失败: 调出分组中目标数据不唯一!"); + return Action.FAILURE_AND_CONTINUE; + } else if (data.size() == 1) { + //修改调出分组中目标数据的失效日期为调入日期前一天,todo + + //新增一条数据在调入分组中。生效日期为调入日期,失效日期为调回日期 + + //新增一条数据在调出分组中。生效日期为调回日期,失效日期为调回日期 + } else if (data.size() == 0) { + + } + } + if ("".equals(adjustBackDate)) { + + } else { + + } + + + }catch (Exception e){ + log.error("AdjustPersonGroupArchivingAction error : [{}]",e); + return Action.FAILURE_AND_CONTINUE; + } + return Action.SUCCESS; + } +}