# air-line-edi project ## CW1 Mark API [swagger>/v1/job/inboundJson](https://data-pipeline-api-dev.morrison.express/swagger-ui.html#/Job%20API/createInboundJobForJsonUsingPOST) * Token : test (dev) * customer : cw1 * dag_id : cw1_airlineEDIUpdate * subject : airline_edi * metadata ```json "{ ""station"":""LAX"", ""trans_mode"":""AIR"", ""mawb_no"":""123-098765"", ""msg_type"":""FWB"", ""log_time"":""2022-03-27 01:23:11"" }" ``` ### view this api result log https://airflow-dev.morrison.express/admin/airflow/tree?dag_id=cw1_airlineEDIUpdate ## 舊Java專案打包要點 另外下面是部署稍微需要注意的部分: Build/Build Artifacts 打包完之後 jar 檔要改檔名 GenerateEDIProgram.jar / ReceiveFSUProgram.jar 打包完成後打開jar 檔 刪掉META-INF/FILETEST.SF 上傳ftp: ftp.morrisonexpress.com (帳密跟遠端桌面連線的一樣) 遠端進需要部署的遠端主機上下載下來到 C:/AIRLINE_EDI,舊的記得先改檔名備份。 新的 jar 下載下來後 .bat 檔用 cmd 跑一遍,觀察有沒有正常執行。 ## 查 Job Info ```sql= SELECT DISTINCT JK_MasterBillNum, JK.JK_PK jk_pk, SUBSTRING ( JK.JK_MasterBillNum, 1, 3 ) + '-' + SUBSTRING ( JK.JK_MasterBillNum, 4, 8 ) mawb_no, OHSENDING.OH_Code station, SUBSTRING ( RouteLeg1.JW_VoyageFlight, 1, 2 ) destination, SUBSTRING ( JK.JK_MasterBillNum, 1, 3 ) airline FROM JobShipment AS JS LEFT JOIN JobConShipLink AS JN ON JS.JS_PK = JN.JN_JS LEFT JOIN JobConsol AS JK ON JK.JK_PK = JN.JN_JK LEFT JOIN OrgAddress SENDING ON SENDING.OA_PK = JK.JK_OA_SendingForwarderAddress LEFT JOIN OrgAddress RECEIVING ON RECEIVING.OA_PK = JK.JK_OA_ReceivingForwarderAddress INNER JOIN OrgHeader OHSENDING ON OHSENDING.OH_PK = SENDING.OA_OH INNER JOIN OrgHeader OHRECEIVING ON OHRECEIVING.OH_PK = RECEIVING.OA_OH LEFT JOIN dbo.ProcessTasks AS P9 ON P9.P9_ParentID = JK.JK_PK AND P9_SE_NKMilestoneEvent = 'DDV' AND P9_Description LIKE '%Manifest Sent to Airline%' INNER JOIN JobConsolTransport AS RouteLeg1 ON ( JK.JK_PK = RouteLeg1.JW_ParentGUID AND RouteLeg1.JW_ParentType = 'CON' AND RouteLeg1.JW_LegOrder = 1 ) WHERE JK_MasterBillNum in ('16036988803') ORDER BY jk_pk OFFSET 0 ROWS FETCH NEXT 100 ROWS ONLY ``` ## Waiting JoB List ```sql SELECT JK.JK_PK jk_pk, SUBSTRING ( JK.JK_MasterBillNum, 1, 3 ) + '-' + SUBSTRING ( JK.JK_MasterBillNum, 4, 8 ) mawb_no, OHSENDING.OH_Code station, SUBSTRING ( RouteLeg1.JW_VoyageFlight, 1, 2 ) destination, SUBSTRING ( JK.JK_MasterBillNum, 1, 3 ) airline FROM JobShipment AS JS LEFT JOIN JobConShipLink AS JN ON JS.JS_PK = JN.JN_JS LEFT JOIN JobConsol AS JK ON JK.JK_PK = JN.JN_JK LEFT JOIN OrgAddress SENDING ON SENDING.OA_PK = JK.JK_OA_SendingForwarderAddress LEFT JOIN OrgAddress RECEIVING ON RECEIVING.OA_PK = JK.JK_OA_ReceivingForwarderAddress INNER JOIN OrgHeader OHSENDING ON OHSENDING.OH_PK = SENDING.OA_OH INNER JOIN OrgHeader OHRECEIVING ON OHRECEIVING.OH_PK = RECEIVING.OA_OH LEFT JOIN dbo.ProcessTasks AS P9 ON P9.P9_ParentID = JK.JK_PK AND P9_SE_NKMilestoneEvent = 'DDV' AND P9_Description LIKE '%Manifest Sent to Airline%' INNER JOIN JobConsolTransport AS RouteLeg1 ON ( JK.JK_PK = RouteLeg1.JW_ParentGUID AND RouteLeg1.JW_ParentType = 'CON' AND RouteLeg1.JW_LegOrder = 1 ) WHERE OHSENDING.OH_Code= 'M-ATL' AND SUBSTRING ( JK_MasterBillNum, 1, 3 ) IN ( '160','043','999','020','014','235','001','724','006','180','172','016','157','933','176','081','580','932','403','125','057','114','074','105','992','423','615' ) AND CONVERT ( VARCHAR, P9_ActualDate, 112 ) >= CONVERT ( VARCHAR, GETDATE( ), 112 ) AND CONVERT ( VARCHAR, P9_ActualDate, 112 ) >= CONVERT ( VARCHAR,20220824, 112 ) ``` ## 常用code 小記 ### diff report for some mawb_no ```python! # (file_entity_list, section_entity_list) = _test_job_diff(job_info) # print(file_entity_list) # print(section_entity_list) # with database.session_scope() as session: # _save_entity_list(session, file_entity_list, EDIDiffFileDao) # _save_entity_list(session, section_entity_list, EDIDiffSectionDao) ``` ###### tags: `morrison`