From 9191e00d33b80c8c47930a5dc1cd72c096a58ae8 Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Fri, 15 Dec 2023 15:17:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B8=AF=E6=B9=BEtemp?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../salary/action/EditSalaryAction.java | 10 +- .../engine/salary/action/shgwPltxAction.java | 146 +++++++++++++++ .../salaryacct/dto/pltxEmployeeDTO.java | 41 ++++ .../param/PltxInitEmployeeParam.java | 39 ++++ .../service/SalaryAcctExcelService.java | 20 ++ .../impl/SalaryAcctExcelServiceImpl.java | 176 ++++++++++++++++++ .../salary/web/SalaryAcctController.java | 49 +++++ 7 files changed, 473 insertions(+), 8 deletions(-) create mode 100644 src/com/engine/salary/action/shgwPltxAction.java create mode 100644 src/com/engine/salary/entity/salaryacct/dto/pltxEmployeeDTO.java create mode 100644 src/com/engine/salary/entity/salaryacct/param/PltxInitEmployeeParam.java diff --git a/src/com/engine/salary/action/EditSalaryAction.java b/src/com/engine/salary/action/EditSalaryAction.java index eed5d1648..d2593cd1e 100644 --- a/src/com/engine/salary/action/EditSalaryAction.java +++ b/src/com/engine/salary/action/EditSalaryAction.java @@ -10,13 +10,9 @@ import weaver.conn.RecordSet; import weaver.general.Util; import weaver.hrm.User; import weaver.interfaces.workflow.action.Action; -import weaver.soa.workflow.request.Property; -import weaver.soa.workflow.request.RequestInfo; +import weaver.soa.workflow.request.*; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; @Slf4j @@ -45,8 +41,6 @@ public class EditSalaryAction implements Action { Property[] properties = requestInfo.getMainTableInfo().getProperty(); Map fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName, property -> Util.null2String(property.getValue()))); - - RecordSet rs = new RecordSet(); String queryImageId = "select salaryname,processfield from " + tableName + " where workflowid = ?"; diff --git a/src/com/engine/salary/action/shgwPltxAction.java b/src/com/engine/salary/action/shgwPltxAction.java new file mode 100644 index 000000000..1fdb2113d --- /dev/null +++ b/src/com/engine/salary/action/shgwPltxAction.java @@ -0,0 +1,146 @@ +package com.engine.salary.action; + +import com.engine.common.util.ServiceUtil; +import com.engine.salary.entity.salaryarchive.param.SalaryArchiveImportActionParam; +import com.engine.salary.entity.salaryitem.po.SalaryItemPO; +import com.engine.salary.service.SalaryItemService; +import com.engine.salary.service.impl.SalaryItemServiceImpl; +import com.engine.salary.wrapper.SalaryArchiveWrapper; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import weaver.general.BaseBean; +import weaver.general.Util; +import weaver.hrm.User; +import weaver.interfaces.workflow.action.Action; +import weaver.soa.workflow.request.*; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * 上海港湾 - 第六层级批量流程调薪 + */ +@Slf4j +public class shgwPltxAction implements Action { + + + private SalaryArchiveWrapper getSalaryArchiveWrapper(User user) { + return ServiceUtil.getService(SalaryArchiveWrapper.class, user); + } + + private SalaryItemService getSalaryItemService(User user) { + return ServiceUtil.getService(SalaryItemServiceImpl.class, user); + } + + @Override + public String execute(RequestInfo requestInfo) { + try { + User user = new User(); + user.setLoginid("sysadmin"); + user.setUid(1); + BaseBean baseBean = new BaseBean(); + Property[] properties = requestInfo.getMainTableInfo().getProperty(); + Map fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName, + property -> Util.null2String(property.getValue()))); + + // 明细数据 + List> detailPropertyMap = new ArrayList<>(); + DetailTable[] detailTable = requestInfo.getDetailTableInfo().getDetailTable();// 获取所有明细表 + if (detailTable.length > 0) { + // 指定明细表 + for (DetailTable dt : detailTable) { + Row[] s = dt.getRow();// 当前明细表的所有数据,按行存储 + // 指定行 + for (Row r : s) { + Cell[] c = r.getCell();// 每行数据再按列存储 + // 指定列 + HashMap rowMap = new HashMap<>(); + for (Cell c1 : c) { + String name = c1.getName();// 明细字段名称 + String value = c1.getValue();// 明细字段的值 + rowMap.put(name,value); + } + detailPropertyMap.add(rowMap); + } + // 只获取明细表1的数据 + break; + } + } + + String salaryItemId = baseBean.getPropValue("shgwSalary", "pltxSalaryItemId"); + SalaryItemPO salaryItemPO = getSalaryItemService(user).getById(Long.valueOf(salaryItemId)); + List> importData = new ArrayList<>(); + for (Map detailMap : detailPropertyMap) { + HashMap map = new HashMap<>(); + map.put("员工id", detailMap.get("xm")); + map.put("调薪原因", "调薪"); + map.put("个税扣缴义务人", detailMap.get("gskjywr")); + map.put("生效日期", fieldMap.get("sxrq")); + map.put(salaryItemPO.getName(), detailMap.get("jbgz")); + importData.add(map); + } + SalaryArchiveImportActionParam build = SalaryArchiveImportActionParam.builder() + .importDatas(importData) + .build(); + + Map map = getSalaryArchiveWrapper(user).adjustmentSalaryArchive(build); + + List errorNotice = (List) map.get("errorNotice"); + if (CollectionUtils.isNotEmpty(errorNotice)) { + log.error("调薪存在异常 requestId:{} map:{}", requestInfo.getRequestid(), map); + List> excelComments = (List>) map.get("errorNotice"); + StringBuilder message = new StringBuilder(""); + for (Map comments : excelComments) { + message.append(comments.get("message")).append("\n"); + } + requestInfo.getRequestManager().setMessage(message.toString()); + return FAILURE_AND_CONTINUE; + } + } catch (Exception e) { + log.error("调薪异常", e); + requestInfo.getRequestManager().setMessage(e.getMessage()); + return FAILURE_AND_CONTINUE; + } + return SUCCESS; + } + + + class SalaryField { + + private String processField; + + private String salaryName; + + private String value; + + public String getProcessField() { + return processField; + } + + public void setProcessField(String processField) { + this.processField = processField; + } + + public String getSalaryName() { + return salaryName; + } + + public void setSalaryName(String salaryName) { + this.salaryName = salaryName; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public SalaryField(String processField, String salaryName, String value) { + this.processField = processField; + this.salaryName = salaryName; + this.value = value; + } + } +} diff --git a/src/com/engine/salary/entity/salaryacct/dto/pltxEmployeeDTO.java b/src/com/engine/salary/entity/salaryacct/dto/pltxEmployeeDTO.java new file mode 100644 index 000000000..88b8e7ec0 --- /dev/null +++ b/src/com/engine/salary/entity/salaryacct/dto/pltxEmployeeDTO.java @@ -0,0 +1,41 @@ +package com.engine.salary.entity.salaryacct.dto; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author Harryxzy + * @ClassName pltxEmployeeDTO + * @date 2023/12/14 14:06 + * @description + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class pltxEmployeeDTO { + + // 姓名 + private Long employee; + + // 个税扣缴义务人 + private String gskjywr; + + // 去年绩效分数 + private Double qnjxfs; + + // 基本工资 + private Double jbgz; + + // 调薪 + private Double dx; + + // 调薪后基本工资 + private Double dxhjbgz; + + // 调整比例 + private Double dxbl; + +} diff --git a/src/com/engine/salary/entity/salaryacct/param/PltxInitEmployeeParam.java b/src/com/engine/salary/entity/salaryacct/param/PltxInitEmployeeParam.java new file mode 100644 index 000000000..c2db38dcb --- /dev/null +++ b/src/com/engine/salary/entity/salaryacct/param/PltxInitEmployeeParam.java @@ -0,0 +1,39 @@ +package com.engine.salary.entity.salaryacct.param; + +import com.engine.salary.util.valid.DataCheck; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class PltxInitEmployeeParam { + + /** + * 个税扣缴义务人 + */ + String gskjywr; + + /** + * 调薪层级 + */ + @DataCheck(require = true, message = "请输入调薪层级") + Integer txcj; + + /** + * 调薪层级审批人 + */ + @DataCheck(require = true, message = "请输入调薪层级审批人") + Integer spr; + + // 生效日期 + String sxrq; + + // 姓名 + Integer xm; + +} diff --git a/src/com/engine/salary/service/SalaryAcctExcelService.java b/src/com/engine/salary/service/SalaryAcctExcelService.java index 25dbc0d18..c2b0124a4 100644 --- a/src/com/engine/salary/service/SalaryAcctExcelService.java +++ b/src/com/engine/salary/service/SalaryAcctExcelService.java @@ -2,6 +2,7 @@ package com.engine.salary.service; import com.engine.salary.component.WeaTableColumnGroup; import com.engine.salary.entity.salaryacct.dto.SalaryAcctImportFieldDTO; +import com.engine.salary.entity.salaryacct.dto.pltxEmployeeDTO; import com.engine.salary.entity.salaryacct.param.*; import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO; import org.apache.poi.xssf.usermodel.XSSFWorkbook; @@ -120,6 +121,25 @@ public interface SalaryAcctExcelService { void cacheExportField(List salaryItems); + /** + * 选择调薪层级、审批人后带出人员 + * @param pltxInitEmployeeParam + */ + List pltxInitEmp(PltxInitEmployeeParam pltxInitEmployeeParam); + + /** + * 根据审批人,过滤能够看到、编辑的明细数据 + * @param pltxInitEmployeeParam + */ + List pltxFilterData(PltxInitEmployeeParam pltxInitEmployeeParam); + + /** + * 根据义务人,姓名获取基本工资 + * @param param + */ + + pltxEmployeeDTO pltxGetJbgz(PltxInitEmployeeParam param); + // // /** // * 薪资核算结果校验异常导出 diff --git a/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java index 8840d9302..de3946a32 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java @@ -15,8 +15,11 @@ import com.engine.salary.entity.salaryacct.bo.SalaryAcctResultLogBO; import com.engine.salary.entity.salaryacct.dto.SalaryAccEmployeeListDTO; import com.engine.salary.entity.salaryacct.dto.SalaryAcctImportFieldDTO; import com.engine.salary.entity.salaryacct.dto.SalaryComparisonResultListDTO; +import com.engine.salary.entity.salaryacct.dto.pltxEmployeeDTO; import com.engine.salary.entity.salaryacct.param.*; import com.engine.salary.entity.salaryacct.po.*; +import com.engine.salary.entity.salaryarchive.po.SalaryArchiveItemPO; +import com.engine.salary.entity.salaryarchive.po.SalaryArchivePO; import com.engine.salary.entity.salaryitem.po.SalaryItemPO; import com.engine.salary.entity.salarysob.bo.SalarySobItemAggregateBO; import com.engine.salary.entity.salarysob.dto.SalarySobEmpFieldDTO; @@ -24,6 +27,7 @@ import com.engine.salary.entity.salarysob.dto.SalarySobItemAggregateDTO; import com.engine.salary.entity.salarysob.po.SalarySobEmpFieldPO; import com.engine.salary.entity.salarysob.po.SalarySobItemGroupPO; import com.engine.salary.entity.salarysob.po.SalarySobItemPO; +import com.engine.salary.entity.taxagent.param.TaxAgentQueryParam; import com.engine.salary.entity.taxagent.po.TaxAgentPO; import com.engine.salary.enums.UserStatusEnum; import com.engine.salary.enums.salaryaccounting.LockStatusEnum; @@ -59,7 +63,9 @@ import org.apache.commons.lang3.math.NumberUtils; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.util.IOUtils; import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import weaver.conn.RecordSet; import weaver.file.ImageFileManager; +import weaver.general.BaseBean; import weaver.hrm.User; import java.io.InputStream; @@ -144,6 +150,10 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc return ServiceUtil.getService(SalarySobItemWrapper.class, user); } + private SalaryArchiveService getSalaryArchiveService(User user) { + return ServiceUtil.getService(SalaryArchiveServiceImpl.class, user); + } + @Override public XSSFWorkbook exportSalaryAcctEmployee(SalaryAcctEmployeeQueryParam queryParam) { ValidUtil.doValidator(queryParam); @@ -1427,4 +1437,170 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc // } // return excelSheetData; // } + + /** + * 选择调薪层级、审批人后带出人员 + * @param param + */ + @Override + public List pltxInitEmp(PltxInitEmployeeParam param) { + ValidUtil.doValidator(param); + List result = new ArrayList<>(); + RecordSet rs = new RecordSet(); + BaseBean bb = new BaseBean(); + if (param.getTxcj() == 0) { + // 第一层级,带出所有的被调薪人 + rs.execute("select bdxr,gskjywr from uf_pltxjzgljmb "); + List allEmps = new ArrayList<>(); + // 查询所有义务人信息 + List taxAgentPOS = getTaxAgentService(user).listAll(); + Map taxAgentMap = SalaryEntityUtil.convert2Map(taxAgentPOS, TaxAgentPO::getName, TaxAgentPO::getId); + Map taxAgentNameMap = SalaryEntityUtil.convert2Map(taxAgentPOS, TaxAgentPO::getId, TaxAgentPO::getName); + while (rs.next()) { + Long taxAgentId = taxAgentMap.getOrDefault(StringUtils.isBlank(rs.getString("gskjywr")) ? "" : rs.getString("gskjywr"), -1L); + allEmps.add(SalaryAcctEmployeePO.builder().employeeId(Long.valueOf(rs.getInt("bdxr"))).taxAgentId(taxAgentId).build()); + } + // 查询这些人的基本工资 + Long salaryItemId = Long.valueOf(bb.getPropValue("shgwSalary", "pltxSalaryItemId").trim()); + SalaryItemPO salaryItemPO = getSalaryItemService(user).getById(salaryItemId); + if (ObjectUtils.isEmpty(salaryItemPO)) { + throw new SalaryRunTimeException("薪资项目不存在"); + } + // 查询这些人的薪资档案 + List empIds = allEmps.stream().map(SalaryAcctEmployeePO::getEmployeeId).collect(Collectors.toList()); + List taxAgentEmpList = allEmps.stream().map(emp -> emp.getTaxAgentId() + "-" + emp.getEmployeeId()).collect(Collectors.toList()); + List salaryArchivePOS = getSalaryArchiveService(user).listSome(SalaryArchivePO.builder().employeeIds(empIds).build()); + // 过滤薪资档案 + salaryArchivePOS = salaryArchivePOS.stream().filter(po -> taxAgentEmpList.contains(po.getTaxAgentId()+"-"+po.getEmployeeId())).collect(Collectors.toList()); + // key:义务人id-人员id value:薪资档案id + Map salaryArchiveMap = SalaryEntityUtil.convert2Map(salaryArchivePOS, s -> s.getTaxAgentId() + "-" + s.getEmployeeId(), SalaryArchivePO::getId); + List salaryArchiveItemList = getSalaryArchiveService(user).getCurrentEffectiveItemList(salaryArchivePOS.stream().map(SalaryArchivePO::getId).collect(Collectors.toList()), Collections.singletonList(salaryItemId)); + Map salaryArchiveItemMap = SalaryEntityUtil.convert2Map(salaryArchiveItemList, SalaryArchiveItemPO::getSalaryArchiveId); + allEmps.stream().forEach(emp -> { + // 获取他的薪资档案id + Long archiveId = salaryArchiveMap.get(emp.getTaxAgentId() + "-" + emp.getEmployeeId()); + pltxEmployeeDTO dto = pltxEmployeeDTO.builder().employee(emp.getEmployeeId()).gskjywr(taxAgentNameMap.get(emp.getTaxAgentId())).build(); + if (archiveId != null) { + SalaryArchiveItemPO salaryArchiveItemPO = salaryArchiveItemMap.get(archiveId); + if (salaryArchiveItemPO != null) { + dto.setJbgz(Double.valueOf(StringUtils.isBlank(salaryArchiveItemPO.getItemValue()) ? "0" : salaryArchiveItemPO.getItemValue())); + } + } + result.add(dto); + }); + } else { + // 是二、三、四、五、六层级,获取中间建模的值直接拉过来 + if (StringUtils.isBlank(param.getSxrq())) { + throw new SalaryRunTimeException("生效日期不能为空"); + } + rs.execute("select id from uf_txjlgljmb where nd='"+ param.getSxrq().substring(0,5) + "'"); + rs.next(); + int mainId = rs.getInt("id"); + // 获取明细数据 + rs.execute("select * from uf_txjlgljmb_dt1 where mainid="+mainId); + while (rs.next()) { + result.add(pltxEmployeeDTO.builder() + .employee(Long.valueOf(rs.getInt("xm"))) + .qnjxfs(rs.getDouble("qnjxfs")) + .jbgz(rs.getDouble("jbgz")) + .dx(rs.getDouble("dx")) + .dxhjbgz(rs.getDouble("dxhjbgz")) + .dxbl(rs.getDouble("dxbl")) + .build()); + } + } + return result.stream().filter(r -> r.getEmployee() != -1).collect(Collectors.toList()); + } + + /** + * 根据审批人,过滤能够看到、编辑的明细数据 + * @param param + */ + @Override + public List pltxFilterData(PltxInitEmployeeParam param) { + ValidUtil.doValidator(param); + RecordSet rs = new RecordSet(); + + List fieldList = Arrays.asList("dxyjspr", "dxejspr", "dxsajspr", "dxsijspr", "dxwjspr", "dxljspr"); + List canManageList = new ArrayList<>(); + if (param.getTxcj() == 0) { + // 一级 + rs.execute(" SELECT bdxr,gskjywr FROM uf_pltxjzgljmb where dxyjspr= " + param.getSpr()); + while (rs.next()) { + int bdxr = rs.getInt("bdxr"); + String gskjywr = rs.getString("gskjywr"); + canManageList.add(pltxEmployeeDTO.builder().employee(Long.valueOf(bdxr)).gskjywr(gskjywr).build()); + } + } else { + buildCanManageList(param, fieldList, canManageList); + } + return canManageList; + } + + private void buildCanManageList(PltxInitEmployeeParam param, List fieldList, List canManageList ) { + Integer txcj = param.getTxcj(); + RecordSet rs = new RecordSet(); + + List sprList = new ArrayList<>(); + for (int i = txcj; i > 0 ; i--) { + if (i == txcj) { + rs.execute(" SELECT " + fieldList.get(i-1) + " FROM uf_pltxjzgljmb where "+ fieldList.get(i)+"= " + param.getSpr()); + while (rs.next()) { + sprList.add(rs.getInt(fieldList.get(i-1))); + } + } else { + rs.execute(" SELECT " + fieldList.get(i-1) + " FROM uf_pltxjzgljmb where "+ fieldList.get(i)+ " in ( " + StringUtils.join(sprList, ",") + ")"); + while (rs.next()) { + sprList.add(rs.getInt(fieldList.get(i-1))); + } + } + } + + // 不包含当前审批人 + String sprStrWithoutCurrent = StringUtils.join(sprList, ","); + // 加上当前审批人 + sprList.add(param.getSpr()); + String sprStrs = StringUtils.join(sprList, ","); + + StringBuilder selectConditionStr = new StringBuilder(); + for (int i = 0; i <= txcj; i++) { + if (i != txcj) { + selectConditionStr.append(fieldList.get(i) + " in (" + sprStrs + ") or "); + } else { + selectConditionStr.append(fieldList.get(i) + " in (" + sprStrs + ") "); + } + } + if (StringUtils.isNotBlank(sprStrWithoutCurrent)) { + rs.execute(" SELECT bdxr,gskjywr FROM uf_pltxjzgljmb where " + selectConditionStr.toString() + " or bdxr in (" + sprStrWithoutCurrent +") "); + } else { + rs.execute(" SELECT bdxr,gskjywr FROM uf_pltxjzgljmb where " + selectConditionStr.toString()); + } + + while (rs.next()) { + int bdxr = rs.getInt("bdxr"); + String gskjywr = rs.getString("gskjywr"); + canManageList.add(pltxEmployeeDTO.builder().employee(Long.valueOf(bdxr)).gskjywr(gskjywr).build()); + } + } + + @Override + public pltxEmployeeDTO pltxGetJbgz(PltxInitEmployeeParam param) { + List taxAgentPOList = getTaxAgentService(user).list(TaxAgentQueryParam.builder().name(param.getGskjywr()).build()); + if (CollectionUtils.isEmpty(taxAgentPOList)) { + return pltxEmployeeDTO.builder().build(); + } + List salaryArchivePOS = getSalaryArchiveService(user).listSome(SalaryArchivePO.builder().employeeId(Long.valueOf(param.getXm())).taxAgentId(taxAgentPOList.get(0).getId()).build()); + BaseBean baseBean = new BaseBean(); + String salaryItemId = baseBean.getPropValue("shgwSalary", "pltxSalaryItemId"); + List salaryArchiveItemList = getSalaryArchiveService(user).getCurrentEffectiveItemList(salaryArchivePOS.stream().map(SalaryArchivePO::getId).collect(Collectors.toList()), Collections.singletonList(Long.valueOf(salaryItemId))); + if (CollectionUtils.isEmpty(salaryArchiveItemList)) { + return pltxEmployeeDTO.builder().build(); + } + SalaryArchiveItemPO salaryArchiveItemPO = salaryArchiveItemList.get(0); + return pltxEmployeeDTO.builder() + .employee(salaryArchiveItemPO.getEmployeeId()) + .gskjywr(param.getGskjywr()) + .jbgz(Double.valueOf(StringUtils.isEmpty(salaryArchiveItemPO.getItemValue()) ? "0" : salaryArchiveItemPO.getItemValue())) + .build(); + } } diff --git a/src/com/engine/salary/web/SalaryAcctController.java b/src/com/engine/salary/web/SalaryAcctController.java index 2f536baf4..600ce0b7f 100644 --- a/src/com/engine/salary/web/SalaryAcctController.java +++ b/src/com/engine/salary/web/SalaryAcctController.java @@ -859,4 +859,53 @@ public class SalaryAcctController { } /**********************************线下对比 end*********************************/ + + /**********************************上海港湾 批量调薪流程 start********************************/ + /** + * 选择调薪层级、审批人后带出人员 + * @param request + * @param response + * @param param + * @return + */ + @POST + @Path("/pltxInitEmp") + @Produces(MediaType.APPLICATION_JSON) + public String pltxInitEmp(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody PltxInitEmployeeParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult>(user).run(getSalaryAcctExcelService(user)::pltxInitEmp, param); + } + + + /** + * 根据审批人,过滤能够看到、编辑的明细数据 + * @param request + * @param response + * @param param + * @return + */ + @POST + @Path("/pltxFilterData") + @Produces(MediaType.APPLICATION_JSON) + public String pltxFilterData(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody PltxInitEmployeeParam param) { + User user = HrmUserVarify.getUser(request, response); + param.setSpr(user.getUID()); + return new ResponseResult>(user).run(getSalaryAcctExcelService(user)::pltxFilterData, param); + } + + /** + * 根据义务人,姓名获取基本工资 + * @param request + * @param response + * @param param + * @return + */ + @POST + @Path("/pltxGetJbgz") + @Produces(MediaType.APPLICATION_JSON) + public String pltxGetJbgz(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody PltxInitEmployeeParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getSalaryAcctExcelService(user)::pltxGetJbgz, param); + } + /**********************************上海港湾 批量调薪流程 end*********************************/ }