联特需求新增、调整

This commit is contained in:
Harryxzy 2025-07-04 10:43:58 +08:00
parent 2765d9be25
commit 240cfb9f75
5 changed files with 33 additions and 15 deletions

View File

@ -263,5 +263,5 @@ public interface SalaryArchiveService {
Map<String, Object> getGzxmByScxcbz(String scxcbz);
String getBaseSalary(LtSalaryYsWorkflowQueryParam queryParam);
Map<String, String> getBaseSalary(LtSalaryYsWorkflowQueryParam queryParam);
}

View File

@ -1477,31 +1477,45 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
}
@Override
public String getBaseSalary(LtSalaryYsWorkflowQueryParam queryParam) {
public Map<String, String> getBaseSalary(LtSalaryYsWorkflowQueryParam queryParam) {
Map<String, String> resultMap = new HashMap<>();
if (StringUtils.isBlank(queryParam.getTaxAgentName()) || queryParam.getEmployeeId() == null) {
return "";
return resultMap;
}
Optional<TaxAgentPO> taxAgentPOOptional = getTaxAgentService(user).listAll().stream().filter(t -> t.getName().equals(queryParam.getTaxAgentName())).findFirst();
if (!taxAgentPOOptional.isPresent()) {
return "";
return resultMap;
}
TaxAgentPO taxAgentPO = taxAgentPOOptional.get();
List<SalaryArchivePO> salaryArchiveList = getSalaryArchiveMapper().listSome(SalaryArchivePO.builder().employeeId(queryParam.getEmployeeId()).taxAgentId(taxAgentPO.getId()).build());
if (CollectionUtils.isEmpty(salaryArchiveList)) {
return "";
return resultMap;
}
Long salaryArchiveId = salaryArchiveList.get(0).getId();
BaseBean baseBean = new BaseBean();
Long baseSalaryItemId = NumberUtils.isCreatable(baseBean.getPropValue("ltSalary", "base_salary_item_id")) ? Long.valueOf(baseBean.getPropValue("ltSalary", "base_salary_item_id")) : 0L;
SalaryItemPO salaryItemPO = getSalaryItemService(user).getById(baseSalaryItemId);
if (salaryItemPO == null) {
return "";
List<String> needRenderFields = Arrays.stream(baseBean.getPropValue("ltSalary", "need_render_fields").split(",")).collect(Collectors.toList());
Map<String, Long> fieldItemMap = new HashMap<>();
for (String field : needRenderFields) {
Long itemId = NumberUtils.isCreatable(baseBean.getPropValue("ltSalary", field + "_field_item_id")) ? Long.valueOf(baseBean.getPropValue("ltSalary", field+ "_field_item_id")) : 0L;
fieldItemMap.put(field, itemId);
}
List<SalaryItemPO> salaryItemPOList = getSalaryItemService(user).listByIds(fieldItemMap.values());
if (CollectionUtils.isEmpty(salaryItemPOList)) {
return resultMap;
}
// 获取当前生效的基本工资
List<SalaryArchiveItemPO> effectiveSalaryItems = getSalaryArchiveItemService(user).getEffectiveSalaryItems(salaryArchiveId, Collections.singletonList(baseSalaryItemId));
List<SalaryArchiveItemPO> effectiveSalaryItems = getSalaryArchiveItemService(user).getEffectiveSalaryItems(salaryArchiveId, fieldItemMap.values().stream().collect(Collectors.toList()));
if (CollectionUtils.isEmpty(effectiveSalaryItems)) {
return "";
return resultMap;
}
return effectiveSalaryItems.get(0).getItemValue();
for (Map.Entry<String, Long> entry : fieldItemMap.entrySet()) {
Optional<SalaryArchiveItemPO> optional = effectiveSalaryItems.stream().filter(f -> f.getSalaryItemId().equals(entry.getValue())).findFirst();
if (optional.isPresent()) {
resultMap.put(entry.getKey(), optional.get().getItemValue());
}
}
return resultMap;
}
}

View File

@ -514,7 +514,11 @@ public class SalaryCbsInfoServiceImpl extends Service implements com.engine.sala
});
}
return resultList;
// 过滤pushvalue为0
return resultList.stream().filter(salaryCbsInfoPO -> {
return NumberUtils.isCreatable(salaryCbsInfoPO.getPushValue())
&& new BigDecimal(salaryCbsInfoPO.getPushValue()).compareTo(new BigDecimal("0")) != 0;
}).collect(Collectors.toList());
}
@Override

View File

@ -1077,7 +1077,7 @@ public class SalaryArchiveController {
@Produces(MediaType.APPLICATION_JSON)
public String getBaseSalary(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LtSalaryYsWorkflowQueryParam queryParam) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<LtSalaryYsWorkflowQueryParam, String>(user).run(getSalaryArchiveWrapper(user)::getBaseSalary, queryParam);
return new ResponseResult<LtSalaryYsWorkflowQueryParam, Map<String, String>>(user).run(getSalaryArchiveWrapper(user)::getBaseSalary, queryParam);
}
}

View File

@ -677,7 +677,7 @@ public class SalaryArchiveWrapper extends Service {
*
* @param queryParam
*/
public String getBaseSalary(LtSalaryYsWorkflowQueryParam queryParam) {
public Map<String, String> getBaseSalary(LtSalaryYsWorkflowQueryParam queryParam) {
return getSalaryArchiveService(user).getBaseSalary(queryParam);
}
}