RPS001.js 44 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295
  1. /*--------------------------------------------------------------------------------------
  2. * 교육기초코드 콤보 설정.
  3. * 2008.05.09 금요일 ...송광호...
  4. * peducdflag_list : 분류코드 리스트
  5. * pcontrol_name_list : 콤보 컴포넌트 id 리스트
  6. * sBlankYn : "전체" 값 추가 여부
  7. --------------------------------------------------------------------------------------*/
  8. function rpsEducSetComboList(peducdflag_list, pcontrol_name_list, sBlankYn, sSetBlankCtrlIdx)
  9. {
  10. var peducdflag_list = peducdflag_list.split(",");
  11. var control_list = pcontrol_name_list.split(",");
  12. var comcd_node = "/root/send/educ";
  13. var comcd_rsltnode = "/root/init/educdlist";
  14. model.makeNode(comcd_rsltnode);
  15. model.removeNodeset(comcd_node);
  16. model.makeNode(comcd_node);
  17. model.makeNode(comcd_node + "/codeflag");
  18. model.makeNode(comcd_node + "/code");
  19. for (var i = 0; i < control_list.length; i++)
  20. {
  21. var control_id = control_list[i];
  22. var control = control_id.split(".");
  23. var obj = document.controls(control[0]);
  24. var comcd_itemset = "/root/init/educdlist";
  25. var cdgrupidNode = instance1.selectSingleNode(comcd_node + "/codeflag");
  26. var cdgrupdetailNode = instance1.selectSingleNode(comcd_node + "/code");
  27. var cdgrupvalueNode = instance1.createNode("element", "codeflag", "");
  28. var cdgrupdetailvalueNode = instance1.createNode("element", "code", "");
  29. var peducdflag = peducdflag_list[i].split("-");
  30. cdgrupvalueNode.text = peducdflag[0];
  31. cdgrupdetailvalueNode.text = peducdflag[1];
  32. cdgrupidNode.appendChild(cdgrupvalueNode);
  33. cdgrupdetailNode.appendChild(cdgrupdetailvalueNode);
  34. comcd_itemset = comcd_itemset + "/rps" + peducdflag[0] + i + "/rps" + peducdflag[0] + i;
  35. model.removeNodeset(comcd_itemset);
  36. model.makeNode(comcd_itemset);
  37. if (obj != null && obj.elementName == "xforms:datagrid")
  38. {
  39. obj = document.controls(obj.colAttribute(obj.colRef(control[1]), "id"));
  40. }
  41. obj.choices.itemset.attribute("nodeset") = comcd_itemset;
  42. obj.choices.itemset.label.attribute("ref") = "label";
  43. obj.choices.itemset.value.attribute("ref") = "value";
  44. }
  45. model.removeChild("TRRPS99901");
  46. model.createChild("xforms:submission", "id:TRRPS99901;mediatype:application/x-www-form-urlencoded; method:post; ref:" + comcd_node + "; resultref:" + comcd_rsltnode + "; ");
  47. submit("TRRPS99901");
  48. if(sBlankYn == "Y")
  49. {
  50. if(sSetBlankCtrlIdx != null)
  51. {
  52. var arrIdx = sSetBlankCtrlIdx.split(",");
  53. for(var r = 0; r < arrIdx.length; r++)
  54. {
  55. rpsComboItemAdd(control_list[ (arrIdx[r]-1) ], "전체", "", "above");
  56. }
  57. }else{
  58. for(var r = 0; r < control_list.length; r++)
  59. {
  60. rpsComboItemAdd(control_list[r], "전체", "", "above");
  61. }
  62. }
  63. }
  64. }
  65. /*--------------------------------------------------------------------------------------
  66. * 교육 팝업 Load.
  67. * 2008.05.12 월요일 ...송광호...
  68. * phelp_kind : 오픈 팝업 플래그
  69. * pcontrol_name :
  70. * pcdgrupid :
  71. * precv_list :
  72. * pdefault_value :
  73. * pNodeName :
  74. * precvnm_list :
  75. --------------------------------------------------------------------------------------*/
  76. function rpsfEducOpenPopUpList(phelp_kind, pcontrol_name, pcdgrupid, precv_list, pdefault_value, pNodeName,precvnm_list) {
  77. var recv_list = precv_list.split(",");
  78. var arrNodeNames = "";
  79. if(pdefault_value != "" && pdefault_value != null)
  80. {
  81. var default_value = pdefault_value.split(",");
  82. }
  83. if(pNodeName != "" && pNodeName != null)
  84. {
  85. var arrNodeNames = pNodeName.split(",");
  86. }
  87. var recvref_node = "/root/source/recvref";
  88. var cdgrupid_node = "/root/source/cdgrupid";
  89. var recvitem_node = "/root/source/recvitem";
  90. var default_node = "/root/source/defaultvalue";
  91. var checkyn_node = "/root/source/checkyn";
  92. var control_node = "/root/source/control";
  93. model.removeNodeset(recvref_node);
  94. model.removeNodeset(cdgrupid_node);
  95. model.removeNodeset(recvitem_node);
  96. model.removeNodeset(default_node);
  97. model.removeNodeset(checkyn_node);
  98. model.removeNodeset(control_node);
  99. model.makeNode(recvref_node);
  100. model.makeNode(cdgrupid_node);
  101. model.makeNode(recvitem_node);
  102. model.makeNode(default_node);
  103. model.makeNode(checkyn_node);
  104. if(precvnm_list != null && precvnm_list.length >0)
  105. {
  106. var recvnm_list = precvnm_list.split(",");
  107. for (var k = 0; k <= recv_list.length - 1; k++) {
  108. model.makeValue(recvitem_node + "/" + recv_list[k], recvnm_list[k]);
  109. }
  110. }
  111. else
  112. {
  113. for (var k = 0; k <= recv_list.length - 1; k++) {
  114. model.makeValue(recvitem_node + "/" + recv_list[k], recv_list[k]);
  115. }
  116. }
  117. var obj = null;
  118. if (pcontrol_name.elementName == "xforms:datagrid") {
  119. //grid에서 호출 했을경우.
  120. pcontrol_name.endEditCell();
  121. if(pdefault_value != "" && pdefault_value != null)
  122. {
  123. for (var z = 0; z < default_value.length; z++)
  124. {
  125. obj = document.controls(default_value[z]);
  126. if (obj != null && obj.elementName != "xforms:datagrid" && obj.elementName != "xforms:col") // 08.02.19 obj.elementName != "xforms:col" 조건 추가 help로 넘겨주는 node의 type이 Grid의 특정 column 일 경우..
  127. {
  128. model.makeValue(default_node + "/" + default_value[z] , model.getValue(obj.attribute("ref")));
  129. }
  130. else if (obj != null && obj.elementName == null && arrNodeNames.length == default_value.length)
  131. {
  132. model.makeValue(default_node + "/" + arrNodeNames[z], model.getValue(obj.attribute("ref")));
  133. }
  134. else if(obj == null)
  135. {
  136. model.makeValue(default_node + "/" + arrNodeNames[z] , default_value[z]);
  137. }
  138. else //아래 4줄 추가 .. END
  139. {
  140. model.makeValue(default_node + "/" + default_value[z] ,
  141. model.getValue(pcontrol_name.nodeset + "[" + (pcontrol_name.row - pcontrol_name.fixedRows + 1)+ "]/" + default_value[z]));
  142. }
  143. }
  144. }
  145. model.setValue(recvref_node, pcontrol_name.nodeset + "[" + (pcontrol_name.row - pcontrol_name.fixedRows + 1) + "]");
  146. }
  147. else
  148. {
  149. //grid외의 control에서 호출했을경우.
  150. var node_path = pcontrol_name.attribute("ref").split("/");
  151. var source_path = "/root";
  152. for (var i = 2 ; i < node_path.length - 1; i++)
  153. {
  154. source_path = source_path + "/" + node_path[i];
  155. }
  156. if(pdefault_value != "" && pdefault_value != null)
  157. {
  158. for (var z = 0; z < default_value.length; z++)
  159. {
  160. obj = document.controls(default_value[z]);
  161. if (obj != null && arrNodeNames.length == default_value.length)
  162. {
  163. model.makeValue(default_node + "/" + arrNodeNames[z], model.getValue(obj.attribute("ref")));
  164. }
  165. else if(obj != null)
  166. {
  167. model.makeValue(default_node + "/" + default_value[z] , model.getValue(obj.attribute("ref")));
  168. }
  169. else if(obj == null)
  170. {
  171. model.makeValue(default_node + "/" + arrNodeNames[z] , default_value[z]);
  172. }
  173. }
  174. }
  175. model.setValue(recvref_node ,source_path);
  176. }
  177. if (pcdgrupid.length > 0 ) {
  178. model.setValue(cdgrupid_node ,pcdgrupid);
  179. }
  180. model.makeValue(control_node, pcontrol_name.attribute("id"));
  181. var window_name = "" ;
  182. if (phelp_kind == "01") //교육코드 마스터
  183. {
  184. window_name = "SMRPS90100";
  185. }
  186. else if (phelp_kind == "02") //인사마스터 HELP(부서,기관 fixed 되어있음)
  187. {
  188. window_name = "SMRPS90200";
  189. }
  190. else if (phelp_kind == "03") //만족도HELP
  191. {
  192. window_name = "SMRPS90300";
  193. }
  194. else if (phelp_kind == "04") //의료기관평가코드HELP
  195. {
  196. window_name = "SMRPS90400";
  197. }
  198. else if (phelp_kind == "05") //Dept Help
  199. {
  200. window_name = "SMRPS90500";
  201. }
  202. else if (phelp_kind == "06") //Team Help
  203. {
  204. window_name = "SMRPS90600";
  205. }
  206. else if (phelp_kind == "07") //Unit Help
  207. {
  208. window_name = "SMRPS90700";
  209. }
  210. else
  211. {
  212. window_name = "";
  213. }
  214. modal(window_name, null, null, null, "", "/root/source", "/root/target" );
  215. }
  216. /*--------------------------------------------------------------------------------------
  217. * 교육코드 ValidationCheck
  218. * 2008.06.02 월요일 ...송광호...
  219. *
  220. --------------------------------------------------------------------------------------*/
  221. function rpsfEducCdValidationCheck(pvali_kind, pcdgrupid, precv_list, pValueControl, pNodeNames, pRetrKind, pInstcd)
  222. {
  223. var objID = event.currentTarget;
  224. var obj = document.controls(objID);
  225. var arrCtrlNames = null;
  226. var arrNodeNames = null;
  227. if(obj != null && obj.elementName == "xforms:group")
  228. {
  229. objID = event.Target;
  230. obj = document.controls(objID);
  231. }
  232. if(pValueControl != null && pValueControl != "")
  233. {
  234. arrCtrlNames = pValueControl.split(",");
  235. }
  236. if(pNodeNames != null && pValueControl != "")
  237. {
  238. arrNodeNames = pNodeNames.split(",");
  239. }
  240. var vali_kind = pvali_kind.substr(0,2);
  241. var validation_node = "/root/send/validation";
  242. var validation_rsltnode = "/root/init/validation";
  243. var recv_node = precv_list.split(",");
  244. model.removeNodeset(validation_node);
  245. model.removeNodeset(validation_rsltnode);
  246. model.makeNode(validation_node);
  247. if (pInstcd != null) {
  248. model.makeValue(validation_node + "/instcd", pInstcd);
  249. }
  250. model.makeValue(validation_node + "/cdgrupid", pcdgrupid);
  251. model.makeNode(validation_rsltnode);
  252. var result_path = "";
  253. model.makeValue(validation_node + "/getcond", model.getValue(obj.attribute("ref")));
  254. model.makeValue(validation_node + "/retrkind", pRetrKind);
  255. model.makeValue(validation_node + "/systemflag", "");
  256. model.makeValue(validation_node + "/classicyn", "Y");
  257. if (obj.elementName == "xforms:datagrid") {
  258. result_path = obj.nodeset;
  259. model.makeValue(validation_node + "/getcond", model.getValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + obj.colAttribute(obj.col,"ref")));
  260. }
  261. else {
  262. var node_path = obj.attribute("ref").split("/");
  263. result_path = "/root";
  264. for (var i = 2 ; i < node_path.length - 1; i++) {
  265. result_path = result_path + "/" + node_path[i];
  266. }
  267. }
  268. if (model.getValue(validation_node + "/getcond") == null || model.getValue(validation_node + "/getcond") == "")
  269. {
  270. for (var i = 0; i < recv_node.length; i++)
  271. {
  272. if (obj.elementName == "xforms:datagrid")
  273. {
  274. model.setValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + recv_node[i], "");
  275. }
  276. else
  277. {
  278. model.setValue(result_path + "/" + recv_node[i], "");
  279. }
  280. }
  281. return;
  282. }
  283. if (pvali_kind == "01") //교육코드
  284. {
  285. if(arrCtrlNames != null && arrNodeNames != null)
  286. {
  287. for(var i=0; i<arrCtrlNames.length; i++)
  288. {
  289. model.makeValue(validation_node + "/" + arrNodeNames[i], arrCtrlNames[i]);
  290. }
  291. }
  292. model.removeChild("TRRPS90102");
  293. model.createChild("xforms:submission", "id:TRRPS90102;mediatype:application/x-www-form-urlencoded; method:post; ref:" + validation_node + "; resultref:" + validation_rsltnode + "; ");
  294. submit("TRRPS90102");
  295. var rslt_node = new Array();
  296. var node = instance1.selectNodes(validation_rsltnode + "/rpsmedcdlist" + "/*");
  297. for (var j = 0; j < node.length; j++) {
  298. if (obj.elementName == "xforms:datagrid") {
  299. rslt_node[j] = model.getValue(validation_rsltnode + "/rpsmedcdlist" + "[1]/" + node.item(j).nodeName);
  300. }
  301. else {
  302. rslt_node[j] = model.getValue(validation_rsltnode + "/rpsmedcdlist" + "/" + node.item(j).nodeName);
  303. }
  304. }
  305. }
  306. var node1 = instance1.selectNodes(validation_rsltnode + "/*");
  307. if (node1.length != 1)
  308. {
  309. model.removeNodeset("/root/source/validation");
  310. model.makeNode("/root/source/validation")
  311. model.copyNode("/root/source/validation", validation_rsltnode);
  312. rpsfOpenPopUpList(vali_kind, obj, pcdgrupid, precv_list, pValueControl, pNodeNames)
  313. }
  314. else
  315. {
  316. for (var i = 0; i < recv_node.length; i++)
  317. {
  318. if (obj.elementName == "xforms:datagrid")
  319. {
  320. model.setValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + recv_node[i], rslt_node[i]);
  321. }
  322. else
  323. {
  324. model.setValue(result_path + "/" + recv_node[i], rslt_node[i]);
  325. }
  326. }
  327. }
  328. }
  329. /*--------------------------------------------------------------------------------------
  330. * 화면에서 multilinegrid의 마스터 Detail관계 설정
  331. * 2008.05.23 금요일 ...송광호...
  332. * pGrid_name : Grid id명
  333. * pMaster_Grid : pGrid_name의 마스터 Grid id명
  334. * pSubmit_Id : pGrid_name을 조회할 Submit id
  335. * pSave_Yn : pGrid_name 저장여부("Y","N")
  336. * pSelectionMode : pGrid_name 의 선택모드 "free", "byrow", "bycol"..
  337. -------------------------------------------------------------*/
  338. function rpsfMsterDetailSet(pGrid_name, pMaster_Grid, pSubmit_Id, pSave_Yn, pSelectionMode)
  339. {
  340. var current_gridnode = MASTDETAIL_NODE + "/" + pGrid_name.attribute("id");
  341. model.makeNode(MASTDETAIL_NODE);
  342. model.makeNode(current_gridnode);
  343. model.makeNode(current_gridnode + "/current");
  344. model.makeNode(current_gridnode + "/master");
  345. model.makeNode(current_gridnode + "/submit");
  346. model.makeNode(current_gridnode + "/saveyn");
  347. model.setValue(current_gridnode + "/current", pGrid_name.attribute("id"));
  348. if (pMaster_Grid == null) {
  349. model.setValue(current_gridnode + "/master", "");
  350. }
  351. else {
  352. model.setValue(current_gridnode + "/master", pMaster_Grid.attribute("id"));
  353. }
  354. model.setValue(current_gridnode + "/submit", pSubmit_Id);
  355. model.setValue(current_gridnode + "/saveyn", pSave_Yn);
  356. if(pSelectionMode != null)
  357. {
  358. pGrid_name.focusColor = "#ccffff";
  359. }
  360. else
  361. {
  362. pGrid_name.focusColor = "#ccffff";
  363. }
  364. }
  365. /*--------------------------------------------------------------------------------------
  366. * 콤보에 공통코드 Setting
  367. * 2008.05.23 금요일
  368. * From : 송광호
  369. * pcdgrupid : 공통코드군
  370. * pcontrol_name : Data를 받을 Control
  371. * pLabel : COM.ZBCMCODE Table의 컬럼중 특정 컬럼의 명칭이 들어온다.
  372. pLabel의 유무에 따라 Label 설정되는 값이 변경된다.
  373. ex> dispseq
  374. cdsid
  375. cdgrupid
  376. detldesc
  377. cdval
  378. minval
  379. maxval
  380. minopercd
  381. maxopercd
  382. cdengabbrnm
  383. valifromdd
  384. valitodd
  385. * pAddCheckNum : 콤보에 추가 item 설정
  386. ex> 입력형식 = "순번-label-value-위치"
  387. 1. 순번은 입력된 control의 순번을 의미한다.
  388. 2. label은 콤보Item에 보여줄 이름.
  389. 3. value은 콤보Item의 속성 값.
  390. 4. 추가될 아이템의 위치 above 는 맨 위, below 맨 아래.
  391. ---------------------------------------------------------------------------------------*/
  392. function rpsfMultiGridComboListMulti(pcdgrupid_list, pcontrol_name_list, pLabel, pAddCheckNum)
  393. {
  394. var cdgrupid_list = pcdgrupid_list.split(",");
  395. var control_list = pcontrol_name_list.split(",");
  396. var comcd_node = "/root/send/comcdref";
  397. var comcd_rsltnode = "/root/init/comcd";
  398. model.makeNode(comcd_rsltnode);
  399. model.removeNodeset(comcd_node);
  400. model.makeNode(comcd_node);
  401. model.makeNode(comcd_node + "/refcond");
  402. model.makeNode(comcd_node + "/cdgrupid");
  403. model.makeNode(comcd_node + "/cdid");
  404. var sLabelName = ( pLabel == null ) ? "cdnm" : pLabel;
  405. model.makeNode(comcd_node + "/" + sLabelName);
  406. var arrComCd_ItemSet_Temp = new Array();
  407. var arrAddNode = new Array();
  408. for (var i = 0; i < control_list.length; i++)
  409. {
  410. var control_id = control_list[i];
  411. var control = control_id.split(".");
  412. var obj = document.controls(control[0]);
  413. var comcd_itemset = "/root/init/comcd";
  414. var refcondNode = instance1.selectSingleNode(comcd_node + "/refcond");
  415. var cdgrupidNode = instance1.selectSingleNode(comcd_node + "/cdgrupid");
  416. var cdidNode = instance1.selectSingleNode(comcd_node + "/cdid");
  417. var cdnmNode = instance1.selectSingleNode(comcd_node + "/" + sLabelName);
  418. var refcondvalueNode = instance1.createNode("element", "refcondvalue", "");
  419. var cdgrupvalueNode = instance1.createNode("element", "cdgrupidvalue", "");
  420. var cdidvalueNode = instance1.createNode("element", "cdidvalue", "");
  421. var cdnmvalueNode = instance1.createNode("element", "cdnmvalue", "");
  422. cdgrupvalueNode.text = cdgrupid_list[i];
  423. cdidvalueNode.text = "%";
  424. cdnmvalueNode.text = "%";
  425. refcondvalueNode.text = "cdnm";
  426. refcondNode.appendChild(refcondvalueNode);
  427. cdgrupidNode.appendChild(cdgrupvalueNode);
  428. cdidNode.appendChild(cdidvalueNode);
  429. cdnmNode.appendChild(cdnmvalueNode);
  430. comcd_itemset = comcd_itemset + "/" + cdgrupid_list[i] + i + "/" + cdgrupid_list[i] + i;
  431. model.removeNodeset(comcd_itemset);
  432. model.makeNode(comcd_itemset);
  433. if (obj != null && obj.elementName == "xforms:datagrid")
  434. {
  435. obj = document.controls(obj.colAttribute(obj.colRef(control[1]), "id"));
  436. obj.choices.itemset.attribute("nodeset") = comcd_itemset;
  437. obj.choices.itemset.label.attribute("ref") = sLabelName;
  438. obj.choices.itemset.value.attribute("ref") = "cdid";
  439. }else if (obj != null && obj.elementName == "xforms:multilinegrid")
  440. {
  441. obj = document.controls(obj.colAttribute(obj.colRef(control[1]), "id"));
  442. obj.itemset.attribute("nodeset") = comcd_itemset;
  443. obj.itemset.label.attribute("ref") = sLabelName;
  444. obj.itemset.value.attribute("ref") = "cdid";
  445. }else
  446. {
  447. obj.choices.itemset.attribute("nodeset") = comcd_itemset;
  448. obj.choices.itemset.label.attribute("ref") = sLabelName;
  449. obj.choices.itemset.value.attribute("ref") = "cdid";
  450. }
  451. }
  452. model.removeChild("TRRPZ00302");
  453. model.createChild("xforms:submission", "id:TRRPZ00302;mediatype:application/x-www-form-urlencoded; method:post; ref:" + comcd_node + "; resultref:" + comcd_rsltnode + "; ");
  454. submit("TRRPZ00302");
  455. // item 추가
  456. if(pAddCheckNum != "")
  457. {
  458. var fAddNum_List = pAddCheckNum.split(",");
  459. var fControl_List = pcontrol_name_list.split(",");
  460. var fControlData = "";
  461. var fLabel = "";
  462. for(var i=0; i< fAddNum_List.length; i++)
  463. {
  464. fControlData = fAddNum_List[i];
  465. fData = fControlData.split("-");
  466. //코보 item 추가 function load
  467. rpsComboItemAdd(fControl_List[fData[0]], fData[1], fData[2], fData[3] );
  468. }
  469. }
  470. }
  471. /*--------------------------------------------------------------------------------------
  472. * 콤보 item 추가
  473. * 2008.05.24 토요일
  474. * From : 송광호
  475. * control_id : 해당 콤보 아이디
  476. * label : 추가 할 아이템 Lavel
  477. * value : 추가 할 아이템 Value
  478. * position : 추가 할 위치( "above" | "below" )
  479. ---------------------------------------------------------------------------------------*/
  480. function rpsComboItemAdd(control_id, label, value, position ) {
  481. var control = control_id.split(".");
  482. var obj = document.controls(control[0]);
  483. var comboItemNodeSet = null;
  484. var comboLabelRef = null;
  485. var comboValueRef = null;
  486. if (obj != null && obj.elementName == "xforms:datagrid") {
  487. obj = document.controls(obj.colAttribute(obj.colRef(control[1]), "id"));
  488. comboItemNodeSet = obj.choices.itemset.attribute("nodeset");
  489. comboLabelRef = obj.choices.itemset.label.attribute("ref");
  490. comboValueRef = obj.choices.itemset.value.attribute("ref");
  491. }else if(obj != null && obj.elementName == "xforms:multilinegrid"){
  492. obj = document.controls(obj.colAttribute(obj.colRef(control[1]), "id"));
  493. comboItemNodeSet = obj.itemset.attribute("nodeset");
  494. comboLabelRef = obj.itemset.label.attribute("ref");
  495. comboValueRef = obj.itemset.value.attribute("ref");
  496. }else{
  497. comboItemNodeSet = obj.choices.itemset.attribute("nodeset");
  498. comboLabelRef = obj.choices.itemset.label.attribute("ref");
  499. comboValueRef = obj.choices.itemset.value.attribute("ref");
  500. }
  501. // Item 노드 생성
  502. var itemNode = instance1.createNode("element", instance1.selectSingleNode(comboItemNodeSet).nodeName, "");
  503. var labelNode = instance1.createNode("element", comboLabelRef, "");
  504. var valueNode = instance1.createNode("element", comboValueRef, "");
  505. if( label == null || label == "" ) label = "전체";
  506. labelNode.value = label;
  507. itemNode.appendChild(labelNode);
  508. if( value == null || value == "" ) value = "";
  509. valueNode.value = value;
  510. itemNode.appendChild(valueNode);
  511. if( position == null || position == "" )
  512. position = "above";
  513. var destNode = instance1.selectSingleNode(comboItemNodeSet);
  514. var pDestNode = destNode.parentNode;
  515. if( position == "above" ) {
  516. pDestNode.insertBefore(itemNode, destNode);
  517. }
  518. else {
  519. pDestNode.appendChild(itemNode);
  520. }
  521. }
  522. /*--------------------------------------------------------------------------------------
  523. * Grid 입력,삭제 처리.
  524. * 2008.05.24 토요일
  525. * From : 송광호
  526. * pGrid_Name : 입력,삭제할 Grid id명
  527. * pIAD_Flag : 행추가,행삽입,행삭제 여부("A","I","D")
  528. * pRefresh_Flag : 행추가, 삽입후 misfGridDefaultSet (Default 값 셋팅 유무 Y, N ) default : Y(사용)
  529. ---------------------------------------------------------------------------------------*/
  530. function rpsfMultiGridIUD(pGrid_Name, pIAD_Flag, pRefresh_Flag ) {
  531. if (pGrid_Name.elementName != "xforms:multilinegrid") {
  532. return;
  533. }
  534. model.setfocus(pGrid_Name.attribute("id"));
  535. if (pIAD_Flag == "I")
  536. {
  537. pGrid_Name.insertRow(pGrid_Name.row, "below", false);
  538. pGrid_Name.select(pGrid_Name.row, pGrid_Name.col) = true;
  539. }
  540. else if (pIAD_Flag == "D")
  541. {
  542. var iRowIdx = pGrid_Name.row;
  543. if (pGrid_Name.rowstatus(iRowIdx) == 4)
  544. {
  545. pGrid_Name.removeStatus(iRowIdx,"delete");
  546. }
  547. else
  548. {
  549. if (misfCheckDeleteYN(pGrid_Name) == "Y")
  550. {
  551. // 1 : 초기 insert 한상태, 3 : insert한 Row를 Edit 한경우 3으로 변경됨
  552. if(pGrid_Name.rowstatus(iRowIdx) == 1 || pGrid_Name.rowstatus(iRowIdx) == 3)
  553. {
  554. pGrid_Name.deleteRow(pGrid_Name.row, false);
  555. }
  556. else
  557. {
  558. pGrid_Name.addStatus(iRowIdx,"delete");
  559. }
  560. }
  561. else
  562. {
  563. messageBox("세부내역이 존재 하므로 삭제 ", "E001");
  564. }
  565. }
  566. }
  567. else if (pIAD_Flag == "A") {
  568. pGrid_Name.addRow(false);
  569. pGrid_Name.select(pGrid_Name.row, pGrid_Name.col) = true;
  570. }
  571. if ( pRefresh_Flag != "N" ) {
  572. if (pIAD_Flag == "A" || pIAD_Flag == "I") {
  573. misfGridDefaultSet(pGrid_Name);
  574. pGrid_Name.col = 1;
  575. }
  576. }
  577. }
  578. /*--------------------------------------------------------------------------------------
  579. * 사원번호 Validation Check
  580. * 2008.05.24 토요일
  581. * From : 송광호
  582. ---------------------------------------------------------------------------------------*/
  583. function rpsfMultiGridValidationCheck(pvali_kind, precv_list, pdutinstyn,precvnm_list) {
  584. var objID = event.currentTarget;
  585. var obj = document.controls(objID);
  586. var validation_node = "/root/send/validation";
  587. var validation_rsltnode = "/root/init/validation";
  588. var recv_node = precv_list.split(",");
  589. var recvnm_list;
  590. if(precvnm_list != null && precvnm_list.length >0){
  591. recvnm_list = precvnm_list.split(",");
  592. }
  593. model.removeNodeset(validation_node);
  594. model.removeNodeset(validation_rsltnode);
  595. model.makeNode(validation_node);
  596. model.makeNode(validation_rsltnode);
  597. var result_path = "";
  598. if (obj.elementName == "xforms:datagrid") {
  599. result_path = obj.nodeset;
  600. if (pvali_kind == "EMPLNO") { //사원번호
  601. model.makeValue(validation_node + "/emplno", model.getValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + obj.colAttribute(obj.col,"ref")));
  602. model.makeValue(validation_node + "/emplnm", "");
  603. }
  604. else {
  605. model.makeValue(validation_node + "/emplnm", model.getValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + obj.colAttribute(obj.col,"ref")));
  606. model.makeValue(validation_node + "/emplno", "");
  607. }
  608. }else if (obj.elementName == "xforms:multilinegrid") {
  609. result_path = obj.nodeset;
  610. if (pvali_kind == "EMPLNO") { //사원번호
  611. model.makeValue(validation_node + "/emplno", model.getValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + obj.colAttribute(obj.col,"ref")));
  612. model.makeValue(validation_node + "/emplnm", "");
  613. }
  614. else {
  615. model.makeValue(validation_node + "/emplnm", model.getValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + obj.colAttribute(obj.col,"ref")));
  616. model.makeValue(validation_node + "/emplno", "");
  617. }
  618. }else
  619. {
  620. var node_path = obj.attribute("ref").split("/");
  621. result_path = "/root";
  622. for (var i = 2 ; i < node_path.length - 1; i++) {
  623. result_path = result_path + "/" + node_path[i];
  624. }
  625. if (pvali_kind == "EMPLNO") { //사원번호
  626. model.makeValue(validation_node + "/emplno", model.getValue(obj.attribute("ref")));
  627. model.makeValue(validation_node + "/emplnm", "");
  628. }
  629. else {
  630. model.makeValue(validation_node + "/emplnm", model.getValue(obj.attribute("ref")));
  631. model.makeValue(validation_node + "/emplno", "");
  632. }
  633. }
  634. model.makeValue(validation_node + "/rregno", "");
  635. model.makeValue(validation_node + "/unitcd", "");
  636. model.makeValue(validation_node + "/instcd", "");
  637. model.makeValue(validation_node + "/systemflag", "");
  638. if (pdutinstyn == null) {
  639. model.makeValue(validation_node + "/dutinstyn", "");
  640. }
  641. else {
  642. model.makeValue(validation_node + "/dutinstyn", pdutinstyn);
  643. }
  644. if ((model.getValue(validation_node + "/emplno") == null || model.getValue(validation_node + "/emplno") == "") &&
  645. (model.getValue(validation_node + "/emplnm") == null || model.getValue(validation_node + "/emplnm") == "")) {
  646. for (var i = 0; i < recv_node.length; i++) {
  647. if (obj.elementName == "xforms:datagrid") {
  648. model.setValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + recv_node[i], "");
  649. }
  650. else {
  651. model.setValue(result_path + "/" + recv_node[i], "");
  652. }
  653. }
  654. return;
  655. }
  656. model.removeChild("TRRPZ00102");
  657. model.createChild("xforms:submission", "id:TRRPZ00102;mediatype:application/x-www-form-urlencoded; method:post; ref:" + validation_node + "; resultref:" + validation_rsltnode + "; ");
  658. submit("TRRPZ00102");
  659. var rslt_node = new Array();
  660. var node = instance1.selectNodes(validation_rsltnode + "/empllist" + "/*");
  661. for (var j = 0; j < node.length; j++) {
  662. if (obj.elementName == "xforms:datagrid") {
  663. rslt_node[j] = model.getValue(validation_rsltnode + "/empllist" + "[1]/" + node.item(j).nodeName);
  664. }
  665. else {
  666. rslt_node[j] = model.getValue(validation_rsltnode + "/empllist" + "/" + node.item(j).nodeName);
  667. }
  668. }
  669. var node1 = instance1.selectNodes(validation_rsltnode + "/*");
  670. if (node1.length != 1) {
  671. model.removeNodeset("/root/source/validation");
  672. model.makeNode("/root/source/validation")
  673. model.copyNode("/root/source/validation", validation_rsltnode);
  674. rpsfOpenPopUpList("SPRPB00101", obj, precv_list,"","N","",precvnm_list);
  675. }
  676. else {
  677. for (var i = 0; i < recv_node.length; i++) {
  678. for (var j = 0; j < node.length; j++) {
  679. if(precvnm_list != null && precvnm_list.length >0){
  680. if (recvnm_list[i] == node.item(j).nodeName) {
  681. if (obj.elementName == "xforms:datagrid")
  682. {
  683. model.setValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + recv_node[i],
  684. model.getValue(validation_rsltnode + "/empllist" + "[1]/" + node.item(j).nodeName));
  685. }else if (obj.elementName == "xforms:multilinegrid")
  686. {
  687. model.setValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + recv_node[i],
  688. model.getValue(validation_rsltnode + "/empllist" + "[1]/" + node.item(j).nodeName));
  689. }else
  690. {
  691. model.setValue(result_path + "/" + recv_node[i],
  692. model.getValue(validation_rsltnode + "/empllist" + "/" + node.item(j).nodeName));
  693. }
  694. }
  695. }
  696. else
  697. {
  698. if (recv_node[i] == node.item(j).nodeName) {
  699. if (obj.elementName == "xforms:datagrid")
  700. {
  701. model.setValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + recv_node[i],
  702. model.getValue(validation_rsltnode + "/empllist" + "[1]/" + node.item(j).nodeName));
  703. }else if (obj.elementName == "xforms:datagrid")
  704. {
  705. model.setValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + recv_node[i],
  706. model.getValue(validation_rsltnode + "/empllist" + "[1]/" + node.item(j).nodeName));
  707. }else
  708. {
  709. model.setValue(result_path + "/" + recv_node[i],
  710. model.getValue(validation_rsltnode + "/empllist" + "/" + node.item(j).nodeName));
  711. }
  712. }
  713. }
  714. }
  715. }
  716. }
  717. }
  718. /*--------------------------------------------------------------------------------------
  719. * 사원번호 Validation Check
  720. * 2008.05.24 토요일
  721. * From : 송광호
  722. * pwindow_name : Open할 window명
  723. * pcontrol_name : OPEN하는 Control명(Grid,Input.....)
  724. * precv_list : 리턴받을 Instance명 (마지막 Element만 ','로 분리)
  725. * pdefault_value : 부모 윈도우에서 넘어오는 값
  726. * pcheck_yn : 선택형 팝업창인지 아닌지를 체크
  727. ---------------------------------------------------------------------------------------*/
  728. function rpsfOpenPopUpList(pwindow_name, pcontrol_name, precv_list, pdefault_value, pcheck_yn,pdutinstyn,precvnm_list) {
  729. var recv_list = precv_list.split(",");
  730. var recvref_node = "/root/source/recvref";
  731. var cdgrupid_node = "/root/source/cdgrupid";
  732. var recvitem_node = "/root/source/recvitem";
  733. var default_node = "/root/source/defaultvalue";
  734. var checkyn_node = "/root/source/checkyn";
  735. var control_node = "/root/source/control";
  736. var dutinstyn_node = "/root/source/dutinstynvalue";
  737. model.removeNodeset(recvref_node);
  738. model.removeNodeset(cdgrupid_node);
  739. model.removeNodeset(recvitem_node);
  740. model.removeNodeset(default_node);
  741. model.removeNodeset(checkyn_node);
  742. model.removeNodeset(control_node);
  743. model.removeNodeset(dutinstyn_node);
  744. model.makeNode(recvref_node);
  745. model.makeNode(cdgrupid_node);
  746. model.makeNode(recvitem_node);
  747. model.makeNode(default_node);
  748. model.makeNode(checkyn_node);
  749. model.makeNode(dutinstyn_node);
  750. if(pdefault_value != "" && pdefault_value != null) {
  751. var default_value = pdefault_value.split(",");
  752. }
  753. else {
  754. model.makeValue( default_node + "/ipt_systemflag", "A");
  755. }
  756. if(pdutinstyn != "" && pdutinstyn != null) {
  757. model.makeValue(dutinstyn_node + "/dutinstyn", pdutinstyn);
  758. }
  759. else {
  760. model.makeValue(dutinstyn_node + "/dutinstyn", "N");
  761. }
  762. if(precvnm_list != null && precvnm_list.length >0)
  763. {
  764. var recvnm_list = precvnm_list.split(",");
  765. for (var k = 0; k <= recv_list.length - 1; k++) {
  766. model.makeValue(recvitem_node + "/" + recv_list[k], recvnm_list[k]);
  767. }
  768. }
  769. else
  770. {
  771. for (var k = 0; k <= recv_list.length - 1; k++) {
  772. model.makeValue(recvitem_node + "/" + recv_list[k], recv_list[k]);
  773. }
  774. }
  775. var obj = null;
  776. if (pcontrol_name.elementName == "xforms:datagrid")
  777. {
  778. //grid에서 호출 했을경우.
  779. pcontrol_name.endEditCell();
  780. if(pdefault_value != "" && pdefault_value != null) {
  781. for (var z = 0; z < default_value.length; z++) {
  782. obj = document.controls(default_value[z]);
  783. if (obj != null && obj.elementName != "xforms:datagrid" && obj.elementName != "xforms:col") {
  784. model.makeValue(default_node + "/" + default_value[z] , model.getValue(obj.attribute("ref")));
  785. }
  786. else {
  787. model.makeValue(default_node + "/" + default_value[z] ,
  788. model.getValue(pcontrol_name.nodeset + "[" + (pcontrol_name.row - pcontrol_name.fixedRows + 1)+ "]/" + default_value[z]));
  789. }
  790. }
  791. }
  792. model.setValue(recvref_node, pcontrol_name.nodeset + "[" + (pcontrol_name.row - pcontrol_name.fixedRows + 1) + "]");
  793. }else if (pcontrol_name.elementName == "xforms:multilinegrid")
  794. {
  795. //grid에서 호출 했을경우.
  796. pcontrol_name.endEditCell();
  797. if(pdefault_value != "" && pdefault_value != null) {
  798. for (var z = 0; z < default_value.length; z++) {
  799. obj = document.controls(default_value[z]);
  800. if (obj != null && obj.elementName != "xforms:multilinegrid" && obj.elementName != "xforms:col") {
  801. model.makeValue(default_node + "/" + default_value[z] , model.getValue(obj.attribute("ref")));
  802. }
  803. else {
  804. model.makeValue(default_node + "/" + default_value[z] ,
  805. model.getValue(pcontrol_name.nodeset + "[" + (pcontrol_name.row - pcontrol_name.fixedRows + 1)+ "]/" + default_value[z]));
  806. }
  807. }
  808. }
  809. model.setValue(recvref_node, pcontrol_name.nodeset + "[" + (pcontrol_name.row - pcontrol_name.fixedRows + 1) + "]");
  810. }else
  811. {
  812. //grid외의 control에서 호출했을경우.
  813. var node_path = pcontrol_name.attribute("ref").split("/");
  814. var source_path = "/root";
  815. for (var i = 2 ; i < node_path.length - 1; i++) {
  816. source_path = source_path + "/" + node_path[i];
  817. }
  818. if(pdefault_value != "" && pdefault_value != null) {
  819. for (var z = 0; z < default_value.length; z++) {
  820. obj = document.controls(default_value[z]);
  821. if (obj != null) {
  822. model.makeValue(default_node + "/" + default_value[z] , model.getValue(obj.attribute("ref")));
  823. }
  824. }
  825. }
  826. model.setValue(recvref_node ,source_path);
  827. }
  828. model.makeValue(control_node, pcontrol_name.attribute("id"));
  829. modal(pwindow_name,"","","","","/root/source", "/root/target" );
  830. }
  831. /*--------------------------------------------------------------------------------------
  832. * MultilineGrid Key Check
  833. * 2008.05.24 토요일
  834. * From : 송광호
  835. * pgridId : check 할 그리드 ID
  836. ---------------------------------------------------------------------------------------*/
  837. function rpsMulilineGridCheckKey(pGridId)
  838. {
  839. var pGrid = document.controls.item(pGridId);
  840. var keyPosition_List = "";
  841. //_key 속성 찾기
  842. for(var k = pGrid.fixedCols; k < pGrid.cols; k++)
  843. {
  844. if(pGrid.colAttribute(k, "_key") == "true")
  845. {
  846. if(keyPosition_List != "")
  847. {
  848. keyPosition_List += "," + k;
  849. }else
  850. {
  851. keyPosition_List = k;
  852. }
  853. }
  854. }
  855. var keyList = keyPosition_List.split(",");
  856. for(var r = pGrid.fixedRows; r < pGrid.rows; r++)
  857. {
  858. if( pGrid.rowStatus(r) == 1)
  859. {
  860. for(var c = 0; c < keyList.length; c++)
  861. {
  862. if(pGrid.valueMatrix(r, keyList[c]).length == 0 )
  863. {
  864. messageBox(pGrid.valueMatrix(pGrid.fixedRows - 1, keyList[c]) + "은(는)", "I003");
  865. pGrid.row = r;
  866. pGrid.col = keyList[c];
  867. pGrid.editCell();
  868. return false;
  869. }
  870. }
  871. }
  872. }
  873. return true;
  874. }
  875. /*--------------------------------------------------------------------------------------
  876. * 사원번호 Validation Check
  877. * 2008.05.27 화요일
  878. * From : 송광호
  879. * pvali_kind : EMPLNO or EMPLNM 입력, 사번으로 조회하느냐 이름으로 조회하느냐..
  880. * precv_list : 넘겨받을 노드리스트.
  881. ---------------------------------------------------------------------------------------*/
  882. function rpsfEmplnoValidationCheck(pvali_kind, precv_list, pdutinstyn, precvnm_list) {
  883. var objID = event.currentTarget;
  884. var obj = document.controls(objID);
  885. var validation_node = "/root/send/validation";
  886. var validation_rsltnode = "/root/init/validation";
  887. var recv_node = precv_list.split(",");
  888. var recvnm_list;
  889. if(precvnm_list != null && precvnm_list.length >0){
  890. recvnm_list = precvnm_list.split(",");
  891. }
  892. model.removeNodeset(validation_node);
  893. model.removeNodeset(validation_rsltnode);
  894. model.makeNode(validation_node);
  895. model.makeNode(validation_rsltnode);
  896. var result_path = "";
  897. if (obj.elementName == "xforms:datagrid") {
  898. result_path = obj.nodeset;
  899. if (pvali_kind == "EMPLNO") { //사원번호
  900. model.makeValue(validation_node + "/" + recv_node[0], model.getValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + obj.colAttribute(obj.col,"ref")));
  901. model.makeValue(validation_node + "/" + recv_node[1], "");
  902. }
  903. else {
  904. model.makeValue(validation_node + "/" + recv_node[0], model.getValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + obj.colAttribute(obj.col,"ref")));
  905. model.makeValue(validation_node + "/" + recv_node[1], "");
  906. }
  907. }
  908. else {
  909. var node_path = obj.attribute("ref").split("/");
  910. result_path = "/root";
  911. for (var i = 2 ; i < node_path.length - 1; i++) {
  912. result_path = result_path + "/" + node_path[i];
  913. }
  914. if (pvali_kind == "EMPLNO") { //사원번호
  915. model.makeValue(validation_node + "/" + recv_node[0], model.getValue(obj.attribute("ref")));
  916. model.makeValue(validation_node + "/" + recv_node[1], "");
  917. }
  918. else {
  919. model.makeValue(validation_node + "/" + recv_node[1], model.getValue(obj.attribute("ref")));
  920. model.makeValue(validation_node + "/" + recv_node[0], "");
  921. }
  922. }
  923. model.makeValue(validation_node + "/rregno", "");
  924. model.makeValue(validation_node + "/unitcd", "");
  925. model.makeValue(validation_node + "/instcd", "");
  926. model.makeValue(validation_node + "/systemflag", "");
  927. if (pdutinstyn == null) {
  928. model.makeValue(validation_node + "/dutinstyn", "");
  929. }
  930. else {
  931. model.makeValue(validation_node + "/dutinstyn", pdutinstyn);
  932. }
  933. if ((model.getValue(validation_node + "/" + recv_node[0]) == null || model.getValue(validation_node + "/" + recv_node[0]) == "") &&
  934. (model.getValue(validation_node + "/" + recv_node[1]) == null || model.getValue(validation_node + "/" + recv_node[1]) == "")) {
  935. for (var i = 0; i < recv_node.length; i++) {
  936. if (obj.elementName == "xforms:datagrid") {
  937. model.setValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + recv_node[i], "");
  938. }
  939. else {
  940. model.setValue(result_path + "/" + recv_node[i], "");
  941. }
  942. }
  943. return;
  944. }
  945. model.removeChild("TRRPZ00102");
  946. model.createChild("xforms:submission", "id:TRRPZ00102;mediatype:application/x-www-form-urlencoded; method:post; ref:" + validation_node + "; resultref:" + validation_rsltnode + "; ");
  947. submit("TRRPZ00102");
  948. var rslt_node = new Array();
  949. var node = instance1.selectNodes(validation_rsltnode + "/empllist" + "/*");
  950. for (var j = 0; j < node.length; j++) {
  951. if (obj.elementName == "xforms:datagrid") {
  952. rslt_node[j] = model.getValue(validation_rsltnode + "/empllist" + "[1]/" + node.item(j).nodeName);
  953. }
  954. else {
  955. rslt_node[j] = model.getValue(validation_rsltnode + "/empllist" + "/" + node.item(j).nodeName);
  956. }
  957. }
  958. var node1 = instance1.selectNodes(validation_rsltnode + "/*");
  959. if (node1.length != 1) {
  960. model.removeNodeset("/root/source/validation");
  961. model.makeNode("/root/source/validation")
  962. model.copyNode("/root/source/validation", validation_rsltnode);
  963. rpbfOpenPopUpList("SPRPB00101", obj, precv_list,"","N","",precvnm_list);
  964. }
  965. else {
  966. for (var i = 0; i < recv_node.length; i++) {
  967. for (var j = 0; j < node.length; j++) {
  968. if(precvnm_list != null && precvnm_list.length >0){
  969. if (recvnm_list[i] == node.item(j).nodeName) {
  970. if (obj.elementName == "xforms:datagrid") {
  971. model.setValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + recv_node[i],
  972. model.getValue(validation_rsltnode + "/empllist" + "[1]/" + node.item(j).nodeName));
  973. }
  974. else {
  975. model.setValue(result_path + "/" + recv_node[i],
  976. model.getValue(validation_rsltnode + "/empllist" + "/" + node.item(j).nodeName));
  977. }
  978. }
  979. }
  980. else
  981. {
  982. if (recv_node[i] == node.item(j).nodeName) {
  983. if (obj.elementName == "xforms:datagrid") {
  984. model.setValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + recv_node[i],
  985. model.getValue(validation_rsltnode + "/empllist" + "[1]/" + node.item(j).nodeName));
  986. }
  987. else {
  988. model.setValue(result_path + "/" + recv_node[i],
  989. model.getValue(validation_rsltnode + "/empllist" + "/" + node.item(j).nodeName));
  990. }
  991. }
  992. }
  993. }
  994. }
  995. }
  996. }
  997. /*--------------------------------------------------------------------------------------
  998. * 과정별 교육 차수 List 콤보 설정.
  999. * 2008.06.16 월요일 ...송광호...
  1000. * pControl : 컨트롤 id
  1001. * pAppyy : 적용년도
  1002. * pEduccd : 교육코드
  1003. * pInstcd : 교육 주체기관 코드
  1004. * pAllyn : 컨트롤에 전체 추가 구분("Y","N")
  1005. --------------------------------------------------------------------------------------*/
  1006. function rpsRTEducDGListComboList(pControl, pAppyy, pEduccd, pInstcd, pAllYN)
  1007. {
  1008. var control = pControl.split(".");
  1009. var comcd_node = "/root/send/rtsend";
  1010. var comcd_rsltnode = "/root/init/" + control[0] + "/educdglist";
  1011. model.removeNodeset(comcd_node);
  1012. model.makeValue(comcd_node + "/appyy", pAppyy);
  1013. model.makeValue(comcd_node + "/educcd", pEduccd);
  1014. model.makeValue(comcd_node + "/instcd", pInstcd);
  1015. model.makeNode(comcd_rsltnode);
  1016. var obj = document.controls(control[0]);
  1017. if (obj != null && obj.elementName == "xforms:datagrid")
  1018. {
  1019. obj = document.controls(obj.colAttribute(obj.colRef(control[1]), "id"));
  1020. }
  1021. obj.choices.itemset.attribute("nodeset") = comcd_rsltnode;
  1022. obj.choices.itemset.label.attribute("ref") = "label";
  1023. obj.choices.itemset.value.attribute("ref") = "value";
  1024. model.removeChild("TRRPS90103");
  1025. model.createChild("xforms:submission", "id:TRRPS90103;mediatype:application/x-www-form-urlencoded; method:post; ref:" + comcd_node + "; resultref:" + comcd_rsltnode + "; ");
  1026. submit("TRRPS90103");
  1027. if(pAllYN == "Y")
  1028. {
  1029. rpsComboItemAdd( pControl, "전체", "", "above");
  1030. }
  1031. obj.select(0);
  1032. }