From 945c64e80be99af8b4729e67d41673e6d5e1da64 Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Tue, 28 Nov 2023 17:31:53 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9B=9B=E4=B8=96=E7=A7=91=E6=8A=80=E6=8F=92?= =?UTF-8?q?=E5=85=A5=E9=9C=80=E6=B1=82=20=E5=88=B7=E6=96=B0=E4=BA=BA?= =?UTF-8?q?=E5=91=98=E5=AE=89=E5=85=A8=E7=BA=A7=E5=88=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sskj/crob/RefreshHrmSecLevelCrob.java | 54 +++++++++++++++++++ .../interfaces/sskj/crob/ReleationPO.java | 23 ++++++++ 2 files changed, 77 insertions(+) create mode 100644 src/weaver/interfaces/sskj/crob/RefreshHrmSecLevelCrob.java create mode 100644 src/weaver/interfaces/sskj/crob/ReleationPO.java diff --git a/src/weaver/interfaces/sskj/crob/RefreshHrmSecLevelCrob.java b/src/weaver/interfaces/sskj/crob/RefreshHrmSecLevelCrob.java new file mode 100644 index 0000000..7acf653 --- /dev/null +++ b/src/weaver/interfaces/sskj/crob/RefreshHrmSecLevelCrob.java @@ -0,0 +1,54 @@ +package weaver.interfaces.sskj.crob; + +import com.engine.integration.util.StringUtils; +import org.apache.commons.collections.CollectionUtils; +import weaver.conn.RecordSet; +import weaver.general.Util; +import weaver.interfaces.schedule.BaseCronJob; + +import java.util.ArrayList; +import java.util.List; + +/** + * @Author liang.cheng + * @Date 2023/11/28 3:53 PM + * @Description: 刷新人员安全级别 + * @Version 1.0 + */ +public class RefreshHrmSecLevelCrob extends BaseCronJob { + @Override + public void execute() { + + List releationList = new ArrayList<>(); + RecordSet rs = new RecordSet(); + rs.executeQuery("select zwlb,aqjb from uf_aqjbdygxb"); + while (rs.next()) { + releationList.add(ReleationPO.builder() + .jobGroups(Util.getIntValue(rs.getString("zwlb"))) + .secLevel(Util.getIntValue(rs.getString("aqjb"))) + .build()); + } + + + releationList.forEach(releationPo -> { + List jobTitles = new ArrayList<>(); + selectJobTitlesByJobGroup(jobTitles,releationPo.getJobGroups()); + if (CollectionUtils.isNotEmpty(jobTitles)) { + rs.executeUpdate("update hrmresource a set a.seclevel = ? where " + + " a.jobtitle in ("+StringUtils.join(jobTitles, ",")+")",releationPo.getSecLevel()); + } + }); + } + + private List selectJobTitlesByJobGroup(List jobTitles,Integer jobGroup){ + RecordSet rs = new RecordSet(); + rs.executeQuery("select a.id from hrmjobtitles a join hrmjobactivities b on a.jobactivityid = b.id\n" + + " join hrmjobgroups c on b.jobgroupid = c.id where c.id = ?",jobGroup); + while (rs.next()) { + jobTitles.add(Util.getIntValue(rs.getString("id"))); + } + + return jobTitles; + + } +} diff --git a/src/weaver/interfaces/sskj/crob/ReleationPO.java b/src/weaver/interfaces/sskj/crob/ReleationPO.java new file mode 100644 index 0000000..9ed0e95 --- /dev/null +++ b/src/weaver/interfaces/sskj/crob/ReleationPO.java @@ -0,0 +1,23 @@ +package weaver.interfaces.sskj.crob; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author liang.cheng + * @Date 2023/11/28 4:24 PM + * @Description: 安全级别关系对照表 + * @Version 1.0 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ReleationPO { + + private Integer jobGroups; + + private Integer secLevel; +}