银盛科技 考勤引用薪酬二开

This commit is contained in:
Harryxzy 2025-03-21 13:28:01 +08:00
parent 04bb4433ff
commit 8bea1405dc
5 changed files with 49 additions and 1 deletions

View File

@ -0,0 +1,57 @@
银盛科技薪酬二开使用配置
薪酬考勤字段与建模映射配置
增加映射配置建模表,用于配置考勤简化表中哪些字段需作为薪酬考勤引用的字段,并配置映射关系。配置完后点击薪酬-数据采集-考勤引用-字段管理 即可将配置的字段同步至薪酬
建模表结构如下:
表名uf_kqyyzdyspz (考勤引用字段映射配置)
字段显示名
数据库字段名称
字段类型
含义
考勤引用字段名称
kqyyzdmc
文本
此处配置的名称会作为考勤引用的字段名称
建模字段数据库名
jmzdsjkm
文本
考勤简化表的字段数据库名
排序
px
整数
引用
配置完1的映射关系后点击引用-表头设置,勾选需要同步的建模字段点击引用即可。
考勤引用 权限配置
考勤引用界面 分为2种情况
1不开启分权
所有人拥有所有权限,但是建模中配置的人员,只有导出、查看权限没有操作权限。
开启分权
个税扣缴义务人管理员拥有对应义务人下的所有权限。
配置到建模中的人,拥有对应义务人下的查看、导出权限没有操作权限。
其余人员没有任何操作、查看权限。
考勤引用权限配置建模表如下:
表名uf_xckqyyqx (薪酬考勤引用权限)
字段显示名
数据库字段名称
字段类型
人员
ry
人员选择框
个税扣缴义务人
gskjywr
自定义多选
义务人选择浏览框
调薪前薪资合计值、调薪后薪资合计值
需先新建2个薪资项目获取这2个薪资项目的id配置到配置文件中。还需配置这个合计值包含哪些字段的id,多个id之间使用英文逗号间隔。
薪资项目id查询方法select id from hrsa_salary_item where delete_type=0 and name='薪资项目名称'
配置文件地址:\ecology\WEB-INF\prop\yskjSalary.properties
* 仅支持当月发生1次调薪若当月发生多次调薪调薪前合计值取的是当月第一次调薪前的值调薪后合计值取的是当月最后一次调薪后的值。

View File

@ -19,6 +19,8 @@ public interface AttendQuoteService {
*/
PageInfo<AttendQuoteListDTO> listPage(AttendQuoteQueryParam queryParam);
List<Long> getKqyyAuthByEmp(Long currentEmployeeId);
/**
* 删除数据采集-考勤引用

View File

@ -109,7 +109,7 @@ public class AttendQuoteServiceImpl extends Service implements AttendQuoteServic
list, AttendQuoteListDTO.class);
}
private List<Long> getKqyyAuthByEmp(Long currentEmployeeId) {
public List<Long> getKqyyAuthByEmp(Long currentEmployeeId) {
RecordSet rs = new RecordSet();
String sql = "select gskjywr from uf_xckqyyqx where ry = ?";
rs.executeQuery(sql, new Object[]{currentEmployeeId});

View File

@ -72,6 +72,21 @@ public class TaxAgentController {
return new ResponseResult<Long, Map<String, Boolean>>(user).run(getTaxAgentWrapper(user)::permission, (long) user.getUID());
}
/**
* 银盛 考勤引用权限
*
* @param request
* @param response
* @return
*/
@GET
@Path("/ysKqyyPermission")
@Produces(MediaType.APPLICATION_JSON)
public String ysKqyyPermission(@Context HttpServletRequest request, @Context HttpServletResponse response) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<Long, Map<String, Boolean>>(user).run(getTaxAgentWrapper(user)::ysKqyyPermission, (long) user.getUID());
}
/* ****** 基础信息 start ***********************************************************************************************/
/**

View File

@ -67,6 +67,9 @@ public class TaxAgentWrapper extends Service {
return ServiceUtil.getService(TaxAgentExcelServiceImpl.class, user);
}
private AttendQuoteService getAttendQuoteService(User user) {
return ServiceUtil.getService(AttendQuoteServiceImpl.class, user);
}
// private PaymentAgencyService paymentAgencyService;
//
@ -517,4 +520,32 @@ public class TaxAgentWrapper extends Service {
}
public Map<String, Boolean> ysKqyyPermission(Long currentEmployeeId) {
Map<String, Boolean> resultMap = Maps.newHashMap();
resultMap.put("canOperate", false);
resultMap.put("canExport", false);
// 是否开启分权
Boolean isOpenDevolution = getTaxAgentService(user).isOpenDevolution();
List<Long> kqyyAuthByEmp = getAttendQuoteService(user).getKqyyAuthByEmp(currentEmployeeId);
if (isOpenDevolution) {
// 如果开启分权只有义务人管理员能够操作建模中的人员可以导出其余人不能操作不能导出
Boolean isAdminEnable = getTaxAgentService(user).isAdminEnable(currentEmployeeId);
if (isAdminEnable) {
resultMap.put("canOperate", true);
resultMap.put("canExport", true);
} else {
if (CollectionUtils.isNotEmpty(kqyyAuthByEmp)) {
resultMap.put("canExport", true);
}
}
} else {
// 如果没有开分权建模中的人只能导出不能操作其余人可以操作可以导出
resultMap.put("canOperate", true);
resultMap.put("canExport", true);
if (CollectionUtils.isNotEmpty(kqyyAuthByEmp)) {
resultMap.put("canOperate", false);
}
}
return resultMap;
}
}