Merge remote-tracking branch 'remotes/origin/fix/salaryExportBug-0706' into release/2.9.1.2307.01

This commit is contained in:
sy 2023-07-11 09:59:29 +08:00
commit a55ca5182e
12 changed files with 136 additions and 18 deletions

View File

@ -928,6 +928,10 @@ public class SIArchivesBiz {
request.setPositions(Arrays.stream(param.getPositionsStr().split(",")).map(BigDecimal::new).collect(Collectors.toList()));
}
if (StringUtils.isNotBlank(param.getStatusesStr())) {
request.setStatuses(Arrays.stream(param.getStatusesStr().split(",")).map(String::new).collect(Collectors.toList()));
}
request.setNeedAuth(param.getNeedAuth());
request.setTaxAgentEmployeeIds(param.getTaxAgentEmployeeIds());
request.setTaxAgentIds(param.getTaxAgentIds());
@ -937,7 +941,7 @@ public class SIArchivesBiz {
long startNum = (current - 1) * pageSize;
param.setStartNum(startNum);
param.setPageSize(pageSize);
request.setStatuses(param.getStatuses());
// request.setStatuses(param.getStatuses());
request.setKeyword(param.getUserName());
request.setSiSchemeId(param.getSiSchemeId());
@ -1393,8 +1397,9 @@ public class SIArchivesBiz {
conditionItems.add(departmentIds);
SearchConditionItem statuses = conditionFactory.createCondition(ConditionType.SELECT, 502327, "statuses");
SearchConditionItem statuses = conditionFactory.createCondition(ConditionType.SELECT, 502327, "statusesStr");
statuses.setInputType("select");
statuses.setMultiple(true);
statuses.setOptions(userStatusOptions);
statuses.setColSpan(2);
statuses.setFieldcol(16);

View File

@ -50,6 +50,8 @@ public class SalaryAcctEmployeeQueryParam extends BaseQueryParam {
*/
private SalaryEmployeeStatusEnum status;
//状态(多选)
private List<String> statuses;
//离职日期")
private LocalDateRange dismissDate;

View File

@ -10,6 +10,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Collection;
import java.util.List;
/**
* 薪资核算结果查询参数
@ -46,6 +47,8 @@ public class SalaryAcctResultQueryParam extends BaseQueryParam {
//状态
private SalaryEmployeeStatusEnum status;
//状态(多选)
private List<String> statuses;
//离职日期
private LocalDateRange dismissDate;

View File

@ -48,6 +48,8 @@ public class SalaryArchiveQueryParam extends BaseQueryParam {
//状态
private String userstatus;
//状态(多选)
private List<String> statuses;
//入职日期
private List<String> hiredate;

View File

@ -38,6 +38,7 @@ public class InsuranceArchivesListParam extends BaseQueryParam {
//状态(多线)")
private List<String> statuses;
private String statusesStr;
//岗位(多选)")
private List<BigDecimal> positions;

View File

@ -154,6 +154,12 @@
<if test="param.userstatus != null and param.userstatus != ''">
AND e.status = #{param.userstatus}
</if>
<if test="param.statuses != null and param.statuses.size()>0">
AND e.status IN
<foreach collection="param.statuses" open="(" item="userstatus" separator="," close=")">
#{userstatus}
</foreach>
</if>
<!-- 入职日期 -->
<if test="param.hiredate != null and param.hiredate.size() == 2">
AND (e.companystartdate BETWEEN #{param.hiredate[0]} AND #{param.hiredate[1]})
@ -229,7 +235,12 @@
<if test="param.userstatus != null and param.userstatus != ''">
AND e.status = #{param.userstatus}
</if>
<if test="param.statuses != null and param.statuses.size()>0">
AND e.status IN
<foreach collection="param.statuses" open="(" item="userstatus" separator="," close=")">
#{userstatus}
</foreach>
</if>
<if test="param.hiredate != null and param.hiredate.size() == 2">
AND (e.companystartdate BETWEEN #{param.hiredate[0]} AND #{param.hiredate[1]})
</if>
@ -305,7 +316,12 @@
<if test="param.userstatus != null and param.userstatus != ''">
AND e.status = #{param.userstatus}
</if>
<if test="param.statuses != null and param.statuses.size()>0">
AND e.status IN
<foreach collection="param.statuses" open="(" item="userstatus" separator="," close=")">
#{userstatus}
</foreach>
</if>
<if test="param.hiredate != null and param.hiredate.size() == 2">
AND (e.companystartdate BETWEEN #{param.hiredate[0]} AND #{param.hiredate[1]})
</if>

View File

@ -497,6 +497,7 @@
or (param.subcompanyIds != null and param.subcompanyIds.size()>0)
or (param.departmentIds != null and param.departmentIds.size()>0)
or (param.positionIds != null and param.positionIds.size()>0)
or (param.statuses != null and param.statuses.size()>0)
or (param.status != null and param.status.toString != 'ALL')">
AND t.employee_id IN
(
@ -528,6 +529,12 @@
#{positionId}
</foreach>
</if>
<if test="param.statuses != null and param.statuses.size()>0">
AND em.status IN
<foreach collection="param.statuses" open="(" item="userStatus" separator="," close=")">
#{userStatus}
</foreach>
</if>
-- 在职
<if test="param.status != null and param.status.toString == 'NORMAL'">
AND em.status in (0,1,2,3)
@ -581,7 +588,8 @@
or (param.workcode != null and param.workcode != '')
or (param.subcompanyIds != null and param.subcompanyIds.size()>0)
or (param.departmentIds != null and param.departmentIds.size()>0)
or (param.positionIds != null and param.positionIds.size()>0)
or (param.positionIds != null and param.positionIds.size()>0)
or (param.statuses != null and param.statuses.size()>0)
or (param.status != null and param.status.toString != 'ALL')">
AND t.employee_id IN
(
@ -611,6 +619,12 @@
#{positionId}
</foreach>
</if>
<if test="param.statuses != null and param.statuses.size()>0">
AND em.status IN
<foreach collection="param.statuses" open="(" item="userStatus" separator="," close=")">
#{userStatus}
</foreach>
</if>
-- 在职
<if test="param.status != null and param.status.toString == 'NORMAL'">
AND em.status in (0,1,2,3)
@ -664,7 +678,8 @@
or (param.workcode != null and param.workcode != '')
or (param.subcompanyIds != null and param.subcompanyIds.size()>0)
or (param.departmentIds != null and param.departmentIds.size()>0)
or (param.positionIds != null and param.positionIds.size()>0)
or (param.positionIds != null and param.positionIds.size()>0)
or (param.statuses != null and param.statuses.size()>0)
or (param.status != null and param.status.toString != 'ALL')">
AND t.employee_id IN
(
@ -694,6 +709,12 @@
#{positionId}
</foreach>
</if>
<if test="param.statuses != null and param.statuses.size()>0">
AND em.status IN
<foreach collection="param.statuses" open="(" item="userStatus" separator="," close=")">
#{userStatus}
</foreach>
</if>
-- 在职
<if test="param.status != null and param.status.toString == 'NORMAL'">
AND em.status in (0,1,2,3)

View File

@ -540,7 +540,10 @@ public class SIArchivesServiceImpl extends Service implements SIArchivesService
param.setDimissionDateEnd(param.getDimissionDate()[1]);
}
if (Objects.equals("fromQuickSearch", param.getDataSource())) {
request.setStatuses(param.getStatuses());
// request.setStatuses(param.getStatuses());
if (StringUtils.isNotBlank(param.getStatusesStr())) {
request.setStatuses(Arrays.stream(param.getStatusesStr().split(",")).map(String::new).collect(Collectors.toList()));
}
request.setKeyword(param.getUserName());
} else {
request = param;

View File

@ -31,6 +31,7 @@ import com.engine.salary.util.page.PageInfo;
import com.engine.salary.util.page.SalaryPageUtil;
import com.google.common.collect.Lists;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.ibatis.session.SqlSession;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import weaver.conn.mybatis.MyBatisFactory;
@ -103,7 +104,9 @@ public class SIImportServiceImpl extends Service implements SIImportService {
param.setDimissionDateEnd(param.getDimissionDate()[1]);
}
if (Objects.equals("fromQuickSearch", param.getDataSource())) {
request.setStatuses(param.getStatuses());
if (StringUtils.isNotBlank(param.getStatusesStr())) {
request.setStatuses(Arrays.stream(param.getStatusesStr().split(",")).map(String::new).collect(Collectors.toList()));
}
request.setKeyword(param.getUserName());
request.setStartNum(param.getStartNum());
request.setPageSize(param.getPageSize());

View File

@ -21,6 +21,7 @@ import com.engine.salary.wrapper.SISchemeWrapper;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.jetbrains.annotations.NotNull;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
@ -32,6 +33,7 @@ import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.StreamingOutput;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.time.LocalDate;
import java.util.Arrays;
@ -172,16 +174,7 @@ public class SISchemeController {
@Path("/export")
@Produces(MediaType.APPLICATION_OCTET_STREAM)
public Response export(@Context HttpServletRequest request, @Context HttpServletResponse response) {
InsuranceArchivesListParam param = new InsuranceArchivesListParam();
String ids = request.getParameter("ids");
if(StringUtils.isNotBlank(ids)){
param.setIds( Arrays.stream(ids.split(",")).map(Long::valueOf).collect(Collectors.toList()));
}
String runStatuses = request.getParameter("runStatuses");
if(StringUtils.isNotBlank(runStatuses)){
param.setRunStatuses( Arrays.stream(runStatuses.split(",")).map(String::valueOf).collect(Collectors.toList()));
}
InsuranceArchivesListParam param = buildInsuranceArchivesListParam(request);
User user = HrmUserVarify.getUser(request, response);
XSSFWorkbook workbook = getService(user).export(param);
String fileName ;
@ -298,6 +291,63 @@ public class SISchemeController {
.header("Cache-Control", "no-cache").build();
}
@NotNull
private InsuranceArchivesListParam buildInsuranceArchivesListParam(HttpServletRequest request) {
InsuranceArchivesListParam param = new InsuranceArchivesListParam();
String ids = request.getParameter("ids");
if(StringUtils.isNotBlank(ids)){
param.setIds( Arrays.stream(ids.split(",")).map(Long::valueOf).collect(Collectors.toList()));
}
String runStatuses = request.getParameter("runStatuses");
if(StringUtils.isNotBlank(runStatuses)){
param.setRunStatuses( Arrays.stream(runStatuses.split(",")).map(String::valueOf).collect(Collectors.toList()));
}
String statusesStr = request.getParameter("statusesStr");
if (StringUtils.isNotBlank(statusesStr)) {
param.setStatuses(Arrays.stream(statusesStr.split(",")).map(String::new).collect(Collectors.toList()));
}
String userName = request.getParameter("username");
if (StringUtils.isNotBlank(userName)) {
param.setUserName(userName);
}
String jobNum = request.getParameter("jobNum");
if (StringUtils.isNotBlank(jobNum)) {
param.setJobNum(jobNum);
}
String taxAgentId = request.getParameter("taxAgentId");
if (StringUtils.isNotBlank(taxAgentId)) {
param.setTaxAgentId(Long.parseLong(taxAgentId));
}
String departmentIds = request.getParameter("departmentIdsStr");
if (StringUtils.isNotBlank(departmentIds)) {
param.setDepartmentIds(Arrays.stream(departmentIds.split(",")).map(BigDecimal::new).collect(Collectors.toList()));
}
String subcompanyIds = request.getParameter("subcompanyIdsStr");
if (StringUtils.isNotBlank(subcompanyIds)) {
param.setSubcompanyIds(Arrays.stream(subcompanyIds.split(",")).map(BigDecimal::new).collect(Collectors.toList()));
}
String positions = request.getParameter("positionsStr");
if (StringUtils.isNotBlank(positions)) {
param.setPositions(Arrays.stream(positions.split(",")).map(BigDecimal::new).collect(Collectors.toList()));
}
String siSchemeId = request.getParameter("siSchemeId");
if (StringUtils.isNotBlank(siSchemeId)) {
param.setSiSchemeId(Long.valueOf(siSchemeId));
}
String fundSchemeId = request.getParameter("fundSchemeId");
if (StringUtils.isNotBlank(fundSchemeId)) {
param.setFundSchemeId(Long.valueOf(fundSchemeId));
}
String otherSchemeId = request.getParameter("otherSchemeId");
if (StringUtils.isNotBlank(otherSchemeId)) {
param.setOtherSchemeId(Long.valueOf(otherSchemeId));
}
return param;
}
}

View File

@ -297,6 +297,10 @@ public class SalaryAcctController {
if (StringUtils.isNotBlank(status)) {
param.setStatus(SalaryEmployeeStatusEnum.parseByValue(Integer.parseInt(status)));
}
String statuses = request.getParameter("statuses");
if (StringUtils.isNotBlank(statuses)) {
param.setStatuses(Arrays.stream(statuses.split(",")).map(String::valueOf).collect(Collectors.toList()));
}
//fixme 日期
request.getParameter("dismissDate");
String ids = request.getParameter("ids");
@ -709,6 +713,10 @@ public class SalaryAcctController {
if (StringUtils.isNotBlank(status)) {
param.setStatus(SalaryEmployeeStatusEnum.parseByValue(Integer.parseInt(status)));
}
String statuses = request.getParameter("statuses");
if (StringUtils.isNotBlank(statuses)) {
param.setStatuses(Arrays.stream(statuses.split(",")).map(String::valueOf).collect(Collectors.toList()));
}
//fixme 日期
request.getParameter("dismissDate");
String consolidatedTaxation = request.getParameter("consolidatedTaxation");

View File

@ -472,6 +472,10 @@ public class SalaryArchiveController {
if (StringUtils.isNotBlank(userstatus)) {
param.setUserstatus(userstatus);
}
String statuses = request.getParameter("statuses");
if (StringUtils.isNotBlank(statuses)) {
param.setStatuses(Arrays.stream(statuses.split(",")).map(String::valueOf).collect(Collectors.toList()));
}
String hiredate = request.getParameter("hiredate");
if (StringUtils.isNotBlank(hiredate)) {
param.setHiredate(Arrays.asList(hiredate.split(",")));