正在显示
7 个修改的文件
包含
54 行增加
和
11 行删除
| @@ -61,3 +61,7 @@ feign.okhttp.enabled=true | @@ -61,3 +61,7 @@ feign.okhttp.enabled=true | ||
| 61 | feign.hystrix.enabled=true | 61 | feign.hystrix.enabled=true |
| 62 | # 请求连接超时时间(毫秒) | 62 | # 请求连接超时时间(毫秒) |
| 63 | feign.httpclient.connection-timeout=3000 | 63 | feign.httpclient.connection-timeout=3000 |
| 64 | +#码头接口通知地址,注意尾部带/符号 | ||
| 65 | +wharf.interface.host=http://10.50.3.66:1983/ | ||
| 66 | +#新舱单运单查询数据接口,注意尾部带/符号 | ||
| 67 | +nmms.interface.host=http://10.50.3.82:8081/ |
| @@ -18,21 +18,23 @@ public class IMF_Tesk { | @@ -18,21 +18,23 @@ public class IMF_Tesk { | ||
| 18 | public static IMFClient client = null; | 18 | public static IMFClient client = null; |
| 19 | 19 | ||
| 20 | @Scheduled(fixedRate = 5000) | 20 | @Scheduled(fixedRate = 5000) |
| 21 | - private static void start() throws Exception { | 21 | + private static void start() { |
| 22 | + //尝试catch SDK异常 | ||
| 23 | + try{ | ||
| 22 | PropertyConfigurator.configure("config/log4j.properties"); | 24 | PropertyConfigurator.configure("config/log4j.properties"); |
| 23 | client = IMFClientFactory.createInstance(); | 25 | client = IMFClientFactory.createInstance(); |
| 24 | String loginname = FileTool.readProperties("loginname"); | 26 | String loginname = FileTool.readProperties("loginname"); |
| 25 | String loginpass = FileTool.readProperties("loginpass"); | 27 | String loginpass = FileTool.readProperties("loginpass"); |
| 26 | 28 | ||
| 27 | 29 | ||
| 28 | - if (client != null) { | 30 | + if (client != null && LOGIN_OK) { |
| 29 | /** | 31 | /** |
| 30 | * 从IMF接收报文 | 32 | * 从IMF接收报文 |
| 31 | */ | 33 | */ |
| 32 | if (!KAKO_Reader.isrunning) { | 34 | if (!KAKO_Reader.isrunning) { |
| 33 | KAKO_Reader kako_reader = new KAKO_Reader(client); | 35 | KAKO_Reader kako_reader = new KAKO_Reader(client); |
| 34 | kako_reader.start(); | 36 | kako_reader.start(); |
| 35 | - logger.info("*********读取线程已开启***********"); | 37 | + logger.info("*********读取线程重新开启***********"); |
| 36 | } else { | 38 | } else { |
| 37 | logger.info("*********读取线程已开启-不再启动线程*********"); | 39 | logger.info("*********读取线程已开启-不再启动线程*********"); |
| 38 | } | 40 | } |
| @@ -52,6 +54,13 @@ public class IMF_Tesk { | @@ -52,6 +54,13 @@ public class IMF_Tesk { | ||
| 52 | if (!LOGIN_OK){ | 54 | if (!LOGIN_OK){ |
| 53 | loginIMF(client, loginname, loginpass, "config/imf_config.properties"); | 55 | loginIMF(client, loginname, loginpass, "config/imf_config.properties"); |
| 54 | } | 56 | } |
| 57 | + }catch (Exception e){ | ||
| 58 | + logger.info("!!!!![IMF-ERROR]-IMF客户端异常!!!!!----->"+ e.toString()); | ||
| 59 | + //异常后短线, 下一次定时任务时重新登录客户端 | ||
| 60 | + client.disconnect(); | ||
| 61 | + LOGIN_OK = false; | ||
| 62 | + } | ||
| 63 | + | ||
| 55 | 64 | ||
| 56 | } | 65 | } |
| 57 | 66 |
| @@ -2,6 +2,7 @@ package com.sy.IMF; | @@ -2,6 +2,7 @@ package com.sy.IMF; | ||
| 2 | 2 | ||
| 3 | import com.caac.imf.api.IMFClient; | 3 | import com.caac.imf.api.IMFClient; |
| 4 | import com.sy.bwAnalysis.AnalysisRoute; | 4 | import com.sy.bwAnalysis.AnalysisRoute; |
| 5 | +import org.apache.commons.lang.StringUtils; | ||
| 5 | import org.apache.log4j.Logger; | 6 | import org.apache.log4j.Logger; |
| 6 | 7 | ||
| 7 | public class KAKO_Reader extends Thread{ | 8 | public class KAKO_Reader extends Thread{ |
| @@ -13,29 +14,36 @@ public class KAKO_Reader extends Thread{ | @@ -13,29 +14,36 @@ public class KAKO_Reader extends Thread{ | ||
| 13 | this.client = client; | 14 | this.client = client; |
| 14 | } | 15 | } |
| 15 | 16 | ||
| 17 | + @Override | ||
| 16 | public void run() { | 18 | public void run() { |
| 17 | try{ | 19 | try{ |
| 18 | isrunning =true; | 20 | isrunning =true; |
| 21 | + logger.info("********已进入读取线程**********"); | ||
| 19 | logger.info("********读取线程状态true**********"); | 22 | logger.info("********读取线程状态true**********"); |
| 23 | + logger.info("********Client-INFO= "+client+"********"); | ||
| 24 | + Thread t =Thread.currentThread(); | ||
| 20 | while(true) { | 25 | while(true) { |
| 21 | if (IMF_Tesk.LOGIN_OK){ | 26 | if (IMF_Tesk.LOGIN_OK){ |
| 22 | String message = this.client.getMSG(); | 27 | String message = this.client.getMSG(); |
| 23 | - logger.info("读取线程已获取到消息"); | ||
| 24 | - if (message != null) { | 28 | + logger.info(t.toString()+"读取线程已获取到消息"); |
| 29 | + if (message != null && StringUtils.isNotEmpty(message)) { | ||
| 25 | // logger.info(message); | 30 | // logger.info(message); |
| 26 | AnalysisRoute.analysis(message); | 31 | AnalysisRoute.analysis(message); |
| 27 | // if(message.indexOf("<TYPE>CARM</TYPE>") > 0){ | 32 | // if(message.indexOf("<TYPE>CARM</TYPE>") > 0){ |
| 28 | // this.client.sendMSG(); | 33 | // this.client.sendMSG(); |
| 29 | // } | 34 | // } |
| 35 | + }else { | ||
| 36 | + logger.info("[READER-INFO]-获取到空消息,不处理"); | ||
| 30 | } | 37 | } |
| 31 | } | 38 | } |
| 32 | else { | 39 | else { |
| 33 | - //logger.info("***"); | 40 | + logger.info("[READER-INFO]-CLIENT为未登录状态,不获取消息!!!!!"); |
| 34 | } | 41 | } |
| 35 | 42 | ||
| 36 | try { | 43 | try { |
| 37 | - Thread.sleep(1000L); | 44 | + Thread.sleep(500L); |
| 38 | } catch (InterruptedException var3) { | 45 | } catch (InterruptedException var3) { |
| 46 | + logger.info("********读取线程循环获取消息异常---->"+var3.toString()); | ||
| 39 | var3.printStackTrace(); | 47 | var3.printStackTrace(); |
| 40 | 48 | ||
| 41 | } | 49 | } |
| @@ -44,7 +52,7 @@ public class KAKO_Reader extends Thread{ | @@ -44,7 +52,7 @@ public class KAKO_Reader extends Thread{ | ||
| 44 | }catch (Exception e){ | 52 | }catch (Exception e){ |
| 45 | isrunning=false; | 53 | isrunning=false; |
| 46 | logger.info("****************读取线程不在了****************"); | 54 | logger.info("****************读取线程不在了****************"); |
| 47 | - logger.info("解析消息出错----------->"+e.toString()); | 55 | + logger.info("读取线程异常----------->"+e.toString()); |
| 48 | } | 56 | } |
| 49 | isrunning=false; | 57 | isrunning=false; |
| 50 | } | 58 | } |
| @@ -145,7 +145,7 @@ public class AnalysisRoute { | @@ -145,7 +145,7 @@ public class AnalysisRoute { | ||
| 145 | v_express_billno billno = clrAnalysis.toBill(message); | 145 | v_express_billno billno = clrAnalysis.toBill(message); |
| 146 | route.clrService.save(billno); | 146 | route.clrService.save(billno); |
| 147 | } else if (stype.equals("IS1")) { | 147 | } else if (stype.equals("IS1")) { |
| 148 | - airone_im_stock imStock = imStockAnalysis.toImStock(message); | 148 | + airone_im_stock imStock = ImStockAnalysis.toImStock(message); |
| 149 | T_AIR_REPERTORY repertory = route.repertoryService.selectByPermaryKey(imStock.getMawbNo()); | 149 | T_AIR_REPERTORY repertory = route.repertoryService.selectByPermaryKey(imStock.getMawbNo()); |
| 150 | if(repertory!=null){ | 150 | if(repertory!=null){ |
| 151 | repertory.setCnt(repertory.getCnt()+imStock.getCnt()); | 151 | repertory.setCnt(repertory.getCnt()+imStock.getCnt()); |
| @@ -25,10 +25,12 @@ public class CommandInfoAnalysis { | @@ -25,10 +25,12 @@ public class CommandInfoAnalysis { | ||
| 25 | bean.setCheckResult(info.getCheckResult()); | 25 | bean.setCheckResult(info.getCheckResult()); |
| 26 | bean.setEsealId(info.getSeal().getEsealId()); | 26 | bean.setEsealId(info.getSeal().getEsealId()); |
| 27 | bean.setSealKey(info.getSeal().getSealKey()); | 27 | bean.setSealKey(info.getSeal().getSealKey()); |
| 28 | + if(info.getGps()!=null){ | ||
| 28 | bean.setVeName(info.getGps().getVeName()); | 29 | bean.setVeName(info.getGps().getVeName()); |
| 29 | bean.setGpsId(info.getGps().getGpsId()); | 30 | bean.setGpsId(info.getGps().getGpsId()); |
| 30 | bean.setDestCustoms(info.getGps().getDestCostoms()); | 31 | bean.setDestCustoms(info.getGps().getDestCostoms()); |
| 31 | bean.setOriginCustoms(info.getGps().getOpiginCostoms()); | 32 | bean.setOriginCustoms(info.getGps().getOpiginCostoms()); |
| 33 | + } | ||
| 32 | bean.setFormId(info.getFormId()); | 34 | bean.setFormId(info.getFormId()); |
| 33 | bean.setOpHint(info.getOpHint()); | 35 | bean.setOpHint(info.getOpHint()); |
| 34 | 36 |
| @@ -16,6 +16,7 @@ import org.apache.http.impl.client.DefaultHttpClient; | @@ -16,6 +16,7 @@ import org.apache.http.impl.client.DefaultHttpClient; | ||
| 16 | import org.apache.http.util.EntityUtils; | 16 | import org.apache.http.util.EntityUtils; |
| 17 | import org.apache.log4j.PropertyConfigurator; | 17 | import org.apache.log4j.PropertyConfigurator; |
| 18 | import org.springframework.beans.factory.annotation.Autowired; | 18 | import org.springframework.beans.factory.annotation.Autowired; |
| 19 | +import org.springframework.beans.factory.annotation.Value; | ||
| 19 | import org.springframework.scheduling.annotation.Async; | 20 | import org.springframework.scheduling.annotation.Async; |
| 20 | import org.springframework.stereotype.Component; | 21 | import org.springframework.stereotype.Component; |
| 21 | import org.apache.log4j.Logger; | 22 | import org.apache.log4j.Logger; |
| @@ -51,6 +52,12 @@ public class LiftBar { | @@ -51,6 +52,12 @@ public class LiftBar { | ||
| 51 | private BusnesslistinfoService busnesslistinfoService; | 52 | private BusnesslistinfoService busnesslistinfoService; |
| 52 | @Autowired | 53 | @Autowired |
| 53 | BusnessViewService busnessViewService; | 54 | BusnessViewService busnessViewService; |
| 55 | + @Value("${wharf.interface.host}") | ||
| 56 | + private String wharfHost; | ||
| 57 | + | ||
| 58 | + @Value("${nmms.interface.host}") | ||
| 59 | + private String nmmsHost; | ||
| 60 | + | ||
| 54 | private static LiftBar logic = new LiftBar(); | 61 | private static LiftBar logic = new LiftBar(); |
| 55 | //从配置文件中读取货物重差可控范围 | 62 | //从配置文件中读取货物重差可控范围 |
| 56 | private static String checkWt = FileTool.readProperties("grossWt"); | 63 | private static String checkWt = FileTool.readProperties("grossWt"); |
| @@ -77,6 +84,8 @@ public class LiftBar { | @@ -77,6 +84,8 @@ public class LiftBar { | ||
| 77 | logic.feignService=this.feignService; | 84 | logic.feignService=this.feignService; |
| 78 | logic.busnesslistinfoService=this.busnesslistinfoService; | 85 | logic.busnesslistinfoService=this.busnesslistinfoService; |
| 79 | logic.busnessViewService=this.busnessViewService; | 86 | logic.busnessViewService=this.busnessViewService; |
| 87 | + logic.wharfHost=this.wharfHost; | ||
| 88 | + logic.nmmsHost=this.nmmsHost; | ||
| 80 | } | 89 | } |
| 81 | 90 | ||
| 82 | /** | 91 | /** |
| @@ -269,7 +278,7 @@ public class LiftBar { | @@ -269,7 +278,7 @@ public class LiftBar { | ||
| 269 | * @param IEtype | 278 | * @param IEtype |
| 270 | */ | 279 | */ |
| 271 | public static void sendData(String stationCode, String carNo, boolean IEtype) { | 280 | public static void sendData(String stationCode, String carNo, boolean IEtype) { |
| 272 | - String url = "http://10.50.3.73:8881/air-api/car/channelCar?stationCode=" + stationCode + "&carNo=" + carNo + "&isPickup=" + IEtype; | 281 | + String url = logic.wharfHost+"air-api/car/channelCar?stationCode=" + stationCode + "&carNo=" + carNo + "&isPickup=" + IEtype; |
| 273 | try { | 282 | try { |
| 274 | HttpClient httpClient = new DefaultHttpClient(); | 283 | HttpClient httpClient = new DefaultHttpClient(); |
| 275 | HttpGet httpGet = new HttpGet(url); | 284 | HttpGet httpGet = new HttpGet(url); |
| @@ -403,7 +412,7 @@ public class LiftBar { | @@ -403,7 +412,7 @@ public class LiftBar { | ||
| 403 | if (!(waybill.indexOf("-") != -1)) { | 412 | if (!(waybill.indexOf("-") != -1)) { |
| 404 | waybill = waybill.substring(0, 3) + "-" + waybill.substring(3); | 413 | waybill = waybill.substring(0, 3) + "-" + waybill.substring(3); |
| 405 | } | 414 | } |
| 406 | - String url = "http://10.50.3.82:8081/orig/orig?waybill=" + waybill + "&imp=" + imp; | 415 | + String url = logic.nmmsHost+"orig/orig?waybill=" + waybill + "&imp=" + imp; |
| 407 | // String url = "http://tjfx.15miaoo.com:8003/tj/orig/orig?waybill=" + waybill + "&imp=" + imp; | 416 | // String url = "http://tjfx.15miaoo.com:8003/tj/orig/orig?waybill=" + waybill + "&imp=" + imp; |
| 408 | StringBuilder json = new StringBuilder(); | 417 | StringBuilder json = new StringBuilder(); |
| 409 | Map map = null; | 418 | Map map = null; |
| 1 | package com.sy; | 1 | package com.sy; |
| 2 | 2 | ||
| 3 | +import com.sy.bwAnalysis.AnalysisRoute; | ||
| 4 | +import com.sy.logic.LiftBar; | ||
| 3 | import org.junit.Test; | 5 | import org.junit.Test; |
| 4 | import org.junit.runner.RunWith; | 6 | import org.junit.runner.RunWith; |
| 5 | import org.springframework.boot.test.context.SpringBootTest; | 7 | import org.springframework.boot.test.context.SpringBootTest; |
| @@ -9,8 +11,17 @@ import org.springframework.test.context.junit4.SpringRunner; | @@ -9,8 +11,17 @@ import org.springframework.test.context.junit4.SpringRunner; | ||
| 9 | @SpringBootTest | 11 | @SpringBootTest |
| 10 | public class AnalysisImfApplicationTests { | 12 | public class AnalysisImfApplicationTests { |
| 11 | 13 | ||
| 14 | + private static String message = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + | ||
| 15 | + "<MSG><META><SNDR>KAO</SNDR><RCVR></RCVR><SEQN>20220117192051</SEQN><DDTM>20220117192051</DDTM><TYPE>KAKO</TYPE><STYP>CARM</STYP></META><COMMAND_INFO AREA_ID=\"4604499001\" CHNL_NO=\"4604444412\" I_E_TYPE=\"E\" SEQ_NO=\"20220117192014000017\"><CHECK_RESULT>00000000100000000000</CHECK_RESULT><OP_HINT>直接放行</OP_HINT><SEAL><ESEAL_ID>CNSM2816998419</ESEAL_ID><SEAL_KEY>1234567890</SEAL_KEY><OPEN_TIMES/><ESEAL_IC_NO/></SEAL><SZ_MSG/></COMMAND_INFO></MSG>"; | ||
| 16 | + | ||
| 12 | @Test | 17 | @Test |
| 13 | public void contextLoads() { | 18 | public void contextLoads() { |
| 19 | + AnalysisRoute.analysis(message); | ||
| 20 | + | ||
| 21 | + LiftBar.sendData("1","aaa",true); | ||
| 22 | + | ||
| 23 | + System.out.println("99"); | ||
| 14 | } | 24 | } |
| 15 | 25 | ||
| 26 | + | ||
| 16 | } | 27 | } |
-
请 注册 或 登录 后发表评论