薪资档案代码合并
This commit is contained in:
parent
b90953873c
commit
8e69159900
|
|
@ -1,6 +1,20 @@
|
|||
ALTER TABLE hrsa_salary_archive
|
||||
ADD COLUMN tax_agent_id bigint(0) NULL COMMENT '个税扣缴义务人id' AFTER tenant_key;
|
||||
ADD COLUMN tax_agent_id bigint(0) NULL COMMENT '个税扣缴义务人id'
|
||||
ADD COLUMN pay_start_date datetime(0) NULL DEFAULT NULL COMMENT '起始发薪日期' ,
|
||||
ADD COLUMN pay_end_date datetime(0) NULL DEFAULT NULL COMMENT '最后发薪日期' ;
|
||||
|
||||
|
||||
ALTER TABLE hrsa_salary_archive
|
||||
ADD COLUMN pay_start_date datetime(0) NULL DEFAULT NULL COMMENT '起始发薪日期' AFTER tax_agent_id,
|
||||
ADD COLUMN pay_end_date datetime(0) NULL DEFAULT NULL COMMENT '最后发薪日期' AFTER pay_start_date;
|
||||
ADD tax_agent_id bigint NULL ,
|
||||
pay_start_date datetime NULL ,
|
||||
pay_end_date datetime NULL
|
||||
GO
|
||||
|
||||
|
||||
|
||||
ALTER TABLE hrsa_salary_archive ADD (
|
||||
tax_agent_id NUMBER(38,0) NULL ,
|
||||
pay_start_date date NULL ,
|
||||
pay_end_date date NULL
|
||||
)
|
||||
/
|
||||
|
|
@ -125,13 +125,20 @@ public interface SalaryArchiveService {
|
|||
List<SalaryArchiveDataDTO> getSalaryArchiveTaxAgentData(LocalDateRange localDateRange, Collection<Long> employeeIds);
|
||||
|
||||
/**
|
||||
* 导入
|
||||
* 导入,数据入库
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
Map<String,Object> importSalaryArchive(SalaryArchiveImportHandleParam param);
|
||||
|
||||
/**
|
||||
* 导入
|
||||
* @param param
|
||||
* @param ifImportData 数据是否入库
|
||||
* @return
|
||||
*/
|
||||
Map<String,Object> importSalaryArchive(SalaryArchiveImportHandleParam param,boolean ifImportData);
|
||||
|
||||
/**
|
||||
* 预览
|
||||
* @param param
|
||||
|
|
|
|||
|
|
@ -175,8 +175,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
return Collections.EMPTY_LIST;
|
||||
}
|
||||
List<SalaryArchiveItemPO> salaryArchiveItems = salaryArchiveItemMapper.getCurrentEffectiveItemList(SalaryArchiveItemQueryParam.builder().salaryArchivesIds(salaryArchivesIds).salaryItemIds(salaryItemIds).effectiveTime(new Date()).build());
|
||||
return salaryArchiveItems.stream()
|
||||
.collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(f -> f.getSalaryArchiveId() + "-" + f.getSalaryItemId()))), ArrayList::new));
|
||||
return salaryArchiveItems.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(f -> f.getSalaryArchiveId() + "-" + f.getSalaryItemId()))), ArrayList::new));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -192,8 +191,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
}
|
||||
List<SalaryArchiveTaxAgentPO> salaryArchiveTaxAgents = salaryArchiveTaxAgentMapper.listByParam(SalaryArchiveTaxAgentQueryParam.builder().salaryArchivesIds(salaryArchivesIds).effectiveTime(new Date()).build());
|
||||
|
||||
return salaryArchiveTaxAgents.stream()
|
||||
.collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(SalaryArchiveTaxAgentPO::getSalaryArchiveId))), ArrayList::new));
|
||||
return salaryArchiveTaxAgents.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(SalaryArchiveTaxAgentPO::getSalaryArchiveId))), ArrayList::new));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -206,10 +204,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<Map<String, Object>> buildSalaryArchiveData(Collection<SalaryArchiveListDTO> salaryArchives,
|
||||
Collection<TaxAgentPO> taxAgentLists,
|
||||
List<SalaryItemPO> salaryItems,
|
||||
Boolean isPage) {
|
||||
public List<Map<String, Object>> buildSalaryArchiveData(Collection<SalaryArchiveListDTO> salaryArchives, Collection<TaxAgentPO> taxAgentLists, List<SalaryItemPO> salaryItems, Boolean isPage) {
|
||||
// 分页用于表格展示,否则用于导出
|
||||
Collection<Long> ids = isPage ? salaryArchives.stream().map(SalaryArchiveListDTO::getId).collect(Collectors.toList()) : CollectionUtils.emptyCollection();
|
||||
|
||||
|
|
@ -276,13 +271,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
String sheetName = SalaryI18nUtil.getI18nLabel(85368, "薪资档案");
|
||||
// 获取所有可被引用的薪资项目
|
||||
List<SalaryItemPO> salaryItems = salaryItemMapper.getCanAdjustSalaryItems();
|
||||
String[] header = {
|
||||
SalaryI18nUtil.getI18nLabel(85429, "姓名"),
|
||||
SalaryI18nUtil.getI18nLabel(86184, "个税扣缴义务人"),
|
||||
SalaryI18nUtil.getI18nLabel(86185, "部门"),
|
||||
SalaryI18nUtil.getI18nLabel(86186, "手机号"),
|
||||
SalaryI18nUtil.getI18nLabel(91075, "状态")
|
||||
};
|
||||
String[] header = {SalaryI18nUtil.getI18nLabel(85429, "姓名"), SalaryI18nUtil.getI18nLabel(86184, "个税扣缴义务人"), SalaryI18nUtil.getI18nLabel(86185, "部门"), SalaryI18nUtil.getI18nLabel(86186, "手机号"), SalaryI18nUtil.getI18nLabel(91075, "状态")};
|
||||
// 2.表头
|
||||
List<Object> headerList = new ArrayList<>(Arrays.asList(header));
|
||||
for (SalaryItemPO salaryItem : salaryItems) {
|
||||
|
|
@ -458,16 +447,9 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
po.setUpdateTime(now);
|
||||
salaryArchiveDimissionMapper.updateById(po);
|
||||
} else {
|
||||
salaryArchiveDimissionMapper.insert(SalaryArchiveDimissionPO
|
||||
.builder()
|
||||
salaryArchiveDimissionMapper.insert(SalaryArchiveDimissionPO.builder()
|
||||
// .id(IdGenerator.generate())
|
||||
.dimissionTimeInterval(saveParam.getDimissionTimeInterval().getValue())
|
||||
.createTime(now)
|
||||
.updateTime(now)
|
||||
.creator((long) user.getUID())
|
||||
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
|
||||
.build()
|
||||
);
|
||||
.dimissionTimeInterval(saveParam.getDimissionTimeInterval().getValue()).createTime(now).updateTime(now).creator((long) user.getUID()).tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY).build());
|
||||
}
|
||||
return StringUtils.EMPTY;
|
||||
}
|
||||
|
|
@ -499,14 +481,9 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
List<SalaryItemPO> salaryItems = salaryItemMapper.getCanAdjustSalaryItems();
|
||||
Collection<Long> salaryItemIds = salaryItems.stream().map(SalaryItemPO::getId).collect(Collectors.toList());
|
||||
// 获取薪资项目调整数据,isOnlyTaxAgent为true时不需要薪资项目数据
|
||||
List<SalaryArchiveItemPO> salaryArchiveItemDataList = isOnlyTaxAgent || CollectionUtils.isEmpty(salaryItemIds) ?
|
||||
Lists.newArrayList() : salaryArchiveItemMapper.listByParam(SalaryArchiveItemQueryParam.builder().salaryItemIds(salaryItemIds).employeeIds(employeeIds).effectiveTime(localDateRange.getEndDate()).build());
|
||||
List<SalaryArchiveItemPO> salaryArchiveItemDataList = isOnlyTaxAgent || CollectionUtils.isEmpty(salaryItemIds) ? Lists.newArrayList() : salaryArchiveItemMapper.listByParam(SalaryArchiveItemQueryParam.builder().salaryItemIds(salaryItemIds).employeeIds(employeeIds).effectiveTime(localDateRange.getEndDate()).build());
|
||||
|
||||
return SalaryArchiveBO.buildSalaryArchiveData(salaryArchiveList,
|
||||
salaryArchiveItemDataList,
|
||||
localDateRange,
|
||||
allEmployeeIds,
|
||||
isOnlyTaxAgent);
|
||||
return SalaryArchiveBO.buildSalaryArchiveData(salaryArchiveList, salaryArchiveItemDataList, localDateRange, allEmployeeIds, isOnlyTaxAgent);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -710,17 +687,13 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
|
||||
Collection<Long> salaryItemIds = salaryItems.stream().map(SalaryItemPO::getId).collect(Collectors.toList());
|
||||
Date now = new Date();
|
||||
return SalaryArchiveImportHandleParam.builder()
|
||||
.openDevolution(getTaxAgentService(user).isOpenDevolution())
|
||||
.listTaxAgentAndEmployeeTree(getTaxAgentService(user).listTaxAgentAndEmployeeTree(employeeId))
|
||||
return SalaryArchiveImportHandleParam.builder().openDevolution(getTaxAgentService(user).isOpenDevolution()).listTaxAgentAndEmployeeTree(getTaxAgentService(user).listTaxAgentAndEmployeeTree(employeeId))
|
||||
// 获取租户下所有的人员
|
||||
.employees(employBiz.listEmployee())
|
||||
// 获取所有个税扣缴义务人
|
||||
.taxAgentList(getTaxAgentService(user).listAllTaxAgentsAsAdmin(employeeId))
|
||||
.salaryItems(salaryItems)
|
||||
.taxAgentList(getTaxAgentService(user).listAllTaxAgentsAsAdmin(employeeId)).salaryItems(salaryItems)
|
||||
// 查询已有的薪资档案基本数据
|
||||
.salaryArchives(list(SalaryArchiveQueryParam.builder().build()))
|
||||
.salaryItemIds(salaryItemIds)
|
||||
.salaryArchives(list(SalaryArchiveQueryParam.builder().build())).salaryItemIds(salaryItemIds)
|
||||
// 查询已生效的薪资项目数据
|
||||
.effectiveItemList(getEffectiveItemList(salaryItemIds))
|
||||
// 查询未生效的薪资项目数据
|
||||
|
|
@ -742,8 +715,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
// 待删除薪资档案-个税扣缴义务人
|
||||
.salaryArchiveTaxAgentDelTaxAgentIds(Lists.newArrayList())
|
||||
// 待删除薪资档案-薪资项目
|
||||
.salaryArchiveItemDelSalaryItemIds(Lists.newArrayList())
|
||||
.build();
|
||||
.salaryArchiveItemDelSalaryItemIds(Lists.newArrayList()).build();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -776,11 +748,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
if (optionalInitImport.isPresent()) {
|
||||
SalaryArchiveInitImportDTO initImport = optionalInitImport.get();
|
||||
List<SalaryArchiveInitImportSameDTO> sames = initImport.getSames();
|
||||
sames.add(SalaryArchiveInitImportSameDTO.builder()
|
||||
.isError(isError)
|
||||
.rowNo(rowNo)
|
||||
.row(map)
|
||||
.build());
|
||||
sames.add(SalaryArchiveInitImportSameDTO.builder().isError(isError).rowNo(rowNo).row(map).build());
|
||||
Optional<SalaryArchiveInitImportSameDTO> optionalSame = sames.stream().filter(SalaryArchiveInitImportSameDTO::isError).findFirst();
|
||||
// 只要是其中一行有错误
|
||||
if (optionalSame.isPresent()) {
|
||||
|
|
@ -826,11 +794,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
SalaryArchiveInitImportDTO initImport = new SalaryArchiveInitImportDTO();
|
||||
initImport.setEmployeeId(employeeId);
|
||||
List<SalaryArchiveInitImportSameDTO> sames = Lists.newArrayList();
|
||||
sames.add(SalaryArchiveInitImportSameDTO.builder()
|
||||
.isError(isError)
|
||||
.rowNo(rowNo)
|
||||
.row(map)
|
||||
.build());
|
||||
sames.add(SalaryArchiveInitImportSameDTO.builder().isError(isError).rowNo(rowNo).row(map).build());
|
||||
initImport.setSames(sames);
|
||||
initImportData.add(initImport);
|
||||
}
|
||||
|
|
@ -858,8 +822,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
* @param importHandleParam
|
||||
* @return
|
||||
*/
|
||||
private boolean singleRowCheck(String importType, List<Long> allEmployeeIds, Map<String, Object> map, List<String> headers,
|
||||
List<Map<String, String>> excelComments, int errorCount, SalaryArchiveImportHandleParam importHandleParam) {
|
||||
private boolean singleRowCheck(String importType, List<Long> allEmployeeIds, Map<String, Object> map, List<String> headers, List<Map<String, String>> excelComments, int errorCount, SalaryArchiveImportHandleParam importHandleParam) {
|
||||
boolean isError = false;
|
||||
|
||||
boolean isInit = importType.equals(SalaryArchiveImportTypeEnum.INIT.getValue());
|
||||
|
|
@ -876,21 +839,13 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
// 1.姓名
|
||||
String userName = Optional.ofNullable(map.get(userNameI18n)).orElse("").toString();
|
||||
String deparmentName = Optional.ofNullable(map.get(SalaryI18nUtil.getI18nLabel(86185, "部门"))).orElse("").toString();
|
||||
List<DataCollectionEmployee> emps = importHandleParam.getEmployees().stream()
|
||||
.filter(e -> (StringUtils.isBlank(userName) || Objects.equals(e.getUsername(), userName))
|
||||
&& (StringUtils.isBlank(deparmentName) || Objects.equals(e.getDepartmentName(), deparmentName)))
|
||||
.collect(Collectors.toList());
|
||||
List<DataCollectionEmployee> emps = importHandleParam.getEmployees().stream().filter(e -> (StringUtils.isBlank(userName) || Objects.equals(e.getUsername(), userName)) && (StringUtils.isBlank(deparmentName) || Objects.equals(e.getDepartmentName(), deparmentName))).collect(Collectors.toList());
|
||||
List<Long> employeeSameIds = new ArrayList<>();
|
||||
if (CollectionUtils.isNotEmpty(emps) && emps.size() > 1) {
|
||||
employeeSameIds = emps.stream()
|
||||
.filter(e -> UserStatusEnum.getNormalStatus().contains(e.getStatus()))
|
||||
.map(DataCollectionEmployee::getEmployeeId)
|
||||
.collect(Collectors.toList());
|
||||
employeeSameIds = emps.stream().filter(e -> UserStatusEnum.getNormalStatus().contains(e.getStatus())).map(DataCollectionEmployee::getEmployeeId).collect(Collectors.toList());
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(emps) && emps.size() == 1) {
|
||||
employeeSameIds = emps.stream()
|
||||
.map(DataCollectionEmployee::getEmployeeId)
|
||||
.collect(Collectors.toList());
|
||||
employeeSameIds = emps.stream().map(DataCollectionEmployee::getEmployeeId).collect(Collectors.toList());
|
||||
}
|
||||
Long employeeId = CollectionUtils.isNotEmpty(employeeSameIds) && employeeSameIds.size() == 1 && employeeSameIds.get(0) > 0 ? employeeSameIds.get(0) : null;
|
||||
|
||||
|
|
@ -948,13 +903,11 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
|
||||
String cellVal = Optional.ofNullable(map.get(key)).orElse("").toString();
|
||||
|
||||
boolean isEmpty = StringUtils.isEmpty(cellVal) &&
|
||||
(userNameI18n.equals(key)
|
||||
// 个税扣缴义务人列判空(初始化导入或调整个税扣缴义务人)
|
||||
|| (taxAgentI18n.equals(key) && (isInit || isTaxAgentAdjust))
|
||||
|| (effectiveTimeI18n.equals(key) && isSalaryItemAdjust)
|
||||
// 调整原因列判空(调薪或调整个税扣缴义务人)
|
||||
|| (adjustReasonI18n.equals(key) && (isTaxAgentAdjust || isSalaryItemAdjust)));
|
||||
boolean isEmpty = StringUtils.isEmpty(cellVal) && (userNameI18n.equals(key)
|
||||
// 个税扣缴义务人列判空(初始化导入或调整个税扣缴义务人)
|
||||
|| (taxAgentI18n.equals(key) && (isInit || isTaxAgentAdjust)) || (effectiveTimeI18n.equals(key) && isSalaryItemAdjust)
|
||||
// 调整原因列判空(调薪或调整个税扣缴义务人)
|
||||
|| (adjustReasonI18n.equals(key) && (isTaxAgentAdjust || isSalaryItemAdjust)));
|
||||
// 判空
|
||||
if (userNameI18n.equals(key) && StringUtils.isEmpty(cellVal)) {
|
||||
Map<String, String> errorMessageMap = Maps.newHashMap();
|
||||
|
|
@ -1037,8 +990,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
continue;
|
||||
}
|
||||
|
||||
isError = handleSalaryItem(isError, isInit, excelComments,
|
||||
effectiveTime, finalSalaryArchive, adjustReason, importHandleParam, key, cellVal, map);
|
||||
isError = handleSalaryItem(isError, isInit, excelComments, effectiveTime, finalSalaryArchive, adjustReason, importHandleParam, key, cellVal, map);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -1059,17 +1011,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
salaryArchive.setPayEndDate(payEndDate);
|
||||
} else if (employeeId != null && isInit) {
|
||||
// 新增档案
|
||||
salaryArchive = SalaryArchivePO.builder()
|
||||
.id(IdGenerator.generate())
|
||||
.employeeId(employeeId)
|
||||
.taxAgentId(taxAgentId)
|
||||
.payStartDate(payStartDate)
|
||||
.payEndDate(payEndDate)
|
||||
.createTime(importHandleParam.getNowTime())
|
||||
.updateTime(importHandleParam.getNowTime())
|
||||
.creator((long) user.getUID())
|
||||
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
|
||||
.build();
|
||||
salaryArchive = SalaryArchivePO.builder().id(IdGenerator.generate()).employeeId(employeeId).taxAgentId(taxAgentId).payStartDate(payStartDate).payEndDate(payEndDate).createTime(importHandleParam.getNowTime()).updateTime(importHandleParam.getNowTime()).creator((long) user.getUID()).tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY).build();
|
||||
|
||||
importHandleParam.getSalaryArchiveSaves().add(salaryArchive);
|
||||
}
|
||||
|
|
@ -1090,9 +1032,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
* @param importHandleParam
|
||||
* @return
|
||||
*/
|
||||
private boolean handleTaxAgent(boolean isError, boolean isInit,
|
||||
List<Map<String, String>> excelComments, int errorCount, int j,
|
||||
Long taxAgentId, Date effectiveTime, SalaryArchivePO finalSalaryArchive, String taxAgentAdjustReason, SalaryArchiveImportHandleParam importHandleParam, Map<String, Object> map) {
|
||||
private boolean handleTaxAgent(boolean isError, boolean isInit, List<Map<String, String>> excelComments, int errorCount, int j, Long taxAgentId, Date effectiveTime, SalaryArchivePO finalSalaryArchive, String taxAgentAdjustReason, SalaryArchiveImportHandleParam importHandleParam, Map<String, Object> map) {
|
||||
String rowindex = "第" + map.get("index") + "行";
|
||||
|
||||
//分权
|
||||
|
|
@ -1225,18 +1165,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
if (!isBeforeError) {
|
||||
importHandleParam.getSalaryArchiveTaxAgentSaves().add(SalaryArchiveTaxAgentPO.builder()
|
||||
// .id(IdGenerator.generate())
|
||||
.salaryArchiveId(finalSalaryArchive.getId())
|
||||
.employeeId(finalSalaryArchive.getEmployeeId())
|
||||
.taxAgentId(taxAgentId)
|
||||
.effectiveTime(effectiveTime)
|
||||
.adjustReason(StringUtils.isEmpty(taxAgentAdjustReason) ? SalaryArchiveTaxAgentAdjustReasonEnum.INIT.getValue() : taxAgentAdjustReason)
|
||||
.operator((long) user.getUID())
|
||||
.operateTime(importHandleParam.getNowTime())
|
||||
.createTime(importHandleParam.getNowTime())
|
||||
.updateTime(importHandleParam.getNowTime())
|
||||
.creator((long) user.getUID())
|
||||
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
|
||||
.build());
|
||||
.salaryArchiveId(finalSalaryArchive.getId()).employeeId(finalSalaryArchive.getEmployeeId()).taxAgentId(taxAgentId).effectiveTime(effectiveTime).adjustReason(StringUtils.isEmpty(taxAgentAdjustReason) ? SalaryArchiveTaxAgentAdjustReasonEnum.INIT.getValue() : taxAgentAdjustReason).operator((long) user.getUID()).operateTime(importHandleParam.getNowTime()).createTime(importHandleParam.getNowTime()).updateTime(importHandleParam.getNowTime()).creator((long) user.getUID()).tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY).build());
|
||||
}
|
||||
}
|
||||
return isError;
|
||||
|
|
@ -1254,10 +1183,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
* @param cellVal
|
||||
* @return
|
||||
*/
|
||||
private boolean handleSalaryItem(boolean isError, boolean isInit,
|
||||
List<Map<String, String>> excelComments,
|
||||
Date effectiveTime, SalaryArchivePO finalSalaryArchive, String salaryItemAdjustReason, SalaryArchiveImportHandleParam importHandleParam,
|
||||
String key, String cellVal, Map<String, Object> map) {
|
||||
private boolean handleSalaryItem(boolean isError, boolean isInit, List<Map<String, String>> excelComments, Date effectiveTime, SalaryArchivePO finalSalaryArchive, String salaryItemAdjustReason, SalaryArchiveImportHandleParam importHandleParam, String key, String cellVal, Map<String, Object> map) {
|
||||
String rowindex = "第" + map.get("index") + "行";
|
||||
Optional<SalaryItemPO> optionalSalaryItem = importHandleParam.getSalaryItems().stream().filter(e -> e.getName().equals(key)).findFirst();
|
||||
if (optionalSalaryItem.isPresent()) {
|
||||
|
|
@ -1344,20 +1270,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
if (!isBeforeError) {
|
||||
importHandleParam.getSalaryArchiveItemSaves().add(SalaryArchiveItemPO.builder()
|
||||
// .id(IdGenerator.generate())
|
||||
.salaryArchiveId(finalSalaryArchive.getId())
|
||||
.employeeId(finalSalaryArchive.getEmployeeId())
|
||||
.effectiveTime(effectiveTime)
|
||||
.adjustReason(StringUtils.isEmpty(salaryItemAdjustReason) ? SalaryArchiveItemAdjustReasonEnum.INIT.getValue() : salaryItemAdjustReason)
|
||||
.salaryItemId(salaryItemId)
|
||||
.itemValue(cellVal)
|
||||
.description("")
|
||||
.operator((long) user.getUID())
|
||||
.operateTime(importHandleParam.getNowTime())
|
||||
.createTime(importHandleParam.getNowTime())
|
||||
.updateTime(importHandleParam.getNowTime())
|
||||
.creator((long) user.getUID())
|
||||
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
|
||||
.build());
|
||||
.salaryArchiveId(finalSalaryArchive.getId()).employeeId(finalSalaryArchive.getEmployeeId()).effectiveTime(effectiveTime).adjustReason(StringUtils.isEmpty(salaryItemAdjustReason) ? SalaryArchiveItemAdjustReasonEnum.INIT.getValue() : salaryItemAdjustReason).salaryItemId(salaryItemId).itemValue(cellVal).description("").operator((long) user.getUID()).operateTime(importHandleParam.getNowTime()).createTime(importHandleParam.getNowTime()).updateTime(importHandleParam.getNowTime()).creator((long) user.getUID()).tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY).build());
|
||||
}
|
||||
// 用于初始化导入,同一个人的多行记录之间的薪资项目是否调整
|
||||
map.put("salaryItemVal", Optional.ofNullable(map.get("salaryItemVal")).orElse("").toString() + salaryItemId + cellVal);
|
||||
|
|
@ -1563,42 +1476,19 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
|
||||
for (SalaryArchiveTaxAgentPO st : saTaxAgents) {
|
||||
Date finalEndDate = endDate;
|
||||
List<SalaryArchiveItemPO> saItems = saItemList.stream().filter(si -> !si.getEffectiveTime().after(finalEndDate))
|
||||
.collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(f -> f.getSalaryArchiveId() + "-" + f.getSalaryItemId()))), ArrayList::new));
|
||||
List<SalaryArchiveItemPO> saItems = saItemList.stream().filter(si -> !si.getEffectiveTime().after(finalEndDate)).collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(f -> f.getSalaryArchiveId() + "-" + f.getSalaryItemId()))), ArrayList::new));
|
||||
|
||||
SalaryArchivePO newSA = SalaryArchivePO.builder()
|
||||
.id(IdGenerator.generate())
|
||||
.employeeId(sa.getEmployeeId())
|
||||
.taxAgentId(st.getTaxAgentId())
|
||||
.payStartDate(st.getEffectiveTime())
|
||||
SalaryArchivePO newSA = SalaryArchivePO.builder().id(IdGenerator.generate()).employeeId(sa.getEmployeeId()).taxAgentId(st.getTaxAgentId()).payStartDate(st.getEffectiveTime())
|
||||
// .runStatus(SalaryArchiveStatusEnum.FIXED.getValue())
|
||||
// .modifier(0L)
|
||||
.createTime(today)
|
||||
.updateTime(today)
|
||||
.creator(currentEmployeeId)
|
||||
.deleteType(NumberUtils.INTEGER_ZERO)
|
||||
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
|
||||
.build();
|
||||
.createTime(today).updateTime(today).creator(currentEmployeeId).deleteType(NumberUtils.INTEGER_ZERO).tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY).build();
|
||||
salaryArchiveAddList.add(newSA);
|
||||
saItems.forEach(sf -> {
|
||||
salaryArchiveItemAddList.add(SalaryArchiveItemPO.builder()
|
||||
// .id(IdGenerator.generate())
|
||||
.salaryArchiveId(newSA.getId())
|
||||
.employeeId(newSA.getEmployeeId())
|
||||
.effectiveTime(sf.getEffectiveTime())
|
||||
.adjustReason(sf.getAdjustReason())
|
||||
.salaryItemId(sf.getSalaryItemId())
|
||||
.itemValue(sf.getItemValue())
|
||||
.description(sf.getDescription())
|
||||
.salaryArchiveId(newSA.getId()).employeeId(newSA.getEmployeeId()).effectiveTime(sf.getEffectiveTime()).adjustReason(sf.getAdjustReason()).salaryItemId(sf.getSalaryItemId()).itemValue(sf.getItemValue()).description(sf.getDescription())
|
||||
// 不用设置操作人
|
||||
.operator(currentEmployeeId)
|
||||
.operateTime(today)
|
||||
.createTime(today)
|
||||
.updateTime(today)
|
||||
.creator(currentEmployeeId)
|
||||
.deleteType(NumberUtils.INTEGER_ZERO)
|
||||
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
|
||||
.build());
|
||||
.operator(currentEmployeeId).operateTime(today).createTime(today).updateTime(today).creator(currentEmployeeId).deleteType(NumberUtils.INTEGER_ZERO).tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY).build());
|
||||
});
|
||||
|
||||
// endDate = st.getEffectiveTime();
|
||||
|
|
|
|||
Loading…
Reference in New Issue