Merge branch 'release/2.19.1.2501.01' into feature/数据推送
This commit is contained in:
commit
c17a566443
|
|
@ -439,11 +439,11 @@ public class SIAccountBiz extends Service {
|
|||
public List<Long> listCanPayEmpIds(Long paymentOrganization, String billMonth) {
|
||||
List<Long> listCanPayEmpIds = new ArrayList<>();
|
||||
//社保档案中可进行缴纳的人员
|
||||
List<Long> socialCanPayEmpIds = getSocialSchemeMapper().listCanPayEmpIds(paymentOrganization, billMonth);
|
||||
List<Long> socialCanPayEmpIds = getSocialSchemeMapper().listCanPayEmpIds(paymentOrganization, billMonth, 0);
|
||||
//公积金档案中可进行缴纳的人员
|
||||
List<Long> fundCanPayEmpIds = getFundSchemeMapper().listCanPayEmpIds(paymentOrganization, billMonth);
|
||||
List<Long> fundCanPayEmpIds = getFundSchemeMapper().listCanPayEmpIds(paymentOrganization, billMonth, 0);
|
||||
//其他福利档案中可进行缴纳的人员
|
||||
List<Long> otherCanPayEmpIds = getOtherSchemeMapper().listCanPayEmpIds(paymentOrganization, billMonth);
|
||||
List<Long> otherCanPayEmpIds = getOtherSchemeMapper().listCanPayEmpIds(paymentOrganization, billMonth, 0);
|
||||
if (socialCanPayEmpIds != null && socialCanPayEmpIds.size() > 0) {
|
||||
listCanPayEmpIds.addAll(socialCanPayEmpIds);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,6 +28,8 @@ public interface SIAccountDetailTempMapper {
|
|||
*/
|
||||
void batchDelByEmpIdsAndMonthAndPayOrg(@Param("employeeIds") Collection<Long> employeeIds, @Param("billMonth") String billMonth, @Param("paymentOrganization") Long paymentOrganization);
|
||||
|
||||
void batchDelByMonthAndPayOrg(@Param("billMonth") String billMonth, @Param("paymentOrganization") Long paymentOrganization);
|
||||
|
||||
/**
|
||||
* 批量保存
|
||||
* @param accounts
|
||||
|
|
|
|||
|
|
@ -139,6 +139,14 @@
|
|||
</foreach>
|
||||
</delete>
|
||||
|
||||
<update id="batchDelByMonthAndPayOrg">
|
||||
UPDATE hrsa_bill_detail_temp
|
||||
SET delete_type = 1
|
||||
WHERE delete_type = 0
|
||||
AND bill_month = #{billMonth}
|
||||
AND payment_organization = #{paymentOrganization}
|
||||
</update>
|
||||
|
||||
|
||||
<insert id="batchSaveAccountTempDetails">
|
||||
INSERT INTO hrsa_bill_detail_temp
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ public interface FundSchemeMapper {
|
|||
* @param paymentOrganization
|
||||
* @return
|
||||
*/
|
||||
List<Long> listCanPayEmpIds(@Param("paymentOrganization")Long paymentOrganization, @Param("billMonth")String billMonth);
|
||||
List<Long> listCanPayEmpIds(@Param("paymentOrganization")Long paymentOrganization, @Param("billMonth")String billMonth, @Param("nonPayment") Integer nonPayment);
|
||||
|
||||
List<InsuranceArchivesFundSchemePO> listAll();
|
||||
|
||||
|
|
|
|||
|
|
@ -266,6 +266,7 @@
|
|||
AND fund_scheme_id is not null
|
||||
AND fund_start_time is not null AND fund_start_time <![CDATA[ <= ]]> #{billMonth}
|
||||
AND (fund_end_time is null OR fund_end_time <![CDATA[ >= ]]> #{billMonth} OR fund_end_time ='')
|
||||
AND non_payment = #{nonPayment}
|
||||
</select>
|
||||
|
||||
<select id="listAll" resultMap="BaseResultMap">
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ public interface OtherSchemeMapper {
|
|||
* @param paymentOrganization
|
||||
* @return
|
||||
*/
|
||||
List<Long> listCanPayEmpIds(@Param("paymentOrganization")Long paymentOrganization, @Param("billMonth")String billMonth);
|
||||
List<Long> listCanPayEmpIds(@Param("paymentOrganization")Long paymentOrganization, @Param("billMonth")String billMonth, @Param("nonPayment") Integer nonPayment);
|
||||
|
||||
List<InsuranceArchivesOtherSchemePO> listAll();
|
||||
|
||||
|
|
|
|||
|
|
@ -249,6 +249,7 @@
|
|||
AND other_scheme_id is not null
|
||||
AND other_start_time is not null AND other_start_time <![CDATA[ <= ]]> #{billMonth}
|
||||
AND (other_end_time is null OR other_end_time <![CDATA[ >= ]]> #{billMonth} OR other_end_time ='')
|
||||
AND non_payment = #{nonPayment}
|
||||
</select>
|
||||
|
||||
<select id="listAll" resultMap="BaseResultMap">
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ public interface SocialSchemeMapper {
|
|||
* @param paymentOrganization
|
||||
* @return
|
||||
*/
|
||||
List<Long> listCanPayEmpIds(@Param("paymentOrganization")Long paymentOrganization, @Param("billMonth")String billMonth);
|
||||
List<Long> listCanPayEmpIds(@Param("paymentOrganization")Long paymentOrganization, @Param("billMonth")String billMonth, @Param("nonPayment")Integer nonPayment);
|
||||
|
||||
List<InsuranceArchivesSocialSchemePO> listAll();
|
||||
|
||||
|
|
|
|||
|
|
@ -909,6 +909,7 @@
|
|||
AND social_scheme_id is not null
|
||||
AND social_start_time is not null AND social_start_time <![CDATA[ <= ]]> #{billMonth}
|
||||
AND (social_end_time is null OR social_end_time <![CDATA[ >= ]]> #{billMonth} OR social_end_time ='')
|
||||
AND non_payment = #{nonPayment}
|
||||
</select>
|
||||
|
||||
<select id="listAll" resultMap="BaseResultMap">
|
||||
|
|
|
|||
|
|
@ -5026,7 +5026,7 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
|
|||
// Map<Long, InsuranceArchivesAccountPO> insuranceArchivesAccountPOS = siArchivesBiz.buildBatchAccount(ids, paymentOrganization);
|
||||
Map<Long, InsuranceArchivesAccountPO> insuranceArchivesAccountPOS = getSIArchivesService(user).buildBatchAccount(ids, paymentOrganization);
|
||||
List<InsuranceAccountDetailPO> historyDetailData = new ArrayList<>();
|
||||
List<DataCollectionEmployee> employeeList = new ArrayList<>();
|
||||
List<DataCollectionEmployee> employeeList = getSalaryEmployeeService(user).listByIds(ids);
|
||||
if (!isFirstFlag) {
|
||||
// 不是首次核算,需要把社保历史数据取出
|
||||
List<List<Long>> partition = Lists.partition(ids, 100);
|
||||
|
|
@ -5034,8 +5034,6 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
|
|||
historyDetailData.addAll(getInsuranceAccountDetailMapper().list(InsuranceAccountDetailParam.builder().billMonth(billMonth).paymentOrganization(paymentOrganization.toString()).employeeIds(part).build()));
|
||||
historyDetailData.addAll(getInsuranceAccountDetailMapper().extList(InsuranceAccountDetailParam.builder().billMonth(billMonth).paymentOrganization(paymentOrganization.toString()).employeeIds(part).build()));
|
||||
});
|
||||
} else {
|
||||
employeeList = getSalaryEmployeeService(user).listByIds(ids);
|
||||
}
|
||||
Map<Long, InsuranceAccountDetailPO> historyDetailDataMap = SalaryEntityUtil.convert2Map(historyDetailData, InsuranceAccountDetailPO::getEmployeeId);
|
||||
Map<Long, DataCollectionEmployee> employeeMap = SalaryEntityUtil.convert2Map(employeeList, DataCollectionEmployee::getEmployeeId);
|
||||
|
|
@ -5057,7 +5055,9 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
|
|||
insuranceAccountDetailPO.setResourceFrom(ResourceFromEnum.SYSTEM.getValue());
|
||||
insuranceAccountDetailPO.setTenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY);
|
||||
insuranceAccountDetailPO.setPaymentOrganization(paymentOrganization);
|
||||
if (isFirstFlag) {
|
||||
|
||||
InsuranceAccountDetailPO historyDetail = historyDetailDataMap.get(k);
|
||||
if (isFirstFlag || historyDetail == null) {
|
||||
// 初次核算
|
||||
DataCollectionEmployee employee = employeeMap.get(k);
|
||||
if (employee != null) {
|
||||
|
|
@ -5072,18 +5072,15 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
|
|||
insuranceAccountDetailPO.setStatus(employee.getStatus());
|
||||
}
|
||||
} else {
|
||||
InsuranceAccountDetailPO historyDetail = historyDetailDataMap.get(k);
|
||||
if (historyDetail != null) {
|
||||
insuranceAccountDetailPO.setSubcompanyName(historyDetail.getSubcompanyName());
|
||||
insuranceAccountDetailPO.setSubcompanyId(historyDetail.getSubcompanyId());
|
||||
insuranceAccountDetailPO.setDepartmentName(historyDetail.getDepartmentName());
|
||||
insuranceAccountDetailPO.setDepartmentId(historyDetail.getDepartmentId());
|
||||
insuranceAccountDetailPO.setJobtitleName(historyDetail.getJobtitleName());
|
||||
insuranceAccountDetailPO.setJobtitleId(historyDetail.getJobtitleId());
|
||||
insuranceAccountDetailPO.setJobcall(historyDetail.getJobcall());
|
||||
insuranceAccountDetailPO.setJobcallId(historyDetail.getJobcallId());
|
||||
insuranceAccountDetailPO.setStatus(historyDetail.getStatus());
|
||||
}
|
||||
insuranceAccountDetailPO.setSubcompanyName(historyDetail.getSubcompanyName());
|
||||
insuranceAccountDetailPO.setSubcompanyId(historyDetail.getSubcompanyId());
|
||||
insuranceAccountDetailPO.setDepartmentName(historyDetail.getDepartmentName());
|
||||
insuranceAccountDetailPO.setDepartmentId(historyDetail.getDepartmentId());
|
||||
insuranceAccountDetailPO.setJobtitleName(historyDetail.getJobtitleName());
|
||||
insuranceAccountDetailPO.setJobtitleId(historyDetail.getJobtitleId());
|
||||
insuranceAccountDetailPO.setJobcall(historyDetail.getJobcall());
|
||||
insuranceAccountDetailPO.setJobcallId(historyDetail.getJobcallId());
|
||||
insuranceAccountDetailPO.setStatus(historyDetail.getStatus());
|
||||
}
|
||||
|
||||
//核算社保
|
||||
|
|
@ -5113,10 +5110,12 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
|
|||
|
||||
}
|
||||
//临时表入库前先对(可能存在的)历史数据进行删除
|
||||
List<List<Long>> partition = Lists.partition((List<Long>) ids, 100);
|
||||
partition.forEach(part -> {
|
||||
getSIAccountDetailTempMapper().batchDelByEmpIdsAndMonthAndPayOrg(part, billMonth, paymentOrganization);
|
||||
});
|
||||
// List<List<Long>> partition = Lists.partition((List<Long>) ids, 100);
|
||||
// partition.forEach(part -> {
|
||||
// getSIAccountDetailTempMapper().batchDelByEmpIdsAndMonthAndPayOrg(part, billMonth, paymentOrganization);
|
||||
// });
|
||||
// 根据人员id删,会少删不再参与社保核算的人。
|
||||
getSIAccountDetailTempMapper().batchDelByMonthAndPayOrg(billMonth, paymentOrganization);
|
||||
//临时表数据入库
|
||||
if (CollectionUtils.isNotEmpty(list)) {
|
||||
encryptUtil.encryptList(list, InsuranceAccountDetailTempPO.class);
|
||||
|
|
@ -5667,12 +5666,12 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
|
|||
*/
|
||||
public List<Long> listCanPayEmpIds(Long paymentOrganization, String billMonth) {
|
||||
List<Long> listCanPayEmpIds = new ArrayList<>();
|
||||
//社保档案中可进行缴纳的人员
|
||||
List<Long> socialCanPayEmpIds = getSocialSchemeMapper().listCanPayEmpIds(paymentOrganization, billMonth);
|
||||
//公积金档案中可进行缴纳的人员
|
||||
List<Long> fundCanPayEmpIds = getFundSchemeMapper().listCanPayEmpIds(paymentOrganization, billMonth);
|
||||
//其他福利档案中可进行缴纳的人员
|
||||
List<Long> otherCanPayEmpIds = getOtherSchemeMapper().listCanPayEmpIds(paymentOrganization, billMonth);
|
||||
//社保档案中可进行缴纳的人员 (未勾选暂不缴纳)
|
||||
List<Long> socialCanPayEmpIds = getSocialSchemeMapper().listCanPayEmpIds(paymentOrganization, billMonth, 0);
|
||||
//公积金档案中可进行缴纳的人员(未勾选暂不缴纳)
|
||||
List<Long> fundCanPayEmpIds = getFundSchemeMapper().listCanPayEmpIds(paymentOrganization, billMonth, 0);
|
||||
//其他福利档案中可进行缴纳的人员(未勾选暂不缴纳)
|
||||
List<Long> otherCanPayEmpIds = getOtherSchemeMapper().listCanPayEmpIds(paymentOrganization, billMonth, 0);
|
||||
if (socialCanPayEmpIds != null && socialCanPayEmpIds.size() > 0) {
|
||||
listCanPayEmpIds.addAll(socialCanPayEmpIds);
|
||||
}
|
||||
|
|
@ -5700,16 +5699,23 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
|
|||
log.info("核算明细临时表 hrsa_bill_detail_temp待处理数量:{}", list.size());
|
||||
List<List<Long>> partitionIds = Lists.partition((List<Long>) ids, 100);
|
||||
log.info("bill_detail入库前删除数据数量:{}", ids.size());
|
||||
for (List<Long> part : partitionIds) {
|
||||
getInsuranceAccountDetailMapper().batchDelAccountDetails(part, billMonth, param.getPaymentOrganization(), paymentStatus);
|
||||
getInsuranceAccountDetailMapper().batchDelAccountDetails(Collections.emptyList(), billMonth, param.getPaymentOrganization(), paymentStatus);
|
||||
|
||||
//删除账单月份+个税扣缴义务人+人员id下的调差数据
|
||||
getInsuranceCompensationMapper().deleteByBillMonthPayOrgEmpIds(InsuranceCompensationPO.builder()
|
||||
.billMonth(billMonth)
|
||||
.paymentOrganization(param.getPaymentOrganization())
|
||||
.employeeIds(part)
|
||||
.build());
|
||||
}
|
||||
//删除账单月份+个税扣缴义务人+人员id下的调差数据
|
||||
getInsuranceCompensationMapper().deleteByBillMonthPayOrgEmpIds(InsuranceCompensationPO.builder()
|
||||
.billMonth(billMonth)
|
||||
.paymentOrganization(param.getPaymentOrganization())
|
||||
.build());
|
||||
// for (List<Long> part : partitionIds) {
|
||||
// getInsuranceAccountDetailMapper().batchDelAccountDetails(part, billMonth, param.getPaymentOrganization(), paymentStatus);
|
||||
//
|
||||
// //删除账单月份+个税扣缴义务人+人员id下的调差数据
|
||||
// getInsuranceCompensationMapper().deleteByBillMonthPayOrgEmpIds(InsuranceCompensationPO.builder()
|
||||
// .billMonth(billMonth)
|
||||
// .paymentOrganization(param.getPaymentOrganization())
|
||||
// .employeeIds(part)
|
||||
// .build());
|
||||
// }
|
||||
|
||||
//生成bill_detail入库数据
|
||||
List<InsuranceAccountDetailPO> collect = list.stream().map(item -> {
|
||||
|
|
|
|||
|
|
@ -362,18 +362,17 @@ public class SettingServiceImpl extends Service implements SettingService {
|
|||
|
||||
@Override
|
||||
public XSSFWorkbook downloadPageExportTemplateFile(DownloadTemplateParam param) {
|
||||
List<List<Object>> rowList = new ArrayList<>();
|
||||
List<List<String>> rowList = new ArrayList<>();
|
||||
List<String> heads = param.getHeads();
|
||||
List<String> setting = param.getSetting();
|
||||
if (CollUtil.isEmpty(heads)||CollUtil.isEmpty(setting)||Objects.equals(heads.size(), setting.size())){
|
||||
if (CollUtil.isEmpty(heads)||CollUtil.isEmpty(setting)||!Objects.equals(heads.size(), setting.size())){
|
||||
throw new SalaryRunTimeException("未选择字段");
|
||||
}
|
||||
|
||||
rowList.add(Collections.singletonList(heads));
|
||||
setting = setting.stream().map(s -> String.format("{.%s}", s)).collect(Collectors.toList());
|
||||
rowList.add(Collections.singletonList(setting));
|
||||
rowList.add(heads);
|
||||
rowList.add(setting);
|
||||
|
||||
return ExcelUtilPlus.genWorkbookV2(rowList, "薪资明细");
|
||||
return ExcelUtilPlus.genWorkbook(rowList, "薪资明细");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -161,7 +161,7 @@ public class SalaryCommonController {
|
|||
|
||||
XSSFWorkbook workbook = getSalaryCommonWrapper(user).downloadPageExportTemplateFile(param);
|
||||
|
||||
String fileName = "薪资明细模板" + LocalDate.now();
|
||||
String fileName = "薪资明细模板示例" + LocalDate.now();
|
||||
try {
|
||||
fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8");
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue