Index: ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java =================================================================== diff -u -r14412 -r14480 --- ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 14412) +++ ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 14480) @@ -931,6 +931,12 @@ boolean isSecondSupplyRoomNeedRecycle,Boolean isDgConvertApplication,Boolean isTousseDgMergeConvert, Map useRecordsMap, String applicant, String depart, String departCoding, String remark,String operationRoom,String patientName,Date applicationCreateDate,double dpf,String applicationFormType) { + String hospitalNumber = null; + List useRecordList = (List) useRecordsMap + .get("useRecordList"); + if(CollectionUtils.isNotEmpty(useRecordList) && useRecordList.size() == 1){ + hospitalNumber = useRecordList.get(0).getHospitalNum(); + } //器械包map,不区分处理科室为一级或二级供应室 Map applyTousseMap = (Map) useRecordsMap .get("applyTousseMap"); @@ -1003,28 +1009,28 @@ if(applyTousseMap.size() > 0){ //创建器械包申请单 recyclingApplicationManager.createRecyclingApplicationByTousse( - applyTousseMap,new HashMap(), applicant, depart, departCoding, remark, + applyTousseMap,new HashMap(), applicant, depart, departCoding, hospitalNumber, remark, tousseInstanceCodes,applicationCreateDate,operationRoom,dpf,InvoicePlan.TYPE_TOUSSE_APPLICATION_FORM, applyUrgentTousseMap); } if(isDgConvertApplication && applyDiposableGoodsMap.size() > 0){ //创建一次性物品申请单 recyclingApplicationManager.createRecyclingApplicationByTousse( - new HashMap(),applyDiposableGoodsMap, applicant, depart, departCoding, remark, + new HashMap(),applyDiposableGoodsMap, applicant, depart, departCoding, hospitalNumber, remark, tousseInstanceCodes,applicationCreateDate,operationRoom,dpf,InvoicePlan.TYPE_DIPOSABLE_GOODS_APPLICATION_FORM, applyUrgentTousseMap); } //如果一次性物品是否转换申请单为是,并且器械包一次性物品转换成申请单是否合并成一张单为否时 }else if(isDgConvertApplication && !isTousseDgMergeConvert){ if(applyTousseMap.size() > 0){ recyclingApplicationManager.createRecyclingApplicationByTousse( - applyTousseMap,new HashMap(), applicant, depart, departCoding, remark, + applyTousseMap,new HashMap(), applicant, depart, departCoding, hospitalNumber, remark, tousseInstanceCodes,applicationCreateDate,operationRoom,dpf,InvoicePlan.TYPE_TOUSSE_APPLICATION_FORM, applyUrgentTousseMap); } if(applyDiposableGoodsMap.size() > 0){ recyclingApplicationManager.createRecyclingApplicationByTousse( - new HashMap(),applyDiposableGoodsMap, applicant, depart, departCoding, remark, + new HashMap(),applyDiposableGoodsMap, applicant, depart, departCoding, hospitalNumber, remark, tousseInstanceCodes,applicationCreateDate,operationRoom,dpf,InvoicePlan.TYPE_DIPOSABLE_GOODS_APPLICATION_FORM, applyUrgentTousseMap); } @@ -1035,7 +1041,7 @@ } //改为不管科室供应室配置定义是否自动合并,都将重新创建新的申请单 recyclingApplicationManager.createRecyclingApplicationByTousse( - applyTousseMap,applyDiposableGoodsMap, applicant, depart, departCoding, remark, + applyTousseMap,applyDiposableGoodsMap, applicant, depart, departCoding, hospitalNumber, remark, tousseInstanceCodes,applicationCreateDate,operationRoom,dpf,InvoicePlan.TYPE_COMBO_FORM, applyUrgentTousseMap); } @@ -1370,8 +1376,14 @@ remark.append(hospitalNum); }else{ List remarks = new ArrayList(); - if(washHandNurseSet.size() > 0){ - remarks.add("洗手护士:" + StringUtils.join(washHandNurseSet, ",")); + /** + * 与海龙沟通后,中山眼科中心(如果升4.1后)的洗手护士不放到使用记录转申请单的备注里 + */ + if(!"zsykzx".equalsIgnoreCase(projectName)){ + if(washHandNurseSet.size() > 0){ + remark.append("洗手护士:"); + remark.append(StringUtils.join(washHandNurseSet, ",")).append(";"); + } } if(circuitNurseSet.size() > 0){ remarks.add("巡回护士:" + StringUtils.join(circuitNurseSet, ",")); @@ -1406,20 +1418,22 @@ boolean canBeMerge = false; Collection allTousseInstanceList = CollectionUtils.emptyCollection(); Collection patientNames = new ArrayList(); + Collection circuitNurses = new ArrayList(); UseRecord useRecord = null; String[] ids = StringUtils.split(userRecordIds, ';'); for (String id : ids) { useRecord = getUseRecordById(id); useRecord.setOperator(applicant); useRecord.setStatus(UseRecord.STATUS_APPLIED); saveOrUpdate(useRecord); + circuitNurses.add("巡回护士:" + useRecord.getCircuitNurse()); patientNames.add("病人:" + useRecord.getPatientName()); List tousseInstanceList = tousseInstanceManager .findTousseInstanceListByUseRecordId(Long.valueOf(id)); allTousseInstanceList = CollectionUtils.union(allTousseInstanceList, tousseInstanceList); } - String remark = StringUtils.join(patientNames, ';'); + String remark = StringUtils.join(circuitNurses, ';') + " " + StringUtils.join(patientNames, ';'); Collection applicationList = recyclingApplicationManager .createRecyclingApplicationByTousse(applicant, depart, departCoding, remark, canBeMerge, @@ -1885,6 +1899,13 @@ patientInfo.setRoomNumber(patientArray[12]); patientInfo.setBedNumber(patientArray[13]); patientInfo.setAscriptionDepartment(depart); + + /** + * 病人vo类增加洗手护士、巡回护士、特殊感染类型 + */ + patientInfo.setWashHandNurse(patientArray[15]); + patientInfo.setCircuitNurse(patientArray[16]); + patientInfo.setSpecialInfection(patientArray[17]); patientInfo.setType(patientNumber.equals(patientInfo.getHospitalNumber()) ? PatientInfoVO.TYPE_HOSPITAL : PatientInfoVO.TYPE_CLINIC); departCoding = orgUnit.getOrgUnitCoding(); @@ -1949,6 +1970,21 @@ if(StringUtils.isNotBlank(patientInfo.getBedNumber())){ useRecord.setBedNumber(patientInfo.getBedNumber()); } + + // 洗手护士 + if(StringUtils.isNotBlank(patientInfo.getWashHandNurse())){ + useRecord.setWashHandNurse(patientInfo.getWashHandNurse()); + } + + // 巡回护士 + if(StringUtils.isNotBlank(patientInfo.getCircuitNurse())){ + useRecord.setCircuitNurse(patientInfo.getCircuitNurse()); + } + + // 特殊感染类型 + if(StringUtils.isNotBlank(patientInfo.getSpecialInfection())){ + useRecord.setSpecialInfection(patientInfo.getSpecialInfection()); + } saveOrUpdate(useRecord); idList.add(useRecord.getId()); Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java =================================================================== diff -u -r14443 -r14480 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 14443) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 14480) @@ -1118,13 +1118,17 @@ for (Entry entry : tousseNameAndAmount.entrySet()) { TousseItem tousseItem = new TousseItem(); - String tousseName = entry.getKey(); + String tousseDefinitionIdAndName = entry.getKey(); + String[] tousseDefinitionIdAndNameArray = tousseDefinitionIdAndName.split("_"); + tousseItem.setTousseDefinitionId(Long.parseLong(tousseDefinitionIdAndNameArray[0])); + String tousseName = tousseDefinitionIdAndNameArray[1]; tousseItem.setTousseName(tousseName); tousseItem.setAmount(0); tousseItem.setEditAmount(entry.getValue()); tousseItem.setInvoicePlan(recyclingApplication); tousseItem.setDiposable(TousseItem.DIPOSABLE_NO); - TousseDefinition td = tousseDefinitionManager.getTousseDefinitionByName(tousseName); +// TousseDefinition td = tousseDefinitionManager.getTousseDefinitionByName(tousseName); + TousseDefinition td = tousseDefinitionManager.getTousseDefinitionById(tousseItem.getTousseDefinitionId()); if (td != null){ tousseItem.setTousseType(td.getTousseType()); tousseItem.setTousseDefinitionId(td.getId()); @@ -3119,7 +3123,7 @@ @Override public void createRecyclingApplicationByTousse( Map tousseNameAndAmountMap,Map diposableGoodMap, String applicant, - String depart, String departCoding, String remark, + String depart, String departCoding, String hospitalNumber, String remark, List tousseInstanceCodes,Date applicationCreateDate,String operationRoom,double dpf,String invoicePlanType, Map applyUrgentTousseMap) { if (tousseNameAndAmountMap.size() > 0 || diposableGoodMap.size() > 0) { @@ -3136,7 +3140,7 @@ if(CollectionUtils.isNotEmpty(tousseItemList)){ for(TousseItem ti : tousseItemList){ if(TousseDefinition.PACKAGE_TYPE_INSIDE.equals(ti.getTousseType())){ - newTousseNameAndAmountMap.put(ti.getTousseName(), ti.getAmount()); + newTousseNameAndAmountMap.put(ti.getTousseDefinitionId() + "_" + ti.getTousseName(), ti.getAmount()); }else if(TousseItem.TYPE_DIPOSABLE_GOODS.equals(ti.getTousseType())){ newDiposableGoodMap.put(ti.getTousseName(), ti.getAmount()); } @@ -3160,6 +3164,7 @@ recyclingApplication.setSerialNumber(serialNumManager .getSerialNumberStr(SerialNum.TYPE_RECYCLINGAPPLICATION)); recyclingApplication.setApplicationTime(applicationCreateDate); + recyclingApplication.setHospitalNumber(hospitalNumber); if (remark != null && StringUtils.isNotBlank(remark)) { recyclingApplication.setRemark(remark); } Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManager.java =================================================================== diff -u -r14440 -r14480 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManager.java (.../RecyclingApplicationManager.java) (revision 14440) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManager.java (.../RecyclingApplicationManager.java) (revision 14480) @@ -68,7 +68,7 @@ public void createRecyclingApplicationByTousse( Map applyTousseMap, Map diposableGoodMap, String applicant, - String depart, String departCoding, String remark, + String depart, String departCoding, String hospitalNumber, String remark, List tousseInstanceIds, Date applicationDate, String operationRoom,double dpf,String invoicePlanType, Map applyUrgentTousseMap);