|
|
|
@ -127,6 +127,10 @@ public class StatBean extends AbstractComponent {
|
|
|
|
|
|
|
|
|
|
statItem.setNumberValue(numberValues);
|
|
|
|
|
|
|
|
|
|
if(ifEmpty(statQuery.getRefListYn(), () -> "").equals("Y")) {
|
|
|
|
|
statItem.setRefList(listByKey);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
statItems.add(statItem);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -349,10 +353,14 @@ public class StatBean extends AbstractComponent {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** 통계의 일부 항목을 합쳐 새 범주로 묶는다.
|
|
|
|
|
* @param statItems 통계 항목 목록, regroupInfos 재그룹화 정보
|
|
|
|
|
* @param statItems 통계 항목 목록, statQuery 통계 요청
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public void regroupItem(List<StatItem> statItems, String[] regroupInfos) {
|
|
|
|
|
public void regroupItem(List<StatItem> statItems, StatQuery statQuery) {
|
|
|
|
|
|
|
|
|
|
String refListYn = statQuery.getRefListYn();
|
|
|
|
|
|
|
|
|
|
String[] regroupInfos = statQuery.getRegroupInfos();
|
|
|
|
|
|
|
|
|
|
for(int i=0; i < regroupInfos.length; i++) {
|
|
|
|
|
|
|
|
|
@ -365,9 +373,11 @@ public class StatBean extends AbstractComponent {
|
|
|
|
|
newItem.setItemName(new String[]{targetCodeName});
|
|
|
|
|
|
|
|
|
|
int[] numberValues = null;
|
|
|
|
|
List<DataObject> refList = new ArrayList<DataObject>();
|
|
|
|
|
|
|
|
|
|
for(StatItem statItem : statItems) {
|
|
|
|
|
if(Arrays.asList(sourceCodes).contains(statItem.getItemId()[0])) {
|
|
|
|
|
|
|
|
|
|
if(numberValues == null) {
|
|
|
|
|
numberValues = statItem.getNumberValue();
|
|
|
|
|
} else {
|
|
|
|
@ -375,11 +385,22 @@ public class StatBean extends AbstractComponent {
|
|
|
|
|
numberValues[j] += statItem.getNumberValue()[j];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(ifEmpty(refListYn, () -> "").equals("Y")
|
|
|
|
|
&& !ifEmpty(statItem.getRefList(), () -> "").equals("")
|
|
|
|
|
&& !statItem.getRefList().isEmpty()) {
|
|
|
|
|
refList.addAll(statItem.getRefList());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
newItem.setNumberValue(numberValues);
|
|
|
|
|
|
|
|
|
|
if(ifEmpty(refListYn, () -> "").equals("Y")) {
|
|
|
|
|
newItem.setRefList(refList);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
statItems.removeIf(item -> Arrays.asList(sourceCodes).contains(item.getItemId()[0]));
|
|
|
|
|
|
|
|
|
|
statItems.add(newItem);
|
|
|
|
|