This commit is contained in:
lvleigang 2025-05-19 10:42:46 +08:00
commit 11a0beaade
24 changed files with 2624 additions and 1151 deletions

View File

@ -1,6 +1,10 @@
package com.hzya.frame.plugin.cinvoice.assembler;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.hzya.frame.plugin.cinvoice.lexmis.entity.LexmisPublicinfoEntity;
import com.hzya.frame.plugin.cinvoice.lexmis.entity.LexmiscivBusinvoiceEntity;
/**
* @Description 客运汽车a3
@ -23,26 +27,32 @@ public class BusInvoiceAssembler implements ParamAssembler{
@Override
public JSONObject assembleParam() {
JSONObject param = new JSONObject();
// 发票代码必填
param.put("fpdm", "");
// 发票号码必填
param.put("fphm", "");
// 乘车日期/开票时间格式为 yyyy-MM-dd必填
param.put("ccrq", "");
// 乘车时间格式为 HH:mm非必填
param.put("ccsj", "");
// 出发地非必填
param.put("cfd", "");
// 到达地非必填
param.put("ddd", "");
// 乘车人姓名非必填
param.put("ccrxm", "");
// 身份证号非必填
param.put("sfzh", "");
// 金额必填
param.put("je", "");
// 发票消费类型非必填
param.put("fpxflx", "");
String busInvoiceStr = jsonObject.getString("busInvoice");
String publicInfoiceStr = jsonObject.getString("publicInfoice");
if (StrUtil.isNotEmpty(busInvoiceStr)){
LexmiscivBusinvoiceEntity businvoiceEntity = JSONObject.parseObject(busInvoiceStr,LexmiscivBusinvoiceEntity.class);
LexmisPublicinfoEntity publicinfo = JSONObject.parseObject(publicInfoiceStr,LexmisPublicinfoEntity.class);
// 发票代码必填
param.put("fpdm", businvoiceEntity.getBI_FPDM());
// 发票号码必填
param.put("fphm", businvoiceEntity.getBI_FPHM());
// 乘车日期/开票时间格式为 yyyy-MM-dd必填
param.put("ccrq", DateUtil.format(businvoiceEntity.getBI_DATE(),"yyyy-MM-dd"));
// 乘车时间格式为 HH:mm非必填
param.put("ccsj", businvoiceEntity.getBI_TIME());
// 出发地非必填
param.put("cfd", businvoiceEntity.getBI_FSTATION());
// 到达地非必填
param.put("ddd", businvoiceEntity.getBI_TSTATION());
// 乘车人姓名非必填
param.put("ccrxm", businvoiceEntity.getBI_USERNAME());
// 身份证号非必填
param.put("sfzh", businvoiceEntity.getBI_USERID());
// 金额必填
param.put("je", businvoiceEntity.getBI_TOTALAMOUNT());
// 发票消费类型非必填
param.put("fpxflx", "");
}
return param;
}
}

View File

@ -1,5 +1,6 @@
package com.hzya.frame.plugin.cinvoice.assembler;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.hzya.frame.plugin.cinvoice.dto.FlightItemInfo;
@ -41,7 +42,7 @@ public class ElecFlightInvoiceAssembler implements ParamAssembler{
// 2. 验证码非必填
param.put("yzm", planeticketH.getPT_VALIDCODE());
// 3. 开票日期格式为 yyyy-MM-dd必填
param.put("kprq", planeticketH.getPT_DATE());
param.put("kprq", planeticketH.getPT_MAKEDATE());
// 4. 销售单位代号非必填
param.put("xsdwdh", planeticketH.getPT_SALERCODE());
// 5. 填开单位非必填
@ -98,6 +99,7 @@ public class ElecFlightInvoiceAssembler implements ParamAssembler{
flightItem.setZwdj(b.getPTS_CLASS());//座位等级
flightItem.setCyr(b.getPTS_CARRIER());//承运人
flightItem.setCwdj(b.getPTS_CLASSNAME());//舱位等级
flightItem.setCjrq(DateUtil.format(b.getPTS_DATE(),"yyyy-MM-dd"));
if ("1".equals(planeticketH.getPT_ELECTRONICMARK())){
//电子票需要的字段
flightItem.setSsflbm("");//税收分类编码
@ -106,7 +108,7 @@ public class ElecFlightInvoiceAssembler implements ParamAssembler{
flightItem.setDw("");//单位
flightItem.setSl("");//数量
flightItem.setDj("");//单价
flightItem.setJe(String.valueOf(planeticketH.getPT_PRICE()));//金额
flightItem.setJe(planeticketH.getPT_PRICE());//金额
flightItem.setSlv(planeticketH.getPT_TAXRATE());//税率
flightItem.setSe(planeticketH.getPT_TAXAMOUNT());//税额
}

View File

@ -1,9 +1,15 @@
package com.hzya.frame.plugin.cinvoice.assembler;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.hzya.frame.plugin.cinvoice.lexmis.entity.LexmisPublicinfoEntity;
import com.hzya.frame.plugin.cinvoice.lexmis.entity.LexmiscivTrainticketEntity;
import com.hzya.frame.plugin.cinvoice.util.TaxCalculator;
import java.math.BigDecimal;
/**
* @Description 200-电子发票铁路电子客票
@ -26,14 +32,16 @@ public class ElecTrainInvoiceAssembler implements ParamAssembler{
@Override
public JSONObject assembleParam() {
JSONObject param = new JSONObject();
String trainInvoice = jsonObject.getString("trainInvoice");
String trainInvoice = jsonObject.getString("trainInvoice");//火车票
String publicInvoice = jsonObject.getString("publicInvoice");//发票公共信息
if (StrUtil.isNotEmpty(trainInvoice)){
LexmiscivTrainticketEntity trainticketEntity = JSONObject.parseObject(trainInvoice, LexmiscivTrainticketEntity.class);
LexmisPublicinfoEntity publicInfo = JSONObject.parseObject(publicInvoice, LexmisPublicinfoEntity.class);
if (null != trainticketEntity){
// 1. 火车票号必填
param.put("hcph", trainticketEntity.getTT_CODE());
// 2. 乘车日期格式为 yyyy-MM-dd必填
param.put("ccrq", trainticketEntity.getTT_DATE());
param.put("ccrq", DateUtil.format(trainticketEntity.getTT_DATE(),"yyyy-MM-dd"));
// 3. 乘车时间格式为 HH:mm非必填
param.put("ccsj", trainticketEntity.getTT_TIME());
// 4. 出发地非必填
@ -58,18 +66,23 @@ public class ElecTrainInvoiceAssembler implements ParamAssembler{
param.put("kprq", trainticketEntity.getTT_OUTDATE());
// 14. 不含税金额非必填
param.put("bhsje", trainticketEntity.getTT_NOTAXAMOUNT());
// 15. 税额非必填
param.put("se", trainticketEntity.getTT_TAXRATEAMOUNT());
// 16. 税率非必填
param.put("slv", trainticketEntity.getTT_TAXRATE());
param.put("slv", Convert.toStr(publicInfo.getPI_TAXRATE(),"0.09"));
// 15. 税额非必填
if (null == publicInfo.getPI_TAXAMOUNT()){
BigDecimal se = TaxCalculator.calculateTax(trainticketEntity.getTT_AMOUNT(),new BigDecimal(param.getString("slv")));
param.put("se",se);
}else {
param.put("se", publicInfo.getPI_TAXAMOUNT());
}
// 17. 销方税号非必填
param.put("xfsh", "");
// 18. 销方名称非必填
param.put("xfmc", "");
// 19. 购方税号非必填
param.put("gfsh", trainticketEntity.getTT_BUYERTAXNO());
param.put("gfsh", Convert.toStr(trainticketEntity.getTT_BUYERTAXNO(),publicInfo.getPI_BUYERTAXNO()));
// 20. 购方名称非必填
param.put("gfmc", trainticketEntity.getTT_BUYERNAME());
param.put("gfmc", Convert.toStr(trainticketEntity.getTT_BUYERNAME(),publicInfo.getPI_BUYERNAME()));
// 21. 出发站拼音非必填
param.put("cfzpy", "");
// 22. 到达站拼音非必填
@ -99,11 +112,22 @@ public class ElecTrainInvoiceAssembler implements ParamAssembler{
// 33. 金额非必填
qdHcpInfo.put("je", trainticketEntity.getTT_AMOUNT());
// 34. 税率非必填
qdHcpInfo.put("slv", trainticketEntity.getTT_TAXRATE());
qdHcpInfo.put("slv", param.getString("slv"));
// 35. 税额非必填
qdHcpInfo.put("se", trainticketEntity.getTT_TAXRATEAMOUNT());
}
}
return param;
}
public static void main(String[] args) {
JSONObject param = new JSONObject();
param.put("slv", Convert.toStr(null,"0.09"));
BigDecimal slv = param.getBigDecimal("slv");
BigDecimal amount = new BigDecimal("568");
BigDecimal b1 = BigDecimal.ONE.add(slv);
BigDecimal divide = amount.divide(b1, 6, BigDecimal.ROUND_HALF_UP);
BigDecimal se = divide.multiply(slv);
System.out.println(se);
}
}

View File

@ -1,5 +1,6 @@
package com.hzya.frame.plugin.cinvoice.assembler;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.hzya.frame.plugin.cinvoice.lexmis.entity.LexmiscivTrainticketEntity;
@ -30,7 +31,7 @@ public class TrainInvoiceAssembler implements ParamAssembler{
LexmiscivTrainticketEntity trainticketEntity = JSONObject.parseObject(trainInvoice, LexmiscivTrainticketEntity.class);
if (null != trainticketEntity){
param.put("hcph", trainticketEntity.getTT_CODE()); // 火车票号
param.put("ccrq", trainticketEntity.getTT_DATE()); // 乘车日期,yyyy-MM-dd
param.put("ccrq", DateUtil.format(trainticketEntity.getTT_DATE(),"yyyy-MM-dd")); // 乘车日期,yyyy-MM-dd
param.put("ccsj", trainticketEntity.getTT_TIME()); // 乘车时间,HH:mm
param.put("cfd", trainticketEntity.getTT_FSTATION()); // 出发地
param.put("ddd", trainticketEntity.getTT_TSTATION()); // 到达地

View File

@ -2,7 +2,9 @@ package com.hzya.frame.plugin.cinvoice.assembler;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.hzya.frame.plugin.cinvoice.dto.TxfItemInfo;
import com.hzya.frame.plugin.cinvoice.dto.ZzsItemInfo;
import com.hzya.frame.plugin.cinvoice.lexmis.entity.LexmisPublicinfoEntity;
import com.hzya.frame.plugin.cinvoice.lexmis.entity.LexmiscivInvoicedetailEntity;
import com.hzya.frame.plugin.cinvoice.lexmis.entity.LexmiscivInvoicemainEntity;
import org.apache.commons.collections.CollectionUtils;
@ -60,24 +62,47 @@ public class ZzsInvoiceAssembler implements ParamAssembler{
param.put("kpr", zzsInvoiceH.getIM_MAKERNM());//开票人
param.put("skr", zzsInvoiceH.getIM_PAYEE());//收款人
param.put("fhr", zzsInvoiceH.getIM_AUDITOR());//复核人
// 发票明细信息
List<ZzsItemInfo> zzsItemInfoList = new LinkedList<>();
param.put("zzsItemInfos", zzsItemInfoList);
if (CollectionUtils.isNotEmpty(zzsInvoiceBList)){
for (LexmiscivInvoicedetailEntity b : zzsInvoiceBList) {
ZzsItemInfo zzsItemInfo = new ZzsItemInfo();
// 发票明细项
zzsItemInfo.setXh(b.getID_ROWID());//序号
zzsItemInfo.setSsflbm("");//税收分类编码
zzsItemInfo.setXmmc(b.getID_SERVICENM());//项目名称
zzsItemInfo.setGgxh(b.getID_SERVICETYPE());//规格型号
zzsItemInfo.setDw(b.getID_UNIT());//单位
zzsItemInfo.setSl(b.getID_NUM());//数量
zzsItemInfo.setDj(b.getID_PRICE());//单价
zzsItemInfo.setJe(b.getID_NOTAXAMOUNT());//金额
zzsItemInfo.setSlv(b.getID_TAX());//税率
zzsItemInfo.setSe(b.getID_TAXAMOUNT());//税额
zzsItemInfoList.add(zzsItemInfo);
//14是通行费
if (!"14".equals(zzsInvoiceH.getIM_TYPE())){
// 发票明细信息
List<ZzsItemInfo> zzsItemInfoList = new LinkedList<>();
param.put("zzsItemInfos", zzsItemInfoList);
if (CollectionUtils.isNotEmpty(zzsInvoiceBList)){
for (LexmiscivInvoicedetailEntity b : zzsInvoiceBList) {
ZzsItemInfo zzsItemInfo = new ZzsItemInfo();
// 发票明细项
zzsItemInfo.setXh(b.getID_ROWID());//序号
zzsItemInfo.setSsflbm("");//税收分类编码
zzsItemInfo.setXmmc(b.getID_SERVICENM());//项目名称
zzsItemInfo.setGgxh(b.getID_SERVICETYPE());//规格型号
zzsItemInfo.setDw(b.getID_UNIT());//单位
zzsItemInfo.setSl(b.getID_NUM());//数量
zzsItemInfo.setDj(b.getID_PRICE());//单价
zzsItemInfo.setJe(b.getID_NOTAXAMOUNT());//金额
zzsItemInfo.setSlv(b.getID_TAX());//税率
zzsItemInfo.setSe(b.getID_TAXAMOUNT());//税额
zzsItemInfoList.add(zzsItemInfo);
}
}
}else {
//通行费 发票
List<TxfItemInfo> txfItemInfoList = new LinkedList<TxfItemInfo>();
param.put("txfItemInfos",txfItemInfoList);
if (CollectionUtils.isNotEmpty(zzsInvoiceBList)){
for (LexmiscivInvoicedetailEntity b : zzsInvoiceBList) {
TxfItemInfo txfItemInfo = new TxfItemInfo();
txfItemInfo.setXh(b.getID_ROWID());
txfItemInfo.setSsflbm("");//税收分类编码 取不到
txfItemInfo.setXmmc(b.getID_SERVICENM());
txfItemInfo.setCph("");//车牌号 取不到
txfItemInfo.setLx("");//类型 取不到
txfItemInfo.setTxrqq("");//通行日期起 取不到
txfItemInfo.setTxrqz("");//通信日期止 取不到
txfItemInfo.setJe(b.getID_NOTAXAMOUNT());
txfItemInfo.setSlv(b.getID_TAX());
txfItemInfo.setSe(b.getID_TAXAMOUNT());
txfItemInfoList.add(txfItemInfo);
}
}
}
}

View File

@ -1,5 +1,7 @@
package com.hzya.frame.plugin.cinvoice.dto;
import java.math.BigDecimal;
/**
* @Description 航空运输电子客票行程单明细
* @Author xiangerlin
@ -9,6 +11,7 @@ public class FlightItemInfo {
private String cfz;//出发站
private String ddz;//到达站
private String hbh;//航班号
private String cjrq;//乘机日期
private String cjsj;//乘机时间
private String zwdj;//座位等级
private String cyr;//承运人
@ -21,9 +24,9 @@ public class FlightItemInfo {
private String dw;//单位
private String sl;//数量
private String dj;//单价
private String je;//金额
private String slv;//税率
private String se;//税额
private BigDecimal je;//金额
private BigDecimal slv;//税率
private BigDecimal se;//税额
public String getCfz() {
return cfz;
}
@ -128,27 +131,36 @@ public class FlightItemInfo {
this.dj = dj;
}
public String getJe() {
public BigDecimal getJe() {
return je;
}
public void setJe(String je) {
public void setJe(BigDecimal je) {
this.je = je;
}
public String getSlv() {
public BigDecimal getSlv() {
return slv;
}
public void setSlv(String slv) {
public void setSlv(BigDecimal slv) {
this.slv = slv;
}
public String getSe() {
public BigDecimal getSe() {
return se;
}
public void setSe(String se) {
public void setSe(BigDecimal se) {
this.se = se;
}
public String getCjrq() {
return cjrq;
}
public void setCjrq(String cjrq) {
this.cjrq = cjrq;
}
}

View File

@ -0,0 +1,101 @@
package com.hzya.frame.plugin.cinvoice.dto;
import java.math.BigDecimal;
/**
* @Description 增值税电子普通发票通行费明细表参数
* @Author xiangerlin
* @Date 2025/5/15 17:41
**/
public class TxfItemInfo {
private String xh;//序号
private String ssflbm;//税收分类编码
private String xmmc;//项目名称
private String cph;//车牌号
private String lx;//类型
private String txrqq;//通行日期起 yyyy-MM-dd HH:mm:ss
private String txrqz;//通行日期止 yyyy-MM-dd HH:mm:ss
private BigDecimal je;//金额
private BigDecimal slv;//税率
private BigDecimal se;//税额
public String getXh() {
return xh;
}
public void setXh(String xh) {
this.xh = xh;
}
public String getSsflbm() {
return ssflbm;
}
public void setSsflbm(String ssflbm) {
this.ssflbm = ssflbm;
}
public String getXmmc() {
return xmmc;
}
public void setXmmc(String xmmc) {
this.xmmc = xmmc;
}
public String getCph() {
return cph;
}
public void setCph(String cph) {
this.cph = cph;
}
public String getLx() {
return lx;
}
public void setLx(String lx) {
this.lx = lx;
}
public String getTxrqq() {
return txrqq;
}
public void setTxrqq(String txrqq) {
this.txrqq = txrqq;
}
public String getTxrqz() {
return txrqz;
}
public void setTxrqz(String txrqz) {
this.txrqz = txrqz;
}
public BigDecimal getJe() {
return je;
}
public void setJe(BigDecimal je) {
this.je = je;
}
public BigDecimal getSlv() {
return slv;
}
public void setSlv(BigDecimal slv) {
this.slv = slv;
}
public BigDecimal getSe() {
return se;
}
public void setSe(BigDecimal se) {
this.se = se;
}
}

View File

@ -1,5 +1,7 @@
package com.hzya.frame.plugin.cinvoice.dto;
import java.math.BigDecimal;
/**
* @Description 增值税发票明细表
* @Author xiangerlin
@ -11,11 +13,11 @@ public class ZzsItemInfo {
private String xmmc; // 项目名称
private String ggxh; // 规格型号
private String dw; // 单位
private String sl; // 数量
private String dj; // 单价
private String je; // 金额
private String slv; // 税率
private String se; // 税额
private BigDecimal sl; // 数量
private BigDecimal dj; // 单价
private BigDecimal je; // 金额
private BigDecimal slv; // 税率
private BigDecimal se; // 税额
public String getXh() {
return xh;
@ -57,43 +59,43 @@ public class ZzsItemInfo {
this.dw = dw;
}
public String getSl() {
public BigDecimal getSl() {
return sl;
}
public void setSl(String sl) {
public void setSl(BigDecimal sl) {
this.sl = sl;
}
public String getDj() {
public BigDecimal getDj() {
return dj;
}
public void setDj(String dj) {
public void setDj(BigDecimal dj) {
this.dj = dj;
}
public String getJe() {
public BigDecimal getJe() {
return je;
}
public void setJe(String je) {
public void setJe(BigDecimal je) {
this.je = je;
}
public String getSlv() {
public BigDecimal getSlv() {
return slv;
}
public void setSlv(String slv) {
public void setSlv(BigDecimal slv) {
this.slv = slv;
}
public String getSe() {
public BigDecimal getSe() {
return se;
}
public void setSe(String se) {
public void setSe(BigDecimal se) {
this.se = se;
}
}

View File

@ -19,7 +19,8 @@
FROM
formmain_0327
WHERE
finishedflag = 1
1 = 1
-- and finishedflag = 1
UNION ALL
@ -31,7 +32,27 @@
FROM
formmain_0533
WHERE
finishedflag = 1
1 = 1
-- and finishedflag = 1
UNION ALL
-- 日常费用报销
SELECT
id,
'formmain_0314' as tab_name,
'日常报销单' as bill_type,
field0220 as bill_code
FROM
formmain_0314
UNION ALL
-- 业务招待费
SELECT
id,
'formmain_0294' as tab_name,
'招待报销单' as bill_type,
field0053 as bill_code
FROM
formmain_0294
) f
<trim prefix="where" prefixOverrides="and">
<if test="id != null and id != ''">f.id = #{id}</if>

View File

@ -0,0 +1,13 @@
package com.hzya.frame.plugin.cinvoice.lexmis.dao;
import com.hzya.frame.basedao.dao.IBaseDao;
import com.hzya.frame.plugin.cinvoice.lexmis.entity.LexmiscivBusinvoiceEntity;
/**
* @description: 迈锐思-客运汽车发票表 dao
* @tableName: lexmisciv_businvoice
* @entityName: LexmiscivBusinvoiceEntity
* @author: gjh
* @history: 1.0
*/
public interface ILexmiscivBusinvoiceDao extends IBaseDao<LexmiscivBusinvoiceEntity , String>{
}

View File

@ -0,0 +1,17 @@
package com.hzya.frame.plugin.cinvoice.lexmis.dao.impl;
import com.hzya.frame.plugin.cinvoice.lexmis.entity.LexmiscivBusinvoiceEntity;
import org.springframework.stereotype.Repository;
import com.hzya.frame.basedao.dao.MybatisGenericDao;
import com.hzya.frame.plugin.cinvoice.lexmis.dao.ILexmiscivBusinvoiceDao;
/**
* @description: 迈锐思-客运汽车发票表 dao
* @tableName: lexmisciv_businvoice
* @entityName: LexmiscivBusinvoiceEntity
* @author: gjh
* @history:1.0
*/
@Repository("lexmisciv_businvoicedao")
public class LexmiscivBusinvoiceDaoImpl extends MybatisGenericDao<LexmiscivBusinvoiceEntity, String> implements ILexmiscivBusinvoiceDao{
}

View File

@ -19,6 +19,19 @@
<result property="PI_SUBJECT" column="PI_SUBJECT" />
<result property="PI_FORMID" column="PI_FORMID" />
<result property="PI_FORMDATAID" column="PI_FORMDATAID" />
<result property="PI_INVOICETYPE" column="PI_INVOICETYPE" />
<result property="PI_ISVALID" column="PI_ISVALID" />
<result property="PI_VALIDRESULT" column="PI_VALIDRESULT" />
<result property="PI_VALIDSTATE" column="PI_VALIDSTATE" />
<result property="PI_RESULTNM" column="PI_RESULTNM" />
<result property="PI_SALERTAXNO" column="PI_SALERTAXNO" />
<result property="PI_SALERNAME" column="PI_SALERNAME" />
<result property="PI_BUYERTAXNO" column="PI_BUYERTAXNO" />
<result property="PI_BUYERNAME" column="PI_BUYERNAME" />
<result property="PI_TAXRATE" column="PI_TAXRATE" />
<result property="PI_TAXAMOUNT" column="PI_TAXAMOUNT" />
<result property="PI_NOTAXAMOUNT" column="PI_NOTAXAMOUNT" />
</resultMap>
@ -36,7 +49,19 @@
PI_SUMMARYID,
PI_SUBJECT,
PI_FORMID,
PI_FORMDATAID
PI_FORMDATAID,
PI_INVOICETYPE,
PI_ISVALID,
PI_VALIDRESULT,
PI_VALIDSTATE,
PI_RESULTNM,
PI_SALERTAXNO,
PI_SALERNAME,
PI_BUYERTAXNO,
PI_BUYERNAME,
PI_TAXRATE,
PI_TAXAMOUNT,
PI_NOTAXAMOUNT
</sql>
<!--通过ID获取数据 -->
@ -67,7 +92,7 @@
<if test="PI_SUBJECT != null "> and PI_SUBJECT = #{PI_SUBJECT}</if>
<if test="PI_FORMID != null "> and PI_FORMID = #{PI_FORMID}</if>
<if test="PI_FORMDATAID != null "> and PI_FORMDATAID = #{PI_FORMDATAID}</if>
and pi_billkind in ('0','2','3')
and pi_billkind in ('0','2','3','5')
</trim>
</select>

View File

@ -0,0 +1,422 @@
package com.hzya.frame.plugin.cinvoice.lexmis.entity;
import java.util.Date;
import org.springframework.format.annotation.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import com.hzya.frame.web.entity.BaseEntity;
/**
* @description: 迈锐思-客运汽车发票表
* @tableName: lexmisciv_businvoice
* @entityName: LexmiscivBusinvoiceEntity
* @author: gjh
* @history: 1.0
*/
public class LexmiscivBusinvoiceEntity extends BaseEntity {
public LexmiscivBusinvoiceEntity() {
}
public LexmiscivBusinvoiceEntity(String BI_ID,String dataSourceCode) {
this.BI_ID = BI_ID;
this.setDataSourceCode(dataSourceCode);
}
/**
* 无备注
*/
private String BI_ID;
/**
* 无备注
*/
private String BI_FPDM;
/**
* 无备注
*/
private String BI_FPHM;
/**
* 无备注
*/
private String BI_NO;
/**
* 无备注
*/
private String BI_SEAT;
/**
* 无备注
*/
private String BI_FSTATION;
/**
* 无备注
*/
private String BI_TSTATION;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date BI_DATE;
/**
* 无备注
*/
private String BI_TIME;
/**
* 无备注
*/
private BigDecimal BI_TOTALAMOUNT;
/**
* 无备注
*/
private String BI_USERNAME;
/**
* 无备注
*/
private String BI_USERID;
/**
* 无备注
*/
private String BI_TAXRATE;
/**
* 无备注
*/
private BigDecimal BI_TAXAMOUNT;
/**
* 无备注
*/
private BigDecimal BI_NOTAXAMOUNT;
/**
* 无备注
*/
private String BI_AREACODE;
/**
* 无备注
*/
private String BI_AREANAME;
/**
* 无备注
*/
private String BI_KEY;
/**
* 无备注
*/
private Integer BI_COUNT;
/**
* 无备注
*/
private String BI_DATETIME;
/**
* 无备注
*/
private String BI_EDATETIME;
public String getBI_ID() {
return BI_ID;
}
public void setBI_ID(String BI_ID) {
this.BI_ID = BI_ID;
}
/**
* 无备注
*/
public void setBI_FPDM(String BI_FPDM) {
this.BI_FPDM = BI_FPDM;
}
/**
* 无备注
*/
public String getBI_FPDM() {
return BI_FPDM;
}
/**
* 无备注
*/
public void setBI_FPHM(String BI_FPHM) {
this.BI_FPHM = BI_FPHM;
}
/**
* 无备注
*/
public String getBI_FPHM() {
return BI_FPHM;
}
/**
* 无备注
*/
public void setBI_NO(String BI_NO) {
this.BI_NO = BI_NO;
}
/**
* 无备注
*/
public String getBI_NO() {
return BI_NO;
}
/**
* 无备注
*/
public void setBI_SEAT(String BI_SEAT) {
this.BI_SEAT = BI_SEAT;
}
/**
* 无备注
*/
public String getBI_SEAT() {
return BI_SEAT;
}
/**
* 无备注
*/
public void setBI_FSTATION(String BI_FSTATION) {
this.BI_FSTATION = BI_FSTATION;
}
/**
* 无备注
*/
public String getBI_FSTATION() {
return BI_FSTATION;
}
/**
* 无备注
*/
public void setBI_TSTATION(String BI_TSTATION) {
this.BI_TSTATION = BI_TSTATION;
}
/**
* 无备注
*/
public String getBI_TSTATION() {
return BI_TSTATION;
}
/**
* 无备注
*/
public void setBI_DATE(Date BI_DATE) {
this.BI_DATE = BI_DATE;
}
/**
* 无备注
*/
public Date getBI_DATE() {
return BI_DATE;
}
/**
* 无备注
*/
public void setBI_TIME(String BI_TIME) {
this.BI_TIME = BI_TIME;
}
/**
* 无备注
*/
public String getBI_TIME() {
return BI_TIME;
}
/**
* 无备注
*/
public void setBI_TOTALAMOUNT(BigDecimal BI_TOTALAMOUNT) {
this.BI_TOTALAMOUNT = BI_TOTALAMOUNT;
}
/**
* 无备注
*/
public BigDecimal getBI_TOTALAMOUNT() {
return BI_TOTALAMOUNT;
}
/**
* 无备注
*/
public void setBI_USERNAME(String BI_USERNAME) {
this.BI_USERNAME = BI_USERNAME;
}
/**
* 无备注
*/
public String getBI_USERNAME() {
return BI_USERNAME;
}
/**
* 无备注
*/
public void setBI_USERID(String BI_USERID) {
this.BI_USERID = BI_USERID;
}
/**
* 无备注
*/
public String getBI_USERID() {
return BI_USERID;
}
/**
* 无备注
*/
public void setBI_TAXRATE(String BI_TAXRATE) {
this.BI_TAXRATE = BI_TAXRATE;
}
/**
* 无备注
*/
public String getBI_TAXRATE() {
return BI_TAXRATE;
}
/**
* 无备注
*/
public void setBI_TAXAMOUNT(BigDecimal BI_TAXAMOUNT) {
this.BI_TAXAMOUNT = BI_TAXAMOUNT;
}
/**
* 无备注
*/
public BigDecimal getBI_TAXAMOUNT() {
return BI_TAXAMOUNT;
}
/**
* 无备注
*/
public void setBI_NOTAXAMOUNT(BigDecimal BI_NOTAXAMOUNT) {
this.BI_NOTAXAMOUNT = BI_NOTAXAMOUNT;
}
/**
* 无备注
*/
public BigDecimal getBI_NOTAXAMOUNT() {
return BI_NOTAXAMOUNT;
}
/**
* 无备注
*/
public void setBI_AREACODE(String BI_AREACODE) {
this.BI_AREACODE = BI_AREACODE;
}
/**
* 无备注
*/
public String getBI_AREACODE() {
return BI_AREACODE;
}
/**
* 无备注
*/
public void setBI_AREANAME(String BI_AREANAME) {
this.BI_AREANAME = BI_AREANAME;
}
/**
* 无备注
*/
public String getBI_AREANAME() {
return BI_AREANAME;
}
/**
* 无备注
*/
public void setBI_KEY(String BI_KEY) {
this.BI_KEY = BI_KEY;
}
/**
* 无备注
*/
public String getBI_KEY() {
return BI_KEY;
}
/**
* 无备注
*/
public void setBI_COUNT(Integer BI_COUNT) {
this.BI_COUNT = BI_COUNT;
}
/**
* 无备注
*/
public Integer getBI_COUNT() {
return BI_COUNT;
}
/**
* 无备注
*/
public void setBI_DATETIME(String BI_DATETIME) {
this.BI_DATETIME = BI_DATETIME;
}
/**
* 无备注
*/
public String getBI_DATETIME() {
return BI_DATETIME;
}
/**
* 无备注
*/
public void setBI_EDATETIME(String BI_EDATETIME) {
this.BI_EDATETIME = BI_EDATETIME;
}
/**
* 无备注
*/
public String getBI_EDATETIME() {
return BI_EDATETIME;
}
}

View File

@ -0,0 +1,112 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hzya.frame.plugin.cinvoice.lexmis.dao.impl.LexmiscivBusinvoiceDaoImpl">
<resultMap id="get-LexmiscivBusinvoiceEntity-result" type="com.hzya.frame.plugin.cinvoice.lexmis.entity.LexmiscivBusinvoiceEntity">
<!--无备注 -->
<result property="BI_ID" column="BI_ID" />
<!--无备注 -->
<result property="BI_FPDM" column="BI_FPDM" />
<!--无备注 -->
<result property="BI_FPHM" column="BI_FPHM" />
<!--无备注 -->
<result property="BI_NO" column="BI_NO" />
<!--无备注 -->
<result property="BI_SEAT" column="BI_SEAT" />
<!--无备注 -->
<result property="BI_FSTATION" column="BI_FSTATION" />
<!--无备注 -->
<result property="BI_TSTATION" column="BI_TSTATION" />
<!--无备注 -->
<result property="BI_DATE" column="BI_DATE" />
<!--无备注 -->
<result property="BI_TIME" column="BI_TIME" />
<!--无备注 -->
<result property="BI_TOTALAMOUNT" column="BI_TOTALAMOUNT" />
<!--无备注 -->
<result property="BI_USERNAME" column="BI_USERNAME" />
<!--无备注 -->
<result property="BI_USERID" column="BI_USERID" />
<!--无备注 -->
<result property="BI_TAXRATE" column="BI_TAXRATE" />
<!--无备注 -->
<result property="BI_TAXAMOUNT" column="BI_TAXAMOUNT" />
<!--无备注 -->
<result property="BI_NOTAXAMOUNT" column="BI_NOTAXAMOUNT" />
<!--无备注 -->
<result property="BI_AREACODE" column="BI_AREACODE" />
<!--无备注 -->
<result property="BI_AREANAME" column="BI_AREANAME" />
<!--无备注 -->
<result property="BI_KEY" column="BI_KEY" />
<!--无备注 -->
<result property="BI_COUNT" column="BI_COUNT" />
<!--无备注 -->
<result property="BI_DATETIME" column="BI_DATETIME" />
<!--无备注 -->
<result property="BI_EDATETIME" column="BI_EDATETIME" />
</resultMap>
<sql id="LexmiscivBusinvoiceEntity_Base_Column_List">
BI_ID,
BI_FPDM,
BI_FPHM,
BI_NO,
BI_SEAT,
BI_FSTATION,
BI_TSTATION,
BI_DATE,
BI_TIME,
BI_TOTALAMOUNT,
BI_USERNAME,
BI_USERID,
BI_TAXRATE,
BI_TAXAMOUNT,
BI_NOTAXAMOUNT,
BI_AREACODE,
BI_AREANAME,
BI_KEY,
BI_COUNT,
BI_DATETIME,
BI_EDATETIME
</sql>
<!--通过ID获取数据 -->
<select id="entity_get" resultMap="get-LexmiscivBusinvoiceEntity-result">
select
<include refid="LexmiscivBusinvoiceEntity_Base_Column_List" />
from lexmisciv_businvoice where BI_ID = #{BI_ID}
</select>
<!-- 查询 采用==查询 -->
<select id="entity_list_base" resultMap="get-LexmiscivBusinvoiceEntity-result" parameterType="com.hzya.frame.plugin.cinvoice.lexmis.entity.LexmiscivBusinvoiceEntity">
select
<include refid="LexmiscivBusinvoiceEntity_Base_Column_List" />
from lexmisciv_businvoice
<trim prefix="where" prefixOverrides="and">
<if test="BI_ID != null ">BI_ID=#{BI_ID}</if>
<if test="BI_FPDM != null and BI_FPDM !='' "> and BI_FPDM = #{BI_FPDM}</if>
<if test="BI_FPHM != null and BI_FPHM !='' "> and BI_FPHM = #{BI_FPHM}</if>
<if test="BI_NO != null and BI_NO !='' "> and BI_NO = #{BI_NO}</if>
<if test="BI_SEAT != null and BI_SEAT !='' "> and BI_SEAT = #{BI_SEAT}</if>
<if test="BI_FSTATION != null and BI_FSTATION !='' "> and BI_FSTATION = #{BI_FSTATION}</if>
<if test="BI_TSTATION != null and BI_TSTATION !='' "> and BI_TSTATION = #{BI_TSTATION}</if>
<if test="BI_DATE != null "> and BI_DATE = #{BI_DATE}</if>
<if test="BI_TIME != null and BI_TIME !='' "> and BI_TIME = #{BI_TIME}</if>
<if test="BI_TOTALAMOUNT != null "> and BI_TOTALAMOUNT = #{BI_TOTALAMOUNT}</if>
<if test="BI_USERNAME != null and BI_USERNAME !='' "> and BI_USERNAME = #{BI_USERNAME}</if>
<if test="BI_USERID != null and BI_USERID !='' "> and BI_USERID = #{BI_USERID}</if>
<if test="BI_TAXRATE != null and BI_TAXRATE !='' "> and BI_TAXRATE = #{BI_TAXRATE}</if>
<if test="BI_TAXAMOUNT != null "> and BI_TAXAMOUNT = #{BI_TAXAMOUNT}</if>
<if test="BI_NOTAXAMOUNT != null "> and BI_NOTAXAMOUNT = #{BI_NOTAXAMOUNT}</if>
<if test="BI_AREACODE != null and BI_AREACODE !='' "> and BI_AREACODE = #{BI_AREACODE}</if>
<if test="BI_AREANAME != null and BI_AREANAME !='' "> and BI_AREANAME = #{BI_AREANAME}</if>
<if test="BI_KEY != null and BI_KEY !='' "> and BI_KEY = #{BI_KEY}</if>
<if test="BI_COUNT != null "> and BI_COUNT = #{BI_COUNT}</if>
<if test="BI_DATETIME != null and BI_DATETIME !='' "> and BI_DATETIME = #{BI_DATETIME}</if>
<if test="BI_EDATETIME != null and BI_EDATETIME !='' "> and BI_EDATETIME = #{BI_EDATETIME}</if>
</trim>
</select>
</mapper>

View File

@ -1,170 +1,225 @@
package com.hzya.frame.plugin.cinvoice.lexmis.entity;
import java.util.Date;
import org.springframework.format.annotation.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import com.hzya.frame.web.entity.BaseEntity;
/**
* @description: 迈锐思-增值税发票子表
* @tableName: LEXMISCIV_INVOICEDETAIL
* @entityName: LexmiscivInvoicedetailEntity
* @author: gjh
* @history: 1.0
* @tableName: LEXMISCIV_INVOICEDETAIL
* @entityName: LexmiscivInvoicedetailEntity
* @author: gjh
* @history: 1.0
*/
public class LexmiscivInvoicedetailEntity extends BaseEntity {
public LexmiscivInvoicedetailEntity() {
public class LexmiscivInvoicedetailEntity extends BaseEntity {
public LexmiscivInvoicedetailEntity() {
}
}
public LexmiscivInvoicedetailEntity(String ID_MAINID,String dataSourceCode) {
this.ID_MAINID = ID_MAINID;
this.setDataSourceCode(dataSourceCode);
}
public LexmiscivInvoicedetailEntity(String ID_MAINID, String dataSourceCode) {
this.ID_MAINID = ID_MAINID;
this.setDataSourceCode(dataSourceCode);
}
/** 无备注 */
private String ID_ID;
/** 无备注 */
private String ID_MAINID;
/** 无备注 */
private String ID_ROWID;
/** 无备注 */
private String ID_ACCOUNTNAME;
/** 无备注 */
private String ID_SERVICENM;
/** 无备注 */
private String ID_SERVICETYPE;
/** 无备注 */
private String ID_PRICE;
/** 无备注 */
private String ID_UNIT;
/** 无备注 */
private String ID_NUM;
/** 无备注 */
private String ID_NOTAXAMOUNT;
/** 无备注 */
private String ID_TAX;
/** 无备注 */
private String ID_TAXAMOUNT;
/**
* 无备注
*/
private String ID_ID;
/**
* 无备注
*/
private String ID_MAINID;
/**
* 无备注
*/
private String ID_ROWID;
/**
* 无备注
*/
private String ID_ACCOUNTNAME;
/**
* 无备注
*/
private String ID_SERVICENM;
/**
* 无备注
*/
private String ID_SERVICETYPE;
/**
* 无备注
*/
private BigDecimal ID_PRICE;
/**
* 无备注
*/
private String ID_UNIT;
/**
* 无备注
*/
private BigDecimal ID_NUM;
/**
* 无备注
*/
private BigDecimal ID_NOTAXAMOUNT;
/**
* 无备注
*/
private BigDecimal ID_TAX;
/**
* 无备注
*/
private BigDecimal ID_TAXAMOUNT;
/** 无备注 */
public void setID_ID(String ID_ID) {
this.ID_ID = ID_ID;
}
/** 无备注 */
public String getID_ID() {
return ID_ID;
}
/**
* 无备注
*/
public void setID_ID(String ID_ID) {
this.ID_ID = ID_ID;
}
/**
* 无备注
*/
public String getID_ID() {
return ID_ID;
}
/** 无备注 */
public void setID_MAINID(String ID_MAINID) {
this.ID_MAINID = ID_MAINID;
}
/** 无备注 */
public String getID_MAINID() {
return ID_MAINID;
}
/**
* 无备注
*/
public void setID_MAINID(String ID_MAINID) {
this.ID_MAINID = ID_MAINID;
}
/**
* 无备注
*/
public String getID_MAINID() {
return ID_MAINID;
}
/** 无备注 */
public void setID_ROWID(String ID_ROWID) {
this.ID_ROWID = ID_ROWID;
}
/** 无备注 */
public String getID_ROWID() {
return ID_ROWID;
}
/**
* 无备注
*/
public void setID_ROWID(String ID_ROWID) {
this.ID_ROWID = ID_ROWID;
}
/**
* 无备注
*/
public String getID_ROWID() {
return ID_ROWID;
}
/** 无备注 */
public void setID_ACCOUNTNAME(String ID_ACCOUNTNAME) {
this.ID_ACCOUNTNAME = ID_ACCOUNTNAME;
}
/** 无备注 */
public String getID_ACCOUNTNAME() {
return ID_ACCOUNTNAME;
}
/**
* 无备注
*/
public void setID_ACCOUNTNAME(String ID_ACCOUNTNAME) {
this.ID_ACCOUNTNAME = ID_ACCOUNTNAME;
}
/**
* 无备注
*/
public String getID_ACCOUNTNAME() {
return ID_ACCOUNTNAME;
}
/** 无备注 */
public void setID_SERVICENM(String ID_SERVICENM) {
this.ID_SERVICENM = ID_SERVICENM;
}
/** 无备注 */
public String getID_SERVICENM() {
return ID_SERVICENM;
}
/**
* 无备注
*/
public void setID_SERVICENM(String ID_SERVICENM) {
this.ID_SERVICENM = ID_SERVICENM;
}
/**
* 无备注
*/
public String getID_SERVICENM() {
return ID_SERVICENM;
}
/** 无备注 */
public void setID_SERVICETYPE(String ID_SERVICETYPE) {
this.ID_SERVICETYPE = ID_SERVICETYPE;
}
/** 无备注 */
public String getID_SERVICETYPE() {
return ID_SERVICETYPE;
}
/**
* 无备注
*/
public void setID_SERVICETYPE(String ID_SERVICETYPE) {
this.ID_SERVICETYPE = ID_SERVICETYPE;
}
/**
* 无备注
*/
public String getID_SERVICETYPE() {
return ID_SERVICETYPE;
}
/** 无备注 */
public void setID_PRICE(String ID_PRICE) {
this.ID_PRICE = ID_PRICE;
}
/** 无备注 */
public String getID_PRICE() {
return ID_PRICE;
}
/** 无备注 */
public void setID_UNIT(String ID_UNIT) {
this.ID_UNIT = ID_UNIT;
}
/** 无备注 */
public String getID_UNIT() {
return ID_UNIT;
}
/**
* 无备注
*/
public void setID_UNIT(String ID_UNIT) {
this.ID_UNIT = ID_UNIT;
}
/**
* 无备注
*/
public String getID_UNIT() {
return ID_UNIT;
}
/** 无备注 */
public void setID_NUM(String ID_NUM) {
this.ID_NUM = ID_NUM;
}
/** 无备注 */
public String getID_NUM() {
return ID_NUM;
}
public BigDecimal getID_NUM() {
return ID_NUM;
}
public void setID_NUM(BigDecimal ID_NUM) {
this.ID_NUM = ID_NUM;
}
/** 无备注 */
public void setID_NOTAXAMOUNT(String ID_NOTAXAMOUNT) {
this.ID_NOTAXAMOUNT = ID_NOTAXAMOUNT;
}
/** 无备注 */
public String getID_NOTAXAMOUNT() {
return ID_NOTAXAMOUNT;
}
public BigDecimal getID_PRICE() {
return ID_PRICE;
}
public void setID_PRICE(BigDecimal ID_PRICE) {
this.ID_PRICE = ID_PRICE;
}
/** 无备注 */
public void setID_TAX(String ID_TAX) {
this.ID_TAX = ID_TAX;
}
/** 无备注 */
public String getID_TAX() {
return ID_TAX;
}
public BigDecimal getID_NOTAXAMOUNT() {
return ID_NOTAXAMOUNT;
}
public void setID_NOTAXAMOUNT(BigDecimal ID_NOTAXAMOUNT) {
this.ID_NOTAXAMOUNT = ID_NOTAXAMOUNT;
}
/** 无备注 */
public void setID_TAXAMOUNT(String ID_TAXAMOUNT) {
this.ID_TAXAMOUNT = ID_TAXAMOUNT;
}
/** 无备注 */
public String getID_TAXAMOUNT() {
return ID_TAXAMOUNT;
}
public BigDecimal getID_TAX() {
return ID_TAX;
}
public void setID_TAX(BigDecimal ID_TAX) {
this.ID_TAX = ID_TAX;
}
}
public BigDecimal getID_TAXAMOUNT() {
return ID_TAXAMOUNT;
}
public void setID_TAXAMOUNT(BigDecimal ID_TAXAMOUNT) {
this.ID_TAXAMOUNT = ID_TAXAMOUNT;
}
}

View File

@ -35,12 +35,12 @@
ID_ACCOUNTNAME,
ID_SERVICENM,
ID_SERVICETYPE,
ID_PRICE,
NULLIF(ID_PRICE, '') as ID_PRICE,
ID_UNIT,
ID_NUM,
ID_NOTAXAMOUNT,
ID_TAX,
ID_TAXAMOUNT
NULLIF(ID_NUM,'')ID_NUM,
NULLIF(ID_NOTAXAMOUNT,'')ID_NOTAXAMOUNT,
NULLIF(ID_TAX,'')ID_TAX,
NULLIF(ID_TAXAMOUNT,'')ID_TAXAMOUNT
</sql>
<!--通过ID获取数据 -->

View File

@ -1,388 +1,592 @@
package com.hzya.frame.plugin.cinvoice.lexmis.entity;
import java.util.Date;
import org.springframework.format.annotation.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import com.hzya.frame.web.entity.BaseEntity;
/**
* @description: 迈锐思-火车票
* @tableName: LEXMISCIV_TRAINTICKET
* @entityName: LexmiscivTrainticketEntity
* @author: gjh
* @history: 1.0
* @tableName: LEXMISCIV_TRAINTICKET
* @entityName: LexmiscivTrainticketEntity
* @author: gjh
* @history: 1.0
*/
public class LexmiscivTrainticketEntity extends BaseEntity {
public LexmiscivTrainticketEntity() {
public class LexmiscivTrainticketEntity extends BaseEntity {
public LexmiscivTrainticketEntity() {
}
}
public LexmiscivTrainticketEntity(String TT_ID,String dataSourceCode) {
this.TT_ID = TT_ID;
this.setDataSourceCode(dataSourceCode);
}
public LexmiscivTrainticketEntity(String TT_ID, String dataSourceCode) {
this.TT_ID = TT_ID;
this.setDataSourceCode(dataSourceCode);
}
/** 无备注 */
private String TT_ID;
/** 无备注 */
private String TT_CODE;
/** 无备注 */
private String TT_NO;
/** 无备注 */
private String TT_FSTATION;
/** 无备注 */
private String TT_TSTATION;
/** 无备注 */
private BigDecimal TT_AMOUNT;
/** 无备注 */
private String TT_TAXRATE;
/** 无备注 */
private BigDecimal TT_TAXRATEAMOUNT;
/** 无备注 */
private BigDecimal TT_NOTAXAMOUNT;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date TT_DATE;
/** 无备注 */
private String TT_TIME;
/** 无备注 */
private String TT_SERIALNO;
/** 无备注 */
private String TT_IDNO;
/** 无备注 */
private String TT_CUSTOMER;
/** 无备注 */
private String TT_SALESTATION;
/** 无备注 */
private String TT_SALETYPE;
/** 无备注 */
private String TT_CARRIAGE;
/** 无备注 */
private String TT_SEAT;
/** 无备注 */
private String TT_CLASS;
/** 无备注 */
private String TT_TICKETCHECKING;
/** 无备注 */
private String TT_KEY;
/** 无备注 */
private Integer TT_COUNT;
/** 无备注 */
private String TT_DATETIME;
/** 无备注 */
private String TT_EDATETIME;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date TT_OUTDATE;
/** 无备注 */
private Integer TT_ELECTRONIC;
/** 无备注 */
private Integer TT_BUSINESSTYPE;
/** 无备注 */
private String TT_BUYERNAME;
/** 无备注 */
private String TT_BUYERTAXNO;
/** 无备注 */
private String TT_ORIGINALINVOICE;
/**
* 无备注
*/
private String TT_ID;
/**
* 无备注
*/
private String TT_CODE;
/**
* 无备注
*/
private String TT_NO;
/**
* 无备注
*/
private String TT_FSTATION;
/**
* 无备注
*/
private String TT_TSTATION;
/**
* 无备注
*/
private BigDecimal TT_AMOUNT;
/**
* 无备注
*/
private String TT_TAXRATE;
/**
* 无备注
*/
private BigDecimal TT_TAXRATEAMOUNT;
/**
* 无备注
*/
private BigDecimal TT_NOTAXAMOUNT;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date TT_DATE;
/**
* 无备注
*/
private String TT_TIME;
/**
* 无备注
*/
private String TT_SERIALNO;
/**
* 无备注
*/
private String TT_IDNO;
/**
* 无备注
*/
private String TT_CUSTOMER;
/**
* 无备注
*/
private String TT_SALESTATION;
/**
* 无备注
*/
private String TT_SALETYPE;
/**
* 无备注
*/
private String TT_CARRIAGE;
/**
* 无备注
*/
private String TT_SEAT;
/**
* 无备注
*/
private String TT_CLASS;
/**
* 无备注
*/
private String TT_TICKETCHECKING;
/**
* 无备注
*/
private String TT_KEY;
/**
* 无备注
*/
private Integer TT_COUNT;
/**
* 无备注
*/
private String TT_DATETIME;
/**
* 无备注
*/
private String TT_EDATETIME;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date TT_OUTDATE;
/**
* 无备注
*/
private String TT_ELECTRONIC;
/**
* 无备注
*/
private Integer TT_BUSINESSTYPE;
/**
* 无备注
*/
private String TT_BUYERNAME;
/**
* 无备注
*/
private String TT_BUYERTAXNO;
/**
* 无备注
*/
private String TT_ORIGINALINVOICE;
/** 无备注 */
public void setTT_ID(String TT_ID) {
this.TT_ID = TT_ID;
}
/** 无备注 */
public String getTT_ID() {
return TT_ID;
}
/**
* 无备注
*/
public void setTT_ID(String TT_ID) {
this.TT_ID = TT_ID;
}
/**
* 无备注
*/
public String getTT_ID() {
return TT_ID;
}
/** 无备注 */
public void setTT_CODE(String TT_CODE) {
this.TT_CODE = TT_CODE;
}
/** 无备注 */
public String getTT_CODE() {
return TT_CODE;
}
/**
* 无备注
*/
public void setTT_CODE(String TT_CODE) {
this.TT_CODE = TT_CODE;
}
/**
* 无备注
*/
public String getTT_CODE() {
return TT_CODE;
}
/** 无备注 */
public void setTT_NO(String TT_NO) {
this.TT_NO = TT_NO;
}
/** 无备注 */
public String getTT_NO() {
return TT_NO;
}
/**
* 无备注
*/
public void setTT_NO(String TT_NO) {
this.TT_NO = TT_NO;
}
/**
* 无备注
*/
public String getTT_NO() {
return TT_NO;
}
/** 无备注 */
public void setTT_FSTATION(String TT_FSTATION) {
this.TT_FSTATION = TT_FSTATION;
}
/** 无备注 */
public String getTT_FSTATION() {
return TT_FSTATION;
}
/**
* 无备注
*/
public void setTT_FSTATION(String TT_FSTATION) {
this.TT_FSTATION = TT_FSTATION;
}
/**
* 无备注
*/
public String getTT_FSTATION() {
return TT_FSTATION;
}
/** 无备注 */
public void setTT_TSTATION(String TT_TSTATION) {
this.TT_TSTATION = TT_TSTATION;
}
/** 无备注 */
public String getTT_TSTATION() {
return TT_TSTATION;
}
/**
* 无备注
*/
public void setTT_TSTATION(String TT_TSTATION) {
this.TT_TSTATION = TT_TSTATION;
}
/**
* 无备注
*/
public String getTT_TSTATION() {
return TT_TSTATION;
}
/** 无备注 */
public void setTT_AMOUNT(BigDecimal TT_AMOUNT) {
this.TT_AMOUNT = TT_AMOUNT;
}
/** 无备注 */
public BigDecimal getTT_AMOUNT() {
return TT_AMOUNT;
}
/**
* 无备注
*/
public void setTT_AMOUNT(BigDecimal TT_AMOUNT) {
this.TT_AMOUNT = TT_AMOUNT;
}
/**
* 无备注
*/
public BigDecimal getTT_AMOUNT() {
return TT_AMOUNT;
}
/** 无备注 */
public void setTT_TAXRATE(String TT_TAXRATE) {
this.TT_TAXRATE = TT_TAXRATE;
}
/** 无备注 */
public String getTT_TAXRATE() {
return TT_TAXRATE;
}
/**
* 无备注
*/
public void setTT_TAXRATE(String TT_TAXRATE) {
this.TT_TAXRATE = TT_TAXRATE;
}
/**
* 无备注
*/
public String getTT_TAXRATE() {
return TT_TAXRATE;
}
/** 无备注 */
public void setTT_TAXRATEAMOUNT(BigDecimal TT_TAXRATEAMOUNT) {
this.TT_TAXRATEAMOUNT = TT_TAXRATEAMOUNT;
}
/** 无备注 */
public BigDecimal getTT_TAXRATEAMOUNT() {
return TT_TAXRATEAMOUNT;
}
/**
* 无备注
*/
public void setTT_TAXRATEAMOUNT(BigDecimal TT_TAXRATEAMOUNT) {
this.TT_TAXRATEAMOUNT = TT_TAXRATEAMOUNT;
}
/**
* 无备注
*/
public BigDecimal getTT_TAXRATEAMOUNT() {
return TT_TAXRATEAMOUNT;
}
/** 无备注 */
public void setTT_NOTAXAMOUNT(BigDecimal TT_NOTAXAMOUNT) {
this.TT_NOTAXAMOUNT = TT_NOTAXAMOUNT;
}
/** 无备注 */
public BigDecimal getTT_NOTAXAMOUNT() {
return TT_NOTAXAMOUNT;
}
/**
* 无备注
*/
public void setTT_NOTAXAMOUNT(BigDecimal TT_NOTAXAMOUNT) {
this.TT_NOTAXAMOUNT = TT_NOTAXAMOUNT;
}
/**
* 无备注
*/
public BigDecimal getTT_NOTAXAMOUNT() {
return TT_NOTAXAMOUNT;
}
/** 无备注 */
public void setTT_DATE(Date TT_DATE) {
this.TT_DATE = TT_DATE;
}
/** 无备注 */
public Date getTT_DATE() {
return TT_DATE;
}
/**
* 无备注
*/
public void setTT_DATE(Date TT_DATE) {
this.TT_DATE = TT_DATE;
}
/**
* 无备注
*/
public Date getTT_DATE() {
return TT_DATE;
}
/** 无备注 */
public void setTT_TIME(String TT_TIME) {
this.TT_TIME = TT_TIME;
}
/** 无备注 */
public String getTT_TIME() {
return TT_TIME;
}
/**
* 无备注
*/
public void setTT_TIME(String TT_TIME) {
this.TT_TIME = TT_TIME;
}
/**
* 无备注
*/
public String getTT_TIME() {
return TT_TIME;
}
/** 无备注 */
public void setTT_SERIALNO(String TT_SERIALNO) {
this.TT_SERIALNO = TT_SERIALNO;
}
/** 无备注 */
public String getTT_SERIALNO() {
return TT_SERIALNO;
}
/**
* 无备注
*/
public void setTT_SERIALNO(String TT_SERIALNO) {
this.TT_SERIALNO = TT_SERIALNO;
}
/**
* 无备注
*/
public String getTT_SERIALNO() {
return TT_SERIALNO;
}
/** 无备注 */
public void setTT_IDNO(String TT_IDNO) {
this.TT_IDNO = TT_IDNO;
}
/** 无备注 */
public String getTT_IDNO() {
return TT_IDNO;
}
/**
* 无备注
*/
public void setTT_IDNO(String TT_IDNO) {
this.TT_IDNO = TT_IDNO;
}
/**
* 无备注
*/
public String getTT_IDNO() {
return TT_IDNO;
}
/** 无备注 */
public void setTT_CUSTOMER(String TT_CUSTOMER) {
this.TT_CUSTOMER = TT_CUSTOMER;
}
/** 无备注 */
public String getTT_CUSTOMER() {
return TT_CUSTOMER;
}
/**
* 无备注
*/
public void setTT_CUSTOMER(String TT_CUSTOMER) {
this.TT_CUSTOMER = TT_CUSTOMER;
}
/**
* 无备注
*/
public String getTT_CUSTOMER() {
return TT_CUSTOMER;
}
/** 无备注 */
public void setTT_SALESTATION(String TT_SALESTATION) {
this.TT_SALESTATION = TT_SALESTATION;
}
/** 无备注 */
public String getTT_SALESTATION() {
return TT_SALESTATION;
}
/**
* 无备注
*/
public void setTT_SALESTATION(String TT_SALESTATION) {
this.TT_SALESTATION = TT_SALESTATION;
}
/**
* 无备注
*/
public String getTT_SALESTATION() {
return TT_SALESTATION;
}
/** 无备注 */
public void setTT_SALETYPE(String TT_SALETYPE) {
this.TT_SALETYPE = TT_SALETYPE;
}
/** 无备注 */
public String getTT_SALETYPE() {
return TT_SALETYPE;
}
/**
* 无备注
*/
public void setTT_SALETYPE(String TT_SALETYPE) {
this.TT_SALETYPE = TT_SALETYPE;
}
/**
* 无备注
*/
public String getTT_SALETYPE() {
return TT_SALETYPE;
}
/** 无备注 */
public void setTT_CARRIAGE(String TT_CARRIAGE) {
this.TT_CARRIAGE = TT_CARRIAGE;
}
/** 无备注 */
public String getTT_CARRIAGE() {
return TT_CARRIAGE;
}
/**
* 无备注
*/
public void setTT_CARRIAGE(String TT_CARRIAGE) {
this.TT_CARRIAGE = TT_CARRIAGE;
}
/**
* 无备注
*/
public String getTT_CARRIAGE() {
return TT_CARRIAGE;
}
/** 无备注 */
public void setTT_SEAT(String TT_SEAT) {
this.TT_SEAT = TT_SEAT;
}
/** 无备注 */
public String getTT_SEAT() {
return TT_SEAT;
}
/**
* 无备注
*/
public void setTT_SEAT(String TT_SEAT) {
this.TT_SEAT = TT_SEAT;
}
/**
* 无备注
*/
public String getTT_SEAT() {
return TT_SEAT;
}
/** 无备注 */
public void setTT_CLASS(String TT_CLASS) {
this.TT_CLASS = TT_CLASS;
}
/** 无备注 */
public String getTT_CLASS() {
return TT_CLASS;
}
/**
* 无备注
*/
public void setTT_CLASS(String TT_CLASS) {
this.TT_CLASS = TT_CLASS;
}
/**
* 无备注
*/
public String getTT_CLASS() {
return TT_CLASS;
}
/** 无备注 */
public void setTT_TICKETCHECKING(String TT_TICKETCHECKING) {
this.TT_TICKETCHECKING = TT_TICKETCHECKING;
}
/** 无备注 */
public String getTT_TICKETCHECKING() {
return TT_TICKETCHECKING;
}
/**
* 无备注
*/
public void setTT_TICKETCHECKING(String TT_TICKETCHECKING) {
this.TT_TICKETCHECKING = TT_TICKETCHECKING;
}
/**
* 无备注
*/
public String getTT_TICKETCHECKING() {
return TT_TICKETCHECKING;
}
/** 无备注 */
public void setTT_KEY(String TT_KEY) {
this.TT_KEY = TT_KEY;
}
/** 无备注 */
public String getTT_KEY() {
return TT_KEY;
}
/**
* 无备注
*/
public void setTT_KEY(String TT_KEY) {
this.TT_KEY = TT_KEY;
}
/**
* 无备注
*/
public String getTT_KEY() {
return TT_KEY;
}
/** 无备注 */
public void setTT_COUNT(Integer TT_COUNT) {
this.TT_COUNT = TT_COUNT;
}
/** 无备注 */
public Integer getTT_COUNT() {
return TT_COUNT;
}
/**
* 无备注
*/
public void setTT_COUNT(Integer TT_COUNT) {
this.TT_COUNT = TT_COUNT;
}
/**
* 无备注
*/
public Integer getTT_COUNT() {
return TT_COUNT;
}
/** 无备注 */
public void setTT_DATETIME(String TT_DATETIME) {
this.TT_DATETIME = TT_DATETIME;
}
/** 无备注 */
public String getTT_DATETIME() {
return TT_DATETIME;
}
/**
* 无备注
*/
public void setTT_DATETIME(String TT_DATETIME) {
this.TT_DATETIME = TT_DATETIME;
}
/**
* 无备注
*/
public String getTT_DATETIME() {
return TT_DATETIME;
}
/** 无备注 */
public void setTT_EDATETIME(String TT_EDATETIME) {
this.TT_EDATETIME = TT_EDATETIME;
}
/** 无备注 */
public String getTT_EDATETIME() {
return TT_EDATETIME;
}
/**
* 无备注
*/
public void setTT_EDATETIME(String TT_EDATETIME) {
this.TT_EDATETIME = TT_EDATETIME;
}
/**
* 无备注
*/
public String getTT_EDATETIME() {
return TT_EDATETIME;
}
/** 无备注 */
public void setTT_OUTDATE(Date TT_OUTDATE) {
this.TT_OUTDATE = TT_OUTDATE;
}
/** 无备注 */
public Date getTT_OUTDATE() {
return TT_OUTDATE;
}
/**
* 无备注
*/
public void setTT_OUTDATE(Date TT_OUTDATE) {
this.TT_OUTDATE = TT_OUTDATE;
}
/**
* 无备注
*/
public Date getTT_OUTDATE() {
return TT_OUTDATE;
}
/** 无备注 */
public void setTT_ELECTRONIC(Integer TT_ELECTRONIC) {
this.TT_ELECTRONIC = TT_ELECTRONIC;
}
/** 无备注 */
public Integer getTT_ELECTRONIC() {
public String getTT_ELECTRONIC() {
return TT_ELECTRONIC;
}
}
public void setTT_ELECTRONIC(String TT_ELECTRONIC) {
this.TT_ELECTRONIC = TT_ELECTRONIC;
}
/**
* 无备注
*/
public void setTT_BUSINESSTYPE(Integer TT_BUSINESSTYPE) {
this.TT_BUSINESSTYPE = TT_BUSINESSTYPE;
}
/**
* 无备注
*/
public Integer getTT_BUSINESSTYPE() {
return TT_BUSINESSTYPE;
}
/** 无备注 */
public void setTT_BUSINESSTYPE(Integer TT_BUSINESSTYPE) {
this.TT_BUSINESSTYPE = TT_BUSINESSTYPE;
}
/** 无备注 */
public Integer getTT_BUSINESSTYPE() {
return TT_BUSINESSTYPE;
}
/**
* 无备注
*/
public void setTT_BUYERNAME(String TT_BUYERNAME) {
this.TT_BUYERNAME = TT_BUYERNAME;
}
/**
* 无备注
*/
public String getTT_BUYERNAME() {
return TT_BUYERNAME;
}
/** 无备注 */
public void setTT_BUYERNAME(String TT_BUYERNAME) {
this.TT_BUYERNAME = TT_BUYERNAME;
}
/** 无备注 */
public String getTT_BUYERNAME() {
return TT_BUYERNAME;
}
/**
* 无备注
*/
public void setTT_BUYERTAXNO(String TT_BUYERTAXNO) {
this.TT_BUYERTAXNO = TT_BUYERTAXNO;
}
/**
* 无备注
*/
public String getTT_BUYERTAXNO() {
return TT_BUYERTAXNO;
}
/** 无备注 */
public void setTT_BUYERTAXNO(String TT_BUYERTAXNO) {
this.TT_BUYERTAXNO = TT_BUYERTAXNO;
}
/** 无备注 */
public String getTT_BUYERTAXNO() {
return TT_BUYERTAXNO;
}
/**
* 无备注
*/
public void setTT_ORIGINALINVOICE(String TT_ORIGINALINVOICE) {
this.TT_ORIGINALINVOICE = TT_ORIGINALINVOICE;
}
/**
* 无备注
*/
public String getTT_ORIGINALINVOICE() {
return TT_ORIGINALINVOICE;
}
/** 无备注 */
public void setTT_ORIGINALINVOICE(String TT_ORIGINALINVOICE) {
this.TT_ORIGINALINVOICE = TT_ORIGINALINVOICE;
}
/** 无备注 */
public String getTT_ORIGINALINVOICE() {
return TT_ORIGINALINVOICE;
}
}
}

View File

@ -0,0 +1,13 @@
package com.hzya.frame.plugin.cinvoice.lexmis.service;
import com.hzya.frame.basedao.service.IBaseService;
import com.hzya.frame.plugin.cinvoice.lexmis.entity.LexmiscivBusinvoiceEntity;
/**
* @description: 迈锐思-客运汽车发票表 service
* @tableName: lexmisciv_businvoice
* @entityName: LexmiscivBusinvoiceEntity
* @author: gjh
* @history: 1.0
*/
public interface ILexmiscivBusinvoiceService extends IBaseService<LexmiscivBusinvoiceEntity,String> {
}

View File

@ -0,0 +1,25 @@
package com.hzya.frame.plugin.cinvoice.lexmis.service.impl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.hzya.frame.plugin.cinvoice.lexmis.entity.LexmiscivBusinvoiceEntity;
import com.hzya.frame.plugin.cinvoice.lexmis.service.ILexmiscivBusinvoiceService;
import com.hzya.frame.plugin.cinvoice.lexmis.dao.ILexmiscivBusinvoiceDao;
import com.hzya.frame.basedao.service.impl.BaseService;
/**
* @description: 迈锐思-客运汽车发票表 service
* @tableName: lexmisciv_businvoice
* @entityName: LexmiscivBusinvoiceEntity
* @author: gjh
* @history: 1.0
*/
@Service(value="lexmisciv_businvoiceService")
public class LexmiscivBusinvoiceServiceImpl extends BaseService< LexmiscivBusinvoiceEntity,String> implements ILexmiscivBusinvoiceService{
protected ILexmiscivBusinvoiceDao lexmiscivbusinvoiceDao;
@Autowired
public void setLexmiscivBusinvoiceDao(ILexmiscivBusinvoiceDao dao) {
this.lexmiscivbusinvoiceDao = dao;
this.dao=dao;
}
}

View File

@ -52,6 +52,8 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer
private ILexmiscivPlaneticketService lexmiscivPlaneticketService;
@Autowired
ILexmiscivPlaneticketsService lexmiscivPlaneticketsService;
@Autowired
private ILexmiscivBusinvoiceService lexmiscivBusinvoiceService;
@Resource
private IIntegrationTaskLivingDetailsService taskLivingDetailsService;
@Value("${zt.url:}")
@ -72,7 +74,7 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer
String id = requestJson.getString("id");//主表id
CInvoiceImportHEntity importHEntity = new CInvoiceImportHEntity();
importHEntity.setDataSourceCode(dataSourceCode);
importHEntity.setId("3922481031277596479");
importHEntity.setId("6286766887088770238");
List<CInvoiceImportHEntity> cInvoiceImportHList = cInvoiceImportHService.queryInvoiceList(importHEntity);
if (CollectionUtils.isNotEmpty(cInvoiceImportHList)){
ParamAssembler assembler = null;
@ -80,7 +82,9 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer
//2 查OA明细表
//3 查迈瑞思发票表
//迈锐思发票公共信息表
List<LexmisPublicinfoEntity> lexmisPublicinfoEntityList = lexmisPublicinfoService.query(new LexmisPublicinfoEntity(cInvoiceH.getId(),dataSourceCode));
LexmisPublicinfoEntity lexmisPublicinfoEntity = new LexmisPublicinfoEntity(cInvoiceH.getId(),dataSourceCode);
lexmisPublicinfoEntity.setPI_ID("-95056949260236712");
List<LexmisPublicinfoEntity> lexmisPublicinfoEntityList = lexmisPublicinfoService.query(lexmisPublicinfoEntity);
if (CollectionUtils.isNotEmpty(lexmisPublicinfoEntityList)){
//税务接口每次最多传50张发票
int size = lexmisPublicinfoEntityList.size();
@ -88,20 +92,9 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer
for (int i = 0; i < size; i += batchSize){
int no = 1;//序号
//4 根据发票类型组装不同参数
long timestamp = System.currentTimeMillis();
//Map<String, Object> parametersMap = new HashMap<>();
//parametersMap.put("accessKey",accesskey);
//parametersMap.put("timestamp",timestamp);
//String sign = YzfSignUtil.signRequest(parametersMap, accessSecret);
JSONObject head = new JSONObject();
//head.put("accessKey",accesskey);//密钥
// head.put("sign",sign);//签名
// head.put("timestamp",timestamp);//时间戳
head.put("taxNo","91330110MAC5FPUY2U");//当前企业税号
//head.put("taxNo",lexmisPublicinfoEntityList.get(0).getPI_TAXNO());
JSONArray inputInfos = new JSONArray();
head.put("inputInfos",inputInfos);//发票录入信息单次最大50张
// 获取当前批次的子列表
List<LexmisPublicinfoEntity> batchList = lexmisPublicinfoEntityList.subList(i, Math.min(i + batchSize, size));
//使用stream方式 publicinfoList PI_TABLENAME分组
@ -129,7 +122,6 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer
switch (key){
case "LEXMISCIV_INVOICEMAIN"://增值税发票
zzsInvoice(dataSourceCode, info, invoiceInfo, baseInfo);
//}
break;
case "LEXMISCIV_TRAINTICKET"://火车票
trainInvoice(dataSourceCode, inputInfos, info, inputInfo, invoiceInfo, baseInfo);
@ -137,22 +129,27 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer
case "LEXMISCIV_PLANETICKET"://飞机行程单
planeInvoice(dataSourceCode, info, invoiceInfo, baseInfo);
break;
case "LEXMISCIV_BUSINVOICE"://客运汽车票
busInvoice(dataSourceCode, info, invoiceInfo, baseInfo);
break;
default:
System.out.println("没有匹配到类型");
logger.info("没有匹配到类型");
break;
}
no++;
}
head.put("taxNo",publicinfoList.get(0).getPI_TAXNO());//当前企业税号
}
logger.info("调用有度发票批量导入接口请求参数:{}",head.toString());
//调用税务接口
Map<String, String> headerMap = MapBuilder.<String, String>create(true)
.put("apiCode", "8000600005")//有度发票导入接口
.put("publicKey","ZJYA7f8FzV219otH8zhkReiyyWpXswpbY/+StvC2em0hf59Ce7eDIk+3zDUT+v578prj")
.put("secretKey","xJ9J1Ev2F0faiJ/nQnCNklskAgtQp3QSm+ihO21uY/H0UADj0tSDPxmIhFfC4v6Fj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=")
.put("publicKey","ZJYA7f8FzV219otH8zhkReiyyWpXswpbY/+StvC2em0hf59Ce7eDIk+3zDUT+v578prj")//发起方应用
.put("secretKey","xJ9J1Ev2F0faiJ/nQnCNklskAgtQp3QSm+ihO21uY/H0UADj0tSDPxmIhFfC4v6Fj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=")//发起方应用
.put("appId","800060")
.build();
String body = HttpRequest.post(url).addHeaders(headerMap).body(head.toString()).timeout(60000).execute().body();
//String body = null;
logger.info("调用有度发票批量导入接口响应参数:{}",body);
//保存操作日志
if (StrUtil.isNotEmpty(body)){
@ -178,6 +175,8 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer
return null;
}
/**
* 保存日志
* @param integration_task_living_details_id
@ -242,9 +241,9 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer
baseInfo.put("fphm",planeticketH.getPT_FPHM());//发票号码
baseInfo.put("fpdm","");//发票代码
baseInfo.put("fplx",fplx);//发票类型
baseInfo.put("kprq",DateUtil.format(planeticketH.getPT_MAKEDATE(),"yyyy-MM-dd"));//开票日期
baseInfo.put("kprq",planeticketH.getPT_MAKEDATE());//开票日期
baseInfo.put("bhszje",planeticketH.getPT_NOTAXAMOUNT());//不含税总金额
baseInfo.put("jym","");//校验码
baseInfo.put("jym",planeticketH.getPT_VALIDCODE());//校验码
baseInfo.put("bxje",planeticketH.getPT_NOTAXAMOUNT());//不含税实际报销金额
baseInfo.put("jsse","");//有效计算税额
baseInfo.put("jsdkzq","");//计算抵扣账期
@ -274,6 +273,7 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer
if (null != trainticket){
JSONObject trainObj = new JSONObject();
trainObj.put("trainInvoice",JSONObject.toJSONString(trainticket));
trainObj.put("publicInvoice",JSONObject.toJSONString(info));
String fplx = "a2";
//1是电子票
if ("1".equals(trainticket.getTT_ELECTRONIC())){
@ -287,7 +287,7 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer
baseInfo.put("fphm",trainticket.getTT_CODE());//发票号码
baseInfo.put("fpdm","");//发票代码 火车票不用传
baseInfo.put("fplx",fplx);//发票类型
baseInfo.put("kprq",DateUtil.format(trainticket.getTT_OUTDATE(),"yyyy-MM-dd"));//开票日期
baseInfo.put("kprq",DateUtil.format(trainticket.getTT_DATE(),"yyyy-MM-dd"));//开票日期
baseInfo.put("bhszje",trainticket.getTT_NOTAXAMOUNT());//不含税总金额
baseInfo.put("jym","");//校验码
baseInfo.put("bxje",trainticket.getTT_NOTAXAMOUNT());//不含税实际报销金额
@ -338,6 +338,40 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer
invoiceInfo.put("contentInfo",contentInfo);
}
/**
* 客运汽车
* @param dataSourceCode 数据源编码
* @param info 发票公共表嘻嘻
* @param invoiceInfo 发票参数对象
* @param baseInfo 发票base参数对象
*/
private void busInvoice(String dataSourceCode, LexmisPublicinfoEntity info, JSONObject invoiceInfo, JSONObject baseInfo) {
ParamAssemblerContext context;//策略上下文类
JSONObject contentInfo;
ParamAssembler assembler;
LexmiscivBusinvoiceEntity businvoiceEntity = lexmiscivBusinvoiceService.queryOne(new LexmiscivBusinvoiceEntity(info.getPI_DATAKEY(),dataSourceCode));
if (null != businvoiceEntity){
JSONObject busObj = new JSONObject();
busObj.put("busInvoice",JSONObject.toJSONString(businvoiceEntity));
busObj.put("publicInfoice",JSONObject.toJSONString(info));
assembler = new BusInvoiceAssembler(busObj);
context = new ParamAssemblerContext(assembler);
contentInfo = context.assemble();
baseInfo.put("fphm", businvoiceEntity.getBI_FPHM());//发票号码
baseInfo.put("fpdm",businvoiceEntity.getBI_FPDM());//发票代码
baseInfo.put("fplx","a3");//发票类型
baseInfo.put("kprq",DateUtil.format(businvoiceEntity.getBI_DATE(),"yyyy-MM-dd"));//开票日期
baseInfo.put("bhszje",businvoiceEntity.getBI_NOTAXAMOUNT());//不含税总金额
baseInfo.put("jym","");//校验码
baseInfo.put("bxje",businvoiceEntity.getBI_NOTAXAMOUNT());//不含税金额
baseInfo.put("jsse","");//有效计算税额
baseInfo.put("jsdkzq","");//计算抵扣账期
baseInfo.put("signPerson","");//签收人
baseInfo.put("signStatus","1");//签收状态默认传1
invoiceInfo.put("baseInfo", baseInfo);
invoiceInfo.put("contentInfo",contentInfo);
}
}
/**
* 迈锐思增值税类发票类型转换成有度发票类型
@ -366,6 +400,9 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer
case "32"://电子发票(增值税普票)
youduFplx = "32";
break;
case "14"://电子发票(通行费)
youduFplx = "14";
break;
}
return youduFplx;
}

View File

@ -0,0 +1,40 @@
package com.hzya.frame.plugin.cinvoice.util;
import java.math.BigDecimal;
/**
* @Description 税额计算器
* @Author xiangerlin
* @Date 2025/5/9 11:26
**/
public class TaxCalculator {
/**
* 计算税额的方法
*
* @param amountWithTax 含税金额BigDecimal
* @param taxRate 税率BigDecimal例如 new BigDecimal("0.13") 表示 13%
* @return 税额BigDecimal
*/
public static BigDecimal calculateTax(BigDecimal amountWithTax, BigDecimal taxRate) {
if (amountWithTax == null || taxRate == null || taxRate.compareTo(BigDecimal.ZERO) < 0) {
throw new IllegalArgumentException("参数错误");
}
// 不含税金额 = 含税金额 / (1 + 税率)
BigDecimal one = BigDecimal.ONE;
BigDecimal taxInclusiveRate = one.add(taxRate);
BigDecimal amountWithoutTax = amountWithTax.divide(taxInclusiveRate, 6, BigDecimal.ROUND_HALF_UP);
// 税额 = 含税金额 - 不含税金额
BigDecimal tax = amountWithTax.subtract(amountWithoutTax).setScale(2, BigDecimal.ROUND_HALF_UP);
return tax;
}
public static void main(String[] args) {
// 示例含税金额为 113税率为 13%
BigDecimal amountWithTax = new BigDecimal("568");
BigDecimal taxRate = new BigDecimal("0.09");
BigDecimal tax = calculateTax(amountWithTax, taxRate);
System.out.println("税额为: " + tax); // 输出结果应为 13.00
}
}

View File

@ -69,6 +69,7 @@ public abstract class BaseService<E extends Serializable, PK extends Serializabl
}
@Override
@DS("#o.dataSourceCode")
public E queryOne(E o) {
List tempList = this.dao.query(o);
if ((tempList != null) && (tempList.size() > 0)) {

View File

@ -11,7 +11,9 @@ import com.hzya.frame.basedao.service.impl.BaseService;
import com.hzya.frame.mdm.mdmModuleSource.dao.impl.MdmModuleSourceDaoImpl;
import com.hzya.frame.mdm.mdmModuleSource.entity.MdmModuleSourceEntity;
import com.hzya.frame.seeyon.dao.ICtpAttachmentDao;
import com.hzya.frame.seeyon.dao.ICtpFileDao;
import com.hzya.frame.seeyon.entity.CtpAttachmentEntity;
import com.hzya.frame.seeyon.entity.CtpFileEntity;
import com.hzya.frame.seeyon.util.OARestUtil;
import com.hzya.frame.seeyon.util.SM2Util;
import com.hzya.frame.seeyon.zxbank.dao.IZxBankDao;
@ -72,6 +74,9 @@ public class ZxBankServiceImpl extends BaseService<ZxBankEntity, String> impleme
@Value("${zx.publicKey:}")
private String publicKey;
@Autowired
private ICtpFileDao ctpFileDao;
@Override
public JsonResultEntity queryArchives(JSONObject json) {
JSONObject jsonObject = json.getJSONObject("jsonStr");
@ -304,7 +309,7 @@ public class ZxBankServiceImpl extends BaseService<ZxBankEntity, String> impleme
String downloadFolder ="D:\\yongansystem\\zxbank\\pdf\\";
String destinationFolder ="D:\\yongansystem\\zxbank\\pdf\\";
URL url = new URL("http://202.108.57.65:11370/access/treasury/hangtai/bill/down");
URL url = new URL("http://122.9.75.156:9091/access/treasury/hangtai/bill/down");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", "application/json");
@ -364,41 +369,51 @@ public class ZxBankServiceImpl extends BaseService<ZxBankEntity, String> impleme
zxBankEntity.setReceipt(sub_reference);
zxBankEntity.setDataSourceCode("HT-OA");
zxBankDao.updateElecStatusZX(zxBankEntity);
//根据附件id查询附件业务数据
String file_url = jsonObject.getString("fileUrl");
CtpAttachmentEntity ctpAttachmentEntity = new CtpAttachmentEntity();
ctpAttachmentEntity.setFile_url(file_url);
String att_reference = zxBankEntity.getSummaryId();//Summary_id
ctpAttachmentEntity.setSub_reference(sub_reference);
ctpAttachmentEntity.setAtt_reference(att_reference);
ctpAttachmentEntity.setDataSourceCode("HT-OA");
List<CtpAttachmentEntity> ctpAttachmentEntities = ctpAttachmentDao.queryCtpAttachment(ctpAttachmentEntity);
//如果没有查询到数据就新增附件业务否则更新
if (ctpAttachmentEntities.size() == 0) {
String category = jsonObject.getString("category");
String type = jsonObject.getString("type");
String filename = jsonObject.getString("filename");
String mime_type = jsonObject.getString("mimeType");
String attachment_size = jsonObject.getString("size");
String id = String.valueOf(UUIDLong.longUUID());
ctpAttachmentEntity.setCategory(category);
ctpAttachmentEntity.setFilename(filename);
ctpAttachmentEntity.setType(type);
ctpAttachmentEntity.setMime_type(mime_type);
ctpAttachmentEntity.setAttachment_size(attachment_size);
ctpAttachmentEntity.setId(id);
ctpAttachmentEntity.setCategory("66");
ctpAttachmentEntity.setCreatedate(new Date());
//根据附件id查询附件信息
CtpFileEntity ctpFileEntity=new CtpFileEntity();
ctpFileEntity.setId(jsonObject.getString("fileUrl"));
ctpFileEntity.setDataSourceCode("HT-OA");
List<CtpFileEntity> query = ctpFileDao.queryCtpFileById(ctpFileEntity);
if(CollectionUtils.isNotEmpty(query)) {
CtpFileEntity ctpFile = query.get(0);
//根据附件id查询附件业务数据
String file_url = jsonObject.getString("fileUrl");
CtpAttachmentEntity ctpAttachmentEntity = new CtpAttachmentEntity();
ctpAttachmentEntity.setFile_url(file_url);
String att_reference = zxBankEntity.getSummaryId();//Summary_id
ctpAttachmentEntity.setSub_reference(sub_reference);
ctpAttachmentEntity.setAtt_reference(att_reference);
ctpAttachmentEntity.setDataSourceCode("HT-OA");
ctpAttachmentDao.saveCtpAttachment(ctpAttachmentEntity);
} else {
if (ctpAttachmentEntities.size() > 1) {
throw new BaseSystemException("OA附件业务表中查到多条记录");
List<CtpAttachmentEntity> ctpAttachmentEntities = ctpAttachmentDao.queryCtpAttachment(ctpAttachmentEntity);
//如果没有查询到数据就新增附件业务否则更新
if (ctpAttachmentEntities.size() == 0) {
String category =ctpFile.getCategory();
String type =ctpFile.getType();
String filename =ctpFile.getFilename();
String mime_type =ctpFile.getMime_type();
String attachment_size =ctpFile.getFile_size();
String id = String.valueOf(UUIDLong.longUUID());
ctpAttachmentEntity.setCategory(category);
ctpAttachmentEntity.setFilename(filename);
ctpAttachmentEntity.setType(type);
ctpAttachmentEntity.setMime_type(mime_type);
ctpAttachmentEntity.setAttachment_size(attachment_size);
ctpAttachmentEntity.setId(id);
ctpAttachmentEntity.setCategory("66");
ctpAttachmentEntity.setCreatedate(new Date());
ctpAttachmentEntity.setDataSourceCode("HT-OA");
ctpAttachmentDao.saveCtpAttachment(ctpAttachmentEntity);
} else {
if (ctpAttachmentEntities.size() > 1) {
throw new BaseSystemException("OA附件业务表中查到多条记录");
}
//更新数据到OA附件业务表中
ctpAttachmentDao.updateCtpAttachment(ctpAttachmentEntity);
}
//更新数据到OA附件业务表中
ctpAttachmentDao.updateCtpAttachment(ctpAttachmentEntity);
logger.info("=====电子回单执行完毕=======");
}else{
logger.info("========根据附件id:{}没有查询到附件信息======",jsonObject.getString("fileUrl"));
}
logger.info("=====电子回单执行完毕=======");
}
pdfFile.delete();
}