二开,引用上月数据功能

This commit is contained in:
钱涛 2025-05-13 15:40:30 +08:00
parent 3ed13bd19c
commit 214ac4c95a
10 changed files with 143 additions and 9 deletions

View File

@ -0,0 +1,4 @@
ALTER TABLE hrsa_salary_sob_item ADD (
quote NUMBER
)
/

View File

@ -0,0 +1,27 @@
package com.engine.salary.entity.salaryacct.param;
import com.engine.salary.util.valid.DataCheck;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 引用上月数据
* <p>Copyright: Copyright (c) 2024</p>
* <p>Company: 泛微软件</p>
*
* @author qiantao
* @version 1.0
**/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SalaryAcctResultQuoteParam {
//薪资核算记录的id
@DataCheck(require = true,message = "薪资核算记录id为空")
Long salaryAcctRecordId;
}

View File

@ -76,6 +76,9 @@ public class SalarySobItemSaveParam {
//该分类是否隐藏0不隐藏1隐藏
private Long itemHide;
//是否引用上月数据
private Integer quote;
private Boolean canDelete;
// 默认值

View File

@ -117,6 +117,8 @@ public class SalarySobItemPO {
@XStreamAsAttribute
private Long itemHide;
private Integer quote;
/**
* 默认值
*/
@ -194,6 +196,7 @@ public class SalarySobItemPO {
", pattern=" + pattern +
", valueType=" + valueType +
", itemHide=" + itemHide +
", quote=" + quote +
", defaultValue=" + defaultValue +
'}';
}

View File

@ -6,6 +6,7 @@
<result column="creator" property="creator"/>
<result column="delete_type" property="deleteType"/>
<result column="description" property="description"/>
<result column="quote" property="quote"/>
<result column="formula_id" property="formulaId"/>
<result column="id" property="id"/>
<result column="salary_item_id" property="salaryItemId"/>
@ -27,6 +28,7 @@
, t.creator
, t.delete_type
, t.description
, t.quote
, t.formula_id
, t.id
, t.salary_item_id
@ -77,6 +79,9 @@
<if test="description != null and description != ''">
AND description = #{description}
</if>
<if test="quote != null">
AND quote = #{quote}
</if>
<if test="formulaId != null">
AND formula_id = #{formulaId}
</if>
@ -159,6 +164,7 @@
creator=#{creator},
delete_type=#{deleteType},
description=#{description},
quote=#{quote},
formula_id=#{formulaId},
salary_item_id=#{salaryItemId},
salary_sob_id=#{salarySobId},
@ -193,6 +199,9 @@
<if test="description != null">
description=#{description},
</if>
<if test="quote != null">
quote=#{quote},
</if>
<if test="formulaId != null">
formula_id=#{formulaId},
</if>
@ -278,7 +287,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,item_hide,default_value)
sorted_index, description,quote, create_time, update_time, creator, delete_type, tenant_key,can_delete,rounding_mode,pattern,value_type,item_hide,default_value)
VALUES
<foreach collection="collection" item="item" separator=",">
(
@ -288,6 +297,7 @@
#{item.formulaId},
#{item.sortedIndex},
#{item.description},
#{item.quote},
#{item.createTime},
#{item.updateTime},
#{item.creator},
@ -304,7 +314,7 @@
</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,item_hide,default_value)
sorted_index, description, quote,create_time, update_time, creator, delete_type, tenant_key,can_delete,rounding_mode,pattern,value_type,item_hide,default_value)
<foreach collection="collection" item="item" separator="union all">
select
@ -314,6 +324,7 @@
#{item.formulaId,jdbcType=DOUBLE},
#{item.sortedIndex,jdbcType=INTEGER},
#{item.description,jdbcType=VARCHAR},
#{item.quote,jdbcType=INTEGER},
#{item.createTime,jdbcType=DATE},
#{item.updateTime,jdbcType=DATE},
#{item.creator,jdbcType=DOUBLE},
@ -331,7 +342,7 @@
<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,item_hide,default_value)
sorted_index, description, quote,create_time, update_time, creator, delete_type, tenant_key,can_delete,rounding_mode,pattern,value_type,item_hide,default_value)
VALUES
(
#{item.salarySobId},
@ -340,6 +351,7 @@
#{item.formulaId},
#{item.sortedIndex},
#{item.description},
#{item.quote},
#{item.createTime},
#{item.updateTime},
#{item.creator},

View File

@ -231,4 +231,8 @@ public interface SalaryAcctResultService {
* @version 1.0
**/
List<SalaryAcctResultPO> listBySobSalaryMonth(Date salaryMonth, Long salarySobId, List<Long> employeeIds);
List<SalaryAcctResultPO> listBySobSalaryMonth(Date salaryMonth, Long salarySobId, List<Long> employeeIds, List<Long> salaryItemIds);
void quote(SalaryAcctResultQuoteParam salaryAcctResultQuoteParam);
}

View File

@ -30,6 +30,7 @@ import com.engine.salary.entity.salarysob.dto.*;
import com.engine.salary.entity.salarysob.po.*;
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
import com.engine.salary.enums.OperateTypeEnum;
import com.engine.salary.enums.SalaryOnOffEnum;
import com.engine.salary.enums.UserStatusEnum;
import com.engine.salary.enums.common.FilterEnum;
import com.engine.salary.enums.salaryaccounting.LockStatusEnum;
@ -1271,7 +1272,7 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
SalaryAcctResultPO resultParam = SalaryAcctResultPO.builder().salaryAcctRecordIds(recordIds).build();
if (CollUtil.isNotEmpty(employeeIds)) {
List<List<Long>> partition = Lists.partition(employeeIds, 500);
for (List<Long> ids : partition){
for (List<Long> ids : partition) {
resultParam.setEmployeeIds(ids);
List<SalaryAcctResultPO> acctResultPOS = getSalaryAcctResultMapper().listSome(resultParam);
salaryAcctResultPOS.addAll(acctResultPOS);
@ -1283,4 +1284,71 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
encryptUtil.decryptList(salaryAcctResultPOS, SalaryAcctResultPO.class);
return salaryAcctResultPOS;
}
@Override
public List<SalaryAcctResultPO> listBySobSalaryMonth(Date salaryMonth, Long salarySobId, List<Long> employeeIds, List<Long> salaryItemIds) {
List<SalaryAcctRecordPO> salaryAcctRecordPOS = getSalaryAcctRecordService(user).listSome(SalaryAcctRecordPO.builder().salarySobId(salarySobId).salaryMonth(salaryMonth).build());
List<Long> recordIds = SalaryEntityUtil.properties(salaryAcctRecordPOS, SalaryAcctRecordPO::getId, Collectors.toList());
if (CollUtil.isEmpty(recordIds)) {
return new ArrayList<>();
}
List<SalaryAcctResultPO> salaryAcctResultPOS = new ArrayList<>();
SalaryAcctResultPO resultParam = SalaryAcctResultPO.builder().salaryAcctRecordIds(recordIds).salaryItemIds(salaryItemIds).build();
if (CollUtil.isNotEmpty(employeeIds)) {
List<List<Long>> partition = Lists.partition(employeeIds, 500);
for (List<Long> ids : partition) {
resultParam.setEmployeeIds(ids);
List<SalaryAcctResultPO> acctResultPOS = getSalaryAcctResultMapper().listSome(resultParam);
salaryAcctResultPOS.addAll(acctResultPOS);
}
} else {
salaryAcctResultPOS = getSalaryAcctResultMapper().listSome(resultParam);
}
encryptUtil.decryptList(salaryAcctResultPOS, SalaryAcctResultPO.class);
return salaryAcctResultPOS;
}
@Override
public void quote(SalaryAcctResultQuoteParam salaryAcctResultQuoteParam) {
Long salaryAcctRecordId = salaryAcctResultQuoteParam.getSalaryAcctRecordId();
SalaryAcctRecordPO recordPO = getSalaryAcctRecordService(user).getById(salaryAcctRecordId);
if (recordPO == null) {
throw new SalaryRunTimeException("薪资核算记录不存在");
}
//查询账套配置哪些项目需要引用
SalaryAcctConfig salaryAcctConfig = getSalaryAcctSobConfigService(user).getSalaryAcctConfig(salaryAcctRecordId);
List<SalarySobItemPO> salarySobItemPOS = salaryAcctConfig.getSalarySobItems().stream().filter(item -> SalaryOnOffEnum.ON.getValue().equals(item.getQuote())).collect(Collectors.toList());
List<Long> itemIds = SalaryEntityUtil.properties(salarySobItemPOS, SalarySobItemPO::getSalaryItemId, Collectors.toList());
//查询本次核算人员
List<SalaryAcctEmployeePO> employeePOS = getSalaryAcctEmployeeService(user).listBySalaryAcctRecordId(salaryAcctRecordId);
List<Long> employeeIds = SalaryEntityUtil.properties(employeePOS, SalaryAcctEmployeePO::getEmployeeId, Collectors.toList());
List<Long> acctEmpIds = SalaryEntityUtil.properties(employeePOS, SalaryAcctEmployeePO::getId, Collectors.toList());
//查询上个月数据
List<SalaryAcctResultPO> lastMonthResultPOS = listBySobSalaryMonth(SalaryDateUtil.localDateToDate(SalaryDateUtil.dateToLocalDate(recordPO.getSalaryMonth()).minusMonths(1)), recordPO.getSalarySobId(), employeeIds, itemIds);
Map<Long, List<SalaryAcctResultPO>> itemValueMap = SalaryEntityUtil.group2Map(lastMonthResultPOS, SalaryAcctResultPO::getEmployeeId);
//删除本次引用的项目数据
deleteByAcctEmployeeIdsAndSalaryItemIds(acctEmpIds, itemIds);
//引用上月数据
for (int i = 0; i < employeePOS.size(); i++) {
SalaryAcctEmployeePO salaryAcctEmployeePO = employeePOS.get(i);
List<SalaryAcctResultPO> lastResultPOS = itemValueMap.getOrDefault(salaryAcctEmployeePO.getEmployeeId(), new ArrayList<>());
List<SalaryAcctResultPO> list = lastResultPOS.stream()
.peek(po -> {
po.setSalaryAcctRecordId(salaryAcctRecordId);
po.setSalaryAcctEmpId(salaryAcctEmployeePO.getId());
po.setCreator((long) user.getUID());
po.setCreateTime(new Date());
po.setUpdateTime(new Date());
})
.collect(Collectors.toList());
batchSave(list);
}
}
}

View File

@ -389,7 +389,7 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
for (SalarySobItemSaveParam.SalarySobItemParam itemParam : itemGroupParam.getItems()) {
SalaryItemPO salaryItemPO = checkItemExists(itemParam.getSalaryItemId(), salaryItemsMap);
SalarySobItemPO salarySobItemPO = SalarySobItemPO.builder().salarySobId(salarySobId).salaryItemId(itemParam.getSalaryItemId()).salarySobItemGroupId(salarySobItemGroupId).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()).defaultValue(itemParam.getDefaultValue()).build();
SalarySobItemPO salarySobItemPO = SalarySobItemPO.builder().quote(itemParam.getQuote()).salarySobId(salarySobId).salaryItemId(itemParam.getSalaryItemId()).salarySobItemGroupId(salarySobItemGroupId).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()).defaultValue(itemParam.getDefaultValue()).build();
salarySobItems.add(salarySobItemPO);
}
}
@ -413,13 +413,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()).salarySobItemGroupId(groupId).formulaId(Optional.ofNullable(itemParam.getFormulaId()).orElse(NumberUtils.LONG_ZERO)).canDelete(itemParam.getCanDelete() == null ? NumberUtils.INTEGER_ONE : (itemParam.getCanDelete() ? NumberUtils.INTEGER_ONE : NumberUtils.INTEGER_ZERO)).sortedIndex(itemParam.getSortedIndex()).description(StringUtils.EMPTY).creator(employeeId).createTime(now).updateTime(now).tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY).deleteType(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()).defaultValue(itemParam.getDefaultValue()).build();
SalarySobItemPO salarySobItemPO = SalarySobItemPO.builder().quote(itemParam.getQuote()).salarySobId(salarySobId).salaryItemId(itemParam.getSalaryItemId()).salarySobItemGroupId(groupId).formulaId(Optional.ofNullable(itemParam.getFormulaId()).orElse(NumberUtils.LONG_ZERO)).canDelete(itemParam.getCanDelete() == null ? NumberUtils.INTEGER_ONE : (itemParam.getCanDelete() ? NumberUtils.INTEGER_ONE : NumberUtils.INTEGER_ZERO)).sortedIndex(itemParam.getSortedIndex()).description(StringUtils.EMPTY).creator(employeeId).createTime(now).updateTime(now).tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY).deleteType(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()).defaultValue(itemParam.getDefaultValue()).build();
salarySobItems.add(salarySobItemPO);
}
//更新
for (SalarySobItemSaveParam.SalarySobItemParam itemParam : needUpdateItems) {
SalaryItemPO salaryItemPO = checkItemExists(itemParam.getSalaryItemId(), salaryItemsMap);
SalarySobItemPO salarySobItemPO = SalarySobItemPO.builder().id(itemParam.getId()).salaryItemId(itemParam.getSalaryItemId()).salarySobItemGroupId(groupId).formulaId(Optional.ofNullable(itemParam.getFormulaId()).orElse(NumberUtils.LONG_ZERO)).sortedIndex(itemParam.getSortedIndex()).canDelete(itemParam.getCanDelete() == null ? NumberUtils.INTEGER_ONE : (itemParam.getCanDelete() ? NumberUtils.INTEGER_ONE : NumberUtils.INTEGER_ZERO)).updateTime(now).deleteType(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()).defaultValue(itemParam.getDefaultValue()).build();
SalarySobItemPO salarySobItemPO = SalarySobItemPO.builder().quote(itemParam.getQuote()).id(itemParam.getId()).salaryItemId(itemParam.getSalaryItemId()).salarySobItemGroupId(groupId).formulaId(Optional.ofNullable(itemParam.getFormulaId()).orElse(NumberUtils.LONG_ZERO)).sortedIndex(itemParam.getSortedIndex()).canDelete(itemParam.getCanDelete() == null ? NumberUtils.INTEGER_ONE : (itemParam.getCanDelete() ? NumberUtils.INTEGER_ONE : NumberUtils.INTEGER_ZERO)).updateTime(now).deleteType(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()).defaultValue(itemParam.getDefaultValue()).build();
getSalarySobItemMapper().updateIgnoreNull(salarySobItemPO);
}
@ -446,13 +446,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()).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()).defaultValue(itemParam.getDefaultValue()).build();
SalarySobItemPO salarySobItemPO = SalarySobItemPO.builder().quote(itemParam.getQuote()).salarySobId(salarySobId).salaryItemId(itemParam.getSalaryItemId()).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()).defaultValue(itemParam.getDefaultValue()).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()).defaultValue(itemParam.getDefaultValue()).build();
SalarySobItemPO salarySobItemPO = SalarySobItemPO.builder().quote(itemParam.getQuote()).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()).defaultValue(itemParam.getDefaultValue()).build();
getSalarySobItemMapper().updateIgnoreNull(salarySobItemPO);
}

View File

@ -498,6 +498,15 @@ public class SalaryAcctController {
return new ResponseResult<SalaryAcctResultBatchUpdateParam, String>(user).run(getSalaryAcctResultWrapper(user)::batchUpdate, param);
}
@POST
@Path("/acctresult/quote")
@Produces(MediaType.APPLICATION_JSON)
public String quote(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryAcctResultQuoteParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<SalaryAcctResultQuoteParam, String>(user).run(getSalaryAcctResultWrapper(user)::quote, param);
}
//薪资核算
@POST
@Path("/acctresult/accounting")

View File

@ -279,6 +279,10 @@ public class SalaryAcctResultWrapper extends Service implements SalaryAcctResult
getSalaryAcctResultService(user).batchUpdate(param);
}
public void quote(SalaryAcctResultQuoteParam salaryAcctResultQuoteParam) {
getSalaryAcctResultService(user).quote(salaryAcctResultQuoteParam);
}
/**
* 薪资核算-校验
*