Index: ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManager.java =================================================================== diff -u -r40891 -r40907 --- ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManager.java (.../WashAndDisinfectRecordManager.java) (revision 40891) +++ ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManager.java (.../WashAndDisinfectRecordManager.java) (revision 40907) @@ -527,7 +527,7 @@ * @param washAndDisinfectRecordId 清洗记录id * @param belimedV2WashDataPDFId 参数记录id */ - public JSONObject getXinHuaDataPDF(Long washAndDisinfectRecordId, String type, Long belimedV2WashDataPDFId); + public JSONObject getDataPDF(Long washAndDisinfectRecordId, Long sterilizationRecordId, Long dataRecordId); /** * 获取温度和阶段表格NYSY-45参数界面增加清洗记录运行内容的数据表格显示 Index: ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManagerImpl.java =================================================================== diff -u -r40900 -r40907 --- ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManagerImpl.java (.../WashAndDisinfectRecordManagerImpl.java) (revision 40900) +++ ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManagerImpl.java (.../WashAndDisinfectRecordManagerImpl.java) (revision 40907) @@ -7152,88 +7152,69 @@ return washAndDisinfectRecordId; } @Override - public JSONObject getXinHuaDataPDF(Long recordId, String type, - Long xinHuaDataPDFId) { + public JSONObject getDataPDF(Long washAndDisinfectRecordId, Long sterilizationRecordId, Long dataRecordId) { + if(!DatabaseUtil.isPoIdValid(washAndDisinfectRecordId) && !DatabaseUtil.isPoIdValid(sterilizationRecordId)){ + throw new RuntimeException("Id参数异常"); + } ResultSet rs = null; JSONObject result = new JSONObject(); String base64PdfContent = null; boolean success = false; try { String fileName = null; - XinHuaDataPDF pdf = null; - if (DatabaseUtil.isPoIdValid(xinHuaDataPDFId)) { - pdf = (XinHuaDataPDF) objectDao.getBySql(XinHuaDataPDF.class.getSimpleName() - , " where po.id=" + xinHuaDataPDFId); - if (pdf == null) { - throw new RuntimeException("找不到" + xinHuaDataPDFId + "对应的数据"); + DeviceInterface deviceInterface = null; + String path = null; + Long recordId = null; + if(DatabaseUtil.isPoIdValid(washAndDisinfectRecordId)){ + WashAndDisinfectRecord wdr = get(washAndDisinfectRecordId); + if (wdr == null) { + throw new RuntimeException("recordId参数异常"); } - } else { - if (!DatabaseUtil.isPoIdValid(recordId)) { + recordId = wdr.getId(); + //清洗机定义 + Rinser rinser = (Rinser) objectDao.getByProperty(Rinser.class.getSimpleName(), "id", wdr.getRinserId()); + if (rinser == null) { + throw new RuntimeException("数据异常,清洗记录关联的清洗机不存在!"); + } + deviceInterface = rinser.getDeviceInterface(); + }else{ + SterilizationRecord sterilizationRecord = (SterilizationRecord)objectDao.getById(SterilizationRecord.class.getSimpleName(), sterilizationRecordId); + if (sterilizationRecord == null) { throw new RuntimeException("recordId参数异常"); } - pdf = (XinHuaDataPDF) objectDao.getBySql(XinHuaDataPDF.class.getSimpleName() - , " where po.recordId=" + recordId); - if(pdf == null){ - String machineNo = null; - DeviceInterface deviceInterface = null; - Date startTime = null; - if("rinser".equals(type)){ - WashAndDisinfectRecord wdr = get(recordId); - if (wdr == null) { - throw new RuntimeException("recordId参数异常"); + recordId = sterilizationRecord.getId();; + //清洗机定义 + Sterilizer sterilizer = sterilizationRecord.getSterilizer(); + if (sterilizer == null) { + throw new RuntimeException("数据异常,灭菌记录关联的灭菌炉不存在!"); + } + deviceInterface = sterilizer.getDeviceInterface(); + } + if(deviceInterface == null){ + throw new RuntimeException("数据异常,清洗机关联的设备接口不存在!"); + } + if(DeviceInterface.XINHUA.equals(deviceInterface.getDeviceBrand())){ + XinHuaDataPDF pdf = null; + if(DeviceInterface.XINHUA_PDF_SUPER6000.equals(deviceInterface.getDeviceModel()) || DeviceInterface.XINHUA_PDF_CLEAN_H101513.equals(deviceInterface.getDeviceModel())){ + if (DatabaseUtil.isPoIdValid(dataRecordId)) { + pdf = (XinHuaDataPDF) objectDao.getBySql(XinHuaDataPDF.class.getSimpleName() + , " where po.id=" + dataRecordId); + if (pdf == null) { + throw new RuntimeException("找不到" + dataRecordId + "对应的数据"); } - startTime = wdr.getStartDate(); - //清洗机定义 - Rinser rinser = (Rinser) objectDao.getByProperty(Rinser.class.getSimpleName(), "id", wdr.getRinserId()); - if (rinser == null) { - throw new RuntimeException("数据异常,清洗记录关联的清洗机不存在!"); - } - machineNo = rinser.getMachineNumber(); - deviceInterface = rinser.getDeviceInterface(); - }else{ - SterilizationRecord sterilizationRecord = (SterilizationRecord)objectDao.getById(SterilizationRecord.class.getSimpleName(), recordId); - if (sterilizationRecord == null) { - throw new RuntimeException("recordId参数异常"); - } - startTime = sterilizationRecord.getStartDate(); - //清洗机定义 - Sterilizer sterilizer = sterilizationRecord.getSterilizer(); - if (sterilizer == null) { - throw new RuntimeException("数据异常,灭菌记录关联的灭菌炉不存在!"); - } - machineNo = sterilizer.getMachineNumber(); - deviceInterface = sterilizer.getDeviceInterface(); + fileName = pdf.getFileName(); + }else if(DatabaseUtil.isPoIdValid(recordId)){ + pdf = (XinHuaDataPDF) objectDao.getBySql(XinHuaDataPDF.class.getSimpleName() + , " where po.recordId=" + recordId); } - if (deviceInterface == null) { - throw new RuntimeException("数据异常,设备关联的设备接口不存在!"); - } - Date beginStartTime = new Date(startTime.getTime() - 10 * 60 * 1000); - Date endStartTime = new Date(startTime.getTime() + 10 * 60 * 1000); - String beginStartTimeStr = ForgonDateUtils.safelyFormatDate(beginStartTime, ForgonDateUtils.SIMPLEDATEFORMAT_YYYYMMDDHHMMSS, ""); - String endStartTimeStr = ForgonDateUtils.safelyFormatDate(endStartTime, ForgonDateUtils.SIMPLEDATEFORMAT_YYYYMMDDHHMMSS, ""); - - StringBuffer sql = new StringBuffer(); - sql.append("select po.fileName from ") - .append(XinHuaDataPDF.class.getSimpleName()) - .append(" po where po.deviceInterfaceID = ") - .append(deviceInterface.getId()) - .append(" and po.machineNumber = '") - .append(machineNo) - .append("' and ") - .append(dateQueryAdapter.dateAreaSql("po.startDate", beginStartTimeStr, endStartTimeStr)); - rs = objectDao.executeSql(sql.toString()); - while (rs.next()) { - fileName = rs.getString(1); - break; - } + path = "XINHUAPDF/"; } - + if(pdf != null){ + fileName = pdf.getFileName(); + } } - if (pdf != null) { - fileName = pdf.getFileName(); - } if (StringUtils.isNotBlank(fileName)) { - String fileUrl = PathUtils.getWebAppRootPath() + "/UserUpLoadFiles/XINHUAPDF/"; + String fileUrl = PathUtils.getWebAppRootPath() + "/UserUpLoadFiles/" + path; File file = new File(fileUrl + fileName); byte[] pdfContent = Files.readAllBytes(file.toPath()); base64PdfContent = Base64.getEncoder().encodeToString(pdfContent);