Compare commits

...

2 Commits

Author SHA1 Message Date
Harryxzy 05b9edcd1c 万德隆增加筛选 2025-08-08 15:35:36 +08:00
Harryxzy 0b072174ce 万德隆增加筛选框 2025-08-08 13:31:15 +08:00
5 changed files with 83 additions and 0 deletions

View File

@ -5,6 +5,8 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @ClassName wldDynamicSalaryReportQueryParam
* @author Harryxzy
@ -18,4 +20,13 @@ public class wldDynamicSalaryReportQueryParam extends BaseQueryParam {
boolean isExport;
List<Integer> lbList;
List<Integer> bgddList;
List<Integer> gwmcList;
List<String> gwzjList;
}

View File

@ -239,4 +239,6 @@ public interface SalaryAcctResultService {
XSSFWorkbook exportWdlDynamicSalaryReport(wldDynamicSalaryReportQueryParam param);
Map<String, Object> importWdlDynamicSalaryReport(SalaryAcctImportParam param);
List<Map<String, Object>> wdlLbSelectList();
}

View File

@ -1320,6 +1320,26 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
Map<Long, String> itemNameMap = SalaryEntityUtil.convert2Map(salaryItemList, SalaryItemPO::getId, SalaryItemPO::getName);
// 获取所有工资结构信息
List<WdlGzjgDTO> wdlGzjgDTOList = listAllWdlGzjg();
if (CollectionUtils.isNotEmpty(param.getLbList())) {
wdlGzjgDTOList = wdlGzjgDTOList.stream()
.filter(wdlGzjgDTO -> param.getLbList().contains(wdlGzjgDTO.getLb()))
.collect(Collectors.toList());
}
if (CollectionUtils.isNotEmpty(param.getBgddList())) {
wdlGzjgDTOList = wdlGzjgDTOList.stream()
.filter(wdlGzjgDTO -> param.getBgddList().contains(wdlGzjgDTO.getBgdd()))
.collect(Collectors.toList());
}
if (CollectionUtils.isNotEmpty(param.getGwmcList())) {
wdlGzjgDTOList = wdlGzjgDTOList.stream()
.filter(wdlGzjgDTO -> param.getGwmcList().contains(wdlGzjgDTO.getGwmc()))
.collect(Collectors.toList());
}
if (CollectionUtils.isNotEmpty(param.getGwzjList())) {
wdlGzjgDTOList = wdlGzjgDTOList.stream()
.filter(wdlGzjgDTO -> param.getGwzjList().contains(wdlGzjgDTO.getGwzj()))
.collect(Collectors.toList());
}
PageInfo<WdlGzjgDTO> wdlGzjgDTOPageInfo = SalaryPageUtil.buildPage(param.getCurrent(), param.getPageSize(), wdlGzjgDTOList);
wdlGzjgDTOList = wdlGzjgDTOPageInfo.getList();
@ -1395,6 +1415,25 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
return resultMap;
}
@Override
public List<Map<String, Object>> wdlLbSelectList() {
BaseBean baseBean = new BaseBean();
RecordSet rs = new RecordSet();
// 查询类别信息
String lbFieldId = baseBean.getPropValue("wdlSalary", "bzgzbz_lb_field_id");
rs.execute("select selectValue,selectname from workflow_selectitem where fieldid=" + lbFieldId);
List<Map<String, Object>> resultList = new ArrayList<>();
while (rs.next()) {
Map <String, Object> lbValueMap = new HashMap<>();
Integer selectValue = rs.getInt("selectValue");
String selectName = rs.getString("selectname");
lbValueMap.put("id", selectValue);
lbValueMap.put("name", selectName);
resultList.add(lbValueMap);
}
return resultList;
}
private List<WdlGzjgDTO> listAllWdlGzjg() {
RecordSet rs = new RecordSet();
List<WdlGzjgDTO> resultList = new ArrayList<>();

View File

@ -15,6 +15,7 @@ import com.engine.salary.wrapper.*;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.jetbrains.annotations.NotNull;
import weaver.hrm.HrmUserVarify;
@ -940,6 +941,16 @@ public class SalaryAcctController {
}
//万德隆类别下拉框信息
@GET
@Path("/wdl/lbSelectList")
@Produces(MediaType.APPLICATION_JSON)
public String wdlLbSelectList(@Context HttpServletRequest request, @Context HttpServletResponse response) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<String, List<Map<String, Object>>>(user).run(getSalaryAcctResultWrapper(user)::wdlLbSelectList);
}
/**
* 导出万德隆薪资动态表
*/
@ -952,6 +963,22 @@ public class SalaryAcctController {
User user = HrmUserVarify.getUser(request, response);
wldDynamicSalaryReportQueryParam param = new wldDynamicSalaryReportQueryParam();
param.setExport(true);
String lbListStr = request.getParameterValues("lbList")[0];
if (StringUtils.isNotBlank(lbListStr)) {
param.setLbList(Arrays.stream(lbListStr.split(",")).filter(NumberUtils::isCreatable).map(Integer::valueOf).collect(Collectors.toList()));
}
String bgddListStr = request.getParameterValues("bgddList")[0];
if (StringUtils.isNotBlank(bgddListStr)) {
param.setBgddList(Arrays.stream(bgddListStr.split(",")).filter(NumberUtils::isCreatable).map(Integer::valueOf).collect(Collectors.toList()));
}
String gwmcListStr = request.getParameterValues("gwmcList")[0];
if (StringUtils.isNotBlank(gwmcListStr)) {
param.setGwmcList(Arrays.stream(gwmcListStr.split(",")).filter(NumberUtils::isCreatable).map(Integer::valueOf).collect(Collectors.toList()));
}
String gwzjListStr = request.getParameterValues("gwzjList")[0];
if (StringUtils.isNotBlank(gwzjListStr)) {
param.setGwzjList(Arrays.stream(gwzjListStr.split(",")).collect(Collectors.toList()));
}
XSSFWorkbook workbook = getSalaryAcctResultWrapper(user).exportWdlDynamicSalaryReport(param);
String time = LocalDate.now().toString();
String fileName = "万德隆薪资动态表" + time;

View File

@ -318,6 +318,10 @@ public class SalaryAcctResultWrapper extends Service implements SalaryAcctResult
}
}
public List<Map<String, Object>> wdlLbSelectList() {
return getSalaryAcctResultService(user).wdlLbSelectList();
}
/**
* 薪资核算-校验
*