杭州五院逻辑调整
This commit is contained in:
parent
a8b2c7e8e9
commit
a1982fbf76
|
|
@ -380,21 +380,27 @@ public class CalculateFormulaVarBO {
|
||||||
String value;
|
String value;
|
||||||
// 获取薪资项目的调薪规则
|
// 获取薪资项目的调薪规则
|
||||||
SalarySobAdjustRulePO salaryAdjustmentRulePO = salarySobAdjustRulePOMap.get(entry.getKey());
|
SalarySobAdjustRulePO salaryAdjustmentRulePO = salarySobAdjustRulePOMap.get(entry.getKey());
|
||||||
// if (entry.getValue().size() > 2) {
|
if (entry.getValue().size() > 2) {
|
||||||
// // 如果薪资项目在薪资周期内经历了多次调薪,则默认分段计薪
|
// 如果薪资项目在薪资周期内经历了多次调薪,则默认分段计薪
|
||||||
// value = calculateBySalarySobAdjustRule(salaryCycle, SalarySobAdjustRuleTypeEnum.PARTITION, entry.getValue());
|
value = calculateBySalarySobAdjustRule(salaryCycle, SalarySobAdjustRuleTypeEnum.PARTITION, entry.getValue());
|
||||||
// } else if (salaryAdjustmentRulePO == null || entry.getValue().size() < 2) {
|
} else if (salaryAdjustmentRulePO == null || entry.getValue().size() < 2) {
|
||||||
// // 如果薪资项目没有设置调薪计薪规则,默认取薪资周期内薪资档案中最新的值
|
// 如果薪资项目没有设置调薪计薪规则,默认取薪资周期内薪资档案中最新的值
|
||||||
// // 如果薪资项目在薪资周期内没有调薪,默认取薪资周期内薪资档案中最新的值
|
// 如果薪资项目在薪资周期内没有调薪,默认取薪资周期内薪资档案中最新的值
|
||||||
// value = calculateBySalarySobAdjustRule(salaryCycle, SalarySobAdjustRuleTypeEnum.USE_AFTER_ADJUSTMENT, entry.getValue());
|
value = calculateBySalarySobAdjustRule(salaryCycle, SalarySobAdjustRuleTypeEnum.USE_AFTER_ADJUSTMENT, entry.getValue());
|
||||||
// } else {
|
} else {
|
||||||
// // 如果薪资项目在薪资周期内只有一次调薪,则根据调薪计薪规则处理
|
// 如果薪资项目在薪资周期内只有一次调薪,则根据调薪计薪规则处理
|
||||||
// SalarySobAdjustRuleTypeEnum adjustRuleTypeEnum = salaryAdjustmentRulePO.getDayOfMonth() < SalaryDateUtil.dateToLocalDate(entry.getValue().get(0).getEffectiveDateRange().getEndDate()).getDayOfMonth()
|
SalarySobAdjustRuleTypeEnum adjustRuleTypeEnum = salaryAdjustmentRulePO.getDayOfMonth() < SalaryDateUtil.dateToLocalDate(entry.getValue().get(0).getEffectiveDateRange().getEndDate()).getDayOfMonth()
|
||||||
// ? SalarySobAdjustRuleTypeEnum.parseByValue(salaryAdjustmentRulePO.getAfterAdjustmentType())
|
? SalarySobAdjustRuleTypeEnum.parseByValue(salaryAdjustmentRulePO.getAfterAdjustmentType())
|
||||||
// : SalarySobAdjustRuleTypeEnum.parseByValue(salaryAdjustmentRulePO.getBeforeAdjustmentType());
|
: SalarySobAdjustRuleTypeEnum.parseByValue(salaryAdjustmentRulePO.getBeforeAdjustmentType());
|
||||||
// // 根据调薪计薪规则处理薪资档案的调薪
|
// 根据调薪计薪规则处理薪资档案的调薪
|
||||||
// value = calculateBySalarySobAdjustRule(salaryCycle, adjustRuleTypeEnum, entry.getValue());
|
value = calculateBySalarySobAdjustRule(salaryCycle, adjustRuleTypeEnum, entry.getValue());
|
||||||
// }
|
}
|
||||||
|
String fieldId = SalaryFormulaReferenceEnum.SALARY_ARCHIVES.getValue()
|
||||||
|
+ SalaryFormulaFieldConstant.FIELD_ID_SEPARATOR
|
||||||
|
+ salaryItemCodeMap.getOrDefault(entry.getKey(), StringUtils.EMPTY);
|
||||||
|
formulaVarValues.add(new FormulaVarValue().setFieldId(fieldId).setFieldValue(value));
|
||||||
|
|
||||||
|
|
||||||
List<SalaryArchiveItemDataDTO> thisMonthEntryValue = new ArrayList<>();
|
List<SalaryArchiveItemDataDTO> thisMonthEntryValue = new ArrayList<>();
|
||||||
if (CollectionUtils.isEmpty(entry.getValue())) {
|
if (CollectionUtils.isEmpty(entry.getValue())) {
|
||||||
thisMonthEntryValue = new ArrayList<>();
|
thisMonthEntryValue = new ArrayList<>();
|
||||||
|
|
@ -447,9 +453,10 @@ public class CalculateFormulaVarBO {
|
||||||
value = (NumberUtils.isCreatable(value) ? new BigDecimal(value) : new BigDecimal("0")).add(supplementValue).toString();
|
value = (NumberUtils.isCreatable(value) ? new BigDecimal(value) : new BigDecimal("0")).add(supplementValue).toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
String fieldId = SalaryFormulaReferenceEnum.SALARY_ARCHIVES.getValue()
|
fieldId = SalaryFormulaReferenceEnum.SALARY_ARCHIVES.getValue()
|
||||||
+ SalaryFormulaFieldConstant.FIELD_ID_SEPARATOR
|
+ SalaryFormulaFieldConstant.FIELD_ID_SEPARATOR
|
||||||
+ salaryItemCodeMap.getOrDefault(entry.getKey(), StringUtils.EMPTY);
|
+ entry.getKey()
|
||||||
|
+"_secDev";
|
||||||
formulaVarValues.add(new FormulaVarValue().setFieldId(fieldId).setFieldValue(value));
|
formulaVarValues.add(new FormulaVarValue().setFieldId(fieldId).setFieldValue(value));
|
||||||
}
|
}
|
||||||
return formulaVarValues;
|
return formulaVarValues;
|
||||||
|
|
|
||||||
|
|
@ -218,6 +218,15 @@ public class SalaryAcctCalculateServiceImpl extends Service implements SalaryAcc
|
||||||
Set<Long> salarySobBackItemIds = SalaryEntityUtil.properties(salarySobBackItems, SalarySobBackItemPO::getSalaryItemId);
|
Set<Long> salarySobBackItemIds = SalaryEntityUtil.properties(salarySobBackItems, SalarySobBackItemPO::getSalaryItemId);
|
||||||
Map<Long, SalarySobBackItemPO> salarySobBackItemMap = SalaryEntityUtil.convert2Map(salarySobBackItems, SalarySobBackItemPO::getSalaryItemId);
|
Map<Long, SalarySobBackItemPO> salarySobBackItemMap = SalaryEntityUtil.convert2Map(salarySobBackItems, SalarySobBackItemPO::getSalaryItemId);
|
||||||
List<SalaryAcctResultTempPO> salaryAcctResultTempPOS = Lists.newArrayList();
|
List<SalaryAcctResultTempPO> salaryAcctResultTempPOS = Lists.newArrayList();
|
||||||
|
// 获取3个档案的薪资项目id
|
||||||
|
BaseBean baseBean = new BaseBean();
|
||||||
|
Long jbgzItemId = NumberUtils.isCreatable(baseBean.getPropValue("wyhzzxSalary", "jbgz_item_id")) ? Long.valueOf(baseBean.getPropValue("wyhzzxSalary", "jbgz_item_id")) : 0L;
|
||||||
|
Long gwgzItemId = NumberUtils.isCreatable(baseBean.getPropValue("wyhzzxSalary", "gwgz_item_id")) ? Long.valueOf(baseBean.getPropValue("wyhzzxSalary", "gwgz_item_id")) : 0L;
|
||||||
|
Long jxgzItemId = NumberUtils.isCreatable(baseBean.getPropValue("wyhzzxSalary", "jxgz_item_id")) ? Long.valueOf(baseBean.getPropValue("wyhzzxSalary", "jxgz_item_id")) : 0L;
|
||||||
|
Long yfjbgzItemId = NumberUtils.isCreatable(baseBean.getPropValue("wyhzzxSalary", "yfjbgz_item_id")) ? Long.valueOf(baseBean.getPropValue("wyhzzxSalary", "yfjbgz_item_id")) : 0L;
|
||||||
|
Long yfgwgzItemId = NumberUtils.isCreatable(baseBean.getPropValue("wyhzzxSalary", "yfgwgz_item_id")) ? Long.valueOf(baseBean.getPropValue("wyhzzxSalary", "yfgwgz_item_id")) : 0L;
|
||||||
|
Long yfjxgzItemId = NumberUtils.isCreatable(baseBean.getPropValue("wyhzzxSalary", "yfjxgz_item_id")) ? Long.valueOf(baseBean.getPropValue("wyhzzxSalary", "yfjxgz_item_id")) : 0L;
|
||||||
|
|
||||||
sw.stop();
|
sw.stop();
|
||||||
// 开始核算
|
// 开始核算
|
||||||
sw.start("核算耗时");
|
sw.start("核算耗时");
|
||||||
|
|
@ -282,6 +291,17 @@ public class SalaryAcctCalculateServiceImpl extends Service implements SalaryAcc
|
||||||
String key = SalaryFormulaReferenceEnum.SALARY_ARCHIVES.getValue() + SalaryFormulaFieldConstant.FIELD_ID_SEPARATOR + salaryItemPO.getCode();
|
String key = SalaryFormulaReferenceEnum.SALARY_ARCHIVES.getValue() + SalaryFormulaFieldConstant.FIELD_ID_SEPARATOR + salaryItemPO.getCode();
|
||||||
resultValue = formulaVarValueMap.getOrDefault(key, StringUtils.EMPTY);
|
resultValue = formulaVarValueMap.getOrDefault(key, StringUtils.EMPTY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (salaryItemId.equals(yfjbgzItemId)) {
|
||||||
|
String key = SalaryFormulaReferenceEnum.SALARY_ARCHIVES.getValue() + SalaryFormulaFieldConstant.FIELD_ID_SEPARATOR + jbgzItemId + "_secDev";
|
||||||
|
resultValue = formulaVarValueMap.getOrDefault(key, StringUtils.EMPTY);
|
||||||
|
} else if (salaryItemId.equals(yfgwgzItemId)) {
|
||||||
|
String key = SalaryFormulaReferenceEnum.SALARY_ARCHIVES.getValue() + SalaryFormulaFieldConstant.FIELD_ID_SEPARATOR + gwgzItemId + "_secDev";
|
||||||
|
resultValue = formulaVarValueMap.getOrDefault(key, StringUtils.EMPTY);
|
||||||
|
} else if (salaryItemId.equals(yfjxgzItemId)) {
|
||||||
|
String key = SalaryFormulaReferenceEnum.SALARY_ARCHIVES.getValue() + SalaryFormulaFieldConstant.FIELD_ID_SEPARATOR + jxgzItemId + "_secDev";
|
||||||
|
resultValue = formulaVarValueMap.getOrDefault(key, StringUtils.EMPTY);
|
||||||
|
}
|
||||||
// 处理合并计税
|
// 处理合并计税
|
||||||
resultValue = handleConsolidatedTax(resultValue, salaryItemPO, salaryAcctCalculateBO, otherSalaryAcctEmployeePOMap.get(salaryAcctEmployeePO.getEmployeeId() + "_" + salaryAcctEmployeePO.getTaxAgentId()), otherSalaryAcctResultPOMap.get(salaryAcctEmployeePO.getEmployeeId() + "_" + salaryAcctEmployeePO.getTaxAgentId()));
|
resultValue = handleConsolidatedTax(resultValue, salaryItemPO, salaryAcctCalculateBO, otherSalaryAcctEmployeePOMap.get(salaryAcctEmployeePO.getEmployeeId() + "_" + salaryAcctEmployeePO.getTaxAgentId()), otherSalaryAcctResultPOMap.get(salaryAcctEmployeePO.getEmployeeId() + "_" + salaryAcctEmployeePO.getTaxAgentId()));
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue