SMMNP00720.xjs 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[var sLGridXPath = ds_main_list_codelists_lrglist;
  3. var sGGridXPath = ds_main_list_codelists_codelist;
  4. function fInitialize()
  5. {
  6. ds_main_list_codelists_codelist.clearData();
  7. ds_main_list_codelists_lrglist.clearData();
  8. ds_send.clearData();
  9. ds_send.addRow();
  10. group2.cmb_useyn.index = 2;
  11. group2.cmb_defaultyn.index = 2;
  12. //대분류 콤보 리스트 조회
  13. fGetLrgList();
  14. fbtnSearch();
  15. }
  16. function fGetLrgList(pFlag)
  17. {
  18. ds_send.setColumn(0, "temp","temp");
  19. ds_init_lrgcombolists_lrglist.clearData();
  20. var oParam = {};
  21. oParam.id = "TRMNP00721";
  22. oParam.service = "opanstapp.OpAnstRef";
  23. oParam.method = "reqGetMnphrevmLrgInitList";
  24. oParam.inds = "req=ds_send";
  25. oParam.outds = "ds_init_lrgcombolists_lrglist=lrglist";
  26. oParam.async = false;
  27. //oParam.callback = "cf_TRMNP00721";
  28. tranf_submit(oParam);
  29. frmf_addComboItem( "group2.combo1", "전체", "%", "above" );
  30. if(pFlag != "" && !utlf_isNull(pFlag) && pFlag != "undefined")
  31. {
  32. ds_send.setColumn(0, "s_lrgcd",pFlag);
  33. }
  34. else
  35. {
  36. ds_send.setColumn(0, "s_lrgcd","%");
  37. }
  38. }
  39. function fbtnSearch()
  40. {
  41. ds_main_list_codelists_codelist.clearData();
  42. ds_main_list_codelists_lrglist.clearData();
  43. ds_send.updateColID("s_defaultyn", "defaultyn");
  44. ds_send.updateColID("s_useyn", "useyn");
  45. ds_send.updateColID("s_codename", "codename");
  46. ds_send.updateColID("s_lrgcd", "lrgcd");
  47. var oParam = {};
  48. oParam.id = "TRMNP00720";
  49. oParam.service = "opanstapp.OpAnstRef";
  50. oParam.method = "reqGetMnphrevmList";
  51. oParam.inds = "req=ds_send";
  52. oParam.outds = "ds_main_list_codelists_codelist=codelist ds_main_list_codelists_lrglist=lrglist";
  53. oParam.async = false;
  54. //oParam.callback = "cf_TRMNP00720";
  55. tranf_submit(oParam);
  56. //insert, update, delete SQL 실행 시 사용하는 컬럼이 달라서 추가함.
  57. var rtn = ds_main_list_codelists_codelist.addColumn("org_lrgcd", "string");
  58. for(var i = 0; i < ds_main_list_codelists_codelist.rowcount; i++)
  59. {
  60. ds_main_list_codelists_codelist.updatecontrol = false;
  61. ds_main_list_codelists_codelist.setColumn(i, "org_lrgcd", ds_main_list_codelists_codelist.getColumn(i, "lrgcd"));
  62. ds_main_list_codelists_codelist.updatecontrol = true;
  63. }
  64. ds_main_list_codelists_lrglist.addColumn("org_vsitemcd", "string");
  65. ds_main_list_codelists_lrglist.addColumn("org_vsitemnm", "string");
  66. for(var i = 0; i < ds_main_list_codelists_lrglist.rowcount; i++)
  67. {
  68. ds_main_list_codelists_lrglist.updatecontrol = false;
  69. ds_main_list_codelists_lrglist.setColumn(i, "org_vsitemcd", ds_main_list_codelists_lrglist.getColumn(i, "vsitemcd"));
  70. ds_main_list_codelists_lrglist.setColumn(i, "org_vsitemnm", ds_main_list_codelists_lrglist.getColumn(i, "vsitemnm"));
  71. ds_main_list_codelists_lrglist.updatecontrol = true;
  72. }
  73. ds_send.updateColID("defaultyn", "s_defaultyn");
  74. ds_send.updateColID("useyn", "s_useyn");
  75. ds_send.updateColID("codename", "s_codename");
  76. ds_send.updateColID("lrgcd", "s_lrgcd");
  77. }
  78. function fRowChanged()
  79. {
  80. var cur_row = ds_main_list_codelists_codelist.rowposition;
  81. if ( cur_row >= 0 )
  82. {
  83. ds_main_item.copyData(ds_main_list_codelists_codelist)
  84. ds_main_item.clearData();
  85. ds_main_item.copyRow(ds_main_item.addRow(), ds_main_list_codelists_codelist, cur_row);
  86. }
  87. }
  88. function fClickLrgGrid()
  89. {
  90. var cur_LrgRow = ds_main_list_codelists_lrglist.rowposition;
  91. if(cur_LrgRow >= 0)
  92. {
  93. ds_main_list_codelists_codelist.clearData();
  94. ds_hidden_itemlists_codelist.clearData();
  95. ds_send.setColumn(0, "s_lrgcd", ds_main_list_codelists_lrglist.getColumn(cur_LrgRow, "lrgcd"));
  96. ds_send.updateColID("s_defaultyn", "defaultyn");
  97. ds_send.updateColID("s_useyn", "useyn");
  98. ds_send.updateColID("s_codename", "codename");
  99. ds_send.updateColID("s_lrgcd", "lrgcd");
  100. var oParam = {};
  101. oParam.id = "TRMNP00722";
  102. oParam.service = "opanstapp.OpAnstRef";
  103. oParam.method = "reqGetMnphrevmList";
  104. oParam.inds = "req=ds_send";
  105. oParam.outds = "ds_hidden_itemlists_codelist=codelist";
  106. oParam.async = false;
  107. //oParam.callback = "cf_TRMNP00722";
  108. tranf_submit(oParam);
  109. ds_send.updateColID("defaultyn", "s_defaultyn");
  110. ds_send.updateColID("useyn", "s_useyn");
  111. ds_send.updateColID("codename", "s_codename");
  112. ds_send.updateColID("lrgcd", "s_lrgcd");
  113. var iItemcnt = ds_hidden_itemlists_codelist.rowcount;
  114. if(iItemcnt > 0)
  115. {
  116. ds_main_list_codelists_codelist.copyData(ds_hidden_itemlists_codelist);
  117. //insert, update, delete SQL 실행 시 사용하는 컬럼이 달라서 추가함.
  118. var rtn = ds_main_list_codelists_codelist.addColumn("org_lrgcd", "string");
  119. for(var i = 0; i < ds_main_list_codelists_codelist.rowcount; i++)
  120. {
  121. ds_main_list_codelists_codelist.updatecontrol = false;
  122. ds_main_list_codelists_codelist.setColumn(i, "org_lrgcd", ds_main_list_codelists_codelist.getColumn(i, "lrgcd"));
  123. ds_main_list_codelists_codelist.updatecontrol = true;
  124. }
  125. }
  126. }
  127. }
  128. function fGridValueChanged()
  129. {
  130. var cur_row = ds_main_list_codelists_codelist.rowposition; // 추가된 행 번호 가져오기
  131. var cur_cel = grd_codelist.currentcell;
  132. var cnt_row = ds_main_list_codelists_codelist.rowcount; // 현재 행의 갯수 가져오기
  133. if(cur_cel == 4)
  134. {
  135. if(ds_main_list_codelists_codelist.getColumn(cur_row, "vsitemcd") == "00000")
  136. {
  137. sysf_messageBox("00000 항목코드는 사용하실 수 없습니다. ","I000");
  138. ds_main_list_codelists_codelist.setColumn(cur_row, "vsitemcd" , ds_main_list_codelists_codelist.getColumn(cur_row, "org_vsitemcd"));
  139. grd_codelist.setCellPos(4);
  140. grd_codelist.showEditor(true);
  141. ds_main_list_codelists_codelist.updatecontrol = false;
  142. ds_main_list_codelists_codelist.setRowType(cur_row, "");
  143. ds_main_list_codelists_codelist.updatecontrol = true;
  144. }
  145. }
  146. }
  147. function fClickLrgRowAddBtn()
  148. {
  149. var cur_row = ds_main_list_codelists_lrglist.addRow(); // 입력할 행 추가.
  150. var cnt_row = ds_main_list_codelists_lrglist.rowcount; // 현재 행의 갯수 가져오기
  151. //줄 추가시 기본세팅
  152. sLGridXPath.setColumn(cur_row, "vsitemcd","00000");
  153. sLGridXPath.setColumn(cur_row, "vsitemnm","-");
  154. sLGridXPath.setColumn(cur_row, "defaultyn","-");
  155. sLGridXPath.setColumn(cur_row, "useyn","Y");
  156. sLGridXPath.setColumn(cur_row, "sortno","0");
  157. sLGridXPath.setColumn(cur_row, "ioflag","-");
  158. //현재 사용하지 않는 이력관리용 frdd, todd
  159. sLGridXPath.setColumn(cur_row, "frdd","20081003");
  160. sLGridXPath.setColumn(cur_row, "todd","29991231");
  161. ds_main_list_codelists_lrglist.rowposition = cur_row;
  162. datagrid1.setCellPos(2);
  163. datagrid1.showEditor(true);
  164. }
  165. function fClickLrgDeleteBtn()
  166. {
  167. var cur_row = ds_main_list_codelists_lrglist.rowposition; // 행 번호 가져오기
  168. var iStatus = ds_main_list_codelists_lrglist.getRowType(cur_row);
  169. if(cur_row < 0)
  170. {
  171. alert("삭제할 행을 선택하시기 바랍니다...");
  172. return;
  173. }
  174. if( sysf_messageBox(ds_main_list_codelists_lrglist.getColumn(cur_row, "lrgnm")+" 분류에 포함된 모든 항목이 삭제됩니다. 삭제하시겠습니까? ","Q000") != "6")
  175. {
  176. return;
  177. }
  178. if (iStatus == 2)
  179. { // 새로 삽입된 행이면
  180. ds_main_list_codelists_lrglist.deleteRow(cur_row);
  181. }
  182. else if (iStatus == 8)
  183. { // 삭제로 표시된 행이면
  184. ds_main_list_codelists_lrglist.updatecontrol = false;
  185. ds_main_list_codelists_lrglist.setRowType(cur_row, "");
  186. ds_main_list_codelists_lrglist.updatecontrol = true;
  187. }
  188. else
  189. {
  190. ds_main_list_codelists_lrglist.updatecontrol = false;
  191. ds_main_list_codelists_lrglist.setRowType(cur_row, "d");
  192. ds_main_list_codelists_lrglist.updatecontrol = true;
  193. }
  194. }
  195. function fOnClickExcelBtn()
  196. {
  197. grdf_exportExcel(grd_codelist, "excel", "Sheet1", "true", "", "");
  198. }
  199. function fClickRowAddBtn()
  200. {
  201. var cur_LrgRow = ds_main_list_codelists_lrglist.rowposition; // 행 번호 가져오기
  202. if(cur_LrgRow < 0)
  203. {
  204. alert("분류를 선택하시기 바랍니다...");
  205. return;
  206. }
  207. var cur_row = ds_main_list_codelists_codelist.addRow(); // 추가된 행 번호 가져오기
  208. var cnt_row = ds_main_list_codelists_codelist.rowcount; // 현재 행의 갯수 가져오기
  209. //줄 추가시 기본세팅
  210. //대분류코드, 명칭
  211. sGGridXPath.setColumn(cur_row, "lrgcd", ds_main_list_codelists_lrglist.getColumn(cur_LrgRow, "lrgcd"));
  212. sGGridXPath.setColumn(cur_row, "lrgnm", ds_main_list_codelists_lrglist.getColumn(cur_LrgRow, "lrgnm"));
  213. sGGridXPath.setColumn(cur_row, "lrgsortno", ds_main_list_codelists_lrglist.getColumn(cur_LrgRow, "lrgsortno"));
  214. sGGridXPath.setColumn(cur_row, "useyn", "Y");
  215. sGGridXPath.setColumn(cur_row, "defaultyn", "Y");
  216. //현재 사용하지 않는 이력관리용 frdd, todd
  217. sGGridXPath.setColumn(cur_row, "frdd", "20081003");
  218. sGGridXPath.setColumn(cur_row, "todd", "29991231");
  219. ds_main_list_codelists_codelist.rowposition = cur_row;
  220. grd_codelist.setCellPos(2);
  221. grd_codelist.showEditor(true);
  222. }
  223. function fClickDeleteBtn()
  224. {
  225. var cur_row = ds_main_list_codelists_codelist.rowposition; // 행 번호 가져오기
  226. var iStatus = ds_main_list_codelists_codelist.getRowType(cur_row);
  227. if(cur_row < 0)
  228. {
  229. alert("삭제할 행을 선택하시기 바랍니다...");
  230. return;
  231. }
  232. if (iStatus == 2)
  233. { // 새로 삽입된 행이면
  234. ds_main_list_codelists_codelist.deleteRow(cur_row);
  235. }
  236. else if (iStatus == 8)
  237. { // 삭제로 표시된 행이면
  238. ds_main_list_codelists_codelist.updatecontrol = false;
  239. ds_main_list_codelists_codelist.setRowType(cur_row, "");
  240. ds_main_list_codelists_codelist.updatecontrol = true;
  241. }
  242. else
  243. {
  244. ds_main_list_codelists_codelist.updatecontrol = false;
  245. ds_main_list_codelists_codelist.setRowType(cur_row, "d");
  246. ds_main_list_codelists_codelist.updatecontrol = true;
  247. }
  248. }
  249. function checkGridUpdate(grid)
  250. {
  251. var iData = grdf_getGridUpdateData(grid, "i");
  252. var uData = grdf_getGridUpdateData(grid, "u");
  253. var dData = grdf_getGridUpdateData(grid, "d");
  254. if (iData.rowcount == 0&& uData.rowcount == 0 && dData.rowcount == 0) return false;
  255. else return true;
  256. }
  257. function checkGridField(grid, field)
  258. {
  259. var nodeset = this.objects[grid.binddataset];
  260. var iStatus;
  261. for (var i = 0; i < nodeset.rowcount; i++)
  262. {
  263. iStatus = nodeset.getRowType(i);
  264. if (iStatus == 2 || iStatus == 4)
  265. {
  266. var fieldArr = field.split("▦");
  267. if(fieldArr.length < 1)
  268. {
  269. return false;
  270. }
  271. for(var j = 0; j < fieldArr.length; j++)
  272. {
  273. if(utlf_isNull(fieldArr[j]) || fieldArr[j] == "" || fieldArr[j] == "undefined")
  274. {
  275. continue;
  276. }
  277. if(utlf_isNull(nodeset.getColumn(i, fieldArr[j]))) return false;
  278. }
  279. }
  280. }
  281. return true;
  282. }
  283. function fOnClickSaveBtn()
  284. {
  285. if(!checkGridUpdate(grd_codelist) && !checkGridUpdate(datagrid1))
  286. {
  287. alert("저장할 자료가 존재하지 않습니다.");
  288. return;
  289. }
  290. if(!checkGridField(grd_codelist,"lrgcd▦lrgnm▦lrgsortno▦vsitemcd▦vsitemnm▦ioflag▦defaultyn▦useyn▦sortno▦"))
  291. {
  292. alert("데이터중에 비어있는 필수필드가 있습니다.");
  293. return;
  294. }
  295. if(!checkGridField(datagrid1,"lrgcd▦lrgnm▦vsitemcd▦vsitemnm▦ioflag▦lrgsortno▦"))
  296. {
  297. alert("데이터중에 비어있는 필수필드가 있습니다.");
  298. return;
  299. }
  300. ds_send.updateColID("s_defaultyn", "defaultyn");
  301. ds_send.updateColID("s_useyn", "useyn");
  302. ds_send.updateColID("s_codename", "codename");
  303. ds_send.updateColID("s_lrgcd", "lrgcd");
  304. var oParam = {};
  305. oParam.id = "TXMNP00720";
  306. oParam.service = "opanstapp.OpAnstRef";
  307. oParam.method = "reqSetMnphrevmList";
  308. oParam.inds = "listdata=ds_main_list_codelists_codelist:u lrglistdata=ds_main_list_codelists_lrglist:u req=ds_send";
  309. oParam.outds = "ds_main_list_codelists_codelist=codelist";
  310. oParam.async = false;
  311. oParam.callback = "cf_TXMNP00720";
  312. tranf_submit(oParam);
  313. }
  314. function cf_TXMNP00720(sSvcId, nErrorCode, sErrorMsg)
  315. {
  316. if(nErrorCode < 0) return;
  317. ds_send.updateColID("defaultyn", "s_defaultyn");
  318. ds_send.updateColID("useyn", "s_useyn");
  319. ds_send.updateColID("codename", "s_codename");
  320. ds_send.updateColID("lrgcd", "s_lrgcd");
  321. ds_main_list_codelists_codelist.clearData();
  322. ds_main_list_codelists_lrglist.clearData();
  323. fGetLrgList();
  324. group2.cmb_useyn.index = 2;
  325. group2.cmb_defaultyn.index = 2;
  326. }]]></Script>