From f6ea4425cf71119e37f0ee33207b6f9544ca191b Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Tue, 25 Oct 2022 17:48:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A8=A1=E5=9D=97=E7=AE=A1=E7=90=86=E5=88=86?= =?UTF-8?q?=E6=9D=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/表结构SQL/MySQL.sql | 4 +- docs/表结构SQL/Oracle.sql | 4 +- docs/表结构SQL/SqlServer.sql | 4 +- .../detach/param/ManagerDetachParam.java | 34 +++ .../entity/detach/po/ManagerDetachPO.java | 14 +- .../entity/detach/vo/ManagerDetachVO.java | 6 +- .../mapper/detach/ManagerDetachMapper.java | 13 + .../mapper/detach/ManagerDetachMapper.xml | 238 ++++++++---------- .../service/ManagerDetachService.java | 17 ++ .../impl/ManagerDetachServiceImpl.java | 40 ++- .../web/ManagerDetachController.java | 26 ++ .../wrapper/ManagerDetachWrapper.java | 36 ++- 12 files changed, 283 insertions(+), 153 deletions(-) create mode 100644 src/com/engine/organization/entity/detach/param/ManagerDetachParam.java diff --git a/docs/表结构SQL/MySQL.sql b/docs/表结构SQL/MySQL.sql index 2b9a0909..5bb92ee6 100644 --- a/docs/表结构SQL/MySQL.sql +++ b/docs/表结构SQL/MySQL.sql @@ -548,12 +548,12 @@ create table JCL_ORG_ITEM ( -- JCL_ORG_DETACH create table JCL_ORG_DETACH ( id int auto_increment not null, - type int null, + manager_type int null, ec_manager text not null, jcl_manager text not null, ec_rolelevel text not null, jcl_rolelevel text not null, - module text not null, + manage_module text not 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 74245544..67b0c456 100644 --- a/docs/表结构SQL/Oracle.sql +++ b/docs/表结构SQL/Oracle.sql @@ -490,12 +490,12 @@ CREATE TABLE JCL_ORG_HRMRELATION ( -- JCL_ORG_DETACH create table JCL_ORG_DETACH ( id number not null, - type number null, + manager_type number null, ec_manager clob not null, jcl_manager clob not null, ec_rolelevel varchar(4000) not null, jcl_rolelevel varchar(4000) not null, - module varchar(4000) not null, + manage_module varchar(4000) not 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 2db5c0cb..b94299ae 100644 --- a/docs/表结构SQL/SqlServer.sql +++ b/docs/表结构SQL/SqlServer.sql @@ -521,12 +521,12 @@ CREATE TABLE JCL_ORG_MAP ( -- JCL_ORG_DETACH create table JCL_ORG_DETACH ( id int IDENTITY(1,1) not null, - type int null, + manager_type int null, ec_manager text not null, jcl_manager text not null, ec_rolelevel text not null, jcl_rolelevel text not null, - module text not null, + manage_module text not null, creator int null, delete_type int null, create_time date null, diff --git a/src/com/engine/organization/entity/detach/param/ManagerDetachParam.java b/src/com/engine/organization/entity/detach/param/ManagerDetachParam.java new file mode 100644 index 00000000..1944a089 --- /dev/null +++ b/src/com/engine/organization/entity/detach/param/ManagerDetachParam.java @@ -0,0 +1,34 @@ +package com.engine.organization.entity.detach.param; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author weaver_cl + * @Description: + * @Date 2022/10/25 + * @Version V1.0 + **/ + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ManagerDetachParam { + + private Integer id; + + private Integer managerType; + + private String ecManager; + + private String jclManager; + + private String ecRolelevel; + + private String jclRolelevel; + + private String manageModule; +} diff --git a/src/com/engine/organization/entity/detach/po/ManagerDetachPO.java b/src/com/engine/organization/entity/detach/po/ManagerDetachPO.java index 40dd9e27..a40e29d2 100644 --- a/src/com/engine/organization/entity/detach/po/ManagerDetachPO.java +++ b/src/com/engine/organization/entity/detach/po/ManagerDetachPO.java @@ -26,27 +26,27 @@ public class ManagerDetachPO { /** * 管理员类型 */ - private Integer type; + private Integer managerType; /** * ec管理员 */ - private String ec_manger; + private String ecManager; /** * jcl管理员 */ - private String jcl_manger; + private String jclManager; /** * ec分部 */ - private String ec_rolelevel; + private String ecRolelevel; /** * jcl分部 */ - private String jcl_rolelevel; + private String jclRolelevel; /** - * 模块 + * 可管理模块 */ - private String module; + private String manageModule; /** * 创建人 */ diff --git a/src/com/engine/organization/entity/detach/vo/ManagerDetachVO.java b/src/com/engine/organization/entity/detach/vo/ManagerDetachVO.java index b87954dd..6a1fdea0 100644 --- a/src/com/engine/organization/entity/detach/vo/ManagerDetachVO.java +++ b/src/com/engine/organization/entity/detach/vo/ManagerDetachVO.java @@ -24,7 +24,7 @@ import lombok.NoArgsConstructor; fields = "t.id," + "t.ec_manager," + "t.ec_rolelevel," + - "t.module," + + "t.manage_module," + "t.creator," + "t.delete_type," + "t.create_time," + @@ -53,7 +53,7 @@ public class ManagerDetachVO { private String ecRolelevel; - @OrganizationTableColumn(text = "可管理模块", width = "40%", column = "module") - private String module; + @OrganizationTableColumn(text = "可管理模块", width = "40%", column = "manage_module") + private String manageModule; } diff --git a/src/com/engine/organization/mapper/detach/ManagerDetachMapper.java b/src/com/engine/organization/mapper/detach/ManagerDetachMapper.java index 8d56eaaa..3b057aa3 100644 --- a/src/com/engine/organization/mapper/detach/ManagerDetachMapper.java +++ b/src/com/engine/organization/mapper/detach/ManagerDetachMapper.java @@ -1,5 +1,11 @@ package com.engine.organization.mapper.detach; +import com.engine.organization.entity.detach.po.ManagerDetachPO; +import org.apache.ibatis.annotations.Param; + +import java.util.Collection; +import java.util.List; + /** * @Author weaver_cl * @Description: @@ -8,4 +14,11 @@ package com.engine.organization.mapper.detach; **/ public interface ManagerDetachMapper { + int insertIgnoreNull(ManagerDetachPO managerDetachPO); + + int updateDetach(ManagerDetachPO managerDetachPO); + + int deleteByIds(@Param("ids") Collection ids); + + List selectByIds(@Param("ids")Collection ids); } diff --git a/src/com/engine/organization/mapper/detach/ManagerDetachMapper.xml b/src/com/engine/organization/mapper/detach/ManagerDetachMapper.xml index 55ca3517..3c56ea21 100644 --- a/src/com/engine/organization/mapper/detach/ManagerDetachMapper.xml +++ b/src/com/engine/organization/mapper/detach/ManagerDetachMapper.xml @@ -1,99 +1,60 @@ - - + + - - - - + + + + + + - - - - - - t - . - id - , t.scheme_no - , t.scheme_name - , t.scheme_description - , t.forbidden_tag + t.id + , t.manager_type + , t.ec_manager + , t.jcl_manager + , t.ec_rolelevel + , t.jcl_rolelevel + , t.manage_module , t.creator , t.delete_type , t.create_time , t.update_time - - - - - - - - INSERT INTO jcl_org_scheme + INSERT INTO jcl_org_detach + + manager_type, + + + ec_manager, + + + jcl_manager, + + + ec_rolelevel, + + + jcl_rolelevel, + + + manage_module, + creator, @@ -106,18 +67,26 @@ update_time, - - scheme_no, + + + + #{managerType}, + + + #{ecManager}, - - scheme_name, + + #{jclManager}, - - scheme_description, + + #{ecRolelevel}, + + + #{jclRolelevel}, + + + #{manageModule}, - forbidden_tag, - - #{creator}, @@ -130,25 +99,33 @@ #{updateTime}, - - #{schemeNo}, - - - #{schemeName}, - - - #{schemeDescription}, - - 0, - + - select JCL_ORG_SCHEME_ID.currval from dual + select JCL_ORG_DETACH_ID.currval from dual - INSERT INTO jcl_org_scheme + INSERT INTO jcl_org_detach + + manager_type, + + + ec_manager, + + + jcl_manager, + + + ec_rolelevel, + + + jcl_rolelevel, + + + manage_module, + creator, @@ -161,18 +138,26 @@ update_time, - - scheme_no, + + + + #{managerType}, + + + #{ecManager}, - - scheme_name, + + #{jclManager}, - - scheme_description, + + #{ecRolelevel}, + + + #{jclRolelevel}, + + + #{manageModule}, - forbidden_tag, - - #{creator}, @@ -185,41 +170,23 @@ #{updateTime}, - - #{schemeNo}, - - - #{schemeName}, - - - #{schemeDescription}, - - 0, - - update jcl_org_scheme + + update jcl_org_detach - creator=#{creator}, - update_time=#{updateTime}, - scheme_no=#{schemeNo}, - scheme_name=#{schemeName}, - scheme_description=#{schemeDescription}, + ecManager=#{ecManager}, + jclManager=#{jclManager}, + ecRolelevel=#{ecRolelevel}, + jclRolelevel=#{jclRolelevel} 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 + UPDATE jcl_org_detach SET delete_type = 1 WHERE delete_type = 0 AND id IN @@ -228,4 +195,15 @@ + + \ No newline at end of file diff --git a/src/com/engine/organization/service/ManagerDetachService.java b/src/com/engine/organization/service/ManagerDetachService.java index c3b6185e..4c0e0c2f 100644 --- a/src/com/engine/organization/service/ManagerDetachService.java +++ b/src/com/engine/organization/service/ManagerDetachService.java @@ -1,5 +1,8 @@ package com.engine.organization.service; +import com.engine.organization.entity.detach.param.ManagerDetachParam; + +import java.util.Collection; import java.util.Map; /** @@ -23,4 +26,18 @@ public interface ManagerDetachService { * @return */ Map getForm(Integer id); + + /** + * 批量删除 + * @param ids + * @return + */ + int deleteByIds(Collection ids); + + /** + * 新增 + * @param param + * @return + */ + int save(ManagerDetachParam param); } diff --git a/src/com/engine/organization/service/impl/ManagerDetachServiceImpl.java b/src/com/engine/organization/service/impl/ManagerDetachServiceImpl.java index 006731f9..50b2139d 100644 --- a/src/com/engine/organization/service/impl/ManagerDetachServiceImpl.java +++ b/src/com/engine/organization/service/impl/ManagerDetachServiceImpl.java @@ -5,18 +5,20 @@ 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.detach.param.ManagerDetachParam; +import com.engine.organization.entity.detach.po.ManagerDetachPO; import com.engine.organization.entity.detach.vo.ManagerDetachVO; +import com.engine.organization.mapper.detach.ManagerDetachMapper; import com.engine.organization.mapper.employee.EmployeeMapper; +import com.engine.organization.mapper.hrmresource.HrmResourceMapper; import com.engine.organization.service.ManagerDetachService; import com.engine.organization.util.HasRightUtil; import com.engine.organization.util.OrganizationFormItemUtil; import com.engine.organization.util.db.MapperProxyFactory; +import com.engine.organization.util.relation.EcHrmRelationUtil; import org.apache.commons.lang3.StringUtils; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * @Author weaver_cl @@ -29,6 +31,14 @@ public class ManagerDetachServiceImpl extends Service implements ManagerDetachSe private static final String RIGHT_NAME = "MangerDeatch:All"; + public ManagerDetachMapper getMangeDetachMapper() { + return MapperProxyFactory.getProxy(ManagerDetachMapper.class); + } + + public HrmResourceMapper getHrmResourceMapper() { + return MapperProxyFactory.getProxy(HrmResourceMapper.class); + } + @Override public Map listPage(Map params) { Map resultMap = new HashMap<>(); @@ -69,6 +79,28 @@ public class ManagerDetachServiceImpl extends Service implements ManagerDetachSe return apiDatas; } + @Override + public int deleteByIds(Collection ids) { + return getMangeDetachMapper().deleteByIds(ids); + } + + @Override + public int save(ManagerDetachParam param) { + ManagerDetachPO managerDetachPO = ManagerDetachPO.builder() + .managerType(0) + .ecManager(param.getEcManager()) + .jclManager(String.valueOf(getHrmResourceMapper().getJclResourceId(param.getEcManager()))) + .ecRolelevel(param.getEcRolelevel()) + .jclRolelevel(EcHrmRelationUtil.getJclCompanyId(param.getEcRolelevel()) != null ? String.valueOf(EcHrmRelationUtil.getJclCompanyId(param.getEcRolelevel()).getId()) : null) + .creator((long)user.getUID()) + .deleteType(0) + .createTime(new Date()) + .updateTime(new Date()) + .build(); + + return getMangeDetachMapper().insertIgnoreNull(managerDetachPO); + } + private String buildSqlWhere(Map params) { String sqlWhere = " where 1 = 1"; String lastName = (String) params.get("ecManager"); diff --git a/src/com/engine/organization/web/ManagerDetachController.java b/src/com/engine/organization/web/ManagerDetachController.java index 915710a7..ef5f721d 100644 --- a/src/com/engine/organization/web/ManagerDetachController.java +++ b/src/com/engine/organization/web/ManagerDetachController.java @@ -3,6 +3,7 @@ package com.engine.organization.web; import com.engine.common.util.ParamUtil; import com.engine.common.util.ServiceUtil; import com.engine.organization.entity.DeleteParam; +import com.engine.organization.entity.detach.param.ManagerDetachParam; import com.engine.organization.util.response.ReturnResult; import com.engine.organization.wrapper.ManagerDetachWrapper; import io.swagger.v3.oas.annotations.parameters.RequestBody; @@ -92,4 +93,29 @@ public class ManagerDetachController { return ReturnResult.exceptionHandle(e); } } + + + @POST + @Path("/save") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult saveScheme(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody ManagerDetachParam param) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getManagerDetachWrapper(user).save(param)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } + + @POST + @Path("/updateScheme") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult updateScheme(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody ManagerDetachParam param) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getManagerDetachWrapper(user).updateDetach(param)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } } diff --git a/src/com/engine/organization/wrapper/ManagerDetachWrapper.java b/src/com/engine/organization/wrapper/ManagerDetachWrapper.java index 2deb5ef6..8a6c23bb 100644 --- a/src/com/engine/organization/wrapper/ManagerDetachWrapper.java +++ b/src/com/engine/organization/wrapper/ManagerDetachWrapper.java @@ -1,16 +1,21 @@ package com.engine.organization.wrapper; +import com.alibaba.fastjson.JSON; import com.api.browser.bean.SearchConditionGroup; import com.api.browser.bean.SearchConditionItem; import com.engine.common.util.ServiceUtil; -import com.engine.core.impl.Service; import com.engine.organization.annotation.Log; +import com.engine.organization.entity.detach.param.ManagerDetachParam; +import com.engine.organization.entity.detach.po.ManagerDetachPO; import com.engine.organization.enums.LogModuleNameEnum; import com.engine.organization.enums.OperateTypeEnum; +import com.engine.organization.mapper.detach.ManagerDetachMapper; import com.engine.organization.service.ManagerDetachService; import com.engine.organization.service.impl.ManagerDetachServiceImpl; import com.engine.organization.util.MenuBtn; import com.engine.organization.util.OrganizationFormItemUtil; +import com.engine.organization.util.OrganizationWrapper; +import com.engine.organization.util.db.MapperProxyFactory; import weaver.hrm.User; import java.util.*; @@ -21,7 +26,7 @@ import java.util.*; * @Date 2022/10/21 * @Version V1.0 **/ -public class ManagerDetachWrapper extends Service { +public class ManagerDetachWrapper extends OrganizationWrapper { public ManagerDetachService getManagerDetachService(User user) { return ServiceUtil.getService(ManagerDetachServiceImpl.class,user); @@ -52,8 +57,33 @@ public class ManagerDetachWrapper extends Service { return getManagerDetachService(user).getForm(id); } - @Log(operateType = OperateTypeEnum.DELETE,operateModule = LogModuleNameEnum.OTHER,operateDesc = "删除") + @Log(operateType = OperateTypeEnum.DELETE,operateModule = LogModuleNameEnum.OTHER,operateDesc = "删除分权数据") public int deleteByIds(Collection ids) { + List managerDetachPOS = MapperProxyFactory.getProxy(ManagerDetachMapper.class).selectByIds(ids); + int deleteByIds = getManagerDetachService(user).deleteByIds(ids); + for (ManagerDetachPO managerDetachPO : managerDetachPOS) { + writeOperateLog(new Object() { + }.getClass(), managerDetachPO.getEcManager(), JSON.toJSONString(ids), "删除等级方案"); + } + return deleteByIds; + } + + + @Log(operateType = OperateTypeEnum.ADD,operateModule = LogModuleNameEnum.OTHER,operateDesc = "新增分权管理员") + public int save(ManagerDetachParam param) { + int save = getManagerDetachService(user).save(param); + writeOperateLog(new Object() { + }.getClass(), param.getEcManager(), JSON.toJSONString(param), "新增分权管理员"); + return save; + } + + @Log(operateType = OperateTypeEnum.UPDATE, operateModule = LogModuleNameEnum.OTHER, operateDesc = "分权数据更新") + public int updateDetach(ManagerDetachParam param) { +// SchemePO schemeByID = getSchemeMapper().getSchemeByID(param.getId()); +// int updateScheme = getManagerDetachService(user).updateDetach(param); +// writeOperateLog(new Object() { +// }.getClass(), schemeByID.getSchemeName(), JSON.toJSONString(param), schemeByID, getSchemeMapper().getSchemeByID(param.getId())); +// return updateScheme; return -1; } }