From 35ded2eb87890b5bd4e44a43cad426f6ca1f7c71 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 5 May 2022 18:09:02 +0800 Subject: [PATCH 01/36] =?UTF-8?q?=E5=88=9B=E5=BB=BA=E8=A1=A8=E7=BB=93?= =?UTF-8?q?=E6=9E=84SQL=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/表结构SQL/MySQL.sql | 399 ++++++++++++++++++++++++++++++++++ docs/表结构SQL/Oracle.sql | 400 +++++++++++++++++++++++++++++++++++ docs/表结构SQL/SqlServer.sql | 399 ++++++++++++++++++++++++++++++++++ 3 files changed, 1198 insertions(+) create mode 100644 docs/表结构SQL/MySQL.sql create mode 100644 docs/表结构SQL/Oracle.sql create mode 100644 docs/表结构SQL/SqlServer.sql diff --git a/docs/表结构SQL/MySQL.sql b/docs/表结构SQL/MySQL.sql new file mode 100644 index 00000000..64ee5105 --- /dev/null +++ b/docs/表结构SQL/MySQL.sql @@ -0,0 +1,399 @@ +-- JCL_ORG_SCHEME +CREATE TABLE JCL_ORG_SCHEME ( + id int auto_increment NOT NULL, + scheme_no varchar(100) NULL, + scheme_name varchar(100) NULL, + scheme_description text NULL, + forbidden_tag int NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_SCHEME_PK PRIMARY KEY (id) +); +-- JCL_ORG_LEVEL +CREATE TABLE JCL_ORG_LEVEL ( + id int auto_increment NOT NULL, + level_no varchar(100) NULL, + level_name varchar(100) NULL, + description text NULL, + level_scheme int null, + forbidden_tag int NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_LEVEL_PK PRIMARY KEY (id) +); +-- JCL_ORG_GRADE +CREATE TABLE JCL_ORG_GRADE ( + id int auto_increment NOT NULL, + grade_no varchar(100) NULL, + grade_name varchar(100) NULL, + description text NULL, + level_scheme int null, + level_id int null, + forbidden_tag int NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_GRADE_PK PRIMARY KEY (id) +); + +-- JCL_ORG_SEQUENCE +CREATE TABLE JCL_ORG_SEQUENCE ( + id int auto_increment NOT NULL, + sequence_no varchar(100) NULL, + sequence_name varchar(100) NULL, + description text NULL, + level_scheme int null, + forbidden_tag int NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_SEQUENCE_PK PRIMARY KEY (id) +); + +-- JCL_ORG_POST +CREATE TABLE JCL_ORG_POST ( + id int auto_increment NOT NULL, + post_no int null, + post_name varchar(100) NULL, + description text NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_POST_PK PRIMARY KEY (id) +); + +-- JCL_ORG_POST_INFO +CREATE TABLE JCL_ORG_POST_INFO ( + id int auto_increment NOT NULL, + post_info_no int null, + post_info_name varchar(100) NULL, + post_info_authority text null, + post_info_duty text null, + post_info_qualification text null, + post_type int null, + description text NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_POST_INFO_PK PRIMARY KEY (id) +); + +-- JCL_ORG_COMP +CREATE TABLE JCL_ORG_COMP ( + id int auto_increment NOT NULL, + comp_no varchar(100) NULL, + comp_name varchar(100) NULL, + comp_name_short varchar(100) NULL, + parent_company int null, + org_code varchar(100) NULL, + industry int null, + comp_principal int null, + description text NULL, + forbidden_tag int NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_COMP_PK PRIMARY KEY (id) +); + +-- JCL_FIELD_EXTENDGROUP +CREATE TABLE JCL_FIELD_EXTENDGROUP ( + id int auto_increment NOT NULL, + extend_type int null, + group_name varchar(100) NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_FIELD_EXTENDGROUP_PK PRIMARY KEY (id) +); + +-- JCL_FIELD_EXTENDINFO +CREATE TABLE JCL_FIELD_EXTENDINFO ( + id int auto_increment NOT NULL, + extend_type int null, + table_name varchar(100) NULL, + field_name varchar(100) NULL, + field_name_desc varchar(100) NULL, + field_type varchar(1000) NULL, + control_type int null, + extend_group int null, + isenable int null, + isrequired int null, + list_show int null, + search_show int null, + edit_show int null, + add_show int null, + button_show int null, + show_order int null, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_FIELD_EXTENDINFO_PK PRIMARY KEY (id) +); + +-- JCL_ORG_COMPEXT +CREATE TABLE JCL_ORG_COMPEXT ( + id int auto_increment NOT NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_COMPEXT_PK PRIMARY KEY (id) +); + +-- JCL_ORG_COMPEXT_DT1 +CREATE TABLE JCL_ORG_COMPEXT_DT1 ( + id int auto_increment NOT NULL, + mainid int NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_COMPEXT_DT1_PK PRIMARY KEY (id) +); + +-- JCL_ORG_DEPT +CREATE TABLE JCL_ORG_DEPT ( + id int auto_increment NOT NULL, + dept_no varchar(100) NULL, + dept_name varchar(100) NULL, + dept_name_short varchar(100) NULL, + parent_comp int null, + parent_dept int null, + dept_principal int null, + show_order int null, + description text NULL, + forbidden_tag int NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_DEPT_PK PRIMARY KEY (id) +); + +-- JCL_FIELD_EXTENDGROUP_DEPT +CREATE TABLE JCL_FIELD_EXTENDGROUP_DEPT ( + id int auto_increment NOT NULL, + extend_type int null, + group_name varchar(100) NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_FIELD_EXTENDGROUP_DEPT_PK PRIMARY KEY (id) +); + +-- JCL_FIELD_EXTENDINFO_DEPT +CREATE TABLE JCL_FIELD_EXTENDINFO_DEPT ( + id int auto_increment NOT NULL, + extend_type int null, + table_name varchar(100) NULL, + field_name varchar(100) NULL, + field_name_desc varchar(100) NULL, + field_type varchar(1000) NULL, + control_type int null, + extend_group int null, + isenable int null, + isrequired int null, + list_show int null, + search_show int null, + edit_show int null, + add_show int null, + button_show int null, + show_order int null, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_FIELD_EXTENDINFO_DEPT_PK PRIMARY KEY (id) +); + +-- JCL_ORG_DEPTPEXT +CREATE TABLE JCL_ORG_DEPTPEXT ( + id int auto_increment NOT NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_DEPTPEXT_PK PRIMARY KEY (id) +); + +-- JCL_ORG_DEPTEXT_DT1 +CREATE TABLE JCL_ORG_DEPTEXT_DT1 ( + id int auto_increment NOT NULL, + mainid int NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_DEPTEXT_DT1_PK PRIMARY KEY (id) +); + +-- JCL_ORG_JOB +CREATE TABLE JCL_ORG_JOB ( + id int auto_increment NOT NULL, + job_no varchar(100) NULL, + job_name varchar(100) NULL, + parent_comp int null, + parent_dept int null, + job_sequence int null, + level_scheme int null, + parent_job int null, + is_key_job int null, + workplace varchar(100) NULL, + work_description text null, + work_duty text null, + work_authority text null, + forbidden_tag int NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_JOB_PK PRIMARY KEY (id) +); + +-- JCL_ORG_JOBDT +CREATE TABLE JCL_ORG_JOBDT ( + id int auto_increment NOT NULL, + mainid int NULL, + job_rank int null, + job_level int null, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT CL_ORG_DEPTPEXT_PK PRIMARY KEY (id) +); + +-- JCL_FIELD_EXTENDGROUP_JOB +CREATE TABLE JCL_FIELD_EXTENDGROUP_JOB ( + id int auto_increment NOT NULL, + extend_type int null, + group_name varchar(100) NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_FIELD_EXTENDGROUP_JOB_PK PRIMARY KEY (id) +); + +-- JCL_FIELD_EXTENDINFO_JOB +CREATE TABLE JCL_FIELD_EXTENDINFO_JOB ( + id int auto_increment NOT NULL, + extend_type int null, + table_name varchar(100) NULL, + field_name varchar(100) NULL, + field_name_desc varchar(100) NULL, + field_type varchar(1000) NULL, + control_type int null, + extend_group int null, + isenable int null, + isrequired int null, + list_show int null, + search_show int null, + edit_show int null, + add_show int null, + button_show int null, + show_order int null, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_FIELD_EXTENDINFO_JOB_PK PRIMARY KEY (id) +); + +-- JCL_ORG_JOBPEXT +CREATE TABLE JCL_ORG_JOBPEXT ( + id int auto_increment NOT NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_JOBPEXT_PK PRIMARY KEY (id) +); + +-- JCL_ORG_JOBEXT_DT1 +CREATE TABLE JCL_ORG_JOBEXT_DT1 ( + id int auto_increment NOT NULL, + mainid int NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_JOBEXT_DT1_PK PRIMARY KEY (id) +); + + +-- JCL_ORG_STAFFPLAN +CREATE TABLE JCL_ORG_STAFFPLAN ( + id int auto_increment NOT NULL, + staffplan_no varchar(100) NULL, + staffplan_name varchar(100) NULL, + staffplan_year varchar(100) NULL, + time_start date NULL, + time_end date NULL, + apply_company int NULL, + description text NULL, + status int NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_STAFFPLAN_PK PRIMARY KEY (id) +); + +-- JCL_ORG_STAFF +CREATE TABLE JCL_ORG_STAFF ( + id int auto_increment NOT NULL, + scheme_id int null, + comp int null, + dept int null, + job int null, + staff_num int null, + control_policy int null, + staff_permanent_num int null, + freeze_num int null, + lack_status int null, + staff_description varchar(100) NULL, + instruction text null, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_STAFF_PK PRIMARY KEY (id) +); + +-- JCL_ORG_STAFFS +CREATE TABLE JCL_ORG_STAFFS ( + id int auto_increment NOT NULL, + staff_id int null, + business_type int null, + business_change_num int null, + business_source int null, + requestid int null, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_STAFFS_PK PRIMARY KEY (id) +); + + + + + + + + + diff --git a/docs/表结构SQL/Oracle.sql b/docs/表结构SQL/Oracle.sql new file mode 100644 index 00000000..e5cb8b4e --- /dev/null +++ b/docs/表结构SQL/Oracle.sql @@ -0,0 +1,400 @@ +-- JCL_ORG_SCHEME +CREATE TABLE JCL_ORG_SCHEME ( + ID NUMBER NOT NULL, + SCHEME_NO NVARCHAR2(100) NULL, + SCHEME_NAME NVARCHAR2(100) NULL, + SCHEME_DESCRIPTION NVARCHAR2(1000) NULL, + FORBIDDEN_TAG NUMBER NULL, + CREATOR NUMBER NULL, + DELETE_TYPE NUMBER NULL, + CREATE_TIME DATE NULL, + UPDATE_TIME DATE NULL, + CONSTRAINT JCL_ORG_SCHEME_PK PRIMARY KEY (ID) +); +-- JCL_ORG_LEVEL +CREATE TABLE JCL_ORG_LEVEL ( + ID NUMBER NOT NULL, + LEVEL_NO NVARCHAR2(100) NULL, + LEVEL_NAME NVARCHAR2(100) NULL, + DESCRIPTION NVARCHAR2(1000) NULL, + LEVEL_SCHEME NUMBER NULL, + FORBIDDEN_TAG NUMBER NULL, + CREATOR NUMBER NULL, + DELETE_TYPE NUMBER NULL, + CREATE_TIME DATE NULL, + UPDATE_TIME DATE NULL, + CONSTRAINT JCL_ORG_LEVEL_PK PRIMARY KEY (ID) +); + +-- JCL_ORG_GRADE +CREATE TABLE JCL_ORG_GRADE ( + ID NUMBER NOT NULL, + GRADE_NO NVARCHAR2(100) NULL, + GRADE_NAME NVARCHAR2(100) NULL, + DESCRIPTION NVARCHAR2(1000) NULL, + LEVEL_SCHEME NUMBER NULL, + LEVEL_ID NUMBER NULL, + FORBIDDEN_TAG NUMBER NULL, + CREATOR NUMBER NULL, + DELETE_TYPE NUMBER NULL, + CREATE_TIME DATE NULL, + UPDATE_TIME DATE NULL, + CONSTRAINT JCL_ORG_GRADE_PK PRIMARY KEY (ID) +); + + +-- JCL_ORG_SEQUENCE +CREATE TABLE JCL_ORG_SEQUENCE ( + ID NUMBER NOT NULL, + SEQUENCE_NO NVARCHAR2(100) NULL, + SEQUENCE_NAME NVARCHAR2(100) NULL, + DESCRIPTION NVARCHAR2(1000) NULL, + LEVEL_SCHEME NUMBER NULL, + FORBIDDEN_TAG NUMBER NULL, + CREATOR NUMBER NULL, + DELETE_TYPE NUMBER NULL, + CREATE_TIME DATE NULL, + UPDATE_TIME DATE NULL, + CONSTRAINT JCL_ORG_SEQUENCE_PK PRIMARY KEY (ID) +); + +-- JCL_ORG_POST +CREATE TABLE JCL_ORG_POST ( + ID NUMBER NOT NULL, + POST_NO NUMBER NULL, + POST_NAME NVARCHAR2(100) NULL, + DESCRIPTION NVARCHAR2(1000) NULL, + CREATOR NUMBER NULL, + DELETE_TYPE NUMBER NULL, + CREATE_TIME DATE NULL, + UPDATE_TIME DATE NULL, + CONSTRAINT JCL_ORG_POST_PK PRIMARY KEY (ID) +); + +-- JCL_ORG_POST_INFO +CREATE TABLE JCL_ORG_POST_INFO ( + ID NUMBER NOT NULL, + POST_INFO_NO NUMBER NULL, + POST_INFO_NAME NVARCHAR2(100) NULL, + POST_INFO_AUTHORITY NVARCHAR2(1000) NULL, + POST_INFO_DUTY NVARCHAR2(1000) NULL, + POST_INFO_QUALIFICATION NVARCHAR2(1000) NULL, + POST_TYPE NUMBER NULL, + DESCRIPTION NVARCHAR2(1000) NULL, + CREATOR NUMBER NULL, + DELETE_TYPE NUMBER NULL, + CREATE_TIME DATE NULL, + UPDATE_TIME DATE NULL, + CONSTRAINT JCL_ORG_POST_INFO_PK PRIMARY KEY (ID) +); + +-- JCL_ORG_COMP +CREATE TABLE JCL_ORG_COMP ( + ID NUMBER NOT NULL, + COMP_NO NVARCHAR2(100) NULL, + COMP_NAME NVARCHAR2(100) NULL, + COMP_NAME_SHORT NVARCHAR2(100) NULL, + PARENT_COMPANY NUMBER NULL, + ORG_CODE NVARCHAR2(100) NULL, + INDUSTRY NUMBER NULL, + COMP_PRINCIPAL NUMBER NULL, + DESCRIPTION NVARCHAR2(1000) NULL, + FORBIDDEN_TAG NUMBER NULL, + CREATOR NUMBER NULL, + DELETE_TYPE NUMBER NULL, + CREATE_TIME DATE NULL, + UPDATE_TIME DATE NULL, + CONSTRAINT JCL_ORG_COMP_PK PRIMARY KEY (ID) +); + +-- JCL_FIELD_EXTENDGROUP +CREATE TABLE JCL_FIELD_EXTENDGROUP ( + ID NUMBER NOT NULL, + EXTEND_TYPE NUMBER NULL, + GROUP_NAME NVARCHAR2(100) NULL, + CREATOR NUMBER NULL, + DELETE_TYPE NUMBER NULL, + CREATE_TIME DATE NULL, + UPDATE_TIME DATE NULL, + CONSTRAINT JCL_FIELD_EXTENDGROUP_PK PRIMARY KEY (ID) +); + +-- JCL_FIELD_EXTENDINFO +CREATE TABLE JCL_FIELD_EXTENDINFO ( + ID NUMBER NOT NULL, + EXTEND_TYPE NUMBER NULL, + TABLE_NAME NVARCHAR2(100) NULL, + FIELD_NAME NVARCHAR2(100) NULL, + FIELD_NAME_DESC NVARCHAR2(100) NULL, + FIELD_TYPE NVARCHAR2(1000) NULL, + CONTROL_TYPE NUMBER NULL, + EXTEND_GROUP NUMBER NULL, + ISENABLE NUMBER NULL, + ISREQUIRED NUMBER NULL, + LIST_SHOW NUMBER NULL, + SEARCH_SHOW NUMBER NULL, + EDIT_SHOW NUMBER NULL, + ADD_SHOW NUMBER NULL, + BUTTON_SHOW NUMBER NULL, + SHOW_ORDER NUMBER NULL, + CREATOR NUMBER NULL, + DELETE_TYPE NUMBER NULL, + CREATE_TIME DATE NULL, + UPDATE_TIME DATE NULL, + CONSTRAINT JCL_FIELD_EXTENDINFO_PK PRIMARY KEY (ID) +); + +-- JCL_ORG_COMPEXT +CREATE TABLE JCL_ORG_COMPEXT ( + ID NUMBER NOT NULL, + CREATOR NUMBER NULL, + DELETE_TYPE NUMBER NULL, + CREATE_TIME DATE NULL, + UPDATE_TIME DATE NULL, + CONSTRAINT JCL_ORG_COMPEXT_PK PRIMARY KEY (ID) +); + +-- JCL_ORG_COMPEXT_DT1 +CREATE TABLE JCL_ORG_COMPEXT_DT1 ( + ID NUMBER NOT NULL, + MAINID NUMBER NULL, + CREATOR NUMBER NULL, + DELETE_TYPE NUMBER NULL, + CREATE_TIME DATE NULL, + UPDATE_TIME DATE NULL, + CONSTRAINT JCL_ORG_COMPEXT_DT1_PK PRIMARY KEY (ID) +); + +-- JCL_ORG_DEPT +CREATE TABLE JCL_ORG_DEPT ( + ID NUMBER NOT NULL, + DEPT_NO NVARCHAR2(100) NULL, + DEPT_NAME NVARCHAR2(100) NULL, + DEPT_NAME_SHORT NVARCHAR2(100) NULL, + PARENT_COMP NUMBER NULL, + PARENT_DEPT NUMBER NULL, + DEPT_PRINCIPAL NUMBER NULL, + SHOW_ORDER NUMBER NULL, + DESCRIPTION NVARCHAR2(1000) NULL, + FORBIDDEN_TAG NUMBER NULL, + CREATOR NUMBER NULL, + DELETE_TYPE NUMBER NULL, + CREATE_TIME DATE NULL, + UPDATE_TIME DATE NULL, + CONSTRAINT JCL_ORG_DEPT_PK PRIMARY KEY (ID) +); + +-- JCL_FIELD_EXTENDGROUP_DEPT +CREATE TABLE JCL_FIELD_EXTENDGROUP_DEPT ( + ID NUMBER NOT NULL, + EXTEND_TYPE NUMBER NULL, + GROUP_NAME NVARCHAR2(100) NULL, + CREATOR NUMBER NULL, + DELETE_TYPE NUMBER NULL, + CREATE_TIME DATE NULL, + UPDATE_TIME DATE NULL, + CONSTRAINT JCL_FIELD_EXTENDGROUP_DEPT_PK PRIMARY KEY (ID) +); + +-- JCL_FIELD_EXTENDINFO_DEPT +CREATE TABLE JCL_FIELD_EXTENDINFO_DEPT ( + ID NUMBER NOT NULL, + EXTEND_TYPE NUMBER NULL, + TABLE_NAME NVARCHAR2(100) NULL, + FIELD_NAME NVARCHAR2(100) NULL, + FIELD_NAME_DESC NVARCHAR2(100) NULL, + FIELD_TYPE NVARCHAR2(1000) NULL, + CONTROL_TYPE NUMBER NULL, + EXTEND_GROUP NUMBER NULL, + ISENABLE NUMBER NULL, + ISREQUIRED NUMBER NULL, + LIST_SHOW NUMBER NULL, + SEARCH_SHOW NUMBER NULL, + EDIT_SHOW NUMBER NULL, + ADD_SHOW NUMBER NULL, + BUTTON_SHOW NUMBER NULL, + SHOW_ORDER NUMBER NULL, + CREATOR NUMBER NULL, + DELETE_TYPE NUMBER NULL, + CREATE_TIME DATE NULL, + UPDATE_TIME DATE NULL, + CONSTRAINT JCL_FIELD_EXTENDINFO_DEPT_PK PRIMARY KEY (ID) +); + +-- JCL_ORG_DEPTPEXT +CREATE TABLE JCL_ORG_DEPTPEXT ( + ID NUMBER NOT NULL, + CREATOR NUMBER NULL, + DELETE_TYPE NUMBER NULL, + CREATE_TIME DATE NULL, + UPDATE_TIME DATE NULL, + CONSTRAINT JCL_ORG_DEPTPEXT_PK PRIMARY KEY (ID) +); + +-- JCL_ORG_DEPTEXT_DT1 +CREATE TABLE JCL_ORG_DEPTEXT_DT1 ( + ID NUMBER NOT NULL, + MAINID NUMBER NULL, + CREATOR NUMBER NULL, + DELETE_TYPE NUMBER NULL, + CREATE_TIME DATE NULL, + UPDATE_TIME DATE NULL, + CONSTRAINT JCL_ORG_DEPTEXT_DT1_PK PRIMARY KEY (ID) +); + +-- JCL_ORG_JOB +CREATE TABLE JCL_ORG_JOB ( + ID NUMBER NOT NULL, + JOB_NO NVARCHAR2(100) NULL, + JOB_NAME NVARCHAR2(100) NULL, + PARENT_COMP NUMBER NULL, + PARENT_DEPT NUMBER NULL, + JOB_SEQUENCE NUMBER NULL, + LEVEL_SCHEME NUMBER NULL, + PARENT_JOB NUMBER NULL, + IS_KEY_JOB NUMBER NULL, + WORKPLACE NVARCHAR2(100) NULL, + WORK_DESCRIPTION NVARCHAR2(1000) NULL, + WORK_DUTY NVARCHAR2(1000) NULL, + WORK_AUTHORITY NVARCHAR2(1000) NULL, + FORBIDDEN_TAG NUMBER NULL, + CREATOR NUMBER NULL, + DELETE_TYPE NUMBER NULL, + CREATE_TIME DATE NULL, + UPDATE_TIME DATE NULL, + CONSTRAINT JCL_ORG_JOB_PK PRIMARY KEY (ID) +); + +-- JCL_ORG_JOBDT +CREATE TABLE JCL_ORG_JOBDT ( + ID NUMBER NOT NULL, + MAINID NUMBER NULL, + JOB_RANK NUMBER NULL, + JOB_LEVEL NUMBER NULL, + CREATOR NUMBER NULL, + DELETE_TYPE NUMBER NULL, + CREATE_TIME DATE NULL, + UPDATE_TIME DATE NULL, + CONSTRAINT CL_ORG_DEPTPEXT_PK PRIMARY KEY (ID) +); + +-- JCL_FIELD_EXTENDGROUP_JOB +CREATE TABLE JCL_FIELD_EXTENDGROUP_JOB ( + ID NUMBER NOT NULL, + EXTEND_TYPE NUMBER NULL, + GROUP_NAME NVARCHAR2(100) NULL, + CREATOR NUMBER NULL, + DELETE_TYPE NUMBER NULL, + CREATE_TIME DATE NULL, + UPDATE_TIME DATE NULL, + CONSTRAINT JCL_FIELD_EXTENDGROUP_JOB_PK PRIMARY KEY (ID) +); + +-- JCL_FIELD_EXTENDINFO_JOB +CREATE TABLE JCL_FIELD_EXTENDINFO_JOB ( + ID NUMBER NOT NULL, + EXTEND_TYPE NUMBER NULL, + TABLE_NAME NVARCHAR2(100) NULL, + FIELD_NAME NVARCHAR2(100) NULL, + FIELD_NAME_DESC NVARCHAR2(100) NULL, + FIELD_TYPE NVARCHAR2(1000) NULL, + CONTROL_TYPE NUMBER NULL, + EXTEND_GROUP NUMBER NULL, + ISENABLE NUMBER NULL, + ISREQUIRED NUMBER NULL, + LIST_SHOW NUMBER NULL, + SEARCH_SHOW NUMBER NULL, + EDIT_SHOW NUMBER NULL, + ADD_SHOW NUMBER NULL, + BUTTON_SHOW NUMBER NULL, + SHOW_ORDER NUMBER NULL, + CREATOR NUMBER NULL, + DELETE_TYPE NUMBER NULL, + CREATE_TIME DATE NULL, + UPDATE_TIME DATE NULL, + CONSTRAINT JCL_FIELD_EXTENDINFO_JOB_PK PRIMARY KEY (ID) +); + +-- JCL_ORG_JOBPEXT +CREATE TABLE JCL_ORG_JOBPEXT ( + ID NUMBER NOT NULL, + CREATOR NUMBER NULL, + DELETE_TYPE NUMBER NULL, + CREATE_TIME DATE NULL, + UPDATE_TIME DATE NULL, + CONSTRAINT JCL_ORG_JOBPEXT_PK PRIMARY KEY (ID) +); + +-- JCL_ORG_JOBEXT_DT1 +CREATE TABLE JCL_ORG_JOBEXT_DT1 ( + ID NUMBER NOT NULL, + MAINID NUMBER NULL, + CREATOR NUMBER NULL, + DELETE_TYPE NUMBER NULL, + CREATE_TIME DATE NULL, + UPDATE_TIME DATE NULL, + CONSTRAINT JCL_ORG_JOBEXT_DT1_PK PRIMARY KEY (ID) +); + +-- JCL_ORG_STAFFPLAN +CREATE TABLE JCL_ORG_STAFFPLAN ( + ID NUMBER NOT NULL, + STAFFPLAN_NO NVARCHAR2(100) NULL, + STAFFPLAN_NAME NVARCHAR2(100) NULL, + STAFFPLAN_YEAR NVARCHAR2(100) NULL, + TIME_START DATE NULL, + TIME_END DATE NULL, + APPLY_COMPANY NUMBER NULL, + DESCRIPTION NVARCHAR2(1000) NULL, + STATUS NUMBER NULL, + CREATOR NUMBER NULL, + DELETE_TYPE NUMBER NULL, + CREATE_TIME DATE NULL, + UPDATE_TIME DATE NULL, + CONSTRAINT JCL_ORG_STAFFPLAN_PK PRIMARY KEY (ID) +); + +-- JCL_ORG_STAFF +CREATE TABLE JCL_ORG_STAFF ( + ID NUMBER NOT NULL, + SCHEME_ID NUMBER NULL, + COMP NUMBER NULL, + DEPT NUMBER NULL, + JOB NUMBER NULL, + STAFF_NUM NUMBER NULL, + CONTROL_POLICY NUMBER NULL, + STAFF_PERMANENT_NUM NUMBER NULL, + FREEZE_NUM NUMBER NULL, + LACK_STATUS NUMBER NULL, + STAFF_DESCRIPTION NVARCHAR2(100) NULL, + INSTRUCTION NVARCHAR2(1000) NULL, + CREATOR NUMBER NULL, + DELETE_TYPE NUMBER NULL, + CREATE_TIME DATE NULL, + UPDATE_TIME DATE NULL, + CONSTRAINT JCL_ORG_STAFF_PK PRIMARY KEY (ID) +); + +-- JCL_ORG_STAFFS +CREATE TABLE JCL_ORG_STAFFS ( + ID NUMBER NOT NULL, + STAFF_ID NUMBER NULL, + BUSINESS_TYPE NUMBER NULL, + BUSINESS_CHANGE_NUM NUMBER NULL, + BUSINESS_SOURCE NUMBER NULL, + REQUESTID NUMBER NULL, + CREATOR NUMBER NULL, + DELETE_TYPE NUMBER NULL, + CREATE_TIME DATE NULL, + UPDATE_TIME DATE NULL, + CONSTRAINT JCL_ORG_STAFFS_PK PRIMARY KEY (ID) +); + + + + + + + + + diff --git a/docs/表结构SQL/SqlServer.sql b/docs/表结构SQL/SqlServer.sql new file mode 100644 index 00000000..8f28508d --- /dev/null +++ b/docs/表结构SQL/SqlServer.sql @@ -0,0 +1,399 @@ +-- JCL_ORG_SCHEME +CREATE TABLE JCL_ORG_SCHEME ( + id int IDENTITY(1,1) NOT NULL, + scheme_no varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + scheme_name varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + scheme_description text COLLATE Chinese_PRC_CI_AS NULL, + forbidden_tag int NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_SCHEME_PK PRIMARY KEY (id) +); +-- JCL_ORG_LEVEL +CREATE TABLE JCL_ORG_LEVEL ( + id int IDENTITY(1,1) NOT NULL, + level_no varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + level_name varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + description text COLLATE Chinese_PRC_CI_AS NULL, + level_scheme int null, + forbidden_tag int NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_LEVEL_PK PRIMARY KEY (id) +); +-- JCL_ORG_GRADE +CREATE TABLE JCL_ORG_GRADE ( + id int IDENTITY(1,1) NOT NULL, + grade_no varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + grade_name varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + description text COLLATE Chinese_PRC_CI_AS NULL, + level_scheme int null, + level_id int null, + forbidden_tag int NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_GRADE_PK PRIMARY KEY (id) +); + +-- JCL_ORG_SEQUENCE +CREATE TABLE JCL_ORG_SEQUENCE ( + id int IDENTITY(1,1) NOT NULL, + sequence_no varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + sequence_name varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + description text COLLATE Chinese_PRC_CI_AS NULL, + level_scheme int null, + forbidden_tag int NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_SEQUENCE_PK PRIMARY KEY (id) +); + +-- JCL_ORG_POST +CREATE TABLE JCL_ORG_POST ( + id int IDENTITY(1,1) NOT NULL, + post_no int null, + post_name varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + description text COLLATE Chinese_PRC_CI_AS NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_POST_PK PRIMARY KEY (id) +); + +-- JCL_ORG_POST_INFO +CREATE TABLE JCL_ORG_POST_INFO ( + id int IDENTITY(1,1) NOT NULL, + post_info_no int null, + post_info_name varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + post_info_authority text null, + post_info_duty text null, + post_info_qualification text null, + post_type int null, + description text COLLATE Chinese_PRC_CI_AS NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_POST_INFO_PK PRIMARY KEY (id) +); + +-- JCL_ORG_COMP +CREATE TABLE JCL_ORG_COMP ( + id int IDENTITY(1,1) NOT NULL, + comp_no varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + comp_name varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + comp_name_short varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + parent_company int null, + org_code varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + industry int null, + comp_principal int null, + description text COLLATE Chinese_PRC_CI_AS NULL, + forbidden_tag int NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_COMP_PK PRIMARY KEY (id) +); + +-- JCL_FIELD_EXTENDGROUP +CREATE TABLE JCL_FIELD_EXTENDGROUP ( + id int IDENTITY(1,1) NOT NULL, + extend_type int null, + group_name varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_FIELD_EXTENDGROUP_PK PRIMARY KEY (id) +); + +-- JCL_FIELD_EXTENDINFO +CREATE TABLE JCL_FIELD_EXTENDINFO ( + id int IDENTITY(1,1) NOT NULL, + extend_type int null, + table_name varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + field_name varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + field_name_desc varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + field_type varchar(1000) COLLATE Chinese_PRC_CI_AS NULL, + control_type int null, + extend_group int null, + isenable int null, + isrequired int null, + list_show int null, + search_show int null, + edit_show int null, + add_show int null, + button_show int null, + show_order int null, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_FIELD_EXTENDINFO_PK PRIMARY KEY (id) +); + +-- JCL_ORG_COMPEXT +CREATE TABLE JCL_ORG_COMPEXT ( + id int IDENTITY(1,1) NOT NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_COMPEXT_PK PRIMARY KEY (id) +); + +-- JCL_ORG_COMPEXT_DT1 +CREATE TABLE JCL_ORG_COMPEXT_DT1 ( + id int IDENTITY(1,1) NOT NULL, + mainid int NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_COMPEXT_DT1_PK PRIMARY KEY (id) +); + +-- JCL_ORG_DEPT +CREATE TABLE JCL_ORG_DEPT ( + id int IDENTITY(1,1) NOT NULL, + dept_no varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + dept_name varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + dept_name_short varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + parent_comp int null, + parent_dept int null, + dept_principal int null, + show_order int null, + description text COLLATE Chinese_PRC_CI_AS NULL, + forbidden_tag int NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_DEPT_PK PRIMARY KEY (id) +); + +-- JCL_FIELD_EXTENDGROUP_DEPT +CREATE TABLE JCL_FIELD_EXTENDGROUP_DEPT ( + id int IDENTITY(1,1) NOT NULL, + extend_type int null, + group_name varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_FIELD_EXTENDGROUP_DEPT_PK PRIMARY KEY (id) +); + +-- JCL_FIELD_EXTENDINFO_DEPT +CREATE TABLE JCL_FIELD_EXTENDINFO_DEPT ( + id int IDENTITY(1,1) NOT NULL, + extend_type int null, + table_name varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + field_name varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + field_name_desc varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + field_type varchar(1000) COLLATE Chinese_PRC_CI_AS NULL, + control_type int null, + extend_group int null, + isenable int null, + isrequired int null, + list_show int null, + search_show int null, + edit_show int null, + add_show int null, + button_show int null, + show_order int null, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_FIELD_EXTENDINFO_DEPT_PK PRIMARY KEY (id) +); + +-- JCL_ORG_DEPTPEXT +CREATE TABLE JCL_ORG_DEPTPEXT ( + id int IDENTITY(1,1) NOT NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_DEPTPEXT_PK PRIMARY KEY (id) +); + +-- JCL_ORG_DEPTEXT_DT1 +CREATE TABLE JCL_ORG_DEPTEXT_DT1 ( + id int IDENTITY(1,1) NOT NULL, + mainid int NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_DEPTEXT_DT1_PK PRIMARY KEY (id) +); + +-- JCL_ORG_JOB +CREATE TABLE JCL_ORG_JOB ( + id int IDENTITY(1,1) NOT NULL, + job_no varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + job_name varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + parent_comp int null, + parent_dept int null, + job_sequence int null, + level_scheme int null, + parent_job int null, + is_key_job int null, + workplace varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + work_description text null, + work_duty text null, + work_authority text null, + forbidden_tag int NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_JOB_PK PRIMARY KEY (id) +); + +-- JCL_ORG_JOBDT +CREATE TABLE JCL_ORG_JOBDT ( + id int IDENTITY(1,1) NOT NULL, + mainid int NULL, + job_rank int null, + job_level int null, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT CL_ORG_DEPTPEXT_PK PRIMARY KEY (id) +); + +-- JCL_FIELD_EXTENDGROUP_JOB +CREATE TABLE JCL_FIELD_EXTENDGROUP_JOB ( + id int IDENTITY(1,1) NOT NULL, + extend_type int null, + group_name varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_FIELD_EXTENDGROUP_JOB_PK PRIMARY KEY (id) +); + +-- JCL_FIELD_EXTENDINFO_JOB +CREATE TABLE JCL_FIELD_EXTENDINFO_JOB ( + id int IDENTITY(1,1) NOT NULL, + extend_type int null, + table_name varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + field_name varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + field_name_desc varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + field_type varchar(1000) COLLATE Chinese_PRC_CI_AS NULL, + control_type int null, + extend_group int null, + isenable int null, + isrequired int null, + list_show int null, + search_show int null, + edit_show int null, + add_show int null, + button_show int null, + show_order int null, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_FIELD_EXTENDINFO_JOB_PK PRIMARY KEY (id) +); + +-- JCL_ORG_JOBPEXT +CREATE TABLE JCL_ORG_JOBPEXT ( + id int IDENTITY(1,1) NOT NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_JOBPEXT_PK PRIMARY KEY (id) +); + +-- JCL_ORG_JOBEXT_DT1 +CREATE TABLE JCL_ORG_JOBEXT_DT1 ( + id int IDENTITY(1,1) NOT NULL, + mainid int NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_JOBEXT_DT1_PK PRIMARY KEY (id) +); + + +-- JCL_ORG_STAFFPLAN +CREATE TABLE JCL_ORG_STAFFPLAN ( + id int IDENTITY(1,1) NOT NULL, + staffplan_no varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + staffplan_name varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + staffplan_year varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + time_start date NULL, + time_end date NULL, + apply_company int NULL, + description text NULL, + status int NULL, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_STAFFPLAN_PK PRIMARY KEY (id) +); + +-- JCL_ORG_STAFF +CREATE TABLE JCL_ORG_STAFF ( + id int IDENTITY(1,1) NOT NULL, + scheme_id int null, + comp int null, + dept int null, + job int null, + staff_num int null, + control_policy int null, + staff_permanent_num int null, + freeze_num int null, + lack_status int null, + staff_description varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + instruction text null, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_STAFF_PK PRIMARY KEY (id) +); + +-- JCL_ORG_STAFFS +CREATE TABLE JCL_ORG_STAFFS ( + id int IDENTITY(1,1) NOT NULL, + staff_id int null, + business_type int null, + business_change_num int null, + business_source int null, + requestid int null, + creator int null, + delete_type int null, + create_time date null, + update_time date null, + CONSTRAINT JCL_ORG_STAFFS_PK PRIMARY KEY (id) +); + + + + + + + + + From 40f358531073dfa82890801b57a8ee726cea4fa1 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Sat, 7 May 2022 10:18:50 +0800 Subject: [PATCH 02/36] =?UTF-8?q?=E8=81=8C=E7=AD=89=E8=81=8C=E7=BA=A7=20?= =?UTF-8?q?=E5=AE=9E=E4=BD=93=E7=B1=BB=20=E6=9F=A5=E8=AF=A2=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../annotation/OrganizationFormulaVar.java | 27 +++ .../annotation/OrganizationTable.java | 69 +++++++ .../annotation/OrganizationTableColumn.java | 34 ++++ .../annotation/OrganizationTableOperate.java | 27 +++ .../organization/annotation/TableTitle.java | 14 ++ .../engine/organization/biz/SchemeBiz.java | 16 ++ .../cmd/scheme/SchemeListCmd.java | 62 ++++++ .../cmd/scheme/SchemeSaveCmd.java | 54 ++++++ .../organization/common/BaseQueryParam.java | 22 +++ .../organization/common/LocalDateRange.java | 36 ++++ .../component/OrganizationWeaTable.java | 116 +++++++++++ .../entity/scheme/bo/SchemeBO.java | 29 +++ .../entity/scheme/dto/SchemeListDTO.java | 45 +++++ .../scheme/param/SchemeSearchParam.java | 62 ++++++ .../entity/scheme/po/SchemePO.java | 70 +++++++ .../entity/scheme/vo/SchemeTableVO.java | 61 ++++++ .../mapper/scheme/SchemeMapper.java | 25 +++ .../mapper/scheme/SchemeMapper.xml | 90 +++++++++ .../organization/service/SchemeService.java | 23 +++ .../service/impl/SchemeServiceImpl.java | 35 ++++ .../organization/util/ResponseResult.java | 180 ++++++++++++++++++ .../util/db/DBOperateAdapter.java | 5 + .../engine/organization/util/db/DBType.java | 42 ++++ .../engine/organization/util/page/Column.java | 23 +++ .../organization/util/page/DataSource.java | 9 + .../organization/util/page/PageInfo.java | 61 ++++++ .../organization/util/page/PageUtil.java | 45 +++++ .../organization/web/SchemeController.java | 68 +++++++ .../organization/wrapper/SchemeWrapper.java | 30 +++ 29 files changed, 1380 insertions(+) create mode 100644 src/com/engine/organization/annotation/OrganizationFormulaVar.java create mode 100644 src/com/engine/organization/annotation/OrganizationTable.java create mode 100644 src/com/engine/organization/annotation/OrganizationTableColumn.java create mode 100644 src/com/engine/organization/annotation/OrganizationTableOperate.java create mode 100644 src/com/engine/organization/annotation/TableTitle.java create mode 100644 src/com/engine/organization/biz/SchemeBiz.java create mode 100644 src/com/engine/organization/cmd/scheme/SchemeListCmd.java create mode 100644 src/com/engine/organization/cmd/scheme/SchemeSaveCmd.java create mode 100644 src/com/engine/organization/common/BaseQueryParam.java create mode 100644 src/com/engine/organization/common/LocalDateRange.java create mode 100644 src/com/engine/organization/component/OrganizationWeaTable.java create mode 100644 src/com/engine/organization/entity/scheme/bo/SchemeBO.java create mode 100644 src/com/engine/organization/entity/scheme/dto/SchemeListDTO.java create mode 100644 src/com/engine/organization/entity/scheme/param/SchemeSearchParam.java create mode 100644 src/com/engine/organization/entity/scheme/po/SchemePO.java create mode 100644 src/com/engine/organization/entity/scheme/vo/SchemeTableVO.java create mode 100644 src/com/engine/organization/mapper/scheme/SchemeMapper.java create mode 100644 src/com/engine/organization/mapper/scheme/SchemeMapper.xml create mode 100644 src/com/engine/organization/service/SchemeService.java create mode 100644 src/com/engine/organization/service/impl/SchemeServiceImpl.java create mode 100644 src/com/engine/organization/util/ResponseResult.java create mode 100644 src/com/engine/organization/util/db/DBOperateAdapter.java create mode 100644 src/com/engine/organization/util/db/DBType.java create mode 100644 src/com/engine/organization/util/page/Column.java create mode 100644 src/com/engine/organization/util/page/DataSource.java create mode 100644 src/com/engine/organization/util/page/PageInfo.java create mode 100644 src/com/engine/organization/util/page/PageUtil.java create mode 100644 src/com/engine/organization/web/SchemeController.java create mode 100644 src/com/engine/organization/wrapper/SchemeWrapper.java diff --git a/src/com/engine/organization/annotation/OrganizationFormulaVar.java b/src/com/engine/organization/annotation/OrganizationFormulaVar.java new file mode 100644 index 00000000..95b4063e --- /dev/null +++ b/src/com/engine/organization/annotation/OrganizationFormulaVar.java @@ -0,0 +1,27 @@ +package com.engine.organization.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * 薪资公式计算器-变量 + *

Copyright: Copyright (c) 2022

+ *

Company: 泛微软件

+ * + * @author qiantao + * @version 1.0 + **/ +@Target({ElementType.FIELD}) +@Retention(RetentionPolicy.RUNTIME) +public @interface OrganizationFormulaVar { + + int labelId(); + + String defaultLabel(); + + String dataType(); + + String fieldId() default ""; +} diff --git a/src/com/engine/organization/annotation/OrganizationTable.java b/src/com/engine/organization/annotation/OrganizationTable.java new file mode 100644 index 00000000..e5f89e50 --- /dev/null +++ b/src/com/engine/organization/annotation/OrganizationTable.java @@ -0,0 +1,69 @@ +package com.engine.organization.annotation; + + +import com.cloudstore.eccom.pc.table.WeaTableType; + +import java.lang.annotation.*; + +/** + * 数据列表 + *

Copyright: Copyright (c) 2022

+ *

Company: 泛微软件

+ * + * @author qiantao + * @version 1.0 + **/ +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface OrganizationTable { + + String pageId() default ""; + + /** + * 数据库字段,以','分割,例如:"id, name, description" + */ + String fields() default ""; + + /** + * 表名 ,例如:"FROM hrsa_tax_agent" + */ + String fromSql() default ""; + + /** + * 条件 + */ + String where() default ""; + + /** + * 分组 + */ + String groupby() default ""; + + + /** + * 排序 + */ + String orderby() default ""; + + /** + * 主键 + */ + String primarykey() default ""; + + /** + * 去重 + */ + boolean distinct() default false; + + /** + * 操作按钮 + */ + OrganizationTableOperate[] operates() default {}; + + /** + * 列表选择框 + */ + WeaTableType tableType() default WeaTableType.NONE; + +} diff --git a/src/com/engine/organization/annotation/OrganizationTableColumn.java b/src/com/engine/organization/annotation/OrganizationTableColumn.java new file mode 100644 index 00000000..ea73ce9d --- /dev/null +++ b/src/com/engine/organization/annotation/OrganizationTableColumn.java @@ -0,0 +1,34 @@ +package com.engine.organization.annotation; + +import java.lang.annotation.*; + +/** + * 数据列表表头 + *

Copyright: Copyright (c) 2022

+ *

Company: 泛微软件

+ * + * @author qiantao + * @version 1.0 + **/ +@Target({ElementType.FIELD}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface OrganizationTableColumn { + + String text() default ""; + + int labelId() default -1; + + String width() default ""; + + String column() default ""; + + boolean display() default true; + + String orderkey() default ""; + + String transmethod() default ""; + + // 额外参数 + String otherPara() default ""; +} diff --git a/src/com/engine/organization/annotation/OrganizationTableOperate.java b/src/com/engine/organization/annotation/OrganizationTableOperate.java new file mode 100644 index 00000000..38a2ea36 --- /dev/null +++ b/src/com/engine/organization/annotation/OrganizationTableOperate.java @@ -0,0 +1,27 @@ +package com.engine.organization.annotation; + +import java.lang.annotation.*; + +/** + * 列表操作按钮 + *

Copyright: Copyright (c) 2022

+ *

Company: 泛微软件

+ * + * @author qiantao + * @version 1.0 + **/ +@Target({ElementType.ANNOTATION_TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface OrganizationTableOperate { + + String text() default ""; + + int labelId() default -1; + + String href() default ""; + + String index() default "0"; + + +} diff --git a/src/com/engine/organization/annotation/TableTitle.java b/src/com/engine/organization/annotation/TableTitle.java new file mode 100644 index 00000000..22893a1a --- /dev/null +++ b/src/com/engine/organization/annotation/TableTitle.java @@ -0,0 +1,14 @@ +package com.engine.organization.annotation; + +import java.lang.annotation.*; + + +@Target({ElementType.FIELD}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface TableTitle { + String title(); + String dataIndex(); + String key(); + boolean display() default true; +} diff --git a/src/com/engine/organization/biz/SchemeBiz.java b/src/com/engine/organization/biz/SchemeBiz.java new file mode 100644 index 00000000..6316c28d --- /dev/null +++ b/src/com/engine/organization/biz/SchemeBiz.java @@ -0,0 +1,16 @@ +package com.engine.organization.biz; + +import com.engine.organization.entity.scheme.param.SchemeSearchParam; +import com.engine.organization.entity.scheme.po.SchemePO; +import com.engine.organization.mapper.scheme.SchemeMapper; +import com.engine.organization.util.page.PageInfo; +import com.engine.organization.util.page.PageUtil; +import org.apache.ibatis.session.SqlSession; +import weaver.conn.mybatis.MyBatisFactory; + +import java.util.List; + +public class SchemeBiz { + + +} diff --git a/src/com/engine/organization/cmd/scheme/SchemeListCmd.java b/src/com/engine/organization/cmd/scheme/SchemeListCmd.java new file mode 100644 index 00000000..0acfd9ce --- /dev/null +++ b/src/com/engine/organization/cmd/scheme/SchemeListCmd.java @@ -0,0 +1,62 @@ +package com.engine.organization.cmd.scheme; + +import com.alibaba.fastjson.JSON; +import com.cloudstore.eccom.result.WeaResultMsg; +import com.engine.common.biz.AbstractCommonCommand; +import com.engine.common.entity.BizLogContext; +import com.engine.core.interceptor.CommandContext; +import com.engine.organization.component.OrganizationWeaTable; +import com.engine.organization.entity.scheme.vo.SchemeTableVO; +import com.engine.organization.util.db.DBType; +import org.apache.commons.lang3.StringUtils; +import weaver.conn.RecordSet; +import weaver.hrm.User; + +import java.util.Map; + +/** + *查询职等职级列表 + */ +public class SchemeListCmd extends AbstractCommonCommand> { + + public SchemeListCmd(Map params, User user) { + this.user = user; + this.params = params; + } + @Override + public BizLogContext getLogContext() { + return null; + } + + @Override + public Map execute(CommandContext commandContext) { + OrganizationWeaTable table = new OrganizationWeaTable<>(user,SchemeTableVO.class); + + String sqlWhere = buildSqlWhere(params); + table.setSqlwhere(sqlWhere); + + WeaResultMsg result = new WeaResultMsg(false); + result.putAll(table.makeDataResult()); + result.success(); + return result.getResultMap(); + } + + /** + * 查询条件 + * @param params + * @return + */ + private String buildSqlWhere(Map params) { + DBType dbType = DBType.get(new RecordSet().getDBType()); + String sqlWhere = " where delete_type ='0' "; + String name = (String) params.get("name"); + if (StringUtils.isNotBlank(name)) { + sqlWhere += " AND scheme_name " + dbType.like(name); + } + String no = (String) params.get("no"); + if (StringUtils.isNotBlank(name)) { + sqlWhere += " AND scheme_no " + dbType.like(no); + } + return sqlWhere; + } +} diff --git a/src/com/engine/organization/cmd/scheme/SchemeSaveCmd.java b/src/com/engine/organization/cmd/scheme/SchemeSaveCmd.java new file mode 100644 index 00000000..362159e5 --- /dev/null +++ b/src/com/engine/organization/cmd/scheme/SchemeSaveCmd.java @@ -0,0 +1,54 @@ +package com.engine.organization.cmd.scheme; + +import com.engine.common.biz.AbstractCommonCommand; +import com.engine.common.entity.BizLogContext; +import com.engine.core.interceptor.CommandContext; +import com.engine.organization.entity.scheme.po.SchemePO; +import com.engine.organization.exception.OrganizationRunTimeException; +import com.engine.organization.mapper.scheme.SchemeMapper; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.ibatis.session.SqlSession; +import weaver.conn.mybatis.MyBatisFactory; +import weaver.general.Util; +import weaver.hrm.User; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class SchemeSaveCmd extends AbstractCommonCommand> { + + public SchemeSaveCmd(Map params, User user) { + this.user = user; + this.params = params; + } + + @Override + public BizLogContext getLogContext() { + return null; + } + + @Override + public Map execute(CommandContext commandContext) { + Map apidatas = new HashMap(16); + SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); + try { + SchemeMapper mapper = sqlSession.getMapper(SchemeMapper.class); + + List list = mapper.listByNo(Util.null2String(this.params.get("scheme_no"))); + if (CollectionUtils.isNotEmpty(list)) { + throw new OrganizationRunTimeException("编号不允许重复"); + } + + SchemePO schemePO = SchemePO.convertToPO(params, (long) user.getUID()); + mapper.insertIgnoreNull(schemePO); + + sqlSession.commit(); + } finally { + sqlSession.close(); + } + return apidatas; + } + + +} diff --git a/src/com/engine/organization/common/BaseQueryParam.java b/src/com/engine/organization/common/BaseQueryParam.java new file mode 100644 index 00000000..3b732e6f --- /dev/null +++ b/src/com/engine/organization/common/BaseQueryParam.java @@ -0,0 +1,22 @@ +package com.engine.organization.common; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author weaver_cl + * @Description: TODO 基础查询参数 + * @Date 2022/3/17 + * @Version V1.0 + **/ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class BaseQueryParam { + //当前页码 + private Integer current = 1; + + //每页数据条数 + private Integer pageSize = 10; +} diff --git a/src/com/engine/organization/common/LocalDateRange.java b/src/com/engine/organization/common/LocalDateRange.java new file mode 100644 index 00000000..670962f2 --- /dev/null +++ b/src/com/engine/organization/common/LocalDateRange.java @@ -0,0 +1,36 @@ +package com.engine.organization.common; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +import java.util.Date; + +/** + * 日期范围 + *

Copyright: Copyright (c) 2022

+ *

Company: 泛微软件

+ * + * @author qiantao + * @version 1.0 + **/ +@Data +@Builder +@Accessors(chain = true) +@NoArgsConstructor +@AllArgsConstructor +public class LocalDateRange { + + //"开始日期 + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date fromDate; + + //结束日期 + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date endDate; + + +} diff --git a/src/com/engine/organization/component/OrganizationWeaTable.java b/src/com/engine/organization/component/OrganizationWeaTable.java new file mode 100644 index 00000000..8bb0121d --- /dev/null +++ b/src/com/engine/organization/component/OrganizationWeaTable.java @@ -0,0 +1,116 @@ +package com.engine.organization.component; + +import com.cloudstore.eccom.constant.WeaBoolAttr; +import com.cloudstore.eccom.pc.table.*; +import com.engine.organization.annotation.OrganizationTable; +import com.engine.organization.annotation.OrganizationTableColumn; +import com.engine.organization.annotation.OrganizationTableOperate; +import org.apache.commons.lang3.StringUtils; +import weaver.general.PageIdConst; +import weaver.hrm.User; +import weaver.systeminfo.SystemEnv; + +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class OrganizationWeaTable extends WeaTable { + + public OrganizationWeaTable(User user, Class clazz) { + + boolean isAnno = clazz.isAnnotationPresent(OrganizationTable.class); + if (isAnno) { + OrganizationTable table = (OrganizationTable) clazz.getAnnotation(OrganizationTable.class); + String pageId = table.pageId(); + super.setPageID(pageId); + String pageUid = pageId + "_" + user.getUID(); + super.setPageUID(pageUid); + String pageSize = PageIdConst.getPageSize(pageId, user.getUID()); + super.setPagesize(pageSize); + String backfields = table.fields(); + super.setBackfields(backfields); + String sql = table.fromSql(); + super.setSqlform(sql); + String where = table.where(); + if (StringUtils.isNotBlank(where)) { + super.setSqlwhere(where); + } + String orderby = table.orderby(); + if (StringUtils.isNotBlank(orderby)) { + super.setSqlorderby(orderby); + } + String groupby = table.groupby(); + if (StringUtils.isNotBlank(groupby)) { + super.setSqlgroupby(groupby); + } + boolean distinct = table.distinct(); + super.setSqlisdistinct(String.valueOf(distinct)); + String primarykey = table.primarykey(); + if (StringUtils.isNotBlank(primarykey)) { + super.setSqlprimarykey(primarykey); + } + OrganizationTableOperate[] operates = table.operates(); + if (operates != null && operates.length > 0) { + List operateList = new ArrayList<>(); + Arrays.stream(operates).forEach(o -> { + String text = o.text(); + int labelId = o.labelId(); + String htmlLabelName = SystemEnv.getHtmlLabelName(labelId, user.getLanguage()); + if (StringUtils.isNotBlank(htmlLabelName)) { + text = htmlLabelName; + } + WeaTableOperate weaTableOperate = new WeaTableOperate(text, o.href(), o.index()); + operateList.add(weaTableOperate); + }); + WeaTableOperates weaTableOperates = new WeaTableOperates(); + weaTableOperates.setOperate(operateList); + super.setOperates(weaTableOperates); + } + + WeaTableType weaTableTypeEnum = table.tableType(); + //设置check是否可用 + if (weaTableTypeEnum == WeaTableType.CHECKBOX) { + super.setTableType(weaTableTypeEnum); +// WeaTableCheckboxpopedom checkboxpopedom = new WeaTableCheckboxpopedom(); +// checkboxpopedom.setShowmethod("true"); +// super.setCheckboxpopedom(checkboxpopedom); + } + + } + + Field[] fields = clazz.getDeclaredFields(); + for (Field f : fields) { + boolean isanno = f.isAnnotationPresent(OrganizationTableColumn.class); + if (isanno) { + OrganizationTableColumn columnAnn = f.getAnnotation(OrganizationTableColumn.class); + String text = columnAnn.text(); + int labelId = columnAnn.labelId(); + String htmlLabelName = SystemEnv.getHtmlLabelName(labelId, user.getLanguage()); + if (StringUtils.isNotBlank(htmlLabelName)) { + text = htmlLabelName; + } + String width = columnAnn.width(); + String column = columnAnn.column(); + String orderkey = columnAnn.orderkey(); + boolean display = columnAnn.display(); + WeaTableColumn weaTableColumn = new WeaTableColumn(width, text, column, orderkey); + String transmethod = columnAnn.transmethod(); + + if (StringUtils.isNotBlank(transmethod)) { + weaTableColumn.setTransmethod(transmethod); + } + String otherPara = columnAnn.otherPara(); + if(StringUtils.isNotBlank(otherPara)) { + weaTableColumn.setOtherpara(otherPara); + } + if (!display) { + weaTableColumn.setDisplay(WeaBoolAttr.FALSE); + } + super.getColumns().add(weaTableColumn); + } + } + + + } +} diff --git a/src/com/engine/organization/entity/scheme/bo/SchemeBO.java b/src/com/engine/organization/entity/scheme/bo/SchemeBO.java new file mode 100644 index 00000000..c5d2c241 --- /dev/null +++ b/src/com/engine/organization/entity/scheme/bo/SchemeBO.java @@ -0,0 +1,29 @@ +package com.engine.organization.entity.scheme.bo; + +import com.engine.organization.entity.scheme.dto.SchemeListDTO; +import com.engine.organization.entity.scheme.po.SchemePO; +import org.apache.commons.collections4.CollectionUtils; + +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +public class SchemeBO { + + public static List convert2ListDTO(Collection schemes) { + if (CollectionUtils.isEmpty(schemes)) { + return Collections.emptyList(); + } + return schemes.stream().map(schemePO -> { + return SchemeListDTO.builder() + .id(schemePO.getId()) + .schemeNo(schemePO.getSchemeNo()) + .schemeName(schemePO.getSchemeName()) + .schemeDescription(schemePO.getSchemeDescription()) + .forbiddenTag(schemePO.getForbiddenTag()) + .build(); + } + ).collect(Collectors.toList()); + } +} diff --git a/src/com/engine/organization/entity/scheme/dto/SchemeListDTO.java b/src/com/engine/organization/entity/scheme/dto/SchemeListDTO.java new file mode 100644 index 00000000..846f1a66 --- /dev/null +++ b/src/com/engine/organization/entity/scheme/dto/SchemeListDTO.java @@ -0,0 +1,45 @@ +package com.engine.organization.entity.scheme.dto; + +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 com.engine.organization.annotation.TableTitle; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@OrganizationTable(pageId = "1594a04a-cced-11ec-a15f-00ffcbed7508", tableType = WeaTableType.CHECKBOX, operates = {@OrganizationTableOperate(text = "编辑", index = "0"), @OrganizationTableOperate(text = "删除", index = "1")}) +public class SchemeListDTO { + + @JsonSerialize(using = ToStringSerializer.class) + @OrganizationTableColumn(column = "id", display = false) + private Long id; + + @OrganizationTableColumn(text = "编号", width = "25%", column = "schemeNo") + @TableTitle(title = "编号",dataIndex = "schemeNo",key = "schemeNo") + private String schemeNo; + + @OrganizationTableColumn(text = "方案名称", width = "25%", column = "schemeName") + @TableTitle(title = "方案名称",dataIndex = "schemeName",key = "schemeName") + private String schemeName; + + //薪资档案引用 + @OrganizationTableColumn(text = "方案说明", width = "25%", column = "schemeDescription") + @TableTitle(title = "方案说明",dataIndex = "schemeDescription",key = "schemeDescription") + private String schemeDescription; + + //默认使用 + @OrganizationTableColumn(text = "禁用标记", width = "25%", column = "forbiddenTag") + @TableTitle(title = "禁用标记",dataIndex = "forbiddenTag",key = "forbiddenTag") + private Integer forbiddenTag; + +} diff --git a/src/com/engine/organization/entity/scheme/param/SchemeSearchParam.java b/src/com/engine/organization/entity/scheme/param/SchemeSearchParam.java new file mode 100644 index 00000000..bc7f5891 --- /dev/null +++ b/src/com/engine/organization/entity/scheme/param/SchemeSearchParam.java @@ -0,0 +1,62 @@ +package com.engine.organization.entity.scheme.param; + +import com.engine.organization.common.BaseQueryParam; +import com.engine.organization.util.db.DBType; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.apache.commons.lang3.StringUtils; +import weaver.conn.RecordSet; + +/** + * 薪资项目查询参数 + *

Copyright: Copyright (c) 2022

+ *

Company: 泛微软件

+ * + * @author qiantao + * @version 1.0 + **/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor + public class SchemeSearchParam extends BaseQueryParam { + + //名称 + private String schemeNo; + + //备注 + private String schemeName; + + private String schemeDescription; + + private Integer forbiddenTag; + + + + public static String makeSqlWhere(SchemeSearchParam searchParam) { + + String sqlWhere = " 1 = 1 "; + + DBType dbType = DBType.get(new RecordSet().getDBType()); + + String schemeNo = searchParam.getSchemeNo(); + if (StringUtils.isNotBlank(schemeNo)) { + sqlWhere += " AND t.scheme_no " + dbType.like(schemeNo); + } + String schemeName = searchParam.getSchemeName(); + if (StringUtils.isNotBlank(schemeName)) { + sqlWhere += " AND t.scheme_name " + dbType.like(schemeName); + } + String schemeDescription = searchParam.getSchemeDescription(); + if (schemeDescription != null) { + sqlWhere += " AND t.scheme_description = " + schemeDescription; + } + Integer forbiddenTag = searchParam.getForbiddenTag(); + if (forbiddenTag != null) { + sqlWhere += " AND t.forbidden_tag = " + forbiddenTag; + } + return sqlWhere; + } +} diff --git a/src/com/engine/organization/entity/scheme/po/SchemePO.java b/src/com/engine/organization/entity/scheme/po/SchemePO.java new file mode 100644 index 00000000..f037f293 --- /dev/null +++ b/src/com/engine/organization/entity/scheme/po/SchemePO.java @@ -0,0 +1,70 @@ +package com.engine.organization.entity.scheme.po; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; +import java.util.Map; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class SchemePO { + /** + *自增主键 + */ + private long id; + /** + *编号 + */ + private String schemeNo; + /** + *方案名称 + */ + private String schemeName; + /** + *方案说明 + */ + private String schemeDescription; + /** + *禁用标记 + */ + private int forbiddenTag; + /** + * + */ + private Long creator; + /** + * + */ + private int deleteType; + /** + * + */ + private Date createTime; + /** + * + */ + private Date updateTime; + + public static SchemePO convertToPO(Map param, Long employeeId) { + if (param == null) { + return null; + } + return SchemePO.builder() + .id(param.get("id") == null ? null : (long) param.get("id")) + .schemeNo(param.get("scheme_no") == null ? null : (String) param.get("scheme_no")) + .schemeName(param.get("scheme_name") == null ? null : (String) param.get("scheme_name")) + .schemeDescription(param.get("scheme_description") == null ? null : (String) param.get("descrscheme_descriptioniption")) + .forbiddenTag(param.get("forbidden_tag") == null ? null : (int) param.get("forbidden_tag")) + .deleteType(0) + .createTime(new Date()) + .updateTime(new Date()) + .creator(employeeId) + .build(); + } + +} diff --git a/src/com/engine/organization/entity/scheme/vo/SchemeTableVO.java b/src/com/engine/organization/entity/scheme/vo/SchemeTableVO.java new file mode 100644 index 00000000..a2e2b0c9 --- /dev/null +++ b/src/com/engine/organization/entity/scheme/vo/SchemeTableVO.java @@ -0,0 +1,61 @@ +package com.engine.organization.entity.scheme.vo; + +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: TODO + * @Date 2022/3/10 + * @Version V1.0 + **/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@OrganizationTable(pageId = "98e9c62f-cd12-11ec-a15f-00ffcbed7508", + fields = "t.id," + + "t.scheme_no," + + "t.scheme_name," + + "t.scheme_description," + + "t.forbidden_tag," + + "t.creator," + + "t.delete_type," + + "t.create_time," + + "t.update_time", + fromSql = "FROM jcl_org_scheme t ", + orderby = "id desc", + primarykey = "id", + operates = { + @OrganizationTableOperate(index = "0", text = "编辑"), + @OrganizationTableOperate(index = "1", text = "复制") + } +) +public class SchemeTableVO { + /** + * 主键 + */ + @OrganizationTableColumn(column = "id", display = false) + private Long id; + + @OrganizationTableColumn(text = "编号", width = "25%", column = "scheme_no") + private String schemeNo; + /** + * 方案名称 + */ + @OrganizationTableColumn(text = "方案名称", width = "25%", column = "scheme_name") + private String schemeName; + + //薪资档案引用 + @OrganizationTableColumn(text = "方案说明", width = "25%", column = "scheme_description") + private String schemeDescription; + + //默认使用 + @OrganizationTableColumn(text = "禁用标记", width = "25%", column = "forbidden_tag") + private Integer forbiddenTag; +} diff --git a/src/com/engine/organization/mapper/scheme/SchemeMapper.java b/src/com/engine/organization/mapper/scheme/SchemeMapper.java new file mode 100644 index 00000000..a031bc98 --- /dev/null +++ b/src/com/engine/organization/mapper/scheme/SchemeMapper.java @@ -0,0 +1,25 @@ +package com.engine.organization.mapper.scheme; + + +import com.engine.organization.entity.scheme.param.SchemeSearchParam; +import com.engine.organization.entity.scheme.po.SchemePO; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @Author weaver_cl + * @Description: TODO + * @Date 2022/3/9 + * @Version V1.0 + **/ +public interface SchemeMapper { + + + @Select("select * from jcl_org_scheme t where scheme_no = #{schemeNo}") + List listByNo(String schemeNo); + + int insertIgnoreNull(SchemePO schemePO); + +} diff --git a/src/com/engine/organization/mapper/scheme/SchemeMapper.xml b/src/com/engine/organization/mapper/scheme/SchemeMapper.xml new file mode 100644 index 00000000..fdf39823 --- /dev/null +++ b/src/com/engine/organization/mapper/scheme/SchemeMapper.xml @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + t + . + id + , t.scheme_no + , t.scheme_name + , t.scheme_description + , t.forbidden_tag + , t.creator + , t.delete_type + , t.create_time + , t.update_time + + + + INSERT INTO jcl_org_scheme + + + creator, + + + delete_type, + + + create_time, + + + update_time, + + + id, + + + scheme_no, + + + scheme_name, + + + scheme_description, + + + forbidden_tag, + + + + + #{creator}, + + + #{deleteType}, + + + #{createTime}, + + + #{id}, + + + #{scheme_no}, + + + #{scheme_name}, + + + #{scheme_description}, + + + #{forbidden_tag}, + + + + \ No newline at end of file diff --git a/src/com/engine/organization/service/SchemeService.java b/src/com/engine/organization/service/SchemeService.java new file mode 100644 index 00000000..7b4daeaa --- /dev/null +++ b/src/com/engine/organization/service/SchemeService.java @@ -0,0 +1,23 @@ +package com.engine.organization.service; + +import com.engine.organization.entity.scheme.param.SchemeSearchParam; +import com.engine.organization.entity.scheme.po.SchemePO; +import com.engine.organization.util.page.PageInfo; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * @Author weaver_cl + * @Description: TODO + * @Date 2022/4/27 + * @Version V1.0 + **/ +public interface SchemeService { + + Map save(Map params); + + Map listPage(Map params); + +} diff --git a/src/com/engine/organization/service/impl/SchemeServiceImpl.java b/src/com/engine/organization/service/impl/SchemeServiceImpl.java new file mode 100644 index 00000000..6b0cb3d4 --- /dev/null +++ b/src/com/engine/organization/service/impl/SchemeServiceImpl.java @@ -0,0 +1,35 @@ +package com.engine.organization.service.impl; + +import com.engine.core.impl.Service; +import com.engine.organization.biz.SchemeBiz; +import com.engine.organization.cmd.scheme.SchemeListCmd; +import com.engine.organization.entity.scheme.param.SchemeSearchParam; +import com.engine.organization.entity.scheme.po.SchemePO; +import com.engine.organization.service.SchemeService; +import com.engine.organization.util.page.PageInfo; +import com.weaverboot.frame.ioc.anno.classAnno.WeaIocService; + +import java.util.List; +import java.util.Map; + +/** + * @Author weaver_cl + * @Description: TODO + * @Date 2022/4/27 + * @Version V1.0 + **/ +@WeaIocService +public class SchemeServiceImpl extends Service implements SchemeService { + + + @Override + public Map save(Map params) { + return commandExecutor.execute(new SchemeListCmd(params, user)); + } + + @Override + public Map listPage(Map params) { + return commandExecutor.execute(new SchemeListCmd(params,user)); + } + +} diff --git a/src/com/engine/organization/util/ResponseResult.java b/src/com/engine/organization/util/ResponseResult.java new file mode 100644 index 00000000..c5fd845e --- /dev/null +++ b/src/com/engine/organization/util/ResponseResult.java @@ -0,0 +1,180 @@ +package com.engine.organization.util; + + +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.serializer.SerializerFeature; +import com.engine.common.service.HrmCommonService; +import com.engine.common.service.impl.HrmCommonServiceImpl; +import com.engine.core.exception.ECException; +import com.engine.organization.exception.OrganizationRunTimeException; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import lombok.extern.slf4j.Slf4j; +import weaver.general.BaseBean; +import weaver.hrm.User; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.function.Consumer; +import java.util.function.Function; +import java.util.function.Supplier; + +@Slf4j +public class ResponseResult { + + private static final long serialVersionUID = 1L; + + private User user; + private boolean permission; + + HrmCommonService hrmCommonService = new HrmCommonServiceImpl(); + + public ResponseResult(User user) { + this.user = user; + } + + private void permission() { + if (permission) { + List roleInfo = hrmCommonService.getRoleInfo(user.getUID()); + roleInfo.stream().map(m -> (Map) m).filter(m -> m.get("roleid") != null && m.get("roleid").toString().equals("28")).findFirst().orElseThrow(() -> new OrganizationRunTimeException("无权限")); + } + } + + /** + * 统一返回方法 + */ + public static String run(Function, Map> f, Map m) { + BaseBean b = new BaseBean(); + try { + b.writeLog(getJsonString(m)); + return Ok(f.apply(m)); + } catch (OrganizationRunTimeException e) { + return Error(e.getMessage()); + } catch (ECException e) { + b.writeLog(e); + Throwable cause = e.getCause(); + return Error(cause.getMessage()); + } catch (Exception e) { + b.writeLog(e); + return Error(e.getMessage()); + } + } + + /** + * 成功返回 + */ + private static String Ok(Map map) { + Map apidatas = new HashMap<>(); + apidatas.put("status", true); + apidatas.put("data", map); + return JSONObject.toJSONString(apidatas, SerializerFeature.DisableCircularReferenceDetect); + } + + /** + * 失败返回 + */ + private static String Error(String message) { + Map apidatas = new HashMap<>(); + apidatas.put("status", false); + apidatas.put("errormsg", message); + return JSONObject.toJSONString(apidatas, SerializerFeature.DisableCircularReferenceDetect); + } + + + /** + * 统一返回方法 + */ + public String run(Function f, T m) { + BaseBean b = new BaseBean(); + try { + permission(); + b.writeLog(getJsonString(m)); + return Ok(f.apply(m)); + } catch (OrganizationRunTimeException e) { + return Error(e.getMessage()); + } catch (ECException e) { + b.writeLog(e); + Throwable cause = e.getCause(); + return Error(cause.getMessage()); + } catch (Exception e) { + b.writeLog(e); + return Error(e.getMessage()); + } + } + + /** + * 统一返回方法(有参无返回) + */ + public String run(Consumer f, T t) { + BaseBean b = new BaseBean(); + try { + permission(); + f.accept(t); + return Ok(); + } catch (OrganizationRunTimeException e) { + return Error(e.getMessage()); + } catch (ECException e) { + b.writeLog(e); + Throwable cause = e.getCause(); + return Error(cause.getMessage()); + } catch (Exception e) { + b.writeLog(e); + return Error(e.getMessage()); + } + } + + + /** + * 统一返回方法(无参有返回) + */ + public String run(Supplier f) { + try { + permission(); + return Ok(f.get()); + } catch (OrganizationRunTimeException e) { + return Error(e.getMessage()); + } catch (ECException e) { + BaseBean b = new BaseBean(); + b.writeLog(e); + Throwable cause = e.getCause(); + return Error(cause.getMessage()); + } catch (Exception e) { + BaseBean b = new BaseBean(); + b.writeLog(e); + return Error(e.getMessage()); + } + } + + /** + * 成功返回 + */ + private String Ok(R r) { + Map apidatas = new HashMap<>(); + apidatas.put("status", true); + apidatas.put("data", r); + return getJsonString(apidatas); +// return JSONObject.toJSONString(apidatas, SerializerFeature.DisableCircularReferenceDetect); + } + + private static String getJsonString(Object apidatas) { + ObjectMapper mapper = new ObjectMapper(); + try { + return mapper.writeValueAsString(apidatas); + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + return ""; + } + + + /** + * 成功返回 + */ + private String Ok() { + Map apidatas = new HashMap<>(); + apidatas.put("status", true); + return JSONObject.toJSONString(apidatas, SerializerFeature.DisableCircularReferenceDetect); + } + +} diff --git a/src/com/engine/organization/util/db/DBOperateAdapter.java b/src/com/engine/organization/util/db/DBOperateAdapter.java new file mode 100644 index 00000000..1307a8d2 --- /dev/null +++ b/src/com/engine/organization/util/db/DBOperateAdapter.java @@ -0,0 +1,5 @@ +package com.engine.organization.util.db; + +public interface DBOperateAdapter { + String like(String some); +} diff --git a/src/com/engine/organization/util/db/DBType.java b/src/com/engine/organization/util/db/DBType.java new file mode 100644 index 00000000..ce55459b --- /dev/null +++ b/src/com/engine/organization/util/db/DBType.java @@ -0,0 +1,42 @@ +package com.engine.organization.util.db; + + +import com.engine.organization.exception.OrganizationRunTimeException; + +public enum DBType implements DBOperateAdapter { + MYSQL("mysql") { + @Override + public String like(String some) { + return "like '%" + some + "%'"; + } + }, + SQLSERVER("sqlserver") { + @Override + public String like(String some) { + return "like '%" + some + "%'"; + } + }, + ORACLE("oracle") { + @Override + public String like(String some) { + return "'%'||" + some + "||'%'"; + } + }; + + private String dbtype; + + DBType(String dbtype) { + this.dbtype = dbtype; + } + + public static DBType get(String dbtype) { + for (DBType t : DBType.values()) { + if (t.dbtype.equalsIgnoreCase(dbtype)) { + return t; + } + } + throw new OrganizationRunTimeException("不支持的数据库类型"); + } + + +} diff --git a/src/com/engine/organization/util/page/Column.java b/src/com/engine/organization/util/page/Column.java new file mode 100644 index 00000000..55a9c583 --- /dev/null +++ b/src/com/engine/organization/util/page/Column.java @@ -0,0 +1,23 @@ +package com.engine.organization.util.page; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class Column { + String title; + String dataIndex; + String key; + boolean display; + + public Column(String title, String dataIndex, String key) { + this.title = title; + this.dataIndex = dataIndex; + this.key = key; + } +} diff --git a/src/com/engine/organization/util/page/DataSource.java b/src/com/engine/organization/util/page/DataSource.java new file mode 100644 index 00000000..423ec238 --- /dev/null +++ b/src/com/engine/organization/util/page/DataSource.java @@ -0,0 +1,9 @@ +package com.engine.organization.util.page; + +import lombok.Data; + +@Data +public class DataSource { + String key; + String title; +} diff --git a/src/com/engine/organization/util/page/PageInfo.java b/src/com/engine/organization/util/page/PageInfo.java new file mode 100644 index 00000000..93e1c5b3 --- /dev/null +++ b/src/com/engine/organization/util/page/PageInfo.java @@ -0,0 +1,61 @@ +package com.engine.organization.util.page; + +import com.engine.organization.annotation.TableTitle; +import lombok.Data; +import lombok.ToString; + +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.List; + +@Data +@ToString +public class PageInfo extends com.github.pagehelper.PageInfo { + Class clazz; + + public void setColumns(List columns) { + this.columns.addAll(columns); + } + + List columns = new ArrayList<>(); + List dataSource = new ArrayList<>(); + + public PageInfo() { + } + + public PageInfo(Class clazz) { + this.clazz = clazz; + this.columns = buildColumns(); + } + + public PageInfo(List list) { + super(list); + } + + public PageInfo(List list, Class clazz) { + super(list); + this.clazz = clazz; + this.columns = buildColumns(); + } + + + public List buildColumns() { + if(clazz==null){ + return this.columns; + } + Field[] fields = clazz.getDeclaredFields(); + for (Field f : fields) { + boolean isanno = f.isAnnotationPresent(TableTitle.class); + if (isanno) { + TableTitle annotation = f.getAnnotation(TableTitle.class); + String title = annotation.title(); + String dataIndex = annotation.dataIndex(); + String key = annotation.key(); + boolean display = annotation.display(); + Column column = Column.builder().title(title).dataIndex(dataIndex).key(key).display(display).build(); + columns.add(column); + } + } + return columns; + } +} diff --git a/src/com/engine/organization/util/page/PageUtil.java b/src/com/engine/organization/util/page/PageUtil.java new file mode 100644 index 00000000..7a858b00 --- /dev/null +++ b/src/com/engine/organization/util/page/PageUtil.java @@ -0,0 +1,45 @@ +package com.engine.organization.util.page; + +import com.github.pagehelper.Page; +import com.github.pagehelper.PageHelper; +import org.apache.commons.collections4.CollectionUtils; + +import java.util.Collections; +import java.util.List; + + +public class PageUtil { + + public static void start(Integer pageNum, Integer pageSize) { + pageNum = pageNum == null || pageNum <= 0 ? 1 : pageNum; + pageSize = pageSize == null || pageSize <= 0 ? 10 : pageSize; + PageHelper.startPage(pageNum, pageSize); + } + + + public static Page buildPage(Integer pageNo, Integer pageSize) { + pageNo = pageNo == null || pageNo <= 0 ? 1 : pageNo; + pageSize = pageSize == null || pageSize <= 0 ? 10 : pageSize; + return new Page(pageNo, pageSize, true); + } + + /** + * 分页 + * + * @param pageNo 页码(从1开始) + * @param pageSize 每页条数 + * @param source 待分页的数据 + * @param 范型制定类 + * @return + */ + public static List subList(int pageNo, int pageSize, List source) { + if (CollectionUtils.isEmpty(source)) { + return Collections.emptyList(); + } + int endIndex = pageNo * pageSize; + int startIndex = (pageNo - 1) * pageSize; + startIndex = startIndex < 0 ? 0 : startIndex; + return source.subList(startIndex > source.size() ? source.size() : startIndex, + endIndex > source.size() ? source.size() : endIndex); + } +} diff --git a/src/com/engine/organization/web/SchemeController.java b/src/com/engine/organization/web/SchemeController.java new file mode 100644 index 00000000..9d32238a --- /dev/null +++ b/src/com/engine/organization/web/SchemeController.java @@ -0,0 +1,68 @@ +package com.engine.organization.web; + +import com.alibaba.fastjson.JSON; +import com.engine.common.util.ParamUtil; +import com.engine.common.util.ServiceUtil; +import com.engine.organization.entity.scheme.dto.SchemeListDTO; +import com.engine.organization.entity.scheme.param.SchemeSearchParam; +import com.engine.organization.service.SchemeService; +import com.engine.organization.service.impl.SchemeServiceImpl; +import com.engine.organization.util.ResponseResult; +import com.engine.organization.util.page.PageInfo; +import com.engine.organization.util.response.ReturnResult; +import com.engine.organization.wrapper.SchemeWrapper; +import io.swagger.v3.oas.annotations.parameters.RequestBody; +import weaver.hrm.HrmUserVarify; +import weaver.hrm.User; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.ws.rs.*; +import javax.ws.rs.core.Context; +import javax.ws.rs.core.MediaType; +import java.util.Map; + +public class SchemeController { + + private SchemeService getSchemeService(User user) { + return ServiceUtil.getService(SchemeServiceImpl.class, user); + } + + public SchemeWrapper getSchemeWrapper(User user) { + return ServiceUtil.getService(SchemeWrapper.class, user); + } + + + /** + * 获取list列表 + * @param request + * @param response + * @param searchCondition + * @return + */ + @GET + @Path("/getTable") + @Produces(MediaType.APPLICATION_JSON) + public String getTable(@Context HttpServletRequest request, @Context HttpServletResponse response, + @QueryParam("searchCondition") String searchCondition) { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + return ResponseResult.run(getSchemeService(user)::listPage, map); + } + + /** + * 添加职等职级信息 + * @param request + * @param response + * @return + */ + @POST + @Path("/save") + @Produces(MediaType.APPLICATION_JSON) + public String saveFrom(@Context HttpServletRequest request, @Context HttpServletResponse response) { + User user = HrmUserVarify.getUser(request, response); + return ResponseResult.run(getSchemeService(user)::save, ParamUtil.request2Map(request)); + + } + +} diff --git a/src/com/engine/organization/wrapper/SchemeWrapper.java b/src/com/engine/organization/wrapper/SchemeWrapper.java new file mode 100644 index 00000000..c4f9f4f0 --- /dev/null +++ b/src/com/engine/organization/wrapper/SchemeWrapper.java @@ -0,0 +1,30 @@ +package com.engine.organization.wrapper; + +import com.engine.common.util.ServiceUtil; +import com.engine.core.impl.Service; +import com.engine.organization.entity.scheme.bo.SchemeBO; +import com.engine.organization.entity.scheme.dto.SchemeListDTO; +import com.engine.organization.entity.scheme.param.SchemeSearchParam; +import com.engine.organization.entity.scheme.po.SchemePO; +import com.engine.organization.service.SchemeService; +import com.engine.organization.service.impl.SchemeServiceImpl; +import com.engine.organization.util.page.PageInfo; +import com.engine.organization.util.response.ReturnResult; +import weaver.hrm.User; + +import java.util.List; + +/** + * @Author weaver_cl + * @Description: TODO + * @Date 2022/4/26 + * @Version V1.0 + **/ +public class SchemeWrapper extends Service { + + private SchemeService getSchemeService(User user) { + return ServiceUtil.getService(SchemeServiceImpl.class,user); + } + + +} From af42fe2e12b441206acb086a570e7d2fc899c111 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Sat, 7 May 2022 10:20:00 +0800 Subject: [PATCH 03/36] =?UTF-8?q?=E8=81=8C=E7=AD=89=E8=81=8C=E7=BA=A7=20?= =?UTF-8?q?=E5=AE=9E=E4=BD=93=E7=B1=BB=20=E6=9F=A5=E8=AF=A2=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/api/organization/web/SchemeController.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 src/com/api/organization/web/SchemeController.java diff --git a/src/com/api/organization/web/SchemeController.java b/src/com/api/organization/web/SchemeController.java new file mode 100644 index 00000000..95f6c02a --- /dev/null +++ b/src/com/api/organization/web/SchemeController.java @@ -0,0 +1,14 @@ +package com.api.organization.web; + +import javax.ws.rs.Path; + +/** + * @Author weaver_cl + * @Description: TODO + * @Date 2022/4/26 + * @Version V1.0 + **/ +@Path("/bs/hrmorganization/scheme") +public class SchemeController extends com.engine.organization.web.SchemeController { + +} From 276247c161617a9949cb8d9903507ffa565c23ca Mon Sep 17 00:00:00 2001 From: dxfeng Date: Sat, 7 May 2022 11:32:48 +0800 Subject: [PATCH 04/36] =?UTF-8?q?=E8=81=8C=E7=AD=89=E8=81=8C=E7=BA=A7=20?= =?UTF-8?q?=E5=AE=9E=E4=BD=93=E7=B1=BB=20=E6=9F=A5=E8=AF=A2=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/organization/biz/SchemeBiz.java | 16 ----- .../cmd/scheme/SchemeListCmd.java | 62 ----------------- .../cmd/scheme/SchemeSaveCmd.java | 54 --------------- .../mapper/scheme/SchemeMapper.java | 2 - .../organization/service/SchemeService.java | 6 -- .../service/impl/SchemeServiceImpl.java | 67 +++++++++++++++++-- .../organization/web/SchemeController.java | 22 ++---- .../organization/wrapper/SchemeWrapper.java | 15 ++--- 8 files changed, 73 insertions(+), 171 deletions(-) delete mode 100644 src/com/engine/organization/biz/SchemeBiz.java delete mode 100644 src/com/engine/organization/cmd/scheme/SchemeListCmd.java delete mode 100644 src/com/engine/organization/cmd/scheme/SchemeSaveCmd.java diff --git a/src/com/engine/organization/biz/SchemeBiz.java b/src/com/engine/organization/biz/SchemeBiz.java deleted file mode 100644 index 6316c28d..00000000 --- a/src/com/engine/organization/biz/SchemeBiz.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.engine.organization.biz; - -import com.engine.organization.entity.scheme.param.SchemeSearchParam; -import com.engine.organization.entity.scheme.po.SchemePO; -import com.engine.organization.mapper.scheme.SchemeMapper; -import com.engine.organization.util.page.PageInfo; -import com.engine.organization.util.page.PageUtil; -import org.apache.ibatis.session.SqlSession; -import weaver.conn.mybatis.MyBatisFactory; - -import java.util.List; - -public class SchemeBiz { - - -} diff --git a/src/com/engine/organization/cmd/scheme/SchemeListCmd.java b/src/com/engine/organization/cmd/scheme/SchemeListCmd.java deleted file mode 100644 index 0acfd9ce..00000000 --- a/src/com/engine/organization/cmd/scheme/SchemeListCmd.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.engine.organization.cmd.scheme; - -import com.alibaba.fastjson.JSON; -import com.cloudstore.eccom.result.WeaResultMsg; -import com.engine.common.biz.AbstractCommonCommand; -import com.engine.common.entity.BizLogContext; -import com.engine.core.interceptor.CommandContext; -import com.engine.organization.component.OrganizationWeaTable; -import com.engine.organization.entity.scheme.vo.SchemeTableVO; -import com.engine.organization.util.db.DBType; -import org.apache.commons.lang3.StringUtils; -import weaver.conn.RecordSet; -import weaver.hrm.User; - -import java.util.Map; - -/** - *查询职等职级列表 - */ -public class SchemeListCmd extends AbstractCommonCommand> { - - public SchemeListCmd(Map params, User user) { - this.user = user; - this.params = params; - } - @Override - public BizLogContext getLogContext() { - return null; - } - - @Override - public Map execute(CommandContext commandContext) { - OrganizationWeaTable table = new OrganizationWeaTable<>(user,SchemeTableVO.class); - - String sqlWhere = buildSqlWhere(params); - table.setSqlwhere(sqlWhere); - - WeaResultMsg result = new WeaResultMsg(false); - result.putAll(table.makeDataResult()); - result.success(); - return result.getResultMap(); - } - - /** - * 查询条件 - * @param params - * @return - */ - private String buildSqlWhere(Map params) { - DBType dbType = DBType.get(new RecordSet().getDBType()); - String sqlWhere = " where delete_type ='0' "; - String name = (String) params.get("name"); - if (StringUtils.isNotBlank(name)) { - sqlWhere += " AND scheme_name " + dbType.like(name); - } - String no = (String) params.get("no"); - if (StringUtils.isNotBlank(name)) { - sqlWhere += " AND scheme_no " + dbType.like(no); - } - return sqlWhere; - } -} diff --git a/src/com/engine/organization/cmd/scheme/SchemeSaveCmd.java b/src/com/engine/organization/cmd/scheme/SchemeSaveCmd.java deleted file mode 100644 index 362159e5..00000000 --- a/src/com/engine/organization/cmd/scheme/SchemeSaveCmd.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.engine.organization.cmd.scheme; - -import com.engine.common.biz.AbstractCommonCommand; -import com.engine.common.entity.BizLogContext; -import com.engine.core.interceptor.CommandContext; -import com.engine.organization.entity.scheme.po.SchemePO; -import com.engine.organization.exception.OrganizationRunTimeException; -import com.engine.organization.mapper.scheme.SchemeMapper; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.ibatis.session.SqlSession; -import weaver.conn.mybatis.MyBatisFactory; -import weaver.general.Util; -import weaver.hrm.User; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -public class SchemeSaveCmd extends AbstractCommonCommand> { - - public SchemeSaveCmd(Map params, User user) { - this.user = user; - this.params = params; - } - - @Override - public BizLogContext getLogContext() { - return null; - } - - @Override - public Map execute(CommandContext commandContext) { - Map apidatas = new HashMap(16); - SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); - try { - SchemeMapper mapper = sqlSession.getMapper(SchemeMapper.class); - - List list = mapper.listByNo(Util.null2String(this.params.get("scheme_no"))); - if (CollectionUtils.isNotEmpty(list)) { - throw new OrganizationRunTimeException("编号不允许重复"); - } - - SchemePO schemePO = SchemePO.convertToPO(params, (long) user.getUID()); - mapper.insertIgnoreNull(schemePO); - - sqlSession.commit(); - } finally { - sqlSession.close(); - } - return apidatas; - } - - -} diff --git a/src/com/engine/organization/mapper/scheme/SchemeMapper.java b/src/com/engine/organization/mapper/scheme/SchemeMapper.java index a031bc98..207d3333 100644 --- a/src/com/engine/organization/mapper/scheme/SchemeMapper.java +++ b/src/com/engine/organization/mapper/scheme/SchemeMapper.java @@ -1,9 +1,7 @@ package com.engine.organization.mapper.scheme; -import com.engine.organization.entity.scheme.param.SchemeSearchParam; import com.engine.organization.entity.scheme.po.SchemePO; -import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import java.util.List; diff --git a/src/com/engine/organization/service/SchemeService.java b/src/com/engine/organization/service/SchemeService.java index 7b4daeaa..53f7f34b 100644 --- a/src/com/engine/organization/service/SchemeService.java +++ b/src/com/engine/organization/service/SchemeService.java @@ -1,11 +1,5 @@ package com.engine.organization.service; -import com.engine.organization.entity.scheme.param.SchemeSearchParam; -import com.engine.organization.entity.scheme.po.SchemePO; -import com.engine.organization.util.page.PageInfo; -import org.apache.ibatis.annotations.Param; - -import java.util.List; import java.util.Map; /** diff --git a/src/com/engine/organization/service/impl/SchemeServiceImpl.java b/src/com/engine/organization/service/impl/SchemeServiceImpl.java index 6b0cb3d4..0bc72bc0 100644 --- a/src/com/engine/organization/service/impl/SchemeServiceImpl.java +++ b/src/com/engine/organization/service/impl/SchemeServiceImpl.java @@ -1,14 +1,23 @@ package com.engine.organization.service.impl; +import com.cloudstore.eccom.result.WeaResultMsg; import com.engine.core.impl.Service; -import com.engine.organization.biz.SchemeBiz; -import com.engine.organization.cmd.scheme.SchemeListCmd; -import com.engine.organization.entity.scheme.param.SchemeSearchParam; +import com.engine.organization.component.OrganizationWeaTable; import com.engine.organization.entity.scheme.po.SchemePO; +import com.engine.organization.entity.scheme.vo.SchemeTableVO; +import com.engine.organization.exception.OrganizationRunTimeException; +import com.engine.organization.mapper.scheme.SchemeMapper; import com.engine.organization.service.SchemeService; -import com.engine.organization.util.page.PageInfo; +import com.engine.organization.util.db.DBType; import com.weaverboot.frame.ioc.anno.classAnno.WeaIocService; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.ibatis.session.SqlSession; +import weaver.conn.RecordSet; +import weaver.conn.mybatis.MyBatisFactory; +import weaver.general.Util; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -24,12 +33,58 @@ public class SchemeServiceImpl extends Service implements SchemeService { @Override public Map save(Map params) { - return commandExecutor.execute(new SchemeListCmd(params, user)); + Map apidatas = new HashMap(16); + SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); + try { + SchemeMapper mapper = sqlSession.getMapper(SchemeMapper.class); + + List list = mapper.listByNo(Util.null2String(params.get("scheme_no"))); + if (CollectionUtils.isNotEmpty(list)) { + throw new OrganizationRunTimeException("编号不允许重复"); + } + + SchemePO schemePO = SchemePO.convertToPO(params, (long) user.getUID()); + mapper.insertIgnoreNull(schemePO); + + sqlSession.commit(); + } finally { + sqlSession.close(); + } + return apidatas; } + @Override public Map listPage(Map params) { - return commandExecutor.execute(new SchemeListCmd(params,user)); + OrganizationWeaTable table = new OrganizationWeaTable<>(user,SchemeTableVO.class); + + String sqlWhere = buildSqlWhere(params); + table.setSqlwhere(sqlWhere); + + WeaResultMsg result = new WeaResultMsg(false); + String tableString = table.getTableString(); + result.putAll(table.makeDataResult()); + result.success(); + return result.getResultMap(); + } + + /** + * 查询条件 + * @param params + * @return + */ + private String buildSqlWhere(Map params) { + DBType dbType = DBType.get(new RecordSet().getDBType()); + String sqlWhere = " where delete_type ='0' "; + String name = (String) params.get("name"); + if (StringUtils.isNotBlank(name)) { + sqlWhere += " AND scheme_name " + dbType.like(name); + } + String no = (String) params.get("no"); + if (StringUtils.isNotBlank(name)) { + sqlWhere += " AND scheme_no " + dbType.like(no); + } + return sqlWhere; } } diff --git a/src/com/engine/organization/web/SchemeController.java b/src/com/engine/organization/web/SchemeController.java index 9d32238a..636585fb 100644 --- a/src/com/engine/organization/web/SchemeController.java +++ b/src/com/engine/organization/web/SchemeController.java @@ -1,17 +1,9 @@ package com.engine.organization.web; -import com.alibaba.fastjson.JSON; import com.engine.common.util.ParamUtil; import com.engine.common.util.ServiceUtil; -import com.engine.organization.entity.scheme.dto.SchemeListDTO; -import com.engine.organization.entity.scheme.param.SchemeSearchParam; -import com.engine.organization.service.SchemeService; -import com.engine.organization.service.impl.SchemeServiceImpl; -import com.engine.organization.util.ResponseResult; -import com.engine.organization.util.page.PageInfo; import com.engine.organization.util.response.ReturnResult; import com.engine.organization.wrapper.SchemeWrapper; -import io.swagger.v3.oas.annotations.parameters.RequestBody; import weaver.hrm.HrmUserVarify; import weaver.hrm.User; @@ -24,10 +16,6 @@ import java.util.Map; public class SchemeController { - private SchemeService getSchemeService(User user) { - return ServiceUtil.getService(SchemeServiceImpl.class, user); - } - public SchemeWrapper getSchemeWrapper(User user) { return ServiceUtil.getService(SchemeWrapper.class, user); } @@ -43,11 +31,11 @@ public class SchemeController { @GET @Path("/getTable") @Produces(MediaType.APPLICATION_JSON) - public String getTable(@Context HttpServletRequest request, @Context HttpServletResponse response, + public ReturnResult getTable(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam("searchCondition") String searchCondition) { User user = HrmUserVarify.getUser(request, response); Map map = ParamUtil.request2Map(request); - return ResponseResult.run(getSchemeService(user)::listPage, map); + return ReturnResult.successed(getSchemeWrapper(user).listPage(map)); } /** @@ -59,10 +47,10 @@ public class SchemeController { @POST @Path("/save") @Produces(MediaType.APPLICATION_JSON) - public String saveFrom(@Context HttpServletRequest request, @Context HttpServletResponse response) { + public ReturnResult saveFrom(@Context HttpServletRequest request, @Context HttpServletResponse response) { User user = HrmUserVarify.getUser(request, response); - return ResponseResult.run(getSchemeService(user)::save, ParamUtil.request2Map(request)); - + Map save = getSchemeWrapper(user).save(ParamUtil.request2Map(request)); + return ReturnResult.successed(save); } } diff --git a/src/com/engine/organization/wrapper/SchemeWrapper.java b/src/com/engine/organization/wrapper/SchemeWrapper.java index c4f9f4f0..9e009768 100644 --- a/src/com/engine/organization/wrapper/SchemeWrapper.java +++ b/src/com/engine/organization/wrapper/SchemeWrapper.java @@ -2,17 +2,11 @@ package com.engine.organization.wrapper; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; -import com.engine.organization.entity.scheme.bo.SchemeBO; -import com.engine.organization.entity.scheme.dto.SchemeListDTO; -import com.engine.organization.entity.scheme.param.SchemeSearchParam; -import com.engine.organization.entity.scheme.po.SchemePO; import com.engine.organization.service.SchemeService; import com.engine.organization.service.impl.SchemeServiceImpl; -import com.engine.organization.util.page.PageInfo; -import com.engine.organization.util.response.ReturnResult; import weaver.hrm.User; -import java.util.List; +import java.util.Map; /** * @Author weaver_cl @@ -26,5 +20,10 @@ public class SchemeWrapper extends Service { return ServiceUtil.getService(SchemeServiceImpl.class,user); } - + public Map listPage(Map params) { + return getSchemeService(user).listPage(params); + } + public Map save(Map params) { + return getSchemeService(user).save(params); + } } From 932105a8a06468f2ff78d11a1d936092b7baf4f2 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Sat, 7 May 2022 14:45:35 +0800 Subject: [PATCH 05/36] =?UTF-8?q?=E7=AD=89=E7=BA=A7=E6=96=B9=E6=A1=88=20?= =?UTF-8?q?=E5=AE=9E=E4=BD=93=E7=B1=BB=20=E6=9F=A5=E8=AF=A2=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scheme/param/SchemeSearchParam.java | 26 ---------- .../entity/scheme/po/SchemePO.java | 4 +- .../entity/scheme/vo/SchemeTableVO.java | 9 ++-- .../mapper/scheme/SchemeMapper.xml | 52 ++++++++++--------- .../service/impl/SchemeServiceImpl.java | 27 ++++------ .../organization/web/SchemeController.java | 28 +++++++--- 6 files changed, 67 insertions(+), 79 deletions(-) diff --git a/src/com/engine/organization/entity/scheme/param/SchemeSearchParam.java b/src/com/engine/organization/entity/scheme/param/SchemeSearchParam.java index bc7f5891..df714afe 100644 --- a/src/com/engine/organization/entity/scheme/param/SchemeSearchParam.java +++ b/src/com/engine/organization/entity/scheme/param/SchemeSearchParam.java @@ -33,30 +33,4 @@ import weaver.conn.RecordSet; private Integer forbiddenTag; - - - public static String makeSqlWhere(SchemeSearchParam searchParam) { - - String sqlWhere = " 1 = 1 "; - - DBType dbType = DBType.get(new RecordSet().getDBType()); - - String schemeNo = searchParam.getSchemeNo(); - if (StringUtils.isNotBlank(schemeNo)) { - sqlWhere += " AND t.scheme_no " + dbType.like(schemeNo); - } - String schemeName = searchParam.getSchemeName(); - if (StringUtils.isNotBlank(schemeName)) { - sqlWhere += " AND t.scheme_name " + dbType.like(schemeName); - } - String schemeDescription = searchParam.getSchemeDescription(); - if (schemeDescription != null) { - sqlWhere += " AND t.scheme_description = " + schemeDescription; - } - Integer forbiddenTag = searchParam.getForbiddenTag(); - if (forbiddenTag != null) { - sqlWhere += " AND t.forbidden_tag = " + forbiddenTag; - } - return sqlWhere; - } } diff --git a/src/com/engine/organization/entity/scheme/po/SchemePO.java b/src/com/engine/organization/entity/scheme/po/SchemePO.java index f037f293..69ff66fd 100644 --- a/src/com/engine/organization/entity/scheme/po/SchemePO.java +++ b/src/com/engine/organization/entity/scheme/po/SchemePO.java @@ -55,11 +55,11 @@ public class SchemePO { return null; } return SchemePO.builder() - .id(param.get("id") == null ? null : (long) param.get("id")) + .id(param.get("id") == null ? 0 : Integer.parseInt((String)param.get("id"))) .schemeNo(param.get("scheme_no") == null ? null : (String) param.get("scheme_no")) .schemeName(param.get("scheme_name") == null ? null : (String) param.get("scheme_name")) .schemeDescription(param.get("scheme_description") == null ? null : (String) param.get("descrscheme_descriptioniption")) - .forbiddenTag(param.get("forbidden_tag") == null ? null : (int) param.get("forbidden_tag")) + .forbiddenTag(param.get("forbidden_tag") == null ? 0 : Integer.parseInt((String)param.get("forbidden_tag"))) .deleteType(0) .createTime(new Date()) .updateTime(new Date()) diff --git a/src/com/engine/organization/entity/scheme/vo/SchemeTableVO.java b/src/com/engine/organization/entity/scheme/vo/SchemeTableVO.java index a2e2b0c9..9220240e 100644 --- a/src/com/engine/organization/entity/scheme/vo/SchemeTableVO.java +++ b/src/com/engine/organization/entity/scheme/vo/SchemeTableVO.java @@ -43,19 +43,20 @@ public class SchemeTableVO { @OrganizationTableColumn(column = "id", display = false) private Long id; - @OrganizationTableColumn(text = "编号", width = "25%", column = "scheme_no") + + @OrganizationTableColumn(text = "编号", width = "25%", column = "schemeNo") private String schemeNo; /** * 方案名称 */ - @OrganizationTableColumn(text = "方案名称", width = "25%", column = "scheme_name") + @OrganizationTableColumn(text = "方案名称", width = "25%", column = "schemeName") private String schemeName; //薪资档案引用 - @OrganizationTableColumn(text = "方案说明", width = "25%", column = "scheme_description") + @OrganizationTableColumn(text = "方案说明", width = "25%", column = "schemeDescription") private String schemeDescription; //默认使用 - @OrganizationTableColumn(text = "禁用标记", width = "25%", column = "forbidden_tag") + @OrganizationTableColumn(text = "禁用标记", width = "25%", column = "forbiddenTag") private Integer forbiddenTag; } diff --git a/src/com/engine/organization/mapper/scheme/SchemeMapper.xml b/src/com/engine/organization/mapper/scheme/SchemeMapper.xml index fdf39823..74ba2dc3 100644 --- a/src/com/engine/organization/mapper/scheme/SchemeMapper.xml +++ b/src/com/engine/organization/mapper/scheme/SchemeMapper.xml @@ -61,30 +61,34 @@ - - #{creator}, - - - #{deleteType}, - - - #{createTime}, - - - #{id}, - - - #{scheme_no}, - - - #{scheme_name}, - - - #{scheme_description}, - - - #{forbidden_tag}, - + + #{creator}, + + + #{deleteType}, + + + #{createTime}, + + + #{updateTime}, + + + #{id}, + + + #{schemeNo}, + + + #{schemeName}, + + + #{schemeDescription}, + + + #{forbiddenTag}, + + \ No newline at end of file diff --git a/src/com/engine/organization/service/impl/SchemeServiceImpl.java b/src/com/engine/organization/service/impl/SchemeServiceImpl.java index 0bc72bc0..bae0e140 100644 --- a/src/com/engine/organization/service/impl/SchemeServiceImpl.java +++ b/src/com/engine/organization/service/impl/SchemeServiceImpl.java @@ -8,7 +8,9 @@ import com.engine.organization.entity.scheme.vo.SchemeTableVO; import com.engine.organization.exception.OrganizationRunTimeException; import com.engine.organization.mapper.scheme.SchemeMapper; import com.engine.organization.service.SchemeService; +import com.engine.organization.util.OrganizationAssert; import com.engine.organization.util.db.DBType; +import com.engine.organization.util.db.MapperProxyFactory; import com.weaverboot.frame.ioc.anno.classAnno.WeaIocService; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -34,29 +36,21 @@ public class SchemeServiceImpl extends Service implements SchemeService { @Override public Map save(Map params) { Map apidatas = new HashMap(16); - SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); - try { - SchemeMapper mapper = sqlSession.getMapper(SchemeMapper.class); - - List list = mapper.listByNo(Util.null2String(params.get("scheme_no"))); - if (CollectionUtils.isNotEmpty(list)) { - throw new OrganizationRunTimeException("编号不允许重复"); - } - - SchemePO schemePO = SchemePO.convertToPO(params, (long) user.getUID()); - mapper.insertIgnoreNull(schemePO); - - sqlSession.commit(); - } finally { - sqlSession.close(); + SchemeMapper mapper = MapperProxyFactory.getProxy(SchemeMapper.class); + List list = mapper.listByNo(Util.null2String(params.get("scheme_no"))); + if (CollectionUtils.isNotEmpty(list)) { + throw new OrganizationRunTimeException("编号不允许重复"); } + OrganizationAssert.notEmpty(list,""); + SchemePO schemePO = SchemePO.convertToPO(params, (long) user.getUID()); + mapper.insertIgnoreNull(schemePO); return apidatas; } @Override public Map listPage(Map params) { - OrganizationWeaTable table = new OrganizationWeaTable<>(user,SchemeTableVO.class); + OrganizationWeaTable table = new OrganizationWeaTable<>(user, SchemeTableVO.class); String sqlWhere = buildSqlWhere(params); table.setSqlwhere(sqlWhere); @@ -70,6 +64,7 @@ public class SchemeServiceImpl extends Service implements SchemeService { /** * 查询条件 + * * @param params * @return */ diff --git a/src/com/engine/organization/web/SchemeController.java b/src/com/engine/organization/web/SchemeController.java index 636585fb..e60499c2 100644 --- a/src/com/engine/organization/web/SchemeController.java +++ b/src/com/engine/organization/web/SchemeController.java @@ -2,8 +2,11 @@ package com.engine.organization.web; import com.engine.common.util.ParamUtil; import com.engine.common.util.ServiceUtil; +import com.engine.organization.entity.scheme.dto.SchemeListDTO; import com.engine.organization.util.response.ReturnResult; import com.engine.organization.wrapper.SchemeWrapper; +import io.swagger.v3.oas.annotations.parameters.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; import weaver.hrm.HrmUserVarify; import weaver.hrm.User; @@ -23,6 +26,7 @@ public class SchemeController { /** * 获取list列表 + * * @param request * @param response * @param searchCondition @@ -32,14 +36,20 @@ public class SchemeController { @Path("/getTable") @Produces(MediaType.APPLICATION_JSON) public ReturnResult getTable(@Context HttpServletRequest request, @Context HttpServletResponse response, - @QueryParam("searchCondition") String searchCondition) { - User user = HrmUserVarify.getUser(request, response); - Map map = ParamUtil.request2Map(request); - return ReturnResult.successed(getSchemeWrapper(user).listPage(map)); + @QueryParam("searchCondition") String searchCondition + ) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + return ReturnResult.successed(getSchemeWrapper(user).listPage(map)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } } /** * 添加职等职级信息 + * * @param request * @param response * @return @@ -48,9 +58,13 @@ public class SchemeController { @Path("/save") @Produces(MediaType.APPLICATION_JSON) public ReturnResult saveFrom(@Context HttpServletRequest request, @Context HttpServletResponse response) { - User user = HrmUserVarify.getUser(request, response); - Map save = getSchemeWrapper(user).save(ParamUtil.request2Map(request)); - return ReturnResult.successed(save); +// try { + User user = HrmUserVarify.getUser(request, response); + Map save = getSchemeWrapper(user).save(ParamUtil.request2Map(request)); + return ReturnResult.successed(save); +// } catch (Exception e) { +// return ReturnResult.exceptionHandle(e.getMessage()); +// } } } From 68795ade062818530adc399c6dd7278d937f1527 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Sat, 7 May 2022 22:03:42 +0800 Subject: [PATCH 06/36] =?UTF-8?q?=E7=AD=89=E7=BA=A7=E6=96=B9=E6=A1=88=20?= =?UTF-8?q?=E5=A2=9E=E5=88=A0=E6=94=B9=E6=9F=A5=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/scheme/bo/SchemeBO.java | 29 ----- .../entity/scheme/dto/SchemeListDTO.java | 45 ------- .../scheme/param/SchemeSearchParam.java | 4 +- .../entity/scheme/po/SchemePO.java | 18 +++ .../entity/scheme/vo/SchemeTableVO.java | 8 +- .../mapper/scheme/SchemeMapper.java | 48 ++++++++ .../mapper/scheme/SchemeMapper.xml | 51 ++++++++ .../organization/service/SchemeService.java | 43 ++++++- .../service/impl/SchemeServiceImpl.java | 71 +++++++---- .../organization/web/SchemeController.java | 111 ++++++++++++++++-- .../organization/wrapper/SchemeWrapper.java | 58 ++++++++- 11 files changed, 367 insertions(+), 119 deletions(-) delete mode 100644 src/com/engine/organization/entity/scheme/bo/SchemeBO.java delete mode 100644 src/com/engine/organization/entity/scheme/dto/SchemeListDTO.java diff --git a/src/com/engine/organization/entity/scheme/bo/SchemeBO.java b/src/com/engine/organization/entity/scheme/bo/SchemeBO.java deleted file mode 100644 index c5d2c241..00000000 --- a/src/com/engine/organization/entity/scheme/bo/SchemeBO.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.engine.organization.entity.scheme.bo; - -import com.engine.organization.entity.scheme.dto.SchemeListDTO; -import com.engine.organization.entity.scheme.po.SchemePO; -import org.apache.commons.collections4.CollectionUtils; - -import java.util.Collection; -import java.util.Collections; -import java.util.List; -import java.util.stream.Collectors; - -public class SchemeBO { - - public static List convert2ListDTO(Collection schemes) { - if (CollectionUtils.isEmpty(schemes)) { - return Collections.emptyList(); - } - return schemes.stream().map(schemePO -> { - return SchemeListDTO.builder() - .id(schemePO.getId()) - .schemeNo(schemePO.getSchemeNo()) - .schemeName(schemePO.getSchemeName()) - .schemeDescription(schemePO.getSchemeDescription()) - .forbiddenTag(schemePO.getForbiddenTag()) - .build(); - } - ).collect(Collectors.toList()); - } -} diff --git a/src/com/engine/organization/entity/scheme/dto/SchemeListDTO.java b/src/com/engine/organization/entity/scheme/dto/SchemeListDTO.java deleted file mode 100644 index 846f1a66..00000000 --- a/src/com/engine/organization/entity/scheme/dto/SchemeListDTO.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.engine.organization.entity.scheme.dto; - -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 com.engine.organization.annotation.TableTitle; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - - -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@OrganizationTable(pageId = "1594a04a-cced-11ec-a15f-00ffcbed7508", tableType = WeaTableType.CHECKBOX, operates = {@OrganizationTableOperate(text = "编辑", index = "0"), @OrganizationTableOperate(text = "删除", index = "1")}) -public class SchemeListDTO { - - @JsonSerialize(using = ToStringSerializer.class) - @OrganizationTableColumn(column = "id", display = false) - private Long id; - - @OrganizationTableColumn(text = "编号", width = "25%", column = "schemeNo") - @TableTitle(title = "编号",dataIndex = "schemeNo",key = "schemeNo") - private String schemeNo; - - @OrganizationTableColumn(text = "方案名称", width = "25%", column = "schemeName") - @TableTitle(title = "方案名称",dataIndex = "schemeName",key = "schemeName") - private String schemeName; - - //薪资档案引用 - @OrganizationTableColumn(text = "方案说明", width = "25%", column = "schemeDescription") - @TableTitle(title = "方案说明",dataIndex = "schemeDescription",key = "schemeDescription") - private String schemeDescription; - - //默认使用 - @OrganizationTableColumn(text = "禁用标记", width = "25%", column = "forbiddenTag") - @TableTitle(title = "禁用标记",dataIndex = "forbiddenTag",key = "forbiddenTag") - private Integer forbiddenTag; - -} diff --git a/src/com/engine/organization/entity/scheme/param/SchemeSearchParam.java b/src/com/engine/organization/entity/scheme/param/SchemeSearchParam.java index df714afe..53652b05 100644 --- a/src/com/engine/organization/entity/scheme/param/SchemeSearchParam.java +++ b/src/com/engine/organization/entity/scheme/param/SchemeSearchParam.java @@ -1,13 +1,10 @@ package com.engine.organization.entity.scheme.param; import com.engine.organization.common.BaseQueryParam; -import com.engine.organization.util.db.DBType; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import org.apache.commons.lang3.StringUtils; -import weaver.conn.RecordSet; /** * 薪资项目查询参数 @@ -23,6 +20,7 @@ import weaver.conn.RecordSet; @AllArgsConstructor public class SchemeSearchParam extends BaseQueryParam { + private Long id; //名称 private String schemeNo; diff --git a/src/com/engine/organization/entity/scheme/po/SchemePO.java b/src/com/engine/organization/entity/scheme/po/SchemePO.java index 69ff66fd..a4eb2d6e 100644 --- a/src/com/engine/organization/entity/scheme/po/SchemePO.java +++ b/src/com/engine/organization/entity/scheme/po/SchemePO.java @@ -1,5 +1,6 @@ package com.engine.organization.entity.scheme.po; +import com.engine.organization.entity.scheme.param.SchemeSearchParam; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -67,4 +68,21 @@ public class SchemePO { .build(); } + public static SchemePO convertParamToPO(SchemeSearchParam param, Long employeeId) { + if (param == null) { + return null; + } + return SchemePO.builder() + .id(param.getId() == null ? 0 : param.getId()) + .schemeNo(param.getSchemeNo() == null ? null : param.getSchemeNo()) + .schemeName(param.getSchemeName() == null ? null : param.getSchemeName()) + .schemeDescription(param.getSchemeDescription() == null ? null : param.getSchemeDescription()) + .forbiddenTag(param.getForbiddenTag() == null ? 0 : param.getForbiddenTag()) + .deleteType(0) + .createTime(new Date()) + .updateTime(new Date()) + .creator(employeeId) + .build(); + } + } diff --git a/src/com/engine/organization/entity/scheme/vo/SchemeTableVO.java b/src/com/engine/organization/entity/scheme/vo/SchemeTableVO.java index 9220240e..fbc77acf 100644 --- a/src/com/engine/organization/entity/scheme/vo/SchemeTableVO.java +++ b/src/com/engine/organization/entity/scheme/vo/SchemeTableVO.java @@ -44,19 +44,19 @@ public class SchemeTableVO { private Long id; - @OrganizationTableColumn(text = "编号", width = "25%", column = "schemeNo") + @OrganizationTableColumn(text = "编号", width = "25%", column = "scheme_no") private String schemeNo; /** * 方案名称 */ - @OrganizationTableColumn(text = "方案名称", width = "25%", column = "schemeName") + @OrganizationTableColumn(text = "方案名称", width = "25%", column = "scheme_name") private String schemeName; //薪资档案引用 - @OrganizationTableColumn(text = "方案说明", width = "25%", column = "schemeDescription") + @OrganizationTableColumn(text = "方案说明", width = "25%", column = "scheme_description") private String schemeDescription; //默认使用 - @OrganizationTableColumn(text = "禁用标记", width = "25%", column = "forbiddenTag") + @OrganizationTableColumn(text = "禁用标记", width = "25%", column = "forbidden_tag") private Integer forbiddenTag; } diff --git a/src/com/engine/organization/mapper/scheme/SchemeMapper.java b/src/com/engine/organization/mapper/scheme/SchemeMapper.java index 207d3333..7d25d9ed 100644 --- a/src/com/engine/organization/mapper/scheme/SchemeMapper.java +++ b/src/com/engine/organization/mapper/scheme/SchemeMapper.java @@ -2,8 +2,10 @@ package com.engine.organization.mapper.scheme; import com.engine.organization.entity.scheme.po.SchemePO; +import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.Collection; import java.util.List; /** @@ -15,9 +17,55 @@ import java.util.List; public interface SchemeMapper { + /** + * 根据ID查询登记方案 + * @param schemeNo + * @return + */ @Select("select * from jcl_org_scheme t where scheme_no = #{schemeNo}") List listByNo(String schemeNo); + /** + * 根据ID查询登记方案列表 + * @param ids + * @return + */ + List listSchemesById(@Param("ids") Collection ids); + + /** + * 新增,忽略null字段 + * @param schemePO + * @return + */ int insertIgnoreNull(SchemePO schemePO); + /** + * 修改,修改所有字段 + * @param schemePO + * @return + */ + int updateScheme(SchemePO schemePO); + + /** + * 更新禁用标记 + * @param schemePO + * @return + */ + int updateForbiddenTagById(SchemePO schemePO); + + + /** + * 删除记录 + * + * @param schemePO 待删除的记录 + * @return 返回影响行数 + */ + int deleteScheme(SchemePO schemePO); + + /** + * 批量删除登记方案 + * + * @param ids + */ + int deleteByIds(@Param("ids") Collection ids); } diff --git a/src/com/engine/organization/mapper/scheme/SchemeMapper.xml b/src/com/engine/organization/mapper/scheme/SchemeMapper.xml index 74ba2dc3..6a66f39d 100644 --- a/src/com/engine/organization/mapper/scheme/SchemeMapper.xml +++ b/src/com/engine/organization/mapper/scheme/SchemeMapper.xml @@ -27,6 +27,17 @@ , t.create_time , t.update_time + + @@ -90,5 +101,45 @@ + + + update jcl_org_scheme + + creator=#{creator}, + delete_type=#{deleteType}, + create_time=#{createTime}, + update_time=#{updateTime}, + scheme_no=#{schemeNo}, + scheme_name=#{schemeName}, + scheme_description=#{schemeDescription}, + forbidden_tag=#{forbiddenTag}, + + WHERE id = #{id} AND delete_type = 0 + + + + update jcl_org_scheme + + forbidden_tag=#{forbiddenTag}, + + WHERE id = #{id} AND delete_type = 0 + + + + UPDATE jcl_org_scheme + SET delete_type=1 + WHERE id = #{id} + AND delete_type = 0 + + + + UPDATE jcl_org_scheme + 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/service/SchemeService.java b/src/com/engine/organization/service/SchemeService.java index 53f7f34b..ab7a2905 100644 --- a/src/com/engine/organization/service/SchemeService.java +++ b/src/com/engine/organization/service/SchemeService.java @@ -1,5 +1,9 @@ package com.engine.organization.service; +import com.engine.organization.entity.scheme.param.SchemeSearchParam; +import org.apache.ibatis.annotations.Param; + +import java.util.Collection; import java.util.Map; /** @@ -10,8 +14,43 @@ import java.util.Map; **/ public interface SchemeService { - Map save(Map params); - + /** + * 等级方案列表 + * @param params + * @return + */ Map listPage(Map params); + /** + * 新增等级方案 + * @param param + * @return + */ + Map save(SchemeSearchParam param); + + /** + * 更新等级方案信息 + * @param param + * @return + */ + Map updateScheme(SchemeSearchParam param); + + /** + * 更新禁用标记 + * @param params + */ + void updateForbiddenTagById(Map params); + /** + * 根据ID批量删除等级方案信息 + * + * @param ids + */ + void deleteByIds(@Param("ids") Collection ids); + + /** + * 根据ID删除当前登记方案数据 + * @param param + */ + void deleteScheme(SchemeSearchParam param); + } diff --git a/src/com/engine/organization/service/impl/SchemeServiceImpl.java b/src/com/engine/organization/service/impl/SchemeServiceImpl.java index bae0e140..2be79253 100644 --- a/src/com/engine/organization/service/impl/SchemeServiceImpl.java +++ b/src/com/engine/organization/service/impl/SchemeServiceImpl.java @@ -3,22 +3,20 @@ package com.engine.organization.service.impl; import com.cloudstore.eccom.result.WeaResultMsg; import com.engine.core.impl.Service; import com.engine.organization.component.OrganizationWeaTable; +import com.engine.organization.entity.scheme.param.SchemeSearchParam; import com.engine.organization.entity.scheme.po.SchemePO; import com.engine.organization.entity.scheme.vo.SchemeTableVO; -import com.engine.organization.exception.OrganizationRunTimeException; import com.engine.organization.mapper.scheme.SchemeMapper; import com.engine.organization.service.SchemeService; import com.engine.organization.util.OrganizationAssert; import com.engine.organization.util.db.DBType; import com.engine.organization.util.db.MapperProxyFactory; import com.weaverboot.frame.ioc.anno.classAnno.WeaIocService; -import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.ibatis.session.SqlSession; import weaver.conn.RecordSet; -import weaver.conn.mybatis.MyBatisFactory; import weaver.general.Util; +import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -32,34 +30,65 @@ import java.util.Map; @WeaIocService public class SchemeServiceImpl extends Service implements SchemeService { + @Override + public Map listPage(Map params) { + OrganizationWeaTable table = new OrganizationWeaTable<>(user, SchemeTableVO.class); + + String sqlWhere = buildSqlWhere(params); + table.setSqlwhere(sqlWhere); + + WeaResultMsg result = new WeaResultMsg(false); + result.putAll(table.makeDataResult()); + result.success(); + return result.getResultMap(); + } @Override - public Map save(Map params) { + public Map save(SchemeSearchParam param) { Map apidatas = new HashMap(16); SchemeMapper mapper = MapperProxyFactory.getProxy(SchemeMapper.class); - List list = mapper.listByNo(Util.null2String(params.get("scheme_no"))); - if (CollectionUtils.isNotEmpty(list)) { - throw new OrganizationRunTimeException("编号不允许重复"); - } - OrganizationAssert.notEmpty(list,""); - SchemePO schemePO = SchemePO.convertToPO(params, (long) user.getUID()); + List list = mapper.listByNo(Util.null2String(param.getSchemeNo())); + OrganizationAssert.isEmpty(list, "编号不允许重复"); + SchemePO schemePO = SchemePO.convertParamToPO(param, (long) user.getUID()); mapper.insertIgnoreNull(schemePO); return apidatas; } + @Override + public Map updateScheme(SchemeSearchParam param) { + Map apidatas = new HashMap(); + SchemeMapper mapper = MapperProxyFactory.getProxy(SchemeMapper.class); + List list = mapper.listByNo(Util.null2String(param.getSchemeNo())); + OrganizationAssert.isEmpty(list, "当前编号已存在"); + SchemePO schemePO = SchemePO.convertParamToPO(param, (long) user.getUID()); + mapper.updateScheme(schemePO); + return apidatas; + } @Override - public Map listPage(Map params) { - OrganizationWeaTable table = new OrganizationWeaTable<>(user, SchemeTableVO.class); + public void updateForbiddenTagById(Map params) { + SchemeMapper mapper = MapperProxyFactory.getProxy(SchemeMapper.class); + int id = Integer.parseInt((String) params.get("id")); + boolean flag = (Boolean) params.get("forbidden_tag"); + SchemePO schemePO = SchemePO.builder().id(id).forbiddenTag(flag ? 1 : 0).build(); + mapper.updateForbiddenTagById(schemePO); + } - String sqlWhere = buildSqlWhere(params); - table.setSqlwhere(sqlWhere); - WeaResultMsg result = new WeaResultMsg(false); - String tableString = table.getTableString(); - result.putAll(table.makeDataResult()); - result.success(); - return result.getResultMap(); + @Override + public void deleteByIds(Collection ids) { + OrganizationAssert.notEmpty(ids, "请选择要删除的数据"); + SchemeMapper mapper = MapperProxyFactory.getProxy(SchemeMapper.class); + List schemePOS = mapper.listSchemesById(ids); + OrganizationAssert.notEmpty(schemePOS, "选择的数据不存在,或数据已删除"); + mapper.deleteByIds(ids); + } + + @Override + public void deleteScheme(SchemeSearchParam param) { + SchemeMapper mapper = MapperProxyFactory.getProxy(SchemeMapper.class); + SchemePO schemePO = SchemePO.convertParamToPO(param, (long) user.getUID()); + mapper.deleteScheme(schemePO); } /** @@ -76,7 +105,7 @@ public class SchemeServiceImpl extends Service implements SchemeService { sqlWhere += " AND scheme_name " + dbType.like(name); } String no = (String) params.get("no"); - if (StringUtils.isNotBlank(name)) { + if (StringUtils.isNotBlank(no)) { sqlWhere += " AND scheme_no " + dbType.like(no); } return sqlWhere; diff --git a/src/com/engine/organization/web/SchemeController.java b/src/com/engine/organization/web/SchemeController.java index e60499c2..66711b36 100644 --- a/src/com/engine/organization/web/SchemeController.java +++ b/src/com/engine/organization/web/SchemeController.java @@ -2,19 +2,22 @@ package com.engine.organization.web; import com.engine.common.util.ParamUtil; import com.engine.common.util.ServiceUtil; -import com.engine.organization.entity.scheme.dto.SchemeListDTO; +import com.engine.organization.entity.scheme.param.SchemeSearchParam; import com.engine.organization.util.response.ReturnResult; import com.engine.organization.wrapper.SchemeWrapper; import io.swagger.v3.oas.annotations.parameters.RequestBody; -import org.springframework.web.bind.annotation.RequestParam; import weaver.hrm.HrmUserVarify; import weaver.hrm.User; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import javax.ws.rs.*; +import javax.ws.rs.GET; +import javax.ws.rs.POST; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; +import java.util.Collection; import java.util.Map; public class SchemeController { @@ -29,14 +32,12 @@ public class SchemeController { * * @param request * @param response - * @param searchCondition * @return */ @GET @Path("/getTable") @Produces(MediaType.APPLICATION_JSON) - public ReturnResult getTable(@Context HttpServletRequest request, @Context HttpServletResponse response, - @QueryParam("searchCondition") String searchCondition + public ReturnResult listScheme(@Context HttpServletRequest request, @Context HttpServletResponse response ) { try { User user = HrmUserVarify.getUser(request, response); @@ -57,14 +58,100 @@ public class SchemeController { @POST @Path("/save") @Produces(MediaType.APPLICATION_JSON) - public ReturnResult saveFrom(@Context HttpServletRequest request, @Context HttpServletResponse response) { -// try { + public ReturnResult saveScheme(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SchemeSearchParam param) { + try { User user = HrmUserVarify.getUser(request, response); - Map save = getSchemeWrapper(user).save(ParamUtil.request2Map(request)); + Map save = getSchemeWrapper(user).save(param); return ReturnResult.successed(save); -// } catch (Exception e) { -// return ReturnResult.exceptionHandle(e.getMessage()); -// } + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + /** + * 修改等级方案,修改所有字段 + * + * @param request + * @param response + * @param param + * @return + */ + @POST + @Path("/updateScheme") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult updateScheme(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SchemeSearchParam param) { + try { + User user = HrmUserVarify.getUser(request, response); + Map update = getSchemeWrapper(user).updateScheme(param); + return ReturnResult.successed(update); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + + /** + * 更新禁用标记 + * + * @param request + * @param response + * @param param + * @return + */ + @POST + @Path("/updateForbiddenTagById") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult updateForbiddenTagById(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Map param) { + try { + User user = HrmUserVarify.getUser(request, response); + getSchemeWrapper(user).updateForbiddenTagById(param); + return ReturnResult.successed(); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + /** + * 删除单条数据 + * + * @param request + * @param response + * @param param + * @return + */ + @POST + @Path("/deleteScheme") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult deleteScheme(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SchemeSearchParam param) { + try { + User user = HrmUserVarify.getUser(request, response); + getSchemeWrapper(user).deleteScheme(param); + return ReturnResult.successed(); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } } + /** + * 根据ID批量删除数据 + * + * @param request + * @param response + * @param ids + * @return + */ + @POST + @Path("/deleteByIds") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult deleteByIds(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Collection ids) { + try { + User user = HrmUserVarify.getUser(request, response); + getSchemeWrapper(user).deleteByIds(ids); + return ReturnResult.successed(); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + } diff --git a/src/com/engine/organization/wrapper/SchemeWrapper.java b/src/com/engine/organization/wrapper/SchemeWrapper.java index 9e009768..a92e681d 100644 --- a/src/com/engine/organization/wrapper/SchemeWrapper.java +++ b/src/com/engine/organization/wrapper/SchemeWrapper.java @@ -2,10 +2,13 @@ package com.engine.organization.wrapper; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; +import com.engine.organization.entity.scheme.param.SchemeSearchParam; import com.engine.organization.service.SchemeService; import com.engine.organization.service.impl.SchemeServiceImpl; +import org.apache.ibatis.annotations.Param; import weaver.hrm.User; +import java.util.Collection; import java.util.Map; /** @@ -17,13 +20,62 @@ import java.util.Map; public class SchemeWrapper extends Service { private SchemeService getSchemeService(User user) { - return ServiceUtil.getService(SchemeServiceImpl.class,user); + return ServiceUtil.getService(SchemeServiceImpl.class, user); } + /** + * 等级方案列表 + * + * @param params + * @return + */ public Map listPage(Map params) { return getSchemeService(user).listPage(params); } - public Map save(Map params) { - return getSchemeService(user).save(params); + + /** + * 新增等级方案 + * + * @param param + * @return + */ + public Map save(SchemeSearchParam param) { + return getSchemeService(user).save(param); + } + + /** + * 更新等级方案信息 + * + * @param param + * @return + */ + public Map updateScheme(SchemeSearchParam param) { + return getSchemeService(user).updateScheme(param); + } + + /** + * 更新禁用标记 + * @param params + */ + public void updateForbiddenTagById(Map params) { + getSchemeService(user).updateForbiddenTagById(params); + } + + /** + * 根据ID批量删除等级方案信息 + * + * @param ids + */ + public void deleteByIds(@Param("ids") Collection ids) { + getSchemeService(user).deleteByIds(ids); + } + + /** + * 根据ID删除当前登记方案数据 + * + * @param param + */ + public void deleteScheme(SchemeSearchParam param) { + getSchemeService(user).deleteScheme(param); } } From 50fe97e4b78f7f13d7dc5f60651026397bf524fb Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Mon, 9 May 2022 09:26:50 +0800 Subject: [PATCH 07/36] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/entity/scheme/vo/SchemeTableVO.java | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/com/engine/organization/entity/scheme/vo/SchemeTableVO.java b/src/com/engine/organization/entity/scheme/vo/SchemeTableVO.java index fbc77acf..b5efb4b0 100644 --- a/src/com/engine/organization/entity/scheme/vo/SchemeTableVO.java +++ b/src/com/engine/organization/entity/scheme/vo/SchemeTableVO.java @@ -8,12 +8,7 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -/** - * @Author weaver_cl - * @Description: TODO - * @Date 2022/3/10 - * @Version V1.0 - **/ + @Data @Builder @NoArgsConstructor @@ -33,7 +28,7 @@ import lombok.NoArgsConstructor; primarykey = "id", operates = { @OrganizationTableOperate(index = "0", text = "编辑"), - @OrganizationTableOperate(index = "1", text = "复制") + @OrganizationTableOperate(index = "1", text = "删除") } ) public class SchemeTableVO { From 2f282aa5c444efdd1e454aebf2fa2256a48a05e3 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Mon, 9 May 2022 14:40:18 +0800 Subject: [PATCH 08/36] =?UTF-8?q?=E7=AD=89=E7=BA=A7=E6=96=B9=E6=A1=88=20?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../annotation/OrganizationFormulaVar.java | 27 --- .../organization/common/BaseQueryParam.java | 22 -- .../organization/common/LocalDateRange.java | 36 --- .../organization/entity/QueryParam.java | 36 +++ .../entity/scheme/dto/SchemeDTO.java | 94 ++++++++ .../scheme/param/SchemeSearchParam.java | 29 ++- .../entity/scheme/po/SchemePO.java | 36 --- .../mapper/scheme/SchemeMapper.java | 33 +-- .../mapper/scheme/SchemeMapper.xml | 9 +- .../organization/service/SchemeService.java | 31 ++- .../service/impl/SchemeServiceImpl.java | 72 ++++-- .../util/OrganizationFormItemUtil.java | 221 ++++++++++++++++++ .../organization/web/SchemeController.java | 51 ++-- .../organization/wrapper/SchemeWrapper.java | 21 +- 14 files changed, 510 insertions(+), 208 deletions(-) delete mode 100644 src/com/engine/organization/annotation/OrganizationFormulaVar.java delete mode 100644 src/com/engine/organization/common/BaseQueryParam.java delete mode 100644 src/com/engine/organization/common/LocalDateRange.java create mode 100644 src/com/engine/organization/entity/QueryParam.java create mode 100644 src/com/engine/organization/entity/scheme/dto/SchemeDTO.java create mode 100644 src/com/engine/organization/util/OrganizationFormItemUtil.java diff --git a/src/com/engine/organization/annotation/OrganizationFormulaVar.java b/src/com/engine/organization/annotation/OrganizationFormulaVar.java deleted file mode 100644 index 95b4063e..00000000 --- a/src/com/engine/organization/annotation/OrganizationFormulaVar.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.engine.organization.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * 薪资公式计算器-变量 - *

Copyright: Copyright (c) 2022

- *

Company: 泛微软件

- * - * @author qiantao - * @version 1.0 - **/ -@Target({ElementType.FIELD}) -@Retention(RetentionPolicy.RUNTIME) -public @interface OrganizationFormulaVar { - - int labelId(); - - String defaultLabel(); - - String dataType(); - - String fieldId() default ""; -} diff --git a/src/com/engine/organization/common/BaseQueryParam.java b/src/com/engine/organization/common/BaseQueryParam.java deleted file mode 100644 index 3b732e6f..00000000 --- a/src/com/engine/organization/common/BaseQueryParam.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.engine.organization.common; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @Author weaver_cl - * @Description: TODO 基础查询参数 - * @Date 2022/3/17 - * @Version V1.0 - **/ -@Data -@NoArgsConstructor -@AllArgsConstructor -public class BaseQueryParam { - //当前页码 - private Integer current = 1; - - //每页数据条数 - private Integer pageSize = 10; -} diff --git a/src/com/engine/organization/common/LocalDateRange.java b/src/com/engine/organization/common/LocalDateRange.java deleted file mode 100644 index 670962f2..00000000 --- a/src/com/engine/organization/common/LocalDateRange.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.engine.organization.common; - -import com.fasterxml.jackson.annotation.JsonFormat; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -import java.util.Date; - -/** - * 日期范围 - *

Copyright: Copyright (c) 2022

- *

Company: 泛微软件

- * - * @author qiantao - * @version 1.0 - **/ -@Data -@Builder -@Accessors(chain = true) -@NoArgsConstructor -@AllArgsConstructor -public class LocalDateRange { - - //"开始日期 - @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") - private Date fromDate; - - //结束日期 - @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") - private Date endDate; - - -} diff --git a/src/com/engine/organization/entity/QueryParam.java b/src/com/engine/organization/entity/QueryParam.java new file mode 100644 index 00000000..31b6c31d --- /dev/null +++ b/src/com/engine/organization/entity/QueryParam.java @@ -0,0 +1,36 @@ +package com.engine.organization.entity; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import weaver.general.StringUtil; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @Author dxfeng + * @Description: TODO + * @Date 2022/5/9 + * @Version V1.0 + **/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class QueryParam { + private String ids; + + public Collection getIds() { + if(StringUtil.isEmpty(ids)){ + return new ArrayList<>(); + } + List collect = Arrays.stream(ids.split(",")).map(item -> Long.parseLong(item)).collect(Collectors.toList()); + return collect; + } + +} diff --git a/src/com/engine/organization/entity/scheme/dto/SchemeDTO.java b/src/com/engine/organization/entity/scheme/dto/SchemeDTO.java new file mode 100644 index 00000000..7792bdc8 --- /dev/null +++ b/src/com/engine/organization/entity/scheme/dto/SchemeDTO.java @@ -0,0 +1,94 @@ +package com.engine.organization.entity.scheme.dto; + +import com.engine.organization.entity.scheme.param.SchemeSearchParam; +import com.engine.organization.entity.scheme.po.SchemePO; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; +import java.util.Map; +/** + * @Author dxfeng + * @Description: TODO + * @Date 2022/5/9 + * @Version V1.0 + **/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class SchemeDTO { + /** + * 自增主键 + */ + private long id; + /** + * 编号 + */ + private String schemeNo; + /** + * 方案名称 + */ + private String schemeName; + /** + * 方案说明 + */ + private String schemeDescription; + /** + * 禁用标记 + */ + private int forbiddenTag; + /** + * + */ + private Long creator; + /** + * + */ + private int deleteType; + /** + * + */ + private Date createTime; + /** + * + */ + private Date updateTime; + + public static SchemePO convertToPO(Map param, Long employeeId) { + if (param == null) { + return null; + } + return SchemePO.builder() + .id(param.get("id") == null ? 0 : Integer.parseInt((String) param.get("id"))) + .schemeNo(param.get("scheme_no") == null ? null : (String) param.get("scheme_no")) + .schemeName(param.get("scheme_name") == null ? null : (String) param.get("scheme_name")) + .schemeDescription(param.get("scheme_description") == null ? null : (String) param.get("descrscheme_descriptioniption")) + .forbiddenTag(param.get("forbidden_tag") == null ? 0 : Integer.parseInt((String) param.get("forbidden_tag"))) + .deleteType(0) + .createTime(new Date()) + .updateTime(new Date()) + .creator(employeeId) + .build(); + } + + public static SchemePO convertParamToPO(SchemeSearchParam param, Long employeeId) { + if (param == null) { + return null; + } + return SchemePO.builder() + .id(param.getId() == null ? 0 : param.getId()) + .schemeNo(param.getSchemeNo() == null ? null : param.getSchemeNo()) + .schemeName(param.getSchemeName() == null ? null : param.getSchemeName()) + .schemeDescription(param.getSchemeDescription() == null ? null : param.getSchemeDescription()) + .forbiddenTag(param.getForbiddenTag() == null ? 0 : param.getForbiddenTag() ? 1 : 0) + .deleteType(0) + .createTime(new Date()) + .updateTime(new Date()) + .creator(employeeId) + .build(); + } + +} diff --git a/src/com/engine/organization/entity/scheme/param/SchemeSearchParam.java b/src/com/engine/organization/entity/scheme/param/SchemeSearchParam.java index 53652b05..18a3112a 100644 --- a/src/com/engine/organization/entity/scheme/param/SchemeSearchParam.java +++ b/src/com/engine/organization/entity/scheme/param/SchemeSearchParam.java @@ -1,34 +1,41 @@ package com.engine.organization.entity.scheme.param; -import com.engine.organization.common.BaseQueryParam; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; /** - * 薪资项目查询参数 - *

Copyright: Copyright (c) 2022

- *

Company: 泛微软件

- * - * @author qiantao - * @version 1.0 + * @Author dxfeng + * @Description: TODO + * @Date 2022/5/9 + * @Version V1.0 **/ @Data @Builder @NoArgsConstructor @AllArgsConstructor - public class SchemeSearchParam extends BaseQueryParam { +public class SchemeSearchParam { private Long id; - //名称 + /** + * 编号 + */ private String schemeNo; - //备注 + /** + * 名称 + */ private String schemeName; + /** + * 方案说明 + */ private String schemeDescription; - private Integer forbiddenTag; + /** + * 禁用标记 + */ + private Boolean forbiddenTag; } diff --git a/src/com/engine/organization/entity/scheme/po/SchemePO.java b/src/com/engine/organization/entity/scheme/po/SchemePO.java index a4eb2d6e..9561eeef 100644 --- a/src/com/engine/organization/entity/scheme/po/SchemePO.java +++ b/src/com/engine/organization/entity/scheme/po/SchemePO.java @@ -1,13 +1,11 @@ package com.engine.organization.entity.scheme.po; -import com.engine.organization.entity.scheme.param.SchemeSearchParam; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.util.Date; -import java.util.Map; @Data @Builder @@ -51,38 +49,4 @@ public class SchemePO { */ private Date updateTime; - public static SchemePO convertToPO(Map param, Long employeeId) { - if (param == null) { - return null; - } - return SchemePO.builder() - .id(param.get("id") == null ? 0 : Integer.parseInt((String)param.get("id"))) - .schemeNo(param.get("scheme_no") == null ? null : (String) param.get("scheme_no")) - .schemeName(param.get("scheme_name") == null ? null : (String) param.get("scheme_name")) - .schemeDescription(param.get("scheme_description") == null ? null : (String) param.get("descrscheme_descriptioniption")) - .forbiddenTag(param.get("forbidden_tag") == null ? 0 : Integer.parseInt((String)param.get("forbidden_tag"))) - .deleteType(0) - .createTime(new Date()) - .updateTime(new Date()) - .creator(employeeId) - .build(); - } - - public static SchemePO convertParamToPO(SchemeSearchParam param, Long employeeId) { - if (param == null) { - return null; - } - return SchemePO.builder() - .id(param.getId() == null ? 0 : param.getId()) - .schemeNo(param.getSchemeNo() == null ? null : param.getSchemeNo()) - .schemeName(param.getSchemeName() == null ? null : param.getSchemeName()) - .schemeDescription(param.getSchemeDescription() == null ? null : param.getSchemeDescription()) - .forbiddenTag(param.getForbiddenTag() == null ? 0 : param.getForbiddenTag()) - .deleteType(0) - .createTime(new Date()) - .updateTime(new Date()) - .creator(employeeId) - .build(); - } - } diff --git a/src/com/engine/organization/mapper/scheme/SchemeMapper.java b/src/com/engine/organization/mapper/scheme/SchemeMapper.java index 7d25d9ed..2e75cbcf 100644 --- a/src/com/engine/organization/mapper/scheme/SchemeMapper.java +++ b/src/com/engine/organization/mapper/scheme/SchemeMapper.java @@ -9,31 +9,43 @@ import java.util.Collection; import java.util.List; /** - * @Author weaver_cl + * @Author dxfeng * @Description: TODO - * @Date 2022/3/9 + * @Date 2022/5/9 * @Version V1.0 **/ public interface SchemeMapper { /** - * 根据ID查询登记方案 + * 根据No查询登记方案 + * * @param schemeNo * @return */ - @Select("select * from jcl_org_scheme t where scheme_no = #{schemeNo}") + @Select("select * from jcl_org_scheme t where scheme_no = #{schemeNo} AND delete_type = 0") List listByNo(String schemeNo); + /** + * 根据ID查询登记方案 + * + * @param id + * @return + */ + @Select("select * from jcl_org_scheme t where id = #{id} AND delete_type = 0") + SchemePO getSchemeByID(@Param("id") long id); + /** * 根据ID查询登记方案列表 + * * @param ids * @return */ - List listSchemesById(@Param("ids") Collection ids); + List listSchemesByIds(@Param("ids") Collection ids); /** * 新增,忽略null字段 + * * @param schemePO * @return */ @@ -41,6 +53,7 @@ public interface SchemeMapper { /** * 修改,修改所有字段 + * * @param schemePO * @return */ @@ -48,20 +61,12 @@ public interface SchemeMapper { /** * 更新禁用标记 + * * @param schemePO * @return */ int updateForbiddenTagById(SchemePO schemePO); - - /** - * 删除记录 - * - * @param schemePO 待删除的记录 - * @return 返回影响行数 - */ - int deleteScheme(SchemePO schemePO); - /** * 批量删除登记方案 * diff --git a/src/com/engine/organization/mapper/scheme/SchemeMapper.xml b/src/com/engine/organization/mapper/scheme/SchemeMapper.xml index 6a66f39d..4382a663 100644 --- a/src/com/engine/organization/mapper/scheme/SchemeMapper.xml +++ b/src/com/engine/organization/mapper/scheme/SchemeMapper.xml @@ -28,7 +28,7 @@ , t.update_time - select from jcl_org_scheme t @@ -125,13 +125,6 @@ WHERE id = #{id} AND delete_type = 0 - - UPDATE jcl_org_scheme - SET delete_type=1 - WHERE id = #{id} - AND delete_type = 0 - - UPDATE jcl_org_scheme SET delete_type = 1 diff --git a/src/com/engine/organization/service/SchemeService.java b/src/com/engine/organization/service/SchemeService.java index ab7a2905..62d8ad7e 100644 --- a/src/com/engine/organization/service/SchemeService.java +++ b/src/com/engine/organization/service/SchemeService.java @@ -1,21 +1,21 @@ package com.engine.organization.service; import com.engine.organization.entity.scheme.param.SchemeSearchParam; -import org.apache.ibatis.annotations.Param; import java.util.Collection; import java.util.Map; /** - * @Author weaver_cl + * @Author dxfeng * @Description: TODO - * @Date 2022/4/27 + * @Date 2022/5/9 * @Version V1.0 **/ public interface SchemeService { /** * 等级方案列表 + * * @param params * @return */ @@ -23,6 +23,7 @@ public interface SchemeService { /** * 新增等级方案 + * * @param param * @return */ @@ -30,6 +31,7 @@ public interface SchemeService { /** * 更新等级方案信息 + * * @param param * @return */ @@ -37,20 +39,33 @@ public interface SchemeService { /** * 更新禁用标记 + * * @param params */ - void updateForbiddenTagById(Map params); + void updateForbiddenTagById(SchemeSearchParam params); + /** * 根据ID批量删除等级方案信息 * * @param ids */ - void deleteByIds(@Param("ids") Collection ids); + void deleteByIds(Collection ids); /** - * 根据ID删除当前登记方案数据 - * @param param + * 获取搜索条件 + * + * @param params + * @return + */ + Map getSearchCondition(Map params); + + + /** + * 获取搜索条件 + * + * @param params + * @return */ - void deleteScheme(SchemeSearchParam param); + Map getSchemeForm(Map params); } diff --git a/src/com/engine/organization/service/impl/SchemeServiceImpl.java b/src/com/engine/organization/service/impl/SchemeServiceImpl.java index 2be79253..f865063e 100644 --- a/src/com/engine/organization/service/impl/SchemeServiceImpl.java +++ b/src/com/engine/organization/service/impl/SchemeServiceImpl.java @@ -1,33 +1,36 @@ package com.engine.organization.service.impl; +import com.api.browser.bean.SearchConditionGroup; +import com.api.browser.bean.SearchConditionItem; import com.cloudstore.eccom.result.WeaResultMsg; import com.engine.core.impl.Service; import com.engine.organization.component.OrganizationWeaTable; +import com.engine.organization.entity.scheme.dto.SchemeDTO; import com.engine.organization.entity.scheme.param.SchemeSearchParam; import com.engine.organization.entity.scheme.po.SchemePO; import com.engine.organization.entity.scheme.vo.SchemeTableVO; import com.engine.organization.mapper.scheme.SchemeMapper; import com.engine.organization.service.SchemeService; import com.engine.organization.util.OrganizationAssert; +import com.engine.organization.util.OrganizationFormItemUtil; import com.engine.organization.util.db.DBType; import com.engine.organization.util.db.MapperProxyFactory; import com.weaverboot.frame.ioc.anno.classAnno.WeaIocService; import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; +import weaver.general.StringUtil; import weaver.general.Util; -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** - * @Author weaver_cl + * @Author dxfeng * @Description: TODO - * @Date 2022/4/27 + * @Date 2022/5/9 * @Version V1.0 **/ @WeaIocService + public class SchemeServiceImpl extends Service implements SchemeService { @Override @@ -49,7 +52,7 @@ public class SchemeServiceImpl extends Service implements SchemeService { SchemeMapper mapper = MapperProxyFactory.getProxy(SchemeMapper.class); List list = mapper.listByNo(Util.null2String(param.getSchemeNo())); OrganizationAssert.isEmpty(list, "编号不允许重复"); - SchemePO schemePO = SchemePO.convertParamToPO(param, (long) user.getUID()); + SchemePO schemePO = SchemeDTO.convertParamToPO(param, (long) user.getUID()); mapper.insertIgnoreNull(schemePO); return apidatas; } @@ -60,17 +63,15 @@ public class SchemeServiceImpl extends Service implements SchemeService { SchemeMapper mapper = MapperProxyFactory.getProxy(SchemeMapper.class); List list = mapper.listByNo(Util.null2String(param.getSchemeNo())); OrganizationAssert.isEmpty(list, "当前编号已存在"); - SchemePO schemePO = SchemePO.convertParamToPO(param, (long) user.getUID()); + SchemePO schemePO = SchemeDTO.convertParamToPO(param, (long) user.getUID()); mapper.updateScheme(schemePO); return apidatas; } @Override - public void updateForbiddenTagById(Map params) { + public void updateForbiddenTagById(SchemeSearchParam params) { SchemeMapper mapper = MapperProxyFactory.getProxy(SchemeMapper.class); - int id = Integer.parseInt((String) params.get("id")); - boolean flag = (Boolean) params.get("forbidden_tag"); - SchemePO schemePO = SchemePO.builder().id(id).forbiddenTag(flag ? 1 : 0).build(); + SchemePO schemePO = SchemePO.builder().id(params.getId()).forbiddenTag(params.getForbiddenTag() ? 1 : 0).build(); mapper.updateForbiddenTagById(schemePO); } @@ -79,16 +80,53 @@ public class SchemeServiceImpl extends Service implements SchemeService { public void deleteByIds(Collection ids) { OrganizationAssert.notEmpty(ids, "请选择要删除的数据"); SchemeMapper mapper = MapperProxyFactory.getProxy(SchemeMapper.class); - List schemePOS = mapper.listSchemesById(ids); + List schemePOS = mapper.listSchemesByIds(ids); OrganizationAssert.notEmpty(schemePOS, "选择的数据不存在,或数据已删除"); mapper.deleteByIds(ids); } + @Override - public void deleteScheme(SchemeSearchParam param) { - SchemeMapper mapper = MapperProxyFactory.getProxy(SchemeMapper.class); - SchemePO schemePO = SchemePO.convertParamToPO(param, (long) user.getUID()); - mapper.deleteScheme(schemePO); + public Map getSearchCondition(Map params) { + Map apiDatas = new HashMap<>(); + List addGroups = new ArrayList<>(); + List conditionItems = new ArrayList<>(); + SearchConditionItem schemeNameCondition = OrganizationFormItemUtil.inputItem(user, "", 2, 16, 3, 50, "方案名称", "schemeName"); + SearchConditionItem schemeNoCondition = OrganizationFormItemUtil.inputItem(user, "", 2, 16, 3, 50, "方案编号", "schemeNo"); + conditionItems.add(schemeNameCondition); + conditionItems.add(schemeNoCondition); + addGroups.add(new SearchConditionGroup("高级搜索条件", true, conditionItems)); + apiDatas.put("conditions", addGroups); + return apiDatas; + } + + + @Override + public Map getSchemeForm(Map params) { + Map apiDatas = new HashMap<>(); + List selectItems = new ArrayList<>(); + List addGroups = new ArrayList<>(); + SearchConditionItem schemeNameCondition = OrganizationFormItemUtil.inputItem(user, "required", 2, 16, 3, 50, "方案名称", "schemeName"); + SearchConditionItem schemeNoCondition = OrganizationFormItemUtil.inputItem(user, "required", 2, 16, 3, 50, "方案编号", "schemeNo"); + SearchConditionItem textareaItem = OrganizationFormItemUtil.textareaItem(user, 2, 16, true, 2, 60, "方案说明", "schemeDescription"); + + // 编辑状态下赋值操作 + String id = Util.null2String(params.get("locationid")); + if (!StringUtil.isEmpty(id)) { + SchemeMapper mapper = MapperProxyFactory.getProxy(SchemeMapper.class); + SchemePO schemePO = mapper.getSchemeByID(Integer.parseInt(id)); + OrganizationAssert.notNull(schemePO, "选择的数据不存在,或数据已删除"); + schemeNameCondition.setValue(schemePO.getSchemeName()); + schemeNoCondition.setValue(schemePO.getSchemeNo()); + textareaItem.setValue(schemePO.getSchemeDescription()); + } + + selectItems.add(schemeNameCondition); + selectItems.add(schemeNoCondition); + selectItems.add(textareaItem); + addGroups.add(new SearchConditionGroup("基本信息", true, selectItems)); + apiDatas.put("condition", addGroups); + return apiDatas; } /** diff --git a/src/com/engine/organization/util/OrganizationFormItemUtil.java b/src/com/engine/organization/util/OrganizationFormItemUtil.java new file mode 100644 index 00000000..2e420df5 --- /dev/null +++ b/src/com/engine/organization/util/OrganizationFormItemUtil.java @@ -0,0 +1,221 @@ +package com.engine.organization.util; + +import com.api.browser.bean.SearchConditionItem; +import com.api.browser.bean.SearchConditionOption; +import com.api.browser.util.ConditionFactory; +import com.api.browser.util.ConditionType; +import weaver.hrm.User; + +import java.util.List; + + +/** + * @Author dxfeng + * @Description: TODO + * @Date 2022/5/9 + * @Version V1.0 + **/ +public class OrganizationFormItemUtil { + + /** + * 下拉框 + * @param user + * @param selectOptions + * @param colSpan + * @param fieldcol + * @param labelcol + * @param isQuickSearch + * @param label + * @return + */ + public static SearchConditionItem selectItem(User user, List selectOptions, int colSpan, int fieldcol, + int labelcol, boolean isQuickSearch, String label,String name) { + ConditionFactory conditionFactory = new ConditionFactory(user); + SearchConditionItem select = conditionFactory.createCondition(ConditionType.SELECT,502327,name); + select.setOptions(selectOptions); + select.setColSpan(colSpan); + select.setFieldcol(fieldcol); + select.setLabelcol(labelcol); + select.setIsQuickSearch(isQuickSearch); + select.setLabel(label); + return select; + } + + + /** + * checkbox + * @param user + * @param colSpan + * @param fieldcol + * @param viewAttr + * @param isQuickSearch + * @param label + * @param name + * @return + */ + public static SearchConditionItem checkboxItem(User user, int colSpan, int fieldcol, + int viewAttr, boolean isQuickSearch, String label,String name) { + ConditionFactory conditionFactory = new ConditionFactory(user); + SearchConditionItem checkbox = conditionFactory.createCondition(ConditionType.CHECKBOX,502327,name); + checkbox.setColSpan(colSpan); + checkbox.setFieldcol(fieldcol); + checkbox.setViewAttr(viewAttr); + checkbox.setIsQuickSearch(isQuickSearch); + checkbox.setLabel(label); + return checkbox; + } + + + /** + * 输入框数字 + * @param user + * @param rules + * @param colSpan + * @param fieldcol + * @param viewAttr + * @param label + * @return + */ + public static SearchConditionItem inputNumberItem(User user,String rules,int colSpan, int fieldcol, + int viewAttr, String label,String name) { + ConditionFactory conditionFactory = new ConditionFactory(user); + SearchConditionItem inputnumber = conditionFactory.createCondition(ConditionType.INPUTNUMBER,502327, name); + inputnumber.setColSpan(colSpan); + inputnumber.setFieldcol(fieldcol); + inputnumber.setViewAttr(viewAttr); + inputnumber.setLabel(label); + inputnumber.setRules(rules); + + return inputnumber; + } + + + /** + * 输入框文本 + * @param user + * @param rules + * @param colSpan + * @param fieldcol + * @param viewAttr + * @param length + * @param label + * @return + */ + public static SearchConditionItem inputItem(User user,String rules,int colSpan, int fieldcol, + int viewAttr,int length, String label,String name) { + ConditionFactory conditionFactory = new ConditionFactory(user); + SearchConditionItem input = conditionFactory.createCondition(ConditionType.INPUT,25034, name); + input.setColSpan(colSpan); + input.setFieldcol(fieldcol); + input.setViewAttr(viewAttr); + input.setLength(length); + input.setLabel(label); + input.setRules(rules); + return input; + } + + /** + * 浏览按钮 + * @param user + * @param colSpan + * @param fieldcol + * @param viewAttr + * @param isQuickSearch + * @param label + * @param rules + * @param type + * @return + */ + public static SearchConditionItem browserItem(User user,int colSpan, int fieldcol, + int viewAttr,boolean isQuickSearch,String label,String rules,String type,String name) { + ConditionFactory conditionFactory = new ConditionFactory(user); + SearchConditionItem browser = conditionFactory.createCondition(ConditionType.BROWSER,502327,name,type); + browser.setColSpan(colSpan); + browser.setFieldcol(fieldcol); + browser.setViewAttr(viewAttr); + browser.setIsQuickSearch(isQuickSearch); + browser.setLabel(label); + browser.setRules(rules); + return browser; + } + + + /** + * 日期区间 + * @param user + * @param colSpan + * @param fieldcol + * @param viewAttr + * @param label + * @param rules + * @return + */ + public static SearchConditionItem rangeDateItem(User user,int colSpan, int fieldcol,int viewAttr + ,String label,String rules,String name1,String name2) { + ConditionFactory conditionFactory = new ConditionFactory(user); + SearchConditionItem rangeDate = conditionFactory.createCondition(ConditionType.TIMEPICKER,502327,new String[]{name1,name2}); + rangeDate.setColSpan(colSpan); + rangeDate.setFieldcol(fieldcol); + rangeDate.setViewAttr(viewAttr); + rangeDate.setLabel(label); + rangeDate.setRules(rules); + return rangeDate; + } + + + /** + * 多行文本框 + * @param user + * @param colSpan + * @param fieldcol + * @param isQuickSearch + * @param viewAttr + * @param length + * @param label + * @param name + * @return + */ + public static SearchConditionItem textareaItem(User user,int colSpan, int fieldcol,boolean isQuickSearch, + int viewAttr,int length, String label,String name) { + ConditionFactory conditionFactory = new ConditionFactory(user); + SearchConditionItem textarea = conditionFactory.createCondition(ConditionType.TEXTAREA,502227, name); + textarea.setColSpan(colSpan); + textarea.setFieldcol(fieldcol); + textarea.setIsQuickSearch(isQuickSearch); + textarea.setViewAttr(viewAttr); + textarea.setLength(length); + textarea.setLabel(label); + + return textarea; + } + + + /** + * 日期 + * @param user + * @param colSpan + * @param fieldcol + * @param isQuickSearch + * @param viewAttr + * @param label + * @param name + * @return + */ + public static SearchConditionItem datePickerItem(User user,int colSpan, int fieldcol,boolean isQuickSearch, + int viewAttr,String label,String name) { + ConditionFactory conditionFactory = new ConditionFactory(user); + SearchConditionItem datePicker = conditionFactory.createCondition(ConditionType.DATEPICKER,502227, name); + datePicker.setColSpan(colSpan); + datePicker.setFieldcol(fieldcol); + datePicker.setIsQuickSearch(isQuickSearch); + datePicker.setViewAttr(viewAttr); + datePicker.setLabel(label); + return datePicker; + } + + + + + + +} diff --git a/src/com/engine/organization/web/SchemeController.java b/src/com/engine/organization/web/SchemeController.java index 66711b36..efc5e4c2 100644 --- a/src/com/engine/organization/web/SchemeController.java +++ b/src/com/engine/organization/web/SchemeController.java @@ -2,6 +2,7 @@ package com.engine.organization.web; import com.engine.common.util.ParamUtil; import com.engine.common.util.ServiceUtil; +import com.engine.organization.entity.QueryParam; import com.engine.organization.entity.scheme.param.SchemeSearchParam; import com.engine.organization.util.response.ReturnResult; import com.engine.organization.wrapper.SchemeWrapper; @@ -17,9 +18,14 @@ import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; -import java.util.Collection; import java.util.Map; +/** + * @Author dxfeng + * @Description: TODO + * @Date 2022/5/9 + * @Version V1.0 + **/ public class SchemeController { public SchemeWrapper getSchemeWrapper(User user) { @@ -101,7 +107,7 @@ public class SchemeController { @POST @Path("/updateForbiddenTagById") @Produces(MediaType.APPLICATION_JSON) - public ReturnResult updateForbiddenTagById(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Map param) { + public ReturnResult updateForbiddenTagById(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SchemeSearchParam param) { try { User user = HrmUserVarify.getUser(request, response); getSchemeWrapper(user).updateForbiddenTagById(param); @@ -111,8 +117,9 @@ public class SchemeController { } } + /** - * 删除单条数据 + * 根据ID批量删除数据 * * @param request * @param response @@ -120,34 +127,40 @@ public class SchemeController { * @return */ @POST - @Path("/deleteScheme") + @Path("/deleteByIds") @Produces(MediaType.APPLICATION_JSON) - public ReturnResult deleteScheme(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SchemeSearchParam param) { + public ReturnResult deleteByIds(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody QueryParam param) { try { User user = HrmUserVarify.getUser(request, response); - getSchemeWrapper(user).deleteScheme(param); + getSchemeWrapper(user).deleteByIds(param.getIds()); return ReturnResult.successed(); } catch (Exception e) { return ReturnResult.exceptionHandle(e.getMessage()); } } - /** - * 根据ID批量删除数据 - * - * @param request - * @param response - * @param ids - * @return - */ - @POST - @Path("/deleteByIds") + @GET + @Path("/getSearchCondition") @Produces(MediaType.APPLICATION_JSON) - public ReturnResult deleteByIds(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Collection ids) { + public ReturnResult getSearchCondition(@Context HttpServletRequest request, @Context HttpServletResponse response) { try { User user = HrmUserVarify.getUser(request, response); - getSchemeWrapper(user).deleteByIds(ids); - return ReturnResult.successed(); + Map map = ParamUtil.request2Map(request); + return ReturnResult.successed(getSchemeWrapper(user).getSearchCondition(map)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + + @GET + @Path("/getSchemeForm") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getSchemeForm(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + return ReturnResult.successed(getSchemeWrapper(user).getSchemeForm(map)); } catch (Exception e) { return ReturnResult.exceptionHandle(e.getMessage()); } diff --git a/src/com/engine/organization/wrapper/SchemeWrapper.java b/src/com/engine/organization/wrapper/SchemeWrapper.java index a92e681d..d75b2741 100644 --- a/src/com/engine/organization/wrapper/SchemeWrapper.java +++ b/src/com/engine/organization/wrapper/SchemeWrapper.java @@ -12,9 +12,9 @@ import java.util.Collection; import java.util.Map; /** - * @Author weaver_cl + * @Author dxfeng * @Description: TODO - * @Date 2022/4/26 + * @Date 2022/5/9 * @Version V1.0 **/ public class SchemeWrapper extends Service { @@ -55,9 +55,10 @@ public class SchemeWrapper extends Service { /** * 更新禁用标记 + * * @param params */ - public void updateForbiddenTagById(Map params) { + public void updateForbiddenTagById(SchemeSearchParam params) { getSchemeService(user).updateForbiddenTagById(params); } @@ -70,12 +71,12 @@ public class SchemeWrapper extends Service { getSchemeService(user).deleteByIds(ids); } - /** - * 根据ID删除当前登记方案数据 - * - * @param param - */ - public void deleteScheme(SchemeSearchParam param) { - getSchemeService(user).deleteScheme(param); + + public Map getSearchCondition(Map params) { + return getSchemeService(user).getSearchCondition(params); + } + + public Map getSchemeForm(Map params) { + return getSchemeService(user).getSchemeForm(params); } } From c32eeed79c2f50a2a977bcf967982045e54e0321 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Mon, 9 May 2022 15:53:30 +0800 Subject: [PATCH 09/36] =?UTF-8?q?=E8=A1=A8=E5=8D=95=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E7=B1=BB=EF=BC=8Crules=E7=94=A8=E5=88=B0=E6=97=B6=E5=8D=95?= =?UTF-8?q?=E7=8B=AC=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/service/SchemeService.java | 6 ++++++ .../service/impl/SchemeServiceImpl.java | 19 ++++++++++++++----- .../util/OrganizationFormItemUtil.java | 17 ++++------------- 3 files changed, 24 insertions(+), 18 deletions(-) diff --git a/src/com/engine/organization/service/SchemeService.java b/src/com/engine/organization/service/SchemeService.java index 62d8ad7e..3462ce29 100644 --- a/src/com/engine/organization/service/SchemeService.java +++ b/src/com/engine/organization/service/SchemeService.java @@ -68,4 +68,10 @@ public interface SchemeService { */ Map getSchemeForm(Map params); + /** + * 获取列表页面按钮信息 + * @return + */ + Map getTableBtn(); + } diff --git a/src/com/engine/organization/service/impl/SchemeServiceImpl.java b/src/com/engine/organization/service/impl/SchemeServiceImpl.java index f865063e..33cdaf15 100644 --- a/src/com/engine/organization/service/impl/SchemeServiceImpl.java +++ b/src/com/engine/organization/service/impl/SchemeServiceImpl.java @@ -91,8 +91,8 @@ public class SchemeServiceImpl extends Service implements SchemeService { Map apiDatas = new HashMap<>(); List addGroups = new ArrayList<>(); List conditionItems = new ArrayList<>(); - SearchConditionItem schemeNameCondition = OrganizationFormItemUtil.inputItem(user, "", 2, 16, 3, 50, "方案名称", "schemeName"); - SearchConditionItem schemeNoCondition = OrganizationFormItemUtil.inputItem(user, "", 2, 16, 3, 50, "方案编号", "schemeNo"); + SearchConditionItem schemeNameCondition = OrganizationFormItemUtil.inputItem(user, 2, 16, 3, 50, "方案名称", "schemeName"); + SearchConditionItem schemeNoCondition = OrganizationFormItemUtil.inputItem(user, 2, 16, 3, 50, "方案编号", "schemeNo"); conditionItems.add(schemeNameCondition); conditionItems.add(schemeNoCondition); addGroups.add(new SearchConditionGroup("高级搜索条件", true, conditionItems)); @@ -106,12 +106,14 @@ public class SchemeServiceImpl extends Service implements SchemeService { Map apiDatas = new HashMap<>(); List selectItems = new ArrayList<>(); List addGroups = new ArrayList<>(); - SearchConditionItem schemeNameCondition = OrganizationFormItemUtil.inputItem(user, "required", 2, 16, 3, 50, "方案名称", "schemeName"); - SearchConditionItem schemeNoCondition = OrganizationFormItemUtil.inputItem(user, "required", 2, 16, 3, 50, "方案编号", "schemeNo"); + SearchConditionItem schemeNameCondition = OrganizationFormItemUtil.inputItem(user, 2, 16, 3, 50, "方案名称", "schemeName"); + schemeNameCondition.setRules("required"); + SearchConditionItem schemeNoCondition = OrganizationFormItemUtil.inputItem(user, 2, 16, 3, 50, "方案编号", "schemeNo"); + schemeNoCondition.setRules("required"); SearchConditionItem textareaItem = OrganizationFormItemUtil.textareaItem(user, 2, 16, true, 2, 60, "方案说明", "schemeDescription"); // 编辑状态下赋值操作 - String id = Util.null2String(params.get("locationid")); + String id = Util.null2String(params.get("id")); if (!StringUtil.isEmpty(id)) { SchemeMapper mapper = MapperProxyFactory.getProxy(SchemeMapper.class); SchemePO schemePO = mapper.getSchemeByID(Integer.parseInt(id)); @@ -129,6 +131,13 @@ public class SchemeServiceImpl extends Service implements SchemeService { return apiDatas; } + @Override + public Map getTableBtn() { + Map apiDatas = new HashMap<>(); + + return apiDatas; + } + /** * 查询条件 * diff --git a/src/com/engine/organization/util/OrganizationFormItemUtil.java b/src/com/engine/organization/util/OrganizationFormItemUtil.java index 2e420df5..548a91d9 100644 --- a/src/com/engine/organization/util/OrganizationFormItemUtil.java +++ b/src/com/engine/organization/util/OrganizationFormItemUtil.java @@ -69,14 +69,13 @@ public class OrganizationFormItemUtil { /** * 输入框数字 * @param user - * @param rules * @param colSpan * @param fieldcol * @param viewAttr * @param label * @return */ - public static SearchConditionItem inputNumberItem(User user,String rules,int colSpan, int fieldcol, + public static SearchConditionItem inputNumberItem(User user,int colSpan, int fieldcol, int viewAttr, String label,String name) { ConditionFactory conditionFactory = new ConditionFactory(user); SearchConditionItem inputnumber = conditionFactory.createCondition(ConditionType.INPUTNUMBER,502327, name); @@ -84,8 +83,6 @@ public class OrganizationFormItemUtil { inputnumber.setFieldcol(fieldcol); inputnumber.setViewAttr(viewAttr); inputnumber.setLabel(label); - inputnumber.setRules(rules); - return inputnumber; } @@ -93,7 +90,6 @@ public class OrganizationFormItemUtil { /** * 输入框文本 * @param user - * @param rules * @param colSpan * @param fieldcol * @param viewAttr @@ -101,7 +97,7 @@ public class OrganizationFormItemUtil { * @param label * @return */ - public static SearchConditionItem inputItem(User user,String rules,int colSpan, int fieldcol, + public static SearchConditionItem inputItem(User user,int colSpan, int fieldcol, int viewAttr,int length, String label,String name) { ConditionFactory conditionFactory = new ConditionFactory(user); SearchConditionItem input = conditionFactory.createCondition(ConditionType.INPUT,25034, name); @@ -110,7 +106,6 @@ public class OrganizationFormItemUtil { input.setViewAttr(viewAttr); input.setLength(length); input.setLabel(label); - input.setRules(rules); return input; } @@ -122,12 +117,11 @@ public class OrganizationFormItemUtil { * @param viewAttr * @param isQuickSearch * @param label - * @param rules * @param type * @return */ public static SearchConditionItem browserItem(User user,int colSpan, int fieldcol, - int viewAttr,boolean isQuickSearch,String label,String rules,String type,String name) { + int viewAttr,boolean isQuickSearch,String label,String type,String name) { ConditionFactory conditionFactory = new ConditionFactory(user); SearchConditionItem browser = conditionFactory.createCondition(ConditionType.BROWSER,502327,name,type); browser.setColSpan(colSpan); @@ -135,7 +129,6 @@ public class OrganizationFormItemUtil { browser.setViewAttr(viewAttr); browser.setIsQuickSearch(isQuickSearch); browser.setLabel(label); - browser.setRules(rules); return browser; } @@ -147,18 +140,16 @@ public class OrganizationFormItemUtil { * @param fieldcol * @param viewAttr * @param label - * @param rules * @return */ public static SearchConditionItem rangeDateItem(User user,int colSpan, int fieldcol,int viewAttr - ,String label,String rules,String name1,String name2) { + ,String label,String name1,String name2) { ConditionFactory conditionFactory = new ConditionFactory(user); SearchConditionItem rangeDate = conditionFactory.createCondition(ConditionType.TIMEPICKER,502327,new String[]{name1,name2}); rangeDate.setColSpan(colSpan); rangeDate.setFieldcol(fieldcol); rangeDate.setViewAttr(viewAttr); rangeDate.setLabel(label); - rangeDate.setRules(rules); return rangeDate; } From 4f51589a845bfb717038398f0ffef77330f7cd9d Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 10 May 2022 10:54:41 +0800 Subject: [PATCH 10/36] =?UTF-8?q?=E7=99=BB=E8=AE=B0=E6=96=B9=E6=A1=88=20?= =?UTF-8?q?=20=E8=81=8C=E7=AD=89=E8=81=8C=E7=BA=A7=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/organization/annotation/Log.java | 5 ++-- .../annotation/OrganizationTable.java | 10 ++++---- .../annotation/OrganizationTableColumn.java | 10 ++++---- .../annotation/OrganizationTableOperate.java | 10 ++++---- .../entity/scheme/dto/SchemeDTO.java | 2 +- .../entity/scheme/vo/SchemeTableVO.java | 11 +++++++-- .../mapper/scheme/SchemeMapper.xml | 23 ++++++++----------- .../organization/service/SchemeService.java | 2 +- .../service/impl/SchemeServiceImpl.java | 20 ++++++++++------ .../organization/web/SchemeController.java | 15 ++++++++++-- .../organization/wrapper/SchemeWrapper.java | 19 +++++++++++++++ 11 files changed, 80 insertions(+), 47 deletions(-) diff --git a/src/com/engine/organization/annotation/Log.java b/src/com/engine/organization/annotation/Log.java index 35b4810f..124c5ea7 100644 --- a/src/com/engine/organization/annotation/Log.java +++ b/src/com/engine/organization/annotation/Log.java @@ -5,12 +5,11 @@ import com.engine.organization.enums.OperateTypeEnum; import java.lang.annotation.*; /** - * @Author weaver_cl + * @Author dxfeng * @Description: TODO - * @Date 2022/4/27 + * @Date 2022/5/9 * @Version V1.0 **/ - @Target({ElementType.PARAMETER, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Documented diff --git a/src/com/engine/organization/annotation/OrganizationTable.java b/src/com/engine/organization/annotation/OrganizationTable.java index e5f89e50..0217da51 100644 --- a/src/com/engine/organization/annotation/OrganizationTable.java +++ b/src/com/engine/organization/annotation/OrganizationTable.java @@ -6,12 +6,10 @@ import com.cloudstore.eccom.pc.table.WeaTableType; import java.lang.annotation.*; /** - * 数据列表 - *

Copyright: Copyright (c) 2022

- *

Company: 泛微软件

- * - * @author qiantao - * @version 1.0 + * @Author dxfeng + * @Description: TODO + * @Date 2022/5/9 + * @Version V1.0 **/ @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) diff --git a/src/com/engine/organization/annotation/OrganizationTableColumn.java b/src/com/engine/organization/annotation/OrganizationTableColumn.java index ea73ce9d..7467de68 100644 --- a/src/com/engine/organization/annotation/OrganizationTableColumn.java +++ b/src/com/engine/organization/annotation/OrganizationTableColumn.java @@ -3,12 +3,10 @@ package com.engine.organization.annotation; import java.lang.annotation.*; /** - * 数据列表表头 - *

Copyright: Copyright (c) 2022

- *

Company: 泛微软件

- * - * @author qiantao - * @version 1.0 + * @Author dxfeng + * @Description: TODO + * @Date 2022/5/9 + * @Version V1.0 **/ @Target({ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/src/com/engine/organization/annotation/OrganizationTableOperate.java b/src/com/engine/organization/annotation/OrganizationTableOperate.java index 38a2ea36..3df682bd 100644 --- a/src/com/engine/organization/annotation/OrganizationTableOperate.java +++ b/src/com/engine/organization/annotation/OrganizationTableOperate.java @@ -3,12 +3,10 @@ package com.engine.organization.annotation; import java.lang.annotation.*; /** - * 列表操作按钮 - *

Copyright: Copyright (c) 2022

- *

Company: 泛微软件

- * - * @author qiantao - * @version 1.0 + * @Author dxfeng + * @Description: TODO + * @Date 2022/5/9 + * @Version V1.0 **/ @Target({ElementType.ANNOTATION_TYPE}) @Retention(RetentionPolicy.RUNTIME) diff --git a/src/com/engine/organization/entity/scheme/dto/SchemeDTO.java b/src/com/engine/organization/entity/scheme/dto/SchemeDTO.java index 7792bdc8..22d40a32 100644 --- a/src/com/engine/organization/entity/scheme/dto/SchemeDTO.java +++ b/src/com/engine/organization/entity/scheme/dto/SchemeDTO.java @@ -83,7 +83,7 @@ public class SchemeDTO { .schemeNo(param.getSchemeNo() == null ? null : param.getSchemeNo()) .schemeName(param.getSchemeName() == null ? null : param.getSchemeName()) .schemeDescription(param.getSchemeDescription() == null ? null : param.getSchemeDescription()) - .forbiddenTag(param.getForbiddenTag() == null ? 0 : param.getForbiddenTag() ? 1 : 0) + .forbiddenTag(param.getForbiddenTag() == null ? null : param.getForbiddenTag() ? 1 : 0) .deleteType(0) .createTime(new Date()) .updateTime(new Date()) diff --git a/src/com/engine/organization/entity/scheme/vo/SchemeTableVO.java b/src/com/engine/organization/entity/scheme/vo/SchemeTableVO.java index b5efb4b0..9dd69157 100644 --- a/src/com/engine/organization/entity/scheme/vo/SchemeTableVO.java +++ b/src/com/engine/organization/entity/scheme/vo/SchemeTableVO.java @@ -39,6 +39,9 @@ public class SchemeTableVO { private Long id; + /** + * 方案编号 + */ @OrganizationTableColumn(text = "编号", width = "25%", column = "scheme_no") private String schemeNo; /** @@ -47,11 +50,15 @@ public class SchemeTableVO { @OrganizationTableColumn(text = "方案名称", width = "25%", column = "scheme_name") private String schemeName; - //薪资档案引用 + /** + * 方案描述 + */ @OrganizationTableColumn(text = "方案说明", width = "25%", column = "scheme_description") private String schemeDescription; - //默认使用 + /** + * 禁用标识 + */ @OrganizationTableColumn(text = "禁用标记", width = "25%", column = "forbidden_tag") private Integer forbiddenTag; } diff --git a/src/com/engine/organization/mapper/scheme/SchemeMapper.xml b/src/com/engine/organization/mapper/scheme/SchemeMapper.xml index 4382a663..a524250b 100644 --- a/src/com/engine/organization/mapper/scheme/SchemeMapper.xml +++ b/src/com/engine/organization/mapper/scheme/SchemeMapper.xml @@ -27,8 +27,9 @@ , t.create_time , t.update_time - - select from jcl_org_scheme t @@ -67,9 +68,7 @@ scheme_description, - - forbidden_tag, - + forbidden_tag, @@ -96,27 +95,25 @@ #{schemeDescription}, - - #{forbiddenTag}, - + 0, - + update jcl_org_scheme creator=#{creator}, - delete_type=#{deleteType}, - create_time=#{createTime}, update_time=#{updateTime}, scheme_no=#{schemeNo}, scheme_name=#{schemeName}, scheme_description=#{schemeDescription}, - forbidden_tag=#{forbiddenTag}, + + forbidden_tag=#{forbiddenTag}, + WHERE id = #{id} AND delete_type = 0 - + update jcl_org_scheme diff --git a/src/com/engine/organization/service/SchemeService.java b/src/com/engine/organization/service/SchemeService.java index 3462ce29..c3c28023 100644 --- a/src/com/engine/organization/service/SchemeService.java +++ b/src/com/engine/organization/service/SchemeService.java @@ -61,7 +61,7 @@ public interface SchemeService { /** - * 获取搜索条件 + * 获取新增表单 * * @param params * @return diff --git a/src/com/engine/organization/service/impl/SchemeServiceImpl.java b/src/com/engine/organization/service/impl/SchemeServiceImpl.java index 33cdaf15..afed7834 100644 --- a/src/com/engine/organization/service/impl/SchemeServiceImpl.java +++ b/src/com/engine/organization/service/impl/SchemeServiceImpl.java @@ -5,6 +5,7 @@ import com.api.browser.bean.SearchConditionItem; import com.cloudstore.eccom.result.WeaResultMsg; import com.engine.core.impl.Service; import com.engine.organization.component.OrganizationWeaTable; +import com.engine.organization.entity.TopMenuBtn; import com.engine.organization.entity.scheme.dto.SchemeDTO; import com.engine.organization.entity.scheme.param.SchemeSearchParam; import com.engine.organization.entity.scheme.po.SchemePO; @@ -106,10 +107,10 @@ public class SchemeServiceImpl extends Service implements SchemeService { Map apiDatas = new HashMap<>(); List selectItems = new ArrayList<>(); List addGroups = new ArrayList<>(); - SearchConditionItem schemeNameCondition = OrganizationFormItemUtil.inputItem(user, 2, 16, 3, 50, "方案名称", "schemeName"); - schemeNameCondition.setRules("required"); - SearchConditionItem schemeNoCondition = OrganizationFormItemUtil.inputItem(user, 2, 16, 3, 50, "方案编号", "schemeNo"); - schemeNoCondition.setRules("required"); + SearchConditionItem schemeNameCondition = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "方案名称", "schemeName"); + schemeNameCondition.setRules("required|string"); + SearchConditionItem schemeNoCondition = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "方案编号", "schemeNo"); + schemeNoCondition.setRules("required|string"); SearchConditionItem textareaItem = OrganizationFormItemUtil.textareaItem(user, 2, 16, true, 2, 60, "方案说明", "schemeDescription"); // 编辑状态下赋值操作 @@ -133,9 +134,14 @@ public class SchemeServiceImpl extends Service implements SchemeService { @Override public Map getTableBtn() { - Map apiDatas = new HashMap<>(); - - return apiDatas; + Map btnDatas = new HashMap<>(); + ArrayList btnList = new ArrayList<>(); + // 新建 + btnList.add(TopMenuBtn.builder().isBatch("1").isTop("1").menuFun("new").menuIcon("icon-coms-New-Flow").menuName("新建").type( "BTN_Addnew").build()); + // 批量删除 + btnList.add(TopMenuBtn.builder().isBatch("1").isTop("1").menuFun("batchDelete").menuIcon("icon-coms-Batch-delete").menuName("批量删除").type( "BTN_BatchDelete").build()); + btnDatas.put("topMenu",btnList); + return btnDatas; } /** diff --git a/src/com/engine/organization/web/SchemeController.java b/src/com/engine/organization/web/SchemeController.java index efc5e4c2..e461a51a 100644 --- a/src/com/engine/organization/web/SchemeController.java +++ b/src/com/engine/organization/web/SchemeController.java @@ -43,8 +43,7 @@ public class SchemeController { @GET @Path("/getTable") @Produces(MediaType.APPLICATION_JSON) - public ReturnResult listScheme(@Context HttpServletRequest request, @Context HttpServletResponse response - ) { + public ReturnResult listScheme(@Context HttpServletRequest request, @Context HttpServletResponse response) { try { User user = HrmUserVarify.getUser(request, response); Map map = ParamUtil.request2Map(request); @@ -166,5 +165,17 @@ public class SchemeController { } } + @GET + @Path("/getTableBtn") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getTableBtn(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getSchemeWrapper(user).getTableBtn()); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + } diff --git a/src/com/engine/organization/wrapper/SchemeWrapper.java b/src/com/engine/organization/wrapper/SchemeWrapper.java index d75b2741..1e3c0388 100644 --- a/src/com/engine/organization/wrapper/SchemeWrapper.java +++ b/src/com/engine/organization/wrapper/SchemeWrapper.java @@ -72,11 +72,30 @@ public class SchemeWrapper extends Service { } + /** + * 获取搜索条件 + * @param params + * @return + */ public Map getSearchCondition(Map params) { return getSchemeService(user).getSearchCondition(params); } + + /** + * 获取新增表单 + * @param params + * @return + */ public Map getSchemeForm(Map params) { return getSchemeService(user).getSchemeForm(params); } + + /** + * 获取列表页面按钮信息 + * @return + */ + public Map getTableBtn() { + return getSchemeService(user).getTableBtn(); + } } From 2775d2486ec74c1cc725e3952075ffcd2dee1734 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 10 May 2022 11:05:17 +0800 Subject: [PATCH 11/36] =?UTF-8?q?=E7=99=BB=E8=AE=B0=E6=96=B9=E6=A1=88=20?= =?UTF-8?q?=20=E8=81=8C=E7=AD=89=E8=81=8C=E7=BA=A7=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/entity/TopMenuBtn.java | 26 +++++++ .../entity/scheme/po/LevelPO.java | 63 +++++++++++++++++ .../entity/scheme/vo/LevelTableVO.java | 69 +++++++++++++++++++ .../organization/service/LevelService.java | 19 +++++ .../service/impl/LevelServiceImpl.java | 56 +++++++++++++++ .../service/impl/SchemeServiceImpl.java | 4 +- .../organization/web/LevelController.java | 50 ++++++++++++++ .../organization/wrapper/LevelWrapper.java | 32 +++++++++ 8 files changed, 316 insertions(+), 3 deletions(-) create mode 100644 src/com/engine/organization/entity/TopMenuBtn.java create mode 100644 src/com/engine/organization/entity/scheme/po/LevelPO.java create mode 100644 src/com/engine/organization/entity/scheme/vo/LevelTableVO.java create mode 100644 src/com/engine/organization/service/LevelService.java create mode 100644 src/com/engine/organization/service/impl/LevelServiceImpl.java create mode 100644 src/com/engine/organization/web/LevelController.java create mode 100644 src/com/engine/organization/wrapper/LevelWrapper.java diff --git a/src/com/engine/organization/entity/TopMenuBtn.java b/src/com/engine/organization/entity/TopMenuBtn.java new file mode 100644 index 00000000..e429b78a --- /dev/null +++ b/src/com/engine/organization/entity/TopMenuBtn.java @@ -0,0 +1,26 @@ +package com.engine.organization.entity; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/09 + * @version: 1.0 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class TopMenuBtn { + private String isBatch; + private String isTop; + private String menuFun; + private String menuIcon; + private String menuName; + private String type; +} diff --git a/src/com/engine/organization/entity/scheme/po/LevelPO.java b/src/com/engine/organization/entity/scheme/po/LevelPO.java new file mode 100644 index 00000000..b9f18b06 --- /dev/null +++ b/src/com/engine/organization/entity/scheme/po/LevelPO.java @@ -0,0 +1,63 @@ +package com.engine.organization.entity.scheme.po; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/09 + * @version: 1.0 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class LevelPO { + /** + *自增主键 + */ + private long id; + /** + *编号 + */ + private String levelNo; + /** + *方案名称 + */ + private String levelName; + /** + *方案说明 + */ + private String description; + + /** + * 等级方案标识 + */ + private Long levelScheme; + /** + *禁用标记 + */ + private int forbiddenTag; + /** + * + */ + private Long creator; + /** + * + */ + private int deleteType; + /** + * + */ + private Date createTime; + /** + * + */ + private Date updateTime; +} diff --git a/src/com/engine/organization/entity/scheme/vo/LevelTableVO.java b/src/com/engine/organization/entity/scheme/vo/LevelTableVO.java new file mode 100644 index 00000000..a74e51ea --- /dev/null +++ b/src/com/engine/organization/entity/scheme/vo/LevelTableVO.java @@ -0,0 +1,69 @@ +package com.engine.organization.entity.scheme.vo; + +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; + + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@OrganizationTable(pageId = "98e9c62f-cd12-11ec-a15f-00ffcbed7508", + fields = "t.id," + + "t.level_no," + + "t.level_name," + + "t.description," + + "t.level_scheme," + + "t.forbidden_tag," + + "t.creator," + + "t.delete_type," + + "t.create_time," + + "t.update_time", + fromSql = "FROM jcl_org_level t ", + orderby = "id desc", + primarykey = "id", + operates = { + @OrganizationTableOperate(index = "0", text = "编辑"), + @OrganizationTableOperate(index = "1", text = "删除") + } +) +public class LevelTableVO { + /** + * 主键 + */ + @OrganizationTableColumn(column = "id", display = false) + private Long id; + + /** + * 编号 + */ + @OrganizationTableColumn(text = "编号", width = "20%", column = "scheme_no") + private String levelNo; + /** + * 名称 + */ + @OrganizationTableColumn(text = "名称", width = "20%", column = "scheme_name") + private String levelName; + + /** + * 描述说明 + */ + @OrganizationTableColumn(text = "描述说明", width = "20%", column = "scheme_description") + private String description; + /** + * 等级方案 + */ + @OrganizationTableColumn(text = "等级方案", width = "20%", column = "scheme_description") + private String levelScheme; + + /** + * 禁用标记 + */ + @OrganizationTableColumn(text = "禁用标记", width = "20%", column = "forbidden_tag") + private Integer forbiddenTag; +} diff --git a/src/com/engine/organization/service/LevelService.java b/src/com/engine/organization/service/LevelService.java new file mode 100644 index 00000000..122abac2 --- /dev/null +++ b/src/com/engine/organization/service/LevelService.java @@ -0,0 +1,19 @@ +package com.engine.organization.service; + +import java.util.Map; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/10 + * @version: 1.0 + */ +public interface LevelService { + /** + * 等级方案列表 + * + * @param params + * @return + */ + Map listPage(Map params); +} diff --git a/src/com/engine/organization/service/impl/LevelServiceImpl.java b/src/com/engine/organization/service/impl/LevelServiceImpl.java new file mode 100644 index 00000000..199f7bd6 --- /dev/null +++ b/src/com/engine/organization/service/impl/LevelServiceImpl.java @@ -0,0 +1,56 @@ +package com.engine.organization.service.impl; + +import com.cloudstore.eccom.result.WeaResultMsg; +import com.engine.core.impl.Service; +import com.engine.organization.component.OrganizationWeaTable; +import com.engine.organization.entity.scheme.vo.LevelTableVO; +import com.engine.organization.entity.scheme.vo.SchemeTableVO; +import com.engine.organization.service.LevelService; +import com.engine.organization.util.db.DBType; +import com.weaverboot.frame.ioc.anno.classAnno.WeaIocService; +import org.apache.commons.lang3.StringUtils; +import weaver.conn.RecordSet; + +import java.util.Map; + + +/** + * + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/10 + * @version: 1.0 + */ +@WeaIocService +public class LevelServiceImpl extends Service implements LevelService { + @Override + public Map listPage(Map params) { + OrganizationWeaTable table = new OrganizationWeaTable<>(user, LevelTableVO.class); + String sqlWhere = buildSqlWhere(params); + table.setSqlwhere(sqlWhere); + WeaResultMsg result = new WeaResultMsg(false); + result.putAll(table.makeDataResult()); + result.success(); + return result.getResultMap(); + } + + /** + * 查询条件 + * + * @param params + * @return + */ + private String buildSqlWhere(Map params) { + DBType dbType = DBType.get(new RecordSet().getDBType()); + String sqlWhere = " where delete_type ='0' "; + String name = (String) params.get("name"); + if (StringUtils.isNotBlank(name)) { + sqlWhere += " AND scheme_name " + dbType.like(name); + } + String no = (String) params.get("no"); + if (StringUtils.isNotBlank(no)) { + sqlWhere += " AND scheme_no " + dbType.like(no); + } + return sqlWhere; + } +} diff --git a/src/com/engine/organization/service/impl/SchemeServiceImpl.java b/src/com/engine/organization/service/impl/SchemeServiceImpl.java index afed7834..8605fc18 100644 --- a/src/com/engine/organization/service/impl/SchemeServiceImpl.java +++ b/src/com/engine/organization/service/impl/SchemeServiceImpl.java @@ -62,8 +62,6 @@ public class SchemeServiceImpl extends Service implements SchemeService { public Map updateScheme(SchemeSearchParam param) { Map apidatas = new HashMap(); SchemeMapper mapper = MapperProxyFactory.getProxy(SchemeMapper.class); - List list = mapper.listByNo(Util.null2String(param.getSchemeNo())); - OrganizationAssert.isEmpty(list, "当前编号已存在"); SchemePO schemePO = SchemeDTO.convertParamToPO(param, (long) user.getUID()); mapper.updateScheme(schemePO); return apidatas; @@ -109,7 +107,7 @@ public class SchemeServiceImpl extends Service implements SchemeService { List addGroups = new ArrayList<>(); SearchConditionItem schemeNameCondition = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "方案名称", "schemeName"); schemeNameCondition.setRules("required|string"); - SearchConditionItem schemeNoCondition = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "方案编号", "schemeNo"); + SearchConditionItem schemeNoCondition = OrganizationFormItemUtil.inputItem(user, 2, 17, 1, 50, "方案编号", "schemeNo"); schemeNoCondition.setRules("required|string"); SearchConditionItem textareaItem = OrganizationFormItemUtil.textareaItem(user, 2, 16, true, 2, 60, "方案说明", "schemeDescription"); diff --git a/src/com/engine/organization/web/LevelController.java b/src/com/engine/organization/web/LevelController.java new file mode 100644 index 00000000..951fef19 --- /dev/null +++ b/src/com/engine/organization/web/LevelController.java @@ -0,0 +1,50 @@ +package com.engine.organization.web; + +import com.engine.common.util.ParamUtil; +import com.engine.common.util.ServiceUtil; +import com.engine.organization.util.response.ReturnResult; +import com.engine.organization.wrapper.LevelWrapper; +import weaver.hrm.HrmUserVarify; +import weaver.hrm.User; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.ws.rs.GET; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.core.Context; +import javax.ws.rs.core.MediaType; +import java.util.Map; + +/** + * + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/10 + * @version: 1.0 + */ +public class LevelController { + public LevelWrapper getLevelWrapper(User user) { + return ServiceUtil.getService(LevelWrapper.class, user); + } + + /** + * 获取list列表 + * + * @param request + * @param response + * @return + */ + @GET + @Path("/getLevelTable") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult listScheme(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + return ReturnResult.successed(getLevelWrapper(user).listPage(map)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } +} diff --git a/src/com/engine/organization/wrapper/LevelWrapper.java b/src/com/engine/organization/wrapper/LevelWrapper.java new file mode 100644 index 00000000..528cadae --- /dev/null +++ b/src/com/engine/organization/wrapper/LevelWrapper.java @@ -0,0 +1,32 @@ +package com.engine.organization.wrapper; + +import com.engine.common.util.ServiceUtil; +import com.engine.core.impl.Service; +import com.engine.organization.service.LevelService; +import com.engine.organization.service.impl.LevelServiceImpl; +import weaver.hrm.User; + +import java.util.Map; + +/** + * + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/10 + * @version: 1.0 + */ +public class LevelWrapper extends Service { + private LevelService getLevelService(User user) { + return ServiceUtil.getService(LevelServiceImpl.class, user); + } + + /** + * 等级方案列表 + * + * @param params + * @return + */ + public Map listPage(Map params) { + return getLevelService(user).listPage(params); + } +} From 0f9c8572a36d68fe84a9a08749d526089d951ccd Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 10 May 2022 13:49:36 +0800 Subject: [PATCH 12/36] =?UTF-8?q?=E7=AD=89=E7=BA=A7=E6=96=B9=E6=A1=88=20?= =?UTF-8?q?=20=E8=81=8C=E7=AD=89=E8=81=8C=E7=BA=A7=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/entity/TopMenuBtn.java | 26 ------- .../entity/scheme/dto/SchemeDTO.java | 2 +- .../mapper/scheme/SchemeMapper.java | 5 +- .../mapper/scheme/SchemeMapper.xml | 17 +++-- .../service/impl/SchemeServiceImpl.java | 33 ++++++--- src/com/engine/organization/util/MenuBtn.java | 69 +++++++++++++++++++ 6 files changed, 106 insertions(+), 46 deletions(-) delete mode 100644 src/com/engine/organization/entity/TopMenuBtn.java create mode 100644 src/com/engine/organization/util/MenuBtn.java diff --git a/src/com/engine/organization/entity/TopMenuBtn.java b/src/com/engine/organization/entity/TopMenuBtn.java deleted file mode 100644 index e429b78a..00000000 --- a/src/com/engine/organization/entity/TopMenuBtn.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.engine.organization.entity; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * - * @description: TODO - * @author:dxfeng - * @createTime: 2022/05/09 - * @version: 1.0 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class TopMenuBtn { - private String isBatch; - private String isTop; - private String menuFun; - private String menuIcon; - private String menuName; - private String type; -} diff --git a/src/com/engine/organization/entity/scheme/dto/SchemeDTO.java b/src/com/engine/organization/entity/scheme/dto/SchemeDTO.java index 22d40a32..7792bdc8 100644 --- a/src/com/engine/organization/entity/scheme/dto/SchemeDTO.java +++ b/src/com/engine/organization/entity/scheme/dto/SchemeDTO.java @@ -83,7 +83,7 @@ public class SchemeDTO { .schemeNo(param.getSchemeNo() == null ? null : param.getSchemeNo()) .schemeName(param.getSchemeName() == null ? null : param.getSchemeName()) .schemeDescription(param.getSchemeDescription() == null ? null : param.getSchemeDescription()) - .forbiddenTag(param.getForbiddenTag() == null ? null : param.getForbiddenTag() ? 1 : 0) + .forbiddenTag(param.getForbiddenTag() == null ? 0 : param.getForbiddenTag() ? 1 : 0) .deleteType(0) .createTime(new Date()) .updateTime(new Date()) diff --git a/src/com/engine/organization/mapper/scheme/SchemeMapper.java b/src/com/engine/organization/mapper/scheme/SchemeMapper.java index 2e75cbcf..ac2d1828 100644 --- a/src/com/engine/organization/mapper/scheme/SchemeMapper.java +++ b/src/com/engine/organization/mapper/scheme/SchemeMapper.java @@ -3,7 +3,6 @@ package com.engine.organization.mapper.scheme; import com.engine.organization.entity.scheme.po.SchemePO; import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; import java.util.Collection; import java.util.List; @@ -23,8 +22,7 @@ public interface SchemeMapper { * @param schemeNo * @return */ - @Select("select * from jcl_org_scheme t where scheme_no = #{schemeNo} AND delete_type = 0") - List listByNo(String schemeNo); + List listByNo(@Param("schemeNo") String schemeNo); /** * 根据ID查询登记方案 @@ -32,7 +30,6 @@ public interface SchemeMapper { * @param id * @return */ - @Select("select * from jcl_org_scheme t where id = #{id} AND delete_type = 0") SchemePO getSchemeByID(@Param("id") long id); /** diff --git a/src/com/engine/organization/mapper/scheme/SchemeMapper.xml b/src/com/engine/organization/mapper/scheme/SchemeMapper.xml index a524250b..4b8c2246 100644 --- a/src/com/engine/organization/mapper/scheme/SchemeMapper.xml +++ b/src/com/engine/organization/mapper/scheme/SchemeMapper.xml @@ -31,7 +31,7 @@ + + + + INSERT INTO jcl_org_scheme @@ -107,9 +119,6 @@ scheme_no=#{schemeNo}, scheme_name=#{schemeName}, scheme_description=#{schemeDescription}, - - forbidden_tag=#{forbiddenTag}, - WHERE id = #{id} AND delete_type = 0 diff --git a/src/com/engine/organization/service/impl/SchemeServiceImpl.java b/src/com/engine/organization/service/impl/SchemeServiceImpl.java index 8605fc18..432c9544 100644 --- a/src/com/engine/organization/service/impl/SchemeServiceImpl.java +++ b/src/com/engine/organization/service/impl/SchemeServiceImpl.java @@ -5,13 +5,13 @@ import com.api.browser.bean.SearchConditionItem; import com.cloudstore.eccom.result.WeaResultMsg; import com.engine.core.impl.Service; import com.engine.organization.component.OrganizationWeaTable; -import com.engine.organization.entity.TopMenuBtn; import com.engine.organization.entity.scheme.dto.SchemeDTO; import com.engine.organization.entity.scheme.param.SchemeSearchParam; import com.engine.organization.entity.scheme.po.SchemePO; import com.engine.organization.entity.scheme.vo.SchemeTableVO; import com.engine.organization.mapper.scheme.SchemeMapper; import com.engine.organization.service.SchemeService; +import com.engine.organization.util.MenuBtn; import com.engine.organization.util.OrganizationAssert; import com.engine.organization.util.OrganizationFormItemUtil; import com.engine.organization.util.db.DBType; @@ -90,8 +90,8 @@ public class SchemeServiceImpl extends Service implements SchemeService { Map apiDatas = new HashMap<>(); List addGroups = new ArrayList<>(); List conditionItems = new ArrayList<>(); - SearchConditionItem schemeNameCondition = OrganizationFormItemUtil.inputItem(user, 2, 16, 3, 50, "方案名称", "schemeName"); - SearchConditionItem schemeNoCondition = OrganizationFormItemUtil.inputItem(user, 2, 16, 3, 50, "方案编号", "schemeNo"); + SearchConditionItem schemeNameCondition = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "方案名称", "schemeName"); + SearchConditionItem schemeNoCondition = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "方案编号", "schemeNo"); conditionItems.add(schemeNameCondition); conditionItems.add(schemeNoCondition); addGroups.add(new SearchConditionGroup("高级搜索条件", true, conditionItems)); @@ -107,7 +107,7 @@ public class SchemeServiceImpl extends Service implements SchemeService { List addGroups = new ArrayList<>(); SearchConditionItem schemeNameCondition = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "方案名称", "schemeName"); schemeNameCondition.setRules("required|string"); - SearchConditionItem schemeNoCondition = OrganizationFormItemUtil.inputItem(user, 2, 17, 1, 50, "方案编号", "schemeNo"); + SearchConditionItem schemeNoCondition = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "方案编号", "schemeNo"); schemeNoCondition.setRules("required|string"); SearchConditionItem textareaItem = OrganizationFormItemUtil.textareaItem(user, 2, 16, true, 2, 60, "方案说明", "schemeDescription"); @@ -120,10 +120,13 @@ public class SchemeServiceImpl extends Service implements SchemeService { schemeNameCondition.setValue(schemePO.getSchemeName()); schemeNoCondition.setValue(schemePO.getSchemeNo()); textareaItem.setValue(schemePO.getSchemeDescription()); + + // 编辑状态下,编号只读 + schemeNoCondition.setViewAttr(1); } - selectItems.add(schemeNameCondition); selectItems.add(schemeNoCondition); + selectItems.add(schemeNameCondition); selectItems.add(textareaItem); addGroups.add(new SearchConditionGroup("基本信息", true, selectItems)); apiDatas.put("condition", addGroups); @@ -133,12 +136,20 @@ public class SchemeServiceImpl extends Service implements SchemeService { @Override public Map getTableBtn() { Map btnDatas = new HashMap<>(); - ArrayList btnList = new ArrayList<>(); + ArrayList topMenuList = new ArrayList<>(); + ArrayList rightMenuList = new ArrayList<>(); // 新建 - btnList.add(TopMenuBtn.builder().isBatch("1").isTop("1").menuFun("new").menuIcon("icon-coms-New-Flow").menuName("新建").type( "BTN_Addnew").build()); + topMenuList.add(MenuBtn.topMenu_addNew()); // 批量删除 - btnList.add(TopMenuBtn.builder().isBatch("1").isTop("1").menuFun("batchDelete").menuIcon("icon-coms-Batch-delete").menuName("批量删除").type( "BTN_BatchDelete").build()); - btnDatas.put("topMenu",btnList); + topMenuList.add(MenuBtn.topMenu_batchDelete()); + btnDatas.put("topMenu", topMenuList); + // 新建 + rightMenuList.add(MenuBtn.rightMenu_addNew()); + // 日志 + rightMenuList.add(MenuBtn.rightMenu_btnLog()); + // 显示列定制 + rightMenuList.add(MenuBtn.rightMenu_btnColumn()); + btnDatas.put("rightMenu",rightMenuList); return btnDatas; } @@ -151,11 +162,11 @@ public class SchemeServiceImpl extends Service implements SchemeService { private String buildSqlWhere(Map params) { DBType dbType = DBType.get(new RecordSet().getDBType()); String sqlWhere = " where delete_type ='0' "; - String name = (String) params.get("name"); + String name = (String) params.get("schemeName"); if (StringUtils.isNotBlank(name)) { sqlWhere += " AND scheme_name " + dbType.like(name); } - String no = (String) params.get("no"); + String no = (String) params.get("schemeNo"); if (StringUtils.isNotBlank(no)) { sqlWhere += " AND scheme_no " + dbType.like(no); } diff --git a/src/com/engine/organization/util/MenuBtn.java b/src/com/engine/organization/util/MenuBtn.java new file mode 100644 index 00000000..22d65cc7 --- /dev/null +++ b/src/com/engine/organization/util/MenuBtn.java @@ -0,0 +1,69 @@ +package com.engine.organization.util; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * + * @description: MenuBtn工具类 + * @author:dxfeng + * @createTime: 2022/05/09 + * @version: 1.0 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class MenuBtn { + private String isBatch; + private String isTop; + private String menuFun; + private String menuIcon; + private String menuName; + private String type; + + /** + * topMenu新增 + * @return + */ + public static MenuBtn topMenu_addNew(){ + return MenuBtn.builder().isBatch("1").isTop("1").menuFun("new").menuIcon("icon-coms-New-Flow").menuName("新建").type( "BTN_Addnew").build(); + } + + /** + * topMenu批量删除 + * @return + */ + public static MenuBtn topMenu_batchDelete(){ + return MenuBtn.builder().isBatch("1").isTop("1").menuFun("new").menuIcon("icon-coms-New-Flow").menuName("新建").type( "BTN_Addnew").build(); + } + + /** + * rightMenu新增 + * @return + */ + public static MenuBtn rightMenu_addNew(){ + return MenuBtn.builder().isBatch("0").isTop("1").menuFun("new").menuIcon("icon-coms-New-Flow").menuName("新建").type( "BTN_Addnew").build(); + } + + /** + * rightMenu日志 + * @return + */ + public static MenuBtn rightMenu_btnLog(){ + return MenuBtn.builder().isBatch("0").isTop("0").menuFun("log").menuIcon("icon-coms-Print-log").menuName("日志").type( "BTN_log").build(); + } + + /** + * rightMenu显示列定制 + * @return + */ + public static MenuBtn rightMenu_btnColumn(){ + return MenuBtn.builder().isBatch("0").isTop("0").menuFun("custom").menuIcon("icon-coms-task-list").menuName("显示列定制").type( "BTN_COLUMN").build(); + } + + + +} From 2e6343a813576df7e102fc8d863b6813a23ea0df Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 10 May 2022 14:54:49 +0800 Subject: [PATCH 13/36] =?UTF-8?q?=E7=AD=89=E7=BA=A7=E6=96=B9=E6=A1=88=20?= =?UTF-8?q?=20=E8=81=8C=E7=AD=89=E8=81=8C=E7=BA=A7=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/web/SchemeController.java | 11 ++++++----- .../entity/scheme/dto/SchemeDTO.java | 2 +- .../entity/scheme/vo/LevelTableVO.java | 19 +++++++++++++------ .../mapper/scheme/SchemeMapper.xml | 6 ------ .../service/impl/LevelServiceImpl.java | 10 +++++----- .../service/impl/SchemeServiceImpl.java | 2 +- 6 files changed, 26 insertions(+), 24 deletions(-) diff --git a/src/com/api/organization/web/SchemeController.java b/src/com/api/organization/web/SchemeController.java index 95f6c02a..81b153ae 100644 --- a/src/com/api/organization/web/SchemeController.java +++ b/src/com/api/organization/web/SchemeController.java @@ -3,11 +3,12 @@ package com.api.organization.web; import javax.ws.rs.Path; /** - * @Author weaver_cl - * @Description: TODO - * @Date 2022/4/26 - * @Version V1.0 - **/ + * + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/10 + * @version: 1.0 + */ @Path("/bs/hrmorganization/scheme") public class SchemeController extends com.engine.organization.web.SchemeController { diff --git a/src/com/engine/organization/entity/scheme/dto/SchemeDTO.java b/src/com/engine/organization/entity/scheme/dto/SchemeDTO.java index 7792bdc8..926df6ce 100644 --- a/src/com/engine/organization/entity/scheme/dto/SchemeDTO.java +++ b/src/com/engine/organization/entity/scheme/dto/SchemeDTO.java @@ -83,7 +83,7 @@ public class SchemeDTO { .schemeNo(param.getSchemeNo() == null ? null : param.getSchemeNo()) .schemeName(param.getSchemeName() == null ? null : param.getSchemeName()) .schemeDescription(param.getSchemeDescription() == null ? null : param.getSchemeDescription()) - .forbiddenTag(param.getForbiddenTag() == null ? 0 : param.getForbiddenTag() ? 1 : 0) + .forbiddenTag(param.getForbiddenTag() == null ? 0 : param.getForbiddenTag() ? 0 : 1) .deleteType(0) .createTime(new Date()) .updateTime(new Date()) diff --git a/src/com/engine/organization/entity/scheme/vo/LevelTableVO.java b/src/com/engine/organization/entity/scheme/vo/LevelTableVO.java index a74e51ea..32edbac8 100644 --- a/src/com/engine/organization/entity/scheme/vo/LevelTableVO.java +++ b/src/com/engine/organization/entity/scheme/vo/LevelTableVO.java @@ -13,18 +13,19 @@ import lombok.NoArgsConstructor; @Builder @NoArgsConstructor @AllArgsConstructor -@OrganizationTable(pageId = "98e9c62f-cd12-11ec-a15f-00ffcbed7508", +@OrganizationTable(pageId = "3a0b752e-d028-11ec-91fc-00ffcbed7508", fields = "t.id," + "t.level_no," + "t.level_name," + "t.description," + + "s.scheme_name," + "t.level_scheme," + "t.forbidden_tag," + "t.creator," + "t.delete_type," + "t.create_time," + "t.update_time", - fromSql = "FROM jcl_org_level t ", + fromSql = "FROM jcl_org_level t inner join jcl_org_scheme s on t.level_scheme = s.id ", orderby = "id desc", primarykey = "id", operates = { @@ -42,25 +43,31 @@ public class LevelTableVO { /** * 编号 */ - @OrganizationTableColumn(text = "编号", width = "20%", column = "scheme_no") + @OrganizationTableColumn(text = "编号", width = "20%", column = "level_no") private String levelNo; /** * 名称 */ - @OrganizationTableColumn(text = "名称", width = "20%", column = "scheme_name") + @OrganizationTableColumn(text = "名称", width = "20%", column = "level_name") private String levelName; /** * 描述说明 */ - @OrganizationTableColumn(text = "描述说明", width = "20%", column = "scheme_description") + @OrganizationTableColumn(text = "描述说明", width = "20%", column = "description") private String description; /** * 等级方案 */ - @OrganizationTableColumn(text = "等级方案", width = "20%", column = "scheme_description") + // @OrganizationTableColumn(text = "等级方案", width = "20%", column = "level_scheme") private String levelScheme; + /** + * 等级方案 + */ + @OrganizationTableColumn(text = "等级方案", width = "20%", column = "scheme_name") + private String schemeName; + /** * 禁用标记 */ diff --git a/src/com/engine/organization/mapper/scheme/SchemeMapper.xml b/src/com/engine/organization/mapper/scheme/SchemeMapper.xml index 4b8c2246..72ee5dfa 100644 --- a/src/com/engine/organization/mapper/scheme/SchemeMapper.xml +++ b/src/com/engine/organization/mapper/scheme/SchemeMapper.xml @@ -68,9 +68,6 @@ update_time, - - id, - scheme_no, @@ -95,9 +92,6 @@ #{updateTime}, - - #{id}, - #{schemeNo}, diff --git a/src/com/engine/organization/service/impl/LevelServiceImpl.java b/src/com/engine/organization/service/impl/LevelServiceImpl.java index 199f7bd6..fac1fe7e 100644 --- a/src/com/engine/organization/service/impl/LevelServiceImpl.java +++ b/src/com/engine/organization/service/impl/LevelServiceImpl.java @@ -42,14 +42,14 @@ public class LevelServiceImpl extends Service implements LevelService { */ private String buildSqlWhere(Map params) { DBType dbType = DBType.get(new RecordSet().getDBType()); - String sqlWhere = " where delete_type ='0' "; - String name = (String) params.get("name"); + String sqlWhere = " where t.delete_type ='0' "; + String name = (String) params.get("levelName"); if (StringUtils.isNotBlank(name)) { - sqlWhere += " AND scheme_name " + dbType.like(name); + sqlWhere += " AND t.level_name " + dbType.like(name); } - String no = (String) params.get("no"); + String no = (String) params.get("levelNo"); if (StringUtils.isNotBlank(no)) { - sqlWhere += " AND scheme_no " + dbType.like(no); + sqlWhere += " AND t.level_no " + dbType.like(no); } return sqlWhere; } diff --git a/src/com/engine/organization/service/impl/SchemeServiceImpl.java b/src/com/engine/organization/service/impl/SchemeServiceImpl.java index 432c9544..66bbadce 100644 --- a/src/com/engine/organization/service/impl/SchemeServiceImpl.java +++ b/src/com/engine/organization/service/impl/SchemeServiceImpl.java @@ -70,7 +70,7 @@ public class SchemeServiceImpl extends Service implements SchemeService { @Override public void updateForbiddenTagById(SchemeSearchParam params) { SchemeMapper mapper = MapperProxyFactory.getProxy(SchemeMapper.class); - SchemePO schemePO = SchemePO.builder().id(params.getId()).forbiddenTag(params.getForbiddenTag() ? 1 : 0).build(); + SchemePO schemePO = SchemePO.builder().id(params.getId()).forbiddenTag(params.getForbiddenTag() ? 0 : 1).build(); mapper.updateForbiddenTagById(schemePO); } From 97ac4e5cdfec66523f82c0c2354b8998b9043a2c Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 10 May 2022 15:48:44 +0800 Subject: [PATCH 14/36] =?UTF-8?q?=E7=AD=89=E7=BA=A7=E6=96=B9=E6=A1=88=20?= =?UTF-8?q?=20=E8=81=8C=E7=AD=89=E8=81=8C=E7=BA=A7=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/organization/mapper/scheme/SchemeMapper.xml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/com/engine/organization/mapper/scheme/SchemeMapper.xml b/src/com/engine/organization/mapper/scheme/SchemeMapper.xml index 72ee5dfa..f8591a90 100644 --- a/src/com/engine/organization/mapper/scheme/SchemeMapper.xml +++ b/src/com/engine/organization/mapper/scheme/SchemeMapper.xml @@ -31,7 +31,7 @@ - select from jcl_org_scheme t where scheme_no = #{schemeNo} AND delete_type = 0 - select from jcl_org_scheme t where id = #{id} AND delete_type = 0 From 7bd87d470726ebbde690ca4ba125eae9c3874e3d Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 10 May 2022 21:07:50 +0800 Subject: [PATCH 15/36] =?UTF-8?q?=E8=81=8C=E7=AD=89=E8=81=8C=E7=BA=A7?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=20=20=E8=A1=A8=E7=BB=93=E6=9E=84SQL=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 | 8 +- docs/表结构SQL/Oracle.sql | 8 +- docs/表结构SQL/SqlServer.sql | 8 +- .../api/organization/web/LevelController.java | 15 ++ .../entity/scheme/dto/LevelDTO.java | 82 ++++++++++ .../entity/scheme/dto/SchemeDTO.java | 2 +- .../entity/scheme/param/LevelSearchParam.java | 46 ++++++ .../entity/scheme/po/LevelPO.java | 2 +- .../entity/scheme/vo/LevelTableVO.java | 6 +- .../mapper/scheme/LevelMapper.java | 62 ++++++++ .../mapper/scheme/LevelMapper.xml | 135 ++++++++++++++++ .../organization/service/LevelService.java | 58 ++++++- .../service/impl/LevelServiceImpl.java | 111 ++++++++++++- .../service/impl/SchemeServiceImpl.java | 40 ++--- src/com/engine/organization/util/MenuBtn.java | 52 ++++-- .../organization/web/LevelController.java | 149 +++++++++++++++++- .../organization/wrapper/LevelWrapper.java | 76 ++++++++- 17 files changed, 791 insertions(+), 69 deletions(-) create mode 100644 src/com/api/organization/web/LevelController.java create mode 100644 src/com/engine/organization/entity/scheme/dto/LevelDTO.java create mode 100644 src/com/engine/organization/entity/scheme/param/LevelSearchParam.java create mode 100644 src/com/engine/organization/mapper/scheme/LevelMapper.java create mode 100644 src/com/engine/organization/mapper/scheme/LevelMapper.xml diff --git a/docs/表结构SQL/MySQL.sql b/docs/表结构SQL/MySQL.sql index 64ee5105..0c925db3 100644 --- a/docs/表结构SQL/MySQL.sql +++ b/docs/表结构SQL/MySQL.sql @@ -17,7 +17,7 @@ CREATE TABLE JCL_ORG_LEVEL ( level_no varchar(100) NULL, level_name varchar(100) NULL, description text NULL, - level_scheme int null, + scheme_id int null, forbidden_tag int NULL, creator int null, delete_type int null, @@ -31,7 +31,7 @@ CREATE TABLE JCL_ORG_GRADE ( grade_no varchar(100) NULL, grade_name varchar(100) NULL, description text NULL, - level_scheme int null, + scheme_id int null, level_id int null, forbidden_tag int NULL, creator int null, @@ -47,7 +47,7 @@ CREATE TABLE JCL_ORG_SEQUENCE ( sequence_no varchar(100) NULL, sequence_name varchar(100) NULL, description text NULL, - level_scheme int null, + scheme_id int null, forbidden_tag int NULL, creator int null, delete_type int null, @@ -248,7 +248,7 @@ CREATE TABLE JCL_ORG_JOB ( parent_comp int null, parent_dept int null, job_sequence int null, - level_scheme int null, + scheme_id int null, parent_job int null, is_key_job int null, workplace varchar(100) NULL, diff --git a/docs/表结构SQL/Oracle.sql b/docs/表结构SQL/Oracle.sql index e5cb8b4e..d4e9c140 100644 --- a/docs/表结构SQL/Oracle.sql +++ b/docs/表结构SQL/Oracle.sql @@ -17,7 +17,7 @@ CREATE TABLE JCL_ORG_LEVEL ( LEVEL_NO NVARCHAR2(100) NULL, LEVEL_NAME NVARCHAR2(100) NULL, DESCRIPTION NVARCHAR2(1000) NULL, - LEVEL_SCHEME NUMBER NULL, + SCHEME_ID NUMBER NULL, FORBIDDEN_TAG NUMBER NULL, CREATOR NUMBER NULL, DELETE_TYPE NUMBER NULL, @@ -32,7 +32,7 @@ CREATE TABLE JCL_ORG_GRADE ( GRADE_NO NVARCHAR2(100) NULL, GRADE_NAME NVARCHAR2(100) NULL, DESCRIPTION NVARCHAR2(1000) NULL, - LEVEL_SCHEME NUMBER NULL, + SCHEME_ID NUMBER NULL, LEVEL_ID NUMBER NULL, FORBIDDEN_TAG NUMBER NULL, CREATOR NUMBER NULL, @@ -49,7 +49,7 @@ CREATE TABLE JCL_ORG_SEQUENCE ( SEQUENCE_NO NVARCHAR2(100) NULL, SEQUENCE_NAME NVARCHAR2(100) NULL, DESCRIPTION NVARCHAR2(1000) NULL, - LEVEL_SCHEME NUMBER NULL, + SCHEME_ID NUMBER NULL, FORBIDDEN_TAG NUMBER NULL, CREATOR NUMBER NULL, DELETE_TYPE NUMBER NULL, @@ -250,7 +250,7 @@ CREATE TABLE JCL_ORG_JOB ( PARENT_COMP NUMBER NULL, PARENT_DEPT NUMBER NULL, JOB_SEQUENCE NUMBER NULL, - LEVEL_SCHEME NUMBER NULL, + SCHEME_ID NUMBER NULL, PARENT_JOB NUMBER NULL, IS_KEY_JOB NUMBER NULL, WORKPLACE NVARCHAR2(100) NULL, diff --git a/docs/表结构SQL/SqlServer.sql b/docs/表结构SQL/SqlServer.sql index 8f28508d..ec4262a4 100644 --- a/docs/表结构SQL/SqlServer.sql +++ b/docs/表结构SQL/SqlServer.sql @@ -17,7 +17,7 @@ CREATE TABLE JCL_ORG_LEVEL ( level_no varchar(100) COLLATE Chinese_PRC_CI_AS NULL, level_name varchar(100) COLLATE Chinese_PRC_CI_AS NULL, description text COLLATE Chinese_PRC_CI_AS NULL, - level_scheme int null, + scheme_id int null, forbidden_tag int NULL, creator int null, delete_type int null, @@ -31,7 +31,7 @@ CREATE TABLE JCL_ORG_GRADE ( grade_no varchar(100) COLLATE Chinese_PRC_CI_AS NULL, grade_name varchar(100) COLLATE Chinese_PRC_CI_AS NULL, description text COLLATE Chinese_PRC_CI_AS NULL, - level_scheme int null, + scheme_id int null, level_id int null, forbidden_tag int NULL, creator int null, @@ -47,7 +47,7 @@ CREATE TABLE JCL_ORG_SEQUENCE ( sequence_no varchar(100) COLLATE Chinese_PRC_CI_AS NULL, sequence_name varchar(100) COLLATE Chinese_PRC_CI_AS NULL, description text COLLATE Chinese_PRC_CI_AS NULL, - level_scheme int null, + scheme_id int null, forbidden_tag int NULL, creator int null, delete_type int null, @@ -248,7 +248,7 @@ CREATE TABLE JCL_ORG_JOB ( parent_comp int null, parent_dept int null, job_sequence int null, - level_scheme int null, + scheme_id int null, parent_job int null, is_key_job int null, workplace varchar(100) COLLATE Chinese_PRC_CI_AS NULL, diff --git a/src/com/api/organization/web/LevelController.java b/src/com/api/organization/web/LevelController.java new file mode 100644 index 00000000..019b2529 --- /dev/null +++ b/src/com/api/organization/web/LevelController.java @@ -0,0 +1,15 @@ +package com.api.organization.web; + +import javax.ws.rs.Path; + +/** + * + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/10 + * @version: 1.0 + */ +@Path("/bs/hrmorganization/level") +public class LevelController extends com.engine.organization.web.LevelController { + +} diff --git a/src/com/engine/organization/entity/scheme/dto/LevelDTO.java b/src/com/engine/organization/entity/scheme/dto/LevelDTO.java new file mode 100644 index 00000000..4bf86d20 --- /dev/null +++ b/src/com/engine/organization/entity/scheme/dto/LevelDTO.java @@ -0,0 +1,82 @@ +package com.engine.organization.entity.scheme.dto; + +import com.engine.organization.entity.scheme.param.LevelSearchParam; +import com.engine.organization.entity.scheme.po.LevelPO; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @Author dxfeng + * @Description: TODO + * @Date 2022/5/9 + * @Version V1.0 + **/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class LevelDTO { + /** + * 自增主键 + */ + private long id; + /** + * 编号 + */ + private String levelNo; + /** + * 方案名称 + */ + private String levelName; + /** + * 方案说明 + */ + private String description; + /** + * 等级方案 + */ + private Long schemeId; + /** + * 禁用标记 + */ + private int forbiddenTag; + /** + * + */ + private Long creator; + /** + * + */ + private int deleteType; + /** + * + */ + private Date createTime; + /** + * + */ + private Date updateTime; + + public static LevelPO convertParamToPO(LevelSearchParam param, Long employeeId) { + if (param == null) { + return null; + } + return LevelPO.builder() + .id(param.getId() == null ? 0 : param.getId()) + .levelNo(param.getLevelNo() == null ? null : param.getLevelNo()) + .levelName(param.getLevelName() == null ? null : param.getLevelName()) + .description(param.getDescription() == null ? null : param.getDescription()) + .schemeId(param.getSchemeId() == null ? 0 : param.getSchemeId()) + .forbiddenTag(param.getForbiddenTag() == null ? 0 : param.getForbiddenTag() ? 0 : 1) + .deleteType(0) + .createTime(new Date()) + .updateTime(new Date()) + .creator(employeeId) + .build(); + } + +} diff --git a/src/com/engine/organization/entity/scheme/dto/SchemeDTO.java b/src/com/engine/organization/entity/scheme/dto/SchemeDTO.java index 926df6ce..b442cf71 100644 --- a/src/com/engine/organization/entity/scheme/dto/SchemeDTO.java +++ b/src/com/engine/organization/entity/scheme/dto/SchemeDTO.java @@ -65,7 +65,7 @@ public class SchemeDTO { .id(param.get("id") == null ? 0 : Integer.parseInt((String) param.get("id"))) .schemeNo(param.get("scheme_no") == null ? null : (String) param.get("scheme_no")) .schemeName(param.get("scheme_name") == null ? null : (String) param.get("scheme_name")) - .schemeDescription(param.get("scheme_description") == null ? null : (String) param.get("descrscheme_descriptioniption")) + .schemeDescription(param.get("scheme_description") == null ? null : (String) param.get("scheme_description")) .forbiddenTag(param.get("forbidden_tag") == null ? 0 : Integer.parseInt((String) param.get("forbidden_tag"))) .deleteType(0) .createTime(new Date()) diff --git a/src/com/engine/organization/entity/scheme/param/LevelSearchParam.java b/src/com/engine/organization/entity/scheme/param/LevelSearchParam.java new file mode 100644 index 00000000..b4e5bf13 --- /dev/null +++ b/src/com/engine/organization/entity/scheme/param/LevelSearchParam.java @@ -0,0 +1,46 @@ +package com.engine.organization.entity.scheme.param; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author dxfeng + * @Description: TODO + * @Date 2022/5/9 + * @Version V1.0 + **/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class LevelSearchParam { + + private Long id; + /** + * 编号 + */ + private String levelNo; + + /** + * 名称 + */ + private String levelName; + + /** + * 方案说明 + */ + private String description; + + /** + * 等级方案 + */ + private Long schemeId; + + /** + * 禁用标记 + */ + private Boolean forbiddenTag; + +} diff --git a/src/com/engine/organization/entity/scheme/po/LevelPO.java b/src/com/engine/organization/entity/scheme/po/LevelPO.java index b9f18b06..b20d3c5d 100644 --- a/src/com/engine/organization/entity/scheme/po/LevelPO.java +++ b/src/com/engine/organization/entity/scheme/po/LevelPO.java @@ -39,7 +39,7 @@ public class LevelPO { /** * 等级方案标识 */ - private Long levelScheme; + private Long schemeId; /** *禁用标记 */ diff --git a/src/com/engine/organization/entity/scheme/vo/LevelTableVO.java b/src/com/engine/organization/entity/scheme/vo/LevelTableVO.java index 32edbac8..8b6a841e 100644 --- a/src/com/engine/organization/entity/scheme/vo/LevelTableVO.java +++ b/src/com/engine/organization/entity/scheme/vo/LevelTableVO.java @@ -19,13 +19,13 @@ import lombok.NoArgsConstructor; "t.level_name," + "t.description," + "s.scheme_name," + - "t.level_scheme," + + "t.scheme_id," + "t.forbidden_tag," + "t.creator," + "t.delete_type," + "t.create_time," + "t.update_time", - fromSql = "FROM jcl_org_level t inner join jcl_org_scheme s on t.level_scheme = s.id ", + fromSql = "FROM jcl_org_level t inner join jcl_org_scheme s on t.scheme_id = s.id ", orderby = "id desc", primarykey = "id", operates = { @@ -60,7 +60,7 @@ public class LevelTableVO { * 等级方案 */ // @OrganizationTableColumn(text = "等级方案", width = "20%", column = "level_scheme") - private String levelScheme; + private String schemeId; /** * 等级方案 diff --git a/src/com/engine/organization/mapper/scheme/LevelMapper.java b/src/com/engine/organization/mapper/scheme/LevelMapper.java new file mode 100644 index 00000000..2768a852 --- /dev/null +++ b/src/com/engine/organization/mapper/scheme/LevelMapper.java @@ -0,0 +1,62 @@ +package com.engine.organization.mapper.scheme; + + +import com.engine.organization.entity.scheme.po.LevelPO; +import org.apache.ibatis.annotations.Param; + +import java.util.Collection; +import java.util.List; + +/** + * @Author dxfeng + * @Description: TODO + * @Date 2022/5/9 + * @Version V1.0 + **/ +public interface LevelMapper { + + /** + * 根据No查询登记方案 + * + * @param levelNo + * @return + */ + List listByNo(@Param("levelNo") String levelNo); + + /** + * 获取职等根据ID + * @param id + * @return + */ + LevelPO getLevelByID(@Param("id") long id); + + /** + * 插入职等 + * @param levelPO + * @return + */ + int insertIgnoreNull(LevelPO levelPO); + + /** + * 修改,修改所有字段 + * + * @param levelPO + * @return + */ + int updateLevel(LevelPO levelPO); + + /** + * 更新禁用标记 + * + * @param levelPO + * @return + */ + int updateForbiddenTagById(LevelPO levelPO); + + /** + * 批量删除登记方案 + * + * @param ids + */ + int deleteByIds(@Param("ids") Collection ids); +} diff --git a/src/com/engine/organization/mapper/scheme/LevelMapper.xml b/src/com/engine/organization/mapper/scheme/LevelMapper.xml new file mode 100644 index 00000000..00ce54a7 --- /dev/null +++ b/src/com/engine/organization/mapper/scheme/LevelMapper.xml @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + t + . + id + , t.level_no + , t.level_name + , t.description + , t.scheme_id + , t.forbidden_tag + , t.creator + , t.delete_type + , t.create_time + , t.update_time + + + + + + + update jcl_org_level + + creator=#{creator}, + update_time=#{updateTime}, + level_no=#{levelNo}, + level_name=#{levelName}, + description=#{description}, + scheme_id=#{schemeId}, + + WHERE id = #{id} AND delete_type = 0 + + + + INSERT INTO jcl_org_level + + + creator, + + + delete_type, + + + create_time, + + + update_time, + + + level_no, + + + level_name, + + + description, + + + scheme_id, + + forbidden_tag, + + + + #{creator}, + + + #{deleteType}, + + + #{createTime}, + + + #{updateTime}, + + + #{levelNo}, + + + #{levelName}, + + + #{description}, + + + #{schemeId}, + + 0, + + + + + update jcl_org_level + + forbidden_tag=#{forbiddenTag}, + + WHERE id = #{id} AND delete_type = 0 + + + + UPDATE jcl_org_level + 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/service/LevelService.java b/src/com/engine/organization/service/LevelService.java index 122abac2..1e8373f5 100644 --- a/src/com/engine/organization/service/LevelService.java +++ b/src/com/engine/organization/service/LevelService.java @@ -1,5 +1,8 @@ package com.engine.organization.service; +import com.engine.organization.entity.scheme.param.LevelSearchParam; + +import java.util.Collection; import java.util.Map; /** @@ -10,10 +13,63 @@ import java.util.Map; */ public interface LevelService { /** - * 等级方案列表 + * 职等列表 * * @param params * @return */ Map listPage(Map params); + + /** + * 新增职等 + * @param param + * @return + */ + int saveLevel(LevelSearchParam param); + + /** + * 更新职等信息 + * + * @param param + * @return + */ + int updateLevel(LevelSearchParam param); + + /** + * 更新禁用标记 + * + * @param params + */ + int updateForbiddenTagById(LevelSearchParam params); + + /** + * 根据ID批量删除 + * + * @param ids + */ + int deleteByIds(Collection ids); + + /** + * 获取搜索条件 + * + * @param params + * @return + */ + Map getSearchCondition(Map params); + + + /** + * 获取新增表单 + * + * @param params + * @return + */ + Map getLevelForm(Map params); + + /** + * 获取列表页面按钮信息 + * @return + */ + Map getTableBtn(); + } diff --git a/src/com/engine/organization/service/impl/LevelServiceImpl.java b/src/com/engine/organization/service/impl/LevelServiceImpl.java index fac1fe7e..5a679bfb 100644 --- a/src/com/engine/organization/service/impl/LevelServiceImpl.java +++ b/src/com/engine/organization/service/impl/LevelServiceImpl.java @@ -1,31 +1,46 @@ package com.engine.organization.service.impl; +import com.api.browser.bean.SearchConditionGroup; +import com.api.browser.bean.SearchConditionItem; import com.cloudstore.eccom.result.WeaResultMsg; import com.engine.core.impl.Service; import com.engine.organization.component.OrganizationWeaTable; +import com.engine.organization.entity.scheme.dto.LevelDTO; +import com.engine.organization.entity.scheme.param.LevelSearchParam; +import com.engine.organization.entity.scheme.po.LevelPO; import com.engine.organization.entity.scheme.vo.LevelTableVO; -import com.engine.organization.entity.scheme.vo.SchemeTableVO; +import com.engine.organization.mapper.scheme.LevelMapper; import com.engine.organization.service.LevelService; +import com.engine.organization.util.MenuBtn; +import com.engine.organization.util.OrganizationAssert; +import com.engine.organization.util.OrganizationFormItemUtil; import com.engine.organization.util.db.DBType; +import com.engine.organization.util.db.MapperProxyFactory; import com.weaverboot.frame.ioc.anno.classAnno.WeaIocService; import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; +import weaver.general.StringUtil; +import weaver.general.Util; -import java.util.Map; +import java.util.*; /** - * - * @description: TODO + * @description: TODO * @author:dxfeng * @createTime: 2022/05/10 * @version: 1.0 */ @WeaIocService public class LevelServiceImpl extends Service implements LevelService { + + private LevelMapper getLevelMapper() { + return MapperProxyFactory.getProxy(LevelMapper.class); + } + @Override public Map listPage(Map params) { - OrganizationWeaTable table = new OrganizationWeaTable<>(user, LevelTableVO.class); + OrganizationWeaTable table = new OrganizationWeaTable<>(user, LevelTableVO.class); String sqlWhere = buildSqlWhere(params); table.setSqlwhere(sqlWhere); WeaResultMsg result = new WeaResultMsg(false); @@ -34,6 +49,92 @@ public class LevelServiceImpl extends Service implements LevelService { return result.getResultMap(); } + + @Override + public int saveLevel(LevelSearchParam param) { + List list = getLevelMapper().listByNo(Util.null2String(param.getLevelNo())); + OrganizationAssert.isEmpty(list, "编号不允许重复"); + LevelPO levelPO = LevelDTO.convertParamToPO(param, (long) user.getUID()); + System.out.println(levelPO); + return getLevelMapper().insertIgnoreNull(levelPO); + } + + @Override + public int updateLevel(LevelSearchParam param) { + LevelPO levelPO = LevelDTO.convertParamToPO(param, (long) user.getUID()); + return getLevelMapper().updateLevel(levelPO); + } + + @Override + public int updateForbiddenTagById(LevelSearchParam params) { + LevelPO levelPO = LevelPO.builder().id(params.getId()).forbiddenTag(params.getForbiddenTag() ? 0 : 1).build(); + return getLevelMapper().updateForbiddenTagById(levelPO); + } + + @Override + public int deleteByIds(Collection ids) { + OrganizationAssert.notEmpty(ids, "请选择要删除的数据"); + return getLevelMapper().deleteByIds(ids); + } + + + @Override + public Map getSearchCondition(Map params) { + Map apiDatas = new HashMap<>(); + List addGroups = new ArrayList<>(); + List conditionItems = new ArrayList<>(); + SearchConditionItem levelNameCondition = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "名称", "levelName"); + SearchConditionItem levelNoCondition = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "编号", "levelNo"); + conditionItems.add(levelNameCondition); + conditionItems.add(levelNoCondition); + addGroups.add(new SearchConditionGroup("高级搜索条件", true, conditionItems)); + apiDatas.put("conditions", addGroups); + return apiDatas; + } + + + @Override + public Map getLevelForm(Map params) { + Map apiDatas = new HashMap<>(); + List selectItems = new ArrayList<>(); + List addGroups = new ArrayList<>(); + SearchConditionItem levelNameCondition = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "名称", "levelName"); + levelNameCondition.setRules("required|string"); + SearchConditionItem levelNoCondition = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "编号", "levelNo"); + levelNoCondition.setRules("required|string"); + SearchConditionItem descriptionCondition = OrganizationFormItemUtil.textareaItem(user, 2, 16, true, 2, 60, "描述说明", "description"); + + // TODO 浏览按钮 + SearchConditionItem browserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 3, true, "等级方案", "17", "levelScheme"); + + // 编辑状态下赋值操作 + String id = Util.null2String(params.get("id")); + if (!StringUtil.isEmpty(id)) { + LevelPO levelPO = getLevelMapper().getLevelByID(Integer.parseInt(id)); + OrganizationAssert.notNull(levelPO, "选择的数据不存在,或数据已删除"); + + levelNameCondition.setValue(levelPO.getLevelName()); + levelNoCondition.setValue(levelPO.getLevelNo()); + descriptionCondition.setValue(levelPO.getDescription()); + // TODO 浏览按钮赋值 + // 编辑状态下,编号只读 + levelNoCondition.setViewAttr(1); + } + + selectItems.add(levelNoCondition); + selectItems.add(levelNameCondition); + selectItems.add(descriptionCondition); + selectItems.add(browserItem); + addGroups.add(new SearchConditionGroup("基本信息", true, selectItems)); + apiDatas.put("condition", addGroups); + return apiDatas; + } + + @Override + public Map getTableBtn() { + return MenuBtn.getCommonBtnDatas(); + } + /** * 查询条件 * diff --git a/src/com/engine/organization/service/impl/SchemeServiceImpl.java b/src/com/engine/organization/service/impl/SchemeServiceImpl.java index 66bbadce..3f5b1f1d 100644 --- a/src/com/engine/organization/service/impl/SchemeServiceImpl.java +++ b/src/com/engine/organization/service/impl/SchemeServiceImpl.java @@ -34,6 +34,10 @@ import java.util.*; public class SchemeServiceImpl extends Service implements SchemeService { + private SchemeMapper getSchemeMapper() { + return MapperProxyFactory.getProxy(SchemeMapper.class); + } + @Override public Map listPage(Map params) { OrganizationWeaTable table = new OrganizationWeaTable<>(user, SchemeTableVO.class); @@ -50,38 +54,32 @@ public class SchemeServiceImpl extends Service implements SchemeService { @Override public Map save(SchemeSearchParam param) { Map apidatas = new HashMap(16); - SchemeMapper mapper = MapperProxyFactory.getProxy(SchemeMapper.class); - List list = mapper.listByNo(Util.null2String(param.getSchemeNo())); + List list = getSchemeMapper().listByNo(Util.null2String(param.getSchemeNo())); OrganizationAssert.isEmpty(list, "编号不允许重复"); SchemePO schemePO = SchemeDTO.convertParamToPO(param, (long) user.getUID()); - mapper.insertIgnoreNull(schemePO); + getSchemeMapper().insertIgnoreNull(schemePO); return apidatas; } @Override public Map updateScheme(SchemeSearchParam param) { Map apidatas = new HashMap(); - SchemeMapper mapper = MapperProxyFactory.getProxy(SchemeMapper.class); SchemePO schemePO = SchemeDTO.convertParamToPO(param, (long) user.getUID()); - mapper.updateScheme(schemePO); + getSchemeMapper().updateScheme(schemePO); return apidatas; } @Override public void updateForbiddenTagById(SchemeSearchParam params) { - SchemeMapper mapper = MapperProxyFactory.getProxy(SchemeMapper.class); SchemePO schemePO = SchemePO.builder().id(params.getId()).forbiddenTag(params.getForbiddenTag() ? 0 : 1).build(); - mapper.updateForbiddenTagById(schemePO); + getSchemeMapper().updateForbiddenTagById(schemePO); } @Override public void deleteByIds(Collection ids) { OrganizationAssert.notEmpty(ids, "请选择要删除的数据"); - SchemeMapper mapper = MapperProxyFactory.getProxy(SchemeMapper.class); - List schemePOS = mapper.listSchemesByIds(ids); - OrganizationAssert.notEmpty(schemePOS, "选择的数据不存在,或数据已删除"); - mapper.deleteByIds(ids); + getSchemeMapper().deleteByIds(ids); } @@ -114,8 +112,7 @@ public class SchemeServiceImpl extends Service implements SchemeService { // 编辑状态下赋值操作 String id = Util.null2String(params.get("id")); if (!StringUtil.isEmpty(id)) { - SchemeMapper mapper = MapperProxyFactory.getProxy(SchemeMapper.class); - SchemePO schemePO = mapper.getSchemeByID(Integer.parseInt(id)); + SchemePO schemePO = getSchemeMapper().getSchemeByID(Integer.parseInt(id)); OrganizationAssert.notNull(schemePO, "选择的数据不存在,或数据已删除"); schemeNameCondition.setValue(schemePO.getSchemeName()); schemeNoCondition.setValue(schemePO.getSchemeNo()); @@ -135,22 +132,7 @@ public class SchemeServiceImpl extends Service implements SchemeService { @Override public Map getTableBtn() { - Map btnDatas = new HashMap<>(); - ArrayList topMenuList = new ArrayList<>(); - ArrayList rightMenuList = new ArrayList<>(); - // 新建 - topMenuList.add(MenuBtn.topMenu_addNew()); - // 批量删除 - topMenuList.add(MenuBtn.topMenu_batchDelete()); - btnDatas.put("topMenu", topMenuList); - // 新建 - rightMenuList.add(MenuBtn.rightMenu_addNew()); - // 日志 - rightMenuList.add(MenuBtn.rightMenu_btnLog()); - // 显示列定制 - rightMenuList.add(MenuBtn.rightMenu_btnColumn()); - btnDatas.put("rightMenu",rightMenuList); - return btnDatas; + return MenuBtn.getCommonBtnDatas(); } /** diff --git a/src/com/engine/organization/util/MenuBtn.java b/src/com/engine/organization/util/MenuBtn.java index 22d65cc7..ac273b73 100644 --- a/src/com/engine/organization/util/MenuBtn.java +++ b/src/com/engine/organization/util/MenuBtn.java @@ -5,8 +5,11 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; + /** - * * @description: MenuBtn工具类 * @author:dxfeng * @createTime: 2022/05/09 @@ -26,44 +29,71 @@ public class MenuBtn { /** * topMenu新增 + * * @return */ - public static MenuBtn topMenu_addNew(){ - return MenuBtn.builder().isBatch("1").isTop("1").menuFun("new").menuIcon("icon-coms-New-Flow").menuName("新建").type( "BTN_Addnew").build(); + public static MenuBtn topMenu_addNew() { + return MenuBtn.builder().isBatch("1").isTop("1").menuFun("new").menuIcon("icon-coms-New-Flow").menuName("新建").type("BTN_Addnew").build(); } /** * topMenu批量删除 + * * @return */ - public static MenuBtn topMenu_batchDelete(){ - return MenuBtn.builder().isBatch("1").isTop("1").menuFun("new").menuIcon("icon-coms-New-Flow").menuName("新建").type( "BTN_Addnew").build(); + public static MenuBtn topMenu_batchDelete() { + return MenuBtn.builder().isBatch("1").isTop("1").menuFun("batchDelete").menuIcon("icon-coms-Batch-delete").menuName("批量删除").type( "BTN_BatchDelete").build(); } /** * rightMenu新增 + * * @return */ - public static MenuBtn rightMenu_addNew(){ - return MenuBtn.builder().isBatch("0").isTop("1").menuFun("new").menuIcon("icon-coms-New-Flow").menuName("新建").type( "BTN_Addnew").build(); + public static MenuBtn rightMenu_addNew() { + return MenuBtn.builder().isBatch("0").isTop("1").menuFun("new").menuIcon("icon-coms-New-Flow").menuName("新建").type("BTN_Addnew").build(); } /** * rightMenu日志 + * * @return */ - public static MenuBtn rightMenu_btnLog(){ - return MenuBtn.builder().isBatch("0").isTop("0").menuFun("log").menuIcon("icon-coms-Print-log").menuName("日志").type( "BTN_log").build(); + public static MenuBtn rightMenu_btnLog() { + return MenuBtn.builder().isBatch("0").isTop("0").menuFun("log").menuIcon("icon-coms-Print-log").menuName("日志").type("BTN_log").build(); } /** * rightMenu显示列定制 + * * @return */ - public static MenuBtn rightMenu_btnColumn(){ - return MenuBtn.builder().isBatch("0").isTop("0").menuFun("custom").menuIcon("icon-coms-task-list").menuName("显示列定制").type( "BTN_COLUMN").build(); + public static MenuBtn rightMenu_btnColumn() { + return MenuBtn.builder().isBatch("0").isTop("0").menuFun("custom").menuIcon("icon-coms-task-list").menuName("显示列定制").type("BTN_COLUMN").build(); } + /** + * 获取常用按钮列表 + * @return + */ + public static Map getCommonBtnDatas() { + Map btnDatas = new HashMap<>(); + ArrayList topMenuList = new ArrayList<>(); + ArrayList rightMenuList = new ArrayList<>(); + // 新建 + topMenuList.add(MenuBtn.topMenu_addNew()); + // 批量删除 + topMenuList.add(MenuBtn.topMenu_batchDelete()); + btnDatas.put("topMenu", topMenuList); + // 新建 + rightMenuList.add(MenuBtn.rightMenu_addNew()); + // 日志 + rightMenuList.add(MenuBtn.rightMenu_btnLog()); + // 显示列定制 + rightMenuList.add(MenuBtn.rightMenu_btnColumn()); + btnDatas.put("rightMenu", rightMenuList); + return btnDatas; + } } diff --git a/src/com/engine/organization/web/LevelController.java b/src/com/engine/organization/web/LevelController.java index 951fef19..1344761d 100644 --- a/src/com/engine/organization/web/LevelController.java +++ b/src/com/engine/organization/web/LevelController.java @@ -2,14 +2,18 @@ package com.engine.organization.web; import com.engine.common.util.ParamUtil; import com.engine.common.util.ServiceUtil; +import com.engine.organization.entity.QueryParam; +import com.engine.organization.entity.scheme.param.LevelSearchParam; import com.engine.organization.util.response.ReturnResult; import com.engine.organization.wrapper.LevelWrapper; +import io.swagger.v3.oas.annotations.parameters.RequestBody; import weaver.hrm.HrmUserVarify; 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.core.Context; @@ -17,8 +21,7 @@ import javax.ws.rs.core.MediaType; import java.util.Map; /** - * - * @description: TODO + * @description: TODO * @author:dxfeng * @createTime: 2022/05/10 * @version: 1.0 @@ -38,7 +41,7 @@ public class LevelController { @GET @Path("/getLevelTable") @Produces(MediaType.APPLICATION_JSON) - public ReturnResult listScheme(@Context HttpServletRequest request, @Context HttpServletResponse response) { + public ReturnResult listLevel(@Context HttpServletRequest request, @Context HttpServletResponse response) { try { User user = HrmUserVarify.getUser(request, response); Map map = ParamUtil.request2Map(request); @@ -47,4 +50,144 @@ public class LevelController { return ReturnResult.exceptionHandle(e.getMessage()); } } + + /** + * 添加职等 + * + * @param request + * @param response + * @return + */ + @POST + @Path("/saveLevel") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult saveLevel(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LevelSearchParam param) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getLevelWrapper(user).saveLevel(param)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + /** + * 更新职等,修改所有字段 + * + * @param request + * @param response + * @param param + * @return + */ + @POST + @Path("/updateLevel") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult updateLevel(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LevelSearchParam param) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getLevelWrapper(user).updateLevel(param)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + /** + * 更新禁用标记 + * + * @param request + * @param response + * @param param + * @return + */ + @POST + @Path("/updateForbiddenTagById") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult updateForbiddenTagById(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LevelSearchParam param) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getLevelWrapper(user).updateForbiddenTagById(param)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + + /** + * 根据ID批量删除数据 + * + * @param request + * @param response + * @param param + * @return + */ + @POST + @Path("/deleteByIds") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult deleteByIds(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody QueryParam param) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getLevelWrapper(user).deleteByIds(param.getIds())); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + /** + * 高级搜索条件 + * + * @param request + * @param response + * @return + */ + @GET + @Path("/getSearchCondition") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getSearchCondition(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + return ReturnResult.successed(getLevelWrapper(user).getSearchCondition(map)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + + /** + * 新增、编辑表单 + * + * @param request + * @param response + * @return + */ + @GET + @Path("/getLevelForm") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getLevelForm(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + return ReturnResult.successed(getLevelWrapper(user).getLevelForm(map)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + /** + * 列表页顶部按钮 + * + * @param request + * @param response + * @return + */ + @GET + @Path("/getTableBtn") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getTableBtn(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getLevelWrapper(user).getTableBtn()); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } } diff --git a/src/com/engine/organization/wrapper/LevelWrapper.java b/src/com/engine/organization/wrapper/LevelWrapper.java index 528cadae..1e490d3b 100644 --- a/src/com/engine/organization/wrapper/LevelWrapper.java +++ b/src/com/engine/organization/wrapper/LevelWrapper.java @@ -2,15 +2,17 @@ package com.engine.organization.wrapper; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; +import com.engine.organization.entity.scheme.param.LevelSearchParam; import com.engine.organization.service.LevelService; import com.engine.organization.service.impl.LevelServiceImpl; +import org.apache.ibatis.annotations.Param; import weaver.hrm.User; +import java.util.Collection; import java.util.Map; /** - * - * @description: TODO + * @description: TODO * @author:dxfeng * @createTime: 2022/05/10 * @version: 1.0 @@ -21,7 +23,7 @@ public class LevelWrapper extends Service { } /** - * 等级方案列表 + * 职等列表 * * @param params * @return @@ -29,4 +31,72 @@ public class LevelWrapper extends Service { public Map listPage(Map params) { return getLevelService(user).listPage(params); } + + /** + * 新增职等 + * + * @param param + * @return + */ + public int saveLevel(LevelSearchParam param) { + return getLevelService(user).saveLevel(param); + } + + /** + * 更新职等 + * + * @param param + * @return + */ + public int updateLevel(LevelSearchParam param) { + return getLevelService(user).updateLevel(param); + } + + /** + * 更新禁用标记 + * + * @param params + */ + public int updateForbiddenTagById(LevelSearchParam params) { + return getLevelService(user).updateForbiddenTagById(params); + } + + /** + * 根据ID批量删除 + * + * @param ids + */ + public int deleteByIds(@Param("ids") Collection ids) { + return getLevelService(user).deleteByIds(ids); + } + + /** + * 获取搜索条件 + * + * @param params + * @return + */ + public Map getSearchCondition(Map params) { + return getLevelService(user).getSearchCondition(params); + } + + + /** + * 获取新增表单 + * + * @param params + * @return + */ + public Map getLevelForm(Map params) { + return getLevelService(user).getLevelForm(params); + } + + /** + * 获取列表页面按钮信息 + * + * @return + */ + public Map getTableBtn() { + return getLevelService(user).getTableBtn(); + } } From c5a7a1fb071740282e660cbf47d0b16ffcf74ff2 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 11 May 2022 13:38:58 +0800 Subject: [PATCH 16/36] =?UTF-8?q?=E8=81=8C=E7=AD=89=E8=81=8C=E7=BA=A7?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=20=E6=B5=8F=E8=A7=88=E6=A1=86=E5=AE=9A?= =?UTF-8?q?=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/organization/entity/TopTab.java | 35 ++++++ .../organization/service/LevelService.java | 6 ++ .../service/impl/LevelServiceImpl.java | 43 +++++--- .../service/impl/SchemeServiceImpl.java | 2 +- .../util/OrganizationFormItemUtil.java | 100 +++++++++++++----- 5 files changed, 145 insertions(+), 41 deletions(-) create mode 100644 src/com/engine/organization/entity/TopTab.java diff --git a/src/com/engine/organization/entity/TopTab.java b/src/com/engine/organization/entity/TopTab.java new file mode 100644 index 00000000..8a65866b --- /dev/null +++ b/src/com/engine/organization/entity/TopTab.java @@ -0,0 +1,35 @@ +package com.engine.organization.entity; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/11 + * @version: 1.0 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class TopTab { + private String color; + private String groupId; + private Boolean showCount; + private String title; + private String viewCondition; + + @Override + public String toString() { + return "TopTab{" + + "color='" + color + '\'' + + ", groupid='" + groupId + '\'' + + ", showcount='" + showCount + '\'' + + ", title='" + title + '\'' + + ", viewcondition='" + viewCondition + '\'' + + '}'; + } +} diff --git a/src/com/engine/organization/service/LevelService.java b/src/com/engine/organization/service/LevelService.java index 1e8373f5..d6f6b088 100644 --- a/src/com/engine/organization/service/LevelService.java +++ b/src/com/engine/organization/service/LevelService.java @@ -72,4 +72,10 @@ public interface LevelService { */ Map getTableBtn(); + /** + * 获取列表tabs + * @return + */ + Map getTableInfo(); + } diff --git a/src/com/engine/organization/service/impl/LevelServiceImpl.java b/src/com/engine/organization/service/impl/LevelServiceImpl.java index 5a679bfb..8370861f 100644 --- a/src/com/engine/organization/service/impl/LevelServiceImpl.java +++ b/src/com/engine/organization/service/impl/LevelServiceImpl.java @@ -5,6 +5,7 @@ import com.api.browser.bean.SearchConditionItem; import com.cloudstore.eccom.result.WeaResultMsg; import com.engine.core.impl.Service; import com.engine.organization.component.OrganizationWeaTable; +import com.engine.organization.entity.TopTab; import com.engine.organization.entity.scheme.dto.LevelDTO; import com.engine.organization.entity.scheme.param.LevelSearchParam; import com.engine.organization.entity.scheme.po.LevelPO; @@ -83,10 +84,10 @@ public class LevelServiceImpl extends Service implements LevelService { Map apiDatas = new HashMap<>(); List addGroups = new ArrayList<>(); List conditionItems = new ArrayList<>(); + SearchConditionItem browserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 3, false, "等级方案", "161", "schemeId", true, "schemeBrowser"); SearchConditionItem levelNameCondition = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "名称", "levelName"); - SearchConditionItem levelNoCondition = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "编号", "levelNo"); + conditionItems.add(browserItem); conditionItems.add(levelNameCondition); - conditionItems.add(levelNoCondition); addGroups.add(new SearchConditionGroup("高级搜索条件", true, conditionItems)); apiDatas.put("conditions", addGroups); return apiDatas; @@ -102,10 +103,8 @@ public class LevelServiceImpl extends Service implements LevelService { levelNameCondition.setRules("required|string"); SearchConditionItem levelNoCondition = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "编号", "levelNo"); levelNoCondition.setRules("required|string"); - SearchConditionItem descriptionCondition = OrganizationFormItemUtil.textareaItem(user, 2, 16, true, 2, 60, "描述说明", "description"); - - // TODO 浏览按钮 - SearchConditionItem browserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 3, true, "等级方案", "17", "levelScheme"); + SearchConditionItem descriptionCondition = OrganizationFormItemUtil.textareaItem(user, 2, 17, true, 2, 60, "描述说明", "description"); + SearchConditionItem browserItem = OrganizationFormItemUtil.browserItem(user, 2, 17, 3, false, "等级方案", "161", "schemeId", true, "schemeBrowser"); // 编辑状态下赋值操作 String id = Util.null2String(params.get("id")); @@ -116,7 +115,7 @@ public class LevelServiceImpl extends Service implements LevelService { levelNameCondition.setValue(levelPO.getLevelName()); levelNoCondition.setValue(levelPO.getLevelNo()); descriptionCondition.setValue(levelPO.getDescription()); - // TODO 浏览按钮赋值 + browserItem.setValue(levelPO.getSchemeId()); // 编辑状态下,编号只读 levelNoCondition.setViewAttr(1); } @@ -135,6 +134,19 @@ public class LevelServiceImpl extends Service implements LevelService { return MenuBtn.getCommonBtnDatas(); } + @Override + public Map getTableInfo() { + Map apiDatas = new HashMap<>(); + List topTabs = new ArrayList<>(); + topTabs.add(TopTab.builder().color("#000000").groupId("flowAll").showCount(true).title("全部").viewCondition("-1").build()); + topTabs.add(TopTab.builder().color("#ff3232").groupId("flowNew").showCount(true).title("启用").viewCondition("0").build()); + topTabs.add(TopTab.builder().color("#fea468").groupId("flowRes").showCount(true).title("禁用").viewCondition("1").build()); + apiDatas.put("topTabs",topTabs); + + apiDatas.put("topTabCount",topTabs); + return apiDatas; + } + /** * 查询条件 * @@ -144,13 +156,18 @@ public class LevelServiceImpl extends Service implements LevelService { private String buildSqlWhere(Map params) { DBType dbType = DBType.get(new RecordSet().getDBType()); String sqlWhere = " where t.delete_type ='0' "; - String name = (String) params.get("levelName"); - if (StringUtils.isNotBlank(name)) { - sqlWhere += " AND t.level_name " + dbType.like(name); + String levelName = (String) params.get("levelName"); + if (StringUtils.isNotBlank(levelName)) { + sqlWhere += " AND t.level_name " + dbType.like(levelName); + } + String schemeId = (String) params.get("schemeId"); + if (StringUtils.isNotBlank(schemeId)) { + sqlWhere += " AND t.scheme_id " + dbType.like(schemeId); } - String no = (String) params.get("levelNo"); - if (StringUtils.isNotBlank(no)) { - sqlWhere += " AND t.level_no " + dbType.like(no); + String viewCondition = (String) params.get("viewcondition"); + // -1:全部、0:启用、1:禁用 + if (StringUtils.isNotBlank(viewCondition) && !"-1".equalsIgnoreCase(viewCondition)) { + sqlWhere += " AND t.forbidden_tag = '" + schemeId + "'"; } return sqlWhere; } diff --git a/src/com/engine/organization/service/impl/SchemeServiceImpl.java b/src/com/engine/organization/service/impl/SchemeServiceImpl.java index 3f5b1f1d..b3b35ccd 100644 --- a/src/com/engine/organization/service/impl/SchemeServiceImpl.java +++ b/src/com/engine/organization/service/impl/SchemeServiceImpl.java @@ -107,7 +107,7 @@ public class SchemeServiceImpl extends Service implements SchemeService { schemeNameCondition.setRules("required|string"); SearchConditionItem schemeNoCondition = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "方案编号", "schemeNo"); schemeNoCondition.setRules("required|string"); - SearchConditionItem textareaItem = OrganizationFormItemUtil.textareaItem(user, 2, 16, true, 2, 60, "方案说明", "schemeDescription"); + SearchConditionItem textareaItem = OrganizationFormItemUtil.textareaItem(user, 2, 17, true, 2, 60, "方案说明", "schemeDescription"); // 编辑状态下赋值操作 String id = Util.null2String(params.get("id")); diff --git a/src/com/engine/organization/util/OrganizationFormItemUtil.java b/src/com/engine/organization/util/OrganizationFormItemUtil.java index 548a91d9..e0799bab 100644 --- a/src/com/engine/organization/util/OrganizationFormItemUtil.java +++ b/src/com/engine/organization/util/OrganizationFormItemUtil.java @@ -1,12 +1,15 @@ package com.engine.organization.util; +import com.api.browser.bean.BrowserBean; import com.api.browser.bean.SearchConditionItem; import com.api.browser.bean.SearchConditionOption; import com.api.browser.util.ConditionFactory; import com.api.browser.util.ConditionType; import weaver.hrm.User; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** @@ -19,6 +22,7 @@ public class OrganizationFormItemUtil { /** * 下拉框 + * * @param user * @param selectOptions * @param colSpan @@ -29,9 +33,9 @@ public class OrganizationFormItemUtil { * @return */ public static SearchConditionItem selectItem(User user, List selectOptions, int colSpan, int fieldcol, - int labelcol, boolean isQuickSearch, String label,String name) { + int labelcol, boolean isQuickSearch, String label, String name) { ConditionFactory conditionFactory = new ConditionFactory(user); - SearchConditionItem select = conditionFactory.createCondition(ConditionType.SELECT,502327,name); + SearchConditionItem select = conditionFactory.createCondition(ConditionType.SELECT, 502327, name); select.setOptions(selectOptions); select.setColSpan(colSpan); select.setFieldcol(fieldcol); @@ -44,6 +48,7 @@ public class OrganizationFormItemUtil { /** * checkbox + * * @param user * @param colSpan * @param fieldcol @@ -54,9 +59,9 @@ public class OrganizationFormItemUtil { * @return */ public static SearchConditionItem checkboxItem(User user, int colSpan, int fieldcol, - int viewAttr, boolean isQuickSearch, String label,String name) { + int viewAttr, boolean isQuickSearch, String label, String name) { ConditionFactory conditionFactory = new ConditionFactory(user); - SearchConditionItem checkbox = conditionFactory.createCondition(ConditionType.CHECKBOX,502327,name); + SearchConditionItem checkbox = conditionFactory.createCondition(ConditionType.CHECKBOX, 502327, name); checkbox.setColSpan(colSpan); checkbox.setFieldcol(fieldcol); checkbox.setViewAttr(viewAttr); @@ -68,6 +73,7 @@ public class OrganizationFormItemUtil { /** * 输入框数字 + * * @param user * @param colSpan * @param fieldcol @@ -75,10 +81,10 @@ public class OrganizationFormItemUtil { * @param label * @return */ - public static SearchConditionItem inputNumberItem(User user,int colSpan, int fieldcol, - int viewAttr, String label,String name) { + public static SearchConditionItem inputNumberItem(User user, int colSpan, int fieldcol, + int viewAttr, String label, String name) { ConditionFactory conditionFactory = new ConditionFactory(user); - SearchConditionItem inputnumber = conditionFactory.createCondition(ConditionType.INPUTNUMBER,502327, name); + SearchConditionItem inputnumber = conditionFactory.createCondition(ConditionType.INPUTNUMBER, 502327, name); inputnumber.setColSpan(colSpan); inputnumber.setFieldcol(fieldcol); inputnumber.setViewAttr(viewAttr); @@ -89,6 +95,7 @@ public class OrganizationFormItemUtil { /** * 输入框文本 + * * @param user * @param colSpan * @param fieldcol @@ -97,10 +104,10 @@ public class OrganizationFormItemUtil { * @param label * @return */ - public static SearchConditionItem inputItem(User user,int colSpan, int fieldcol, - int viewAttr,int length, String label,String name) { + public static SearchConditionItem inputItem(User user, int colSpan, int fieldcol, + int viewAttr, int length, String label, String name) { ConditionFactory conditionFactory = new ConditionFactory(user); - SearchConditionItem input = conditionFactory.createCondition(ConditionType.INPUT,25034, name); + SearchConditionItem input = conditionFactory.createCondition(ConditionType.INPUT, 25034, name); input.setColSpan(colSpan); input.setFieldcol(fieldcol); input.setViewAttr(viewAttr); @@ -109,8 +116,10 @@ public class OrganizationFormItemUtil { return input; } + /** * 浏览按钮 + * * @param user * @param colSpan * @param fieldcol @@ -118,23 +127,62 @@ public class OrganizationFormItemUtil { * @param isQuickSearch * @param label * @param type + * @param name + * @param iscustom 是否为自定义浏览按钮 + * @param fieldDbType 数据展现集成标识 * @return */ - public static SearchConditionItem browserItem(User user,int colSpan, int fieldcol, - int viewAttr,boolean isQuickSearch,String label,String type,String name) { + public static SearchConditionItem browserItem(User user, int colSpan, int fieldcol, + int viewAttr, boolean isQuickSearch, String label, String type, String name, Boolean iscustom, String fieldDbType) { ConditionFactory conditionFactory = new ConditionFactory(user); - SearchConditionItem browser = conditionFactory.createCondition(ConditionType.BROWSER,502327,name,type); + SearchConditionItem browser = conditionFactory.createCondition(ConditionType.BROWSER, 502327, name, type); browser.setColSpan(colSpan); browser.setFieldcol(fieldcol); browser.setViewAttr(viewAttr); browser.setIsQuickSearch(isQuickSearch); browser.setLabel(label); + if (iscustom) { + fieldDbType = "browser." + fieldDbType; + BrowserBean browserBean = new BrowserBean(); + // completeParams + Map completeMap = new HashMap<>(); + completeMap.put("f_weaver_belongto_usertype", 0); + completeMap.put("type", type); + completeMap.put("fielddbtype", fieldDbType); + browserBean.setCompleteParams(completeMap); + // conditionDataParams + Map conditionDataMap = new HashMap<>(); + conditionDataMap.put("f_weaver_belongto_usertype", 0); + conditionDataMap.put("type", fieldDbType); + conditionDataMap.put("fielddbtype", fieldDbType); + browserBean.setConditionDataParams(conditionDataMap); + // dataParams + Map dataMap = new HashMap<>(); + dataMap.put("f_weaver_belongto_usertype", 0); + dataMap.put("type", fieldDbType); + browserBean.setDataParams(dataMap); + // destDataParams + Map destDataMap = new HashMap<>(); + destDataMap.put("f_weaver_belongto_usertype", 0); + destDataMap.put("type", fieldDbType); + browserBean.setDestDataParams(destDataMap); + + browserBean.setLinkUrl(""); + browserBean.setMobileLinkUrl(""); + browserBean.setPageSize(10); + browserBean.setScrollx(true); + browserBean.setTitle(label); + browserBean.setType(type); + + browser.setBrowserConditionParam(browserBean); + } return browser; } /** * 日期区间 + * * @param user * @param colSpan * @param fieldcol @@ -142,20 +190,21 @@ public class OrganizationFormItemUtil { * @param label * @return */ - public static SearchConditionItem rangeDateItem(User user,int colSpan, int fieldcol,int viewAttr - ,String label,String name1,String name2) { + public static SearchConditionItem rangeDateItem(User user, int colSpan, int fieldcol, int viewAttr + , String label, String name1, String name2) { ConditionFactory conditionFactory = new ConditionFactory(user); - SearchConditionItem rangeDate = conditionFactory.createCondition(ConditionType.TIMEPICKER,502327,new String[]{name1,name2}); + SearchConditionItem rangeDate = conditionFactory.createCondition(ConditionType.TIMEPICKER, 502327, new String[]{name1, name2}); rangeDate.setColSpan(colSpan); rangeDate.setFieldcol(fieldcol); rangeDate.setViewAttr(viewAttr); rangeDate.setLabel(label); - return rangeDate; + return rangeDate; } /** * 多行文本框 + * * @param user * @param colSpan * @param fieldcol @@ -166,10 +215,10 @@ public class OrganizationFormItemUtil { * @param name * @return */ - public static SearchConditionItem textareaItem(User user,int colSpan, int fieldcol,boolean isQuickSearch, - int viewAttr,int length, String label,String name) { + public static SearchConditionItem textareaItem(User user, int colSpan, int fieldcol, boolean isQuickSearch, + int viewAttr, int length, String label, String name) { ConditionFactory conditionFactory = new ConditionFactory(user); - SearchConditionItem textarea = conditionFactory.createCondition(ConditionType.TEXTAREA,502227, name); + SearchConditionItem textarea = conditionFactory.createCondition(ConditionType.TEXTAREA, 502227, name); textarea.setColSpan(colSpan); textarea.setFieldcol(fieldcol); textarea.setIsQuickSearch(isQuickSearch); @@ -183,6 +232,7 @@ public class OrganizationFormItemUtil { /** * 日期 + * * @param user * @param colSpan * @param fieldcol @@ -192,10 +242,10 @@ public class OrganizationFormItemUtil { * @param name * @return */ - public static SearchConditionItem datePickerItem(User user,int colSpan, int fieldcol,boolean isQuickSearch, - int viewAttr,String label,String name) { + public static SearchConditionItem datePickerItem(User user, int colSpan, int fieldcol, boolean isQuickSearch, + int viewAttr, String label, String name) { ConditionFactory conditionFactory = new ConditionFactory(user); - SearchConditionItem datePicker = conditionFactory.createCondition(ConditionType.DATEPICKER,502227, name); + SearchConditionItem datePicker = conditionFactory.createCondition(ConditionType.DATEPICKER, 502227, name); datePicker.setColSpan(colSpan); datePicker.setFieldcol(fieldcol); datePicker.setIsQuickSearch(isQuickSearch); @@ -205,8 +255,4 @@ public class OrganizationFormItemUtil { } - - - - } From 1ce7ae9518d6a2efe728168a8a67df85b3716ece Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 11 May 2022 14:38:08 +0800 Subject: [PATCH 17/36] =?UTF-8?q?=E8=81=8C=E7=AD=89=E8=81=8C=E7=BA=A7?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=20getTableInfo=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/mapper/scheme/LevelMapper.java | 7 +++++++ .../organization/mapper/scheme/LevelMapper.xml | 6 ++++++ .../organization/service/impl/LevelServiceImpl.java | 13 +++++++++---- .../engine/organization/web/LevelController.java | 12 ++++++++++++ .../engine/organization/wrapper/LevelWrapper.java | 9 +++++++++ 5 files changed, 43 insertions(+), 4 deletions(-) diff --git a/src/com/engine/organization/mapper/scheme/LevelMapper.java b/src/com/engine/organization/mapper/scheme/LevelMapper.java index 2768a852..94bd12b5 100644 --- a/src/com/engine/organization/mapper/scheme/LevelMapper.java +++ b/src/com/engine/organization/mapper/scheme/LevelMapper.java @@ -59,4 +59,11 @@ public interface LevelMapper { * @param ids */ int deleteByIds(@Param("ids") Collection ids); + + /** + * 根据禁用标记统计 + * @param tag + * @return + */ + int getCountByTag(@Param("tag") int tag); } diff --git a/src/com/engine/organization/mapper/scheme/LevelMapper.xml b/src/com/engine/organization/mapper/scheme/LevelMapper.xml index 00ce54a7..8957a81c 100644 --- a/src/com/engine/organization/mapper/scheme/LevelMapper.xml +++ b/src/com/engine/organization/mapper/scheme/LevelMapper.xml @@ -41,6 +41,12 @@ from jcl_org_level t where level_no = #{levelNo} AND delete_type = 0 + update jcl_org_level diff --git a/src/com/engine/organization/service/impl/LevelServiceImpl.java b/src/com/engine/organization/service/impl/LevelServiceImpl.java index 8370861f..74b5a5d9 100644 --- a/src/com/engine/organization/service/impl/LevelServiceImpl.java +++ b/src/com/engine/organization/service/impl/LevelServiceImpl.java @@ -139,11 +139,16 @@ public class LevelServiceImpl extends Service implements LevelService { Map apiDatas = new HashMap<>(); List topTabs = new ArrayList<>(); topTabs.add(TopTab.builder().color("#000000").groupId("flowAll").showCount(true).title("全部").viewCondition("-1").build()); - topTabs.add(TopTab.builder().color("#ff3232").groupId("flowNew").showCount(true).title("启用").viewCondition("0").build()); - topTabs.add(TopTab.builder().color("#fea468").groupId("flowRes").showCount(true).title("禁用").viewCondition("1").build()); - apiDatas.put("topTabs",topTabs); + topTabs.add(TopTab.builder().color("#ff3232").groupId("enable").showCount(true).title("启用").viewCondition("0").build()); + topTabs.add(TopTab.builder().color("#fea468").groupId("disable").showCount(true).title("禁用").viewCondition("1").build()); + apiDatas.put("topTabs", topTabs); - apiDatas.put("topTabCount",topTabs); + HashMap countMap = new HashMap<>(); + countMap.put("flowAll", getLevelMapper().getCountByTag(-1)); + countMap.put("enable", getLevelMapper().getCountByTag(0)); + countMap.put("disable", getLevelMapper().getCountByTag(1)); + + apiDatas.put("topTabCount", countMap); return apiDatas; } diff --git a/src/com/engine/organization/web/LevelController.java b/src/com/engine/organization/web/LevelController.java index 1344761d..c360b03b 100644 --- a/src/com/engine/organization/web/LevelController.java +++ b/src/com/engine/organization/web/LevelController.java @@ -190,4 +190,16 @@ public class LevelController { return ReturnResult.exceptionHandle(e.getMessage()); } } + + @GET + @Path("/getTableInfo") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getTableInfo(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getLevelWrapper(user).getTableInfo()); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } } diff --git a/src/com/engine/organization/wrapper/LevelWrapper.java b/src/com/engine/organization/wrapper/LevelWrapper.java index 1e490d3b..fa351099 100644 --- a/src/com/engine/organization/wrapper/LevelWrapper.java +++ b/src/com/engine/organization/wrapper/LevelWrapper.java @@ -99,4 +99,13 @@ public class LevelWrapper extends Service { public Map getTableBtn() { return getLevelService(user).getTableBtn(); } + + /** + * 获取列表tabs + * + * @return + */ + public Map getTableInfo() { + return getLevelService(user).getTableInfo(); + } } From 16eac382109fe5fd56bde246745669236c3c22a0 Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Wed, 11 May 2022 14:43:33 +0800 Subject: [PATCH 18/36] =?UTF-8?q?=E4=BF=AE=E6=94=B9tabInfo=20url?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/organization/web/LevelController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/engine/organization/web/LevelController.java b/src/com/engine/organization/web/LevelController.java index c360b03b..25d15a89 100644 --- a/src/com/engine/organization/web/LevelController.java +++ b/src/com/engine/organization/web/LevelController.java @@ -192,7 +192,7 @@ public class LevelController { } @GET - @Path("/getTableInfo") + @Path("/getTabInfo") @Produces(MediaType.APPLICATION_JSON) public ReturnResult getTableInfo(@Context HttpServletRequest request, @Context HttpServletResponse response) { try { From 2d53588d39082e7b3b6418fec663380cdd402e40 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 11 May 2022 15:37:17 +0800 Subject: [PATCH 19/36] =?UTF-8?q?=E8=81=8C=E7=BA=A7=E6=8E=A5=E5=8F=A3=20?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E7=B1=BB=E6=B3=A8=E8=A7=A3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/scheme/dto/GradeDTO.java | 88 +++++++++ .../entity/scheme/param/GradeSearchParam.java | 49 +++++ .../entity/scheme/po/GradePO.java | 66 +++++++ .../entity/scheme/vo/GradeTableVO.java | 81 ++++++++ .../mapper/scheme/GradeMapper.java | 69 +++++++ .../mapper/scheme/GradeMapper.xml | 148 +++++++++++++++ .../organization/service/GradeService.java | 81 ++++++++ .../organization/service/LevelService.java | 2 +- .../service/impl/GradeServiceImpl.java | 177 ++++++++++++++++++ .../service/impl/LevelServiceImpl.java | 4 +- .../service/impl/SchemeServiceImpl.java | 3 - .../organization/web/LevelController.java | 4 +- .../organization/wrapper/GradeWrapper.java | 111 +++++++++++ .../organization/wrapper/LevelWrapper.java | 4 +- 14 files changed, 876 insertions(+), 11 deletions(-) create mode 100644 src/com/engine/organization/entity/scheme/dto/GradeDTO.java create mode 100644 src/com/engine/organization/entity/scheme/param/GradeSearchParam.java create mode 100644 src/com/engine/organization/entity/scheme/po/GradePO.java create mode 100644 src/com/engine/organization/entity/scheme/vo/GradeTableVO.java create mode 100644 src/com/engine/organization/mapper/scheme/GradeMapper.java create mode 100644 src/com/engine/organization/mapper/scheme/GradeMapper.xml create mode 100644 src/com/engine/organization/service/GradeService.java create mode 100644 src/com/engine/organization/service/impl/GradeServiceImpl.java create mode 100644 src/com/engine/organization/wrapper/GradeWrapper.java diff --git a/src/com/engine/organization/entity/scheme/dto/GradeDTO.java b/src/com/engine/organization/entity/scheme/dto/GradeDTO.java new file mode 100644 index 00000000..88286451 --- /dev/null +++ b/src/com/engine/organization/entity/scheme/dto/GradeDTO.java @@ -0,0 +1,88 @@ +package com.engine.organization.entity.scheme.dto; + +import com.engine.organization.entity.scheme.param.GradeSearchParam; +import com.engine.organization.entity.scheme.po.GradePO; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @Author dxfeng + * @Description: TODO + * @Date 2022/5/11 + * @Version V1.0 + **/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class GradeDTO { + /** + * 主键 + */ + private long id; + /** + * 编号 + */ + private String gradeNo; + /** + * 名称 + */ + private String gradeName; + /** + * 描述说明 + */ + private String description; + /** + * 等级方案 + */ + private long schemeId; + /** + * 职等 + */ + private long levelId; + /** + * 禁用标记 + */ + private int forbiddenTag; + + /** + * + */ + private Long creator; + /** + * + */ + private int deleteType; + /** + * + */ + private Date createTime; + /** + * + */ + private Date updateTime; + + public static GradePO convertParamToPO(GradeSearchParam param, Long employeeId) { + if (param == null) { + return null; + } + return GradePO.builder() + .id(param.getId() == null ? 0 : param.getId()) + .gradeNo(param.getGradeNo() == null ? null : param.getGradeNo()) + .gradeName(param.getGradeName() == null ? null : param.getGradeName()) + .description(param.getDescription() == null ? null : param.getDescription()) + .schemeId(param.getSchemeId() == null ? 0 : param.getSchemeId()) + .levelId(param.getLevelId() == null ? 0 : param.getLevelId()) + .forbiddenTag(param.getForbiddenTag() == null ? 0 : param.getForbiddenTag() ? 0 : 1) + .deleteType(0) + .createTime(new Date()) + .updateTime(new Date()) + .creator(employeeId) + .build(); + } + +} diff --git a/src/com/engine/organization/entity/scheme/param/GradeSearchParam.java b/src/com/engine/organization/entity/scheme/param/GradeSearchParam.java new file mode 100644 index 00000000..85308c99 --- /dev/null +++ b/src/com/engine/organization/entity/scheme/param/GradeSearchParam.java @@ -0,0 +1,49 @@ +package com.engine.organization.entity.scheme.param; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author dxfeng + * @Description: TODO + * @Date 2022/5/11 + * @Version V1.0 + **/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class GradeSearchParam { + + /** + * 主键 + */ + private Long id; + /** + * 编号 + */ + private String gradeNo; + /** + * 名称 + */ + private String gradeName; + /** + * 描述说明 + */ + private String description; + /** + * 等级方案 + */ + private Long schemeId; + /** + * 职等 + */ + private Long levelId; + /** + * 禁用标记 + */ + private Boolean forbiddenTag; + +} diff --git a/src/com/engine/organization/entity/scheme/po/GradePO.java b/src/com/engine/organization/entity/scheme/po/GradePO.java new file mode 100644 index 00000000..056c5911 --- /dev/null +++ b/src/com/engine/organization/entity/scheme/po/GradePO.java @@ -0,0 +1,66 @@ +package com.engine.organization.entity.scheme.po; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/11 + * @version: 1.0 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class GradePO { + /** + * 主键 + */ + private long id; + /** + * 编号 + */ + private String gradeNo; + /** + * 名称 + */ + private String gradeName; + /** + * 描述说明 + */ + private String description; + /** + * 等级方案 + */ + private long schemeId; + /** + * 职等 + */ + private long levelId; + /** + * 禁用标记 + */ + private int forbiddenTag; + /** + * + */ + private Long creator; + /** + * + */ + private int deleteType; + /** + * + */ + private Date createTime; + /** + * + */ + private Date updateTime; + +} diff --git a/src/com/engine/organization/entity/scheme/vo/GradeTableVO.java b/src/com/engine/organization/entity/scheme/vo/GradeTableVO.java new file mode 100644 index 00000000..56fa2a4f --- /dev/null +++ b/src/com/engine/organization/entity/scheme/vo/GradeTableVO.java @@ -0,0 +1,81 @@ +package com.engine.organization.entity.scheme.vo; + +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; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/11 + * @version: 1.0 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@OrganizationTable(pageId = "1afe425c-d0f8-11ec-b80e-00ffcbed7508", + fields = "t.id ," + + " t.grade_no ," + + " t.grade_name ," + + " t.description ," + + " a.scheme_name ," + + " b.level_name ," + + " t.forbidden_tag", + fromSql = "from jcl_org_grade t inner join jcl_org_scheme a on t.scheme_id = a.id inner join jcl_org_level b on t.level_id = b.id ", + orderby = "id desc", + primarykey = "id", + operates = { + @OrganizationTableOperate(index = "0", text = "编辑"), + @OrganizationTableOperate(index = "1", text = "删除") + } +) +public class GradeTableVO { + /** + * 主键 + */ + @OrganizationTableColumn(column = "id", display = false) + private Long id; + /** + * 编号 + */ + @OrganizationTableColumn(text = "编号", width = "20%", column = "grade_no") + private String gradeNo; + /** + * 名称 + */ + @OrganizationTableColumn(text = "名称", width = "20%", column = "grade_name") + private String gradeName; + /** + * 描述说明 + */ + @OrganizationTableColumn(text = "描述说明", width = "20%", column = "description") + private String description; + /** + * 等级方案 + */ + private long schemeId; + /** + * 等级方案 + */ + @OrganizationTableColumn(text = "等级方案", width = "20%", column = "scheme_name") + private String schemeName; + /** + * 职等 + */ + private long levelId; + /** + * 职等 + */ + @OrganizationTableColumn(text = "等级方案", width = "20%", column = "level_name") + private String levelName; + /** + * 禁用标记 + */ + @OrganizationTableColumn(text = "禁用标记", width = "20%", column = "forbidden_tag") + private int forbiddenTag; +} diff --git a/src/com/engine/organization/mapper/scheme/GradeMapper.java b/src/com/engine/organization/mapper/scheme/GradeMapper.java new file mode 100644 index 00000000..6fd3a36d --- /dev/null +++ b/src/com/engine/organization/mapper/scheme/GradeMapper.java @@ -0,0 +1,69 @@ +package com.engine.organization.mapper.scheme; + + +import com.engine.organization.entity.scheme.po.GradePO; +import org.apache.ibatis.annotations.Param; + +import java.util.Collection; +import java.util.List; + +/** + * @Author dxfeng + * @Description: TODO + * @Date 2022/5/11 + * @Version V1.0 + **/ +public interface GradeMapper { + + /** + * 根据No查询登记方案 + * + * @param gradeNo + * @return + */ + List listByNo(@Param("gradeNo") String gradeNo); + + /** + * 获取职等根据ID + * @param id + * @return + */ + GradePO getGradeByID(@Param("id") long id); + + /** + * 插入职等 + * @param gradePO + * @return + */ + int insertIgnoreNull(GradePO gradePO); + + /** + * 修改,修改所有字段 + * + * @param gradePO + * @return + */ + int updateGrade(GradePO gradePO); + + /** + * 更新禁用标记 + * + * @param gradePO + * @return + */ + int updateForbiddenTagById(GradePO gradePO); + + /** + * 批量删除登记方案 + * + * @param ids + */ + int deleteByIds(@Param("ids") Collection ids); + + /** + * 根据禁用标记统计 + * @param tag + * @return + */ + int getCountByTag(@Param("tag") int tag); +} diff --git a/src/com/engine/organization/mapper/scheme/GradeMapper.xml b/src/com/engine/organization/mapper/scheme/GradeMapper.xml new file mode 100644 index 00000000..6013878b --- /dev/null +++ b/src/com/engine/organization/mapper/scheme/GradeMapper.xml @@ -0,0 +1,148 @@ + + + + + + + + + + + + + + + + + + + + t + . + id + , t.grade_no + , t.grade_name + , t.description + , t.scheme_id + , t.level_id + , t.forbidden_tag + , t.creator + , t.delete_type + , t.create_time + , t.update_time + + + + + + + + update jcl_org_grade + + creator=#{creator}, + update_time=#{updateTime}, + grade_no=#{gradeNo}, + grade_name=#{gradeName}, + description=#{description}, + scheme_id=#{schemeId}, + level_id=#{levelId}, + + WHERE id = #{id} AND delete_type = 0 + + + + INSERT INTO jcl_org_grade + + + creator, + + + delete_type, + + + create_time, + + + update_time, + + + grade_no, + + + grade_name, + + + description, + + + scheme_id, + + level_id, + + forbidden_tag, + + + + #{creator}, + + + #{deleteType}, + + + #{createTime}, + + + #{updateTime}, + + + #{gradeNo}, + + + #{gradeName}, + + + #{description}, + + + #{schemeId}, + + #{levelId}, + + 0, + + + + + update jcl_org_grade + + forbidden_tag=#{forbiddenTag}, + + WHERE id = #{id} AND delete_type = 0 + + + + UPDATE jcl_org_grade + 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/service/GradeService.java b/src/com/engine/organization/service/GradeService.java new file mode 100644 index 00000000..1bba061c --- /dev/null +++ b/src/com/engine/organization/service/GradeService.java @@ -0,0 +1,81 @@ +package com.engine.organization.service; + +import com.engine.organization.entity.scheme.param.GradeSearchParam; + +import java.util.Collection; +import java.util.Map; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/11 + * @version: 1.0 + */ +public interface GradeService { + /** + * 职等列表 + * + * @param params + * @return + */ + Map listPage(Map params); + + /** + * 新增职等 + * @param param + * @return + */ + int saveGrade(GradeSearchParam param); + + /** + * 更新职等信息 + * + * @param param + * @return + */ + int updateGrade(GradeSearchParam param); + + /** + * 更新禁用标记 + * + * @param params + */ + int updateForbiddenTagById(GradeSearchParam params); + + /** + * 根据ID批量删除 + * + * @param ids + */ + int deleteByIds(Collection ids); + + /** + * 获取搜索条件 + * + * @param params + * @return + */ + Map getSearchCondition(Map params); + + + /** + * 获取新增表单 + * + * @param params + * @return + */ + Map getGradeForm(Map params); + + /** + * 获取列表页面按钮信息 + * @return + */ + Map getTableBtn(); + + /** + * 获取列表tabs + * @return + */ + Map getTabInfo(); + +} diff --git a/src/com/engine/organization/service/LevelService.java b/src/com/engine/organization/service/LevelService.java index d6f6b088..9cf15c3e 100644 --- a/src/com/engine/organization/service/LevelService.java +++ b/src/com/engine/organization/service/LevelService.java @@ -76,6 +76,6 @@ public interface LevelService { * 获取列表tabs * @return */ - Map getTableInfo(); + Map getTabInfo(); } diff --git a/src/com/engine/organization/service/impl/GradeServiceImpl.java b/src/com/engine/organization/service/impl/GradeServiceImpl.java new file mode 100644 index 00000000..f2903ab0 --- /dev/null +++ b/src/com/engine/organization/service/impl/GradeServiceImpl.java @@ -0,0 +1,177 @@ +package com.engine.organization.service.impl; + +import com.api.browser.bean.SearchConditionGroup; +import com.api.browser.bean.SearchConditionItem; +import com.cloudstore.eccom.result.WeaResultMsg; +import com.engine.core.impl.Service; +import com.engine.organization.component.OrganizationWeaTable; +import com.engine.organization.entity.TopTab; +import com.engine.organization.entity.scheme.dto.GradeDTO; +import com.engine.organization.entity.scheme.param.GradeSearchParam; +import com.engine.organization.entity.scheme.po.GradePO; +import com.engine.organization.entity.scheme.vo.GradeTableVO; +import com.engine.organization.mapper.scheme.GradeMapper; +import com.engine.organization.service.GradeService; +import com.engine.organization.util.MenuBtn; +import com.engine.organization.util.OrganizationAssert; +import com.engine.organization.util.OrganizationFormItemUtil; +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.*; + + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/11 + * @version: 1.0 + */ +public class GradeServiceImpl extends Service implements GradeService { + + private GradeMapper getGradeMapper() { + return MapperProxyFactory.getProxy(GradeMapper.class); + } + + @Override + public Map listPage(Map params) { + OrganizationWeaTable table = new OrganizationWeaTable<>(user, GradeTableVO.class); + String sqlWhere = buildSqlWhere(params); + table.setSqlwhere(sqlWhere); + WeaResultMsg result = new WeaResultMsg(false); + result.putAll(table.makeDataResult()); + result.success(); + return result.getResultMap(); + } + + + @Override + public int saveGrade(GradeSearchParam param) { + List list = getGradeMapper().listByNo(Util.null2String(param.getGradeNo())); + OrganizationAssert.isEmpty(list, "编号不允许重复"); + GradePO gradePO = GradeDTO.convertParamToPO(param, (long) user.getUID()); + System.out.println(gradePO); + return getGradeMapper().insertIgnoreNull(gradePO); + } + + @Override + public int updateGrade(GradeSearchParam param) { + GradePO gradePO = GradeDTO.convertParamToPO(param, (long) user.getUID()); + return getGradeMapper().updateGrade(gradePO); + } + + @Override + public int updateForbiddenTagById(GradeSearchParam params) { + GradePO gradePO = GradePO.builder().id(params.getId()).forbiddenTag(params.getForbiddenTag() ? 0 : 1).build(); + return getGradeMapper().updateForbiddenTagById(gradePO); + } + + @Override + public int deleteByIds(Collection ids) { + OrganizationAssert.notEmpty(ids, "请选择要删除的数据"); + return getGradeMapper().deleteByIds(ids); + } + + + @Override + public Map getSearchCondition(Map params) { + Map apiDatas = new HashMap<>(); + List addGroups = new ArrayList<>(); + List conditionItems = new ArrayList<>(); + SearchConditionItem browserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 3, false, "等级方案", "161", "schemeId", true, "schemeBrowser"); + SearchConditionItem gradeNameCondition = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "名称", "gradeName"); + conditionItems.add(browserItem); + conditionItems.add(gradeNameCondition); + addGroups.add(new SearchConditionGroup("高级搜索条件", true, conditionItems)); + apiDatas.put("conditions", addGroups); + return apiDatas; + } + + + @Override + public Map getGradeForm(Map params) { + Map apiDatas = new HashMap<>(); + List selectItems = new ArrayList<>(); + List addGroups = new ArrayList<>(); + SearchConditionItem gradeNameCondition = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "名称", "gradeName"); + gradeNameCondition.setRules("required|string"); + SearchConditionItem gradeNoCondition = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "编号", "gradeNo"); + gradeNoCondition.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", true, "schemeBrowser"); + + // 编辑状态下赋值操作 + String id = Util.null2String(params.get("id")); + if (!StringUtil.isEmpty(id)) { + GradePO gradePO = getGradeMapper().getGradeByID(Integer.parseInt(id)); + OrganizationAssert.notNull(gradePO, "选择的数据不存在,或数据已删除"); + + gradeNameCondition.setValue(gradePO.getGradeName()); + gradeNoCondition.setValue(gradePO.getGradeNo()); + descriptionCondition.setValue(gradePO.getDescription()); + browserItem.setValue(gradePO.getSchemeId()); + // 编辑状态下,编号只读 + gradeNoCondition.setViewAttr(1); + } + + selectItems.add(gradeNoCondition); + selectItems.add(gradeNameCondition); + selectItems.add(descriptionCondition); + selectItems.add(browserItem); + addGroups.add(new SearchConditionGroup("基本信息", true, selectItems)); + apiDatas.put("condition", addGroups); + return apiDatas; + } + + @Override + public Map getTableBtn() { + return MenuBtn.getCommonBtnDatas(); + } + + @Override + public Map getTabInfo() { + Map apiDatas = new HashMap<>(); + List topTabs = new ArrayList<>(); + topTabs.add(TopTab.builder().color("#000000").groupId("flowAll").showCount(true).title("全部").viewCondition("-1").build()); + topTabs.add(TopTab.builder().color("#ff3232").groupId("enable").showCount(true).title("启用").viewCondition("0").build()); + topTabs.add(TopTab.builder().color("#fea468").groupId("disable").showCount(true).title("禁用").viewCondition("1").build()); + apiDatas.put("topTabs", topTabs); + + HashMap countMap = new HashMap<>(); + countMap.put("flowAll", getGradeMapper().getCountByTag(-1)); + countMap.put("enable", getGradeMapper().getCountByTag(0)); + countMap.put("disable", getGradeMapper().getCountByTag(1)); + + apiDatas.put("topTabCount", countMap); + 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 gradeName = (String) params.get("gradeName"); + if (StringUtils.isNotBlank(gradeName)) { + sqlWhere += " AND t.grade_name " + dbType.like(gradeName); + } + String schemeId = (String) params.get("schemeId"); + if (StringUtils.isNotBlank(schemeId)) { + sqlWhere += " AND t.scheme_id " + dbType.like(schemeId); + } + String viewCondition = (String) params.get("viewcondition"); + // -1:全部、0:启用、1:禁用 + if (StringUtils.isNotBlank(viewCondition) && !"-1".equalsIgnoreCase(viewCondition)) { + sqlWhere += " AND t.forbidden_tag = '" + schemeId + "'"; + } + return sqlWhere; + } +} diff --git a/src/com/engine/organization/service/impl/LevelServiceImpl.java b/src/com/engine/organization/service/impl/LevelServiceImpl.java index 74b5a5d9..6328a658 100644 --- a/src/com/engine/organization/service/impl/LevelServiceImpl.java +++ b/src/com/engine/organization/service/impl/LevelServiceImpl.java @@ -17,7 +17,6 @@ import com.engine.organization.util.OrganizationAssert; import com.engine.organization.util.OrganizationFormItemUtil; import com.engine.organization.util.db.DBType; import com.engine.organization.util.db.MapperProxyFactory; -import com.weaverboot.frame.ioc.anno.classAnno.WeaIocService; import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; import weaver.general.StringUtil; @@ -32,7 +31,6 @@ import java.util.*; * @createTime: 2022/05/10 * @version: 1.0 */ -@WeaIocService public class LevelServiceImpl extends Service implements LevelService { private LevelMapper getLevelMapper() { @@ -135,7 +133,7 @@ public class LevelServiceImpl extends Service implements LevelService { } @Override - public Map getTableInfo() { + public Map getTabInfo() { Map apiDatas = new HashMap<>(); List topTabs = new ArrayList<>(); topTabs.add(TopTab.builder().color("#000000").groupId("flowAll").showCount(true).title("全部").viewCondition("-1").build()); diff --git a/src/com/engine/organization/service/impl/SchemeServiceImpl.java b/src/com/engine/organization/service/impl/SchemeServiceImpl.java index b3b35ccd..3eac99ef 100644 --- a/src/com/engine/organization/service/impl/SchemeServiceImpl.java +++ b/src/com/engine/organization/service/impl/SchemeServiceImpl.java @@ -16,7 +16,6 @@ import com.engine.organization.util.OrganizationAssert; import com.engine.organization.util.OrganizationFormItemUtil; import com.engine.organization.util.db.DBType; import com.engine.organization.util.db.MapperProxyFactory; -import com.weaverboot.frame.ioc.anno.classAnno.WeaIocService; import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; import weaver.general.StringUtil; @@ -30,8 +29,6 @@ import java.util.*; * @Date 2022/5/9 * @Version V1.0 **/ -@WeaIocService - public class SchemeServiceImpl extends Service implements SchemeService { private SchemeMapper getSchemeMapper() { diff --git a/src/com/engine/organization/web/LevelController.java b/src/com/engine/organization/web/LevelController.java index 25d15a89..48b6aad3 100644 --- a/src/com/engine/organization/web/LevelController.java +++ b/src/com/engine/organization/web/LevelController.java @@ -194,10 +194,10 @@ public class LevelController { @GET @Path("/getTabInfo") @Produces(MediaType.APPLICATION_JSON) - public ReturnResult getTableInfo(@Context HttpServletRequest request, @Context HttpServletResponse response) { + public ReturnResult getTabInfo(@Context HttpServletRequest request, @Context HttpServletResponse response) { try { User user = HrmUserVarify.getUser(request, response); - return ReturnResult.successed(getLevelWrapper(user).getTableInfo()); + return ReturnResult.successed(getLevelWrapper(user).getTabInfo()); } catch (Exception e) { return ReturnResult.exceptionHandle(e.getMessage()); } diff --git a/src/com/engine/organization/wrapper/GradeWrapper.java b/src/com/engine/organization/wrapper/GradeWrapper.java new file mode 100644 index 00000000..3f441c0e --- /dev/null +++ b/src/com/engine/organization/wrapper/GradeWrapper.java @@ -0,0 +1,111 @@ +package com.engine.organization.wrapper; + +import com.engine.common.util.ServiceUtil; +import com.engine.core.impl.Service; +import com.engine.organization.entity.scheme.param.LevelSearchParam; +import com.engine.organization.service.LevelService; +import com.engine.organization.service.impl.LevelServiceImpl; +import org.apache.ibatis.annotations.Param; +import weaver.hrm.User; + +import java.util.Collection; +import java.util.Map; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/10 + * @version: 1.0 + */ +public class GradeWrapper extends Service { + private LevelService getLevelService(User user) { + return ServiceUtil.getService(LevelServiceImpl.class, user); + } + + /** + * 职等列表 + * + * @param params + * @return + */ + public Map listPage(Map params) { + return getLevelService(user).listPage(params); + } + + /** + * 新增职等 + * + * @param param + * @return + */ + public int saveLevel(LevelSearchParam param) { + return getLevelService(user).saveLevel(param); + } + + /** + * 更新职等 + * + * @param param + * @return + */ + public int updateLevel(LevelSearchParam param) { + return getLevelService(user).updateLevel(param); + } + + /** + * 更新禁用标记 + * + * @param params + */ + public int updateForbiddenTagById(LevelSearchParam params) { + return getLevelService(user).updateForbiddenTagById(params); + } + + /** + * 根据ID批量删除 + * + * @param ids + */ + public int deleteByIds(@Param("ids") Collection ids) { + return getLevelService(user).deleteByIds(ids); + } + + /** + * 获取搜索条件 + * + * @param params + * @return + */ + public Map getSearchCondition(Map params) { + return getLevelService(user).getSearchCondition(params); + } + + + /** + * 获取新增表单 + * + * @param params + * @return + */ + public Map getLevelForm(Map params) { + return getLevelService(user).getLevelForm(params); + } + + /** + * 获取列表页面按钮信息 + * + * @return + */ + public Map getTableBtn() { + return getLevelService(user).getTableBtn(); + } + + /** + * 获取列表tabs + * + * @return + */ + public Map getTabInfo() { + return getLevelService(user).getTabInfo(); + } +} diff --git a/src/com/engine/organization/wrapper/LevelWrapper.java b/src/com/engine/organization/wrapper/LevelWrapper.java index fa351099..bfe46899 100644 --- a/src/com/engine/organization/wrapper/LevelWrapper.java +++ b/src/com/engine/organization/wrapper/LevelWrapper.java @@ -105,7 +105,7 @@ public class LevelWrapper extends Service { * * @return */ - public Map getTableInfo() { - return getLevelService(user).getTableInfo(); + public Map getTabInfo() { + return getLevelService(user).getTabInfo(); } } From 2f54556afdacd4db84ac5e756990cd505ca7c15a Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Wed, 11 May 2022 16:29:08 +0800 Subject: [PATCH 20/36] =?UTF-8?q?=E4=BF=AE=E6=94=B9topTap?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/organization/entity/TopTab.java | 4 ++-- .../engine/organization/service/impl/GradeServiceImpl.java | 6 +++--- .../engine/organization/service/impl/LevelServiceImpl.java | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/com/engine/organization/entity/TopTab.java b/src/com/engine/organization/entity/TopTab.java index 8a65866b..404e48bd 100644 --- a/src/com/engine/organization/entity/TopTab.java +++ b/src/com/engine/organization/entity/TopTab.java @@ -18,7 +18,7 @@ import lombok.NoArgsConstructor; public class TopTab { private String color; private String groupId; - private Boolean showCount; + private Boolean showcount; private String title; private String viewCondition; @@ -27,7 +27,7 @@ public class TopTab { return "TopTab{" + "color='" + color + '\'' + ", groupid='" + groupId + '\'' + - ", showcount='" + showCount + '\'' + + ", showcount='" + showcount + '\'' + ", title='" + title + '\'' + ", viewcondition='" + viewCondition + '\'' + '}'; diff --git a/src/com/engine/organization/service/impl/GradeServiceImpl.java b/src/com/engine/organization/service/impl/GradeServiceImpl.java index f2903ab0..d0dd74cb 100644 --- a/src/com/engine/organization/service/impl/GradeServiceImpl.java +++ b/src/com/engine/organization/service/impl/GradeServiceImpl.java @@ -136,9 +136,9 @@ public class GradeServiceImpl extends Service implements GradeService { public Map getTabInfo() { Map apiDatas = new HashMap<>(); List topTabs = new ArrayList<>(); - topTabs.add(TopTab.builder().color("#000000").groupId("flowAll").showCount(true).title("全部").viewCondition("-1").build()); - topTabs.add(TopTab.builder().color("#ff3232").groupId("enable").showCount(true).title("启用").viewCondition("0").build()); - topTabs.add(TopTab.builder().color("#fea468").groupId("disable").showCount(true).title("禁用").viewCondition("1").build()); + topTabs.add(TopTab.builder().color("#000000").groupId("flowAll").showcount(true).title("全部").viewCondition("-1").build()); + topTabs.add(TopTab.builder().color("#ff3232").groupId("enable").showcount(true).title("启用").viewCondition("0").build()); + topTabs.add(TopTab.builder().color("#fea468").groupId("disable").showcount(true).title("禁用").viewCondition("1").build()); apiDatas.put("topTabs", topTabs); HashMap countMap = new HashMap<>(); diff --git a/src/com/engine/organization/service/impl/LevelServiceImpl.java b/src/com/engine/organization/service/impl/LevelServiceImpl.java index 6328a658..1175af1d 100644 --- a/src/com/engine/organization/service/impl/LevelServiceImpl.java +++ b/src/com/engine/organization/service/impl/LevelServiceImpl.java @@ -136,9 +136,9 @@ public class LevelServiceImpl extends Service implements LevelService { public Map getTabInfo() { Map apiDatas = new HashMap<>(); List topTabs = new ArrayList<>(); - topTabs.add(TopTab.builder().color("#000000").groupId("flowAll").showCount(true).title("全部").viewCondition("-1").build()); - topTabs.add(TopTab.builder().color("#ff3232").groupId("enable").showCount(true).title("启用").viewCondition("0").build()); - topTabs.add(TopTab.builder().color("#fea468").groupId("disable").showCount(true).title("禁用").viewCondition("1").build()); + topTabs.add(TopTab.builder().color("#000000").groupId("flowAll").showcount(true).title("全部").viewCondition("-1").build()); + topTabs.add(TopTab.builder().color("#ff3232").groupId("enable").showcount(true).title("启用").viewCondition("0").build()); + topTabs.add(TopTab.builder().color("#fea468").groupId("disable").showcount(true).title("禁用").viewCondition("1").build()); apiDatas.put("topTabs", topTabs); HashMap countMap = new HashMap<>(); From 0dea1b6ae490678929a21699daa0ce728bd547e5 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 11 May 2022 18:27:52 +0800 Subject: [PATCH 21/36] =?UTF-8?q?=E8=81=8C=E7=BA=A7=E6=8E=A5=E5=8F=A3=20?= =?UTF-8?q?=E8=81=8C=E7=AD=89=E6=90=9C=E7=B4=A2=E6=9D=A1=E4=BB=B6=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/organization/web/GradeController.java | 14 ++ .../engine/organization/entity/TopTab.java | 11 - .../mapper/scheme/GradeMapper.java | 4 +- .../organization/service/GradeService.java | 8 +- .../service/impl/GradeServiceImpl.java | 14 +- .../service/impl/LevelServiceImpl.java | 5 +- .../util/OrganizationFormItemUtil.java | 11 +- .../organization/web/GradeController.java | 205 ++++++++++++++++++ .../organization/wrapper/GradeWrapper.java | 46 ++-- 9 files changed, 266 insertions(+), 52 deletions(-) create mode 100644 src/com/api/organization/web/GradeController.java create mode 100644 src/com/engine/organization/web/GradeController.java diff --git a/src/com/api/organization/web/GradeController.java b/src/com/api/organization/web/GradeController.java new file mode 100644 index 00000000..d116f3e1 --- /dev/null +++ b/src/com/api/organization/web/GradeController.java @@ -0,0 +1,14 @@ +package com.api.organization.web; + +import javax.ws.rs.Path; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/11 + * @version: 1.0 + */ +@Path("/bs/hrmorganization/grade") +public class GradeController extends com.engine.organization.web.GradeController { + +} diff --git a/src/com/engine/organization/entity/TopTab.java b/src/com/engine/organization/entity/TopTab.java index 404e48bd..ae7ffa82 100644 --- a/src/com/engine/organization/entity/TopTab.java +++ b/src/com/engine/organization/entity/TopTab.java @@ -21,15 +21,4 @@ public class TopTab { private Boolean showcount; private String title; private String viewCondition; - - @Override - public String toString() { - return "TopTab{" + - "color='" + color + '\'' + - ", groupid='" + groupId + '\'' + - ", showcount='" + showcount + '\'' + - ", title='" + title + '\'' + - ", viewcondition='" + viewCondition + '\'' + - '}'; - } } diff --git a/src/com/engine/organization/mapper/scheme/GradeMapper.java b/src/com/engine/organization/mapper/scheme/GradeMapper.java index 6fd3a36d..0f4e9133 100644 --- a/src/com/engine/organization/mapper/scheme/GradeMapper.java +++ b/src/com/engine/organization/mapper/scheme/GradeMapper.java @@ -24,14 +24,14 @@ public interface GradeMapper { List listByNo(@Param("gradeNo") String gradeNo); /** - * 获取职等根据ID + * 获取职级根据ID * @param id * @return */ GradePO getGradeByID(@Param("id") long id); /** - * 插入职等 + * 插入职级 * @param gradePO * @return */ diff --git a/src/com/engine/organization/service/GradeService.java b/src/com/engine/organization/service/GradeService.java index 1bba061c..426a436a 100644 --- a/src/com/engine/organization/service/GradeService.java +++ b/src/com/engine/organization/service/GradeService.java @@ -13,7 +13,7 @@ import java.util.Map; */ public interface GradeService { /** - * 职等列表 + * 职级列表 * * @param params * @return @@ -21,14 +21,14 @@ public interface GradeService { Map listPage(Map params); /** - * 新增职等 + * 新增职级 * @param param * @return */ int saveGrade(GradeSearchParam param); /** - * 更新职等信息 + * 更新职级信息 * * @param param * @return @@ -70,7 +70,7 @@ public interface GradeService { * 获取列表页面按钮信息 * @return */ - Map getTableBtn(); + Map getHasRight(); /** * 获取列表tabs diff --git a/src/com/engine/organization/service/impl/GradeServiceImpl.java b/src/com/engine/organization/service/impl/GradeServiceImpl.java index d0dd74cb..b31a44e9 100644 --- a/src/com/engine/organization/service/impl/GradeServiceImpl.java +++ b/src/com/engine/organization/service/impl/GradeServiceImpl.java @@ -54,7 +54,6 @@ public class GradeServiceImpl extends Service implements GradeService { List list = getGradeMapper().listByNo(Util.null2String(param.getGradeNo())); OrganizationAssert.isEmpty(list, "编号不允许重复"); GradePO gradePO = GradeDTO.convertParamToPO(param, (long) user.getUID()); - System.out.println(gradePO); return getGradeMapper().insertIgnoreNull(gradePO); } @@ -82,7 +81,7 @@ public class GradeServiceImpl extends Service implements GradeService { Map apiDatas = new HashMap<>(); List addGroups = new ArrayList<>(); List conditionItems = new ArrayList<>(); - SearchConditionItem browserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 3, false, "等级方案", "161", "schemeId", true, "schemeBrowser"); + SearchConditionItem browserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "等级方案", "161", "schemeId", "schemeBrowser"); SearchConditionItem gradeNameCondition = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "名称", "gradeName"); conditionItems.add(browserItem); conditionItems.add(gradeNameCondition); @@ -102,7 +101,8 @@ public class GradeServiceImpl extends Service implements GradeService { SearchConditionItem gradeNoCondition = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "编号", "gradeNo"); gradeNoCondition.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", true, "schemeBrowser"); + SearchConditionItem schemeBrowserItem = OrganizationFormItemUtil.browserItem(user, 2, 17, 3, false, "等级方案", "161", "schemeId", "schemeBrowser"); + SearchConditionItem levelBrowserItem = OrganizationFormItemUtil.browserItem(user, 2, 17, 3, false, "职等", "161", "levelId", "levelBrowser"); // 编辑状态下赋值操作 String id = Util.null2String(params.get("id")); @@ -113,7 +113,8 @@ public class GradeServiceImpl extends Service implements GradeService { gradeNameCondition.setValue(gradePO.getGradeName()); gradeNoCondition.setValue(gradePO.getGradeNo()); descriptionCondition.setValue(gradePO.getDescription()); - browserItem.setValue(gradePO.getSchemeId()); + schemeBrowserItem.setValue(gradePO.getSchemeId()); + levelBrowserItem.setValue(gradePO.getLevelId()); // 编辑状态下,编号只读 gradeNoCondition.setViewAttr(1); } @@ -121,14 +122,15 @@ public class GradeServiceImpl extends Service implements GradeService { selectItems.add(gradeNoCondition); selectItems.add(gradeNameCondition); selectItems.add(descriptionCondition); - selectItems.add(browserItem); + selectItems.add(schemeBrowserItem); + selectItems.add(levelBrowserItem); addGroups.add(new SearchConditionGroup("基本信息", true, selectItems)); apiDatas.put("condition", addGroups); return apiDatas; } @Override - public Map getTableBtn() { + public Map getHasRight() { return MenuBtn.getCommonBtnDatas(); } diff --git a/src/com/engine/organization/service/impl/LevelServiceImpl.java b/src/com/engine/organization/service/impl/LevelServiceImpl.java index 1175af1d..dea787ac 100644 --- a/src/com/engine/organization/service/impl/LevelServiceImpl.java +++ b/src/com/engine/organization/service/impl/LevelServiceImpl.java @@ -54,7 +54,6 @@ public class LevelServiceImpl extends Service implements LevelService { List list = getLevelMapper().listByNo(Util.null2String(param.getLevelNo())); OrganizationAssert.isEmpty(list, "编号不允许重复"); LevelPO levelPO = LevelDTO.convertParamToPO(param, (long) user.getUID()); - System.out.println(levelPO); return getLevelMapper().insertIgnoreNull(levelPO); } @@ -82,7 +81,7 @@ public class LevelServiceImpl extends Service implements LevelService { Map apiDatas = new HashMap<>(); List addGroups = new ArrayList<>(); List conditionItems = new ArrayList<>(); - SearchConditionItem browserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 3, false, "等级方案", "161", "schemeId", true, "schemeBrowser"); + SearchConditionItem browserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "等级方案", "161", "schemeId", "schemeBrowser"); SearchConditionItem levelNameCondition = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "名称", "levelName"); conditionItems.add(browserItem); conditionItems.add(levelNameCondition); @@ -102,7 +101,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, "等级方案", "161", "schemeId", true, "schemeBrowser"); + SearchConditionItem browserItem = OrganizationFormItemUtil.browserItem(user, 2, 17, 3, false, "等级方案", "161", "schemeId", "schemeBrowser"); // 编辑状态下赋值操作 String id = Util.null2String(params.get("id")); diff --git a/src/com/engine/organization/util/OrganizationFormItemUtil.java b/src/com/engine/organization/util/OrganizationFormItemUtil.java index e0799bab..4e468e57 100644 --- a/src/com/engine/organization/util/OrganizationFormItemUtil.java +++ b/src/com/engine/organization/util/OrganizationFormItemUtil.java @@ -128,12 +128,11 @@ public class OrganizationFormItemUtil { * @param label * @param type * @param name - * @param iscustom 是否为自定义浏览按钮 * @param fieldDbType 数据展现集成标识 * @return */ public static SearchConditionItem browserItem(User user, int colSpan, int fieldcol, - int viewAttr, boolean isQuickSearch, String label, String type, String name, Boolean iscustom, String fieldDbType) { + int viewAttr, boolean isQuickSearch, String label, String type, String name, String fieldDbType) { ConditionFactory conditionFactory = new ConditionFactory(user); SearchConditionItem browser = conditionFactory.createCondition(ConditionType.BROWSER, 502327, name, type); browser.setColSpan(colSpan); @@ -141,7 +140,7 @@ public class OrganizationFormItemUtil { browser.setViewAttr(viewAttr); browser.setIsQuickSearch(isQuickSearch); browser.setLabel(label); - if (iscustom) { + if ("161".equals(type) || "162".equals(type)) { fieldDbType = "browser." + fieldDbType; BrowserBean browserBean = new BrowserBean(); // completeParams @@ -175,6 +174,12 @@ public class OrganizationFormItemUtil { browserBean.setType(type); browser.setBrowserConditionParam(browserBean); + if ("162".equals(type)) { + HashMap otherMap = new HashMap<>(); + otherMap.put("isMultCheckbox", "true"); + otherMap.put("icon", "icon-coms-integration"); + browser.setOtherParams(otherMap); + } } return browser; } diff --git a/src/com/engine/organization/web/GradeController.java b/src/com/engine/organization/web/GradeController.java new file mode 100644 index 00000000..e4d429e7 --- /dev/null +++ b/src/com/engine/organization/web/GradeController.java @@ -0,0 +1,205 @@ +package com.engine.organization.web; + +import com.engine.common.util.ParamUtil; +import com.engine.common.util.ServiceUtil; +import com.engine.organization.entity.QueryParam; +import com.engine.organization.entity.scheme.param.GradeSearchParam; +import com.engine.organization.util.response.ReturnResult; +import com.engine.organization.wrapper.GradeWrapper; +import io.swagger.v3.oas.annotations.parameters.RequestBody; +import weaver.hrm.HrmUserVarify; +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.core.Context; +import javax.ws.rs.core.MediaType; +import java.util.Map; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/11 + * @version: 1.0 + */ +public class GradeController { + public GradeWrapper getGradeWrapper(User user) { + return ServiceUtil.getService(GradeWrapper.class, user); + } + + /** + * 获取list列表 + * + * @param request + * @param response + * @return + */ + @GET + @Path("/getGradeTable") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult listGrade(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + return ReturnResult.successed(getGradeWrapper(user).listPage(map)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + /** + * 添加职级 + * + * @param request + * @param response + * @return + */ + @POST + @Path("/saveGrade") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult saveGrade(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody GradeSearchParam param) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getGradeWrapper(user).saveGrade(param)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + /** + * 更新职级,修改所有字段 + * + * @param request + * @param response + * @param param + * @return + */ + @POST + @Path("/updateGrade") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult updateGrade(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody GradeSearchParam param) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getGradeWrapper(user).updateGrade(param)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + /** + * 更新禁用标记 + * + * @param request + * @param response + * @param param + * @return + */ + @POST + @Path("/updateForbiddenTagById") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult updateForbiddenTagById(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody GradeSearchParam param) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getGradeWrapper(user).updateForbiddenTagById(param)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + + /** + * 根据ID批量删除数据 + * + * @param request + * @param response + * @param param + * @return + */ + @POST + @Path("/deleteByIds") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult deleteByIds(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody QueryParam param) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getGradeWrapper(user).deleteByIds(param.getIds())); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + /** + * 高级搜索条件 + * + * @param request + * @param response + * @return + */ + @GET + @Path("/getSearchCondition") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getSearchCondition(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + return ReturnResult.successed(getGradeWrapper(user).getSearchCondition(map)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + + /** + * 新增、编辑表单 + * + * @param request + * @param response + * @return + */ + @GET + @Path("/getGradeForm") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getGradeForm(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + return ReturnResult.successed(getGradeWrapper(user).getGradeForm(map)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + /** + * 列表页顶部按钮 + * + * @param request + * @param response + * @return + */ + @GET + @Path("/getHasRight") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getHasRight(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getGradeWrapper(user).getHasRight()); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + @GET + @Path("/getTabInfo") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getTabInfo(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getGradeWrapper(user).getTabInfo()); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } +} diff --git a/src/com/engine/organization/wrapper/GradeWrapper.java b/src/com/engine/organization/wrapper/GradeWrapper.java index 3f441c0e..0afffe26 100644 --- a/src/com/engine/organization/wrapper/GradeWrapper.java +++ b/src/com/engine/organization/wrapper/GradeWrapper.java @@ -2,9 +2,9 @@ package com.engine.organization.wrapper; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; -import com.engine.organization.entity.scheme.param.LevelSearchParam; -import com.engine.organization.service.LevelService; -import com.engine.organization.service.impl.LevelServiceImpl; +import com.engine.organization.entity.scheme.param.GradeSearchParam; +import com.engine.organization.service.GradeService; +import com.engine.organization.service.impl.GradeServiceImpl; import org.apache.ibatis.annotations.Param; import weaver.hrm.User; @@ -14,42 +14,42 @@ import java.util.Map; /** * @description: TODO * @author:dxfeng - * @createTime: 2022/05/10 + * @createTime: 2022/05/11 * @version: 1.0 */ public class GradeWrapper extends Service { - private LevelService getLevelService(User user) { - return ServiceUtil.getService(LevelServiceImpl.class, user); + private GradeService getGradeService(User user) { + return ServiceUtil.getService(GradeServiceImpl.class, user); } /** - * 职等列表 + * 职级列表 * * @param params * @return */ public Map listPage(Map params) { - return getLevelService(user).listPage(params); + return getGradeService(user).listPage(params); } /** - * 新增职等 + * 新增职级 * * @param param * @return */ - public int saveLevel(LevelSearchParam param) { - return getLevelService(user).saveLevel(param); + public int saveGrade(GradeSearchParam param) { + return getGradeService(user).saveGrade(param); } /** - * 更新职等 + * 更新职级 * * @param param * @return */ - public int updateLevel(LevelSearchParam param) { - return getLevelService(user).updateLevel(param); + public int updateGrade(GradeSearchParam param) { + return getGradeService(user).updateGrade(param); } /** @@ -57,8 +57,8 @@ public class GradeWrapper extends Service { * * @param params */ - public int updateForbiddenTagById(LevelSearchParam params) { - return getLevelService(user).updateForbiddenTagById(params); + public int updateForbiddenTagById(GradeSearchParam params) { + return getGradeService(user).updateForbiddenTagById(params); } /** @@ -67,7 +67,7 @@ public class GradeWrapper extends Service { * @param ids */ public int deleteByIds(@Param("ids") Collection ids) { - return getLevelService(user).deleteByIds(ids); + return getGradeService(user).deleteByIds(ids); } /** @@ -77,7 +77,7 @@ public class GradeWrapper extends Service { * @return */ public Map getSearchCondition(Map params) { - return getLevelService(user).getSearchCondition(params); + return getGradeService(user).getSearchCondition(params); } @@ -87,8 +87,8 @@ public class GradeWrapper extends Service { * @param params * @return */ - public Map getLevelForm(Map params) { - return getLevelService(user).getLevelForm(params); + public Map getGradeForm(Map params) { + return getGradeService(user).getGradeForm(params); } /** @@ -96,8 +96,8 @@ public class GradeWrapper extends Service { * * @return */ - public Map getTableBtn() { - return getLevelService(user).getTableBtn(); + public Map getHasRight() { + return getGradeService(user).getHasRight(); } /** @@ -106,6 +106,6 @@ public class GradeWrapper extends Service { * @return */ public Map getTabInfo() { - return getLevelService(user).getTabInfo(); + return getGradeService(user).getTabInfo(); } } From 8e6bd9e90a48a68a43c3b5c95dc7e32e2398efcf Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 12 May 2022 09:32:08 +0800 Subject: [PATCH 22/36] =?UTF-8?q?tabinfo=E6=90=9C=E7=B4=A2=E6=9D=A1?= =?UTF-8?q?=E4=BB=B6=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/organization/service/impl/LevelServiceImpl.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/com/engine/organization/service/impl/LevelServiceImpl.java b/src/com/engine/organization/service/impl/LevelServiceImpl.java index dea787ac..dd932201 100644 --- a/src/com/engine/organization/service/impl/LevelServiceImpl.java +++ b/src/com/engine/organization/service/impl/LevelServiceImpl.java @@ -39,8 +39,10 @@ public class LevelServiceImpl extends Service implements LevelService { @Override public Map listPage(Map params) { + System.out.println(params); OrganizationWeaTable table = new OrganizationWeaTable<>(user, LevelTableVO.class); String sqlWhere = buildSqlWhere(params); + System.out.println(sqlWhere); table.setSqlwhere(sqlWhere); WeaResultMsg result = new WeaResultMsg(false); result.putAll(table.makeDataResult()); @@ -166,10 +168,10 @@ public class LevelServiceImpl extends Service implements LevelService { if (StringUtils.isNotBlank(schemeId)) { sqlWhere += " AND t.scheme_id " + dbType.like(schemeId); } - String viewCondition = (String) params.get("viewcondition"); + String viewCondition = (String) params.get("viewCondition"); // -1:全部、0:启用、1:禁用 if (StringUtils.isNotBlank(viewCondition) && !"-1".equalsIgnoreCase(viewCondition)) { - sqlWhere += " AND t.forbidden_tag = '" + schemeId + "'"; + sqlWhere += " AND t.forbidden_tag = '" + viewCondition + "'"; } return sqlWhere; } From c168f4bff9eff3a85ed8fe14f93ced3cd56c8351 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 12 May 2022 10:13:19 +0800 Subject: [PATCH 23/36] =?UTF-8?q?=E8=81=8C=E7=AD=89=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/organization/entity/scheme/dto/GradeDTO.java | 4 ++-- .../organization/entity/scheme/param/GradeSearchParam.java | 2 +- src/com/engine/organization/entity/scheme/po/GradePO.java | 2 +- .../engine/organization/entity/scheme/vo/GradeTableVO.java | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/com/engine/organization/entity/scheme/dto/GradeDTO.java b/src/com/engine/organization/entity/scheme/dto/GradeDTO.java index 88286451..f6f0699d 100644 --- a/src/com/engine/organization/entity/scheme/dto/GradeDTO.java +++ b/src/com/engine/organization/entity/scheme/dto/GradeDTO.java @@ -43,7 +43,7 @@ public class GradeDTO { /** * 职等 */ - private long levelId; + private String levelId; /** * 禁用标记 */ @@ -76,7 +76,7 @@ public class GradeDTO { .gradeName(param.getGradeName() == null ? null : param.getGradeName()) .description(param.getDescription() == null ? null : param.getDescription()) .schemeId(param.getSchemeId() == null ? 0 : param.getSchemeId()) - .levelId(param.getLevelId() == null ? 0 : param.getLevelId()) + .levelId(param.getLevelId() == null ? null : param.getLevelId()) .forbiddenTag(param.getForbiddenTag() == null ? 0 : param.getForbiddenTag() ? 0 : 1) .deleteType(0) .createTime(new Date()) diff --git a/src/com/engine/organization/entity/scheme/param/GradeSearchParam.java b/src/com/engine/organization/entity/scheme/param/GradeSearchParam.java index 85308c99..81ed4b4c 100644 --- a/src/com/engine/organization/entity/scheme/param/GradeSearchParam.java +++ b/src/com/engine/organization/entity/scheme/param/GradeSearchParam.java @@ -40,7 +40,7 @@ public class GradeSearchParam { /** * 职等 */ - private Long levelId; + private String levelId; /** * 禁用标记 */ diff --git a/src/com/engine/organization/entity/scheme/po/GradePO.java b/src/com/engine/organization/entity/scheme/po/GradePO.java index 056c5911..3a303f2d 100644 --- a/src/com/engine/organization/entity/scheme/po/GradePO.java +++ b/src/com/engine/organization/entity/scheme/po/GradePO.java @@ -41,7 +41,7 @@ public class GradePO { /** * 职等 */ - private long levelId; + private String levelId; /** * 禁用标记 */ diff --git a/src/com/engine/organization/entity/scheme/vo/GradeTableVO.java b/src/com/engine/organization/entity/scheme/vo/GradeTableVO.java index 56fa2a4f..71808efe 100644 --- a/src/com/engine/organization/entity/scheme/vo/GradeTableVO.java +++ b/src/com/engine/organization/entity/scheme/vo/GradeTableVO.java @@ -67,11 +67,11 @@ public class GradeTableVO { /** * 职等 */ - private long levelId; + private String levelId; /** * 职等 */ - @OrganizationTableColumn(text = "等级方案", width = "20%", column = "level_name") + @OrganizationTableColumn(text = "职等", width = "20%", column = "level_name") private String levelName; /** * 禁用标记 From 9a5939fac4d544b8278cbf473394bb6d0ace160b Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 12 May 2022 10:14:17 +0800 Subject: [PATCH 24/36] =?UTF-8?q?=E8=81=8C=E7=AD=89=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/organization/mapper/scheme/LevelMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/engine/organization/mapper/scheme/LevelMapper.xml b/src/com/engine/organization/mapper/scheme/LevelMapper.xml index 8957a81c..5ed33cdb 100644 --- a/src/com/engine/organization/mapper/scheme/LevelMapper.xml +++ b/src/com/engine/organization/mapper/scheme/LevelMapper.xml @@ -42,7 +42,7 @@ from jcl_org_level t where level_no = #{levelNo} AND delete_type = 0 + + update jcl_org_level diff --git a/src/com/engine/organization/mapper/scheme/SchemeMapper.java b/src/com/engine/organization/mapper/scheme/SchemeMapper.java index ac2d1828..260f9294 100644 --- a/src/com/engine/organization/mapper/scheme/SchemeMapper.java +++ b/src/com/engine/organization/mapper/scheme/SchemeMapper.java @@ -2,10 +2,12 @@ package com.engine.organization.mapper.scheme; import com.engine.organization.entity.scheme.po.SchemePO; +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 @@ -38,7 +40,8 @@ public interface SchemeMapper { * @param ids * @return */ - List listSchemesByIds(@Param("ids") Collection ids); + @MapKey("id") + List> listSchemesByIds(@Param("ids") Collection ids); /** * 新增,忽略null字段 diff --git a/src/com/engine/organization/mapper/scheme/SchemeMapper.xml b/src/com/engine/organization/mapper/scheme/SchemeMapper.xml index f8591a90..aca1edcf 100644 --- a/src/com/engine/organization/mapper/scheme/SchemeMapper.xml +++ b/src/com/engine/organization/mapper/scheme/SchemeMapper.xml @@ -28,18 +28,6 @@ , t.update_time - - + diff --git a/src/com/engine/organization/service/impl/GradeServiceImpl.java b/src/com/engine/organization/service/impl/GradeServiceImpl.java index b31a44e9..592e21fd 100644 --- a/src/com/engine/organization/service/impl/GradeServiceImpl.java +++ b/src/com/engine/organization/service/impl/GradeServiceImpl.java @@ -1,16 +1,20 @@ 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; import com.engine.core.impl.Service; import com.engine.organization.component.OrganizationWeaTable; +import com.engine.organization.entity.QueryParam; import com.engine.organization.entity.TopTab; import com.engine.organization.entity.scheme.dto.GradeDTO; import com.engine.organization.entity.scheme.param.GradeSearchParam; import com.engine.organization.entity.scheme.po.GradePO; import com.engine.organization.entity.scheme.vo.GradeTableVO; 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.service.GradeService; import com.engine.organization.util.MenuBtn; import com.engine.organization.util.OrganizationAssert; @@ -37,6 +41,14 @@ public class GradeServiceImpl extends Service implements GradeService { return MapperProxyFactory.getProxy(GradeMapper.class); } + private LevelMapper getLevelMapper() { + return MapperProxyFactory.getProxy(LevelMapper.class); + } + + private SchemeMapper getSchemeMapper() { + return MapperProxyFactory.getProxy(SchemeMapper.class); + } + @Override public Map listPage(Map params) { OrganizationWeaTable table = new OrganizationWeaTable<>(user, GradeTableVO.class); @@ -102,7 +114,7 @@ public class GradeServiceImpl extends Service implements GradeService { gradeNoCondition.setRules("required|string"); SearchConditionItem descriptionCondition = OrganizationFormItemUtil.textareaItem(user, 2, 17, true, 2, 60, "描述说明", "description"); SearchConditionItem schemeBrowserItem = OrganizationFormItemUtil.browserItem(user, 2, 17, 3, false, "等级方案", "161", "schemeId", "schemeBrowser"); - SearchConditionItem levelBrowserItem = OrganizationFormItemUtil.browserItem(user, 2, 17, 3, false, "职等", "161", "levelId", "levelBrowser"); + SearchConditionItem levelBrowserItem = OrganizationFormItemUtil.browserItem(user, 2, 17, 3, false, "职等", "162", "levelId", "LevelBrowser"); // 编辑状态下赋值操作 String id = Util.null2String(params.get("id")); @@ -115,6 +127,17 @@ public class GradeServiceImpl extends Service implements GradeService { descriptionCondition.setValue(gradePO.getDescription()); schemeBrowserItem.setValue(gradePO.getSchemeId()); levelBrowserItem.setValue(gradePO.getLevelId()); + + BrowserBean schemeBrowserBean = schemeBrowserItem.getBrowserConditionParam(); + List> schemeMaps = getSchemeMapper().listSchemesByIds(QueryParam.builder().ids(gradePO.getSchemeId().toString()).build().getIds()); + schemeBrowserBean.setReplaceDatas(schemeMaps); + schemeBrowserItem.setBrowserConditionParam(schemeBrowserBean); + + BrowserBean levelBrowserBean = levelBrowserItem.getBrowserConditionParam(); + List> levelMaps = getLevelMapper().listLevelsByIds(QueryParam.builder().ids(gradePO.getLevelId()).build().getIds()); + levelBrowserBean.setReplaceDatas(levelMaps); + levelBrowserItem.setBrowserConditionParam(levelBrowserBean); + // 编辑状态下,编号只读 gradeNoCondition.setViewAttr(1); } @@ -169,10 +192,10 @@ public class GradeServiceImpl extends Service implements GradeService { if (StringUtils.isNotBlank(schemeId)) { sqlWhere += " AND t.scheme_id " + dbType.like(schemeId); } - String viewCondition = (String) params.get("viewcondition"); + String viewCondition = (String) params.get("viewCondition"); // -1:全部、0:启用、1:禁用 if (StringUtils.isNotBlank(viewCondition) && !"-1".equalsIgnoreCase(viewCondition)) { - sqlWhere += " AND t.forbidden_tag = '" + schemeId + "'"; + sqlWhere += " AND t.forbidden_tag = '" + viewCondition + "'"; } return sqlWhere; } diff --git a/src/com/engine/organization/service/impl/LevelServiceImpl.java b/src/com/engine/organization/service/impl/LevelServiceImpl.java index dd932201..31350daa 100644 --- a/src/com/engine/organization/service/impl/LevelServiceImpl.java +++ b/src/com/engine/organization/service/impl/LevelServiceImpl.java @@ -1,16 +1,19 @@ 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; import com.engine.core.impl.Service; import com.engine.organization.component.OrganizationWeaTable; +import com.engine.organization.entity.QueryParam; import com.engine.organization.entity.TopTab; import com.engine.organization.entity.scheme.dto.LevelDTO; import com.engine.organization.entity.scheme.param.LevelSearchParam; import com.engine.organization.entity.scheme.po.LevelPO; import com.engine.organization.entity.scheme.vo.LevelTableVO; import com.engine.organization.mapper.scheme.LevelMapper; +import com.engine.organization.mapper.scheme.SchemeMapper; import com.engine.organization.service.LevelService; import com.engine.organization.util.MenuBtn; import com.engine.organization.util.OrganizationAssert; @@ -37,12 +40,14 @@ public class LevelServiceImpl extends Service implements LevelService { return MapperProxyFactory.getProxy(LevelMapper.class); } + private SchemeMapper getSchemeMapper() { + return MapperProxyFactory.getProxy(SchemeMapper.class); + } + @Override public Map listPage(Map params) { - System.out.println(params); OrganizationWeaTable table = new OrganizationWeaTable<>(user, LevelTableVO.class); String sqlWhere = buildSqlWhere(params); - System.out.println(sqlWhere); table.setSqlwhere(sqlWhere); WeaResultMsg result = new WeaResultMsg(false); result.putAll(table.makeDataResult()); @@ -115,6 +120,12 @@ public class LevelServiceImpl extends Service implements LevelService { levelNoCondition.setValue(levelPO.getLevelNo()); descriptionCondition.setValue(levelPO.getDescription()); browserItem.setValue(levelPO.getSchemeId()); + + BrowserBean browserBean = browserItem.getBrowserConditionParam(); + List> maps = getSchemeMapper().listSchemesByIds(QueryParam.builder().ids(levelPO.getSchemeId().toString()).build().getIds()); + + browserBean.setReplaceDatas(maps); + browserItem.setBrowserConditionParam(browserBean); // 编辑状态下,编号只读 levelNoCondition.setViewAttr(1); } From c445185f0d4708baaf56fb934bf2292e34b4b525 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 12 May 2022 13:49:33 +0800 Subject: [PATCH 26/36] =?UTF-8?q?=E7=BB=9F=E8=AE=A1BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/organization/mapper/scheme/GradeMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/engine/organization/mapper/scheme/GradeMapper.xml b/src/com/engine/organization/mapper/scheme/GradeMapper.xml index 6013878b..1e9d4122 100644 --- a/src/com/engine/organization/mapper/scheme/GradeMapper.xml +++ b/src/com/engine/organization/mapper/scheme/GradeMapper.xml @@ -44,7 +44,7 @@ from jcl_org_grade t where grade_no = #{gradeNo} AND delete_type = 0 + select + + from jcl_org_sequence t where id = #{id} AND delete_type = 0 + + + + + + + + + update jcl_org_sequence + + creator=#{creator}, + update_time=#{updateTime}, + sequence_no=#{sequenceNo}, + sequence_name=#{sequenceName}, + description=#{description}, + scheme_id=#{schemeId}, + + WHERE id = #{id} AND delete_type = 0 + + + + INSERT INTO jcl_org_sequence + + + creator, + + + delete_type, + + + create_time, + + + update_time, + + + sequence_no, + + + sequence_name, + + + description, + + + scheme_id, + + forbidden_tag, + + + + #{creator}, + + + #{deleteType}, + + + #{createTime}, + + + #{updateTime}, + + + #{sequenceNo}, + + + #{sequenceName}, + + + #{description}, + + + #{schemeId}, + + 0, + + + + + update jcl_org_sequence + + forbidden_tag=#{forbiddenTag}, + + WHERE id = #{id} AND delete_type = 0 + + + + UPDATE jcl_org_sequence + 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/service/SequenceService.java b/src/com/engine/organization/service/SequenceService.java new file mode 100644 index 00000000..335d97b5 --- /dev/null +++ b/src/com/engine/organization/service/SequenceService.java @@ -0,0 +1,81 @@ +package com.engine.organization.service; + +import com.engine.organization.entity.sequence.param.SequenceSearchParam; + +import java.util.Collection; +import java.util.Map; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/12 + * @version: 1.0 + */ +public interface SequenceService { + /** + * 岗位列表 + * + * @param params + * @return + */ + Map listPage(Map params); + + /** + * 新增岗位 + * @param param + * @return + */ + int saveSequence(SequenceSearchParam param); + + /** + * 更新岗位信息 + * + * @param param + * @return + */ + int updateSequence(SequenceSearchParam param); + + /** + * 更新禁用标记 + * + * @param params + */ + int updateForbiddenTagById(SequenceSearchParam params); + + /** + * 根据ID批量删除 + * + * @param ids + */ + int deleteByIds(Collection ids); + + /** + * 获取搜索条件 + * + * @param params + * @return + */ + Map getSearchCondition(Map params); + + + /** + * 获取新增表单 + * + * @param params + * @return + */ + Map getSequenceForm(Map params); + + /** + * 获取列表页面按钮信息 + * @return + */ + Map getHasRight(); + + /** + * 获取列表tabs + * @return + */ + Map getTabInfo(); + +} diff --git a/src/com/engine/organization/service/impl/SequenceServiceImpl.java b/src/com/engine/organization/service/impl/SequenceServiceImpl.java new file mode 100644 index 00000000..c370239a --- /dev/null +++ b/src/com/engine/organization/service/impl/SequenceServiceImpl.java @@ -0,0 +1,189 @@ +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; +import com.engine.core.impl.Service; +import com.engine.organization.component.OrganizationWeaTable; +import com.engine.organization.entity.QueryParam; +import com.engine.organization.entity.TopTab; +import com.engine.organization.entity.sequence.dto.SequenceDTO; +import com.engine.organization.entity.sequence.param.SequenceSearchParam; +import com.engine.organization.entity.sequence.po.SequencePO; +import com.engine.organization.entity.sequence.vo.SequenceTableVO; +import com.engine.organization.mapper.sequence.SequenceMapper; +import com.engine.organization.mapper.scheme.SchemeMapper; +import com.engine.organization.service.SequenceService; +import com.engine.organization.util.MenuBtn; +import com.engine.organization.util.OrganizationAssert; +import com.engine.organization.util.OrganizationFormItemUtil; +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.*; + + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/12 + * @version: 1.0 + */ +public class SequenceServiceImpl extends Service implements SequenceService { + + private SequenceMapper getSequenceMapper() { + return MapperProxyFactory.getProxy(SequenceMapper.class); + } + + private SchemeMapper getSchemeMapper() { + return MapperProxyFactory.getProxy(SchemeMapper.class); + } + + @Override + public Map listPage(Map params) { + OrganizationWeaTable table = new OrganizationWeaTable<>(user, SequenceTableVO.class); + String sqlWhere = buildSqlWhere(params); + table.setSqlwhere(sqlWhere); + WeaResultMsg result = new WeaResultMsg(false); + result.putAll(table.makeDataResult()); + result.success(); + return result.getResultMap(); + } + + + @Override + public int saveSequence(SequenceSearchParam param) { + List list = getSequenceMapper().listByNo(Util.null2String(param.getSequenceNo())); + OrganizationAssert.isEmpty(list, "编号不允许重复"); + SequencePO sequencePO = SequenceDTO.convertParamToPO(param, (long) user.getUID()); + return getSequenceMapper().insertIgnoreNull(sequencePO); + } + + @Override + public int updateSequence(SequenceSearchParam param) { + SequencePO sequencePO = SequenceDTO.convertParamToPO(param, (long) user.getUID()); + return getSequenceMapper().updateSequence(sequencePO); + } + + @Override + public int updateForbiddenTagById(SequenceSearchParam params) { + SequencePO sequencePO = SequencePO.builder().id(params.getId()).forbiddenTag(params.getForbiddenTag() ? 0 : 1).build(); + return getSequenceMapper().updateForbiddenTagById(sequencePO); + } + + @Override + public int deleteByIds(Collection ids) { + OrganizationAssert.notEmpty(ids, "请选择要删除的数据"); + return getSequenceMapper().deleteByIds(ids); + } + + + @Override + public Map getSearchCondition(Map params) { + Map apiDatas = new HashMap<>(); + List addGroups = new ArrayList<>(); + List conditionItems = new ArrayList<>(); + SearchConditionItem browserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "等级方案", "161", "schemeId", "schemeBrowser"); + SearchConditionItem sequenceNameCondition = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "名称", "sequenceName"); + conditionItems.add(browserItem); + conditionItems.add(sequenceNameCondition); + addGroups.add(new SearchConditionGroup("高级搜索条件", true, conditionItems)); + apiDatas.put("conditions", addGroups); + return apiDatas; + } + + + @Override + public Map getSequenceForm(Map params) { + Map apiDatas = new HashMap<>(); + List selectItems = new ArrayList<>(); + List addGroups = new ArrayList<>(); + SearchConditionItem sequenceNameCondition = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "名称", "sequenceName"); + sequenceNameCondition.setRules("required|string"); + SearchConditionItem sequenceNoCondition = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "编号", "sequenceNo"); + sequenceNoCondition.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"); + + // 编辑状态下赋值操作 + String id = Util.null2String(params.get("id")); + if (!StringUtil.isEmpty(id)) { + SequencePO sequencePO = getSequenceMapper().getSequenceByID(Integer.parseInt(id)); + OrganizationAssert.notNull(sequencePO, "选择的数据不存在,或数据已删除"); + + sequenceNameCondition.setValue(sequencePO.getSequenceName()); + sequenceNoCondition.setValue(sequencePO.getSequenceNo()); + descriptionCondition.setValue(sequencePO.getDescription()); + browserItem.setValue(sequencePO.getSchemeId()); + + BrowserBean browserBean = browserItem.getBrowserConditionParam(); + List> maps = getSchemeMapper().listSchemesByIds(QueryParam.builder().ids(sequencePO.getSchemeId().toString()).build().getIds()); + + browserBean.setReplaceDatas(maps); + browserItem.setBrowserConditionParam(browserBean); + // 编辑状态下,编号只读 + sequenceNoCondition.setViewAttr(1); + } + + selectItems.add(sequenceNoCondition); + selectItems.add(sequenceNameCondition); + selectItems.add(descriptionCondition); + selectItems.add(browserItem); + addGroups.add(new SearchConditionGroup("基本信息", true, selectItems)); + apiDatas.put("condition", addGroups); + return apiDatas; + } + + @Override + public Map getHasRight() { + return MenuBtn.getCommonBtnDatas(); + } + + @Override + public Map getTabInfo() { + Map apiDatas = new HashMap<>(); + List topTabs = new ArrayList<>(); + topTabs.add(TopTab.builder().color("#000000").groupId("flowAll").showcount(true).title("全部").viewCondition("-1").build()); + topTabs.add(TopTab.builder().color("#ff3232").groupId("enable").showcount(true).title("启用").viewCondition("0").build()); + topTabs.add(TopTab.builder().color("#fea468").groupId("disable").showcount(true).title("禁用").viewCondition("1").build()); + apiDatas.put("topTabs", topTabs); + + HashMap countMap = new HashMap<>(); + countMap.put("flowAll", getSequenceMapper().getCountByTag(-1)); + countMap.put("enable", getSequenceMapper().getCountByTag(0)); + countMap.put("disable", getSequenceMapper().getCountByTag(1)); + + apiDatas.put("topTabCount", countMap); + 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 sequenceName = (String) params.get("sequenceName"); + if (StringUtils.isNotBlank(sequenceName)) { + sqlWhere += " AND t.sequence_name " + dbType.like(sequenceName); + } + String schemeId = (String) params.get("schemeId"); + if (StringUtils.isNotBlank(schemeId)) { + sqlWhere += " AND t.scheme_id " + dbType.like(schemeId); + } + String viewCondition = (String) params.get("viewCondition"); + // -1:全部、0:启用、1:禁用 + if (StringUtils.isNotBlank(viewCondition) && !"-1".equalsIgnoreCase(viewCondition)) { + sqlWhere += " AND t.forbidden_tag = '" + viewCondition + "'"; + } + return sqlWhere; + } +} diff --git a/src/com/engine/organization/web/SequenceController.java b/src/com/engine/organization/web/SequenceController.java new file mode 100644 index 00000000..63c76adb --- /dev/null +++ b/src/com/engine/organization/web/SequenceController.java @@ -0,0 +1,205 @@ +package com.engine.organization.web; + +import com.engine.common.util.ParamUtil; +import com.engine.common.util.ServiceUtil; +import com.engine.organization.entity.QueryParam; +import com.engine.organization.entity.sequence.param.SequenceSearchParam; +import com.engine.organization.util.response.ReturnResult; +import com.engine.organization.wrapper.SequenceWrapper; +import io.swagger.v3.oas.annotations.parameters.RequestBody; +import weaver.hrm.HrmUserVarify; +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.core.Context; +import javax.ws.rs.core.MediaType; +import java.util.Map; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/12 + * @version: 1.0 + */ +public class SequenceController { + public SequenceWrapper getSequenceWrapper(User user) { + return ServiceUtil.getService(SequenceWrapper.class, user); + } + + /** + * 获取list列表 + * + * @param request + * @param response + * @return + */ + @GET + @Path("/getSequenceTable") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult listSequence(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + return ReturnResult.successed(getSequenceWrapper(user).listPage(map)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + /** + * 添加岗位 + * + * @param request + * @param response + * @return + */ + @POST + @Path("/saveSequence") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult saveSequence(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SequenceSearchParam param) { + //try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getSequenceWrapper(user).saveSequence(param)); + //} catch (Exception e) { + // return ReturnResult.exceptionHandle(e.getMessage()); + //} + } + + /** + * 更新岗位,修改所有字段 + * + * @param request + * @param response + * @param param + * @return + */ + @POST + @Path("/updateSequence") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult updateSequence(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SequenceSearchParam param) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getSequenceWrapper(user).updateSequence(param)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + /** + * 更新禁用标记 + * + * @param request + * @param response + * @param param + * @return + */ + @POST + @Path("/updateForbiddenTagById") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult updateForbiddenTagById(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SequenceSearchParam param) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getSequenceWrapper(user).updateForbiddenTagById(param)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + + /** + * 根据ID批量删除数据 + * + * @param request + * @param response + * @param param + * @return + */ + @POST + @Path("/deleteByIds") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult deleteByIds(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody QueryParam param) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getSequenceWrapper(user).deleteByIds(param.getIds())); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + /** + * 高级搜索条件 + * + * @param request + * @param response + * @return + */ + @GET + @Path("/getSearchCondition") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getSearchCondition(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + return ReturnResult.successed(getSequenceWrapper(user).getSearchCondition(map)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + + /** + * 新增、编辑表单 + * + * @param request + * @param response + * @return + */ + @GET + @Path("/getSequenceForm") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getSequenceForm(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + return ReturnResult.successed(getSequenceWrapper(user).getSequenceForm(map)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + /** + * 列表页顶部按钮 + * + * @param request + * @param response + * @return + */ + @GET + @Path("/getHasRight") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getHasRight(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getSequenceWrapper(user).getHasRight()); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + @GET + @Path("/getTabInfo") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getTabInfo(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getSequenceWrapper(user).getTabInfo()); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } +} diff --git a/src/com/engine/organization/wrapper/SequenceWrapper.java b/src/com/engine/organization/wrapper/SequenceWrapper.java new file mode 100644 index 00000000..26990dc4 --- /dev/null +++ b/src/com/engine/organization/wrapper/SequenceWrapper.java @@ -0,0 +1,111 @@ +package com.engine.organization.wrapper; + +import com.engine.common.util.ServiceUtil; +import com.engine.core.impl.Service; +import com.engine.organization.entity.sequence.param.SequenceSearchParam; +import com.engine.organization.service.SequenceService; +import com.engine.organization.service.impl.SequenceServiceImpl; +import org.apache.ibatis.annotations.Param; +import weaver.hrm.User; + +import java.util.Collection; +import java.util.Map; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/12 + * @version: 1.0 + */ +public class SequenceWrapper extends Service { + private SequenceService getSequenceService(User user) { + return ServiceUtil.getService(SequenceServiceImpl.class, user); + } + + /** + * 岗位列表 + * + * @param params + * @return + */ + public Map listPage(Map params) { + return getSequenceService(user).listPage(params); + } + + /** + * 新增岗位 + * + * @param param + * @return + */ + public int saveSequence(SequenceSearchParam param) { + return getSequenceService(user).saveSequence(param); + } + + /** + * 更新岗位 + * + * @param param + * @return + */ + public int updateSequence(SequenceSearchParam param) { + return getSequenceService(user).updateSequence(param); + } + + /** + * 更新禁用标记 + * + * @param params + */ + public int updateForbiddenTagById(SequenceSearchParam params) { + return getSequenceService(user).updateForbiddenTagById(params); + } + + /** + * 根据ID批量删除 + * + * @param ids + */ + public int deleteByIds(@Param("ids") Collection ids) { + return getSequenceService(user).deleteByIds(ids); + } + + /** + * 获取搜索条件 + * + * @param params + * @return + */ + public Map getSearchCondition(Map params) { + return getSequenceService(user).getSearchCondition(params); + } + + + /** + * 获取新增表单 + * + * @param params + * @return + */ + public Map getSequenceForm(Map params) { + return getSequenceService(user).getSequenceForm(params); + } + + /** + * 获取列表页面按钮信息 + * + * @return + */ + public Map getHasRight() { + return getSequenceService(user).getHasRight(); + } + + /** + * 获取列表tabs + * + * @return + */ + public Map getTabInfo() { + return getSequenceService(user).getTabInfo(); + } +} From 8e4d698217efdcf10d8a44d895d79c4003f9d48d Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 13 May 2022 10:32:33 +0800 Subject: [PATCH 29/36] =?UTF-8?q?=E8=81=8C=E5=8A=A1=E5=88=86=E7=B1=BB?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=20=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 | 6 +- docs/表结构SQL/Oracle.sql | 6 +- docs/表结构SQL/SqlServer.sql | 6 +- .../api/organization/web/PostController.java | 15 ++ .../organization/entity/post/dto/PostDTO.java | 30 ++++ .../organization/entity/post/po/PostPO.java | 42 ++++++ .../organization/mapper/post/PostMapper.java | 69 ++++++++++ .../organization/mapper/post/PostMapper.xml | 130 ++++++++++++++++++ .../organization/service/PostService.java | 47 +++++++ .../service/impl/PostServiceImpl.java | 78 +++++++++++ .../organization/web/PostController.java | 117 ++++++++++++++++ .../organization/web/SequenceController.java | 8 +- .../organization/wrapper/PostWrapper.java | 64 +++++++++ 13 files changed, 605 insertions(+), 13 deletions(-) create mode 100644 src/com/api/organization/web/PostController.java create mode 100644 src/com/engine/organization/entity/post/dto/PostDTO.java create mode 100644 src/com/engine/organization/entity/post/po/PostPO.java create mode 100644 src/com/engine/organization/mapper/post/PostMapper.java create mode 100644 src/com/engine/organization/mapper/post/PostMapper.xml create mode 100644 src/com/engine/organization/service/PostService.java create mode 100644 src/com/engine/organization/service/impl/PostServiceImpl.java create mode 100644 src/com/engine/organization/web/PostController.java create mode 100644 src/com/engine/organization/wrapper/PostWrapper.java diff --git a/docs/表结构SQL/MySQL.sql b/docs/表结构SQL/MySQL.sql index 05a41bd3..8165de28 100644 --- a/docs/表结构SQL/MySQL.sql +++ b/docs/表结构SQL/MySQL.sql @@ -59,7 +59,7 @@ CREATE TABLE JCL_ORG_SEQUENCE ( -- JCL_ORG_POST CREATE TABLE JCL_ORG_POST ( id int auto_increment NOT NULL, - post_no int null, + post_no varchar(100) null, post_name varchar(100) NULL, description text NULL, creator int null, @@ -72,12 +72,12 @@ CREATE TABLE JCL_ORG_POST ( -- JCL_ORG_POST_INFO CREATE TABLE JCL_ORG_POST_INFO ( id int auto_increment NOT NULL, - post_info_no int null, + post_info_no varchar(100) null, post_info_name varchar(100) NULL, post_info_authority text null, post_info_duty text null, post_info_qualification text null, - post_type int null, + post_id int null, description text NULL, creator int null, delete_type int null, diff --git a/docs/表结构SQL/Oracle.sql b/docs/表结构SQL/Oracle.sql index 5a867e60..863e56b9 100644 --- a/docs/表结构SQL/Oracle.sql +++ b/docs/表结构SQL/Oracle.sql @@ -61,7 +61,7 @@ CREATE TABLE JCL_ORG_SEQUENCE ( -- JCL_ORG_POST CREATE TABLE JCL_ORG_POST ( ID NUMBER NOT NULL, - POST_NO NUMBER NULL, + POST_NO NVARCHAR2(100) NULL, POST_NAME NVARCHAR2(100) NULL, DESCRIPTION NVARCHAR2(1000) NULL, CREATOR NUMBER NULL, @@ -74,12 +74,12 @@ CREATE TABLE JCL_ORG_POST ( -- JCL_ORG_POST_INFO CREATE TABLE JCL_ORG_POST_INFO ( ID NUMBER NOT NULL, - POST_INFO_NO NUMBER NULL, + POST_INFO_NO NVARCHAR2(100) NULL, POST_INFO_NAME NVARCHAR2(100) NULL, POST_INFO_AUTHORITY NVARCHAR2(1000) NULL, POST_INFO_DUTY NVARCHAR2(1000) NULL, POST_INFO_QUALIFICATION NVARCHAR2(1000) NULL, - POST_TYPE NUMBER NULL, + POST_ID NUMBER NULL, DESCRIPTION NVARCHAR2(1000) NULL, CREATOR NUMBER NULL, DELETE_TYPE NUMBER NULL, diff --git a/docs/表结构SQL/SqlServer.sql b/docs/表结构SQL/SqlServer.sql index 001c8821..47722348 100644 --- a/docs/表结构SQL/SqlServer.sql +++ b/docs/表结构SQL/SqlServer.sql @@ -59,7 +59,7 @@ CREATE TABLE JCL_ORG_SEQUENCE ( -- JCL_ORG_POST CREATE TABLE JCL_ORG_POST ( id int IDENTITY(1,1) NOT NULL, - post_no int null, + post_no varchar(100) COLLATE Chinese_PRC_CI_AS NULL, post_name varchar(100) COLLATE Chinese_PRC_CI_AS NULL, description text COLLATE Chinese_PRC_CI_AS NULL, creator int null, @@ -72,12 +72,12 @@ CREATE TABLE JCL_ORG_POST ( -- JCL_ORG_POST_INFO CREATE TABLE JCL_ORG_POST_INFO ( id int IDENTITY(1,1) NOT NULL, - post_info_no int null, + post_info_no varchar(100) COLLATE Chinese_PRC_CI_AS NULL, post_info_name varchar(100) COLLATE Chinese_PRC_CI_AS NULL, post_info_authority text null, post_info_duty text null, post_info_qualification text null, - post_type int null, + post_id int null, description text COLLATE Chinese_PRC_CI_AS NULL, creator int null, delete_type int null, diff --git a/src/com/api/organization/web/PostController.java b/src/com/api/organization/web/PostController.java new file mode 100644 index 00000000..195a23b8 --- /dev/null +++ b/src/com/api/organization/web/PostController.java @@ -0,0 +1,15 @@ +package com.api.organization.web; + +import javax.ws.rs.Path; + +/** + * + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/13 + * @version: 1.0 + */ +@Path("/bs/hrmorganization/post") +public class PostController extends com.engine.organization.web.PostController { + +} diff --git a/src/com/engine/organization/entity/post/dto/PostDTO.java b/src/com/engine/organization/entity/post/dto/PostDTO.java new file mode 100644 index 00000000..1285763b --- /dev/null +++ b/src/com/engine/organization/entity/post/dto/PostDTO.java @@ -0,0 +1,30 @@ +package com.engine.organization.entity.post.dto; + +import com.engine.organization.entity.post.po.PostPO; + +import java.util.Date; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/13 + * @version: 1.0 + */ +public class PostDTO { + public static PostPO convertPO(PostPO postPO, long employeeId) { + if (postPO == null) { + return null; + } + return PostPO.builder() + .id(postPO.getId() == null ? 0 : postPO.getId()) + .postNo(postPO.getPostNo() == null ? null : postPO.getPostNo()) + .postName(postPO.getPostName() == null ? null : postPO.getPostName()) + .description(postPO.getDescription() == null ? null : postPO.getDescription()) + .deleteType(0) + .createTime(new Date()) + .updateTime(new Date()) + .creator(employeeId) + .build(); + } + +} diff --git a/src/com/engine/organization/entity/post/po/PostPO.java b/src/com/engine/organization/entity/post/po/PostPO.java new file mode 100644 index 00000000..91120587 --- /dev/null +++ b/src/com/engine/organization/entity/post/po/PostPO.java @@ -0,0 +1,42 @@ +package com.engine.organization.entity.post.po; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/13 + * @version: 1.0 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class PostPO { + /** + * 主键 + */ + private Long id; + /** + * 编号 + */ + private String postNo; + /** + * 名称 + */ + private String postName; + /** + * 说明 + */ + private String description; + private Long creator; + private int deleteType; + private Date createTime; + private Date updateTime; + +} diff --git a/src/com/engine/organization/mapper/post/PostMapper.java b/src/com/engine/organization/mapper/post/PostMapper.java new file mode 100644 index 00000000..d118e2cf --- /dev/null +++ b/src/com/engine/organization/mapper/post/PostMapper.java @@ -0,0 +1,69 @@ +package com.engine.organization.mapper.post; + + +import com.engine.organization.entity.post.po.PostPO; +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 + * @Description: TODO + * @Date 2022/5/13 + * @Version V1.0 + **/ +public interface PostMapper { + + /** + * 根据No查询职务分类 + * + * @param postNo + * @return + */ + List listByNo(@Param("postNo") String postNo); + + /** + * 获取职务分类根据ID + * + * @param id + * @return + */ + PostPO getPostByID(@Param("id") long id); + + /** + * 根据ID查询职务分类列表 + * 浏览按钮赋值、展示用 + * + * @param ids + * @return + */ + @MapKey("id") + List> listPostsByIds(@Param("ids") Collection ids); + + /** + * 插入职务分类 + * + * @param postPO + * @return + */ + int insertIgnoreNull(PostPO postPO); + + /** + * 修改,修改所有字段 + * + * @param postPO + * @return + */ + int updatePost(PostPO postPO); + + /** + * 批量删除职务分类方案 + * + * @param ids + */ + int deleteByIds(@Param("ids") Collection ids); + +} diff --git a/src/com/engine/organization/mapper/post/PostMapper.xml b/src/com/engine/organization/mapper/post/PostMapper.xml new file mode 100644 index 00000000..0a0e4e18 --- /dev/null +++ b/src/com/engine/organization/mapper/post/PostMapper.xml @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + t + . + id + , t.post_no + , t.post_name + , t.description + , t.creator + , t.delete_type + , t.create_time + , t.update_time + + + + + + + + + + + update jcl_org_post + + creator=#{creator}, + update_time=#{updateTime}, + post_no=#{postNo}, + post_name=#{postName}, + description=#{description}, + + WHERE id = #{id} AND delete_type = 0 + + + + INSERT INTO jcl_org_post + + + creator, + + + delete_type, + + + create_time, + + + update_time, + + + post_no, + + + post_name, + + + description, + + + + + #{creator}, + + + #{deleteType}, + + + #{createTime}, + + + #{updateTime}, + + + #{postNo}, + + + #{postName}, + + + #{description}, + + + + + + + + UPDATE jcl_org_post + 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/service/PostService.java b/src/com/engine/organization/service/PostService.java new file mode 100644 index 00000000..b92013a6 --- /dev/null +++ b/src/com/engine/organization/service/PostService.java @@ -0,0 +1,47 @@ +package com.engine.organization.service; + +import com.engine.organization.entity.post.po.PostPO; + +import java.util.Collection; +import java.util.Map; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/13 + * @version: 1.0 + */ +public interface PostService { + + /** + * 新增职务分类 + * @param postPO + * @return + */ + int savePost(PostPO postPO); + + /** + * 更新职务分类信息 + * + * @param postPO + * @return + */ + int updatePost(PostPO postPO); + + /** + * 根据ID批量删除 + * + * @param ids + */ + int deleteByIds(Collection ids); + + /** + * 获取新增表单 + * + * @param params + * @return + */ + Map getPostForm(Map params); + + +} diff --git a/src/com/engine/organization/service/impl/PostServiceImpl.java b/src/com/engine/organization/service/impl/PostServiceImpl.java new file mode 100644 index 00000000..4d5cf882 --- /dev/null +++ b/src/com/engine/organization/service/impl/PostServiceImpl.java @@ -0,0 +1,78 @@ +package com.engine.organization.service.impl; + +import com.api.browser.bean.SearchConditionGroup; +import com.api.browser.bean.SearchConditionItem; +import com.engine.core.impl.Service; +import com.engine.organization.entity.post.dto.PostDTO; +import com.engine.organization.entity.post.po.PostPO; +import com.engine.organization.mapper.post.PostMapper; +import com.engine.organization.service.PostService; +import com.engine.organization.util.OrganizationAssert; +import com.engine.organization.util.OrganizationFormItemUtil; +import com.engine.organization.util.db.MapperProxyFactory; +import weaver.general.StringUtil; +import weaver.general.Util; + +import java.util.*; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/13 + * @version: 1.0 + */ +public class PostServiceImpl extends Service implements PostService { + + private PostMapper getPostMapper() { + return MapperProxyFactory.getProxy(PostMapper.class); + } + + @Override + public int savePost(PostPO postPO) { + List list = getPostMapper().listByNo(Util.null2String(postPO.getPostNo())); + OrganizationAssert.isEmpty(list, "编号不允许重复"); + return getPostMapper().insertIgnoreNull(PostDTO.convertPO(postPO,user.getUID())); + } + + @Override + public int updatePost(PostPO postPO) { + return getPostMapper().updatePost(PostDTO.convertPO(postPO,user.getUID())); + } + + @Override + public int deleteByIds(Collection ids) { + OrganizationAssert.notEmpty(ids, "请选择要删除的数据"); + return getPostMapper().deleteByIds(ids); + } + + @Override + public Map getPostForm(Map params) { + Map apiDatas = new HashMap<>(); + List selectItems = new ArrayList<>(); + List addGroups = new ArrayList<>(); + SearchConditionItem postNameItem = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "名称", "postName"); + postNameItem.setRules("required|string"); + SearchConditionItem postNoItem = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "编号", "postNo"); + postNoItem.setRules("required|string"); + SearchConditionItem descriptionItem = OrganizationFormItemUtil.textareaItem(user, 2, 17, true, 2, 60, "描述说明", "description"); + + // 编辑状态下赋值操作 + String id = Util.null2String(params.get("id")); + if (!StringUtil.isEmpty(id)) { + PostPO postPO = getPostMapper().getPostByID(Integer.parseInt(id)); + OrganizationAssert.notNull(postPO, "选择的数据不存在,或数据已删除"); + + postNameItem.setValue(postPO.getPostName()); + postNoItem.setValue(postPO.getPostNo()); + descriptionItem.setValue(postPO.getDescription()); + + } + + selectItems.add(postNoItem); + selectItems.add(postNameItem); + selectItems.add(descriptionItem); + addGroups.add(new SearchConditionGroup("基本信息", true, selectItems)); + apiDatas.put("condition", addGroups); + return apiDatas; + } +} diff --git a/src/com/engine/organization/web/PostController.java b/src/com/engine/organization/web/PostController.java new file mode 100644 index 00000000..fb049a45 --- /dev/null +++ b/src/com/engine/organization/web/PostController.java @@ -0,0 +1,117 @@ +package com.engine.organization.web; + +import com.engine.common.util.ParamUtil; +import com.engine.common.util.ServiceUtil; +import com.engine.organization.entity.QueryParam; +import com.engine.organization.entity.post.po.PostPO; +import com.engine.organization.util.response.ReturnResult; +import com.engine.organization.wrapper.PostWrapper; +import io.swagger.v3.oas.annotations.parameters.RequestBody; +import weaver.hrm.HrmUserVarify; +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.core.Context; +import javax.ws.rs.core.MediaType; +import java.util.Map; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/13 + * @version: 1.0 + */ +public class PostController { + public PostWrapper getPostWrapper(User user) { + return ServiceUtil.getService(PostWrapper.class, user); + } + + + /** + * 添加职务分类 + * + * @param request + * @param response + * @param postPO + * @return + */ + @POST + @Path("/savePost") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult savePost(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody PostPO postPO) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getPostWrapper(user).savePost(postPO)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + /** + * 更新职务分类,修改所有字段 + * + * @param request + * @param response + * @param postPO + * @return + */ + @POST + @Path("/updatePost") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult updatePost(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody PostPO postPO) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getPostWrapper(user).updatePost(postPO)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + + /** + * 根据ID批量删除数据 + * + * @param request + * @param response + * @param param + * @return + */ + @POST + @Path("/deleteByIds") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult deleteByIds(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody QueryParam param) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getPostWrapper(user).deleteByIds(param.getIds())); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + + /** + * 新增、编辑表单 + * + * @param request + * @param response + * @return + */ + @GET + @Path("/getPostForm") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getPostForm(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + return ReturnResult.successed(getPostWrapper(user).getPostForm(map)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + +} diff --git a/src/com/engine/organization/web/SequenceController.java b/src/com/engine/organization/web/SequenceController.java index 63c76adb..faf2b8b0 100644 --- a/src/com/engine/organization/web/SequenceController.java +++ b/src/com/engine/organization/web/SequenceController.java @@ -62,12 +62,12 @@ public class SequenceController { @Path("/saveSequence") @Produces(MediaType.APPLICATION_JSON) public ReturnResult saveSequence(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SequenceSearchParam param) { - //try { + try { User user = HrmUserVarify.getUser(request, response); return ReturnResult.successed(getSequenceWrapper(user).saveSequence(param)); - //} catch (Exception e) { - // return ReturnResult.exceptionHandle(e.getMessage()); - //} + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } } /** diff --git a/src/com/engine/organization/wrapper/PostWrapper.java b/src/com/engine/organization/wrapper/PostWrapper.java new file mode 100644 index 00000000..c0ef2cc9 --- /dev/null +++ b/src/com/engine/organization/wrapper/PostWrapper.java @@ -0,0 +1,64 @@ +package com.engine.organization.wrapper; + +import com.engine.common.util.ServiceUtil; +import com.engine.core.impl.Service; +import com.engine.organization.entity.post.po.PostPO; +import com.engine.organization.service.PostService; +import com.engine.organization.service.impl.PostServiceImpl; +import org.apache.ibatis.annotations.Param; +import weaver.hrm.User; + +import java.util.Collection; +import java.util.Map; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/13 + * @version: 1.0 + */ +public class PostWrapper extends Service { + private PostService getPostService(User user) { + return ServiceUtil.getService(PostServiceImpl.class, user); + } + + /** + * 新增职务分类 + * + * @param postPO + * @return + */ + public int savePost(PostPO postPO) { + return getPostService(user).savePost(postPO); + } + + /** + * 更新职务分类 + * + * @param postPO + * @return + */ + public int updatePost(PostPO postPO) { + return getPostService(user).updatePost(postPO); + } + + /** + * 根据ID批量删除 + * + * @param ids + */ + public int deleteByIds(@Param("ids") Collection ids) { + return getPostService(user).deleteByIds(ids); + } + + /** + * 获取新增表单 + * + * @param params + * @return + */ + public Map getPostForm(Map params) { + return getPostService(user).getPostForm(params); + } + +} From f576df3495e3cadcb8d9675d3c24323f178f84ed Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 13 May 2022 16:05:10 +0800 Subject: [PATCH 30/36] =?UTF-8?q?=E8=81=8C=E5=8A=A1=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/web/PostInfoController.java | 15 ++ .../entity/post/dto/PostInfoDTO.java | 34 ++++ .../post/param/PostInfoSearchParam.java | 51 +++++ .../entity/post/po/PostInfoPO.java | 59 ++++++ .../entity/post/vo/PostInfoTableVO.java | 79 ++++++++ .../mapper/post/PostInfoMapper.java | 67 +++++++ .../mapper/post/PostInfoMapper.xml | 165 ++++++++++++++++ .../organization/mapper/post/PostMapper.xml | 2 +- .../mapper/scheme/GradeMapper.xml | 2 +- .../mapper/scheme/LevelMapper.xml | 2 +- .../mapper/sequence/SequenceMapper.xml | 2 +- .../organization/service/PostInfoService.java | 70 +++++++ .../service/impl/GradeServiceImpl.java | 2 +- .../service/impl/LevelServiceImpl.java | 2 +- .../service/impl/PostInfoServiceImpl.java | 176 ++++++++++++++++++ .../service/impl/SequenceServiceImpl.java | 2 +- .../organization/web/PostInfoController.java | 174 +++++++++++++++++ .../organization/wrapper/PostInfoWrapper.java | 94 ++++++++++ 18 files changed, 991 insertions(+), 7 deletions(-) create mode 100644 src/com/api/organization/web/PostInfoController.java create mode 100644 src/com/engine/organization/entity/post/dto/PostInfoDTO.java create mode 100644 src/com/engine/organization/entity/post/param/PostInfoSearchParam.java create mode 100644 src/com/engine/organization/entity/post/po/PostInfoPO.java create mode 100644 src/com/engine/organization/entity/post/vo/PostInfoTableVO.java create mode 100644 src/com/engine/organization/mapper/post/PostInfoMapper.java create mode 100644 src/com/engine/organization/mapper/post/PostInfoMapper.xml create mode 100644 src/com/engine/organization/service/PostInfoService.java create mode 100644 src/com/engine/organization/service/impl/PostInfoServiceImpl.java create mode 100644 src/com/engine/organization/web/PostInfoController.java create mode 100644 src/com/engine/organization/wrapper/PostInfoWrapper.java diff --git a/src/com/api/organization/web/PostInfoController.java b/src/com/api/organization/web/PostInfoController.java new file mode 100644 index 00000000..701e6646 --- /dev/null +++ b/src/com/api/organization/web/PostInfoController.java @@ -0,0 +1,15 @@ +package com.api.organization.web; + +import javax.ws.rs.Path; + +/** + * + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/13 + * @version: 1.0 + */ +@Path("/bs/hrmorganization/postinfo") +public class PostInfoController extends com.engine.organization.web.PostInfoController { + +} diff --git a/src/com/engine/organization/entity/post/dto/PostInfoDTO.java b/src/com/engine/organization/entity/post/dto/PostInfoDTO.java new file mode 100644 index 00000000..1c04fbe7 --- /dev/null +++ b/src/com/engine/organization/entity/post/dto/PostInfoDTO.java @@ -0,0 +1,34 @@ +package com.engine.organization.entity.post.dto; + +import com.engine.organization.entity.post.param.PostInfoSearchParam; +import com.engine.organization.entity.post.po.PostInfoPO; + +import java.util.Date; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/13 + * @version: 1.0 + */ +public class PostInfoDTO { + public static PostInfoPO convertParamToPO(PostInfoSearchParam param, Long employeeId) { + if (param == null) { + return null; + } + return PostInfoPO.builder() + .id(param.getId() == null ? 0 : param.getId()) + .postInfoNo(param.getPostInfoNo() == null ? null : param.getPostInfoNo()) + .postInfoName(param.getPostInfoName() == null ? null : param.getPostInfoName()) + .postInfoAuthority(param.getPostInfoAuthority() == null ? null : param.getPostInfoAuthority()) + .postInfoDuty(param.getPostInfoDuty() == null ? null : param.getPostInfoDuty()) + .postInfoQualification(param.getPostInfoQualification() == null ? null : param.getPostInfoQualification()) + .postId(param.getPostId() == null ? null : param.getPostId()) + .description(param.getDescription() == null ? null : param.getDescription()) + .deleteType(0) + .createTime(new Date()) + .updateTime(new Date()) + .creator(employeeId) + .build(); + } +} diff --git a/src/com/engine/organization/entity/post/param/PostInfoSearchParam.java b/src/com/engine/organization/entity/post/param/PostInfoSearchParam.java new file mode 100644 index 00000000..a0f6eac2 --- /dev/null +++ b/src/com/engine/organization/entity/post/param/PostInfoSearchParam.java @@ -0,0 +1,51 @@ +package com.engine.organization.entity.post.param; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/13 + * @version: 1.0 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class PostInfoSearchParam { + /** + * 主键 + */ + private Long id; + /** + * 编号 + */ + private String postInfoNo; + /** + * 名称 + */ + private String postInfoName; + /** + * 权限 + */ + private String postInfoAuthority; + /** + * 责任 + */ + private String postInfoDuty; + /** + * 资格 + */ + private String postInfoQualification; + /** + * 职务分类 + */ + private Integer postId; + /** + * 说明 + */ + private String description; +} diff --git a/src/com/engine/organization/entity/post/po/PostInfoPO.java b/src/com/engine/organization/entity/post/po/PostInfoPO.java new file mode 100644 index 00000000..84f5425f --- /dev/null +++ b/src/com/engine/organization/entity/post/po/PostInfoPO.java @@ -0,0 +1,59 @@ +package com.engine.organization.entity.post.po; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/13 + * @version: 1.0 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class PostInfoPO { + /** + * 主键 + */ + private Long id; + /** + * 编号 + */ + private String postInfoNo; + /** + * 名称 + */ + private String postInfoName; + /** + * 权限 + */ + private String postInfoAuthority; + /** + * 责任 + */ + private String postInfoDuty; + /** + * 资格 + */ + private String postInfoQualification; + /** + * 职务分类 + */ + private Integer postId; + /** + * 说明 + */ + private String description; + + private Long creator; + private int deleteType; + private Date createTime; + private Date updateTime; + +} diff --git a/src/com/engine/organization/entity/post/vo/PostInfoTableVO.java b/src/com/engine/organization/entity/post/vo/PostInfoTableVO.java new file mode 100644 index 00000000..3014f36f --- /dev/null +++ b/src/com/engine/organization/entity/post/vo/PostInfoTableVO.java @@ -0,0 +1,79 @@ +package com.engine.organization.entity.post.vo; + +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; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/13 + * @version: 1.0 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@OrganizationTable(pageId = "fa30e916-d285-11ec-bc87-00ffcbed7508", + fields = " t.id," + + " t.post_info_no," + + " t.post_info_name," + + " t.post_info_authority," + + " t.post_info_duty," + + " t.post_info_qualification," + + " a.post_name," + + " t.description", + fromSql = " from jcl_org_post_info t inner join jcl_org_post a on t.post_id = a.id ", + orderby = "id desc", + primarykey = "id", + operates = { + @OrganizationTableOperate(index = "0", text = "编辑"), + @OrganizationTableOperate(index = "1", text = "删除") + } +) +public class PostInfoTableVO { + /** + * 主键 + */ + @OrganizationTableColumn(column = "id", display = false) + private Long id; + /** + * 编号 + */ + @OrganizationTableColumn(text = "编号", width = "20%", column = "post_info_no") + private String postInfoNo; + /** + * 名称 + */ + @OrganizationTableColumn(text = "名称", width = "20%", column = "post_info_name") + private String postInfoName; + /** + * 权限 + */ + @OrganizationTableColumn(text = "权限", width = "20%", column = "post_info_authority") + private String postInfoAuthority; + /** + * 责任 + */ + @OrganizationTableColumn(text = "责任", width = "20%", column = "post_info_duty") + private String postInfoDuty; + /** + * 资格 + */ + @OrganizationTableColumn(text = "资格", width = "20%", column = "post_info_qualification") + private String postInfoQualification; + /** + * 职务分类 + */ + @OrganizationTableColumn(text = "职务分类", width = "20%", column = "post_name") + private Integer postName; + /** + * 说明 + */ + @OrganizationTableColumn(text = "说明", width = "20%", column = "description") + private String description; +} diff --git a/src/com/engine/organization/mapper/post/PostInfoMapper.java b/src/com/engine/organization/mapper/post/PostInfoMapper.java new file mode 100644 index 00000000..10815a74 --- /dev/null +++ b/src/com/engine/organization/mapper/post/PostInfoMapper.java @@ -0,0 +1,67 @@ +package com.engine.organization.mapper.post; + + +import com.engine.organization.entity.post.po.PostInfoPO; +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 + * @Description: TODO + * @Date 2022/5/13 + * @Version V1.0 + **/ +public interface PostInfoMapper { + + /** + * 根据No查询职务信息 + * + * @param postInfoNo + * @return + */ + List listByNo(@Param("postInfoNo") String postInfoNo); + + /** + * 获取职务信息根据ID + * @param id + * @return + */ + PostInfoPO getPostInfoByID(@Param("id") long id); + + /** + * 根据ID查询职务信息列表 + * + * @param ids + * @return + */ + @MapKey("id") + List> listPostInfosByIds(@Param("ids") Collection ids); + + /** + * 插入职务信息 + * @param postInfoPO + * @return + */ + int insertIgnoreNull(PostInfoPO postInfoPO); + + /** + * 修改,修改所有字段 + * + * @param postInfoPO + * @return + */ + int updatePostInfo(PostInfoPO postInfoPO); + + /** + * 批量删除职务信息方案 + * + * @param ids + */ + int deleteByIds(@Param("ids") Collection ids); + + +} diff --git a/src/com/engine/organization/mapper/post/PostInfoMapper.xml b/src/com/engine/organization/mapper/post/PostInfoMapper.xml new file mode 100644 index 00000000..1d919c2e --- /dev/null +++ b/src/com/engine/organization/mapper/post/PostInfoMapper.xml @@ -0,0 +1,165 @@ + + + + + + + + + + + + + + + + + + + + + t + . + id + , t.post_info_no + , t.post_info_name + , t.post_info_authority + , t.post_info_duty + , t.post_info_qualification + , t.post_id + , t.description + , t.creator + , t.delete_type + , t.create_time + , t.update_time + + + + + + + + + update jcl_org_post_info + + creator=#{creator}, + update_time=#{updateTime}, + post_info_no=#{postInfoNo}, + post_info_name=#{postInfoName}, + post_info_authority=#{postInfoAuthority}, + post_info_duty=#{postInfoDuty}, + post_info_qualification=#{postInfoQualification}, + post_id=#{postId}, + description=#{description}, + + WHERE id = #{id} AND delete_type = 0 + + + + INSERT INTO jcl_org_post_info + + + creator, + + + delete_type, + + + create_time, + + + update_time, + + + post_info_no, + + + post_info_name, + + + post_info_authority, + + + post_info_duty, + + + post_info_qualification, + + + post_id, + + + description, + + + + + + #{creator}, + + + #{deleteType}, + + + #{createTime}, + + + #{updateTime}, + + + #{postInfoNo}, + + + #{postInfoName}, + + + #{postInfoAuthority}, + + + #{postInfoDuty}, + + + #{postInfoQualification}, + + + #{postId}, + + + #{description}, + + + + + + + UPDATE jcl_org_post_info + 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/post/PostMapper.xml b/src/com/engine/organization/mapper/post/PostMapper.xml index 0a0e4e18..0bb49259 100644 --- a/src/com/engine/organization/mapper/post/PostMapper.xml +++ b/src/com/engine/organization/mapper/post/PostMapper.xml @@ -7,7 +7,7 @@ - + diff --git a/src/com/engine/organization/mapper/scheme/GradeMapper.xml b/src/com/engine/organization/mapper/scheme/GradeMapper.xml index 1e9d4122..ccc1b0c6 100644 --- a/src/com/engine/organization/mapper/scheme/GradeMapper.xml +++ b/src/com/engine/organization/mapper/scheme/GradeMapper.xml @@ -10,7 +10,7 @@ - + diff --git a/src/com/engine/organization/mapper/scheme/LevelMapper.xml b/src/com/engine/organization/mapper/scheme/LevelMapper.xml index f8c65a5a..c34dfe85 100644 --- a/src/com/engine/organization/mapper/scheme/LevelMapper.xml +++ b/src/com/engine/organization/mapper/scheme/LevelMapper.xml @@ -9,7 +9,7 @@ - + diff --git a/src/com/engine/organization/mapper/sequence/SequenceMapper.xml b/src/com/engine/organization/mapper/sequence/SequenceMapper.xml index 1b000446..ca6a0d38 100644 --- a/src/com/engine/organization/mapper/sequence/SequenceMapper.xml +++ b/src/com/engine/organization/mapper/sequence/SequenceMapper.xml @@ -9,7 +9,7 @@ - + diff --git a/src/com/engine/organization/service/PostInfoService.java b/src/com/engine/organization/service/PostInfoService.java new file mode 100644 index 00000000..7211fbcb --- /dev/null +++ b/src/com/engine/organization/service/PostInfoService.java @@ -0,0 +1,70 @@ +package com.engine.organization.service; + +import com.engine.organization.entity.post.param.PostInfoSearchParam; + +import java.util.Collection; +import java.util.Map; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/13 + * @version: 1.0 + */ +public interface PostInfoService { + /** + * 职务信息列表 + * + * @param params + * @return + */ + Map listPage(Map params); + + /** + * 新增职务信息 + * @param param + * @return + */ + int savePostInfo(PostInfoSearchParam param); + + /** + * 更新职务信息信息 + * + * @param param + * @return + */ + int updatePostInfo(PostInfoSearchParam param); + + + /** + * 根据ID批量删除 + * + * @param ids + */ + int deleteByIds(Collection ids); + + /** + * 获取搜索条件 + * + * @param params + * @return + */ + Map getSearchCondition(Map params); + + + /** + * 获取新增表单 + * + * @param params + * @return + */ + Map getPostInfoForm(Map params); + + /** + * 获取列表页面按钮信息 + * @return + */ + Map getHasRight(); + + +} diff --git a/src/com/engine/organization/service/impl/GradeServiceImpl.java b/src/com/engine/organization/service/impl/GradeServiceImpl.java index 592e21fd..d3ee4021 100644 --- a/src/com/engine/organization/service/impl/GradeServiceImpl.java +++ b/src/com/engine/organization/service/impl/GradeServiceImpl.java @@ -190,7 +190,7 @@ public class GradeServiceImpl extends Service implements GradeService { } String schemeId = (String) params.get("schemeId"); if (StringUtils.isNotBlank(schemeId)) { - sqlWhere += " AND t.scheme_id " + dbType.like(schemeId); + sqlWhere += " AND t.scheme_id = '" + schemeId + "'"; } String viewCondition = (String) params.get("viewCondition"); // -1:全部、0:启用、1:禁用 diff --git a/src/com/engine/organization/service/impl/LevelServiceImpl.java b/src/com/engine/organization/service/impl/LevelServiceImpl.java index 31350daa..837b84d6 100644 --- a/src/com/engine/organization/service/impl/LevelServiceImpl.java +++ b/src/com/engine/organization/service/impl/LevelServiceImpl.java @@ -177,7 +177,7 @@ public class LevelServiceImpl extends Service implements LevelService { } String schemeId = (String) params.get("schemeId"); if (StringUtils.isNotBlank(schemeId)) { - sqlWhere += " AND t.scheme_id " + dbType.like(schemeId); + sqlWhere += " AND t.scheme_id = '" + schemeId + "'"; } String viewCondition = (String) params.get("viewCondition"); // -1:全部、0:启用、1:禁用 diff --git a/src/com/engine/organization/service/impl/PostInfoServiceImpl.java b/src/com/engine/organization/service/impl/PostInfoServiceImpl.java new file mode 100644 index 00000000..3b33daa2 --- /dev/null +++ b/src/com/engine/organization/service/impl/PostInfoServiceImpl.java @@ -0,0 +1,176 @@ +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; +import com.engine.core.impl.Service; +import com.engine.organization.component.OrganizationWeaTable; +import com.engine.organization.entity.QueryParam; +import com.engine.organization.entity.post.dto.PostInfoDTO; +import com.engine.organization.entity.post.param.PostInfoSearchParam; +import com.engine.organization.entity.post.po.PostInfoPO; +import com.engine.organization.entity.post.vo.PostInfoTableVO; +import com.engine.organization.mapper.post.PostInfoMapper; +import com.engine.organization.mapper.post.PostMapper; +import com.engine.organization.service.PostInfoService; +import com.engine.organization.util.MenuBtn; +import com.engine.organization.util.OrganizationAssert; +import com.engine.organization.util.OrganizationFormItemUtil; +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.*; + + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/13 + * @version: 1.0 + */ +public class PostInfoServiceImpl extends Service implements PostInfoService { + + private PostInfoMapper getPostInfoMapper() { + return MapperProxyFactory.getProxy(PostInfoMapper.class); + } + + private PostMapper getPostMapper() { + return MapperProxyFactory.getProxy(PostMapper.class); + } + + @Override + public Map listPage(Map params) { + OrganizationWeaTable table = new OrganizationWeaTable<>(user, PostInfoTableVO.class); + String sqlWhere = buildSqlWhere(params); + table.setSqlwhere(sqlWhere); + WeaResultMsg result = new WeaResultMsg(false); + result.putAll(table.makeDataResult()); + result.success(); + return result.getResultMap(); + } + + + @Override + public int savePostInfo(PostInfoSearchParam param) { + List list = getPostInfoMapper().listByNo(Util.null2String(param.getPostInfoNo())); + OrganizationAssert.isEmpty(list, "编号不允许重复"); + PostInfoPO postInfoPO = PostInfoDTO.convertParamToPO(param, (long) user.getUID()); + return getPostInfoMapper().insertIgnoreNull(postInfoPO); + } + + @Override + public int updatePostInfo(PostInfoSearchParam param) { + PostInfoPO postInfoPO = PostInfoDTO.convertParamToPO(param, (long) user.getUID()); + return getPostInfoMapper().updatePostInfo(postInfoPO); + } + + + @Override + public int deleteByIds(Collection ids) { + OrganizationAssert.notEmpty(ids, "请选择要删除的数据"); + return getPostInfoMapper().deleteByIds(ids); + } + + + @Override + public Map getSearchCondition(Map params) { + Map apiDatas = new HashMap<>(); + List addGroups = new ArrayList<>(); + List conditionItems = new ArrayList<>(); + SearchConditionItem browserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "职务分类", "161", "postId", "postBrowser"); + SearchConditionItem nameCondition = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "名称", "postInfoName"); + conditionItems.add(browserItem); + conditionItems.add(nameCondition); + addGroups.add(new SearchConditionGroup("高级搜索条件", true, conditionItems)); + apiDatas.put("conditions", addGroups); + return apiDatas; + } + + + @Override + public Map getPostInfoForm(Map params) { + Map apiDatas = new HashMap<>(); + List selectItems = new ArrayList<>(); + List addGroups = new ArrayList<>(); + // 编号 + SearchConditionItem noItem = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "编号", "postInfoNo"); + noItem.setRules("required|string"); + // 名称 + SearchConditionItem nameItem = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "名称", "postInfoName"); + nameItem.setRules("required|string"); + // 权限 + SearchConditionItem authorityItem = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "权限", "postInfoAuthority"); + // 责任 + SearchConditionItem dutyItem = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "责任", "postInfoDuty"); + // 资格 + SearchConditionItem qualificationItem = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "资格", "postInfoQualification"); + // 职务分类 + SearchConditionItem postIdBrowser = OrganizationFormItemUtil.browserItem(user, 2, 17, 3, false, "职务分类", "161", "postId", "postBrowser"); + // 说明 + SearchConditionItem descriptionItem = OrganizationFormItemUtil.textareaItem(user, 2, 17, true, 2, 60, "描述说明", "description"); + + // 编辑状态下赋值操作 + String id = Util.null2String(params.get("id")); + if (!StringUtil.isEmpty(id)) { + PostInfoPO postInfoPO = getPostInfoMapper().getPostInfoByID(Integer.parseInt(id)); + OrganizationAssert.notNull(postInfoPO, "选择的数据不存在,或数据已删除"); + + noItem.setValue(postInfoPO.getPostInfoNo()); + nameItem.setValue(postInfoPO.getPostInfoName()); + authorityItem.setValue(postInfoPO.getPostInfoAuthority()); + dutyItem.setValue(postInfoPO.getPostInfoDuty()); + qualificationItem.setValue(postInfoPO.getPostInfoQualification()); + descriptionItem.setValue(postInfoPO.getDescription()); + + BrowserBean browserBean = postIdBrowser.getBrowserConditionParam(); + List> maps = getPostMapper().listPostsByIds(QueryParam.builder().ids(postInfoPO.getPostId().toString()).build().getIds()); + + browserBean.setReplaceDatas(maps); + postIdBrowser.setBrowserConditionParam(browserBean); + // 编辑状态下,编号只读 + noItem.setViewAttr(1); + } + + selectItems.add(noItem); + selectItems.add(nameItem); + selectItems.add(authorityItem); + selectItems.add(dutyItem); + selectItems.add(qualificationItem); + selectItems.add(postIdBrowser); + selectItems.add(descriptionItem); + addGroups.add(new SearchConditionGroup("基本信息", true, selectItems)); + apiDatas.put("condition", addGroups); + return apiDatas; + } + + @Override + public Map getHasRight() { + return MenuBtn.getCommonBtnDatas(); + } + + + /** + * 查询条件 + * + * @param params + * @return + */ + private String buildSqlWhere(Map params) { + DBType dbType = DBType.get(new RecordSet().getDBType()); + String sqlWhere = " where t.delete_type ='0' "; + String sequenceName = (String) params.get("postInfoName"); + if (StringUtils.isNotBlank(sequenceName)) { + sqlWhere += " AND t.post_info_name " + dbType.like(sequenceName); + } + String postId = (String) params.get("postId"); + if (StringUtils.isNotBlank(postId)) { + sqlWhere += " AND t.post_id ='" + postId + "'"; + } + return sqlWhere; + } +} diff --git a/src/com/engine/organization/service/impl/SequenceServiceImpl.java b/src/com/engine/organization/service/impl/SequenceServiceImpl.java index c370239a..d33aafaa 100644 --- a/src/com/engine/organization/service/impl/SequenceServiceImpl.java +++ b/src/com/engine/organization/service/impl/SequenceServiceImpl.java @@ -177,7 +177,7 @@ public class SequenceServiceImpl extends Service implements SequenceService { } String schemeId = (String) params.get("schemeId"); if (StringUtils.isNotBlank(schemeId)) { - sqlWhere += " AND t.scheme_id " + dbType.like(schemeId); + sqlWhere += " AND t.scheme_id = '" + schemeId + "'"; } String viewCondition = (String) params.get("viewCondition"); // -1:全部、0:启用、1:禁用 diff --git a/src/com/engine/organization/web/PostInfoController.java b/src/com/engine/organization/web/PostInfoController.java new file mode 100644 index 00000000..c5650e98 --- /dev/null +++ b/src/com/engine/organization/web/PostInfoController.java @@ -0,0 +1,174 @@ +package com.engine.organization.web; + +import com.engine.common.util.ParamUtil; +import com.engine.common.util.ServiceUtil; +import com.engine.organization.entity.QueryParam; +import com.engine.organization.entity.post.param.PostInfoSearchParam; +import com.engine.organization.util.response.ReturnResult; +import com.engine.organization.wrapper.PostInfoWrapper; +import io.swagger.v3.oas.annotations.parameters.RequestBody; +import weaver.hrm.HrmUserVarify; +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.core.Context; +import javax.ws.rs.core.MediaType; +import java.util.Map; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/13 + * @version: 1.0 + */ +public class PostInfoController { + public PostInfoWrapper getPostInfoWrapper(User user) { + return ServiceUtil.getService(PostInfoWrapper.class, user); + } + + /** + * 获取list列表 + * + * @param request + * @param response + * @return + */ + @GET + @Path("/getPostInfoTable") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult listPostInfo(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + return ReturnResult.successed(getPostInfoWrapper(user).listPage(map)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + /** + * 添加职务信息 + * + * @param request + * @param response + * @return + */ + @POST + @Path("/savePostInfo") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult savePostInfo(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody PostInfoSearchParam param) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getPostInfoWrapper(user).savePostInfo(param)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + /** + * 更新职务信息,修改所有字段 + * + * @param request + * @param response + * @param param + * @return + */ + @POST + @Path("/updatePostInfo") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult updatePostInfo(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody PostInfoSearchParam param) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getPostInfoWrapper(user).updatePostInfo(param)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + + /** + * 根据ID批量删除数据 + * + * @param request + * @param response + * @param param + * @return + */ + @POST + @Path("/deleteByIds") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult deleteByIds(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody QueryParam param) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getPostInfoWrapper(user).deleteByIds(param.getIds())); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + /** + * 高级搜索条件 + * + * @param request + * @param response + * @return + */ + @GET + @Path("/getSearchCondition") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getSearchCondition(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + return ReturnResult.successed(getPostInfoWrapper(user).getSearchCondition(map)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + + /** + * 新增、编辑表单 + * + * @param request + * @param response + * @return + */ + @GET + @Path("/getPostInfoForm") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getPostInfoForm(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + return ReturnResult.successed(getPostInfoWrapper(user).getPostInfoForm(map)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + /** + * 列表页顶部按钮 + * + * @param request + * @param response + * @return + */ + @GET + @Path("/getHasRight") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getHasRight(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getPostInfoWrapper(user).getHasRight()); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + +} diff --git a/src/com/engine/organization/wrapper/PostInfoWrapper.java b/src/com/engine/organization/wrapper/PostInfoWrapper.java new file mode 100644 index 00000000..8b6288cc --- /dev/null +++ b/src/com/engine/organization/wrapper/PostInfoWrapper.java @@ -0,0 +1,94 @@ +package com.engine.organization.wrapper; + +import com.engine.common.util.ServiceUtil; +import com.engine.core.impl.Service; +import com.engine.organization.entity.post.param.PostInfoSearchParam; +import com.engine.organization.service.PostInfoService; +import com.engine.organization.service.impl.PostInfoServiceImpl; +import org.apache.ibatis.annotations.Param; +import weaver.hrm.User; + +import java.util.Collection; +import java.util.Map; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/13 + * @version: 1.0 + */ +public class PostInfoWrapper extends Service { + private PostInfoService getPostInfoService(User user) { + return ServiceUtil.getService(PostInfoServiceImpl.class, user); + } + + /** + * 职务信息列表 + * + * @param params + * @return + */ + public Map listPage(Map params) { + return getPostInfoService(user).listPage(params); + } + + /** + * 新增职务信息 + * + * @param param + * @return + */ + public int savePostInfo(PostInfoSearchParam param) { + return getPostInfoService(user).savePostInfo(param); + } + + /** + * 更新职务信息 + * + * @param param + * @return + */ + public int updatePostInfo(PostInfoSearchParam param) { + return getPostInfoService(user).updatePostInfo(param); + } + + /** + * 根据ID批量删除 + * + * @param ids + */ + public int deleteByIds(@Param("ids") Collection ids) { + return getPostInfoService(user).deleteByIds(ids); + } + + /** + * 获取搜索条件 + * + * @param params + * @return + */ + public Map getSearchCondition(Map params) { + return getPostInfoService(user).getSearchCondition(params); + } + + + /** + * 获取新增表单 + * + * @param params + * @return + */ + public Map getPostInfoForm(Map params) { + return getPostInfoService(user).getPostInfoForm(params); + } + + /** + * 获取列表页面按钮信息 + * + * @return + */ + public Map getHasRight() { + return getPostInfoService(user).getHasRight(); + } + +} From 6f24a67ff0bb9bfdcc8c49466b2e01510ddd2bca Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 13 May 2022 17:10:00 +0800 Subject: [PATCH 31/36] =?UTF-8?q?=E8=81=8C=E5=8A=A1=E5=88=86=E7=B1=BB?= =?UTF-8?q?=E5=B7=A6=E4=BE=A7=E6=A0=91=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/organization/entity/TreeData.java | 24 +++++++++++++++++++ .../organization/mapper/post/PostMapper.java | 8 +++++++ .../organization/mapper/post/PostMapper.xml | 9 +++++++ .../organization/service/PostService.java | 8 +++++++ .../service/impl/PostServiceImpl.java | 7 ++++++ .../organization/web/PostController.java | 18 ++++++++++++++ .../organization/wrapper/PostWrapper.java | 9 +++++++ 7 files changed, 83 insertions(+) create mode 100644 src/com/engine/organization/entity/TreeData.java diff --git a/src/com/engine/organization/entity/TreeData.java b/src/com/engine/organization/entity/TreeData.java new file mode 100644 index 00000000..a34c09de --- /dev/null +++ b/src/com/engine/organization/entity/TreeData.java @@ -0,0 +1,24 @@ +package com.engine.organization.entity; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.ArrayList; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/13 + * @version: 1.0 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class TreeData { + private String title; + private String key; + private ArrayList children; +} diff --git a/src/com/engine/organization/mapper/post/PostMapper.java b/src/com/engine/organization/mapper/post/PostMapper.java index d118e2cf..0a8e0d82 100644 --- a/src/com/engine/organization/mapper/post/PostMapper.java +++ b/src/com/engine/organization/mapper/post/PostMapper.java @@ -1,10 +1,12 @@ package com.engine.organization.mapper.post; +import com.engine.organization.entity.TreeData; import com.engine.organization.entity.post.po.PostPO; import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Param; +import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Map; @@ -43,6 +45,12 @@ public interface PostMapper { @MapKey("id") List> listPostsByIds(@Param("ids") Collection ids); + /** + * 获取左侧树 + * @return + */ + ArrayList getTreeData(); + /** * 插入职务分类 * diff --git a/src/com/engine/organization/mapper/post/PostMapper.xml b/src/com/engine/organization/mapper/post/PostMapper.xml index 0bb49259..8ab5d466 100644 --- a/src/com/engine/organization/mapper/post/PostMapper.xml +++ b/src/com/engine/organization/mapper/post/PostMapper.xml @@ -12,6 +12,11 @@ + + + + + t @@ -52,6 +57,10 @@ + + update jcl_org_post diff --git a/src/com/engine/organization/service/PostService.java b/src/com/engine/organization/service/PostService.java index b92013a6..3aa4194d 100644 --- a/src/com/engine/organization/service/PostService.java +++ b/src/com/engine/organization/service/PostService.java @@ -1,5 +1,6 @@ package com.engine.organization.service; +import com.engine.organization.entity.TreeData; import com.engine.organization.entity.post.po.PostPO; import java.util.Collection; @@ -44,4 +45,11 @@ public interface PostService { Map getPostForm(Map params); + /** + * 获取左侧树 + * @return + */ + TreeData getTreeData(); + + } diff --git a/src/com/engine/organization/service/impl/PostServiceImpl.java b/src/com/engine/organization/service/impl/PostServiceImpl.java index 4d5cf882..f2c627d7 100644 --- a/src/com/engine/organization/service/impl/PostServiceImpl.java +++ b/src/com/engine/organization/service/impl/PostServiceImpl.java @@ -3,6 +3,7 @@ package com.engine.organization.service.impl; import com.api.browser.bean.SearchConditionGroup; import com.api.browser.bean.SearchConditionItem; import com.engine.core.impl.Service; +import com.engine.organization.entity.TreeData; import com.engine.organization.entity.post.dto.PostDTO; import com.engine.organization.entity.post.po.PostPO; import com.engine.organization.mapper.post.PostMapper; @@ -75,4 +76,10 @@ public class PostServiceImpl extends Service implements PostService { apiDatas.put("condition", addGroups); return apiDatas; } + + @Override + public TreeData getTreeData() { + ArrayList treeDataList = getPostMapper().getTreeData(); + return TreeData.builder().children(treeDataList).title("全部类型").key("").build(); + } } diff --git a/src/com/engine/organization/web/PostController.java b/src/com/engine/organization/web/PostController.java index fb049a45..7e13fc8c 100644 --- a/src/com/engine/organization/web/PostController.java +++ b/src/com/engine/organization/web/PostController.java @@ -114,4 +114,22 @@ public class PostController { } } + /** + * 获取左侧树 + * @param request + * @param response + * @return + */ + @GET + @Path("/getTreeData") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getTreeData(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getPostWrapper(user).getTreeData()); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + } diff --git a/src/com/engine/organization/wrapper/PostWrapper.java b/src/com/engine/organization/wrapper/PostWrapper.java index c0ef2cc9..b978fb1f 100644 --- a/src/com/engine/organization/wrapper/PostWrapper.java +++ b/src/com/engine/organization/wrapper/PostWrapper.java @@ -2,6 +2,7 @@ package com.engine.organization.wrapper; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; +import com.engine.organization.entity.TreeData; import com.engine.organization.entity.post.po.PostPO; import com.engine.organization.service.PostService; import com.engine.organization.service.impl.PostServiceImpl; @@ -61,4 +62,12 @@ public class PostWrapper extends Service { return getPostService(user).getPostForm(params); } + /** + * 获取左侧树 + * @return + */ + public TreeData getTreeData() { + return getPostService(user).getTreeData(); + } + } From c8bf7c1633e17552767e4c972b4ece783cf0e765 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Mon, 16 May 2022 11:33:19 +0800 Subject: [PATCH 32/36] =?UTF-8?q?=E9=9B=86=E5=9B=A2=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/web/CompanyController.java | 15 +++ .../organization/service/CompanyService.java | 31 ++++++ .../service/impl/CompanyServiceImpl.java | 97 +++++++++++++++++++ .../service/impl/PostInfoServiceImpl.java | 9 +- .../service/impl/PostServiceImpl.java | 2 +- .../organization/web/CompanyController.java | 80 +++++++++++++++ .../organization/wrapper/CompanyWrapper.java | 50 ++++++++++ 7 files changed, 279 insertions(+), 5 deletions(-) create mode 100644 src/com/api/organization/web/CompanyController.java create mode 100644 src/com/engine/organization/service/CompanyService.java create mode 100644 src/com/engine/organization/service/impl/CompanyServiceImpl.java create mode 100644 src/com/engine/organization/web/CompanyController.java create mode 100644 src/com/engine/organization/wrapper/CompanyWrapper.java diff --git a/src/com/api/organization/web/CompanyController.java b/src/com/api/organization/web/CompanyController.java new file mode 100644 index 00000000..53cd39cf --- /dev/null +++ b/src/com/api/organization/web/CompanyController.java @@ -0,0 +1,15 @@ +package com.api.organization.web; + +import javax.ws.rs.Path; + +/** + * + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/16 + * @version: 1.0 + */ +@Path("/bs/hrmorganization/company") +public class CompanyController extends com.engine.organization.web.CompanyController { + +} diff --git a/src/com/engine/organization/service/CompanyService.java b/src/com/engine/organization/service/CompanyService.java new file mode 100644 index 00000000..3c4761d8 --- /dev/null +++ b/src/com/engine/organization/service/CompanyService.java @@ -0,0 +1,31 @@ +package com.engine.organization.service; + +import java.util.Map; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/16 + * @version: 1.0 + */ +public interface CompanyService { + /** + * 新增、编辑表单 + * + * @param params + * @return + */ + Map getCompanyFormField(Map params); + + /** + * 获取列表页面按钮信息 + * @return + */ + Map getHasRight(); + + /** + * 获取列表tabs + * @return + */ + Map getTabInfo(); +} diff --git a/src/com/engine/organization/service/impl/CompanyServiceImpl.java b/src/com/engine/organization/service/impl/CompanyServiceImpl.java new file mode 100644 index 00000000..24ee0e34 --- /dev/null +++ b/src/com/engine/organization/service/impl/CompanyServiceImpl.java @@ -0,0 +1,97 @@ +package com.engine.organization.service.impl; + +import com.api.browser.bean.SearchConditionGroup; +import com.api.browser.bean.SearchConditionItem; +import com.engine.core.impl.Service; +import com.engine.organization.entity.TopTab; +import com.engine.organization.service.CompanyService; +import com.engine.organization.util.MenuBtn; +import com.engine.organization.util.OrganizationFormItemUtil; +import weaver.conn.RecordSet; +import weaver.general.StringUtil; +import weaver.general.Util; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/16 + * @version: 1.0 + */ +public class CompanyServiceImpl extends Service implements CompanyService { + @Override + public Map getCompanyFormField(Map params) { + Map apiDatas = new HashMap<>(); + List selectItems = new ArrayList<>(); + List addGroups = new ArrayList<>(); + SearchConditionItem companyNameItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 1, 50, "总部名称", "companyname"); + SearchConditionItem companyDescItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 1, 50, "总部全称", "companydesc"); + companyDescItem.setRules("required|string"); + SearchConditionItem companyWebItem = OrganizationFormItemUtil.textareaItem(user, 2, 16, true, 1, 60, "公司网站", "companyweb"); + + // 赋值 + String id = Util.null2String(params.get("id")); + if (!StringUtil.isEmpty(id)) { + RecordSet rs = new RecordSet(); + + String sql = "select * from HrmCompany where id in(" + id + ")"; + rs.executeQuery(sql); + rs.executeQuery(sql); + int colcount = rs.getColCounts(); + while (rs.next()) { + Map row = new HashMap(); + for (int i = 1; i <= colcount; i++) { + row.put(rs.getColumnName(i).toLowerCase(), Util.null2String(rs.getString(i))); + } + // 赋值 + companyNameItem.setValue(row.get("companyname")); + companyDescItem.setValue(row.get("companydesc")); + companyWebItem.setValue(row.get("companyweb")); + } + } + + + // 设置编辑属性 + if (!StringUtil.isEmpty(Util.null2String(params.get("viewattr")))) { + int viewAttr = Integer.parseInt(params.get("viewattr").toString()); + companyNameItem.setViewAttr(viewAttr); + companyDescItem.setViewAttr(viewAttr); + companyWebItem.setViewAttr(viewAttr); + } + + selectItems.add(companyNameItem); + selectItems.add(companyDescItem); + selectItems.add(companyWebItem); + addGroups.add(new SearchConditionGroup("基本信息", true, selectItems)); + apiDatas.put("condition", addGroups); + return apiDatas; + } + + @Override + public Map getHasRight() { + Map btnDatas = new HashMap<>(); + ArrayList topMenuList = new ArrayList<>(); + ArrayList rightMenuList = new ArrayList<>(); + // 编辑 + topMenuList.add(MenuBtn.builder().isTop("1").menuFun("doEdit").menuIcon("icon-coms-edit").menuName("编辑").type("BTN_EDIT").build()); + btnDatas.put("topMenu", topMenuList); + // 编辑 + rightMenuList.add(MenuBtn.builder().isTop("1").menuFun("doEdit").menuIcon("icon-coms-edit").menuName("编辑").type("BTN_EDIT").build()); + btnDatas.put("rightMenu", rightMenuList); + return btnDatas; + } + + @Override + public Map getTabInfo() { + Map apiDatas = new HashMap<>(); + List topTabs = new ArrayList<>(); + topTabs.add(TopTab.builder().title("总部信息").viewCondition("1").build()); + apiDatas.put("topTabs", topTabs); + + return apiDatas; + } +} diff --git a/src/com/engine/organization/service/impl/PostInfoServiceImpl.java b/src/com/engine/organization/service/impl/PostInfoServiceImpl.java index 3b33daa2..727b7c8f 100644 --- a/src/com/engine/organization/service/impl/PostInfoServiceImpl.java +++ b/src/com/engine/organization/service/impl/PostInfoServiceImpl.java @@ -104,13 +104,14 @@ public class PostInfoServiceImpl extends Service implements PostInfoService { SearchConditionItem nameItem = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "名称", "postInfoName"); nameItem.setRules("required|string"); // 权限 - SearchConditionItem authorityItem = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "权限", "postInfoAuthority"); + SearchConditionItem authorityItem = OrganizationFormItemUtil.inputItem(user, 2, 17, 2, 50, "权限", "postInfoAuthority"); // 责任 - SearchConditionItem dutyItem = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "责任", "postInfoDuty"); + SearchConditionItem dutyItem = OrganizationFormItemUtil.inputItem(user, 2, 17, 2, 50, "责任", "postInfoDuty"); // 资格 - SearchConditionItem qualificationItem = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "资格", "postInfoQualification"); + SearchConditionItem qualificationItem = OrganizationFormItemUtil.inputItem(user, 2, 17, 2, 50, "资格", "postInfoQualification"); // 职务分类 SearchConditionItem postIdBrowser = OrganizationFormItemUtil.browserItem(user, 2, 17, 3, false, "职务分类", "161", "postId", "postBrowser"); + postIdBrowser.setRules("required|string"); // 说明 SearchConditionItem descriptionItem = OrganizationFormItemUtil.textareaItem(user, 2, 17, true, 2, 60, "描述说明", "description"); @@ -168,7 +169,7 @@ public class PostInfoServiceImpl extends Service implements PostInfoService { sqlWhere += " AND t.post_info_name " + dbType.like(sequenceName); } String postId = (String) params.get("postId"); - if (StringUtils.isNotBlank(postId)) { + if (StringUtils.isNotBlank(postId) && !"-1".equals(postId)) { sqlWhere += " AND t.post_id ='" + postId + "'"; } return sqlWhere; diff --git a/src/com/engine/organization/service/impl/PostServiceImpl.java b/src/com/engine/organization/service/impl/PostServiceImpl.java index f2c627d7..ed1fe268 100644 --- a/src/com/engine/organization/service/impl/PostServiceImpl.java +++ b/src/com/engine/organization/service/impl/PostServiceImpl.java @@ -80,6 +80,6 @@ public class PostServiceImpl extends Service implements PostService { @Override public TreeData getTreeData() { ArrayList treeDataList = getPostMapper().getTreeData(); - return TreeData.builder().children(treeDataList).title("全部类型").key("").build(); + return TreeData.builder().children(treeDataList).title("全部类型").key("-1").build(); } } diff --git a/src/com/engine/organization/web/CompanyController.java b/src/com/engine/organization/web/CompanyController.java new file mode 100644 index 00000000..213d406a --- /dev/null +++ b/src/com/engine/organization/web/CompanyController.java @@ -0,0 +1,80 @@ +package com.engine.organization.web; + +import com.engine.common.util.ParamUtil; +import com.engine.common.util.ServiceUtil; +import com.engine.organization.util.response.ReturnResult; +import com.engine.organization.wrapper.CompanyWrapper; +import weaver.hrm.HrmUserVarify; +import weaver.hrm.User; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.ws.rs.GET; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.core.Context; +import javax.ws.rs.core.MediaType; +import java.util.Map; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/16 + * @version: 1.0 + */ +public class CompanyController { + public CompanyWrapper getCompanyWrapper(User user) { + return ServiceUtil.getService(CompanyWrapper.class, user); + } + + /** + * 新增、编辑表单 + * + * @param request + * @param response + * @return + */ + @GET + @Path("/getCompanyFormField") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getCompanyFormField(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + return ReturnResult.successed(getCompanyWrapper(user).getCompanyFormField(map)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + /** + * 列表页顶部按钮 + * + * @param request + * @param response + * @return + */ + @GET + @Path("/getHasRight") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getHasRight(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getCompanyWrapper(user).getHasRight()); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + @GET + @Path("/getTabInfo") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getTabInfo(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getCompanyWrapper(user).getTabInfo()); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } +} diff --git a/src/com/engine/organization/wrapper/CompanyWrapper.java b/src/com/engine/organization/wrapper/CompanyWrapper.java new file mode 100644 index 00000000..b8310aab --- /dev/null +++ b/src/com/engine/organization/wrapper/CompanyWrapper.java @@ -0,0 +1,50 @@ +package com.engine.organization.wrapper; + +import com.engine.common.util.ServiceUtil; +import com.engine.core.impl.Service; +import com.engine.organization.service.CompanyService; +import com.engine.organization.service.impl.CompanyServiceImpl; +import weaver.hrm.User; + +import java.util.Map; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/16 + * @version: 1.0 + */ +public class CompanyWrapper extends Service { + private CompanyService getCompanyService(User user) { + return ServiceUtil.getService(CompanyServiceImpl.class, user); + } + + + /** + * 获取新增表单 + * + * @param params + * @return + */ + public Map getCompanyFormField(Map params) { + return getCompanyService(user).getCompanyFormField(params); + } + + /** + * 获取列表页面按钮信息 + * + * @return + */ + public Map getHasRight() { + return getCompanyService(user).getHasRight(); + } + + /** + * 获取列表tabs + * + * @return + */ + public Map getTabInfo() { + return getCompanyService(user).getTabInfo(); + } +} From a97caae514838d926d0f9ba306025e60ed944fc7 Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Mon, 16 May 2022 13:51:50 +0800 Subject: [PATCH 33/36] =?UTF-8?q?=E4=BF=AE=E6=94=B9url?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/api/organization/web/CompanyController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/api/organization/web/CompanyController.java b/src/com/api/organization/web/CompanyController.java index 53cd39cf..99315b08 100644 --- a/src/com/api/organization/web/CompanyController.java +++ b/src/com/api/organization/web/CompanyController.java @@ -9,7 +9,7 @@ import javax.ws.rs.Path; * @createTime: 2022/05/16 * @version: 1.0 */ -@Path("/bs/hrmorganization/company") +@Path("/bs/hrmorganization/group") public class CompanyController extends com.engine.organization.web.CompanyController { } From fae1bd776b7d7d160ecc254ddf230eb153b3d478 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Mon, 16 May 2022 14:29:11 +0800 Subject: [PATCH 34/36] =?UTF-8?q?=E9=9B=86=E5=9B=A2=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...anyController.java => GroupController.java} | 2 +- .../{CompanyService.java => GroupService.java} | 4 ++-- ...yServiceImpl.java => GroupServiceImpl.java} | 6 +++--- ...anyController.java => GroupController.java} | 18 +++++++++--------- .../{CompanyWrapper.java => GroupWrapper.java} | 18 +++++++++--------- 5 files changed, 24 insertions(+), 24 deletions(-) rename src/com/api/organization/web/{CompanyController.java => GroupController.java} (69%) rename src/com/engine/organization/service/{CompanyService.java => GroupService.java} (80%) rename src/com/engine/organization/service/impl/{CompanyServiceImpl.java => GroupServiceImpl.java} (94%) rename src/com/engine/organization/web/{CompanyController.java => GroupController.java} (75%) rename src/com/engine/organization/wrapper/{CompanyWrapper.java => GroupWrapper.java} (52%) diff --git a/src/com/api/organization/web/CompanyController.java b/src/com/api/organization/web/GroupController.java similarity index 69% rename from src/com/api/organization/web/CompanyController.java rename to src/com/api/organization/web/GroupController.java index 99315b08..fe147c93 100644 --- a/src/com/api/organization/web/CompanyController.java +++ b/src/com/api/organization/web/GroupController.java @@ -10,6 +10,6 @@ import javax.ws.rs.Path; * @version: 1.0 */ @Path("/bs/hrmorganization/group") -public class CompanyController extends com.engine.organization.web.CompanyController { +public class GroupController extends com.engine.organization.web.GroupController { } diff --git a/src/com/engine/organization/service/CompanyService.java b/src/com/engine/organization/service/GroupService.java similarity index 80% rename from src/com/engine/organization/service/CompanyService.java rename to src/com/engine/organization/service/GroupService.java index 3c4761d8..fb704c21 100644 --- a/src/com/engine/organization/service/CompanyService.java +++ b/src/com/engine/organization/service/GroupService.java @@ -8,14 +8,14 @@ import java.util.Map; * @createTime: 2022/05/16 * @version: 1.0 */ -public interface CompanyService { +public interface GroupService { /** * 新增、编辑表单 * * @param params * @return */ - Map getCompanyFormField(Map params); + Map getGroupFormField(Map params); /** * 获取列表页面按钮信息 diff --git a/src/com/engine/organization/service/impl/CompanyServiceImpl.java b/src/com/engine/organization/service/impl/GroupServiceImpl.java similarity index 94% rename from src/com/engine/organization/service/impl/CompanyServiceImpl.java rename to src/com/engine/organization/service/impl/GroupServiceImpl.java index 24ee0e34..fb431936 100644 --- a/src/com/engine/organization/service/impl/CompanyServiceImpl.java +++ b/src/com/engine/organization/service/impl/GroupServiceImpl.java @@ -4,7 +4,7 @@ import com.api.browser.bean.SearchConditionGroup; import com.api.browser.bean.SearchConditionItem; import com.engine.core.impl.Service; import com.engine.organization.entity.TopTab; -import com.engine.organization.service.CompanyService; +import com.engine.organization.service.GroupService; import com.engine.organization.util.MenuBtn; import com.engine.organization.util.OrganizationFormItemUtil; import weaver.conn.RecordSet; @@ -22,9 +22,9 @@ import java.util.Map; * @createTime: 2022/05/16 * @version: 1.0 */ -public class CompanyServiceImpl extends Service implements CompanyService { +public class GroupServiceImpl extends Service implements GroupService { @Override - public Map getCompanyFormField(Map params) { + public Map getGroupFormField(Map params) { Map apiDatas = new HashMap<>(); List selectItems = new ArrayList<>(); List addGroups = new ArrayList<>(); diff --git a/src/com/engine/organization/web/CompanyController.java b/src/com/engine/organization/web/GroupController.java similarity index 75% rename from src/com/engine/organization/web/CompanyController.java rename to src/com/engine/organization/web/GroupController.java index 213d406a..8a4abdf4 100644 --- a/src/com/engine/organization/web/CompanyController.java +++ b/src/com/engine/organization/web/GroupController.java @@ -3,7 +3,7 @@ package com.engine.organization.web; import com.engine.common.util.ParamUtil; import com.engine.common.util.ServiceUtil; import com.engine.organization.util.response.ReturnResult; -import com.engine.organization.wrapper.CompanyWrapper; +import com.engine.organization.wrapper.GroupWrapper; import weaver.hrm.HrmUserVarify; import weaver.hrm.User; @@ -22,9 +22,9 @@ import java.util.Map; * @createTime: 2022/05/16 * @version: 1.0 */ -public class CompanyController { - public CompanyWrapper getCompanyWrapper(User user) { - return ServiceUtil.getService(CompanyWrapper.class, user); +public class GroupController { + public GroupWrapper getGroupWrapper(User user) { + return ServiceUtil.getService(GroupWrapper.class, user); } /** @@ -35,13 +35,13 @@ public class CompanyController { * @return */ @GET - @Path("/getCompanyFormField") + @Path("/getGroupFormField") @Produces(MediaType.APPLICATION_JSON) - public ReturnResult getCompanyFormField(@Context HttpServletRequest request, @Context HttpServletResponse response) { + public ReturnResult getGroupFormField(@Context HttpServletRequest request, @Context HttpServletResponse response) { try { User user = HrmUserVarify.getUser(request, response); Map map = ParamUtil.request2Map(request); - return ReturnResult.successed(getCompanyWrapper(user).getCompanyFormField(map)); + return ReturnResult.successed(getGroupWrapper(user).getGroupFormField(map)); } catch (Exception e) { return ReturnResult.exceptionHandle(e.getMessage()); } @@ -60,7 +60,7 @@ public class CompanyController { public ReturnResult getHasRight(@Context HttpServletRequest request, @Context HttpServletResponse response) { try { User user = HrmUserVarify.getUser(request, response); - return ReturnResult.successed(getCompanyWrapper(user).getHasRight()); + return ReturnResult.successed(getGroupWrapper(user).getHasRight()); } catch (Exception e) { return ReturnResult.exceptionHandle(e.getMessage()); } @@ -72,7 +72,7 @@ public class CompanyController { public ReturnResult getTabInfo(@Context HttpServletRequest request, @Context HttpServletResponse response) { try { User user = HrmUserVarify.getUser(request, response); - return ReturnResult.successed(getCompanyWrapper(user).getTabInfo()); + return ReturnResult.successed(getGroupWrapper(user).getTabInfo()); } catch (Exception e) { return ReturnResult.exceptionHandle(e.getMessage()); } diff --git a/src/com/engine/organization/wrapper/CompanyWrapper.java b/src/com/engine/organization/wrapper/GroupWrapper.java similarity index 52% rename from src/com/engine/organization/wrapper/CompanyWrapper.java rename to src/com/engine/organization/wrapper/GroupWrapper.java index b8310aab..2c9bd5c0 100644 --- a/src/com/engine/organization/wrapper/CompanyWrapper.java +++ b/src/com/engine/organization/wrapper/GroupWrapper.java @@ -2,8 +2,8 @@ package com.engine.organization.wrapper; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; -import com.engine.organization.service.CompanyService; -import com.engine.organization.service.impl.CompanyServiceImpl; +import com.engine.organization.service.GroupService; +import com.engine.organization.service.impl.GroupServiceImpl; import weaver.hrm.User; import java.util.Map; @@ -14,9 +14,9 @@ import java.util.Map; * @createTime: 2022/05/16 * @version: 1.0 */ -public class CompanyWrapper extends Service { - private CompanyService getCompanyService(User user) { - return ServiceUtil.getService(CompanyServiceImpl.class, user); +public class GroupWrapper extends Service { + private GroupService getGroupService(User user) { + return ServiceUtil.getService(GroupServiceImpl.class, user); } @@ -26,8 +26,8 @@ public class CompanyWrapper extends Service { * @param params * @return */ - public Map getCompanyFormField(Map params) { - return getCompanyService(user).getCompanyFormField(params); + public Map getGroupFormField(Map params) { + return getGroupService(user).getGroupFormField(params); } /** @@ -36,7 +36,7 @@ public class CompanyWrapper extends Service { * @return */ public Map getHasRight() { - return getCompanyService(user).getHasRight(); + return getGroupService(user).getHasRight(); } /** @@ -45,6 +45,6 @@ public class CompanyWrapper extends Service { * @return */ public Map getTabInfo() { - return getCompanyService(user).getTabInfo(); + return getGroupService(user).getTabInfo(); } } From 273e29fbe966881495987c86be2d67f5442ee8ae Mon Sep 17 00:00:00 2001 From: dxfeng Date: Mon, 16 May 2022 16:26:21 +0800 Subject: [PATCH 35/36] =?UTF-8?q?=E8=81=8C=E5=8A=A1=E4=BF=A1=E6=81=AF=20?= =?UTF-8?q?=E7=A6=81=E7=94=A8=E6=A0=87=E8=AF=86=E6=8E=A5=E5=8F=A3=20?= =?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 | 1 + docs/表结构SQL/Oracle.sql | 1 + docs/表结构SQL/SqlServer.sql | 1 + .../organization/entity/comp/po/CompPO.java | 35 ++++++++ .../entity/post/dto/PostInfoDTO.java | 1 + .../post/param/PostInfoSearchParam.java | 4 + .../entity/post/po/PostInfoPO.java | 5 ++ .../entity/post/vo/PostInfoTableVO.java | 89 ++++++++++--------- .../mapper/post/PostInfoMapper.java | 9 +- .../mapper/post/PostInfoMapper.xml | 14 ++- .../organization/service/PostInfoService.java | 7 ++ .../service/impl/PostInfoServiceImpl.java | 6 ++ .../organization/web/PostInfoController.java | 20 +++++ .../organization/wrapper/PostInfoWrapper.java | 9 ++ 14 files changed, 158 insertions(+), 44 deletions(-) create mode 100644 src/com/engine/organization/entity/comp/po/CompPO.java diff --git a/docs/表结构SQL/MySQL.sql b/docs/表结构SQL/MySQL.sql index 8165de28..67473587 100644 --- a/docs/表结构SQL/MySQL.sql +++ b/docs/表结构SQL/MySQL.sql @@ -79,6 +79,7 @@ CREATE TABLE JCL_ORG_POST_INFO ( post_info_qualification text null, post_id int null, description text NULL, + forbidden_tag int NULL, creator int null, delete_type int null, create_time date null, diff --git a/docs/表结构SQL/Oracle.sql b/docs/表结构SQL/Oracle.sql index 863e56b9..4f6f4b75 100644 --- a/docs/表结构SQL/Oracle.sql +++ b/docs/表结构SQL/Oracle.sql @@ -81,6 +81,7 @@ CREATE TABLE JCL_ORG_POST_INFO ( POST_INFO_QUALIFICATION NVARCHAR2(1000) NULL, POST_ID NUMBER NULL, DESCRIPTION NVARCHAR2(1000) NULL, + FORBIDDEN_TAG NUMBER NULL, CREATOR NUMBER NULL, DELETE_TYPE NUMBER NULL, CREATE_TIME DATE NULL, diff --git a/docs/表结构SQL/SqlServer.sql b/docs/表结构SQL/SqlServer.sql index 47722348..a07f5514 100644 --- a/docs/表结构SQL/SqlServer.sql +++ b/docs/表结构SQL/SqlServer.sql @@ -79,6 +79,7 @@ CREATE TABLE JCL_ORG_POST_INFO ( post_info_qualification text null, post_id int null, description text COLLATE Chinese_PRC_CI_AS NULL, + forbidden_tag int NULL, creator int null, delete_type int null, create_time date null, diff --git a/src/com/engine/organization/entity/comp/po/CompPO.java b/src/com/engine/organization/entity/comp/po/CompPO.java new file mode 100644 index 00000000..c76234fa --- /dev/null +++ b/src/com/engine/organization/entity/comp/po/CompPO.java @@ -0,0 +1,35 @@ +package com.engine.organization.entity.comp.po; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/16 + * @version: 1.0 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class CompPO { + private Long id; + private String compNo; + private String compName; + private String compNameShort; + private Long parentCompany; + private String orgCode; + private Integer industry; + private Integer compPrincipal; + private String description; + private String forbiddenTag; + private Long creator; + private int deleteType; + private Date createTime; + private Date updateTime; +} diff --git a/src/com/engine/organization/entity/post/dto/PostInfoDTO.java b/src/com/engine/organization/entity/post/dto/PostInfoDTO.java index 1c04fbe7..47bcde77 100644 --- a/src/com/engine/organization/entity/post/dto/PostInfoDTO.java +++ b/src/com/engine/organization/entity/post/dto/PostInfoDTO.java @@ -25,6 +25,7 @@ public class PostInfoDTO { .postInfoQualification(param.getPostInfoQualification() == null ? null : param.getPostInfoQualification()) .postId(param.getPostId() == null ? null : param.getPostId()) .description(param.getDescription() == null ? null : param.getDescription()) + .forbiddenTag(param.getForbiddenTag() == null ? 0 : param.getForbiddenTag() ? 0 : 1) .deleteType(0) .createTime(new Date()) .updateTime(new Date()) diff --git a/src/com/engine/organization/entity/post/param/PostInfoSearchParam.java b/src/com/engine/organization/entity/post/param/PostInfoSearchParam.java index a0f6eac2..1a5bca15 100644 --- a/src/com/engine/organization/entity/post/param/PostInfoSearchParam.java +++ b/src/com/engine/organization/entity/post/param/PostInfoSearchParam.java @@ -48,4 +48,8 @@ public class PostInfoSearchParam { * 说明 */ private String description; + /** + * 禁用标记 + */ + private Boolean forbiddenTag; } diff --git a/src/com/engine/organization/entity/post/po/PostInfoPO.java b/src/com/engine/organization/entity/post/po/PostInfoPO.java index 84f5425f..baf8c7d8 100644 --- a/src/com/engine/organization/entity/post/po/PostInfoPO.java +++ b/src/com/engine/organization/entity/post/po/PostInfoPO.java @@ -51,6 +51,11 @@ public class PostInfoPO { */ private String description; + /** + * 禁用标记 + */ + private Integer forbiddenTag; + private Long creator; private int deleteType; private Date createTime; diff --git a/src/com/engine/organization/entity/post/vo/PostInfoTableVO.java b/src/com/engine/organization/entity/post/vo/PostInfoTableVO.java index 3014f36f..3bbc6ef7 100644 --- a/src/com/engine/organization/entity/post/vo/PostInfoTableVO.java +++ b/src/com/engine/organization/entity/post/vo/PostInfoTableVO.java @@ -26,7 +26,8 @@ import lombok.NoArgsConstructor; " t.post_info_duty," + " t.post_info_qualification," + " a.post_name," + - " t.description", + " t.description," + + " t.forbidden_tag", fromSql = " from jcl_org_post_info t inner join jcl_org_post a on t.post_id = a.id ", orderby = "id desc", primarykey = "id", @@ -36,44 +37,50 @@ import lombok.NoArgsConstructor; } ) public class PostInfoTableVO { - /** - * 主键 - */ - @OrganizationTableColumn(column = "id", display = false) - private Long id; - /** - * 编号 - */ - @OrganizationTableColumn(text = "编号", width = "20%", column = "post_info_no") - private String postInfoNo; - /** - * 名称 - */ - @OrganizationTableColumn(text = "名称", width = "20%", column = "post_info_name") - private String postInfoName; - /** - * 权限 - */ - @OrganizationTableColumn(text = "权限", width = "20%", column = "post_info_authority") - private String postInfoAuthority; - /** - * 责任 - */ - @OrganizationTableColumn(text = "责任", width = "20%", column = "post_info_duty") - private String postInfoDuty; - /** - * 资格 - */ - @OrganizationTableColumn(text = "资格", width = "20%", column = "post_info_qualification") - private String postInfoQualification; - /** - * 职务分类 - */ - @OrganizationTableColumn(text = "职务分类", width = "20%", column = "post_name") - private Integer postName; - /** - * 说明 - */ - @OrganizationTableColumn(text = "说明", width = "20%", column = "description") - private String description; + /** + * 主键 + */ + @OrganizationTableColumn(column = "id", display = false) + private Long id; + /** + * 编号 + */ + @OrganizationTableColumn(text = "编号", width = "20%", column = "post_info_no") + private String postInfoNo; + /** + * 名称 + */ + @OrganizationTableColumn(text = "名称", width = "20%", column = "post_info_name") + private String postInfoName; + /** + * 权限 + */ + @OrganizationTableColumn(text = "权限", width = "20%", column = "post_info_authority") + private String postInfoAuthority; + /** + * 责任 + */ + @OrganizationTableColumn(text = "责任", width = "20%", column = "post_info_duty") + private String postInfoDuty; + /** + * 资格 + */ + @OrganizationTableColumn(text = "资格", width = "20%", column = "post_info_qualification") + private String postInfoQualification; + /** + * 职务分类 + */ + @OrganizationTableColumn(text = "职务分类", width = "20%", column = "post_name") + private Integer postName; + /** + * 说明 + */ + @OrganizationTableColumn(text = "说明", width = "20%", column = "description") + private String description; + + /** + * 禁用标记 + */ + @OrganizationTableColumn(text = "禁用标记", width = "20%", column = "forbidden_tag") + private Integer forbiddenTag; } diff --git a/src/com/engine/organization/mapper/post/PostInfoMapper.java b/src/com/engine/organization/mapper/post/PostInfoMapper.java index 10815a74..f2b2d0d2 100644 --- a/src/com/engine/organization/mapper/post/PostInfoMapper.java +++ b/src/com/engine/organization/mapper/post/PostInfoMapper.java @@ -55,7 +55,14 @@ public interface PostInfoMapper { * @return */ int updatePostInfo(PostInfoPO postInfoPO); - + + /** + * 更新禁用标记 + * + * @param postInfoPO + * @return + */ + int updateForbiddenTagById(PostInfoPO postInfoPO); /** * 批量删除职务信息方案 * diff --git a/src/com/engine/organization/mapper/post/PostInfoMapper.xml b/src/com/engine/organization/mapper/post/PostInfoMapper.xml index 1d919c2e..9b9e449c 100644 --- a/src/com/engine/organization/mapper/post/PostInfoMapper.xml +++ b/src/com/engine/organization/mapper/post/PostInfoMapper.xml @@ -10,6 +10,7 @@ + @@ -28,6 +29,7 @@ , t.post_info_qualification , t.post_id , t.description + , t.forbidden_tag , t.creator , t.delete_type , t.create_time @@ -112,7 +114,7 @@ description, - + forbidden_tag, @@ -148,10 +150,18 @@ #{description}, - + 0, + + update jcl_org_sequence + + forbidden_tag=#{forbiddenTag}, + + WHERE id = #{id} AND delete_type = 0 + + UPDATE jcl_org_post_info SET delete_type = 1 diff --git a/src/com/engine/organization/service/PostInfoService.java b/src/com/engine/organization/service/PostInfoService.java index 7211fbcb..edeb6560 100644 --- a/src/com/engine/organization/service/PostInfoService.java +++ b/src/com/engine/organization/service/PostInfoService.java @@ -35,6 +35,13 @@ public interface PostInfoService { */ int updatePostInfo(PostInfoSearchParam param); + /** + * 更新禁用标记 + * + * @param params + */ + int updateForbiddenTagById(PostInfoSearchParam params); + /** * 根据ID批量删除 diff --git a/src/com/engine/organization/service/impl/PostInfoServiceImpl.java b/src/com/engine/organization/service/impl/PostInfoServiceImpl.java index 727b7c8f..4e5e4eed 100644 --- a/src/com/engine/organization/service/impl/PostInfoServiceImpl.java +++ b/src/com/engine/organization/service/impl/PostInfoServiceImpl.java @@ -69,6 +69,12 @@ public class PostInfoServiceImpl extends Service implements PostInfoService { return getPostInfoMapper().updatePostInfo(postInfoPO); } + @Override + public int updateForbiddenTagById(PostInfoSearchParam params) { + PostInfoPO postInfoPO = PostInfoPO.builder().id(params.getId()).forbiddenTag(params.getForbiddenTag() ? 0 : 1).build(); + return getPostInfoMapper().updateForbiddenTagById(postInfoPO); + } + @Override public int deleteByIds(Collection ids) { diff --git a/src/com/engine/organization/web/PostInfoController.java b/src/com/engine/organization/web/PostInfoController.java index c5650e98..8fefbcb6 100644 --- a/src/com/engine/organization/web/PostInfoController.java +++ b/src/com/engine/organization/web/PostInfoController.java @@ -90,6 +90,26 @@ public class PostInfoController { } } + /** + * 更新禁用标记 + * + * @param request + * @param response + * @param param + * @return + */ + @POST + @Path("/updateForbiddenTagById") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult updateForbiddenTagById(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody PostInfoSearchParam param) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getPostInfoWrapper(user).updateForbiddenTagById(param)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + /** * 根据ID批量删除数据 diff --git a/src/com/engine/organization/wrapper/PostInfoWrapper.java b/src/com/engine/organization/wrapper/PostInfoWrapper.java index 8b6288cc..8a7f4e25 100644 --- a/src/com/engine/organization/wrapper/PostInfoWrapper.java +++ b/src/com/engine/organization/wrapper/PostInfoWrapper.java @@ -52,6 +52,15 @@ public class PostInfoWrapper extends Service { return getPostInfoService(user).updatePostInfo(param); } + /** + * 更新禁用标记 + * + * @param params + */ + public int updateForbiddenTagById(PostInfoSearchParam params) { + return getPostInfoService(user).updateForbiddenTagById(params); + } + /** * 根据ID批量删除 * From 6978eb524675ef10d80b247c89360f82aef7ac4c Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 17 May 2022 13:34:00 +0800 Subject: [PATCH 36/36] =?UTF-8?q?=E5=85=AC=E5=8F=B8/=E5=88=86=E9=83=A8?= =?UTF-8?q?=E7=AE=A1=E7=90=86=20=E5=88=97=E8=A1=A8=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/organization/web/CompController.java | 13 +++ .../organization/common/BaseQueryParam.java | 22 ++++ .../organization/entity/comp/bo/CompBO.java | 44 ++++++++ .../entity/comp/dto/CompListDTO.java | 102 ++++++++++++++++++ .../organization/mapper/comp/CompMapper.java | 22 ++++ .../organization/mapper/comp/CompMapper.xml | 50 +++++++++ .../mapper/post/PostInfoMapper.xml | 2 +- .../organization/service/CompService.java | 21 ++++ .../service/impl/CompServiceImpl.java | 65 +++++++++++ .../organization/web/CompController.java | 48 +++++++++ .../organization/wrapper/CompWrapper.java | 32 ++++++ 11 files changed, 420 insertions(+), 1 deletion(-) create mode 100644 src/com/api/organization/web/CompController.java create mode 100644 src/com/engine/organization/common/BaseQueryParam.java create mode 100644 src/com/engine/organization/entity/comp/bo/CompBO.java create mode 100644 src/com/engine/organization/entity/comp/dto/CompListDTO.java create mode 100644 src/com/engine/organization/mapper/comp/CompMapper.java create mode 100644 src/com/engine/organization/mapper/comp/CompMapper.xml create mode 100644 src/com/engine/organization/service/CompService.java create mode 100644 src/com/engine/organization/service/impl/CompServiceImpl.java create mode 100644 src/com/engine/organization/web/CompController.java create mode 100644 src/com/engine/organization/wrapper/CompWrapper.java diff --git a/src/com/api/organization/web/CompController.java b/src/com/api/organization/web/CompController.java new file mode 100644 index 00000000..093fa968 --- /dev/null +++ b/src/com/api/organization/web/CompController.java @@ -0,0 +1,13 @@ +package com.api.organization.web; + +import javax.ws.rs.Path; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/17 + * @version: 1.0 + */ +@Path("/bs/hrmorganization/comp") +public class CompController extends com.engine.organization.web.CompController{ +} diff --git a/src/com/engine/organization/common/BaseQueryParam.java b/src/com/engine/organization/common/BaseQueryParam.java new file mode 100644 index 00000000..c5defd50 --- /dev/null +++ b/src/com/engine/organization/common/BaseQueryParam.java @@ -0,0 +1,22 @@ +package com.engine.organization.common; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @description: 基础查询参数 + * @author:dxfeng + * @createTime: 2022/05/16 + * @version: 1.0 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class BaseQueryParam { + //当前页码 + private Integer current = 1; + + //每页数据条数 + private Integer pageSize = 10; +} diff --git a/src/com/engine/organization/entity/comp/bo/CompBO.java b/src/com/engine/organization/entity/comp/bo/CompBO.java new file mode 100644 index 00000000..02c59c37 --- /dev/null +++ b/src/com/engine/organization/entity/comp/bo/CompBO.java @@ -0,0 +1,44 @@ +package com.engine.organization.entity.comp.bo; + +import com.engine.organization.entity.comp.dto.CompListDTO; +import com.engine.organization.entity.comp.po.CompPO; +import org.apache.commons.collections.CollectionUtils; + +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/16 + * @version: 1.0 + */ +public class CompBO { + public static List buildCompDTOList(Collection list) { + if (CollectionUtils.isEmpty(list)) { + return Collections.emptyList(); + } + List dtoList = list.stream().map(e -> CompListDTO.builder() + .id(e.getId()) + .compNo(e.getCompNo()) + .compName(e.getCompName()) + .compNameShort(e.getCompNameShort()) + .parentCompany(e.getParentCompany()) + .orgCode(e.getOrgCode()) + .industry(e.getIndustry()) + .compPrincipal(e.getCompPrincipal()) + .description(e.getDescription()) + .forbiddenTag(e.getForbiddenTag()) + .build() + ).collect(Collectors.toList()); + Map> collects = dtoList.stream().filter(item -> null != item.getParentCompany() && 0 != item.getParentCompany()).collect(Collectors.groupingBy(CompListDTO::getParentCompany)); + return dtoList.stream().filter(item -> null == item.getParentCompany() || 0 == item.getParentCompany()).map(e -> { + e.setChildren(collects.get(e.getId())); + return e; + }).collect(Collectors.toList()); + } + +} diff --git a/src/com/engine/organization/entity/comp/dto/CompListDTO.java b/src/com/engine/organization/entity/comp/dto/CompListDTO.java new file mode 100644 index 00000000..b7f8b2ee --- /dev/null +++ b/src/com/engine/organization/entity/comp/dto/CompListDTO.java @@ -0,0 +1,102 @@ +package com.engine.organization.entity.comp.dto; + +import com.cloudstore.eccom.pc.table.WeaTableType; +import com.engine.organization.annotation.OrganizationTable; +import com.engine.organization.annotation.OrganizationTableOperate; +import com.engine.organization.annotation.TableTitle; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; +import java.util.List; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/16 + * @version: 1.0 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@OrganizationTable(pageId = "2c66b3a4-d4f8-11ec-9774-00ffcbed7508", + tableType = WeaTableType.NONE, + operates = { + @OrganizationTableOperate(index = "0", text = "编辑"), + @OrganizationTableOperate(index = "1", text = "删除"), + @OrganizationTableOperate(index = "2", text = "查看部门") + }) +public class CompListDTO { + /** + * 主键id + */ + @TableTitle(title = "id", dataIndex = "id", key = "id") + private Long id; + + /** + * 编号 + */ + @TableTitle(title = "编号", dataIndex = "compNo", key = "compNo") + private String compNo; + + /** + * 名称 + */ + @TableTitle(title = "名称", dataIndex = "compName", key = "compName") + private String compName; + + /** + * 简称 + */ + @TableTitle(title = "简称", dataIndex = "compNameShort", key = "compNameShort") + private String compNameShort; + + /** + * 上级公司 + */ + @TableTitle(title = "上级公司", dataIndex = "parentCompany", key = "parentCompany") + private Long parentCompany; + + /** + * 组织机构代码 + */ + @TableTitle(title = "组织机构代码", dataIndex = "orgCode", key = "orgCode") + private String orgCode; + + /** + * 行业 + */ + @TableTitle(title = "行业", dataIndex = "industry", key = "industry") + private Integer industry; + + /** + * 负责人 + */ + @TableTitle(title = "负责人", dataIndex = "compPrincipal", key = "compPrincipal") + private Integer compPrincipal; + + /** + * 说明 + */ + @TableTitle(title = "说明", dataIndex = "description", key = "description") + private String description; + + /** + * 禁用标记 + */ + @TableTitle(title = "禁用标记", dataIndex = "forbiddenTag", key = "forbiddenTag") + private String forbiddenTag; + + /** + * 子节点 + */ + private List children; + + private Long creator; + private int deleteType; + private Date createTime; + private Date updateTime; +} diff --git a/src/com/engine/organization/mapper/comp/CompMapper.java b/src/com/engine/organization/mapper/comp/CompMapper.java new file mode 100644 index 00000000..e5f2df15 --- /dev/null +++ b/src/com/engine/organization/mapper/comp/CompMapper.java @@ -0,0 +1,22 @@ +package com.engine.organization.mapper.comp; + +import com.engine.organization.common.BaseQueryParam; +import com.engine.organization.entity.comp.po.CompPO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/16 + * @version: 1.0 + */ +public interface CompMapper { + /** + * 列表查询 + * @param queryParam + * @return + */ + List list(@Param("param") BaseQueryParam queryParam); +} diff --git a/src/com/engine/organization/mapper/comp/CompMapper.xml b/src/com/engine/organization/mapper/comp/CompMapper.xml new file mode 100644 index 00000000..44086a0f --- /dev/null +++ b/src/com/engine/organization/mapper/comp/CompMapper.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + t + . + id + , t.comp_no + , t.comp_name + , t.comp_name_short + , t.parent_company + , t.org_code + , t.industry + , t.comp_principal + , t.description + , t.forbidden_tag + , t.creator + , t.delete_type + , t.create_time + , t.update_time + + + + + + \ No newline at end of file diff --git a/src/com/engine/organization/mapper/post/PostInfoMapper.xml b/src/com/engine/organization/mapper/post/PostInfoMapper.xml index 9b9e449c..9d4a6011 100644 --- a/src/com/engine/organization/mapper/post/PostInfoMapper.xml +++ b/src/com/engine/organization/mapper/post/PostInfoMapper.xml @@ -155,7 +155,7 @@ - update jcl_org_sequence + update jcl_org_post_info forbidden_tag=#{forbiddenTag}, diff --git a/src/com/engine/organization/service/CompService.java b/src/com/engine/organization/service/CompService.java new file mode 100644 index 00000000..73c7d549 --- /dev/null +++ b/src/com/engine/organization/service/CompService.java @@ -0,0 +1,21 @@ +package com.engine.organization.service; + +import com.engine.organization.common.BaseQueryParam; + +import java.util.Map; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/16 + * @version: 1.0 + */ +public interface CompService { + + /** + * 列表 + * @param baseQueryParam + * @return + */ + Map listPage(BaseQueryParam baseQueryParam); +} diff --git a/src/com/engine/organization/service/impl/CompServiceImpl.java b/src/com/engine/organization/service/impl/CompServiceImpl.java new file mode 100644 index 00000000..dda51dfa --- /dev/null +++ b/src/com/engine/organization/service/impl/CompServiceImpl.java @@ -0,0 +1,65 @@ +package com.engine.organization.service.impl; + + +import com.cloudstore.eccom.pc.table.WeaTableColumn; +import com.cloudstore.eccom.result.WeaResultMsg; +import com.engine.core.impl.Service; +import com.engine.organization.common.BaseQueryParam; +import com.engine.organization.component.OrganizationWeaTable; +import com.engine.organization.entity.comp.bo.CompBO; +import com.engine.organization.entity.comp.dto.CompListDTO; +import com.engine.organization.entity.comp.po.CompPO; +import com.engine.organization.mapper.comp.CompMapper; +import com.engine.organization.service.CompService; +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 java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/16 + * @version: 1.0 + */ +public class CompServiceImpl extends Service implements CompService { + private CompMapper getCompMapper() { + return MapperProxyFactory.getProxy(CompMapper.class); + } + + @Override + public Map listPage(BaseQueryParam queryParam) { + Map datas = new HashMap<>(); + PageUtil.start(queryParam.getCurrent(), queryParam.getPageSize()); + List list = getCompMapper().list(queryParam); + PageInfo pageInfo = new PageInfo<>(list, CompPO.class); + Collection compPOS = pageInfo.getList(); + + List compListDTOS = CompBO.buildCompDTOList(compPOS); + PageInfo pageInfos = new PageInfo<>(compListDTOS, CompListDTO.class); + pageInfos.setTotal(pageInfo.getTotal()); + pageInfos.setPageNum(queryParam.getCurrent()); + pageInfos.setPageSize(queryParam.getPageSize()); + + OrganizationWeaTable table = new OrganizationWeaTable<>(user, CompListDTO.class); + List columns = pageInfos.getColumns(); + List weaTableColumn = columns.stream().map(v -> new WeaTableColumn("100", v.getTitle(), v.getKey())).collect(Collectors.toList()); + + table.setColumns(weaTableColumn); + + WeaResultMsg result = new WeaResultMsg(false); + result.putAll(table.makeDataResult()); + result.success(); + + + datas.put("pageInfo", pageInfos); + datas.put("dataKey",result.getResultMap()); + return datas; + } +} diff --git a/src/com/engine/organization/web/CompController.java b/src/com/engine/organization/web/CompController.java new file mode 100644 index 00000000..5635f0cc --- /dev/null +++ b/src/com/engine/organization/web/CompController.java @@ -0,0 +1,48 @@ +package com.engine.organization.web; + +import com.engine.common.util.ServiceUtil; +import com.engine.organization.common.BaseQueryParam; +import com.engine.organization.util.response.ReturnResult; +import com.engine.organization.wrapper.CompWrapper; +import io.swagger.v3.oas.annotations.parameters.RequestBody; +import weaver.hrm.HrmUserVarify; +import weaver.hrm.User; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.ws.rs.POST; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.core.Context; +import javax.ws.rs.core.MediaType; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/16 + * @version: 1.0 + */ +public class CompController { + public CompWrapper getCompWrapper(User user) { + return ServiceUtil.getService(CompWrapper.class, user); + } + + /** + * 获取list列表 + * + * @param request + * @param response + * @return + */ + @POST + @Path("/listComp") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult listComp(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody BaseQueryParam queryParam) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getCompWrapper(user).listPage(queryParam)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } +} diff --git a/src/com/engine/organization/wrapper/CompWrapper.java b/src/com/engine/organization/wrapper/CompWrapper.java new file mode 100644 index 00000000..77dda5da --- /dev/null +++ b/src/com/engine/organization/wrapper/CompWrapper.java @@ -0,0 +1,32 @@ +package com.engine.organization.wrapper; + +import com.engine.common.util.ServiceUtil; +import com.engine.core.impl.Service; +import com.engine.organization.common.BaseQueryParam; +import com.engine.organization.service.CompService; +import com.engine.organization.service.impl.CompServiceImpl; +import weaver.hrm.User; + +import java.util.Map; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/16 + * @version: 1.0 + */ +public class CompWrapper extends Service { + private CompService getCompService(User user) { + return ServiceUtil.getService(CompServiceImpl.class, user); + } + + /** + * 列表 + * + * @param params + * @return + */ + public Map listPage(BaseQueryParam params) { + return getCompService(user).listPage(params); + } +}