MRF01300.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348
  1. function fInitialize()
  2. {
  3. var formnm = opener.javascript.getParameter("SPMRF1300_formnm");
  4. //2009.12.28 안치원 - 서식디자인에서 시작일자를 미래로 설정한 서식이 조회되도록 수정
  5. var isFutureYn = opener.javascript.getParameter("SPMRF1300_isFutureYn");
  6. if(formnm != "")
  7. {
  8. if(formnm.charAt(0) == "/")
  9. {
  10. formnm = formnm.setReplaceWord("/", "");
  11. model.setValue("/root/hidden/condition/formflag", "formcd");
  12. }
  13. model.setValue("/root/hidden/condition/formnm", formnm);
  14. fSrchForm();
  15. if(grd_formlist.rows - grd_formlist.fixedRows == 1)
  16. {
  17. grd_formlist.row = grd_formlist.fixedRows;
  18. fAppFormToPltte();
  19. }
  20. opener.javascript.setParameter("SPMRF1300_formnm", "");
  21. }
  22. //2009.12.28 안치원 - 서식디자인에서 시작일자를 미래로 설정한 서식이 조회되도록 수정
  23. model.makeValue("/root/hidden/condition/isfutureyn", isFutureYn);
  24. opener.javascript.setParameter("SPMRF1300_isFutureYn", "");
  25. fSrchForm();
  26. }
  27. function fSrchForm()
  28. {
  29. var formflag = model.getValue("/root/hidden/condition/formflag");
  30. if(formflag == "formcd"){
  31. var sCode = model.getValue("/root/hidden/condition/formnm");
  32. var sTmp = "";
  33. var iTmp = 0;
  34. // form코드 입력시 자릿수 채워준다
  35. var iCodeLength = sCode.length;
  36. if(iCodeLength ==0){
  37. return;
  38. }else if(iCodeLength > 10){
  39. return;
  40. }
  41. var temp = 10 - iCodeLength
  42. for(var i = 1; i <= temp; i++){
  43. sTmp += "0";
  44. }
  45. sTmp = sTmp + sCode;
  46. model.setValue("/root/hidden/condition/formnm",sTmp);
  47. }
  48. var formnm = model.getValue("/root/hidden/condition/formnm");
  49. model.setValue("/root/hidden/condition/formnm",formnm.toUpperCase());
  50. submit("TRMRF01301");
  51. //setTree(grd_formlist, grd_formlist.colRef("levl"), grd_formlist.colref("labl"), true);
  52. }
  53. //검색된 formlist에서 form선택
  54. function fSelectForm()
  55. {
  56. var curRow = grd_formlist.row - grd_formlist.fixedRows + 1;
  57. if(curRow < 1){
  58. return;
  59. }
  60. // MB_YESNO | MB_ICONQUESTION | MB_DEFBUTTON2
  61. var result = window.alert("새로운 서식을 적용하시겠습니까?", "서식 선택", 4 | 32 | 256);
  62. if(result == 7)
  63. return;
  64. var formcd = model.getValue("/root/main/formlist[" + curRow + "]/formcd"); //form 코드
  65. var degnusdt = model.getValue("/root/main/formlist[" + curRow + "]/degnusdt"); // 디자인 적용시작일
  66. var degnuedt = model.getValue("/root/main/formlist[" + curRow + "]/degnuedt"); // 디자인 적용종료일
  67. opener.model.setValue("/root/send/formdegninfo/master/formcd", formcd);
  68. opener.model.setValue("/root/send/formdegninfo/master/degnusdt", degnusdt);
  69. opener.model.setValue("/root/send/formdegninfo/master/degnuedt", degnuedt);
  70. }
  71. function fAppFormToPltte()
  72. {
  73. var row = grd_formlist.row - grd_formlist.fixedRows + 1;
  74. //model.setValue("/root/send/formdegnseqno", model.getValue("/root/main/formlist[" + row + "]/valu"));
  75. model.makeValue("/root/send/req/formcd", model.getValue("/root/main/formlist[" + row + "]/formcd"));
  76. model.makeValue("/root/send/req/formdegnseq", "");
  77. model.makeValue("/root/send/req/extnunitformlistyn", "N");
  78. model.makeValue("/root/send/req/cashedformdegnseq", "");
  79. model.makeValue("/root/send/req/sysformrecdt", "");
  80. model.makeValue("/root/send/req/mode", "D");
  81. submit("TRMRF02001");
  82. // 디자인 완료 여부 확인
  83. var degncmpltyn = model.getValue("/root/main/formlist[" + row + "]/degncmpltyn");
  84. copyNode(model, model, "/root/main/forminfo", "/root/temp/forminfo");
  85. model.removenode("/root/temp/forminfo");
  86. var opentype = opener.window.javascript.getParameter("opentype");
  87. ////////////////////////////
  88. //2010.04.08, 동시에 두명이상의 작업자가 디자인 수정 금지하기 위해 읽기전용 여부 체크 추가 , 주희경
  89. //저장 버튼 그룹 활성화
  90. opener.defaulttab.disabled = false;
  91. //프로그램서식으로 작성중인 서식이면 저장이 안됨 20131112 김영기
  92. if(fCheckFormcdByProgramDesign(model.getValue("/root/main/formlist[" + row + "]/formcd"))){
  93. opener.defaulttab.disabled = true;
  94. } else { // 프로그램서식 블로킹을 위한 분기점 start
  95. // 서식생성기 2.0 기록 확인
  96. var formxfdluseyn = model.getValue("/root/main/forminfo/formmast/formxfdluseyn");
  97. if( formxfdluseyn == "Y" ){
  98. alert("서식생성기 2.0으로 생성된 기록입니다. 서식생성기 2.0을 사용하시기 바랍니다.");
  99. opener.window.javascript.setParameter("saveyn", "N");
  100. window.close();
  101. return;
  102. }
  103. // 읽기전용인지 확인
  104. var readonlystatdt = model.getValue("/root/main/forminfo/readonlylist/readonlystatdt");
  105. var readonlyuserid = model.getValue("/root/main/forminfo/readonlylist/readonlyuserid");
  106. var userid = getUserInfo("userid");
  107. if ( readonlystatdt != "-" && readonlyuserid != userid ) //읽기전용등록일시정보가 있고 동일아이디가 아닌경우
  108. {
  109. var blokingdt = readonlystatdt.substr(0,4) + "/";
  110. blokingdt = blokingdt + readonlystatdt.substr(4,2) + "/";
  111. blokingdt = blokingdt + readonlystatdt.substr(6,2) + "/ ";
  112. blokingdt = blokingdt + readonlystatdt.substr(8,2) + ":";
  113. blokingdt = blokingdt + readonlystatdt.substr(10,2) + ":";
  114. blokingdt = blokingdt + readonlystatdt.substr(12,2);
  115. var readonlyusernm = model.getValue("/root/main/forminfo/readonlylist/readonlyusernm");
  116. if( opentype == "save") //다른 서식으로 저장 시
  117. {
  118. alert("["+readonlyuserid+","+readonlyusernm+"]님이 ["+blokingdt+"]부터 작업 중이므로 저장할 수 없습니다.");
  119. opener.window.javascript.setParameter("saveyn", "N");
  120. window.close();
  121. return;
  122. }
  123. else //서식 일반 조회 시
  124. {
  125. var result = window.alert("["+readonlyuserid+","+readonlyusernm+"]님이 ["+blokingdt+"]부터 작업 중입니다. 읽기전용으로 여시겠습니까?", "읽기전용알림", 4 | 32 | 256);
  126. if(result == 7) {
  127. window.close();
  128. return;
  129. }
  130. else
  131. {
  132. opener.defaulttab.disabled = true; //저장 버튼 그룹 비활성화
  133. }
  134. }
  135. }
  136. else if ( readonlystatdt != "-" && readonlyuserid == userid ) //읽기전용등록일시정보가 있고 동일아이디인 경우
  137. {
  138. if( opentype == "save") //다른 서식으로 저장 시
  139. {
  140. }
  141. else //서식 일반 조회 시
  142. {
  143. model.setValue("/root/main/forminfo/readonlylist/readonlyyn", "Y");
  144. }
  145. }
  146. //
  147. ////////////////////////
  148. ////////////////////////
  149. //병원최대서식은 의료원에서만 수정 가능하도록, 2010.05.27, 주희경
  150. var formuserid = model.getValue("/root/main/formlist["+row+"]/formuserid");
  151. if ( formuserid == "DEPT_BASE" && getUserInfo("posinstcd") != "001" && getUserInfo("posdeptcd") != "4130700000" )
  152. {
  153. opener.defaulttab.disabled = true; //저장 버튼 그룹 비활성화
  154. if( opentype == "save")
  155. {
  156. opener.window.javascript.setParameter("saveyn", "N");
  157. alert("최대서식은 의료원 소속이어야 수정 가능 합니다.");
  158. window.close();
  159. return;
  160. }
  161. }
  162. } // 프로그램서식 블로킹을 위한 분기점 end
  163. //
  164. ////////////////////////
  165. if( opentype == "save")
  166. {
  167. //var srcformcd = opener.model.getValue("/root/main/forminfo/formmast/srcformcd");
  168. //var formprogflag = opener.model.getValue("/root/main/forminfo/formmast/formprogflag");
  169. //copyNode(opener.model, model, "/root/main/forminfo/formmast", "/root/temp/settingform/forminfo/formmast");
  170. copyNode(model, model, "/root/temp/settingform/forminfo/formmast", "/root/main/forminfo/formmast");
  171. copyNode(opener.model, model, "/root/main/forminfo/formmast", "/root/main/forminfo/formmast");
  172. /////////////
  173. //다른서식으로 저장 시 자동으로 공유해제 저장 해준다, 2010.04.16, 주희경
  174. var formcd = model.getValue("/root/main/forminfo/formmast/formcd");
  175. model.makeValue("/root/send/req/formcd",formcd);
  176. model.makeValue("/root/send/req/readonlyyn","Y");
  177. submit("TXMRF02003");
  178. model.makeValue("/root/temp/forminfo/readonlylist/readonlyyn", "Y");
  179. copyNode(opener.model, model, "/root/main/forminfo/readonlylist", "/root/temp/forminfo/readonlylist");
  180. /////////////
  181. //opener.model.setValue("/root/main/forminfo/formmast/srcformcd", srcformcd);
  182. //opener.model.setValue("/root/main/forminfo/formmast/formprogflag", formprogflag);
  183. opener.model.makeValue("/root/temp/degncmpltyn", degncmpltyn);
  184. opener.window.javascript.fSetDegnCmpltYN(degncmpltyn);
  185. opener.window.javascript.setParameter("saveyn", "Y");
  186. opener.model.refresh();
  187. }
  188. else
  189. {
  190. //copyNode(opener.model, model, "/root/main/forminfo", "/root/temp/settingform/forminfo");
  191. copyNode(opener.model, model, "/root/main/forminfo", "/root/main/forminfo");
  192. var grdpltte = opener.document.controls("grd_pltte");
  193. var colLevl = grdpltte.colref("degnitemlevlno");
  194. grdpltte.rebuild();
  195. opener.model.makeValue("/root/temp/degncmpltyn", degncmpltyn);
  196. opener.window.javascript.fSetDegnCmpltYN(degncmpltyn);
  197. opener.model.refresh();
  198. setTree(grdpltte, colLevl, grdpltte.colref("degnitemcd"), true);
  199. }
  200. gTimerID = window.setInterval( "close();", 500 ); //부모창에 데이터 조회 하는 시간이 오래 걸리면 window.close가 제대로 수행 안되기 때문에 확인사살, 2010.04.29, 주희경
  201. window.close();
  202. }
  203. var gTimerID;
  204. //부모창에 데이터 조회 하는 시간이 오래 걸리면 window.close가 제대로 수행 안되기 때문에 확인사살, 2010.04.29, 주희경
  205. function close()
  206. {
  207. window.clearinterval(gTimerID);
  208. window.close();
  209. }
  210. function fAppFormToPltte_old1()
  211. {
  212. var row = grd_formlist.row - grd_formlist.fixedRows + 1;
  213. //model.setValue("/root/send/formdegnseqno", model.getValue("/root/main/formlist[" + row + "]/valu"));
  214. model.makeValue("/root/send/req/formcd", model.getValue("/root/main/formlist[" + row + "]/formcd"));
  215. model.makeValue("/root/send/req/formdegnseq", "");
  216. model.makeValue("/root/send/req/extnunitformlistyn", "N");
  217. model.makeValue("/root/send/req/cashedformdegnseq", "");
  218. model.makeValue("/root/send/req/sysformrecdt", "");
  219. model.makeValue("/root/send/req/mode", "D");
  220. submit("TRMRF02001");
  221. //debugger;
  222. if(opener.window.javascript.getParameter("opentype") == "save")
  223. {
  224. //var srcformcd = opener.model.getValue("/root/main/forminfo/formmast/srcformcd");
  225. //var formprogflag = opener.model.getValue("/root/main/forminfo/formmast/formprogflag");
  226. //copyNode(opener.model, model, "/root/main/forminfo/formmast", "/root/temp/settingform/forminfo/formmast");
  227. copyNode(model, model, "/root/temp/settingform/forminfo/formmast", "/root/main/forminfo/formmast");
  228. copyNode(opener.model, model, "/root/main/forminfo/formmast", "/root/main/forminfo/formmast");
  229. //opener.model.setValue("/root/main/forminfo/formmast/srcformcd", srcformcd);
  230. //opener.model.setValue("/root/main/forminfo/formmast/formprogflag", formprogflag);
  231. opener.model.refresh();
  232. }
  233. else
  234. {
  235. //copyNode(opener.model, model, "/root/main/forminfo", "/root/temp/settingform/forminfo");
  236. copyNode(opener.model, model, "/root/main/forminfo", "/root/main/forminfo");
  237. var grdpltte = opener.document.controls("grd_pltte");
  238. var colLevl = grdpltte.colref("degnitemlevlno");
  239. grdpltte.rebuild();
  240. opener.model.refresh();
  241. setTree(grdpltte, colLevl, grdpltte.colref("degnitemcd"), true);
  242. }
  243. window.close();
  244. }
  245. function fAppFormToPltte_old2()
  246. {
  247. var row = grd_formlist.row - grd_formlist.fixedRows + 1;
  248. //model.setValue("/root/send/formdegnseqno", model.getValue("/root/main/formlist[" + row + "]/valu"));
  249. model.makeValue("/root/send/req/formcd", model.getValue("/root/main/formlist[" + row + "]/formcd"));
  250. model.makeValue("/root/send/req/formdegnseq", "");
  251. model.makeValue("/root/send/req/extnunitformlistyn", "N");
  252. model.makeValue("/root/send/req/cashedformdegnseq", "");
  253. model.makeValue("/root/send/req/sysformrecdt", "");
  254. model.makeValue("/root/send/req/mode", "D");
  255. submit("TRMRF02001");
  256. if(opener.window.javascript.getParameter("opentype") == "save")
  257. {
  258. var srcformcd = opener.model.getValue("/root/main/forminfo/formmast/srcformcd");
  259. var formprogflag = opener.model.getValue("/root/main/forminfo/formmast/formprogflag");
  260. copyNode(opener.model, model, "/root/main/forminfo/formmast", "/root/temp/settingform/forminfo/formmast");
  261. opener.model.setValue("/root/main/forminfo/formmast/srcformcd", srcformcd);
  262. opener.model.setValue("/root/main/forminfo/formmast/formprogflag", formprogflag);
  263. opener.model.refresh();
  264. }
  265. else
  266. {
  267. //copyNode(opener.model, model, "/root/main/forminfo", "/root/temp/settingform/forminfo");
  268. copyNode(opener.model, model, "/root/main/forminfo", "/root/main/forminfo");
  269. var grdpltte = opener.document.controls("grd_pltte");
  270. var colLevl = grdpltte.colref("degnitemlevlno");
  271. grdpltte.rebuild();
  272. opener.model.refresh();
  273. setTree(grdpltte, colLevl, grdpltte.colref("degnitemcd"), true);
  274. }
  275. window.close();
  276. }
  277. function fCheckFormcdByProgramDesign(formcd){
  278. var bFlag = false;
  279. for(var i = 1; i <= getNodesetCount("/root/main/forminfo/programdesignformlist"); i++){
  280. if(formcd == model.getValue("/root/main/forminfo/programdesignformlist["+i+"]/formcd")){
  281. bFlag = true;
  282. messageBox(model.getValue("/root/main/forminfo/programdesignformlist["+i+"]/message"),"I");
  283. break;
  284. }
  285. }
  286. return bFlag;
  287. }