Index: ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/device/service/GetingeDataManagerImpl.java =================================================================== diff -u -r32302 -r33644 --- ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/device/service/GetingeDataManagerImpl.java (.../GetingeDataManagerImpl.java) (revision 32302) +++ ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/device/service/GetingeDataManagerImpl.java (.../GetingeDataManagerImpl.java) (revision 33644) @@ -931,7 +931,7 @@ String spaceTime = null; Date startDate = null; // 读取直到最后一行 - List records = new FileOfDatReader().getAllLine(inputStream); + List records = new FileOfDatReader().getAllLine(inputStream, "UTF-8"); for(String line : records){ if(StringUtils.isBlank(line)){ continue; @@ -951,6 +951,16 @@ record.setTime(timeStr); record.setT1Temp(getTemp(line)); isValid = true; + }else if(line.contains("") && line.contains("")){ + String phase = getValueByKey(line,"PHASE"); + record.setCycleCounter(Long.valueOf(cycleCounter)); + record.setMachineNo(machineNumber); + record.setDeviceInterfaceID(devInterface.getId().toString()); + record.setPhase(phase); + // 时间格式 2016/4/15 16:32:49 + String timeStr = getGetingeTime(startDate,spaceTime); + record.setTime(timeStr); + isValid = true; }else{ isValid = false; } Index: ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/device/service/FileOfDatReader.java =================================================================== diff -u -r32083 -r33644 --- ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/device/service/FileOfDatReader.java (.../FileOfDatReader.java) (revision 32083) +++ ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/device/service/FileOfDatReader.java (.../FileOfDatReader.java) (revision 33644) @@ -223,16 +223,17 @@ /** * 从文件当前读到的位置开始,获取每一行 * @param inputStream + * @param charsetName 编码格式 * @return 一条记录转换为一个String的集合。集合中的每一个元素就是一行数据 */ - public List getAllLine(InputStream inputStream) { + public List getAllLine(InputStream inputStream, String charsetName) { readLength = 0L; fileTempSkip = 0L; int lineNum = 1; List record = new ArrayList(); String readLine = null; while(true){ - readLine = readLine2(inputStream); + readLine = readLine2(inputStream, charsetName); //logger.debug(readLine+":" + (lineNum++)); if(readLine != null){ record.add(readLine); @@ -243,14 +244,23 @@ fileTempSkip += readLength; return record; } + + /** + * 从文件当前读到的位置开始,获取每一行(默认编码格式GBK) + * @param inputStream + */ + public List getAllLine(InputStream inputStream){ + return getAllLine(inputStream, "GBK"); + } /** * 读取一行数据(以OXOD来判断),就返回 * 若没有回车结束,但也有有效读取的字节则也返回 * @param inputStream + * @param charsetName 编码格式 * @return 读取到的一行数据 */ - private String readLine2(InputStream inputStream){ + private String readLine2(InputStream inputStream, String charsetName){ //从input Stream中读取的字节数 readCount = 0L; //写入到行中的有效字节数 @@ -271,7 +281,7 @@ if(writeCount == 0L){ //空行,什么也没有 return readLine(inputStream); }else{ - return new String(stringBuffer,0,writeCount,"GBK"); + return new String(stringBuffer,0,writeCount, charsetName); } case LF : //换行符不写入 break; @@ -300,7 +310,7 @@ readLength += readCount; //若没有回车结束,但也有有效读取的字节则也返回 if(writeCount != 0L){ - return new String(stringBuffer,0,writeCount,"GBK"); + return new String(stringBuffer,0,writeCount, charsetName); } return null; } Index: ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/action/WashDataLineChartAction.java =================================================================== diff -u -r32080 -r33644 --- ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/action/WashDataLineChartAction.java (.../WashDataLineChartAction.java) (revision 32080) +++ ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/action/WashDataLineChartAction.java (.../WashDataLineChartAction.java) (revision 33644) @@ -156,6 +156,31 @@ } /** + * 获取温度和阶段表格NYSY-45参数界面增加清洗记录运行内容的数据表格显示 + */ + public void createPhaseTempChart() { + String washAndDisinfectRecordId = StrutsParamUtils.getPraramValue( + "washAndDisinfectRecordId", null); + WashAndDisinfectRecord washAndDisinfectRecord = washAndDisinfectRecordManager.get(washAndDisinfectRecordId); + List washDatas = washAndDisinfectRecordManager.getWashAndDisinfectRecordsById(washAndDisinfectRecord.getId()); + JSONArray array = new JSONArray(); + if (washAndDisinfectRecord != null + && washDatas != null) { + for (WashData washData : washDatas) { + String phase = StringUtils.defaultString(washData.getPhase()); + String t1Temp = StringUtils.defaultString(washData.getT1Temp()); + JSONObject json = new JSONObject(); + json.put("time", washData.getTime()); + json.put("phase", phase); + json.put("t1Temp", t1Temp); + array.add(json); + } + } + + StrutsResponseUtils.output(true, array); + } + + /** * 获取清洗机详细参数的数据和曲线图数据 */ public void getWashDataAndLineEchartDate(){