comparison OrthancServer/ResourceFinder.cpp @ 1683:21d31da73374 db-changes

fix
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 06 Oct 2015 14:44:52 +0200
parents a903d57d9f0c
children 1ae29c5e52fb
comparison
equal deleted inserted replaced
1682:6414043df7d8 1683:21d31da73374
195 level_ == ResourceType_Patient) 195 level_ == ResourceType_Patient)
196 { 196 {
197 return; 197 return;
198 } 198 }
199 199
200 if (!query.HasMainDicomTagsFilter(level_)) 200 bool hasTagsAtThisLevel = query.HasMainDicomTagsFilter(level_);
201 bool hasTagsAtPatientLevel = (filterPatientTagsAtStudyLevel &&
202 level_ == ResourceType_Study &&
203 query.HasMainDicomTagsFilter(ResourceType_Patient));
204
205 if (!hasTagsAtThisLevel && !hasTagsAtPatientLevel)
201 { 206 {
202 return; 207 return;
203 } 208 }
204 209
205 std::list<std::string> resources; 210 std::list<std::string> resources;
210 215
211 for (std::list<std::string>::const_iterator 216 for (std::list<std::string>::const_iterator
212 it = resources.begin(); it != resources.end(); ++it) 217 it = resources.begin(); it != resources.end(); ++it)
213 { 218 {
214 DicomMap mainTags; 219 DicomMap mainTags;
215 if (!index_.GetMainDicomTags(mainTags, *it, level_, level_) || 220
216 !query.FilterMainDicomTags(*it, level_, mainTags)) 221 if (hasTagsAtThisLevel &&
222 (!index_.GetMainDicomTags(mainTags, *it, level_, level_) ||
223 !query.FilterMainDicomTags(*it, level_, mainTags)))
217 { 224 {
218 continue; 225 continue;
219 } 226 }
220 227
221 if (filterPatientTagsAtStudyLevel && 228 if (hasTagsAtPatientLevel &&
222 level_ == ResourceType_Study) 229 (!index_.GetMainDicomTags(mainTags, *it, ResourceType_Study, ResourceType_Patient) ||
223 { 230 !query.FilterMainDicomTags(*it, ResourceType_Patient, mainTags)))
224 if (!index_.GetMainDicomTags(mainTags, *it, ResourceType_Study, ResourceType_Patient) || 231 {
225 !query.FilterMainDicomTags(*it, ResourceType_Patient, mainTags)) 232 continue;
226 {
227 continue;
228 }
229 } 233 }
230 234
231 filtered_.insert(*it); 235 filtered_.insert(*it);
232 } 236 }
233 } 237 }