薪酬系统-福利方案,增加查询功能

This commit is contained in:
sy 2023-09-18 16:30:52 +08:00
parent 7db0a475ff
commit 5538a7d01e
4 changed files with 52 additions and 2 deletions

View File

@ -24,5 +24,17 @@ public class InsuranceSchemeParam extends BaseQueryParam {
private WelfareTypeEnum welfareTypeEnum;
/**
* 方案名称
*/
private String schemeName;
/**
* 缴纳类型
*/
private Integer paymentType;
/**
* 福利类型
*/
private Integer welfareType;
}

View File

@ -1,5 +1,6 @@
package com.engine.salary.mapper.sischeme;
import com.engine.salary.entity.sischeme.param.InsuranceSchemeParam;
import com.engine.salary.entity.sischeme.po.InsuranceSchemePO;
import org.apache.ibatis.annotations.Param;
@ -61,6 +62,8 @@ public interface InsuranceSchemeMapper {
List<InsuranceSchemePO> listByWelfareType(@Param("welfareType")Integer welfareType);
List<InsuranceSchemePO> list(InsuranceSchemeParam param);
void deleteByIds(@Param("ids")Collection<Long> ids);
}

View File

@ -36,6 +36,22 @@
, t.tax_agent_ids
</sql>
<sql id="paramSql">
<!-- 关键字(方案名称) -->
<if test="schemeName != null and schemeName != ''">
AND scheme_name like CONCAT('%',#{schemeName},'%')
</if>
</sql>
<sql id="paramSql" databaseId="oracle">
<if test="schemeName != null and schemeName != ''">
AND scheme_name like '%'||#{schemeName}||'%'
</if>
</sql>
<sql id="paramSql" databaseId="sqlserver">
<if test="schemeName != null and schemeName != ''">
AND scheme_name like '%'+#{schemeName}+'%'
</if>
</sql>
<!-- 根据主键获取单条记录 -->
<select id="getById" resultMap="BaseResultMap" parameterType="Long">
@ -175,6 +191,22 @@
order by id desc
</select>
<select id="list" resultMap="BaseResultMap">
SELECT
<include refid="baseColumns"/>
FROM hrsa_social_security_scheme t
WHERE t.delete_type = 0
<include refid="paramSql"/>
<if test="welfareType != null and welfareType != ''">
AND
t.welfare_type = #{welfareType}
</if>
<if test="paymentType != null">
AND
t.payment_type = #{paymentType}
</if>
order by id desc
</select>
<update id="deleteByIds">
UPDATE hrsa_social_security_scheme

View File

@ -194,11 +194,13 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
@Override
public PageInfo<InsuranceSchemeListDTO> list(InsuranceSchemeParam queryParam) {
SalaryAssert.notNull(queryParam.getWelfareTypeEnum(), SalaryI18nUtil.getI18nLabel(84026, "参数错误"));
queryParam.setWelfareType(queryParam.getWelfareTypeEnum().getValue());
Long currentEmployeeId = (long) user.getUID();
List<InsuranceSchemePO> insuranceSchemePOS;
Boolean needAuth = getTaxAgentService().isNeedAuth(currentEmployeeId);
if (needAuth) {
insuranceSchemePOS = getInsuranceSchemeMapper().listByWelfareType(queryParam.getWelfareTypeEnum().getValue());
// insuranceSchemePOS = getInsuranceSchemeMapper().listByWelfareType(queryParam.getWelfareTypeEnum().getValue());
insuranceSchemePOS = getInsuranceSchemeMapper().list(queryParam);
Boolean isAdminEnable = getTaxAgentService().isAdminEnable((long) user.getUID());
if (isAdminEnable) {
//管理员
@ -217,7 +219,8 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
insuranceSchemePOS = new ArrayList<>();
}
} else {
insuranceSchemePOS = getInsuranceSchemeMapper().listByWelfareType(queryParam.getWelfareTypeEnum().getValue());
// insuranceSchemePOS = getInsuranceSchemeMapper().listByWelfareType(queryParam.getWelfareTypeEnum().getValue());
insuranceSchemePOS = getInsuranceSchemeMapper().list(queryParam);
}
PageInfo<InsuranceSchemeListDTO> dtoPage = new PageInfo<>(InsuranceSchemeListDTO.class);