package com.engine.salary.web; import com.engine.common.util.ServiceUtil; import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationFormDTO; import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationInfoDTO; import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationListDTO; import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationListQueryParam; import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationSaveParam; import com.engine.salary.service.TaxDeclarationService; import com.engine.salary.service.impl.TaxDeclarationServiceImpl; import com.engine.salary.util.ResponseResult; import com.engine.salary.util.SalaryDateUtil; import com.engine.salary.util.page.PageInfo; import com.engine.salary.wrapper.TaxDeclarationWrapper; import io.swagger.v3.oas.annotations.parameters.RequestBody; import weaver.general.BaseBean; 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; public class TaxDeclarationController { // private BaseBean logger = new BaseBean(); private TaxDeclarationService getService(User user) { return (TaxDeclarationService) ServiceUtil.getService(TaxDeclarationServiceImpl.class, user); } private TaxDeclarationWrapper getTaxDeclarationWrapper(User user) { return ServiceUtil.getService(TaxDeclarationWrapper.class, user); } /* private TaxDeclarationDetailWrapper getTaxDeclarationDetailWrapper(User user) { return ServiceUtil.getService(TaxDeclarationDetailWrapper.class, user); }*/ //个税申报表列表 @POST @Path("/listPage") @Produces(MediaType.APPLICATION_JSON) public String list(@Context HttpServletRequest request, @Context HttpServletResponse response,@RequestBody TaxDeclarationListQueryParam queryParam) { User user = HrmUserVarify.getUser(request, response); queryParam.setFromSalaryMonth(SalaryDateUtil.String2YearMonth(queryParam.getFromSalaryMonthStr())); queryParam.setEndSalaryMonth(SalaryDateUtil.String2YearMonth(queryParam.getEndSalaryMonthStr())); return new ResponseResult>().run(getTaxDeclarationWrapper(user)::listPage, queryParam); } //个税申报表表单 @GET @Path("/getForm") @Produces(MediaType.APPLICATION_JSON) public String getForm(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "id") Long id) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult().run(getTaxDeclarationWrapper(user)::getForm, id); } //个税申报表相关信息 @GET @Path("/getTaxDeclarationInfo") @Produces(MediaType.APPLICATION_JSON) public String getTaxDeclarationInfo(@Context HttpServletRequest request, @Context HttpServletResponse response,@QueryParam(value = "taxDeclarationId") Long taxDeclarationId) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult().run(getTaxDeclarationWrapper(user)::getTaxDeclarationInfoById, taxDeclarationId); } //个税申报表生成 @POST @Path("/save") @Produces(MediaType.APPLICATION_JSON) public String save(@Context HttpServletRequest request, @Context HttpServletResponse response,@RequestBody TaxDeclarationSaveParam param) { User user = HrmUserVarify.getUser(request, response); param.setSalaryMonth(SalaryDateUtil.String2YearMonth(param.getSalaryMonthStr())); return new ResponseResult().run(getTaxDeclarationWrapper(user)::save, param); } //个税申报表详情列表 /* @GET @Path("/detail/list") @Produces(MediaType.APPLICATION_JSON) public String listTaxDeclarationDetail(@Context HttpServletRequest request, @Context HttpServletResponse response,@RequestBody TaxDeclarationDetailListQueryParam param) { User user = HrmUserVerify.getUser(request, response); return new ResponseResult().run(getTaxDeclarationDetailWrapper(user)::listPage, param); }*/ // @PostMapping("/export") // @ApiOperation("个税申报表相关信息") // @WeaPermission // public WeaResult> exportTaxDeclaration(@RequestParam(value = "taxDeclarationId") Long taxDeclarationId) { // Map map = taxDeclarationExcelService.exportTaxDeclaration(taxDeclarationId, TenantContext.getCurrentTenantKey()); // return WeaResult.success(map); // } }