From 92503d432523416baa950f036d120cbe3851c76d Mon Sep 17 00:00:00 2001
From: wangxuanran <3055088966@qq.com>
Date: Wed, 19 Jul 2023 13:28:32 +0800
Subject: [PATCH] =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/main/java/aiyh/utils/Util.java | 20 +++-
.../XkHospitalCommonDefinition.java | 105 ++++++++++++++++++
.../row/HrmDepartmentRowDefinition.java | 35 +++---
.../table/HrmDepartmentTableDefinition.java | 53 +++++++++
.../mapper/XkHospitalDataAsyncMapper.java | 24 ++++
.../XkHospitalCommonDataAsyncServiceImpl.java | 27 +++--
.../wang/xk_hospital/test/XkHospitalTest.java | 27 ++---
7 files changed, 247 insertions(+), 44 deletions(-)
create mode 100644 src/main/java/com/api/xuanran/wang/xk_hospital/data_async/definitions/XkHospitalCommonDefinition.java
create mode 100644 src/main/java/com/api/xuanran/wang/xk_hospital/data_async/definitions/table/HrmDepartmentTableDefinition.java
create mode 100644 src/main/java/com/api/xuanran/wang/xk_hospital/data_async/mapper/XkHospitalDataAsyncMapper.java
diff --git a/src/main/java/aiyh/utils/Util.java b/src/main/java/aiyh/utils/Util.java
index 19081a2..136bd19 100644
--- a/src/main/java/aiyh/utils/Util.java
+++ b/src/main/java/aiyh/utils/Util.java
@@ -4094,16 +4094,28 @@ public class Util extends weaver.general.Util {
}
/**
- *
获取下一个人员id
+ * 获取下一个部门id
* @author xuanran.wang
* @dateTime 2023/7/19 11:24
* @return 部门id
**/
public static int getNextDepartmentId(){
+ return getNextDepartmentId(1);
+ }
+
+ /**
+ * 获取下一个部门id
+ * @author xuanran.wang
+ * @dateTime 2023/7/19 11:24
+ * @param subId 分部id
+ * @return 部门id
+ **/
+ public static int getNextDepartmentId(int subId){
RecordSet insertRs = new RecordSet();
char separator = weaver.general.Util.getSeparator();
- String para = "" + separator + "" + separator +
- "" + separator + "" + separator + "3" + separator + "" + separator + "";
+ String uuid = UUID.randomUUID().toString();
+ String para = uuid + separator +uuid + separator +
+ "" + separator + "" + separator + subId + separator + 1 + separator + "";
insertRs.executeProc("HrmDepartment_Insert", para);
if(insertRs.next()){
return insertRs.getInt(1);
@@ -4111,6 +4123,8 @@ public class Util extends weaver.general.Util {
return -1;
}
+
+
/**
* 获取下一个人员id
* @author xuanran.wang
diff --git a/src/main/java/com/api/xuanran/wang/xk_hospital/data_async/definitions/XkHospitalCommonDefinition.java b/src/main/java/com/api/xuanran/wang/xk_hospital/data_async/definitions/XkHospitalCommonDefinition.java
new file mode 100644
index 0000000..477ed90
--- /dev/null
+++ b/src/main/java/com/api/xuanran/wang/xk_hospital/data_async/definitions/XkHospitalCommonDefinition.java
@@ -0,0 +1,105 @@
+package com.api.xuanran.wang.xk_hospital.data_async.definitions;
+
+import aiyh.utils.ThreadPoolConfig;
+import aiyh.utils.Util;
+import aiyh.utils.response_deal.mapper.ConfigMapper;
+import com.api.xuanran.wang.xk_hospital.data_async.mapper.XkHospitalDataAsyncMapper;
+import com.engine.common.service.impl.ThemeServiceImpl;
+import org.apache.log4j.Logger;
+import weaver.hrm.company.DepartmentComInfo;
+import weaver.hrm.resource.ResourceComInfo;
+import weaver.matrix.MatrixUtil;
+
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ExecutorService;
+
+/**
+ *
+ *
+ * @author xuanran.wang
+ * @date 2023/7/19 10:22
+ */
+public class XkHospitalCommonDefinition {
+ /**
+ * 部门表名
+ **/
+ public static final String DEPARTMENT = "hrmdepartment";
+ /**
+ * 人员表名
+ **/
+ public static final String HRM_RESOURCE = "hrmresource";
+ /**
+ * 日志对象
+ **/
+ protected static final Logger log = Util.getLogger();
+ /**
+ * 数据同步mapper
+ **/
+ protected final XkHospitalDataAsyncMapper dataAsyncMapper = Util.getMapper(XkHospitalDataAsyncMapper.class);
+ /**
+ * 执行自定义sql
+ **/
+ protected final ConfigMapper configMapper = Util.getMapper(ConfigMapper.class);
+ /**
+ * 线程池对象
+ **/
+ protected final ExecutorService threadPoolInstance = ThreadPoolConfig.createThreadPoolInstance();
+ /**
+ * 部门缓存
+ **/
+ protected static final DepartmentComInfo DEPARTMENT_COM_INFO = new DepartmentComInfo();
+ /**
+ * 人员缓存
+ **/
+ protected static ResourceComInfo RESOURCE_COM_INFO = null;
+ /**
+ * 系统主题接口
+ **/
+ protected static final ThemeServiceImpl THEME_SERVICE = new ThemeServiceImpl();
+ static {
+ try {
+ RESOURCE_COM_INFO = new ResourceComInfo();
+ }catch (Exception e){
+ log.error("人员缓存类初始化失败! " + e.getMessage());
+ Util.logErrorStr(e);
+ }
+ }
+
+ /**
+ * 同步系统缓存
+ * @param table 表名
+ * @param idList 数据id集合
+ */
+ protected void synCache(String table, List idList){
+ if (DEPARTMENT.equals(table)) {
+ threadPoolInstance.execute(()->{
+ try {
+ DEPARTMENT_COM_INFO.removeCache();
+ MatrixUtil.sysDepartmentData();
+ }catch (Exception e){
+ log.error("同步系统部门缓存error : " + e.getMessage());
+ Util.logErrorStr(e);
+ }
+ });
+ }else if(HRM_RESOURCE.equals(table)){
+ try {
+ List