Index: ssts-web/src/main/webapp/disinfectsystem/useRecord/useRecordForm.js =================================================================== diff -u -r29013 -r29016 --- ssts-web/src/main/webapp/disinfectsystem/useRecord/useRecordForm.js (.../useRecordForm.js) (revision 29013) +++ ssts-web/src/main/webapp/disinfectsystem/useRecord/useRecordForm.js (.../useRecordForm.js) (revision 29016) @@ -1907,10 +1907,10 @@ }, { layout : 'form', columnWidth : 0.33, - hidden:!sstsConfig.enableUseRecordFormExtensionFields, + hidden : fromDepartmentUseRecord || !(sstsConfig.enableUseRecordFormExtensionFields && sstsConfig.enableUseRecordFormExtensionFields.contains('麻醉医生')), items : [{ xtype : 'textfield', - fieldLabel : sstsConfig.enableUseRecordFormExtensionFields ? sstsConfig.enableUseRecordFormExtensionFields[0] : '麻醉医生', + fieldLabel : '麻醉医生', maxLength : '16', id : 'anesthetist', name : 'anesthetist', @@ -1920,10 +1920,10 @@ }, { layout : 'form', columnWidth : 0.33, - hidden:!sstsConfig.enableUseRecordFormExtensionFields, + hidden : fromDepartmentUseRecord || !(sstsConfig.enableUseRecordFormExtensionFields && sstsConfig.enableUseRecordFormExtensionFields.contains('麻醉方式')), items : [{ xtype : 'textfield', - fieldLabel : sstsConfig.enableUseRecordFormExtensionFields ? sstsConfig.enableUseRecordFormExtensionFields[1] : '麻醉方式', + fieldLabel : '麻醉方式', maxLength : '16', id : 'anesthesiaMode', name : 'anesthesiaMode', Index: ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java =================================================================== diff -u -r28972 -r29016 --- ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 28972) +++ ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 29016) @@ -9847,7 +9847,11 @@ ExcelUtils.createStringCell(operatingRow1, nullCellStyle, sheetColumnSize++, "手术医生"); if(extensionFields != null && extensionFields.length > 0){ for (String field : extensionFields) { - ExcelUtils.createStringCell(operatingRow1, nullCellStyle, sheetColumnSize++, field); + if(StringUtils.equals(field, "麻醉医生")){ + ExcelUtils.createStringCell(operatingRow1, nullCellStyle, sheetColumnSize++, field); + }else if(StringUtils.equals(field, "麻醉方式")){ + ExcelUtils.createStringCell(operatingRow1, nullCellStyle, sheetColumnSize++, field); + } } } ExcelUtils.createStringCell(operatingRow1, nullCellStyle, sheetColumnSize++, "洗手护士"); @@ -9858,21 +9862,21 @@ ExcelUtils.createStringCell(operatingRow1, nullCellStyle, sheetColumnSize++, "备注"); row++; - Map> useRecordToTousseMap = new HashMap>(); + Map> useRecordToTousseMap = new HashMap>(); List useRecordIdList = new ArrayList(); for(int i=0;i toussList = objectDao.findByHql(hql); if(CollectionUtils.isNotEmpty(toussList)){ for (TousseInstance tousseInstance : toussList) { - Set tousseNameSet = useRecordToTousseMap.get(tousseInstance.getUseRecord_id()); - if(tousseNameSet == null){ - tousseNameSet = new LinkedHashSet(); + List tiList = useRecordToTousseMap.get(tousseInstance.getUseRecord_id()); + if(tiList == null){ + tiList = new ArrayList(); } - tousseNameSet.add(tousseInstance.getTousseName()); - useRecordToTousseMap.put(tousseInstance.getUseRecord_id(), tousseNameSet); + tiList.add(tousseInstance); + useRecordToTousseMap.put(tousseInstance.getUseRecord_id(), tiList); } } //填充数据 @@ -9892,20 +9896,41 @@ ExcelUtils.createStringCell(operatingRow, cellStyle, sheetColumnSize++, useRecord.getDoctorName()); if(extensionFields != null && extensionFields.length > 0){ - // 麻醉医生 - ExcelUtils.createStringCell(operatingRow, cellStyle, sheetColumnSize++, useRecord.getAnesthetist()); - // 麻醉方式 - ExcelUtils.createStringCell(operatingRow, cellStyle, sheetColumnSize++, useRecord.getAnesthesiaMode()); + for (String field : extensionFields) { + if(StringUtils.equals(field, "麻醉医生")){ + // 麻醉医生 + ExcelUtils.createStringCell(operatingRow, cellStyle, sheetColumnSize++, useRecord.getAnesthetist()); + }else if(StringUtils.equals(field, "麻醉方式")){ + // 麻醉方式 + ExcelUtils.createStringCell(operatingRow, cellStyle, sheetColumnSize++, useRecord.getAnesthesiaMode()); + } + } } ExcelUtils.createStringCell(operatingRow, cellStyle, sheetColumnSize++, useRecord.getWashHandNurse()); ExcelUtils.createStringCell(operatingRow, cellStyle, sheetColumnSize++, useRecord.getCircuitNurse()); // 使用的器械包 - Set tousseSet = useRecordToTousseMap.get(useRecord.getId()); + List tousseList = useRecordToTousseMap.get(useRecord.getId()); String tousseNames = ""; - if(CollectionUtils.isNotEmpty(tousseSet)){ - tousseNames = StringUtils.join(tousseSet, ","); + Map tousseAmountMap = new HashMap(); + if(CollectionUtils.isNotEmpty(tousseList)){ + for (TousseInstance tousseInstance : tousseList) { + Integer amount = tousseAmountMap.get(tousseInstance.getTousseName()); + if(amount == null){ + tousseAmountMap.put(tousseInstance.getTousseName(), 1); + }else{ + tousseAmountMap.put(tousseInstance.getTousseName(), amount + 1); + } + } } + if(!tousseAmountMap.isEmpty()){ + String[] array = new String[tousseAmountMap.size()]; + int index = 0; + for (String name : tousseAmountMap.keySet()) { + array[index++] = name + "*" + tousseAmountMap.get(name); + } + tousseNames = StringUtils.join(array, ","); + } ExcelUtils.createStringCell(operatingRow, cellStyle, sheetColumnSize++, tousseNames); ExcelUtils.createStringCell(operatingRow, cellStyle, sheetColumnSize++, useRecord.getOperationTimeStr()); ExcelUtils.createStringCell(operatingRow, cellStyle, sheetColumnSize++, useRecord.getRemark());