自定义工资项目展示名

This commit is contained in:
Harryxzy 2023-07-19 16:14:25 +08:00
parent bbb8417008
commit 8e6bd24d0d
12 changed files with 550 additions and 6 deletions

View File

@ -0,0 +1,31 @@
package com.engine.salary.entity.salaryBill.bo;
import com.engine.salary.entity.salaryBill.dto.SalaryBillItemNameDTO;
import com.engine.salary.entity.salaryBill.po.SalaryBillItemNamePO;
import org.apache.commons.collections4.CollectionUtils;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @author Harryxzy
* @ClassName SalaryBillItemNameBO
* @date 2023/07/19 9:19
* @description 工资单薪资项目展示名称
*/
public class SalaryBillItemNameBO {
public static List<SalaryBillItemNameDTO> convert2ListDTO(List<SalaryBillItemNamePO> SalaryBillItemNamePOList, Map<Long, String> itemIdNameMap){
if (CollectionUtils.isEmpty(SalaryBillItemNamePOList)) {
return Collections.emptyList();
}
return SalaryBillItemNamePOList.stream()
.map(po -> SalaryBillItemNameDTO.builder()
.salaryItemId(po.getSalaryItemId())
.salaryItemShowName(po.getSalaryItemShowName())
.build())
.collect(Collectors.toList());
}
}

View File

@ -0,0 +1,30 @@
package com.engine.salary.entity.salaryBill.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author Harryxzy
* @ClassName SalaryBillItemNameDTO
* @date 2023/07/19 9:21
* @description 工资单薪资项目展示名称
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SalaryBillItemNameDTO {
/**
* 薪资项目id
*/
private Long salaryItemId;
/**
* 工资单展示名称
*/
private String salaryItemShowName;
}

View File

@ -26,4 +26,7 @@ public class SalaryTemplateReplenishFormDTO {
// 薪资项目设置")
private List<SalaryTemplateSalaryItemSetListDTO> replenishSalaryTemplateSalaryItemSet;
// 工资单项目名称设置
private List<SalaryBillItemNameDTO> salaryBillItemNameSet;
}

View File

@ -29,4 +29,7 @@ public class SalaryTemplateShowFormDTO {
// 薪资项目设置")
private List<SalaryTemplateSalaryItemSetListDTO> salaryTemplateSalaryItemSet;
// 工资单项目名称设置
private Map<Long, SalaryBillItemNameDTO> salaryBillItemNameSet;
}

View File

@ -0,0 +1,46 @@
package com.engine.salary.entity.salaryBill.param;
import lombok.*;
import java.util.List;
/**
* @author Harryxzy
* @ClassName SalaryBillItemNameSaveParam
* @date 2023/07/19 10:20
* @description 设置工资单项目展示名参数
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SalaryBillItemNameSaveParam {
/**
* 工资单模板id
*/
private Long salaryTemplateId;
/**
* 工资单类型0正常工资单1补发工资单
*/
private Integer salaryBillType;
private List<itemShowNameSetting> itemShowNameSetting;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public static class itemShowNameSetting {
/**
* 薪资项目id
*/
private Long salaryItemId;
/**
* 工资单展示名称
*/
private String salaryItemShowName;
}
}

View File

@ -6,6 +6,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Collection;
import java.util.Date;
/**
* @author Harryxzy
@ -35,6 +36,36 @@ public class SalaryBillItemNamePO {
*/
private Long salaryTemplateId;
/**
* 工资单类型0正常工资单1补发工资单
*/
private Integer salaryBillType;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 创建人
*/
private Long creator;
/**
* 是否已删除0未删除1已删除
*/
private Integer deleteType;
/**
* 租户ID
*/
private String tenantKey;
//主键id集合
private Collection<Long> ids;
}

View File

@ -1,6 +1,7 @@
package com.engine.salary.mapper.salarybill;
import com.engine.salary.entity.salaryBill.po.SalaryBillItemNamePO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -65,4 +66,24 @@ public interface SalaryBillItemNameMapper {
* @return 返回影响行数
*/
int delete(Long id);
/**
* 批量更新
* @param salaryBillItemNamePO
*/
void batchUpdate(@Param("collection") List<SalaryBillItemNamePO> salaryBillItemNamePO);
/**
* 批量插入
* @param salaryBillItemNamePO
*/
void batchInsert(@Param("collection") List<SalaryBillItemNamePO> salaryBillItemNamePO);
/**
* 根据薪资项目模板id模板类型批量删除
* @param salaryItemIds
* @param salaryTemplateId
* @param salaryBillType
*/
void deleteByItemIdsAndTemplateId(@Param("salaryItemIds") List<Long> salaryItemIds, @Param("salaryTemplateId") Long salaryTemplateId, @Param("salaryBillType") Integer salaryBillType);
}

View File

@ -6,6 +6,11 @@
<result column="salary_item_id" property="salaryItemId" />
<result column="salary_item_show_name" property="salaryItemShowName" />
<result column="salary_template_id" property="salaryTemplateId" />
<result column="delete_type" property="deleteType" />
<result column="creator" property="creator" />
<result column="create_time" property="createTime" />
<result column="update_time" property="updateTime" />
<result column="tenant_key" property="tenantKey" />
</resultMap>
<!-- 表字段 -->
@ -14,6 +19,12 @@
, t.salary_item_id
, t.salary_item_show_name
, t.salary_template_id
, t.salary_bill_type
, t.delete_type
, t.creator
, t.create_time
, t.update_time
, t.tenant_key
</sql>
<!-- 查询全部 -->
@ -50,6 +61,9 @@
<if test="salaryTemplateId != null">
AND salary_template_id = #{salaryTemplateId}
</if>
<if test="salaryBillType != null">
AND salary_bill_type = #{salaryBillType}
</if>
<if test="ids != null and ids.size()>0">
AND id IN
<foreach collection="ids" open="(" item="id" separator="," close=")">
@ -77,6 +91,24 @@
<if test="salaryTemplateId != null">
salary_template_id,
</if>
<if test="salaryBillType != null">
salary_bill_type,
</if>
<if test="creator != null">
creator,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateTime != null">
update_time,
</if>
<if test="deleteType != null">
delete_type,
</if>
<if test="tenantKey != null">
tenant_key,
</if>
</trim>
<trim prefix="VALUES (" suffix=")" suffixOverrides=",">
<if test="id != null" >
@ -91,9 +123,114 @@
<if test="salaryTemplateId != null" >
#{salaryTemplateId},
</if>
<if test="salaryBillType != null" >
#{salaryBillType},
</if>
<if test="creator != null">
#{creator},
</if>
<if test="createTime != null">
#{createTime},
</if>
<if test="updateTime != null">
#{updateTime},
</if>
<if test="deleteType != null">
#{deleteType},
</if>
<if test="tenantKey != null">
#{tenantKey},
</if>
</trim>
</insert>
<insert id="batchInsert">
INSERT INTO hrsa_salary_bill_item_name (
id,
salary_template_id,
salary_item_id,
salary_item_show_name,
salary_bill_type,
creator,
create_time,
update_time,
delete_type,
tenant_key
)
VALUES
<foreach collection="collection" item="item" separator=",">
(
#{item.id},
#{item.salaryTemplateId},
#{item.salaryItemId},
#{item.salaryItemShowName},
#{item.salaryBillType},
#{item.creator},
#{item.createTime},
#{item.updateTime},
#{item.deleteType},
#{item.tenantKey}
)
</foreach>
</insert>
<insert id="batchInsert" databaseId="oracle">
INSERT INTO hrsa_salary_send_info (
id,
salary_template_id,
salary_item_id,
salary_item_show_name,
salary_bill_type,
creator,
create_time,
update_time,
delete_type,
tenant_key
)
<foreach collection="collection" item="item" separator="union all">
select
#{item.id,jdbcType=DOUBLE},
#{item.salaryTemplateId,jdbcType=DOUBLE},
#{item.salaryItemId,jdbcType=DOUBLE},
#{item.salaryItemShowName,jdbcType=VARCHAR},
#{item.salaryBillType,jdbcType=INTEGER},
#{item.creator,jdbcType=DOUBLE},
#{item.createTime,jdbcType=DATE},
#{item.updateTime,jdbcType=DATE},
#{item.deleteType,jdbcType=INTEGER},
#{item.tenantKey,jdbcType=VARCHAR}
from dual
</foreach>
</insert>
<insert id="batchInsert" databaseId="sqlserver">
<foreach collection="collection" item="item" separator=";">
INSERT INTO hrsa_salary_send_info (
id,
salary_template_id,
salary_item_id,
salary_item_show_name,
salary_bill_type,
creator,
create_time,
update_time,
delete_type,
tenant_key
)
VALUES
(
#{item.id},
#{item.salaryTemplateId},
#{item.salaryItemId},
#{item.salaryItemShowName},
#{item.salaryBillType},
#{item.creator},
#{item.createTime},
#{item.updateTime},
#{item.deleteType},
#{item.tenantKey}
)
</foreach>
</insert>
<!-- 更新,更新全部字段 -->
<update id="update" parameterType="com.engine.salary.entity.salaryBill.po.SalaryBillItemNamePO">
UPDATE hrsa_salary_bill_item_name
@ -101,6 +238,11 @@
salary_item_id=#{salaryItemId},
salary_item_show_name=#{salaryItemShowName},
salary_template_id=#{salaryTemplateId},
salary_bill_type=#{salaryBillType},
creator=#{creator},
create_time={createTime},
update_time=#{updateTime},
tenant_key=#{tenantKey}
</set>
WHERE id = #{id} AND delete_type = 0
</update>
@ -119,10 +261,46 @@
<if test="salaryTemplateId != null" >
salary_template_id=#{salaryTemplateId},
</if>
<if test="salaryBillType != null" >
salary_bill_type=#{salaryBillType},
</if>
<if test="creator != null" >
creator=#{creator},
</if>
<if test="create_time != null" >
create_time=#{createTime},
</if>
<if test="updateTime != null" >
update_time=#{updateTime},
</if>
<if test="tenantKey != null" >
tenant_key=#{tenantKey},
</if>
</set>
WHERE id = #{id} AND delete_type = 0
</update>
<update id="batchUpdate">
UPDATE hrsa_salary_bill_item_name
<trim prefix="set" suffixOverrides=",">
<trim prefix="salary_item_show_name = case" suffix="end,">
<foreach collection="collection" item="item" index="index">
WHEN id = #{item.id} THEN #{item.salaryItemShowName}
</foreach>
</trim>
<trim prefix="update_time = case" suffix="end,">
<foreach collection="collection" item="item" index="index">
WHEN id = #{item.id} THEN #{item.updateTime}
</foreach>
</trim>
</trim>
WHERE delete_type = 0
AND id IN
<foreach collection="collection" item="item" open="(" close=")" separator=",">
#{item.id}
</foreach>
</update>
<!-- 根据主键删除记录 -->
<delete id="delete" parameterType="com.engine.salary.entity.salaryBill.po.SalaryBillItemNamePO">
@ -131,5 +309,17 @@
WHERE id = #{id} AND delete_type = 0
</delete>
<delete id="deleteByItemIdsAndTemplateId">
UPDATE hrsa_salary_bill_item_name
SET delete_type=1
WHERE delete_type = 0
AND salary_template_id = #{salaryTemplateId}
AND salaryBillType = #{salaryBillType}
AND salary_item_id IN
<foreach collection="salaryItemIds" item="itemId" open="(" close=")" separator=",">
#{itemId}
</foreach>
</delete>
</mapper>

View File

@ -1,5 +1,6 @@
package com.engine.salary.service;
import com.engine.salary.entity.salaryBill.param.SalaryBillItemNameSaveParam;
import com.engine.salary.entity.salaryBill.po.SalaryBillItemNamePO;
import java.util.List;
@ -59,4 +60,29 @@ public interface SalaryBillItemNameService {
*/
int delete(Long id);
/**
* 根据工资单模板id和工资单类型获取 设置的项目名称信息
* @param build
* @return
*/
List<SalaryBillItemNamePO> ListByTemplateAndType(SalaryBillItemNamePO build);
/**
* 设置工资单薪资项目显示名
* @param saveList
*/
void saveItemShowName(List<SalaryBillItemNameSaveParam> saveList);
/**
* 批量更新
* @param needUpdateList
*/
void batchUpdate(List<SalaryBillItemNamePO> needUpdateList);
/**
* 批量插入
* @param needInsertList
*/
void batchInsert(List<SalaryBillItemNamePO> needInsertList);
}

View File

@ -1,12 +1,27 @@
package com.engine.salary.service.impl;
import com.api.formmode.mybatis.util.SqlProxyHandle;
import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.constant.SalaryDefaultTenantConstant;
import com.engine.salary.entity.salaryBill.param.SalaryBillItemNameSaveParam;
import com.engine.salary.entity.salaryBill.po.SalaryBillItemNamePO;
import com.engine.salary.entity.salaryBill.po.SalaryTemplatePO;
import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.mapper.salarybill.SalaryBillItemNameMapper;
import com.engine.salary.service.SalaryBillItemNameService;
import com.engine.salary.service.SalaryItemService;
import com.engine.salary.service.SalaryTemplateService;
import com.engine.salary.util.SalaryEntityUtil;
import com.google.common.collect.Lists;
import dm.jdbc.util.IdGenerator;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.math.NumberUtils;
import org.apache.commons.lang3.StringUtils;
import weaver.hrm.User;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author Harryxzy
@ -19,6 +34,14 @@ public class SalaryBillItemNameServiceImpl extends Service implements SalaryBill
private SalaryBillItemNameMapper getSalaryBillItemNameMapper() {
return SqlProxyHandle.getProxy(SalaryBillItemNameMapper.class);
}
private SalaryItemService getSalaryItemService(User user) {
return ServiceUtil.getService(SalaryItemServiceImpl.class, user);
}
private SalaryTemplateService getSalaryTemplateService(User user) {
return ServiceUtil.getService(SalaryTemplateServiceImpl.class, user);
}
@Override
public List<SalaryBillItemNamePO> listAll() {
return getSalaryBillItemNameMapper().listAll();
@ -48,4 +71,92 @@ public class SalaryBillItemNameServiceImpl extends Service implements SalaryBill
public int delete(Long id) {
return getSalaryBillItemNameMapper().delete(id);
}
@Override
public List<SalaryBillItemNamePO> ListByTemplateAndType(SalaryBillItemNamePO param) {
return getSalaryBillItemNameMapper().listSome(param);
}
@Override
public void saveItemShowName(List<SalaryBillItemNameSaveParam> saveList) {
if(CollectionUtils.isEmpty(saveList))
return;
List<Long> templateIdList = saveList.stream().map(SalaryBillItemNameSaveParam::getSalaryTemplateId).distinct().collect(Collectors.toList());
if(CollectionUtils.isEmpty(templateIdList) || templateIdList.size()>1)
throw new SalaryRunTimeException("工资单模板id为空或存在多个工资单模板id");
Long salaryTemplateId = templateIdList.get(0);
SalaryTemplatePO salaryTemplatePO = getSalaryTemplateService(user).getById(salaryTemplateId);
if(Objects.isNull(salaryTemplatePO))
throw new SalaryRunTimeException("工资单模板不存在或已被删除");
List<SalaryBillItemNamePO> needInsertList = new ArrayList<>();
List<SalaryBillItemNamePO> needUpdateList = new ArrayList<>();
Date now = new Date();
// 根据模板类型分组
Map<Integer, List<SalaryBillItemNameSaveParam.itemShowNameSetting>> saveMap = SalaryEntityUtil.convert2Map(saveList, SalaryBillItemNameSaveParam::getSalaryBillType, SalaryBillItemNameSaveParam::getItemShowNameSetting);
for(Map.Entry<Integer, List<SalaryBillItemNameSaveParam.itemShowNameSetting>> entry : saveMap.entrySet()){
// 获取已经设置的展示名
List<SalaryBillItemNamePO> billItemNameList = ListByTemplateAndType(SalaryBillItemNamePO.builder().salaryTemplateId(salaryTemplateId).salaryBillType(entry.getKey()).build());
Map<Long, SalaryBillItemNamePO> billItemNameMap = SalaryEntityUtil.convert2Map(billItemNameList, SalaryBillItemNamePO::getSalaryItemId);
List<Long> needDeleteItemIdList = new ArrayList<>();
entry.getValue().stream().forEach(setting -> {
if(StringUtils.isBlank(setting.getSalaryItemShowName())){
// 显示名为空则删除设置
needDeleteItemIdList.add(setting.getSalaryItemId());
}else{
if(billItemNameMap.containsKey(setting.getSalaryItemId())){
// 更新
SalaryBillItemNamePO po = billItemNameMap.get(setting.getSalaryItemId());
po.setSalaryItemShowName(setting.getSalaryItemShowName());
po.setUpdateTime(now);
needUpdateList.add(po);
}else{
// 新增
needInsertList.add(SalaryBillItemNamePO.builder()
.id(IdGenerator.generate())
.salaryItemId(setting.getSalaryItemId())
.salaryItemShowName(setting.getSalaryItemShowName())
.salaryTemplateId(salaryTemplateId)
.salaryBillType(entry.getKey())
.createTime(now)
.updateTime(now)
.creator(Long.valueOf(user.getUID()))
.deleteType(NumberUtils.INTEGER_ZERO)
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
.build());
}
}
});
// 删除
batchDeleteByItemIdsAndTemplateId(needDeleteItemIdList, salaryTemplateId, entry.getKey());
}
// 入库
batchUpdate(needUpdateList);
batchInsert(needInsertList);
}
@Override
public void batchUpdate(List<SalaryBillItemNamePO> needUpdateList) {
if(CollectionUtils.isEmpty(needUpdateList))
return;
List<List<SalaryBillItemNamePO>> partition = Lists.partition(needUpdateList, 500);
partition.forEach(getSalaryBillItemNameMapper()::batchUpdate);
}
@Override
public void batchInsert(List<SalaryBillItemNamePO> needInsertList) {
if(CollectionUtils.isEmpty(needInsertList))
return;
List<List<SalaryBillItemNamePO>> partition = Lists.partition(needInsertList, 500);
partition.forEach(getSalaryBillItemNameMapper()::batchInsert);
}
public void batchDeleteByItemIdsAndTemplateId(List<Long> salaryItemIds, Long salaryTemplateId, Integer salaryBillType) {
if(CollectionUtils.isEmpty(salaryItemIds) || Objects.isNull(salaryTemplateId) || Objects.isNull(salaryBillType))
return;
getSalaryBillItemNameMapper().deleteByItemIdsAndTemplateId(salaryItemIds, salaryTemplateId, salaryBillType);
}
}

View File

@ -98,6 +98,19 @@ public class SalaryBillController {
return new ResponseResult<Long, SalaryTemplateShowFormDTO>(user).run(getSalaryTemplateWrapper(user)::getShowForm, id);
}
/**
* 设置工资单模板薪资项显示名称
*
* @return
*/
@POST
@Path("/template/saveItemShowName")
@Produces(MediaType.APPLICATION_JSON)
public String saveItemShowName(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody List<SalaryBillItemNameSaveParam> param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<List<SalaryBillItemNameSaveParam>, String>(user).run(getSalaryTemplateWrapper(user)::saveItemShowName, param);
}
/**
* 获取薪资项目设置
*

View File

@ -2,8 +2,10 @@ package com.engine.salary.wrapper;
import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.entity.salaryBill.bo.SalaryBillItemNameBO;
import com.engine.salary.entity.salaryBill.dto.*;
import com.engine.salary.entity.salaryBill.param.*;
import com.engine.salary.entity.salaryBill.po.SalaryBillItemNamePO;
import com.engine.salary.entity.salaryBill.po.SalaryTemplatePO;
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
import com.engine.salary.entity.salarysob.po.SalarySobBackItemPO;
@ -65,6 +67,10 @@ public class SalaryTemplateWrapper extends Service {
return ServiceUtil.getService(SalaryBillBaseSetServiceImpl.class, user);
}
private SalaryBillItemNameService getSalaryBillItemNameService(User user) {
return ServiceUtil.getService(SalaryBillItemNameServiceImpl.class, user);
}
/**
* 工资单模板列表
*
@ -247,12 +253,25 @@ public class SalaryTemplateWrapper extends Service {
// List<SalarySobItemGroupPO> groupPOS = getSalarySobItemGroupService(user).listBySalarySobId(po.getSalarySobId());
// Map<Long, String> groupIdNameMap = SalaryEntityUtil.convert2Map(groupPOS, SalarySobItemGroupPO::getId, SalarySobItemGroupPO::getName);
// 获取工资单薪资项目展示名信息
List<SalaryBillItemNamePO> billItemNameList = getSalaryBillItemNameService(user).ListByTemplateAndType(SalaryBillItemNamePO.builder().salaryTemplateId(id).salaryBillType(0).build());
Map<Long, String> itemShowNameMap = SalaryEntityUtil.convert2Map(billItemNameList, SalaryBillItemNamePO::getSalaryItemId, SalaryBillItemNamePO::getSalaryItemShowName);
// 获取薪资项目信息
List<SalaryBillItemNameDTO> salaryBillItemNameDTOS = SalaryBillItemNameBO.convert2ListDTO(billItemNameList, itemIdNameMap);
Map<Long, SalaryBillItemNameDTO> salaryBillItemNameDTOMap = SalaryEntityUtil.convert2Map(salaryBillItemNameDTOS, SalaryBillItemNameDTO::getSalaryItemId);
if (CollectionUtils.isNotEmpty(salaryTemplateShowSetData)) {
salaryTemplateShowSetData.stream()
//排除人员消息
.filter(data -> !StringUtils.equals(data.getGroupId(), "111111111111111111"))
.forEach(data -> {
data.getItems().forEach(item -> item.setName(itemIdNameMap.getOrDefault(Long.valueOf(item.getSalaryItemId()), item.getName())));
data.getItems().forEach(item -> {
Long salaryItemId = Long.valueOf(item.getSalaryItemId());
item.setName(itemIdNameMap.getOrDefault(salaryItemId, item.getName()));
if(itemShowNameMap.containsKey(salaryItemId)){
item.setName(itemShowNameMap.get(salaryItemId) + "" + item.getName() +"");
}
});
});
}
@ -262,6 +281,7 @@ public class SalaryTemplateWrapper extends Service {
.vars(Arrays.stream(SalaryTemplateVarEnum.values()).map(SalaryTemplateVarEnum::getValue).collect(Collectors.toList()))
.salaryTemplateShowSet(salaryTemplateShowSet)
.salaryTemplateSalaryItemSet(salaryTemplateShowSetData)
.salaryBillItemNameSet(salaryBillItemNameDTOMap)
.build();
}
@ -388,6 +408,8 @@ public class SalaryTemplateWrapper extends Service {
// 补发薪资项目设置
List<SalaryTemplateSalaryItemSetListDTO> replenishSalaryItemSetting;
// 补发薪资项目显示名称
List<SalaryBillItemNameDTO> salaryBillItemNameDTOS = new ArrayList<>();
if (id != null) {
SalaryTemplatePO po = getSalaryTemplateService(user).getById(id);
if (po == null) {
@ -399,13 +421,25 @@ public class SalaryTemplateWrapper extends Service {
// 同步补发薪资项目名称
List<SalaryItemPO> itemPOS = getSalaryItemService(user).listAll();
Map<Long, String> itemIdNameMap = SalaryEntityUtil.convert2Map(itemPOS, SalaryItemPO::getId, SalaryItemPO::getName);
// 获取工资单薪资项目展示名信息
List<SalaryBillItemNamePO> billItemNameList = getSalaryBillItemNameService(user).ListByTemplateAndType(SalaryBillItemNamePO.builder().salaryTemplateId(id).salaryBillType(1).build());
Map<Long, String> itemShowNameMap = SalaryEntityUtil.convert2Map(billItemNameList, SalaryBillItemNamePO::getSalaryItemId, SalaryBillItemNamePO::getSalaryItemShowName);
// 获取薪资项目信息
salaryBillItemNameDTOS = SalaryBillItemNameBO.convert2ListDTO(billItemNameList, itemIdNameMap);
if (CollectionUtils.isNotEmpty(replenishSalaryItemSetting)) {
replenishSalaryItemSetting.stream()
//排除人员消息
.filter(data -> !StringUtils.equals(data.getGroupId(), "111111111111111111"))
.forEach(data -> {
data.getItems().forEach(item -> item.setName(itemIdNameMap.getOrDefault(Long.valueOf(item.getSalaryItemId()), item.getName())));
});
.filter(data -> !StringUtils.equals(data.getGroupId(), "111111111111111111"))
.forEach(data -> {
data.getItems().forEach(item -> {
Long salaryItemId = Long.valueOf(item.getSalaryItemId());
item.setName(itemIdNameMap.getOrDefault(salaryItemId, item.getName()));
if(itemShowNameMap.containsKey(salaryItemId)){
item.setName(itemShowNameMap.get(salaryItemId));
}
});
});
}
} else {
replenishSalaryItemSetting = getReplenishSalaryItemSet(replenishFormQueryParam.getSalarySobId());
@ -417,6 +451,7 @@ public class SalaryTemplateWrapper extends Service {
return SalaryTemplateReplenishFormDTO.builder()
.id(id)
.replenishSalaryTemplateSalaryItemSet(replenishSalaryItemSetting)
.salaryBillItemNameSet(salaryBillItemNameDTOS)
.build();
}
@ -459,4 +494,8 @@ public class SalaryTemplateWrapper extends Service {
)
.collect(Collectors.toList());
}
public void saveItemShowName(List<SalaryBillItemNameSaveParam> saveList) {
getSalaryBillItemNameService(user).saveItemShowName(saveList);
}
}