Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizerrecord/service/BelimedSterilizerRecordManagerImpl.java =================================================================== diff -u -r40302 -r40960 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizerrecord/service/BelimedSterilizerRecordManagerImpl.java (.../BelimedSterilizerRecordManagerImpl.java) (revision 40302) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizerrecord/service/BelimedSterilizerRecordManagerImpl.java (.../BelimedSterilizerRecordManagerImpl.java) (revision 40960) @@ -207,6 +207,11 @@ associatedGtCommonSterilizerRecord(sterilizerRecordId, sterilizationRecord); return; } + }else if(DeviceInterface.XINHUA.equals(deviceInterface.getDeviceBrand())){ + if(DeviceInterface.XINHUA_PDF_CLEAN_H101513.equals(deviceInterface.getDeviceModel())){ + associatedXinhuaCleanH101513(sterilizerRecordId, sterilizationRecord); + return; + } } throw new SystemException("暂不支持的型号" + deviceInterface.getDeviceModel()); } @@ -244,8 +249,42 @@ + (record.getStartDate() == null?"":DateTools.YMDHMSFORMAT.get().format(record.getStartDate())) +")"); } - /** + * 关联XinhuaCleanH101513 + * @param sterilizerRecordId 灭菌参数记录id + * @param sterilizationRecord 灭菌记录 + */ + private void associatedXinhuaCleanH101513(Long sterilizerRecordId, SterilizationRecord sterilizationRecord){ + XinhuaCleanH101513 record = (XinhuaCleanH101513)objectDao.getById(XinhuaCleanH101513.class.getSimpleName(),sterilizerRecordId); + if(record == null){ + throw new SystemException("查询不到灭菌参数,id="+sterilizerRecordId); + } + //查询并清掉旧的关联 + XinhuaCleanH101513 oldRecord = (XinhuaCleanH101513)objectDao.getBySql(XinhuaCleanH101513.class.getSimpleName() + , " where po.sterilizationRecordId="+ sterilizationRecord.getId()); + if(oldRecord != null){ + if(MathTools.equals(oldRecord.getId(), record.getId())){ + throw new SystemException("选择的记录已和当前灭菌记录关联,无需再关联"); + } + oldRecord.setSterilizationRecordId(null); + objectDao.update(oldRecord); + } + //检查选择的灭菌参数记录是否关联的灭菌记录 如果有需要 灭菌记录需要清空信息 + SterilizationRecord sr = DatabaseUtil.isPoIdValid(record.getSterilizationRecordId())?sterilizationRecordManager.get(record.getSterilizationRecordId()):null; + updateOtherSterilizationRecord(sr); + record.setSterilizationRecordId(sterilizationRecord.getId()); + objectDao.update(record); + if(!SterilizationRecord.STERILIZATIONPARATYPE_XINHUA_PDF.equals(sterilizationRecord.getSterilizationParaType())){ + sterilizationRecord.setSterilizationParaType(SterilizationRecord.STERILIZATIONPARATYPE_XINHUA_PDF); + objectDao.update(sterilizationRecord); + } + appLogManager.saveLog(AcegiHelper.getLoginUser(), Log.MODEL_WASH, Log.TYPE_UPDATE, "Id:" + + sterilizationRecord.getId() + +",关联了参数文件(机器号:"+ record.getMachineNumber() +",开始时间" + + (record.getStartDate() == null?"":DateTools.YMDHMSFORMAT.get().format(record.getStartDate())) + +")"); + } + /** * 清空另一条灭菌记录的图标 * @param otherSterilizationRecord 另一条灭菌记录 */ @@ -314,10 +353,44 @@ }else{//GETINGE通用 GtCommonSterilizerRecord return findGtCommonSterilizerRecordList(sterilizer.getMachineNumber(), startDate, endDate); } + }else if(DeviceInterface.XINHUA.equals(deviceInterface.getDeviceBrand())){ + if(DeviceInterface.XINHUA_PDF_CLEAN_H101513.equals(deviceInterface.getDeviceModel())){ + return findXinhuaCleanH101513List(sterilizer.getMachineNumber(), startDate, endDate); + } } throw new SystemException("暂不支持的型号" + deviceInterface.getDeviceModel()); } /** + * 获取XinhuaCleanH101513数据 + * @param machineNumber 机器号 + * @param startDate 查询范围的开始时间 + * @param endDate 查询范围的结束时间 + */ + private JSONArray findXinhuaCleanH101513List(String machineNumber, String startDate, String endDate){ + List records = objectDao.findBySql(XinhuaCleanH101513.class.getSimpleName() + ," where po.machineNumber='"+machineNumber+"' and startDate between " + + dateQueryAdapter.dateAdapter(startDate) + + " and " + + dateQueryAdapter.dateAdapter(endDate) + + " order by po.startDate desc " ); + if(CollectionUtils.isEmpty(records)){ + return null; + } + JSONArray result = new JSONArray(); + DateFormat df = DateTools.YMDHMSFORMAT.get(); + for (XinhuaCleanH101513 record : records){ + JSONObject obj = new JSONObject(); + obj.put("machineNumber", record.getMachineNumber()); + obj.put("cycleCounter", record.getOperationCount()); + obj.put("startDate", record.getStartDate() == null?"":df.format(record.getStartDate())); + obj.put("sterilizerRecordId", record.getId()); + obj.put("sterilizationParaType", SterilizationRecord.STERILIZATIONPARATYPE_XINHUA_PDF); + obj.put("sterilizationRecordId", record.getSterilizationRecordId()); + result.add(obj); + } + return result; + } + /** * 获取通用型数据 * @param machineNumber 机器号 * @param startDate 查询范围的开始时间