From 45435392063752af6684b7385251d151253123d8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com>
Date: Fri, 26 Jul 2024 11:35:17 +0800
Subject: [PATCH 001/118] =?UTF-8?q?=E8=A7=92=E8=89=B2=E5=92=8C=E6=88=90?=
=?UTF-8?q?=E5=91=98=E5=9F=BA=E7=A1=80=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
resource/WEB-INF/prop/authItem.xml | 35 +++
src/com/api/salary/web/AuthController.java | 8 +
.../constant/SalaryDefaultTenantConstant.java | 13 +-
.../salary/entity/auth/dto/RoleDTO.java | 33 +++
.../auth/param/AuthMemberSaveParam.java | 25 ++
.../entity/auth/param/AuthRoleSaveParam.java | 32 +++
.../salary/entity/auth/po/AuthMemberPO.java | 66 +++++
.../salary/entity/auth/po/AuthRolePO.java | 56 ++++
.../salary/mapper/auth/AuthMemberMapper.java | 78 ++++++
.../salary/mapper/auth/AuthMemberMapper.xml | 241 ++++++++++++++++++
.../salary/mapper/auth/AuthRoleMapper.java | 73 ++++++
.../salary/mapper/auth/AuthRoleMapper.xml | 208 +++++++++++++++
.../service/auth/AuthMemberService.java | 33 +++
.../service/auth/AuthMemberServiceImpl.java | 105 ++++++++
.../salary/service/auth/AuthRoleService.java | 28 ++
.../service/auth/AuthRoleServiceImpl.java | 120 +++++++++
src/com/engine/salary/web/AuthController.java | 77 ++++++
.../engine/salary/wrapper/AuthWrapper.java | 48 ++++
.../engine/salary/wrapper/RoleWrapper.java | 24 ++
19 files changed, 1297 insertions(+), 6 deletions(-)
create mode 100644 resource/WEB-INF/prop/authItem.xml
create mode 100644 src/com/api/salary/web/AuthController.java
create mode 100644 src/com/engine/salary/entity/auth/dto/RoleDTO.java
create mode 100644 src/com/engine/salary/entity/auth/param/AuthMemberSaveParam.java
create mode 100644 src/com/engine/salary/entity/auth/param/AuthRoleSaveParam.java
create mode 100644 src/com/engine/salary/entity/auth/po/AuthMemberPO.java
create mode 100644 src/com/engine/salary/entity/auth/po/AuthRolePO.java
create mode 100644 src/com/engine/salary/mapper/auth/AuthMemberMapper.java
create mode 100644 src/com/engine/salary/mapper/auth/AuthMemberMapper.xml
create mode 100644 src/com/engine/salary/mapper/auth/AuthRoleMapper.java
create mode 100644 src/com/engine/salary/mapper/auth/AuthRoleMapper.xml
create mode 100644 src/com/engine/salary/service/auth/AuthMemberService.java
create mode 100644 src/com/engine/salary/service/auth/AuthMemberServiceImpl.java
create mode 100644 src/com/engine/salary/service/auth/AuthRoleService.java
create mode 100644 src/com/engine/salary/service/auth/AuthRoleServiceImpl.java
create mode 100644 src/com/engine/salary/web/AuthController.java
create mode 100644 src/com/engine/salary/wrapper/AuthWrapper.java
create mode 100644 src/com/engine/salary/wrapper/RoleWrapper.java
diff --git a/resource/WEB-INF/prop/authItem.xml b/resource/WEB-INF/prop/authItem.xml
new file mode 100644
index 000000000..ab78ef9d4
--- /dev/null
+++ b/resource/WEB-INF/prop/authItem.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/com/api/salary/web/AuthController.java b/src/com/api/salary/web/AuthController.java
new file mode 100644
index 000000000..3a2c0374c
--- /dev/null
+++ b/src/com/api/salary/web/AuthController.java
@@ -0,0 +1,8 @@
+package com.api.salary.web;
+
+import javax.ws.rs.Path;
+
+@Path("/bs/hrmsalary/auth")
+public class AuthController extends com.engine.salary.web.AuthController {
+
+}
diff --git a/src/com/engine/salary/constant/SalaryDefaultTenantConstant.java b/src/com/engine/salary/constant/SalaryDefaultTenantConstant.java
index 184ccee40..2d5ca8a1b 100644
--- a/src/com/engine/salary/constant/SalaryDefaultTenantConstant.java
+++ b/src/com/engine/salary/constant/SalaryDefaultTenantConstant.java
@@ -1,12 +1,13 @@
package com.engine.salary.constant;
/**
- * @description: 默认的租户key
- * @author: xiajun
- * @modified By: xiajun
- * @date: Created in 2/8/22 11:25 AM
- * @version:v1.0
- */
+ * 默认的租户key
+ *
Copyright: Copyright (c) 2024
+ * Company: 泛微软件
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
public class SalaryDefaultTenantConstant {
public static final String DEFAULT_TENANT_KEY = "all_teams";
diff --git a/src/com/engine/salary/entity/auth/dto/RoleDTO.java b/src/com/engine/salary/entity/auth/dto/RoleDTO.java
new file mode 100644
index 000000000..ce10dbdd4
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/dto/RoleDTO.java
@@ -0,0 +1,33 @@
+package com.engine.salary.entity.auth.dto;
+
+import com.engine.salary.util.valid.DataCheck;
+import com.engine.salary.util.valid.RuntimeTypeEnum;
+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
+public class RoleDTO {
+
+ @JsonSerialize(using = ToStringSerializer.class)
+ @DataCheck(require = true, runtime = {RuntimeTypeEnum.UPDATE}, message = "id不允许为空")
+ private Long id;
+
+
+ @DataCheck(require = true, max = 40, message = "名称不允许为空,名称不能超过40个字符")
+ private String name;
+
+ /**
+ * 扣缴义务人id
+ */
+ @DataCheck(require = true, message = "扣缴义务人不允许为空")
+ private Long taxAgentId;
+
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/auth/param/AuthMemberSaveParam.java b/src/com/engine/salary/entity/auth/param/AuthMemberSaveParam.java
new file mode 100644
index 000000000..4e8f67351
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/param/AuthMemberSaveParam.java
@@ -0,0 +1,25 @@
+package com.engine.salary.entity.auth.param;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class AuthMemberSaveParam {
+
+ private Long roleId;
+
+ private Integer targetType;
+
+ private Long targetId;
+
+ /**
+ * 表达式,为sql预留
+ */
+ private String formula;
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/auth/param/AuthRoleSaveParam.java b/src/com/engine/salary/entity/auth/param/AuthRoleSaveParam.java
new file mode 100644
index 000000000..844453be1
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/param/AuthRoleSaveParam.java
@@ -0,0 +1,32 @@
+package com.engine.salary.entity.auth.param;
+
+import com.engine.salary.util.valid.DataCheck;
+import com.engine.salary.util.valid.RuntimeTypeEnum;
+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
+public class AuthRoleSaveParam {
+
+ @JsonSerialize(using = ToStringSerializer.class)
+ @DataCheck(require = true, runtime = {RuntimeTypeEnum.UPDATE}, message = "id不允许为空")
+ private Long id;
+
+
+ @DataCheck(require = true, max = 40, message = "名称不允许为空,名称不能超过40个字符")
+ private String name;
+
+ /**
+ * 扣缴义务人id
+ */
+ @DataCheck(require = true, message = "扣缴义务人不允许为空")
+ private Long taxAgentId;
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/auth/po/AuthMemberPO.java b/src/com/engine/salary/entity/auth/po/AuthMemberPO.java
new file mode 100644
index 000000000..b7e6ed055
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/po/AuthMemberPO.java
@@ -0,0 +1,66 @@
+package com.engine.salary.entity.auth.po;
+
+import com.engine.hrmelog.annotation.ElogTransform;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Collection;
+import java.util.Date;
+
+/**
+ * 成员
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@ElogTransform( name="成员" )
+public class AuthMemberPO {
+ private Long id;
+ /**
+ * 角色id
+ */
+ @ElogTransform( name="角色id" )
+ private Long roleId;
+ /**
+ * 对象类型,1:人员、2:部门、3:岗位、4:分部、5:角色、6:sql
+ */
+ @ElogTransform( name="对象类型" )
+ private Integer targetType;
+ /**
+ * 对象id
+ */
+ @ElogTransform( name="对象id" )
+ private Long targetId;
+ /**
+ * 表达式
+ */
+ @ElogTransform( name="表达式" )
+ private String formula;
+ /**
+ * 创建人
+ */
+ private Long creator;
+ /**
+ * 创建时间
+ */
+ private Date createTime;
+ /**
+ * 更新时间
+ */
+ private Date updateTime;
+ /**
+ * 是否已删除。0:未删除、1:已删除
+ */
+ private Integer deleteType;
+ /**
+ * 租户ID
+ */
+ private String tenantKey;
+
+ //主键id集合
+ private Collection ids;
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/auth/po/AuthRolePO.java b/src/com/engine/salary/entity/auth/po/AuthRolePO.java
new file mode 100644
index 000000000..9ca15d1e5
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/po/AuthRolePO.java
@@ -0,0 +1,56 @@
+package com.engine.salary.entity.auth.po;
+
+import com.engine.hrmelog.annotation.ElogTransform;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Collection;
+import java.util.Date;
+
+/**
+ * 角色
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@ElogTransform( name="角色" )
+public class AuthRolePO {
+ private Long id;
+ /**
+ * 名称
+ */
+ @ElogTransform( name="名称" )
+ private String name;
+ /**
+ * 个税扣缴义务人id
+ */
+ @ElogTransform( name="个税扣缴义务人id" )
+ private Long taxAgentId;
+ /**
+ * 创建人
+ */
+ private Long creator;
+ /**
+ * 创建时间
+ */
+ private Date createTime;
+ /**
+ * 更新时间
+ */
+ private Date updateTime;
+ /**
+ * 是否已删除。0:未删除、1:已删除
+ */
+ private Integer deleteType;
+ /**
+ * 租户ID
+ */
+ private String tenantKey;
+
+ //主键id集合
+ private Collection ids;
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/mapper/auth/AuthMemberMapper.java b/src/com/engine/salary/mapper/auth/AuthMemberMapper.java
new file mode 100644
index 000000000..a5cabd93f
--- /dev/null
+++ b/src/com/engine/salary/mapper/auth/AuthMemberMapper.java
@@ -0,0 +1,78 @@
+package com.engine.salary.mapper.auth;
+
+import com.engine.salary.entity.auth.po.AuthMemberPO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Collection;
+import java.util.List;
+
+public interface AuthMemberMapper {
+
+ /**
+ * 查询所有记录
+ *
+ * @return 返回集合,没有返回空List
+ */
+ List listAll();
+
+ /**
+ * 条件查询
+ *
+ * @return 返回集合,没有返回空List
+ */
+ List listSome(AuthMemberPO authMember);
+
+
+ /**
+ * 根据主键查询
+ *
+ * @param id 主键
+ * @return 返回记录,没有返回null
+ */
+ AuthMemberPO getById(Long id);
+
+ /**
+ * 新增,忽略null字段
+ *
+ * @param authMember 新增的记录
+ * @return 返回影响行数
+ */
+ int insertIgnoreNull(AuthMemberPO authMember);
+
+ /**
+ * 修改,修改所有字段
+ *
+ * @param authMember 修改的记录
+ * @return 返回影响行数
+ */
+ int update(AuthMemberPO authMember);
+
+ /**
+ * 修改,忽略null字段
+ *
+ * @param authMember 修改的记录
+ * @return 返回影响行数
+ */
+ int updateIgnoreNull(AuthMemberPO authMember);
+
+ /**
+ * 删除记录
+ *
+ * @param authMember 待删除的记录
+ * @return 返回影响行数
+ */
+ int delete(AuthMemberPO authMember);
+
+ /**
+ * 批量删除记录
+ * @param ids 主键id集合
+ */
+ void deleteByIds(@Param("ids") Collection ids);
+
+ /**
+ * 根据角色id删除
+ * @param roleId roleId
+ */
+ void deleteByRoleId(Long roleId);
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/mapper/auth/AuthMemberMapper.xml b/src/com/engine/salary/mapper/auth/AuthMemberMapper.xml
new file mode 100644
index 000000000..24adb81ac
--- /dev/null
+++ b/src/com/engine/salary/mapper/auth/AuthMemberMapper.xml
@@ -0,0 +1,241 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ t.id
+ , t.role_id
+ , t.target_type
+ , t.target_id
+ , t.formula
+ , t.creator
+ , t.create_time
+ , t.update_time
+ , t.delete_type
+ , t.tenant_key
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ INSERT INTO hrsa_auth_member
+
+
+
+ id,
+
+
+ role_id,
+
+
+ target_type,
+
+
+ target_id,
+
+
+ formula,
+
+
+ creator,
+
+
+ create_time,
+
+
+ update_time,
+
+
+ delete_type,
+
+
+ tenant_key,
+
+
+
+
+ #{id},
+
+
+ #{roleId},
+
+
+ #{targetType},
+
+
+ #{targetId},
+
+
+ #{formula},
+
+
+ #{creator},
+
+
+ #{createTime},
+
+
+ #{updateTime},
+
+
+ #{deleteType},
+
+
+ #{tenantKey},
+
+
+
+
+
+
+ UPDATE hrsa_auth_member
+
+ role_id=#{roleId},
+ target_type=#{targetType},
+ target_id=#{targetId},
+ formula=#{formula},
+ creator=#{creator},
+ create_time=#{createTime},
+ update_time=#{updateTime},
+ delete_type=#{deleteType},
+ tenant_key=#{tenantKey},
+
+ WHERE id = #{id} AND delete_type = 0
+
+
+
+
+
+ UPDATE hrsa_auth_member
+
+
+ role_id=#{roleId},
+
+
+ target_type=#{targetType},
+
+
+ target_id=#{targetId},
+
+
+ formula=#{formula},
+
+
+ creator=#{creator},
+
+
+ create_time=#{createTime},
+
+
+ update_time=#{updateTime},
+
+
+ delete_type=#{deleteType},
+
+
+ tenant_key=#{tenantKey},
+
+
+ WHERE id = #{id} AND delete_type = 0
+
+
+
+
+
+ UPDATE hrsa_auth_member
+ SET delete_type=1
+ WHERE id = #{id} AND delete_type = 0
+
+
+
+ UPDATE hrsa_auth_member
+ SET delete_type = 1
+ WHERE delete_type = 0
+ AND id IN
+
+ #{id}
+
+
+
+
+
+ UPDATE hrsa_auth_member
+ SET delete_type=1
+ WHERE role_id = #{roleId} AND delete_type = 0
+
+
+
\ No newline at end of file
diff --git a/src/com/engine/salary/mapper/auth/AuthRoleMapper.java b/src/com/engine/salary/mapper/auth/AuthRoleMapper.java
new file mode 100644
index 000000000..5a936de7e
--- /dev/null
+++ b/src/com/engine/salary/mapper/auth/AuthRoleMapper.java
@@ -0,0 +1,73 @@
+package com.engine.salary.mapper.auth;
+
+import com.engine.salary.entity.auth.po.AuthRolePO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Collection;
+import java.util.List;
+
+public interface AuthRoleMapper {
+
+ /**
+ * 查询所有记录
+ *
+ * @return 返回集合,没有返回空List
+ */
+ List listAll();
+
+ /**
+ * 条件查询
+ *
+ * @return 返回集合,没有返回空List
+ */
+ List listSome(AuthRolePO authRole);
+
+
+ /**
+ * 根据主键查询
+ *
+ * @param id 主键
+ * @return 返回记录,没有返回null
+ */
+ AuthRolePO getById(Long id);
+
+ /**
+ * 新增,忽略null字段
+ *
+ * @param authRole 新增的记录
+ * @return 返回影响行数
+ */
+ int insertIgnoreNull(AuthRolePO authRole);
+
+ /**
+ * 修改,修改所有字段
+ *
+ * @param authRole 修改的记录
+ * @return 返回影响行数
+ */
+ int update(AuthRolePO authRole);
+
+ /**
+ * 修改,忽略null字段
+ *
+ * @param authRole 修改的记录
+ * @return 返回影响行数
+ */
+ int updateIgnoreNull(AuthRolePO authRole);
+
+ /**
+ * 删除记录
+ *
+ * @param authRole 待删除的记录
+ * @return 返回影响行数
+ */
+ int delete(AuthRolePO authRole);
+
+ /**
+ * 批量删除记录
+ *
+ * @param ids 主键id集合
+ */
+ void deleteByIds(@Param("ids") Collection ids);
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/mapper/auth/AuthRoleMapper.xml b/src/com/engine/salary/mapper/auth/AuthRoleMapper.xml
new file mode 100644
index 000000000..6b7528d47
--- /dev/null
+++ b/src/com/engine/salary/mapper/auth/AuthRoleMapper.xml
@@ -0,0 +1,208 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ t
+ .
+ id
+ , t.name
+ , t.tax_agent_id
+ , t.creator
+ , t.create_time
+ , t.update_time
+ , t.delete_type
+ , t.tenant_key
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ INSERT INTO hrsa_auth_role
+
+
+
+ id,
+
+
+ name,
+
+
+ tax_agent_id,
+
+
+ creator,
+
+
+ create_time,
+
+
+ update_time,
+
+
+ delete_type,
+
+
+ tenant_key,
+
+
+
+
+ #{id},
+
+
+ #{name},
+
+
+ #{taxAgentId},
+
+
+ #{creator},
+
+
+ #{createTime},
+
+
+ #{updateTime},
+
+
+ #{deleteType},
+
+
+ #{tenantKey},
+
+
+
+
+
+
+ UPDATE hrsa_auth_role
+
+ name=#{name},
+ tax_agent_id=#{taxAgentId},
+ creator=#{creator},
+ create_time=#{createTime},
+ update_time=#{updateTime},
+ delete_type=#{deleteType},
+ tenant_key=#{tenantKey},
+
+ WHERE id = #{id} AND delete_type = 0
+
+
+
+
+
+ UPDATE hrsa_auth_role
+
+
+ name=#{name},
+
+
+ tax_agent_id=#{taxAgentId},
+
+
+ creator=#{creator},
+
+
+ create_time=#{createTime},
+
+
+ update_time=#{updateTime},
+
+
+ delete_type=#{deleteType},
+
+
+ tenant_key=#{tenantKey},
+
+
+ WHERE id = #{id} AND delete_type = 0
+
+
+
+
+
+ UPDATE hrsa_auth_role
+ SET delete_type=1
+ WHERE id = #{id}
+ AND delete_type = 0
+
+
+
+ UPDATE hrsa_auth_role
+ SET delete_type = 1
+ WHERE delete_type = 0
+ AND id IN
+
+ #{id}
+
+
+
+
+
\ No newline at end of file
diff --git a/src/com/engine/salary/service/auth/AuthMemberService.java b/src/com/engine/salary/service/auth/AuthMemberService.java
new file mode 100644
index 000000000..821fc0930
--- /dev/null
+++ b/src/com/engine/salary/service/auth/AuthMemberService.java
@@ -0,0 +1,33 @@
+package com.engine.salary.service.auth;
+
+import com.engine.salary.entity.auth.param.AuthMemberSaveParam;
+
+/**
+ * 成员
+ * Copyright: Copyright (c) 2024
+ * Company: 泛微软件
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
+public interface AuthMemberService {
+
+ /**
+ * 添加成员
+ * @param param
+ * @return
+ */
+ Long saveMember(AuthMemberSaveParam param);
+
+ /**
+ * 删除成员
+ * @param id
+ */
+ void deleteMember(Long id);
+
+ /**
+ * 同步成员
+ * @param roleId
+ */
+ void syncMember(Long roleId);
+}
diff --git a/src/com/engine/salary/service/auth/AuthMemberServiceImpl.java b/src/com/engine/salary/service/auth/AuthMemberServiceImpl.java
new file mode 100644
index 000000000..5c68944ff
--- /dev/null
+++ b/src/com/engine/salary/service/auth/AuthMemberServiceImpl.java
@@ -0,0 +1,105 @@
+package com.engine.salary.service.auth;
+
+import com.engine.common.util.ServiceUtil;
+import com.engine.core.impl.Service;
+import com.engine.hrmelog.entity.dto.LoggerContext;
+import com.engine.salary.config.SalaryElogConfig;
+import com.engine.salary.constant.SalaryDefaultTenantConstant;
+import com.engine.salary.entity.auth.param.AuthMemberSaveParam;
+import com.engine.salary.entity.auth.po.AuthMemberPO;
+import com.engine.salary.entity.auth.po.AuthRolePO;
+import com.engine.salary.entity.taxagent.po.TaxAgentPO;
+import com.engine.salary.enums.OperateTypeEnum;
+import com.engine.salary.exception.SalaryRunTimeException;
+import com.engine.salary.mapper.auth.AuthMemberMapper;
+import com.engine.salary.mapper.auth.AuthRoleMapper;
+import com.engine.salary.service.TaxAgentService;
+import com.engine.salary.service.impl.TaxAgentServiceImpl;
+import com.engine.salary.util.SalaryI18nUtil;
+import com.engine.salary.util.db.IdGenerator;
+import com.engine.salary.util.db.MapperProxyFactory;
+import weaver.hrm.User;
+
+import java.util.Collections;
+import java.util.Date;
+
+public class AuthMemberServiceImpl extends Service implements AuthMemberService {
+
+
+ private AuthMemberMapper getAuthMemberMapper() {
+ return MapperProxyFactory.getProxy(AuthMemberMapper.class);
+ }
+
+ private AuthRoleMapper getAuthRoleMapper() {
+ return MapperProxyFactory.getProxy(AuthRoleMapper.class);
+ }
+
+
+ private TaxAgentService getTaxAgentService(User user) {
+ return ServiceUtil.getService(TaxAgentServiceImpl.class, user);
+ }
+
+
+ @Override
+ public Long saveMember(AuthMemberSaveParam param) {
+
+ AuthRolePO rolePO = getAuthRoleMapper().getById(param.getRoleId());
+ if (rolePO == null) {
+ throw new SalaryRunTimeException("角色不存在!");
+ }
+
+
+ Date now = new Date();
+ AuthMemberPO po = AuthMemberPO.builder()
+ .id(IdGenerator.generate())
+ .targetId(param.getTargetId())
+ .targetType(param.getTargetType())
+ .formula(param.getFormula())
+ .creator((long) user.getUID())
+ .createTime(now)
+ .updateTime(now)
+ .deleteType(0)
+ .tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
+ .build();
+ getAuthMemberMapper().insertIgnoreNull(po);
+
+ LoggerContext loggerContext = new LoggerContext<>();
+ loggerContext.setUser(user);
+ loggerContext.setTargetId(rolePO.getTaxAgentId() + "");
+ loggerContext.setTargetName(rolePO.getName() + "成员:" + po.getId());
+ loggerContext.setOperateType(OperateTypeEnum.ADD.getValue());
+ loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "新增成员"));
+ loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "新增成员"));
+ loggerContext.setNewValues(po);
+ SalaryElogConfig.taxAgentLoggerTemplate.write(loggerContext);
+
+
+ return po.getId();
+ }
+
+ @Override
+ public void deleteMember(Long id) {
+ AuthMemberPO po = getAuthMemberMapper().getById(id);
+ if (po == null) {
+ throw new SalaryRunTimeException("成员不存在!");
+ }
+
+ getAuthMemberMapper().deleteByIds(Collections.singleton(id));
+
+ AuthRolePO rolePO = getAuthRoleMapper().getById(po.getRoleId());
+ LoggerContext loggerContext = new LoggerContext<>();
+ loggerContext.setUser(user);
+ loggerContext.setTargetId(rolePO.getTaxAgentId() + "");
+ loggerContext.setTargetName(rolePO.getName() + "成员:" + po.getId());
+ loggerContext.setOperateType(OperateTypeEnum.DELETE.getValue());
+ loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "删除成员"));
+ loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "删除成员"));
+ loggerContext.setNewValues(po);
+ SalaryElogConfig.taxAgentLoggerTemplate.write(loggerContext);
+ }
+
+ @Override
+ public void syncMember(Long roleId) {
+
+ }
+}
diff --git a/src/com/engine/salary/service/auth/AuthRoleService.java b/src/com/engine/salary/service/auth/AuthRoleService.java
new file mode 100644
index 000000000..30dbb3e98
--- /dev/null
+++ b/src/com/engine/salary/service/auth/AuthRoleService.java
@@ -0,0 +1,28 @@
+package com.engine.salary.service.auth;
+
+import com.engine.salary.entity.auth.param.AuthRoleSaveParam;
+
+/**
+ * 角色
+ * Copyright: Copyright (c) 2024
+ * Company: 泛微软件
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
+public interface AuthRoleService {
+
+ /**
+ * 添加角色
+ * @param param
+ * @return
+ */
+ Long saveRole(AuthRoleSaveParam param);
+
+ /**
+ * 删除角色
+ * @param id
+ */
+ void deleteRole(Long id);
+
+}
diff --git a/src/com/engine/salary/service/auth/AuthRoleServiceImpl.java b/src/com/engine/salary/service/auth/AuthRoleServiceImpl.java
new file mode 100644
index 000000000..0efeba99e
--- /dev/null
+++ b/src/com/engine/salary/service/auth/AuthRoleServiceImpl.java
@@ -0,0 +1,120 @@
+package com.engine.salary.service.auth;
+
+import com.engine.common.util.ServiceUtil;
+import com.engine.core.impl.Service;
+import com.engine.hrmelog.entity.dto.LoggerContext;
+import com.engine.salary.config.SalaryElogConfig;
+import com.engine.salary.constant.SalaryDefaultTenantConstant;
+import com.engine.salary.entity.auth.param.AuthRoleSaveParam;
+import com.engine.salary.entity.auth.po.AuthRolePO;
+import com.engine.salary.entity.taxagent.po.TaxAgentPO;
+import com.engine.salary.enums.OperateTypeEnum;
+import com.engine.salary.exception.SalaryRunTimeException;
+import com.engine.salary.mapper.auth.AuthMemberMapper;
+import com.engine.salary.mapper.auth.AuthRoleMapper;
+import com.engine.salary.service.TaxAgentService;
+import com.engine.salary.service.impl.TaxAgentServiceImpl;
+import com.engine.salary.util.SalaryI18nUtil;
+import com.engine.salary.util.db.IdGenerator;
+import com.engine.salary.util.db.MapperProxyFactory;
+import weaver.hrm.User;
+
+import java.util.Collections;
+import java.util.Date;
+
+public class AuthRoleServiceImpl extends Service implements AuthRoleService {
+
+ private AuthRoleMapper getAuthRoleMapper() {
+ return MapperProxyFactory.getProxy(AuthRoleMapper.class);
+ }
+
+ private AuthMemberMapper getAuthMemberMapper() {
+ return MapperProxyFactory.getProxy(AuthMemberMapper.class);
+ }
+
+ private TaxAgentService getTaxAgentService(User user) {
+ return ServiceUtil.getService(TaxAgentServiceImpl.class, user);
+ }
+
+
+ @Override
+ public Long saveRole(AuthRoleSaveParam param) {
+ Date now = new Date();
+ Long id = param.getId();
+ String name = param.getName();
+ Long taxAgentId = param.getTaxAgentId();
+
+ AuthRolePO po;
+ if (id == null) {
+ po = AuthRolePO.builder()
+ .id(IdGenerator.generate())
+ .name(name)
+ .taxAgentId(taxAgentId)
+ .creator((long) user.getUID())
+ .createTime(now)
+ .updateTime(now)
+ .deleteType(0)
+ .tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
+ .build();
+ getAuthRoleMapper().insertIgnoreNull(po);
+
+ LoggerContext loggerContext = new LoggerContext<>();
+ loggerContext.setUser(user);
+ loggerContext.setTargetId(taxAgentId + "");
+ loggerContext.setTargetName("角色:" + name);
+ loggerContext.setOperateType(OperateTypeEnum.ADD.getValue());
+ loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "新增角色"));
+ loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "新增角色"));
+ loggerContext.setNewValues(po);
+ SalaryElogConfig.taxAgentLoggerTemplate.write(loggerContext);
+
+ } else {
+ po = getAuthRoleMapper().getById(id);
+ if (po == null) {
+ throw new SalaryRunTimeException("角色不存在!");
+ }
+ AuthRolePO newPo = AuthRolePO.builder()
+ .id(id)
+ .name(name)
+ .taxAgentId(po.getTaxAgentId())
+ .updateTime(now)
+ .build();
+ getAuthRoleMapper().updateIgnoreNull(newPo);
+
+ LoggerContext loggerContext = new LoggerContext<>();
+ loggerContext.setUser(user);
+ loggerContext.setTargetId(taxAgentId + "");
+ loggerContext.setTargetName("角色:" + name);
+ loggerContext.setOperateType(OperateTypeEnum.UPDATE.getValue());
+ loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "更新角色"));
+ loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "更新角色"));
+ loggerContext.setOldValues(po);
+ loggerContext.setNewValues(newPo);
+ SalaryElogConfig.taxAgentLoggerTemplate.write(loggerContext);
+ }
+
+ return po.getId();
+ }
+
+ @Override
+ public void deleteRole(Long id) {
+ AuthRolePO po = getAuthRoleMapper().getById(id);
+ if (po == null) {
+ throw new SalaryRunTimeException("角色不存在!");
+ }
+
+ getAuthMemberMapper().deleteByRoleId(id);
+ getAuthRoleMapper().deleteByIds(Collections.singleton(id));
+
+
+ LoggerContext loggerContext = new LoggerContext<>();
+ loggerContext.setUser(user);
+ loggerContext.setTargetId(po.getTaxAgentId() + "");
+ loggerContext.setTargetName("角色:" + po.getName());
+ loggerContext.setOperateType(OperateTypeEnum.DELETE.getValue());
+ loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "删除角色"));
+ loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "删除角色"));
+ loggerContext.setNewValues(po);
+ SalaryElogConfig.taxAgentLoggerTemplate.write(loggerContext);
+ }
+}
diff --git a/src/com/engine/salary/web/AuthController.java b/src/com/engine/salary/web/AuthController.java
new file mode 100644
index 000000000..45549121f
--- /dev/null
+++ b/src/com/engine/salary/web/AuthController.java
@@ -0,0 +1,77 @@
+package com.engine.salary.web;
+
+import com.engine.common.util.ServiceUtil;
+import com.engine.salary.entity.auth.param.AuthMemberSaveParam;
+import com.engine.salary.entity.auth.param.AuthRoleSaveParam;
+import com.engine.salary.util.ResponseResult;
+import com.engine.salary.wrapper.AuthWrapper;
+import io.swagger.v3.oas.annotations.parameters.RequestBody;
+import lombok.extern.slf4j.Slf4j;
+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;
+
+/**
+ * 数据采集-其他免税扣除
+ * Copyright: Copyright (c) 2022
+ * Company: 泛微软件
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
+@Slf4j
+public class AuthController {
+
+ private AuthWrapper getAuthWrapper(User user) {
+ return ServiceUtil.getService(AuthWrapper.class, user);
+ }
+
+ @POST
+ @Path("/role/save")
+ @Produces(MediaType.APPLICATION_JSON)
+ public String saveRole(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody AuthRoleSaveParam param) {
+ User user = HrmUserVarify.getUser(request, response);
+ return new ResponseResult(user).run(getAuthWrapper(user)::saveRole, param);
+ }
+
+ @POST
+ @Path("/role/delete")
+ @Produces(MediaType.APPLICATION_JSON)
+ public String deleteRole(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Long id) {
+ User user = HrmUserVarify.getUser(request, response);
+ return new ResponseResult(user).run(getAuthWrapper(user)::deleteRole, id);
+ }
+
+ @POST
+ @Path("/member/save")
+ @Produces(MediaType.APPLICATION_JSON)
+ public String saveMember(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody AuthMemberSaveParam param) {
+ User user = HrmUserVarify.getUser(request, response);
+ return new ResponseResult(user).run(getAuthWrapper(user)::saveMember, param);
+ }
+
+ @POST
+ @Path("/member/delete")
+ @Produces(MediaType.APPLICATION_JSON)
+ public String deleteMember(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Long id) {
+ User user = HrmUserVarify.getUser(request, response);
+ return new ResponseResult(user).run(getAuthWrapper(user)::deleteMember, id);
+ }
+
+ @POST
+ @Path("/member/sync")
+ @Produces(MediaType.APPLICATION_JSON)
+ public String syncMember(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Long roleId) {
+ User user = HrmUserVarify.getUser(request, response);
+ return new ResponseResult(user).run(getAuthWrapper(user)::syncMember, roleId);
+ }
+
+
+}
diff --git a/src/com/engine/salary/wrapper/AuthWrapper.java b/src/com/engine/salary/wrapper/AuthWrapper.java
new file mode 100644
index 000000000..e9dfb10e3
--- /dev/null
+++ b/src/com/engine/salary/wrapper/AuthWrapper.java
@@ -0,0 +1,48 @@
+package com.engine.salary.wrapper;
+
+import com.engine.common.util.ServiceUtil;
+import com.engine.core.impl.Service;
+import com.engine.salary.entity.auth.param.AuthMemberSaveParam;
+import com.engine.salary.entity.auth.param.AuthRoleSaveParam;
+import com.engine.salary.service.auth.AuthMemberService;
+import com.engine.salary.service.auth.AuthMemberServiceImpl;
+import com.engine.salary.service.auth.AuthRoleService;
+import com.engine.salary.service.auth.AuthRoleServiceImpl;
+import com.engine.salary.util.valid.ValidUtil;
+import lombok.extern.slf4j.Slf4j;
+import weaver.hrm.User;
+
+
+@Slf4j
+public class AuthWrapper extends Service {
+ private AuthRoleService getAuthRoleService(User user) {
+ return ServiceUtil.getService(AuthRoleServiceImpl.class, user);
+ }
+
+ private AuthMemberService getAuthMemberService(User user) {
+ return ServiceUtil.getService(AuthMemberServiceImpl.class, user);
+ }
+
+ public Long saveRole(AuthRoleSaveParam param) {
+ ValidUtil.doValidator(param);
+ return getAuthRoleService(user).saveRole(param);
+ }
+
+
+ public void deleteRole(Long id) {
+ getAuthRoleService(user).deleteRole(id);
+ }
+
+ public Long saveMember(AuthMemberSaveParam param) {
+ ValidUtil.doValidator(param);
+ return getAuthMemberService(user).saveMember(param);
+ }
+
+ public void deleteMember(Long id) {
+ getAuthMemberService(user).deleteMember(id);
+ }
+
+ public void syncMember(Long roleId) {
+ getAuthMemberService(user).syncMember(roleId);
+ }
+}
diff --git a/src/com/engine/salary/wrapper/RoleWrapper.java b/src/com/engine/salary/wrapper/RoleWrapper.java
new file mode 100644
index 000000000..38f06dce0
--- /dev/null
+++ b/src/com/engine/salary/wrapper/RoleWrapper.java
@@ -0,0 +1,24 @@
+package com.engine.salary.wrapper;
+
+import com.engine.common.util.ServiceUtil;
+import com.engine.core.impl.Service;
+import com.engine.salary.service.OtherDeductionService;
+import com.engine.salary.service.impl.OtherDeductionServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import weaver.hrm.User;
+
+/**
+ * 角色
+ * Copyright: Copyright (c) 2024
+ * Company: 泛微软件
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
+@Slf4j
+public class RoleWrapper extends Service {
+ private OtherDeductionService getOtherDeductionService(User user) {
+ return ServiceUtil.getService(OtherDeductionServiceImpl.class, user);
+ }
+
+}
From e30ae5a2a1bddbf43b886b61745f26679b7d27eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com>
Date: Fri, 26 Jul 2024 14:30:14 +0800
Subject: [PATCH 002/118] =?UTF-8?q?=E6=88=90=E5=91=98=E8=A1=A8=E8=BE=BE?=
=?UTF-8?q?=E5=BC=8F=E5=8F=98=E6=9B=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../auth/param/AuthMemberSaveParam.java | 7 +-
.../salary/entity/auth/po/AuthMemberPO.java | 13 ++-
.../salary/entity/auth/po/AuthRoleEmpPO.java | 61 +++++++++++++
.../salary/entity/auth/po/AuthRolePO.java | 17 +++-
.../salary/mapper/auth/AuthMemberMapper.xml | 22 ++---
.../salary/mapper/auth/AuthRoleEmpMapper.java | 85 +++++++++++++++++++
.../service/auth/AuthMemberServiceImpl.java | 29 ++++++-
7 files changed, 209 insertions(+), 25 deletions(-)
create mode 100644 src/com/engine/salary/entity/auth/po/AuthRoleEmpPO.java
create mode 100644 src/com/engine/salary/mapper/auth/AuthRoleEmpMapper.java
diff --git a/src/com/engine/salary/entity/auth/param/AuthMemberSaveParam.java b/src/com/engine/salary/entity/auth/param/AuthMemberSaveParam.java
index 4e8f67351..feb0d2fde 100644
--- a/src/com/engine/salary/entity/auth/param/AuthMemberSaveParam.java
+++ b/src/com/engine/salary/entity/auth/param/AuthMemberSaveParam.java
@@ -16,10 +16,7 @@ public class AuthMemberSaveParam {
private Integer targetType;
- private Long targetId;
+ private String targetId;
- /**
- * 表达式,为sql预留
- */
- private String formula;
+ private String targetName;
}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/auth/po/AuthMemberPO.java b/src/com/engine/salary/entity/auth/po/AuthMemberPO.java
index b7e6ed055..a0c7b4a6d 100644
--- a/src/com/engine/salary/entity/auth/po/AuthMemberPO.java
+++ b/src/com/engine/salary/entity/auth/po/AuthMemberPO.java
@@ -33,31 +33,36 @@ public class AuthMemberPO {
* 对象id
*/
@ElogTransform( name="对象id" )
- private Long targetId;
+ private String targetId;
/**
- * 表达式
+ * 对象
*/
- @ElogTransform( name="表达式" )
- private String formula;
+ @ElogTransform( name="对象显示名" )
+ private String targetName;
/**
* 创建人
*/
+ @ElogTransform( name="创建人" )
private Long creator;
/**
* 创建时间
*/
+ @ElogTransform( name="创建时间" )
private Date createTime;
/**
* 更新时间
*/
+ @ElogTransform( name="更新时间" )
private Date updateTime;
/**
* 是否已删除。0:未删除、1:已删除
*/
+ @ElogTransform( name="是否已删除。0:未删除、1:已删除" )
private Integer deleteType;
/**
* 租户ID
*/
+ @ElogTransform( name="租户ID" )
private String tenantKey;
//主键id集合
diff --git a/src/com/engine/salary/entity/auth/po/AuthRoleEmpPO.java b/src/com/engine/salary/entity/auth/po/AuthRoleEmpPO.java
new file mode 100644
index 000000000..f3963f3f7
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/po/AuthRoleEmpPO.java
@@ -0,0 +1,61 @@
+package com.engine.salary.entity.auth.po;
+
+import com.engine.hrmelog.annotation.ElogTransform;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Collection;
+import java.util.Date;
+
+/**
+ * 角色
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class AuthRoleEmpPO {
+ @ElogTransform(name = "")
+ private Long id;
+ /**
+ * 角色id
+ */
+ @ElogTransform(name = "角色id")
+ private Long roleId;
+ /**
+ * 人员id
+ */
+ @ElogTransform(name = "人员id")
+ private Long employeeId;
+ /**
+ * 创建人
+ */
+ @ElogTransform(name = "创建人")
+ private Long creator;
+ /**
+ * 创建时间
+ */
+ @ElogTransform(name = "创建时间")
+ private Date createTime;
+ /**
+ * 更新时间
+ */
+ @ElogTransform(name = "更新时间")
+ private Date updateTime;
+ /**
+ * 是否已删除。0:未删除、1:已删除
+ */
+ @ElogTransform(name = "是否已删除。0:未删除、1:已删除")
+ private Integer deleteType;
+ /**
+ * 租户ID
+ */
+ @ElogTransform(name = "租户ID")
+ private String tenantKey;
+
+ //主键id集合
+ private Collection ids;
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/auth/po/AuthRolePO.java b/src/com/engine/salary/entity/auth/po/AuthRolePO.java
index 9ca15d1e5..e2c5cd39d 100644
--- a/src/com/engine/salary/entity/auth/po/AuthRolePO.java
+++ b/src/com/engine/salary/entity/auth/po/AuthRolePO.java
@@ -16,38 +16,49 @@ import java.util.Date;
@Builder
@NoArgsConstructor
@AllArgsConstructor
-@ElogTransform( name="角色" )
+@ElogTransform(name = "角色")
public class AuthRolePO {
private Long id;
/**
* 名称
*/
- @ElogTransform( name="名称" )
+ @ElogTransform(name = "名称")
private String name;
+
/**
* 个税扣缴义务人id
*/
- @ElogTransform( name="个税扣缴义务人id" )
+ @ElogTransform(name = "个税扣缴义务人id")
private Long taxAgentId;
+
/**
* 创建人
*/
+ @ElogTransform(name = "创建人")
private Long creator;
+
/**
* 创建时间
*/
+ @ElogTransform(name = "创建时间")
private Date createTime;
+
/**
* 更新时间
*/
+ @ElogTransform(name = "更新时间")
private Date updateTime;
+
/**
* 是否已删除。0:未删除、1:已删除
*/
+ @ElogTransform(name = "是否已删除。0:未删除、1:已删除")
private Integer deleteType;
+
/**
* 租户ID
*/
+ @ElogTransform(name = "租户ID")
private String tenantKey;
//主键id集合
diff --git a/src/com/engine/salary/mapper/auth/AuthMemberMapper.xml b/src/com/engine/salary/mapper/auth/AuthMemberMapper.xml
index 24adb81ac..c9ea254ce 100644
--- a/src/com/engine/salary/mapper/auth/AuthMemberMapper.xml
+++ b/src/com/engine/salary/mapper/auth/AuthMemberMapper.xml
@@ -6,7 +6,7 @@
-
+
@@ -20,7 +20,7 @@
, t.role_id
, t.target_type
, t.target_id
- , t.formula
+ , t.target_name
, t.creator
, t.create_time
, t.update_time
@@ -62,8 +62,8 @@
AND target_id = #{targetId}
-
- AND formula = #{formula}
+
+ AND target_name = #{targetName}
AND creator = #{creator}
@@ -107,8 +107,8 @@
target_id,
-
- formula,
+
+ target_name,
creator,
@@ -139,8 +139,8 @@
#{targetId},
-
- #{formula},
+
+ #{targetName},
#{creator},
@@ -167,7 +167,7 @@
role_id=#{roleId},
target_type=#{targetType},
target_id=#{targetId},
- formula=#{formula},
+ target_name=#{targetName},
creator=#{creator},
create_time=#{createTime},
update_time=#{updateTime},
@@ -191,8 +191,8 @@
target_id=#{targetId},
-
- formula=#{formula},
+
+ target_name=#{targetName},
creator=#{creator},
diff --git a/src/com/engine/salary/mapper/auth/AuthRoleEmpMapper.java b/src/com/engine/salary/mapper/auth/AuthRoleEmpMapper.java
new file mode 100644
index 000000000..2bdb76754
--- /dev/null
+++ b/src/com/engine/salary/mapper/auth/AuthRoleEmpMapper.java
@@ -0,0 +1,85 @@
+package com.engine.salary.mapper.auth;
+
+import com.engine.salary.entity.auth.po.AuthRoleEmpPO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Collection;
+import java.util.List;
+
+public interface AuthRoleEmpMapper {
+
+ /**
+ * 查询所有记录
+ *
+ * @return 返回集合,没有返回空List
+ */
+ List listAll();
+
+ /**
+ * 条件查询
+ *
+ * @return 返回集合,没有返回空List
+ */
+ List listSome(AuthRoleEmpPO authRoleEmp);
+
+
+ /**
+ * 根据主键查询
+ *
+ * @param id 主键
+ * @return 返回记录,没有返回null
+ */
+ AuthRoleEmpPO getById(Long id);
+
+ /**
+ * 新增,忽略null字段
+ *
+ * @param authRoleEmp 新增的记录
+ * @return 返回影响行数
+ */
+ int insertIgnoreNull(AuthRoleEmpPO authRoleEmp);
+
+ /**
+ * 批量插入
+ *
+ * @param authRoleEmp
+ */
+ void batchInsert(@Param("collection") List authRoleEmp);
+
+ /**
+ * 修改,修改所有字段
+ *
+ * @param authRoleEmp 修改的记录
+ * @return 返回影响行数
+ */
+ int update(AuthRoleEmpPO authRoleEmp);
+
+ /**
+ * 修改,忽略null字段
+ *
+ * @param authRoleEmp 修改的记录
+ * @return 返回影响行数
+ */
+ int updateIgnoreNull(AuthRoleEmpPO authRoleEmp);
+
+ /**
+ * 删除记录
+ *
+ * @param authRoleEmp 待删除的记录
+ * @return 返回影响行数
+ */
+ int delete(AuthRoleEmpPO authRoleEmp);
+
+ /**
+ * 批量删除记录
+ * @param ids 主键id集合
+ */
+ void deleteByIds(@Param("ids") Collection ids);
+
+ /**
+ * 根据角色id删除
+ * @param roleId roleId
+ */
+ void deleteByRoleId(Long roleId);
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/service/auth/AuthMemberServiceImpl.java b/src/com/engine/salary/service/auth/AuthMemberServiceImpl.java
index 5c68944ff..8a15ea290 100644
--- a/src/com/engine/salary/service/auth/AuthMemberServiceImpl.java
+++ b/src/com/engine/salary/service/auth/AuthMemberServiceImpl.java
@@ -12,6 +12,7 @@ import com.engine.salary.entity.taxagent.po.TaxAgentPO;
import com.engine.salary.enums.OperateTypeEnum;
import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.mapper.auth.AuthMemberMapper;
+import com.engine.salary.mapper.auth.AuthRoleEmpMapper;
import com.engine.salary.mapper.auth.AuthRoleMapper;
import com.engine.salary.service.TaxAgentService;
import com.engine.salary.service.impl.TaxAgentServiceImpl;
@@ -22,6 +23,7 @@ import weaver.hrm.User;
import java.util.Collections;
import java.util.Date;
+import java.util.List;
public class AuthMemberServiceImpl extends Service implements AuthMemberService {
@@ -34,6 +36,10 @@ public class AuthMemberServiceImpl extends Service implements AuthMemberService
return MapperProxyFactory.getProxy(AuthRoleMapper.class);
}
+ private AuthRoleEmpMapper getAuthRoleEmpMapper() {
+ return MapperProxyFactory.getProxy(AuthRoleEmpMapper.class);
+ }
+
private TaxAgentService getTaxAgentService(User user) {
return ServiceUtil.getService(TaxAgentServiceImpl.class, user);
@@ -48,13 +54,12 @@ public class AuthMemberServiceImpl extends Service implements AuthMemberService
throw new SalaryRunTimeException("角色不存在!");
}
-
Date now = new Date();
AuthMemberPO po = AuthMemberPO.builder()
.id(IdGenerator.generate())
.targetId(param.getTargetId())
.targetType(param.getTargetType())
- .formula(param.getFormula())
+ .targetName(param.getTargetName())
.creator((long) user.getUID())
.createTime(now)
.updateTime(now)
@@ -100,6 +105,26 @@ public class AuthMemberServiceImpl extends Service implements AuthMemberService
@Override
public void syncMember(Long roleId) {
+ AuthRolePO rolePO = getAuthRoleMapper().getById(roleId);
+ if (rolePO == null) {
+ throw new SalaryRunTimeException("角色不存在!");
+ }
+
+ //1、获取成员
+ List members = getAuthMemberMapper().listSome(AuthMemberPO.builder().roleId(roleId).build());
+ for (AuthMemberPO member : members) {
+ member.getTargetId();
+
+
+ }
+
+
+ //2、获取人员
+
+ //3、更新成员关系
+
+ getAuthRoleEmpMapper().deleteByRoleId(roleId);
+
}
}
From 0b091eee12e72b405eb85fdfa134842546db2745 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com>
Date: Fri, 26 Jul 2024 14:32:35 +0800
Subject: [PATCH 003/118] =?UTF-8?q?=E6=88=90=E5=91=98=E8=A1=A8=E8=BE=BE?=
=?UTF-8?q?=E5=BC=8F=E5=8F=98=E6=9B=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../auth/param/AuthMemberSaveParam.java | 2 +-
.../salary/entity/auth/po/AuthMemberPO.java | 6 ++---
.../salary/mapper/auth/AuthMemberMapper.xml | 22 +++++++++----------
.../service/auth/AuthMemberServiceImpl.java | 6 +++--
4 files changed, 19 insertions(+), 17 deletions(-)
diff --git a/src/com/engine/salary/entity/auth/param/AuthMemberSaveParam.java b/src/com/engine/salary/entity/auth/param/AuthMemberSaveParam.java
index feb0d2fde..f6ef3815f 100644
--- a/src/com/engine/salary/entity/auth/param/AuthMemberSaveParam.java
+++ b/src/com/engine/salary/entity/auth/param/AuthMemberSaveParam.java
@@ -16,7 +16,7 @@ public class AuthMemberSaveParam {
private Integer targetType;
- private String targetId;
+ private String target;
private String targetName;
}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/auth/po/AuthMemberPO.java b/src/com/engine/salary/entity/auth/po/AuthMemberPO.java
index a0c7b4a6d..218c1b3ae 100644
--- a/src/com/engine/salary/entity/auth/po/AuthMemberPO.java
+++ b/src/com/engine/salary/entity/auth/po/AuthMemberPO.java
@@ -30,10 +30,10 @@ public class AuthMemberPO {
@ElogTransform( name="对象类型" )
private Integer targetType;
/**
- * 对象id
+ * 对象
*/
- @ElogTransform( name="对象id" )
- private String targetId;
+ @ElogTransform( name="对象" )
+ private String target;
/**
* 对象
*/
diff --git a/src/com/engine/salary/mapper/auth/AuthMemberMapper.xml b/src/com/engine/salary/mapper/auth/AuthMemberMapper.xml
index c9ea254ce..8bde81000 100644
--- a/src/com/engine/salary/mapper/auth/AuthMemberMapper.xml
+++ b/src/com/engine/salary/mapper/auth/AuthMemberMapper.xml
@@ -5,7 +5,7 @@
-
+
@@ -19,7 +19,7 @@
t.id
, t.role_id
, t.target_type
- , t.target_id
+ , t.target
, t.target_name
, t.creator
, t.create_time
@@ -59,8 +59,8 @@
AND target_type = #{targetType}
-
- AND target_id = #{targetId}
+
+ AND target = #{target}
AND target_name = #{targetName}
@@ -104,8 +104,8 @@
target_type,
-
- target_id,
+
+ target,
target_name,
@@ -136,8 +136,8 @@
#{targetType},
-
- #{targetId},
+
+ #{target},
#{targetName},
@@ -166,7 +166,7 @@
role_id=#{roleId},
target_type=#{targetType},
- target_id=#{targetId},
+ target=#{target},
target_name=#{targetName},
creator=#{creator},
create_time=#{createTime},
@@ -188,8 +188,8 @@
target_type=#{targetType},
-
- target_id=#{targetId},
+
+ target=#{target},
target_name=#{targetName},
diff --git a/src/com/engine/salary/service/auth/AuthMemberServiceImpl.java b/src/com/engine/salary/service/auth/AuthMemberServiceImpl.java
index 8a15ea290..37b3bf70b 100644
--- a/src/com/engine/salary/service/auth/AuthMemberServiceImpl.java
+++ b/src/com/engine/salary/service/auth/AuthMemberServiceImpl.java
@@ -57,7 +57,7 @@ public class AuthMemberServiceImpl extends Service implements AuthMemberService
Date now = new Date();
AuthMemberPO po = AuthMemberPO.builder()
.id(IdGenerator.generate())
- .targetId(param.getTargetId())
+ .target(param.getTarget())
.targetType(param.getTargetType())
.targetName(param.getTargetName())
.creator((long) user.getUID())
@@ -113,7 +113,9 @@ public class AuthMemberServiceImpl extends Service implements AuthMemberService
//1、获取成员
List members = getAuthMemberMapper().listSome(AuthMemberPO.builder().roleId(roleId).build());
for (AuthMemberPO member : members) {
- member.getTargetId();
+
+
+ String targetId = member.getTarget();
}
From 76543c6021acbebd78322ea7acc7801062f6ec63 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com>
Date: Fri, 26 Jul 2024 16:35:51 +0800
Subject: [PATCH 004/118] =?UTF-8?q?=E6=88=90=E5=91=98=E5=90=8C=E6=AD=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../salary/enums/auth/TargetTypeEnum.java | 79 +++++
.../salary/mapper/auth/AuthRoleEmpMapper.xml | 301 ++++++++++++++++++
.../mapper/datacollection/EmployMapper.java | 6 +
.../mapper/datacollection/EmployMapper.xml | 73 +++--
.../salary/service/SalaryEmployeeService.java | 9 +
.../service/auth/AuthMemberServiceImpl.java | 41 ++-
.../impl/SalaryEmployeeServiceImpl.java | 12 +
7 files changed, 488 insertions(+), 33 deletions(-)
create mode 100644 src/com/engine/salary/enums/auth/TargetTypeEnum.java
create mode 100644 src/com/engine/salary/mapper/auth/AuthRoleEmpMapper.xml
diff --git a/src/com/engine/salary/enums/auth/TargetTypeEnum.java b/src/com/engine/salary/enums/auth/TargetTypeEnum.java
new file mode 100644
index 000000000..591c6b5f8
--- /dev/null
+++ b/src/com/engine/salary/enums/auth/TargetTypeEnum.java
@@ -0,0 +1,79 @@
+package com.engine.salary.enums.auth;
+
+import com.engine.salary.enums.BaseEnum;
+import com.engine.salary.exception.SalaryRunTimeException;
+import com.engine.salary.service.impl.SalaryEmployeeServiceImpl;
+
+import java.util.List;
+import java.util.Objects;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+/**
+ * 对象类型,1:人员、2:部门、3:岗位、4:分部、5:角色、6:sql
+ * Copyright: Copyright (c) 2024
+ * Company: 泛微软件
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
+public enum TargetTypeEnum implements BaseEnum {
+
+
+ emp(1, "人员", 87627) {
+ @Override
+ public List getEmpIds(Set targets) {
+ return targets.stream().map(Long::valueOf).collect(Collectors.toList());
+ }
+ },
+ department(2, "部门", 87626) {
+ @Override
+ public List getEmpIds(Set targets) {
+ List deptIds = targets.stream().map(Long::valueOf).collect(Collectors.toList());
+ SalaryEmployeeServiceImpl salaryEmployeeService = new SalaryEmployeeServiceImpl();
+ return salaryEmployeeService.listByDepartment(deptIds);
+ }
+ };
+// post(3, "岗位", 87626),
+// branch(4, "分部", 87626),
+// role(5, "角色", 87626),
+// sql(6, "sql", 87626);
+
+
+ private Integer value;
+ private String defaultLabel;
+ private int labelId;
+
+ TargetTypeEnum(Integer value, String defaultLabel, int labelId) {
+ this.value = value;
+ this.defaultLabel = defaultLabel;
+ this.labelId = labelId;
+ }
+
+ public abstract List getEmpIds(Set targets);
+
+
+ @Override
+ public Integer getValue() {
+ return value;
+ }
+
+ @Override
+ public String getDefaultLabel() {
+ return defaultLabel;
+ }
+
+ @Override
+ public Integer getLabelId() {
+ return labelId;
+ }
+
+ public static TargetTypeEnum parseByValue(int value) {
+ for (TargetTypeEnum typeEnum : TargetTypeEnum.values()) {
+ if (Objects.equals(typeEnum.getValue(), value)) {
+ return typeEnum;
+ }
+ }
+ throw new SalaryRunTimeException("未找到对应的枚举");
+ }
+}
diff --git a/src/com/engine/salary/mapper/auth/AuthRoleEmpMapper.xml b/src/com/engine/salary/mapper/auth/AuthRoleEmpMapper.xml
new file mode 100644
index 000000000..ad9393cdc
--- /dev/null
+++ b/src/com/engine/salary/mapper/auth/AuthRoleEmpMapper.xml
@@ -0,0 +1,301 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ t
+ .
+ id
+ , t.role_id
+ , t.employee_id
+ , t.creator
+ , t.create_time
+ , t.update_time
+ , t.delete_type
+ , t.tenant_key
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ INSERT INTO hrsa_auth_role_emp
+
+
+
+ id,
+
+
+ role_id,
+
+
+ employee_id,
+
+
+ creator,
+
+
+ create_time,
+
+
+ update_time,
+
+
+ delete_type,
+
+
+ tenant_key,
+
+
+
+
+ #{id},
+
+
+ #{roleId},
+
+
+ #{employeeId},
+
+
+ #{creator},
+
+
+ #{createTime},
+
+
+ #{updateTime},
+
+
+ #{deleteType},
+
+
+ #{tenantKey},
+
+
+
+
+
+
+
+ INSERT INTO hrsa_auth_role_emp
+ (
+ id,
+ role_id,
+ employee_id,
+ creator,
+ create_time,
+ update_time,
+ delete_type,
+ tenant_key
+ )
+ VALUES
+
+
+ (
+ #{item.id},
+ #{item.roleId},
+ #{item.employeeId},
+ #{item.creator},
+ #{item.createTime},
+ #{item.updateTime},
+ #{item.deleteType},
+ #{item.tenantKey}
+ )
+
+
+
+
+
+
+ INSERT INTO hrsa_auth_role_emp (
+ id,
+ role_id,
+ employee_id,
+ creator,
+ create_time,
+ update_time,
+ delete_type,
+ tenant_key
+ )
+
+
+ select
+ #{item.id,jdbcType=DOUBLE},
+ #{item.roleId,jdbcType=DOUBLE},
+ #{item.employeeId,jdbcType=DOUBLE},
+ #{item.creator,jdbcType=DOUBLE},
+ #{item.createTime,jdbcType=DATE},
+ #{item.updateTime,jdbcType=DATE},
+ #{item.deleteType,jdbcType=INTEGER},
+ #{item.tenantKey,jdbcType=VARCHAR}
+ from dual
+
+
+
+
+
+
+ INSERT INTO hrsa_auth_role_emp (
+ id,
+ role_id,
+ employee_id,
+ creator,
+ create_time,
+ update_time,
+ delete_type,
+ tenant_key
+ )
+ VALUES
+ (
+ #{item.id},
+ #{item.roleId},
+ #{item.employeeId},
+ #{item.creator},
+ #{item.createTime},
+ #{item.updateTime},
+ #{item.deleteType},
+ #{item.tenantKey}
+ )
+
+
+
+
+
+ UPDATE hrsa_auth_role_emp
+
+ role_id=#{roleId},
+ employee_id=#{employeeId},
+ creator=#{creator},
+ create_time=#{createTime},
+ update_time=#{updateTime},
+ delete_type=#{deleteType},
+ tenant_key=#{tenantKey},
+
+ WHERE id = #{id} AND delete_type = 0
+
+
+
+
+
+ UPDATE hrsa_auth_role_emp
+
+
+ role_id=#{roleId},
+
+
+ employee_id=#{employeeId},
+
+
+ creator=#{creator},
+
+
+ create_time=#{createTime},
+
+
+ update_time=#{updateTime},
+
+
+ delete_type=#{deleteType},
+
+
+ tenant_key=#{tenantKey},
+
+
+ WHERE id = #{id} AND delete_type = 0
+
+
+
+
+
+ UPDATE hrsa_auth_role_emp
+ SET delete_type=1
+ WHERE id = #{id}
+ AND delete_type = 0
+
+
+
+
+ UPDATE hrsa_auth_role_emp
+ SET delete_type = 1
+ WHERE delete_type = 0
+ AND id IN
+
+ #{id}
+
+
+
+
+
+ UPDATE hrsa_auth_role_emp
+ SET delete_type=1
+ WHERE role_id = #{roleId} AND delete_type = 0
+
+
+
+
\ No newline at end of file
diff --git a/src/com/engine/salary/mapper/datacollection/EmployMapper.java b/src/com/engine/salary/mapper/datacollection/EmployMapper.java
index 238e8d74f..38a436c6b 100644
--- a/src/com/engine/salary/mapper/datacollection/EmployMapper.java
+++ b/src/com/engine/salary/mapper/datacollection/EmployMapper.java
@@ -158,4 +158,10 @@ public interface EmployMapper {
* @return
*/
List listBySubCompanyOrDepartment(@Param("subCompanyIds") List subCompanyIds, @Param("departmentIds") List departmentIds);
+
+ List listBySubCompany(@Param("subCompanyIds") List subCompanyIds);
+
+ List listByDepartment(@Param("departmentIds") List departmentIds);
+
+ List listByJob(@Param("jobIds") List jobIds);
}
\ No newline at end of file
diff --git a/src/com/engine/salary/mapper/datacollection/EmployMapper.xml b/src/com/engine/salary/mapper/datacollection/EmployMapper.xml
index ad6b6b38c..6ce1d0635 100644
--- a/src/com/engine/salary/mapper/datacollection/EmployMapper.xml
+++ b/src/com/engine/salary/mapper/datacollection/EmployMapper.xml
@@ -10,7 +10,7 @@
e.mobile,
e.workcode,
e.certificatenum as idNo,
- 'false' as extEmp
+ 'false' as extEmp
from hrmresource e
left join hrmdepartment d on e.departmentid = d.id
where e.status not in (7)
@@ -36,7 +36,8 @@
-
@@ -492,7 +493,8 @@
-
+
select e.id as employeeId,
e.username as username
from hrsa_external_employee e
@@ -564,9 +566,9 @@
- select e.RESOURCEID as employeeId,
- e.SUBCOMPANYID as subcompanyid,
- e.DEPARTMENTID as departmentId
+ select e.RESOURCEID as employeeId,
+ e.SUBCOMPANYID as subcompanyid,
+ e.DEPARTMENTID as departmentId
from hrmresourcevirtual e
left join hrmresource h on e.RESOURCEID=h.id
where h.status not in (7)
@@ -581,9 +583,9 @@
select
- e.RESOURCEID as employeeId,
- e.SUBCOMPANYID as subcompanyid,
- e.DEPARTMENTID as departmentId
+ e.RESOURCEID as employeeId,
+ e.SUBCOMPANYID as subcompanyid,
+ e.DEPARTMENTID as departmentId
from hrmresourcevirtual e
left join hrmresource h on e.RESOURCEID=h.id
where h.status not in (7)
@@ -594,4 +596,37 @@
+
+
+ select
+ e.id
+ from hrmresource e
+ where e.status not in (7)
+ AND e.subcompanyid1 IN
+
+ #{subCompanyId}
+
+
+
+
+ select
+ e.id
+ from hrmresource e
+ where e.status not in (7)
+ AND e.departmentid IN
+
+ #{departmentId}
+
+
+
+
+ select
+ e.id
+ from hrmresource e
+ where e.status not in (7)
+ AND e.jobtitle IN
+
+ #{jobId}
+
+
\ No newline at end of file
diff --git a/src/com/engine/salary/service/SalaryEmployeeService.java b/src/com/engine/salary/service/SalaryEmployeeService.java
index cd6be6db8..1def2435e 100644
--- a/src/com/engine/salary/service/SalaryEmployeeService.java
+++ b/src/com/engine/salary/service/SalaryEmployeeService.java
@@ -150,21 +150,30 @@ public interface SalaryEmployeeService {
/**
* 根据虚拟部门获取人员信息
+ *
* @param virtualDepartmentIds
*/
List getVirtualEmpByVirtualDepIds(List virtualDepartmentIds);
/**
* 根据虚拟分部获取人员信息
+ *
* @param virtualSubCompanyIds
*/
List getVirtualEmpByVirtualSubCompanyIds(List virtualSubCompanyIds);
/**
* 根据部门或者分部查询人员
+ *
* @param subCompanyIds
* @param departmentIds
* @return
*/
List listBySubCompanyOrDepartment(List subCompanyIds, List departmentIds);
+
+ List listBySubCompany(List subCompanyIds);
+
+ List listByDepartment(List departmentIds);
+
+ List listByJob(List jobIds);
}
diff --git a/src/com/engine/salary/service/auth/AuthMemberServiceImpl.java b/src/com/engine/salary/service/auth/AuthMemberServiceImpl.java
index 37b3bf70b..2e57421e6 100644
--- a/src/com/engine/salary/service/auth/AuthMemberServiceImpl.java
+++ b/src/com/engine/salary/service/auth/AuthMemberServiceImpl.java
@@ -7,23 +7,25 @@ import com.engine.salary.config.SalaryElogConfig;
import com.engine.salary.constant.SalaryDefaultTenantConstant;
import com.engine.salary.entity.auth.param.AuthMemberSaveParam;
import com.engine.salary.entity.auth.po.AuthMemberPO;
+import com.engine.salary.entity.auth.po.AuthRoleEmpPO;
import com.engine.salary.entity.auth.po.AuthRolePO;
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
import com.engine.salary.enums.OperateTypeEnum;
+import com.engine.salary.enums.auth.TargetTypeEnum;
import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.mapper.auth.AuthMemberMapper;
import com.engine.salary.mapper.auth.AuthRoleEmpMapper;
import com.engine.salary.mapper.auth.AuthRoleMapper;
import com.engine.salary.service.TaxAgentService;
import com.engine.salary.service.impl.TaxAgentServiceImpl;
+import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.SalaryI18nUtil;
import com.engine.salary.util.db.IdGenerator;
import com.engine.salary.util.db.MapperProxyFactory;
import weaver.hrm.User;
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
public class AuthMemberServiceImpl extends Service implements AuthMemberService {
@@ -57,6 +59,7 @@ public class AuthMemberServiceImpl extends Service implements AuthMemberService
Date now = new Date();
AuthMemberPO po = AuthMemberPO.builder()
.id(IdGenerator.generate())
+ .roleId(param.getRoleId())
.target(param.getTarget())
.targetType(param.getTargetType())
.targetName(param.getTargetName())
@@ -112,21 +115,31 @@ public class AuthMemberServiceImpl extends Service implements AuthMemberService
//1、获取成员
List members = getAuthMemberMapper().listSome(AuthMemberPO.builder().roleId(roleId).build());
- for (AuthMemberPO member : members) {
-
-
- String targetId = member.getTarget();
-
-
- }
-
+ Map> targetTypeMap = SalaryEntityUtil.group2Map(members, AuthMemberPO::getTargetType, AuthMemberPO::getTarget);
//2、获取人员
+ Set empIds = new HashSet<>();
+ for (Integer targetType : targetTypeMap.keySet()) {
+ Set targetIds = targetTypeMap.get(targetType);
+ List ids = TargetTypeEnum.parseByValue(targetType).getEmpIds(targetIds);
+ empIds.addAll(ids);
+ }
//3、更新成员关系
-
getAuthRoleEmpMapper().deleteByRoleId(roleId);
-
-
+ Date now = new Date();
+ List roleEmpPOS = empIds.stream()
+ .map(empId -> AuthRoleEmpPO.builder()
+ .id(IdGenerator.generate())
+ .employeeId(empId)
+ .roleId(roleId)
+ .creator((long) user.getUID())
+ .createTime(now)
+ .updateTime(now)
+ .deleteType(0)
+ .tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
+ .build())
+ .collect(Collectors.toList());
+ getAuthRoleEmpMapper().batchInsert(roleEmpPOS);
}
}
diff --git a/src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java b/src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java
index 5b3d21231..df10f3269 100644
--- a/src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java
@@ -514,4 +514,16 @@ public class SalaryEmployeeServiceImpl extends Service implements SalaryEmployee
}
return SalaryI18nUtil.i18nList(employeeList);
}
+ @Override
+ public List listBySubCompany(List subCompanyIds) {
+ return getEmployMapper().listBySubCompany(subCompanyIds);
+ }
+ @Override
+ public List listByDepartment(List departmentIds) {
+ return getEmployMapper().listByDepartment(departmentIds);
+ }
+ @Override
+ public List listByJob(List jobIds) {
+ return getEmployMapper().listByJob(jobIds);
+ }
}
From a976dbc9c5c92d77cbb827b1ee7f7bc4c8e8bae0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com>
Date: Mon, 29 Jul 2024 09:46:01 +0800
Subject: [PATCH 005/118] =?UTF-8?q?=E6=88=90=E5=91=98=E5=90=8C=E6=AD=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
resource/wiki/常用查询.md | 14 ++++-
.../salary/enums/auth/TargetTypeEnum.java | 54 ++++++++++++++++---
.../service/auth/AuthMemberServiceImpl.java | 7 ++-
3 files changed, 67 insertions(+), 8 deletions(-)
diff --git a/resource/wiki/常用查询.md b/resource/wiki/常用查询.md
index 13ba2242f..b294488fd 100644
--- a/resource/wiki/常用查询.md
+++ b/resource/wiki/常用查询.md
@@ -18,4 +18,16 @@ left join hrmresource e on e.id= result.employee_id
left join hrsa_tax_agent t on a.tax_agent_id=t.id
where a.delete_type=0 and i.delete_type=0 and t.delete_type=0 and c.delete_type=0
and a.employee_id=人员id and t.name=扣缴义务人名称
- c.name='基本工资' order by effective_time desc
\ No newline at end of file
+ c.name='基本工资' order by effective_time desc
+
+
+# 删除系统项目
+UPDATE set hrsa_sys_salary_item where delete_type =3 where delete_type =0;
+
+update hrsa_salary_sob_default_item set delete_type =3 where delete_type =0;
+
+
+update hrsa_salary_sob_item set delete_type= 3 where delete_type =0 and salary_item_id in (select id from hrsa_salary_item where delete_type=0 and system_type=1 and use_in_employee_salary =0 and code not in('ressueTotal','issuedTotal')
+);
+
+UPDATE hrsa_salary_item set delete_type = 3 where delete_type=0 and system_type=1 and use_in_employee_salary =0 and code not in('ressueTotal','issuedTotal');
\ No newline at end of file
diff --git a/src/com/engine/salary/enums/auth/TargetTypeEnum.java b/src/com/engine/salary/enums/auth/TargetTypeEnum.java
index 591c6b5f8..63c36dc09 100644
--- a/src/com/engine/salary/enums/auth/TargetTypeEnum.java
+++ b/src/com/engine/salary/enums/auth/TargetTypeEnum.java
@@ -1,9 +1,13 @@
package com.engine.salary.enums.auth;
+import com.engine.common.service.HrmCommonService;
+import com.engine.common.service.impl.HrmCommonServiceImpl;
import com.engine.salary.enums.BaseEnum;
import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.service.impl.SalaryEmployeeServiceImpl;
+import weaver.conn.RecordSet;
+import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.Set;
@@ -20,24 +24,62 @@ import java.util.stream.Collectors;
public enum TargetTypeEnum implements BaseEnum {
- emp(1, "人员", 87627) {
+ EMP(1, "人员", 87627) {
@Override
public List getEmpIds(Set targets) {
return targets.stream().map(Long::valueOf).collect(Collectors.toList());
}
},
- department(2, "部门", 87626) {
+ DEPARTMENT(2, "部门", 87626) {
@Override
public List getEmpIds(Set targets) {
List deptIds = targets.stream().map(Long::valueOf).collect(Collectors.toList());
SalaryEmployeeServiceImpl salaryEmployeeService = new SalaryEmployeeServiceImpl();
return salaryEmployeeService.listByDepartment(deptIds);
}
+ },
+ JOB(3, "岗位", 87626) {
+ @Override
+ public List getEmpIds(Set targets) {
+ List ids = targets.stream().map(Long::valueOf).collect(Collectors.toList());
+ SalaryEmployeeServiceImpl salaryEmployeeService = new SalaryEmployeeServiceImpl();
+ return salaryEmployeeService.listByJob(ids);
+ }
+ },
+ SUBCOMPANY(4, "分部", 87626) {
+ @Override
+ public List getEmpIds(Set targets) {
+ List ids = targets.stream().map(Long::valueOf).collect(Collectors.toList());
+ SalaryEmployeeServiceImpl salaryEmployeeService = new SalaryEmployeeServiceImpl();
+ return salaryEmployeeService.listBySubCompany(ids);
+ }
+ },
+ ROLE(5, "角色", 87626) {
+ @Override
+ public List getEmpIds(Set targets) {
+ HrmCommonService hrmCommonService = new HrmCommonServiceImpl();
+ List