MRF00200.js 32 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066
  1. var FORMMNGT_SCR_SAVE_DATA = 0; //화면에 누적리스트 저장할 데이터 (0:없음, 1:있음)
  2. /**
  3. * @desc : 화면 초기화
  4. * @
  5. * @param :
  6. * @return :
  7. * @---------------------------------------------------
  8. */
  9. function fInitialize(){
  10. model.setFocus("ipt_reqdata");
  11. model.toggle("itemlist");
  12. model.makeValue("/root/init/today", getCurrentDate());
  13. model.makeValue("/root/main/condition/reqflag", "itemnm");
  14. model.makeValue("/root/temp/itemSatus", "");
  15. // 아이템 버튼 비활성화
  16. fNewItemBtnEnabled(true, false, false);
  17. // 유사어/약어 버튼 비활성화
  18. fSynonymBtnEnabled(false, false, false);
  19. model.refresh();
  20. }
  21. /**
  22. * @desc : 아이템 버튼 활성화
  23. * @param :
  24. * @return :
  25. * @---------------------------------------------------
  26. */
  27. function fNewItemBtnEnabled(addBtn, ModifyBtn, SaveBtn)
  28. {
  29. if(addBtn != null)
  30. {
  31. if(addBtn == true)
  32. button1.disabled = false;
  33. else
  34. button1.disabled = true;
  35. }
  36. if(ModifyBtn != null)
  37. {
  38. if(ModifyBtn == true)
  39. button4.disabled = false;
  40. else
  41. button4.disabled = true;
  42. }
  43. if(SaveBtn != null)
  44. {
  45. if(SaveBtn == true)
  46. btn_rgst_item.disabled = false;
  47. else
  48. btn_rgst_item.disabled = true;
  49. }
  50. }
  51. /**
  52. * @desc : 유사어/약어 버튼 활성화
  53. * @param :
  54. * @return :
  55. * @---------------------------------------------------
  56. */
  57. function fSynonymBtnEnabled(addBtn, ModifyBtn, SaveBtn)
  58. {
  59. if(addBtn != null)
  60. {
  61. if(addBtn == true)
  62. button8.disabled = false;
  63. else
  64. button8.disabled = true;
  65. }
  66. if(ModifyBtn != null)
  67. {
  68. if(ModifyBtn == true)
  69. btn_rgst_term.disabled = false;
  70. else
  71. btn_rgst_term.disabled = true;
  72. }
  73. if(SaveBtn != null)
  74. {
  75. if(SaveBtn == true)
  76. btn_cncl_term.disabled = false;
  77. else
  78. btn_cncl_term.disabled = true;
  79. }
  80. }
  81. /**
  82. * @desc : 중복된 이름 error check
  83. * @param :
  84. * @return : 0 : error 1 : no error
  85. * @---------------------------------------------------
  86. */
  87. function fRemoveBlank(str)
  88. {
  89. str = str.replace(/\s/g,'');
  90. return str;
  91. }
  92. /**
  93. * @desc : 중복된 이름 error check
  94. * @param :
  95. * @return : 0 : error 1 : no error
  96. * @---------------------------------------------------
  97. */
  98. function fChkError()
  99. {
  100. var errcd = "";
  101. var useYN = "";
  102. if(model.getValue("/root/temp/itemSatus") == "item")
  103. {
  104. errcd = model.getValue("/root/main/errmsg/errcd");
  105. }
  106. else
  107. {
  108. errcd = model.getValue("/root/temp/errmsg/errcd");
  109. }
  110. if(errcd == "")
  111. return 0;
  112. if(errcd == "err01")
  113. { // insert error
  114. var itemnm = model.getValue("/root/main/newitem/itemnm");
  115. useYN = messageBox(itemnm + "과(와) 같은 이름이 있습니다. 입력", "S001");
  116. }
  117. else if(errcd == "err02")
  118. {
  119. var termnm = model.getValue("/root/main/newterm/termnm");
  120. useYN = messageBox(termnm + "과(와) 같은 이름이 있습니다. 입력", "S001");
  121. }
  122. if(useYN == 6){
  123. return 1;
  124. }else{
  125. return 0;
  126. }
  127. }
  128. /**
  129. * @desc : 아이템리스트 조회
  130. * @
  131. * @param :
  132. * @return :
  133. * @---------------------------------------------------
  134. */
  135. function fReqItemlist()
  136. {
  137. model.resetInstanceNode("/root/main/newterm");
  138. model.resetInstanceNode("/root/main/newitem");
  139. model.removeNodeset("/root/main/termlist");
  140. grd_termlist.rebuild();
  141. model.refresh();
  142. fSetCtrlDisabled2(true);
  143. // 온전한단어 검색
  144. var cond = model.getValue("/root/main/condition/cond");
  145. // 한글은 1글자,영어는2글자 이상 조회
  146. var reqdata = model.getValue("/root/main/condition/reqdata");
  147. if(cond !="word"){
  148. if(ipt_reqdata.currentText.length < 2)
  149. {
  150. if(reqdata.charCodeAt(0) > 255){
  151. }
  152. else
  153. {
  154. messageBox(radio2.label +"을 2자리 이상", "C001");
  155. return;
  156. }
  157. }
  158. }
  159. // 아이템 조회시 조회값 사이의 빈공간을 제거함.
  160. var tmpStr = model.getValue("/root/main/condition/reqdata");
  161. var tmpStr2 = model.getValue("/root/main/condition/reqdata");
  162. tmpStr = fRemoveBlank(tmpStr);
  163. model.makeValue("/root/main/condition/reqdata", tmpStr);
  164. model.copyNode("/root/send/reqdata", "/root/main/condition");
  165. submit("TRMRF00201");
  166. model.makeValue("/root/main/condition/reqdata", tmpStr2);
  167. model.refresh();
  168. // 유사어/약어 버튼 활성화/비활성화
  169. var itemlistNode = model.instances(0).selectNodes("/root/main/itemlist");
  170. if(itemlistNode.length == 0)
  171. {
  172. fSynonymBtnEnabled(true, false, false);
  173. }
  174. }
  175. /**
  176. * @desc : 아이템리스트 추가
  177. * @
  178. * @param :
  179. * @return :
  180. * @---------------------------------------------------
  181. */
  182. function fAdditemlist(){
  183. model.resetInstanceNode("/root/main/newitem");
  184. fSetCtrlitemDisabled(false);
  185. chkmaster.visible = true;
  186. chkmaster.disabled = true;
  187. model.setFocus("ipt_itemnm");
  188. model.makeValue("/root/temp/valiyn", "Y");
  189. model.makeValue("/root/main/newitem/status", "i");
  190. model.makeValue("/root/main/newitem/repryn", "Y");
  191. model.makeValue("/root/main/newitem/datakind", "V");
  192. model.makeValue("/root/main/newitem/itemfromdt", model.getValue("/root/init/today"));
  193. model.makeValue("/root/main/newitem/itemtodt", "99991231");
  194. model.makeValue("/root/main/newitem/cntrkind" ,"STX");
  195. //model.makeValue("/root/main/newitem/synomflag" ,"E");
  196. //신규 저장 flag
  197. model.makeValue("/root/temp/status","I");
  198. model.removeNodeset("/root/main/termlist");
  199. // 아이템 버튼 활성화
  200. fNewItemBtnEnabled(true, false, true);
  201. model.refresh();
  202. }
  203. /**
  204. * @desc : 아이템리스트 버튼 disabled
  205. * @
  206. * @param :
  207. * @return :
  208. * @---------------------------------------------------
  209. */
  210. function fSetCtrlitemDisabled(bool){
  211. rdo_synomflag.disabled = bool;
  212. ipt_itemnm.disabled = bool;
  213. ipt_itemcnts.disabled = bool;
  214. cmb_cntrtype.disabled = bool;
  215. ipt_maxlgth.disabled = bool;
  216. ipt_deflval.disabled = bool;
  217. ipt_fromdd.disabled = bool;
  218. ipt_todd.disabled = bool;
  219. ipt_rem.disabled = bool;
  220. ipt_updtrsn.disabled = bool;
  221. chkmaster.disabled = bool;
  222. cmb_datatype.disabled = bool;
  223. }
  224. /**
  225. * @desc : term리스트 버튼 disabled
  226. * @
  227. * @param :
  228. * @return :
  229. * @---------------------------------------------------
  230. */
  231. function fSetCtrlDisabled2(bool){
  232. //combo5.disabled = bool;
  233. ipt_termnm.disabled = bool;
  234. input9.disabled = bool;
  235. input12.disabled = bool;
  236. //combo6.disabled = bool;
  237. input10.disabled = bool;
  238. input13.disabled = bool;
  239. term_chktermmaster.disabled = bool;
  240. }
  241. /**
  242. * @desc : 아이템리스트 수정
  243. * @
  244. * @param :
  245. * @return :
  246. * @---------------------------------------------------
  247. */
  248. function fSetItemlist()
  249. {
  250. iRow = grd_itemlist.row - grd_itemlist.fixedRows + 1;
  251. if(iRow < 1){
  252. messageBox("수정할 행을 ","C002");
  253. return;
  254. }
  255. /*// 무효 아이템 수정시 valicheck변경
  256. var todt = model.getValue("/root/main/newitem/itemtodt");
  257. if(getCurrentDate()+getCurrentTime > todt){
  258. model.setValue("/root/main/valicheck","Y");
  259. } */
  260. //chkmaster.visible = false;
  261. model.makeValue("/root/temp/status","U");
  262. fSetCtrlitemDisabled(false);
  263. cmb_valiyn.disabled = false;
  264. ipt_itemnm.disabled = true;
  265. /*var reqstatus = model.getValue("/root/main/condition/reqstatus");
  266. if( reqstatus =="N"){
  267. model.makeValue("/root/temp/valiyn" , "N");
  268. }*/
  269. model.makeValue("/root/main/newitem/status", "u");
  270. //fCompareNodes 비교위해 copynode
  271. model.makeNode("/root/main/newitem2");
  272. model.copyNode("/root/main/newitem2","/root/main/newitem");
  273. //model.setFocus("ipt_itemnm");
  274. model.refresh();
  275. // chkmaster.disabled = false;
  276. chkmaster.visible = true;
  277. chkmaster.disabled = true;
  278. var tmpCtType = model.getValue("/root/main/newitem/cntrkind");
  279. if(tmpCtType == "RDO"){
  280. button7.disabled = false;
  281. } else if(tmpCtType == "CHK"){
  282. button7.disabled = false;
  283. } else if(tmpCtType == "CMB"){
  284. button7.disabled = false;
  285. }
  286. // 대표 설정 및 한/영/약어 설정 비활성화
  287. chkmaster.disabled = true;
  288. rdo_synomflag.disabled = true;
  289. // 새로운 아이템 등록관련 버튼을 모두 활성화시킨다.
  290. fNewItemBtnEnabled(true, true, true);
  291. // 유사어/약어 버튼을 신규버튼을 제외하고 비활성화시킨다.
  292. fSynonymBtnEnabled(true, false, false);
  293. }
  294. /**
  295. * @group :
  296. * @ver : 2007.06.13
  297. * @by :
  298. * @---------------------------------------------------
  299. * @type : function
  300. * @access : public
  301. * @desc : 두개의 노드셋을 비교한다.
  302. * @param : originalNode :
  303. * @param : copyNode :
  304. * @return : true, false
  305. * @---------------------------------------------------
  306. */
  307. function fCompareNodes1(originalNode, copyNode){
  308. var ins = document.models( 0 ).instances( 0 );
  309. var original = ins.selectSingleNode(originalNode).xml;
  310. var copy = ins.selectSingleNode(copyNode).xml;
  311. var replace = original.setReplaceWord("newitem2","newitem");
  312. if(replace == null || copy == null){
  313. return false;
  314. }else if (replace == copy){
  315. return true;
  316. }else{
  317. return false;
  318. }
  319. }
  320. /**
  321. * @desc : 아이템리스트 저장
  322. * @
  323. * @param :
  324. * @return :
  325. * @---------------------------------------------------
  326. */
  327. function fSaveItemlist()
  328. {
  329. // 아이템 저장.
  330. model.makeValue("/root/temp/itemSatus", "item");
  331. //신규,수정 아니면 return
  332. var stat = model.getValue("/root/temp/status");
  333. var statflag = false;
  334. if(stat=="I" || stat=="U"){
  335. statflag = true;
  336. }
  337. if(!statflag)
  338. return;
  339. var status = model.getValue("/root/main/newitem/status");
  340. var repryn = model.getValue("/root/main/newitem/synomflag");
  341. if(!isRequiredControls("ipt_itemnm","cmb_cntrtype","cmb_datatype","rdo_synomflag"))
  342. return;
  343. if(repryn=="")
  344. {
  345. messageBox("대표구분은 ","I003");
  346. return;
  347. }
  348. var itemcd = model.getValue("/root/main/newitem/itemcd");
  349. if(status=="u" && itemcd == "")
  350. {
  351. alert("대표코드가 반드시 등록되어야 합니다.");
  352. return;
  353. }
  354. //수정 여부 check
  355. if(status == "u")
  356. {
  357. var compare = fCompareNodes1("/root/main/newitem2","/root/main/newitem");
  358. if(status=="u" && compare == true)
  359. {
  360. messageBox("수정된 내용이","I004");
  361. return;
  362. }
  363. var ret = messageBox("변경 이력을 저장", "S001");
  364. if(ret == "6"){
  365. model.makeValue("/root/main/newitem/histsaveyn", "Y");
  366. }
  367. else if(ret == "7"){
  368. model.makeValue("/root/main/newitem/histsaveyn", "N");
  369. }
  370. else{
  371. return;
  372. }
  373. }
  374. //컨트롤유형에 따라 valgrupbasenm 초기화
  375. var cntrtype = model.getValue("/root/main/newitem/cntrkind");
  376. if(cntrtype == "STX" || cntrtype == "MTX" || cntrtype == "IMG")
  377. {
  378. model.makeValue("/root/main/newitem/valgrupbasenm","");
  379. model.makeValue("/root/main/newitem/valgrupbasecd","");
  380. model.refresh();
  381. }
  382. model.copyNode("/root/send/savedata", "/root/main/newitem");
  383. // 유효여부 값 설정
  384. model.makeValue("/root/send/savedata/valiyn", model.getValue("/root/temp/valiyn"));
  385. /* //무효화된 grupcd 수정시 gruptodt 새로 넣어준다.
  386. var valicheck = model.getValue("/root/main/valicheck");
  387. if(valicheck=="Y"){
  388. model.setValue("/root/send/savedata/itemtodt","29991231000000");
  389. model.setValue("/root/main/valicheck","N");
  390. model.refresh();
  391. } */
  392. model.removeNode ("/root/main/errmsg");
  393. model.refresh();
  394. if(submit("TXMRF00201"))
  395. {
  396. if(fChkError() == 1)
  397. { //저장 중 error유무 확인
  398. model.makeValue("/root/main/newitem/procflag", "Y"); //process처리구분을 무시로 설정, 저장된다.
  399. model.refresh();
  400. //model.resetInstanceNode("/root/temp/errmsg");
  401. model.makeValue("/root/temp/errmsg/errcd","");
  402. model.copyNode("/root/send/savedata", "/root/main/newitem");
  403. /* //무효화된 grupcd 수정시 gruptodt 새로 넣어준다.
  404. var valicheck = model.getValue("/root/main/valicheck");
  405. if(valicheck=="Y"){
  406. model.setValue("/root/send/savedata/itemtodt","29991231000000");
  407. model.setValue("/root/main/valicheck","N");
  408. model.refresh();
  409. } */
  410. submit("TXMRF00201");
  411. }
  412. }
  413. //아이템유효여부 초기화 Y
  414. fSetCtrlitemDisabled(true);
  415. cmb_valiyn.disabled = true;
  416. model.makeValue("/root/temp/status","");
  417. model.makeValue("/root/temp/valiyn","Y");
  418. //model.setValue("/root/main/condition/reqdata", model.getValue("/root/main/itemlist/itemcd"));
  419. //model.setValue("/root/main/condition/reqflag", "itemcd");
  420. model.copyNode("/root/send/reqdata", "/root/main/condition");
  421. if(model.getValue("/root/send/reqdata/reqflag") == "itemcd")
  422. {
  423. if(model.getValue("/root/send/reqdata/reqdata") == "")
  424. {
  425. model.setValue("/root/send/reqdata/reqdata", model.getValue("/root/send/savedata/itemcd"));
  426. }
  427. }
  428. else if(model.getValue("/root/send/reqdata/reqflag") == "itemnm")
  429. {
  430. if(model.getValue("/root/send/reqdata/reqdata") == "")
  431. {
  432. model.setValue("/root/send/reqdata/reqdata", model.getValue("/root/send/savedata/itemnm"));
  433. }
  434. }
  435. else
  436. {
  437. model.setValue("/root/send/reqdata/reqflag", "itemcd");
  438. if(model.getValue("/root/send/reqdata/reqdata") == "")
  439. {
  440. model.setValue("/root/send/reqdata/reqdata", model.getValue("/root/send/savedata/itemcd"));
  441. }
  442. }
  443. messageBox("저장","I002");
  444. submit("TRMRF00201");
  445. model.makeValue("/root/main/newitem/itemnm", "");
  446. model.removeNodeset("/root/main/termlist");
  447. grd_termlist.rebuild();
  448. fNewItemBtnEnabled(true, false, false);
  449. model.makeValue("/root/temp/itemSatus", "");
  450. model.refresh();
  451. }
  452. /**
  453. * @desc : 유사어 / 약어 리스트 추가
  454. * @
  455. * @param :
  456. * @return :
  457. * @---------------------------------------------------
  458. */
  459. function fAddTermlist()
  460. {
  461. model.toggle("itemlist");
  462. ipt_itemnm.disabled = false;
  463. rdo_synomflag.disabled = false;
  464. chkmaster.visible = true;
  465. chkmaster.disabled = false;
  466. cmb_valiyn.disabled = true;
  467. ipt_rem.disabled = false;
  468. ipt_updtrsn.disabled = false;
  469. var iRow = grd_itemlist.row;
  470. var itemcd = model.getValue("/root/main/itemlist[" + iRow + "]/itemcd");
  471. model.makeValue("/root/main/newterm/status", "i");
  472. model.makeValue("/root/main/newitem/itemfromdt", model.getValue("/root/init/today"));
  473. model.makeValue("/root/main/newitem/itemtodt", "99991231");
  474. model.makeValue("/root/main/newitem/synomflag","");
  475. model.makeValue("/root/main/newitem/repryn","");
  476. model.makeValue("/root/main/newitem/synomflag","E");
  477. model.makeValue("/root/main/newitem/itemnm","");
  478. model.makeValue("/root/main/newitem/rem","");
  479. model.makeValue("/root/main/newitem/updtresncnts","");
  480. // 2008.08.30 추가
  481. //model.makeValue("/root/main/newitem/procflag", "Y")
  482. // model.makeValue("/root/main/newitem/itemcd", itemcd);
  483. // model.makeValue("/root/main/newitem/snmddescid", model.getValue("/root/main/newitem/snmddescid"));
  484. model.refresh();
  485. fNewItemBtnEnabled(true, false, false);
  486. fSynonymBtnEnabled(true, true, true);
  487. }
  488. /**
  489. * @desc : 유사어 / 약어 리스트 수정
  490. * @
  491. * @param :
  492. * @return :
  493. * @---------------------------------------------------
  494. */
  495. function fSetTermlist()
  496. {
  497. ipt_itemnm.disabled = false;
  498. rdo_synomflag.disabled = false;
  499. cmb_valiyn.disabled = false;
  500. ipt_rem.disabled = false;
  501. ipt_updtrsn.disabled = false;
  502. var termgubun = model.getValue("/root/main/termlist[" + iRow + "]/repryn");
  503. var synomflag = model.getValue("/root/main/termlist[" + iRow + "]/synomflag");
  504. if (termgubun == "Y") {
  505. chkmaster.disabled = true;
  506. } else {
  507. chkmaster.disabled = false;
  508. }
  509. model.setValue("/root/main/newitem/synomflag", synomflag);
  510. /*// 무효 아이템 수정시 valicheck변경
  511. var todt = model.getValue("/root/main/newitem/itemtodt");
  512. if(getCurrentDate()+getCurrentTime > todt){
  513. model.setValue("/root/main/valicheck","Y");
  514. }*/
  515. model.makeValue("/root/main/newterm/status", "u");
  516. model.setFocus("ipt_itemmnm");
  517. model.refresh();
  518. fNewItemBtnEnabled(true, false, false);
  519. fSynonymBtnEnabled(true, true, true);
  520. }
  521. /**
  522. * @desc : 유사어 / 약어 리스트 저장
  523. * @
  524. * @param :
  525. * @return :
  526. * @---------------------------------------------------
  527. */
  528. function fSaveTermlist()
  529. {
  530. model.makeValue("/root/temp/itemSatus", "shortitem");
  531. var status = model.getValue("/root/main/newterm/status");
  532. if(status==""){
  533. messageBox("저장할 내역이 ","I004");
  534. return;
  535. }
  536. else if(status == "u"){
  537. //2009.01.21 강지훈 수정
  538. //변경이력을 남기지 않고 Update.
  539. var ret = messageBox("변경 이력을 저장", "S001");
  540. if(ret == "6"){
  541. model.makeValue("/root/send/savedata/histsaveyn", "Y");
  542. }
  543. else if(ret == "7"){
  544. model.makeValue("/root/send/savedata/histsaveyn", "N");
  545. }
  546. else{
  547. return;
  548. }
  549. }
  550. //if(!isRequiredControls("rdo_synomflag1"))
  551. // return;
  552. var itemcd = model.getValue("/root/main/newitem/itemcd");
  553. //alert("itemcd->"+itemcd);
  554. if(itemcd == ""){
  555. alert("반드시 대표코드가 있어야 합니다");
  556. return;
  557. }
  558. // 한글(K)/영어(E)/약어(S)/기타(Z)
  559. var synomflag = model.getValue("/root/main/newitem/synomflag");
  560. if(synomflag==""){
  561. messageBox("대표구분은 ","I003");
  562. return;
  563. }
  564. // 대표 구분
  565. var repyn = model.getValue("/root/main/newitem/repryn");
  566. if(repyn!="Y"){
  567. model.makeValue("/root/main/newitem/repryn","N");
  568. }
  569. model.copyNode("/root/main/newitem/repryn" ,"/root/main/newitem/repryn" );
  570. var repyn1 = model.getValue("/root/main/newitem/repryn");
  571. var termbasecd = model.getValue("/root/main/newitem/termcd");
  572. termbasecd = termbasecd.substr(0,7);
  573. model.makeValue("/root/send/savedata/termcd", model.getValue("/root/main/newitem/termcd"));
  574. model.makeValue("/root/send/savedata/termbasecd",termbasecd);
  575. model.makeValue("/root/send/savedata/status", model.getValue("/root/main/newterm/status"));
  576. model.makeValue("/root/send/savedata/itemcd", model.getValue("/root/main/newitem/itemcd" ));
  577. model.makeValue("/root/send/savedata/itembasecd",model.getValue("/root/main/newitem/itembasecd" ));
  578. model.makeValue("/root/send/savedata/repryn", repyn1);
  579. model.makeValue("/root/send/savedata/synomflag", model.getValue("/root/main/newitem/synomflag"));
  580. model.makeValue("/root/send/savedata/termnm", model.getValue("/root/main/newitem/itemnm"));
  581. model.makeValue("/root/send/savedata/termfromdt",model.getValue("/root/main/newitem/itemfromdt"));
  582. model.makeValue("/root/send/savedata/termtodt", model.getValue("/root/main/newitem/itemtodt"));
  583. model.makeValue("/root/send/savedata/updtresncnts",model.getValue("/root/main/newitem/updtresncnts"));
  584. model.makeValue("/root/send/savedata/rem", model.getValue("/root/main/newitem/rem"));
  585. model.makeValue("/root/send/savedata/procflag", model.getValue("/root/main/newitem/procflag"));
  586. model.makeValue("/root/send/savedata/fstrgstrid",model.getValue("/root/main/newitem/fstrgstrid"));
  587. model.makeValue("/root/send/savedata/fstrgstdt", model.getValue("/root/main/newitem/fstrgstdt"));
  588. model.makeValue("/root/send/savedata/valiyn", model.getValue("/root/temp/valiyn"));
  589. if(submit("TXMRF00202")){
  590. if(fChkError() == 1){ //저장 중 error유무 확인
  591. model.makeValue("/root/main/newitem/procflag", "Y"); //process처리구분을 무시로 설정, 저장된다.
  592. model.refresh();
  593. model.setValue("/root/temp/errmsg/errcd", "");
  594. model.makeValue("/root/send/savedata/status", model.getValue("/root/main/newterm/status"));
  595. model.makeValue("/root/send/savedata/itemcd", model.getValue("/root/main/newitem/itemcd" ));
  596. model.makeValue("/root/send/savedata/itembasecd",model.getValue("/root/main/newitem/itembasecd" ));
  597. model.makeValue("/root/send/savedata/repryn", repyn1);
  598. model.makeValue("/root/send/savedata/synomflag", model.getValue("/root/main/newitem/synomflag"));
  599. model.makeValue("/root/send/savedata/termnm", model.getValue("/root/main/newitem/itemnm"));
  600. model.makeValue("/root/send/savedata/termfromdt",model.getValue("/root/main/newitem/itemfromdt"));
  601. model.makeValue("/root/send/savedata/termtodt", model.getValue("/root/main/newitem/itemtodt"));
  602. model.makeValue("/root/send/savedata/updtresncnts",model.getValue("/root/main/newitem/updtresncnts"));
  603. model.makeValue("/root/send/savedata/rem", model.getValue("/root/main/newitem/rem"));
  604. model.makeValue("/root/send/savedata/procflag", model.getValue("/root/main/newitem/procflag"));
  605. model.makeValue("/root/send/savedata/termcd", model.getValue("/root/main/newitem/termcd"));
  606. model.makeValue("/root/send/savedata/termbasecd",termbasecd);
  607. model.makeValue("/root/send/savedata/fstrgstrid",model.getValue("/root/main/newitem/fstrgstrid"));
  608. model.makeValue("/root/send/savedata/fstrgstdt", model.getValue("/root/main/newitem/fstrgstdt"));
  609. submit("TXMRF00202");
  610. }
  611. model.makeValue("/root/main/newitem/itemnm", model.getValue("/root/main/termlist[repryn = 'Y']/termnm") );
  612. model.makeValue("/root/main/newitem/termcd", model.getValue("/root/main/termlist[repryn = 'Y']/termcd"));
  613. model.makeValue("/root/main/newitem/fstrgstrnm", model.getValue("/root/main/termlist[repryn = 'Y']/fstrgstrnm"));
  614. model.makeValue("/root/main/newitem/fstrgstdt", model.getValue("/root/main/termlist[repryn = 'Y']/fstrgstdt"));
  615. model.makeValue("/root/main/newitem/lastrgstrnm",model.getValue("/root/main/termlist[repryn = 'Y']/lastrgstrnm"));
  616. model.makeValue("/root/main/newitem/lastrgstdt", model.getValue("/root/main/termlist[repryn = 'Y']/lastrgstdt"));
  617. model.makeValue("/root/main/newitem/rem", model.getValue("/root/main/termlist[repryn = 'Y']/rem"));
  618. model.makeValue("/root/main/newitem/updtresncnts",model.getValue("/root/main/termlist[repryn = 'Y']/updtresncnts"));
  619. model.makeValue("/root/main/newitem/procflag", model.getValue("/root/main/termlist[repryn = 'Y']/procflag"));
  620. model.makeValue("/root/main/newitem/synomflag", model.getValue("/root/main/termlist[repryn = 'Y']/synomflag"));
  621. model.makeValue("/root/main/newitem/repryn", model.getValue("/root/main/termlist[repryn = 'Y']/repryn"));
  622. model.makeValue("/root/main/newitem/snmddescid", model.getValue("/root/main/termlist[repryn = 'Y']/snmddescid"));
  623. var itemcd = model.getValue("/root/main/newitem/itemcd");
  624. model.makeNode("/root/send/reqdata/reqdata");
  625. model.makeNode("/root/send/reqdata/reqflag");
  626. model.makeValue("/root/send/reqdata/reqdata", itemcd);
  627. model.makeValue("/root/send/reqdata/reqflag", "itemcd");
  628. model.makeValue("/root/send/reqdata/reqstatusterm", model.getValue("/root/main/condition/reqstatusterm") );
  629. submit("TRMRF00202");
  630. model.refresh();
  631. }
  632. //저장후 status 초기화
  633. cmb_valiyn.disabled = true;
  634. fSetCtrlitemDisabled(true);
  635. ipt_rem.disabled = true;
  636. ipt_updtrsn.disabled = true;
  637. model.setValue("/root/main/newterm/status","");
  638. model.makeValue("/root/temp/valiyn","Y");
  639. // 버튼 활성화 처리
  640. model.makeValue("/root/temp/itemSatus", "");
  641. model.refresh();
  642. }
  643. /**
  644. * @desc : 아이템 리스트 보기
  645. * @
  646. * @param :
  647. * @return :
  648. * @---------------------------------------------------
  649. */
  650. function fShowitemlist()
  651. {
  652. fSetCtrlDisabled2(true);
  653. //아이템리스트 버튼disabled
  654. fSetCtrlitemDisabled(true);
  655. cmb_valiyn.disabled = true;
  656. if(grd_itemlist.isCell(event.target))
  657. {
  658. iRow = grd_itemlist.row;
  659. if(iRow < 1){
  660. return;
  661. }
  662. model.copyNode("/root/main/newitem", "/root/main/itemlist[" + iRow + "]");
  663. var todt = model.getValue("/root/main/itemlist[" + iRow + "]/itemtodt");
  664. var fromdt = model.getValue("/root/main/itemlist[" + iRow + "]/itemfromdt");
  665. if(fromdt <= getCurrentDate()+getCurrentTime && todt > getCurrentDate()+getCurrentTime ){
  666. model.makeValue("/root/temp/valiyn","Y");
  667. } else {
  668. model.makeValue("/root/temp/valiyn","N");
  669. }
  670. var itemcd = model.getValue("/root/main/newitem/itemcd");
  671. model.makeNode("/root/send/reqdata/reqdata");
  672. model.makeNode("/root/send/reqdata/reqflag");
  673. model.makeValue("/root/send/reqdata/reqdata", itemcd);
  674. model.makeValue("/root/send/reqdata/reqflag", "itemcd");
  675. model.makeValue("/root/send/reqdata/reqstatusterm", model.getValue("/root/main/condition/reqstatusterm") );
  676. submit("TRMRF00202");
  677. model.makeValue("/root/main/newitem/itemnm", model.getValue("/root/main/termlist/termnm") );
  678. model.makeValue("/root/main/newitem/termcd", model.getValue("/root/main/termlist/termcd"));
  679. model.makeValue("/root/main/newitem/itemfromdt", model.getValue("/root/main/termlist/termfromdt"));
  680. model.makeValue("/root/main/newitem/itemtodt", model.getValue("/root/main/termlist/termtodt"));
  681. model.makeValue("/root/main/newitem/fstrgstrnm", model.getValue("/root/main/termlist/fstrgstrnm"));
  682. model.makeValue("/root/main/newitem/fstrgstdt", model.getValue("/root/main/termlist/fstrgstdt"));
  683. model.makeValue("/root/main/newitem/lastrgstrnm",model.getValue("/root/main/termlist/lastrgstrnm"));
  684. model.makeValue("/root/main/newitem/lastrgstdt", model.getValue("/root/main/termlist/lastrgstdt"));
  685. model.makeValue("/root/main/newitem/rem", model.getValue("/root/main/termlist/rem"));
  686. model.makeValue("/root/main/newitem/updtresncnts",model.getValue("/root/main/termlist/updtresncnts"));
  687. model.makeValue("/root/main/newitem/procflag", model.getValue("/root/main/termlist/procflag"));
  688. model.makeValue("/root/main/newitem/synomflag", model.getValue("/root/main/termlist/synomflag"));
  689. model.makeValue("/root/main/newitem/repryn", model.getValue("/root/main/termlist/repryn"));
  690. model.makeValue("/root/main/newitem/snmddescid", model.getValue("/root/main/termlist/snmddescid"));
  691. //아이템무효인것도 아래화면에 보여준다
  692. var iRow = grd_itemlist.row;
  693. model.copyNode("/root/main/newitem","/root/main/itemlist["+iRow+"]");
  694. /*
  695. model.makeValue("/root/main/newitem/itemnm", model.getValue("/root/main/termlist[repryn = 'Y']/termnm") );
  696. model.makeValue("/root/main/newitem/termcd", model.getValue("/root/main/termlist[repryn = 'Y']/termcd"));
  697. model.makeValue("/root/main/newitem/itemfromdt", model.getValue("/root/main/termlist[repryn = 'Y']/termfromdt"));
  698. model.makeValue("/root/main/newitem/itemtodt", model.getValue("/root/main/termlist[repryn = 'Y']/termtodt"));
  699. model.makeValue("/root/main/newitem/fstrgstrnm", model.getValue("/root/main/termlist[repryn = 'Y']/fstrgstrnm"));
  700. model.makeValue("/root/main/newitem/fstrgstdt", model.getValue("/root/main/termlist[repryn = 'Y']/fstrgstdt"));
  701. model.makeValue("/root/main/newitem/lastrgstrnm", model.getValue("/root/main/termlist[repryn = 'Y']/lastrgstrnm"));
  702. model.makeValue("/root/main/newitem/lastrgstdt", model.getValue("/root/main/termlist[repryn = 'Y']/lastrgstdt"));
  703. model.makeValue("/root/main/newitem/rem", model.getValue("/root/main/termlist[repryn = 'Y']/rem"));
  704. model.makeValue("/root/main/newitem/updtresncnts", model.getValue("/root/main/termlist[repryn = 'Y']/updtresncnts"));
  705. model.makeValue("/root/main/newitem/procflag", model.getValue("/root/main/termlist[repryn = 'Y']/procflag"));
  706. model.makeValue("/root/main/newitem/synomflag", model.getValue("/root/main/termlist[repryn = 'Y']/synomflag"));
  707. model.makeValue("/root/main/newitem/repryn", model.getValue("/root/main/termlist[repryn = 'Y']/repryn"));
  708. model.makeValue("/root/main/newitem/snmddescid", model.getValue("/root/main/termlist[repryn = 'Y']/snmddescid"));
  709. */
  710. model.refresh();
  711. }
  712. fNewItemBtnEnabled(true, true, false);
  713. fSynonymBtnEnabled(true, false, false);
  714. // 대표 아이템 설정
  715. model.setValue("/root/main/category/repitem", "Y");
  716. }
  717. /**
  718. * @desc : 아이템 리스트 보기
  719. * @
  720. * @param :
  721. * @return :
  722. * @---------------------------------------------------
  723. */
  724. function fShowtermlist()
  725. {
  726. if(!isDataCell())
  727. return;
  728. if(grd_termlist.isCell(event.target))
  729. {
  730. iRow = grd_termlist.row;
  731. if(iRow < 1)
  732. {
  733. return;
  734. }
  735. fSetCtrlitemDisabled(true);
  736. cmb_valiyn.disabled = true;
  737. model.toggle("itemlist");
  738. iRow = grd_termlist.row;
  739. model.setValue("/root/main/newitem/itemnm",model.getValue("/root/main/termlist[" + iRow + "]/termnm"));
  740. model.setValue("/root/main/newitem/itemfromdt",model.getValue("/root/main/termlist[" + iRow + "]/termfromdt"));
  741. model.setValue("/root/main/newitem/itemtodt",model.getValue("/root/main/termlist[" + iRow + "]/termtodt"));
  742. model.setValue("/root/main/newitem/updtresncnts",model.getValue("/root/main/termlist[" + iRow + "]/updtresncnts"));
  743. model.setValue("/root/main/newitem/rem",model.getValue("/root/main/termlist[" + iRow + "]/rem"));
  744. model.setValue("/root/main/newitem/termcd",model.getValue("/root/main/termlist[" + iRow + "]/termcd"));
  745. model.setValue("/root/main/newitem/fstrgstrid",model.getValue("/root/main/termlist[" + iRow + "]/fstrgstrid"));
  746. model.setValue("/root/main/newitem/fstrgstdt",model.getValue("/root/main/termlist[" + iRow + "]/fstrgstdt"));
  747. model.setValue("/root/main/newitem/fstrgstrnm",model.getValue("/root/main/termlist[" + iRow + "]/fstrgstrnm"));
  748. model.setValue("/root/main/newitem/lastupdtrnm",model.getValue("/root/main/termlist[" + iRow + "]/lastupdtrnm"));
  749. model.setValue("/root/main/newitem/lastupdtdt",model.getValue("/root/main/termlist[" + iRow + "]/lastupdtdt"));
  750. model.setValue("/root/main/newitem/repryn",model.getValue("/root/main/termlist[" + iRow + "]/repryn"));
  751. model.setValue("/root/main/newitem/synomflag",model.getValue("/root/main/termlist[" + iRow + "]/synomflag"));
  752. var todt = model.getValue("/root/main/termlist[" + iRow + "]/termtodt");
  753. var fromdt = model.getValue("/root/main/termlist[" + iRow + "]/termfromdt");
  754. if(fromdt <= getCurrentDate()+getCurrentTime && todt > getCurrentDate()+getCurrentTime ){
  755. model.setValue("/root/temp/valiyn","Y");
  756. }
  757. else
  758. {
  759. model.setValue("/root/temp/valiyn","N");
  760. }
  761. var termgubun = model.getValue("/root/main/termlist[" + iRow + "]/repryn");
  762. //if (termgubun == "Y") {
  763. // chkmaster.visible = false;
  764. //} else {
  765. // chkmaster.visible= true;
  766. //}
  767. chkmaster.visible= true;
  768. if(termgubun =="N") {
  769. model.setValue("/root/main/newitem/repryn","");
  770. }
  771. model.refresh();
  772. fSetCtrlDisabled2(true);
  773. }
  774. fNewItemBtnEnabled(true, false, false);
  775. fSynonymBtnEnabled(true, true, false);
  776. // 유사어/약어 아이템 설정
  777. model.setValue("/root/main/category/repitem", "N");
  778. }
  779. /**
  780. * @desc : 아이템 리스트 보기
  781. * @
  782. * @param :
  783. * @return :
  784. * @---------------------------------------------------
  785. */
  786. function fSetValiyn()
  787. {
  788. try
  789. {
  790. var itemcd = model.getValue("/root/main/newitem/itemcd");
  791. var itemnm = model.getValue("/root/main/newitem/itemnm");
  792. var msg = "세부내용:\n - 아이템코드: " + itemcd + "\n - 용어명: " + itemnm + "\n\n";
  793. var retVal = "";
  794. model.refreshpart("/root/main/newitem/repryn");
  795. // 대표어인지 유사어/약어인지 먼저 확인
  796. if(model.getValue("/root/main/category/repitem") == "Y") // 아이템 수정
  797. {
  798. // 대표값인지 확인
  799. if(model.getValue("/root/main/newitem/repryn") == "Y")
  800. {
  801. if(model.getValue("/root/temp/valiyn") == "Y")
  802. retVal = messageBox("현재 대표 아이템을 유효화합니다. \n\n" + msg, "Q003");
  803. else
  804. retVal = messageBox("현재 대표 아이템을 무효화합니다. \n\n" + msg, "Q003");
  805. }
  806. else
  807. {
  808. if(model.getValue("/root/temp/valiyn") == "Y")
  809. retVal = messageBox("현재 아이템을 유효화합니다. \n\n" + msg, "Q003");
  810. else
  811. retVal = messageBox("현재 아이템을 무효화합니다. \n\n" + msg, "Q003");
  812. }
  813. if(model.getValue("/root/main/newitem/itemtodt").substr(0, 8) == "99991231")
  814. {
  815. if(retVal == 6) {
  816. //model.setValue("/root/main/newitem/repryn", "N");
  817. model.refresh();
  818. }
  819. else
  820. {
  821. // 취소인 경우
  822. model.setValue("/root/temp/valiyn", "Y");
  823. model.refresh();
  824. return ;
  825. }
  826. }
  827. else // 다시 유효화할 경우
  828. {
  829. model.setValue("/root/temp/valiyn", "Y");
  830. model.refresh();
  831. }
  832. }
  833. else if(model.getValue("/root/main/category/repitem") == "N") // 유사어/약어 수정
  834. {
  835. // 유사어/약어의 용어코드를 가져온다.
  836. var iRow = grd_termlist.row;
  837. if(iRow < 1)
  838. {
  839. return;
  840. }
  841. itemcd = model.getValue("/root/main/termlist[" + iRow + "]/termcd");
  842. msg = "세부내용:\n - 용어코드: " + itemcd + "\n - 용어명: " + itemnm + "\n\n";
  843. // 대표값인지 확인
  844. if(model.getValue("/root/main/newitem/repryn") == "Y")
  845. {
  846. if(model.getValue("/root/temp/valiyn") == "Y")
  847. retVal = messageBox("현재 유사어/약어의 대표 아이템을 유효화합니다.\n\n" + msg, "Q003");
  848. else
  849. retVal = messageBox("현재 유사어/약어의 대표 아이템을 무효화합니다.\n\n" + msg, "Q003");
  850. }
  851. else
  852. {
  853. if(model.getValue("/root/temp/valiyn") == "Y")
  854. retVal = messageBox("현재 유사어/약어의 아이템을 유효화합니다.\n\n" + msg, "Q003");
  855. else
  856. retVal = messageBox("현재 유사어/약어의 아이템을 무효화합니다.\n\n" + msg, "Q003");
  857. }
  858. if(model.getValue("/root/main/newitem/itemtodt").substr(0, 8) == "99991231")
  859. {
  860. if(retVal == 6) {
  861. //model.setValue("/root/main/newitem/repryn", "N");
  862. model.refresh();
  863. }
  864. else { // 취소인 경우
  865. model.setValue("/root/temp/valiyn", "Y");
  866. model.refresh();
  867. return ;
  868. }
  869. }
  870. else // 다시 유효화할 경우
  871. {
  872. model.setValue("/root/temp/valiyn", "Y");
  873. model.refresh();
  874. }
  875. }
  876. var valiyn = model.getValue("/root/temp/valiyn");
  877. //model.makeValue("/root/main/newitem/valiyn", valiyn);
  878. if(valiyn=='N') // 무효화
  879. {
  880. model.setValue("/root/main/newitem/itemtodt",getCurrentDate() + getCurrentTime());
  881. }
  882. else if(valiyn=='Y') // 유효화
  883. {
  884. //model.setValue("/root/main/newitem/itemtodt","99991231");
  885. model.setValue("/root/main/newitem/itemtodt","99991231000000");
  886. }
  887. }
  888. catch(e)
  889. {
  890. return;
  891. }
  892. model.refresh();
  893. }