diff --git a/.idea/libraries/Maven__com_alibaba_easyexcel_3_3_2.xml b/.idea/libraries/Maven__com_alibaba_easyexcel_3_3_2.xml new file mode 100644 index 0000000..ddfeb75 --- /dev/null +++ b/.idea/libraries/Maven__com_alibaba_easyexcel_3_3_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_alibaba_easyexcel_core_3_3_2.xml b/.idea/libraries/Maven__com_alibaba_easyexcel_core_3_3_2.xml new file mode 100644 index 0000000..1e3ee9a --- /dev/null +++ b/.idea/libraries/Maven__com_alibaba_easyexcel_core_3_3_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_alibaba_easyexcel_support_3_3_2.xml b/.idea/libraries/Maven__com_alibaba_easyexcel_support_3_3_2.xml new file mode 100644 index 0000000..ebeab54 --- /dev/null +++ b/.idea/libraries/Maven__com_alibaba_easyexcel_support_3_3_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_aspose_aspose_words_19_1_0.xml b/.idea/libraries/Maven__com_aspose_aspose_words_19_1_0.xml new file mode 100644 index 0000000..3b038a4 --- /dev/null +++ b/.idea/libraries/Maven__com_aspose_aspose_words_19_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_deepoove_poi_ooxml_schemas_extra_4_1_5.xml b/.idea/libraries/Maven__com_deepoove_poi_ooxml_schemas_extra_4_1_5.xml new file mode 100644 index 0000000..4d49a1a --- /dev/null +++ b/.idea/libraries/Maven__com_deepoove_poi_ooxml_schemas_extra_4_1_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_deepoove_poi_tl_1_10_6.xml b/.idea/libraries/Maven__com_deepoove_poi_tl_1_10_6.xml new file mode 100644 index 0000000..bfeb493 --- /dev/null +++ b/.idea/libraries/Maven__com_deepoove_poi_tl_1_10_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_commons_commons_csv_1_8.xml b/.idea/libraries/Maven__org_apache_commons_commons_csv_1_8.xml new file mode 100644 index 0000000..c88f83f --- /dev/null +++ b/.idea/libraries/Maven__org_apache_commons_commons_csv_1_8.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_poi_ooxml_schemas_1_4.xml b/.idea/libraries/Maven__org_apache_poi_ooxml_schemas_1_4.xml new file mode 100644 index 0000000..aca2261 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_poi_ooxml_schemas_1_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_poi_poi_scratchpad_4_1_2.xml b/.idea/libraries/Maven__org_apache_poi_poi_scratchpad_4_1_2.xml new file mode 100644 index 0000000..9a0567b --- /dev/null +++ b/.idea/libraries/Maven__org_apache_poi_poi_scratchpad_4_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_xmlbeans_xmlbeans_3_0_1.xml b/.idea/libraries/Maven__org_apache_xmlbeans_xmlbeans_3_0_1.xml new file mode 100644 index 0000000..4cfb693 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_xmlbeans_xmlbeans_3_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_xmlgraphics_batik_anim_1_14.xml b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_anim_1_14.xml new file mode 100644 index 0000000..5331413 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_anim_1_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_xmlgraphics_batik_awt_util_1_14.xml b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_awt_util_1_14.xml new file mode 100644 index 0000000..89e6c4e --- /dev/null +++ b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_awt_util_1_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_xmlgraphics_batik_bridge_1_14.xml b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_bridge_1_14.xml new file mode 100644 index 0000000..2d1d862 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_bridge_1_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_xmlgraphics_batik_codec_1_14.xml b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_codec_1_14.xml new file mode 100644 index 0000000..6cab06b --- /dev/null +++ b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_codec_1_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_xmlgraphics_batik_constants_1_14.xml b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_constants_1_14.xml new file mode 100644 index 0000000..e0fdd88 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_constants_1_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_xmlgraphics_batik_css_1_14.xml b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_css_1_14.xml new file mode 100644 index 0000000..d43695a --- /dev/null +++ b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_css_1_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_xmlgraphics_batik_dom_1_14.xml b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_dom_1_14.xml new file mode 100644 index 0000000..e546a70 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_dom_1_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_xmlgraphics_batik_ext_1_14.xml b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_ext_1_14.xml new file mode 100644 index 0000000..f86b604 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_ext_1_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_xmlgraphics_batik_gvt_1_14.xml b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_gvt_1_14.xml new file mode 100644 index 0000000..6ba9994 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_gvt_1_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_xmlgraphics_batik_i18n_1_14.xml b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_i18n_1_14.xml new file mode 100644 index 0000000..1b830c7 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_i18n_1_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_xmlgraphics_batik_parser_1_14.xml b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_parser_1_14.xml new file mode 100644 index 0000000..c18bd43 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_parser_1_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_xmlgraphics_batik_script_1_14.xml b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_script_1_14.xml new file mode 100644 index 0000000..f9d2e9f --- /dev/null +++ b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_script_1_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_xmlgraphics_batik_shared_resources_1_14.xml b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_shared_resources_1_14.xml new file mode 100644 index 0000000..b7622ee --- /dev/null +++ b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_shared_resources_1_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_xmlgraphics_batik_svg_dom_1_14.xml b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_svg_dom_1_14.xml new file mode 100644 index 0000000..69fec82 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_svg_dom_1_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_xmlgraphics_batik_svggen_1_14.xml b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_svggen_1_14.xml new file mode 100644 index 0000000..71dd6df --- /dev/null +++ b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_svggen_1_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_xmlgraphics_batik_transcoder_1_14.xml b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_transcoder_1_14.xml new file mode 100644 index 0000000..ec79cab --- /dev/null +++ b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_transcoder_1_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_xmlgraphics_batik_util_1_14.xml b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_util_1_14.xml new file mode 100644 index 0000000..6be66b8 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_util_1_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_xmlgraphics_batik_xml_1_14.xml b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_xml_1_14.xml new file mode 100644 index 0000000..6f865af --- /dev/null +++ b/.idea/libraries/Maven__org_apache_xmlgraphics_batik_xml_1_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_xmlgraphics_xmlgraphics_commons_2_6.xml b/.idea/libraries/Maven__org_apache_xmlgraphics_xmlgraphics_commons_2_6.xml new file mode 100644 index 0000000..55c255c --- /dev/null +++ b/.idea/libraries/Maven__org_apache_xmlgraphics_xmlgraphics_commons_2_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_ehcache_ehcache_3_9_9.xml b/.idea/libraries/Maven__org_ehcache_ehcache_3_9_9.xml new file mode 100644 index 0000000..9ccdf70 --- /dev/null +++ b/.idea/libraries/Maven__org_ehcache_ehcache_3_9_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__xalan_serializer_2_7_2.xml b/.idea/libraries/Maven__xalan_serializer_2_7_2.xml new file mode 100644 index 0000000..8fd4cc9 --- /dev/null +++ b/.idea/libraries/Maven__xalan_serializer_2_7_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__xalan_xalan_2_7_2.xml b/.idea/libraries/Maven__xalan_xalan_2_7_2.xml new file mode 100644 index 0000000..c806972 --- /dev/null +++ b/.idea/libraries/Maven__xalan_xalan_2_7_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__xml_apis_xml_apis_1_4_01.xml b/.idea/libraries/Maven__xml_apis_xml_apis_1_4_01.xml new file mode 100644 index 0000000..9aadd29 --- /dev/null +++ b/.idea/libraries/Maven__xml_apis_xml_apis_1_4_01.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__xml_apis_xml_apis_ext_1_3_04.xml b/.idea/libraries/Maven__xml_apis_xml_apis_ext_1_3_04.xml new file mode 100644 index 0000000..6baf5e0 --- /dev/null +++ b/.idea/libraries/Maven__xml_apis_xml_apis_ext_1_3_04.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/emis-api-web/src/main/java/com/xdadan/erp/apiweb/CommonController.java b/emis-api-web/src/main/java/com/xdadan/erp/apiweb/CommonController.java index fb51a01..78b2286 100644 --- a/emis-api-web/src/main/java/com/xdadan/erp/apiweb/CommonController.java +++ b/emis-api-web/src/main/java/com/xdadan/erp/apiweb/CommonController.java @@ -294,6 +294,37 @@ public class CommonController extends BaseController } + /** + * 查询任一单号 + * @param appId + * @param mainNo + * @param lang + * @param sign + * @return + */ + @RequestMapping("/queryTraceInfoAny") + public AjaxResult queryTraceInfoAny(String appId,String mainNo,String lang,String sign) + { + if(StringUtils.isAnyEmpty(mainNo,appId,sign)){ + return AjaxResult.error("appId,sign,mainNo required!"); + } + + if(!"xdadan20240614".equals(appId)){ + return AjaxResult.error("appId error!"); + } + + + List rstList = new ArrayList(); + Map rstMap = new HashMap<>(); + rstMap.put("billCode",mainNo); + List stepList=emisTmsScanRecordService.queryWaybillTraceInfo(mainNo,lang); + rstMap.put("steps",stepList); + rstList.add(rstMap); + + return AjaxResult.success("成功",rstList); + } + + } diff --git a/emis-api-web/src/main/java/com/xdadan/erp/apiweb/utils/TraceUtils.java b/emis-api-web/src/main/java/com/xdadan/erp/apiweb/utils/TraceUtils.java new file mode 100644 index 0000000..f55e44d --- /dev/null +++ b/emis-api-web/src/main/java/com/xdadan/erp/apiweb/utils/TraceUtils.java @@ -0,0 +1,275 @@ +package com.xdadan.erp.apiweb.utils; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.xdadan.erp.common.core.domain.AjaxResult; +import com.xdadan.erp.common.utils.HTTPHelperV3; +import org.apache.commons.lang3.StringUtils; + +public class TraceUtils { + + + + /** + * 查询轨迹信息 + * @return + */ + public static AjaxResult queryTraceInfoByZtd(String mailno, String tail4){ + + AjaxResult ar = new AjaxResult(); + + String allResult = ""; + try { + + // 保存数据 + String postUrl = "http://gzh.tanex56.com/HMWXServer/msg/getScanByCode?code="+mailno; + + allResult= HTTPHelperV3.get(postUrl); + if (allResult.contains("code")) { + JSONObject jObjRst = JSONObject.parseObject(allResult); + String code=jObjRst.getString("code"); + String message=jObjRst.getString("message"); + if("200".equals(code) ) { + + JSONArray jArraySteps = new JSONArray(); + JSONArray jsonArraySteps=jObjRst.getJSONObject("data").getJSONArray("scanData");; +// System.out.println(jsonArraySteps.toString()); + if(jsonArraySteps.size()>0) { + for (Object object : jsonArraySteps) { + JSONObject tmpObj = (JSONObject) object; + String opCode = tmpObj.getString("scanType"); + JSONObject jsonObjStep = new JSONObject(); + jsonObjStep.put("content", cvtOpCodeToContent(tmpObj)); + jsonObjStep.put("time", tmpObj.getString("scanDate")); + jsonObjStep.put("status", cvtOpCodeToStatusWord(opCode)); + jArraySteps.add(jsonObjStep); + + } + + return AjaxResult.success("查询成功",jArraySteps); + } + else{ + JSONArray jArSteps = new JSONArray(); + return AjaxResult.error("查询成功,无路由信息",jArSteps); + } + + }else{ + AjaxResult.error("查询失败"); + } + }else{ + AjaxResult.error("查询失败E004"); + } + + }catch (Exception ex){ + ex.printStackTrace(); + AjaxResult.error("查询失败E003"); + } + return ar; + } + + + private static String cvtOpCodeToContent(JSONObject jsonObjStep) { + String scanMan = jsonObjStep.getString("scanMan"); + String opCode = jsonObjStep.getString("scanType"); + String scanSite = jsonObjStep.getString("scanSite"); + String preOrNextStation = jsonObjStep.getString("preOrNextStation"); + String content = "" ; + if(!StringUtils.isEmpty(preOrNextStation) && !"null".equals(preOrNextStation) ){ + preOrNextStation = " 【"+preOrNextStation+"】 "; + } + + if(!StringUtils.isEmpty(scanSite) && !"null".equals(scanSite) ){ + scanSite = " 【"+scanSite+"】 "; + } + + if(!StringUtils.isEmpty(scanMan) && !"null".equals(scanMan)) { +// scanMan = " 操作员:" + scanMan; + }else{ + scanMan=""; + } + + content = scanSite ; + if(opCode.contains("收件")) { + content=content+" 快件已揽收 ,业务员:"+scanMan; + } + else if(opCode.contains("到达") || opCode.contains("到件")) { + content=content+"快件已到达"+scanSite; + } + else if(opCode.contains("发件") ) { + content=content+"快件已离开"+scanSite +" 发往 "+preOrNextStation; + } + else if(opCode.contains("派件扫描") ) { + content=content+"派件扫描,派件员:"+scanMan; + } + else if(opCode.contains("派件") ) { + content=content+"派件中,派件员:"+scanMan; + } + else if(opCode.contains("签收") ) { + content=content+"已签收,签收人:"+scanMan; + } + else { + content=content+""+opCode; + } + + + return content; + } + + private static String cvtEmisOpCodeToStatusWord(String opCode) { + String statusWord="other"; + + /* + got : 揽件 + arrival: 到站 + departure:出站 + sent_scan : 派件 + signed : 签收 + other :其他 + + */ + if(opCode.equals("10")) { + statusWord="got"; + } + else if(opCode.equals("30")) { + statusWord="arrival"; + } + else if(opCode.equals("20") ) { + statusWord="departure"; + } + else if(opCode.equals("40") ) { + statusWord="sent_scan"; + } + else if(opCode.equals("50") ) { + statusWord="signed"; + } + else { + statusWord="other"; + } + + return statusWord; + } + + private static String cvtOpCodeToStatusWord(String opCode) { + String statusWord="other"; + + /* + got : 揽件 + arrival: 到站 + departure:出站 + sent_scan : 派件 + signed : 签收 + other :其他 + + */ + if(opCode.contains("收件")) { + statusWord="got"; + } + else if(opCode.contains("到达") || opCode.contains("到件")) { + statusWord="arrival"; + } + else if(opCode.contains("发件") ) { + statusWord="departure"; + } + else if(opCode.contains("派件扫描") ) { + statusWord="sent_scan"; + } + else if(opCode.contains("派件") ) { + statusWord="sent"; + } + else if(opCode.contains("签收") || opCode.contains("送达") ) { + statusWord="signed"; + } + else { + statusWord="other"; + } + + return statusWord; + } + + + /** + * 查询轨迹信息 tanexEmis + * @return + */ + public static AjaxResult queryTraceInfoByEmis(String mailno,String tail4){ + + String allResult = ""; + try { + + + String qParams="appId=xdadan20240614&mainNo="+mailno+"&lang=&sign=123&tail4="+tail4; + + String postUrl = "http://api.emis.tanex56.com/api/bizsvr/emis/common/queryTraceInfo?"+qParams; + + allResult=HTTPHelperV3.get(postUrl); + if (allResult.contains("code")) { + JSONObject jObjRst = JSONObject.parseObject(allResult); + String code=jObjRst.getString("code"); + String msg=jObjRst.getString("msg"); + if("200".equals(code) ) { + + JSONArray jArraySteps = new JSONArray(); + + JSONArray jsonArrayData=jObjRst.getJSONArray("data"); + JSONObject jObjItem0=jsonArrayData.getJSONObject(0); + + JSONArray jsonArraySteps=jObjItem0.getJSONArray("steps");; + if(jsonArraySteps.size()>0) { + for (Object object : jsonArraySteps) { + JSONObject tmpObj = (JSONObject) object; + String status = tmpObj.getString("status"); + JSONObject jsonObjStep = new JSONObject(); + jsonObjStep.put("content", tmpObj.getString("content")); + jsonObjStep.put("time", tmpObj.getString("time")); + jsonObjStep.put("status", cvtEmisOpCodeToStatusWord(status)); + jArraySteps.add(jsonObjStep); + + } + + return AjaxResult.success("查询成功",jArraySteps); + } + else{ + JSONArray jArSteps = new JSONArray(); + return AjaxResult.success("查询成功,无路由信息",jArSteps); + } + + }else{ + return AjaxResult.error("查询失败"); + } + }else{ + return AjaxResult.error("查询失败E004"); + } + + }catch (Exception ex){ + ex.printStackTrace(); + return AjaxResult.error("查询失败E003"); + } + + } + + public static AjaxResult queryTraceInfo(String mailno,String tail4) { + + if(!StringUtils.isEmpty(mailno)){ + if(mailno.length()>=14){ + return queryTraceInfoByEmis(mailno,tail4); + }else{ + return queryTraceInfoByZtd(mailno,tail4); + } + }else{ + + return AjaxResult.error("查询参数错误"); + } + + } + + public static void main(String[] args) { +// AjaxResult res=queryTraceInfoByZtd("T7080374113","123"); +// System.out.println(res); + AjaxResult res=queryTraceInfo("T7080300043695","123"); +// AjaxResult res=queryTraceInfo("T7080374113","123"); + System.out.println(JSON.toJSONString(res)); + + } + +}