From 48d287bf498caab47e58f515c886ec1bc113f323 Mon Sep 17 00:00:00 2001 From: dongxiaoke <1910333201@qq.com> Date: Sun, 25 Jun 2023 14:38:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=95=E6=8D=AE=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../http/invoice/v1/InvoiceController.java | 39 ++++++++++ .../platform/InvoiceAddController.java | 25 ++++++- .../platform/dto/DocumentListQueryPDTO.java | 45 ++++++++++++ .../jianshui/platform/vo/DocumentListPVO.java | 71 +++++++++++++++++++ 4 files changed, 178 insertions(+), 2 deletions(-) create mode 100644 jianshui-platform/src/main/java/com/jianshui/platform/dto/DocumentListQueryPDTO.java create mode 100644 jianshui-platform/src/main/java/com/jianshui/platform/vo/DocumentListPVO.java diff --git a/jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoice/v1/InvoiceController.java b/jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoice/v1/InvoiceController.java index 6b28076..1be796a 100644 --- a/jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoice/v1/InvoiceController.java +++ b/jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoice/v1/InvoiceController.java @@ -12,6 +12,7 @@ import com.jianshui.common.utils.StringUtils; import com.jianshui.common.utils.http.HttpHelper; import com.jianshui.common.utils.spring.SpringUtils; import com.jianshui.invoice.domain.BillInfo; +import com.jianshui.platform.dto.InvoiceAdd.BillInfoPDTO; import com.jianshui.invoice.domain.Redinfo; import com.jianshui.invoice.domain.dto.*; import com.jianshui.invoice.domain.dto.api.*; @@ -22,6 +23,7 @@ import com.jianshui.invoice.factory.IInvoiceResponseFactory; import com.jianshui.invoice.factory.IInvoiceServiceFactory; import com.jianshui.invoice.service.IInvoiceResponseService; import com.jianshui.invoice.utils.ApiRequestUtils; +import com.jianshui.platform.service.InvoiceAddService; import com.jianshui.system.service.ICompanyserviceService; import com.jianshui.system.service.IServiceManageService; import io.swagger.annotations.*; @@ -63,6 +65,9 @@ public class InvoiceController { @Autowired private IInvoiceServiceFactory invoiceServiceFactory; + @Autowired + private InvoiceAddService addService; + /** * API回调接口 @@ -1276,6 +1281,40 @@ public class InvoiceController { } + /** + * @Author: kk + * @Description: 单据传入 + * @DateTime: 2023/6/25 10:00 + * @Params: + * @Return + */ + @ApiImplicitParams({ + @ApiImplicitParam(name = "identity", value = "身份认证", dataType = "string", example = "1130", required = true), + @ApiImplicitParam(name = "order", value = "请求体", required = true)}) + @PostMapping({"/api/invoice/v1/invoiceIncome/{identity}", "/api/invoice/v1/invoiceIncome"}) + public Object invoiceIncome(HttpServletRequest request, String identity) throws Exception { + + if (StringUtils.isEmpty(identity)) { + return AjaxResult.error(ErrorCode.EMPTY_IDENTITY); + } + + Companyservice companyservice = iCompanyserviceService.selectCompanyserviceByIdentity(identity); + if (companyservice == null) { + return AjaxResult.error(ErrorCode.COMPANY_NOT_FOUND); + } + + // 获得入口报文适配器 + String requestAdapterKey = serviceManageService.getRequestAdapterKey("invoice", companyservice.getCompanyid()); + IInvoiceRequestService invoiceRequestService = invoiceRequestFactory.getService(requestAdapterKey); + JSONObject decryptResult = invoiceRequestService.decrypt(request, companyservice, ""); + + BillInfoPDTO billInfoPDTO = BeanUtil.copyProperties(decryptResult,BillInfoPDTO.class); + HXResponse result = addService.invoiceIssuance(billInfoPDTO); + + return result; + + } + diff --git a/jianshui-admin/src/main/java/com/jianshui/web/controller/platform/InvoiceAddController.java b/jianshui-admin/src/main/java/com/jianshui/web/controller/platform/InvoiceAddController.java index c95603c..a133246 100644 --- a/jianshui-admin/src/main/java/com/jianshui/web/controller/platform/InvoiceAddController.java +++ b/jianshui-admin/src/main/java/com/jianshui/web/controller/platform/InvoiceAddController.java @@ -6,9 +6,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.jianshui.common.core.controller.BaseController; import com.jianshui.common.core.domain.AjaxResult; import com.jianshui.common.core.page.TableDataInfo; +import com.jianshui.invoice.domain.BillInfo; import com.jianshui.invoice.domain.Invoice; import com.jianshui.invoice.domain.dto.HXResponse; +import com.jianshui.invoice.mapper.BillInfoMapper; import com.jianshui.invoice.mapper.InvoiceMapper; +import com.jianshui.platform.dto.DocumentListQueryPDTO; import com.jianshui.platform.dto.InvoiceAdd.BillInfoPDTO; import com.jianshui.platform.dto.InvoiceListQueryPDTO; import com.jianshui.platform.dto.invoicered.InvoiceQueryPDTO; @@ -26,7 +29,7 @@ import java.util.List; * 发票录入 * */ -@Api(tags={"发票管理"},value = "蓝字、红字发票开具") +@Api(tags={"单据、发票管理"},value = "蓝字、红字发票开具") @RestController @RequestMapping("/platForm/documentEntry/") public class InvoiceAddController extends BaseController { @@ -37,6 +40,9 @@ public class InvoiceAddController extends BaseController { @Autowired private InvoiceMapper invoiceMapper; + @Autowired + private BillInfoMapper billInfoMapper; + @ApiOperation(value = "单据保存",notes = "单据保存请求(支持数电普票、数电专票)") @PostMapping( "invoiceSave") public AjaxResult invoiceSave(@RequestBody BillInfoPDTO billInfoPDTO) throws Exception { @@ -64,7 +70,7 @@ public class InvoiceAddController extends BaseController { - @ApiOperation(value = "发票管理",notes = "发票管理") + @ApiOperation(value = "发票管理列表",notes = "发票管理") @GetMapping( "invoiceList") public TableDataInfo invoiceList(InvoiceListQueryPDTO queryPDTO) throws Exception { @@ -76,6 +82,21 @@ public class InvoiceAddController extends BaseController { return getDataTable(invoiceListPVOS); } + @ApiOperation(value = "单据管理列表",notes = "发票管理") + @GetMapping( "documentList") + public TableDataInfo documentList(DocumentListQueryPDTO queryPDTO) throws Exception { + + startPage(); + BillInfo billInfo = BeanUtil.copyProperties(queryPDTO,BillInfo.class); + List billInfoList = billInfoMapper.selectBillInfoList(billInfo); + + List invoiceListPVOS = BeanUtil.copyToList(billInfoList,InvoiceListPVO.class); + return getDataTable(invoiceListPVOS); + } + + + + diff --git a/jianshui-platform/src/main/java/com/jianshui/platform/dto/DocumentListQueryPDTO.java b/jianshui-platform/src/main/java/com/jianshui/platform/dto/DocumentListQueryPDTO.java new file mode 100644 index 0000000..b1ccd5a --- /dev/null +++ b/jianshui-platform/src/main/java/com/jianshui/platform/dto/DocumentListQueryPDTO.java @@ -0,0 +1,45 @@ +package com.jianshui.platform.dto; + + +import com.jianshui.common.core.page.PageDomain; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.sql.Date; + +/** +* @Author: kk +* @Description: 单据管理查询 +* @DateTime: 2023/6/12 10:48 +* @Params: +* @Return +*/ +@Data +@ApiModel("单据管理查询") +public class DocumentListQueryPDTO extends PageDomain { + + @ApiModelProperty(value = "单据类型") + private String billType; + + @ApiModelProperty(value = "单据状态") + private Integer state; + + @ApiModelProperty(value = "单据编号") + private String fpqqlsh; + + @ApiModelProperty(value = "单据开始日期") + private Date startTime; + + @ApiModelProperty(value = "单据结束日期") + private Date endTime; + + @ApiModelProperty(value = "客户税号") + private String buyerTaxnum; + + @ApiModelProperty(value = "客户名称") + private String buyerName; + + + +} diff --git a/jianshui-platform/src/main/java/com/jianshui/platform/vo/DocumentListPVO.java b/jianshui-platform/src/main/java/com/jianshui/platform/vo/DocumentListPVO.java new file mode 100644 index 0000000..651d3b7 --- /dev/null +++ b/jianshui-platform/src/main/java/com/jianshui/platform/vo/DocumentListPVO.java @@ -0,0 +1,71 @@ +package com.jianshui.platform.vo; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.jianshui.common.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** +* @Author: kk +* @Description: 单据管理列表VO +* @DateTime: 2023/6/12 10:49 +* @Params: +* @Return +*/ + +@Data +@ApiModel("发票管理") +public class DocumentListPVO { + + @ApiModelProperty(value = "单据编号") + private String fpqqlsh; + + @ApiModelProperty(value = "客户名称") + private String buyerName; + + @ApiModelProperty(value = "客户税号") + private String buyerTaxnum; + +// @ApiModelProperty(value = "行数") +// private String fphm; + + @ApiModelProperty(value = "未税金额") + private BigDecimal taxfreeamt; + + @ApiModelProperty(value = "含税金额") + private BigDecimal taxamt; + + @ApiModelProperty(value = "日期") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date invoicedTime; + + @ApiModelProperty(value = "单据类型") + private String billType; + + @ApiModelProperty(value = "客户地址及电话") + private String buyerAddress; + + @ApiModelProperty(value = "客户银行及账号") + private String buyerAccount; + + @ApiModelProperty(value = "备注") + private String message; + + @ApiModelProperty(value = "来源") + private String source; + +// @ApiModelProperty(value = "特殊票种") +// private String sellerTaxnum; + +// @ApiModelProperty(value = "失败原因") +// private String sellerTaxnum; + + + + +}