Merge remote-tracking branch 'remotes/origin/fix/231202-福利档案编辑页详情返回参数缺失' into feature/240101工资单模板复制优化及福利基数调整记录优化

This commit is contained in:
sy 2024-01-23 15:38:11 +08:00
commit 163c436b3d
1 changed files with 13 additions and 4 deletions

View File

@ -322,7 +322,7 @@ public class SIArchivesBiz {
}
}
List<SearchConditionGroup> addGroups = new ArrayList<>();
List<SearchConditionItem> inputItems = buildPaymentBase(user, schemeId, welfareType);
List<SearchConditionItem> inputItems = buildPaymentBase(user, schemeId, welfareType, welBaseDiffSign);
//如果查询结果中存在 方案中缺失福利险种的值设置初始值
for (SearchConditionItem item : inputItems) {
String insuranceId = item.getDomkey().length > 0 ? item.getDomkey()[0] : null;
@ -376,7 +376,7 @@ public class SIArchivesBiz {
}
List<SearchConditionGroup> addGroups = new ArrayList<>();
List<SearchConditionItem> inputItems = buildPaymentBase(user, schemeId, welfareType);
List<SearchConditionItem> inputItems = buildPaymentBase(user, schemeId, welfareType, welBaseDiffSign);
//如果查询结果中存在 方案中缺失福利险种的值设置初始值
for (SearchConditionItem item : inputItems) {
String insuranceId = item.getDomkey().length > 0 ? item.getDomkey()[0] : null;
@ -429,7 +429,7 @@ public class SIArchivesBiz {
}
List<SearchConditionGroup> addGroups = new ArrayList<>();
List<SearchConditionItem> inputItems = buildPaymentBase(user, schemeId, welfareType);
List<SearchConditionItem> inputItems = buildPaymentBase(user, schemeId, welfareType, welBaseDiffSign);
//如果查询结果中存在 方案中缺失福利险种的值设置初始值
for (SearchConditionItem item : inputItems) {
String insuranceId = item.getDomkey().length > 0 ? item.getDomkey()[0] : null;
@ -466,13 +466,22 @@ public class SIArchivesBiz {
* @param schemeId
* @return
*/
public List<SearchConditionItem> buildPaymentBase(User user, Long schemeId, Integer welfareType) {
public List<SearchConditionItem> buildPaymentBase(User user, Long schemeId, Integer welfareType, boolean welBaseDiffSign) {
List<SearchConditionItem> inputItems = new ArrayList<>();
if (schemeId == null) {
return new ArrayList<>();
}
List<InsuranceSchemeDetailPO> list = queryListByPrimaryIdIsPayment(schemeId, welfareType).stream()
.filter(f -> f.getPaymentScope().equals(PaymentScopeEnum.SCOPE_PERSON.getValue())).collect(Collectors.toList());
if (!welBaseDiffSign) {
List<Long> perInsuranceIdList = list.stream().map(InsuranceSchemeDetailPO::getInsuranceId).collect(Collectors.toList());
List<InsuranceSchemeDetailPO> moreComList = queryListByPrimaryIdIsPayment(schemeId, welfareType).stream()
.filter(f -> f.getPaymentScope().equals(PaymentScopeEnum.SCOPE_COMPANY.getValue()) && !perInsuranceIdList.contains(f.getInsuranceId())).collect(Collectors.toList());
if (moreComList.size() > 0) {
list.addAll(moreComList);
}
}
SICategoryBiz siCategoryBiz = new SICategoryBiz();
list.forEach(insuranceSchemeDetail -> {
ICategoryPO iCategoryPO = siCategoryBiz.getByID(insuranceSchemeDetail.getInsuranceId());