当前位置: 首页 > news >正文

【乐企板式文件生成工程】关于乐企板式文件(PDF/OFD/XML)生成工程介绍

1、摘要

乐企文件生成是一项重中之重的工作,但是单纯根据乐企文档去实现文件生成的话,是一项非常耗时且实现的效果并不一定很好的方式,目前【乐企文件生成工程】支持单独部署、支持多种文件类型(PDF、OFD、XML)、支持多类型发票(成品油、稀土、农产品、货物运输、旅客运输、不动产租赁、不动产销售、建筑服务)

2、发票文件生成方式有两种思路:

1、根据已有的OFD模板,动态替换ofd模板内容;之后将ofd转pdf(局限:单行问题不大)
可在【乐企】专栏查看详细代码详情可以在此处了解【乐企】有关乐企能力测试接口对接-基础版(详细)

2、根据html模板动态占位:该工程就是这种方式 ,目前效果良好,可看下图。
源码获取方式: 点击下方公众号,加作者微信获取代码版本信息
目前已经支持类型如下:

  • 数电专单行、多行;
  • 数电普单行、多行;
  • 成品油类型发票-专/普 单、多
  • 稀土类型发票-专/普 单、多
  • 货物运输-专-单行、多行;
  • 货物运输-普-单行、多行;
  • 旅客运输-专-单行、多行;
  • 旅客运输-普-单行、多行;
  • 不动产租赁-专
  • 不动产租赁-普

亮点一:操作简单,支持本地存储以及云存储

只需要切换配置文件中的文件开启方式即可~(case如下)
在这里插入图片描述

# 本地文件系统
file:local:enable: true  #这里如果是true 则按照本地文件路径存储basePath: /Users/yanjun.hou/Downloads/files# 云存储文件系统oss:enable: false #这里如果是true 则按照OSS方式存储endpoint: "" #对象存储服务的URLcustomDomain: "" #自定义域名appId: "" #应用IDregion: "" #区域accessKey: ""secretKey: ""

亮点二:无需二次实体映射,直接按照乐企官方文档的JSON报文传输即可实现PDF、OFD、XML三种文件的生成!

{"ptbh": "ptbh-111222333","bz": "这个是备注信息,销售方地址:北京市区朝阳区南京街道,销售方电话:这个是销售方3213213121122 购买方地址:这个是购买方地址,苏州市吴中区郭巷街道,新时代撒,购买方电话:这个是购买方电话,3123213213","fphm": "24123421232324342484","fppz": "01","gmfmc": "购买方名称","gmfnsrsbh": "31232198381273982","hjje": 100,"hjse": 10,"jshj": 110,"kpr": "开票人","kprq": "2024-10-19 17:22:06","lzfpbz": "0","qyDm": "11100","tdys": "03","xsfmc": "销售方名称","xsfnsrsbh": "32131287869082372","jzfwtdys": {"tdzzsxmbh": "tdzzsxmbh","kdsbz": "N"},"fpmxList": [{"jzfwfsd":"建筑服务发生地","jzxmmc":"建筑项目名称","mxxh": 1,"dj": "100","dw": "单位","ggxh": "92","hwhyslwfwmc": "*测试*测试商品","sphfwssflhbbm": "11111","xmmc": "测试商品","spfwjc": "测试","hsje": "110","je": "100","se": "10","sl": "1","slv": "0.1","fphxz": "01"}]
}

亮点三:切换tdys即可实现不同票种动态生成~

在这里插入图片描述
在这里插入图片描述

//一个入口,实现所有发票票种实现~
invoiceFileFactory.getInvoiceFileService(baseUploadInvoiceReq.getTdys()).makeInvoiceFile(baseUploadInvoiceReq);

实现效果

增值税专用发票--单行

增值税普通发票--单行
增值税普通发票--单行

增值税专用发票--多行
在这里插入图片描述

增值税普通发票--多行
在这里插入图片描述
增值税专/普/多行 稀土
在这里插入图片描述
增值税专/普/多行 成品油
在这里插入图片描述
货物运输-(专普票都支持)单行
在这里插入图片描述

货物运输(专普票都支持)-多行
在这里插入图片描述
不动产租赁
在这里插入图片描述

旅客运输(身份信息未做加密处理,可以自己针对出生日期进行分段加密)
在这里插入图片描述

项目结构说明

lq-Invoice-project
├── common-oss#文件工程
│ ├── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com.lq.file
│ │ │ │ ├── core #文件核心包:配置文件读取、操作模板方法定义
│ │ │ │ ├── local # 本地文件存储方式实现
│ │ │ │ ├── oss # OSS文件存储方式实现(支持aws)
│ │ │ │ └── utils
│ │ │ │ └── FileAutoConfiguration.java
│ │ │ └── resources
│ ├── pom.xml
└── lq-invoice#乐企工程
├── src
│ ├── main
│ │ ├── java
│ │ │ └── com.lq.invoice
│ │ │ ├── controller
│ │ │ ├── domain
│ │ │ ├── enums
│ │ │ ├── exception
│ │ │ ├── factory
│ │ │ ├── service
│ │ │ └── util
│ └── resources
└── pom.xml

common-oss模块

application.yml

# 本地文件系统
file:local:enable: truebasePath: /Users/yanjun.hou/Downloads/files# 云存储文件系统oss:enable: falseendpoint: "" #对象存储服务的URLcustomDomain: "" #自定义域名appId: "" #应用IDregion: "" #区域accessKey: ""secretKey: ""

根据注解ConditionalOnProperty动态选择文件上传实现方式,默认本地
在这里插入图片描述
在这里插入图片描述

项目支持:
1、沙箱环境/正式环境测试
2、文件生成
其中:file文件夹下的数据是关于文件生成的实现
impl文件夹下的数据是关于乐企业务接口的具体实现。
在这里插入图片描述

业务实现大致如下:
在这里插入图片描述
文件实现大致如下:

在这里插入图片描述


  • 乐企接口

  • 乐企API对接

  • 乐企沙箱测试

  • 乐企电子发票

  • 乐企板式文件生成

http://www.lryc.cn/news/610636.html

相关文章:

  • Taro Hooks 完整分类详解
  • wps创建编辑excel customHeight 属性不是标准 Excel Open XML导致比对异常
  • 云计算一阶段Ⅱ——11. Linux 防火墙管理
  • 《Node.js与 Elasticsearch的全文搜索架构解析》
  • Sentinel全面实战指南
  • 剑指offer第2版:字符串
  • Day34 GPU训练及类的call方法
  • Android audio之 AudioDeviceInventory
  • PCBA电子产品复制全攻略:从入门到精通
  • 【音视频】WebRTC 一对一通话-信令服
  • 强化学习_Paper_1991_Reinforcement learning is direct adaptive optimal control
  • 自然语言处理×第三卷:文本数据分析——她不再只是贴着你听,而开始学会分析你语言的结构
  • python+MySQL组合实现生成销售财务报告
  • 游戏画面总是卡顿怎么办 告别延迟畅玩游戏
  • 电脑搜索不到公司无线网络
  • 基于ARM+FPGA多通道超声信号采集与传输系统设计
  • NuGet03-私有仓库搭建
  • mac前端环境安装
  • 【ARM】CMSIS6 介绍
  • Mac上pnpm的安装与使用
  • AIDL学习
  • 《算法导论》第 2 章 - 算法基础
  • 朴素贝叶斯(Naive Bayes)算法详解
  • pipeline方法关系抽取--课堂笔记
  • 神坛上的transformer
  • VUE2 学习笔记18 路由守卫
  • 无人机 × 巡检 × AI识别:一套可复制的超低延迟低空视频感知系统搭建实践
  • 人月神话:软件工程的永恒智慧
  • Android 之 Kotlin中的协程(Dispatchers.IO)
  • 研发团队看板协作中的自动化实践:集成CI/CD与任务流转