MMRCommon.js 141 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422
  1. var TX_SUBMIT_COMN_FORM = "TXMMR01301";
  2. var TX_SUBMIT_EXTN_FORM = "TXMMR01303";
  3. var gPageInfo = new PAGEINFO();
  4. /**
  5. * @desc : 기록정보 변수 초기화
  6. * @id :
  7. * @event : xforms-ready
  8. * @return : void
  9. * @authur : 박종훈
  10. */
  11. function SAVED_INFO()
  12. {
  13. this.formrecseq = 0;
  14. this.rechistseq = 0;
  15. }
  16. /**
  17. * @desc : 환자정보 변수 초기화
  18. * @id :
  19. * @event : xforms-ready
  20. * @return : void
  21. * @authur : 박종훈
  22. */
  23. function COMN_CONT_RECCNTS()
  24. {
  25. this.pid = "";
  26. this.recfromdt = "";
  27. this.rectodt = "";
  28. this.formrecdeptcd = "";
  29. this.chosflag = "";
  30. this.formrecseq = "";
  31. this.formcd = "-";
  32. }
  33. /**
  34. * @desc : 기록항목 변수 초기화
  35. * @id :
  36. * @event : xforms-ready
  37. * @return : void
  38. * @authur : 박종훈
  39. */
  40. function RECITEM_INFO()
  41. {
  42. this.pid = "";
  43. this.degnitemkind = "";
  44. this.degnitemcd = "";
  45. this.degnitemlevlcd = "";
  46. this.rectermcd = "";
  47. this.recitemcd = "";
  48. this.reccnts = "";
  49. }
  50. /**
  51. * @group :
  52. * @ver : 2008.06.13
  53. * @by : snoweye
  54. * @---------------------------------------------------
  55. * @type : struct
  56. * @access : public
  57. * @desc : 부모 화면으로 onloadcomplete 이벤트를 dispatch
  58. * @param : formcd - 현재 로딩이 완료된 서식코드
  59. * @param : curformtype - 로딩이 완료된 서식의 종류 (COMN_FORM/UNIT_FORM/GENL_FORM)
  60. * @return :
  61. * @---------------------------------------------------
  62. */
  63. /*
  64. function FORM_LOAD_STATUS()
  65. {
  66. this.curformcd = "";
  67. this.curformtype = "";
  68. this.loadlist = new ActiveXObject("Scripting.Dictionary");
  69. }
  70. */
  71. /**
  72. * @group :
  73. * @ver : 2008.06.13
  74. * @by : snoweye
  75. * @---------------------------------------------------
  76. * @type : function
  77. * @access : private
  78. * @desc : 서식 로딩상태를 세팅
  79. * @param : obj - loadstatus를 세팅할 객체
  80. * @param : formcd - 현재 로딩이 완료된 서식코드
  81. * @param : curformtype - 로딩이 완료된 서식의 종류 (COMN_FORM/UNIT_FORM/GENL_FORM)
  82. * @return :
  83. * @---------------------------------------------------
  84. */
  85. function setLoadStatus(obj, curformcd, curformtype)
  86. {
  87. loadstatus = obj.window.javascript.gFormLoadStatus;
  88. loadstatus.curformcd = curformcd;
  89. loadstatus.curformtype = curformtype;
  90. //loadstatus.loadlist.add(curformcd, LOAD_COMPLETE);
  91. }
  92. /**
  93. * @desc : 초진, 재진기록지 여부
  94. * @id :
  95. * @event : xforms-ready
  96. * @return : void
  97. * @authur : 박종훈
  98. */
  99. function IsComnMediForm(srcformcd)
  100. {
  101. var flag = false;
  102. switch (srcformcd)
  103. {
  104. case "0000000001" :
  105. case "0000000002" :
  106. case "0000000003" :
  107. case "0000000004" :
  108. flag = true;
  109. break;
  110. }
  111. return flag;
  112. }
  113. /**
  114. * @desc : 기록값 셋팅
  115. * @id :
  116. * @event :
  117. * @return : void
  118. * @authur : 박종훈
  119. */
  120. function SetCommMediFormValue(pItemCds, reciteminfo)
  121. {
  122. var ivwObj;
  123. var flag;
  124. for (var i=0; i<pItemCds.length; i++)
  125. {
  126. ivwObj = document.controls("ivw_" + pItemCds[i]);
  127. //2010.03.09 안치원 - 기록내용에서 부분서식의 Copy가 안되는 오류 수정
  128. //if (ivwObj != null && ivwObj.attribute("ctrluseyn") == "Y")
  129. if (ivwObj != null && ivwObj.attribute("unitformcd") != "")
  130. flag = SetMediFormValue(ivwObj.model, reciteminfo);
  131. else
  132. flag = SetMediFormValue(model, reciteminfo);
  133. if (flag) break;
  134. }
  135. return flag;
  136. }
  137. var MMR_REC_INFO = "/root/main/recinfo/recitem";
  138. var MMR_FORM_INFO = "/root/main/forminfo/formdegn";
  139. /**
  140. * @desc : 기록값 셋팅
  141. * @id :
  142. * @event :
  143. * @return : void
  144. * @authur : 박종훈
  145. */
  146. function SetMediFormValue(pModel, reciteminfo)
  147. {
  148. var nodeSet = MMR_REC_INFO;
  149. //2010-05-28 오전 9:299:42 이지운 추가 : MSL -> 부분서식지로 복사할경우 발생하는 오류 수정
  150. if(reciteminfo.degnitemkind == "MSL"){
  151. nodeSet = nodeSet + "[degnitemlevlcd='" +reciteminfo.degnitemlevlcd+ "' and colno='" +reciteminfo.colno+ "']";
  152. }else{
  153. nodeSet = nodeSet + "[degnitemlevlcd='" +reciteminfo.degnitemlevlcd+ "']";
  154. }
  155. var xPathFunction = "count(" + nodeSet + ")";
  156. var cnt = pModel.getXPathValue(xPathFunction);
  157. if (cnt == 1)
  158. {
  159. //2009-10-07 오후 7:59:42 강지훈 추가 : MTX -> 부분서식지로 복사할경우 발생하는 오류 수정
  160. var nodeCnt
  161. if(reciteminfo.degnitemkind == "MTX"){
  162. var otherNodeSet = MMR_FORM_INFO + "[degnitemkind != 'MTX' and contains(degnitemlevlcd, '" + reciteminfo.degnitemlevlcd + ".')]";
  163. nodeCnt = pModel.getXPathValue("count(" + otherNodeSet + ")");
  164. }
  165. else{
  166. nodeCnt = 0;
  167. }
  168. var degnitemno = pModel.getXPathValue(nodeSet+"/degnitemno");
  169. var degncntrviewflag = pModel.getXPathValue(MMR_FORM_INFO + "[degnitemno='" +degnitemno+ "']/degncntrviewflag");
  170. if (degncntrviewflag != "L" && nodeCnt == 0)
  171. {
  172. pModel.setValue(nodeSet+"/rectermcd", reciteminfo.rectermcd);
  173. if (reciteminfo.rectermcd != "")
  174. {
  175. pModel.setValue(nodeSet+"/rectermnm", reciteminfo.rectermnm);
  176. if(reciteminfo.degnitemkind == "MSL" && reciteminfo.reccnts != ""){
  177. pModel.setValue(nodeSet+"/reccnts", reciteminfo.reccnts);
  178. }
  179. }
  180. else
  181. {
  182. pModel.setValue(nodeSet+"/reccnts", reciteminfo.reccnts);
  183. }
  184. //2016.05.11 입원초진기록 교육일자 내용 복사시 기준일자 기준으로 설정
  185. try{
  186. var nSrcFormcd = parent.window.javascript.fGetFormRec("srcformcd");
  187. var nDegnitemlevlcd = reciteminfo.degnitemlevlcd;
  188. if( !isNull(nSrcFormcd) && nSrcFormcd == "0000000003"
  189. && !isNull(nDegnitemlevlcd) && nDegnitemlevlcd == "0006747.0000160"){
  190. lf_setEduDt();
  191. }
  192. }catch(e){
  193. }
  194. pModel.refresh();
  195. }
  196. return true;
  197. }
  198. else
  199. {
  200. return false;
  201. }
  202. }
  203. /**
  204. * @desc : 기록값 Clear
  205. * @id :
  206. * @event :
  207. * @return : void
  208. * @authur : 박종훈
  209. */
  210. function ClearComnFormData(itemCds)
  211. {
  212. var ctrlIvw;
  213. for (var i = 0; i < itemCds.length; i++)
  214. {
  215. ctrlIvw = document.controls("ivw_" + itemCds[i]);
  216. if (ctrlIvw != null && ctrlIvw.visible && ctrlIvw.src != "")
  217. ctrlIvw.window.javascript.clearData();
  218. }
  219. var pageInfo = new PAGEINFO();
  220. model.removeNodeset(pageInfo.extnrecItemRef);
  221. model.removeNodeset(pageInfo.imgerecItemRef);
  222. model.removeNodeset(pageInfo.fmyrecItemRef);
  223. model.removeNodeset(pageInfo.etcrecItemRef);
  224. model.removeNodeset(pageInfo.lastdiagItemRef); //2010-03-31 오전 10:08:49 강지훈추가 : 최종진단명 요약 추가
  225. model.removeNodeset(pageInfo.recRef2);
  226. //model.removeNodeset(pageInfo.recItemRef);
  227. copyNodeset(pageInfo.recRef, pageInfo.initrecRef, "replace", model, model);
  228. model.removeNodeset("/root/properties/parameters");
  229. model.makeNode("/root/properties/parameters");
  230. }
  231. /**
  232. * @desc : 이미지 편집화면 Open
  233. * @id :
  234. * @event :
  235. * @return : void
  236. * @authur : 박종훈
  237. */
  238. function OpenUnitFormImge(fstlevlitemcd, ivwid)
  239. {
  240. if (fstlevlitemcd == null)
  241. {
  242. var ctrlID = event.target;
  243. fstlevlitemcd = ctrlID.replace("btn_imge_", "");
  244. }
  245. if (ivwid == null)
  246. ivwid = "ivw_" + fstlevlitemcd;
  247. var pageInfo = new PAGEINFO();
  248. var node = model.instances(0).selectSingleNode(pageInfo.formdegnRef + "[degnitemcd = '"+fstlevlitemcd+"']");
  249. setParameter("openmode", "MediRec");
  250. setParameter("formcd", parent.window.javascript.fGetFormMast("formcd"));
  251. setParameter("formdegnseq", parent.window.javascript.fGetFormMast("formdegnseq"));
  252. setParameter("fstlevlitemcd", fstlevlitemcd);
  253. setParameter("degnitemlevlcd", node.getXPathString("degnitemlevlcd"));
  254. setParameter("degnitemlevlno", node.getXPathString("degnitemlevlno"));
  255. setParameter("ivwid", ivwid);
  256. //부분서식 로딩
  257. var ctrl = document.controls("lbl_" + fstlevlitemcd);
  258. if (ctrl != null)
  259. {
  260. loadClickSection(fstlevlitemcd);
  261. }
  262. var retVal = modalUrl("../../../emr/medirecweb/xrw/SMMMR03600_이미지편집.xrw",1,100,100,"이미지편집");
  263. /**
  264. * @desc : 공통서식내의 확장버튼(이미지,가계도,추가기록)을 기록여부에 따라 표시한다.
  265. * @history : 2009.09.09 신규 안치원 ACW_090909A
  266. */
  267. try {
  268. setButtonToggleByRecYn(null, event.target);
  269. } catch (e) {
  270. }
  271. return retVal;
  272. }
  273. /**
  274. * @desc : 가계도 편집화면 Open
  275. * @id :
  276. * @event :
  277. * @return : void
  278. * @authur : 박종훈
  279. */
  280. function OpenUnitFormFmy(fstlevlitemcd, ivwid)
  281. {
  282. if (fstlevlitemcd == null)
  283. {
  284. var ctrlID = event.target;
  285. fstlevlitemcd = ctrlID.replace("btn_fmy_", "");
  286. }
  287. //부분서식 로딩
  288. var ctrl = document.controls("lbl_" + fstlevlitemcd);
  289. if (ctrl != null)
  290. {
  291. loadClickSection(fstlevlitemcd);
  292. }
  293. openFamilyDiagram(fstlevlitemcd);
  294. /**
  295. * @desc : 공통서식내의 확장버튼(이미지,가계도,추가기록)을 기록여부에 따라 표시한다.
  296. * @history : 2009.09.09 신규 안치원 ACW_090909A
  297. */
  298. try {
  299. setButtonToggleByRecYn(null, event.target);
  300. } catch (e) {
  301. }
  302. }
  303. /**
  304. * @desc : 서식 기록 항목 초기화
  305. * @id :
  306. * @event :
  307. * @return : void
  308. * @authur : 박종훈
  309. */
  310. function InitUnitFormData(itemCds)
  311. {
  312. var ctrlIvw;
  313. var pageInfo = new PAGEINFO();
  314. //var degnitemcdlist = model.instances(0).selectNodes(pageInfo.formdegnRef + "[degnitemkind = 'FRM' and itemuseflag='F0']/degnitemcd");
  315. //var supdegnitemcdlist = model.instances(0).selectNodes(pageInfo.formdegnRef + "[degnitemkind = 'FRM' and itemuseflag='F0']/supdegnitemcd");
  316. var frmlist = model.instances(0).selectNodes(pageInfo.formdegnRef + "[degnitemkind = 'FRM' and itemuseflag='F0']");
  317. for (var i = 0; i < frmlist.length; i++)
  318. {
  319. var degnitemcd = frmlist.item(i).selectSingleNode("degnitemcd").text;
  320. var supdegnitemcd = frmlist.item(i).selectSingleNode("supdegnitemcd").text;
  321. var degnitemlevlcd = frmlist.item(i).selectSingleNode("degnitemlevlcd").text;
  322. ctrlIvw = document.controls("ivw_" + supdegnitemcd);
  323. if (ctrlIvw != null && ctrlIvw.visible && ctrlIvw.src != "")
  324. {
  325. ctrlIvw.window.javascript.clearData();
  326. var fstlevlitembasecd = degnitemlevlcd.split(".")[0];
  327. var fstlevlitemcd = model.getValue(gPrePath_formdegnRef + "degnitemlevlcd = '" + fstlevlitembasecd + "']/degnitemcd");
  328. setSrchData(pageInfo.recItemRef2 + "[fstlevlitemcd='" +fstlevlitemcd+ "' and formcd = '" + degnitemcd + "']", ctrlIvw);
  329. ctrlIvw.window.javascript.fFormReload();
  330. }
  331. }
  332. model.removeNodeset(pageInfo.extnrecItemRef);
  333. var cnt = getNodesetCnt(model, pageInfo.forminfoRef + "/extnformlist");
  334. for (var i = 1; i <= cnt; i++)
  335. {
  336. // stmt = pageInfo.recItemRef2 + "[degnitemkind != 'FDG' and fstlevlitemcd='" +model.getValue(pageInfo.forminfoRef + "/extnformlist[" +i+ "]/supdegnitemcd")+
  337. // "' and formcd = '" + model.getValue(pageInfo.forminfoRef + "/extnformlist[" +i+ "]/formcd") + "']";
  338. //가계도는 확장서식에 붙으면 안되는 문제로 수정(박종훈/2008-09-29)
  339. stmt = pageInfo.recItemRef2 + "[degnitemkind != 'FDG' and fstlevlitemcd='" +model.getValue(pageInfo.forminfoRef + "/extnformlist[" +i+ "]/supdegnitemcd")+
  340. "' and formcd = '" + model.getValue(pageInfo.forminfoRef + "/extnformlist[" +i+ "]/formcd") + "']";
  341. copyNodeset(pageInfo.extnrecItemRef, stmt, "append", model, model);
  342. model.removeNodeset(stmt);
  343. }
  344. copyNodeset(pageInfo.imgerecItemRef, pageInfo.recItemRef2 + "[degnitemkind='IMG' and rowno != '']", "replace", model, model);
  345. copyNodeset(pageInfo.fmyrecItemRef + "/recitem", pageInfo.recItemRef2 + "[degnitemkind='FDG']", "replace", model, model);
  346. copyNodeset(pageInfo.etcrecItemRef + "/recitem", pageInfo.recItemRef2 + "[degnitemno='0']", "replace", model, model);
  347. copyNodeset(pageInfo.lastdiagItemRef + "/recitem", pageInfo.recItemRef2 + "[formcd = '1000007943']", "replace", model, model); //2010-03-31 오전 10:09:29 강지훈 추가 : 최종진단명 요약지 추가
  348. }
  349. /**
  350. * @desc : 서식 기록 이미지 초기화
  351. * @id :
  352. * @event :
  353. * @return : void
  354. * @authur : 박종훈
  355. */
  356. function InitUnitFormImgeData(itemCds)
  357. {
  358. var ctrlIvw;
  359. var imgelist;
  360. var node;
  361. var pageInfo = new PAGEINFO();
  362. for (var i = 0; i < itemCds.length; i++)
  363. {
  364. ctrlIvw = document.controls("ivw_" + itemCds[i]);
  365. imgelist = ctrlIvw.model.instances(0).selectNodes(pageInfo.recItemRef+"[degnitemkind='IMG']");
  366. if (imgelist.length > 0)
  367. {
  368. copyNodeset(pageInfo.imgerecItemRef, pageInfo.recItemRef + "[degnitemkind='IMG']", "replace", model, ctrlIvw.model);
  369. for (var j = 0; j < imgelist.length; j++)
  370. {
  371. node = model.instances(0).selectSingleNode(pageInfo.imgelistRef + "[imgecd='"+ imgelist.item(j).getXPathString("degnitemcd") +"']/imgedata");
  372. if (node != null)
  373. {
  374. }
  375. }
  376. }
  377. }
  378. copyNodeset(pageInfo.imgerecItemRef, pageInfo.recItemRef2 + "[degnitemkind='IMG']", "replace", model, model);
  379. }
  380. /**
  381. * @desc : 프로그램 서식 데이터 초기화
  382. * @id :
  383. * @event :
  384. * @return : void
  385. * @authur : 박종훈
  386. */
  387. function InitPgmFormData()
  388. {
  389. var pageInfo = new PAGEINFO();
  390. setSrchData(pageInfo.recItemRef2 , window);
  391. }
  392. /**
  393. * @desc : 서식항목 기본 사이즈
  394. * @id :
  395. * @event :
  396. * @return : void
  397. * @authur : 박종훈
  398. */
  399. function SetUnitFormOrgSize(pItemCds, iheig, oheig) //20100316
  400. {
  401. var grupObj;
  402. var ctrlIvw;
  403. for (var i = 0; i < pItemCds.length; i++)
  404. {
  405. grupObj = document.controls("grup_" + pItemCds[i]);
  406. ctrlIvw = document.controls("ivw_" + pItemCds[i]);
  407. if (grupObj.attribute("orgheight") == "" || grupObj.attribute("orgheight") == null)
  408. {
  409. grupObj.attribute("orgheight") = oheig;
  410. ctrlIvw.attribute("orgheight") = iheig;
  411. }
  412. else
  413. {
  414. if (iheig == null || iheig == "")
  415. {
  416. grupObj.attribute("height") = grupObj.attribute("orgheight");
  417. ctrlIvw.attribute("height") = ctrlIvw.attribute("orgheight");
  418. }
  419. else
  420. {
  421. grupObj.attribute("height") = oheig;
  422. ctrlIvw.attribute("height") = iheig;
  423. }
  424. SetMultiTextFull(ctrlIvw, 1);
  425. }
  426. var extngrupObj = document.controls("grup_extn" + pItemCds[i]);
  427. if (extngrupObj == null)
  428. continue;
  429. grupObj.attribute("visibility") = "visible";
  430. extngrupObj.attribute("visibility") = "visible";
  431. }
  432. }
  433. /**
  434. * @desc : 서식항목 기본 사이즈
  435. * @id :
  436. * @event :
  437. * @return : void
  438. * @authur : 박종훈
  439. */
  440. function SetUnitFormOrgSizeCnst(pItemCds, iheigArr, oheigArr)
  441. {
  442. var grupObj;
  443. var ctrlIvw;
  444. for (var i = 0; i < pItemCds.length; i++)
  445. {
  446. grupObj = document.controls("grup_" + pItemCds[i]);
  447. ctrlIvw = document.controls("ivw_" + pItemCds[i]);
  448. if (grupObj.attribute("orgheight") == "" || grupObj.attribute("orgheight") == null)
  449. {
  450. grupObj.attribute("orgheight") = oheigArr[i];
  451. ctrlIvw.attribute("orgheight") = iheigArr[i];
  452. }
  453. else
  454. {
  455. if (iheigArr == null || iheigArr == "")
  456. {
  457. grupObj.attribute("height") = grupObj.attribute("orgheight");
  458. ctrlIvw.attribute("height") = ctrlIvw.attribute("orgheight");
  459. }
  460. else
  461. {
  462. grupObj.attribute("height") = oheigArr[i];
  463. ctrlIvw.attribute("height") = iheigArr[i];
  464. }
  465. SetMultiTextFull(ctrlIvw, 1);
  466. }
  467. var extngrupObj = document.controls("grup_extn" + pItemCds[i]);
  468. if (extngrupObj == null)
  469. continue;
  470. grupObj.attribute("visibility") = "visible";
  471. extngrupObj.attribute("visibility") = "visible";
  472. }
  473. }
  474. /**
  475. * @desc : 서식항목 최대 사이즈
  476. * @id :
  477. * @event :
  478. * @return : void
  479. * @authur : 박종훈
  480. */
  481. function SetUnitFormFullSize(pItemCd, pIdx, pItemCds, pPageIdx, pGrupBase)
  482. {
  483. var grupObj;
  484. var toppos = 0;
  485. //for (var i = 0; i < pPageIdx.length; i++)
  486. for (var i = 0; i < pItemCds.length; i++)
  487. {
  488. grupObj = document.controls("grup_" + pItemCds[i]);
  489. extngrupObj = document.controls("grup_extn" + pItemCds[i]);
  490. if(grupObj == null)
  491. continue;
  492. grupObj.attribute("sizeFlag") = "full";
  493. if (pPageIdx[i] == pIdx)
  494. {
  495. if (pItemCds[i] == pItemCd)
  496. {
  497. grupObj.attribute("top") = 0;
  498. grupObj.attribute("orgheight") = grupObj.attribute("height");
  499. grupObj.attribute("height") = pGrupBase.attribute("height");
  500. var grupbase_hei = parseInt(pGrupBase.attribute("height"));
  501. var ctrlIvw = document.controls("ivw_" + pItemCds[i]);
  502. ctrlIvw.attribute("orgheight") = ctrlIvw.attribute("height");
  503. ctrlIvw.attribute("height") = parseInt(pGrupBase.attribute("height")) - parseInt(ctrlIvw.attribute("top"));
  504. //grupObj.attribute("visibility") = "visible";
  505. //extngrupObj.attribute("visibility") = "visible";
  506. SetMultiTextFull(ctrlIvw, 1);
  507. }
  508. else
  509. {
  510. grupObj.attribute("visibility") = "hidden";
  511. extngrupObj.attribute("visibility") = "hidden";
  512. }
  513. }
  514. else
  515. {
  516. grupObj.attribute("visibility") = "hidden";
  517. extngrupObj.attribute("visibility") = "hidden";
  518. }
  519. }
  520. }
  521. /**
  522. * @desc : 서식항목 visible hidden
  523. * @id :
  524. * @event :
  525. * @return : void
  526. * @authur : 박종훈
  527. */
  528. function InitUnitFormLayer(itemCds, pageIdx, pageCnt, grup)
  529. {
  530. SetUserTimeLog("InitUnitFormLayer", "START");
  531. var pageInfo = new PAGEINFO();
  532. var i = 0;
  533. var pagePerSecCnt = new Array(pageCnt);
  534. for (i = 0; i < pagePerSecCnt.length; i++)
  535. {
  536. pagePerSecCnt[i] = 0;
  537. }
  538. var ctrlGrup;
  539. var existCtrl;
  540. // 안보이게 하기
  541. for (i = 0; i < itemCds.length; i++)
  542. {
  543. ctrlGrup = document.controls("grup_" + itemCds[i]);
  544. existCtrl = model.getValue(pageInfo.formdegnRef + "[degnitemcd='" + itemCds[i] + "']/degnitemcd");
  545. if (existCtrl == "")
  546. {
  547. ctrlGrup.visible = false;
  548. }
  549. else
  550. {
  551. ctrlGrup.visible = true;
  552. pagePerSecCnt[pageIdx[i]]++;
  553. }
  554. }
  555. // 보이는거 분할하기 위한 높이 구하기
  556. var pagePerTopPt = new Array(0 ,0, 0);
  557. var swtHei = parseInt(grup.attribute("height")) - 1;
  558. for (i = 0; i < pagePerSecCnt.length; i++)
  559. {
  560. if (pagePerSecCnt[i] == 1)
  561. {
  562. pagePerTopPt[i] = swtHei;
  563. }
  564. else
  565. {
  566. pagePerTopPt[i] = parseInt(swtHei / pagePerSecCnt[i]);
  567. }
  568. }
  569. // 보이는거 분할하기
  570. var topPt = 0;
  571. var prePageIdx = -1;
  572. var ctrlLbl;
  573. var ctrlExtn;
  574. var ctrlIvw;
  575. var ctrlCbo;
  576. var swtWid = parseInt(grup.attribute("width"));
  577. var grupHei;
  578. var toppos = 0;
  579. var grupextnHei = 0;
  580. for (i = 0; i < itemCds.length; i++)
  581. {
  582. ctrlGrup = document.controls("grup_" + itemCds[i]);
  583. if (ctrlGrup.visible)
  584. {
  585. // 보이는거 위치잡기
  586. grupHei = pagePerTopPt[pageIdx[i]];
  587. if (prePageIdx != pageIdx[i])
  588. topPt = 0;
  589. else
  590. topPt += grupHei;
  591. prePageIdx = pageIdx[i];
  592. ctrlGrup.attribute("left") = 0;
  593. // 보이는거 크기 조정
  594. ctrlLbl = document.controls("lbl_" + itemCds[i]);
  595. ctrlExtn= document.controls("grup_extn" + itemCds[i]);
  596. ctrlIvw = document.controls("ivw_" + itemCds[i]);
  597. ctrlCbo = document.controls("cbo_" + itemCds[i]);
  598. toppos = parseInt(ctrlLbl.attribute("height"));
  599. ctrlIvw.attribute("border-style") = "none";
  600. if (ctrlGrup.attribute("degnflag") != "fix")
  601. {
  602. ctrlGrup.attribute("top") = topPt;
  603. ctrlGrup.attribute("width") = swtWid - 2;
  604. ctrlGrup.attribute("height") = grupHei - 1;
  605. }
  606. if (ctrlExtn != null)
  607. {
  608. grupextnHei = parseInt(ctrlExtn.attribute("height"));
  609. ctrlExtn.attribute("left") = 0;
  610. ctrlExtn.attribute("top") = ctrlLbl.attribute("height");
  611. ctrlExtn.attribute("width") = ctrlGrup.attribute("width");
  612. ctrlExtn.attribute("orgheight") = ctrlExtn.attribute("height");
  613. ctrlExtn.attribute("border-style") = "none";
  614. ctrlExtn.attribute("overflow") = "visible";
  615. }
  616. else
  617. {
  618. grupextnHei = 0;
  619. }
  620. ctrlGrup.attribute("orgwidth") = ctrlGrup.attribute("width");
  621. ctrlGrup.attribute("orgheight") = ctrlGrup.attribute("height");
  622. ctrlLbl.attribute("top") = 0;
  623. // ctrlIvw.attribute("top") = ctrlLbl.attribute("height");
  624. ctrlIvw.attribute("top") = toppos + grupextnHei;
  625. ctrlIvw.attribute("height") = parseInt(ctrlGrup.attribute("height")) - parseInt(ctrlIvw.attribute("top")) - 1;
  626. ctrlIvw.attribute("orgheight") = ctrlIvw.attribute("height");
  627. ctrlLbl.attribute("left") = 0;
  628. ctrlIvw.attribute("left") = 0;
  629. //ctrlCbo.attribute("left") = parseInt(ctrlGrup.attribute("width")) - parseInt(ctrlCbo.attribute("width")) - 2;
  630. ctrlGrup.attribute("orgtop") = ctrlGrup.attribute("top");
  631. ctrlGrup.attribute("orgleft") = ctrlGrup.attribute("left");
  632. ctrlLbl.attribute("width") = ctrlGrup.attribute("width");
  633. ctrlIvw.attribute("width") = ctrlGrup.attribute("width");
  634. ctrlGrup.attribute("overflow") = "visible";
  635. }
  636. }
  637. var ctrlTar;
  638. for (i = 0; i < itemCds.length; i++)
  639. {
  640. ctrlIvw = document.controls("ivw_" + itemCds[i]);
  641. ctrlTar = document.controls("tar_" + itemCds[i]);
  642. if (ctrlTar != null)
  643. {
  644. ctrlTar.attribute("top") = ctrlIvw.attribute("top");
  645. ctrlTar.attribute("left") = ctrlIvw.attribute("left");
  646. ctrlTar.attribute("width") = ctrlIvw.attribute("width");
  647. ctrlTar.attribute("height") = ctrlIvw.attribute("height");
  648. ctrlTar.attribute("orgtop") = ctrlIvw.attribute("orgtop");
  649. ctrlTar.attribute("orgheight") = ctrlIvw.attribute("orgheight");
  650. }
  651. }
  652. model.refresh();
  653. SetUserTimeLog("InitUnitFormLayer", "END");
  654. }
  655. /**
  656. * @desc : 서식항목 초기화
  657. * @id :
  658. * @event :
  659. * @return : void
  660. * @authur : 박종훈
  661. */
  662. function InitUnitForm(itemCds, pageIdx, pageCnt, grup)
  663. {
  664. InitUnitFormLayer(itemCds, pageIdx, pageCnt, grup);
  665. InitSetUnitForm(itemCds, true);
  666. }
  667. var gLoadUnitFormCnt = 0;
  668. var gLoadedUnitFormCnt = 0;
  669. /**
  670. * @desc : 자유입력 Textarea(부분서식 대체)
  671. * @id :
  672. * @event :
  673. * @return : void
  674. * @authur : 박종훈
  675. */
  676. function InitLoadSection(itemCds)
  677. {
  678. var pageInfo = new PAGEINFO();
  679. for (var i = 0; i < itemCds.length; i++)
  680. {
  681. var cnt = getNodesetCnt(model, pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+itemCds[i]+"']");
  682. var ivwObj = document.controls("ivw_" + itemCds[i]);
  683. var tarObj = document.controls("tar_" + itemCds[i]);
  684. //alert(itemCds[i]+", "+model.getValue(pageInfo.forminfoRef + "/unitformmast/orgsupdegnitemcd"));
  685. if (cnt == 0)
  686. {
  687. //alert(itemCds[i]+", true");
  688. ivwObj.visible = false;
  689. tarObj.visible = true;
  690. //ivwObj.attribute("ctrluseyn") = "N";
  691. //tarObj.attribute("ctrluseyn") = "Y";
  692. }
  693. else
  694. {
  695. //alert(itemCds[i]+", false");
  696. ivwObj.visible = true;
  697. tarObj.visible = false;
  698. //ivwObj.attribute("ctrluseyn") = "Y";
  699. //tarObj.attribute("ctrluseyn") = "N";
  700. }
  701. if (tarObj.visible == true)
  702. {
  703. setComnEvent(parent.window.javascript.fGetFormMast("srcformcd"), tarObj.attribute("degnitemno"), tarObj.attribute("id"));
  704. }
  705. var cboObj = document.controls("cbo_" + gItemCds[i]);
  706. if (cboObj != null)
  707. SetUnitFormList(cboObj, gItemCds[i])
  708. }
  709. InitSetUnitForm(itemCds, true);
  710. makeRefByDegnitemno();
  711. }
  712. /*
  713. * @desc : 부분서식 Load
  714. * @id :
  715. * @event :
  716. * @return : void
  717. * @authur : 박종훈
  718. */
  719. function InitSetUnitForm(itemCds, pDraw)
  720. {
  721. SetUserTimeLog("InitSetUnitForm", "START");
  722. var pageInfo = new PAGEINFO();
  723. var ctrlIvw;
  724. gLoadUnitFormCnt = itemCds.length;
  725. gLoadedUnitFormCnt = 0;
  726. for (var i = 0; i < itemCds.length; i++)
  727. {
  728. //try
  729. //{
  730. var unitformcd = model.getValue(pageInfo.formdegnRef + "[supdegnitemcd='" + itemCds[i] +
  731. "' and degnitemkind = 'FRM' and itemuseflag = 'F0']/degnitemcd");
  732. if (unitformcd != "")
  733. {
  734. ctrlIvw = document.controls("ivw_" + itemCds[i]);
  735. ctrlIvw.attribute("supdegnitemcd") = itemCds[i];
  736. ctrlIvw.attribute("unitformcd") = unitformcd;
  737. SetUnitForm(ctrlIvw, unitformcd, pDraw);
  738. }
  739. ctrlCbo = document.controls("cbo_" + itemCds[i]);
  740. SetUnitFormList(ctrlCbo, itemCds[i]);
  741. //}
  742. //catch (e)
  743. //{
  744. // alert("[ERROR] InitUnitForm : " + itemCds[i]);
  745. // throw e;
  746. //}
  747. }
  748. SetUserTimeLog("InitSetUnitForm", "END");
  749. }
  750. /**
  751. * @desc : 부분서식 Set
  752. * @id :
  753. * @event :
  754. * @return : void
  755. * @authur : 박종훈
  756. */
  757. function SetUnitForm(ivwObj, unitformcd, bDraw)
  758. {
  759. SetUserTimeLog("SetUnitForm", "START - " + unitformcd);
  760. //try
  761. //{
  762. if(bDraw == null)
  763. bDraw = true;
  764. var pageInfo = new PAGEINFO();
  765. var supdegnitemcd = ivwObj.attribute("supdegnitemcd");
  766. if (ivwObj.src == "")
  767. {
  768. ivwObj.src = "../../../emr/formmngtweb/xrw/SSMRF01200.xrw";
  769. }
  770. if (opener.model.getValue("/root/emrtemp/sysformxrwyn") == "Y" &&
  771. model.getValue(pageInfo.forminfoRef + "/unitformmast[formcd='"+unitformcd+"']/formxrwyn") == "Y")
  772. {
  773. if(bDraw)
  774. {
  775. //alert("xrwyesdraw"+ivwObj.attribute("id"));
  776. /*********************/
  777. /* XRW Loading Logic */
  778. /*********************/
  779. /*var formdegnseq = model.getValue(pageInfo.forminfoRef + "/unitformmast[formcd='"+unitformcd+"']/formdegnseq") ;
  780. if (ivwObj.attribute("loaded_formdegnseq") == formdegnseq)
  781. {
  782. ivwObj.window.javascript.clearData();
  783. SetUserTimeLog("SetUnitForm", "clearData END - " + ivwObj.attribute("id"));
  784. // EmrFormReady(ivwObj.attribute("id"));
  785. }
  786. else
  787. {
  788. ivwObj.attribute("loaded_formdegnseq") = formdegnseq;
  789. // ivwObj.window.javascript.fDrawFormByFormDegnSeq(formdegnseq, ivwObj.attribute("id"));
  790. // SetUserTimeLog("SetUnitForm", "fDrawFormByFormDegnSeq END - " + ivwObj.attribute("id"));
  791. ivwObj.src = GetFormXrwSubmitStr(formdegnseq, "", ivwObj.attribute("id"));
  792. SetUserTimeLog("SetUnitForm", "GetFormXrwSubmitStr END");
  793. var pageInfo = new PAGEINFO();
  794. ivwObj.window.javascript.fSetDegnItems(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+ supdegnitemcd +"']",
  795. pageInfo.forminfoRef + "/unitformdegn[orgsupdegnitemcd='"+ supdegnitemcd +"']",
  796. pageInfo.forminfoRef + "/vallist", pageInfo.forminfoRef + "/imgelist", "record", supdegnitemcd, ivwObj);
  797. SetUserTimeLog("SetUnitForm", "fSetDegnItems END");
  798. ivwObj.window.javascript.makeInstance(NewPageInfo(ivwObj, supdegnitemcd));
  799. SetUserTimeLog("SetUnitForm", "makeInstance END");
  800. SetMultiTextFull(ivwObj, 1);
  801. ivwObj.model.refresh();
  802. }*/
  803. /*ivwObj.window.javascript.fPreviewByDegnItems(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+ supdegnitemcd +"']",
  804. "", //디자인정보를 주지 않기로 함.
  805. pageInfo.forminfoRef + "/vallist",
  806. pageInfo.forminfoRef + "/imgelist",
  807. "record",
  808. supdegnitemcd,
  809. ivwObj);
  810. SetUserTimeLog("SetUnitForm", "fPreviewByDegnItems new END");
  811. SetMultiTextFull(ivwObj, 1);
  812. ivwObj.model.refresh();*/
  813. //ivwObj.window.javascript.fDrawFormByFormDegnSeq(model.getValue(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+ supdegnitemcd +"']/formdegnseq"), ivwObj.attribute("id"));
  814. ivwObj.window.javascript.fLoadFormByFormDegnSeq(model.getValue(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+ supdegnitemcd +"']/formdegnseq"), ivwObj.attribute("id"));
  815. SetUserTimeLog("SetUnitForm", "fLoadFormByFormDegnSeq END");
  816. SetMultiTextFull(ivwObj, 1);
  817. }
  818. else if(!bDraw)
  819. {
  820. ivwObj.window.javascript.fSetDegnItems(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+ supdegnitemcd +"']",
  821. pageInfo.forminfoRef + "/unitformdegn[orgsupdegnitemcd='"+ supdegnitemcd +"']",
  822. pageInfo.forminfoRef + "/vallist", pageInfo.forminfoRef + "/imgelist", "record", supdegnitemcd, ivwObj);
  823. }
  824. }
  825. else
  826. {
  827. if(bDraw)
  828. {
  829. if (ivwObj.src != "../../../emr/formmngtweb/xrw/SSMRF01200.xrw")
  830. {
  831. ivwObj.src = "../../../emr/formmngtweb/xrw/SSMRF01200.xrw";
  832. SetUserTimeLog("SetUnitForm", "ivwObj.src END");
  833. }
  834. ivwObj.window.javascript.fPreviewByDegnItems(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+ supdegnitemcd +"']",
  835. pageInfo.forminfoRef + "/unitformdegn[orgsupdegnitemcd='"+ supdegnitemcd +"']",
  836. pageInfo.forminfoRef + "/vallist", pageInfo.forminfoRef + "/imgelist", "record", supdegnitemcd, ivwObj);
  837. SetUserTimeLog("SetUnitForm", "fPreviewByDegnItems END");
  838. SetMultiTextFull(ivwObj, 1);
  839. ivwObj.model.refresh();
  840. }
  841. else if(!bDraw)
  842. {
  843. ivwObj.window.javascript.fSetDegnItems(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+ supdegnitemcd +"']",
  844. pageInfo.forminfoRef + "/unitformdegn[orgsupdegnitemcd='"+ supdegnitemcd +"']",
  845. pageInfo.forminfoRef + "/vallist", pageInfo.forminfoRef + "/imgelist", "record", supdegnitemcd, ivwObj);
  846. }
  847. }
  848. //}
  849. //catch (e)
  850. //{
  851. // alert("[ERROR] SetUnitForm");
  852. // throw e;
  853. //}
  854. SetUserTimeLog("SetUnitForm", "END");
  855. }
  856. /**
  857. * @desc : 서식항목 타입 초기화
  858. * @id :
  859. * @event :
  860. * @return : void
  861. * @authur : 박종훈
  862. */
  863. function InitUnitFormTypeOne(itemCds)
  864. {
  865. var ctrlIvw;
  866. var ctrlCbo;
  867. var ctrlGrup;
  868. var unitformcd;
  869. for (var i = 0; i < itemCds.length; i++)
  870. {
  871. ctrlGrup = document.controls("grup_" + itemCds[i]);
  872. ctrlGrup.attribute("orgtop") = ctrlGrup.attribute("top");
  873. ctrlGrup.attribute("orgheight") = ctrlGrup.attribute("height");
  874. ctrlIvw = document.controls("ivw_" + itemCds[i]);
  875. ctrlIvw.attribute("width") = 593;
  876. ctrlIvw.attribute("orgheight") = ctrlIvw.attribute("height");
  877. ctrlIvw.attribute("border-style") = "none";
  878. unitformcd = model.getValue(pageInfo.formdegnRef + "[supdegnitemcd='" + itemCds[i] +
  879. "' and degnitemkind = 'FRM' and itemuseflag = 'F0']/degnitemcd");
  880. if (unitformcd != "")
  881. {
  882. ctrlIvw = document.controls("ivw_" + itemCds[i]);
  883. ctrlIvw.attribute("unitformcd") = unitformcd;
  884. SetUnitForm(ctrlIvw, itemCds[i]);
  885. }
  886. ctrlCbo = document.controls("cbo_" + itemCds[i]);
  887. SetUnitFormList(ctrlCbo, itemCds[i]);
  888. }
  889. }
  890. /**
  891. * @desc : 그룹사이즈 최대화
  892. * @id :
  893. * @event :
  894. * @return : void
  895. * @authur : 박종훈
  896. */
  897. function maxSizeGrup(pItemCd, pIdx, pItemCds, pPageIdx, pGrupBase, flag)
  898. {
  899. var grupMinHei = 24;
  900. var grupObj = document.controls("grup_" + pItemCd);
  901. if (grupObj.attribute("sizeFlag") == "full")
  902. {
  903. return;
  904. }
  905. else if (grupObj.attribute("sizeFlag") == "max")
  906. {
  907. resetSizeGrup(pIdx, pItemCds, pPageIdx);
  908. return;
  909. }
  910. var grupCnt = 0;
  911. for (var i = 0; i < pPageIdx.length; i++)
  912. {
  913. if (pPageIdx[i] == pIdx) grupCnt++;
  914. }
  915. var baseHei = parseInt(pGrupBase.attribute("height"));
  916. var grupMaxHei = baseHei - (grupMinHei * (grupCnt - 1));
  917. var ypos = 0;
  918. var ivwObj;
  919. var extnObj;
  920. for (var i = 0; i < pItemCds.length; i++)
  921. {
  922. grupObj = document.controls("grup_" + pItemCds[i]);
  923. ivwObj = document.controls("ivw_" + pItemCds[i]);
  924. extnObj = document.controls("grup_extn" + pItemCds[i]);
  925. if (pItemCds[i] == pItemCd)
  926. {
  927. grupObj.attribute("height") = grupMaxHei;
  928. grupObj.attribute("sizeFlag") = "max";
  929. //grupObj.attribute("orgheight") = grupObj.attribute("height");
  930. if (extnObj != null)
  931. {
  932. extnObj.attribute("visibility") = "visible"
  933. extnObj.attribute("height") = extnObj.attribute("orgheight");
  934. }
  935. ivwObj.attribute("height") = parseInt(grupObj.attribute("height")) - parseInt(ivwObj.attribute("top")) - 1;
  936. SetMultiTextFull(ivwObj, 1);
  937. }
  938. else
  939. {
  940. if (pPageIdx[i] == pIdx)
  941. {
  942. grupObj.attribute("height") = grupMinHei;
  943. grupObj.attribute("sizeFlag") = "min";
  944. if (extnObj != null)
  945. {
  946. extnObj.attribute("visibility") = "hidden"
  947. extnObj.attribute("height") = 0;
  948. }
  949. ivwObj.attribute("height") = 0;
  950. //SetMultiTextFull(ivwObj, 1);
  951. }
  952. }
  953. if (pPageIdx[i] == pIdx)
  954. {
  955. grupObj.attribute("top") = ypos;
  956. ypos += parseInt(grupObj.attribute("height"));
  957. }
  958. }
  959. }
  960. /**
  961. * @desc : 그룹 사이즈 초기화
  962. * @id :
  963. * @event :
  964. * @return : void
  965. * @authur : 박종훈
  966. */
  967. function resetSizeGrup(pIdx, pItemCds, pPageIdx)
  968. {
  969. for (var i = 0; i < pItemCds.length; i++)
  970. {
  971. if (pPageIdx[i] == pIdx)
  972. {
  973. var grupObj = document.controls("grup_" + pItemCds[i]);
  974. var ivwObj = document.controls("ivw_" + pItemCds[i]);
  975. var extnObj = document.controls("grup_extn" + pItemCds[i]);
  976. grupObj.attribute("top") = parseInt(grupObj.attribute("orgtop"));
  977. grupObj.attribute("height") = parseInt(grupObj.attribute("orgheight"));
  978. grupObj.attribute("sizeFlag") = "";
  979. if (extnObj != null)
  980. {
  981. extnObj.attribute("visibility") = "visible"
  982. extnObj.attribute("height") = extnObj.attribute("orgheight");
  983. }
  984. ivwObj.attribute("height") = ivwObj.attribute("orgheight");
  985. SetMultiTextFull(ivwObj, 1);
  986. }
  987. }
  988. }
  989. /**
  990. * @desc : 서식 정보 Set
  991. * @id :
  992. * @event :
  993. * @return : void
  994. * @authur : 박종훈
  995. */
  996. function SetUnitFormInfo(itemCds)
  997. {
  998. var ctrlIvw;
  999. var ctrlCbo;
  1000. for (var i = 0; i < itemCds.length; i++)
  1001. {
  1002. ctrlIvw = document.controls("ivw_" + itemCds[i]);
  1003. ctrlCbo = document.controls("cbo_" + itemCds[i]);
  1004. SetUnitForm(ctrlIvw, itemCds[i]);
  1005. SetUnitFormList(ctrlCbo, itemCds[i]);
  1006. }
  1007. }
  1008. var gFstItemCds; //gItemCds가 최상위아이템이 아닐때 세팅된다.
  1009. /**
  1010. * @desc : 기록 아이템 데이터 저장
  1011. * @id :
  1012. * @event :
  1013. * @return : void
  1014. * @authur : 박종훈
  1015. */
  1016. function InitSaveComnFormRecItemData(mode)
  1017. {
  1018. var ctrlIvw;
  1019. var pageInfo = new PAGEINFO();
  1020. if (gFstItemCds == null)
  1021. {
  1022. gFstItemCds = gItemCds;
  1023. }
  1024. model.removeNodeset(pageInfo.sortItemRef);
  1025. //program서식 데이터 저장
  1026. getSaveData(pageInfo.sortItemRef, "append", model, null, mode);
  1027. for (var i = 0; i < gItemCds.length; i++)
  1028. {
  1029. ctrlIvw = document.controls("ivw_" + gItemCds[i]);
  1030. if (ctrlIvw != null && ctrlIvw.visible)
  1031. ctrlIvw.window.javascript.getSaveData(pageInfo.sortItemRef, "append", model, NewPageInfo(ctrlIvw, gFstItemCds[i]));
  1032. copyNodeset(pageInfo.sortItemRef, "/root/hidden/extnformrec/recinfo/recitem[fstlevlitemcd = '" +gItemCds[i]+ "']", "append", model, model);
  1033. copyNodeset(pageInfo.sortItemRef, pageInfo.imgerecItemRef + "[fstlevlitemcd = '" +gItemCds[i]+ "']", "append", model, model);
  1034. //copyNodeset(pageInfo.sortItemRef, pageInfo.etcrecItemRef + "/recitem[fstlevlitemcd = '" +gItemCds[i]+ "']", "append", model, model);
  1035. }
  1036. /*var nodelist = model.instances(0).selectNodes(pageInfo.formdegnRef + "[degnitemlevlno = '1']/degnitemcd");
  1037. for (var i = 0; i < nodelist.length; i++)
  1038. {
  1039. var degnitemcd = nodelist.item(i).text;
  1040. copyNodeset(pageInfo.sortItemRef, "/root/hidden/extnformrec/recinfo/recitem[fstlevlitemcd = '" +degnitemcd+ "']", "append", model, model);
  1041. copyNodeset(pageInfo.sortItemRef, pageInfo.imgerecItemRef + "[fstlevlitemcd = '" +degnitemcd+ "']", "append", model, model);
  1042. }
  1043. */
  1044. SortRecItem();
  1045. copyNodeset(pageInfo.recItemRef2, pageInfo.recItemRef2, "replace", opener.model, model);
  1046. }
  1047. /**
  1048. * @desc : 기록 아이템 Sort
  1049. * @id :
  1050. * @event :
  1051. * @return : void
  1052. * @authur : 박종훈
  1053. */
  1054. function SortRecItem()
  1055. {
  1056. var pageInfo = new PAGEINFO();
  1057. model.removeNodeset(pageInfo.recItemRef2);
  1058. var nodelist = model.instances(0).selectNodes(pageInfo.formdegnRef + "[degnitemlevlno = '1']/degnitemcd");
  1059. var degnitemcd = null;
  1060. for (var i = 0; i < nodelist.length; i++)
  1061. {
  1062. degnitemcd = nodelist.item(i).text;
  1063. copyNodeset(pageInfo.recItemRef2, pageInfo.sortItemRef + "[fstlevlitemcd = '" +degnitemcd+ "']", "append", model, model);
  1064. model.removeNodeset(pageInfo.sortItemRef + "[fstlevlitemcd = '" +degnitemcd+ "']");
  1065. }
  1066. }
  1067. /**
  1068. * @desc : Page Info 재설정
  1069. * @id :
  1070. * @event :
  1071. * @return : void
  1072. * @authur : 박종훈
  1073. */
  1074. function NewPageInfo(ctrlIvw, fstlevlitemcd, refPath)
  1075. {
  1076. if(refPath == null)
  1077. refPath = "/root/main/forminfo/";
  1078. var node = model.instances(0).selectSingleNode(refPath + "/formdegn[degnitemcd='"+ fstlevlitemcd +"']");
  1079. var pageInfo = new PAGEINFO(ctrlIvw);
  1080. pageInfo.formCd = model.getValue(refPath + "/formmast/formcd");
  1081. pageInfo.formDegnSeq = model.getValue(refPath + "/formmast/formdegnseq");
  1082. pageInfo.degnItemNo = model.getValue(refPath + "/formdegn[degnitemcd='"+ fstlevlitemcd +"']/degnitemno");
  1083. pageInfo.degnItemCd = model.getValue(refPath + "/formdegn[degnitemcd='"+ fstlevlitemcd +"']/degnitemcd");
  1084. pageInfo.degnItemLevlCd = model.getValue(refPath + "/formdegn[degnitemcd='"+ fstlevlitemcd +"']/degnitemlevlcd");
  1085. pageInfo.fstLevlItemCd = fstlevlitemcd;
  1086. pageInfo.degnitemkind = model.getValue(refPath + "/formdegn[degnitemcd='"+ fstlevlitemcd +"']/degnitemkind");
  1087. pageInfo.degnitemlevlno = model.getValue(refPath + "/formdegn[degnitemcd='"+ fstlevlitemcd +"']/degnitemlevlno");
  1088. pageInfo.degnitemnm = model.getValue(refPath + "/formdegn[degnitemcd='"+ fstlevlitemcd +"']/degnitemnm");
  1089. return pageInfo;
  1090. }
  1091. /**
  1092. * @desc : 부분서식 갯수 카운트하여 리턴
  1093. * @id :
  1094. * @event :
  1095. * @return : void
  1096. * @authur : 박종훈
  1097. */
  1098. function GetUnitFormCnt()
  1099. {
  1100. return opener.window.javascript.fGetUnitFormCnt();
  1101. }
  1102. /**
  1103. * @desc : 부분서식 정보 가져온다
  1104. * @id :
  1105. * @event :
  1106. * @return : void
  1107. * @authur : 박종훈
  1108. */
  1109. function GetUnitFormInfo(pIvwID)
  1110. {
  1111. try
  1112. {
  1113. var ivwObj = document.controls(pIvwID);
  1114. var supdegnitemcd = ivwObj.attribute("supdegnitemcd");
  1115. var pageInfo = new PAGEINFO();
  1116. ivwObj.window.javascript.fSetDegnItems(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+ supdegnitemcd +"']",
  1117. pageInfo.forminfoRef + "/unitformdegn[orgsupdegnitemcd='"+ supdegnitemcd +"']",
  1118. pageInfo.forminfoRef + "/vallist", pageInfo.forminfoRef + "/imgelist", "record", supdegnitemcd, ivwObj);
  1119. ivwObj.window.javascript.makeInstance(pageInfo);
  1120. SetMultiTextFull(ivwObj, 1);
  1121. }
  1122. catch (e)
  1123. {
  1124. alert("[ERROR] GetUnitFormInfo : " + pIvwID);
  1125. throw e;
  1126. }
  1127. }
  1128. /**
  1129. * @desc : XRW Submit
  1130. * @id :
  1131. * @event :
  1132. * @return : void
  1133. * @authur : 박종훈
  1134. */
  1135. function GetFormXrwSubmitStr(pFormDegnSeq, pFormCd, pIvwID)
  1136. {
  1137. return getActionURL("TRMRF01201") + "&formdegnseq=" +pFormDegnSeq+ "&formcd=" +pFormCd+ "&ivwid=" +pIvwID+ "&";
  1138. }
  1139. var gFrLoadTime;
  1140. /**
  1141. * @desc : 시간을 리턴헤준다
  1142. * @id :
  1143. * @event :
  1144. * @return : void
  1145. * @authur : 박종훈
  1146. */
  1147. function GetFrLoadTime()
  1148. {
  1149. return gFrLoadTime;
  1150. }
  1151. /**
  1152. * @desc : 서식로드 관련 시간계산
  1153. * @id :
  1154. * @event :
  1155. * @return : void
  1156. * @authur : 박종훈
  1157. */
  1158. function SetFrLoadTime(frtime)
  1159. {
  1160. if (frtime == null)
  1161. {
  1162. gFrLoadTime = new Date();
  1163. }
  1164. else
  1165. {
  1166. gFrLoadTime = frtime;
  1167. }
  1168. }
  1169. /**
  1170. * @desc : 서식로드 관련 시간계산
  1171. * @id :
  1172. * @event :
  1173. * @return : void
  1174. * @authur : 박종훈
  1175. */
  1176. function SetToLoadTime(flag, totime)
  1177. {
  1178. if (totime == null)
  1179. {
  1180. totime = new Date();
  1181. }
  1182. if (flag==1)
  1183. {
  1184. cap_loadtime.text = ((totime.getTime() - gFrLoadTime.getTime()) / 1000) + " sec";
  1185. }
  1186. else if (flag==2)
  1187. {
  1188. opener.window.javascript.cap_loadtime.text = ((totime.getTime() - opener.window.javascript.gFrLoadTime.getTime()) / 1000) + " sec";
  1189. }
  1190. }
  1191. /**
  1192. * @desc : 서식로드 관련 시간계산
  1193. * @id :
  1194. * @event :
  1195. * @return : void
  1196. * @authur : 박종훈
  1197. */
  1198. function EmrFormReady(ivwID)
  1199. {
  1200. if (ivwID == "")
  1201. {
  1202. SetToLoadTime(1);
  1203. }
  1204. else
  1205. {
  1206. SetToLoadTime(2);
  1207. }
  1208. // if (ivwID == "")
  1209. // {
  1210. // SetToLoadTime(1);
  1211. // }
  1212. // else
  1213. // {
  1214. // SetUnitFormModel(ivwID);
  1215. // fEndLoadForm(ivwID);
  1216. // SetUserTimeLog("EmrFormReady", "END - " + ivwID);
  1217. // }
  1218. //
  1219. // gLoadedUnitFormCnt++;
  1220. // if (gLoadUnitFormCnt == gLoadedUnitFormCnt)
  1221. // {
  1222. // try {
  1223. // fEndLoadForm();
  1224. // SetToLoadTime(2);
  1225. // SetUserTimeLog("EmrFormReady", "END - ALL");
  1226. // }
  1227. // catch (e) {
  1228. // alert("Function fEndLoadForm 가 정의되어 있지 않습니다.");
  1229. // }
  1230. //
  1231. // opener.window.javascript.fLoaderEndForm();
  1232. // }
  1233. }
  1234. /**
  1235. * @desc : 부분서식 모델 Set
  1236. * @id :
  1237. * @event :
  1238. * @return : void
  1239. * @authur : 박종훈
  1240. */
  1241. function SetUnitFormModel(ivwID)
  1242. {
  1243. SetUserTimeLog("SetUnitFormModel", "START - " + ivwID);
  1244. var ivwObj = document.controls(ivwID);
  1245. var supdegnitemcd = ivwObj.attribute("supdegnitemcd");
  1246. var pageInfo = new PAGEINFO();
  1247. ivwObj.window.javascript.fSetDegnItems(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+ supdegnitemcd +"']",
  1248. pageInfo.forminfoRef + "/unitformdegn[orgsupdegnitemcd='"+ supdegnitemcd +"']",
  1249. pageInfo.forminfoRef + "/vallist", pageInfo.forminfoRef + "/imgelist", "record", supdegnitemcd, ivwObj);
  1250. SetUserTimeLog("SetUnitFormModel", "fSetDegnItems END - " + ivwID);
  1251. ivwObj.window.javascript.makeInstance(NewPageInfo(ivwObj, supdegnitemcd));
  1252. SetUserTimeLog("SetUnitFormModel", "makeInstance END - " + ivwID);
  1253. SetMultiTextFull(ivwObj, 1);
  1254. //ivwObj.model.refresh();
  1255. SetToLoadTime(2);
  1256. SetUserTimeLog("SetUnitFormModel", "makeInstance END - " + ivwID);
  1257. }
  1258. /**
  1259. * @desc : 부분서식리스트 Set
  1260. * @id :
  1261. * @event :
  1262. * @return : void
  1263. * @authur : 박종훈
  1264. */
  1265. function SetUnitFormList(cboObj, supdegnitemcd)
  1266. {
  1267. if (cboObj == null) return;
  1268. var pageInfo = new PAGEINFO();
  1269. cboObj.refresh();
  1270. if (cboObj.itemCount == 0)
  1271. {
  1272. cboObj.visible = false;
  1273. }
  1274. else
  1275. {
  1276. cboObj.visible = true;
  1277. var node = model.instances(0).selectSingleNode(pageInfo.forminfoRef + "/unitformdegn[orgsupdegnitemcd='"+ supdegnitemcd +"']/formdegnseq");
  1278. if (node != null)
  1279. {
  1280. model.makeValue("/root/hidden/choicbo/cbo_" + supdegnitemcd + "/baseunitformdegnseq", node.text);
  1281. model.makeValue("/root/hidden/choicbo/cbo_" + supdegnitemcd + "/extnunitformdegnseq", node.text);
  1282. }
  1283. else
  1284. {
  1285. model.makeValue("/root/hidden/choicbo/cbo_" + supdegnitemcd + "/baseunitformdegnseq", "");
  1286. model.makeValue("/root/hidden/choicbo/cbo_" + supdegnitemcd + "/extnunitformdegnseq", "");
  1287. }
  1288. //model.makeNode("/root/hidden/choicbo/cbo_" + supdegnitemcd + "/extnunitformdegnseq");
  1289. cboObj.attribute("ref") = "/root/hidden/choicbo/cbo_" + supdegnitemcd + "/extnunitformdegnseq";
  1290. cboObj.refresh();
  1291. }
  1292. }
  1293. /**
  1294. * @desc : 서식로더 셋팅
  1295. * @id :
  1296. * @event :
  1297. * @return : void
  1298. * @authur : 박종훈
  1299. */
  1300. function setFormLoader(iviewer)
  1301. {
  1302. iviewer.src = "../../medirecweb/xrw/SSMMR01100_서식로더.xrw";
  1303. iviewer.attribute("border-style") = "solid";
  1304. iviewer.attribute("border-color") = "#c0c0c0";
  1305. }
  1306. /**
  1307. * @desc : 서식그리기
  1308. * @id :
  1309. * @event :
  1310. * @return : void
  1311. * @authur : 박종훈
  1312. */
  1313. function drawForm()
  1314. {
  1315. for(var i = 0; i < document.controls.length; i++)
  1316. {
  1317. var ctrl = document.controls.item(i);
  1318. if(ctrl.elementName != "xforms:iviewer")
  1319. continue;
  1320. var formcd = ctrl.attribute("formcd");
  1321. var formdegnseqno = ctrl.attribute("formdegnseqno");
  1322. if(formcd == "" && formdegnseqno == "")
  1323. continue;
  1324. //var degndeptcd = ctrl.attribute("degndeptcd");
  1325. //var degnid = ctrl.attribute("degnid");
  1326. ctrl.window.javascript.fSetFormDegnInfo(ctrl);
  1327. }
  1328. }
  1329. /**
  1330. * @desc : 부분서식 데이터 조회
  1331. * @id :
  1332. * @event :
  1333. * @return : void
  1334. * @authur : 박종훈
  1335. */
  1336. function getSubFormData()
  1337. {
  1338. var targetRef = "/root/main/subform";
  1339. var srcRef = "/root/main/formrecinfo/items";
  1340. model.removeNodeset(targetRef);
  1341. for(var i = 0; i < document.controls.length; i++)
  1342. {
  1343. var ctrl = document.controls.item(i);
  1344. if(ctrl.elementName != "xforms:iviewer")
  1345. continue;
  1346. var formcd = ctrl.attribute("formcd");
  1347. var formdegnseqno = ctrl.attribute("formdegnseqno");
  1348. var id = "";
  1349. var type = "";
  1350. if(formcd != "")
  1351. {
  1352. id = formcd;
  1353. type = "formcd";
  1354. }
  1355. else if(formdegnseqno != "")
  1356. {
  1357. id = formdegnseqno;
  1358. type = "formdegnseqno";
  1359. }
  1360. else
  1361. continue;
  1362. var cntSubForm = getNodesetCnt(model, targetRef);
  1363. //model.makeValue(targetRef + "[" + (cntSubForm + 1) + "]/@id", id);
  1364. copyNodeset(model, ctrl.model, targetRef + "[" + (cntSubForm + 1) + "]/items", srcRef);
  1365. model.makeValue(targetRef + "[" + (cntSubForm + 1) + "]/@id", id);
  1366. model.makeValue(targetRef + "[" + (cntSubForm + 1) + "]/@type", type);
  1367. }
  1368. }
  1369. /**
  1370. * @desc : 노드셋 Count
  1371. * @id :
  1372. * @event :
  1373. * @return : void
  1374. * @authur : 박종훈
  1375. */
  1376. function fGetRecNodeCount(srcPath)
  1377. {
  1378. return getNodesetCount(srcPath);
  1379. }
  1380. /**
  1381. * @desc : 노드셋 삭제
  1382. * @id :
  1383. * @event :
  1384. * @return : void
  1385. * @authur : 박종훈
  1386. */
  1387. function fRemoveRecNodeset(srcPath)
  1388. {
  1389. model.removeNodeset(srcPath);
  1390. }
  1391. //function GetExtnUnitFormInfo(baseunitformdegnseq, extnunitformdegnseq)
  1392. //{
  1393. // return opener.window.javascript.fGetExtnUnitFormInfo(baseunitformdegnseq, extnunitformdegnseq)
  1394. //}
  1395. /**
  1396. * @desc : 가계도
  1397. * @id :
  1398. * @event :
  1399. * @return : void
  1400. * @authur : 박종훈
  1401. */
  1402. function openFamilyDiagram(supdegnitemcd)
  1403. {
  1404. var pageInfo = new PAGEINFO();
  1405. //setParameter("SPMMR04700_opemode", "comnform");
  1406. //setParameter("SPMMR04700_fstlevlitemcd", supdegnitemcd);
  1407. //setParameter("SPMMR04700_path_output", pageInfo.fmyrecItemRef);
  1408. //setParameter("SPMMR04700_path_output", pageInfo.fmyrecItemRef + "[fstlevlitemcd='" + supdegnitemcd + "' and formcd='0000002615']");
  1409. var fdgInfo = model.getValue(pageInfo.recItemRef2 + "[fstlevlitemcd='" + supdegnitemcd + "' and formcd='0000002615']/reccnts");
  1410. if(fdgInfo != "") {
  1411. setParameter("SPMMR04711_shape", fdgInfo);
  1412. model.setValue("/root/properties/parameters/SPMMR04711_shape/SPMMR04711_shapevalue", fdgInfo, true);
  1413. }
  1414. var fdgImg = model.getValue(pageInfo.recItemRef2 + "[fstlevlitemcd='" + supdegnitemcd + "' and formcd='0000002615']/recimge");
  1415. if(fdgImg != "") {
  1416. setParameter("SPMMR04711_base64", fdgImg);
  1417. model.setValue("/root/properties/parameters/SPMMR04711_base64/SPMMR04711_base64value", fdgImg, true);
  1418. }
  1419. modal("SPMMR04700", 1, 0, 0, "", "", "");
  1420. // 가계도 Shape 데이터 및 Base64 이미지를 CDATA로 세팅
  1421. fdgInfo = getParameter("SPMMR04711_shape");
  1422. fdgImg = getParameter("SPMMR04711_base64");
  1423. if(fdgInfo != "") {
  1424. model.setValue("/root/properties/parameters/SPMMR04711_shape/SPMMR04711_shapevalue", fdgInfo, true);
  1425. }
  1426. if(fdgImg != "") {
  1427. model.setValue("/root/properties/parameters/SPMMR04711_base64/SPMMR04711_base64value", fdgImg, true);
  1428. }
  1429. if(fdgInfo == "")
  1430. {
  1431. clearParameter("SPMMR04711_shape");
  1432. clearParameter("SPMMR04711_base64");
  1433. model.removeNode(pageInfo.fmyrecItemRef + "/recitem[fstlevlitemcd='" + supdegnitemcd + "' and formcd='0000002615']");
  1434. return;
  1435. }
  1436. else
  1437. {
  1438. var instcd = instance1.createElement("instcd" );
  1439. var rechistseq = instance1.createElement("rechistseq" );
  1440. var recitemno = instance1.createElement("recitemno" );
  1441. var fstlevlitemcd = instance1.createElement("fstlevlitemcd" );
  1442. var formcd = instance1.createElement("formcd" );
  1443. var formdegnseq = instance1.createElement("formdegnseq" );
  1444. var degnitemno = instance1.createElement("degnitemno" );
  1445. var degnitemcd = instance1.createElement("degnitemcd" );
  1446. var degnitemkind = instance1.createElement("degnitemkind" );
  1447. var degnitemlevlno = instance1.createElement("degnitemlevlno" );
  1448. var degnitemnm = instance1.createElement("degnitemnm" );
  1449. var degnitemlevlcd = instance1.createElement("degnitemlevlcd" );
  1450. var rectermcd = instance1.createElement("rectermcd" );
  1451. var rectermnm = instance1.createElement("rectermnm" );
  1452. var recrefcd = instance1.createElement("recrefcd" );
  1453. var recitemnm = instance1.createElement("recitemnm" );
  1454. var reccnts = instance1.createElement("reccnts" );
  1455. var unitnm = instance1.createElement("unitnm" );
  1456. var recimge = instance1.createElement("recimge" );
  1457. var srcimge = instance1.createElement("srcimge" );
  1458. var rowno = instance1.createElement("rowno" );
  1459. var colno = instance1.createElement("colno" );
  1460. fstlevlitemcd.text = supdegnitemcd ;
  1461. formcd.text = "0000002615" ;
  1462. formdegnseq.text = "12838" ;
  1463. degnitemno .text = "1" ;
  1464. degnitemcd .text = "0000006001" ;
  1465. degnitemkind .text = "FDG" ;
  1466. degnitemlevlno.text = "1" ;
  1467. degnitemnm.text = "가계도" ;
  1468. degnitemlevlcd.text = supdegnitemcd.substr(0, 7) + ".0000006" ;
  1469. reccnts.text = fdgInfo;
  1470. recimge.text = fdgImg;
  1471. var recitem = instance1.createElement("recitem" );
  1472. recitem.appendChild(instcd );
  1473. recitem.appendChild(rechistseq );
  1474. recitem.appendChild(recitemno );
  1475. recitem.appendChild(fstlevlitemcd );
  1476. recitem.appendChild(formcd );
  1477. recitem.appendChild(formdegnseq );
  1478. recitem.appendChild(degnitemno );
  1479. recitem.appendChild(degnitemcd );
  1480. recitem.appendChild(degnitemkind );
  1481. recitem.appendChild(degnitemlevlno );
  1482. recitem.appendChild(degnitemnm );
  1483. recitem.appendChild(degnitemlevlcd );
  1484. recitem.appendChild(rectermcd );
  1485. recitem.appendChild(rectermnm );
  1486. recitem.appendChild(recrefcd );
  1487. recitem.appendChild(recitemnm );
  1488. recitem.appendChild(reccnts );
  1489. recitem.appendChild(unitnm );
  1490. recitem.appendChild(recimge );
  1491. recitem.appendChild(srcimge );
  1492. recitem.appendChild(rowno );
  1493. recitem.appendChild(colno );
  1494. // CDATA 섹션으로 묶어줌
  1495. var node = recitem.selectSingleNode("reccnts");
  1496. model.setValue(node, node.text, true);
  1497. node = recitem.selectSingleNode("recimge");
  1498. model.setValue(node, node.text, true);
  1499. var targetNode = instance1.selectSingleNode(pageInfo.fmyrecItemRef + "/recitem[fstlevlitemcd='" + supdegnitemcd + "' and formcd='0000002615']");
  1500. if(targetNode == null)
  1501. {
  1502. model.makeValue(pageInfo.fmyrecItemRef, "");
  1503. var parentNode = instance1.selectSingleNode(pageInfo.fmyrecItemRef);
  1504. parentNode.appendChild(recitem);
  1505. }
  1506. else
  1507. {
  1508. targetNode.parentNode.replaceChild(recitem, targetNode);
  1509. }
  1510. }
  1511. }
  1512. /**
  1513. * @desc : 최종진단소견
  1514. * @id :
  1515. * @event :
  1516. * @return : void
  1517. * @authur : 2010-03-31 오전 10:11:05 강지훈 추가
  1518. */
  1519. function openLastDiag(supdegnitemcd){
  1520. var pageInfo = new PAGEINFO();
  1521. supdegnitemcd = "0001013001";
  1522. setParameter("lastdiag_supdegnitemcd", supdegnitemcd);
  1523. //부분서식 로딩
  1524. var ctrl = document.controls("lbl_" + supdegnitemcd);
  1525. if (ctrl != null){
  1526. loadClickSection(supdegnitemcd);
  1527. }
  1528. var bfCosignedYN = opener.window.javascript.fGetFormRec("cosign");
  1529. //팝업을띄워 내용입력.
  1530. modal("SPMMR06600");
  1531. var saveFlag = getParameter("lastdiag_saveflag_" + supdegnitemcd); //기록상태
  1532. //Flag에 따라 기록 저장, 수정, 삭제
  1533. if(saveFlag == "C"){ // 기록내용이 이전과같을때.
  1534. return;
  1535. }
  1536. else if(saveFlag == "D") //삭제
  1537. {
  1538. model.removeNodeSet(pageInfo.recItemRef2 + "[formcd='1000007943']/reccnts");
  1539. model.removeNodeSet(pageInfo.lastdiagItemRef + "/recitem[formcd='1000007943']");
  1540. opener.opener.window.javascript.setParameter("SSMMR01100_fChkPreSaveUseFlag", "N");
  1541. opener.window.javascript.setParameter("SSMMR01100_fChkLastDiag", "Y");
  1542. var savedYn = opener.window.javascript.fClickSave("Y");
  1543. if(savedYn == true){
  1544. //기록반려처리
  1545. parent.window.javascript.fSaveLastDiagRec(bfCosignedYN);
  1546. }
  1547. }
  1548. else if(saveFlag == "S")
  1549. {
  1550. opener.opener.window.javascript.setParameter("SSMMR01100_fChkPreSaveUseFlag", "N");
  1551. opener.window.javascript.setParameter("SSMMR01100_fChkLastDiag", "Y");
  1552. var savedYn = opener.window.javascript.fClickSave("Y");
  1553. if(savedYn == true){
  1554. //기록반려처리
  1555. parent.window.javascript.fSaveLastDiagRec(bfCosignedYN);
  1556. }
  1557. }
  1558. opener.window.javascript.clearParameter("cosignclclyn");
  1559. opener.window.javascript.clearParameter("SSMMR01100_fChkLastDiag");
  1560. opener.opener.window.javascript.clearParameter("SSMMR01100_fChkPreSaveUseFlag", "N");
  1561. //
  1562. //버튼 모양설정
  1563. try {
  1564. setButtonToggleByRecYn(null, event.target);
  1565. } catch (e) {
  1566. }
  1567. }
  1568. /**
  1569. * @desc : 추가기록
  1570. * @id :
  1571. * @event :
  1572. * @return : void
  1573. * @authur : 박종훈
  1574. */
  1575. function openEtcRec(supdegnitemcd)
  1576. {
  1577. var pageInfo = new PAGEINFO();
  1578. setParameter("etcrec_supdegnitemcd", supdegnitemcd);
  1579. //부분서식 로딩
  1580. var ctrl = document.controls("lbl_" + supdegnitemcd);
  1581. if (ctrl != null)
  1582. {
  1583. loadClickSection(supdegnitemcd);
  1584. }
  1585. //setParameter("SPMMR04700_opemode", "comnform");
  1586. //setParameter("SPMMR04700_fstlevlitemcd", supdegnitemcd);
  1587. //setParameter("SPMMR04700_path_output", pageInfo.fmyrecItemRef);
  1588. //setParameter("SPMMR04700_path_output", pageInfo.fmyrecItemRef + "[fstlevlitemcd='" + supdegnitemcd + "' and formcd='0000002615']");
  1589. var etcrec = model.getValue(pageInfo.recItemRef2 + "[degnitemno='0' and fstlevlitemcd='" + supdegnitemcd + "' and formcd='" + opener.window.javascript.fGetFormMast("formcd") + "']/reccnts");
  1590. if(etcrec != "")
  1591. {
  1592. setParameter("etc_rec_" + supdegnitemcd, etcrec);
  1593. }
  1594. modal("SPMMR06100");
  1595. var recrtn = getParameter("etcrec_rtn_" + supdegnitemcd);
  1596. if(recrtn == "")
  1597. {
  1598. setParameter("etcrec_rtn_" + supdegnitemcd, recrtn);
  1599. setParameter("etc_rec_" + supdegnitemcd, recrtn);
  1600. model.removeNode(pageInfo.recItemRef2 + "[degnitemno='0' and fstlevlitemcd='" + supdegnitemcd + "' and formcd='" + opener.window.javascript.fGetFormMast("formcd") + "']/reccnts");
  1601. model.removeNode(pageInfo.etcrecItemRef + "/recitem[fstlevlitemcd='" + supdegnitemcd + "' and formcd='" + opener.window.javascript.fGetFormMast("formcd") + "']");
  1602. //return;
  1603. }
  1604. else
  1605. {
  1606. setParameter("etc_rec_" + supdegnitemcd, recrtn);
  1607. var instcd = instance1.createElement("instcd" );
  1608. var rechistseq = instance1.createElement("rechistseq" );
  1609. var recitemno = instance1.createElement("recitemno" );
  1610. var fstlevlitemcd = instance1.createElement("fstlevlitemcd" );
  1611. var formcd = instance1.createElement("formcd" );
  1612. var formdegnseq = instance1.createElement("formdegnseq" );
  1613. var degnitemno = instance1.createElement("degnitemno" );
  1614. var degnitemcd = instance1.createElement("degnitemcd" );
  1615. var degnitemkind = instance1.createElement("degnitemkind" );
  1616. var degnitemlevlno = instance1.createElement("degnitemlevlno" );
  1617. var degnitemnm = instance1.createElement("degnitemnm" );
  1618. var degnitemlevlcd = instance1.createElement("degnitemlevlcd" );
  1619. var rectermcd = instance1.createElement("rectermcd" );
  1620. var rectermnm = instance1.createElement("rectermnm" );
  1621. var recrefcd = instance1.createElement("recrefcd" );
  1622. var recitemnm = instance1.createElement("recitemnm" );
  1623. var reccnts = instance1.createElement("reccnts" );
  1624. var unitnm = instance1.createElement("unitnm" );
  1625. var recimge = instance1.createElement("recimge" );
  1626. var rowno = instance1.createElement("rowno" );
  1627. var colno = instance1.createElement("colno" );
  1628. fstlevlitemcd.text = supdegnitemcd ;
  1629. formcd.text = opener.window.javascript.fGetFormMast("formcd");
  1630. formdegnseq.text = opener.window.javascript.fGetFormMast("formdegnseq");
  1631. degnitemno .text = "0" ;
  1632. degnitemcd .text = "0008458001" ;
  1633. degnitemkind .text = "STX" ;
  1634. degnitemlevlno.text = "2" ;
  1635. degnitemnm.text = "§추가입력" ;
  1636. degnitemlevlcd.text = supdegnitemcd.substr(0, 7) + ".0008458" ;
  1637. reccnts.text = recrtn;
  1638. var recitem = instance1.createElement("recitem" );
  1639. recitem.appendChild(instcd );
  1640. recitem.appendChild(rechistseq );
  1641. recitem.appendChild(recitemno );
  1642. recitem.appendChild(fstlevlitemcd );
  1643. recitem.appendChild(formcd );
  1644. recitem.appendChild(formdegnseq );
  1645. recitem.appendChild(degnitemno );
  1646. recitem.appendChild(degnitemcd );
  1647. recitem.appendChild(degnitemkind );
  1648. recitem.appendChild(degnitemlevlno );
  1649. recitem.appendChild(degnitemnm );
  1650. recitem.appendChild(degnitemlevlcd );
  1651. recitem.appendChild(rectermcd );
  1652. recitem.appendChild(rectermnm );
  1653. recitem.appendChild(recrefcd );
  1654. recitem.appendChild(recitemnm );
  1655. recitem.appendChild(reccnts );
  1656. recitem.appendChild(unitnm );
  1657. recitem.appendChild(recimge );
  1658. recitem.appendChild(rowno );
  1659. recitem.appendChild(colno );
  1660. // CDATA 섹션으로 묶어줌
  1661. var node = recitem.selectSingleNode("reccnts");
  1662. model.setValue(node, node.text, true);
  1663. node = recitem.selectSingleNode("recimge");
  1664. model.setValue(node, node.text, true);
  1665. var targetNode = instance1.selectSingleNode(pageInfo.etcrecItemRef + "/recitem[fstlevlitemcd='" + supdegnitemcd + "' and formcd='" + opener.window.javascript.fGetFormMast("formcd") + "']");
  1666. if(targetNode == null)
  1667. {
  1668. model.makeValue(pageInfo.etcrecItemRef, "");
  1669. var parentNode = instance1.selectSingleNode(pageInfo.etcrecItemRef);
  1670. parentNode.appendChild(recitem);
  1671. }
  1672. else
  1673. {
  1674. targetNode.parentNode.replaceChild(recitem, targetNode);
  1675. }
  1676. }
  1677. /**
  1678. * @desc : 공통서식내의 확장버튼(이미지,가계도,추가기록)을 기록여부에 따라 표시한다.
  1679. * @history : 2009.09.09 신규 안치원 ACW_090909A
  1680. */
  1681. try {
  1682. setButtonToggleByRecYn(null, event.target);
  1683. } catch (e) {
  1684. }
  1685. }
  1686. /**
  1687. * @desc : 가계도
  1688. * @id :
  1689. * @event :
  1690. * @return : void
  1691. * @authur : 박종훈
  1692. */
  1693. function openFamilyDiagram_old(supdegnitemcd)
  1694. {
  1695. var pageInfo = new PAGEINFO();
  1696. //setParameter("SPMMR04700_opemode", "comnform");
  1697. //setParameter("SPMMR04700_fstlevlitemcd", supdegnitemcd);
  1698. //setParameter("SPMMR04700_path_output", pageInfo.extnrecItemRef);
  1699. //setParameter("SPMMR04700_path_output", pageInfo.extnrecItemRef + "[fstlevlitemcd='" + supdegnitemcd + "' and formcd='0000002615']");
  1700. var fdgInfo = model.getValue(pageInfo.extnrecItemRef + "[fstlevlitemcd='" + supdegnitemcd + "' and formcd='0000002615']/reccnts");
  1701. if(fdgInfo != "") {
  1702. setParameter("SPMMR04711_shape", fdgInfo);
  1703. model.setValue("/root/properties/parameters/SPMMR04711_shape/SPMMR04711_shapevalue", fdgInfo, true);
  1704. }
  1705. var fdgImg = model.getValue(pageInfo.extnrecItemRef + "[fstlevlitemcd='" + supdegnitemcd + "' and formcd='0000002615']/recimge");
  1706. if(fdgImg != "") {
  1707. setParameter("SPMMR04711_base64", fdgImg);
  1708. model.setValue("/root/properties/parameters/SPMMR04711_base64/SPMMR04711_base64value", fdgImg, true);
  1709. }
  1710. modal("SPMMR04700", 1, 0, 0, "", "", "");
  1711. // 가계도 Shape 데이터 및 Base64 이미지를 CDATA로 세팅
  1712. fdgInfo = getParameter("SPMMR04711_shape");
  1713. fdgImg = getParameter("SPMMR04711_base64");
  1714. if(fdgInfo != "") {
  1715. model.setValue("/root/properties/parameters/SPMMR04711_shape/SPMMR04711_shapevalue", fdgInfo, true);
  1716. }
  1717. if(fdgImg != "") {
  1718. model.setValue("/root/properties/parameters/SPMMR04711_base64/SPMMR04711_base64value", fdgImg, true);
  1719. }
  1720. if(fdgInfo == "")
  1721. {
  1722. model.removeNode(pageInfo.extnrecItemRef + "[fstlevlitemcd='" + supdegnitemcd + "' and formcd='0000002615']");
  1723. return;
  1724. }
  1725. else
  1726. {
  1727. var instcd = instance1.createElement("instcd" );
  1728. var rechistseq = instance1.createElement("rechistseq" );
  1729. var recitemno = instance1.createElement("recitemno" );
  1730. var fstlevlitemcd = instance1.createElement("fstlevlitemcd" );
  1731. var formcd = instance1.createElement("formcd" );
  1732. var formdegnseq = instance1.createElement("formdegnseq" );
  1733. var degnitemno = instance1.createElement("degnitemno" );
  1734. var degnitemcd = instance1.createElement("degnitemcd" );
  1735. var degnitemkind = instance1.createElement("degnitemkind" );
  1736. var degnitemlevlno = instance1.createElement("degnitemlevlno" );
  1737. var degnitemnm = instance1.createElement("degnitemnm" );
  1738. var degnitemlevlcd = instance1.createElement("degnitemlevlcd" );
  1739. var rectermcd = instance1.createElement("rectermcd" );
  1740. var rectermnm = instance1.createElement("rectermnm" );
  1741. var recrefcd = instance1.createElement("recrefcd" );
  1742. var recitemnm = instance1.createElement("recitemnm" );
  1743. var reccnts = instance1.createElement("reccnts" );
  1744. var unitnm = instance1.createElement("unitnm" );
  1745. var recimge = instance1.createElement("recimge" );
  1746. var rowno = instance1.createElement("rowno" );
  1747. var colno = instance1.createElement("colno" );
  1748. fstlevlitemcd.text = supdegnitemcd ;
  1749. formcd.text = "0000002615" ;
  1750. formdegnseq.text = "12838" ;
  1751. degnitemno .text = "1" ;
  1752. degnitemcd .text = "0000006001" ;
  1753. degnitemkind .text = "FDG" ;
  1754. degnitemlevlno.text = "1" ;
  1755. degnitemnm.text = "가계도" ;
  1756. degnitemlevlcd.text = "0000006" ;
  1757. reccnts.text = fdgInfo;
  1758. recimge.text = fdgImg;
  1759. var recitem = instance1.createElement("recitem" );
  1760. recitem.appendChild(instcd );
  1761. recitem.appendChild(rechistseq );
  1762. recitem.appendChild(recitemno );
  1763. recitem.appendChild(fstlevlitemcd );
  1764. recitem.appendChild(formcd );
  1765. recitem.appendChild(formdegnseq );
  1766. recitem.appendChild(degnitemno );
  1767. recitem.appendChild(degnitemcd );
  1768. recitem.appendChild(degnitemkind );
  1769. recitem.appendChild(degnitemlevlno );
  1770. recitem.appendChild(degnitemnm );
  1771. recitem.appendChild(degnitemlevlcd );
  1772. recitem.appendChild(rectermcd );
  1773. recitem.appendChild(rectermnm );
  1774. recitem.appendChild(recrefcd );
  1775. recitem.appendChild(recitemnm );
  1776. recitem.appendChild(reccnts );
  1777. recitem.appendChild(unitnm );
  1778. recitem.appendChild(recimge );
  1779. recitem.appendChild(rowno );
  1780. recitem.appendChild(colno );
  1781. // CDATA 섹션으로 묶어줌
  1782. var node = recitem.selectSingleNode("reccnts");
  1783. model.setValue(node, node.text, true);
  1784. node = recitem.selectSingleNode("recimge");
  1785. model.setValue(node, node.text, true);
  1786. var targetNode = instance1.selectSingleNode(pageInfo.extnrecItemRef + "[fstlevlitemcd='" + supdegnitemcd + "' and formcd='0000002615']");
  1787. if(targetNode == null)
  1788. {
  1789. model.makeValue(pageInfo.extnrecRef, "");
  1790. var parentNode = instance1.selectSingleNode(pageInfo.extnrecRef);
  1791. parentNode.appendChild(recitem);
  1792. }
  1793. else
  1794. {
  1795. targetNode.parentNode.replaceChild(recitem, targetNode);
  1796. }
  1797. }
  1798. }
  1799. /**
  1800. * @desc : 확장서식항목 오픈
  1801. * @id :
  1802. * @event :
  1803. * @return : void
  1804. * @authur : 박종훈
  1805. */
  1806. function openExtnUnitFormOfComnMediForm(supdegnitemcd)
  1807. {
  1808. var pageInfo = new PAGEINFO();
  1809. var cboObj = document.controls("cbo_" + supdegnitemcd);
  1810. var cboid = cboObj.attribute("id");
  1811. var baseunitformdegnseq = model.getValue("/root/hidden/choicbo/" + cboid + "/baseunitformdegnseq");
  1812. var extnunitformdegnseq = model.getValue("/root/hidden/choicbo/" + cboid + "/extnunitformdegnseq");
  1813. var node = model.instances(0).selectSingleNode(pageInfo.forminfoRef + "/extnformlist[formdegnseq='"+ extnunitformdegnseq +"']/formcd");
  1814. if (node != null && node.text == "0000002615") //가계도
  1815. {
  1816. openFamilyDiagram(supdegnitemcd);
  1817. return;
  1818. }
  1819. var baseNode = model.instances(0).selectSingleNode(pageInfo.forminfoRef + "/unitformmast[formdegnseq='"+ baseunitformdegnseq +"']/srcformcd");
  1820. var extnNode = model.instances(0).selectSingleNode(pageInfo.forminfoRef + "/extnformlist[formdegnseq='"+ extnunitformdegnseq +"']/srcformcd");
  1821. var forminfo;
  1822. var widflag;
  1823. if (baseNode != null && baseNode.text == extnNode.text)
  1824. {
  1825. forminfo = opener.window.javascript.fGetExtnUnitFormInfo(baseunitformdegnseq, extnunitformdegnseq);
  1826. widflag = "ExtnUnitForm";
  1827. }
  1828. else
  1829. {
  1830. // opener.window.javascript.fGetFormInfoByFormDegnCd(extnunitformdegnseq);
  1831. // forminfo, formcd, formdegnseq, extnunitformlistyn, sysformrecdt, formfromdt
  1832. var sysformrecdt = opener.window.javascript.fGetFormRec("sysformrecdt") ;
  1833. opener.window.javascript.fGetFormInfoByFormDegnCd("extnform", "", extnunitformdegnseq, "N", sysformrecdt);
  1834. widflag = "-";
  1835. var cnt = getNodesetCnt(opener.model, "/root/temp/settingform/forminfo/formdegnseq");
  1836. if (cnt == 0)
  1837. forminfo = "";
  1838. else
  1839. forminfo = opener.window.javascript.fGetCSVByFormInfo("/root/temp/settingform/forminfo");
  1840. }
  1841. if (forminfo == "") //기본서식에 없는 확장서식 아이템만 추출한 정보
  1842. {
  1843. messageBox("중복된 아이템을 제거하면 확장서식에 추가될 아이템이", "I004");
  1844. }
  1845. else
  1846. {
  1847. var nodelist = model.instances(0).selectNodes(pageInfo.extnrecItemRef + "[fstlevlitemcd='" +supdegnitemcd+ "' and formcd='" + node.text + "']");
  1848. var recinfo = getNodeListCSV(nodelist);
  1849. //alert(pageInfo.extnrecItemRef + "[fstlevlitemcd='" +supdegnitemcd+ "' and formcd='" + node.text + "']");
  1850. //alert("forminfo: "+forminfo);
  1851. setParameter("openmode", "extnunitform");
  1852. setParameter("fstlevlitemcd", supdegnitemcd);
  1853. setParameter("recinfo", recinfo); //확장서식에 저장한 정보
  1854. setParameter("forminfo", forminfo); //기본서식에 없는 확장서식 아이템만 추출한 정보
  1855. setParameter("widflag", widflag);
  1856. modalUrl("../../../emr/medirecweb/xrw/SSMMR01100_서식로더.xrw", 1, 0, 0, "", "", "");
  1857. }
  1858. }
  1859. /**
  1860. * @desc : 부분서식의 디자인에 있는 이미지를 이미지편집창으로 복사한다.
  1861. * @id :
  1862. * @event :
  1863. * @return : void
  1864. * @authur : 박종훈
  1865. */
  1866. function getBaseUnitFormRecImge(ivwId, destModel)
  1867. {
  1868. var pageInfo = new PAGEINFO();
  1869. var ivwObj = document.controls(ivwId);
  1870. if (ivwObj == null || !ivwObj.visible)
  1871. ivwObj = window;
  1872. copyNodeset(pageInfo.recItemRef, pageInfo.recItemRef+"[degnitemkind='IMG']", "replace" ,destModel, ivwObj.model);
  1873. var cnt = getNodesetCnt(destModel, pageInfo.recItemRef);
  1874. var imgecd;
  1875. var imgedata;
  1876. for (var i = 1; i <= cnt; i++)
  1877. {
  1878. if (destModel.getValue(pageInfo.recItemRef+"["+i+"]/recimge") == "")
  1879. {
  1880. imgecd = destModel.getValue(pageInfo.recItemRef+"["+i+"]/degnitemcd");
  1881. imgedata = ivwObj.model.getValue(pageInfo.imgelistRef + "[imgecd='" +imgecd+ "']/imgedata");
  1882. destModel.setValue(pageInfo.recItemRef+"["+i+"]/recimge", imgedata);
  1883. }
  1884. }
  1885. }
  1886. /**
  1887. * @desc : 편집된 이미지를 부분서식으로 카피한다.
  1888. * @id :
  1889. * @event :
  1890. * @return : void
  1891. * @authur : 박종훈
  1892. */
  1893. function setBaseUnitFormRecImge(ivwId, destModel)
  1894. {
  1895. var pageInfo = new PAGEINFO();
  1896. var ivwObj = document.controls(ivwId);
  1897. if (ivwObj == null || !ivwObj.visible)
  1898. ivwObj = window;
  1899. var nodelist = destModel.instance1.selectNodes(pageInfo.recItemRef + "[rowno = '' and reccnts != '']");
  1900. var path;
  1901. for (var i = 0; i < nodelist.length; i++)
  1902. {
  1903. path = pageInfo.recItemRef + "[degnitemno='" + nodelist.item(i).getXPathString("degnitemno") + "']";
  1904. ivwObj.model.setValue(path + "/reccnts", nodelist.item(i).getXPathString("reccnts"));
  1905. ivwObj.model.setValue(path + "/recimge", nodelist.item(i).getXPathString("recimge"));
  1906. }
  1907. destModel.removeNodeset(pageInfo.recItemRef + "[rowno = '']");
  1908. }
  1909. /**
  1910. * @desc : 프로그램서식여부 검사
  1911. * @id :
  1912. * @event :
  1913. * @return : void
  1914. * @authur : 박종훈
  1915. */
  1916. function isProgForm()
  1917. {
  1918. var formprogflag = fGetFormMast("formprogflag");
  1919. if (formprogflag == "-" || formprogflag == "PROF" || formprogflag == "MAIN")
  1920. return false;
  1921. else
  1922. return true;
  1923. }
  1924. /**
  1925. * @desc : lt, gt 변환
  1926. * @id :
  1927. * @event :
  1928. * @return : void
  1929. * @authur : 박종훈
  1930. */
  1931. function doReplaceLtGt(path)
  1932. {
  1933. var nodelist = model.instances(0).selectNodes(path + "[degnitemkind = 'IMG']/reccnts");
  1934. var shape = "";
  1935. for (var i = 0; i < nodelist.length; i++)
  1936. {
  1937. if (nodelist.item(i).text.indexOf("&lt;") == 0)
  1938. {
  1939. shape = nodelist.item(i).text.replace(/&lt;/gi, "<");
  1940. nodelist.item(i).text = shape.replace(/&gt;/gi, ">");
  1941. }
  1942. }
  1943. }
  1944. var gTermViewTopPos = 0;
  1945. var gTermViewHei = 0;
  1946. var gTermViewItems;
  1947. var gTermViewMaxCtrlID = "";
  1948. var gTermViewCtrlInitFlag = false;
  1949. /**
  1950. * @desc : 아이템 영역 최대화
  1951. * @id :
  1952. * @event :
  1953. * @return : void
  1954. * @authur : 박종훈
  1955. */
  1956. function fSetTermViewMaxSize(ivwID)
  1957. {
  1958. if (gTermViewItems == null) return;
  1959. var ctrl;
  1960. if (! gTermViewCtrlInitFlag)
  1961. {
  1962. for (var i = 0; i < gTermViewItems.length; i++)
  1963. {
  1964. ctrl = document.controls("ivw_" + gTermViewItems[i]);
  1965. ctrl.attribute("orgtop") = ctrl.attribute("top");
  1966. ctrl.attribute("orgheight") = ctrl.attribute("height");
  1967. }
  1968. gTermViewCtrlInitFlag = true;
  1969. }
  1970. ctrl = document.controls(ivwID);
  1971. var ctrlvisible = ivwID == gTermViewMaxCtrlID ? true : false;
  1972. for (var i = 0; i < gTermViewItems.length; i++)
  1973. {
  1974. ctrl = document.controls("ivw_" + gTermViewItems[i]);
  1975. ctrl.attribute("top") = ctrl.attribute("orgtop");
  1976. ctrl.attribute("height") = ctrl.attribute("orgheight");
  1977. ctrl.visible = ctrlvisible;
  1978. }
  1979. ctrl = document.controls(ivwID);
  1980. if (ivwID != gTermViewMaxCtrlID)
  1981. {
  1982. ctrl.visible = true;
  1983. ctrl.attribute("top") = gTermViewTopPos;
  1984. ctrl.attribute("height") = gTermViewHei;
  1985. gTermViewMaxCtrlID = ivwID;
  1986. }
  1987. else
  1988. {
  1989. gTermViewMaxCtrlID = "";
  1990. }
  1991. ctrl.window.javascript.fInitPage(false, parseInt(ctrl.attribute("height")), parseInt(ctrl.attribute("width")), ivwID);
  1992. }
  1993. var gMaxSectionTop;
  1994. var gMaxSectionHei;
  1995. /**
  1996. * @desc : 아이템 영역 최대화
  1997. * @id :
  1998. * @event :
  1999. * @return : void
  2000. * @authur : 박종훈
  2001. */
  2002. function setSectionSize(itemCds, topPos, heiSz)
  2003. {
  2004. gMaxSectionTop = topPos;
  2005. gMaxSectionHei = heiSz;
  2006. var ivwObj;
  2007. var tarObj;
  2008. for (var i = 0; i < itemCds.length; i++)
  2009. {
  2010. ivwObj = document.controls("ivw_" + itemCds[i]);
  2011. tarObj = document.controls("tar_" + itemCds[i]);
  2012. if (tarObj == null)
  2013. {
  2014. ivwObj.attribute("orgtop") = ivwObj.attribute("top");
  2015. ivwObj.attribute("orgheight") = ivwObj.attribute("height");
  2016. ivwObj.attribute("ctrluseyn") = "Y";
  2017. }
  2018. else
  2019. {
  2020. tarObj.attribute("top") = ivwObj.attribute("top");
  2021. tarObj.attribute("left") = ivwObj.attribute("left");
  2022. tarObj.attribute("width") = ivwObj.attribute("width");
  2023. tarObj.attribute("height") = ivwObj.attribute("height");
  2024. tarObj.attribute("border-style") = "solid";
  2025. ivwObj.attribute("border-style") = "none";
  2026. ivwObj.attribute("orgtop") = ivwObj.attribute("top");
  2027. tarObj.attribute("orgtop") = tarObj.attribute("top");
  2028. ivwObj.attribute("orgheight") = ivwObj.attribute("height");
  2029. tarObj.attribute("orgheight") = tarObj.attribute("height");
  2030. tarObj.navindex = 100 + i;
  2031. }
  2032. }
  2033. // model.refresh();
  2034. }
  2035. var gMaxSectionID = "";
  2036. /**
  2037. * @desc : 아이템의 영역 최대화
  2038. * @id :
  2039. * @event :
  2040. * @return : void
  2041. * @authur : 박종훈
  2042. */
  2043. function SetMaxSizeSection(itemCds)
  2044. {
  2045. var ctrlID = event.target;
  2046. var itemcd = ctrlID.replace("lbl_", "");
  2047. var ctrlvisible = itemcd == gMaxSectionID ? true : false;
  2048. for (var i = 0; i < itemCds.length; i++)
  2049. {
  2050. ctrl = document.controls("ivw_" + itemCds[i]);
  2051. if (ctrl.attribute("ctrluseyn") == "N")
  2052. ctrl = document.controls("tar_" + itemCds[i]);
  2053. ctrl.attribute("top") = ctrl.attribute("orgtop");
  2054. ctrl.attribute("height") = ctrl.attribute("orgheight");
  2055. ctrl.visible = ctrlvisible;
  2056. if (ctrl.elementName == "xforms:iviewer")
  2057. SetMultiTextFull(ctrl, 1);
  2058. ctrl = document.controls("lbl_" + itemCds[i]);
  2059. ctrl.attribute("background-color") = "#cce8ff";
  2060. }
  2061. ctrl = document.controls("ivw_" + itemcd);
  2062. if (ctrl.attribute("ctrluseyn") == "N")
  2063. {
  2064. ctrl = document.controls("tar_" + itemcd);
  2065. }
  2066. if (! ctrlvisible)
  2067. {
  2068. ctrl.visible = true;
  2069. ctrl.attribute("top") = gMaxSectionTop;
  2070. ctrl.attribute("height") = gMaxSectionHei;
  2071. if (ctrl.elementName == "xforms:iviewer")
  2072. SetMultiTextFull(ctrl, 1);
  2073. ctrl = document.controls("lbl_" + itemcd);
  2074. ctrl.attribute("background-color") = "#99ccff";
  2075. gMaxSectionID = itemcd;
  2076. }
  2077. else
  2078. {
  2079. if (ctrl.elementName == "xforms:iviewer")
  2080. SetMultiTextFull(ctrl, 1);
  2081. gMaxSectionID = "";
  2082. }
  2083. for (var i = 0; i < itemCds.length; i++)
  2084. {
  2085. ctrl = document.controls("tar_" + itemCds[i]);
  2086. if (ctrl == null)
  2087. {
  2088. ctrl = document.controls("ivw_" + itemCds[i]);
  2089. ctrl.window.javascript.fInitPage(false, parseInt(ctrl.attribute("height")), parseInt(ctrl.attribute("width")));
  2090. }
  2091. }
  2092. ctrl = document.controls("tar_" + itemcd);
  2093. if (ctrl != null && ctrl.attribute("ctrluseyn") == "Y")
  2094. {
  2095. model.setFocus(ctrl.attribute("id"));
  2096. ctrl.dispatch("onkeyup");
  2097. }
  2098. }
  2099. /**
  2100. * @desc : 이미지 버튼 함수 설정
  2101. * @id :
  2102. * @event :
  2103. * @return : void
  2104. * @authur : 박종훈
  2105. */
  2106. function InitBtnImge(itemCds)
  2107. {
  2108. for (var i = 0; i < itemCds.length; i++)
  2109. {
  2110. ctrl = document.controls("btn_imge_" + itemCds[i]);
  2111. //alert(itemCds[i]);
  2112. if (ctrl != null) {
  2113. //alert("set attribute");
  2114. ctrl.attribute("DOMActivate") = "OpenUnitFormImge()";
  2115. }
  2116. else {
  2117. //alert("no set attribute");
  2118. }
  2119. }
  2120. }
  2121. /**
  2122. * @desc : 확장서식 콤보 ref 설정
  2123. * @id :
  2124. * @event :
  2125. * @return : void
  2126. * @authur : 주희경, 2010.01.19
  2127. */
  2128. function initCmbExtnList(itemCds)
  2129. {
  2130. for (var i = 0; i < itemCds.length; i++)
  2131. {
  2132. ctrl = document.controls("cbo_" + itemCds[i]);
  2133. if (ctrl != null) {
  2134. //확장서식 콤보리스트 컨트롤들에 이벤트를 동적으로 생성한다. (1. 값셋팅, 2. 해당 서식 오픈 )
  2135. ctrl.attribute("xforms-select") = "setExtnValueChange(cbo_" + itemCds[i]+", '"+itemCds[i]+"')";
  2136. //확장서식 콤보리스트들에 동적으로 인스턴스를 매핑한다.
  2137. setExtnFormList(ctrl, itemCds[i]);
  2138. }
  2139. else {
  2140. //alert("no set attribute");
  2141. }
  2142. }
  2143. }
  2144. /**
  2145. * @desc : 확장서식 콤보 value-change 실행 함수
  2146. * @id :
  2147. * @event :
  2148. * @return : void
  2149. * @authur : 주희경, 2010.01.19
  2150. */
  2151. function setExtnValueChange(strCtrl, itemCd)
  2152. {
  2153. fSetBaseForm( itemCd ); //기본서식 로딩
  2154. setExtnFormList(eval(strCtrl), itemCd); //현재 선택한 콤보값 저장
  2155. openExtnUnitFormOfComnMediForm(itemCd); //선택한 확장서식 오픈
  2156. }
  2157. /**
  2158. * @desc : 확장서식 팝업에서 기본서식과 겹치는 아이템은 disable 처리
  2159. * ( 기본적으로 쿼리에서 중복은 처리하나 특정 아이템의 경우 부모 아이템이 딸려 조회되야 하므로 부모 아이템을 disable 처리 )
  2160. * @id :
  2161. * @event :
  2162. * @return : void
  2163. * @authur : 주희경, 2010.01.27
  2164. */
  2165. function setCtrlDisabled(gFstLevlItemCd)
  2166. {
  2167. var parentIvw = eval("opener.ivw_"+gFstLevlItemCd);
  2168. var bodyCtrls = ivw_base.body.children;
  2169. var length = bodyCtrls.length;
  2170. for (i=0; i< length; i++)
  2171. {
  2172. if ( bodyCtrls.item(i).elementName == "xforms:scrollbar" || bodyCtrls.item(i).elementName == "xforms:import" || bodyCtrls.item(i).elementName == "xforms:script"|| bodyCtrls.item(i).elementName == "xforms:tooltip" || bodyCtrls.item(i).elementName == "xforms:caption" || bodyCtrls.item(i).elementName == "xforms:group")
  2173. continue;
  2174. var degnitemno = bodyCtrls.item(i).attribute("degnitemno");
  2175. var cnt = parentIvw.model.getXPathValue("count(/root/main/recinfo/recitem[degnitemno='"+degnitemno+"'])");
  2176. if ( cnt == 1 )
  2177. bodyCtrls.item(i).disabled= true;
  2178. }
  2179. }
  2180. /**
  2181. * @desc : 가계도 버튼 함수 설정
  2182. * @id :
  2183. * @event :
  2184. * @return : void
  2185. * @authur : 박종훈
  2186. */
  2187. function InitBtnFmy(itemCds)
  2188. {
  2189. for (var i = 0; i < itemCds.length; i++)
  2190. {
  2191. ctrl = document.controls("btn_fmy_" + itemCds[i]);
  2192. if (ctrl != null)
  2193. ctrl.attribute("DOMActivate") = "OpenUnitFormFmy()";
  2194. }
  2195. }
  2196. /**
  2197. * @desc : 추가기록 버튼 함수 설정
  2198. * @id :
  2199. * @event :
  2200. * @return : void
  2201. * @authur : 박종훈
  2202. */
  2203. function InitBtnEtcRec(itemCds)
  2204. {
  2205. for (var i = 0; i < itemCds.length; i++)
  2206. {
  2207. ctrl = document.controls("btn_etcrec_" + itemCds[i]);
  2208. if (ctrl != null)
  2209. ctrl.attribute("DOMActivate") = "openEtcRec('" + itemCds[i] + "')";
  2210. }
  2211. }
  2212. /**
  2213. * @desc : 최종진단소견 버튼 함수 설정
  2214. * @id :
  2215. * @event :
  2216. * @return : void
  2217. * @authur : 강지훈
  2218. */
  2219. function InitBtnLastDiag(itemCd)
  2220. {
  2221. ctrl = document.controls("btn_lastdiag_" + itemCd);
  2222. if (ctrl != null)
  2223. {
  2224. ctrl.attribute("DOMActivate") = "openLastDiag('" + itemCd + "')";
  2225. }
  2226. }
  2227. /**
  2228. * @desc : 상용구 관리화면 버튼 함수 설정
  2229. * @id :
  2230. * @event :
  2231. * @return : void
  2232. * @authur : 박종훈
  2233. */
  2234. function InitBtnComn(itemCds)
  2235. {
  2236. //상용구관리화면 에러로 임시 막음(2008-01-03) 박종훈
  2237. // for (var i = 0; i < itemCds.length; i++)
  2238. // {
  2239. // ctrl = document.controls("btn_comn_" + itemCds[i]);
  2240. //
  2241. // if (ctrl != null)
  2242. // ctrl.attribute("DOMActivate") = "OpenComnUseStmt()";
  2243. // }
  2244. }
  2245. /**
  2246. * @desc : 상용구 예문관리 화면 팝업
  2247. * @id :
  2248. * @event :
  2249. * @return : void
  2250. * @authur : 박종훈
  2251. */
  2252. function OpenComnUseStmt()
  2253. {
  2254. var ctrlID = event.target;
  2255. var degnitemcd = ctrlID.replace("btn_comn_", "");
  2256. setParameter("comn_degnitemcd", degnitemcd);
  2257. setParameter("comn_srcformcd", parent.window.javascript.fGetFormMast("srcformcd"));
  2258. modal("SMMRF02400",1 ,50, 50);
  2259. }
  2260. /**
  2261. * @desc :환자진단정보 가져오기 버튼 설정
  2262. * 2010.01.15 dhkim
  2263. * - 버튼위치가 부분서식의 섹션인 경우 버튼을 hidden처리함
  2264. * - isBtnSet 파라미터 추가 (Y:hidden처리적용, N:기존대로사용)
  2265. * @id :
  2266. * @event :
  2267. * @return : void
  2268. * @authur : 박종훈
  2269. */
  2270. function InitBtnDiag(itemCd, isBtnSet)
  2271. {
  2272. ctrl = document.controls("btn_diag_" + itemCd);
  2273. if (ctrl != null)
  2274. {
  2275. ctrl.attribute("DOMActivate") = "GetPatDiagNm('" + itemCd + "')";
  2276. }
  2277. //2010.01.15 dhkim
  2278. //isBtnSet 파라미터 추가 (Y:hidden처리적용, N:기존대로사용)
  2279. if(isBtnSet == null || isBtnSet == ""){
  2280. isBtnSet = "N";
  2281. }
  2282. //버튼위치가 부분서식의 섹션인 경우 버튼을 hidden처리함
  2283. if(isBtnSet == "Y"){
  2284. var srcNode = model.instance1.selectSingleNode("/root/main/forminfo/formdegn[supdegnitemcd='" + itemCd + "' and itemuseflag='F0']");
  2285. if(srcNode == null){
  2286. return;
  2287. }
  2288. var degnitemkindNode = srcNode.selectSingleNode("degnitemkind").text;
  2289. var degnitemcd = srcNode.selectSingleNode("degnitemcd").text;
  2290. //FRM & 00000005 (자유서식)아닌것
  2291. if(degnitemkindNode == "FRM" && degnitemcd != "0000000005"){
  2292. document.controls("btn_diag_" + itemCd).attribute("visibility") = "hidden";
  2293. }else{
  2294. document.controls("btn_diag_" + itemCd).attribute("visibility") = "visible";
  2295. }
  2296. document.controls("btn_diag_" + itemCd).refresh();
  2297. }
  2298. }
  2299. /**
  2300. * @desc :환자처방정보 가져오기 버튼 설정
  2301. * 2010.01.15 dhkim
  2302. * - 버튼위치가 부분서식의 섹션인 경우 버튼을 hidden처리함
  2303. * - isBtnSet 파라미터 추가 (Y:hidden처리적용, N:기존대로사용)
  2304. * @id :
  2305. * @event :
  2306. * @return : void
  2307. * @authur : 박종훈
  2308. */
  2309. function InitBtnPrcp(itemCd, isBtnSet)
  2310. {
  2311. ctrl = document.controls("btn_prcp_" + itemCd);
  2312. if (ctrl != null)
  2313. {
  2314. ctrl.attribute("DOMActivate") = "GetPatPrcpList('" + itemCd + "')";
  2315. }
  2316. //20130329 정창혁/ 처방내역을 선택하여 추가할 수 있는 팝업창 호출
  2317. var ctrlSelBtn = document.controls("btn_sel_prcp_" + itemCd);
  2318. if (ctrlSelBtn != null) {
  2319. ctrlSelBtn.attribute("DOMActivate") = "modal('SPMMR09000');";
  2320. }
  2321. //2010.01.15 dhkim
  2322. //isBtnSet 파라미터 추가 (Y:hidden처리적용, N:기존대로사용)
  2323. if(isBtnSet == null || isBtnSet == ""){
  2324. isBtnSet = "N";
  2325. }
  2326. //버튼위치가 부분서식의 섹션인 경우 버튼을 hidden처리함
  2327. if(isBtnSet == "Y"){
  2328. var srcNode = model.instance1.selectSingleNode("/root/main/forminfo/formdegn[supdegnitemcd='" + itemCd + "' and itemuseflag='F0']");
  2329. if(srcNode == null){
  2330. return;
  2331. }
  2332. var degnitemkindNode = srcNode.selectSingleNode("degnitemkind").text;
  2333. var degnitemcd = srcNode.selectSingleNode("degnitemcd").text;
  2334. //FRM & 00000005 (자유서식)아닌것
  2335. if(degnitemkindNode == "FRM" && degnitemcd != "0000000005"){
  2336. document.controls("btn_prcp_" + itemCd).attribute("visibility") = "hidden";
  2337. }else{
  2338. document.controls("btn_prcp_" + itemCd).attribute("visibility") = "visible";
  2339. }
  2340. document.controls("btn_prcp_" + itemCd).refresh();
  2341. }
  2342. }
  2343. /**
  2344. * @desc :환자퇴원처방정보 가져오기 버튼 설정
  2345. * @id :
  2346. * @event :
  2347. * @return : void
  2348. * @authur : 박종훈
  2349. */
  2350. function InitBtnOutPrcp(itemCd)
  2351. {
  2352. ctrl = document.controls("btn_outprcp_" + itemCd);
  2353. if (ctrl != null)
  2354. {
  2355. ctrl.attribute("DOMActivate") = "GetPatOutPrcpList('" + itemCd + "')";
  2356. }
  2357. }
  2358. /**
  2359. * @desc :환자예약정보 가져오기 버튼 설정
  2360. * @id :
  2361. * @event :
  2362. * @return : void
  2363. * @authur : 박종훈
  2364. */
  2365. function InitBtnResv(itemCd)
  2366. {
  2367. ctrl = document.controls("btn_resv_" + itemCd);
  2368. if (ctrl != null)
  2369. {
  2370. ctrl.attribute("DOMActivate") = "GetPatResvList('" + itemCd + "')";
  2371. }
  2372. }
  2373. /**
  2374. * @desc :환자예약정보 가져오기
  2375. * @id :
  2376. * @event : onclick
  2377. * @return : void
  2378. * @authur : 박종훈
  2379. */
  2380. function GetPatResvList(itemCd)
  2381. {
  2382. var pageInfo = new PAGEINFO();
  2383. var pid = parent.model.getValue(pageInfo.recMastRef + "/pid");
  2384. //2009-11-10 오후 11:48:12 강지훈 수정 : 첫번째 pid를 찾아가기때문에 생기는 오류
  2385. model.removeNode("/root/send/pid");
  2386. model.setValue("/root/send/reqinfstrec/pid", pid);
  2387. model.makeValue("/root/send/pid", pid );
  2388. if (submit("TRMMR00301"))
  2389. {
  2390. var nodelistResrvinfo = model.instances(0).selectNodes("/root/main/resvlist");
  2391. var resvinfo
  2392. if (nodelistResrvinfo.length > 0)
  2393. {
  2394. resvinfo = "진료예약 : ";
  2395. var orddd = "";
  2396. var ordtm = "";
  2397. var orddeptnm = "";
  2398. var orddrnm = "";
  2399. for (var i = 1; i <= nodelistResrvinfo.length; i++)
  2400. {
  2401. var subNode = nodelistResrvinfo.item(i - 1);
  2402. var orddd = subNode.selectSingleNode("orddd").text;
  2403. var ordtm = subNode.selectSingleNode("ordtm").text;
  2404. var orddeptnm = subNode.selectSingleNode("orddeptnm").text;
  2405. var orddrnm = subNode.selectSingleNode("orddrnm").text;
  2406. if (i == 1)
  2407. {
  2408. resvinfo += orddd.substr(0, 4) + "-" + orddd.substr(4, 2) + "-"
  2409. + orddd.substr(6, 2) + " " + ordtm.substr(0, 2) + ":"
  2410. + ordtm.substr(2, 2) + ", 진료과 : " + orddeptnm + ", 진료의 : " + orddrnm + "\n";
  2411. }
  2412. else
  2413. {
  2414. resvinfo += " " + orddd.substr(0, 4) + "-" + orddd.substr(4, 2) + "-"
  2415. + orddd.substr(6, 2) + " " + ordtm.substr(0, 2) + ":"
  2416. + ordtm.substr(2, 2) + ", 진료과 : " + orddeptnm + ", 진료의 : " + orddrnm + "\n";
  2417. }
  2418. }
  2419. }
  2420. else
  2421. {
  2422. messageBox("예약내역이", "I004");
  2423. return;
  2424. }
  2425. }
  2426. if (resvinfo != "")
  2427. {
  2428. model.setValue(pageInfo.recItemRef + "[fstlevlitemcd='" + itemCd + "']/reccnts", resvinfo);
  2429. }
  2430. model.refresh();
  2431. }
  2432. /**
  2433. * @desc :환자퇴원처방정보 가져오기
  2434. * @id :
  2435. * @event : onclick
  2436. * @return : void
  2437. * @authur : 박종훈
  2438. */
  2439. function GetPatOutPrcpList(itemCd)
  2440. {
  2441. var pageInfo = new PAGEINFO();
  2442. var prcpdd = "";
  2443. var bfflag = "bfprcp";
  2444. var flag = "-";
  2445. var todd = "";
  2446. var pid = parent.model.getValue(pageInfo.recMastRef + "/pid");
  2447. var orddd = parent.model.getValue(pageInfo.recMastRef + "/orddd");
  2448. //var orddd = getCurrentDate();
  2449. var cretno = parent.model.getValue(pageInfo.recMastRef + "/cretno");
  2450. //var orddrid = parent.model.getValue(pageInfo.recMastRef + "/orddrid");
  2451. var orddrid = "";
  2452. var orddeptcd = parent.model.getValue(pageInfo.recMastRef + "/orddeptcd");
  2453. var prcpgenrflag = parent.model.getValue(pageInfo.recMastRef + "/chosflag");
  2454. // if (prcpgenrflag == "I")
  2455. // {
  2456. // prcpdd = getCurrentDate();
  2457. // }
  2458. // else
  2459. // {
  2460. prcpdd = "recbfsrch"; // 입퇴원 요약지의 퇴원처방 날짜조건 변경을 위한 구분자 20100301 이윤정
  2461. // }
  2462. //alert("onbuttonclick prcpdd" + prcpdd);
  2463. model.addLog("==GetPatOutPrcpList 입퇴원요약 처방버튼클릭시 : prcpdd ::" + prcpdd);
  2464. //처방정보 가져오기(퇴원처방 prcpkindcd = 60)
  2465. if(fBfPrcpSrchCom(pid, orddd, prcpdd, bfflag, flag, orddrid, todd, prcpgenrflag, orddeptcd, cretno, "TRMMO00100", true))
  2466. {
  2467. var nodelistPrcpinfo = model.instances(0).selectNodes("/root/prcpsrch/prcplist[prcpkindcd = 60 and prcphistcd != 'C' and prcphistcd != 'L' and prcphistcd != 'E']");
  2468. }
  2469. var prcpkind = ""; //처방종류
  2470. var orgprcpnm = ""; //처방명
  2471. var drugmthdspccdnm = ""; //용법
  2472. var prcpdelivefact = ""; //전달사항
  2473. var prcplist = "";
  2474. var prcpclscd = "";
  2475. var tmpdrugmthdspccdnm = "";
  2476. if(nodelistPrcpinfo.length >= 1){
  2477. for(var i = 1; i <= nodelistPrcpinfo.length; i++)
  2478. {
  2479. var subNode = nodelistPrcpinfo.item(i - 1);
  2480. //orgprcpnm = subNode.selectSingleNode("orgprcpnm").text;
  2481. tmpdrugmthdspccdnm = subNode.selectSingleNode("drugmthdspccdnm").text;
  2482. prcpkind = subNode.selectSingleNode("tempcol13").text;
  2483. orgprcpnm = subNode.selectSingleNode("tempcol6").text;
  2484. drugmthdspccdnm = subNode.selectSingleNode("tempcol7").text;
  2485. prcpclscd = subNode.selectSingleNode("prcpclscd").text;
  2486. drugmthdspccdnm = drugmthdspccdnm.replace(tmpdrugmthdspccdnm, "");
  2487. drugmthdspccdnm = drugmthdspccdnm.replace("[급]", "");
  2488. drugmthdspccdnm = drugmthdspccdnm.replace("[일]", "");
  2489. drugmthdspccdnm = drugmthdspccdnm.replace("[본]", "");
  2490. drugmthdspccdnm = drugmthdspccdnm.replace("(집)", "");
  2491. drugmthdspccdnm = drugmthdspccdnm.replace("[home]", "");
  2492. drugmthdspccdnm = drugmthdspccdnm.replace("[임상]", "");
  2493. drugmthdspccdnm = drugmthdspccdnm.replace("[prn]", "");
  2494. var prcpdelivefact = subNode.selectSingleNode("prcpdelivefact").text;
  2495. //prcplist += prcpkind + " " +orgprcpnm + " " + drugmthdspccdnm + " " + prcpdelivefact + "\n"
  2496. if (prcpclscd == "A2" || prcpclscd == "A4" || prcpclscd == "A6")
  2497. {
  2498. prcplist += orgprcpnm + " " + drugmthdspccdnm + "\n"
  2499. }
  2500. else
  2501. {
  2502. prcplist += orgprcpnm + "\n"
  2503. }
  2504. }
  2505. }
  2506. else
  2507. {
  2508. messageBox("퇴원처방 내역이", "I004");
  2509. return false;
  2510. }
  2511. var prerec = model.getValue(pageInfo.recItemRef + "[fstlevlitemcd='" + itemCd + "']/reccnts");
  2512. if (prerec != "")
  2513. {
  2514. prerec = prerec + "\n" + prcplist + "\n";
  2515. }
  2516. else
  2517. {
  2518. prerec = prcplist + "\n"
  2519. }
  2520. model.setValue(pageInfo.recItemRef + "[fstlevlitemcd='" + itemCd + "']/reccnts", prerec);
  2521. model.refresh();
  2522. return true;
  2523. }
  2524. /**
  2525. * @desc :환자처방정보 가져오기
  2526. * @id :
  2527. * @event : onclick
  2528. * @return : void
  2529. * @authur : 박종훈
  2530. */
  2531. function GetPatPrcpList(itemCd)
  2532. {
  2533. var pageInfo = new PAGEINFO();
  2534. var prcpdd = getCurrentDate();
  2535. var bfflag = "bfprcp";
  2536. var flag = "";
  2537. var todd = "";
  2538. var pid = parent.model.getValue(pageInfo.recMastRef + "/pid");
  2539. var orddd = parent.model.getValue(pageInfo.recMastRef + "/orddd");
  2540. var cretno = parent.model.getValue(pageInfo.recMastRef + "/cretno");
  2541. var orddrid = parent.model.getValue(pageInfo.recMastRef + "/orddrid");
  2542. var orddeptcd = parent.model.getValue(pageInfo.recMastRef + "/orddeptcd");
  2543. var prcpgenrflag = parent.model.getValue(pageInfo.recMastRef + "/chosflag");
  2544. if (prcpgenrflag == "I" || prcpgenrflag == "E" || prcpgenrflag == "D")
  2545. {
  2546. prcpdd = parent.model.getValue(pageInfo.recMastRef + "/formrecdd");
  2547. }
  2548. else
  2549. {
  2550. prcpdd = orddd;
  2551. }
  2552. //처방정보 가져오기(퇴원처방 prcpkindcd = 60)
  2553. if(fBfPrcpSrchCom(pid, orddd, prcpdd, bfflag, flag, orddrid, todd, prcpgenrflag, orddeptcd, cretno, "TRMMO00100", true))
  2554. {
  2555. var nodelistPrcpinfo = model.instances(0).selectNodes("/root/prcpsrch/prcplist[prcpkindcd != '' and prcphistcd != 'C' and prcphistcd != 'L' and prcphistcd != 'E']");
  2556. }
  2557. var prcpkind = ""; //처방종류
  2558. var orgprcpnm = ""; //처방명
  2559. var drugmthdspccdnm = ""; //용법
  2560. var prcpdelivefact = ""; //전달사항
  2561. var prcplist = "";
  2562. var prcphistcd = ""; //임시,인증구분
  2563. var prcpclscd = "";
  2564. var tmpdrugmthdspccdnm = "";
  2565. if(nodelistPrcpinfo.length >= 1){
  2566. for(var i = 1; i <= nodelistPrcpinfo.length; i++)
  2567. {
  2568. var subNode = nodelistPrcpinfo.item(i - 1);
  2569. //orgprcpnm = subNode.selectSingleNode("orgprcpnm").text;
  2570. tmpdrugmthdspccdnm = subNode.selectSingleNode("drugmthdspccdnm").text;
  2571. prcpkind = subNode.selectSingleNode("tempcol13").text;
  2572. orgprcpnm = subNode.selectSingleNode("tempcol6").text;
  2573. drugmthdspccdnm = subNode.selectSingleNode("tempcol7").text;
  2574. prcpclscd = subNode.selectSingleNode("prcpclscd").text;
  2575. //2012.06.08 처방 가져오기 개인 설정 조회 엄영만
  2576. fGetUserEnvOcsOrdAnsw("/root/send/reqdata", "/root/envinit/getprcpcnt", "033");
  2577. var getprcpcnt = model.getValue("/root/envinit/getprcpcnt/answcnt");
  2578. switch(getprcpcnt)
  2579. {
  2580. case "001" : // 기본값 용법 삭제
  2581. drugmthdspccdnm = drugmthdspccdnm.replace(tmpdrugmthdspccdnm, "");
  2582. break;
  2583. case "002" : // 약품처방 용법표시
  2584. if (prcpclscd != "A2" && prcpclscd != "A4" && prcpclscd != "A6") {
  2585. drugmthdspccdnm = drugmthdspccdnm.replace(tmpdrugmthdspccdnm, "");
  2586. }
  2587. break;
  2588. default:
  2589. drugmthdspccdnm = drugmthdspccdnm.replace(tmpdrugmthdspccdnm, "");
  2590. break;
  2591. }
  2592. drugmthdspccdnm = drugmthdspccdnm.replace("[급]", "");
  2593. drugmthdspccdnm = drugmthdspccdnm.replace("[일]", "");
  2594. drugmthdspccdnm = drugmthdspccdnm.replace("[본]", "");
  2595. drugmthdspccdnm = drugmthdspccdnm.replace("(집)", "");
  2596. drugmthdspccdnm = drugmthdspccdnm.replace("[home]", "");
  2597. drugmthdspccdnm = drugmthdspccdnm.replace("[임상]", "");
  2598. drugmthdspccdnm = drugmthdspccdnm.replace("[prn]", "");
  2599. prcpdelivefact = subNode.selectSingleNode("prcpdelivefact").text;
  2600. prcphistcd = subNode.selectSingleNode("prcphistcd").text;
  2601. if(prcphistcd == "T") {
  2602. if (prcpclscd == "A2" || prcpclscd == "A4" || prcpclscd == "A6") {
  2603. prcplist += "[임] " + orgprcpnm + " " + drugmthdspccdnm + "\n"
  2604. } else {
  2605. prcplist += "[임] " + orgprcpnm + "\n"
  2606. }
  2607. } else {
  2608. if (prcpclscd == "A2" || prcpclscd == "A4" || prcpclscd == "A6") {
  2609. prcplist += orgprcpnm + " " + drugmthdspccdnm + " " + "\n"
  2610. }
  2611. else {
  2612. prcplist += orgprcpnm + "\n"
  2613. }
  2614. }
  2615. }
  2616. }
  2617. var prerec = model.getValue(pageInfo.recItemRef + "[fstlevlitemcd='" + itemCd + "']/reccnts");
  2618. if (prerec != "")
  2619. {
  2620. prerec = prerec + "\n" + prcplist + "\n";
  2621. }
  2622. else
  2623. {
  2624. prerec = prcplist + "\n"
  2625. }
  2626. model.makeValue("/root/send/pid", pid );
  2627. if (submit("TRMMR00301"))
  2628. {
  2629. var nodelistResrvinfo = model.instances(0).selectNodes("/root/main/resvlist");
  2630. var resvinfo
  2631. if (nodelistResrvinfo.length > 0)
  2632. {
  2633. resvinfo = "진료예약 : ";
  2634. var orddd = "";
  2635. var ordtm = "";
  2636. var orddeptnm = "";
  2637. var orddrnm = "";
  2638. for (var i = 1; i <= nodelistResrvinfo.length; i++)
  2639. {
  2640. var subNode = nodelistResrvinfo.item(i - 1);
  2641. var orddd = subNode.selectSingleNode("orddd").text;
  2642. var ordtm = subNode.selectSingleNode("ordtm").text;
  2643. var orddeptnm = subNode.selectSingleNode("orddeptnm").text;
  2644. var orddrnm = subNode.selectSingleNode("orddrnm").text;
  2645. if (i == 1)
  2646. {
  2647. resvinfo += orddd.substr(0, 4) + "-" + orddd.substr(4, 2) + "-"
  2648. + orddd.substr(6, 2) + " " + ordtm.substr(0, 2) + ":"
  2649. + ordtm.substr(2, 2) + ", 진료과 : " + orddeptnm + ", 진료의 : " + orddrnm + "\n";
  2650. }
  2651. else
  2652. {
  2653. resvinfo += " " + orddd.substr(0, 4) + "-" + orddd.substr(4, 2) + "-"
  2654. + orddd.substr(6, 2) + " " + ordtm.substr(0, 2) + ":"
  2655. + ordtm.substr(2, 2) + ", 진료과 : " + orddeptnm + ", 진료의 : " + orddrnm + "\n";
  2656. }
  2657. }
  2658. }
  2659. else
  2660. {
  2661. resvinfo = "";
  2662. }
  2663. }
  2664. if (resvinfo != "")
  2665. {
  2666. prerec += resvinfo;
  2667. }
  2668. model.setValue(pageInfo.recItemRef + "[fstlevlitemcd='" + itemCd + "']/reccnts", prerec);
  2669. model.refresh();
  2670. }
  2671. /**
  2672. * @desc :환자진단정보 가져오기
  2673. * @id :
  2674. * @event : onclick
  2675. * @return : void
  2676. * @authur : 박종훈
  2677. */
  2678. function GetPatDiagNm(itemCd)
  2679. {
  2680. var pageInfo = new PAGEINFO();
  2681. var sPid = parent.model.getValue(pageInfo.recMastRef + "/pid");
  2682. var sOrddd = parent.model.getValue(pageInfo.recMastRef + "/orddd");
  2683. var sCretno = parent.model.getValue(pageInfo.recMastRef + "/cretno");
  2684. var sOrddeptcd = parent.model.getValue(pageInfo.recMastRef + "/orddeptcd");
  2685. var sIoflag = parent.model.getValue(pageInfo.recMastRef + "/chosflag");
  2686. model.removeNodeset("/root/main/diaginfo");
  2687. model.makeValue("/root/send/cond1", sPid);
  2688. model.makeValue("/root/send/cond2", sOrddd);
  2689. model.makeValue("/root/send/cond3", sCretno);
  2690. model.makeValue("/root/send/cond4", sOrddeptcd);
  2691. model.makeValue("/root/send/cond5", sIoflag);
  2692. if (submit("TRMMO00105", false))
  2693. {
  2694. var nodelistDiaginfo = model.instances(0).selectNodes("/root/main/diaginfo/diagcdlist");
  2695. var ro = "";
  2696. var ms = "";
  2697. var diaglist = "";
  2698. if(nodelistDiaginfo.length >= 1){
  2699. for(var i = 1; i <= nodelistDiaginfo.length; i++)
  2700. {
  2701. sDiagkindcd = model.getValue("/root/main/diaginfo/diagcdlist[" + i + "]/diagkindcd");
  2702. sDiagkindcdflag = model.getValue("/root/main/diaginfo/diagcdlist[" + i + "]/diagkindcdflag");
  2703. sTmpdiagcd = model.getValue("/root/main/diaginfo/diagcdlist[" + i + "]/icd10cd");
  2704. sTmpdiagengnm = model.getValue("/root/main/diaginfo/diagcdlist[" + i + "]/diagengnm");
  2705. if (sDiagkindcd == "R")
  2706. ro = "R/O";
  2707. else
  2708. ro = " - ";
  2709. if (sDiagkindcdflag == "M")
  2710. ms = "주";
  2711. else
  2712. ms = "부";
  2713. //diaglist += ro + " " + ms + " " + sTmpdiagcd + " " + sTmpdiagengnm + "\n"
  2714. diaglist += ro + " " + ms + " " + sTmpdiagengnm + "\n"
  2715. }
  2716. }
  2717. }
  2718. var prerec = model.getValue(pageInfo.recItemRef + "[fstlevlitemcd='" + itemCd + "']/reccnts");
  2719. if (prerec != "")
  2720. {
  2721. prerec = prerec + "\n" + diaglist;
  2722. }
  2723. else
  2724. {
  2725. prerec = diaglist;
  2726. }
  2727. model.setValue(pageInfo.recItemRef + "[fstlevlitemcd='" + itemCd + "']/reccnts", prerec);
  2728. model.refresh();
  2729. }
  2730. function EditableCtrl(trgElement, editableBool)
  2731. {
  2732. var editableStr = "";
  2733. if( editableBool )
  2734. editableStr = "true";
  2735. else
  2736. editableStr = "false";
  2737. var childLen = trgElement.children.length;
  2738. var tmpChildObj = null;
  2739. for( var i = 0; i < childLen; i++ ) {
  2740. tmpChildObj = trgElement.children.item(i);
  2741. if (tmpChildObj.attribute("usereditable") == "Y")
  2742. continue;
  2743. // group, switch일 경우
  2744. if( tmpChildObj.elementName == "xforms:group" ) {
  2745. EditableCtrl( tmpChildObj, editableBool);
  2746. }
  2747. // iviewer일 경우
  2748. else if( tmpChildObj.elementName == "xforms:iviewer" ) {
  2749. if( tmpChildObj.src != "" && tmpChildObj.attribute("id").indexOf("FRM_") == -1 )
  2750. EditableCtrl( tmpChildObj.window.body, editableBool);
  2751. }
  2752. // switch일 경우
  2753. else if( tmpChildObj.elementName == "xforms:switch" ) {
  2754. for( var j = 0; j < tmpChildObj.children.length; j++ ) {
  2755. EditableCtrl( tmpChildObj.children.item(j), editableBool);
  2756. }
  2757. }
  2758. else{
  2759. // inout, secret, textarea
  2760. if( tmpChildObj.elementName == "xforms:input" || tmpChildObj.elementName == "xforms:secret" || tmpChildObj.elementName == "xforms:textarea" ) {
  2761. tmpChildObj.attribute("editable") = editableStr;
  2762. }
  2763. // select, select1
  2764. else if( tmpChildObj.elementName == "xforms:select" || tmpChildObj.elementName == "xforms:select1") {
  2765. tmpChildObj.disabled = !editableBool;
  2766. }
  2767. else if( tmpChildObj.elementName == "xforms:datagrid" ) {
  2768. tmpChildObj.isReadOnly(tmpChildObj.fixedRows, tmpChildObj.fixedCols, tmpChildObj.rows - 1, tmpChildObj.cols - 1) = !editableBool;
  2769. }
  2770. else if( tmpChildObj.elementName == "xforms:button" ) {
  2771. tmpChildObj.disabled = !editableBool;
  2772. }
  2773. }
  2774. }
  2775. }
  2776. /*****************************************************************************
  2777. 튜닝
  2778. ******************************************************************************/
  2779. /**
  2780. * @group :
  2781. * @ver : 2008.06.13
  2782. * @by : snoweye
  2783. * @---------------------------------------------------
  2784. * @type : function
  2785. * @access : private
  2786. * @desc : Section 초기화(부분서식 로딩 및 확장서식 세팅) <-- InitLoadSection, InitSetUnitForm 통합
  2787. * @param :
  2788. * @return :
  2789. * @---------------------------------------------------
  2790. */
  2791. function initSection(itemCds)
  2792. {
  2793. var pageInfo = new PAGEINFO();
  2794. //alert("itemCds.length : " + itemCds.length);
  2795. // 공통서식 인스턴스 생성
  2796. copyNodeset("/root/main", "/root/main", "replace", model, parent.model);
  2797. model.removeNodeset("/root/main/recinfo");
  2798. //수술기록 분기(2008.10.24 박종훈)
  2799. if (parent.window.javascript.fGetFormMast("srcformcd") == "1000000001" || parent.window.javascript.fGetFormMast("srcformcd") == "0000000676" || parent.window.javascript.fGetFormMast("srcformcd") == "0000003169")
  2800. {
  2801. makeRefByDegnitemLevlCd();
  2802. }
  2803. else
  2804. {
  2805. makeRefByDegnitemno();
  2806. }
  2807. // model.addLog("######################################");
  2808. // model.addLog("Loading 시작 : " + getCurrentTime());
  2809. // model.addLog("######################################");
  2810. var fstLoad = false;
  2811. for (var i = 0; i < itemCds.length; i++)
  2812. {
  2813. //var cnt = getNodesetCnt(model, pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+itemCds[i]+"']");
  2814. //debugger;
  2815. var formdegnseq = model.getValue(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+itemCds[i]+"']/formdegnseq");
  2816. var unitformcd = model.getValue(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+itemCds[i]+"']/formcd");
  2817. var ivwObj = document.controls("ivw_" + itemCds[i]);
  2818. var tarObj = document.controls("tar_" + itemCds[i]);
  2819. //alert(ivwObj.src);
  2820. //if (cnt == 0)
  2821. if(formdegnseq == "")
  2822. {
  2823. ivwObj.visible = false;
  2824. tarObj.visible = true;
  2825. //onloadcomplete 강제 실행(Section이 부분서식이 아닌경우)
  2826. fOnLoadComplete();
  2827. //setParameter("loadformcd", "");
  2828. }
  2829. //snoweye(2008-12-16) - Section별 로딩
  2830. /*************************************************************************/
  2831. else if(!fstLoad || unitformcd == '0000000005')//첫번째 부분서식만 로딩(2008-12-04)
  2832. {
  2833. ivwObj.visible = true;
  2834. tarObj.visible = false;
  2835. //var unitformcd = model.getValue(pageInfo.formdegnRef + "[supdegnitemcd='" + itemCds[i] +
  2836. // "' and degnitemkind = 'FRM' and itemuseflag = 'F0']/degnitemcd");
  2837. var unitformprogflag = model.getValue(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+itemCds[i]+"']/formprogflag");
  2838. if (unitformcd != "")
  2839. {
  2840. ivwObj.attribute("supdegnitemcd") = itemCds[i];
  2841. ivwObj.attribute("unitformcd") = unitformcd;
  2842. model.addLog(unitformcd + " Loading 시작 : " + getCurrentTime());
  2843. loadUnitForm(ivwObj, itemCds[i]);
  2844. model.addLog(unitformcd + " Loading 끝 : " + getCurrentTime());
  2845. if (unitformprogflag != "PROG" && parent.window.javascript.fGetFormRec("status") == "C" && parent.window.javascript.fGetFormMast("formcd") != "0800000722" && unitformcd != '0000000005') //영양검색의뢰 제외
  2846. {
  2847. var srcformcd = model.getValue(pageInfo.formmastRef+ "/srcformcd");
  2848. //입원경과,외래재진은 제외한다(20130729 이윤주 => 20161109 수정)
  2849. if (srcformcd != "0000000004" && srcformcd != "0000000002" && srcformcd != "0000000679") {
  2850. fstLoad = true;//첫번째 부분서식 로딩완료(2008-12-04)
  2851. dispOnLoadComplete(UNIT_FORM);
  2852. }
  2853. }
  2854. else if(unitformprogflag == "PROG" && parent.window.javascript.fGetFormRec("status") == "C" && parent.window.javascript.fGetFormMast("formcd") == "0800000722")
  2855. {
  2856. //dispOnLoadComplete(UNIT_FORM);
  2857. //model.setValue(gPageInfo.forminfoRef + "/unitformmast[formcd='" + unitformcd + "' and loaded != 'true']/loaded", "true");
  2858. }
  2859. }
  2860. }
  2861. //snoweye(2008-12-16) - Section별 로딩 끝
  2862. /*************************************************************************/
  2863. if(formdegnseq != "")
  2864. {
  2865. ivwObj.visible = true;
  2866. tarObj.visible = false;
  2867. }
  2868. if (tarObj.visible == true)
  2869. {
  2870. setComnEvent(parent.window.javascript.fGetFormMast("srcformcd"), tarObj.attribute("degnitemno"), tarObj.attribute("id"));
  2871. }
  2872. var cboObj = document.controls("cbo_" + gItemCds[i]);
  2873. setExtnFormList(cboObj, gItemCds[i]);
  2874. }
  2875. return fstLoad;
  2876. }
  2877. /**
  2878. * @group :
  2879. * @ver : 2008.06.13
  2880. * @by : snoweye
  2881. * @---------------------------------------------------
  2882. * @type : function
  2883. * @access : private
  2884. * @desc : 부분서식 Load
  2885. * @param :
  2886. * @return :
  2887. * @---------------------------------------------------
  2888. */
  2889. function loadUnitForm(ivwObj, fstLevlItemCd)
  2890. {
  2891. var pageInfo = new PAGEINFO();
  2892. var formdegnseq = model.getValue(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='" + fstLevlItemCd + "']/formdegnseq");
  2893. var formprogflag = model.getValue(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='" + fstLevlItemCd + "']/formprogflag");
  2894. var srcformcd = model.getValue(pageInfo.formmastRef+ "/srcformcd");
  2895. if(formprogflag == "PROG")
  2896. {
  2897. var formprognm = model.getValue(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='" + fstLevlItemCd + "']/formprognm");
  2898. ivwObj.src = formprognm + ".xrw";
  2899. }
  2900. else
  2901. {
  2902. ivwObj.src = getFormUrl(formdegnseq, ivwObj.attribute("id"));
  2903. }
  2904. setMaxSizeMtx(ivwObj, 1);
  2905. if (srcformcd == "0000000679" && ivwObj.src != "")
  2906. {
  2907. if (opener.window.javascript.getScreenID() == "SSMMR01100")
  2908. {
  2909. fSetErTriageRec(ivwObj, null);
  2910. }
  2911. else
  2912. {
  2913. ivw_base.window.javascript.fSetErTriageRec(ivwObj, null);
  2914. }
  2915. }
  2916. }
  2917. /**
  2918. * @group :
  2919. * @ver : 2008.06.13
  2920. * @by : snoweye
  2921. * @---------------------------------------------------
  2922. * @type : function
  2923. * @access : private
  2924. * @desc : 확장서식 세팅 (<--SetUnitFormList)
  2925. * @param :
  2926. * @return :
  2927. * @---------------------------------------------------
  2928. */
  2929. function setExtnFormList(cboObj, supdegnitemcd)
  2930. {
  2931. if (cboObj == null) return;
  2932. var pageInfo = new PAGEINFO();
  2933. cboObj.refresh();
  2934. if (cboObj.itemCount == 0)
  2935. {
  2936. cboObj.visible = false;
  2937. }
  2938. else
  2939. {
  2940. cboObj.visible = true;
  2941. var node = model.instances(0).selectSingleNode(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+ supdegnitemcd +"']/formdegnseq");
  2942. if (node != null)
  2943. {
  2944. model.makeValue("/root/hidden/choicbo/cbo_" + supdegnitemcd + "/baseunitformdegnseq", node.text);
  2945. model.makeValue("/root/hidden/choicbo/cbo_" + supdegnitemcd + "/extnunitformdegnseq", cboObj.value);
  2946. }
  2947. else
  2948. {
  2949. model.makeValue("/root/hidden/choicbo/cbo_" + supdegnitemcd + "/baseunitformdegnseq", "");
  2950. model.makeValue("/root/hidden/choicbo/cbo_" + supdegnitemcd + "/extnunitformdegnseq", "");
  2951. }
  2952. //model.makeNode("/root/hidden/choicbo/cbo_" + supdegnitemcd + "/extnunitformdegnseq");
  2953. cboObj.attribute("ref") = "/root/hidden/choicbo/cbo_" + supdegnitemcd + "/extnunitformdegnseq";
  2954. cboObj.refresh();
  2955. }
  2956. }
  2957. /**
  2958. * @group :
  2959. * @ver : 2008.06.23
  2960. * @by : snoweye
  2961. * @---------------------------------------------------
  2962. * @type : function
  2963. * @access : public
  2964. * @desc : 로드할 서식의 Url을 반환
  2965. * @param : formdegnseq - load할 서식의 디자인 순번
  2966. * @param : ivwid - 서식을 load할 viewer의 id
  2967. * @return : Action Url (String)
  2968. * @---------------------------------------------------
  2969. */
  2970. function getFormUrl(formdegnseq, ivwid)
  2971. {
  2972. return getActionURL("TRMRF01201") + getUserSessionString() + "&formcd=&formdegnseq=" + formdegnseq + "&ivwid=" + ivwid;
  2973. }
  2974. /**
  2975. * @group :
  2976. * @ver : 2008.06.23
  2977. * @by : snoweye
  2978. * @---------------------------------------------------
  2979. * @type : function
  2980. * @access : public
  2981. * @desc : Section영역 최대화 ( <-- SetMaxSizeSection)
  2982. * @param : itemCds - 섹션 itemcd 배열
  2983. * @return :
  2984. * @---------------------------------------------------
  2985. */
  2986. function expandSection(itemCds)
  2987. {
  2988. var ctrlID = event.target;
  2989. var itemcd = ctrlID.replace("lbl_", "");
  2990. var bFold = itemcd == gMaxSectionID ? true : false;
  2991. var ctrl = null;
  2992. var prevItemCd = gMaxSectionID;
  2993. var unitformcd = "";
  2994. for (var i = 0; i < itemCds.length; i++)
  2995. {
  2996. var secCtrl = document.controls("lbl_" + itemCds[i]);
  2997. var formdegnseq = model.getValue(gPageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+itemCds[i]+"']/formdegnseq");
  2998. unitformcd = model.getValue(gPageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+itemCds[i]+"']/formcd");
  2999. /*ctrl = document.controls("ivw_" + itemCds[i]);
  3000. if (ctrl.attribute("ctrluseyn") == "N")
  3001. ctrl = document.controls("tar_" + itemCds[i]);*/
  3002. if(formdegnseq == "")
  3003. ctrl = document.controls("tar_" + itemCds[i]);
  3004. else
  3005. ctrl = document.controls("ivw_" + itemCds[i]);
  3006. if(itemcd == itemCds[i])
  3007. {
  3008. fSetBaseForm( itemCds[i] );
  3009. if(bFold)//fold
  3010. {
  3011. ctrl.attribute("top") = ctrl.attribute("orgtop");
  3012. ctrl.attribute("height") = ctrl.attribute("orgheight");
  3013. secCtrl.attribute("background-color") = secCtrl.attribute("orgbackground-color");
  3014. gMaxSectionID = "";
  3015. }
  3016. else//expand
  3017. {
  3018. ctrl.attribute("orgtop") = ctrl.attribute("top");
  3019. ctrl.attribute("orgheight") = ctrl.attribute("height");
  3020. secCtrl.attribute("orgbackground-color") = secCtrl.attribute("background-color");
  3021. ctrl.attribute("top") = gMaxSectionTop;
  3022. ctrl.attribute("height") = gMaxSectionHei;
  3023. secCtrl.attribute("background-color") = "#99ccff";
  3024. gMaxSectionID = itemcd;
  3025. }
  3026. ctrl.visible = true;
  3027. }
  3028. else
  3029. {
  3030. if(bFold)//fold
  3031. {
  3032. ctrl.visible = true;
  3033. }
  3034. else//expand
  3035. {
  3036. ctrl.visible = false;
  3037. if(prevItemCd == itemCds[i])
  3038. {
  3039. ctrl.attribute("top") = ctrl.attribute("orgtop");
  3040. ctrl.attribute("height") = ctrl.attribute("orgheight");
  3041. secCtrl.attribute("background-color") = secCtrl.attribute("orgbackground-color");
  3042. }
  3043. }
  3044. }
  3045. if (ctrl.attribute("id") == "ivw_" + itemCds[i])
  3046. {
  3047. SetMultiTextFull(ctrl, 1);
  3048. }
  3049. if (unitformcd == "0000000901" || unitformcd == "0000000899" || unitformcd == "0000000900")
  3050. {
  3051. ctrl.window.javascript.fInitPage(false, parseInt(ctrl.attribute("height")), parseInt(ctrl.attribute("width")));
  3052. }
  3053. //ctrl = document.controls("lbl_" + itemCds[i]);
  3054. //ctrl.attribute("background-color") = "#cce8ff";
  3055. }
  3056. /*ctrl = document.controls("ivw_" + itemcd);
  3057. if (ctrl.attribute("ctrluseyn") == "N")
  3058. {
  3059. ctrl = document.controls("tar_" + itemcd);
  3060. }
  3061. if (! ctrlvisible)
  3062. {
  3063. ctrl.visible = true;
  3064. ctrl.attribute("top") = gMaxSectionTop;
  3065. ctrl.attribute("height") = gMaxSectionHei;
  3066. if (ctrl.elementName == "xforms:iviewer")
  3067. setMaxSizeMtx(ctrl, 1);
  3068. ctrl = document.controls("lbl_" + itemcd);
  3069. ctrl.attribute("background-color") = "#99ccff";
  3070. gMaxSectionID = itemcd;
  3071. }
  3072. else
  3073. {
  3074. if (ctrl.elementName == "xforms:iviewer")
  3075. setMaxSizeMtx(ctrl, 1);
  3076. gMaxSectionID = "";
  3077. }
  3078. for (var i = 0; i < itemCds.length; i++)
  3079. {
  3080. ctrl = document.controls("tar_" + itemCds[i]);
  3081. if (ctrl == null)
  3082. {
  3083. ctrl = document.controls("ivw_" + itemCds[i]);
  3084. ctrl.window.javascript.fInitPage(false, parseInt(ctrl.attribute("height")), parseInt(ctrl.attribute("width")));
  3085. }
  3086. }
  3087. ctrl = document.controls("tar_" + itemcd);
  3088. if (ctrl != null && ctrl.attribute("ctrluseyn") == "Y")
  3089. {
  3090. model.setFocus(ctrl.attribute("id"));
  3091. ctrl.dispatch("onkeyup");
  3092. }*/
  3093. }
  3094. function fSetBaseForm( itemCd )
  3095. {
  3096. //섹션 선택시 해당 섹션의 부분서식의 로딩되어있는지 확인하여
  3097. //로딩되어 있지 않으면 부분서식로딩
  3098. var ivwObj = document.controls("ivw_" + itemCd);
  3099. if(ivwObj.src == "")
  3100. {
  3101. //var unitformcd = model.getValue(gPageInfo.formdegnRef + "[supdegnitemcd='" + itemCd +
  3102. // "' and degnitemkind = 'FRM' and itemuseflag = 'F0']/degnitemcd");
  3103. var unitformcd = model.getValue( gPageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+itemCd+"']/formcd");
  3104. if (unitformcd != "")
  3105. {
  3106. ivwObj.attribute("supdegnitemcd") = itemCd;
  3107. ivwObj.attribute("unitformcd") = unitformcd;
  3108. model.addLog(unitformcd + " Loading 시작 : " + getCurrentTime());
  3109. loadUnitForm(ivwObj, itemCd);
  3110. model.addLog(unitformcd + " Loading 끝 : " + getCurrentTime());
  3111. //2008-12-18박종훈(기록데이터 가져오기-보완필요)
  3112. //parent.window.javascript.InitUnitFormDataBySupdegnitemcd(itemCd);
  3113. }
  3114. }
  3115. }
  3116. /**
  3117. * @group :
  3118. * @ver : 2008.06.23
  3119. * @by : snoweye
  3120. * @---------------------------------------------------
  3121. * @type : function
  3122. * @access : public
  3123. * @desc : TextArea 최대화 ( <-- SetMultiTextFull)
  3124. * @param : ctrl - TextArea가 포함된 iviewer object 또는 TextArea
  3125. * @return :
  3126. * @---------------------------------------------------
  3127. */
  3128. function setMaxSizeMtx(ivwObj, pDegnItemNo)
  3129. {
  3130. if (ivwObj.attribute("unitformcd") == "0000000005")
  3131. {
  3132. ivwObj.window.javascript.fSetMtxSize(pDegnItemNo, 0, 0, parseInt(ivwObj.attribute("width"))-5, parseInt(ivwObj.attribute("height")));
  3133. /*var mtxNm = "MTX_" + pDegnItemNo;
  3134. var mtx = ivwObj.window.document.controls(mtxNm);
  3135. if(mtx != null)
  3136. {
  3137. mtx.attribute("border-style") = "none";
  3138. mtx.refresh();
  3139. }*/
  3140. }
  3141. }
  3142. /**
  3143. * @group :
  3144. * @ver : 2008.06.23
  3145. * @by : snoweye
  3146. * @---------------------------------------------------
  3147. * @type : function
  3148. * @access : public
  3149. * @desc : 복합서식(부분서식을 포함, 공통서식)의 기록 데이터를 취합 ( <-- initSaveComnFormRecItemData)
  3150. * @param : mode - null / 'all' ( 기록된 데이터만 / 전체 데이터)
  3151. * @return :
  3152. * @---------------------------------------------------
  3153. */
  3154. function getSaveComnFormData_old(mode)
  3155. {
  3156. var ctrlIvw;
  3157. var pageInfo = new PAGEINFO();
  3158. if (gFstItemCds == null)
  3159. {
  3160. gFstItemCds = gItemCds;
  3161. }
  3162. model.removeNodeset(pageInfo.sortItemRef);
  3163. //program서식 데이터 저장
  3164. getSaveData(pageInfo.sortItemRef, "append", model, null, mode);
  3165. for (var i = 0; i < gItemCds.length; i++)
  3166. {
  3167. ctrlIvw = document.controls("ivw_" + gItemCds[i]);
  3168. if (ctrlIvw != null && ctrlIvw.visible)
  3169. ctrlIvw.window.javascript.getSaveData(pageInfo.sortItemRef, "append", model, NewPageInfo(ctrlIvw, gFstItemCds[i]));
  3170. copyNodeset(pageInfo.sortItemRef, "/root/hidden/extnformrec/recinfo/recitem[fstlevlitemcd = '" +gItemCds[i]+ "']", "append", model, model);
  3171. copyNodeset(pageInfo.sortItemRef, pageInfo.imgerecItemRef + "[fstlevlitemcd = '" +gItemCds[i]+ "']", "append", model, model);
  3172. }
  3173. SortRecItem();
  3174. copyNodeset(pageInfo.recItemRef2, pageInfo.recItemRef2, "replace", opener.model, model);
  3175. }
  3176. /**
  3177. * @group :
  3178. * @ver : 2008.06.23
  3179. * @by : snoweye
  3180. * @---------------------------------------------------
  3181. * @type : function
  3182. * @access : public
  3183. * @desc : 복합서식(부분서식을 포함, 공통서식)의 기록 데이터를 취합 ( <-- initSaveComnFormRecItemData)
  3184. * @param : mode - null / 'all' ( 기록된 데이터만 / 전체 데이터)
  3185. * @return :
  3186. * @---------------------------------------------------
  3187. */
  3188. function getSaveComnFormData(mode, tmp)
  3189. {
  3190. var ctrlIvw;
  3191. var ctrlTar;
  3192. var pageInfo = new PAGEINFO();
  3193. var savedInfo = new SAVED_INFO();
  3194. if (gFstItemCds == null)
  3195. {
  3196. gFstItemCds = gItemCds;
  3197. }
  3198. model.removeNodeset(pageInfo.sortItemRef);
  3199. //program서식 데이터 저장
  3200. //2010.01.12 안치원 - MTX의 필수입력시 기본부분서식이 있으면 부분서식을, 없으면 MTX의 입력여부를 검사한다.
  3201. // if (tmp == null)
  3202. // {
  3203. // //필수 입력항목 체크(특수서식)
  3204. // if(chkEssentialitem() == false)
  3205. // {
  3206. // return savedInfo;
  3207. // }
  3208. // }
  3209. //pageInfo.sortItemRef --> /root/temp/sort/recinfo/recitem
  3210. getSaveData(pageInfo.sortItemRef, "append", model, null, mode);
  3211. for (var i = 0; i < gItemCds.length; i++)
  3212. {
  3213. ctrlIvw = document.controls("ivw_" + gItemCds[i]);
  3214. //2010-03-31 오전 10:12:54 강지훈 추가 : 입퇴원요약지 최종진단명 추가
  3215. var lastDiagStrDest = pageInfo.sortItemRef;
  3216. var lastDiagStrSrc = pageInfo.lastdiagItemRef + "/recitem[fstlevlitemcd = '" +gItemCds[i]+ "']";
  3217. var formdegnseq = model.getValue(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+gItemCds[i]+"']/formdegnseq");
  3218. //if (ctrlIvw != null && ctrlIvw.visible)
  3219. //if (ctrlIvw != null)
  3220. if(formdegnseq != "" && ctrlIvw.src != "")
  3221. {
  3222. var orgsupdegnitemno = model.getValue(gPageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='" + gItemCds[i] + "']/orgsupdegnitemno");
  3223. if(orgsupdegnitemno == "")
  3224. {
  3225. copyNodeset(pageInfo.sortItemRef, "/root/hidden/extnformrec/recinfo/recitem[degnitemkind != 'FDG' and fstlevlitemcd = '" +gItemCds[i]+ "']", "append", model, model);
  3226. copyNodeset(pageInfo.sortItemRef, pageInfo.imgerecItemRef + "[fstlevlitemcd = '" +gItemCds[i]+ "']", "append", model, model);
  3227. copyNodeset(pageInfo.sortItemRef, pageInfo.fmyrecItemRef + "/recitem[fstlevlitemcd = '" +gItemCds[i]+ "']", "append", model, model); //가계도
  3228. copyNodeset(pageInfo.sortItemRef, pageInfo.etcrecItemRef + "/recitem[fstlevlitemcd = '" +gItemCds[i]+ "']", "append", model, model); //추가기록
  3229. fInsertNodes(lastDiagStrDest, lastDiagStrSrc); //2010-03-30 오후 9:03:47 강지훈 추가 : 입퇴원요약지 최종진단명 추가
  3230. continue;
  3231. }
  3232. var degnitemlevlcd = model.getValue(gPageInfo.formdegnRef + "[degnitemno = '" + orgsupdegnitemno + "']/degnitemlevlcd");
  3233. var fstLevlBaseItemCd = degnitemlevlcd.substr(0, degnitemlevlcd.indexOf(".") >= 0 ? degnitemlevlcd.indexOf(".") : degnitemlevlcd.length);
  3234. var fstLevlItemCd = model.getValue(gPageInfo.formdegnRef + "[degnitemlevlcd = '" + fstLevlBaseItemCd + "']/degnitemcd");
  3235. if (tmp == null)
  3236. {
  3237. //2010-07-27 김달현
  3238. //의뢰상태의 격리병실신청 수정시 보이지 않는 회신내역 필수체크때문에 수정안되는 오류발생(요청번호:9731)
  3239. //HIT강지훈사원이 MMR04900에 ivw.src공백처리로 수정했으나(2010-04-06) 이 부분으로 인해 컨설트 회신시 입력한 내용이 공백으로 저장된 오류발생해 다시 주석처리함.
  3240. //notChkEssnYn 플래그를 추가함.(ivw.attribute)값이 Y일 경우는 필수체크 안함. N으로 설정한 경우만 필수체크함.
  3241. if(ctrlIvw.attribute("notChkEssnYn") != "Y" && ctrlIvw.window.javascript.chkEssentialitem(gItemCds[i].substr(0, 7)) == false)//필수 입력항목 체크(특수서식)
  3242. {
  3243. return savedInfo;
  3244. }
  3245. }
  3246. ctrlIvw.window.javascript.getSaveData(pageInfo.sortItemRef, "append", model, NewPageInfo(ctrlIvw, fstLevlItemCd));
  3247. }
  3248. copyNodeset(pageInfo.sortItemRef, "/root/hidden/extnformrec/recinfo/recitem[degnitemkind != 'FDG' and fstlevlitemcd = '" +gItemCds[i]+ "']", "append", model, model);
  3249. copyNodeset(pageInfo.sortItemRef, pageInfo.imgerecItemRef + "[fstlevlitemcd = '" +gItemCds[i]+ "']", "append", model, model);
  3250. copyNodeset(pageInfo.sortItemRef, pageInfo.etcrecItemRef + "/recitem[fstlevlitemcd = '" +gItemCds[i]+ "']", "append", model, model); //추가기록
  3251. copyNodeset(pageInfo.sortItemRef, pageInfo.fmyrecItemRef + "/recitem[fstlevlitemcd = '" +gItemCds[i]+ "']", "append", model, model); //가계도
  3252. fInsertNodes(lastDiagStrDest, lastDiagStrSrc); //2010-03-30 오후 9:03:47 강지훈 추가 : 입퇴원요약지 최종진단명 추가
  3253. }
  3254. SortRecItem();
  3255. copyNodeset(pageInfo.recItemRef2, pageInfo.recItemRef2, "replace", opener.model, model);
  3256. //2010.01.12 안치원 - MTX의 필수입력시 기본부분서식이 있으면 부분서식을, 없으면 MTX의 입력여부를 검사한다.
  3257. if (tmp == null)
  3258. {
  3259. //필수 입력항목 체크(특수서식)
  3260. if(chkEssentialitem() == false)
  3261. {
  3262. return savedInfo;
  3263. }
  3264. }
  3265. }
  3266. /**
  3267. * @desc : Text Box 최대화(컨설트서식을 위해 다시 추가)
  3268. * @id :
  3269. * @event :
  3270. * @return : void
  3271. * @authur : 박종훈
  3272. */
  3273. function SetMultiTextFull(ivwObj, pDegnItemNo)
  3274. {
  3275. if (ivwObj.attribute("unitformcd") == "0000000005")
  3276. {
  3277. ivwObj.window.javascript.fSetMtxSize(pDegnItemNo, 0, 0, parseInt(ivwObj.attribute("width"))-5, parseInt(ivwObj.attribute("height")));
  3278. /*var mtxNm = "MTX_" + pDegnItemNo;
  3279. var mtx = ivwObj.window.document.controls(mtxNm);
  3280. if(mtx != null)
  3281. {
  3282. mtx.attribute("border-style") = "none";
  3283. mtx.refresh();
  3284. }*/
  3285. }
  3286. }
  3287. /**
  3288. * @desc :환자처방정보 가져오기
  3289. * @id :
  3290. * @event : onclick
  3291. * @return : void
  3292. * @authur : 박종훈
  3293. */
  3294. function GetPatDrugPrcpList(itemCd, itemCd1)
  3295. {
  3296. var pageInfo = new PAGEINFO();
  3297. var prcpdd = "";
  3298. var bfflag = "bfprcp";
  3299. var flag = "";
  3300. var todd = "";
  3301. var pid = parent.model.getValue(pageInfo.recMastRef + "/pid");
  3302. var orddd = parent.model.getValue(pageInfo.recMastRef + "/orddd");
  3303. var cretno = parent.model.getValue(pageInfo.recMastRef + "/cretno");
  3304. var orddrid = parent.model.getValue(pageInfo.recMastRef + "/orddrid");
  3305. var orddeptcd = parent.model.getValue(pageInfo.recMastRef + "/orddeptcd");
  3306. var prcpgenrflag = parent.model.getValue(pageInfo.recMastRef + "/chosflag");
  3307. if (prcpgenrflag == "I" || prcpgenrflag == "E" || prcpgenrflag == "D")
  3308. {
  3309. prcpdd = parent.model.getValue(pageInfo.recMastRef + "/formrecdd");
  3310. }
  3311. else
  3312. {
  3313. prcpdd = orddd;
  3314. }
  3315. //처방정보 가져오기(퇴원처방 prcpkindcd = 60)
  3316. if(fBfPrcpSrchCom(pid, orddd, prcpdd, bfflag, flag, orddrid, todd, prcpgenrflag, orddeptcd, cretno, "TRMMO00100", true))
  3317. {
  3318. //투약
  3319. var nodelistDrugPrcpinfo = model.instances(0).selectNodes("/root/prcpsrch/prcplist[(prcpkindcd != '' and prcphistcd != 'C' and prcphistcd != 'L' and prcphistcd != 'E') and (prcpclscd = 'A2' or prcpclscd = 'A4' or prcpclscd = 'A6')]");
  3320. //처치
  3321. var nodelistPrcpinfo = model.instances(0).selectNodes("/root/prcpsrch/prcplist[(prcpkindcd != '' and prcphistcd != 'C' and prcphistcd != 'L' and prcphistcd != 'E') and (prcpclscd = 'H2' or prcpclscd = 'H4')]");
  3322. }
  3323. var prcpkind = ""; //처방종류
  3324. var orgprcpnm = ""; //처방명
  3325. var drugmthdspccdnm = ""; //용법
  3326. var prcpdelivefact = ""; //전달사항
  3327. var prcplist = "";
  3328. var prcphistcd = ""; //임시,인증구분
  3329. var prcpclscd = "";
  3330. var tmpdrugmthdspccdnm = "";
  3331. if(nodelistDrugPrcpinfo.length >= 1){
  3332. for(var i = 1; i <= nodelistDrugPrcpinfo.length; i++)
  3333. {
  3334. var subNode = nodelistDrugPrcpinfo.item(i - 1);
  3335. //orgprcpnm = subNode.selectSingleNode("orgprcpnm").text;
  3336. tmpdrugmthdspccdnm = subNode.selectSingleNode("drugmthdspccdnm").text;
  3337. prcpkind = subNode.selectSingleNode("tempcol13").text;
  3338. orgprcpnm = subNode.selectSingleNode("tempcol6").text;
  3339. drugmthdspccdnm = subNode.selectSingleNode("tempcol7").text;
  3340. prcpclscd = subNode.selectSingleNode("prcpclscd").text;
  3341. drugmthdspccdnm = drugmthdspccdnm.replace(tmpdrugmthdspccdnm, "");
  3342. drugmthdspccdnm = drugmthdspccdnm.replace("[급]", "");
  3343. drugmthdspccdnm = drugmthdspccdnm.replace("[일]", "");
  3344. drugmthdspccdnm = drugmthdspccdnm.replace("[본]", "");
  3345. drugmthdspccdnm = drugmthdspccdnm.replace("(집)", "");
  3346. drugmthdspccdnm = drugmthdspccdnm.replace("[home]", "");
  3347. drugmthdspccdnm = drugmthdspccdnm.replace("[임상]", "");
  3348. drugmthdspccdnm = drugmthdspccdnm.replace("[prn]", "");
  3349. prcpdelivefact = subNode.selectSingleNode("prcpdelivefact").text;
  3350. prcphistcd = subNode.selectSingleNode("prcphistcd").text;
  3351. if(prcphistcd == "T")
  3352. {
  3353. if (prcpclscd == "A2" || prcpclscd == "A4" || prcpclscd == "A6")
  3354. {
  3355. prcplist += "[임] " + orgprcpnm + " " + drugmthdspccdnm + "\n"
  3356. }
  3357. else
  3358. {
  3359. prcplist += "[임] " + orgprcpnm + "\n"
  3360. }
  3361. }
  3362. else
  3363. {
  3364. if (prcpclscd == "A2" || prcpclscd == "A4" || prcpclscd == "A6")
  3365. {
  3366. prcplist += orgprcpnm + " " + drugmthdspccdnm + "\n"
  3367. }
  3368. else
  3369. {
  3370. prcplist += orgprcpnm + "\n"
  3371. }
  3372. }
  3373. }
  3374. }
  3375. var prerec = model.getValue(pageInfo.recItemRef + "[fstlevlitemcd='" + itemCd + "']/reccnts");
  3376. if (prerec != "")
  3377. {
  3378. prerec = prerec + "\n" + prcplist + "\n";
  3379. }
  3380. else
  3381. {
  3382. prerec = prcplist + "\n"
  3383. }
  3384. model.setValue(pageInfo.recItemRef + "[fstlevlitemcd='" + itemCd + "']/reccnts", prerec);
  3385. var prcpkind = ""; //처방종류
  3386. var orgprcpnm = ""; //처방명
  3387. var drugmthdspccdnm = ""; //용법
  3388. var prcpdelivefact = ""; //전달사항
  3389. var prcplist = "";
  3390. var prcphistcd = ""; //임시,인증구분
  3391. var prcpclscd = "";
  3392. var tmpdrugmthdspccdnm = "";
  3393. if(nodelistPrcpinfo.length >= 1){
  3394. for(var i = 1; i <= nodelistPrcpinfo.length; i++)
  3395. {
  3396. var subNode = nodelistPrcpinfo.item(i - 1);
  3397. prcpkind = subNode.selectSingleNode("tempcol13").text;
  3398. orgprcpnm = subNode.selectSingleNode("tempcol6").text;
  3399. tmpdrugmthdspccdnm = subNode.selectSingleNode("drugmthdspccdnm").text;
  3400. drugmthdspccdnm = subNode.selectSingleNode("tempcol7").text;
  3401. prcpclscd = subNode.selectSingleNode("prcpclscd").text;
  3402. drugmthdspccdnm = drugmthdspccdnm.replace(tmpdrugmthdspccdnm, "");
  3403. drugmthdspccdnm = drugmthdspccdnm.replace("[급]", "");
  3404. drugmthdspccdnm = drugmthdspccdnm.replace("[일]", "");
  3405. drugmthdspccdnm = drugmthdspccdnm.replace("[본]", "");
  3406. drugmthdspccdnm = drugmthdspccdnm.replace("(집)", "");
  3407. drugmthdspccdnm = drugmthdspccdnm.replace("[home]", "");
  3408. drugmthdspccdnm = drugmthdspccdnm.replace("[임상]", "");
  3409. drugmthdspccdnm = drugmthdspccdnm.replace("[prn]", "");
  3410. prcpdelivefact = subNode.selectSingleNode("prcpdelivefact").text;
  3411. prcphistcd = subNode.selectSingleNode("prcphistcd").text;
  3412. if(prcphistcd == "T")
  3413. {
  3414. if (prcpclscd == "A2" || prcpclscd == "A4" || prcpclscd == "A6")
  3415. {
  3416. prcplist += "[임] " + orgprcpnm + " " + drugmthdspccdnm + "\n"
  3417. }
  3418. else
  3419. {
  3420. prcplist += "[임] " + orgprcpnm + "\n"
  3421. }
  3422. }
  3423. else
  3424. {
  3425. if (prcpclscd == "A2" || prcpclscd == "A4" || prcpclscd == "A6")
  3426. {
  3427. prcplist += orgprcpnm + " " + drugmthdspccdnm + "\n"
  3428. }
  3429. else
  3430. {
  3431. prcplist += orgprcpnm + "\n"
  3432. }
  3433. }
  3434. }
  3435. }
  3436. var prerec = model.getValue(pageInfo.recItemRef + "[fstlevlitemcd='" + itemCd1 + "']/reccnts");
  3437. if (prerec != "")
  3438. {
  3439. prerec = prerec + "\n" + prcplist + "\n";
  3440. }
  3441. else
  3442. {
  3443. prerec = prcplist + "\n"
  3444. }
  3445. model.setValue(pageInfo.recItemRef + "[fstlevlitemcd='" + itemCd1 + "']/reccnts", prerec);
  3446. model.refresh();
  3447. }
  3448. /**
  3449. * @desc :공통기록 디폴트 포커스처리(MTX)
  3450. * @id :
  3451. * @event : onclick
  3452. * @return : void
  3453. * @authur : 박종훈
  3454. */
  3455. function SetDefFocusMTX(itemArr)
  3456. {
  3457. var ctrlTar;
  3458. for (var i = 0; i < itemArr.length; i++)
  3459. {
  3460. ctrlTar = document.controls("tar_" + itemArr[i]);
  3461. if (ctrlTar != null && ctrlTar.visible)
  3462. {
  3463. model.setFocus("tar_" + itemArr[i]);
  3464. ctrlTar.dispatch("onkeyup");
  3465. break;
  3466. }
  3467. }
  3468. }
  3469. /**
  3470. * @desc :공통기록 디폴트 포커스처리(IVW)
  3471. * @id :
  3472. * @event : onclick
  3473. * @return : void
  3474. * @authur : 박종훈
  3475. */
  3476. function SetDefFocusIVW(itemArr)
  3477. {
  3478. var ctrlIvw;
  3479. var mtxNm = "MTX_1";
  3480. var mtx
  3481. for (var i = 0; i < itemArr.length; i++)
  3482. {
  3483. ctrlIvw = document.controls("ivw_" + itemArr[i]);
  3484. if (ctrlIvw != null && ctrlIvw.visible && ctrlIvw.src != "")
  3485. {
  3486. var mtx = ctrlIvw.window.document.controls(mtxNm);
  3487. if (mtx == null)
  3488. continue;
  3489. ctrlIvw.model.setFocus(mtxNm);
  3490. mtx.dispatch("onkeyup");
  3491. break;
  3492. }
  3493. }
  3494. }
  3495. /**
  3496. * @desc : 부분서식 로딩 후 기록내용 셋팅(보완필요)
  3497. * @id :
  3498. * @event :
  3499. * @return : void
  3500. * @authur : 박종훈
  3501. */
  3502. function InitUnitFormDataBySupdegnitemcd(itemcd)
  3503. {
  3504. if (fGetFormRec("status") != "U")
  3505. return;
  3506. var ctrlIvw;
  3507. var pageInfo = new PAGEINFO();
  3508. //var degnitemcdlist = model.instances(0).selectNodes(pageInfo.formdegnRef + "[degnitemkind = 'FRM' and itemuseflag='F0']/degnitemcd");
  3509. //var supdegnitemcdlist = model.instances(0).selectNodes(pageInfo.formdegnRef + "[degnitemkind = 'FRM' and itemuseflag='F0']/supdegnitemcd");
  3510. var node = model.instances(0).selectSingleNode(pageInfo.formdegnRef + "[degnitemkind = 'FRM' and itemuseflag='F0' and supdegnitemcd = '" + itemcd + "']");
  3511. var degnitemcd = node.getXPathString("degnitemcd");
  3512. var supdegnitemcd = node.getXPathString("supdegnitemcd");
  3513. var degnitemlevlcd = node.getXPathString("degnitemlevlcd");
  3514. ctrlIvw = document.controls("ivw_" + supdegnitemcd);
  3515. if (ctrlIvw != null && ctrlIvw.visible && ctrlIvw.src != "")
  3516. {
  3517. ctrlIvw.window.javascript.clearData();
  3518. var fstlevlitembasecd = degnitemlevlcd.split(".")[0];
  3519. var fstlevlitemcd = model.getValue(gPrePath_formdegnRef + "degnitemlevlcd = '" + fstlevlitembasecd + "']/degnitemcd");
  3520. setSrchData(pageInfo.recItemRef2 + "[fstlevlitemcd='" +fstlevlitemcd+ "' and formcd = '" + degnitemcd + "']", ctrlIvw);
  3521. }
  3522. model.removeNodeset(pageInfo.extnrecItemRef);
  3523. var cnt = getNodesetCnt(model, pageInfo.forminfoRef + "/extnformlist");
  3524. for (var i = 1; i <= cnt; i++)
  3525. {
  3526. // stmt = pageInfo.recItemRef2 + "[degnitemkind != 'FDG' and fstlevlitemcd='" +model.getValue(pageInfo.forminfoRef + "/extnformlist[" +i+ "]/supdegnitemcd")+
  3527. // "' and formcd = '" + model.getValue(pageInfo.forminfoRef + "/extnformlist[" +i+ "]/formcd") + "']";
  3528. //가계도는 확장서식에 붙으면 안되는 문제로 수정(박종훈/2008-09-29)
  3529. stmt = pageInfo.recItemRef2 + "[degnitemkind != 'FDG' and fstlevlitemcd='" +model.getValue(pageInfo.forminfoRef + "/extnformlist[" +i+ "]/supdegnitemcd")+
  3530. "' and formcd = '" + model.getValue(pageInfo.forminfoRef + "/extnformlist[" +i+ "]/formcd") + "']";
  3531. copyNodeset(pageInfo.extnrecItemRef, stmt, "append", model, model);
  3532. model.removeNodeset(stmt);
  3533. }
  3534. copyNodeset(pageInfo.imgerecItemRef, pageInfo.recItemRef2 + "[degnitemkind='IMG' and rowno != '']", "replace", model, model);
  3535. copyNodeset(pageInfo.fmyrecItemRef + "/recitem", pageInfo.recItemRef2 + "[degnitemkind='FDG']", "replace", model, model);
  3536. copyNodeset(pageInfo.etcrecItemRef + "/recitem", pageInfo.recItemRef2 + "[degnitemno='0']", "replace", model, model);
  3537. copyNodeset(pageInfo.lastdiagItemRef + "/recitem", pageInfo.recItemRef2 + "[formcd = '1000007943']", "replace", model, model); //2010-03-31 오전 10:14:27 강지훈추가 : 최종진단명 요약지 추가
  3538. }
  3539. /**
  3540. * @group :
  3541. * @ver : 2008.06.23
  3542. * @by : snoweye
  3543. * @---------------------------------------------------
  3544. * @type : function
  3545. * @access : public
  3546. * @desc : Section영역 최대화 ( <-- SetMaxSizeSection)
  3547. * @param : itemCds - 섹션 itemcd 배열
  3548. * @return :
  3549. * @---------------------------------------------------
  3550. */
  3551. function loadClickSection(itemCd)
  3552. {
  3553. var ctrlID = event.target;
  3554. var itemcd = ctrlID.replace("lbl_", "");
  3555. var ctrl = null;
  3556. var prevItemCd = gMaxSectionID;
  3557. var unitformcd = "";
  3558. var secCtrl = document.controls("lbl_" + itemCd);
  3559. var formdegnseq = model.getValue(gPageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+itemCd+"']/formdegnseq");
  3560. unitformcd = model.getValue(gPageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+itemCd+"']/formcd");
  3561. if(formdegnseq == "")
  3562. ctrl = document.controls("tar_" + itemCd);
  3563. else
  3564. ctrl = document.controls("ivw_" + itemCd);
  3565. //섹션 선택시 해당 섹션의 부분서식의 로딩되어있는지 확인하여
  3566. //로딩되어 있지 않으면 부분서식로딩
  3567. var ivwObj = document.controls("ivw_" + itemCd);
  3568. if(ivwObj.src == "")
  3569. {
  3570. //var unitformcd = model.getValue(gPageInfo.formdegnRef + "[supdegnitemcd='" + itemCds[i] +
  3571. // "' and degnitemkind = 'FRM' and itemuseflag = 'F0']/degnitemcd");
  3572. var unitformcd = model.getValue(gPageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+itemCd+"']/formcd");
  3573. if (unitformcd != "")
  3574. {
  3575. ivwObj.attribute("supdegnitemcd") = itemCd;
  3576. ivwObj.attribute("unitformcd") = unitformcd;
  3577. model.addLog(unitformcd + " Loading 시작 : " + getCurrentTime());
  3578. loadUnitForm(ivwObj, itemCd);
  3579. model.addLog(unitformcd + " Loading 끝 : " + getCurrentTime());
  3580. //2008-12-18박종훈(기록데이터 가져오기-보완필요)
  3581. //parent.window.javascript.InitUnitFormDataBySupdegnitemcd(itemCds[i]);
  3582. }
  3583. }
  3584. }
  3585. /**
  3586. * @desc : 공통서식내의 확장버튼(이미지,가계도,추가기록)을 기록여부에 따라 표시한다.
  3587. * @id :
  3588. * @event : 공통서식을 열었을때
  3589. * @param : pViewObj - button을 가지고 있는 화면이 열린 view
  3590. * pButtonIds - 확장버튼(이미지,가계도,추가기록)의 id 의 배열
  3591. * @return : void
  3592. * @authur : 안치원
  3593. * @history : 2009.09.09 신규 안치원 ACW_090909A
  3594. */
  3595. function setButtonToggleAllByRecYn(pViewObj, pButtonIds)
  3596. {
  3597. for (var i = 0; i < pButtonIds.length; i++) {
  3598. setButtonToggleByRecYn(pViewObj, pButtonIds[i]);
  3599. }
  3600. }
  3601. /**
  3602. * @desc : 확장버튼(이미지,가계도,추가기록)을 기록여부에 따라 표시한다.
  3603. * @id :
  3604. * @event : 확장버튼 클릭후에 열린 팝업창이 닫힐때,
  3605. * setButtonToggleAllByRecYn 에 의한 호출일때
  3606. * @param : pViewObj - button을 가지고 있는 화면이 열린 view
  3607. * pButtonIds - 확장버튼(이미지,가계도,추가기록)의 id
  3608. * @return : void
  3609. * @authur : 안치원
  3610. * @history : 2009.09.09 신규 안치원 ACW_090909A
  3611. */
  3612. function setButtonToggleByRecYn(pViewObj, pButtonId)
  3613. {
  3614. //alert("setButtonToggleByRecYn>>pButtonId::"+pButtonId);
  3615. /**
  3616. * pButtonId Example
  3617. * btn_imge_0008224001 이미지
  3618. * btn_fmy_0008224001 가계도
  3619. * btn_etcrec_0008224001 추가기록
  3620. */
  3621. var buttonObj = null;
  3622. /*if (pViewObj == null) {
  3623. buttonObj = document.controls(pButtonId);
  3624. }
  3625. else {
  3626. buttonObj = pViewObj.document.controls(pButtonId);
  3627. }*/
  3628. if (pViewObj == null) {
  3629. pViewObj = this;
  3630. }
  3631. buttonObj = pViewObj.document.controls(pButtonId);
  3632. var arr = pButtonId.split("_");
  3633. var supperItemCd = arr[2];
  3634. var recPath = "";
  3635. if (arr[1] == "imge") {
  3636. recPath = gPageInfo.imgerecItemRef;
  3637. }
  3638. else if (arr[1] == "fmy") {
  3639. recPath = gPageInfo.fmyrecItemRef + "/recitem";
  3640. }
  3641. else if (arr[1] == "etcrec") {
  3642. recPath = gPageInfo.etcrecItemRef + "/recitem";
  3643. }
  3644. else if (arr[1] == "lastdiag") { //2010-02-16 오후 3:35:13 강지훈 추가
  3645. recPath = gPageInfo.lastdiagItemRef + "/recitem";
  3646. }
  3647. else {
  3648. return;
  3649. }
  3650. //alert("setButtonToggleByRecYn>>supperItemCd::"+supperItemCd);
  3651. var nodes = pViewObj.model.instances(0).selectNodes(recPath + "[fstlevlitemcd = '" + supperItemCd + "']");
  3652. //alert("setButtonToggleByRecYn>>nodes.length::"+nodes.length);
  3653. pViewObj.model.addLog("setButtonToggleByRecYn>>nodes.length::"+nodes.length);
  3654. if (arr[1] == "imge") {
  3655. if (nodes.length > 0) {
  3656. buttonObj.attribute("background-image") = "../../../emr/commonweb/images/icon_picture_s.jpg";
  3657. }
  3658. else {
  3659. buttonObj.attribute("background-image") = "../../../com/commonweb/images/icon_picture.gif";
  3660. }
  3661. } else {
  3662. if (nodes.length > 0) {
  3663. //buttonObj.attribute("color") = "#ff0000";
  3664. buttonObj.attribute("class") = buttonObj.attribute("class").replace(/btn2_/gi, "btn5_");
  3665. //buttonObj.attribute("border-style") = "solid";
  3666. }
  3667. else {
  3668. //buttonObj.attribute("color") = "#184d8b";
  3669. buttonObj.attribute("class") = buttonObj.attribute("class").replace(/btn5_/gi, "btn2_");
  3670. //buttonObj.attribute("border-style") = "none";
  3671. }
  3672. }
  3673. buttonObj.refresh();
  3674. }
  3675. /**
  3676. * @desc : 사용자 답변 조회
  3677. * @
  3678. * @param :
  3679. * @return :
  3680. * @author : 김영학
  3681. * @---------------------------------------------------
  3682. */
  3683. function fGetUserEnvOcsOrdAnsw(ref, rsltref, qestcd){
  3684. /*
  3685. var mmb_rsltref = "/root/hidden/interface";
  3686. model.removeNode(mmb_rsltref);
  3687. model.makeNode(mmb_rsltref);
  3688. model.removeNode(ref);
  3689. model.makeValue(ref + "/interqestcd", qestcd);
  3690. if(submit("TRMMB01104", "false", ref, mmb_rsltref)==true){
  3691. model.makeNode(rsltref);
  3692. model.copyNode(rsltref, mmb_rsltref);
  3693. model.removeNode(mmb_rsltref);
  3694. }
  3695. */
  3696. model.removeNodeset(rsltref);
  3697. model.makeNode(rsltref);
  3698. var viewerObj = getViewer("sysMessage");
  3699. //KNUH_20110208, 주희경, 로그인 시 미리 데이터를 조회해 놓고 copy해서 쓰는 방식으로 변경
  3700. var srcNode = viewerObj.window.instance1.selectSingleNode(gvOrderBasicInfoPath +"/interface[qestcd='"+qestcd+"']");
  3701. var targetNode = instance1.selectSingleNode(rsltref);
  3702. var srcChildNodes = srcNode.childNodes;
  3703. for(i=0; i<srcChildNodes.length; i++)
  3704. {
  3705. targetNode.appendChild(srcChildNodes.item(i));
  3706. }
  3707. model.refresh();
  3708. }