港湾temp
This commit is contained in:
parent
ed1234ae49
commit
9191e00d33
|
|
@ -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<String, String> 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 = ?";
|
||||
|
|
|
|||
|
|
@ -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<String, String> fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName,
|
||||
property -> Util.null2String(property.getValue())));
|
||||
|
||||
// 明细数据
|
||||
List<Map<String, String>> 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<String, String> 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<Map<String, Object>> importData = new ArrayList<>();
|
||||
for (Map<String, String> detailMap : detailPropertyMap) {
|
||||
HashMap<String, Object> 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<String, Object> map = getSalaryArchiveWrapper(user).adjustmentSalaryArchive(build);
|
||||
|
||||
List errorNotice = (List) map.get("errorNotice");
|
||||
if (CollectionUtils.isNotEmpty(errorNotice)) {
|
||||
log.error("调薪存在异常 requestId:{} map:{}", requestInfo.getRequestid(), map);
|
||||
List<Map<String, String>> excelComments = (List<Map<String, String>>) map.get("errorNotice");
|
||||
StringBuilder message = new StringBuilder("");
|
||||
for (Map<String, String> 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
||||
}
|
||||
|
|
@ -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<Long> salaryItems);
|
||||
|
||||
/**
|
||||
* 选择调薪层级、审批人后带出人员
|
||||
* @param pltxInitEmployeeParam
|
||||
*/
|
||||
List<pltxEmployeeDTO> pltxInitEmp(PltxInitEmployeeParam pltxInitEmployeeParam);
|
||||
|
||||
/**
|
||||
* 根据审批人,过滤能够看到、编辑的明细数据
|
||||
* @param pltxInitEmployeeParam
|
||||
*/
|
||||
List<pltxEmployeeDTO> pltxFilterData(PltxInitEmployeeParam pltxInitEmployeeParam);
|
||||
|
||||
/**
|
||||
* 根据义务人,姓名获取基本工资
|
||||
* @param param
|
||||
*/
|
||||
|
||||
pltxEmployeeDTO pltxGetJbgz(PltxInitEmployeeParam param);
|
||||
|
||||
//
|
||||
// /**
|
||||
// * 薪资核算结果校验异常导出
|
||||
|
|
|
|||
|
|
@ -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<pltxEmployeeDTO> pltxInitEmp(PltxInitEmployeeParam param) {
|
||||
ValidUtil.doValidator(param);
|
||||
List<pltxEmployeeDTO> result = new ArrayList<>();
|
||||
RecordSet rs = new RecordSet();
|
||||
BaseBean bb = new BaseBean();
|
||||
if (param.getTxcj() == 0) {
|
||||
// 第一层级,带出所有的被调薪人
|
||||
rs.execute("select bdxr,gskjywr from uf_pltxjzgljmb ");
|
||||
List<SalaryAcctEmployeePO> allEmps = new ArrayList<>();
|
||||
// 查询所有义务人信息
|
||||
List<TaxAgentPO> taxAgentPOS = getTaxAgentService(user).listAll();
|
||||
Map<String, Long> taxAgentMap = SalaryEntityUtil.convert2Map(taxAgentPOS, TaxAgentPO::getName, TaxAgentPO::getId);
|
||||
Map<Long, String> 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<Long> empIds = allEmps.stream().map(SalaryAcctEmployeePO::getEmployeeId).collect(Collectors.toList());
|
||||
List<String> taxAgentEmpList = allEmps.stream().map(emp -> emp.getTaxAgentId() + "-" + emp.getEmployeeId()).collect(Collectors.toList());
|
||||
List<SalaryArchivePO> 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<String, Long> salaryArchiveMap = SalaryEntityUtil.convert2Map(salaryArchivePOS, s -> s.getTaxAgentId() + "-" + s.getEmployeeId(), SalaryArchivePO::getId);
|
||||
List<SalaryArchiveItemPO> salaryArchiveItemList = getSalaryArchiveService(user).getCurrentEffectiveItemList(salaryArchivePOS.stream().map(SalaryArchivePO::getId).collect(Collectors.toList()), Collections.singletonList(salaryItemId));
|
||||
Map<Long, SalaryArchiveItemPO> 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<pltxEmployeeDTO> pltxFilterData(PltxInitEmployeeParam param) {
|
||||
ValidUtil.doValidator(param);
|
||||
RecordSet rs = new RecordSet();
|
||||
|
||||
List<String> fieldList = Arrays.asList("dxyjspr", "dxejspr", "dxsajspr", "dxsijspr", "dxwjspr", "dxljspr");
|
||||
List<pltxEmployeeDTO> 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<String> fieldList, List<pltxEmployeeDTO> canManageList ) {
|
||||
Integer txcj = param.getTxcj();
|
||||
RecordSet rs = new RecordSet();
|
||||
|
||||
List<Integer> 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<TaxAgentPO> taxAgentPOList = getTaxAgentService(user).list(TaxAgentQueryParam.builder().name(param.getGskjywr()).build());
|
||||
if (CollectionUtils.isEmpty(taxAgentPOList)) {
|
||||
return pltxEmployeeDTO.builder().build();
|
||||
}
|
||||
List<SalaryArchivePO> 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<SalaryArchiveItemPO> 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();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<PltxInitEmployeeParam, List<pltxEmployeeDTO>>(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<PltxInitEmployeeParam, List<pltxEmployeeDTO>>(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<PltxInitEmployeeParam, pltxEmployeeDTO>(user).run(getSalaryAcctExcelService(user)::pltxGetJbgz, param);
|
||||
}
|
||||
/**********************************上海港湾 批量调薪流程 end*********************************/
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue