Merge branch 'release/2.15.2.2409.01' into release/个税版本

This commit is contained in:
钱涛 2024-10-15 14:55:23 +08:00
commit b2938a6e52
6 changed files with 59 additions and 8 deletions

View File

@ -1,5 +1,6 @@
package com.engine.salary.entity.datacollection.po;
import com.engine.salary.annotation.Encrypt;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -41,6 +42,7 @@ public class VariableArchiveItemPO {
/**
* 浮动值
*/
@Encrypt
private String itemValue;
/**

View File

@ -40,7 +40,7 @@ public interface VariableArchiveService {
* @param variableArchives
* @return
*/
List<Map<String, Object>> buildVariableArchiveData(Collection<VariableArchiveListDTO> variableArchives);
List<Map<String, Object>> buildVariableArchiveData(List<VariableArchiveListDTO> variableArchives);
/**
* 创建浮动薪酬档案
@ -70,4 +70,6 @@ public interface VariableArchiveService {
void deleteSelectVariableArchive(Collection<Long> deleteIds);
List<Map<String, Object>> listBySalaryMonthAndEmployeeIds(YearMonth salaryMonth, List<Long> employeeIds, Long taxAgentId);
void updateData(VariableArchiveSaveParam updateParam);
}

View File

@ -1,6 +1,7 @@
package com.engine.salary.service.impl;
import com.engine.core.impl.Service;
import com.engine.salary.encrypt.EncryptUtil;
import com.engine.salary.entity.datacollection.po.VariableArchiveItemPO;
import com.engine.salary.mapper.datacollection.VariableArchiveItemMapper;
import com.engine.salary.service.VariableArchiveItemService;
@ -18,6 +19,7 @@ import java.util.List;
* @description 浮动薪酬档案明细
*/
public class VariableArchiveItemServiceImpl extends Service implements VariableArchiveItemService {
private EncryptUtil encryptUtil = new EncryptUtil();
private VariableArchiveItemMapper getVariableArchiveItemMapper(){
return MapperProxyFactory.getProxy(VariableArchiveItemMapper.class);
@ -34,7 +36,8 @@ public class VariableArchiveItemServiceImpl extends Service implements VariableA
if (CollectionUtils.isEmpty(variableArchiveIds)) {
return Collections.emptyList();
}
return getVariableArchiveItemMapper().listSome(VariableArchiveItemPO.builder().variableArchiveIds(variableArchiveIds).build());
List<VariableArchiveItemPO> variableArchiveItemPOS = getVariableArchiveItemMapper().listSome(VariableArchiveItemPO.builder().variableArchiveIds(variableArchiveIds).build());
return encryptUtil.decryptList(variableArchiveItemPOS, VariableArchiveItemPO.class);
}
/**
@ -52,6 +55,7 @@ public class VariableArchiveItemServiceImpl extends Service implements VariableA
if (CollectionUtils.isEmpty(insertList)) {
return 0;
}
encryptUtil.encryptList(insertList, VariableArchiveItemPO.class);
List<List<VariableArchiveItemPO>> partition = Lists.partition(insertList, 50);
partition.forEach(part -> getVariableArchiveItemMapper().batchInsert(part));
return 0;

View File

@ -151,10 +151,7 @@ public class VariableArchiveServiceImpl extends Service implements VariableArchi
* @return
*/
@Override
public List<Map<String, Object>> buildVariableArchiveData(Collection<VariableArchiveListDTO> variableArchives) {
if (CollectionUtils.isEmpty(variableArchives)) {
// 无数据
}
public List<Map<String, Object>> buildVariableArchiveData(List<VariableArchiveListDTO> variableArchives) {
List<Long> variableArchiveIds = variableArchives.stream().map(VariableArchiveListDTO::getId).collect(Collectors.toList());
// 获取浮动薪资档案所对应的浮动薪资项目数据
List<VariableArchiveItemPO> variableArchiveItemList = getVariableArchiveItemService(user).listByVariableArchiveIds(variableArchiveIds);
@ -602,4 +599,41 @@ public class VariableArchiveServiceImpl extends Service implements VariableArchi
List<VariableArchiveListDTO> variableArchiveListDTO = list(queryParam);
return buildVariableArchiveData(variableArchiveListDTO);
}
@Override
public void updateData(VariableArchiveSaveParam updateParam) {
if (updateParam.getId() == null) {
throw new SalaryRunTimeException("参数错误");
}
// 获取浮动薪酬档案
VariableArchivePO variableArchivePO = getVariableArchiveMapper().getById(updateParam.getId());
if (variableArchivePO == null) {
throw new SalaryRunTimeException("浮动薪酬档案不存在或已被删除");
}
// 删除原有的浮动薪酬档案明细
getVariableArchiveItemService(user).deleteByArchiveIds(Collections.singletonList(updateParam.getId()));
// 保存浮动薪资档案详细信息
List<VariableArchiveItemPO> variableArchiveItemList = new ArrayList<>();
Date now = new Date();
updateParam.getItemValueList().forEach(e -> {
variableArchiveItemList.add(VariableArchiveItemPO.builder()
.id(IdGenerator.generate())
.employeeId(updateParam.getEmployeeId())
.variableArchiveId(variableArchivePO.getId())
.variableItemId(e.getVariableItemId())
.itemValue(e.getItemValue())
.creator(Long.valueOf(user.getUID()))
.createTime(now)
.updateTime(now)
.deleteType(NumberUtils.INTEGER_ZERO)
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
.build());
});
if (CollectionUtils.isNotEmpty(variableArchiveItemList)) {
getVariableArchiveItemService(user).batchInsert(variableArchiveItemList);
}
}
}

View File

@ -111,7 +111,12 @@ public class VariableArchiveController {
@Produces(MediaType.APPLICATION_JSON)
public String createData(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody VariableArchiveSaveParam saveParam) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<VariableArchiveSaveParam, String>(user).run(getVariableArchiveWrapper(user)::createData, saveParam);
if (saveParam.getId() == null) {
return new ResponseResult<VariableArchiveSaveParam, String>(user).run(getVariableArchiveWrapper(user)::createData, saveParam);
} else {
// 更新
return new ResponseResult<VariableArchiveSaveParam, String>(user).run(getVariableArchiveWrapper(user)::updateData, saveParam);
}
}

View File

@ -52,7 +52,7 @@ public class VariableArchiveWrapper extends Service {
//薪资档案列表
PageInfo<VariableArchiveListDTO> pageInfo = getVariableArchiveService(user).listPage(queryParam);
Collection<VariableArchiveListDTO> salaryArchives = pageInfo.getList();
List<VariableArchiveListDTO> salaryArchives = pageInfo.getList();
// 获取所有浮动薪酬项目
List<VariableItemPO> variableItems = getVariableItemService(user).listAll();
@ -123,4 +123,8 @@ public class VariableArchiveWrapper extends Service {
public void deleteSelectVariableArchive(Collection<Long> deleteIds) {
getVariableArchiveService(user).deleteSelectVariableArchive(deleteIds);
}
public void updateData(VariableArchiveSaveParam updateParam) {
getVariableArchiveService(user).updateData(updateParam);
}
}