联特 流程获取数据接口
This commit is contained in:
parent
3b6a6222c9
commit
5aefe5272d
|
|
@ -0,0 +1,41 @@
|
|||
package com.engine.salary.entity.salaryarchive.param;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @ClassName LtSalaryYsWorkflowQueryParam
|
||||
* @author Harryxzy
|
||||
* @date 2025/6/4 11:33
|
||||
* @description 联特 薪资预算流程查询参数
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
//薪资档案查询参数
|
||||
public class LtSalaryYsWorkflowQueryParam {
|
||||
|
||||
/**
|
||||
* 个税扣缴义务人
|
||||
*/
|
||||
private String taxAgentName;
|
||||
|
||||
/**
|
||||
* 员工id
|
||||
*/
|
||||
private Long employeeId;
|
||||
|
||||
/**
|
||||
* 岗位pc
|
||||
*/
|
||||
private String gwpc;
|
||||
|
||||
/**
|
||||
* 生产薪酬标准
|
||||
*/
|
||||
private String scxcbz;
|
||||
|
||||
}
|
||||
|
|
@ -256,4 +256,12 @@ public interface SalaryArchiveService {
|
|||
* @return
|
||||
*/
|
||||
List<SalaryArchivePO> listPayStartDateIsNull(String runStatus);
|
||||
|
||||
Map<String, Object> getTaxAgentByEmployee(Long employeeId);
|
||||
|
||||
Map<String, Object> getGwPcInfo(String gwpc);
|
||||
|
||||
Map<String, Object> getGzxmByScxcbz(String scxcbz);
|
||||
|
||||
String getBaseSalary(LtSalaryYsWorkflowQueryParam queryParam);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -67,8 +67,9 @@ import org.apache.poi.ss.usermodel.Sheet;
|
|||
import org.apache.poi.util.IOUtils;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import weaver.conn.RecordSet;
|
||||
import weaver.file.ImageFileManager;
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.general.Util;
|
||||
import weaver.hrm.User;
|
||||
|
||||
|
|
@ -136,6 +137,10 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
return ServiceUtil.getService(SalarySobServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalaryItemService getSalaryItemService(User user) {
|
||||
return ServiceUtil.getService(SalaryItemServiceImpl.class, user);
|
||||
}
|
||||
|
||||
public AuthService getAuthService(User user) {
|
||||
return ServiceUtil.getService(AuthServiceImpl.class, user);
|
||||
}
|
||||
|
|
@ -1399,4 +1404,104 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
}
|
||||
return getSalaryArchiveMapper().listPayStartDateIsNull(runStatus);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getTaxAgentByEmployee(Long employeeId) {
|
||||
Map<String, Object> resultMap = new HashMap<>();
|
||||
if (employeeId == null) {
|
||||
return resultMap;
|
||||
}
|
||||
List<SalaryArchivePO> archiveList = getSalaryArchiveMapper().listSome(SalaryArchivePO.builder().employeeId(employeeId).build());
|
||||
if (CollectionUtils.isEmpty(archiveList)) {
|
||||
return resultMap;
|
||||
}
|
||||
if (archiveList.size() > 1) {
|
||||
archiveList = archiveList.stream().filter(a -> a.getRunStatus().equals(SalaryArchiveStatusEnum.FIXED.getValue()) || a.getRunStatus().equals(SalaryArchiveStatusEnum.SUSPEND.getValue())).collect(Collectors.toList());
|
||||
}
|
||||
if (CollectionUtils.isEmpty(archiveList) || archiveList.size() > 1) {
|
||||
return resultMap;
|
||||
}
|
||||
Long taxAgentId = archiveList.get(0).getTaxAgentId();
|
||||
TaxAgentPO taxAgentPO = getTaxAgentService(user).getById(taxAgentId);
|
||||
if (taxAgentPO == null) {
|
||||
return resultMap;
|
||||
}
|
||||
resultMap.put("id", taxAgentPO.getId());
|
||||
resultMap.put("name", taxAgentPO.getName());
|
||||
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据岗位PC带出4个倍数关系
|
||||
* @param gwpc
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Map<String, Object> getGwPcInfo(String gwpc) {
|
||||
Map<String, Object> resultMap = new HashMap<>();
|
||||
if (StringUtils.isBlank(gwpc)) {
|
||||
return resultMap;
|
||||
}
|
||||
RecordSet recordSet = new RecordSet();
|
||||
recordSet.isReturnDecryptData(true);
|
||||
recordSet.execute("select zxz,zdz,nzjbs,jxjsbs,yfqndjjbs,xsqjdtcbs from uf_xcjg where gwpc ='" + gwpc + "'");
|
||||
while (recordSet.next()) {
|
||||
resultMap.put("zxz", recordSet.getString("zxz"));
|
||||
resultMap.put("zdz", recordSet.getString("zdz"));
|
||||
resultMap.put("nzjbs", recordSet.getString("nzjbs"));
|
||||
resultMap.put("jxjsbs", recordSet.getString("jxjsbs"));
|
||||
resultMap.put("yfqndjjbs", recordSet.getString("yfqndjjbs"));
|
||||
resultMap.put("xsqjdtcbs", recordSet.getString("xsqjdtcbs"));
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getGzxmByScxcbz(String scxcbz) {
|
||||
Map<String, Object> resultMap = new HashMap<>();
|
||||
if (StringUtils.isBlank(scxcbz)) {
|
||||
return resultMap;
|
||||
}
|
||||
RecordSet recordSet = new RecordSet();
|
||||
recordSet.isReturnDecryptData(true);
|
||||
recordSet.execute("select jbgz,jxgz,gwgz,gljt,hb from uf_xcbz where xcdj ='" +scxcbz+ "'");
|
||||
while (recordSet.next()) {
|
||||
resultMap.put("jbgz", recordSet.getString("jbgz"));
|
||||
resultMap.put("jxgz", recordSet.getString("jxgz"));
|
||||
resultMap.put("gwgz", recordSet.getString("gwgz"));
|
||||
resultMap.put("gljt", recordSet.getString("gljt"));
|
||||
resultMap.put("hb", recordSet.getString("hb"));
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getBaseSalary(LtSalaryYsWorkflowQueryParam queryParam) {
|
||||
if (StringUtils.isBlank(queryParam.getTaxAgentName()) || queryParam.getEmployeeId() == null) {
|
||||
return "";
|
||||
}
|
||||
Optional<TaxAgentPO> taxAgentPOOptional = getTaxAgentService(user).listAll().stream().filter(t -> t.getName().equals(queryParam.getTaxAgentName())).findFirst();
|
||||
if (!taxAgentPOOptional.isPresent()) {
|
||||
return "";
|
||||
}
|
||||
TaxAgentPO taxAgentPO = taxAgentPOOptional.get();
|
||||
List<SalaryArchivePO> salaryArchiveList = getSalaryArchiveMapper().listSome(SalaryArchivePO.builder().employeeId(queryParam.getEmployeeId()).taxAgentId(taxAgentPO.getId()).build());
|
||||
if (CollectionUtils.isEmpty(salaryArchiveList)) {
|
||||
return "";
|
||||
}
|
||||
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<SalaryArchiveItemPO> effectiveSalaryItems = getSalaryArchiveItemService(user).getEffectiveSalaryItems(salaryArchiveId, Collections.singletonList(baseSalaryItemId));
|
||||
if (CollectionUtils.isEmpty(effectiveSalaryItems)) {
|
||||
return "";
|
||||
}
|
||||
return effectiveSalaryItems.get(0).getItemValue();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1020,4 +1020,64 @@ public class SalaryArchiveController {
|
|||
return new ResponseResult<String, Map<String, Object>>(user).run(getSalaryArchiveWrapper(user)::handleRepeatData);
|
||||
}
|
||||
|
||||
|
||||
/******** 联特二开 start ***********************************************************************************************/
|
||||
|
||||
/**
|
||||
* 根据人员id获取个税缴义务人
|
||||
*
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
@POST
|
||||
@Path("/getTaxAgentByEmployee")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String getTaxAgentByEmployee(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryArchiveQueryParam queryParam) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<Long, Map<String, Object>>(user).run(getSalaryArchiveWrapper(user)::getTaxAgentByEmployee, queryParam.getEmployeeId());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据岗位PC带出4个倍数关系
|
||||
*
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
@POST
|
||||
@Path("/getGwPcInfo")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String getGwPcInfo(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LtSalaryYsWorkflowQueryParam queryParam) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<String, Map<String, Object>>(user).run(getSalaryArchiveWrapper(user)::getGwPcInfo, queryParam.getGwpc());
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据薪酬标准生产,带出工资项目
|
||||
*
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
@POST
|
||||
@Path("/getGzxmByScxcbz")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String getGzxmByScxcbz(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LtSalaryYsWorkflowQueryParam queryParam) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<String, Map<String, Object>>(user).run(getSalaryArchiveWrapper(user)::getGzxmByScxcbz, queryParam.getScxcbz());
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据义务人,人员带出基本工资
|
||||
*
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
@POST
|
||||
@Path("/getBaseSalary")
|
||||
@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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -643,4 +643,41 @@ public class SalaryArchiveWrapper extends Service {
|
|||
public String syncPayStartDate() {
|
||||
return getSalaryArchiveService(user).syncPayStartDate();
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据人员id获取个税缴义务人
|
||||
*
|
||||
* @param employeeId
|
||||
* @return
|
||||
*/
|
||||
public Map<String, Object> getTaxAgentByEmployee(Long employeeId) {
|
||||
return getSalaryArchiveService(user).getTaxAgentByEmployee(employeeId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据岗位PC带出4个倍数关系
|
||||
* @param gwpc
|
||||
*/
|
||||
public Map<String, Object> getGwPcInfo(String gwpc) {
|
||||
return getSalaryArchiveService(user).getGwPcInfo(gwpc);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据薪酬标准生产,带出工资项目
|
||||
*
|
||||
* @param scxcbz
|
||||
* @return
|
||||
*/
|
||||
public Map<String, Object> getGzxmByScxcbz(String scxcbz) {
|
||||
return getSalaryArchiveService(user).getGzxmByScxcbz(scxcbz);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据义务人,人员带出基本工资
|
||||
*
|
||||
* @param queryParam
|
||||
*/
|
||||
public String getBaseSalary(LtSalaryYsWorkflowQueryParam queryParam) {
|
||||
return getSalaryArchiveService(user).getBaseSalary(queryParam);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue