package com.engine.salary.web; import com.engine.common.util.ParamUtil; import com.engine.common.util.ServiceUtil; import com.engine.salary.entity.siaccount.dto.InsuranceAccountTabDTO; import com.engine.salary.entity.siaccount.param.*; import com.engine.salary.service.impl.SIAccountServiceImpl; import com.engine.salary.util.ResponseResult; import io.swagger.v3.oas.annotations.parameters.RequestBody; import org.apache.commons.collections4.CollectionUtils; import weaver.hrm.HrmUserVarify; import weaver.hrm.User; import com.engine.salary.service.SIAccountService; 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.List; import java.util.Map; /** * @Author weaver_cl * @Description: TODO 福利核算控制器 * @Date 2022/4/11 * @Version V1.0 **/ public class SIAccountController { public SIAccountService getService(User user) { return ServiceUtil.getService(SIAccountServiceImpl.class, user); } /** * 获取台账列表页 * * @param request * @param response * @return */ @GET @Path("/batch/list") @Produces(MediaType.APPLICATION_JSON) public String list(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody InsuranceAccountBatchParam insuranceAccountBatchParam) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult>().run(getService(user)::listPage, insuranceAccountBatchParam); } /** * 获取正常缴纳列表 * * @param request * @param response * @param insuranceAccountDetailParam * @return */ @GET @Path("/detail/common/list") @Produces(MediaType.APPLICATION_JSON) public String commonList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody InsuranceAccountDetailParam insuranceAccountDetailParam) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult>().run(getService(user)::listCommonPage, insuranceAccountDetailParam); } /** * 根据姓名获取正常缴纳列表 * * @param request * @param response * @param insuranceAccountDetailParam * @return */ @GET @Path("/detail/common/search") @Produces(MediaType.APPLICATION_JSON) public String commonByNameList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody InsuranceAccountDetailParam insuranceAccountDetailParam) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult>().run(getService(user)::listCommonPageByName, insuranceAccountDetailParam); } /** * 获取补缴缴纳列表 * * @param request * @param response * @param insuranceAccountDetailParam * @return */ @GET @Path("/detail/supplementary/list") @Produces(MediaType.APPLICATION_JSON) public String listSupplementaryPage(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody InsuranceAccountDetailParam insuranceAccountDetailParam) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult>().run(getService(user)::listSupplementaryPage, insuranceAccountDetailParam); } /** * 根据姓名获取补缴缴纳列表 * * @param request * @param response * @param insuranceAccountDetailParam * @return */ @GET @Path("/detail/supplementary/search") @Produces(MediaType.APPLICATION_JSON) public String supplementaryByNameList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody InsuranceAccountDetailParam insuranceAccountDetailParam) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult>().run(getService(user)::supplementaryByNameList, insuranceAccountDetailParam); } /** * 获取核算月份备注填写表单 * * @param request * @param response * @return */ @GET @Path("/accountForm") @Produces(MediaType.APPLICATION_JSON) public String getBaseForm(@Context HttpServletRequest request, @Context HttpServletResponse response) { User user = HrmUserVarify.getUser(request, response); return ResponseResult.run(getService(user)::getForm, ParamUtil.request2Map(request)); } /** * 保存并进入核算 * * @param request * @param response * @param param * @return */ @POST @Path("/save") @Produces(MediaType.APPLICATION_JSON) public String save(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody AccountParam param) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult().run(getService(user)::save, param); } /** * 正常缴纳页核算 * * @param request * @param response * @param param * @return */ @POST @Path("/commonAccount") @Produces(MediaType.APPLICATION_JSON) public String commonAccount(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SaveCommonAccountParam param) { User user = HrmUserVarify.getUser(request, response); if (CollectionUtils.isNotEmpty(param.getIncludes())) { return new ResponseResult().run(getService(user)::commonAccount, param); } else { AccountParam reqParam = new AccountParam(); reqParam.setBillMonth(param.getBillMonth()); return new ResponseResult().run(getService(user)::save, reqParam); } } /** * 删除月份表单 * * @param request * @param response * @param param * @return */ @POST @Path("/delete") @Produces(MediaType.APPLICATION_JSON) public String delete(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody AccountParam param) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult().run(getService(user)::delete, param); } // @GetMapping("commonForm") // @ApiOperation("正常缴纳添加缴纳人员表单") // @WeaPermission // public WeaResult queryCommonForm() { // return siAccountWrapper.getCommonForm(UserContext.getCurrentUser().getEmployeeId(), TenantContext.getCurrentTenantKey()); // } @POST @Path("/common/save") @Produces(MediaType.APPLICATION_JSON) public String save(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SaveCommonAccountParam param) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult().run(getService(user)::saveCommonAccount, param); } // @GetMapping("querySupplementaryForm") // @ApiOperation("补缴添加缴纳人员表单") // @WeaPermission // public WeaResult querySupplementaryForm() { // return siAccountWrapper.getSupplementaryForm(UserContext.getCurrentUser().getEmployeeId(), TenantContext.getCurrentTenantKey()); // } @POST @Path("/supplementary/save") @Produces(MediaType.APPLICATION_JSON) public String saveSummplementaryAccount(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SaveSupplementaryAccountParam param) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult().run(getService(user)::saveSupplementaryAccount, param); } @POST @Path("/common/delete") @Produces(MediaType.APPLICATION_JSON) public String deleteCommon(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SaveCommonAccountParam param) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult().run(getService(user)::deleteCommonAccount, param); } @POST @Path("/supplementary/delete") @Produces(MediaType.APPLICATION_JSON) public String deleteSummplementaryAccount(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody List param) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult, String>().run(getService(user)::deleteSummplementaryAccount, param); } @POST @Path("/file") @Produces(MediaType.APPLICATION_JSON) public String file(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody AccountParam accountParam) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult().run(getService(user)::file, accountParam); } @GET @Path("/changeList") @Produces(MediaType.APPLICATION_JSON) public String changeList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody InsuranceAccountDetailParam insuranceAccountDetailParam) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult>().run(getService(user)::changeList, insuranceAccountDetailParam); } // @GetMapping("overView") // @ApiOperation("总览") // @WeaPermission // public WeaResult> overView(@RequestParam(value = "billMonth") String billMonth) { // return siAccountWrapper.overView(billMonth, UserContext.getCurrentUser().getEmployeeId(), TenantContext.getCurrentTenantKey()); // } // @GET @Path("/tabList") @Produces(MediaType.APPLICATION_JSON) public String tabList(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam("billMonth") String billMonth) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult().run(getService(user)::tabList, billMonth); } @GET @Path("/inspectList") @Produces(MediaType.APPLICATION_JSON) public String getInspectTable(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody InsuranceAccountDetailParam insuranceAccountDetailParam) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult>().run(getService(user)::getInspectTable, insuranceAccountDetailParam); } @POST @Path("/inspectAccount") @Produces(MediaType.APPLICATION_JSON) public String accountInspect(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody InspectAccountParam param) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult().run(getService(user)::accountInspect, param); } @POST @Path("/ignore") @Produces(MediaType.APPLICATION_JSON) public String ignore(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Collection ids) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult, String>().run(getService(user)::ignore, ids); } @POST @Path("/unconfirmed") @Produces(MediaType.APPLICATION_JSON) public String unconfirmed(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Collection ids) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult, String>().run(getService(user)::unconfirmed, ids); } @GET @Path("/getDisplayFlag") @Produces(MediaType.APPLICATION_JSON) public String buttonCheck(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam("billMonth") String billMonth) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult>().run(getService(user)::buttonCheck, billMonth); } }