Mercurial > hg > orthanc
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 } |