diff --git a/src/main/java/aiyh/utils/Util.java b/src/main/java/aiyh/utils/Util.java
index 16c18ea..136bd19 100644
--- a/src/main/java/aiyh/utils/Util.java
+++ b/src/main/java/aiyh/utils/Util.java
@@ -4092,6 +4092,53 @@ public class Util extends weaver.general.Util {
Util.getLogger().error(getErrString(e));
}
}
+
+ /**
+ *
获取下一个部门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 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);
+ }
+ return -1;
+ }
+
+
+
+ /**
+ * 获取下一个人员id
+ * @author xuanran.wang
+ * @dateTime 2023/4/12 13:24
+ * @return 人员id
+ **/
+ public static int getNextHrmId(){
+ RecordSet procRs = new RecordSet();
+ procRs.executeProc("HrmResourceMaxId_Get", "");
+ if (procRs.next()) {
+ return procRs.getInt(1);
+ }
+ return -1;
+ }
}
diff --git a/src/main/java/aiyh/utils/response_deal/state/InsertOrUpdateState.java b/src/main/java/aiyh/utils/response_deal/state/InsertOrUpdateState.java
index 549969d..db7e023 100644
--- a/src/main/java/aiyh/utils/response_deal/state/InsertOrUpdateState.java
+++ b/src/main/java/aiyh/utils/response_deal/state/InsertOrUpdateState.java
@@ -22,9 +22,6 @@ public class InsertOrUpdateState extends State{
@Override
public void handle() {
- if(ResponseUtil.parameterIsNotNull(this.context.getTableDefinitionCallback())){
- this.context.getTableDefinitionCallback().tableHandle(this.context);
- }
List rowDefinitionList = this.context.getRowDefinitionList();
List updateRowList = new ArrayList<>();
List insertRowList = new ArrayList<>();
@@ -55,7 +52,6 @@ public class InsertOrUpdateState extends State{
BeanUtil.copyProperties(this.context,tableDefinition);
tableDefinition.setState(null);
tableDefinition.setRowDefinitionList(rowDefinitionList);
- tableDefinition.setTableDefinitionCallback(null);
tableDefinition.setAssignType(assignType);
tableDefinition.setDefaultState(null);
tableDefinition.dataProcess();
diff --git a/src/main/java/com/api/xuanran/wang/xk_hospital/data_async/definitions/HrmDepartmentDefinition.java b/src/main/java/com/api/xuanran/wang/xk_hospital/data_async/definitions/HrmDepartmentDefinition.java
deleted file mode 100644
index 872ea51..0000000
--- a/src/main/java/com/api/xuanran/wang/xk_hospital/data_async/definitions/HrmDepartmentDefinition.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.api.xuanran.wang.xk_hospital.data_async.definitions;
-
-import aiyh.utils.Util;
-import aiyh.utils.excention.CustomerException;
-import aiyh.utils.response_deal.entity.FieldDefinition;
-import aiyh.utils.response_deal.entity.RowDefinition;
-import aiyh.utils.response_deal.intfaces.RowDefinitionCallback;
-import aiyh.utils.response_deal.mapper.ConfigMapper;
-import aiyh.utils.tool.cn.hutool.core.util.StrUtil;
-import org.apache.commons.lang3.StringUtils;
-import weaver.conn.RecordSet;
-
-import java.util.HashMap;
-import java.util.List;
-
-/**
- *
- *
- * @author xuanran.wang
- * @date 2023/7/18 11:13
- */
-public class HrmDepartmentDefinition implements RowDefinitionCallback {
-
- protected final ConfigMapper configMapper = Util.getMapper(ConfigMapper.class);
-
- @Override
- public void rowHandle(RowDefinition rowDefinition) {
-
- }
-
- @Override
- public boolean judgmentRepetition(RowDefinition rowDefinition) {
- String conditionScript = rowDefinition.getConditionScript();
- String cusQuerySql = "select id from " + rowDefinition.getAssignTable() + " where " + conditionScript;
- String dataId = this.configMapper.executeCusQuerySql(cusQuerySql, rowDefinition.getWhereParam(),new HashMap<>());
- if(StrUtil.isBlank(dataId)){
- RecordSet insertRs = new RecordSet();
- char separator = weaver.general.Util.getSeparator();
- //使用存储过程新增分部
- String para = "" + separator + "" + separator +
- "" + separator + "" + separator + "1" + separator + "";
- insertRs.executeProc("HrmDepartment_Insert", para);
- if (insertRs.next()) {
- int depId = insertRs.getInt(1);
- rowDefinition.setDataId(depId);
- rowDefinition.getWhereParam().put("id", depId);
- }
- }
- return true;
- }
-}
diff --git a/src/main/java/com/api/xuanran/wang/xk_hospital/data_async/definitions/HrmresourceDefinition.java b/src/main/java/com/api/xuanran/wang/xk_hospital/data_async/definitions/HrmresourceDefinition.java
deleted file mode 100644
index 69a94cc..0000000
--- a/src/main/java/com/api/xuanran/wang/xk_hospital/data_async/definitions/HrmresourceDefinition.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.api.xuanran.wang.xk_hospital.data_async.definitions;
-
-import aiyh.utils.response_deal.entity.RowDefinition;
-import aiyh.utils.response_deal.intfaces.RowDefinitionCallback;
-
-/**
- *
- *
- * @author xuanran.wang
- * @date 2023/7/18 11:13
- */
-public class HrmresourceDefinition implements RowDefinitionCallback {
- @Override
- public void rowHandle(RowDefinition rowDefinition) {
-
- }
-
- @Override
- public boolean judgmentRepetition(RowDefinition rowDefinition) {
- return false;
- }
-}
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