Merge remote-tracking branch 'origin/release/个税版本' into release/个税版本
This commit is contained in:
commit
a4f4c8c5a4
|
|
@ -5,6 +5,7 @@ import com.engine.salary.entity.salaryformula.po.FormulaVar;
|
||||||
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
||||||
import com.engine.salary.entity.salarysob.po.SalarySobItemPO;
|
import com.engine.salary.entity.salarysob.po.SalarySobItemPO;
|
||||||
import com.engine.salary.enums.salaryformula.SalaryFormulaReferenceEnum;
|
import com.engine.salary.enums.salaryformula.SalaryFormulaReferenceEnum;
|
||||||
|
import com.engine.salary.exception.SalaryRunTimeException;
|
||||||
import com.engine.salary.report.common.constant.SalaryConstant;
|
import com.engine.salary.report.common.constant.SalaryConstant;
|
||||||
import com.engine.salary.util.SalaryEntityUtil;
|
import com.engine.salary.util.SalaryEntityUtil;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
|
|
@ -13,6 +14,7 @@ import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.LinkedTransferQueue;
|
import java.util.concurrent.LinkedTransferQueue;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 对薪资核算时涉及的薪资项目进行排序
|
* 对薪资核算时涉及的薪资项目进行排序
|
||||||
|
|
@ -25,6 +27,7 @@ import java.util.concurrent.LinkedTransferQueue;
|
||||||
public class SalaryCalcItemGraph {
|
public class SalaryCalcItemGraph {
|
||||||
|
|
||||||
private List<SalaryCalcItemGraphNode> nodes;
|
private List<SalaryCalcItemGraphNode> nodes;
|
||||||
|
private Map<Long, String> items;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据薪资账套的薪资项目、公式详情构建实例
|
* 根据薪资账套的薪资项目、公式详情构建实例
|
||||||
|
|
@ -51,7 +54,7 @@ public class SalaryCalcItemGraph {
|
||||||
SalaryItemPO salaryItemPO = salaryItemMap.get(salaryItemCode);
|
SalaryItemPO salaryItemPO = salaryItemMap.get(salaryItemCode);
|
||||||
if (salaryItemPO == null) {
|
if (salaryItemPO == null) {
|
||||||
continue;
|
continue;
|
||||||
}else {
|
} else {
|
||||||
subSalarySobItem = SalarySobItemPO.builder().salaryItemId(salaryItemPO.getId()).salaryItemCode(salaryItemPO.getCode()).build();
|
subSalarySobItem = SalarySobItemPO.builder().salaryItemId(salaryItemPO.getId()).salaryItemCode(salaryItemPO.getCode()).build();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -63,6 +66,7 @@ public class SalaryCalcItemGraph {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.nodes = Lists.newArrayList(nodeMap.values());
|
this.nodes = Lists.newArrayList(nodeMap.values());
|
||||||
|
this.items = SalaryEntityUtil.convert2Map(salaryItemPOS, SalaryItemPO::getId, SalaryItemPO::getName);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -130,6 +134,18 @@ public class SalaryCalcItemGraph {
|
||||||
|
|
||||||
// 倒序
|
// 倒序
|
||||||
Collections.reverse(result);
|
Collections.reverse(result);
|
||||||
|
if (!Objects.equals(result.size(), nodes.size())) {
|
||||||
|
|
||||||
|
List<Long> resultIds = SalaryEntityUtil.properties(result, SalaryCalcItem::getSalaryItemId, Collectors.toList());
|
||||||
|
String errItemName = nodes.stream()
|
||||||
|
.map(SalaryCalcItemGraphNode::getSalaryCalcItem)
|
||||||
|
.map(SalaryCalcItem::getSalaryItemId)
|
||||||
|
.filter(itemId -> !resultIds.contains(itemId))
|
||||||
|
.map(itemId -> items.getOrDefault(itemId, ""))
|
||||||
|
.collect((Collectors.joining(",", "[", "]")));
|
||||||
|
|
||||||
|
throw new SalaryRunTimeException("薪资项目:" + errItemName + "存在闭环!");
|
||||||
|
}
|
||||||
// 返回结果列表
|
// 返回结果列表
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,9 +8,9 @@ import com.engine.salary.biz.SalarySobItemGroupBiz;
|
||||||
import com.engine.salary.biz.SalarySobItemHideBiz;
|
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.elog.entity.dto.LoggerContext;
|
||||||
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.salary.entity.salaryacct.po.SalaryAcctResultPO;
|
||||||
import com.engine.salary.elog.entity.dto.LoggerContext;
|
|
||||||
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;
|
||||||
|
|
@ -36,7 +36,6 @@ import com.engine.salary.util.SalaryI18nUtil;
|
||||||
import com.engine.salary.util.db.IdGenerator;
|
import com.engine.salary.util.db.IdGenerator;
|
||||||
import com.engine.salary.util.db.MapperProxyFactory;
|
import com.engine.salary.util.db.MapperProxyFactory;
|
||||||
import com.engine.salary.util.valid.ValidUtil;
|
import com.engine.salary.util.valid.ValidUtil;
|
||||||
import com.engine.salary.util.db.IdGenerator;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
|
|
@ -269,10 +268,6 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
|
||||||
// 校验
|
// 校验
|
||||||
validSaveParam(saveParam);
|
validSaveParam(saveParam);
|
||||||
|
|
||||||
|
|
||||||
//清除原数据
|
|
||||||
cleanOldData(salarySobId);
|
|
||||||
|
|
||||||
//保存
|
//保存
|
||||||
saveSobItem(saveParam);
|
saveSobItem(saveParam);
|
||||||
|
|
||||||
|
|
@ -325,34 +320,17 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 清楚原相关数据
|
|
||||||
*
|
|
||||||
* @param salarySobId
|
|
||||||
*/
|
|
||||||
private void cleanOldData(Long salarySobId) {
|
|
||||||
// 删除薪资账套的员工信息字段
|
|
||||||
// getSalarySobEmpFieldService(user).deleteBySalarySobIds(Collections.singleton(salarySobId));
|
|
||||||
// 删除薪资账套的薪资项目副本
|
|
||||||
// deleteBySalarySobIds(Collections.singleton(salarySobId));
|
|
||||||
// 删除薪资账套的薪资项目分类
|
|
||||||
// getSalarySobItemGroupService(user).deleteBySalarySobIds(Collections.singleton(salarySobId));
|
|
||||||
// 删除薪资项目是否显示
|
|
||||||
deleteItemShowBySalarySobIds(Collections.singleton(salarySobId));
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存项目信息
|
* 保存项目信息
|
||||||
*
|
*
|
||||||
* @param saveParam
|
* @param saveParam
|
||||||
*/
|
*/
|
||||||
private void saveSobItem(SalarySobItemSaveParam saveParam) {
|
private void saveSobItem(SalarySobItemSaveParam saveParam) {
|
||||||
//处理人员信息字段
|
|
||||||
handleEmpField(saveParam);
|
|
||||||
|
|
||||||
//分组和薪资项
|
//分组和薪资项
|
||||||
handleGroupAndItem(saveParam);
|
handleGroupAndItem(saveParam);
|
||||||
|
|
||||||
|
//处理人员信息字段
|
||||||
|
handleEmpField(saveParam);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void handleGroupAndItem(SalarySobItemSaveParam saveParam) {
|
private void handleGroupAndItem(SalarySobItemSaveParam saveParam) {
|
||||||
|
|
@ -664,6 +642,8 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
|
||||||
// 保存薪资账套的薪资项目副本
|
// 保存薪资账套的薪资项目副本
|
||||||
batchSave(salarySobItems);
|
batchSave(salarySobItems);
|
||||||
|
|
||||||
|
// 删除原薪资项目是否显示
|
||||||
|
deleteItemShowBySalarySobIds(Collections.singleton(salarySobId));
|
||||||
// 保存薪资账套的薪资项目隐藏信息
|
// 保存薪资账套的薪资项目隐藏信息
|
||||||
batchSaveShow(needInsertItemShow);
|
batchSaveShow(needInsertItemShow);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -92,6 +92,18 @@ public class SalarySobController {
|
||||||
return new ResponseResult<SalarySobListQueryParam, PageInfo<SalarySobListDTO>>(user).run(getSalarySobWrapper(user)::listPage, queryParam);
|
return new ResponseResult<SalarySobListQueryParam, PageInfo<SalarySobListDTO>>(user).run(getSalarySobWrapper(user)::listPage, queryParam);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 薪资账套列表
|
||||||
|
*/
|
||||||
|
@POST
|
||||||
|
@Path("/listAll")
|
||||||
|
@Produces(MediaType.APPLICATION_JSON)
|
||||||
|
public String listAll(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||||
|
User user = HrmUserVarify.getUser(request, response);
|
||||||
|
return new ResponseResult<SalarySobListQueryParam, List<SalarySobPO>>(user).run(getSalarySobWrapper(user)::listAll);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 薪资账套基本信息表单
|
* 薪资账套基本信息表单
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -94,6 +94,16 @@ public class SalarySobWrapper extends Service {
|
||||||
return dtoPage;
|
return dtoPage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 薪资账套列表
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<SalarySobPO> listAll() {
|
||||||
|
return getSalarySobService(user).listAll();
|
||||||
|
}
|
||||||
|
|
||||||
private void handleSalarySobBackItemHistory(SalarySobListQueryParam queryParam) {
|
private void handleSalarySobBackItemHistory(SalarySobListQueryParam queryParam) {
|
||||||
queryParam.setPageSize(100000);
|
queryParam.setPageSize(100000);
|
||||||
List<SalarySobPO> list = getSalarySobService(user).listPageByParam(queryParam).getList();
|
List<SalarySobPO> list = getSalarySobService(user).listPageByParam(queryParam).getList();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue