Merge pull request '组织架构图相关BUG修复' (#26) from feature/dxf into develop

Reviewed-on: #26
pull/30/head
dxfeng 3 years ago
commit 946a0006b4

@ -73,7 +73,7 @@ INSERT INTO datashowparam (MAINID, FIELDNAME, SEARCHNAME, TRANSQL, ISSHOWNAME, d
INSERT INTO datashowparam (MAINID, FIELDNAME, SEARCHNAME, TRANSQL, ISSHOWNAME, dsporder, uuid, width) VALUES(datashowset_id, '名称', 'grade_name', '', 1, 2, SYS_GUID(), NULL);
INSERT INTO datashowparam (MAINID, FIELDNAME, SEARCHNAME, TRANSQL, ISSHOWNAME, dsporder, uuid, width) VALUES(datashowset_id, '描述方案', 'description', '', 0, 3, SYS_GUID(), NULL);
INSERT INTO datashowparam (MAINID, FIELDNAME, SEARCHNAME, TRANSQL, ISSHOWNAME, dsporder, uuid, width) VALUES(datashowset_id, '等级方案', 'scheme_id', 'select scheme_name from jcl_org_scheme where id={?currentvalue}', 0, 4, SYS_GUID(), NULL);
INSERT INTO datashowparam (MAINID, FIELDNAME, SEARCHNAME, TRANSQL, ISSHOWNAME, dsporder, uuid, width) VALUES(datashowset_id, '职等', 'level_id', 'select group_concat(level_name) from jcl_org_level where id in ( {?currentvalue})', 0, 5, SYS_GUID(), NULL);
INSERT INTO datashowparam (MAINID, FIELDNAME, SEARCHNAME, TRANSQL, ISSHOWNAME, dsporder, uuid, width) VALUES(datashowset_id, '职等', 'level_id', 'select wm_concat(to_char(level_name)) from jcl_org_level where id in ( {?currentvalue})', 0, 5, SYS_GUID(), NULL);
INSERT INTO datasearchparam (MAINID, FIELDNAME, SEARCHNAME, FIELDTYPE, WOKFLOWFIELDNAME, dsporder, uuid, isshowfield) VALUES(datashowset_id, '编号', 'grade_no', '2', '', 1, SYS_GUID(), '');
INSERT INTO datasearchparam (MAINID, FIELDNAME, SEARCHNAME, FIELDTYPE, WOKFLOWFIELDNAME, dsporder, uuid, isshowfield) VALUES(datashowset_id, '名称', 'grade_name', '2', '', 2, SYS_GUID(), '');

@ -1215,4 +1215,6 @@ INSERT INTO jcl_field_extendinfo (id, extend_type, table_name, field_name, field
INSERT INTO jcl_field_extendinfo (id, extend_type, table_name, field_name, field_name_desc, field_type, control_type, extend_group_id, isenable, isrequired, list_show, search_show, edit_show, add_show, browser_show, show_order, creator, delete_type, create_time, update_time, browser_type, custom_value, is_system_default) VALUES(102, 2, 'JCL_ORG_DEPT', 'ec_company', '所属分部', 'int', 3, 2, 1, 1, 1, 1, 1, 1, 1, 4, 1, 0, SYSDATE, NULL, '164', '["browser",{"valueSpan":"分部","replaceDatas":[{"name":"分部","id":"164"}],"value":"164"}]', 0)
/
INSERT INTO jcl_field_extendinfo (id, extend_type, table_name, field_name, field_name_desc, field_type, control_type, extend_group_id, isenable, isrequired, list_show, search_show, edit_show, add_show, browser_show, show_order, creator, delete_type, create_time, update_time, browser_type, custom_value, is_system_default) VALUES(103, 2, 'JCL_ORG_DEPT', 'ec_department', '上级部门', 'int', 3, 2, 1, 0, 1, 1, 1, 1, 1, 5, 1, 0, SYSDATE, NULL, '4', '["browser",{"valueSpan":"部门","replaceDatas":[{"name":"部门","id":"4"}],"value":"4"}]', 0)
/
/
INSERT INTO JCL_INFO (id, fname, fvalue) VALUES (1, '董事长人员id', '36')

@ -41,6 +41,31 @@ public class ExtendInfoParams {
private String sequenceName;
public String getSequenceName() {
return this.tableName + "_ID";
// 处理ORACLE表名过长未与序列对应情况
String sequenceName;
switch (this.tableName) {
case "JCL_ORG_HRMRESOURCE":
sequenceName = "JCL_ORG_HRM_ID";
break;
case "JCL_ORG_HRMRESOURCEEXT_DT1":
sequenceName = "JCL_ORG_HRMEXT_DT1_ID";
break;
case "JCL_FIELD_EXTENDGROUP":
sequenceName = "JCL_FIELD_GROUP_ID";
break;
case "JCL_FIELD_EXTENDTITLE":
sequenceName = "JCL_FIELD_TITLE_ID";
break;
case "JCL_FIELD_EXTENDINFO":
sequenceName = "JCL_FIELD_INFO_ID";
break;
case "JCL_IMPORT_HISTORY_DETAIL":
sequenceName = "JCL_IMPORT_DETAIL_ID";
break;
default:
sequenceName = this.tableName + "_ID";
break;
}
return sequenceName;
}
}

@ -89,8 +89,8 @@ public class JobBO {
.deptName(e.getDeptName())
.sequenceName(e.getSequenceName())
.schemeName(e.getSchemeName())
.parentJob(e.getParentJob())
.parentJobName(null == poMaps.get(e.getParentJob()) ? "" : poMaps.get(e.getParentJob()).getJobName())
//.parentJob(e.getParentJob())
//.parentJobName(null == poMaps.get(e.getParentJob()) ? "" : poMaps.get(e.getParentJob()).getJobName())
.isKey(JobTransMethod.getIsKeySpan(e.getIsKey()))
.showOrder(e.getShowOrder())
.forbiddenTag(e.getForbiddenTag())

@ -64,7 +64,8 @@ public class JobListDTO {
/**
*
*/
@TableTitle(title = "上级岗位", dataIndex = "parentJobName", key = "parentJobName")
// 上级岗位,暂不使用
//@TableTitle(title = "上级岗位", dataIndex = "parentJobName", key = "parentJobName")
private String parentJobName;
private Long parentJob;
/**

@ -12,7 +12,7 @@ import java.sql.Date;
**/
public interface GroupTriggerMapper {
int getInfoValue(@Param("id") Integer id);
Integer getInfoValue(@Param("id") Integer id);
Integer sumStaffNum(@Param("fdatebegin") Date fdatebegin);

@ -282,9 +282,9 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
groupId = GROUP_ID.toString();
}
String oldDeptNo = getDepartmentMapper().getDeptById(searchParam.getId()).getDeptNo();
DepartmentPO oldDept = getDepartmentMapper().getDeptById(searchParam.getId());
String deptNo = searchParam.getDeptNo();
if (!deptNo.equals(oldDeptNo)) {
if (!deptNo.equals(oldDept.getDeptNo())) {
deptNo = repeatDetermine(deptNo);
params.put("dept_no", deptNo);
}
@ -320,6 +320,8 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
//更新明细表
getExtService(user).updateExtDT(user, EXTEND_TYPE, JCL_ORG_DEPTEXT_DT1, params, searchParam.getId());
DepartmentPO newDeptById = getDepartmentMapper().getDeptById(searchParam.getId());
new DepartmentTriggerRunnable(oldDept, newDeptById).run();
Long parentComp = StringUtils.isNotEmpty(Util.null2String(params.get("parent_comp"))) ? Long.parseLong(Util.null2String(params.get("parent_comp"))) : null;
// 刷新岗位所属分部
@ -553,7 +555,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
deptById.setUuid(recordInfo.getUuid());
getDepartmentMapper().insertIgnoreNull(deptById);
// 更新组织架构图
new Thread(new DepartmentTriggerRunnable(deptById.getId())).start();
new DepartmentTriggerRunnable(deptById.getId()).run();
// 复制当前部门岗位信息
if ("1".equals(copyJob)) {
@ -637,7 +639,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
updateEcDepartment(departmentPO);
getDepartmentMapper().updateBaseDept(departmentPO);
// 更新组织架构图
new Thread(new DepartmentTriggerRunnable(departmentPO.getId())).start();
new DepartmentTriggerRunnable(departmentPO.getId()).run();
}
// 查询该部门一级岗位、更新岗位所属分部、所属部门
List<JobPO> firstChildJobList = getJobMapper().listJobsByDepartmentId(mergeParam.getId());
@ -650,7 +652,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
// 更新岗位组织架构图
for (JobPO jobPO : firstChildJobList) {
// 刷新组织架构图
new Thread(new JobTriggerRunnable(jobPO.getId())).start();
new JobTriggerRunnable(jobPO.getId()).run();
}
// 更新当前部门下的人员
List<Long> hrmResourceIds = getSystemDataMapper().getHrmResourceIdsByDept(mergeParam.getId().toString());
@ -658,7 +660,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
new RecordSet().executeUpdate("update jcl_org_hrmresource set company_id =? ,ec_company = ? ,department_id = ?, ec_department = ?where department_id =?", targetDepartment.getParentComp(), targetDepartment.getEcCompany(), targetDepartment.getId(), targetEcDeptId, mergeParam.getId());
// 更新人员组织架构图
for (Long hrmResourceId : hrmResourceIds) {
new Thread(new HrmResourceTriggerRunnable(hrmResourceId)).start();
new HrmResourceTriggerRunnable(hrmResourceId).run();
}
// 更新子部门下岗位的所属分部
for (DepartmentPO departmentPO : firstChildDeptList) {
@ -675,14 +677,14 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
MapperProxyFactory.getProxy(ExtDTMapper.class).deleteByMainID("jcl_org_deptext_dt1", mergeParam.getId());
getDepartmentMapper().deleteByIds(DeleteParam.builder().ids(mergeParam.getId().toString()).build().getIds());
// 更新组织架构图
new Thread(new DepartmentTriggerRunnable(mergeDepartment)).run();
new DepartmentTriggerRunnable(mergeDepartment).run();
// 更新部门合并后名称
targetDepartment.setDeptName(mergeParam.getMergeName());
targetDepartment.setDeptNameShort(mergeParam.getMergeName());
updateEcDepartment(targetDepartment);
getDepartmentMapper().updateBaseDept(targetDepartment);
// 更新组织架构图
new Thread(new DepartmentTriggerRunnable(oldFParentId,targetDepartment.getId())).run();
new DepartmentTriggerRunnable(oldFParentId,targetDepartment.getId()).run();
return 0;
}
@ -725,7 +727,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
deptById.setEcDepartment(null);
// 更新组织架构图
new Thread(new DepartmentTriggerRunnable(company.toString(),deptById)).run();
new DepartmentTriggerRunnable(company.toString(),deptById).run();
} else if ("1".equals(moveParam.getMoveType())) {
Long department = moveParam.getDepartment();
Long departmentId = Objects.requireNonNull(EcHrmRelationUtil.getJclDepartmentId(Util.null2String(department))).getId();
@ -744,7 +746,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
deptById.setEcCompany(parentDepartment.getEcCompany());
// 更新组织架构图
new Thread(new DepartmentTriggerRunnable(Integer.toString(100000000+department.intValue()),deptById)).run();
new DepartmentTriggerRunnable(Integer.toString(100000000+department.intValue()),deptById).run();
}
// 更新EC部门
updateEcDepartment(deptById);
@ -761,7 +763,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
new RecordSet().executeUpdate("update jcl_org_hrmresource set company_id =? ,ec_company = ? where department_id =?", deptById.getParentComp(), ecCompanyId, deptById.getId());
// 更新人员组织架构图
for (Long hrmResourceId : hrmResourceIds) {
new Thread(new HrmResourceTriggerRunnable(hrmResourceId)).start();
new HrmResourceTriggerRunnable(hrmResourceId).run();
}
forbiddenChildTag(deptById.getParentComp(), ecCompanyId, deptList);
// 递归更新下级部门、岗位
@ -784,7 +786,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
getDepartmentMapper().updateBaseDept(departmentPO);
// 更新组织架构图
new Thread(new DepartmentTriggerRunnable(departmentPO.getId())).start();
new DepartmentTriggerRunnable(departmentPO.getId()).run();
// 刷新岗位所属分部
refreshJobComp(departmentPO.getId(), parentComp);
// 更新当前部门下的人员
@ -794,7 +796,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
new RecordSet().executeUpdate("update jcl_org_hrmresource set company_id =? ,ec_company = ? where department_id =?", parentComp, ecCompanyId, departmentPO.getId());
// 更新人员组织架构图
for (Long hrmResourceId : hrmResourceIds) {
new Thread(new HrmResourceTriggerRunnable(hrmResourceId)).start();
new HrmResourceTriggerRunnable(hrmResourceId).run();
}
List<DepartmentPO> childList = getDepartmentMapper().getDeptListByPId(departmentPO.getId());
forbiddenChildTag(parentComp, ecCompanyId, childList);
@ -930,7 +932,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
jobPO.setShowOrder(orderNum);
MapperProxyFactory.getProxy(JobMapper.class).insertIgnoreNull(jobPO);
// 更新组织架构图
new Thread(new JobTriggerRunnable(jobPO.getId())).start();
new JobTriggerRunnable(jobPO.getId()).run();
// 处理子级元素
if (CollectionUtils.isNotEmpty(jobsByPid)) {
@ -1010,7 +1012,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
getJobMapper().updateJobCompany(jobPOS.stream().map(JobPO::getId).collect(Collectors.toList()), parentComp, ecCompanyId);
for (JobPO jobPO : jobPOS) {
// 刷新组织架构图
new Thread(new JobTriggerRunnable(jobPO.getId())).start();
new JobTriggerRunnable(jobPO.getId()).run();
}
}
}

@ -16,6 +16,7 @@ import com.engine.organization.mapper.hrmresource.HrmResourceMapper;
import com.engine.organization.mapper.personnelcard.PersonnelCardMapper;
import com.engine.organization.service.HrmPersonnelCardService;
import com.engine.organization.util.OrganizationAssert;
import com.engine.organization.util.db.DBType;
import com.engine.organization.util.db.MapperProxyFactory;
import com.engine.organization.util.field.FieldDefinedValueUtil;
import com.engine.portal.biz.constants.ModuleConstants;
@ -190,7 +191,12 @@ public class HrmPersonnelCardServiceImpl extends Service implements HrmPersonnel
for (ExtendInfoPO extendInfoPO : extendInfoList) {
String fieldShowName = "";
if (null != fieldValueMap) {
Object fieldValue = fieldValueMap.get(extendInfoPO.getFieldName());
Object fieldValue;
if (DBType.isOracle()) {
fieldValue = fieldValueMap.get(extendInfoPO.getFieldName().toUpperCase());
} else {
fieldValue = fieldValueMap.get(extendInfoPO.getFieldName());
}
fieldShowName = FieldDefinedValueUtil.getFieldValue(user, extendInfoPO, Util.null2String(fieldValue));
}
itemList.add(Item.builder().fieldId(extendInfoPO.getFieldNameDesc()).fieldValue(fieldShowName).build());

@ -1259,7 +1259,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
saveImportDetailLog(historyDetailPO);
continue nextRow;
}
if (StringUtils.isNotBlank(cellValue) && StringUtils.isBlank(Util.null2String(reallyValue)) && !"ec_company".equals(infoPO.getFieldName()) && !"ec_department".equals(infoPO.getFieldName())) {
if (StringUtils.isNotBlank(cellValue) && StringUtils.isBlank(Util.null2String(reallyValue)) && !"ec_company".equals(infoPO.getFieldName()) && !"ec_department".equals(infoPO.getFieldName()) && !"job_title".equals(infoPO.getFieldName())) {
historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "数据转换失败,未找到对应数据");
historyDetailPO.setStatus("0");
saveImportDetailLog(historyDetailPO);

@ -436,8 +436,11 @@ public class JobServiceImpl extends Service implements JobService {
getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_JOBEXT, params, groupId, searchParam.getId());
// 更新明细表
getExtService(user).updateExtDT(user, EXTEND_TYPE, JCL_ORG_JOBEXT_DT1, params, searchParam.getId());
JobPO jobById = getJobMapper().getJobById(searchParam.getId());
new JobTriggerRunnable(oldJobPO, jobById).run();
// 更新人员关联字段
updateResourceJob(getJobMapper().getJobById(searchParam.getId()));
updateResourceJob(jobById);
return searchParam.getId();
}

@ -419,7 +419,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
private String convertLevel(String fLeaderLv) {
String jobLevelName = "";
if (StringUtils.isBlank(fLeaderLv)) {
if (StringUtils.isNotBlank(fLeaderLv)) {
try {
long parseLong = Long.parseLong(fLeaderLv);
LevelPO levelByID = MapperProxyFactory.getProxy(LevelMapper.class).getLevelByID(parseLong);
@ -435,7 +435,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
private String convertGrade(String fLeaderSt) {
String jobGradeName = "";
if (StringUtils.isBlank(fLeaderSt)) {
if (StringUtils.isNotBlank(fLeaderSt)) {
try {
long parseLong = Long.parseLong(fLeaderSt);
GradePO gradeByID = MapperProxyFactory.getProxy(GradeMapper.class).getGradeByID(parseLong);

@ -146,7 +146,7 @@ public class DepartmentTriggerRunnable implements Runnable {
if (null != jclOrgMapByObjID) {
if (null != jclOrgMap) {
jclMap.setFPlan((null != staffPO ? staffPO.getStaffNum() : 0) + jclOrgMap.getFPlan());
jclMap.setFOnJob(jclOrgMapByObjID.getFOnJob() + jclOrgMap.getFOnJob());
jclMap.setFOnJob(jclOrgMap.getFOnJob());
} else {
jclMap.setFPlan(null != staffPO ? staffPO.getStaffNum() : 0);
jclMap.setFOnJob(jclOrgMapByObjID.getFOnJob());
@ -192,11 +192,11 @@ public class DepartmentTriggerRunnable implements Runnable {
StaffPO staffPO = new StaffPO();
switch (parentJclOrgMap.getFType()) {
case 1:
staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(1,parentId, null, null);
staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(1,Util.null2String(parentJclOrgMap.getFObjId()), null, null);
break;
// 部门
case 2:
staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(2,null, parentId, null);
staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(2, null, Util.null2String(parentJclOrgMap.getFObjId()), null);
break;
}
// 编制表jcl_org_staff中的编制数+下级编制数,工具类判断

@ -1,9 +1,12 @@
package com.engine.organization.thread;
import com.engine.organization.entity.hrmresource.po.HrmResourcePO;
import com.engine.organization.entity.job.po.JobPO;
import com.engine.organization.entity.map.JclOrgMap;
import com.engine.organization.entity.personnelcard.User;
import com.engine.organization.mapper.hrmresource.HrmResourceMapper;
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.HrmResourceTriggerMapper;
import com.engine.organization.util.OrganizationDateUtil;
@ -50,7 +53,9 @@ public class HrmResourceTriggerRunnable implements Runnable {
jclMap.setFType(4);
// 查询当前人员信息数据
String ecResourceId = getHrmResourceMapper().getEcResourceId(userId.toString());
// EC人员
HrmResource ecHrmResource = getHrmResourceTriggerMapper().getHrmResource(Long.parseLong(ecResourceId));
// 聚才林人员
HrmResourcePO hrmResource = getCompTriggerMapper().getResourceByEcId(Integer.parseInt(ecResourceId));
if (null != hrmResource && null!=ecHrmResource) {
jclMap.setFObjId(hrmResource.getId().intValue());
@ -60,22 +65,24 @@ public class HrmResourceTriggerRunnable implements Runnable {
jclMap.setFName(hrmResource.getLastName());
jclMap.setUuid(hrmResource.getUuid());
delete = hrmResource.getStatus() < 4 ? 0 : 1;
jclMap.setFLeaderImg(ecHrmResource.getMessagerurl());
// 展示为花名册上传的照片
String image = User.builder().image(hrmResource.getResourceImageId()).build().getImage();
jclMap.setFLeaderImg(image);
// TODO 是否刷新架构图本人所有的图像
jclMap.setFLeaderName(hrmResource.getLastName());
jclMap.setFLeaderJobId(hrmResource.getJobTitle().intValue());
HrmResourcePO resourceByEcId = getCompTriggerMapper().getResourceByEcId(Integer.parseInt(ecResourceId));
if (null != resourceByEcId) {
Long jobTitle = resourceByEcId.getJobTitle();
if (null!=jobTitle) {
jclMap.setFObjParentId(jobTitle.intValue());
jclMap.setFParentId(jclMap.getFObjParentId() + sj);
if (null != hrmResource.getJobTitle()) {
JobPO jobById = MapperProxyFactory.getProxy(JobMapper.class).getJobById(hrmResource.getJobTitle());
if (null != jobById) {
jclMap.setFLeaderJob(jobById.getJobName());
}
jclMap.setFLeaderSt(resourceByEcId.getJobGrade());
jclMap.setFLeaderLv(resourceByEcId.getJobLevel());
jclMap.setFObjParentId(hrmResource.getJobTitle().intValue());
jclMap.setFParentId(jclMap.getFObjParentId() + sj);
}
jclMap.setFLeaderSt(hrmResource.getJobGrade());
jclMap.setFLeaderLv(hrmResource.getJobLevel());
jclMap.setFClass(0);
jclMap.setFClassName("行政维度");
jclMap.setFLeaderJob(getCompTriggerMapper().getJobTitleMarkById(jclMap.getFLeaderJobId()));
String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date());
jclMap.setFDateBegin(new Date(OrganizationDateUtil.stringToDate(currentDate).getTime()));
jclMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2099-12-31").getTime()));
@ -95,12 +102,19 @@ public class HrmResourceTriggerRunnable implements Runnable {
// 更新当前架构图负责人的卡片信息
getHrmResourceTriggerMapper().updateLeaders(currentDate, hrmResource.getId().toString(), jclMap.getFLeaderImg(), jclMap.getFLeaderName(), jclMap.getFLeaderJobId(), jclMap.getFLeaderJob(), jclMap.getFLeaderLv(), jclMap.getFLeaderSt());
// 更新组织架构图在岗数
if (null == jclOrgMapByObjID) {
new StaffTriggerRunnable(jclMap.getFObjParentId()).run();
} else if (!jclMap.getFObjParentId().equals(jclOrgMapByObjID.getFObjParentId())) {
//if (null != jclOrgMapByObjID && !jclMap.getFObjParentId().equals(jclOrgMapByObjID.getFObjParentId())) {
// new StaffTriggerRunnable(jclOrgMapByObjID.getFObjParentId()).run();
// new StaffTriggerRunnable(jclMap.getFObjParentId()).run();
//} else {
// new StaffTriggerRunnable(jclMap.getFObjParentId()).run();
//}
if (null != jclOrgMapByObjID) {
new StaffTriggerRunnable(jclOrgMapByObjID.getFObjParentId()).run();
new StaffTriggerRunnable(jclMap.getFObjParentId()).run();
}
new StaffTriggerRunnable(jclMap.getFObjParentId()).run();
} else if (null != jclOrgMapByObjID) {
new StaffTriggerRunnable(jclOrgMapByObjID.getFObjParentId()).run();
}

@ -42,7 +42,8 @@ public class JobTriggerRunnable implements Runnable {
this.oldJob = oldJob;
this.newJob = newJob;
}
public JobTriggerRunnable(Boolean forbiddenTag,JobPO oldJob, JobPO newJob) {
public JobTriggerRunnable(Boolean forbiddenTag, JobPO oldJob, JobPO newJob) {
this.oldJob = oldJob;
this.newJob = newJob;
this.forbiddenTag = forbiddenTag;
@ -52,7 +53,8 @@ public class JobTriggerRunnable implements Runnable {
this.oldJob = new JobPO();
this.newJob = MapperProxyFactory.getProxy(JobMapper.class).getJobById(jobId);
}
public JobTriggerRunnable(Long oldJobId,Long newJobId) {
public JobTriggerRunnable(Long oldJobId, Long newJobId) {
this.oldJob = MapperProxyFactory.getProxy(JobMapper.class).getJobById(oldJobId);
this.newJob = MapperProxyFactory.getProxy(JobMapper.class).getJobById(newJobId);
}
@ -71,84 +73,83 @@ public class JobTriggerRunnable implements Runnable {
return;
}
// 判断
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;
jclMap.setFType(3);
// 更新逻辑
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();
jclMap.setFClass(0);
jclMap.setFClassName("行政维度");
String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date());
jclMap.setFDateBegin(new Date(OrganizationDateUtil.stringToDate(currentDate).getTime()));
jclMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2099-12-31").getTime()));
JclOrgMap jclOrgMapByObjID = MapperProxyFactory.getProxy(JclOrgMapper.class).getJclOrgMapByObjID( jclMap.getFDateBegin(), ModuleTypeEnum.jobfielddefined.getValue().toString(), jclMap.getFObjId().toString());
// 该岗位有下级岗位时,查询
JclOrgMap jclOrgMap = MapperProxyFactory.getProxy(JclOrgMapper.class).getSumPlanAndJobByFParentId(jclMap.getFDateBegin(), jclMap.getId().toString());
StaffPO staffPO = new StaffPO();
switch (jclMap.getFType()) {
// 部门
case 2:
staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(2,null, jclMap.getFObjId().toString(), null);
break;
// 岗位
case 3:
staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(3,null, null, jclMap.getFObjId().toString());
break;
default:
break;
}
if (null != jclOrgMapByObjID) {
if (null != jclOrgMap) {
jclMap.setFPlan((null != staffPO ? staffPO.getStaffNum() : 0) + jclOrgMap.getFPlan());
jclMap.setFOnJob(jclOrgMapByObjID.getFOnJob() + jclOrgMap.getFOnJob());
} else {
jclMap.setFPlan(null != staffPO ? staffPO.getStaffNum() : 0);
jclMap.setFOnJob(jclOrgMapByObjID.getFOnJob());
}
JclOrgMap jclMap = new JclOrgMap();
int st = 100000000;
int sj = 200000000;
jclMap.setFType(3);
// 更新逻辑
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();
jclMap.setFClass(0);
jclMap.setFClassName("行政维度");
String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date());
jclMap.setFDateBegin(new Date(OrganizationDateUtil.stringToDate(currentDate).getTime()));
jclMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2099-12-31").getTime()));
JclOrgMap jclOrgMapByObjID = MapperProxyFactory.getProxy(JclOrgMapper.class).getJclOrgMapByObjID(jclMap.getFDateBegin(), ModuleTypeEnum.jobfielddefined.getValue().toString(), jclMap.getFObjId().toString());
// 该岗位有下级岗位时,查询
JclOrgMap jclOrgMap = MapperProxyFactory.getProxy(JclOrgMapper.class).getSumPlanAndJobByFParentId(jclMap.getFDateBegin(), jclMap.getId().toString());
StaffPO staffPO = new StaffPO();
switch (jclMap.getFType()) {
// 部门
case 2:
staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(2, null, jclMap.getFObjId().toString(), null);
break;
// 岗位
case 3:
staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(3, null, null, jclMap.getFObjId().toString());
break;
default:
break;
}
if (null != jclOrgMapByObjID) {
if (null != jclOrgMap) {
jclMap.setFPlan((null != staffPO ? staffPO.getStaffNum() : 0) + jclOrgMap.getFPlan());
jclMap.setFOnJob(jclOrgMapByObjID.getFOnJob() + jclOrgMap.getFOnJob());
} else {
jclMap.setFPlan(null != staffPO ? staffPO.getStaffNum() : 0);
jclMap.setFOnJob(0);
jclMap.setFOnJob(jclOrgMapByObjID.getFOnJob());
}
jclMap.setFIsVitual(0);
} else {
jclMap.setFPlan(null != staffPO ? staffPO.getStaffNum() : 0);
jclMap.setFOnJob(0);
}
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);
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 (1 != newJob.getDeleteType() && 1 != newJob.getForbiddenTag()) {
MapperProxyFactory.getProxy(JclOrgMapper.class).insertMap(jclMap);
}
if (null != jclOrgMapByObjID) {
if(null != jclOrgMapByObjID.getFParentId()){
updateParentPlanAndJob(jclMap.getFDateBegin(), jclOrgMapByObjID.getFParentId().toString());
}
}
// 部门启用,刷新上级数据
if(forbiddenTag){
updateParentPlanAndJob(jclMap.getFDateBegin(), jclMap.getFParentId().toString());
if (1 != newJob.getDeleteType() && 1 != newJob.getForbiddenTag()) {
MapperProxyFactory.getProxy(JclOrgMapper.class).insertMap(jclMap);
}
if (null != jclOrgMapByObjID) {
if (null != jclOrgMapByObjID.getFParentId()) {
updateParentPlanAndJob(jclMap.getFDateBegin(), jclOrgMapByObjID.getFParentId().toString());
}
if (null != oldJob) {
if (null != oldJob.getId()){
updateParentPlanAndJob(jclMap.getFDateBegin(), oldJob.getId().toString());
}
}
// 部门启用,刷新上级数据
if (forbiddenTag) {
updateParentPlanAndJob(jclMap.getFDateBegin(), jclMap.getFParentId().toString());
}
if (null != oldJob) {
if (null != oldJob.getId()) {
updateParentPlanAndJob(jclMap.getFDateBegin(), oldJob.getId().toString());
}
}
}
/**

@ -176,7 +176,7 @@ public class StaffTriggerRunnable implements Runnable {
getJclOrgMapper().updateMap(type, objId, currentDate, yesterday);
jclOrgMapByObjID.setFPlan(addInteger(planSum, childPlanSum));
jclOrgMapByObjID.setFOnJob(addInteger(onJobSum, childOnJobSum));
jclOrgMapByObjID.setFDateBegin(new Date(System.currentTimeMillis()));
jclOrgMapByObjID.setFDateBegin(currentDate);
getJclOrgMapper().insertMap(jclOrgMapByObjID);
}

@ -133,7 +133,6 @@ public class DepartmentWrapper extends OrganizationWrapper {
DepartmentPO newDeptById = getDepartmentMapper().getDeptById(id);
writeOperateLog(new Object() {
}.getClass(), deptById.getDeptName(), JSON.toJSONString(params), deptById, newDeptById);
new Thread(new DepartmentTriggerRunnable(deptById, newDeptById)).start();
return departmentId;
}

@ -11,11 +11,9 @@ import com.engine.organization.entity.job.param.JobMergeParam;
import com.engine.organization.entity.job.param.JobSearchParam;
import com.engine.organization.entity.job.po.JobPO;
import com.engine.organization.entity.searchtree.SearchTreeParams;
import com.engine.organization.entity.staff.po.StaffPO;
import com.engine.organization.enums.LogModuleNameEnum;
import com.engine.organization.enums.OperateTypeEnum;
import com.engine.organization.mapper.job.JobMapper;
import com.engine.organization.mapper.staff.StaffMapper;
import com.engine.organization.service.JobService;
import com.engine.organization.service.impl.JobServiceImpl;
import com.engine.organization.thread.JobTriggerRunnable;
@ -135,7 +133,7 @@ public class JobWrapper extends OrganizationWrapper {
writeOperateLog(new Object() {
}.getClass(), jobById.getJobName(), JSON.toJSONString(params), jobById, newJobById);
// 更新组织架构图
new Thread(new JobTriggerRunnable(jobById, newJobById)).start();
return jobId;
}

Loading…
Cancel
Save