diff --git a/WEB-INF/config/MyBatis.xml b/WEB-INF/config/MyBatis.xml
new file mode 100644
index 00000000..7de8d02d
--- /dev/null
+++ b/WEB-INF/config/MyBatis.xml
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/WEB-INF/lib/pagehelper-5.0.0.jar b/WEB-INF/lib/pagehelper-5.0.0.jar
new file mode 100644
index 00000000..187266c8
Binary files /dev/null and b/WEB-INF/lib/pagehelper-5.0.0.jar differ
diff --git a/WEB-INF/prop/cacheBackList.properties b/WEB-INF/prop/cacheBackList.properties
new file mode 100644
index 00000000..c5a6d151
--- /dev/null
+++ b/WEB-INF/prop/cacheBackList.properties
@@ -0,0 +1,74 @@
+hrmresource_online=hrmresource_online
+sequenceindex=sequenceindex
+system_default_col=system_default_col
+worktask_requestbase=worktask_requestbase
+indexupdatelog=indexupdatelog
+uplogs=uplogs
+dellogs=dellogs
+ldapsetting=ldapsetting
+ldapset=ldapset
+workflowactionview=workflowactionview
+picture=picture
+slideElement=slideElement
+hpOutDataTabSetting=hpOutDataTabSetting
+hpoutdatasettingaddr=hpoutdatasettingaddr
+wfex_view=wfex_view
+hpOutDataSettingDef=hpOutDataSettingDef
+hpOutDataSettingField=hpOutDataSettingField
+view_workflowForm_selectAll=view_workflowForm_selectAll
+QRCodeComInfo=QRCodeComInfo
+emobileLoginKey=emobileLoginKey
+rule_base=rule_base
+rule_expressions=rule_expressions
+rule_expressionbase=rule_expressionbase
+rule_maplist=rule_maplist
+uf_ShopCheckPlanbat=uf_ShopCheckPlanbat
+uf_problemRegister=uf_problemRegister
+uf_checkDataSave=uf_checkDataSave
+uf_ShopCheckPlan=uf_ShopCheckPlan
+uf_ShopCheckExam=uf_ShopCheckExam
+uf_shopinfo=uf_shopinfo
+uf_shopCheck=uf_shopCheck
+uf_boroughinfo=uf_boroughinfo
+View_ShopCheck=View_ShopCheck
+user_tables=user_tables
+sys.objects=sys.objects
+USER_TAB_COLUMNS=USER_TAB_COLUMNS
+syscolumns=syscolumns
+blog_discuss=blog_discuss
+kq_format_pool=kq_format_pool
+kq_report_check=kq_report_check
+license=license
+ecologyuplist=ecologyuplist
+kq_flow_split_leave=kq_flow_split_leave
+kq_flow_split_evection=kq_flow_split_evection
+kq_flow_split_out=kq_flow_split_out
+kq_flow_split_overtime=kq_flow_split_overtime
+kq_flow_split_other=kq_flow_split_other
+kq_flow_split_leaveback=kq_flow_split_leaveback
+KQ_ATT_VACATION=KQ_ATT_VACATION
+kq_shiftschedule=kq_shiftschedule
+kq_settings=kq_settings
+dual=dual
+user_tab_columns=user_tab_columns
+syscolumns=syscolumns
+Information_schema.columns=Information_schema.columns
+ofs_todo_data=ofs_todo_data
+SYSIBM.SYSTABLES=SYSIBM.SYSTABLES
+Information_schema.columns=Information_schema.columns
+ofs_todo_data=ofs_todo_data
+information_schema.Tables=information_schema.Tables
+sysobjects=sysobjects
+hrmresourcemanager=hrmresourcemanager
+QRTZ_TRIGGERS=QRTZ_TRIGGERS
+fullsearch_schemaInfo=fullsearch_schemaInfo
+Int_WhiteList=Int_WhiteList
+Int_WhiteList_Mapping=Int_WhiteList_Mapping
+#kq_format_detail
+kq_format_detail=kq_format_detail
+#hrmschedulesign
+hrmschedulesign=hrmschedulesign
+#聚才林
+jcl_org_map=jcl_org_map
+v_jcl_zdzj=v_jcl_zdzj
+v_jcl_post=v_jcl_post
\ No newline at end of file
diff --git a/WEB-INF/prop/hrmOrganization.properties b/WEB-INF/prop/hrmOrganization.properties
new file mode 100644
index 00000000..7d6cd1ba
--- /dev/null
+++ b/WEB-INF/prop/hrmOrganization.properties
@@ -0,0 +1,2 @@
+defaultCloseNonStandard151=true
+detach=true
\ No newline at end of file
diff --git a/docs/脚本/Mysql/表结构、初始化数据.sql b/docs/脚本/Mysql/表结构、初始化数据.sql
index 7f0f6bcd..3aa21471 100644
--- a/docs/脚本/Mysql/表结构、初始化数据.sql
+++ b/docs/脚本/Mysql/表结构、初始化数据.sql
@@ -698,4 +698,20 @@ BEGIN;
INSERT INTO `JCL_INFO` (`id`, `fname`, `fvalue`) VALUES (1, '董事长人员i', '36');
COMMIT;
-SET FOREIGN_KEY_CHECKS = 1;
\ No newline at end of file
+SET FOREIGN_KEY_CHECKS = 1;
+
+
+CREATE TABLE `jcl_org_detach` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `manager_type` int(11) NULL DEFAULT NULL,
+ `ec_manager` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
+ `jcl_manager` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
+ `ec_rolelevel` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
+ `jcl_rolelevel` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
+ `manage_module` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
+ `creator` int(11) NULL DEFAULT NULL,
+ `delete_type` int(11) NULL DEFAULT NULL,
+ `create_time` date NULL DEFAULT NULL,
+ `update_time` date NULL DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
diff --git a/docs/脚本/Oracle/浏览按钮Oracle.sql b/docs/脚本/Oracle/浏览按钮Oracle.sql
index 7baaea16..4afe458b 100644
--- a/docs/脚本/Oracle/浏览按钮Oracle.sql
+++ b/docs/脚本/Oracle/浏览按钮Oracle.sql
@@ -73,7 +73,7 @@ INSERT INTO datashowparam (MAINID, FIELDNAME, SEARCHNAME, TRANSQL, ISSHOWNAME, d
INSERT INTO datashowparam (MAINID, FIELDNAME, SEARCHNAME, TRANSQL, ISSHOWNAME, dsporder, uuid, width) VALUES(datashowset_id, '名称', 'grade_name', '', 1, 2, SYS_GUID(), NULL);
INSERT INTO datashowparam (MAINID, FIELDNAME, SEARCHNAME, TRANSQL, ISSHOWNAME, dsporder, uuid, width) VALUES(datashowset_id, '描述方案', 'description', '', 0, 3, SYS_GUID(), NULL);
INSERT INTO datashowparam (MAINID, FIELDNAME, SEARCHNAME, TRANSQL, ISSHOWNAME, dsporder, uuid, width) VALUES(datashowset_id, '等级方案', 'scheme_id', 'select scheme_name from jcl_org_scheme where id={?currentvalue}', 0, 4, SYS_GUID(), NULL);
-INSERT INTO datashowparam (MAINID, FIELDNAME, SEARCHNAME, TRANSQL, ISSHOWNAME, dsporder, uuid, width) VALUES(datashowset_id, '职等', 'level_id', 'select group_concat(level_name) from jcl_org_level where id in ( {?currentvalue})', 0, 5, SYS_GUID(), NULL);
+INSERT INTO datashowparam (MAINID, FIELDNAME, SEARCHNAME, TRANSQL, ISSHOWNAME, dsporder, uuid, width) VALUES(datashowset_id, '职等', 'level_id', 'select wm_concat(to_char(level_name)) from jcl_org_level where id in ( {?currentvalue})', 0, 5, SYS_GUID(), NULL);
INSERT INTO datasearchparam (MAINID, FIELDNAME, SEARCHNAME, FIELDTYPE, WOKFLOWFIELDNAME, dsporder, uuid, isshowfield) VALUES(datashowset_id, '编号', 'grade_no', '2', '', 1, SYS_GUID(), '');
INSERT INTO datasearchparam (MAINID, FIELDNAME, SEARCHNAME, FIELDTYPE, WOKFLOWFIELDNAME, dsporder, uuid, isshowfield) VALUES(datashowset_id, '名称', 'grade_name', '2', '', 2, SYS_GUID(), '');
diff --git a/docs/脚本/Oracle/表结构、初始化数据Oracle.sql b/docs/脚本/Oracle/表结构、初始化数据Oracle.sql
index b055d617..6423a78c 100644
--- a/docs/脚本/Oracle/表结构、初始化数据Oracle.sql
+++ b/docs/脚本/Oracle/表结构、初始化数据Oracle.sql
@@ -1215,4 +1215,6 @@ INSERT INTO jcl_field_extendinfo (id, extend_type, table_name, field_name, field
INSERT INTO jcl_field_extendinfo (id, extend_type, table_name, field_name, field_name_desc, field_type, control_type, extend_group_id, isenable, isrequired, list_show, search_show, edit_show, add_show, browser_show, show_order, creator, delete_type, create_time, update_time, browser_type, custom_value, is_system_default) VALUES(102, 2, 'JCL_ORG_DEPT', 'ec_company', '所属分部', 'int', 3, 2, 1, 1, 1, 1, 1, 1, 1, 4, 1, 0, SYSDATE, NULL, '164', '["browser",{"valueSpan":"分部","replaceDatas":[{"name":"分部","id":"164"}],"value":"164"}]', 0)
/
INSERT INTO jcl_field_extendinfo (id, extend_type, table_name, field_name, field_name_desc, field_type, control_type, extend_group_id, isenable, isrequired, list_show, search_show, edit_show, add_show, browser_show, show_order, creator, delete_type, create_time, update_time, browser_type, custom_value, is_system_default) VALUES(103, 2, 'JCL_ORG_DEPT', 'ec_department', '上级部门', 'int', 3, 2, 1, 0, 1, 1, 1, 1, 1, 5, 1, 0, SYSDATE, NULL, '4', '["browser",{"valueSpan":"部门","replaceDatas":[{"name":"部门","id":"4"}],"value":"4"}]', 0)
-/
\ No newline at end of file
+/
+
+INSERT INTO JCL_INFO (id, fname, fvalue) VALUES (1, '董事长人员id', '36')
diff --git a/docs/脚本/SqlServer/表结构、基础数据.sql b/docs/脚本/SqlServer/表结构、基础数据.sql
index a9551f1f..b494cfa5 100644
--- a/docs/脚本/SqlServer/表结构、基础数据.sql
+++ b/docs/脚本/SqlServer/表结构、基础数据.sql
@@ -1087,4 +1087,29 @@ GO
ALTER TABLE [dbo].[jcl_info] ADD CONSTRAINT [PK_jcl_info] PRIMARY KEY CLUSTERED ([id])
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
-GO
\ No newline at end of file
+GO
+
+CREATE TABLE [dbo].[JCL_ORG_DETACH] (
+ [id] int IDENTITY(1,1) NOT NULL,
+ [manager_type] int NULL,
+ [ec_manager] int NOT NULL,
+ [jcl_manager] int NOT NULL,
+ [ec_rolelevel] varchar(4000) COLLATE Chinese_PRC_CI_AS NOT NULL,
+ [jcl_rolelevel] varchar(4000) COLLATE Chinese_PRC_CI_AS NOT NULL,
+ [manage_module] varchar(4000) COLLATE Chinese_PRC_CI_AS NOT NULL,
+ [creator] int NULL,
+ [delete_type] int NULL,
+ [create_time] date NULL,
+ [update_time] date NULL
+ )
+GO
+
+ALTER TABLE [dbo].[JCL_ORG_DETACH] SET (LOCK_ESCALATION = TABLE)
+GO
+
+
+
+ALTER TABLE [dbo].[JCL_ORG_DETACH] ADD CONSTRAINT [JCL_ORG_DETACH_PK] PRIMARY KEY CLUSTERED ([id])
+WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
+ ON [PRIMARY]
+GO
diff --git a/docs/表结构SQL/MySQL.sql b/docs/表结构SQL/MySQL.sql
index ca8be925..56e888df 100644
--- a/docs/表结构SQL/MySQL.sql
+++ b/docs/表结构SQL/MySQL.sql
@@ -548,13 +548,32 @@ create table JCL_ORG_ITEM (
-- JCL_ORG_DETACH
create table JCL_ORG_DETACH (
id int auto_increment not null,
- type int null,
- manger text not null,
- rolelevel text not null,
- module text not null,
+ manager_type int null,
+ ec_manager int not null,
+ jcl_manager int not null,
+ ec_rolelevel text not null,
+ jcl_rolelevel text not null,
+ manage_module text not null,
creator int null,
delete_type int null,
create_time date null,
update_time date null,
constraint JCL_ORG_DETACH_PK primary key (id)
+);
+
+-- JCL_ORG_CARDACCESS
+create table JCL_ORG_CARDACCESS (
+ id int auto_increment not null,
+ type_id int not null,
+ type_name int not null,
+ status int null,
+ all_people int null,
+ superior int null,
+ all_superior int null,
+ custom text null ,
+ delete_type int null,
+ creator int null,
+ create_time date null,
+ update_time date null,
+ constraint JCL_ORG_CARDACCESS_PK primary key (id)
);
\ No newline at end of file
diff --git a/docs/表结构SQL/Oracle.sql b/docs/表结构SQL/Oracle.sql
index fd026eb8..06682d35 100644
--- a/docs/表结构SQL/Oracle.sql
+++ b/docs/表结构SQL/Oracle.sql
@@ -490,10 +490,12 @@ CREATE TABLE JCL_ORG_HRMRELATION (
-- JCL_ORG_DETACH
create table JCL_ORG_DETACH (
id number not null,
- type number null,
- manger clob not null,
- rolelevel clob not null,
- module clob not null,
+ manager_type number null,
+ ec_manager NUMBER not null,
+ jcl_manager NUMBER not null,
+ ec_rolelevel varchar(4000) not null,
+ jcl_rolelevel varchar(4000) not null,
+ manage_module varchar(4000) not null,
creator number null,
delete_type number null,
create_time date null,
@@ -502,3 +504,4 @@ create table JCL_ORG_DETACH (
);
+
diff --git a/docs/表结构SQL/SqlServer.sql b/docs/表结构SQL/SqlServer.sql
index 0cddf6f5..77fe7efc 100644
--- a/docs/表结构SQL/SqlServer.sql
+++ b/docs/表结构SQL/SqlServer.sql
@@ -521,10 +521,12 @@ CREATE TABLE JCL_ORG_MAP (
-- JCL_ORG_DETACH
create table JCL_ORG_DETACH (
id int IDENTITY(1,1) not null,
- type int null,
- manger text not null,
- rolelevel text not null,
- module text not null,
+ manager_type int null,
+ ec_manager int not null,
+ jcl_manager int not null,
+ ec_rolelevel varchar(4000) not null,
+ jcl_rolelevel varchar(4000) not null,
+ manage_module varchar(4000) not null,
creator int null,
delete_type int null,
create_time date null,
diff --git a/src/com/api/organization/web/CardAccessController.java b/src/com/api/organization/web/CardAccessController.java
new file mode 100644
index 00000000..4b13949a
--- /dev/null
+++ b/src/com/api/organization/web/CardAccessController.java
@@ -0,0 +1,13 @@
+package com.api.organization.web;
+
+import javax.ws.rs.Path;
+
+/**
+ * @Author weaver_cl
+ * @Description:
+ * @Date 2022/11/1
+ * @Version V1.0
+ **/
+@Path("/bs/hrmorganization/cardAccess")
+public class CardAccessController extends com.engine.organization.web.CardAccessController {
+}
diff --git a/src/com/api/organization/web/ManagerDetachController.java b/src/com/api/organization/web/ManagerDetachController.java
new file mode 100644
index 00000000..9a985c6c
--- /dev/null
+++ b/src/com/api/organization/web/ManagerDetachController.java
@@ -0,0 +1,13 @@
+package com.api.organization.web;
+
+import javax.ws.rs.Path;
+
+/**
+ * @Author weaver_cl
+ * @Description:
+ * @Date 2022/10/21
+ * @Version V1.0
+ **/
+@Path("/bs/hrmorganization/detach")
+public class ManagerDetachController extends com.engine.organization.web.ManagerDetachController {
+}
diff --git a/src/com/engine/organization/entity/SelectOptionParam.java b/src/com/engine/organization/entity/SelectOptionParam.java
index c89470c0..c2121532 100644
--- a/src/com/engine/organization/entity/SelectOptionParam.java
+++ b/src/com/engine/organization/entity/SelectOptionParam.java
@@ -33,8 +33,15 @@ public class SelectOptionParam {
int size = datas.size();
for (int i = 0; i < size; i++) {
JSONObject jsonObject = (JSONObject) datas.get(i);
- SearchConditionOption option = new SearchConditionOption(StringUtils.isEmpty(jsonObject.getString("key")) ? i + "" : jsonObject.getString("key"), jsonObject.getString("option"));
- selectOptions.add(option);
+ // 只显示未封存的数据
+ if (!"1".equals(jsonObject.getString("unuse"))) {
+ SearchConditionOption option = new SearchConditionOption(StringUtils.isEmpty(jsonObject.getString("key")) ? i + "" : jsonObject.getString("key"), jsonObject.getString("option"));
+ selectOptions.add(option);
+ // 设置默认数据
+ if ("1".equals(jsonObject.getString("default"))) {
+ option.setSelected(true);
+ }
+ }
}
}
return selectOptions;
diff --git a/src/com/engine/organization/entity/company/bo/CompBO.java b/src/com/engine/organization/entity/company/bo/CompBO.java
index 53ad65c1..d26b8bd9 100644
--- a/src/com/engine/organization/entity/company/bo/CompBO.java
+++ b/src/com/engine/organization/entity/company/bo/CompBO.java
@@ -48,8 +48,10 @@ public class CompBO {
// 兼容MySQL
usedIds.addAll(MapperProxyFactory.getProxy(CompMapper.class).listUsedIds());
List collect = Arrays.stream(String.join(",", usedIds).split(",")).collect(Collectors.toList());
- return dtoList.stream().peek(e -> {
+ Set leafs = new HashSet<>();
+ List collectTree = dtoList.stream().peek(e -> {
List childList = collects.get(e.getId());
+ leafs.add(e.getId());
if (CollectionUtils.isNotEmpty(childList)) {
e.setChildren(childList);
e.setIsUsed(1);
@@ -60,7 +62,8 @@ public class CompBO {
e.setIsUsed(0);
}
}
- }).filter(item -> null == item.getParentCompany() || 0 == item.getParentCompany()).collect(Collectors.toList());
+ }).collect(Collectors.toList());
+ return collectTree.stream().filter(item->!leafs.contains(item.getParentCompany())).collect(Collectors.toList());
}
public static List buildCompDTOList(Collection list, List filterList) {
diff --git a/src/com/engine/organization/entity/detach/param/ManagerDetachParam.java b/src/com/engine/organization/entity/detach/param/ManagerDetachParam.java
new file mode 100644
index 00000000..ea79ddf8
--- /dev/null
+++ b/src/com/engine/organization/entity/detach/param/ManagerDetachParam.java
@@ -0,0 +1,34 @@
+package com.engine.organization.entity.detach.param;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @Author weaver_cl
+ * @Description:
+ * @Date 2022/10/25
+ * @Version V1.0
+ **/
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class ManagerDetachParam {
+
+ private Integer id;
+
+ private Integer managerType;
+
+ private Integer ecManager;
+
+ private Integer jclManager;
+
+ private String ecRolelevel;
+
+ private String jclRolelevel;
+
+ private String manageModule;
+}
diff --git a/src/com/engine/organization/entity/detach/po/ManagerDetachPO.java b/src/com/engine/organization/entity/detach/po/ManagerDetachPO.java
new file mode 100644
index 00000000..8ac75ee0
--- /dev/null
+++ b/src/com/engine/organization/entity/detach/po/ManagerDetachPO.java
@@ -0,0 +1,66 @@
+package com.engine.organization.entity.detach.po;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+/**
+ * @Author weaver_cl
+ * @Description:
+ * @Date 2022/10/21
+ * @Version V1.0
+ **/
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class ManagerDetachPO {
+ /**
+ * 自增主键
+ */
+ private Integer id;
+ /**
+ * 管理员类型
+ */
+ private Integer managerType;
+ /**
+ * ec管理员
+ */
+ private Integer ecManager;
+ /**
+ * jcl管理员
+ */
+ private Integer jclManager;
+ /**
+ * ec分部
+ */
+ private String ecRolelevel;
+ /**
+ * jcl分部
+ */
+ private String jclRolelevel;
+ /**
+ * 可管理模块
+ */
+ private String manageModule;
+ /**
+ * 创建人
+ */
+ private Long creator;
+ /**
+ * 删除标记
+ */
+ private int deleteType;
+ /**
+ * 创建时间
+ */
+ private Date createTime;
+ /**
+ * 更新时间
+ */
+ private Date updateTime;
+}
diff --git a/src/com/engine/organization/entity/detach/vo/ManagerDetachVO.java b/src/com/engine/organization/entity/detach/vo/ManagerDetachVO.java
new file mode 100644
index 00000000..09eb15f4
--- /dev/null
+++ b/src/com/engine/organization/entity/detach/vo/ManagerDetachVO.java
@@ -0,0 +1,59 @@
+package com.engine.organization.entity.detach.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 weaver_cl
+ * @Description:
+ * @Date 2022/10/21
+ * @Version V1.0
+ **/
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@OrganizationTable(pageId = "0bf9b7bc-c8b0-4225-bf28-4cd015d96e98",
+ fields = "t.id," +
+ "t.ec_manager," +
+ "t.ec_rolelevel," +
+ "t.manage_module," +
+ "t.creator," +
+ "t.delete_type," +
+ "t.create_time," +
+ "t.update_time",
+ fromSql = "FROM jcl_org_detach t ",
+ orderby = "id",
+ sortway = "asc",
+ primarykey = "id",
+ operates = {
+ @OrganizationTableOperate(index = "0", text = "编辑"),
+ @OrganizationTableOperate(index = "1", text = "删除")
+ },
+ tableType = WeaTableType.CHECKBOX
+)
+public class ManagerDetachVO {
+
+
+ @OrganizationTableColumn(column = "id", display = false)
+ private Long id;
+
+
+ @OrganizationTableColumn(text = "管理员", width = "20%", column = "ec_manager", transmethod = "com.engine.organization.transmethod.ManagerDetachTransMethod.getManagerName")
+ private Integer ecManager;
+
+ @OrganizationTableColumn(text = "可管理组织机构", width = "40%", column = "ec_rolelevel",transmethod = "com.engine.organization.transmethod.ManagerDetachTransMethod.getRoleLevel")
+ private String ecRolelevel;
+
+
+ @OrganizationTableColumn(text = "可管理模块", width = "40%", column = "manage_module")
+ private String manageModule;
+
+}
diff --git a/src/com/engine/organization/entity/extend/param/ExtendInfoParams.java b/src/com/engine/organization/entity/extend/param/ExtendInfoParams.java
index 8951002d..70fe1c0a 100644
--- a/src/com/engine/organization/entity/extend/param/ExtendInfoParams.java
+++ b/src/com/engine/organization/entity/extend/param/ExtendInfoParams.java
@@ -41,6 +41,31 @@ public class ExtendInfoParams {
private String sequenceName;
public String getSequenceName() {
- return this.tableName + "_ID";
+ // 处理ORACLE表名过长,未与序列对应情况
+ String sequenceName;
+ switch (this.tableName) {
+ case "JCL_ORG_HRMRESOURCE":
+ sequenceName = "JCL_ORG_HRM_ID";
+ break;
+ case "JCL_ORG_HRMRESOURCEEXT_DT1":
+ sequenceName = "JCL_ORG_HRMEXT_DT1_ID";
+ break;
+ case "JCL_FIELD_EXTENDGROUP":
+ sequenceName = "JCL_FIELD_GROUP_ID";
+ break;
+ case "JCL_FIELD_EXTENDTITLE":
+ sequenceName = "JCL_FIELD_TITLE_ID";
+ break;
+ case "JCL_FIELD_EXTENDINFO":
+ sequenceName = "JCL_FIELD_INFO_ID";
+ break;
+ case "JCL_IMPORT_HISTORY_DETAIL":
+ sequenceName = "JCL_IMPORT_DETAIL_ID";
+ break;
+ default:
+ sequenceName = this.tableName + "_ID";
+ break;
+ }
+ return sequenceName;
}
}
diff --git a/src/com/engine/organization/entity/hrmresource/po/HrmResourcePO.java b/src/com/engine/organization/entity/hrmresource/po/HrmResourcePO.java
index fb468ffe..d8469773 100644
--- a/src/com/engine/organization/entity/hrmresource/po/HrmResourcePO.java
+++ b/src/com/engine/organization/entity/hrmresource/po/HrmResourcePO.java
@@ -140,9 +140,9 @@ public class HrmResourcePO {
private String jobGrade;
- private Integer schemeId;
+ private String schemeId;
- private Integer sequenceId;
+ private String sequenceId;
private String baseFieldsValue;
diff --git a/src/com/engine/organization/entity/job/bo/JobBO.java b/src/com/engine/organization/entity/job/bo/JobBO.java
index 907a348a..8447b659 100644
--- a/src/com/engine/organization/entity/job/bo/JobBO.java
+++ b/src/com/engine/organization/entity/job/bo/JobBO.java
@@ -89,8 +89,8 @@ public class JobBO {
.deptName(e.getDeptName())
.sequenceName(e.getSequenceName())
.schemeName(e.getSchemeName())
- .parentJob(e.getParentJob())
- .parentJobName(null == poMaps.get(e.getParentJob()) ? "" : poMaps.get(e.getParentJob()).getJobName())
+ //.parentJob(e.getParentJob())
+ //.parentJobName(null == poMaps.get(e.getParentJob()) ? "" : poMaps.get(e.getParentJob()).getJobName())
.isKey(JobTransMethod.getIsKeySpan(e.getIsKey()))
.showOrder(e.getShowOrder())
.forbiddenTag(e.getForbiddenTag())
diff --git a/src/com/engine/organization/entity/job/dto/JobListDTO.java b/src/com/engine/organization/entity/job/dto/JobListDTO.java
index a8f2b965..be769e5f 100644
--- a/src/com/engine/organization/entity/job/dto/JobListDTO.java
+++ b/src/com/engine/organization/entity/job/dto/JobListDTO.java
@@ -64,9 +64,11 @@ public class JobListDTO {
/**
* 上级岗位
*/
- @TableTitle(title = "上级岗位", dataIndex = "parentJobName", key = "parentJobName")
+ // 上级岗位,暂不使用
+ //@TableTitle(title = "上级岗位", dataIndex = "parentJobName", key = "parentJobName")
private String parentJobName;
private Long parentJob;
+ private Long parentComp;
/**
* 是否关键岗
*/
diff --git a/src/com/engine/organization/entity/personnelcard/po/CardAccessPO.java b/src/com/engine/organization/entity/personnelcard/po/CardAccessPO.java
new file mode 100644
index 00000000..1d8f3e74
--- /dev/null
+++ b/src/com/engine/organization/entity/personnelcard/po/CardAccessPO.java
@@ -0,0 +1,46 @@
+package com.engine.organization.entity.personnelcard.po;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+/**
+ * @Author weaver_cl
+ * @Description:
+ * @Date 2022/11/1
+ * @Version V1.0
+ **/
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class CardAccessPO {
+
+ private Integer id;
+
+ private Integer typeId;
+
+ private Integer typeName;
+
+ private Integer status;
+
+ private Integer allPeople;
+
+ private Integer superior;
+
+ private String allSuperior;
+
+ private String custom;
+
+ private Long creator;
+
+ private int deleteType;
+
+ private Date createTime;
+
+ private Date updateTime;
+}
diff --git a/src/com/engine/organization/entity/personnelcard/vo/CardAccessVO.java b/src/com/engine/organization/entity/personnelcard/vo/CardAccessVO.java
new file mode 100644
index 00000000..d4784433
--- /dev/null
+++ b/src/com/engine/organization/entity/personnelcard/vo/CardAccessVO.java
@@ -0,0 +1,21 @@
+package com.engine.organization.entity.personnelcard.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+/**
+ * @Author weaver_cl
+ * @Description:
+ * @Date 2022/11/1
+ * @Version V1.0
+ **/
+
+
+public class CardAccessVO {
+
+
+}
diff --git a/src/com/engine/organization/entity/scheme/po/SchemePO.java b/src/com/engine/organization/entity/scheme/po/SchemePO.java
index 1cf7918b..f1986ead 100644
--- a/src/com/engine/organization/entity/scheme/po/SchemePO.java
+++ b/src/com/engine/organization/entity/scheme/po/SchemePO.java
@@ -37,19 +37,19 @@ public class SchemePO {
*/
private int isUsed;
/**
- *
+ * 创建人
*/
private Long creator;
/**
- *
+ * 删除标记
*/
private int deleteType;
/**
- *
+ * 创建时间
*/
private Date createTime;
/**
- *
+ * 更新时间
*/
private Date updateTime;
diff --git a/src/com/engine/organization/entity/searchtree/SearchTree.java b/src/com/engine/organization/entity/searchtree/SearchTree.java
index b279b3e2..1c05c440 100644
--- a/src/com/engine/organization/entity/searchtree/SearchTree.java
+++ b/src/com/engine/organization/entity/searchtree/SearchTree.java
@@ -3,6 +3,8 @@ package com.engine.organization.entity.searchtree;
import com.api.hrm.bean.TreeNode;
import lombok.Data;
+import java.util.Objects;
+
/**
* @description:
* @author:dxfeng
@@ -19,4 +21,17 @@ public class SearchTree extends TreeNode {
private String requestParams;
private String parentComp;
private Integer orderNum;
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ SearchTree that = (SearchTree) o;
+ return isCanceled == that.isCanceled && Objects.equals(this.getId(), that.getId()) &&Objects.equals(companyid, that.companyid) && Objects.equals(isVirtual, that.isVirtual) && Objects.equals(psubcompanyid, that.psubcompanyid) && Objects.equals(displayType, that.displayType) && Objects.equals(requestParams, that.requestParams) && Objects.equals(parentComp, that.parentComp) && Objects.equals(orderNum, that.orderNum);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(this.getId(),companyid, isVirtual, psubcompanyid, displayType, isCanceled, requestParams, parentComp, orderNum);
+ }
}
\ No newline at end of file
diff --git a/src/com/engine/organization/enums/LogModuleNameEnum.java b/src/com/engine/organization/enums/LogModuleNameEnum.java
index 7779b220..c0115316 100644
--- a/src/com/engine/organization/enums/LogModuleNameEnum.java
+++ b/src/com/engine/organization/enums/LogModuleNameEnum.java
@@ -18,6 +18,7 @@ public enum LogModuleNameEnum {
RESOURCE("人员管理", 11),
STAFFPLAN("编制方案", 12),
STAFF("编制上报", 13),
+ DETACH("模块管理分权", 14),
OTHER("其他模块", 99);
private String name;
diff --git a/src/com/engine/organization/mapper/comp/CompMapper.java b/src/com/engine/organization/mapper/comp/CompMapper.java
index aad7c06f..5642ba8e 100644
--- a/src/com/engine/organization/mapper/comp/CompMapper.java
+++ b/src/com/engine/organization/mapper/comp/CompMapper.java
@@ -77,7 +77,7 @@ public interface CompMapper {
* @param id
* @return
*/
- CompPO listById(@Param("id") long id);
+ CompPO listById(@Param("id") Long id);
/**
* 根据UUID查询数据
@@ -174,4 +174,6 @@ public interface CompMapper {
CompPO getCompanyByNo(@Param("companyNo") String companyNo);
+ List getCompanyIdsByUuid(@Param("uuids") List uuids);
+
}
diff --git a/src/com/engine/organization/mapper/comp/CompMapper.xml b/src/com/engine/organization/mapper/comp/CompMapper.xml
index ac0acd15..12d4a722 100644
--- a/src/com/engine/organization/mapper/comp/CompMapper.xml
+++ b/src/com/engine/organization/mapper/comp/CompMapper.xml
@@ -435,6 +435,13 @@
where forbidden_tag = 0
and delete_type = 0
+
update jcl_org_comp
diff --git a/src/com/engine/organization/mapper/detach/ManagerDetachMapper.java b/src/com/engine/organization/mapper/detach/ManagerDetachMapper.java
new file mode 100644
index 00000000..df66bdb6
--- /dev/null
+++ b/src/com/engine/organization/mapper/detach/ManagerDetachMapper.java
@@ -0,0 +1,28 @@
+package com.engine.organization.mapper.detach;
+
+import com.engine.organization.entity.detach.po.ManagerDetachPO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * @Author weaver_cl
+ * @Description:
+ * @Date 2022/10/24
+ * @Version V1.0
+ **/
+public interface ManagerDetachMapper {
+
+ int insertIgnoreNull(ManagerDetachPO managerDetachPO);
+
+ int updateDetach(ManagerDetachPO managerDetachPO);
+
+ int deleteByIds(@Param("ids") Collection ids);
+
+ List selectByIds(@Param("ids")Collection ids);
+
+ ManagerDetachPO getDetachById(@Param("id") Integer id);
+
+ List getDetachListById(@Param("ecManager") Integer ecManager);
+}
diff --git a/src/com/engine/organization/mapper/detach/ManagerDetachMapper.xml b/src/com/engine/organization/mapper/detach/ManagerDetachMapper.xml
new file mode 100644
index 00000000..9646bcb6
--- /dev/null
+++ b/src/com/engine/organization/mapper/detach/ManagerDetachMapper.xml
@@ -0,0 +1,224 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ t.id
+ , t.manager_type
+ , t.ec_manager
+ , t.jcl_manager
+ , t.ec_rolelevel
+ , t.jcl_rolelevel
+ , t.manage_module
+ , t.creator
+ , t.delete_type
+ , t.create_time
+ , t.update_time
+
+
+
+
+
+ INSERT INTO jcl_org_detach
+
+
+ manager_type,
+
+
+ ec_manager,
+
+
+ jcl_manager,
+
+
+ ec_rolelevel,
+
+
+ jcl_rolelevel,
+
+
+ manage_module,
+
+
+ creator,
+
+
+ delete_type,
+
+
+ create_time,
+
+
+ update_time,
+
+
+
+
+ #{managerType},
+
+
+ #{ecManager},
+
+
+ #{jclManager},
+
+
+ #{ecRolelevel},
+
+
+ #{jclRolelevel},
+
+
+ #{manageModule},
+
+
+ #{creator},
+
+
+ #{deleteType},
+
+
+ #{createTime},
+
+
+ #{updateTime},
+
+
+
+
+
+
+ select JCL_ORG_DETACH_ID.currval from dual
+
+ INSERT INTO jcl_org_detach
+
+
+ manager_type,
+
+
+ ec_manager,
+
+
+ jcl_manager,
+
+
+ ec_rolelevel,
+
+
+ jcl_rolelevel,
+
+
+ manage_module,
+
+
+ creator,
+
+
+ delete_type,
+
+
+ create_time,
+
+
+ update_time,
+
+
+
+
+ #{managerType},
+
+
+ #{ecManager},
+
+
+ #{jclManager},
+
+
+ #{ecRolelevel},
+
+
+ #{jclRolelevel},
+
+
+ #{manageModule},
+
+
+ #{creator},
+
+
+ #{deleteType},
+
+
+ #{createTime},
+
+
+ #{updateTime},
+
+
+
+
+
+ update jcl_org_detach
+
+ ec_manager=#{ecManager},
+ jcl_Manager=#{jclManager},
+ ec_rolelevel=#{ecRolelevel},
+ jcl_rolelevel=#{jclRolelevel}
+
+ WHERE id = #{id} AND delete_type = 0
+
+
+
+
+ UPDATE jcl_org_detach
+ SET delete_type = 1
+ WHERE delete_type = 0
+ AND id IN
+
+ #{id}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/com/engine/organization/mapper/employee/EmployeeMapper.java b/src/com/engine/organization/mapper/employee/EmployeeMapper.java
index bac40ab8..0419a3cf 100644
--- a/src/com/engine/organization/mapper/employee/EmployeeMapper.java
+++ b/src/com/engine/organization/mapper/employee/EmployeeMapper.java
@@ -2,6 +2,10 @@ package com.engine.organization.mapper.employee;
import org.apache.ibatis.annotations.Param;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
/**
* @Author weaver_cl
@@ -12,4 +16,8 @@ import org.apache.ibatis.annotations.Param;
public interface EmployeeMapper {
String getEmployeeNameById(@Param("employeeId") Long id);
+
+ List getResourceIds(@Param("lastName") String lastName);
+
+ List