社保福利方案自定义福利列表改造

This commit is contained in:
Harryxzy 2023-03-02 10:46:53 +08:00
parent 5455bc739a
commit 56399c127b
5 changed files with 69 additions and 22 deletions

View File

@ -1,5 +1,6 @@
package com.engine.salary.mapper.sicategory;
import com.engine.salary.entity.sicategory.dto.ICategoryListDTO;
import com.engine.salary.entity.sicategory.po.ICategoryPO;
import org.apache.ibatis.annotations.Param;
@ -84,5 +85,10 @@ public interface ICategoryMapper {
*/
List<ICategoryPO> listByDataType(@Param("dataType") Integer dataType);
void getByName(String insuranceName);
/**
* 自定义福利列表
* @param welfareType
* @return
*/
List<ICategoryListDTO> listCustomInsurance(@Param("welfareType") Integer welfareType);
}

View File

@ -152,6 +152,7 @@
WHERE id = #{id} AND data_type = #{dataType} AND delete_type = 0
</select>
<!-- 更新,更新修改字段 -->
<update id="update" parameterType="com.engine.salary.entity.sicategory.po.ICategoryPO">
UPDATE hrsa_insurance_category
@ -177,5 +178,26 @@
WHERE id = #{id} AND data_type = 0
</update>
<!--更新自定义福利名称-->
<select id="listCustomInsurance" resultType="com.engine.salary.entity.sicategory.dto.ICategoryListDTO">
select
id
,insurance_name
,welfare_type
,is_use
,payment_scope
,data_type
,create_time
,update_time
,creator
,delete_type
,tenant_key
from hrsa_insurance_category t
WHERE delete_Type = 0 and data_type != 1
<if test="welfareType != null">
AND welfare_type = #{welfareType}
</if>
</select>
</mapper>

View File

@ -2,7 +2,10 @@ package com.engine.salary.service;
import com.engine.salary.entity.sicategory.dto.ICategoryDTO;
import com.engine.salary.entity.sicategory.dto.ICategoryFormDTO;
import com.engine.salary.entity.sicategory.dto.ICategoryListDTO;
import com.engine.salary.entity.sischeme.param.InsuranceSchemeParam;
import com.engine.salary.enums.sicategory.WelfareTypeEnum;
import com.engine.salary.util.page.PageInfo;
import java.util.Map;
@ -21,7 +24,7 @@ public interface SICategoryService {
Map<String, Object> updateStatusById(Map<String, Object> params);
Map<String, Object> listPage(Map<String, Object> params);
PageInfo<ICategoryListDTO> listPage(InsuranceSchemeParam queryParam);
/**
* 查询自定义福利列表

View File

@ -1,10 +1,15 @@
package com.engine.salary.service.impl;
import com.engine.core.impl.Service;
import com.engine.salary.cmd.sicategory.*;
import com.engine.salary.cmd.sicategory.SICategoryGetFormCmd;
import com.engine.salary.cmd.sicategory.SICategoryInsertCmd;
import com.engine.salary.cmd.sicategory.SICategoryUpdateCmd;
import com.engine.salary.cmd.sicategory.SICategoryUpdateStatusByIdCmd;
import com.engine.salary.entity.sicategory.dto.ICategoryDTO;
import com.engine.salary.entity.sicategory.dto.ICategoryFormDTO;
import com.engine.salary.entity.sicategory.dto.ICategoryListDTO;
import com.engine.salary.entity.sicategory.po.ICategoryPO;
import com.engine.salary.entity.sischeme.param.InsuranceSchemeParam;
import com.engine.salary.enums.sicategory.DataTypeEnum;
import com.engine.salary.enums.sicategory.PaymentScopeEnum;
import com.engine.salary.enums.sicategory.WelfareTypeEnum;
@ -12,15 +17,15 @@ import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.mapper.sicategory.ICategoryMapper;
import com.engine.salary.service.SICategoryService;
import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.SalaryEnumUtil;
import com.engine.salary.util.db.MapperProxyFactory;
import com.engine.salary.util.page.PageInfo;
import com.engine.salary.util.page.SalaryPageUtil;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -57,10 +62,27 @@ public class SICategoryServiceImpl extends Service implements SICategoryService
}
@Override
public Map<String, Object> listPage(Map<String, Object> params) {
return commandExecutor.execute(new SICategoryListCmd(params,user));
public PageInfo<ICategoryListDTO> listPage(InsuranceSchemeParam queryParam) {
Integer welfareType = null;
if(Objects.nonNull(queryParam.getWelfareTypeEnum())){
welfareType = queryParam.getWelfareTypeEnum().getValue();
}
List<ICategoryListDTO> list = getICategoryMapper().listCustomInsurance(welfareType);
list.stream().forEach(DTO -> {
DTO.setWelfareType( buildWelfareType(new Integer(DTO.getWelfareType())).getDefaultLabel() ) ;
DTO.setPaymentScope( buildPaymentScope( DTO.getPaymentScope()));
});
PageInfo<ICategoryListDTO> page = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(),
list, ICategoryListDTO.class);
return page;
}
//
public WelfareTypeEnum buildWelfareType(Integer value) {
return SalaryEnumUtil.enumMatchByValue(value, WelfareTypeEnum.values(), WelfareTypeEnum.class);
}
// @Override
// public PageInfo<ICategoryListDTO> listPage(WelfareTypeEnum welfareType) {
// getICategoryMapper().listByWelfareType(welfareType.getValue(),0);

View File

@ -4,12 +4,13 @@ import com.engine.common.util.ParamUtil;
import com.engine.common.util.ServiceUtil;
import com.engine.salary.entity.sicategory.dto.ICategoryDTO;
import com.engine.salary.entity.sicategory.dto.ICategoryFormDTO;
import com.engine.salary.entity.sicategory.dto.ICategoryListDTO;
import com.engine.salary.entity.sicategory.param.UpdateStatusParam;
import com.engine.salary.entity.sischeme.dto.InsuranceSchemeDTO;
import com.engine.salary.enums.sicategory.WelfareTypeEnum;
import com.engine.salary.entity.sischeme.param.InsuranceSchemeParam;
import com.engine.salary.service.SICategoryService;
import com.engine.salary.service.impl.SICategoryServiceImpl;
import com.engine.salary.util.ResponseResult;
import com.engine.salary.util.page.PageInfo;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
@ -20,7 +21,6 @@ import javax.ws.rs.*;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.Map;
import java.util.Objects;
/**
* @Author weaver_cl
@ -55,19 +55,13 @@ public class SICategoryController {
/**
* 查询自定义福利列表
*/
@GET
@POST
@Path("/customCategoryList")
@Produces(MediaType.APPLICATION_JSON)
public String listPage(@Context HttpServletRequest request, @Context HttpServletResponse response,
@DefaultValue("") @QueryParam(value = "welfareTypeEnum") WelfareTypeEnum welfareTypeEnum) {
@RequestBody InsuranceSchemeParam queryParam) {
User user = HrmUserVarify.getUser(request, response);
Map<String, Object> map = ParamUtil.request2Map(request);
if (Objects.nonNull(welfareTypeEnum)){
InsuranceSchemeDTO insuranceSchemeDTO = InsuranceSchemeDTO.builder().welfareType(welfareTypeEnum).build();
Integer welfareType = insuranceSchemeDTO.getWelfareType().getValue();
map.put("welfareType",welfareType);
}
return new ResponseResult< Map<String, Object>, Map<String, Object>>(user).run(getService(user)::listPage, map);
return new ResponseResult< InsuranceSchemeParam, PageInfo<ICategoryListDTO>>(user).run(getService(user)::listPage, queryParam);
}