Index: ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/datasync/common/HIPMessageWebServiceImpl.java =================================================================== diff -u -r30099 -r30218 --- ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/datasync/common/HIPMessageWebServiceImpl.java (.../HIPMessageWebServiceImpl.java) (revision 30099) +++ ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/datasync/common/HIPMessageWebServiceImpl.java (.../HIPMessageWebServiceImpl.java) (revision 30218) @@ -27,6 +27,7 @@ import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseInstanceManager; import com.forgon.disinfectsystem.useRecord.service.UseRecordManager; import com.forgon.tools.hibernate.ObjectDao; +import com.forgon.tools.util.ConfigUtils; public class HIPMessageWebServiceImpl implements HIPMessageWebService { @@ -78,6 +79,11 @@ && !StringUtils.equals(TousseInstance.STATUS_SIGNED, tousseInstance.getStatus())){ throw new RuntimeException("患者消毒物料使用登记失败 :器械包条码为" + bd.getBarcode() + "的器械包为“" + tousseInstance.getStatus() + "”状态,请录入“已发货”或“已签收”的器械包"); } + if(StringUtils.isNotBlank(tousseInstance.getLocation2()) && !StringUtils.equals(tousseInstance.getLocation2(), useRecord.getDepartCoding())){ + throw new RuntimeException("患者消毒物料使用登记失败 :器械包条码为" + bd.getBarcode() + "的器械包所在科室为" + tousseInstance.getLocationForDisplay2()); + }else if(!StringUtils.equals(tousseInstance.getLocation(), useRecord.getDepartCoding())){ + throw new RuntimeException("患者消毒物料使用登记失败 :器械包条码为" + bd.getBarcode() + "的器械包所在科室为" + tousseInstance.getLocationForDisplay()); + } tiList.add(tousseInstance); } else { throw new RuntimeException(ti.getBarcode() + "不是器械包条码"); @@ -126,11 +132,6 @@ newUseRecord.setReviewTime(useRecord.getOperationTime()); newUseRecord.setApplicationTime(currentDate); newUseRecord.setOperationTime(useRecord.getOperationTime()); - // 使用记录转申请单 - useRecordManager.saveAndReviewAndConvertUseRecordForm_TRANS_REQUIRED( - newUseRecord, useRecord.getOperator(), null, useRecord.getDepartCoding(), - useRecord.getOperationTime(), InvoicePlan.TYPE_COMBO_FORM, - useRecord.getOperator(), useRecord.getOperator()); // 登记人 newUseRecord.setOperator(useRecord.getOperator()); // 审核人 @@ -148,6 +149,21 @@ tousseInstance.setUseTime(useRecord.getOperationTime()); } objectDao.batchSaveOrUpdate(tiList); + String useRecordAuditMode = ConfigUtils.getSystemSetConfigByName("useRecordAuditMode", ""); + if(StringUtils.equals(useRecordAuditMode, "3")){ + String applicationFormType = ConfigUtils.getSystemSetConfigByName("applicationFormType", ""); + String appType = InvoicePlan.TYPE_COMBO_FORM; + if(StringUtils.equals(applicationFormType, "2")){ + appType = InvoicePlan.TYPE_TOUSSE_APPLICATION_FORM; + } + // 使用记录转申请单 + useRecordManager.saveAndReviewAndConvertUseRecordForm_TRANS_REQUIRED( + newUseRecord, useRecord.getOperator(), useRecord.getDepart(), useRecord.getDepartCoding(), + useRecord.getOperationTime(), appType, + useRecord.getOperator(), useRecord.getOperator()); + }else{ + useRecordManager.saveUseRecord_TRANS_REQUIRED(newUseRecord); + } if (StringUtils.isNotBlank(messageId)) { typeCode = "AA"; returnStr = "患者消毒物料使用登记成功";