火车票税号取数修改,外层单位税号取数修改

This commit is contained in:
xiangerlin 2025-09-02 11:05:40 +08:00
parent 80fa3b2fd7
commit d06db101c1
4 changed files with 32 additions and 7 deletions

View File

@ -5,6 +5,7 @@ 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.entity.CInvoiceImportHEntity;
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;
@ -34,9 +35,11 @@ public class ElecTrainInvoiceAssembler implements ParamAssembler{
JSONObject param = new JSONObject();
String trainInvoice = jsonObject.getString("trainInvoice");//火车票
String publicInvoice = jsonObject.getString("publicInvoice");//发票公共信息
String cInvoiceH = jsonObject.getString("cInvoiceH");
if (StrUtil.isNotEmpty(trainInvoice)){
LexmiscivTrainticketEntity trainticketEntity = JSONObject.parseObject(trainInvoice, LexmiscivTrainticketEntity.class);
LexmisPublicinfoEntity publicInfo = JSONObject.parseObject(publicInvoice, LexmisPublicinfoEntity.class);
CInvoiceImportHEntity importHEntity = JSONObject.parseObject(cInvoiceH, CInvoiceImportHEntity.class);
if (null != trainticketEntity){
// 1. 火车票号必填
param.put("hcph", trainticketEntity.getTT_CODE());
@ -80,9 +83,9 @@ public class ElecTrainInvoiceAssembler implements ParamAssembler{
// 18. 销方名称非必填
param.put("xfmc", "");
// 19. 购方税号非必填
param.put("gfsh", Convert.toStr(trainticketEntity.getTT_BUYERTAXNO(),publicInfo.getPI_TAXNO()));
param.put("gfsh", Convert.toStr(trainticketEntity.getTT_BUYERTAXNO(),importHEntity.getMc_taxno()));
// 20. 购方名称非必填
param.put("gfmc", Convert.toStr(trainticketEntity.getTT_BUYERNAME(),publicInfo.getPI_USEACCOUNTNM()));
param.put("gfmc", Convert.toStr(trainticketEntity.getTT_BUYERNAME(),importHEntity.getMc_name()));
// 21. 出发站拼音非必填
param.put("cfzpy", "");
// 22. 到达站拼音非必填

View File

@ -10,6 +10,8 @@ import com.hzya.frame.web.entity.BaseEntity;
public class CInvoiceImportHEntity extends BaseEntity {
//表名称
private String tab_name;
private String mc_name;//入账公司名称
private String mc_taxno;//入账公司税号
//单据类型
private String bill_type;
//单据编码
@ -107,4 +109,20 @@ public class CInvoiceImportHEntity extends BaseEntity {
public void setStart_date_end(String start_date_end) {
this.start_date_end = start_date_end;
}
public String getMc_name() {
return mc_name;
}
public void setMc_name(String mc_name) {
this.mc_name = mc_name;
}
public String getMc_taxno() {
return mc_taxno;
}
public void setMc_taxno(String mc_taxno) {
this.mc_taxno = mc_taxno;
}
}

View File

@ -4,6 +4,8 @@
<resultMap id="get-CInvoiceImportHEntity-result" type="com.hzya.frame.plugin.cinvoice.entity.CInvoiceImportHEntity">
<result property="id" column="id" />
<result property="tab_name" column="tab_name" />
<result property="mc_name" column="mc_name" />
<result property="mc_taxno" column="mc_taxno" />
<result property="yd_res_field" column="yd_res_field" />
<result property="bill_type" column="bill_type" />
<result property="bill_code" column="bill_code" />
@ -14,13 +16,14 @@
</resultMap>
<select id="entity_list_base" resultMap="get-CInvoiceImportHEntity-result" parameterType="com.hzya.frame.plugin.cinvoice.entity.CInvoiceImportHEntity">
select * from v_hzya_invoice_import f
select f.*,m.mc_taxno from v_hzya_invoice_import f
left join (SELECT DISTINCT MC_NAME,mc_taxno from LEXMISCIV_MAINCONFIG GROUP BY MC_NAME,mc_taxno) m on m.MC_NAME = f.mc_name
<trim prefix="where" prefixOverrides="and">
<if test="id != null and id != ''">f.id = #{id}</if>
<if test="bill_code != null and bill_code != ''">and f.bill_code = #{bill_code}</if>
<if test="start_date_start != null and start_date_start != ''">and f.start_date >= #{start_date_start}</if>
<if test="start_date_end != null and start_date_end != ''"><![CDATA[ and f.start_date <= #{start_date_end} ]]> </if>
and push_status is null
and f.push_status is null
-- and start_date >= '2025-05-26'
</trim>
</select>

View File

@ -147,7 +147,7 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer
zzsInvoice(dataSourceCode, info, invoiceInfo, baseInfo);
break;
case "LEXMISCIV_TRAINTICKET"://火车票
trainInvoice(dataSourceCode, inputInfos, info, inputInfo, invoiceInfo, baseInfo);
trainInvoice(dataSourceCode, inputInfos, info, inputInfo, invoiceInfo, baseInfo,cInvoiceH);
break;
case "LEXMISCIV_PLANETICKET"://飞机行程单
planeInvoice(dataSourceCode, info, invoiceInfo, baseInfo);
@ -161,7 +161,7 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer
}
no++;
}
head.put("taxNo", publicinfoList.get(0).getPI_TAXNO());//当前企业税号
head.put("taxNo", cInvoiceH.getMc_taxno());//当前企业税号
}
logger.info("调用有度发票批量导入接口请求参数:{}", head.toString());
//调用税务接口
@ -305,7 +305,7 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer
* @param invoiceInfo
* @param baseInfo
*/
private void trainInvoice(String dataSourceCode, JSONArray inputInfos, LexmisPublicinfoEntity info, JSONObject inputInfo, JSONObject invoiceInfo, JSONObject baseInfo) {
private void trainInvoice(String dataSourceCode, JSONArray inputInfos, LexmisPublicinfoEntity info, JSONObject inputInfo, JSONObject invoiceInfo, JSONObject baseInfo,CInvoiceImportHEntity cInvoiceH) {
JSONObject contentInfo;
ParamAssembler assembler;
ParamAssemblerContext context;//策略上下文类
@ -317,6 +317,7 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer
JSONObject trainObj = new JSONObject();
trainObj.put("trainInvoice", JSONObject.toJSONString(trainticket));
trainObj.put("publicInvoice", JSONObject.toJSONString(info));
trainObj.put("cInvoiceH", JSONObject.toJSONString(cInvoiceH));
String fplx = "a2";
//1是电子票
if ("1".equals(trainticket.getTT_ELECTRONIC())) {