{"id":120,"date":"2019-04-30T16:36:25","date_gmt":"2019-04-30T08:36:25","guid":{"rendered":"http:\/\/www.hefeiyu.com\/?p=120"},"modified":"2019-04-30T16:36:25","modified_gmt":"2019-04-30T08:36:25","slug":"%e5%88%a9%e7%94%a84gl%e6%9f%a5%e8%af%a2%e5%bf%ab%e9%80%92%e4%bf%a1%e6%81%af%ef%bc%8c%e9%9b%86%e6%88%90%e5%88%b0erp","status":"publish","type":"post","link":"https:\/\/www.hefeiyu.com\/?p=120","title":{"rendered":"\u5229\u75284GL\u67e5\u8be2\u5feb\u9012\u4fe1\u606f\uff0c\u96c6\u6210\u5230ERP"},"content":{"rendered":"<p>\u5148\u770b\u56fe<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.hefeiyu.com\/wp-content\/uploads\/2019\/04\/ABUIABAEGAAgmcLyuwUogOXX7QMwjgc4qQM.png\" alt=\" \" \/><\/p>\n<p>\u5229\u7528\u5feb\u9012\u9e1fapi\u63a5\u53e3\u5b9e\u73b0\uff0c\u76ee\u524d\u5b98\u7f51api\u5df2\u5b9e\u73b0\u81ea\u52a8\u6839\u636e\u5355\u53f7\u8bc6\u522b\u5feb\u9012\u516c\u53f8\uff0c\u5177\u4f53\u53ef\u770b\u5b98\u7f51\u8bf4\u660e\uff0c\u4ee5\u4e0b\u4ee3\u7801\u4e0d\u5305\u542b\u8fd9\u5757\uff1a<\/p>\n<p>\u6dfb\u52a0 util.os \u5230 $FGLDIR\/lib\u4e2d\u8986\u76d6\uff08T100\u65e0\u9700\u8fd9\u6b65\uff09<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.hefeiyu.com\/wp-content\/uploads\/2019\/04\/5a92a8aade25a639d84ec858c067b978.png\" \/><\/p>\n<pre class=\"pure-highlightjs\"><code class=\"null\">IMPORT com\r\nIMPORT util\r\nIMPORT JAVA java.net.URLEncoder\r\nIMPORT JAVA java.lang.String\r\n       \r\nDATABASE ds \r\nGLOBALS \"..\/..\/..\/tiptop\/config\/top.global\"\r\n       \r\nDEFINE exp_company      STRING\r\nDEFINE exp_no           STRING\r\nDEFINE cb               ui.ComboBox\r\nDEFINE cust_rec RECORD\r\n       EBusinessID      STRING,\r\n       ShipperCode      STRING,\r\n       Success          BOOLEAN,\r\n       LogisticCode     STRING,\r\n       State            STRING,\r\n       Traces DYNAMIC ARRAY OF RECORD\r\n              AcceptTime    STRING,\r\n              AcceptStation STRING\r\n              END RECORD\r\n              END RECORD\r\n                     \r\nMAIN\r\n       \r\n       \r\n    IF (NOT cl_user()) THEN                                #\u9810\u8a2d\u90e8\u4efd\u53c3\u6578(g_prog,g_user,...)\r\n       EXIT PROGRAM                                        #\u5207\u63db\u6210\u4f7f\u7528\u8005\u9810\u8a2d\u7684\u71df\u904b\u4e2d\u5fc3\r\n    END IF                  \r\n                           \r\n    WHENEVER ERROR CALL cl_err_msg_log                     #\u9047\u932f\u5247\u8a18\u9304log\u6a94\r\n                           \r\n    IF (NOT cl_setup(\"CZZ\")) THEN                          #\u6293\u53d6\u6b0a\u9650\u5171\u7528\u8b8a\u6578\u53ca\u6a21\u7d44\u8b8a\u6578(g_aza.*...)\r\n       EXIT PROGRAM                                        #\u5224\u65b7\u4f7f\u7528\u8005\u57f7\u884c\u7a0b\u5f0f\u6b0a\u9650\r\n    END IF\r\n       \r\n    OPEN WINDOW p_express  WITH FORM \"czz\/42f\/p_express.42f\"\r\n            ATTRIBUTE (STYLE = \"p_express\" CLIPPED)   \r\n       \r\n    CALL cl_ui_init()\r\n           \r\n    LET cb = ui.ComboBox.forName(\"exp_company\") \r\n    CALL cb.addItem('EMS','EMS')\r\n    CALL cb.addItem('YTO','\u5706\u901a\u901f\u9012')\r\n    CALL cb.addItem('ZTO','\u4e2d\u901a\u901f\u9012')\r\n    CALL cb.addItem('YD','\u97f5\u8fbe\u5feb\u9012')\r\n    CALL cb.addItem('ST','\u901f\u901a\u7269\u6d41')\r\n    CALL cb.addItem('STO','\u7533\u901a\u5feb\u9012')\r\n    CALL cb.addItem('SF','\u987a\u4e30\u5feb\u9012')\r\n    CALL cb.addItem('BTWL','\u767e\u4e16\u7269\u6d41')\r\n    CALL cb.addItem('HTKY','\u767e\u4e16\u6c47\u901a')\r\n    CALL cb.addItem('FAST','\u5feb\u6377\u901f\u9012')\r\n    CALL cb.addItem('HFWL','\u6c47\u4e30\u7269\u6d41')\r\n    CALL cb.addItem('HHTT','\u5929\u5929\u5feb\u9012')\r\n    CALL cb.addItem('HHKD','\u534e\u822a\u5feb\u9012')\r\n    CALL cb.addItem('DBL','\u5fb7\u90a6')\r\n    CALL cb.addItem('GHX','\u6302\u53f7\u4fe1')\r\n    CALL cb.addItem('7TLSWL','7\u5929\u8fde\u9501\u7269\u6d41')\r\n    CALL cb.addItem('AJ','\u5b89\u6377\u5feb\u9012')\r\n    CALL cb.addItem('ANE','\u5b89\u80fd\u7269\u6d41')\r\n    CALL cb.addItem('AXD','\u5b89\u4fe1\u8fbe\u5feb\u9012')\r\n    CALL cb.addItem('BALUNZHI','\u5df4\u4f26\u652f\u5feb\u9012')\r\n    CALL cb.addItem('BFDF','\u767e\u798f\u4e1c\u65b9')\r\n    CALL cb.addItem('BKWL','\u5b9d\u51ef\u7269\u6d41')\r\n    CALL cb.addItem('BQXHM','\u5317\u9752\u5c0f\u7ea2\u5e3d')\r\n    CALL cb.addItem('BSWL','\u90a6\u9001\u7269\u6d41')\r\n    CALL cb.addItem('CCES','CCES\u5feb\u9012')\r\n    CALL cb.addItem('CITY100','\u57ce\u5e02100')\r\n    CALL cb.addItem('COE','COE\u4e1c\u65b9\u5feb\u9012')\r\n    CALL cb.addItem('CSCY','\u957f\u6c99\u521b\u4e00')\r\n    CALL cb.addItem('CXWL','\u4f20\u559c\u7269\u6d41')\r\n    CALL cb.addItem('DCWL','\u5fb7\u521b\u7269\u6d41')\r\n    CALL cb.addItem('DHWL','\u4e1c\u7ea2\u7269\u6d41')\r\n    CALL cb.addItem('DSWL','D\u901f\u7269\u6d41')\r\n    CALL cb.addItem('DTKD','\u5e97\u901a\u5feb\u9012')\r\n    CALL cb.addItem('DTWL','\u5927\u7530\u7269\u6d41')\r\n    CALL cb.addItem('DYWL','\u5927\u6d0b\u7269\u6d41\u5feb\u9012')\r\n    CALL cb.addItem('FBKD','\u98de\u8c79\u5feb\u9012')\r\n    CALL cb.addItem('FEDEX','FedEx\u8054\u90a6\u5feb\u9012')\r\n    CALL cb.addItem('FHKD','\u98de\u72d0\u5feb\u9012')\r\n    CALL cb.addItem('FKD','\u98de\u5eb7\u8fbe')\r\n    CALL cb.addItem('FYPS','\u98de\u8fdc\u914d\u9001')\r\n    CALL cb.addItem('FYSD','\u51e1\u5b87\u901f\u9012')\r\n    CALL cb.addItem('GDEMS','\u5e7f\u4e1c\u90ae\u653f')\r\n    CALL cb.addItem('GDKD','\u51a0\u8fbe\u5feb\u9012')\r\n    CALL cb.addItem('GKSD','\u6e2f\u5feb\u901f\u9012')\r\n    CALL cb.addItem('GSD','\u5171\u901f\u8fbe')\r\n    CALL cb.addItem('GTKD','\u5e7f\u901a\u901f\u9012')\r\n    CALL cb.addItem('GTO','\u56fd\u901a\u5feb\u9012')\r\n    CALL cb.addItem('GTSD','\u9ad8\u94c1\u901f\u9012')\r\n    CALL cb.addItem('HBJH','\u6cb3\u5317\u5efa\u534e')\r\n    CALL cb.addItem('HLKD','\u97e9\u6da6\u7269\u6d41')\r\n    CALL cb.addItem('HLWL','\u6052\u8def\u7269\u6d41')\r\n    CALL cb.addItem('HMJKD','\u9ec4\u9a6c\u7532\u5feb\u9012')\r\n    CALL cb.addItem('HMSD','\u6d77\u76df\u901f\u9012')\r\n    CALL cb.addItem('HOAU','\u5929\u5730\u534e\u5b87')\r\n    CALL cb.addItem('hq568','\u534e\u5f3a\u7269\u6d41')\r\n    CALL cb.addItem('HQKY','\u534e\u4f01\u5feb\u8fd0')\r\n    CALL cb.addItem('HSWL','\u660a\u76db\u7269\u6d41')\r\n    CALL cb.addItem('HTWL','\u6237\u901a\u7269\u6d41')\r\n    CALL cb.addItem('HXLWL','\u534e\u590f\u9f99\u7269\u6d41')\r\n    CALL cb.addItem('HYLSD','\u597d\u6765\u8fd0\u5feb\u9012')\r\n    CALL cb.addItem('JD','\u4eac\u4e1c\u5feb\u9012')\r\n    CALL cb.addItem('JGSD','\u4eac\u5e7f\u901f\u9012')\r\n    CALL cb.addItem('JIUYE','\u4e5d\u66f3\u4f9b\u5e94\u94fe')\r\n    CALL cb.addItem('JJKY','\u4f73\u5409\u5feb\u8fd0')\r\n    CALL cb.addItem('JLDT','\u5609\u91cc\u5927\u901a')\r\n    CALL cb.addItem('JTKD','\u6377\u7279\u5feb\u9012')\r\n    CALL cb.addItem('JXD','\u6025\u5148\u8fbe')\r\n    CALL cb.addItem('JYKD','\u664b\u8d8a\u5feb\u9012')\r\n    CALL cb.addItem('JYM','\u52a0\u8fd0\u7f8e')\r\n    CALL cb.addItem('JYSD','\u4e45\u6613\u5feb\u9012')\r\n    CALL cb.addItem('JYWL','\u4f73\u6021\u7269\u6d41')\r\n    CALL cb.addItem('KLWL','\u5eb7\u529b\u7269\u6d41')\r\n    CALL cb.addItem('KTKD','\u5feb\u6dd8\u5feb\u9012')\r\n    CALL cb.addItem('KYDSD','\u5feb\u4f18\u8fbe\u901f\u9012')\r\n    CALL cb.addItem('KYWL','\u8de8\u8d8a\u901f\u9012')\r\n    CALL cb.addItem('LB','\u9f99\u90a6\u5feb\u9012')\r\n    CALL cb.addItem('LBKD','\u8054\u90a6\u5feb\u9012')\r\n    CALL cb.addItem('LHKD','\u84dd\u5f27\u5feb\u9012')\r\n    CALL cb.addItem('LHT','\u8054\u660a\u901a\u901f\u9012')\r\n    CALL cb.addItem('LJD','\u4e50\u6377\u9012')\r\n    CALL cb.addItem('LJS','\u7acb\u5373\u9001')\r\n    CALL cb.addItem('MB','\u6c11\u90a6\u901f\u9012')\r\n    CALL cb.addItem('MDM','\u95e8\u5bf9\u95e8')\r\n    CALL cb.addItem('MHKD','\u6c11\u822a\u5feb\u9012')\r\n    CALL cb.addItem('MLWL','\u660e\u4eae\u7269\u6d41')\r\n    CALL cb.addItem('MSKD','\u95fd\u76db\u5feb\u9012')\r\n    CALL cb.addItem('NEDA','\u80fd\u8fbe\u901f\u9012')\r\n    CALL cb.addItem('NJSBWL','\u5357\u4eac\u665f\u90a6\u7269\u6d41')\r\n    CALL cb.addItem('PADTF','\u5e73\u5b89\u8fbe\u817e\u98de\u5feb\u9012')\r\n    CALL cb.addItem('PXWL','\u966a\u884c\u7269\u6d41')\r\n    CALL cb.addItem('QCKD','\u5168\u6668\u5feb\u9012')\r\n    CALL cb.addItem('QFKD','\u5168\u5cf0\u5feb\u9012')\r\n    CALL cb.addItem('QRT','\u5168\u65e5\u901a\u5feb\u9012')\r\n    CALL cb.addItem('RFD','\u5982\u98ce\u8fbe')\r\n    CALL cb.addItem('RLWL','\u65e5\u6631\u7269\u6d41')\r\n    CALL cb.addItem('SAD','\u8d5b\u6fb3\u9012')\r\n    CALL cb.addItem('SAWL','\u5723\u5b89\u7269\u6d41')\r\n    CALL cb.addItem('SBWL','\u76db\u90a6\u7269\u6d41')\r\n    CALL cb.addItem('SDHH','\u5c71\u4e1c\u6d77\u7ea2')\r\n    CALL cb.addItem('SDWL','\u4e0a\u5927\u7269\u6d41')\r\n    CALL cb.addItem('SFWL','\u76db\u4e30\u7269\u6d41')\r\n    CALL cb.addItem('SHLDHY','\u4e0a\u6d77\u6797\u9053\u8d27\u8fd0')\r\n    CALL cb.addItem('SHWL','\u76db\u8f89\u7269\u6d41')\r\n    CALL cb.addItem('SJWL','\u7a57\u4f73\u7269\u6d41')\r\n    CALL cb.addItem('STSD','\u4e09\u6001\u901f\u9012')\r\n    CALL cb.addItem('SURE','\u901f\u5c14\u5feb\u9012')\r\n    CALL cb.addItem('SXHMJ','\u5c71\u897f\u7ea2\u9a6c\u7532')\r\n    CALL cb.addItem('SYJHE','\u6c88\u9633\u4f73\u60e0\u5c14')\r\n    CALL cb.addItem('SYKD','\u4e16\u8fd0\u5feb\u9012')\r\n    CALL cb.addItem('THTX','\u901a\u548c\u5929\u4e0b')\r\n    CALL cb.addItem('TSSTO','\u5510\u5c71\u7533\u901a')\r\n    CALL cb.addItem('UAPEX','\u5168\u4e00\u5feb\u9012')\r\n    CALL cb.addItem('UC','\u4f18\u901f\u5feb\u9012')\r\n    CALL cb.addItem('WJWL','\u4e07\u5bb6\u7269\u6d41')\r\n    CALL cb.addItem('WTP','\u5fae\u7279\u6d3e')\r\n    CALL cb.addItem('WXWL','\u4e07\u8c61\u7269\u6d41')\r\n    CALL cb.addItem('XBWL','\u65b0\u90a6\u7269\u6d41')\r\n    CALL cb.addItem('XFEX','\u4fe1\u4e30\u5feb\u9012')\r\n    CALL cb.addItem('XGYZ','\u9999\u6e2f\u90ae\u653f')\r\n    CALL cb.addItem('XLYT','\u7965\u9f99\u8fd0\u901a')\r\n    CALL cb.addItem('XYT','\u5e0c\u4f18\u7279')\r\n    CALL cb.addItem('YADEX','\u6e90\u5b89\u8fbe\u5feb\u9012')\r\n    CALL cb.addItem('YBJ','\u90ae\u5fc5\u4f73')\r\n    CALL cb.addItem('YCWL','\u8fdc\u6210\u7269\u6d41')\r\n    CALL cb.addItem('YDH','\u4e49\u8fbe\u56fd\u9645\u7269\u6d41')\r\n    CALL cb.addItem('YFEX','\u8d8a\u4e30\u7269\u6d41')\r\n    CALL cb.addItem('YFHEX','\u539f\u98de\u822a\u7269\u6d41')\r\n    CALL cb.addItem('YFSD','\u4e9a\u98ce\u5feb\u9012')\r\n    CALL cb.addItem('YJSD','\u94f6\u6377\u901f\u9012')\r\n    CALL cb.addItem('YLSY','\u4ebf\u9886\u901f\u8fd0')\r\n    CALL cb.addItem('YMWL','\u82f1\u8109\u7269\u6d41')\r\n    CALL cb.addItem('YSH','\u4ebf\u987a\u822a')\r\n    CALL cb.addItem('YSKY','\u97f3\u7d20\u5feb\u8fd0')\r\n    CALL cb.addItem('YTD','\u6613\u901a\u8fbe')\r\n    CALL cb.addItem('YTFH','\u4e00\u7edf\u98de\u9e3f')\r\n    CALL cb.addItem('YTKD','\u8fd0\u901a\u5feb\u9012')\r\n    CALL cb.addItem('YXWL','\u5b87\u946b\u7269\u6d41')\r\n    CALL cb.addItem('YZPY','\u90ae\u653f\u5e73\u90ae\/\u5c0f\u5305')\r\n    CALL cb.addItem('ZENY','\u589e\u76ca\u5feb\u9012')\r\n    CALL cb.addItem('ZHQKD','\u6c47\u5f3a\u5feb\u9012')\r\n    CALL cb.addItem('ZJS','\u5b85\u6025\u9001')\r\n    CALL cb.addItem('ZMKM','\u829d\u9ebb\u5f00\u95e8')\r\n    CALL cb.addItem('ZRSD','\u4e2d\u777f\u901f\u9012')\r\n    CALL cb.addItem('ZTE','\u4f17\u901a\u5feb\u9012')\r\n    CALL cb.addItem('ZTKY','\u4e2d\u94c1\u5feb\u8fd0')\r\n    CALL cb.addItem('ZTWL','\u4e2d\u94c1\u7269\u6d41')\r\n    CALL cb.addItem('ZTWY','\u4e2d\u5929\u4e07\u8fd0')\r\n    CALL cb.addItem('ZWYSD','\u4e2d\u5916\u8fd0\u901f\u9012')\r\n    CALL cb.addItem('ZYWL','\u4e2d\u90ae\u7269\u6d41')\r\n    CALL cb.addItem('ZZJH','\u90d1\u5dde\u5efa\u534e') \r\n       \r\n    CALL p__express_menu() \r\n           \r\n    CLOSE WINDOW p_express\r\nEND MAIN\r\n<\/code><\/pre>\n<p>&nbsp;<\/p>\n<pre class=\"pure-highlightjs\"><code class=\"null\">FUNCTION p__express_menu()\r\n       \r\n       \r\n    WHILE TRUE\r\n        DIALOG ATTRIBUTES(UNBUFFERED)\r\n           INPUT BY NAME exp_no,exp_company ATTRIBUTES(WITHOUT DEFAULTS) \r\n       \r\n                    \r\n           END INPUT\r\n       \r\n           DISPLAY ARRAY cust_rec.Traces TO s_cust_rec.* \r\n       \r\n                  \r\n           END DISPLAY\r\n       \r\n           ON ACTION query\r\n              ACCEPT DIALOG\r\n                     \r\n       \r\n           ON ACTION CLOSE\r\n              LET INT_FLAG = TRUE\r\n              EXIT DIALOG   \r\n       \r\n           ON ACTION exit\r\n              LET INT_FLAG = TRUE\r\n              EXIT DIALOG    \r\n                     \r\n        END DIALOG\r\n       \r\n        IF INT_FLAG THEN\r\n           CLOSE WINDOW p_express\r\n           LET INT_FLAG = 0\r\n           EXIT PROGRAM\r\n        ELSE\r\n           CALL getExpress()   \r\n        END IF\r\n               \r\n   END WHILE\r\n           \r\nEND FUNCTION\r\n<\/code><\/pre>\n<p>&nbsp;<\/p>\n<pre class=\"pure-highlightjs\"><code class=\"null\">FUNCTION getExpress()\r\nDEFINE req              com.HTTPRequest\r\nDEFINE resp             com.HTTPResponse\r\nDEFINE EBusinessID      STRING\r\nDEFINE AppKey           STRING\r\nDEFINE ReqURL           STRING\r\nDEFINE requestData      STRING\r\nDEFINE dataSign         STRING\r\nDEFINE datas            STRING\r\nDEFINE requestData_url  STRING\r\nDEFINE dataSign_url     STRING\r\nDEFINE xmlstr           STRING \r\nDEFINE tot              INT\r\nDEFINE tot_day          INT\r\nDEFINE tot_hour         INT\r\nDEFINE tot_minute       INT\r\nDEFINE AcceptTime_a     varchar(100) \r\nDEFINE AcceptTime_b     varchar(100)\r\nDEFINE jsonObj          util.JSONObject\r\n       \r\n       \r\n   LET EBusinessID = \"123456\"   #\u5feb\u9012\u9e1fID\r\n   LET AppKey = \"8f3a803e-7782-44ef-b864-26f4d7f2f932\" #\u5feb\u9012\u9e1fAppKey\r\n   LET ReqURL = \"http:\/\/api.kdniao.cc\/Ebusiness\/EbusinessOrderHandle.aspx\"\r\n       \r\n   LET requestData= \"{'OrderCode':'','ShipperCode':'\"||exp_company||\"','LogisticCode':'\"||exp_no||\"'}\"\r\n       \r\n#   \"&lt;?xml version=\"1.0\" encoding=\"utf-8\" ?&gt;\",\r\n#                           \"&lt;Content&gt;\",\r\n#                           \"&lt;OrderCode&gt;&lt;\/OrderCode&gt;\",\r\n#                           \"&lt;ShipperCode&gt;YTO&lt;\/ShipperCode&gt;\",\r\n#                           \"&lt;LogisticCode&gt;560319921471&lt;\/LogisticCode&gt;\",\r\n#                           \"&lt;\/Content&gt;\"\r\n       \r\n   LET requestData_url =  java.net.URLEncoder.encode(requestData,\"UTF-8\")     \r\n   LET dataSign = encrypt(requestData||AppKey)\r\n   LET dataSign_url = java.net.URLEncoder.encode(dataSign,\"UTF-8\")\r\n   LET datas = \"RequestData=\",requestData_url,\r\n               \"&amp;EBusinessID=\",EBusinessID,\r\n               \"&amp;RequestType=1002\",\r\n               \"&amp;DataSign=\",dataSign_url,\r\n               \"&amp;DataType=2\"\r\n                                  \r\n   TRY\r\n     LET req = com.HTTPRequest.Create(ReqURL)\r\n     CALL req.setTimeOut(3000)\r\n     CALL req.setMethod(\"POST\") \r\n     CALL req.doFormEncodedRequest(datas, TRUE)     \r\n     LET resp = req.getResponse()\r\n     IF resp.getStatusCode() != 200 THEN\r\n       CALL cl_err(\"\",\"HTTP Error (\"||resp.getStatusCode()||\") \"||resp.getStatusDescription(),1)\r\n     ELSE\r\n       LET xmlstr = resp.getTextResponse()\r\n       #LET   doc = resp.getXmlResponse() \r\n       #DISPLAY   \"HTTP XML Response is : \",xmlstr\r\n     END IF\r\n   CATCH\r\n     CALL cl_err(\"\",\"ERROR :\"||STATUS||\" (\"||SQLCA.SQLERRM||\")\",1) \r\n   END TRY\r\n       \r\n   CALL util.JSON.parse(xmlstr, cust_rec)\r\n   LET tot_day = 0\r\n   LET tot_hour = 0\r\n   LET tot_minute = 0\r\n   IF cust_rec.Traces.getLength() &gt; 0 THEN\r\n       LET AcceptTime_a = cust_rec.Traces[cust_rec.Traces.getLength()].AcceptTime\r\n       LET AcceptTime_b = cust_rec.Traces[1].AcceptTime\r\n       SELECT (to_date(AcceptTime_a,'yyyy-mm-dd hh24-mi-ss')-to_date(AcceptTime_b,'yyyy-mm-dd hh24-mi-ss'))*24*60*60 INTO tot FROM dual\r\n              \r\n       LET tot_day = IIF(FGL_DECIMAL_TRUNCATE(tot\/86400,0)&gt;0,FGL_DECIMAL_TRUNCATE(tot\/86400,0),0)\r\n              \r\n       LET tot_hour = IIF(FGL_DECIMAL_TRUNCATE((tot - tot_day*86400)\/3600,0)&gt;0,\r\n                          FGL_DECIMAL_TRUNCATE((tot - tot_day*86400)\/3600,0),0)\r\n                                 \r\n       LET tot_minute = IIF(FGL_DECIMAL_TRUNCATE((tot - tot_day*86400 - tot_hour*3600)\/60,0)&gt;0,\r\n                            FGL_DECIMAL_TRUNCATE((tot - tot_day*86400 - tot_hour*3600)\/60,0),0)\r\n       \r\n       LET cust_rec.Traces[cust_rec.Traces.getLength() + 1].AcceptTime = \"\u5df2\u8017\u65f6\"||tot_day||\"\u5929\"||tot_hour||\"\u5c0f\u65f6\"||tot_minute||\"\u5206\"\r\n   ELSE\r\n       LET cust_rec.Traces[cust_rec.Traces.getLength() + 1].AcceptTime = \"\u65e0\u7269\u6d41\u4fe1\u606f,\u8bf7\u786e\u8ba4\u5355\u53f7\"\r\n   END IF                         \r\n                      \r\n   DISPLAY cust_rec.LogisticCode TO LogisticCode\r\n   DISPLAY cust_rec.State TO State\r\n       \r\nEND FUNCTION\r\n       \r\nFUNCTION encrypt(datastr)\r\nDEFINE md5str      varchar(4000) \r\nDEFINE base64str   varchar(4000)\r\nDEFINE datastr     varchar(4000) \r\nDEFINE java_str    java.lang.String\r\n       \r\n    LET java_str = java.lang.String.create(datastr)\r\n    LET datastr = java.lang.String.create(java_str.getBytes(\"gbk\"),\"utf-8\")\r\n    SELECT lower(MD5(datastr)) INTO md5str FROM dual\r\n    SELECT base64_lock(md5str) INTO base64str FROM dual\r\n    RETURN base64str\r\n           \r\nEND FUNCTION\r\n<\/code><\/pre>\n<p>&nbsp;<\/p>\n<p>\u8f6c\u8f7d\u8bf7\u6ce8\u660e\uff1a<a href=\"https:\/\/www.hefeiyu.com\">\u8d6b\u975e\u57df<\/a> &raquo; <a href=\"https:\/\/www.hefeiyu.com\/?p=120\">\u5229\u75284GL\u67e5\u8be2\u5feb\u9012\u4fe1\u606f\uff0c\u96c6\u6210\u5230ERP<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>\u5148\u770b\u56fe \u5229\u7528\u5feb\u9012\u9e1fapi\u63a5\u53e3\u5b9e\u73b0\uff0c\u76ee\u524d\u5b98\u7f51api\u5df2\u5b9e\u73b0\u81ea\u52a8\u6839\u636e\u5355\u53f7\u8bc6\u522b\u5feb\u9012\u516c\u53f8\uff0c\u5177\u4f53\u53ef\u770b\u5b98\u7f51\u8bf4\u660e\uff0c\u4ee5\u4e0b\u4ee3\u7801\u4e0d\u5305\u542b\u8fd9\u5757\uff1a \u6dfb\u52a0 util.os \u5230 $FGLDIR\/lib\u4e2d\u8986\u76d6\uff08T100\u65e0\u9700\u8fd9\u6b65\uff09 IMPORT com IMPORT util IMPO [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[60,30],"class_list":["post-120","post","type-post","status-publish","format-standard","hentry","category-4gl","tag-4gl","tag-30"],"_links":{"self":[{"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=\/wp\/v2\/posts\/120","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=120"}],"version-history":[{"count":0,"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=\/wp\/v2\/posts\/120\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=120"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=120"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=120"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}