MRF00600.js 77 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781
  1. var grd_degnitem_collapsed = false;
  2. var grd_srcdegnitem_collapsed = false;
  3. function fDoPrvw()
  4. {
  5. var formdeptcd = model.getValue("/root/main/degnitem/formmas/formdeptcd");
  6. var formuserid = model.getValue("/root/main/degnitem/formmas/formuserid");
  7. fCloseSaveAs();
  8. swt_right.selectedIndex = 1;
  9. btn_tab_prvw.selected = true;
  10. if(formdeptcd == "" && formuserid == "DEPT_BASE")
  11. {
  12. alert("병원최대서식은 미리보기할 수 없습니다.");
  13. return;
  14. }
  15. canvas.window.javascript.fPreviewByDegnItems("/root/main/degnitem/formmas", "/root/main/degnitem/degnitemlist[choiyn='Y']", null, null, "record", "", canvas);
  16. }
  17. function fSaveSubForm()
  18. {
  19. try
  20. {
  21. if (model.getValue("/root/hidden/saveas/formextnnm") == "")
  22. {
  23. messageBox("서식명칭은", "I003");
  24. return 0;
  25. }
  26. var flag = model.getValue("/root/hidden/choiform/choiformflag");
  27. var rowstatus = model.getValue("/root/hidden/choiform/rowstatus");
  28. if (model.getValue("/root/hidden/usersetup/userflag") == "C")
  29. {
  30. if (rowstatus == "C")
  31. {
  32. if (model.getValue("/root/hidden/saveas/formdeptcd") == "")
  33. {
  34. messageBox("사용부서를", "C002");
  35. return 0;
  36. }
  37. }
  38. }
  39. else if (model.getValue("/root/hidden/usersetup/userflag") == "I")
  40. {
  41. }
  42. if (flag == "left" && fCheckSetUnitForm() != "")
  43. {
  44. return;
  45. }
  46. if (rowstatus == "C") // 신규저장
  47. {
  48. // 디자인 완료 여부 추가: 이경희(2009.02.17)
  49. model.makeValue("/root/send/savedata/formmast/degncmpltyn" , "Y");
  50. model.makeValue("/root/send/savedata/formmast/formstatus" , "0");
  51. model.makeValue("/root/send/savedata/formmast/formdeptcd" , model.getValue("/root/hidden/saveas/formdeptcd"));
  52. model.makeValue("/root/send/savedata/formmast/formuserid" , model.getValue("/root/hidden/saveas/formuserid"));
  53. model.makeValue("/root/send/savedata/formmast/formusernm" , model.getValue("/root/hidden/saveas/formusernm"));
  54. model.makeValue("/root/send/savedata/formmast/formextnnm" , model.getValue("/root/hidden/saveas/formextnnm"));
  55. // 사용자 항목 설정 구분
  56. model.makeValue("/root/send/savedata/formmast/userconfigyn" , "Y");
  57. if(model.getValue("/root/hidden/saveas/formdeptcd") != "" && model.getValue("/root/hidden/saveas/formuserid") != "-")
  58. model.makeValue("/root/send/savedata/formmast/formuseflag" , "I");
  59. else
  60. model.makeValue("/root/send/savedata/formmast/formuseflag" , "D");
  61. // 2009.04.27 이경희
  62. // 신규 생성 서식의 경우 fstrgstdt 가 srcformcd 의 최초생성일을 따라가므로 그 이후에 입사한 사용자가 생성을해도
  63. // 서식이 조회되지 않는 문제점이 있어서 신규 생성 서식의 경우 최초생성일을 수정함.
  64. model.makeValue("/root/send/savedata/formmast/fstrgstdt", getCurrentDate() + getCurrentTime());
  65. // 서식코드를 먼저 생성.
  66. //var rowstatus = model.getValue("/root/send/savedata/formmast/rowstatus");
  67. //var instcd = model.getValue("/root/send/savedata/formmast/instcd");
  68. var instcd = getUserInfo("dutplceinstcd");
  69. var formstatus = model.getValue("/root/send/savedata/formmast/formstatus");
  70. fSetNewSaveFormMast("/root/main/degnitem/formmas", rowstatus);
  71. if(submit("TXMRF00602") == false)
  72. {
  73. messageBox("서식코드를 생성", "E001");
  74. return;
  75. }
  76. // 서식마스터 노드를 교체
  77. //copyNodeset(strDest, strSrc, mode, destModel, srcModel)
  78. //copyNode(destModel, srcModel, strDest, strSrc)
  79. //copyNode("/root/send/savedata/formmast", "/root/main/formlist", "replace", model, model);
  80. model.makeValue("/root/main/subform/formdegntodt" , "99991231000000");
  81. copyNode(model, model, "/root/send/savedata/formmast", "/root/main/subform");
  82. copyNode(model, model, "/root/main/degnitem/formmas", "/root/main/subform");
  83. model.makeValue("/root/send/savedata/formmast/rowstatus" , rowstatus);
  84. model.makeValue("/root/send/savedata/formmast/instcd" , instcd);
  85. model.makeValue("/root/send/savedata/formmast/formstatus" , "3");
  86. // degnitemlist의 formdegnseq 를 변경
  87. var degnitemList = findNodeset(model, "/root/main/degnitem/degnitemlist");
  88. for(var idx = 0; idx < degnitemList.length; idx++)
  89. {
  90. var degnitemNode = degnitemList.item(idx);
  91. if(degnitemNode != null)
  92. {
  93. if(degnitemNode.selectSingleNode("formdegnseq") != null)
  94. {
  95. degnitemNode.selectSingleNode("formdegnseq").text = "0";
  96. }
  97. }
  98. }
  99. }
  100. else // 저장
  101. {
  102. model.makeValue("/root/send/savedata/formmast/formdeptcd" , model.getValue("/root/hidden/saveas/formdeptcd"));
  103. model.makeValue("/root/send/savedata/formmast/formuserid" , model.getValue("/root/hidden/saveas/formuserid"));
  104. model.makeValue("/root/send/savedata/formmast/formusernm" , model.getValue("/root/hidden/saveas/formusernm"));
  105. model.makeValue("/root/send/savedata/formmast/formextnnm" , model.getValue("/root/hidden/saveas/formextnnm"));
  106. //forminfo 저장 로직을 위해 status를 "3" 으로 변경: 이경희(2009.02.17)
  107. //model.makeValue("/root/send/savedata/formmast/formstatus" , "2");
  108. model.makeValue("/root/send/savedata/formmast/formstatus" , "3");
  109. }
  110. var irowno = 1;
  111. if (flag == "left")
  112. {
  113. //fSetSaveFormMast("/root/main/list/endformlist["+ grd_endformlist.row +"]", rowstatus);
  114. fSetSaveFormMast("/root/main/form/formmas", rowstatus);
  115. grd_formitemlist.nodeset="/root/main/form/unitformlist[rowstatus='C']";
  116. grd_formitemlist.refresh();
  117. grd_formitemlist.clearStatus();
  118. var colref_rowstatus = grd_formitemlist.colref("rowstatus");
  119. var colref_degnrowno = grd_formitemlist.colref("degnrowno");
  120. var colref_degnitemno = grd_formitemlist.colref("degnitemno");
  121. for (var i = 0; i < grd_formitemlist.rows; i++)
  122. {
  123. if (grd_formitemlist.textmatrix(i, colref_rowstatus) == "C")
  124. {
  125. grd_formitemlist.rowstatus(i) = 1;
  126. grd_formitemlist.valuematrix(i, colref_degnrowno) = irowno++;
  127. }
  128. }
  129. model.makeValue("/root/send/savedata/formdegn", grd_formitemlist.getUpdateData("insert"));
  130. }
  131. else if (flag == "right")
  132. {
  133. fSetSaveFormMast("/root/main/degnitem/formmas", "U");
  134. grd_degnitem.clearStatus();
  135. var colref_choiyn = grd_degnitem.colref("choiyn");
  136. var colref_degnrowno = grd_degnitem.colref("degnrowno");
  137. for (var i = 0; i < grd_degnitem.rows; i++)
  138. {
  139. if (grd_degnitem.textmatrix(i, colref_choiyn) == "Y")
  140. {
  141. grd_degnitem.rowstatus(i) = 1;
  142. grd_degnitem.valuematrix(i, colref_degnrowno) = irowno++;
  143. }
  144. }
  145. model.makeValue("/root/send/savedata/formdegn", grd_degnitem.getUpdateData("insert"));
  146. }
  147. else
  148. {
  149. return;
  150. }
  151. //xrw 저장 로직추가 : snoweye(2008.07.12)
  152. var formdeptcd = model.getValue("/root/main/degnitem/formmas/formdeptcd");
  153. var formuserid = model.getValue("/root/main/degnitem/formmas/formuserid");
  154. var formprogflag = model.getValue("/root/main/degnitem/formmas/formprogflag");
  155. if(formdeptcd != "" || formuserid != "DEPT_BASE" || formprogflag != "PROG")
  156. {
  157. //0. 먼저 그려야 된다..
  158. canvas.window.javascript.fPreviewByDegnItems("/root/main/degnitem/formmas", "/root/main/degnitem/degnitemlist[choiyn='Y']", null, null, "record", "", canvas);
  159. //1. 그려진 정보를 저장한다.
  160. var strNewXrw = "";
  161. if(formuserid != "-" && formuserid != "DEPT_DEFLT")
  162. {
  163. strNewXrw = canvas.window.javascript.fGetUserFormXrw();
  164. }
  165. else
  166. {
  167. strNewXrw = canvas.window.javascript.fGetFormXrw();
  168. }
  169. //var strNewXrw = canvas.window.javascript.fGetFormXrw();
  170. model.makeValue("/root/send/savedata/formmast/formxrw", strNewXrw, true);
  171. }
  172. }
  173. catch (e)
  174. {
  175. }
  176. try
  177. {
  178. fSaveFormInfo();
  179. if (model.getValue("/root/temp/settingform/savedforminfo/formcd").indexOf('/') == 0)
  180. return;
  181. if (flag == "left")
  182. {
  183. fRefEndForm(model.getValue("/root/temp/settingform/savedforminfo/formcd"),
  184. model.getValue("/root/temp/settingform/savedforminfo/formdeptcd"));
  185. }
  186. else if (flag == "right")
  187. {
  188. fRefDegnItem(model.getValue("/root/temp/settingform/savedforminfo/formcd"),
  189. model.getValue("/root/temp/settingform/savedforminfo/formdeptcd"),
  190. model.getValue("/root/temp/settingform/savedforminfo/formuseflag"),
  191. model.getValue("/root/temp/settingform/savedforminfo/formuserid"));
  192. }
  193. model.refresh();
  194. }
  195. catch (e)
  196. {
  197. }
  198. }
  199. function fSave()
  200. {
  201. if (model.getValue("/root/hidden/saveas/formextnnm") == "")
  202. {
  203. messageBox("서식명칭은", "I003");
  204. return 0;
  205. }
  206. var flag = model.getValue("/root/hidden/choiform/choiformflag");
  207. var rowstatus = model.getValue("/root/hidden/choiform/rowstatus");
  208. if (model.getValue("/root/hidden/usersetup/userflag") == "C")
  209. {
  210. if (rowstatus == "C")
  211. {
  212. if (model.getValue("/root/hidden/saveas/formdeptcd") == "")
  213. {
  214. messageBox("사용부서를", "C002");
  215. return 0;
  216. }
  217. }
  218. }
  219. else if (model.getValue("/root/hidden/usersetup/userflag") == "I")
  220. {
  221. }
  222. if (flag == "left" && fCheckSetUnitForm() != "")
  223. {
  224. return;
  225. }
  226. var irowno = 1;
  227. if (flag == "left")
  228. {
  229. //fSetSaveFormMast("/root/main/list/endformlist["+ grd_endformlist.row +"]", rowstatus);
  230. fSetSaveFormMast("/root/main/form/formmas", rowstatus);
  231. grd_formitemlist.nodeset="/root/main/form/unitformlist[rowstatus='C']";
  232. grd_formitemlist.refresh();
  233. grd_formitemlist.clearStatus();
  234. var colref_rowstatus = grd_formitemlist.colref("rowstatus");
  235. var colref_degnrowno = grd_formitemlist.colref("degnrowno");
  236. var colref_degnitemno = grd_formitemlist.colref("degnitemno");
  237. for (var i = 0; i < grd_formitemlist.rows; i++)
  238. {
  239. if (grd_formitemlist.textmatrix(i, colref_rowstatus) == "C")
  240. {
  241. grd_formitemlist.rowstatus(i) = 1;
  242. grd_formitemlist.valuematrix(i, colref_degnrowno) = irowno++;
  243. }
  244. }
  245. model.makeValue("/root/send/savedata/formdegn", grd_formitemlist.getUpdateData("insert"));
  246. }
  247. else if (flag == "right")
  248. {
  249. fSetSaveFormMast("/root/main/degnitem/formmas", rowstatus);
  250. grd_degnitem.clearStatus();
  251. var colref_choiyn = grd_degnitem.colref("choiyn");
  252. var colref_degnrowno = grd_degnitem.colref("degnrowno");
  253. for (var i = 0; i < grd_degnitem.rows; i++)
  254. {
  255. if (grd_degnitem.textmatrix(i, colref_choiyn) == "Y")
  256. {
  257. grd_degnitem.rowstatus(i) = 1;
  258. grd_degnitem.valuematrix(i, colref_degnrowno) = irowno++;
  259. }
  260. }
  261. model.makeValue("/root/send/savedata/formdegn", grd_degnitem.getUpdateData("insert"));
  262. }
  263. else
  264. {
  265. return;
  266. }
  267. if (rowstatus == "C") // 신규저장
  268. {
  269. // 디자인 완료 여부 추가: 이경희(2009.02.17)
  270. model.makeValue("/root/send/savedata/formmast/degncmpltyn" , "Y");
  271. model.makeValue("/root/send/savedata/formmast/formstatus" , "0");
  272. model.makeValue("/root/send/savedata/formmast/formdeptcd" , model.getValue("/root/hidden/saveas/formdeptcd"));
  273. model.makeValue("/root/send/savedata/formmast/formuserid" , model.getValue("/root/hidden/saveas/formuserid"));
  274. model.makeValue("/root/send/savedata/formmast/formusernm" , model.getValue("/root/hidden/saveas/formusernm"));
  275. model.makeValue("/root/send/savedata/formmast/formextnnm" , model.getValue("/root/hidden/saveas/formextnnm"));
  276. // 사용자 항목 설정 구분
  277. model.makeValue("/root/send/savedata/formmast/userconfigyn" , "Y");
  278. if(model.getValue("/root/hidden/saveas/formdeptcd") != "" && model.getValue("/root/hidden/saveas/formuserid") != "-")
  279. model.makeValue("/root/send/savedata/formmast/formuseflag" , "I");
  280. else
  281. model.makeValue("/root/send/savedata/formmast/formuseflag" , "D");
  282. // 2009.04.27 이경희
  283. // 신규 생성 서식의 경우 fstrgstdt 가 srcformcd 의 최초생성일을 따라가므로 그 이후에 입사한 사용자가 생성을해도
  284. // 서식이 조회되지 않는 문제점이 있어서 신규 생성 서식의 경우 최초생성일을 수정함.
  285. model.makeValue("/root/send/savedata/formmast/fstrgstdt", getCurrentDate() + getCurrentTime());
  286. }
  287. else // 저장
  288. {
  289. model.makeValue("/root/send/savedata/formmast/formdeptcd" , model.getValue("/root/hidden/saveas/formdeptcd"));
  290. model.makeValue("/root/send/savedata/formmast/formuserid" , model.getValue("/root/hidden/saveas/formuserid"));
  291. model.makeValue("/root/send/savedata/formmast/formusernm" , model.getValue("/root/hidden/saveas/formusernm"));
  292. model.makeValue("/root/send/savedata/formmast/formextnnm" , model.getValue("/root/hidden/saveas/formextnnm"));
  293. //forminfo 저장 로직을 위해 status를 "3" 으로 변경: 이경희(2009.02.17)
  294. //model.makeValue("/root/send/savedata/formmast/formstatus" , "2");
  295. model.makeValue("/root/send/savedata/formmast/formstatus" , "3");
  296. }
  297. //xrw 저장 로직추가 : snoweye(2008.07.12)
  298. var formdeptcd = model.getValue("/root/main/degnitem/formmas/formdeptcd");
  299. var formuserid = model.getValue("/root/main/degnitem/formmas/formuserid");
  300. var formprogflag = model.getValue("/root/main/degnitem/formmas/formprogflag");
  301. if(formdeptcd != "" || formuserid != "DEPT_BASE" || formprogflag != "PROG")
  302. {
  303. //0. 먼저 그려야 된다..
  304. canvas.window.javascript.fPreviewByDegnItems("/root/main/degnitem/formmas", "/root/main/degnitem/degnitemlist[choiyn='Y']", null, null, "record", "", canvas);
  305. //1. 그려진 정보를 저장한다.
  306. var strNewXrw = canvas.window.javascript.fGetFormXrw();
  307. model.makeValue("/root/send/savedata/formmast/formxrw", strNewXrw, true);
  308. }
  309. try
  310. {
  311. fSaveFormInfo();
  312. if (model.getValue("/root/temp/settingform/savedforminfo/formcd").indexOf('/') == 0)
  313. return;
  314. if (flag == "left")
  315. {
  316. fRefEndForm(model.getValue("/root/temp/settingform/savedforminfo/formcd"),
  317. model.getValue("/root/temp/settingform/savedforminfo/formdeptcd"));
  318. }
  319. else if (flag == "right")
  320. {
  321. fRefDegnItem(model.getValue("/root/temp/settingform/savedforminfo/formcd"),
  322. model.getValue("/root/temp/settingform/savedforminfo/formdeptcd"),
  323. model.getValue("/root/temp/settingform/savedforminfo/formuseflag"),
  324. model.getValue("/root/temp/settingform/savedforminfo/formuserid"));
  325. }
  326. model.refresh();
  327. }
  328. catch (e)
  329. {
  330. }
  331. }
  332. function fSetNewSaveFormMast(srcpath, rowstatus)
  333. {
  334. model.makeValue("/root/send/savedata/formmast/rowstatus" , rowstatus);
  335. model.makeValue("/root/send/savedata/formmast/formcd" , model.getValue(srcpath + "/formcd" ));
  336. if (rowstatus == "C")
  337. model.makeValue("/root/send/savedata/formmast/formfromdt" , "SVR_TIME");
  338. else
  339. model.makeValue("/root/send/savedata/formmast/formfromdt" , model.getValue(srcpath + "/formfromdt" ));
  340. model.makeValue("/root/send/savedata/formmast/formtodt" , "99991231000000");
  341. model.makeValue("/root/send/savedata/formmast/formdegnseq" , "0");
  342. model.makeValue("/root/send/savedata/formmast/formdegnfromdt" , "SVR_TIME");
  343. model.makeValue("/root/send/savedata/formmast/formdegntodt" , model.getValue(srcpath + "/formdegntodt" ));
  344. model.makeValue("/root/send/savedata/formmast/formclsseq" , model.getValue(srcpath + "/formclsseq" ));
  345. model.makeValue("/root/send/savedata/formmast/formnm" , model.getValue(srcpath + "/formnm" ));
  346. model.makeValue("/root/send/savedata/formmast/formchosflag" , model.getValue(srcpath + "/formchosflag" ));
  347. model.makeValue("/root/send/savedata/formmast/formprogflag" , model.getValue(srcpath + "/formprogflag" ));
  348. model.makeValue("/root/send/savedata/formmast/formprognm" , model.getValue(srcpath + "/formprognm" ));
  349. model.makeValue("/root/send/savedata/formmast/formkind" , model.getValue(srcpath + "/formkind" ));
  350. model.makeValue("/root/send/savedata/formmast/formuseflag" , model.getValue(srcpath + "/formuseflag" ));
  351. model.makeValue("/root/send/savedata/formmast/userconfigyn" , model.getValue(srcpath + "/userconfigyn" ));
  352. model.makeValue("/root/send/savedata/formmast/formdeptcd" , model.getValue("/root/hidden/saveas/formdeptcd"));
  353. model.makeValue("/root/send/savedata/formmast/formuserid" , model.getValue("/root/hidden/saveas/formuserid"));
  354. model.makeValue("/root/send/savedata/formmast/formextnnm" , model.getValue("/root/hidden/saveas/formextnnm"));
  355. model.makeValue("/root/send/savedata/formmast/srcformcd" , model.getValue(srcpath + "/srcformcd" ));
  356. model.makeValue("/root/send/savedata/formmast/sortno" , model.getValue(srcpath + "/sortno" ));
  357. model.makeValue("/root/send/savedata/formmast/formcnts" , model.getValue(srcpath + "/formcnts" ));
  358. model.makeValue("/root/send/savedata/formmast/formlevlcd" , model.getValue(srcpath + "/formlevlcd" ));
  359. model.makeValue("/root/send/savedata/formmast/formbizcls" , model.getValue(srcpath + "/formbizcls" ));
  360. model.makeValue("/root/send/savedata/formmast/degnappyn" , model.getValue(srcpath + "/degnappyn" ));
  361. model.makeValue("/root/send/savedata/formmast/userdegnflag" , model.getValue(srcpath + "/userdegnflag" ));
  362. model.makeValue("/root/send/savedata/formmast/recreflockappyn" , model.getValue(srcpath + "/recreflockappyn"));
  363. //model.makeValue("/root/send/savedata/formmast/degncmpltyn" , model.getValue(srcpath + "/degncmpltyn" ));
  364. model.makeValue("/root/send/savedata/formmast/degncmpltyn" , "Y");
  365. model.makeValue("/root/send/savedata/formmast/formtypecls" , model.getValue(srcpath + "/formtypecls" ));
  366. model.makeValue("/root/send/savedata/formmast/ocrtagprntyn" , model.getValue(srcpath + "/ocrtagprntyn" ));
  367. model.makeValue("/root/send/savedata/formmast/reclistviewyn" , model.getValue(srcpath + "/reclistviewyn" ));
  368. model.makeValue("/root/send/savedata/formmast/formprntnm" , model.getValue(srcpath + "/formprntnm" ));
  369. model.makeValue("/root/send/savedata/formmast/langflag" , model.getValue(srcpath + "/langflag" ));
  370. model.makeValue("/root/send/savedata/formmast/foctsnwyn" , model.getValue(srcpath + "/foctsnwyn" ));
  371. model.makeValue("/root/send/savedata/formmast/mainyn" , model.getValue(srcpath + "/mainyn" ));
  372. model.makeValue("/root/send/savedata/formmast/instcd" , model.getValue(srcpath + "/instcd" ));
  373. model.makeValue("/root/send/savedata/formmast/fstrgstrid" , model.getValue(srcpath + "/fstrgstrid" ));
  374. model.makeValue("/root/send/savedata/formmast/fstrgstrnm" , model.getValue(srcpath + "/fstrgstrnm" ));
  375. model.makeValue("/root/send/savedata/formmast/fstrgstdt" , model.getValue(srcpath + "/fstrgstdt" ));
  376. model.makeValue("/root/send/savedata/formmast/lastupdtrid" , model.getValue(srcpath + "/lastupdtrid" ));
  377. model.makeValue("/root/send/savedata/formmast/lastupdtrnm" , model.getValue(srcpath + "/lastupdtrnm" ));
  378. model.makeValue("/root/send/savedata/formmast/lastupdtdt" , model.getValue(srcpath + "/lastupdtdt" ));
  379. }
  380. function fSetSaveFormMast(srcpath, rowstatus)
  381. {
  382. model.makeValue("/root/send/savedata/formmast/rowstatus" , rowstatus);
  383. model.makeValue("/root/send/savedata/formmast/formcd" , model.getValue(srcpath + "/formcd" ));
  384. /*
  385. if (rowstatus == "C")
  386. {
  387. model.makeValue("/root/send/savedata/formmast/formfromdt" , "SVR_TIME");
  388. }
  389. else
  390. {
  391. model.makeValue("/root/send/savedata/formmast/formfromdt" , model.getValue(srcpath + "/formfromdt" ));
  392. }
  393. model.makeValue("/root/send/savedata/formmast/formtodt" , "99991231000000");
  394. */
  395. if (rowstatus == "C")
  396. {
  397. model.makeValue("/root/send/savedata/formmast/formfromdt" , "SVR_TIME");
  398. model.makeValue("/root/send/savedata/formmast/formtodt" , "99991231000000");
  399. }
  400. else
  401. {
  402. model.makeValue("/root/send/savedata/formmast/formfromdt" , model.getValue(srcpath + "/formfromdt" ));
  403. model.makeValue("/root/send/savedata/formmast/formtodt" , model.getValue(srcpath + "/formtodt" ));
  404. }
  405. model.makeValue("/root/send/savedata/formmast/formdegnseq" , model.getValue(srcpath + "/formdegnseq" ));
  406. model.makeValue("/root/send/savedata/formmast/formdegnfromdt" , "SVR_TIME");
  407. model.makeValue("/root/send/savedata/formmast/formdegntodt" , model.getValue(srcpath + "/formdegntodt" ));
  408. model.makeValue("/root/send/savedata/formmast/formclsseq" , model.getValue(srcpath + "/formclsseq" ));
  409. model.makeValue("/root/send/savedata/formmast/formnm" , model.getValue(srcpath + "/formnm" ));
  410. model.makeValue("/root/send/savedata/formmast/formchosflag" , model.getValue(srcpath + "/formchosflag" ));
  411. model.makeValue("/root/send/savedata/formmast/formprogflag" , model.getValue(srcpath + "/formprogflag" ));
  412. model.makeValue("/root/send/savedata/formmast/formprognm" , model.getValue(srcpath + "/formprognm" ));
  413. model.makeValue("/root/send/savedata/formmast/formkind" , model.getValue(srcpath + "/formkind" ));
  414. model.makeValue("/root/send/savedata/formmast/formuseflag" , model.getValue(srcpath + "/formuseflag" ));
  415. model.makeValue("/root/send/savedata/formmast/userconfigyn" , model.getValue(srcpath + "/userconfigyn" ));
  416. model.makeValue("/root/send/savedata/formmast/formdeptcd" , model.getValue(srcpath + "/formdeptcd" ));
  417. model.makeValue("/root/send/savedata/formmast/formdeptnm" , model.getValue(srcpath + "/formdeptnm" ));
  418. model.makeValue("/root/send/savedata/formmast/formuserid" , model.getValue(srcpath + "/formuserid" ));
  419. model.makeValue("/root/send/savedata/formmast/formextnnm" , model.getValue(srcpath + "/formextnnm" ));
  420. model.makeValue("/root/send/savedata/formmast/formusernm" , model.getValue(srcpath + "/formusernm" ));
  421. model.makeValue("/root/send/savedata/formmast/srcformcd" , model.getValue(srcpath + "/srcformcd" ));
  422. model.makeValue("/root/send/savedata/formmast/sortno" , model.getValue(srcpath + "/sortno" ));
  423. model.makeValue("/root/send/savedata/formmast/formcnts" , model.getValue(srcpath + "/formcnts" ));
  424. model.makeValue("/root/send/savedata/formmast/formlevlcd" , model.getValue(srcpath + "/formlevlcd" ));
  425. model.makeValue("/root/send/savedata/formmast/formbizcls" , model.getValue(srcpath + "/formbizcls" ));
  426. model.makeValue("/root/send/savedata/formmast/degnappyn" , model.getValue(srcpath + "/degnappyn" ));
  427. model.makeValue("/root/send/savedata/formmast/userdegnflag" , model.getValue(srcpath + "/userdegnflag" ));
  428. model.makeValue("/root/send/savedata/formmast/recreflockappyn" , model.getValue(srcpath + "/recreflockappyn"));
  429. model.makeValue("/root/send/savedata/formmast/degncmpltyn" , model.getValue(srcpath + "/degncmpltyn" ));
  430. model.makeValue("/root/send/savedata/formmast/formtypecls" , model.getValue(srcpath + "/formtypecls" ));
  431. model.makeValue("/root/send/savedata/formmast/ocrtagprntyn" , model.getValue(srcpath + "/ocrtagprntyn" ));
  432. model.makeValue("/root/send/savedata/formmast/reclistviewyn" , model.getValue(srcpath + "/reclistviewyn" ));
  433. model.makeValue("/root/send/savedata/formmast/formprntnm" , model.getValue(srcpath + "/formprntnm" ));
  434. model.makeValue("/root/send/savedata/formmast/langflag" , model.getValue(srcpath + "/langflag" ));
  435. model.makeValue("/root/send/savedata/formmast/foctsnwyn" , model.getValue(srcpath + "/foctsnwyn" ));
  436. model.makeValue("/root/send/savedata/formmast/mainyn" , model.getValue(srcpath + "/mainyn" ));
  437. model.makeValue("/root/send/savedata/formmast/instcd" , model.getValue(srcpath + "/instcd" ));
  438. model.makeValue("/root/send/savedata/formmast/fstrgstrid" , model.getValue(srcpath + "/fstrgstrid" ));
  439. model.makeValue("/root/send/savedata/formmast/fstrgstrnm" , model.getValue(srcpath + "/fstrgstrnm" ));
  440. model.makeValue("/root/send/savedata/formmast/fstrgstdt" , model.getValue(srcpath + "/fstrgstdt" ));
  441. model.makeValue("/root/send/savedata/formmast/lastupdtrid" , model.getValue(srcpath + "/lastupdtrid" ));
  442. model.makeValue("/root/send/savedata/formmast/lastupdtrnm" , model.getValue(srcpath + "/lastupdtrnm" ));
  443. model.makeValue("/root/send/savedata/formmast/lastupdtdt" , model.getValue(srcpath + "/lastupdtdt" ));
  444. }
  445. function fExtnAdd()
  446. {
  447. if (parseInt(grd_degnitem.attribute("width")) == 294)
  448. {
  449. grd_degnitem.attribute("width") = 595;
  450. caption12.visible = false;
  451. btn_additem.attribute("visibility") = "hidden";
  452. btn_extnadd.attribute("text") = "서식항목추가 화면숨김";
  453. grd_degnitem.colwidth(grd_degnitem.colref("degnitemnm")) = 556;
  454. }
  455. else
  456. {
  457. grd_degnitem.attribute("width") = 294;
  458. caption12.visible = true;
  459. btn_additem.attribute("visibility") = "visible";
  460. btn_extnadd.attribute("text") = "서식항목추가 화면보임";
  461. grd_degnitem.colwidth(grd_degnitem.colref("degnitemnm")) = 255;
  462. }
  463. }
  464. function fOpenSaveAs(flag, status)
  465. {
  466. model.setValue("/root/hidden/choiform/choiformflag", flag);
  467. model.setValue("/root/hidden/choiform/rowstatus", status);
  468. //사용자 본인 서식만 수정권한이 있다.
  469. if (model.getValue("/root/hidden/usersetup/userflag") == "I")
  470. {
  471. //사용자 과내서식에서만 생성 할 수 있다.
  472. if (status == "C" &&
  473. model.getValue("/root/hidden/choiform/"+flag+"/formdeptcd") != model.getValue("/root/hidden/usersetup/userdeptcd"))
  474. {
  475. messageBox("다른부서의 서식으로 생성", "E001");
  476. return;
  477. }
  478. if (status == "U" &&
  479. model.getValue("/root/hidden/choiform/"+flag+"/formuserid") != getUserId())
  480. {
  481. messageBox("저장", "E002");
  482. return;
  483. }
  484. }
  485. if (flag == "left" && fCheckSetUnitForm() != "") return;
  486. if (status == "C")
  487. {
  488. if (model.getValue("/root/hidden/usersetup/userflag") == "C")
  489. {
  490. if (model.getValue("/root/hidden/choiform/"+ flag +"/formuseflag") == "C")
  491. {
  492. ipt_saveas_formusernm.refresh();
  493. ipt_saveas_formusernm.disabled = true;
  494. }
  495. else if (model.getValue("/root/hidden/choiform/"+ flag +"/formuseflag") == "D" &&
  496. model.getValue("/root/hidden/choiform/"+ flag +"/formuserid") == "DEPT_BASE")
  497. {
  498. ipt_saveas_formusernm.refresh();
  499. ipt_saveas_formusernm.disabled = true;
  500. }
  501. else
  502. {
  503. model.setValue("/root/hidden/saveas/formdeptcd", model.getValue("/root/hidden/choiform/"+ flag +"/formdeptcd"));
  504. cbo_saveas_formdeptcd.refresh();
  505. cbo_saveas_formdeptcd.disabled = true;
  506. }
  507. }
  508. else if (model.getValue("/root/hidden/usersetup/userflag") == "I")
  509. {
  510. model.setValue("/root/hidden/saveas/formdeptcd", model.getValue("/root/hidden/usersetup/userdeptcd"));
  511. model.setValue("/root/hidden/saveas/formuserid", model.getValue("/root/hidden/usersetup/userid"));
  512. model.setValue("/root/hidden/saveas/formusernm", model.getValue("/root/hidden/usersetup/usernm"));
  513. cbo_saveas_formdeptcd.refresh();
  514. ipt_saveas_formusernm.refresh();
  515. cbo_saveas_formdeptcd.disabled = true;
  516. ipt_saveas_formusernm.disabled = true;
  517. //cbo_saveas_formtype.disabled = true;
  518. }
  519. fDisableFormtype();
  520. }
  521. else
  522. {
  523. model.makeValue("/root/hidden/saveas/formextnnm", model.getValue("/root/hidden/choiform/"+ flag +"/formextnnm"));
  524. model.makeValue("/root/hidden/saveas/formdeptcd", model.getValue("/root/hidden/choiform/"+ flag +"/formdeptcd"));
  525. model.makeValue("/root/hidden/saveas/formuserid", model.getValue("/root/hidden/choiform/"+ flag +"/formuserid"));
  526. model.makeValue("/root/hidden/saveas/formusernm", model.getValue("/root/hidden/choiform/"+ flag +"/formusernm"));
  527. cbo_saveas_formdeptcd.disabled = true;
  528. ipt_saveas_formusernm.disabled = true;
  529. //cbo_saveas_formtype.disabled = true;
  530. ipt_saveas_formextnnm.refresh();
  531. cbo_saveas_formdeptcd.refresh();
  532. ipt_saveas_formusernm.refresh();
  533. //cbo_saveas_formtype.refresh();
  534. fDisableFormtype();
  535. }
  536. if (flag == "left")
  537. {
  538. grup_saveas.attribute("left") = 285;
  539. grup_saveas.attribute("top") = 95;
  540. }
  541. else if (flag == "right") // 부분서식 저장
  542. {
  543. swt_right.selectedIndex = 0;
  544. btn_tab_formitem.selected = true;
  545. grup_saveas.attribute("left") = 887; // grup_saveas 서식저장 팝업
  546. grup_saveas.attribute("top") = 44;
  547. }
  548. grup_saveas.attribute("visibility") = "visible";
  549. model.setValue("/root/hidden/choiform/choiformflag", flag);
  550. model.setFocus("ipt_saveas_formextnnm");
  551. }
  552. function fCheckSetUnitForm()
  553. {
  554. var rtn = "";
  555. var nodelist = instance1.selectNodes("/root/main/form/unitformlist[degnitemkind='FRM' and userdegnyn='Y']");
  556. var supitemcd = "";
  557. var supitemnm = "";
  558. for (var i = 0; i < nodelist.length; i++)
  559. {
  560. supitemcd += nodelist.item(i).getXPathString("supdegnitemcd") + ";";
  561. supitemnm += nodelist.item(i).getXPathString("grditemnm") + ";";
  562. }
  563. var arrSupitemcd = supitemcd.split(";");
  564. var arrSupitemnm = supitemnm.split(";");
  565. for (var i = 0; i < arrSupitemcd.length-1; i++)
  566. {
  567. nodelist = instance1.selectNodes("/root/main/form/unitformlist[rowstatus='C' and supdegnitemcd='"+ arrSupitemcd[i] +"' and itemuseflag='F0']");
  568. if (nodelist.length == 0)
  569. {
  570. rtn += arrSupitemnm[i] + "에 대한 기본서식이 반드시 하나는 존재해야합니다.\n\n";
  571. rtn += "☞ 바탕에 표시 될 부분서식의 서식구분을 하나만 기본으로 해야합니다.";
  572. break;
  573. }
  574. else if (nodelist.length > 1)
  575. {
  576. rtn += arrSupitemnm[i] + "에 대한 기본서식은 하나만 존재해야합니다.\n\n";
  577. rtn += "☞ 바탕에 표시 될 부분서식의 서식구분을 하나만 기본으로 해야합니다.";
  578. break;
  579. }
  580. }
  581. if (rtn != "")
  582. {
  583. alert(rtn);
  584. }
  585. return rtn;
  586. }
  587. function fCloseSaveAs()
  588. {
  589. ipt_saveas_formextnnm.disabled = false;
  590. cbo_saveas_formdeptcd.disabled = false;
  591. ipt_saveas_formusernm.disabled = false;
  592. model.setValue("/root/hidden/saveas/formextnnm", "");
  593. model.setValue("/root/hidden/saveas/formdeptcd", "");
  594. model.setValue("/root/hidden/saveas/formuserid", "");
  595. model.setValue("/root/hidden/saveas/formusernm", "");
  596. ipt_saveas_formextnnm.refresh();
  597. cbo_saveas_formdeptcd.refresh();
  598. ipt_saveas_formusernm.refresh();
  599. grup_saveas.attribute("visibility") = "hidden";
  600. }
  601. function fAddItem()
  602. {
  603. var cnt_degnitemlist = parseInt( getNodesetCount("/root/main/degnitem/degnitemlist") );
  604. var cnt_srcdegnitemlist = parseInt( getNodesetCount("/root/main/degnitem/srcdegnitemlist") );
  605. for (var i = 1; i <= cnt_srcdegnitemlist; i++)
  606. {
  607. if (model.getValue("/root/main/degnitem/srcdegnitemlist[" +i+ "]/choiyn") == "Y")
  608. {
  609. var node = instance1.selectSingleNode("/root/main/degnitem/srcdegnitemlist["+ i +"]");
  610. var cp_node = node.cloneNode(true);
  611. cp_node.nodeName = "degnitemlist";
  612. var src_supdegnitemno = cp_node.getXPathString("supdegnitemno");
  613. var src_degnitemno = cp_node.getXPathString("degnitemno");
  614. var src_degnitemlevlno = cp_node.getXPathString("degnitemlevlno");
  615. var nodelist = instance1.selectNodes("/root/main/degnitem/degnitemlist[degnitemno='"+ src_degnitemno +"']");
  616. //SetUserLog("additem", "degnitemnm", cp_node.getXPathString("degnitemnm"));
  617. ////SetUserLog("additem", "src_degnitemno", src_degnitemno);
  618. ////SetUserLog("additem", "nodelist.length", nodelist.length);
  619. if (nodelist.length == 0)
  620. {
  621. var flag = false;
  622. var idx = -1;
  623. cnt_degnitemlist = parseInt( getNodesetCount("/root/main/degnitem/degnitemlist") );
  624. for (var j = 1; j <= cnt_degnitemlist; j++)
  625. {
  626. if (model.getValue("/root/main/degnitem/srcdegnitemlist[" +i+ "]/degnitemlevlno") == "1")
  627. {
  628. //SetUserLog("additem", "flag", "1");
  629. idx = cnt_degnitemlist + 2;
  630. break;
  631. }
  632. else if (!flag && src_supdegnitemno == model.getValue("/root/main/degnitem/degnitemlist[" +j+ "]/degnitemno"))
  633. {
  634. //SetUserLog("additem", "flag", "2");
  635. flag = true;
  636. if (j == cnt_degnitemlist)
  637. {
  638. idx = cnt_degnitemlist + 2;
  639. break;
  640. }
  641. }
  642. else if (flag && src_degnitemlevlno > model.getValue("/root/main/degnitem/degnitemlist[" +j+ "]/degnitemlevlno"))
  643. {
  644. //SetUserLog("additem", "flag", "3");
  645. idx = j + 1;
  646. break;
  647. }
  648. else if (flag && j == cnt_degnitemlist)
  649. {
  650. //SetUserLog("additem", "flag", "4");
  651. idx = cnt_degnitemlist + 2;
  652. break;
  653. }
  654. }
  655. //SetUserLog("additem", "idx", idx);
  656. if (idx != -1)
  657. {
  658. model.duplicate("/root/main/degnitem", cp_node, "*["+idx+"]");
  659. model.setValue("/root/main/degnitem/srcdegnitemlist[" +i+ "]/useyn", "Y") ;
  660. model.setValue("/root/main/degnitem/srcdegnitemlist[" +i+ "]/choiyn", "N") ;
  661. grd_srcdegnitem.rowStyle(i, "data", "font-weight") = "bold";
  662. }
  663. }
  664. else if (nodelist.length == 1)
  665. {
  666. model.setValue("/root/main/degnitem/srcdegnitemlist[" +i+ "]/useyn", "Y") ;
  667. model.setValue("/root/main/degnitem/srcdegnitemlist[" +i+ "]/choiyn", "N") ;
  668. var dest_node = nodelist.item(0).selectSingleNode("choiyn");
  669. dest_node.Text = "Y";
  670. }
  671. else
  672. {
  673. alert("error!");
  674. continue;
  675. }
  676. }
  677. }
  678. cnt_degnitemlist = parseInt( getNodesetCount("/root/main/degnitem/degnitemlist") );
  679. for (var i = 1; i <= cnt_degnitemlist; i++)
  680. {
  681. model.setValue("/root/main/degnitem/degnitemlist[" +i+ "]/degnrowno", i);
  682. }
  683. model.refresh();
  684. grd_degnitem.rebuild();
  685. setTree(grd_degnitem , grd_degnitem.colref("degnitemlevlno"), grd_degnitem.colref("degnitemnm"), grd_degnitem_collapsed);
  686. grd_degnitem.refresh();
  687. grd_srcdegnitem.refresh();
  688. }
  689. function fDelUnitForm()
  690. {
  691. var src_formcd = grd_formitemlist.valueMatrix(grd_formitemlist.row, grd_formitemlist.colref("formcd"));
  692. var src_node = instance1.selectSingleNode("/root/main/form/unitformlist[formcd='"+ src_formcd +"']");
  693. var src_srcformcd = src_node.getXPathString("srcformcd");
  694. var cnt_node = instance1.selectNodes("/root/main/form/unitformlist[grdviewyn='Y' and srcformcd='"+ src_srcformcd +"']");
  695. if (cnt_node.length == 1)
  696. {
  697. alert("'" + cnt_node.item(0).getXPathString("degnitemnm") + "'의 부분서식중 하나는 존재해야 합니다.");
  698. return;
  699. }
  700. var nodelist = instance1.selectNodes("/root/main/form/srcunitformlist[formcd='"+ src_formcd +"']");
  701. if (nodelist.length == 0)
  702. {
  703. var cp_node = src_node.cloneNode(true);
  704. cp_node.nodeName = "srcunitformlist";
  705. model.duplicate("/root/main/form", cp_node);
  706. }
  707. else if (nodelist.length == 1)
  708. {
  709. var node = nodelist.item(0).selectSingleNode("grdviewyn");
  710. node.Text = "Y";
  711. }
  712. else
  713. {
  714. alert("error!");
  715. return;
  716. }
  717. grd_formitemlist.valueMatrix(grd_formitemlist.row, grd_formitemlist.colref("rowstatus")) = "";
  718. grd_formitemlist.valueMatrix(grd_formitemlist.row, grd_formitemlist.colref("grdviewyn")) = "N";
  719. grd_formitemlist.refresh();
  720. grd_srcunitformlist.refresh();
  721. }
  722. function fAddUnitForm()
  723. {
  724. var cnt_grd_formitemlist = getNodesetCount("/root/main/form/unitformlist");
  725. var cnt_grd_srcunitformlist = getNodesetCount("/root/main/form/srcunitformlist");
  726. // 부분서식
  727. var src_formcd = grd_srcunitformlist.valueMatrix(grd_srcunitformlist.row, grd_srcunitformlist.colref("formcd"));
  728. //var src_formnm = grd_srcunitformlist.valueMatrix(grd_srcunitformlist.row, grd_srcunitformlist.colref("formnm"));
  729. var src_node = instance1.selectSingleNode("/root/main/form/srcunitformlist[formcd='"+ src_formcd +"']");
  730. var nodelist = instance1.selectNodes("/root/main/form/unitformlist[formcd='"+ src_formcd +"']");
  731. var flag = false;
  732. var copyYN = false;
  733. if (nodelist.length == 0)
  734. {
  735. var src_srcformcd = src_node.getXPathString("srcformcd");
  736. var src_formnm = src_node.getXPathString("formnm");
  737. for (var i = 0; i < cnt_grd_formitemlist; i++)
  738. {
  739. if (src_formnm == model.getValue("/root/main/form/unitformlist["+ i +"]/grditemnm"))
  740. {
  741. if (flag == false)
  742. flag = true;
  743. }
  744. else
  745. {
  746. if (flag)
  747. {
  748. var maxDegnItemNo = model.getXPathValue("max(/root/main/form/unitformlist/degnitemno)");
  749. var newDegnItemNo = parseInt(maxDegnItemNo) + 1;
  750. var idx = i-1;
  751. model.duplicate("root/main/form", "/root/main/form/unitformlist["+ idx +"]", "*["+i+"]");
  752. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemno", newDegnItemNo);
  753. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemcd", src_node.getXPathString("formcd"));
  754. model.setValue("/root/main/form/unitformlist["+ i +"]/itemuseflag", "F1");
  755. model.setValue("/root/main/form/unitformlist["+ i +"]/rowstatus", "C");
  756. model.setValue("/root/main/form/unitformlist["+ i +"]/grdviewyn", "Y");
  757. model.setValue("/root/main/form/unitformlist["+ i +"]/formcd", src_node.getXPathString("formcd"));
  758. model.setValue("/root/main/form/unitformlist["+ i +"]/formnminfo", src_node.getXPathString("formnminfo"));
  759. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemcd", src_node.getXPathString("formcd"));
  760. //model.setValue("/root/main/form/unitformlist["+ i +"]/srcformcd", src_node.getXPathString("srcformcd"));
  761. copyYN = true;
  762. break;
  763. }
  764. }
  765. }
  766. if(copyYN == false)
  767. {
  768. if (flag)
  769. {
  770. var maxDegnItemNo = model.getXPathValue("max(/root/main/form/unitformlist/degnitemno)");
  771. var newDegnItemNo = parseInt(maxDegnItemNo) + 1;
  772. i = (parseInt(cnt_grd_formitemlist) + 1);
  773. model.duplicate("root/main/form", "/root/main/form/unitformlist["+ cnt_grd_formitemlist +"]", "*["+i+"]");
  774. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemno", newDegnItemNo);
  775. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemcd", src_node.getXPathString("formcd"));
  776. model.setValue("/root/main/form/unitformlist["+ i +"]/itemuseflag", "F1");
  777. model.setValue("/root/main/form/unitformlist["+ i +"]/rowstatus", "C");
  778. model.setValue("/root/main/form/unitformlist["+ i +"]/grdviewyn", "Y");
  779. model.setValue("/root/main/form/unitformlist["+ i +"]/formcd", src_node.getXPathString("formcd"));
  780. model.setValue("/root/main/form/unitformlist["+ i +"]/formnminfo", src_node.getXPathString("formnminfo"));
  781. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemcd", src_node.getXPathString("formcd"));
  782. }
  783. else
  784. {
  785. if (src_formnm == model.getValue("/root/main/form/unitformlist["+ i +"]/grditemnm"))
  786. {
  787. var maxDegnItemNo = model.getXPathValue("max(/root/main/form/unitformlist/degnitemno)");
  788. var newDegnItemNo = parseInt(maxDegnItemNo) + 1;
  789. i = (parseInt(cnt_grd_formitemlist) + 1);
  790. model.duplicate("root/main/form", "/root/main/form/unitformlist["+ cnt_grd_formitemlist +"]", "*["+i+"]");
  791. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemno", newDegnItemNo);
  792. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemcd", src_node.getXPathString("formcd"));
  793. model.setValue("/root/main/form/unitformlist["+ i +"]/itemuseflag", "F1");
  794. model.setValue("/root/main/form/unitformlist["+ i +"]/rowstatus", "C");
  795. model.setValue("/root/main/form/unitformlist["+ i +"]/grdviewyn", "Y");
  796. model.setValue("/root/main/form/unitformlist["+ i +"]/formcd", src_node.getXPathString("formcd"));
  797. model.setValue("/root/main/form/unitformlist["+ i +"]/formnminfo", src_node.getXPathString("formnminfo"));
  798. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemcd", src_node.getXPathString("formcd"));
  799. }
  800. else
  801. {
  802. var maxDegnItemNo = model.getXPathValue("max(/root/main/form/unitformlist/degnitemno)");
  803. var newDegnItemNo = parseInt(maxDegnItemNo) + 1;
  804. i = (parseInt(cnt_grd_formitemlist) + 1);
  805. model.duplicate("root/main/form", "/root/main/form/unitformlist["+ cnt_grd_formitemlist +"]", "*["+ i +"]");
  806. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemno", newDegnItemNo);
  807. model.setValue("/root/main/form/unitformlist["+ i +"]/grditemnm", src_node.getXPathString("formnm"), true);
  808. model.setValue("/root/main/form/unitformlist["+ i +"]/formdegnseq", src_node.getXPathString("formdegnseq"));
  809. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemkind", "FRM");
  810. model.setValue("/root/main/form/unitformlist["+ i +"]/termcd", src_node.getXPathString("termcd"));
  811. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemnm", src_node.getXPathString("degnitemnm") == "" ? src_node.getXPathString("formnm") : src_node.getXPathString("degnitemnm"), true);
  812. model.setValue("/root/main/form/unitformlist["+ i +"]/supdegnitemno", "0");
  813. model.setValue("/root/main/form/unitformlist["+ i +"]/supdegnitemcd", src_node.getXPathString("supdegnitemcd"));
  814. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemlevlno", "1");
  815. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemlevlcd", src_node.getXPathString("degnitemlevlcd"));
  816. model.setValue("/root/main/form/unitformlist["+ i +"]/valgrupcd", src_node.getXPathString("valgrupcd"));
  817. model.setValue("/root/main/form/unitformlist["+ i +"]/unitcd", src_node.getXPathString("unitcd"));
  818. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemdefltval", src_node.getXPathString("degnitemdefltval"));
  819. model.setValue("/root/main/form/unitformlist["+ i +"]/degncntrviewflag", src_node.getXPathString("degncntrviewflag") == "" ? "A" : src_node.getXPathString("degncntrviewflag"));
  820. model.setValue("/root/main/form/unitformlist["+ i +"]/userdegnyn", src_node.getXPathString("userdegnyn"));
  821. model.setValue("/root/main/form/unitformlist["+ i +"]/degnxval", src_node.getXPathString("degnxval") == "" ? "0" : src_node.getXPathString("degnxval"));
  822. model.setValue("/root/main/form/unitformlist["+ i +"]/degnyval", src_node.getXPathString("degnyval") == "" ? "0" : src_node.getXPathString("degnyval"));
  823. model.setValue("/root/main/form/unitformlist["+ i +"]/degnrowno", src_node.getXPathString("degnrowno"));
  824. model.setValue("/root/main/form/unitformlist["+ i +"]/essndegnyn", src_node.getXPathString("essndegnyn") == "" ? "N" : src_node.getXPathString("essndegnyn"));
  825. model.setValue("/root/main/form/unitformlist["+ i +"]/essnrecyn", src_node.getXPathString("essnrecyn") == "" ? "N" : src_node.getXPathString("essnrecyn"));
  826. model.setValue("/root/main/form/unitformlist["+ i +"]/degnattrval", src_node.getXPathString("degnattrval"), true);
  827. model.setValue("/root/main/form/unitformlist["+ i +"]/itemattrval", src_node.getXPathString("itemattrval"), true);
  828. model.setValue("/root/main/form/unitformlist["+ i +"]/instcd", src_node.getXPathString("instcd"));
  829. model.setValue("/root/main/form/unitformlist["+ i +"]/fstrgstrid", src_node.getXPathString("fstrgstrid"));
  830. model.setValue("/root/main/form/unitformlist["+ i +"]/fstrgstrnm", src_node.getXPathString("fstrgstrnm"));
  831. model.setValue("/root/main/form/unitformlist["+ i +"]/fstrgstdt", src_node.getXPathString("fstrgstdt"));
  832. model.setValue("/root/main/form/unitformlist["+ i +"]/lastupdtrid", src_node.getXPathString("lastupdtrid"));
  833. model.setValue("/root/main/form/unitformlist["+ i +"]/lastupdtrnm", src_node.getXPathString("lastupdtrnm"));
  834. model.setValue("/root/main/form/unitformlist["+ i +"]/lastupdtdt", src_node.getXPathString("lastupdtdt"));
  835. model.setValue("/root/main/form/unitformlist["+ i +"]/formuseflag", src_node.getXPathString("formuseflag"));
  836. model.setValue("/root/main/form/unitformlist["+ i +"]/formdeptcd", src_node.getXPathString("formdeptcd"));
  837. model.setValue("/root/main/form/unitformlist["+ i +"]/formdeptnm", src_node.getXPathString("formdeptnm"));
  838. model.setValue("/root/main/form/unitformlist["+ i +"]/formuserid", src_node.getXPathString("formuserid"));
  839. model.setValue("/root/main/form/unitformlist["+ i +"]/formusernm", src_node.getXPathString("formusernm"));
  840. model.setValue("/root/main/form/unitformlist["+ i +"]/formextnnm", src_node.getXPathString("formextnnm"));
  841. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemcd", src_node.getXPathString("formcd"));
  842. model.setValue("/root/main/form/unitformlist["+ i +"]/itemuseflag", "F0");
  843. model.setValue("/root/main/form/unitformlist["+ i +"]/rowstatus", "C");
  844. model.setValue("/root/main/form/unitformlist["+ i +"]/grdviewyn", "Y");
  845. model.setValue("/root/main/form/unitformlist["+ i +"]/formcd", src_node.getXPathString("formcd"));
  846. model.setValue("/root/main/form/unitformlist["+ i +"]/formnminfo", src_node.getXPathString("formnminfo"));
  847. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemcd", src_node.getXPathString("formcd"));
  848. }
  849. }
  850. }
  851. }
  852. else if (nodelist.length == 1)
  853. {
  854. var node = nodelist.item(0).selectSingleNode("rowstatus");
  855. node.Text = "C";
  856. node = nodelist.item(0).selectSingleNode("grdviewyn");
  857. node.Text = "Y";
  858. }
  859. else
  860. {
  861. alert("error!");
  862. return;
  863. }
  864. grd_srcunitformlist.valueMatrix(grd_srcunitformlist.row, grd_srcunitformlist.colref("grdviewyn")) = "N";
  865. grd_formitemlist.refresh();
  866. grd_srcunitformlist.refresh();
  867. }
  868. function fAddUnitForm_old()
  869. {
  870. var cnt_grd_formitemlist = getNodesetCount("/root/main/form/unitformlist");
  871. var cnt_grd_srcunitformlist = getNodesetCount("/root/main/form/srcunitformlist");
  872. // 부분서식
  873. var src_formcd = grd_srcunitformlist.valueMatrix(grd_srcunitformlist.row, grd_srcunitformlist.colref("formcd"));
  874. //var src_formnm = grd_srcunitformlist.valueMatrix(grd_srcunitformlist.row, grd_srcunitformlist.colref("formnm"));
  875. var src_node = instance1.selectSingleNode("/root/main/form/srcunitformlist[formcd='"+ src_formcd +"']");
  876. var nodelist = instance1.selectNodes("/root/main/form/unitformlist[formcd='"+ src_formcd +"']");
  877. /*
  878. if (nodelist.length == 0)
  879. {
  880. var flag = false;
  881. var src_srcformcd = src_node.getXPathString("srcformcd");
  882. for (var i = 0; i < cnt_grd_formitemlist; i++)
  883. {
  884. if (src_srcformcd == model.getValue("/root/main/form/unitformlist["+ i +"]/srcformcd"))
  885. {
  886. if (flag == false)
  887. flag = true;
  888. }
  889. else
  890. {
  891. if (flag)
  892. {
  893. var maxDegnItemNo = model.getXPathValue("max(/root/main/form/unitformlist/degnitemno)");
  894. var newDegnItemNo = parseInt(maxDegnItemNo) + 1;
  895. idx = i-1;
  896. model.duplicate("root/main/form", "/root/main/form/unitformlist["+ idx +"]", "*["+i+"]");
  897. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemno", newDegnItemNo);
  898. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemcd", src_node.getXPathString("formcd"));
  899. model.setValue("/root/main/form/unitformlist["+ i +"]/itemuseflag", "F1");
  900. model.setValue("/root/main/form/unitformlist["+ i +"]/rowstatus", "C");
  901. model.setValue("/root/main/form/unitformlist["+ i +"]/grdviewyn", "Y");
  902. model.setValue("/root/main/form/unitformlist["+ i +"]/formcd", src_node.getXPathString("formcd"));
  903. model.setValue("/root/main/form/unitformlist["+ i +"]/formnminfo", src_node.getXPathString("formnminfo"));
  904. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemcd", src_node.getXPathString("formcd"));
  905. model.setValue("/root/main/form/unitformlist["+ i +"]/srcformcd", src_node.getXPathString("srcformcd"));
  906. break;
  907. }
  908. }
  909. }
  910. }
  911. */
  912. if (nodelist.length == 0)
  913. {
  914. var flag = false;
  915. var src_srcformcd = src_node.getXPathString("srcformcd");
  916. var src_formnm = src_node.getXPathString("formnm");
  917. for (var i = 0; i < cnt_grd_formitemlist; i++)
  918. {
  919. if (src_formnm == model.getValue("/root/main/form/unitformlist["+ i +"]/grditemnm"))
  920. {
  921. if (flag == false)
  922. flag = true;
  923. }
  924. else
  925. {
  926. if (flag)
  927. {
  928. var maxDegnItemNo = model.getXPathValue("max(/root/main/form/unitformlist/degnitemno)");
  929. var newDegnItemNo = parseInt(maxDegnItemNo) + 1;
  930. idx = i-1;
  931. model.duplicate("root/main/form", "/root/main/form/unitformlist["+ idx +"]", "*["+i+"]");
  932. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemno", newDegnItemNo);
  933. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemcd", src_node.getXPathString("formcd"));
  934. model.setValue("/root/main/form/unitformlist["+ i +"]/itemuseflag", "F1");
  935. model.setValue("/root/main/form/unitformlist["+ i +"]/rowstatus", "C");
  936. model.setValue("/root/main/form/unitformlist["+ i +"]/grdviewyn", "Y");
  937. model.setValue("/root/main/form/unitformlist["+ i +"]/formcd", src_node.getXPathString("formcd"));
  938. model.setValue("/root/main/form/unitformlist["+ i +"]/formnminfo", src_node.getXPathString("formnminfo"));
  939. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemcd", src_node.getXPathString("formcd"));
  940. //model.setValue("/root/main/form/unitformlist["+ i +"]/srcformcd", src_node.getXPathString("srcformcd"));
  941. break;
  942. }
  943. }
  944. }
  945. if (src_formnm == model.getValue("/root/main/form/unitformlist["+ i +"]/grditemnm"))
  946. {
  947. var maxDegnItemNo = model.getXPathValue("max(/root/main/form/unitformlist/degnitemno)");
  948. var newDegnItemNo = parseInt(maxDegnItemNo) + 1;
  949. //model.duplicate("root/main/form", "/root/main/form/unitformlist["+ i +"]", "*["+parseInt(i)+1+"]");
  950. model.duplicate("root/main/form", "/root/main/form/unitformlist["+ i +"]", "*["+i+"]");
  951. i = parseInt(cnt_grd_formitemlist)+1;
  952. //i = parseInt(i)+1;
  953. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemno", newDegnItemNo);
  954. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemcd", src_node.getXPathString("formcd"));
  955. model.setValue("/root/main/form/unitformlist["+ i +"]/itemuseflag", "F1");
  956. model.setValue("/root/main/form/unitformlist["+ i +"]/rowstatus", "C");
  957. model.setValue("/root/main/form/unitformlist["+ i +"]/grdviewyn", "Y");
  958. model.setValue("/root/main/form/unitformlist["+ i +"]/formcd", src_node.getXPathString("formcd"));
  959. model.setValue("/root/main/form/unitformlist["+ i +"]/formnminfo", src_node.getXPathString("formnminfo"));
  960. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemcd", src_node.getXPathString("formcd"));
  961. //model.setValue("/root/main/form/unitformlist["+ i +"]/srcformcd", src_node.getXPathString("srcformcd"));
  962. }
  963. else
  964. {
  965. var maxDegnItemNo = model.getXPathValue("max(/root/main/form/unitformlist/degnitemno)");
  966. var newDegnItemNo = parseInt(maxDegnItemNo) + 1;
  967. model.duplicate("root/main/form", "/root/main/form/unitformlist["+ cnt_grd_formitemlist +"]", "*["+cnt_grd_formitemlist+"]");
  968. i = parseInt(cnt_grd_formitemlist)+1;
  969. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemno", newDegnItemNo);
  970. model.setValue("/root/main/form/unitformlist["+ i +"]/grditemnm", src_node.getXPathString("formnm"), true);
  971. model.setValue("/root/main/form/unitformlist["+ i +"]/formdegnseq", src_node.getXPathString("formdegnseq"));
  972. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemkind", "FRM");
  973. model.setValue("/root/main/form/unitformlist["+ i +"]/termcd", src_node.getXPathString("termcd"));
  974. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemnm", src_node.getXPathString("degnitemnm"));
  975. model.setValue("/root/main/form/unitformlist["+ i +"]/supdegnitemno", "0");
  976. model.setValue("/root/main/form/unitformlist["+ i +"]/supdegnitemcd", src_node.getXPathString("supdegnitemcd"));
  977. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemlevlno", "1");
  978. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemlevlcd", src_node.getXPathString("degnitemlevlcd"));
  979. model.setValue("/root/main/form/unitformlist["+ i +"]/valgrupcd", src_node.getXPathString("valgrupcd"));
  980. model.setValue("/root/main/form/unitformlist["+ i +"]/unitcd", src_node.getXPathString("unitcd"));
  981. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemdefltval", src_node.getXPathString("degnitemdefltval"));
  982. model.setValue("/root/main/form/unitformlist["+ i +"]/degncntrviewflag", src_node.getXPathString("degncntrviewflag"));
  983. model.setValue("/root/main/form/unitformlist["+ i +"]/userdegnyn", src_node.getXPathString("userdegnyn"));
  984. model.setValue("/root/main/form/unitformlist["+ i +"]/degnxval", src_node.getXPathString("degnxval"));
  985. model.setValue("/root/main/form/unitformlist["+ i +"]/degnyval", src_node.getXPathString("degnyval"));
  986. model.setValue("/root/main/form/unitformlist["+ i +"]/degnrowno", src_node.getXPathString("degnrowno"));
  987. model.setValue("/root/main/form/unitformlist["+ i +"]/essndegnyn", src_node.getXPathString("essndegnyn"));
  988. model.setValue("/root/main/form/unitformlist["+ i +"]/essnrecyn", src_node.getXPathString("essnrecyn"));
  989. model.setValue("/root/main/form/unitformlist["+ i +"]/degnattrval", src_node.getXPathString("degnattrval"), true);
  990. model.setValue("/root/main/form/unitformlist["+ i +"]/itemattrval", src_node.getXPathString("itemattrval"), true);
  991. model.setValue("/root/main/form/unitformlist["+ i +"]/instcd", src_node.getXPathString("instcd"));
  992. model.setValue("/root/main/form/unitformlist["+ i +"]/fstrgstrid", src_node.getXPathString("fstrgstrid"));
  993. model.setValue("/root/main/form/unitformlist["+ i +"]/fstrgstrnm", src_node.getXPathString("fstrgstrnm"));
  994. model.setValue("/root/main/form/unitformlist["+ i +"]/fstrgstdt", src_node.getXPathString("fstrgstdt"));
  995. model.setValue("/root/main/form/unitformlist["+ i +"]/lastupdtrid", src_node.getXPathString("lastupdtrid"));
  996. model.setValue("/root/main/form/unitformlist["+ i +"]/lastupdtrnm", src_node.getXPathString("lastupdtrnm"));
  997. model.setValue("/root/main/form/unitformlist["+ i +"]/lastupdtdt", src_node.getXPathString("lastupdtdt"));
  998. model.setValue("/root/main/form/unitformlist["+ i +"]/formuseflag", src_node.getXPathString("formuseflag"));
  999. model.setValue("/root/main/form/unitformlist["+ i +"]/formdeptcd", src_node.getXPathString("formdeptcd"));
  1000. model.setValue("/root/main/form/unitformlist["+ i +"]/formdeptnm", src_node.getXPathString("formdeptnm"));
  1001. model.setValue("/root/main/form/unitformlist["+ i +"]/formuserid", src_node.getXPathString("formuserid"));
  1002. model.setValue("/root/main/form/unitformlist["+ i +"]/formusernm", src_node.getXPathString("formusernm"));
  1003. model.setValue("/root/main/form/unitformlist["+ i +"]/formextnnm", src_node.getXPathString("formextnnm"));
  1004. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemcd", src_node.getXPathString("formcd"));
  1005. model.setValue("/root/main/form/unitformlist["+ i +"]/itemuseflag", "F0");
  1006. model.setValue("/root/main/form/unitformlist["+ i +"]/rowstatus", "C");
  1007. model.setValue("/root/main/form/unitformlist["+ i +"]/grdviewyn", "Y");
  1008. model.setValue("/root/main/form/unitformlist["+ i +"]/formcd", src_node.getXPathString("formcd"));
  1009. model.setValue("/root/main/form/unitformlist["+ i +"]/formnminfo", src_node.getXPathString("formnminfo"));
  1010. model.setValue("/root/main/form/unitformlist["+ i +"]/degnitemcd", src_node.getXPathString("formcd"));
  1011. }
  1012. }
  1013. else if (nodelist.length == 1)
  1014. {
  1015. var node = nodelist.item(0).selectSingleNode("rowstatus");
  1016. node.Text = "C";
  1017. node = nodelist.item(0).selectSingleNode("grdviewyn");
  1018. node.Text = "Y";
  1019. }
  1020. else
  1021. {
  1022. alert("error!");
  1023. return;
  1024. }
  1025. grd_srcunitformlist.valueMatrix(grd_srcunitformlist.row, grd_srcunitformlist.colref("grdviewyn")) = "N";
  1026. grd_formitemlist.refresh();
  1027. grd_srcunitformlist.refresh();
  1028. }
  1029. function fReadyForm()
  1030. {
  1031. fReadyFormInitData();
  1032. // if (getUserId() == "97055522" || //김미선
  1033. // getUserId() == "94040176" || //조은실
  1034. // getUserId() == "10609872" || //손무성
  1035. // getUserId() == "10612553" || //이미경
  1036. // getUserId() == "10612560" || //윤혜진
  1037. // getUserId() == "10410164" || //한지은
  1038. // getUserId() == "10700128" ) //조은실 //의료정보팀
  1039. if (fUserAdmin() == 1)
  1040. {
  1041. model.setValue("/root/hidden/usersetup/userflag", "C");
  1042. model.setValue("/root/send/formlist/formdeptcd", "");
  1043. }
  1044. else
  1045. {
  1046. model.setValue("/root/hidden/usersetup/userflag", "I");
  1047. model.setValue("/root/send/formlist/formdeptcd", getUserInfo("dutplcecd"));
  1048. }
  1049. model.setValue("/root/hidden/usersetup/userdeptcd", getUserInfo("dutplcecd"));
  1050. model.setValue("/root/hidden/usersetup/userdeptnm", getUserInfo("dutplcenm"));
  1051. model.setValue("/root/hidden/usersetup/userid", getUserInfo("userid"));
  1052. model.setValue("/root/hidden/usersetup/usernm", getUserInfo("usernm"));
  1053. if (window.document.location == "C:/CMCProject/application/webapps/emr/formmngtweb/xrw/")
  1054. {
  1055. model.setValue("/root/hidden/usersetup/userid", "97055522");
  1056. model.setValue("/root/hidden/usersetup/userflag", "C");
  1057. model.setValue("/root/send/formlist/formdeptcd", "");
  1058. }
  1059. radio1.refresh();
  1060. // ----------------------------------------------------------
  1061. fChkUser();
  1062. submit("TRMRF00604");
  1063. swt_left.selectedIndex = 0;
  1064. cbo_userdegnflag1.select(0);
  1065. cbo_userdegnflag2.select(0);
  1066. }
  1067. function fReadyFormInitData()
  1068. {
  1069. model.setValue("/root/send/reqdeptlist", "012");
  1070. submit("TRMRF00606", true, "/root/send/reqdeptlist", "/root/init/deptlist");
  1071. //model.setValue("/root/init/deptlist/orddept[1]/deptcd", "");
  1072. //model.setValue("/root/init/deptlist/orddept[1]/deptnm", "전체");
  1073. }
  1074. function fReadyFormInitData_old()
  1075. {
  1076. reqGetDeptList("/root/send/reqdeptlist", "/root/init/deptlist", "total", "012");
  1077. model.setValue("/root/init/deptlist/orddept[1]/deptcd", "");
  1078. model.setValue("/root/init/deptlist/orddept[1]/deptnm", "전체");
  1079. }
  1080. /*
  1081. 부분서식, 완성서식 목록조회
  1082. */
  1083. function fSrchList(isAll)
  1084. {
  1085. if (model.getValue("/root/send/formlist/formuserid") != "")
  1086. model.setValue("/root/send/formlist/formuseflag", "I");
  1087. else if (model.getValue("/root/send/formlist/formdeptcd") != "")
  1088. model.setValue("/root/send/formlist/formuseflag", "D");
  1089. else
  1090. model.setValue("/root/send/formlist/formuseflag", "C");
  1091. if (isAll) // 전체조회
  1092. {
  1093. model.setValue("/root/send/formlist/formuseflag", "X");
  1094. if(model.getValue("/root/send/formlist/formdeptcd") == "-")
  1095. model.setValue("/root/send/formlist/formdeptcd", "ALL");
  1096. }
  1097. if (swt_left.selectedIndex == 0)
  1098. {
  1099. model.setValue("/root/send/formlist/userdegnflag", "2");
  1100. model.setValue("/root/send/formlist/srcformcd", model.getValue("/root/send/srcformcd/unitform"));
  1101. }
  1102. else
  1103. {
  1104. model.setValue("/root/send/formlist/userdegnflag", "1");
  1105. model.setValue("/root/send/formlist/srcformcd", model.getValue("/root/send/srcformcd/endform"));
  1106. }
  1107. fCloseSaveAs();
  1108. submit("TRMRF00601");
  1109. if (isAll) // 전체조회
  1110. {
  1111. if(model.getValue("/root/send/formlist/formdeptcd") == "ALL")
  1112. model.setValue("/root/send/formlist/formdeptcd", "-");
  1113. model.refresh();
  1114. }
  1115. if (swt_left.selectedIndex == 0)
  1116. {
  1117. copyNodeset("/root/main/list/unitformlist", "/root/main/formlist");
  1118. grd_unitformlist.rebuild();
  1119. }
  1120. else
  1121. {
  1122. copyNodeset("/root/main/list/endformlist", "/root/main/formlist");
  1123. grd_endformlist.rebuild();
  1124. if (swt_left.selectedIndex == 2)
  1125. {
  1126. swt_left.selectedIndex = 1;
  1127. btn_endformlist.selected = true;
  1128. }
  1129. }
  1130. }
  1131. function fInit_grd_grdviewyn(grdObj)
  1132. {
  1133. return;
  1134. for (var i = 0; i < grdObj.rows; i++)
  1135. {
  1136. var colref_grdviewyn = grdObj.colref("grdviewyn");
  1137. if (grdObj.valueMatrix(i, colref_grdviewyn) == "N")
  1138. {
  1139. grdObj.rowhidden(i) = true;
  1140. }
  1141. else
  1142. {
  1143. grdObj.rowhidden(i) = false;
  1144. }
  1145. }
  1146. }
  1147. function fChkUser()
  1148. {
  1149. if (model.getValue("/root/hidden/usersetup/userflag") == "C")
  1150. {
  1151. model.setValue("/root/send/formlist/formdeptcd", "");
  1152. cbo_deptlist.disabled = false;
  1153. btn_srchall.visible = true;
  1154. cbo_deptlist.select(0);
  1155. }
  1156. else
  1157. {
  1158. model.setValue("/root/send/formlist/formdeptcd", model.getValue("/root/hidden/usersetup/userdeptcd"));
  1159. model.setValue("/root/send/formlist/formdeptnm", model.getValue("/root/hidden/usersetup/userdeptnm"));
  1160. cbo_deptlist.disabled = true;
  1161. btn_srchall.visible = false;
  1162. }
  1163. cbo_deptlist.refresh();
  1164. }
  1165. function fSetupEndForm()
  1166. {
  1167. if (model.getValue("/root/main/list/endformlist["+grd_endformlist.row+"]/formcd") == "")
  1168. return;
  1169. swt_left.selectedIndex = 2;
  1170. btn_formsetup.selected = true;
  1171. // 서식설정으로 넘어갈 때 선택한 완성서식의 과를 기본으로 설정한다.
  1172. model.setValue("/root/send/unitformlist/formdeptcd", model.getValue("/root/main/list/endformlist["+grd_endformlist.row+"]/formdeptcd"));
  1173. fCloseSaveAs();
  1174. fRefEndForm(model.getValue("/root/main/list/endformlist["+grd_endformlist.row+"]/formcd"),
  1175. model.getValue("/root/main/list/endformlist["+grd_endformlist.row+"]/formdeptcd"));
  1176. }
  1177. /*
  1178. 완성서식 디자인 조회
  1179. */
  1180. function fRefEndForm(formcd, formdeptcd)
  1181. {
  1182. grd_formitemlist.nodeset="/root/main/form/unitformlist[grdviewyn='Y']";
  1183. model.setValue("/root/send/form/formcd", formcd);
  1184. model.setValue("/root/send/form/formdeptcd", formdeptcd);
  1185. submit("TRMRF00602");
  1186. model.makeValue("/root/hidden/choiform/left/formcd", model.getValue("/root/main/form/formmas/formcd"));
  1187. model.makeValue("/root/hidden/choiform/left/formuseflag", model.getValue("/root/main/form/formmas/formuseflag"));
  1188. model.makeValue("/root/hidden/choiform/left/formextnnm", model.getValue("/root/main/form/formmas/formextnnm"));
  1189. model.makeValue("/root/hidden/choiform/left/formdeptcd", model.getValue("/root/main/form/formmas/formdeptcd"));
  1190. model.makeValue("/root/hidden/choiform/left/formuserid", model.getValue("/root/main/form/formmas/formuserid"));
  1191. model.makeValue("/root/hidden/choiform/left/formusernm", model.getValue("/root/main/form/formmas/formusernm"));
  1192. fInit_grd_grdviewyn(grd_formitemlist);
  1193. grd_formitemlist.refresh();
  1194. grd_srcunitformlist.refresh();
  1195. }
  1196. function fSrchDegnItem()
  1197. {
  1198. swt_right.selectedIndex = 0;
  1199. btn_tab_formitem.selected = true;
  1200. if (swt_left.selectedIndex == 0) // 부분서식 리스트 선택
  1201. {
  1202. if (model.getValue("/root/main/list/unitformlist["+grd_unitformlist.row+"]/formcd") == "")
  1203. return;
  1204. formcd = model.getValue("/root/main/list/unitformlist["+grd_unitformlist.row+"]/formcd");
  1205. formdeptcd = model.getValue("/root/main/list/unitformlist["+grd_unitformlist.row+"]/formdeptcd");
  1206. formuseflag = model.getValue("/root/main/list/unitformlist["+grd_unitformlist.row+"]/formuseflag");
  1207. formuserid = model.getValue("/root/main/list/unitformlist["+grd_unitformlist.row+"]/formuserid");
  1208. /*
  1209. // 해당 부서의 최대서식(과최대)이 있는지 확인
  1210. if(formdeptcd != "" && (formuserid == "-" || formuserid == ""))
  1211. {
  1212. var deptUnitlist = model.instance1.selectNodes("/root/main/list/unitformlist[formdeptcd='" + formdeptcd + "' and formuserid='DEPT_BASE']");
  1213. if(deptUnitlist.length == 0)
  1214. {
  1215. messageBox("해당 서식의 과 최대서식이", "I004");
  1216. return;
  1217. }
  1218. }
  1219. */
  1220. }
  1221. else if (swt_left.selectedIndex == 1)
  1222. {
  1223. return;
  1224. }
  1225. else if (swt_left.selectedIndex == 2)
  1226. {
  1227. if (model.getValue("/root/hidden/selectedgrd") == "grd_formitemlist")
  1228. {
  1229. if (grd_formitemlist.valueMatrix(grd_formitemlist.row, grd_formitemlist.colref("formcd")) == "")
  1230. return;
  1231. formcd = grd_formitemlist.valueMatrix(grd_formitemlist.row, grd_formitemlist.colref("formcd"));
  1232. formdeptcd = grd_formitemlist.valueMatrix(grd_formitemlist.row, grd_formitemlist.colref("formdeptcd"));
  1233. formuseflag = grd_formitemlist.valueMatrix(grd_formitemlist.row, grd_formitemlist.colref("formuseflag"));
  1234. formuserid = grd_formitemlist.valueMatrix(grd_formitemlist.row, grd_formitemlist.colref("formuserid"));
  1235. }
  1236. else if (model.getValue("/root/hidden/selectedgrd") == "grd_srcunitformlist")
  1237. {
  1238. if (model.getValue("/root/main/form/srcunitformlist["+grd_srcunitformlist.row+"]/formcd") == "")
  1239. return;
  1240. formcd = model.getValue("/root/main/form/srcunitformlist["+grd_srcunitformlist.row+"]/formcd");
  1241. formdeptcd = model.getValue("/root/main/form/srcunitformlist["+grd_srcunitformlist.row+"]/formdeptcd");
  1242. formuseflag = model.getValue("/root/main/form/srcunitformlist["+grd_srcunitformlist.row+"]/formuseflag");
  1243. formuserid = model.getValue("/root/main/form/srcunitformlist["+grd_srcunitformlist.row+"]/formuserid");
  1244. }
  1245. else
  1246. {
  1247. return;
  1248. }
  1249. }
  1250. if (formuseflag == "D" &&
  1251. formuserid != "DEPT_BASE")
  1252. {
  1253. formuseflag = "I"; // 개인인 경우
  1254. }
  1255. fCloseSaveAs();
  1256. fRefDegnItem(formcd, formdeptcd, formuseflag, formuserid);
  1257. }
  1258. function fRefDegnItem(formcd, formdeptcd, formuseflag, formuserid)
  1259. {
  1260. model.setValue("/root/send/degnitem/formcd", formcd);
  1261. model.setValue("/root/send/degnitem/formdeptcd", formdeptcd);
  1262. model.setValue("/root/send/degnitem/formuseflag", formuseflag);
  1263. model.setValue("/root/send/degnitem/formuserid", formuserid);
  1264. grd_degnitem.outlinebar = 0;
  1265. grd_srcdegnitem.outlinebar = 0;
  1266. //submit("TRMRF00603", false);
  1267. submit("TRMRF00603");
  1268. model.makeValue("/root/hidden/choiform/right/formcd", model.getValue("/root/main/degnitem/formmas/formcd"));
  1269. model.makeValue("/root/hidden/choiform/right/formuseflag", model.getValue("/root/main/degnitem/formmas/formuseflag"));
  1270. model.makeValue("/root/hidden/choiform/right/formextnnm", model.getValue("/root/main/degnitem/formmas/formextnnm"));
  1271. model.makeValue("/root/hidden/choiform/right/formdeptcd", model.getValue("/root/main/degnitem/formmas/formdeptcd"));
  1272. model.makeValue("/root/hidden/choiform/right/formuserid", model.getValue("/root/main/degnitem/formmas/formuserid"));
  1273. model.makeValue("/root/hidden/choiform/right/formusernm", model.getValue("/root/main/degnitem/formmas/formusernm"));
  1274. setTree(grd_degnitem , grd_degnitem.colref("degnitemlevlno"), grd_degnitem.colref("degnitemnm"), grd_degnitem_collapsed);
  1275. setTree(grd_srcdegnitem , grd_srcdegnitem.colref("degnitemlevlno"), grd_srcdegnitem.colref("degnitemnm"), grd_srcdegnitem_collapsed);
  1276. var colref_useyn = grd_degnitem.colref("useyn");
  1277. for (var i = 1; i < grd_degnitem.rows; i++)
  1278. {
  1279. if (grd_degnitem.valueMatrix(i, colref_useyn) == "Y")
  1280. grd_degnitem.rowStyle(i, "data", "font-style") = "";
  1281. else
  1282. grd_degnitem.rowStyle(i, "data", "font-style") = "italic";
  1283. }
  1284. // 상위 서식이 없는 경우
  1285. /*
  1286. if(grd_srcdegnitem.rows - grd_srcdegnitem.fixedRows)
  1287. {
  1288. for (var i = 1; i < grd_degnitem.rows; i++)
  1289. {
  1290. grd_degnitem.rowStyle(i, "data", "font-style") = "italic";
  1291. }
  1292. }
  1293. */
  1294. colref_useyn = grd_srcdegnitem.colref("useyn");
  1295. for (var i = 1; i < grd_srcdegnitem.rows; i++)
  1296. {
  1297. if (grd_srcdegnitem.valueMatrix(i, colref_useyn) == "Y")
  1298. grd_srcdegnitem.rowStyle(i, "data", "font-weight") = "bold";
  1299. else
  1300. grd_srcdegnitem.rowStyle(i, "data", "font-weight") = "normal";
  1301. }
  1302. grd_degnitem.refresh();
  1303. grd_srcdegnitem.refresh();
  1304. swt_right.selectedIndex = 0;
  1305. }
  1306. function fSetChoiYn(gridObj, chkColNm, levlColNm, isUseYn)
  1307. {
  1308. var stdLevl = gridObj.textmatrix(gridObj.row, gridObj.colref(levlColNm));
  1309. var colref_useYn = gridObj.colref("useyn");
  1310. for (var i = gridObj.row+1; i < gridObj.rows; i++)
  1311. {
  1312. if (stdLevl < gridObj.textmatrix(i, gridObj.colref(levlColNm)))
  1313. {
  1314. if (isUseYn && gridObj.textmatrix(i, colref_useYn) == "N")
  1315. {
  1316. }
  1317. else
  1318. {
  1319. gridObj.textmatrix(i, gridObj.col) = gridObj.textmatrix(gridObj.row, gridObj.col);
  1320. }
  1321. }
  1322. else
  1323. {
  1324. break;
  1325. }
  1326. }
  1327. if (gridObj.textmatrix(gridObj.row, gridObj.col) == 'Y')
  1328. {
  1329. for (var i = gridObj.row-1; i > 0; i--)
  1330. {
  1331. if (stdLevl > gridObj.textmatrix(i, gridObj.colref(levlColNm)))
  1332. {
  1333. if (isUseYn && gridObj.textmatrix(i, colref_useYn) == "N")
  1334. {
  1335. }
  1336. else
  1337. {
  1338. gridObj.textmatrix(i, gridObj.col) = "Y";
  1339. }
  1340. stdLevl--;
  1341. }
  1342. }
  1343. }
  1344. }
  1345. function moveItemUp600(grdObj)
  1346. {
  1347. model.removeNodeset("/root/main/degnitem/tmpdegnitemlist");
  1348. var cnt_degnitemlist = parseInt( getNodesetCount("/root/main/degnitem/degnitemlist") );
  1349. var grd_rowidx = grd_degnitem.row;
  1350. var rowidx = -1;
  1351. var std_degnitemlevlno = model.getValue("/root/main/degnitem/degnitemlist["+ grd_rowidx +"]/degnitemlevlno");
  1352. var flag = false;
  1353. for (var i = grd_rowidx-1; i >= 1; i--)
  1354. {
  1355. if (std_degnitemlevlno == model.getValue("/root/main/degnitem/degnitemlist["+ i +"]/degnitemlevlno"))
  1356. {
  1357. rowidx = i;
  1358. break;
  1359. }
  1360. else if (std_degnitemlevlno > model.getValue("/root/main/degnitem/degnitemlist["+ i +"]/degnitemlevlno"))
  1361. {
  1362. break;
  1363. }
  1364. }
  1365. if (rowidx == -1) return;
  1366. copyNodeset("/root/main/degnitem/tmpdegnitemlist", "/root/main/degnitem/degnitemlist["+ grd_rowidx +"]", "add");
  1367. model.removeNodeset("/root/main/degnitem/degnitemlist["+ grd_rowidx +"]");
  1368. for (var i = grd_rowidx; i <= cnt_degnitemlist; i++)
  1369. {
  1370. if (std_degnitemlevlno < model.getValue("/root/main/degnitem/degnitemlist["+ grd_rowidx +"]/degnitemlevlno"))
  1371. {
  1372. copyNodeset("/root/main/degnitem/tmpdegnitemlist", "/root/main/degnitem/degnitemlist["+ grd_rowidx +"]", "add");
  1373. model.removeNodeset("/root/main/degnitem/degnitemlist["+ grd_rowidx +"]");
  1374. }
  1375. else
  1376. {
  1377. break;
  1378. }
  1379. }
  1380. for (var i = rowidx; i >= 0; i--)
  1381. {
  1382. if (std_degnitemlevlno == model.getValue("/root/main/degnitem/degnitemlist["+ i +"]/degnitemlevlno"))
  1383. {
  1384. var cnt_tmpdegnitemlist = parseInt( getNodesetCount("/root/main/degnitem/tmpdegnitemlist") );
  1385. for (var j = cnt_tmpdegnitemlist; j >= 1; j--)
  1386. {
  1387. var node = instance1.selectSingleNode("/root/main/degnitem/tmpdegnitemlist["+ j +"]");
  1388. var cp_node = node.cloneNode(true);
  1389. cp_node.nodeName = "degnitemlist";
  1390. model.duplicate("/root/main/degnitem", cp_node, "*["+(i+1)+"]");
  1391. }
  1392. break;
  1393. }
  1394. }
  1395. model.refresh();
  1396. setTree(grd_degnitem , grd_degnitem.colref("degnitemlevlno"), grd_degnitem.colref("degnitemnm"), grd_degnitem_collapsed);
  1397. grd_degnitem.refresh();
  1398. grd_degnitem.row = rowidx;
  1399. }
  1400. function moveItemDown600(grdObj)
  1401. {
  1402. model.removeNodeset("/root/main/degnitem/tmpdegnitemlist");
  1403. var cnt_degnitemlist = parseInt( getNodesetCount("/root/main/degnitem/degnitemlist") );
  1404. var grd_rowidx = grd_degnitem.row;
  1405. var rowidx = -1;
  1406. var std_degnitemlevlno = model.getValue("/root/main/degnitem/degnitemlist["+ grd_rowidx +"]/degnitemlevlno");
  1407. var flag = false;
  1408. //for (var i = grd_rowidx-1; i >= 1; i--)
  1409. var i;
  1410. for (i = grd_rowidx+1; i <= cnt_degnitemlist; i++)
  1411. {
  1412. if (std_degnitemlevlno == model.getValue("/root/main/degnitem/degnitemlist["+ i +"]/degnitemlevlno"))
  1413. {
  1414. if (flag)
  1415. {
  1416. rowidx = i;
  1417. break;
  1418. }
  1419. else
  1420. {
  1421. flag = true;
  1422. }
  1423. }
  1424. else if (std_degnitemlevlno > model.getValue("/root/main/degnitem/degnitemlist["+ i +"]/degnitemlevlno"))
  1425. {
  1426. rowidx = i;
  1427. break;
  1428. }
  1429. }
  1430. if (i == cnt_degnitemlist+1 && flag) rowidx = i;
  1431. if (rowidx == -1) return;
  1432. copyNodeset("/root/main/degnitem/tmpdegnitemlist", "/root/main/degnitem/degnitemlist["+ grd_rowidx +"]", "add");
  1433. model.removeNodeset("/root/main/degnitem/degnitemlist["+ grd_rowidx +"]");
  1434. for (i = grd_rowidx; i <= cnt_degnitemlist; i++)
  1435. {
  1436. if (std_degnitemlevlno < model.getValue("/root/main/degnitem/degnitemlist["+ grd_rowidx +"]/degnitemlevlno"))
  1437. {
  1438. copyNodeset("/root/main/degnitem/tmpdegnitemlist", "/root/main/degnitem/degnitemlist["+ grd_rowidx +"]", "add");
  1439. model.removeNodeset("/root/main/degnitem/degnitemlist["+ grd_rowidx +"]");
  1440. }
  1441. else
  1442. {
  1443. break;
  1444. }
  1445. }
  1446. var cnt_tmpdegnitemlist = parseInt( getNodesetCount("/root/main/degnitem/tmpdegnitemlist") );
  1447. for (var j = cnt_tmpdegnitemlist; j >= 1; j--)
  1448. {
  1449. var node = instance1.selectSingleNode("/root/main/degnitem/tmpdegnitemlist["+ j +"]");
  1450. var cp_node = node.cloneNode(true);
  1451. cp_node.nodeName = "degnitemlist";
  1452. model.duplicate("/root/main/degnitem", cp_node, "*["+ (rowidx-cnt_tmpdegnitemlist+1) +"]");
  1453. }
  1454. model.refresh();
  1455. setTree(grd_degnitem , grd_degnitem.colref("degnitemlevlno"), grd_degnitem.colref("degnitemnm"), grd_degnitem_collapsed);
  1456. grd_degnitem.refresh();
  1457. grd_degnitem.row = rowidx-cnt_tmpdegnitemlist;
  1458. }
  1459. /**
  1460. * @group :
  1461. * @ver : 2008.07.11
  1462. * @by : snoweye
  1463. * @---------------------------------------------------
  1464. * @type : function
  1465. * @access : public
  1466. * @desc : 서식유형을 입력하는 컨트롤을 제어 (Enable/Disable)
  1467. * @param :
  1468. * @return :
  1469. * @---------------------------------------------------
  1470. */
  1471. function fDisableFormtype()
  1472. {
  1473. var formusernm = model.getValue("/root/hidden/saveas/formusernm");
  1474. //사용자 이름이 없는 경우
  1475. if(formusernm == "") {
  1476. cbo_saveas_formtype.disabled = false; // '-', 'DEPT_DEFLT', 'DEPT_BASE' 선택 아이템
  1477. cbo_saveas_formtype.select(0); // '-' 기본 선택
  1478. }
  1479. else//사용자 이름이 있는 경우
  1480. cbo_saveas_formtype.disabled = true;
  1481. }