处理申报类型问题

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

View File

@ -2,6 +2,7 @@ package com.engine.salary.service.impl;
import com.engine.common.util.ServiceUtil; import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service; import com.engine.core.impl.Service;
import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.biz.SalarySobBiz; import com.engine.salary.biz.SalarySobBiz;
import com.engine.salary.biz.SalarySobItemBiz; import com.engine.salary.biz.SalarySobItemBiz;
import com.engine.salary.biz.SalarySobItemGroupBiz; 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.config.SalaryElogConfig;
import com.engine.salary.constant.SalaryDefaultTenantConstant; import com.engine.salary.constant.SalaryDefaultTenantConstant;
import com.engine.salary.entity.salaryacct.bo.SalaryAcctCalculatePriorityBO; 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.bo.SalaryAcctConfig;
import com.engine.salary.entity.salaryacct.po.SalaryAcctResultPO;
import com.engine.salary.entity.salaryformula.ExpressFormula; import com.engine.salary.entity.salaryformula.ExpressFormula;
import com.engine.salary.entity.salaryformula.po.FormulaVar; import com.engine.salary.entity.salaryformula.po.FormulaVar;
import com.engine.salary.entity.salaryitem.po.SalaryItemPO; import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
@ -380,6 +380,8 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
Date now = new Date(); Date now = new Date();
Long salarySobId = saveParam.getSalarySobId(); 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<SalarySobItemSaveParam.SalarySobItemGroupParam> itemGroups = saveParam.getItemGroups();
List<Long> newGroupIds = SalaryEntityUtil.properties(itemGroups, SalarySobItemSaveParam.SalarySobItemGroupParam::getId, Collectors.toList()); List<Long> newGroupIds = SalaryEntityUtil.properties(itemGroups, SalarySobItemSaveParam.SalarySobItemGroupParam::getId, Collectors.toList());
List<SalarySobItemGroupPO> salarySobItemGroupPOS = getSalarySobItemGroupService(user).listBySalarySobId(salarySobId); List<SalarySobItemGroupPO> salarySobItemGroupPOS = getSalarySobItemGroupService(user).listBySalarySobId(salarySobId);
@ -405,6 +407,7 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
SalaryItemPO salaryItemPO = checkItemExists(itemParam.getSalaryItemId(), salaryItemsMap); SalaryItemPO salaryItemPO = checkItemExists(itemParam.getSalaryItemId(), salaryItemsMap);
SalarySobItemPO salarySobItemPO = SalarySobItemPO.builder() SalarySobItemPO salarySobItemPO = SalarySobItemPO.builder()
.salarySobId(salarySobId) .salarySobId(salarySobId)
.incomeCategory(incomeCategory)
.salaryItemId(itemParam.getSalaryItemId()) .salaryItemId(itemParam.getSalaryItemId())
.salaryItemCode(salaryItemPO.getCode()) .salaryItemCode(salaryItemPO.getCode())
.salarySobItemGroupId(salarySobItemGroupId) .salarySobItemGroupId(salarySobItemGroupId)
@ -447,6 +450,7 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
SalaryItemPO salaryItemPO = checkItemExists(itemParam.getSalaryItemId(), salaryItemsMap); SalaryItemPO salaryItemPO = checkItemExists(itemParam.getSalaryItemId(), salaryItemsMap);
SalarySobItemPO salarySobItemPO = SalarySobItemPO.builder() SalarySobItemPO salarySobItemPO = SalarySobItemPO.builder()
.salarySobId(salarySobId) .salarySobId(salarySobId)
.incomeCategory(incomeCategory)
.salaryItemId(itemParam.getSalaryItemId()) .salaryItemId(itemParam.getSalaryItemId())
.salaryItemCode(salaryItemPO.getCode()) .salaryItemCode(salaryItemPO.getCode())
.salarySobItemGroupId(groupId) .salarySobItemGroupId(groupId)
@ -471,6 +475,7 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
SalaryItemPO salaryItemPO = checkItemExists(itemParam.getSalaryItemId(), salaryItemsMap); SalaryItemPO salaryItemPO = checkItemExists(itemParam.getSalaryItemId(), salaryItemsMap);
SalarySobItemPO salarySobItemPO = SalarySobItemPO.builder() SalarySobItemPO salarySobItemPO = SalarySobItemPO.builder()
.id(itemParam.getId()) .id(itemParam.getId())
.incomeCategory(incomeCategory)
.salaryItemId(itemParam.getSalaryItemId()) .salaryItemId(itemParam.getSalaryItemId())
.salaryItemCode(salaryItemPO.getCode()) .salaryItemCode(salaryItemPO.getCode())
.salarySobItemGroupId(groupId) .salarySobItemGroupId(groupId)
@ -510,13 +515,13 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
for (SalarySobItemSaveParam.SalarySobItemParam itemParam : needAddItems) { for (SalarySobItemSaveParam.SalarySobItemParam itemParam : needAddItems) {
SalaryItemPO salaryItemPO = checkItemExists(itemParam.getSalaryItemId(), salaryItemsMap); 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); salarySobItems.add(salarySobItemPO);
} }
for (SalarySobItemSaveParam.SalarySobItemParam itemParam : needUpdateItems) { for (SalarySobItemSaveParam.SalarySobItemParam itemParam : needUpdateItems) {
SalaryItemPO salaryItemPO = checkItemExists(itemParam.getSalaryItemId(), salaryItemsMap); 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); getSalarySobItemMapper().updateIgnoreNull(salarySobItemPO);
} }
@ -679,12 +684,12 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
// 查询薪资项目副本 // 查询薪资项目副本
List<SalarySobItemPO> salarySobItemPOS = listBySalarySobId(salarySobId); 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<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); 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<>());
} }
/** /**