From 92b2f54ddd477b6e5ce5f19b5a1134cf653ed247 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 12 Jul 2022 16:38:27 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E4=BA=BA=E5=91=98=E6=8B=93=E5=B1=95?= =?UTF-8?q?=E5=8D=A1=E7=89=87=E3=80=81=E5=88=86=E9=83=A8=E6=9B=B4=E6=96=B0?= =?UTF-8?q?EC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/company/po/CompPO.java | 2 + .../organization/enums/OperateTypeEnum.java | 3 +- .../organization/mapper/comp/CompMapper.xml | 3 + .../mapper/hrmresource/SystemDataMapper.java | 5 + .../mapper/hrmresource/SystemDataMapper.xml | 10 + .../service/impl/CompServiceImpl.java | 30 ++- .../service/impl/HrmResourceServiceImpl.java | 55 +++-- .../service/impl/JobServiceImpl.java | 18 +- .../thread/OrganizationRunable.java | 201 ++++++++++++++++++ 9 files changed, 287 insertions(+), 40 deletions(-) create mode 100644 src/com/engine/organization/thread/OrganizationRunable.java diff --git a/src/com/engine/organization/entity/company/po/CompPO.java b/src/com/engine/organization/entity/company/po/CompPO.java index c4c61fce..1ab9fd96 100644 --- a/src/com/engine/organization/entity/company/po/CompPO.java +++ b/src/com/engine/organization/entity/company/po/CompPO.java @@ -74,6 +74,8 @@ public class CompPO { */ private Integer showOrder; + private String uuid; + private Long creator; private int deleteType; private Date createTime; diff --git a/src/com/engine/organization/enums/OperateTypeEnum.java b/src/com/engine/organization/enums/OperateTypeEnum.java index 1d2c8952..5a255222 100644 --- a/src/com/engine/organization/enums/OperateTypeEnum.java +++ b/src/com/engine/organization/enums/OperateTypeEnum.java @@ -13,7 +13,8 @@ public enum OperateTypeEnum { DELETE("4", "删除"), MOVE("5", "转移"), MERGE("6", "合并"), - COPY("7", "复制"); + COPY("7", "复制"), + CANCELED("8", "封存"); private String value; diff --git a/src/com/engine/organization/mapper/comp/CompMapper.xml b/src/com/engine/organization/mapper/comp/CompMapper.xml index 8a119700..77a1aad8 100644 --- a/src/com/engine/organization/mapper/comp/CompMapper.xml +++ b/src/com/engine/organization/mapper/comp/CompMapper.xml @@ -17,6 +17,8 @@ + + @@ -38,6 +40,7 @@ , t.delete_type , t.create_time , t.update_time + , t.uuid diff --git a/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.java b/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.java index 7031517e..dfc879bd 100644 --- a/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.java +++ b/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.java @@ -30,4 +30,9 @@ public interface SystemDataMapper { String getScDepartmentNameById(@Param("departmentId") String departmentId); String getScHrmResourceNameById(@Param("managerId") String managerId); + + JSONObject getHrmSubCompanyByID(@Param("id") String id); + + JSONObject getHrmSubCompanyByUUID(@Param("uuid") String uuid); + } diff --git a/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.xml b/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.xml index 75014d9d..d43ec140 100644 --- a/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.xml +++ b/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.xml @@ -48,4 +48,14 @@ from hrmresource where id = #{managerId} + + \ No newline at end of file diff --git a/src/com/engine/organization/service/impl/CompServiceImpl.java b/src/com/engine/organization/service/impl/CompServiceImpl.java index 32c400e3..363fde67 100644 --- a/src/com/engine/organization/service/impl/CompServiceImpl.java +++ b/src/com/engine/organization/service/impl/CompServiceImpl.java @@ -19,11 +19,14 @@ import com.engine.organization.entity.company.param.CompSearchParam; import com.engine.organization.entity.company.po.CompPO; import com.engine.organization.entity.department.param.DepartmentMoveParam; import com.engine.organization.entity.extend.po.ExtendTitlePO; +import com.engine.organization.enums.LogModuleNameEnum; +import com.engine.organization.enums.OperateTypeEnum; import com.engine.organization.mapper.codesetting.CodeRuleMapper; import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.extend.ExtendTitleMapper; import com.engine.organization.service.CompService; import com.engine.organization.service.ExtService; +import com.engine.organization.thread.OrganizationRunable; import com.engine.organization.util.*; import com.engine.organization.util.coderule.CodeRuleUtil; import com.engine.organization.util.db.MapperProxyFactory; @@ -98,19 +101,19 @@ public class CompServiceImpl extends Service implements CompService { boolean filter = isFilter(compPO); PageInfo pageInfos; String orderSql = PageInfoSortUtil.getSortSql(params.getSortParams()); - List alltList = getCompMapper().list(orderSql); + List allList = getCompMapper().list(orderSql); // 通过子级遍历父级元素 if (filter) { // 根据条件获取元素 List filterCompPOs = getCompMapper().listByFilter(compPO, orderSql); // 添加父级元素 - List compListDTOS = CompBO.buildCompDTOList(alltList, filterCompPOs); + List compListDTOS = CompBO.buildCompDTOList(allList, filterCompPOs); List subList = PageUtil.subList(params.getCurrent(), params.getPageSize(), compListDTOS); pageInfos = new PageInfo<>(subList, CompListDTO.class); pageInfos.setTotal(compListDTOS.size()); } else { // 组合list - List compListDTOS = CompBO.buildCompDTOList(alltList); + List compListDTOS = CompBO.buildCompDTOList(allList); List subList = PageUtil.subList(params.getCurrent(), params.getPageSize(), compListDTOS); pageInfos = new PageInfo<>(subList, CompListDTO.class); pageInfos.setTotal(compListDTOS.size()); @@ -145,13 +148,20 @@ public class CompServiceImpl extends Service implements CompService { int maxShowOrder = getCompMapper().getMaxShowOrder(); params.put("show_order", maxShowOrder + 1); } - return getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_COMP, params, "", null); + Long id = getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_COMP, params, "", null); + params.put("companyId", id); + new Thread(new OrganizationRunable(user, LogModuleNameEnum.COMPANY, OperateTypeEnum.ADD, params)).start(); + return id; } @Override public int updateForbiddenTagById(CompSearchParam params) { HasRightUtil.hasRight(user, RIGHT_NAME, false); CompPO compPO = CompPO.builder().id(params.getId()).forbiddenTag(params.getForbiddenTag() ? 0 : 1).build(); + Map map = new HashMap<>(); + map.put("id", compPO.getId()); + map.put("forbiddenTag", compPO.getForbiddenTag()); + new Thread(new OrganizationRunable(user, LogModuleNameEnum.COMPANY, OperateTypeEnum.CANCELED, map)).start(); return getCompMapper().updateForbiddenTagById(compPO); } @@ -169,6 +179,7 @@ public class CompServiceImpl extends Service implements CompService { compNo = repeatDetermine(compNo); params.put("comp_no", compNo); } + new Thread(new OrganizationRunable(user, LogModuleNameEnum.COMPANY, OperateTypeEnum.UPDATE, params)).start(); // 更新主表数据 getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_COMP, params, "", searchParam.getId()); // 更新主表拓展表 @@ -183,6 +194,9 @@ public class CompServiceImpl extends Service implements CompService { public int deleteByIds(Collection ids) { HasRightUtil.hasRight(user, RIGHT_NAME, false); OrganizationAssert.notEmpty(ids, "请选择要删除的数据"); + Map map = new HashMap<>(); + map.put("id", StringUtils.join(ids, ",")); + new Thread(new OrganizationRunable(user, LogModuleNameEnum.COMPANY, OperateTypeEnum.CANCELED, map)).start(); return getCompMapper().deleteByIds(ids); } @@ -320,6 +334,14 @@ public class CompServiceImpl extends Service implements CompService { OrganizationAssert.isFalse(disableIds.contains(targetCompanyId), "请勿选择当前分部本身及其子分部"); CompPO compPO = getCompMapper().listById(companyId); compPO.setParentCompany(targetCompanyId); + Map map = new HashMap<>(); + map.put("id", compPO.getId()); + map.put("parent_company", compPO.getParentCompany()); + map.put("comp_no", compPO.getCompNo()); + map.put("comp_name_short", compPO.getCompNameShort()); + map.put("comp_name", compPO.getCompName()); + map.put("show_order", compPO.getShowOrder()); + new Thread(new OrganizationRunable(user, LogModuleNameEnum.COMPANY, OperateTypeEnum.UPDATE, map)).start(); return getCompMapper().updateBaseComp(compPO); } diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 026ec1ac..b9852c8a 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -6,6 +6,7 @@ import com.api.browser.bean.SearchConditionItem; import com.cloudstore.eccom.result.WeaResultMsg; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; +import com.engine.hrm.util.face.HrmFaceCheckManager; import com.engine.organization.component.OrganizationWeaTable; import com.engine.organization.entity.DeleteParam; import com.engine.organization.entity.company.bo.CompBO; @@ -26,6 +27,7 @@ import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.extend.ExtendTitleMapper; import com.engine.organization.mapper.hrmresource.HrmRelationMapper; +import com.engine.organization.mapper.hrmresource.SystemDataMapper; import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.mapper.post.PostInfoMapper; import com.engine.organization.mapper.post.PostMapper; @@ -292,7 +294,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic OrganizationAssert.notBlank(id, "数据有误,请确认"); int viewAttr = Integer.parseInt(viewAttrStr); Map apiDatas = new HashMap<>(); - List selectItems = new ArrayList<>(); + List addGroups = new ArrayList<>(); SearchConditionItem schemeId = OrganizationFormItemUtil.browserItem(user, 2, 17, viewAttr, false, "等级方案", "161", "schemeId", "schemeBrowser"); schemeId.setRules("required"); @@ -306,9 +308,9 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic postId.setRules("required"); SearchConditionItem postInfoId = OrganizationFormItemUtil.browserItem(user, 2, 17, viewAttr, false, "职务信息", "161", "postInfoId", "postInfoBrowser"); postInfoId.setRules("required"); - SearchConditionItem companyId = OrganizationFormItemUtil.browserItem(user, 2, 17, viewAttr, false, "分部", "161", "companyId", "compBrowser"); + SearchConditionItem companyId = OrganizationFormItemUtil.browserItem(user, 2, 17, viewAttr, false, "分部", "164", "companyId", ""); companyId.setRules("required"); - SearchConditionItem departmentId = OrganizationFormItemUtil.browserItem(user, 2, 17, viewAttr, false, "部门", "161", "departmentId", "deptBrowser"); + SearchConditionItem departmentId = OrganizationFormItemUtil.browserItem(user, 2, 17, viewAttr, false, "部门", "4", "departmentId", ""); departmentId.setRules("required"); SearchConditionItem jobId = OrganizationFormItemUtil.browserItem(user, 2, 17, viewAttr, false, "岗位", "161", "jobId", "jobBrowser"); jobId.setRules("required"); @@ -323,21 +325,26 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic setBrowserValue(sequenceId, relationPO.getSequenceId(), getSequenceMapper().listSequencesByIds(Stream.of(relationPO.getSequenceId()).collect(Collectors.toList())), "scheme_id", relationPO.getSchemeId()); setBrowserValue(postId, relationPO.getPostId(), getPostMapper().listPostsByIds(Stream.of(relationPO.getPostId()).collect(Collectors.toList())), null, null); setBrowserValue(postInfoId, relationPO.getPostInfoId(), getPostInfoMapper().listPostInfosByIds(Stream.of(relationPO.getPostInfoId()).collect(Collectors.toList())), "post_id", relationPO.getPostId()); - setBrowserValue(companyId, relationPO.getCompanyId(), getCompMapper().listCompsByIds(Stream.of(relationPO.getCompanyId()).collect(Collectors.toList())), null, null); - setBrowserValue(departmentId, relationPO.getDepartmentId(), getDepartmentMapper().listDeptsByIds(Stream.of(relationPO.getDepartmentId()).collect(Collectors.toList())), "comp_id", relationPO.getCompanyId()); - setBrowserValue(jobId, relationPO.getJobId(), getJobMapper().listJobsByIds(Stream.of(relationPO.getJobId()).collect(Collectors.toList())), "dept_id", relationPO.getDepartmentId()); + + List> companyMaps = new ArrayList<>(); + String scCompanyNameById = MapperProxyFactory.getProxy(SystemDataMapper.class).getScCompanyNameById(relationPO.getCompanyId().toString()); + Map companyMap = new HashMap<>(); + companyMap.put(relationPO.getCompanyId().toString(), scCompanyNameById); + companyMaps.add(companyMap); + setBrowserValue(companyId, relationPO.getCompanyId(), companyMaps, null, null); + + List> departmentMaps = new ArrayList<>(); + String departmentNameById = MapperProxyFactory.getProxy(SystemDataMapper.class).getScDepartmentNameById(relationPO.getDepartmentId().toString()); + Map departmentMap = new HashMap<>(); + departmentMap.put(relationPO.getDepartmentId().toString(), departmentNameById); + departmentMaps.add(departmentMap); + setBrowserValue(departmentId, relationPO.getDepartmentId(), departmentMaps, "subcompany1", relationPO.getCompanyId()); + + setBrowserValue(jobId, relationPO.getJobId(), getJobMapper().listJobsByIds(Stream.of(relationPO.getJobId()).collect(Collectors.toList())), "departmentid", relationPO.getDepartmentId()); } - selectItems.add(schemeId); - selectItems.add(gradeId); - selectItems.add(levelId); - selectItems.add(sequenceId); - selectItems.add(postId); - selectItems.add(postInfoId); - selectItems.add(companyId); - selectItems.add(departmentId); - selectItems.add(jobId); - addGroups.add(new SearchConditionGroup("基本信息", true, selectItems)); + addGroups.add(new SearchConditionGroup("岗职位体系", true, Stream.of(schemeId, gradeId, levelId, sequenceId, postId, postInfoId).collect(Collectors.toList()))); + addGroups.add(new SearchConditionGroup("组织机构", true, Stream.of(companyId, departmentId, jobId).collect(Collectors.toList()))); HashMap buttonsMap = new HashMap<>(); buttonsMap.put("hasEdit", true); buttonsMap.put("hasSave", true); @@ -359,8 +366,20 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic @Override public long updateTabForm(HrmRelationSaveParam params) { HrmRelationPO hrmRelationPO = HrmRelationBO.convertSaveParamToPO(params); - hrmRelationPO.setUpdateTime(new Date()); - getHrmRelationMapper().updateHrmRelation(hrmRelationPO); + // 判断新增OR更新 + HrmRelationPO relationPO = getHrmRelationMapper().getRelationById(params.getId()); + if (null == relationPO) { + hrmRelationPO.setCreator((long) user.getUID()); + hrmRelationPO.setCreateTime(new Date()); + hrmRelationPO.setDeleteType(0); + getHrmRelationMapper().insertIgnoreNull(hrmRelationPO); + } else { + hrmRelationPO.setUpdateTime(new Date()); + getHrmRelationMapper().updateHrmRelation(hrmRelationPO); + } + RecordSet rs = new RecordSet(); + rs.execute("update HrmResource set subcompanyid1 = " + params.getCompanyId() + " ,departmentid = " + params.getDepartmentId() + " ,jobtitle = " + params.getJobId() + " where id = " + params.getId()); + HrmFaceCheckManager.sync(params.getId().toString(), HrmFaceCheckManager.getOptUpdate(), "hrm_e9_HrmResourceBaseService_editResourceBase", HrmFaceCheckManager.getOaResource()); return hrmRelationPO.getId(); } diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java index 1cf4ee1f..05f583d0 100644 --- a/src/com/engine/organization/service/impl/JobServiceImpl.java +++ b/src/com/engine/organization/service/impl/JobServiceImpl.java @@ -22,9 +22,7 @@ import com.engine.organization.entity.job.bo.JobBO; import com.engine.organization.entity.job.dto.JobListDTO; import com.engine.organization.entity.job.param.JobMergeParam; import com.engine.organization.entity.job.param.JobSearchParam; -import com.engine.organization.entity.job.po.JobDTPO; import com.engine.organization.entity.job.po.JobPO; -import com.engine.organization.entity.scheme.po.GradePO; import com.engine.organization.entity.searchtree.SearchTree; import com.engine.organization.entity.searchtree.SearchTreeParams; import com.engine.organization.mapper.codesetting.CodeRuleMapper; @@ -33,8 +31,6 @@ import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.extend.ExtendTitleMapper; import com.engine.organization.mapper.job.JobDTMapper; import com.engine.organization.mapper.job.JobMapper; -import com.engine.organization.mapper.scheme.GradeMapper; -import com.engine.organization.mapper.scheme.LevelMapper; import com.engine.organization.service.ExtService; import com.engine.organization.service.JobService; import com.engine.organization.util.*; @@ -316,19 +312,7 @@ public class JobServiceImpl extends Service implements JobService { int maxShowOrder = getJobMapper().getMaxShowOrder(); params.put("show_order", maxShowOrder + 1); } - - Long jobId = getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_JOB, params, "", null); - if (null != searchParam.getSchemeId()) { - // 插入明细表信息 - // 根据等级方案查询职等、职级 - List gradePOS = MapperProxyFactory.getProxy(GradeMapper.class).listGradesBySchemeId(searchParam.getSchemeId()); - for (GradePO gradePO : gradePOS) { - List> maps = MapperProxyFactory.getProxy(LevelMapper.class).listLevelsByIds(DeleteParam.builder().ids(gradePO.getLevelId()).build().getIds()); - String levelNames = maps.stream().map(item -> (String) item.get("name")).collect(Collectors.joining(",")); - getJobDTMapper().insertIgnoreNull(JobDTPO.builder().levelId(gradePO.getLevelId()).gradeId(gradePO.getId() + "").levelIdspan(levelNames).gradeIdspan(gradePO.getGradeName()).mainId(jobId).creator((long) user.getUID()).deleteType(0).createTime(new Date()).updateTime(new Date()).build()); - } - } - return jobId; + return getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_JOB, params, "", null); } @Override diff --git a/src/com/engine/organization/thread/OrganizationRunable.java b/src/com/engine/organization/thread/OrganizationRunable.java new file mode 100644 index 00000000..c884bd9d --- /dev/null +++ b/src/com/engine/organization/thread/OrganizationRunable.java @@ -0,0 +1,201 @@ +package com.engine.organization.thread; + +import com.alibaba.fastjson.JSONObject; +import com.engine.common.util.ServiceUtil; +import com.engine.hrm.service.impl.OrganizationServiceImpl; +import com.engine.organization.entity.company.po.CompPO; +import com.engine.organization.entity.extend.param.ExtendInfoParams; +import com.engine.organization.enums.LogModuleNameEnum; +import com.engine.organization.enums.OperateTypeEnum; +import com.engine.organization.mapper.comp.CompMapper; +import com.engine.organization.mapper.extend.ExtMapper; +import com.engine.organization.mapper.hrmresource.SystemDataMapper; +import com.engine.organization.util.db.MapperProxyFactory; +import org.apache.commons.lang.StringUtils; +import weaver.general.Util; +import weaver.hrm.User; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author:dxfeng + * @createTime: 2022/07/12 + * @version: 1.0 + */ +public class OrganizationRunable implements Runnable { + private LogModuleNameEnum moduleName; + private OperateTypeEnum operateType; + private Map params; + private User user; + + private SystemDataMapper getSystemDataMapper() { + return MapperProxyFactory.getProxy(SystemDataMapper.class); + } + + private ExtMapper getExtMapper() { + return MapperProxyFactory.getProxy(ExtMapper.class); + } + + private CompMapper getCompMapper() { + return MapperProxyFactory.getProxy(CompMapper.class); + } + + + public OrganizationRunable(User user, LogModuleNameEnum moduleName, OperateTypeEnum operateType, Map params) { + this.moduleName = moduleName; + this.operateType = operateType; + this.params = params; + this.user = user; + } + + @Override + public void run() { + switch (moduleName) { + case COMPANY: + refreshCompany(); + break; + case DEPARTMENT: + refreshDepartment(); + break; + case JOB: + refreshJob(); + break; + default: + break; + } + } + + /** + * 刷新HrmSubCompany表数据 + */ + private void refreshCompany() { + switch (operateType) { + case ADD: + addCompany(); + break; + case UPDATE: + updateCompany(); + break; + case CANCELED: + cancelCompany(); + break; + default: + break; + } + } + + private void refreshDepartment() { + switch (operateType) { + case ADD: + break; + case UPDATE: + break; + case DELETE: + break; + default: + break; + } + } + + private void refreshJob() { + switch (operateType) { + case ADD: + break; + case UPDATE: + break; + case DELETE: + break; + default: + break; + } + } + + /** + * 新增分部 + */ + private void addCompany() { + Map map = new HashMap<>(); + map.put("subcompanyname", params.get("comp_name_short").toString()); + + // 上级分部通过UUID联查ec表ID + String parentCompany = Util.null2String(params.get("parent_company")); + if (StringUtils.isNotBlank(parentCompany)) { + map.put("supsubcomid", getEcCompanyId(parentCompany)); + } + + map.put("subcompanycode", params.get("comp_no").toString()); + map.put("subcompanydesc", params.get("comp_name").toString()); + map.put("showorder", Util.null2String(params.get("show_order"))); + Map stringObjectMap = ServiceUtil.getService(OrganizationServiceImpl.class, user).addSubCompany(map, user); + + // 更新jcl_org_comp表 uuid字段 + if ("1".equals(Util.null2String(stringObjectMap.get("status"))) && null != stringObjectMap.get("id")) { + String id = Util.null2String(stringObjectMap.get("id")); + JSONObject hrmSubCompanyByID = getSystemDataMapper().getHrmSubCompanyByID(id); + String uuid = hrmSubCompanyByID.getString("uuid"); + Map companyMap = new HashMap<>(); + companyMap.put("uuid", uuid); + long companyId = Long.parseLong(Util.null2String(params.get("companyId"))); + ExtendInfoParams infoParams = ExtendInfoParams.builder().tableName("JCL_ORG_COMP").params(companyMap).id(companyId).build(); + getExtMapper().updateExt(infoParams); + } + } + + /** + * 更新分部 + */ + private void updateCompany() { + Map map = new HashMap<>(); + // 获取ec表ID + map.put("id", getEcCompanyId(Util.null2String(params.get("id")))); + + // 上级分部通过UUID联查ec表ID + String parentCompany = Util.null2String(params.get("parent_company")); + if (StringUtils.isNotBlank(parentCompany)) { + map.put("supsubcomid", getEcCompanyId(parentCompany)); + } + map.put("subcompanycode", Util.null2String(params.get("comp_no"))); + map.put("subcompanyname", Util.null2String(params.get("comp_name_short"))); + map.put("subcompanydesc", Util.null2String(params.get("comp_name"))); + map.put("showorder", Util.null2String(params.get("show_order"))); + ServiceUtil.getService(OrganizationServiceImpl.class, user).editSubCompany(map, user); + } + + /** + * 封存、解封分部 + */ + private void cancelCompany() { + String companyIds = Util.null2String(params.get("id")); + String forbiddenTag = Util.null2String(params.get("forbiddenTag")); + List idList = new ArrayList<>(); + String[] split = companyIds.split(","); + for (String s : split) { + idList.add(getEcCompanyId(s)); + } + Map map = new HashMap<>(); + map.put("id", StringUtils.join(idList, ",")); + if (StringUtils.isBlank(forbiddenTag) || "1".equals(forbiddenTag)) { + // 封存 + ServiceUtil.getService(OrganizationServiceImpl.class, user).doSubCompanyCancel(map, user); + } else { + // 解封 + ServiceUtil.getService(OrganizationServiceImpl.class, user).doSubCompanyISCanceled(map, user); + } + } + + + /** + * 根据jcl_org_comp.id获取HrmSubCompany.id + * + * @param companyId + * @return + */ + private String getEcCompanyId(String companyId) { + CompPO compPO = MapperProxyFactory.getProxy(CompMapper.class).listById(Long.parseLong(companyId)); + JSONObject supSubCompany = MapperProxyFactory.getProxy(SystemDataMapper.class).getHrmSubCompanyByUUID(compPO.getUuid()); + return supSubCompany.getString("id"); + } +} From 1db3f999f9d76550b28c822c2ec093c3506e3205 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 13 Jul 2022 10:55:44 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E5=88=86=E9=83=A8=E6=9B=B4=E6=96=B0EC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/department/po/DepartmentPO.java | 2 + .../mapper/department/DepartmentMapper.xml | 5 +- .../mapper/hrmresource/SystemDataMapper.java | 5 +- .../mapper/hrmresource/SystemDataMapper.xml | 9 +- .../service/impl/CompServiceImpl.java | 2 +- .../service/impl/DepartmentServiceImpl.java | 67 +++++++- .../thread/OrganizationRunable.java | 148 ++++++++++++++++-- 7 files changed, 211 insertions(+), 27 deletions(-) diff --git a/src/com/engine/organization/entity/department/po/DepartmentPO.java b/src/com/engine/organization/entity/department/po/DepartmentPO.java index aef54892..d4f5528f 100644 --- a/src/com/engine/organization/entity/department/po/DepartmentPO.java +++ b/src/com/engine/organization/entity/department/po/DepartmentPO.java @@ -39,6 +39,8 @@ public class DepartmentPO { private Integer forbiddenTag; + private String uuid; + private Long creator; private int deleteType; diff --git a/src/com/engine/organization/mapper/department/DepartmentMapper.xml b/src/com/engine/organization/mapper/department/DepartmentMapper.xml index d316c68e..fe32a135 100644 --- a/src/com/engine/organization/mapper/department/DepartmentMapper.xml +++ b/src/com/engine/organization/mapper/department/DepartmentMapper.xml @@ -16,6 +16,8 @@ + + @@ -32,7 +34,8 @@ t.dept_principal, t.show_order, t.description, - t.forbidden_tag + t.forbidden_tag, + t.uuid - select * - from hrmsubcompany + from ${tableName} where id = #{id} - select * - from hrmsubcompany + from ${tableName} where uuid = #{uuid} + \ No newline at end of file diff --git a/src/com/engine/organization/service/impl/CompServiceImpl.java b/src/com/engine/organization/service/impl/CompServiceImpl.java index 363fde67..15c1799e 100644 --- a/src/com/engine/organization/service/impl/CompServiceImpl.java +++ b/src/com/engine/organization/service/impl/CompServiceImpl.java @@ -149,7 +149,7 @@ public class CompServiceImpl extends Service implements CompService { params.put("show_order", maxShowOrder + 1); } Long id = getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_COMP, params, "", null); - params.put("companyId", id); + params.put("id", id); new Thread(new OrganizationRunable(user, LogModuleNameEnum.COMPANY, OperateTypeEnum.ADD, params)).start(); return id; } diff --git a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java index ea131aca..00be5817 100644 --- a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java +++ b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java @@ -24,6 +24,8 @@ import com.engine.organization.entity.job.po.JobPO; import com.engine.organization.entity.job.vo.SingleJobTreeVO; import com.engine.organization.entity.searchtree.SearchTree; import com.engine.organization.entity.searchtree.SearchTreeParams; +import com.engine.organization.enums.LogModuleNameEnum; +import com.engine.organization.enums.OperateTypeEnum; import com.engine.organization.mapper.codesetting.CodeRuleMapper; import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.department.DepartmentMapper; @@ -31,6 +33,7 @@ import com.engine.organization.mapper.extend.ExtendTitleMapper; import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.service.DepartmentService; import com.engine.organization.service.ExtService; +import com.engine.organization.thread.OrganizationRunable; import com.engine.organization.util.*; import com.engine.organization.util.coderule.CodeRuleUtil; import com.engine.organization.util.db.MapperProxyFactory; @@ -192,18 +195,24 @@ public class DepartmentServiceImpl extends Service implements DepartmentService // 判断是否开启自动编号 deptNo = repeatDetermine(deptNo); params.put("dept_no", deptNo); - if (StringUtils.isBlank((String) params.get("show_order"))) { + if (StringUtils.isBlank(Util.null2String(params.get("show_order")))) { int maxShowOrder = getDepartmentMapper().getMaxShowOrder(); params.put("show_order", maxShowOrder + 1); } - - return getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_DEPT, params, "", null); + Long departmentId = getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_DEPT, params, "", null); + params.put("id", departmentId); + new Thread(new OrganizationRunable(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.ADD, params)).start(); + return departmentId; } @Override public int updateForbiddenTagById(DeptSearchParam params) { HasRightUtil.hasRight(user, RIGHT_NAME, false); DepartmentPO departmentPO = DepartmentPO.builder().id(params.getId()).forbiddenTag(params.getForbiddenTag() ? 0 : 1).build(); + Map map = new HashMap<>(); + map.put("id", departmentPO.getId()); + map.put("forbiddenTag", departmentPO.getForbiddenTag()); + new Thread(new OrganizationRunable(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.CANCELED, map)).start(); return getDepartmentMapper().updateForbiddenTagById(departmentPO); } @@ -224,6 +233,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService } // 更新主表数据 getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_DEPT, params, "", searchParam.getId()); + new Thread(new OrganizationRunable(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.UPDATE, params)).start(); // 更新主表拓展表 getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_DEPTEXT, params, groupId, searchParam.getId()); //更新明细表 @@ -236,6 +246,9 @@ public class DepartmentServiceImpl extends Service implements DepartmentService public int deleteByIds(Collection ids) { HasRightUtil.hasRight(user, RIGHT_NAME, false); OrganizationAssert.notEmpty(ids, "请选择要删除的数据"); + Map map = new HashMap<>(); + map.put("id", StringUtils.join(ids, ",")); + new Thread(new OrganizationRunable(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.CANCELED, map)).start(); return getDepartmentMapper().deleteByIds(ids); } @@ -392,6 +405,9 @@ public class DepartmentServiceImpl extends Service implements DepartmentService // 显示顺序字段 deptById.setShowOrder(maxShowOrder + i + 1); insertCount += getDepartmentMapper().insertIgnoreNull(deptById); + // 更新EC表部门 + updateEcDepartment(deptById); + // TODO 新增岗位信息 if ("1".equals(copyParam.getCopyJob())) { List jobPOS = MapperProxyFactory.getProxy(JobMapper.class).listJobsByDepartmentId(idList.get(i)); Integer maxJobOrder = MapperProxyFactory.getProxy(JobMapper.class).getMaxShowOrder(); @@ -441,6 +457,10 @@ public class DepartmentServiceImpl extends Service implements DepartmentService // 禁用 mergeDepartment.setForbiddenTag(1); updateCount += getDepartmentMapper().updateBaseDept(mergeDepartment); + // 更新EC表部门 + updateEcDepartment(mergeDepartment); + // 封存EC表部门 + cancelEcDepartment(mergeDepartment.getId()); // 合并后部门及子部门禁用 List deptList = getDepartmentMapper().getDeptListByPId(mergeParam.getId()); forbiddenChildTag(parentComp, deptList); @@ -486,9 +506,13 @@ public class DepartmentServiceImpl extends Service implements DepartmentService Long department = moveParam.getDepartment(); OrganizationAssert.notNull(department, "请选择要转移到的部门"); deptById.setParentDept(department); - deptById.setParentComp(null); + DepartmentPO parentDepartment = getDepartmentMapper().getDeptById(department); + deptById.setParentComp(parentDepartment.getParentComp()); } - return getDepartmentMapper().updateBaseDept(deptById); + int updateBaseDept = getDepartmentMapper().updateBaseDept(deptById); + // 更新EC部门 + updateEcDepartment(deptById); + return updateBaseDept; } /** @@ -503,6 +527,10 @@ public class DepartmentServiceImpl extends Service implements DepartmentService departmentPO.setParentComp(parentComp); departmentPO.setForbiddenTag(1); getDepartmentMapper().updateBaseDept(departmentPO); + // 更新EC表部门 + updateEcDepartment(departmentPO); + // 封存EC表部门 + cancelEcDepartment(departmentPO.getId()); List childList = getDepartmentMapper().getDeptListByPId(departmentPO.getId()); forbiddenChildTag(parentComp, childList); } @@ -619,4 +647,33 @@ public class DepartmentServiceImpl extends Service implements DepartmentService } } + /** + * 更新EC表部门 + * + * @param departmentPO + */ + private void updateEcDepartment(DepartmentPO departmentPO) { + Map map = new HashMap<>(); + map.put("dept_name_short", departmentPO.getDeptNameShort()); + map.put("dept_name", departmentPO.getDeptName()); + map.put("parent_comp", departmentPO.getParentComp()); + map.put("parent_dept", departmentPO.getParentDept()); + map.put("show_order", departmentPO.getShowOrder()); + map.put("dept_no", departmentPO.getDeptNo()); + map.put("dept_principal", departmentPO.getDeptPrincipal()); + map.put("id", departmentPO.getId()); + new Thread(new OrganizationRunable(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.UPDATE, map)).start(); + } + + /** + * 封存EC表部门 + * + * @param id + */ + private void cancelEcDepartment(Long id) { + Map map = new HashMap<>(); + map.put("id", id); + new Thread(new OrganizationRunable(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.CANCELED, map)).start(); + } + } diff --git a/src/com/engine/organization/thread/OrganizationRunable.java b/src/com/engine/organization/thread/OrganizationRunable.java index c884bd9d..de196d81 100644 --- a/src/com/engine/organization/thread/OrganizationRunable.java +++ b/src/com/engine/organization/thread/OrganizationRunable.java @@ -4,10 +4,12 @@ import com.alibaba.fastjson.JSONObject; import com.engine.common.util.ServiceUtil; import com.engine.hrm.service.impl.OrganizationServiceImpl; import com.engine.organization.entity.company.po.CompPO; +import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.extend.param.ExtendInfoParams; import com.engine.organization.enums.LogModuleNameEnum; import com.engine.organization.enums.OperateTypeEnum; import com.engine.organization.mapper.comp.CompMapper; +import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.extend.ExtMapper; import com.engine.organization.mapper.hrmresource.SystemDataMapper; import com.engine.organization.util.db.MapperProxyFactory; @@ -31,6 +33,12 @@ public class OrganizationRunable implements Runnable { private Map params; private User user; + private static final String HRM_COMPANY = "hrmsubcompany"; + private static final String HRM_DEPARTMENT = "hrmdepartment"; + + private static final String JCL_COMPANY = "jcl_org_comp"; + private static final String JCL_DEPARTMENT = "jcl_org_dept"; + private SystemDataMapper getSystemDataMapper() { return MapperProxyFactory.getProxy(SystemDataMapper.class); } @@ -43,6 +51,10 @@ public class OrganizationRunable implements Runnable { return MapperProxyFactory.getProxy(CompMapper.class); } + private DepartmentMapper getDepartmentMapper() { + return MapperProxyFactory.getProxy(DepartmentMapper.class); + } + public OrganizationRunable(User user, LogModuleNameEnum moduleName, OperateTypeEnum operateType, Map params) { this.moduleName = moduleName; @@ -87,13 +99,19 @@ public class OrganizationRunable implements Runnable { } } + /** + * 刷新HrmDepartment表数据 + */ private void refreshDepartment() { switch (operateType) { case ADD: + addDepartment(); break; case UPDATE: + updateDepartment(); break; - case DELETE: + case CANCELED: + cancelDepartment(); break; default: break; @@ -113,12 +131,92 @@ public class OrganizationRunable implements Runnable { } } + /** + * 新增部门 + */ + private void addDepartment() { + Map map = new HashMap<>(); + map.put("departmentmark", Util.null2String(params.get("dept_name_short"))); + map.put("departmentname", Util.null2String(params.get("dept_name"))); + + // 上级分部通过UUID联查ec表ID + String parentCompany = Util.null2String(params.get("parent_comp")); + if (StringUtils.isNotBlank(parentCompany)) { + map.put("subcompanyid1", getEcCompanyId(parentCompany)); + } + + // 上级部门通过UUID联查ec表ID + String parentDepartment = Util.null2String(params.get("parent_dept")); + if (StringUtils.isNotBlank(parentDepartment)) { + map.put("supdepid", getEcDepartmentId(parentDepartment)); + } + + map.put("showorder", Util.null2String(params.get("show_order"))); + map.put("departmentcode", Util.null2String(params.get("dept_no"))); + map.put("coadjutant", Util.null2String(params.get("dept_principal"))); + Map returnMap = ServiceUtil.getService(OrganizationServiceImpl.class, user).addDepartment(map, user); + // 更新jcl_org_dept表 uuid字段 + if ("1".equals(Util.null2String(returnMap.get("status"))) && null != returnMap.get("id")) { + updateJclUUID(Util.null2String(returnMap.get("id")), HRM_DEPARTMENT, JCL_DEPARTMENT); + } + } + + /** + * 封存、解封部门 + */ + private void cancelDepartment() { + String departmentIds = Util.null2String(params.get("id")); + String forbiddenTag = Util.null2String(params.get("forbiddenTag")); + List idList = new ArrayList<>(); + String[] split = departmentIds.split(","); + for (String s : split) { + idList.add(getEcDepartmentId(s)); + } + Map map = new HashMap<>(); + map.put("id", StringUtils.join(idList, ",")); + if (StringUtils.isBlank(forbiddenTag) || "1".equals(forbiddenTag)) { + // 封存 + ServiceUtil.getService(OrganizationServiceImpl.class, user).doDepartmentCancel(map, user); + } else { + // 解封 + ServiceUtil.getService(OrganizationServiceImpl.class, user).doDepartmentISCanceled(map, user); + } + } + + /** + * 更新部门 + */ + private void updateDepartment() { + Map map = new HashMap<>(); + // 获取ec表ID + map.put("id", getEcDepartmentId(Util.null2String(params.get("id")))); + map.put("departmentmark", Util.null2String(params.get("dept_name_short"))); + map.put("departmentname", Util.null2String(params.get("dept_name"))); + + // 上级分部通过UUID联查ec表ID + String parentCompany = Util.null2String(params.get("parent_comp")); + if (StringUtils.isNotBlank(parentCompany)) { + map.put("subcompanyid1", getEcCompanyId(parentCompany)); + } + + // 上级部门通过UUID联查ec表ID + String parentDepartment = Util.null2String(params.get("parent_dept")); + if (StringUtils.isNotBlank(parentDepartment)) { + map.put("supdepid", getEcDepartmentId(parentDepartment)); + } + + map.put("showorder", Util.null2String(params.get("show_order"))); + map.put("departmentcode", Util.null2String(params.get("dept_no"))); + map.put("coadjutant", Util.null2String(params.get("dept_principal"))); + ServiceUtil.getService(OrganizationServiceImpl.class, user).editDepartment(map, user); + } + /** * 新增分部 */ private void addCompany() { Map map = new HashMap<>(); - map.put("subcompanyname", params.get("comp_name_short").toString()); + map.put("subcompanyname", Util.null2String(params.get("comp_name_short"))); // 上级分部通过UUID联查ec表ID String parentCompany = Util.null2String(params.get("parent_company")); @@ -129,18 +227,11 @@ public class OrganizationRunable implements Runnable { map.put("subcompanycode", params.get("comp_no").toString()); map.put("subcompanydesc", params.get("comp_name").toString()); map.put("showorder", Util.null2String(params.get("show_order"))); - Map stringObjectMap = ServiceUtil.getService(OrganizationServiceImpl.class, user).addSubCompany(map, user); + Map returnMap = ServiceUtil.getService(OrganizationServiceImpl.class, user).addSubCompany(map, user); // 更新jcl_org_comp表 uuid字段 - if ("1".equals(Util.null2String(stringObjectMap.get("status"))) && null != stringObjectMap.get("id")) { - String id = Util.null2String(stringObjectMap.get("id")); - JSONObject hrmSubCompanyByID = getSystemDataMapper().getHrmSubCompanyByID(id); - String uuid = hrmSubCompanyByID.getString("uuid"); - Map companyMap = new HashMap<>(); - companyMap.put("uuid", uuid); - long companyId = Long.parseLong(Util.null2String(params.get("companyId"))); - ExtendInfoParams infoParams = ExtendInfoParams.builder().tableName("JCL_ORG_COMP").params(companyMap).id(companyId).build(); - getExtMapper().updateExt(infoParams); + if ("1".equals(Util.null2String(returnMap.get("status"))) && null != returnMap.get("id")) { + updateJclUUID(Util.null2String(returnMap.get("id")), HRM_COMPANY, JCL_COMPANY); } } @@ -187,6 +278,23 @@ public class OrganizationRunable implements Runnable { } + /** + * 更新聚才林组织UUID + * + * @param id + * @param ecTableName + * @param jclTableName + */ + private void updateJclUUID(String id, String ecTableName, String jclTableName) { + JSONObject hrmDepartment = getSystemDataMapper().getHrmObjectByID(ecTableName, id); + String uuid = hrmDepartment.getString("uuid"); + Map departmentMap = new HashMap<>(); + departmentMap.put("uuid", uuid); + long departmentId = Long.parseLong(Util.null2String(params.get("id"))); + ExtendInfoParams infoParams = ExtendInfoParams.builder().tableName(jclTableName).params(departmentMap).id(departmentId).build(); + getExtMapper().updateExt(infoParams); + } + /** * 根据jcl_org_comp.id获取HrmSubCompany.id * @@ -194,8 +302,20 @@ public class OrganizationRunable implements Runnable { * @return */ private String getEcCompanyId(String companyId) { - CompPO compPO = MapperProxyFactory.getProxy(CompMapper.class).listById(Long.parseLong(companyId)); - JSONObject supSubCompany = MapperProxyFactory.getProxy(SystemDataMapper.class).getHrmSubCompanyByUUID(compPO.getUuid()); + CompPO compPO = getCompMapper().listById(Long.parseLong(companyId)); + JSONObject supSubCompany = getSystemDataMapper().getHrmObjectByUUID(HRM_COMPANY, compPO.getUuid()); return supSubCompany.getString("id"); } + + /** + * 根据jcl_org_dept.id获取HrmDepartment.id + * + * @param departmentId + * @return + */ + private String getEcDepartmentId(String departmentId) { + DepartmentPO departmentPO = getDepartmentMapper().getDeptById(Long.parseLong(departmentId)); + JSONObject supDepartment = getSystemDataMapper().getHrmObjectByUUID(HRM_DEPARTMENT, departmentPO.getUuid()); + return supDepartment.getString("id"); + } } From cb274d6a6c6c461db3bc5c8f9084adddde7bd92f Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Wed, 13 Jul 2022 09:20:21 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E9=9C=80=E6=B1=82=E4=BC=98=E5=8C=962?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/service/GradeService.java | 2 ++ .../service/impl/GradeServiceImpl.java | 9 +++++++++ .../organization/web/GradeController.java | 19 +++++++++++++++---- .../organization/wrapper/GradeWrapper.java | 5 +++++ 4 files changed, 31 insertions(+), 4 deletions(-) diff --git a/src/com/engine/organization/service/GradeService.java b/src/com/engine/organization/service/GradeService.java index 93a63251..46a59c2c 100644 --- a/src/com/engine/organization/service/GradeService.java +++ b/src/com/engine/organization/service/GradeService.java @@ -78,4 +78,6 @@ public interface GradeService { */ Map getTabInfo(); + + String getLevelId(Long id); } diff --git a/src/com/engine/organization/service/impl/GradeServiceImpl.java b/src/com/engine/organization/service/impl/GradeServiceImpl.java index 8b1e6bbc..c07349ed 100644 --- a/src/com/engine/organization/service/impl/GradeServiceImpl.java +++ b/src/com/engine/organization/service/impl/GradeServiceImpl.java @@ -161,15 +161,19 @@ public class GradeServiceImpl extends Service implements GradeService { Map completeParams = levelBrowserBean.getCompleteParams(); completeParams.put("currenttime", l); completeParams.put("scheme_id_"+ l,gradePO.getSchemeId()); + completeParams.put("level_id_"+ l,"''"); Map conditionDataParams = levelBrowserBean.getConditionDataParams(); conditionDataParams.put("currenttime", l); conditionDataParams.put("scheme_id_"+ l,gradePO.getSchemeId()); + conditionDataParams.put("level_id_"+ l,"''"); Map dataParams = levelBrowserBean.getDataParams(); dataParams.put("currenttime", l); dataParams.put("scheme_id_"+ l,gradePO.getSchemeId()); + dataParams.put("level_id_"+ l,"''"); Map destDataParams = levelBrowserBean.getDestDataParams(); destDataParams.put("currenttime", l); destDataParams.put("scheme_id_"+ l,gradePO.getSchemeId()); + destDataParams.put("level_id_"+ l,"''"); levelBrowserItem.setBrowserConditionParam(levelBrowserBean); @@ -212,6 +216,11 @@ public class GradeServiceImpl extends Service implements GradeService { return apiDatas; } + @Override + public String getLevelId(Long id) { + return MapperProxyFactory.getProxy(GradeMapper.class).getGradeByID(id).getLevelId(); + } + /** * 查询条件 * diff --git a/src/com/engine/organization/web/GradeController.java b/src/com/engine/organization/web/GradeController.java index f0a7f34b..47cd7191 100644 --- a/src/com/engine/organization/web/GradeController.java +++ b/src/com/engine/organization/web/GradeController.java @@ -12,10 +12,7 @@ import weaver.hrm.User; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; +import javax.ws.rs.*; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import java.util.Map; @@ -205,4 +202,18 @@ public class GradeController { return ReturnResult.exceptionHandle(e); } } + + @GET + @Path("/getLevelId") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getLevelId(@Context HttpServletRequest request, @Context HttpServletResponse response, + @QueryParam("id")Long id) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getGradeWrapper(user).getLevelId(id)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } + } diff --git a/src/com/engine/organization/wrapper/GradeWrapper.java b/src/com/engine/organization/wrapper/GradeWrapper.java index 0cf8583b..2c0e5735 100644 --- a/src/com/engine/organization/wrapper/GradeWrapper.java +++ b/src/com/engine/organization/wrapper/GradeWrapper.java @@ -144,4 +144,9 @@ public class GradeWrapper extends OrganizationWrapper { public Map getTabInfo() { return getGradeService(user).getTabInfo(); } + + + public String getLevelId(Long id) { + return getGradeService(user).getLevelId(id); + } } From f8835ffd95fd166f0568e635cdd9fb5e169cc8d2 Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Wed, 13 Jul 2022 10:22:08 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E9=BB=98=E8=AE=A4=E8=81=8C=E5=8A=A1sql?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/初始数据SQL/职务类型默认.sql | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 docs/初始数据SQL/职务类型默认.sql diff --git a/docs/初始数据SQL/职务类型默认.sql b/docs/初始数据SQL/职务类型默认.sql new file mode 100644 index 00000000..359bdda9 --- /dev/null +++ b/docs/初始数据SQL/职务类型默认.sql @@ -0,0 +1,9 @@ +INSERT INTO `hrmjobgroups` +( `JOBGROUPNAME`, `JOBGROUPREMARK`, `created`, `creater`, `modified`, `modifier`, `uuid` ) +VALUES + ( '聚才林', '聚才林', DATE( NOW()), 1, NULL, NULL, 'd9f435c3-8d4d-4e01-9a97-d72f9c5d5fae' ); + +INSERT INTO `hrmjobactivities` +( `JOBACTIVITYMARK`, `JOBACTIVITYNAME`, `JOBGROUPID`, `JOBLEVELFROM`, `JOBLEVELTO`, `created`, `creater`, `modified`, `modifier`, `uuid` ) +VALUES + ( '默认职务', '默认职务', 14, NULL, NULL, DATE( NOW()), 1, NULL, NULL, '3a2efce3-95de-4ec2-afe1-347783817bdb' ); \ No newline at end of file From 09490fe86794d484a8f70694899cf34497138d6f Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Fri, 15 Jul 2022 09:39:33 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E6=B5=8F=E8=A7=88=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/JobBrowserService.java | 71 +++++++++++++++++++ .../entity/searchtree/SearchTreeParams.java | 2 + .../service/impl/LevelServiceImpl.java | 3 +- 3 files changed, 74 insertions(+), 2 deletions(-) create mode 100644 src/com/api/browser/service/impl/JobBrowserService.java diff --git a/src/com/api/browser/service/impl/JobBrowserService.java b/src/com/api/browser/service/impl/JobBrowserService.java new file mode 100644 index 00000000..2b3fe819 --- /dev/null +++ b/src/com/api/browser/service/impl/JobBrowserService.java @@ -0,0 +1,71 @@ +package com.api.browser.service.impl; + +import com.api.browser.bean.SplitTableBean; +import com.api.browser.bean.SplitTableColBean; +import com.api.browser.service.BrowserService; +import com.api.browser.util.BrowserConstant; +import com.api.browser.util.BrowserDataType; +import com.api.browser.util.SplitTableUtil; +import com.cloudstore.eccom.result.WeaResultMsg; +import com.engine.organization.component.OrganizationWeaTable; +import com.engine.organization.entity.fieldset.vo.TypeTreeVO; +import com.engine.organization.entity.scheme.vo.SchemeTableVO; +import com.engine.organization.entity.searchtree.SearchTree; +import com.engine.organization.entity.searchtree.SearchTreeParams; +import com.engine.organization.service.impl.JobServiceImpl; +import com.google.common.collect.Lists; +import weaver.general.Util; +import weaver.hrm.User; +import weaver.hrm.city.CityComInfo; +import weaver.systeminfo.SystemEnv; + + +import java.util.*; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +/** + * @Author weaver_cl + * @Description: + * @Date 2022/7/13 + * @Version V1.0 + **/ +public class JobBrowserService extends BrowserService { + + + + @Override + public Map getBrowserData(Map params) throws Exception { + + Map resultMap = new HashMap<>(); + + String datatype = Util.null2String(params.get("datatype")); + if("tree".equals(datatype)){ + + List> nodeData = new ArrayList<>(); + Map hashMap = new HashMap<>(); + hashMap.put("domid","comp_21"); + hashMap.put("hasChild",true); + hashMap.put("isLeaf",false); + hashMap.put("isopen",true); + hashMap.put("key","compsss_21"); + hashMap.put("name","成功"); + + nodeData.add(hashMap); + //resultMap.put(BrowserConstant.BROWSER_RESULT_TYPE, BrowserDataType.TREE_DATA.getTypeid()); + resultMap.put("datas", nodeData); + }else { + OrganizationWeaTable table = new OrganizationWeaTable<>(user, SchemeTableVO.class); + WeaResultMsg result = new WeaResultMsg(false); + result.putAll(table.makeDataResult()); + result.success(); + resultMap.putAll(result.getResultMap()); + } + + + + + + return resultMap; + } +} diff --git a/src/com/engine/organization/entity/searchtree/SearchTreeParams.java b/src/com/engine/organization/entity/searchtree/SearchTreeParams.java index bc1b08f2..1c5f480f 100644 --- a/src/com/engine/organization/entity/searchtree/SearchTreeParams.java +++ b/src/com/engine/organization/entity/searchtree/SearchTreeParams.java @@ -1,5 +1,6 @@ package com.engine.organization.entity.searchtree; +import lombok.Builder; import lombok.Data; /** @@ -9,6 +10,7 @@ import lombok.Data; * @version: 1.0 */ @Data +@Builder public class SearchTreeParams { /** * 数据类型 diff --git a/src/com/engine/organization/service/impl/LevelServiceImpl.java b/src/com/engine/organization/service/impl/LevelServiceImpl.java index dfb576cb..5a41f878 100644 --- a/src/com/engine/organization/service/impl/LevelServiceImpl.java +++ b/src/com/engine/organization/service/impl/LevelServiceImpl.java @@ -129,9 +129,8 @@ public class LevelServiceImpl extends Service implements LevelService { SearchConditionItem levelNoCondition = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "编号", "levelNo"); levelNoCondition.setRules("required|string"); SearchConditionItem descriptionCondition = OrganizationFormItemUtil.textareaItem(user, 2, 17, true, 2, 60, "描述说明", "description"); - SearchConditionItem browserItem = OrganizationFormItemUtil.browserItem(user, 2, 17, 3, false, "等级方案", "161", "schemeId", "schemeBrowser"); + SearchConditionItem browserItem = OrganizationFormItemUtil.browserItem(user, 2, 17, 3, false, "等级方案", "666", "schemeId", "schemeBrowser"); browserItem.setRules("required|string"); - // 编辑状态下赋值操作 String id = Util.null2String(params.get("id")); if (!StringUtil.isEmpty(id)) {