Index: ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java =================================================================== diff -u -r31013 -r31070 --- ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 31013) +++ ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 31070) @@ -149,6 +149,7 @@ import com.forgon.tools.json.DateJsonValueProcessor; import com.forgon.tools.json.JSONUtil; import com.forgon.tools.string.StringTools; +import com.forgon.tools.util.ConfigUtils; import com.forgon.tools.util.ForgonDateUtils; import com.forgon.tools.util.SqlUtils; @@ -9900,8 +9901,32 @@ try { UseRecord modified = WebSphereMQDao.useRecordQueue.take(); if (modified != null) { - saveAndReviewAndConvertUseRecordForm_TRANS_REQUIRED(modified, modified.getOperator(), - modified.getDepart(), modified.getDepartCoding(), modified.getEnteringDate(), CssdUtils.getSystemSetConfigByName("applicationFormType")); + objectDao.saveOrUpdate(modified); + List tiList = modified.getTousseInstanceList(); + //科室的默认仓库 + WareHouse warehouse = wareHouseManager.getDefaultWareHouseByUnitCode(modified.getDepartCoding()); + for (TousseInstance tousseInstance : tiList) { + tousseInstance.setUseRecord_id(modified.getId()); + //录入使用记录后,更新位置(此方法一定要放在tousseInstance.setUseRecord_id方法后面调用) + tousseInstance.resetLocationInfoAndWarehouseForUseRecord(modified,null,warehouse); + tousseInstance.setStatus(TousseInstance.STATUS_USED); + } + 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; + } + // 使用记录转申请单 + saveAndReviewAndConvertUseRecordForm_TRANS_REQUIRED( + modified, modified.getOperator(), modified.getDepart(), modified.getDepartCoding(), + modified.getOperationTime(), appType, + modified.getOperator(), modified.getOperator()); + }else{ + saveUseRecord_TRANS_REQUIRED(modified); + } } } catch (Exception e) { e.printStackTrace(); Index: ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/datasync/dysrmyy/HIPMessageWebServiceImpl.java =================================================================== diff -u -r30654 -r31070 --- ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/datasync/dysrmyy/HIPMessageWebServiceImpl.java (.../HIPMessageWebServiceImpl.java) (revision 30654) +++ ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/datasync/dysrmyy/HIPMessageWebServiceImpl.java (.../HIPMessageWebServiceImpl.java) (revision 31070) @@ -32,6 +32,7 @@ import com.forgon.disinfectsystem.useRecord.service.UseRecordManager; import com.forgon.tools.date.DateTools; import com.forgon.tools.hibernate.ObjectDao; +import com.forgon.tools.util.ConfigUtils; public class HIPMessageWebServiceImpl implements HIPMessageWebService { @@ -247,11 +248,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()); // 审核人 @@ -273,6 +269,23 @@ 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 = "患者消毒物料使用登记成功"; @@ -336,7 +349,7 @@ for (DiposableGoodsInstance disposableGoodsInstance : diposableGoodsInstanceList) { DisposableGoods diposableGoods = disposableGoodsInstance.getDiposableGoods(); String detailspec = diposableGoods.getSpecification() == null ? "" : diposableGoods.getSpecification(); - materialStr.append("" + disposableGoodsInstance.getDiposableGoodsId() + ""); + materialStr.append("" + diposableGoods.getId() + ""); materialStr.append("" + diposableGoods.getName() + ""); materialStr.append("" + detailspec + ""); materialStr.append("" + disposableGoodsInstance.getAmount() + ""); @@ -348,7 +361,7 @@ returnStrSB.append("" + tousseDefinition.getId() + ""); returnStrSB.append("" + tousseInstance.getTousseName() + ""); returnStrSB.append("" + tousseInstance.getSterileEndTime() + ""); - returnStrSB.append("" + tousseInstance.getValidUntilStr() + ""); + returnStrSB.append("" + (tousseInstance.getValidUntil() == null ? "" : DateTools.getFormatDateStr(tousseInstance.getValidUntil(), DateTools.COMMON_DATE_HMS)) + ""); if(StringUtils.isNotBlank(materialStr.toString())){ returnStrSB.append(materialStr.toString()); }else{ @@ -438,7 +451,7 @@ sterilizationstrSB.append("" + (tousseInstance.getSterilizationBasket() == null ? "" : tousseInstance.getSterilizationBasket()) + ""); sterilizationstrSB.append(""); sterilizationstrSB.append(""); - sterilizationstrSB.append("" + (tousseInstance.getValidUntilStr() == null ? "" : tousseInstance.getValidUntilStr()) + ""); + sterilizationstrSB.append("" + (tousseInstance.getValidUntil() == null ? "" : DateTools.getFormatDateStr(tousseInstance.getValidUntil(), DateTools.COMMON_DATE_HMS)) + ""); sterilizationstrSB.append(""); Invoice ip = tousseInstance.getInvoice(objectDao); Index: ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/datasync/qysfybjy/HIPMessageWebServiceImpl.java =================================================================== diff -u -r30654 -r31070 --- ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/datasync/qysfybjy/HIPMessageWebServiceImpl.java (.../HIPMessageWebServiceImpl.java) (revision 30654) +++ ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/datasync/qysfybjy/HIPMessageWebServiceImpl.java (.../HIPMessageWebServiceImpl.java) (revision 31070) @@ -11,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired; import com.forgon.directory.model.BarcodeDevice; +import com.forgon.directory.model.OrgUnit; import com.forgon.disinfectsystem.barcode.service.BarcodeManager; import com.forgon.disinfectsystem.basedatamanager.warehouse.service.WareHouseManager; import com.forgon.disinfectsystem.datasynchronization.dao.SyncDataFromHIPDao; @@ -29,6 +30,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 { @@ -109,7 +111,11 @@ newUseRecord.setPatientArea(patient.getPatientArea()); newUseRecord.setRoomNumber(patient.getRoomNumber()); newUseRecord.setBedNumber(patient.getBedNumber()); - newUseRecord.setDepart(patient.getAscriptionDepartment()); + List orgUnitList = objectDao.findByProperty(OrgUnit.class.getSimpleName(), "orgUnitCoding", useRecord.getDepartCoding()); + if(CollectionUtils.isNotEmpty(orgUnitList)){ + newUseRecord.setDepartCoding(orgUnitList.get(0).getOrgUnitCoding()); + newUseRecord.setDepart(orgUnitList.get(0).getName()); + } newUseRecord.setVisitId(patient.getVisitId()); newUseRecord.setWashHandNurse(patient.getWashHandNurse()); newUseRecord.setCircuitNurse(patient.getCircuitNurse()); @@ -124,11 +130,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()); // 审核人 @@ -150,6 +151,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 = "患者消毒物料使用登记成功";