diff --git a/base_wamas_ubl/lib/wamas/const.py b/base_wamas_ubl/lib/wamas/const.py index a8175f1e71..c870010edc 100644 --- a/base_wamas_ubl/lib/wamas/const.py +++ b/base_wamas_ubl/lib/wamas/const.py @@ -5,6 +5,7 @@ ausk, auskq, ausp, + auspq, bkorr, kretk, kretkq, @@ -49,6 +50,7 @@ "ART": "Product", "AUSK": "Picking", "AUSKQ": "PickingResponse", + "AUSPQ": "PickingResponse", "KRETK": "Return", "KRETKQ": "ReturnResponse", "KST": "Customer", @@ -77,6 +79,7 @@ "WEAK": weak.grammar, "WEAP": weap.grammar, "AUSKQ": auskq.grammar, + "AUSPQ": auspq.grammar, "KRETKQ": kretkq.grammar, "KRETPQ": kretpq.grammar, "KST": kst.grammar, @@ -96,7 +99,7 @@ # WAMAS TO UBL ## -LST_TELEGRAM_TYPE_IGNORE_W2D = ["AUSPQ", "TOURQ", "TAUSPQ"] +LST_TELEGRAM_TYPE_IGNORE_W2D = ["TOURQ", "TAUSPQ"] DICT_UBL_TEMPLATE = { "ReceptionResponse": "ubl_template/reception.xml", @@ -166,7 +169,7 @@ DICT_CONVERT_WAMAS_TYPE = { "AUSK": ["AUSKQ", "WATEKQ"], - "AUSP": ["WATEPQ"], + "AUSP": ["AUSPQ", "WATEPQ"], "KRETK": ["KRETKQ"], "KRETP": ["KRETPQ"], "WEAK": ["WEAKQ"], diff --git a/base_wamas_ubl/lib/wamas/ubl_template/picking.xml b/base_wamas_ubl/lib/wamas/ubl_template/picking.xml index 51ec84d280..2b6a7a2387 100644 --- a/base_wamas_ubl/lib/wamas/ubl_template/picking.xml +++ b/base_wamas_ubl/lib/wamas/ubl_template/picking.xml @@ -124,7 +124,7 @@ - + @@ -139,9 +139,19 @@ + > + + + + + @@ -150,7 +160,12 @@ - + + + + + + diff --git a/base_wamas_ubl/lib/wamas/wamas2ubl.py b/base_wamas_ubl/lib/wamas/wamas2ubl.py index 3107e3b08a..5f6834c9d3 100644 --- a/base_wamas_ubl/lib/wamas/wamas2ubl.py +++ b/base_wamas_ubl/lib/wamas/wamas2ubl.py @@ -121,8 +121,11 @@ def dict2ubl(msg_type, data, extra_data=False): extractor.get_line("KRETPQ", "IvKretp_KretId_KretNr") elif msg_type == "PickingResponse": extractor.get_head("AUSKQ", "IvAusk_AusId_AusNr") - extractor.get_head("WATEKQ", "IvTek_TeId", extractor.packages) - extractor.get_line("WATEPQ", "IvAusp_UrAusId_AusNr", "IvTep_TeId") + if "WATEKQ" not in extractor.data and "WATEPQ" not in extractor.data: + extractor.get_line("AUSPQ", "IvAusp_UrAusId_AusNr") + else: + extractor.get_head("WATEKQ", "IvTek_TeId", extractor.packages) + extractor.get_line("WATEPQ", "IvAusp_UrAusId_AusNr", "IvTep_TeId") else: raise Exception("Invalid message type: %s" % msg_type) diff --git a/base_wamas_ubl/lib/wamas/wamas_grammar/__init__.py b/base_wamas_ubl/lib/wamas/wamas_grammar/__init__.py index 229e3b17b6..c04a7300c4 100644 --- a/base_wamas_ubl/lib/wamas/wamas_grammar/__init__.py +++ b/base_wamas_ubl/lib/wamas/wamas_grammar/__init__.py @@ -7,6 +7,8 @@ weap, ausk, ausp, + auskq, + auspq, kretkq, kretpq, kretk, diff --git a/base_wamas_ubl/lib/wamas/wamas_grammar/auspq.py b/base_wamas_ubl/lib/wamas/wamas_grammar/auspq.py new file mode 100644 index 0000000000..89eb21aecc --- /dev/null +++ b/base_wamas_ubl/lib/wamas/wamas_grammar/auspq.py @@ -0,0 +1,190 @@ +from collections import OrderedDict + +grammar = OrderedDict( + { + "Telheader_Quelle": { + "type": "str", + "length": 10, + "dp": False, + "dict_key": False, + "df_val": False, + "df_func": "get_source_q", + }, + "Telheader_Ziel": { + "type": "str", + "length": 10, + "dp": False, + "dict_key": False, + "df_val": False, + "df_func": "get_destination_q", + }, + "Telheader_TelSeq": { + "type": "int", + "length": 6, + "dp": False, + "dict_key": False, + "df_val": False, + "df_func": "get_sequence_number", + }, + "Telheader_AnlZeit": { + "type": "datetime", + "length": 14, + "dp": False, + "dict_key": False, + "df_val": False, + "df_func": "get_current_datetime", + }, + "Satzart": { + "type": "str", + "length": 9, + "dp": False, + "dict_key": False, + "df_val": "AUSPQ0051", + "df_func": False, + }, + "IvAusp_UrAusId_Mand": { + "type": "str", + "length": 3, + "dp": False, + "dict_key": "RxAusp_AusId_Mand", + "df_val": False, + "df_func": False, + }, + "IvAusp_UrAusId_AusNr": { + "type": "str", + "length": 20, + "dp": False, + "dict_key": "RxAusp_AusId_AusNr", + "df_val": False, + "df_func": False, + }, + "IvAusp_UrAusId_HostAusKz": { + "type": "str", + "length": 5, + "dp": False, + "dict_key": "RxAusp_AusId_HostAusKz", + "df_val": False, + "df_func": False, + }, + "IvAusp_ExtRef": { + "type": "str", + "length": 20, + "dp": False, + "dict_key": "RxAusp_ExtRef", + "df_val": False, + "df_func": False, + }, + "IvAusp_HostPosNr": { + "type": "int", + "length": 6, + "dp": False, + "dict_key": "RxAusp_HostPosNr", + "df_val": False, + "df_func": False, + }, + "IvAusp_MId_AId_Mand": { + "type": "str", + "length": 3, + "dp": False, + "dict_key": "RxAusp_MId_AId_Mand", + "df_val": False, + "df_func": False, + }, + "IvAusp_MId_AId_ArtNr": { + "type": "str", + "length": 20, + "dp": False, + "dict_key": "RxAusp_MId_AId_ArtNr", + "df_val": False, + "df_func": False, + }, + "IvAusp_MId_AId_Var": { + "type": "str", + "length": 5, + "dp": False, + "dict_key": "RxAusp_MId_AId_Var", + "df_val": False, + "df_func": False, + }, + "IvMatqk_HMATQ_HMatQ": { + "type": "str", + "length": 20, + "dp": False, + "dict_key": False, + "df_val": False, + "df_func": False, + }, + "IvAusp_LiefMngsWamas_Mng": { + "type": "int", + "length": 12, + "dp": False, + "dict_key": "BestMng", + "df_val": False, + "df_func": False, + }, + "IvAusp_LiefMngsWamas_Gew": { + "type": "int", + "length": 12, + "dp": False, + "dict_key": False, + "df_val": False, + "df_func": False, + }, + "IvArt_HOSTUNITS_HostEinh": { + "type": "str", + "length": 5, + "dp": False, + "dict_key": "HostEinheit", + "df_val": False, + "df_func": False, + }, + "IvArt_Bestand_Einheit": { + "type": "str", + "length": 5, + "dp": False, + "dict_key": "HostEinheit", + "df_val": False, + "df_func": False, + }, + "IvAusp_MId_Charge": { + "type": "str", + "length": 20, + "dp": False, + "dict_key": "RxAusp_MId_Charge", + "df_val": False, + "df_func": False, + }, + "IvAusp_Info": { + "type": "str", + "length": 40, + "dp": False, + "dict_key": "RxAusp_Info", + "df_val": False, + "df_func": False, + }, + "IvAusp_MId_MHD": { + "type": "date", + "length": 8, + "dp": False, + "dict_key": False, + "df_val": False, + "df_func": False, + }, + "LiefSNr": { + "type": "str", + "length": 20, + "dp": False, + "dict_key": False, + "df_val": False, + "df_func": False, + }, + "AUSPQ0051": { + "type": "bool", + "length": 1, + "dp": False, + "dict_key": False, + "df_val": False, + "df_func": False, + }, + } +) diff --git a/base_wamas_ubl/tests/samples/WAMAS2UBL-SAMPLE_AUSKQ_WATEKQ_WATEPQ-DESPATCH_ADVICE.xml b/base_wamas_ubl/tests/samples/WAMAS2UBL-SAMPLE_AUSKQ_WATEKQ_WATEPQ-DESPATCH_ADVICE.xml index 0df12316d3..a2531894f6 100644 --- a/base_wamas_ubl/tests/samples/WAMAS2UBL-SAMPLE_AUSKQ_WATEKQ_WATEPQ-DESPATCH_ADVICE.xml +++ b/base_wamas_ubl/tests/samples/WAMAS2UBL-SAMPLE_AUSKQ_WATEKQ_WATEPQ-DESPATCH_ADVICE.xml @@ -81,7 +81,10 @@ 101 - 7.0 + + 7.0 + + @@ -90,7 +93,10 @@ - 15455 + + 15455 + + @@ -106,7 +112,10 @@ 102 - 8.0 + + 8.0 + + @@ -115,7 +124,10 @@ - 15455 + + 15455 + +