作者 朱兆平

部分报文格式生成及验证

... ... @@ -172,7 +172,7 @@ public class FWB extends BASE implements FWB_BASE {
public String getQuantity_volume() throws FWBException {
if (hasText(quantity_volume)){
String patternStr = "^[1-9][0-9\\.]{0,8}$";
String patternStr = "^[0-9][0-9\\.]{0,8}$";
Pattern pattern = Pattern.compile(patternStr);
Matcher matcher = pattern.matcher(quantity_volume);
if (!matcher.find()){
... ...
... ... @@ -40,7 +40,7 @@ public class FWB_CNE extends BASE implements FWB_BASE {
* 收货人省
* [A-Z0-9-<=/\s\.]{0,9}
*/
private String cne_loc_province;
private String cne_loc_province="";
/**
* 收货人国家
* [A-Z]{2}
... ... @@ -50,7 +50,7 @@ public class FWB_CNE extends BASE implements FWB_BASE {
* 收货人邮编
* [A-Z0-9-<=/\s\.]{0,9}
*/
private String cne_postcode;
private String cne_postcode="";
/**
* 收货人联系方式类别
* FX|TE|TL
... ...
... ... @@ -148,6 +148,7 @@ public class FWB_OCI implements FWB_BASE {
String CRLF = "\n";
StringBuilder sb = new StringBuilder("");
if (StringUtils.hasLength(getOci_csrc_info())){
sb.append(getNodeName());
sb.append(SPLIT_CODE)
.append(getOci_country_code())
.append(SPLIT_CODE)
... ...
... ... @@ -168,6 +168,7 @@ public class FWB_REF implements FWB_BASE{
StringBuilder sb = new StringBuilder("");
try {
sb.append(getNodeName());
sb.append(SPLIT_CODE)
.append(getRef_address());
... ...
... ... @@ -406,6 +406,7 @@ public class FWB_RTD extends BASE implements FWB_BASE{
if (hasText(getRtd_measurement_info())){
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());
}
... ...
import com.sun.org.apache.regexp.internal.RE;
import com.sunyo.wlpt.base.model.efreight.fwb.*;
import com.sunyo.wlpt.base.model.efreight.fwb.exception.FWBException;
... ... @@ -11,12 +11,18 @@ public class FWBTest {
+ 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();
... ... @@ -27,15 +33,15 @@ public class FWBTest {
static String FWB_WAYBILL_TEST(){
FWB fwb = new FWB();
fwb.setWaybillNum("804-31118393");
fwb.setWaybillNum("804-31118500");
fwb.setOrigin("CGO");
fwb.setDestination("ICN");
fwb.setQuantity_picecs("1");
fwb.setQuantity_weight("102.22");
fwb.setQuantity_weight_code("L");
fwb.setQuantity_volume("20.22");
fwb.setQuantity_picecs("22");
fwb.setQuantity_weight("196");
fwb.setQuantity_weight_code("K");
fwb.setQuantity_volume("0.78");
fwb.setQuantity_volume_code("MC");
fwb.setQuantity_density("22");
// fwb.setQuantity_density("22");
try {
fwb.getWaybillNum();
String nodeText = fwb.getNodeName() + fwb.getFWBNodeText();
... ... @@ -49,14 +55,13 @@ public class FWBTest {
static String FWB_FLT_TEST(){
FWB_FLT flt = new FWB_FLT();
flt.setCariier("CV");
flt.setFlightNumber("732");
flt.setDay("29");
flt.setCariier("CF");
flt.setFlightNumber("221");
flt.setDay("08");
try {
String nodeText = flt.getNodeName() + flt.getFWBNodeText() + "\n";
return nodeText;
// System.out.println(FWB_WAYBILL_TEST()+nodeText);
} catch (FWBException e) {
e.printStackTrace();
}
... ... @@ -66,7 +71,7 @@ public class FWBTest {
static String FWB_RTG_TEST(){
FWB_RTG var = new FWB_RTG();
var.setDestinationAirport("ICN");
var.setDestinationCarrier("CV");
var.setDestinationCarrier("CF");
// var.setOnwardAirport("SIN");
// var.setOnwardCarrier("K9");
... ... @@ -82,15 +87,37 @@ public class FWBTest {
static String FWB_SHP_TEST(){
FWB_SHP var = new FWB_SHP();
var.setShp_name("HENAN CIVIL AVIATION DEVELOPMENT");
var.setShp_account_number("ABC");
var.setShp_adr("HNCA BUILDING YUHONG WORLD");
var.setShp_name("DIMERCO INTERNATIONAL TRANSPORTA");
// var.setShp_account_number("ABC");
var.setShp_adr("LTD ZHENGZHOU BRANCH 607 608");
var.setShp_loc_place("ZHENGZHOU");
var.setShp_loc_province("HENAN");
var.setShp_country("CN");
var.setShp_postcode("");
var.setShp_postcode("450000");
var.setShp_contact_id("TE");
var.setShp_contact_number("450000");
var.setShp_contact_number("8637155629366");
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("DIMERCO EXPRESS KOREA CORP.");
// var.setShp_account_number("ABC");
var.setCne_adr("1501 1502 BLDG. E SKV1 CENTER 11");
var.setCne_loc_place("SEOUL");
// var.setCne_loc_province("HENAN");
var.setCne_country("KR");
var.setCne_postcode("07217");
var.setCne_contact_id("TE");
var.setCne_contact_number("828223370905");
try {
... ... @@ -104,12 +131,12 @@ public class FWBTest {
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_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");
// var.setAgt_name("BOLLORE LOGISTICS CHINA CO LTD ");
// var.setAgt_ADR("SHANGHAI");
try {
... ... @@ -123,7 +150,7 @@ public class FWBTest {
static String FWB_SSR_TEST(){
FWB_SSR var = new FWB_SSR();
var.setSsr_request_content("ALSO CNEE OPERATIONAL CODE 086500 NETTING CODE 0462 VAT NO 486017");
var.setSsr_request_content("SAY TOTAL 22 PACKAGES PLEASE NOTIFY CONSIGNEE UPON FLIGHT ARRIVAL");
try {
String nodeText = var.getFWBNodeText() ;
... ... @@ -136,14 +163,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_LOC_province("");
var.setNfy_country("CN");
var.setNfy_postcode("");
var.setNfy_contact_id("TE");
var.setNfy_contact_NUM("TE00862160278315");
// 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;
... ... @@ -168,8 +195,8 @@ public class FWBTest {
static String FWB_CVD_TEST(){
FWB_CVD var = new FWB_CVD();
var.setCvd_currency_code("INR");
// var.setCvd_charge_code("PX");
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");
... ... @@ -187,21 +214,21 @@ public class FWBTest {
static String FWB_RTD_TEST(){
//todo:做个计费单价x计费重量 与 total 总价的对比验证
FWB_RTD var = new FWB_RTD();
var.setRtd_number_pieces("3");
var.setRtd_gross_weight("174");
var.setRtd_number_pieces("22");
var.setRtd_gross_weight("194");
var.setRtd_rate_class("Q");
// var.setRtd_commodity_NUM("12398");
var.setRtd_charge_weight("176");
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("CONSOLE");
// var.setRtd_goods_DES("DELL COMPUTY");
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("120-80-55/2");
var.setRtd_measurement_info("33-33-34/21");
var.setRtd_volume_code("MC");
var.setRtd_volume("27.76");
var.setRtd_volume("0.78");
try {
String nodeText = var.getFWBNodeText() ;
return nodeText;
... ... @@ -211,35 +238,81 @@ public class FWBTest {
return "";
}
static String FWB_CER_TEST(){
FWB_CER var = new FWB_CER();
var.setCer_signature("ZHENGZHOU NAVITRANS");
static void OCI_TEST(){
FWB_OCI fwb_oci = new FWB_OCI();
fwb_oci.setOci_csrc_id("T");
fwb_oci.setOci_csrc_info("USCI91440101MA9Y9E79XG");
fwb_oci.setOci_country_code("CN");
fwb_oci.setOci_information_id("SHP");
try {
String oci = fwb_oci.getFWBNodeText();
System.out.println(oci);
String nodeText = var.getFWBNodeText() ;
return nodeText;
} catch (FWBException e) {
e.printStackTrace();
}
return "";
}
static void REF_TEST(){
FWB_REF fwb_ref = new FWB_REF();
fwb_ref.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");
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 oci = fwb_ref.getNodeName() + fwb_ref.getFWBNodeText();
System.out.println(oci);
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("USCI91410100349422169R");
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 "";
}
... ...
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 "";
}
}
... ...