SMMNP01800.xjs 251 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/* ---------------------------------------------------------------------
  3. 수술마취간호처방 (SMMNP01800.xfm - JScript )
  4. - Version :
  5. 1) : Ver.1.00.01
  6. : Create By Francis Choi
  7. : 2015.05.02
  8. ---------------------------------------------------------------------- */
  9. var ExCount = 0;
  10. var wJobKindCd = "";
  11. var sSIGNDATA_PATH = ds_main_signdata_signprcplist; //인증데이터
  12. // var wJobKindCd = getUserInfo("dutplceinstcd");
  13. // userInfoKeyStr= userid|usernm|
  14. // posinstcd|posinstnm|
  15. // posdeptcd|posdeptnm|
  16. // dutplceinstcd|dutplceinstnm|
  17. // dutplcecd|dutplcenm|
  18. // jobkindcd|jobkindnm|
  19. // jobposcd|jobposnm|
  20. // jobrespcd|jobrespnm|
  21. // prfshipflagcd|prfshipflagnm|
  22. // licnsno|specordyn|deptabbr|orddeptflag|wardflag|systemcd|systemnm|systeminstcd|systeminstnm|logindt|kmiip|kmiport|usergrp|ipaddr|dutinstcd|dutinstnm|dutunitcd|dutunitnm|mpphonno";
  23. //
  24. // Global Main Path
  25. var gPathName = "/root/main/MnphcagoLists" + " " // 0 Cart물품
  26. +
  27. "/root/main/MnpmcartList" + " " // 1 CartCode
  28. +
  29. "/root/main/MmbhppdsLists" + " " // 2 처치처방
  30. +
  31. "/root/init/WorkData/DelMnphcagoListss" + " " // 3 삭제Cart물품
  32. +
  33. "/root/init/WorkData/codelists" + " " // 4 Save Cart Master
  34. +
  35. "/root/init/WorkData/MnphcagoLists" + " " // 5 Save 물품 내역
  36. +
  37. "ds_main_MmohoprsLists_mmohoprslist" + " " // 6 예약정보 Path
  38. +
  39. "ds_main_operation_list" + " " // 7 수술예약 상단정보
  40. +
  41. "ds_main_CartOrdData_"; // 8 Cart Order Display Data Instance Path
  42. var gPathNode = gPathName.split(" ");
  43. // Cart Order Display Data Instance Path
  44. var tCartPath = "ListSupplies" + " " // 2 공급물품
  45. +
  46. "ListDrug" + " " // 3 약재료
  47. +
  48. "ListInstrument" + " " // 4 기구
  49. +
  50. "ListOpsupply" + " " // 6 수술소모품
  51. +
  52. "ListDiposit"; // 7 가납물품
  53. var tPathCart = tCartPath.split(" "); //
  54. // Cart Gride Name
  55. //2009-03-05 ycd 삭제처리
  56. /*
  57. var tCartName = "sutures" + " " //
  58. + "sutures" + " " // 봉합사
  59. + "supplies" + " " // 공급물품
  60. + "drug" + " " // 약재료
  61. + "instrument" + " " // 기구
  62. + "curecode" + " " // 처치
  63. + "opsupply" + " " // 수술소모품
  64. + "diposit" ;
  65. */
  66. var tCartName = "supplies" + " " // 공급물품 1
  67. +
  68. "drug" + " " // 약재료 2
  69. +
  70. "instrument" + " " // 기구 3
  71. +
  72. "opsupply" + " " // 수술소모품 4
  73. +
  74. "diposit"; // 가납물품 5
  75. var tNameCart = tCartName.split(" "); //
  76. // Grid Control Data
  77. var tColWidth = "18*80*195*80*80*70*50*50*40*56#18*79*560*60";
  78. var tWidth = tColWidth.split("#");
  79. var rColWidth = "18*0*212*0*0*0*50*50*0*0#18*0*262*50";
  80. var rWidth = rColWidth.split("#");
  81. var SwFalg = 0;
  82. var LargeIdx = 0;
  83. var LargeGrd = 0;
  84. var CaptionNm = "Supplies*Sutures*Drug*처치처방";
  85. var sCaption = CaptionNm.split("*");
  86. var GridName = "group3.grp_ord.switch1.case3.grd_supplies*group3.grp_ord.switch1.case3.grd_drug*group3.grp_ord.switch1.case4.grd_instrument*group3.grp_ord.switch1.case4.grd_opsupply*group3.grp_ord.switch1.case3.grd_diposit";
  87. var sGridNm = GridName.split("*");
  88. // style="left:0px; top:25px; width:763px; height:570px;
  89. var lStyle = "6*19*754*526";
  90. var rStyleData = "006*019*375*304#" // Supplies style=left:006px; top:019px; width:375px; height:304px;
  91. +
  92. "390*019*370*304#" // Sutures style=left:390px; top:019px; width:370px; height:304px;
  93. +
  94. "006*355*375*182#" // Drug style=left:006px; top:355px; width:375px; height:182px;
  95. +
  96. "390*355*370*182#"; // Curecode style=left:390px; top:355px; width:370px; height:182px;
  97. var rStyle = rStyleData.split("#");
  98. var GoodCopy = ds_init_WorkData_cartlist;
  99. var sAlertMsgFlag = "S"; //최초 화면 open시 메시지 플래그
  100. var vOprsrvno = ""; // 01 수술예약(의뢰)번호 (년도 + 일련번호)
  101. var vCartgubn = ""; // 02 Cart구분 (O:수술,A:마취)
  102. var vOrdseq = ""; // 03 처방순번
  103. var vInstcd = ""; // 04 병원기관코드(코드정의서 Z0007 참조)
  104. var vGoodcd = ""; // 05 물품코드
  105. var vAllsizespecid = ""; // 06 ALLSIZE규격ID
  106. var vGoodcls = ""; // 07 물품구분 1:Sutures,2:Supplies,3:Drug,4:Instrument,5:처치처방,6:수술소모품
  107. var vGoodqty = ""; // 08 물품수량
  108. var vAddreductqty = ""; // 09 가감수량
  109. var vPayflagcd = ""; // 10 급여구분코드 (코드정의서 M0029 참조)
  110. var vOproomcd = ""; // 11 수술실코드
  111. var vPrcpdd = ""; // 12 처방일자
  112. var vPrcpno = ""; // 13 처방일자별 일련번호
  113. var vPrcphistno = ""; // 14 처방이력생할때 마다 생성 (처방일자, 처방번호, 기관코드 기준)
  114. var vPid = ""; // 15 등록번호
  115. var vSaveqty = ""; // 16 변경Check 수량 (물품수량 + 가감수량)
  116. var vOutqty = ""; // 17 변경할 수량 (물품수량 + 가감수량)
  117. var vGoodengnm = ""; // 18 물품(처방)명
  118. var vGoodspec = ""; // 19 규격명
  119. var vProdcmpynm = ""; // 20 제조사
  120. var vGoodmodel = ""; // 21 모델
  121. var vDeliveunit = ""; // 22 단위
  122. var vOproomnm = ""; // 23 수술실명
  123. var vOproomdeptcd = ""; // 24 수술실부서코드
  124. var vRecflag = ""; // 25 U:수정,I:입력구분
  125. var vDelcheck = ""; // 26 삭제 CHECK
  126. var vDeleteyn = ""; // 27 삭제 여부
  127. var gRvStat = "4"; // 회복실 처방상태
  128. var sLoginDeptcd = ""; //로그인 사용자 부서정보
  129. //2008-09-02 오전 10:36:02 taebum DSC 외래(입원정보 생성전)관련 Flag
  130. //2008-09-30 오전 12:08:27 DSC정보뿐 아니라 퇴원환자일 경우도 처리하는 파라미터
  131. var bDSCOFlag = false;
  132. var sOprsXpath = ds_main_MmohoprsLists_mmohoprslist;
  133. //20180205 이돈희
  134. var varAnstFromDt = ""; //마취시작시간
  135. var varAnstToDt = ""; //마취종료시간
  136. var varAnstDtGap = ""; //총 마취시간 String Type
  137. var dateAnstDtGap = ""; //총 마취시간 Data Type
  138. // var gAnStat = "4"; // 회복실 처방상태
  139. // --------------------------------------------------
  140. // Grid 속성변경 처리하는 함수
  141. // --------------------------------------------------
  142. function fSetLargeGrid(pIdx, pGidx) {
  143. return;
  144. Cp_Hide.attribute("visibility") = "visible";
  145. Line_Hide.attribute("visibility") = "visible";
  146. cpd_supplies.attribute("visibility") = "hidden";
  147. cpd_sutures.attribute("visibility") = "hidden";
  148. Cp_Hide.text = sCaption[pGidx];
  149. for (i = 0; i < sGridNm.length; i++) {
  150. if (i == pGidx) {
  151. eval(sGridNm[i]).attribute("visibility") = "visible";
  152. } else {
  153. eval(sGridNm[i]).attribute("visibility") = "hidden";
  154. }
  155. }
  156. fSetAttribute(eval(sGridNm[pGidx]), lStyle, tWidth[pIdx]);
  157. LargeIdx = pIdx;
  158. LargeGrd = pGidx;
  159. }
  160. // --------------------------------------------------
  161. // Grid 속성변경 처리하는 함수
  162. // --------------------------------------------------
  163. function fSetSmallGrid() {
  164. return;
  165. Cp_Hide.attribute("visibility") = "hidden";
  166. Line_Hide.attribute("visibility") = "hidden";
  167. cpd_supplies.attribute("visibility") = "visible";
  168. cpd_sutures.attribute("visibility") = "visible";
  169. fSetAttribute(eval(sGridNm[LargeGrd]), rStyle[LargeGrd], rWidth[LargeIdx]);
  170. for (i = 0; i < sGridNm.length; i++) {
  171. eval(sGridNm[i]).attribute("visibility") = "visible";
  172. }
  173. }
  174. // --------------------------------------------------
  175. // Grid 속성변경 처리하는 함수
  176. // --------------------------------------------------
  177. function fSetAttribute(pGrid, pSytle, pWidth) {
  178. var sStyle = utlf_transNullToEmpty(pSytle).split("*");
  179. pGrid.attribute("left") = sStyle[0];
  180. pGrid.attribute("top") = sStyle[1];
  181. pGrid.attribute("width") = sStyle[2];
  182. pGrid.attribute("height") = sStyle[3];
  183. var cIdx = 1;
  184. var sWidth = utlf_transNullToEmpty(pWidth).split("*");
  185. for (i = 0; i < sWidth.length; i++) {
  186. pGrid.colwidth(cIdx) = sWidth[i];
  187. cIdx++;
  188. }
  189. }
  190. // --------------------------------------------------
  191. // Switch 속성변경 처리하는 함수
  192. // --------------------------------------------------
  193. function fSetSwitch() {
  194. if (SwFalg == 0) {
  195. SwFalg = 1;
  196. sw_ord.attribute("width") = "210";
  197. grp_ord.attribute("left") = "214"; //424 - 210
  198. grp_ord.attribute("width") = "976"; //766 + 210
  199. grp_search.attribute("left") = "215";
  200. grp_search.attribute("width") = "980";
  201. shp_round.attribute("width") = "980";
  202. // 2009-03-04 ycd 삭제처리
  203. //grp_mgood.attribute("left" ) = "212";
  204. //grp_mgood.attribute("width" ) = "982";
  205. // grp_dgood.attribute("left" ) = "214";
  206. // grp_dgood.attribute("width" ) = "973";
  207. } else {
  208. SwFalg = 0;
  209. sw_ord.attribute("width") = "420";
  210. grp_ord.attribute("left") = "424";
  211. grp_ord.attribute("width") = "766";
  212. grp_search.attribute("left") = "425";
  213. grp_search.attribute("width") = "770";
  214. shp_round.attribute("width") = "770";
  215. // 2009-03-04 ycd 삭제처리
  216. //grp_mgood.attribute("left" ) = "422";
  217. //grp_mgood.attribute("width" ) = "772";
  218. // grp_dgood.attribute("left" ) = "424";
  219. // grp_dgood.attribute("width" ) = "763";
  220. }
  221. }
  222. // --------------------------------------------------
  223. // 화면 Loading시 처리하는 함수
  224. // --------------------------------------------------
  225. function fInitScreen() {
  226. trace("fInitScreen()");
  227. //20180320 이돈희 : 칠곡 제외하고는 로봇수술 hide 처리
  228. if(sysf_getUserInfo("dutplceinstcd") != "032" ) {
  229. group3.grp_ord.grp_cartonly.chk_robot.visible = false;
  230. }
  231. //삭제처방제외 기본(20151008) 이윤주 추가
  232. //model.makeValue("/root/main/cond/srchdelprcp","Y");
  233. ds_send_reqdata.setColumn(0, "cdgrupid", "OP");
  234. var oParam = {};
  235. oParam.id = "TRMND03901";
  236. oParam.service = "dialapp.DialPatMngt";
  237. oParam.method = "reqGetBaseInfo";
  238. oParam.inds = "req=ds_send_reqdata";
  239. oParam.outds = "ds_main_baseinfo_baseinfolist=baseinfolist";
  240. oParam.async = false;
  241. //oParam.callback = "cf_TRMND03901";
  242. tranf_submit(oParam);
  243. frmf_addComboItem("group3.grp_ord.switch1.case3.rdo_grupcd", "전체", "", "above");
  244. group3.grp_ord.switch1.case3.rdo_grupcd.index = 0;
  245. ds_send_reqdata.setColumn(0, "cdgrupid", "'T16'");
  246. ds_send_reqdata.setColumn(0, "srchdd", utlf_getCurrentDate());
  247. var oParam = {};
  248. oParam.id = "TRMNW00001";
  249. oParam.service = "wardcareapp.WardCareMngt";
  250. oParam.method = "reqGetNursHardCdInfo";
  251. oParam.inds = "req=ds_send_reqdata";
  252. oParam.outds = "ds_tmp_codeinfo_codelist=codelist";
  253. oParam.async = false;
  254. //oParam.callback = "cf_TRMNW00001";
  255. tranf_submit(oParam);
  256. if (group3.grp_ord.switch1.tabindex == 0) {
  257. group3.grp_ord.grp_cartonly.visible = true;
  258. } else {
  259. group3.grp_ord.grp_cartonly.visible = false;
  260. }
  261. wJobKindCd = sysf_getUserInfo("jobkindcd");
  262. // Cart 복사
  263. //// grd_good.attribute("height") = "349"; //"552";
  264. //// grp_cartmain.attribute("height") = "705";
  265. //// // 처방 복사
  266. //// grp_stemain.attribute("height") = "705";
  267. //// grd_setcode.attribute("height") = "400"; //"552";
  268. // 물품찾기
  269. //// grp_main.attribute("height") = "705";
  270. //// grd_prcplist.attribute("height") = "517"; //"552";
  271. //// grd_goodlist.attribute("height") = "517"; //"552";
  272. //**공통코드 가져오기**//
  273. var arrParam = [{
  274. dsNm: "ds_init_M0029list_M0029",
  275. cdGrpId: "M0029"
  276. }] // 급여구분에 대한 종류
  277. appf_getCodeList(arrParam);
  278. var node = sysf_getGlobalVariable("operation");
  279. if (!utlf_isNull(node)) {
  280. dsf_setCSVToDs("ds_main_operation_list", node);
  281. }
  282. var sPid = ds_main_operation_list.getColumn(0, "pid");
  283. ProgramCls = "P"; // C:CCR MAIN, P:간호처방
  284. AloneFlag = "N"; // 단독실행여부
  285. //// fInit1802(); // Cart정보 가져오기
  286. //// fInit1801(); // 약속처방
  287. //// fGoodInit(); // 물품찾기
  288. // ---Test 시 막고하는 부분 ----------------------
  289. if (utlf_isNull(sPid)) {
  290. // var mainObj = getMainViewer();
  291. group3.grp_ord.bbt_tSave.enable = false; // 임시처방입력
  292. group3.grp_ord.bbt_cSave.enable = false; // 임시처방저장
  293. group3.grp_ord.bbt_prcpconfirm.enable = false; // 확정처방저장
  294. group3.grp_ord.bbt_delete.enable = false;
  295. group3.grp_ord.btn_erreqsave.enable = false; //응급청구저장
  296. group3.btn_eroutcart.enable = false; // 응급 CartBag 불출
  297. var sOprsrvno = sysf_getModelAttribute("SuSulOrder_Oprsinfo_oprsrvno");
  298. var sInstcd = sysf_getModelAttribute("SuSulOrder_Oprsinfo_instcd");
  299. var sOphistno = sysf_getModelAttribute("SuSulOrder_Oprsinfo_ophistno");
  300. var sOphistcd = sysf_getModelAttribute("SuSulOrder_Oprsinfo_ophistcd");
  301. sysf_setModelAttribute("SuSulOrder_Oprsinfo_oprsrvno", "");
  302. sysf_setModelAttribute("SuSulOrder_Oprsinfo_instcd", "");
  303. sysf_setModelAttribute("SuSulOrder_Oprsinfo_ophistno", "");
  304. sysf_setModelAttribute("SuSulOrder_Oprsinfo_ophistcd", "");
  305. if (!utlf_isNull(sOprsrvno)) {
  306. if (eval(gPathNode[7]).rowcount == 0) {
  307. eval(gPathNode[7]).addRow();
  308. }
  309. eval(gPathNode[7]).setColumn(0, "oprsrvno", sOprsrvno);
  310. eval(gPathNode[7]).setColumn(0, "instcd", sInstcd);
  311. eval(gPathNode[7]).setColumn(0, "ophistno", sOphistno);
  312. eval(gPathNode[7]).setColumn(0, "ophistcd", sOphistcd);
  313. bDSCOFlag = true;
  314. } else {
  315. sysf_messageBox("수술 환자를 ", "C002");
  316. close();
  317. // mainObj.javascript.navigate("SMMNP00100"); // 수술마취메인
  318. return;
  319. }
  320. }
  321. //2008-08-18 오전 10:55:28 taebum Login한 부서정보로 Cart 구분 정보 입력
  322. sLoginDeptcd = sysf_getUserInfo("dutplcecd");
  323. var sCartGubnCd = "";
  324. // 2009-03-25 ycd 부서 하드코딩 제어 부분(화면 권한 설정 정보 가져오기) EMR.MNWMCODE 테이블에서 관리 하기로함
  325. ds_send.setColumn(0, "cdgrupid", "038");
  326. var oParam = {};
  327. oParam.id = "TRMNP00323";
  328. oParam.service = "opanstapp.OpAnstRec";
  329. oParam.method = "reqGetViewerCtrlInfo";
  330. oParam.inds = "req=ds_send";
  331. oParam.outds = "ds_viewctrl_viewctrllist_viewctrlinfo=viewctrlinfo";
  332. oParam.async = false;
  333. //oParam.callback = "cf_TRMNP00323";
  334. tranf_submit(oParam);
  335. if (ds_viewctrl_viewctrllist_viewctrlinfo.rowcount > 0) {
  336. sCartGubnCd = ds_viewctrl_viewctrllist_viewctrlinfo.getColumn(0, "cdnm");
  337. vCartgubn = ds_viewctrl_viewctrllist_viewctrlinfo.getColumn(0, "cdnm");
  338. }
  339. //2009-06-22 K.J.M 병원별 Display 여부
  340. ds_send_reqdata.setColumn(0, "cdgrupid", "106"); //병원별 Display 여부
  341. ds_send_reqdata.setColumn(0, "supcdid", ""); //서브구분
  342. ds_send_reqdata.setColumn(0, "cdid", ""); //서브구분
  343. var oParam = {};
  344. oParam.id = "TRMNP04903";
  345. oParam.service = "opanstapp.OpAnstRef";
  346. oParam.method = "reqGetOpCommonCd";
  347. oParam.inds = "reqdata=ds_send_reqdata";
  348. oParam.outds = "ds_init_hardcodeinfo=hardcodeinfo";
  349. oParam.async = false;
  350. //oParam.callback = "cf_TRMNP04903";
  351. tranf_submit(oParam);
  352. // model.setValue("/root/main/cond/scnopenyn", model.getValue("/root/init/hardcodeinfo/cdid").substr(0, 1));//반납상세내역버튼 display 여부
  353. //if( model.getValue("/root/main/cond/scnopenyn") == "Y" ) {
  354. //2010.04.19 K. J. M 카트 사용하는 병원만 임시처방시 수량 0인 처방 저장시 삭제처리
  355. ds_main_cond.setColumn(0, "cartuseyn", utlf_transNullToEmpty(ds_init_hardcodeinfo.getColumn(0, "cdid")).substr(2, 1));
  356. if (utlf_transNullToEmpty(ds_init_hardcodeinfo.getColumn(0, "cdid")).substr(0, 1) == "Y") { //반납상세내역버튼 display 여부
  357. group3.btn_rtn.enable = true;
  358. } else {
  359. group3.btn_rtn.enable = false;
  360. }
  361. if (utlf_transNullToEmpty(ds_init_hardcodeinfo.getColumn(0, "cdid")).substr(1, 1) == "Y") { //응급청구버튼 display 여부
  362. group3.grp_ord.btn_erreqsave.visible = true;
  363. } else {
  364. group3.grp_ord.btn_erreqsave.visible = false;
  365. }
  366. if (utlf_transNullToEmpty(ds_init_hardcodeinfo.getColumn(0, "cdid")).substr(9, 1) == "Y") { //마취카트복사 사용 여부
  367. ds_init_WorkData_cond.setColumn(0, "anstcartyn", "Y");
  368. } else {
  369. ds_init_WorkData_cond.setColumn(0, "anstcartyn", "N");
  370. }
  371. if (utlf_transNullToEmpty(ds_init_hardcodeinfo.getColumn(0, "cdid")).substr(2, 1) == "Y") { //임시Cart List 버튼 display 여부
  372. group3.grp_ord.btn_tempcart.visible = true;
  373. //bbt_tSave.attribute("class") = "btn4_letter9";
  374. //bbt_tSave.attribute("text") = "확정Cart List저장";
  375. //bbt_tSave.attribute("style") = "left:842px; top:2px; width:140px; height:22px; background-image:../../../com/commonweb/images/btn4_letter7.gif; ";
  376. group3.grp_ord.btn_goodsrch.position.left = 654;
  377. group3.grp_ord.btn_goodsrch.position.width = 64;
  378. group3.grp_ord.btn_cartcopy.position.left = 588;
  379. group3.grp_ord.btn_cartcopy.position.width = 64;
  380. //grp_cartonly.attribute("style") = "left:250px; top:3px; width:340px; height:19px; ";
  381. group3.grp_ord.grp_cartonly.position.left = 310;
  382. group3.grp_ord.grp_cartonly.position.width = 295;
  383. } else {
  384. //bbt_tSave.attribute("style") = "left:866px; top:2px; width:116px; height:22px; background-image:../../../com/commonweb/images/btn4_letter7.gif; ";
  385. group3.grp_ord.btn_goodsrch.position.left = 797;
  386. group3.grp_ord.btn_goodsrch.position.width = 64;
  387. group3.grp_ord.btn_cartcopy.position.left = 731;
  388. group3.grp_ord.btn_cartcopy.position.width = 64;
  389. //grp_cartonly.attribute("style") = "left:393px; top:3px; width:340px; height:19px; ";
  390. group3.grp_ord.grp_cartonly.position.left = 338;
  391. group3.grp_ord.grp_cartonly.position.width = 395;
  392. group3.grp_ord.btn_tempcart.visible = false;
  393. //bbt_tSave.attribute("class") = "btn4_letter7";
  394. //bbt_tSave.attribute("text") = "Cart List저장";
  395. }
  396. if (sLoginDeptcd == "3070000000" || sLoginDeptcd == "3072700000") { // 수술실, 수술실 안과
  397. sCartGubnCd = "O";
  398. vCartgubn = "O";
  399. } else if (sLoginDeptcd == "2470000000") { //마취부서
  400. sCartGubnCd = "A";
  401. vCartgubn = "A";
  402. } else if (sLoginDeptcd == "3073300000" || sLoginDeptcd == "2411205000") { //회복실부서 2009-03-12 sLoginDeptcd == "2411205000" 추가<회복실>
  403. sCartGubnCd = "R";
  404. vCartgubn = "R";
  405. } // 2008-08-18 오후 3:15:18 현재 부서코드가 명확하지않기 때문에 관련 부서코드 전부 삽입함. taebum
  406. else {
  407. if (sLoginDeptcd == "3074700000") { //수술실 A Unit
  408. sCartGubnCd = "O";
  409. vCartgubn = "O";
  410. } else if (sLoginDeptcd == "3074800000") { //수술실 B Unit
  411. sCartGubnCd = "O";
  412. vCartgubn = "O";
  413. } else if (sLoginDeptcd == "2100304000") { //분만실 회복실
  414. sCartGubnCd = "R";
  415. vCartgubn = "R";
  416. } else if (sLoginDeptcd == "3073300000" || sLoginDeptcd == "2411205000") { //수술실 회복실 2009-03-12 sLoginDeptcd == "2411205000" 추가<회복실>
  417. sCartGubnCd = "R";
  418. vCartgubn = "R";
  419. } else if (sLoginDeptcd == "3074900000") { // 마취간호Unit
  420. sCartGubnCd = "R";
  421. vCartgubn = "R";
  422. }
  423. }
  424. // cart 정보가 존재하지 않을 경우 return 처리
  425. if (utlf_isNull(sCartGubnCd) || sCartGubnCd == "W") {
  426. sysf_messageBox("조회 권한이 없습니다.", "");
  427. group3.grp_ord.bbt_tSave.enable = false; // 임시처방입력
  428. group3.grp_ord.bbt_cSave.enable = false; // 임시처방저장
  429. group3.grp_ord.bbt_prcpconfirm.enable = false; // 확정처방저장
  430. // 2009-03-04 ycd 삭제처리
  431. //bbt_other.disabled = true;
  432. group3.grp_search.enable = false;
  433. group3.opt_patinfo0.enable = false;
  434. group3.opt_patinfo.enable = false;
  435. group3.opt_patinfo2.enable = false;
  436. group3.btn_eroutcart.enable = false; // 응급 CartBag 불출
  437. return;
  438. } else {
  439. ds_init_WorkData_cond.setColumn(0, "cartgubn", sCartGubnCd); // Cart구분 O:수술, A:마취 , R:회복
  440. }
  441. // ---Test 시 막고하는 부분 마지막 ---------------
  442. // 운영환경에서는 주석처리해야됨
  443. /*
  444. if (sPid == "") {
  445. model.makeNode( gPathNode[7]); // /root/main/operation/list
  446. model.makeValue(gPathNode[7]+"/instcd" , model.getValue("/root/init/instcd" )); // 기관코드
  447. model.makeValue(gPathNode[7]+"/oprsrvno", model.getValue("/root/init/MmohoprsKey/oprsrvno")); // 수술예약(의뢰)번호 (년도 + 일련번호)
  448. model.makeValue(gPathNode[7]+"/ophistno", model.getValue("/root/init/MmohoprsKey/ophistno")); // 예약번호에따른이력번호
  449. model.makeValue(gPathNode[7]+"/ophistcd", model.getValue("/root/init/MmohoprsKey/ophistcd")); // 수술예약의이력코드
  450. }
  451. */
  452. // AllCheck 구분
  453. // grd_diposit.fixedcellcheckbox(0,1) = true;
  454. // grd_drug.fixedcellcheckbox(0,1) = true;
  455. // grd_supplies.fixedcellcheckbox(0,1) = true;
  456. // // 2009-03-05 YCD 삭제처리
  457. // //grd_sutures.fixedcellcheckbox(0,1) = true;
  458. // //grd_instrument.fixedcellcheckbox(0,1) = true;
  459. // grd_opsupply.fixedcellcheckbox(0,1) = true;
  460. //
  461. // grd_diposit.explorerbar = "sortshow";
  462. // grd_supplies.explorerbar = "sortshow";
  463. // //2009-03-05 YCD 삭제처리
  464. // //grd_sutures.explorerbar = "sortshow";
  465. // grd_drug.explorerbar = "sortshow";
  466. // grd_instrument.explorerbar = "sortshow";
  467. // grd_opsupply.explorerbar = "sortshow";
  468. for (var i = 0; i < 5; i++) {
  469. eval(gPathNode[8] + tPathCart[i]).clearData();
  470. }
  471. fGridSizeChng("Base"); // 화면 그리드 크기 조정
  472. fQueryData(); // 조회버튼 Click시 보여주기
  473. if (utlf_transNullToEmpty(ds_init_hardcodeinfo.getColumn(0, "cdid")).substr(5, 1) == "Y") { //응급카트불출 버튼
  474. if (ds_main_operation_list.getColumn(0, "opflagcd") == "2" && ds_main_operation_list.getColumn(0, "ccrtstat") < "3") { //응급수술일 경우 응급카트불출 활성
  475. group3.btn_eroutcart.enable = true;
  476. } else {
  477. group3.btn_eroutcart.enable = false;
  478. }
  479. } else {
  480. group3.btn_eroutcart.enable = false;
  481. }
  482. //grp_search 수정하지 못하도록 처리
  483. group3.grp_search.enable = false;
  484. group3.opt_patinfo0.enable = false;
  485. group3.opt_patinfo.enable = false;
  486. group3.opt_patinfo2.enable = false;
  487. sysf_setModelAttribute("SuSulOrder_Temp_oprsrvno", ds_main_MmohoprsLists_mmohoprslist.getColumn(0, "oprsrvno"));
  488. sysf_setModelAttribute("SuSulOrder_Temp_pid", ds_main_MmohoprsLists_mmohoprslist.getColumn(0, "pid"));
  489. sysf_setModelAttribute("SuSulOrder_Temp_hngnm", ds_main_MmohoprsLists_mmohoprslist.getColumn(0, "patname"));
  490. /*
  491. // 마감 작업 관련 fButtonControl() 으로 이동
  492. var prcpendflag = model.getValue("/root/main/MmohoprsLists/mmohoprslist/prcpendflag");
  493. var cartgubn = model.getValue("/root/init/WorkData/cond/cartgubn");
  494. if( cartgubn == "O" ) {//수술실
  495. if( ( prcpendflag == "1" )||( prcpendflag == "4" )||( prcpendflag == "5" )||( prcpendflag == "7" ) ) {
  496. group3.disabled = true;
  497. }else {
  498. group3.disabled = false;
  499. }
  500. }else if( cartgubn == "A" ) {//마취실
  501. if( ( prcpendflag == "2" )||( prcpendflag == "4" )||( prcpendflag == "6" )||( prcpendflag == "7" ) ) {
  502. group3.disabled = true;
  503. }else {
  504. group3.disabled = false;
  505. }
  506. }if( cartgubn == "R" ) {//회복실
  507. if( ( prcpendflag == "3" )||( prcpendflag == "5" )||( prcpendflag == "6" )||( prcpendflag == "7" ) ) {
  508. group3.disabled = true;
  509. }else {
  510. group3.disabled = false;
  511. }
  512. }
  513. */
  514. // 2009-03-03 YCD 삭제처리
  515. //button1.disabled = false;
  516. //button1.refresh();
  517. //20101123_KNUH_Start
  518. //grd_diposit.colDisabled (grd_diposit.colRef("grupcd")) = true;
  519. //grd_supplies.colDisabled (grd_supplies.colRef("grupcd")) = true;
  520. //grd_drug.colDisabled (grd_drug.colRef("grupcd")) = true;
  521. //grd_instrument.colDisabled (grd_instrument.colRef("grupcd")) = true;
  522. //grd_opsupply.colDisabled (grd_opsupply.colRef("grupcd")) = true;
  523. //20101123_KNUH_End
  524. var CartStat = ds_init_WorkData_cond.getColumn(0, "cartstat");
  525. if (CartStat == "9") {
  526. group3.grp_ord.bbt_prcpconfirm.enable = true;
  527. group3.grp_ord.btn_cartcopy.enable = false;
  528. group3.grp_ord.grp_cartonly.btn_setprcp.enable = false;
  529. }
  530. if (group3.grp_ord.switch1.case3.grd_diposit.rowcount > 0 || group3.grp_ord.switch1.case3.grd_supplies.rowcount > 0 || group3.grp_ord.switch1.case3.grd_drug.rowcount > 0) {
  531. group3.btn_return.visible = false;
  532. } else {
  533. if (vCartgubn == "A" && CartStat == "2") {
  534. group3.btn_return.visible = true;
  535. }
  536. }
  537. //20110316 이선경 (경북대) : 다빈치(로봇)수술여부 가져와서 화면에 보여줌
  538. ds_init.setColumn(0, "robotopflag", ds_main_MmohoprsLists_mmohoprslist.getColumn(0, "robotopflag"));
  539. //20180308 이돈희 : 1회용포 사용 유무를 판단하기 위한 리스트 조회
  540. ds_send_opsheet.setColumn(0, "refflag", "1");
  541. ds_send_opsheet.setColumn(0, "tabflag", "CCR");
  542. ds_send_opsheet.setColumn(0, "lrgcd", "01");
  543. ds_send_opsheet.setColumn(0, "mdlcd", "01");
  544. ds_send_opsheet.setColumn(0, "cartgubn", vCartgubn);
  545. ds_send_opsheet.setColumn(0, "oproomcd", sOprsXpath.getColumn(0, "oproomcd"));
  546. var oParam = {};
  547. oParam.id = "TRMNP04461";
  548. oParam.service = "opanstapp.OpAnstStocMngt";
  549. oParam.method = "reqGetGoodInfoHelp";
  550. oParam.inds = "reqdata=ds_send_opsheet";
  551. oParam.outds = "ds_result_opsheet=goodlist";
  552. oParam.async = false;
  553. tranf_submit(oParam);
  554. }
  555. // --------------------------------------------------
  556. // 화면 Query 시 처리하는 함수
  557. // --------------------------------------------------
  558. function fQueryData() {
  559. trace("fQueryData()");
  560. fMmohoprsData_Read(); // 수술예약정보를 가져온다.
  561. var CRT = ds_init_WorkData_cond.getColumn(0, "cartstat");
  562. if (eval(CRT) < 3) { //불출전에는 삭제할 수 있음
  563. group3.grp_ord.switch1.case4.grd_instrument.setCellProperty("Head", 1, "displaytype", "checkbox");
  564. group3.grp_ord.switch1.case4.grd_instrument.setCellProperty("Head", 1, "edittype", "checkbox");
  565. group3.grp_ord.switch1.case4.grd_instrument.setCellProperty("Head", 1, "expr", "0");
  566. } else {
  567. group3.grp_ord.switch1.case4.grd_instrument.setCellProperty("Head", 1, "displaytype", "normal");
  568. group3.grp_ord.switch1.case4.grd_instrument.setCellProperty("Head", 1, "edittype", "none");
  569. group3.grp_ord.switch1.case4.grd_instrument.setCellProperty("Head", 1, "expr", "");
  570. }
  571. fCartOrdData_Read(); // Case Cart 처방내역 조회
  572. // fGridColConrol();
  573. var CartStat = ds_init_WorkData_cond.getColumn(0, "cartstat");
  574. fButtonControl();
  575. }
  576. //--------------------------------------------------
  577. // 처방 출력
  578. //--------------------------------------------------
  579. function fPrntPrcpList() {
  580. trace("fPrntPrcpList()");
  581. ds_main_MmohoprsLists_mmohoprslist.setColumn(0, "prnti", ds_main_cond.getColumn(0, "prnti"));
  582. ds_main_MmohoprsLists_mmohoprslist.setColumn(0, "prntii", ds_main_cond.getColumn(0, "prntii"));
  583. ds_main_MmohoprsLists_mmohoprslist.setColumn(0, "prntiii", ds_main_cond.getColumn(0, "prntiii"));
  584. ds_main_MmohoprsLists_mmohoprslist.setColumn(0, "prntiv", ds_main_cond.getColumn(0, "prntiv"));
  585. ds_main_MmohoprsLists_mmohoprslist.setColumn(0, "cartgubn", ds_init_WorkData_cond.getColumn(0, "cartgubn"));
  586. ds_main_prtinfo_MmohoprsLists_mmohoprslist.copyData(ds_main_MmohoprsLists_mmohoprslist);
  587. dsf_makeValue(ds_main_prtinfo_MmohoprsLists_mmohoprslist, "cartstat", "string", group3.grp_search.cmb_cartstat.text);
  588. ds_main_CartOrdData_ListDiposit.filter("deleteyn!='X'");
  589. ds_main_prtinfo_CartOrdData_ListDiposit.copyData(ds_main_CartOrdData_ListDiposit, true);
  590. ds_main_CartOrdData_ListDiposit.filter("");
  591. ds_main_CartOrdData_ListSupplies.filter("deleteyn!='X'");
  592. ds_main_prtinfo_CartOrdData_ListSupplies.copyData(ds_main_CartOrdData_ListSupplies, true);
  593. ds_main_CartOrdData_ListSupplies.filter("");
  594. ds_main_CartOrdData_ListDrug.filter("deleteyn!='X'");
  595. ds_main_prtinfo_CartOrdData_ListDrug.copyData(ds_main_CartOrdData_ListDrug, true);
  596. ds_main_CartOrdData_ListDrug.filter("");
  597. // 동명이인 표시명 위하여 .patnanm2 의 값을 patname 값으로_손성훈.
  598. var patnmprt = ds_main_prtinfo_MmohoprsLists_mmohoprslist.getColumn(0, "patname2");
  599. ds_main_prtinfo_MmohoprsLists_mmohoprslist.setColumn(0, "patname", patnmprt);
  600. var objDOM = rptf_createDOM(); // DOM 객체 설정
  601. rptf_setNodeListToDOM(objDOM, "root/main/prtinfo/MmohoprsLists/mmohoprslist", ds_main_prtinfo_MmohoprsLists_mmohoprslist); // 데이터셋 1
  602. rptf_setNodeListToDOM(objDOM, "root/main/prtinfo/CartOrdData/ListDiposit", ds_main_prtinfo_CartOrdData_ListDiposit); // 데이터셋 1
  603. rptf_setNodeListToDOM(objDOM, "root/main/prtinfo/CartOrdData/ListSupplies", ds_main_prtinfo_CartOrdData_ListSupplies); // 데이터셋 1
  604. rptf_setNodeListToDOM(objDOM, "root/main/prtinfo/CartOrdData/ListDrug", ds_main_prtinfo_CartOrdData_ListDrug); // 데이터셋 1
  605. var objParam = new Object();
  606. objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
  607. //var option = "open=1;save=1;directprint=1;print=1;zoom=0;";
  608. var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0";
  609. rptf_exeReportPreview30(["RPMNP01800"], [objParam], option);
  610. //exeReportPreview("RPMNP01800", "XMLSTR", "/root/main/prtinfo", "", "true", "", "", "", "", "true", "", "", "", ""); // 20110104_경북대_TEST용 미리보기있음
  611. //exeReportPreview("RPMNP01800", "XMLSTR", "/root/main/MmohoprsLists/mmohoprslist", "", "", "", "", "", "", "true", "", "", "", "emr");
  612. //exeReportPreview("RPMNP01800", "XML", "/root/main/MmohoprsLists/mmohoprslist", "", "", "", "", "", "", "true", "", "", "", "emr");
  613. }
  614. //---------------------------------------
  615. function fGridColConrol() {
  616. trace("fGridColConrol()");
  617. var sDelYn = "";
  618. var dGrid = "";
  619. // datagrid.cellstyle("background-color", 1, 1, 3, 3) = "#FFF000";
  620. // String name : 스타일 이름
  621. // Integer row1 : 셀들의 범위를 지정할 때 시작점이 될 좌상단 셀의 행 인덱스
  622. // Integer col1 : 셀들의 범위를 지정할 때 시작점이 될 좌상단 셀의 열 인덱스
  623. // [Integer row2] : 셀들의 범위를 지정할 때 끝점이 될 우하단 셀의 행 인덱스
  624. // [Integer col2] : 셀들의 범위를 지정할 때 끝점이 될 우하단 셀의 열 인덱스
  625. for (Idx = 0; Idx < 5; Idx++) {
  626. wCartPath = gPathNode[8] + "/" + tPathCart[Idx];
  627. dGrid = eval("grd_" + tNameCart[Idx]);
  628. sRowCnt = getNodesetCount(wCartPath);
  629. for (var i = 1; i <= sRowCnt; i++) {
  630. sDelYn = model.getValue(wCartPath + "[" + (i) + "]/deleteyn"); // 삭제구분
  631. dGrid.row = i;
  632. if (i == 1) {
  633. dGrid.colAttribute(1, "disabled") = "true";
  634. }
  635. } // End Of for (var i=1; i<= sRowCnt; i++)
  636. } // End Of for (Idx = 1; Idx < 7; Idx++) {
  637. } //--- End Of function fDataSave(pStat){
  638. // --------------------------------------------------
  639. // 화면 Query 시 처리하는 함수
  640. // --------------------------------------------------
  641. function fCheckCartGubn() {
  642. trace("fCheckCartGubn()");
  643. var CartStat = "";
  644. var sCartGubn = ds_init_WorkData_cond.getColumn(0, "cartgubn"); // Cart구분 O:수술, A:마취 , R:회복
  645. // alert(sCartGubn);
  646. if (sCartGubn == "O") {
  647. CartStat = eval(gPathNode[6]).getColumn(0, "ccrtstat");
  648. if (utlf_isNull(CartStat) || CartStat == "-") {
  649. CartStat = "1";
  650. eval(gPathNode[6]).setColumn(0, "ccrtstat", "1");
  651. }
  652. } else if (sCartGubn == "A") { // 2008-08-18 오후 1:14:21 taebum 마취 Cart도 발생되기 때문에 수정.
  653. CartStat = eval(gPathNode[6]).getColumn(0, "anstccrtstat");
  654. if (utlf_isNull(CartStat) || CartStat == "-") {
  655. CartStat = "1";
  656. eval(gPathNode[6]).setColumn(0, "anstccrtstat", "1");
  657. }
  658. } else if (sCartGubn == "R") {
  659. CartStat = eval(gPathNode[6]).getColumn(0, "rcvccrtstat");
  660. if (utlf_isNull(CartStat) || CartStat == "-") {
  661. CartStat = "4";
  662. eval(gPathNode[6]).setColumn(0, "rcvccrtstat", "4");
  663. }
  664. }
  665. //
  666. group3.grp_search.cmb_cartstat.value = CartStat;
  667. fButtonControl();
  668. for (i = 0; i < 5; i++) {
  669. eval(gPathNode[8] + tPathCart[i]).clearData();
  670. }
  671. fCartOrdData_Read();
  672. }
  673. // --------------------------------------------------
  674. // Button 활성화 처리하는 함수
  675. // --------------------------------------------------
  676. function fButtonControl() {
  677. trace("fButtonControl()");
  678. var CartStat = ds_init_WorkData_cond.getColumn(0, "cartstat");
  679. var sCartGubn = ds_init_WorkData_cond.getColumn(0, "cartgubn"); // Cart구분 O:수술, A:마취 , R:회복
  680. var goodstat = ds_main_MmohoprsLists_mmohoprslist.getColumn(0, "delivegoodflag"); //물품상태
  681. var instrstat = ds_main_MmohoprsLists_mmohoprslist.getColumn(0, "deliveinstrflag"); //기구상태
  682. var sAlertMsg = "입실전에는 Cart List 저장만 가능합니다.";
  683. var opstatcd = ds_main_MmohoprsLists_mmohoprslist.getColumn(0, "opstatcd");
  684. group3.btn_eroutcart.enable = false; // 응급 CartBag 불출
  685. group3.grp_ord.btn_erreqsave.enable = true; //불출이상이면 응급청구 가능(2009.08.03)
  686. if (ds_main_MmohoprsLists_mmohoprslist.getColumn(0, "opstatcd") == "10" && ds_main_MmohoprsLists_mmohoprslist.getColumn(0, "opcnfmdd") > utlf_getCurrentDate()) {
  687. group3.grp_ord.bbt_cSave.enable = false;
  688. group3.grp_ord.bbt_prcpconfirm.enable = false;
  689. // 2009-03-04 ycd 삭제처리
  690. //bbt_other.disabled = true;
  691. group3.grp_ord.bbt_tSave.enable = false;
  692. //btn_tempcart.disabled = true; // 임시 Cart List저장
  693. group3.grp_ord.bbt_delete.enable = false;
  694. //20180928 이돈희 : 의뢰상태에서도 카트 저장 가능하도록 수정
  695. /*
  696. group3.grp_ord.btn_cartcopy.enable = false;
  697. group3.grp_ord.btn_goodsrch.enable = false;
  698. group3.grp_ord.grp_cartonly.btn_setprcp.enable = false;
  699. group3.btn_eroutcart.enable = false; // 응급 CartBag 불출
  700. group3.grp_ord.grp_cartonly.btn_erccd.enable = false;
  701. group3.grp_ord.btn_tempcart.enable = false;
  702. */
  703. group3.grp_ord.btn_cartcopy.enable = true;
  704. group3.grp_ord.btn_goodsrch.enable = true;
  705. group3.grp_ord.grp_cartonly.btn_setprcp.enable = true;
  706. group3.btn_eroutcart.enable = true; // 응급 CartBag 불출
  707. group3.grp_ord.grp_cartonly.btn_erccd.enable = true;
  708. group3.grp_ord.btn_tempcart.enable = true;
  709. //20180928 이돈희 : 의뢰상태에서도 카트 저장 가능하도록 수정
  710. /*
  711. sysf_messageBox("수술의뢰 상태에서는 수술당일에만 수술/마취 간호처방을 사용하실 수 있습니다.", "E");
  712. return;
  713. */
  714. } else {
  715. if ((cartgubn == "O" && ((prcpendflag == "1") || (prcpendflag == "4") || (prcpendflag == "5") || (prcpendflag == "7"))) ||
  716. (cartgubn == "A" && ((prcpendflag == "2") || (prcpendflag == "4") || (prcpendflag == "6") || (prcpendflag == "7")))) {
  717. group3.grp_ord.switch1.enable = false;
  718. group3.grp_ord.btn_cartcopy.enable = false;
  719. group3.grp_ord.btn_goodsrch.enable = true;
  720. group3.grp_ord.grp_cartonly.btn_setprcp.enable = false;
  721. group3.grp_ord.bbt_delete.enable = false;
  722. group3.grp_ord.bbt_tSave.enable = false;
  723. //btn_tempcart.disabled = true; // 임시 Cart List저장
  724. group3.grp_ord.bbt_cSave.enable = false;
  725. group3.grp_ord.bbt_prcpconfirm.enable = false;
  726. group3.grp_ord.btn_erreqsave.enable = false;
  727. group3.btn_eroutcart.enable = false; // 응급 CartBag 불출
  728. // 2009-03-04 ycd 삭제처리
  729. //button3.disabled = true;
  730. //bbt_other.disabled = true;
  731. } else {
  732. group3.grp_ord.btn_cartcopy.enable = true;
  733. group3.grp_ord.grp_cartonly.btn_setprcp.enable = true;
  734. if (CartStat >= "3") {
  735. group3.grp_ord.bbt_tSave.enable = false;
  736. group3.grp_ord.grp_cartonly.btn_erccd.enable = false;
  737. if (CartStat == "9") {
  738. var sjobposcd = sysf_getUserInfo("jobposcd"); // 직위
  739. var ssflag = "";
  740. if (sysf_getUserInfo("dutplceinstcd") != '032' && sysf_getUserInfo("dutplceinstcd") != '031') {
  741. //경북대가 아니면
  742. if (sjobposcd == "1110") {
  743. ssflag = "Y";
  744. } else {
  745. ssflag = "N";
  746. }
  747. } else if (sysf_getUserInfo("dutplceinstcd") == '032' || sysf_getUserInfo("dutplceinstcd") == '031') {
  748. //경북대이면 03%로 체크한다.
  749. if (sjobposcd == "75") {
  750. ssflag = "Y";
  751. } else {
  752. ssflag = "N";
  753. }
  754. }
  755. //if (getUserInfo("jobposcd") == "1110") { // 직위가 수간호사 이면
  756. if (ssflag == "Y") {
  757. //---------(20101204) 경북대
  758. group3.grp_ord.bbt_prcpconfirm.text = "처방반납저장";
  759. } else {
  760. group3.grp_ord.bbt_cSave.enable = false; // 임시처방저장
  761. group3.grp_ord.bbt_prcpconfirm.enable = false; // 확정처방저장
  762. }
  763. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 1, "edittype", "none");
  764. for( var i=0 ; i<ds_main_CartOrdData_ListSupplies.rowcount ; i++ ){
  765. ds_main_CartOrdData_ListSupplies.setColumn(i, "colEdittype9", "none");
  766. }
  767. //group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 9, "edittype", "none");
  768. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 18, "edittype", "none");
  769. //grd_supplies.colDisabled(grd_supplies.colRef("prcpdelivefact")) = true;
  770. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 22, "edittype", "none");
  771. for( var i=0 ; i<ds_main_CartOrdData_ListSupplies.rowcount ; i++ ){
  772. ds_main_CartOrdData_ListSupplies.setColumn(i, "colEdittype24", "none");
  773. }
  774. //group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 24, "edittype", "none");
  775. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 1, "controlbackground", "silver");
  776. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 22, "controlbackground", "silver");
  777. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 1, "controlborder", "1 solid #708090cc");
  778. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 22, "controlborder", "1 solid #708090cc");
  779. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Head", 1, "displaytype", "normal");
  780. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Head", 1, "edittype", "none");
  781. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Head", 1, "expr", "");
  782. group3.grp_ord.bbt_prcpconfirm.enable = true;
  783. group3.grp_ord.btn_cartcopy.enable = false;
  784. group3.grp_ord.grp_cartonly.btn_setprcp.enable = false;
  785. group3.grp_ord.bbt_prcpconfirm.text = "가납확정저장";
  786. group3.grp_ord.grp_cartonly.chk_robot.enable = false;
  787. } else {
  788. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 1, "edittype", "checkbox");
  789. for( var i=0 ; i<ds_main_CartOrdData_ListSupplies.rowcount ; i++ ){
  790. ds_main_CartOrdData_ListSupplies.setColumn(i, "colEdittype9", "combo");
  791. }
  792. //group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 9, "edittype", "combo"); //yjh1(9, 24)
  793. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 18, "edittype", "text");
  794. //grd_supplies.colDisabled(grd_supplies.colRef("prcpdelivefact")) = false;
  795. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 22, "edittype", "checkbox");
  796. for( var i=0 ; i<ds_main_CartOrdData_ListSupplies.rowcount ; i++ ){
  797. ds_main_CartOrdData_ListSupplies.setColumn(i, "colEdittype24", "combo");
  798. }
  799. //group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 24, "edittype", "combo");
  800. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 1, "controlbackground", "");
  801. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 22, "controlbackground", "");
  802. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 1, "controlborder", "");
  803. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 22, "controlborder", "");
  804. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Head", 1, "displaytype", "checkbox");
  805. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Head", 1, "edittype", "checkbox");
  806. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Head", 1, "expr", "0");
  807. if (utlf_isNull(eval(gPathNode[6]).getColumn(0, "patinroomdt"))) {
  808. group3.grp_ord.bbt_cSave.enable = false; // 임시처방저장
  809. group3.grp_ord.bbt_prcpconfirm.enable = false; // 확정처방저장
  810. } else {
  811. if (opstatcd >= "40") {
  812. group3.grp_ord.bbt_cSave.enable = true; // 임시처방저장
  813. group3.grp_ord.bbt_prcpconfirm.enable = true; // 확정처방저장
  814. } else {
  815. group3.grp_ord.bbt_cSave.enable = false; // 임시처방저장
  816. group3.grp_ord.bbt_prcpconfirm.enable = false; // 확정처방저장
  817. }
  818. }
  819. if (CartStat >= "5") {
  820. group3.grp_ord.bbt_prcpconfirm.text = "처방수정";
  821. group3.grp_ord.bbt_cSave.enable = false;
  822. group3.grp_ord.grp_cartonly.chk_robot.enable = false;
  823. } else {
  824. group3.grp_ord.bbt_prcpconfirm.text = "확정처방저장";
  825. }
  826. }
  827. } else {
  828. var roomcd = ds_main_operation_list.getColumn(0, "oproomcd");
  829. var room = ds_tmp_codeinfo_codelist.getColumn(ds_tmp_codeinfo_codelist.findRowExpr("cdgrupid=='T16' && cdid=='" + roomcd + "'"), "cdid");
  830. var patinrmdt = eval(gPathNode[6]).getColumn(0, "patinroomdt");
  831. group3.grp_ord.bbt_cSave.enable = false;
  832. group3.grp_ord.bbt_prcpconfirm.enable = false;
  833. group3.grp_ord.bbt_tSave.enable = true;
  834. if (CartStat == "2") {
  835. group3.grp_ord.btn_tempcart.enable = false;
  836. if (vCartgubn == "A" && (group3.grp_ord.switch1.case3.grd_diposit.rowcount == 0 && group3.grp_ord.switch1.case3.grd_supplies.rowcount == 0 && group3.grp_ord.switch1.case3.grd_drug.rowcount == 0)) {
  837. group3.btn_return.visible = true;
  838. } else {
  839. group3.btn_return.visible = false;
  840. }
  841. } else {
  842. group3.grp_ord.btn_tempcart.enable = true;
  843. }
  844. if (!utlf_isNull(room)) {
  845. if (!utlf_isNull(patinrmdt)) {
  846. group3.grp_ord.bbt_cSave.enable = true; // 임시처방저장
  847. group3.grp_ord.bbt_prcpconfirm.enable = true; // 확정처방저장
  848. group3.grp_ord.bbt_prcpconfirm.text = "확정처방저장";
  849. group3.grp_ord.btn_tempcart.enable = false;
  850. group3.grp_ord.bbt_tSave.enable = false;
  851. } else {
  852. group3.grp_ord.btn_tempcart.enable = true; // 임시처방저장
  853. group3.grp_ord.bbt_tSave.enable = true; // 확정처방저장
  854. }
  855. }
  856. }
  857. }
  858. }
  859. return;
  860. if (model.getValue("/root/main/MmohoprsLists/mmohoprslist/opstatcd") < "40" || bDSCOFlag == true) {
  861. //*** 2008-07-29 오전 9:16:18 taebum 입실 전일 경우 Cart상태가 불출전 일경우 CartList만 저장 및 삭제 할 수 있도록 수정
  862. //물품, 기구 불출 분할로 각각의 상태값으로 처리 if( goodstat >= "3" ) {//물품상태값
  863. if (CartStat != "-" || eval(CartStat) >= 3) {
  864. bbt_tSave.disabled = false; // Cart List 저장
  865. bbt_delete.disabled = false; // 삭제
  866. btn_eroutcart.disabled = false; // 응급 CartBag 불출
  867. //btn_tempcart.disabled = false; // 임시 Cart List저장
  868. btn_erreqsave.disabled = false; //응급청구저장
  869. }
  870. bbt_cSave.disabled = true; // 임시처방저장
  871. bbt_prcpconfirm.disabled = true; // 확정처방저장
  872. //bbt_append1.disabled = "true"; //2008-07-24 오후 3:44:17 taebum 활성화 되도록 수정
  873. //bbt_append2.disabled = "true";
  874. // 2009-03-04 ycd 삭제처리
  875. //bbt_other.disabled = true;
  876. //bbt_choice.disabled = true; // 물품선택 버튼
  877. //2008-08-28 오전 8:26:00 taebum 입실전에도 마취/회복일 경우 combo 활성화 추가
  878. if (sCartGubn == "A" || sCartGubn == "R") {
  879. rdo_cartgubn1.disabled = true;
  880. rdo_cartgubn2.disabled = true;
  881. //2009-04-14 YCD 로그인한 근무지 부서로 처방이 발생. 회복/마취 선택 기능 삭제
  882. //rdo_cartgubn2.disabled = false;
  883. rdo_cartgubn1.refresh();
  884. rdo_cartgubn2.refresh();
  885. } else if (sCartGubn == "O") {
  886. rdo_cartgubn1.disabled = true;
  887. rdo_cartgubn2.disabled = true;
  888. rdo_cartgubn1.refresh();
  889. rdo_cartgubn2.refresh();
  890. }
  891. if (sCartGubn == "R" && bDSCOFlag == true) { //회복일 경우 입실전일 경우 모든 버튼 비활성화 처리
  892. bbt_cSave.disabled = true;
  893. bbt_prcpconfirm.disabled = true;
  894. // 2009-03-04 ycd 삭제처리
  895. //bbt_other.disabled = true;
  896. bbt_tSave.disabled = true;
  897. //btn_tempcart.disabled = true; // 임시 Cart List저장
  898. bbt_delete.disabled = true;
  899. btn_cartcopy.disabled = true;
  900. btn_goodsrch.disabled = true;
  901. btn_setprcp.disabled = true;
  902. btn_eroutcart.disabled = true; // 응급 CartBag 불출
  903. } else {
  904. //2008-09-30 오전 12:04:16 taebum 퇴원환자를 외래로 상단을 올릴 경우를 위한 추가 구문
  905. //카트상태가 불출이상일 경우 전체 disable 처리한다.
  906. //2009.07.10 K. J. M 각각의 불출상태로 처리변경
  907. if (bDSCOFlag == true && CartStat != "-" && eval(CartStat) >= 3) {
  908. bbt_tSave.disabled = true; // Cart List 저장
  909. //btn_tempcart.disabled = true; // 임시 Cart List저장
  910. bbt_delete.disabled = true; // 삭제
  911. btn_cartcopy.disabled = true; // 카트복사
  912. btn_goodsrch.disabled = true; // 물품복사
  913. btn_setprcp.disabled = true; // 약속처방
  914. btn_eroutcart.disabled = true; // 응급 CartBag 불출
  915. return;
  916. } else {
  917. if (bDSCOFlag == true) {
  918. bbt_tSave.disabled = false; // Cart List 저장
  919. //btn_tempcart.disabled = false; // 임시 Cart List저장
  920. btn_eroutcart.disabled = false; // 응급 CartBag 불출
  921. }
  922. if (eval(CartStat) >= 3) {
  923. // 수술시작전 일반임시처방... 불출이상일 경우
  924. bbt_tSave.disabled = true; // Cart List 저장
  925. //btn_tempcart.disabled = true; // 임시 Cart List저장
  926. btn_cartcopy.disabled = true;
  927. btn_goodsrch.disabled = true;
  928. btn_setprcp.disabled = true;
  929. btn_eroutcart.disabled = true; // 응급 CartBag 불출
  930. btn_erreqsave.disabled = false; //불출이상이면 응급청구 가능(2009.08.03)
  931. return false;
  932. }
  933. if (CartStat != "-" && eval(CartStat) < 3) {
  934. bbt_tSave.disabled = false; // Cart List저장
  935. //btn_tempcart.disabled = false; // 임시 Cart List저장
  936. bbt_delete.disabled = false;
  937. btn_erreqsave.disabled = true; //불출이하이면 2009.08.03
  938. btn_eroutcart.disabled = false; // 응급 CartBag 불출
  939. }
  940. }
  941. }
  942. if (sAlertMsgFlag == "S") {
  943. //messageBox(sAlertMsg, "I000");
  944. sAlertMsgFlag = "R";
  945. return;
  946. }
  947. }
  948. //2008-09-30 오전 12:06:09 taebum 퇴원환자 상단 올린후 조회용으로 추가된 구문.
  949. else {
  950. if (bDSCOFlag == true && eval(CartStat) >= 3) {
  951. bbt_cSave.disabled = true;
  952. bbt_prcpconfirm.disabled = true;
  953. // 2009-03-04 ycd 삭제처리
  954. //bbt_other.disabled = true;
  955. bbt_tSave.disabled = true;
  956. //btn_tempcart.disabled = true; // 임시 Cart List저장
  957. bbt_delete.disabled = true;
  958. btn_erreqsave.disabled = true;
  959. btn_eroutcart.disabled = true; // 응급 CartBag 불출
  960. return;
  961. }
  962. }
  963. // ----------------------------------------------------------------
  964. // if (getUserInfo("jobposcd") == "1140" || getUserInfo("jobposcd") == "1110") { // 직위가 간호사, 수간호사
  965. // } else {
  966. // bbt_tSave.disabled = "true"; // 임시처방입력
  967. // bbt_cSave.disabled = "true"; // 임시처방저장
  968. // bbt_prcpconfirm.disabled = "true"; // 확정처방저장
  969. //
  970. // bbt_delete.disabled = "true";
  971. // bbt_append1.disabled = "true";
  972. // bbt_append2.disabled = "true";
  973. // bbt_other.disabled = "true";
  974. // bbt_choice.disabled = "true"; // 물품선택 버튼
  975. //
  976. // alert("수술마취 간호처방은 간호사 선생님만 처방가능합니다.("+getUserInfo("jobkindnm")+")");
  977. // return;
  978. // }
  979. cmb_cartstat.attribute("visibility") = "visible";
  980. cap_cartstat.attribute("visibility") = "visible";
  981. //----
  982. if (model.getValue("/root/init/WorkData/cond/cartgubn") != "O") {
  983. //bbt_cSave.disabled = "true"; // 임시처방저장
  984. //2008-08-18 오후 2:44:19 taebum 주석처리
  985. //bbt_carttab.disabled = "true";
  986. //cmb_cartstat.attribute("visibility") ="hidden";
  987. //cap_cartstat.attribute("visibility") ="hidden" ;
  988. }
  989. // else {
  990. if (CartStat != "-" && CartStat != "" && (CartStat == "1" || CartStat == "2")) {
  991. if (model.getValue("/root/main/MmohoprsLists/mmohoprslist/opflagcd") == "1") {
  992. bbt_tSave.disabled = false;
  993. //btn_tempcart.disabled = false; // 임시 Cart List저장
  994. btn_eroutcart.disabled = false; // 응급 CartBag 불출
  995. } else {
  996. if (sCartGubn == "A" && getUserInfo("dutplceinstcd") == "032") {
  997. bbt_cSave.disabled = true;
  998. bbt_prcpconfirm.disabled = true;
  999. }
  1000. }
  1001. } else if (CartStat > "4") {
  1002. bbt_prcpconfirm.attribute("text") = "처방수정";
  1003. //20110314 이선경 (경북대) : 처방수정일때는 다빈치 체크 disabled
  1004. chk_robot.disabled = true;
  1005. if (CartStat == "9") {
  1006. //---------(20101204) 경북대
  1007. //추가
  1008. var sjobposcd = getUserInfo("jobposcd"); // 직위
  1009. var ssflag = "";
  1010. if (getUserInfo("dutplceinstcd") != '032' && getUserInfo("dutplceinstcd") != '031') {
  1011. //경북대가 아니면
  1012. if (sjobposcd == "1110") {
  1013. ssflag = "Y";
  1014. } else {
  1015. ssflag = "N";
  1016. }
  1017. } else if (getUserInfo("dutplceinstcd") == '032' || getUserInfo("dutplceinstcd") == '031') {
  1018. //경북대이면 03%로 체크한다.
  1019. if (sjobposcd == "75") {
  1020. ssflag = "Y";
  1021. } else {
  1022. ssflag = "N";
  1023. }
  1024. }
  1025. //if (getUserInfo("jobposcd") == "1110") { // 직위가 수간호사 이면
  1026. if (ssflag == "Y") {
  1027. //---------(20101204) 경북대
  1028. bbt_prcpconfirm.attribute("text") = "처방반납저장";
  1029. } else {
  1030. bbt_tSave.disabled = true; // Cart List 저장
  1031. //btn_tempcart.disabled = true; // 임시 Cart List저장
  1032. bbt_cSave.disabled = true; // 임시처방저장
  1033. bbt_prcpconfirm.disabled = true; // 확정처방저장
  1034. bbt_delete.disabled = true; //삭제
  1035. btn_erreqsave.disabled = false; //응급청구저장
  1036. btn_eroutcart.disabled = true; // 응급 CartBag 불출
  1037. //bbt_find.disabled = "true";
  1038. //bbt_append1.disabled = "true";
  1039. //bbt_append2.disabled = "true";
  1040. // 2009-03-04 ycd 삭제처리
  1041. //bbt_other.disabled = "true";
  1042. //bbt_choice.disabled = "true"; // 물품선택 버튼
  1043. }
  1044. }
  1045. // 추가처방
  1046. if (CartStat == "5") {
  1047. bbt_cSave.disabled = true; // 임시처방저장
  1048. }
  1049. }
  1050. model.setValue("/root/init/WorkData/cond/oldcartstat", CartStat);
  1051. //-----------------------------------------------------------
  1052. // 환자가 수술실 입실일시로 버튼 제어
  1053. // 2007.10.18 수술,회복,마취합의
  1054. //-----------------------------------------------------------
  1055. if (model.getValue(gPathNode[6] + "/patinroomdt") == "") {
  1056. bbt_cSave.disabled = true; // 임시처방저장
  1057. bbt_prcpconfirm.disabled = true; // 확정처방저장
  1058. } else {
  1059. bbt_tSave.disabled = true; // Cart처방입력
  1060. //btn_tempcart.disabled = true; // 임시 Cart List저장
  1061. btn_eroutcart.disabled = true; // 응급 CartBag 불출
  1062. }
  1063. //bbt_tSave.refresh(); // 임시처방입력
  1064. //bbt_cSave.refresh(); // 임시처방저장
  1065. //bbt_prcpconfirm.refresh(); // 확정처방저장
  1066. //2009-03-04 ycd 삭제처리
  1067. //bbt_other.refresh();
  1068. //2008-07-29 오전 10:29:59 taebum 수술실 마감 작업 proccess -- 진명씨 source 위치 이동
  1069. //============================================================================================================
  1070. var prcpendflag = model.getValue("/root/main/MmohoprsLists/mmohoprslist/prcpendflag");
  1071. var cartgubn = model.getValue("/root/init/WorkData/cond/cartgubn");
  1072. if (cartgubn == "O") { //수술실
  1073. if ((prcpendflag == "1") || (prcpendflag == "4") || (prcpendflag == "5") || (prcpendflag == "7")) {
  1074. //group3.disabled = true;
  1075. switch1.disabled = true;
  1076. btn_cartcopy.disabled = true;
  1077. btn_goodsrch.disabled = false;
  1078. btn_setprcp.disabled = true;
  1079. bbt_delete.disabled = true;
  1080. bbt_tSave.disabled = true;
  1081. //btn_tempcart.disabled = true; // 임시 Cart List저장
  1082. bbt_cSave.disabled = true;
  1083. bbt_prcpconfirm.disabled = true;
  1084. btn_erreqsave.disabled = true;
  1085. btn_eroutcart.disabled = true; // 응급 CartBag 불출
  1086. // 2009-03-04 ycd 삭제처리
  1087. //button3.disabled = true;
  1088. //bbt_other.disabled = true;
  1089. } else {
  1090. //2008-09-20 오후 8:36:10 taebum 회복일 경우 Cart복사 disable 처리
  1091. btn_cartcopy.disabled = false;
  1092. btn_setprcp.disabled = false;
  1093. }
  1094. } else if (cartgubn == "A") { //마취실
  1095. if ((prcpendflag == "2") || (prcpendflag == "4") || (prcpendflag == "6") || (prcpendflag == "7")) {
  1096. switch1.disabled = true;
  1097. btn_cartcopy.disabled = true;
  1098. btn_goodsrch.disabled = false;
  1099. btn_setprcp.disabled = true;
  1100. bbt_delete.disabled = true;
  1101. bbt_tSave.disabled = true;
  1102. bbt_cSave.disabled = true;
  1103. bbt_prcpconfirm.disabled = true;
  1104. btn_erreqsave.disabled = true;
  1105. btn_eroutcart.disabled = true; // 응급 CartBag 불출
  1106. // 2009-03-04 ycd 삭제처리
  1107. //button3.disabled = true;
  1108. //bbt_other.disabled = true;
  1109. } else {
  1110. //2008-09-20 오후 8:36:10 taebum 회복일 경우 Cart복사 disable 처리
  1111. btn_cartcopy.disabled = false;
  1112. btn_setprcp.disabled = false;
  1113. }
  1114. } else if (cartgubn == "R") { //회복실
  1115. if ((prcpendflag == "3") || (prcpendflag == "5") || (prcpendflag == "6") || (prcpendflag == "7")) {
  1116. switch1.disabled = true;
  1117. btn_cartcopy.disabled = true;
  1118. btn_goodsrch.disabled = false;
  1119. btn_setprcp.disabled = true;
  1120. bbt_delete.disabled = true;
  1121. bbt_tSave.disabled = true;
  1122. bbt_cSave.disabled = true;
  1123. bbt_prcpconfirm.disabled = true;
  1124. btn_erreqsave.disabled = true;
  1125. btn_eroutcart.disabled = true; // 응급 CartBag 불출
  1126. // 2009-03-04 ycd 삭제처리
  1127. //button3.disabled = true;
  1128. //bbt_other.disabled = true;
  1129. } else {
  1130. //2008-09-20 오후 8:36:10 taebum 회복일 경우 Cart복사 disable 처리
  1131. btn_cartcopy.disabled = false;
  1132. btn_setprcp.disabled = false;
  1133. }
  1134. }
  1135. //============================================================================================================
  1136. //2008-08-19 오전 10:15:48 taebum 불출한 상태에서 대기상태 이상일 경우 Cart List 저장 버튼 비활성화
  1137. if (model.getValue("/root/main/MmohoprsLists/mmohoprslist/opstatcd") >= "30" && CartStat >= "3") {
  1138. bbt_tSave.disabled = true;
  1139. btn_eroutcart.disabled = true; // 응급 CartBag 불출
  1140. }
  1141. //마취 또는 회복간호사가 로그인 할 경우 마취/회복 콤보박스 활성화
  1142. if (sCartGubn == "A" || sCartGubn == "R") {
  1143. rdo_cartgubn1.disabled = true;
  1144. //2009-04-14 YCD 로그인한 근무지 부서로 처방이 발생. 회복/마취 선택 기능 삭제
  1145. //rdo_cartgubn2.disabled = false;
  1146. rdo_cartgubn1.refresh();
  1147. rdo_cartgubn2.refresh();
  1148. } else if (sCartGubn == "O") {
  1149. rdo_cartgubn1.disabled = true;
  1150. rdo_cartgubn2.disabled = true;
  1151. rdo_cartgubn1.refresh();
  1152. rdo_cartgubn2.refresh();
  1153. }
  1154. if (button9.selected == true && (grd_instrument.findRow("N", grd_instrument.findRow("E", 1, grd_instrument.colRef("goodcrflag")), grd_instrument.colRef("deliveyn")) > 0 ||
  1155. grd_opsupply.findRow("N", grd_opsupply.findRow("E", 1, grd_opsupply.colRef("goodcrflag")), grd_opsupply.colRef("deliveyn")) > 0)) {
  1156. btn_eroutcart.disabled = false;
  1157. }
  1158. var CartStat = ds_inti_WorkData_cond.getColumn(0, "cartstat");
  1159. if (CartStat == "9") {
  1160. grd_supplies.colDisabled(grd_supplies.colRef("delcheck")) = true;
  1161. grd_supplies.colDisabled(grd_supplies.colRef("grupcd")) = true;
  1162. grd_supplies.colDisabled(grd_supplies.colRef("prcpdelivefact")) = true;
  1163. grd_supplies.colDisabled(grd_supplies.colRef("outqty")) = true;
  1164. //grd_supplies.colDisabled(grd_supplies.colRef("erprcpflag")) = true;
  1165. grd_supplies.colDisabled(grd_supplies.colRef("anamneflag")) = true;
  1166. grd_supplies.colDisabled(grd_supplies.colRef("payflagcd")) = true;
  1167. grd_supplies.fixedcellcheckbox(0, 1) = false;
  1168. //grd_drug.colDisabled(grd_drug.colRef("delcheck")) = true;
  1169. //grd_drug.colDisabled(grd_drug.colRef("grupcd")) = true;
  1170. //grd_drug.colDisabled(grd_drug.colRef("drugmthdspccd")) = true;
  1171. //grd_drug.colDisabled(grd_drug.colRef("outqty")) = true;
  1172. //grd_drug.colDisabled(grd_drug.colRef("anamneflag")) = true;
  1173. //grd_drug.colDisabled(grd_drug.colRef("payflagcd")) = true;
  1174. grd_supplies.fixedcellcheckbox(0, 1) = false;
  1175. //grd_drug.fixedcellcheckbox(0,1) = false;
  1176. bbt_prcpconfirm.disabled = false;
  1177. btn_cartcopy.disabled = true;
  1178. btn_setprcp.disabled = true;
  1179. bbt_prcpconfirm.text = "가납확정저장";
  1180. } else {
  1181. grd_supplies.colDisabled(grd_supplies.colRef("delcheck")) = false;
  1182. grd_supplies.colDisabled(grd_supplies.colRef("grupcd")) = false;
  1183. grd_supplies.colDisabled(grd_supplies.colRef("prcpdelivefact")) = false;
  1184. grd_supplies.colDisabled(grd_supplies.colRef("outqty")) = false;
  1185. //grd_supplies.colDisabled(grd_supplies.colRef("erprcpflag")) = false;
  1186. grd_supplies.colDisabled(grd_supplies.colRef("anamneflag")) = false;
  1187. grd_supplies.colDisabled(grd_supplies.colRef("payflagcd")) = false;
  1188. //grd_drug.colDisabled(grd_drug.colRef("delcheck")) = false;
  1189. //grd_drug.colDisabled(grd_drug.colRef("grupcd")) = false;
  1190. //grd_drug.colDisabled(grd_drug.colRef("drugmthdspccd")) = false;
  1191. //grd_drug.colDisabled(grd_drug.colRef("outqty")) = false;
  1192. //grd_drug.colDisabled(grd_drug.colRef("anamneflag")) = false;
  1193. //grd_drug.colDisabled(grd_drug.colRef("payflagcd")) = false;
  1194. grd_supplies.fixedcellcheckbox(0, 1) = true;
  1195. //grd_drug.fixedcellcheckbox(0,1) = true;
  1196. //bbt_prcpconfirm.disabled = false;
  1197. bbt_prcpconfirm.text = "처방수정";
  1198. }
  1199. }
  1200. // --------------------------------------------------
  1201. // 수술예약정보 가져오기
  1202. // --------------------------------------------------
  1203. function fMmohoprsData_Read(pFlag) {
  1204. trace("fMmohoprsData_Read()");
  1205. ds_send.setColumn(0, "instcd", eval(gPathNode[7]).getColumn(0, "instcd")); // 기관코드
  1206. ds_send.setColumn(0, "oprsrvno", eval(gPathNode[7]).getColumn(0, "oprsrvno")); // 수술예약(의뢰)번호 (년도 + 일련번호)
  1207. ds_send.setColumn(0, "ophistno", eval(gPathNode[7]).getColumn(0, "ophistno")); // 예약번호에따른이력번호
  1208. ds_send.setColumn(0, "ophistcd", eval(gPathNode[7]).getColumn(0, "ophistcd")); // 수술예약의이력코드
  1209. //20180205 이돈희 : 수술포 급여화에 따른 마취시간 계산을 위하여 추가
  1210. ds_send.setColumn(0, "mainoprsrvno", eval(gPathNode[7]).getColumn(0, "mainoprsrvno"))// 메인 수술예약번호
  1211. ds_send.setColumn(0, "pid", eval(gPathNode[7]).getColumn(0, "pid"))// 차트번호
  1212. var oParam = {};
  1213. oParam.id = "TRMNP01800";
  1214. oParam.service = "opanstapp.OpAnstCCrtGoodMngt";
  1215. oParam.method = "reqGetMmohoprsList";
  1216. oParam.inds = "req=ds_send";
  1217. oParam.outds = "ds_main_MmohoprsLists_mmohoprslist=mmohoprslist ds_main_anstrecinfo=anstrecinfo";
  1218. oParam.async = false;
  1219. //oParam.callback = "cf_TRMNP01800";
  1220. tranf_submit(oParam); // 수술예약정보를 가져온다.
  1221. if (utlf_isNull(ds_main_MmohoprsLists_mmohoprslist.getColumnInfo("disp1"))) {
  1222. ds_main_MmohoprsLists_mmohoprslist.addColumn("disp1", "string");
  1223. }
  1224. if (utlf_isNull(ds_main_MmohoprsLists_mmohoprslist.getColumnInfo("disp2"))) {
  1225. ds_main_MmohoprsLists_mmohoprslist.addColumn("disp2", "string");
  1226. }
  1227. if (utlf_isNull(ds_main_MmohoprsLists_mmohoprslist.getColumnInfo("disp3"))) {
  1228. ds_main_MmohoprsLists_mmohoprslist.addColumn("disp3", "string");
  1229. }
  1230. ds_main_MmohoprsLists_mmohoprslist.addColumn("prnti", "string");
  1231. ds_main_MmohoprsLists_mmohoprslist.addColumn("prntii", "string");
  1232. ds_main_MmohoprsLists_mmohoprslist.addColumn("prntiii", "string");
  1233. ds_main_MmohoprsLists_mmohoprslist.addColumn("prntiv", "string");
  1234. ds_main_MmohoprsLists_mmohoprslist.addColumn("cartgubn", "string");
  1235. ds_main_MmohoprsLists_mmohoprslist.addColumn("oproomcdnm", "string");
  1236. ds_main_MmohoprsLists_mmohoprslist.addColumn("orddeptcdnm", "string");
  1237. ds_main_MmohoprsLists_mmohoprslist.addColumn("opfromtmcdnm", "string");
  1238. ds_main_MmohoprsLists_mmohoprslist.addColumn("hngnm", "string");
  1239. ds_main_MmohoprsLists_mmohoprslist.addColumn("sexage", "string");
  1240. ds_main_MmohoprsLists_mmohoprslist.addColumn("deptflagnm", "string");
  1241. ds_main_MmohoprsLists_mmohoprslist.addColumn("prntgood", "string");
  1242. ds_main_MmohoprsLists_mmohoprslist.addColumn("prntinstr", "string");
  1243. ds_main_MmohoprsLists_mmohoprslist.addColumn("prntcst", "string");
  1244. ds_main_MmohoprsLists_mmohoprslist.addColumn("prntpad", "string");
  1245. ds_main_MmohoprsLists_mmohoprslist.addColumn("goodcrflag", "string");
  1246. ds_main_MmohoprsLists_mmohoprslist.addColumn("usernm", "string");
  1247. //2008-08-18 오전 10:07:06 taebum 협진수술도 Cart를 발생 시킨다고 함.
  1248. var oPath = ds_main_MmohoprsLists_mmohoprslist;
  1249. var sPatInfo = utlf_transNullToEmpty(oPath.getColumn(0, "wardnm")) + " " // 병동 2008-11-28 오후 2:11:28 taebum modify
  1250. +
  1251. utlf_transNullToEmpty(oPath.getColumn(0, "roomcd")) + " " // 병실
  1252. +
  1253. utlf_transNullToEmpty(oPath.getColumn(0, "patname2")) + " " // 환자명
  1254. +
  1255. utlf_transNullToEmpty(oPath.getColumn(0, "sa")) + " " // SA
  1256. +
  1257. utlf_transNullToEmpty(oPath.getColumn(0, "pid")); // 등록번호
  1258. var sPatInfo2 = utlf_transNullToEmpty(oPath.getColumn(0, "depthngnm")) + " " // 진료과
  1259. +
  1260. utlf_transNullToEmpty(oPath.getColumn(0, "oproomnm")) + " " // 수술실명
  1261. +
  1262. utlf_transNullToEmpty(oPath.getColumn(0, "perfdridnm")) + " " // 집도의
  1263. +
  1264. utlf_transNullToEmpty(oPath.getColumn(0, "opcdnm")) // 수술명
  1265. +
  1266. " (수술번호: " + utlf_transNullToEmpty(oPath.getColumn(0, "oprsrvno")) + ")"; //수술예약번호
  1267. //20180205 이돈희 : 수술포 급여화에 따른 마취시간 표시
  1268. //수술중 아닌 경우 미표시
  1269. if(ds_main_MmohoprsLists_mmohoprslist.getColumn(0, "opstatcd") >= 40)
  1270. {
  1271. //의사 마취기록이 없는 경우 국소마취
  1272. if(ds_main_anstrecinfo.rowcount > 0){
  1273. varAnstFromDt = utlf_transNullToEmpty(ds_main_anstrecinfo.getColumn(0,"anstfromdt"));
  1274. varAnstToDt = utlf_transNullToEmpty(ds_main_anstrecinfo.getColumn(0,"ansttodt"));
  1275. //20180309 이돈희 : 마취 종료 시간이 없는 경우 현재시간으로 계산(from 장수경 선생님)
  1276. // varAnstToDt.length <= 8 추가 : 날짜만 들어간 경우도 있음
  1277. if(utlf_isNull(varAnstToDt) || varAnstToDt.length <= 8){
  1278. varAnstToDt = utlf_getCurrentDate()+utlf_getCurrentTime();
  1279. }
  1280. if(!utlf_isNull(varAnstFromDt)){
  1281. dateAnstDtGap = utlf_getEpTime2(varAnstFromDt, varAnstToDt);
  1282. varAnstDtGap = utlf_getEpTime(varAnstFromDt, varAnstToDt);
  1283. sPatInfo2 = sPatInfo2 + " 마취시간 : " + varAnstDtGap;
  1284. }
  1285. }
  1286. else {
  1287. sPatInfo2 = sPatInfo2 + " 국소마취";
  1288. }
  1289. }
  1290. ds_init_MmohoprsKey.setColumn(0, "patinfo", sPatInfo);
  1291. ds_init_MmohoprsKey.setColumn(0, "patinfo2", sPatInfo2);
  1292. var sCartGubn = ds_init_WorkData_cond.getColumn(0, "cartgubn"); // Cart구분 O:수술, A:마취 , R:회복
  1293. //2008-08-02 오후 5:55:17 taebum add
  1294. //2009-03-10 ycd sLoginDeptcd 전역변수 처리 하여 삭제 처리
  1295. //var sLoginDeptcd = getUserInfo("dutplcecd");
  1296. sCartGubnCd = ds_viewctrl_viewctrllist_viewctrlinfo.getColumn(0, "cdnm");
  1297. ds_init_WorkData_cond.setColumn(0, "cartgubn", sCartGubnCd);
  1298. if (sCartGubn == "O") {
  1299. CartStat = eval(gPathNode[6]).getColumn(0, "ccrtstat");
  1300. if (utlf_isNull(CartStat) || CartStat == "-") {
  1301. CartStat = "1";
  1302. eval(gPathNode[6]).setColumn(0, "ccrtstat", "1");
  1303. }
  1304. } else if (sCartGubn == "A") { //2008-08-18 오전 11:29:49 기존에 마취Cart가 안흐르는 Case에서 4로 Setting 1로 변경
  1305. CartStat = eval(gPathNode[6]).getColumn(0, "anstccrtstat");
  1306. if (utlf_isNull(CartStat) || CartStat == "-") {
  1307. CartStat = "1";
  1308. eval(gPathNode[6]).setColumn(0, "anstccrtstat", "1");
  1309. }
  1310. } else if (sCartGubn == "R") {
  1311. CartStat = eval(gPathNode[6]).getColumn(0, "rcvccrtstat");
  1312. if (utlf_isNull(CartStat) || CartStat == "-") {
  1313. CartStat = "4";
  1314. eval(gPathNode[6]).setColumn(0, "rcvccrtstat", "4");
  1315. }
  1316. }
  1317. if (pFlag == "P") { //물품조회, 약속처방, 카트복사일때만 체크
  1318. if (ds_init_WorkData_cond.getColumn(0, "cartstat") == "4" && CartStat >= "5") {
  1319. sysf_messageBox("이미 확정 처방 저장 내역이 있습니다. 재조회 후 진행합니다.!", "E000");
  1320. ds_init_WorkData_cond.setColumn(0, "cartstat", CartStat);
  1321. fQueryData();
  1322. }
  1323. }
  1324. ds_init_WorkData_cond.setColumn(0, "cartstat", CartStat);
  1325. //2008-08-19 오전 10:08:18 taebum 진명씨 요청 주석처리
  1326. //cart 자동 불출
  1327. /*
  1328. var sTmpOprsrvno = model.getValue("/root/main/MmohoprsLists/mmohoprslist/oprsrvno");
  1329. var sTmpOproomcd = model.getValue("/root/main/MmohoprsLists/mmohoprslist/oproomcd");
  1330. var cartbaglist = "m▦rownum▦oprsrvno▦oproomcd▦cartgubn";
  1331. var sTmpOpstatcd = model.getValue("/root/main/MmohoprsLists/mmohoprslist/opstatcd");
  1332. if( (parseInt(sTmpOpstatcd) > 29) && (parseInt(CartStat) < 3) && (sCartGubn != "R")){ //2008-07-31 오후 8:03:05 회복Cart X 수술대기 이상 Cart 불출이하 자동불출 go
  1333. cartbaglist = cartbaglist + "▩" + "u" + "▦" + "1" + "▦" + sTmpOprsrvno + "▦" + sTmpOproomcd + "▦" + sCartGubn;
  1334. model.removenode("/root/send");
  1335. model.makeValue("/root/send/cartsend" , cartbaglist );
  1336. if(submit("TXMNP03401")){
  1337. model.setValue("/root/init/WorkData/cond/cartstat", "3");
  1338. cmb_cartstat.refresh();
  1339. }
  1340. }else{
  1341. model.setValue("/root/init/WorkData/cond/cartstat", CartStat);
  1342. cmb_cartstat.refresh();
  1343. }
  1344. */
  1345. //2009-04-14 YCD 수술방명 설정
  1346. if (sCartGubnCd == "A") {
  1347. vOproomnm = sOprsXpath.getColumn(0, "oproomnm");
  1348. } else if (sCartGubnCd == "R") {
  1349. vOproomnm = "회복실";
  1350. } else {
  1351. vOproomnm = sOprsXpath.getColumn(0, "oproomnm");
  1352. }
  1353. }
  1354. // --------------------------------------------------
  1355. // Case Cart 처방내역 조회
  1356. // --------------------------------------------------
  1357. function fCartOrdData_Read() {
  1358. trace("fCartOrdData_Read()");
  1359. var TabCls = "C";
  1360. if (utlf_isNull(ds_init_WorkData_cond.getColumn(0, "cartstat"))) {
  1361. return;
  1362. } else if (ds_init_WorkData_cond.getColumn(0, "cartstat") == "1" || ds_init_WorkData_cond.getColumn(0, "cartstat") == "2") { // 2 임시 저장, 3: 불출 ,4:임시처방, 5:처방확정, 9:불출
  1363. TabCls = "T";
  1364. }
  1365. ds_send.clearData();
  1366. ds_send.addRow();
  1367. dsf_makeValue(ds_send, "instcd", "string", eval(gPathNode[7]).getColumn(0, "instcd")); // 기관코드
  1368. dsf_makeValue(ds_send, "oprsrvno", "string", eval(gPathNode[7]).getColumn(0, "oprsrvno")); // 수술예약(의뢰)번호 (년도 + 일련번호)
  1369. dsf_makeValue(ds_send, "ophistno", "string", eval(gPathNode[7]).getColumn(0, "ophistno")); // 예약번호에따른이력번호
  1370. dsf_makeValue(ds_send, "ophistcd", "string", eval(gPathNode[7]).getColumn(0, "ophistcd")); // 수술예약의이력코드
  1371. dsf_makeValue(ds_send, "instcd", "string", eval(gPathNode[7]).getColumn(0, "instcd")); // 기관코드
  1372. dsf_makeValue(ds_send, "oprsrvno", "string", eval(gPathNode[7]).getColumn(0, "oprsrvno")); // 수술예약(의뢰)번호 (년도 + 일련번호)
  1373. // model.makeValue("/root/send/ophistno" , model.getValue(gPathNode[7] +"/ophistno" )); // 예약번호에따른이력번호
  1374. //2009.12.28 환자 보험 유형에 따른 급비로 설정 K.J.M
  1375. dsf_makeValue(ds_send, "insukind", "string", eval(gPathNode[6]).getColumn(0, "insukindcd")); // 환자 보험 유형
  1376. //2008-08-02 오후 6:25:12 taebum add 회복은 수술카트 사용
  1377. var tempCartGb = ds_init_WorkData_cond.getColumn(0, "cartgubn");
  1378. /*
  1379. //2008-08-18 오후 1:16:45 taebum 회복은 R로 기존처럼 처리
  1380. if(tempCartGb == "R"){
  1381. tempCartGb = "O";
  1382. }
  1383. */
  1384. dsf_makeValue(ds_send, "cartgubn", "string", tempCartGb); // Cart구분 O:수술, A:마취
  1385. // model.makeValue("/root/send/ordseq" , model.getValue("" ); // 처방순번
  1386. dsf_makeValue(ds_send, "reqtabcls", "string", TabCls); // 테이블구 T:임시처방, C: 확정처방
  1387. //2008-08-02 오후 6:19:17 taebum R add
  1388. if (ds_init_WorkData_cond.getColumn(0, "cartgubn") == "O") { //2008-08-18 오후 1:18:03 taebum || model.getValue("/root/init/WorkData/cond/cartgubn") == "R"
  1389. dsf_makeValue(ds_send, "ccrtno", "string", eval(gPathNode[6]).getColumn(0, "ccrtno")); // Cart구분 O:수술, A:마취
  1390. } else {
  1391. dsf_makeValue(ds_send, "ccrtno", "string", eval(gPathNode[6]).getColumn(0, "anstccrtno")); // Cart구분 O:수술, A:마취
  1392. }
  1393. if(ds_main_cond.getColumn(0, "srchdelprcp") != "Y"){
  1394. dsf_makeValue(ds_send, "srchdelprcp", "string", ""); // 조회(삭제처방)
  1395. }else{
  1396. dsf_makeValue(ds_send, "srchdelprcp", "string", ds_main_cond.getColumn(0, "srchdelprcp")); // 조회(삭제처방)
  1397. }
  1398. dsf_makeValue(ds_send, "srchcalcflag", "string", ds_main_cond.getColumn(0, "srchcalcflag")); // 조회(수가물품)
  1399. dsf_makeValue(ds_send, "grupcd", "string", ds_main_cond.getColumn(0, "grupcd"));
  1400. var oParam = {};
  1401. oParam.id = "TRMNP01801";
  1402. oParam.service = "opanstapp.OpAnstCCrtGoodMngt";
  1403. oParam.method = "reqGetCartOrdListInfo";
  1404. oParam.inds = "req=ds_send";
  1405. oParam.outds = "ds_main_CartOrdData_ListSutures=ListSutures ds_main_CartOrdData_ListSupplies=ListSupplies ds_main_CartOrdData_ListDrug=ListDrug ds_main_CartOrdData_ListInstrument=ListInstrument ds_main_CartOrdData_ListCurecode=ListCurecode ds_main_CartOrdData_ListOpsupply=ListOpsupply ds_main_CartOrdData_ListDiposit=ListDiposit";
  1406. oParam.async = false;
  1407. //oParam.callback = "cf_TRMNP01801";
  1408. tranf_submit(oParam); // CaseCart처방내역 정보를 가져온다.
  1409. dsf_setDefaultVal(ds_main_CartOrdData_ListSupplies, "colEdittype9:combo,colEdit21:checkbox,colEdittype24:none,colBack21:,colBorder21:");//처치/행위/물품
  1410. dsf_setDefaultVal(ds_main_CartOrdData_ListDrug, "colEdittype13:combo");//Drug
  1411. ds_main_CartOrdData_ListSutures.addColumn("old_payflagcd", "string");
  1412. for (var i = 0; i < ds_main_CartOrdData_ListSutures.rowcount; i++) {
  1413. ds_main_CartOrdData_ListSutures.setColumn(i, "old_payflagcd", ds_main_CartOrdData_ListSutures.getColumn(i, "payflagcd"));
  1414. }
  1415. ds_main_CartOrdData_ListSupplies.addColumn("old_payflagcd", "string");
  1416. for (var i = 0; i < ds_main_CartOrdData_ListSupplies.rowcount; i++) {
  1417. ds_main_CartOrdData_ListSupplies.setColumn(i, "old_payflagcd", ds_main_CartOrdData_ListSupplies.getColumn(i, "payflagcd"));
  1418. }
  1419. ds_main_CartOrdData_ListDrug.addColumn("old_payflagcd", "string");
  1420. for (var i = 0; i < ds_main_CartOrdData_ListDrug.rowcount; i++) {
  1421. ds_main_CartOrdData_ListDrug.setColumn(i, "old_payflagcd", ds_main_CartOrdData_ListDrug.getColumn(i, "payflagcd"));
  1422. }
  1423. ds_main_CartOrdData_ListInstrument.addColumn("old_payflagcd", "string");
  1424. for (var i = 0; i < ds_main_CartOrdData_ListInstrument.rowcount; i++) {
  1425. ds_main_CartOrdData_ListInstrument.setColumn(i, "old_payflagcd", ds_main_CartOrdData_ListInstrument.getColumn(i, "payflagcd"));
  1426. }
  1427. ds_main_CartOrdData_ListCurecode.addColumn("old_payflagcd", "string");
  1428. for (var i = 0; i < ds_main_CartOrdData_ListCurecode.rowcount; i++) {
  1429. ds_main_CartOrdData_ListCurecode.setColumn(i, "old_payflagcd", ds_main_CartOrdData_ListCurecode.getColumn(i, "payflagcd"));
  1430. }
  1431. ds_main_CartOrdData_ListOpsupply.addColumn("old_payflagcd", "string");
  1432. for (var i = 0; i < ds_main_CartOrdData_ListOpsupply.rowcount; i++) {
  1433. ds_main_CartOrdData_ListOpsupply.setColumn(i, "old_payflagcd", ds_main_CartOrdData_ListOpsupply.getColumn(i, "payflagcd"));
  1434. }
  1435. ds_main_CartOrdData_ListDiposit.addColumn("old_payflagcd", "string");
  1436. for (var i = 0; i < ds_main_CartOrdData_ListDiposit.rowcount; i++) {
  1437. ds_main_CartOrdData_ListDiposit.setColumn(i, "old_payflagcd", ds_main_CartOrdData_ListDiposit.getColumn(i, "payflagcd"));
  1438. }
  1439. ds_main_CartOrdData_ListDiposit.addColumn("delcheck", "string");
  1440. ds_main_CartOrdData_ListSupplies.addColumn("delcheck", "string");
  1441. ds_main_CartOrdData_ListDrug.addColumn("delcheck", "string");
  1442. ds_main_CartOrdData_ListInstrument.addColumn("delcheck", "string");
  1443. ds_main_CartOrdData_ListOpsupply.addColumn("delcheck", "string");
  1444. if (utlf_isNull(ds_main_CartOrdData_ListSupplies.getColumnInfo("anamneflag"))) {
  1445. ds_main_CartOrdData_ListSupplies.addColumn("anamneflag", "string");
  1446. }
  1447. if (utlf_isNull(ds_main_CartOrdData_ListDrug.getColumnInfo("anamneflag"))) {
  1448. ds_main_CartOrdData_ListDrug.addColumn("anamneflag", "string");
  1449. }
  1450. if (utlf_isNull(ds_main_CartOrdData_ListInstrument.getColumnInfo("deliveyn"))) {
  1451. ds_main_CartOrdData_ListInstrument.addColumn("deliveyn", "string");
  1452. }
  1453. if (utlf_isNull(ds_main_CartOrdData_ListInstrument.getColumnInfo("goodcrflag"))) {
  1454. ds_main_CartOrdData_ListInstrument.addColumn("goodcrflag", "string");
  1455. }
  1456. if (utlf_isNull(ds_main_CartOrdData_ListOpsupply.getColumnInfo("deliveyn"))) {
  1457. ds_main_CartOrdData_ListOpsupply.addColumn("deliveyn", "string");
  1458. }
  1459. if (utlf_isNull(ds_main_CartOrdData_ListOpsupply.getColumnInfo("goodcrflag"))) {
  1460. ds_main_CartOrdData_ListOpsupply.addColumn("goodcrflag", "string");
  1461. }
  1462. if (utlf_isNull(ds_main_CartOrdData_ListDiposit.getColumnInfo("rtnqty"))) {
  1463. ds_main_CartOrdData_ListDiposit.addColumn("rtnqty", "string");
  1464. }
  1465. if (utlf_isNull(ds_main_CartOrdData_ListSupplies.getColumnInfo("rtnqty"))) {
  1466. ds_main_CartOrdData_ListSupplies.addColumn("rtnqty", "string");
  1467. }
  1468. if (utlf_isNull(ds_main_CartOrdData_ListDrug.getColumnInfo("rtnqty"))) {
  1469. ds_main_CartOrdData_ListDrug.addColumn("rtnqty", "string");
  1470. }
  1471. if (utlf_isNull(ds_main_CartOrdData_ListSupplies.getColumnInfo("signno"))) {
  1472. ds_main_CartOrdData_ListSupplies.addColumn("signno", "string");
  1473. }
  1474. if (utlf_isNull(ds_main_CartOrdData_ListDrug.getColumnInfo("signno"))) {
  1475. ds_main_CartOrdData_ListDrug.addColumn("signno", "string");
  1476. }
  1477. if (utlf_isNull(ds_main_CartOrdData_ListInstrument.getColumnInfo("signno"))) {
  1478. ds_main_CartOrdData_ListInstrument.addColumn("signno", "string");
  1479. }
  1480. if (utlf_isNull(ds_main_CartOrdData_ListOpsupply.getColumnInfo("signno"))) {
  1481. ds_main_CartOrdData_ListOpsupply.addColumn("signno", "string");
  1482. }
  1483. if (utlf_isNull(ds_main_CartOrdData_ListDiposit.getColumnInfo("signno"))) {
  1484. ds_main_CartOrdData_ListDiposit.addColumn("signno", "string");
  1485. }
  1486. if (utlf_isNull(ds_main_CartOrdData_ListSupplies.getColumnInfo("listodd"))) {
  1487. ds_main_CartOrdData_ListSupplies.addColumn("listodd", "string");
  1488. }
  1489. if (utlf_isNull(ds_main_CartOrdData_ListDrug.getColumnInfo("listodd"))) {
  1490. ds_main_CartOrdData_ListDrug.addColumn("listodd", "string");
  1491. }
  1492. if (utlf_isNull(ds_main_CartOrdData_ListInstrument.getColumnInfo("listodd"))) {
  1493. ds_main_CartOrdData_ListInstrument.addColumn("listodd", "string");
  1494. }
  1495. if (utlf_isNull(ds_main_CartOrdData_ListOpsupply.getColumnInfo("listodd"))) {
  1496. ds_main_CartOrdData_ListOpsupply.addColumn("listodd", "string");
  1497. }
  1498. if (utlf_isNull(ds_main_CartOrdData_ListDiposit.getColumnInfo("listodd"))) {
  1499. ds_main_CartOrdData_ListDiposit.addColumn("listodd", "string");
  1500. }
  1501. if (utlf_isNull(ds_main_CartOrdData_ListSupplies.getColumnInfo("spcmtodd"))) {
  1502. ds_main_CartOrdData_ListSupplies.addColumn("spcmtodd", "string");
  1503. }
  1504. if (utlf_isNull(ds_main_CartOrdData_ListDrug.getColumnInfo("spcmtodd"))) {
  1505. ds_main_CartOrdData_ListDrug.addColumn("spcmtodd", "string");
  1506. }
  1507. if (utlf_isNull(ds_main_CartOrdData_ListInstrument.getColumnInfo("spcmtodd"))) {
  1508. ds_main_CartOrdData_ListInstrument.addColumn("spcmtodd", "string");
  1509. }
  1510. if (utlf_isNull(ds_main_CartOrdData_ListOpsupply.getColumnInfo("spcmtodd"))) {
  1511. ds_main_CartOrdData_ListOpsupply.addColumn("spcmtodd", "string");
  1512. }
  1513. if (utlf_isNull(ds_main_CartOrdData_ListDiposit.getColumnInfo("spcmtodd"))) {
  1514. ds_main_CartOrdData_ListDiposit.addColumn("spcmtodd", "string");
  1515. }
  1516. dsf_setDefaultVal(ds_main_CartOrdData_ListSutures, "subcretno:0");
  1517. dsf_setDefaultVal(ds_main_CartOrdData_ListSupplies, "subcretno:0,prcpdelivefact:-");
  1518. dsf_setDefaultVal(ds_main_CartOrdData_ListDrug, "subcretno:0");
  1519. dsf_setDefaultVal(ds_main_CartOrdData_ListInstrument, "subcretno:0");
  1520. dsf_setDefaultVal(ds_main_CartOrdData_ListCurecode, "subcretno:0");
  1521. dsf_setDefaultVal(ds_main_CartOrdData_ListOpsupply, "subcretno:0");
  1522. dsf_setDefaultVal(ds_main_CartOrdData_ListDiposit, "subcretno:0");
  1523. for (var i = 0; i < ds_main_CartOrdData_ListDiposit.rowcount; i++) {
  1524. if (ds_main_CartOrdData_ListDiposit.getColumn(i, "anamneflag") == "Y") {
  1525. ds_main_CartOrdData_ListDiposit.setColumn(i, "anamneflag", "1");
  1526. } else {
  1527. ds_main_CartOrdData_ListDiposit.setColumn(i, "anamneflag", "0");
  1528. }
  1529. }
  1530. for (var i = 0; i < ds_main_CartOrdData_ListSupplies.rowcount; i++) {
  1531. if (ds_main_CartOrdData_ListSupplies.getColumn(i, "erprcpflag") == "Y") {
  1532. ds_main_CartOrdData_ListSupplies.setColumn(i, "erprcpflag", "1");
  1533. } else {
  1534. ds_main_CartOrdData_ListSupplies.setColumn(i, "erprcpflag", "0");
  1535. }
  1536. if (ds_main_CartOrdData_ListSupplies.getColumn(i, "anamneflag") == "Y") {
  1537. ds_main_CartOrdData_ListSupplies.setColumn(i, "anamneflag", "1");
  1538. } else {
  1539. ds_main_CartOrdData_ListSupplies.setColumn(i, "anamneflag", "0");
  1540. }
  1541. }
  1542. for (var i = 0; i < ds_main_CartOrdData_ListDrug.rowcount; i++) {
  1543. if (ds_main_CartOrdData_ListDrug.getColumn(i, "anamneflag") == "Y") {
  1544. ds_main_CartOrdData_ListDrug.setColumn(i, "anamneflag", "1");
  1545. } else {
  1546. ds_main_CartOrdData_ListDrug.setColumn(i, "anamneflag", "0");
  1547. }
  1548. }
  1549. for (var i = 0; i < ds_main_CartOrdData_ListInstrument.rowcount; i++) {
  1550. if (ds_main_CartOrdData_ListInstrument.getColumn(i, "anamneflag") == "Y") {
  1551. ds_main_CartOrdData_ListInstrument.setColumn(i, "anamneflag", "1");
  1552. } else {
  1553. ds_main_CartOrdData_ListInstrument.setColumn(i, "anamneflag", "0");
  1554. }
  1555. }
  1556. for (var i = 0; i < ds_main_CartOrdData_ListOpsupply.rowcount; i++) {
  1557. if (ds_main_CartOrdData_ListOpsupply.getColumn(i, "anamneflag") == "Y") {
  1558. ds_main_CartOrdData_ListOpsupply.setColumn(i, "anamneflag", "1");
  1559. } else {
  1560. ds_main_CartOrdData_ListOpsupply.setColumn(i, "anamneflag", "0");
  1561. }
  1562. }
  1563. //2008-08-18 오후 10:14:47 taebum 약/주사 처방일 경우 조회된 내역의 복용방법 컬럼 read-only 상태 처리
  1564. var iDrugCnt = ds_main_CartOrdData_ListDrug.rowcount;
  1565. //2008-10-03 오후 11:21:49 taebum 약/주사 처방일 경우 확정 처방저장을 하였을 경우에만 용법을 read-only상태처리
  1566. var CartStat = ds_init_WorkData_cond.getColumn(0, "cartstat");
  1567. if (iDrugCnt > 0) {
  1568. var sExprColor = "EXPR(";
  1569. var sExprColor2 = "EXPR(";
  1570. var sExprEdit1 = "expr:";
  1571. var sExprBack1 = "EXPR(";
  1572. var sExprBorder1 = "EXPR(";
  1573. var sExprEdit2 = "expr:";
  1574. var sExprEdit3 = "expr:";
  1575. for (var i = 0; i < iDrugCnt; i++) {
  1576. if (ds_main_CartOrdData_ListDrug.getColumn(i, "addinfoflag") == "★") {
  1577. sExprColor += "currow == " + i + " ? '#FF0000' : ";
  1578. } else if (ds_main_CartOrdData_ListDrug.getColumn(i, "addinfoflag") == "☆") {
  1579. sExprColor += "currow == " + i + " ? '#000000' : ";
  1580. } else if (ds_main_CartOrdData_ListDrug.getColumn(i, "addinfoflag") == "●") {
  1581. sExprColor += "currow == " + i + " ? '#0000FF' : ";
  1582. } else {
  1583. sExprColor += "currow == " + i + " ? '#000000' : ";
  1584. }
  1585. if (ds_main_CartOrdData_ListDrug.getColumn(i, "deleteyn") == "X") {
  1586. sExprEdit1 += "currow == " + i + " ? 'none' : ";
  1587. sExprBack1 += "currow == " + i + " ? 'silver' : ";
  1588. sExprBorder1 += "currow == " + i + " ? '1 solid #708090cc' : ";
  1589. ds_main_CartOrdData_ListDrug.setColumn(i, "colEdittype13", "none");
  1590. //sExprEdit2 += "currow == " + i + " ? 'none' : ";
  1591. sExprEdit3 += "currow == " + i + " ? 'none' : ";
  1592. } else {
  1593. //if(CartStat >= "5"){
  1594. //grd_drug.isReadOnly(i, grd_drug.colRef("delcheck"), i, grd_drug.colRef("reqmthd")) = false;
  1595. //grd_drug.isReadOnly(i, grd_drug.colRef("drugmthdspccd")) = true; //용법 read-only 처리
  1596. //}
  1597. if (CartStat >= "5") {
  1598. ds_main_CartOrdData_ListDrug.setColumn(i, "colEdittype13", "none");
  1599. //sExprEdit2 += "currow == " + i + " ? 'none' : ";
  1600. }
  1601. }
  1602. if (ds_main_CartOrdData_ListDrug.getColumn(i, "expnyn") == "●") {
  1603. sExprColor2 += "currow == " + i + " ? '#fee580' : ";
  1604. } else {
  1605. sExprColor2 += "currow == " + i + " ? '#000000' : ";
  1606. //grd_drug.cellstyle("color", i, grd_drug.colRef("expnyn"), i, grd_drug.colRef("expnyn")) = "#000000";
  1607. }
  1608. //2009-03-10 YCD 급여정보는 콤보선택으로 수정할 수 없도록 처리함
  1609. //20110629 wify 경북대 저장된처방은 기왕증유무 변경할수 없음.
  1610. // if(grd_drug.valueMatrix(i,grd_drug.colRef("prcpno")) > 0 ){
  1611. // // grd_drug.isReadOnly(i, grd_drug.colRef("anamneflag"), i, grd_drug.colRef("anamneflag"))= true;
  1612. // }
  1613. }
  1614. sExprColor += "'')";
  1615. sExprColor2 += "'')";
  1616. sExprEdit1 += "'checkbox'";
  1617. sExprBack1 += "'')";
  1618. sExprBorder1 += "'')";
  1619. sExprEdit2 += "'combo'";
  1620. sExprEdit3 += "'masknumber'";
  1621. group3.grp_ord.switch1.case3.grd_drug.setCellProperty("Body", 3, "color", sExprColor);
  1622. group3.grp_ord.switch1.case3.grd_drug.setCellProperty("Body", 3, "color2", sExprColor);
  1623. group3.grp_ord.switch1.case3.grd_drug.setCellProperty("Body", 3, "selectcolor", sExprColor);
  1624. group3.grp_ord.switch1.case3.grd_drug.setCellProperty("Body", 5, "color", sExprColor2);
  1625. group3.grp_ord.switch1.case3.grd_drug.setCellProperty("Body", 5, "color2", sExprColor2);
  1626. group3.grp_ord.switch1.case3.grd_drug.setCellProperty("Body", 5, "selectcolor", sExprColor2);
  1627. group3.grp_ord.switch1.case3.grd_drug.setCellProperty("Body", 1, "edittype", sExprEdit1);
  1628. group3.grp_ord.switch1.case3.grd_drug.setCellProperty("Body", 20, "edittype", sExprEdit1);
  1629. group3.grp_ord.switch1.case3.grd_drug.setCellProperty("Body", 1, "controlbackground", sExprBack1);
  1630. group3.grp_ord.switch1.case3.grd_drug.setCellProperty("Body", 20, "controlbackground", sExprBack1);
  1631. group3.grp_ord.switch1.case3.grd_drug.setCellProperty("Body", 1, "controlborder", sExprBorder1);
  1632. group3.grp_ord.switch1.case3.grd_drug.setCellProperty("Body", 20, "controlborder", sExprBorder1);
  1633. //group3.grp_ord.switch1.case3.grd_drug.setCellProperty("Body", 13, "edittype", sExprEdit2); //yjh1(13)
  1634. group3.grp_ord.switch1.case3.grd_drug.setCellProperty("Body", 17, "edittype", sExprEdit3);
  1635. }
  1636. //2008-09-05 오후 8:38:53 taebum 삭제일 경우 disable 되도록 처리함.
  1637. var iTmpCnt = ds_main_CartOrdData_ListSupplies.rowcount;
  1638. if (iTmpCnt > 0) {
  1639. var sExprColor = "EXPR(";
  1640. var sExprColor2 = "EXPR(";
  1641. var sExprEdit1 = "expr:";
  1642. var sExprBack1 = "EXPR(";
  1643. var sExprBorder1 = "EXPR(";
  1644. var sExprEdit2 = "expr:";
  1645. var sExprEdit3 = "expr:";
  1646. // var sExprEdit4 = "expr:";
  1647. // var sExprBack4 = "EXPR(";
  1648. // var sExprBorder4 = "EXPR(";
  1649. // for( var i=0 ; i<ds_main_CartOrdData_ListSupplies.rowcount ; i++ ){
  1650. // ds_main_CartOrdData_ListSupplies.setColumn(i, "colEdittype9", "combo");
  1651. // }
  1652. for (var i = 0; i < iTmpCnt; i++) {
  1653. if (ds_main_CartOrdData_ListSupplies.getColumn(i, "addinfoflag") == "★") {
  1654. sExprColor += "currow == " + i + " ? '#FF0000' : ";
  1655. } else if (ds_main_CartOrdData_ListSupplies.getColumn(i, "addinfoflag") == "☆") {
  1656. sExprColor += "currow == " + i + " ? '#000000' : ";
  1657. } else if (ds_main_CartOrdData_ListSupplies.getColumn(i, "addinfoflag") == "●") {
  1658. sExprColor += "currow == " + i + " ? '#0000FF' : ";
  1659. } else {
  1660. sExprColor += "currow == " + i + " ? '#000000' : ";
  1661. }
  1662. if (ds_main_CartOrdData_ListSupplies.getColumn(i, "deleteyn") == "X") {
  1663. sExprEdit1 += "currow == " + i + " ? 'none' : ";
  1664. sExprBack1 += "currow == " + i + " ? 'silver' : ";
  1665. sExprBorder1 += "currow == " + i + " ? '1 solid #708090cc' : ";
  1666. ds_main_CartOrdData_ListSupplies.setColumn(i, "colEdittype9", "none");
  1667. //sExprEdit2 += "currow == " + i + " ? 'none' : ";
  1668. sExprEdit3 += "currow == " + i + " ? 'none' : ";
  1669. // sExprEdit4 += "currow == " + i + " ? 'none' : ";
  1670. // sExprBack4 += "currow == " + i + " ? 'silver' : ";
  1671. // sExprBorder4 += "currow == " + i + " ? '1 solid #708090cc' : ";
  1672. ds_main_CartOrdData_ListSupplies.setColumn(i, "colEdit21", "none");
  1673. ds_main_CartOrdData_ListSupplies.setColumn(i, "colBack21", "silver");
  1674. ds_main_CartOrdData_ListSupplies.setColumn(i, "colBorder21", "1 solid #708090cc");
  1675. } else {
  1676. //grd_supplies.isReadOnly(i, grd_supplies.colRef("delcheck"), i, grd_supplies.colRef("reqmthd")) = false;
  1677. if (ds_main_CartOrdData_ListSupplies.getColumn(i, "prcpclscd") != "M2" || ds_main_CartOrdData_ListSupplies.getColumn(i, "prcpno") > 0 || ds_main_CartOrdData_ListSupplies.getColumn(i, "goodcrflag") != "E") {
  1678. //sExprEdit4 += "currow == " + i + " ? 'none' : ";
  1679. ds_main_CartOrdData_ListSupplies.setColumn(i, "colEdit21", "none");
  1680. ds_main_CartOrdData_ListSupplies.setColumn(i, "colBack21", "silver");
  1681. ds_main_CartOrdData_ListSupplies.setColumn(i, "colBorder21", "1 solid #708090cc");
  1682. }
  1683. // else{
  1684. // ds_main_CartOrdData_ListSupplies.setColumn(i, "colEdit21", "checkbox");
  1685. // ds_main_CartOrdData_ListSupplies.setColumn(i, "colBack21", "");
  1686. // ds_main_CartOrdData_ListSupplies.setColumn(i, "colBorder21", "");
  1687. // }
  1688. }
  1689. if (ds_main_CartOrdData_ListSupplies.getColumn(i, "expnyn") == "●") {
  1690. sExprColor2 += "currow == " + i + " ? '#fee580' : ";
  1691. }
  1692. //2009-03-10 YCD 급여정보는 콤보선택으로 수정할 수 없도록 처리함
  1693. //20110325 이선경(경북대) : 재료(물품)처방 외엔 응급체크 Disable = True
  1694. //20110328 이선경(경북대) : 저장된 처방은 응급처방체크 변경할수 없음
  1695. //20110407 이선경(경북대) : 저장된 처방중에도 임시처방이 아닌 경우만 비활성화
  1696. //20110407 이선경(경북대) : 저장된 처방중에도 임시처방이 아닌 경우 또는 추가처방이 아닌경우는 비활성화
  1697. //20110629 wify 경북대 : 저장된 처방은 기왕증유무 변경할수 없음
  1698. }
  1699. sExprColor += "'')";
  1700. sExprColor2 += "'')";
  1701. sExprEdit1 += "'checkbox'";
  1702. sExprBack1 += "'')";
  1703. sExprBorder1 += "'')";
  1704. sExprEdit2 += "'combo'";
  1705. sExprEdit3 += "'masknumber'";
  1706. // sExprEdit4 += "'checkbox'";
  1707. // sExprBack4 += "'')";
  1708. // sExprBorder4 += "'')";
  1709. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 3, "color", sExprColor);
  1710. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 3, "color2", sExprColor);
  1711. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 3, "selectcolor", sExprColor);
  1712. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 5, "color", sExprColor2);
  1713. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 5, "color2", sExprColor2);
  1714. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 5, "selectcolor", sExprColor2);
  1715. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 1, "edittype", sExprEdit1);
  1716. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 22, "edittype", sExprEdit1);
  1717. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 1, "controlbackground", sExprBack1);
  1718. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 22, "controlbackground", sExprBack1);
  1719. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 1, "controlborder", sExprBorder1);
  1720. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 22, "controlborder", sExprBorder1);
  1721. //group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 9, "edittype", sExprEdit2); //yjh1(9, 24)
  1722. // group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 21, "edittype", sExprEdit4);
  1723. // group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 21, "controlbackground", sExprBack4);
  1724. // group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 21, "controlborder", sExprBorder4);
  1725. group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 18, "edittype", sExprEdit3);
  1726. }
  1727. //2008-09-05 오후 8:38:53 taebum 삭제일 경우 disable 되도록 처리함.
  1728. //iTmpCnt = getNodesetCount("/root/main/CartOrdData/ListCurecode");
  1729. iTmpCnt = ds_main_CartOrdData_ListDiposit.rowcount;
  1730. if (iTmpCnt > 0) {
  1731. var sExprColor = "EXPR(";
  1732. var sExprColor2 = "EXPR(";
  1733. var sExprEdit1 = "expr:";
  1734. var sExprBack1 = "EXPR(";
  1735. var sExprBorder1 = "EXPR(";
  1736. var sExprEdit2 = "expr:";
  1737. var sExprEdit3 = "expr:";
  1738. var sExprEdit4 = "expr:";
  1739. for (var i = 0; i < iTmpCnt; i++) {
  1740. if (ds_main_CartOrdData_ListDiposit.getColumn(i, "addinfoflag") == "★") {
  1741. sExprColor += "currow == " + i + " ? '#FF0000' : ";
  1742. } else if (ds_main_CartOrdData_ListDiposit.getColumn(i, "addinfoflag") == "☆") {
  1743. sExprColor += "currow == " + i + " ? '#000000' : ";
  1744. } else if (ds_main_CartOrdData_ListDiposit.getColumn(i, "addinfoflag") == "●") {
  1745. sExprColor += "currow == " + i + " ? '#0000FF' : ";
  1746. } else {
  1747. sExprColor += "currow == " + i + " ? '#000000' : ";
  1748. //grd_diposit.cellstyle("color", i, grd_diposit.colRef("addinfoflag"), i, grd_diposit.colRef("addinfoflag")) = "#000000";
  1749. }
  1750. if (ds_main_CartOrdData_ListDiposit.getColumn(i, "deleteyn") == "X") {
  1751. sExprEdit1 += "currow == " + i + " ? 'none' : ";
  1752. sExprBack1 += "currow == " + i + " ? 'silver' : ";
  1753. sExprBorder1 += "currow == " + i + " ? '1 solid #708090cc' : ";
  1754. sExprEdit2 += "currow == " + i + " ? 'none' : ";
  1755. sExprEdit3 += "currow == " + i + " ? 'none' : ";
  1756. sExprEdit4 += "currow == " + i + " ? 'none' : ";
  1757. } else {
  1758. //grd_diposit.isReadOnly(i, grd_diposit.colRef("delcheck"), i, grd_diposit.colRef("reqmthd")) = false;
  1759. }
  1760. if (ds_main_CartOrdData_ListDiposit.getColumn(i, "expnyn") == "●") {
  1761. sExprColor2 += "currow == " + i + " ? '#fee580' : ";
  1762. //grd_diposit.cellstyle("color", i, grd_diposit.colRef("expnyn"), i, grd_diposit.colRef("expnyn")) = "#fee580";
  1763. }
  1764. //2009-03-10 YCD 급여정보는 콤보선택으로 수정할 수 없도록 처리함
  1765. //grd_diposit.isReadOnly(i, grd_diposit.colRef("payflagcd"), i, grd_diposit.colRef("payflagcd"))= true;
  1766. //20110629 wify 경북대 저장된처방은 기왕증유무 변경할수 없음.
  1767. // if(grd_diposit.valueMatrix(i,grd_diposit.colRef("prcpno")) > 0 ){
  1768. // // grd_diposit.isReadOnly(i, grd_diposit.colRef("anamneflag"), i, grd_diposit.colRef("anamneflag"))= true;
  1769. // }
  1770. }
  1771. //grd_diposit.refresh(); grd_diposit -> grd_diposit 변경
  1772. sExprColor += "'')";
  1773. sExprColor2 += "'')";
  1774. sExprEdit1 += "'checkbox'";
  1775. sExprBack1 += "'')";
  1776. sExprBorder1 += "'')";
  1777. sExprEdit2 += "'combo'";
  1778. sExprEdit3 += "'masknumber'";
  1779. sExprEdit4 += "'text'";
  1780. group3.grp_ord.switch1.case3.grd_diposit.setCellProperty("Body", 3, "color", sExprColor);
  1781. group3.grp_ord.switch1.case3.grd_diposit.setCellProperty("Body", 3, "color2", sExprColor);
  1782. group3.grp_ord.switch1.case3.grd_diposit.setCellProperty("Body", 3, "selectcolor", sExprColor);
  1783. group3.grp_ord.switch1.case3.grd_diposit.setCellProperty("Body", 5, "color", sExprColor2);
  1784. group3.grp_ord.switch1.case3.grd_diposit.setCellProperty("Body", 5, "color2", sExprColor2);
  1785. group3.grp_ord.switch1.case3.grd_diposit.setCellProperty("Body", 5, "selectcolor", sExprColor2);
  1786. group3.grp_ord.switch1.case3.grd_diposit.setCellProperty("Body", 1, "edittype", sExprEdit1);
  1787. group3.grp_ord.switch1.case3.grd_diposit.setCellProperty("Body", 21, "edittype", sExprEdit1);
  1788. group3.grp_ord.switch1.case3.grd_diposit.setCellProperty("Body", 1, "controlbackground", sExprBack1);
  1789. group3.grp_ord.switch1.case3.grd_diposit.setCellProperty("Body", 21, "controlbackground", sExprBack1);
  1790. group3.grp_ord.switch1.case3.grd_diposit.setCellProperty("Body", 1, "controlborder", sExprBorder1);
  1791. group3.grp_ord.switch1.case3.grd_diposit.setCellProperty("Body", 21, "controlborder", sExprBorder1);
  1792. //group3.grp_ord.switch1.case3.grd_diposit.setCellProperty("Body", 9, "edittype", sExprEdit2);
  1793. group3.grp_ord.switch1.case3.grd_diposit.setCellProperty("Body", 17, "edittype", sExprEdit4);
  1794. group3.grp_ord.switch1.case3.grd_diposit.setCellProperty("Body", 18, "edittype", sExprEdit3);
  1795. }
  1796. //2008-09-05 오후 8:38:53 taebum 삭제일 경우 disable 되도록 처리함.
  1797. iTmpCnt = ds_main_CartOrdData_ListInstrument.rowcount;
  1798. if (iTmpCnt > 0) {
  1799. var sExprColor = "EXPR(";
  1800. var sExprColor2 = "EXPR(";
  1801. var sExprEdit1 = "expr:";
  1802. var sExprBack1 = "EXPR(";
  1803. var sExprBorder1 = "EXPR(";
  1804. var sExprEdit2 = "expr:";
  1805. var sExprEdit3 = "expr:";
  1806. var sExprEdit4 = "expr:";
  1807. var sExprBack = "EXPR(";
  1808. var sExprBack2 = "EXPR(";
  1809. for (var i = 0; i < iTmpCnt; i++) {
  1810. if (ds_main_CartOrdData_ListInstrument.getColumn(i, "addinfoflag") == "★") {
  1811. sExprColor += "currow == " + i + " ? '#FF0000' : ";
  1812. } else if (ds_main_CartOrdData_ListInstrument.getColumn(i, "addinfoflag") == "☆") {
  1813. sExprColor += "currow == " + i + " ? '#000000' : ";
  1814. } else if (ds_main_CartOrdData_ListInstrument.getColumn(i, "addinfoflag") == "●") {
  1815. sExprColor += "currow == " + i + " ? '#0000FF' : ";
  1816. } else {
  1817. sExprColor += "currow == " + i + " ? '#000000' : ";
  1818. }
  1819. if (ds_main_CartOrdData_ListInstrument.getColumn(i, "deleteyn") == "X") {
  1820. sExprEdit1 += "currow == " + i + " ? 'none' : ";
  1821. sExprBack1 += "currow == " + i + " ? 'silver' : ";
  1822. sExprBorder1 += "currow == " + i + " ? '1 solid #708090cc' : ";
  1823. sExprEdit2 += "currow == " + i + " ? 'none' : ";
  1824. sExprEdit3 += "currow == " + i + " ? 'none' : ";
  1825. sExprEdit4 += "currow == " + i + " ? 'none' : ";
  1826. } else {
  1827. //grd_instrument.isReadOnly(i, grd_instrument.colRef("delcheck"), i, grd_instrument.colRef("reqmthd")) = false;
  1828. if (ds_main_CartOrdData_ListInstrument.getColumn(i, "deliveyn") == "Y") {
  1829. sExprEdit4 += "currow == " + i + " ? 'none' : ";
  1830. }
  1831. }
  1832. if (ds_main_CartOrdData_ListInstrument.getColumn(i, "expnyn") == "●") {
  1833. sExprColor2 += "currow == " + i + " ? '#fee580' : ";
  1834. } else {
  1835. sExprColor2 += "currow == " + i + " ? '#000000' : ";
  1836. //grd_instrument.cellstyle("color", i, grd_instrument.colRef("expnyn"), i, grd_instrument.colRef("expnyn")) = "#000000";
  1837. }
  1838. //2009-03-10 YCD 급여정보는 콤보선택으로 수정할 수 없도록 처리함(Instrument는 급여 선택 필요없음)
  1839. //grd_instrument.isReadOnly(i, grd_instrument.colRef("payflagcd"), i, grd_instrument.colRef("payflagcd"))= true;
  1840. //grd_instrument.isReadOnly(i, grd_instrument.colRef("goodcrflag"), i, grd_instrument.colRef("goodcrflag"))= true;
  1841. if (ds_main_CartOrdData_ListInstrument.getColumn(i, "goodcrflag") == "S") {
  1842. sExprBack += "currow == " + i + " ? '#FFFFFF' : ";
  1843. sExprBack2 += "currow == " + i + " ? '#ccffcc' : ";
  1844. } else {
  1845. if (ds_main_CartOrdData_ListInstrument.getColumn(i, "deliveyn") == "N") {
  1846. sExprBack += "currow == " + i + " ? '#FF0000' : ";
  1847. sExprBack2 += "currow == " + i + " ? '#FFFFFF' : ";
  1848. } else {
  1849. sExprBack += "currow == " + i + " ? '#FFFFFF' : ";
  1850. sExprBack2 += "currow == " + i + " ? '#FFFFFF' : ";
  1851. }
  1852. }
  1853. //20110629 wify 경북대 저장된처방은 기왕증유무 변경할수 없음.
  1854. // if(grd_instrument.valueMatrix(i,grd_instrument.colRef("prcpno")) > 0 ){
  1855. // grd_instrument.isReadOnly(i, grd_instrument.colRef("anamneflag"), i, grd_instrument.colRef("anamneflag"))= true;
  1856. // }
  1857. }
  1858. sExprColor += "'')";
  1859. sExprColor2 += "'')";
  1860. sExprEdit1 += "'checkbox'";
  1861. sExprBack1 += "'')";
  1862. sExprBorder1 += "'')";
  1863. sExprEdit2 += "'combo'";
  1864. sExprEdit3 += "'masknumber'";
  1865. sExprEdit4 += "'text'";
  1866. sExprBack += "'')";
  1867. sExprBack2 += "'')";
  1868. group3.grp_ord.switch1.case4.grd_instrument.setCellProperty("Body", 3, "color", sExprColor);
  1869. group3.grp_ord.switch1.case4.grd_instrument.setCellProperty("Body", 3, "color2", sExprColor);
  1870. group3.grp_ord.switch1.case4.grd_instrument.setCellProperty("Body", 3, "selectcolor", sExprColor);
  1871. group3.grp_ord.switch1.case4.grd_instrument.setCellProperty("Body", 5, "color", sExprColor2);
  1872. group3.grp_ord.switch1.case4.grd_instrument.setCellProperty("Body", 5, "color2", sExprColor2);
  1873. group3.grp_ord.switch1.case4.grd_instrument.setCellProperty("Body", 5, "selectcolor", sExprColor2);
  1874. group3.grp_ord.switch1.case4.grd_instrument.setCellProperty("Body", 1, "edittype", sExprEdit1);
  1875. group3.grp_ord.switch1.case4.grd_instrument.setCellProperty("Body", 1, "controlbackground", sExprBack1);
  1876. group3.grp_ord.switch1.case4.grd_instrument.setCellProperty("Body", 1, "controlborder", sExprBorder1);
  1877. group3.grp_ord.switch1.case4.grd_instrument.setCellProperty("Body", 19, "edittype", sExprEdit1);
  1878. group3.grp_ord.switch1.case4.grd_instrument.setCellProperty("Body", 9, "edittype", sExprEdit2);
  1879. group3.grp_ord.switch1.case4.grd_instrument.setCellProperty("Body", 16, "edittype", sExprEdit4);
  1880. group3.grp_ord.switch1.case4.grd_instrument.setCellProperty("Body", 4, "background", sExprBack);
  1881. group3.grp_ord.switch1.case4.grd_instrument.setCellProperty("Body", 4, "background2", sExprBack);
  1882. group3.grp_ord.switch1.case4.grd_instrument.setCellProperty("Body", 16, "background", sExprBack2);
  1883. group3.grp_ord.switch1.case4.grd_instrument.setCellProperty("Body", 16, "background2", sExprBack2);
  1884. group3.grp_ord.switch1.case4.grd_instrument.setCellProperty("Body", 15, "edittype", sExprEdit3);
  1885. }
  1886. //2008-09-05 오후 8:38:53 taebum 삭제일 경우 disable 되도록 처리함.
  1887. iTmpCnt = ds_main_CartOrdData_ListOpsupply.rowcount;
  1888. if (iTmpCnt > 0) {
  1889. var sExprColor = "EXPR(";
  1890. var sExprColor2 = "EXPR(";
  1891. var sExprEdit1 = "expr:";
  1892. var sExprBack1 = "EXPR(";
  1893. var sExprBorder1 = "EXPR(";
  1894. var sExprEdit2 = "expr:";
  1895. var sExprEdit3 = "expr:";
  1896. var sExprEdit4 = "expr:";
  1897. var sExprBack = "EXPR(";
  1898. var sExprBack2 = "EXPR(";
  1899. for (var i = 0; i < iTmpCnt; i++) {
  1900. if (ds_main_CartOrdData_ListOpsupply.getColumn(i, "addinfoflag") == "★") {
  1901. sExprColor += "currow == " + i + " ? '#FF0000' : ";
  1902. } else if (ds_main_CartOrdData_ListOpsupply.getColumn(i, "addinfoflag") == "☆") {
  1903. sExprColor += "currow == " + i + " ? '#000000' : ";
  1904. } else if (ds_main_CartOrdData_ListOpsupply.getColumn(i, "addinfoflag") == "●") {
  1905. sExprColor += "currow == " + i + " ? '#0000FF' : ";
  1906. } else {
  1907. sExprColor += "currow == " + i + " ? '#000000' : ";
  1908. }
  1909. if (ds_main_CartOrdData_ListOpsupply.getColumn(i, "deleteyn") == "X") {
  1910. sExprEdit1 += "currow == " + i + " ? 'none' : ";
  1911. sExprBack1 += "currow == " + i + " ? 'silver' : ";
  1912. sExprBorder1 += "currow == " + i + " ? '1 solid #708090cc' : ";
  1913. sExprEdit2 += "currow == " + i + " ? 'none' : ";
  1914. sExprEdit3 += "currow == " + i + " ? 'none' : ";
  1915. sExprEdit4 += "currow == " + i + " ? 'none' : ";
  1916. } else {
  1917. if (ds_main_CartOrdData_ListOpsupply.getColumn(i, "deliveyn") == "Y") {
  1918. sExprEdit4 += "currow == " + i + " ? 'none' : ";
  1919. }
  1920. }
  1921. if (ds_main_CartOrdData_ListOpsupply.getColumn(i, "expnyn") == "●") {
  1922. sExprColor2 += "currow == " + i + " ? '#fee580' : ";
  1923. } else {
  1924. sExprColor2 += "currow == " + i + " ? '#000000' : ";
  1925. //grd_opsupply.cellstyle("color", i, grd_opsupply.colRef("expnyn"), i, grd_opsupply.colRef("expnyn")) = "#000000";
  1926. }
  1927. //2009-03-10 YCD 급여정보는 콤보선택으로 수정할 수 없도록 처리함(Instrument는 급여 선택 필요없음)
  1928. //grd_opsupply.isReadOnly(i, grd_opsupply.colRef("payflagcd"), i, grd_opsupply.colRef("payflagcd"))= true;
  1929. //grd_opsupply.isReadOnly(i, grd_opsupply.colRef("goodcrflag"), i, grd_opsupply.colRef("goodcrflag"))= true;
  1930. if (ds_main_CartOrdData_ListOpsupply.getColumn(i, "goodcrflag") == "S") {
  1931. sExprBack += "currow == " + i + " ? '#FFFFFF' : ";
  1932. sExprBack2 += "currow == " + i + " ? '#ccffcc' : ";
  1933. } else {
  1934. if (ds_main_CartOrdData_ListOpsupply.getColumn(i, "deliveyn") == "N") {
  1935. sExprBack += "currow == " + i + " ? '#FF0000' : ";
  1936. sExprBack2 += "currow == " + i + " ? '#FFFFFF' : ";
  1937. } else {
  1938. sExprBack += "currow == " + i + " ? '#FFFFFF' : ";
  1939. sExprBack2 += "currow == " + i + " ? '#FFFFFF' : ";
  1940. }
  1941. }
  1942. //20110629 wify 경북대 저장된처방은 기왕증유무 변경할수 없음.
  1943. // if(grd_opsupply.valueMatrix(i,grd_opsupply.colRef("prcpno")) > 0 ){
  1944. // grd_opsupply.isReadOnly(i, grd_opsupply.colRef("anamneflag"), i, grd_opsupply.colRef("anamneflag"))= true;
  1945. // }
  1946. }
  1947. sExprColor += "'')";
  1948. sExprColor2 += "'')";
  1949. sExprEdit1 += "'checkbox'";
  1950. sExprBack1 += "''";
  1951. sExprBorder1 += "''";
  1952. sExprEdit2 += "'combo'";
  1953. sExprEdit3 += "'masknumber'";
  1954. sExprEdit4 += "'text'";
  1955. sExprBack += "'')";
  1956. sExprBack2 += "'')";
  1957. group3.grp_ord.switch1.case4.grd_opsupply.setCellProperty("Body", 3, "color", sExprColor);
  1958. group3.grp_ord.switch1.case4.grd_opsupply.setCellProperty("Body", 3, "color2", sExprColor);
  1959. group3.grp_ord.switch1.case4.grd_opsupply.setCellProperty("Body", 3, "selectcolor", sExprColor);
  1960. group3.grp_ord.switch1.case4.grd_opsupply.setCellProperty("Body", 5, "color", sExprColor2);
  1961. group3.grp_ord.switch1.case4.grd_opsupply.setCellProperty("Body", 5, "color2", sExprColor2);
  1962. group3.grp_ord.switch1.case4.grd_opsupply.setCellProperty("Body", 5, "selectcolor", sExprColor2);
  1963. group3.grp_ord.switch1.case4.grd_opsupply.setCellProperty("Body", 1, "edittype", sExprEdit1);
  1964. group3.grp_ord.switch1.case4.grd_opsupply.setCellProperty("Body", 1, "controlbackground", sExprBack1);
  1965. group3.grp_ord.switch1.case4.grd_opsupply.setCellProperty("Body", 1, "controlborder", sExprBorder1);
  1966. group3.grp_ord.switch1.case4.grd_opsupply.setCellProperty("Body", 19, "edittype", sExprEdit1);
  1967. group3.grp_ord.switch1.case4.grd_opsupply.setCellProperty("Body", 9, "edittype", sExprEdit2);
  1968. group3.grp_ord.switch1.case4.grd_opsupply.setCellProperty("Body", 16, "edittype", sExprEdit4);
  1969. group3.grp_ord.switch1.case4.grd_opsupply.setCellProperty("Body", 4, "background", sExprBack);
  1970. group3.grp_ord.switch1.case4.grd_opsupply.setCellProperty("Body", 4, "background2", sExprBack);
  1971. group3.grp_ord.switch1.case4.grd_opsupply.setCellProperty("Body", 16, "background", sExprBack2);
  1972. group3.grp_ord.switch1.case4.grd_opsupply.setCellProperty("Body", 16, "background2", sExprBack2);
  1973. group3.grp_ord.switch1.case4.grd_opsupply.setCellProperty("Body", 15, "edittype", sExprEdit3);
  1974. }
  1975. }
  1976. // --------------------------------------------------
  1977. // 수술방별 안전재고와 재고량 내역 조회
  1978. // --------------------------------------------------
  1979. function fMnprdrugData_Read() {
  1980. trace("fMnprdrugData_Read()");
  1981. var RoomPath = ds_main_MnprdrugLists_mnprdruglist;
  1982. RoomPath.clearData();
  1983. ds_send.setColumn(0, "instcd", ds_init.getColumn(0, "instcd")); // 기관코드
  1984. ds_send.setColumn(0, "goodcd", ds_init_WorkData_InputGood.getColumn(0, "goodcd")); // 물품코드
  1985. ds_send.setColumn(0, "allsizespecid", ds_init_WorkData_InputGood.getColumn(0, "allsizespecid")); // ALLSIZE규격ID
  1986. ds_send.setColumn(0, "ordseq", ds_init_WorkData_InputGood.getColumn(0, "ordseq")); // 처방순번
  1987. ds_send.setColumn(0, "oprsrvno", eval(gPathNode[6]).getColumn(0, "oprsrvno")); // 수술예약(의뢰)번호
  1988. ds_send.setColumn(0, "cartgubn", ds_init_WorkData_cond.getColumn(0, "cartgubn"));
  1989. // model.makeValue("/root/send/oproomcd" , model.getValue(gPathNode[6] + "/oproomcd")); // 수술방
  1990. // 2009-03-04 ycd 삭제처리
  1991. //bbt_other.disabled = true;
  1992. var oParam = {};
  1993. oParam.id = "TRMNP01802";
  1994. oParam.service = "opanstapp.OpAnstCCrtGoodMngt";
  1995. oParam.method = "reqGetMnprdrugList";
  1996. oParam.inds = "req=ds_send";
  1997. oParam.outds = "ds_main_MnprdrugLists_mnprdruglist=mnprdruglist ds_main_MnprdrugLists_mnphcruslist=mnphcruslist";
  1998. oParam.async = false;
  1999. oParam.callback = "cf_TRMNP01802";
  2000. tranf_submit(oParam);
  2001. if (utlf_isNull(ds_main_MnprdrugLists_mnprdruglist.getColumnInfo("deptflag"))) {
  2002. ds_main_MnprdrugLists_mnprdruglist.addColumn("deptflag", "string");
  2003. }
  2004. if (arErrorCode.pop("TRMNP01802") > -1) { // 수술예약정보를 가져온다.
  2005. if (RoomPath.rowcount > 0) {
  2006. // 2009-03-04 ycd 삭제처리
  2007. //bbt_other.disabled = false;
  2008. }
  2009. }
  2010. var RoomData = fRoomQtyCheck();
  2011. ds_init_WorkData_InputGood.setColumn(0, "roomdata", fRoomQtyCheck());
  2012. }
  2013. function cf_TRMNP01802(sSvcId, nErrorCode, sErrorMsg) {
  2014. arErrorCode.push(sSvcId, nErrorCode);
  2015. }
  2016. //
  2017. // 수술방별 안전재고와 재고량 내역 합하기
  2018. //
  2019. function fRoomQtyCheck() {
  2020. trace("fRoomQtyCheck()");
  2021. var RoomDisp = "";
  2022. var RoomData = "";
  2023. var DrugPath = "/root/main/MnprdrugLists";
  2024. var xNode = ds_main_MnprdrugLists_mnprdruglist;
  2025. var nLen = 0;
  2026. if (!utlf_isNull(xNode)) {
  2027. nLen = (xNode.rowcount == 0) ? 1 : xNode.rowcount;
  2028. }
  2029. var dRoomCd = eval(gPathNode[6]).getColumn(0, "oproomcd"); // 수술방
  2030. var DrugNode = ds_main_MnprdrugLists_mnprdruglist;
  2031. for (var i = 0; i < nLen; i++) {
  2032. if (DrugNode.getColumn(i, "oproomcd") == dRoomCd) {
  2033. // model.setValue("/root/init/WorkData/InputGood/stocqty",model.getValue(DrugNode + "["+i+"]/stocqty"));
  2034. DrugNode.deleteRow(i);
  2035. } else {
  2036. RoomDisp = DrugNode.getColumn(i, "oproomnm") + " [" +
  2037. DrugNode.getColumn(i, "stocqty") + " / " +
  2038. DrugNode.getColumn(i, "safestocqty") + "] ";
  2039. // model.setValue(DrugNode + "["+i+"]/dispnm", RoomDisp);
  2040. RoomData += RoomDisp;
  2041. }
  2042. }
  2043. return RoomData;
  2044. }
  2045. //
  2046. function fDeleteCheck(pIdx, pRow) {
  2047. trace("fDeleteCheck()");
  2048. var wCartPath = eval(gPathNode[8] + tPathCart[pIdx]);
  2049. if (wCartPath.getColumn(pRow, "deleteyn") == 'X') {
  2050. alert("삭제된 처방입니다!!");
  2051. wCartPath.setColumn(pRow, "delcheck", "0");
  2052. }
  2053. }
  2054. // 물품 추가 Check
  2055. function fGoodClick(pIdx, pGrid) {
  2056. trace("fGoodClick()");
  2057. var pRow = pGrid.currentrow;
  2058. var GoodNode = ds_init_WorkData_InputGood;
  2059. var objDsGrid = eval(pGrid.binddataset);
  2060. // var wCartPath = gPathNode[8]+"/"+tPathCart[pIdx]+ "[" + (pRow) +"]";
  2061. wGoodCd = objDsGrid.getColumn(pRow, "goodcd");
  2062. wGoodSz = objDsGrid.getColumn(pRow, "allsizespecid");
  2063. //2008-09-21 오후 3:02:14 taebum 해당 seq에 대한 물품 정보 조회하도록 변경.
  2064. var sTmpOrdseq = objDsGrid.getColumn(pRow, "ordseq");
  2065. var wCartPath = eval(gPathNode[8] + tPathCart[pIdx]);
  2066. var nRow = wCartPath.findRowExpr("goodcd=='" + wGoodCd + "' && allsizespecid=='" + wGoodSz + "' && ordseq=='" + sTmpOrdseq + "'");
  2067. // alert(wGoodCd+"==>"+model.getValue(wCartPath2+"/goodengnm"));
  2068. GoodNode.setColumn(0, "oprsrvno", wCartPath.getColumn(nRow, "oprsrvno")); // 01 수술예약(의뢰)번호 (년도 + 일련번호)
  2069. GoodNode.setColumn(0, "cartgubn", wCartPath.getColumn(nRow, "cartgubn")); // 02 Cart구분 (O:수술,A:마취)
  2070. GoodNode.setColumn(0, "ordseq", wCartPath.getColumn(nRow, "ordseq")); // 03 처방순번
  2071. GoodNode.setColumn(0, "instcd", wCartPath.getColumn(nRow, "instcd")); // 04 병원기관코드(코드정의서 Z0007 참조)
  2072. GoodNode.setColumn(0, "goodcd", wCartPath.getColumn(nRow, "goodcd")); // 05 물품코드
  2073. GoodNode.setColumn(0, "allsizespecid", wCartPath.getColumn(nRow, "allsizespecid")); // 06 ALLSIZE규격ID
  2074. GoodNode.setColumn(0, "goodcls", wCartPath.getColumn(nRow, "goodcls")); // 07 물품구분 1:Sutures,2:Supplies,3:Drug,4:Instrument,5:처치처방,6:수술소모품
  2075. GoodNode.setColumn(0, "goodqty", wCartPath.getColumn(nRow, "goodqty")); // 08 물품수량
  2076. GoodNode.setColumn(0, "addreductqty", wCartPath.getColumn(nRow, "addreductqty")); // 09 가감수량
  2077. GoodNode.setColumn(0, "payflagcd", wCartPath.getColumn(nRow, "payflagcd")); // 10 급여구분코드 (코드정의서 M0029 참조)
  2078. GoodNode.setColumn(0, "oproomcd", wCartPath.getColumn(nRow, "oproomcd")); // 11 수술실코드
  2079. GoodNode.setColumn(0, "prcpdd", wCartPath.getColumn(nRow, "prcpdd")); // 12 처방일자
  2080. GoodNode.setColumn(0, "prcpno", wCartPath.getColumn(nRow, "prcpno")); // 13 처방일자별 일련번호
  2081. GoodNode.setColumn(0, "prcphistno", wCartPath.getColumn(nRow, "prcphistno")); // 14 처방이력생할때 마다 생성 (처방일자, 처방번호, 기관코드 기준)
  2082. GoodNode.setColumn(0, "pid", wCartPath.getColumn(nRow, "pid")); // 15 등록번호
  2083. GoodNode.setColumn(0, "saveqty", wCartPath.getColumn(nRow, "saveqty")); // 16 변경Check 수량 (물품수량 + 가감수량)
  2084. GoodNode.setColumn(0, "outqty", wCartPath.getColumn(nRow, "outqty")); // 17 변경할 수량 (물품수량 + 가감수량)
  2085. GoodNode.setColumn(0, "goodengnm", wCartPath.getColumn(nRow, "goodengnm")); // 18 물품(처방)명
  2086. GoodNode.setColumn(0, "goodspec", wCartPath.getColumn(nRow, "goodspec")); // 19 규격명
  2087. GoodNode.setColumn(0, "prodcmpynm", wCartPath.getColumn(nRow, "prodcmpynm")); // 20 제조사
  2088. GoodNode.setColumn(0, "goodmodel", wCartPath.getColumn(nRow, "goodmodel")); // 21 모델
  2089. GoodNode.setColumn(0, "prcpunit", wCartPath.getColumn(nRow, "prcpunit")); // 22 단위
  2090. GoodNode.setColumn(0, "deliveunit", wCartPath.getColumn(nRow, "deliveunit")); // 22-1 단위
  2091. GoodNode.setColumn(0, "oproomnm", wCartPath.getColumn(nRow, "oproomnm")); // 23 수술실명
  2092. GoodNode.setColumn(0, "oproomdeptcd", wCartPath.getColumn(nRow, "oproomdeptcd")); // 24 수술실부서코드
  2093. GoodNode.setColumn(0, "recflag", wCartPath.getColumn(nRow, "recflag")); // 25 U:수정,I:입력구분
  2094. GoodNode.setColumn(0, "drugmthdspccd", wCartPath.getColumn(nRow, "drugmthdspccd")); // 28 투여방법 및 검체코드
  2095. // 29 재고량
  2096. GoodNode.setColumn(0, "acmlbaseqty", wCartPath.getColumn(nRow, "acmlbaseqty")); // 30 기준수량
  2097. GoodNode.setColumn(0, "prcpclscd", wCartPath.getColumn(nRow, "prcpclscd")); // 31 처방구분
  2098. GoodNode.setColumn(0, "reqmthd", wCartPath.getColumn(nRow, "reqmthd")); // 32 청구방법
  2099. // 33 처방발행구분(S : 정규, E : 응급 )
  2100. GoodNode.setColumn(0, "purcflag", wCartPath.getColumn(nRow, "purcflag")); // 34 구매구분
  2101. // model.setValue(GoodNode + "/recflagnm" , model.getValue(wCartPath + "/recflagnm" )); // 추가구분명 추
  2102. //2008-07-16 오후 3:33:40 taebum 보험단가, 보험정보, 사용구분, 입고구분, 청구방법 추가.
  2103. GoodNode.setColumn(0, "limresn", wCartPath.getColumn(nRow, "limresn")); // limresn
  2104. GoodNode.setColumn(0, "insucost", wCartPath.getColumn(nRow, "insucost")); // insucost
  2105. GoodNode.setColumn(0, "useflagnm", wCartPath.getColumn(nRow, "useflagnm")); // useflagnm
  2106. GoodNode.setColumn(0, "winflagnm", wCartPath.getColumn(nRow, "winflagnm")); // winflagnm
  2107. GoodNode.setColumn(0, "reqmthdnm", wCartPath.getColumn(nRow, "reqmthdnm")); // reqmthdnm
  2108. GoodNode.setColumn(0, "goodpurccost", wCartPath.getColumn(nRow, "goodpurccost")); // 구입단가
  2109. GoodNode.setColumn(0, "prcpunit", wCartPath.getColumn(nRow, "prcpunit")); // 처방단위
  2110. GoodNode.setColumn(0, "calcscorcd", wCartPath.getColumn(nRow, "calcscorcd")); // 수가코드
  2111. GoodNode.setColumn(0, "reqprid", wCartPath.getColumn(nRow, "reqprid")); // 청구주기
  2112. //2009-03-04 YCD 추가 사항
  2113. GoodNode.setColumn(0, "edicd", wCartPath.getColumn(nRow, "edicd")); // EDI코드
  2114. GoodNode.setColumn(0, "oldcd", wCartPath.getColumn(nRow, "oldcd")); // 구코드
  2115. GoodNode.setColumn(0, "insupynpy1", wCartPath.getColumn(nRow, "insupynpy1")); // 급여구분
  2116. GoodNode.setColumn(0, "setplceordflag", wCartPath.getColumn(nRow, "setplceordflag")); // SET처방
  2117. GoodNode.setColumn(0, "prcpqty", wCartPath.getColumn(nRow, "prcpqty")); // 처방수량
  2118. GoodNode.setColumn(0, "deliveqty", wCartPath.getColumn(nRow, "deliveqty")); // 청구수량
  2119. GoodNode.setColumn(0, "calcyn", wCartPath.getColumn(nRow, "calcyn")); // 수가여부
  2120. GoodNode.setColumn(0, "mngtflag", wCartPath.getColumn(nRow, "mngtflag")); // set여부
  2121. GoodNode.setColumn(0, "bothaddrate", wCartPath.getColumn(nRow, "bothaddrate")); // 최소처방
  2122. GoodNode.setColumn(0, "goodunitcost", wCartPath.getColumn(nRow, "goodunitcost")); // 구매단가
  2123. GoodNode.setColumn(0, "old_payflagcd", wCartPath.getColumn(nRow, "payflagcd")); // 10 급여구분코드 (코드정의서 M0029 참조)
  2124. GoodNode.setColumn(0, "calculyn", wCartPath.getColumn(nRow, "calculyn")); // 산정여부
  2125. GoodNode.setColumn(0, "todd", wCartPath.getColumn(nRow, "todd")); // 처방종료
  2126. GoodNode.setColumn(0, "listodd", wCartPath.getColumn(nRow, "listodd")); // 진료지원종료
  2127. GoodNode.setColumn(0, "spcmtodd", wCartPath.getColumn(nRow, "spcmtodd")); // 진검종료
  2128. GoodNode.setColumn(0, "goodinfo", wCartPath.getColumn(nRow, "goodinfo")); // 물품정보
  2129. GoodNode.setColumn(0, "prcpinfo", wCartPath.getColumn(nRow, "prcpinfo")); // 처방정보
  2130. //2009-03-04 ycd 삭제처리
  2131. //inp_good.currentText = model.getValue(wCartPath +"/goodcd"); // 물품코드
  2132. //model.setValue(GoodNode + "/goodcd" , model.getValue(wCartPath + "/goodcd" )); // 물품코드
  2133. fMnprdrugData_Read(); //수술방별 안전재고와 재고량 내역 조회
  2134. //grp_good.refresh();
  2135. }
  2136. /**
  2137. *
  2138. * 수술마취 약속처방에서 추가 버튼을 눌렀을 경우 이벤트
  2139. * @ param : pSendData
  2140. * goodcd + "▥" + allsizespecid + "▥" + goodcls + "▥" + goodqty + "▥" + payflagcd + "▥" +
  2141. * goodqty + "▥" + goodengnm + "▥" + goodspec + "▥" + makernm + "▥" + goodmodel + "▥" +
  2142. * deliveunit + "▥" + drugmthdspccd + "▧" ;
  2143. * @ 2008-08-21 오전 4:11:17 taebum STOCQTY(해당 수술방에 대한 실재고량) 추가
  2144. */
  2145. function fNurseOrderMake(pSendData) {
  2146. trace("fNurseOrderMake()");
  2147. //fReSrchOpState(); // 수술진행상태 재조회 + 버튼 컨트로 처리
  2148. var vOprsrvno = sOprsXpath.getColumn(0, "oprsrvno"); // 01 수술예약(의뢰)번호 (년도 + 일련번호)
  2149. //2008-08-02 오후 6:25:12 taebum add 회복은 수술카트 사용
  2150. //var vCartgubn = model.getValue("/root/init/WorkData/cond/cartgubn"); // 02 Cart구분 (O:수술,A:마취, R:회복) //이전
  2151. var tempCartGb = ds_init_WorkData_cond.getColumn(0, "cartgubn");
  2152. /*
  2153. //2008-08-18 오후 1:22:56 taebum 기존처럼 R로 처리
  2154. if(tempCartGb == "R"){
  2155. tempCartGb = "O";
  2156. }
  2157. */
  2158. //2008-10-28 오후 5:16:21 taebum add 카트상태 추가
  2159. var sTmpCartstat = ds_init_WorkData_cond.getColumn(0, "cartstat");
  2160. var vCartgubn = tempCartGb; // 02 Cart구분 (O:수술,A:마취, R:회복)
  2161. var vOrdseq = ""; // 03 처방순번
  2162. var vInstcd = sOprsXpath.getColumn(0, "instcd"); // 04 병원기관코드(코드정의서 Z0007 참조)
  2163. var vGoodcd = ""; // goodcd // 05 물품코드
  2164. var vAllsizespecid = ""; // allsizespecid // 06 ALLSIZE규격ID
  2165. var vGoodcls = ""; // goodcls // 07 물품구분 1:Sutures,2:Supplies,3:Drug,4:Instrument,5:처치처방,6:수술소모품
  2166. var vGoodqty = "0"; // 08 물품수량
  2167. //2008-09-06 오후 2:23:05 taebum
  2168. var vAddreductqty = "0"; // goodqty vAddreductqty ""에서 "0"으로 변경 // 09 가감수량
  2169. var vPayflagcd = ""; // payflagcd // 10 급여구분코드 (코드정의서 M0029 참조)
  2170. var vOproomcd = sOprsXpath.getColumn(0, "oproomcd"); // 11 수술실코드
  2171. var vPrcpdd = ""; // 12 처방일자
  2172. var vPrcpno = "0"; // 13 처방일자별 일련번호
  2173. var vPrcphistno = "0"; // 14 처방이력생할때 마다 생성 (처방일자, 처방번호, 기관코드 기준)
  2174. var vPid = sOprsXpath.getColumn(0, "pid"); // 15 등록번호
  2175. var vSaveqty = "0"; // 16 변경Check 수량 (물품수량 + 가감수량)
  2176. var vOutqty = ""; // goodqty // 17 변경할 수량 (물품수량 + 가감수량)
  2177. var vGoodengnm = ""; // goodengnm // 18 물품(처방)명
  2178. var vGoodspec = ""; // goodspec // 19 규격명
  2179. var vProdcmpynm = ""; // makernm // 20 제조사
  2180. var vGoodmodel = ""; // goodmodel // 21 모델
  2181. var vDeliveunit = ""; // deliveunit // 22 단위
  2182. //2009-04-14 ycd 전역별수로 설정
  2183. //var vOproomnm = model.getValue(sOprsXpath +"/oproomnm" ); // 23 수술실명
  2184. var vOproomdeptcd = sOprsXpath.getColumn(0, "oproomdeptcd"); // 24 수술실부서코드
  2185. var vRecflag = "I"; // 25 U:수정,I:입력구분
  2186. var vRecflagnm = ""; // 26 추가구분명 추
  2187. var vDrugmthdspccd = ""; //drugmthdspccd // 28 투여방법 및 검체코드
  2188. var vStocqty = ""; // 29 재고수량
  2189. var vAcmlbaseqty = ""; // 30 기준수량
  2190. var vPrcpclscd = ""; // 처방분류코드
  2191. var vReqmthd = ""; // 청구방법
  2192. var vPurcflag = ""; // 구매구분
  2193. var vCalculyn = ""; // 산정여부
  2194. var vInsuyn = ""; // 수가대상여부
  2195. var vCalcscorcd = ""; // 수가코드
  2196. var sTmp2Cartgubn = ds_init_WorkData_cond.getColumn(0, "cartgubn");
  2197. var vGoodCrFlag = "E";
  2198. // var vAnamneFlag = "";
  2199. // var vSubCretNo = "";
  2200. var vErbgcd = "";
  2201. var cGrupcd = "";
  2202. if (group3.grp_ord.bbt_tSave.enable == true) {
  2203. vGoodCrFlag = "S";
  2204. }
  2205. //20181002 이돈희 : 의뢰상태에서 임시저장시 각 카트의 GOODCRFLAG가 E 가 되어, 중앙공급실에서 불출시에 ccol로 복사 안되는 현상 수정
  2206. if (group3.grp_ord.btn_tempcart.enable == true) {
  2207. vGoodCrFlag = "S";
  2208. }
  2209. if (!utlf_isNull(pSendData)) {
  2210. var aRowParamArr = utlf_transNullToEmpty(pSendData).split("▧");
  2211. var sInsertXpath = "";
  2212. var sTempCartXpathCnt = "";
  2213. if (aRowParamArr.length > 0) {
  2214. for (var j = 0; j < aRowParamArr.length; j++) {
  2215. var aColParamArr = utlf_transNullToEmpty(aRowParamArr[j]).split("▥");
  2216. if (!utlf_isNull(aColParamArr[0])) { //물품코드
  2217. vGoodcd = aColParamArr[0]; // goodcd
  2218. vAllsizespecid = aColParamArr[1]; // allsizespecid
  2219. vGoodcls = aColParamArr[2]; // goodcls
  2220. vGoodqty = "0"; // goodqty
  2221. vPayflagcd = aColParamArr[4]; // payflagcd
  2222. vOutqty = aColParamArr[3]; // goodqty
  2223. vGoodengnm = aColParamArr[6]; // goodengnm
  2224. vGoodspec = aColParamArr[7]; // goodspec
  2225. vProdcmpynm = aColParamArr[8]; // makernm
  2226. vGoodmodel = aColParamArr[9]; // goodmodel
  2227. vDeliveunit = aColParamArr[10]; // deliveunit 처방단위
  2228. //drugmthdspccd 는 aColParamArr[11] 로 넘기고 있음.
  2229. vStocqty = aColParamArr[12]; // 재고량
  2230. vAcmlbaseqty = aColParamArr[13]; // 기준수량
  2231. vPrcpclscd = aColParamArr[14]; // 처방구분
  2232. vReqmthd = aColParamArr[15]; // 청구방법
  2233. vPurcflag = aColParamArr[16]; // 구매구분
  2234. vCalculyn = aColParamArr[17]; // 산정여부
  2235. vInsuyn = aColParamArr[18]; // 수가대상여부
  2236. vCalcscorcd = aColParamArr[19]; // 수가코드
  2237. vGrupcd = aColParamArr[20]; // 그룹코드
  2238. // vAnamneflag = aColParamArr[21]; // 그룹코드
  2239. // vSubCretNo = aColParamArr[22]; // 그룹코드
  2240. vErbgcd = aColParamArr[23]; // 응급CCD BAG 번호
  2241. /* 2009-03-05 YCD 삭제처리
  2242. sTempCartXpathCnt = vGoodcls;
  2243. if(sTempCartXpathCnt == ""){
  2244. sTempCartXpathCnt = "1";
  2245. }
  2246. */
  2247. // 2009-03-05 YCD 물품 세팅 변경으로 인하여 세팅 노드 변경 처리
  2248. sTempCartXpathCnt = fChngNodeValue(vGoodcls, vPurcflag);
  2249. sInsertXpath = eval("ds_main_CartOrdData_" + tPathCart[sTempCartXpathCnt]);
  2250. var tGood = eval("ds_init_WorkData_" + tPathCart[sTempCartXpathCnt]);
  2251. var xNode = tGood;
  2252. if (xNode.rowcount == 0) {
  2253. tGood.addRow();
  2254. tGood.copyRow(0, GoodCopy, 0);
  2255. }
  2256. //data setValue
  2257. //node copy
  2258. xNode = tGood;
  2259. if (xNode.rowcount == 0) {
  2260. if (eval(gPathNode[8] + tPathCart[sTempCartXpathCnt]).rowcount == 0) {
  2261. eval(gPathNode[8] + tPathCart[sTempCartXpathCnt]).addRow();
  2262. }
  2263. eval(gPathNode[8] + tPathCart[sTempCartXpathCnt]).copyRow(0, tGood, 0);
  2264. if( (gPathNode[8] + tPathCart[sTempCartXpathCnt]) == "ds_main_CartOrdData_ListSupplies" ){//처치/행위/물품 그리드
  2265. eval(gPathNode[8] + tPathCart[sTempCartXpathCnt]).setColumn(0, "colEdittype9", "combo");//그룹
  2266. eval(gPathNode[8] + tPathCart[sTempCartXpathCnt]).setColumn(0, "colEdit21", "checkbox");//응급
  2267. eval(gPathNode[8] + tPathCart[sTempCartXpathCnt]).setColumn(0, "colBack21", "");
  2268. eval(gPathNode[8] + tPathCart[sTempCartXpathCnt]).setColumn(0, "colBorder21", "");
  2269. eval(gPathNode[8] + tPathCart[sTempCartXpathCnt]).setColumn(0, "colEdittype24", "combo");//급비
  2270. }else if( (gPathNode[8] + tPathCart[sTempCartXpathCnt]) == "ds_main_CartOrdData_ListDrug" ){//Drug 그리드
  2271. eval(gPathNode[8] + tPathCart[sTempCartXpathCnt]).setColumn(0, "colEdittype13", "combo");//용법
  2272. }
  2273. } else {
  2274. //기존에 등록되어 있는지 확인하고, 상태가 I일 경우에는 return 한다.
  2275. var iRowCnt = sInsertXpath.rowcount;
  2276. var bInsertFlag = false;
  2277. for (var k = 0; k < iRowCnt; k++) {
  2278. var sTempRecflag = eval(gPathNode[8] + tPathCart[sTempCartXpathCnt]).getColumn(k, "recflag");
  2279. var sTempGoodcd = eval(gPathNode[8] + tPathCart[sTempCartXpathCnt]).getColumn(k, "goodcd");
  2280. var sTempSize = eval(gPathNode[8] + tPathCart[sTempCartXpathCnt]).getColumn(k, "allsizespecid");
  2281. if (sTempRecflag == "I" && sTempGoodcd == vGoodcd && sTempSize == vAllsizespecid) {
  2282. /*
  2283. var addOutqty = parseInt(model.getValue(gPathNode[8]+"/"+tPathCart[sTempCartXpathCnt]+"["+k+"]/outqty"))+parseInt(vAddreductqty);
  2284. model.setValue(gPathNode[8]+"/"+tPathCart[sTempCartXpathCnt]+"["+k+"]/outqty", addOutqty);
  2285. */
  2286. bInsertFlag = true;
  2287. }
  2288. }
  2289. //2008-10-03 오후 11:42:31 taebum 중복 처방 발생시 알림 처리
  2290. if (bInsertFlag == true) {
  2291. if (sysf_messageBox(vGoodcd + "는 중복된 처방입니다. ", "Q008") != 6) {
  2292. sysf_messageBox("취소 되었습니다.", "I000");
  2293. bInsertFlag = true;
  2294. } else {
  2295. bInsertFlag = false;
  2296. }
  2297. }
  2298. if (bInsertFlag == false) {
  2299. if (sTmpCartstat == "-" || sTmpCartstat == "1" || sTmpCartstat == "2") {
  2300. vGoodqty = vGoodqty;
  2301. } else {
  2302. vGoodqty = "0";
  2303. }
  2304. //data insert
  2305. tGood.setColumn(0, "oprsrvno", vOprsrvno); // 01 수술예약(의뢰)번호 (년도 + 일련번호)
  2306. tGood.setColumn(0, "cartgubn", vCartgubn); // 02 Cart구분 (O:수술,A:마취)
  2307. tGood.setColumn(0, "ordseq", vOrdseq); // 03 처방순번
  2308. tGood.setColumn(0, "instcd", vInstcd); // 04 병원기관코드(코드정의서 Z0007 참조)
  2309. tGood.setColumn(0, "goodcd", vGoodcd); // 05 물품코드
  2310. tGood.setColumn(0, "allsizespecid", vAllsizespecid); // 06 ALLSIZE규격ID
  2311. tGood.setColumn(0, "goodcls", vGoodcls); // 07 물품구분 1:Sutures,2:Supplies,3:Drug,4:Instrument,5:처치처방,6:수술소모품
  2312. tGood.setColumn(0, "goodqty", vGoodqty); // 08 물품수량
  2313. tGood.setColumn(0, "addreductqty", "0"); // 09 가감수량
  2314. tGood.setColumn(0, "payflagcd", vPayflagcd); // 10 급여구분코드 (코드정의서 M0029 참조)
  2315. tGood.setColumn(0, "oproomcd", vOproomcd); // 11 수술실코드
  2316. tGood.setColumn(0, "prcpdd", vPrcpdd); // 12 처방일자
  2317. tGood.setColumn(0, "prcpno", vPrcpno); // 13 처방일자별 일련번호
  2318. tGood.setColumn(0, "prcphistno", vPrcphistno); // 14 처방이력생할때 마다 생성 (처방일자, 처방번호, 기관코드 기준)
  2319. tGood.setColumn(0, "pid", vPid); // 15 등록번호
  2320. tGood.setColumn(0, "saveqty", vSaveqty); // 16 변경Check 수량 (물품수량 + 가감수량)
  2321. tGood.setColumn(0, "outqty", vOutqty); // 17 변경할 수량 (물품수량 + 가감수량)
  2322. //model.setValue(tGood + "/outqty" , "0" ); // 17 변경할 수량 (물품수량 + 가감수량)
  2323. tGood.setColumn(0, "goodengnm", vGoodengnm); // 18 물품(처방)명
  2324. tGood.setColumn(0, "goodspec", vGoodspec); // 19 규격명
  2325. tGood.setColumn(0, "prodcmpynm", vProdcmpynm); // 20 제조사
  2326. tGood.setColumn(0, "goodmodel", vGoodmodel); // 21 모델
  2327. //model.setValue(tGood + "/deliveunit" , vDeliveunit ); // 22 단위
  2328. tGood.setColumn(0, "prcpunit", vDeliveunit); // 22 단위
  2329. tGood.setColumn(0, "oproomnm", vOproomnm); // 23 수술실명
  2330. tGood.setColumn(0, "oproomdeptcd", vOproomdeptcd); // 24 수술실부서코드
  2331. tGood.setColumn(0, "recflag", vRecflag); // 25 U:수정,I:입력구분
  2332. tGood.setColumn(0, "drugmthdspccd", vDrugmthdspccd); // 28 투여방법 및 검체코드
  2333. tGood.setColumn(0, "stocqty", vStocqty); // 29 재고량
  2334. tGood.setColumn(0, "acmlbaseqty", vAcmlbaseqty); // 30 기준수량
  2335. tGood.setColumn(0, "prcpclscd", vPrcpclscd); // 31 처방구분
  2336. tGood.setColumn(0, "reqmthd", vReqmthd); // 32 청구방법
  2337. // 2009-03-09 ycd 추가 (정규, 응급 구분)
  2338. tGood.setColumn(0, "goodcrflag", vGoodCrFlag); // 33 처방발행구분(S : 정규, E : 응급 )
  2339. tGood.setColumn(0, "purcflag", vPurcflag); // 34 구매구분
  2340. tGood.setColumn(0, "old_payflagcd", vPayflagcd); // 10 급여구분코드 (코드정의서 M0029 참조)
  2341. tGood.setColumn(0, "calculyn", vCalculyn); // 산정여부
  2342. tGood.setColumn(0, "insuyn", vInsuyn); // 수가대상여부
  2343. tGood.setColumn(0, "calcscorcd", vCalcscorcd); // 수가코드
  2344. tGood.setColumn(0, "todd", "99991231"); // 종료일자
  2345. tGood.setColumn(0, "listodd", "99991231"); // 종료일자
  2346. tGood.setColumn(0, "spcmtodd", "99991231"); // 종료일자
  2347. tGood.setColumn(0, "grupcd", vGrupcd);
  2348. tGood.setColumn(0, "anamneflag", "0"); // 기왕증유무
  2349. tGood.setColumn(0, "subcretno", "0"); // 부유형
  2350. tGood.setColumn(0, "erbgcd", vErbgcd); // 응급CCD Bag번호
  2351. var nRow = eval(gPathNode[8] + tPathCart[sTempCartXpathCnt]).addRow();
  2352. eval(gPathNode[8] + tPathCart[sTempCartXpathCnt]).copyRow(nRow, tGood, 0);
  2353. if( (gPathNode[8] + tPathCart[sTempCartXpathCnt]) == "ds_main_CartOrdData_ListSupplies" ){ //yjh2
  2354. eval(gPathNode[8] + tPathCart[sTempCartXpathCnt]).setColumn(nRow, "colEdittype9", "combo");
  2355. eval(gPathNode[8] + tPathCart[sTempCartXpathCnt]).setColumn(nRow, "colEdit21", "checkbox");
  2356. eval(gPathNode[8] + tPathCart[sTempCartXpathCnt]).setColumn(nRow, "colBack21", "");
  2357. eval(gPathNode[8] + tPathCart[sTempCartXpathCnt]).setColumn(nRow, "colBorder21", "");
  2358. eval(gPathNode[8] + tPathCart[sTempCartXpathCnt]).setColumn(nRow, "colEdittype24", "combo");
  2359. }else if( (gPathNode[8] + tPathCart[sTempCartXpathCnt]) == "ds_main_CartOrdData_ListDrug" ){
  2360. eval(gPathNode[8] + tPathCart[sTempCartXpathCnt]).setColumn(nRow, "colEdittype13", "combo");
  2361. }
  2362. }
  2363. }
  2364. }
  2365. }
  2366. for (var k = 0; k < 5; k++) {
  2367. for( var i=0 ; i<eval(eval(sGridNm[k]).binddataset).rowcount ; i++ ){
  2368. eval(eval(sGridNm[k]).binddataset).selectRow(i, false);
  2369. }
  2370. eval(eval(sGridNm[k]).binddataset).selectRow(eval(eval(sGridNm[k]).binddataset).rowcount - 1);
  2371. eval(eval(sGridNm[k]).binddataset).rowposition = eval(eval(sGridNm[k]).binddataset).rowcount - 1;
  2372. }
  2373. //2009-03-05 YCD 삭제처리
  2374. //grd_sutures.refresh(); // 1 봉합사
  2375. //grd_supplies.refresh(); // 2 공급물품
  2376. //grd_drug.refresh(); // 3 약재료
  2377. //grd_instrument.refresh(); // 4 기구
  2378. //grd_diposit.refresh(); // 7 가납물품
  2379. //grd_opsupply.refresh(); // 6 수술소모품
  2380. }
  2381. //20110418 이선경(경북대) : 정규처방이면 응급처방구분은 비활성화
  2382. if (vGoodCrFlag == "S") {
  2383. for (var idx = (group3.grp_ord.switch1.case3.grd_supplies.rowcount - aRowParamArr.length - 1); idx < group3.grp_ord.switch1.case3.grd_supplies.rowcount; idx++) {
  2384. ds_main_CartOrdData_ListSupplies.setColumn(idx, "colEdit21", "none");
  2385. ds_main_CartOrdData_ListSupplies.setColumn(idx, "colBack21", "silver");
  2386. ds_main_CartOrdData_ListSupplies.setColumn(idx, "colBorder21", "1 solid #708090cc");
  2387. }
  2388. }
  2389. }
  2390. }
  2391. /*
  2392. // 2008-07-29 오후 5:45:56 taebum PopUp으로 UI 전면 수정요청으로 주석 처리함.
  2393. // 물품 추가 Check
  2394. function fCopyGood(pCls, pIdx){
  2395. var sIdx = 1;
  2396. var DataList = "/mnphcagolist" + "*"
  2397. + "/orddeptcd" + "*"
  2398. + "/mmbhppdslist" ;
  2399. var dList = DataList.split("*") ;
  2400. var GoodCd = "";
  2401. var sNode = instance1.selectSingleNode(gPathNode[pIdx]);
  2402. if (sNode == null) {
  2403. messageBox("Cart물품이 ", "I004");
  2404. return;
  2405. }
  2406. var nIdx = sNode.childNodes.length;
  2407. var cNode = gPathNode[pIdx] + dList[pIdx];
  2408. for (n = 1; n <= nIdx; n++) {
  2409. CagoNode = cNode + "["+ n + "]";
  2410. GoodCd = model.getValue(CagoNode +"/goodcd" );
  2411. sIdx = model.getValue(CagoNode +"/goodcls" );
  2412. if (sIdx == "") {
  2413. sIdx = 1;
  2414. }
  2415. if (fCheckGoodCd(sIdx, GoodCd)) {
  2416. GoodNode = "/root/init/WorkData/"+tPathCart[sIdx];
  2417. //iCartNode = gPathNode[8]+"/"+tPathCart[cIdx]; , /root/main/CartOrdData/ListSutures
  2418. if (pCls == "C") {
  2419. if (model.getValue(CagoNode+"/fcheck")=="true") {
  2420. fNodeDuplicate(sIdx, GoodNode, CagoNode, GoodCopy);
  2421. eval("grd_"+tNameCart[sIdx]).refresh();
  2422. }
  2423. } else {
  2424. fNodeDuplicate(sIdx, GoodNode, CagoNode, GoodCopy);
  2425. eval("grd_"+tNameCart[sIdx]).refresh();
  2426. }
  2427. }
  2428. } // -- End Of for (n = 1; n <= nIdx; n++) --
  2429. // grd_sutures.refresh(); // 1 봉합사
  2430. // grd_supplies.refresh(); // 2 공급물품
  2431. // grd_drug.refresh(); // 3 약재료
  2432. // grd_instrument.refresh(); // 4 기구
  2433. // grd_diposit.refresh(); // 5 처치
  2434. // grd_opsupply.refresh(); // 6 수술소모품
  2435. // eval("grd_"+tNameCart[sIdx]).refresh();
  2436. }
  2437. */
  2438. //
  2439. // 물품 중복 Check
  2440. //
  2441. function fCheckGoodCd(cIdx, pGood) {
  2442. trace("fCheckGoodCd()");
  2443. var GoodCd = "";
  2444. var GoodChk = true;
  2445. // model.setValue("/root/init/WorkData/InputGood/goodidx", "");
  2446. iCartNode = gPathNode[8] + tPathCart[cIdx];
  2447. iNode = iCartNode;
  2448. if (utlf_isNull(this.objects[iNode]) || eval(iNode).rowcount == 0) {
  2449. return GoodChk;
  2450. }
  2451. //
  2452. var iLen = (eval(iNode).rowcount == 0) ? 1 : eval(iNode).rowcount;
  2453. for (var i = 0; i < iLen; i++) {
  2454. GoodCd = eval(iCartNode).getColumn(i, "goodcd");
  2455. if (pGood == GoodCd) {
  2456. GoodChk = false;
  2457. // model.setValue("/root/init/WorkData/InputGood/goodidx", i);
  2458. break;
  2459. }
  2460. }
  2461. return GoodChk;
  2462. }
  2463. /*
  2464. // 물품 복사
  2465. function fNodeDuplicate(pIdx, pGood, pCago, pCopy){
  2466. var xNode = instance1.selectSingleNode(pGood);
  2467. if (xNode == null) {
  2468. model.makeNode(pGood );
  2469. model.copyNode(pGood, pCopy);
  2470. }
  2471. var vOprsrvno = model.getValue(gPathNode[6] + "/oprsrvno" ); // 01 수술예약(의뢰)번호 (년도 + 일련번호)
  2472. var vCartgubn = model.getValue("/root/init/WorkData/cond/cartgubn"); // 02 Cart구분 (O:수술,A:마취, R:회복)
  2473. var vOrdseq = "" ; // 03 처방순번
  2474. var vInstcd = model.getValue(gPathNode[6] +"/instcd" ); // 04 병원기관코드(코드정의서 Z0007 참조)
  2475. var vGoodcd = model.getValue(pCago +"/goodcd" ); // 05 물품코드
  2476. var vAllsizespecid = model.getValue(pCago +"/allsizespecid"); // 06 ALLSIZE규격ID
  2477. var vGoodcls = model.getValue(pCago +"/goodcls" ); // 07 물품구분 1:Sutures,2:Supplies,3:Drug,4:Instrument,5:처치처방,6:수술소모품
  2478. var vGoodqty = "0"; // 08 물품수량
  2479. var vAddreductqty = model.getValue(pCago +"/goodqty" ); // 09 가감수량
  2480. var vPayflagcd = model.getValue(pCago +"/payflagcd" ); // 10 급여구분코드 (코드정의서 M0029 참조)
  2481. var vOproomcd = model.getValue(gPathNode[6] +"/oproomcd" ); // 11 수술실코드
  2482. var vPrcpdd = "" ; // 12 처방일자
  2483. var vPrcpno = "" ; // 13 처방일자별 일련번호
  2484. var vPrcphistno = "" ; // 14 처방이력생할때 마다 생성 (처방일자, 처방번호, 기관코드 기준)
  2485. var vPid = model.getValue(gPathNode[6] + "/pid" ); // 15 등록번호
  2486. var vSaveqty = "0"; // 16 변경Check 수량 (물품수량 + 가감수량)
  2487. var vOutqty = model.getValue(pCago +"/goodqty" ); // 17 변경할 수량 (물품수량 + 가감수량)
  2488. var vGoodengnm = model.getValue(pCago +"/goodengnm" ); // 18 물품(처방)명
  2489. var vGoodspec = model.getValue(pCago +"/goodspec" ); // 19 규격명
  2490. var vProdcmpynm = model.getValue(pCago +"/makernm" ); // 20 제조사
  2491. var vGoodmodel = model.getValue(pCago +"/goodmodel" ); // 21 모델
  2492. var vDeliveunit = model.getValue(pCago +"/deliveunit" ); // 22 단위
  2493. var vOproomnm = model.getValue(gPathNode[6] +"/oproomnm" ); // 23 수술실명
  2494. var vOproomdeptcd = model.getValue(gPathNode[6] +"/oproomdeptcd" ); // 24 수술실부서코드
  2495. var vRecflag = "I" ; // 25 U:수정,I:입력구분
  2496. var vRecflagnm = ""; // 26 추가구분명 추
  2497. var vDrugmthdspccd = model.getValue(pCago +"/drugmthdspccd" ); // 28 투여방법 및 검체코드
  2498. // 3070000000 : 수술
  2499. if (vCartgubn == "A") {
  2500. //vOproomcd = "3073100000"; // 11 마취코드
  2501. vOproomnm = "마취"; // 23 마취과명
  2502. vOproomdeptcd = "3073100000"; // 24 마취부서코드
  2503. } else if (vCartgubn == "R") {
  2504. //vOproomcd = "3073300000"; // 11 회복실코드
  2505. vOproomnm = "회복실"; // 23 회복실명
  2506. vOproomdeptcd = "3073300000"; // 24 회복실부서코드
  2507. }
  2508. //
  2509. model.setValue(pGood + "/oprsrvno" , vOprsrvno ); // 01 수술예약(의뢰)번호 (년도 + 일련번호)
  2510. model.setValue(pGood + "/cartgubn" , vCartgubn ); // 02 Cart구분 (O:수술,A:마취)
  2511. model.setValue(pGood + "/ordseq" , vOrdseq ); // 03 처방순번
  2512. model.setValue(pGood + "/instcd" , vInstcd ); // 04 병원기관코드(코드정의서 Z0007 참조)
  2513. model.setValue(pGood + "/goodcd" , vGoodcd ); // 05 물품코드
  2514. model.setValue(pGood + "/allsizespecid", vAllsizespecid ); // 06 ALLSIZE규격ID
  2515. model.setValue(pGood + "/goodcls" , vGoodcls ); // 07 물품구분 1:Sutures,2:Supplies,3:Drug,4:Instrument,5:처치처방,6:수술소모품
  2516. model.setValue(pGood + "/goodqty" , vGoodqty ); // 08 물품수량
  2517. model.setValue(pGood + "/addreductqty" , vAddreductqty ); // 09 가감수량
  2518. model.setValue(pGood + "/payflagcd" , vPayflagcd ); // 10 급여구분코드 (코드정의서 M0029 참조)
  2519. model.setValue(pGood + "/oproomcd" , vOproomcd ); // 11 수술실코드
  2520. model.setValue(pGood + "/prcpdd" , vPrcpdd ); // 12 처방일자
  2521. model.setValue(pGood + "/prcpno" , vPrcpno ); // 13 처방일자별 일련번호
  2522. model.setValue(pGood + "/prcphistno" , vPrcphistno ); // 14 처방이력생할때 마다 생성 (처방일자, 처방번호, 기관코드 기준)
  2523. model.setValue(pGood + "/pid" , vPid ); // 15 등록번호
  2524. model.setValue(pGood + "/saveqty" , vSaveqty ); // 16 변경Check 수량 (물품수량 + 가감수량)
  2525. model.setValue(pGood + "/outqty" , vOutqty ); // 17 변경할 수량 (물품수량 + 가감수량)
  2526. model.setValue(pGood + "/goodengnm" , vGoodengnm ); // 18 물품(처방)명
  2527. model.setValue(pGood + "/goodspec" , vGoodspec ); // 19 규격명
  2528. model.setValue(pGood + "/prodcmpynm" , vProdcmpynm ); // 20 제조사
  2529. model.setValue(pGood + "/goodmodel" , vGoodmodel ); // 21 모델
  2530. model.setValue(pGood + "/deliveunit" , vDeliveunit ); // 22 단위
  2531. model.setValue(pGood + "/oproomnm" , vOproomnm ); // 23 수술실명
  2532. model.setValue(pGood + "/oproomdeptcd" , vOproomdeptcd ); // 24 수술실부서코드
  2533. model.setValue(pGood + "/recflag" , vRecflag ); // 25 U:수정,I:입력구분
  2534. // model.setValue(pGood + "/recflagnm" , vRecflagnm ); // 26 추가구분명 추
  2535. model.setValue(pGood + "/drugmthdspccd", vDrugmthdspccd ); // 28 투여방법 및 검체코드
  2536. xNode = instance1.selectSingleNode(gPathNode[8]+"/"+tPathCart[pIdx]);
  2537. if (xNode == null) {
  2538. model.makeNode(gPathNode[8]+"/"+tPathCart[pIdx] );
  2539. model.copyNode(gPathNode[8]+"/"+tPathCart[pIdx], pGood);
  2540. } else {
  2541. model.duplicate(gPathNode[8] , pGood);
  2542. }
  2543. }
  2544. */
  2545. //
  2546. // 물품 삭제
  2547. // 2008-07-30 taebum 오후 5:18:41 사용안하는것 으로 판단됨
  2548. function fDeleteGood() {
  2549. trace("fDeleteGood()");
  2550. var sIdx = grd_good.row;
  2551. if (sIdx < 1) {
  2552. return;
  2553. }
  2554. var wCcrtNo = model.getValue("/root/init/WorkData/scond/ccrtno");
  2555. fNodeDuplicate(sIdx, "D", wCcrtNo, gPathNode[0], gPathNode[3]);
  2556. model.removeNodeset(gPathNode[0] + "/mnphcagolist[" + sIdx + "]");
  2557. grd_good.deleteRow(sIdx);
  2558. }
  2559. // 물품 UPDATE
  2560. function fUpdateGood() {
  2561. trace("fUpdateGood()");
  2562. var sIdx = grd_good.row;
  2563. if (sIdx < 1) {
  2564. return;
  2565. }
  2566. model.setValue(gPathNode[0] + "/mnphcagolist[" + sIdx + "]/goodqty", model.getValue("/root/init/WorkData/InputGood/goodqty"));
  2567. if (model.getValue("/root/init/WorkData/InputGood/recstat") == "N") {
  2568. model.setValue(gPathNode[0] + "/mnphcagolist[" + sIdx + "]/recstat", "U");
  2569. }
  2570. grd_good.refresh();
  2571. grd_good.row = sIdx;
  2572. }
  2573. function fOpCodePopup() {
  2574. trace("fOpCodePopup()");
  2575. var xpos = event.screenX;
  2576. var ypos = event.screenY - 300;
  2577. modal("SMMNP04460", 1, xpos, ypos);
  2578. var iProperties = getParameter("SendData");
  2579. var iSplit_Value = iProperties.split("|");
  2580. if (iSplit_Value.length > 0) {
  2581. model.setValue("/root/init/WorkData/InputGood/goodengnm", iSplit_Value[3]);
  2582. model.setValue("/root/init/WorkData/InputGood/makernm", iSplit_Value[6]);
  2583. model.setValue("/root/init/WorkData/InputGood/sizecd", iSplit_Value[4]);
  2584. model.setValue("/root/init/WorkData/InputGood/goodcd", iSplit_Value[0]);
  2585. }
  2586. }
  2587. //
  2588. function fTitleCreate() {
  2589. trace("fTitleCreate()");
  2590. var TitleData = "oprsrvno" + "▦" // 01 수술예약(의뢰)번호 (년도 + 일련번호)
  2591. +
  2592. "cartgubn" + "▦" // 02 Cart구분 (O:수술,A:마취)
  2593. +
  2594. "ordseq" + "▦" // 03 처방순번
  2595. +
  2596. "instcd" + "▦" // 04 병원기관코드(코드정의서 Z0007 참조)
  2597. +
  2598. "goodcd" + "▦" // 05 물품코드
  2599. +
  2600. "allsizespecid" + "▦" // 06 ALLSIZE규격ID
  2601. +
  2602. "goodcls" + "▦" // 07 물품구분 1:Sutures,2:Supplies,3:Drug,4:Instrument,5:처치처방,6:수술소모품
  2603. +
  2604. "goodqty" + "▦" // 08 물품수량
  2605. +
  2606. "addreductqty" + "▦" // 09 가감수량
  2607. +
  2608. "payflagcd" + "▦" // 10 급여구분코드 (코드정의서 M0029 참조)
  2609. +
  2610. "oproomcd" + "▦" // 11 수술실코드
  2611. +
  2612. "prcpdd" + "▦" // 12 처방일자
  2613. +
  2614. "prcpno" + "▦" // 13 처방일자별 일련번호
  2615. +
  2616. "prcphistno" + "▦" // 14 처방이력생할때 마다 생성 (처방일자, 처방번호, 기관코드 기준)
  2617. +
  2618. "pid" + "▦" // 15 등록번호
  2619. +
  2620. "reqtabcls" + "▦" // 16 테이블구 T:임시처방, C: 확정처방
  2621. +
  2622. "recflag" + "▩"; // 17 U:수정,I:입력구분
  2623. return TitleData;
  2624. }
  2625. //
  2626. // 수술중에 사용한 처방중 다른 수술방의 재료를 사용(수술처방 등록) 저장
  2627. //
  2628. function fMnphcrusSave() {
  2629. trace("fMnphcrusSave()");
  2630. fReSrchOpState(); // 수술진행상태 재조회 + 버튼 컨트로 처리
  2631. var SaveData = "oprsrvno" + "▦" // 01 수술예약(의뢰)번호(년도+일련번호)
  2632. +
  2633. "ordseq" + "▦" // 02 처방순번
  2634. +
  2635. "instcd" + "▦" // 03 병원기관코드(코드정의서Z0007참조)
  2636. +
  2637. "oproomcd" + "▦" // 04 수술실에대한코드
  2638. +
  2639. "goodcd" + "▦" // 05 물품코드
  2640. +
  2641. "allsizespecid" + "▦" // 06 Size코드
  2642. +
  2643. "goodqty" + "▦" // 07 물품수량
  2644. +
  2645. "stocrefltyn" + "▦" // 08 재고반영여부
  2646. +
  2647. "recflag" + "▦" // 09 U:수정,I:입력구분
  2648. +
  2649. "prcpclscd" + "▩"; // 10 처방분류코드
  2650. ExCount = 0;
  2651. var sRowCnt = ds_main_MnprdrugLists_mnprdruglist.rowcount;
  2652. var TabCls = "C"; // 테이블구 T:임시처방, C: 확정처방
  2653. var UseQty = "";
  2654. var TotQty = 0.0;
  2655. var cPath = ds_main_MnprdrugLists_mnprdruglist;
  2656. var gPath = ds_init_WorkData_InputGood;
  2657. var GoodCd = gPath.getColumn(0, "goodcd");
  2658. var sIdx = gPath.getColumn(0, "goodcls");
  2659. var sPurc = gPath.getColumn(0, "purcflag");
  2660. if (utlf_isNull(sIdx)) {
  2661. sIdx = 0;
  2662. } else {
  2663. sIdx = fChngNodeValue(sIdx, sPurc);
  2664. }
  2665. var gIdx = "0";
  2666. var sOrdSeq = "0";
  2667. var iCartNode = gPathNode[8] + tPathCart[sIdx];
  2668. var GoodCheck = true;
  2669. // if (fCheckGoodCd(sIdx, GoodCd)) {
  2670. // gIdx = 1 ;
  2671. // GoodCheck = true;
  2672. // } else {
  2673. // GoodCheck = false;
  2674. // gIdx = model.getValue("/root/init/WorkData/InputGood/goodidx");
  2675. // sOrdSeq = model.getValue(iCartNode + "["+gIdx+"]/ordseq");
  2676. // } ;
  2677. //
  2678. if (ds_init_WorkData_cond.getColumn(0, "cartstat") == "1") {
  2679. TabCls = "T";
  2680. }
  2681. var StkQty = 0.0;
  2682. var deptflag = "";
  2683. for (var i = 0; i < sRowCnt; i++) {
  2684. StkQty = parseFloat(cPath.getColumn(i, "stocqty"));
  2685. var sTmpStkQty = StkQty;
  2686. UseQty = parseFloat(cPath.getColumn(i, "currqty"));
  2687. deptflag = cPath.getColumn(i, "deptflag");
  2688. // UseQty = (UseQty == "" ) ? "0" : UseQty; // 사용수량
  2689. if (UseQty != 0) {
  2690. //2009.01.02 taebum 안전재고 사용하도록 수정
  2691. //2009.01.06 yanggun 재고량이 0 이여도 저장 가능하게 재고량 0 체크 주석처리
  2692. // if (StkQty == 0) {
  2693. // alert(model.getValue(cPath + "[" + i +"]/oproomnm")+"번 방의 재고가 없습니다.");
  2694. // return;
  2695. // }
  2696. TotQty = TotQty + UseQty; // 총수량
  2697. StkQty = StkQty - UseQty; // 재고량
  2698. SaveData += utlf_transNullToEmpty(eval(gPathNode[6]).getColumn(0, "oprsrvno")) + "▦"; // 01 수술예약(의뢰)번호(년도+일련번호)
  2699. SaveData += utlf_transNullToEmpty(cPath.getColumn(i, "ordseq")) + "▦"; // 02 처방순번
  2700. SaveData += utlf_transNullToEmpty(eval(gPathNode[6]).getColumn(0, "instcd")) + "▦"; // 03 병원기관코드(코드정의서Z0007참조)
  2701. SaveData += utlf_transNullToEmpty(cPath.getColumn(i, "oproomcd")) + "▦"; // 04 수술실에대한코드
  2702. SaveData += utlf_transNullToEmpty(gPath.getColumn(0, "goodcd")) + "▦"; // 05 물품코드
  2703. SaveData += utlf_transNullToEmpty(gPath.getColumn(0, "allsizespecid")) + "▦"; // 06 Size코드
  2704. SaveData += utlf_transNullToEmpty(cPath.getColumn(i, "currqty")) + "▦"; // 07 물품수량
  2705. SaveData += "N" + "▦"; // 08 재고반영여부
  2706. SaveData += utlf_transNullToEmpty(cPath.getColumn(i, "recflag")) + "▦"; // 09 U:수정,I:입력구분
  2707. SaveData += utlf_transNullToEmpty(gPath.getColumn(0, "prcpclscd")) + "▩"; // 10 처방분류코드
  2708. //2009.01.02 taebum 안전재고 관련 수정
  2709. if (StkQty > 0) {
  2710. cPath.setColumn(i, "currqty", 0);
  2711. cPath.setColumn(i, "stocqty", StkQty);
  2712. }
  2713. gPath.setColumn(0, "ordseq", ""); // 03 처방순번
  2714. gPath.setColumn(0, "goodqty", "0"); // 08 물품수량
  2715. gPath.setColumn(0, "addreductqty", "0"); // 09 가감수량
  2716. gPath.setColumn(0, "prcpdd", ""); // 12 처방일자
  2717. gPath.setColumn(0, "prcpno", "0"); // 13 처방일자별 일련번호
  2718. gPath.setColumn(0, "prcphistno", "0"); // 14 처방이력생할때 마다 생성 (처방일자, 처방번호, 기관코드 기준)
  2719. gPath.setColumn(0, "saveqty", "0"); // 16 변경Check 수량 (물품수량 + 가감수량)
  2720. gPath.setColumn(0, "outqty", UseQty); // 17 변경할 수량 (물품수량 + 가감수량)
  2721. gPath.setColumn(0, "recflag", "I"); // 25 U:수정,I:입력구분
  2722. // model.setValue(gPath + "/recflagnm" , "추" ); // 26 추가구분명 추
  2723. gPath.setColumn(0, "oproomcd", utlf_transNullToEmpty(cPath.getColumn(i, "oproomcd"))); // 11 수술실코드
  2724. gPath.setColumn(0, "oproomnm", utlf_transNullToEmpty(cPath.getColumn(i, "oproomnm"))); // 23 수술실명
  2725. gPath.setColumn(0, "oproomdeptcd", utlf_transNullToEmpty(cPath.getColumn(i, "oproomdeptcd"))); // 24 수술실부서코드
  2726. gPath.setColumn(0, "stocqty", sTmpStkQty); // 25 재고량
  2727. //model.setValue(gPath + "/reqmthd" , model.getValue(cPath+ "[" + i + "]/reqmthd" )); // 32 청구방법
  2728. vOproomnm = cPath.getColumn(i, "oproomnm");
  2729. fAddGood(sIdx, sOrdSeq, TotQty, deptflag);
  2730. ExCount += 1;
  2731. }
  2732. }
  2733. // 2009-03-04 ycd 삭제처리
  2734. //grd_roomcd.refresh();
  2735. // alert("mnphcruslist==>>"+SaveData);
  2736. dsf_setCSVToDs("ds_send_mnphcruslist", SaveData);
  2737. //---------
  2738. var sOrdSeq = "0";
  2739. var GoodNode = "ds_init_WorkData_" + tPathCart[sIdx];
  2740. for( var i=0 ; i<eval(eval(sGridNm[sIdx]).binddataset).rowcount ; i++ ){
  2741. eval(eval(sGridNm[sIdx]).binddataset).selectRow(i, false);
  2742. }
  2743. eval(eval(sGridNm[sIdx]).binddataset).selectRow(eval(eval(sGridNm[sIdx]).binddataset).rowcount - 1);
  2744. eval(eval(sGridNm[sIdx]).binddataset).rowposition = eval(eval(sGridNm[sIdx]).binddataset).rowcount - 1;
  2745. //
  2746. if (ExCount > 0) {
  2747. // if (submit("TXMNP01801")){ // 정보저장
  2748. //sOrdSeq = model.getValue("root/init/WorkData/cartordkey/ordseq");
  2749. //GoodCd = model.getValue("root/init/WorkData/cartordkey/goodcd");
  2750. //model.setValue(iCartNode+"[goodcd='"+ GoodCd + "']/ordseq" , sOrdSeq); // 처방순번
  2751. //model.setValue(iCartNode+"[goodcd='"+ GoodCd + "']/recflag", "U" ); // U:수정,I:입력구분
  2752. //=====확인 12.03 CHOI=======================================
  2753. // fSave(); // Cart 물품 저장 (TXMNP01800) 10/12 추가
  2754. // messageBox("자료 저장이", "I002");
  2755. // }
  2756. }
  2757. }
  2758. //
  2759. // 물품코드 추가
  2760. //
  2761. function fAddGoodCode() {
  2762. trace("fAddGoodCode()");
  2763. var TotQty = 0.0;
  2764. var gPath = "/root/init/WorkData/InputGood";
  2765. var GoodCd = model.getValue(gPath + "/goodcd");
  2766. var sIdx = model.getValue(gPath + "/cureflag");
  2767. var sPurcflag = model.getValue(gPath + "/purcflag");
  2768. if (GoodCd == "") {
  2769. messageBox("물품을 ", "C001");
  2770. return;
  2771. }
  2772. if (sIdx == "") {
  2773. sIdx = 0;
  2774. } else {
  2775. sIdx = fChngNodeValue(sIdx, sPurcflag);
  2776. }
  2777. var sOrdSeq = "0";
  2778. if (fCheckGoodCd(sIdx, GoodCd)) {
  2779. fReSrchOpState(); // 수술진행상태 재조회 + 버튼 컨트로 처리
  2780. fAddGood(sIdx, sOrdSeq, TotQty);
  2781. }
  2782. eval("grd_" + tNameCart[sIdx]).refresh();
  2783. eval("grd_" + tNameCart[sIdx]).row = eval("grd_" + tNameCart[sIdx]).rows - eval("grd_" + tNameCart[sIdx]).fixedRows;;
  2784. eval("grd_" + tNameCart[sIdx]).topRow = eval("grd_" + tNameCart[sIdx]).row;
  2785. }
  2786. //
  2787. // 물품코드 추가
  2788. //
  2789. function fAddGood(pIdx, pOrdSeq, pQty, deptflag) {
  2790. trace("fAddGood()");
  2791. //---------
  2792. var gPath = ds_init_WorkData_InputGood;
  2793. var gCls = gPath.getColumn(0, "goodcls");
  2794. var gPurcFlag = gPath.getColumn(0, "purcflag");
  2795. if (utlf_isNull(gCls)) return;
  2796. gCls = fChngNodeValue(gCls, gPurcFlag);
  2797. var iCartNode = eval(gPathNode[8] + tPathCart[gCls]);
  2798. var GoodNode = eval("ds_init_WorkData_" + tPathCart[gCls]);
  2799. var xNode = GoodNode;
  2800. if (xNode.rowcount == 0) {
  2801. GoodNode.addRow();
  2802. GoodNode.copyRow(0, GoodCopy, 0);
  2803. }
  2804. GoodNode.setColumn(0, "oprsrvno", gPath.getColumn(0, "oprsrvno")); // 01 수술예약(의뢰)번호 (년도 + 일련번호)
  2805. //2008-08-02 오후 6:44:31 taebum add
  2806. var tempCartGb = gPath.getColumn(0, "cartgubn");
  2807. if (!utlf_isNull(deptflag)) {
  2808. tempCartGb = deptflag;
  2809. }
  2810. /*
  2811. //2008-08-18 오후 1:27:50 taebum 회복은 기존처럼 R로 적용
  2812. if(tempCartGb == "R"){
  2813. tempCartGb = "O";
  2814. }
  2815. */
  2816. var vGoodCrFlag = "E";
  2817. if (group3.grp_ord.bbt_tSave.enable == true) {
  2818. vGoodCrFlag = "S";
  2819. }
  2820. //20181002 이돈희 : 의뢰상태에서 임시저장시 각 카트의 GOODCRFLAG가 E 가 되어, 중앙공급실에서 불출시에 ccol로 복사 안되는 현상 수정
  2821. if (group3.grp_ord.btn_tempcart.enable == true) {
  2822. vGoodCrFlag = "S";
  2823. }
  2824. GoodNode.setColumn(0, "cartgubn", tempCartGb); // 02 Cart구분 (O:수술,A:마취)
  2825. GoodNode.setColumn(0, "ordseq", gPath.getColumn(0, "ordseq")); // 03 처방순번
  2826. GoodNode.setColumn(0, "instcd", gPath.getColumn(0, "instcd")); // 04 병원기관코드(코드정의서 Z0007 참조)
  2827. GoodNode.setColumn(0, "goodcd", gPath.getColumn(0, "goodcd")); // 05 물품코드
  2828. GoodNode.setColumn(0, "allsizespecid", gPath.getColumn(0, "allsizespecid")); // 06 ALLSIZE규격ID
  2829. GoodNode.setColumn(0, "goodcls", gPath.getColumn(0, "goodcls")); // 07 물품구분 1:Sutures,2:Supplies,3:Drug,4:Instrument,5:처치처방,6:수술소모품
  2830. GoodNode.setColumn(0, "goodqty", gPath.getColumn(0, "goodqty")); // 08 물품수량
  2831. GoodNode.setColumn(0, "addreductqty", gPath.getColumn(0, "addreductqty")); // 09 가감수량
  2832. GoodNode.setColumn(0, "payflagcd", gPath.getColumn(0, "payflagcd")); // 10 급여구분코드 (코드정의서 M0029 참조)
  2833. GoodNode.setColumn(0, "oproomcd", gPath.getColumn(0, "oproomcd")); // 11 수술실코드
  2834. GoodNode.setColumn(0, "prcpdd", gPath.getColumn(0, "prcpdd")); // 12 처방일자
  2835. GoodNode.setColumn(0, "prcpno", gPath.getColumn(0, "prcpno")); // 13 처방일자별 일련번호
  2836. GoodNode.setColumn(0, "prcphistno", gPath.getColumn(0, "prcphistno")); // 14 처방이력생할때 마다 생성 (처방일자, 처방번호, 기관코드 기준)
  2837. GoodNode.setColumn(0, "pid", gPath.getColumn(0, "pid")); // 15 등록번호
  2838. GoodNode.setColumn(0, "saveqty", gPath.getColumn(0, "saveqty")); // 16 변경Check 수량 (물품수량 + 가감수량)
  2839. GoodNode.setColumn(0, "outqty", gPath.getColumn(0, "outqty")); // 17 변경할 수량 (물품수량 + 가감수량)
  2840. //model.setValue(GoodNode + "/outqty" , "0" ); // 17 변경할 수량 (물품수량 + 가감수량)
  2841. GoodNode.setColumn(0, "goodengnm", gPath.getColumn(0, "goodengnm")); // 18 물품(처방)명
  2842. GoodNode.setColumn(0, "goodspec", gPath.getColumn(0, "goodspec")); // 19 규격명
  2843. GoodNode.setColumn(0, "prodcmpynm", gPath.getColumn(0, "prodcmpynm")); // 20 제조사
  2844. GoodNode.setColumn(0, "goodmodel", gPath.getColumn(0, "goodmodel")); // 21 모델
  2845. GoodNode.setColumn(0, "prcpunit", gPath.getColumn(0, "prcpunit")); // 22 단위
  2846. //model.setValue(GoodNode + "/oproomnm" , model.getValue(gPath + "/oproomnm" )); // 23 수술실명
  2847. GoodNode.setColumn(0, "oproomnm", vOproomnm); // 23 수술실명
  2848. GoodNode.setColumn(0, "oproomdeptcd", gPath.getColumn(0, "oproomdeptcd")); // 24 수술실부서코드
  2849. GoodNode.setColumn(0, "recflag", "I"); // 25 U:수정,I:입력구분
  2850. //model.setValue(GoodNode + "/recflagnm" , model.getValue(gPath + "/recflagnm" )); // 26 추가구분명 추
  2851. GoodNode.setColumn(0, "drugmthdspccd", gPath.getColumn(0, "drugmthdspccd")); // 28 투여방법 및 검체코드
  2852. GoodNode.setColumn(0, "stocqty", gPath.getColumn(0, "stocqty")); // 29 재고량
  2853. GoodNode.setColumn(0, "acmlbaseqty", gPath.getColumn(0, "acmlbaseqty")); // 30 기준수량
  2854. GoodNode.setColumn(0, "prcpclscd", gPath.getColumn(0, "prcpclscd")); // 31 처방구분
  2855. GoodNode.setColumn(0, "reqmthd", gPath.getColumn(0, "reqmthd")); // 32 청구방법
  2856. // 2009-03-09 ycd 추가 (정규, 응급 구분)
  2857. GoodNode.setColumn(0, "goodcrflag", vGoodCrFlag); // 33 처방발행구분(S : 정규, E : 응급 )
  2858. GoodNode.setColumn(0, "purcflag", gPath.getColumn(0, "purcflag")); // 34 구매구분
  2859. GoodNode.setColumn(0, "old_payflagcd", gPath.getColumn(0, "payflagcd")); // 10 급여구분코드 (코드정의서 M0029 참조)
  2860. GoodNode.setColumn(0, "calculyn", gPath.getColumn(0, "calculyn")); // 산정여부
  2861. GoodNode.setColumn(0, "todd", gPath.getColumn(0, "todd")); // 38 종료일자
  2862. GoodNode.setColumn(0, "listodd", gPath.getColumn(0, "listodd")); // 39 진료지원종료일자
  2863. GoodNode.setColumn(0, "spcmtodd", gPath.getColumn(0, "spcmtodd")); // 40 진검종료일자
  2864. GoodNode.setColumn(0, "anamneflag", '0'); // 40 기왕력.
  2865. xNode = iCartNode;
  2866. if (xNode.rowcount == 0) {
  2867. iCartNode.addRow();
  2868. iCartNode.copyRow(0, GoodNode, 0);
  2869. if( (gPathNode[8] + tPathCart[gCls]) == "ds_main_CartOrdData_ListSupplies" ){//처치/행위/물품 그리드
  2870. eval(gPathNode[8] + tPathCart[gCls]).setColumn(0, "colEdittype9", "combo");//그룹
  2871. eval(gPathNode[8] + tPathCart[gCls]).setColumn(0, "colEdit21", "checkbox");//응급
  2872. eval(gPathNode[8] + tPathCart[gCls]).setColumn(0, "colBack21", "");
  2873. eval(gPathNode[8] + tPathCart[gCls]).setColumn(0, "colBorder21", "");
  2874. eval(gPathNode[8] + tPathCart[gCls]).setColumn(0, "colEdittype24", "combo");//급비
  2875. }else if( (gPathNode[8] + tPathCart[gCls]) == "ds_main_CartOrdData_ListDrug" ){//Drug 그리드
  2876. eval(gPathNode[8] + tPathCart[gCls]).setColumn(0, "colEdittype13", "combo");//용법
  2877. }
  2878. } else {
  2879. var nRow = eval(gPathNode[8] + tPathCart[gCls]).addRow();
  2880. eval(gPathNode[8] + tPathCart[gCls]).copyRow(nRow, GoodNode, 0);
  2881. if( (gPathNode[8] + tPathCart[gCls]) == "ds_main_CartOrdData_ListSupplies" ){//처치/행위/물품 그리드
  2882. eval(gPathNode[8] + tPathCart[gCls]).setColumn(nRow, "colEdittype9", "combo");//그룹
  2883. eval(gPathNode[8] + tPathCart[gCls]).setColumn(nRow, "colEdit21", "checkbox");//응급
  2884. eval(gPathNode[8] + tPathCart[gCls]).setColumn(nRow, "colBack21", "");
  2885. eval(gPathNode[8] + tPathCart[gCls]).setColumn(nRow, "colBorder21", "");
  2886. eval(gPathNode[8] + tPathCart[gCls]).setColumn(nRow, "colEdittype24", "combo");//급비
  2887. }else if( (gPathNode[8] + tPathCart[gCls]) == "ds_main_CartOrdData_ListDrug" ){//Drug 그리드
  2888. eval(gPathNode[8] + tPathCart[gCls]).setColumn(nRow, "colEdittype13", "combo");//용법
  2889. }
  2890. }
  2891. //eval("grd_"+tNameCart[gCls]).refresh();
  2892. //eval("grd_"+tNameCart[gCls]).row = eval("grd_"+tNameCart[gCls]).rows - eval("grd_"+tNameCart[gCls]).fixedRows;
  2893. //eval("grd_"+tNameCart[gCls]).topRow = eval("grd_"+tNameCart[gCls]).row;
  2894. //20110418 이선경(경북대) : 정규처방이면 응급처방구분은 비활성화
  2895. if (vGoodCrFlag == "S") {
  2896. // if (group3.grp_ord.switch1.case3.grd_supplies.getCellProperty("Body", 21, "edittype") == "checkbox") {
  2897. // var sEdittype = "expr:currow == " + (group3.grp_ord.switch1.case3.grd_supplies.rowcount - 1) + " ? 'none' : 'checkbox'";
  2898. // group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 21, "edittype", sEdittype);
  2899. // } else if (group3.grp_ord.switch1.case3.grd_supplies.getCellProperty("Body", 21, "edittype") != "none") {
  2900. // var sEdittype = group3.grp_ord.switch1.case3.grd_supplies.getCellProperty("Body", 21, "edittype").replace("'checkbox'", "") +
  2901. // "currow == " + (group3.grp_ord.switch1.case3.grd_supplies.rowcount - 1) + " ? 'none' : 'checkbox'";
  2902. // group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 21, "edittype", sEdittype);
  2903. // }
  2904. ds_main_CartOrdData_ListSupplies.setColumn(ds_main_CartOrdData_ListSupplies.rowcount-1, "colEdit21", "none");
  2905. ds_main_CartOrdData_ListSupplies.setColumn(ds_main_CartOrdData_ListSupplies.rowcount-1, "colBack21", "silver");
  2906. ds_main_CartOrdData_ListSupplies.setColumn(ds_main_CartOrdData_ListSupplies.rowcount-1, "colBorder21", "1 solid #708090cc");
  2907. }
  2908. // else{
  2909. // ds_main_CartOrdData_ListSupplies.setColumn(ds_main_CartOrdData_ListSupplies.rowcount-1, "colEdit21", "checkbox");
  2910. // ds_main_CartOrdData_ListSupplies.setColumn(ds_main_CartOrdData_ListSupplies.rowcount-1, "colBack21", "");
  2911. // ds_main_CartOrdData_ListSupplies.setColumn(ds_main_CartOrdData_ListSupplies.rowcount-1, "colBorder21", "");
  2912. // }
  2913. }
  2914. /**
  2915. * @group :
  2916. * @ver : 2009.03.05
  2917. * @by : 양천덕
  2918. * @---------------------------------------------------
  2919. * @type : function
  2920. * @access : public
  2921. * @desc : 물품코드 추가(행추가 처리로 물품 추가시)
  2922. * @param :
  2923. * @return :
  2924. * @---------------------------------------------------
  2925. */
  2926. function fAddGoodRowCopy() {
  2927. trace("fAddGoodRowCopy()");
  2928. fReSrchOpState(); // 수술진행상태 재조회 + 버튼 컨트로 처리
  2929. //---------
  2930. var gPath = ds_init_WorkData_InputGood;
  2931. var gChngCls = "";
  2932. var gCls = gPath.getColumn(0, "goodcls");
  2933. var gPurcFlag = gPath.getColumn(0, "purcflag");
  2934. if (utlf_isNull(gCls)) return;
  2935. gCls = fChngNodeValue(gCls, gPurcFlag);
  2936. var iCartNode = eval(gPathNode[8] + tPathCart[gCls]);
  2937. var GoodNode = eval("ds_init_WorkData_" + tPathCart[gCls]);
  2938. var xNode = GoodNode;
  2939. if ( xNode.rowcount == 0 ) {
  2940. GoodNode.addRow();
  2941. GoodNode.copyRow(0, GoodCopy, 0);
  2942. }
  2943. GoodNode.setColumn(0, "oprsrvno", gPath.getColumn(0, "oprsrvno")); // 01 수술예약(의뢰)번호 (년도 + 일련번호)
  2944. //2008-08-02 오후 6:44:31 taebum add
  2945. var tempCartGb = gPath.getColumn(0, "cartgubn");
  2946. /*
  2947. //2008-08-18 오후 1:27:50 taebum 회복은 기존처럼 R로 적용
  2948. if(tempCartGb == "R"){
  2949. tempCartGb = "O";
  2950. }
  2951. */
  2952. var vGoodCrFlag = "E";
  2953. if (group3.grp_ord.bbt_tSave.enable == true) {
  2954. vGoodCrFlag = "S";
  2955. }
  2956. //20181002 이돈희 : 의뢰상태에서 임시저장시 각 카트의 GOODCRFLAG가 E 가 되어, 중앙공급실에서 불출시에 ccol로 복사 안되는 현상 수정
  2957. if (group3.grp_ord.btn_tempcart.enable == true) {
  2958. vGoodCrFlag = "S";
  2959. }
  2960. GoodNode.setColumn(0, "cartgubn", tempCartGb); // 02 Cart구분 (O:수술,A:마취)
  2961. //model.setValue(GoodNode + "/ordseq" , model.getValue(gPath + "/ordseq" )); // 03 처방순번
  2962. GoodNode.setColumn(0, "instcd", gPath.getColumn(0, "instcd")); // 04 병원기관코드(코드정의서 Z0007 참조)
  2963. GoodNode.setColumn(0, "goodcd", gPath.getColumn(0, "goodcd")); // 05 물품코드
  2964. GoodNode.setColumn(0, "allsizespecid", gPath.getColumn(0, "allsizespecid")); // 06 ALLSIZE규격ID
  2965. GoodNode.setColumn(0, "goodcls", gPath.getColumn(0, "goodcls")); // 07 물품구분 1:Sutures,2:Supplies,3:Drug,4:Instrument,5:처치처방,6:수술소모품
  2966. //model.setValue(GoodNode + "/goodqty" , model.getValue(gPath + "/goodqty" )); // 08 물품수량
  2967. GoodNode.setColumn(0, "goodqty", "0"); // 08 물품수량
  2968. GoodNode.setColumn(0, "addreductqty", gPath.getColumn(0, "addreductqty")); // 09 가감수량
  2969. GoodNode.setColumn(0, "payflagcd", gPath.getColumn(0, "payflagcd")); // 10 급여구분코드 (코드정의서 M0029 참조)
  2970. GoodNode.setColumn(0, "oproomcd", gPath.getColumn(0, "oproomcd")); // 11 수술실코드
  2971. GoodNode.setColumn(0, "prcpdd", gPath.getColumn(0, "prcpdd")); // 12 처방일자
  2972. GoodNode.setColumn(0, "prcpno", gPath.getColumn(0, "prcpno")); // 13 처방일자별 일련번호
  2973. GoodNode.setColumn(0, "prcphistno", gPath.getColumn(0, "prcphistno")); // 14 처방이력생할때 마다 생성 (처방일자, 처방번호, 기관코드 기준)
  2974. GoodNode.setColumn(0, "pid", gPath.getColumn(0, "pid")); // 15 등록번호
  2975. GoodNode.setColumn(0, "saveqty", gPath.getColumn(0, "saveqty")); // 16 변경Check 수량 (물품수량 + 가감수량)
  2976. //model.setValue(GoodNode + "/outqty" , model.getValue(gPath + "/outqty" )); // 17 변경할 수량 (물품수량 + 가감수량)
  2977. GoodNode.setColumn(0, "outqty", "1"); // 17 변경할 수량 (물품수량 + 가감수량)
  2978. GoodNode.setColumn(0, "goodengnm", gPath.getColumn(0, "goodengnm")); // 18 물품(처방)명
  2979. GoodNode.setColumn(0, "goodspec", gPath.getColumn(0, "goodspec")); // 19 규격명
  2980. GoodNode.setColumn(0, "prodcmpynm", gPath.getColumn(0, "prodcmpynm")); // 20 제조사
  2981. GoodNode.setColumn(0, "goodmodel", gPath.getColumn(0, "goodmodel")); // 21 모델
  2982. GoodNode.setColumn(0, "deliveunit", gPath.getColumn(0, "deliveunit")); // 22 단위
  2983. GoodNode.setColumn(0, "oproomnm", gPath.getColumn(0, "oproomnm")); // 23 수술실명
  2984. GoodNode.setColumn(0, "oproomdeptcd", gPath.getColumn(0, "oproomdeptcd")); // 24 수술실부서코드
  2985. GoodNode.setColumn(0, "stocqty", gPath.getColumn(0, "stocqty")); // 25 수술실부서코드
  2986. GoodNode.setColumn(0, "acmlbaseqty", gPath.getColumn(0, "acmlbaseqty")); // 26 기준수량
  2987. GoodNode.setColumn(0, "recflag", "I"); // 27 U:수정,I:입력구분
  2988. GoodNode.setColumn(0, "prcpqty", gPath.getColumn(0, "prcpqty")); // 28 처방수량
  2989. GoodNode.setColumn(0, "prcpunit", gPath.getColumn(0, "prcpunit")); // 29 처방단위
  2990. //model.setValue(GoodNode + "/recflagnm" , model.getValue(gPath + "/recflagnm" )); // 26 추가구분명 추
  2991. GoodNode.setColumn(0, "prcpclscd", gPath.getColumn(0, "prcpclscd")); // 31 처방구분
  2992. // 2009-03-09 ycd 추가 (정규, 응급 구분)
  2993. GoodNode.setColumn(0, "reqmthd", gPath.getColumn(0, "reqmthd")); // 32 청구방법
  2994. GoodNode.setColumn(0, "goodcrflag", vGoodCrFlag); // 33 처방발행구분(S : 정규, E : 응급 )
  2995. GoodNode.setColumn(0, "purcflag", gPath.getColumn(0, "purcflag")); // 34 구매구분
  2996. GoodNode.setColumn(0, "old_payflagcd", gPath.getColumn(0, "payflagcd")); // 10 급여구분코드 (코드정의서 M0029 참조)
  2997. GoodNode.setColumn(0, "calculyn", gPath.getColumn(0, "calculyn")); // 산정여부
  2998. GoodNode.setColumn(0, "todd", gPath.getColumn(0, "todd")); // 38 종료일자
  2999. GoodNode.setColumn(0, "listodd", gPath.getColumn(0, "listodd")); // 39 진료지원종료일자
  3000. GoodNode.setColumn(0, "spcmtodd", gPath.getColumn(0, "spcmtodd")); // 40 진검종료일자
  3001. //20110328 이선경(경북대) : 응급처방구분추가
  3002. GoodNode.setColumn(0, "erprcpflag", gPath.getColumn(0, "erprcpflag")); // 41 응급처방구분
  3003. //20110714 박상훈(경북대) : 기왕력 추가
  3004. GoodNode.setColumn(0, "anamneflag", "0"); // 기왕증유무 default
  3005. // model.setValue(GoodNode + "/subcretno" , "0" ); // subcretno default
  3006. xNode = iCartNode;
  3007. eval(eval((GridName.split("*"))[gCls]).binddataset).selectRow(eval(eval((GridName.split("*"))[gCls]).binddataset).rowposition, false);
  3008. if ( xNode.rowcount == 0 ) {
  3009. iCartNode.addRow();
  3010. iCartNode.copyRow(0, GoodNode, 0);
  3011. if( (gPathNode[8] + tPathCart[gCls]) == "ds_main_CartOrdData_ListSupplies" ){//처치/행위/물품 그리드
  3012. eval(gPathNode[8] + tPathCart[gCls]).setColumn(0, "colEdittype9", "combo");//그룹
  3013. eval(gPathNode[8] + tPathCart[gCls]).setColumn(0, "colEdit21", "checkbox");//응급
  3014. eval(gPathNode[8] + tPathCart[gCls]).setColumn(0, "colBack21", "");
  3015. eval(gPathNode[8] + tPathCart[gCls]).setColumn(0, "colBorder21", "");
  3016. eval(gPathNode[8] + tPathCart[gCls]).setColumn(0, "colEdittype24", "combo");//급비
  3017. }else if( (gPathNode[8] + tPathCart[gCls]) == "ds_main_CartOrdData_ListDrug" ){//Drug 그리드
  3018. eval(gPathNode[8] + tPathCart[gCls]).setColumn(0, "colEdittype13", "combo");//용법
  3019. }
  3020. } else {
  3021. var nRow = eval(gPathNode[8] + tPathCart[gCls]).addRow();
  3022. eval(gPathNode[8] + tPathCart[gCls]).copyRow(nRow, GoodNode, 0);
  3023. if( (gPathNode[8] + tPathCart[gCls]) == "ds_main_CartOrdData_ListSupplies" ){//처치/행위/물품 그리드
  3024. eval(gPathNode[8] + tPathCart[gCls]).setColumn(nRow, "colEdittype9", "combo");//그룹
  3025. eval(gPathNode[8] + tPathCart[gCls]).setColumn(nRow, "colEdit21", "checkbox");//응급
  3026. eval(gPathNode[8] + tPathCart[gCls]).setColumn(nRow, "colBack21", "");
  3027. eval(gPathNode[8] + tPathCart[gCls]).setColumn(nRow, "colBorder21", "");
  3028. eval(gPathNode[8] + tPathCart[gCls]).setColumn(nRow, "colEdittype24", "combo");//급비
  3029. }else if( (gPathNode[8] + tPathCart[gCls]) == "ds_main_CartOrdData_ListDrug" ){//Drug 그리드
  3030. eval(gPathNode[8] + tPathCart[gCls]).setColumn(nRow, "colEdittype13", "combo");//용법
  3031. }
  3032. }
  3033. eval(eval((GridName.split("*"))[gCls]).binddataset).selectRow(eval(eval((GridName.split("*"))[gCls]).binddataset).rowcount - 1);
  3034. eval(eval((GridName.split("*"))[gCls]).binddataset).rowposition = eval(eval((GridName.split("*"))[gCls]).binddataset).rowcount - 1;
  3035. //20110418 이선경(경북대) : 정규처방이면 응급처방구분은 비활성화
  3036. if (vGoodCrFlag == "S") {
  3037. // if (group3.grp_ord.switch1.case3.grd_supplies.getCellProperty("Body", 21, "edittype") == "checkbox") {
  3038. // var sEdittype = "expr:currow == " + (group3.grp_ord.switch1.case3.grd_supplies.rowcount - 1) + " ? 'none' : 'checkbox'";
  3039. // group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 21, "edittype", sEdittype);
  3040. // } else if (group3.grp_ord.switch1.case3.grd_supplies.getCellProperty("Body", 21, "edittype") != "none") {
  3041. // var sEdittype = group3.grp_ord.switch1.case3.grd_supplies.getCellProperty("Body", 21, "edittype").replace("'checkbox'", "") +
  3042. // "currow == " + (group3.grp_ord.switch1.case3.grd_supplies.rowcount - 1) + " ? 'none' : 'checkbox'";
  3043. // group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 21, "edittype", sEdittype);
  3044. // }
  3045. ds_main_CartOrdData_ListSupplies.setColumn(ds_main_CartOrdData_ListSupplies.rowcount-1, "colEdit21", "none");
  3046. ds_main_CartOrdData_ListSupplies.setColumn(ds_main_CartOrdData_ListSupplies.rowcount-1, "colBack21", "silver");
  3047. ds_main_CartOrdData_ListSupplies.setColumn(ds_main_CartOrdData_ListSupplies.rowcount-1, "colBorder21", "1 solid #708090cc");
  3048. }
  3049. // else{
  3050. // ds_main_CartOrdData_ListSupplies.setColumn(ds_main_CartOrdData_ListSupplies.rowcount-1, "colEdit21", "checkbox");
  3051. // ds_main_CartOrdData_ListSupplies.setColumn(ds_main_CartOrdData_ListSupplies.rowcount-1, "colBack21", "");
  3052. // ds_main_CartOrdData_ListSupplies.setColumn(ds_main_CartOrdData_ListSupplies.rowcount-1, "colBorder21", "");
  3053. // }
  3054. }
  3055. // 물품코드 popup
  3056. function fGoodCodePopup() {
  3057. trace("fGoodCodePopup()");
  3058. var xpos = event.screenX;
  3059. var ypos = event.screenY - 300;
  3060. var xpos = 1;
  3061. var ypos = 1;
  3062. modal("SMMNP04460", 1, xpos, ypos);
  3063. var iProperties = getParameter("SendData");
  3064. //-------------------------------------------------------------------------
  3065. // iParam = iParam_goodcd +"|" 0 :: goodcd 물품코드
  3066. // + iParam_goodnm +"|" 1 :: goodnm 물품명
  3067. // + iParam_allsizespecid +"|" 2 :: allsizespecid SIZE
  3068. // + iParam_goodhngnm +"|" 3 :: goodhngnm 물품한글명
  3069. // + iParam_goodengnm +"|" 4 :: goodengnm 물품영문명
  3070. // + iParam_goodsize +"|" 5 :: allsizespecid SIZE
  3071. // + iParam_prodcmpycd +"|" 6 :: prodcmpycd 제조회사코드
  3072. // + iParam_prodcmpynm ; 7 :: prodcmpynm 제조회사
  3073. //-------------------------------------------------------------------------
  3074. var iSplit_Value = iProperties.split("|");
  3075. if (iSplit_Value.length > 0) {
  3076. var GoodNode = "/root/init/WorkData/InputGood";
  3077. model.setValue(GoodNode + "/goodcd", iSplit_Value[0]); // 물품코드
  3078. model.setValue(GoodNode + "/goodengnm", iSplit_Value[3]); // 물품명
  3079. model.setValue(GoodNode + "/goodspec", iSplit_Value[5]); // 규격
  3080. model.setValue(GoodNode + "/makernm", ""); // 제조원
  3081. model.setValue(GoodNode + "/goodmodel", ""); // 모델
  3082. model.setValue(GoodNode + "/deliveunit", ""); // 단위
  3083. model.setValue(GoodNode + "/allsizespecid", iSplit_Value[2]); // SizeCode
  3084. //2009-03-04 ycd 삭제처리
  3085. //inp_good.currentText = model.getValue(GoodNode + "/goodcd"); // 물품코드
  3086. fRscdgoodData_Read(); // 물품코드 상세 내역 조회
  3087. fMnprdrugData_Read(); // 수술방별 안전재고와 재고량 내역 조회
  3088. //grp_good.refresh();
  3089. model.refresh();
  3090. }
  3091. }
  3092. // 물품코드 popup
  3093. function fGoodFindPopup() {
  3094. trace("fGoodFindPopup()");
  3095. var xpos = event.screenX;
  3096. var ypos = event.screenY - 300;
  3097. var xpos = 1;
  3098. var ypos = 1;
  3099. // SPMNP01600_처방(물품)찾기.xrw
  3100. modal("SPMNP01600", 1, xpos, ypos); // SMMNP04460
  3101. var iProperties = getParameter("SendData");
  3102. var iParamData = iProperties.split("▩");
  3103. // iParamList += model.getValue(iNode + "[" + i + "]/" + wCode) + "|" // 00 처방코드
  3104. // + model.getValue(iNode + "[" + i + "]/" + wName) + "|" // 01 처방명
  3105. // + model.getValue(iNode + "[" + i + "]/allsizespecid")) + "|" // 02 사이즈
  3106. // + model.getValue(iNode + "[" + i + "]/prodcmpynm" )) + "|" // 03 제조회사명
  3107. // + model.getValue(iNode + "[" + i + "]/cureflag" )) + "|" // 04 처치구분
  3108. // + model.getValue(iNode + "[" + i + "]/goodspec" )) + "|" // 05 물품규격
  3109. // + model.getValue(iNode + "[" + i + "]/goodmodel" )) + "|" // 06 물품모델
  3110. // + "" + "▩"; // 07 처방단위 model.getValue(iNode + "[" + i + "]/prcpunit" ))
  3111. var sIdx = 0;
  3112. //2008-08-02 오후 6:44:31 taebum add
  3113. var tempCartGb = model.getValue("/root/init/WorkData/cond/cartgubn");
  3114. /*
  3115. //2008-08-18 오후 1:29:02 taebum 회복은 기존처럼 R로 처리
  3116. if(tempCartGb == "R"){
  3117. tempCartGb = "O";
  3118. }
  3119. */
  3120. for (ii = 0; ii < iParamData.length; ii++) {
  3121. pData = iParamData[ii];
  3122. var iSplit_Value = pData.split("|");
  3123. if (iSplit_Value[0] != "") {
  3124. var GoodCd = iSplit_Value[0];
  3125. if (fCheckGoodCd(GoodCd)) {
  3126. sIdx = iSplit_Value[4];
  3127. if (sIdx == "") { // 2009-03-06 수정 해야 할 부분 purcflag 값을 받아오지 못하여 처리 못함
  3128. sIdx = 0;
  3129. }
  3130. var iCartNode = gPathNode[8] + "/" + tPathCart[sIdx];
  3131. var GoodNode = "/root/init/WorkData/" + tPathCart[sIdx];
  3132. var xNode = instance1.selectSingleNode(GoodNode);
  3133. if (xNode == null) {
  3134. model.makeNode(GoodNode);
  3135. model.copyNode(GoodNode, GoodCopy);
  3136. }
  3137. model.setValue(GoodNode + "/oprsrvno", model.getValue(gPathNode[6] + "/oprsrvno")); // 01 수술예약(의뢰)번호 (년도 + 일련번호)
  3138. model.setValue(GoodNode + "/cartgubn", tempCartGb); // 02 Cart구분 (O:수술,A:마취,R:회복)
  3139. model.setValue(GoodNode + "/ordseq", ""); // 03 처방순번
  3140. model.setValue(GoodNode + "/instcd", ""); // 04 병원기관코드(코드정의서 Z0007 참조)
  3141. model.setValue(GoodNode + "/goodcd", iSplit_Value[0]); // 05 물품코드
  3142. model.setValue(GoodNode + "/allsizespecid", iSplit_Value[2]); // 06 ALLSIZE규격ID
  3143. model.setValue(GoodNode + "/goodcls", iSplit_Value[4]); // 07 물품구분 1:Sutures,2:Supplies,3:Drug,4:Instrument,5:처치처방,6:수술소모품
  3144. model.setValue(GoodNode + "/goodqty", "0"); // 08 물품수량
  3145. model.setValue(GoodNode + "/addreductqty", "0"); // 09 가감수량
  3146. model.setValue(GoodNode + "/payflagcd", iSplit_Value[9]); // 10 급여구분코드 (코드정의서 M0029 참조)
  3147. model.setValue(GoodNode + "/oproomcd", model.getValue(gPathNode[6] + "/oproomcd")); // 11 수술실코드
  3148. model.setValue(GoodNode + "/prcpdd", ""); // 12 처방일자
  3149. model.setValue(GoodNode + "/prcpno", ""); // 13 처방일자별 일련번호
  3150. model.setValue(GoodNode + "/prcphistno", ""); // 14 처방이력생할때 마다 생성 (처방일자, 처방번호, 기관코드 기준)
  3151. model.setValue(GoodNode + "/pid", model.getValue(gPathNode[6] + "/pid")); // 15 등록번호
  3152. model.setValue(GoodNode + "/saveqty", "0"); // 16 변경Check 수량 (물품수량 + 가감수량)
  3153. model.setValue(GoodNode + "/outqty", "0"); // 17 변경할 수량 (물품수량 + 가감수량)
  3154. model.setValue(GoodNode + "/goodengnm", iSplit_Value[1]); // 18 물품(처방)명
  3155. model.setValue(GoodNode + "/goodspec", iSplit_Value[5]); // 19 규격명
  3156. model.setValue(GoodNode + "/prodcmpynm", iSplit_Value[3]); // 20 제조사
  3157. model.setValue(GoodNode + "/goodmodel", iSplit_Value[6]); // 21 모델
  3158. model.setValue(GoodNode + "/deliveunit", iSplit_Value[7]); // 22 단위
  3159. //model.setValue(GoodNode + "/oproomnm" , model.getValue(gPathNode[6] +"/oproomnm" ) ); // 23 수술실명
  3160. model.setValue(GoodNode + "/oproomnm", vOproomnm); // 23 수술실명
  3161. model.setValue(GoodNode + "/oproomdeptcd", model.getValue(gPathNode[6] + "/oproomdeptcd")); // 24 수술실부서코드
  3162. model.setValue(GoodNode + "/recflag", "I"); // 25 U:수정,I:입력구분
  3163. //model.setValue(GoodNode + "/recflagnm" , "추" ); // 26 추가구분명 추
  3164. model.setValue(GoodNode + "/prcpclscd", iSplit_Value[10]); // 27 처방구분
  3165. model.setValue(GoodNode + "/old_payflagcd", iSplit_Value[9]); // 10 급여구분코드 (코드정의서 M0029 참조)
  3166. model.setValue(GoodNode + "/calculyn", iSplit_Value[11]); // 산정여부
  3167. model.setValue(GoodNode + "/todd", "99991231"); // 38 종료일자
  3168. model.setValue(GoodNode + "/listodd", "99991231"); // 39 진료지원종료일자
  3169. model.setValue(GoodNode + "/spcmtodd", "99991231"); // 40 진검종료일자
  3170. xNode = instance1.selectSingleNode(iCartNode);
  3171. if (xNode == null) {
  3172. model.makeNode(iCartNode);
  3173. model.copyNode(iCartNode, GoodNode);
  3174. } else {
  3175. model.duplicate(gPathNode[8], GoodNode);
  3176. }
  3177. // eval("grd_"+tNameCart[sIdx]).rowStyle(i, "data", "color") = "#ff00ff";
  3178. eval("grd_" + tNameCart[sIdx]).refresh();
  3179. eval("grd_" + tNameCart[sIdx]).row = eval("grd_" + tNameCart[sIdx]).rows - eval("grd_" + tNameCart[sIdx]).fixedRows;
  3180. eval("grd_" + tNameCart[sIdx]).topRow = eval("grd_" + tNameCart[sIdx]).row;
  3181. }
  3182. }
  3183. }
  3184. }
  3185. // --------------------------------------------------
  3186. // Copy Cart Instance Clear
  3187. // --------------------------------------------------
  3188. function fClearCopyCart() {
  3189. trace("fClearCopyCart()");
  3190. model.setValue(GoodCopy + "/oprsrvno", ""); // 01 수술예약(의뢰)번호 (년도 + 일련번호)
  3191. model.setValue(GoodCopy + "/cartgubn", ""); // 02 Cart구분 (O:수술,A:마취)
  3192. model.setValue(GoodCopy + "/ordseq", ""); // 03 처방순번
  3193. model.setValue(GoodCopy + "/instcd", ""); // 04 병원기관코드(코드정의서 Z0007 참조)
  3194. model.setValue(GoodCopy + "/goodcd", ""); // 05 물품코드
  3195. model.setValue(GoodCopy + "/allsizespecid", ""); // 06 ALLSIZE규격ID
  3196. model.setValue(GoodCopy + "/goodcls", ""); // 07 물품구분 1:Sutures,2:Supplies,3:Drug,4:Instrument,5:처치처방,6:수술소모품
  3197. model.setValue(GoodCopy + "/goodqty", ""); // 08 물품수량
  3198. model.setValue(GoodCopy + "/addreductqty", ""); // 09 가감수량
  3199. model.setValue(GoodCopy + "/payflagcd", ""); // 10 급여구분코드 (코드정의서 M0029 참조)
  3200. model.setValue(GoodCopy + "/oproomcd", ""); // 11 수술실코드
  3201. model.setValue(GoodCopy + "/prcpdd", ""); // 12 처방일자
  3202. model.setValue(GoodCopy + "/prcpno", ""); // 13 처방일자별 일련번호
  3203. model.setValue(GoodCopy + "/prcphistno", ""); // 14 처방이력생할때 마다 생성 (처방일자, 처방번호, 기관코드 기준)
  3204. model.setValue(GoodCopy + "/pid", ""); // 15 등록번호
  3205. model.setValue(GoodCopy + "/saveqty", ""); // 16 변경Check 수량 (물품수량 + 가감수량)
  3206. model.setValue(GoodCopy + "/outqty", ""); // 17 변경할 수량 (물품수량 + 가감수량)
  3207. model.setValue(GoodCopy + "/goodengnm", ""); // 18 물품(처방)명
  3208. model.setValue(GoodCopy + "/goodspec", ""); // 19 규격명
  3209. model.setValue(GoodCopy + "/prodcmpynm", ""); // 20 제조사
  3210. model.setValue(GoodCopy + "/goodmodel", ""); // 21 모델
  3211. model.setValue(GoodCopy + "/deliveunit", ""); // 22 단위
  3212. model.setValue(GoodCopy + "/oproomnm", ""); // 23 수술실명
  3213. model.setValue(GoodCopy + "/oproomdeptcd", ""); // 24 수술실부서코드
  3214. model.setValue(GoodCopy + "/recflag", ""); // 25 U:수정,I:입력구분
  3215. model.setValue(GoodCopy + "/delcheck", ""); // 26 삭제 CHECK
  3216. model.setValue(GoodCopy + "/deleteyn", ""); // 27 삭제 여부
  3217. model.setValue(GoodCopy + "/old_payflagcd", ""); // 10 급여구분코드 (코드정의서 M0029 참조)
  3218. model.setValue(GoodCopy + "/calculyn", ""); // 산정여부
  3219. model.setValue(GoodCopy + "/todd", ""); // 38 종료일자
  3220. model.setValue(GoodCopy + "/listodd", ""); // 39 진료지원종료일자
  3221. model.setValue(GoodCopy + "/spcmtodd", ""); // 40 진검종료일자
  3222. //20110328 이선경(경북대): 응급처방구분추가
  3223. model.setValue(GoodCopy + "/erprcpflag", ""); // 41 응급처방구분추가
  3224. }
  3225. // --------------------------------------------------
  3226. // 물품코드 상세 내역 조회
  3227. // --------------------------------------------------
  3228. function fRscdgoodData_Read() {
  3229. trace("fRscdgoodData_Read()");
  3230. model.removenode("/root/send");
  3231. var sInstcd = model.getValue("/root/init/instcd"); // 기관코드
  3232. var sGoodcd = model.getValue("/root/init/WorkData/InputGood/goodcd"); // 물품코드
  3233. var sAllsizespecid = model.getValue("/root/init/WorkData/InputGood/allsizespecid"); // ALLSIZE규격ID
  3234. if (sGoodcd == "") {
  3235. return;
  3236. }
  3237. model.makeValue("/root/send/instcd", sInstcd); // 기관코드
  3238. model.makeValue("/root/send/goodcd", sGoodcd); // 물품코드
  3239. model.makeValue("/root/send/allsizespecid", sAllsizespecid); // ALLSIZE규격ID
  3240. if (submit("TRMNP01803")) { // 물품코드 상세 내역 조회
  3241. var GoodNode = "/root/init/WorkData/InputGood";
  3242. var RsGood = "root/main/MnprdrugLists/rscdgoodlist";
  3243. model.setValue(GoodNode + "/goodcd", model.getValue(RsGood + "/goodcd")); // 물품코드
  3244. model.setValue(GoodNode + "/allsizespecid", model.getValue(RsGood + "/allsizespecid")); // ALLSIZE규격ID
  3245. model.setValue(GoodNode + "/goodengnm", model.getValue(RsGood + "/goodhngnm")); // 물품명
  3246. model.setValue(GoodNode + "/makernm", model.getValue(RsGood + "/prodcmpynm")); // 제조회사명
  3247. model.setValue(GoodNode + "/goodspec", model.getValue(RsGood + "/goodspec")); // 물품규격
  3248. model.setValue(GoodNode + "/goodmodel", model.getValue(RsGood + "/goodmodel")); // 모델
  3249. model.setValue(GoodNode + "/deliveunit", model.getValue(RsGood + "/deliveunit")); // 수불단위(R0039)
  3250. model.setValue(GoodNode + "/reuseyn", model.getValue(RsGood + "/reuseyn")); // -:None,1:재사용,2:분할사용
  3251. model.setValue(GoodNode + "/divusenvalqty", model.getValue(RsGood + "/divusenvalqty")); // 분할사용수치
  3252. model.setValue(GoodNode + "/ordseq", model.getValue(RsGood + "/cureflag")); // 1:suture,2:supplies, 3:instrument, 4: drug 5:처치구분
  3253. fMnprdrugData_Read(); //수술방별 안전재고와 재고량 내역 조회
  3254. grp_good.refresh();
  3255. }
  3256. }
  3257. // 물품수량변경 사유추가
  3258. function fPopupMemo(pIdx, pGrid) {
  3259. trace("fPopupMemo()");
  3260. var pRow = pGrid.row;
  3261. var GoodNode = "/root/init/WorkData/InputGood";
  3262. wGoodCd = pGrid.valueMatrix(pGrid.row, pGrid.colRef("goodcd"));
  3263. wGoodSz = pGrid.valueMatrix(pGrid.row, pGrid.colRef("allsizespecid"));
  3264. wGoodSq = pGrid.valueMatrix(pGrid.row, pGrid.colRef("ordseq"));
  3265. var wCartPath = gPathNode[8] + "/" + tPathCart[pIdx] + "[goodcd='" + wGoodCd + "' and allsizespecid='" + wGoodSz + "' and ordseq='" + wGoodSq + "']";
  3266. if (wGoodSq == "") {
  3267. wCartPath = gPathNode[8] + "/" + tPathCart[pIdx] + "[" + pRow + "]";
  3268. }
  3269. // alert(wGoodCd+"==>"+model.getValue(wCartPath2+"/goodengnm"));
  3270. setParameter("goodcd", model.getValue(wCartPath + "/goodcd")); // 01 물품코드
  3271. setParameter("allsizespecid", model.getValue(wCartPath + "/allsizespecid")); // 02 ALLSIZE규격ID
  3272. setParameter("goodengnm", model.getValue(wCartPath + "/goodengnm")); // 03 물품(처방)명
  3273. setParameter("goodspec", model.getValue(wCartPath + "/goodspec")); // 04 규격명
  3274. setParameter("goodmodel", model.getValue(wCartPath + "/goodmodel")); // 05 모델
  3275. setParameter("prodcmpynm", model.getValue(wCartPath + "/prodcmpynm")); // 06 제조사
  3276. setParameter("deliveunit", model.getValue(wCartPath + "/deliveunit")); // 07 단위
  3277. setParameter("outqty", model.getValue(wCartPath + "/outqty")); // 08 변경전 수량
  3278. setParameter("aftqty", model.getValue(wCartPath + "/outqty")); // 09 변경할 수량
  3279. setParameter("prcpmemo", model.getValue(wCartPath + "/prcpmemo")); // 10 변경사유
  3280. modal("SPMNP01800", "", "100", "100", "SPMNP01800", "", "");
  3281. var sAfterQty = getParameter("aftqty");
  3282. var sPrcpMemo = getParameter("prcpmemo");
  3283. if (sPrcpMemo == "") return;
  3284. model.setValue(wCartPath + "/outqty", sAfterQty); // 09 변경할 수량
  3285. model.setValue(wCartPath + "/prcpmemo", sPrcpMemo); // 10 변경사유
  3286. pGrid.refresh();
  3287. }
  3288. /**
  3289. *
  3290. * 약속 처방 조회 PopUp Click시 이벤트
  3291. */
  3292. function fOnClickNurOrderPopUp() {
  3293. trace("fOnClickNurOrderPopUp()");
  3294. fReSrchOpState(); // 수술진행상태 재조회 + 버튼 컨트로 처리
  3295. var xpos = 200; //event.screenX;
  3296. var ypos = 300; //event.screenY-300;
  3297. //modal("SPMNP01801" ,"", xpos, ypos, "SPMNP01801", "", "");
  3298. //2008-08-21 오전 12:28:09 taebum 약속 처방 조회시 현재 수술방의 방재고를 함께 조회하기 위한 파라미터 설정 추가
  3299. var sOproomcd = ds_main_MmohoprsLists_mmohoprslist.getColumn(0, "oproomcd");
  3300. var sCartGubn = ds_init_WorkData_cond.getColumn(0, "cartgubn");
  3301. var sInsuKind = ds_main_MmohoprsLists_mmohoprslist.getColumn(0, "insukindcd");
  3302. frmf_setParameter("SMMNP01801_oproomcd", sOproomcd);
  3303. frmf_setParameter("SMMNP01801_cartgubn", sCartGubn);
  3304. frmf_setParameter("SMMNP01801_insukindcd", sInsuKind);
  3305. frmf_open("SPMNP01801", "SPMNP01801", null, null, 1, 200, 300, null, null, null, null, null, "M");
  3306. }
  3307. /**
  3308. *
  3309. * Cart 복사 조회 PopUp Click시 이벤트
  3310. */
  3311. function fOnClickCartCopyPopUp() {
  3312. trace("fOnClickCartCopyPopUp()");
  3313. fReSrchOpState(); // 수술진행상태 재조회 + 버튼 컨트로 처리
  3314. var xpos = 200; //event.screenX;
  3315. var ypos = 300; //event.screenY-300;
  3316. //2008-08-21 오전 12:28:09 taebum 약속 처방 조회시 현재 수술방의 방재고를 함께 조회하기 위한 파라미터 설정 추가
  3317. var sOproomcd = ds_main_MmohoprsLists_mmohoprslist.getColumn(0, "oproomcd");
  3318. var sCartGubn = ds_init_WorkData_cond.getColumn(0, "cartgubn");
  3319. var sAnstCart = ds_init_WorkData_cond.getColumn(0, "anstcartyn");
  3320. var sInsuKind = ds_main_MmohoprsLists_mmohoprslist.getColumn(0, "insukindcd");
  3321. frmf_setParameter("SPMNP01802_oproomcd", sOproomcd);
  3322. frmf_setParameter("SPMNP01802_cartgubn", sCartGubn);
  3323. frmf_setParameter("SPMNP01802_insukindcd", sInsuKind);
  3324. if ((sCartGubn == "A" || sCartGubn == "R") && (sAnstCart == "Y")) { //마취, 회복이면서 마취카트 사용여부 Y이면 마취카트 복사 팝업으로
  3325. frmf_open("SPMNP01805", "SPMNP01805", null, null, 1, 200, 300, null, null, null, null, null, "M"); //yjh : 커밋
  3326. } else {
  3327. frmf_open("SPMNP01802", "SPMNP01802", null, null, 1, 200, 300, null, null, null, null, null, "M");
  3328. }
  3329. }
  3330. /**
  3331. *
  3332. * 물품 찾기 조회 PopUp Click시 이벤트
  3333. */
  3334. function fOnClickSearchGoodPopUp() {
  3335. trace("fOnClickSearchGoodPopUp()");
  3336. fReSrchOpState(); // 수술진행상태 재조회 + 버튼 컨트로 처리
  3337. var xpos = 200; //event.screenX;
  3338. var ypos = 300; //event.screenY-300;
  3339. //2008-08-21 오전 12:28:09 taebum 약속 처방 조회시 현재 수술방의 방재고를 함께 조회하기 위한 파라미터 설정 추가
  3340. var sOproomcd = utlf_transNullToEmpty(ds_main_MmohoprsLists_mmohoprslist.getColumn(0, "oproomcd"));
  3341. var sCartGubn = utlf_transNullToEmpty(ds_init_WorkData_cond.getColumn(0, "cartgubn"));
  3342. var sInsuKind = utlf_transNullToEmpty(ds_main_MmohoprsLists_mmohoprslist.getColumn(0, "insukindcd"));
  3343. var CartStat = utlf_transNullToEmpty(ds_init_WorkData_cond.getColumn(0, "cartstat"));
  3344. var oprsrvno = utlf_transNullToEmpty(ds_main_MmohoprsLists_mmohoprslist.getColumn(0, "oprsrvno"));
  3345. frmf_setParameter("SPMNP01601_ccrtstat", CartStat);
  3346. frmf_setParameter("SPMNP01601_oproomcd", sOproomcd);
  3347. frmf_setParameter("SPMNP01601_cartgubn", sCartGubn);
  3348. frmf_setParameter("SPMNP01601_insukindcd", sInsuKind);
  3349. frmf_setParameter("SPMNP01601_oprsrvno", oprsrvno);
  3350. frmf_open("SPMNP01601", "SPMNP01601", null, null, 1, 200, 300, null, null, null, null, null, "M");
  3351. }
  3352. // 물품코드 popup Data Display - SPMNP01601.js에서 옮겨옴. taebum 2008-07-31 오전 10:15:05
  3353. function fGoodDataDisplay(pParamList) {
  3354. trace("fGoodDataDisplay()");
  3355. //fReSrchOpState(); // 수술진행상태 재조회 + 버튼 컨트로 처리
  3356. var iParamData = utlf_transNullToEmpty(pParamList).split("▩");
  3357. var closeyn = frmf_getParameter("SPMNP01601_closeyn");
  3358. var sIdx = 0; //물품분류
  3359. var idx = ""; //물품입력 노드 index
  3360. var sPurcFlag = ""; //물품청구구분
  3361. var cnt0idx = 0;
  3362. var cnt1idx = 0;
  3363. var cnt2idx = 0;
  3364. var cnt3idx = 0;
  3365. var cnt4idx = 0;
  3366. var cnt5idx = 0;
  3367. var tempCartGb = ds_init_WorkData_cond.getColumn(0, "cartgubn");
  3368. /*
  3369. //2008-08-18 오후 1:30:21 taebum 회복은 R로 처리
  3370. if(tempCartGb == "R"){
  3371. tempCartGb = "O";
  3372. }
  3373. */
  3374. var vGoodCrFlag = "E";
  3375. if (group3.grp_ord.bbt_tSave.enable == true) {
  3376. vGoodCrFlag = "S";
  3377. }
  3378. //20181002 이돈희 : 의뢰상태에서 임시저장시 각 카트의 GOODCRFLAG가 E 가 되어, 중앙공급실에서 불출시에 ccol로 복사 안되는 현상 수정
  3379. if (group3.grp_ord.btn_tempcart.enable == true) {
  3380. vGoodCrFlag = "S";
  3381. }
  3382. for (var ii = 0; ii < iParamData.length; ii++) {
  3383. pData = utlf_transNullToEmpty(iParamData[ii]);
  3384. var iSplit_Value = pData.split("|");
  3385. if (!utlf_isNull(iSplit_Value[0])) {
  3386. var GoodCd = iSplit_Value[0];
  3387. if (fCheckGoodCd(GoodCd)) {
  3388. sIdx = iSplit_Value[4];
  3389. sPurcFlag = iSplit_Value[12];
  3390. if (utlf_isNull(sIdx)) {
  3391. idx = 0;
  3392. } else {
  3393. idx = fChngNodeValue(sIdx, sPurcFlag);
  3394. if (idx == "0") {
  3395. cnt0idx++;
  3396. } else if (idx == "1") {
  3397. cnt1idx++;
  3398. } else if (idx == "2") {
  3399. cnt2idx++;r
  3400. } else if (idx == "3") {
  3401. cnt3idx++;
  3402. } else if (idx == "4") {
  3403. cnt4idx++;
  3404. }
  3405. }
  3406. //2008-10-07 오전 11:45:43 taebum
  3407. //var iCartNode = gPathNode[8]+"/"+tPathCart[sIdx] ;
  3408. var iCartNode = eval(gPathNode[8] + tPathCart[idx]);
  3409. var GoodNode = eval("ds_init_WorkData_" + tPathCart[idx]);
  3410. var xNode = GoodNode;
  3411. if (xNode.rowcount == 0) {
  3412. GoodNode.addRow();
  3413. GoodNode.copyRow(0, GoodCopy, 0);
  3414. }
  3415. GoodNode.setColumn(0, "oprsrvno", eval(gPathNode[6]).getColumn(0, "oprsrvno")); // 01 수술예약(의뢰)번호 (년도 + 일련번호)
  3416. GoodNode.setColumn(0, "cartgubn", tempCartGb); // 02 Cart구분 (O:수술,A:마취)
  3417. GoodNode.setColumn(0, "ordseq", ""); // 03 처방순번
  3418. GoodNode.setColumn(0, "instcd", ""); // 04 병원기관코드(코드정의서 Z0007 참조)
  3419. GoodNode.setColumn(0, "goodcd", iSplit_Value[0]); // 05 물품코드
  3420. GoodNode.setColumn(0, "allsizespecid", iSplit_Value[2]); // 06 ALLSIZE규격ID
  3421. GoodNode.setColumn(0, "goodcls", iSplit_Value[4]); // 07 물품구분 1:Sutures,2:Supplies,3:Drug,4:Instrument,5:처치처방,6:수술소모품
  3422. //20101123KNUH_김병국, goodqty, addreductqty, saveqty, outqty
  3423. //20110107KNUH_김병국 goodqty = 0으로 수정.
  3424. GoodNode.setColumn(0, "goodqty", "0"); // 08 물품수량
  3425. if (closeyn == "Y") {
  3426. GoodNode.setColumn(0, "addreductqty", iSplit_Value[19]); // 09 가감수량
  3427. GoodNode.setColumn(0, "saveqty", iSplit_Value[19]); // 16 변경Check 수량 (물품수량 + 가감수량)
  3428. GoodNode.setColumn(0, "outqty", iSplit_Value[19]); // 17 변경할 수량 (물품수량 + 가감수량)
  3429. } else {
  3430. GoodNode.setColumn(0, "addreductqty", "1"); // 09 가감수량
  3431. GoodNode.setColumn(0, "saveqty", "1"); // 16 변경Check 수량 (물품수량 + 가감수량)
  3432. GoodNode.setColumn(0, "outqty", "1"); // 17 변경할 수량 (물품수량 + 가감수량)
  3433. }
  3434. GoodNode.setColumn(0, "payflagcd", iSplit_Value[14]); // 10 급여구분코드 (코드정의서 M0029 참조)
  3435. if (closeyn == "Y") {
  3436. GoodNode.setColumn(0, "oproomcd", iSplit_Value[18]); // 11 수술실코드
  3437. } else {
  3438. GoodNode.setColumn(0, "oproomcd", eval(gPathNode[6]).getColumn(0, "oproomcd")); // 11 수술실코드
  3439. }
  3440. GoodNode.setColumn(0, "prcpdd", ""); // 12 처방일자
  3441. GoodNode.setColumn(0, "prcpno", "0"); // 13 처방일자별 일련번호
  3442. GoodNode.setColumn(0, "prcphistno", "0"); // 14 처방이력생할때 마다 생성 (처방일자, 처방번호, 기관코드 기준)
  3443. GoodNode.setColumn(0, "pid", eval(gPathNode[6]).getColumn(0, "pid")); // 15 등록번호
  3444. GoodNode.setColumn(0, "goodengnm", iSplit_Value[1]); // 18 물품(처방)명
  3445. GoodNode.setColumn(0, "goodspec", iSplit_Value[5]); // 19 규격명
  3446. GoodNode.setColumn(0, "prodcmpynm", iSplit_Value[3]); // 20 제조사
  3447. GoodNode.setColumn(0, "goodmodel", iSplit_Value[6]); // 21 모델
  3448. GoodNode.setColumn(0, "deliveunit", iSplit_Value[7]); // 22 불출단위
  3449. //model.setValue(GoodNode + "/oproomnm" , model.getValue(gPathNode[6] +"/oproomnm" ) ); // 23 수술실명
  3450. if (closeyn == "Y") {
  3451. GoodNode.setColumn(0, "oproomnm", iSplit_Value[20]); // 23 수술실명
  3452. } else {
  3453. GoodNode.setColumn(0, "oproomnm", vOproomnm); // 23 수술실명
  3454. }
  3455. GoodNode.setColumn(0, "oproomdeptcd", eval(gPathNode[6]).getColumn(0, "oproomdeptcd")); // 24 수술실부서코드
  3456. GoodNode.setColumn(0, "recflag", "I"); // 25 U:수정,I:입력구분
  3457. GoodNode.setColumn(0, "drugmthdspccd", iSplit_Value[8]); // 28 투여방법 및 검체코드
  3458. //2008-08-21 오전 8:09:46 taebum add
  3459. GoodNode.setColumn(0, "stocqty", iSplit_Value[9]); // 29 실재고량
  3460. GoodNode.setColumn(0, "acmlbaseqty", iSplit_Value[10]); // 29 기준수량
  3461. GoodNode.setColumn(0, "reqmthd", iSplit_Value[11]); // 30 청구방법
  3462. //2009-03-09 ycd 물품발생구분(정규 : S , 응급 : E )
  3463. GoodNode.setColumn(0, "goodcrflag", vGoodCrFlag); // 31 물품발생구분(S : 정규, E : 응급 )
  3464. GoodNode.setColumn(0, "prcpunit", iSplit_Value[7]); // 22 처방단위
  3465. GoodNode.setColumn(0, "purcflag", iSplit_Value[12]); // 32 청구방법
  3466. GoodNode.setColumn(0, "prcpclscd", iSplit_Value[13]); // 33 처방구분
  3467. GoodNode.setColumn(0, "old_payflagcd", iSplit_Value[14]); // 10 급여구분코드 (코드정의서 M0029 참조)
  3468. GoodNode.setColumn(0, "calculyn", iSplit_Value[15]); // 34 산정여부
  3469. GoodNode.setColumn(0, "insuyn", iSplit_Value[16]); // 36 수가대상여부
  3470. GoodNode.setColumn(0, "calcscorcd", iSplit_Value[17]); // 37 수가코드
  3471. GoodNode.setColumn(0, "todd", "99991231"); // 38 종료일자
  3472. GoodNode.setColumn(0, "listodd", "99991231"); // 39 진료지원종료일자
  3473. GoodNode.setColumn(0, "spcmtodd", "99991231"); // 40 진검종료일자
  3474. GoodNode.setColumn(0, "anamneflag", "0"); // 기왕증유무
  3475. GoodNode.setColumn(0, "subcretno", "0"); // 부유형(subcretno)
  3476. GoodNode.setColumn(0, "erbgcd", ""); // 부유형(subcretno)
  3477. //중복된 내역이 있을 경우 insert하지 않는다.
  3478. var iDataCnt = iCartNode.rowcount;
  3479. var bSameFlag = false;
  3480. if (iDataCnt > 0) {
  3481. var sTempRecflag = "";
  3482. var sTempGoodcd = "";
  3483. var sTempAllsize = "";
  3484. for (var k = 0; k < iDataCnt; k++) {
  3485. sTempRecflag = iCartNode.getColumn(k, "recflag");
  3486. sTempGoodcd = iCartNode.getColumn(k, "goodcd");
  3487. sTempAllsize = iCartNode.getColumn(k, "allsizespecid");
  3488. if (sTempRecflag == "I" && iSplit_Value[0] == sTempGoodcd && iSplit_Value[2] == sTempAllsize) {
  3489. bSameFlag = true;
  3490. }
  3491. }
  3492. }
  3493. //2008-10-03 오후 11:42:31 taebum 중복 처방 발생시 알림 처리
  3494. if (bSameFlag == true) {
  3495. if (sysf_messageBox(iSplit_Value[0] + "는 중복된 처방입니다. ", "Q008") != 6) {
  3496. sysf_messageBox("취소 되었습니다.", "I000");
  3497. bSameFlag = true;
  3498. } else {
  3499. bSameFlag = false;
  3500. }
  3501. }
  3502. if (bSameFlag == false) {
  3503. xNode = iCartNode;
  3504. if (xNode.rowcount == 0) {
  3505. iCartNode.addRow();
  3506. iCartNode.copyRow(0, GoodNode, 0);
  3507. if( (gPathNode[8] + tPathCart[idx]) == "ds_main_CartOrdData_ListSupplies" ){
  3508. iCartNode.setColumn(0, "colEdittype9", "combo");
  3509. iCartNode.setColumn(0, "colEdit21", "checkbox");
  3510. iCartNode.setColumn(0, "colBack21", "");
  3511. iCartNode.setColumn(0, "colBorder21", "");
  3512. iCartNode.setColumn(0, "colEdittype24", "combo");
  3513. }else if( (gPathNode[8] + tPathCart[idx]) == "ds_main_CartOrdData_ListDrug" ){
  3514. iCartNode.setColumn(0, "colEdittype13", "combo");
  3515. }
  3516. } else {
  3517. //tPathCart[idx]
  3518. var nRow = eval(gPathNode[8] + tPathCart[idx]).addRow();
  3519. eval(gPathNode[8] + tPathCart[idx]).copyRow(nRow, GoodNode, 0);
  3520. if( (gPathNode[8] + tPathCart[idx]) == "ds_main_CartOrdData_ListSupplies" ){
  3521. eval(gPathNode[8] + tPathCart[idx]).setColumn(nRow, "colEdittype9", "combo");
  3522. eval(gPathNode[8] + tPathCart[idx]).setColumn(nRow, "colEdit21", "checkbox");
  3523. eval(gPathNode[8] + tPathCart[idx]).setColumn(nRow, "colBack21", "");
  3524. eval(gPathNode[8] + tPathCart[idx]).setColumn(nRow, "colBorder21", "");
  3525. eval(gPathNode[8] + tPathCart[idx]).setColumn(nRow, "colEdittype24", "combo");
  3526. }else if( (gPathNode[8] + tPathCart[idx]) == "ds_main_CartOrdData_ListDrug" ){
  3527. eval(gPathNode[8] + tPathCart[idx]).setColumn(nRow, "colEdittype13", "combo");
  3528. }
  3529. }
  3530. // eval("grd_"+tNameCart[sIdx]).rowStyle(i, "data", "color") = "#ff00ff";
  3531. //eval("grd_"+tNameCart[idx]).refresh();
  3532. //eval("grd_"+tNameCart[idx]).row = eval("grd_"+tNameCart[idx]).rows - eval("grd_"+tNameCart[idx]).fixedRows;
  3533. //eval("grd_"+tNameCart[idx]).topRow = eval("grd_"+tNameCart[idx]).row;
  3534. }
  3535. }
  3536. }
  3537. }
  3538. // if(ds_main_CartOrdData_ListSupplies.rowcount > 0){ //yjh2
  3539. // dsf_setDefaultVal(ds_main_CartOrdData_ListSupplies, "colEdit21:checkbox");
  3540. // }
  3541. for (var k = 0; k < 5; k++) {
  3542. if (eval("cnt" + k + "idx") > 0) {
  3543. for( var i=0 ; i<eval(eval(sGridNm[k]).binddataset).rowcount ; i++ ){
  3544. eval(eval(sGridNm[k]).binddataset).selectRow(i, false);
  3545. }
  3546. eval(eval(sGridNm[k]).binddataset).selectRow(eval(eval(sGridNm[k]).binddataset).rowcount - 1);
  3547. eval(eval(sGridNm[k]).binddataset).rowposition = eval(eval(sGridNm[k]).binddataset).rowcount - 1;
  3548. }
  3549. }
  3550. //20110418 이선경(경북대) : 정규처방이면 응급처방구분은 비활성화
  3551. if (vGoodCrFlag == "S") {
  3552. for (var idx = (group3.grp_ord.switch1.case3.grd_supplies.rowcount - iParamData.length - 1); idx < group3.grp_ord.switch1.case3.grd_supplies.rowcount; idx++) {
  3553. // var sExprEdit = group3.grp_ord.switch1.case3.grd_supplies.getCellProperty("Body", 21, "edittype");
  3554. //
  3555. // if (sExprEdit.indexOf("currow == " + idx + " ? 'none' : ") < 0) {
  3556. // sExprEdit = sExprEdit.replace("'checkbox'", "") +
  3557. // "currow == " + idx + " ? 'none' : " +
  3558. // "'checkbox'";
  3559. //
  3560. // group3.grp_ord.switch1.case3.grd_supplies.setCellProperty("Body", 21, "edittype", sExprEdit);
  3561. // }
  3562. ds_main_CartOrdData_ListSupplies.setColumn(idx, "colEdit21", "none");
  3563. ds_main_CartOrdData_ListSupplies.setColumn(idx, "colBack21", "silver");
  3564. ds_main_CartOrdData_ListSupplies.setColumn(idx, "colBorder21", "1 solid #708090cc");
  3565. }
  3566. }
  3567. }
  3568. /**
  3569. * @group :
  3570. * @ver : 2009.03.05
  3571. * @by : 양천덕
  3572. * @---------------------------------------------------
  3573. * @type : function
  3574. * @access : public
  3575. * @desc : 물품분류와 청구구분에 따른 세팅 Node Index 설정
  3576. * @param : pFlag1 => 물품분류
  3577. * pFlag2 => 청구구분(purcflag)
  3578. * @return : idx => 세팅 Node Index
  3579. * @---------------------------------------------------
  3580. */
  3581. function fChngNodeValue(pFlag1, pFlag2) {
  3582. trace("fChngNodeValue()");
  3583. if (pFlag2 == "3") { //가납물품
  3584. idx = "4";
  3585. } else { //가납물품이 아닐 경우
  3586. if (pFlag1 == "6" || pFlag1 == "10") { //수술소모품, 린넨
  3587. idx = "3";
  3588. } else if (pFlag1 == "3") { //DRUG
  3589. idx = "1";
  3590. } else if (pFlag1 == "4") { //INSTRUMENT
  3591. idx = "2";
  3592. } else {
  3593. idx = "0"; //봉합사, 공급물품, 처치, Sheet, Glove, 일반물품
  3594. }
  3595. }
  3596. return idx;
  3597. }
  3598. /**
  3599. * @group :
  3600. * @ver : 2009.03.06
  3601. * @by : 양천덕
  3602. * @---------------------------------------------------
  3603. * @type : function
  3604. * @access : public
  3605. * @desc : 화면 오른쪽 마우스 팝업 설정
  3606. * @param : pData => 1 : NodeIndex
  3607. * 2 : ProcValue
  3608. * @param :
  3609. * @return :
  3610. * @---------------------------------------------------
  3611. */
  3612. function fShowPopup(pData) {
  3613. var pDataArray = utlf_transNullToEmpty(pData).split("*");
  3614. if (pDataArray.length < 3) {
  3615. sysf_messageBox("실행할 처방을 선택하십시오.", "I000");
  3616. return;
  3617. }
  3618. var pNodeIdx = pDataArray[0]; //물품분류
  3619. var pProcIdx = pDataArray[1]; //처리코드
  3620. var pSrow = pDataArray[2]; //선택Row
  3621. fGoodClick(pNodeIdx, eval(sGridNm[pNodeIdx]));
  3622. var xpos = 200; //event.screenX;
  3623. var ypos = 300;
  3624. switch (pProcIdx) {
  3625. case "0": //행추가
  3626. fAddGoodRowCopy();
  3627. break;
  3628. case "1": //다른방 재고 사용 처리
  3629. var objArg = new Object();
  3630. objArg.arg_ds_main_MnprdrugLists_mnprdruglist = ds_main_MnprdrugLists_mnprdruglist;
  3631. frmf_open("SPMNP01803", "SPMNP01803", objArg, null, 1, 200, 300, null, null, null, null, null, "M"); //yjh : 커밋
  3632. //fMnphcrusSave(); // SPMNP01803 화면 종료시 실행되므로 주석처리
  3633. break;
  3634. case "2": //급비변경 처리
  3635. ds_main_CartOrdData_ChngInfo.copyData(eval(gPathNode[8] + tPathCart[pNodeIdx]));
  3636. ds_main_CartOrdData_ChngInfo.clearData();
  3637. ds_main_CartOrdData_ChngInfo.addRow();
  3638. ds_main_CartOrdData_ChngInfo.copyRow(0, eval(gPathNode[8] + tPathCart[pNodeIdx]), pSrow);
  3639. var objArg = new Object();
  3640. objArg.arg_ds_main_CartOrdData_ChngInfo = ds_main_CartOrdData_ChngInfo;
  3641. frmf_modal("SPMNP01804", "SPMNP01804", objArg, "", 1, 200, 300, "", "", "", "", "", "M"); //yjh : 커밋
  3642. if (eval(gPathNode[8] + tPathCart[pNodeIdx]).getColumn(pSrow, "payflagcd") != frmf_getParameter("SPMNP01804_Return") &&
  3643. !utlf_isNull(frmf_getParameter("SPMNP01804_Return"))) {
  3644. eval(gPathNode[8] + tPathCart[pNodeIdx]).setColumn(pSrow, "payflagcd", frmf_getParameter("SPMNP01804_Return"));
  3645. }
  3646. break;
  3647. default:
  3648. break;
  3649. }
  3650. }
  3651. /**
  3652. * @group :
  3653. * @ver : 2009.03.06
  3654. * @by : 양천덕
  3655. * @---------------------------------------------------
  3656. * @type : function
  3657. * @access : public
  3658. * @desc : 수술 야간응급 지정/취소 설정
  3659. * @param : sParam => Y : 야간응급 , N : 일반
  3660. * @return :
  3661. * @---------------------------------------------------
  3662. */
  3663. function fChngNigtOpYn(sParam) {
  3664. trace("fChngNigtOpYn()");
  3665. var NigtOpYnMsg = "";
  3666. if (sParam == "Y") {
  3667. NigtOpYnMsg = sysf_messageBox("야간응급 지정을", "Q004");
  3668. } else {
  3669. NigtOpYnMsg = sysf_messageBox("야간응급 지정 취소를", "Q004");
  3670. }
  3671. if (NigtOpYnMsg == "6") {
  3672. ds_send.setColumn(0, "instcd", utlf_transNullToEmpty(eval(gPathNode[7]).getColumn(0, "instcd"))); // 기관코드
  3673. ds_send.setColumn(0, "oprsrvno", utlf_transNullToEmpty(eval(gPathNode[7]).getColumn(0, "oprsrvno"))); // 수술예약(의뢰)번호 (년도 + 일련번호)
  3674. ds_send.setColumn(0, "ophistno", utlf_transNullToEmpty(eval(gPathNode[7]).getColumn(0, "ophistno"))); // 예약번호에따른이력번호
  3675. ds_send.setColumn(0, "ophistcd", utlf_transNullToEmpty(eval(gPathNode[7]).getColumn(0, "ophistcd"))); // 수술예약의이력코드
  3676. ds_send.setColumn(0, "prcpamtaddyn", sParam == "N" ? '' : utlf_transNullToEmpty(sParam)); // 야간응급지정구분
  3677. var oParam = {};
  3678. oParam.id = "TXMNP01807";
  3679. oParam.service = "opanstapp.OpAnstCCrtGoodMngt";
  3680. oParam.method = "reqExeChngNigtOpFlag";
  3681. oParam.inds = "req=ds_send";
  3682. oParam.outds = "ds_temp_rtninfo=rtninfo";
  3683. oParam.async = false;
  3684. oParam.callback = "cf_TXMNP01807";
  3685. tranf_submit(oParam);
  3686. if (arErrorCode.pop("TXMNP01807") > -1) {
  3687. if (ds_temp_rtninfo.getColumn(0, "rtnflag") != "1") {
  3688. sysf_messageBox("실행을", "E009");
  3689. if (utlf_isNull(eval(gPathNode[6]).getColumn(0, "prcpamtaddyn"))) {
  3690. eval(gPathNode[6]).setColumn(0, "prcpamtaddyn", "Y");
  3691. } else {
  3692. eval(gPathNode[6]).setColumn(0, "prcpamtaddyn", "");
  3693. }
  3694. }
  3695. } else {
  3696. if (utlf_isNull(eval(gPathNode[6]).getColumn(0, "prcpamtaddyn"))) {
  3697. eval(gPathNode[6]).setColumn(0, "prcpamtaddyn", "Y");
  3698. } else {
  3699. eval(gPathNode[6]).setColumn(0, "prcpamtaddyn", "");
  3700. }
  3701. }
  3702. } else {
  3703. if (sParam == "Y") {
  3704. ds_main_MmohoprsLists_mmohoprslist.setColumn(0, "prcpamtaddyn", "");
  3705. } else {
  3706. ds_main_MmohoprsLists_mmohoprslist.setColumn(0, "prcpamtaddyn", "Y");
  3707. }
  3708. return;
  3709. }
  3710. }
  3711. function cf_TXMNP01807(sSvcId, nErrorCode, sErrorMsg) {
  3712. arErrorCode.push(sSvcId, nErrorCode);
  3713. }
  3714. /**
  3715. * @desc : 수술간호처방 SignData 생성
  3716. * @
  3717. * @param : signbfcnts - 인증 전 데이터
  3718. * : signuserid - 인증자ID
  3719. * : signcnfmflag - 인증확인여부
  3720. * @return :
  3721. * @author : 양천덕 2009. 3. 11
  3722. * @---------------------------------------------------
  3723. */
  3724. function fMakeSignData(signbfcnts, userid, signcnfmflag) {
  3725. return zesf_SignData(signbfcnts, userid, signcnfmflag); //comm_inf.xjs
  3726. }
  3727. /**
  3728. * @desc : 수술진행상태 재조회
  3729. * @
  3730. * @param :
  3731. * @return :
  3732. * @author : 양천덕 2009. 3. 16
  3733. * @---------------------------------------------------
  3734. */
  3735. function fReSrchOpState() {
  3736. fMmohoprsData_Read("P");
  3737. fButtonControl();
  3738. }
  3739. /**
  3740. * @desc : 화면 그리드 크기 조정
  3741. * @
  3742. * @param :
  3743. * @return :
  3744. * @author : 양천덕 2009. 3. 16
  3745. * @---------------------------------------------------
  3746. */
  3747. function fGridSizeChng(pParam) {
  3748. /*
  3749. ====> case 1
  3750. 1 caption : style="left:5px; top:7px; width:74px; height:13px; background-image:../../../com/commonweb/images/tit_bullet2.gif; "
  3751. 1 line : style="x1:5px; y1:23px; x2:1185px; y2:23px; "
  3752. 1 grid : style="left:5px; top:28px; width:1180px; height:170px; "
  3753. T =>
  3754. B => t : X h : 517px
  3755. 2 c : 551px 3 c : top:575px;
  3756. 2 l : 567px 3 l : 591px;
  3757. 2 bt : 549px 3 bt : top:573px;
  3758. 2 tt : 549px 3 tt : top:573px;
  3759. 2 caption : style="left:5px; top:204px; width:114px; height:13px; background-image:../../../com/commonweb/images/tit_bullet2.gif; "
  3760. 2 line : style="x1:5px; y1:220px; x2:1185px; y2:220px; "
  3761. 2 grid : style="left:5px; top:225px; width:1180px; height:170px; "
  3762. T =>
  3763. B => t : 54px h : 516px
  3764. 2 c : 33px 3 c : top:575px;
  3765. 2 l : 49px 3 l : 591px;
  3766. 2 bt : 31px 3 bt : top:573px;
  3767. 2 tt : 31px 3 tt : top:573px;
  3768. 3 caption : style="left:5px; top:402px; width:89px; height:13px; background-image:../../../com/commonweb/images/tit_bullet2.gif; "
  3769. 3 line : style="x1:5px; y1:418px; x2:1185px; y2:418px; "
  3770. 3 grid : style="left:5px; top:423px; width:1180px; height:170px; "
  3771. T =>
  3772. B => t : 79px h : 515px
  3773. 2 c : 33px 3 c : top:58px;
  3774. 2 l : 49px 3 l : 74px;
  3775. 2 bt : 31px 3 bt : top:56px;
  3776. 2 tt : 31px 3 tt : top:56px;
  3777. ====> case 2
  3778. 1 caption :
  3779. 1 line :
  3780. 1 grid :
  3781. 2 caption :
  3782. 2 line :
  3783. 2 grid :
  3784. */
  3785. //20170324 이돈희 수정 : 창 크기에 맞추어 각 위치 설정
  3786. var varSwitchOffset = 32;
  3787. var varCationOffset = 5;
  3788. var varBtnOffset = 4;
  3789. var varGridOffset = 2;
  3790. var varBtnHeight = 17;
  3791. var varCationHeight = 16;
  3792. var varHeight = group3.grp_ord.switch1.position.height;
  3793. switch (pParam) {
  3794. case "T1":
  3795. case "T2":
  3796. case "T3":
  3797. group3.grp_ord.switch1.case3.btn_resizeT1.visible = false;
  3798. group3.grp_ord.switch1.case3.btn_resizeT2.visible = false;
  3799. group3.grp_ord.switch1.case3.btn_resizeT3.visible = false;
  3800. group3.grp_ord.switch1.case3.btn_resizeB1.visible = true;
  3801. group3.grp_ord.switch1.case3.btn_resizeB2.visible = true;
  3802. group3.grp_ord.switch1.case3.btn_resizeB3.visible = true;
  3803. group3.grp_ord.switch1.case3.grd_diposit.visible = true;
  3804. group3.grp_ord.switch1.case3.grd_diposit.position.height = 186;
  3805. group3.grp_ord.switch1.case3.grd_supplies.visible = true;
  3806. group3.grp_ord.switch1.case3.grd_supplies.position.top = 232;
  3807. group3.grp_ord.switch1.case3.grd_supplies.position.height = 186;
  3808. group3.grp_ord.switch1.case3.cpd_supplies.position.top = 214;
  3809. group3.grp_ord.switch1.case3.cpd_supplies.position.height = varCationHeight;
  3810. group3.grp_ord.switch1.case3.btn_resizeT2.position.top = 213;
  3811. group3.grp_ord.switch1.case3.btn_resizeT2.position.height = varBtnHeight;
  3812. group3.grp_ord.switch1.case3.btn_resizeB2.position.top = 213;
  3813. group3.grp_ord.switch1.case3.btn_resizeB2.position.height = varBtnHeight;
  3814. group3.grp_ord.switch1.case3.grd_drug.visible = true;
  3815. group3.grp_ord.switch1.case3.grd_drug.position.top = 441;
  3816. group3.grp_ord.switch1.case3.grd_drug.position.bottom = group3.grp_ord.switch1.position.height - varSwitchOffset;
  3817. group3.grp_ord.switch1.case3.caption17.position.top = 423;
  3818. group3.grp_ord.switch1.case3.caption17.position.height = varCationHeight;
  3819. group3.grp_ord.switch1.case3.btn_resizeT3.position.top = 422;
  3820. group3.grp_ord.switch1.case3.btn_resizeT3.position.height = varBtnHeight;
  3821. group3.grp_ord.switch1.case3.btn_resizeB3.position.top = 422;
  3822. group3.grp_ord.switch1.case3.btn_resizeB3.position.height = varBtnHeight;
  3823. break;
  3824. case "T4":
  3825. case "T5":
  3826. group3.grp_ord.switch1.case4.btn_resizeT4.visible = false;
  3827. group3.grp_ord.switch1.case4.btn_resizeT5.visible = false;
  3828. group3.grp_ord.switch1.case4.btn_resizeB4.visible = true;
  3829. group3.grp_ord.switch1.case4.btn_resizeB5.visible = true;
  3830. group3.grp_ord.switch1.case4.grd_instrument.visible = true;
  3831. group3.grp_ord.switch1.case4.grd_instrument.position.height = 290;
  3832. group3.grp_ord.switch1.case4.grd_opsupply.visible = true;
  3833. group3.grp_ord.switch1.case4.grd_opsupply.position.top = 337;
  3834. group3.grp_ord.switch1.case4.grd_opsupply.position.bottom = group3.grp_ord.switch1.position.height - varSwitchOffset;
  3835. group3.grp_ord.switch1.case4.caption5.position.top = 319;
  3836. group3.grp_ord.switch1.case4.caption5.position.height = varCationHeight;
  3837. group3.grp_ord.switch1.case4.btn_resizeT5.position.top = 318;
  3838. group3.grp_ord.switch1.case4.btn_resizeT5.position.height = varBtnHeight;
  3839. group3.grp_ord.switch1.case4.btn_resizeB5.position.top = 318;
  3840. group3.grp_ord.switch1.case4.btn_resizeB5.position.height = varBtnHeight;
  3841. break;
  3842. case "B1":
  3843. group3.grp_ord.switch1.case3.btn_resizeT1.visible = true;
  3844. group3.grp_ord.switch1.case3.btn_resizeT2.visible = false;
  3845. group3.grp_ord.switch1.case3.btn_resizeT3.visible = false;
  3846. group3.grp_ord.switch1.case3.btn_resizeB1.visible = false;
  3847. group3.grp_ord.switch1.case3.btn_resizeB2.visible = true;
  3848. group3.grp_ord.switch1.case3.btn_resizeB3.visible = true;
  3849. //하부 위치 설정
  3850. group3.grp_ord.switch1.case3.grd_drug.visible = false;
  3851. group3.grp_ord.switch1.case3.caption17.position.top = varHeight - varSwitchOffset - group3.grp_ord.switch1.case3.caption17.position.height;
  3852. group3.grp_ord.switch1.case3.caption17.position.height = varCationHeight;
  3853. group3.grp_ord.switch1.case3.btn_resizeT3.position.top = varHeight - varSwitchOffset - group3.grp_ord.switch1.case3.btn_resizeT3.position.height;
  3854. group3.grp_ord.switch1.case3.btn_resizeT3.position.height = varBtnHeight;
  3855. group3.grp_ord.switch1.case3.btn_resizeB3.position.top = group3.grp_ord.switch1.case3.btn_resizeT3.position.top;
  3856. group3.grp_ord.switch1.case3.btn_resizeB3.position.height = group3.grp_ord.switch1.case3.btn_resizeT3.position.height;
  3857. //중부 위치 설정
  3858. group3.grp_ord.switch1.case3.grd_supplies.visible = false;
  3859. group3.grp_ord.switch1.case3.cpd_supplies.position.top = group3.grp_ord.switch1.case3.caption17.position.top - varCationOffset - group3.grp_ord.switch1.case3.cpd_supplies.position.height;
  3860. group3.grp_ord.switch1.case3.cpd_supplies.position.height = varCationHeight;
  3861. group3.grp_ord.switch1.case3.btn_resizeT2.position.top = group3.grp_ord.switch1.case3.cpd_supplies.position.top - 1;
  3862. group3.grp_ord.switch1.case3.btn_resizeT2.position.height = varBtnHeight;
  3863. group3.grp_ord.switch1.case3.btn_resizeB2.position.top = group3.grp_ord.switch1.case3.btn_resizeT2.position.top;
  3864. group3.grp_ord.switch1.case3.btn_resizeB2.position.height = group3.grp_ord.switch1.case3.btn_resizeT2.position.height;
  3865. //상부 위치 설정
  3866. group3.grp_ord.switch1.case3.grd_diposit.visible = true;
  3867. group3.grp_ord.switch1.case3.grd_diposit.position.bottom = group3.grp_ord.switch1.case3.btn_resizeB2.position.top - varCationOffset ;
  3868. break;
  3869. case "B2":
  3870. group3.grp_ord.switch1.case3.btn_resizeT1.visible = false;
  3871. group3.grp_ord.switch1.case3.btn_resizeT2.visible = true;
  3872. group3.grp_ord.switch1.case3.btn_resizeT3.visible = false;
  3873. group3.grp_ord.switch1.case3.btn_resizeB1.visible = true;
  3874. group3.grp_ord.switch1.case3.btn_resizeB2.visible = false;
  3875. group3.grp_ord.switch1.case3.btn_resizeB3.visible = true;
  3876. group3.grp_ord.switch1.case3.grd_diposit.visible = false;
  3877. // 하부 위치 설정
  3878. group3.grp_ord.switch1.case3.grd_drug.visible = false;
  3879. group3.grp_ord.switch1.case3.caption17.position.top = varHeight - varSwitchOffset - group3.grp_ord.switch1.case3.caption17.position.height;
  3880. group3.grp_ord.switch1.case3.caption17.position.height = varCationHeight;
  3881. group3.grp_ord.switch1.case3.btn_resizeT3.position.top = varHeight - varSwitchOffset - group3.grp_ord.switch1.case3.btn_resizeT3.position.height;
  3882. group3.grp_ord.switch1.case3.btn_resizeT3.position.height = varBtnHeight;
  3883. group3.grp_ord.switch1.case3.btn_resizeB3.position.top = group3.grp_ord.switch1.case3.btn_resizeT3.position.top;
  3884. group3.grp_ord.switch1.case3.btn_resizeB3.position.height = group3.grp_ord.switch1.case3.btn_resizeT3.position.height;
  3885. //중부 위치 설정
  3886. group3.grp_ord.switch1.case3.grd_supplies.visible = true;
  3887. group3.grp_ord.switch1.case3.cpd_supplies.position.top = group3.grp_ord.switch1.case3.caption14.position.bottom + varCationOffset;
  3888. group3.grp_ord.switch1.case3.cpd_supplies.position.top = group3.grp_ord.switch1.case3.caption14.position.bottom + varBtnOffset;
  3889. group3.grp_ord.switch1.case3.cpd_supplies.position.height = varCationHeight;
  3890. group3.grp_ord.switch1.case3.btn_resizeT2.position.top = group3.grp_ord.switch1.case3.cpd_supplies.position.top - 1;
  3891. group3.grp_ord.switch1.case3.btn_resizeT2.position.height = varBtnHeight;
  3892. group3.grp_ord.switch1.case3.btn_resizeB2.position.top = group3.grp_ord.switch1.case3.btn_resizeT2.position.top;
  3893. group3.grp_ord.switch1.case3.btn_resizeB2.position.height = group3.grp_ord.switch1.case3.btn_resizeT2.position.height;
  3894. group3.grp_ord.switch1.case3.grd_supplies.position.top = group3.grp_ord.switch1.case3.cpd_supplies.position.bottom + varGridOffset;
  3895. group3.grp_ord.switch1.case3.grd_supplies.position.bottom = group3.grp_ord.switch1.case3.caption17.position.top- varCationOffset;
  3896. break;
  3897. case "B3":
  3898. group3.grp_ord.switch1.case3.btn_resizeT1.visible = false;
  3899. group3.grp_ord.switch1.case3.btn_resizeT2.visible = false;
  3900. group3.grp_ord.switch1.case3.btn_resizeT3.visible = true;
  3901. group3.grp_ord.switch1.case3.btn_resizeB1.visible = true;
  3902. group3.grp_ord.switch1.case3.btn_resizeB2.visible = true;
  3903. group3.grp_ord.switch1.case3.btn_resizeB3.visible = false;
  3904. group3.grp_ord.switch1.case3.grd_diposit.visible = false;
  3905. group3.grp_ord.switch1.case3.grd_supplies.visible = false;
  3906. group3.grp_ord.switch1.case3.cpd_supplies.position.top = 27;
  3907. group3.grp_ord.switch1.case3.cpd_supplies.position.height = varCationHeight;
  3908. group3.grp_ord.switch1.case3.btn_resizeT2.position.top = 26;
  3909. group3.grp_ord.switch1.case3.btn_resizeT2.position.height = varBtnHeight;
  3910. group3.grp_ord.switch1.case3.btn_resizeB2.position.top = 26;
  3911. group3.grp_ord.switch1.case3.btn_resizeB2.position.height = varBtnHeight;
  3912. group3.grp_ord.switch1.case3.grd_drug.visible = true;
  3913. group3.grp_ord.switch1.case3.grd_drug.position.top = 67;
  3914. group3.grp_ord.switch1.case3.grd_drug.position.bottom = varHeight - varSwitchOffset;
  3915. group3.grp_ord.switch1.case3.caption17.position.top = 49;
  3916. group3.grp_ord.switch1.case3.caption17.position.height = varCationHeight;
  3917. group3.grp_ord.switch1.case3.btn_resizeT3.position.top = 48;
  3918. group3.grp_ord.switch1.case3.btn_resizeT3.position.height = varBtnHeight;
  3919. group3.grp_ord.switch1.case3.btn_resizeB3.position.top = 48;
  3920. group3.grp_ord.switch1.case3.btn_resizeB3.position.height = varBtnHeight;
  3921. break;
  3922. case "B4":
  3923. group3.grp_ord.switch1.case4.btn_resizeT4.visible = true;
  3924. group3.grp_ord.switch1.case4.btn_resizeT5.visible = false;
  3925. group3.grp_ord.switch1.case4.btn_resizeB4.visible = false;
  3926. group3.grp_ord.switch1.case4.btn_resizeB5.visible = true;
  3927. //하부 위치 설정
  3928. group3.grp_ord.switch1.case4.grd_opsupply.visible = false;
  3929. group3.grp_ord.switch1.case4.caption5.position.top = varHeight - varSwitchOffset - group3.grp_ord.switch1.case4.caption5.position.height;
  3930. group3.grp_ord.switch1.case4.caption5.position.height = varCationHeight;
  3931. group3.grp_ord.switch1.case4.btn_resizeT5.position.top = group3.grp_ord.switch1.case4.caption5.position.top - 1;
  3932. group3.grp_ord.switch1.case4.btn_resizeT5.position.height = varBtnHeight;
  3933. group3.grp_ord.switch1.case4.btn_resizeB5.position.top = group3.grp_ord.switch1.case4.btn_resizeT5.position.top;
  3934. group3.grp_ord.switch1.case4.btn_resizeB5.position.height = group3.grp_ord.switch1.case4.btn_resizeT5.position.height;
  3935. //상부 위치 설정
  3936. group3.grp_ord.switch1.case4.grd_instrument.visible = true;
  3937. group3.grp_ord.switch1.case4.grd_instrument.position.bottom = group3.grp_ord.switch1.case4.caption5.position.top - varCationOffset;
  3938. break;
  3939. case "B5":
  3940. group3.grp_ord.switch1.case4.btn_resizeT4.visible = false;
  3941. group3.grp_ord.switch1.case4.btn_resizeT5.visible = true;
  3942. group3.grp_ord.switch1.case4.btn_resizeB4.visible = true;
  3943. group3.grp_ord.switch1.case4.btn_resizeB5.visible = false;
  3944. group3.grp_ord.switch1.case4.grd_instrument.visible = false;
  3945. group3.grp_ord.switch1.case4.grd_opsupply.visible = true;
  3946. group3.grp_ord.switch1.case4.grd_opsupply.position.top = 45;
  3947. group3.grp_ord.switch1.case4.grd_opsupply.position.bottom = group3.grp_ord.switch1.position.height - varSwitchOffset;
  3948. group3.grp_ord.switch1.case4.caption5.position.top = 27;
  3949. group3.grp_ord.switch1.case4.caption5.position.height = varCationHeight;
  3950. group3.grp_ord.switch1.case4.btn_resizeT5.position.top = 26;
  3951. group3.grp_ord.switch1.case4.btn_resizeT5.position.height = varBtnHeight;
  3952. group3.grp_ord.switch1.case4.btn_resizeB5.position.top = 26;
  3953. group3.grp_ord.switch1.case4.btn_resizeB5.position.height = varBtnHeight;
  3954. break;
  3955. case "Base":
  3956. group3.grp_ord.switch1.case3.btn_resizeT1.visible = false;
  3957. group3.grp_ord.switch1.case3.btn_resizeT2.visible = false;
  3958. group3.grp_ord.switch1.case3.btn_resizeT3.visible = false;
  3959. group3.grp_ord.switch1.case4.btn_resizeT4.visible = false;
  3960. group3.grp_ord.switch1.case4.btn_resizeT5.visible = false;
  3961. group3.grp_ord.switch1.case3.btn_resizeB1.visible = true;
  3962. group3.grp_ord.switch1.case3.btn_resizeB2.visible = true;
  3963. group3.grp_ord.switch1.case3.btn_resizeB3.visible = true;
  3964. group3.grp_ord.switch1.case4.btn_resizeB4.visible = true;
  3965. group3.grp_ord.switch1.case4.btn_resizeB5.visible = true;
  3966. break;
  3967. }
  3968. }
  3969. //--------------------------------------------------
  3970. // Cart 상세내역 출력
  3971. //--------------------------------------------------
  3972. function fPrntCartDetailCnts() {
  3973. trace("fPrntCartDetailCnts()");
  3974. fReSrchOpState(); // 처방및 진행 상태 재조회
  3975. var rtnflag, oprsrvno, oproomcd, ophistno, cartgubn, prntgoodstat, prntinstrstat, prntcststat;
  3976. var cnt = 0,
  3977. cnt2 = 0;
  3978. cnt3 = 0;
  3979. cnt4 = 0;
  3980. var prntgood = "G"; //model.getValue("/root/init/querykey/prntgood");
  3981. var prntinstr = ""; //model.getValue("/root/init/querykey/prntinstr");
  3982. var prntcst = ""; //model.getValue("/root/init/querykey/prntcst");
  3983. var prntpad = "";
  3984. var sPatOPRSInfoPath = eval(gPathNode[6]);
  3985. var cartbaglist = "m▦rownum▦oprsrvno▦oproomcd▦cartgubn▦deliveflag▦prntgood▦prntinstr▦prntcst▦varcureflag▦goodcrflag▦callflag";
  3986. var sSaveFlag = false;
  3987. var sSaveData = "cartstat▦oprsrvno▦ophistno▦cartgubn▩";
  3988. var deptflagnm = "";
  3989. var sVarcureflag = "'1', '2', '3', '5', '7', '8', '9'";
  3990. var deptflag = vCartgubn;
  3991. var sPid = sPatOPRSInfoPath.getColumn(0, "pid");
  3992. var ccrtstat;
  3993. if (group3.grp_ord.bbt_tSave.enable == false) {
  3994. sysf_messageBox("응급 CartBag 불출을 할 수 없습니다.", "C000");
  3995. return;
  3996. }
  3997. for (var i = 0; i < tPathCart.length; i++) {
  3998. cnt3 = eval(cnt3) + eval(gPathNode[8] + tPathCart[i]).rowcount;
  3999. for (var k = 0; k < eval(gPathNode[8] + tPathCart[i]).rowcount; k++) {
  4000. if (eval(gPathNode[8] + tPathCart[i]).getColumn(k, "recflag") == "I" &&
  4001. utlf_isNull(eval(gPathNode[8] + tPathCart[i]).getColumn(k, "ordseq"))) {
  4002. cnt4++;
  4003. }
  4004. }
  4005. }
  4006. if (cnt4 > 0) {
  4007. sysf_messageBox("신규 등록한 물품 정보가 존재합니다.\n\nCart List 저장후 응급 CartBag 불출 요청을 하십시요.", "I000");
  4008. return;
  4009. }
  4010. if (cnt3 < 1) {
  4011. sysf_messageBox("응급 CartBag 불출할 물품 정보가 존재하지 않습니다.", "I000");
  4012. return;
  4013. }
  4014. if (utlf_isNull(prntgood) && utlf_isNull(prntinstr) && utlf_isNull(prntcst)) {
  4015. sysf_messageBox("출력할 구분을 선택하세요.", "E000");
  4016. return;
  4017. }
  4018. if (deptflag == "O") {
  4019. deptflagnm = "수술 Cart 청구리스트 [응급]";
  4020. } else if (deptflag == "A") {
  4021. deptflagnm = "마취 Cart 청구리스트 [응급]";
  4022. }
  4023. if (utlf_isNull(sPid)) {
  4024. sysf_messageBox("환자를 먼저", "C002");
  4025. return;
  4026. }
  4027. cnt2 += 1;
  4028. //if( parseInt(model.getValue(sPatOPRSInfoPath+"["+i+"]/opstatcd")) > 39 ) {//수술부터는 출력안됨.
  4029. // messageBox("응급 CartBag 불출을 할 수 없습니다.","C000");
  4030. // return;
  4031. //}
  4032. if (sCartGubnCd == "O") {
  4033. ccrtstat = sPatOPRSInfoPath.getColumn(0, "ccrtstat");
  4034. } else if (sCartGubnCd == "A") {
  4035. ccrtstat = sPatOPRSInfoPath.getColumn(0, "anstccrtstat");
  4036. }
  4037. if ((ccrtstat == "1") ||
  4038. (ccrtstat == "2")) { //임시, 저장 CART 불출
  4039. //Cart 불출
  4040. oprsrvno = sPatOPRSInfoPath.getColumn(0, "oprsrvno");
  4041. oproomcd = sPatOPRSInfoPath.getColumn(0, "oproomcd");
  4042. ophistno = sPatOPRSInfoPath.getColumn(0, "ophistno");
  4043. //cartgubn = model.getValue("/root/init/querykey/cartgubn");
  4044. cartgubn = sCartGubnCd;
  4045. sSaveData += "3" + "▦" +
  4046. oprsrvno + "▦" +
  4047. ophistno + "▦" +
  4048. cartgubn + "▩";
  4049. sSaveFlag = true;
  4050. if (prntgood == "G") {
  4051. prntgoodstat = "G3";
  4052. } else {
  4053. prntgoodstat = "G1";
  4054. }
  4055. if (prntinstr == "I") {
  4056. prntinstrstat = "I3";
  4057. } else {
  4058. prntinstrstat = "I1";
  4059. }
  4060. if (prntcst == "C") {
  4061. prntcststat = "C3";
  4062. } else {
  4063. prntcststat = "C1";
  4064. }
  4065. cnt += 1;
  4066. cartbaglist = cartbaglist + "▩" + "u" + "▦" + utlf_transNullToEmpty(cnt) + "▦" + utlf_transNullToEmpty(oprsrvno) + "▦" + utlf_transNullToEmpty(oproomcd) + "▦" + utlf_transNullToEmpty(cartgubn) +
  4067. "▦" + utlf_transNullToEmpty(prntgoodstat) + utlf_transNullToEmpty(prntinstrstat) + utlf_transNullToEmpty(prntcststat) + "▦" + utlf_transNullToEmpty(prntgood) + "▦" + utlf_transNullToEmpty(prntinstr) +
  4068. "▦" + utlf_transNullToEmpty(prntcst) + "▦" + utlf_transNullToEmpty(sVarcureflag) + "▦" + "S" + "▦" + "CCR▩";
  4069. }
  4070. prntMsg = sysf_messageBox("응급 CartBag 불출을", "Q004");
  4071. if (prntMsg != 6) {
  4072. return;
  4073. }
  4074. //model.removenodeset(sPatOPRSInfoPath);
  4075. sPatOPRSInfoPath.setColumn(0, "oproomcdnm", sPatOPRSInfoPath.getColumn(0, "oproomnm"));
  4076. sPatOPRSInfoPath.setColumn(0, "orddeptcdnm", sPatOPRSInfoPath.getColumn(0, "depthngnm"));
  4077. sPatOPRSInfoPath.setColumn(0, "opfromtmcdnm", sPatOPRSInfoPath.getColumn(0, "opfromtmcd"));
  4078. sPatOPRSInfoPath.setColumn(0, "hngnm", sPatOPRSInfoPath.getColumn(0, "patname"));
  4079. sPatOPRSInfoPath.setColumn(0, "sexage", sPatOPRSInfoPath.getColumn(0, "sa"));
  4080. sPatOPRSInfoPath.setColumn(0, "cartgubn", deptflag);
  4081. sPatOPRSInfoPath.setColumn(0, "deptflagnm", deptflagnm);
  4082. sPatOPRSInfoPath.setColumn(0, "roomcd", sPatOPRSInfoPath.getColumn(0, "roomcd"));
  4083. sPatOPRSInfoPath.setColumn(0, "pid", sPatOPRSInfoPath.getColumn(0, "pid"));
  4084. sPatOPRSInfoPath.setColumn(0, "diagcdnm", sPatOPRSInfoPath.getColumn(0, "diagcdnm"));
  4085. sPatOPRSInfoPath.setColumn(0, "opcdnm", sPatOPRSInfoPath.getColumn(0, "opcdnm"));
  4086. sPatOPRSInfoPath.setColumn(0, "perfdridnm", sPatOPRSInfoPath.getColumn(0, "perfdridnm"));
  4087. sPatOPRSInfoPath.setColumn(0, "opcnfmdd", sPatOPRSInfoPath.getColumn(0, "opcnfmdd"));
  4088. sPatOPRSInfoPath.setColumn(0, "oprsrvno", sPatOPRSInfoPath.getColumn(0, "oprsrvno"));
  4089. sPatOPRSInfoPath.setColumn(0, "instcd", sPatOPRSInfoPath.getColumn(0, "instcd"));
  4090. sPatOPRSInfoPath.setColumn(0, "prntgood", prntgood);
  4091. sPatOPRSInfoPath.setColumn(0, "prntinstr", prntinstr);
  4092. sPatOPRSInfoPath.setColumn(0, "prntcst", prntcst);
  4093. sPatOPRSInfoPath.setColumn(0, "prntpad", prntpad);
  4094. sPatOPRSInfoPath.setColumn(0, "goodcrflag", "S");
  4095. sPatOPRSInfoPath.setColumn(0, "usernm", sysf_getUserInfo("usernm"));
  4096. if (sPatOPRSInfoPath.getColumn(0, "ccrtstat") < "3") { //임시, 저장일 경우만 출력
  4097. if (prntgood == "G") {
  4098. // exeReportPreview("RPMNP03001", "XMLSTR", sPatOPRSInfoPath, "", "true", "", "", "", "", "true", "", "", "", "emr");
  4099. }
  4100. if (prntinstr == "I") {
  4101. //exeReportPreview("RPMNP03004", "XML", sPatOPRSInfoPath, "", "true", "", "", "", "", "true", "", "", "", "emr");
  4102. }
  4103. if (prntcst == "C") {
  4104. //exeReportPreview("RPMNP03005", "XML", sPatOPRSInfoPath, "", "true", "", "", "", "", "true", "", "", "", "emr");
  4105. }
  4106. }
  4107. if (cnt2 < 1) {
  4108. sysf_messageBox("환자를 먼저", "C002");
  4109. return;
  4110. }
  4111. if (cnt > 0) { //카트 불출(공급)
  4112. dsf_setCSVToDs("ds_send_cartsend", cartbaglist);
  4113. if (utlf_isNull(ds_send_cartsend.getColumnInfo("status"))) {
  4114. ds_send_cartsend.addColumn("status", "string");
  4115. }
  4116. for (var i = 0; i < ds_send_cartsend.rowcount; i++) {
  4117. ds_send_cartsend.setColumn(i, "status", ds_send_cartsend.getColumn(i, "m"));
  4118. }
  4119. var oParam = {};
  4120. oParam.id = "TXMNP03401";
  4121. oParam.service = "opanstapp.OpAnstStocMngt";
  4122. oParam.method = "reqSetCaseCartStat";
  4123. oParam.inds = "cartsend=ds_send_cartsend";
  4124. oParam.outds = "";
  4125. oParam.async = false;
  4126. //oParam.callback = "cf_TXMNP03401";
  4127. tranf_submit(oParam);
  4128. }
  4129. fQueryData();
  4130. //group5.visible = false;
  4131. //fOpDataQuery();
  4132. }
  4133. function fCSRErDelive() {
  4134. trace("fCSRErDelive()");
  4135. var cnt3 = 0;
  4136. var cnt4 = 0;
  4137. var sErDeliveInfo = "";
  4138. for (var i = 0; i < tPathCart.length; i++) {
  4139. cnt3 = eval(cnt3) + eval(getNodesetCount(gPathNode[8] + "/" + tPathCart[i]));
  4140. for (var k = 1; k <= getNodesetCount(gPathNode[8] + "/" + tPathCart[i]); k++) {
  4141. if (model.getValue(gPathNode[8] + "/" + tPathCart[i] + "[" + k + "]/recflag") == "I" &&
  4142. model.getValue(gPathNode[8] + "/" + tPathCart[i] + "[" + k + "]/ordseq") == "") {
  4143. cnt4++;
  4144. }
  4145. if ((i == 2 || i == 3) && model.getValue(gPathNode[8] + "/" + tPathCart[i] + "[" + k + "]/deliveyn") == "N" && model.getValue(gPathNode[8] + "/" + tPathCart[i] + "[" + k + "]/goodcrflag") == "E") {
  4146. sErDeliveInfo += model.getValue(gPathNode[8] + "/" + tPathCart[i] + "[" + k + "]/oprsrvno") + "▦" +
  4147. model.getValue(gPathNode[8] + "/" + tPathCart[i] + "[" + k + "]/goodcd") + "▦" +
  4148. model.getValue(gPathNode[8] + "/" + tPathCart[i] + "[" + k + "]/ordseq") + "▦" +
  4149. sCartGubnCd + "▩"
  4150. }
  4151. }
  4152. }
  4153. if (cnt4 > 0) {
  4154. messageBox("신규 등록한 물품 정보가 존재합니다.\n\저장후 응급 CartBag 불출 요청을 하십시요.", "I000");
  4155. return;
  4156. }
  4157. if (cnt3 < 1) {
  4158. messageBox("응급 CartBag 불출할 물품 정보가 존재하지 않습니다.", "I000");
  4159. return;
  4160. }
  4161. var sErDeliveHeader = "oprsrvno▦goodcd▦ordseq▦cartgubn▩";
  4162. if (messageBox("응급 불출을", "Q004") == "6") {
  4163. model.removenodeset("/root/send");
  4164. model.makeValue("/root/send/erdelivelist", sErDeliveHeader + sErDeliveInfo);
  4165. submit("TXMNP01808", false);
  4166. fQueryData();
  4167. }
  4168. }
  4169. //KNUH, 삭제 취소, 마우스 우측메뉴를 통한 한건 단위 처리 (2011.01.31 JJE)
  4170. function fCnclDeleteRow(pNodeIdx, pSrow) {
  4171. trace("fCnclDeleteRow()");
  4172. //pNodeIdx (4:물품, 0:drug)
  4173. //pSrow (선택한 row)
  4174. //fGoodClick(4, grd_diposit);
  4175. var sCcrtStat = model.getValue("/root/init/WorkData/cond/cartstat");
  4176. if (sCcrtStat >= 5) { //5(확정) or 9(반납)
  4177. messageBox("처방 상태가 " + cmb_cartstat.lable + " 입니다.\n삭제 취소할 수", "I004");
  4178. return;
  4179. }
  4180. model.removeNode("/root/send/savedeldata");
  4181. var pathNode = "";
  4182. if (pNodeIdx == "0") pathNode = "/root/main/CartOrdData/ListSupplies";
  4183. else pathNode = "/root/main/CartOrdData/ListDiposit";
  4184. var pid = model.getValue("/root/main/MmohoprsLists/mmohoprslist/pid");
  4185. if (model.getValue(pathNode + "[" + pSrow + "]/deleteyn") == "D") {
  4186. if (messageBox("삭제 처리를", "Q007") == 6) {
  4187. model.setValue(pathNode + "[" + pSrow + "]/deleteyn", "");
  4188. model.setValue(pathNode + "[" + pSrow + "]/delcheck", "");
  4189. model.setValue(pathNode + "[" + pSrow + "]/pid", pid);
  4190. model.setValue(pathNode + "[" + pSrow + "]/saveqty", "0");
  4191. var WkOutQty = model.getValue(pathNode + "[" + pSrow + "]/outqty");
  4192. var WkGoodQty = model.getValue(pathNode + "[" + pSrow + "]/goodqty");
  4193. var WkAddQty = "";
  4194. WkNewAddQty = parseFloat(WkOutQty) - parseFloat(WkGoodQty); // 변경후증감수량
  4195. model.setValue(pathNode + "[" + pSrow + "]/addreductqty", WkNewAddQty);
  4196. model.makeNode("/root/send/savedeldata/savedata");
  4197. model.copyNode("/root/send/savedeldata/savedata", pathNode + "[" + pSrow + "]");
  4198. //return;
  4199. if (submit("TXMNP01810", false)) {
  4200. fQueryData(); // 조회
  4201. }
  4202. model.removeNode("/root/send/savedeldata");
  4203. }
  4204. } else {
  4205. messageBox("삭제 처방이 아닙니다.", "");
  4206. return;
  4207. }
  4208. }
  4209. //KNUH, 삭제 취소, 임시저장 버튼을 통한 여러건 처리 (2011.01.31 JJE)
  4210. function fCnclDeleteRows() {
  4211. trace("fCnclDeleteRows()");
  4212. //pNodeIdx (4:물품, 0:drug)
  4213. //pSrow (선택한 row)
  4214. var sCcrtStat = ds_init_WorkData_cond.getColumn(0, "cartstat");
  4215. if (sCcrtStat >= 5) { //5(확정) or 9(반납)
  4216. //messageBox("처방 상태가 " + cmb_cartstat.lable + " 입니다.\n삭제 취소할 수","I004");
  4217. return;
  4218. }
  4219. var pid = ds_main_MmohoprsLists_mmohoprslist.getColumn(0, "pid");
  4220. var sPrcpDataPat = ds_main_patinfocond_patinfo;
  4221. var wCartPath = "";
  4222. var sRowCnt = 0;
  4223. var iRow = -1;
  4224. ds_send_savedeldata_savedata.clearData();
  4225. for (var Idx = 0; Idx < 5; Idx++) {
  4226. wCartPath = eval(gPathNode[8] + tPathCart[Idx]); // gPathNode[8] : "root/main/CartOrdData"
  4227. sRowCnt = eval(sGridNm[Idx]).rowcount;
  4228. for (var pSrow = 0; pSrow < sRowCnt; pSrow++) {
  4229. var tempDeleteyn = wCartPath.getColumn(pSrow, "deleteyn");
  4230. var delTempPid = wCartPath.getColumn(pSrow, "pid"); //@@KNUH, 삭제처방 된 처방 되살리는 경우 별도의 func으로 처리
  4231. var delTempSaveqty = wCartPath.getColumn(pSrow, "saveqty"); //@@KNUH, 삭제처방 된 처방 되살리는 경우 별도의 func으로 처리
  4232. var delTempOutqty = wCartPath.getColumn(pSrow, "outqty"); //@@KNUH, 삭제처방 된 처방 되살리는 경우 별도의 func으로 처리
  4233. if (delTempPid == "DELETE" && tempDeleteyn == "D" && delTempSaveqty == 0 && delTempOutqty > 0) {
  4234. wCartPath.setColumn(pSrow, "deleteyn", "");
  4235. wCartPath.setColumn(pSrow, "delcheck", "");
  4236. wCartPath.setColumn(pSrow, "pid", pid);
  4237. wCartPath.setColumn(pSrow, "saveqty", "0");
  4238. var WkOutQty = wCartPath.getColumn(pSrow, "outqty");
  4239. var WkGoodQty = wCartPath.getColumn(pSrow, "goodqty");
  4240. var WkAddQty = "";
  4241. WkNewAddQty = parseFloat(WkGoodQty) - parseFloat(WkOutQty); // 변경후증감수량
  4242. wCartPath.setColumn(pSrow, "addreductqty", WkNewAddQty);
  4243. iRow++;
  4244. for (var i = 0; i <= iRow; i++) {
  4245. ds_send_savedeldata_savedata.addRow();
  4246. }
  4247. ds_send_savedeldata_savedata.copyRow(iRow, wCartPath, pSrow);
  4248. }
  4249. } //end for pSrow
  4250. } //end for Idx
  4251. //return;
  4252. if (ds_send_savedeldata_savedata.rowcount > 0) {
  4253. for (var i = 0; i < ds_send_savedeldata_savedata.rowcount; i++) {
  4254. if (ds_send_savedeldata_savedata.getColumn(i, "delcheck") == "1") {
  4255. ds_send_savedeldata_savedata.setColumn(i, "delcheck", "true");
  4256. } else {
  4257. ds_send_savedeldata_savedata.setColumn(i, "delcheck", "false");
  4258. }
  4259. }
  4260. var oParam = {};
  4261. oParam.id = "TXMNP01810";
  4262. oParam.service = "opanstapp.OpAnstCCrtGoodMngt";
  4263. oParam.method = "reqExeDelCcolList";
  4264. oParam.inds = "reqdata=ds_send_savedeldata_savedata";
  4265. oParam.outds = "";
  4266. oParam.async = false;
  4267. oParam.callback = "cf_TXMNP01810";
  4268. tranf_submit(oParam);
  4269. if (arErrorCode.pop("TXMNP01810") < 0) {
  4270. sysf_messageBox("삭제 취소 처리를 실패했습니다.\n다시 저장해주시기바랍니다.", "");
  4271. return;
  4272. }
  4273. }
  4274. //model.removeNode("/root/send/savedeldata");
  4275. }
  4276. function cf_TXMNP01810(sSvcId, nErrorCode, sErrorMsg) {
  4277. arErrorCode.push(sSvcId, nErrorCode);
  4278. }
  4279. /* ------------------------------------------------- */
  4280. /* desc : 사용자이름 불러오기 */
  4281. /* param : pNodeID - UserId Node */
  4282. /* pNodeNM - UserNm Node */
  4283. /* return : */
  4284. /* -------------------------------------------------- */
  4285. //function fUserEnter(pPath, pNodeID,pNodeNM, pNodeDept, pNodeDeptNM, pDOC) {
  4286. //
  4287. // var pParam = fUseridPopupData("TRMNP00304","SMMNP00301", pDOC.currentText);
  4288. //
  4289. // fUserDataSet(pParam, pPath+pNodeID,pPath+pNodeNM, pPath+pNodeDept, pPath+pNodeDeptNM, pDOC);
  4290. // grp_input.refresh();
  4291. //}
  4292. //
  4293. //
  4294. //function fUseridPopup(pPath, pNodeID, pNodeNM, pNodeDept, pNodeDeptNM, pDOC) {
  4295. //
  4296. // var pParam = fShowModal("SMMNP00301");
  4297. //
  4298. // fUserDataSet(pParam, pPath+pNodeID,pPath+pNodeNM, pPath+pNodeDept, pPath+pNodeDeptNM, pDOC);
  4299. // grp_input.refresh();
  4300. //
  4301. // }
  4302. //
  4303. //[설 명]
  4304. // nodeName : 현재 노드의 노드 명을 얻거나 변경한다.
  4305. // nodeType : 현재 노드의 노드 타입을 얻거나 변경한다.
  4306. // nodeTypedValue : 저장은 없음 -> text 를 이용해야한다.
  4307. // nodeValue : 현재 노드의 노드 값을 얻거나 변경한다.
  4308. // text : 현재 노드와 그 자식 노드에서 텍스트 노드의 컨텐츠를 얻거나 변경한다.
  4309. //
  4310. //[구현]
  4311. // var ins = document.models( 0 ).instances( 0 );
  4312. // var node = ins.selectSingleNode( "/root/example" );
  4313. // input1.text= node.nodeName ;
  4314. // input2.text= node.nodeType;
  4315. // input3.text= node.nodeValue;
  4316. // input4.text= node.nodeTypedValue;
  4317. // input5.text= node.text ;
  4318. /* ------------------------------------------------- */
  4319. /* ------End Of List ------------------------------- */
  4320. /* -------------------------------------------------- */]]></Script>