From 0b28fec32fcb3be133ea9849903c2140479246fb Mon Sep 17 00:00:00 2001 From: xiang2lin <251481237@qq.com> Date: Fri, 16 May 2025 09:04:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E7=A5=A8=E7=A8=8E=E5=8A=A1=E5=AF=B9?= =?UTF-8?q?=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../assembler/BusInvoiceAssembler.java | 50 ++- .../assembler/ElecFlightInvoiceAssembler.java | 5 +- .../assembler/ElecTrainInvoiceAssembler.java | 20 +- .../assembler/ZzsInvoiceAssembler.java | 61 ++- .../plugin/cinvoice/dto/FlightItemInfo.java | 30 +- .../plugin/cinvoice/dto/ZzsItemInfo.java | 32 +- .../cinvoice/entity/CInvoiceImportHEntity.xml | 25 +- .../lexmis/dao/ILexmiscivBusinvoiceDao.java | 13 + .../dao/impl/LexmiscivBusinvoiceDaoImpl.java | 17 + .../lexmis/entity/LexmisPublicinfoEntity.xml | 29 +- .../entity/LexmiscivBusinvoiceEntity.java | 422 ++++++++++++++++++ .../entity/LexmiscivBusinvoiceEntity.xml | 112 +++++ .../entity/LexmiscivInvoicedetailEntity.java | 321 +++++++------ .../entity/LexmiscivInvoicedetailEntity.xml | 10 +- .../entity/LexmiscivPlaneticketEntity.java | 67 +-- .../service/ILexmiscivBusinvoiceService.java | 13 + .../impl/LexmiscivBusinvoiceServiceImpl.java | 25 ++ .../impl/CInvoiceImportPluginServiceImpl.java | 70 ++- 18 files changed, 1043 insertions(+), 279 deletions(-) create mode 100644 base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/dao/ILexmiscivBusinvoiceDao.java create mode 100644 base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/dao/impl/LexmiscivBusinvoiceDaoImpl.java create mode 100644 base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/entity/LexmiscivBusinvoiceEntity.java create mode 100644 base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/entity/LexmiscivBusinvoiceEntity.xml create mode 100644 base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/service/ILexmiscivBusinvoiceService.java create mode 100644 base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/service/impl/LexmiscivBusinvoiceServiceImpl.java diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/assembler/BusInvoiceAssembler.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/assembler/BusInvoiceAssembler.java index 348651ca..27f427b6 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/assembler/BusInvoiceAssembler.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/assembler/BusInvoiceAssembler.java @@ -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; } } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/assembler/ElecFlightInvoiceAssembler.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/assembler/ElecFlightInvoiceAssembler.java index 7e187fd1..de8aaa1e 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/assembler/ElecFlightInvoiceAssembler.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/assembler/ElecFlightInvoiceAssembler.java @@ -42,7 +42,7 @@ public class ElecFlightInvoiceAssembler implements ParamAssembler{ // 2. 验证码,非必填 param.put("yzm", planeticketH.getPT_VALIDCODE()); // 3. 开票日期,格式为 yyyy-MM-dd,必填 - param.put("kprq", DateUtil.format(planeticketH.getPT_DATE(),"yyyy-MM-dd")); + param.put("kprq", planeticketH.getPT_MAKEDATE()); // 4. 销售单位代号,非必填 param.put("xsdwdh", planeticketH.getPT_SALERCODE()); // 5. 填开单位,非必填 @@ -99,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("");//税收分类编码 @@ -107,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());//税额 } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/assembler/ElecTrainInvoiceAssembler.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/assembler/ElecTrainInvoiceAssembler.java index 929579b6..8cebeddb 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/assembler/ElecTrainInvoiceAssembler.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/assembler/ElecTrainInvoiceAssembler.java @@ -5,7 +5,9 @@ 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; @@ -30,9 +32,11 @@ 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()); @@ -63,22 +67,22 @@ public class ElecTrainInvoiceAssembler implements ParamAssembler{ // 14. 不含税金额,非必填 param.put("bhsje", trainticketEntity.getTT_NOTAXAMOUNT()); // 16. 税率,非必填 - param.put("slv", Convert.toStr(trainticketEntity.getTT_TAXRATE(),"0.09")); + param.put("slv", Convert.toStr(publicInfo.getPI_TAXRATE(),"0.09")); // 15. 税额,非必填 - if (null == trainticketEntity.getTT_TAXRATEAMOUNT()){ - BigDecimal slv = param.getBigDecimal("slv"); - BigDecimal se = trainticketEntity.getTT_AMOUNT().multiply(slv.divide(BigDecimal.ONE.add(slv))); + 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", trainticketEntity.getTT_TAXRATEAMOUNT()); + 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. 到达站拼音,非必填 diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/assembler/ZzsInvoiceAssembler.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/assembler/ZzsInvoiceAssembler.java index 6949e750..6ab23490 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/assembler/ZzsInvoiceAssembler.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/assembler/ZzsInvoiceAssembler.java @@ -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 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 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 txfItemInfoList = new LinkedList(); + 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); + } } } } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/dto/FlightItemInfo.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/dto/FlightItemInfo.java index e0139e53..8ca37773 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/dto/FlightItemInfo.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/dto/FlightItemInfo.java @@ -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; + } } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/dto/ZzsItemInfo.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/dto/ZzsItemInfo.java index aa3b26d4..b5637e2a 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/dto/ZzsItemInfo.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/dto/ZzsItemInfo.java @@ -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; } } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/entity/CInvoiceImportHEntity.xml b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/entity/CInvoiceImportHEntity.xml index 3a492e25..0ffc8517 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/entity/CInvoiceImportHEntity.xml +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/entity/CInvoiceImportHEntity.xml @@ -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 f.id = #{id} diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/dao/ILexmiscivBusinvoiceDao.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/dao/ILexmiscivBusinvoiceDao.java new file mode 100644 index 00000000..875e7b42 --- /dev/null +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/dao/ILexmiscivBusinvoiceDao.java @@ -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{ + +} diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/dao/impl/LexmiscivBusinvoiceDaoImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/dao/impl/LexmiscivBusinvoiceDaoImpl.java new file mode 100644 index 00000000..e02a019b --- /dev/null +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/dao/impl/LexmiscivBusinvoiceDaoImpl.java @@ -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 implements ILexmiscivBusinvoiceDao{ + +} diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/entity/LexmisPublicinfoEntity.xml b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/entity/LexmisPublicinfoEntity.xml index c997a976..55417fa8 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/entity/LexmisPublicinfoEntity.xml +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/entity/LexmisPublicinfoEntity.xml @@ -19,6 +19,19 @@ + + + + + + + + + + + + + @@ -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 @@ -67,7 +92,7 @@ and PI_SUBJECT = #{PI_SUBJECT} and PI_FORMID = #{PI_FORMID} and PI_FORMDATAID = #{PI_FORMDATAID} - and pi_billkind in ('0','2','3') + and pi_billkind in ('0','2','3','5') diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/entity/LexmiscivBusinvoiceEntity.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/entity/LexmiscivBusinvoiceEntity.java new file mode 100644 index 00000000..4d5e0baa --- /dev/null +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/entity/LexmiscivBusinvoiceEntity.java @@ -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; + } + + +} diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/entity/LexmiscivBusinvoiceEntity.xml b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/entity/LexmiscivBusinvoiceEntity.xml new file mode 100644 index 00000000..ec9b2359 --- /dev/null +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/entity/LexmiscivBusinvoiceEntity.xml @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + + + + + diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/entity/LexmiscivInvoicedetailEntity.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/entity/LexmiscivInvoicedetailEntity.java index 4440c786..fae9d1b5 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/entity/LexmiscivInvoicedetailEntity.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/entity/LexmiscivInvoicedetailEntity.java @@ -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 + * @description: 迈锐思-增值税发票子表 + * @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; + } +} diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/entity/LexmiscivInvoicedetailEntity.xml b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/entity/LexmiscivInvoicedetailEntity.xml index e4e1aca9..0dfb3029 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/entity/LexmiscivInvoicedetailEntity.xml +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/entity/LexmiscivInvoicedetailEntity.xml @@ -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 diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/entity/LexmiscivPlaneticketEntity.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/entity/LexmiscivPlaneticketEntity.java index a6e0d84d..c0457b9b 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/entity/LexmiscivPlaneticketEntity.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/entity/LexmiscivPlaneticketEntity.java @@ -65,11 +65,11 @@ public class LexmiscivPlaneticketEntity extends BaseEntity { /** * 无备注 */ - private String PT_FUELAMOUNT; + private BigDecimal PT_FUELAMOUNT; /** * 无备注 */ - private String PT_TAXAMOUNT; + private BigDecimal PT_TAXAMOUNT; /** * 无备注 */ @@ -77,7 +77,7 @@ public class LexmiscivPlaneticketEntity extends BaseEntity { /** * 无备注 */ - private String PT_TAXRATE; + private BigDecimal PT_TAXRATE; /** * 无备注 */ @@ -144,7 +144,7 @@ public class LexmiscivPlaneticketEntity extends BaseEntity { /** * 无备注 */ - private Date PT_MAKEDATE; + private String PT_MAKEDATE; /** * 无备注 */ @@ -357,35 +357,21 @@ public class LexmiscivPlaneticketEntity extends BaseEntity { } - /** - * 无备注 - */ - public void setPT_FUELAMOUNT(String PT_FUELAMOUNT) { - this.PT_FUELAMOUNT = PT_FUELAMOUNT; - } - - /** - * 无备注 - */ - public String getPT_FUELAMOUNT() { + public BigDecimal getPT_FUELAMOUNT() { return PT_FUELAMOUNT; } - - /** - * 无备注 - */ - public void setPT_TAXAMOUNT(String PT_TAXAMOUNT) { - this.PT_TAXAMOUNT = PT_TAXAMOUNT; + public void setPT_FUELAMOUNT(BigDecimal PT_FUELAMOUNT) { + this.PT_FUELAMOUNT = PT_FUELAMOUNT; } - /** - * 无备注 - */ - public String getPT_TAXAMOUNT() { + public BigDecimal getPT_TAXAMOUNT() { return PT_TAXAMOUNT; } + public void setPT_TAXAMOUNT(BigDecimal PT_TAXAMOUNT) { + this.PT_TAXAMOUNT = PT_TAXAMOUNT; + } /** * 无备注 @@ -401,21 +387,13 @@ public class LexmiscivPlaneticketEntity extends BaseEntity { return PT_AMOUNT; } - - /** - * 无备注 - */ - public void setPT_TAXRATE(String PT_TAXRATE) { - this.PT_TAXRATE = PT_TAXRATE; - } - - /** - * 无备注 - */ - public String getPT_TAXRATE() { + public BigDecimal getPT_TAXRATE() { return PT_TAXRATE; } + public void setPT_TAXRATE(BigDecimal PT_TAXRATE) { + this.PT_TAXRATE = PT_TAXRATE; + } /** * 无备注 @@ -657,20 +635,13 @@ public class LexmiscivPlaneticketEntity extends BaseEntity { } - /** - * 无备注 - */ - public void setPT_MAKEDATE(Date PT_MAKEDATE) { - this.PT_MAKEDATE = PT_MAKEDATE; - } - - /** - * 无备注 - */ - public Date getPT_MAKEDATE() { + public String getPT_MAKEDATE() { return PT_MAKEDATE; } + public void setPT_MAKEDATE(String PT_MAKEDATE) { + this.PT_MAKEDATE = PT_MAKEDATE; + } /** * 无备注 diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/service/ILexmiscivBusinvoiceService.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/service/ILexmiscivBusinvoiceService.java new file mode 100644 index 00000000..dca2aad9 --- /dev/null +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/service/ILexmiscivBusinvoiceService.java @@ -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 { + +} \ No newline at end of file diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/service/impl/LexmiscivBusinvoiceServiceImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/service/impl/LexmiscivBusinvoiceServiceImpl.java new file mode 100644 index 00000000..d9818d06 --- /dev/null +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/lexmis/service/impl/LexmiscivBusinvoiceServiceImpl.java @@ -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; + } +} diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/service/impl/CInvoiceImportPluginServiceImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/service/impl/CInvoiceImportPluginServiceImpl.java index 4164fd8d..3a4d4b3a 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/service/impl/CInvoiceImportPluginServiceImpl.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/service/impl/CInvoiceImportPluginServiceImpl.java @@ -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("3530025196803672389"); List cInvoiceImportHList = cInvoiceImportHService.queryInvoiceList(importHEntity); if (CollectionUtils.isNotEmpty(cInvoiceImportHList)){ ParamAssembler assembler = null; @@ -80,7 +82,9 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer //2、 查OA明细表 //3、 查迈瑞思发票表 //迈锐思发票公共信息表 - List lexmisPublicinfoEntityList = lexmisPublicinfoService.query(new LexmisPublicinfoEntity(cInvoiceH.getId(),dataSourceCode)); + LexmisPublicinfoEntity lexmisPublicinfoEntity = new LexmisPublicinfoEntity(cInvoiceH.getId(),dataSourceCode); + lexmisPublicinfoEntity.setPI_ID("-1294150280639986013"); + List 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 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 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,12 +129,16 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer case "LEXMISCIV_PLANETICKET"://飞机行程单 planeInvoice(dataSourceCode, info, invoiceInfo, baseInfo); break; + case "LEXMISCIV_BUSINVOICE"://客运汽车票 + busInvoice(dataSourceCode, info, invoiceInfo, baseInfo); + break; default: logger.info("没有匹配到类型"); break; } no++; } + head.put("taxNo",publicinfoList.get(0).getPI_TAXNO());//当前企业税号 } logger.info("调用有度发票批量导入接口请求参数:{}",head.toString()); //调用税务接口 @@ -179,6 +175,8 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer return null; } + + /** * 保存日志 * @param integration_task_living_details_id @@ -243,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","");//计算抵扣账期 @@ -275,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())){ @@ -288,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());//不含税实际报销金额 @@ -339,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); + } + } /** * 迈锐思增值税类发票类型转换成有度发票类型 @@ -367,6 +400,9 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer case "32"://电子发票(增值税普票) youduFplx = "32"; break; + case "14"://电子发票(通行费) + youduFplx = "14"; + break; } return youduFplx; }