拓扑图暂存
This commit is contained in:
parent
895d3065e9
commit
72fbd5f336
|
|
@ -0,0 +1,29 @@
|
|||
package com.engine.salary.entity.salarysob.param;
|
||||
|
||||
import com.engine.salary.util.valid.DataCheck;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 薪资项目拓扑查询参数
|
||||
* <p>Copyright: Copyright (c) 2023</p>
|
||||
* <p>Company: 泛微软件</p>
|
||||
*
|
||||
* @author qiantao
|
||||
* @version 1.0
|
||||
**/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class SalaryItemTopologyQueryParam {
|
||||
|
||||
//薪资账套id
|
||||
@DataCheck(require = true, message = "薪资账套的ID不允许为空")
|
||||
private Long salarySobId;
|
||||
|
||||
//薪资项目id
|
||||
private Long salaryItemId;
|
||||
}
|
||||
|
|
@ -4,6 +4,7 @@ import com.engine.salary.entity.salaryacct.bo.SalaryCalcItem;
|
|||
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
||||
import com.engine.salary.entity.salarysob.dto.SalarySobItemAggregateDTO;
|
||||
import com.engine.salary.entity.salarysob.dto.SalarySobItemFormDTO;
|
||||
import com.engine.salary.entity.salarysob.param.SalaryItemTopologyQueryParam;
|
||||
import com.engine.salary.entity.salarysob.param.SalarySobItemSaveParam;
|
||||
import com.engine.salary.entity.salarysob.po.SalarySobItemPO;
|
||||
|
||||
|
|
@ -131,4 +132,6 @@ public interface SalarySobItemService {
|
|||
void update(SalarySobItemPO po);
|
||||
|
||||
List<SalaryCalcItem> itemTopology(Long salarySobId);
|
||||
|
||||
Object topology(SalaryItemTopologyQueryParam param);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
|||
import com.engine.salary.entity.salarysob.bo.SalarySobItemAggregateBO;
|
||||
import com.engine.salary.entity.salarysob.dto.SalarySobItemAggregateDTO;
|
||||
import com.engine.salary.entity.salarysob.dto.SalarySobItemFormDTO;
|
||||
import com.engine.salary.entity.salarysob.param.SalaryItemTopologyQueryParam;
|
||||
import com.engine.salary.entity.salarysob.param.SalarySobItemSaveParam;
|
||||
import com.engine.salary.entity.salarysob.po.*;
|
||||
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
|
||||
|
|
@ -822,5 +823,66 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
|
|||
return salaryCalcItems;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object topology(SalaryItemTopologyQueryParam param) {
|
||||
SalarySobItemFormDTO salarySobItemFormDTO = new SalarySobItemFormDTO();
|
||||
salarySobItemFormDTO.setCanEdit(1);
|
||||
// 默认可以编辑
|
||||
if (param.getSalarySobId() != null && param.getSalaryItemId() != null) {
|
||||
// 查询薪资账套
|
||||
SalarySobPO salarySobPO = salarySobBiz.getById(param.getSalarySobId());
|
||||
if (Objects.isNull(salarySobPO)) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98379, "参数错误,薪资账套不存在或者已被删除"));
|
||||
}
|
||||
// 查询薪资项目
|
||||
List<SalarySobItemPO> salarySobItemPOS = getSalarySobItemMapper().listSome(SalarySobItemPO.builder().salarySobId(param.getSalarySobId()).salaryItemId(param.getSalaryItemId()).build());
|
||||
if (CollectionUtils.isEmpty(salarySobItemPOS)) {
|
||||
throw new SalaryRunTimeException("账套中薪资项目不存在");
|
||||
}
|
||||
SalarySobItemPO salarySobItemPO = salarySobItemPOS.get(0);
|
||||
SalaryItemPO salaryItemPO = getSalaryItemService(user).getById(salarySobItemPO.getSalaryItemId());
|
||||
if (salaryItemPO == null) {
|
||||
throw new SalaryRunTimeException("薪资项目不存在或已被删除");
|
||||
}
|
||||
//获取系统值
|
||||
List<SalarySobDefaultItemPO> salarySobDefaultItemPOS = getSalarySobDefaultItemMapper().listAll();
|
||||
salarySobDefaultItemPOS = salarySobDefaultItemPOS.stream().filter(po -> po.getSysSalaryItemId() != 0).collect(Collectors.toList());
|
||||
Map<Long, Integer> longIntegerMap = SalaryEntityUtil.convert2Map(salarySobDefaultItemPOS, SalarySobDefaultItemPO::getSysSalaryItemId, SalarySobDefaultItemPO::getCanDelete);
|
||||
if (salaryItemPO.getSysSalaryItemId() != null) {
|
||||
salarySobItemPO.setCanDelete(longIntegerMap.getOrDefault(salaryItemPO.getSysSalaryItemId(), 1));
|
||||
}
|
||||
// 获取薪资项目公式
|
||||
List<ExpressFormula> expressFormulas = getSalaryFormulaService(user).listExpressFormula(Collections.singleton(salarySobItemPO.getFormulaId()));
|
||||
// 强制开启账套的公式配置
|
||||
BaseBean baseBean = new BaseBean();
|
||||
final Boolean openFormulaForcedEditing = "true".equals(baseBean.getPropValue("hrmSalary", "openFormulaForcedEditing"));
|
||||
// 获取核算时隐藏的薪资项目id
|
||||
List<Long> hideItemIds = getSalarySobItemHideService(user).listHideGroupBysalarySobId(SalarySobItemHidePO.builder()
|
||||
.salarySobId(param.getSalarySobId())
|
||||
.isGroup(new Integer(0))
|
||||
.salaryItemId(param.getSalaryItemId())
|
||||
.build());
|
||||
|
||||
String formulaContent = CollectionUtils.isEmpty(expressFormulas) ? "" : expressFormulas.get(0).getFormula();
|
||||
Integer valueType = salarySobItemPO.getValueType() == null ? salaryItemPO.getValueType() : salarySobItemPO.getValueType();
|
||||
salarySobItemFormDTO
|
||||
.setId(salarySobItemPO.getId())
|
||||
.setName(salaryItemPO.getName())
|
||||
.setItemHide(hideItemIds.contains(salaryItemPO.getId()) ? 1 : 0)
|
||||
.setDataType(salaryItemPO.getDataType())
|
||||
.setRoundingMode(salarySobItemPO.getRoundingMode() == null ? salaryItemPO.getRoundingMode() : salarySobItemPO.getRoundingMode())
|
||||
.setPattern(salarySobItemPO.getPattern() == null ? salaryItemPO.getPattern() : salarySobItemPO.getPattern())
|
||||
.setValueType(valueType)
|
||||
.setFormulaId(salarySobItemPO.getFormulaId())
|
||||
.setFormulaContent(CollectionUtils.isNotEmpty(expressFormulas) ? formulaContent : "")
|
||||
.setOriginFormulaContent(valueType.equals(SalaryValueTypeEnum.FORMULA.getValue()) ? formulaContent : "")
|
||||
.setOriginSqlContent(valueType.equals(SalaryValueTypeEnum.SQL.getValue()) ? formulaContent : "")
|
||||
.setUseInEmployeeSalary(salaryItemPO.getUseInEmployeeSalary())
|
||||
.setDescription(salarySobItemPO.getDescription())
|
||||
.setCanEdit((openFormulaForcedEditing || salaryItemPO.getCanEdit().equals(1)) ? 1 : 0);
|
||||
}
|
||||
return salarySobItemFormDTO;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -396,11 +396,19 @@ public class SalarySobController {
|
|||
@GET
|
||||
@Path("/item/topology")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String getSalaryItemForm(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "salarySobId") Long salarySobId) {
|
||||
public String topology(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "salarySobId") Long salarySobId) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<Long, List<SalaryCalcItem>>(user).run(getSalarySobItemWrapper(user)::itemTopology, salarySobId);
|
||||
}
|
||||
|
||||
@POST
|
||||
@Path("/item/topology")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String getSalaryItemForm(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryItemTopologyQueryParam param) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<SalaryItemTopologyQueryParam, List<SalaryCalcItem>>(user).run(getSalarySobItemWrapper(user)::topology, param);
|
||||
}
|
||||
|
||||
|
||||
/**********************************薪资账套的薪资项目 end*********************************/
|
||||
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
|||
import com.engine.salary.entity.salaryitem.po.SysSalaryItemPO;
|
||||
import com.engine.salary.entity.salarysob.dto.SalarySobItemAggregateDTO;
|
||||
import com.engine.salary.entity.salarysob.dto.SalarySobItemFormDTO;
|
||||
import com.engine.salary.entity.salarysob.param.SalaryItemTopologyQueryParam;
|
||||
import com.engine.salary.entity.salarysob.param.SalarySobItemSaveParam;
|
||||
import com.engine.salary.entity.salarysob.po.SalarySobItemGroupPO;
|
||||
import com.engine.salary.entity.salarysob.po.SalarySobItemPO;
|
||||
|
|
@ -182,4 +183,11 @@ public class SalarySobItemWrapper extends Service {
|
|||
public List<SalaryCalcItem> itemTopology(Long salarySobId) {
|
||||
return getSalarySobItemService(user).itemTopology(salarySobId);
|
||||
}
|
||||
|
||||
public Object topology(SalaryItemTopologyQueryParam param) {
|
||||
|
||||
getSalarySobItemService(user).topology(param);
|
||||
return null;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue