CommCodeList.jsp 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572
  1. <%--
  2. - FileName : SYSInputStandardCodeList.jsp
  3. - Author(s) : 천호준
  4. - Date : 2011-09-19
  5. -
  6. --%>
  7. <%@ page contentType="text/html; charset=utf-8" %>
  8. <%@ page import="hwenc.system.HandlerStorage" %>
  9. <%@ page import="kr.co.hsnc.common.util.*" %>
  10. <%@page import="hwenc.pcms.common.code.biz.CommCodeManager"%>
  11. <jsp:useBean id="ctx" class="hwenc.system.context.SessionContext" scope="session" />
  12. <%
  13. ctx.init(request, response);
  14. HandlerStorage storage = ctx.getHandlerStorage();
  15. ValueObject params = storage.getParams();
  16. %>
  17. <SCRIPT language="javascript" src="/active_x/sheet/IBSheetInfo.js"></SCRIPT>
  18. <SCRIPT language="JavaScript">
  19. var t = "";
  20. // t = "삭제|NO|상태|내역코드|내역코드명|약어명|순번|변환코드01|변환코드02|변환코드03|변환코드04|변환코드05|변환코드06|변환코드07|변환코드08|변환코드09|변환코드10|변환코드11|변환코드12|변환코드13|변환코드14|변환코드15|변환코드16|변환코드17|변환코드18|변환코드19|변환코드20|REMARK|기준코드";
  21. t = "삭제|순번|상태|순번|내역코드|내역코드명|약어명|변환코드01|변환코드02|변환코드03|변환코드04|변환코드05|변환코드06|변환코드07|변환코드08|변환코드09|변환코드10|변환코드11|변환코드12|변환코드13|변환코드14|변환코드15|변환코드16|변환코드17|변환코드18|변환코드19|변환코드20|REMARK|기준코드";
  22. // 마지막으로 선택된 행의 번호를 기억하고 있음
  23. var CurMasterRow = 0;
  24. // Sheet의 초기화 작업
  25. function initIBSheet(sheetObj) {
  26. if( sheetObj.id == "sheet1" ) {
  27. with(sheetObj) {
  28. doResizeSheet(sheetObj);
  29. //전체Merge 종류 [선택, Default msNone]
  30. MergeSheet = msNone;
  31. //전체Edit 허용 여부 [선택, Default false]
  32. Editable = true;
  33. //행정보설정[필수][HEADROWS,DATAROWS,VIEWROWS,ONEPAGEROWS=100]
  34. InitRowInfo( 1, 1, 15, 100);
  35. //컬럼정보설정[필수][COLS,FROZENCOL,LEFTHEADCOLS=0,FROZENMOVE=false]
  36. InitColumnInfo(8, 1, 0, true);
  37. //해더행정보[필수][ROW,HEADTEXT,ROWMERGE=false, HIDDEN=false]
  38. InitHeadRow(0, "삭제|순번|Status|기준코드|기준코드명|정렬방법|길이|비고", false);
  39. //헤더기능설정 [선택][SortEnable, ColumnMove, AllCheckEnable, UserResize, RowMove, Head3D]
  40. InitHeadMode(true, false, false, true, false, true);
  41. //데이터속성[ROW,COL,DATATYPE,WIDTH,DATAALIGN,COLMERGE,SAVENAME,KEYFIELD,CALCULOGIC,DATAFORMAT,POINTCOUNT,UPDATEEDIT,INSERTEDIT,EDITLEN,FULLINPUT,SORTENABLE,TOOLTIP,ALLCHECK, SAVESTATUS, FORMATFIX]
  42. <% int colNum = 0; %> //dtDelCheck
  43. InitDataProperty(0, <%=colNum++%>, dtDelCheck, 50, daCenter, false, "DEL_CHECK"); // 1. 삭제여부
  44. InitDataProperty(0, <%=colNum++%>, dtSeq, 50, daCenter, false, "NO"); // 2. 순번
  45. InitDataProperty(0, <%=colNum++%>, dtHiddenStatus, 0, daCenter, false, "STATUS"); // // 3. 상태
  46. InitDataProperty(0, <%=colNum++%>, dtData, 200, daCenter, false, "BASECD" , true, "", dfNone, 0, false, true, 20); // 4. 기준코드
  47. InitDataProperty(0, <%=colNum++%>, dtData, 300, daLeft, false, "BASENM" , true, "", dfNone, 0, true, true, 100); // 5. 기준코드명
  48. //경영관리 고도화 코드통합작업 2010.09.07 정렬방법 추가
  49. InitDataProperty(0, <%=colNum++%>, dtCombo, 60, daCenter, false, "SORT_METHOD" , false, "", dfNone, 0, true, true, 30); // 6. 길이
  50. InitDataProperty(0, <%=colNum++%>, dtData, 60, daCenter, false, "BASELENGT" , false, "", dfInteger, 0, true, true, 30); // 6. 길이
  51. InitDataProperty(0, <%=colNum++%>, dtData, 500, daLeft, false, "REMARK" , false, "", dfNone, 0, true, true, 400); // 7. 비고
  52. //Sheet 나타나도록 설정
  53. Visible = true;
  54. //InitUserFormat(0, "BASECD", "AAA", "" ); //dfUserFormat
  55. InitDataCombo (0, "SORT_METHOD","순번|코드명|한글명|영문명|등록일시|", "1|2|3|4|5|","1");
  56. CountPosition = 2; //화면표준사항-
  57. //WordWrap = true;
  58. AutoRowHeight = true;
  59. ActionMenu = "엑셀다운로드";
  60. }
  61. }
  62. else if( sheetObj.id == "sheet2" ) {
  63. with(sheetObj) {
  64. title = t;
  65. //전체 너비 설정
  66. doResizeSheet(sheetObj);
  67. //전체Merge 종류 [선택, Default msNone]
  68. MergeSheet = msNone;
  69. //전체Edit 허용 여부 [선택, Default false]
  70. Editable = true;
  71. //행정보설정[필수][HEADROWS,DATAROWS,VIEWROWS,ONEPAGEROWS=100]
  72. InitRowInfo( 1, 1, 15, 50);
  73. //컬럼정보설정[필수][COLS,FROZENCOL,LEFTHEADCOLS=0,FROZENMOVE=false]
  74. InitColumnInfo(29, 5, 0, true);
  75. //해더행정보[필수][ROW,HEADTEXT,ROWMERGE=false, HIDDEN=false]
  76. InitHeadRow(0, title, false);
  77. //헤더기능설정 [선택][SortEnable, ColumnMove, AllCheckEnable, UserResize, RowMove, Head3D]
  78. InitHeadMode(true, false, true, true, false, true);
  79. //데이터속성[ROW,COL,DATATYPE,WIDTH,DATAALIGN,COLMERGE,SAVENAME,KEYFIELD,CALCULOGIC,DATAFORMAT,POINTCOUNT,UPDATEEDIT,INSERTEDIT,EDITLEN,FULLINPUT,SORTENABLE,TOOLTIP,ALLCHECK, SAVESTATUS, FORMATFIX]
  80. <% colNum = 0; %>
  81. InitDataProperty(0, <%=colNum++%>, dtDelCheck, 50, daCenter, false, "DEL_CHECK"); // 1. 삭제
  82. InitDataProperty(0, <%=colNum++%>, dtHidden, 40, daCenter, false, "NO"); // 2. 순번
  83. InitDataProperty(0, <%=colNum++%>, dtHiddenStatus, 0, daCenter, false, "STATUS"); // 3. 상태
  84. //경영관리 고도화 코드통합작업 2010.09.07 순번 추가
  85. InitDataProperty(0, <%=colNum++%>, dtData, 50, daCenter, false, "SORT_NO", true, "", dfNone, 0, true, true, 30); // 7. 약어명
  86. InitDataProperty(0, <%=colNum++%>, dtData, 80, daCenter, false, "DETAILCD", true, "", dfNone, 0, false, true, 10); // 4. 내역코드
  87. InitDataProperty(0, <%=colNum++%>, dtData, 200, daLeft, false, "DETAILNM", true, "", dfNone, 0, true, true, 100); // 5. 내역코드명
  88. InitDataProperty(0, <%=colNum++%>, dtData, 150, daLeft, false, "DETAILSORTNM", false, "", dfNone, 0, true, true, 30); // 7. 약어명
  89. InitDataProperty(0, <%=colNum++%>, dtData, 150, daLeft, false, "CHG_CODE01", false, "", dfNone, 0, true, true, 50); // 8. 변환코드01
  90. InitDataProperty(0, <%=colNum++%>, dtData, 150, daLeft, false, "CHG_CODE02", false, "", dfNone, 0, true, true, 50); // 9. 변환코드02
  91. InitDataProperty(0, <%=colNum++%>, dtData, 150, daLeft, false, "CHG_CODE03", false, "", dfNone, 0, true, true, 50); //10. 변환코드03
  92. InitDataProperty(0, <%=colNum++%>, dtData, 150, daLeft, false, "CHG_CODE04", false, "", dfNone, 0, true, true, 50); //11. 변환코드04
  93. InitDataProperty(0, <%=colNum++%>, dtData, 150, daLeft, false, "CHG_CODE05", false, "", dfNone, 0, true, true, 50); //12. 변환코드05
  94. InitDataProperty(0, <%=colNum++%>, dtData, 150, daLeft, false, "CHG_CODE06", false, "", dfNone, 0, true, true, 50); //13. 변환코드06
  95. InitDataProperty(0, <%=colNum++%>, dtData, 150, daLeft, false, "CHG_CODE07", false, "", dfNone, 0, true, true, 50); //14. 변환코드07
  96. InitDataProperty(0, <%=colNum++%>, dtData, 150, daLeft, false, "CHG_CODE08", false, "", dfNone, 0, true, true, 50); //15. 변환코드08
  97. InitDataProperty(0, <%=colNum++%>, dtData, 150, daLeft, false, "CHG_CODE09", false, "", dfNone, 0, true, true, 50); //16. 변환코드09
  98. InitDataProperty(0, <%=colNum++%>, dtData, 150, daLeft, false, "CHG_CODE10", false, "", dfNone, 0, true, true, 50); //17. 변환코드10
  99. InitDataProperty(0, <%=colNum++%>, dtData, 150, daLeft, false, "CHG_CODE11", false, "", dfNone, 0, true, true, 50); //18. 변환코드11
  100. InitDataProperty(0, <%=colNum++%>, dtData, 150, daLeft, false, "CHG_CODE12", false, "", dfNone, 0, true, true, 50); //19. 변환코드12
  101. InitDataProperty(0, <%=colNum++%>, dtData, 150, daLeft, false, "CHG_CODE13", false, "", dfNone, 0, true, true, 50); //20. 변환코드13
  102. InitDataProperty(0, <%=colNum++%>, dtData, 150, daLeft, false, "CHG_CODE14", false, "", dfNone, 0, true, true, 50); //21. 변환코드14
  103. InitDataProperty(0, <%=colNum++%>, dtData, 150, daLeft, false, "CHG_CODE15", false, "", dfNone, 0, true, true, 50); //22. 변환코드15
  104. InitDataProperty(0, <%=colNum++%>, dtData, 150, daLeft, false, "CHG_CODE16", false, "", dfNone, 0, true, true, 50); //23. 변환코드16
  105. InitDataProperty(0, <%=colNum++%>, dtData, 150, daLeft, false, "CHG_CODE17", false, "", dfNone, 0, true, true, 50); //24. 변환코드17
  106. InitDataProperty(0, <%=colNum++%>, dtData, 150, daLeft, false, "CHG_CODE18", false, "", dfNone, 0, true, true, 50); //25. 변환코드18
  107. InitDataProperty(0, <%=colNum++%>, dtData, 150, daLeft, false, "CHG_CODE19", false, "", dfNone, 0, true, true, 50); //26. 변환코드19
  108. InitDataProperty(0, <%=colNum++%>, dtData, 150, daLeft, false, "CHG_CODE20", false, "", dfNone, 0, true, true, 50); //27. 변환코드20
  109. InitDataProperty(0, <%=colNum++%>, dtData, 150, daLeft, false, "REMARK", false, "", dfNone, 0, true, true, 400); //28. REMARK
  110. InitDataProperty(0, <%=colNum++%>, dtHidden, 80, daCenter, false, "BASECD"); // 4. 기준코드
  111. //Sheet 나타나도록 설정
  112. Visible = true;
  113. CountPosition = 2; //화면표준사항-
  114. //WordWrap = true;
  115. AutoRowHeight = true;
  116. ActionMenu = "엑셀다운로드";
  117. }
  118. }
  119. }
  120. // 선택된 기준코드를 설정
  121. function getBaseCode(sheetObj, row, col ) {
  122. var f = document.form1;
  123. sText = sheetObj.CellText(row,col);
  124. f.p_basecd.value = sText;
  125. }
  126. // 기준코드목록 또는 기준코드상세목록 설정(기준코드목록 : 'M', 기준코드상세목록 : 'D')
  127. function setWorkGubun(workgubun) {
  128. var f = document.form1;
  129. f.work_gubun.value = workgubun;
  130. }
  131. // 다음페이지 검색 호출
  132. function doScrollNext(sheetObj, preSearchParams, currPage, onePageRows) {
  133. searchIBSheetByPage("/sys/SYSInputStandardCodeList_data.screen", preSearchParams, currPage, onePageRows, sheetObj);
  134. //마지막으로 선택된 행이 없음
  135. CurMasterRow= 0;
  136. }
  137. // 검색
  138. function doSearch(sheetObj, sheetObj2) {
  139. // 기준코드목록 조회
  140. doSearch_code_list(sheetObj);
  141. // 조회시 기준코드목록의 첫번째 기준코드 코드값을 얻어온다.
  142. getBaseCode(sheetObj, 1, 3 );
  143. // 기준코드상세목록 조회
  144. //doSearch_detail_list(sheetObj2);
  145. setWorkGubun('M');
  146. }
  147. document.body.onresize = addEvent( document.body.onresize, "doResizeSheet(document.all.sheet1)");
  148. document.body.onload = doPageInit;
  149. //페이지 초기화 함수
  150. function doPageInit() {
  151. doResizeSheet(document.all.sheet1);
  152. doSearch(document.all.sheet1,document.all.sheet2);
  153. }
  154. function doSearch_code_list(sheetObj) {
  155. searchIBSheet("/sys/SYSInputStandardCodeList_data.screen", "GET_STANDARDCODE_LIST", document.form1, sheetObj);
  156. doResizeSheet(document.all.sheet1);
  157. //마지막으로 선택된 행이 없음
  158. CurMasterRow= 0;
  159. doResizeSheet(sheetObj);
  160. }
  161. // 기준목록에 대한 detail 목록 조회
  162. function doSearch_detail_list(sheetObj) {
  163. var f = document.form1;
  164. f.isSubmit = false;
  165. f = document.form1;
  166. f.p_head_nm.value = t; // ibsheet 타이틀
  167. //alert(f.p_head_nm.value);
  168. f.p_save_nm.value = IBS_ConcatSaveName(sheetObj);
  169. //alert(f.p_save_nm.value);
  170. searchIBSheet("/sys/SYSInputStandardCodeListDetail_data.screen", "GET_STANDARDCODEDETAIL_LIST", f, sheetObj);
  171. //doResizeSheet(sheetObj);
  172. }
  173. //추가입력
  174. function doInsert(sheetObj, sheetObj2) {
  175. var f = document.form1;
  176. var msg = '기준코드가 없습니다. 기준코드 목록을 선택하세요.';
  177. if (f.work_gubun.value == 'M') { // 기준코드목록에 추가
  178. f.p_basecd.value = "";
  179. doInsert_code_list(sheetObj);
  180. } else if (f.work_gubun.value == 'D') { // 기준코드상세목록에 추가
  181. if (f.p_basecd.value == '') {
  182. dlgAlert(msg);
  183. return;
  184. }
  185. doInsert_detail_list(sheetObj2);
  186. }
  187. }
  188. // 기준자료 목록 레코드추가
  189. function doInsert_code_list(sheetObj) {
  190. var f = document.form1;
  191. sheetObj.DataAutoTrim = false;
  192. var rowIndex = sheetObj.DataInsert();
  193. f.p_basecd.value = "";
  194. document.all.sheet2.RemoveAll();
  195. document.all.sheet1.SelectCell(rowIndex, 3, false, false);
  196. }
  197. // 기준목록에 대한 detail 목록 레코드추가
  198. function doInsert_detail_list(sheetObj) {
  199. var f = document.form1;
  200. var msg = '기준코드 목록을 기준코드를 등록하세요.';
  201. if(f.p_basecd.value == "") {
  202. dlgAlert(msg);
  203. return;
  204. }
  205. sheetObj.DataAutoTrim = false;
  206. var rowIndex = sheetObj.DataInsert();
  207. //경영정보 고도화 코드통합 작업 순번 추가 2010.09.06
  208. sheetObj.CellText(rowIndex,"SORT_NO") = sheetObj.RowCount;
  209. sheetObj.CellText(rowIndex,"BASECD") = f.p_basecd.value;
  210. setWorkGubun('D');
  211. document.all.sheet2.SelectCell(rowIndex, 3, false, false);
  212. }
  213. // 저장 처리
  214. function doSave(sheetObj, sheetObj2) {
  215. // 기준코드목록에 입력/수정/삭제된 데이터가 한건이라도 있으면 저장함수를 호출한다.
  216. if(sheetObj.RowCount("I") > 0 || sheetObj.RowCount("U") > 0 || sheetObj.RowCount("D") > 0) {
  217. submitIBSheetRequest("/sys/SYSInputStandardCodeList_process.screen", "SAVE_STANDARDCODE_LIST", document.form1, sheetObj);
  218. }
  219. // 기준코드 상세목록에 입력/수정/삭제된 데이터가 한건이라도 있으면 저장함수를 호출한다.
  220. if(sheetObj2.RowCount("I") > 0 || sheetObj2.RowCount("U") > 0 || sheetObj2.RowCount("D") > 0) {
  221. //순번 다시 지정
  222. if(sheetObj2.RowCount("D") > 0){
  223. var temp_no = 1;
  224. for(i=1;i<=sheetObj2.RowCount;i++){
  225. if(sheetObj2.RowStatus(i) != "D"){
  226. if(sheetObj2.CellText(i,"SORT_NO") != temp_no){
  227. sheetObj2.CellText(i,"SORT_NO") = temp_no;
  228. sheetObj2.RowStatus(i)= "U";
  229. }
  230. temp_no++
  231. }
  232. }
  233. }
  234. submitIBSheetRequest("/sys/SYSInputStandardCodeListDetail_process.screen", "SAVE_STANDARDCODEDETAIL_LIST", document.form1, sheetObj2);
  235. }
  236. }
  237. // 코드 설명 추가페이지
  238. function add_desc()
  239. {
  240. var f = document.form1;
  241. var mySheet2 = document.all.sheet2;
  242. var colNames ="";
  243. var colTexts ="";
  244. var etcCol ="SORT_NO"; //제외할 컬럼 명을 넣습니다.
  245. var etcText ="삭제|순번|상태";
  246. for(i =0;i<=mySheet2.LastCol;i++){ // LastCol(컬럼의 갯수)
  247. if(!mySheet2.ColHidden(i)){ // 컬럼 타이입이 히든이 아인경우만 처리
  248. if(mySheet2.ColSaveName(i).indexOf("CHECK") ==-1){ // 기본 설정 제외컬럼
  249. if( etcCol.indexOf(mySheet2.ColSaveName(i)) ==-1){ // 제외하고자 하는 컬럼
  250. colNames = colNames + mySheet2.ColSaveName(i) +";";
  251. }
  252. }
  253. }
  254. }
  255. var colText_temp = t.split("|");
  256. for(i=0;i<colText_temp.length;i++){
  257. if(etcText.indexOf(colText_temp[i]) ==-1){
  258. colTexts = colTexts + colText_temp[i] +";";
  259. }
  260. }
  261. var arg = new Array();
  262. arg[0] = this.window; // window
  263. arg[1] = document.all.sheet2; // SHEET 명
  264. arg[2] = colNames; // ColName
  265. arg[3] = colTexts; // ConText
  266. //p_save_nm , p_head_nm
  267. var m_result = window.showModalDialog("/code/CommCodeDescList.screen?fevent=GET_DESC&p_table_nm=COM911T&p_base_cd="+f.p_basecd.value, arg, 'dialogWidth:800px;dialogHeight:450px; center:yes; help:no; status:no; scroll:auto; resizable:yes');
  268. doSearch_detail_list(document.all.sheet2);
  269. // f.fevent.value = "GET_DESC";
  270. // f.action = '/code/CommCodeDescList.screen';
  271. // formSubmit(f);
  272. }
  273. // 저장 처리 결과를 받는 예약 함수
  274. function doResult(resultObj) {
  275. try {
  276. // 기준코드목록 저장결과
  277. if( resultObj.getRequestEvent() == "SAVE_STANDARDCODE_LIST" ) {
  278. if( resultObj.getSuccess() ) {
  279. dlgAlert("기준코드목록을 처리 완료했습니다.");
  280. doSearch(document.all.sheet1, document.all.sheet2);
  281. }
  282. else {
  283. dlgAlert(resultObj.getMessage());
  284. }
  285. document.form1.isSubmit = false;
  286. // 기준코드 상세목록 저장결과
  287. } else if( resultObj.getRequestEvent() == "SAVE_STANDARDCODEDETAIL_LIST" ) {
  288. if( resultObj.getSuccess() ) {
  289. dlgAlert("상세내역을 처리 완료했습니다.");
  290. doSearch_detail_list(document.all.sheet2);
  291. }
  292. else {
  293. dlgAlert(resultObj.getMessage());
  294. }
  295. document.form1.isSubmit = false;
  296. }/* else if( resultObj.getRequestEvent() == "GET_STANDARDCODEDETAIL_LIST" ) {
  297. if( resultObj.getSuccess() ) {
  298. //dlgAlert("상세내역을 처리 완료했습니다.");
  299. //doSearch_detail_list(document.all.sheet2);
  300. }
  301. else {
  302. dlgAlert(resultObj.getMessage());
  303. }
  304. document.form1.isSubmit = false;
  305. }*/
  306. }
  307. catch(errorObject) {
  308. dlgErrorAlert("doResult()", errorObject);
  309. }
  310. }
  311. /*조회조건 에터키 이력시 조회*/
  312. function check_Enter(sheetObj)
  313. {
  314. if (event.keyCode==13){
  315. doSearch(sheetObj);
  316. }
  317. }
  318. </SCRIPT>
  319. <!-- 셀을 마우스를 이용하여 클릭 했을때 발생하는 이벤트 -->
  320. <SCRIPT language="javascript" for="sheet1" event="OnClick(Row,Col,Value)">
  321. // 현재선택한 체크박스이면 이전거는 지우고 현재것만 체크함.
  322. var sName = sheet1.ColSaveName(Col);
  323. if ( sName == "DEL_CHECK") {
  324. if (CheckedRows(0) > 0) {
  325. var sRow = sheet1.FindStatusRow("D");
  326. // 받은 결과를 배열로 생성한다.
  327. var arRow = sRow.split(";");
  328. if(Row != arRow[0]) {
  329. sheet1.CellValue(arRow[0],0 ) = 0;
  330. }
  331. }
  332. }
  333. // 기준코드목록클릭시 해당로우의 기준코드 코드값을 얻어온다.
  334. getBaseCode(document.all.sheet1, Row, 3 );
  335. setWorkGubun('M');
  336. if (CurMasterRow != Row) {
  337. // 기준코드 상세목록에 입력/수정/삭제된 데이터가 한건이라도 있으면 저장함수를 호출한다.
  338. if(document.all.sheet2.RowCount("I") > 0 || document.all.sheet2.RowCount("U") > 0 || document.all.sheet2.RowCount("D") > 0) {
  339. if( dlgConfirm("기준코드 상세목록을 저장하시겠습니까?")) {
  340. submitIBSheetRequest("/sys/SYSInputStandardCodeListDetail_process.screen", "SAVE_STANDARDCODEDETAIL_LIST", document.form1, document.all.sheet2);
  341. }
  342. }
  343. // 마스터가 세로 생긴로우인지를 체크한다.
  344. if (sheet1.RowStatus(Row) != 'I') {
  345. doSearch_detail_list(document.all.sheet2);
  346. } else {
  347. sheet2.RemoveAll();
  348. }
  349. sheet1.SelectCell(Row, Col, false, Value);
  350. }
  351. // 마지막으로 선택된 행을 저장한다.
  352. CurMasterRow = Row;
  353. </SCRIPT>
  354. <script language="javascript" for="sheet1" event="OnSelectMenu(sAction)">
  355. //메뉴에 대한 처리
  356. switch(sAction){
  357. case "엑셀다운로드" :
  358. sheet1.SpeedDown2Excel(-1); break;
  359. }
  360. </script>
  361. <script language="javascript" for="sheet2" event="OnSelectMenu(sAction)">
  362. //메뉴에 대한 처리
  363. switch(sAction){
  364. case "엑셀다운로드" :
  365. sheet2.SpeedDown2Excel(-1); break;
  366. }
  367. </script>
  368. <SCRIPT language="javascript" for="sheet2" event="OnClick(Row,Col,Value)">
  369. setWorkGubun('D');
  370. // 마지막으로 선택된 행을 0 으로 설정한다.
  371. CurMasterRow = 0;
  372. </SCRIPT>
  373. <SCRIPT language="javascript" for="sheet2" event="OnMouseDown(Button, Shift, X, Y)">
  374. setWorkGubun('D');
  375. // 마지막으로 선택된 행을 0 으로 설정한다.
  376. CurMasterRow = 0;
  377. </SCRIPT>
  378. <Script language="javascript" for="sheet1" event="OnKeyUp(Row,Col,KeyCode,Shift)">
  379. </script>
  380. <Script language="javascript" for="sheet2" event="OnKeyUp(Row,Col,KeyCode,Shift)">
  381. </script>
  382. <script language="JavaScript" for="sheet2" event="OnSearchEnd(ErrMsg)">
  383. var title = sheet2.EtcData("head_title");
  384. var titleSplit = title.split('|');
  385. for(var i = 0; i < titleSplit.length; i++) {
  386. CellText(0, i) = titleSplit[i];
  387. }
  388. </SCRIPT>
  389. <FORM name="form1">
  390. <INPUT type="hidden" name="fevent">
  391. <input type=hidden name=p_basecd value="">
  392. <input type=hidden name=work_gubun value='M'>
  393. <input type=hidden name=work_flag value='F'>
  394. <input type=hidden name=title value="">
  395. <INPUT type="hidden" name="p_table_nm" value="COM911T">
  396. <INPUT type="hidden" name="p_head_nm" value="">
  397. <INPUT type="hidden" name="p_save_nm" value="">
  398. <TABLE border="0" cellspacing="0" cellpadding="0" width="100%" height="100%"> <!-- 전체 Table -->
  399. <!-- 검색조건 영역 : 타이블 영역 -->
  400. <TR >
  401. <TD height="1">
  402. <TABLE class="screen_title_table">
  403. <TR height="2"><TD colspan="2">&nbsp;</TD></TR>
  404. <TR height="27">
  405. <TD width="16" valign="middle"><IMG src="/img/template/bullet_03.gif"></TD>
  406. <TD width="100%" class="screen_title_text"><%=storage.getPgmName()%></TD>
  407. </TR>
  408. </TABLE>
  409. </TD>
  410. </TR>
  411. <!-- 검색조건 영역 : 시작 -->
  412. <TR >
  413. <TD height="1">
  414. <TABLE cellspacing="1" cellpadding="0" class="search_table">
  415. <TR height="26">
  416. <TD width="10%" class="search_table_title"><IMG src="/img/temp/bullet_01.gif">기준코드명</TD>
  417. <TD width="*" class="search_table_data">
  418. &nbsp;<INPUT type="text" name='p_basenm' class="input" value="<%= params.get("p_basenm") %>" style="width:15%" >
  419. </TD>
  420. <TD width="300" rowspan="3" class="search_button">
  421. <TABLE border="0" cellpadding="0" cellspacing="0" align="center">
  422. <TR>
  423. <TD width="10"></TD>
  424. <TD>
  425. <IMG src="/img/button/bt_add_desc.gif" alt="설명추가" border="0" onclick="javascript:add_desc()" style="cursor:hand;" align="absmiddle">&nbsp;
  426. </TD>
  427. <TD width="5"></TD>
  428. <TD>
  429. <IMG src="/img/button/bt_search.gif" alt="검색" border="0" onclick="doSearch(document.all.sheet1, document.all.sheet2)" style="cursor:hand;" align="absmiddle">&nbsp;
  430. </TD>
  431. <TD width="5"></TD>
  432. <TD>
  433. <IMG src="/img/button/bt_add.gif" alt="추가" border="0" onclick="doInsert(document.all.sheet1, document.all.sheet2);" style="cursor:hand;" align="absmiddle">&nbsp;
  434. </TD>
  435. <TD width="5"></TD>
  436. <TD>
  437. <IMG src="/img/button/bt_save.gif" alt="저장" border="0" onclick="doSave(document.all.sheet1, document.all.sheet2);" style="cursor:hand;" align="absmiddle">&nbsp;
  438. </TD>
  439. <TD width="10"></TD>
  440. </TR>
  441. </TABLE>
  442. </TD>
  443. </TR>
  444. </TABLE>
  445. </TD>
  446. </TR>
  447. <!-- 검색조건 영역 : 종료 -->
  448. <!-- 검색조건 영역, 테이터 영역 구분 여백 : 시작 -->
  449. <TR height="5">
  450. <TD>
  451. <TABLE border="0" cellspacing="0" cellpadding="0" class="search_data_div_height">
  452. <TR><TD></TD></TR>
  453. </TABLE>
  454. </TD>
  455. </TR>
  456. <!-- 검색조건 영역, 테이터 영역 구분 여백 : 종료 -->
  457. <!-- 데이터 영역 : IBSheet1 시작 -->
  458. <TR>
  459. <TD id="sheet1_td" >
  460. <SCRIPT>
  461. var sheetObj = new IBSheetObject("sheet1");
  462. sheetObj.display();
  463. </SCRIPT>
  464. </TD>
  465. </TR>
  466. <!-- 검색조건 영역, 테이터 영역 구분 여백 : 시작 -->
  467. <TR>
  468. <TD height="3">
  469. <TABLE border="0" cellspacing="0" cellpadding="0" class="search_data_div_height">
  470. <TR>
  471. <TD>
  472. </TD>
  473. </TR>
  474. </TABLE>
  475. </TD>
  476. </TR>
  477. <!-- 검색조건 영역, 테이터 영역 구분 여백 : 종료 -->
  478. <!-- 데이터 영역 : IBSheet2 시작 -->
  479. <TR>
  480. <TD id="sheet2_td" >
  481. <SCRIPT>
  482. var sheetObj1 = new IBSheetObject("sheet2");
  483. sheetObj1.display();
  484. </SCRIPT>
  485. </TD>
  486. </TR>
  487. <TR><TD height="5">&nbsp;</TD>
  488. <!-- 데이터 영역 : 종료 -->
  489. </TR>
  490. </TABLE><!-- 전체 Table -->
  491. </FORM>