RSZ001.js 120 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268
  1. var PURCUSERAUTH_NODE = "/root/init/reqflaguth/reqauthlist";
  2. var GOODFLAGAUTH_NODE = "/root/init/goodflagauth/goodflagauthinfo";
  3. var RSCSYSINFT_NODE = "/root/init/RscsysinftLists/rscsysinftlist";
  4. var RSCSYSORDT_NODE = "/root/init/RscsysordtLists/rscsysordtlist";
  5. var drg_main_suplplcecd = "2158155746";
  6. var drg_main_suplplcenm = "보나에스(주)";
  7. var purc_main_suplplcecd = "2148759299";
  8. var purc_main_suplplcenm = "평화드림(주)";
  9. var purc_main_suplplcecd1 ="2148759299"; // 평화드림(주)
  10. var purc_main_suplplcenm1 ="평화드림(주)";
  11. var purc_main_suplplcecd2 ="2148821000"; // 하이드로메디(주)
  12. var purc_main_suplplcenm2 =" 하이드로메디(주))";
  13. var purc_main_suplplcecd3 ="2148804923"; // 평화이즈(주)
  14. var purc_main_suplplcenm3 ="평화이즈(주)";
  15. /*--------------------------------------------------------------
  16. * [2007.12.13 ]
  17. * 평화드림과 보나에스의 주거래처 코드및 명을 가져온다.( gloval variable);
  18. --------------------------------------------------------------*/
  19. function rszfGetMainCust(pval)
  20. {
  21. return pval;
  22. }
  23. //콤보에 공통코드 Setting
  24. /*
  25. pcdgrupid : 공통코드군
  26. pcontrol_name : Data를 받을 Control
  27. */
  28. function rszfComboComCdList(pcdgrupid, pcontrol_name) {
  29. var control_id = pcontrol_name.attribute("id");
  30. var comcd_node = "/root/send/comcdref";
  31. var comcd_rsltnode = "/root/init/comcd";
  32. var comcd_itemset = "/root/init/" + control_id;
  33. //resetInstanceNode는 노드가 생성된 후에 초기화 하는 작업이므로
  34. //여기서는 처음 함수 호출시 생성되어 있는 노드가 존재하지 않아
  35. //makenode로 노드 생성하는 로직으로 구현
  36. model.removeNodeset(comcd_node);
  37. model.removeNodeset(comcd_itemset);
  38. model.makeNode(comcd_node);
  39. model.makeNode(comcd_node + "/cdgrupid");
  40. model.makeNode(comcd_node + "/cdid");
  41. model.makeNode(comcd_node + "/cdnm");
  42. model.makeNode(comcd_node + "/refcond");
  43. model.makeNode(comcd_rsltnode);
  44. model.makeNode(comcd_itemset);
  45. pcontrol_name.choices.itemset.attribute("nodeset") = comcd_itemset+"/comcdlist";
  46. pcontrol_name.choices.itemset.label.attribute("ref") = "cdnm";
  47. pcontrol_name.choices.itemset.value.attribute("ref") = "cdid";
  48. model.setValue(comcd_node + "/cdgrupid", pcdgrupid);
  49. model.setValue(comcd_node + "/cdid","%");
  50. model.setValue(comcd_node + "/cdnm","%");
  51. model.removeChild("TRRSZ00101");
  52. model.createChild("xforms:submission", "id:TRRSZ00101;mediatype:application/x-www-form-urlencoded; method:post; ref:" + comcd_node + "; resultref:" + comcd_rsltnode + "; ");
  53. submit("TRRSZ00101");
  54. model.copyNode(comcd_itemset,comcd_rsltnode);
  55. }
  56. function rszfComboLrgCdList(preqflag, preqmthd, pcontrol_name) {
  57. var control_id = pcontrol_name.attribute("id");
  58. var comcd_node = "/root/send/lrgcdref";
  59. var comcd_rsltnode = "/root/init/lrgcd";
  60. var comcd_itemset = "/root/init/" + control_id;
  61. //resetInstanceNode는 노드가 생성된 후에 초기화 하는 작업이므로
  62. //여기서는 처음 함수 호출시 생성되어 있는 노드가 존재하지 않아
  63. //makenode로 노드 생성하는 로직으로 구현
  64. model.removeNodeset(comcd_node);
  65. model.removeNodeset(comcd_itemset);
  66. model.makeNode(comcd_node);
  67. model.makeNode(comcd_node + "/reqflag");
  68. model.makeNode(comcd_node + "/reqmthd");
  69. model.makeNode(comcd_node + "/cdid");
  70. model.makeNode(comcd_node + "/cdnm");
  71. model.makeNode(comcd_node + "/refcond");
  72. model.makeNode(comcd_rsltnode);
  73. model.makeNode(comcd_itemset);
  74. pcontrol_name.choices.itemset.attribute("nodeset") = comcd_itemset+"/basevollrgcdlist";
  75. pcontrol_name.choices.itemset.label.attribute("ref") = "cdnm";
  76. pcontrol_name.choices.itemset.value.attribute("ref") = "cdid";
  77. model.setValue(comcd_node + "/reqflag", preqflag);
  78. model.setValue(comcd_node + "/reqmthd", preqmthd);
  79. model.setValue(comcd_node + "/cdid","%");
  80. model.setValue(comcd_node + "/cdnm","%");
  81. model.removeChild("TRRSD00111");
  82. model.createChild("xforms:submission", "id:TRRSD00111;mediatype:application/x-www-form-urlencoded; method:post; ref:" + comcd_node + "; resultref:" + comcd_rsltnode + "; ");
  83. submit("TRRSD00111");
  84. model.copyNode(comcd_itemset,comcd_rsltnode);
  85. }
  86. //코드 HELP 화면 OPEN-Modal
  87. /*
  88. phelp_kind : "01" - 사번조회
  89. "02" - 부서코드
  90. "03" - 공통코드
  91. "04" - 우편번호
  92. "05" - 계정코드
  93. pcontrol_name : OPEN하는 Control명(Grid,Input.....)
  94. "SPRSD00260" - 연구과제HELP. (return값은 연구과제번호, 연구명, 사원번호, 사원, 비고)
  95. pcdgrupid : 공통코드일경우 코드군 ("Z0007","R0001"...)
  96. precv_list: 리턴받을 Instance명 (마지막 Element만 ','로 분리)
  97. pdefault_node : 부모 윈도우에서 넘어오는 칼럼id
  98. pdefault_value : 부모 윈도우에서 넘어오는 값
  99. pcheck_yn : 선택형 팝업창인지 아닌지를 체크
  100. */
  101. function rszfOpenPopUpListByWndName(pcontrol_name, pcdgrupid, precv_list , window_name, pdefault_node, pdefault_value,nodebigo) {
  102. if( precv_list != "")
  103. var recv_list = precv_list.split(",");
  104. if(pdefault_value != "" && pdefault_value != null) {
  105. var default_value = pdefault_value.split(",");
  106. }
  107. if(pdefault_node != "" && pdefault_node != null) {
  108. var pdefault_node = pdefault_node.split(",");
  109. }
  110. //send/target는 mis.js와 연계되는 부분이 있어 같이 수정하기로 함
  111. //이 인스턴스 구문 오류는 mis.js 수정후 수정
  112. var recvref_node = "/root/source/recvref";
  113. var cdgrupid_node = "/root/source/cdgrupid";
  114. var recvitem_node = "/root/source/recvitem"
  115. var default_node = "/root/source/defaultvalue";
  116. var checkyn_node = "/root/source/checkyn";
  117. //resetInstanceNode는 노드가 생성된 후에 초기화 하는 작업이므로
  118. //여기서는 처음 함수 호출시 생성되어 있는 노드가 존재하지 않아
  119. //makenode로 노드 생성하는 로직으로 구현
  120. model.removeNodeset(recvref_node);
  121. model.removeNodeset(cdgrupid_node);
  122. model.removeNodeset(recvitem_node);
  123. model.removeNodeset(default_node);
  124. model.removeNodeset(checkyn_node);
  125. model.makeNode(recvref_node);
  126. model.makeNode(cdgrupid_node);
  127. model.makeNode(recvitem_node);
  128. model.makeNode(default_node);
  129. model.makeNode(checkyn_node);
  130. if ( precv_list != "" && recv_list.length > 0 ) {
  131. for (var k = 0; k <= recv_list.length - 1; k++) {
  132. model.makeValue(recvitem_node + "/" + recv_list[k], recv_list[k]);
  133. // model.setValue("/root/source/recvitem/" + recv_list[k],recv_list[k] );
  134. }
  135. }
  136. var obj = null;
  137. if (pcontrol_name.elementName == "xforms:datagrid") {
  138. //grid에서 호출하였을 경우
  139. pcontrol_name.endEditCell();
  140. if(pdefault_value != "" && pdefault_value != null) {
  141. for (var z = 0; z < default_value.length; z++) {
  142. obj = document.controls(default_value[z]);
  143. if (obj != null && obj.elementName != "xforms:datagrid" ) {
  144. model.makeValue(default_node + "/" + pdefault_node[z] , model.getValue(obj.attribute("ref")));
  145. // model.makeValue(default_node + default_value[z] ,
  146. // model.getValue(pcontrol_name.nodeset + "[" + (pcontrol_name.row - pcontrol_name.fixedRows + 1) "/" + default_value[z]));
  147. }
  148. else {
  149. if(model.getValue(pcontrol_name.nodeset + "[" + (pcontrol_name.row - pcontrol_name.fixedRows + 1)+ "]/" + default_value[z]).length > 0)
  150. {
  151. model.makeValue(default_node + "/" + pdefault_node[z] ,
  152. model.getValue(pcontrol_name.nodeset + "[" + (pcontrol_name.row - pcontrol_name.fixedRows + 1)+ "]/" + default_value[z]));
  153. }
  154. else
  155. {
  156. model.makeValue(default_node + "/" + pdefault_node[z] ,default_value[z]);
  157. }
  158. }
  159. }
  160. }
  161. model.setValue(recvref_node ,pcontrol_name.nodeset + "[" + (pcontrol_name.row - pcontrol_name.fixedRows + 1) + "]");
  162. }
  163. else {
  164. var node_path = pcontrol_name.attribute("ref").split("/");
  165. var source_path = "/root";
  166. for (var i = 2 ; i < node_path.length - 1; i++) {
  167. source_path = source_path + "/" + node_path[i];
  168. }
  169. if(pdefault_value != "" && pdefault_value != null) {
  170. for (var z = 0; z < default_value.length; z++) {
  171. obj = document.controls(default_value[z]);
  172. if (obj != null) {
  173. model.makeValue(default_node + "/" + pdefault_node[z] , model.getValue(obj.attribute("ref")));
  174. }
  175. else {
  176. model.makeValue(default_node + "/" + pdefault_node[z] , default_value[z]);
  177. }
  178. }
  179. }
  180. model.setValue(recvref_node ,source_path);
  181. }
  182. if (pcdgrupid.length > 0 ) {
  183. model.setValue(cdgrupid_node ,pcdgrupid);
  184. }
  185. if(nodebigo != null && nodebigo.length > 0)model.makeValue(default_node +"/nodebigo",nodebigo);
  186. modal(window_name,"","","","","/root/source", "/root/target" );
  187. }
  188. // Validation Check??.
  189. /*
  190. rszfValidationCheck("TRRSD00181", "agtplcelist", "refcond,instcd,goodflag,prodcmpycd,agtplcenm","," + model.getValue(opt_instcd.attribute("ref")) +"," + model.getValue(cmb_goodflag.attribute("ref")) +"," +
  191. model.getValue(ipt_prodcmpycd.attribute("ref")) +"," + model.getValue(ipt_maincustlastsuplplce.attribute("ref")),"","maincustlastsuplplce,maincustlastsuplplcenm" ,ipt_maincustlastsuplplce,"SPRSD00180","goodflag,prodcmpycd,prodcmpynm","cmb_goodflag,ipt_prodcmpycd,opt_prodcmpynm");
  192. */
  193. function rszfValidationCheck(pmapid, pmapresultlist, pmaprefcol , pmaprefvalue,pcdgrupid, precv_list , pcontrol_name,window_name,pdefault_node, pdefault_value,nodebigo) {
  194. try
  195. {
  196. var objID = event.currentTarget;
  197. var obj = document.controls(objID);
  198. var validation_node = "/root/send/validation";
  199. var validation_rsltnode = "/root/init/main";
  200. var recv_node = precv_list.split(",");
  201. //resetInstanceNode는 노드가 생성된 후에 초기화 하는 작업이므로
  202. //여기서는 처음 함수 호출시 생성되어 있는 노드가 존재하지 않아
  203. //makenode로 노드 생성하는 로직으로 구현
  204. model.removeNodeset(validation_node);
  205. model.removeNodeset(validation_rsltnode);
  206. model.makeNode(validation_node);
  207. model.makeNode(validation_rsltnode);
  208. if(pmaprefcol != "" && pmaprefcol != null) {
  209. pmaprefcol = pmaprefcol.split(",");
  210. }
  211. if(pmaprefvalue != "" && pmaprefvalue != null) {
  212. pmaprefvalue = pmaprefvalue.split(",");
  213. }
  214. if(pmaprefcol != "" && pmaprefcol != null) {
  215. for (var z = 0; z < pmaprefcol.length; z++) {
  216. model.makeValue(validation_node + "/" + pmaprefcol[z] , pmaprefvalue[z]);
  217. }
  218. }
  219. var result_path = "";
  220. if (obj.elementName == "xforms:datagrid")result_path = obj.nodeset;
  221. else {
  222. var node_path = obj.attribute("ref").split("/");
  223. result_path = "/root";
  224. for (var i = 2 ; i < node_path.length - 1; i++) {
  225. result_path = result_path + "/" + node_path[i];
  226. }
  227. }
  228. model.removeChild(pmapid);
  229. model.createChild("xforms:submission", "id:" +pmapid + ";mediatype:application/x-www-form-urlencoded; method:post; ref:" + validation_node + "; resultref:" + validation_rsltnode + "; ");
  230. submit(pmapid);
  231. var rslt_node = new Array();
  232. var node = instance1.selectNodes(validation_rsltnode + "/" + pmapresultlist +"/*");
  233. for (var j = 0; j < node.length; j++) {
  234. if (obj.elementName == "xforms:datagrid") {
  235. rslt_node[j] = model.getValue(validation_rsltnode + "/" + pmapresultlist + "[1]/" + node.item(j).nodeName);
  236. }
  237. else {
  238. rslt_node[j] = model.getValue(validation_rsltnode + "/" + pmapresultlist + "/" + node.item(j).nodeName);
  239. }
  240. }
  241. var node1 = instance1.selectNodes(validation_rsltnode + "/*");
  242. if (node1.length != 1) {
  243. model.removeNodeset("/root/source/validation");
  244. model.makeNode("/root/source/validation")
  245. model.copyNode("/root/source/validation", validation_rsltnode);
  246. rszfOpenPopUpListByWndName(pcontrol_name, pcdgrupid, precv_list , window_name, pdefault_node, pdefault_value,nodebigo)
  247. }
  248. else {
  249. if(nodebigo != null && nodebigo == "Y")
  250. {
  251. for (var i = 0; i < recv_node.length; i++) {
  252. if (obj.elementName == "xforms:datagrid") {
  253. //if(obj.colRef(recv_node[i]) != -1)model.setValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + recv_node[i], rslt_node[i]);
  254. if(obj.colRef(recv_node[i]) != -1)model.setValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + recv_node[i], model.getValue(validation_rsltnode + "/" + pmapresultlist + "/" + recv_node[i]));
  255. }
  256. else {
  257. model.setValue(result_path + "/" + recv_node[i], rslt_node[i]);
  258. }
  259. }
  260. }
  261. else
  262. {
  263. for (var i = 0; i < recv_node.length; i++) {
  264. if (obj.elementName == "xforms:datagrid") {
  265. model.setValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + recv_node[i], rslt_node[i]);
  266. }
  267. else {
  268. model.setValue(result_path + "/" + recv_node[i], rslt_node[i]);
  269. }
  270. }
  271. }
  272. }
  273. }
  274. catch(Exception)
  275. {
  276. }
  277. }
  278. //콤보에 공통코드 Setting (사용자별 청구구분)
  279. /*
  280. pcdgrupid : 공통코드군
  281. pcontrol_name : Data를 받을 Control
  282. */
  283. function rszfReqFlagComboComCdList(puser_id,pcontrol_name,AllYn,pinst_cd,pblank) {
  284. var control_id = pcontrol_name.attribute("id");
  285. var comcd_node = "/root/send/comcdref";
  286. var comcd_rsltnode = "/root/init/reqflag";
  287. var comcd_itemset = "/root/init/" + control_id;
  288. //resetInstanceNode는 노드가 생성된 후에 초기화 하는 작업이므로
  289. //여기서는 처음 함수 호출시 생성되어 있는 노드가 존재하지 않아
  290. //makenode로 노드 생성하는 로직으로 구현
  291. model.removeNodeset(comcd_node);
  292. model.removeNodeset(comcd_itemset);
  293. model.makeNode(comcd_node);
  294. model.makeNode(comcd_node + "/userid");
  295. model.makeNode(comcd_node + "/cdid");
  296. model.makeNode(comcd_node + "/cdnm");
  297. model.makeNode(comcd_node + "/refcond");
  298. model.makeNode(comcd_node + "/instcd");
  299. model.makeNode(comcd_node + "/AllYn");
  300. model.makeNode(comcd_rsltnode);
  301. model.makeNode(comcd_itemset);
  302. pcontrol_name.choices.itemset.attribute("nodeset") = comcd_itemset+"/comcdlist";
  303. pcontrol_name.choices.itemset.label.attribute("ref") = "cdnm";
  304. pcontrol_name.choices.itemset.value.attribute("ref") = "cdid";
  305. model.setValue(comcd_node + "/AllYn", AllYn);
  306. model.setValue(comcd_node + "/instcd", pinst_cd);
  307. model.setValue(comcd_node + "/userid", puser_id);
  308. model.setValue(comcd_node + "/cdid","%");
  309. model.setValue(comcd_node + "/cdnm","%");
  310. model.removeChild("TRRSZ00102");
  311. model.createChild("xforms:submission", "id:TRRSZ00102;mediatype:application/x-www-form-urlencoded; method:post; ref:" + comcd_node + "; resultref:" + comcd_rsltnode + "; ");
  312. submit("TRRSZ00102");
  313. if(pblank != null && pblank == "Y")
  314. {
  315. model.makeValue(comcd_itemset+"/comcdlist[" +1+ "]/cdnm", "전체");
  316. model.makeValue(comcd_itemset+"/comcdlist[" +1+ "]/cdid", "");
  317. sourcenode = instance1.selectSingleNode(comcd_rsltnode);
  318. tarnode = instance1.selectSingleNode(comcd_itemset);
  319. cnt = 1;
  320. var sourcenodelist = sourcenode.childNodes;
  321. while (childNode = sourcenodelist.nextNode())
  322. {
  323. model.makeValue(comcd_itemset+"/comcdlist[" +(cnt + 1)+ "]/cdnm", childNode.getXPathString(comcd_rsltnode + "/comcdlist[" +cnt + "]/cdnm"));
  324. model.makeValue(comcd_itemset+"/comcdlist[" +(cnt + 1)+ "]/cdid", childNode.getXPathString(comcd_rsltnode + "/comcdlist[" +cnt + "]/cdid"));
  325. cnt++;
  326. }
  327. }
  328. else model.copyNode(comcd_itemset,comcd_rsltnode);
  329. if(pcontrol_name.length == 1) pcontrol_name.selectedindex= 0;
  330. }
  331. /*------------------------------------------------------------------------
  332. 청구자의 청구권한 내역을 가져온다.
  333. 청구처리,발주등에서의 처리권한은 분리해야되네...
  334. 청구는 기준테이블: RSCMREAP 인데 청구처리사용자는 RSCMREUS 이다.`
  335. [2007.12.12 ] 청구주기 추가.
  336. ------------------------------------------------------------------------*/
  337. function rszfGetPurcReqAuthInfo(pinstcd , preqflag, pdeptcd , pemplno, preqprid) {
  338. var reqaprv_node = "/root/send/reqaprv";
  339. var reqaprv_rsltnode = "/root/init/reqflaguth";
  340. //resetInstanceNode는 노드가 생성된 후에 초기화 하는 작업이므로
  341. //여기서는 처음 함수 호출시 생성되어 있는 노드가 존재하지 않아
  342. //makenode로 노드 생성하는 로직으로 구현
  343. model.removeNodeset(reqaprv_node);
  344. if(preqflag == null || preqflag.length == 0)return;
  345. model.makeNode(reqaprv_node);
  346. model.makeNode(reqaprv_node + "/instcd");
  347. model.makeNode(reqaprv_node + "/reqflag");
  348. model.makeNode(reqaprv_node + "/reqdeptcd");
  349. model.makeNode(reqaprv_node + "/emplno");
  350. model.makeNode(reqaprv_node + "/reqprid");
  351. model.makeNode(reqaprv_rsltnode);
  352. /*********test logic***************/
  353. if(pinstcd.length == 0)pinstcd = "012";
  354. if(pdeptcd.length == 0)pdeptcd = "1000000000";
  355. if(pemplno.length== 0)pemplno = "MIS";
  356. /********************************/
  357. model.setValue(reqaprv_node + "/instcd", pinstcd);
  358. model.setValue(reqaprv_node + "/reqflag", preqflag);
  359. model.setValue(reqaprv_node + "/reqdeptcd", pdeptcd);
  360. model.setValue(reqaprv_node + "/emplno", pemplno);
  361. model.setValue(reqaprv_node + "/reqprid", preqprid);
  362. model.removeChild("TRRSZ00103");
  363. model.createChild("xforms:submission", "id:TRRSZ00103;mediatype:application/x-www-form-urlencoded; method:post; ref:" + reqaprv_node + "; resultref:" + reqaprv_rsltnode + "; ");
  364. submit("TRRSZ00103");
  365. }
  366. /*------------------------------------------------------------------------
  367. 청구구분(REQFLAG) 에 대한 권한정보 instance값을 LOAD하는것 같다. HBH
  368. naming이 purc권한을 가져오는것 같다. reaflag값에 대한 권한값을 load한다.
  369. -------------------------------------------------------------------------*/
  370. function rszfGetPurcAuthInfoByCond(pnodeid)
  371. {
  372. return model.getValue(PURCUSERAUTH_NODE + "/" + pnodeid);
  373. }
  374. /*------------------------------------------------------------------------
  375. [2007.10.29 ] GoodFlag 에 대한 권한값을 load
  376. -------------------------------------------------------------------------*/
  377. function rszfGetGoodFlagAuthInfoByCond(pnodeid)
  378. {
  379. return model.getValue(GOODFLAGAUTH_NODE + "/" + pnodeid);
  380. }
  381. /*------------------------------------------------------------------------
  382. [ 2007.10.13 ]
  383. 청구구분별 불출부서 또는 불출취합부서를 가져온다.
  384. 중앙공급실물품 청구는 물품구분별 권한체크를 하지 않는다.
  385. 다른 청구프로그램은 rszfGetPurcReqAuthInfo 를 사용한다.
  386. [2007.10.29 ]
  387. 구매재고 물품청구시 "일"청구도 권한체크를 하지 않는다.
  388. ------------------------------------------------------------------------*/
  389. function rszfGetPurcReqFnlDeptcd(pinstcd , preqflag, preqdeptcd ) {
  390. var reqaprv_node = "/root/send/reqaprv";
  391. var reqaprv_rsltnode = "/root/init/reqfnldept";
  392. //resetInstanceNode는 노드가 생성된 후에 초기화 하는 작업이므로
  393. //여기서는 처음 함수 호출시 생성되어 있는 노드가 존재하지 않아
  394. //makenode로 노드 생성하는 로직으로 구현
  395. model.removeNodeset(reqaprv_node);
  396. if(preqflag == null || preqflag.length == 0)return;
  397. model.makeNode(reqaprv_node);
  398. model.makeNode(reqaprv_node + "/instcd");
  399. model.makeNode(reqaprv_node + "/reqflag");
  400. model.makeNode(reqaprv_node + "/reqdeptcd");
  401. model.makeNode(reqaprv_rsltnode);
  402. model.setValue(reqaprv_node + "/instcd", pinstcd);
  403. model.setValue(reqaprv_node + "/reqflag", preqflag);
  404. model.setValue(reqaprv_node + "/reqdeptcd", preqdeptcd);
  405. model.removeChild("TRRSZ00115");
  406. model.createChild("xforms:submission", "id:TRRSZ00115;mediatype:application/x-www-form-urlencoded; method:post; ref:" + reqaprv_node + "; resultref:" + reqaprv_rsltnode + "; ");
  407. submit("TRRSZ00115");
  408. }
  409. /*------------------------------------------------------------------------
  410. 청구분,발주처리자의 청구구분별 승인권한 내역을 가져온다.
  411. rszfGetPurcReqAuthInfo : 청구권한
  412. rszfGetReqFlagRurcAuthInfo : 발주처리권한.
  413. ------------------------------------------------------------------------*/
  414. function rszfGetReqFlagRurcAuthInfo(pinstcd , preqflag, pdeptcd , pemplno) {
  415. var reqaprv_node = "/root/send/reqaprv";
  416. var reqaprv_rsltnode = "/root/init/reqflagpurcarth";
  417. //resetInstanceNode는 노드가 생성된 후에 초기화 하는 작업이므로
  418. //여기서는 처음 함수 호출시 생성되어 있는 노드가 존재하지 않아
  419. //makenode로 노드 생성하는 로직으로 구현
  420. model.removeNodeset(reqaprv_node);
  421. if(preqflag == null || preqflag.length == 0)return;
  422. model.makeNode(reqaprv_node);
  423. model.makeNode(reqaprv_node + "/instcd");
  424. model.makeNode(reqaprv_node + "/reqflag");
  425. model.makeNode(reqaprv_node + "/reqdeptcd");
  426. model.makeNode(reqaprv_node + "/emplno");
  427. model.makeNode(reqaprv_rsltnode);
  428. /*********test logic***************/
  429. if(pinstcd.length == 0)pinstcd = "012";
  430. if(pdeptcd.length == 0)pdeptcd = "1000000000";
  431. if(pemplno.length== 0)pemplno = "MIS";
  432. /********************************/
  433. model.setValue(reqaprv_node + "/instcd", pinstcd);
  434. model.setValue(reqaprv_node + "/reqflag", preqflag);
  435. model.setValue(reqaprv_node + "/reqdeptcd", pdeptcd);
  436. model.setValue(reqaprv_node + "/emplno", pemplno);
  437. model.removeChild("TRRSZ00114");
  438. model.createChild("xforms:submission", "id:TRRSZ00114;mediatype:application/x-www-form-urlencoded; method:post; ref:" + reqaprv_node + "; resultref:" + reqaprv_rsltnode + "; ");
  439. submit("TRRSZ00114");
  440. }
  441. //콤보에 공통코드 Setting (사용자별 청구구분)
  442. /*
  443. pcdgrupid : 공통코드군
  444. pcontrol_name : Data를 받을 Control
  445. 수정 : 기타입고, 출고 프로그램에서 사용하는 코드를 분리하기 위해 각부서별 ( 구매,약국,영양) 사용FLAG 추가
  446. PURCETCCD ( 구매) , NUTETCCD ( 영양 ) , PARMETCCD ( 약국) ..........2007.8.8 황병현
  447. 사용FLAG : "E" -> ENTRY 화면에서 CALL 시
  448. "%" -> QUERY 화면에서 CALL시 ( DB값 은 'E','Q'가 있으며 'N'제외한다. )
  449. */
  450. function rszfGetPurcIOFlagList(pcontrol_name,pinst_cd,pioflag,pall,purcetccd,nutetccd,parmetccd) {
  451. var control_id = pcontrol_name.attribute("id");
  452. var comcd_node = "/root/send/comcdref";
  453. var comcd_rsltnode = "/root/init/ioflag";
  454. var comcd_itemset = "/root/init/" + control_id;
  455. //resetInstanceNode는 노드가 생성된 후에 초기화 하는 작업이므로
  456. //여기서는 처음 함수 호출시 생성되어 있는 노드가 존재하지 않아
  457. //makenode로 노드 생성하는 로직으로 구현
  458. model.removeNodeset(comcd_node);
  459. model.removeNodeset(comcd_itemset);
  460. model.makeNode(comcd_node);
  461. model.makeNode(comcd_node + "/instcd");
  462. model.makeNode(comcd_node + "/ioflag");
  463. model.makeNode(comcd_node + "/purcetccd");
  464. model.makeNode(comcd_node + "/nutetccd");
  465. model.makeNode(comcd_node + "/parmetccd");
  466. model.makeNode(comcd_rsltnode);
  467. model.makeNode(comcd_itemset);
  468. pcontrol_name.choices.itemset.attribute("nodeset") = comcd_itemset+"/comcodelist";
  469. pcontrol_name.choices.itemset.label.attribute("ref") = "cdnm";
  470. pcontrol_name.choices.itemset.value.attribute("ref") = "cdid";
  471. model.setValue(comcd_node + "/instcd", pinst_cd);
  472. model.setValue(comcd_node + "/ioflag", pioflag);
  473. model.setValue(comcd_node + "/purcetccd", purcetccd);
  474. model.setValue(comcd_node + "/nutetccd", nutetccd);
  475. model.setValue(comcd_node + "/parmetccd", parmetccd);
  476. model.removeChild("TRRSZ00104");
  477. model.createChild("xforms:submission", "id:TRRSZ00104;mediatype:application/x-www-form-urlencoded; method:post; ref:" + comcd_node + "; resultref:" + comcd_rsltnode + "; ");
  478. submit("TRRSZ00104");
  479. if(pall != null && pall == "Y")
  480. {
  481. /*
  482. model.makeValue(comcd_itemset+"/comcodelist[" +1+ "]/cdnm", "????");
  483. model.makeValue(comcd_itemset+"/comcodelist[" +1+ "]/cdid", "");
  484. sourcenode = instance1.selectSingleNode(comcd_rsltnode);
  485. tarnode = instance1.selectSingleNode(comcd_itemset);
  486. var sourcenodelist = sourcenode.childNodes;
  487. while (childNode = sourcenodelist.nextNode())tarnode.appendChild(childNode);
  488. */
  489. model.makeValue(comcd_itemset+"/comcodelist[" +1+ "]/cdnm", "전체");
  490. model.makeValue(comcd_itemset+"/comcodelist[" +1+ "]/cdid", "");
  491. sourcenode = instance1.selectSingleNode(comcd_rsltnode);
  492. tarnode = instance1.selectSingleNode(comcd_itemset);
  493. cnt = 1;
  494. var sourcenodelist = sourcenode.childNodes;
  495. while (childNode = sourcenodelist.nextNode())
  496. {
  497. model.makeValue(comcd_itemset+"/comcodelist[" +(cnt + 1)+ "]/cdnm", childNode.getXPathString(comcd_rsltnode + "/comcodelist[" +cnt + "]/cdnm"));
  498. model.makeValue(comcd_itemset+"/comcodelist[" +(cnt + 1)+ "]/cdid", childNode.getXPathString(comcd_rsltnode + "/comcodelist[" +cnt + "]/cdid"));
  499. cnt++;
  500. }
  501. }
  502. else model.copyNode(comcd_itemset,comcd_rsltnode);
  503. if(pcontrol_name.length == 1) pcontrol_name.selectedindex= 0;
  504. }
  505. //collection control blank setting
  506. //ex)rszfComboAppendBlankChild("cmb_instcd, cmb_goodflag");
  507. function rszfComboAppendBlankChild(pcontrol_name_list)
  508. {
  509. rszfComboAppendChild(pcontrol_name_list,"전체","");
  510. }
  511. //collection control append node
  512. //ex)rszfComboAppendChild("cmb_instcd, cmb_goodflag","전체","%");
  513. function rszfComboAppendChild(pcontrol_name_list,label,value)
  514. {
  515. var comcd_rsltnode = "/root/init/appendcd";
  516. var control_list = pcontrol_name_list.split(",");
  517. for (var i = 0; i < control_list.length; i++) {
  518. var control_id = control_list[i];
  519. var control = control_id.split(".");
  520. var obj = document.controls(control[0]);
  521. var lblnm = obj.choices.itemset.label.attribute("ref")
  522. var valnm = obj.choices.itemset.value.attribute("ref");
  523. //resetInstanceNode는 노드가 생성된 후에 초기화 하는 작업이므로
  524. //여기서는 처음 함수 호출시 생성되어 있는 노드가 존재하지 않아
  525. //makenode로 노드 생성하는 로직으로 구현
  526. model.removeNodeset(comcd_rsltnode);
  527. model.makeNode(comcd_rsltnode);
  528. sourcenode = instance1.selectSingleNode(comcd_rsltnode);
  529. tarparnode = instance1.selectSingleNode(obj.choices.itemset.attribute("nodeset")).parentNode;
  530. var parnodename = tarparnode.nodename;
  531. model.copynode( sourcenode, tarparnode);
  532. model.removeNodeset(obj.choices.itemset.attribute("nodeset"));
  533. model.makeValue(obj.choices.itemset.attribute("nodeset") + "[1]/" + lblnm, label);
  534. model.makeValue(obj.choices.itemset.attribute("nodeset") + "[1]/" + valnm,value);
  535. tarnode = instance1.selectSingleNode(obj.choices.itemset.attribute("nodeset"));
  536. cnt = 1;
  537. var sourcenodelist = sourcenode.childNodes;
  538. while (childNode = sourcenodelist.nextNode())
  539. {
  540. model.makeValue(obj.choices.itemset.attribute("nodeset") +"[" +(cnt + 1)+ "]/" + lblnm, childNode.getXPathString(comcd_rsltnode + "/" + parnodename + "[" +cnt + "]/" + lblnm));
  541. model.makeValue(obj.choices.itemset.attribute("nodeset") +"[" +(cnt + 1)+ "]/" + valnm, childNode.getXPathString(comcd_rsltnode + "/" + parnodename + "[" +cnt + "]/" + valnm));
  542. cnt++;
  543. }
  544. }
  545. for (var i = 0; i < control_list.length; i++) {
  546. var control_id = control_list[i];
  547. var control = control_id.split(".");
  548. var obj = document.controls(control[0]);
  549. if(obj != null && obj.length == 1) obj.selectedindex= 0;
  550. }
  551. }
  552. function rszfUserInstList(pcontrol_name,pemplno,pall)
  553. {
  554. //TEST LOGIC
  555. if(pemplno == null || pemplno.length == 0)pemplno ="12345678";
  556. var control_id = pcontrol_name.attribute("id");
  557. var comcd_node = "/root/send/comcdref";
  558. var comcd_rsltnode = "/root/init/comcd";
  559. var comcd_itemset = "/root/init/" + control_id;
  560. //resetInstanceNode는 노드가 생성된 후에 초기화 하는 작업이므로
  561. //여기서는 처음 함수 호출시 생성되어 있는 노드가 존재하지 않아
  562. //makenode로 노드 생성하는 로직으로 구현
  563. model.removeNodeset(comcd_node);
  564. model.removeNodeset(comcd_itemset);
  565. model.makeNode(comcd_node);
  566. model.makeNode(comcd_node + "/emplno");
  567. model.makeNode(comcd_rsltnode);
  568. model.makeNode(comcd_itemset);
  569. pcontrol_name.choices.itemset.attribute("nodeset") = comcd_itemset+"/comcodelist";
  570. pcontrol_name.choices.itemset.label.attribute("ref") = "cdnm";
  571. pcontrol_name.choices.itemset.value.attribute("ref") = "cdid";
  572. model.setValue(comcd_node + "/emplno",pemplno);
  573. model.removeChild("TRRSZ00105");
  574. model.createChild("xforms:submission", "id:TRRSZ00105;mediatype:application/x-www-form-urlencoded; method:post; ref:" + comcd_node + "; resultref:" + comcd_rsltnode + "; ");
  575. submit("TRRSZ00105");
  576. if(pall != null && pall == "Y")
  577. {
  578. /*
  579. model.makeValue(comcd_itemset+"/comcodelist[" +1+ "]/cdnm", "전체");
  580. model.makeValue(comcd_itemset+"/comcodelist[" +1+ "]/cdid", "");
  581. sourcenode = instance1.selectSingleNode(comcd_rsltnode);
  582. tarnode = instance1.selectSingleNode(comcd_itemset);
  583. var sourcenodelist = sourcenode.childNodes;
  584. while (childNode = sourcenodelist.nextNode())tarnode.appendChild(childNode);
  585. */
  586. model.makeValue(comcd_itemset+"/comcodelist[" +1+ "]/cdnm", "전체");
  587. model.makeValue(comcd_itemset+"/comcodelist[" +1+ "]/cdid", "");
  588. sourcenode = instance1.selectSingleNode(comcd_rsltnode);
  589. tarnode = instance1.selectSingleNode(comcd_itemset);
  590. cnt = 1;
  591. var sourcenodelist = sourcenode.childNodes;
  592. while (childNode = sourcenodelist.nextNode())
  593. {
  594. model.makeValue(comcd_itemset+"/comcodelist[" +(cnt + 1)+ "]/cdnm", childNode.getXPathString(comcd_rsltnode + "/comcodelist[" +cnt + "]/cdnm"));
  595. model.makeValue(comcd_itemset+"/comcodelist[" +(cnt + 1)+ "]/cdid", childNode.getXPathString(comcd_rsltnode + "/comcodelist[" +cnt + "]/cdid"));
  596. cnt++;
  597. }
  598. }
  599. else model.copyNode(comcd_itemset,comcd_rsltnode);
  600. if(pcontrol_name.length == 1) pcontrol_name.selectedindex= 0;
  601. }
  602. /*----------------------------------------------------------------------
  603. [2007.10.29 ] : 사용자별 권한이 있는 물품구분 LIST 조회한다.
  604. 사용자와 무관한게 프로그램별 물품구분을 조회하는걸 추가
  605. 그이름하여 purcGoodFlagList (pcontrol_name,pall)
  606. ----------------------------------------------------------------------*/
  607. function rszfUserGoodFlagList(pcontrol_name,pemplno,pall)
  608. {
  609. //TEST LOGIC
  610. if(pemplno == null || pemplno.length == 0)pemplno ="12345678";
  611. var control_id = pcontrol_name.attribute("id");
  612. var comcd_node = "/root/send/comcdref";
  613. var comcd_rsltnode = "/root/init/comcd";
  614. var comcd_itemset = "/root/init/" + control_id;
  615. //resetInstanceNode는 노드가 생성된 후에 초기화 하는 작업이므로
  616. //여기서는 처음 함수 호출시 생성되어 있는 노드가 존재하지 않아
  617. //makenode로 노드 생성하는 로직으로 구현
  618. model.removeNodeset(comcd_node);
  619. model.removeNodeset(comcd_itemset);
  620. model.makeNode(comcd_node);
  621. model.makeNode(comcd_node + "/emplno");
  622. model.makeNode(comcd_rsltnode);
  623. model.makeNode(comcd_itemset);
  624. pcontrol_name.choices.itemset.attribute("nodeset") = comcd_itemset+"/comcodelist";
  625. pcontrol_name.choices.itemset.label.attribute("ref") = "cdnm";
  626. pcontrol_name.choices.itemset.value.attribute("ref") = "cdid";
  627. model.setValue(comcd_node + "/emplno",pemplno);
  628. model.removeChild("TRRSZ00106");
  629. model.createChild("xforms:submission", "id:TRRSZ00106;mediatype:application/x-www-form-urlencoded; method:post; ref:" + comcd_node + "; resultref:" + comcd_rsltnode + "; ");
  630. submit("TRRSZ00106");
  631. if(pall != null && pall == "Y")
  632. {
  633. /*
  634. model.makeValue(comcd_itemset+"/comcodelist[" +1+ "]/cdnm", "전체");
  635. model.makeValue(comcd_itemset+"/comcodelist[" +1+ "]/cdid", "");
  636. sourcenode = instance1.selectSingleNode(comcd_rsltnode);
  637. tarnode = instance1.selectSingleNode(comcd_itemset);
  638. var sourcenodelist = sourcenode.childNodes;
  639. while (childNode = sourcenodelist.nextNode())tarnode.appendChild(childNode);
  640. */
  641. model.makeValue(comcd_itemset+"/comcodelist[" +1+ "]/cdnm", "전체");
  642. model.makeValue(comcd_itemset+"/comcodelist[" +1+ "]/cdid", "");
  643. sourcenode = instance1.selectSingleNode(comcd_rsltnode);
  644. tarnode = instance1.selectSingleNode(comcd_itemset);
  645. cnt = 1;
  646. var sourcenodelist = sourcenode.childNodes;
  647. while (childNode = sourcenodelist.nextNode())
  648. {
  649. model.makeValue(comcd_itemset+"/comcodelist[" +(cnt + 1)+ "]/cdnm", childNode.getXPathString(comcd_rsltnode + "/comcodelist[" +cnt + "]/cdnm"));
  650. model.makeValue(comcd_itemset+"/comcodelist[" +(cnt + 1)+ "]/cdid", childNode.getXPathString(comcd_rsltnode + "/comcodelist[" +cnt + "]/cdid"));
  651. cnt++;
  652. }
  653. }
  654. else model.copyNode(comcd_itemset,comcd_rsltnode);
  655. if(pcontrol_name.length == 1) pcontrol_name.selectedindex= 0;
  656. }
  657. /*----------------------------------------------------------------------
  658. [2007.10.29 ] : 사용자와 무관한게 프로그램별 물품구분을 조회하는걸 추가
  659. : 권한과 무관하다..
  660. ----------------------------------------------------------------------*/
  661. function rszfGoodFlagListByPgmGubn(pcontrol_name,ppurcpgmgubn,pall)
  662. {
  663. var control_id = pcontrol_name.attribute("id");
  664. var comcd_node = "/root/send/comcdref";
  665. var comcd_rsltnode = "/root/init/comcd";
  666. var comcd_itemset = "/root/init/" + control_id;
  667. //resetInstanceNode는 노드가 생성된 후에 초기화 하는 작업이므로
  668. //여기서는 처음 함수 호출시 생성되어 있는 노드가 존재하지 않아
  669. //makenode로 노드 생성하는 로직으로 구현
  670. model.removeNodeset(comcd_node);
  671. model.removeNodeset(comcd_itemset);
  672. model.makeNode(comcd_node);
  673. model.makeNode(comcd_node + "/purcpgmgubn");
  674. model.makeNode(comcd_rsltnode);
  675. model.makeNode(comcd_itemset);
  676. pcontrol_name.choices.itemset.attribute("nodeset") = comcd_itemset+"/goodflaglist";
  677. pcontrol_name.choices.itemset.label.attribute("ref") = "goodflagnm";
  678. pcontrol_name.choices.itemset.value.attribute("ref") = "goodflag";
  679. model.setValue(comcd_node + "/purcpgmgubn",ppurcpgmgubn);
  680. model.removeChild("TRRSZ00116");
  681. model.createChild("xforms:submission", "id:TRRSZ00116;mediatype:application/x-www-form-urlencoded; method:post; ref:" + comcd_node + "; resultref:" + comcd_rsltnode + "; ");
  682. submit("TRRSZ00116");
  683. if(pall != null && pall == "Y")
  684. {
  685. model.makeValue(comcd_itemset+"/goodflaglist[" +1+ "]/goodflagnm", "전체");
  686. model.makeValue(comcd_itemset+"/goodflaglist[" +1+ "]/goodflag", "");
  687. sourcenode = instance1.selectSingleNode(comcd_rsltnode);
  688. tarnode = instance1.selectSingleNode(comcd_itemset);
  689. cnt = 1;
  690. var sourcenodelist = sourcenode.childNodes;
  691. while (childNode = sourcenodelist.nextNode())
  692. {
  693. model.makeValue(comcd_itemset+"/goodflaglist[" +(cnt + 1)+ "]/goodflagnm", childNode.getXPathString(comcd_rsltnode + "/goodflaglist[" +cnt + "]/goodflagnm"));
  694. model.makeValue(comcd_itemset+"/goodflaglist[" +(cnt + 1)+ "]/goodflag", childNode.getXPathString(comcd_rsltnode + "/goodflaglist[" +cnt + "]/goodflag"));
  695. cnt++;
  696. }
  697. }
  698. else model.copyNode(comcd_itemset,comcd_rsltnode);
  699. if(pcontrol_name.length == 1) pcontrol_name.selectedindex= 0;
  700. }
  701. /*------------------------------------------------------------------------
  702. [2007.10.29 HBH ] 기관별,사용자별,물품구분별 권한을 가져온다. (MIS.RSCMGGBN)
  703. ------------------------------------------------------------------------*/
  704. function rszfGetPurcGoodFlagAuthInfo(pinstcd , pgoodflag, pemplno, plrgcd) {
  705. var goodflagaprv_node = "/root/send/goodflagaprv";
  706. var goodflagaprv_rsltnode = "/root/init/goodflagauth";
  707. //resetInstanceNode는 노드가 생성된 후에 초기화 하는 작업이므로
  708. //여기서는 처음 함수 호출시 생성되어 있는 노드가 존재하지 않아
  709. //makenode로 노드 생성하는 로직으로 구현
  710. model.removeNodeset(goodflagaprv_node);
  711. model.removeNodeset(goodflagaprv_rsltnode);
  712. model.makeNode(goodflagaprv_node);
  713. model.makeNode(goodflagaprv_node + "/instcd");
  714. model.makeNode(goodflagaprv_node + "/goodflag");
  715. model.makeNode(goodflagaprv_node + "/emplno");
  716. model.makeNode(goodflagaprv_node + "/lrgcd");
  717. model.makeNode(goodflagaprv_rsltnode);
  718. model.setValue(goodflagaprv_node + "/instcd", pinstcd);
  719. model.setValue(goodflagaprv_node + "/goodflag", pgoodflag);
  720. model.setValue(goodflagaprv_node + "/emplno", pemplno);
  721. model.setValue(goodflagaprv_node + "/lrgcd", plrgcd);
  722. model.removeChild("TRRSZ00117");
  723. model.createChild("xforms:submission", "id:TRRSZ00117;mediatype:application/x-www-form-urlencoded; method:post; ref:" + goodflagaprv_node + "; resultref:" + goodflagaprv_rsltnode + "; ");
  724. submit("TRRSZ00117");
  725. }
  726. /*--------------------------------------------------------------------------
  727. * grid용으로 만들었으나 compbo column에서도 사용함
  728. * 2007.07.22 HBH
  729. * combo sample : rszfGridComboLrgcdList("P", cmb_lrgcd, "lrgcd","Y");
  730. --------------------------------------------------------------------------*/
  731. function rszfGridComboLrgcdList(pgoodflag, pgrid_name, pcolumn_id, pall)
  732. {
  733. var control_id = pgrid_name.attribute("id");
  734. var comcd_node = "/root/send/comcdref";
  735. var comcd_rsltnode = "/root/init/comcd";
  736. var comcd_itemset = "/root/init/" + control_id + "/" + pcolumn_id;
  737. //resetInstanceNode는 노드가 생성된 후에 초기화 하는 작업이므로
  738. //여기서는 처음 함수 호출시 생성되어 있는 노드가 존재하지 않아
  739. //makenode로 노드 생성하는 로직으로 구현
  740. model.removeNodeset(comcd_node);
  741. model.removeNodeset(comcd_itemset);
  742. model.makeNode(comcd_node);
  743. model.makeNode(comcd_node + "/goodflag");
  744. model.makeNode(comcd_node + "/lrgcd");
  745. model.makeNode(comcd_node + "/lrgnm");
  746. model.makeNode(comcd_node + "/refcond");
  747. model.makeNode(comcd_rsltnode);
  748. model.makeNode(comcd_itemset);
  749. if (pgrid_name.elementName == "xforms:datagrid")
  750. {
  751. var column_id = pgrid_name.colattribute(column_no, "id");
  752. var column_no = pgrid_name.colRef(pcolumn_id);
  753. var column_name = pgrid_name.colAttribute(column_no, "id");
  754. var column_obj = document.controls(column_name);
  755. column_obj.choices.itemset.attribute("nodeset") = comcd_itemset+"/lrgcdlist";
  756. column_obj.choices.itemset.label.attribute("ref") = "lrgnm";
  757. column_obj.choices.itemset.value.attribute("ref") = "lrgcd";
  758. }
  759. else {
  760. pgrid_name.choices.itemset.attribute("nodeset") = comcd_itemset+"/lrgcdlist";
  761. pgrid_name.choices.itemset.label.attribute("ref") = "lrgnm";
  762. pgrid_name.choices.itemset.value.attribute("ref") = "lrgcd";
  763. }
  764. model.setValue(comcd_node + "/goodflag", pgoodflag);
  765. model.setValue(comcd_node + "/lrgcd","%");
  766. model.setValue(comcd_node + "/lrgnm","%");
  767. model.removeChild("TRRSZ00107");
  768. model.createChild("xforms:submission", "id:TRRSZ00107;mediatype:application/x-www-form-urlencoded; method:post; ref:" + comcd_node + "; resultref:" + comcd_rsltnode + "; ");
  769. submit("TRRSZ00107");
  770. if(pall != null && pall == "Y")
  771. {
  772. /*
  773. model.makeValue(comcd_itemset+"/comcodelist[" +1+ "]/cdnm", "????");
  774. model.makeValue(comcd_itemset+"/comcodelist[" +1+ "]/cdid", "");
  775. sourcenode = instance1.selectSingleNode(comcd_rsltnode);
  776. tarnode = instance1.selectSingleNode(comcd_itemset);
  777. var sourcenodelist = sourcenode.childNodes;
  778. while (childNode = sourcenodelist.nextNode())tarnode.appendChild(childNode);
  779. */
  780. model.makeValue(comcd_itemset+"/lrgcdlist[" +1+ "]/lrgnm", "전체");
  781. model.makeValue(comcd_itemset+"/lrgcdlist[" +1+ "]/lrgcd", "");
  782. sourcenode = instance1.selectSingleNode(comcd_rsltnode);
  783. tarnode = instance1.selectSingleNode(comcd_itemset);
  784. cnt = 1;
  785. var sourcenodelist = sourcenode.childNodes;
  786. while (childNode = sourcenodelist.nextNode())
  787. {
  788. model.makeValue(comcd_itemset+"/lrgcdlist[" +(cnt + 1)+ "]/lrgnm", childNode.getXPathString(comcd_rsltnode + "/lrgcdlist[" +cnt + "]/lrgnm"));
  789. model.makeValue(comcd_itemset+"/lrgcdlist[" +(cnt + 1)+ "]/lrgcd", childNode.getXPathString(comcd_rsltnode + "/lrgcdlist[" +cnt + "]/lrgcd"));
  790. cnt++;
  791. }
  792. }
  793. else
  794. model.copyNode(comcd_itemset,comcd_rsltnode);
  795. //if(pcontrol_name.length == 1) pcontrol_name.selectedindex= 0;
  796. }
  797. /**----------------------------------------------------------------
  798. 1. 해당 기관의 가능 청구권한을 가진 청구구분 가져오기
  799. * 재정의 : 청구프로그램에서의 기관(INSTCD)별 청구구분 가져오기
  800. 기존에 발주 프로그램에서도 같이사용하며 기준테이블이 애매헤서 청리함
  801. 2007.09.26 추석마지막날 HBH
  802. 수정: 1. 기준TABLE 이 잘못됨. MIS.RSCMREUS -> RSCMREAP
  803. 2. 청구구분 마스터중 프로그램별 구분자 ( 물품청구,약품,CSR등의 구분이 필요)
  804. :preqpgmgubn 추가.
  805. 수정2 :1. pmainpgmgubn 추가 ( "C': 청구(default), "B" : 구매승인 및 발주 )
  806. : 청구프로그램 에서 조회되는 내역은 RSCMREAP 를기준으로한다.
  807. : 청구접수및 발주프로그램에서는 RSCMREUS 를 기준으로 한다.
  808. 수정1,2는 청구프로그램에서 처리오류 및 발주처리에서의 같이사용을 목적으로 수정한다.
  809. [ 수정 2007.10.12 HBH ]
  810. 중앙공급실 프로그램에서는 사용자별 권한체크를 하지 않는다.
  811. pemplno = '' 로 셋팅합니다.
  812. ------------------------------------------------------------------*/
  813. function rszfUserReqFlagList(pcontrol_name,pinstcd,pemplno,preqpgmgubn,pmainpgmgubn)
  814. {
  815. //TEST LOGIC
  816. //if(pemplno == null || pemplno.length == 0)pemplno ="12345678";
  817. if(pinstcd == null || pinstcd == 0)pinstcd ="012";
  818. if(preqpgmgubn == null || preqpgmgubn.length == 0)preqpgmgubn ="%";
  819. if(pmainpgmgubn == null || pmainpgmgubn.length == 0)pmainpgmgubn ="C";
  820. var control_id = pcontrol_name.attribute("id");
  821. var comcd_node = "/root/send/reqflagref";
  822. var comcd_rsltnode = "/root/init/reqflag";
  823. var comcd_itemset = "/root/init/" + control_id;
  824. //resetInstanceNode는 노드가 생성된 후에 초기화 하는 작업이므로
  825. //여기서는 처음 함수 호출시 생성되어 있는 노드가 존재하지 않아
  826. //makenode로 노드 생성하는 로직으로 구현
  827. model.removeNodeset(comcd_node);
  828. model.removeNodeset(comcd_itemset);
  829. model.makeNode(comcd_node);
  830. model.makeNode(comcd_node + "/instcd");
  831. model.makeNode(comcd_node + "/emplno");
  832. model.makeNode(comcd_node + "/reqpgmgubn");
  833. model.makeNode(comcd_node + "/mainpgmgubn");
  834. model.makeNode(comcd_rsltnode);
  835. model.makeNode(comcd_itemset);
  836. pcontrol_name.choices.itemset.attribute("nodeset") = comcd_itemset+"/reqflaglist";
  837. pcontrol_name.choices.itemset.label.attribute("ref") = "reqflagnm";
  838. pcontrol_name.choices.itemset.value.attribute("ref") = "reqflag";
  839. model.setValue(comcd_node + "/instcd",pinstcd);
  840. model.setValue(comcd_node + "/emplno",pemplno);
  841. model.setValue(comcd_node + "/reqpgmgubn",preqpgmgubn);
  842. model.setValue(comcd_node + "/mainpgmgubn",pmainpgmgubn);
  843. model.removeChild("TRRSZ00108");
  844. model.createChild("xforms:submission", "id:TRRSZ00108;mediatype:application/x-www-form-urlencoded; method:post; ref:" + comcd_node + "; resultref:" + comcd_rsltnode + "; ");
  845. submit("TRRSZ00108");
  846. model.copyNode(comcd_itemset,comcd_rsltnode);
  847. if(pcontrol_name.length == 1) pcontrol_name.selectedindex= 0;
  848. }
  849. /**----------------------------------------------------------------
  850. 1. 청구권한자의 INSTCD DATA LOAD
  851. * 재정의 : 청구프로그램에서의 기관(INSTCD)별 청구구분 가져오기
  852. 기존에 발주 프로그램에서도 같이사용하며 기준테이블이 애매헤서 청리함
  853. 2007.09.26 추석마지막날 HBH
  854. 수정1: 1. 기준TABLE 이 잘못됨. MIS.RSCMREUS -> RSCMREAP
  855. 2. 청구구분 마스터중 프로그램별 구분자 ( 물품청구,약품,CSR등의 구분이 필요)
  856. :preqpgmgubn 추가. ( default : '%')
  857. 수정2 :1. pmainpgmgubn 추가 ( "C': 청구(default), "B" : 구매승인 및 발주 )
  858. : 청구프로그램 에서 조회되는 내역은 RSCMREAP 를기준으로한다.
  859. : 청구접수및 발주프로그램에서는 RSCMREUS 를 기준으로 한다.
  860. 수정1,2는 청구프로그램에서 처리오류 및 발주처리에서의 같이사용을 목적으로 수정한다.
  861. ------------------------------------------------------------------*/
  862. function rszfUserReqInstList(pcontrol_name,pemplno,preqpgmgubn, pmainpgmgubn)
  863. {
  864. //TEST LOGIC
  865. if(pemplno == null || pemplno.length == 0)pemplno ="12345678";
  866. if(preqpgmgubn == null || preqpgmgubn.length == 0)preqpgmgubn ="%";
  867. if(pmainpgmgubn == null || pmainpgmgubn.length == 0)pmainpgmgubn ="C";
  868. var control_id = pcontrol_name.attribute("id");
  869. var comcd_node = "/root/send/reqinstref";
  870. var comcd_rsltnode = "/root/init/reqinst";
  871. var comcd_itemset = "/root/init/" + control_id;
  872. //resetInstanceNode는 노드가 생성된 후에 초기화 하는 작업이므로
  873. //여기서는 처음 함수 호출시 생성되어 있는 노드가 존재하지 않아
  874. //makenode로 노드 생성하는 로직으로 구현
  875. model.removeNodeset(comcd_node);
  876. model.removeNodeset(comcd_itemset);
  877. model.makeNode(comcd_node);
  878. model.makeNode(comcd_node + "/emplno");
  879. model.makeNode(comcd_node + "/reqpgmgubn");
  880. model.makeNode(comcd_node + "/mainpgmgubn");
  881. model.makeNode(comcd_rsltnode);
  882. model.makeNode(comcd_itemset);
  883. pcontrol_name.choices.itemset.attribute("nodeset") = comcd_itemset+"/reqinstlist";
  884. pcontrol_name.choices.itemset.label.attribute("ref") = "instnm";
  885. pcontrol_name.choices.itemset.value.attribute("ref") = "instcd";
  886. model.setValue(comcd_node + "/emplno",pemplno);
  887. model.setValue(comcd_node + "/reqpgmgubn",preqpgmgubn);
  888. model.setValue(comcd_node + "/mainpgmgubn",pmainpgmgubn);
  889. model.removeChild("TRRSZ00109");
  890. model.createChild("xforms:submission", "id:TRRSZ00109;mediatype:application/x-www-form-urlencoded; method:post; ref:" + comcd_node + "; resultref:" + comcd_rsltnode + "; ");
  891. submit("TRRSZ00109");
  892. model.copyNode(comcd_itemset,comcd_rsltnode);
  893. if(pcontrol_name.length == 1) pcontrol_name.selectedindex= 0;
  894. }
  895. /*-------------------------------------------------------------------------
  896. // 물품구분별 재고관리부서를 가져완다 ( RSCMWRHS )
  897. // 2007.07.30 .
  898. -------------------------------------------------------------------------*/
  899. function rszfComboStockArthDeptcdList(pcontrol_name,pinstcd,pgoodflag,pall )
  900. {
  901. var control_id = pcontrol_name.attribute("id");
  902. var comcd_node = "/root/send/deptgref";
  903. var comcd_rsltnode = "/root/init/dept";
  904. var comcd_itemset = "/root/init/" + control_id;
  905. //resetInstanceNode는 노드가 생성된 후에 초기화 하는 작업이므로
  906. //여기서는 처음 함수 호출시 생성되어 있는 노드가 존재하지 않아
  907. //makenode로 노드 생성하는 로직으로 구현
  908. model.removeNodeset(comcd_node);
  909. model.removeNodeset(comcd_itemset);
  910. model.makeNode(comcd_node);
  911. model.makeNode(comcd_node + "/instcd");
  912. model.makeNode(comcd_node + "/goodflag");
  913. model.makeNode(comcd_node + "/refcond");
  914. model.makeNode(comcd_rsltnode);
  915. model.makeNode(comcd_itemset);
  916. pcontrol_name.choices.itemset.attribute("nodeset") = comcd_itemset+"/deptcdlist";
  917. pcontrol_name.choices.itemset.label.attribute("ref") = "deptnm";
  918. pcontrol_name.choices.itemset.value.attribute("ref") = "deptcd";
  919. model.setValue(comcd_node + "/instcd",pinstcd);
  920. model.setValue(comcd_node + "/goodflag",pgoodflag);
  921. model.removeChild("TRRSZ00110");
  922. model.createChild("xforms:submission", "id:TRRSZ00110;mediatype:application/x-www-form-urlencoded; method:post; ref:" + comcd_node + "; resultref:" + comcd_rsltnode + "; ");
  923. submit("TRRSZ00110");
  924. if(pall != null && pall == "Y")
  925. {
  926. /*
  927. model.makeValue(comcd_itemset+"/comcodelist[" +1+ "]/cdnm", "????");
  928. model.makeValue(comcd_itemset+"/comcodelist[" +1+ "]/cdid", "");
  929. sourcenode = instance1.selectSingleNode(comcd_rsltnode);
  930. tarnode = instance1.selectSingleNode(comcd_itemset);
  931. var sourcenodelist = sourcenode.childNodes;
  932. while (childNode = sourcenodelist.nextNode())tarnode.appendChild(childNode);
  933. */
  934. model.makeValue(comcd_itemset+"/deptcdlist[" +1+ "]/deptnm", "전체");
  935. model.makeValue(comcd_itemset+"/deptcdlist[" +1+ "]/deptcd", "");
  936. sourcenode = instance1.selectSingleNode(comcd_rsltnode);
  937. tarnode = instance1.selectSingleNode(comcd_itemset);
  938. cnt = 1;
  939. var sourcenodelist = sourcenode.childNodes;
  940. while (childNode = sourcenodelist.nextNode())
  941. {
  942. model.makeValue(comcd_itemset+"/deptcdlist[" +(cnt + 1)+ "]/deptnm", childNode.getXPathString(comcd_rsltnode + "/deptcdlist[" +cnt + "]/deptnm"));
  943. model.makeValue(comcd_itemset+"/deptcdlist[" +(cnt + 1)+ "]/deptcd", childNode.getXPathString(comcd_rsltnode + "/deptcdlist[" +cnt + "]/deptcd"));
  944. cnt++;
  945. }
  946. }
  947. else
  948. model.copyNode(comcd_itemset,comcd_rsltnode);
  949. if(pcontrol_name.length == 1) pcontrol_name.selectedindex= 0;
  950. }
  951. /*-------------------------------------------------------------------------
  952. // 물품구분별 재고관리부서를 가져완다 data grid용 ( RSCMWRHS )
  953. // 2007.09.24
  954. // pgrid_name
  955. // pcolumn_id
  956. -------------------------------------------------------------------------*/
  957. function rszfComboGridStockArthDeptcdList(pgrid_name, pcolumn_id,pinstcd,pgoodflag )
  958. {
  959. var control_id = pgrid_name.attribute("id");
  960. var comcd_node = "/root/send/deptgref";
  961. var comcd_rsltnode = "/root/init/dept";
  962. var comcd_itemset = "/root/init/" + control_id + "/" + pcolumn_id;
  963. //resetInstanceNode는 노드가 생성된 후에 초기화 하는 작업이므로
  964. //여기서는 처음 함수 호출시 생성되어 있는 노드가 존재하지 않아
  965. //makenode로 노드 생성하는 로직으로 구현
  966. model.removeNodeset(comcd_node);
  967. model.removeNodeset(comcd_itemset);
  968. model.makeNode(comcd_node);
  969. model.makeNode(comcd_node + "/instcd");
  970. model.makeNode(comcd_node + "/goodflag");
  971. model.makeNode(comcd_node + "/refcond");
  972. model.makeNode(comcd_rsltnode);
  973. model.makeNode(comcd_itemset);
  974. if (pgrid_name.elementName == "xforms:datagrid")
  975. {
  976. var column_id = pgrid_name.colattribute(column_no, "id");
  977. var column_no = pgrid_name.colRef(pcolumn_id);
  978. var column_name = pgrid_name.colAttribute(column_no, "id");
  979. var column_obj = document.controls(column_name);
  980. column_obj.choices.itemset.attribute("nodeset") = comcd_itemset+"/deptcdlist";
  981. column_obj.choices.itemset.label.attribute("ref") = "deptnm";
  982. column_obj.choices.itemset.value.attribute("ref") = "deptcd";
  983. }
  984. else
  985. {
  986. pcontrol_name.choices.itemset.attribute("nodeset") = comcd_itemset+"/deptcdlist";
  987. pcontrol_name.choices.itemset.label.attribute("ref") = "deptnm";
  988. pcontrol_name.choices.itemset.value.attribute("ref") = "deptcd";
  989. }
  990. model.setValue(comcd_node + "/instcd",pinstcd);
  991. model.setValue(comcd_node + "/goodflag",pgoodflag);
  992. model.removeChild("TRRSZ00110");
  993. model.createChild("xforms:submission", "id:TRRSZ00110;mediatype:application/x-www-form-urlencoded; method:post; ref:" + comcd_node + "; resultref:" + comcd_rsltnode + "; ");
  994. submit("TRRSZ00110");
  995. model.copyNode(comcd_itemset,comcd_rsltnode);
  996. //if(pcontrol_name.length == 1) pcontrol_name.selectedindex= 0;
  997. }
  998. /*--------------------------------------------------------------------------------------
  999. * 중앙공급실 일자별 청구가능 청구차수를 가져온다.
  1000. * 2007.09.05
  1001. * pinstcd : 기관기호 ,
  1002. * preqdeptcd, : 청구부서 ,
  1003. * preqdd : 청구일자 ,
  1004. * pcsrreqdeptcd : CSR 청구부서구분 ( 불출프로그램에서만 의미를 갖는다.)
  1005. * pcurtm : 청구시 시간
  1006. * ppgmgubun : 청구 프로그램과 불출 프로그램에서 보여주는 데이타가 틀리다. : "C" 청구,'B'불출
  1007. * 관련 테이블 : RSCMREDE (CSR청구부서 ), RSCMCCLO ( )
  1008. ---------------------------------------------------------------------------------------*/
  1009. function rszfComboCsrReqseqList(pcontrol_name,pinstcd,preqdd,preqdeptcd,pcsrreqdeptcd,pcurtm,ppgmgubun )
  1010. {
  1011. var control_id = pcontrol_name.attribute("id");
  1012. var comcd_node = "/root/send/reqseqgref";
  1013. var comcd_rsltnode = "/root/init/reqseq";
  1014. var comcd_itemset = "/root/init/" + control_id;
  1015. //resetInstanceNode는 노드가 생성된 후에 초기화 하는 작업이므로
  1016. //여기서는 처음 함수 호출시 생성되어 있는 노드가 존재하지 않아
  1017. //makenode로 노드 생성하는 로직으로 구현
  1018. model.removeNodeset(comcd_node);
  1019. model.removeNodeset(comcd_itemset);
  1020. model.makeNode(comcd_node);
  1021. model.makeNode(comcd_node + "/instcd");
  1022. model.makeNode(comcd_node + "/reqdd");
  1023. model.makeNode(comcd_node + "/reqdeptcd");
  1024. model.makeNode(comcd_node + "/csrreqdeptcd");
  1025. model.makeNode(comcd_node + "/curtm");
  1026. model.makeNode(comcd_node + "/pgmgubun");
  1027. model.makeNode(comcd_node + "/refcond");
  1028. model.makeNode(comcd_rsltnode);
  1029. model.makeNode(comcd_itemset);
  1030. pcontrol_name.choices.itemset.attribute("nodeset") = comcd_itemset+"/reqseqlist";
  1031. pcontrol_name.choices.itemset.label.attribute("ref") = "reqseqnm";
  1032. pcontrol_name.choices.itemset.value.attribute("ref") = "reqseq";
  1033. model.setValue(comcd_node + "/instcd",pinstcd);
  1034. model.setValue(comcd_node + "/reqdd",preqdd);
  1035. model.setValue(comcd_node + "/reqdeptcd",preqdeptcd);
  1036. model.setValue(comcd_node + "/csrreqdeptcd",pcsrreqdeptcd);
  1037. model.setValue(comcd_node + "/curtm",pcurtm);
  1038. model.setValue(comcd_node + "/pgmgubun",ppgmgubun);
  1039. model.removeChild("TRRSZ00111");
  1040. model.createChild("xforms:submission", "id:TRRSZ00111;mediatype:application/x-www-form-urlencoded; method:post; ref:" + comcd_node + "; resultref:" + comcd_rsltnode + "; ");
  1041. submit("TRRSZ00111");
  1042. model.copyNode(comcd_itemset,comcd_rsltnode);
  1043. if(pcontrol_name.length == 1) pcontrol_name.selectedindex= 0;
  1044. }
  1045. /*--------------------------------------------------------------------------------------
  1046. * 예산 계정 LOAD ( RSCMBGCD)
  1047. * 2007.09.05
  1048. * pinstcd : 기관기호 ,
  1049. * 관련 테이블 : RSCMBGCD
  1050. * pgoodflag : 1 == 물품청구
  1051. 2 == 장비청구
  1052. 3 == 비품청구
  1053. ---------------------------------------------------------------------------------------*/
  1054. function rszfComboBugtList(pcontrol_name,pinstcd,pgroupid, pgoodflag)
  1055. {
  1056. pcontrol_name.value = "";
  1057. var control_id = pcontrol_name.attribute("id");
  1058. var comcd_node = "/root/send/bugtref";
  1059. var comcd_rsltnode = "/root/init/bugt";
  1060. var comcd_itemset = "/root/init/" + control_id;
  1061. //resetInstanceNode는 노드가 생성된 후에 초기화 하는 작업이므로
  1062. //여기서는 처음 함수 호출시 생성되어 있는 노드가 존재하지 않아
  1063. //makenode로 노드 생성하는 로직으로 구현
  1064. model.removeNodeset(comcd_node);
  1065. model.removeNodeset(comcd_itemset);
  1066. model.makeNode(comcd_node);
  1067. model.makeNode(comcd_node + "/instcd");
  1068. model.makeNode(comcd_node + "/refcond");
  1069. model.makeNode(comcd_rsltnode);
  1070. model.makeNode(comcd_itemset);
  1071. pcontrol_name.choices.itemset.attribute("nodeset") = comcd_itemset+"/bugtlist";
  1072. pcontrol_name.choices.itemset.label.attribute("ref") = "bugtcdnm";
  1073. pcontrol_name.choices.itemset.value.attribute("ref") = "bugtcd";
  1074. model.setValue(comcd_node + "/instcd",pinstcd);
  1075. if(pgroupid != null)
  1076. {
  1077. model.makeValue(comcd_node + "/supacntcd4",pgroupid);
  1078. }
  1079. if(pgoodflag != null)
  1080. {
  1081. model.makeValue(comcd_node + "/pgoodflag", pgoodflag);
  1082. }
  1083. model.removeChild("TRRSZ00112");
  1084. model.createChild("xforms:submission", "id:TRRSZ00112;mediatype:application/x-www-form-urlencoded; method:post; ref:" + comcd_node + "; resultref:" + comcd_rsltnode + "; ");
  1085. submit("TRRSZ00112");
  1086. model.copyNode(comcd_itemset,comcd_rsltnode);
  1087. pcontrol_name.refresh();
  1088. }
  1089. /*--------------------------------------------------------------------------------------
  1090. * 예산 계정 LOAD GRID ( RSCMBGCD)
  1091. * 2007.09.05
  1092. * pinstcd : 기관기호 ,
  1093. * 관련 테이블 : RSCMBGCD HBH
  1094. ---------------------------------------------------------------------------------------*/
  1095. function rszfGridComboBugtList(pgrid_name, pcolumn_id,pinstcd)
  1096. {
  1097. var control_id = pgrid_name.attribute("id");
  1098. var comcd_node = "/root/send/bugtref";
  1099. var comcd_rsltnode = "/root/init/bugt";
  1100. var comcd_itemset = "/root/init/" + control_id + "/" + pcolumn_id;
  1101. //resetInstanceNode는 노드가 생성된 후에 초기화 하는 작업이므로
  1102. //여기서는 처음 함수 호출시 생성되어 있는 노드가 존재하지 않아
  1103. //makenode로 노드 생성하는 로직으로 구현
  1104. model.removeNodeset(comcd_node);
  1105. model.removeNodeset(comcd_itemset);
  1106. model.makeNode(comcd_node);
  1107. model.makeNode(comcd_node + "/instcd");
  1108. model.makeNode(comcd_node + "/bugtcd");
  1109. model.makeNode(comcd_node + "/bugtcdnm");
  1110. model.makeNode(comcd_node + "/refcond");
  1111. model.makeNode(comcd_rsltnode);
  1112. model.makeNode(comcd_itemset);
  1113. if (pgrid_name.elementName == "xforms:datagrid")
  1114. {
  1115. var column_id = pgrid_name.colattribute(column_no, "id");
  1116. var column_no = pgrid_name.colRef(pcolumn_id);
  1117. var column_name = pgrid_name.colAttribute(column_no, "id");
  1118. var column_obj = document.controls(column_name);
  1119. column_obj.choices.itemset.attribute("nodeset") = comcd_itemset+"/bugtlist";
  1120. column_obj.choices.itemset.label.attribute("ref") = "bugtcdnm";
  1121. column_obj.choices.itemset.value.attribute("ref") = "bugtcd";
  1122. }
  1123. model.setValue(comcd_node + "/instcd",pinstcd);
  1124. model.setValue(comcd_node + "/bugtcd","%");
  1125. model.setValue(comcd_node + "/bugtcdnm","%");
  1126. model.removeChild("TRRSZ00112");
  1127. model.createChild("xforms:submission", "id:TRRSZ00112;mediatype:application/x-www-form-urlencoded; method:post; ref:" + comcd_node + "; resultref:" + comcd_rsltnode + "; ");
  1128. submit("TRRSZ00112");
  1129. model.copyNode(comcd_itemset,comcd_rsltnode);
  1130. //if(pcontrol_name.length == 1) pcontrol_name.selectedindex= 0;
  1131. }
  1132. /*--------------------------------------------------------------------------------------
  1133. * 기관별, 물품구분별 단위 코드 LOAD ( RSCMUNIT)
  1134. * 2007.09.18
  1135. * pinstcd : 기관기호 ,
  1136. * pgoodflag : 물품구분 ,
  1137. * 관련 테이블 : RSCMUNIT
  1138. ---------------------------------------------------------------------------------------*/
  1139. function rszfComboUnitList(pcontrol_name,pinstcd,pgoodflag)
  1140. {
  1141. var control_id = pcontrol_name.attribute("id");
  1142. var comcd_node = "/root/send/unitref";
  1143. var comcd_rsltnode = "/root/init/unit";
  1144. var comcd_itemset = "/root/init/" + control_id;
  1145. //resetInstanceNode는 노드가 생성된 후에 초기화 하는 작업이므로
  1146. //여기서는 처음 함수 호출시 생성되어 있는 노드가 존재하지 않아
  1147. //makenode로 노드 생성하는 로직으로 구현
  1148. model.removeNodeset(comcd_node);
  1149. model.removeNodeset(comcd_itemset);
  1150. model.makeNode(comcd_node);
  1151. model.makeNode(comcd_node + "/instcd");
  1152. model.makeNode(comcd_node + "/goodflag");
  1153. model.makeNode(comcd_node + "/refcond");
  1154. model.makeNode(comcd_rsltnode);
  1155. model.makeNode(comcd_itemset);
  1156. pcontrol_name.choices.itemset.attribute("nodeset") = comcd_itemset+"/unitlist";
  1157. pcontrol_name.choices.itemset.label.attribute("ref") = "unitnm";
  1158. pcontrol_name.choices.itemset.value.attribute("ref") = "unit";
  1159. model.setValue(comcd_node + "/instcd",pinstcd);
  1160. model.setValue(comcd_node + "/goodflag",pgoodflag);
  1161. model.removeChild("TRRSZ00113");
  1162. model.createChild("xforms:submission", "id:TRRSZ00113;mediatype:application/x-www-form-urlencoded; method:post; ref:" + comcd_node + "; resultref:" + comcd_rsltnode + "; ");
  1163. submit("TRRSZ00113");
  1164. model.copyNode(comcd_itemset,comcd_rsltnode);
  1165. if(pcontrol_name.length == 1) pcontrol_name.selectedindex= 0;
  1166. }
  1167. /**--------------------------------------------------------------------------------------
  1168. * 대중소 분류 Load
  1169. * 2007.11.30 금요일
  1170. * From :
  1171. * pGood_Flag : 물품구분 ,
  1172. * pLrgcd : 대분류코드 ,
  1173. * pMdlcd : 중분류코드 ,
  1174. * pSmlcd : 소분류코드 ,
  1175. * pControl_name : 컨트롤 ID 또는 그리드 컬럼 아뒤,
  1176. * pGrid_id : 그리드에 사용할시 그리드 ID 입력,
  1177. * pLMSflag : 대중소분류 Table 구분 ex> 'L' 또는'M' 또는 'S' 입력.
  1178. * pAllflag : -전체- 포함 / 미포함
  1179. * pResultFlag : 현업의 요청으로 인해 코드 명칭의 구분을 짓는다. (명칭에 코드 포함 리턴 유무 ) default : "Y"
  1180. * ex) pResultFlag = '' 또는 null 일 경우 .. code : 01 / codename : 의료소모품
  1181. pResultFlag 의 값이 존재할 경우 .. code : 01 / codename : 01 : 의료소모품
  1182. * 관련 테이블 : RSCMGUBN, RSCDGBN1, RSCDGBN2
  1183. * 한번 호출 할때마다 하나의 컨트롤만 설정됩니다.
  1184. ---------------------------------------------------------------------------------------*/
  1185. function rszfLMSComboList(pGood_flag, pLrgcd, pMdlcd, pControl_name, pGrid_id, pLMSflag, pAllflag, pResultFlag){
  1186. var sControl = document.controls(pControl_name);
  1187. var send_Node = "/root/send/lmsitem";
  1188. var result_Node = "/root/init/lmsflag/" + pLMSflag + "/" + pControl_name + "/lmslist";
  1189. model.removeNodeset(send_Node);
  1190. model.removeNodeset(result_Node);
  1191. model.refresh();
  1192. model.makeNode(send_Node);
  1193. model.makeNode(result_Node);
  1194. if(pGrid_id != null && pGrid_id.elementName == "xforms:datagrid")
  1195. {
  1196. var column_no = pGrid_id.colRef(pControl_name);
  1197. var column_name = pGrid_id.colAttribute(column_no, "id");
  1198. var sGridControl_obj = document.controls(column_name);
  1199. sGridControl_obj.choices.itemset.attribute("nodeset") = result_Node;
  1200. sGridControl_obj.choices.itemset.label.attribute("ref") = "label";
  1201. sGridControl_obj.choices.itemset.value.attribute("ref") = "value";
  1202. }else{
  1203. sControl.choices.itemset.attribute("nodeset") = result_Node;
  1204. sControl.choices.itemset.label.attribute("ref") = "label";
  1205. sControl.choices.itemset.value.attribute("ref") = "value";
  1206. }
  1207. if(pLMSflag == 'L'){
  1208. model.makeValue(send_Node + "/goodflag", pGood_flag);
  1209. }else if(pLMSflag == 'M'){
  1210. model.makeValue(send_Node + "/goodflag", pGood_flag);
  1211. model.makeValue(send_Node + "/lrgcd", pLrgcd);
  1212. }else if(pLMSflag == 'S'){
  1213. model.makeValue(send_Node + "/goodflag", pGood_flag);
  1214. model.makeValue(send_Node + "/lrgcd", pLrgcd);
  1215. model.makeValue(send_Node + "/mdlcd", pMdlcd);
  1216. }else{
  1217. messageBox("대,중,소 분류 구분자 입력 오류입니다.", "I999");
  1218. return;
  1219. }
  1220. if ( pResultFlag == "Y" )
  1221. model.makeValue(send_Node + "/resultflag", pResultFlag);
  1222. model.makeValue(send_Node + "/lmsflag", pLMSflag);
  1223. model.removeChild("TRRSZ00118");
  1224. model.createChild("xforms:submission", "id:TRRSZ00118;mediatype:application/x-www-form-urlencoded; method:post; ref:" + send_Node + "; resultref:" + result_Node + ";");
  1225. submit("TRRSZ00118");
  1226. if(pAllflag != '')
  1227. {
  1228. if(pGrid_id != null && pGrid_id.elementName == "xforms:datagrid")
  1229. {
  1230. }else
  1231. {
  1232. if(model.getValue(result_Node + "[1]/value") != '')
  1233. {
  1234. var comboObj = document.all.item(pControl_name);
  1235. // Combo ItemSet 정보
  1236. var comboItemNodeSet = comboObj.choices.itemset.attribute("nodeset");
  1237. var comboLabelRef = comboObj.choices.itemset.label.attribute("ref");
  1238. var comboValueRef = comboObj.choices.itemset.value.attribute("ref");
  1239. // Item 노드 생성
  1240. var itemNode = instance1.createNode("element", instance1.selectSingleNode(comboItemNodeSet).nodeName, "");
  1241. var labelNode = instance1.createNode("element", comboLabelRef, "");
  1242. var valueNode = instance1.createNode("element", comboValueRef, "");
  1243. if(pAllflag == 'Y'){
  1244. labelNode.value = "- 전 체 -";
  1245. itemNode.appendChild(labelNode);
  1246. valueNode.value = '';
  1247. itemNode.appendChild(valueNode);
  1248. }else if(pAllflag == 'N')
  1249. {
  1250. labelNode.value = "- Choice -";
  1251. itemNode.appendChild(labelNode);
  1252. valueNode.value = '';
  1253. itemNode.appendChild(valueNode);
  1254. }
  1255. var destNode = instance1.selectSingleNode(comboItemNodeSet);
  1256. var pDestNode = destNode.parentNode;
  1257. pDestNode.insertBefore(itemNode, destNode);
  1258. comboObj.refresh();
  1259. }
  1260. }
  1261. }
  1262. }
  1263. /*-------------------------------------------------------------------------
  1264. * [2007.12.09 ]
  1265. * 약국 보나에스 INTERFACE TABLE의 입고일자별 출고번호를 가져온다
  1266. * delivedd : 보나에스 출고일자
  1267. * winyn : 입고처리여부 'N': 미입고처리된것 . 'Y': 기입고처리된것 , '':전체
  1268. * windeptcd : 입고처리부서
  1269. -------------------------------------------------------------------------*/
  1270. function rszfComboBiDeliveNoList(pcontrol_name,pinstcd,pdelivedd,pwindeptcd,pwinyn )
  1271. {
  1272. var control_id = pcontrol_name.attribute("id");
  1273. var comcd_node = "/root/send/bidelivenogref";
  1274. var comcd_rsltnode = "/root/init/bideliveno";
  1275. var comcd_itemset = "/root/init/" + control_id;
  1276. //resetInstanceNode는 노드가 생성된 후에 초기화 하는 작업이므로
  1277. //여기서는 처음 함수 호출시 생성되어 있는 노드가 존재하지 않아
  1278. //makenode로 노드 생성하는 로직으로 구현
  1279. model.removeNodeset(comcd_node);
  1280. model.removeNodeset(comcd_itemset);
  1281. model.makeNode(comcd_node);
  1282. model.makeNode(comcd_node + "/instcd");
  1283. model.makeNode(comcd_node + "/delivedd");
  1284. model.makeNode(comcd_node + "/windeptcd");
  1285. model.makeNode(comcd_node + "/winyn");
  1286. model.makeNode(comcd_node + "/refcond");
  1287. model.makeNode(comcd_rsltnode);
  1288. model.makeNode(comcd_itemset);
  1289. pcontrol_name.choices.itemset.attribute("nodeset") = comcd_itemset+"/bidelivenolist";
  1290. pcontrol_name.choices.itemset.label.attribute("ref") = "bidelivenonm";
  1291. pcontrol_name.choices.itemset.value.attribute("ref") = "bideliveno";
  1292. model.setValue(comcd_node + "/instcd",pinstcd);
  1293. model.setValue(comcd_node + "/delivedd",pdelivedd);
  1294. model.setValue(comcd_node + "/windeptcd",pwindeptcd);
  1295. model.setValue(comcd_node + "/winyn",pwinyn);
  1296. model.removeChild("TRRSZ00119");
  1297. model.createChild("xforms:submission", "id:TRRSZ00119;mediatype:application/x-www-form-urlencoded; method:post; ref:" + comcd_node + "; resultref:" + comcd_rsltnode + "; ");
  1298. submit("TRRSZ00119");
  1299. model.copyNode(comcd_itemset,comcd_rsltnode);
  1300. // if(pcontrol_name.length == 1) pcontrol_name.selectedindex= 0;
  1301. }
  1302. /**--------------------------------------------------------------------------------------
  1303. * 청구구분별 청구주기 list
  1304. * pinstcd : 기관기호 ,
  1305. * preqflag : 청구구분
  1306. * 관련 테이블 : RSCMREPD
  1307. * grid 시 추가 : pgid_name
  1308. grid call sample : rszfComboReqPridList("reqprid", opt_instcd.value,cmb_reqflag.value,grd_reqpsnlist);
  1309. control sample : rszfComboReqPridList(cmb_reqpridflag, opt_instcd.value,cmb_reqflag.value );
  1310. * 일반 control call 하고 있는데 grid 추가함.
  1311. pgrid_name 이 null 이 들어오면 pgrid_name.elementName 에서 에로가나서 if절이 복잡해졌음.
  1312. 양해바람,..나중에 시간되면 수정함.
  1313. ---------------------------------------------------------------------------------------*/
  1314. function rszfComboReqPridList(pcontrol_name,pinstcd,preqflag, pgrid_name)
  1315. {
  1316. /*
  1317. if (pgrid_name != null && pgrid_name.elementName == "xforms:datagrid")
  1318. {
  1319. var control_id = pgrid_name.attribute("id");
  1320. }
  1321. else
  1322. {
  1323. var control_id = pcontrol_name.attribute("id");
  1324. }
  1325. */
  1326. if (pgrid_name == null )
  1327. {
  1328. var control_id = pcontrol_name.attribute("id");
  1329. }
  1330. else if ( pgrid_name.elementName == "xforms:datagrid")
  1331. {
  1332. var control_id = pgrid_name.attribute("id");
  1333. }
  1334. else
  1335. {
  1336. var control_id = pcontrol_name.attribute("id");
  1337. }
  1338. var comcd_node = "/root/send/reqpridref";
  1339. var comcd_rsltnode = "/root/init/reqprid";
  1340. var comcd_itemset = "/root/init/" + control_id;
  1341. //resetInstanceNode는 노드가 생성된 후에 초기화 하는 작업이므로
  1342. //여기서는 처음 함수 호출시 생성되어 있는 노드가 존재하지 않아
  1343. //makenode로 노드 생성하는 로직으로 구현
  1344. model.removeNodeset(comcd_node);
  1345. model.removeNodeset(comcd_itemset);
  1346. model.makeNode(comcd_node);
  1347. model.makeNode(comcd_node + "/instcd");
  1348. model.makeNode(comcd_node + "/reqflag");
  1349. model.makeNode(comcd_node + "/refcond");
  1350. model.makeNode(comcd_rsltnode);
  1351. model.makeNode(comcd_itemset);
  1352. if (pgrid_name == null )
  1353. {
  1354. pcontrol_name.choices.itemset.attribute("nodeset") = comcd_itemset+"/reqpridlist";
  1355. pcontrol_name.choices.itemset.label.attribute("ref") = "reqpridnm";
  1356. pcontrol_name.choices.itemset.value.attribute("ref") = "reqprid";
  1357. }
  1358. else if (pgrid_name.elementName == "xforms:datagrid")
  1359. {
  1360. var column_id = pgrid_name.colattribute(column_no, "id");
  1361. var column_no = pgrid_name.colRef(pcontrol_name);
  1362. var column_name = pgrid_name.colAttribute(column_no, "id");
  1363. var column_obj = document.controls(column_name);
  1364. column_obj.choices.itemset.attribute("nodeset") = comcd_itemset+"/reqpridlist";
  1365. column_obj.choices.itemset.label.attribute("ref") = "reqpridnm";
  1366. column_obj.choices.itemset.value.attribute("ref") = "reqprid";
  1367. }
  1368. else
  1369. {
  1370. pcontrol_name.choices.itemset.attribute("nodeset") = comcd_itemset+"/reqpridlist";
  1371. pcontrol_name.choices.itemset.label.attribute("ref") = "reqpridnm";
  1372. pcontrol_name.choices.itemset.value.attribute("ref") = "reqprid";
  1373. }
  1374. model.setValue(comcd_node + "/instcd",pinstcd);
  1375. model.setValue(comcd_node + "/reqflag",preqflag);
  1376. model.removeChild("TRRSZ00120");
  1377. model.createChild("xforms:submission", "id:TRRSZ00120;mediatype:application/x-www-form-urlencoded; method:post; ref:" + comcd_node + "; resultref:" + comcd_rsltnode + "; ");
  1378. submit("TRRSZ00120");
  1379. model.copyNode(comcd_itemset,comcd_rsltnode);
  1380. }
  1381. /*--------------------------------------------------------------------------------------
  1382. * 멸균장비모드 COMBO SETTING
  1383. * 2008.01.03 목요일
  1384. * From :
  1385. * pInstcd : (조회값) 기관코드.
  1386. * pFixasetcd : (조회값) 장비코드.
  1387. * pControl_name_list : 값을 표현할 컨트롤 ID.
  1388. ---------------------------------------------------------------------------------------*/
  1389. //콤보에 평가공통코드 조회
  1390. function rszfModeGetComboList(pInstcd, pFixasetcd, pControl_name_list) {
  1391. var control_list = pControl_name_list.split(",");
  1392. var send_node = "/root/send/item";
  1393. var result_node = "/root/init/item/" + pFixasetcd + "/rscmeqmdlist" ;
  1394. model.removeNodeset(result_node);
  1395. model.removeNodeset(send_node);
  1396. model.makeNode(result_node);
  1397. model.makeNode(send_node);
  1398. model.makeNode(send_node + "/instcd");
  1399. model.makeNode(send_node + "/fixasetcd");
  1400. for (var i = 0; i < control_list.length; i++) {
  1401. var control_id = control_list[i];
  1402. var control = control_id.split(".");
  1403. var obj = document.controls(control[0]);
  1404. var result_itemset = result_node;
  1405. var sInstcdNode = instance1.selectSingleNode(send_node + "/instcd");
  1406. var sFixasetcdNode = instance1.selectSingleNode(send_node + "/fixasetcd");
  1407. var nInstcdNode = instance1.createNode("element", "instcd", "");
  1408. var nFixasetcdNode = instance1.createNode("element", "fixasetcd", "");
  1409. nFixasetcdNode.text = pFixasetcd;
  1410. nInstcdNode.text = pInstcd;
  1411. sInstcdNode.appendChild(nInstcdNode);
  1412. sFixasetcdNode.appendChild(nFixasetcdNode);
  1413. if (obj != null && obj.elementName == "xforms:datagrid") {
  1414. obj = document.controls(obj.colAttribute(obj.colRef(control[1]), "id"));
  1415. }
  1416. obj.choices.itemset.attribute("nodeset") = result_itemset;
  1417. obj.choices.itemset.label.attribute("ref") = "label";
  1418. obj.choices.itemset.value.attribute("ref") = "value";
  1419. }
  1420. model.removeNodeset(result_itemset);
  1421. model.makeNode(result_itemset);
  1422. model.removeChild("TRRSS01303");
  1423. model.createChild("xforms:submission", "id:TRRSS01303;mediatype:application/x-www-form-urlencoded; method:post; ref:" + send_node + "; resultref:" + result_node + "; ");
  1424. submit("TRRSS01303");
  1425. }
  1426. /*--------------------------------------------------------------------------------------
  1427. * 컴포넌트 그리드 및 일반컨트롤 Combo Item 추가.
  1428. * 2008.01.10 목요일
  1429. * From :
  1430. * control_list : 콤보 컨트롤 리스트
  1431. * label_list : 라벨 값 리스트
  1432. * value_list : 벨류 리스트
  1433. * position_list : 추가한 item이 위에 보이게 할것인지 밑에 보이게 할것인지 설정. ex> "above" 위에 설정. 다른값이 들어왔을시 아래쪽에 설정 됨.
  1434. ---------------------------------------------------------------------------------------*/
  1435. //콤보에 평가공통코드 조회
  1436. function rszfComboComCdListMultiS(control_list, label_list, value_list, position_list ) {
  1437. // Combo ItemSet 정보
  1438. var comboItemNodeSet,comboLabelRef,comboValueRef;
  1439. // Item 노드 생성
  1440. var itemNode,labelNode,valueNode;
  1441. var control_list_id = control_list.split(",");
  1442. var label_list_id = label_list.split(",");
  1443. var value_list_id = value_list.split(",");
  1444. var position_list_id = position_list.split(",");
  1445. for (var i = 0; i < control_list_id.length; i++) {
  1446. var control_id = control_list_id[i];
  1447. var control = control_id.split(".");
  1448. var obj = document.controls(control[0]);
  1449. if (obj != null && obj.elementName == "xforms:datagrid") {
  1450. obj = document.controls(obj.colAttribute(obj.colRef(control[1]), "id"));
  1451. }
  1452. comboItemNodeSet = obj.choices.itemset.attribute("nodeset");
  1453. comboLabelRef = obj.choices.itemset.label.attribute("ref");
  1454. comboValueRef = obj.choices.itemset.value.attribute("ref");
  1455. itemNode = instance1.createNode("element", instance1.selectSingleNode(comboItemNodeSet).nodeName, "");
  1456. labelNode = instance1.createNode("element", comboLabelRef, "");
  1457. valueNode = instance1.createNode("element", comboValueRef, "");
  1458. if( label_list_id[i] == null || label_list_id[i] == "" ) label_list_id[i] = "- 전 체 -";
  1459. labelNode.value = label_list_id[i];
  1460. itemNode.appendChild(labelNode);
  1461. if( value_list_id[i] == null || value_list_id[i] == "" ) value_list_id[i] = "";
  1462. valueNode.value = value_list_id[i];
  1463. itemNode.appendChild(valueNode);
  1464. if( position_list_id[i] == null || position_list_id[i] == "" )
  1465. {
  1466. position_list_id[i] = "above";
  1467. }
  1468. var destNode = instance1.selectSingleNode(comboItemNodeSet);
  1469. var pDestNode = destNode.parentNode;
  1470. if( position_list_id[i] == "above" ) {
  1471. pDestNode.insertBefore(itemNode, destNode);
  1472. }
  1473. else {
  1474. pDestNode.appendChild(itemNode);
  1475. }
  1476. obj.refresh();
  1477. }
  1478. }
  1479. /*--------------------------------------------------------------------------------------
  1480. * 코드 Validation Check한다.
  1481. * 2008.01.11 금요일
  1482. * From :
  1483. * pvali_kind : Validation 종류(부서코드, 공통코드, 우편번호...)
  1484. "12" - 사번조회
  1485. * precv_list : 자료를 받을 Instance Node(콤마로 분류해서 넘기면됨)
  1486. * pValueControl: 조회값으로 넘길 데이터
  1487. * pNodeNames : 조회값을 넘겨주기 위한 노드명
  1488. ---------------------------------------------------------------------------------------*/
  1489. function rszfValidationCheckS(pvali_kind, pcdgrupid, precv_list, pValueControl, pNodeNames, pRetrKind, pInstcd)
  1490. {
  1491. var objID = event.currentTarget;
  1492. var obj = document.controls(objID);
  1493. var arrCtrlNames = null;
  1494. var arrNodeNames = null;
  1495. if(obj != null && obj.elementName == "xforms:group")
  1496. {
  1497. objID = event.Target;
  1498. obj = document.controls(objID);
  1499. }
  1500. if(pValueControl != null && pValueControl != "")
  1501. {
  1502. arrCtrlNames = pValueControl.split(",");
  1503. }
  1504. if(pNodeNames != null && pValueControl != "")
  1505. {
  1506. arrNodeNames = pNodeNames.split(",");
  1507. }
  1508. var vali_kind = pvali_kind.substr(0,2);
  1509. // alert(obj.elementName);
  1510. var validation_node = "/root/send/validation";
  1511. var validation_rsltnode = "/root/init/validation";
  1512. var recv_node = precv_list.split(",");
  1513. model.removeNodeset(validation_node);
  1514. model.removeNodeset(validation_rsltnode);
  1515. model.makeNode(validation_node);
  1516. if (pInstcd != null) {
  1517. model.makeValue(validation_node + "/instcd", pInstcd);
  1518. }
  1519. model.makeValue(validation_node + "/cdgrupid", pcdgrupid);
  1520. model.makeNode(validation_rsltnode);
  1521. var result_path = "";
  1522. model.makeValue(validation_node + "/getcond", model.getValue(obj.attribute("ref")));
  1523. model.makeValue(validation_node + "/retrkind", pRetrKind);
  1524. model.makeValue(validation_node + "/systemflag", "");
  1525. model.makeValue(validation_node + "/classicyn", "Y");
  1526. if (obj.elementName == "xforms:datagrid") {
  1527. result_path = obj.nodeset;
  1528. model.makeValue(validation_node + "/getcond", model.getValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + obj.colAttribute(obj.col,"ref")));
  1529. }
  1530. else {
  1531. var node_path = obj.attribute("ref").split("/");
  1532. result_path = "/root";
  1533. for (var i = 2 ; i < node_path.length - 1; i++) {
  1534. result_path = result_path + "/" + node_path[i];
  1535. }
  1536. }
  1537. if (model.getValue(validation_node + "/getcond") == null || model.getValue(validation_node + "/getcond") == "")
  1538. {
  1539. for (var i = 0; i < recv_node.length; i++)
  1540. {
  1541. if (obj.elementName == "xforms:datagrid")
  1542. {
  1543. model.setValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + recv_node[i], "");
  1544. }
  1545. else
  1546. {
  1547. model.setValue(result_path + "/" + recv_node[i], "");
  1548. }
  1549. }
  1550. return;
  1551. }
  1552. if (pvali_kind == "12") //사원번호
  1553. {
  1554. model.setValue(validation_node + "/retrkind", "code");
  1555. model.makeValue(validation_node + "/emplno", "");
  1556. model.makeValue(validation_node + "/emplnm", "");
  1557. model.removeChild("TRRPZ00102");
  1558. model.createChild("xforms:submission", "id:TRRPZ00102;mediatype:application/x-www-form-urlencoded; method:post; ref:" + validation_node + "; resultref:" + validation_rsltnode + "; ");
  1559. submit("TRRPZ00102");
  1560. var rslt_node = new Array();
  1561. var node = instance1.selectNodes(validation_rsltnode + "/empllist" + "/*");
  1562. for (var j = 0; j < node.length; j++) {
  1563. if (obj.elementName == "xforms:datagrid") {
  1564. rslt_node[j] = model.getValue(validation_rsltnode + "/empllist" + "[1]/" + node.item(j).nodeName);
  1565. }
  1566. else {
  1567. rslt_node[j] = model.getValue(validation_rsltnode + "/empllist" + "/" + node.item(j).nodeName);
  1568. }
  1569. }
  1570. }
  1571. var node1 = instance1.selectNodes(validation_rsltnode + "/*");
  1572. if (node1.length != 1)
  1573. {
  1574. model.removeNodeset("/root/source/validation");
  1575. model.makeNode("/root/source/validation")
  1576. model.copyNode("/root/source/validation", validation_rsltnode);
  1577. misfOpenPopUpList(vali_kind, obj, pcdgrupid, precv_list, pValueControl, pNodeNames)
  1578. }
  1579. else
  1580. {
  1581. for (var i = 0; i < recv_node.length; i++)
  1582. {
  1583. if (obj.elementName == "xforms:datagrid")
  1584. {
  1585. //alert(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + recv_node[i] + "*****" + rslt_node[i]);
  1586. model.setValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + recv_node[i], rslt_node[i]);
  1587. }
  1588. else
  1589. {
  1590. model.setValue(result_path + "/" + recv_node[i], rslt_node[i]);
  1591. }
  1592. }
  1593. }
  1594. }
  1595. /*--------------------------------------------------------------------------------------
  1596. * 공통코드 단일 콤보설정.
  1597. * 2008.01.17 목요일
  1598. * From :
  1599. * pcdgrupid_name : 공통코드군
  1600. * pcontrol_name : Data를 받을 Control ID
  1601. * pLabel : COM.ZBCMCODE Table의 컬럼중 특정 컬럼의 명칭이 들어온다.
  1602. ex> "dispseq"
  1603. "cdsid"
  1604. "cdgrupid"
  1605. "detldesc"
  1606. "cdval"
  1607. "minval"
  1608. "maxval"
  1609. "minopercd"
  1610. "maxopercd"
  1611. "cdengabbrnm"
  1612. "valifromdd"
  1613. "valitodd" <<--- 이컬럼을 Label로 보여줄수 있다.
  1614. ---------------------------------------------------------------------------------------*/
  1615. function rszfGetLabelControlComboList(pcdgrupid_name, pcontrol_name, pLabel,pInstgbn)
  1616. {
  1617. var comcd_node = "/root/send/comcdref";
  1618. var comcd_rsltnode = "/root/init/lavelcombo";
  1619. model.makeNode(comcd_rsltnode);
  1620. model.removeNodeset(comcd_node);
  1621. model.makeNode(comcd_node);
  1622. model.makeNode(comcd_node + "/refcond");
  1623. model.makeNode(comcd_node + "/cdgrupid");
  1624. model.makeNode(comcd_node + "/cdid");
  1625. var sLabelName = ( pLabel == null ) ? "cdnm" : pLabel;
  1626. model.makeNode(comcd_node + "/" + sLabelName);
  1627. var control_id = pcontrol_name;
  1628. var control = control_id.split(".");
  1629. var obj = document.controls(control[0]);
  1630. var comcd_itemset = comcd_rsltnode;
  1631. var refcondNode = instance1.selectSingleNode(comcd_node + "/refcond");
  1632. var cdgrupidNode = instance1.selectSingleNode(comcd_node + "/cdgrupid");
  1633. var cdidNode = instance1.selectSingleNode(comcd_node + "/cdid");
  1634. var cdnmNode = instance1.selectSingleNode(comcd_node + "/" + sLabelName);
  1635. var refcondvalueNode = instance1.createNode("element", "refcondvalue", "");
  1636. var cdgrupvalueNode = instance1.createNode("element", "cdgrupidvalue", "");
  1637. var cdidvalueNode = instance1.createNode("element", "cdidvalue", "");
  1638. var cdnmvalueNode = instance1.createNode("element", "cdnmvalue", "");
  1639. cdgrupvalueNode.text = pcdgrupid_name;
  1640. cdidvalueNode.text = "%";
  1641. cdnmvalueNode.text = "%";
  1642. refcondvalueNode.text = sLabelName;
  1643. refcondNode.appendChild(refcondvalueNode);
  1644. cdgrupidNode.appendChild(cdgrupvalueNode);
  1645. cdidNode.appendChild(cdidvalueNode);
  1646. cdnmNode.appendChild(cdnmvalueNode);
  1647. comcd_itemset = comcd_itemset + "/" + pcdgrupid_name + "0" + "/" + pcdgrupid_name + "0";
  1648. model.removeNodeset(comcd_itemset);
  1649. model.makeNode(comcd_itemset);
  1650. if (obj != null && obj.elementName == "xforms:datagrid") {
  1651. obj = document.controls(obj.colAttribute(obj.colRef(control[1]), "id"));
  1652. }
  1653. obj.choices.itemset.attribute("nodeset") = comcd_itemset;
  1654. obj.choices.itemset.label.attribute("ref") = sLabelName;
  1655. if(pInstgbn == null || pInstgbn ==""){
  1656. obj.choices.itemset.value.attribute("ref") = "cdid";
  1657. }else {
  1658. obj.choices.itemset.value.attribute("ref") = "cdnm";
  1659. }
  1660. model.removeChild("TRRPZ00304");
  1661. model.createChild("xforms:submission", "id:TRRPZ00304;mediatype:application/x-www-form-urlencoded; method:post; ref:" + comcd_node + "; resultref:" + comcd_rsltnode + "; ");
  1662. submit("TRRPZ00304");
  1663. }
  1664. /*------------------------------------------------------------------------
  1665. [2008.01.20 ]
  1666. 청구reqflag 를 goodflag 와 매핑한다... 주로 청구프로그램에서 사용한다.
  1667. 일종의 하드코딩이지만 func으로 빼서 사용한다.
  1668. 혹 나중에 사용할지몰라 instcd 넣어놓는다
  1669. [2010.08.26]AS-IS 코드 TO_BE 코드 전환을 위한 물품구분 변경
  1670. -------------------------------------------------------------------------*/
  1671. function rszfGetGoodFlagByReqFlag(pinstcd, preqflag)
  1672. {
  1673. var pgoodflag
  1674. if (preqflag == "A") pgoodflag = "Y";
  1675. else if (preqflag == "B") pgoodflag = "Z";
  1676. else if (preqflag == "C") pgoodflag = "U";
  1677. else if (preqflag == "D") pgoodflag = "GE";
  1678. else if (preqflag == "E") pgoodflag = "PH";
  1679. else if (preqflag == "F") pgoodflag = "PH";
  1680. else if (preqflag == "G") pgoodflag = "EQ";
  1681. else if (preqflag == "H") pgoodflag = "PH";
  1682. else if (preqflag == "I") pgoodflag = "PH";
  1683. // else if (preqflag == "S") pgoodflag = "Y";
  1684. else if (preqflag == "X") pgoodflag = "T";
  1685. else if (preqflag == "Y") pgoodflag = "T";
  1686. else if (preqflag == "Z") pgoodflag = "T";
  1687. return pgoodflag;
  1688. }
  1689. /**--------------------------------------------------------------------------------------
  1690. * 사용자 정보를 가져온다.
  1691. * 2008.01.24 목요일
  1692. * From :
  1693. * pEmplno : 조회할 사용자 ID
  1694. * pInstcd : 조회할 기관코드
  1695. * pResultNode : 리턴받을 노드 위치.
  1696. * MIS.RSCMREAP Table의 Data를 가져온다.
  1697. ---------------------------------------------------------------------------------------*/
  1698. function rszfGetUserInfo(pEmplno, pInstcd){
  1699. var send_Node = "/root/submit";
  1700. var result_Node = "/root/init/resultdata/rscmreaplist";
  1701. var frow = 0;
  1702. model.removeNodeset(send_Node);
  1703. model.removeNodeset(result_Node);
  1704. model.makeNode(send_Node);
  1705. model.makeNode(result_Node);
  1706. model.makeValue(send_Node + "/instcd", pInstcd);
  1707. model.makeValue(send_Node + "/emplno", pEmplno);
  1708. model.removeChild("TRRSZ00121");
  1709. model.createChild("xforms:submission", "id:TRRSZ00121;mediatype:application/x-www-form-urlencoded; method:post; ref:" + send_Node + "; resultref:" + result_Node + ";");
  1710. submit("TRRSZ00121");
  1711. model.refresh();
  1712. frow = instance1.selectNodes("/root/init/resultdata/rscmreaplist").length;
  1713. return frow;
  1714. }
  1715. /**--------------------------------------------------------------------------------------
  1716. * 연구계좌 그룹명을 가져온다.
  1717. * 2008.01.29 화요일
  1718. * From :
  1719. * pcontrol : 컨트롤 id
  1720. * pInstcd : 기관코드
  1721. * pgoodflag : 1 == 물품청구
  1722. 2 == 장비청구
  1723. 3 == 비품청구
  1724. * pitemvalue : 연구계정. 넘어온 연구계정으로 그룹코드를 가져온다.
  1725. * pgetgroupidyn : 입력된 그룹코드만 가져오기위한 유무
  1726. * MIS.RSCMBGCD Table의 Data를 가져온다.
  1727. ---------------------------------------------------------------------------------------*/
  1728. function rszfComboBgcdBugtList(pcontrol_name, pInstcd, pgoodflag, pitemvalue, pgetgroupidyn)
  1729. {
  1730. var send_node = "/root/submit";
  1731. var result_node = "/root/init/rscmbgcdlist";
  1732. var fcontrol = pcontrol_name.split(".");
  1733. var obj = document.controls(fcontrol[0]);
  1734. model.removeNodeset(send_node);
  1735. model.makeNode(send_node);
  1736. model.makeValue(send_node + "/instcd", pInstcd);
  1737. if(pgoodflag != null)
  1738. {
  1739. model.makeValue(send_node + "/pgoodflag", pgoodflag);
  1740. }
  1741. if(pitemvalue != null)
  1742. {
  1743. model.makeValue(send_node + "/pitemvalue", pitemvalue);
  1744. }
  1745. if(pgetgroupidyn == null || pgetgroupidyn == "")
  1746. {
  1747. model.removeNodeset(result_node);
  1748. model.makeNode(result_node);
  1749. if (obj.elementName == "xforms:datagrid")
  1750. {
  1751. var column_obj = document.controls(obj.colAttribute(obj.colRef(fcontrol[1]), "id"));
  1752. column_obj.choices.itemset.attribute("nodeset") = result_node;
  1753. column_obj.choices.itemset.label.attribute("ref") = "label";
  1754. column_obj.choices.itemset.value.attribute("ref") = "value";
  1755. }
  1756. else {
  1757. obj.choices.itemset.attribute("nodeset") = result_node;
  1758. obj.choices.itemset.label.attribute("ref") = "label";
  1759. obj.choices.itemset.value.attribute("ref") = "value";
  1760. }
  1761. model.removeChild("TRRSZ00122");
  1762. model.createChild("xforms:submission", "id:TRRSZ00122;mediatype:application/x-www-form-urlencoded; method:post; ref:" + send_node + "; resultref:" + result_node + "; ");
  1763. submit("TRRSZ00122");
  1764. obj.refresh();
  1765. //pcontrol_name.select(0);
  1766. }else
  1767. {
  1768. result_node = "/root/init/bgcdgroupvalue/rscmbgcdlist"
  1769. model.removeNodeset(result_node);
  1770. model.makeNode(result_node);
  1771. model.removeChild("TRRSZ00122");
  1772. model.createChild("xforms:submission", "id:TRRSZ00122;mediatype:application/x-www-form-urlencoded; method:post; ref:" + send_node + "; resultref:" + result_node + "; ");
  1773. submit("TRRSZ00122");
  1774. return model.getValue(result_node+ "/value");
  1775. }
  1776. }
  1777. /************************************************************************************************
  1778. 함수명 : rszGridAddComboItem ()
  1779. 인자 :
  1780. String comboID - 해당 콤보 아이디
  1781. String label - 추가 할 아이템 Lavel
  1782. String value - 추가 할 아이템 Value
  1783. String [postion] - 추가 할 위치( "above" | "below" )
  1784. 결과값 :
  1785. 함수설명 : 콤보 아이템 추가 함수
  1786. ************************************************************************************************
  1787. 작 성 자 :
  1788. 작 성 일 : 2008.02.01
  1789. ************************************************************************************************/
  1790. function rszGridAddComboItem( pControl_name, label, value, position ) {
  1791. var control = pControl_name.split(".");
  1792. var obj = document.controls(control[0]);
  1793. if (obj.elementName == "xforms:datagrid")
  1794. {
  1795. var column_no = obj.colRef(control[1]);
  1796. var column_id = obj.colattribute(column_no, "id");
  1797. var column_name = obj.colAttribute(column_no, "id");
  1798. var column_obj = document.controls(column_name);
  1799. // Combo ItemSet 정보
  1800. var comboItemNodeSet = column_obj.choices.itemset.attribute("nodeset");
  1801. var comboLabelRef = column_obj.choices.itemset.label.attribute("ref");
  1802. var comboValueRef = column_obj.choices.itemset.value.attribute("ref");
  1803. }
  1804. else {
  1805. // Combo ItemSet 정보
  1806. var comboItemNodeSet = obj.choices.itemset.attribute("nodeset");
  1807. var comboLabelRef = obj.choices.itemset.label.attribute("ref");
  1808. var comboValueRef = obj.choices.itemset.value.attribute("ref");
  1809. }
  1810. var nodeNn = instance1.selectSingleNode(comboItemNodeSet);
  1811. if (nodeNn == null) {
  1812. model.makeNode(comboItemNodeSet);
  1813. model.makeNode(comboItemNodeSet+"/"+comboLabelRef);
  1814. model.makeNode(comboItemNodeSet+"/"+comboValueRef);
  1815. position = "init";
  1816. }
  1817. // Item 노드 생성
  1818. var itemNode = instance1.createNode("element", instance1.selectSingleNode(comboItemNodeSet).nodeName, "");
  1819. var labelNode = instance1.createNode("element", comboLabelRef, "");
  1820. var valueNode = instance1.createNode("element", comboValueRef, "");
  1821. if( label == null || label == "" ) label = "- 전 체 -";
  1822. labelNode.value = label;
  1823. itemNode.appendChild(labelNode);
  1824. if( value == null || value == "" ) value = "";
  1825. valueNode.value = value;
  1826. itemNode.appendChild(valueNode);
  1827. if( position == null || position == "" )
  1828. position = "above";
  1829. var destNode = instance1.selectSingleNode(comboItemNodeSet);
  1830. var pDestNode = destNode.parentNode;
  1831. if( position == "above" ) {
  1832. pDestNode.insertBefore(itemNode, destNode);
  1833. } else if ( position == "init" ) {
  1834. pDestNode.insertBefore(itemNode, destNode);
  1835. pDestNode.removeChild(destNode);
  1836. }
  1837. else {
  1838. pDestNode.appendChild(itemNode);
  1839. }
  1840. obj.refresh();
  1841. }
  1842. /************************************************************************************************
  1843. 함수명 : rszCostflagItemAdd()
  1844. INPUT :
  1845. - pGrupid : 검색할 공통코드 Group Code (대분류)
  1846. - pCdid : (중분류)
  1847. - pTargetGrid : Data가 입력될 그리드
  1848. - pGridAddBtn : 그리드의 Row 추가시 화면상에서 실제로 사용하는 그리드 Row 추가 버튼 ID
  1849. - pAddNodeList : DB에서 가져온 DATA가 들어갈 그리드 컬럼 ID
  1850. (ex> "code,codenm,중분류" * 순서대로 입력해야함.)
  1851. 함수설명 : 공통코드 조회시 그리드에 조회된 Data를 자동적으로 입력시켜주는 메서드.
  1852. ************************************************************************************************
  1853. 작 성 자 :
  1854. 작 성 일 : 2008.02.11
  1855. ************************************************************************************************/
  1856. function rszCostflagItemAdd(pGrupid, pCdid, pTargetGrid, pGridAddBtn, pAddNodeList){
  1857. var send_node = "/root/submit";
  1858. var result_node = "/root/init/comcodelist";
  1859. model.removeNodeset(send_node);
  1860. model.removeNodeset("/root/init/comcd");
  1861. model.makeNode(send_node);
  1862. model.makeNode(result_node);
  1863. model.makeValue(send_node + "/refcond", "cdid");
  1864. model.makeValue(send_node + "/cdgrupid", pGrupid);
  1865. model.makeValue(send_node + "/cdid", pCdid);
  1866. model.removeChild("TRRPZ00301");
  1867. model.createChild("xforms:submission", "id:TRRPZ00301;mediatype:application/x-www-form-urlencoded; method:post; ref:" + send_node + "; resultref:" + result_node + "; ");
  1868. submit("TRRPZ00301");
  1869. model.refresh();
  1870. var rowCount = instance1.selectNodes("/root/init/comcd/comcodelist").length + 1;
  1871. var refName = pAddNodeList.split(",");
  1872. for(var R = 1; R < rowCount; R++)
  1873. {
  1874. if(R != 1 )
  1875. {
  1876. pGridAddBtn.dispatch("DOMActivate");
  1877. }
  1878. pTargetGrid.valueMatrix(pTargetGrid.row, pTargetGrid.colRef(refName[0])) = model.getValue("/root/init/comcd/comcodelist["+ R +"]/cdid");
  1879. pTargetGrid.valueMatrix(pTargetGrid.row, pTargetGrid.colRef(refName[1])) = model.getValue("/root/init/comcd/comcodelist["+ R +"]/cdnm");
  1880. pTargetGrid.valueMatrix(pTargetGrid.row, pTargetGrid.colRef(refName[2])) = pCdid;
  1881. pTargetGrid.colDisabled(pTargetGrid.colRef(refName[2])) = true;
  1882. }
  1883. model.setFocus(pTargetGrid.attribute("id"));
  1884. pTargetGrid.refresh();
  1885. }
  1886. /************************************************************************************************
  1887. 함수명 : rszGridDelete()
  1888. 인자 : pGrupid -- 삭제시킬 그리드 id
  1889. ************************************************************************************************
  1890. 작 성 자 :
  1891. 작 성 일 : 2008.02.26
  1892. ************************************************************************************************/
  1893. function rszGridDeleteRow(pGridDel){
  1894. var list = pGridDel.selectedCells.length;
  1895. var rowtemp = new Array();
  1896. var rows = new Array();
  1897. var bool = true;
  1898. var count =0;
  1899. var rowbool = true;
  1900. var tempRank;
  1901. if(pGridDel.selectedCells.item(0).row != '')
  1902. {
  1903. if(pGridDel.selectedCells.item(1).row != '')
  1904. {
  1905. if(pGridDel.selectedCells.item(0).row > pGridDel.selectedCells.item(1).row)
  1906. {
  1907. rowbool = false;
  1908. }
  1909. }
  1910. }
  1911. for(var s = 0; s < list ; s++)
  1912. {
  1913. rowtemp[s] = pGridDel.selectedCells.item(s).row;
  1914. for(so = 0; so < rows.length; so++)
  1915. {
  1916. if(rowtemp[s] == rows[so])
  1917. {
  1918. bool = false;
  1919. }
  1920. }
  1921. if(bool)
  1922. {
  1923. rows[count] = rowtemp[s];
  1924. count += 1;
  1925. }else{
  1926. bool = true;
  1927. }
  1928. }
  1929. for(var rank = 0; rank < rows.length; rank++)
  1930. {
  1931. for(var rank2 = rank+1; rank2 < rows.length; rank2++)
  1932. {
  1933. if(rows[rank] > rows[rank2])
  1934. {
  1935. tempRank = rows[rank];
  1936. rows[rank] = rows[rank2];
  1937. rows[rank2] = tempRank;
  1938. }
  1939. }
  1940. }
  1941. for(var z = rows.length-1; z >= 0; z--)
  1942. {
  1943. if( (pGridDel.rowstatus(rows[z]) == 1) || (pGridDel.rowstatus(rows[z]) == 3) )
  1944. {
  1945. pGridDel.deleteRow(rows[z], false);
  1946. }else if(pGridDel.rowstatus(rows[z]) == 4)
  1947. {
  1948. pGridDel.rowstatus(rows[z]) = 0;
  1949. }
  1950. else
  1951. {
  1952. pGridDel.addStatus(rows[z],"delete");
  1953. }
  1954. }
  1955. pGridDel.refresh();
  1956. }
  1957. /*------------------------------------------------------------------------
  1958. [2008.03.04 ]
  1959. 구매팀 부서코드를 가져온다
  1960. 일종의 하드코딩이지만 func으로 빼서 사용한다.
  1961. 2010.04.15 CHR 기관별 구매시스템 기본정보로 변경
  1962. -------------------------------------------------------------------------*/
  1963. function rszfGetPurcDeptCd(pinstcd)
  1964. {
  1965. rszfRscsysinftLists(pinstcd);
  1966. var purcdeptcd = getRscsysinftInfo("purcdept");
  1967. // if (pinstcd == "012") purcdeptcd = "4080102000"; // 서울성모
  1968. // else if (pinstcd == "103") purcdeptcd = "4080100000"; // 성의교정
  1969. // else if (pinstcd == "001") purcdeptcd = "4080101000"; // 중앙의료원
  1970. // else if (pinstcd == "013") purcdeptcd = "4080102000"; // 의정부성모
  1971. // else if (pinstcd == "014") purcdeptcd = "4080101000"; // 성가병원
  1972. // else if (pinstcd == "017") purcdeptcd = "4080300000"; // 빈센트병원
  1973. // else if (pinstcd == "011") purcdeptcd = "4080102000"; // 성모병원
  1974. // else purcdeptcd = "JS등록바람";
  1975. return purcdeptcd;
  1976. }
  1977. /*--------------------------------------------------------------------------------------
  1978. * 성의교정, 예산 계정 LOAD ( RSCMBGCD)
  1979. * 2008.03.08 황금같은....토요일
  1980. * pcontrol_name : 설정될 컨트롤
  1981. * pinstcd : 기관코드
  1982. * pgroupid : 그룹코드
  1983. * pgoodflag : 청구구분
  1984. * pacntyy : 예산년도
  1985. * preqdeptcd : 청구부서
  1986. * 관련 테이블 : MIS.RSCMBGCD
  1987. MIS.RBEMORGN
  1988. MIS.RADMPROJ
  1989. * pgoodflag : 1 == 물품청구
  1990. 2 == 장비청구
  1991. 3 == 비품청구
  1992. ---------------------------------------------------------------------------------------*/
  1993. function rszfComboMarchBugtList(pcontrol_name,pinstcd,pgroupid, pgoodflag, pacntyy, preqdeptcd)
  1994. {
  1995. if(pacntyy == '' || pacntyy == null)
  1996. {
  1997. messageBox("예산년도를 입력하세요.","");
  1998. return;
  1999. }
  2000. if(preqdeptcd == '' || preqdeptcd == null)
  2001. {
  2002. messageBox("청구부서를 입력하세요.","");
  2003. return;
  2004. }
  2005. pcontrol_name.value = "";
  2006. var control_id = pcontrol_name.attribute("id");
  2007. var comcd_node = "/root/send/bugtref";
  2008. var comcd_rsltnode = "/root/init/bugt";
  2009. var comcd_itemset = "/root/init/" + control_id;
  2010. //resetInstanceNode는 노드가 생성된 후에 초기화 하는 작업이므로
  2011. //여기서는 처음 함수 호출시 생성되어 있는 노드가 존재하지 않아
  2012. //makenode로 노드 생성하는 로직으로 구현
  2013. model.removeNodeset(comcd_node);
  2014. model.removeNodeset(comcd_itemset);
  2015. model.makeNode(comcd_node);
  2016. model.makeNode(comcd_node + "/instcd");
  2017. model.makeNode(comcd_node + "/acntyy");
  2018. model.makeNode(comcd_node + "/deptcd");
  2019. model.makeNode(comcd_node + "/refcond");
  2020. model.makeNode(comcd_rsltnode);
  2021. model.makeNode(comcd_itemset);
  2022. pcontrol_name.choices.itemset.attribute("nodeset") = comcd_itemset+"/bugtlist";
  2023. pcontrol_name.choices.itemset.label.attribute("ref") = "bugtcdnm";
  2024. pcontrol_name.choices.itemset.value.attribute("ref") = "bugtcd";
  2025. model.setValue(comcd_node + "/instcd",pinstcd);
  2026. model.setValue(comcd_node + "/acntyy",pacntyy);
  2027. model.setValue(comcd_node + "/deptcd",preqdeptcd);
  2028. if(pgroupid != null)
  2029. {
  2030. model.makeValue(comcd_node + "/supacntcd4",pgroupid);
  2031. }
  2032. if(pgoodflag != null)
  2033. {
  2034. model.makeValue(comcd_node + "/pgoodflag", pgoodflag);
  2035. }
  2036. model.removeChild("TRRSZ00112");
  2037. model.createChild("xforms:submission", "id:TRRSZ00112;mediatype:application/x-www-form-urlencoded; method:post; ref:" + comcd_node + "; resultref:" + comcd_rsltnode + "; ");
  2038. submit("TRRSZ00112");
  2039. model.copyNode(comcd_itemset,comcd_rsltnode);
  2040. pcontrol_name.select(0);
  2041. pcontrol_name.refresh();
  2042. }
  2043. /*--------------------------------------------------------------------------------------
  2044. * 성의교정, 예산 계정에 맞는 예산액 및 프로젝트명을 컨트롤에 설정
  2045. * 2008.03.08 황금같은....토요일
  2046. * PvalueControl : Data를 가지고 있는 컨트롤
  2047. * Pprojectnm : 프로젝트명을 받을 컨트롤
  2048. * Ptotamt : 예산편성액을 받을 컨트롤
  2049. * Pbugtexpcamt : 예산추산액을 받을 컨트롤
  2050. * Pbugtexecamt : 예산집행액을 받을 컨트롤
  2051. * Premainder : 예산잔액을 받을 컨트롤
  2052. ---------------------------------------------------------------------------------------*/
  2053. function rszfBugtControlValueSet(PvalueControl, Pprojectnm, Ptotamt, Pbugtexpcamt, Pbugtexecamt, Premainder, PconTrolYN_list)
  2054. {
  2055. model.setValue( Pprojectnm.attribute("ref") , model.getValue(PvalueControl.choices.itemset.attribute("nodeset") + "["+ (PvalueControl.focusIndex + 1) +"]/projectnm"));
  2056. model.setValue( Ptotamt.attribute("ref") , model.getValue(PvalueControl.choices.itemset.attribute("nodeset") + "["+ (PvalueControl.focusIndex + 1) +"]/totamt"));
  2057. model.setValue( Pbugtexpcamt.attribute("ref") , model.getValue(PvalueControl.choices.itemset.attribute("nodeset") + "["+ (PvalueControl.focusIndex + 1) +"]/bugtexpcamt"));
  2058. model.setValue( Pbugtexecamt.attribute("ref") , model.getValue(PvalueControl.choices.itemset.attribute("nodeset") + "["+ (PvalueControl.focusIndex + 1) +"]/bugtexecamt"));
  2059. model.setValue( Premainder.attribute("ref") , model.getValue(PvalueControl.choices.itemset.attribute("nodeset") + "["+ (PvalueControl.focusIndex + 1) +"]/remainder"));
  2060. var control_list = PconTrolYN_list.split(",");
  2061. if(PconTrolYN_list != "" && control_list.length > 0)
  2062. {
  2063. var obj = null;
  2064. var YN = model.getValue(PvalueControl.choices.itemset.attribute("nodeset") + "["+ (PvalueControl.focusIndex + 1) +"]/projectyn");
  2065. for(var count=0; count < control_list.length; count++)
  2066. {
  2067. obj = document.controls(control_list[count])
  2068. obj.value = '';
  2069. if(YN == 'Y')
  2070. {
  2071. obj.disabled = true;
  2072. }else{
  2073. obj.disabled = false;
  2074. }
  2075. }//for end
  2076. }// first if end
  2077. }
  2078. /*--------------------------------------------------------------------------------------
  2079. * 기관별 구매 계정코드 COMBO SETTING
  2080. * 2008.03.29 토요일
  2081. * From :
  2082. * pInstcd : (조회값) 기관코드.
  2083. * pGoodflag : (조회값) 물품구분.
  2084. * pControl : 값을 표현할 컨트롤 ID.
  2085. ---------------------------------------------------------------------------------------*/
  2086. function rszfPuacGetComboList(pInstcd, pGoodflag, pControl) {
  2087. var send_node = "/root/send/item";
  2088. var result_node = "/root/init/item/rscmpuaclist" ;
  2089. model.removeNodeset(result_node);
  2090. model.removeNodeset(send_node);
  2091. model.makeNode(result_node);
  2092. model.makeNode(send_node);
  2093. model.makeValue(send_node + "/instcd", pInstcd);
  2094. model.makeValue(send_node + "/goodflag", pGoodflag);
  2095. var control_id = pControl;
  2096. var control = control_id.split(".");
  2097. var obj = document.controls(control[0]);
  2098. if (obj != null && obj.elementName == "xforms:datagrid") {
  2099. obj = document.controls(obj.colAttribute(obj.colRef(control[1]), "id"));
  2100. }
  2101. obj.choices.itemset.attribute("nodeset") = result_node;
  2102. obj.choices.itemset.label.attribute("ref") = "label";
  2103. obj.choices.itemset.value.attribute("ref") = "value";
  2104. model.removeNodeset(result_node);
  2105. model.makeNode(result_node);
  2106. model.removeChild("TRRSD00351");
  2107. model.createChild("xforms:submission", "id:TRRSD00351;mediatype:application/x-www-form-urlencoded; method:post; ref:" + send_node + "; resultref:" + result_node + "; ");
  2108. submit("TRRSD00351");
  2109. addComboItem(pControl, "전체", "", "above");
  2110. obj.select(0);
  2111. }
  2112. /*--------------------------------------------------------------------------------------
  2113. * 사용자 부서 리스트 COMBO SETTING
  2114. * 2008.04.02 수요일
  2115. * From :
  2116. * pInstcd : (조회값) 기관코드.
  2117. * pEmplno : (조회값) 사원번호.
  2118. * pReqflag : (조회값) 청구구분.
  2119. ---------------------------------------------------------------------------------------*/
  2120. function rszfReqDeptGetComboList(pControl, pInstcd, pEmplno, pReqflag) {
  2121. var send_node = "/root/send/item";
  2122. var result_node = "/root/init/item/reqdeptlist" ;
  2123. model.removeNodeset(result_node);
  2124. model.removeNodeset(send_node);
  2125. model.makeNode(result_node);
  2126. model.makeNode(send_node);
  2127. model.makeValue(send_node + "/instcd", pInstcd);
  2128. model.makeValue(send_node + "/emplno", pEmplno);
  2129. model.makeValue(send_node + "/reqflag", pReqflag);
  2130. var control_id = pControl;
  2131. var control = control_id.split(".");
  2132. var obj = document.controls(control[0]);
  2133. //컨트롤 값 초기화.
  2134. obj.value = '';
  2135. if (obj != null && obj.elementName == "xforms:datagrid") {
  2136. obj = document.controls(obj.colAttribute(obj.colRef(control[1]), "id"));
  2137. }
  2138. obj.choices.itemset.attribute("nodeset") = result_node;
  2139. obj.choices.itemset.label.attribute("ref") = "label";
  2140. obj.choices.itemset.value.attribute("ref") = "value";
  2141. model.removeNodeset(result_node);
  2142. model.makeNode(result_node);
  2143. model.removeChild("TRRSD00361");
  2144. model.createChild("xforms:submission", "id:TRRSD00361;mediatype:application/x-www-form-urlencoded; method:post; ref:" + send_node + "; resultref:" + result_node + "; ");
  2145. submit("TRRSD00361");
  2146. obj.select(0);
  2147. }
  2148. //--------------------------------------------------------
  2149. // Left 빈자리 만큼 padStr 을 붙인다.
  2150. // 2008.10.10 Choi HR
  2151. //--------------------------------------------------------
  2152. function lpad(pSrc, pLen, pPadStr){
  2153. var rString = "";
  2154. var vPadCnt = Number(pLen) - String(pSrc).length;
  2155. for(var i=0; i<vPadCnt; i++) rString += String(pPadStr);
  2156. return rString+pSrc;
  2157. }
  2158. //--------------------------------------------------------
  2159. // Right 빈자리 만큼 pPadStr 을 붙인다.
  2160. // 2008.10.10 Choi HR
  2161. //--------------------------------------------------------
  2162. function rpad(pSrc, pLen, pPadStr){
  2163. var rString = "";
  2164. var vPadCnt = Number(pLen) - String(pSrc).length;
  2165. for(var i=0;i<vPadCnt;i++) rString += String(pPadStr);
  2166. return pSrc+rString;
  2167. }
  2168. //--------------------------------------------------------
  2169. // 콤마설정.
  2170. // 2008.10.10 Choi HR
  2171. //--------------------------------------------------------
  2172. function putComma(pData) {
  2173. var vNum = pData;
  2174. var rOut = ""
  2175. var dotPos = (vNum+"").split(".")
  2176. var IntPart = dotPos[0]
  2177. var FraPart = dotPos[1]
  2178. var commaFlag = IntPart.length%3
  2179. //
  2180. if (vNum < 0) {
  2181. vNum *= -1;
  2182. var Minus = true
  2183. }else{
  2184. var Minus = false
  2185. }
  2186. //
  2187. if (commaFlag) {
  2188. rOut = IntPart.substring(0, commaFlag)
  2189. if (IntPart.length > 3) rOut += ","
  2190. }
  2191. for (var i=commaFlag; i < IntPart.length; i+=3) {
  2192. rOut += IntPart.substring(i, i+3)
  2193. if( i < IntPart.length-3) rOut += ","
  2194. }
  2195. if (Minus) rOut = "-" + rOut
  2196. if (FraPart ) return rOut + "." + FraPart
  2197. else return rOut
  2198. }
  2199. /*--------------------------------------------------------------------------------------
  2200. * 기관별 구매시스템 기본정보를 조회한다
  2201. * 2009.06.13 토요일
  2202. * From : CHR
  2203. * pInstcd" : (조회값) 기관코드
  2204. ---------------------------------------------------------------------------------------*/
  2205. function rszfRscsysinftLists(pInstcd)
  2206. {
  2207. var vPathSend = "/root/send/rscsysinft";
  2208. var vPathResult = "/root/init/RscsysinftLists";
  2209. model.removeNodeset(vPathSend);
  2210. // Input Send정보
  2211. model.makeNode(vPathSend);
  2212. model.makeNode(vPathSend + "/instcd");
  2213. model.setValue(vPathSend + "/instcd",pInstcd);
  2214. // 좌회결과 정보
  2215. model.makeNode(vPathResult);
  2216. model.removeChild("TRRSC00010");
  2217. model.createChild("xforms:submission", "id:TRRSC00010;mediatype:application/x-www-form-urlencoded; method:post; ref:" + vPathSend + "; resultref:" + vPathResult + "; ");
  2218. submit("TRRSC00010");
  2219. }
  2220. /*--------------------------------------------------------------------------------------
  2221. * 기관별 구매발주자 기본정보를 조회한다
  2222. * 2009.11.24 화요일 rscsysordt
  2223. * From : CHR
  2224. * pInstcd" : (조회값) 기관코드
  2225. ---------------------------------------------------------------------------------------*/
  2226. function rszfRscsysordtLists(pInstcd,pPurcdept, pUserId)
  2227. {
  2228. var vPathSend = "/root/send/rscsysordt";
  2229. var vPathResult = "/root/init/RscsysordtLists";
  2230. model.removeNodeset(vPathSend);
  2231. // Input Send정보
  2232. model.makeNode(vPathSend);
  2233. model.makeNode(vPathSend + "/instcd" );
  2234. model.makeNode(vPathSend + "/purcdept" );
  2235. model.makeNode(vPathSend + "/purcordid");
  2236. model.setValue(vPathSend + "/instcd" ,pInstcd );
  2237. model.setValue(vPathSend + "/purcdept" ,pPurcdept);
  2238. model.setValue(vPathSend + "/purcordid",pUserId );
  2239. // 조회결과 정보
  2240. model.makeNode(vPathResult);
  2241. model.removeChild("TRRSC08101");
  2242. model.createChild("xforms:submission", "id:TRRSC08101;mediatype:application/x-www-form-urlencoded; method:post; ref:" + vPathSend + "; resultref:" + vPathResult + "; ");
  2243. submit("TRRSC08101");
  2244. }
  2245. /*--------------------------------------------------------------------------------------
  2246. * 구매 인터페이스 거래처정보를 조회한다
  2247. * 2009.06.13 토요일
  2248. * From : CHR
  2249. * pInstcd" : (조회값) 기관코드
  2250. * pEntrregno" : (조회값) 거래처
  2251. * pMaindeptcd" : (조회값) 관리부서코드
  2252. ---------------------------------------------------------------------------------------*/
  2253. function rszfRscifcustLists(pControl, pInstcd, pEntrregno, pMaindeptcd, pCombo, pAllYN) {
  2254. var vPathSend = "/root/send/rscsysinft" ;
  2255. var vPathResult = "/root/init/RscifcustLists";
  2256. model.removeNodeset(vPathSend );
  2257. model.removeNodeset(vPathResult );
  2258. // Input Send정보
  2259. model.makeNode(vPathSend);
  2260. model.makeNode(vPathSend + "/instcd" );
  2261. model.makeNode(vPathSend + "/entrregno" );
  2262. model.makeNode(vPathSend + "/maindeptcd");
  2263. model.setValue(vPathSend + "/instcd" , pInstcd );
  2264. model.setValue(vPathSend + "/entrregno" , pEntrregno );
  2265. model.setValue(vPathSend + "/maindeptcd", pMaindeptcd);
  2266. // 조회결과 정보
  2267. model.makeNode(vPathResult);
  2268. model.removeChild("TRRSC00020");
  2269. model.createChild("xforms:submission", "id:TRRSC00020;mediatype:application/x-www-form-urlencoded; method:post; ref:" + vPathSend + "; resultref:" + vPathResult + "; ");
  2270. submit("TRRSC00020");
  2271. if (pCombo != "Y") return;
  2272. var vPathItemset = "/root/init/"+pControl.attribute("id");
  2273. model.removeNodeset(vPathItemset);
  2274. model.makeNode(vPathItemset);
  2275. vPathItemsetChild = vPathItemset+ "/rscifcustlist"; // 거래처 Combo Path
  2276. pControl.choices.itemset.attribute("nodeset") = vPathItemsetChild; // 거래처 Combo Path
  2277. pControl.choices.itemset.label.attribute("ref") = "entrregnonnm" ; // 거래처명
  2278. pControl.choices.itemset.value.attribute("ref") = "entrregno" ; // 거래처 코드
  2279. if (pAllYN != null && pAllYN == "Y") {
  2280. model.makeValue(vPathItemsetChild + "[" +1+ "]/entrregnonnm", "전체");
  2281. model.makeValue(vPathItemsetChild + "[" +1+ "]/entrregno" , "" );
  2282. }
  2283. vNodeSource = instance1.selectSingleNode(vPathResult );
  2284. Idx = 1;
  2285. var vNodeSourcelist = vNodeSource.childNodes;
  2286. while (childNode = vNodeSourcelist.nextNode())
  2287. {
  2288. model.makeValue(vPathItemsetChild + "[" + (Idx + 1) + "]/entrregnonnm", childNode.getXPathString(vPathResult + "/rscifcustlist[" + Idx + "]/entrregnonnm"));
  2289. model.makeValue(vPathItemsetChild + "[" + (Idx + 1) + "]/entrregno" , childNode.getXPathString(vPathResult + "/rscifcustlist[" + Idx + "]/entrregno" ));
  2290. Idx++;
  2291. }
  2292. if(pControl.length == 1) pControl.selectedindex= 0;
  2293. }
  2294. /* ----------------------------------------------------------
  2295. * 기관별 구매시스템 기본정보를 가져온다.
  2296. * ----------------------------------------------------------
  2297. * instcd 기관코드
  2298. * instcdnm 기관코드명칭
  2299. * instnm 기관코드명칭
  2300. * version VERSION
  2301. * installdt 설 치 일
  2302. * operationdt 가 동 일
  2303. * closecycle 마감주기 1:일, 2:주, 4:월
  2304. * instzip 기관우편번호
  2305. * instaddr 기관주소
  2306. * purcdept 구매담당부서
  2307. * purcdeptnm 구매담당부서명
  2308. * purcdptjobid 구매담당자ID
  2309. * purcdptjobidnm 구매담당자명
  2310. * purcdptmgrid 구매부서장ID
  2311. * purcdptmgridnm 구매부서장명
  2312. * purcdepttel1 구매팀 전화번호1
  2313. * purcdepttel2 구매팀 전화번호2
  2314. * purcdeptfax 구매팀 FAX
  2315. * purcacctdate 구매최종회계전송일자
  2316. * purccloseyymm 구매최종마감년월
  2317. * drugdept 약제담당부서
  2318. * drugdeptnm 약제담당부서명
  2319. * drugdptjobid 약제담당자ID
  2320. * drugdptjobidnm 약제담당자명
  2321. * drugdptmgrid 약제부서장ID
  2322. * drugdptmgridnm 약제부서장명
  2323. * drugdepttel1 약제팀 전화번호1
  2324. * drugdepttel2 약제팀 전화번호2
  2325. * drugdeptfax 약제팀 FAX
  2326. * drugacctdate 약제최종회계전송일자
  2327. * drugcloseyymm 약제최종마감년월
  2328. * nutrdept 영양담당부서
  2329. * nutrdeptnm 영양담당부서명
  2330. * nutrdptjobid 영양담당자ID
  2331. * nutrdptjobidnm 영양담당자명
  2332. * nutrdptmgrid 영양부서장ID
  2333. * nutrdptmgridnm 영양부서장명
  2334. * nutrdepttel1 영양팀 전화번호1
  2335. * nutrdepttel2 영양팀 전화번호2
  2336. * nutrdeptfax 영양팀 FAX
  2337. * nutracctdate 영양최종회계전송일자
  2338. * nutrcloseyymm 영양최종마감년월
  2339. * insucdeptcd 수가위원회부서(보험)
  2340. * insucdeptcdnm 수가위원회부서명
  2341. * yearcostdt 년간단가처리일자
  2342. * yearcostyn 년간단가선정여부
  2343. * valueinven 재고자산 평가방법 0:개별법,1:선입선출법,2:후입선출법,3:이동평균법,4:총평균법
  2344. * fstrgstrid 최초등록자ID
  2345. * fstrgstdt 최초등록일시
  2346. * lastupdtrid 최종수정자ID
  2347. * lastupdtdt 최종수정일시
  2348. * deliveryplace 납품장소명칭
  2349. * purcmgrflag 구매재고관리구분0:관리안함,1:관리함
  2350. * purcwhcd 구매재고관리코드
  2351. * purcwhnm 구매재고관리명칭
  2352. * purcbdflag 구매예산사용여부Y/N
  2353. * purcbddept 구매예산부서코드
  2354. * purcpcseyn 구매발주수정여부Y/N
  2355. * purccustyn 구매거래처수정여부Y/N
  2356. * purcinptyn 구매입고수정여부Y/N
  2357. * durgmgrflag 약제재고관리구분0:관리안함,1:관리함
  2358. * durgwhcd 약제재고관리코드
  2359. * durgwhnm 약제재고관리명칭
  2360. * durgbdflag 약제예산사용여부Y/N
  2361. * durgbddept 약제예산부서코드
  2362. * durgpcseyn 약제발주수정여부Y/N
  2363. * durgcustyn 약제거래처수정여부Y/N
  2364. * durginptyn 약제입고수정여부Y/N
  2365. * nutrmgrflag 영양재고관리구분0:관리안함,1:관리함
  2366. * nutrwhcd 영양재고관리코드
  2367. * nutrwhnm 영양재고관리명칭
  2368. * nutrbdflag 영양예산사용여부Y/N
  2369. * nutrbddept 영양예산부서코드
  2370. * nutrpcseyn 영양발주수정여부Y/N
  2371. * nutrcustyn 영양거래처수정여부Y/N
  2372. * nutrinptyn 영양입고수정여부Y/N
  2373. ----------------------------------------------------------*/
  2374. function getRscsysinftInfo(pDataName) {
  2375. var vReturnData = model.getValue(RSCSYSINFT_NODE + "/"+pDataName);
  2376. return vReturnData;
  2377. }
  2378. /* ----------------------------------------------------------------
  2379. * MIS.RSCSYSORDT 기관별 구매발주자 기본정보 조회
  2380. * INSTCD 01 기관코드
  2381. * INSTCDNM 02 기관코드명칭
  2382. * PURCDEPT 03 구매담당부서
  2383. * PURCDEPTNM 04 구매담당부서명
  2384. * PURCORDID 05 구매담당자id
  2385. * PURCORDNM 06 구매담당자명
  2386. * PURCTELNO 07 담당자전화번호
  2387. * PURCFAXNO 08 담당자전화번호
  2388. * PURCHPTEL 09 담당자휴대전화번호
  2389. * PURCEMAIL 10 담당자 email
  2390. * GOODFLAG 11 주관리물품구분
  2391. * GOODFLAGNM 12 주관리물품구분명
  2392. * CMT 13 비고
  2393. * CMT2 14 비고2
  2394. * VALUEINVEN 15 납품장소
  2395. * FSTRGSTRID 16 최초등록자id
  2396. * FSTRGSTDT 17 최초등록일시
  2397. * LASTUPDTRID 18 최종수정자id
  2398. * LASTUPDTDT 19 최종수정일시
  2399. * ---------------------------------------------------------------- */
  2400. function getRscsysordtInfo(pDataName) {
  2401. var vReturnData = model.getValue(RSCSYSORDT_NODE + "/"+pDataName);
  2402. return vReturnData;
  2403. }
  2404. //
  2405. /*---------------------------------------------------
  2406. * @desc : 부서명을 통한 부서코드를 조회한다.
  2407. * @
  2408. * @param : ref - reference path
  2409. * rsltref - result reference path
  2410. * @return :
  2411. * @author : 김영학
  2412. * @---------------------------------------------------
  2413. */
  2414. function getRszDeptCdList(ref, rsltref){
  2415. var mmb_rsltref = "/root/hidden/mis/orddept";
  2416. model.removeNode(mmb_rsltref);
  2417. model.makeNode(mmb_rsltref);
  2418. // model.removeNode(ref);
  2419. if(submit("TRRSZ00123", "false", ref, mmb_rsltref)==true){
  2420. model.copyNode(rsltref, mmb_rsltref);
  2421. model.removeNode(mmb_rsltref);
  2422. }
  2423. model.refresh();
  2424. }
  2425. /**
  2426. * @desc : 콤보박스에 원하는 instance node와 value를 설정
  2427. * @
  2428. * @param :
  2429. * @event :
  2430. * @return :
  2431. * @---------------------------------------------------
  2432. */
  2433. function addComboInstance(combopath, nodename, nodeval, parentnode){
  2434. var xmlNode = model.instances(0).selectSingleNode(combopath + "/" + parentnode);
  2435. if(xmlNode == null){
  2436. return;
  2437. }
  2438. nodename = nodename.split("^");
  2439. nodeval = nodeval.split("^");
  2440. if(nodename.length != nodeval.length){
  2441. return;
  2442. }
  2443. var label = model.instances(0).createElement(nodename[0]);
  2444. var val = model.instances(0).createElement(nodename[1]);
  2445. var combo = model.instances(0).createElement(parentnode);
  2446. label.value = "" + nodeval[0] + "";
  2447. val.value = "" + nodeval[1] + "";
  2448. combo.appendChild(label);
  2449. combo.appendChild(val);
  2450. chkNode = model.instances(0).selectSingleNode(combopath);
  2451. if(chkNode == null){
  2452. model.makeNode(combopath);
  2453. srcNode = model.instances(0).selectSingleNode(combopath);
  2454. }else{
  2455. srcNode = model.instances(0).selectSingleNode(combopath);
  2456. }
  2457. desNode = model.instances(0).selectSingleNode(combopath + "/" + parentnode);
  2458. srcNode.insertBefore(combo, desNode);
  2459. model.refresh();
  2460. }
  2461. /*************************************
  2462. * Instcd 기관코드
  2463. * Entrregno 세금계산서번호
  2464. * Nodeset Return Node
  2465. *************************************/
  2466. function radfGetDTIPassword() {
  2467. var comcd_node = "/root/send/comcdref";
  2468. var comcd_rsltnode = "/root/init/comcd";
  2469. model.removeNodeset(comcd_node);
  2470. model.makeValue(comcd_node + "/emplno", getUserInfo("userid"));
  2471. model.makeNode(comcd_rsltnode);
  2472. model.removeChild("TRRAZ00015");
  2473. model.createChild("xforms:submission", "id:TRRAZ00015;mediatype:application/x-www-form-urlencoded; method:post; ref:" + comcd_node + "; resultref:" + comcd_rsltnode + "; ");
  2474. submit("TRRAZ00015");
  2475. var sPasswd = model.getValue("/root/init/comcd/comcodelist/passwd")
  2476. var sLink = "http://222.106.233.111:8081/login.do?method=process1&userId=" + getUserInfo("userid") + "&password=" + sPasswd;
  2477. if (sPasswd != "") {
  2478. window.load(sLink, "html");
  2479. }
  2480. }
  2481. function fBugtDeptCdList(psendnode, ptrgtnode) {
  2482. model.makeValue(psendnode + "/instcd", getUserInfo("dutplceinstcd"));
  2483. model.makeValue(psendnode + "/bugtflag", "3");
  2484. model.removeChild("TRRAD01501");
  2485. model.createChild("xforms:submission", "id:TRRAD01501;mediatype:application/x-www-form-urlencoded; method:post; ref:" + psendnode + "; resultref:" + ptrgtnode + "; ");
  2486. submit("TRRAD01501");
  2487. }
  2488. function fBugtAcntCdList(psendnode, ptrgtnode, deptcd) {
  2489. model.makeValue(psendnode + "/instcd", getUserInfo("dutplceinstcd"));
  2490. model.makeValue(psendnode + "/bugtflag", "3");
  2491. model.makeValue(psendnode + "/deptcd" , deptcd);
  2492. model.removeChild("TRRAD01503");
  2493. model.createChild("xforms:submission", "id:TRRAD01503;mediatype:application/x-www-form-urlencoded; method:post; ref:" + psendnode + "; resultref:" + ptrgtnode + "; ");
  2494. submit("TRRAD01503");
  2495. }
  2496. function fDeprcBaseList(psendnode, ptrgtnode) {
  2497. model.removenode(psendnode);
  2498. model.makeValue(psendnode + "/instcd" , getUserInfo("dutplceinstcd"));
  2499. model.makeValue(psendnode + "/goodflag", model.getValue(opt_goodflag_search.attribute("ref")));
  2500. model.makeValue(psendnode + "/lrgcd" , model.getValue(cmb_lrgcd.attribute("ref")));
  2501. model.makeValue(psendnode + "/mdlcd" , model.getValue(cmb_mdlcd.attribute("ref")));
  2502. model.removeChild("TRRFC00302");
  2503. model.createChild("xforms:submission", "id:TRRFC00302;mediatype:application/x-www-form-urlencoded; method:post; ref:" + psendnode + "; resultref:" + ptrgtnode + "; ");
  2504. submit("TRRFC00302");
  2505. }
  2506. //--------------------------------------------------------
  2507. // End OF List
  2508. //--------------------------------------------------------