Merge remote-tracking branch 'origin/beta' into xingze

beta-enc
kane 2 years ago
commit 1e86f4e18e
  1. 45
      jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoice/v1/InvoiceController.java
  2. 88
      jianshui-admin/src/main/java/com/jianshui/web/controller/platform/BillInfoAddPController.java
  3. 31
      jianshui-admin/src/main/java/com/jianshui/web/controller/platform/InvoiceAddPController.java
  4. 4
      jianshui-income/src/main/java/com/jianshui/income/service/impl/EleCheckInvoiceImpl.java
  5. 12
      jianshui-invoice/src/main/java/com/jianshui/invoice/domain/BillInfo.java
  6. 2
      jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/elephant/DDTXX.java
  7. 20
      jianshui-invoice/src/main/java/com/jianshui/invoice/utils/IncomeTest.java
  8. 45
      jianshui-platform/src/main/java/com/jianshui/platform/dto/DocumentListQueryPDTO.java
  9. 57
      jianshui-platform/src/main/java/com/jianshui/platform/enums/InvoiceStatus.java
  10. 37
      jianshui-platform/src/main/java/com/jianshui/platform/enums/InvoiceType.java
  11. 29
      jianshui-platform/src/main/java/com/jianshui/platform/service/BillInfoAddPService.java
  12. 18
      jianshui-platform/src/main/java/com/jianshui/platform/service/InvoiceAddPService.java
  13. 30
      jianshui-platform/src/main/java/com/jianshui/platform/service/impl/BillInfoAddPServiceImpl.java
  14. 26
      jianshui-platform/src/main/java/com/jianshui/platform/service/impl/InvoiceAddPServiceImpl.java
  15. 71
      jianshui-platform/src/main/java/com/jianshui/platform/vo/DocumentListPVO.java

@ -1,17 +1,15 @@
package com.jianshui.api.controller.http.invoice.v1;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONObject;
import com.jianshui.common.core.domain.AjaxResult;
import com.jianshui.common.core.domain.entity.Companyservice;
import com.jianshui.common.core.redis.RedisCache;
import com.jianshui.common.enums.ErrorCode;
import com.jianshui.common.exception.jianshui.JianshuiParamErrorException;
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,20 +20,18 @@ 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.InvoiceAddPService;
import com.jianshui.system.service.ICompanyserviceService;
import com.jianshui.system.service.IServiceManageService;
import io.swagger.annotations.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.util.Date;
import java.util.concurrent.TimeUnit;
/**
* @Description
@ -63,6 +59,9 @@ public class InvoiceController {
@Autowired
private IInvoiceServiceFactory invoiceServiceFactory;
@Autowired
private InvoiceAddPService addService;
/**
* API回调接口
@ -1276,6 +1275,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;
}

@ -0,0 +1,88 @@
package com.jianshui.web.controller.platform;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.json.JSONObject;
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.mapper.BillInfoMapper;
import com.jianshui.platform.dto.DocumentListQueryPDTO;
import com.jianshui.platform.dto.InvoiceAdd.BillInfoPDTO;
import com.jianshui.platform.service.InvoiceAddPService;
import com.jianshui.platform.vo.InvoiceListPVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 发票录入
*
*/
@Api(tags={"单据管理"},value = "")
@RestController
@RequestMapping("/platForm/billInfoAdd/")
public class BillInfoAddPController extends BaseController {
@Autowired
private InvoiceAddPService addService;
@Autowired
private BillInfoMapper billInfoMapper;
@ApiOperation(value = "单据保存",notes = "单据保存请求(支持数电普票、数电专票)")
@PostMapping( "invoiceSave")
public AjaxResult invoiceSave(@RequestBody BillInfoPDTO billInfoPDTO) throws Exception {
return toAjax(addService.invoiceSave(billInfoPDTO));
}
@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);
}
@ApiOperation(value = "税收分类编码列表",notes = "开发中")
@PostMapping( "difference")
public AjaxResult taxClassificationCodeList(@RequestBody JSONObject jsonObject) throws Exception {
// TODO: 税收分类编码列表
return AjaxResult.error("功能开发中!");
}
@ApiOperation(value = "差额",notes = "开发中")
@PostMapping( "difference1")
public AjaxResult difference(@RequestBody JSONObject jsonObject) throws Exception {
// TODO: 差额:
return AjaxResult.error("功能开发中!");
}
@ApiOperation(value = "复制",notes = "开发中")
@PostMapping( "copy")
public AjaxResult copy(@RequestBody JSONObject jsonObject) throws Exception {
// TODO: 复制:复制的是开票信息还是发票信息
return AjaxResult.error("功能开发中!");
}
}

@ -1,10 +1,7 @@
package com.jianshui.web.controller.platform;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil;
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.Invoice;
import com.jianshui.invoice.domain.dto.HXResponse;
@ -12,7 +9,7 @@ import com.jianshui.invoice.mapper.InvoiceMapper;
import com.jianshui.platform.dto.InvoiceAdd.BillInfoPDTO;
import com.jianshui.platform.dto.InvoiceListQueryPDTO;
import com.jianshui.platform.dto.invoicered.InvoiceQueryPDTO;
import com.jianshui.platform.service.InvoiceAddService;
import com.jianshui.platform.service.InvoiceAddPService;
import com.jianshui.platform.vo.InvoiceListPVO;
import com.jianshui.platform.vo.invoicered.InvoiceQueryPVO;
import io.swagger.annotations.*;
@ -26,30 +23,22 @@ import java.util.List;
* 发票录入
*
*/
@Api(tags={"发票管理"},value = "蓝字、红字发票开具")
@Api(tags={"发票管理"},value = "发票管理")
@RestController
@RequestMapping("/platForm/documentEntry/")
public class InvoiceAddController extends BaseController {
@RequestMapping("/platForm/invoiceAdd/")
public class InvoiceAddPController extends BaseController {
@Autowired
private InvoiceAddService addService;
private InvoiceAddPService addService;
@Autowired
private InvoiceMapper invoiceMapper;
@ApiOperation(value = "单据保存",notes = "单据保存请求(支持数电普票、数电专票)")
@PostMapping( "invoiceSave")
public AjaxResult invoiceSave(@RequestBody BillInfoPDTO billInfoPDTO) throws Exception {
return toAjax(addService.invoiceSave(billInfoPDTO));
}
@ApiOperation(value = "发票开具",notes = "发票直接开具请求(支持数电普票、数电专票)")
@ApiOperation(value = "发票开具(数电)",notes = "发票直接开具请求(支持数电普票、数电专票)")
@PostMapping( "invoiceIssuance")
public HXResponse invoiceIssuance(@RequestBody BillInfoPDTO billInfoPDTO) throws Exception {
return addService.invoiceIssuance(billInfoPDTO);
}
@ApiOperation(value = "蓝字发票查询",notes = "查询所有未冲红蓝字发票")
@GetMapping( "invoiceQuery")
public TableDataInfo invoiceQuery(InvoiceQueryPDTO invoiceQueryPDTO) throws Exception {
@ -62,9 +51,7 @@ public class InvoiceAddController extends BaseController {
return getDataTable(invoiceQueryPVOS);
}
@ApiOperation(value = "发票管理",notes = "发票管理")
@ApiOperation(value = "发票管理列表",notes = "发票管理")
@GetMapping( "invoiceList")
public TableDataInfo invoiceList(InvoiceListQueryPDTO queryPDTO) throws Exception {
@ -93,6 +80,10 @@ public class InvoiceAddController extends BaseController {

@ -254,7 +254,7 @@ public class EleCheckInvoiceImpl implements ICheckInvoice {
}
kprq = (String) tempData.get("kprq");
fphm = (String) tempData.get("fphm");
String[] fpzlList = {"01", "02", "03", "04", "10", "11", "14", "15", "08", "21", "22"};
String[] fpzlList = {"01", "02", "03", "04", "10", "11", "14", "15", "08", "21", "22","61","83"};
if (!Arrays.asList(fpzlList).contains(fpzl)) { // 如果不存发票种类,则挂掉
return AjaxResult.error(1025, "发票种类非法!");
}
@ -684,7 +684,7 @@ public class EleCheckInvoiceImpl implements ICheckInvoice {
jym = jym.substring(jym.length() - 6, jym.length());
}
fpzl = (String) data.get("fpzl");
String[] fpzlList = {"01", "02", "03", "04", "10", "11", "14", "15", "08", "21", "22"};
String[] fpzlList = {"01", "02", "03", "04", "10", "11", "14", "15", "08", "21", "22","61","83"};
if (!Arrays.asList(fpzlList).contains(fpzl)) { // 如果不存发票种类,则挂掉
return AjaxResult.error(1025, "发票种类非法!");
}

@ -336,11 +336,19 @@ public class BillInfo extends BaseEntity
private String fjxxnr;
// 2023/6/19 大象冲红原因新增
@TableField(exist=false)
@ApiModelProperty(value = "冲红原因")
private String chyy;
public String getChyy() {
return chyy;
}
public void setChyy(String chyy) {
this.chyy = chyy;
}
@Override
public String getSearchValue() {

@ -59,7 +59,7 @@ public class DDTXX {
this.setHJJE(billInfo.getTaxfreeamt().toString()); // 合计金额 // 计算金额税额,在processing里
this.setHJSE(billInfo.getTax().toString()); // 合计税额 // 计算金额税额,在processing里
this.setBZ(billInfo.getMessage()); // 备注
// this.setCHYY(billInfo.get); // 冲红原因
this.setCHYY(billInfo.getChyy()); // 冲红原因
if (StringUtils.equals(billInfo.getKptype(), "2")) {
if (StringUtils.equals(billInfo.getInvoiceType(), "p")) {
this.setTSCHBZ("0"); // 特殊冲红标志

@ -27,17 +27,17 @@ public class IncomeTest {
// String key = "zE9+TICzsrejfujj/BXjCQ=="; // 1206
System.out.println("-------------------单个发票查验-----------------------------");
// String order = "{\n" +
// " \"taxNo\": \"91370102MA3UD2FG21\",\n" +
// " \"jym\": \"\",\n" +
// " \"fpje\": \"47802.00\",\n" +
// " \"fpdm\": \"3700211130\",\n" +
// " \"kprq\": \"20211216\",\n" +
// " \"fphm\": \"08345487\",\n" +
// " \"fpzl\": \"01\"\n" +
// "}";
String order = "{\n" +
" \"taxNo\": \"9T86Z09T5L0000TET6\n\",\n" +
" \"jym\": \"\",\n" +
" \"fpje\": \"100\",\n" +
" \"fpdm\": \"\",\n" +
" \"kprq\": \"20220727\",\n" +
" \"fphm\": \"2231700000000011\",\n" +
" \"fpzl\": \"61\"\n" +
"}";
// String order = "{\"jym\":\"165330\",\"fpje\":\"83.07\",\"fpdm\":\"011002100511\",\"kprq\":\"20220209\",\"fphm\":\"41985485\",\"fpzl\":\"10\",\"taxNo\":\"91370100664851254J\"}";
String order = "{\"jym\":\"356607\",\"fpje\":\"259.23\",\"fpdm\":\"011002000711\",\"kprq\":\"20210111\",\"fphm\":\"66914035\",\"fpzl\":\"01\",\"taxNo\":\"91370102MA3UD2FG21\" }";
// String order = "{\"jym\":\"356607\",\"fpje\":\"259.23\",\"fpdm\":\"011002000711\",\"kprq\":\"20210111\",\"fphm\":\"66914035\",\"fpzl\":\"01\",\"taxNo\":\"91370102MA3UD2FG21\" }";
String m = AisinoInvoiceDecryptUtil.encrypt(order, key);
System.out.println("json : " + order);
System.out.println(m);

@ -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,57 @@
package com.jianshui.platform.enums;
/**
* @Author: kk
* @Description: 发票状态枚举BillINfo票据 Invoice发票 RedInfo红字
*/
public enum InvoiceStatus {
INVOICE_NOT_INVOICED("0", "未开票"),
INVOICE_INVOICING("20", "开票中"),
INVOICE_COMPLETED("2", "开票完成"),
INVOICE_FAILED("22", "开票失败"),
INVOICE_RED_FLAGGED("99", "已冲红"),
INVOICE_CANCELLED("3", "已作废"),
INVOICE_MERGED("18", "已合并"),
INVOICE_SIGNING("21", "开票成功签章中"),
INVOICE_SIGNING_FAILED("24", "开票成功签章失败"),
INVOICE_CANCELLING("31", "发票作废中"),
INVOICE_RED_FLAGGING("98", "冲红中"),
INVOICE_SPLIT("17", "已拆分"),
INVOICE_UNSIGNED("23", "开票成功未签章"),
INVOICE_PARTIAL_RED("25", "部分冲红"),
// RedInfo
REDINFO_APPLICATION_PENDING("0", "申请中"),
REDINFO_APPROVAL_SUCCESS("1", "审核成功"),
REDINFO_APPROVAL_FAILED("2", "审核失败"),
REDINFO_APPLICATION_SUCCESS("3", "申请成功"),
REDINFO_APPLICATION_FAILED("4", "申请失败");
private String code;
private String displayName;
private InvoiceStatus(String code, String displayName) {
this.code = code;
this.displayName = displayName;
}
public String getCode() {
return code;
}
public String getDisplayName() {
return displayName;
}
public static InvoiceStatus fromCode(String code) {
for (InvoiceStatus type : InvoiceStatus.values()) {
if (type.getCode().equals(code)) {
return type;
}
}
throw new IllegalArgumentException("Invalid InvoiceType code: " + code);
}
}

@ -0,0 +1,37 @@
package com.jianshui.platform.enums;
/**
* @Author: kk
* @Description: 开票类型枚举
*/
public enum InvoiceType {
SHU_DIAN_ZHUAN_PIAO("1", "数电专票"),
SHU_DIAN_PU_PIAO("2", "数电普票");
private String code;
private String displayName;
private InvoiceType(String code, String displayName) {
this.code = code;
this.displayName = displayName;
}
public String getCode() {
return code;
}
public String getDisplayName() {
return displayName;
}
public static InvoiceType fromCode(String code) {
for (InvoiceType type : InvoiceType.values()) {
if (type.getCode().equals(code)) {
return type;
}
}
throw new IllegalArgumentException("Invalid InvoiceType code: " + code);
}
}

@ -0,0 +1,29 @@
package com.jianshui.platform.service;
/**
* @Author: kk
* @Description: 单据管理
* @DateTime: 2023/6/26 11:57
*/
public interface BillInfoAddPService {
}

@ -3,34 +3,26 @@ package com.jianshui.platform.service;
import com.jianshui.invoice.domain.dto.HXResponse;
import com.jianshui.platform.dto.InvoiceAdd.BillInfoPDTO;
import com.jianshui.platform.vo.invoicered.InvoiceQueryPVO;
import java.util.List;
/**
* 发票录入
*
*/
public interface InvoiceAddService {
* @Author: kk
* @Description: 发票管理
* @DateTime: 2023/6/26 11:55
*/
public interface InvoiceAddPService {
/**
* @Author: kk
* @Description: 单据录入
* @DateTime: 2023/6/5 17:14
* @Params:
* @Return
*/
int invoiceSave(BillInfoPDTO billInfoPDTO);
/**
* @Author: kk
* @Description: 发票开具
* @DateTime: 2023/6/7 14:11
* @Params:
* @Return
*/
HXResponse invoiceIssuance(BillInfoPDTO billInfoPDTO);

@ -0,0 +1,30 @@
package com.jianshui.platform.service.impl;
import com.jianshui.invoice.mapper.BillInfoMapper;
import com.jianshui.platform.service.BillInfoAddPService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @Author: kk
* @Description: 单据管理
* @DateTime: 2023/6/26 11:58
*/
@Service
@Slf4j
public class BillInfoAddPServiceImpl implements BillInfoAddPService {
@Autowired
private static BillInfoMapper billInfoMapper;
}

@ -1,14 +1,11 @@
package com.jianshui.platform.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jianshui.common.core.domain.entity.Companyservice;
import com.jianshui.common.exception.jianshui.JianshuiServiceException;
import com.jianshui.common.utils.SecurityUtils;
import com.jianshui.common.utils.ValidateUtils;
import com.jianshui.invoice.domain.BillInfo;
import com.jianshui.invoice.domain.Invoice;
import com.jianshui.invoice.domain.dto.HXResponse;
import com.jianshui.invoice.enums.ChannelSource;
import com.jianshui.invoice.factory.IInvoiceServiceFactory;
@ -18,9 +15,9 @@ import com.jianshui.invoice.service.IInvoiceApiService;
import com.jianshui.platform.dto.InvoiceAdd.BillInfoPDTO;
import com.jianshui.platform.dto.InvoiceAdd.species.BillInfoSDGenInvoicePDTO;
import com.jianshui.platform.dto.InvoiceAdd.species.BillInfoSDSpecialInvoicePDTO;
import com.jianshui.platform.service.InvoiceAddService;
import com.jianshui.platform.enums.InvoiceType;
import com.jianshui.platform.service.InvoiceAddPService;
import com.jianshui.platform.utils.InvoiceAllYhdjUtils;
import com.jianshui.platform.vo.invoicered.InvoiceQueryPVO;
import com.jianshui.system.domain.InvoiceAllYhdj;
import com.jianshui.system.mapper.CompanyserviceMapper;
import com.jianshui.system.service.IServiceManageService;
@ -28,16 +25,17 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Optional;
/**
* 发票录入
*/
* @Author: kk
* @Description: 发票管理
* @DateTime: 2023/6/26 11:59
*/
@Service
@Slf4j
public class InvoiceAddServiceImpl implements InvoiceAddService {
public class InvoiceAddPServiceImpl implements InvoiceAddPService {
@Autowired
private static BillInfoMapper billInfoMapper;
@ -66,6 +64,10 @@ public class InvoiceAddServiceImpl implements InvoiceAddService {
}
/**
* @Author: kk
* @Description: 发票开具
*/
@Override
public HXResponse invoiceIssuance(BillInfoPDTO billInfoPDTO) {
@ -73,18 +75,20 @@ public class InvoiceAddServiceImpl implements InvoiceAddService {
// 数电(普票、专票)校验
BillInfo billInfo = null;
if("1".equals(invoiceType)){
if(InvoiceType.SHU_DIAN_ZHUAN_PIAO.getCode().equals(invoiceType)){
BillInfoSDGenInvoicePDTO sdGenInvoicePDTO = BeanUtil.copyProperties(billInfoPDTO, BillInfoSDGenInvoicePDTO.class);
ValidateUtils.validate(sdGenInvoicePDTO.getBillInfoDetailPDTOList());
ValidateUtils.validate(sdGenInvoicePDTO);
billInfo = BeanUtil.copyProperties(sdGenInvoicePDTO, BillInfo.class);
}else if("2".equals(invoiceType)){
}else if(InvoiceType.SHU_DIAN_PU_PIAO.getCode().equals(invoiceType)){
BillInfoSDSpecialInvoicePDTO sdSpecialInvoicePDTO = BeanUtil.copyProperties(billInfoPDTO, BillInfoSDSpecialInvoicePDTO.class);
ValidateUtils.validate(sdSpecialInvoicePDTO.getBillInfoDetailPDTOList());
ValidateUtils.validate(sdSpecialInvoicePDTO);
billInfo = BeanUtil.copyProperties(sdSpecialInvoicePDTO, BillInfo.class);
}else {
return new HXResponse("未获取到发票类别!");
}

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