diff --git a/docs/表结构SQL/MySQL.sql b/docs/表结构SQL/MySQL.sql index 3f4162b0..a54c30ec 100644 --- a/docs/表结构SQL/MySQL.sql +++ b/docs/表结构SQL/MySQL.sql @@ -346,7 +346,7 @@ CREATE TABLE JCL_ORG_STAFFPLAN ( time_end date NULL, company_id varchar(100) NULL, description text NULL, - status int NULL, + forbidden_tag int NULL, creator int null, delete_type int null, create_time date null, @@ -363,10 +363,10 @@ CREATE TABLE JCL_ORG_STAFF ( job_id int null, staff_num int null, control_policy int null, - staff_permanent_num int null, + permanent_num int null, freeze_num int null, lack_status int null, - staff_description varchar(100) NULL, + staff_desc varchar(100) NULL, description text null, creator int null, delete_type int null, @@ -380,7 +380,7 @@ CREATE TABLE JCL_ORG_STAFFS ( id int auto_increment NOT NULL, staff_id int null, business_type int null, - business_change_num int null, + change_num int null, business_source int null, requestid int null, creator int null, diff --git a/docs/表结构SQL/Oracle.sql b/docs/表结构SQL/Oracle.sql index e8718031..9814fbba 100644 --- a/docs/表结构SQL/Oracle.sql +++ b/docs/表结构SQL/Oracle.sql @@ -347,7 +347,7 @@ CREATE TABLE JCL_ORG_STAFFPLAN ( TIME_END DATE NULL, COMPANY_ID NVARCHAR2(100) NULL, DESCRIPTION NVARCHAR2(1000) NULL, - STATUS NUMBER NULL, + FORBIDDEN_TAG NUMBER NULL, CREATOR NUMBER NULL, DELETE_TYPE NUMBER NULL, CREATE_TIME DATE NULL, @@ -364,10 +364,10 @@ CREATE TABLE JCL_ORG_STAFF ( JOB_ID NUMBER NULL, STAFF_NUM NUMBER NULL, CONTROL_POLICY NUMBER NULL, - STAFF_PERMANENT_NUM NUMBER NULL, + PERMANENT_NUM NUMBER NULL, FREEZE_NUM NUMBER NULL, LACK_STATUS NUMBER NULL, - STAFF_DESCRIPTION NVARCHAR2(100) NULL, + STAFF_DESC NVARCHAR2(100) NULL, DESCRIPTION NVARCHAR2(1000) NULL, CREATOR NUMBER NULL, DELETE_TYPE NUMBER NULL, @@ -381,7 +381,7 @@ CREATE TABLE JCL_ORG_STAFFS ( ID NUMBER NOT NULL, STAFF_ID NUMBER NULL, BUSINESS_TYPE NUMBER NULL, - BUSINESS_CHANGE_NUM NUMBER NULL, + CHANGE_NUM NUMBER NULL, BUSINESS_SOURCE NUMBER NULL, REQUESTID NUMBER NULL, CREATOR NUMBER NULL, diff --git a/docs/表结构SQL/SqlServer.sql b/docs/表结构SQL/SqlServer.sql index 6b740ca7..643e1dec 100644 --- a/docs/表结构SQL/SqlServer.sql +++ b/docs/表结构SQL/SqlServer.sql @@ -346,7 +346,7 @@ CREATE TABLE JCL_ORG_STAFFPLAN ( time_end date NULL, company_id varchar(100) COLLATE Chinese_PRC_CI_AS NULL, description text NULL, - status int NULL, + forbidden_tag int NULL, creator int null, delete_type int null, create_time date null, @@ -363,10 +363,10 @@ CREATE TABLE JCL_ORG_STAFF ( job_id int null, staff_num int null, control_policy int null, - staff_permanent_num int null, + permanent_num int null, freeze_num int null, lack_status int null, - staff_description varchar(100) COLLATE Chinese_PRC_CI_AS NULL, + staff_desc varchar(100) COLLATE Chinese_PRC_CI_AS NULL, description text null, creator int null, delete_type int null, @@ -380,7 +380,7 @@ 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, + change_num int null, business_source int null, requestid int null, creator int null, diff --git a/src/com/api/organization/web/StaffController.java b/src/com/api/organization/web/StaffController.java new file mode 100644 index 00000000..1377ab14 --- /dev/null +++ b/src/com/api/organization/web/StaffController.java @@ -0,0 +1,13 @@ +package com.api.organization.web; + +import javax.ws.rs.Path; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/25 + * @version: 1.0 + */ +@Path("/bs/hrmorganization/staff") +public class StaffController extends com.engine.organization.web.StaffController { +} diff --git a/src/com/api/organization/web/StaffPlanController.java b/src/com/api/organization/web/StaffPlanController.java new file mode 100644 index 00000000..2eb02710 --- /dev/null +++ b/src/com/api/organization/web/StaffPlanController.java @@ -0,0 +1,13 @@ +package com.api.organization.web; + +import javax.ws.rs.Path; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/25 + * @version: 1.0 + */ +@Path("/bs/hrmorganization/staffplan") +public class StaffPlanController extends com.engine.organization.web.StaffPlanController { +} diff --git a/src/com/engine/organization/entity/staff/bo/StaffBO.java b/src/com/engine/organization/entity/staff/bo/StaffBO.java new file mode 100644 index 00000000..aa8a3b56 --- /dev/null +++ b/src/com/engine/organization/entity/staff/bo/StaffBO.java @@ -0,0 +1,38 @@ +package com.engine.organization.entity.staff.bo; + +import com.engine.organization.entity.staff.param.StaffSearchParam; +import com.engine.organization.entity.staff.po.StaffPO; + +import java.util.Date; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/25 + * @version: 1.0 + */ +public class StaffBO { + public static StaffPO convertParamToPO(StaffSearchParam param, Long employeeId) { + if (param == null) { + return null; + } + return StaffPO.builder() + .id(param.getId()) + .planId(param.getPlanId()) + .compId(param.getCompId()) + .deptId(param.getDeptId()) + .jobId(param.getJobId()) + .staffNum(param.getStaffNum()) + .controlPolicy(param.getControlPolicy()) + .permanentNum(param.getPermanentNum()) + .freezeNum(param.getFreezeNum()) + .lackStatus(param.getLackStatus()) + .staffDesc(param.getStaffDesc()) + .description(param.getDescription()) + .deleteType(0) + .createTime(new Date()) + .updateTime(new Date()) + .creator(employeeId) + .build(); + } +} diff --git a/src/com/engine/organization/entity/staff/bo/StaffPlanBO.java b/src/com/engine/organization/entity/staff/bo/StaffPlanBO.java new file mode 100644 index 00000000..83efcb56 --- /dev/null +++ b/src/com/engine/organization/entity/staff/bo/StaffPlanBO.java @@ -0,0 +1,35 @@ +package com.engine.organization.entity.staff.bo; + +import com.engine.organization.entity.staff.param.StaffPlanSearchParam; +import com.engine.organization.entity.staff.po.StaffPlanPO; + +import java.util.Date; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/25 + * @version: 1.0 + */ +public class StaffPlanBO { + public static StaffPlanPO convertParamToPO(StaffPlanSearchParam param, Long employeeId) { + if (param == null) { + return null; + } + return StaffPlanPO.builder() + .id(param.getId()) + .planNo(param.getPlanNo()) + .planName(param.getPlanName()) + .planYear(param.getPlanYear()) + .timeStart(param.getTimeStart()) + .timeEnd(param.getTimeEnd()) + .companyId(param.getCompanyId()) + .description(param.getDescription()) + .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/staff/param/StaffPlanSearchParam.java b/src/com/engine/organization/entity/staff/param/StaffPlanSearchParam.java new file mode 100644 index 00000000..fd55a60e --- /dev/null +++ b/src/com/engine/organization/entity/staff/param/StaffPlanSearchParam.java @@ -0,0 +1,57 @@ +package com.engine.organization.entity.staff.param; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/25 + * @version: 1.0 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class StaffPlanSearchParam { + /** + * 主键 + */ + private Long id; + /** + * 编号 + */ + private String planNo; + /** + * 名称 + */ + private String planName; + /** + * 年度 + */ + private Integer planYear; + /** + * 时间开始 + */ + private Date timeStart; + /** + * 时间结束 + */ + private Date timeEnd; + /** + * 适用公司 + */ + private String companyId; + /** + * 说明 + */ + private String description; + /** + * 状态 + */ + private Boolean forbiddenTag; +} diff --git a/src/com/engine/organization/entity/staff/param/StaffSearchParam.java b/src/com/engine/organization/entity/staff/param/StaffSearchParam.java new file mode 100644 index 00000000..711ea22e --- /dev/null +++ b/src/com/engine/organization/entity/staff/param/StaffSearchParam.java @@ -0,0 +1,68 @@ +package com.engine.organization.entity.staff.param; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/25 + * @version: 1.0 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class StaffSearchParam { + /** + * 主键 + */ + private Long id; + /** + * 方案id + */ + private Long planId; + /** + * 分部 + */ + private Long compId; + /** + * 部门 + */ + private Long deptId; + /** + * 岗位 + */ + private Long jobId; + /** + * 编制数 + */ + private Integer staffNum; + /** + * 控制策略 + */ + private Integer controlPolicy; + /** + * 在编 + */ + private Integer permanentNum; + /** + * 冻结数 + */ + private Integer freezeNum; + /** + * 缺编状态 + */ + private Integer lackStatus; + /** + * 编制描述 + */ + private String staffDesc; + + /** + * 说明 + */ + private String description; +} diff --git a/src/com/engine/organization/entity/staff/po/StaffPO.java b/src/com/engine/organization/entity/staff/po/StaffPO.java new file mode 100644 index 00000000..3a813954 --- /dev/null +++ b/src/com/engine/organization/entity/staff/po/StaffPO.java @@ -0,0 +1,75 @@ +package com.engine.organization.entity.staff.po; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/25 + * @version: 1.0 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class StaffPO { + /** + * 主键 + */ + private Long id; + /** + * 方案id + */ + private Long planId; + /** + * 分部 + */ + private Long compId; + /** + * 部门 + */ + private Long deptId; + /** + * 岗位 + */ + private Long jobId; + /** + * 编制数 + */ + private Integer staffNum; + /** + * 控制策略 + */ + private Integer controlPolicy; + /** + * 在编 + */ + private Integer permanentNum; + /** + * 冻结数 + */ + private Integer freezeNum; + /** + * 缺编状态 + */ + private Integer lackStatus; + /** + * 编制描述 + */ + private String staffDesc; + /** + * 说明 + */ + private String description; + + private Long creator; + private int deleteType; + private Date createTime; + private Date updateTime; + +} diff --git a/src/com/engine/organization/entity/staff/po/StaffPlanPO.java b/src/com/engine/organization/entity/staff/po/StaffPlanPO.java index a396cf57..7092df4a 100644 --- a/src/com/engine/organization/entity/staff/po/StaffPlanPO.java +++ b/src/com/engine/organization/entity/staff/po/StaffPlanPO.java @@ -37,11 +37,11 @@ public class StaffPlanPO { /** * 时间开始 */ - private Date time_start; + private Date timeStart; /** * 时间结束 */ - private Date time_end; + private Date timeEnd; /** * 适用公司 */ diff --git a/src/com/engine/organization/entity/staff/vo/StaffPlanTableVO.java b/src/com/engine/organization/entity/staff/vo/StaffPlanTableVO.java new file mode 100644 index 00000000..a826cfb3 --- /dev/null +++ b/src/com/engine/organization/entity/staff/vo/StaffPlanTableVO.java @@ -0,0 +1,70 @@ +package com.engine.organization.entity.staff.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; + +import java.util.Date; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/25 + * @version: 1.0 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@OrganizationTable(pageId = "e04abd72-dbd6-11ec-b69e-00ffcbed7508", + fields = "t.id, t.plan_no, t.plan_name, t.plan_year, t.time_start, t.time_end, t.forbidden_tag", + fromSql = "FROM jcl_org_staffplan t ", + orderby = "id desc", + primarykey = "id", + operates = { + @OrganizationTableOperate(index = "0", text = "编辑"), + @OrganizationTableOperate(index = "1", text = "删除") + } +) +public class StaffPlanTableVO { + + /** + * 主键 + */ + private Long id; + /** + * 编号 + */ + @OrganizationTableColumn(text = "编号", width = "16%", column = "plan_no") + private String planNo; + /** + * 名称 + */ + @OrganizationTableColumn(text = "名称", width = "16%", column = "plan_name") + private String planName; + /** + * 年度 + */ + @OrganizationTableColumn(text = "年度", width = "16%", column = "plan_year") + private Integer planYear; + /** + * 时间开始 + */ + @OrganizationTableColumn(text = "时间开始", width = "16%", column = "time_start") + private Date timeStart; + /** + * 时间结束 + */ + @OrganizationTableColumn(text = "时间结束", width = "16%", column = "time_end") + private Date timeEnd; + /** + * 状态 + */ + @OrganizationTableColumn(text = "状态", width = "16%", column = "forbidden_tag") + private Integer forbiddenTag; + +} diff --git a/src/com/engine/organization/entity/staff/vo/StaffTableVO.java b/src/com/engine/organization/entity/staff/vo/StaffTableVO.java new file mode 100644 index 00000000..731c5df7 --- /dev/null +++ b/src/com/engine/organization/entity/staff/vo/StaffTableVO.java @@ -0,0 +1,83 @@ +package com.engine.organization.entity.staff.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/25 + * @version: 1.0 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@OrganizationTable(pageId = "0cdfd5bb-dc09-11ec-b69e-00ffcbed7508", + fields = "id,plan_id,comp_id,dept_id,job_id,staff_num,permanent_num,freeze_num,lack_status,staff_desc", + fromSql = "FROM jcl_org_staff t ", + orderby = "id desc", + primarykey = "id", + operates = { + @OrganizationTableOperate(index = "0", text = "编辑"), + @OrganizationTableOperate(index = "1", text = "删除"), + @OrganizationTableOperate(index = "2", text = "变更") + } +) +public class StaffTableVO { + /** + * 主键 + */ + private Long id; + /** + * 方案id + */ + @OrganizationTableColumn(text = "方案", width = "10%", column = "plan_id", transmethod = "com.engine.organization.transmethod.StaffPlanTransMethod.getSpanById") + private String planId; + /** + * 分部 + */ + @OrganizationTableColumn(text = "分部", width = "10%", column = "comp_id", transmethod = "com.engine.organization.transmethod.CompTransMethod.getSpanById") + private String compId; + /** + * 部门 + */ + @OrganizationTableColumn(text = "部门", width = "10%", column = "dept_id", transmethod = "com.engine.organization.transmethod.DepartmentTransMethod.getSpanById") + private String deptId; + /** + * 岗位 + */ + @OrganizationTableColumn(text = "岗位", width = "10%", column = "job_id", transmethod = "com.engine.organization.transmethod.JobTransMethod.getSpanById") + private String jobId; + /** + * 编制数 + */ + @OrganizationTableColumn(text = "编制数", width = "10%", column = "staff_num") + private Integer staffNum; + /** + * 在编 + */ + @OrganizationTableColumn(text = "在编", width = "10%", column = "permanent_num") + private Integer permanentNum; + /** + * 冻结数 + */ + @OrganizationTableColumn(text = "冻结数", width = "10%", column = "freeze_num") + private Integer freezeNum; + /** + * 缺编状态 + */ + @OrganizationTableColumn(text = "缺编状态", width = "10%", column = "lack_status") + private Integer lackStatus; + /** + * 编制描述 + */ + @OrganizationTableColumn(text = "编制描述", width = "10%", column = "staff_desc") + private String staffDesc; + +} diff --git a/src/com/engine/organization/mapper/comp/CompMapper.java b/src/com/engine/organization/mapper/comp/CompMapper.java index addd2c09..8b4cf21f 100644 --- a/src/com/engine/organization/mapper/comp/CompMapper.java +++ b/src/com/engine/organization/mapper/comp/CompMapper.java @@ -5,6 +5,7 @@ import org.apache.ibatis.annotations.Param; import java.util.Collection; import java.util.List; +import java.util.Map; /** * @description: TODO @@ -60,6 +61,15 @@ public interface CompMapper { List listByNo(@Param("compNo") String compNo); + /** + * 浏览按钮展示数据查询 + * + * @param ids + * @return + */ + List> listCompsByIds(@Param("ids") Collection ids); + + /** * 保存公司/分部基础信息 * diff --git a/src/com/engine/organization/mapper/comp/CompMapper.xml b/src/com/engine/organization/mapper/comp/CompMapper.xml index 38296611..f828deb0 100644 --- a/src/com/engine/organization/mapper/comp/CompMapper.xml +++ b/src/com/engine/organization/mapper/comp/CompMapper.xml @@ -197,6 +197,18 @@ + + update jcl_org_comp diff --git a/src/com/engine/organization/mapper/department/DepartmentMapper.java b/src/com/engine/organization/mapper/department/DepartmentMapper.java index f4eb2d5f..212daeb2 100644 --- a/src/com/engine/organization/mapper/department/DepartmentMapper.java +++ b/src/com/engine/organization/mapper/department/DepartmentMapper.java @@ -5,6 +5,7 @@ import org.apache.ibatis.annotations.Param; import java.util.Collection; import java.util.List; +import java.util.Map; /** * @Author weaver_cl @@ -27,6 +28,8 @@ public interface DepartmentMapper { */ List listParent(); + List> listDeptsByIds(@Param("ids") Collection ids); + /** * 获取子层级数据 * diff --git a/src/com/engine/organization/mapper/department/DepartmentMapper.xml b/src/com/engine/organization/mapper/department/DepartmentMapper.xml index 11061587..b99cffae 100644 --- a/src/com/engine/organization/mapper/department/DepartmentMapper.xml +++ b/src/com/engine/organization/mapper/department/DepartmentMapper.xml @@ -118,6 +118,17 @@ #{id} + diff --git a/src/com/engine/organization/mapper/staff/StaffMapper.java b/src/com/engine/organization/mapper/staff/StaffMapper.java new file mode 100644 index 00000000..0eaf7f07 --- /dev/null +++ b/src/com/engine/organization/mapper/staff/StaffMapper.java @@ -0,0 +1,47 @@ +package com.engine.organization.mapper.staff; + + +import com.engine.organization.entity.staff.po.StaffPO; +import org.apache.ibatis.annotations.Param; + +import java.util.Collection; + +/** + * @Author dxfeng + * @Description: TODO + * @Date 2022/5/25 + * @Version V1.0 + **/ +public interface StaffMapper { + + /** + * 根据ID查询编制方案 + * @param id + * @return + */ + StaffPO getStaffByID(@Param("id") long id); + + /** + * 插入编制方案 + * @param staffPO + * @return + */ + int insertIgnoreNull(StaffPO staffPO); + + /** + * 修改,修改所有字段 + * + * @param staffPO + * @return + */ + int updateStaff(StaffPO staffPO); + + + /** + * 批量删除 + * + * @param ids + */ + int deleteByIds(@Param("ids") Collection ids); + +} diff --git a/src/com/engine/organization/mapper/staff/StaffMapper.xml b/src/com/engine/organization/mapper/staff/StaffMapper.xml new file mode 100644 index 00000000..a069bcd7 --- /dev/null +++ b/src/com/engine/organization/mapper/staff/StaffMapper.xml @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + + + + + + + + t + . + id + , t.plan_id + , t.comp_id + , t.dept_id + , t.job_id + , t.staff_num + , t.control_policy + , t.permanent_num + , t.freeze_num + , t.lack_status + , t.staff_desc + , t.description + + + + + update jcl_org_staff + + creator=#{creator}, + update_time=#{updateTime}, + plan_id=#{planId}, + comp_id=#{compId}, + dept_id=#{deptId}, + job_id=#{jobId}, + staff_num=#{staffNum}, + control_policy=#{controlPolicy}, + permanent_num=#{permanentNum}, + freeze_num=#{freezeNum}, + lack_status=#{lackStatus}, + staff_desc=#{staffDesc}, + description=#{description}, + + WHERE id = #{id} AND delete_type = 0 + + + + INSERT INTO jcl_org_staff + + + creator, + + + delete_type, + + + create_time, + + + update_time, + + + plan_id, + + + comp_id, + + + dept_id, + + + job_id, + + + staff_num, + + + control_policy, + + + permanent_num, + + + freeze_num, + + + lack_status, + + + staff_desc, + + + description, + + + + + #{creator}, + + + #{deleteType}, + + + #{createTime}, + + + #{updateTime}, + + + + #{planId}, + + + #{compId}, + + + #{deptId}, + + + #{jobId}, + + + #{staffNum}, + + + #{controlPolicy}, + + + #{permanentNum}, + + + #{freezeNum}, + + + #{lackStatus}, + + + #{staffDesc}, + + + #{description}, + + + + + + UPDATE jcl_org_staff + 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/staff/StaffPlanMapper.java b/src/com/engine/organization/mapper/staff/StaffPlanMapper.java new file mode 100644 index 00000000..cb754135 --- /dev/null +++ b/src/com/engine/organization/mapper/staff/StaffPlanMapper.java @@ -0,0 +1,67 @@ +package com.engine.organization.mapper.staff; + + +import com.engine.organization.entity.staff.po.StaffPlanPO; +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/25 + * @Version V1.0 + **/ +public interface StaffPlanMapper { + + /** + * 根据No查询编制方案 + * + * @param planNo + * @return + */ + List listByNo(@Param("planNo") String planNo); + + + List> listPlansByIds(@Param("ids") Collection ids); + + /** + * 根据ID查询编制方案 + * @param id + * @return + */ + StaffPlanPO getStaffPlanByID(@Param("id") long id); + + /** + * 插入编制方案 + * @param staffPlanPO + * @return + */ + int insertIgnoreNull(StaffPlanPO staffPlanPO); + + /** + * 修改,修改所有字段 + * + * @param staffPlanPO + * @return + */ + int updateStaffPlan(StaffPlanPO staffPlanPO); + + /** + * 更新禁用标记 + * + * @param staffPlanPO + * @return + */ + int updateForbiddenTagById(StaffPlanPO staffPlanPO); + + /** + * 批量删除 + * + * @param ids + */ + int deleteByIds(@Param("ids") Collection ids); + +} diff --git a/src/com/engine/organization/mapper/staff/StaffPlanMapper.xml b/src/com/engine/organization/mapper/staff/StaffPlanMapper.xml new file mode 100644 index 00000000..c99f3685 --- /dev/null +++ b/src/com/engine/organization/mapper/staff/StaffPlanMapper.xml @@ -0,0 +1,174 @@ + + + + + + + + + + + + + + + + + + + + + + t + . + id + , t.plan_no + , t.plan_name + , t.plan_year + , t.time_start + , t.time_end + , t.company_id + , t.description + , t.forbidden_tag + , t.creator + , t.delete_type + , t.create_time + , t.update_time + + + + + + + + update jcl_org_staffplan + + creator=#{creator}, + update_time=#{updateTime}, + plan_no=#{planNo}, + plan_name=#{planName}, + plan_year=#{planYear}, + time_start=#{timeStart}, + time_end=#{timeEnd}, + company_id=#{companyId}, + description=#{description}, + + WHERE id = #{id} AND delete_type = 0 + + + + INSERT INTO jcl_org_staffplan + + + creator, + + + delete_type, + + + create_time, + + + update_time, + + + plan_no, + + + plan_name, + + + plan_year, + + + time_start, + + + time_end, + + + company_id, + + + description, + + forbidden_tag, + + + + #{creator}, + + + #{deleteType}, + + + #{createTime}, + + + #{updateTime}, + + + #{planNo}, + + + #{planName}, + + + #{planYear}, + + + #{timeStart}, + + + #{timeEnd}, + + + #{companyId}, + + + #{description}, + + 0, + + + + + update jcl_org_staffplan + + forbidden_tag=#{forbiddenTag}, + + WHERE id = #{id} AND delete_type = 0 + + + + UPDATE jcl_org_staffplan + 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/StaffPlanService.java b/src/com/engine/organization/service/StaffPlanService.java new file mode 100644 index 00000000..2935e1ef --- /dev/null +++ b/src/com/engine/organization/service/StaffPlanService.java @@ -0,0 +1,74 @@ +package com.engine.organization.service; + +import com.engine.organization.entity.staff.param.StaffPlanSearchParam; + +import java.util.Collection; +import java.util.Map; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/25 + * @version: 1.0 + */ +public interface StaffPlanService { + /** + * 编制方案列表 + * + * @param params + * @return + */ + Map listPage(StaffPlanSearchParam params); + + /** + * 新增编制方案 + * @param param + * @return + */ + int saveStaffPlan(StaffPlanSearchParam param); + + /** + * 更新编制方案信息 + * + * @param param + * @return + */ + int updateStaffPlan(StaffPlanSearchParam param); + + /** + * 更新禁用标记 + * + * @param params + */ + int updateForbiddenTagById(StaffPlanSearchParam params); + + /** + * 根据ID批量删除编制方案 + * + * @param ids + */ + int deleteByIds(Collection ids); + + /** + * 获取搜索条件 + * + * @param params + * @return + */ + Map getSearchCondition(Map params); + + + /** + * 获取新增、编辑表单 + * + * @param params + * @return + */ + Map getForm(Map params); + + /** + * 获取列表页面按钮信息 + * @return + */ + Map getHasRight(); +} diff --git a/src/com/engine/organization/service/StaffService.java b/src/com/engine/organization/service/StaffService.java new file mode 100644 index 00000000..f38a16f6 --- /dev/null +++ b/src/com/engine/organization/service/StaffService.java @@ -0,0 +1,67 @@ +package com.engine.organization.service; + +import com.engine.organization.entity.staff.param.StaffSearchParam; + +import java.util.Collection; +import java.util.Map; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/25 + * @version: 1.0 + */ +public interface StaffService { + /** + * 编制列表 + * + * @param params + * @return + */ + Map listPage(StaffSearchParam params); + + /** + * 新增编制 + * @param param + * @return + */ + int saveStaff(StaffSearchParam param); + + /** + * 更新编制信息 + * + * @param param + * @return + */ + int updateStaff(StaffSearchParam param); + + /** + * 根据ID批量删除编制 + * + * @param ids + */ + int deleteByIds(Collection ids); + + /** + * 获取搜索条件 + * + * @param params + * @return + */ + Map getSearchCondition(Map params); + + + /** + * 获取新增、编辑表单 + * + * @param params + * @return + */ + Map getForm(Map params); + + /** + * 获取列表页面按钮信息 + * @return + */ + Map getHasRight(); +} diff --git a/src/com/engine/organization/service/impl/CompServiceImpl.java b/src/com/engine/organization/service/impl/CompServiceImpl.java index 53b08975..c2ed9090 100644 --- a/src/com/engine/organization/service/impl/CompServiceImpl.java +++ b/src/com/engine/organization/service/impl/CompServiceImpl.java @@ -131,20 +131,16 @@ public class CompServiceImpl extends Service implements CompService { public int updateComp(Map params) { CompSearchParam searchParam = JSONObject.parseObject(JSONObject.toJSONString(params), CompSearchParam.class); String groupId = (String) params.get("viewCondition"); - int updateBaseComp = 0; CompPO compPO = CompBO.convertParamToPO(searchParam, (long) user.getUID()); - if (StringUtil.isEmpty(groupId) || "0".equals(groupId)) { - // 更新主表数据 - updateBaseComp = getCompMapper().updateBaseComp(compPO); - } else { - // 更新主表拓展表 - updateBaseComp = getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_COMPEXT, params, groupId, compPO.getId()); - } - + int updateCount = 0; + // 更新主表数据 + updateCount += getCompMapper().updateBaseComp(compPO); + // 更新主表拓展表 + updateCount += getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_COMPEXT, params, groupId, compPO.getId()); //更新明细表 getExtService(user).updateExtDT(user, EXTEND_TYPE, JCL_ORG_COMPEXT_DT1, params, compPO.getId()); - return updateBaseComp; + return updateCount; } @Override diff --git a/src/com/engine/organization/service/impl/ExtServiceImpl.java b/src/com/engine/organization/service/impl/ExtServiceImpl.java index 0b49db23..27183143 100644 --- a/src/com/engine/organization/service/impl/ExtServiceImpl.java +++ b/src/com/engine/organization/service/impl/ExtServiceImpl.java @@ -58,9 +58,9 @@ public class ExtServiceImpl extends Service implements ExtService { Map compExtMap = getExtMapper().listCompExt(tableName, fields, id); // 组装拓展页内容 for (ExtendInfoPO extendInfoPO : infoPOList) { - SearchConditionItem item = ExtendInfoBO.getSearchConditionItem(user, viewAttr, extendInfoPO, compExtMap.get(extendInfoPO.getFieldName())); + SearchConditionItem item = ExtendInfoBO.getSearchConditionItem(user, viewAttr, extendInfoPO, null == compExtMap ? null : compExtMap.get(extendInfoPO.getFieldName())); item.setFieldcol(16); - if (null != item && 2 == viewAttr && 1 == extendInfoPO.getIsrequired()) { + if ( 2 == viewAttr && 1 == extendInfoPO.getIsrequired()) { item.setViewAttr(3); item.setRules("required|string"); } @@ -150,19 +150,17 @@ public class ExtServiceImpl extends Service implements ExtService { @Override public void updateExtDT(User user, String extendType, String tableName, Map params, Long id) { - List dtInfoPOList = getExtendInfoMapper().listFields(extendType, "", ""); - Map groups = dtInfoPOList.stream().collect(Collectors.toMap(ExtendInfoPO::getExtendGroupId, ExtendInfoPO::getTableName, (k1, k2) -> k1)); + List dtInfoPOList = getExtendInfoMapper().listFields(extendType, "", tableName); + List groupIds = dtInfoPOList.stream().map(ExtendInfoPO::getExtendGroupId).distinct().collect(Collectors.toList()); + Map> poMaps = dtInfoPOList.stream().collect(Collectors.groupingBy(ExtendInfoPO::getExtendGroupId)); // 删除原有明细表数据 - groups.forEach((k, v) -> { - if (v.toLowerCase().contains("_dt")) getExtDTMapper().deleteByMainID(v, id); - }); + getExtDTMapper().deleteByMainID(tableName, id); - for (Map.Entry entry : groups.entrySet()) { - int rowNum = Util.getIntValue((String) params.get("rownum" + entry.getKey())); - List filterS = dtInfoPOList.stream().filter(item -> entry.getKey().equals(item.getExtendGroupId())).collect(Collectors.toList()); + for (Long groupId : groupIds) { + int rowNum = Util.getIntValue((String) params.get("rownum" + groupId)); + List filterS = poMaps.get(groupId); for (int i = 0; i < rowNum; i++) { Map map = new HashMap<>(); - for (ExtendInfoPO extendInfoPO : filterS) { if (BROWSER_TYPE == extendInfoPO.getControlType()) { map.put(extendInfoPO.getFieldName() + "span", params.get(extendInfoPO.getFieldName() + "span_" + i)); @@ -174,7 +172,7 @@ public class ExtServiceImpl extends Service implements ExtService { map.put("delete_type", 0); map.put("create_time", new Date()); map.put("update_time", new Date()); - getExtDTMapper().insertCompExtDT(entry.getValue(), map); + getExtDTMapper().insertCompExtDT(tableName, map); } } } diff --git a/src/com/engine/organization/service/impl/StaffPlanServiceImpl.java b/src/com/engine/organization/service/impl/StaffPlanServiceImpl.java new file mode 100644 index 00000000..05048ac3 --- /dev/null +++ b/src/com/engine/organization/service/impl/StaffPlanServiceImpl.java @@ -0,0 +1,235 @@ +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.api.browser.bean.SearchConditionOption; +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.staff.bo.StaffPlanBO; +import com.engine.organization.entity.staff.param.StaffPlanSearchParam; +import com.engine.organization.entity.staff.po.StaffPlanPO; +import com.engine.organization.entity.staff.vo.StaffPlanTableVO; +import com.engine.organization.mapper.comp.CompMapper; +import com.engine.organization.mapper.staff.StaffPlanMapper; +import com.engine.organization.service.StaffPlanService; +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/25 + * @version: 1.0 + */ +public class StaffPlanServiceImpl extends Service implements StaffPlanService { + + private StaffPlanMapper getStaffPlanMapper() { + return MapperProxyFactory.getProxy(StaffPlanMapper.class); + } + + private CompMapper getCompMapper() { + return MapperProxyFactory.getProxy(CompMapper.class); + } + + @Override + public Map listPage(StaffPlanSearchParam params) { + OrganizationWeaTable table = new OrganizationWeaTable<>(user, StaffPlanTableVO.class); + StaffPlanPO staffPlanPO = StaffPlanBO.convertParamToPO(params, (long) user.getUID()); + String sqlWhere = buildSqlWhere(staffPlanPO); + table.setSqlwhere(sqlWhere); + WeaResultMsg result = new WeaResultMsg(false); + result.putAll(table.makeDataResult()); + result.success(); + return result.getResultMap(); + } + + @Override + public int saveStaffPlan(StaffPlanSearchParam param) { + List list = getStaffPlanMapper().listByNo(Util.null2String(param.getPlanNo())); + OrganizationAssert.isEmpty(list, "编号不允许重复"); + StaffPlanPO staffPlanPO = StaffPlanBO.convertParamToPO(param, (long) user.getUID()); + return getStaffPlanMapper().insertIgnoreNull(staffPlanPO); + } + + @Override + public int updateStaffPlan(StaffPlanSearchParam param) { + StaffPlanPO staffPlanPO = StaffPlanBO.convertParamToPO(param, (long) user.getUID()); + return getStaffPlanMapper().updateStaffPlan(staffPlanPO); + } + + @Override + public int updateForbiddenTagById(StaffPlanSearchParam params) { + StaffPlanPO staffPlanPO = StaffPlanPO.builder().id(params.getId()).forbiddenTag(params.getForbiddenTag() ? 0 : 1).build(); + return getStaffPlanMapper().updateForbiddenTagById(staffPlanPO); + } + + @Override + public int deleteByIds(Collection ids) { + OrganizationAssert.notEmpty(ids, "请选择要删除的数据"); + return getStaffPlanMapper().deleteByIds(ids); + } + + @Override + public Map getSearchCondition(Map params) { + Map apiDatas = new HashMap<>(); + List addGroups = new ArrayList<>(); + List conditionItems = new ArrayList<>(); + // 编号 + SearchConditionItem planNoItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "编号", "planNo"); + // 名称 + SearchConditionItem planNameItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "名称", "planName"); + // 年度 + SearchConditionItem planYearItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "年度", "179", "planYear", ""); + // 时间开始 + SearchConditionItem timeStartItem = OrganizationFormItemUtil.datePickerItem(user, 2, 16, false, 2, "时间开始", "timeStart"); + // 时间结束 + SearchConditionItem timeEndItem = OrganizationFormItemUtil.datePickerItem(user, 2, 16, false, 2, "时间结束", "timeEnd"); + // 适用公司 + SearchConditionItem companyIdtItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "适用公司", "162", "companyId", "compBrowser"); + // 说明 + SearchConditionItem descriptionItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "说明", "description"); + // 状态 + List selectOptions = new ArrayList<>(); + SearchConditionOption enableOption = new SearchConditionOption("true", "启用"); + SearchConditionOption disableOption = new SearchConditionOption("false", "禁用"); + selectOptions.add(enableOption); + selectOptions.add(disableOption); + SearchConditionItem forbiddenTagItem = OrganizationFormItemUtil.selectItem(user, selectOptions, 2, 16, 6, false, "禁用标记", "forbiddenTag"); + + + conditionItems.add(planNoItem); + conditionItems.add(planNameItem); + conditionItems.add(planYearItem); + conditionItems.add(timeStartItem); + conditionItems.add(timeEndItem); + conditionItems.add(companyIdtItem); + conditionItems.add(descriptionItem); + conditionItems.add(forbiddenTagItem); + addGroups.add(new SearchConditionGroup("高级搜索条件", true, conditionItems)); + apiDatas.put("conditions", addGroups); + return apiDatas; + } + + @Override + public Map getForm(Map params) { + Map apiDatas = new HashMap<>(); + List selectItems = new ArrayList<>(); + List addGroups = new ArrayList<>(); + // 编号 + SearchConditionItem planNoItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 3, 50, "编号", "planNo"); + planNoItem.setRules("required|string"); + // 名称 + SearchConditionItem planNameItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 3, 50, "名称", "planName"); + planNameItem.setRules("required|string"); + // 年度 + SearchConditionItem planYearItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 3, false, "年度", "178", "planYear", ""); + planYearItem.setRules("required|string"); + // 时间开始 + SearchConditionItem timeStartItem = OrganizationFormItemUtil.datePickerItem(user, 2, 16, false, 3, "时间开始", "timeStart"); + timeStartItem.setRules("required|string"); + // 时间结束 + SearchConditionItem timeEndItem = OrganizationFormItemUtil.datePickerItem(user, 2, 16, false, 3, "时间结束", "timeEnd"); + timeEndItem.setRules("required|string"); + // 适用公司 + SearchConditionItem companyIdtItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 3, false, "companyId", "162", "planYear", "compBrowser"); + companyIdtItem.setRules("required|string"); + // 说明 + SearchConditionItem descriptionItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "说明", "description"); + + // 编辑状态下赋值操作 + String id = Util.null2String(params.get("id")); + if (!StringUtil.isEmpty(id)) { + StaffPlanPO staffPlanPO = getStaffPlanMapper().getStaffPlanByID(Integer.parseInt(id)); + OrganizationAssert.notNull(staffPlanPO, "选择的数据不存在,或数据已删除"); + planNoItem.setValue(staffPlanPO.getPlanNo()); + planNameItem.setValue(staffPlanPO.getPlanName()); + planYearItem.setValue(staffPlanPO.getPlanYear()); + timeStartItem.setValue(staffPlanPO.getTimeStart()); + timeEndItem.setValue(staffPlanPO.getTimeEnd()); + + BrowserBean browserBean = companyIdtItem.getBrowserConditionParam(); + List> maps = getCompMapper().listCompsByIds(QueryParam.builder().ids(staffPlanPO.getCompanyId().toString()).build().getIds()); + browserBean.setReplaceDatas(maps); + companyIdtItem.setBrowserConditionParam(browserBean); + + descriptionItem.setValue(staffPlanPO.getDescription()); + + // 编辑状态下,编号只读 + planNoItem.setViewAttr(1); + } + + selectItems.add(planNoItem); + selectItems.add(planNameItem); + selectItems.add(planYearItem); + selectItems.add(timeStartItem); + selectItems.add(timeEndItem); + selectItems.add(companyIdtItem); + selectItems.add(descriptionItem); + addGroups.add(new SearchConditionGroup("基本信息", true, selectItems)); + apiDatas.put("condition", addGroups); + return apiDatas; + } + + @Override + public Map getHasRight() { + return MenuBtn.getCommonBtnDatas(); + } + + + /** + * 查询条件 + * + * @param staffPlanPO + * @return + */ + private String buildSqlWhere(StaffPlanPO staffPlanPO) { + DBType dbType = DBType.get(new RecordSet().getDBType()); + String sqlWhere = " where t.delete_type ='0' "; + String planNo = staffPlanPO.getPlanNo(); + if (StringUtils.isNotBlank(planNo)) { + sqlWhere += " AND t.plan_no " + dbType.like(planNo); + } + String planName = staffPlanPO.getPlanName(); + if (StringUtils.isNotBlank(planName)) { + sqlWhere += " AND t.plan_name " + dbType.like(planName); + } + Integer planYear = staffPlanPO.getPlanYear(); + if (null != planYear) { + sqlWhere += " AND t.plan_year = '" + planYear + "'"; + } + Date timeStart = staffPlanPO.getTimeStart(); + if (null != timeStart) { + sqlWhere += " AND t.time_start = '" + timeStart + "'"; + } + Date timeEnd = staffPlanPO.getTimeEnd(); + if (null != timeEnd) { + sqlWhere += " AND t.time_end = '" + timeEnd + "'"; + } + String companyId = staffPlanPO.getDescription(); + if (StringUtils.isNotBlank(companyId)) { + sqlWhere += " AND t.companyId = '" + companyId + "'"; + } + + String description = staffPlanPO.getDescription(); + if (StringUtils.isNotBlank(description)) { + sqlWhere += " AND t.description " + dbType.like(description); + } + Integer forbiddenTag = staffPlanPO.getForbiddenTag(); + if (null != forbiddenTag) { + sqlWhere += " AND t.forbidden_tag = '" + forbiddenTag + "'"; + } + return sqlWhere; + } +} diff --git a/src/com/engine/organization/service/impl/StaffServiceImpl.java b/src/com/engine/organization/service/impl/StaffServiceImpl.java new file mode 100644 index 00000000..26e35693 --- /dev/null +++ b/src/com/engine/organization/service/impl/StaffServiceImpl.java @@ -0,0 +1,249 @@ +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.api.browser.bean.SearchConditionOption; +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.staff.bo.StaffBO; +import com.engine.organization.entity.staff.param.StaffSearchParam; +import com.engine.organization.entity.staff.po.StaffPO; +import com.engine.organization.entity.staff.vo.StaffTableVO; +import com.engine.organization.mapper.comp.CompMapper; +import com.engine.organization.mapper.department.DepartmentMapper; +import com.engine.organization.mapper.staff.StaffMapper; +import com.engine.organization.mapper.staff.StaffPlanMapper; +import com.engine.organization.service.StaffService; +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/25 + * @version: 1.0 + */ +public class StaffServiceImpl extends Service implements StaffService { + private StaffMapper getStaffMapper() { + return MapperProxyFactory.getProxy(StaffMapper.class); + } + + private StaffPlanMapper getStaffPlanMapper() { + return MapperProxyFactory.getProxy(StaffPlanMapper.class); + } + + private CompMapper getCompMapper() { + return MapperProxyFactory.getProxy(CompMapper.class); + } + + private DepartmentMapper getDepartmentMapper() { + return MapperProxyFactory.getProxy(DepartmentMapper.class); + } + + + @Override + public Map listPage(StaffSearchParam params) { + OrganizationWeaTable table = new OrganizationWeaTable<>(user, StaffTableVO.class); + StaffPO staffPO = StaffBO.convertParamToPO(params, (long) user.getUID()); + String sqlWhere = buildSqlWhere(staffPO); + table.setSqlwhere(sqlWhere); + WeaResultMsg result = new WeaResultMsg(false); + result.putAll(table.makeDataResult()); + result.success(); + return result.getResultMap(); + } + + @Override + public int saveStaff(StaffSearchParam param) { + StaffPO staffPO = StaffBO.convertParamToPO(param, (long) user.getUID()); + return getStaffMapper().insertIgnoreNull(staffPO); + } + + @Override + public int updateStaff(StaffSearchParam param) { + StaffPO staffPlanPO = StaffBO.convertParamToPO(param, (long) user.getUID()); + return getStaffMapper().updateStaff(staffPlanPO); + } + + + @Override + public int deleteByIds(Collection ids) { + OrganizationAssert.notEmpty(ids, "请选择要删除的数据"); + return getStaffMapper().deleteByIds(ids); + } + + @Override + public Map getSearchCondition(Map params) { + Map apiDatas = new HashMap<>(); + List addGroups = new ArrayList<>(); + List conditionItems = new ArrayList<>(); + + // 方案 + SearchConditionItem planIdtItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "方案", "161", "planId", "staffPlanBrowser"); + // 分部 + SearchConditionItem compIdtItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "分部", "161", "compId", "compBrowser"); + // 部门 + SearchConditionItem deptIdtItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "部门", "161", "deptId", "deptBrowser"); + // 岗位 + SearchConditionItem jobIdtItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "岗位", "161", "jobId", "jobBrowser"); + // 编制数 + SearchConditionItem staffNumItem = OrganizationFormItemUtil.inputNumberItem(user, 2, 16, 2, "编制数", "staffNum"); + // 在编 + SearchConditionItem permanentNumItem = OrganizationFormItemUtil.inputNumberItem(user, 2, 16, 2, "在编", "permanentNum"); + // 冻结数 + SearchConditionItem freezeNumItem = OrganizationFormItemUtil.inputNumberItem(user, 2, 16, 2, "冻结数", "freezeNum"); + // 缺编状态 + List selectOptions = new ArrayList<>(); + SearchConditionOption lackOption = new SearchConditionOption("1", "缺编"); + SearchConditionOption fullOption = new SearchConditionOption("2", "满员"); + SearchConditionOption overOption = new SearchConditionOption("3", "超编"); + selectOptions.add(lackOption); + selectOptions.add(fullOption); + selectOptions.add(overOption); + SearchConditionItem lackStatusItem = OrganizationFormItemUtil.selectItem(user, selectOptions, 2, 16, 6, false, "缺编状态", "lackStatus"); + // 编制描述 + SearchConditionItem staffDescItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "编制描述", "staffDesc"); + // 说明 + SearchConditionItem descriptionItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "说明", "description"); + conditionItems.add(planIdtItem); + conditionItems.add(compIdtItem); + conditionItems.add(deptIdtItem); + conditionItems.add(jobIdtItem); + conditionItems.add(staffNumItem); + conditionItems.add(permanentNumItem); + conditionItems.add(freezeNumItem); + conditionItems.add(lackStatusItem); + conditionItems.add(staffDescItem); + conditionItems.add(descriptionItem); + + addGroups.add(new SearchConditionGroup("高级搜索条件", true, conditionItems)); + apiDatas.put("conditions", addGroups); + return apiDatas; + } + + @Override + public Map getForm(Map params) { + Map apiDatas = new HashMap<>(); + List selectItems = new ArrayList<>(); + List addGroups = new ArrayList<>(); + // 方案 + SearchConditionItem planIdItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 3, false, "方案", "161", "planId", "staffPlanBrowser"); + planIdItem.setRules("required|string"); + // 分部 + SearchConditionItem compIdItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 3, false, "分部", "161", "compId", "compBrowser"); + compIdItem.setRules("required|string"); + // 部门 + SearchConditionItem deptIdItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 3, false, "部门", "161", "deptId", "deptBrowser"); + deptIdItem.setRules("required|string"); + // 岗位 + SearchConditionItem jobIdItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 3, false, "岗位", "161", "jobId", "jobBrowser"); + jobIdItem.setRules("required|string"); + // 编制数 + SearchConditionItem staffNumItem = OrganizationFormItemUtil.inputNumberItem(user, 2, 16, 3, "编制数", "staffNum"); + staffNumItem.setRules("required|string"); + // 控制策略 + List selectOptions = new ArrayList<>(); + SearchConditionOption option1 = new SearchConditionOption("1", "弱控"); + SearchConditionOption option2 = new SearchConditionOption("2", "强控"); + SearchConditionOption option3 = new SearchConditionOption("3", "不控"); + selectOptions.add(option1); + selectOptions.add(option2); + selectOptions.add(option3); + SearchConditionItem controlPolicyItem = OrganizationFormItemUtil.selectItem(user, selectOptions, 2, 16, 6, false, "控制策略", "controlPolicy"); + controlPolicyItem.setViewAttr(3); + controlPolicyItem.setRules("required|string"); + + // 编辑状态下赋值操作 + String id = Util.null2String(params.get("id")); + if (!StringUtil.isEmpty(id)) { + StaffPO staffPO = getStaffMapper().getStaffByID(Integer.parseInt(id)); + OrganizationAssert.notNull(staffPO, "选择的数据不存在,或数据已删除"); + + BrowserBean planIdItemBean = planIdItem.getBrowserConditionParam(); + List> maps = getStaffPlanMapper().listPlansByIds(QueryParam.builder().ids(staffPO.getPlanId().toString()).build().getIds()); + planIdItemBean.setReplaceDatas(maps); + planIdItem.setBrowserConditionParam(planIdItemBean); + + + } + + addGroups.add(new SearchConditionGroup("基本信息", true, selectItems)); + apiDatas.put("condition", addGroups); + return apiDatas; + } + + @Override + public Map getHasRight() { + return MenuBtn.getCommonBtnDatas(); + } + + /** + * 查询条件 + * + * @param staffPO + * @return + */ + private String buildSqlWhere(StaffPO staffPO) { + DBType dbType = DBType.get(new RecordSet().getDBType()); + String sqlWhere = " where t.delete_type ='0' "; + + Long planId = staffPO.getPlanId(); + if (null != planId) { + sqlWhere += " AND t.plan_id = '" + planId + "'"; + } + Long compId = staffPO.getCompId(); + if (null != compId) { + sqlWhere += " AND t.comp_id = '" + compId + "'"; + } + Long deptId = staffPO.getDeptId(); + if (null != deptId) { + sqlWhere += " AND t.dept_id = '" + deptId + "'"; + } + Long jobId = staffPO.getJobId(); + if (null != jobId) { + sqlWhere += " AND t.job_id = '" + jobId + "'"; + } + Integer staffNum = staffPO.getStaffNum(); + if (null != staffNum) { + sqlWhere += " AND t.staff_num = '" + staffNum + "'"; + } + Integer controlPolicy = staffPO.getControlPolicy(); + if (null != controlPolicy) { + sqlWhere += " AND t.control_policy = '" + controlPolicy + "'"; + } + Integer permanentNum = staffPO.getPermanentNum(); + if (null != permanentNum) { + sqlWhere += " AND t.permanent_num = '" + permanentNum + "'"; + } + Integer freezeNum = staffPO.getFreezeNum(); + if (null != freezeNum) { + sqlWhere += " AND t.freeze_num = '" + freezeNum + "'"; + } + Integer lackStatus = staffPO.getLackStatus(); + if (null != lackStatus) { + sqlWhere += " AND t.lack_status = '" + lackStatus + "'"; + } + String staffDesc = staffPO.getStaffDesc(); + if (StringUtils.isNotBlank(staffDesc)) { + sqlWhere += " AND t.staff_desc " + dbType.like(staffDesc); + } + String description = staffPO.getDescription(); + if (StringUtils.isNotBlank(description)) { + sqlWhere += " AND t.description " + dbType.like(description); + } + + return sqlWhere; + } +} diff --git a/src/com/engine/organization/transmethod/CompTransMethod.java b/src/com/engine/organization/transmethod/CompTransMethod.java new file mode 100644 index 00000000..63f637f2 --- /dev/null +++ b/src/com/engine/organization/transmethod/CompTransMethod.java @@ -0,0 +1,25 @@ +package com.engine.organization.transmethod; + +import com.engine.organization.entity.QueryParam; +import com.engine.organization.mapper.comp.CompMapper; +import com.engine.organization.util.db.MapperProxyFactory; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/25 + * @version: 1.0 + */ +public class CompTransMethod { + + public static String getSpanById(String planId) { + CompMapper compMapper = MapperProxyFactory.getProxy(CompMapper.class); + List> maps = compMapper.listCompsByIds(QueryParam.builder().ids(planId).build().getIds()); + String names = maps.stream().map(item -> (String) item.get("name")).collect(Collectors.joining(",")); + return names; + } +} diff --git a/src/com/engine/organization/transmethod/DepartmentTransMethod.java b/src/com/engine/organization/transmethod/DepartmentTransMethod.java new file mode 100644 index 00000000..72bc5867 --- /dev/null +++ b/src/com/engine/organization/transmethod/DepartmentTransMethod.java @@ -0,0 +1,25 @@ +package com.engine.organization.transmethod; + +import com.engine.organization.entity.QueryParam; +import com.engine.organization.mapper.department.DepartmentMapper; +import com.engine.organization.util.db.MapperProxyFactory; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/25 + * @version: 1.0 + */ +public class DepartmentTransMethod { + + public static String getSpanById(String planId) { + DepartmentMapper departmentMapper = MapperProxyFactory.getProxy(DepartmentMapper.class); + List> maps = departmentMapper.listDeptsByIds(QueryParam.builder().ids(planId).build().getIds()); + String names = maps.stream().map(item -> (String) item.get("name")).collect(Collectors.joining(",")); + return names; + } +} diff --git a/src/com/engine/organization/transmethod/JobTransMethod.java b/src/com/engine/organization/transmethod/JobTransMethod.java new file mode 100644 index 00000000..2af3cb41 --- /dev/null +++ b/src/com/engine/organization/transmethod/JobTransMethod.java @@ -0,0 +1,18 @@ +package com.engine.organization.transmethod; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/25 + * @version: 1.0 + */ +public class JobTransMethod { + + public static String getSpanById(String planId) { + //JobMapper compMapper = MapperProxyFactory.getProxy(CompMapper.class); + //List> maps = compMapper.listCompsByIds(QueryParam.builder().ids(planId).build().getIds()); + //String names = maps.stream().map(item -> (String) item.get("name")).collect(Collectors.joining(",")); + //return names; + return ""; + } +} diff --git a/src/com/engine/organization/transmethod/StaffPlanTransMethod.java b/src/com/engine/organization/transmethod/StaffPlanTransMethod.java new file mode 100644 index 00000000..8ea7dd78 --- /dev/null +++ b/src/com/engine/organization/transmethod/StaffPlanTransMethod.java @@ -0,0 +1,25 @@ +package com.engine.organization.transmethod; + +import com.engine.organization.entity.QueryParam; +import com.engine.organization.mapper.staff.StaffPlanMapper; +import com.engine.organization.util.db.MapperProxyFactory; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/25 + * @version: 1.0 + */ +public class StaffPlanTransMethod { + + public static String getSpanById(String planId) { + StaffPlanMapper planMapper = MapperProxyFactory.getProxy(StaffPlanMapper.class); + List> maps = planMapper.listPlansByIds(QueryParam.builder().ids(planId).build().getIds()); + String names = maps.stream().map(item -> (String) item.get("name")).collect(Collectors.joining(",")); + return names; + } +} diff --git a/src/com/engine/organization/web/StaffController.java b/src/com/engine/organization/web/StaffController.java new file mode 100644 index 00000000..821bc299 --- /dev/null +++ b/src/com/engine/organization/web/StaffController.java @@ -0,0 +1,176 @@ +package com.engine.organization.web; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.engine.common.util.ParamUtil; +import com.engine.common.util.ServiceUtil; +import com.engine.organization.entity.QueryParam; +import com.engine.organization.entity.staff.param.StaffSearchParam; +import com.engine.organization.util.response.ReturnResult; +import com.engine.organization.wrapper.StaffWrapper; +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/25 + * @version: 1.0 + */ +public class StaffController { + public StaffWrapper getStaffWrapper(User user) { + return ServiceUtil.getService(StaffWrapper.class, user); + } + + /** + * 获取list列表 + * + * @param request + * @param response + * @return + */ + @GET + @Path("/getTable") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult listStaff(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + StaffSearchParam param = JSONObject.toJavaObject((JSON) JSON.toJSON(map), StaffSearchParam.class); + return ReturnResult.successed(getStaffWrapper(user).listPage(param)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + /** + * 添加编制 + * + * @param request + * @param response + * @return + */ + @POST + @Path("/saveStaff") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult saveStaff(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody StaffSearchParam param) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getStaffWrapper(user).saveStaff(param)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + /** + * 更新编制,修改所有字段 + * + * @param request + * @param response + * @param param + * @return + */ + @POST + @Path("/updateStaff") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult updateStaff(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody StaffSearchParam param) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getStaffWrapper(user).updateStaff(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(getStaffWrapper(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(getStaffWrapper(user).getSearchCondition(map)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + + /** + * 新增、编辑表单 + * + * @param request + * @param response + * @return + */ + @GET + @Path("/getForm") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getForm(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + return ReturnResult.successed(getStaffWrapper(user).getForm(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(getStaffWrapper(user).getHasRight()); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } +} diff --git a/src/com/engine/organization/web/StaffPlanController.java b/src/com/engine/organization/web/StaffPlanController.java new file mode 100644 index 00000000..7576b433 --- /dev/null +++ b/src/com/engine/organization/web/StaffPlanController.java @@ -0,0 +1,196 @@ +package com.engine.organization.web; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.engine.common.util.ParamUtil; +import com.engine.common.util.ServiceUtil; +import com.engine.organization.entity.QueryParam; +import com.engine.organization.entity.staff.param.StaffPlanSearchParam; +import com.engine.organization.util.response.ReturnResult; +import com.engine.organization.wrapper.StaffPlanWrapper; +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/25 + * @version: 1.0 + */ +public class StaffPlanController { + public StaffPlanWrapper getStaffPlanWrapper(User user) { + return ServiceUtil.getService(StaffPlanWrapper.class, user); + } + + /** + * 获取list列表 + * + * @param request + * @param response + * @return + */ + @GET + @Path("/getTable") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult listStaffPlan(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + StaffPlanSearchParam param = JSONObject.toJavaObject((JSON) JSON.toJSON(map), StaffPlanSearchParam.class); + return ReturnResult.successed(getStaffPlanWrapper(user).listPage(param)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + /** + * 添加编制方案 + * + * @param request + * @param response + * @return + */ + @POST + @Path("/saveStaffPlan") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult saveStaffPlan(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody StaffPlanSearchParam param) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getStaffPlanWrapper(user).saveStaffPlan(param)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + /** + * 更新编制方案,修改所有字段 + * + * @param request + * @param response + * @param param + * @return + */ + @POST + @Path("/updateStaffPlan") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult updateStaffPlan(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody StaffPlanSearchParam param) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getStaffPlanWrapper(user).updateStaffPlan(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 StaffPlanSearchParam param) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getStaffPlanWrapper(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(getStaffPlanWrapper(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(getStaffPlanWrapper(user).getSearchCondition(map)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + + /** + * 新增、编辑表单 + * + * @param request + * @param response + * @return + */ + @GET + @Path("/getForm") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getForm(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + return ReturnResult.successed(getStaffPlanWrapper(user).getForm(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(getStaffPlanWrapper(user).getHasRight()); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } +} diff --git a/src/com/engine/organization/wrapper/StaffPlanWrapper.java b/src/com/engine/organization/wrapper/StaffPlanWrapper.java new file mode 100644 index 00000000..8881ea1c --- /dev/null +++ b/src/com/engine/organization/wrapper/StaffPlanWrapper.java @@ -0,0 +1,102 @@ +package com.engine.organization.wrapper; + +import com.engine.common.util.ServiceUtil; +import com.engine.core.impl.Service; +import com.engine.organization.entity.staff.param.StaffPlanSearchParam; +import com.engine.organization.service.StaffPlanService; +import com.engine.organization.service.impl.StaffPlanServiceImpl; +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/25 + * @version: 1.0 + */ +public class StaffPlanWrapper extends Service { + private StaffPlanService getStaffPlanService(User user) { + return ServiceUtil.getService(StaffPlanServiceImpl.class, user); + } + + /** + * 编制方案列表 + * + * @param params + * @return + */ + public Map listPage(StaffPlanSearchParam params) { + return getStaffPlanService(user).listPage(params); + } + + /** + * 新增编制方案 + * + * @param param + * @return + */ + public int saveStaffPlan(StaffPlanSearchParam param) { + return getStaffPlanService(user).saveStaffPlan(param); + } + + /** + * 更新编制方案 + * + * @param param + * @return + */ + public int updateStaffPlan(StaffPlanSearchParam param) { + return getStaffPlanService(user).updateStaffPlan(param); + } + + /** + * 更新禁用标记 + * + * @param params + */ + public int updateForbiddenTagById(StaffPlanSearchParam params) { + return getStaffPlanService(user).updateForbiddenTagById(params); + } + + /** + * 根据ID批量删除 + * + * @param ids + */ + public int deleteByIds(@Param("ids") Collection ids) { + return getStaffPlanService(user).deleteByIds(ids); + } + + /** + * 获取搜索条件 + * + * @param params + * @return + */ + public Map getSearchCondition(Map params) { + return getStaffPlanService(user).getSearchCondition(params); + } + + + /** + * 获取新增表单 + * + * @param params + * @return + */ + public Map getForm(Map params) { + return getStaffPlanService(user).getForm(params); + } + + /** + * 获取列表页面按钮信息 + * + * @return + */ + public Map getHasRight() { + return getStaffPlanService(user).getHasRight(); + } +} diff --git a/src/com/engine/organization/wrapper/StaffWrapper.java b/src/com/engine/organization/wrapper/StaffWrapper.java new file mode 100644 index 00000000..dec481eb --- /dev/null +++ b/src/com/engine/organization/wrapper/StaffWrapper.java @@ -0,0 +1,93 @@ +package com.engine.organization.wrapper; + +import com.engine.common.util.ServiceUtil; +import com.engine.core.impl.Service; +import com.engine.organization.entity.staff.param.StaffSearchParam; +import com.engine.organization.service.StaffService; +import com.engine.organization.service.impl.StaffServiceImpl; +import weaver.hrm.User; + +import java.util.Collection; +import java.util.Map; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/25 + * @version: 1.0 + */ +public class StaffWrapper extends Service { + private StaffService getStaffService(User user) { + return ServiceUtil.getService(StaffServiceImpl.class, user); + } + + /** + * 编制列表 + * + * @param params + * @return + */ + public Map listPage(StaffSearchParam params) { + return getStaffService(user).listPage(params); + } + + /** + * 新增编制 + * + * @param param + * @return + */ + public int saveStaff(StaffSearchParam param) { + return getStaffService(user).saveStaff(param); + } + + /** + * 更新编制 + * + * @param param + * @return + */ + public int updateStaff(StaffSearchParam param) { + return getStaffService(user).updateStaff(param); + } + + + /** + * 根据ID批量删除 + * + * @param ids + */ + public int deleteByIds(Collection ids) { + return getStaffService(user).deleteByIds(ids); + } + + /** + * 获取搜索条件 + * + * @param params + * @return + */ + public Map getSearchCondition(Map params) { + return getStaffService(user).getSearchCondition(params); + } + + + /** + * 获取新增表单 + * + * @param params + * @return + */ + public Map getForm(Map params) { + return getStaffService(user).getForm(params); + } + + /** + * 获取列表页面按钮信息 + * + * @return + */ + public Map getHasRight() { + return getStaffService(user).getHasRight(); + } +}