处理申报类型问题

This commit is contained in:
钱涛 2024-05-30 15:19:15 +08:00
parent c28bbf4d1d
commit cdcdfabe9b
2 changed files with 25 additions and 13 deletions

View File

@ -173,6 +173,7 @@
pattern=#{pattern},
value_type=#{valueType},
item_hide=#{itemHide},
income_category=#{incomeCategory},
</set>
WHERE id = #{id} AND delete_type = 0
</update>
@ -230,6 +231,9 @@
<if test="itemHide != null">
item_hide=#{itemHide},
</if>
<if test="incomeCategory != null">
income_category=#{incomeCategory},
</if>
</set>
WHERE id = #{id} AND delete_type = 0
</update>
@ -276,7 +280,7 @@
<insert id="batchInsert">
INSERT INTO hrsa_salary_sob_item(salary_sob_id, salary_item_id, salary_sob_item_group_id, formula_id,
sorted_index, description, create_time, update_time, creator, delete_type, tenant_key,can_delete,rounding_mode,pattern,value_type,salary_item_code,item_hide)
sorted_index, description, create_time, update_time, creator, delete_type, tenant_key,can_delete,rounding_mode,pattern,value_type,salary_item_code,item_hide,income_category)
VALUES
<foreach collection="collection" item="item" separator=",">
(
@ -296,13 +300,14 @@
#{item.pattern},
#{item.valueType},
#{item.salaryItemCode},
#{item.itemHide}
#{item.itemHide},
#{item.incomeCategory}
)
</foreach>
</insert>
<insert id="batchInsert" databaseId="oracle">
INSERT INTO hrsa_salary_sob_item( salary_sob_id, salary_item_id, salary_sob_item_group_id, formula_id,
sorted_index, description, create_time, update_time, creator, delete_type, tenant_key,can_delete,rounding_mode,pattern,value_type,salary_item_code,item_hide)
sorted_index, description, create_time, update_time, creator, delete_type, tenant_key,can_delete,rounding_mode,pattern,value_type,salary_item_code,item_hide,income_category)
<foreach collection="collection" item="item" separator="union all">
select
@ -322,14 +327,15 @@
#{item.pattern,jdbcType=INTEGER},
#{item.valueType,jdbcType=INTEGER},
#{item.salaryItemCode,jdbcType=INTEGER},
#{item.itemHide,jdbcType=DOUBLE}
#{item.itemHide,jdbcType=DOUBLE},
#{item.incomeCategory,jdbcType=VARCHAR}
from dual
</foreach>
</insert>
<insert id="batchInsert" databaseId="sqlserver">
<foreach collection="collection" item="item" separator=";">
INSERT INTO hrsa_salary_sob_item( salary_sob_id, salary_item_id, salary_sob_item_group_id, formula_id,
sorted_index, description, create_time, update_time, creator, delete_type, tenant_key,can_delete,rounding_mode,pattern,value_type,salary_item_code,item_hide)
sorted_index, description, create_time, update_time, creator, delete_type, tenant_key,can_delete,rounding_mode,pattern,value_type,salary_item_code,item_hide,income_category)
VALUES
(
#{item.salarySobId},
@ -348,7 +354,8 @@
#{item.pattern},
#{item.valueType},
#{item.salaryItemCode},
#{item.itemHide}
#{item.itemHide},
#{item.incomeCategory}
)
</foreach>
</insert>

View File

@ -2,6 +2,7 @@ package com.engine.salary.service.impl;
import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.biz.SalarySobBiz;
import com.engine.salary.biz.SalarySobItemBiz;
import com.engine.salary.biz.SalarySobItemGroupBiz;
@ -9,9 +10,8 @@ import com.engine.salary.biz.SalarySobItemHideBiz;
import com.engine.salary.config.SalaryElogConfig;
import com.engine.salary.constant.SalaryDefaultTenantConstant;
import com.engine.salary.entity.salaryacct.bo.SalaryAcctCalculatePriorityBO;
import com.engine.salary.entity.salaryacct.po.SalaryAcctResultPO;
import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.entity.salaryacct.bo.SalaryAcctConfig;
import com.engine.salary.entity.salaryacct.po.SalaryAcctResultPO;
import com.engine.salary.entity.salaryformula.ExpressFormula;
import com.engine.salary.entity.salaryformula.po.FormulaVar;
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
@ -380,6 +380,8 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
Date now = new Date();
Long salarySobId = saveParam.getSalarySobId();
SalarySobPO sob = salarySobBiz.getById(salarySobId);
String incomeCategory = sob.getIncomeCategory() == null ? "1" : sob.getIncomeCategory().toString();
List<SalarySobItemSaveParam.SalarySobItemGroupParam> itemGroups = saveParam.getItemGroups();
List<Long> newGroupIds = SalaryEntityUtil.properties(itemGroups, SalarySobItemSaveParam.SalarySobItemGroupParam::getId, Collectors.toList());
List<SalarySobItemGroupPO> salarySobItemGroupPOS = getSalarySobItemGroupService(user).listBySalarySobId(salarySobId);
@ -405,6 +407,7 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
SalaryItemPO salaryItemPO = checkItemExists(itemParam.getSalaryItemId(), salaryItemsMap);
SalarySobItemPO salarySobItemPO = SalarySobItemPO.builder()
.salarySobId(salarySobId)
.incomeCategory(incomeCategory)
.salaryItemId(itemParam.getSalaryItemId())
.salaryItemCode(salaryItemPO.getCode())
.salarySobItemGroupId(salarySobItemGroupId)
@ -447,6 +450,7 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
SalaryItemPO salaryItemPO = checkItemExists(itemParam.getSalaryItemId(), salaryItemsMap);
SalarySobItemPO salarySobItemPO = SalarySobItemPO.builder()
.salarySobId(salarySobId)
.incomeCategory(incomeCategory)
.salaryItemId(itemParam.getSalaryItemId())
.salaryItemCode(salaryItemPO.getCode())
.salarySobItemGroupId(groupId)
@ -471,6 +475,7 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
SalaryItemPO salaryItemPO = checkItemExists(itemParam.getSalaryItemId(), salaryItemsMap);
SalarySobItemPO salarySobItemPO = SalarySobItemPO.builder()
.id(itemParam.getId())
.incomeCategory(incomeCategory)
.salaryItemId(itemParam.getSalaryItemId())
.salaryItemCode(salaryItemPO.getCode())
.salarySobItemGroupId(groupId)
@ -510,13 +515,13 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
for (SalarySobItemSaveParam.SalarySobItemParam itemParam : needAddItems) {
SalaryItemPO salaryItemPO = checkItemExists(itemParam.getSalaryItemId(), salaryItemsMap);
SalarySobItemPO salarySobItemPO = SalarySobItemPO.builder().salarySobId(salarySobId).salaryItemId(itemParam.getSalaryItemId()).salaryItemCode(salaryItemPO.getCode()).salarySobItemGroupId(NumberUtils.LONG_ZERO).formulaId(Optional.ofNullable(itemParam.getFormulaId()).orElse(NumberUtils.LONG_ZERO)).sortedIndex(itemParam.getSortedIndex()).description(StringUtils.EMPTY).creator(employeeId).createTime(now).updateTime(now).deleteType(NumberUtils.INTEGER_ZERO).tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY).canDelete(itemParam.getCanDelete() == null ? NumberUtils.INTEGER_ONE : (itemParam.getCanDelete() ? NumberUtils.INTEGER_ONE : NumberUtils.INTEGER_ZERO)).roundingMode(itemParam.getRoundingMode() == null ? salaryItemPO.getRoundingMode() : itemParam.getRoundingMode()).pattern(itemParam.getPattern() == null ? salaryItemPO.getPattern() : itemParam.getPattern()).valueType(itemParam.getValueType() == null ? salaryItemPO.getValueType() : itemParam.getValueType()).itemHide(itemParam.getItemHide()).build();
SalarySobItemPO salarySobItemPO = SalarySobItemPO.builder().salarySobId(salarySobId).incomeCategory(incomeCategory).salaryItemId(itemParam.getSalaryItemId()).salaryItemCode(salaryItemPO.getCode()).salarySobItemGroupId(NumberUtils.LONG_ZERO).formulaId(Optional.ofNullable(itemParam.getFormulaId()).orElse(NumberUtils.LONG_ZERO)).sortedIndex(itemParam.getSortedIndex()).description(StringUtils.EMPTY).creator(employeeId).createTime(now).updateTime(now).deleteType(NumberUtils.INTEGER_ZERO).tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY).canDelete(itemParam.getCanDelete() == null ? NumberUtils.INTEGER_ONE : (itemParam.getCanDelete() ? NumberUtils.INTEGER_ONE : NumberUtils.INTEGER_ZERO)).roundingMode(itemParam.getRoundingMode() == null ? salaryItemPO.getRoundingMode() : itemParam.getRoundingMode()).pattern(itemParam.getPattern() == null ? salaryItemPO.getPattern() : itemParam.getPattern()).valueType(itemParam.getValueType() == null ? salaryItemPO.getValueType() : itemParam.getValueType()).itemHide(itemParam.getItemHide()).build();
salarySobItems.add(salarySobItemPO);
}
for (SalarySobItemSaveParam.SalarySobItemParam itemParam : needUpdateItems) {
SalaryItemPO salaryItemPO = checkItemExists(itemParam.getSalaryItemId(), salaryItemsMap);
SalarySobItemPO salarySobItemPO = SalarySobItemPO.builder().id(itemParam.getId()).formulaId(Optional.ofNullable(itemParam.getFormulaId()).orElse(NumberUtils.LONG_ZERO)).sortedIndex(itemParam.getSortedIndex()).updateTime(now).canDelete(itemParam.getCanDelete() == null ? NumberUtils.INTEGER_ONE : (itemParam.getCanDelete() ? NumberUtils.INTEGER_ONE : NumberUtils.INTEGER_ZERO)).roundingMode(itemParam.getRoundingMode() == null ? salaryItemPO.getRoundingMode() : itemParam.getRoundingMode()).pattern(itemParam.getPattern() == null ? salaryItemPO.getPattern() : itemParam.getPattern()).valueType(itemParam.getValueType() == null ? salaryItemPO.getValueType() : itemParam.getValueType()).itemHide(itemParam.getItemHide()).build();
SalarySobItemPO salarySobItemPO = SalarySobItemPO.builder().id(itemParam.getId()).incomeCategory(incomeCategory).formulaId(Optional.ofNullable(itemParam.getFormulaId()).orElse(NumberUtils.LONG_ZERO)).sortedIndex(itemParam.getSortedIndex()).updateTime(now).canDelete(itemParam.getCanDelete() == null ? NumberUtils.INTEGER_ONE : (itemParam.getCanDelete() ? NumberUtils.INTEGER_ONE : NumberUtils.INTEGER_ZERO)).roundingMode(itemParam.getRoundingMode() == null ? salaryItemPO.getRoundingMode() : itemParam.getRoundingMode()).pattern(itemParam.getPattern() == null ? salaryItemPO.getPattern() : itemParam.getPattern()).valueType(itemParam.getValueType() == null ? salaryItemPO.getValueType() : itemParam.getValueType()).itemHide(itemParam.getItemHide()).build();
getSalarySobItemMapper().updateIgnoreNull(salarySobItemPO);
}
@ -679,12 +684,12 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
// 查询薪资项目副本
List<SalarySobItemPO> salarySobItemPOS = listBySalarySobId(salarySobId);
// 查询薪资项目
List<Long> salaryItemIds = SalaryEntityUtil.properties(salarySobItemPOS, SalarySobItemPO::getSalaryItemId,Collectors.toList());
List<Long> salaryItemIds = SalaryEntityUtil.properties(salarySobItemPOS, SalarySobItemPO::getSalaryItemId, Collectors.toList());
List<SalaryItemPO> salaryItems = getSalaryItemService(user).listByIds(salaryItemIds);
// 查询公式详情
List<Long> formulaIds = SalaryEntityUtil.properties(salaryItems, SalaryItemPO::getFormulaId,Collectors.toList());
List<Long> formulaIds = SalaryEntityUtil.properties(salaryItems, SalaryItemPO::getFormulaId, Collectors.toList());
List<ExpressFormula> expressFormulas = getSalaryFormulaService(user).listExpressFormula(formulaIds);
SalaryAcctCalculatePriorityBO.calculatePriority(salarySobItemPOS,salaryItems,expressFormulas,new ArrayList<>(),new HashSet<>());
SalaryAcctCalculatePriorityBO.calculatePriority(salarySobItemPOS, salaryItems, expressFormulas, new ArrayList<>(), new HashSet<>());
}
/**