Merge branch 'feature/230702-薪资项目-核算时隐藏' into release/2.9.2.2307.02

This commit is contained in:
Harryxzy 2023-07-19 11:11:46 +08:00
commit 0a4c19fb36
20 changed files with 126 additions and 21 deletions

View File

@ -0,0 +1,4 @@
alter table hrsa_salary_item
add hide_default NUMBER null;
/

View File

@ -0,0 +1,4 @@
alter table hrsa_salary_item
add hide_default NUMBER null;
/

View File

@ -0,0 +1,2 @@
ALTER TABLE hrsa_salary_item
ADD COLUMN hide_default int NULL;

View File

@ -0,0 +1,3 @@
alter table hrsa_salary_item
add hide_default NUMBER null
/

View File

@ -0,0 +1,2 @@
ALTER TABLE hrsa_salary_item
ADD COLUMN hide_default int NULL;

View File

@ -0,0 +1,3 @@
ALTER TABLE hrsa_salary_item
ADD hide_default int NULL
GO

View File

@ -99,6 +99,7 @@ public class SalaryItemBO {
.systemName(sysSalaryItemNameMap.getOrDefault(salaryItemPO.getSysSalaryItemId(), StringUtils.EMPTY))
.useInEmployeeSalary(salaryItemPO.getUseInEmployeeSalary())
.useDefault(salaryItemPO.getUseDefault())
.hideDefault(salaryItemPO.getHideDefault() == null ? 0 : salaryItemPO.getHideDefault())
.roundingMode(Optional.ofNullable(salaryRoundingModeEnum)
.map(e -> SalaryI18nUtil.getI18nLabel(e.getLabelId(), e.getDefaultLabel()))
.orElse(StringUtils.EMPTY))
@ -145,6 +146,7 @@ public class SalaryItemBO {
.systemName(sysSalaryItemNameMap.getOrDefault(salaryItemPO.getSysSalaryItemId(), StringUtils.EMPTY))
.useInEmployeeSalary(salaryItemPO.getUseInEmployeeSalary())
.useDefault(salaryItemPO.getUseDefault())
.hideDefault(salaryItemPO.getHideDefault() == null ? 0 : salaryItemPO.getHideDefault())
.roundingMode(Optional.ofNullable(salaryRoundingModeEnum)
.map(e -> SalaryI18nUtil.getI18nLabel(e.getLabelId(), e.getDefaultLabel()))
.orElse(StringUtils.EMPTY))
@ -181,6 +183,7 @@ public class SalaryItemBO {
.setName(salaryItemPO.getName())
.setSystemType(salaryItemPO.getSystemType())
.setUseDefault(salaryItemPO.getUseDefault())
.setHideDefault(salaryItemPO.getHideDefault() == null ? 0 : salaryItemPO.getHideDefault())
.setUseInEmployeeSalary(salaryItemPO.getUseInEmployeeSalary())
.setRoundingMode(salaryItemPO.getRoundingMode())
.setPattern(salaryItemPO.getPattern())
@ -256,6 +259,7 @@ public class SalaryItemBO {
.sysSalaryItemId(NumberUtils.LONG_ZERO)
.useDefault(saveParam.getUseDefault())
.useInEmployeeSalary(saveParam.getUseInEmployeeSalary())
.hideDefault(saveParam.getHideDefault())
.roundingMode(saveParam.getRoundingMode() == null ? SalaryRoundingModeEnum.ROUNDING.getValue() : saveParam.getRoundingMode())
.pattern(Optional.ofNullable(saveParam.getPattern()).orElse(2))
.valueType(saveParam.getValueType())

View File

@ -93,6 +93,7 @@ public class SysSalaryItemBO {
.setCanEdit(sysSalaryItemPO.getCanEdit())
.setSystemType(sysSalaryItemPO.getSystemType())
.setUseDefault(sysSalaryItemPO.getUseDefault())
.setHideDefault(0)
.setUseInEmployeeSalary(sysSalaryItemPO.getUseInEmployeeSalary())
.setRoundingMode(sysSalaryItemPO.getRoundingMode())
.setPattern(sysSalaryItemPO.getPattern())

View File

@ -40,6 +40,11 @@ public class SalaryFieldListDTO {
@TableTitle(title = "默认使用",dataIndex = "useDefault",key = "useDefault")
private Integer useDefault;
//核算时隐藏
@SalaryTableColumn(text = "核算时隐藏", width = "10%", column = "hideDefault")
@TableTitle(title = "核算时隐藏",dataIndex = "hideDefault",key = "hideDefault")
private Integer hideDefault;
//进位规则
@SalaryTableColumn(text = "进位规则", width = "10%", column = "roundingMode",transmethod = "com.engine.salary.transmethod.TransMethod.roundingMode")
@TableTitle(title = "进位规则",dataIndex = "roundingMode",key = "roundingMode")

View File

@ -42,6 +42,9 @@ public class SalaryItemFormDTO {
//默认使用")
private Integer useDefault;
//核算时隐藏")
private Integer hideDefault;
//薪资档案引用")
private Integer useInEmployeeSalary;

View File

@ -51,6 +51,11 @@ public class SalaryItemListDTO {
@TableTitle(title = "默认使用",dataIndex = "useDefault",key = "useDefault")
private Integer useDefault;
//核算时隐藏
@SalaryTableColumn(text = "核算时隐藏", width = "10%", column = "hideDefault")
@TableTitle(title = "核算时隐藏",dataIndex = "hideDefault",key = "hideDefault")
private Integer hideDefault;
//进位规则
@SalaryTableColumn(text = "进位规则", width = "10%", column = "roundingMode",transmethod = "com.engine.salary.transmethod.TransMethod.roundingMode")
@TableTitle(title = "进位规则",dataIndex = "roundingMode",key = "roundingMode")

View File

@ -49,6 +49,11 @@ public class SalaryItemSobListDTO {
@TableTitle(title = "默认使用",dataIndex = "useDefault",key = "useDefault")
private Integer useDefault;
//核算时默认隐藏
@SalaryTableColumn(text = "核算时隐藏", width = "10%", column = "hideDefault")
@TableTitle(title = "核算时隐藏",dataIndex = "hideDefault",key = "hideDefault")
private Integer hideDefault;
//进位规则
@SalaryTableColumn(text = "进位规则", width = "10%", column = "roundingMode",transmethod = "com.engine.salary.transmethod.TransMethod.roundingMode")
@TableTitle(title = "进位规则",dataIndex = "roundingMode",key = "roundingMode")

View File

@ -49,6 +49,10 @@ public class SalaryItemSaveParam {
//薪资档案引用
private Integer useInEmployeeSalary;
//核算时默认隐藏
@DataCheck(require = true, message = "核算时隐藏不允许为空")
private Integer hideDefault;
/**
* 舍入规则

View File

@ -64,6 +64,11 @@ public class SalaryItemPO {
*/
private Integer useInEmployeeSalary;
/**
* 核算时隐藏
*/
private Integer hideDefault;
/**
* 进位规则
*

View File

@ -12,10 +12,7 @@ import lombok.Data;
import lombok.experimental.Accessors;
import org.apache.commons.lang3.math.NumberUtils;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
@ -70,6 +67,8 @@ public class SalarySobItemBO {
List<SalaryItemPO> defaultSalaryItemPOS,
Long employeeId, String tenantKey) {
Date now = new Date();
// 需要保存的隐藏项目
List<SalarySobItemHidePO> needInsertItemHides = new ArrayList<>();
// 处理薪资账套默认的薪资项目分类
Map<Long, Long> salarySobItemGroupIdMap = Maps.newHashMapWithExpectedSize(salarySobDefaultItemGroupPOS.size());
List<SalarySobItemGroupPO> salarySobItemGroups = Lists.newArrayListWithExpectedSize(salarySobDefaultItemGroupPOS.size());
@ -88,8 +87,23 @@ public class SalarySobItemBO {
.deleteType(NumberUtils.INTEGER_ZERO)
.build());
salarySobItemGroupIdMap.put(salarySobDefaultItemGroupPO.getId(), salarySobItemGroupId);
// 保存薪资项目分类隐藏信息
needInsertItemHides.add(SalarySobItemHidePO.builder()
.id(IdGenerator.generate())
.salarySobId(salarySobId)
.salaryItemId(salarySobItemGroupId)
.isGroup(1)
.itemHide(0L)
.creator(employeeId)
.createTime(now)
.updateTime(now)
.deleteType(NumberUtils.INTEGER_ZERO)
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
.build());
}
List<SalarySobItemPO> salarySobItems = Lists.newArrayListWithExpectedSize(defaultSalaryItemPOS.size());
// 处理薪资账套默认的系统薪资项目
Set<Long> sysSalaryItemIds = SalaryEntityUtil.properties(salarySobDefaultItemPOS, SalarySobDefaultItemPO::getSysSalaryItemId);
@ -113,6 +127,20 @@ public class SalarySobItemBO {
.tenantKey(tenantKey)
.deleteType(NumberUtils.INTEGER_ZERO)
.build());
// 保存薪资项目隐藏信息
needInsertItemHides.add(SalarySobItemHidePO.builder()
.id(IdGenerator.generate())
.salarySobId(salarySobId)
.salaryItemId(salaryItemPO.getId())
.isGroup(0)
.itemHide(Long.valueOf(salaryItemPO.getHideDefault()== null ? 0 : salaryItemPO.getHideDefault()))
.creator(employeeId)
.createTime(now)
.updateTime(now)
.deleteType(NumberUtils.INTEGER_ZERO)
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
.build());
}
// 处理薪资账套默认的自定义薪资项目开启了"默认使用"
for (int i = 0; i < defaultSalaryItemPOS.size(); i++) {
@ -139,6 +167,19 @@ public class SalarySobItemBO {
.tenantKey(tenantKey)
.deleteType(NumberUtils.INTEGER_ZERO)
.build());
// 保存薪资项目隐藏信息
needInsertItemHides.add(SalarySobItemHidePO.builder()
.id(IdGenerator.generate())
.salarySobId(salarySobId)
.salaryItemId(salaryItemPO.getId())
.isGroup(0)
.itemHide(Long.valueOf(salaryItemPO.getHideDefault() == null ? 0 : salaryItemPO.getHideDefault()))
.creator(employeeId)
.createTime(now)
.updateTime(now)
.deleteType(NumberUtils.INTEGER_ZERO)
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
.build());
}
// 薪资账套默认的回算薪资项目
@ -165,7 +206,8 @@ public class SalarySobItemBO {
salarySobBackItems.add(salarySobBackItemPO);
}
return new Result().setNeedInsertSalarySobItems(salarySobItems).setNeedInsertSalarySobItemGroups(salarySobItemGroups).setNeedInsertSalarySobBackItems(salarySobBackItems);
return new Result().setNeedInsertSalarySobItems(salarySobItems).setNeedInsertSalarySobItemGroups(salarySobItemGroups)
.setNeedInsertSalarySobBackItems(salarySobBackItems).setNeedInsertItemHides(needInsertItemHides);
}
@Data
@ -186,5 +228,10 @@ public class SalarySobItemBO {
* 需要保存的回算薪资项目
*/
List<SalarySobBackItemPO> needInsertSalarySobBackItems;
/**
* 需要保存的薪资项目隐藏信息
*/
List<SalarySobItemHidePO> needInsertItemHides;
}
}

View File

@ -50,7 +50,8 @@
t.data_type,
t.shared_type,
t.tax_agent_ids,
t.sorted_index
t.sorted_index,
t.hide_default
</sql>
<!-- 查询全部 -->
@ -168,6 +169,9 @@
<if test="useInEmployeeSalary != null">
use_in_employee_salary,
</if>
<if test="hideDefault != null">
hide_default,
</if>
<if test="roundingMode != null">
rounding_mode,
</if>
@ -236,6 +240,9 @@
<if test="useInEmployeeSalary != null">
#{useInEmployeeSalary},
</if>
<if test="hideDefault != null">
#{hideDefault},
</if>
<if test="roundingMode != null">
#{roundingMode},
</if>
@ -307,6 +314,9 @@
<if test="useInEmployeeSalary != null">
use_in_employee_salary=#{useInEmployeeSalary},
</if>
<if test="hideDefault != null">
hide_default=#{hideDefault},
</if>
<if test="roundingMode != null">
rounding_mode=#{roundingMode},
</if>

View File

@ -236,6 +236,7 @@ public class SalaryItemServiceImpl extends Service implements SalaryItemService
newSalaryItemPO.setName(saveParam.getName());
newSalaryItemPO.setUseDefault(saveParam.getUseDefault());
newSalaryItemPO.setUseInEmployeeSalary(saveParam.getUseInEmployeeSalary());
newSalaryItemPO.setHideDefault(saveParam.getHideDefault());
newSalaryItemPO.setRoundingMode(saveParam.getRoundingMode());
newSalaryItemPO.setPattern(saveParam.getPattern());
// newSalaryItemPO.setValueType(saveParam.getValueType());

View File

@ -378,16 +378,13 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
.salarySobId(salarySobId)
.salaryItemId(salarySobItemGroupId)
.isGroup(1)
.itemHide(itemGroupParam.getItemHide())
.itemHide(itemGroupParam.getItemHide() == null ? 0L : itemGroupParam.getItemHide())
.creator(employeeId)
.createTime(now)
.updateTime(now)
.deleteType(NumberUtils.INTEGER_ZERO)
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
.build();
if (itemGroupParam.getItemHide() == null) {
salarySobGroupItemHidePO.setItemHide(Long.valueOf(0));
}
needInsertItemShow.add(salarySobGroupItemHidePO);
// salarySobItemMapper.InsertItemShow(salarySobGroupItemHidePO);
@ -448,17 +445,13 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
.salarySobId(salarySobId)
.salaryItemId(groupId)
.isGroup(1)
.itemHide(itemGroupParam.getItemHide())
.itemHide(itemGroupParam.getItemHide() == null ? 0L : itemGroupParam.getItemHide())
.creator(employeeId)
.createTime(now)
.updateTime(now)
.deleteType(NumberUtils.INTEGER_ZERO)
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
.build();
if (itemGroupParam.getItemHide() == null) {
salarySobGroupItemHidePO.setItemHide(Long.valueOf(0));
}
// salarySobItemMapper.InsertItemShow(salarySobGroupItemHidePO);
needInsertItemShow.add(salarySobGroupItemHidePO);
@ -502,7 +495,6 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
.deleteType(NumberUtils.INTEGER_ZERO)
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
.build();
// salarySobItemMapper.InsertItemShow(salarySobItemHidePO);
needInsertItemShow.add(salarySobItemHidePO);
}
//更新
@ -520,7 +512,7 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
getSalarySobItemMapper().updateIgnoreNull(salarySobItemPO);
// 保存薪资项目是否展示
Long salarySobItemShowId = IdGenerator.generate();
SalarySobItemHidePO salarySobItemHidePO = SalarySobItemHidePO.builder()
needInsertItemShow.add(SalarySobItemHidePO.builder()
.id(salarySobItemShowId)
.salarySobId(salarySobId)
.salaryItemId(itemParam.getSalaryItemId())
@ -531,9 +523,7 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
.updateTime(now)
.deleteType(NumberUtils.INTEGER_ZERO)
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
.build();
// salarySobItemMapper.InsertItemShow(salarySobItemHidePO);
needInsertItemShow.add(salarySobItemHidePO);
.build());
}

View File

@ -372,6 +372,13 @@ public class SalarySobServiceImpl extends Service implements SalarySobService {
if (CollectionUtils.isNotEmpty(result.getNeedInsertSalarySobBackItems())) {
getSalarySobBackItemService(user).batchInsert(result.getNeedInsertSalarySobBackItems());
}
if (CollectionUtils.isNotEmpty(result.getNeedInsertItemHides())) {
//去重
List<SalarySobItemHidePO> list = new ArrayList<>(result.getNeedInsertItemHides().stream()
.collect(Collectors.toMap(SalarySobItemHidePO::getSalaryItemId, Function.identity(), (oldValue, newValue) -> oldValue))
.values());
salarySobItemService.batchInsertItemShow(list);
}
}
/**

View File

@ -96,7 +96,7 @@ public class SalarySobItemWrapper extends Service {
}
})
.collect(Collectors.toList());
SalaryPageUtil.buildPage(searchCurrent, searchPageSize, salaryItemList);
salaryItemList = SalaryPageUtil.buildPage(searchCurrent, searchPageSize, salaryItemList).getList();
//最终返回的分页对象
PageInfo<SalaryItemSobListDTO> dtoPage = new PageInfo<>(SalaryItemSobListDTO.class);