单据管理

beta-enc
dongxiaoke 2 years ago
parent 3510edce0a
commit 48d287bf49
  1. 39
      jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoice/v1/InvoiceController.java
  2. 25
      jianshui-admin/src/main/java/com/jianshui/web/controller/platform/InvoiceAddController.java
  3. 45
      jianshui-platform/src/main/java/com/jianshui/platform/dto/DocumentListQueryPDTO.java
  4. 71
      jianshui-platform/src/main/java/com/jianshui/platform/vo/DocumentListPVO.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;
}

@ -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<BillInfo> billInfoList = billInfoMapper.selectBillInfoList(billInfo);
List<InvoiceListPVO> invoiceListPVOS = BeanUtil.copyToList(billInfoList,InvoiceListPVO.class);
return getDataTable(invoiceListPVOS);
}

@ -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;
}

@ -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;
}
Loading…
Cancel
Save