作者 朱兆平

电子运单-RTD节点的一对多校验

... ... @@ -2,6 +2,11 @@ package com.sunyo.wlpt.base.model.efreight.fwb;
import com.sunyo.wlpt.base.model.efreight.BASE;
import com.sunyo.wlpt.base.model.efreight.fwb.exception.FWBException;
import com.sunyo.wlpt.base.model.efreight.fwb.exception.FWBExceptionType;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* RTD
... ... @@ -138,58 +143,7 @@ public class FWB_RTD extends BASE implements FWB_BASE{
*/
private String rtd_goods_consol_DES;
/**
* NODE:ND
* Dimensions [C]
* 尺寸信息
* Weight Code
* 重量单位
* [A-Z]{0,1}
* O
* DEMO:
* K
*/
private String rtd_goods_DIM_weightcode;
/**
* NODE:ND
* Dimensions
* 尺寸信息
* Weight
* 重量
* [0-9\.]{0,7}
* O
* DEMO:
* 21.11
*/
private String rtd_goods_DIM_weight;
/**
* NODE:ND
* Dimensions
* 尺寸信息
* Measurement Unit Code
* 尺寸单位
* [A-Z]{0,3}
* O
* DEMO:
* CBM OR NDA(没有尺寸信息)
*/
private String rtd_measurement_code;
/**
* Parent NODE:ND
* Dimensions
* 尺寸信息
* Measurement info
* 尺寸具体信息,这个节点比较麻烦在前端交互以及长宽高的识别及处理,多个体积信息可重复节点标识
* [0-9]{0,5}x[0-9]{0,5}x[0-9]{0,5}/[0-9]{0,4} | [0-9]{0,5}-[0-9]{0,5}-[0-9]{0,5}/[0-9]{0,4}
* 长-宽-高/件数
* O
* DEMO:
* 100-100-50/4
*/
private String rtd_measurement_info;
private List<FWB_RTD_Dimension> dimensions;
/**
* Parent NODE:NV
... ... @@ -299,36 +253,12 @@ public class FWB_RTD extends BASE implements FWB_BASE{
this.rtd_goods_consol_DES = rtd_goods_consol_DES;
}
public String getRtd_goods_DIM_weightcode() {
return rtd_goods_DIM_weightcode;
}
public void setRtd_goods_DIM_weightcode(String rtd_goods_DIM_weightcode) {
this.rtd_goods_DIM_weightcode = rtd_goods_DIM_weightcode;
}
public String getRtd_goods_DIM_weight() {
return rtd_goods_DIM_weight;
}
public void setRtd_goods_DIM_weight(String rtd_goods_DIM_weight) {
this.rtd_goods_DIM_weight = rtd_goods_DIM_weight;
public List<FWB_RTD_Dimension> getDimensions() {
return dimensions;
}
public String getRtd_measurement_code() {
return rtd_measurement_code;
}
public void setRtd_measurement_code(String rtd_measurement_code) {
this.rtd_measurement_code = rtd_measurement_code;
}
public String getRtd_measurement_info() {
return rtd_measurement_info;
}
public void setRtd_measurement_info(String rtd_measurement_info) {
this.rtd_measurement_info = rtd_measurement_info;
public void setDimensions(List<FWB_RTD_Dimension> dimensions) {
this.dimensions = dimensions;
}
public String getRtd_volume_code() {
... ... @@ -404,17 +334,21 @@ public class FWB_RTD extends BASE implements FWB_BASE{
sb.append(CRLF);
}
if (hasText(getRtd_measurement_info())){
if (!dimensions.isEmpty()){
for (FWB_RTD_Dimension item : dimensions) {
sb.append(SPLIT_CODE).append(lineNumber++).append(SPLIT_CODE).append("ND");
sb.append(SPLIT_CODE);
if (hasText(rtd_goods_DIM_weight)){
sb.append(getRtd_goods_DIM_weightcode()).append(getRtd_goods_DIM_weight());
if (hasText(item.getDim_weight())){
sb.append(item.getDim_weightcode()).append(item.getDim_weight());
}
sb.append(SPLIT_CODE);
sb.append(getRtd_measurement_code()).append(getRtd_measurement_info());
sb.append(item.getDim_measurement_code()).append(item.getDim_measurement_info());
sb.append(CRLF);
}
}
sb.append(SPLIT_CODE).append(lineNumber++).append(SPLIT_CODE).append("NV").append(SPLIT_CODE)
.append(getRtd_volume_code()).append(getRtd_volume());
... ... @@ -429,3 +363,4 @@ public class FWB_RTD extends BASE implements FWB_BASE{
return "RTD";
}
}
... ...
package com.sunyo.wlpt.base.model.efreight.fwb;
import com.sunyo.wlpt.base.model.efreight.BASE;
import com.sunyo.wlpt.base.model.efreight.fwb.exception.FWBException;
import com.sunyo.wlpt.base.model.efreight.fwb.exception.FWBExceptionType;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class FWB_RTD_Dimension extends BASE {
/**
* NODE:ND
* Dimensions [C]
* 尺寸信息
* Weight Code
* 重量单位
* K|L
* O
* DEMO:
* K|L
*/
private String dim_weightcode="K";
/**
* NODE:ND
* Dimensions
* 尺寸信息
* Weight
* 重量
* [0-9\.]{0,7}
* O
* DEMO:
* 21.11
*/
private String dim_weight="";
/**
* NODE:ND
* Dimensions
* 尺寸信息
* Measurement Unit Code
* 尺寸单位
* [A-Z]{0,3}
* O
* DEMO:
* CMT OR NDA(没有尺寸信息)
*/
private String dim_measurement_code="CMT";
/**
* Parent NODE:ND
* Dimensions
* 尺寸信息
* Measurement info
* 尺寸具体信息,这个节点比较麻烦在前端交互以及长宽高的识别及处理,多个体积信息可重复节点标识
* [0-9]{0,5}x[0-9]{0,5}x[0-9]{0,5}/[0-9]{0,4} | [0-9]{0,5}-[0-9]{0,5}-[0-9]{0,5}/[0-9]{0,4}
* 长-宽-高/件数
* O
* Repeat times N次
* DEMO:
* 100-100-50/4
*/
private String dim_measurement_info="";
public FWB_RTD_Dimension(String dim_measurement_info) {
this.dim_measurement_info = dim_measurement_info;
}
public FWB_RTD_Dimension(String dim_weight, String dim_measurement_info) {
this.dim_weight = dim_weight;
this.dim_measurement_info = dim_measurement_info;
}
public FWB_RTD_Dimension(String dim_weightcode, String dim_weight, String dim_measurement_code, String dim_measurement_info) {
this.dim_weightcode = dim_weightcode;
this.dim_weight = dim_weight;
this.dim_measurement_code = dim_measurement_code;
this.dim_measurement_info = dim_measurement_info;
}
public String getDim_weightcode() throws FWBException {
if (hasText(dim_weight)){
String patternStr = "^K|L$";
Pattern pattern = Pattern.compile(patternStr);
Matcher matcher = pattern.matcher(dim_weightcode);
if (!matcher.find()){
throw new FWBException(FWBExceptionType.RTD_DIM_WEIGHT_CODE_ERROR,dim_weightcode);
}
}
return dim_weightcode;
}
public void setDim_weightcode(String dim_weightcode) {
this.dim_weightcode = dim_weightcode;
}
public String getDim_weight() throws FWBException {
if (hasText(dim_weight)){
String patternStr = "^[0-9\\.]{1,7}$";
Pattern pattern = Pattern.compile(patternStr);
Matcher matcher = pattern.matcher(dim_weight);
if (!matcher.find()){
throw new FWBException(FWBExceptionType.RTD_DIM_WEIGHT_VAL_ERROR,dim_weight);
}
}
return dim_weight;
}
public void setDim_weight(String dim_weight) {
this.dim_weight = dim_weight;
}
public String getDim_measurement_code() throws FWBException {
if (hasText(dim_measurement_info)){
String patternStr = "^[A-Z]{3}$";
Pattern pattern = Pattern.compile(patternStr);
Matcher matcher = pattern.matcher(dim_measurement_code);
if (!matcher.find()){
throw new FWBException(FWBExceptionType.RTD_MEASUREMENT_CODE_ERROR);
}
}
return dim_measurement_code;
}
public void setDim_measurement_code(String dim_measurement_code) {
this.dim_measurement_code = dim_measurement_code;
}
public String getDim_measurement_info() throws FWBException {
if (hasText(dim_measurement_info) ){
String patternStr = "^\\d{1,5}\\-\\d{1,5}\\-\\d{1,5}/\\d{1,4}$";
Pattern pattern = Pattern.compile(patternStr);
Matcher matcher = pattern.matcher(dim_measurement_info);
if (!matcher.find()){
throw new FWBException(FWBExceptionType.RTD_DIMENSION_INFO_ERROR,dim_measurement_info);
}
}
return dim_measurement_info;
}
public void setDim_measurement_info(String dim_measurement_info) {
this.dim_measurement_info = dim_measurement_info;
}
}
... ...
... ... @@ -16,7 +16,7 @@ public class FWBException extends Exception {
public FWBException(FWBExceptionType exceptionTypeEnum, String message) {
this.code = exceptionTypeEnum.getCode();
this.message = message;
this.message = exceptionTypeEnum.getMsg() + "-[ERROR-VALUE]-" + message;
}
public FWBException(FWBExceptionType exceptionTypeEnum) {
... ...
... ... @@ -72,7 +72,7 @@ public enum FWBExceptionType {
FWB_NFY_CN_ERR("974"," 被通知人联系方式信息格式有误"),
FWB_ACC_ID_ERR ("1022","ACC财务信息ID格式有误"),
FWB_ACC_INFO_ERR("1024","ACC财务信息内容格式有误"),
FWB_ACC_INFO_ERR("1024","ACC财务信息内容格式有误,^[A-Z0-9-<=/\\s\\.]{1,34}$"),
FWB_CVD_CUR_ERR("1130","CVD收费声明货币单位格式有误"),
FWB_CVD_CC_ERR("1150","CVD收费代码格式有误"),
... ... @@ -81,6 +81,10 @@ public enum FWBExceptionType {
FWB_CVD_DVC_ERR("11101","海关声明价值格式有误"),
FWB_CVD_VID_ERR("11112","保险声明价值格式有误"),
RTD_DIM_WEIGHT_CODE_ERROR("12135","RTD-DIM重量代码有误,K|L"),
RTD_DIM_WEIGHT_VAL_ERROR("12136","RTD-DIM重量信息有误,[0-9\\.]{1,7}"),
RTD_MEASUREMENT_CODE_ERROR("12138","RTD尺寸代码有误,[A-Z]{3}"),
RTD_DIMENSION_INFO_ERROR("12139","RTD尺寸信息有误,长-宽-高/件数,^\\d{1,5}\\-\\d{1,5}\\-\\d{1,5}/\\d{1,4}$"),
OTH_CHARGES_ERROR("1322", "其他费用信息格式有误"),
OTH_CHARGE_CODE_ERROR("1331", "其他费用代码信息格式有误"),
... ... @@ -95,14 +99,15 @@ public enum FWBExceptionType {
OSI_TEXT_ERROR("1830", "其他服务信息格式有误"),
REF_ERROR("203", "缺少 REF Sender Reference - Sender Office Message Address"),
REF_ERROR("2030", "缺少 REF Sender Reference - Sender Office Message Address"),
REF_SOMA_REGEX_FAILD("2031", "REF- Sender Office Message Address RegEx Faild"),
REF_SPID_REGEX_FAILD("206", "REF- Sender Participant Idenfitication RegEx Faild,缺少关联节点信息"),
REF_SPID_REGEX_FAILD("2060", "REF- Sender Participant Idenfitication RegEx Faild,缺少关联节点信息"),
SPH_LENGTH_FAILD("2520", "SPH-最多只支持9个操作代码信息"),
SPH_CODE_FAILD("2522", "SPH-代码格式信息有误"),
OCI_CSRC_ERROR("297", "缺少 Other Customs,Security And Regulatory Control Information Identifier");
OCI_CSRC_ERROR("2970", "缺少 Other Customs,Security And Regulatory Control Information Identifier");
/**
* 参照字典FWB节点位置
... ...
import com.sunyo.wlpt.base.model.efreight.fwb.*;
import com.sunyo.wlpt.base.model.efreight.fwb.exception.FWBException;
public class FWB_804_31118150 {
public static void main(String[] args) {
System.out.println(
FWB_WAYBILL_TEST()
+ FWB_FLT_TEST()
+ FWB_RTG_TEST()
+ FWB_SHP_TEST()
+ FWB_CNE_TEST()
+ FWB_AGT_TEST()
+ FWB_SSR_TEST()
+ FWB_NFY_TEST()
+ FWB_ACC_TEST()
+ FWB_CVD_TEST()
+ FWB_RTD_TEST()
+ FWB_CER_TEST()
+ FWB_ISU_TEST()
+ FWB_OSI_TEST()
+ REF_TEST()
+ OCI_TEST()
);
// REF_TEST();
// OCI_TEST();
}
static String FWB_WAYBILL_TEST(){
FWB fwb = new FWB();
fwb.setWaybillNum("804-31118150");
fwb.setOrigin("CGO");
fwb.setDestination("ICN");
fwb.setQuantity_picecs("22");
fwb.setQuantity_weight("330");
fwb.setQuantity_weight_code("K");
fwb.setQuantity_volume("1.47");
fwb.setQuantity_volume_code("MC");
// fwb.setQuantity_density("22");
try {
fwb.getWaybillNum();
String nodeText = fwb.getNodeName() + fwb.getFWBNodeText();
// System.out.println(nodeText);
return nodeText;
} catch (FWBException e) {
e.printStackTrace();
}
return "";
}
static String FWB_FLT_TEST(){
FWB_FLT flt = new FWB_FLT();
flt.setCariier("CF");
flt.setFlightNumber("221");
flt.setDay("08");
try {
String nodeText = flt.getNodeName() + flt.getFWBNodeText() + "\n";
return nodeText;
} catch (FWBException e) {
e.printStackTrace();
}
return "";
}
static String FWB_RTG_TEST(){
FWB_RTG var = new FWB_RTG();
var.setDestinationAirport("ICN");
var.setDestinationCarrier("CF");
// var.setOnwardAirport("SIN");
// var.setOnwardCarrier("K9");
try {
String nodeText = var.getNodeName() + var.getFWBNodeText() + "\n";
// System.out.println(FWB_WAYBILL_TEST()+nodeText);
return nodeText;
} catch (FWBException e) {
e.printStackTrace();
}
return "";
}
static String FWB_SHP_TEST(){
FWB_SHP var = new FWB_SHP();
var.setShp_name("KERRY EAS LOGISTICS LIMITED HENAN");
// var.setShp_account_number("ABC");
var.setShp_adr("KERRY LOGISTICS PARK 500M TO XINAN");
var.setShp_loc_place("ZHENGZHOU");
// var.setShp_loc_province("HENAN");
var.setShp_country("CN");
var.setShp_postcode("450000");
var.setShp_contact_id("TE");
var.setShp_contact_number("8637155528940");
try {
String nodeText = var.getNodeName() + var.getFWBNodeText();
return nodeText;
} catch (FWBException e) {
e.printStackTrace();
}
return "";
}
static String FWB_CNE_TEST(){
FWB_CNE var = new FWB_CNE();
var.setCne_name("SAMSUNG ELECTRONICS LOGITECH CO LTD");
// var.setShp_account_number("ABC");
var.setCne_adr("416 MAETAN DONG YOUNGTONG GU");
var.setCne_loc_place("SUWON");
// var.setCne_loc_province("HENAN");
var.setCne_country("KR");
// var.setCne_postcode("07217");
var.setCne_contact_id("TE");
var.setCne_contact_number("82312703625");
try {
String nodeText = var.getNodeName() + var.getFWBNodeText();
return nodeText;
} catch (FWBException e) {
e.printStackTrace();
}
return "";
}
static String FWB_AGT_TEST(){
FWB_AGT var = new FWB_AGT();
// var.setAgt_account_number("");
// var.setAgt_IATA_number("0831714");
// var.setAgt_CASS_ADR("0215");
// var.setAgt_participant_id("CAG");
// var.setAgt_name("BOLLORE LOGISTICS CHINA CO LTD ");
// var.setAgt_ADR("SHANGHAI");
try {
String nodeText = var.getFWBNodeText() ;
return nodeText;
} catch (FWBException e) {
e.printStackTrace();
}
return "";
}
static String FWB_SSR_TEST(){
FWB_SSR var = new FWB_SSR();
// var.setSsr_request_content("SAY TOTAL 22 PACKAGES PLEASE NOTIFY CONSIGNEE UPON FLIGHT ARRIVAL");
try {
String nodeText = var.getFWBNodeText() ;
return nodeText;
} catch (FWBException e) {
e.printStackTrace();
}
return "";
}
static String FWB_NFY_TEST(){
FWB_NFY var = new FWB_NFY();
// var.setNfy_name("DSV AIR SEA AB - I200");
// var.setNfy_ADR("NO.3 UNIT 2F-W2 WAREHOUSE NO.83 SH");
// var.setNfy_LOC_city("SHANGHAI");
// var.setNfy_LOC_province("");
// var.setNfy_country("CN");
// var.setNfy_postcode("");
// var.setNfy_contact_id("TE");
// var.setNfy_contact_NUM("TE00862160278315");
try {
String nodeText = var.getFWBNodeText() ;
return nodeText;
} catch (FWBException e) {
e.printStackTrace();
}
return "";
}
static String FWB_ACC_TEST(){
FWB_ACC var = new FWB_ACC();
var.setAcc_info_id("GEN");
var.setAcc_info("FREIGHT PREPAID");
try {
String nodeText = var.getFWBNodeText() ;
return nodeText;
} catch (FWBException e) {
e.printStackTrace();
}
return "";
}
static String FWB_CVD_TEST(){
FWB_CVD var = new FWB_CVD();
var.setCvd_currency_code("CNY");
// var.setCvd_charge_code("PP");
var.setCvd_charge_prepaid("PP");
var.setCvd_value_for_carriage("NVD");
var.setCvd_value_for_customs("NCV");
var.setCvd_amount_of_insurance("XXX");
try {
String nodeText = var.getFWBNodeText() ;
return nodeText;
} catch (FWBException e) {
e.printStackTrace();
}
return "";
}
static String FWB_RTD_TEST(){
//todo:做个计费单价x计费重量 与 total 总价的对比验证
FWB_RTD var = new FWB_RTD();
var.setRtd_number_pieces("22");
var.setRtd_gross_weight("330");
var.setRtd_rate_class("Q");
// var.setRtd_commodity_NUM("12398");
var.setRtd_charge_weight("330");
// var.setRtd_rate_charge("21.23");
// var.setRtd_total("198732.22");
var.setRtd_goods_DES("CONSOLIDATED AS PER ATTACHED MANIFEST");
var.setRtd_goods_consol_DES("CONSOL");
// var.setRtd_goods_DIM_weightcode("K");
// var.setRtd_goods_DIM_weight("302.33");
var.setRtd_measurement_code("CMT");
var.setRtd_measurement_info("110-110-82/1");
var.setRtd_volume_code("MC");
var.setRtd_volume("1.47");
try {
String nodeText = var.getFWBNodeText() ;
return nodeText;
} catch (FWBException e) {
e.printStackTrace();
}
return "";
}
static String FWB_CER_TEST(){
FWB_CER var = new FWB_CER();
var.setCer_signature("KERRY EAS LOGISTICS");
try {
String nodeText = var.getFWBNodeText() ;
return nodeText;
} catch (FWBException e) {
e.printStackTrace();
}
return "";
}
static String FWB_ISU_TEST(){
FWB_ISU var = new FWB_ISU();
var.setIsu_day_mounth_year("07JUL23");
var.setIsu_place_or_airport_code("ZHENGZHOU");
try {
String nodeText = var.getFWBNodeText() ;
return nodeText;
} catch (FWBException e) {
e.printStackTrace();
}
return "";
}
static String FWB_OSI_TEST(){
FWB_OSI var = new FWB_OSI();
// var.setOsi_text("SAY TOTAL 22 PACKAGES PLEASE NOTIFY CONSIGNEE UPON FLIGHT ARRIVAL");
try {
String nodeText = var.getFWBNodeText() ;
return nodeText;
} catch (FWBException e) {
e.printStackTrace();
}
return "";
}
static String OCI_TEST(){
FWB_OCI var = new FWB_OCI();
var.setOci_csrc_id("T");
var.setOci_csrc_info("USCI91410100712647021U");
var.setOci_country_code("CN");
var.setOci_information_id("SHP");
try {
String nodeText= var.getFWBNodeText();
return nodeText;
} catch (FWBException e) {
e.printStackTrace();
}
return "";
}
static String REF_TEST(){
FWB_REF var = new FWB_REF();
var.setRef_address("CGOFDIE");
// fwb_ref.setRef_file_reference("EC1A2C4CBC3D1");
// fwb_ref.setRef_participant_id("AGT");
// fwb_ref.setRef_participant_code("MECCGO01");
// fwb_ref.setRef_participant_airport("CGO");
try {
String nodeText = var.getFWBNodeText();
return nodeText;
} catch (FWBException e) {
e.printStackTrace();
}
return "";
}
}
... ... @@ -2,7 +2,10 @@
import com.sunyo.wlpt.base.model.efreight.fwb.*;
import com.sunyo.wlpt.base.model.efreight.fwb.exception.FWBException;
public class FWBTest {
import java.util.ArrayList;
import java.util.List;
public class FWB_804_31118511 {
public static void main(String[] args) {
... ... @@ -18,6 +21,8 @@ public class FWBTest {
+ FWB_ACC_TEST()
+ FWB_CVD_TEST()
+ FWB_RTD_TEST()
+ FWB_OTH_TEST()
+ FWB_PPD_TEST()
+ FWB_CER_TEST()
+ FWB_ISU_TEST()
+ FWB_OSI_TEST()
... ... @@ -33,14 +38,15 @@ public class FWBTest {
static String FWB_WAYBILL_TEST(){
FWB fwb = new FWB();
fwb.setWaybillNum("804-31118500");
fwb.setWaybillNum("804-31118485");
fwb.setOrigin("CGO");
fwb.setDestination("ICN");
fwb.setQuantity_picecs("22");
fwb.setQuantity_weight("196");
fwb.setQuantity_picecs("2");
fwb.setQuantity_weight_code("K");
fwb.setQuantity_volume("0.78");
fwb.setQuantity_weight("10");
fwb.setQuantity_volume_code("MC");
fwb.setQuantity_volume("0.10");
// fwb.setQuantity_density("22");
try {
fwb.getWaybillNum();
... ... @@ -57,7 +63,7 @@ public class FWBTest {
FWB_FLT flt = new FWB_FLT();
flt.setCariier("CF");
flt.setFlightNumber("221");
flt.setDay("08");
flt.setDay("13");
try {
String nodeText = flt.getNodeName() + flt.getFWBNodeText() + "\n";
... ... @@ -87,15 +93,15 @@ public class FWBTest {
static String FWB_SHP_TEST(){
FWB_SHP var = new FWB_SHP();
var.setShp_name("DIMERCO INTERNATIONAL TRANSPORTA");
var.setShp_name("MCL ELECTRONIC MATERIALS CO LTD");
// var.setShp_account_number("ABC");
var.setShp_adr("LTD ZHENGZHOU BRANCH 607 608");
var.setShp_loc_place("ZHENGZHOU");
var.setShp_adr("NO99 BINHEBEI ROAD GAOXIN DISTRICT");
var.setShp_loc_place("LUOYANG");
var.setShp_loc_province("HENAN");
var.setShp_country("CN");
var.setShp_postcode("450000");
var.setShp_postcode("471000");
var.setShp_contact_id("TE");
var.setShp_contact_number("8637155629366");
var.setShp_contact_number("86037963390432");
try {
... ... @@ -109,15 +115,15 @@ public class FWBTest {
static String FWB_CNE_TEST(){
FWB_CNE var = new FWB_CNE();
var.setCne_name("DIMERCO EXPRESS KOREA CORP.");
var.setCne_name("EASY TRADING CO LTD");
// var.setShp_account_number("ABC");
var.setCne_adr("1501 1502 BLDG. E SKV1 CENTER 11");
var.setCne_loc_place("SEOUL");
var.setCne_adr("201 111 BALLYONG RO DEOKJIN GU");
var.setCne_loc_place("JEONJU SI");
// var.setCne_loc_province("HENAN");
var.setCne_country("KR");
var.setCne_postcode("07217");
var.setCne_postcode("54853");
var.setCne_contact_id("TE");
var.setCne_contact_number("828223370905");
var.setCne_contact_number("82637143737");
try {
... ... @@ -150,7 +156,7 @@ public class FWBTest {
static String FWB_SSR_TEST(){
FWB_SSR var = new FWB_SSR();
var.setSsr_request_content("SAY TOTAL 22 PACKAGES PLEASE NOTIFY CONSIGNEE UPON FLIGHT ARRIVAL");
// var.setSsr_request_content("SAY TOTAL 10 PACKAGE PLEASE NOTIFY CONSIGNEE UPON FLIGHT ARRIVAL");
try {
String nodeText = var.getFWBNodeText() ;
... ... @@ -163,14 +169,14 @@ public class FWBTest {
static String FWB_NFY_TEST(){
FWB_NFY var = new FWB_NFY();
// var.setNfy_name("DSV AIR SEA AB - I200");
// var.setNfy_ADR("NO.3 UNIT 2F-W2 WAREHOUSE NO.83 SH");
// var.setNfy_LOC_city("SHANGHAI");
// var.setNfy_name("KYUNGDONG CHEMICAL CORP");
// var.setNfy_ADR("704 BYUCKSAN SUNYOUNG TECHNOPIA 13");
// var.setNfy_LOC_city("UIWANG SI");
// var.setNfy_LOC_province("");
// var.setNfy_country("CN");
// var.setNfy_postcode("");
// var.setNfy_country("KR");
// var.setNfy_postcode("16072");
// var.setNfy_contact_id("TE");
// var.setNfy_contact_NUM("TE00862160278315");
// var.setNfy_contact_NUM("0313873573");
try {
String nodeText = var.getFWBNodeText() ;
return nodeText;
... ... @@ -196,7 +202,7 @@ public class FWBTest {
static String FWB_CVD_TEST(){
FWB_CVD var = new FWB_CVD();
var.setCvd_currency_code("CNY");
var.setCvd_charge_code("PP");
var.setCvd_charge_code("");
var.setCvd_charge_prepaid("PP");
var.setCvd_value_for_carriage("NVD");
var.setCvd_value_for_customs("NCV");
... ... @@ -214,21 +220,57 @@ public class FWBTest {
static String FWB_RTD_TEST(){
//todo:做个计费单价x计费重量 与 total 总价的对比验证
FWB_RTD var = new FWB_RTD();
var.setRtd_number_pieces("22");
var.setRtd_gross_weight("194");
var.setRtd_number_pieces("2");
var.setRtd_gross_weight("10");
var.setRtd_rate_class("Q");
// var.setRtd_commodity_NUM("12398");
var.setRtd_charge_weight("194");
// var.setRtd_rate_charge("21.23");
// var.setRtd_total("198732.22");
// var.setRtd_goods_DES("DELL COMPUTY");
var.setRtd_goods_consol_DES("CONSOL");
var.setRtd_charge_weight("45");
var.setRtd_rate_charge("14.32");
var.setRtd_total("644.40");
var.setRtd_goods_DES("POLISHED SILICON WAFER");
// var.setRtd_goods_consol_DES("CONSOL");
// var.setRtd_goods_DIM_weightcode("W");
// var.setRtd_goods_DIM_weight("302.33");
var.setRtd_measurement_code("CMT");
var.setRtd_measurement_info("33-33-34/21");
List<FWB_RTD_Dimension> measurement_list = new ArrayList();
measurement_list.add(new FWB_RTD_Dimension("136.73","47-42-26/4"));
measurement_list.add(new FWB_RTD_Dimension("22.08","27-33-44/1"));
var.setDimensions(measurement_list);
var.setRtd_volume_code("MC");
var.setRtd_volume("0.78");
var.setRtd_volume("0.10");
try {
String nodeText = var.getFWBNodeText() ;
return nodeText;
} catch (FWBException e) {
e.printStackTrace();
}
return "";
}
static String FWB_OTH_TEST(){
//todo:做个计费单价x计费重量 与 total 总价的对比验证
FWB_OTH var = new FWB_OTH();
try {
String nodeText = var.getFWBNodeText() ;
return nodeText;
} catch (FWBException e) {
e.printStackTrace();
}
return "";
}
static String FWB_PPD_TEST(){
//todo:做个计费单价x计费重量 与 total 总价的对比验证
FWB_PPD var = new FWB_PPD();
var.setPpd_weight_amount("1");
var.setPpd_valuation_amount("2");
var.setPpd_taxes_amount("3");
var.setPpd_other_charges_due_agent("4");
var.setPpd_other_charges_due_carrier("5");
var.setPpd_charge_summary_total("6");
try {
String nodeText = var.getFWBNodeText() ;
return nodeText;
... ... @@ -254,8 +296,9 @@ public class FWBTest {
static String FWB_ISU_TEST(){
FWB_ISU var = new FWB_ISU();
var.setIsu_day_mounth_year("07JUL23");
var.setIsu_day_mounth_year("12JUL23");
var.setIsu_place_or_airport_code("ZHENGZHOU");
// var.setIsu_signature("JUNWEI WANG");
try {
... ... @@ -281,17 +324,48 @@ public class FWBTest {
}
/**
* OCI节点应为数组节点
* @return
*/
static String OCI_TEST(){
List<FWB_OCI> ociList = new ArrayList();
FWB_OCI var = new FWB_OCI();
var.setOci_csrc_id("T");
var.setOci_csrc_info("USCI91410100349422169R");
var.setOci_csrc_info("USCI91410300623912049A");
var.setOci_country_code("CN");
var.setOci_information_id("SHP");
FWB_OCI var_CP = new FWB_OCI();
var_CP.setOci_csrc_id("CP");
var_CP.setOci_csrc_info("LI");
var_CP.setOci_country_code("CN");
var_CP.setOci_information_id("SHP");
FWB_OCI var_CT = new FWB_OCI();
var_CT.setOci_csrc_id("CT");
var_CT.setOci_csrc_info("12384511");
var_CT.setOci_country_code("CN");
var_CT.setOci_information_id("SHP");
ociList.add(var);
ociList.add(var_CP);
ociList.add(var_CT);
try {
String nodeText= var.getFWBNodeText();
return nodeText;
StringBuilder nodeText= new StringBuilder();
for (FWB_OCI oci : ociList) {
String nodeTextLine = oci.getFWBNodeText();
/**
* 每行的OCI都会生成OCI标识,所以要去掉除了第一行OCI以外的其他标识
*/
if (nodeText.indexOf(oci.getNodeName(),0)>-1){
nodeTextLine = nodeTextLine.replace(oci.getNodeName(),"");
}
nodeText.append(nodeTextLine);
}
return nodeText.toString();
} catch (FWBException e) {
e.printStackTrace();
}
... ...