From 301115d5e96b56cd093eee3fcff2d60a15184162 Mon Sep 17 00:00:00 2001 From: hjg <hjg@123.com> Date: 星期一, 05 二月 2024 14:28:29 +0800 Subject: [PATCH] 明晟装车记录 --- JavaSource/com/mandi/fendan/util/Contants.java | 5 + JavaSource/com/mandi/fendan/util/ThreadPoolUtil.java | 64 ++++++++++++++------- JavaSource/com/mandi/fendan/service/impl/ErpService.java | 4 - JavaSource/com/mandi/webservice/service/impl/FdXSTDService.java | 60 ++++++++++++++------ 4 files changed, 88 insertions(+), 45 deletions(-) diff --git a/JavaSource/com/mandi/fendan/service/impl/ErpService.java b/JavaSource/com/mandi/fendan/service/impl/ErpService.java index 8331c99..de552bc 100644 --- a/JavaSource/com/mandi/fendan/service/impl/ErpService.java +++ b/JavaSource/com/mandi/fendan/service/impl/ErpService.java @@ -380,7 +380,6 @@ mm.put("td_wfdsl", wt.getTd_wfdsl()); mm.put("td_wfdzl", BigDecimalfiter.addscal(0, wt.getTd_wfdzl(), Contants.scale)); } catch (Exception e) { - // TODO: handle exception } rl.add(mm); } @@ -507,7 +506,6 @@ // mm.put("td_wfdzl",BigDecimalfiter.addscal(0, wt.getTd_wfdzl(), // Contants.scale)); // } catch (Exception e) { - // // TODO: handle exception // } rl.add(mm); } @@ -939,7 +937,7 @@ this.fdvcper.del(vehicleId, lg.getDepartno(), fb.getSdepartNo()); - // 鍙戦�丯C绯荤粺鍒犻櫎鍒嗗崟淇℃伅 + // 鍙戦�丯C绯荤粺鍒犻櫎鍒嗗崟淇℃伅 todo 鍙戦�乶c鏆傛椂鍙栨秷鎺夛紝姝e紡瑕佹仮澶� if (tdl != null && tdl.size() > 0) { Fileoperation.AppendContentToFile(Fileoperation.gettestFileName(), "鍙栨秷閰嶈溅涓氬姟鍗� 璇锋眰鎻愬崟 ::" + Jacksonmethod.tojson(tdl, false)); diff --git a/JavaSource/com/mandi/fendan/util/Contants.java b/JavaSource/com/mandi/fendan/util/Contants.java index 897fe38..0e73e2d 100644 --- a/JavaSource/com/mandi/fendan/util/Contants.java +++ b/JavaSource/com/mandi/fendan/util/Contants.java @@ -47,11 +47,12 @@ public static String yr_scanCodeNoticeUrl = yktLocalAdd + "/routine/app/notice/scan.htm"; // 閫氱煡涔夌憺瑁呰溅鐨勬帴鍙� public static String yr_canDoScanUrl = yktLocalAdd + "/routine/app/notice/canDoScan.htm"; // 閫氱煡涔夌憺瑁呰溅鐨勬帴鍙� + public static String ms_DoScanUrl = yktLocalAdd + "/routine/app/notice/msScan.htm"; // 閫氱煡鏄庢櫉瑁呰溅鐨勬帴鍙� //鏈夊彲鑳藉彉鍔ㄧ殑鍙橀噺锛屽垏璁颁笉瑕佸啓鎴恌inal浜嗭紝鍚﹀垯甯搁噺鍊肩紪璇戝埌鏂囦欢閲岄潰浜嗭紱閬囧埌涓�涓猣inal鐨勯棶棰橈紝鏇挎崲閰嶇疆鏂囦欢鏃犳晥锛屽緢閮侀椃锛屽師鏉ユ槸杩欓噷瀵艰嚧鐨勯棶棰橈紱鑱槑鍙嶈鑱槑璇紱 public static String msLedServiceAddr= "http://10.22.12.104:8080/APPService.asmx"; // 鏄庢櫉瑁呰溅 ABC鍖篖ED webservice - public static String yr_zcLedUrl = "http://10.4.12.97:8080/APPService.asmx"; // 涔夌憺LED 瑁呰溅 webservice - public static String kj_zcLedUrl = "http://10.3.5.55:8088/APPService.asmx"; // 涔夌憺LED 瑁呰溅 webservice + public static String yr_zcLedUrl = "http://10.4.12.187:8080/APPService.asmx"; // 涔夌憺LED 瑁呰溅 webservice + public static String kj_zcLedUrl = "http://10.3.5.55:8088/APPService.asmx"; // 绉戞妧LED 瑁呰溅 webservice //鍒嗗崟鍥炲啓nc绯荤粺娴嬭瘯鍦板潃 // public static String NCfdhx_url = "http://10.0.13.20:9090/api/Domain/mtcesb/servlet/PubAPIServlet"; diff --git a/JavaSource/com/mandi/fendan/util/ThreadPoolUtil.java b/JavaSource/com/mandi/fendan/util/ThreadPoolUtil.java index 43f01ff..4008200 100644 --- a/JavaSource/com/mandi/fendan/util/ThreadPoolUtil.java +++ b/JavaSource/com/mandi/fendan/util/ThreadPoolUtil.java @@ -1,7 +1,7 @@ package com.mandi.fendan.util; import javax.validation.constraints.NotNull; -import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.ScheduledThreadPoolExecutor; import java.util.concurrent.ThreadFactory; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; @@ -27,25 +27,27 @@ //瀛樻椿鏃堕棿 private long keepAliveTime = 1; private TimeUnit unit = TimeUnit.HOURS; - private ThreadPoolExecutor executor; +// private ThreadPoolExecutor executor; + ScheduledThreadPoolExecutor executor; private ThreadPoolUtil() { //缁檆orePoolSize璧嬪�硷細褰撳墠璁惧鍙敤澶勭悊鍣ㄦ牳蹇冩暟*2 + 1,鑳藉璁ヽpu鐨勬晥鐜囧緱鍒版渶澶х▼搴︽墽琛岋紙鏈夌爺绌惰璇佺殑锛� corePoolSize = Runtime.getRuntime().availableProcessors() * 2 + 1; maxPoolSize = corePoolSize; - executor = new ThreadPoolExecutor( - //褰撴煇涓牳蹇冧换鍔℃墽琛屽畬姣曪紝浼氫緷娆′粠缂撳啿闃熷垪涓彇鍑虹瓑寰呬换鍔� - corePoolSize, - // 鐒跺悗new LinkedBlockingQueue(),鐒跺悗maximumPoolSize,浣嗘槸瀹冪殑鏁伴噺鏄寘鍚簡corePoolSize鐨� - maxPoolSize, - //琛ㄧず鐨勬槸maximumPoolSize褰撲腑绛夊緟浠诲姟鐨勫瓨娲绘椂闂� - keepAliveTime, - unit, - //缂撳啿闃熷垪锛岀敤浜庡瓨鏀剧瓑寰呬换鍔★紝Linked鐨勫厛杩涘厛鍑� - new LinkedBlockingQueue(), - new DefaultThreadFactory(Thread.NORM_PRIORITY, "thread-pool-"), - new ThreadPoolExecutor.AbortPolicy() - ); +// executor = new ThreadPoolExecutor( +// //褰撴煇涓牳蹇冧换鍔℃墽琛屽畬姣曪紝浼氫緷娆′粠缂撳啿闃熷垪涓彇鍑虹瓑寰呬换鍔� +// corePoolSize, +// // 鐒跺悗new LinkedBlockingQueue(),鐒跺悗maximumPoolSize,浣嗘槸瀹冪殑鏁伴噺鏄寘鍚簡corePoolSize鐨� +// maxPoolSize, +// //琛ㄧず鐨勬槸maximumPoolSize褰撲腑绛夊緟浠诲姟鐨勫瓨娲绘椂闂� +// keepAliveTime, +// unit, +// //缂撳啿闃熷垪锛岀敤浜庡瓨鏀剧瓑寰呬换鍔★紝Linked鐨勫厛杩涘厛鍑� +// new LinkedBlockingQueue(), +// new DefaultThreadFactory(Thread.NORM_PRIORITY, "thread-pool-"), +// new ThreadPoolExecutor.AbortPolicy() +// ); + executor = new ScheduledThreadPoolExecutor(corePoolSize); } public static ThreadPoolUtil getInstance() { @@ -65,18 +67,36 @@ * @param runnable */ public void execute(Runnable runnable) { + checkNull(); + if (runnable != null) { + executor.execute(runnable); + } + } + + void checkNull() { if (executor == null) { - executor = new ThreadPoolExecutor( - corePoolSize, - maxPoolSize, - keepAliveTime, - TimeUnit.SECONDS, - new LinkedBlockingQueue(), +// executor = new ThreadPoolExecutor( +// corePoolSize, +// maxPoolSize, +// keepAliveTime, +// TimeUnit.SECONDS, +// new LinkedBlockingQueue(), +// new DefaultThreadFactory(Thread.NORM_PRIORITY, "thread-pool-"), +// new ThreadPoolExecutor.AbortPolicy()); + executor = new ScheduledThreadPoolExecutor(corePoolSize, new DefaultThreadFactory(Thread.NORM_PRIORITY, "thread-pool-"), new ThreadPoolExecutor.AbortPolicy()); } + } + /** + * + * @param runnable + * @param delay 寤惰繜鎵ц锛屽崟浣嶆绉� + */ + public void execute(Runnable runnable,long delay) { + checkNull(); if (runnable != null) { - executor.execute(runnable); + executor.schedule(runnable, delay, TimeUnit.MILLISECONDS); } } diff --git a/JavaSource/com/mandi/webservice/service/impl/FdXSTDService.java b/JavaSource/com/mandi/webservice/service/impl/FdXSTDService.java index ee76ae9..ec33ed7 100644 --- a/JavaSource/com/mandi/webservice/service/impl/FdXSTDService.java +++ b/JavaSource/com/mandi/webservice/service/impl/FdXSTDService.java @@ -437,10 +437,10 @@ return prr; } } catch (Exception e) { - // TODO: handle exception } String currPch="";// 褰撳墠鎵规鍙� + List<String> pchList = new ArrayList<>(); //绗竴娆℃坊鍔犺鍗歌褰曞彂閫佽杞︿俊鎭� int sfzc=this.fbper.getbsitembyNo(fdb.getBsNo()); if(sfzc<=0) { @@ -582,6 +582,7 @@ remp.put("tdmx_tdfl",tdmx.getTdmx_tdfl()); relist.add(remp); currPch = tdmx.getTdmx_pch(); + pchList.add(tdmx.getTdmx_pch()); } if(grossNum>0) { @@ -607,12 +608,25 @@ // 姝ゅ寮傛瑙﹀彂涓�涓嬫槑鏅熷彂杞� if("06".equals(fdb.getSdepartNo())) { - final String cph = currPch; + final String pch = currPch; final String finalVehicleId = vehicleId; + ThreadPoolUtil.getInstance().execute(()->{ + Map paramMap = new HashMap(); + paramMap.put("vehicleId", finalVehicleId); + paramMap.put("tdmxPchList", tdmxPchList); + String jsonStr = Jacksonmethod.tojson(paramMap, false); + JsonObject jsonObject = Wxhtmethod.postJsonStr(Contants.ms_DoScanUrl, jsonStr); + if (jsonObject.get("code").getAsInt() != 0) { + prr.setCode(1); + prr.setErrmsg(jsonObject.get("errmsg").getAsString()); + // return prr; + } + }); + // 寤惰繜1.5绉掓墽琛岋紝淇濊瘉鏁版嵁鎵ц瀹屼簡 ThreadPoolUtil.getInstance().execute(()->{ synchronized (FdXSTDService.refreshMsLedLock) { if (FdXSTDService.refreshMsLedLock) { // 绯荤粺绻佸繖 - log.info(finalVehicleId + "" + cph + "绯荤粺绻佸繖锛�"); + log.info(finalVehicleId + "" + pch + "绯荤粺绻佸繖锛�"); return; } } @@ -620,7 +634,7 @@ synchronized (FdXSTDService.refreshMsLedLock) { FdXSTDService.refreshMsLedLock = true; } - sendToMsLed(cph); + sendToMsLed(pch); } catch (Exception e) { log.error("鍑虹幇寮傚父锛�"+ e.getMessage(),e); } finally { @@ -628,7 +642,7 @@ FdXSTDService.refreshMsLedLock = false; } } - }); + },1500); } if("08".equals(fdb.getSdepartNo())) { final String cph = currPch; @@ -680,13 +694,18 @@ } /** - * + * 鎸埌涓�鍗¢�� * @param currPch 褰撳墠鎵规鍙� */ public void sendToMsLed(String currPch){ //A鍖� 76-86 + 99-1 //B鍖� 14-33 + 99-2 //C鍖� 53-67 + 99-3 + // 2024骞存敼 + //A鍖� 73-88 + 99-1 + 40-45 + //B鍖� 14-27 + 99-2 + 46-49 + //C鍖� 50-65 + 99-3 + //D鍖� 28-39 + 69-72 + 89-98 log.info("LED-ABC褰撳墠鎵爜鎵规鍙凤細" + currPch); List<Map> totalList = tdmxper.getHwList("06"); // 鑾峰彇鏄庢櫉鎵�鏈夊湪鍔炰笟鍔″崟鐨勪俊鎭� log.info("LED-ABC鑾峰彇淇℃伅鏉℃暟锛�" + totalList.size()); @@ -710,16 +729,18 @@ Map speakParam = new HashMap(1); for (Map.Entry<String, List<Map>> entry : ywbhListMap.entrySet()) { // 閬嶅巻姣忎釜涓氬姟鍗曠殑 - // 褰撳墠瑁呰溅A銆丅銆丆鍖� - boolean currA = false,currB = false, currC = false; + // 褰撳墠瑁呰溅A銆丅銆丆鍖�; D鍖哄彧鍙備笌璁板綍锛屼笉鍙備笌LED鏄剧ず鍜岃瑷�鎾姤 + boolean currA = false,currB = false, currC = false, currD = false; boolean hasZcwc = false; // 淇濊瘉宸茬粡瀹屾垚浜� String ywhb = entry.getKey(); List<Map> vehicleIdTotalList = entry.getValue(); - Map<String, Integer> totalAbcMap = new HashMap(3); // 鎬昏淇℃伅 + // 鎬昏淇℃伅 + Map<String, Integer> totalAbcMap = new HashMap(3); totalAbcMap.put("A", 0); totalAbcMap.put("B", 0); totalAbcMap.put("C", 0); - Map<String, Integer> abcMap = new HashMap(3); // 宸茶淇℃伅 + /* 宸茶淇℃伅 */ + Map<String, Integer> abcMap = new HashMap(3); abcMap.put("A", 0); abcMap.put("B", 0); abcMap.put("C", 0); @@ -732,32 +753,36 @@ String hh = hw.replaceAll("\\-.*",""); hh = hh.substring(hh.length()-2); // 鍙栨渶鍚庝袱浣� int num = Integer.parseInt(hh); - if (num >= 76 && num <= 86 || hw.lastIndexOf("99-1") >= 0) { // A鍖� + if (num >= 73 && num <= 88 || hw.lastIndexOf("99-1") >= 0) { // A鍖� totalAbcMap.put("A",totalAbcMap.get("A") + 1); if (zcbz != null && zcbz == 1) { // 瑁呰溅瀹屾垚 abcMap.put("A", abcMap.get("A") + 1); hasZcwc = true; } if(pch.equals(currPch)) { - currA = true; currB = false;currC =false; + currA = true; currB = false;currC =false;currD=false; } - } else if (num >= 14 && num <= 33 || hw.lastIndexOf("99-2") >= 0) { // B鍖� + } else if (num >= 14 && num <= 27 || hw.lastIndexOf("99-2") >= 0) { // B鍖� totalAbcMap.put("B", totalAbcMap.get("B") + 1); if (zcbz != null && zcbz == 1) { abcMap.put("B", abcMap.get("B") + 1); hasZcwc = true; } if(pch.equals(currPch)) { - currA = false; currB = true;currC =false; + currA = false; currB = true;currC =false;currD=false; } - } else if (num >= 53 && num <= 67 || hw.lastIndexOf("99-3") >= 0) { // C鍖� + } else if (num >= 50 && num <= 65 || hw.lastIndexOf("99-3") >= 0) { // C鍖� totalAbcMap.put("C", totalAbcMap.get("C") + 1); if (zcbz != null && zcbz == 1) { abcMap.put("C", abcMap.get("C") + 1); hasZcwc = true; } if(pch.equals(currPch)) { - currA = false; currB = false; currC =true; + currA = false; currB = false; currC =true; currD=false; + } + } else if(num>=28 && num<=39 || (num>=69 && num<=72) || (num>=89 && num<=98)) { + if(pch.equals(currPch)) { + currA = false; currB = false;currC =false;currD=true; } } } @@ -815,7 +840,7 @@ } /** - * 鍑嗗璇煶 + * 鍑嗗璇煶 锛屾尓鍒颁竴鍗¢�� * @param cph 杞︾墝鍙� * @param total 褰撳墠鍖烘�绘暟 * @param abcMap A銆丅銆丆涓簁ey鐨勫尯宸茶鏁扮洰 @@ -996,7 +1021,6 @@ return orr; } } catch (Exception e) { - // TODO: handle exception } // Fd_Bsheet nr=this.fbper.getbyVehicleId(vehicleId, Serviceenum.鍦ㄥ姙); // if(nr==null){ -- Gitblit v1.9.3