diff --git a/resource/sqlupgrade/DM/sql202308080603.sql b/resource/sqlupgrade/DM/sql202308080603.sql index 652e03173..3fa4e6655 100644 --- a/resource/sqlupgrade/DM/sql202308080603.sql +++ b/resource/sqlupgrade/DM/sql202308080603.sql @@ -7,7 +7,7 @@ create table hrsa_employee_declare_record delete_type int default 0, tenant_key varchar2(10), tax_agent_id number, - tax_cycle varchar2(10), + tax_cycle date, request_id varchar2(100) ); / @@ -21,7 +21,7 @@ create table hrsa_employee_declare delete_type int default 0, tenant_key varchar2(10), tax_agent_id number, - tax_cycle varchar2(10), + tax_cycle date, employee_id number, employee_type number, employee_name varchar2(100), diff --git a/resource/sqlupgrade/GS/sql202308080603.sql b/resource/sqlupgrade/GS/sql202308080603.sql new file mode 100644 index 000000000..3fa4e6655 --- /dev/null +++ b/resource/sqlupgrade/GS/sql202308080603.sql @@ -0,0 +1,51 @@ +create table hrsa_employee_declare_record +( + id number primary key , + create_time date, + update_time date, + creator number, + delete_type int default 0, + tenant_key varchar2(10), + tax_agent_id number, + tax_cycle date, + request_id varchar2(100) +); +/ + +create table hrsa_employee_declare +( + id number primary key , + create_time date, + update_time date, + creator number, + delete_type int default 0, + tenant_key varchar2(10), + tax_agent_id number, + tax_cycle date, + employee_id number, + employee_type number, + employee_name varchar2(100), + job_num varchar2(100), + card_type number, + card_num varchar2(100), + gender varchar2(100), + birthday date, + employment_status number, + mobile varchar2(100), + employment_type number, + employment_first_year varchar2(100), + employment_date date, + dismiss_date date, + disability number, + disability_card_no varchar2(100), + lonely_old number, + martyr_dependents number, + martyr_dependents_card_no varchar2(100), + deduct_expenses number, + successfully_declared number, + new_employee_info number, + declare_status number, + declare_error_msg varchar2(1000) +); +/ + diff --git a/resource/sqlupgrade/JC/sql202308080603.sql b/resource/sqlupgrade/JC/sql202308080603.sql index 652e03173..3fa4e6655 100644 --- a/resource/sqlupgrade/JC/sql202308080603.sql +++ b/resource/sqlupgrade/JC/sql202308080603.sql @@ -7,7 +7,7 @@ create table hrsa_employee_declare_record delete_type int default 0, tenant_key varchar2(10), tax_agent_id number, - tax_cycle varchar2(10), + tax_cycle date, request_id varchar2(100) ); / @@ -21,7 +21,7 @@ create table hrsa_employee_declare delete_type int default 0, tenant_key varchar2(10), tax_agent_id number, - tax_cycle varchar2(10), + tax_cycle date, employee_id number, employee_type number, employee_name varchar2(100), diff --git a/resource/sqlupgrade/Mysql/sql202308080603.sql b/resource/sqlupgrade/Mysql/sql202308080603.sql index 7e651187b..85c4d2db6 100644 --- a/resource/sqlupgrade/Mysql/sql202308080603.sql +++ b/resource/sqlupgrade/Mysql/sql202308080603.sql @@ -7,7 +7,7 @@ create table hrsa_employee_declare_record delete_type int default 0 comment '是否删除' , tenant_key varchar(10) comment '租户KEY' , tax_agent_id bigint comment '个税扣缴义务人' , - tax_cycle varchar(10) comment '税款所属期' , + tax_cycle datetime comment '税款所属期' , request_id varchar(100) comment '供应商第三方系统翻译的requestid' ) ; @@ -21,7 +21,7 @@ create table hrsa_employee_declare delete_type int default 0 comment '是否删除' , tenant_key varchar(10) comment '租户KEY' , tax_agent_id bigint comment '个税扣缴义务人ID' , - tax_cycle varchar(10) comment '税款所属期' , + tax_cycle datetime comment '税款所属期' , employee_id bigint comment '人员id' , employee_type tinyint comment '人员类型' , employee_name varchar(100) comment '姓名' , diff --git a/resource/sqlupgrade/Oracle/sql202308080603.sql b/resource/sqlupgrade/Oracle/sql202308080603.sql index c846543ba..d41df5b05 100644 --- a/resource/sqlupgrade/Oracle/sql202308080603.sql +++ b/resource/sqlupgrade/Oracle/sql202308080603.sql @@ -7,7 +7,7 @@ create table hrsa_employee_declare_record delete_type int default 0, tenant_key varchar2(10), tax_agent_id number, - tax_cycle varchar2(10), + tax_cycle date, request_id varchar2(100) ) / @@ -21,7 +21,7 @@ create table hrsa_employee_declare delete_type int default 0, tenant_key varchar2(10), tax_agent_id number, - tax_cycle varchar2(10), + tax_cycle date, employee_id number, employee_type number, employee_name varchar2(100), diff --git a/resource/sqlupgrade/PG/sql202308080603.sql b/resource/sqlupgrade/PG/sql202308080603.sql index f5e88b1a1..e1bd1f70a 100644 --- a/resource/sqlupgrade/PG/sql202308080603.sql +++ b/resource/sqlupgrade/PG/sql202308080603.sql @@ -7,7 +7,7 @@ create table hrsa_employee_declare_record delete_type int default 0, tenant_key varchar(10), tax_agent_id bigint, - tax_cycle varchar(10), + tax_cycle timestamp, request_id varchar(100) ); / @@ -21,7 +21,7 @@ create table hrsa_employee_declare delete_type int default 0, tenant_key varchar(10), tax_agent_id bigint, - tax_cycle varchar(10), + tax_cycle timestamp, employee_id bigint, employee_type smallint, employee_name varchar(100), diff --git a/resource/sqlupgrade/SQLServer/sql202308080603.sql b/resource/sqlupgrade/SQLServer/sql202308080603.sql index 1438be357..2947c492a 100644 --- a/resource/sqlupgrade/SQLServer/sql202308080603.sql +++ b/resource/sqlupgrade/SQLServer/sql202308080603.sql @@ -7,7 +7,7 @@ create table hrsa_employee_declare_record delete_type int default 0, tenant_key nvarchar(10), tax_agent_id bigint, - tax_cycle nvarchar(10), + tax_cycle datetime, request_id nvarchar(100) ) GO @@ -21,7 +21,7 @@ create table hrsa_employee_declare delete_type int default 0, tenant_key nvarchar(10), tax_agent_id bigint, - tax_cycle nvarchar(10), + tax_cycle datetime, employee_id bigint, employee_type tinyint, employee_name nvarchar(100), diff --git a/resource/sqlupgrade/ST/sql202308080603.sql b/resource/sqlupgrade/ST/sql202308080603.sql index 652e03173..3fa4e6655 100644 --- a/resource/sqlupgrade/ST/sql202308080603.sql +++ b/resource/sqlupgrade/ST/sql202308080603.sql @@ -7,7 +7,7 @@ create table hrsa_employee_declare_record delete_type int default 0, tenant_key varchar2(10), tax_agent_id number, - tax_cycle varchar2(10), + tax_cycle date, request_id varchar2(100) ); / @@ -21,7 +21,7 @@ create table hrsa_employee_declare delete_type int default 0, tenant_key varchar2(10), tax_agent_id number, - tax_cycle varchar2(10), + tax_cycle date, employee_id number, employee_type number, employee_name varchar2(100), diff --git a/src/com/engine/salary/web/TaxDeclarationController.java b/src/com/engine/salary/web/TaxDeclarationController.java index 2330fd003..11a7a7655 100644 --- a/src/com/engine/salary/web/TaxDeclarationController.java +++ b/src/com/engine/salary/web/TaxDeclarationController.java @@ -1,21 +1,22 @@ package com.engine.salary.web; import com.engine.common.util.ServiceUtil; -import com.engine.salary.entity.taxdeclaration.dto.*; +import com.engine.salary.entity.taxdeclaration.dto.AbnormalEmployeeListDTO; +import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationInfoDTO; +import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationRateDTO; +import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationTabDTO; import com.engine.salary.entity.taxdeclaration.param.*; import com.engine.salary.service.TaxDeclarationExcelService; import com.engine.salary.service.TaxDeclarationService; import com.engine.salary.service.impl.TaxDeclarationExcelServiceImpl; 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.TaxDeclarationDetailWrapper; import com.engine.salary.wrapper.TaxDeclarationWrapper; import com.engine.salary.wrapper.TaxDeclareRecordWrapper; import io.swagger.v3.oas.annotations.parameters.RequestBody; import lombok.extern.slf4j.Slf4j; -import org.apache.poi.xssf.usermodel.XSSFWorkbook; import weaver.hrm.HrmUserVarify; import weaver.hrm.User; @@ -24,14 +25,9 @@ import javax.servlet.http.HttpServletResponse; import javax.ws.rs.*; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.StreamingOutput; -import java.io.UnsupportedEncodingException; -import java.net.URLEncoder; -import java.text.ParseException; -import java.time.LocalDate; import java.util.Collection; import java.util.List; +import java.util.Map; @Slf4j @@ -58,90 +54,147 @@ public class TaxDeclarationController { } - //涓◣鐢虫姤琛ㄥ垪琛 +// //涓◣鐢虫姤琛ㄥ垪琛 +// @POST +// @Path("/list") +// @Produces(MediaType.APPLICATION_JSON) +// public String list(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxDeclarationListQueryParam queryParam) throws ParseException { +// User user = HrmUserVarify.getUser(request, response); +// queryParam.setFromSalaryMonth(SalaryDateUtil.stringToDate(queryParam.getFromSalaryMonthStr() == null ? "" : queryParam.getFromSalaryMonthStr())); +// queryParam.setEndSalaryMonth(SalaryDateUtil.stringToDate(queryParam.getEndSalaryMonthStr() == null ? "" : queryParam.getEndSalaryMonthStr())); +// return new ResponseResult>(user).run(getTaxDeclarationWrapper(user)::listPage, queryParam); +// } +// +// @POST +// @Path("/withDrawTaxDeclaration") +// @Produces(MediaType.APPLICATION_JSON) +// public String deleteTaxDeclaration(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxDeclarationSaveParam param) { +// User user = HrmUserVarify.getUser(request, response); +// return new ResponseResult(user).run(getTaxDeclarationWrapper(user)::withDrawTaxDeclaration, param.getTaxDeclarationId()); +// } +// +// +// //涓◣鐢虫姤琛ㄨ〃鍗 +// @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(user).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(user).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(user).run(getTaxDeclarationWrapper(user)::save, param); +// } +// +// //涓◣鐢虫姤琛ㄨ鎯呭垪琛 +// @POST +// @Path("/detail/list") +// @Produces(MediaType.APPLICATION_JSON) +// public String listTaxDeclarationDetail(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxDeclarationDetailListQueryParam param) { +// User user = HrmUserVarify.getUser(request, response); +// param.setTaxDeclarationId(Long.parseLong(param.getTaxDeclarationIdStr())); +// return new ResponseResult(user).run(getTaxDeclarationDetailWrapper(user)::listPage, param); +// } +// +// //涓◣鐢虫姤琛ㄧ浉鍏充俊鎭 +// @GET +// @Path("/export") +// @Produces(MediaType.APPLICATION_OCTET_STREAM) +// public Response exportTaxDeclaration(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "taxDeclarationId") Long taxDeclarationId) { +// try { +// User user = HrmUserVarify.getUser(request, response); +// XSSFWorkbook workbook = getTaxDeclarationExcelService(user).exportTaxDeclaration(taxDeclarationId); +// +// String fileName = "涓◣鐢虫姤琛" + LocalDate.now(); +// try { +// fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8"); +// } catch (UnsupportedEncodingException e) { +// e.printStackTrace(); +// } +// +// StreamingOutput output = outputStream -> { +// workbook.write(outputStream); +// outputStream.flush(); +// }; +// response.setContentType("application/octet-stream"); +// return Response.ok(output).header("Content-disposition", "attachment;filename=" + fileName).header("Cache-Control", "no-cache").build(); +// } catch (Exception e) { +// log.error("涓◣鐢虫姤琛ㄥ鍑哄紓甯", e); +// throw e; +// } +// } + + + /** + * 涓◣鐢虫姤琛ㄥ垪琛 + * + * @param queryParam 鏌ヨ鏉′欢 + * @return + */ @POST @Path("/list") @Produces(MediaType.APPLICATION_JSON) - public String list(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxDeclarationListQueryParam queryParam) throws ParseException { + public String listTaxDeclaration(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxDeclarationListQueryParam queryParam) { User user = HrmUserVarify.getUser(request, response); - queryParam.setFromSalaryMonth(SalaryDateUtil.stringToDate(queryParam.getFromSalaryMonthStr() == null ? "" : queryParam.getFromSalaryMonthStr())); - queryParam.setEndSalaryMonth(SalaryDateUtil.stringToDate(queryParam.getEndSalaryMonthStr() == null ? "" : queryParam.getEndSalaryMonthStr())); - return new ResponseResult>(user).run(getTaxDeclarationWrapper(user)::listPage, queryParam); + return new ResponseResult(user).run(getTaxDeclareRecordWrapper(user)::listPage, queryParam); } - @POST - @Path("/withDrawTaxDeclaration") - @Produces(MediaType.APPLICATION_JSON) - public String deleteTaxDeclaration(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxDeclarationSaveParam param) { - User user = HrmUserVarify.getUser(request, response); - return new ResponseResult(user).run(getTaxDeclarationWrapper(user)::withDrawTaxDeclaration, param.getTaxDeclarationId()); - } - - - //涓◣鐢虫姤琛ㄨ〃鍗 + /** + * 涓◣鐢虫姤琛ㄨ〃鍗 + * + * @param id 涓◣鐢虫姤璁板綍id + * @return + */ @GET @Path("/getForm") @Produces(MediaType.APPLICATION_JSON) - public String getForm(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "id") Long id) { + public String getForm(@Context HttpServletRequest request, @Context HttpServletResponse response,@QueryParam(value = "id") Long id) { User user = HrmUserVarify.getUser(request, response); - return new ResponseResult(user).run(getTaxDeclarationWrapper(user)::getForm, id); + return new ResponseResult(user).run(getTaxDeclareRecordWrapper(user)::getForm, id); } - //涓◣鐢虫姤琛ㄧ浉鍏充俊鎭 + /** + * 涓◣鐢虫姤琛ㄧ浉鍏充俊鎭 + * + * @param id 涓◣鐢虫姤璁板綍id + * @return + */ @GET @Path("/getTaxDeclarationInfo") @Produces(MediaType.APPLICATION_JSON) - public String getTaxDeclarationInfo(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "taxDeclarationId") Long taxDeclarationId) { + public String getTaxDeclarationInfo(@Context HttpServletRequest request, @Context HttpServletResponse response,@QueryParam(value = "id") Long id) { User user = HrmUserVarify.getUser(request, response); - return new ResponseResult(user).run(getTaxDeclarationWrapper(user)::getTaxDeclarationInfoById, taxDeclarationId); + return new ResponseResult(user).run(getTaxDeclareRecordWrapper(user)::getTaxDeclarationInfoById, id); } - //涓◣鐢虫姤琛ㄧ敓鎴 - @POST + /** + * 涓◣鐢虫姤琛ㄧ敓鎴 + * + * @param saveParam 淇濆瓨鍙傛暟 + * @return + */ @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(user).run(getTaxDeclarationWrapper(user)::save, param); - } - - //涓◣鐢虫姤琛ㄨ鎯呭垪琛 @POST - @Path("/detail/list") @Produces(MediaType.APPLICATION_JSON) - public String listTaxDeclarationDetail(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxDeclarationDetailListQueryParam param) { + public String saveTaxDeclaration(@Context HttpServletRequest request, @Context HttpServletResponse response,@RequestBody TaxDeclarationSaveParam saveParam) { User user = HrmUserVarify.getUser(request, response); - param.setTaxDeclarationId(Long.parseLong(param.getTaxDeclarationIdStr())); - return new ResponseResult(user).run(getTaxDeclarationDetailWrapper(user)::listPage, param); - } - - //涓◣鐢虫姤琛ㄧ浉鍏充俊鎭 - @GET - @Path("/export") - @Produces(MediaType.APPLICATION_OCTET_STREAM) - public Response exportTaxDeclaration(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "taxDeclarationId") Long taxDeclarationId) { - try { - User user = HrmUserVarify.getUser(request, response); - XSSFWorkbook workbook = getTaxDeclarationExcelService(user).exportTaxDeclaration(taxDeclarationId); - - String fileName = "涓◣鐢虫姤琛" + LocalDate.now(); - try { - fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8"); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - - StreamingOutput output = outputStream -> { - workbook.write(outputStream); - outputStream.flush(); - }; - response.setContentType("application/octet-stream"); - return Response.ok(output).header("Content-disposition", "attachment;filename=" + fileName).header("Cache-Control", "no-cache").build(); - } catch (Exception e) { - log.error("涓◣鐢虫姤琛ㄥ鍑哄紓甯", e); - throw e; - } + return new ResponseResult(user).run(getTaxDeclareRecordWrapper(user)::save, saveParam); } diff --git a/src/com/engine/salary/wrapper/TaxDeclareRecordWrapper.java b/src/com/engine/salary/wrapper/TaxDeclareRecordWrapper.java index 4dcae03d7..f361c78cb 100644 --- a/src/com/engine/salary/wrapper/TaxDeclareRecordWrapper.java +++ b/src/com/engine/salary/wrapper/TaxDeclareRecordWrapper.java @@ -209,19 +209,18 @@ public class TaxDeclareRecordWrapper extends Service { } } -// /** -// * 鑾峰彇涓◣鐢虫姤璁板綍鐨勮〃鍗 -// * -// * @param id -// * @param tenantKey -// * @return -// */ -// public WeaForm getForm(Long id) { + /** + * 鑾峰彇涓◣鐢虫姤璁板綍鐨勮〃鍗 + * + * @param id + * @return + */ + public Map getForm(Long id) { // TaxDeclareRecordFormDTO formDTO = new TaxDeclareRecordFormDTO(); // formDTO.setTaxAgentRange(TaxAgentRangeEnum.SELECT_TAX_AGENT); // // 鍒ゆ柇褰撳墠鏄惁寮鍚簡鍒嗘潈 -// Boolean openDevolution = taxAgentService.isOpenDevolution(tenantKey); -// Boolean isChief = taxAgentService.isChief(employeeId); +// Boolean openDevolution = taxAgentService.isOpenDevolution(); +// Boolean isChief = taxAgentService.isChief((long)user.getUID()); // // 杞崲鎴愬墠绔墍闇鐨勬暟鎹牸寮 // WeaForm weaForm = SalaryFormatUtil.getInstance().buildForm(TaxDeclareRecordFormDTO.class, formDTO); // weaForm.getItems().forEach((k, v) -> { @@ -239,8 +238,8 @@ public class TaxDeclareRecordWrapper extends Service { // v.getOptions().remove(0); // } // }); -// return weaForm; -// } + return new HashMap(); + } /** * 鑾峰彇涓◣鐢虫姤璁板綍涓嬬殑涓◣鐢虫姤琛═AB