private void recSetStopTimeInfo() { setStopTimeCarCount = 0; CarBean carBean = null; byte[] stopTime = null; for (Iterator<Map.Entry<String, CarBean>> ite = cars.entrySet().iterator(); ite.hasNext(); ) { carBean = ite.next().getValue(); stopTime = carBean.getStopTime(); if (stopTime != null && !KKTool.isArrayDataSame(stopTime, STOP_TIME)) { setStopTimeCarCount++; KKLog.warn(carBean.getCarNo() + "设置了停机时间:" + KKTool.byteArrayToHexStr(stopTime)); } } }
@Override public void run() { try { if (KKTool.isStrNullOrBlank(sysParams.getPosBinFileDir())) { KKLog.info("Not set pos bin file directory");//本地Pos程序存放目录未设置 return; } File dir = new File(sysParams.getPosBinFileDir()); if (!dir.exists()) { //logger.info("本地Pos程序存放目录未创建"); dir.mkdir(); return; } File[] files = dir.listFiles(new KKFileNameFilter("bin")); if (files.length == 0) { KKLog.info("No pos bin file");//无Pos升级程序 posBinFile.clearPosBinData();//没有pos机程序文件 } else { File latestFile = null; String fileName = null; for (File f: files){//buspos_app_xxxx_xxxxxxxx.bin fileName = f.getName(); if (!fileName.matches("taxipos_app_\\d{4}_\\d{8}.bin")) continue; try { Integer.parseInt(fileName.substring(17, 25)); } catch (Exception e) { KKLog.info("Pos bin file name invalid, can't get bin version, pos bin file name must be like 'buspos_app_xxxx_xxxxxxxx.bin'");//pos程序命名不合法,无法识别版本号,参照格式 continue; } if (latestFile == null) { latestFile = f; } else { if (latestFile.getName().substring(17, 25).compareTo(f.getName().substring(17, 25)) < 0) latestFile = f; } } if (latestFile == null) { KKLog.info("No valid pos bin file");//无Pos升级程序 posBinFile.clearPosBinData();//没有pos机程序文件 } else { posBinFile.loadNewBinData(latestFile); posBinFile.setVersion(latestFile.getName().substring(17, 25)); } } } catch (Exception e) { KKLog.error("Thread Get Pos Bin File Err:" + KKTool.getExceptionTip(e)); } finally { //加载Pos程序成功,程序大小: 程序版本: KKLog.info("Pos bin file size:" + posBinFile.getTotalBytes() + ",file version:" + posBinFile.getVersion()); KKTool.sleepOneMinute(); Ics.isLoadingPosBinFile = false; } }