package com.engine.salary.web; import com.engine.common.util.ParamUtil; import com.engine.common.util.ServiceUtil; import com.engine.salary.entity.sischeme.dto.InsuranceSchemeListDTO; import com.engine.salary.entity.sischeme.param.InsuranceSchemeParam; import com.engine.salary.entity.sischeme.param.InsuranceSchemeReqParam; import com.engine.salary.enums.sicategory.WelfareTypeEnum; import com.engine.salary.service.SISchemeService; import com.engine.salary.service.impl.SISchemeServiceImpl; import com.engine.salary.util.ResponseResult; import com.engine.salary.util.page.PageInfo; import com.engine.salary.wrapper.SISchemeWrapper; import io.swagger.v3.oas.annotations.parameters.RequestBody; import weaver.hrm.HrmUserVarify; import weaver.hrm.User; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.ws.rs.*; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import java.util.Collection; import java.util.Map; /** * @Author weaver_cl * @Description: TODO 社保方案控制器 * @Date 2022/3/7 * @Version V1.0 **/ public class SISchemeController { private SISchemeService getService(User user) { return ServiceUtil.getService(SISchemeServiceImpl.class,user); } private SISchemeWrapper getSISchemeWrapper(User user) { return ServiceUtil.getService(SISchemeWrapper.class,user); } /** * 查询福利方案表单 * @param request * @param response * @return */ @GET @Path("/getForm") @Produces(MediaType.APPLICATION_JSON) public String getForm(@Context HttpServletRequest request, @Context HttpServletResponse response, @DefaultValue("SOCIAL_SECURITY") @QueryParam(value = "welfareTypeEnum") WelfareTypeEnum welfareTypeEnum) { User user = HrmUserVarify.getUser(request, response); Map map = ParamUtil.request2Map(request); //InsuranceSchemeDTO insuranceSchemeDTO = InsuranceSchemeDTO.builder().welfareType(welfareTypeEnum).build(); map.put("welfareTypeEnum",welfareTypeEnum); return new ResponseResult< Map, Map>(user).run(getService(user)::getForm,map); } /** * 查询福利方案列表 * @param request * @param response * @return */ // @GET // @Path("/getTable") // @Produces(MediaType.APPLICATION_JSON) // public String getTable(@Context HttpServletRequest request, @Context HttpServletResponse response, // @QueryParam("searchCondition") String searchCondition, @QueryParam("welfareTypeEnum") WelfareTypeEnum welfareTypeEnum ) { // User user = HrmUserVarify.getUser(request, response); // InsuranceSchemeDTO insuranceSchemeDTO = InsuranceSchemeDTO.builder().welfareType(welfareTypeEnum).build(); // Integer welfareType = insuranceSchemeDTO.getWelfareType().getValue(); // Map map = ParamUtil.request2Map(request); // map.put("searchCondition",searchCondition); // map.put("welfareType",welfareType); // return ResponseResult.run(getService(user)::listPage, map); // } @POST @Path("/getTable") @Produces(MediaType.APPLICATION_JSON) public String list(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody InsuranceSchemeParam insuranceSchemeParam) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult>(user).run(getSISchemeWrapper(user)::listPage, insuranceSchemeParam); } /** * 新增 * @param request * @param response * @return */ @POST @Path("/insert") @Produces(MediaType.APPLICATION_JSON) public String insertScheme(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody InsuranceSchemeReqParam insuranceSchemeReqParam) { User user = HrmUserVarify.getUser(request, response); Map map = ParamUtil.request2Map(request); map.put("insuranceSchemeReqParam",insuranceSchemeReqParam); return new ResponseResult< Map, Map>(user).run(getService(user)::insertScheme,map); } /** * 编辑 * @param request * @param response * @param insuranceSchemeReqParam * @return */ @POST @Path("/update") @Produces(MediaType.APPLICATION_JSON) public String update(@Context HttpServletRequest request, @Context HttpServletResponse response,@RequestBody InsuranceSchemeReqParam insuranceSchemeReqParam) { User user = HrmUserVarify.getUser(request, response); Map map = ParamUtil.request2Map(request); map.put("insuranceSchemeReqParam",insuranceSchemeReqParam); return new ResponseResult< Map, Map>(user).run(getService(user)::update,map); } /** * 删除(接口中暂无) * @param request * @param response * @param ids * @return */ @POST @Path("/delete") @Produces(MediaType.APPLICATION_JSON) public String deleteTaxRate(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Collection ids) { User user = HrmUserVarify.getUser(request, response); Map map = ParamUtil.request2Map(request); map.put("ids",ids); return new ResponseResult< Map, Map>(user).run(getService(user)::delete,map); } /** * 复制福利方案表单 * @param request * @param response * @return */ @GET @Path("/copyScheme") @Produces(MediaType.APPLICATION_JSON) public String copyScheme(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam("id") Long id, @QueryParam("schemeName") String schemeName) { User user = HrmUserVarify.getUser(request, response); Map map = ParamUtil.request2Map(request); map.put("id",id); map.put("schemeName",schemeName); return new ResponseResult< Map, Map>(user).run(getService(user)::copyScheme,map); } }