Index: .idea/sonarIssues.xml =================================================================== diff -u -rebfd6b16985812e1e1f06acc305f4086e5b91657 -r3386bbd5910f2add2a7bc34bd560c98d5b3e3baf --- .idea/sonarIssues.xml (.../sonarIssues.xml) (revision ebfd6b16985812e1e1f06acc305f4086e5b91657) +++ .idea/sonarIssues.xml (.../sonarIssues.xml) (revision 3386bbd5910f2add2a7bc34bd560c98d5b3e3baf) @@ -923,6 +923,11 @@ + + + + + @@ -943,6 +948,11 @@ + + + + + Index: standard/project/web/script/ddl/oracle/egovframework/api/rivalWar/compareSpec/CompareSpec_DDL_Oracle.sql =================================================================== diff -u --- standard/project/web/script/ddl/oracle/egovframework/api/rivalWar/compareSpec/CompareSpec_DDL_Oracle.sql (revision 0) +++ standard/project/web/script/ddl/oracle/egovframework/api/rivalWar/compareSpec/CompareSpec_DDL_Oracle.sql (revision 3386bbd5910f2add2a7bc34bd560c98d5b3e3baf) @@ -0,0 +1,337 @@ +/* + * JsTree 추적 로그 테이블 + * 트리거 Log를 저장합니다. + */ +CREATE TABLE T_JSTREE_COMPARE_SPEC_LOG +( + C_ID NUMBER NOT NULL, + C_PARENTID NUMBER NOT NULL, + C_POSITION NUMBER NOT NULL, + C_LEFT NUMBER NOT NULL, + C_RIGHT NUMBER NOT NULL, + C_LEVEL NUMBER NOT NULL, + C_TITLE VARCHAR2(4000 BYTE), + C_TYPE VARCHAR2(4000 BYTE), + C_METHOD VARCHAR2(4000 BYTE), + C_STATE VARCHAR2(4000 BYTE), + C_DATE DATE NOT NULL +); + +COMMENT ON TABLE T_JSTREE_COMPARE_SPEC_LOG IS '기본 트리 스키마 트리거 로그'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC_LOG.C_ID IS '노드 아이디'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC_LOG.C_PARENTID IS '부모 노드 아이디'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC_LOG.C_POSITION IS '노드 포지션'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC_LOG.C_LEFT IS '노드 좌측 끝 포인트'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC_LOG.C_RIGHT IS '노드 우측 끝 포인트'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC_LOG.C_LEVEL IS '노드 DEPTH '; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC_LOG.C_TITLE IS '노드 명'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC_LOG.C_TYPE IS '노드 타입'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC_LOG.C_METHOD IS '노드 변경 행위'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC_LOG.C_STATE IS '노드 상태값 ( 이전인지. 이후인지)'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC_LOG.C_DATE IS '노드 변경 시'; + +/* + * JsTree + */ +CREATE TABLE T_JSTREE_COMPARE_SPEC +( + C_ID NUMBER NOT NULL, + C_PARENTID NUMBER NOT NULL, + C_POSITION NUMBER NOT NULL, + C_LEFT NUMBER NOT NULL, + C_RIGHT NUMBER NOT NULL, + C_LEVEL NUMBER NOT NULL, + C_TITLE VARCHAR2(4000 BYTE), + C_TYPE VARCHAR2(4000 BYTE), + + CAL_TIME VARCHAR2(4000 BYTE), + + TOP_SPEC_NAME VARCHAR2(4000 BYTE), + + TOP_SPEC1_TITLE VARCHAR2(4000 BYTE), + TOP_SPEC1_AMOUNT NUMBER, + TOP_SPEC1_PERCENT NUMBER, + TOP_SPEC1_TREND NUMBER, + TOP_SPEC1_GRAPH NUMBER, + + TOP_SPEC2_TITLE VARCHAR2(4000 BYTE), + TOP_SPEC2_AMOUNT NUMBER, + TOP_SPEC2_PERCENT NUMBER, + TOP_SPEC2_TREND NUMBER, + TOP_SPEC2_GRAPH NUMBER, + + TOP_SPEC3_TITLE VARCHAR2(4000 BYTE), + TOP_SPEC3_AMOUNT NUMBER, + TOP_SPEC3_PERCENT NUMBER, + TOP_SPEC3_TREND NUMBER, + TOP_SPEC3_GRAPH NUMBER, + + TOP_SPEC4_TITLE VARCHAR2(4000 BYTE), + TOP_SPEC4_AMOUNT NUMBER, + TOP_SPEC4_PERCENT NUMBER, + TOP_SPEC4_TREND NUMBER, + TOP_SPEC4_GRAPH NUMBER, + + TOP_SPEC5_TITLE VARCHAR2(4000 BYTE), + TOP_SPEC5_AMOUNT NUMBER, + TOP_SPEC5_PERCENT NUMBER, + TOP_SPEC5_TREND NUMBER, + TOP_SPEC5_GRAPH NUMBER, + + + MID_SPEC_NAME VARCHAR2(4000 BYTE), + + MID_SPEC1_TITLE VARCHAR2(4000 BYTE), + MID_SPEC1_AMOUNT NUMBER, + MID_SPEC1_PERCENT NUMBER, + MID_SPEC1_TREND NUMBER, + MID_SPEC1_GRAPH NUMBER, + + MID_SPEC2_TITLE VARCHAR2(4000 BYTE), + MID_SPEC2_AMOUNT NUMBER, + MID_SPEC2_PERCENT NUMBER, + MID_SPEC2_TREND NUMBER, + MID_SPEC2_GRAPH NUMBER, + + MID_SPEC3_TITLE VARCHAR2(4000 BYTE), + MID_SPEC3_AMOUNT NUMBER, + MID_SPEC3_PERCENT NUMBER, + MID_SPEC3_TREND NUMBER, + MID_SPEC3_GRAPH NUMBER, + + MID_SPEC4_TITLE VARCHAR2(4000 BYTE), + MID_SPEC4_AMOUNT NUMBER, + MID_SPEC4_PERCENT NUMBER, + MID_SPEC4_TREND NUMBER, + MID_SPEC4_GRAPH NUMBER, + + MID_SPEC5_TITLE VARCHAR2(4000 BYTE), + MID_SPEC5_AMOUNT NUMBER, + MID_SPEC5_PERCENT NUMBER, + MID_SPEC5_TREND NUMBER, + MID_SPEC5_GRAPH NUMBER, + + + BOT_SPEC_NAME VARCHAR2(4000 BYTE), + + BOT_SPEC1_TITLE VARCHAR2(4000 BYTE), + BOT_SPEC1_AMOUNT NUMBER, + BOT_SPEC1_PERCENT NUMBER, + BOT_SPEC1_TREND NUMBER, + BOT_SPEC1_GRAPH NUMBER, + + BOT_SPEC2_TITLE VARCHAR2(4000 BYTE), + BOT_SPEC2_AMOUNT NUMBER, + BOT_SPEC2_PERCENT NUMBER, + BOT_SPEC2_TREND NUMBER, + BOT_SPEC2_GRAPH NUMBER, + + BOT_SPEC3_TITLE VARCHAR2(4000 BYTE), + BOT_SPEC3_AMOUNT NUMBER, + BOT_SPEC3_PERCENT NUMBER, + BOT_SPEC3_TREND NUMBER, + BOT_SPEC3_GRAPH NUMBER, + + BOT_SPEC4_TITLE VARCHAR2(4000 BYTE), + BOT_SPEC4_AMOUNT NUMBER, + BOT_SPEC4_PERCENT NUMBER, + BOT_SPEC4_TREND NUMBER, + BOT_SPEC4_GRAPH NUMBER, + + BOT_SPEC5_TITLE VARCHAR2(4000 BYTE), + BOT_SPEC5_AMOUNT NUMBER, + BOT_SPEC5_PERCENT NUMBER, + BOT_SPEC5_TREND NUMBER, + BOT_SPEC5_GRAPH NUMBER, + + CONSTRAINT T_JSTREE_COMPARE_SPEC_PK PRIMARY KEY (C_ID) + /* + * CONSTRAINT T_JSTREE_COMPARE_SPEC_FK1 FOREIGN KEY (OTHER_ID) REFERENCES OTHER T_JSTREE_COMPARE_SPEC(C_ID) ON DELETE CASCADE + */ +); + +COMMENT ON TABLE T_JSTREE_COMPARE_SPEC IS '기본 트리 스키마'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.C_ID IS '노드 아이디'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.C_PARENTID IS '부모 노드 아이디'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.C_POSITION IS '노드 포지션'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.C_LEFT IS '노드 좌측 끝 포인트'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.C_RIGHT IS '노드 우측 끝 포인트'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.C_LEVEL IS '노드 DEPTH '; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.C_TITLE IS '노드 명'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.C_TYPE IS '노드 타입'; + +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.CAL_TIME IS '누적 집계 시간'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.TOP_SPEC_NAME IS '상위 명'; + +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.TOP_SPEC1_TITLE IS '상위 스펙 1 이름'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.TOP_SPEC1_AMOUNT IS '상위 스펙 1 개수'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.TOP_SPEC1_PERCENT IS '상위 스펙 1 점유율'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.TOP_SPEC1_TREND IS '상위 스펙 1 변화량'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.TOP_SPEC1_GRAPH IS '상위 스펙 1 그래프'; + +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.TOP_SPEC2_TITLE IS '상위 스펙 2 이름'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.TOP_SPEC2_AMOUNT IS '상위 스펙 2 개수'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.TOP_SPEC2_PERCENT IS '상위 스펙 2 점유율'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.TOP_SPEC2_TREND IS '상위 스펙 2 변화량'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.TOP_SPEC2_GRAPH IS '상위 스펙 2 그래프'; + +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.TOP_SPEC3_TITLE IS '상위 스펙 3 이름'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.TOP_SPEC3_AMOUNT IS '상위 스펙 3 개수'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.TOP_SPEC3_PERCENT IS '상위 스펙 3 점유율'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.TOP_SPEC3_TREND IS '상위 스펙 3 변화량'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.TOP_SPEC3_GRAPH IS '상위 스펙 3 그래프'; + +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.TOP_SPEC4_TITLE IS '상위 스펙 4 이름'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.TOP_SPEC4_AMOUNT IS '상위 스펙 4 개수'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.TOP_SPEC4_PERCENT IS '상위 스펙 4 점유율'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.TOP_SPEC4_TREND IS '상위 스펙 4 변화량'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.TOP_SPEC4_GRAPH IS '상위 스펙 4 그래프'; + +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.TOP_SPEC5_TITLE IS '상위 스펙 5 이름'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.TOP_SPEC5_AMOUNT IS '상위 스펙 5 개수'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.TOP_SPEC5_PERCENT IS '상위 스펙 5 점유율'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.TOP_SPEC5_TREND IS '상위 스펙 5 변화량'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.TOP_SPEC5_GRAPH IS '상위 스펙 5 그래프'; + + +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.MID_SPEC_NAME IS '중위 명'; + +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.MID_SPEC1_TITLE IS '중위 스펙 1 이름'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.MID_SPEC1_AMOUNT IS '중위 스펙 1 개수'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.MID_SPEC1_PERCENT IS '중위 스펙 1 점유율'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.MID_SPEC1_TREND IS '중위 스펙 1 변화량'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.MID_SPEC1_GRAPH IS '중위 스펙 1 그래프'; + +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.MID_SPEC2_TITLE IS '중위 스펙 2 이름'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.MID_SPEC2_AMOUNT IS '중위 스펙 2 개수'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.MID_SPEC2_PERCENT IS '중위 스펙 2 점유율'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.MID_SPEC2_TREND IS '중위 스펙 2 변화량'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.MID_SPEC2_GRAPH IS '중위 스펙 2 그래프'; + +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.MID_SPEC3_TITLE IS '중위 스펙 3 이름'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.MID_SPEC3_AMOUNT IS '중위 스펙 3 개수'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.MID_SPEC3_PERCENT IS '중위 스펙 3 점유율'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.MID_SPEC3_TREND IS '중위 스펙 3 변화량'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.MID_SPEC3_GRAPH IS '중위 스펙 3 그래프'; + +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.MID_SPEC4_TITLE IS '중위 스펙 4 이름'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.MID_SPEC4_AMOUNT IS '중위 스펙 4 개수'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.MID_SPEC4_PERCENT IS '중위 스펙 4 점유율'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.MID_SPEC4_TREND IS '중위 스펙 4 변화량'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.MID_SPEC4_GRAPH IS '중위 스펙 4 그래프'; + +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.MID_SPEC5_TITLE IS '중위 스펙 5 이름'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.MID_SPEC5_AMOUNT IS '중위 스펙 5 개수'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.MID_SPEC5_PERCENT IS '중위 스펙 5 점유율'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.MID_SPEC5_TREND IS '중위 스펙 5 변화량'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.MID_SPEC5_GRAPH IS '중위 스펙 5 그래프'; + + +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.BOT_SPEC_NAME IS '하위 명 '; + +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.BOT_SPEC1_TITLE IS '하위 스펙 1 이름'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.BOT_SPEC1_AMOUNT IS '하위 스펙 1 개수'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.BOT_SPEC1_PERCENT IS '하위 스펙 1 점유율'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.BOT_SPEC1_TREND IS '하위 스펙 1 변화량'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.BOT_SPEC1_GRAPH IS '하위 스펙 1 그래프'; + +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.BOT_SPEC2_TITLE IS '하위 스펙 2 이름'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.BOT_SPEC2_AMOUNT IS '하위 스펙 2 개수'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.BOT_SPEC2_PERCENT IS '하위 스펙 2 점유율'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.BOT_SPEC2_TREND IS '하위 스펙 2 변화량'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.BOT_SPEC2_GRAPH IS '하위 스펙 2 그래프'; + +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.BOT_SPEC3_TITLE IS '하위 스펙 3 이름'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.BOT_SPEC3_AMOUNT IS '하위 스펙 3 개수'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.BOT_SPEC3_PERCENT IS '하위 스펙 3 점유율'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.BOT_SPEC3_TREND IS '하위 스펙 3 변화량'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.BOT_SPEC3_GRAPH IS '하위 스펙 3 그래프'; + +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.BOT_SPEC4_TITLE IS '하위 스펙 4 이름'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.BOT_SPEC4_AMOUNT IS '하위 스펙 4 개수'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.BOT_SPEC4_PERCENT IS '하위 스펙 4 점유율'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.BOT_SPEC4_TREND IS '하위 스펙 4 변화량'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.BOT_SPEC4_GRAPH IS '하위 스펙 4 그래프'; + +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.BOT_SPEC5_TITLE IS '하위 스펙 5 이름'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.BOT_SPEC5_AMOUNT IS '하위 스펙 5 개수'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.BOT_SPEC5_PERCENT IS '하위 스펙 5 점유율'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.BOT_SPEC5_TREND IS '하위 스펙 5 변화량'; +COMMENT ON COLUMN T_JSTREE_COMPARE_SPEC.BOT_SPEC5_GRAPH IS '하위 스펙 5 그래프'; + +/* + * 인덱스는 되도록 걸지 말것. + * CREATE UNIQUE INDEX I_COMPREHENSIVETREE ON T_JSTREE_COMPARE_SPEC + * ("C_ID" ASC) + * DROP SEQUENCE S_JSTREE_COMPARE_SPEC; + */ + + +CREATE SEQUENCE S_JSTREE_COMPARE_SPEC + START WITH 10 + MAXVALUE 999999999999999999999999999 + MINVALUE 0 + NOCYCLE + CACHE 20 + NOORDER; + +/* + * JsTree 트리거 + */ +CREATE OR REPLACE TRIGGER "TG_JSTREE_COMPARE_SPEC" +BEFORE DELETE OR INSERT OR UPDATE +ON T_JSTREE_COMPARE_SPEC +REFERENCING NEW AS NEW OLD AS OLD +FOR EACH ROW +DECLARE +tmpVar NUMBER; +/****************************************************************************** + NAME: TRIGGER_COMPREHENSIVETREE + PURPOSE: + + REVISIONS: + Ver Date Author Description + --------- ---------- --------------- ------------------------------------ + 1.0 2012-08-29 1. Created this trigger. + + NOTES: + + Automatically available Auto Replace Keywords: + Object Name: TRIGGER_COMPREHENSIVETREE + Sysdate: 2012-08-29 + Date and Time: 2012-08-29, 오후 5:26:44, and 2012-08-29 오후 5:26:44 + Username: (set in TOAD Options, Proc Templates) + Table Name: T_JSTREE_COMPARE_SPEC (set in the "New PL/SQL Object" dialog) + Trigger Options: (set in the "New PL/SQL Object" dialog) +******************************************************************************/ +BEGIN + tmpVar := 0; + IF UPDATING THEN + insert into T_JSTREE_COMPARE_SPEC_LOG + values (:old.C_ID,:old.C_PARENTID,:old.C_POSITION,:old.C_LEFT,:old.C_RIGHT,:old.C_LEVEL,:old.C_TITLE,:old.C_TYPE,'update','변경이전데이터',sysdate); + insert into T_JSTREE_COMPARE_SPEC_LOG + values (:new.C_ID,:new.C_PARENTID,:new.C_POSITION,:new.C_LEFT,:new.C_RIGHT,:new.C_LEVEL,:new.C_TITLE,:new.C_TYPE,'update','변경이후데이터',sysdate); + END IF; + IF DELETING THEN + insert into T_JSTREE_COMPARE_SPEC_LOG + values (:old.C_ID,:old.C_PARENTID,:old.C_POSITION,:old.C_LEFT,:old.C_RIGHT,:old.C_LEVEL,:old.C_TITLE,:old.C_TYPE,'delete','삭제된데이터',sysdate); + END IF; + IF INSERTING THEN + insert into T_JSTREE_COMPARE_SPEC_LOG + values (:new.C_ID,:new.C_PARENTID,:new.C_POSITION,:new.C_LEFT,:new.C_RIGHT,:new.C_LEVEL,:new.C_TITLE,:new.C_TYPE,'insert','삽입된데이터',sysdate); + END IF; + + EXCEPTION + WHEN OTHERS THEN + -- Consider logging the error and then re-raise + RAISE; +END TG_JSTREE_COMPARE_SPEC; + +/** +PK - FK +**/ +ALTER TABLE T_JSTREE_MENU ADD( + CONSTRAINT T_JSTREE_MENU_FK_CS + FOREIGN KEY (COMPARE_SPEC_ID) + REFERENCES T_JSTREE_COMPARE_SPEC (C_ID)); +/ \ No newline at end of file Index: standard/project/web/script/ddl/oracle/egovframework/api/rivalWar/menu/Menu_DDL_Oracle.sql =================================================================== diff -u -r7e22b1924690824a27bb65043fd111a7861c35d3 -r3386bbd5910f2add2a7bc34bd560c98d5b3e3baf --- standard/project/web/script/ddl/oracle/egovframework/api/rivalWar/menu/Menu_DDL_Oracle.sql (.../Menu_DDL_Oracle.sql) (revision 7e22b1924690824a27bb65043fd111a7861c35d3) +++ standard/project/web/script/ddl/oracle/egovframework/api/rivalWar/menu/Menu_DDL_Oracle.sql (.../Menu_DDL_Oracle.sql) (revision 3386bbd5910f2add2a7bc34bd560c98d5b3e3baf) @@ -48,6 +48,7 @@ C_VOTE_END_DATE VARCHAR2(4000 BYTE), AGGREGATE_RESULT_ID NUMBER, COMPARE_INFO_ID NUMBER, + COMPARE_SPEC_ID NUMBER, CONSTRAINT T_JSTREE_MENU_PK PRIMARY KEY (C_ID) /* * CONSTRAINT T_JSTREE_MENU_FK1 FOREIGN KEY (OTHER_ID) REFERENCES OTHER T_JSTREE_MENU(C_ID) ON DELETE CASCADE @@ -68,6 +69,7 @@ COMMENT ON COLUMN T_JSTREE_MENU.C_VOTE_END_DATE IS '비교토론 종료일'; COMMENT ON COLUMN T_JSTREE_MENU.AGGREGATE_RESULT_ID IS '누적집계 결과 아이디'; COMMENT ON COLUMN T_JSTREE_MENU.COMPARE_INFO_ID IS '비교 현황 정보 아이디'; +COMMENT ON COLUMN T_JSTREE_MENU.COMPARE_SPEC_ID IS '비교 스펙 정보 아이디'; /* * 인덱스는 되도록 걸지 말것. * CREATE UNIQUE INDEX I_COMPREHENSIVETREE ON T_JSTREE_MENU Index: standard/project/web/script/dml/oracle/egovframework/api/rivalWar/compareSpec/CompareSpec_Data_Script_Oracle.sql =================================================================== diff -u --- standard/project/web/script/dml/oracle/egovframework/api/rivalWar/compareSpec/CompareSpec_Data_Script_Oracle.sql (revision 0) +++ standard/project/web/script/dml/oracle/egovframework/api/rivalWar/compareSpec/CompareSpec_Data_Script_Oracle.sql (revision 3386bbd5910f2add2a7bc34bd560c98d5b3e3baf) @@ -0,0 +1,197 @@ +Insert into T_JSTREE_COMPARE_SPEC + ( C_ID, C_PARENTID, C_POSITION, C_LEFT, C_RIGHT, C_LEVEL, C_TITLE, C_TYPE, CAL_TIME, + + TOP_SPEC_NAME, + TOP_SPEC1_TITLE, TOP_SPEC1_AMOUNT, TOP_SPEC1_PERCENT, TOP_SPEC1_TREND, TOP_SPEC1_GRAPH, + TOP_SPEC2_TITLE, TOP_SPEC2_AMOUNT, TOP_SPEC2_PERCENT, TOP_SPEC2_TREND, TOP_SPEC2_GRAPH, + TOP_SPEC3_TITLE, TOP_SPEC3_AMOUNT, TOP_SPEC3_PERCENT, TOP_SPEC3_TREND, TOP_SPEC3_GRAPH, + TOP_SPEC4_TITLE, TOP_SPEC4_AMOUNT, TOP_SPEC4_PERCENT, TOP_SPEC4_TREND, TOP_SPEC4_GRAPH, + TOP_SPEC5_TITLE, TOP_SPEC5_AMOUNT, TOP_SPEC5_PERCENT, TOP_SPEC5_TREND, TOP_SPEC5_GRAPH, + + MID_SPEC_NAME, + MID_SPEC1_TITLE, MID_SPEC1_AMOUNT, MID_SPEC1_PERCENT, MID_SPEC1_TREND, MID_SPEC1_GRAPH, + MID_SPEC2_TITLE, MID_SPEC2_AMOUNT, MID_SPEC2_PERCENT, MID_SPEC2_TREND, MID_SPEC2_GRAPH, + MID_SPEC3_TITLE, MID_SPEC3_AMOUNT, MID_SPEC3_PERCENT, MID_SPEC3_TREND, MID_SPEC3_GRAPH, + MID_SPEC4_TITLE, MID_SPEC4_AMOUNT, MID_SPEC4_PERCENT, MID_SPEC4_TREND, MID_SPEC4_GRAPH, + MID_SPEC5_TITLE, MID_SPEC5_AMOUNT, MID_SPEC5_PERCENT, MID_SPEC5_TREND, MID_SPEC5_GRAPH, + + BOT_SPEC_NAME, + BOT_SPEC1_TITLE, BOT_SPEC1_AMOUNT, BOT_SPEC1_PERCENT, BOT_SPEC1_TREND, BOT_SPEC1_GRAPH, + BOT_SPEC2_TITLE, BOT_SPEC2_AMOUNT, BOT_SPEC2_PERCENT, BOT_SPEC2_TREND, BOT_SPEC2_GRAPH, + BOT_SPEC3_TITLE, BOT_SPEC3_AMOUNT, BOT_SPEC3_PERCENT, BOT_SPEC3_TREND, BOT_SPEC3_GRAPH, + BOT_SPEC4_TITLE, BOT_SPEC4_AMOUNT, BOT_SPEC4_PERCENT, BOT_SPEC4_TREND, BOT_SPEC4_GRAPH, + BOT_SPEC5_TITLE, BOT_SPEC5_AMOUNT, BOT_SPEC5_PERCENT, BOT_SPEC5_TREND, BOT_SPEC5_GRAPH + ) +Values + ( 1, 0, 0, 1, 8, 0, 'Root Node', 'root', '', + + '상위 스펙 명', + '상위 스펙 이름1', 313, 31, 31, 31, + '상위 스펙 이름2', 313, 31, 31, 31, + '상위 스펙 이름3', 313, 31, 31, 31, + '상위 스펙 이름4', 313, 31, 31, 31, + '상위 스펙 이름5', 313, 31, 31, 31, + + '중위 스펙 명', + '중위 스펙 이름1', 313, 13, 31, 13, + '중위 스펙 이름2', 313, 13, 31, 13, + '중위 스펙 이름3', 313, 13, 31, 13, + '중위 스펙 이름4', 313, 13, 31, 13, + '중위 스펙 이름5', 313, 13, 31, 13, + + '하위 스펙 명', + '하위 스펙 이름1', 313, 3, 31, 3, + '하위 스펙 이름2', 313, 3, 31, 3, + '하위 스펙 이름3', 313, 3, 31, 3, + '하위 스펙 이름4', 313, 3, 31, 3, + '하위 스펙 이름5', 313, 3, 31, 3 +); + +Insert into T_JSTREE_COMPARE_SPEC + ( C_ID, C_PARENTID, C_POSITION, C_LEFT, C_RIGHT, C_LEVEL, C_TITLE, C_TYPE, CAL_TIME, + + TOP_SPEC_NAME, + TOP_SPEC1_TITLE, TOP_SPEC1_AMOUNT, TOP_SPEC1_PERCENT, TOP_SPEC1_TREND, TOP_SPEC1_GRAPH, + TOP_SPEC2_TITLE, TOP_SPEC2_AMOUNT, TOP_SPEC2_PERCENT, TOP_SPEC2_TREND, TOP_SPEC2_GRAPH, + TOP_SPEC3_TITLE, TOP_SPEC3_AMOUNT, TOP_SPEC3_PERCENT, TOP_SPEC3_TREND, TOP_SPEC3_GRAPH, + TOP_SPEC4_TITLE, TOP_SPEC4_AMOUNT, TOP_SPEC4_PERCENT, TOP_SPEC4_TREND, TOP_SPEC4_GRAPH, + TOP_SPEC5_TITLE, TOP_SPEC5_AMOUNT, TOP_SPEC5_PERCENT, TOP_SPEC5_TREND, TOP_SPEC5_GRAPH, + + MID_SPEC_NAME, + MID_SPEC1_TITLE, MID_SPEC1_AMOUNT, MID_SPEC1_PERCENT, MID_SPEC1_TREND, MID_SPEC1_GRAPH, + MID_SPEC2_TITLE, MID_SPEC2_AMOUNT, MID_SPEC2_PERCENT, MID_SPEC2_TREND, MID_SPEC2_GRAPH, + MID_SPEC3_TITLE, MID_SPEC3_AMOUNT, MID_SPEC3_PERCENT, MID_SPEC3_TREND, MID_SPEC3_GRAPH, + MID_SPEC4_TITLE, MID_SPEC4_AMOUNT, MID_SPEC4_PERCENT, MID_SPEC4_TREND, MID_SPEC4_GRAPH, + MID_SPEC5_TITLE, MID_SPEC5_AMOUNT, MID_SPEC5_PERCENT, MID_SPEC5_TREND, MID_SPEC5_GRAPH, + + BOT_SPEC_NAME, + BOT_SPEC1_TITLE, BOT_SPEC1_AMOUNT, BOT_SPEC1_PERCENT, BOT_SPEC1_TREND, BOT_SPEC1_GRAPH, + BOT_SPEC2_TITLE, BOT_SPEC2_AMOUNT, BOT_SPEC2_PERCENT, BOT_SPEC2_TREND, BOT_SPEC2_GRAPH, + BOT_SPEC3_TITLE, BOT_SPEC3_AMOUNT, BOT_SPEC3_PERCENT, BOT_SPEC3_TREND, BOT_SPEC3_GRAPH, + BOT_SPEC4_TITLE, BOT_SPEC4_AMOUNT, BOT_SPEC4_PERCENT, BOT_SPEC4_TREND, BOT_SPEC4_GRAPH, + BOT_SPEC5_TITLE, BOT_SPEC5_AMOUNT, BOT_SPEC5_PERCENT, BOT_SPEC5_TREND, BOT_SPEC5_GRAPH + ) +Values + ( 2, 1, 0, 2, 7, 1, 'First Child', 'drive', '', + + '상위 스펙 명', + '상위 스펙 이름1', 313, 31, 31, 31, + '상위 스펙 이름2', 313, 31, 31, 31, + '상위 스펙 이름3', 313, 31, 31, 31, + '상위 스펙 이름4', 313, 31, 31, 31, + '상위 스펙 이름5', 313, 31, 31, 31, + + '중위 스펙 명', + '중위 스펙 이름1', 313, 13, 31, 13, + '중위 스펙 이름2', 313, 13, 31, 13, + '중위 스펙 이름3', 313, 13, 31, 13, + '중위 스펙 이름4', 313, 13, 31, 13, + '중위 스펙 이름5', 313, 13, 31, 13, + + '하위 스펙 명', + '하위 스펙 이름1', 313, 3, 31, 3, + '하위 스펙 이름2', 313, 3, 31, 3, + '하위 스펙 이름3', 313, 3, 31, 3, + '하위 스펙 이름4', 313, 3, 31, 3, + '하위 스펙 이름5', 313, 3, 31, 3 +); + +Insert into T_JSTREE_COMPARE_SPEC + ( C_ID, C_PARENTID, C_POSITION, C_LEFT, C_RIGHT, C_LEVEL, C_TITLE, C_TYPE, CAL_TIME, + + TOP_SPEC_NAME, + TOP_SPEC1_TITLE, TOP_SPEC1_AMOUNT, TOP_SPEC1_PERCENT, TOP_SPEC1_TREND, TOP_SPEC1_GRAPH, + TOP_SPEC2_TITLE, TOP_SPEC2_AMOUNT, TOP_SPEC2_PERCENT, TOP_SPEC2_TREND, TOP_SPEC2_GRAPH, + TOP_SPEC3_TITLE, TOP_SPEC3_AMOUNT, TOP_SPEC3_PERCENT, TOP_SPEC3_TREND, TOP_SPEC3_GRAPH, + TOP_SPEC4_TITLE, TOP_SPEC4_AMOUNT, TOP_SPEC4_PERCENT, TOP_SPEC4_TREND, TOP_SPEC4_GRAPH, + TOP_SPEC5_TITLE, TOP_SPEC5_AMOUNT, TOP_SPEC5_PERCENT, TOP_SPEC5_TREND, TOP_SPEC5_GRAPH, + + MID_SPEC_NAME, + MID_SPEC1_TITLE, MID_SPEC1_AMOUNT, MID_SPEC1_PERCENT, MID_SPEC1_TREND, MID_SPEC1_GRAPH, + MID_SPEC2_TITLE, MID_SPEC2_AMOUNT, MID_SPEC2_PERCENT, MID_SPEC2_TREND, MID_SPEC2_GRAPH, + MID_SPEC3_TITLE, MID_SPEC3_AMOUNT, MID_SPEC3_PERCENT, MID_SPEC3_TREND, MID_SPEC3_GRAPH, + MID_SPEC4_TITLE, MID_SPEC4_AMOUNT, MID_SPEC4_PERCENT, MID_SPEC4_TREND, MID_SPEC4_GRAPH, + MID_SPEC5_TITLE, MID_SPEC5_AMOUNT, MID_SPEC5_PERCENT, MID_SPEC5_TREND, MID_SPEC5_GRAPH, + + BOT_SPEC_NAME, + BOT_SPEC1_TITLE, BOT_SPEC1_AMOUNT, BOT_SPEC1_PERCENT, BOT_SPEC1_TREND, BOT_SPEC1_GRAPH, + BOT_SPEC2_TITLE, BOT_SPEC2_AMOUNT, BOT_SPEC2_PERCENT, BOT_SPEC2_TREND, BOT_SPEC2_GRAPH, + BOT_SPEC3_TITLE, BOT_SPEC3_AMOUNT, BOT_SPEC3_PERCENT, BOT_SPEC3_TREND, BOT_SPEC3_GRAPH, + BOT_SPEC4_TITLE, BOT_SPEC4_AMOUNT, BOT_SPEC4_PERCENT, BOT_SPEC4_TREND, BOT_SPEC4_GRAPH, + BOT_SPEC5_TITLE, BOT_SPEC5_AMOUNT, BOT_SPEC5_PERCENT, BOT_SPEC5_TREND, BOT_SPEC5_GRAPH + ) +Values + ( 3, 2, 0, 3, 4, 2, 'Leaf Node', 'default', '', + + '상위 스펙 명', + '상위 스펙 이름1', 313, 31, 31, 31, + '상위 스펙 이름2', 313, 31, 31, 31, + '상위 스펙 이름3', 313, 31, 31, 31, + '상위 스펙 이름4', 313, 31, 31, 31, + '상위 스펙 이름5', 313, 31, 31, 31, + + '중위 스펙 명', + '중위 스펙 이름1', 313, 13, 31, 13, + '중위 스펙 이름2', 313, 13, 31, 13, + '중위 스펙 이름3', 313, 13, 31, 13, + '중위 스펙 이름4', 313, 13, 31, 13, + '중위 스펙 이름5', 313, 13, 31, 13, + + '하위 스펙 명', + '하위 스펙 이름1', 313, 3, 31, 3, + '하위 스펙 이름2', 313, 3, 31, 3, + '하위 스펙 이름3', 313, 3, 31, 3, + '하위 스펙 이름4', 313, 3, 31, 3, + '하위 스펙 이름5', 313, 3, 31, 3 +); + +Insert into T_JSTREE_COMPARE_SPEC + ( C_ID, C_PARENTID, C_POSITION, C_LEFT, C_RIGHT, C_LEVEL, C_TITLE, C_TYPE, CAL_TIME, + + TOP_SPEC_NAME, + TOP_SPEC1_TITLE, TOP_SPEC1_AMOUNT, TOP_SPEC1_PERCENT, TOP_SPEC1_TREND, TOP_SPEC1_GRAPH, + TOP_SPEC2_TITLE, TOP_SPEC2_AMOUNT, TOP_SPEC2_PERCENT, TOP_SPEC2_TREND, TOP_SPEC2_GRAPH, + TOP_SPEC3_TITLE, TOP_SPEC3_AMOUNT, TOP_SPEC3_PERCENT, TOP_SPEC3_TREND, TOP_SPEC3_GRAPH, + TOP_SPEC4_TITLE, TOP_SPEC4_AMOUNT, TOP_SPEC4_PERCENT, TOP_SPEC4_TREND, TOP_SPEC4_GRAPH, + TOP_SPEC5_TITLE, TOP_SPEC5_AMOUNT, TOP_SPEC5_PERCENT, TOP_SPEC5_TREND, TOP_SPEC5_GRAPH, + + MID_SPEC_NAME, + MID_SPEC1_TITLE, MID_SPEC1_AMOUNT, MID_SPEC1_PERCENT, MID_SPEC1_TREND, MID_SPEC1_GRAPH, + MID_SPEC2_TITLE, MID_SPEC2_AMOUNT, MID_SPEC2_PERCENT, MID_SPEC2_TREND, MID_SPEC2_GRAPH, + MID_SPEC3_TITLE, MID_SPEC3_AMOUNT, MID_SPEC3_PERCENT, MID_SPEC3_TREND, MID_SPEC3_GRAPH, + MID_SPEC4_TITLE, MID_SPEC4_AMOUNT, MID_SPEC4_PERCENT, MID_SPEC4_TREND, MID_SPEC4_GRAPH, + MID_SPEC5_TITLE, MID_SPEC5_AMOUNT, MID_SPEC5_PERCENT, MID_SPEC5_TREND, MID_SPEC5_GRAPH, + + BOT_SPEC_NAME, + BOT_SPEC1_TITLE, BOT_SPEC1_AMOUNT, BOT_SPEC1_PERCENT, BOT_SPEC1_TREND, BOT_SPEC1_GRAPH, + BOT_SPEC2_TITLE, BOT_SPEC2_AMOUNT, BOT_SPEC2_PERCENT, BOT_SPEC2_TREND, BOT_SPEC2_GRAPH, + BOT_SPEC3_TITLE, BOT_SPEC3_AMOUNT, BOT_SPEC3_PERCENT, BOT_SPEC3_TREND, BOT_SPEC3_GRAPH, + BOT_SPEC4_TITLE, BOT_SPEC4_AMOUNT, BOT_SPEC4_PERCENT, BOT_SPEC4_TREND, BOT_SPEC4_GRAPH, + BOT_SPEC5_TITLE, BOT_SPEC5_AMOUNT, BOT_SPEC5_PERCENT, BOT_SPEC5_TREND, BOT_SPEC5_GRAPH + ) +Values + ( 4, 2, 1, 5, 6, 2, 'Branch Node', 'folder', '', + + '상위 스펙 명', + '상위 스펙 이름1', 313, 31, 31, 31, + '상위 스펙 이름2', 313, 31, 31, 31, + '상위 스펙 이름3', 313, 31, 31, 31, + '상위 스펙 이름4', 313, 31, 31, 31, + '상위 스펙 이름5', 313, 31, 31, 31, + + '중위 스펙 명', + '중위 스펙 이름1', 313, 13, 31, 13, + '중위 스펙 이름2', 313, 13, 31, 13, + '중위 스펙 이름3', 313, 13, 31, 13, + '중위 스펙 이름4', 313, 13, 31, 13, + '중위 스펙 이름5', 313, 13, 31, 13, + + '하위 스펙 명', + '하위 스펙 이름1', 313, 3, 31, 3, + '하위 스펙 이름2', 313, 3, 31, 3, + '하위 스펙 이름3', 313, 3, 31, 3, + '하위 스펙 이름4', 313, 3, 31, 3, + '하위 스펙 이름5', 313, 3, 31, 3 +); + +COMMIT; \ No newline at end of file Index: standard/project/web/script/dml/oracle/egovframework/api/rivalWar/menu/Menu_Data_Script_Oracle.sql =================================================================== diff -u -r7e22b1924690824a27bb65043fd111a7861c35d3 -r3386bbd5910f2add2a7bc34bd560c98d5b3e3baf --- standard/project/web/script/dml/oracle/egovframework/api/rivalWar/menu/Menu_Data_Script_Oracle.sql (.../Menu_Data_Script_Oracle.sql) (revision 7e22b1924690824a27bb65043fd111a7861c35d3) +++ standard/project/web/script/dml/oracle/egovframework/api/rivalWar/menu/Menu_Data_Script_Oracle.sql (.../Menu_Data_Script_Oracle.sql) (revision 3386bbd5910f2add2a7bc34bd560c98d5b3e3baf) @@ -1,25 +1,25 @@ Insert into T_JSTREE_MENU - (C_ID, C_PARENTID, C_POSITION, C_LEFT, C_RIGHT, - C_LEVEL, C_TITLE, C_TYPE, C_VOTE_START_DATE, C_VOTE_END_DATE, AGGREGATE_RESULT_ID, COMPARE_INFO_ID) + (C_ID, C_PARENTID, C_POSITION, C_LEFT, C_RIGHT, C_LEVEL, C_TITLE, C_TYPE, + C_VOTE_START_DATE, C_VOTE_END_DATE, AGGREGATE_RESULT_ID, COMPARE_INFO_ID, COMPARE_SPEC_ID) Values (1, 0, 0, 1, 8, - 0, 'Root Node', 'root', '2017-01-01', '2017-03-13', 3 , 3); + 0, 'Root Node', 'root', '2017-01-01', '2017-03-13', 3 , 3, 3); Insert into T_JSTREE_MENU - (C_ID, C_PARENTID, C_POSITION, C_LEFT, C_RIGHT, - C_LEVEL, C_TITLE, C_TYPE, C_VOTE_START_DATE, C_VOTE_END_DATE, AGGREGATE_RESULT_ID, COMPARE_INFO_ID) + (C_ID, C_PARENTID, C_POSITION, C_LEFT, C_RIGHT, C_LEVEL, C_TITLE, C_TYPE, + C_VOTE_START_DATE, C_VOTE_END_DATE, AGGREGATE_RESULT_ID, COMPARE_INFO_ID, COMPARE_SPEC_ID) Values (2, 1, 0, 2, 7, - 1, 'First Child', 'drive', '2017-01-01', '2017-03-13', 3 , 3); + 1, 'First Child', 'drive', '2017-01-01', '2017-03-13', 3 , 3, 3); Insert into T_JSTREE_MENU - (C_ID, C_PARENTID, C_POSITION, C_LEFT, C_RIGHT, - C_LEVEL, C_TITLE, C_TYPE, C_VOTE_START_DATE, C_VOTE_END_DATE, AGGREGATE_RESULT_ID, COMPARE_INFO_ID) + (C_ID, C_PARENTID, C_POSITION, C_LEFT, C_RIGHT, C_LEVEL, C_TITLE, C_TYPE, + C_VOTE_START_DATE, C_VOTE_END_DATE, AGGREGATE_RESULT_ID, COMPARE_INFO_ID, COMPARE_SPEC_ID) Values (3, 2, 0, 3, 4, - 2, 'Leaf Node', 'default', '2017-01-01', '2017-03-13', 3 , 3); + 2, 'Leaf Node', 'default', '2017-01-01', '2017-03-13', 3 , 3, 3); Insert into T_JSTREE_MENU - (C_ID, C_PARENTID, C_POSITION, C_LEFT, C_RIGHT, - C_LEVEL, C_TITLE, C_TYPE, C_VOTE_START_DATE, C_VOTE_END_DATE, AGGREGATE_RESULT_ID, COMPARE_INFO_ID) + (C_ID, C_PARENTID, C_POSITION, C_LEFT, C_RIGHT, C_LEVEL, C_TITLE, C_TYPE, + C_VOTE_START_DATE, C_VOTE_END_DATE, AGGREGATE_RESULT_ID, COMPARE_INFO_ID, COMPARE_SPEC_ID) Values (4, 2, 1, 5, 6, - 2, 'Branch Node', 'folder', '2017-01-01', '2017-03-13', 3 , 3); + 2, 'Branch Node', 'folder', '2017-01-01', '2017-03-13', 3 , 3, 3); COMMIT; \ No newline at end of file Index: standard/project/web/src/main/resources/egovframework/message/com/cmm/message-common_ko.properties =================================================================== diff -u -r9daaab8a6bdfca845cc27bc9d767eedfd756aa54 -r3386bbd5910f2add2a7bc34bd560c98d5b3e3baf --- standard/project/web/src/main/resources/egovframework/message/com/cmm/message-common_ko.properties (.../message-common_ko.properties) (revision 9daaab8a6bdfca845cc27bc9d767eedfd756aa54) +++ standard/project/web/src/main/resources/egovframework/message/com/cmm/message-common_ko.properties (.../message-common_ko.properties) (revision 3386bbd5910f2add2a7bc34bd560c98d5b3e3baf) @@ -76,4 +76,5 @@ comCmm.left.7000=Menu comCmm.left.7001=DirectChat comCmm.left.7002=AggregateResult -comCmm.left.7003=CompareInfo \ No newline at end of file +comCmm.left.7003=CompareInfo +comCmm.left.7004=CompareSpec \ No newline at end of file Index: standard/project/web/src/main/webapp/WEB-INF/jsp/egovframework/api/rivalWar/compareSpec/JsTreeView.jsp =================================================================== diff -u -rebfd6b16985812e1e1f06acc305f4086e5b91657 -r3386bbd5910f2add2a7bc34bd560c98d5b3e3baf --- standard/project/web/src/main/webapp/WEB-INF/jsp/egovframework/api/rivalWar/compareSpec/JsTreeView.jsp (.../JsTreeView.jsp) (revision ebfd6b16985812e1e1f06acc305f4086e5b91657) +++ standard/project/web/src/main/webapp/WEB-INF/jsp/egovframework/api/rivalWar/compareSpec/JsTreeView.jsp (.../JsTreeView.jsp) (revision 3386bbd5910f2add2a7bc34bd560c98d5b3e3baf) @@ -340,68 +340,102 @@ calTime - topImageUrl1 - topImageUrl2 - topImageUrl3 - topVenderUrl - topVenderText - topPost1Icon - topPost1Url - topPost1Text - topPost2Icon - topPost2Url - topPost2Text - topPost3Icon - topPost3Url - topPost3Text - topPost4Icon - topPost4Url - topPost4Text - topPost5Icon - topPost5Url - topPost5Text + topSpecName - midImageUrl1 - midImageUrl2 - midImageUrl3 - midVenderUrl - midVenderText - midPost1Icon - midPost1Url - midPost1Text - midPost2Icon - midPost2Url - midPost2Text - midPost3Icon - midPost3Url - midPost3Text - midPost4Icon - midPost4Url - midPost4Text - midPost5Icon - midPost5Url - midPost5Text + topSpec1Title + topSpec1Amount + topSpec1Percent + topSpec1Trend + topSpec1Graph - botImageUrl1 - botImageUrl2 - botImageUrl3 - botVenderUrl - botVenderText - botPost1Icon - botPost1Url - botPost1Text - botPost2Icon - botPost2Url - botPost2Text - botPost3Icon - botPost3Url - botPost3Text - botPost4Icon - botPost4Url - botPost4Text - botPost5Icon - botPost5Url - botPost5Text + topSpec2Title + topSpec2Amount + topSpec2Percent + topSpec2Trend + topSpec2Graph + + topSpec3Title + topSpec3Amount + topSpec3Percent + topSpec3Trend + topSpec3Graph + + topSpec4Title + topSpec4Amount + topSpec4Percent + topSpec4Trend + topSpec4Graph + + topSpec5Title + topSpec5Amount + topSpec5Percent + topSpec5Trend + topSpec5Graph + + midSpecName + + midSpec1Title + midSpec1Amount + midSpec1Percent + midSpec1Trend + midSpec1Graph + + midSpec2Title + midSpec2Amount + midSpec2Percent + midSpec2Trend + midSpec2Graph + + midSpec3Title + midSpec3Amount + midSpec3Percent + midSpec3Trend + midSpec3Graph + + midSpec4Title + midSpec4Amount + midSpec4Percent + midSpec4Trend + midSpec4Graph + + midSpec5Title + midSpec5Amount + midSpec5Percent + midSpec5Trend + midSpec5Graph + + + botSpecName + + botSpec1Title + botSpec1Amount + botSpec1Percent + botSpec1Trend + botSpec1Graph + + botSpec2Title + botSpec2Amount + botSpec2Percent + botSpec2Trend + botSpec2Graph + + botSpec3Title + botSpec3Amount + botSpec3Percent + botSpec3Trend + botSpec3Graph + + botSpec4Title + botSpec4Amount + botSpec4Percent + botSpec4Trend + botSpec4Graph + + botSpec5Title + botSpec5Amount + botSpec5Percent + botSpec5Trend + botSpec5Graph @@ -427,67 +461,105 @@ d.c_type = d.data.default.c_type; d.calTime = d.data.default.calTime; - d.topImageUrl1 = d.data.default.topImageUrl1; - d.topImageUrl2 = d.data.default.topImageUrl2; - d.topImageUrl3 = d.data.default.topImageUrl3; - d.topVenderUrl = d.data.default.topVenderUrl; - d.topVenderText = d.data.default.topVenderText; - d.topPost1Icon = d.data.default.topPost1Icon; - d.topPost1Url = d.data.default.topPost1Url; - d.topPost1Text = d.data.default.topPost1Text; - d.topPost2Icon = d.data.default.topPost2Icon; - d.topPost2Url = d.data.default.topPost2Url; - d.topPost2Text = d.data.default.topPost2Text; - d.topPost3Icon = d.data.default.topPost3Icon; - d.topPost3Url = d.data.default.topPost3Url; - d.topPost3Text = d.data.default.topPost3Text; - d.topPost4Icon = d.data.default.topPost4Icon; - d.topPost4Url = d.data.default.topPost4Url; - d.topPost4Text = d.data.default.topPost4Text; - d.topPost5Icon = d.data.default.topPost5Icon; - d.topPost5Url = d.data.default.topPost5Url; - d.topPost5Text = d.data.default.topPost5Text; - d.midImageUrl1 = d.data.default.midImageUrl1; - d.midImageUrl2 = d.data.default.midImageUrl2; - d.midImageUrl3 = d.data.default.midImageUrl3; - d.midVenderUrl = d.data.default.midVenderUrl; - d.midVenderText = d.data.default.midVenderText; - d.midPost1Icon = d.data.default.midPost1Icon; - d.midPost1Url = d.data.default.midPost1Url; - d.midPost1Text = d.data.default.midPost1Text; - d.midPost2Icon = d.data.default.midPost2Icon; - d.midPost2Url = d.data.default.midPost2Url; - d.midPost2Text = d.data.default.midPost2Text; - d.midPost3Icon = d.data.default.midPost3Icon; - d.midPost3Url = d.data.default.midPost3Url; - d.midPost3Text = d.data.default.midPost3Text; - d.midPost4Icon = d.data.default.midPost4Icon; - d.midPost4Url = d.data.default.midPost4Url; - d.midPost4Text = d.data.default.midPost4Text; - d.midPost5Icon = d.data.default.midPost5Icon; - d.midPost5Url = d.data.default.midPost5Url; - d.midPost5Text = d.data.default.midPost5Text; - d.botImageUrl1 = d.data.default.botImageUrl1; - d.botImageUrl2 = d.data.default.botImageUrl2; - d.botImageUrl3 = d.data.default.botImageUrl3; - d.botVenderUrl = d.data.default.botVenderUrl; - d.botVenderText = d.data.default.botVenderText; - d.botPost1Icon = d.data.default.botPost1Icon; - d.botPost1Url = d.data.default.botPost1Url; - d.botPost1Text = d.data.default.botPost1Text; - d.botPost2Icon = d.data.default.botPost2Icon; - d.botPost2Url = d.data.default.botPost2Url; - d.botPost2Text = d.data.default.botPost2Text; - d.botPost3Icon = d.data.default.botPost3Icon; - d.botPost3Url = d.data.default.botPost3Url; - d.botPost3Text = d.data.default.botPost3Text; - d.botPost4Icon = d.data.default.botPost4Icon; - d.botPost4Url = d.data.default.botPost4Url; - d.botPost4Text = d.data.default.botPost4Text; - d.botPost5Icon = d.data.default.botPost5Icon; - d.botPost5Url = d.data.default.botPost5Url; - d.botPost5Text = d.data.default.botPost5Text; + + d.topSpecName = d.data.default.topSpecName; + + d.topSpec1Title = d.data.default.topSpec1Title; + d.topSpec1Amount = d.data.default.topSpec1Amount; + d.topSpec1Percent = d.data.default.topSpec1Percent; + d.topSpec1Trend = d.data.default.topSpec1Trend; + d.topSpec1Graph = d.data.default.topSpec1Graph; + + d.topSpec2Title = d.data.default.topSpec2Title; + d.topSpec2Amount = d.data.default.topSpec2Amount; + d.topSpec2Percent = d.data.default.topSpec2Percent; + d.topSpec2Trend = d.data.default.topSpec2Trend; + d.topSpec2Graph = d.data.default.topSpec2Graph; + + d.topSpec3Title = d.data.default.topSpec3Title; + d.topSpec3Amount = d.data.default.topSpec3Amount; + d.topSpec3Percent = d.data.default.topSpec3Percent; + d.topSpec3Trend = d.data.default.topSpec3Trend; + d.topSpec3Graph = d.data.default.topSpec3Graph; + + d.topSpec4Title = d.data.default.topSpec4Title; + d.topSpec4Amount = d.data.default.topSpec4Amount; + d.topSpec4Percent = d.data.default.topSpec4Percent; + d.topSpec4Trend = d.data.default.topSpec4Trend; + d.topSpec4Graph = d.data.default.topSpec4Graph; + + d.topSpec5Title = d.data.default.topSpec5Title; + d.topSpec5Amount = d.data.default.topSpec5Amount; + d.topSpec5Percent = d.data.default.topSpec5Percent; + d.topSpec5Trend = d.data.default.topSpec5Trend; + d.topSpec5Graph = d.data.default.topSpec5Graph; + + d.midSpecName = d.data.default.midSpecName; + + d.midSpec1Title = d.data.default.midSpec1Title; + d.midSpec1Amount = d.data.default.midSpec1Amount; + d.midSpec1Percent = d.data.default.midSpec1Percent; + d.midSpec1Trend = d.data.default.midSpec1Trend; + d.midSpec1Graph = d.data.default.midSpec1Graph; + + d.midSpec2Title = d.data.default.midSpec2Title; + d.midSpec2Amount = d.data.default.midSpec2Amount; + d.midSpec2Percent = d.data.default.midSpec2Percent; + d.midSpec2Trend = d.data.default.midSpec2Trend; + d.midSpec2Graph = d.data.default.midSpec2Graph; + + d.midSpec3Title = d.data.default.midSpec3Title; + d.midSpec3Amount = d.data.default.midSpec3Amount; + d.midSpec3Percent = d.data.default.midSpec3Percent; + d.midSpec3Trend = d.data.default.midSpec3Trend; + d.midSpec3Graph = d.data.default.midSpec3Graph; + + d.midSpec4Title = d.data.default.midSpec4Title; + d.midSpec4Amount = d.data.default.midSpec4Amount; + d.midSpec4Percent = d.data.default.midSpec4Percent; + d.midSpec4Trend = d.data.default.midSpec4Trend; + d.midSpec4Graph = d.data.default.midSpec4Graph; + + d.midSpec5Title = d.data.default.midSpec5Title; + d.midSpec5Amount = d.data.default.midSpec5Amount; + d.midSpec5Percent = d.data.default.midSpec5Percent; + d.midSpec5Trend = d.data.default.midSpec5Trend; + d.midSpec5Graph = d.data.default.midSpec5Graph; + + + d.botSpecName = d.data.default.botSpecName; + + d.botSpec1Title = d.data.default.botSpec1Title; + d.botSpec1Amount = d.data.default.botSpec1Amount; + d.botSpec1Percent = d.data.default.botSpec1Percent; + d.botSpec1Trend = d.data.default.botSpec1Trend; + d.botSpec1Graph = d.data.default.botSpec1Graph; + + d.botSpec2Title = d.data.default.botSpec2Title; + d.botSpec2Amount = d.data.default.botSpec2Amount; + d.botSpec2Percent = d.data.default.botSpec2Percent; + d.botSpec2Trend = d.data.default.botSpec2Trend; + d.botSpec2Graph = d.data.default.botSpec2Graph; + + d.botSpec3Title = d.data.default.botSpec3Title; + d.botSpec3Amount = d.data.default.botSpec3Amount; + d.botSpec3Percent = d.data.default.botSpec3Percent; + d.botSpec3Trend = d.data.default.botSpec3Trend; + d.botSpec3Graph = d.data.default.botSpec3Graph; + + d.botSpec4Title = d.data.default.botSpec4Title; + d.botSpec4Amount = d.data.default.botSpec4Amount; + d.botSpec4Percent = d.data.default.botSpec4Percent; + d.botSpec4Trend = d.data.default.botSpec4Trend; + d.botSpec4Graph = d.data.default.botSpec4Graph; + + d.botSpec5Title = d.data.default.botSpec5Title; + d.botSpec5Amount = d.data.default.botSpec5Amount; + d.botSpec5Percent = d.data.default.botSpec5Percent; + d.botSpec5Trend = d.data.default.botSpec5Trend; + d.botSpec5Graph = d.data.default.botSpec5Graph; + delete(d.data); } }, @@ -512,125 +584,161 @@ },{ label: "calTime:", name: "calTime" },{ - label: "topImageUrl1:", name: "topImageUrl1" + label: "topSpecName:", name: "topSpecName" },{ - label: "topImageUrl2:", name: "topImageUrl2" + label: "topSpec1Title:", name: "topSpec1Title" },{ - label: "topImageUrl3:", name: "topImageUrl3" + label: "topSpec1Amount:", name: "topSpec1Amount" },{ - label: "topVenderUrl:", name: "topVenderUrl" + label: "topSpec1Percent:", name: "topSpec1Percent" },{ - label: "topVenderText:", name: "topVenderText" + label: "topSpec1Trend:", name: "topSpec1Trend" },{ - label: "topPost1Icon:", name: "topPost1Icon" + label: "topSpec1Graph:", name: "topSpec1Graph" },{ - label: "topPost1Url:", name: "topPost1Url" + label: "topSpec2Title:", name: "topSpec2Title" },{ - label: "topPost1Text:", name: "topPost1Text" + label: "topSpec2Amount:", name: "topSpec2Amount" },{ - label: "topPost2Icon:", name: "topPost2Icon" + label: "topSpec2Percent:", name: "topSpec2Percent" },{ - label: "topPost2Url:", name: "topPost2Url" + label: "topSpec2Trend:", name: "topSpec2Trend" },{ - label: "topPost2Text:", name: "topPost2Text" + label: "topSpec2Graph:", name: "topSpec2Graph" },{ - label: "topPost3Icon:", name: "topPost3Icon" + label: "topSpec3Title:", name: "topSpec3Title" },{ - label: "topPost3Url:", name: "topPost3Url" + label: "topSpec3Amount:", name: "topSpec3Amount" },{ - label: "topPost3Text:", name: "topPost3Text" + label: "topSpec3Percent:", name: "topSpec3Percent" },{ - label: "topPost4Icon:", name: "topPost4Icon" + label: "topSpec3Trend:", name: "topSpec3Trend" },{ - label: "topPost4Url:", name: "topPost4Url" + label: "topSpec3Graph:", name: "topSpec3Graph" },{ - label: "topPost4Text:", name: "topPost4Text" + label: "topSpec4Title:", name: "topSpec4Title" },{ - label: "topPost5Icon:", name: "topPost5Icon" + label: "topSpec4Amount:", name: "topSpec4Amount" },{ - label: "topPost5Url:", name: "topPost5Url" + label: "topSpec4Percent:", name: "topSpec4Percent" },{ - label: "topPost5Text:", name: "topPost5Text" + label: "topSpec4Trend:", name: "topSpec4Trend" },{ - label: "midImageUrl1:", name: "midImageUrl1" + label: "topSpec4Graph:", name: "topSpec4Graph" },{ - label: "midImageUrl2:", name: "midImageUrl2" + label: "topSpec5Title:", name: "topSpec5Title" },{ - label: "midImageUrl3:", name: "midImageUrl3" + label: "topSpec5Amount:", name: "topSpec5Amount" },{ - label: "midVenderUrl:", name: "midVenderUrl" + label: "topSpec5Percent:", name: "topSpec5Percent" },{ - label: "midVenderText:", name: "midVenderText" + label: "topSpec5Trend:", name: "topSpec5Trend" },{ - label: "midPost1Icon:", name: "midPost1Icon" + label: "topSpec5Graph:", name: "topSpec5Graph" },{ - label: "midPost1Url:", name: "midPost1Url" + label: "midSpecName:", name: "midSpecName" },{ - label: "midPost1Text:", name: "midPost1Text" + label: "midSpec1Title:", name: "midSpec1Title" },{ - label: "midPost2Icon:", name: "midPost2Icon" + label: "midSpec1Amount:", name: "midSpec1Amount" },{ - label: "midPost2Url:", name: "midPost2Url" + label: "midSpec1Percent:", name: "midSpec1Percent" },{ - label: "midPost2Text:", name: "midPost2Text" + label: "midSpec1Trend:", name: "midSpec1Trend" },{ - label: "midPost3Icon:", name: "midPost3Icon" + label: "midSpec1Graph:", name: "midSpec1Graph" },{ - label: "midPost3Url:", name: "midPost3Url" + label: "midSpec2Title:", name: "midSpec2Title" },{ - label: "midPost3Text:", name: "midPost3Text" + label: "midSpec2Amount:", name: "midSpec2Amount" },{ - label: "midPost4Icon:", name: "midPost4Icon" + label: "midSpec2Percent:", name: "midSpec2Percent" },{ - label: "midPost4Url:", name: "midPost4Url" + label: "midSpec2Trend:", name: "midSpec2Trend" },{ - label: "midPost4Text:", name: "midPost4Text" + label: "midSpec2Graph:", name: "midSpec2Graph" },{ - label: "midPost5Icon:", name: "midPost5Icon" + label: "midSpec3Title:", name: "midSpec3Title" },{ - label: "midPost5Url:", name: "midPost5Url" + label: "midSpec3Amount:", name: "midSpec3Amount" },{ - label: "midPost5Text:", name: "midPost5Text" + label: "midSpec3Percent:", name: "midSpec3Percent" },{ - label: "botImageUrl1:", name: "botImageUrl1" + label: "midSpec3Trend:", name: "midSpec3Trend" },{ - label: "botImageUrl2:", name: "botImageUrl2" + label: "midSpec3Graph:", name: "midSpec3Graph" },{ - label: "botImageUrl3:", name: "botImageUrl3" + label: "midSpec4Title:", name: "midSpec4Title" },{ - label: "botVenderUrl:", name: "botVenderUrl" + label: "midSpec4Amount:", name: "midSpec4Amount" },{ - label: "botVenderText:", name: "botVenderText" + label: "midSpec4Percent:", name: "midSpec4Percent" },{ - label: "botPost1Icon:", name: "botPost1Icon" + label: "midSpec4Trend:", name: "midSpec4Trend" },{ - label: "botPost1Url:", name: "botPost1Url" + label: "midSpec4Graph:", name: "midSpec4Graph" },{ - label: "botPost1Text:", name: "botPost1Text" + label: "midSpec5Title:", name: "midSpec5Title" },{ - label: "botPost2Icon:", name: "botPost2Icon" + label: "midSpec5Amount:", name: "midSpec5Amount" },{ - label: "botPost2Url:", name: "botPost2Url" + label: "midSpec5Percent:", name: "midSpec5Percent" },{ - label: "botPost2Text:", name: "botPost2Text" + label: "midSpec5Trend:", name: "midSpec5Trend" },{ - label: "botPost3Icon:", name: "botPost3Icon" + label: "midSpec5Graph:", name: "midSpec5Graph" },{ - label: "botPost3Url:", name: "botPost3Url" + label: "botSpecName:", name: "botSpecName" },{ - label: "botPost3Text:", name: "botPost3Text" + label: "botSpec1Title:", name: "botSpec1Title" },{ - label: "botPost4Icon:", name: "botPost4Icon" + label: "botSpec1Amount:", name: "botSpec1Amount" },{ - label: "botPost4Url:", name: "botPost4Url" + label: "botSpec1Percent:", name: "botSpec1Percent" },{ - label: "botPost4Text:", name: "botPost4Text" + label: "botSpec1Trend:", name: "botSpec1Trend" },{ - label: "botPost5Icon:", name: "botPost5Icon" + label: "botSpec1Graph:", name: "botSpec1Graph" },{ - label: "botPost5Url:", name: "botPost5Url" + label: "botSpec2Title:", name: "botSpec2Title" },{ - label: "botPost5Text:", name: "botPost5Text" + label: "botSpec2Amount:", name: "botSpec2Amount" + },{ + label: "botSpec2Percent:", name: "botSpec2Percent" + },{ + label: "botSpec2Trend:", name: "botSpec2Trend" + },{ + label: "botSpec2Graph:", name: "botSpec2Graph" + },{ + label: "botSpec3Title:", name: "botSpec3Title" + },{ + label: "botSpec3Amount:", name: "botSpec3Amount" + },{ + label: "botSpec3Percent:", name: "botSpec3Percent" + },{ + label: "botSpec3Trend:", name: "botSpec3Trend" + },{ + label: "botSpec3Graph:", name: "botSpec3Graph" + },{ + label: "botSpec4Title:", name: "botSpec4Title" + },{ + label: "botSpec4Amount:", name: "botSpec4Amount" + },{ + label: "botSpec4Percent:", name: "botSpec4Percent" + },{ + label: "botSpec4Trend:", name: "botSpec4Trend" + },{ + label: "botSpec4Graph:", name: "botSpec4Graph" + },{ + label: "botSpec5Title:", name: "botSpec5Title" + },{ + label: "botSpec5Amount:", name: "botSpec5Amount" + },{ + label: "botSpec5Percent:", name: "botSpec5Percent" + },{ + label: "botSpec5Trend:", name: "botSpec5Trend" + },{ + label: "botSpec5Graph:", name: "botSpec5Graph" } ] }); @@ -663,68 +771,103 @@ {"data": "c_type"}, {"data": "calTime"}, - {"data": "topImageUrl1"}, - {"data": "topImageUrl2"}, - {"data": "topImageUrl3"}, - {"data": "topVenderUrl"}, - {"data": "topVenderText"}, - {"data": "topPost1Icon"}, - {"data": "topPost1Url"}, - {"data": "topPost1Text"}, - {"data": "topPost2Icon"}, - {"data": "topPost2Url"}, - {"data": "topPost2Text"}, - {"data": "topPost3Icon"}, - {"data": "topPost3Url"}, - {"data": "topPost3Text"}, - {"data": "topPost4Icon"}, - {"data": "topPost4Url"}, - {"data": "topPost4Text"}, - {"data": "topPost5Icon"}, - {"data": "topPost5Url"}, - {"data": "topPost5Text"}, - {"data": "midImageUrl1"}, - {"data": "midImageUrl2"}, - {"data": "midImageUrl3"}, - {"data": "midVenderUrl"}, - {"data": "midVenderText"}, - {"data": "midPost1Icon"}, - {"data": "midPost1Url"}, - {"data": "midPost1Text"}, - {"data": "midPost2Icon"}, - {"data": "midPost2Url"}, - {"data": "midPost2Text"}, - {"data": "midPost3Icon"}, - {"data": "midPost3Url"}, - {"data": "midPost3Text"}, - {"data": "midPost4Icon"}, - {"data": "midPost4Url"}, - {"data": "midPost4Text"}, - {"data": "midPost5Icon"}, - {"data": "midPost5Url"}, - {"data": "midPost5Text"}, + {"data": "topSpecName"}, - {"data": "botImageUrl1"}, - {"data": "botImageUrl2"}, - {"data": "botImageUrl3"}, - {"data": "botVenderUrl"}, - {"data": "botVenderText"}, - {"data": "botPost1Icon"}, - {"data": "botPost1Url"}, - {"data": "botPost1Text"}, - {"data": "botPost2Icon"}, - {"data": "botPost2Url"}, - {"data": "botPost2Text"}, - {"data": "botPost3Icon"}, - {"data": "botPost3Url"}, - {"data": "botPost3Text"}, - {"data": "botPost4Icon"}, - {"data": "botPost4Url"}, - {"data": "botPost4Text"}, - {"data": "botPost5Icon"}, - {"data": "botPost5Url"}, - {"data": "botPost5Text"} + {"data": "topSpec1Title"}, + {"data": "topSpec1Amount"}, + {"data": "topSpec1Percent"}, + {"data": "topSpec1Trend"}, + {"data": "topSpec1Graph"}, + + {"data": "topSpec2Title"}, + {"data": "topSpec2Amount"}, + {"data": "topSpec2Percent"}, + {"data": "topSpec2Trend"}, + {"data": "topSpec2Graph"}, + + {"data": "topSpec3Title"}, + {"data": "topSpec3Amount"}, + {"data": "topSpec3Percent"}, + {"data": "topSpec3Trend"}, + {"data": "topSpec3Graph"}, + + {"data": "topSpec4Title"}, + {"data": "topSpec4Amount"}, + {"data": "topSpec4Percent"}, + {"data": "topSpec4Trend"}, + {"data": "topSpec4Graph"}, + + {"data": "topSpec5Title"}, + {"data": "topSpec5Amount"}, + {"data": "topSpec5Percent"}, + {"data": "topSpec5Trend"}, + {"data": "topSpec5Graph"}, + + {"data": "midSpecName"}, + + {"data": "midSpec1Title"}, + {"data": "midSpec1Amount"}, + {"data": "midSpec1Percent"}, + {"data": "midSpec1Trend"}, + {"data": "midSpec1Graph"}, + + {"data": "midSpec2Title"}, + {"data": "midSpec2Amount"}, + {"data": "midSpec2Percent"}, + {"data": "midSpec2Trend"}, + {"data": "midSpec2Graph"}, + + {"data": "midSpec3Title"}, + {"data": "midSpec3Amount"}, + {"data": "midSpec3Percent"}, + {"data": "midSpec3Trend"}, + {"data": "midSpec3Graph"}, + + {"data": "midSpec4Title"}, + {"data": "midSpec4Amount"}, + {"data": "midSpec4Percent"}, + {"data": "midSpec4Trend"}, + {"data": "midSpec4Graph"}, + + {"data": "midSpec5Title"}, + {"data": "midSpec5Amount"}, + {"data": "midSpec5Percent"}, + {"data": "midSpec5Trend"}, + {"data": "midSpec5Graph"}, + + + {"data": "botSpecName"}, + + {"data": "botSpec1Title"}, + {"data": "botSpec1Amount"}, + {"data": "botSpec1Percent"}, + {"data": "botSpec1Trend"}, + {"data": "botSpec1Graph"}, + + {"data": "botSpec2Title"}, + {"data": "botSpec2Amount"}, + {"data": "botSpec2Percent"}, + {"data": "botSpec2Trend"}, + {"data": "botSpec2Graph"}, + + {"data": "botSpec3Title"}, + {"data": "botSpec3Amount"}, + {"data": "botSpec3Percent"}, + {"data": "botSpec3Trend"}, + {"data": "botSpec3Graph"}, + + {"data": "botSpec4Title"}, + {"data": "botSpec4Amount"}, + {"data": "botSpec4Percent"}, + {"data": "botSpec4Trend"}, + {"data": "botSpec4Graph"}, + + {"data": "botSpec5Title"}, + {"data": "botSpec5Amount"}, + {"data": "botSpec5Percent"}, + {"data": "botSpec5Trend"}, + {"data": "botSpec5Graph"} ], select: true, dom: "Bfrtip",