Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizerrecord/action/SterilizerRecordLineChartAction.java =================================================================== diff -u -r25988 -r26016 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizerrecord/action/SterilizerRecordLineChartAction.java (.../SterilizerRecordLineChartAction.java) (revision 25988) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizerrecord/action/SterilizerRecordLineChartAction.java (.../SterilizerRecordLineChartAction.java) (revision 26016) @@ -2,7 +2,6 @@ import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; -import java.util.regex.Pattern; import net.sf.json.JSONArray; import net.sf.json.JSONObject; @@ -37,6 +36,7 @@ this.sterilizationRecordManager = sterilizationRecordManager; } + //返回曲线图格式数据已弃用 public void createChart() { String sterilizationRecordId = StrutsParamUtils.getPraramValue("sterilizationRecordId", null); String sourceString = null; @@ -70,7 +70,7 @@ } /** - * 获取echart曲线数据 + * 返回echart曲线数据 */ public void createEChartData() { String sterilizationRecordId = StrutsParamUtils.getPraramValue("sterilizationRecordId", null); @@ -83,7 +83,12 @@ JSONArray t1TempArray = new JSONArray(); JSONArray p1MbarArray = new JSONArray(); for (SterilizerRecord record : sterilizerRecords) { - String time = getTimeDateStr(record.getTime(),DateTools.COMMON_DATE_HMS ); //时间 + String time = ""; //时间 + if(null != record.getProcStartTime()){ + time = DateTools.getFormatDateStr(record.getProcStartTime(), DateTools.COMMON_DATE_HMS); + }else{ + time = getTimeDateStr(record.getTime(),DateTools.COMMON_DATE_HMS ); + } timeArray.add(time); t1TempArray.add(record.getT1Temp());//温度1 p1MbarArray.add(record.getP1Mbar());//压力1 @@ -121,16 +126,16 @@ return; } try { - //1、打印曲线图数据 List sterilizerRecords = sterilizationRecordManager.getSterilizaerRecordsById(sterilizationRecord.getId()); + //1、打印曲线图数据(曲线打印已改成打印页面的echart曲线图) JSONArray chartDatas = new JSONArray(); - for (SterilizerRecord sr : sterilizerRecords) { - JSONObject chartDataobj = new JSONObject(); - chartDataobj.put("time", getTimeDateStr(sr.getTime(),DateTools.COMMON_TIME_HM));//时间(分) - chartDataobj.put("t1Temp", sr.getT1Temp());//温度1 - chartDataobj.put("p1Mbar", sr.getP1Mbar());//压力1 - chartDatas.add(chartDataobj); - } +// for (SterilizerRecord sr : sterilizerRecords) { +// JSONObject chartDataobj = new JSONObject(); +// chartDataobj.put("time", getTimeDateStr(sr.getTime(),DateTools.COMMON_TIME_HM));//时间(分) +// chartDataobj.put("t1Temp", sr.getT1Temp());//温度1 +// chartDataobj.put("p1Mbar", sr.getP1Mbar());//压力1 +// chartDatas.add(chartDataobj); +// } //2、打印表格数据(经过过滤) JSONObject sterilizerRecordsPrintTable = sterilizationRecordManager.getPrintSterilizaerRecordsById(sterilizationRecord.getId()); //3、灭菌炉基础数据 @@ -166,7 +171,6 @@ srData.put("startTime",StringUtils.defaultString(getTimeDateStr(firstSlrProcStartTime,DateTools.COMMON_DATE_HMS ), " ")); //开始时间 srData.put("sterilizationTime",StringUtils.defaultString(getTimeDateStr(firstSlrProcStartTime, DateTools.COMMON_DATE_PATTEN ))); //灭菌开始时间(年月日) srData.put("printUser",AcegiHelper.getLoginUser().getUserName()); //打印用户 - //4、返回打印数据 JSONUtil.addSuccess(result, true); JSONUtil.addProperty(data, "chart", chartDatas); @@ -186,21 +190,7 @@ * @return */ private String getTimeDateStr(String timeStr,String format){ - Date timeDate = null; - if(StringUtils.isNotBlank(timeStr)){ - String timeFormat = "[0-9]{2}/[0-9]{2}/[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}";//是否为yy/mm/dd hh:mm:ss - String timeFormat2 = "[0-9]{4}/[0-9]{2}/[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}";//是否为yyyy/mm/dd hh:mm:ss - String timeFormat3 = "[0-9]{4}/[0-9]{1}/[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}";//是否为yyyy/m/dd hh:mm:ss - if(Pattern.compile(timeFormat).matcher(timeStr).matches()){ - timeDate = ForgonDateUtils.safelyParseDate(timeStr,"yy/MM/dd hh:mm:ss"); - }else if(Pattern.compile(timeFormat2).matcher(timeStr).matches()){ - timeDate = ForgonDateUtils.safelyParseDate(timeStr,"yyyy/mm/ddd hh:mm:ss"); - }else if(Pattern.compile(timeFormat3).matcher(timeStr).matches()){ - timeDate = ForgonDateUtils.safelyParseDate(timeStr,"yyyy/m/dd hh:mm:ss"); - }else{ - timeDate = ForgonDateUtils.safelyParseDate(timeStr); - } - } + Date timeDate = ForgonDateUtils.safelyParseDateIncludeUnConventionality(timeStr); String dateStr = DateTools.getFormatDateStr(timeDate,format); return dateStr; } Index: forgon-tools/src/main/java/com/forgon/tools/util/ForgonDateUtils.java =================================================================== diff -u -r23346 -r26016 --- forgon-tools/src/main/java/com/forgon/tools/util/ForgonDateUtils.java (.../ForgonDateUtils.java) (revision 23346) +++ forgon-tools/src/main/java/com/forgon/tools/util/ForgonDateUtils.java (.../ForgonDateUtils.java) (revision 26016) @@ -168,4 +168,35 @@ return false; } } + + /** + * 根据给定的时间格式,把String型转成Date类型,若转换成不成功则返回null.. + * 包含yy/mm/dd hh:mm:ss 这种不常用的格式 + * @param date 时间字符串 + * @return + */ + public static Date safelyParseDateIncludeUnConventionality(String timeStr) { + Date timeDate = null; + if(StringUtils.isNotBlank(timeStr)){ + String timeFormat1 = "[0-9]{2}/[0-9]{2}/[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}";//是否为yy/MM/dd HH:mm:ss + String timeFormat2 = "[0-9]{2}/[0-9]{1}/[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}";//是否为yy/M/dd HH:mm:ss + String timeFormat3 = "[0-9]{4}/[0-9]{2}/[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}";//是否为yyyy/MM/dd HH:mm:ss + String timeFormat4 = "[0-9]{4}/[0-9]{1}/[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}";//是否为yyyy/M/dd HH:mm:ss + String timeFormat5 = "[0-9]{4}/[0-9]{1}/[0-9]{2} [0-9]{1}:[0-9]{2}:[0-9]{2}";//是否为yyyy/M/dd H:mm:ss + if(Pattern.compile(timeFormat1).matcher(timeStr).matches()){ + timeDate = safelyParseDate(timeStr,"yy/MM/dd HH:mm:ss"); + }else if(Pattern.compile(timeFormat2).matcher(timeStr).matches()){ + timeDate = safelyParseDate(timeStr,"yy/M/dd HH:mm:ss"); + }else if(Pattern.compile(timeFormat3).matcher(timeStr).matches()){ + timeDate = safelyParseDate(timeStr,"yyyy/MM/dd HH:mm:ss"); + }else if(Pattern.compile(timeFormat4).matcher(timeStr).matches()){ + timeDate = safelyParseDate(timeStr,"yyyy/M/dd HH:mm:ss"); + }else if(Pattern.compile(timeFormat5).matcher(timeStr).matches()){ + timeDate = safelyParseDate(timeStr,"yyyy/M/dd H:mm:ss"); + }else{ + timeDate = safelyParseDate(timeStr); + } + } + return timeDate; + } }