Index: forgon-tools/src/main/java/com/forgon/Constants.java =================================================================== diff -u -r25531 -r25655 --- forgon-tools/src/main/java/com/forgon/Constants.java (.../Constants.java) (revision 25531) +++ forgon-tools/src/main/java/com/forgon/Constants.java (.../Constants.java) (revision 25655) @@ -24,7 +24,7 @@ "4.5.9","4.6.0","4.6.1","4.6.2","4.6.3","4.6.4","4.6.5","4.6.6","4.6.7","4.6.8","4.6.9","4.7.0","4.7.1","4.7.2","4.7.3","4.7.4","4.7.5","4.7.6","4.7.7", "4.7.8","4.7.9","4.8.0","4.8.1","4.8.2","4.8.3","4.8.4","4.8.5","4.8.6","4.8.7","4.8.8","4.8.9","4.9.0","4.9.1","4.9.2","4.9.3","4.9.4","4.9.5","4.9.6", "4.9.7","4.9.8","4.9.9","4.9.10","4.9.11","4.9.12","4.9.13","4.9.14","4.9.15","4.9.16","4.9.17","4.9.18","4.9.19","4.9.20","4.9.21","4.9.22","4.9.23","4.9.24", - "4.9.25","4.9.26","4.9.27","4.9.28","4.9.29"}; + "4.9.25","4.9.26","4.9.27","4.9.28","4.9.29","4.9.30"}; // 版本列表(4.0版本升级4.1版需要分两步:先从4.0升到4.1.0、然后从4.1.0升级4.1最新版本) /*public final static String[] SOFTWARE_VERSION_ARRAY = new String[] { Index: ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java =================================================================== diff -u -r25611 -r25655 --- ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 25611) +++ ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 25655) @@ -387,6 +387,7 @@ } } tousseInstance.setUseRecord_id(null);// 清除关联关系,并没有把器械包删除 + tousseInstance.setOperationRoomName(null); tousseInstance.setPatientName(null); tousseInstance.setDoctorName(null); tousseInstance.setUseTime(null); @@ -1178,6 +1179,7 @@ if (tousseInstance != null) { // 移除器械包实例与使用记录的关联关系 tousseInstance.setUseRecord_id(null); + tousseInstance.setOperationRoomName(null); tousseInstance.setPatientName(null); tousseInstance.setDoctorName(null); tousseInstance.setUseTime(null); @@ -1222,6 +1224,11 @@ } // 设置器械包实例与使用记录的关联关系 tousseInstance.setUseRecord_id(useRecord.getId()); + //器械包信息的手术间设值为使用记录的手术间 (XJJQZYY-24 手术预约和器械包信息增加手术相关信息) + tousseInstance.setOperationRoomName(useRecord.getOperationRoom()); + tousseInstance.setPatientName(useRecord.getPatientName()); + tousseInstance.setDoctorName(useRecord.getDoctorName()); + tousseInstance.setUseTime(useRecord.getEnteringDate()); // 设置器械包实例“已使用”状态 tousseInstance.setStatus(TousseInstance.STATUS_USED); tousseInstance.setActualUsed(StringTools.defaultIfBlank(actualUsedMap.get(barcode), Constants.STR_YES)); @@ -1310,6 +1317,10 @@ throw new RuntimeException(modified.getOperationRoom() +"手术间、病人的使用记录未审核,不能登记新的使用记录"); } updateUseRecord_internal(original, modified); + recyclingApplicationManager.updateRecyclingStatus(modified.getId()); + //记录操作日志 + appLogManager.saveLog(AcegiHelper.getLoginUser(), Log.MODEL_USERECORD, "修改使用记录", + "id=" + modified.getId() + ",useRecord=" + modified.toString()); } @Override @@ -1319,6 +1330,10 @@ throw new RuntimeException(modified.getOperationRoom() +"手术间、病人的使用记录未审核,不能登记新的使用记录"); } this.updateUseRecord_internal(original, modified, true); + recyclingApplicationManager.updateRecyclingStatus(modified.getId()); + //记录操作日志 + appLogManager.saveLog(AcegiHelper.getLoginUser(), Log.MODEL_USERECORD, "干预修改使用记录", + "id=" + modified.getId() + ",useRecord=" + modified.toString()); } @Override @@ -1328,6 +1343,10 @@ throw new RuntimeException(modified.getOperationRoom() +"手术间、病人的使用记录未审核,不能登记新的使用记录"); } saveUseRecord_internal(modified); + recyclingApplicationManager.updateRecyclingStatus(modified.getId()); + //记录操作日志 + appLogManager.saveLog(AcegiHelper.getLoginUser(), Log.MODEL_USERECORD, "新增或修改使用记录", + "id=" + modified.getId() + ",useRecord=" + modified.toString()); } /** @@ -1756,6 +1775,7 @@ } // 移除器械包实例与使用记录的关联关系 tousseInstance.setUseRecord_id(null); + tousseInstance.setOperationRoomName(null); tousseInstance.setPatientName(null); tousseInstance.setDoctorName(null); tousseInstance.setUseTime(null); @@ -2234,6 +2254,8 @@ } // 设置器械包实例与使用记录的关联关系 tousseInstance.setUseRecord_id(useRecord.getId()); + //器械包信息的手术间设值为使用记录的手术间 (XJJQZYY-24 手术预约和器械包信息增加手术相关信息) + tousseInstance.setOperationRoomName(useRecord.getOperationRoom()); tousseInstance.setPatientName(useRecord.getPatientName()); tousseInstance.setDoctorName(useRecord.getDoctorName()); tousseInstance.setUseTime(useRecord.getEnteringDate()); @@ -4750,6 +4772,8 @@ objectDao.save(newUseRecord); for(TousseInstance t : tousseInstanceList){ t.setUseRecord_id(newUseRecord.getId()); + //器械包信息的手术间设值为使用记录的手术间 (XJJQZYY-24 手术预约和器械包信息增加手术相关信息) + t.setOperationRoomName(useRecord.getOperationRoom()); t.setPatientName(newUseRecord.getPatientName()); t.setDoctorName(newUseRecord.getDoctorName()); t.setUseTime(newUseRecord.getEnteringDate()); @@ -5251,6 +5275,8 @@ TousseInstance tousseInstance = tousseInstanceManager.getTousseInstanceByBarcode(barcode); if(tousseInstance != null){ tousseInstance.setUseRecord_id(useRecord.getId()); + //器械包信息的手术间设值为使用记录的手术间 (XJJQZYY-24 手术预约和器械包信息增加手术相关信息) + tousseInstance.setOperationRoomName(useRecord.getOperationRoom()); tousseInstance.setPatientName(useRecord.getPatientName()); tousseInstance.setDoctorName(useRecord.getDoctorName()); tousseInstance.setUseTime(useRecord.getEnteringDate()); @@ -5536,6 +5562,8 @@ TousseInstance tousseInstance = tousseInstanceManager.getTousseInstanceByBarcode(objectArray[4]); if(tousseInstance != null){ tousseInstance.setUseRecord_id(useRecord.getId()); + //器械包信息的手术间设值为使用记录的手术间 (XJJQZYY-24 手术预约和器械包信息增加手术相关信息) + tousseInstance.setOperationRoomName(useRecord.getOperationRoom()); tousseInstance.setPatientName(useRecord.getPatientName()); tousseInstance.setDoctorName(useRecord.getDoctorName()); tousseInstance.setUseTime(useRecord.getEnteringDate()); Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java =================================================================== diff -u -r25577 -r25655 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 25577) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 25655) @@ -5002,6 +5002,11 @@ tousseInstance.setInvoiceSender(sender); tousseInstance.setInvoiceSendTime(sendDate); } + + //如果申请单类型为手术预约申请单或外来器械申请单时,则将器械包信息的手术间设值为申请单的手术间 (XJJQZYY-24 手术预约和器械包信息增加手术相关信息) + if(invoicePlan.isOperationReservationApplication() || invoicePlan.isForeignTousseAppliaction()){ + tousseInstance.setOperationRoomName(invoicePlan.getOperationRoom()); + } // if(proxyDisinfection == null || !proxyDisinfection.resendout()){ // tousseInstance.setStatus(TousseInstance.STATUS_SHIPPED); Index: ssts-web/src/main/webapp/dataUpdater/sqls/4.9.29_4.9.30.sql =================================================================== diff -u --- ssts-web/src/main/webapp/dataUpdater/sqls/4.9.29_4.9.30.sql (revision 0) +++ ssts-web/src/main/webapp/dataUpdater/sqls/4.9.29_4.9.30.sql (revision 25655) @@ -0,0 +1,4 @@ +update TousseInstance set operationRoomName=(select OperationRoom from UseRecord where id=TousseInstance.useRecord_id) +where useRecord_id is not null; +update TousseInstance set operationRoomName=(select ip.operationRoom from Invoice i join invoicePlan ip on ip.id=i.invoicePlan_ID where i.id=TousseInstance.invoice_id) +where invoice_id is not null and useRecord_id is null; \ No newline at end of file