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 83e06759..7e187fd1 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 @@ -1,5 +1,6 @@ package com.hzya.frame.plugin.cinvoice.assembler; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.hzya.frame.plugin.cinvoice.dto.FlightItemInfo; @@ -41,7 +42,7 @@ public class ElecFlightInvoiceAssembler implements ParamAssembler{ // 2. 验证码,非必填 param.put("yzm", planeticketH.getPT_VALIDCODE()); // 3. 开票日期,格式为 yyyy-MM-dd,必填 - param.put("kprq", planeticketH.getPT_DATE()); + param.put("kprq", DateUtil.format(planeticketH.getPT_DATE(),"yyyy-MM-dd")); // 4. 销售单位代号,非必填 param.put("xsdwdh", planeticketH.getPT_SALERCODE()); // 5. 填开单位,非必填 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 a1ca24d5..929579b6 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 @@ -1,10 +1,14 @@ package com.hzya.frame.plugin.cinvoice.assembler; +import cn.hutool.core.convert.Convert; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.hzya.frame.plugin.cinvoice.lexmis.entity.LexmiscivTrainticketEntity; +import java.math.BigDecimal; + /** * @Description 200-电子发票(铁路电子客票) * @Author xiangerlin @@ -33,7 +37,7 @@ public class ElecTrainInvoiceAssembler implements ParamAssembler{ // 1. 火车票号,必填 param.put("hcph", trainticketEntity.getTT_CODE()); // 2. 乘车日期,格式为 yyyy-MM-dd,必填 - param.put("ccrq", trainticketEntity.getTT_DATE()); + param.put("ccrq", DateUtil.format(trainticketEntity.getTT_DATE(),"yyyy-MM-dd")); // 3. 乘车时间,格式为 HH:mm,非必填 param.put("ccsj", trainticketEntity.getTT_TIME()); // 4. 出发地,非必填 @@ -58,10 +62,15 @@ public class ElecTrainInvoiceAssembler implements ParamAssembler{ param.put("kprq", trainticketEntity.getTT_OUTDATE()); // 14. 不含税金额,非必填 param.put("bhsje", trainticketEntity.getTT_NOTAXAMOUNT()); - // 15. 税额,非必填 - param.put("se", trainticketEntity.getTT_TAXRATEAMOUNT()); // 16. 税率,非必填 - param.put("slv", trainticketEntity.getTT_TAXRATE()); + param.put("slv", Convert.toStr(trainticketEntity.getTT_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))); + }else { + param.put("se", trainticketEntity.getTT_TAXRATEAMOUNT()); + } // 17. 销方税号,非必填 param.put("xfsh", ""); // 18. 销方名称,非必填 @@ -99,11 +108,22 @@ public class ElecTrainInvoiceAssembler implements ParamAssembler{ // 33. 金额,非必填 qdHcpInfo.put("je", trainticketEntity.getTT_AMOUNT()); // 34. 税率,非必填 - qdHcpInfo.put("slv", trainticketEntity.getTT_TAXRATE()); + qdHcpInfo.put("slv", param.getString("slv")); // 35. 税额,非必填 qdHcpInfo.put("se", trainticketEntity.getTT_TAXRATEAMOUNT()); } } return param; } + + public static void main(String[] args) { + JSONObject param = new JSONObject(); + param.put("slv", Convert.toStr(null,"0.09")); + BigDecimal slv = param.getBigDecimal("slv"); + BigDecimal amount = new BigDecimal("568"); + BigDecimal b1 = BigDecimal.ONE.add(slv); + BigDecimal divide = amount.divide(b1, 6, BigDecimal.ROUND_HALF_UP); + BigDecimal se = divide.multiply(slv); + System.out.println(se); + } } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/assembler/TrainInvoiceAssembler.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/assembler/TrainInvoiceAssembler.java index cb516f2a..ce95d8cb 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/assembler/TrainInvoiceAssembler.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/assembler/TrainInvoiceAssembler.java @@ -1,5 +1,6 @@ package com.hzya.frame.plugin.cinvoice.assembler; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.hzya.frame.plugin.cinvoice.lexmis.entity.LexmiscivTrainticketEntity; @@ -30,7 +31,7 @@ public class TrainInvoiceAssembler implements ParamAssembler{ LexmiscivTrainticketEntity trainticketEntity = JSONObject.parseObject(trainInvoice, LexmiscivTrainticketEntity.class); if (null != trainticketEntity){ param.put("hcph", trainticketEntity.getTT_CODE()); // 火车票号 - param.put("ccrq", trainticketEntity.getTT_DATE()); // 乘车日期,yyyy-MM-dd + param.put("ccrq", DateUtil.format(trainticketEntity.getTT_DATE(),"yyyy-MM-dd")); // 乘车日期,yyyy-MM-dd param.put("ccsj", trainticketEntity.getTT_TIME()); // 乘车时间,HH:mm param.put("cfd", trainticketEntity.getTT_FSTATION()); // 出发地 param.put("ddd", trainticketEntity.getTT_TSTATION()); // 到达地