From a0879b60391616bb077b53815114af74ec7a77cd Mon Sep 17 00:00:00 2001 From: hjg <hjg@123.com> Date: 星期五, 05 七月 2024 09:38:04 +0800 Subject: [PATCH] 更新pda接口 --- JavaSource/com/mandi/webservice/service/impl/FdXSTDService.java | 138 ++++++++++++++++++++++++++++++++++++++------- 1 files changed, 116 insertions(+), 22 deletions(-) diff --git a/JavaSource/com/mandi/webservice/service/impl/FdXSTDService.java b/JavaSource/com/mandi/webservice/service/impl/FdXSTDService.java index 3698132..4376b23 100644 --- a/JavaSource/com/mandi/webservice/service/impl/FdXSTDService.java +++ b/JavaSource/com/mandi/webservice/service/impl/FdXSTDService.java @@ -67,7 +67,7 @@ public static Boolean refreshMsLedLock = false; public static Boolean refreshYrLedLock = false; - + public static Boolean refreshKjLedLock = false; @Override @Transactional(rollbackFor=Exception.class) public ObjectResult<Boolean> saveFd_xstd(String dataArr) throws Exception { @@ -415,6 +415,7 @@ prr.setErrmsg("鍙傛暟锛氬崱鍙峰叧鑱旂殑杞︾墝鍙峰拰涓氬姟鍗曞叧鑱旂殑杞︾墝鍙蜂笉涓�鑷�"); return prr; } + // yktywdh = fdb.getBsNo(); int wcnum=this.bsper.getweightDoc(vehicleId, fdb.getBsNo()); @@ -436,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) { @@ -453,7 +454,25 @@ } // 鐜板満杩囧畬姣涢噸鍚庡嚭鐜版壂鐮佽杞︾殑锛屽繀椤婚噸鏂拌繃纾� int grossNum=this.bsper.getgrosstDoc(vehicleId, fdb.getBsNo()); - + List tdmxPchList = new ArrayList(); + for (JsonElement je : dataArr) { + JsonObject jo=je.getAsJsonObject(); + String tdmx_pch = jo.get("tdmx_pch").getAsString(); + tdmxPchList.add(tdmx_pch); + } + if("08".equals(fdb.getSdepartNo())) { // 鍙槸涔夌憺鍘傚尯鏈夋晥 + // 妫�鏌ユ槸鍚﹀綋鍓嶅尯鍩熷凡缁忔帓闃� + Map paramMap = new HashMap(); + paramMap.put("vehicleId", vehicleId); + paramMap.put("tdmxPchList", tdmxPchList); + String jsonStr = Jacksonmethod.tojson(paramMap, false); + JsonObject jsonObject = Wxhtmethod.postJsonStr(Contants.yr_canDoScanUrl, jsonStr); + if (jsonObject.get("code").getAsInt() != 0) { + prr.setCode(1); + prr.setErrmsg(jsonObject.get("errmsg").getAsString()); + return prr; + } + } for (JsonElement je : dataArr) { JsonObject jo=je.getAsJsonObject(); String tdmx_pch = jo.get("tdmx_pch").getAsString(); @@ -563,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) { @@ -588,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; } } @@ -601,7 +634,7 @@ synchronized (FdXSTDService.refreshMsLedLock) { FdXSTDService.refreshMsLedLock = true; } - sendToMsLed(cph); + sendToMsLed(pch); } catch (Exception e) { log.error("鍑虹幇寮傚父锛�"+ e.getMessage(),e); } finally { @@ -609,11 +642,15 @@ FdXSTDService.refreshMsLedLock = false; } } - }); + },1500); } if("08".equals(fdb.getSdepartNo())) { final String cph = currPch; ThreadPoolUtil.getInstance().execute(()->{ + // 杩欎釜鍦版柟涓嶅啀璇锋眰 + /*Map scanCodeParamMap = new HashMap(); + scanCodeParamMap.put("pch",cph); + Wxhtmethod.post(Contants.yr_scanCodeNoticeUrl, scanCodeParamMap);*/ try { synchronized (FdXSTDService.refreshYrLedLock) { if (FdXSTDService.refreshYrLedLock) { // 绯荤粺绻佸繖 @@ -630,6 +667,25 @@ } } }); + } else if("04".equals(fdb.getSdepartNo())) { // 绉戞妧 + final String cph = currPch; + ThreadPoolUtil.getInstance().execute(()->{ + try { + synchronized (FdXSTDService.refreshKjLedLock) { + if (FdXSTDService.refreshKjLedLock) { // 绯荤粺绻佸繖 + return ; + } + FdXSTDService.refreshKjLedLock = true; + } + sendToKjLed(cph); + } catch (Exception e) { + log.error(e); + } finally { + synchronized (FdXSTDService.refreshKjLedLock) { + FdXSTDService.refreshKjLedLock = false; + } + } + }); } prr.setCode(0); prr.setErrmsg("瑁呰溅鎿嶄綔鎴愬姛锛�"); @@ -638,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()); @@ -668,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); @@ -690,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; } } } @@ -773,7 +840,7 @@ } /** - * 鍑嗗璇煶 + * 鍑嗗璇煶 锛屾尓鍒颁竴鍗¢�� * @param cph 杞︾墝鍙� * @param total 褰撳墠鍖烘�绘暟 * @param abcMap A銆丅銆丆涓簁ey鐨勫尯宸茶鏁扮洰 @@ -870,6 +937,32 @@ Wxhtmethod.post(Contants.yr_zcLedUrl + "/SendLED",paramMap); log.info("yr_zcLedUrl: " + Contants.yr_zcLedUrl + ";title:" + strTitle + ",content:" + strContent); } + @Override + public void sendToKjLed(String currPch) { + // 鐘舵�� 涓�纾呭悗锛屽緟瑁咃紱PDA鎵爜 鍦ㄨ锛� 浜屾杩囩鍚庢秷澶� + // 瑁呰溅鍖� 涓や釜姹夊瓧鍔犱袱涓嫳鏂囨垨鏁板瓧 + String strTitle="搴忓彿 杞﹀彿 瑁呰溅鍖� 鐘舵�乗r\n"; + String strContent = ""; + String contentFormatStr = "%s %s %s %s\r\n"; + List<Map> list = tdmxper.yRZcList("04"); + int index = 1; + for (Map map : list) { + String numberplates = (String) map.get("numberplates"); // 杞︾墝鍙� + String zcWz = (String) map.get("zcWz"); // 瑁呰溅浣嶇疆 + if(StringUtils.isNotBlank(zcWz)) { + zcWz = zcWz.substring(0,4); + } else { // 绌烘槸6涓綅缃� + zcWz = " "; + } + String zcStatus = (String) map.get("zcStatus"); // 瑁呰溅浣嶇疆 鍦ㄥ姙/寰呭姙 + strContent += String.format(contentFormatStr, fillWithZero(index++), numberplates, zcWz, zcStatus); + } + Map paramMap = new HashMap(); + paramMap.put("strTitle",strTitle); + paramMap.put("strContent",strContent); + String re = Wxhtmethod.post(Contants.kj_zcLedUrl + "/SendLED",paramMap); + log.info("鍥炲锛�" + re +";kj_zcLedUrl: " + Contants.kj_zcLedUrl + ";title:" + strTitle + ",content:" + strContent); + } String fillWithZero(int str){ String s; @@ -928,7 +1021,6 @@ return orr; } } catch (Exception e) { - // TODO: handle exception } // Fd_Bsheet nr=this.fbper.getbyVehicleId(vehicleId, Serviceenum.鍦ㄥ姙); // if(nr==null){ @@ -989,7 +1081,7 @@ } @Override - public ObjectResult<Map<String, Object>> getcInfo(String cardID) { + public ObjectResult<Map<String, Object>> getcInfo(String cardID,boolean needRecord) { ObjectResult<Map<String, Object>> orr=new ObjectResult<Map<String,Object>>(); Map<String, Object> rem=new HashMap<String, Object>(); Map<String, Object> mp=this.yktper.getcardinuse(cardID); @@ -1105,7 +1197,9 @@ }else { mr.put("firstzxhtime", new Date()); } - this.bsper.updateTaskTime(mr); + if(needRecord) { // 涓簍rue 鍒欐洿鏂扮涓�娆℃壂鍗℃椂闂达紝鍚﹀垯涓嶈褰� + this.bsper.updateTaskTime(mr); + } }else { orr.setCode(1); orr.setErrmsg("鏈壘鍒拌杞﹁褰�"); -- Gitblit v1.9.3