Changeset 5363
- Timestamp:
- 08/26/08 19:23:06 (3 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
openmrs/branches/data_synchronization_bidirectional/src/api/org/openmrs/reporting/export/ConceptColumn.java
r4907 r5363 15 15 16 16 import java.io.Serializable; 17 import java.util.List; 18 19 import org.openmrs.Concept; 17 20 18 import org.openmrs.api.APIException; 21 import org.openmrs.api.context.Context;22 19 23 20 public class ConceptColumn implements ExportColumn, Serializable { … … 48 45 } 49 46 50 p rivate String toSingleTemplateString(int conceptId){47 public String toTemplateString() { 51 48 String s = ""; 52 49 if (extras == null) … … 66 63 67 64 if (DataExportReportObject.MODIFIER_LAST_NUM.equals(modifier)) 68 s += "#set($obsValues = $fn.getLastNObsWithValues(" + num + ", '" + conceptId+ "', $arr))";65 s += "#set($obsValues = $fn.getLastNObsWithValues(" + num + ", '" + getConceptIdOrName() + "', $arr))"; 69 66 else if (DataExportReportObject.MODIFIER_FIRST_NUM.equals(modifier)) 70 s += "#set($obsValues = $fn.getFirstNObsWithValues(" + num + ", '" + conceptId+ "', $arr))";67 s += "#set($obsValues = $fn.getFirstNObsWithValues(" + num + ", '" + getConceptIdOrName() + "', $arr))"; 71 68 s += "#foreach($vals in $obsValues)"; 72 69 s += "#if($velocityCount > 1)"; … … 107 104 s += "])"; 108 105 109 function += "WithValues('" + conceptId+ "', $arr)";106 function += "WithValues('" + getConceptIdOrName() + "', $arr)"; 110 107 111 108 s += "#set($obsRow =" + function + ")"; … … 121 118 return s; 122 119 } 123 124 public String toTemplateString() {125 Concept concept = Context.getConceptService().getConcept(conceptId);126 String toReturn;127 128 if(!concept.isSet()){129 toReturn = toSingleTemplateString(concept.getConceptId());130 }else{131 List<Concept> setMembers = Context.getConceptService().getConceptsInSet(concept);132 toReturn = "";133 boolean firstMember = true;134 for(Concept setMember : setMembers){135 if(firstMember){136 toReturn+=toSingleTemplateString(setMember.getConceptId());137 firstMember=false;138 }else{139 toReturn+="$!{fn.getSeparator()}";140 toReturn+=toSingleTemplateString(setMember.getConceptId());141 }142 }143 }144 145 return toReturn;146 147 }148 120 149 121 public String getColumnType() { … … 159 131 } 160 132 161 p rivate String getTemplateSingleConceptColumnName(String conceptName){162 String s = "\"" + conceptName + "\"";163 s += getExtrasTemplateColumnNames( conceptName,false);133 public String getTemplateColumnName() { 134 String s = columnName; 135 s += getExtrasTemplateColumnNames(false); 164 136 165 137 if (DataExportReportObject.MODIFIER_LAST_NUM.equals(modifier) || … … 171 143 s += "#foreach($o in [1.." + (modifierNum - 1) +"]) "; 172 144 s += "$!{fn.getSeparator()}"; 173 s += "\""; 174 s += conceptName + "_($velocityCount)"; 175 s += "\""; 176 s += getExtrasTemplateColumnNames(conceptName, true); 145 s += columnName + "_($velocityCount)"; 146 s += getExtrasTemplateColumnNames(true); 177 147 s += "#end\n"; 178 148 } … … 181 151 } 182 152 183 public String getTemplateColumnName() { 184 Concept concept = Context.getConceptService().getConcept(conceptId); 185 String toReturn; 186 if(!concept.isSet()){ 187 toReturn = getTemplateSingleConceptColumnName(concept.getName().getName()); 188 }else{ 189 List<Concept> setMembers = Context.getConceptService().getConceptsInSet(concept); 190 toReturn = ""; 191 boolean firstMember = true; 192 for(Concept setMember : setMembers){ 193 if(firstMember){ 194 toReturn+=getTemplateSingleConceptColumnName(setMember.getName().getName()); 195 firstMember=false; 196 }else{ 197 toReturn+="$!{fn.getSeparator()}"; 198 toReturn+=getTemplateSingleConceptColumnName(setMember.getName().getName()); 199 } 200 } 201 } 202 203 return toReturn; 204 } 205 206 private String getExtrasTemplateColumnNames(String conceptName, boolean appendCount) { 153 private String getExtrasTemplateColumnNames(boolean appendCount) { 207 154 String s = ""; 208 155 if (extras != null) { 209 156 for (String ext : extras) { 210 157 s += "$!{fn.getSeparator()}"; 211 s += "\""; 212 s += conceptName + "_" + ext; 213 s += "\""; 158 s += columnName + "_" + ext; 214 159 if (appendCount) 215 160 s += "_($velocityCount)";