MRF00600.xjs 72 KB

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