diff --git a/src/com/api/organization/web/NonStandardOptController.java b/src/com/api/organization/web/NonStandardOptController.java
new file mode 100644
index 00000000..56b8fbc6
--- /dev/null
+++ b/src/com/api/organization/web/NonStandardOptController.java
@@ -0,0 +1,12 @@
+package com.api.organization.web;
+
+import javax.ws.rs.Path;
+
+/**
+ * @author:dxfeng
+ * @createTime: 2022/09/01
+ * @version: 1.0
+ */
+@Path("/bs/hrmorganization/nonStandard")
+public class NonStandardOptController extends com.engine.organization.web.NonStandardOptController {
+}
diff --git a/src/com/engine/organization/entity/map/JclOrgMap.java b/src/com/engine/organization/entity/map/JclOrgMap.java
new file mode 100644
index 00000000..e584c393
--- /dev/null
+++ b/src/com/engine/organization/entity/map/JclOrgMap.java
@@ -0,0 +1,37 @@
+package com.engine.organization.entity.map;
+
+import lombok.Data;
+
+import java.sql.Date;
+
+/**
+ * @author:dxfeng
+ * @createTime: 2022/09/01
+ * @version: 1.0
+ */
+@Data
+public class JclOrgMap {
+ Integer id;
+ Integer fType;
+ Integer fObjId;
+ Integer fEcId;
+ String uuid;
+ Integer fClass;
+ String fClassName;
+ String fNumber;
+ String fName;
+ Integer fLeader;
+ String fLeaderImg;
+ String fLeaderName;
+ Integer fLeaderJobId;
+ String fLeaderJob;
+ String fLeaderLv;
+ String fLeaderSt;
+ Integer fParentId;
+ Integer fObjParentId;
+ Integer fPlan;
+ Integer fOnJob;
+ Integer fIsVitual;
+ Date fDateBegin;
+ Date fDateEnd;
+}
diff --git a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.java b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.java
new file mode 100644
index 00000000..0ff44758
--- /dev/null
+++ b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.java
@@ -0,0 +1,12 @@
+package com.engine.organization.mapper.jclorgmap;
+
+import com.engine.organization.entity.map.JclOrgMap;
+
+/**
+ * @author:dxfeng
+ * @createTime: 2022/09/01
+ * @version: 1.0
+ */
+public interface JclOrgMapper {
+ int insertMap(JclOrgMap jclOrgMap);
+}
diff --git a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml
new file mode 100644
index 00000000..df066023
--- /dev/null
+++ b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ insert into jcl_org_map
+ (id, ftype, fobjid, fecid, uuid, fclass, fclassname, fnumber, fname, fleader, fleaderimg,
+ fleadername, fleaderjobid, fleaderjob, fleaderlv, fleaderst, fparentid, fobjparentid,
+ fplan, fonjob, fisvitual, fdatebegin, fdateend)
+ values (#{id}, #{fType}, #{fObjId}, #{fEcId}, #{uuid}, #{fClass}, #{fClassName}, #{fNumber}, #{fName},
+ #{fLeader}, #{fLeaderImg},
+ #{fLeaderName}, #{fLeaderJobId}, #{fLeaderJob}, #{fLeaderLv}, #{fLeaderSt}, #{fParentId},
+ #{fObjParentId},
+ #{fPlan}, #{fOnJob}, #{fIsVitual}, #{fDateBegin}, #{fDateEnd})
+
+
\ No newline at end of file
diff --git a/src/com/engine/organization/mapper/trigger/GroupTriggerMapper.java b/src/com/engine/organization/mapper/trigger/GroupTriggerMapper.java
new file mode 100644
index 00000000..1ddde191
--- /dev/null
+++ b/src/com/engine/organization/mapper/trigger/GroupTriggerMapper.java
@@ -0,0 +1,24 @@
+package com.engine.organization.mapper.trigger;
+
+
+import org.apache.ibatis.annotations.Param;
+
+import java.sql.Date;
+
+/**
+ * @Author dxfeng
+ * @Date 2022/8/30
+ * @Version V1.0
+ **/
+public interface GroupTriggerMapper {
+
+ int getInfoValue(@Param("id") Integer id);
+
+ Integer sumStaffNum(@Param("fdatebegin") Date fdatebegin);
+
+ Integer countHrmResource();
+
+ int deleteMap(@Param("fobjid") Integer fobjid, @Param("fdatebegin") Date fdatebegin);
+
+ int updateMap(@Param("fobjid") Integer fobjid, @Param("fdatebegin") Date fdatebegin, @Param("fdate") Date fdate);
+}
diff --git a/src/com/engine/organization/mapper/trigger/GroupTriggerMapper.xml b/src/com/engine/organization/mapper/trigger/GroupTriggerMapper.xml
new file mode 100644
index 00000000..d204f765
--- /dev/null
+++ b/src/com/engine/organization/mapper/trigger/GroupTriggerMapper.xml
@@ -0,0 +1,35 @@
+
+
+
+
+ update jcl_org_map
+ set fdateend=dateadd(day,-1, #{fdate})
+ where fobjid = #{fobjid}
+ and fdateend > #{fdatebegin}
+
+
+ delete
+ from jcl_org_map
+ where fobjid = 0
+ and fdatebegin = #{fdatebegin}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/com/engine/organization/mapper/trigger/HrmResourceTriggerMapper.java b/src/com/engine/organization/mapper/trigger/HrmResourceTriggerMapper.java
new file mode 100644
index 00000000..0125a2cd
--- /dev/null
+++ b/src/com/engine/organization/mapper/trigger/HrmResourceTriggerMapper.java
@@ -0,0 +1,17 @@
+package com.engine.organization.mapper.trigger;
+
+import com.alibaba.fastjson.JSONObject;
+import org.apache.ibatis.annotations.Param;
+import weaver.hrm.passwordprotection.domain.HrmResource;
+
+/**
+ * @author:dxfeng
+ * @createTime: 2022/09/01
+ * @version: 1.0
+ */
+public interface HrmResourceTriggerMapper {
+ HrmResource getHrmResource(@Param("id") Long id);
+
+ JSONObject getCusFieldDataById(@Param("fObjId") Integer fObjId);
+
+}
diff --git a/src/com/engine/organization/mapper/trigger/HrmResourceTriggerMapper.xml b/src/com/engine/organization/mapper/trigger/HrmResourceTriggerMapper.xml
new file mode 100644
index 00000000..37649663
--- /dev/null
+++ b/src/com/engine/organization/mapper/trigger/HrmResourceTriggerMapper.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/com/engine/organization/service/NonStandardOptService.java b/src/com/engine/organization/service/NonStandardOptService.java
new file mode 100644
index 00000000..1cabae50
--- /dev/null
+++ b/src/com/engine/organization/service/NonStandardOptService.java
@@ -0,0 +1,16 @@
+package com.engine.organization.service;
+
+/**
+ * @author:dxfeng
+ * @createTime: 2022/09/01
+ * @version: 1.0
+ */
+public interface NonStandardOptService {
+ /**
+ * 非标开关启用、禁用后操作
+ *
+ * @param method
+ * @param ids
+ */
+ void NonStandardOpt(String method, String ids);
+}
diff --git a/src/com/engine/organization/service/impl/GroupServiceImpl.java b/src/com/engine/organization/service/impl/GroupServiceImpl.java
index 59614035..6f215188 100644
--- a/src/com/engine/organization/service/impl/GroupServiceImpl.java
+++ b/src/com/engine/organization/service/impl/GroupServiceImpl.java
@@ -5,6 +5,7 @@ import com.api.browser.bean.SearchConditionItem;
import com.engine.core.impl.Service;
import com.engine.organization.entity.TopTab;
import com.engine.organization.service.GroupService;
+import com.engine.organization.thread.GroupTriggerRunnable;
import com.engine.organization.util.HasRightUtil;
import com.engine.organization.util.MenuBtn;
import com.engine.organization.util.OrganizationAssert;
@@ -45,7 +46,7 @@ public class GroupServiceImpl extends Service implements GroupService {
rs.executeQuery(sql);
int colcount = rs.getColCounts();
while (rs.next()) {
- Map row = new HashMap();
+ Map row = new HashMap<>();
for (int i = 1; i <= colcount; i++) {
row.put(rs.getColumnName(i).toLowerCase(), Util.null2String(rs.getString(i)));
}
@@ -81,7 +82,9 @@ public class GroupServiceImpl extends Service implements GroupService {
String companydesc = (String) params.get("companydesc");
String companyweb = (String) params.get("companyweb");
RecordSet rs = new RecordSet();
- return rs.executeUpdate("update HrmCompany set COMPANYNAME = ?,COMPANYDESC=?,COMPANYWEB=? where id = ?", companyname, companydesc, companyweb, id);
+ boolean executeUpdate = rs.executeUpdate("update HrmCompany set COMPANYNAME = ?,COMPANYDESC=?,COMPANYWEB=? where id = ?", companyname, companydesc, companyweb, id);
+ new Thread(new GroupTriggerRunnable(params)).start();
+ return executeUpdate;
}
diff --git a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java
index 0496ae13..c595b426 100644
--- a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java
+++ b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java
@@ -30,6 +30,9 @@ import com.engine.organization.mapper.jclimport.JclImportHistoryDetailMapper;
import com.engine.organization.mapper.jclimport.JclImportHistoryMapper;
import com.engine.organization.mapper.job.JobMapper;
import com.engine.organization.service.ImportCommonService;
+import com.engine.organization.thread.CompanyTriggerRunnable;
+import com.engine.organization.thread.DepartmentTriggerRunnable;
+import com.engine.organization.thread.JobTriggerRunnable;
import com.engine.organization.thread.OrganizationSyncEc;
import com.engine.organization.util.HasRightUtil;
import com.engine.organization.util.OrganizationAssert;
@@ -663,6 +666,8 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
map.put("uuid", recordInfo.getUuid());
ExtendInfoParams infoParams = ExtendInfoParams.builder().tableName("JCL_ORG_COMP").params(map).build();
MapperProxyFactory.getProxy(ExtMapper.class).insertTable(infoParams);
+ // 刷新组织架构图
+ new Thread(new CompanyTriggerRunnable(infoParams.getId())).start();
historyDetailPO.setOperateDetail("添加成功");
historyDetailPO.setStatus("1");
} else {
@@ -680,10 +685,13 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
}
if (checkRepeatNo(compNo, COMPANY_TYPE, companyId)) {
map.put("update_time", new Date());
- MapperProxyFactory.getProxy(ExtMapper.class).updateTable(ExtendInfoParams.builder().id(companyId).tableName("JCL_ORG_COMP").params(map).build());
map.put("id", companyId);
Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.COMPANY, OperateTypeEnum.UPDATE, map, false).sync();
if (isThrowError(syncMap)) {
+ map.remove("id");
+ MapperProxyFactory.getProxy(ExtMapper.class).updateTable(ExtendInfoParams.builder().id(companyId).tableName("JCL_ORG_COMP").params(map).build());
+ // 刷新组织架构图
+ new Thread(new CompanyTriggerRunnable(companyId)).start();
historyDetailPO.setOperateDetail("更新成功");
historyDetailPO.setStatus("1");
} else {
@@ -862,6 +870,8 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
map.put("uuid", recordInfo.getUuid());
ExtendInfoParams infoParams = ExtendInfoParams.builder().tableName("JCL_ORG_DEPT").params(map).build();
MapperProxyFactory.getProxy(ExtMapper.class).insertTable(infoParams);
+ // 刷新组织架构图
+ new Thread(new DepartmentTriggerRunnable(infoParams.getId())).start();
map.put("id", infoParams.getId());
historyDetailPO.setOperateDetail("添加成功");
historyDetailPO.setStatus("1");
@@ -880,10 +890,13 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
}
if (checkRepeatNo(deptNo, DEPARTMENT_TYPE, departmentId)) {
map.put("update_time", new Date());
- MapperProxyFactory.getProxy(ExtMapper.class).updateTable(ExtendInfoParams.builder().id(departmentId).tableName("JCL_ORG_DEPT").params(map).build());
map.put("id", departmentId);
Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.UPDATE, map, false).sync();
if (isThrowError(syncMap)) {
+ map.remove("id");
+ MapperProxyFactory.getProxy(ExtMapper.class).updateTable(ExtendInfoParams.builder().id(departmentId).tableName("JCL_ORG_DEPT").params(map).build());
+ // 刷新组织架构图
+ new Thread(new DepartmentTriggerRunnable(departmentId)).start();
historyDetailPO.setOperateDetail("更新成功");
historyDetailPO.setStatus("1");
} else {
@@ -1081,11 +1094,16 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
map.put("forbidden_tag", 0);
}
ExtendInfoParams infoParams = ExtendInfoParams.builder().tableName("JCL_ORG_JOB").params(map).build();
- MapperProxyFactory.getProxy(ExtMapper.class).insertTable(infoParams);
+
map.put("jobactivityid", JobServiceImpl.JOB_ACTIVITY_ID);
map.put("id", infoParams.getId());
Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.JOB, OperateTypeEnum.ADD, map, false).sync();
if (isThrowError(syncMap)) {
+ map.remove("id");
+ map.remove("jobactivityid");
+ MapperProxyFactory.getProxy(ExtMapper.class).insertTable(infoParams);
+ // 更新组织架构图
+ new Thread(new JobTriggerRunnable(jobId)).start();
historyDetailPO.setOperateDetail("添加成功");
historyDetailPO.setStatus("1");
} else {
@@ -1103,11 +1121,15 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
}
if (checkRepeatNo(jobNo, JOB_TYPE, jobId)) {
map.put("update_time", new Date());
- MapperProxyFactory.getProxy(ExtMapper.class).updateTable(ExtendInfoParams.builder().id(jobId).tableName("JCL_ORG_JOB").params(map).build());
map.put("jobactivityid", JobServiceImpl.JOB_ACTIVITY_ID);
map.put("id", jobId);
Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.JOB, OperateTypeEnum.UPDATE, map, false).sync();
if (isThrowError(syncMap)) {
+ map.remove("id");
+ map.remove("jobactivityid");
+ MapperProxyFactory.getProxy(ExtMapper.class).updateTable(ExtendInfoParams.builder().id(jobId).tableName("JCL_ORG_JOB").params(map).build());
+ // 更新组织架构图
+ new Thread(new JobTriggerRunnable(jobId)).start();
historyDetailPO.setOperateDetail("更新成功");
historyDetailPO.setStatus("1");
} else {
diff --git a/src/com/engine/organization/service/impl/NonStandardOptServiceImpl.java b/src/com/engine/organization/service/impl/NonStandardOptServiceImpl.java
new file mode 100644
index 00000000..6b952291
--- /dev/null
+++ b/src/com/engine/organization/service/impl/NonStandardOptServiceImpl.java
@@ -0,0 +1,83 @@
+package com.engine.organization.service.impl;
+
+import com.engine.core.impl.Service;
+import com.engine.organization.service.NonStandardOptService;
+import org.apache.commons.lang3.StringUtils;
+import weaver.conn.RecordSet;
+
+import java.util.Arrays;
+
+/**
+ * @author:dxfeng
+ * @createTime: 2022/09/01
+ * @version: 1.0
+ */
+public class NonStandardOptServiceImpl extends Service implements NonStandardOptService {
+ private static final String NON_STANDARD_NUM = "151";
+ private static final String START = "start";
+ private static final String STOP = "stop";
+
+ @Override
+ public void NonStandardOpt(String method, String ids) {
+ if (StringUtils.isAnyBlank(ids, method)) {
+ return;
+ }
+ // 判断是否包含151非标号
+ boolean contains = Arrays.asList(ids.split(",")).contains(NON_STANDARD_NUM);
+ if (contains) {
+ switch (method.toLowerCase()) {
+ case START:
+ Start();
+ break;
+ case STOP:
+ Stop();
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
+ private void Start() {
+ RecordSet rs = new RecordSet();
+ // 更新人员表系统字段
+ rs.executeUpdate("update hrm_formfield set isuse=1,ismand=1,allowhide=-1 where fieldname='sex'");
+ rs.executeUpdate("update hrm_formfield set isuse=1,ismand=0,allowhide=-1 where fieldname='departmentid'");
+ rs.executeUpdate("update hrm_formfield set isuse=1,ismand=0,allowhide=-1 where fieldname='jobtitle'");
+ rs.executeUpdate("update hrm_formfield set isuse=0,ismand=0,allowhide=-1 where fieldname='jobactivity'");
+ rs.executeUpdate("update hrm_formfield set isuse=0,ismand=0,allowhide=-1 where fieldname='joblevel'");
+ rs.executeUpdate("update hrm_formfield set isuse=0,ismand=0,allowhide=-1 where fieldname='jobcall'");
+ rs.executeUpdate("update hrm_formfield set isuse=0,ismand=0,allowhide=-1 where fieldname='jobGroupId'");
+ rs.executeUpdate("update hrm_formfield set isuse=0,ismand=0,allowhide=-1 where fieldname='jobactivitydesc'");
+ rs.executeUpdate("update hrm_formfield set isuse=1,ismand=0,allowhide=1,groupid=1,fieldorder=18 where fieldname='managerid'");
+ rs.executeUpdate("update hrm_formfield set isuse=1,ismand=0,allowhide=1,groupid=1,fieldorder=99 where fieldname='systemlanguage'");
+ rs.executeUpdate("update hrm_formfield set isuse=1,ismand=0,allowhide=1,groupid=1,fieldorder=21 where fieldname='assistantid'");
+
+ // 更新聚才林自定义字段
+ rs.executeUpdate("update cus_formfield set ISMAND = 1, ISUSE = 1 where SCOPE = 'HrmCustomFieldByInfoType' and SCOPEID = -1 and FIELDID in(100001,100002,100003)");
+ rs.executeUpdate("update cus_formfield set ISMAND = 0, ISUSE = 1 where scope = 'HrmCustomFieldByInfoType' and SCOPEID = 3 and FIELDID in(100005, 100006, 100007, 100008, 100009, 100010, 100004)");
+
+
+ }
+
+ private void Stop() {
+ RecordSet rs = new RecordSet();
+ // 更新人员表系统字段
+ rs.executeUpdate("update hrm_formfield set isuse=1,ismand=0,allowhide=1 where fieldname='sex'");
+ rs.executeUpdate("update hrm_formfield set isuse=1,ismand=1,allowhide=-1 where fieldname='departmentid'");
+ rs.executeUpdate("update hrm_formfield set isuse=1,ismand=1,allowhide=-1 where fieldname='jobtitle'");
+ rs.executeUpdate("update hrm_formfield set isuse=1,ismand=1,allowhide=1 where fieldname='jobactivity'");
+ rs.executeUpdate("update hrm_formfield set isuse=1,ismand=0,allowhide=1 where fieldname='joblevel'");
+ rs.executeUpdate("update hrm_formfield set isuse=1,ismand=0,allowhide=1 where fieldname='jobcall'");
+ rs.executeUpdate("update hrm_formfield set isuse=1,ismand=0,allowhide=1 where fieldname='jobGroupId'");
+ rs.executeUpdate("update hrm_formfield set isuse=1,ismand=0,allowhide=1 where fieldname='jobactivitydesc'");
+ rs.executeUpdate("update hrm_formfield set isuse=1,ismand=1,allowhide=-1,groupid=3,fieldorder=21 where fieldname='managerid'");
+ rs.executeUpdate("update hrm_formfield set isuse=1,ismand=0,allowhide=1,groupid=1,fieldorder=12 where fieldname='systemlanguage'");
+ rs.executeUpdate("update hrm_formfield set isuse=1,ismand=0,allowhide=1,groupid=3,fieldorder=22 where fieldname='assistantid'");
+
+ // 更新聚才林自定义字段
+ rs.executeUpdate("update cus_formfield set ISMAND = 0, ISUSE = 0 where SCOPE = 'HrmCustomFieldByInfoType' and SCOPEID = -1 and FIELDID in(100001,100002,100003)");
+ rs.executeUpdate("update cus_formfield set ISMAND = 0, ISUSE = 0 where scope = 'HrmCustomFieldByInfoType' and SCOPEID = 3 and FIELDID in(100005, 100006, 100007, 100008, 100009, 100010, 100004)");
+
+ }
+}
diff --git a/src/com/engine/organization/service/impl/SchemeServiceImpl.java b/src/com/engine/organization/service/impl/SchemeServiceImpl.java
index 5b5151f4..de09e89a 100644
--- a/src/com/engine/organization/service/impl/SchemeServiceImpl.java
+++ b/src/com/engine/organization/service/impl/SchemeServiceImpl.java
@@ -178,8 +178,8 @@ public class SchemeServiceImpl extends Service implements SchemeService {
*/
private String buildSqlWhere(Map params) {
DBType dbType = DBType.get(new RecordSet().getDBType());
- //String sqlWhere = " where delete_type ='0' ";
- String sqlWhere = " where 1 = 1 ";
+ String sqlWhere = " where delete_type ='0' ";
+ //String sqlWhere = " where 1 = 1 ";
String name = (String) params.get("schemeName");
if (StringUtils.isNotBlank(name)) {
sqlWhere += " AND scheme_name " + dbType.like(name);
diff --git a/src/com/engine/organization/thread/CompanyTriggerRunnable.java b/src/com/engine/organization/thread/CompanyTriggerRunnable.java
index f0a44859..e1532df4 100644
--- a/src/com/engine/organization/thread/CompanyTriggerRunnable.java
+++ b/src/com/engine/organization/thread/CompanyTriggerRunnable.java
@@ -2,10 +2,10 @@ package com.engine.organization.thread;
import com.alibaba.fastjson.JSONObject;
import com.engine.organization.entity.company.po.CompPO;
-import com.engine.organization.entity.extend.param.ExtendInfoParams;
import com.engine.organization.entity.logview.bo.FieldBaseEquator;
+import com.engine.organization.entity.map.JclOrgMap;
import com.engine.organization.mapper.comp.CompMapper;
-import com.engine.organization.mapper.extend.ExtMapper;
+import com.engine.organization.mapper.jclorgmap.JclOrgMapper;
import com.engine.organization.mapper.trigger.CompTriggerMapper;
import com.engine.organization.util.OrganizationDateUtil;
import com.engine.organization.util.db.MapperProxyFactory;
@@ -15,9 +15,7 @@ import weaver.hrm.passwordprotection.domain.HrmResource;
import java.sql.Date;
import java.util.Calendar;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
/**
* @author:dxfeng
@@ -58,86 +56,57 @@ public class CompanyTriggerRunnable implements Runnable {
}
// 判断
if (diffFields.contains("compName") || diffFields.contains("compPrincipal") || diffFields.contains("parentCompany") || diffFields.contains("forbiddenTag") || diffFields.contains("deleteType")) {
- Integer fType = 1;
+ JclOrgMap jclMap = new JclOrgMap();
+
+ jclMap.setFType(1);
// 更新逻辑
- Integer fObjId = newCompany.getId().intValue();
- Integer id = newCompany.getId().intValue();
- String uuid = newCompany.getUuid();
- String fNumber = newCompany.getCompNo();
- String fName = newCompany.getCompName();
- Integer fLeader = newCompany.getCompPrincipal();
- Integer fParentId = null == newCompany.getParentCompany() ? 0 : newCompany.getParentCompany().intValue();
- Integer fObjParentId = null == newCompany.getParentCompany() ? 0 : newCompany.getParentCompany().intValue();
- // delete
-
- Integer fEcId = getCompTriggerMapper().getEcCompanyIdByUuid(uuid);
-
-
- int fClass = 0;
- String fClassName = "行政维度";
- HrmResource hrmResourceById = getCompTriggerMapper().getHrmResourceById(fLeader);
-
- String fLeaderImg = "";
- String fLeaderName = "";
- Integer fLeaderJobId = 0;
+ jclMap.setFObjId(newCompany.getId().intValue());
+ jclMap.setId(newCompany.getId().intValue());
+ jclMap.setUuid(newCompany.getUuid());
+ jclMap.setFNumber(newCompany.getCompNo());
+ jclMap.setFName(newCompany.getCompName());
+ jclMap.setFLeader(newCompany.getCompPrincipal());
+ jclMap.setFParentId(null == newCompany.getParentCompany() ? 0 : newCompany.getParentCompany().intValue());
+ jclMap.setFObjParentId(null == newCompany.getParentCompany() ? 0 : newCompany.getParentCompany().intValue());
+ jclMap.setFEcId(getCompTriggerMapper().getEcCompanyIdByUuid(jclMap.getUuid()));
+
+
+ jclMap.setFClass(0);
+ jclMap.setFClassName("行政维度");
+ HrmResource hrmResourceById = getCompTriggerMapper().getHrmResourceById(jclMap.getFLeader());
+
+
if (null != hrmResourceById) {
- fLeaderImg = hrmResourceById.getMessagerurl();
- fLeaderName = hrmResourceById.getLastname();
- fLeaderJobId = hrmResourceById.getJobtitle();
+ jclMap.setFLeaderImg(hrmResourceById.getMessagerurl());
+ jclMap.setFLeaderName(hrmResourceById.getLastname());
+ jclMap.setFLeaderJobId(hrmResourceById.getJobtitle());
}
- String fLeaderJob = getCompTriggerMapper().getJobTitleMarkById(fLeaderJobId);
+ jclMap.setFLeaderJob(getCompTriggerMapper().getJobTitleMarkById(jclMap.getFLeaderJobId()));
- JSONObject cusFieldDataById = getCompTriggerMapper().getCusFieldDataById(fLeader);
- String fLeaderSt = "";
- String fLeaderLv = "";
+ JSONObject cusFieldDataById = getCompTriggerMapper().getCusFieldDataById(jclMap.getFLeader());
if (null != cusFieldDataById) {
- fLeaderSt = cusFieldDataById.getString("field100008");
- fLeaderLv = cusFieldDataById.getString("field100007");
+ jclMap.setFLeaderSt(cusFieldDataById.getString("field100008"));
+ jclMap.setFLeaderLv(cusFieldDataById.getString("field100007"));
}
- Date fDateBegin = new Date(System.currentTimeMillis());
- Date fDateEnd = new Date(OrganizationDateUtil.stringToDate("2099-12-31").getTime());
+ jclMap.setFDateBegin(new Date(System.currentTimeMillis()));
+ jclMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2099-12-31").getTime()));
- Integer fPlan = getCompTriggerMapper().sumStaffNum(fDateBegin, fObjId);
- Integer fonJob = getCompTriggerMapper().countHrmResource(fEcId);
- int fIsVitual = 0;
+ jclMap.setFPlan(getCompTriggerMapper().sumStaffNum(jclMap.getFDateBegin(), jclMap.getFObjId()));
+ jclMap.setFOnJob(getCompTriggerMapper().countHrmResource(jclMap.getFEcId()));
+ jclMap.setFIsVitual(0);
Calendar cal = Calendar.getInstance();
- cal.setTime(fDateBegin);
+ cal.setTime(jclMap.getFDateBegin());
Calendar calendar = DateUtil.addDay(cal, -1);
Date time = new Date(calendar.getTime().getTime());
- getCompTriggerMapper().deleteMap(fType, fObjId, fDateBegin);
- getCompTriggerMapper().updateMap(fType, fObjId, fDateBegin, time);
+ getCompTriggerMapper().deleteMap(jclMap.getFType(), jclMap.getFObjId(), jclMap.getFDateBegin());
+ getCompTriggerMapper().updateMap(jclMap.getFType(), jclMap.getFObjId(), jclMap.getFDateBegin(), time);
if (1 != newCompany.getDeleteType() && 1 != newCompany.getForbiddenTag()) {
- Map params = new HashMap<>();
- params.put("id", id);
- params.put("ftype", fType);
- params.put("fobjid", fObjId);
- params.put("fecid", fEcId);
- params.put("uuid", uuid);
- params.put("fclass", fClass);
- params.put("fclassname", fClassName);
- params.put("fnumber", fNumber);
- params.put("fname", fName);
- params.put("fleader", fLeader);
- params.put("fleaderimg", fLeaderImg);
- params.put("fleadername", fLeaderName);
- params.put("fleaderjobid", fLeaderJobId);
- params.put("fleaderjob", fLeaderJob);
- params.put("fleaderlv", fLeaderLv);
- params.put("fleaderst", fLeaderSt);
- params.put("fparentid", fParentId);
- params.put("fobjparentid", fObjParentId);
- params.put("fplan", null == fPlan ? 0 : fPlan);
- params.put("fonjob", fonJob);
- params.put("fisvitual", fIsVitual);
- params.put("fdatebegin", fDateBegin);
- params.put("fdateend", fDateEnd);
- ExtendInfoParams infoParams = ExtendInfoParams.builder().tableName("jcl_org_map").params(params).build();
- MapperProxyFactory.getProxy(ExtMapper.class).insertTable(infoParams);
+ MapperProxyFactory.getProxy(JclOrgMapper.class).insertMap(jclMap);
}
diff --git a/src/com/engine/organization/thread/DepartmentTriggerRunnable.java b/src/com/engine/organization/thread/DepartmentTriggerRunnable.java
index 5dbb1934..293aefbf 100644
--- a/src/com/engine/organization/thread/DepartmentTriggerRunnable.java
+++ b/src/com/engine/organization/thread/DepartmentTriggerRunnable.java
@@ -2,10 +2,10 @@ package com.engine.organization.thread;
import com.alibaba.fastjson.JSONObject;
import com.engine.organization.entity.department.po.DepartmentPO;
-import com.engine.organization.entity.extend.param.ExtendInfoParams;
import com.engine.organization.entity.logview.bo.FieldBaseEquator;
+import com.engine.organization.entity.map.JclOrgMap;
import com.engine.organization.mapper.department.DepartmentMapper;
-import com.engine.organization.mapper.extend.ExtMapper;
+import com.engine.organization.mapper.jclorgmap.JclOrgMapper;
import com.engine.organization.mapper.trigger.CompTriggerMapper;
import com.engine.organization.mapper.trigger.DepartmentTriggerMapper;
import com.engine.organization.util.OrganizationDateUtil;
@@ -16,9 +16,7 @@ import weaver.hrm.passwordprotection.domain.HrmResource;
import java.sql.Date;
import java.util.Calendar;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
/**
* @author:dxfeng
@@ -63,87 +61,57 @@ public class DepartmentTriggerRunnable implements Runnable {
}
// 判断
if (diffFields.contains("deptName") || diffFields.contains("deptPrincipal") || diffFields.contains("parentComp") || diffFields.contains("parentDept") || diffFields.contains("forbiddenTag") || diffFields.contains("deleteType")) {
- Integer fType = 2;
+ JclOrgMap jclMap = new JclOrgMap();
+ jclMap.setFType(2);
int st = 100000000;
// 更新逻辑
- Integer fObjId = newDepartment.getId().intValue();
- Integer id = newDepartment.getId().intValue() + st;
- String uuid = newDepartment.getUuid();
- String fNumber = newDepartment.getDeptNo();
- String fName = newDepartment.getDeptName();
- Integer fLeader = null == newDepartment.getDeptPrincipal() ? null : newDepartment.getDeptPrincipal().intValue();
- Long fParentId = null == newDepartment.getParentDept() ? newDepartment.getParentComp() : newDepartment.getParentDept() + st;
- Long fObjParentId = null == newDepartment.getParentDept() ? newDepartment.getParentComp() : newDepartment.getParentDept();
- // delete
-
- Integer fEcId = getDepartmentTriggerMapper().getEcDepartmentIdByUuid(uuid);
-
-
- int fClass = 0;
- String fClassName = "行政维度";
- HrmResource hrmResourceById = getCompTriggerMapper().getHrmResourceById(fLeader);
-
- String fLeaderImg = "";
- String fLeaderName = "";
- Integer fLeaderJobId = null;
+ jclMap.setFObjId(newDepartment.getId().intValue());
+ jclMap.setId(newDepartment.getId().intValue() + st);
+ jclMap.setUuid(newDepartment.getUuid());
+ jclMap.setFNumber(newDepartment.getDeptNo());
+ jclMap.setFName(newDepartment.getDeptName());
+ jclMap.setFLeader(null == newDepartment.getDeptPrincipal() ? null : newDepartment.getDeptPrincipal().intValue());
+ jclMap.setFParentId(null == newDepartment.getParentDept() ? newDepartment.getParentComp().intValue() : newDepartment.getParentDept().intValue() + st);
+ jclMap.setFObjParentId(null == newDepartment.getParentDept() ? newDepartment.getParentComp().intValue() : newDepartment.getParentDept().intValue());
+
+ jclMap.setFEcId(getDepartmentTriggerMapper().getEcDepartmentIdByUuid(jclMap.getUuid()));
+
+
+ jclMap.setFClass(0);
+ jclMap.setFClassName("行政维度");
+ HrmResource hrmResourceById = getCompTriggerMapper().getHrmResourceById(jclMap.getFLeader());
+
+
if (null != hrmResourceById) {
- fLeaderImg = hrmResourceById.getMessagerurl();
- fLeaderName = hrmResourceById.getLastname();
- fLeaderJobId = hrmResourceById.getJobtitle();
+ jclMap.setFLeaderImg(hrmResourceById.getMessagerurl());
+ jclMap.setFLeaderName(hrmResourceById.getLastname());
+ jclMap.setFLeaderJobId(hrmResourceById.getJobtitle());
}
- String fLeaderJob = getCompTriggerMapper().getJobTitleMarkById(fLeaderJobId);
+ jclMap.setFLeaderJob(getCompTriggerMapper().getJobTitleMarkById(jclMap.getFLeaderJobId()));
- JSONObject cusFieldDataById = getCompTriggerMapper().getCusFieldDataById(fLeader);
- String fLeaderSt = "";
- String fLeaderLv = "";
+ JSONObject cusFieldDataById = getCompTriggerMapper().getCusFieldDataById(jclMap.getFLeader());
if (null != cusFieldDataById) {
- fLeaderSt = cusFieldDataById.getString("field100008");
- fLeaderLv = cusFieldDataById.getString("field100007");
+ jclMap.setFLeaderSt(cusFieldDataById.getString("field100008"));
+ jclMap.setFLeaderLv(cusFieldDataById.getString("field100007"));
}
- Date fDateBegin = new Date(System.currentTimeMillis());
- Date fDateEnd = new Date(OrganizationDateUtil.stringToDate("2099-12-31").getTime());
+ jclMap.setFDateBegin(new Date(System.currentTimeMillis()));
+ jclMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2099-12-31").getTime()));
- Integer fPlan = getDepartmentTriggerMapper().sumStaffNum(fDateBegin, fObjId);
- Integer fonJob = getDepartmentTriggerMapper().countHrmResource(fEcId);
- int fIsVitual = 0;
+ jclMap.setFPlan(getDepartmentTriggerMapper().sumStaffNum(jclMap.getFDateBegin(), jclMap.getFObjId()));
+ jclMap.setFOnJob(getDepartmentTriggerMapper().countHrmResource(jclMap.getFEcId()));
+ jclMap.setFIsVitual(0);
Calendar cal = Calendar.getInstance();
- cal.setTime(fDateBegin);
+ cal.setTime(jclMap.getFDateBegin());
Calendar calendar = DateUtil.addDay(cal, -1);
Date time = new Date(calendar.getTime().getTime());
- getCompTriggerMapper().deleteMap(fType, fObjId, fDateBegin);
- getCompTriggerMapper().updateMap(fType, fObjId, fDateBegin, time);
-
+ getCompTriggerMapper().deleteMap(jclMap.getFType(), jclMap.getFObjId(), jclMap.getFDateBegin());
+ getCompTriggerMapper().updateMap(jclMap.getFType(), jclMap.getFObjId(), jclMap.getFDateBegin(), time);
if (1 != newDepartment.getDeleteType() && 1 != newDepartment.getForbiddenTag()) {
- Map params = new HashMap<>();
- params.put("id", id);
- params.put("ftype", fType);
- params.put("fobjid", fObjId);
- params.put("fecid", fEcId);
- params.put("uuid", uuid);
- params.put("fclass", fClass);
- params.put("fclassname", fClassName);
- params.put("fnumber", fNumber);
- params.put("fname", fName);
- params.put("fleader", fLeader);
- params.put("fleaderimg", fLeaderImg);
- params.put("fleadername", fLeaderName);
- params.put("fleaderjobid", fLeaderJobId);
- params.put("fleaderjob", fLeaderJob);
- params.put("fleaderlv", fLeaderLv);
- params.put("fleaderst", fLeaderSt);
- params.put("fparentid", fParentId);
- params.put("fobjparentid", fObjParentId);
- params.put("fplan", null == fPlan ? 0 : fPlan);
- params.put("fonjob", fonJob);
- params.put("fisvitual", fIsVitual);
- params.put("fdatebegin", fDateBegin);
- params.put("fdateend", fDateEnd);
- ExtendInfoParams infoParams = ExtendInfoParams.builder().tableName("jcl_org_map").params(params).build();
- MapperProxyFactory.getProxy(ExtMapper.class).insertTable(infoParams);
+ MapperProxyFactory.getProxy(JclOrgMapper.class).insertMap(jclMap);
}
}
}
diff --git a/src/com/engine/organization/thread/GroupTriggerRunnable.java b/src/com/engine/organization/thread/GroupTriggerRunnable.java
new file mode 100644
index 00000000..6c264d94
--- /dev/null
+++ b/src/com/engine/organization/thread/GroupTriggerRunnable.java
@@ -0,0 +1,91 @@
+package com.engine.organization.thread;
+
+import com.alibaba.fastjson.JSONObject;
+import com.engine.organization.entity.map.JclOrgMap;
+import com.engine.organization.mapper.jclorgmap.JclOrgMapper;
+import com.engine.organization.mapper.trigger.CompTriggerMapper;
+import com.engine.organization.mapper.trigger.GroupTriggerMapper;
+import com.engine.organization.util.OrganizationDateUtil;
+import com.engine.organization.util.db.MapperProxyFactory;
+import org.apache.commons.lang3.StringUtils;
+import weaver.common.DateUtil;
+import weaver.general.Util;
+import weaver.hrm.passwordprotection.domain.HrmResource;
+
+import java.sql.Date;
+import java.util.Calendar;
+import java.util.Map;
+
+/**
+ * @author:dxfeng
+ * @createTime: 2022/08/30
+ * @version: 1.0
+ */
+public class GroupTriggerRunnable implements Runnable {
+ Map params;
+
+ private CompTriggerMapper getCompTriggerMapper() {
+ return MapperProxyFactory.getProxy(CompTriggerMapper.class);
+ }
+
+ private GroupTriggerMapper getGroupTriggerMapper() {
+ return MapperProxyFactory.getProxy(GroupTriggerMapper.class);
+ }
+
+ public GroupTriggerRunnable(Map params) {
+ this.params = params;
+ }
+
+
+ @Override
+ public void run() {
+ JclOrgMap jclOrgMap = new JclOrgMap();
+ //id = 0;
+ jclOrgMap.setId(0);
+ //ftype = 0;
+ jclOrgMap.setFType(0);
+ jclOrgMap.setFObjId(0);
+ jclOrgMap.setFEcId(parseString2Int(params.get("id")));
+ jclOrgMap.setUuid(Util.null2String(params.get("uuid")));
+ jclOrgMap.setFNumber("00");
+ jclOrgMap.setFName(Util.null2String(params.get("companyname")));
+ jclOrgMap.setFClass(0);
+ jclOrgMap.setFClassName("行政维度");
+ jclOrgMap.setFLeader(getGroupTriggerMapper().getInfoValue(1));
+ HrmResource hrmResourceById = getCompTriggerMapper().getHrmResourceById(jclOrgMap.getFLeader());
+ if (null != hrmResourceById) {
+ jclOrgMap.setFLeaderImg(hrmResourceById.getMessagerurl());
+ jclOrgMap.setFLeaderName(hrmResourceById.getLastname());
+ jclOrgMap.setFLeaderJobId(hrmResourceById.getJobtitle());
+ }
+ jclOrgMap.setFLeaderJob(getCompTriggerMapper().getJobTitleMarkById(jclOrgMap.getFLeaderJobId()));
+ JSONObject cusFieldDataById = getCompTriggerMapper().getCusFieldDataById(jclOrgMap.getFLeader());
+ if (null != cusFieldDataById) {
+ jclOrgMap.setFLeaderSt(cusFieldDataById.getString("field100008"));
+ jclOrgMap.setFLeaderLv(cusFieldDataById.getString("field100007"));
+ }
+ jclOrgMap.setFParentId(1);
+ jclOrgMap.setFObjParentId(0);
+ jclOrgMap.setFDateBegin(new Date(System.currentTimeMillis()));
+ jclOrgMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2099-12-31").getTime()));
+ jclOrgMap.setFPlan(getGroupTriggerMapper().sumStaffNum(jclOrgMap.getFDateBegin()));
+ jclOrgMap.setFOnJob(getGroupTriggerMapper().countHrmResource());
+ jclOrgMap.setFIsVitual(0);
+ Calendar cal = Calendar.getInstance();
+ cal.setTime(jclOrgMap.getFDateBegin());
+ Calendar calendar = DateUtil.addDay(cal, -1);
+ Date time = new Date(calendar.getTime().getTime());
+ getGroupTriggerMapper().deleteMap(0, jclOrgMap.getFDateBegin());
+ getGroupTriggerMapper().updateMap(0, jclOrgMap.getFDateBegin(), time);
+
+ MapperProxyFactory.getProxy(JclOrgMapper.class).insertMap(jclOrgMap);
+ }
+
+ private Integer parseString2Int(Object args) {
+ String s = Util.null2String(args);
+ if (StringUtils.isBlank(s)) {
+ return null;
+ }
+ return Integer.parseInt(s);
+ }
+}
diff --git a/src/com/engine/organization/thread/HrmResourceTriggerRunnable.java b/src/com/engine/organization/thread/HrmResourceTriggerRunnable.java
new file mode 100644
index 00000000..6ea82ab4
--- /dev/null
+++ b/src/com/engine/organization/thread/HrmResourceTriggerRunnable.java
@@ -0,0 +1,88 @@
+package com.engine.organization.thread;
+
+import com.alibaba.fastjson.JSONObject;
+import com.engine.organization.entity.map.JclOrgMap;
+import com.engine.organization.mapper.jclorgmap.JclOrgMapper;
+import com.engine.organization.mapper.trigger.CompTriggerMapper;
+import com.engine.organization.mapper.trigger.HrmResourceTriggerMapper;
+import com.engine.organization.util.OrganizationDateUtil;
+import com.engine.organization.util.db.MapperProxyFactory;
+import org.apache.commons.lang.StringUtils;
+import weaver.common.DateUtil;
+import weaver.hrm.passwordprotection.domain.HrmResource;
+
+import java.sql.Date;
+import java.util.Calendar;
+
+/**
+ * @author:dxfeng
+ * @createTime: 2022/09/01
+ * @version: 1.0
+ */
+public class HrmResourceTriggerRunnable implements Runnable {
+ Long userId;
+
+ private CompTriggerMapper getCompTriggerMapper() {
+ return MapperProxyFactory.getProxy(CompTriggerMapper.class);
+ }
+
+ private HrmResourceTriggerMapper getHrmResourceTriggerMapper() {
+ return MapperProxyFactory.getProxy(HrmResourceTriggerMapper.class);
+ }
+
+ public HrmResourceTriggerRunnable(Long id) {
+ this.userId = id;
+ }
+
+ @Override
+ public void run() {
+ int st = 100000000;
+ int sj = 200000000;
+ int sk = 300000000;
+ Integer delete = null;
+ JclOrgMap jclMap = new JclOrgMap();
+ jclMap.setFType(4);
+ // 查询当前人员信息数据
+ HrmResource hrmResource = getHrmResourceTriggerMapper().getHrmResource(userId);
+ if (null != hrmResource) {
+ jclMap.setFObjId(hrmResource.getId());
+ jclMap.setId(hrmResource.getId() + sk);
+ jclMap.setFNumber(hrmResource.getWorkcode());
+ jclMap.setFName(hrmResource.getLastname());
+ delete = hrmResource.getStatus() <= 3 ? 0 : 1;
+ jclMap.setFLeaderImg(hrmResource.getMessagerurl());
+ jclMap.setFLeaderName(hrmResource.getLastname());
+ jclMap.setFLeaderJobId(hrmResource.getJobtitle());
+ JSONObject cusFieldDataById = getHrmResourceTriggerMapper().getCusFieldDataById(jclMap.getFObjId());
+ if (null != cusFieldDataById) {
+ String field100002 = cusFieldDataById.getString("field100002");
+ if (StringUtils.isNotBlank(field100002)) {
+ int index = field100002.indexOf('_');
+ jclMap.setFObjParentId(Integer.parseInt(field100002.substring(index + 1)));
+ jclMap.setFParentId(jclMap.getFObjParentId() + sj);
+ }
+ jclMap.setFLeaderSt(cusFieldDataById.getString("field100008"));
+ jclMap.setFLeaderLv(cusFieldDataById.getString("field100007"));
+ }
+ jclMap.setFClass(0);
+ jclMap.setFClassName("行政维度");
+ jclMap.setFLeaderJob(getCompTriggerMapper().getJobTitleMarkById(jclMap.getFLeaderJobId()));
+ jclMap.setFDateBegin(new Date(System.currentTimeMillis()));
+ jclMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2099-12-31").getTime()));
+ jclMap.setFIsVitual(0);
+
+ Calendar cal = Calendar.getInstance();
+ cal.setTime(jclMap.getFDateBegin());
+ Calendar calendar = DateUtil.addDay(cal, -1);
+ Date time = new Date(calendar.getTime().getTime());
+
+ getCompTriggerMapper().deleteMap(jclMap.getFType(), jclMap.getFObjId(), jclMap.getFDateBegin());
+ getCompTriggerMapper().updateMap(jclMap.getFType(), jclMap.getFObjId(), jclMap.getFDateBegin(), time);
+ if (0 == delete) {
+ MapperProxyFactory.getProxy(JclOrgMapper.class).insertMap(jclMap);
+ }
+ }
+
+
+ }
+}
diff --git a/src/com/engine/organization/thread/JobTriggerRunnable.java b/src/com/engine/organization/thread/JobTriggerRunnable.java
index 9428bfdb..e2448159 100644
--- a/src/com/engine/organization/thread/JobTriggerRunnable.java
+++ b/src/com/engine/organization/thread/JobTriggerRunnable.java
@@ -1,9 +1,9 @@
package com.engine.organization.thread;
-import com.engine.organization.entity.extend.param.ExtendInfoParams;
import com.engine.organization.entity.job.po.JobPO;
import com.engine.organization.entity.logview.bo.FieldBaseEquator;
-import com.engine.organization.mapper.extend.ExtMapper;
+import com.engine.organization.entity.map.JclOrgMap;
+import com.engine.organization.mapper.jclorgmap.JclOrgMapper;
import com.engine.organization.mapper.job.JobMapper;
import com.engine.organization.mapper.trigger.CompTriggerMapper;
import com.engine.organization.mapper.trigger.JobTriggerMapper;
@@ -14,9 +14,7 @@ import weaver.common.DateUtil;
import java.sql.Date;
import java.util.Calendar;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
/**
* @author:dxfeng
@@ -61,80 +59,40 @@ public class JobTriggerRunnable implements Runnable {
}
// 判断
if (diffFields.contains("jobName") || diffFields.contains("parentDept") || diffFields.contains("parentJob") || diffFields.contains("forbiddenTag") || diffFields.contains("deleteType")) {
+ JclOrgMap jclMap = new JclOrgMap();
int st = 100000000;
int sj = 200000000;
- Integer fType = 3;
+ jclMap.setFType(3);
// 更新逻辑
- Integer fObjId = newJob.getId().intValue();
- Integer id = newJob.getId().intValue() + sj;
- String uuid = "";
- String fNumber = newJob.getJobNo();
- String fName = newJob.getJobName();
- Integer fLeader = null;
- Integer fParentId = null == newJob.getParentJob() ? newJob.getParentDept().intValue() + st : newJob.getParentJob().intValue() + sj;
- Integer fObjParentId = null == newJob.getParentJob() ? newJob.getParentDept().intValue() : newJob.getParentJob().intValue();
+ jclMap.setFObjId(newJob.getId().intValue());
+ jclMap.setId(newJob.getId().intValue() + sj);
+ jclMap.setFNumber(newJob.getJobNo());
+ jclMap.setFName(newJob.getJobName());
+ jclMap.setFParentId(null == newJob.getParentJob() ? newJob.getParentDept().intValue() + st : newJob.getParentJob().intValue() + sj);
+ jclMap.setFObjParentId(null == newJob.getParentJob() ? newJob.getParentDept().intValue() : newJob.getParentJob().intValue());
Integer parentdept = newJob.getParentDept().intValue();
- // delete
- Integer fEcId = null;
+ jclMap.setFClass(0);
+ jclMap.setFClassName("行政维度");
+ jclMap.setFDateBegin(new Date(System.currentTimeMillis()));
+ jclMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2099-12-31").getTime()));
- int fClass = 0;
- String fClassName = "行政维度";
- String fLeaderImg = "";
- String fLeaderName = "";
- Integer fLeaderJobId = 0;
-
-
- String fLeaderJob = "";
-
- String fLeaderSt = "";
- String fLeaderLv = "";
-
- Date fDateBegin = new Date(System.currentTimeMillis());
- Date fDateEnd = new Date(OrganizationDateUtil.stringToDate("2099-12-31").getTime());
-
-
- Integer fPlan = getJobTriggerMapper().sumStaffNum(fDateBegin, fObjId);
- Integer fonJob = getJobTriggerMapper().countHrmResource(parentdept, fName);
- int fIsVitual = 0;
+ jclMap.setFPlan(getJobTriggerMapper().sumStaffNum(jclMap.getFDateBegin(), jclMap.getFObjId()));
+ jclMap.setFOnJob(getJobTriggerMapper().countHrmResource(parentdept, jclMap.getFName()));
+ jclMap.setFIsVitual(0);
Calendar cal = Calendar.getInstance();
- cal.setTime(fDateBegin);
+ cal.setTime(jclMap.getFDateBegin());
Calendar calendar = DateUtil.addDay(cal, -1);
Date time = new Date(calendar.getTime().getTime());
- getCompTriggerMapper().deleteMap(fType, fObjId, fDateBegin);
- getCompTriggerMapper().updateMap(fType, fObjId, fDateBegin, time);
+ getCompTriggerMapper().deleteMap(jclMap.getFType(), jclMap.getFObjId(), jclMap.getFDateBegin());
+ getCompTriggerMapper().updateMap(jclMap.getFType(), jclMap.getFObjId(), jclMap.getFDateBegin(), time);
if (1 != newJob.getDeleteType() && 1 != newJob.getForbiddenTag()) {
- Map params = new HashMap<>();
- params.put("id", id);
- params.put("ftype", fType);
- params.put("fobjid", fObjId);
- params.put("fecid", fEcId);
- params.put("uuid", uuid);
- params.put("fclass", fClass);
- params.put("fclassname", fClassName);
- params.put("fnumber", fNumber);
- params.put("fname", fName);
- params.put("fleader", fLeader);
- params.put("fleaderimg", fLeaderImg);
- params.put("fleadername", fLeaderName);
- params.put("fleaderjobid", fLeaderJobId);
- params.put("fleaderjob", fLeaderJob);
- params.put("fleaderlv", fLeaderLv);
- params.put("fleaderst", fLeaderSt);
- params.put("fparentid", fParentId);
- params.put("fobjparentid", fObjParentId);
- params.put("fplan", null == fPlan ? 0 : fPlan);
- params.put("fonjob", fonJob);
- params.put("fisvitual", fIsVitual);
- params.put("fdatebegin", fDateBegin);
- params.put("fdateend", fDateEnd);
- ExtendInfoParams infoParams = ExtendInfoParams.builder().tableName("jcl_org_map").params(params).build();
- MapperProxyFactory.getProxy(ExtMapper.class).insertTable(infoParams);
+ MapperProxyFactory.getProxy(JclOrgMapper.class).insertMap(jclMap);
}
diff --git a/src/com/engine/organization/trigger/cusfielddata/CusFieldDataTrigger.java b/src/com/engine/organization/trigger/cusfielddata/CusFieldDataTrigger.java
index 714efe42..18a34cd9 100644
--- a/src/com/engine/organization/trigger/cusfielddata/CusFieldDataTrigger.java
+++ b/src/com/engine/organization/trigger/cusfielddata/CusFieldDataTrigger.java
@@ -19,6 +19,7 @@ import com.engine.organization.mapper.scheme.GradeMapper;
import com.engine.organization.mapper.scheme.LevelMapper;
import com.engine.organization.mapper.scheme.SchemeMapper;
import com.engine.organization.mapper.sequence.SequenceMapper;
+import com.engine.organization.thread.HrmResourceTriggerRunnable;
import com.engine.organization.util.db.MapperProxyFactory;
import org.apache.commons.lang3.StringUtils;
@@ -118,5 +119,7 @@ public class CusFieldDataTrigger {
if (updateFlag) {
MapperProxyFactory.getProxy(SystemDataMapper.class).updateCusFieldData(directionData);
}
+ // 刷新组织结构图
+ new Thread(new HrmResourceTriggerRunnable(id)).start();
}
}
diff --git a/src/com/engine/organization/util/saveimport/hrmimport/HrmImportProcessE9.java b/src/com/engine/organization/util/saveimport/hrmimport/HrmImportProcessE9.java
index c8f6dbd4..e9b0b219 100644
--- a/src/com/engine/organization/util/saveimport/hrmimport/HrmImportProcessE9.java
+++ b/src/com/engine/organization/util/saveimport/hrmimport/HrmImportProcessE9.java
@@ -13,6 +13,7 @@ import com.engine.hrm.util.face.bean.CheckItemBean;
import com.engine.organization.entity.jclimport.po.JclImportHistoryDetailPO;
import com.engine.organization.mapper.jclimport.JclImportHistoryDetailMapper;
import com.engine.organization.mapper.jclimport.JclImportHistoryMapper;
+import com.engine.organization.thread.HrmResourceTriggerRunnable;
import com.engine.organization.trigger.cusfielddata.CusFieldDataTrigger;
import com.engine.organization.util.db.MapperProxyFactory;
import com.weaver.integration.ldap.sync.oa.OaSync;
@@ -817,6 +818,8 @@ public class HrmImportProcessE9 extends BaseBean {
HrmFaceCheckManager.sync(id + "", HrmFaceCheckManager.getOptInsert(), "hrm_e9_import_resource", HrmFaceCheckManager.getOaResource());
new HrmDateCheck().calWorkInfo("" + id);
+ // 刷新组织结构图
+ new Thread(new HrmResourceTriggerRunnable((long) id)).start();
}
@@ -1484,6 +1487,8 @@ public class HrmImportProcessE9 extends BaseBean {
} else {
resultList.add(createLog(vo, "更新", "失败", "系统错误,请联系管理员"));
}
+ // 刷新组织结构图
+ new Thread(new HrmResourceTriggerRunnable((long) keyMap.get(key))).start();
}
} catch (Exception e) {
//数据异常
diff --git a/src/com/engine/organization/web/NonStandardOptController.java b/src/com/engine/organization/web/NonStandardOptController.java
new file mode 100644
index 00000000..1395f38a
--- /dev/null
+++ b/src/com/engine/organization/web/NonStandardOptController.java
@@ -0,0 +1,46 @@
+package com.engine.organization.web;
+
+import com.engine.common.util.ParamUtil;
+import com.engine.common.util.ServiceUtil;
+import com.engine.organization.util.response.ReturnResult;
+import com.engine.organization.wrapper.NonStandardOptWrapper;
+import weaver.general.Util;
+import weaver.hrm.HrmUserVarify;
+import weaver.hrm.User;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import java.util.Map;
+
+/**
+ * @author:dxfeng
+ * @createTime: 2022/09/01
+ * @version: 1.0
+ */
+public class NonStandardOptController {
+ public NonStandardOptWrapper getNonStandardOptWrapper(User user) {
+ return ServiceUtil.getService(NonStandardOptWrapper.class, user);
+ }
+
+ @POST
+ @Path("/operation")
+ @Produces(MediaType.APPLICATION_JSON)
+ public ReturnResult operation(@Context HttpServletRequest request, @Context HttpServletResponse response) {
+ try {
+ User user = HrmUserVarify.getUser(request, response);
+ Map map = ParamUtil.request2Map(request);
+ String method = Util.null2String(map.get("method"));
+ String ids = Util.null2String(map.get("ids"));
+ getNonStandardOptWrapper(user).NonStandardOpt(method, ids);
+ return ReturnResult.successed();
+ } catch (Exception e) {
+ return ReturnResult.exceptionHandle(e);
+ }
+ }
+
+}
diff --git a/src/com/engine/organization/wrapper/NonStandardOptWrapper.java b/src/com/engine/organization/wrapper/NonStandardOptWrapper.java
new file mode 100644
index 00000000..99086c55
--- /dev/null
+++ b/src/com/engine/organization/wrapper/NonStandardOptWrapper.java
@@ -0,0 +1,22 @@
+package com.engine.organization.wrapper;
+
+import com.engine.common.util.ServiceUtil;
+import com.engine.core.impl.Service;
+import com.engine.organization.service.NonStandardOptService;
+import com.engine.organization.service.impl.NonStandardOptServiceImpl;
+import weaver.hrm.User;
+
+/**
+ * @author:dxfeng
+ * @createTime: 2022/09/01
+ * @version: 1.0
+ */
+public class NonStandardOptWrapper extends Service {
+ private NonStandardOptService getNonStandardOptService(User user) {
+ return ServiceUtil.getService(NonStandardOptServiceImpl.class, user);
+ }
+
+ public void NonStandardOpt(String method, String ids) {
+ getNonStandardOptService(user).NonStandardOpt(method, ids);
+ }
+}