parent
36e2f96ae5
commit
b6f8e857d2
|
|
@ -74,4 +74,6 @@ public class SalaryArchiveBiz {
|
|||
sqlSession.close();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -115,6 +115,12 @@ public class SalaryArchiveImportHandleParam {
|
|||
*/
|
||||
List<SalaryArchivePO> salaryArchiveSaves;
|
||||
|
||||
/**
|
||||
* 待修改薪资档案
|
||||
*/
|
||||
List<SalaryArchivePO> salaryArchiveUpdates;
|
||||
|
||||
|
||||
/**
|
||||
* 待保存薪资档案-个税扣缴义务人
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -15,6 +15,14 @@ public interface SalaryArchiveMapper {
|
|||
* @return 返回集合,没有返回空List
|
||||
*/
|
||||
List<SalaryArchivePO> listAll();
|
||||
|
||||
/**
|
||||
* 修改,修改所有字段
|
||||
*
|
||||
* @param salaryArchive 修改的记录
|
||||
* @return 返回影响行数
|
||||
*/
|
||||
int update(SalaryArchivePO salaryArchive);
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -38,6 +38,22 @@
|
|||
WHERE delete_type = 0
|
||||
</select>
|
||||
|
||||
<update id="update" parameterType="com.engine.salary.entity.salaryarchive.po.SalaryArchivePO">
|
||||
UPDATE hrsa_salary_archive
|
||||
<set>
|
||||
employee_id=#{employeeId},
|
||||
create_time=#{createTime},
|
||||
update_time=#{updateTime},
|
||||
creator=#{creator},
|
||||
delete_type=#{deleteType},
|
||||
tenant_key=#{tenantKey},
|
||||
tax_agent_id=#{taxAgentId},
|
||||
pay_start_date=#{payStartDate},
|
||||
pay_end_date=#{payEndDate},
|
||||
</set>
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
<!-- 根据主键获取单条记录 -->
|
||||
<select id="getById" resultMap="BaseResultMap" parameterType="Long">
|
||||
SELECT
|
||||
|
|
|
|||
|
|
@ -39,6 +39,8 @@ public interface SalaryArchiveService {
|
|||
*/
|
||||
SalaryArchivePO getById(Long salaryArchiveId);
|
||||
|
||||
List<SalaryArchivePO> listSome(SalaryArchivePO po);
|
||||
|
||||
/**
|
||||
* 薪资档案列表(分页)
|
||||
*
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
|
|||
// private SalaryComparisonResultService salaryComparisonResultService;
|
||||
|
||||
private SalarySobService getSalarySobService(User user) {
|
||||
return (SalarySobService) ServiceUtil.getService(SalarySobServiceImpl.class, user);
|
||||
return ServiceUtil.getService(SalarySobServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalaryEmployeeService getSalaryEmployeeService(User user) {
|
||||
|
|
@ -391,13 +391,12 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
|
|||
// 根据薪资账套查询薪资周期
|
||||
SalarySobCycleDTO salarySobCycleDTO = getSalarySobService(user).getSalarySobCycle(salaryAcctRecordPO.getSalarySobId(), SalaryDateUtil.localDate2YearMonth(salaryAcctRecordPO.getSalaryMonth()));
|
||||
|
||||
List<DataCollectionEmployee> finalSalaryEmployees = new ArrayList<>();
|
||||
// 根据薪资账套的"核算人员范围"过滤入职日期大于薪资周期止的人员
|
||||
salaryEmployees = salaryEmployees.stream().filter(salaryEmployee -> StringUtils.isBlank(salaryEmployee.getCompanystartdate()) || (SalaryDateUtil.stringToDate(salaryEmployee.getCompanystartdate()) != null && SalaryDateUtil.stringToDate(salaryEmployee.getCompanystartdate()).compareTo(salarySobCycleDTO.getSalaryCycle().getEndDate()) <= 0)).collect(Collectors.toList());
|
||||
|
||||
|
||||
// 根据薪资账套的"核算人员范围"过滤离职日期小于薪资周期起的人员
|
||||
salaryEmployees = salaryEmployees.stream().filter(salaryEmployee -> StringUtils.isBlank(salaryEmployee.getDismissdate()) || (SalaryDateUtil.stringToDate(salaryEmployee.getCompanystartdate()) != null && SalaryDateUtil.stringToDate(salaryEmployee.getDismissdate()).compareTo(salarySobCycleDTO.getSalaryCycle().getEndDate()) > 0)).collect(Collectors.toList());
|
||||
// // 根据薪资账套的"核算人员范围"过滤入职日期大于薪资周期止的人员
|
||||
// salaryEmployees = salaryEmployees.stream().filter(salaryEmployee -> StringUtils.isBlank(salaryEmployee.getCompanystartdate()) || (SalaryDateUtil.stringToDate(salaryEmployee.getCompanystartdate()) != null && SalaryDateUtil.stringToDate(salaryEmployee.getCompanystartdate()).compareTo(salarySobCycleDTO.getSalaryCycle().getEndDate()) <= 0)).collect(Collectors.toList());
|
||||
//
|
||||
//
|
||||
// // 根据薪资账套的"核算人员范围"过滤离职日期小于薪资周期起的人员
|
||||
// salaryEmployees = salaryEmployees.stream().filter(salaryEmployee -> StringUtils.isBlank(salaryEmployee.getDismissdate()) || (SalaryDateUtil.stringToDate(salaryEmployee.getCompanystartdate()) != null && SalaryDateUtil.stringToDate(salaryEmployee.getDismissdate()).compareTo(salarySobCycleDTO.getSalaryCycle().getEndDate()) > 0)).collect(Collectors.toList());
|
||||
|
||||
|
||||
//查询账套对应的扣缴义务人
|
||||
|
|
|
|||
|
|
@ -102,6 +102,12 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
return salaryArchiveMapper.getById(salaryArchiveId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SalaryArchivePO> listSome(SalaryArchivePO po) {
|
||||
// 获取薪资档案数据
|
||||
return getSalaryArchiveMapper().listSome(po);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageInfo<SalaryArchiveListDTO> listPage(SalaryArchiveQueryParam queryParam) {
|
||||
long currentEmployeeId = user.getUID();
|
||||
|
|
@ -657,13 +663,6 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
Map<String, Object> map = data.get(i);
|
||||
List<String> headers = Lists.newArrayList();
|
||||
map.keySet().forEach(headers::add);
|
||||
int effectiveTimeIndex = 0;
|
||||
for (int j = 0; j < headers.size(); j++) {
|
||||
if (headers.get(j).equals(SalaryI18nUtil.getI18nLabel(85904, "生效日期"))) {
|
||||
effectiveTimeIndex = j;
|
||||
break;
|
||||
}
|
||||
}
|
||||
map.put("index", i + 2);
|
||||
// 3.校验行内容
|
||||
boolean isError = singleRowCheck(importType, Lists.newArrayList(), map, headers, excelComments, errorCount, importHandleParam);
|
||||
|
|
@ -766,6 +765,8 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
.today(now)
|
||||
// 待保存薪资档案
|
||||
.salaryArchiveSaves(Lists.newArrayList())
|
||||
// 待修改薪资档案-
|
||||
.salaryArchiveUpdates(Lists.newArrayList())
|
||||
// 待保存薪资档案-个税扣缴义务人
|
||||
.salaryArchiveTaxAgentSaves(Lists.newArrayList())
|
||||
// 待保存薪资档案-薪资项目
|
||||
|
|
@ -1055,21 +1056,51 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
return isError;
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建薪资档案
|
||||
* @param isInit
|
||||
* @param payStartDate
|
||||
* @param payEndDate
|
||||
* @param employeeId
|
||||
* @param taxAgentId
|
||||
* @param importHandleParam
|
||||
* @return
|
||||
*/
|
||||
private SalaryArchivePO buildSalaryArchive(boolean isInit, Date payStartDate, Date payEndDate, Long employeeId, Long taxAgentId, SalaryArchiveImportHandleParam importHandleParam) {
|
||||
Optional<SalaryArchiveListDTO> optionalSA = importHandleParam.getSalaryArchives().stream().filter(p -> p.getEmployeeId().equals(employeeId) && p.getTaxAgentId().equals(taxAgentId)).findFirst();
|
||||
Optional<SalaryArchiveListDTO> optionalSA = importHandleParam.getSalaryArchives().stream()
|
||||
.filter(p -> p.getEmployeeId().equals(employeeId) && p.getTaxAgentId().equals(taxAgentId))
|
||||
.findFirst();
|
||||
SalaryArchivePO salaryArchive = null;
|
||||
if (optionalSA.isPresent()) {
|
||||
// 修改档案
|
||||
SalaryArchiveListDTO sa = optionalSA.get();
|
||||
salaryArchive = new SalaryArchivePO();
|
||||
salaryArchive.setId(sa.getId());
|
||||
salaryArchive.setEmployeeId(sa.getEmployeeId());
|
||||
salaryArchive.setTaxAgentId(sa.getTaxAgentId());
|
||||
salaryArchive.setPayStartDate(payStartDate);
|
||||
salaryArchive.setPayEndDate(payEndDate);
|
||||
salaryArchive = SalaryArchivePO.builder()
|
||||
.id(sa.getId())
|
||||
.employeeId(sa.getEmployeeId())
|
||||
.taxAgentId(sa.getTaxAgentId())
|
||||
.payStartDate(payStartDate)
|
||||
.payEndDate(payEndDate)
|
||||
.createTime(importHandleParam.getNowTime())
|
||||
.updateTime(importHandleParam.getNowTime())
|
||||
.creator((long) user.getUID())
|
||||
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
|
||||
.deleteType(0)
|
||||
.build();
|
||||
importHandleParam.getSalaryArchiveUpdates().add(salaryArchive);
|
||||
} 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)
|
||||
.deleteType(0)
|
||||
.build();
|
||||
|
||||
importHandleParam.getSalaryArchiveSaves().add(salaryArchive);
|
||||
}
|
||||
|
|
@ -1452,9 +1483,8 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
private void handleImportData(boolean isInit, SalaryArchiveImportHandleParam importHandleParam) {
|
||||
|
||||
List<SalaryArchivePO> salaryArchiveSaves = importHandleParam.getSalaryArchiveSaves();
|
||||
List<SalaryArchiveTaxAgentPO> salaryArchiveTaxAgentSaves = importHandleParam.getSalaryArchiveTaxAgentSaves();
|
||||
List<SalaryArchivePO> salaryArchiveUpdates = importHandleParam.getSalaryArchiveUpdates();
|
||||
List<SalaryArchiveItemPO> salaryArchiveItemSaves = importHandleParam.getSalaryArchiveItemSaves();
|
||||
List<Long> salaryArchiveTaxAgentDelTaxAgentIds = importHandleParam.getSalaryArchiveTaxAgentDelTaxAgentIds();
|
||||
List<Long> salaryArchiveItemDelSalaryItemIds = importHandleParam.getSalaryArchiveItemDelSalaryItemIds();
|
||||
// 初始化导入
|
||||
if (isInit) {
|
||||
|
|
@ -1470,23 +1500,21 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
}
|
||||
}
|
||||
} else {
|
||||
if (CollectionUtils.isNotEmpty(salaryArchiveTaxAgentDelTaxAgentIds)) {
|
||||
salaryArchiveTaxAgentMapper.deleteBatchIds(salaryArchiveTaxAgentDelTaxAgentIds);
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(salaryArchiveItemDelSalaryItemIds)) {
|
||||
salaryArchiveItemMapper.deleteBatchIds(salaryArchiveItemDelSalaryItemIds);
|
||||
}
|
||||
}
|
||||
|
||||
// 修改薪资档案
|
||||
if (CollectionUtils.isNotEmpty(salaryArchiveUpdates)) {
|
||||
salaryArchiveUpdates.forEach(getSalaryArchiveMapper()::update);
|
||||
}
|
||||
|
||||
// 新增薪资档案
|
||||
if (CollectionUtils.isNotEmpty(salaryArchiveSaves)) {
|
||||
// 薪资档案
|
||||
salaryArchiveMapper.batchInsert(salaryArchiveSaves);
|
||||
}
|
||||
// 薪资档案-个税扣缴义务人
|
||||
if (CollectionUtils.isNotEmpty(salaryArchiveTaxAgentSaves)) {
|
||||
salaryArchiveTaxAgentMapper.batchInsert(salaryArchiveTaxAgentSaves);
|
||||
}
|
||||
// 薪资档案-薪资项目
|
||||
if (CollectionUtils.isNotEmpty(salaryArchiveItemSaves)) {
|
||||
salaryArchiveItemMapper.batchInsert(salaryArchiveItemSaves);
|
||||
|
|
|
|||
Loading…
Reference in New Issue