This commit is contained in:
钱涛 2022-04-07 14:19:06 +08:00
parent 76eca07701
commit caf83c6386
4 changed files with 46 additions and 38 deletions

View File

@ -2,9 +2,8 @@ package com.engine.salary.enums.salaryarchive;
import com.engine.salary.util.SalaryI18nUtil;
import java.util.Arrays;
import java.util.Objects;
import java.util.Optional;
import java.util.*;
import java.util.stream.Collectors;
/**
* @Description: 薪资档案-薪资项目调整原因
@ -70,4 +69,13 @@ public enum SalaryArchiveItemAdjustReasonEnum {
}
return null;
}
public static List<Map<String, String>> getList(){
return Arrays.stream(SalaryArchiveItemAdjustReasonEnum.values()).map(e -> {
Map<String, String> map = new HashMap<>();
map.put("id", e.getValue());
map.put("content", e.getDefaultLabel());
return map;
}).collect(Collectors.toList());
}
}

View File

@ -6,10 +6,13 @@ import java.util.*;
import java.util.stream.Collectors;
/**
* @Description: 薪资档案-个税扣缴义务人调整原因
* @Author: wangxiangzhong
* @Date: 2021/11/1 16:06
*/
* 薪资档案-个税扣缴义务人调整原因
* <p>Copyright: Copyright (c) 2022</p>
* <p>Company: 泛微软件</p>
*
* @author qiantao
* @version 1.0
**/
public enum SalaryArchiveTaxAgentAdjustReasonEnum {
ADJUSTMENT("ADJUSTMENT", "调动", 85899),

View File

@ -1,5 +1,6 @@
package com.engine.salary.service.impl;
import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.common.LocalDateRange;
import com.engine.salary.entity.salaryacct.bo.SalaryAcctRecordBO;
@ -28,6 +29,7 @@ import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
import org.springframework.transaction.annotation.Transactional;
import weaver.hrm.User;
import java.util.*;
import java.util.stream.Collectors;
@ -43,9 +45,13 @@ import java.util.stream.Collectors;
public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRecordService {
private SalaryAcctRecordMapper salaryAcctRecordMapper = SqlProxyHandle.getProxy(SalaryAcctRecordMapper.class);
private SalaryAcctRecordMapper getSalaryAcctRecordMapper() {
return SqlProxyHandle.getProxy(SalaryAcctRecordMapper.class);
}
private SalarySobService salarySobService;
private SalarySobService getSalarySobService(User user) {
return (SalarySobService) ServiceUtil.getService(SalarySobServiceImpl.class, user);
}
private SalaryAcctEmployeeService salaryAcctEmployeeService;
@ -66,8 +72,7 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
@Override
public SalaryAcctRecordPO getById(Long id) {
SalaryAcctRecordMapper salaryAcctRecordMapper = SqlProxyHandle.getProxy(SalaryAcctRecordMapper.class);
return salaryAcctRecordMapper.getById(id);
return getSalaryAcctRecordMapper().getById(id);
}
@Override
@ -75,8 +80,7 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
if (CollectionUtils.isEmpty(ids)) {
return Collections.emptyList();
}
SalaryAcctRecordMapper salaryAcctRecordMapper = SqlProxyHandle.getProxy(SalaryAcctRecordMapper.class);
return salaryAcctRecordMapper.listSome(SalaryAcctRecordPO.builder().ids(ids).build());
return getSalaryAcctRecordMapper().listSome(SalaryAcctRecordPO.builder().ids(ids).build());
}
@Override
@ -84,8 +88,7 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
if (CollectionUtils.isEmpty(salarySobIds)) {
return Collections.emptyList();
}
SalaryAcctRecordMapper salaryAcctRecordMapper = SqlProxyHandle.getProxy(SalaryAcctRecordMapper.class);
return salaryAcctRecordMapper.listSome(SalaryAcctRecordPO.builder().salarySobIds(salarySobIds).salaryMonths(salaryMonthDateRange).build());
return getSalaryAcctRecordMapper().listSome(SalaryAcctRecordPO.builder().salarySobIds(salarySobIds).salaryMonths(salaryMonthDateRange).build());
}
@Override
@ -93,26 +96,23 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
if (CollectionUtils.isEmpty(salarySobIds)) {
return Collections.emptyList();
}
SalaryAcctRecordMapper salaryAcctRecordMapper = SqlProxyHandle.getProxy(SalaryAcctRecordMapper.class);
return salaryAcctRecordMapper.listSome(SalaryAcctRecordPO.builder().salarySobIds(salarySobIds).taxCycleDateRange(taxCycleDateRange).build());
return getSalaryAcctRecordMapper().listSome(SalaryAcctRecordPO.builder().salarySobIds(salarySobIds).taxCycleDateRange(taxCycleDateRange).build());
}
@Override
public List<SalaryAcctRecordPO> listBySalaryMonth(LocalDateRange salaryMonthDateRange) {
SalaryAcctRecordMapper salaryAcctRecordMapper = SqlProxyHandle.getProxy(SalaryAcctRecordMapper.class);
return salaryAcctRecordMapper.listSome(SalaryAcctRecordPO.builder().salaryMonths(salaryMonthDateRange).build());
return getSalaryAcctRecordMapper().listSome(SalaryAcctRecordPO.builder().salaryMonths(salaryMonthDateRange).build());
}
@Override
public PageInfo<SalaryAcctRecordPO> listPageByParam(SalaryAcctRecordQueryParam queryParam) {
SalaryAcctRecordMapper salaryAcctRecordMapper = SqlProxyHandle.getProxy(SalaryAcctRecordMapper.class);
// 分页参数
// 构建queryWrapper
SalaryAcctRecordPO po = SalaryAcctRecordPO.builder().build();
PageInfo<SalaryAcctRecordPO> page = new PageInfo<>();
if (StringUtils.isNotEmpty(queryParam.getName())) {
// 根据查询条件中的薪资账套名称查询薪资账套
List<SalarySobPO> salarySobPOS = salarySobService.listByNameLike(queryParam.getName());
List<SalarySobPO> salarySobPOS = getSalarySobService(user).listByNameLike(queryParam.getName());
if (CollectionUtils.isEmpty(salarySobPOS)) {
return page;
}
@ -128,7 +128,7 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
}
// 查询薪资核算记录
PageUtil.start(queryParam.getCurrent(), queryParam.getPageSize());
List<SalaryAcctRecordPO> salaryAcctRecordPOS = salaryAcctRecordMapper.listSome(po);
List<SalaryAcctRecordPO> salaryAcctRecordPOS = getSalaryAcctRecordMapper().listSome(po);
page.setList(salaryAcctRecordPOS);
return page;
}
@ -155,8 +155,7 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
@Override
public List<SalaryAcctRecordPO> listBySalarySobIds(Collection<Long> salarySobIds) {
SalaryAcctRecordMapper salaryAcctRecordMapper = SqlProxyHandle.getProxy(SalaryAcctRecordMapper.class);
return salaryAcctRecordMapper.listSome(SalaryAcctRecordPO.builder().salarySobIds(salarySobIds).build());
return getSalaryAcctRecordMapper().listSome(SalaryAcctRecordPO.builder().salarySobIds(salarySobIds).build());
}
@Override
@ -166,7 +165,7 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98747, "薪资核算记录不存在或已被删除"));
}
// 查询所有薪资类型为工资薪金的账套
List<SalarySobPO> salarySobPOS = salarySobService.listByIncomeCategory(IncomeCategoryEnum.WAGES_AND_SALARIES);
List<SalarySobPO> salarySobPOS = getSalarySobService(user).listByIncomeCategory(IncomeCategoryEnum.WAGES_AND_SALARIES);
// 如果薪资账套的薪资类型不是工资薪金的代表不存在合并计税
boolean isWageSalarySob = salarySobPOS.stream().anyMatch(salarySobPO -> Objects.equals(salarySobPO.getId(), salaryAcctRecordPO.getSalarySobId()));
if (!isWageSalarySob) {
@ -188,7 +187,7 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98747, "薪资核算记录不存在或已被删除"));
}
// 查询薪资核算所用薪资账套的薪资周期考勤周期
return salarySobService.getSalarySobCycle(salaryAcctRecordPO.getSalarySobId(), SalaryDateUtil.localDate2YearMonth(salaryAcctRecordPO.getSalaryMonth()));
return getSalarySobService(user).getSalarySobCycle(salaryAcctRecordPO.getSalarySobId(), SalaryDateUtil.localDate2YearMonth(salaryAcctRecordPO.getSalaryMonth()));
}
@ -240,12 +239,11 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
&& salaryAcctRecordPO.getSalaryMonth().equals(SalaryDateUtil.localDateToDate(saveParam.getSalaryMonth().atDay(1))))
.count();
// 查询税款所属期
SalarySobCycleDTO salarySobCycleDTO = salarySobService.getSalarySobCycle(saveParam.getSalarySobId(), saveParam.getSalaryMonth());
SalarySobCycleDTO salarySobCycleDTO = getSalarySobService(user).getSalarySobCycle(saveParam.getSalarySobId(), saveParam.getSalaryMonth());
// 转换成po
SalaryAcctRecordPO salaryAcctRecordPO = SalaryAcctRecordBO.convert2PO(saveParam, salarySobCycleDTO, (int) acctTimes, (long)user.getUID());
// 保存薪资核算记录
SalaryAcctRecordMapper salaryAcctRecordMapper = SqlProxyHandle.getProxy(SalaryAcctRecordMapper.class);
salaryAcctRecordMapper.insertIgnoreNull(salaryAcctRecordPO);
getSalaryAcctRecordMapper().insertIgnoreNull(salaryAcctRecordPO);
// 初始化薪资核算人员
salaryAcctEmployeeService.initBySalaryAcctRecord(salaryAcctRecordPO);
// 记录日志
@ -274,7 +272,7 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
salaryAcctRecordPOS.forEach(salaryAcctRecordPO -> {
salaryAcctRecordPO.setStatus(status.getValue());
salaryAcctRecordPO.setUpdateTime(now);
salaryAcctRecordMapper.updateIgnoreNull(salaryAcctRecordPO);
getSalaryAcctRecordMapper().updateIgnoreNull(salaryAcctRecordPO);
});
}
@ -294,10 +292,10 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
}
// 查询账套记录日志用
Set<Long> salarySobIds = SalaryEntityUtil.properties(salaryAcctRecordPOS, SalaryAcctRecordPO::getSalarySobId);
List<SalarySobPO> salarySobPOS = salarySobService.listByIds(salarySobIds);
List<SalarySobPO> salarySobPOS = getSalarySobService(user).listByIds(salarySobIds);
Map<Long, SalarySobPO> salarySobPOMap = SalaryEntityUtil.convert2Map(salarySobPOS, SalarySobPO::getId);
// 删除薪资核算记录
salaryAcctRecordMapper.deleteByIds(ids);
getSalaryAcctRecordMapper().deleteByIds(ids);
//todo 删除薪资核算人员
// salaryAcctEmployeeService.deleteBySalaryAcctRecordIds(ids);
// // 删除薪资核算结果
@ -313,7 +311,7 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
List<SalaryAcctRecordPO> toUpdateAcctTimesRecordPOS = listBySalarySobIds(salarySobIds);
toUpdateAcctTimesRecordPOS = SalaryAcctRecordBO.updateAcctTimes(salaryAcctRecordPOS, toUpdateAcctTimesRecordPOS);
for (SalaryAcctRecordPO salaryAcctRecordPO : toUpdateAcctTimesRecordPOS) {
salaryAcctRecordMapper.updateIgnoreNull(salaryAcctRecordPO);
getSalaryAcctRecordMapper().updateIgnoreNull(salaryAcctRecordPO);
}
// 记录日志
@ -352,7 +350,7 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
// 更新薪资核算记录的状态
salaryAcctRecordPO.setStatus(SalaryAcctRecordStatusEnum.ARCHIVED.getValue());
salaryAcctRecordPO.setUpdateTime(new Date());
salaryAcctRecordMapper.updateIgnoreNull(salaryAcctRecordPO);
getSalaryAcctRecordMapper().updateIgnoreNull(salaryAcctRecordPO);
//todo 生成工资单
// salarySendService.generateSalaryBill(salaryAcctRecordId, employeeId, tenantKey);
// 记录日志
@ -399,7 +397,7 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
// 更新薪资核算记录的状态
salaryAcctRecordPO.setStatus(SalaryAcctRecordStatusEnum.NOT_ARCHIVED.getValue());
salaryAcctRecordPO.setUpdateTime(new Date());
salaryAcctRecordMapper.updateIgnoreNull(salaryAcctRecordPO);
getSalaryAcctRecordMapper().updateIgnoreNull(salaryAcctRecordPO);
//todo 撤回工资单
// salarySendService.revokeSalaryBill(salaryAcctRecordId);
//todo 删除个税申报表(个税申报表个税申报表详情往期累计情况)
@ -445,7 +443,7 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98747, "薪资核算记录不存在或已被删除"));
}
// 查询账套
SalarySobPO salarySobPO = salarySobService.getById(salaryAcctRecordPO.getSalarySobId());
SalarySobPO salarySobPO = getSalarySobService(user).getById(salaryAcctRecordPO.getSalarySobId());
if (Objects.isNull(salarySobPO)) {
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98769, "薪资账套不存在或已被删除"));
}

View File

@ -13,7 +13,6 @@ import com.engine.salary.entity.salaryarchive.po.SalaryArchiveItemPO;
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
import com.engine.salary.enums.SalaryUserStatusEnum;
import com.engine.salary.enums.salaryarchive.SalaryArchiveItemAdjustReasonEnum;
import com.engine.salary.enums.salaryarchive.SalaryArchiveTaxAgentAdjustReasonEnum;
import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.service.SalaryArchiveItemService;
import com.engine.salary.service.impl.SalaryArchiveItemServiceImpl;
@ -63,7 +62,7 @@ public class SalaryArchiveItemWrapper extends Service {
data.put("effectiveTime", effectiveTime + "");
data.put("adjustReason", adjustReason);
data.put("description", description);
data.put("adjustReasonList", SalaryArchiveTaxAgentAdjustReasonEnum.getList());
data.put("adjustReasonList", SalaryArchiveItemAdjustReasonEnum.getList());
return data;
}