重汽红字申请表下载

beta
kk 2 years ago
parent 988689a2bf
commit c2bcc34e0b
  1. 6
      jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoice/v1/InvoiceController.java
  2. 35
      jianshui-invoice/src/main/java/com/jianshui/invoice/domain/InvoiceBack.java
  3. 68
      jianshui-invoice/src/main/java/com/jianshui/invoice/domain/vo/RedinfoCopyAisinoVO.java
  4. 32
      jianshui-invoice/src/main/java/com/jianshui/invoice/domain/vo/RedinfodetailAisinoVO.java
  5. 24
      jianshui-invoice/src/main/java/com/jianshui/invoice/domain/vo/api/aisino/console/DownloadJdcDetailItemVO.java
  6. 46
      jianshui-invoice/src/main/java/com/jianshui/invoice/domain/vo/api/aisino/console/DownloadJdcVO.java
  7. 2
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/adapter/request/AisinoInvoiceRequestAdapterImpl.java
  8. 187
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/AisinoConsoleInvoiceApiZhongQiServiceImpl.java
  9. 11
      jianshui-invoice/src/main/java/com/jianshui/invoice/utils/JcskTest.java
  10. 17
      jianshui-invoice/src/main/resources/mapper/invoice/InvoiceBackMapper.xml

@ -1760,7 +1760,11 @@ public class InvoiceController {
public Object addInvoiceBatch(HttpServletRequest request, String identity) throws Exception { public Object addInvoiceBatch(HttpServletRequest request, String identity) throws Exception {
// TODO: 2023/11/2 批量开票接口 // TODO: 2023/11/2 批量开票接口
// 摘成异步逻辑,状态码过来所有的错误记录数据库,记录请求过来的数据先
if (StringUtils.isEmpty(identity)) { if (StringUtils.isEmpty(identity)) {
return AjaxResult.error(ErrorCode.EMPTY_IDENTITY); return AjaxResult.error(ErrorCode.EMPTY_IDENTITY);
} }

@ -44,6 +44,41 @@ public class InvoiceBack
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime; private Date createTime;
/** 接口返回信息*/
private String resultMsg;
/** 接口返回状态码*/
private String resultCode;
/** 更新时间*/
private String updateTime;
public String getUpdateTime() {
return updateTime;
}
public void setUpdateTime(String updateTime) {
this.updateTime = updateTime;
}
public String getResultCode() {
return resultCode;
}
public void setResultCode(String resultCode) {
this.resultCode = resultCode;
}
public String getResultMsg() {
return resultMsg;
}
public void setResultMsg(String resultMsg) {
this.resultMsg = resultMsg;
}
public Date getCreateTime() { public Date getCreateTime() {
return createTime; return createTime;
} }

@ -44,6 +44,7 @@ public class RedinfoCopyAisinoVO {
/** /**
* bill_info表的bill_id * bill_info表的bill_id
*/ */
@Alias("BillInfoId")
@Excel(name = "bill_info表的bill_id") @Excel(name = "bill_info表的bill_id")
private Long billInfoId; private Long billInfoId;
@ -57,148 +58,153 @@ public class RedinfoCopyAisinoVO {
/** /**
* 信息表状态 * 信息表状态
*/ */
@Alias("statusDM") @Alias("StatusDM")
@Excel(name = "信息表状态") @Excel(name = "信息表状态")
private String redInfoStatus; private String redInfoStatus;
/** /**
* 信息表状态描述 * 信息表状态描述
*/ */
@Alias("statusMC") @Alias("StatusMC")
@Excel(name = "信息表状态描述") @Excel(name = "信息表状态描述")
private String redInfoMessage; private String redInfoMessage;
/** /**
* 信息表类型 * 信息表类型
*/ */
@Alias("billType") @Alias("BillType")
@Excel(name = "信息表类型") @Excel(name = "信息表类型")
private String redInfoType; private String redInfoType;
/** /**
* 原发票代码 * 原发票代码
*/ */
@Alias("typeCode") @Alias("TypeCode")
@Excel(name = "原发票代码") @Excel(name = "原发票代码")
private String originFpdm; private String originFpdm;
/** /**
* 信息表特殊标识 * 信息表特殊标识
*/ */
@Alias("RedInfoSpecFlag")
@Excel(name = "信息表特殊标识") @Excel(name = "信息表特殊标识")
private String redInfoSpecFlag; private String redInfoSpecFlag;
/** /**
* 原发票号码 * 原发票号码
*/ */
@Alias("invNo") @Alias("InvNo")
@Excel(name = "原发票号码") @Excel(name = "原发票号码")
private String originFphm; private String originFphm;
/** /**
* 税种类别 * 税种类别
*/ */
@Alias("szlb") @Alias("Szlb")
@Excel(name = "税种类别") @Excel(name = "税种类别")
private String taxType; private String taxType;
/** /**
* 原发票开票日期 * 原发票开票日期
*/ */
@Alias("lzkprq") @Alias("Lzkprq")
@Excel(name = "原发票开票日期") @Excel(name = "原发票开票日期")
private String originKprq; private String originKprq;
/** /**
* 多税率标志 * 多税率标志
*/ */
@Alias("isMutiRate") @Alias("IsMutiRate")
@Excel(name = "多税率标志") @Excel(name = "多税率标志")
private String multTaxRate; private String multTaxRate;
/** /**
* 填开日期 * 填开日期
*/ */
@Alias("date") @Alias("Date")
@Excel(name = "填开日期") @Excel(name = "填开日期")
private String billInputTime; private String billInputTime;
/** /**
* 购方名称 * 购方名称
*/ */
@Alias("buyerName") @Alias("BuyerName")
@Excel(name = "购方名称") @Excel(name = "购方名称")
private String buyerName; private String buyerName;
/** /**
* 购方税号 * 购方税号
*/ */
@Alias("buyerTaxCode") @Alias("BuyerTaxCode")
private String buyerTaxnum; private String buyerTaxnum;
/** /**
* 销方名称 * 销方名称
*/ */
@Alias("sellerName") @Alias("SellerName")
@Excel(name = "销方名称") @Excel(name = "销方名称")
private String sellerName; private String sellerName;
/** /**
* 销方税号 * 销方税号
*/ */
@Alias("sellTaxCode") @Alias("SellTaxCode")
@Excel(name = "销方税号") @Excel(name = "销方税号")
private String sellerTaxnum; private String sellerTaxnum;
/** /**
* 不含税金额 * 不含税金额
*/ */
@Alias("amount") @Alias("Amount")
@Excel(name = "不含税金额") @Excel(name = "不含税金额")
private BigDecimal taxfreeamt; private BigDecimal taxfreeamt;
/** /**
* 税额 * 税额
*/ */
@Alias("tax") @Alias("Tax")
@Excel(name = "税额") @Excel(name = "税额")
private BigDecimal tax; private BigDecimal tax;
/** /**
* 含税金额 * 含税金额
*/ */
@Alias("Taxamt")
@Excel(name = "含税金额") @Excel(name = "含税金额")
private BigDecimal taxamt; private BigDecimal taxamt;
/** /**
* 申请说明 * 申请说明
*/ */
@Alias("reqMemo") @Alias("ReqMemo")
@Excel(name = "申请说明") @Excel(name = "申请说明")
private String applyRemark; private String applyRemark;
/** /**
* 申请表pdf 地址 * 申请表pdf 地址
*/ */
@Alias("PdfUrl")
@Excel(name = "申请表pdf 地址") @Excel(name = "申请表pdf 地址")
private String pdfUrl; private String pdfUrl;
/** /**
* 商品编码版本号 * 商品编码版本号
*/ */
@Alias("spbmbbh") @Alias("Spbmbbh")
@Excel(name = "商品编码版本号") @Excel(name = "商品编码版本号")
private String bmbbh; private String bmbbh;
/** /**
* 营业税标志 * 营业税标志
*/ */
@Alias("BusinessTaxCode")
@Excel(name = "营业税标志") @Excel(name = "营业税标志")
private String businessTaxCode; private String businessTaxCode;
/** /**
* 申请时间 * 申请时间
*/ */
@Alias("ApplyTime")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date applyTime; private Date applyTime;
@ -206,76 +212,84 @@ public class RedinfoCopyAisinoVO {
/** /**
* 发票种类 invoice_type p电子增值税普通发票 c增值税普通发票 s 增值税专用发票 e 收购发票 f 收购发票 r增值税普通发票 * 发票种类 invoice_type p电子增值税普通发票 c增值税普通发票 s 增值税专用发票 e 收购发票 f 收购发票 r增值税普通发票
*/ */
@Alias("lzfplxdm") @Alias("Lzfplxdm")
@Excel(name = "发票种类 invoice_type", readConverterExp = "p=电子增值税普通发票,c=增值税普通发票,s=,增=值税专用发票,e=,收=购发票,f=,收=购发票,r=增值税普通发票") @Excel(name = "发票种类 invoice_type", readConverterExp = "p=电子增值税普通发票,c=增值税普通发票,s=,增=值税专用发票,e=,收=购发票,f=,收=购发票,r=增值税普通发票")
private String invoiceType; private String invoiceType;
/** /**
* 分机号 * 分机号
*/ */
@Alias("Fjh")
@Excel(name = "分机号") @Excel(name = "分机号")
private String fjh; private String fjh;
/** /**
* 终端号 * 终端号
*/ */
@Alias("TerminalNumber")
@Excel(name = "终端号") @Excel(name = "终端号")
private String terminalNumber; private String terminalNumber;
/** /**
* 设备编号 * 设备编号
*/ */
@Alias("Jspbh")
@Excel(name = "设备编号") @Excel(name = "设备编号")
private String jspbh; private String jspbh;
/** /**
* 所属月份 * 所属月份
*/ */
@Alias("Ssyf")
@Excel(name = "所属月份") @Excel(name = "所属月份")
private String ssyf; private String ssyf;
/** /**
* 税率 * 税率
*/ */
@Alias("taxRate") @Alias("TaxRate")
@Excel(name = "税率") @Excel(name = "税率")
private BigDecimal taxrate; private BigDecimal taxrate;
/** /**
* 申请选择 * 申请选择
*/ */
@Alias("Sqxz")
@Excel(name = "申请选择") @Excel(name = "申请选择")
private String sqxz; private String sqxz;
/** /**
* 经办人 * 经办人
*/ */
@Alias("Jbr")
@Excel(name = "经办人") @Excel(name = "经办人")
private String jbr; private String jbr;
/** /**
* 申请方税号 * 申请方税号
*/ */
@Alias("Reqnsrsbh")
@Excel(name = "申请方税号") @Excel(name = "申请方税号")
private String reqnsrsbh; private String reqnsrsbh;
/** /**
* 成品油标志 * 成品油标志
*/ */
@Alias("ProductOilFlag")
@Excel(name = "成品油标志") @Excel(name = "成品油标志")
private String productOilFlag; private String productOilFlag;
/** /**
* 服务公司 * 服务公司
*/ */
@Alias("ServiceSupplierKey")
@Excel(name = "服务公司") @Excel(name = "服务公司")
private String serviceSupplierKey; private String serviceSupplierKey;
/** /**
* 申请类别 * 申请类别
*/ */
@Alias("sqly") @Alias("Sqly")
@Excel(name = "申请类别") @Excel(name = "申请类别")
private Integer sqlb; // 申请类别,0为销方申请,1为购方申请 private Integer sqlb; // 申请类别,0为销方申请,1为购方申请
@ -298,27 +312,27 @@ public class RedinfoCopyAisinoVO {
/** 数科新加字段**/ /** 数科新加字段**/
@Alias("hzfphm") @Alias("Hzfphm")
@Excel(name = "红字发票号码") @Excel(name = "红字发票号码")
private String fphm; private String fphm;
@Alias("hzkprq") @Alias("Hzkprq")
@Excel(name = "红字发票开票日期") @Excel(name = "红字发票开票日期")
private String kprq; private String kprq;
@Alias("hzfpxxqrdid") @Alias("Hzfpxxqrdid")
@Excel(name = "红字发票信息确认单id") @Excel(name = "红字发票信息确认单id")
private String hzfpxxqrdid; private String hzfpxxqrdid;
@Alias("hzhjje") @Alias("Hzhjje")
@Excel(name = "红字合计金额") @Excel(name = "红字合计金额")
private String hzhjje; private String hzhjje;
@Alias("hzhjse") @Alias("Hzhjse")
@Excel(name = "红字合计税额") @Excel(name = "红字合计税额")
private String hzhjse; private String hzhjse;
@Alias("ykjhzfpbz") @Alias("Ykjhzfpbz")
@Excel(name = "是否开具红字发票") @Excel(name = "是否开具红字发票")
private String ykjhzfpbz; private String ykjhzfpbz;

@ -29,18 +29,21 @@ public class RedinfodetailAisinoVO {
/** /**
* redinfo表的id * redinfo表的id
*/ */
@Alias("RedinfoId")
@Excel(name = "redinfo表的id") @Excel(name = "redinfo表的id")
private Long redinfoId; private Long redinfoId;
/** /**
* 申请单号 * 申请单号
*/ */
@Alias("Billno")
@Excel(name = "申请单号") @Excel(name = "申请单号")
private String billno; private String billno;
/** /**
* $column.columnComment * $column.columnComment
*/ */
@Alias("Index")
@Excel(name = "序号", readConverterExp = "$column.readConverterExp()") @Excel(name = "序号", readConverterExp = "$column.readConverterExp()")
private Integer index; private Integer index;
@ -48,10 +51,11 @@ public class RedinfodetailAisinoVO {
/** /**
* 商品名称 * 商品名称
*/ */
@Alias("GoodName")
@Excel(name = "商品名称") @Excel(name = "商品名称")
private String goodName; private String goodName;
@Alias("goodsUnit") @Alias("GoodsUnit")
/** /**
* 单位 * 单位
*/ */
@ -61,73 +65,77 @@ public class RedinfodetailAisinoVO {
/** /**
* 规格型号 * 规格型号
*/ */
@Alias("goodsGgxh") @Alias("GoodsGgxh")
@Excel(name = "规格型号") @Excel(name = "规格型号")
private String spec; private String spec;
/** /**
* 商品数量 * 商品数量
*/ */
@Alias("goodsNum") @Alias("GoodsNum")
@Excel(name = "商品数量") @Excel(name = "商品数量")
private BigDecimal num; private BigDecimal num;
/** /**
* 商品单价不含税 * 商品单价不含税
*/ */
@Alias("goodsPrice") @Alias("GoodsPrice")
@Excel(name = "商品单价,不含税") @Excel(name = "商品单价,不含税")
private BigDecimal price; private BigDecimal price;
/** /**
* 不含税金额 * 不含税金额
*/ */
@Alias("goodsJE") @Alias("GoodsJE")
@Excel(name = "不含税金额") @Excel(name = "不含税金额")
private BigDecimal taxfreeamt; private BigDecimal taxfreeamt;
/** /**
* 税率 * 税率
*/ */
@Alias("goodsTaxRate") @Alias("GoodsTaxRate")
@Excel(name = "税率") @Excel(name = "税率")
private BigDecimal taxrate; private BigDecimal taxrate;
/** /**
* 税额 * 税额
*/ */
@Alias("goodsSE") @Alias("GoodsSE")
@Excel(name = "税额") @Excel(name = "税额")
private BigDecimal tax; private BigDecimal tax;
/** /**
* 含税金额 * 含税金额
*/ */
@Alias("Taxamt")
@Excel(name = "含税金额") @Excel(name = "含税金额")
private BigDecimal taxamt; private BigDecimal taxamt;
/** /**
* 税收分类编码 * 税收分类编码
*/ */
@Alias("Spbm")
@Excel(name = "税收分类编码") @Excel(name = "税收分类编码")
private String spbm; private String spbm;
/** /**
* 商品编码版本号 * 商品编码版本号
*/ */
@Alias("Bmbbh")
@Excel(name = "商品编码版本号") @Excel(name = "商品编码版本号")
private String bmbbh; private String bmbbh;
/** /**
* 优惠政策标识0不使用1使用 * 优惠政策标识0不使用1使用
*/ */
@Alias("syyhzcbz") @Alias("Syyhzcbz")
@Excel(name = "优惠政策标识,0不使用,1使用") @Excel(name = "优惠政策标识,0不使用,1使用")
private Integer yhzcbs; private Integer yhzcbs;
/** /**
* 增值税特殊管理优惠政策表示名称 * 增值税特殊管理优惠政策表示名称
*/ */
@Alias("Zzstsgl")
@Excel(name = "增值税特殊管理", readConverterExp = "优=惠政策表示名称") @Excel(name = "增值税特殊管理", readConverterExp = "优=惠政策表示名称")
private String zzstsgl; private String zzstsgl;
@ -141,35 +149,41 @@ public class RedinfodetailAisinoVO {
/** /**
* 商品编码简称 * 商品编码简称
*/ */
@Alias("GoodAbbreviation")
@Excel(name = "商品编码简称") @Excel(name = "商品编码简称")
private String goodAbbreviation; private String goodAbbreviation;
/** /**
* 发票行性质 * 发票行性质
*/ */
@Alias("Fphxz")
@Excel(name = "发票行性质") @Excel(name = "发票行性质")
private Integer fphxz; private Integer fphxz;
/** /**
* 扣除额 * 扣除额
*/ */
@Alias("Kce")
@Excel(name = "扣除额") @Excel(name = "扣除额")
private BigDecimal kce; private BigDecimal kce;
/** /**
* 修改时间 * 修改时间
*/ */
@Alias("UpdatedTime")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date updatedTime; private Date updatedTime;
// 含税标志 // 含税标志
@TableField(exist = false) @TableField(exist = false)
@JsonIgnore @JsonIgnore
@Alias("hsbz") @Alias("Hsbz")
private String withTaxFlag; private String withTaxFlag;
// 含税单价 // 含税单价
@Alias("PriceWithTax")
@TableField(exist = false) @TableField(exist = false)
@JsonIgnore @JsonIgnore
private String priceWithTax; private String priceWithTax;

@ -11,39 +11,39 @@ import lombok.Data;
public class DownloadJdcDetailItemVO { public class DownloadJdcDetailItemVO {
// 商品名称 // 商品名称
private String goodsName; private String GoodsName;
//计量单位 //计量单位
private String goodsUnit; private String GoodsUnit;
//单价 //单价
private String goodsPrice; private String GoodsPrice;
//税率 //税率
private String goodsTaxRate; private String GoodsTaxRate;
//规格型号 //规格型号
private String goodsGgxh; private String GoodsGgxh;
//数量 //数量
private String goodsNum; private String GoodsNum;
//金额 //金额
private String goodsJE; private String GoodsJE;
//税额 //税额
private String goodsSE; private String GoodsSE;
// 含税标志 // 含税标志
private String hsbz; private String Hsbz;
// 商品编码 // 商品编码
private String spbm; private String Spbm;
//商品企业自编 //商品企业自编
private String qyspbm; private String Qyspbm;
//是否使用优惠政策标识0:不使用,1:使用 //是否使用优惠政策标识0:不使用,1:使用
private String syyhzcbz; private String Syyhzcbz;
// 零税率标识 // 零税率标识
private String LSLBZ; private String LSLBZ;

@ -15,73 +15,73 @@ public class DownloadJdcVO {
private String ReqBillNo; private String ReqBillNo;
// 信息表编号 // 信息表编号
private String resBillNo; private String ResBillNo;
// 信息表状态代码 // 信息表状态代码
private String statusDM; private String StatusDM;
// 信息表状态描述 // 信息表状态描述
private String statusMC; private String StatusMC;
// 信息表类型 // 信息表类型
private String billType; private String BillType;
// 对应蓝票代码 // 对应蓝票代码
private String typeCode; private String TypeCode;
// 对应蓝票号码 // 对应蓝票号码
private String invNo; private String InvNo;
// 税种类别 // 税种类别
private String szlb; private String Szlb;
// 多税率标志 // 多税率标志
private String isMutiRate; private String IsMutiRate;
// 填开日期 // 填开日期
private String date; private String Date;
// 购方名称 // 购方名称
private String buyerName; private String BuyerName;
// 购方税号 // 购方税号
private String buyerTaxCode; private String BuyerTaxCode;
// 购方地址电话 // 购方地址电话
private String buyerAdd; private String BuyerAdd;
// 购方银行账号 // 购方银行账号
private String buyerBank; private String BuyerBank;
// 销方名称 // 销方名称
private String sellerName; private String SellerName;
// 销方税号 // 销方税号
private String sellTaxCode; private String SellTaxCode;
// 合计金额 // 合计金额
private String amount; private String Amount;
// 税率 // 税率
private String taxRate; private String TaxRate;
// 合计税额 // 合计税额
private String tax; private String Tax;
// 申请说明 // 申请说明
private String reqMemo; private String ReqMemo;
// 商品编码版本号 // 商品编码版本号
private String spbmbbh; private String Spbmbbh;
// 含税税率标识 // 含税税率标识
private String slbz; private String Slbz;
// 异地代开 // 异地代开
private String yddk; private String Yddk;
// 代开比对标识 // 代开比对标识
private String dkbdbs; private String Dkbdbs;
// 商品明细 // 商品明细
private List<DownloadJdcDetailVO> RedInvReqBillMx; private List<DownloadJdcDetailVO> RedInvReqBillMx;

@ -103,7 +103,7 @@ public class AisinoInvoiceRequestAdapterImpl implements IInvoiceRequestService {
// 平台解密 // 平台解密
try { try {
// TODO: 2023/9/20 // TODO: 2023/9/20
order = AisinoInvoiceDecryptUtil.decrypt(order, JKey); // order = AisinoInvoiceDecryptUtil.decrypt(order, JKey);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
throw new JianshuiParamErrorException(ErrorCode.DECRYPT_ERROR, companyservice, "invoice"); throw new JianshuiParamErrorException(ErrorCode.DECRYPT_ERROR, companyservice, "invoice");

@ -103,7 +103,6 @@ public class AisinoConsoleInvoiceApiZhongQiServiceImpl implements IInvoiceApiSer
static final String SUFFIX = ".tmp";//后缀字符串定义文件的扩展名;如果为null,则将使用后缀".tmp" static final String SUFFIX = ".tmp";//后缀字符串定义文件的扩展名;如果为null,则将使用后缀".tmp"
/** /**
* 1.发票开具 SID = 1 * 1.发票开具 SID = 1
* *
@ -293,12 +292,12 @@ public class AisinoConsoleInvoiceApiZhongQiServiceImpl implements IInvoiceApiSer
try { try {
// 控制台文档给的不对,反了 // 控制台文档给的不对,反了
String jdcbz = aisinoConsoleInvoiceAddDTO.getJDCBZ() != null ? aisinoConsoleInvoiceAddDTO.getJDCBZ() : ""; String jdcbz = aisinoConsoleInvoiceAddDTO.getJDCBZ() != null ? aisinoConsoleInvoiceAddDTO.getJDCBZ() : "";
log.info("机动车标志:{}",jdcbz); log.info("机动车标志:{}", jdcbz);
if("1".equals(jdcbz)){ if ("1".equals(jdcbz)) {
aisinoConsoleInvoiceAddDTO.setJDCBZ("2"); aisinoConsoleInvoiceAddDTO.setJDCBZ("2");
}else if("2".equals(jdcbz)){ } else if ("2".equals(jdcbz)) {
aisinoConsoleInvoiceAddDTO.setJDCBZ("1"); aisinoConsoleInvoiceAddDTO.setJDCBZ("1");
}else { } else {
aisinoConsoleInvoiceAddDTO.setJDCBZ("2"); aisinoConsoleInvoiceAddDTO.setJDCBZ("2");
} }
@ -405,7 +404,7 @@ public class AisinoConsoleInvoiceApiZhongQiServiceImpl implements IInvoiceApiSer
try { try {
Long c = Long.valueOf(RandomUtil.randomInt(3, 5)); Long c = Long.valueOf(RandomUtil.randomInt(3, 5));
Thread.sleep(c * 1000); Thread.sleep(c * 1000);
callBackAisino(finalQueryInvoiceBack,callBackUrl, invoice.getId()); callBackAisino(finalQueryInvoiceBack, callBackUrl, invoice.getId());
} catch (InterruptedException e) { } catch (InterruptedException e) {
} }
@ -429,7 +428,7 @@ public class AisinoConsoleInvoiceApiZhongQiServiceImpl implements IInvoiceApiSer
* @param callBackUrl * @param callBackUrl
* @param id * @param id
*/ */
private void callBackAisino(InvoiceBack invoiceBack,String callBackUrl, Long id) { private void callBackAisino(InvoiceBack invoiceBack, String callBackUrl, Long id) {
// TODO: 2023/10/27 回调处理 // TODO: 2023/10/27 回调处理
@ -451,21 +450,21 @@ public class AisinoConsoleInvoiceApiZhongQiServiceImpl implements IInvoiceApiSer
log.info("【控制台】发票回调接口,发送数据结束,id={},接口返回信息={}", id, result); log.info("【控制台】发票回调接口,发送数据结束,id={},接口返回信息={}", id, result);
cn.hutool.json.JSONObject jsonObject = JSONUtil.parseObj(result); cn.hutool.json.JSONObject jsonObject = JSONUtil.parseObj(result);
if(jsonObject != null){ if (jsonObject != null) {
String status = jsonObject.get("Result") != null ? jsonObject.get("Result").toString():""; String status = jsonObject.get("Result") != null ? jsonObject.get("Result").toString() : "";
String message = jsonObject.get("Message")!= null ? jsonObject.get("Message").toString():""; String message = jsonObject.get("Message") != null ? jsonObject.get("Message").toString() : "";
if("0000".equals(status)){ if ("0000".equals(status)) {
invoiceBack.setStatus("1"); invoiceBack.setStatus("1");
invoiceBack.setBackMsg(message); invoiceBack.setBackMsg(message);
invoiceBackMapper.updateInvoiceBack(invoiceBack); invoiceBackMapper.updateInvoiceBack(invoiceBack);
}else if("9999".equals(status)){ } else if ("9999".equals(status)) {
invoiceBack.setStatus("3"); invoiceBack.setStatus("3");
invoiceBack.setBackMsg(message); invoiceBack.setBackMsg(message);
invoiceBackMapper.updateInvoiceBack(invoiceBack); invoiceBackMapper.updateInvoiceBack(invoiceBack);
}else { } else {
invoiceBack.setStatus("2"); invoiceBack.setStatus("2");
invoiceBack.setBackMsg(status+message); invoiceBack.setBackMsg(status + message);
invoiceBackMapper.updateInvoiceBack(invoiceBack); invoiceBackMapper.updateInvoiceBack(invoiceBack);
} }
} }
@ -889,7 +888,7 @@ public class AisinoConsoleInvoiceApiZhongQiServiceImpl implements IInvoiceApiSer
String fjh = companyserviceDetailList.get(0).getFjh(); String fjh = companyserviceDetailList.get(0).getFjh();
// 组装报文 // 组装报文
AisinoConsoleInvoiceRedDownloadDTO downloadDTO = BeanUtil.copyProperties(downloadRedInfoDTO,AisinoConsoleInvoiceRedDownloadDTO.class); AisinoConsoleInvoiceRedDownloadDTO downloadDTO = BeanUtil.copyProperties(downloadRedInfoDTO, AisinoConsoleInvoiceRedDownloadDTO.class);
downloadDTO.setYQZT("N"); downloadDTO.setYQZT("N");
downloadDTO.setXXBFW("0"); downloadDTO.setXXBFW("0");
downloadDTO.setPAGENO("1"); downloadDTO.setPAGENO("1");
@ -924,7 +923,65 @@ public class AisinoConsoleInvoiceApiZhongQiServiceImpl implements IInvoiceApiSer
throw new JianshuiServiceException(ajaxResult.getMsg()); throw new JianshuiServiceException(ajaxResult.getMsg());
} }
cn.hutool.json.JSONObject resultJSON = JSONUtil.parseObj(ajaxResult.get("data")); /** sb控制台和文档不一样*/
String retdata = ajaxResult.get("data") != null ? ajaxResult.get("data").toString() : "";
if (StrUtil.isEmpty(retdata)) {
return new HXResponse("9999", "下载失败");
}
String FPXT_COM_OUTPUT = JSONUtil.parseObj(retdata).get("FPXT_COM_OUTPUT") != null ?
JSONUtil.parseObj(retdata).get("FPXT_COM_OUTPUT").toString() : "";
if (StrUtil.isEmpty(retdata)) {
return new HXResponse("9999", "下载失败");
}
String data = JSONUtil.parseObj(FPXT_COM_OUTPUT).get("DATA") != null ?
JSONUtil.parseObj(FPXT_COM_OUTPUT).get("DATA").toString() : "";
if (StrUtil.isNotEmpty(data)) {
System.out.println("存在");
System.out.println(data);
if (StrUtil.isNotEmpty(data)) {
// Map<String, Object> map = new HashMap<>();
data = Base64.decodeStr(data, "GB2312");
if (data.indexOf("<DATA>") != -1 && data.indexOf("</DATA>") != -1) {
String dataChild = data.substring(data.indexOf("<DATA>") + 6, data.indexOf("</DATA>"));
cn.hutool.json.JSONObject dataChildJson = JSONUtil.parseObj(dataChild);
String RedInvReqBill = dataChildJson.get("RedInvReqBill").toString();
// TODO: 2023/11/4 这里处理
// cn.hutool.json.JSONArray jsonArray = JSONUtil.parseArray(RedInvReqBill);
cn.hutool.json.JSONObject jsonObject = JSONUtil.parseObj(RedInvReqBill);
JSONArray jsonArray1 = new JSONArray();
jsonArray1.add(jsonObject);
// 拿到最终报文
// List<DownloadJdcVO> downloadJdcVOList = BeanUtil.copyToList(jsonArray, DownloadJdcVO.class);
List<DownloadJdcVO> downloadJdcVOList = BeanUtil.copyToList(jsonArray1, DownloadJdcVO.class);
// 解析
List<Redinfo> red = null;
try {
red = parseRedinfo(downloadJdcVOList);
} catch (Exception e) {
log.info("红字信息表税局解密错误:{}", e);
return new HXResponse("9999", "系统异常!!!");
}
return new HXResponse("0000", red);
}
}
}
return new HXResponse("9999", "系统错误!");
// ajaxResult.get("data") != null ? JSONUtil.parseObj(ajaxResult.get("data")).get("FPXT_COM_OUTPUT")
/* cn.hutool.json.JSONObject resultJSON = JSONUtil.parseObj(ajaxResult.get("data"));
String retcode = resultJSON.get("retcode") != null ? resultJSON.get("retcode").toString() : ""; String retcode = resultJSON.get("retcode") != null ? resultJSON.get("retcode").toString() : "";
String retmsg = resultJSON.get("retmsg") != null ? resultJSON.get("retmsg").toString() : ""; String retmsg = resultJSON.get("retmsg") != null ? resultJSON.get("retmsg").toString() : "";
String retdata = resultJSON.get("retdata") != null ? resultJSON.get("retdata").toString() : ""; String retdata = resultJSON.get("retdata") != null ? resultJSON.get("retdata").toString() : "";
@ -971,16 +1028,53 @@ public class AisinoConsoleInvoiceApiZhongQiServiceImpl implements IInvoiceApiSer
return new HXResponse("9999",retmsg); return new HXResponse("9999",retmsg);
}else{ }else{
return new HXResponse("9999",retmsg); return new HXResponse("9999",retmsg);
} }*/
} }
public static void main(String[] args) {
String aa = "{\"ReqBillNo\":\"661824626856231102101257\",\"ResBillNo\":4109222311000083,\"StatusDM\":\"TZD0000\",\"StatusMC\":\"审核通过\",\"BillType\":0,\"TypeCode\":\"0000000000\",\"InvNo\":\"00000000\",\"Szlb\":1,\"IsMutiRate\":0,\"Date\":\"2023-11-02\",\"BuyerName\":\"河南首发汽车销售服务有限公司\",\"BuyTaxCode\":\"91410922MA455KT3X6\",\"BuyerAdd\":\"\",\"BuyerBank\":\"\",\"SellerName\":\"中国重汽集团济南商用车有限公司\",\"SellTaxCode\":\"9137010072624213XP\",\"Amount\":-246902.65,\"TaxRate\":0.13,\"Tax\":-32097.35,\"ReqMemo\":\"Y\",\"SPBMBBH\":50,\"SLBZ\":0,\"YDDK\":\"\",\"DKBDBS\":\"\",\"Tspz\":\"\",\"Xhqdbz\":\"N\",\"RedInvReqBillMx\":{\"GoodsMx\":{\"GoodsName\":\"*机动车*销售折让\",\"GoodsUnit\":\"\",\"GoodsPrice\":\"\",\"GoodsTaxRate\":0.13,\"GoodsGgxh\":\"\",\"GoodsNum\":\"\",\"GoodsJE\":-246902.65,\"GoodsSE\":-32097.35,\"HS_BZ\":\"N\",\"SPBM\":1090305040000000000,\"QYSPBM\":\"004\",\"SYYHZCBZ\":0,\"YHZC\":\"\",\"LSLBZ\":\"\"}}}";
cn.hutool.json.JSONObject jsonObject = JSONUtil.parseObj(aa);
JSONArray jsonArray1 = new JSONArray();
jsonArray1.add(jsonObject);
// 拿到最终报文
// List<DownloadJdcVO> downloadJdcVOList = BeanUtil.copyToList(jsonArray, DownloadJdcVO.class);
List<DownloadJdcVO> downloadJdcVOList = BeanUtil.copyToList(jsonArray1, DownloadJdcVO.class);
// 解析
List<Redinfo> redinfoList = null;
try {
redinfoList = new ArrayList<>();
for (DownloadJdcVO downloadJdcVO : downloadJdcVOList) {
RedinfoCopyAisinoVO redinfoCopyAisinoVO = BeanUtil.copyProperties(downloadJdcVO, RedinfoCopyAisinoVO.class);
// 明细处理
if (!CollectionUtils.isEmpty(downloadJdcVO.getRedInvReqBillMx()) && !CollectionUtils.isEmpty(downloadJdcVO.getRedInvReqBillMx().get(0).getGoodsMx())) {
List<DownloadJdcDetailItemVO> downloadJdcDetailItemVOS = downloadJdcVO.getRedInvReqBillMx().get(0).getGoodsMx();
List<RedinfodetailAisinoVO> redinfodetailAisinoVOList = BeanUtil.copyToList(downloadJdcDetailItemVOS, RedinfodetailAisinoVO.class);
redinfoCopyAisinoVO.setRedinfodetailList(redinfodetailAisinoVOList);
}
// 返回转换
Redinfo redinfo = BeanUtil.copyProperties(BeanToMapUtils.fastJsonBean2Map(redinfoCopyAisinoVO), Redinfo.class);
redinfoList.add(redinfo);
}
System.out.println(redinfoList);
} catch (Exception e) {
log.info("红字信息表税局解密错误:{}", e);
// return new HXResponse("9999", "系统异常!!!");
}
// return new HXResponse("0000", red);
}
/** /**
* @author kk * @author kk
* @date 15:25 * @date 15:25
* @param: [downloadJdcVOList] * @param: [downloadJdcVOList]
* @return: * @return: 红字信息表下载报文转换
* 红字信息表下载报文转换 */
*/
private List<Redinfo> parseRedinfo(List<DownloadJdcVO> downloadJdcVOList) { private List<Redinfo> parseRedinfo(List<DownloadJdcVO> downloadJdcVOList) {
List<Redinfo> redinfoList = new ArrayList<>(); List<Redinfo> redinfoList = new ArrayList<>();
@ -989,9 +1083,9 @@ public class AisinoConsoleInvoiceApiZhongQiServiceImpl implements IInvoiceApiSer
RedinfoCopyAisinoVO redinfoCopyAisinoVO = BeanUtil.copyProperties(downloadJdcVO, RedinfoCopyAisinoVO.class); RedinfoCopyAisinoVO redinfoCopyAisinoVO = BeanUtil.copyProperties(downloadJdcVO, RedinfoCopyAisinoVO.class);
// 明细处理 // 明细处理
if(!CollectionUtils.isEmpty(downloadJdcVO.getRedInvReqBillMx()) && !CollectionUtils.isEmpty(downloadJdcVO.getRedInvReqBillMx().get(0).getGoodsMx())){ if (!CollectionUtils.isEmpty(downloadJdcVO.getRedInvReqBillMx()) && !CollectionUtils.isEmpty(downloadJdcVO.getRedInvReqBillMx().get(0).getGoodsMx())) {
List<DownloadJdcDetailItemVO> downloadJdcDetailItemVOS = downloadJdcVO.getRedInvReqBillMx().get(0).getGoodsMx(); List<DownloadJdcDetailItemVO> downloadJdcDetailItemVOS = downloadJdcVO.getRedInvReqBillMx().get(0).getGoodsMx();
List<RedinfodetailAisinoVO> redinfodetailAisinoVOList = BeanUtil.copyToList(downloadJdcDetailItemVOS,RedinfodetailAisinoVO.class); List<RedinfodetailAisinoVO> redinfodetailAisinoVOList = BeanUtil.copyToList(downloadJdcDetailItemVOS, RedinfodetailAisinoVO.class);
redinfoCopyAisinoVO.setRedinfodetailList(redinfodetailAisinoVOList); redinfoCopyAisinoVO.setRedinfodetailList(redinfodetailAisinoVOList);
} }
@ -1151,10 +1245,10 @@ public class AisinoConsoleInvoiceApiZhongQiServiceImpl implements IInvoiceApiSer
@Override @Override
public HXResponse exportVehicleInvoice(JSONObject decryptResult, Companyservice companyservice) { public HXResponse exportVehicleInvoice(JSONObject decryptResult, Companyservice companyservice) {
ExportVehicleDTO exportVehicleDTO = BeanUtil.copyProperties(decryptResult,ExportVehicleDTO.class); ExportVehicleDTO exportVehicleDTO = BeanUtil.copyProperties(decryptResult, ExportVehicleDTO.class);
if(BeanUtil.isEmpty(exportVehicleDTO)){ if (BeanUtil.isEmpty(exportVehicleDTO)) {
return new HXResponse("9999","请求参数为空!"); return new HXResponse("9999", "请求参数为空!");
} }
// 机动车加密导出路径配置 // 机动车加密导出路径配置
@ -1169,13 +1263,13 @@ public class AisinoConsoleInvoiceApiZhongQiServiceImpl implements IInvoiceApiSer
} catch (Exception e) { } catch (Exception e) {
log.error("【销项发票】【总部控制台接口】【机动车加密】机动车加密文件导出请求异常,请求报文{},销方信息{}", JSONUtil.parse(decryptResult).toString(), JSONObject.toJSONString(companyservice)); log.error("【销项发票】【总部控制台接口】【机动车加密】机动车加密文件导出请求异常,请求报文{},销方信息{}", JSONUtil.parse(decryptResult).toString(), JSONObject.toJSONString(companyservice));
e.printStackTrace(); e.printStackTrace();
return new HXResponse("9999","系统异常!"); return new HXResponse("9999", "系统异常!");
} }
log.info("【销项发票】【总部控制台发票】机动车加密文件导出结果{}", ajaxResult.toString()); log.info("【销项发票】【总部控制台发票】机动车加密文件导出结果{}", ajaxResult.toString());
//返回报文解析 //返回报文解析
if (ajaxResult.isError()) { if (ajaxResult.isError()) {
return new HXResponse("9999",ajaxResult.getMsg()); return new HXResponse("9999", ajaxResult.getMsg());
} }
cn.hutool.json.JSONObject resultJSON = JSONUtil.parseObj(ajaxResult.get("data")); cn.hutool.json.JSONObject resultJSON = JSONUtil.parseObj(ajaxResult.get("data"));
@ -1189,7 +1283,7 @@ public class AisinoConsoleInvoiceApiZhongQiServiceImpl implements IInvoiceApiSer
if (secretIdProp == null || StrUtil.isEmpty(secretIdProp.getValue())) { if (secretIdProp == null || StrUtil.isEmpty(secretIdProp.getValue())) {
log.info("【销项发票】【总部控制台发票-机动车加密】推送nginx地址未配置!aisino_nginx_url"); log.info("【销项发票】【总部控制台发票-机动车加密】推送nginx地址未配置!aisino_nginx_url");
return new HXResponse("9999","推送中间件地址未配置!"); return new HXResponse("9999", "推送中间件地址未配置!");
} }
String downloadUrl = secretIdProp.getValue(); String downloadUrl = secretIdProp.getValue();
@ -1197,7 +1291,7 @@ public class AisinoConsoleInvoiceApiZhongQiServiceImpl implements IInvoiceApiSer
cn.hutool.json.JSONObject queryDto = JSONUtil.parseObj(json); cn.hutool.json.JSONObject queryDto = JSONUtil.parseObj(json);
if (queryDto == null) { if (queryDto == null) {
log.info("【销项发票】【总部控制台发票-机动车加密】查询条件未获取到!"); log.info("【销项发票】【总部控制台发票-机动车加密】查询条件未获取到!");
return new HXResponse("9999","查询条件未获取到!"); return new HXResponse("9999", "查询条件未获取到!");
} }
String indexPage = null; String indexPage = null;
@ -1205,7 +1299,7 @@ public class AisinoConsoleInvoiceApiZhongQiServiceImpl implements IInvoiceApiSer
indexPage = HttpUtil.get(downloadUrl); indexPage = HttpUtil.get(downloadUrl);
} catch (Exception e) { } catch (Exception e) {
log.info("【销项发票】【总部控制台发票-机动车加密】{}", e); log.info("【销项发票】【总部控制台发票-机动车加密】{}", e);
return new HXResponse("9999","中间件读取失败!"); return new HXResponse("9999", "中间件读取失败!");
} }
String startDate = queryDto.get("KSRQ") != null ? queryDto.get("KSRQ").toString().replace("-", ".") : ""; String startDate = queryDto.get("KSRQ") != null ? queryDto.get("KSRQ").toString().replace("-", ".") : "";
@ -1244,12 +1338,12 @@ public class AisinoConsoleInvoiceApiZhongQiServiceImpl implements IInvoiceApiSer
// InputStream is = new ByteArrayInputStream(fileStream.getBytes()); // InputStream is = new ByteArrayInputStream(fileStream.getBytes());
CompanyserviceProp qyjc = companyserviceProp.selectPropByKey(companyservice.getCompanyid(), "aisino_qyjc"); CompanyserviceProp qyjc = companyserviceProp.selectPropByKey(companyservice.getCompanyid(), "aisino_qyjc");
if(qyjc == null || StrUtil.isEmpty(qyjc.getValue())){ if (qyjc == null || StrUtil.isEmpty(qyjc.getValue())) {
return new HXResponse("9999","重汽推送企业简称未设置!"); return new HXResponse("9999", "重汽推送企业简称未设置!");
} }
CompanyserviceProp zdr = companyserviceProp.selectPropByKey(companyservice.getCompanyid(), "aisino_zdr"); CompanyserviceProp zdr = companyserviceProp.selectPropByKey(companyservice.getCompanyid(), "aisino_zdr");
if(zdr == null || StrUtil.isEmpty(zdr.getValue())){ if (zdr == null || StrUtil.isEmpty(zdr.getValue())) {
return new HXResponse("9999","重汽推送制单人未设置!"); return new HXResponse("9999", "重汽推送制单人未设置!");
} }
// 调用重汽的推送接口 // 调用重汽的推送接口
@ -1260,12 +1354,12 @@ public class AisinoConsoleInvoiceApiZhongQiServiceImpl implements IInvoiceApiSer
CompanyserviceProp pushUrl = companyserviceProp.selectPropByKey(companyservice.getCompanyid(), "aisino_upload_url"); CompanyserviceProp pushUrl = companyserviceProp.selectPropByKey(companyservice.getCompanyid(), "aisino_upload_url");
if (pushUrl == null || StrUtil.isEmpty(pushUrl.getValue())) { if (pushUrl == null || StrUtil.isEmpty(pushUrl.getValue())) {
return new HXResponse("9999","重汽推送机动车地址未设置!"); return new HXResponse("9999", "重汽推送机动车地址未设置!");
} }
String retCode = null; String retCode = null;
String retMsg = null; String retMsg = null;
try { try {
log.info("【机动车加密接口推送】请求内容:{}",paramMap); log.info("【机动车加密接口推送】请求内容:{}", paramMap);
// String result = HttpUtil.post(pushUrl.getValue(), paramMap); // String result = HttpUtil.post(pushUrl.getValue(), paramMap);
String result = HttpRequest.post(pushUrl.getValue()) String result = HttpRequest.post(pushUrl.getValue())
.form(paramMap)//表单内容 .form(paramMap)//表单内容
@ -1276,7 +1370,7 @@ public class AisinoConsoleInvoiceApiZhongQiServiceImpl implements IInvoiceApiSer
retCode = jsonObject.get("retCode") != null ? jsonObject.get("retCode").toString() : ""; retCode = jsonObject.get("retCode") != null ? jsonObject.get("retCode").toString() : "";
retMsg = jsonObject.get("retMsg") != null ? jsonObject.get("retMsg").toString() : ""; retMsg = jsonObject.get("retMsg") != null ? jsonObject.get("retMsg").toString() : "";
} catch (Exception e) { } catch (Exception e) {
log.info("【机动车加密接口推送】超时,{}",e); log.info("【机动车加密接口推送】超时,{}", e);
return new HXResponse("9999", "推送接口超时!"); return new HXResponse("9999", "推送接口超时!");
} }
// 重汽返回接口信息 // 重汽返回接口信息
@ -1293,13 +1387,12 @@ public class AisinoConsoleInvoiceApiZhongQiServiceImpl implements IInvoiceApiSer
} }
/** /**
* @author kk * @author kk
* @date 17:42 * @date 17:42
* @param: [in] * @param: [in]
* @return: * @return: 机动车加密导出-文件转化本地
* 机动车加密导出-文件转化本地 */
*/ public static File stream2file(InputStream in) throws IOException {
public static File stream2file (InputStream in) throws IOException {
final File tempFile = File.createTempFile(PREFIX, SUFFIX); final File tempFile = File.createTempFile(PREFIX, SUFFIX);
tempFile.deleteOnExit(); tempFile.deleteOnExit();
try (FileOutputStream out = new FileOutputStream(tempFile)) { try (FileOutputStream out = new FileOutputStream(tempFile)) {

@ -119,6 +119,8 @@ public class JcskTest {
" }\n" + " }\n" +
"}"; "}";
/* order = "{ \n" + /* order = "{ \n" +
" \"appkey\": \"935248bf224f6c8431cdc1969f029519\",\n" + " \"appkey\": \"935248bf224f6c8431cdc1969f029519\",\n" +
" \"async\": false,\n" + " \"async\": false,\n" +
@ -297,6 +299,15 @@ public class JcskTest {
" \"requestId\": \"20230816@385a441d-4095-4bf5-aad5-45da817d790c\",\n" + " \"requestId\": \"20230816@385a441d-4095-4bf5-aad5-45da817d790c\",\n" +
" \"serviceId\": \"tycxjk\"\n" + " \"serviceId\": \"tycxjk\"\n" +
"}"; "}";
order = "{\n" +
" \"appkey\": \"935248bf224f6c8431cdc1969f029519\",\n" +
" \"dqbm\":\"beijing\",\n" +
" \"async\": false,\n" +
" \"bsrysfzjhm\":\"370404199302011453\",\n" +
" \"nsrsbh\": \"92370214MACAAEK16E\",\n" +
" \"requestId\": \"20230816@385a441d-4095-4bf5-aad5-45da817d790c\",\n" +
" \"serviceId\": \"tycxjk\"\n" +
"}";
// //
System.out.println(order); System.out.println(order);

@ -12,10 +12,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="identity" column="identity" /> <result property="identity" column="identity" />
<result property="createTime" column="create_time" /> <result property="createTime" column="create_time" />
<result property="backMsg" column="back_msg" /> <result property="backMsg" column="back_msg" />
<result property="resultMsg" column="result_msg" />
<result property="resultCode" column="result_code" />
<result property="updateTime" column="update_time" />
</resultMap> </resultMap>
<sql id="selectInvoiceBackVo"> <sql id="selectInvoiceBackVo">
select id, system_orderno, status, back_url, identity, create_time, back_msg from invoice_back select id, system_orderno, status, back_url, identity, create_time, back_msg,result_msg,result_code,update_time from invoice_back
</sql> </sql>
<select id="selectInvoiceBackList" parameterType="com.jianshui.invoice.domain.InvoiceBack" resultMap="InvoiceBackResult"> <select id="selectInvoiceBackList" parameterType="com.jianshui.invoice.domain.InvoiceBack" resultMap="InvoiceBackResult">
@ -26,6 +29,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="backUrl != null and backUrl != ''"> and back_url = #{backUrl}</if> <if test="backUrl != null and backUrl != ''"> and back_url = #{backUrl}</if>
<if test="identity != null and identity != ''"> and identity = #{identity}</if> <if test="identity != null and identity != ''"> and identity = #{identity}</if>
<if test="backMsg != null and backMsg != ''"> and back_msg = #{backMsg}</if> <if test="backMsg != null and backMsg != ''"> and back_msg = #{backMsg}</if>
<if test="resultMsg != null and resultMsg != ''"> and result_msg = #{resultMsg}</if>
<if test="resultCode != null and resultCode != ''"> and result_code = #{resultCode}</if>
<if test="updateTime != null and updateTime != ''"> and update_time = #{updateTime}</if>
</where> </where>
</select> </select>
@ -44,6 +50,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="identity != null">identity,</if> <if test="identity != null">identity,</if>
<if test="createTime != null">create_time,</if> <if test="createTime != null">create_time,</if>
<if test="backMsg != null">back_msg,</if> <if test="backMsg != null">back_msg,</if>
<if test="resultMsg != null">result_msg,</if>
<if test="resultCode != null">result_code,</if>
<if test="updateTime != null">update_time,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if> <if test="id != null">#{id},</if>
@ -53,6 +62,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="identity != null">#{identity},</if> <if test="identity != null">#{identity},</if>
<if test="createTime != null">#{createTime},</if> <if test="createTime != null">#{createTime},</if>
<if test="backMsg != null">#{backMsg},</if> <if test="backMsg != null">#{backMsg},</if>
<if test="resultMsg != null">#{resultMsg},</if>
<if test="resultCode != null">#{resultCode},</if>
<if test="updateTime != null">#{updateTime},</if>
</trim> </trim>
</insert> </insert>
@ -65,6 +77,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="identity != null">identity = #{identity},</if> <if test="identity != null">identity = #{identity},</if>
<if test="createTime != null">create_time = #{createTime},</if> <if test="createTime != null">create_time = #{createTime},</if>
<if test="backMsg != null">back_msg = #{backMsg},</if> <if test="backMsg != null">back_msg = #{backMsg},</if>
<if test="resultMsg != null">result_msg = #{resultMsg},</if>
<if test="resultCode != null">resultCode = #{resultCode},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim> </trim>
where id = #{id} where id = #{id}
</update> </update>

Loading…
Cancel
Save