Index: ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/importbasedata/service/ImportBasedataManagerImpl.java =================================================================== diff -u -r13770 -r13771 --- ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/importbasedata/service/ImportBasedataManagerImpl.java (.../ImportBasedataManagerImpl.java) (revision 13770) +++ ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/importbasedata/service/ImportBasedataManagerImpl.java (.../ImportBasedataManagerImpl.java) (revision 13771) @@ -59,6 +59,7 @@ import com.forgon.disinfectsystem.entity.basedatamanager.supplier.Supplier; import com.forgon.disinfectsystem.entity.basedatamanager.taskGroup.TaskGroup; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; +import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinitionMaterial; import com.forgon.disinfectsystem.entity.materialmanager.MaterialEntry; import com.forgon.disinfectsystem.entity.materialmanager.MaterialEntryItem; import com.forgon.disinfectsystem.exception.ImportDataException; @@ -1289,6 +1290,7 @@ TousseDefinition tousseDefinition = null; List materialInstanceList = null; List diposableGoodsInstanceList = null; + List tousseDefinitionMaterials = null; int tousseNameIndex = ExcelUtils.getColumnIndex(nameToIndexMap, "器械包名称"); int tousseTypeIndex = ExcelUtils.getColumnIndex(nameToIndexMap, "器械包类型"); @@ -1343,16 +1345,18 @@ tousseDefinition .setDiposableGoodsItems(diposableGoodsInstanceList); // 设置材料的顺序 - TousseDefinitionUtils.resetTousseDefinitionMaterialSequence(tousseDefinition); + TousseDefinitionUtils.resetTousseDefinitionMaterialSequence(tousseDefinitionMaterials); totalCount = saveOrUpdateAndClearCache(totalCount, tousseDefinition); successCount++; materialInstanceList = null; diposableGoodsInstanceList = null; + tousseDefinitionMaterials = null; tousseDefinition = null; } materialInstanceList = new ArrayList(); diposableGoodsInstanceList = new ArrayList(); + tousseDefinitionMaterials = new LinkedList(); tousseDefinition = new TousseDefinition(); // 器械包名称 tousseDefinition.setName(name); @@ -1524,7 +1528,7 @@ if (StringUtils.isNotBlank(materialDefinitionName)) { int errorCode = validateAndAddMaterialInstance(materialInstanceList, diposableGoodsInstanceList, materialDefinitionName, - materialDefinitionNumStr, specification,basketSerialNumber); + materialDefinitionNumStr, specification,basketSerialNumber,tousseDefinitionMaterials); if (errorCode != 0) { // 若在数据库中找不到该材料,或录入的数量有误或该材料已经存在列表中,则此时该器械包插入失败 failureCount = appendFailureRowNumAndRecordFailureNum( @@ -1737,7 +1741,7 @@ materialInstanceList, diposableGoodsInstanceList, materialDefinitionName, - materialDefinitionNumStr, specification,basketSerialNumber); + materialDefinitionNumStr, specification,basketSerialNumber,tousseDefinitionMaterials); if (errorCode != 0) { // 若在数据库中找不到该材料,或录入的数量有误或该材料已经存在列表中,则此时该器械包插入失败 failureCount = appendFailureRowNumAndRecordFailureNum( @@ -1763,7 +1767,7 @@ tousseDefinition.setMaterialInstances(materialInstanceList); tousseDefinition.setDiposableGoodsItems(diposableGoodsInstanceList); // 设置材料的顺序 - TousseDefinitionUtils.resetTousseDefinitionMaterialSequence(tousseDefinition); + TousseDefinitionUtils.resetTousseDefinitionMaterialSequence(tousseDefinitionMaterials); totalCount = saveOrUpdateAndClearCache(totalCount, tousseDefinition); tousseDefinition.setAncestorID(tousseDefinition.getId()); successCount++; @@ -1825,7 +1829,7 @@ List existingMaterialInstanceList, List existingDiposableGoodsInstanceList, String newMaterialDefinitionName, String newMaterialDefinitionNumStr, - String specification,Integer basketGroupNum) { + String specification,Integer basketGroupNum,List tousseDefinitionMaterials) { int materialDefinitionNum = 0; if (StringUtils.isNotBlank(newMaterialDefinitionNumStr)) { try { @@ -1855,6 +1859,7 @@ materialInstance.setMaterialName(newMaterialDefinitionName); // materialInstance.setTousse(tousseDefinition); existingMaterialInstanceList.add(materialInstance); + tousseDefinitionMaterials.add(materialInstance); return 0;// 添加成功 } else { // 或在材料中找不到对应名称的材料定义,则会从一次性物品里加载 @@ -1872,6 +1877,7 @@ diposableGoodsInstance.setAmount(materialDefinitionNum); diposableGoodsInstance.setDiposableGoods(disposableGoods); existingDiposableGoodsInstanceList.add(diposableGoodsInstance); + tousseDefinitionMaterials.add(diposableGoodsInstance); return 0;// 添加成功 } }