wangyi

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/main/java/com/erry/iclear/dateInterface/service/ApiService.java
Showing 35 changed files with 2643 additions and 75 deletions
......@@ -96,13 +96,13 @@ public class CustomsDataInterface {
}
sw.stop();
//3、TODO 校验子单
sw.start("checkMawbDetail");
result=mawbDetailServicel.checkMawbDetail(mawb);
if(!result.getSuccess()){
return result;
}
sw.stop();
// //3、TODO 校验子单
// sw.start("checkMawbDetail");
// result=mawbDetailServicel.checkMawbDetail(mawb);
// if(!result.getSuccess()){
// return result;
// }
// sw.stop();
//4、保存运单到iclear中
......
......@@ -5,7 +5,6 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.springframework.validation.annotation.Validated;
import javax.persistence.*;
import javax.validation.Valid;
......@@ -52,12 +51,12 @@ public class Mawb implements Serializable {
private String type;
@ApiModelProperty(value = "申报单位代码", name = "agentCode", example = "固定值:1111980005")
@NotBlank(message="参数agentCode不能为空")
//@NotBlank(message="参数agentCode不能为空")
@Column(name = "AGENTCODE")
private String agentCode;
@ApiModelProperty(value = "申报单位名称", name = "agentName", example = "固定值:联邦快递(中国)有限公司")
@NotBlank(message="参数agentName不能为空")
//@NotBlank(message="参数agentName不能为空")
@Column(name = "AGENTNAME")
private String agentName;
......@@ -81,7 +80,7 @@ public class Mawb implements Serializable {
private String cutMode;
@ApiModelProperty(value = "报关/转关关系标志", name = "declTrnRel", example = "固定值:0")
@NotBlank(message="参数declTrnRel不能为空")
//@NotBlank(message="参数declTrnRel不能为空")
@Column(name = "DECLTRNREL")
private String declTrnRel;
......@@ -117,7 +116,7 @@ public class Mawb implements Serializable {
@ApiModelProperty(value = "毛重", name = "grossWet", example = "")
@NotNull(message="参数grossWet不能为空")
@Column(name = "CROSSWET")
private Integer grossWet;
private BigDecimal grossWet;
@ApiModelProperty(value = "出入境关闭", name = "IEPort", example = "固定值:0101")
@NotBlank(message="参数iePort不能为空")
......
package com.erry.iclear.dateInterface.api.request;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.validation.annotation.Validated;
import javax.persistence.*;
import javax.validation.constraints.NotBlank;
......@@ -20,7 +18,7 @@ import java.math.BigDecimal;
@Entity
@Table(name = "T_ICLEAR_API_MAWBDETAIL")
@Data
public class MawbDetail implements Serializable {
public class MawbDetail implements Serializable{
private static final long serialVersionUID = -6706944312498119267L;
@Id
......@@ -38,7 +36,7 @@ public class MawbDetail implements Serializable {
@NotBlank(message="参数detailId不能为空")
private String detailId;
@ApiModelProperty(value = "商品编号", example = "空值")
@ApiModelProperty(value = "归类标志", example = "空值")
@Column(name = "CLASSMARK")
private String classMark;
......@@ -66,7 +64,7 @@ public class MawbDetail implements Serializable {
@Column(name = "EXGNO")
private String exgNo;
@ApiModelProperty(value = "号")
@ApiModelProperty(value = "版本号")
@Column(name = "EXGVERSION")
private String exgVersion;
......
package com.erry.iclear.dateInterface.api.response;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.io.Serializable;
@Data
@AllArgsConstructor
public class IClearCheckResponseResult implements Serializable {
//成功标识
private Boolean success = false;
private String message;
}
......@@ -88,7 +88,7 @@ public class Constant {
public static String DECLARED_DOC_TYPE="declaredDocType_";
public static String DECLARED_DOC_TYPE_ZERO="declaredDocType_00";
}
......
......@@ -221,6 +221,11 @@ public class ChmConsignment implements Serializable {
@Column(name = "TRADE_CO_SCC")
private String tradeCoSCC;
/**
* 境内发货人(经营单位编码)
*/
@Column(name = "OPERATE_UNIT_CODE")
private String operateUnitCode;
/**
* 境内发货人(经营单位名称)
......
......@@ -33,6 +33,9 @@ public class DictionaryEntries implements Serializable {
@Column(name = "DICT_CODE")
private String dictCode;
@Column(name = "EXT2")
private String ext2;
@Column(name = "EXT3")
private String ext3;
......
package com.erry.iclear.dateInterface.entity;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
/**
* @Description
* @Author baodan_Fan
* @Date 2021-08-12
*/
@Entity
@Table ( name ="T_ICLEAR_BOND_INVT_ACMP_FORM_DT" )
@Data
public class TIclearBondInvtAcmpFormDt implements Serializable {
private static final long serialVersionUID = 1660893336343224503L;
@Id
@GeneratedValue
/**
* 主键
*/
@Column(name = "ID" )
private Long id;
/**
* 保税清单编号
*/
@Column(name = "BOND_INVT_NO" )
private String bondInvtNo;
/**
* 变更次数
*/
@Column(name = "CHG_TMS_CNT" )
private Long chgTmsCnt;
/**
* 随附单证序号
*/
@Column(name = "ACMP_FORM_SEQNO" )
private Long acmpFormSeqno;
/**
* 清单商品序号
*/
@Column(name = "INVT_GDS_SEQNO" )
private Long invtGdsSeqno;
/**
* 单证类型代码
*/
@Column(name = "FORM_TYPECD" )
private String formTypecd;
/**
* 单证编号
*/
@Column(name = "FORM_NO" )
private String formNo;
/**
* 固定编号
*/
@Column(name = "FIXD_NO" )
private String fixdNo;
/**
* 随附单证文件名称
*/
@Column(name = "ACMP_FORM_FILE_NM" )
private String acmpFormFileNm;
/**
* 备注
*/
@Column(name = "RMK" )
private String rmk;
/**
* 创建时间
*/
@Column(name = "CREATE_TIME" )
private Date createTime;
/**
* 创建人
*/
@Column(name = "CREATOR" )
private String creator;
/**
* 修改时间
*/
@Column(name = "UPDATE_TIME" )
private Date updateTime;
/**
* 修改人
*/
@Column(name = "UPDATE_USER" )
private String updateUser;
}
package com.erry.iclear.dateInterface.entity;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.Date;
/**
* @Description
* @Author baodan_Fan
* @Date 2021-08-12
*/
@Entity
@Table ( name ="T_ICLEAR_BOND_INVT_BSC" )
@Data
public class TIclearBondInvtBsc implements Serializable {
private static final long serialVersionUID = 4784112777138222040L;
@Id
@GeneratedValue
/**
* 主键
*/
@Column(name = "ID" )
private Long id;
/**
* 保税清单编号
*/
@Column(name = "BOND_INVT_NO" )
private String bondInvtNo;
/**
* 变更次数
*/
@Column(name = "CHG_TMS_CNT" )
private Long chgTmsCnt;
/**
* 清单预录入编号
*/
@Column(name = "INVT_PREENT_NO" )
private String invtPreentNo;
/**
* 备案编号
*/
@Column(name = "PUTREC_NO" )
private String putrecNo;
/**
* 企业内部清单编号
*/
@Column(name = "ETPS_INNER_INVT_NO" )
private String etpsInnerInvtNo;
/**
* 经营企业社会信用代码
*/
@Column(name = "BIZOP_ETPS_SCCD" )
private String bizopEtpsSccd;
/**
* 经营企业编号
*/
@Column(name = "BIZOP_ETPSNO" )
private String bizopEtpsno;
/**
* 经营企业名称
*/
@Column(name = "BIZOP_ETPS_NM" )
private String bizopEtpsNm;
/**
* 收发货企业社会信用代码
*/
@Column(name = "RVSNGD_ETPS_SCCD" )
private String rvsngdEtpsSccd;
/**
* 收货企业编号
*/
@Column(name = "RCVGD_ETPSNO" )
private String rcvgdEtpsno;
/**
* 收货企业名称
*/
@Column(name = "RCVGD_ETPS_NM" )
private String rcvgdEtpsNm;
/**
* 申报企业社会信用代码
*/
@Column(name = "DCL_ETPS_SCCD" )
private String dclEtpsSccd;
/**
* 申报企业编号
*/
@Column(name = "DCL_ETPSNO" )
private String dclEtpsno;
/**
* 申报企业名称
*/
@Column(name = "DCL_ETPS_NM" )
private String dclEtpsNm;
/**
* 清单申报日期
*/
@Column(name = "INVT_DCL_TIME" )
private Date invtDclTime;
/**
* 报关单申报时间
*/
@Column(name = "ENTRY_DCL_TIME" )
private Date entryDclTime;
/**
* 报关单编号
*/
@Column(name = "ENTRY_NO" )
private String entryNo;
/**
* 关联清单编号
*/
@Column(name = "RLT_INVT_NO" )
private String rltInvtNo;
/**
* 关联备案编号
*/
@Column(name = "RLT_PUTREC_NO" )
private String rltPutrecNo;
/**
* 关联报关单编号
*/
@Column(name = "RLT_ENTRY_NO" )
private String rltEntryNo;
/**
* 关联报关单境内收发货人社会信用代码
*/
@Column(name = "RLT_ENTRY_BIZOP_ETPS_SCCD" )
private String rltEntryBizopEtpsSccd;
/**
* 关联报关单境内收发货人编号
*/
@Column(name = "RLT_ENTRY_BIZOP_ETPSNO" )
private String rltEntryBizopEtpsno;
/**
* 关联报关单境内收发货人名称
*/
@Column(name = "RLT_ENTRY_BIZOP_ETPS_NM" )
private String rltEntryBizopEtpsNm;
/**
* 进出境关别
*/
@Column(name = "IMPEXP_PORTCD" )
private String impexpPortcd;
/**
* 申报地关区代码
*/
@Column(name = "DCL_PLC_CUSCD" )
private String dclPlcCuscd;
/**
* 进出口标记代码
*/
@Column(name = "IMPEXP_MARKCD" )
private String impexpMarkcd;
/**
* 料件成品标记代码
*/
@Column(name = "MTPCK_ENDPRD_MARKCD" )
private String mtpckEndprdMarkcd;
/**
* 监管方式代码
*/
@Column(name = "SUPV_MODECD" )
private String supvModecd;
/**
* 运输方式代码
*/
@Column(name = "TRSP_MODECD" )
private String trspModecd;
/**
* 起运/运抵国(地区)
*/
@Column(name = "STSHIP_TRSARV_NATCD" )
private String stshipTrsarvNatcd;
/**
* 申请编号
*/
@Column(name = "APPLY_NO" )
private String applyNo;
/**
* 是否报关标志
*/
@Column(name = "DCLCUS_FLAG" )
private String dclcusFlag;
/**
* 报关类型代码
*/
@Column(name = "DCLCUS_TYPECD" )
private String dclcusTypecd;
/**
* 预核扣时间
*/
@Column(name = "PREVD_TIME" )
private Date prevdTime;
/**
* 正式核扣时间
*/
@Column(name = "FORMAL_VRFDED_TIME" )
private Date formalVrfdedTime;
/**
* 清单进出卡口状态代码
*/
@Column(name = "INVT_IOCHKPT_STUCD" )
private String invtIochkptStucd;
/**
* 核扣标记代码
*/
@Column(name = "VRFDED_MARKCD" )
private String vrfdedMarkcd;
/**
* 清单状态代码
*/
@Column(name = "INVT_STUCD" )
private String invtStucd;
/**
* 核扣方式代码
*/
@Column(name = "VRFDED_MODECD" )
private String vrfdedModecd;
/**
* 核算代码
*/
@Column(name = "DU_CODE" )
private String duCode;
/**
* 备注
*/
@Column(name = "RMK" )
private String rmk;
/**
* 清单类型
*/
@Column(name = "BOND_INVT_TYPECD" )
private String bondInvtTypecd;
/**
* 报关状态
*/
@Column(name = "ENTRY_STUCD" )
private String entryStucd;
/**
* 核放单生成标志代码
*/
@Column(name = "PASSPORT_USED_TYPECD" )
private String passportUsedTypecd;
/**
* 备用1
*/
@Column(name = "PARAM1" )
private String param1;
/**
* 备用2
*/
@Column(name = "PARAM2" )
private String param2;
/**
* 备用3
*/
@Column(name = "PARAM3" )
private BigDecimal param3;
/**
* 备用4
*/
@Column(name = "PARAM4" )
private Date param4;
/**
* 报关单同步修改标志
*/
@Column(name = "NEED_ENTRY_MODIFIED" )
private String needEntryModified;
/**
* 计征金额
*/
@Column(name = "LEVY_BL_AMT" )
private BigDecimal levyBlAmt;
/**
* 申报类型
*/
@Column(name = "DCL_TYPECD" )
private String dclTypecd;
/**
* 创建时间
*/
@Column(name = "CREATE_TIME" )
private Date createTime;
/**
* 创建人
*/
@Column(name = "CREATOR" )
private String creator;
/**
* 修改时间
*/
@Column(name = "UPDATE_TIME" )
private Date updateTime;
/**
* 修改人
*/
@Column(name = "UPDATE_USER" )
private String updateUser;
}
package com.erry.iclear.dateInterface.entity;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.Date;
/**
* @Description
* @Author baodan_Fan
* @Date 2021-08-12
*/
@Entity
@Table ( name ="T_ICLEAR_BOND_INVT_DT" )
@Data
public class TIclearBondInvtDt implements Serializable {
private static final long serialVersionUID = 7963662019548366386L;
@Id
@GeneratedValue
@Column(name = "ID" )
private Long id;
/**
* 保税清单编号
*/
@Column(name = "BOND_INVT_NO" )
private String bondInvtNo;
/**
* 变更次数
*/
@Column(name = "CHG_TMS_CNT" )
private Long chgTmsCnt;
/**
* 商品序号
*/
@Column(name = "GDS_SEQNO" )
private Long gdsSeqno;
/**
* 备案序号
*/
@Column(name = "PUTREC_SEQNO" )
private Long putrecSeqno;
/**
* 商品料号
*/
@Column(name = "GDS_MTNO" )
private String gdsMtno;
/**
* 商品编码
*/
@Column(name = "GDECD" )
private String gdecd;
/**
* 商品名称
*/
@Column(name = "GDS_NM" )
private String gdsNm;
/**
* 商品规格型号描述
*/
@Column(name = "GDS_SPCF_MODEL_DESC" )
private String gdsSpcfModelDesc;
/**
* 申报计量单位
*/
@Column(name = "DCL_UNITCD" )
private String dclUnitcd;
/**
* 法定计量单位
*/
@Column(name = "LAWF_UNITCD" )
private String lawfUnitcd;
/**
* 法定第二计量
*/
@Column(name = "SECD_LAWF_UNITCD" )
private String secdLawfUnitcd;
/**
* 原产国(地区)
*/
@Column(name = "NATCD" )
private String natcd;
/**
* 申报单价金额
*/
@Column(name = "DCL_UPRC_AMT" )
private BigDecimal dclUprcAmt;
/**
* 申报总金额
*/
@Column(name = "DCL_TOTAL_AMT" )
private BigDecimal dclTotalAmt;
/**
* 美元统计总金额
*/
@Column(name = "USD_STAT_TOTAL_AMT" )
private BigDecimal usdStatTotalAmt;
/**
* 申报币制代码
*/
@Column(name = "DCL_CURRCD" )
private String dclCurrcd;
/**
* 法定数量
*/
@Column(name = "LAWF_QTY" )
private BigDecimal lawfQty;
/**
* 第二法定数量
*/
@Column(name = "SECD_LAWF_QTY" )
private BigDecimal secdLawfQty;
/**
* 重量比例因子值
*/
@Column(name = "WT_SF_VAL" )
private BigDecimal wtSfVal;
/**
* 第一比例因子
*/
@Column(name = "FST_SF_VAL" )
private BigDecimal fstSfVal;
/**
* 第二比例因子
*/
@Column(name = "SECD_SF_VAL" )
private BigDecimal secdSfVal;
/**
* 申报数量
*/
@Column(name = "DCL_QTY" )
private BigDecimal dclQty;
/**
* 毛重量
*/
@Column(name = "GROSS_WT" )
private BigDecimal grossWt;
/**
* 净重量
*/
@Column(name = "NET_WT" )
private BigDecimal netWt;
/**
* 征减免方式代码
*/
@Column(name = "LVYRLF_MODECD" )
private String lvyrlfModecd;
/**
* 账册备案单耗明细版本号
*/
@Column(name = "UCNS_VERNO" )
private String ucnsVerno;
/**
* 报关单商品序号
*/
@Column(name = "ENTRY_GDS_SEQNO" )
private Long entryGdsSeqno;
/**
* 申请表序号
*/
@Column(name = "APPLY_TB_SEQNO" )
private Long applyTbSeqno;
/**
* 归类标记代码
*/
@Column(name = "CLY_MARKCD" )
private String clyMarkcd;
/**
* 备注
*/
@Column(name = "RMK" )
private String rmk;
/**
* 实际过卡数量
*/
@Column(name = "ACTL_PASS_QTY" )
private BigDecimal actlPassQty;
/**
* 核放单已用数量
*/
@Column(name = "PASSPORT_USED_QTY" )
private BigDecimal passportUsedQty;
/**
* 备用1
*/
@Column(name = "PARAM1" )
private String param1;
/**
* 备用2
*/
@Column(name = "PARAM2" )
private String param2;
/**
* 备用3
*/
@Column(name = "PARAM3" )
private BigDecimal param3;
/**
* 备用4
*/
@Column(name = "PARAM4" )
private Date param4;
/**
* 最终目的国(地区)
*/
@Column(name = "DESTINATION_NATCD" )
private String destinationNatcd;
/**
* 修改标志
*/
@Column(name = "MODF_MARKCD" )
private String modfMarkcd;
/**
* 创建时间
*/
@Column(name = "CREATE_TIME" )
private Date createTime;
/**
* 创建人
*/
@Column(name = "CREATOR" )
private String creator;
/**
* 修改时间
*/
@Column(name = "UPDATE_TIME" )
private Date updateTime;
/**
* 修改人
*/
@Column(name = "UPDATE_USER" )
private String updateUser;
}
package com.erry.iclear.dateInterface.entity;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* @Description
* @Author baodan_Fan
* @Date 2021-08-12
*/
@Entity
@Table ( name ="T_ICLEAR_BOND_INVT_DT_SIMPLE" )
@Data
public class TIclearBondInvtDtSimple implements Serializable {
private static final long serialVersionUID = 3330486687407354420L;
@Id
@GeneratedValue
@Column(name = "ID" )
private Long id;
/**
* 保税清单编号
*/
@Column(name = "BOND_INVT_NO" )
private String bondInvtNo;
/**
* 商品序号
*/
@Column(name = "GDS_SEQNO" )
private Long gdsSeqno;
/**
* 变更次数
*/
@Column(name = "CHG_TMS_CNT" )
private Long chgTmsCnt;
/**
* 备案序号
*/
@Column(name = "PUTREC_SEQNO" )
private Long putrecSeqno;
/**
* 商品料号
*/
@Column(name = "GDS_MTNO" )
private String gdsMtno;
/**
* 商品编码
*/
@Column(name = "GDECD" )
private String gdecd;
/**
* 商品名称
*/
@Column(name = "GDS_NM" )
private String gdsNm;
/**
* 商品规格型号描述
*/
@Column(name = "GDS_SPCF_MODEL_DESC" )
private String gdsSpcfModelDesc;
/**
* 申报计量单位代码
*/
@Column(name = "DCL_UNITCD" )
private String dclUnitcd;
/**
* 法定计量单位代码
*/
@Column(name = "LAWF_UNITCD" )
private String lawfUnitcd;
/**
* 第二法定计量单位代码
*/
@Column(name = "SECD_LAWF_UNITCD" )
private String secdLawfUnitcd;
/**
* 原产国(地区)
*/
@Column(name = "NATCD" )
private String natcd;
/**
* 申报单价金额
*/
@Column(name = "DCL_UPRC_AMT" )
private BigDecimal dclUprcAmt;
/**
* 申报总金额
*/
@Column(name = "DCL_TOTAL_AMT" )
private BigDecimal dclTotalAmt;
/**
* 美元统计总金额
*/
@Column(name = "USD_STAT_TOTAL_AMT" )
private BigDecimal usdStatTotalAmt;
/**
* 申报币制代码
*/
@Column(name = "DCL_CURRCD" )
private String dclCurrcd;
/**
* 法定数量
*/
@Column(name = "LAWF_QTY" )
private BigDecimal lawfQty;
/**
* 第二法定数量
*/
@Column(name = "SECD_LAWF_QTY" )
private BigDecimal secdLawfQty;
/**
* 重量比例因子值
*/
@Column(name = "WT_SF_VAL" )
private BigDecimal wtSfVal;
/**
* 第一比例因子值
*/
@Column(name = "FST_SF_VAL" )
private BigDecimal fstSfVal;
/**
* 第二比例因子值
*/
@Column(name = "SECD_SF_VAL" )
private BigDecimal secdSfVal;
/**
* 申报数量
*/
@Column(name = "DCL_QTY" )
private BigDecimal dclQty;
/**
* 毛重量
*/
@Column(name = "GROSS_WT" )
private BigDecimal grossWt;
/**
* 净重量
*/
@Column(name = "NET_WT" )
private BigDecimal netWt;
/**
* 征减免方式代码
*/
@Column(name = "LVYRLF_MODECD" )
private String lvyrlfModecd;
/**
* 单耗版本号
*/
@Column(name = "UCNS_VERNO" )
private String ucnsVerno;
/**
* 报关单商品序号
*/
@Column(name = "ENTRY_GDS_SEQNO" )
private Long entryGdsSeqno;
/**
* 申请表序号
*/
@Column(name = "APPLY_TB_SEQNO" )
private Long applyTbSeqno;
/**
* 归类标记代码
*/
@Column(name = "CLY_MARKCD" )
private String clyMarkcd;
/**
* 备注
*/
@Column(name = "RMK" )
private String rmk;
/**
* 实际过卡数量
*/
@Column(name = "VERSION" )
private Long version;
/**
* 核放单已用数量
*/
@Column(name = "PASSPORT_USED_QTY" )
private BigDecimal passportUsedQty;
/**
* 最终目的国(地区)
*/
@Column(name = "DESTINATION_NATCD" )
private String destinationNatcd;
/**
* 实际过卡数量
*/
@Column(name = "ACTL_PASS_QTY" )
private Long actlPassQty;
/**
* 创建时间
*/
@Column(name = "CREATE_TIME" )
private Date createTime;
/**
* 创建人
*/
@Column(name = "CREATOR" )
private String creator;
/**
* 修改时间
*/
@Column(name = "UPDATE_TIME" )
private Date updateTime;
/**
* 修改人
*/
@Column(name = "UPDATE_USER" )
private String updateUser;
}
package com.erry.iclear.dateInterface.entity;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
/**
* @Description
* @Author baodan_Fan
* @Date 2021-08-12
*/
@Entity
@Table ( name ="T_ICLEAR_CHECK_INFO" )
@Data
public class TIclearCheckInfo implements Serializable {
private static final long serialVersionUID = 2530033282200543515L;
@Id
@GeneratedValue
@Column(name = "ID" )
private Long id;
/**
* 检查信息
*/
@Column(name = "NOTE" )
private String note;
/**
* 创建时间
*/
@Column(name = "CREATE_TIME" )
private Date createTime;
/**
* 创建人
*/
@Column(name = "CREATOR" )
private String creator;
/**
* 修改时间
*/
@Column(name = "UPDATE_TIME" )
private Date updateTime;
/**
* 修改人
*/
@Column(name = "UPDATE_USER" )
private String updateUser;
}
package com.erry.iclear.dateInterface.entity;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
import java.util.Date;
/**
* @Description
* @Author baodan_Fan
* @Date 2021-08-13
*/
@Entity
@Table ( name ="T_ICLEAR_HDE_APPR_RESULT" )
@Data
public class TIclearHdeApprResult implements Serializable {
private static final long serialVersionUID = 2702443843313574709L;
@Id
@GeneratedValue
@Column(name = "ID" )
private Long id;
/**
* 企业预录入编号
*/
@Column(name = "ETPS_PREENT_NO" )
private String etpsPreentNo;
/**
* 业务编号
*/
@Column(name = "BUSINESS_ID" )
private String businessId;
/**
* 变更/报核次数
*/
@Column(name = "TMS_CNT" )
private Long tmsCnt;
/**
* 业务类型
*/
@Column(name = "TYPECD" )
private String typecd;
/**
* 处理结果
*/
@Column(name = "MANAGE_RESULT" )
private String manageResult;
/**
* 处理日期
*/
@Column(name = "MANAGE_DATE" )
private Date manageDate;
/**
* 备注
*/
@Column(name = "RMK" )
private String rmk;
/**
* 创建时间
*/
@Column(name = "CREATE_TIME" )
private Date createTime;
/**
* 创建人
*/
@Column(name = "CREATOR" )
private String creator;
/**
* 修改时间
*/
@Column(name = "UPDATE_TIME" )
private Date updateTime;
/**
* 修改人
*/
@Column(name = "UPDATE_USER" )
private String updateUser;
}
package com.erry.iclear.dateInterface.entity;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
import java.util.Date;
/**
* @Description
* @Author baodan_Fan
* @Date 2021-08-12
*/
@Entity
@Table ( name ="T_ICLEAR_INV_APPR_RESULT" )
@Data
public class TIclearInvApprResult implements Serializable {
private static final long serialVersionUID = 9096825525774199265L;
@Id
@GeneratedValue
@Column(name = "ID" )
private Long id;
/**
* 核注清单数据中心统一编号
*/
@Column(name = "INV_PREENT_NO" )
private String invPreentNo;
/**
* 核注清单编号
*/
@Column(name = "BUSINESS_ID" )
private String businessId;
/**
* 报关单统一编号
*/
@Column(name = "ENTRY_SEQ_N" )
private String entrySeqN;
/**
* 处理结果
*/
@Column(name = "MANAGE_RESULT" )
private String manageResult;
/**
* 生成日期
*/
@Column(name = "CREATE_DATE" )
private Date createDate;
/**
* 生成失败原因
*/
@Column(name = "REASON" )
private String reason;
/**
* 创建时间
*/
@Column(name = "CREATE_TIME" )
private Date createTime;
/**
* 创建人
*/
@Column(name = "CREATOR" )
private String creator;
/**
* 修改时间
*/
@Column(name = "UPDATE_TIME" )
private Date updateTime;
/**
* 修改人
*/
@Column(name = "UPDATE_USER" )
private String updateUser;
}
package com.erry.iclear.dateInterface.entity;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* @Description
* @Author baodan_Fan
* @Date 2021-08-12
*/
@Entity
@Table ( name ="T_ICLEAR_InvtGoodsType" )
@Data
public class TIclearInvtGoodsType implements Serializable {
private static final long serialVersionUID = 215740354277500390L;
@Id
@GeneratedValue
@Column(name = "ID" )
private Long id;
/**
* 中心统一编号
*/
@Column(name = "SeqNo" )
private String seqNo;
/**
* 商品序号
*/
@Column(name = "GdsSeqno" )
private Long gdsSeqno;
/**
* 备案序号(对应底账序号)
*/
@Column(name = "PutrecSeqno" )
private Long putrecSeqno;
/**
* 商品料号
*/
@Column(name = "GdsMtno" )
private String gdsMtno;
/**
* 商品编码
*/
@Column(name = "Gdecd" )
private String gdecd;
/**
* 商品名称
*/
@Column(name = "GdsNm" )
private String gdsNm;
/**
* 商品规格型号
*/
@Column(name = "GdsSpcfModelDesc" )
private String gdsSpcfModelDesc;
/**
* 申报计量单位
*/
@Column(name = "DclUnitcd" )
private String dclUnitcd;
/**
* 法定计量单位
*/
@Column(name = "LawfUnitcd" )
private String lawfUnitcd;
/**
* 法定第二计量
*/
@Column(name = "SecdLawfUnitcd" )
private String secdLawfUnitcd;
/**
* 原产国(地区)
*/
@Column(name = "Natcd" )
private String natcd;
/**
* 企业申报单价
*/
@Column(name = "DclUprcAmt" )
private BigDecimal dclUprcAmt;
/**
* 企业申报总价
*/
@Column(name = "DclTotalAmt" )
private BigDecimal dclTotalAmt;
/**
* 美元统计总金额
*/
@Column(name = "UsdStatTotalAmt" )
private BigDecimal usdStatTotalAmt;
/**
* 币制
*/
@Column(name = "DclCurrcd" )
private String dclCurrcd;
/**
* 法定数量
*/
@Column(name = "LawfQty" )
private BigDecimal lawfQty;
/**
* 第二法定数量
*/
@Column(name = "SecdLawfQty" )
private BigDecimal secdLawfQty;
/**
* 重量比例因子
*/
@Column(name = "WtSfVal" )
private BigDecimal wtSfVal;
/**
* 第一比例因子
*/
@Column(name = "FstSfVal" )
private BigDecimal fstSfVal;
/**
* 第二比例因子
*/
@Column(name = "SecdSfVal" )
private BigDecimal secdSfVal;
/**
* 申报数量
*/
@Column(name = "DclQty" )
private BigDecimal dclQty;
/**
* 毛重
*/
@Column(name = "GrossWt" )
private BigDecimal grossWt;
/**
* 净重
*/
@Column(name = "NetWt" )
private BigDecimal netWt;
/**
* 用途代码*
*/
@Column(name = "UseCd" )
private String useCd;
/**
* 征免方式
*/
@Column(name = "LvyrlfModecd" )
private String lvyrlfModecd;
/**
* 单耗版本号
*/
@Column(name = "UcnsVerno" )
private String ucnsVerno;
/**
* 报关单商品序号
*/
@Column(name = "EntryGdsSeqno" )
private Long entryGdsSeqno;
/**
* 归类标志
*/
@Column(name = "ClyMarkcd" )
private String clyMarkcd;
/**
* 流转申报表序号
*/
@Column(name = "ApplyTbSeqno" )
private Long applyTbSeqno;
/**
* 最终目的国
*/
@Column(name = "DestinationNatcd" )
private String destinationNatcd;
/**
* 修改标志
*/
@Column(name = "ModfMarkcd" )
private String modfMarkcd;
/**
* 备注
*/
@Column(name = "Rmk" )
private String rmk;
/**
* 创建时间
*/
@Column(name = "CREATE_TIME" )
private Date createTime;
/**
* 创建人
*/
@Column(name = "CREATOR" )
private String creator;
/**
* 修改时间
*/
@Column(name = "UPDATE_TIME" )
private Date updateTime;
/**
* 修改人
*/
@Column(name = "UPDATE_USER" )
private String updateUser;
}
package com.erry.iclear.dateInterface.entity;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
import java.util.Date;
/**
* @Description
* @Author baodan_Fan
* @Date 2021-08-12
*/
@Entity
@Table ( name ="T_ICLEAR_InvtHeadType" )
@Data
public class TIclearInvtHeadType implements Serializable {
private static final long serialVersionUID = 7418187730534038677L;
@Id
@GeneratedValue
@Column(name = "ID" )
private Long id;
/**
* 清单编号
*/
@Column(name = "BondInvtNo" )
private String bondInvtNo;
/**
* 清单预录入统一编号
*/
@Column(name = "SeqNo" )
private String seqNo;
/**
* 备案编号
*/
@Column(name = "PutrecNo" )
private String putrecNo;
/**
* 企业内部清单编号
*/
@Column(name = "EtpsInnerInvtNo" )
private String etpsInnerInvtNo;
/**
* 经营企业社会信用代码
*/
@Column(name = "BizopEtpsSccd" )
private String bizopEtpsSccd;
/**
* 经营企业编号
*/
@Column(name = "BizopEtpsno" )
private String bizopEtpsno;
/**
* 经营企业名称
*/
@Column(name = "BizopEtpsNm" )
private String bizopEtpsNm;
/**
* 收货企业编号
*/
@Column(name = "RcvgdEtpsno" )
private String rcvgdEtpsno;
/**
* 收发货企业社会信用代码
*/
@Column(name = "RvsngdEtpsSccd" )
private String rvsngdEtpsSccd;
/**
* 收货企业名称
*/
@Column(name = "RcvgdEtpsNm" )
private String rcvgdEtpsNm;
/**
* 申报企业社会信用代码
*/
@Column(name = "DclEtpsSccd" )
private String dclEtpsSccd;
/**
* 申报企业编号
*/
@Column(name = "DclEtpsno" )
private String dclEtpsno;
/**
* 申报企业名称
*/
@Column(name = "DclEtpsNm" )
private String dclEtpsNm;
/**
* 清单申报时间
*/
@Column(name = "InvtDclTime" )
private Date invtDclTime;
/**
* 报关单申报日期
*/
@Column(name = "EntryDclTime" )
private Date entryDclTime;
/**
* 对应报关单编号
*/
@Column(name = "EntryNo" )
private String entryNo;
/**
* 关联清单编号
*/
@Column(name = "RltInvtNo" )
private String rltInvtNo;
/**
* 关联备案编号
*/
@Column(name = "RltPutrecNo" )
private String rltPutrecNo;
/**
* 关联报关单编号
*/
@Column(name = "RltEntryNo" )
private String rltEntryNo;
/**
* 关联报关单境内收发货人社会信用代码
*/
@Column(name = "RltEntryBizopEtpsSccd" )
private String rltEntryBizopEtpsSccd;
/**
* 关联报关单境内收发货人编号
*/
@Column(name = "RltEntryBizopEtpsno" )
private String rltEntryBizopEtpsno;
/**
* 关联报关单境内收发货人名称
*/
@Column(name = "RltEntryBizopEtpsNm" )
private String rltEntryBizopEtpsNm;
/**
* 关联报关单收发货单位社会统一信用代码
*/
@Column(name = "RltEntryRvsngdEtpsSccd" )
private String rltEntryRvsngdEtpsSccd;
/**
* 关联报关单海关收发货单位编码
*/
@Column(name = "RltEntryRcvgdEtpsno" )
private String rltEntryRcvgdEtpsno;
/**
* 关联报关单收发货单位名称
*/
@Column(name = "RltEntryRcvgdEtpsNm" )
private String rltEntryRcvgdEtpsNm;
/**
* 关联报关单申报单位社会统一信用代码
*/
@Column(name = "RltEntryDclEtpsSccd" )
private String rltEntryDclEtpsSccd;
/**
* 关联报关单海关申报单位编码
*/
@Column(name = "RltEntryDclEtpsno" )
private String rltEntryDclEtpsno;
/**
* 关联报关单申报单位名称
*/
@Column(name = "RltEntryDclEtpsNm" )
private String rltEntryDclEtpsNm;
/**
* 进出境关别
*/
@Column(name = "ImpexpPortcd" )
private String impexpPortcd;
/**
* 申报地关区代码
*/
@Column(name = "DclPlcCuscd" )
private String dclPlcCuscd;
/**
* 进出口标记代码
*/
@Column(name = "ImpexpMarkcd" )
private String impexpMarkcd;
/**
* 料件成品标记代码
*/
@Column(name = "MtpckEndprdMarkcd" )
private String mtpckEndprdMarkcd;
/**
* 监管方式代码
*/
@Column(name = "SupvModecd" )
private String supvModecd;
/**
* 运输方式代码
*/
@Column(name = "TrspModecd" )
private String trspModecd;
/**
* 是否报关标志
*/
@Column(name = "DclcusFlag" )
private String dclcusFlag;
/**
* 报关类型代码
*/
@Column(name = "DclcusTypecd" )
private String dclcusTypecd;
/**
* 核扣标记代码
*/
@Column(name = "VrfdedMarkcd" )
private String vrfdedMarkcd;
/**
* 清单进出卡口状态代码
*/
@Column(name = "InvtIochkptStucd" )
private String invtIochkptStucd;
/**
* 预核扣时间
*/
@Column(name = "PrevdTime" )
private Date prevdTime;
/**
* 正式核扣时间
*/
@Column(name = "FormalVrfdedTime" )
private Date formalVrfdedTime;
/**
* 申请表编号
*/
@Column(name = "ApplyNo" )
private String applyNo;
/**
* 流转类型
*/
@Column(name = "ListType" )
private String listType;
/**
* 录入企业编号
*/
@Column(name = "InputCode" )
private String inputCode;
/**
* 录入企业社会信用代码
*/
@Column(name = "InputCreditCode" )
private String inputCreditCode;
/**
* 录入单位名称
*/
@Column(name = "InputName" )
private String inputName;
/**
* 申报人IC卡号
*/
@Column(name = "IcCardNo" )
private String icCardNo;
/**
* 录入日期
*/
@Column(name = "InputTime" )
private Date inputTime;
/**
* 清单状态
*/
@Column(name = "ListStat" )
private String listStat;
/**
* 对应报关单申报单位社会统一信用代码
*/
@Column(name = "CorrEntryDclEtpsSccd" )
private String corrEntryDclEtpsSccd;
/**
* 对应报关单申报单位代码
*/
@Column(name = "CorrEntryDclEtpsNo" )
private String corrEntryDclEtpsNo;
/**
* 对应报关单申报单位名称
*/
@Column(name = "CorrEntryDclEtpsNm" )
private String corrEntryDclEtpsNm;
/**
* 报关单类型
*/
@Column(name = "DecType" )
private String decType;
/**
* 起运/运抵国(地区)
*/
@Column(name = "StshipTrsarvNatcd" )
private String stshipTrsarvNatcd;
/**
* 清单类型
*/
@Column(name = "InvtType" )
private String invtType;
/**
* 报关状态
*/
@Column(name = "EntryStucd" )
private String entryStucd;
/**
* 核放单生成标志代码
*/
@Column(name = "PassportUsedTypeCd" )
private String passportUsedTypeCd;
/**
* 备注
*/
@Column(name = "Rmk" )
private String rmk;
/**
* 申报类型
*/
@Column(name = "DclTypecd" )
private String dclTypecd;
/**
* 报关单同步修改标志
*/
@Column(name = "NeedEntryModified" )
private String needEntryModified;
/**
* 计征金额
*/
@Column(name = "LevyBlAmt" )
private String levyBlAmt;
/**
* 变更次数
*/
@Column(name = "ChgTmsCnt" )
private String chgTmsCnt;
/**
* 是否生成报关单
*/
@Column(name = "GenDecFlag" )
private String genDecFlag;
/**
* 创建时间
*/
@Column(name = "CREATE_TIME" )
private Date createTime;
/**
* 创建人
*/
@Column(name = "CREATOR" )
private String creator;
/**
* 修改时间
*/
@Column(name = "UPDATE_TIME" )
private Date updateTime;
/**
* 修改人
*/
@Column(name = "UPDATE_USER" )
private String updateUser;
}
package com.erry.iclear.dateInterface.entity;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* @Description
* @Author baodan_Fan
* @Date 2021-08-12
*/
@Entity
@Table ( name ="T_ICLEAR_InvtListType" )
@Data
public class TIclearInvtListType implements Serializable {
private static final long serialVersionUID = 6471840587898431744L;
@Id
@GeneratedValue
@Column(name = "ID" )
private Long id;
/**
* 中心统一编号
*/
@Column(name = "SeqNo" )
private String seqNo;
/**
* 商品序号
*/
@Column(name = "GdsSeqno" )
private Long gdsSeqno;
/**
* 备案序号(对应底账序号)
*/
@Column(name = "PutrecSeqno" )
private Long putrecSeqno;
/**
* 商品料号
*/
@Column(name = "GdsMtno" )
private String gdsMtno;
/**
* 商品编码
*/
@Column(name = "Gdecd" )
private String gdecd;
/**
* 商品名称
*/
@Column(name = "GdsNm" )
private String gdsNm;
/**
* 商品规格型号
*/
@Column(name = "GdsSpcfModelDesc" )
private String gdsSpcfModelDesc;
/**
* 申报计量单位
*/
@Column(name = "DclUnitcd" )
private String dclUnitcd;
/**
* 法定计量单位
*/
@Column(name = "LawfUnitcd" )
private String lawfUnitcd;
/**
* 法定第二计量
*/
@Column(name = "SecdLawfUnitcd" )
private String secdLawfUnitcd;
/**
* 原产国(地区)
*/
@Column(name = "Natcd" )
private String natcd;
/**
* 企业申报单价
*/
@Column(name = "DclUprcAmt" )
private BigDecimal dclUprcAmt;
/**
* 企业申报总价
*/
@Column(name = "DclTotalAmt" )
private BigDecimal dclTotalAmt;
/**
* 美元统计总金额
*/
@Column(name = "UsdStatTotalAmt" )
private BigDecimal usdStatTotalAmt;
/**
* 币制
*/
@Column(name = "DclCurrcd" )
private String dclCurrcd;
/**
* 法定数量
*/
@Column(name = "LawfQty" )
private BigDecimal lawfQty;
/**
* 第二法定数量
*/
@Column(name = "SecdLawfQty" )
private BigDecimal secdLawfQty;
/**
* 重量比例因子
*/
@Column(name = "WtSfVal" )
private BigDecimal wtSfVal;
/**
* 第一比例因子
*/
@Column(name = "FstSfVal" )
private BigDecimal fstSfVal;
/**
* 第二比例因子
*/
@Column(name = "SecdSfVal" )
private BigDecimal secdSfVal;
/**
* 申报数量*
*/
@Column(name = "DclQty" )
private BigDecimal dclQty;
/**
* 毛重
*/
@Column(name = "GrossWt" )
private BigDecimal grossWt;
/**
* 净重
*/
@Column(name = "NetWt" )
private BigDecimal netWt;
/**
* 用途代码*
*/
@Column(name = "UseCd" )
private String useCd;
/**
* 征免方式
*/
@Column(name = "LvyrlfModecd" )
private String lvyrlfModecd;
/**
* 单耗版本号
*/
@Column(name = "UcnsVerno" )
private String ucnsVerno;
/**
* 报关单商品序号
*/
@Column(name = "EntryGdsSeqno" )
private Long entryGdsSeqno;
/**
* 归类标志
*/
@Column(name = "ClyMarkcd" )
private String clyMarkcd;
/**
* 流转申报表序号
*/
@Column(name = "ApplyTbSeqno" )
private Long applyTbSeqno;
/**
* 最终目的国
*/
@Column(name = "DestinationNatcd" )
private String destinationNatcd;
/**
* 修改标志
*/
@Column(name = "ModfMarkcd" )
private String modfMarkcd;
/**
* 备注
*/
@Column(name = "Rmk" )
private String rmk;
/**
* 创建时间
*/
@Column(name = "CREATE_TIME" )
private Date createTime;
/**
* 创建人
*/
@Column(name = "CREATOR" )
private String creator;
/**
* 修改时间
*/
@Column(name = "UPDATE_TIME" )
private Date updateTime;
/**
* 修改人
*/
@Column(name = "UPDATE_USER" )
private String updateUser;
}
package com.erry.iclear.dateInterface.entity;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
/**
* @Description
* @Author baodan_Fan
* @Date 2021-08-12
*/
@Entity
@Table ( name ="T_ICLEAR_InvtWarehouseType" )
@Data
public class TIclearInvtWarehouseType implements Serializable {
private static final long serialVersionUID = 5071052537203328698L;
@Id
@GeneratedValue
@Column(name = "ID" )
private Long id;
/**
* 中心统一编号
*/
@Column(name = "SeqNo" )
private String seqNo;
/**
* 序号
*/
@Column(name = "GNo" )
private Long gNo;
/**
* 保税清单编号
*/
@Column(name = "BondInvtNo" )
private String bondInvtNo;
/**
* 出入库单编号
*/
@Column(name = "SasStockNo" )
private String sasStockNo;
/**
* 创建时间
*/
@Column(name = "CREATE_TIME" )
private Date createTime;
/**
* 创建人
*/
@Column(name = "CREATOR" )
private String creator;
/**
* 修改时间
*/
@Column(name = "UPDATE_TIME" )
private Date updateTime;
/**
* 修改人
*/
@Column(name = "UPDATE_USER" )
private String updateUser;
}
package com.erry.iclear.dateInterface.entity;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
/**
* @Description
* @Author baodan_Fan
* @Date 2021-08-12
*/
@Entity
@Table ( name ="T_ICLEAR_SAS_CENT_DCL_STOCK" )
@Data
public class TIclearSasCentDclStock implements Serializable {
private static final long serialVersionUID = 7895067806004507484L;
@Id
@GeneratedValue
@Column(name = "ID" )
private Long id;
/**
* 保税清单编号
*/
@Column(name = "BOND_INVT_NO" )
private String bondInvtNo;
/**
* 出入库单编号
*/
@Column(name = "SAS_STOCK_NO" )
private String sasStockNo;
/**
* 创建时间
*/
@Column(name = "CREATE_TIME" )
private Date createTime;
/**
* 创建人
*/
@Column(name = "CREATOR" )
private String creator;
/**
* 修改时间
*/
@Column(name = "UPDATE_TIME" )
private Date updateTime;
/**
* 修改人
*/
@Column(name = "UPDATE_USER" )
private String updateUser;
}
......@@ -16,6 +16,6 @@ public interface DeclearTaskRepository extends JpaSpecificationExecutor<DeclearT
* 根据运单号集合+创建时间 运单
* @return
*/
@Query( nativeQuery = true,value ="SELECT * FROM T_DECLEAR_TASK WHERE FILE_TYPE = 1 AND PUSH_NUMBER < 3 AND (RESPONSE_RESULTS IS NULL OR RESPONSE_RESULTS <> '0') ORDER BY OPERATION_TIME ASC" )
@Query( nativeQuery = true,value ="SELECT TOP 10 * FROM T_DECLEAR_TASK WHERE FILE_TYPE = 1 AND PUSH_NUMBER < 3 AND (RESPONSE_RESULTS IS NULL OR RESPONSE_RESULTS <> '0') ORDER BY OPERATION_TIME ASC" )
public List<DeclearTask> findDeclearTask();
}
......
......@@ -30,7 +30,7 @@ public interface DictionaryEntriesRepository extends JpaRepository<DictionaryEn
* 查找全部DictionaryEntries
* @return
*/
@Query(nativeQuery = true, value = "select ID,CODE,CHINESE_NAME,DICT_CODE,EXT3,EXT6 from T_BI_DICTIONARY_ENTRIES where STATUS=1")
@Query(nativeQuery = true, value = "select ID,CODE,CHINESE_NAME,DICT_CODE,EXT2,EXT3,EXT6 from T_BI_DICTIONARY_ENTRIES where STATUS=1")
public List<DictionaryEntries> findAllDictionaryEntries();
}
......
......@@ -30,8 +30,8 @@ public interface ReceiptMessageRepository extends JpaSpecificationExecutor<Recei
public List<ReceiptMessage> findReceiptMessageList();
@Modifying(clearAutomatically = false)
@Query(nativeQuery = true,value = "UPDATE T_DECLEAR_TASK SET PUSH_TIME = ?1,PUSH_NUMBER = PUSH_NUMBER + 1,RESPONSE_TIME = ?2,RESPONSE_RESULTS = ?3,RESPONSE_CONTENT = ?4 WHERE FILE_TYPE = 2 AND CHMSIGNMENT_ID = ?5")
void updateDeclearTaskStatus(Date pushTime, Date responseTime, String responseResults, String responseContent, Long chmsignmentId);
@Query(nativeQuery = true,value = "UPDATE T_DECLEAR_TASK SET PUSH_TIME = ?1,PUSH_NUMBER = PUSH_NUMBER + 1,RESPONSE_TIME = ?2,RESPONSE_RESULTS = ?3,RESPONSE_CONTENT = ?4 WHERE FILE_TYPE = ?5 AND CHMSIGNMENT_ID = ?6")
void updateDeclearTaskStatus(Date pushTime, Date responseTime, String responseResults, String responseContent, String fileType, Long chmsignmentId);
/**
* 推送失败回执数据
......
......@@ -3,13 +3,18 @@ package com.erry.iclear.dateInterface.service;
import com.arronlong.httpclientutil.HttpClientUtil;
import com.arronlong.httpclientutil.common.HttpConfig;
import com.arronlong.httpclientutil.common.HttpHeader;
import com.erry.iclear.dateInterface.api.request.Mawb;
import com.erry.iclear.dateInterface.api.request.MawbDetail;
import com.erry.iclear.dateInterface.api.request.ReceiptMessage;
import com.erry.iclear.dateInterface.api.response.TokenResult;
import com.erry.iclear.dateInterface.common.Constants;
import com.erry.iclear.dateInterface.entity.ChmConsignment;
import com.erry.iclear.dateInterface.entity.ChmConsignmentDetail;
import com.erry.iclear.dateInterface.entity.DeclearTask;
import com.erry.iclear.dateInterface.repository.ChmConsignmentRepository;
import com.erry.iclear.dateInterface.repository.DeclearTaskRepository;
import com.erry.iclear.dateInterface.repository.ReceiptMessageRepository;
import com.erry.iclear.dateInterface.util.DateUtils;
import com.erry.iclear.dateInterface.util.JsonToJava;
import lombok.extern.slf4j.Slf4j;
import org.apache.http.Header;
......@@ -52,6 +57,12 @@ public class ApiService {
@Autowired
ChmConsignmentRepository consignmentRepository;
@Autowired
ChmConsignmentService consignmentService;
@Autowired
ChmConsignmentDetailService consignmentDetailService;
/**
* 获取token信息
* @return
......@@ -62,7 +73,7 @@ public class ApiService {
map.put("username", this.username);
map.put("password", this.password);
HttpConfig config = HttpConfig.custom()
.url(tokenUrl)
.url(this.tokenUrl)
.map(map)
.encoding("utf-8");
String tokenJson = HttpClientUtil.post(config);
......@@ -79,7 +90,7 @@ public class ApiService {
Map<String,Object> map = new HashMap<String,Object>();
map.put("token", token);
HttpConfig config = HttpConfig.custom()
.url(refreshTokenUrl)
.url(this.refreshTokenUrl)
.map(map)
.encoding("utf-8");
HttpClientUtil.post(config);
......@@ -92,7 +103,14 @@ public class ApiService {
*/
public void pushCustoms(String token){
//获取海关回执数据
List<ReceiptMessage> receiptMessageList = receiptMessageRepository.findReceiptMessageList();
List<ReceiptMessage> receiptMessageList = this.receiptMessageRepository.findReceiptMessageList();
//去除微秒
for(int i = 0 ; i < receiptMessageList.size() ; i ++){
ReceiptMessage receiptMessage = receiptMessageList.get(i);
Date noticeDate = DateUtils.string2Date(receiptMessage.getNoticeDate(),null);
String nDate = DateUtils.formatDate(noticeDate,"yyyy-MM-dd HH:mm:ss");
receiptMessage.setNoticeDate(nDate);
}
this.sendCustoms(token,receiptMessageList);
}
......@@ -118,7 +136,7 @@ public class ApiService {
//推送海关回执数据
HttpConfig config = HttpConfig.custom()
.headers(headers)
.url(customsUrl)
.url(this.customsUrl)
.encoding("utf-8")
.json(objJson);
String json = HttpClientUtil.post(config);
......@@ -130,7 +148,7 @@ public class ApiService {
declearTask.setResponseResults(tokenResult.getErrorcode());
declearTask.setResponseContent(tokenResult.getErrormessage());
declearTaskList.add(declearTask);
}else if(tokenResult.getErrorcode().equals(Constants.ApiResponseKeys.KEY_10004)){
}else if(tokenResult.getErrorcode().equals(Constants.ApiResponseKeys.KEY_10004) || tokenResult.getErrorcode().equals(Constants.ApiResponseKeys.KEY_10013)){
//如果凭证失效,则刷新凭证
refreshToken(token);
}else{
......@@ -143,7 +161,7 @@ public class ApiService {
}catch(Exception ex){
//接口响应时间
declearTask.setResponseTime(new Date());
declearTask.setResponseResults("接口调用失败!");
declearTask.setResponseResults("99999");
declearTask.setResponseContent(ex.getMessage());
declearTaskList.add(declearTask);
ex.printStackTrace();
......@@ -151,10 +169,11 @@ public class ApiService {
});
declearTaskList.forEach(declearTask -> {
//将已经推送完成的回执信息状态修改
receiptMessageRepository.updateDeclearTaskStatus(declearTask.getPushTime(),
this.receiptMessageRepository.updateDeclearTaskStatus(declearTask.getPushTime(),
declearTask.getResponseTime(),
declearTask.getResponseResults(),
declearTask.getResponseContent(),
"2",
declearTask.getChmsignmentId().longValue());
});
}
......@@ -165,21 +184,97 @@ public class ApiService {
* @throws Exception
*/
public void pushMawb(String token){
Header[] headers = HttpHeader.custom()
.other("Content-Type", "application/json")
.other("Authorization", token)
.build();
//获取海关回执数据
try{
List<DeclearTask> declearTaskList = declearTaskRepository.findDeclearTask();
/****************将Export对象转换成西门子交互实体对象****************/
//查询需要推送数据
List<Mawb> mawbList = new ArrayList<Mawb>();
List<DeclearTask> declearTaskList = this.declearTaskRepository.findDeclearTask();
declearTaskList.forEach(declearTask -> {
Long consignmentId = declearTask.getChmsignmentId().longValue();
consignmentRepository.findChmConsignmentById(consignmentId);
//查询需要推送运单数据,并且转换
ChmConsignment consignment = this.consignmentRepository.findChmConsignmentById(consignmentId);
Mawb mawb = this.consignmentService.convertToChmConsignment(consignment);
//获取需要推送运单数据,并且转换
if(consignment.getChmConsignmentDetailList() != null){
List<MawbDetail> mawbDetailList = new ArrayList<MawbDetail>();
for(int i = 0 ; i < consignment.getChmConsignmentDetailList().size() ; i++){
ChmConsignmentDetail detail = consignment.getChmConsignmentDetailList().get(i);
MawbDetail mawbDetail = this.consignmentDetailService.convertToChmConsignmentDetail(detail, String.valueOf((i + 1)));
mawbDetailList.add(mawbDetail);
}
mawb.setMawbDetailList(mawbDetailList);
}
mawbList.add(mawb);
});
this.sendMawb(token,mawbList);
}catch(Exception ex){
ex.printStackTrace();
}
}
/**
* 将完整报文发送至西门子
* @param token
* @param mawbList
*/
public void sendMawb(String token ,List<Mawb> mawbList){
Header[] headers = HttpHeader.custom()
.other("Content-Type", "application/json")
.other("Authorization", token)
.build();
List<DeclearTask> declearTaskList = new ArrayList<DeclearTask>();
mawbList.forEach(d->{
DeclearTask declearTask = new DeclearTask();
try {
//设置ID
declearTask.setChmsignmentId(BigDecimal.valueOf(d.getId()));
//推送时间
declearTask.setPushTime(new Date());
String objJson = JsonToJava.toJson(d);
//推送海关回执数据
HttpConfig config = HttpConfig.custom()
.headers(headers)
.url(this.completeMsgUrl)
.encoding("utf-8")
.json(objJson);
String json = HttpClientUtil.post(config);
//接口响应时间
declearTask.setResponseTime(new Date());
TokenResult tokenResult = JsonToJava.parseJson(json,TokenResult.class);
if(tokenResult.getErrorcode().equals(Constants.ApiResponseKeys.SUCCESS)){
//推送成功,记录推送状态
declearTask.setResponseResults(tokenResult.getErrorcode());
declearTask.setResponseContent(tokenResult.getErrormessage());
declearTaskList.add(declearTask);
}else if(tokenResult.getErrorcode().equals(Constants.ApiResponseKeys.KEY_10004) || tokenResult.getErrorcode().equals(Constants.ApiResponseKeys.KEY_10013)){
//如果凭证失效,则刷新凭证
refreshToken(token);
}else{
//推送失败,记录推送状态
declearTask.setResponseResults(tokenResult.getErrorcode());
declearTask.setResponseContent(tokenResult.getErrormessage());
declearTaskList.add(declearTask);
log.info("完整报关单推送失败,推送相应码为:"+tokenResult.getErrorcode() + ",推送ID为:" + d.getId());
}
}catch(Exception ex){
//接口响应时间
declearTask.setResponseTime(new Date());
declearTask.setResponseResults("99999");
declearTask.setResponseContent(ex.getMessage());
declearTaskList.add(declearTask);
ex.printStackTrace();
}
});
declearTaskList.forEach(declearTask -> {
//将已经推送完成的报关单状态修改
this.receiptMessageRepository.updateDeclearTaskStatus(declearTask.getPushTime(),
declearTask.getResponseTime(),
declearTask.getResponseResults(),
declearTask.getResponseContent(),
"1",
declearTask.getChmsignmentId().longValue());
});
}
/**
* 传输推送失败回执数据
* @param token
......
......@@ -5,6 +5,7 @@ import com.erry.iclear.dateInterface.common.Constant;
import com.erry.iclear.dateInterface.entity.*;
import com.erry.iclear.dateInterface.repository.ChmConsignmentDetailRepository;
import com.erry.iclear.dateInterface.repository.ChmConsignmentRepository;
import com.erry.iclear.dateInterface.util.NumberUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -51,7 +52,6 @@ public class ChmConsignmentDetailService {
result.setLevyTypeDic(levyTypeDictionaryEntries);
result.setLevyType(levyTypeDictionaryEntries.getChineseName());
}
//货号
//版本号
//第一计量单位(法定单位)
......@@ -60,8 +60,6 @@ public class ChmConsignmentDetailService {
result.setUnitLegalFirstId(firstUnitDictionaryEntries);
result.setUnitLegalFirst(firstUnitDictionaryEntries.getChineseName());
}
//第一法定数量
result.setQtyLegalFirst(BigDecimal.valueOf(mawbDetail.getFirstQty().doubleValue()));
//成交计量单位
......@@ -71,7 +69,6 @@ public class ChmConsignmentDetailService {
result.setKnockdownUnitDic(knockdownUnitEntries);
result.setKnockdownUnit(knockdownUnitEntries.getChineseName());
}
//商品规格、型号
result.setModel(mawbDetail.getGmodel());
//商品名称
......@@ -85,16 +82,12 @@ public class ChmConsignmentDetailService {
result.setHabitatDic(habitatDictonaryEntries);
result.setHabitat(habitatDictonaryEntries.getChineseName());
}
//第二计量单位
DictionaryEntries secondUnitDictionaryEntries = Constant.dictionaryEntriesCache.get(Constant.TRANSACTION_UNIT+ mawbDetail.getSecondUnit());
if(!Objects.equals(secondUnitDictionaryEntries,null)){
result.setUnitLegalSecondId(secondUnitDictionaryEntries);
result.setUnitLegalSecond(secondUnitDictionaryEntries.getChineseName());
}
//第二法定数量
result.setQtyLegalSecond(BigDecimal.valueOf(mawbDetail.getSecondQty().doubleValue()));
//成交币制
......@@ -104,7 +97,6 @@ public class ChmConsignmentDetailService {
result.setCurrency(currencyDictionaryEntries.getChineseName());
}
//用途/生产厂家
//工缴费
//最终目的国
......@@ -114,8 +106,6 @@ public class ChmConsignmentDetailService {
result.setDestinationCountry(destinationCountryDictionaryEntries.getChineseName());
}
//检验检疫编码
//申报货物英文名称
result.setContentDescription(mawbDetail.getDeclGoodsEname());
......@@ -126,27 +116,107 @@ public class ChmConsignmentDetailService {
result.setOrigplacecode(Objects.equals(origplacecodeMapping,null)?"":origplacecodeMapping.getOrigplaceName());
}
//境内目的地/境内货源地
DomesticDestinationMapping domesticDestinationDictionaryEntries = Constant.domesticDestinationMappingCache.get(mawbDetail.getDistrictCode());
if(!Objects.equals(domesticDestinationDictionaryEntries,null)){
result.setDomesticDestinationMapping(domesticDestinationDictionaryEntries);
result.setDomesticDestination(Objects.equals(destinationCountryDictionaryEntries,null)?"":destinationCountryDictionaryEntries.getChineseName());
}
result.setDetailId(mawbDetail.getDetailId());
}catch (Exception e){
log.error("convertToChmConsignmentDetail() error:"+e.getMessage());
}
return result;
}
/**
* 转换运单明细
* @param detail
* @param gno
* @return
*/
public MawbDetail convertToChmConsignmentDetail(ChmConsignmentDetail detail,String gno){
MawbDetail result = new MawbDetail();
try{
//明细ID
result.setDetailId(detail.getId().toString());
//归类标志
result.setClassMark("");
//商品编号 必须是十位,不足的后补 00
result.setCodeTS(detail.getSkuCode());
//申报单价 小数点保留4位
result.setDeclPrice(NumberUtils.bigDecimalFormat(detail.getOriRegion(),4));
//申报总价 小数点保留2位
result.setDeclTotal(NumberUtils.bigDecimalFormat(detail.getAmount(),2));
//征免方式 数字一字码,0~9
if(!Objects.equals(detail.getLevyTypeDic(),null)){
result.setDutyMode(detail.getLevyTypeDic().getExt2());
}
//货号 有值传值,无值填空值
result.setExgNo("");
//版本号 有值传值,无值填空值
result.setExgVersion("");
//第一计量单位(法定单位) 数字三字码
if(!Objects.equals(detail.getUnitLegalFirstId(),null)){
result.setFirstUnit(detail.getUnitLegalFirstId().getExt2());
}
//第一法定数量
result.setFirstQty(NumberUtils.bigDecimalToIntger(detail.getQtyLegalFirst()));
//成交计量单位 数字三字码
if(!Objects.equals(detail.getKnockdownUnitDic(),null)){
result.setGunit(detail.getKnockdownUnitDic().getExt2());
}
//商品规格、型号
result.setGmodel(detail.getModel());
//商品名称 品名必填且必须包含中文字符
result.setGname(detail.getSkuName());
//商品序号
result.setGno(gno);
//成交数量
result.setGqty(detail.getKnockdownNumber());
//原产国 英文三字码
if(!Objects.equals(detail.getHabitatDic(),null)){
result.setOriginCountry(detail.getHabitatDic().getExt3());
}
//第二计量单位 数字三字码
if(!Objects.equals(detail.getUnitLegalSecondId(),null)){
result.setSecondUnit(detail.getUnitLegalSecondId().getExt2());
}
//第二法定数量
result.setSecondQty(NumberUtils.bigDecimalToIntger(detail.getQtyLegalSecond()));
//成交币制 英文三字码
if(!Objects.equals(detail.getCurrencyDic(),null)){
result.setTradeCurr(detail.getCurrencyDic().getExt2());
}
//用途/生产厂家
result.setUseTo("");
//工缴费
result.setWorkUsd(new BigDecimal(0));
//最终目的国 英文三字码
if(!Objects.equals(detail.getDestinationCountryDic(),null)){
result.setDestinationCountry(detail.getDestinationCountryDic().getExt3());
}
//检验检疫编码
result.setCiqCode("");
//申报货物英文名称
result.setDeclGoodsEname(detail.getContentDescription());
//目的地代码 有值传值,无值填空值
if(!Objects.equals(detail.getOrigplacecodeMapping(),null)){
result.setDestCode(detail.getOrigplacecodeMapping().getOrigplaceCode());
}else{
result.setDestCode("");
}
//境内目的地/境内货源地
if(!Objects.equals(detail.getDomesticDestinationMapping(),null)){
result.setDistrictCode(detail.getDomesticDestinationMapping().getDistrictCode());
}
result.setDetailId(detail.getDetailId());
}catch (Exception e){
log.error("convertToChmConsignmentDetail() error:"+e.getMessage());
}
return result;
}
public List<ChmConsignmentDetail> findChmConsignmentDetailListByConsignmentCode(Long consignmentId){
List<ChmConsignmentDetail> result = new ArrayList<>();
......@@ -158,28 +228,19 @@ public class ChmConsignmentDetailService {
return result;
}
public void saveDetailList(List<ChmConsignmentDetail> chmConsignmentDetailList){
chmConsignmentDetailRepository.saveAll(chmConsignmentDetailList);
}
public void saveChmConsignmentDetail(ChmConsignmentDetail consignmentDetail){
chmConsignmentDetailRepository.save(consignmentDetail);
}
public void deleteChmConsignmentDetail(Long id){
chmConsignmentDetailRepository.deleteById(id);
}
public void deleteChmConsignmentDetailBatch(List<Long> idList){
chmConsignmentDetailRepository.deleteChmConsignmentDetailByChnConIdList(idList);
}
}
......
package com.erry.iclear.dateInterface.service;
import com.arronlong.httpclientutil.HttpClientUtil;
import com.arronlong.httpclientutil.common.HttpConfig;
import com.arronlong.httpclientutil.common.HttpHeader;
import com.erry.iclear.dateInterface.api.request.Mawb;
import com.erry.iclear.dateInterface.api.response.IClearCheckResponseResult;
import com.erry.iclear.dateInterface.api.response.ResultRS;
import com.erry.iclear.dateInterface.api.response.TokenResult;
import com.erry.iclear.dateInterface.entity.ChmConsignment;
import com.erry.iclear.dateInterface.entity.ChmConsignmentDetail;
import com.erry.iclear.dateInterface.repository.MawbRepository;
import com.erry.iclear.dateInterface.util.JsonToJava;
import com.google.gson.Gson;
import lombok.extern.slf4j.Slf4j;
import org.apache.http.Header;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* @author Administrator
*/
......@@ -18,9 +32,18 @@ public class MawbService {
private Gson gson = new Gson();
@Value("${api.address.iclear-check-url}")
String iclearCheckUrl;
@Autowired
private MawbRepository mawbRepository;
@Autowired
private ChmConsignmentService consignmentService;
@Autowired
private ChmConsignmentDetailService consignmentDetailService;
/**
* 保存主单Request
* @param mawb
......@@ -48,15 +71,39 @@ public class MawbService {
try{
log.info("checkMawb start>>>>>>>>>> mawb:"+gson.toJson(mawb));
//1、将请求转换为运单
ChmConsignment chmConsignment=consignmentService.convertToChmConsignment(mawb,null,"IDE-ICLEAR-API");
if(Objects.equals(chmConsignment,null)){
result.setCode("30001");
result.setMsg("数据格式不正确");
return result;
}
List<ChmConsignmentDetail> chmConsignmentDetailList = new ArrayList<>();
mawb.getMawbDetailList().forEach(detail ->{
chmConsignmentDetailList.add(consignmentDetailService.convertToChmConsignmentDetail(detail,chmConsignment));
});
chmConsignment.setChmConsignmentDetailList(chmConsignmentDetailList);
result.setSuccess(Boolean.TRUE);
log.info("checkMawb start>>>>>>>>>> mawb:"+gson.toJson(mawb) +" result :" +result.getSuccess() );
//调用IClear接口进行运单数据校验
String objJson = JsonToJava.toJson(chmConsignment);
Header[] headers = HttpHeader.custom()
.other("Content-Type", "application/json")
.build();
log.info("******************* : " + this.iclearCheckUrl);
//推送海关回执数据
HttpConfig config = HttpConfig.custom()
.headers(headers)
.url(this.iclearCheckUrl)
.encoding("utf-8")
.json(objJson);
String json = HttpClientUtil.post(config);
IClearCheckResponseResult iclearCheckResponseResult = JsonToJava.parseJson(json, IClearCheckResponseResult.class);
result.setSuccess(iclearCheckResponseResult.getSuccess());
result.setMsg(iclearCheckResponseResult.getMessage());
log.info("<<<<<<<< checkMawb start >>>>>>>>>> mawb:"+gson.toJson(mawb) +" result :" +result.getSuccess() +" iclear check response : " + json + " status : " + result.getSuccess());
}catch (Exception e){
log.error("checkMawb() error:" + e.getMessage());
}
return result;
}
}
......
package com.erry.iclear.dateInterface.util;
import java.math.BigDecimal;
/**
* 数值处理类
* mt
* 2021年8月5日16:31:02
*/
public class NumberUtils {
/**
* 保留两位小数(四舍五入),0.00之后有数字全部保留位0.01
* @param bdForMat
* @return
*/
public static BigDecimal bigDecimalFormat(BigDecimal bdForMat,int num){
if(bdForMat != null){
bdForMat = bdForMat.setScale(num, BigDecimal.ROUND_HALF_UP);
if(bdForMat.compareTo(BigDecimal.ZERO) == 0){
bdForMat = new BigDecimal(0.01).setScale(num,BigDecimal.ROUND_HALF_UP);
}
return bdForMat;
}
return null;
}
/**
* 将Bigdecimal转换成Integer
* @param bigDecimal
* @return
*/
public static Integer bigDecimalToIntger(BigDecimal bigDecimal){
Integer integer = new Integer(0);
if(bigDecimal != null){
integer = bigDecimal.intValue();
}
return integer;
}
}
This diff is collapsed. Click to expand it.
......@@ -25,6 +25,8 @@ api:
#获取token密码
password: toQu3arch6
address:
#IClear校验运单地址
iclear-check-url: http://40.73.78.157:8081/chmConsignmentController/checkChmAndDetaliD
#获取token地址
token-url: https://apiuat.iclrccd-fedex.com/login
#刷新token地址
......
......@@ -24,6 +24,8 @@ api:
#获取token密码
password: toQu3arch6
address:
#IClear校验运单地址
iclear-check-url: https://www.iclrccd-fedex.com/chmConsignmentController/checkChmAndDetaliD
#获取token地址
token-url: https://api.iclrccd-fedex.com/export/login
#刷新token地址
......
spring:
datasource:
url: jdbc:sqlserver://40.73.78.157:1433;DatabaseName=IClearDemo
url: jdbc:sqlserver://40.73.78.157:1433;DatabaseName=IClearDev
username: sa
password: Fedex_123
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
......@@ -24,6 +24,8 @@ api:
#获取token密码
password: toQu3arch6
address:
#IClear校验运单地址
iclear-check-url: http://40.73.78.157:8081/chmConsignmentController/checkChmAndDetaliD
#获取token地址
token-url: https://apiuat.iclrccd-fedex.com/login
#刷新token地址
......
......@@ -111,7 +111,7 @@ public class ChmConsignmentServiceTest extends IClearApiApplicationTests {
mawb.setFeeCurr("USD");
mawb.setFeeMark("3");
mawb.setFeeRate(BigDecimal.valueOf(100.58));
mawb.setGrossWet(500);
mawb.setGrossWet(BigDecimal.valueOf(500));
mawb.setIePort("0101");
mawb.setInputerName("");
mawb.setInsurCurr("MOP");
......
......@@ -25,7 +25,7 @@ public class HttpClientTest {
String masbJson ="{\"ieFlag\":\"E\",\"type\":\"EX\",\"agentCode\":\"1111980005\",\"agentName\":\"联邦快递(中国)有限公司\",\"billNo\":\"07127275242_00062210\",\"contrNo\":\"FY2016\",\"customMaster\":\"2233\",\"cutMode\":\"101\",\"declTrnRel\":\"0\",\"distinatePort\":\"ASM000\",\"ediId\":\"001\",\"entryId\":\"25512456\",\"feeCurr\":\"EUR\",\"feeMark\":\"3\",\"feeRate\":3.65,\"grossWet\":4,\"iePort\":\"0101\",\"insurCurr\":\"MOP\",\"insurMark\":\"3\",\"insurRate\":0.02457,\"netWt\":3.857,\"ownerCode\":\"1234567890\",\"ownerName\":\"琥博信息科技有限公司\",\"packNo\":1,\"tradeCountry\":\"US\",\"tradeMode\":\"0110\",\"tradeCode\":\"1234567890\",\"trafMode\":\"5\",\"tradeName\":\"琥博信息科技有限公司\",\"transMode\":\"3\",\"wrapType\":\"22\",\"tradeCodeScc\":\"123456789012345678\",\"ownerCodeScc\":\"123456789012345678\",\"tradeAreaCode\":\"US\",\"entyPortCode\":\"310302\",\"goodsPlace\":\"\",\"declareName\":\"申报人员姓名_50\",\"overseasConsignorCode\":\"AEO Code 50位\",\"overseasConsigneeCode\":\"境外收货人编码_50位\",\"overseasConsigneeEname\":\"境外收货人名称(外文)_400\",\"mawbDetailList\":[{\"detailId\":\"12251\",\"classMark\":\"\",\"codeTS\":\"8538900000\",\"declPrice\":128,\"declTotal\":128,\"dutyMode\":\"1\",\"exgNo\":\"\",\"exgVersion\":\"\",\"firstUnit\":\"035\",\"firstQty\":0,\"gunit\":\"007\",\"gmodel\":\"用于PLC可编程控制器|琥博|6ES7153|无其他1\",\"gname\":\"PLC可编程控制器零件/接口模块\",\"gno\":\"1\",\"gqty\":1,\"originCountry\":\"US\",\"secondQty\":222,\"tradeCurr\":\"USD\",\"useTo\":\"03\",\"ciqCode\":\"001\",\"destinationCountry\":\"CNY\",\"destCode\":\"110102\",\"districtCode\":\"4408W\"},{\"detailId\":\"12252\",\"classMark\":\"\",\"codeTS\":\"8538900000\",\"declPrice\":94.47,\"declTotal\":188.94,\"dutyMode\":\"1\",\"exgNo\":\"\",\"exgVersion\":\"\",\"firstUnit\":\"035\",\"firstQty\":0,\"gunit\":\"007\",\"gmodel\":\"用于PLC可编程控制器|琥博|6ES7331|无其他2\",\"gname\":\"PLC可编程控制器零件/输入模块\",\"gno\":\"2\",\"gqty\":2,\"originCountry\":\"US\",\"secondQty\":222,\"tradeCurr\":\"USD\",\"useTo\":\"03\",\"ciqCode\":\"\",\"destinationCountry\":\"CHN\",\"destCode\":\"\",\"districtCode\":\"4408W\"},{\"detailId\":\"12601\",\"classMark\":\"\",\"codeTS\":\"8538900001\",\"declPrice\":94.47,\"declTotal\":188.94,\"dutyMode\":\"1\",\"exgNo\":\"\",\"exgVersion\":\"\",\"firstUnit\":\"035\",\"firstQty\":0,\"gunit\":\"007\",\"gmodel\":\"用于PLC可编程控制器|琥博|6ES7331|无其他3\",\"gname\":\"PLC可编程控制器零件/输入模块\",\"gno\":\"2\",\"gqty\":2,\"originCountry\":\"US\",\"secondQty\":222,\"tradeCurr\":\"USD\",\"useTo\":\"03\",\"ciqCode\":\"\",\"destinationCountry\":\"CHN\",\"destCode\":\"\",\"districtCode\":\"4408W\"}]}";
String masbJson ="{\"ieFlag\":\"I\",\"type\":\" 0\",\"agentCode\":\"1111980005\",\"agentName\":\"联邦快递\",\"billNo\":\"774597567332\",\"contrNo\":\"3006635555/3006636664\",\"customMaster\":\"0207\",\"cutMode\":\"1\",\"declTrnRel\":\"0\",\"distinatePort\":\"DEU000\",\"ediId\":\"1\",\"feeCurr\":\"EUR\",\"feeMark\":\"3\",\"feeRate\":110.9,\"grossWet\":4.6,\"iePort\":\"0207\",\"insurCurr\":\"EUR\",\"insurMark\":\"\",\"insurRate\":0.74,\"netWt\":32,\"ownerCode\":\"9112011660\",\"ownerName\":\"西门子电气传动有限公司\",\"packNo\":1,\"tradeCountry\":\"USA\",\"tradeMode\":\"0110\",\"tradeCode\":\"9112011660\",\"trafMode\":\"5\",\"tradeName\":\"西门子电气传动有限公司\",\"transMode\":\"1\",\"wrapType\":\"23\",\"tradeCodeScc\":\"91120116600587482L\",\"ownerCodeScc\":\"91120116600587482L\",\"tradeAreaCode\":\"DEU\",\"entyPortCode\":\"110101\",\"goodsPlace\":\"\",\"declareName\":\"Jimmy shen\",\"overseasConsigneeEname\":\"PRYSMIAN KABEL UND SYSTEME GMBH\",\"mawbDetailList\":[{\"detailId\":\"495\",\"classMark\":\"\",\"codeTS\":\"8504409999\",\"declPrice\":3365,\"declTotal\":3365,\"dutyMode\":\"1\",\"exgNo\":\"\",\"exgVersion\":\"\",\"firstUnit\":\"007\",\"firstQty\":1,\"originCountry\":\"CHN\",\"secondUnit\":\"035\",\"secondQty\":1,\"tradeCurr\":\"EUR\",\"useTo\":\"03\",\"destinationCountry\":\"DEU\",\"ciqCode\":\"\",\"destCode\":\"110102\",\"districtCode\":\"11010\",\"gno\":1,\"gname\":\"其他未列名静止式变流器\",\"gmodel\":\"4|0|控制电机用|240KW|西门子/SIEMENS|6RA8081-6GV62-0AA0|||\",\"gqty\":1,\"gunit\":\"007\"},{\"detailId\":\"496\",\"classMark\":\"\",\"codeTS\":\"8504409999\",\"declPrice\":9369,\"declTotal\":9369,\"dutyMode\":\"1\",\"exgNo\":\"\",\"exgVersion\":\"\",\"firstUnit\":\"007\",\"firstQty\":3,\"originCountry\":\"CHN\",\"secondUnit\":\"035\",\"secondQty\":1,\"tradeCurr\":\"EUR\",\"useTo\":\"03\",\"destinationCountry\":\"DEU\",\"ciqCode\":\"\",\"destCode\":\"110102\",\"districtCode\":\"11010\",\"gno\":2,\"gname\":\"其他未列名静止式变流器\",\"gmodel\":\"4|0|控制电机用|36KW|西门子/SIEMENS|6RA8081-6GV62-0BB0|||\",\"gqty\":3,\"gunit\":\"007\"}]}";
......@@ -46,14 +46,14 @@ public class HttpClientTest {
.build();
HCB hcb = HCB.custom()
.timeout(3000)
.timeout(20000)
.pool(100, 10)
.sslpv(SSLs.SSLProtocolVersion.TLSv1_2)
.ssl()
.retry(3);
// String url = "https://40.73.78.157:8780/customs/sendMawb";
String url = "https://192.168.1.75:8780/customs/sendMawb";
//String url = "https://40.73.78.157:8780/customs/sendMawb";
String url = "https://127.0.0.1:8780/customs/sendMawb";
HttpConfig config = HttpConfig.custom()
.headers(headers)
.url(url)
......@@ -148,7 +148,7 @@ public class HttpClientTest {
mawb.setFeeCurr("USD");
mawb.setFeeMark("3");
mawb.setFeeRate(BigDecimal.valueOf(100.58));
mawb.setGrossWet(500);
mawb.setGrossWet(BigDecimal.valueOf(500));
mawb.setIePort("0101");
mawb.setInputerName("");
mawb.setInsurCurr("MOP");
......
package com.erry.iclear.dateInterface;
import com.arronlong.httpclientutil.HttpClientUtil;
import com.arronlong.httpclientutil.common.HttpConfig;
import com.arronlong.httpclientutil.common.HttpHeader;
import com.erry.iclear.dateInterface.util.JsonToJava;
import org.apache.http.Header;
public class IClearCheckTest {
public static void main(String[] args) throws Exception{
//调用IClear接口进行运单数据校验
String objJson = "{\"chmConsignmentDetailList\":[{\"amount\":3365,\"chmConsignment\":{\"$ref\":\"$\"},\"contentDescription\":null,\"currency\":\"欧元\",\"currencyDic\":{\"chineseName\":\"欧元\",\"code\":\"currencySystem_EUR\",\"dictCode\":\"currencySystem\",\"ext2\":\"EUR\",\"ext3\":\"GBR\",\"ext6\":\"300\",\"id\":84605},\"destinationCountry\":\"德意志联邦共和国\",\"destinationCountryDic\":{\"chineseName\":\"德意志联邦共和国\",\"code\":\"Country_DE\",\"dictCode\":\"Country\",\"ext2\":\"DE\",\"ext3\":\"DEU\",\"ext6\":\"304\",\"id\":84415},\"detailId\":\"204\",\"domesticDestination\":null,\"domesticDestinationMapping\":null,\"habitat\":\"中华人民共和国\",\"habitatDic\":{\"chineseName\":\"中华人民共和国\",\"code\":\"Country_CN\",\"dictCode\":\"Country\",\"ext2\":\"CN\",\"ext3\":\"CHN\",\"ext6\":\"142\",\"id\":84355},\"id\":null,\"knockdownNumber\":1.0,\"knockdownUnit\":\"个\",\"knockdownUnitDic\":{\"chineseName\":\"个\",\"code\":\"transactionUnit_007\",\"dictCode\":\"transactionUnit\",\"ext2\":\"007\",\"ext3\":\"GBR\",\"ext6\":\"EA\",\"id\":84139},\"levyType\":\"照章征税\",\"levyTypeDic\":{\"chineseName\":\"照章征税\",\"code\":\"levyType_1\",\"dictCode\":\"levyType\",\"ext2\":\"1\",\"ext3\":\"GBR\",\"ext6\":null,\"id\":84515},\"model\":\"4|0|控制电机用|240KW|西门子/SIEMENS|6RA8081-6GV62-0AA0|||\",\"oriRegion\":3365,\"origplacecode\":\"\",\"origplacecodeMapping\":null,\"qtyLegalFirst\":1.0,\"qtyLegalSecond\":1.0,\"skuCode\":\"8504409999\",\"skuName\":\"变频调速装置\",\"unitLegalFirst\":\"千克\",\"unitLegalFirstId\":{\"chineseName\":\"千克\",\"code\":\"transactionUnit_035\",\"dictCode\":\"transactionUnit\",\"ext2\":\"035\",\"ext3\":\"GBR\",\"ext6\":\"KGS\",\"id\":84148},\"unitLegalSecond\":\"千克\",\"unitLegalSecondId\":{\"$ref\":\"$.chmConsignmentDetailList[0].unitLegalFirstId\"}}],\"consStatus\":\"待申报海关\",\"consStatusDic\":{\"chineseName\":\"待申报海关\",\"code\":\"transferWaybillStatus_5\",\"dictCode\":\"transferWaybillStatus\",\"ext2\":\"5\",\"ext3\":\"GBR\",\"ext6\":null,\"id\":84492},\"consType\":\"D\",\"consTypeId\":{\"chineseName\":\"D\",\"code\":\"consType_D\",\"dictCode\":\"consType\",\"ext2\":\"D\",\"ext3\":\"GBR\",\"ext6\":null,\"id\":84512},\"consignmentCode\":\"774426960555\",\"consignmentHeadCode\":null,\"contractCode\":\"3006622200\",\"counts\":1,\"createTime\":1628681350830,\"creator\":\"IDE-ICLEAR-API\",\"customsNo\":null,\"dealMode\":\"CIF、CIP、DDP、DDU、DAP\",\"dealModeDic\":{\"chineseName\":\"CIF、CIP、DDP、DDU、DAP\",\"code\":\"ClinchType_CIF\",\"dictCode\":\"ClinchType\",\"ext2\":\"CIF\",\"ext3\":\"GBR\",\"ext6\":\"1\",\"id\":83977},\"declaredDocType\":null,\"declaredDocTypeDic\":null,\"declaredPort\":null,\"declaredRemark\":null,\"declaredUnitName\":\"Jimmy shen\",\"enteringNo\":null,\"fromCountry\":\"美国\",\"fromCountryDic\":{\"chineseName\":\"美国\",\"code\":\"Country_US\",\"dictCode\":\"Country\",\"ext2\":\"US\",\"ext3\":\"USA\",\"ext6\":\"502\",\"id\":84653},\"grossWeight\":4.6,\"id\":null,\"insuranceCost\":0.74,\"insuranceCostCurrency\":\"欧元\",\"insuranceCostCurrencyDic\":{\"$ref\":\"$.chmConsignmentDetailList[0].currencyDic\"},\"netWeight\":32,\"operateUnitName\":\"西门子电气传动有限公司\",\"otherCost\":null,\"otherCurrency\":null,\"otherCurrencyDic\":null,\"overseasConsignorCode\":null,\"overseasConsignorFnCname\":\"PRYSMIAN KABEL UND SYSTEME GMBH\",\"ownerCode\":\"91120116600587482L\",\"ownerCodeScc\":\"91120116600587482L\",\"ownerName\":\"西门子电气传动有限公司\",\"packageType\":\"木制或竹藤等植物性材料制盒/箱\",\"packageTypeDic\":{\"chineseName\":\"木制或竹藤等植物性材料制盒/箱\",\"code\":\"NewPackageType_23\",\"dictCode\":\"NewPackageType\",\"ext2\":\"23\",\"ext3\":\"GBR\",\"ext6\":null,\"id\":83934},\"portId\":{\"chineseName\":\"TSN\",\"code\":\"port_tsn\",\"dictCode\":\"port\",\"ext2\":null,\"ext3\":null,\"ext6\":null,\"id\":125028},\"portName\":\"TSN\",\"recordCode\":null,\"taxNature\":\"中外合资\",\"taxNatureDic\":{\"chineseName\":\"中外合资\",\"code\":\"natureExemption_601\",\"dictCode\":\"natureExemption\",\"ext2\":\"601\",\"ext3\":\"GBR\",\"ext6\":null,\"id\":84122},\"throughStopPort\":\"304\",\"throughStopPortDic\":{\"createName\":\"ADMIN\",\"createTime\":\"\",\"id\":5457,\"pcCode\":\"DEU000\",\"portEngName\":\"Germany\",\"portName\":\"德国\",\"portNo\":\"304\"},\"tradeAreaCode\":\"德意志联邦共和国\",\"tradeAreaCodeDic\":{\"$ref\":\"$.chmConsignmentDetailList[0].destinationCountryDic\"},\"tradeCoSCC\":\"91120116600587482L\",\"tradeMode\":\"一般贸易\",\"tradeModeDic\":{\"chineseName\":\"一般贸易\",\"code\":\"supervisionMode_110\",\"dictCode\":\"supervisionMode\",\"ext2\":\"0110\",\"ext3\":\"GBR\",\"ext6\":null,\"id\":84000},\"transCost\":110.9,\"transCurrency\":\"欧元\",\"transCurrencyDic\":{\"$ref\":\"$.chmConsignmentDetailList[0].currencyDic\"},\"updateTime\":null,\"vehicleWay\":{\"chineseName\":\"航空运输\",\"code\":\"VehicleWayCode_5\",\"dictCode\":\"VehicleWayCode\",\"ext2\":\"5\",\"ext3\":\"GBR\",\"ext6\":null,\"id\":83986},\"vehicleWayCode\":\"VehicleWayCode_5\"}";
String url = "http://40.73.78.157:8081/chmConsignmentController/checkChmAndDetaliD";
Header[] headers = HttpHeader.custom()
.other("Content-Type", "application/json")
.build();
//推送海关回执数据
HttpConfig config = HttpConfig.custom()
.headers(headers)
.url(url)
.encoding("utf-8")
.json(objJson);
String json = HttpClientUtil.post(config);
System.out.println(json);
}
}