数电开票

beta-enc
dongxiaoke 2 years ago
parent 2edae904a0
commit d415fde0f8
  1. 11
      jianshui-admin/src/main/java/com/jianshui/web/controller/platform/InvoiceAddController.java
  2. 2
      jianshui-platform/src/main/java/com/jianshui/platform/dto/InvoiceAdd/BillInfoDetailPDTO.java
  3. 3
      jianshui-platform/src/main/java/com/jianshui/platform/dto/InvoiceAdd/BillInfoPDTO.java
  4. 49
      jianshui-platform/src/main/java/com/jianshui/platform/dto/InvoiceAdd/species/BillInfoDetailSDGenInvoicePDTO.java
  5. 50
      jianshui-platform/src/main/java/com/jianshui/platform/dto/InvoiceAdd/species/BillInfoDetailSDSpecialInvoicePDTO.java
  6. 84
      jianshui-platform/src/main/java/com/jianshui/platform/dto/InvoiceAdd/species/BillInfoSDGenInvoicePDTO.java
  7. 83
      jianshui-platform/src/main/java/com/jianshui/platform/dto/InvoiceAdd/species/BillInfoSDSpecialInvoicePDTO.java
  8. 15
      jianshui-platform/src/main/java/com/jianshui/platform/service/InvoiceAddService.java
  9. 33
      jianshui-platform/src/main/java/com/jianshui/platform/service/impl/InvoiceAddServiceImpl.java
  10. 2
      jianshui-platform/src/main/java/com/jianshui/platform/vo/BillInfoPVO.java

@ -1,9 +1,8 @@
package com.jianshui.web.controller.platform;
import cn.hutool.json.JSON;
import com.jianshui.common.core.controller.BaseController;
import com.jianshui.common.core.domain.AjaxResult;
import com.jianshui.platform.dto.BillInfoPDTO;
import com.jianshui.platform.dto.InvoiceAdd.BillInfoPDTO;
import com.jianshui.platform.service.InvoiceAddService;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
@ -22,12 +21,18 @@ public class InvoiceAddController extends BaseController {
@Autowired
private static InvoiceAddService addService;
@ApiOperation(value = "单据保存",notes = "单据保存请求")
@ApiOperation(value = "单据保存",notes = "单据保存请求(支持数电普票、数电专票)")
@PostMapping( "invoiceSave")
public AjaxResult invoiceSave(@RequestBody BillInfoPDTO billInfoPDTO) throws Exception {
return toAjax(addService.invoiceSave(billInfoPDTO));
}
@ApiOperation(value = "发票开具",notes = "发票直接开具请求(支持数电普票、数电专票)")
@PostMapping( "invoiceIssuance")
public AjaxResult invoiceIssuance(@RequestBody BillInfoPDTO billInfoPDTO) throws Exception {
return addService.invoiceIssuance(billInfoPDTO);
}

@ -1,4 +1,4 @@
package com.jianshui.platform.dto;
package com.jianshui.platform.dto.InvoiceAdd;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

@ -1,4 +1,4 @@
package com.jianshui.platform.dto;
package com.jianshui.platform.dto.InvoiceAdd;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -14,7 +14,6 @@ import java.util.List;
@ApiModel("单据录入")
public class BillInfoPDTO {
// TODO: 2023/6/5 增值税普通发票
@ApiModelProperty(value = "购方名称")
private String buyerName;

@ -0,0 +1,49 @@
package com.jianshui.platform.dto.InvoiceAdd.species;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* @Author: kk
* @Description: 数电普通发票-明细
* @DateTime: 2023/6/7 10:42
* @Params:
* @Return
*/
@Data
@ApiModel("单据录入详情")
public class BillInfoDetailSDGenInvoicePDTO {
@ApiModelProperty(value = "商品名称")
private String goodName;
@ApiModelProperty(value = "规格型号")
private String spec;
@ApiModelProperty(value = "单位")
private String unit;
@ApiModelProperty(value = "商品数量")
private BigDecimal num;
@ApiModelProperty(value = "商品单价")
private BigDecimal price;
@ApiModelProperty(value = "金额(不含税)")
private BigDecimal taxfreeamt;
@ApiModelProperty(value = "税率")
private BigDecimal taxrate;
@ApiModelProperty(value = "税额")
private BigDecimal tax;
}

@ -0,0 +1,50 @@
package com.jianshui.platform.dto.InvoiceAdd.species;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* @Author: kk
* @Description: 数电专用发票-明细
* @DateTime: 2023/6/7 10:42
* @Params:
* @Return
*/
@Data
@ApiModel("单据录入详情")
public class BillInfoDetailSDSpecialInvoicePDTO {
// TODO: 2023/6/5 增值税普通发票
@ApiModelProperty(value = "商品名称")
private String goodName;
@ApiModelProperty(value = "规格型号")
private String spec;
@ApiModelProperty(value = "单位")
private String unit;
@ApiModelProperty(value = "商品数量")
private BigDecimal num;
@ApiModelProperty(value = "商品单价")
private BigDecimal price;
@ApiModelProperty(value = "金额(不含税)")
private BigDecimal taxfreeamt;
@ApiModelProperty(value = "税率")
private BigDecimal taxrate;
@ApiModelProperty(value = "税额")
private BigDecimal tax;
}

@ -0,0 +1,84 @@
package com.jianshui.platform.dto.InvoiceAdd.species;
import com.jianshui.common.annotation.Excel;
import com.jianshui.platform.dto.InvoiceAdd.BillInfoDetailPDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import java.math.BigDecimal;
import java.util.List;
/**
* @Author: kk
* @Description: 数电普通发票
* @DateTime: 2023/6/7 10:42
* @Params:
* @Return
*/
@Data
@ApiModel("单据录入")
public class BillInfoSDGenInvoicePDTO {
@NotEmpty
@ApiModelProperty(value = "购方名称")
private String buyerName;
@NotEmpty
@ApiModelProperty(value = "购方税号")
private String buyerTaxnum;
@ApiModelProperty(value = "购方地址")
private String buyerAddress;
@ApiModelProperty(value = "购方电话")
private String buyerTelephone;
@ApiModelProperty(value = "开户行")
private String buyerBank;
@ApiModelProperty(value = "购买方开户行账号")
private String buyerAccount;
@ApiModelProperty(value = "购方邮箱")
private String buyerEmail;
@ApiModelProperty(value = "销方名称")
private String sellerName;
@ApiModelProperty(value = "销方税号")
private String sellerTaxnum;
@ApiModelProperty(value = "销方地址")
private String sellerAddress;
@ApiModelProperty(value = "销方电话")
private String sellerTelephone;
@ApiModelProperty(value = "销方开户行名称")
private String sellerBank;
@ApiModelProperty(value = "销方开户行账户")
private String sellerAccount;
@ApiModelProperty(value = "备注")
private String message;
@ApiModelProperty(value = "价税合计")
private String jshj;
@ApiModelProperty(value = "金额(不含税)")
private BigDecimal taxfreeamt;
@ApiModelProperty(value = "税额")
private BigDecimal tax;
@ApiModelProperty(value = "明细")
List<BillInfoDetailSDGenInvoicePDTO> billInfoDetailPDTOList;
}

@ -0,0 +1,83 @@
package com.jianshui.platform.dto.InvoiceAdd.species;
import com.jianshui.platform.dto.InvoiceAdd.BillInfoDetailPDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import java.math.BigDecimal;
import java.util.List;
/**
* @Author: kk
* @Description: 数电专用发票
* @DateTime: 2023/6/7 10:42
* @Params:
* @Return
*/
@Data
@ApiModel("单据录入")
public class BillInfoSDSpecialInvoicePDTO {
@NotEmpty
@ApiModelProperty(value = "购方名称")
private String buyerName;
@NotEmpty
@ApiModelProperty(value = "购方税号")
private String buyerTaxnum;
@ApiModelProperty(value = "购方地址")
private String buyerAddress;
@ApiModelProperty(value = "购方电话")
private String buyerTelephone;
@ApiModelProperty(value = "开户行")
private String buyerBank;
@ApiModelProperty(value = "购买方开户行账号")
private String buyerAccount;
@ApiModelProperty(value = "购方邮箱")
private String buyerEmail;
@ApiModelProperty(value = "销方名称")
private String sellerName;
@ApiModelProperty(value = "销方税号")
private String sellerTaxnum;
@ApiModelProperty(value = "销方地址")
private String sellerAddress;
@ApiModelProperty(value = "销方电话")
private String sellerTelephone;
@ApiModelProperty(value = "销方开户行名称")
private String sellerBank;
@ApiModelProperty(value = "销方开户行账户")
private String sellerAccount;
@ApiModelProperty(value = "备注")
private String message;
@ApiModelProperty(value = "价税合计")
private String jshj;
@ApiModelProperty(value = "金额(不含税)")
private BigDecimal taxfreeamt;
@ApiModelProperty(value = "税额")
private BigDecimal tax;
@ApiModelProperty(value = "明细")
List<BillInfoDetailSDSpecialInvoicePDTO> billInfoDetailPDTOList;
}

@ -1,7 +1,8 @@
package com.jianshui.platform.service;
import com.jianshui.platform.dto.BillInfoPDTO;
import com.jianshui.common.core.domain.AjaxResult;
import com.jianshui.platform.dto.InvoiceAdd.BillInfoPDTO;
/**
* 发票录入
@ -20,4 +21,16 @@ public interface InvoiceAddService {
*/
int invoiceSave(BillInfoPDTO billInfoPDTO);
/**
* @Author: kk
* @Description: 发票开具
* @DateTime: 2023/6/7 14:11
* @Params:
* @Return
*/
AjaxResult invoiceIssuance(BillInfoPDTO billInfoPDTO);
}

@ -1,10 +1,19 @@
package com.jianshui.platform.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONObject;
import com.jianshui.common.core.domain.AjaxResult;
import com.jianshui.common.core.domain.entity.Companyservice;
import com.jianshui.common.enums.ErrorCode;
import com.jianshui.common.exception.jianshui.JianshuiParamErrorException;
import com.jianshui.common.utils.ValidateUtils;
import com.jianshui.invoice.domain.BillInfo;
import com.jianshui.invoice.domain.dto.HXResponse;
import com.jianshui.invoice.mapper.BillInfoMapper;
import com.jianshui.platform.dto.BillInfoPDTO;
import com.jianshui.invoice.service.IInvoiceApiService;
import com.jianshui.invoice.service.IInvoiceRequestService;
import com.jianshui.invoice.service.IInvoiceResponseService;
import com.jianshui.platform.dto.InvoiceAdd.BillInfoPDTO;
import com.jianshui.platform.service.InvoiceAddService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -31,6 +40,8 @@ public class InvoiceAddServiceImpl implements InvoiceAddService {
}
@Override
public AjaxResult invoiceIssuance(BillInfoPDTO billInfoPDTO) {
@ -39,24 +50,8 @@ public class InvoiceAddServiceImpl implements InvoiceAddService {
return null;
}

@ -1,6 +1,6 @@
package com.jianshui.platform.vo;
import com.jianshui.platform.dto.BillInfoDetailPDTO;
import com.jianshui.platform.dto.InvoiceAdd.BillInfoDetailPDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

Loading…
Cancel
Save