From d760367a95af1489332c9839bab751ca9bd27895 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 8 Jul 2022 14:07:55 +0800 Subject: [PATCH 01/20] =?UTF-8?q?=E8=AE=B0=E5=BD=95=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/organization/service/impl/JobServiceImpl.java | 8 ++++---- .../organization/service/impl/PostInfoServiceImpl.java | 9 +++++++-- .../organization/transmethod/LogViewTransMethod.java | 2 +- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java index f21c1d16..1cf4ee1f 100644 --- a/src/com/engine/organization/service/impl/JobServiceImpl.java +++ b/src/com/engine/organization/service/impl/JobServiceImpl.java @@ -310,8 +310,8 @@ public class JobServiceImpl extends Service implements JobService { params.put("is_key", null == searchParam.getIsKey() ? 0 : searchParam.getIsKey()); // TODO 处理ec表关联关系 - DepartmentPO departmentPO = MapperProxyFactory.getProxy(DepartmentMapper.class).getDeptById(searchParam.getParentDept()); - params.put("parent_comp", departmentPO.getParentComp()); + //DepartmentPO departmentPO = MapperProxyFactory.getProxy(DepartmentMapper.class).getDeptById(searchParam.getParentDept()); + //params.put("parent_comp", departmentPO.getParentComp()); if (StringUtils.isBlank(params.get("show_order").toString())) { int maxShowOrder = getJobMapper().getMaxShowOrder(); params.put("show_order", maxShowOrder + 1); @@ -350,8 +350,8 @@ public class JobServiceImpl extends Service implements JobService { // 更新主表数据 params.put("is_key", searchParam.getIsKey()); // TODO 处理ec表关联关系 - DepartmentPO departmentPO = MapperProxyFactory.getProxy(DepartmentMapper.class).getDeptById(searchParam.getParentDept()); - params.put("parent_comp", departmentPO.getParentComp()); + //DepartmentPO departmentPO = MapperProxyFactory.getProxy(DepartmentMapper.class).getDeptById(searchParam.getParentDept()); + //params.put("parent_comp", departmentPO.getParentComp()); getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_JOB, params, "", searchParam.getId()); // 更新主表拓展表 getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_JOBEXT, params, groupId, searchParam.getId()); diff --git a/src/com/engine/organization/service/impl/PostInfoServiceImpl.java b/src/com/engine/organization/service/impl/PostInfoServiceImpl.java index e5e8f9e3..227a34e9 100644 --- a/src/com/engine/organization/service/impl/PostInfoServiceImpl.java +++ b/src/com/engine/organization/service/impl/PostInfoServiceImpl.java @@ -22,7 +22,6 @@ import com.engine.organization.util.db.DBType; import com.engine.organization.util.db.MapperProxyFactory; import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; -import weaver.general.StringUtil; import weaver.general.Util; import java.util.*; @@ -143,7 +142,8 @@ public class PostInfoServiceImpl extends Service implements PostInfoService { // 编辑状态下赋值操作 String id = Util.null2String(params.get("id")); - if (!StringUtil.isEmpty(id)) { + String planId = Util.null2String(params.get("planId")); + if (StringUtils.isNotBlank(id)) { PostInfoPO postInfoPO = getPostInfoMapper().getPostInfoByID(Integer.parseInt(id)); OrganizationAssert.notNull(postInfoPO, "选择的数据不存在,或数据已删除"); @@ -161,6 +161,11 @@ public class PostInfoServiceImpl extends Service implements PostInfoService { postIdBrowser.setBrowserConditionParam(browserBean); // 编辑状态下,编号只读 // noItem.setViewAttr(1); + }else if(StringUtils.isNotBlank(planId)){ + BrowserBean browserBean = postIdBrowser.getBrowserConditionParam(); + List> maps = getPostMapper().listPostsByIds(DeleteParam.builder().ids(planId).build().getIds()); + browserBean.setReplaceDatas(maps); + postIdBrowser.setBrowserConditionParam(browserBean); } selectItems.add(noItem); diff --git a/src/com/engine/organization/transmethod/LogViewTransMethod.java b/src/com/engine/organization/transmethod/LogViewTransMethod.java index 1bc6d2b2..dbb2befa 100644 --- a/src/com/engine/organization/transmethod/LogViewTransMethod.java +++ b/src/com/engine/organization/transmethod/LogViewTransMethod.java @@ -44,7 +44,7 @@ public class LogViewTransMethod { public String getDateTimeFormat(String dateTime) { if (StringUtils.isNotBlank(dateTime)) { - dateTime = dateTime.substring(0, dateTime.length() - 2); + dateTime = dateTime.substring(0,19); } return dateTime; } From 15a819a272dda0956eb18899d9f3813645fa714c Mon Sep 17 00:00:00 2001 From: dxfeng Date: Mon, 11 Jul 2022 09:14:02 +0800 Subject: [PATCH 02/20] =?UTF-8?q?=E8=A1=A8=E7=BB=93=E6=9E=84=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/表结构SQL/MySQL.sql | 3 +- docs/表结构SQL/Oracle.sql | 3 +- docs/表结构SQL/SqlServer.sql | 3 +- .../webservice/CustomBrowserService.java | 18 ++++++ .../webservice/CustomBrowserServiceImpl.java | 62 +++++++++++++++++++ 5 files changed, 86 insertions(+), 3 deletions(-) create mode 100644 src/com/engine/organization/webservice/CustomBrowserService.java create mode 100644 src/com/engine/organization/webservice/CustomBrowserServiceImpl.java diff --git a/docs/表结构SQL/MySQL.sql b/docs/表结构SQL/MySQL.sql index dc8c5cb0..e07ea392 100644 --- a/docs/表结构SQL/MySQL.sql +++ b/docs/表结构SQL/MySQL.sql @@ -483,7 +483,7 @@ CREATE TABLE HR_LOG ( operator_name varchar(100) NULL, create_time date NULL, operate_type int NULL, - params_str varchar(100) NULL, + params_str varchar(2000) NULL, client_ip varchar(100) NULL, method_name varchar(100) NULL, delete_type int NULL, @@ -491,5 +491,6 @@ CREATE TABLE HR_LOG ( operate_module_name varchar(100) NULL, operate_module int NULL, message varchar(2000) NULL, + value varchar(100) NULL, CONSTRAINT HR_LOG_PK PRIMARY KEY (id) ); diff --git a/docs/表结构SQL/Oracle.sql b/docs/表结构SQL/Oracle.sql index 6447cf72..600b39f1 100644 --- a/docs/表结构SQL/Oracle.sql +++ b/docs/表结构SQL/Oracle.sql @@ -452,7 +452,7 @@ CREATE TABLE HR_LOG ( OPERATOR_NAME NVARCHAR2(100) NULL, CREATE_TIME DATE NULL, OPERATE_TYPE NUMBER NULL, - PARAMS_STR NVARCHAR2(100) NULL, + PARAMS_STR NVARCHAR2(2000) NULL, CLIENT_IP NVARCHAR2(100) NULL, METHOD_NAME NVARCHAR2(100) NULL, DELETE_TYPE NUMBER NULL, @@ -460,5 +460,6 @@ CREATE TABLE HR_LOG ( OPERATE_MODULE_NAME NVARCHAR2(100) NULL, OPERATE_MODULE NUMBER NULL, MESSAGE NVARCHAR2(2000) NULL, + VALUE NVARCHAR2(100) NULL, CONSTRAINT HR_LOG_PK PRIMARY KEY (ID) ); \ No newline at end of file diff --git a/docs/表结构SQL/SqlServer.sql b/docs/表结构SQL/SqlServer.sql index 41a3c07a..04c850ba 100644 --- a/docs/表结构SQL/SqlServer.sql +++ b/docs/表结构SQL/SqlServer.sql @@ -451,7 +451,7 @@ CREATE TABLE HR_LOG ( operator_name varchar(100) NULL, create_time datetime NULL, operate_type int NULL, - params_str varchar(100) NULL, + params_str varchar(2000) NULL, client_ip varchar(100) NULL, method_name varchar(100) NULL, delete_type int NULL, @@ -459,5 +459,6 @@ CREATE TABLE HR_LOG ( operate_module_name varchar(100) NULL, operate_module int NULL, message varchar(2000) NULL, + value varchar(100) NULL, CONSTRAINT HR_LOG_PK PRIMARY KEY (id) ); \ No newline at end of file diff --git a/src/com/engine/organization/webservice/CustomBrowserService.java b/src/com/engine/organization/webservice/CustomBrowserService.java new file mode 100644 index 00000000..e666a3a4 --- /dev/null +++ b/src/com/engine/organization/webservice/CustomBrowserService.java @@ -0,0 +1,18 @@ +package com.engine.organization.webservice; + + +import javax.jws.WebMethod; +import javax.jws.WebService; + + +@WebService +public interface CustomBrowserService { + + + @WebMethod( + operationName = "getCompTreeList", + action = "com.engine.organization.webservice.CustomBrowserService.getCompTreeList" + ) + //List getCompTreeList(); + String getCompTreeList(String a,String b); +} diff --git a/src/com/engine/organization/webservice/CustomBrowserServiceImpl.java b/src/com/engine/organization/webservice/CustomBrowserServiceImpl.java new file mode 100644 index 00000000..70aeb170 --- /dev/null +++ b/src/com/engine/organization/webservice/CustomBrowserServiceImpl.java @@ -0,0 +1,62 @@ +package com.engine.organization.webservice; + +import com.engine.organization.entity.company.po.CompPO; +import com.engine.organization.mapper.comp.CompMapper; +import com.engine.organization.util.db.MapperProxyFactory; +import org.apache.commons.collections4.CollectionUtils; + +import java.util.List; +import java.util.Map; + + +public class CustomBrowserServiceImpl implements CustomBrowserService { + private CompMapper getCompMapper() { + return MapperProxyFactory.getProxy(CompMapper.class); + } + + //@Override + //public List getCompTreeList() { + // // 获取所有启用数据 + // List allList = getCompMapper().list("").stream().filter(item -> 0 == item.getForbiddenTag()).collect(Collectors.toList()); + // + // List parentList = allList.stream().filter(item -> (null == item.getParentCompany() || 0 == item.getParentCompany())).collect(Collectors.toList()); + // Map> compMap = allList.stream().filter(item -> (null != item.getParentCompany() && 0 != item.getParentCompany())).collect(Collectors.groupingBy(CompPO::getParentCompany)); + // List returnList = new ArrayList<>(); + // dealChildren(parentList, returnList, compMap); + // + // return returnList; + //} + @Override + public String getCompTreeList(String a, String b) { + StringBuilder sb = new StringBuilder(); + sb.append("\n" + + "\n" + + "\n" + + "A【" + a + "】\n" + + "\n" + + "测试ADAD\n" + + "\n" + + "\n" + + "B【" + b + "】\n" + + "测试噜啦啦啦\n" + + "\n" + + "\n" + + "C\n" + + "过年回家喽\n" + + "\n" + + ""); + + return sb.toString(); + } + + + private void dealChildren(List parentList, List returnList, Map> compMap) { + if (CollectionUtils.isEmpty(parentList)) { + return; + } + for (CompPO compPO : parentList) { + returnList.add(compPO); + dealChildren(compMap.get(compPO.getId()), returnList, compMap); + } + } +} From 7ecd58d27b315308ebb96fd591e94b8fc45b3184 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Mon, 11 Jul 2022 10:01:43 +0800 Subject: [PATCH 03/20] =?UTF-8?q?=E5=88=A0=E9=99=A4webService?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../webservice/CustomBrowserService.java | 18 ------ .../webservice/CustomBrowserServiceImpl.java | 62 ------------------- 2 files changed, 80 deletions(-) delete mode 100644 src/com/engine/organization/webservice/CustomBrowserService.java delete mode 100644 src/com/engine/organization/webservice/CustomBrowserServiceImpl.java diff --git a/src/com/engine/organization/webservice/CustomBrowserService.java b/src/com/engine/organization/webservice/CustomBrowserService.java deleted file mode 100644 index e666a3a4..00000000 --- a/src/com/engine/organization/webservice/CustomBrowserService.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.engine.organization.webservice; - - -import javax.jws.WebMethod; -import javax.jws.WebService; - - -@WebService -public interface CustomBrowserService { - - - @WebMethod( - operationName = "getCompTreeList", - action = "com.engine.organization.webservice.CustomBrowserService.getCompTreeList" - ) - //List getCompTreeList(); - String getCompTreeList(String a,String b); -} diff --git a/src/com/engine/organization/webservice/CustomBrowserServiceImpl.java b/src/com/engine/organization/webservice/CustomBrowserServiceImpl.java deleted file mode 100644 index 70aeb170..00000000 --- a/src/com/engine/organization/webservice/CustomBrowserServiceImpl.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.engine.organization.webservice; - -import com.engine.organization.entity.company.po.CompPO; -import com.engine.organization.mapper.comp.CompMapper; -import com.engine.organization.util.db.MapperProxyFactory; -import org.apache.commons.collections4.CollectionUtils; - -import java.util.List; -import java.util.Map; - - -public class CustomBrowserServiceImpl implements CustomBrowserService { - private CompMapper getCompMapper() { - return MapperProxyFactory.getProxy(CompMapper.class); - } - - //@Override - //public List getCompTreeList() { - // // 获取所有启用数据 - // List allList = getCompMapper().list("").stream().filter(item -> 0 == item.getForbiddenTag()).collect(Collectors.toList()); - // - // List parentList = allList.stream().filter(item -> (null == item.getParentCompany() || 0 == item.getParentCompany())).collect(Collectors.toList()); - // Map> compMap = allList.stream().filter(item -> (null != item.getParentCompany() && 0 != item.getParentCompany())).collect(Collectors.groupingBy(CompPO::getParentCompany)); - // List returnList = new ArrayList<>(); - // dealChildren(parentList, returnList, compMap); - // - // return returnList; - //} - @Override - public String getCompTreeList(String a, String b) { - StringBuilder sb = new StringBuilder(); - sb.append("\n" + - "\n" + - "\n" + - "A【" + a + "】\n" + - "\n" + - "测试ADAD\n" + - "\n" + - "\n" + - "B【" + b + "】\n" + - "测试噜啦啦啦\n" + - "\n" + - "\n" + - "C\n" + - "过年回家喽\n" + - "\n" + - ""); - - return sb.toString(); - } - - - private void dealChildren(List parentList, List returnList, Map> compMap) { - if (CollectionUtils.isEmpty(parentList)) { - return; - } - for (CompPO compPO : parentList) { - returnList.add(compPO); - dealChildren(compMap.get(compPO.getId()), returnList, compMap); - } - } -} From 81fcd96af622127b98dde627ef0237aeb6446bbd Mon Sep 17 00:00:00 2001 From: dxfeng Date: Mon, 11 Jul 2022 15:59:15 +0800 Subject: [PATCH 04/20] =?UTF-8?q?=E4=BA=BA=E5=91=98=E6=8B=93=E5=B1=95?= =?UTF-8?q?=E5=8D=A1=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/表结构SQL/MySQL.sql | 20 ++- docs/表结构SQL/Oracle.sql | 20 ++- docs/表结构SQL/SqlServer.sql | 18 ++ .../entity/hrmresource/bo/HrmRelationBO.java | 29 ++++ .../param/HrmRelationSaveParam.java | 67 ++++++++ .../entity/hrmresource/po/HrmRelationPO.java | 75 +++++++++ .../mapper/hrmresource/HrmRelationMapper.java | 18 ++ .../mapper/hrmresource/HrmRelationMapper.xml | 158 ++++++++++++++++++ .../mapper/scheme/GradeMapper.java | 6 + .../mapper/scheme/GradeMapper.xml | 11 ++ .../service/HrmResourceService.java | 22 +++ .../service/impl/HrmResourceServiceImpl.java | 151 +++++++++++++++++ .../web/HrmResourceController.java | 52 +++++- .../wrapper/HrmResourceWrapper.java | 12 ++ 14 files changed, 650 insertions(+), 9 deletions(-) create mode 100644 src/com/engine/organization/entity/hrmresource/bo/HrmRelationBO.java create mode 100644 src/com/engine/organization/entity/hrmresource/param/HrmRelationSaveParam.java create mode 100644 src/com/engine/organization/entity/hrmresource/po/HrmRelationPO.java create mode 100644 src/com/engine/organization/mapper/hrmresource/HrmRelationMapper.java create mode 100644 src/com/engine/organization/mapper/hrmresource/HrmRelationMapper.xml diff --git a/docs/表结构SQL/MySQL.sql b/docs/表结构SQL/MySQL.sql index e07ea392..9f0e7172 100644 --- a/docs/表结构SQL/MySQL.sql +++ b/docs/表结构SQL/MySQL.sql @@ -481,7 +481,7 @@ CREATE TABLE HR_LOG ( operate_desc varchar(100) NULL, operator_id int NULL, operator_name varchar(100) NULL, - create_time date NULL, + create_time datetime NULL, operate_type int NULL, params_str varchar(2000) NULL, client_ip varchar(100) NULL, @@ -494,3 +494,21 @@ CREATE TABLE HR_LOG ( value varchar(100) NULL, CONSTRAINT HR_LOG_PK PRIMARY KEY (id) ); + +create table JCL_ORG_HRMRELATION ( + id int not null, + scheme_id int null, + level_id varchar(100) null, + grade_id int null, + sequence_id int null, + post_id int null, + post_info_id int null, + company_id int null, + department_id int null, + job_id int null, + creator int null, + delete_type int null, + create_time datetime null, + update_time datetime null, + constraint JCL_ORG_HRMRELATION_PK primary key (id) +); diff --git a/docs/表结构SQL/Oracle.sql b/docs/表结构SQL/Oracle.sql index 600b39f1..57df152b 100644 --- a/docs/表结构SQL/Oracle.sql +++ b/docs/表结构SQL/Oracle.sql @@ -462,4 +462,22 @@ CREATE TABLE HR_LOG ( MESSAGE NVARCHAR2(2000) NULL, VALUE NVARCHAR2(100) NULL, CONSTRAINT HR_LOG_PK PRIMARY KEY (ID) -); \ No newline at end of file +); + +CREATE TABLE JCL_ORG_HRMRELATION ( + ID NUMBER NOT NULL, + SCHEME_ID NUMBER NULL, + LEVEL_ID NVARCHAR2(100) NULL, + GRADE_ID NUMBER NULL, + SEQUENCE_ID NUMBER NULL, + POST_ID NUMBER NULL, + POST_INFO_ID NUMBER NULL, + COMPANY_ID NUMBER NULL, + DEPARTMENT_ID NUMBER NULL, + JOB_ID NUMBER NULL, + CREATOR NUMBER NULL, + DELETE_TYPE NUMBER NULL, + CREATE_TIME DATE NULL, + UPDATE_TIME DATE NULL, + CONSTRAINT JCL_ORG_HRMRELATION_PK PRIMARY KEY (ID) +); diff --git a/docs/表结构SQL/SqlServer.sql b/docs/表结构SQL/SqlServer.sql index 04c850ba..f791ae5b 100644 --- a/docs/表结构SQL/SqlServer.sql +++ b/docs/表结构SQL/SqlServer.sql @@ -461,4 +461,22 @@ CREATE TABLE HR_LOG ( message varchar(2000) NULL, value varchar(100) NULL, CONSTRAINT HR_LOG_PK PRIMARY KEY (id) +); + +create table JCL_ORG_HRMRELATION ( + id int not null, + scheme_id int null, + level_id varchar(100) null, + grade_id int null, + sequence_id int null, + post_id int null, + post_info_id int null, + company_id int null, + department_id int null, + job_id int null, + creator int null, + delete_type int null, + create_time datetime null, + update_time datetime null, + constraint JCL_ORG_HRMRELATION_PK primary key (id) ); \ No newline at end of file diff --git a/src/com/engine/organization/entity/hrmresource/bo/HrmRelationBO.java b/src/com/engine/organization/entity/hrmresource/bo/HrmRelationBO.java new file mode 100644 index 00000000..d1bff0ba --- /dev/null +++ b/src/com/engine/organization/entity/hrmresource/bo/HrmRelationBO.java @@ -0,0 +1,29 @@ +package com.engine.organization.entity.hrmresource.bo; + +import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam; +import com.engine.organization.entity.hrmresource.po.HrmRelationPO; + +/** + * @author:dxfeng + * @createTime: 2022/07/11 + * @version: 1.0 + */ +public class HrmRelationBO { + public static HrmRelationPO convertSaveParamToPO(HrmRelationSaveParam saveParam) { + if (null == saveParam) { + return null; + } + return HrmRelationPO.builder() + .id(saveParam.getId()) + .schemeId(saveParam.getSchemeId()) + .levelId(saveParam.getLevelId()) + .gradeId(saveParam.getGradeId()) + .sequenceId(saveParam.getSequenceId()) + .postId(saveParam.getPostId()) + .postInfoId(saveParam.getPostInfoId()) + .companyId(saveParam.getCompanyId()) + .departmentId(saveParam.getDepartmentId()) + .jobId(saveParam.getJobId()) + .build(); + } +} diff --git a/src/com/engine/organization/entity/hrmresource/param/HrmRelationSaveParam.java b/src/com/engine/organization/entity/hrmresource/param/HrmRelationSaveParam.java new file mode 100644 index 00000000..04a0c1e4 --- /dev/null +++ b/src/com/engine/organization/entity/hrmresource/param/HrmRelationSaveParam.java @@ -0,0 +1,67 @@ +package com.engine.organization.entity.hrmresource.param; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author:dxfeng + * @createTime: 2022/07/11 + * @version: 1.0 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class HrmRelationSaveParam { + /** + * 人员ID + */ + private Long id; + + /** + * 等级方案ID + */ + private Long schemeId; + + /** + * 职等ID + */ + private String levelId; + + /** + * 职级ID + */ + private Long gradeId; + + /** + * 岗位序列ID + */ + private Long sequenceId; + + /** + * 职务分类ID + */ + private Long postId; + + /** + * 职务信息ID + */ + private Long postInfoId; + + /** + * 分部ID + */ + private Long companyId; + + /** + * 部门ID + */ + private Long departmentId; + + /** + * 岗位ID + */ + private Long jobId; +} diff --git a/src/com/engine/organization/entity/hrmresource/po/HrmRelationPO.java b/src/com/engine/organization/entity/hrmresource/po/HrmRelationPO.java new file mode 100644 index 00000000..0e9c7899 --- /dev/null +++ b/src/com/engine/organization/entity/hrmresource/po/HrmRelationPO.java @@ -0,0 +1,75 @@ +package com.engine.organization.entity.hrmresource.po; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @author:dxfeng + * @createTime: 2022/07/11 + * @version: 1.0 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class HrmRelationPO { + /** + * 人员ID + */ + private Long id; + + /** + * 等级方案ID + */ + private Long schemeId; + + /** + * 职等ID + */ + private String levelId; + + /** + * 职级ID + */ + private Long gradeId; + + /** + * 岗位序列ID + */ + private Long sequenceId; + + /** + * 职务分类ID + */ + private Long postId; + + /** + * 职务信息ID + */ + private Long postInfoId; + + /** + * 分部ID + */ + private Long companyId; + + /** + * 部门ID + */ + private Long departmentId; + + /** + * 岗位ID + */ + private Long jobId; + + private Long creator; + private Integer deleteType; + private Date createTime; + private Date updateTime; + +} diff --git a/src/com/engine/organization/mapper/hrmresource/HrmRelationMapper.java b/src/com/engine/organization/mapper/hrmresource/HrmRelationMapper.java new file mode 100644 index 00000000..2d82fdd5 --- /dev/null +++ b/src/com/engine/organization/mapper/hrmresource/HrmRelationMapper.java @@ -0,0 +1,18 @@ +package com.engine.organization.mapper.hrmresource; + +import com.engine.organization.entity.hrmresource.po.HrmRelationPO; +import org.apache.ibatis.annotations.Param; + +/** + * @description: + * @author:dxfeng + * @createTime: 2022/05/20 + * @version: 1.0 + */ +public interface HrmRelationMapper { + HrmRelationPO getRelationById(@Param("id") Long id); + + int insertIgnoreNull(HrmRelationPO relationPO); + + int updateHrmRelation(HrmRelationPO relationPO); +} diff --git a/src/com/engine/organization/mapper/hrmresource/HrmRelationMapper.xml b/src/com/engine/organization/mapper/hrmresource/HrmRelationMapper.xml new file mode 100644 index 00000000..01b0b6f7 --- /dev/null +++ b/src/com/engine/organization/mapper/hrmresource/HrmRelationMapper.xml @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + + + + + + + + + t + . + id + , t.scheme_id + , t.level_id + , t.grade_id + , t.sequence_id + , t.post_id + , t.post_info_id + , t.company_id + , t.department_id + , t.job_id + , t.creator + , t.delete_type + , t.create_time + , t.update_time + + + INSERT INTO jcl_org_hrmrelation + + + creator, + + + delete_type, + + + create_time, + + + update_time, + + + id, + + + scheme_id, + + + level_id, + + + grade_id, + + + sequence_id, + + + post_id, + + + post_info_id, + + + company_id, + + + department_id, + + + job_id, + + + + + #{creator}, + + + #{deleteType}, + + + #{createTime}, + + + #{updateTime}, + + + #{id}, + + + #{schemeId}, + + + #{levelId}, + + + #{gradeId}, + + + #{sequenceId}, + + + #{postId}, + + + #{postInfoId}, + + + #{companyId}, + + + #{departmentId}, + + + #{jobId}, + + + + + update jcl_org_hrmrelation + + update_time=#{updateTime}, + scheme_id=#{schemeId}, + level_id=#{levelId}, + grade_id=#{gradeId}, + sequence_id=#{sequenceId}, + post_id=#{postId}, + post_info_id=#{postInfoId}, + company_id=#{companyId}, + department_id=#{departmentId}, + job_id=#{jobId}, + + WHERE id = #{id} AND delete_type = 0 + + + + + \ No newline at end of file diff --git a/src/com/engine/organization/mapper/scheme/GradeMapper.java b/src/com/engine/organization/mapper/scheme/GradeMapper.java index 562aaee5..4e246948 100644 --- a/src/com/engine/organization/mapper/scheme/GradeMapper.java +++ b/src/com/engine/organization/mapper/scheme/GradeMapper.java @@ -2,10 +2,12 @@ package com.engine.organization.mapper.scheme; import com.engine.organization.entity.scheme.po.GradePO; +import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Param; import java.util.Collection; import java.util.List; +import java.util.Map; /** * @Author dxfeng @@ -81,4 +83,8 @@ public interface GradeMapper { List listUsedId(); List getGradeNameByIds(@Param("ids") Collection ids); + + @MapKey("id") + List> listGradessByIds(@Param("ids") Collection ids); + } diff --git a/src/com/engine/organization/mapper/scheme/GradeMapper.xml b/src/com/engine/organization/mapper/scheme/GradeMapper.xml index 46b23399..7f26ef91 100644 --- a/src/com/engine/organization/mapper/scheme/GradeMapper.xml +++ b/src/com/engine/organization/mapper/scheme/GradeMapper.xml @@ -66,6 +66,17 @@ #{id} + update jcl_org_grade diff --git a/src/com/engine/organization/service/HrmResourceService.java b/src/com/engine/organization/service/HrmResourceService.java index 5c0193b3..f7a3ddc8 100644 --- a/src/com/engine/organization/service/HrmResourceService.java +++ b/src/com/engine/organization/service/HrmResourceService.java @@ -1,5 +1,6 @@ package com.engine.organization.service; +import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam; import com.engine.organization.entity.hrmresource.param.HrmResourceSearchParam; import com.engine.organization.entity.searchtree.SearchTreeParams; @@ -73,4 +74,25 @@ public interface HrmResourceService { * @return */ Map getHasRight(); + + /** + * 拓展表单 + */ + Map getTabForm(Map params); + + /** + * 新增拓展表单 + * + * @param params + * @return + */ + long saveTabForm(HrmRelationSaveParam params); + + /** + * 更新拓展表单 + * + * @param params + * @return + */ + long updateTabForm(HrmRelationSaveParam params); } diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index c58aa7aa..026ec1ac 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -1,5 +1,6 @@ package com.engine.organization.service.impl; +import com.api.browser.bean.BrowserBean; import com.api.browser.bean.SearchConditionGroup; import com.api.browser.bean.SearchConditionItem; import com.cloudstore.eccom.result.WeaResultMsg; @@ -12,7 +13,10 @@ import com.engine.organization.entity.company.po.CompPO; import com.engine.organization.entity.department.bo.DepartmentBO; import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.extend.po.ExtendTitlePO; +import com.engine.organization.entity.hrmresource.bo.HrmRelationBO; +import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam; import com.engine.organization.entity.hrmresource.param.HrmResourceSearchParam; +import com.engine.organization.entity.hrmresource.po.HrmRelationPO; import com.engine.organization.entity.hrmresource.vo.ScHrmResourceVO; import com.engine.organization.entity.job.bo.JobBO; import com.engine.organization.entity.job.po.JobPO; @@ -21,7 +25,14 @@ import com.engine.organization.entity.searchtree.SearchTreeParams; 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.job.JobMapper; +import com.engine.organization.mapper.post.PostInfoMapper; +import com.engine.organization.mapper.post.PostMapper; +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.service.ExtService; import com.engine.organization.service.HrmResourceService; import com.engine.organization.util.MenuBtn; @@ -39,6 +50,7 @@ import weaver.hrm.User; import java.util.*; import java.util.stream.Collectors; +import java.util.stream.Stream; /** * @author:dxfeng @@ -82,6 +94,34 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic */ private static final String JCL_ORG_HRMEXT_DT1 = "JCL_ORG_HRMRESOURCEEXT_DT1"; + private SchemeMapper getSchemeMapper() { + return MapperProxyFactory.getProxy(SchemeMapper.class); + } + + private LevelMapper getLevelMapper() { + return MapperProxyFactory.getProxy(LevelMapper.class); + } + + private GradeMapper getGradeMapper() { + return MapperProxyFactory.getProxy(GradeMapper.class); + } + + private SequenceMapper getSequenceMapper() { + return MapperProxyFactory.getProxy(SequenceMapper.class); + } + + private PostMapper getPostMapper() { + return MapperProxyFactory.getProxy(PostMapper.class); + } + + private PostInfoMapper getPostInfoMapper() { + return MapperProxyFactory.getProxy(PostInfoMapper.class); + } + + private HrmRelationMapper getHrmRelationMapper() { + return MapperProxyFactory.getProxy(HrmRelationMapper.class); + } + private DepartmentMapper getDepartmentMapper() { return MapperProxyFactory.getProxy(DepartmentMapper.class); } @@ -102,6 +142,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic return ServiceUtil.getService(ExtServiceImpl.class, user); } + @Override public Map getSearchTree(SearchTreeParams params) { String keyword = params.getKeyword(); @@ -243,6 +284,116 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic return btnDatas; } + @Override + public Map getTabForm(Map params) { + String viewAttrStr = (String) params.get("viewAttr"); + OrganizationAssert.notBlank(viewAttrStr, "未指定操作类型,请确认"); + String id = Util.null2String(params.get("id")); + 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"); + SearchConditionItem gradeId = OrganizationFormItemUtil.browserItem(user, 2, 17, viewAttr, false, "职级", "161", "gradeId", "gradeBrowser"); + gradeId.setRules("required"); + SearchConditionItem levelId = OrganizationFormItemUtil.browserItem(user, 2, 17, viewAttr, false, "职等", "162", "levelId", "levelBrowser"); + levelId.setRules("required"); + SearchConditionItem sequenceId = OrganizationFormItemUtil.browserItem(user, 2, 17, viewAttr, false, "岗位序列", "161", "sequenceId", "sequenceBrowser"); + sequenceId.setRules("required"); + SearchConditionItem postId = OrganizationFormItemUtil.browserItem(user, 2, 17, viewAttr, false, "职务分类", "161", "postId", "postBrowser"); + 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"); + companyId.setRules("required"); + SearchConditionItem departmentId = OrganizationFormItemUtil.browserItem(user, 2, 17, viewAttr, false, "部门", "161", "departmentId", "deptBrowser"); + departmentId.setRules("required"); + SearchConditionItem jobId = OrganizationFormItemUtil.browserItem(user, 2, 17, viewAttr, false, "岗位", "161", "jobId", "jobBrowser"); + jobId.setRules("required"); + + + // 编辑状态下赋值操作 + HrmRelationPO relationPO = getHrmRelationMapper().getRelationById(Long.parseLong(id)); + if (null != relationPO) { + setBrowserValue(schemeId, relationPO.getSchemeId(), getSchemeMapper().listSchemesByIds(Stream.of(relationPO.getSchemeId()).collect(Collectors.toList())), null, null); + setBrowserValue(gradeId, relationPO.getGradeId(), getGradeMapper().listGradessByIds(Stream.of(relationPO.getGradeId()).collect(Collectors.toList())), "scheme_id", relationPO.getSchemeId()); + setBrowserValue(levelId, relationPO.getLevelId(), getLevelMapper().listLevelsByIds(DeleteParam.builder().ids(relationPO.getLevelId()).build().getIds()), "grade_id", relationPO.getGradeId()); + 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()); + } + + 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)); + HashMap buttonsMap = new HashMap<>(); + buttonsMap.put("hasEdit", true); + buttonsMap.put("hasSave", true); + apiDatas.put("buttons", buttonsMap); + apiDatas.put("conditions", addGroups); + return apiDatas; + } + + @Override + public long saveTabForm(HrmRelationSaveParam params) { + HrmRelationPO hrmRelationPO = HrmRelationBO.convertSaveParamToPO(params); + hrmRelationPO.setCreator((long) user.getUID()); + hrmRelationPO.setCreateTime(new Date()); + hrmRelationPO.setDeleteType(0); + getHrmRelationMapper().insertIgnoreNull(hrmRelationPO); + return hrmRelationPO.getId(); + } + + @Override + public long updateTabForm(HrmRelationSaveParam params) { + HrmRelationPO hrmRelationPO = HrmRelationBO.convertSaveParamToPO(params); + hrmRelationPO.setUpdateTime(new Date()); + getHrmRelationMapper().updateHrmRelation(hrmRelationPO); + return hrmRelationPO.getId(); + } + + /** + * 浏览按钮赋值 + * + * @param browserItem + * @param browserValue + * @param maps + */ + private void setBrowserValue(SearchConditionItem browserItem, Object browserValue, List> maps, String relateField, Object relatedValue) { + browserItem.setValue(browserValue); + BrowserBean browserBean = browserItem.getBrowserConditionParam(); + browserBean.setReplaceDatas(maps); + browserItem.setBrowserConditionParam(browserBean); + + if (StringUtils.isNotBlank(relateField) && 1 != browserItem.getViewAttr()) { + long l = System.currentTimeMillis(); + Map completeParams = browserBean.getCompleteParams(); + completeParams.put("currenttime", l); + completeParams.put(relateField + "_" + l, relatedValue); + Map conditionDataParams = browserBean.getConditionDataParams(); + conditionDataParams.put("currenttime", l); + conditionDataParams.put(relateField + "_" + l, relatedValue); + Map dataParams = browserBean.getDataParams(); + dataParams.put("currenttime", l); + dataParams.put(relateField + "_" + l, relatedValue); + Map destDataParams = browserBean.getDestDataParams(); + destDataParams.put("currenttime", l); + destDataParams.put(relateField + "_" + l, relatedValue); + } + } + /** * 查询条件 * diff --git a/src/com/engine/organization/web/HrmResourceController.java b/src/com/engine/organization/web/HrmResourceController.java index ef14a065..c9d101fd 100644 --- a/src/com/engine/organization/web/HrmResourceController.java +++ b/src/com/engine/organization/web/HrmResourceController.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.engine.common.util.ParamUtil; import com.engine.common.util.ServiceUtil; +import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam; import com.engine.organization.entity.hrmresource.param.HrmResourceSearchParam; import com.engine.organization.entity.searchtree.SearchTreeParams; import com.engine.organization.util.response.ReturnResult; @@ -67,7 +68,7 @@ public class HrmResourceController { HrmResourceSearchParam param = JSONObject.toJavaObject((JSON) JSONObject.toJSON(map), HrmResourceSearchParam.class); return ReturnResult.successed(getHrmResourceWrapper(user).listPage(param)); } catch (Exception e) { - return ReturnResult.exceptionHandle(e); + return ReturnResult.exceptionHandle(e); } } @@ -86,7 +87,7 @@ public class HrmResourceController { User user = HrmUserVarify.getUser(request, response); return ReturnResult.successed(getHrmResourceWrapper(user).getSaveForm()); } catch (Exception e) { - return ReturnResult.exceptionHandle(e); + return ReturnResult.exceptionHandle(e); } } @@ -105,7 +106,7 @@ public class HrmResourceController { User user = HrmUserVarify.getUser(request, response); return ReturnResult.successed(getHrmResourceWrapper(user).saveBaseForm(params)); } catch (Exception e) { - return ReturnResult.exceptionHandle(e); + return ReturnResult.exceptionHandle(e); } } @@ -125,7 +126,7 @@ public class HrmResourceController { Map map = ParamUtil.request2Map(request); return ReturnResult.successed(getHrmResourceWrapper(user).getBaseForm(map)); } catch (Exception e) { - return ReturnResult.exceptionHandle(e); + return ReturnResult.exceptionHandle(e); } } @@ -145,7 +146,7 @@ public class HrmResourceController { Map map = ParamUtil.request2Map(request); return ReturnResult.successed(getHrmResourceWrapper(user).updateForm(map)); } catch (Exception e) { - return ReturnResult.exceptionHandle(e); + return ReturnResult.exceptionHandle(e); } } @@ -165,7 +166,7 @@ public class HrmResourceController { Map map = ParamUtil.request2Map(request); return ReturnResult.successed(getHrmResourceWrapper(user).getSearchCondition(map)); } catch (Exception e) { - return ReturnResult.exceptionHandle(e); + return ReturnResult.exceptionHandle(e); } } @@ -184,7 +185,44 @@ public class HrmResourceController { User user = HrmUserVarify.getUser(request, response); return ReturnResult.successed(getHrmResourceWrapper(user).getHasRight()); } catch (Exception e) { - return ReturnResult.exceptionHandle(e); + return ReturnResult.exceptionHandle(e); + } + } + + @GET + @Path("/getTabForm") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getTabForm(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + return ReturnResult.successed(getHrmResourceWrapper(user).getTabForm(map)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } + + @POST + @Path("/saveTabForm") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult saveTabForm(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody HrmRelationSaveParam params) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getHrmResourceWrapper(user).saveTabForm(params)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } + + @POST + @Path("/updateTabForm") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult updateTabForm(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody HrmRelationSaveParam params) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getHrmResourceWrapper(user).updateTabForm(params)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); } } } diff --git a/src/com/engine/organization/wrapper/HrmResourceWrapper.java b/src/com/engine/organization/wrapper/HrmResourceWrapper.java index 32c35df8..b31d1dbb 100644 --- a/src/com/engine/organization/wrapper/HrmResourceWrapper.java +++ b/src/com/engine/organization/wrapper/HrmResourceWrapper.java @@ -1,6 +1,7 @@ package com.engine.organization.wrapper; import com.engine.common.util.ServiceUtil; +import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam; import com.engine.organization.entity.hrmresource.param.HrmResourceSearchParam; import com.engine.organization.entity.searchtree.SearchTreeParams; import com.engine.organization.service.HrmResourceService; @@ -55,5 +56,16 @@ public class HrmResourceWrapper extends OrganizationWrapper { return getHrmResourceService(user).getHasRight(); } + public Map getTabForm(Map params) { + return getHrmResourceService(user).getTabForm(params); + } + + public long saveTabForm(HrmRelationSaveParam params) { + return getHrmResourceService(user).saveTabForm(params); + } + + public long updateTabForm(HrmRelationSaveParam params) { + return getHrmResourceService(user).updateTabForm(params); + } } From b52bb93dfa5a5c55bc39956826766fd4c1ff34e1 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 12 Jul 2022 16:38:27 +0800 Subject: [PATCH 05/20] =?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 a1ed3e45c9a9c0afdf69c03e78ada81cb3f0afa8 Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Wed, 13 Jul 2022 09:20:21 +0800 Subject: [PATCH 06/20] =?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 01ea1e8899138e5ed964b3bd6616e847de9aca3f Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Wed, 13 Jul 2022 10:22:08 +0800 Subject: [PATCH 07/20] =?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 e217ecbe16a38a942b7a70e9e91b83cfb823a7f5 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 13 Jul 2022 10:55:44 +0800 Subject: [PATCH 08/20] =?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 fcb9761ae7e789b86aee2405c757329c66180323 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 13 Jul 2022 11:01:48 +0800 Subject: [PATCH 09/20] =?UTF-8?q?=E5=88=86=E9=83=A8=E3=80=81=E9=83=A8?= =?UTF-8?q?=E9=97=A8=20=E6=B7=BB=E5=8A=A0UUID=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/表结构SQL/MySQL.sql | 2 ++ docs/表结构SQL/Oracle.sql | 2 ++ docs/表结构SQL/SqlServer.sql | 2 ++ 3 files changed, 6 insertions(+) diff --git a/docs/表结构SQL/MySQL.sql b/docs/表结构SQL/MySQL.sql index 9f0e7172..9002ff05 100644 --- a/docs/表结构SQL/MySQL.sql +++ b/docs/表结构SQL/MySQL.sql @@ -111,6 +111,7 @@ CREATE TABLE JCL_ORG_COMP ( delete_type int null, create_time date null, update_time date null, + uuid varchar(100) null, CONSTRAINT JCL_ORG_COMP_PK PRIMARY KEY (id) ); @@ -211,6 +212,7 @@ CREATE TABLE JCL_ORG_DEPT ( delete_type int null, create_time date null, update_time date null, + uuid varchar(100) null, CONSTRAINT JCL_ORG_DEPT_PK PRIMARY KEY (id) ); diff --git a/docs/表结构SQL/Oracle.sql b/docs/表结构SQL/Oracle.sql index 57df152b..4819f736 100644 --- a/docs/表结构SQL/Oracle.sql +++ b/docs/表结构SQL/Oracle.sql @@ -113,6 +113,7 @@ CREATE TABLE JCL_ORG_COMP ( DELETE_TYPE NUMBER NULL, CREATE_TIME DATE NULL, UPDATE_TIME DATE NULL, + UUID NVARCHAR2(100) NULL, CONSTRAINT JCL_ORG_COMP_PK PRIMARY KEY (ID) ); @@ -213,6 +214,7 @@ CREATE TABLE JCL_ORG_DEPT ( DELETE_TYPE NUMBER NULL, CREATE_TIME DATE NULL, UPDATE_TIME DATE NULL, + UUID NVARCHAR2(100) NULL, CONSTRAINT JCL_ORG_DEPT_PK PRIMARY KEY (ID) ); diff --git a/docs/表结构SQL/SqlServer.sql b/docs/表结构SQL/SqlServer.sql index f791ae5b..bbfcf1a3 100644 --- a/docs/表结构SQL/SqlServer.sql +++ b/docs/表结构SQL/SqlServer.sql @@ -111,6 +111,7 @@ CREATE TABLE JCL_ORG_COMP ( delete_type int null, create_time datetime null, update_time datetime null, + uuid varchar(100) null, CONSTRAINT JCL_ORG_COMP_PK PRIMARY KEY (id) ); @@ -211,6 +212,7 @@ CREATE TABLE JCL_ORG_DEPT ( delete_type int null, create_time datetime null, update_time datetime null, + uuid varchar(100) null, CONSTRAINT JCL_ORG_DEPT_PK PRIMARY KEY (id) ); From 15c9ef7e61d9547ba7e9fd880cbfa5ed3aa20161 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 13 Jul 2022 17:19:45 +0800 Subject: [PATCH 10/20] =?UTF-8?q?=E5=88=86=E9=83=A8=E3=80=81=E9=83=A8?= =?UTF-8?q?=E9=97=A8=20=E6=B7=BB=E5=8A=A0UUID=E5=88=97;=E9=83=A8=E9=97=A8?= =?UTF-8?q?=E8=A1=A8=E7=BB=93=E6=9E=84=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/表结构SQL/MySQL.sql | 2 + docs/表结构SQL/Oracle.sql | 2 + docs/表结构SQL/SqlServer.sql | 2 + .../organization/entity/job/bo/JobBO.java | 12 ++- .../entity/job/param/JobSearchParam.java | 8 +- .../organization/entity/job/po/JobPO.java | 10 +++ .../organization/mapper/comp/CompMapper.java | 8 ++ .../organization/mapper/comp/CompMapper.xml | 8 ++ .../mapper/department/DepartmentMapper.java | 9 ++ .../mapper/department/DepartmentMapper.xml | 7 ++ .../service/impl/JobServiceImpl.java | 29 ++++--- .../thread/OrganizationRunable.java | 57 +++---------- .../util/relation/EcHrmRelationUtil.java | 84 +++++++++++++++++++ 13 files changed, 175 insertions(+), 63 deletions(-) create mode 100644 src/com/engine/organization/util/relation/EcHrmRelationUtil.java diff --git a/docs/表结构SQL/MySQL.sql b/docs/表结构SQL/MySQL.sql index 9002ff05..b3cbd6e6 100644 --- a/docs/表结构SQL/MySQL.sql +++ b/docs/表结构SQL/MySQL.sql @@ -243,7 +243,9 @@ CREATE TABLE JCL_ORG_JOB ( job_no varchar(100) NULL, job_name varchar(100) NULL, parent_comp int null, + ec_company int null, parent_dept int null, + ec_department int null, sequence_id int null, scheme_id int null, parent_job int null, diff --git a/docs/表结构SQL/Oracle.sql b/docs/表结构SQL/Oracle.sql index 4819f736..ee97c0d0 100644 --- a/docs/表结构SQL/Oracle.sql +++ b/docs/表结构SQL/Oracle.sql @@ -245,7 +245,9 @@ CREATE TABLE JCL_ORG_JOB ( JOB_NO NVARCHAR2(100) NULL, JOB_NAME NVARCHAR2(100) NULL, PARENT_COMP NUMBER NULL, + EC_COMPANY NUMBER NULL, PARENT_DEPT NUMBER NULL, + EC_DEPARTMENT NUMBER NULL, SEQUENCE_ID NUMBER NULL, SCHEME_ID NUMBER NULL, PARENT_JOB NUMBER NULL, diff --git a/docs/表结构SQL/SqlServer.sql b/docs/表结构SQL/SqlServer.sql index bbfcf1a3..0fbe147c 100644 --- a/docs/表结构SQL/SqlServer.sql +++ b/docs/表结构SQL/SqlServer.sql @@ -243,7 +243,9 @@ CREATE TABLE JCL_ORG_JOB ( job_no varchar(100) COLLATE Chinese_PRC_CI_AS NULL, job_name varchar(100) COLLATE Chinese_PRC_CI_AS NULL, parent_comp int null, + ec_company int null, parent_dept int null, + ec_department int null, sequence_id int null, scheme_id int null, parent_job int null, diff --git a/src/com/engine/organization/entity/job/bo/JobBO.java b/src/com/engine/organization/entity/job/bo/JobBO.java index 9e9d294c..ee51624a 100644 --- a/src/com/engine/organization/entity/job/bo/JobBO.java +++ b/src/com/engine/organization/entity/job/bo/JobBO.java @@ -1,5 +1,7 @@ package com.engine.organization.entity.job.bo; +import com.engine.organization.entity.company.po.CompPO; +import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.job.dto.JobListDTO; import com.engine.organization.entity.job.param.JobSearchParam; import com.engine.organization.entity.job.po.JobPO; @@ -8,7 +10,9 @@ import com.engine.organization.entity.searchtree.SearchTree; import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.transmethod.JobTransMethod; import com.engine.organization.util.db.MapperProxyFactory; +import com.engine.organization.util.relation.EcHrmRelationUtil; import org.apache.commons.collections.CollectionUtils; +import weaver.general.Util; import java.util.*; import java.util.stream.Collectors; @@ -25,13 +29,17 @@ public class JobBO { if (null == param) { return null; } + CompPO jclCompany = EcHrmRelationUtil.getJclCompanyId(null == param.getEcCompany() ? Util.null2String(param.getSubcompanyid1()) : param.getEcCompany().toString()); + DepartmentPO jclDepartment = EcHrmRelationUtil.getJclDepartmentId(null == param.getEcDepartment() ? Util.null2String(param.getDepartmentid()): param.getEcDepartment().toString()); return JobPO .builder() .id(param.getId() == null ? 0 : param.getId()) .jobNo(param.getJobNo()) .jobName(param.getJobName()) - .parentComp(null == param.getParentComp() ? param.getSubcompanyid1() : param.getParentComp()) - .parentDept(null == param.getParentDept() ? param.getDepartmentid() : param.getParentDept()) + .ecCompany(null == param.getEcCompany() ? param.getSubcompanyid1() : param.getEcCompany()) + .ecDepartment(null == param.getEcDepartment() ? param.getDepartmentid() : param.getEcDepartment()) + .parentComp(null == jclCompany ? null : jclCompany.getId()) + .parentDept(null == jclDepartment ? null : jclDepartment.getId()) .sequenceId(param.getSequenceId()) .schemeId(param.getSchemeId()) .parentJob(param.getParentJob()) diff --git a/src/com/engine/organization/entity/job/param/JobSearchParam.java b/src/com/engine/organization/entity/job/param/JobSearchParam.java index 2d7cc07a..9989867d 100644 --- a/src/com/engine/organization/entity/job/param/JobSearchParam.java +++ b/src/com/engine/organization/entity/job/param/JobSearchParam.java @@ -30,13 +30,13 @@ public class JobSearchParam extends BaseQueryParam { */ private String jobName; /** - * 所属分部 + * ec分部 */ - private Long parentComp; + private Long ecCompany; /** - * 所属部门 + * ec部门 */ - private Long parentDept; + private Long ecDepartment; /** * 岗位序列 */ diff --git a/src/com/engine/organization/entity/job/po/JobPO.java b/src/com/engine/organization/entity/job/po/JobPO.java index 79be008f..d635e321 100644 --- a/src/com/engine/organization/entity/job/po/JobPO.java +++ b/src/com/engine/organization/entity/job/po/JobPO.java @@ -34,10 +34,20 @@ public class JobPO { * 所属分部 */ private Long parentComp; + + /** + * ec分部 + */ + private Long ecCompany; /** * 所属部门 */ private Long parentDept; + /** + * ec部门 + */ + private Long ecDepartment; + /** * 岗位序列 */ diff --git a/src/com/engine/organization/mapper/comp/CompMapper.java b/src/com/engine/organization/mapper/comp/CompMapper.java index ff119d78..755dd9df 100644 --- a/src/com/engine/organization/mapper/comp/CompMapper.java +++ b/src/com/engine/organization/mapper/comp/CompMapper.java @@ -77,6 +77,14 @@ public interface CompMapper { */ CompPO listById(@Param("id") long id); + /** + * 根据UUID查询数据 + * + * @param uuid + * @return + */ + CompPO getCompanyByUUID(@Param("uuid") String uuid); + /** * 根据No查询数据 diff --git a/src/com/engine/organization/mapper/comp/CompMapper.xml b/src/com/engine/organization/mapper/comp/CompMapper.xml index 77a1aad8..9bf6e072 100644 --- a/src/com/engine/organization/mapper/comp/CompMapper.xml +++ b/src/com/engine/organization/mapper/comp/CompMapper.xml @@ -292,6 +292,14 @@ from JCL_ORG_STAFFPLAN where delete_type = 0 + update jcl_org_comp diff --git a/src/com/engine/organization/mapper/department/DepartmentMapper.java b/src/com/engine/organization/mapper/department/DepartmentMapper.java index 6b4c470c..f30e2787 100644 --- a/src/com/engine/organization/mapper/department/DepartmentMapper.java +++ b/src/com/engine/organization/mapper/department/DepartmentMapper.java @@ -62,6 +62,14 @@ public interface DepartmentMapper { */ DepartmentPO getDeptById(@Param("id") long id); + /** + * 根据UUID查询数据 + * + * @param uuid + * @return + */ + DepartmentPO getDepartmentByUUID(@Param("uuid") String uuid); + /** * 根据ID查询名称 * @@ -117,6 +125,7 @@ public interface DepartmentMapper { /** * 根据名称、上级 查询部门元素 + * * @param departmentName * @param parentCompany * @param parentDepartment diff --git a/src/com/engine/organization/mapper/department/DepartmentMapper.xml b/src/com/engine/organization/mapper/department/DepartmentMapper.xml index fe32a135..126ef797 100644 --- a/src/com/engine/organization/mapper/department/DepartmentMapper.xml +++ b/src/com/engine/organization/mapper/department/DepartmentMapper.xml @@ -150,6 +150,13 @@ and parent_comp = #{parentCompany} + and ifnull(parent_dept,0) = #{parentDepartment} diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java index 05f583d0..1610df23 100644 --- a/src/com/engine/organization/service/impl/JobServiceImpl.java +++ b/src/com/engine/organization/service/impl/JobServiceImpl.java @@ -29,7 +29,6 @@ import com.engine.organization.mapper.codesetting.CodeRuleMapper; 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.job.JobDTMapper; import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.service.ExtService; import com.engine.organization.service.JobService; @@ -39,6 +38,7 @@ import com.engine.organization.util.db.MapperProxyFactory; import com.engine.organization.util.page.Column; import com.engine.organization.util.page.PageInfo; import com.engine.organization.util.page.PageUtil; +import com.engine.organization.util.relation.EcHrmRelationUtil; import com.engine.organization.util.tree.SearchTreeUtil; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; @@ -98,10 +98,6 @@ public class JobServiceImpl extends Service implements JobService { return MapperProxyFactory.getProxy(JobMapper.class); } - private JobDTMapper getJobDTMapper() { - return MapperProxyFactory.getProxy(JobDTMapper.class); - } - private CompMapper getCompMapper() { return MapperProxyFactory.getProxy(CompMapper.class); } @@ -191,9 +187,9 @@ public class JobServiceImpl extends Service implements JobService { // 名称 SearchConditionItem jobNameItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "名称", "jobName"); // 所属分部 - SearchConditionItem parentCompBrowserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "所属分部", "161", "parentComp", "compBrowser"); + SearchConditionItem parentCompBrowserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "所属分部", "164", "ecCompany", ""); // 所属部门 - SearchConditionItem parentDeptBrowserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "所属部门", "161", "parentDept", "deptBrowser"); + SearchConditionItem parentDeptBrowserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "所属部门", "4", "ecDepartment", ""); // 岗位序列 SearchConditionItem sequenceBrowserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "岗位序列", "161", "sequenceId", "sequenceBrowser"); // 等级方案 @@ -306,8 +302,14 @@ public class JobServiceImpl extends Service implements JobService { params.put("is_key", null == searchParam.getIsKey() ? 0 : searchParam.getIsKey()); // TODO 处理ec表关联关系 - //DepartmentPO departmentPO = MapperProxyFactory.getProxy(DepartmentMapper.class).getDeptById(searchParam.getParentDept()); - //params.put("parent_comp", departmentPO.getParentComp()); + Long ecDepartment = searchParam.getEcDepartment(); + DepartmentPO jclDepartment = EcHrmRelationUtil.getJclDepartmentId(ecDepartment + ""); + params.put("parent_dept", jclDepartment.getId()); + params.put("parent_comp", jclDepartment.getParentComp()); + if (null != jclDepartment.getParentComp()) { + params.put("ec_company", EcHrmRelationUtil.getEcCompanyId(jclDepartment.getParentComp() + "")); + } + if (StringUtils.isBlank(params.get("show_order").toString())) { int maxShowOrder = getJobMapper().getMaxShowOrder(); params.put("show_order", maxShowOrder + 1); @@ -334,8 +336,13 @@ public class JobServiceImpl extends Service implements JobService { // 更新主表数据 params.put("is_key", searchParam.getIsKey()); // TODO 处理ec表关联关系 - //DepartmentPO departmentPO = MapperProxyFactory.getProxy(DepartmentMapper.class).getDeptById(searchParam.getParentDept()); - //params.put("parent_comp", departmentPO.getParentComp()); + Long ecDepartment = searchParam.getEcDepartment(); + DepartmentPO jclDepartment = EcHrmRelationUtil.getJclDepartmentId(ecDepartment + ""); + params.put("parent_dept", jclDepartment.getId()); + params.put("parent_comp", jclDepartment.getParentComp()); + if (null != jclDepartment.getParentComp()) { + params.put("ec_company", EcHrmRelationUtil.getEcCompanyId(jclDepartment.getParentComp() + "")); + } getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_JOB, params, "", searchParam.getId()); // 更新主表拓展表 getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_JOBEXT, params, groupId, searchParam.getId()); diff --git a/src/com/engine/organization/thread/OrganizationRunable.java b/src/com/engine/organization/thread/OrganizationRunable.java index de196d81..53fe5f5e 100644 --- a/src/com/engine/organization/thread/OrganizationRunable.java +++ b/src/com/engine/organization/thread/OrganizationRunable.java @@ -3,16 +3,13 @@ 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.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; +import com.engine.organization.util.relation.EcHrmRelationUtil; import org.apache.commons.lang.StringUtils; import weaver.general.Util; import weaver.hrm.User; @@ -47,15 +44,6 @@ public class OrganizationRunable implements Runnable { return MapperProxyFactory.getProxy(ExtMapper.class); } - private CompMapper getCompMapper() { - 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; this.operateType = operateType; @@ -142,13 +130,13 @@ public class OrganizationRunable implements Runnable { // 上级分部通过UUID联查ec表ID String parentCompany = Util.null2String(params.get("parent_comp")); if (StringUtils.isNotBlank(parentCompany)) { - map.put("subcompanyid1", getEcCompanyId(parentCompany)); + map.put("subcompanyid1", EcHrmRelationUtil.getEcCompanyId(parentCompany)); } // 上级部门通过UUID联查ec表ID String parentDepartment = Util.null2String(params.get("parent_dept")); if (StringUtils.isNotBlank(parentDepartment)) { - map.put("supdepid", getEcDepartmentId(parentDepartment)); + map.put("supdepid", EcHrmRelationUtil.getEcDepartmentId(parentDepartment)); } map.put("showorder", Util.null2String(params.get("show_order"))); @@ -170,7 +158,7 @@ public class OrganizationRunable implements Runnable { List idList = new ArrayList<>(); String[] split = departmentIds.split(","); for (String s : split) { - idList.add(getEcDepartmentId(s)); + idList.add(EcHrmRelationUtil.getEcDepartmentId(s)); } Map map = new HashMap<>(); map.put("id", StringUtils.join(idList, ",")); @@ -189,20 +177,20 @@ public class OrganizationRunable implements Runnable { private void updateDepartment() { Map map = new HashMap<>(); // 获取ec表ID - map.put("id", getEcDepartmentId(Util.null2String(params.get("id")))); + map.put("id", EcHrmRelationUtil.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)); + map.put("subcompanyid1", EcHrmRelationUtil.getEcCompanyId(parentCompany)); } // 上级部门通过UUID联查ec表ID String parentDepartment = Util.null2String(params.get("parent_dept")); if (StringUtils.isNotBlank(parentDepartment)) { - map.put("supdepid", getEcDepartmentId(parentDepartment)); + map.put("supdepid", EcHrmRelationUtil.getEcDepartmentId(parentDepartment)); } map.put("showorder", Util.null2String(params.get("show_order"))); @@ -221,7 +209,7 @@ public class OrganizationRunable implements Runnable { // 上级分部通过UUID联查ec表ID String parentCompany = Util.null2String(params.get("parent_company")); if (StringUtils.isNotBlank(parentCompany)) { - map.put("supsubcomid", getEcCompanyId(parentCompany)); + map.put("supsubcomid", EcHrmRelationUtil.getEcCompanyId(parentCompany)); } map.put("subcompanycode", params.get("comp_no").toString()); @@ -241,12 +229,12 @@ public class OrganizationRunable implements Runnable { private void updateCompany() { Map map = new HashMap<>(); // 获取ec表ID - map.put("id", getEcCompanyId(Util.null2String(params.get("id")))); + map.put("id", EcHrmRelationUtil.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("supsubcomid", EcHrmRelationUtil.getEcCompanyId(parentCompany)); } map.put("subcompanycode", Util.null2String(params.get("comp_no"))); map.put("subcompanyname", Util.null2String(params.get("comp_name_short"))); @@ -264,7 +252,7 @@ public class OrganizationRunable implements Runnable { List idList = new ArrayList<>(); String[] split = companyIds.split(","); for (String s : split) { - idList.add(getEcCompanyId(s)); + idList.add(EcHrmRelationUtil.getEcCompanyId(s)); } Map map = new HashMap<>(); map.put("id", StringUtils.join(idList, ",")); @@ -295,27 +283,4 @@ public class OrganizationRunable implements Runnable { getExtMapper().updateExt(infoParams); } - /** - * 根据jcl_org_comp.id获取HrmSubCompany.id - * - * @param companyId - * @return - */ - private String getEcCompanyId(String companyId) { - 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"); - } } diff --git a/src/com/engine/organization/util/relation/EcHrmRelationUtil.java b/src/com/engine/organization/util/relation/EcHrmRelationUtil.java new file mode 100644 index 00000000..c8b1c02d --- /dev/null +++ b/src/com/engine/organization/util/relation/EcHrmRelationUtil.java @@ -0,0 +1,84 @@ +package com.engine.organization.util.relation; + +import com.alibaba.fastjson.JSONObject; +import com.engine.organization.entity.company.po.CompPO; +import com.engine.organization.entity.department.po.DepartmentPO; +import com.engine.organization.mapper.comp.CompMapper; +import com.engine.organization.mapper.department.DepartmentMapper; +import com.engine.organization.mapper.hrmresource.SystemDataMapper; +import com.engine.organization.util.db.MapperProxyFactory; +import org.apache.commons.lang.StringUtils; + +/** + * @author:dxfeng + * @createTime: 2022/07/13 + * @version: 1.0 + */ +public class EcHrmRelationUtil { + + private static final String HRM_COMPANY = "hrmsubcompany"; + private static final String HRM_DEPARTMENT = "hrmdepartment"; + + + private static SystemDataMapper getSystemDataMapper() { + return MapperProxyFactory.getProxy(SystemDataMapper.class); + } + + private static CompMapper getCompMapper() { + return MapperProxyFactory.getProxy(CompMapper.class); + } + + private static DepartmentMapper getDepartmentMapper() { + return MapperProxyFactory.getProxy(DepartmentMapper.class); + } + + /** + * 根据jcl_org_comp.id获取HrmSubCompany.id + * + * @param companyId + * @return + */ + public static String getEcCompanyId(String companyId) { + 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 + */ + public static String getEcDepartmentId(String departmentId) { + DepartmentPO departmentPO = getDepartmentMapper().getDeptById(Long.parseLong(departmentId)); + JSONObject supDepartment = getSystemDataMapper().getHrmObjectByUUID(HRM_DEPARTMENT, departmentPO.getUuid()); + return supDepartment.getString("id"); + } + + public static CompPO getJclCompanyId(String ecCompanyId) { + if (StringUtils.isBlank(ecCompanyId)) { + return null; + } + JSONObject ecCompany = getSystemDataMapper().getHrmObjectByID(HRM_COMPANY, ecCompanyId); + if (null == ecCompany) { + return null; + } + String uuid = ecCompany.getString("uuid"); + return getCompMapper().getCompanyByUUID(uuid); + } + + + public static DepartmentPO getJclDepartmentId(String ecDepartmentId) { + if (StringUtils.isBlank(ecDepartmentId)) { + return null; + } + JSONObject ecDepartment = getSystemDataMapper().getHrmObjectByID(HRM_DEPARTMENT, ecDepartmentId); + if (null == ecDepartment) { + return null; + } + String uuid = ecDepartment.getString("uuid"); + return getDepartmentMapper().getDepartmentByUUID(uuid); + } + +} From b8adf9ab7bd958b20b49f91af6fb0b54469914e0 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 15 Jul 2022 09:02:18 +0800 Subject: [PATCH 11/20] =?UTF-8?q?=E5=B2=97=E4=BD=8D=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E6=93=8D=E4=BD=9C=E5=90=8C=E6=AD=A5EC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/hrmresource/SystemDataMapper.java | 13 ++ .../mapper/hrmresource/SystemDataMapper.xml | 18 ++ .../organization/mapper/job/JobMapper.java | 9 + .../organization/mapper/job/JobMapper.xml | 8 + .../service/impl/JobServiceImpl.java | 37 +++- .../thread/OrganizationRunable.java | 162 +++++++++++++++++- .../util/relation/EcHrmRelationUtil.java | 35 ++++ 7 files changed, 272 insertions(+), 10 deletions(-) diff --git a/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.java b/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.java index 1dbc9ddd..6e6e0e54 100644 --- a/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.java +++ b/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.java @@ -4,6 +4,7 @@ package com.engine.organization.mapper.hrmresource; import com.alibaba.fastjson.JSONObject; import org.apache.ibatis.annotations.Param; +import java.util.Collection; import java.util.List; /** @@ -35,5 +36,17 @@ public interface SystemDataMapper { JSONObject getHrmObjectByUUID(@Param("tableName") String tableName, @Param("uuid") String uuid); + JSONObject getHrmJobTitleByName(@Param("name") String name); + + List getHrmResourceIds(@Param("departmentId") Long departmentId, @Param("jobTitle") String jobTitle); + + /** + * 更新人员岗位 + * + * @param jobTitle + * @param ids + * @return + */ + int updateResourceJobTitleByIds(@Param("jobTitle") String jobTitle, @Param("ids") Collection ids); } diff --git a/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.xml b/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.xml index 2551abe9..4af54879 100644 --- a/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.xml +++ b/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.xml @@ -1,6 +1,12 @@ + + update hrmresource set JOBTITLE = #{jobTitle} where id in + + #{id} + + + + + \ No newline at end of file diff --git a/src/com/engine/organization/mapper/job/JobMapper.java b/src/com/engine/organization/mapper/job/JobMapper.java index 7a93dad0..1017d4ec 100644 --- a/src/com/engine/organization/mapper/job/JobMapper.java +++ b/src/com/engine/organization/mapper/job/JobMapper.java @@ -79,6 +79,15 @@ public interface JobMapper { */ List listByNo(@Param("jobNo") String jobNo); + /** + * 查询是否存在同名岗位 + * + * @param jobName + * @param id + * @return + */ + List listByNameExceptId(@Param("jobName") String jobName, @Param("id") Long id); + /** * 根据所属部门查询数据 * diff --git a/src/com/engine/organization/mapper/job/JobMapper.xml b/src/com/engine/organization/mapper/job/JobMapper.xml index 5ed38b6e..1d62d7eb 100644 --- a/src/com/engine/organization/mapper/job/JobMapper.xml +++ b/src/com/engine/organization/mapper/job/JobMapper.xml @@ -355,6 +355,14 @@ #{id} + and ifnull(parent_job,0) = diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java index 1610df23..bdc2fea5 100644 --- a/src/com/engine/organization/service/impl/JobServiceImpl.java +++ b/src/com/engine/organization/service/impl/JobServiceImpl.java @@ -25,13 +25,17 @@ import com.engine.organization.entity.job.param.JobSearchParam; import com.engine.organization.entity.job.po.JobPO; 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; import com.engine.organization.mapper.extend.ExtendTitleMapper; +import com.engine.organization.mapper.hrmresource.SystemDataMapper; import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.service.ExtService; import com.engine.organization.service.JobService; +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; @@ -89,6 +93,8 @@ public class JobServiceImpl extends Service implements JobService { private static final String RIGHT_NAME = "Job:All"; + private static final String JOB_ACTIVITY_ID; + /** * 岗位主表title指定ID */ @@ -115,6 +121,11 @@ public class JobServiceImpl extends Service implements JobService { } + static { + JSONObject hrmJobActivity = MapperProxyFactory.getProxy(SystemDataMapper.class).getHrmObjectByUUID("hrmjobactivities", "3a2efce3-95de-4ec2-afe1-347783817bdb"); + JOB_ACTIVITY_ID = hrmJobActivity.getString("ID"); + } + @Override public Map getSearchTree(SearchTreeParams params) { String keyword = params.getKeyword(); @@ -301,7 +312,6 @@ public class JobServiceImpl extends Service implements JobService { JobSearchParam searchParam = JSONObject.parseObject(JSONObject.toJSONString(params), JobSearchParam.class); params.put("is_key", null == searchParam.getIsKey() ? 0 : searchParam.getIsKey()); - // TODO 处理ec表关联关系 Long ecDepartment = searchParam.getEcDepartment(); DepartmentPO jclDepartment = EcHrmRelationUtil.getJclDepartmentId(ecDepartment + ""); params.put("parent_dept", jclDepartment.getId()); @@ -314,7 +324,11 @@ public class JobServiceImpl extends Service implements JobService { int maxShowOrder = getJobMapper().getMaxShowOrder(); params.put("show_order", maxShowOrder + 1); } - return getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_JOB, params, "", null); + Long jobId = getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_JOB, params, "", null); + params.put("jobactivityid", JOB_ACTIVITY_ID); + params.put("id", jobId); + new Thread(new OrganizationRunable(user, LogModuleNameEnum.JOB, OperateTypeEnum.ADD, params)).start(); + return jobId; } @Override @@ -326,7 +340,8 @@ public class JobServiceImpl extends Service implements JobService { if ("0".equals(groupId)) { groupId = GROUP_ID.toString(); } - String oldJobNo = getJobMapper().getJobById(searchParam.getId()).getJobNo(); + JobPO oldJobPO = getJobMapper().getJobById(searchParam.getId()); + String oldJobNo = oldJobPO.getJobNo(); String jobNo = searchParam.getJobNo(); if (!oldJobNo.equals(jobNo)) { jobNo = repeatDetermine(jobNo); @@ -335,7 +350,6 @@ public class JobServiceImpl extends Service implements JobService { // 更新主表数据 params.put("is_key", searchParam.getIsKey()); - // TODO 处理ec表关联关系 Long ecDepartment = searchParam.getEcDepartment(); DepartmentPO jclDepartment = EcHrmRelationUtil.getJclDepartmentId(ecDepartment + ""); params.put("parent_dept", jclDepartment.getId()); @@ -343,6 +357,8 @@ public class JobServiceImpl extends Service implements JobService { if (null != jclDepartment.getParentComp()) { params.put("ec_company", EcHrmRelationUtil.getEcCompanyId(jclDepartment.getParentComp() + "")); } + params.put("jobactivityid", JOB_ACTIVITY_ID); + new Thread(new OrganizationRunable(user, LogModuleNameEnum.JOB, OperateTypeEnum.UPDATE, params, oldJobPO)).start(); getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_JOB, params, "", searchParam.getId()); // 更新主表拓展表 getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_JOBEXT, params, groupId, searchParam.getId()); @@ -374,7 +390,8 @@ public class JobServiceImpl extends Service implements JobService { @Override public int updateForbiddenTagById(JobSearchParam params) { HasRightUtil.hasRight(user, RIGHT_NAME, false); - JobPO jobPO = JobPO.builder().id(params.getId()).forbiddenTag(params.getForbiddenTag() ? 0 : 1).build(); + JobPO jobPO = JobPO.builder().id(params.getId()).forbiddenTag(params.getForbiddenTag() ? 0 : 1).jobName(getJobMapper().getJobById(params.getId()).getJobName()).build(); + new Thread(new OrganizationRunable(user, LogModuleNameEnum.JOB, OperateTypeEnum.CANCELED, null, jobPO)).start(); return getJobMapper().updateForbiddenTagById(jobPO.getId(), jobPO.getForbiddenTag()); } @@ -382,7 +399,12 @@ public class JobServiceImpl extends Service implements JobService { public int deleteByIds(Collection ids) { HasRightUtil.hasRight(user, RIGHT_NAME, false); OrganizationAssert.notEmpty(ids, "请选择要删除的数据"); - return getJobMapper().deleteByIds(ids); + List jobsByIds = getJobMapper().getJobsByIds(ids); + int delete = getJobMapper().deleteByIds(ids); + for (JobPO jobsById : jobsByIds) { + new Thread(new OrganizationRunable(user, LogModuleNameEnum.JOB, OperateTypeEnum.CANCELED, null, jobsById)).start(); + } + return delete; } @Override @@ -427,7 +449,7 @@ public class JobServiceImpl extends Service implements JobService { JobPO mergeJob = getJobMapper().getJobById(mergeParam.getId()); mergeJob.setForbiddenTag(1); updateCount += getJobMapper().updateBaseJob(mergeJob); - + new Thread(new OrganizationRunable(user, LogModuleNameEnum.JOB, OperateTypeEnum.CANCELED, null, mergeJob)).start(); //TODO 合并该刚岗位下的人员 // 合并后岗位及子岗位禁用 @@ -601,6 +623,7 @@ public class JobServiceImpl extends Service implements JobService { job.setParentJob(parentJob); job.setForbiddenTag(1); getJobMapper().updateBaseJob(job); + new Thread(new OrganizationRunable(user, LogModuleNameEnum.JOB, OperateTypeEnum.CANCELED, null, job)).start(); List childJobs = getJobMapper().getJobsByPid(job.getId()); forbiddenChildTag(parentComp, parentDept, job.getId(), childJobs); } diff --git a/src/com/engine/organization/thread/OrganizationRunable.java b/src/com/engine/organization/thread/OrganizationRunable.java index 53fe5f5e..03b731b6 100644 --- a/src/com/engine/organization/thread/OrganizationRunable.java +++ b/src/com/engine/organization/thread/OrganizationRunable.java @@ -2,14 +2,18 @@ package com.engine.organization.thread; import com.alibaba.fastjson.JSONObject; import com.engine.common.util.ServiceUtil; +import com.engine.hrm.service.impl.HrmJobServiceImpl; import com.engine.hrm.service.impl.OrganizationServiceImpl; import com.engine.organization.entity.extend.param.ExtendInfoParams; +import com.engine.organization.entity.job.po.JobPO; import com.engine.organization.enums.LogModuleNameEnum; import com.engine.organization.enums.OperateTypeEnum; import com.engine.organization.mapper.extend.ExtMapper; import com.engine.organization.mapper.hrmresource.SystemDataMapper; +import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.util.db.MapperProxyFactory; import com.engine.organization.util.relation.EcHrmRelationUtil; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import weaver.general.Util; import weaver.hrm.User; @@ -18,6 +22,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * @author:dxfeng @@ -29,6 +34,7 @@ public class OrganizationRunable implements Runnable { private OperateTypeEnum operateType; private Map params; private User user; + private JobPO oldJobPO; private static final String HRM_COMPANY = "hrmsubcompany"; private static final String HRM_DEPARTMENT = "hrmdepartment"; @@ -51,6 +57,15 @@ public class OrganizationRunable implements Runnable { this.user = user; } + public OrganizationRunable(User user, LogModuleNameEnum moduleName, OperateTypeEnum operateType, Map params, JobPO oldJobPO) { + this.moduleName = moduleName; + this.operateType = operateType; + this.params = params; + this.user = user; + this.oldJobPO = oldJobPO; + } + + @Override public void run() { switch (moduleName) { @@ -109,16 +124,157 @@ public class OrganizationRunable implements Runnable { private void refreshJob() { switch (operateType) { case ADD: + addJob(); break; case UPDATE: + updateJob(); break; - case DELETE: + case CANCELED: + cancelJob(); break; default: break; } } + /** + * 新增岗位 + * + *

+ * 1、EC表HrmJobTitles + *

+ * 2、系统中新建“聚才林”、“默认职务”(sql写入) + *

+ * 3、检索岗位名称jobtitlename,如果已存在,判断是否封存,对已封存数据解封操作 + *

+ * 4、如果不存在,在“聚才林--默认职务”下新建岗位 + */ + private void addJob() { + // 判断是否存在同名岗位、存在不做处理,不存在,在“默认职务分类--默认职务”下新建岗位 + String jobName = Util.null2String(params.get("job_name")); + JSONObject hrmJobActivity = getSystemDataMapper().getHrmJobTitleByName(jobName); + Map map = new HashMap<>(); + //存在且已封存,对岗位解封 + if (null != hrmJobActivity && "1".equals(hrmJobActivity.getString("canceled"))) { + map.put("ids", hrmJobActivity.getString("id")); + map.put("canceled", "docanceled"); + ServiceUtil.getService(HrmJobServiceImpl.class, user).doCanceled(map, user); + } else { + // 不存在则新建职务 + map.put("operateIp", Util.null2String(user.getLoginip())); + map.put("jobtitlemark", jobName); + map.put("jobtitlename", jobName); + map.put("jobactivityid", Util.null2String(params.get("jobactivityid"))); + map.put("jobresponsibility", Util.null2String(params.get("work_duty"))); + map.put("jobcompetency", Util.null2String(params.get("work_authority"))); + map.put("jobtitleremark", Util.null2String(params.get("description"))); + map.put("jobtitlecode", Util.null2String(params.get("job_no"))); + + ServiceUtil.getService(HrmJobServiceImpl.class, user).addJobTitle(map, user); + } + } + + /** + * 更新岗位 + */ + private void updateJob() { + Long jclJobId = oldJobPO.getId(); + String oldName = oldJobPO.getJobName(); + + String newName = Util.null2String(params.get("job_name")); + JSONObject oldHrmJobTitle = getSystemDataMapper().getHrmJobTitleByName(oldName); + + Map map = new HashMap<>(); + // 修改前不存在共用 + if (EcHrmRelationUtil.isNotExistJob(oldName, jclJobId)) { + // 修改后不存在共用、直接修改EC岗位表数据 + if (EcHrmRelationUtil.isNotExistJob(newName, jclJobId)) { + // 查询ec表ID + JSONObject hrmJobTitle = getSystemDataMapper().getHrmJobTitleByName(oldName); + map.put("id", Util.null2String(hrmJobTitle.get("id"))); + map.put("operateIp", Util.null2String(user.getLoginip())); + map.put("jobtitlemark", newName); + map.put("jobtitlename", newName); + map.put("jobactivityid", Util.null2String(params.get("jobactivityid"))); + map.put("jobresponsibility", Util.null2String(params.get("work_duty"))); + map.put("jobcompetency", Util.null2String(params.get("work_authority"))); + map.put("jobtitleremark", Util.null2String(params.get("description"))); + map.put("jobtitlecode", Util.null2String(params.get("job_no"))); + // 修改岗位表数据 + ServiceUtil.getService(HrmJobServiceImpl.class, user).editJobTitle(map, user); + } else { + // 修改后存在共用、不修改岗位表数据,更新对应人员的岗位信息为当前岗位的ID + JSONObject hrmJobTitle = getSystemDataMapper().getHrmJobTitleByName(newName); + // 查询原分部、原岗位下的人员,并更新岗位ID + List hrmResourceIds = getSystemDataMapper().getHrmResourceIds(oldJobPO.getParentDept(), oldHrmJobTitle.getString("id")); + getSystemDataMapper().updateResourceJobTitleByIds(Util.null2String(hrmJobTitle.get("id")), hrmResourceIds); + // 封存原名称岗位 + map.clear(); + map.put("ids", oldHrmJobTitle.getString("id")); + map.put("canceled", "canceled"); + ServiceUtil.getService(HrmJobServiceImpl.class, user).doCanceled(map, user); + } + } else { + // 修改前存在共用,不对原有数据进行操作。 + + // 修改后不存在共用、新建岗位,更新原有岗位下人员的岗位ID + if (EcHrmRelationUtil.isNotExistJob(newName, jclJobId)) { + // 不存在则新建职务 + map.put("operateIp", Util.null2String(user.getLoginip())); + map.put("jobtitlemark", newName); + map.put("jobtitlename", newName); + map.put("jobactivityid", Util.null2String(params.get("jobactivityid"))); + map.put("jobresponsibility", Util.null2String(params.get("work_duty"))); + map.put("jobcompetency", Util.null2String(params.get("work_authority"))); + map.put("jobtitleremark", Util.null2String(params.get("description"))); + map.put("jobtitlecode", Util.null2String(params.get("job_no"))); + ServiceUtil.getService(HrmJobServiceImpl.class, user).addJobTitle(map, user); + // 新建岗位 + JSONObject hrmJobTitle = getSystemDataMapper().getHrmJobTitleByName(newName); + // 查询原分部、原岗位下的人员,并更新岗位ID + List hrmResourceIds = getSystemDataMapper().getHrmResourceIds(oldJobPO.getParentDept(), oldHrmJobTitle.getString("id")); + getSystemDataMapper().updateResourceJobTitleByIds(Util.null2String(hrmJobTitle.get("id")), hrmResourceIds); + } else { + // 修改后存在共用,更新原有岗位下人员的岗位ID + JSONObject hrmJobTitle = getSystemDataMapper().getHrmJobTitleByName(newName); + // 查询原分部、原岗位下的人员,并更新岗位ID + List hrmResourceIds = getSystemDataMapper().getHrmResourceIds(oldJobPO.getParentDept(), oldHrmJobTitle.getString("id")); + getSystemDataMapper().updateResourceJobTitleByIds(Util.null2String(hrmJobTitle.get("id")), hrmResourceIds); + } + } + } + + /** + * 封存、解封岗位 + */ + private void cancelJob() { + Map map = new HashMap<>(); + JSONObject hrmJobTitleByName = getSystemDataMapper().getHrmJobTitleByName(oldJobPO.getJobName()); + if (0 == oldJobPO.getForbiddenTag()) { + // 启用 + map.put("ids", hrmJobTitleByName.getString("id")); + map.put("canceled", "docanceled"); + ServiceUtil.getService(HrmJobServiceImpl.class, user).doCanceled(map, user); + } else { + // 禁用 + List jobPOS = MapperProxyFactory.getProxy(JobMapper.class).listByNameExceptId(oldJobPO.getJobName(), oldJobPO.getId()); + // 不存在共用 + if (CollectionUtils.isEmpty(jobPOS)) { + map.put("ids", hrmJobTitleByName.getString("id")); + map.put("canceled", "canceled"); + ServiceUtil.getService(HrmJobServiceImpl.class, user).doCanceled(map, user); + } else { + List collect = jobPOS.stream().filter(item -> 0 == item.getForbiddenTag()).collect(Collectors.toList()); + // 不存在非禁用 + if (CollectionUtils.isEmpty(collect)) { + map.put("ids", hrmJobTitleByName.getString("id")); + map.put("canceled", "canceled"); + ServiceUtil.getService(HrmJobServiceImpl.class, user).doCanceled(map, user); + } + } + } + } + /** * 新增部门 */ @@ -278,8 +434,8 @@ public class OrganizationRunable implements Runnable { 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(); + long jclTableId = Long.parseLong(Util.null2String(params.get("id"))); + ExtendInfoParams infoParams = ExtendInfoParams.builder().tableName(jclTableName).params(departmentMap).id(jclTableId).build(); getExtMapper().updateExt(infoParams); } diff --git a/src/com/engine/organization/util/relation/EcHrmRelationUtil.java b/src/com/engine/organization/util/relation/EcHrmRelationUtil.java index c8b1c02d..97f066e2 100644 --- a/src/com/engine/organization/util/relation/EcHrmRelationUtil.java +++ b/src/com/engine/organization/util/relation/EcHrmRelationUtil.java @@ -3,12 +3,17 @@ package com.engine.organization.util.relation; import com.alibaba.fastjson.JSONObject; import com.engine.organization.entity.company.po.CompPO; import com.engine.organization.entity.department.po.DepartmentPO; +import com.engine.organization.entity.job.po.JobPO; import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.hrmresource.SystemDataMapper; +import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.util.db.MapperProxyFactory; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; +import java.util.List; + /** * @author:dxfeng * @createTime: 2022/07/13 @@ -32,6 +37,10 @@ public class EcHrmRelationUtil { return MapperProxyFactory.getProxy(DepartmentMapper.class); } + private static JobMapper getJobMapper() { + return MapperProxyFactory.getProxy(JobMapper.class); + } + /** * 根据jcl_org_comp.id获取HrmSubCompany.id * @@ -81,4 +90,30 @@ public class EcHrmRelationUtil { return getDepartmentMapper().getDepartmentByUUID(uuid); } + + /** + * 判断岗位名称是否共用 + *

存在返回true

+ * + * @param jobName + * @param id + * @return + */ + public static boolean isExistJob(String jobName, Long id) { + List jobPOS = getJobMapper().listByNameExceptId(jobName, id); + return CollectionUtils.isNotEmpty(jobPOS); + } + + /** + * 判断岗位名称是否共用 + *

不存在返回true

+ * + * @param jobName + * @param id + * @return + */ + public static boolean isNotExistJob(String jobName, Long id) { + return !isExistJob(jobName, id); + } + } From 3c742681265a7bcce5f1121f09cdf38086ef97d6 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 15 Jul 2022 14:42:31 +0800 Subject: [PATCH 12/20] =?UTF-8?q?=E5=B2=97=E4=BD=8D=E6=B5=8F=E8=A7=88?= =?UTF-8?q?=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 | 144 ++++++++++++++++++ .../entity/browser/bo/CusBowserTreeBO.java | 45 ++++++ .../browser/enums/TreeNodeTypeEnum.java | 36 +++++ .../entity/browser/po/CusBrowserTree.java | 32 ++++ .../entity/extend/bo/ExtendInfoBO.java | 18 ++- .../entity/job/vo/JobBrowserVO.java | 45 ++++++ .../service/CustomBrowserBean.java | 28 ++++ 7 files changed, 344 insertions(+), 4 deletions(-) create mode 100644 src/com/api/browser/service/impl/JobBrowserService.java create mode 100644 src/com/engine/organization/entity/browser/bo/CusBowserTreeBO.java create mode 100644 src/com/engine/organization/entity/browser/enums/TreeNodeTypeEnum.java create mode 100644 src/com/engine/organization/entity/browser/po/CusBrowserTree.java create mode 100644 src/com/engine/organization/entity/job/vo/JobBrowserVO.java create mode 100644 src/com/engine/organization/service/CustomBrowserBean.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..713e54c2 --- /dev/null +++ b/src/com/api/browser/service/impl/JobBrowserService.java @@ -0,0 +1,144 @@ +package com.api.browser.service.impl; + +import com.alibaba.fastjson.JSON; +import com.api.browser.bean.SearchConditionItem; +import com.api.browser.service.BrowserService; +import com.api.browser.util.BrowserConstant; +import com.api.hrm.bean.TreeNode; +import com.cloudstore.eccom.result.WeaResultMsg; +import com.engine.organization.component.OrganizationWeaTable; +import com.engine.organization.entity.browser.bo.CusBowserTreeBO; +import com.engine.organization.entity.browser.enums.TreeNodeTypeEnum; +import com.engine.organization.entity.browser.po.CusBrowserTree; +import com.engine.organization.entity.job.vo.JobBrowserVO; +import com.engine.organization.entity.searchtree.SearchTree; +import com.engine.organization.entity.searchtree.SearchTreeParams; +import com.engine.organization.service.impl.JobServiceImpl; +import com.engine.organization.util.OrganizationFormItemUtil; +import com.engine.organization.util.db.DBType; +import org.apache.commons.lang.StringUtils; +import weaver.conn.RecordSet; +import weaver.general.Util; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author:dxfeng + * @createTime: 2022/07/15 + * @version: 1.0 + */ +public class JobBrowserService extends BrowserService { + + + @Override + public Map getBrowserData(Map params) { + + Map resultMap = new HashMap<>(); + String datatype = Util.null2String(params.get("datatype")); + if ("tree".equals(datatype)) { + List nodeData = new ArrayList<>(); + String id = Util.null2String(params.get("id")); + SearchTreeParams searchTreeParams = new SearchTreeParams(); + if (StringUtils.isBlank(id)) { + Map searchTree = new JobServiceImpl().getSearchTree(searchTreeParams); + Map datas = (Map) searchTree.get("datas"); + // 集团 + SearchTree rootCompany = (SearchTree) datas.get("rootCompany"); + nodeData.add(rootCompany); + } else if ("0".equals(id)) { + Map searchTree = new JobServiceImpl().getSearchTree(searchTreeParams); + Map datas = (Map) searchTree.get("datas"); + SearchTree rootCompany = (SearchTree) datas.get("rootCompany"); + nodeData.addAll(rootCompany.getSubs()); + } else { + String[] idArray = id.split("_"); + if (idArray.length == 2) { + if (TreeNodeTypeEnum.TYPE_COMP.getName().equals(idArray[0])) { + searchTreeParams.setType(TreeNodeTypeEnum.TYPE_COMP.getValue()); + } else if (TreeNodeTypeEnum.TYPE_DEPT.getName().equals(idArray[0])) { + searchTreeParams.setType(TreeNodeTypeEnum.TYPE_DEPT.getValue()); + } + searchTreeParams.setId(idArray[1]); + Map searchTree = new JobServiceImpl().getSearchTree(searchTreeParams); + List datas = (List) searchTree.get("datas"); + nodeData.addAll(datas.get(0).getSubs()); + } + } + List cusBrowserTrees = CusBowserTreeBO.convertSearchTreeToBorwserTree(nodeData); + resultMap.put("datas", cusBrowserTrees); + System.err.println(JSON.toJSONString(cusBrowserTrees)); + } else { + OrganizationWeaTable table = new OrganizationWeaTable<>(user, JobBrowserVO.class); + String sqlWhere = buildSqlWhere(params); + table.setSqlwhere(sqlWhere); + WeaResultMsg result = new WeaResultMsg(false); + result.putAll(table.makeDataResult()); + result.success(); + resultMap.putAll(result.getResultMap()); + } + return resultMap; + } + + @Override + public Map getBrowserConditionInfo(Map map) { + Map> apiDatas = new HashMap<>(); + List conditions = new ArrayList<>(); + // 编号 + SearchConditionItem jobNoItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "编号", "jobNo"); + // 名称 + SearchConditionItem jobNameItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "名称", "jobName"); + // 所属分部 + SearchConditionItem parentCompBrowserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "所属分部", "164", "ecCompany", ""); + // 所属部门 + SearchConditionItem parentDeptBrowserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "所属部门", "4", "ecDepartment", ""); + + conditions.add(jobNoItem); + conditions.add(jobNameItem); + conditions.add(parentCompBrowserItem); + conditions.add(parentDeptBrowserItem); + apiDatas.put(BrowserConstant.BROWSER_RESULT_CONDITIONS, conditions); + return apiDatas; + } + + /** + * 查询条件 + * + * @param params + * @return + */ + private String buildSqlWhere(Map params) { + DBType dbType = DBType.get(new RecordSet().getDBType()); + String sqlWhere = " where t.delete_type ='0' "; + String jobNo = Util.null2String(params.get("jobNo")); + if (StringUtils.isNotBlank(jobNo)) { + sqlWhere += " AND t.job_no " + dbType.like(jobNo); + } + String jobName = Util.null2String(params.get("jobName")); + if (StringUtils.isNotBlank(jobName)) { + sqlWhere += " AND t.job_name " + dbType.like(jobName); + } + String ecCompany = Util.null2String(params.get("ecCompany")); + if (StringUtils.isNotBlank(jobName)) { + sqlWhere += " AND t.ec_company = '" + Long.parseLong(ecCompany) + "'"; + } + String ecDepartment = Util.null2String(params.get("ecDepartment")); + if (StringUtils.isNotBlank(jobName)) { + sqlWhere += " AND t.ec_department = '" + Long.parseLong(ecDepartment) + "'"; + } + String treeKey = Util.null2String(params.get("treeKey")); + if (StringUtils.isNotBlank(treeKey)) { + String[] keyArray = treeKey.split("_"); + if (keyArray.length == 2) { + if (TreeNodeTypeEnum.TYPE_COMP.getName().equals(keyArray[0])) { + sqlWhere += " AND t.parent_comp = '" + Long.parseLong(keyArray[1]) + "'"; + } else if (TreeNodeTypeEnum.TYPE_DEPT.getName().equals(keyArray[0])) { + sqlWhere += " AND t.parent_dept = '" + Long.parseLong(keyArray[1]) + "'"; + } + } + } + return sqlWhere; + } +} diff --git a/src/com/engine/organization/entity/browser/bo/CusBowserTreeBO.java b/src/com/engine/organization/entity/browser/bo/CusBowserTreeBO.java new file mode 100644 index 00000000..f641a4be --- /dev/null +++ b/src/com/engine/organization/entity/browser/bo/CusBowserTreeBO.java @@ -0,0 +1,45 @@ +package com.engine.organization.entity.browser.bo; + +import com.api.hrm.bean.TreeNode; +import com.engine.organization.entity.browser.enums.TreeNodeTypeEnum; +import com.engine.organization.entity.browser.po.CusBrowserTree; +import org.apache.commons.collections.CollectionUtils; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author:dxfeng + * @createTime: 2022/07/15 + * @version: 1.0 + */ +public class CusBowserTreeBO { + + /** + * 树转换 + * + * @param searchTree + * @return + */ + public static List convertSearchTreeToBorwserTree(List searchTree) { + List collect = searchTree.stream().map(item -> + CusBrowserTree.builder() + .domid("sel_" + item.getId()) + .hasChild(CollectionUtils.isNotEmpty(item.getSubs())) + .isLeaf(CollectionUtils.isEmpty(item.getSubs())) + .isopen(false) + .key(getKey(item)) + .name(item.getName()) + .build()).collect(Collectors.toList()); + return collect; + } + + private static String getKey(TreeNode treeNode) { + if (TreeNodeTypeEnum.TYPE_COMP.getValue().equals(treeNode.getType())) { + return TreeNodeTypeEnum.TYPE_COMP.getName() + "_" + treeNode.getId(); + } else if (TreeNodeTypeEnum.TYPE_DEPT.getValue().equals(treeNode.getType())) { + return TreeNodeTypeEnum.TYPE_DEPT.getName() + "_" + treeNode.getId(); + } + return treeNode.getId(); + } +} diff --git a/src/com/engine/organization/entity/browser/enums/TreeNodeTypeEnum.java b/src/com/engine/organization/entity/browser/enums/TreeNodeTypeEnum.java new file mode 100644 index 00000000..7e841c75 --- /dev/null +++ b/src/com/engine/organization/entity/browser/enums/TreeNodeTypeEnum.java @@ -0,0 +1,36 @@ +package com.engine.organization.entity.browser.enums; + +/** + * @author:dxfeng + * @createTime: 2022/07/15 + * @version: 1.0 + */ +public enum TreeNodeTypeEnum { + TYPE_COMP("company", "1"), + TYPE_DEPT("department", "2"); + + + private String name; + private String value; + + TreeNodeTypeEnum(String name, String value) { + this.name = name; + this.value = value; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } +} diff --git a/src/com/engine/organization/entity/browser/po/CusBrowserTree.java b/src/com/engine/organization/entity/browser/po/CusBrowserTree.java new file mode 100644 index 00000000..78c1e84b --- /dev/null +++ b/src/com/engine/organization/entity/browser/po/CusBrowserTree.java @@ -0,0 +1,32 @@ +package com.engine.organization.entity.browser.po; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author:dxfeng + * @createTime: 2022/07/15 + * @version: 1.0 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class CusBrowserTree { + private String domid; + private boolean hasChild; + private boolean isLeaf; + private boolean isopen; + private String key; + private String name; + + public boolean getIsLeaf() { + return isLeaf; + } + + public void setIsLeaf(boolean leaf) { + isLeaf = leaf; + } +} diff --git a/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java b/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java index 6fb569c6..02e7f30e 100644 --- a/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java +++ b/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java @@ -19,6 +19,7 @@ import com.engine.organization.entity.extend.param.ExtendInfoFieldParam; import com.engine.organization.entity.extend.po.ExtendGroupPO; import com.engine.organization.entity.extend.po.ExtendInfoPO; import com.engine.organization.mapper.extend.ExtendInfoMapper; +import com.engine.organization.service.CustomBrowserBean; import com.engine.organization.util.OrganizationFormItemUtil; import com.engine.organization.util.db.MapperProxyFactory; import com.engine.sensitive.biz.SensitiveWordTypeComInfo; @@ -71,11 +72,11 @@ public class ExtendInfoBO { /** * 新增自定义字段时,对象转换 * - * @param user 当前用户 + * @param user 当前用户 * @param infoFieldParam 拓展字段 - * @param extendGroupPO 分组实体 - * @param extendGroupId 分组ID - * @param showOrder 展示顺序 + * @param extendGroupPO 分组实体 + * @param extendGroupId 分组ID + * @param showOrder 展示顺序 */ public static ExtendInfoPO convertFieldParam2ExtendInfo(User user, ExtendInfoFieldParam infoFieldParam, ExtendGroupPO extendGroupPO, Long extendGroupId, Integer showOrder) { if (null == infoFieldParam) { @@ -335,6 +336,15 @@ public class ExtendInfoBO { } else { searchConditionItem = conditionFactory.createCondition(ConditionType.BROWSER, fieldlabel, fieldname, detailtype); } + // 岗位浏览按钮 + if ("666".equals(detailtype)) { + BrowserBean browserBean = searchConditionItem.getBrowserConditionParam(); + String s = JSONObject.toJSONString(browserBean); + CustomBrowserBean customBrowserBean = JSONObject.parseObject(s, CustomBrowserBean.class); + customBrowserBean.setHasLeftTree(true); + customBrowserBean.setLeftToSearchKey("treeKey"); + searchConditionItem.setBrowserConditionParam(customBrowserBean); + } List> replaceDatas = new ArrayList<>(); String tmpFieldValue = Util.null2String(fieldvalue); switch (detailtype) { diff --git a/src/com/engine/organization/entity/job/vo/JobBrowserVO.java b/src/com/engine/organization/entity/job/vo/JobBrowserVO.java new file mode 100644 index 00000000..68db9c0b --- /dev/null +++ b/src/com/engine/organization/entity/job/vo/JobBrowserVO.java @@ -0,0 +1,45 @@ +package com.engine.organization.entity.job.vo; + +import com.cloudstore.eccom.pc.table.WeaTableType; +import com.engine.organization.annotation.OrganizationTable; +import com.engine.organization.annotation.OrganizationTableColumn; +import com.engine.organization.annotation.OrganizationTableOperate; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author:dxfeng + * @createTime: 2022/07/15 + * @version: 1.0 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@OrganizationTable(pageId = "98e9c62f-cd12-11ec-a15f-00ffcbed7123", + fields = "t.id," + + "t.job_no," + + "t.job_name as name ", + fromSql = "FROM jcl_org_job t ", + orderby = "job_no", + sortway = "asc", + primarykey = "id", + operates = { + @OrganizationTableOperate(index = "0", text = "编辑"), + @OrganizationTableOperate(index = "1", text = "删除") + }, + tableType = WeaTableType.CHECKBOX +) +public class JobBrowserVO { + + @OrganizationTableColumn(column = "id", display = false) + private Long id; + + @OrganizationTableColumn(text = "编号", width = "25%", column = "job_no") + private String jobNo; + + @OrganizationTableColumn(text = "方案名称", width = "25%", column = "name") + private String jobName; +} diff --git a/src/com/engine/organization/service/CustomBrowserBean.java b/src/com/engine/organization/service/CustomBrowserBean.java new file mode 100644 index 00000000..f286ca5b --- /dev/null +++ b/src/com/engine/organization/service/CustomBrowserBean.java @@ -0,0 +1,28 @@ +package com.engine.organization.service; + +import com.api.browser.bean.BrowserBean; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Map; + +/** + * @author:dxfeng + * @createTime: 2022/07/14 + * @version: 1.0 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class CustomBrowserBean extends BrowserBean { + + + private String leftToSearchKey; + private boolean hasLeftTree; + private Map leftTreeParams; + private String leftTreeUrl; + private boolean resize; +} From 58e9f0ebb8f058562c2e732eb427d530f91a3748 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 15 Jul 2022 16:49:54 +0800 Subject: [PATCH 13/20] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96SQL=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/初始数据SQL/jcl_field_extendgroup.sql | 2 +- docs/初始数据SQL/jcl_field_extendinfo.sql | 269 ++++++++++++++++-- docs/初始数据SQL/jcl_field_extendtitle.sql | 14 +- docs/初始数据SQL/浏览按钮.sql | 46 +++ .../browser/po}/CustomBrowserBean.java | 2 +- .../entity/extend/bo/ExtendInfoBO.java | 2 +- 6 files changed, 300 insertions(+), 35 deletions(-) create mode 100644 docs/初始数据SQL/浏览按钮.sql rename src/com/engine/organization/{service => entity/browser/po}/CustomBrowserBean.java (91%) diff --git a/docs/初始数据SQL/jcl_field_extendgroup.sql b/docs/初始数据SQL/jcl_field_extendgroup.sql index 6dd1fc25..f5febd8a 100644 --- a/docs/初始数据SQL/jcl_field_extendgroup.sql +++ b/docs/初始数据SQL/jcl_field_extendgroup.sql @@ -12,4 +12,4 @@ INSERT INTO jcl_field_extendgroup VALUES(4, 4, '基本信息', 1, 0, '2022-06-17', '2022-06-17', NULL, '1', 1, 0); INSERT INTO jcl_field_extendgroup (id, extend_type, group_name, creator, delete_type, create_time, update_time, pid, is_show, show_order, is_system_default) -VALUES(5, 3, '职务', 1, 0, '2022-07-05', '2022-07-05', 3, '1', 1, 1); +VALUES(5, 3, '职务', 1, 0, '2022-07-05', '2022-07-05', 3, '1', 1, 0); diff --git a/docs/初始数据SQL/jcl_field_extendinfo.sql b/docs/初始数据SQL/jcl_field_extendinfo.sql index 2a2e56a7..7ed9bbfc 100644 --- a/docs/初始数据SQL/jcl_field_extendinfo.sql +++ b/docs/初始数据SQL/jcl_field_extendinfo.sql @@ -1,93 +1,300 @@ 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(1, 1, 'JCL_ORG_COMP', 'comp_no', '编号', 'varchar(100)', 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, NULL, NULL, '1', '["input","text","100"]', 0); +VALUES(1, 1, 'JCL_ORG_COMP', 'comp_no', '编号', 'varchar(100)', 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, '2022-06-22', NULL, '1', '["input","text","100"]', 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(2, 1, 'JCL_ORG_COMP', 'comp_name', '名称', 'varchar(100)', 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 0, NULL, NULL, '1', '["input","text","100"]', 0); +VALUES(2, 1, 'JCL_ORG_COMP', 'comp_name', '名称', 'varchar(100)', 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 0, '2022-06-22', NULL, '1', '["input","text","100"]', 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(3, 1, 'JCL_ORG_COMP', 'parent_company', '上级公司', 'int', 3, 1, 1, 0, 1, 1, 1, 1, 1, 4, 1, 0, NULL, NULL, '161', '["browser",{"value":"161","valueSpan":"自定义单选","replaceDatas":[{"id":"161","name":"自定义单选"}]},{"value":"compBrowser","valueSpan":"公司分部浏览按钮","replaceDatas":[{"showname":"compBrowser","shownamespan":"compBrowser","namespan":"公司分部浏览按钮","name":"公司分部浏览按钮","showtypespan":"树形","randomFieldIdspan":"","showtype":"2","randomFieldId":"compBrowser","id":"compBrowser"}]}]', 0); +VALUES(3, 1, 'JCL_ORG_COMP', 'parent_company', '上级公司', 'int', 3, 1, 1, 0, 1, 1, 1, 1, 1, 6, 1, 0, '2022-06-22', NULL, '161', '["browser",{"value":"161","valueSpan":"自定义单选","replaceDatas":[{"id":"161","name":"自定义单选"}]},{"value":"compBrowser","valueSpan":"公司分部浏览按钮","replaceDatas":[{"showname":"compBrowser","shownamespan":"compBrowser","namespan":"公司分部浏览按钮","name":"公司分部浏览按钮","showtypespan":"树形","randomFieldIdspan":"","showtype":"2","randomFieldId":"compBrowser","id":"compBrowser"}]}]', 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(4, 1, 'JCL_ORG_COMP', 'industry', '行业', 'int', 3, 1, 1, 0, 1, 1, 1, 1, 1, 6, 1, 0, NULL, NULL, '63', NULL, 0); +VALUES(4, 1, 'JCL_ORG_COMP', 'industry', '行业', 'int', 3, 1, 1, 0, 1, 1, 1, 1, 1, 8, 1, 0, '2022-06-22', NULL, '63', NULL, 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(5, 1, 'JCL_ORG_COMP', 'comp_name_short', '简称', 'varchar(100)', 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 0, NULL, NULL, '1', '["input","text","100"]', 0); +VALUES(5, 1, 'JCL_ORG_COMP', 'comp_name_short', '简称', 'varchar(100)', 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 0, '2022-06-22', NULL, '1', '["input","text","100"]', 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(6, 1, 'JCL_ORG_COMP', 'org_code', '组织机构代码', 'varchar(100)', 1, 1, 1, 0, 1, 1, 1, 1, 1, 5, 1, 0, NULL, NULL, '1', '["input","text","100"]', 0); +VALUES(6, 1, 'JCL_ORG_COMP', 'org_code', '组织机构代码', 'varchar(100)', 1, 1, 1, 0, 1, 1, 1, 1, 1, 7, 1, 0, '2022-06-22', NULL, '1', '["input","text","100"]', 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(7, 1, 'JCL_ORG_COMP', 'comp_principal', '负责人', 'int', 3, 1, 1, 0, 1, 1, 1, 1, 1, 7, 1, 0, NULL, NULL, '1', NULL, 0); +VALUES(7, 1, 'JCL_ORG_COMP', 'comp_principal', '负责人', 'int', 3, 1, 1, 0, 1, 1, 1, 1, 1, 9, 1, 0, '2022-06-22', NULL, '1', NULL, 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(8, 1, 'JCL_ORG_COMP', 'description', '说明', 'text', 2, 1, 1, 0, 1, 0, 1, 0, 1, 8, 1, 0, NULL, NULL, NULL, NULL, 0); +VALUES(8, 1, 'JCL_ORG_COMP', 'description', '说明', 'text', 2, 1, 1, 0, 1, 0, 1, 0, 1, 10, 1, 0, '2022-06-22', NULL, NULL, NULL, 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(9, 1, 'JCL_ORG_COMP', 'forbidden_tag', '禁用标记', 'int', 5, 1, 1, 0, 1, 1, 0, 0, 1, 9, 1, 0, NULL, NULL, '', '["select","select",{"datas":[{"default":"","unuse":"0","id":"0","key":"0","option":"启用"},{"default":"","unuse":"0","id":"1","key":"1","option":"禁用"}],"sort":"horizontal"}]', 0); +VALUES(9, 1, 'JCL_ORG_COMP', 'forbidden_tag', '禁用标记', 'int', 5, 1, 1, 0, 1, 1, 0, 0, 1, 11, 1, 0, '2022-06-22', NULL, '', '["select","select",{"datas":[{"default":"","unuse":"0","id":"0","key":"0","option":"启用"},{"default":"","unuse":"0","id":"1","key":"1","option":"禁用"}],"sort":"horizontal"}]', 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(10, 2, 'JCL_ORG_DEPT', 'dept_no', '编号', 'varchar(100)', 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, NULL, NULL, '1', '["input","text","100"]', 0); +VALUES(10, 1, 'JCL_ORG_COMP', 'show_order', '显示顺序', 'int', 1, 1, 1, 0, 1, NULL, 1, 1, 1, 12, 1, 0, '2022-06-22', NULL, '2', '["input","int"]', 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(11, 2, 'JCL_ORG_DEPT', 'dept_name', '名称', 'varchar(100)', 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 0, NULL, NULL, '1', NULL, 0); +VALUES(11, 2, 'JCL_ORG_DEPT', 'dept_no', '编号', 'varchar(100)', 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, '2022-06-22', NULL, '1', '["input","text","100"]', 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(12, 2, 'JCL_ORG_DEPT', 'dept_name_short', '简称', 'varchar(100)', 1, 2, 1, 1, 1, 1, 1, 1, 1, 3, 1, 0, NULL, NULL, '1', NULL, 0); +VALUES(12, 2, 'JCL_ORG_DEPT', 'dept_name', '名称', 'varchar(100)', 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 0, '2022-06-22', NULL, '1', '["input","text","100"]', 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(13, 2, 'JCL_ORG_DEPT', 'parent_comp', '所属分部', 'int', 3, 2, 1, 0, 1, 1, 1, 1, 1, 4, 1, 0, NULL, NULL, '161', '["browser",{"value":"161","valueSpan":"自定义单选","replaceDatas":[{"id":"161","name":"自定义单选"}]},{"value":"compBrowser","valueSpan":"公司分部浏览按钮","replaceDatas":[{"showname":"compBrowser","shownamespan":"compBrowser","namespan":"公司分部浏览按钮","name":"公司分部浏览按钮","showtypespan":"树形","randomFieldIdspan":"","showtype":"2","randomFieldId":"compBrowser","id":"compBrowser"}]}]', 0); +VALUES(13, 2, 'JCL_ORG_DEPT', 'dept_name_short', '简称', 'varchar(100)', 1, 2, 1, 1, 1, 1, 1, 1, 1, 3, 1, 0, '2022-06-22', NULL, '1', '["input","text","100"]', 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(14, 2, 'JCL_ORG_DEPT', 'parent_dept', '上级部门', 'int', 3, 2, 1, 0, 1, 1, 1, 1, 1, 5, 1, 0, NULL, NULL, '161', '["browser",{"valueSpan":"自定义单选","replaceDatas":[{"name":"自定义单选","id":"161"}],"value":"161"},{"valueSpan":"部门浏览按钮","replaceDatas":[{"showname":"deptBrowser","shownamespan":"deptBrowser","namespan":"部门浏览按钮","name":"部门浏览按钮","showtypespan":"树形","randomFieldIdspan":"","showtype":"2","id":"deptBrowser","randomFieldId":"deptBrowser"}],"value":"deptBrowser"}]', 0); +VALUES(14, 2, 'JCL_ORG_DEPT', 'parent_comp', '所属分部', 'int', 3, 2, 1, 1, 1, 1, 1, 1, 1, 4, 1, 0, '2022-06-22', NULL, '161', '["browser",{"value":"161","valueSpan":"自定义单选","replaceDatas":[{"id":"161","name":"自定义单选"}]},{"value":"compBrowser","valueSpan":"公司分部浏览按钮","replaceDatas":[{"showname":"compBrowser","shownamespan":"compBrowser","namespan":"公司分部浏览按钮","name":"公司分部浏览按钮","showtypespan":"树形","randomFieldIdspan":"","showtype":"2","randomFieldId":"compBrowser","id":"compBrowser"}]}]', 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(15, 2, 'JCL_ORG_DEPT', 'dept_principal', '部门负责人', 'int', 3, 2, 1, 0, 1, 1, 1, 1, 1, 6, 1, 0, NULL, NULL, '1', NULL, 0); +VALUES(15, 2, 'JCL_ORG_DEPT', 'parent_dept', '上级部门', 'int', 3, 2, 1, 0, 1, 1, 1, 1, 1, 5, 1, 0, '2022-06-22', NULL, '161', '["browser",{"valueSpan":"自定义单选","replaceDatas":[{"name":"自定义单选","id":"161"}],"value":"161"},{"valueSpan":"部门浏览按钮","replaceDatas":[{"showname":"deptBrowser","shownamespan":"deptBrowser","namespan":"部门浏览按钮","name":"部门浏览按钮","showtypespan":"树形","randomFieldIdspan":"","showtype":"2","id":"deptBrowser","randomFieldId":"deptBrowser"}],"value":"deptBrowser"}]', 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(16, 2, 'JCL_ORG_DEPT', 'show_order', '显示顺序', 'int', 1, 2, 1, 0, 1, 1, 1, 1, 1, 7, 1, 0, NULL, NULL, '2', NULL, 0); +VALUES(16, 2, 'JCL_ORG_DEPT', 'dept_principal', '部门负责人', 'int', 3, 2, 1, 0, 1, 1, 1, 1, 1, 6, 1, 0, '2022-06-22', NULL, '1', NULL, 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(17, 2, 'JCL_ORG_DEPT', 'description', '说明', 'text', 2, 2, 1, 0, 1, 1, 1, 0, 1, 7, 1, 0, NULL, NULL, NULL, NULL, 0); +VALUES(17, 2, 'JCL_ORG_DEPT', 'show_order', '显示顺序', 'int', 1, 2, 1, 0, 1, 1, 1, 1, 1, 7, 1, 0, '2022-06-22', NULL, '2', NULL, 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(18, 2, 'JCL_ORG_DEPT', 'forbidden_tag', '禁用标记', 'int', 5, 2, 1, 0, 1, 1, 0, 0, 1, 7, 1, 0, NULL, NULL, NULL, '["select","select",{"datas":[{"default":"","unuse":"0","id":"0","key":"0","option":"启用"},{"default":"","unuse":"0","id":"1","key":"1","option":"禁用"}],"sort":"horizontal"}]', 0); +VALUES(18, 2, 'JCL_ORG_DEPT', 'description', '说明', 'text', 2, 2, 1, 0, 1, 1, 1, 0, 1, 8, 1, 0, '2022-06-22', NULL, NULL, NULL, 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(19, 3, 'JCL_ORG_JOB', 'job_no', '编号', 'varchar(100)', 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, NULL, NULL, '1', '["input","text","100"]', 0); +VALUES(19, 2, 'JCL_ORG_DEPT', 'forbidden_tag', '禁用标记', 'int', 5, 2, 1, 0, 1, 1, 0, 0, 1, 9, 1, 0, '2022-06-22', NULL, NULL, '["select","select",{"datas":[{"default":"","unuse":"0","id":"0","key":"0","option":"启用"},{"default":"","unuse":"0","id":"1","key":"1","option":"禁用"}],"sort":"horizontal"}]', 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(20, 3, 'JCL_ORG_JOB', 'job_name', '名称', 'varchar(100)', 1, 3, 1, 1, 1, 1, 1, 1, 1, 2, 1, 0, NULL, NULL, '1', '["input","text","100"]', 0); +VALUES(20, 3, 'JCL_ORG_JOB', 'job_no', '编号', 'varchar(100)', 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, '2022-07-05', NULL, '1', '["input","text","100"]', 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(21, 3, 'JCL_ORG_JOB', 'parent_comp', '所属分部', 'int', 3, 3, 1, 0, 1, 1, 1, 1, 1, 3, 1, 0, NULL, NULL, '161', '["browser",{"value":"161","valueSpan":"自定义单选","replaceDatas":[{"id":"161","name":"自定义单选"}]},{"value":"compBrowser","valueSpan":"公司分部浏览按钮","replaceDatas":[{"showname":"compBrowser","shownamespan":"compBrowser","namespan":"公司分部浏览按钮","name":"公司分部浏览按钮","showtypespan":"树形","randomFieldIdspan":"","showtype":"2","randomFieldId":"compBrowser","id":"compBrowser"}]}]', 0); +VALUES(21, 3, 'JCL_ORG_JOB', 'sequence_id', '岗位序列', 'int', 3, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, '2022-07-05', NULL, '161', '["browser",{"value":"161","valueSpan":"自定义单选","replaceDatas":[{"id":"161","name":"自定义单选"}]},{"value":"sequenceBrowser","valueSpan":"岗位序列","replaceDatas":[{"showname":"sequenceBrowser","shownamespan":"sequenceBrowser","namespan":"岗位序列","name":"岗位序列","showtypespan":"列表式","randomFieldIdspan":"","showtype":"1","randomFieldId":"sequenceBrowser","id":"sequenceBrowser"}]}]', 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(22, 3, 'JCL_ORG_JOB', 'parent_dept', '所属部门', 'int', 3, 3, 1, 0, 1, 1, 1, 1, 1, 4, 1, 0, NULL, NULL, '161', '["browser",{"valueSpan":"自定义单选","replaceDatas":[{"name":"自定义单选","id":"161"}],"value":"161"},{"valueSpan":"部门浏览按钮","replaceDatas":[{"showname":"deptBrowser","shownamespan":"deptBrowser","namespan":"部门浏览按钮","name":"部门浏览按钮","showtypespan":"树形","randomFieldIdspan":"","showtype":"2","id":"deptBrowser","randomFieldId":"deptBrowser"}],"value":"deptBrowser"}]', 0); +VALUES(22, 3, 'JCL_ORG_JOB', 'description', '工作概述', 'text', 2, 6, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, '2022-07-05', NULL, NULL, NULL, 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(23, 3, 'JCL_ORG_JOB', 'sequence_id', '岗位序列', 'int', 3, 3, 1, 0, 1, 1, 1, 1, 1, 5, 1, 0, NULL, NULL, '161', '["browser",{"value":"161","valueSpan":"自定义单选","replaceDatas":[{"id":"161","name":"自定义单选"}]},{"value":"sequenceBrowser","valueSpan":"岗位序列","replaceDatas":[{"showname":"sequenceBrowser","shownamespan":"sequenceBrowser","namespan":"岗位序列","name":"岗位序列","showtypespan":"列表式","randomFieldIdspan":"","showtype":"1","randomFieldId":"sequenceBrowser","id":"sequenceBrowser"}]}]', 0); +VALUES(23, 3, 'JCL_ORG_JOB', 'job_name', '名称', 'varchar(100)', 1, 3, 1, 0, 1, 1, 1, 1, 1, 2, 1, 0, '2022-07-05', NULL, '1', '["input","text","100"]', 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(24, 3, 'JCL_ORG_JOB', 'scheme_id', '等级方案', 'int', 3, 3, 1, 0, 1, 1, 1, 1, 1, 6, 1, 0, NULL, NULL, '161', '["browser",{"value":"161","valueSpan":"自定义单选","replaceDatas":[{"id":"161","name":"自定义单选"}]},{"value":"schemeBrowser","valueSpan":"等级方案浏览按钮","replaceDatas":[{"showname":"schemeBrowser","shownamespan":"schemeBrowser","namespan":"等级方案浏览按钮","name":"等级方案浏览按钮","showtypespan":"列表式","randomFieldIdspan":"","showtype":"1","randomFieldId":"schemeBrowser","id":"schemeBrowser"}]}]', 0); +VALUES(24, 3, 'JCL_ORG_JOB', 'scheme_id', '等级方案', 'int', 3, 5, 1, 1, 1, 1, 1, 1, 1, 2, 1, 0, '2022-07-05', NULL, '161', '["browser",{"value":"161","valueSpan":"自定义单选","replaceDatas":[{"id":"161","name":"自定义单选"}]},{"value":"schemeBrowser","valueSpan":"等级方案浏览按钮","replaceDatas":[{"showname":"schemeBrowser","shownamespan":"schemeBrowser","namespan":"等级方案浏览按钮","name":"等级方案浏览按钮","showtypespan":"列表式","randomFieldIdspan":"","showtype":"1","randomFieldId":"schemeBrowser","id":"schemeBrowser"}]}]', 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(25, 3, 'JCL_ORG_JOB', 'parent_job', '上级岗位', 'int', 3, 3, 1, 0, 1, 1, 1, 1, 1, 7, 1, 0, NULL, NULL, '161', '["browser",{"value":"161","valueSpan":"自定义单选","replaceDatas":[{"id":"161","name":"自定义单选"}]},{"value":"jobBrowser","valueSpan":"岗位浏览按钮","replaceDatas":[{"showname":"jobBrowser","shownamespan":"jobBrowser","namespan":"岗位浏览按钮","name":"岗位浏览按钮","showtypespan":"树形","randomFieldIdspan":"","showtype":"2","randomFieldId":"jobBrowser","id":"jobBrowser"}]}]', 0); +VALUES(25, 3, 'JCL_ORG_JOB', 'work_duty', '任职职责', 'text', 2, 6, 1, 0, 1, 1, 1, 0, 1, 2, 1, 0, '2022-07-05', NULL, NULL, NULL, 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(26, 3, 'JCL_ORG_JOB', 'is_key', '是否关键岗', 'int', 5, 3, 1, 0, 1, 1, 1, 1, 1, 8, 1, 0, NULL, NULL, NULL, '["select","select",{"datas":[{"default":"","unuse":"0","id":"0","key":"0","option":"否"},{"default":"","unuse":"0","id":"1","key":"1","option":"是"}],"sort":"horizontal"}]', 0); +VALUES(26, 3, 'JCL_ORG_JOB', 'ec_department', '所属部门', 'int', 3, 3, 1, 1, 1, 1, 1, 1, 1, 3, 1, 0, '2022-07-05', NULL, '4', '["browser",{"valueSpan":"部门","replaceDatas":[{"name":"部门","id":"4"}],"value":"4"}]', 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(27, 3, 'JCL_ORG_JOB', 'workplace', '工作地点', 'varchar(100)', 1, 3, 1, 0, 1, 1, 1, 0, 1, 9, 1, 0, NULL, NULL, '1', '["input","text","100"]', 0); +VALUES(27, 3, 'JCL_ORG_JOB', 'work_authority', '工作权限', 'text', 2, 6, 1, 0, 1, 1, 1, 0, 1, 3, 1, 0, '2022-07-05', NULL, NULL, NULL, 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(28, 3, 'JCL_ORG_JOB', 'description', '工作概述', 'text', 2, 3, 1, 0, 1, 1, 1, 0, 1, 10, 1, 0, NULL, NULL, NULL, NULL, 0); +VALUES(28, 3, 'JCL_ORG_JOB', 'level_id', '职等', 'text', 3, 5, 1, 0, 1, NULL, 1, 1, 1, 3, 1, 0, '2022-07-05', NULL, '162', '["browser",{"valueSpan":"自定义多选","replaceDatas":[{"itemorderid":"162","name":"自定义多选","id":"162","parenttitle":"集成","title":"集成-自定义多选"}],"value":"162"},{"valueSpan":"职等浏览按钮","replaceDatas":[{"showname":"LevelBrowser","name":"职等浏览按钮","id":"LevelBrowser"}],"value":"LevelBrowser"}]', 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(29, 3, 'JCL_ORG_JOB', 'work_duty', '任职职责', 'text', 2, 3, 1, 0, 1, 1, 1, 0, 1, 11, 1, 0, NULL, NULL, NULL, NULL, 0); +VALUES(29, 3, 'JCL_ORG_JOB', 'ec_company', '所属分部', 'int', 3, 3, 1, 0, 1, 1, 1, 1, 1, 4, 1, 0, '2022-07-05', 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(30, 3, 'JCL_ORG_JOB', 'work_authority', '工作权限', 'text', 2, 3, 1, 0, 1, 1, 1, 0, 1, 12, 1, 0, NULL, NULL, NULL, NULL, 0); +VALUES(30, 3, 'JCL_ORG_JOB', 'grade_id', '职级', 'text', 3, 5, 1, 0, 1, NULL, 1, 1, 1, 4, 1, 0, '2022-07-05', NULL, '161', '["browser",{"valueSpan":"自定义单选","replaceDatas":[{"itemorderid":"161","name":"自定义单选","id":"161","parenttitle":"集成","title":"集成-自定义单选"}],"value":"161"},{"valueSpan":"职级浏览按钮","replaceDatas":[{"showname":"gradeBrowser","name":"职级浏览按钮","id":"gradeBrowser"}],"value":"gradeBrowser"}]', 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(31, 3, 'JCL_ORG_JOB', 'forbidden_tag', '禁用标记', 'int', 5, 3, 1, 0, 1, 1, 0, 0, 1, 13, 1, 0, NULL, NULL, NULL, '["select","select",{"datas":[{"default":"","unuse":"0","id":"0","key":"0","option":"启用"},{"default":"","unuse":"0","id":"1","key":"1","option":"禁用"}],"sort":"horizontal"}]', 0); +VALUES(31, 3, 'JCL_ORG_JOB', 'parent_job', '上级岗位', 'int', 3, 3, 1, 0, 1, 1, 1, 1, 1, 5, 1, 0, '2022-07-05', NULL, '161', '["browser",{"value":"161","valueSpan":"自定义单选","replaceDatas":[{"id":"161","name":"自定义单选"}]},{"value":"jobBrowser","valueSpan":"岗位浏览按钮","replaceDatas":[{"showname":"jobBrowser","shownamespan":"jobBrowser","namespan":"岗位浏览按钮","name":"岗位浏览按钮","showtypespan":"树形","randomFieldIdspan":"","showtype":"2","randomFieldId":"jobBrowser","id":"jobBrowser"}]}]', 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(32, 3, 'JCL_ORG_JOB', 'is_key', '是否关键岗', 'int', 5, 3, 1, 0, 1, 1, 1, 1, 1, 6, 1, 0, '2022-07-05', NULL, NULL, '["select","select",{"datas":[{"default":"","unuse":"0","id":"0","key":"0","option":"否"},{"default":"","unuse":"0","id":"1","key":"1","option":"是"}],"sort":"horizontal"}]', 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(33, 3, 'JCL_ORG_JOB', 'workplace', '工作地点', 'varchar(100)', 1, 3, 1, 0, 1, 1, 1, 0, 1, 7, 1, 0, '2022-07-05', NULL, '1', '["input","text","100"]', 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(34, 3, 'JCL_ORG_JOB', 'forbidden_tag', '禁用标记', 'int', 5, 3, 1, 0, 1, 1, 0, 0, 1, 8, 1, 0, '2022-07-05', NULL, NULL, '["select","select",{"datas":[{"default":"","unuse":"0","id":"0","key":"0","option":"启用"},{"default":"","unuse":"0","id":"1","key":"1","option":"禁用"}],"sort":"horizontal"}]', 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(35, 3, 'JCL_ORG_JOB', 'show_order', '显示顺序', 'int', 1, 3, 1, 0, 1, NULL, 1, 1, 1, 9, 1, 0, '2022-07-05', NULL, '2', '["input","int"]', 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(36, 3, 'JCL_ORG_JOB', 'parent_comp', '所属分部', 'int', 3, 3, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, '2022-06-22', NULL, '161', '["browser",{"value":"161","valueSpan":"自定义单选","replaceDatas":[{"id":"161","name":"自定义单选"}]},{"value":"compBrowser","valueSpan":"公司分部浏览按钮","replaceDatas":[{"showname":"compBrowser","shownamespan":"compBrowser","namespan":"公司分部浏览按钮","name":"公司分部浏览按钮","showtypespan":"树形","randomFieldIdspan":"","showtype":"2","randomFieldId":"compBrowser","id":"compBrowser"}]}]', 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(37, 3, 'JCL_ORG_JOB', 'parent_dept', '上级部门', 'int', 3, 3, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, '2022-06-22', NULL, '161', '["browser",{"valueSpan":"自定义单选","replaceDatas":[{"name":"自定义单选","id":"161"}],"value":"161"},{"valueSpan":"部门浏览按钮","replaceDatas":[{"showname":"deptBrowser","shownamespan":"deptBrowser","namespan":"部门浏览按钮","name":"部门浏览按钮","showtypespan":"树形","randomFieldIdspan":"","showtype":"2","id":"deptBrowser","randomFieldId":"deptBrowser"}],"value":"deptBrowser"}]', 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(38, 3, 'JCL_ORG_JOBEXT_DT1', 'post_id', '职务分类', 'text', 3, 5, 1, 0, 1, NULL, 1, 1, 1, 1, 1, 0, '2022-07-05', NULL, '161', '["browser",{"valueSpan":"自定义单选","replaceDatas":[{"itemorderid":"161","name":"自定义单选","id":"161","parenttitle":"集成","title":"集成-自定义单选"}],"value":"161"},{"valueSpan":"职务分类浏览按钮","replaceDatas":[{"showname":"postBrowser","name":"职务分类浏览按钮","id":"postBrowser"}],"value":"postBrowser"}]', 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(39, 3, 'JCL_ORG_JOBEXT_DT1', 'post_info_id', '职务', 'text', 3, 5, 1, 0, 1, NULL, 1, 1, 1, 2, 1, 0, '2022-07-05', NULL, '161', '["browser",{"valueSpan":"自定义单选","replaceDatas":[{"itemorderid":"161","name":"自定义单选","id":"161","parenttitle":"集成","title":"集成-自定义单选"}],"value":"161"},{"valueSpan":"职务信息浏览按钮","replaceDatas":[{"showname":"PostInfoBrowser","name":"职务信息浏览按钮","id":"PostInfoBrowser"}],"value":"PostInfoBrowser"}]', 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(40, 4, 'JCL_ORG_HRMRESOURCE', 'work_code', '编号', 'varchar(60)', 1, 4, 1, 0, 1, NULL, 1, 1, 1, 1, 1, 0, '2022-06-21', NULL, '1', '["input","text","60"]', 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(41, 4, 'JCL_ORG_HRMRESOURCE', 'manager_id', '直接上级', 'int', 3, 7, 1, 0, 1, NULL, 1, 1, 1, 1, 1, 0, '2022-06-21', NULL, '1', '["browser",{"valueSpan":"人力资源","replaceDatas":[{"itemorderid":"1","name":"人力资源","id":"1","parenttitle":"人员","title":"人员-人力资源"}],"value":"1"}]', 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(42, 4, 'JCL_ORG_HRMRESOURCE', 'mobile', '移动电话', 'varchar(60)', 1, 8, 1, 0, 1, NULL, 1, 1, 1, 1, 1, 0, '2022-06-21', NULL, '1', '["input","text","60"]', 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(43, 4, 'JCL_ORG_HRMRESOURCE', 'login_id', '登录名', 'varchar(60)', 1, 4, 1, 1, 1, NULL, 1, 1, 1, 2, 1, 0, '2022-06-21', NULL, '1', '["input","text","60"]', 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(44, 4, 'JCL_ORG_HRMRESOURCE', 'assistant_id', '助理', 'int', 3, 7, 1, 0, 1, NULL, 1, 1, 1, 2, 1, 0, '2022-06-21', NULL, '1', '["browser",{"valueSpan":"人力资源","replaceDatas":[{"itemorderid":"1","name":"人力资源","id":"1","parenttitle":"人员","title":"人员-人力资源"}],"value":"1"}]', 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(45, 4, 'JCL_ORG_HRMRESOURCE', 'telephone', '办公室电话', 'varchar(60)', 1, 8, 1, 0, 1, NULL, 1, 1, 1, 2, 1, 0, '2022-06-21', NULL, '1', '["input","text","60"]', 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(46, 4, 'JCL_ORG_HRMRESOURCE', 'last_name', '姓名', 'varchar(60)', 1, 4, 1, 0, 1, NULL, 1, 1, 1, 3, 1, 0, '2022-06-21', NULL, '1', '["input","text","60"]', 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(47, 4, 'JCL_ORG_HRMRESOURCE', 'mobile_call', '其他电话', 'varchar(60)', 1, 8, 1, 0, 1, NULL, 1, 1, 1, 3, 1, 0, '2022-06-21', NULL, '1', '["input","text","60"]', 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(48, 4, 'JCL_ORG_HRMRESOURCE', 'sex', '性别', 'int', 5, 4, 1, 0, 1, NULL, 1, 1, 1, 4, 1, 0, '2022-06-21', NULL, '1', '["select","select",{"datas":[{"default":"","unuse":"","id":"0","key":"0","option":"男"},{"default":"","unuse":"","id":"1","key":"1","option":"女"}],"sort":"horizontal"}]', 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(49, 4, 'JCL_ORG_HRMRESOURCE', 'fax', '传真', 'varchar(60)', 1, 8, 1, 0, 1, NULL, 1, 1, 1, 4, 1, 0, '2022-06-21', NULL, '1', '["input","text","60"]', 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(50, 4, 'JCL_ORG_HRMRESOURCE', 'account_type', '账号类型', 'int', 5, 4, 1, 0, 1, NULL, 1, 1, 1, 5, 1, 0, '2022-06-21', NULL, '1', '["select","select",{"datas":[{"default":"","unuse":"","id":"0","key":"0","option":"主账号"},{"default":"","unuse":"","id":"1","key":"1","option":"次账号"}],"sort":"horizontal"}]', 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(51, 4, 'JCL_ORG_HRMRESOURCE', 'email', '电子邮件', 'varchar(60)', 1, 8, 1, 0, 1, NULL, 1, 1, 1, 5, 1, 0, '2022-06-21', NULL, '1', '["input","text","60"]', 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(52, 4, 'JCL_ORG_HRMRESOURCE', 'belong_to', '主账号', 'int', 3, 4, 1, 0, 1, NULL, 1, 1, 1, 6, 1, 0, '2022-06-21', NULL, '1', '["browser",{"valueSpan":"人力资源","replaceDatas":[{"name":"人力资源","id":"1"}],"value":"1"}]', 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(53, 4, 'JCL_ORG_HRMRESOURCE', 'workroom', '办公室', 'varchar(60)', 1, 8, 1, 0, 1, NULL, 1, 1, 1, 6, 1, 0, '2022-06-21', NULL, '1', '["input","text","60"]', 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(54, 4, 'JCL_ORG_HRMRESOURCE', 'department_id', '部门', 'int', 3, 4, 1, 0, 1, NULL, 1, 1, 1, 7, 1, 0, '2022-06-21', NULL, '161', '["browser",{"valueSpan":"自定义单选","replaceDatas":[{"name":"自定义单选","id":"161"}],"value":"161"},{"valueSpan":"部门浏览按钮","replaceDatas":[{"showname":"deptBrowser","shownamespan":"deptBrowser","namespan":"部门浏览按钮","name":"部门浏览按钮","showtypespan":"树形","randomFieldIdspan":"","showtype":"2","id":"deptBrowser","randomFieldId":"deptBrowser"}],"value":"deptBrowser"}]', 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(55, 4, 'JCL_ORG_HRMRESOURCE', 'job_activity', '职务', 'int', 3, 4, 1, 0, 1, NULL, 1, 1, 1, 8, 1, 0, '2022-06-21', NULL, '161', '["browser",{"valueSpan":"自定义单选","replaceDatas":[{"name":"自定义单选","id":"161"}],"value":"161"},{"valueSpan":"职务分类浏览按钮","replaceDatas":[{"showname":"postBrowser","shownamespan":"postBrowser","namespan":"职务分类浏览按钮","name":"职务分类浏览按钮","showtypespan":"列表式","randomFieldIdspan":"","showtype":"1","id":"postBrowser","randomFieldId":"postBrowser"}],"value":"postBrowser"}]', 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(56, 4, 'JCL_ORG_HRMRESOURCE', 'job_title', '岗位', 'int', 3, 4, 1, 0, 1, NULL, 1, 1, 1, 9, 1, 0, '2022-06-21', NULL, '161', '["browser",{"value":"161","valueSpan":"自定义单选","replaceDatas":[{"id":"161","name":"自定义单选"}]},{"value":"jobBrowser","valueSpan":"岗位浏览按钮","replaceDatas":[{"showname":"jobBrowser","shownamespan":"jobBrowser","namespan":"岗位浏览按钮","name":"岗位浏览按钮","showtypespan":"树形","randomFieldIdspan":"","showtype":"2","randomFieldId":"jobBrowser","id":"jobBrowser"}]}]', 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(57, 4, 'JCL_ORG_HRMRESOURCE', 'job_call', '职称', 'int', 3, 4, 1, 0, 1, NULL, 1, 1, 1, 10, 1, 0, '2022-06-21', NULL, '260', '["browser",{"valueSpan":"职称","replaceDatas":[{"name":"职称","id":"260"}],"value":"260"}]', 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(58, 4, 'JCL_ORG_HRMRESOURCE', 'job_level', '职级', 'int', 3, 4, 1, 0, 1, NULL, 1, 1, 1, 11, 1, 0, '2022-06-21', NULL, '161', '["browser",{"valueSpan":"自定义单选","replaceDatas":[{"name":"自定义单选","id":"161"}],"value":"161"},{"valueSpan":"职级浏览按钮","replaceDatas":[{"showname":"gradeBrowser","name":"职级浏览按钮","id":"gradeBrowser"}],"value":"gradeBrowser"}]', 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(59, 4, 'JCL_ORG_HRMRESOURCE', 'job_group_id', '职务类别', 'int', 3, 4, 1, 0, 1, NULL, 1, 1, 1, 12, 1, 0, '2022-06-21', NULL, '161', '["browser",{"valueSpan":"自定义单选","replaceDatas":[{"name":"自定义单选","id":"161"}],"value":"161"},{"valueSpan":"职务分类浏览按钮","replaceDatas":[{"showname":"postBrowser","name":"职务分类浏览按钮","id":"postBrowser"}],"value":"postBrowser"}]', 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(60, 4, 'JCL_ORG_HRMRESOURCE', 'job_activity_desc', '职责描述', 'varchar(200)', 1, 4, 1, 0, 1, NULL, 1, 1, 1, 13, 1, 0, '2022-06-21', NULL, '1', '["input","text","200"]', 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(61, 4, 'JCL_ORG_HRMRESOURCE', 'status', '状态', 'int', 5, 4, 1, 0, 1, NULL, 1, 1, 1, 14, 1, 0, '2022-06-21', NULL, '1', '["select","select",{"datas":[{"default":"","unuse":"","id":"0","key":"0","option":"试用"},{"default":"","unuse":"","id":"1","key":"1","option":"正式"},{"default":"","unuse":"","id":"2","key":"2","option":"临时"},{"default":"","unuse":"","id":"3","key":"3","option":"试用延期"},{"default":"","unuse":"","id":"4","key":"4","option":"解聘"},{"default":"","unuse":"","id":"5","key":"5","option":"离职"},{"default":"","unuse":"","id":"6","key":"6","option":"退休"},{"default":"","unuse":"","id":"7","key":"7","option":"无效"},{"default":"","unuse":"","id":"8","key":"8","option":"在职"}],"sort":"horizontal"}]', 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(62, 4, 'JCL_ORG_HRMRESOURCE', 'system_language', '系统语言', 'int', 3, 4, 1, 0, 1, NULL, 1, 1, 1, 15, 1, 0, '2022-06-21', NULL, '259', '["browser",{"valueSpan":"语言","replaceDatas":[{"itemorderid":"259","name":"语言","id":"259","parenttitle":"系统","title":"系统-语言"}],"value":"259"}]', 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(63, 4, 'JCL_ORG_HRMRESOURCE', 'resource_image_id', '照片', 'varchar(1000)', 6, 4, 1, 0, 1, NULL, 1, 1, 1, 16, 1, 0, '2022-06-21', NULL, '1', '["upload","file"]', 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(64, 4, 'JCL_ORG_HRMRESOURCE', 'messager_url', '头像', 'varchar(1000)', 6, 4, 1, 0, 1, NULL, 1, 1, 1, 17, 1, 0, '2022-06-21', NULL, '1', '["upload","file"]', 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(65, 4, 'JCL_ORG_HRMRESOURCE', 'location_id', '办公地点', 'int', 3, 4, 1, 0, 1, NULL, 1, 1, 1, 18, 1, 0, '2022-06-21', NULL, '262', '["browser",{"valueSpan":"办公地点","replaceDatas":[{"itemorderid":"262","name":"办公地点","id":"262","parenttitle":"组织","title":"组织-办公地点"}],"value":"262"}]', 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(66, 4, 'JCL_ORG_HRMRESOURCE', 'company_id', '分部', 'int', 3, 4, 1, 0, 1, NULL, 1, 1, 1, 19, 1, 0, '2022-06-21', NULL, '161', '["browser",{"valueSpan":"自定义单选","replaceDatas":[{"name":"自定义单选","id":"161"}],"value":"161"},{"valueSpan":"公司分部浏览按钮","replaceDatas":[{"showname":"compBrowser","name":"公司分部浏览按钮","id":"compBrowser"}],"value":"compBrowser"}]', 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(67, 4, 'JCL_ORG_HRMRESOURCE', 'pass_word', '密码', 'varchar(100)', 1, 4, 1, 0, 1, NULL, 1, 1, 1, 20, 1, 0, '2022-06-29', NULL, '1', '["input","text","100"]', 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(68, 4, 'JCL_ORG_HRMRESOURCE', 'sec_level', '安全级别', 'int', 1, 4, 1, 0, 1, NULL, 1, 1, 1, 21, 1, 0, '2022-06-29', NULL, '2', '["input","int"]', 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(69, 4, 'JCL_ORG_HRMRESOURCE', 'birthday', '出生日期', 'char(10)', 3, 4, 1, 0, 1, NULL, 1, 1, 1, 22, 1, 0, '2022-06-29', NULL, '2', '["browser",{"valueSpan":"日期","replaceDatas":[{"name":"日期","id":"2"}],"value":"2"}]', 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(70, 4, 'JCL_ORG_HRMRESOURCE', 'folk', '民族', 'varchar(30)', 1, 4, 1, 0, 1, NULL, 1, 1, 1, 23, 1, 0, '2022-06-29', NULL, '1', '["input","text","30"]', 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(71, 4, 'JCL_ORG_HRMRESOURCE', 'native_place', '籍贯', 'varchar(100)', 1, 4, 1, 0, 1, NULL, 1, 1, 1, 24, 1, 0, '2022-06-29', NULL, '1', '["input","text","100"]', 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(72, 4, 'JCL_ORG_HRMRESOURCE', 'reg_resident_place', '户口', 'varchar(200)', 1, 4, 1, 0, 1, NULL, 1, 1, 1, 25, 1, 0, '2022-06-29', NULL, '1', '["input","text","200"]', 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(73, 4, 'JCL_ORG_HRMRESOURCE', 'certificate_num', '身份证号码', 'varchar(60)', 1, 4, 1, 0, 1, NULL, 1, 1, 1, 26, 1, 0, '2022-06-29', NULL, '1', '["input","text","60"]', 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(74, 4, 'JCL_ORG_HRMRESOURCE', 'marital_status', '婚姻状况', 'int', 5, 4, 1, 0, 1, NULL, 1, 1, 1, 27, 1, 0, '2022-06-29', NULL, '1', '["select","select",{"datas":[{"default":"","unuse":"","id":"0","key":"0","option":"未婚"},{"default":"","unuse":"","id":"1","key":"1","option":"已婚"},{"default":"","unuse":"","id":"2","key":"2","option":"离异"}],"sort":"horizontal"}]', 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(75, 4, 'JCL_ORG_HRMRESOURCE', 'policy', '政治面貌', 'varchar(30)', 1, 4, 1, 0, 1, NULL, 1, 1, 1, 28, 1, 0, '2022-06-29', NULL, '1', '["input","text","30"]', 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(76, 4, 'JCL_ORG_HRMRESOURCE', 'be_member_date', '入团日期', 'char(10)', 3, 4, 1, 0, 1, NULL, 1, 1, 1, 29, 1, 0, '2022-06-29', NULL, '2', '["browser",{"valueSpan":"日期","replaceDatas":[{"name":"日期","id":"2"}],"value":"2"}]', 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(77, 4, 'JCL_ORG_HRMRESOURCE', 'be_party_date', '入党日期', 'char(10)', 3, 4, 1, 0, 1, NULL, 1, 1, 1, 30, 1, 0, '2022-06-29', NULL, '2', '["browser",{"valueSpan":"日期","replaceDatas":[{"name":"日期","id":"2"}],"value":"2"}]', 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(78, 4, 'JCL_ORG_HRMRESOURCE', 'islabouunion', '工会会员', 'int', 5, 4, 1, 0, 1, NULL, 1, 1, 1, 31, 1, 0, '2022-06-29', NULL, '1', '["select","select",{"datas":[{"default":"","unuse":"","id":"0","key":"0","option":"是"},{"default":"","unuse":"","id":"1","key":"1","option":"否"}],"sort":"horizontal"}]', 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(79, 4, 'JCL_ORG_HRMRESOURCE', 'education_level', '学历', 'int', 3, 4, 1, 0, 1, NULL, 1, 1, 1, 32, 1, 0, '2022-06-29', NULL, '30', '["browser",{"valueSpan":"学历","replaceDatas":[{"name":"学历","id":"30"}],"value":"30"}]', 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(80, 4, 'JCL_ORG_HRMRESOURCE', 'degree', '学位', 'varchar(30)', 1, 4, 1, 0, 1, NULL, 1, 1, 1, 33, 1, 0, '2022-06-29', NULL, '1', '["input","text","30"]', 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(81, 4, 'JCL_ORG_HRMRESOURCE', 'health_info', '健康状况', 'int', 5, 4, 1, 0, 1, NULL, 1, 1, 1, 34, 1, 0, '2022-06-29', NULL, '1', '["select","select",{"datas":[{"default":"","unuse":"","id":"0","key":"0","option":"优秀"},{"default":"","unuse":"","id":"1","key":"1","option":"良好"},{"default":"","unuse":"","id":"2","key":"2","option":"一般"},{"default":"","unuse":"","id":"3","key":"3","option":"较差"}],"sort":"horizontal"}]', 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(82, 4, 'JCL_ORG_HRMRESOURCE', 'height', '身高', 'int', 1, 4, 1, 0, 1, NULL, 1, 1, 1, 35, 1, 0, '2022-06-29', NULL, '2', '["input","int"]', 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(83, 4, 'JCL_ORG_HRMRESOURCE', 'weight', '体重', 'int', 1, 4, 1, 0, 1, NULL, 1, 1, 1, 36, 1, 0, '2022-06-29', NULL, '2', '["input","int"]', 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(84, 4, 'JCL_ORG_HRMRESOURCE', 'use_kind', '用工性质', 'int', 3, 4, 1, 0, 1, NULL, 1, 1, 1, 37, 1, 0, '2022-06-29', NULL, '31', '["browser",{"valueSpan":"用工性质","replaceDatas":[{"name":"用工性质","id":"31"}],"value":"31"}]', 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(85, 4, 'JCL_ORG_HRMRESOURCE', 'start_date', '合同开始日期', 'char(10)', 3, 4, 1, 0, 1, NULL, 1, 1, 1, 38, 1, 0, '2022-06-29', NULL, '2', '["browser",{"valueSpan":"日期","replaceDatas":[{"name":"日期","id":"2"}],"value":"2"}]', 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(86, 4, 'JCL_ORG_HRMRESOURCE', 'end_date', '合同结束日期', 'char(10)', 3, 4, 1, 0, 1, NULL, 1, 1, 1, 39, 1, 0, '2022-06-29', NULL, '2', '["browser",{"valueSpan":"日期","replaceDatas":[{"name":"日期","id":"2"}],"value":"2"}]', 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(87, 4, 'JCL_ORG_HRMRESOURCE', 'probation_end_date', '试用期结束日期', 'char(10)', 3, 4, 1, 0, 1, NULL, 1, 1, 1, 40, 1, 0, '2022-06-29', NULL, '2', '["browser",{"valueSpan":"日期","replaceDatas":[{"name":"日期","id":"2"}],"value":"2"}]', 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(88, 4, 'JCL_ORG_HRMRESOURCE', 'resident_place', '现居住地', 'varchar(200)', 1, 4, 1, 0, 1, NULL, 1, 1, 1, 41, 1, 0, '2022-06-29', NULL, '1', '["input","text","200"]', 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(89, 4, 'JCL_ORG_HRMRESOURCE', 'home_address', '家庭联系方式', 'varchar(100)', 1, 4, 1, 0, 1, NULL, 1, 1, 1, 42, 1, 0, '2022-06-29', NULL, '1', '["input","text","100"]', 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(90, 4, 'JCL_ORG_HRMRESOURCE', 'temp_resident_number', '暂住证号码', 'varchar(60)', 1, 4, 1, 0, 1, NULL, 1, 1, 1, 43, 1, 0, '2022-06-29', NULL, '1', '["input","text","60"]', 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(91, 4, 'JCL_ORG_HRMRESOURCE', 'company_start_date', '入职日期', 'char(10)', 3, 4, 1, 0, 1, NULL, 1, 1, 1, 44, 1, 0, '2022-06-29', NULL, '2', '["browser",{"valueSpan":"日期","replaceDatas":[{"name":"日期","id":"2"}],"value":"2"}]', 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(92, 4, 'JCL_ORG_HRMRESOURCE', 'work_start_date', '参加工作日期', 'char(10)', 3, 4, 1, 0, 1, NULL, 1, 1, 1, 45, 1, 0, '2022-06-29', NULL, '2', '["browser",{"valueSpan":"日期","replaceDatas":[{"name":"日期","id":"2"}],"value":"2"}]', 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(93, 4, 'JCL_ORG_HRMRESOURCE', 'accum_fund_account', '公积金帐户', 'varchar(30)', 1, 4, 1, 0, 1, NULL, 1, 1, 1, 46, 1, 0, '2022-06-29', NULL, '1', '["input","text","30"]', 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(94, 4, 'JCL_ORG_HRMRESOURCE', 'account_name', '工资账号户名', 'varchar(200)', 1, 4, 1, 0, 1, NULL, 1, 1, 1, 48, 1, 0, '2022-06-29', NULL, '1', '["input","text","200"]', 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(95, 4, 'JCL_ORG_HRMRESOURCE', 'bank_id', '工资银行', 'varchar(400)', 3, 4, 1, 0, 1, NULL, 1, 1, 1, 49, 1, 0, '2022-06-29', NULL, '284', '["browser",{"valueSpan":"工资银行","replaceDatas":[{"itemorderid":"0","name":"工资银行","id":"284","parenttitle":"其他","title":"其他-工资银行"}],"value":"284"}]', 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(96, 4, 'JCL_ORG_HRMRESOURCE', 'account_id', '工资账号', 'varchar(100)', 1, 4, 1, 0, 1, NULL, 1, 1, 1, 50, 1, 0, '2022-06-29', NULL, '1', '["input","text","100"]', 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(97, 4, 'JCL_ORG_HRMRESOURCE', 'show_order', '显示顺序', 'int', 1, 4, 1, 0, 1, NULL, 1, 1, 1, 51, 1, 0, '2022-06-29', NULL, '2', '["input","int"]', 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(98, 4, 'JCL_ORG_HRMRESOURCE', 'classification', '人员密级', 'int', 1, 4, 1, 0, 1, NULL, 1, 1, 1, 52, 1, 0, '2022-06-29', NULL, '2', '["input","int"]', 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(99, 4, 'JCL_ORG_HRMRESOURCE', 'work_year', '工龄', 'decimal(15,2)', 1, 4, 1, 0, 1, NULL, 1, 1, 1, 53, 1, 0, '2022-06-29', NULL, '3', '["input","float","2"]', 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(100, 4, 'JCL_ORG_HRMRESOURCE', 'company_work_year', '司龄', 'decimal(15,2)', 1, 4, 1, 0, 1, NULL, 1, 1, 1, 54, 1, 0, '2022-06-29', NULL, '3', '["input","float","2"]', 0); diff --git a/docs/初始数据SQL/jcl_field_extendtitle.sql b/docs/初始数据SQL/jcl_field_extendtitle.sql index 41d57f77..dff1cba6 100644 --- a/docs/初始数据SQL/jcl_field_extendtitle.sql +++ b/docs/初始数据SQL/jcl_field_extendtitle.sql @@ -1,6 +1,6 @@ INSERT INTO jcl_field_extendtitle (id, group_id, title, creator, delete_type, create_time, update_time, show_order, is_show, is_system_default) -VALUES(1, 1, '基本信息', 1, 0, '2022-06-17', '2022-06-17', 1, 1, 0); +VALUES(1, 1, '基本信息', 1, 0, '2022-06-17', '2022-06-30', 1, 1, 0); INSERT INTO jcl_field_extendtitle (id, group_id, title, creator, delete_type, create_time, update_time, show_order, is_show, is_system_default) VALUES(2, 2, '基本信息', 1, 0, '2022-06-17', '2022-06-17', 1, 1, 0); @@ -10,3 +10,15 @@ VALUES(3, 3, '基本信息', 1, 0, '2022-06-17', '2022-06-17', 1, 1, 0); INSERT INTO jcl_field_extendtitle (id, group_id, title, creator, delete_type, create_time, update_time, show_order, is_show, is_system_default) VALUES(4, 4, '基本信息', 1, 0, '2022-06-17', '2022-06-17', 1, 1, 0); +INSERT INTO jcl_field_extendtitle +(id, group_id, title, creator, delete_type, create_time, update_time, show_order, is_show, is_system_default) +VALUES(5, 3, '职务信息', 1, 0, '2022-07-05', NULL, 2, 1, 0); +INSERT INTO jcl_field_extendtitle +(id, group_id, title, creator, delete_type, create_time, update_time, show_order, is_show, is_system_default) +VALUES(6, 3, '职责信息', 1, 0, '2022-07-05', NULL, 3, 1, 0); +INSERT INTO jcl_field_extendtitle +(id, group_id, title, creator, delete_type, create_time, update_time, show_order, is_show, is_system_default) +VALUES(7, 4, '上下级关系', 1, 0, '2022-06-21', NULL, 2, 1, 0); +INSERT INTO jcl_field_extendtitle +(id, group_id, title, creator, delete_type, create_time, update_time, show_order, is_show, is_system_default) +VALUES(8, 4, '通讯信息', 1, 0, '2022-06-21', NULL, 3, 1, 0); diff --git a/docs/初始数据SQL/浏览按钮.sql b/docs/初始数据SQL/浏览按钮.sql new file mode 100644 index 00000000..a2800c05 --- /dev/null +++ b/docs/初始数据SQL/浏览按钮.sql @@ -0,0 +1,46 @@ +INSERT INTO datashowset(`id`, `SHOWNAME`, `SHOWCLASS`, `DATAFROM`, `DATASOURCEID`, `SQLTEXT`, `WSURL`, `WSOPERATION`, `XMLTEXT`, `INPARA`, `SHOWTYPE`, `KEYFIELD`, `PARENTFIELD`, `SHOWFIELD`, `DETAILPAGEURL`, `TYPENAME`, `SELECTTYPE`, `SHOWPAGEURL`, `BROWSERFROM`, `NAME`, `CUSTOMID`, `CUSTOMHREF`, `SQLTEXT1`, `SQLTEXT2`, `NAMEHEADER`, `DESCRIPTIONHEADER`, `WSWORKNAME`, `SEARCHBYID`, `CREATEDATE`, `CREATETIME`, `MODIFYDATE`, `MODIFYTIME`, `SEARCHBYNAME`, `onlylowestnode`, `characterset`, `uuid`, `isSupportPaging`, `ESBID`, `ESBSHOWID`, `mobiledetailpageurl`, `isPhyPage`, `subcompanyid`, `unconditionalQuery`) VALUES (7, 'schemeBrowser', '1', '1', '', 'select id,scheme_no ,scheme_name ,scheme_description from jcl_org_scheme where delete_type = 0 and forbidden_tag = 0', '', '', '', '', '1', 'id', '', '', '', '', '', '', 2, '等级方案浏览按钮', NULL, '', NULL, NULL, NULL, NULL, '', '', '2022-05-11', '13:54:29', '2022-05-11', '14:34:38', '', '', '0', 'd2482569-d0ee-11ec-a80d-0250f2000002', '', '', '', '', '1', 0, 1); +INSERT INTO datashowset(`id`, `SHOWNAME`, `SHOWCLASS`, `DATAFROM`, `DATASOURCEID`, `SQLTEXT`, `WSURL`, `WSOPERATION`, `XMLTEXT`, `INPARA`, `SHOWTYPE`, `KEYFIELD`, `PARENTFIELD`, `SHOWFIELD`, `DETAILPAGEURL`, `TYPENAME`, `SELECTTYPE`, `SHOWPAGEURL`, `BROWSERFROM`, `NAME`, `CUSTOMID`, `CUSTOMHREF`, `SQLTEXT1`, `SQLTEXT2`, `NAMEHEADER`, `DESCRIPTIONHEADER`, `WSWORKNAME`, `SEARCHBYID`, `CREATEDATE`, `CREATETIME`, `MODIFYDATE`, `MODIFYTIME`, `SEARCHBYNAME`, `onlylowestnode`, `characterset`, `uuid`, `isSupportPaging`, `ESBID`, `ESBSHOWID`, `mobiledetailpageurl`, `isPhyPage`, `subcompanyid`, `unconditionalQuery`) VALUES (8, 'LevelBrowser', '1', '1', '', 'select id,level_no ,level_name ,description ,scheme_id from jcl_org_level where delete_type =\'0\' and forbidden_tag =\'0\' and (scheme_id =$scheme_id$ or id in ($level_id$))', '', '', '', '', '1', 'id', '', '', '', '', '', '', 2, '职等浏览按钮', NULL, '', NULL, NULL, NULL, NULL, '', '', '2022-05-12', '10:44:12', '2022-07-12', '10:45:23', '', '', '0', '6847333b-d19d-11ec-9deb-0250f2000002', '', '', '', '', '1', 0, 1); +INSERT INTO datashowset(`id`, `SHOWNAME`, `SHOWCLASS`, `DATAFROM`, `DATASOURCEID`, `SQLTEXT`, `WSURL`, `WSOPERATION`, `XMLTEXT`, `INPARA`, `SHOWTYPE`, `KEYFIELD`, `PARENTFIELD`, `SHOWFIELD`, `DETAILPAGEURL`, `TYPENAME`, `SELECTTYPE`, `SHOWPAGEURL`, `BROWSERFROM`, `NAME`, `CUSTOMID`, `CUSTOMHREF`, `SQLTEXT1`, `SQLTEXT2`, `NAMEHEADER`, `DESCRIPTIONHEADER`, `WSWORKNAME`, `SEARCHBYID`, `CREATEDATE`, `CREATETIME`, `MODIFYDATE`, `MODIFYTIME`, `SEARCHBYNAME`, `onlylowestnode`, `characterset`, `uuid`, `isSupportPaging`, `ESBID`, `ESBSHOWID`, `mobiledetailpageurl`, `isPhyPage`, `subcompanyid`, `unconditionalQuery`) VALUES (9, 'postBrowser', '1', '1', '', 'select id,post_name ,description from jcl_org_post jop where delete_type =\'0\'', '', '', '', '', '1', 'id', '', '', '', '', '', '', 2, '职务分类浏览按钮', NULL, '', NULL, NULL, NULL, NULL, '', '', '2022-05-16', '11:01:30', '2022-07-04', '14:52:14', '', '', '0', '7a1fed8a-d4c4-11ec-9deb-0250f2000002', '', '', '', '', '1', 0, 1); +INSERT INTO datashowset(`id`, `SHOWNAME`, `SHOWCLASS`, `DATAFROM`, `DATASOURCEID`, `SQLTEXT`, `WSURL`, `WSOPERATION`, `XMLTEXT`, `INPARA`, `SHOWTYPE`, `KEYFIELD`, `PARENTFIELD`, `SHOWFIELD`, `DETAILPAGEURL`, `TYPENAME`, `SELECTTYPE`, `SHOWPAGEURL`, `BROWSERFROM`, `NAME`, `CUSTOMID`, `CUSTOMHREF`, `SQLTEXT1`, `SQLTEXT2`, `NAMEHEADER`, `DESCRIPTIONHEADER`, `WSWORKNAME`, `SEARCHBYID`, `CREATEDATE`, `CREATETIME`, `MODIFYDATE`, `MODIFYTIME`, `SEARCHBYNAME`, `onlylowestnode`, `characterset`, `uuid`, `isSupportPaging`, `ESBID`, `ESBSHOWID`, `mobiledetailpageurl`, `isPhyPage`, `subcompanyid`, `unconditionalQuery`) VALUES (10, 'compBrowser', '1', '1', '', 'select * from jcl_org_comp where delete_type = 0 and forbidden_tag = 0', '', '', '', '', '2', 'id', 'parent_company', 'comp_name', '', '', '', '', 2, '公司分部浏览按钮', NULL, '', NULL, NULL, NULL, NULL, '', '', '2022-05-24', '14:49:23', '2022-05-24', '14:49:23', '', '', '0', 'a4b135d2-db2d-11ec-9deb-0250f2000002', '', '', '', '', '2', 0, 1); +INSERT INTO datashowset(`id`, `SHOWNAME`, `SHOWCLASS`, `DATAFROM`, `DATASOURCEID`, `SQLTEXT`, `WSURL`, `WSOPERATION`, `XMLTEXT`, `INPARA`, `SHOWTYPE`, `KEYFIELD`, `PARENTFIELD`, `SHOWFIELD`, `DETAILPAGEURL`, `TYPENAME`, `SELECTTYPE`, `SHOWPAGEURL`, `BROWSERFROM`, `NAME`, `CUSTOMID`, `CUSTOMHREF`, `SQLTEXT1`, `SQLTEXT2`, `NAMEHEADER`, `DESCRIPTIONHEADER`, `WSWORKNAME`, `SEARCHBYID`, `CREATEDATE`, `CREATETIME`, `MODIFYDATE`, `MODIFYTIME`, `SEARCHBYNAME`, `onlylowestnode`, `characterset`, `uuid`, `isSupportPaging`, `ESBID`, `ESBSHOWID`, `mobiledetailpageurl`, `isPhyPage`, `subcompanyid`, `unconditionalQuery`) VALUES (21, 'deptBrowser', '1', '1', '', 'select * from jcl_org_dept where delete_type = 0 and forbidden_tag = 0 ', '', '', '', '', '2', 'id', 'parent_dept', 'dept_name', '', '', '', '', 2, '部门浏览按钮', NULL, '', NULL, NULL, NULL, NULL, '', '', '2022-05-31', '10:07:35', '2022-06-23', '19:01:47', '', '', '0', '706261ca-e086-11ec-b2c8-00e04c680716', '', '', '', '', '2', 0, 1); +INSERT INTO datashowset(`id`, `SHOWNAME`, `SHOWCLASS`, `DATAFROM`, `DATASOURCEID`, `SQLTEXT`, `WSURL`, `WSOPERATION`, `XMLTEXT`, `INPARA`, `SHOWTYPE`, `KEYFIELD`, `PARENTFIELD`, `SHOWFIELD`, `DETAILPAGEURL`, `TYPENAME`, `SELECTTYPE`, `SHOWPAGEURL`, `BROWSERFROM`, `NAME`, `CUSTOMID`, `CUSTOMHREF`, `SQLTEXT1`, `SQLTEXT2`, `NAMEHEADER`, `DESCRIPTIONHEADER`, `WSWORKNAME`, `SEARCHBYID`, `CREATEDATE`, `CREATETIME`, `MODIFYDATE`, `MODIFYTIME`, `SEARCHBYNAME`, `onlylowestnode`, `characterset`, `uuid`, `isSupportPaging`, `ESBID`, `ESBSHOWID`, `mobiledetailpageurl`, `isPhyPage`, `subcompanyid`, `unconditionalQuery`) VALUES (22, 'sequenceBrowser', '1', '1', '', 'select *,scheme_id as scheme_value from jcl_org_sequence where delete_type = 0 and forbidden_tag = 0', '', '', '', '', '1', 'id', '', '', '', '', '', '', 2, '岗位序列', NULL, '', NULL, NULL, NULL, NULL, '', '', '2022-05-31', '10:19:57', '2022-07-05', '13:33:40', '', '', '0', '2a80b572-e088-11ec-b2c8-00e04c680716', '', '', '', '', '1', 0, 1); +INSERT INTO datashowset(`id`, `SHOWNAME`, `SHOWCLASS`, `DATAFROM`, `DATASOURCEID`, `SQLTEXT`, `WSURL`, `WSOPERATION`, `XMLTEXT`, `INPARA`, `SHOWTYPE`, `KEYFIELD`, `PARENTFIELD`, `SHOWFIELD`, `DETAILPAGEURL`, `TYPENAME`, `SELECTTYPE`, `SHOWPAGEURL`, `BROWSERFROM`, `NAME`, `CUSTOMID`, `CUSTOMHREF`, `SQLTEXT1`, `SQLTEXT2`, `NAMEHEADER`, `DESCRIPTIONHEADER`, `WSWORKNAME`, `SEARCHBYID`, `CREATEDATE`, `CREATETIME`, `MODIFYDATE`, `MODIFYTIME`, `SEARCHBYNAME`, `onlylowestnode`, `characterset`, `uuid`, `isSupportPaging`, `ESBID`, `ESBSHOWID`, `mobiledetailpageurl`, `isPhyPage`, `subcompanyid`, `unconditionalQuery`) VALUES (23, 'jobBrowser', '1', '1', '', 'select * from jcl_org_job where delete_type = 0 and forbidden_tag = 0', '', '', '', '', '2', 'id', 'parent_job', 'job_name', '', '', '', '', 2, '岗位浏览按钮', NULL, '', NULL, NULL, NULL, NULL, '', '', '2022-05-31', '14:16:19', '2022-05-31', '14:16:19', '', '', '0', '2f9aecda-e0a9-11ec-b3da-149cd6593b1d', '', '', '', '', '2', 0, 1); +INSERT INTO datashowset(`id`, `SHOWNAME`, `SHOWCLASS`, `DATAFROM`, `DATASOURCEID`, `SQLTEXT`, `WSURL`, `WSOPERATION`, `XMLTEXT`, `INPARA`, `SHOWTYPE`, `KEYFIELD`, `PARENTFIELD`, `SHOWFIELD`, `DETAILPAGEURL`, `TYPENAME`, `SELECTTYPE`, `SHOWPAGEURL`, `BROWSERFROM`, `NAME`, `CUSTOMID`, `CUSTOMHREF`, `SQLTEXT1`, `SQLTEXT2`, `NAMEHEADER`, `DESCRIPTIONHEADER`, `WSWORKNAME`, `SEARCHBYID`, `CREATEDATE`, `CREATETIME`, `MODIFYDATE`, `MODIFYTIME`, `SEARCHBYNAME`, `onlylowestnode`, `characterset`, `uuid`, `isSupportPaging`, `ESBID`, `ESBSHOWID`, `mobiledetailpageurl`, `isPhyPage`, `subcompanyid`, `unconditionalQuery`) VALUES (24, 'staffPlanBrowser', '1', '1', '', 'select * from jcl_org_staffplan', '', '', '', '', '1', 'id', '', '', '', '', '', '', 2, '编制方案浏览按钮', NULL, '', NULL, NULL, NULL, NULL, '', '', '2022-06-07', '09:57:42', '2022-06-07', '09:57:42', '', '', '0', '37ec08ea-e605-11ec-b4aa-f5a55dde45bb', '', '', '', '', '1', 0, 1); +INSERT INTO datashowset(`id`, `SHOWNAME`, `SHOWCLASS`, `DATAFROM`, `DATASOURCEID`, `SQLTEXT`, `WSURL`, `WSOPERATION`, `XMLTEXT`, `INPARA`, `SHOWTYPE`, `KEYFIELD`, `PARENTFIELD`, `SHOWFIELD`, `DETAILPAGEURL`, `TYPENAME`, `SELECTTYPE`, `SHOWPAGEURL`, `BROWSERFROM`, `NAME`, `CUSTOMID`, `CUSTOMHREF`, `SQLTEXT1`, `SQLTEXT2`, `NAMEHEADER`, `DESCRIPTIONHEADER`, `WSWORKNAME`, `SEARCHBYID`, `CREATEDATE`, `CREATETIME`, `MODIFYDATE`, `MODIFYTIME`, `SEARCHBYNAME`, `onlylowestnode`, `characterset`, `uuid`, `isSupportPaging`, `ESBID`, `ESBSHOWID`, `mobiledetailpageurl`, `isPhyPage`, `subcompanyid`, `unconditionalQuery`) VALUES (25, 'deptBrowserPrepare', '1', '1', '', 'select * from jcl_org_dept where delete_type = 0 and forbidden_tag = 0 and parent_comp = $parentComp$', '', '', '', '', '2', 'id', 'parent_dept', 'dept_name', '', '', '', '', 2, '部门浏览', NULL, '', NULL, NULL, NULL, NULL, '', '', '2022-06-24', '16:15:59', '2022-06-24', '16:15:59', '', '', '0', 'e12dac18-f395-11ec-a489-fc7142f7116e', '', '', '', '', '2', 0, 1); +INSERT INTO datashowset(`id`, `SHOWNAME`, `SHOWCLASS`, `DATAFROM`, `DATASOURCEID`, `SQLTEXT`, `WSURL`, `WSOPERATION`, `XMLTEXT`, `INPARA`, `SHOWTYPE`, `KEYFIELD`, `PARENTFIELD`, `SHOWFIELD`, `DETAILPAGEURL`, `TYPENAME`, `SELECTTYPE`, `SHOWPAGEURL`, `BROWSERFROM`, `NAME`, `CUSTOMID`, `CUSTOMHREF`, `SQLTEXT1`, `SQLTEXT2`, `NAMEHEADER`, `DESCRIPTIONHEADER`, `WSWORKNAME`, `SEARCHBYID`, `CREATEDATE`, `CREATETIME`, `MODIFYDATE`, `MODIFYTIME`, `SEARCHBYNAME`, `onlylowestnode`, `characterset`, `uuid`, `isSupportPaging`, `ESBID`, `ESBSHOWID`, `mobiledetailpageurl`, `isPhyPage`, `subcompanyid`, `unconditionalQuery`) VALUES (26, 'gradeBrowser', '1', '1', '', 'select * from jcl_org_grade where delete_type = 0 and forbidden_tag = 0 and scheme_id = $scheme_id$', '', '', '', '', '1', 'id', '', '', '', '', '', '', 2, '职级浏览按钮', NULL, '', NULL, NULL, NULL, NULL, '', '', '2022-07-07', '14:10:39', '2022-07-12', '14:13:03', '', '', '0', '86756cc2-fdbb-11ec-9a53-e9994385d085', '', '', '', '', '1', 0, 1); + + + +INSERT INTO datashowcacheset(`id`, `showname`, `subcompanyid`, `isopencache`, `Createdate`, `createtime`, `Updatedate`, `Updatetime`) VALUES (3, 'schemeBrowser', '0', 0, '2022-05-11', '13:54:29', '2022-05-11', '13:54:29'); +INSERT INTO datashowcacheset(`id`, `showname`, `subcompanyid`, `isopencache`, `Createdate`, `createtime`, `Updatedate`, `Updatetime`) VALUES (4, 'LevelBrowser', '0', 0, '2022-05-12', '10:44:13', '2022-05-12', '10:44:13'); +INSERT INTO datashowcacheset(`id`, `showname`, `subcompanyid`, `isopencache`, `Createdate`, `createtime`, `Updatedate`, `Updatetime`) VALUES (5, 'postBrowser', '0', 0, '2022-05-16', '11:01:31', '2022-05-16', '11:01:31'); +INSERT INTO datashowcacheset(`id`, `showname`, `subcompanyid`, `isopencache`, `Createdate`, `createtime`, `Updatedate`, `Updatetime`) VALUES (6, 'compBrowser', '0', 0, '2022-05-24', '14:49:23', '2022-05-24', '14:49:23'); +INSERT INTO datashowcacheset(`id`, `showname`, `subcompanyid`, `isopencache`, `Createdate`, `createtime`, `Updatedate`, `Updatetime`) VALUES (18, 'deptBrowser', '0', 0, '2022-05-31', '10:07:35', '2022-05-31', '10:07:35'); +INSERT INTO datashowcacheset(`id`, `showname`, `subcompanyid`, `isopencache`, `Createdate`, `createtime`, `Updatedate`, `Updatetime`) VALUES (19, 'sequenceBrowser', '0', 0, '2022-05-31', '10:19:57', '2022-05-31', '10:19:57'); +INSERT INTO datashowcacheset(`id`, `showname`, `subcompanyid`, `isopencache`, `Createdate`, `createtime`, `Updatedate`, `Updatetime`) VALUES (20, 'jobBrowser', '0', 0, '2022-05-31', '14:16:19', '2022-05-31', '14:16:19'); +INSERT INTO datashowcacheset(`id`, `showname`, `subcompanyid`, `isopencache`, `Createdate`, `createtime`, `Updatedate`, `Updatetime`) VALUES (21, 'staffPlanBrowser', '0', 0, '2022-06-07', '09:57:42', '2022-06-07', '09:57:42'); +INSERT INTO datashowcacheset(`id`, `showname`, `subcompanyid`, `isopencache`, `Createdate`, `createtime`, `Updatedate`, `Updatetime`) VALUES (22, 'deptBrowserPrepare', '0', 0, '2022-06-24', '16:15:59', '2022-06-24', '16:15:59'); +INSERT INTO datashowcacheset(`id`, `showname`, `subcompanyid`, `isopencache`, `Createdate`, `createtime`, `Updatedate`, `Updatetime`) VALUES (23, 'gradeBrowser', '0', 0, '2022-07-07', '14:10:39', '2022-07-07', '14:10:39'); + + + +INSERT INTO datashowparam(`id`, `MAINID`, `FIELDNAME`, `SEARCHNAME`, `TRANSQL`, `ISSHOWNAME`, `dsporder`, `uuid`, `width`) VALUES (11, 7, '编号', 'scheme_no', '', 0, 1, '6ecae811d0f411eca80d0250f2000002', NULL); +INSERT INTO datashowparam(`id`, `MAINID`, `FIELDNAME`, `SEARCHNAME`, `TRANSQL`, `ISSHOWNAME`, `dsporder`, `uuid`, `width`) VALUES (12, 7, '方案名称', 'scheme_name', '', 1, 2, '6ecec9f8d0f411eca80d0250f2000002', NULL); +INSERT INTO datashowparam(`id`, `MAINID`, `FIELDNAME`, `SEARCHNAME`, `TRANSQL`, `ISSHOWNAME`, `dsporder`, `uuid`, `width`) VALUES (13, 7, '方案说明', 'scheme_description', '', 0, 3, '6f1143f3d0f411eca80d0250f2000002', NULL); +INSERT INTO datashowparam(`id`, `MAINID`, `FIELDNAME`, `SEARCHNAME`, `TRANSQL`, `ISSHOWNAME`, `dsporder`, `uuid`, `width`) VALUES (197, 24, '编号', 'plan_no', '', 0, 1, '3809e856e60511ecb4aaf5a55dde45bb', NULL); +INSERT INTO datashowparam(`id`, `MAINID`, `FIELDNAME`, `SEARCHNAME`, `TRANSQL`, `ISSHOWNAME`, `dsporder`, `uuid`, `width`) VALUES (198, 24, '名称', 'plan_name', '', 1, 2, '380ed1e0e60511ecb4aaf5a55dde45bb', NULL); +INSERT INTO datashowparam(`id`, `MAINID`, `FIELDNAME`, `SEARCHNAME`, `TRANSQL`, `ISSHOWNAME`, `dsporder`, `uuid`, `width`) VALUES (199, 24, '年度', 'plan_year', '', 0, 3, '3812cb06e60511ecb4aaf5a55dde45bb', NULL); +INSERT INTO datashowparam(`id`, `MAINID`, `FIELDNAME`, `SEARCHNAME`, `TRANSQL`, `ISSHOWNAME`, `dsporder`, `uuid`, `width`) VALUES (203, 9, '名称', 'post_name', '', 1, 1, 'd64afc56fb6511ec9a53e9994385d085', NULL); +INSERT INTO datashowparam(`id`, `MAINID`, `FIELDNAME`, `SEARCHNAME`, `TRANSQL`, `ISSHOWNAME`, `dsporder`, `uuid`, `width`) VALUES (204, 9, '说明', 'description', '', 0, 2, 'd64c9868fb6511ec9a53e9994385d085', NULL); +INSERT INTO datashowparam(`id`, `MAINID`, `FIELDNAME`, `SEARCHNAME`, `TRANSQL`, `ISSHOWNAME`, `dsporder`, `uuid`, `width`) VALUES (222, 22, '编号', 'sequence_no', '', 0, 1, '069c8186fc2411ec9a53e9994385d085', NULL); +INSERT INTO datashowparam(`id`, `MAINID`, `FIELDNAME`, `SEARCHNAME`, `TRANSQL`, `ISSHOWNAME`, `dsporder`, `uuid`, `width`) VALUES (223, 22, '名称', 'sequence_name', '', 1, 2, '069d77b2fc2411ec9a53e9994385d085', NULL); +INSERT INTO datashowparam(`id`, `MAINID`, `FIELDNAME`, `SEARCHNAME`, `TRANSQL`, `ISSHOWNAME`, `dsporder`, `uuid`, `width`) VALUES (224, 22, '等级方案', 'scheme_id', 'select scheme_name from jcl_org_scheme where id={?currentvalue}', 0, 3, '069e4034fc2411ec9a53e9994385d085', NULL); +INSERT INTO datashowparam(`id`, `MAINID`, `FIELDNAME`, `SEARCHNAME`, `TRANSQL`, `ISSHOWNAME`, `dsporder`, `uuid`, `width`) VALUES (225, 22, '等级方案id', 'scheme_value', '', 0, 4, '069f1e82fc2411ec9a53e9994385d085', NULL); +INSERT INTO datashowparam(`id`, `MAINID`, `FIELDNAME`, `SEARCHNAME`, `TRANSQL`, `ISSHOWNAME`, `dsporder`, `uuid`, `width`) VALUES (318, 8, '编号', 'level_no', '', 0, 1, 'ad54942e018c11edbe41ea108fa1766c', NULL); +INSERT INTO datashowparam(`id`, `MAINID`, `FIELDNAME`, `SEARCHNAME`, `TRANSQL`, `ISSHOWNAME`, `dsporder`, `uuid`, `width`) VALUES (319, 8, '名称', 'level_name', '', 1, 2, 'ad5630ea018c11edbe41ea108fa1766c', NULL); +INSERT INTO datashowparam(`id`, `MAINID`, `FIELDNAME`, `SEARCHNAME`, `TRANSQL`, `ISSHOWNAME`, `dsporder`, `uuid`, `width`) VALUES (320, 8, '描述说明', 'description', '', 0, 3, 'ad5766a4018c11edbe41ea108fa1766c', NULL); +INSERT INTO datashowparam(`id`, `MAINID`, `FIELDNAME`, `SEARCHNAME`, `TRANSQL`, `ISSHOWNAME`, `dsporder`, `uuid`, `width`) VALUES (330, 26, '编号', 'grade_no', '', 0, 1, 'affb0dee01a911edbe41ea108fa1766c', NULL); +INSERT INTO datashowparam(`id`, `MAINID`, `FIELDNAME`, `SEARCHNAME`, `TRANSQL`, `ISSHOWNAME`, `dsporder`, `uuid`, `width`) VALUES (331, 26, '名称', 'grade_name', '', 1, 2, 'affed2da01a911edbe41ea108fa1766c', NULL); +INSERT INTO datashowparam(`id`, `MAINID`, `FIELDNAME`, `SEARCHNAME`, `TRANSQL`, `ISSHOWNAME`, `dsporder`, `uuid`, `width`) VALUES (332, 26, '描述方案', 'description', '', 0, 3, 'b000b80201a911edbe41ea108fa1766c', NULL); +INSERT INTO datashowparam(`id`, `MAINID`, `FIELDNAME`, `SEARCHNAME`, `TRANSQL`, `ISSHOWNAME`, `dsporder`, `uuid`, `width`) VALUES (333, 26, '等级方案', 'scheme_id', 'select scheme_name from jcl_org_scheme where id={?currentvalue}', 0, 4, 'b0019d8001a911edbe41ea108fa1766c', NULL); +INSERT INTO datashowparam(`id`, `MAINID`, `FIELDNAME`, `SEARCHNAME`, `TRANSQL`, `ISSHOWNAME`, `dsporder`, `uuid`, `width`) VALUES (334, 26, '职等', 'level_id', 'select group_concat(level_name) from jcl_org_level where id in ( {?currentvalue})', 0, 5, 'b002478001a911edbe41ea108fa1766c', NULL); diff --git a/src/com/engine/organization/service/CustomBrowserBean.java b/src/com/engine/organization/entity/browser/po/CustomBrowserBean.java similarity index 91% rename from src/com/engine/organization/service/CustomBrowserBean.java rename to src/com/engine/organization/entity/browser/po/CustomBrowserBean.java index f286ca5b..7885d1de 100644 --- a/src/com/engine/organization/service/CustomBrowserBean.java +++ b/src/com/engine/organization/entity/browser/po/CustomBrowserBean.java @@ -1,4 +1,4 @@ -package com.engine.organization.service; +package com.engine.organization.entity.browser.po; import com.api.browser.bean.BrowserBean; import lombok.AllArgsConstructor; diff --git a/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java b/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java index 02e7f30e..1e389522 100644 --- a/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java +++ b/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java @@ -19,7 +19,7 @@ import com.engine.organization.entity.extend.param.ExtendInfoFieldParam; import com.engine.organization.entity.extend.po.ExtendGroupPO; import com.engine.organization.entity.extend.po.ExtendInfoPO; import com.engine.organization.mapper.extend.ExtendInfoMapper; -import com.engine.organization.service.CustomBrowserBean; +import com.engine.organization.entity.browser.po.CustomBrowserBean; import com.engine.organization.util.OrganizationFormItemUtil; import com.engine.organization.util.db.MapperProxyFactory; import com.engine.sensitive.biz.SensitiveWordTypeComInfo; From 92b2f54ddd477b6e5ce5f19b5a1134cf653ed247 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 12 Jul 2022 16:38:27 +0800 Subject: [PATCH 14/20] =?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 15/20] =?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 16/20] =?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 17/20] =?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 18/20] =?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)) { From fa663a1eaa1402ae8a2f6a27206234c38111ba47 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Mon, 18 Jul 2022 13:27:15 +0800 Subject: [PATCH 19/20] =?UTF-8?q?=E5=B2=97=E4=BD=8D=E6=B5=8F=E8=A7=88?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/初始数据SQL/浏览按钮.sql | 17 ++++++++++++ docs/初始数据SQL/职务类型默认.sql | 14 +++++++++- .../service/impl/JobBrowserService.java | 2 -- .../entity/extend/bo/ExtendInfoBO.java | 2 +- .../entity/job/vo/JobBrowserVO.java | 19 +++++++++----- .../transmethod/JobTransMethod.java | 26 +++++++++++++++++++ 6 files changed, 70 insertions(+), 10 deletions(-) diff --git a/docs/初始数据SQL/浏览按钮.sql b/docs/初始数据SQL/浏览按钮.sql index a2800c05..a44c6d77 100644 --- a/docs/初始数据SQL/浏览按钮.sql +++ b/docs/初始数据SQL/浏览按钮.sql @@ -44,3 +44,20 @@ INSERT INTO datashowparam(`id`, `MAINID`, `FIELDNAME`, `SEARCHNAME`, `TRANSQL`, INSERT INTO datashowparam(`id`, `MAINID`, `FIELDNAME`, `SEARCHNAME`, `TRANSQL`, `ISSHOWNAME`, `dsporder`, `uuid`, `width`) VALUES (332, 26, '描述方案', 'description', '', 0, 3, 'b000b80201a911edbe41ea108fa1766c', NULL); INSERT INTO datashowparam(`id`, `MAINID`, `FIELDNAME`, `SEARCHNAME`, `TRANSQL`, `ISSHOWNAME`, `dsporder`, `uuid`, `width`) VALUES (333, 26, '等级方案', 'scheme_id', 'select scheme_name from jcl_org_scheme where id={?currentvalue}', 0, 4, 'b0019d8001a911edbe41ea108fa1766c', NULL); INSERT INTO datashowparam(`id`, `MAINID`, `FIELDNAME`, `SEARCHNAME`, `TRANSQL`, `ISSHOWNAME`, `dsporder`, `uuid`, `width`) VALUES (334, 26, '职等', 'level_id', 'select group_concat(level_name) from jcl_org_level where id in ( {?currentvalue})', 0, 5, 'b002478001a911edbe41ea108fa1766c', NULL); + + +insert into WF_BROWSER_CONFIG(type,clazz,description,titelebel) +values('666','com.api.browser.service.impl.JobBrowserService','聚才林岗位管理',-81474); + +INSERT INTO WORKFLOW_BROWSERURL +( ID, LABELID, FIELDDBTYPE, BROWSERURL, TABLENAME, COLUMNAME, + KEYCOLUMNAME, LINKURL, TYPEID, USEABLE, ORDERID ) +VALUES + ( '666', '-81474', 'varchar(4000)', + '/systeminfo/BrowserMain.jsp?url=', + 'jcl_org_job', 'job_name', 'id', '/spa/organization/static/index.html#/main/organization/jobExtend/:id', '8', '1', '0' ); + +insert into workflow_browserurl_module(browserid,modulecode)values('666','workflow'); + +--多语言标签需要申请 +select * from htmllabelinfo; \ No newline at end of file diff --git a/docs/初始数据SQL/职务类型默认.sql b/docs/初始数据SQL/职务类型默认.sql index 359bdda9..7ea84fad 100644 --- a/docs/初始数据SQL/职务类型默认.sql +++ b/docs/初始数据SQL/职务类型默认.sql @@ -6,4 +6,16 @@ VALUES 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 + ( '默认职务', '默认职务', 14, NULL, NULL, DATE( NOW()), 1, NULL, NULL, '3a2efce3-95de-4ec2-afe1-347783817bdb' ); + + +-- SqlServer插入语句 +INSERT INTO hrmjobgroups +( JOBGROUPNAME, JOBGROUPREMARK, created, creater, modified, modifier, uuid ) +VALUES + ( '聚才林', '聚才林', getDate(), 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,getDate(), 1, NULL, NULL, '3a2efce3-95de-4ec2-afe1-347783817bdb' ); \ No newline at end of file diff --git a/src/com/api/browser/service/impl/JobBrowserService.java b/src/com/api/browser/service/impl/JobBrowserService.java index 713e54c2..decfed00 100644 --- a/src/com/api/browser/service/impl/JobBrowserService.java +++ b/src/com/api/browser/service/impl/JobBrowserService.java @@ -1,6 +1,5 @@ package com.api.browser.service.impl; -import com.alibaba.fastjson.JSON; import com.api.browser.bean.SearchConditionItem; import com.api.browser.service.BrowserService; import com.api.browser.util.BrowserConstant; @@ -69,7 +68,6 @@ public class JobBrowserService extends BrowserService { } List cusBrowserTrees = CusBowserTreeBO.convertSearchTreeToBorwserTree(nodeData); resultMap.put("datas", cusBrowserTrees); - System.err.println(JSON.toJSONString(cusBrowserTrees)); } else { OrganizationWeaTable table = new OrganizationWeaTable<>(user, JobBrowserVO.class); String sqlWhere = buildSqlWhere(params); diff --git a/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java b/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java index 1e389522..d5869058 100644 --- a/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java +++ b/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java @@ -336,7 +336,7 @@ public class ExtendInfoBO { } else { searchConditionItem = conditionFactory.createCondition(ConditionType.BROWSER, fieldlabel, fieldname, detailtype); } - // 岗位浏览按钮 + //TODO 岗位浏览按钮 if ("666".equals(detailtype)) { BrowserBean browserBean = searchConditionItem.getBrowserConditionParam(); String s = JSONObject.toJSONString(browserBean); diff --git a/src/com/engine/organization/entity/job/vo/JobBrowserVO.java b/src/com/engine/organization/entity/job/vo/JobBrowserVO.java index 68db9c0b..c33dd16d 100644 --- a/src/com/engine/organization/entity/job/vo/JobBrowserVO.java +++ b/src/com/engine/organization/entity/job/vo/JobBrowserVO.java @@ -19,11 +19,9 @@ import lombok.NoArgsConstructor; @NoArgsConstructor @AllArgsConstructor @OrganizationTable(pageId = "98e9c62f-cd12-11ec-a15f-00ffcbed7123", - fields = "t.id," + - "t.job_no," + - "t.job_name as name ", + fields = "t.id, t.job_no, t.job_name as name, t.sequence_id, t.scheme_id , t.grade_id , t.level_id", fromSql = "FROM jcl_org_job t ", - orderby = "job_no", + orderby = "id", sortway = "asc", primarykey = "id", operates = { @@ -34,12 +32,21 @@ import lombok.NoArgsConstructor; ) public class JobBrowserVO { - @OrganizationTableColumn(column = "id", display = false) + @OrganizationTableColumn(text = "标识", width = "25%", column = "id", display = false) private Long id; @OrganizationTableColumn(text = "编号", width = "25%", column = "job_no") private String jobNo; - @OrganizationTableColumn(text = "方案名称", width = "25%", column = "name") + @OrganizationTableColumn(text = "岗位名称", width = "25%", column = "name") private String jobName; + + @OrganizationTableColumn(text = "等级方案", width = "25%", column = "scheme_id", transmethod = "com.engine.organization.transmethod.JobTransMethod.getSchemeName") + private String schemeName; + @OrganizationTableColumn(text = "职等", width = "25%", column = "level_id", transmethod = "com.engine.organization.transmethod.JobTransMethod.getLevelName") + private String levelName; + @OrganizationTableColumn(text = "职级", width = "25%", column = "grade_id", transmethod = "com.engine.organization.transmethod.JobTransMethod.getGradeName") + private String gradeName; + @OrganizationTableColumn(text = "岗位序列", width = "25%", column = "sequence_id", transmethod = "com.engine.organization.transmethod.JobTransMethod.getSequenceName") + private String sequenceName; } diff --git a/src/com/engine/organization/transmethod/JobTransMethod.java b/src/com/engine/organization/transmethod/JobTransMethod.java index 76d3ae1e..645d4e3d 100644 --- a/src/com/engine/organization/transmethod/JobTransMethod.java +++ b/src/com/engine/organization/transmethod/JobTransMethod.java @@ -2,6 +2,10 @@ package com.engine.organization.transmethod; import com.engine.organization.entity.DeleteParam; 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.mapper.scheme.SchemeMapper; +import com.engine.organization.mapper.sequence.SequenceMapper; import com.engine.organization.util.db.MapperProxyFactory; import java.util.List; @@ -23,6 +27,28 @@ public class JobTransMethod { return names; } + public static String getLevelName(String levelId) { + LevelMapper levelMapper = MapperProxyFactory.getProxy(LevelMapper.class); + List> maps = levelMapper.listLevelsByIds(DeleteParam.builder().ids(levelId).build().getIds()); + String levelName = maps.stream().map(item -> (String) item.get("name")).collect(Collectors.joining(",")); + return levelName; + } + + public static String getGradeName(String gradeId) { + GradeMapper gradeMapper = MapperProxyFactory.getProxy(GradeMapper.class); + return gradeMapper.getGradeByID(Long.parseLong(gradeId)).getGradeName(); + } + + public static String getSequenceName(String sequenceId) { + SequenceMapper sequenceMapper = MapperProxyFactory.getProxy(SequenceMapper.class); + return sequenceMapper.getSequenceByID(Long.parseLong(sequenceId)).getSequenceName(); + } + + public static String getSchemeName(String schemeId) { + SchemeMapper schemeMapper = MapperProxyFactory.getProxy(SchemeMapper.class); + return schemeMapper.getSchemeByID(Long.parseLong(schemeId)).getSchemeName(); + } + public static String getIsKeySpan(String isKey) { if ("1".equals(isKey)) { return "是"; From 3ed9ec2f992364fd9e7563274688b3874ea13aff Mon Sep 17 00:00:00 2001 From: dxfeng Date: Mon, 18 Jul 2022 13:33:11 +0800 Subject: [PATCH 20/20] =?UTF-8?q?=E5=B2=97=E4=BD=8D=E6=B5=8F=E8=A7=88?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/organization/entity/searchtree/SearchTreeParams.java | 2 -- src/com/engine/organization/service/impl/LevelServiceImpl.java | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/com/engine/organization/entity/searchtree/SearchTreeParams.java b/src/com/engine/organization/entity/searchtree/SearchTreeParams.java index 1c5f480f..bc1b08f2 100644 --- a/src/com/engine/organization/entity/searchtree/SearchTreeParams.java +++ b/src/com/engine/organization/entity/searchtree/SearchTreeParams.java @@ -1,6 +1,5 @@ package com.engine.organization.entity.searchtree; -import lombok.Builder; import lombok.Data; /** @@ -10,7 +9,6 @@ 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 5a41f878..a230d2ef 100644 --- a/src/com/engine/organization/service/impl/LevelServiceImpl.java +++ b/src/com/engine/organization/service/impl/LevelServiceImpl.java @@ -129,7 +129,7 @@ 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, "等级方案", "666", "schemeId", "schemeBrowser"); + SearchConditionItem browserItem = OrganizationFormItemUtil.browserItem(user, 2, 17, 3, false, "等级方案", "161", "schemeId", "schemeBrowser"); browserItem.setRules("required|string"); // 编辑状态下赋值操作 String id = Util.null2String(params.get("id"));