发票税务对接

This commit is contained in:
xiang2lin 2025-05-16 09:04:02 +08:00
parent f2b6c1fc5e
commit 0b28fec32f
18 changed files with 1043 additions and 279 deletions

View File

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

View File

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

View File

@ -5,7 +5,9 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; 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.lexmis.entity.LexmiscivTrainticketEntity;
import com.hzya.frame.plugin.cinvoice.util.TaxCalculator;
import java.math.BigDecimal; import java.math.BigDecimal;
@ -30,9 +32,11 @@ public class ElecTrainInvoiceAssembler implements ParamAssembler{
@Override @Override
public JSONObject assembleParam() { public JSONObject assembleParam() {
JSONObject param = new JSONObject(); JSONObject param = new JSONObject();
String trainInvoice = jsonObject.getString("trainInvoice"); String trainInvoice = jsonObject.getString("trainInvoice");//火车票
String publicInvoice = jsonObject.getString("publicInvoice");//发票公共信息
if (StrUtil.isNotEmpty(trainInvoice)){ if (StrUtil.isNotEmpty(trainInvoice)){
LexmiscivTrainticketEntity trainticketEntity = JSONObject.parseObject(trainInvoice, LexmiscivTrainticketEntity.class); LexmiscivTrainticketEntity trainticketEntity = JSONObject.parseObject(trainInvoice, LexmiscivTrainticketEntity.class);
LexmisPublicinfoEntity publicInfo = JSONObject.parseObject(publicInvoice, LexmisPublicinfoEntity.class);
if (null != trainticketEntity){ if (null != trainticketEntity){
// 1. 火车票号必填 // 1. 火车票号必填
param.put("hcph", trainticketEntity.getTT_CODE()); param.put("hcph", trainticketEntity.getTT_CODE());
@ -63,22 +67,22 @@ public class ElecTrainInvoiceAssembler implements ParamAssembler{
// 14. 不含税金额非必填 // 14. 不含税金额非必填
param.put("bhsje", trainticketEntity.getTT_NOTAXAMOUNT()); param.put("bhsje", trainticketEntity.getTT_NOTAXAMOUNT());
// 16. 税率非必填 // 16. 税率非必填
param.put("slv", Convert.toStr(trainticketEntity.getTT_TAXRATE(),"0.09")); param.put("slv", Convert.toStr(publicInfo.getPI_TAXRATE(),"0.09"));
// 15. 税额非必填 // 15. 税额非必填
if (null == trainticketEntity.getTT_TAXRATEAMOUNT()){ if (null == publicInfo.getPI_TAXAMOUNT()){
BigDecimal slv = param.getBigDecimal("slv"); BigDecimal se = TaxCalculator.calculateTax(trainticketEntity.getTT_AMOUNT(),new BigDecimal(param.getString("slv")));
BigDecimal se = trainticketEntity.getTT_AMOUNT().multiply(slv.divide(BigDecimal.ONE.add(slv))); param.put("se",se);
}else { }else {
param.put("se", trainticketEntity.getTT_TAXRATEAMOUNT()); param.put("se", publicInfo.getPI_TAXAMOUNT());
} }
// 17. 销方税号非必填 // 17. 销方税号非必填
param.put("xfsh", ""); param.put("xfsh", "");
// 18. 销方名称非必填 // 18. 销方名称非必填
param.put("xfmc", ""); param.put("xfmc", "");
// 19. 购方税号非必填 // 19. 购方税号非必填
param.put("gfsh", trainticketEntity.getTT_BUYERTAXNO()); param.put("gfsh", Convert.toStr(trainticketEntity.getTT_BUYERTAXNO(),publicInfo.getPI_BUYERTAXNO()));
// 20. 购方名称非必填 // 20. 购方名称非必填
param.put("gfmc", trainticketEntity.getTT_BUYERNAME()); param.put("gfmc", Convert.toStr(trainticketEntity.getTT_BUYERNAME(),publicInfo.getPI_BUYERNAME()));
// 21. 出发站拼音非必填 // 21. 出发站拼音非必填
param.put("cfzpy", ""); param.put("cfzpy", "");
// 22. 到达站拼音非必填 // 22. 到达站拼音非必填

View File

@ -2,7 +2,9 @@ package com.hzya.frame.plugin.cinvoice.assembler;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject; 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.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.LexmiscivInvoicedetailEntity;
import com.hzya.frame.plugin.cinvoice.lexmis.entity.LexmiscivInvoicemainEntity; import com.hzya.frame.plugin.cinvoice.lexmis.entity.LexmiscivInvoicemainEntity;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
@ -60,6 +62,8 @@ public class ZzsInvoiceAssembler implements ParamAssembler{
param.put("kpr", zzsInvoiceH.getIM_MAKERNM());//开票人 param.put("kpr", zzsInvoiceH.getIM_MAKERNM());//开票人
param.put("skr", zzsInvoiceH.getIM_PAYEE());//收款人 param.put("skr", zzsInvoiceH.getIM_PAYEE());//收款人
param.put("fhr", zzsInvoiceH.getIM_AUDITOR());//复核人 param.put("fhr", zzsInvoiceH.getIM_AUDITOR());//复核人
//14是通行费
if (!"14".equals(zzsInvoiceH.getIM_TYPE())){
// 发票明细信息 // 发票明细信息
List<ZzsItemInfo> zzsItemInfoList = new LinkedList<>(); List<ZzsItemInfo> zzsItemInfoList = new LinkedList<>();
param.put("zzsItemInfos", zzsItemInfoList); param.put("zzsItemInfos", zzsItemInfoList);
@ -80,6 +84,27 @@ public class ZzsInvoiceAssembler implements ParamAssembler{
zzsItemInfoList.add(zzsItemInfo); 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; package com.hzya.frame.plugin.cinvoice.dto;
import java.math.BigDecimal;
/** /**
* @Description 航空运输电子客票行程单明细 * @Description 航空运输电子客票行程单明细
* @Author xiangerlin * @Author xiangerlin
@ -9,6 +11,7 @@ public class FlightItemInfo {
private String cfz;//出发站 private String cfz;//出发站
private String ddz;//到达站 private String ddz;//到达站
private String hbh;//航班号 private String hbh;//航班号
private String cjrq;//乘机日期
private String cjsj;//乘机时间 private String cjsj;//乘机时间
private String zwdj;//座位等级 private String zwdj;//座位等级
private String cyr;//承运人 private String cyr;//承运人
@ -21,9 +24,9 @@ public class FlightItemInfo {
private String dw;//单位 private String dw;//单位
private String sl;//数量 private String sl;//数量
private String dj;//单价 private String dj;//单价
private String je;//金额 private BigDecimal je;//金额
private String slv;//税率 private BigDecimal slv;//税率
private String se;//税额 private BigDecimal se;//税额
public String getCfz() { public String getCfz() {
return cfz; return cfz;
} }
@ -128,27 +131,36 @@ public class FlightItemInfo {
this.dj = dj; this.dj = dj;
} }
public String getJe() {
public BigDecimal getJe() {
return je; return je;
} }
public void setJe(String je) { public void setJe(BigDecimal je) {
this.je = je; this.je = je;
} }
public String getSlv() { public BigDecimal getSlv() {
return slv; return slv;
} }
public void setSlv(String slv) { public void setSlv(BigDecimal slv) {
this.slv = slv; this.slv = slv;
} }
public String getSe() { public BigDecimal getSe() {
return se; return se;
} }
public void setSe(String se) { public void setSe(BigDecimal se) {
this.se = se; this.se = se;
} }
public String getCjrq() {
return cjrq;
}
public void setCjrq(String cjrq) {
this.cjrq = cjrq;
}
} }

View File

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

View File

@ -19,7 +19,8 @@
FROM FROM
formmain_0327 formmain_0327
WHERE WHERE
finishedflag = 1 1 = 1
-- and finishedflag = 1
UNION ALL UNION ALL
@ -31,7 +32,27 @@
FROM FROM
formmain_0533 formmain_0533
WHERE 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
<trim prefix="where" prefixOverrides="and"> <trim prefix="where" prefixOverrides="and">
<if test="id != null and id != ''">f.id = #{id}</if> <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_SUBJECT" column="PI_SUBJECT" />
<result property="PI_FORMID" column="PI_FORMID" /> <result property="PI_FORMID" column="PI_FORMID" />
<result property="PI_FORMDATAID" column="PI_FORMDATAID" /> <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> </resultMap>
@ -36,7 +49,19 @@
PI_SUMMARYID, PI_SUMMARYID,
PI_SUBJECT, PI_SUBJECT,
PI_FORMID, 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> </sql>
<!--通过ID获取数据 --> <!--通过ID获取数据 -->
@ -67,7 +92,7 @@
<if test="PI_SUBJECT != null "> and PI_SUBJECT = #{PI_SUBJECT}</if> <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_FORMID != null "> and PI_FORMID = #{PI_FORMID}</if>
<if test="PI_FORMDATAID != null "> and PI_FORMDATAID = #{PI_FORMDATAID}</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> </trim>
</select> </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,9 +1,14 @@
package com.hzya.frame.plugin.cinvoice.lexmis.entity; package com.hzya.frame.plugin.cinvoice.lexmis.entity;
import java.util.Date; import java.util.Date;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal; import java.math.BigDecimal;
import com.hzya.frame.web.entity.BaseEntity; import com.hzya.frame.web.entity.BaseEntity;
/** /**
* @description: 迈锐思-增值税发票子表 * @description: 迈锐思-增值税发票子表
* @tableName: LEXMISCIV_INVOICEDETAIL * @tableName: LEXMISCIV_INVOICEDETAIL
@ -16,155 +21,205 @@ public class LexmiscivInvoicedetailEntity extends BaseEntity {
} }
public LexmiscivInvoicedetailEntity(String ID_MAINID,String dataSourceCode) { public LexmiscivInvoicedetailEntity(String ID_MAINID, String dataSourceCode) {
this.ID_MAINID = ID_MAINID; this.ID_MAINID = ID_MAINID;
this.setDataSourceCode(dataSourceCode); this.setDataSourceCode(dataSourceCode);
} }
/** 无备注 */ /**
private String ID_ID; * 无备注
/** 无备注 */ */
private String ID_MAINID; private String ID_ID;
/** 无备注 */ /**
private String ID_ROWID; * 无备注
/** 无备注 */ */
private String ID_ACCOUNTNAME; private String ID_MAINID;
/** 无备注 */ /**
private String ID_SERVICENM; * 无备注
/** 无备注 */ */
private String ID_SERVICETYPE; private String ID_ROWID;
/** 无备注 */ /**
private String ID_PRICE; * 无备注
/** 无备注 */ */
private String ID_UNIT; private String ID_ACCOUNTNAME;
/** 无备注 */ /**
private String ID_NUM; * 无备注
/** 无备注 */ */
private String ID_NOTAXAMOUNT; private String ID_SERVICENM;
/** 无备注 */ /**
private String ID_TAX; * 无备注
/** 无备注 */ */
private String ID_TAXAMOUNT; 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) { * 无备注
*/
public void setID_ID(String ID_ID) {
this.ID_ID = ID_ID; this.ID_ID = ID_ID;
} }
/** 无备注 */
public String getID_ID() { /**
* 无备注
*/
public String getID_ID() {
return ID_ID; return ID_ID;
} }
/** 无备注 */ /**
public void setID_MAINID(String ID_MAINID) { * 无备注
*/
public void setID_MAINID(String ID_MAINID) {
this.ID_MAINID = ID_MAINID; this.ID_MAINID = ID_MAINID;
} }
/** 无备注 */
public String getID_MAINID() { /**
* 无备注
*/
public String getID_MAINID() {
return ID_MAINID; return ID_MAINID;
} }
/** 无备注 */ /**
public void setID_ROWID(String ID_ROWID) { * 无备注
*/
public void setID_ROWID(String ID_ROWID) {
this.ID_ROWID = ID_ROWID; this.ID_ROWID = ID_ROWID;
} }
/** 无备注 */
public String getID_ROWID() { /**
* 无备注
*/
public String getID_ROWID() {
return ID_ROWID; return ID_ROWID;
} }
/** 无备注 */ /**
public void setID_ACCOUNTNAME(String ID_ACCOUNTNAME) { * 无备注
*/
public void setID_ACCOUNTNAME(String ID_ACCOUNTNAME) {
this.ID_ACCOUNTNAME = ID_ACCOUNTNAME; this.ID_ACCOUNTNAME = ID_ACCOUNTNAME;
} }
/** 无备注 */
public String getID_ACCOUNTNAME() { /**
* 无备注
*/
public String getID_ACCOUNTNAME() {
return ID_ACCOUNTNAME; return ID_ACCOUNTNAME;
} }
/** 无备注 */ /**
public void setID_SERVICENM(String ID_SERVICENM) { * 无备注
*/
public void setID_SERVICENM(String ID_SERVICENM) {
this.ID_SERVICENM = ID_SERVICENM; this.ID_SERVICENM = ID_SERVICENM;
} }
/** 无备注 */
public String getID_SERVICENM() { /**
* 无备注
*/
public String getID_SERVICENM() {
return ID_SERVICENM; return ID_SERVICENM;
} }
/** 无备注 */ /**
public void setID_SERVICETYPE(String ID_SERVICETYPE) { * 无备注
*/
public void setID_SERVICETYPE(String ID_SERVICETYPE) {
this.ID_SERVICETYPE = ID_SERVICETYPE; this.ID_SERVICETYPE = ID_SERVICETYPE;
} }
/** 无备注 */
public String getID_SERVICETYPE() { /**
* 无备注
*/
public String getID_SERVICETYPE() {
return ID_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) { * 无备注
*/
public void setID_UNIT(String ID_UNIT) {
this.ID_UNIT = ID_UNIT; this.ID_UNIT = ID_UNIT;
} }
/** 无备注 */
public String getID_UNIT() { /**
* 无备注
*/
public String getID_UNIT() {
return ID_UNIT; return ID_UNIT;
} }
/** 无备注 */ public BigDecimal getID_NUM() {
public void setID_NUM(String ID_NUM) {
this.ID_NUM = ID_NUM;
}
/** 无备注 */
public String getID_NUM() {
return ID_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() { public BigDecimal getID_PRICE() {
return ID_PRICE;
}
public void setID_PRICE(BigDecimal ID_PRICE) {
this.ID_PRICE = ID_PRICE;
}
public BigDecimal getID_NOTAXAMOUNT() {
return ID_NOTAXAMOUNT; return ID_NOTAXAMOUNT;
} }
public void setID_NOTAXAMOUNT(BigDecimal ID_NOTAXAMOUNT) {
/** 无备注 */ this.ID_NOTAXAMOUNT = ID_NOTAXAMOUNT;
public void setID_TAX(String ID_TAX) {
this.ID_TAX = ID_TAX;
} }
/** 无备注 */
public String getID_TAX() { public BigDecimal getID_TAX() {
return ID_TAX; return ID_TAX;
} }
public void setID_TAX(BigDecimal ID_TAX) {
/** 无备注 */ this.ID_TAX = ID_TAX;
public void setID_TAXAMOUNT(String ID_TAXAMOUNT) {
this.ID_TAXAMOUNT = ID_TAXAMOUNT;
} }
/** 无备注 */
public String getID_TAXAMOUNT() { public BigDecimal getID_TAXAMOUNT() {
return ID_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_ACCOUNTNAME,
ID_SERVICENM, ID_SERVICENM,
ID_SERVICETYPE, ID_SERVICETYPE,
ID_PRICE, NULLIF(ID_PRICE, '') as ID_PRICE,
ID_UNIT, ID_UNIT,
ID_NUM, NULLIF(ID_NUM,'')ID_NUM,
ID_NOTAXAMOUNT, NULLIF(ID_NOTAXAMOUNT,'')ID_NOTAXAMOUNT,
ID_TAX, NULLIF(ID_TAX,'')ID_TAX,
ID_TAXAMOUNT NULLIF(ID_TAXAMOUNT,'')ID_TAXAMOUNT
</sql> </sql>
<!--通过ID获取数据 --> <!--通过ID获取数据 -->

View File

@ -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 BigDecimal getPT_FUELAMOUNT() {
* 无备注
*/
public void setPT_FUELAMOUNT(String PT_FUELAMOUNT) {
this.PT_FUELAMOUNT = PT_FUELAMOUNT;
}
/**
* 无备注
*/
public String getPT_FUELAMOUNT() {
return PT_FUELAMOUNT; return PT_FUELAMOUNT;
} }
public void setPT_FUELAMOUNT(BigDecimal PT_FUELAMOUNT) {
/** this.PT_FUELAMOUNT = PT_FUELAMOUNT;
* 无备注
*/
public void setPT_TAXAMOUNT(String PT_TAXAMOUNT) {
this.PT_TAXAMOUNT = PT_TAXAMOUNT;
} }
/** public BigDecimal getPT_TAXAMOUNT() {
* 无备注
*/
public String getPT_TAXAMOUNT() {
return PT_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; return PT_AMOUNT;
} }
public BigDecimal getPT_TAXRATE() {
/**
* 无备注
*/
public void setPT_TAXRATE(String PT_TAXRATE) {
this.PT_TAXRATE = PT_TAXRATE;
}
/**
* 无备注
*/
public String getPT_TAXRATE() {
return PT_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 String getPT_MAKEDATE() {
* 无备注
*/
public void setPT_MAKEDATE(Date PT_MAKEDATE) {
this.PT_MAKEDATE = PT_MAKEDATE;
}
/**
* 无备注
*/
public Date getPT_MAKEDATE() {
return PT_MAKEDATE; return PT_MAKEDATE;
} }
public void setPT_MAKEDATE(String PT_MAKEDATE) {
this.PT_MAKEDATE = PT_MAKEDATE;
}
/** /**
* 无备注 * 无备注

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; private ILexmiscivPlaneticketService lexmiscivPlaneticketService;
@Autowired @Autowired
ILexmiscivPlaneticketsService lexmiscivPlaneticketsService; ILexmiscivPlaneticketsService lexmiscivPlaneticketsService;
@Autowired
private ILexmiscivBusinvoiceService lexmiscivBusinvoiceService;
@Resource @Resource
private IIntegrationTaskLivingDetailsService taskLivingDetailsService; private IIntegrationTaskLivingDetailsService taskLivingDetailsService;
@Value("${zt.url:}") @Value("${zt.url:}")
@ -72,7 +74,7 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer
String id = requestJson.getString("id");//主表id String id = requestJson.getString("id");//主表id
CInvoiceImportHEntity importHEntity = new CInvoiceImportHEntity(); CInvoiceImportHEntity importHEntity = new CInvoiceImportHEntity();
importHEntity.setDataSourceCode(dataSourceCode); importHEntity.setDataSourceCode(dataSourceCode);
importHEntity.setId("3922481031277596479"); importHEntity.setId("3530025196803672389");
List<CInvoiceImportHEntity> cInvoiceImportHList = cInvoiceImportHService.queryInvoiceList(importHEntity); List<CInvoiceImportHEntity> cInvoiceImportHList = cInvoiceImportHService.queryInvoiceList(importHEntity);
if (CollectionUtils.isNotEmpty(cInvoiceImportHList)){ if (CollectionUtils.isNotEmpty(cInvoiceImportHList)){
ParamAssembler assembler = null; ParamAssembler assembler = null;
@ -80,7 +82,9 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer
//2 查OA明细表 //2 查OA明细表
//3 查迈瑞思发票表 //3 查迈瑞思发票表
//迈锐思发票公共信息表 //迈锐思发票公共信息表
List<LexmisPublicinfoEntity> lexmisPublicinfoEntityList = lexmisPublicinfoService.query(new LexmisPublicinfoEntity(cInvoiceH.getId(),dataSourceCode)); LexmisPublicinfoEntity lexmisPublicinfoEntity = new LexmisPublicinfoEntity(cInvoiceH.getId(),dataSourceCode);
lexmisPublicinfoEntity.setPI_ID("-1294150280639986013");
List<LexmisPublicinfoEntity> lexmisPublicinfoEntityList = lexmisPublicinfoService.query(lexmisPublicinfoEntity);
if (CollectionUtils.isNotEmpty(lexmisPublicinfoEntityList)){ if (CollectionUtils.isNotEmpty(lexmisPublicinfoEntityList)){
//税务接口每次最多传50张发票 //税务接口每次最多传50张发票
int size = lexmisPublicinfoEntityList.size(); int size = lexmisPublicinfoEntityList.size();
@ -88,20 +92,9 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer
for (int i = 0; i < size; i += batchSize){ for (int i = 0; i < size; i += batchSize){
int no = 1;//序号 int no = 1;//序号
//4 根据发票类型组装不同参数 //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(); 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(); JSONArray inputInfos = new JSONArray();
head.put("inputInfos",inputInfos);//发票录入信息单次最大50张 head.put("inputInfos",inputInfos);//发票录入信息单次最大50张
// 获取当前批次的子列表 // 获取当前批次的子列表
List<LexmisPublicinfoEntity> batchList = lexmisPublicinfoEntityList.subList(i, Math.min(i + batchSize, size)); List<LexmisPublicinfoEntity> batchList = lexmisPublicinfoEntityList.subList(i, Math.min(i + batchSize, size));
//使用stream方式 publicinfoList PI_TABLENAME分组 //使用stream方式 publicinfoList PI_TABLENAME分组
@ -129,7 +122,6 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer
switch (key){ switch (key){
case "LEXMISCIV_INVOICEMAIN"://增值税发票 case "LEXMISCIV_INVOICEMAIN"://增值税发票
zzsInvoice(dataSourceCode, info, invoiceInfo, baseInfo); zzsInvoice(dataSourceCode, info, invoiceInfo, baseInfo);
//}
break; break;
case "LEXMISCIV_TRAINTICKET"://火车票 case "LEXMISCIV_TRAINTICKET"://火车票
trainInvoice(dataSourceCode, inputInfos, info, inputInfo, invoiceInfo, baseInfo); trainInvoice(dataSourceCode, inputInfos, info, inputInfo, invoiceInfo, baseInfo);
@ -137,12 +129,16 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer
case "LEXMISCIV_PLANETICKET"://飞机行程单 case "LEXMISCIV_PLANETICKET"://飞机行程单
planeInvoice(dataSourceCode, info, invoiceInfo, baseInfo); planeInvoice(dataSourceCode, info, invoiceInfo, baseInfo);
break; break;
case "LEXMISCIV_BUSINVOICE"://客运汽车票
busInvoice(dataSourceCode, info, invoiceInfo, baseInfo);
break;
default: default:
logger.info("没有匹配到类型"); logger.info("没有匹配到类型");
break; break;
} }
no++; no++;
} }
head.put("taxNo",publicinfoList.get(0).getPI_TAXNO());//当前企业税号
} }
logger.info("调用有度发票批量导入接口请求参数:{}",head.toString()); logger.info("调用有度发票批量导入接口请求参数:{}",head.toString());
//调用税务接口 //调用税务接口
@ -179,6 +175,8 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer
return null; return null;
} }
/** /**
* 保存日志 * 保存日志
* @param integration_task_living_details_id * @param integration_task_living_details_id
@ -243,9 +241,9 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer
baseInfo.put("fphm",planeticketH.getPT_FPHM());//发票号码 baseInfo.put("fphm",planeticketH.getPT_FPHM());//发票号码
baseInfo.put("fpdm","");//发票代码 baseInfo.put("fpdm","");//发票代码
baseInfo.put("fplx",fplx);//发票类型 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("bhszje",planeticketH.getPT_NOTAXAMOUNT());//不含税总金额
baseInfo.put("jym","");//校验码 baseInfo.put("jym",planeticketH.getPT_VALIDCODE());//校验码
baseInfo.put("bxje",planeticketH.getPT_NOTAXAMOUNT());//不含税实际报销金额 baseInfo.put("bxje",planeticketH.getPT_NOTAXAMOUNT());//不含税实际报销金额
baseInfo.put("jsse","");//有效计算税额 baseInfo.put("jsse","");//有效计算税额
baseInfo.put("jsdkzq","");//计算抵扣账期 baseInfo.put("jsdkzq","");//计算抵扣账期
@ -275,6 +273,7 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer
if (null != trainticket){ if (null != trainticket){
JSONObject trainObj = new JSONObject(); JSONObject trainObj = new JSONObject();
trainObj.put("trainInvoice",JSONObject.toJSONString(trainticket)); trainObj.put("trainInvoice",JSONObject.toJSONString(trainticket));
trainObj.put("publicInvoice",JSONObject.toJSONString(info));
String fplx = "a2"; String fplx = "a2";
//1是电子票 //1是电子票
if ("1".equals(trainticket.getTT_ELECTRONIC())){ if ("1".equals(trainticket.getTT_ELECTRONIC())){
@ -288,7 +287,7 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer
baseInfo.put("fphm",trainticket.getTT_CODE());//发票号码 baseInfo.put("fphm",trainticket.getTT_CODE());//发票号码
baseInfo.put("fpdm","");//发票代码 火车票不用传 baseInfo.put("fpdm","");//发票代码 火车票不用传
baseInfo.put("fplx",fplx);//发票类型 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("bhszje",trainticket.getTT_NOTAXAMOUNT());//不含税总金额
baseInfo.put("jym","");//校验码 baseInfo.put("jym","");//校验码
baseInfo.put("bxje",trainticket.getTT_NOTAXAMOUNT());//不含税实际报销金额 baseInfo.put("bxje",trainticket.getTT_NOTAXAMOUNT());//不含税实际报销金额
@ -339,6 +338,40 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer
invoiceInfo.put("contentInfo",contentInfo); 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"://电子发票(增值税普票) case "32"://电子发票(增值税普票)
youduFplx = "32"; youduFplx = "32";
break; break;
case "14"://电子发票(通行费)
youduFplx = "14";
break;
} }
return youduFplx; return youduFplx;
} }