RPV001.js 57 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682
  1. //콤보에 인사평가 분류 코드 Setting
  2. function rpvfComboValuClsList(pbasedd, pcontrol_name) {
  3. var control_id = pcontrol_name.attribute("id");
  4. var valucls_node = "/root/send/valucls";
  5. var valucls_rsltnode = "/root/init/valuclsinit";
  6. var valucls_itemset = "/root/init/" + control_id;
  7. model.removeNodeset(valucls_node);
  8. model.removeNodeset(valucls_itemset);
  9. model.makeNode(valucls_node);
  10. model.makeNode(valucls_node + "/basedd");
  11. model.makeNode(valucls_rsltnode);
  12. model.makeNode(valucls_itemset);
  13. pcontrol_name.choices.itemset.attribute("nodeset") = valucls_itemset+"/valuclslist";
  14. pcontrol_name.choices.itemset.label.attribute("ref") = "valuclsnm";
  15. pcontrol_name.choices.itemset.value.attribute("ref") = "valuclscd";
  16. pcontrol_name.refresh();
  17. model.setValue(valucls_node + "/basedd", pbasedd);
  18. model.removeChild("TRRPV99901");
  19. model.createChild("xforms:submission", "id:TRRPV99901;mediatype:application/x-www-form-urlencoded; method:post; ref:" + valucls_node + "; resultref:" + valucls_rsltnode + "; ");
  20. submit("TRRPV99901");
  21. model.copyNode(valucls_itemset,valucls_rsltnode);
  22. model.refresh();
  23. }
  24. //콤보에 평가공통코드 조회
  25. function rpvfComboValuCdList(pvaluyy, pvalucdflag_list, pcontrol_name_list) {
  26. var valucdflag_list = pvalucdflag_list.split(",");
  27. var control_list = pcontrol_name_list.split(",");
  28. var comcd_node = "/root/send/valucd";
  29. var comcd_rsltnode = "/root/init/valucd";
  30. model.makeNode(comcd_rsltnode);
  31. model.removeNodeset(comcd_node);
  32. model.makeNode(comcd_node);
  33. model.makeNode(comcd_node + "/valuyy");
  34. model.makeNode(comcd_node + "/valucdflag");
  35. for (var i = 0; i < control_list.length; i++) {
  36. var control_id = control_list[i];
  37. var control = control_id.split(".");
  38. var obj = document.controls(control[0]);
  39. var comcd_itemset = "/root/init/valucd";
  40. var refcondNode = instance1.selectSingleNode(comcd_node + "/valuyy");
  41. var cdgrupidNode = instance1.selectSingleNode(comcd_node + "/valucdflag");
  42. var refcondvalueNode = instance1.createNode("element", "valuyy", "");
  43. var cdgrupvalueNode = instance1.createNode("element", "valucdflag", "");
  44. cdgrupvalueNode.text = valucdflag_list[i];
  45. refcondvalueNode.text = pvaluyy;
  46. refcondNode.appendChild(refcondvalueNode);
  47. cdgrupidNode.appendChild(cdgrupvalueNode);
  48. comcd_itemset = comcd_itemset + "/" + valucdflag_list[i] + "/" + valucdflag_list[i];
  49. model.removeNodeset(comcd_itemset);
  50. model.makeNode(comcd_itemset);
  51. if (obj != null && obj.elementName == "xforms:datagrid") {
  52. obj = document.controls(obj.colAttribute(obj.colRef(control[1]), "id"));
  53. }
  54. obj.choices.itemset.attribute("nodeset") = comcd_itemset;
  55. obj.choices.itemset.label.attribute("ref") = "valucdnm";
  56. obj.choices.itemset.value.attribute("ref") = "valucd";
  57. }
  58. model.removeChild("TRRPV99904");
  59. model.createChild("xforms:submission", "id:TRRPV99904;mediatype:application/x-www-form-urlencoded; method:post; ref:" + comcd_node + "; resultref:" + comcd_rsltnode + "; ");
  60. submit("TRRPV99904");
  61. }
  62. //Grid 콤보에 공통코드 Setting
  63. /*
  64. instcd : 기관코드
  65. deptcd: 부서코드
  66. */
  67. function rpvfComboIdxFlagCodeList(pinstcd, pdeptcd, pgrid_name, pcolumn_id) {
  68. var control_id = pgrid_name.attribute("id");
  69. var column_no = pgrid_name.colRef(pcolumn_id);
  70. var column_name = pgrid_name.colAttribute(column_no, "id");
  71. var column_obj = document.controls(column_name);
  72. var comcd_node = "/root/send/idxflagcdref";
  73. var comcd_rsltnode = "/root/init/idxflag";
  74. var comcd_itemset = "/root/init/" + control_id + "/" + pcolumn_id;
  75. model.removeNodeset(comcd_node);
  76. model.removeNodeset(comcd_itemset);
  77. model.makeNode(comcd_node);
  78. model.makeNode(comcd_node + "/instcd");
  79. model.makeNode(comcd_node + "/deptcd");
  80. model.makeNode(comcd_rsltnode);
  81. model.makeNode(comcd_itemset);
  82. var column_id = pgrid_name.colattribute(column_no, "id");
  83. column_obj.choices.itemset.attribute("nodeset") = comcd_itemset+"/idxflaglist";
  84. column_obj.choices.itemset.label.attribute("ref") = "idxflagnm";
  85. column_obj.choices.itemset.value.attribute("ref") = "idxflag";
  86. model.setValue(comcd_node + "/instcd", pinstcd);
  87. model.setValue(comcd_node + "/deptcd", pdeptcd);
  88. model.removeChild("TRRPV99905");
  89. model.createChild("xforms:submission", "id:TRRPV99905;mediatype:application/x-www-form-urlencoded; method:post; ref:" + comcd_node + "; resultref:" + comcd_rsltnode + "; ");
  90. submit("TRRPV99905");
  91. model.copyNode(comcd_itemset,comcd_rsltnode);
  92. model.refresh();
  93. }
  94. //콤보에 인사평가 중 분류 코드 Setting
  95. function rpvfComboValuMidClsList(pbasedd, pvaluclscd, pcontrol_name) {
  96. var control_id = pcontrol_name.attribute("id");
  97. var valumidcls_node = "/root/send/valumidcls";
  98. var valumidcls_rsltnode = "/root/init/valumidclsinit";
  99. var valumidcls_itemset = "/root/init/" + control_id;
  100. model.removeNodeset(valumidcls_node);
  101. model.removeNodeset(valumidcls_itemset);
  102. model.makeNode(valumidcls_node);
  103. model.makeNode(valumidcls_node + "/basedd");
  104. model.makeNode(valumidcls_node + "/valuclscd");
  105. model.makeNode(valumidcls_rsltnode);
  106. model.makeNode(valumidcls_itemset);
  107. pcontrol_name.choices.itemset.attribute("nodeset") = valumidcls_itemset+"/valumidclslist";
  108. pcontrol_name.choices.itemset.label.attribute("ref") = "valumdlnm";
  109. pcontrol_name.choices.itemset.value.attribute("ref") = "valumdlcd";
  110. pcontrol_name.refresh();
  111. model.setValue(valumidcls_node + "/basedd", pbasedd);
  112. model.setValue(valumidcls_node + "/valuclscd", pvaluclscd);
  113. model.removeChild("TRRPV99902");
  114. model.createChild("xforms:submission", "id:TRRPV99902;mediatype:application/x-www-form-urlencoded; method:post; ref:" + valumidcls_node + "; resultref:" + valumidcls_rsltnode + "; ");
  115. submit("TRRPV99902");
  116. model.copyNode(valumidcls_itemset,valumidcls_rsltnode);
  117. model.refresh();
  118. }
  119. //콤보에 인사평가 세부 분류 코드 Setting
  120. function rpvfComboValuSmallClsList(pbasedd, pvaluclscd, pvalumdlcd, pcontrol_name) {
  121. var control_id = pcontrol_name.attribute("id");
  122. var valusmallcls_node = "/root/send/valusmallcls";
  123. var valusmallcls_rsltnode = "/root/init/valusmallclsinit";
  124. var valusmallcls_itemset = "/root/init/" + control_id;
  125. model.removeNodeset(valusmallcls_node);
  126. model.removeNodeset(valusmallcls_itemset);
  127. model.makeNode(valusmallcls_node);
  128. model.makeNode(valusmallcls_node + "/basedd");
  129. model.makeNode(valusmallcls_node + "/valuclscd");
  130. model.makeNode(valusmallcls_node + "/valumdlcd");
  131. model.makeNode(valusmallcls_rsltnode);
  132. model.makeNode(valusmallcls_itemset);
  133. pcontrol_name.choices.itemset.attribute("nodeset") = valusmallcls_itemset+"/valusmallclslist";
  134. pcontrol_name.choices.itemset.label.attribute("ref") = "valuclsdetlnm";
  135. pcontrol_name.choices.itemset.value.attribute("ref") = "valuclsdetlcd";
  136. pcontrol_name.refresh();
  137. model.setValue(valusmallcls_node + "/basedd", pbasedd);
  138. model.setValue(valusmallcls_node + "/valuclscd", pvaluclscd);
  139. model.setValue(valusmallcls_node + "/valumdlcd", pvalumdlcd);
  140. model.removeChild("TRRPV99903");
  141. model.createChild("xforms:submission", "id:TRRPV99903;mediatype:application/x-www-form-urlencoded; method:post; ref:" + valusmallcls_node + "; resultref:" + valusmallcls_rsltnode + "; ");
  142. submit("TRRPV99903");
  143. model.copyNode(valusmallcls_itemset,valusmallcls_rsltnode);
  144. model.refresh();
  145. }
  146. //콤보에 인사평가 평가군 코드 Setting
  147. function rpvfComboValuGthrngList(pbasedd, pcontrol_name) {
  148. var control_id = pcontrol_name.attribute("id");
  149. var valugthrng_node = "/root/send/valugthrng";
  150. var valugthrng_rsltnode = "/root/init/valugthrnginit";
  151. var valugthrng_itemset = "/root/init/" + control_id;
  152. model.removeNodeset(valugthrng_node);
  153. model.removeNodeset(valugthrng_itemset);
  154. model.makeNode(valugthrng_node);
  155. model.makeNode(valugthrng_node + "/basedd");
  156. model.makeNode(valugthrng_rsltnode);
  157. model.makeNode(valugthrng_itemset);
  158. pcontrol_name.choices.itemset.attribute("nodeset") = valugthrng_itemset+"/valugthrnglist";
  159. pcontrol_name.choices.itemset.label.attribute("ref") = "valugthrngnm";
  160. pcontrol_name.choices.itemset.value.attribute("ref") = "valugthrngcd";
  161. pcontrol_name.refresh();
  162. model.setValue(valugthrng_node + "/basedd", pbasedd);
  163. model.removeChild("TRRPV33301");
  164. model.createChild("xforms:submission", "id:TRRPV33301;mediatype:application/x-www-form-urlencoded; method:post; ref:" + valugthrng_node + "; resultref:" + valugthrng_rsltnode + "; ");
  165. submit("TRRPV33301");
  166. model.copyNode(valugthrng_itemset,valugthrng_rsltnode);
  167. model.refresh();
  168. }
  169. //코드 HELP 화면 OPEN-Modal
  170. /*
  171. phelp_kind : "01" - 사번조회
  172. "02" - 부서코드
  173. "03" - 공통코드
  174. "04" - 우편번호
  175. "05" - 계정코드
  176. pcontrol_name : OPEN하는 Control명(Grid,Input.....)
  177. pcdgrupid : 공통코드일경우 코드군 ("Z0007","R0001"...)
  178. precv_list: 리턴받을 Instance명 (마지막 Element만 ','로 분리)
  179. pdefault_value : 부모 윈도우에서 넘어오는 값
  180. pcheck_yn : 선택형 팝업창인지 아닌지를 체크
  181. */
  182. function rpvfOpenPopUpList(phelp_kind, pcontrol_name, pvalucdflag, precv_list, pdefault_value, pNodeName,precvnm_list) {
  183. var recv_list = precv_list.split(",");
  184. var arrNodeNames = "";
  185. if(pdefault_value != "" && pdefault_value != null)
  186. {
  187. var default_value = pdefault_value.split(",");
  188. }
  189. if(pNodeName != "" && pNodeName != null)
  190. {
  191. var arrNodeNames = pNodeName.split(",");
  192. }
  193. // model.removeNodeset("/root/source");
  194. // model.removeNodeset("/root/target");
  195. //
  196. // model.makeNode("/root/source");
  197. // model.makeNode("/root/target");
  198. var recvref_node = "/root/source/recvref";
  199. var pvalucdflag_node = "/root/source/valucdflag";
  200. var recvitem_node = "/root/source/recvitem";
  201. var default_node = "/root/source/defaultvalue";
  202. var checkyn_node = "/root/source/checkyn";
  203. var control_node = "/root/source/control";
  204. model.removeNodeset(recvref_node);
  205. model.removeNodeset(pvalucdflag_node);
  206. model.removeNodeset(recvitem_node);
  207. model.removeNodeset(default_node);
  208. model.removeNodeset(checkyn_node);
  209. model.removeNodeset(control_node);
  210. model.makeNode(recvref_node);
  211. model.makeNode(pvalucdflag_node);
  212. model.makeNode(recvitem_node);
  213. model.makeNode(default_node);
  214. model.makeNode(checkyn_node);
  215. if(precvnm_list != null && precvnm_list.length >0)
  216. {
  217. var recvnm_list = precvnm_list.split(",");
  218. for (var k = 0; k <= recv_list.length - 1; k++) {
  219. model.makeValue(recvitem_node + "/" + recv_list[k], recvnm_list[k]);
  220. }
  221. }
  222. else
  223. {
  224. for (var k = 0; k <= recv_list.length - 1; k++) {
  225. model.makeValue(recvitem_node + "/" + recv_list[k], recv_list[k]);
  226. }
  227. }
  228. var obj = null;
  229. if (pcontrol_name.elementName == "xforms:datagrid") {
  230. //grid에서 호출 했을경우.
  231. pcontrol_name.endEditCell();
  232. if(pdefault_value != "" && pdefault_value != null)
  233. {
  234. for (var z = 0; z < default_value.length; z++)
  235. {
  236. obj = document.controls(default_value[z]);
  237. if (obj != null && obj.elementName != "xforms:datagrid" )
  238. {
  239. model.makeValue(default_node + "/" + default_value[z] , model.getValue(obj.attribute("ref")));
  240. // model.makeValue(default_node + default_value[z] ,
  241. // model.getValue(pcontrol_name.nodeset + "[" + (pcontrol_name.row - pcontrol_name.fixedRows + 1) "/" + default_value[z]));
  242. }
  243. else
  244. {
  245. model.makeValue(default_node + "/" + default_value[z] ,
  246. model.getValue(pcontrol_name.nodeset + "[" + (pcontrol_name.row - pcontrol_name.fixedRows + 1)+ "]/" + default_value[z]));
  247. }
  248. }
  249. }
  250. model.setValue(recvref_node, pcontrol_name.nodeset + "[" + (pcontrol_name.row - pcontrol_name.fixedRows + 1) + "]");
  251. }
  252. else
  253. {
  254. //grid외의 control에서 호출했을경우.
  255. var node_path = pcontrol_name.attribute("ref").split("/");
  256. var source_path = "/root";
  257. for (var i = 2 ; i < node_path.length - 1; i++)
  258. {
  259. source_path = source_path + "/" + node_path[i];
  260. }
  261. if(pdefault_value != "" && pdefault_value != null)
  262. {
  263. for (var z = 0; z < default_value.length; z++)
  264. {
  265. obj = document.controls(default_value[z]);
  266. if (obj != null && arrNodeNames.length == default_value.length)
  267. {
  268. model.makeValue(default_node + "/" + arrNodeNames[z], model.getValue(obj.attribute("ref")));
  269. }
  270. else if(obj != null)
  271. {
  272. model.makeValue(default_node + "/" + default_value[z] , model.getValue(obj.attribute("ref")));
  273. }
  274. }
  275. }
  276. model.setValue(recvref_node ,source_path);
  277. }
  278. if (pvalucdflag.length > 0 ) {
  279. model.setValue(pvalucdflag_node ,pvalucdflag);
  280. }
  281. model.makeValue(control_node, pcontrol_name.attribute("id"));
  282. var window_name = "" ;
  283. if (phelp_kind == "01") //인사마스타
  284. {
  285. window_name = "SPRPC90200";
  286. }
  287. else if (phelp_kind == "18") //평가분류 세부코드 조회
  288. {
  289. window_name = "SMRPV99500";
  290. }
  291. else if (phelp_kind == "19") //공유지표코드조회
  292. {
  293. window_name = "SMRPV99600";
  294. }
  295. else if (phelp_kind == "20") //기본업무지표 HELP 조회
  296. {
  297. window_name = "SMRPV99700";
  298. }
  299. else if (phelp_kind == "21") //기본업무지표코드조회
  300. {
  301. window_name = "SMRPV03202";
  302. }
  303. else if (phelp_kind == "22") //고객만족도조회
  304. {
  305. window_name = "SMRPV99900";
  306. }
  307. else if (phelp_kind == "23") //업무지표코드조회
  308. {
  309. window_name = "SMRPV99400";
  310. }
  311. else if (phelp_kind == "24") //평가공통코드조회
  312. {
  313. window_name = "SMRPV99100";
  314. }
  315. else if (phelp_kind == "25") //본인업적평가등록
  316. {
  317. window_name = "SMRPV06000";
  318. }
  319. else if (phelp_kind == "26") //기본지표 KeyWord조회
  320. {
  321. window_name = "SMRPV99200";
  322. }
  323. else if (phelp_kind == "27") //기관부서직책HELP
  324. {
  325. window_name = "SMRPV99300";
  326. }
  327. else if (phelp_kind == "28") //부서별 업무목표 파일내역 조회
  328. {
  329. window_name = "SMRPV05701";
  330. }
  331. else if (phelp_kind == "29") //부서별 업무목표 Unit조회
  332. {
  333. window_name = "SMRPV98100";
  334. }
  335. else if (phelp_kind == "30") //업무지표코드조회
  336. {
  337. window_name = "SMRPV99800";
  338. }
  339. else
  340. {
  341. window_name = "";
  342. }
  343. modal(window_name,"","","","","/root/source", "/root/target" );
  344. }
  345. //코드 HELP 화면의 선택된 값 Return
  346. /*
  347. pgrid_name : HELP화면의 Grid
  348. */
  349. function rpvfPopUpListReturn(pgrid_name, nodebigo) {
  350. try
  351. {
  352. var recv_ref = model.getValue("root/target/recvref");
  353. // var ins = document.models( 0 ).instances( 0 );
  354. var node = instance1.selectNodes("root/target/recvitem/*");
  355. var checkyn = model.getValue("/root/target/checkyn");
  356. var control_name = model.getValue("root/target/control");
  357. var obj = document.controls(control_name);
  358. var getreturn = "";
  359. if(checkyn == "Y") {
  360. check_node = instance1.selectNodes("root/main/deptcodelist");
  361. }
  362. if (checkOpener()) {
  363. // for (var i = 1; i < pgrid_name.cols; i++) {
  364. // for (var j = 0; j < node.length; j++) {
  365. // if (node.item(j).nodeName == pgrid_name.colAttribute(i,"ref")) {
  366. // opener.model.setValue(recv_ref + "/" + pgrid_name.colAttribute(i,"ref"), model.getValue(pgrid_name.nodeset + "[" + pgrid_name.row + "]/" + pgrid_name.colAttribute(i,"ref")));
  367. // }
  368. // }
  369. // }
  370. if(checkyn == "Y") {
  371. var opener_count = 1;
  372. for( var k = 0; k < check_node.length; k++){
  373. if(pgrid_name.valueMatrix(k,1) == "Y") {
  374. model.setValue("root/target/recvref","/root/main/deptlist[" + opener_count + "]");
  375. recv_ref = model.getValue("root/target/recvref");
  376. opener.grd_deptlist.addRow();
  377. if(nodebigo != null && nodebigo == "Y")
  378. {
  379. for (var j = 0; j < node.length; j++) {
  380. if(pgrid_name.colRef(node.item(j).nodeName) != -1)opener.model.setValue(recv_ref + "/" + node.item(j).nodeName, model.getValue(pgrid_name.nodeset + "["+ k + "]/" + node.item(j).nodeName));
  381. }
  382. }
  383. else
  384. {
  385. for (var j = 0; j < node.length; j++) {
  386. opener.model.setValue(recv_ref + "/" + node.item(j).nodeName, model.getValue(pgrid_name.nodeset + "["+ k + "]/" + pgrid_name.colAttribute(j+1,"ref")));
  387. }
  388. }
  389. opener_count++;
  390. }
  391. }
  392. }
  393. else {
  394. if(nodebigo != null && nodebigo == "Y")
  395. {
  396. for (var j = 0; j < node.length; j++) {
  397. if(pgrid_name.colRef(node.item(j).nodeName) != -1)opener.model.setValue(recv_ref + "/" + node.item(j).nodeName, model.getValue(pgrid_name.nodeset + "[" + (pgrid_name.row - pgrid_name.fixedRows + 1) + "]/" + node.item(j).nodeName));
  398. }
  399. }
  400. else
  401. {
  402. for (var j = 0; j < node.length; j++)
  403. {
  404. opener.model.setValue(recv_ref + "/" + node.item(j).nodeName, model.getValue(pgrid_name.nodeset + "[" + (pgrid_name.row - pgrid_name.fixedRows + 1) + "]/" + pgrid_name.colAttribute(j+1,"ref")));
  405. }
  406. }
  407. }
  408. // var objID = opener.event.target;
  409. var objID = opener.event.currentTarget;
  410. var obj = opener.document.controls(objID);
  411. // if (obj.elementName == "xforms:gridbutton") {
  412. if (obj.elementName == "xforms:datagrid") {
  413. //var grid_name = opener.document.controls(objID).parent.parent;
  414. if (obj.rowstatus(obj.row) == 0) {
  415. obj.rowstatus(obj.row) = 2;
  416. }
  417. }
  418. // opener.model.refresh();
  419. window.close();
  420. }
  421. else {
  422. messageBox("상위 화면이 변경되어 데이터를 전달", "E001");
  423. }
  424. }
  425. catch(Exception)
  426. {
  427. window.close();
  428. }
  429. }
  430. //콤보에 평가공통코드 조회
  431. function rpvfComboInstCdList(pcontrol_name_list,pvaluyy) {
  432. var control_list = pcontrol_name_list.split(",");
  433. var comcd_node = "/root/send/instcd";
  434. var comcd_rsltnode = "/root/init/instcd";
  435. var valuyy_node = "/root/send/valuyy";
  436. model.makeNode(comcd_rsltnode);
  437. model.removeNodeset(comcd_node);
  438. model.makeNode(comcd_node);
  439. model.makeNode("/root/send/instnm");
  440. model.makeNode(valuyy_node);
  441. if (pvaluyy != null && pvaluyy != "") {
  442. model.setValue( valuyy_node, pvaluyy);
  443. }
  444. for (var i = 0; i < control_list.length; i++) {
  445. var control_id = control_list[i];
  446. var control = control_id.split(".");
  447. var obj = document.controls(control[0]);
  448. var comcd_itemset = "/root/init/instcd/inst/inst";
  449. model.removeNodeset(comcd_itemset);
  450. model.makeNode(comcd_itemset);
  451. if (obj != null && obj.elementName == "xforms:datagrid") {
  452. obj = document.controls(obj.colAttribute(obj.colRef(control[1]), "id"));
  453. }
  454. obj.choices.itemset.attribute("nodeset") = comcd_itemset;
  455. obj.choices.itemset.label.attribute("ref") = "instnm";
  456. obj.choices.itemset.value.attribute("ref") = "instcd";
  457. }
  458. model.removeChild("TRRPV99909");
  459. model.createChild("xforms:submission", "id:TRRPV99909;mediatype:application/x-www-form-urlencoded; method:post; ref:" + valuyy_node + "; resultref:" + comcd_rsltnode + "; ");
  460. submit("TRRPV99909");
  461. }
  462. function rpvfComboConCrList(pcontrol_name_list, pEmplno, pValuyy) {
  463. var control_list = pcontrol_name_list.split(",");
  464. var comcd_node = "/root/send/concrcd";
  465. var comcd_rsltnode = "/root/init/concrcd";
  466. model.makeNode(comcd_rsltnode);
  467. model.removeNodeset(comcd_node);
  468. model.makeNode(comcd_node);
  469. model.makeValue(comcd_node + "/emplno", pEmplno);
  470. model.makeValue(comcd_node + "/valuyy", pValuyy);
  471. for (var i = 0; i < control_list.length; i++) {
  472. var control_id = control_list[i];
  473. var control = control_id.split(".");
  474. var obj = document.controls(control[0]);
  475. var comcd_itemset = "/root/init/concrcd/concr/concr";
  476. model.removeNodeset(comcd_itemset);
  477. model.makeNode(comcd_itemset);
  478. if (obj != null && obj.elementName == "xforms:datagrid") {
  479. obj = document.controls(obj.colAttribute(obj.colRef(control[1]), "id"));
  480. }
  481. obj.choices.itemset.attribute("nodeset") = comcd_itemset;
  482. obj.choices.itemset.label.attribute("ref") = "deptnm";
  483. obj.choices.itemset.value.attribute("ref") = "deptcd";
  484. }
  485. model.removeChild("TRRPV99915");
  486. model.createChild("xforms:submission", "id:TRRPV99915;mediatype:application/x-www-form-urlencoded; method:post; ref:" + comcd_node + "; resultref:" + comcd_rsltnode + "; ");
  487. submit("TRRPV99915");
  488. }
  489. function rpvfComboDeptInfList(pcontrol_name_list, pInstcd, pValuyy, pDeptcd) {
  490. var control_list = pcontrol_name_list.split(",");
  491. var comcd_node = "/root/send/infdept";
  492. var comcd_rsltnode = "/root/init/infdept";
  493. model.makeNode(comcd_rsltnode);
  494. model.removeNodeset(comcd_node);
  495. model.makeNode(comcd_node);
  496. model.makeValue(comcd_node + "/instcd", pInstcd);
  497. model.makeValue(comcd_node + "/valuyy", pValuyy);
  498. model.makeValue(comcd_node + "/deptcd", pDeptcd);
  499. for (var i = 0; i < control_list.length; i++) {
  500. var control_id = control_list[i];
  501. var control = control_id.split(".");
  502. var obj = document.controls(control[0]);
  503. var comcd_itemset = "/root/init/infdept/infdeptlist";
  504. model.removeNodeset(comcd_itemset);
  505. model.makeNode(comcd_itemset);
  506. if (obj != null && obj.elementName == "xforms:datagrid") {
  507. obj = document.controls(obj.colAttribute(obj.colRef(control[1]), "id"));
  508. }
  509. obj.choices.itemset.attribute("nodeset") = comcd_itemset;
  510. obj.choices.itemset.label.attribute("ref") = "deptnm";
  511. obj.choices.itemset.value.attribute("ref") = "deptcd";
  512. }
  513. model.removeChild("TRRPV99916");
  514. model.createChild("xforms:submission", "id:TRRPV99916;mediatype:application/x-www-form-urlencoded; method:post; ref:" + comcd_node + "; resultref:" + comcd_rsltnode + "; ");
  515. submit("TRRPV99916");
  516. }
  517. /* 부서코드 Help화면 Open */
  518. function rpvfOpenDeptCdHelp(pcontrol_name, precv_list, pdefault_value, pNodeName,precvnm_list) {
  519. misfOpenPopUpList("36", pcontrol_name,"", precv_list,pdefault_value,pNodeName,precvnm_list) ;
  520. }
  521. /* 평가기간 체크 및 컨트롤 disabled 설정. Song */
  522. /*--------------------------------------------------------------------------------------
  523. * 대중소 분류 Load
  524. * 2007.11.30 금요일
  525. * From : 송광호(지구촌 절세 미남)
  526. * pValuyy : 평가년도
  527. * pEmplno : 사원번호
  528. * pTrgtflag : 대상구분 (1차,2차 미평가자, 공통... - 01, 02, 03, 04)
  529. * pProgram : 화면 ID
  530. * pControl_list: 버튼 컨트롤 리스트 "," 분류하여 입력할것.
  531. * 관련 테이블 : RPVMPROC, RPVMRSLT
  532. ---------------------------------------------------------------------------------------*/
  533. function rpvfCheckDayFlag(pValuyy, pEmplno, pTrgtflag, pProgram,pControl_list){
  534. var send_Node = "/root/send/checkdata";
  535. var result_Node = "/root/init/checkflag";
  536. var fCheck= true;
  537. model.removeNodeset(send_Node);
  538. model.removeNodeset(result_Node);
  539. model.makeNode(send_Node);
  540. model.makeNode(result_Node);
  541. model.makeValue(send_Node + "/valuyy", pValuyy);
  542. model.makeValue(send_Node + "/emplno", pEmplno);
  543. model.makeValue(send_Node + "/trgtflag", pTrgtflag);
  544. model.makeValue(send_Node + "/program", pProgram);
  545. model.removeChild("TRRPV99910");
  546. model.createChild("xforms:submission", "id:TRRPV99910;mediatype:application/x-www-form-urlencoded; method:post; ref:" + send_Node + "; resultref:" + result_Node + ";");
  547. submit("TRRPV99910");
  548. if(model.getValue(result_Node+"/yn") == 'Y')
  549. {
  550. fCheck = false;
  551. }else{
  552. fCheck = true;
  553. }
  554. var control_list = pControl_list.split(",");
  555. for (var i = 0; i < control_list.length; i++) {
  556. var obj = document.controls(control_list[i]);
  557. obj.disabled = fCheck;
  558. }
  559. model.refresh();
  560. }
  561. /* 문자메세지 팝업. Song */
  562. /*--------------------------------------------------------------------------------------
  563. * 2007.12.29 토요일
  564. * From : 송광호
  565. * ref : 메세지 전송에 필요한 데이터 (문자내용, 발신자번호, 수신자번호, 이름....등등)
  566. ---------------------------------------------------------------------------------------*/
  567. function rpvfOpenSMS( x, y, ref)
  568. {
  569. open("SMRMS98200", 1, x, y, "ZMS00100", ref, "/root/main");
  570. }
  571. /* 이메일 팝업. Song */
  572. /*--------------------------------------------------------------------------------------
  573. * 2007.12.31 월요일
  574. * From : 송광호
  575. * x :
  576. * y :
  577. * ref : 넘어갈 데이터
  578. ---------------------------------------------------------------------------------------*/
  579. function rpvfOpenMail(x, y, ref)
  580. {
  581. open("SMRME98300", 1, x, y, "ZMS00100", ref, "/root/send");
  582. }
  583. /* User 정보 Load. Song */
  584. /*--------------------------------------------------------------------------------------
  585. * 2007.12.31 월요일
  586. * From : 송광호
  587. * Return : instcd, emplno, phone, email
  588. ---------------------------------------------------------------------------------------*/
  589. function rpvfGetUserInfo(pEmplno, pInstcd, pResultNode){
  590. var send_Node = "/root/submit";
  591. var result_Node = '';
  592. if(pResultNode == "Y")
  593. {
  594. result_Node = "/root/init/receive/userinfo";
  595. }else{
  596. result_Node = "/root/init/info/userinfo";
  597. }
  598. model.removeNodeset(send_Node);
  599. // model.removeNodeset(result_Node);
  600. model.makeNode(send_Node);
  601. model.makeNode(result_Node);
  602. model.makeValue(send_Node + "/instcd", pInstcd);
  603. model.makeValue(send_Node + "/emplno", pEmplno);
  604. model.removeChild("TRRPV99911");
  605. model.createChild("xforms:submission", "id:TRRPV99911;mediatype:application/x-www-form-urlencoded; method:post; ref:" + send_Node + "; resultref:" + result_Node + ";");
  606. submit("TRRPV99911");
  607. model.refresh();
  608. }
  609. /*--------------------------------------------------------------------------------------
  610. * 2007.12.31 월요일
  611. * From : 송광호
  612. * Email 그리고 Sms 전송
  613. * 보내는 사람의 Email 주소가 없을경우 Sms를 전송하도록...Email 주소, Sms 전화번호가 없을경우 경고 메세지 발생.
  614. * 보내는 사람 과 받는사람이 1:1 일때만 사용.
  615. * fCmt : 전체적으로 보낼 전송메세지.
  616. * fEmailTitle : 이메일 전송시의 제목.
  617. * fEmplno : 발신자의 정보 호출을 위한 발신자 사원번호.
  618. * fInstcd : 발신자의 정보 호출을 위한 발신자 기관코드.
  619. * fReceiveEmplno : 발신자의 정보 호출을 위한 발신자 사원번호.
  620. * fReceiveInstcd : 발신자의 정보 호출을 위한 발신자 기관코드.
  621. ---------------------------------------------------------------------------------------*/
  622. function rpvfOneAndOneCheckEmailAndSms(fCmt, fEmailTitle, fEmplno, fInstcd , fReceiveEmplno, fReceiveInstcd)
  623. {
  624. //사용자 정보 조회.(발신자의 정보 가져오기.)
  625. rpvfGetUserInfo( fEmplno, fInstcd);
  626. //받을사람의 정보 조회(수신자)
  627. rpvfGetUserInfo( fReceiveEmplno, fReceiveInstcd, 'Y');
  628. if(model.getValue("/root/init/info/userinfo/email") != "")
  629. {
  630. model.removeNode("/root/main/maildata");
  631. model.makeNode("/root/main/maildata");
  632. model.makeNode("/root/main/maildata/fromaddress");
  633. model.makeNode("/root/main/maildata/fromname");
  634. model.makeNode("/root/main/maildata/toaddress");
  635. model.makeNode("/root/main/maildata/ccaddress");
  636. model.makeNode("/root/main/maildata/subject");
  637. model.makeNode("/root/main/maildata/msg");
  638. model.makeNode("/root/main/maildata/closeflag");
  639. var fEmail = '';
  640. var fLength = '';
  641. model.setValue("/root/main/maildata/fromaddress", model.getValue("/root/init/info/userinfo/email")); // 보내는 사람의 E-mail 주소
  642. model.setValue("/root/main/maildata/fromname", model.getValue("/root/init/info/userinfo/emplnm")); // 보내는 사람명
  643. fLength = model.getValue("/root/init/receive/userinfo/email").split("@");
  644. if( fLength[0] != '' )
  645. {
  646. fEmail += model.getValue("/root/init/receive/userinfo/email") + ';';
  647. model.setValue("/root/main/maildata/toaddress", model.getValue("/root/init/receive/userinfo/email")); // 받는이 이메일 주소 여러명일때 구분자 ';'
  648. model.setValue("/root/main/maildata/ccaddress", ''); // 참조인 이메일 주소
  649. model.setValue("/root/main/maildata/subject", fEmailTitle); // 제목
  650. model.setValue("/root/main/maildata/msg", fCmt + "\n" + " <a href=" + '"' + "http://mis001.cmcnu.or.kr/himed" + '"' + " target=_new>http://mis001.cmcnu.or.kr/himed</a> ");// 전송메세지
  651. //현업의 요청으로 자동전송을 해제 함. - 2008/06/20 - 송광호
  652. // "Y" 를 넘기면 자동전송으로 화면상에서 처리하게 되어있음.
  653. model.setValue("/root/main/maildata/closeflag", 'N'); // 화면자동 close
  654. // Email 팝업
  655. // x, y, 넘길 데이터
  656. rpvfOpenMail(150, 150, "/root/main/maildata");
  657. }else if( model.getValue("/root/init/receive/userinfo/phone") != ""){
  658. rpvfAddSms( model.getValue("/root/init/receive/userinfo/emplnm"), model.getValue("/root/init/receive/userinfo/emplnm"), model.getValue("/root/init/info/userinfo/phone"), fCmt );
  659. messageBox("수신자 사용자 정보에 Email 미기재로 문자전송합니다.", "I999");
  660. // Sms 팝업
  661. // x, y, 넘길 데이터
  662. rpvfOpenSMS(150, 150, "/root/main/smsdata");
  663. }
  664. }else if(model.getValue("/root/init/info/userinfo/phone") != ""){
  665. if( model.getValue("/root/init/receive/userinfo/phone") != "" ){
  666. rpvfAddSms( model.getValue("/root/init/receive/userinfo/emplnm"), model.getValue("/root/init/receive/userinfo/emplnm"), model.getValue("/root/init/info/userinfo/phone"), fCmt );
  667. messageBox("발신자 사용자 정보에 Email 미기재로 문자전송합니다.", "I999");
  668. rpvfOpenSMS(150, 150, "/root/main/smsdata");
  669. }
  670. }else{
  671. messageBox("사용자정보에 Email 및 전화번호가 없으므로 \n 알림서비스를 사용하실 수 없습니다.", "I999");
  672. return;
  673. }
  674. }
  675. /*--------------------------------------------------------------------------------------
  676. * 2007.12.31 월요일
  677. * From : 송광호
  678. * Email 그리고 Sms 전송
  679. * 보내는 사람의 Email 주소가 없을경우 Sms를 전송하도록...Email 주소, Sms 전화번호가 없을경우 경고 메세지 발생.
  680. * fGrid : Email 주소나 휴대전화번호가 있는 그리드 id.
  681. * fCmt : 전체적으로 보낼 전송메세지.
  682. * fEmailTitle : 이메일 전송시의 제목.
  683. * fCheckYN : 선택된 사람만 전송할지 유무.
  684. * fEmplno : 발신자의 정보 호출을 위한 발신자 사원번호.
  685. * fInstcd : 발신자의 정보 호출을 위한 발신자 기관코드.
  686. * fCheckName : 그리드의 선택유무 컬럼의 노드명.
  687. ---------------------------------------------------------------------------------------*/
  688. function rpvfCheckEmailAndSms( fGrid, fCmt, fEmailTitle, fCheckYN, fEmplno, fInstcd , fCheckName, femailcol, femplnmcol, fphoncol, fvalupsn2yn)
  689. {
  690. //사용자 정보 조회.(조회자의 정보 가져오기.)
  691. rpvfGetUserInfo( fEmplno, fInstcd);
  692. if(model.getValue("/root/init/info/userinfo/email") != "")
  693. {
  694. rpvfSendEmail(fGrid, model.getValue("/root/init/info/userinfo/email"), fCmt, fEmailTitle,fCheckYN, fCheckName, femailcol, femplnmcol, fphoncol,fvalupsn2yn);
  695. }else if(model.getValue("/root/init/info/userinfo/phone") != ""){
  696. rpvfSendMsg( fGrid, model.getValue("/root/init/info/userinfo/phone"), fCmt, fCheckYN, fCheckName, femplnmcol, fphoncol);
  697. }else{
  698. messageBox("사용자정보에 Email 및 전화번호가 없으므로 \n 알림서비스는 사용하실 수 없습니다.", "I999");
  699. return;
  700. }
  701. }
  702. /*--------------------------------------------------------------------------------------
  703. * 2007.12.31 월요일
  704. * From : 송광호
  705. * 이메일 전송
  706. * fGridEmail : 이메일 정보를 가지고 있는 그리드.
  707. * fFromadd : 보내는 사람 이메일 주소
  708. * fMsg : 전송할 메세지
  709. * fCheckYN : 그리드의 체크여부에 따른 전송유무 'Y' or 'N' or ''
  710. ---------------------------------------------------------------------------------------*/
  711. function rpvfSendEmail(fGridEmail, fFromadd, fMsg, fEmailTitle, fCheckYN, fCheckName, femailcol, femplnmcol, fphoncol, fvalupsn2yn)
  712. {
  713. misfGridInit(grd_msg);
  714. model.removeNode("/root/main/maildata");
  715. model.makeNode("/root/main/maildata");
  716. model.makeNode("/root/main/maildata/fromaddress");
  717. model.makeNode("/root/main/maildata/fromname");
  718. model.makeNode("/root/main/maildata/toaddress");
  719. model.makeNode("/root/main/maildata/ccaddress");
  720. model.makeNode("/root/main/maildata/subject");
  721. model.makeNode("/root/main/maildata/msg");
  722. model.makeNode("/root/main/maildata/closeflag");
  723. var fEmail = '';
  724. var fLength = '';
  725. var emailarr = new Array();
  726. var phonearr = new Array();
  727. var emailcnt = 0;
  728. var phonecnt = 0;
  729. var checkyn = "N";
  730. model.setValue("/root/main/maildata/fromaddress", fFromadd); // 보내는 사람의 E-mail 주소
  731. model.setValue("/root/main/maildata/fromname", model.getValue("/root/init/info/userinfo/emplnm")); // 보내는 사람명
  732. if(fCheckYN == 'Y')
  733. {
  734. for(var i = fGridEmail.fixedRows; i < fGridEmail.rows; i++ )
  735. {
  736. if(fGridEmail.valueMatrix(i, fGridEmail.colRef(fCheckName)) == "Y")
  737. {
  738. if (femailcol != "" && femailcol != null) {
  739. fLength = fGridEmail.valueMatrix(i, fGridEmail.colRef(femailcol)).split("@");
  740. if( fLength[0] != '' )
  741. {
  742. checkyn = "N";
  743. for (var z = 0; z < emailarr.length; z++) {
  744. if (emailarr[z] == fGridEmail.valueMatrix(i, fGridEmail.colRef(femailcol))) {
  745. checkyn = "Y";
  746. break;
  747. }
  748. }
  749. if (checkyn != "Y") {
  750. fEmail += fGridEmail.valueMatrix(i, fGridEmail.colRef(femailcol)) + ';';
  751. emailarr[emailcnt] = fGridEmail.valueMatrix(i, fGridEmail.colRef(femailcol));
  752. emailcnt += 1;
  753. }
  754. }else{
  755. checkyn = "N";
  756. for (var z = 0; z < phonearr.length; z++) {
  757. if (phonearr[z] == fGridEmail.valueMatrix(i, fGridEmail.colRef(fphoncol))) {
  758. checkyn = "Y";
  759. break;
  760. }
  761. }
  762. if (checkyn != "Y") {
  763. rpvfAddSms( fGridEmail.valueMatrix(i, fGridEmail.colRef(femplnmcol)), fGridEmail.valueMatrix(i, fGridEmail.colRef(fphoncol)), model.getValue("/root/init/info/userinfo/phone"), fMsg );
  764. phonearr[phonecnt] = fGridEmail.valueMatrix(i, fGridEmail.colRef(fphoncol));
  765. phonecnt += 1;
  766. }
  767. }
  768. }
  769. else {
  770. fLength = fGridEmail.valueMatrix(i, fGridEmail.colRef("email")).split("@");
  771. if( fLength[0] != '' )
  772. {
  773. checkyn = "N";
  774. for (var z = 0; z < emailarr.length; z++) {
  775. if (emailarr[z] == fGridEmail.valueMatrix(i, fGridEmail.colRef("email"))) {
  776. checkyn = "Y";
  777. break;
  778. }
  779. }
  780. if (checkyn != "Y") {
  781. fEmail += fGridEmail.valueMatrix(i, fGridEmail.colRef("email")) + ';';
  782. emailarr[emailcnt] = fGridEmail.valueMatrix(i, fGridEmail.colRef("email"));
  783. emailcnt += 1;
  784. }
  785. }else{
  786. checkyn = "N";
  787. for (var z = 0; z < phonearr.length; z++) {
  788. if (phonearr[z] == fGridEmail.valueMatrix(i, fGridEmail.colRef("phone"))) {
  789. checkyn = "Y";
  790. break;
  791. }
  792. }
  793. if (checkyn != "Y") {
  794. rpvfAddSms( fGridEmail.valueMatrix(i, fGridEmail.colRef("emplnm")), fGridEmail.valueMatrix(i, fGridEmail.colRef("phone")), model.getValue("/root/init/info/userinfo/phone"), fMsg );
  795. phonearr[phonecnt] = fGridEmail.valueMatrix(i, fGridEmail.colRef("phone"));
  796. phonecnt += 1;
  797. }
  798. }
  799. }
  800. }
  801. }
  802. }else{
  803. for(var i = fGridEmail.fixedRows; i < fGridEmail.rows; i++ )
  804. {
  805. if (femailcol != "" && femailcol != null) {
  806. fLength = fGridEmail.valueMatrix(i, fGridEmail.colRef(femailcol)).split("@");
  807. if( fLength[0] != '' )
  808. {
  809. checkyn = "N";
  810. for (var z = 0; z < emailarr.length; z++) {
  811. if (emailarr[z] == fGridEmail.valueMatrix(i, fGridEmail.colRef(femailcol))) {
  812. checkyn = "Y";
  813. break;
  814. }
  815. }
  816. if (checkyn != "Y") {
  817. fEmail += fGridEmail.valueMatrix(i, fGridEmail.colRef(femailcol)) + ';';
  818. emailarr[emailcnt] = fGridEmail.valueMatrix(i, fGridEmail.colRef(femailcol));
  819. emailcnt += 1;
  820. }
  821. }else{
  822. checkyn = "N";
  823. for (var z = 0; z < phonearr.length; z++) {
  824. if (phonearr[z] == fGridEmail.valueMatrix(i, fGridEmail.colRef(fphoncol))) {
  825. checkyn = "Y";
  826. break;
  827. }
  828. }
  829. if (checkyn != "Y") {
  830. rpvfAddSms( fGridEmail.valueMatrix(i, fGridEmail.colRef(femplnmcol)), fGridEmail.valueMatrix(i, fGridEmail.colRef(fphoncol)), model.getValue("/root/init/info/userinfo/phone"), fMsg );
  831. phonearr[phonecnt] = fGridEmail.valueMatrix(i, fGridEmail.colRef(fphoncol));
  832. phonecnt += 1;
  833. }
  834. }
  835. }
  836. else {
  837. if ( fvalupsn2yn == "Y"){
  838. fLength = fGridEmail.valueMatrix(i, fGridEmail.colRef("valuemail2")).split("@");
  839. if( fLength[0] != '' )
  840. {
  841. checkyn = "N";
  842. for (var z = 0; z < emailarr.length; z++) {
  843. if (emailarr[z] == fGridEmail.valueMatrix(i, fGridEmail.colRef("valuemail2"))) {
  844. checkyn = "Y";
  845. break;
  846. }
  847. }
  848. if (checkyn != "Y") {
  849. fEmail += fGridEmail.valueMatrix(i, fGridEmail.colRef("valuemail2")) + ';';
  850. emailarr[emailcnt] = fGridEmail.valueMatrix(i, fGridEmail.colRef("valuemail2"));
  851. emailcnt += 1;
  852. }
  853. }else{
  854. checkyn = "N";
  855. if (fGridEmail.valueMatrix(i, fGridEmail.colRef("valuemplno2"))!= "") {
  856. for (var z = 0; z < phonearr.length; z++) {
  857. if (phonearr[z] == fGridEmail.valueMatrix(i, fGridEmail.colRef("valuphone2"))) {
  858. checkyn = "Y";
  859. break;
  860. }
  861. }
  862. if (checkyn != "Y") {
  863. rpvfAddSms( fGridEmail.valueMatrix(i, fGridEmail.colRef("valuemplnm2")), fGridEmail.valueMatrix(i, fGridEmail.colRef("valuphone2")), model.getValue("/root/init/info/userinfo/phone"), fMsg );
  864. phonearr[phonecnt] = fGridEmail.valueMatrix(i, fGridEmail.colRef("valuphone2"));
  865. phonecnt += 1;
  866. }
  867. }
  868. }
  869. }
  870. fLength = fGridEmail.valueMatrix(i, fGridEmail.colRef("email")).split("@");
  871. if( fLength[0] != '' )
  872. {
  873. checkyn = "N";
  874. for (var z = 0; z < emailarr.length; z++) {
  875. if (emailarr[z] == fGridEmail.valueMatrix(i, fGridEmail.colRef("email"))) {
  876. checkyn = "Y";
  877. break;
  878. }
  879. }
  880. if (checkyn != "Y") {
  881. fEmail += fGridEmail.valueMatrix(i, fGridEmail.colRef("email")) + ';';
  882. emailarr[emailcnt] = fGridEmail.valueMatrix(i, fGridEmail.colRef("email"));
  883. emailcnt += 1;
  884. }
  885. }else{
  886. checkyn = "N";
  887. for (var z = 0; z < phonearr.length; z++) {
  888. if (phonearr[z] == fGridEmail.valueMatrix(i, fGridEmail.colRef("phone"))) {
  889. checkyn = "Y";
  890. break;
  891. }
  892. }
  893. if (checkyn != "Y") {
  894. rpvfAddSms( fGridEmail.valueMatrix(i, fGridEmail.colRef("emplnm")), fGridEmail.valueMatrix(i, fGridEmail.colRef("phone")), model.getValue("/root/init/info/userinfo/phone"), fMsg );
  895. phonearr[phonecnt] = fGridEmail.valueMatrix(i, fGridEmail.colRef("phone"));
  896. phonecnt += 1;
  897. }
  898. }
  899. }
  900. }
  901. }
  902. model.setValue("/root/main/maildata/toaddress", fEmail); // 받는이 이메일 주소 여러명일때 구분자 ';'
  903. model.setValue("/root/main/maildata/ccaddress", ''); // 참조인 이메일 주소
  904. model.setValue("/root/main/maildata/subject", fEmailTitle); // 제목
  905. model.setValue("/root/main/maildata/msg", fMsg + "\n" + " <a href=" + '"' + "http://mis001.cmcnu.or.kr/himed" + '"' + " target=_new>http://mis001.cmcnu.or.kr/himed</a> ");// 전송메세지); // 전송메세지
  906. model.setValue("/root/main/maildata/closeflag", 'N'); // 화면자동 close
  907. // Email 팝업
  908. // x, y, 넘길 데이터
  909. if(fEmail != '')
  910. {
  911. rpvfOpenMail(150, 150, "/root/main/maildata");
  912. }
  913. if(grd_msg.rows != grd_msg.fixedRows)
  914. {
  915. messageBox("Email 이 없는 사용자가 있어 문자로 전송합니다.", "I999");
  916. // Sms 팝업
  917. // x, y, 넘길 데이터
  918. rpvfOpenSMS(150, 150, "/root/main/smsdata");
  919. }
  920. }
  921. /*--------------------------------------------------------------------------------------
  922. * 2007.12.31 월요일
  923. * From : 송광호
  924. * 폰수신자 추가
  925. * fName : 추가될 수신자 이름
  926. * fPhoneNumber : 추가될 수신자 전화번호
  927. * fPhoneno : 발신자 전화번호
  928. * fMsg : 전송할 메세지
  929. ---------------------------------------------------------------------------------------*/
  930. function rpvfAddSms( fName, fPhoneNumber, fPhoneno, fMsg)
  931. {
  932. var fPhone = '';
  933. var sPhone = '';
  934. var tPhone = '';
  935. tPhone = fPhoneno.split("-");
  936. fPhoneno = '';
  937. for(var r = 0; r < tPhone.length; r++ )
  938. {
  939. fPhoneno += tPhone[r];
  940. }
  941. if(fPhoneno == '') return;
  942. model.setValue("/root/main/smsdata/bizabbr", "mis"); // 그룹명, ex> mis, com, tis, his...등등...
  943. model.setValue("/root/main/smsdata/replytelno", fPhoneno); // 발신자 전화번호
  944. model.setValue("/root/main/smsdata/rsrvyn", 0); // 예약전송 구분
  945. model.setValue("/root/main/smsdata/rsrvdate", getCurrentDate()); // 전송 날자
  946. model.setValue("/root/main/smsdata/rsrvtime", getCurrentTime().substr(0,4)); // 전송 시간
  947. model.setValue("/root/main/smsdata/msgcnts", fMsg); // 전송할 메세지
  948. model.setValue("/root/main/smsdata/closeflag", "Y"); // 메시지 전송 팝업화면을 바로 닫기위한 구분자.
  949. misfGridIUD(grd_msg, "A");
  950. fPhone = fPhoneNumber.split("-");
  951. sPhone = '';
  952. for(var p = 0; p < fPhone.length; p++ )
  953. {
  954. sPhone += fPhone[p];
  955. }
  956. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("chk")) = 'Y'; // 여기서 Y의 의미는 문자메세지를 보낼때 팝업화면에서 전송받을 수신자의 선택유무다. 무조건 보내기 위해 Y 로 설정.
  957. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("recvrnm")) = fName; // 수신자 이름 설정.
  958. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("recvrtelno")) = sPhone; // 수신자 전화번호 설정.
  959. }
  960. /*--------------------------------------------------------------------------------------
  961. * 2007.12.31 월요일
  962. * From : 송광호
  963. * 문자메세지 전송.
  964. * * 수신자의 전화번호는 10자리를 넘어야만 전송이 가능하며, 발신자의 전화번호도 10자리를 넘어야만한다.
  965. * fgrid_target : 수신자 리스트 데이터가 있는 그리드.
  966. * fphoneno : 발신자 전화번호 - "01010092456"
  967. * fmsg : 전송할 문자 내용 - "하고싶은말을 적으면 됩니다."
  968. * checkYN : 체크되었는 사용자만 전송할건지 전부 전송할건지 유무! - "Y" or "N" or ""
  969. ---------------------------------------------------------------------------------------*/
  970. function rpvfSendMsg( fgrid_target,fphoneno, fmsg, checkYN, fCheckName, femplnmcol, fphoncol)
  971. {
  972. /// 발신자 정보 설정.
  973. misfGridInit(grd_msg);
  974. var fPhone = '';
  975. var sPhone = '';
  976. var tPhone = '';
  977. var checkyn = "N";
  978. tPhone = fphoneno.split("-");
  979. fphoneno = '';
  980. for(var r = 0; r < tPhone.length; r++ )
  981. {
  982. fphoneno += tPhone[r];
  983. }
  984. if(fphoneno == '') return;
  985. model.setValue("/root/main/smsdata/bizabbr", "mis"); // 그룹명, ex> mis, com, tis, his...등등...
  986. model.setValue("/root/main/smsdata/replytelno", fphoneno); // 발신자 전화번호
  987. model.setValue("/root/main/smsdata/rsrvyn", 0); // 예약전송 구분
  988. model.setValue("/root/main/smsdata/rsrvdate", getCurrentDate()); // 전송 날자
  989. model.setValue("/root/main/smsdata/rsrvtime", getCurrentTime().substr(0,4)); // 전송 시간
  990. model.setValue("/root/main/smsdata/msgcnts", fmsg); // 전송할 메세지
  991. model.setValue("/root/main/smsdata/closeflag", "Y"); // 메시지 전송 팝업화면을 바로 닫기위한 구분자.
  992. /// 수신자 정보설정.
  993. /// 아래에 있는 소스는 수신자의 리스트를 정리한다. 현제 DB에 전화번호가 010-2321-1231 이렇게 되어 있으므로 '-' 이것을 제외한 01023211231 로 변환.
  994. /// 그리드에 체크 유무에 따라 수신자 리스트에 추가를 하도록 되어있다.
  995. ///
  996. for(var i = fgrid_target.fixedRows; i < fgrid_target.rows; i++ )
  997. {
  998. // 체크된 사람만 보낼건지 전체를 보낼건지 구분.
  999. if(checkYN == "Y")
  1000. {
  1001. // 체크된사람 유무.
  1002. if(fgrid_target.valueMatrix(i, fgrid_target.colRef(fCheckName)) == "Y")
  1003. {
  1004. if (fphoncol != "" && fphoncol != null) {
  1005. checkyn = "N";
  1006. for (var z = grd_msg.fixedRows; z < grd_msg.rows; z ++) {
  1007. if(fgrid_target.valueMatrix(i, fgrid_target.colRef(fphoncol)) ==
  1008. grd_msg.labelMatrix(z, grd_msg.colRef("recvrtelno"))) {
  1009. checkyn = "Y";
  1010. break;
  1011. }
  1012. }
  1013. if(checkyn != "Y" && fgrid_target.valueMatrix(i, fgrid_target.colRef(fphoncol)) != '')
  1014. {
  1015. misfGridIUD(grd_msg, "A");
  1016. fPhone = fgrid_target.valueMatrix(i, fgrid_target.colRef(fphoncol)).split("-");
  1017. sPhone = '';
  1018. for(var p = 0; p < fPhone.length; p++ )
  1019. {
  1020. sPhone += fPhone[p];
  1021. }
  1022. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("chk")) = 'Y'; // 여기서 Y의 의미는 문자메세지를 보낼때 팝업화면에서 전송받을 수신자의 선택유무다. 무조건 보내기 위해 Y 로 설정.
  1023. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("recvrnm")) = fgrid_target.valueMatrix(i, fgrid_target.colRef(femplnmcol)); // 수신자 이름 설정.
  1024. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("recvrtelno")) = sPhone; // 수신자 전화번호 설정.
  1025. }
  1026. }
  1027. else {
  1028. checkyn = "N";
  1029. for (var z = grd_msg.fixedRows; z < grd_msg.rows; z ++) {
  1030. if(fgrid_target.valueMatrix(i, fgrid_target.colRef("phone")) ==
  1031. grd_msg.labelMatrix(z, grd_msg.colRef("recvrtelno"))) {
  1032. checkyn = "Y";
  1033. break;
  1034. }
  1035. }
  1036. if(checkyn != "Y" && fgrid_target.valueMatrix(i, fgrid_target.colRef("phone")) != '')
  1037. {
  1038. misfGridIUD(grd_msg, "A");
  1039. fPhone = fgrid_target.valueMatrix(i, fgrid_target.colRef("phone")).split("-");
  1040. sPhone = '';
  1041. for(var p = 0; p < fPhone.length; p++ )
  1042. {
  1043. sPhone += fPhone[p];
  1044. }
  1045. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("chk")) = 'Y'; // 여기서 Y의 의미는 문자메세지를 보낼때 팝업화면에서 전송받을 수신자의 선택유무다. 무조건 보내기 위해 Y 로 설정.
  1046. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("recvrnm")) = fgrid_target.valueMatrix(i, fgrid_target.colRef("emplnm")); // 수신자 이름 설정.
  1047. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("recvrtelno")) = sPhone; // 수신자 전화번호 설정.
  1048. }
  1049. }
  1050. }
  1051. }else{
  1052. if (fphoncol != "" && fphoncol != null) {
  1053. checkyn = "N";
  1054. for (var z = grd_msg.fixedRows; z < grd_msg.rows; z ++) {
  1055. if(fgrid_target.valueMatrix(i, fgrid_target.colRef(fphoncol)) ==
  1056. grd_msg.labelMatrix(z, grd_msg.colRef("recvrtelno"))) {
  1057. checkyn = "Y";
  1058. break;
  1059. }
  1060. }
  1061. if(checkyn != "Y" && fgrid_target.valueMatrix(i, fgrid_target.colRef(fphoncol)) != '')
  1062. {
  1063. misfGridIUD(grd_msg, "A");
  1064. fPhone = fgrid_target.valueMatrix(i, fgrid_target.colRef(fphoncol)).split("-");
  1065. sPhone = '';
  1066. for(var p = 0; p < fPhone.length; p++ )
  1067. {
  1068. sPhone += fPhone[p];
  1069. }
  1070. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("chk")) = 'Y'; // 여기서 Y의 의미는 문자메세지를 보낼때 팝업화면에서 전송받을 수신자의 선택유무다. 무조건 보내기 위해 Y 로 설정.
  1071. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("recvrnm")) = fgrid_target.valueMatrix(i, fgrid_target.colRef(femplnmcol)); // 수신자 이름 설정.
  1072. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("recvrtelno")) = sPhone; // 수신자 전화번호 설정.
  1073. }
  1074. }
  1075. else {
  1076. checkyn = "N";
  1077. for (var z = grd_msg.fixedRows; z < grd_msg.rows; z ++) {
  1078. if(fgrid_target.valueMatrix(i, fgrid_target.colRef("phone")) ==
  1079. grd_msg.labelMatrix(z, grd_msg.colRef("recvrtelno"))) {
  1080. checkyn = "Y";
  1081. break;
  1082. }
  1083. }
  1084. if(checkyn != "Y" && fgrid_target.valueMatrix(i, fgrid_target.colRef("phone")) != '')
  1085. {
  1086. misfGridIUD(grd_msg, "A");
  1087. fPhone = fgrid_target.valueMatrix(i, fgrid_target.colRef("phone")).split("-");
  1088. sPhone = '';
  1089. for(var p = 0; p < fPhone.length; p++ )
  1090. {
  1091. sPhone += fPhone[p];
  1092. }
  1093. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("chk")) = 'Y'; // 여기서 Y의 의미는 문자메세지를 보낼때 팝업화면에서 전송받을 수신자의 선택유무다. 무조건 보내기 위해 Y 로 설정.
  1094. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("recvrnm")) = fgrid_target.valueMatrix(i, fgrid_target.colRef("emplnm")); // 수신자 이름 설정.
  1095. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("recvrtelno")) = sPhone; // 수신자 전화번호 설정.
  1096. }
  1097. }
  1098. }
  1099. }
  1100. // 메시지 전송창 화면 밖으로 이동(rpvfOpenSMS 사용하실때에는 꼭 closeflag 를 'Y' 로 설정 하시기 바랍니다. )
  1101. rpvfOpenSMS(100000, 100000, "/root/main/smsdata");
  1102. }
  1103. /*평가자 분류에 따른 화면 권한 체크*/
  1104. function rpvfCheckManFlag(pYy,pEmplno, pFlag){
  1105. var send_Node = "/root/submit";
  1106. var result_Node = '/root/userinfo';
  1107. model.removeNodeset(send_Node);
  1108. // model.removeNodeset(result_Node);
  1109. model.makeNode(send_Node);
  1110. model.makeNode(result_Node);
  1111. model.makeValue(send_Node + "/valueyy", pYy);
  1112. model.makeValue(send_Node + "/emplno", pEmplno);
  1113. model.removeChild("TRRPV99914");
  1114. model.createChild("xforms:submission", "id:TRRPV99914;mediatype:application/x-www-form-urlencoded; method:post; ref:" + send_Node + "; resultref:" + result_Node + ";");
  1115. submit("TRRPV99914");
  1116. model.refresh();
  1117. var valuclscd = "";
  1118. if (pFlag != null && pFlag == "T") {
  1119. var valuclscd = model.getValue("/root/userinfo/valutrgtflag");
  1120. }
  1121. else if(pFlag != null && pFlag == "G") {
  1122. var valuclscd = model.getValue("/root/userinfo/orgimrsnexptyn");
  1123. }
  1124. else {
  1125. var valuclscd=model.getValue("/root/userinfo/valuclscd");
  1126. }
  1127. return valuclscd;
  1128. }
  1129. /*
  1130. 화면 버튼 disabled 컨트롤
  1131. */
  1132. function rpvfSetControlBy(pControlNames,pDisabledYn){
  1133. var arrCtrlNms = pControlNames.split(",");
  1134. var objCtrls = "";
  1135. for(var i=0; i<arrCtrlNms.length; i++)
  1136. {
  1137. objCtrls = document.controls(arrCtrlNms[i]);
  1138. if(pDisabledYn =="Y")
  1139. {
  1140. objCtrls.disabled = true;
  1141. }
  1142. else
  1143. {
  1144. objCtrls.disabled = false;
  1145. }
  1146. }
  1147. }
  1148. /*사용자 권한에 따른 평가 화면 기관 부서컨트롤 disable 설정*/
  1149. function rpvfComboDisableYn(pControlNames,fControlNames,pInstcd,pEmplno){
  1150. var ControlNames="";
  1151. if(fControlNames ==null || fControlNames==""){
  1152. ControlNames=pControlNames;
  1153. }else{
  1154. ControlNames = pControlNames+","+fControlNames;
  1155. }
  1156. /*사용자 권한 가져오기*/
  1157. if(pEmplno ==null || pEmplno==""){
  1158. misfGetUserAuth();
  1159. }else{
  1160. rpvfGetUserAuth(pInstcd,pEmplno);
  1161. }
  1162. if(DUTY_VALU_YN=='N'){
  1163. rpvfSetControlBy(ControlNames,"Y");
  1164. }else{
  1165. if(getUserInfo("dutplceinstcd") =='001' && DUTY_VALU_YN=='Y'){
  1166. rpvfSetControlBy(ControlNames,"N");
  1167. }else{
  1168. rpvfSetControlBy(pControlNames,"Y");
  1169. }
  1170. }
  1171. }
  1172. /*콤보에 프로그램 셋팅*/
  1173. function rpvfComboProgramSet(pValuyy, pcontrol_name,pValucdflag){
  1174. var control_id = pcontrol_name.attribute("id");
  1175. var comcd_node = "/root/send/valugthrng";
  1176. var comcd_rsltnode = "/root/init/rpvdcode";
  1177. var comcd_itemset = "/root/init/" + control_id;
  1178. model.removeNodeset(comcd_node);
  1179. model.removeNodeset(comcd_itemset);
  1180. model.makeNode(comcd_node);
  1181. model.makeNode(comcd_node + "/valuyy");
  1182. model.makeNode(comcd_node + "/valucdflag");
  1183. model.makeNode(comcd_rsltnode);
  1184. model.makeNode(comcd_itemset);
  1185. pcontrol_name.choices.itemset.attribute("nodeset") = comcd_itemset+"/rpvdcodelist";
  1186. pcontrol_name.choices.itemset.label.attribute("ref") = "valucdnm";
  1187. pcontrol_name.choices.itemset.value.attribute("ref") = "valucd";
  1188. pcontrol_name.refresh();
  1189. model.setValue(comcd_node + "/valuyy", pValuyy);
  1190. model.setValue(comcd_node + "/valucdflag", pValucdflag);
  1191. model.removeChild("TRRPV01502");
  1192. model.createChild("xforms:submission", "id:TRRPV01502;mediatype:application/x-www-form-urlencoded; method:post; ref:" + comcd_node + "; resultref:" + comcd_rsltnode + "; ");
  1193. submit("TRRPV01502");
  1194. model.makeValue(comcd_itemset+"/rpvdcodelist[" +1+ "]/valucdnm", "전체");
  1195. model.makeValue(comcd_itemset+"/rpvdcodelist[" +1+ "]/valucd", "");
  1196. model.makeValue(comcd_itemset+"/rpvdcodelist[" +1+ "]/valucdflag", pValucdflag);
  1197. sourcenode = document.models(0).instances(0).selectSingleNode(comcd_rsltnode);
  1198. tarnode = document.models(0).instances(0).selectSingleNode(comcd_itemset);
  1199. cnt = 1;
  1200. var sourcenodelist = sourcenode.childNodes;
  1201. while (childNode = sourcenodelist.nextNode())
  1202. {
  1203. model.makeValue(comcd_itemset+"/rpvdcodelist[" +(cnt + 1)+ "]/valucdnm", childNode.getXPathString(comcd_rsltnode + "/rpvdcodelist[" +cnt + "]/valucdnm"));
  1204. model.makeValue(comcd_itemset+"/rpvdcodelist[" +(cnt + 1)+ "]/valucd", childNode.getXPathString(comcd_rsltnode + "/rpvdcodelist[" +cnt + "]/valucd"));
  1205. model.makeValue(comcd_itemset+"/rpvdcodelist[" +(cnt + 1)+ "]/valucdflag", childNode.getXPathString(comcd_rsltnode + "/rpvdcodelist[" +cnt + "]/valucdflag"));
  1206. cnt++;
  1207. }
  1208. //model.copyNode(comcd_itemset,comcd_rsltnode);
  1209. model.refresh();
  1210. }
  1211. function rpvfGetAndSetUserInfo(pYy,pEmplno){
  1212. var send_Node = "/root/submit";
  1213. var result_Node = '/root/valuempllist';
  1214. model.removeNodeset(send_Node);
  1215. // model.removeNodeset(result_Node);
  1216. model.makeNode(send_Node);
  1217. model.makeNode(result_Node);
  1218. model.makeValue(send_Node + "/valuyy", pYy);
  1219. model.makeValue(send_Node + "/emplno", pEmplno);
  1220. model.removeChild("TRRPV05805");
  1221. model.createChild("xforms:submission", "id:TRRPV05805;mediatype:application/x-www-form-urlencoded; method:post; ref:" + send_Node + "; resultref:" + result_Node + ";");
  1222. submit("TRRPV05805");
  1223. model.refresh();
  1224. }
  1225. // 사용자 권한을 조회한다.
  1226. function rpvfGetUserAuth(pInstcd,pEmplno)
  1227. {
  1228. var sRecvNode = "auth";
  1229. var sParamsNode = "/root/send/retrauthparams";
  1230. var sRsltNode = "/root/main/authlist";
  1231. var arrRef = "";
  1232. var sShowRsltNode = "";
  1233. model.makeValue("/root/send/retrauthparams/instcd", pInstcd);
  1234. model.makeValue("/root/send/retrauthparams/emplno", pEmplno);
  1235. model.removeNodeset(sRsltNode);
  1236. model.makeNode(sRsltNode);
  1237. model.removeChild("TRRPD90001");
  1238. model.createChild("xforms:submission", "id:TRRPD90001;mediatype:application/x-www-form-urlencoded; method:post; ref:" + sParamsNode + "; resultref:" + sRsltNode + "; ");
  1239. submit("TRRPD90001");
  1240. model.copyNode(sShowRsltNode, sRsltNode);
  1241. if(instance1.selectNodes("/root/main/authlist/auth").length > 0)
  1242. {
  1243. DUTY_RESP_YN = model.getValue("/root/main/authlist/auth/dutyresp");
  1244. DUTY_PART_YN = model.getValue("/root/main/authlist/auth/insaduty");
  1245. DUTY_VALU_YN = model.getValue("/root/main/authlist/auth/insavaluation");
  1246. DUTY_UNIT_CD = model.getValue("/root/main/authlist/auth/dutplcedeptcd");
  1247. }
  1248. else
  1249. {
  1250. DUTY_RESP_YN = "N";
  1251. DUTY_PART_YN = "N";
  1252. DUTY_VALU_YN = "N";
  1253. }
  1254. model.refresh();
  1255. }
  1256. /*--------------------------------------------------------------------------------------
  1257. * 2008.04.24 목요일
  1258. * From : 송광호
  1259. * 평가코드 조회
  1260. * pvaluyy : 평가년도
  1261. * pvalucdflag : 조회 코드
  1262. ---------------------------------------------------------------------------------------*/
  1263. function rpvfAnotherComboValuCdDataList(pvaluyy, pvalucdflag, pcontrol_name) {
  1264. var valucdflag_list = pvalucdflag;
  1265. var control_list = pcontrol_name;
  1266. var comcd_node = "/root/send/valucd";
  1267. var comcd_rsltnode = "/root/init/" + pvalucdflag + "/" + pvalucdflag;
  1268. model.removeNodeset(comcd_rsltnode);
  1269. model.makeNode(comcd_rsltnode);
  1270. model.removeNodeset(comcd_node);
  1271. model.makeNode(comcd_node);
  1272. model.makeNode(comcd_node + "/valuyy");
  1273. model.makeNode(comcd_node + "/valucdflag");
  1274. var control_id = control_list;
  1275. var control = control_id.split(".");
  1276. var obj = document.controls(control[0]);
  1277. //var comcd_itemset = comcd_rsltnode;
  1278. model.removeNodeset("/root/init/" + pvalucdflag + "/valucd/" + pvalucdflag + "/" + pvalucdflag);
  1279. var comcd_itemset = "/root/init/" + pvalucdflag + "/valucd/" + pvalucdflag + "/" + pvalucdflag;
  1280. var refcondNode = instance1.selectSingleNode(comcd_node + "/valuyy");
  1281. var cdgrupidNode = instance1.selectSingleNode(comcd_node + "/valucdflag");
  1282. var refcondvalueNode = instance1.createNode("element", "valuyy", "");
  1283. var cdgrupvalueNode = instance1.createNode("element", "valucdflag", "");
  1284. cdgrupvalueNode.text = valucdflag_list;
  1285. refcondvalueNode.text = pvaluyy;
  1286. refcondNode.appendChild(refcondvalueNode);
  1287. cdgrupidNode.appendChild(cdgrupvalueNode);
  1288. // comcd_itemset = comcd_itemset + "/" + valucdflag_list + "/" + valucdflag_list;
  1289. // model.makeNode(comcd_itemset);
  1290. if (obj != null && obj.elementName == "xforms:datagrid") {
  1291. obj = document.controls(obj.colAttribute(obj.colRef(control[1]), "id"));
  1292. }
  1293. obj.choices.itemset.attribute("nodeset") = comcd_itemset;
  1294. obj.choices.itemset.label.attribute("ref") = "valucdnm";
  1295. obj.choices.itemset.value.attribute("ref") = "valucd";
  1296. obj.value = "";
  1297. //alert(comcd_itemset);
  1298. //alert(comcd_rsltnode);
  1299. model.removeChild("TRRPV99904");
  1300. model.createChild("xforms:submission", "id:TRRPV99904;mediatype:application/x-www-form-urlencoded; method:post; ref:" + comcd_node + "; resultref:" + comcd_rsltnode + "; ");
  1301. submit("TRRPV99904");
  1302. //obj.select(0);
  1303. }
  1304. /*--------------------------------------------------------------------------------------
  1305. * 2008.04.24 목요일
  1306. * From : 송광호
  1307. * 평가코드 조회
  1308. * pvaluyy : 평가년도
  1309. * pvalucdflag : 조회 코드
  1310. ---------------------------------------------------------------------------------------*/
  1311. function rpvComboValuCdDataList(pvaluyy, pvalucdflag, pGetDataflag)
  1312. {
  1313. var comcd_node = "/root/send/valucd";
  1314. var comcd_rsltnode = "/root/init/datayn";
  1315. model.removeNodeset(comcd_rsltnode);
  1316. model.removeNodeset(comcd_node);
  1317. model.makeNode(comcd_rsltnode);
  1318. model.makeNode(comcd_node);
  1319. model.makeValue(comcd_node + "/valuyy", pvaluyy);
  1320. model.makeValue(comcd_node + "/valucdflag", pvalucdflag);
  1321. model.removeChild("TRRPV99904");
  1322. model.createChild("xforms:submission", "id:TRRPV99904;mediatype:application/x-www-form-urlencoded; method:post; ref:" + comcd_node + "; resultref:" + comcd_rsltnode + "; ");
  1323. submit("TRRPV99904");
  1324. if( model.getValue(comcd_rsltnode+ "/valucd") != ''){
  1325. //Y
  1326. rpvfAnotherComboValuCdDataList(pvaluyy, pGetDataflag, pcontrol_name);
  1327. }else{
  1328. //N
  1329. pcontrol_name.value = '';
  1330. pcontrol_name.choices.itemset.attribute("nodeset") = "/root/exit";
  1331. }
  1332. }