123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116 |
- /*
-
-
- 특수주사실 외래항암업무(SMMNI02020.xfm - JScript )
- - Version :
- 1) : Ver.1.00.01
- */
- var xBizTrgtManListPath = "/root/main/biztrgtman/biztrgtmanlist"
- var xBizordsper = "/root/main/rghtlist/ordsperlist";
- var xordsperPath = "/root/main/rghtlist/ordsperlist";
- //20090213 dhkim 글로벌 변수 선언
- var suppdeptcd; //메뉴그룹사용부서코드
- var suppdeptnm; //메뉴그룹사용부서명
- var drprcpetc2; //BMT, 암센터 구분 (BMT센터 : B, 암센터 : Y)
- /**
- * @group :
- * @ver : 2007.05.29
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 각각의 통계 부분 클릭시
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fStats(flag){
- var execnm = model.getValue("/root/main/leftref/execnm");
-
- model.removeNodeset("/root/send");
- model.makeValue("/root/send/bizdd",model.getValue("/root/main/leftref/bizdd"));
- model.makeValue("/root/send/execflag",model.getValue("/root/main/leftref/execflag"));
- model.makeValue("/root/send/exec",model.getValue("/root/main/leftref/exec"));
- if(flag == "allseq"){
- var chk = opt_allseq.value;
- if(chk == "0"){
- messageBox("검색할 데이터가","I004");
- return;
- }
- model.makeValue("/root/send/stats","allseq");
- }
-
- //항암조제완료클릭시
- if(flag == "A71"){
- var chk = opt_ant.value;
- if(chk == "0"){
- messageBox("검색할 데이터가","I004");
- return;
- }
- model.makeValue("/root/send/stats","A71");
- }
- //혈액불출준비클릭시
- if(flag == "B5"){
- var chk = opt_antdelive.value;
- if(chk == "0"){
- messageBox("검색할 데이터가","I004");
- return;
- }
- model.makeValue("/root/send/stats","B5");
- }
-
- //20090225 dhkim
- //통계건수클릭시 업무대상자리스트 조회조건에 플래그 추가하여 조회함
- fbiztrgtman("biztrgt", flag);
- }
- /**
- * 20090303
- * dhkim
- * 업무대상자리스트 수납상태에 따른 색깔변경
- */
- function fSetColorRcptStatPrcpList(){
-
- var rcptchk;
- for(var i = 1; i < grd_biztrgtman.rows; i++){
-
- rcptchk = model.getValue('/root/main/biztrgtman/biztrgtmanlist[' + i + ']/rcptchk');
-
- //선불수납 : R (default)
- if(rcptchk == 'R'){
- grd_biztrgtman.cellstyle("background-color", i, 0, i, 15) = '#ffffff';
- //break;
- }
- //당일결과 : Y (연두)
- else if(rcptchk == 'Y'){
- grd_biztrgtman.cellstyle("background-color", i, 0, i, 15) = '#ccffcc';
- //alert(rcptchk + ' ' + model.getValue('/root/main/biztrgtman/biztrgtmanlist[' + i + ']/hngnm'));
- }
- //후불(진찰료) : F (핑크)
- else if(rcptchk == 'F'){
- grd_biztrgtman.cellstyle("background-color", i, 0, i, 15) = '#ff99cc';
- }
- //수납VIP : V (노랑)
- else if(rcptchk == 'V'){
- grd_biztrgtman.cellstyle("background-color", i, 0, i, 15) = '#ffff00';
- }
-
- }
-
- }
- /*
- * 20090217 dhkim
- * 초기화 추가
- */
- function fInit(){
- // 의료수익 Block제어 체크로직(Y : Blocking처리, N : skip)
- //공통코드 load
- zbcfGetCodeList(new Array("P0453", "M0005"), new Array("/root/init/P0453info", "/root/init/M0005info"));
- model.setValue("/root/temp/endyn",model.getValue("/root/init/P0453info/P0453/cdid"));
-
- //처방구분노드추가
- var clsCnt = getNodesetCount('/root/init/M0005info/M0005');
- clsCnt = eval(clsCnt) + 1;
- model.makeValue('/root/init/M0005info/M0005[' + clsCnt + ']/cdid', 'A7');
- model.makeValue('/root/init/M0005info/M0005[' + clsCnt + ']/cdnm', '항암');
- clsCnt = eval(clsCnt) + 1;
- model.makeValue('/root/init/M0005info/M0005[' + clsCnt + ']/cdid', 'A8');
- model.makeValue('/root/init/M0005info/M0005[' + clsCnt + ']/cdnm', '예방');
-
- //20090313 dhkim 무균추가
- clsCnt = eval(clsCnt) + 1;
- model.makeValue('/root/init/M0005info/M0005[' + clsCnt + ']/cdid', 'A9');
- model.makeValue('/root/init/M0005info/M0005[' + clsCnt + ']/cdnm', '무균');
-
- model.refresh();
-
- //상단 수행부서명 로그인사용자정보로 세팅
- var dutplcecd = getUserInfo("dutplcecd");
- var dutplcenm = getUserInfo("dutplcenm");
- model.setValue("/root/main/leftref/exec",dutplcecd);
- model.setValue("/root/main/leftref/execnm",dutplcenm);
-
- //노드정보 초기화
- model.removeNodeset("/root/main/biztrgtman/biztrgtmanlist");
- model.removeNodeset("/root/main/rghtlist/ordsperlist");
- model.removeNodeset("/root/main/rghtlist/injsperlist");
- model.removeNodeset(" /root/main/prcpdetl/prcpdetllist");
- model.removeNodeset(" /root/main/rghtlist/snwinfolist");
- model.removeNodeset("/root/main/rghtlist/ordrsrvlist");
- model.removeNodeset("/root/main/rghtlist/testrsrvlist");
- ipt_dd.value = getCurrentDate();// 기준일에 현재날짜(디폴트);
- // fbiztrgtman("biztrgt"); //당일업무대상자리스트조회
-
- //20081117 ITC김숙인선생님 요구사항 -> 외래처방미포함 디폴트
- model.setValue('/root/main/addoprc', ''); //외래처방미포함 디폴트
- model.refresh();
-
- //처방상세내역 그리드의 헤더에 체크박스표시
- grd_prcpdetl.fixedcellcheckbox(0, 1) = true;
-
- fpartflaginfo();//부위기준자료조회
-
-
- //20081121 dhkim 테스트중.
- var userid = getUserId();
-
- if(userid == 'DEV512' || userid == 'dev512' || userid == 'enr' || userid == 'ENR'){
- btn_nrsdc.attribute('visibility') = 'visible';
- }else{
- btn_nrsdc.attribute('visibility') = 'hidden';
- }
-
- //로그인사용자의 부서정보로 타이틀을 변경 한다.
- //20090213 dhkim
- //화면 타이틀을 해당 부서에 맞게 변경한다.
- suppdeptcd = aezfSetSuppDeptcd();
- suppdeptnm = getMenuDeptnm('/root/send/deptcd', suppdeptcd, 'TRMNI02031', '/root/temp/menudeptinfo/deptnm');
-
- model.removenode('/root/menudeptinfo/deptcd');
- model.removenode('/root/menudeptinfo/deptnm');
- model.makeValue('/root/menudeptinfo/deptcd', suppdeptcd);
- model.makeValue('/root/menudeptinfo/deptnm', suppdeptnm);
-
- if(suppdeptnm == null || suppdeptnm == ''){
- suppdeptnm = '특수주사실';
- }
-
- capt_titl.attribute('text') = suppdeptnm + ' 외래항암업무';
-
-
- //20090217 dhkim
- //간호부서코드테이블에 등록된 bmt와 암센터 주사실의 코드를 조회한다.
- //spclcareweb/js/MNS001.js
- //fGetNursDept(cdgrupid, sendnode, recivenode, submitid, errmessage)
- fGetNursDept('025', '/root/send/cdgrupid', '/root/nursdeptinfo/bmtinfo', 'TRMNI02032', 'bmt센터 간호등록부서조회를 실패하였습니다.');
- fGetNursDept('026', '/root/send/cdgrupid', '/root/nursdeptinfo/cncrinfo', 'TRMNI02033', '암센터 간호등록부서조회를 실패하였습니다.');
-
- var bmttempnode = "/root/nursdeptinfo/bmtinfo/nursdeptlist";
- var cncrtempnode = "/root/nursdeptinfo/cncrinfo/nursdeptlist";
- drprcpetc2 = fGetDrPrcpEtc2(bmttempnode, cncrtempnode);//해당화면이 BMT센터인지 암센터인지 여부를 조회
-
-
- //20090720 dhkim 업무기준 추가
- model.setValue('/root/main/leftref/workflag', '1');//처방일자
- model.refresh();
-
- fbiztrgtman("biztrgt"); //당일업무대상자리스트조회
- }
- /**
- * @group :
- * @ver : 2007.05.03
- 2009.05.12 dhkim 테스트중...통계건수 클릭시 이 펑션 타게 테스트중임(플래그statflag 추가)
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 당일업무대상자리스트조회
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fbiztrgtman(flag, statflag){
- var execnm = model.getValue("/root/main/leftref/execnm");
-
- //그리드 내용 클릭시
- if(flag == "biztrgt"){
-
- model.removeNodeset("/root/send");
- model.makeValue("/root/send/bizdd", model.getValue("/root/main/leftref/bizdd"));
- model.makeValue("/root/send/execflag", model.getValue("/root/main/leftref/execflag"));
- model.makeValue("/root/send/exec", model.getValue("/root/main/leftref/exec"));
- model.makeValue("/root/send/endblkyn", model.getValue("/root/temp/endyn")); // 마감block여부구분
-
- //20090217 dhkim
- //사용자정보를 가지고 해당사용자가 bmt주사실사용자인지 암센터사용자인지 여부에 따라 조회구분자가 달라짐
- //drprcpetc2는 화면초기화 시에 글로벌변수로 세팅함
- model.makeValue("/root/send/drprcpetc2", drprcpetc2);
-
- //20090512 dhkim
- //statflag 추가(통계건수 클릭시 이 펑션 타도록 변경)
- model.makeValue("/root/send/stats", statflag);
-
- //20090720 dhkim 변경요청내용(itc서미영 : 업무기준추가 -> 예약일자/처방일자 별 조회)
- model.makeValue("/root/send/workflag", model.getValue("/root/main/leftref/workflag"));
-
- if(submit("TRMNI02021")){
-
- //20090720 dhkim 그리드 업무일자 컬럼명 변경
- var workddstr = model.getValue('/root/main/leftref/workflag');
- var workflag = model.getValue('/root/main/leftref/workflag');
- if(workddstr == null || workddstr == ''){
- workddstr = "업무일자";
- }else{
-
- if(workflag == '1'){
- workddstr = "처방일자";
- }else if(workflag == '2'){
- workddstr = "예약일자";
- }else{
- workddstr = "업무일자";
- }
- }
-
- grd_biztrgtman.valueMatrix(0, grd_biztrgtman.colRef("workdd")) = workddstr;
-
- //20090303 dhkim 추가
- //업무대상자리스트 수납상태에 따른 색깔변경
- fSetColorRcptStatPrcpList();
-
- var execnmchk = model.getValue("/root/main/leftref/execnm")
-
- tar_memo.value="";
- model.removeNodeset("/root/main/prcpdetl/prcpdetllist");
- model.removeNodeset("/root/main/rghtlist/ordrsrvlist");
- model.removeNodeset("/root/main/rghtlist/testrsrvlist");
- model.removeNodeset("/root/main/rghtlist/ordsperlist");
- model.removeNodeset("/root/main/rghtlist/injsperlist");
- model.removeNodeset("/root/main/rghtlist/snwinfolist");
- ipt_pid.value="";
- opt_hngnm.value="";
- opt_gndrage.value="";
- opt_rrgstno.value="";
- grd_snwinfo.refresh();
- tar_memo.refresh();
- grd_ordrsrv.refresh();
- grd_testrsrv.refresh();
- grd_ordsper.refresh();
- grd_injsper.refresh();
- ipt_pid.refresh();
- opt_hngnm.refresh();
- opt_gndrage.refresh();
- opt_rrgstno.refresh();
- }
- }
-
- /**dhkim 마감처리 어떻게 해야하는지 확인할것
- var endcount = model.getValue("/root/main/biztrgtman/endyninfo/endyn"); // 마감여부 check
- var endblockyn = model.getValue("/root/temp/endyn"); // 공통Blocki여부 Check
-
- if (endblockyn == 'Y'){ // 공통Block여부가 'Y'인 경우만 체크되도록
- if (endcount >= 1) { // 전일 마감되지 않은 건수가 있을경우
- alert("전일 Acting된 처방중 마감되지 않은 내역이 있습니다. 전일 마감후 조회하시기 바랍니다.");
- model.removeNodeset(xBizTrgtManListPath);
- model.removeNodeset("/root/main/biztrgtman/statslist");
- model.removeNodeset("/root/main/rghtlist/ordsperlist");
- model.removeNodeset("/root/main/rghtlist/injsperlist");
- model.removeNodeset(" /root/main/prcpdetl/prcpdetllist");
- model.removeNodeset(" /root/main/rghtlist/snwinfolist");
- model.removeNodeset("/root/main/rghtlist/ordrsrvlist");
- model.removeNodeset("/root/main/rghtlist/testrsrvlist");
- model.refresh();
-
- // 주사실 미시행 내역조회 및 마감 화면 open
- var actdd = model.getValue("/root/main/leftref/bizdd");
- setParameter("fromdd", actdd);
- setParameter("todd", actdd);
- setParameter("execflag", "2");
- setParameter("endflag", "N");
- open("SMMNI00200","1","15","128");
- }
- }
- **/
-
- //acting 처리후 다시 조회시
- if(flag=="acting"){
- model.makeValue("/root/send/bizdd",model.getValue("/root/main/leftref/bizdd"));
- model.makeValue("/root/send/execflag",model.getValue("/root/main/leftref/execflag"));
- model.makeValue("/root/send/exec",model.getValue("/root/main/leftref/exec"));
- model.makeValue("/root/send/endblkyn",model.getValue("/root/temp/endyn")); // 마감block여부구분
-
- //20090217 dhkim
- //사용자정보를 가지고 해당사용자가 bmt주사실사용자인지 암센터사용자인지 여부에 따라 조회구분자가 달라짐
- //drprcpetc2는 화면초기화 시에 글로벌변수로 세팅함
- model.makeValue("/root/send/drprcpetc2", drprcpetc2);
-
- if(submit("TRMNI02021")){
- //20090303 dhkim 추가
- //업무대상자리스트 수납상태에 따른 색깔변경
- fSetColorRcptStatPrcpList();
-
- }
- }
- }
- /**
- * @group :
- * @ver : 2007.05.10
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 업무대상자 리스트 클릭시..
- * @param : flag : acting
- * @return :
- * @---------------------------------------------------
- */
- function fBiztrgtClick(flag){
-
- model.makeValue("/root/hidden/flags", "grd_biztrgtman");//처방전출력에 있었음..
- if(flag=="acting"){
-
- var TRow = grd_biztrgtman.rows;
- var chkpid = model.getValue("/root/send/pid");
- var chkorddd = model.getValue("/root/send/orddd");
-
- // alert(chkpid + ' ' + chkorddd);
-
- var pid, orddd, execnmchk;
-
- for(var T = 0; T <= grd_biztrgtman.rows; T++){
-
- pid = model.getValue(xBizTrgtManListPath+"["+T+"]/pid");
- orddd = model.getValue(xBizTrgtManListPath+"["+T+"]/orddd");
- execnmchk = model.getValue("/root/main/leftref/execnm");
-
- // alert('i=' + T + pid + ' ' + chkpid + ' ' + orddd + ' ' + chkorddd + ' ' + execnmchk);
-
- if(pid == chkpid && orddd == chkorddd){
-
- model.setValue("/root/main/rghtref/rghtreflist/pid", model.getValue(xBizTrgtManListPath+"["+T+"]/pid"));
-
- //오른쪽 환자 데이타 조회에서 등록번호 데이타 입력후 조회
- //20090629 dhkim 7/1고시변경으로 인한 리턴값 추가
- var rtn = fpidref();
- if(!rtn){
- return false;
- }
- grd_biztrgtman.row = T;
-
- break;
- }
-
- if (pid != chkpid && orddd != chkorddd){
- if (T >= TRow){
- tar_memo.value="";
- model.removeNodeset("/root/main/rghtlist/ordrsrvlist");
- model.removeNodeset("/root/main/rghtlist/testrsrvlist");
- model.removeNodeset("/root/main/rghtlist/ordsperlist");
- model.removeNodeset("/root/main/rghtlist/injsperlist");
- model.removeNodeset("/root/main/rghtlist/snwinfolist");
- ipt_pid.value="";
- opt_hngnm.value="";
- opt_gndrage.value="";
- opt_rrgstno.value="";
- grd_snwinfo.refresh();
- tar_memo.refresh();
- grd_ordrsrv.refresh();
- grd_testrsrv.refresh();
- grd_ordsper.refresh();
- grd_injsper.refresh();
- ipt_pid.refresh();
- opt_hngnm.refresh();
- opt_gndrage.refresh();
- opt_rrgstno.refresh();
- return;
- }
- }
- }
- }
-
- if(grd_biztrgtman.row <= 0){
- return;
- }
-
- if(flag!="acting"){
-
- //화면상단 정보설정
- var iRow = grd_biztrgtman.row;
- //20090227 dhkim ordtype제거 무조건 'O'로 넘김
- //var ordtype = model.getValue(xBizTrgtManListPath+"["+iRow+"]/ordtype");
- var ordtype = 'O';
-
- var pid = model.getValue(xBizTrgtManListPath+"["+iRow+"]/pid");
- var orddd = model.getValue(xBizTrgtManListPath+"["+iRow+"]/orddd").substr(0, 8);
- var cretno = model.getValue(xBizTrgtManListPath+"["+iRow+"]/cretno");
- var instcd = model.getValue(xBizTrgtManListPath+"["+iRow+"]/instcd");
- //20090227 dhkim orgorddd 제거
- //var orgorddd = model.getValue(xBizTrgtManListPath+"["+iRow+"]/orgorddd");
- //var param = ordtype + "▦" + pid + "▦" + orddd + "▦" + cretno + "▦" + instcd + "▦" + '' + "▦" + orgorddd;
- var param = ordtype + "▦" + pid + "▦" + orddd + "▦" + cretno + "▦" + instcd + "▦" + '' + "▦" + '';
- //20090212 dhkim 추가
- //상단정보세팅전 서울성모 전환환자인지 조회
- model.removenode('/root/send');
- model.makeValue('/root/send/pid', pid);
-
- if(!submit('TRMNI02030')){
- messageBox('상단정보세팅중 전환환자 여부조회를 실패하였습니다.', 'E999');
- }else{
- var pidflag = model.getValue('/root/bmt/bmtinfo/pidflag');
- var hngnm = model.getValue('/root/bmt/bmtinfo/hngnm');
-
- if(hngnm != ''){
- hngnm = '"' + hngnm + '"님은 ';
- }
- if(pidflag == 'Y'){
- messageBox(hngnm + '여의도성모에서 서울성모 전환 BMT환자입니다.', 'I999');
- }
- }
-
- // alert(param);
-
- //상단정보 세팅
- setParameter("condparam", param);
- modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
- //오른쪽 환자 데이타 조회에서 등록번호 데이타 입력후 조회
- var iRow = grd_biztrgtman.row;
- model.setValue("/root/main/rghtref/rghtreflist/pid", model.getValue(xBizTrgtManListPath+"["+iRow+"]/pid"));
- //20090629 dhkim 7/1고시변경으로 인한 리턴값 추가
- var rtn = fpidref("biztrgrman");
- if(!rtn){
- return false;
- }
-
- //업무대상자리스트에서 해당환자 선택상태로 변경
- grd_biztrgtman.row = iRow;
- }
-
- //20090218 dhkim 이부분 추가 테스트...
- //20090218 dhkim 이부분 추가 당일업무대상자리스트 및 당일업무대상자처방통계건수 재조회
- //20090218 dhkim 이부분 추가 fbiztrgtman("acting");
- /*
- 20090218 dhkim 주석처리 임시 테스트중..
- model.removeNodeset("/root/send");
- model.makeValue("/root/send/bizdd", model.getValue("/root/main/leftref/bizdd"));
- model.makeValue("/root/send/execflag", model.getValue("/root/main/leftref/execflag"));
- model.makeValue("/root/send/exec", model.getValue("/root/main/leftref/exec"));
-
- //주사실메인통계조회
- if(submit("TRMNI02027")){
- /*
- model.setValue("/root/main/biztrgtman/statslist/allseq", model.getValue("/root/init/stats/statslists/allseqs"));
- model.setValue("/root/main/biztrgtman/statslist/inj", model.getValue("/root/init/stats/statslists/injs"));
- model.setValue("/root/main/biztrgtman/statslist/prvn", model.getValue("/root/init/stats/statslists/prvns"));
- model.setValue("/root/main/biztrgtman/statslist/ant", model.getValue("/root/init/stats/statslists/ants"));
- model.setValue("/root/main/biztrgtman/statslist/blod", model.getValue("/root/init/stats/statslists/blods"));
- * /
- model.setValue("/root/main/biztrgtman/statslist/antprcpend", model.getValue("/root/init/stats/statslists/antprcpends"));
- model.setValue("/root/main/biztrgtman/statslist/antdelive", model.getValue("/root/init/stats/statslists/antdelives"));
- }
- */
-
-
- //업무대상자리스트에서 선택
- //처방상세내역조회
- fSearchPrcpDetail();
- }
- /**
- * @group :
- * @ver : 2008.11.03
- * @by :
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 처방상세내역 조회조건(pid, drugdd) set
- 더블클릭이벤트가 어떤 그리드에서 발생했는지 set
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetPrclDetlCond(pid, drugdd, grdnm, orddd, cretno, orddeptcd, orddrid){
-
- //처방상세내역 조건 set
- model.removenode('/root/temp/prcpdetldata');
- model.makeValue('/root/temp/prcpdetldata/pid', pid);
- model.makeValue('/root/temp/prcpdetldata/drugdd', drugdd);
-
- //더블클릭이벤트가 어떤 그리드에서 발생했는지 set
- model.removenode('/root/temp/grdnm');
- model.makeValue('/root/temp/grdnm', grdnm);
-
- //반환요청조건 parameter set
- model.removenode('/root/temp/prcpretn');
- model.makeValue('/root/temp/prcpretn/pid', pid);
- model.makeValue('/root/temp/prcpretn/orddd', orddd);
- model.makeValue('/root/temp/prcpretn/cretno', cretno);
- model.makeValue('/root/temp/prcpretn/orddeptcd', orddeptcd);
- model.makeValue('/root/temp/prcpretn/orddrid', orddrid);
-
- model.refresh();
- }
- /**
- * @group :
- * @ver : 2008.11.03
- * @by :
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 처방상세내역조회
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSearchPrcpDetail(){
- var iRow = grd_biztrgtman.row;
- model.removeNodeset("/root/send");
- model.makeValue("/root/send/pid", model.getValue('/root/temp/prcpdetldata/pid'));//등록번호
- model.makeValue("/root/send/drugdd", model.getValue('/root/temp/prcpdetldata/drugdd'));//진료일자
- model.makeValue("/root/send/exec", model.getValue("/root/main/leftref/exec"));//dutplcecd(세션기관코드)
- model.makeValue("/root/send/addoprc", model.getValue('/root/main/addoprc'));//20081030 외래처방포함조회
-
- //20090217 dhkim
- //사용자정보를 가지고 해당사용자가 bmt주사실사용자인지 암센터사용자인지 여부에 따라 조회구분자가 달라짐
- //drprcpetc2는 화면초기화 시에 글로벌변수로 세팅함
- model.makeValue("/root/send/drprcpetc2", drprcpetc2);
-
- //처방상세내역조회1
- if(submit("TRMNI02023")){
-
- grd_prcpdetl.rebuildStyle();
-
- var xPrcpDetlPath = "/root/main/prcpdetl/prcpdetllist"
- var Row = grd_prcpdetl.rows;
- var mixchk = 0;
- var execdd, blodcomstat, execprcpstatcd, prcpclscd, drugno, cdnm, endyn, etcprcpresncd, blodcomstat;
-
- //조제완료또는 특조완료인 항암 처방중 mix번호가 같은 처방을 조제완료 상태로 변경하기위한 변수
- var mixk, actordddk, rsrvtmk, ordddk;
- var mixr, actordddr, rsrvtmr, ordddr;
-
- var rcptchk; //20090305 dhkim 후수납관련필드추가
-
- //20090605 dhkim
- var drugnok, drugnor;
-
- //처방상태 값에 따른 처방상세내역 리스트에 상태값 을 나타내는 로직 시작
- for(i=1; i<Row; i++){
-
- execdd = model.getValue(xPrcpDetlPath+"[" + i + "]/execrid");
- blodcomstat = model.getValue(xPrcpDetlPath+"[" + i + "]/blodcomstat");
- execprcpstatcd = model.getValue(xPrcpDetlPath+"[" + i + "]/execprcpstatcd");
- prcpclscd = model.getValue(xPrcpDetlPath+"[" + i + "]/prcpclscd");
- drugno = model.getValue(xPrcpDetlPath+"[" + i + "]/drugno");
- cdnm = model.getValue(xPrcpDetlPath+"[" + i + "]/cdnm");
- endyn = model.getValue(xPrcpDetlPath+"[" + i + "]/endyn");
- etcprcpresncd = model.getValue(xPrcpDetlPath+"[" + i + "]/etcprcpresncd"); // 수혈반납 및 폐기사유코드
- blodcomstat = model.getValue(xPrcpDetlPath+"[" + i + "]/blodcomstat"); // 성분제제상태
- stat = model.getValue(xPrcpDetlPath+"[" + i + "]/stat");//[20081118 by dhkim] 처방상태 (강제지정)
-
- //alert('stat : ' + stat);
- //20090305 dhkim 후수납관련필드추가
- rcptchk = model.getValue(xPrcpDetlPath+"[" + i + "]/rcptchk"); // 후수납상태
-
- //alert('drugno : ' + drugno + ', execprcpstatcd : ' + execprcpstatcd + ', cdnm : ' + cdnm + ', prcpclscd : ' + prcpclscd);
-
- //20090305 dhkim
- //특조전송완료 상태로 보여주는 부분 후수납의 경우 230조건 제외할것
- //후수납 : rcptchk값이 V, Y, F일때는 230조건 제외,
- // rcptchk값이 R일때는 230조건
- //20090312 dhkim vip환자의 경우는 수납여부 체크하지 않음
- //20090313 dhkim vip환자와 당일선검사환자의 경우는 수납여부 체크하지 않음
- if(
- (
- (rcptchk == 'R' && execprcpstatcd == "230")
- || (rcptchk == 'V')
- || (rcptchk == 'Y')
- //20090428 dhkim 후불 주석품
- || (rcptchk == 'F')
- )
- && drugno != "0" //투약번호 따지고
- && cdnm !="마약" //(마약제외)
- && stat != "2" //처방상태 (강제지정시 항암으로 위장된 조제완료된 주사처방을 지정 못하게 하기위함)
- ){
- //alert(rcptchk + ' ' + execprcpstatcd + ' ' + drugno);
- grd_prcpdetl.textmatrix(i, 3) = 13; //전송완료
- }
- /*
- //투약번호 따지고 230수납 된 약이면 (마약제외) 전송완료상태
- if(drugno != "0" && execprcpstatcd == "230" && cdnm!="마약"
- && stat != "2"){//[20081118 by dhkim] 처방상태 (강제지정시 항암으로 위장된 조제완료된 주사처방을 지정 못하게 하기위함)
- grd_prcpdetl.textmatrix(i, 3) = 13; //전송완료
- }
- */
-
- //300조제보류
- if(execprcpstatcd == "300"){
- grd_prcpdetl.textmatrix(i, 3) = 1; //조제보류
- }
- //310조제완료 315특조완료 A7항암
- //20090316 dhkim 무균(A9)추가
- if(execprcpstatcd == "310" || execprcpstatcd == "315" && (prcpclscd == "A7" || prcpclscd == "A9")){
-
- grd_prcpdetl.textmatrix(i, 3) = 2; //조제완료
-
- mixk = model.getValue(xPrcpDetlPath+"["+i+"]/mix");
-
- //alert(mixk);
-
- actordddk = model.getValue(xPrcpDetlPath+"["+i+"]/actorddd");
- rsrvtmk = model.getValue(xPrcpDetlPath+"["+i+"]/rsrvtm");
- ordddk = model.getValue(xPrcpDetlPath+"["+i+"]/orddd");
- drugnok = model.getValue(xPrcpDetlPath+"["+i+"]/drugno");//투약번호
-
- //예약일, 진료일, 처방일, mix번호가 같은 처방을 조제완료상태로 강제변경
- for (r=0; r<Row; r++){
-
- mixr = model.getValue(xPrcpDetlPath+"["+r+"]/mix");
- actordddr = model.getValue(xPrcpDetlPath+"["+r+"]/actorddd");
- rsrvtmr = model.getValue(xPrcpDetlPath+"["+r+"]/rsrvtm");
- ordddr = model.getValue(xPrcpDetlPath+"["+r+"]/orddd");
- drugnor = model.getValue(xPrcpDetlPath+"["+r+"]/drugnor");
-
- //alert(mixk +','+ mixr +' '+ rsrvtmk +','+ rsrvtmr +' '+ actordddk +','+ actordddr +' '+ ordddk +','+ ordddr);
-
- if(mixk!= '-' && rsrvtmk != '-' && mixk == mixr && actordddr == actordddk && rsrvtmr == rsrvtmk && ordddr == ordddk && drugnor == drugnok && drugnok != 0){
- grd_prcpdetl.textmatrix(r, 3) = 2; //조제완료
- }
- }
- }
-
- //처방 상태값 세팅
-
- //처방전출력여부 610실시완료
- var printyn = model.getValue(xPrcpDetlPath+"["+i+"]/printyn");
- if(printyn == "Y" && execprcpstatcd != "610"){
- grd_prcpdetl.cellstyle("background-color", i, 0, i, 19) = '#FFFFCC';//상아색
- }
- //500접수 505준비 510검사중
- if(execprcpstatcd == "500" || execprcpstatcd == "505" || execprcpstatcd == "510"){
- grd_prcpdetl.textmatrix(i, 3) = 11 //접수
- }
- //520검사완료 525불출요청
- if(execprcpstatcd == "520" || execprcpstatcd == "525"){
- grd_prcpdetl.textmatrix(i, 3) = 4 //준비완료
- }
- //540반납의뢰
- if(execprcpstatcd == "540"){
- grd_prcpdetl.textmatrix(i, 3) = 7 //반납의뢰
- }
- //550반납완료
- if(execprcpstatcd == "550"){
- grd_prcpdetl.textmatrix(i, 3) = 8 //반납완료
- }
- //530출고
- if(execprcpstatcd == "530"){
- if (blodcomstat == "8") {
- grd_prcpdetl.textmatrix(i, 3) = 14 //잔여폐기
- }
- else {
- grd_prcpdetl.textmatrix(i, 3) = 5 //불출
- }
- }
- //560폐기의뢰
- if(execprcpstatcd == "560"){
- if (etcprcpresncd == "07" || etcprcpresncd == "12") {
- grd_prcpdetl.textmatrix(i, 3) = 14 //잔여폐기
- }
- else {
- grd_prcpdetl.textmatrix(i, 3) = 9 //폐기의뢰
- }
- }
- //570폐기완료
- if(execprcpstatcd == "570"){
- grd_prcpdetl.textmatrix(i, 3) = 10 //폐기완료
- }
- //320출고
- if(execprcpstatcd == "320"){
- grd_prcpdetl.textmatrix(i, 3) = 5 //출고
- }
- //B4수혈 610실시완료
- if(prcpclscd =="B4"){
- if(execprcpstatcd == "610"){
- grd_prcpdetl.textmatrix(i, 3) = 12 //실시완료
- }
- }else{
- if(execprcpstatcd == "610"){
- grd_prcpdetl.textmatrix(i, 3) = 6 //시행완료
- }
- }
-
- var mix = model.getValue(xPrcpDetlPath+"["+i+"]/mix");
- var actorddd = model.getValue(xPrcpDetlPath+"["+i+"]/actorddd");
- var rsrvtm = model.getValue(xPrcpDetlPath+"["+i+"]/rsrvtm");
- var orddd = model.getValue(xPrcpDetlPath+"["+i+"]/orddd");
-
- //20091112 dhkim 믹스그룹화 기준을 처방시간별로 변경(약제랑 기준 맞춤- 빈센트에서 오류발생함)
- var rgstdd = model.getValue(xPrcpDetlPath+"["+i+"]/rgstdd");
- var rgsttm = model.getValue(xPrcpDetlPath+"["+i+"]/rgsttm");
-
- //20090622 dhkim
- if(orddd.length > 8){
- orddd = orddd.substring(0, 8);
- }
-
- //20090903 dhkim 빈센트 오류사항 (믹스지정한 처방상태가 동일하지 않음)
- var stat = grd_prcpdetl.textmatrix(i, 3);
-
- var mixs, actorddds, rsrvtms, orddds;
- var _rgstdd, _rgsttm;
-
- //항암처방과 mix번호가 같은것 처방종류를 항암으로 display
- if(prcpclscd == "A7"){
- for(var k=0; k<Row; k++){
- mixs = model.getValue(xPrcpDetlPath+"["+k+"]/mix");
- actorddds = model.getValue(xPrcpDetlPath+"["+k+"]/actorddd");
- rsrvtms = model.getValue(xPrcpDetlPath+"["+k+"]/rsrvtm");
- orddds = model.getValue(xPrcpDetlPath+"["+k+"]/orddd");
-
- //20091112 dhkim 믹스그룹화 기준을 처방시간별로 변경(약제랑 기준 맞춤- 빈센트에서 오류발생함)
- _rgstdd = model.getValue(xPrcpDetlPath+"["+k+"]/rgstdd");
- _rgsttm = model.getValue(xPrcpDetlPath+"["+k+"]/rgsttm");
-
- //20090622 dhkim
- if(orddds.length > 8){
- orddds = orddds.substring(0, 8);
- }
-
- //20091112 dhkim 믹스그룹화 시 rgstdd, rgsttm 조건 추가
- if(mix == mixs && mix != '-' && actorddds == actorddd && rsrvtms == rsrvtm && orddds == orddd && rgstdd == _rgstdd && rgsttm == _rgsttm){
- // 특조전송시 mix번호 같을때 항암으로 보여주는 로직..
- grd_prcpdetl.textmatrix(k, 2) = 'A7';
- //20090903 dhkim 빈센트 오류사항 (믹스지정한 처방상태가 동일하지 않음)
- grd_prcpdetl.textmatrix(k, 3) = stat;
- }
- }
- }
- //20090316 dhkim 무균추가
- // 마감처방 색깔표시 되도록
- if(prcpclscd == "A9"){
- for (var k=0; k<Row; k++){
- mixs = model.getValue(xPrcpDetlPath+"["+k+"]/mix");
- actorddds = model.getValue(xPrcpDetlPath+"["+k+"]/actorddd");
- rsrvtms = model.getValue(xPrcpDetlPath+"["+k+"]/rsrvtm");
- orddds = model.getValue(xPrcpDetlPath+"["+k+"]/orddd");
-
- //20091112 dhkim 믹스그룹화 기준을 처방시간별로 변경(약제랑 기준 맞춤- 빈센트에서 오류발생함)
- _rgstdd = model.getValue(xPrcpDetlPath+"["+k+"]/rgstdd");
- _rgsttm = model.getValue(xPrcpDetlPath+"["+k+"]/rgsttm");
-
- //20090622 dhkim
- if(orddds.length > 8){
- orddds = orddds.substring(0, 8);
- }
-
- //20091112 dhkim 믹스그룹화 시 rgstdd, rgsttm 조건 추가
- if(mix == mixs && mix != '-' && actorddds == actorddd && rsrvtms == rsrvtm && orddds == orddd && rgstdd == _rgstdd && rgsttm == _rgsttm){
- // 특조전송시 mix번호 같을때 항암으로 보여주는 로직..
- grd_prcpdetl.textmatrix(k, 2) = 'A9';
- //20090903 dhkim 빈센트 오류사항 (믹스지정한 처방상태가 동일하지 않음)
- grd_prcpdetl.textmatrix(k, 3) = stat;
- }
- }
- }
-
- //20090529 dhkim
- //혈액 상태중 반납의뢰, 통폐기의뢰, 잔여폐기의뢰, 출고, 접수, 준비완료, 반납완료, 통폐기완료, 잔여폐기완료 상태값 정의
- if(prcpclscd == 'B4'){
- grd_prcpdetl.textmatrix(i, 3) = model.getValue(xPrcpDetlPath + "[" + i + "]/bloodst");
- }
-
- if (endyn == "Y") {
- grd_prcpdetl.cellstyle("background-color", i, 0, i, 19) = '#ffcccc';//빨간색
- }
-
- } //상태 값을 나타내는 로직 끝
-
- //상세내역 조회후 오른쪽 데이타 조회
- fRghtDataList();
-
- //예약일자 변경시 이전 날짜 선택 여부를 위해서 노드를 copy해둠
- model.copyNode("/root/hidden/main", "/root/main");
- }
- }
- /**
- *20090630 dhkim
- *이전 조회내역 클리어
- */
- function fClearSrch(){
-
- //상병정보
- model.removenodeset('/root/main/rghtlist/snwinfolist');
-
- //메모
- model.removenodeset('/root/main/rghtlist/memolist/memocnts');
-
- //진료예약정보
- model.removenodeset('/root/main/rghtlist/ordrsrvlist');
-
- //검사예약정보
- model.removenodeset('/root/main/rghtlist/testrsrvlist');
-
- //진료내역
- model.removenodeset('/root/main/rghtlist/ordsperlist');
-
- //미시행주사내역
- model.removenodeset('/root/main/rghtlist/injsperlist');
-
- //처방상세내역
- model.removenodeset('/root/main/prcpdetl/prcpdetllist');
-
- model.refresh();
- }
- /**
- * @group :
- * @ver : 2007.05.04
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 등록번호에 따른 환자정보 검색
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fpidref(flag){
-
- var pid, hngnm ;
-
- model.removeNodeset("/root/send");
- pid = ipt_pid.value;
- if(pid == ""){
- messageBox("환자를 지정하지", "E007");
- return false;
- }
-
- //20090630 dhkim
- //환자세팅하기 전 이전내역 clear
- fClearSrch();
-
- //입력한 등록번호의 환자명, 주민번호를 조회
- model.makeValue("/root/send/pid", pid);
-
- if(submit("TRMNI02022")){
- hngnm = model.getValue("/root/main/rghtref/rghtreflist/hngnm");
- if(hngnm==""){
- opt_hngnm.value="";
- opt_gndrage.value="";
- opt_rrgstno.value="";
- opt_hngnm.refresh();
- opt_gndrage.refresh();
- opt_rrgstno.refresh();
- model.makeValue("/root/main/rghtref/rghtreflist/pid","");
- return false;
- }
-
-
-
- //20090629 dhkim
- //2009.07.01부터 보험료인상에 대한 주사실 액팅 시점의 수납 메시지 관련 원무인터페이스 호출추가
- //주사, 혈액에 대해서만
- model.removenodeset('/root/send');
- model.removenodeset('/root/insurinfo');
- model.makeNode('/root/insurinfo');
- model.makeValue('/root/send/pid', pid);
- model.makeValue('/root/send/instcd', getUserInfo('dutplceinstcd'));
- if(submit('TRMNI02035')){
- var prcprcptyn = model.getValue('/root/insurinfo/insurlist/prcprcptyn');
- if(prcprcptyn == 'Y'){
- messageBox('요율변경 대상자입니다.\r\n수납에서 정산할 수 있도록 안내 해 주시기 바랍니다.', 'E');
- //return false;
- flag = "new";
- //return true;//blocking 제외시킴 20090701 (김병로팀장님)
- }
- }
-
-
- if(flag == "new"){
-
- //상병정보, 메모, 진료예약정보, 검사예약정보, 진료내역, 미시행 주사내역 조회
- fRghtDataList();
- model.removeNodeset("/root/main/prcpdetl/prcpdetllist");
- model.refresh();
- }
- }
-
- return true;
- }
- /**
- * @group :
- * @ver : 2007.05.11
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 오른쪽 조회시
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fRghtDataList(){
- var hngnm = model.getValue("/root/main/rghtref/rghtreflist/hngnm");
- if(hngnm==""){
- messageBox("환자가 조회되지", "E007")
- return;
- }
-
- var iRow = grd_biztrgtman.row;
- var cretno = model.getValue(xBizTrgtManListPath+"["+iRow+"]/cretno");
- var allterm = model.getValue("/root/main/allterm");
- var orddd = model.getValue(xBizTrgtManListPath+"["+iRow+"]/orddd");
- var bizorddd = model.getValue("/root/main/leftref/bizdd");
-
- var ordsperRow = grd_ordsper.row;
- var depthngnm, usernm;
- //[20081121 dhkim] 진료내역그리드에 선택되어진 진료내역 있으면 해당일자를 set
- if(model.getValue('/root/temp/grdnm') == 'grd_ordsper' && ordsperRow > 0){
- orddd = model.getValue('/root/main/rghtlist/ordsperlist[' + ordsperRow + ']/actorddd');
- depthngnm = model.getValue('/root/main/rghtlist/ordsperlist[' + ordsperRow + ']/depthngnm');
- usernm = model.getValue('/root/main/rghtlist/ordsperlist[' + ordsperRow + ']/usernm');
- if(bizorddd == null || bizorddd == ''){
- bizorddd = orddd;
- }
- }
-
- if(orddd == null || orddd == ''){
- orddd = getCurrentDate();
- }
- if(bizorddd == null || bizorddd == ''){
- bizorddd = orddd;
- }
- model.removeNodeset("/root/send");
- model.makeValue("/root/send/pid", model.getValue("/root/main/rghtref/rghtreflist/pid"));
- model.makeValue("/root/send/allterm", allterm);//전체기간 체크여부
- model.makeValue("/root/send/orddd", orddd);
- model.makeValue("/root/send/bizorddd", bizorddd);
- model.makeValue("/root/send/cretno", cretno);
- model.makeValue("/root/send/exec", model.getValue("/root/main/leftref/exec"));
-
- //상병정보, 메모, 진료예약정보, 검사예약정보, 진료내역, 미시행주사내역 조회
- if(submit("TRMNI02024")){
- var seqno = model.getValue("/root/main/rghtlist/memolist/seqno")
- if(seqno == ""){
- //메모 데이타 없을시 이전 데이타 삭제
- tar_memo.value="";
- tar_memo.refresh();
- }
-
- var memocnts=model.getValue("/root/main/rghtlist/memolist/memocnts");
- if(memocnts == "" || memocnts == null){
- model.makeValue("/root/main/rghtlist/memolist/memocnts","");
- tar_memo.value = "";
- tar_memo.refresh();
- }
- }
-
-
- //[20081121 dhkim] 진료내역 재조회후 해당일자 선택된 상태로 변경 grd_ordsper.row = ordsperRow;
- if(model.getValue('/root/temp/grdnm') == 'grd_ordsper' && ordsperRow > 0){
-
- var _actorddd, _depthngnm, _usernm;
- for(var i = 1; grd_ordsper.rows; i++){
- _actorddd = model.getValue('/root/main/rghtlist/ordsperlist[' + i + ']/actorddd');
- _depthngnm = model.getValue('/root/main/rghtlist/ordsperlist[' + i + ']/depthngnm');
- _usernm = model.getValue('/root/main/rghtlist/ordsperlist[' + i + ']/usernm');
- if(orddd == _actorddd && depthngnm == _depthngnm && usernm == _usernm){
- grd_ordsper.row = i;
- grd_ordsper.topRow = i-1;
- return;
- }
- }
- }else{
- //20090604 dhkim 최근진료내역 선택상태로 보여줌
- if(grd_ordsper.rows > 1){
- grd_ordsper.row = 1;
- }
- }
-
- }
- /**
- * @group :
- * @ver : 2007.05.14
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 오른쪽 메모
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fMemoInsert(){
- var memocnts = tar_memo.value;
- var seqno = model.getValue("/root/main/rghtlist/memolist/seqno")
- var hngnm = model.getValue("/root/main/rghtref/rghtreflist/hngnm");
- //메모 데이타 조회시 환자 선택 여부 파악
- if(hngnm==""){
- messageBox("환자가 선택되지", "E007")
- return;
- }
-
- model.removeNodeset("/root/send");
- model.makeValue("/root/send/pid", model.getValue("/root/main/rghtref/rghtreflist/pid"));
- model.makeValue("/root/send/memocnts", memocnts);
- model.makeValue("/root/send/seqno",model.getValue("/root/main/rghtlist/memolist/seqno"));
-
- if(submit("TXMNI02021")){
- fRghtDataList();
- }
- }
- /**
- 20090806 dhkim 주석처리
- * @group :
- * @ver : 2008.11.03
- * @by :
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : acting 취소
- * @param :
- * @return :
- * @---------------------------------------------------
- function fActingCancel(){
-
- var iRow = grd_biztrgtman.row;
- var Row = grd_prcpdetl.rows;
- var jRow = grd_prcpdetl.row;
- var oRow = grd_ordsper.row;
-
- var xPrcpDetlPath = "/root/main/prcpdetl/prcpdetllist"
-
- //환자 선택 여부 파악
- if(Row==1){
- messageBox("환자가 선택되지", "E007")
- return;
- }
-
- //처방선택여부 파악
- var chek = 0;
- var kRow = 0;
- for (i=1; i<Row; i++){
- chek = chek + grd_prcpdetl.textmatrix(i,1);
- if(grd_prcpdetl.textmatrix(i,1) == "1"){
- kRow = kRow +","+ i
- }
- }
- if(chek==0){
- messageBox("하나 이상의 처방내역을", "C002")
- return;
- }
-
-
- var kRows = kRow.split(",");
- for(i=1; i < kRows.length; i++){
- var exec = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/execdd");
- var prcpclscd = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/prcpclscd");
- var execchk = getCurrentDate();
- var execord = exec.substr(0,8);
- var endyn = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/endyn");
- var act50yn = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/act50yn");
- var dracptyn = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/dracptyn");
- var dracptdt = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/dracptdt");
-
- if(exec == "-"){
- messageBox("Acting을 실시하지 않은 곳은 Acting 취소를", "E001")
- return;
- }
- if(execord != execchk){
- messageBox("Acting을 실시한 일자와 현재 일자가 동일하지 않은 곳은 Acting 취소를", "E001")
- return;
- }
- if(prcpclscd == "B4"){
- messageBox("혈액은 Acting 취소를", "E001")
- return;
- }
-
- // 마감된 처방을 Acting취소시 마감반환사유 프로세스 입력되도록
- if (endyn == "Y") {
- messageBox("마감된 Acting처방을 취소하려면 반환사유를 ", "C001");
-
- model.makeValue("/root/main/cond/list/prcpdd", model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/prcpdd"));
- model.makeValue("/root/main/cond/list/prcpno", model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/prcpno"));
- model.makeValue("/root/main/cond/list/prcphistno", model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/prcphistno"));
- model.makeValue("/root/main/cond/list/execprcpno", model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/execprcpno"));
- model.makeValue("/root/main/cond/list/instcd", getUserInfo("dutplceinstcd"));
- model.makeValue("/root/main/cond/list/ioflag", "O");
-
- // 반환사유 팝업
- modal("SPPAS03000", "2", "100", "100", "SPPAS03000", "root/main/cond", "root/target", "left:100; top:100; width:400; height:400; sysmenu:hidden; min:visible; max:hidden; :hidden; resize:true; caption:visible;", false);
- }
- } // for end
-
- if(kRows.length >= 3){
- var chkactorddd = model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/actorddd");
- for (i=1; i<kRows.length; i++){
- var chkactorddd1 = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/actorddd");
- if(chkactorddd != chkactorddd1){
- messageBox("ACting은 동일한 예약일자가 아니면 Acting실시", "E001");
- return;
- }
- }
- }
-
- var prcpexecdeptcd = model.getValue("/root/main/leftref/exec");//세션 부서코드(default)
- var ordddlong = model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/orddd")
- var orddd = ordddlong.substring(0,8);
-
- model.removeNodeset("/root/send");
- model.makeValue("/root/send/acting", "N"); // acting : Y, acting취소 : N
- model.makeValue("/root/send/pid", model.getValue("/root/main/rghtref/rghtreflist/pid")); // 등록번호
- model.makeValue("/root/send/drugdd", model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/actorddd")); // 예정일시
- model.makeValue("/root/send/prcpexecdeptcd", prcpexecdeptcd); // 실시부서코드
- model.makeValue("/root/send/endyn", model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/endyn")); // 마감여부
- model.makeValue("/root/send/prcpdetl", grd_prcpdetl.getupdatedataAll("i")); // 처방상세내역 그리드
-
- model.makeValue("/root/send/orddd", orddd);
- model.makeValue("/root/send/act50yn", model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/act50yn"));
- model.makeValue("/root/send/dracptyn", model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/dracptyn"));
- model.makeValue("/root/send/dracptdt", model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/dracptdt"));
-
-
- //Acting취소 실행
- if(submit("TXMNI02026")){
- //변경내용저장 실행후 업무대상리스트 다시 조회 실시
- fbiztrgtman("acting");
-
- if (model.getValue("/root/main/rghtref/rghtreflist/pid") == model.getValue(xBizTrgtManListPath+"["+iRow+"]/pid")){
- //처방 상세내역
- fBiztrgtClick("acting");
- }else if (oRow != ""){
- grd_ordsper.row = oRow;
- fordsper();
- }
- //예약일자 변경시 이전 날짜 선택 여부를 위해서 노드를 copy해둠
- model.copyNode("/root/hidden/main", "/root/main");
- }
-
- }
- */
- /**
- 20090806 dhkim 주석처리
- * @group :
- * @ver : 2007.05.15
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : acting 채크
- * @param :
- * @return :
- * @---------------------------------------------------
- function fActing(){
-
- var iRow = grd_biztrgtman.row;
- var Row = grd_prcpdetl.rows;
- var jRow = grd_prcpdetl.row;
- var oRow = grd_ordsper.row;
-
- var xPrcpDetlPath = "/root/main/prcpdetl/prcpdetllist"
-
- //acting채크 시 환자 선택 여부 파악
- if(Row==1){
- messageBox("환자가 선택되지", "E007")
- return;
- }
-
- //처방선택여부 파악
- var chek = 0;
- var kRow = 0;
- for (i=1; i<Row; i++){
- chek = chek + grd_prcpdetl.textmatrix(i,1);
-
- if(grd_prcpdetl.textmatrix(i,1) == "1"){
- kRow = kRow +","+ i
- }
-
- }
- if(chek==0){
- messageBox("하나 이상의 처방내역을", "C002")
- return;
- }
-
- //선택한 처방에 해당하는 row만 돌면서 acting validation을 체크한다.
- var kRows = kRow.split(",");
- for(i=1; i<kRows.length; i++){
- var exec = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/execdd");
- var prcpclscd = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/prcpclscd");
- var execchk = getCurrentDate();
- var execord = exec.substr(0,8);
- var endyn = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/endyn");
- var act50yn = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/act50yn");
- var dracptyn = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/dracptyn");
- var dracptdt = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/dracptdt");
-
- if(exec != "-"){
- messageBox("Acting을 실시한 곳은 다시 Acting을", "E001")
- return;
- }
-
- var stat = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/stat");
- var prcpclscd = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/prcpclscd");
- var cdnm = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/cdnm");
- //항암, 주사 가 아니면 조회만 가능
- //20090316 dhkim 무균(A9)추가
- if(prcpclscd != "A7" && prcpclscd != "A6" && prcpclscd != "A8" && prcpclscd != "A9"){
- messageBox("항암, 무균, 주사만 Acting을 할 수 있습니다.", "E");
- return;
- }
- if(prcpclscd == "B4"){
- messageBox("혈액은 수혈 기록을 통해서만 Acting을 할 수 있습니다.", "E")
- return;
- }
- //20090316 dhkim 무균(A9)추가
- if(prcpclscd == "A7" || prcpclscd == "A9"){
- if(stat != "2"){
- messageBox("조제완료 되지 않은 항암, 무균제는 Acting을", "E001")
- return;
- }
- }
- if(cdnm == "마약"){
- if(stat != "5"){
- messageBox("불출 되지 않은 마약은 Acting을", "E001")
- return;
- }
- }
- }
-
- if(kRows.length >= 3){
- var chkactorddd = model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/actorddd");//맨첫번째 row의 값과 비교
- for (i=1; i<kRows.length; i++){
- var chkactorddd1 = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/actorddd");
- if(chkactorddd != chkactorddd1){
- messageBox("Acting은 동일한 예약일자가 아니면 Acting실시", "E001");
- return;
- }
- }
- }
-
- // 20081103 dhkim
- // 특수주사실의 경우 외래처방과 입원처방이 동시에 발생가능하고 병동재원환자의 처방에 대해서는 blocking처리함
- model.removeNodeset("/root/send");
- model.makeValue("/root/send/pid",model.getValue("/root/main/rghtref/rghtreflist/pid"));
-
- //재원환자의 처방acting을 blocking한다.
- if(submit("TRMNI02028")){
- if(model.getValue("/root/init/acting/chking/actingchk") > 0){
- messageBox("현재 입원 환자는 Acting을", "E001")
- return;
- }
- }
-
-
- var prcpexecdeptcd = model.getValue("/root/main/leftref/exec");//세션 부서코드(default)
- var ordddlong = model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/orddd");
- var orddd = ordddlong.substring(0,8);
-
- model.removeNodeset("/root/send");
- model.makeValue("/root/send/acting", "Y"); // acting : Y, acting취소 : N
- model.makeValue("/root/send/pid", model.getValue("/root/main/rghtref/rghtreflist/pid")); // 등록번호
- model.makeValue("/root/send/drugdd", model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/actorddd")); // 예정일시
- model.makeValue("/root/send/prcpexecdeptcd", prcpexecdeptcd); // 실시부서코드
- model.makeValue("/root/send/endyn", model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/endyn")); // 마감여부
- model.makeValue("/root/send/prcpdetl", grd_prcpdetl.getupdatedataAll("i")); // 처방상세내역 그리드
-
- model.makeValue("/root/send/orddd", orddd);
- model.makeValue("/root/send/act50yn", model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/act50yn")); //
- model.makeValue("/root/send/dracptyn", model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/dracptyn")); //
- model.makeValue("/root/send/dracptdt", model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/dracptdt")); //
-
-
- //Acting실행
- if(submit("TXMNI02022")){
-
- if (model.getValue("/root/main/rghtref/rghtreflist/pid") == model.getValue(xBizTrgtManListPath+"["+iRow+"]/pid")){
- //처방 상세내역
- fBiztrgtClick("acting");
- }else if (oRow != ""){
- grd_ordsper.row = oRow;
- fordsper();
- }else{
- //변경내용저장 실행후 업무대상리스트 다시 조회 실시
- fbiztrgtman("acting");
- }
-
- //예약일자 변경시 이전 날짜 선택 여부를 위해서 노드를 copy해둠
- model.copyNode("/root/hidden/main", "/root/main");
- }
- }
- */
- /**
- * @group :
- * @ver : 2007.05.16
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 예약일자 이전 날자 채크
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function rsrvdd(){
- var xPrcpDetlPath = "/root/main/prcpdetl/prcpdetllist";
- var xPrcpDetlBKPath = "/root/hidden/main/prcpdetl/prcpdetllist";
- var sDetlGrupRow = grd_prcpdetl.row;
- var sDetlGrupBKRow = 0;
- var chkdd = model.getValue(xPrcpDetlPath+"["+sDetlGrupRow+"]/flag");
- var setcordflag = model.getValue(xPrcpDetlPath+"["+sDetlGrupRow+"]/etcordflag"); // 원무예약구분
- var sprcpclscdnow = model.getValue(xPrcpDetlPath+"["+sDetlGrupRow+"]/prcpclscdnow"); // 구분
-
-
- //Acting 실시 후 일자 변경인지 파악한다.
- var exec = grd_prcpdetl.textmatrix(sDetlGrupRow, 18)
-
- if(chkdd == "0" || chkdd ==null){
- messageBox("예약일자는 선택을 안하면 변경", "E001");
- model.setValue(xPrcpDetlPath+"["+sDetlGrupRow+"]/actorddd",model.getValue(xPrcpDetlBKPath+"["+sDetlGrupRow+"]/actorddd"));
- return;
- }
-
- if(exec != "-"){
- messageBox("Acting 실시후 예약일자 선택", "E001");
- model.setValue(xPrcpDetlPath+"["+sDetlGrupRow+"]/actorddd",model.getValue(xPrcpDetlBKPath+"["+sDetlGrupRow+"]/actorddd"));
- return;
- }
-
- //현제 일자 에서 선택한 일자가 이전 날자인지 아닌지 파악한다.
- var nowdate = getCurrentDate()
- if(model.getValue(xPrcpDetlPath+"["+sDetlGrupRow+"]/actorddd") < nowdate){
- messageBox("예약일자는 이전일자로 선택", "E001");
- model.setValue(xPrcpDetlPath+"["+sDetlGrupRow+"]/actorddd",model.getValue(xPrcpDetlBKPath+"["+sDetlGrupRow+"]/actorddd"));
- frsrvtm("15");
- return;
- }
-
- frsrvtm("15");
- }
- /**
- * @group :
- * @ver : 2007.05.22
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 변경내용저장
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fChangeSave(flag){
- var iRow = grd_biztrgtman.row;
- var oRow = grd_ordsper.row;
- var xhiddenPrcpDetlPath = "/root/hidden/main/prcpdetl/prcpdetllist"
- var xPrcpDetlPath = "/root/main/prcpdetl/prcpdetllist"
- var Row = grd_prcpdetl.rows;
-
- //변경내용저장 시 환자 선택 여부 파악
- if(Row==1){
- messageBox("환자가 선택되지", "E007")
- return;
- }
-
- var kRow = 0;
- var chek = 0;
-
- for (i=1; i<Row; i++){
- chek = chek + grd_prcpdetl.textmatrix(i,1);
- if(grd_prcpdetl.textmatrix(i,1) == "1"){
- kRow = kRow +","+ i
- }
- }
-
- if(chek==0){
- messageBox("하나 이상의 처방내역을", "C002")
- return;
- }
-
- var kRows = kRow.split(",");
- var chkactorddd = model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/actorddd");
- var chkactorddd1, drugno;
-
- //20081223 dhkim
- //약번호의 경우 항암 뿐 아니라 마약의 경우에도 따지 므로 메세지를 구분할 필요가 있음
- var cdnm;
-
- if(kRows.length >= 3){
- for (i=1; i<kRows.length; i++){
- chkactorddd1 = model.getValue(xhiddenPrcpDetlPath+"["+kRows[i]+"]/actorddd");
- drugno = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/drugno");
-
- //20081223 dhkim
- cdnm = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/cdnm");
- if(drugno != "0"){
- if(cdnm == "마약"){
- messageBox("마약 불출신청 접수 후 예약일자 변경을", "E001");
- }else{
- messageBox("특조전송후 예약일자 변경을", "E001");
- }
- return;
- }
-
-
-
- if(chkactorddd != chkactorddd1){
- messageBox("초기 동일한 예약일자가 아니면 저장", "E001");
- return;
- }
- }
- }
-
- var lRow = 0;
- var chkactorddd = model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/actorddd");
- for (i=1; i<Row; i++){
- var chkactorddd1 = model.getValue(xhiddenPrcpDetlPath+"["+i+"]/actorddd");
- if(chkactorddd == chkactorddd1){
- lRow = lRow +","+ i
- }
- }
-
- var lRows = lRow.split(",");
- for (i=1; i<Row; i++){
- var actordddchk = model.getValue(xPrcpDetlPath+"["+i+"]/actorddd");
- var actordddchk1 = model.getValue(xhiddenPrcpDetlPath+"["+i+"]/actorddd");
- if (actordddchk != actordddchk1){
- if (kRow != lRow){
- messageBox("동일한 일자를 모두 선택 하지 않으면 저장", "E001");
- return;
- }
- }
- }
-
- var vewactorddd1 = model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/actorddd");
- for (i=1; i<kRows.length; i++){
- var vewactorddd2 = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/actorddd");
- if(vewactorddd1 != vewactorddd2){
- messageBox("예약 일자를 모두 동일한 일자로 변경 하지 않으면 저장", "E001");
- return;
- }
- }
-
- if(flag != "Ant"){
- var prcpexecdeptcd = model.getValue("/root/main/leftref/exec");
- var flag = "Change";
- model.removeNodeset("/root/send");
- model.makeValue("/root/send/pid",model.getValue("/root/main/rghtref/rghtreflist/pid"));
- model.makeValue("/root/send/drugdd",model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/actorddd"));
- model.makeValue("/root/send/ordtm",model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/ordtm"));
- model.makeValue("/root/send/acting",flag);
- model.makeValue("/root/send/prcpexecdeptcd",prcpexecdeptcd);
- model.makeValue("/root/send/prcpdetl",grd_prcpdetl.getupdatedataAll("i"));
-
- //변경내용저장실행
- if(submit("TXMNI02027")){
-
- //20081212 dhkim 0원수납 에러메세지 테스트 ..
- if(model.getValue('/root/savechangeinfo/rcptinfo/rcptYn') == 'N'){
- alert(model.getValue('/root/savechangeinfo/rcptinfo/errMsg'));
- }
-
- //변경내용저장 실행후 업무대상리스트 다시 조회 실시
- fbiztrgtman("acting");
- if (model.getValue("/root/main/rghtref/rghtreflist/pid") == model.getValue(xBizTrgtManListPath+"["+iRow+"]/pid")){
- //업무대상리스트 다시 조회후 현재 Row의 위치에 선택 실시
- grd_biztrgtman.row = iRow;
- //처방 상세내역
- fBiztrgtClick("acting");
- }else if (oRow != ""){
- grd_ordsper.row = oRow;
- fordsper();
- }
- //예약일자 변경시 이전 날짜 선택 여부를 위해서 노드를 copy해둠
- model.copyNode("/root/hidden/main", "/root/main");
- }
- }
- }
- /**
- * @group :
- * @ver : 2007.05.22
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 처방전+acting 클릭시
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fMpsActing(){
- var mpsacting = checkbox3.value;//처방전+acting
-
- if(mpsacting=="1"){
- button11.disabled = true;//acting버튼 비활성화
- }else if(mpsacting==""){
- button11.disabled = false;//acting버튼 활성화
- }
- }
-
- /**
- * @group :
- * @ver : 2007.05.30
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 미시행 주사내역 부분 클릭시
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function finjsper(){
- var iRow = grd_injsper.row;
- var xBizInjSper = "/root/main/rghtlist/injsperlist";
- model.removeNodeset("/root/send");
- model.removeNodeset("/root/hidden/main");
- model.makeValue("/root/send/pid",model.getValue("/root/main/rghtref/rghtreflist/pid"));
- model.makeValue("/root/send/drugdd",model.getValue(xBizInjSper+"["+iRow+"]/actorddd"));
- model.makeValue("/root/send/orddd",model.getValue(xBizInjSper+"["+iRow+"]/orddd"));
- model.makeValue("/root/send/depthngnm",model.getValue(xBizInjSper+"["+iRow+"]/depthngnm"));
- model.makeValue("/root/send/exec",model.getValue("/root/main/leftref/exec"));
- var kRows = grd_ordsper.rows;
- var xOresperPath = "/root/main/rghtlist/ordsperlist"
- for(p=1; p<kRows; p++){
- var drugdd = model.getValue("/root/send/drugdd");
- var depthngnm = model.getValue("/root/send/depthngnm");
- var orddd1 = model.getValue(xOresperPath+"["+p+"]/actorddd");
- var depthngnm1 = model.getValue(xOresperPath+"["+p+"]/depthngnm");
- if(drugdd == orddd1 && depthngnm == depthngnm1){
- grd_ordsper.row = p;
- grd_ordsper.refresh();
- }
- }
- fordsper();
- }
- /**
- * @group :
- * @ver : 2007.06.01
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 환자번호 조회 돋보기 클릭시
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fPatSrch(){
- modal("../../../pam/patinfomngtweb/xrw/SPPMC02500", "1","150", "150", "SPPMC02500", "/root/source", "/root/send");
- var popupendflag = model.getValue("/root/main/popupendflag");
- if (popupendflag == "ok"){
- model.setValue("/root/main/rghtref/rghtreflist/pid",model.getValue("/root/main/patinfo/patinfolist/pid"));
- model.refresh();
-
- var pid = "/root/main/rghtref/rghtreflist/pid"
- if (pid != null && pid != "" && pid != " " && pid != "-"){
- //20090629 dhkim 7/1고시변경으로 인한 리턴값 추가
- var rtn = fpidref("new");
- if(!rtn){
- return false;
- }
- }
- }
- }
- /**
- * @group :
- * @ver : 2007.05.30
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 진료내역 부분 클릭시
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fordsper(){
-
- var actorddd = model.getValue(xBizordsper+"["+grd_ordsper.row+"]/actorddd"); //진료내역의 처방일
- var pid = model.getValue("/root/main/rghtref/rghtreflist/pid");//등록번호(오른쪽검색)
- var cretno = model.getValue(xBizordsper+"["+grd_ordsper.row+"]/cretno"); //환자생성번호
- //처방상세내역조회
- fSearchPrcpDetail();
-
- grd_ordsper.row = grd_ordsper.row;
- model.makeValue("/root/hidden/flags","grd_ordsper");
-
- /*
- var iRow = grd_ordsper.row;
- var xBizordsper = "/root/main/rghtlist/ordsperlist";
- var orddd = model.getValue("/root/main/leftref/bizdd");//업무일자
-
- model.removeNodeset("/root/send");
- model.removeNodeset("/root/hidden/main");
- model.makeValue("/root/send/orddd", orddd); //업무일자(왼쪽조회조건)
- model.makeValue("/root/send/bizorddd", model.getValue(xBizordsper+"["+iRow+"]/actorddd")); //진료내역의 처방일
- model.makeValue("/root/send/pid", model.getValue("/root/main/rghtref/rghtreflist/pid"));//등록번호(오른쪽검색)
- model.makeValue("/root/send/drugdd", model.getValue(xBizordsper+"["+iRow+"]/actorddd")); //진료내역의 처방일
- model.makeValue("/root/send/cretno", model.getValue(xBizordsper+"["+iRow+"]/cretno")); //진료내역의 생성번호
- model.makeValue("/root/send/addoprc", model.getValue('/root/main/addoprc')); //20081030 외래처방포함조회
-
- //처방상세내역조회2
- if(submit("TRMNI02023")){
-
- model.makeValue("/root/hidden/main", "");
- model.copyNode("/root/hidden/main", "/root/main");
-
- var Row = grd_prcpdetl.rows;
- var Row = grd_prcpdetl.rows;
- var xPrcpDetlPath = "/root/main/prcpdetl/prcpdetllist"
- var Row = grd_prcpdetl.rows;
- var mixchk = 0;
-
- //처방상태에 따른 처방상세내역 리스트에 상태값 display설정
- for(i=1; i<Row; i++){
-
- var execdd = model.getValue(xPrcpDetlPath+"["+i+"]/execrid");
- var blodcomstat = model.getValue(xPrcpDetlPath+"["+i+"]/blodcomstat");
- var execprcpstatcd = model.getValue(xPrcpDetlPath+"["+i+"]/execprcpstatcd");
- var prcpclscd = model.getValue(xPrcpDetlPath+"["+i+"]/prcpclscd");
- var drugno = model.getValue(xPrcpDetlPath+"["+i+"]/drugno");
- var cdnm = model.getValue(xPrcpDetlPath+"["+i+"]/cdnm");
- var etcprcpresncd = model.getValue(xPrcpDetlPath+"["+i+"]/etcprcpresncd"); // 수혈반납 및 폐기사유코드
- var blodcomstat = model.getValue(xPrcpDetlPath+"["+i+"]/blodcomstat"); // 성분제제상태
-
- //230수납, 투약번호따지고 마약이 아닐때 전송완료상태
- if(drugno != "0" && execprcpstatcd == "230" && cdnm!="마약"){
- grd_prcpdetl.textmatrix(i, 3) = 13 //전송완료
- }
-
- //300조제보류
- if(execprcpstatcd == "300"){
- grd_prcpdetl.textmatrix(i, 3) = 1 //조제보류
- }
- if(execprcpstatcd == "310" || execprcpstatcd == "315" && prcpclscd == "A7"){
- grd_prcpdetl.textmatrix(i, 3) = 2 //조제완료
- var mixk = model.getValue(xPrcpDetlPath+"["+i+"]/mix")
- var actordddk = model.getValue(xPrcpDetlPath+"["+i+"]/actorddd")
- var rsrvtmk = model.getValue(xPrcpDetlPath+"["+i+"]/rsrvtm")
- var ordddk = model.getValue(xPrcpDetlPath+"["+i+"]/orddd")
- for (r=0; r<Row; r++){
- var mixr = model.getValue(xPrcpDetlPath+"["+r+"]/mix");
- var actordddr = model.getValue(xPrcpDetlPath+"["+r+"]/actorddd")
- var rsrvtmr = model.getValue(xPrcpDetlPath+"["+r+"]/rsrvtm")
- var ordddr = model.getValue(xPrcpDetlPath+"["+r+"]/orddd")
- if(mixk == mixr && actordddr == actordddk && rsrvtmr == rsrvtmk && ordddr == ordddk){
- grd_prcpdetl.textmatrix(r, 3) = 2 //조제완료
- }
- }
- }
-
- var printyn = model.getValue(xPrcpDetlPath+"["+i+"]/printyn")
- if(printyn == "Y" && execprcpstatcd != "610"){
- grd_prcpdetl.cellstyle("background-color", i, 0, i, 19) = '#FFFFCC';
- }
- if(execprcpstatcd == "500" || execprcpstatcd == "505" || execprcpstatcd == "510"){
- grd_prcpdetl.textmatrix(i, 3) = 11 //접수
- }
- if(execprcpstatcd == "520" || execprcpstatcd == "525"){
- grd_prcpdetl.textmatrix(i, 3) = 4 //준비완료
- }
- if(execprcpstatcd == "530"){
- if (blodcomstat == "8") {
- grd_prcpdetl.textmatrix(i, 3) = 14 //잔여폐기
- }
- else {
- grd_prcpdetl.textmatrix(i, 3) = 5 //불출
- }
- }
- if(execprcpstatcd == "540"){
- grd_prcpdetl.textmatrix(i, 3) = 7 //반납의뢰
- }
- if(execprcpstatcd == "550"){
- grd_prcpdetl.textmatrix(i, 3) = 8 //반납완료
- }
- if(execprcpstatcd == "560"){
- if (etcprcpresncd == "07" || etcprcpresncd == "12") {
- grd_prcpdetl.textmatrix(i, 3) = 14 //잔여폐기
- }
- else {
- grd_prcpdetl.textmatrix(i, 3) = 9 //폐기의뢰
- }
- }
- if(execprcpstatcd == "570"){
- grd_prcpdetl.textmatrix(i, 3) = 10 //폐기완료
- }
- if(execprcpstatcd == "320"){
- grd_prcpdetl.textmatrix(i, 3) = 5 //불출
- }
- if(prcpclscd =="B4"){
- if(execprcpstatcd == "610"){
- grd_prcpdetl.textmatrix(i, 3) = 12 //실시완료
- }
- }else{
- if(execprcpstatcd == "610"){
- grd_prcpdetl.textmatrix(i, 3) = 6 //시행완료
- }
- }
-
- var mix = model.getValue(xPrcpDetlPath+"["+i+"]/mix")
- var actorddd = model.getValue(xPrcpDetlPath+"["+i+"]/actorddd")
- var rsrvtm = model.getValue(xPrcpDetlPath+"["+i+"]/rsrvtm")
- var orddd = model.getValue(xPrcpDetlPath+"["+i+"]/orddd")
-
- if(prcpclscd == "A7"){
- for (k=0; k<Row; k++){
- var mixs = model.getValue(xPrcpDetlPath+"["+k+"]/mix");
- var actorddds = model.getValue(xPrcpDetlPath+"["+k+"]/actorddd")
- var rsrvtms = model.getValue(xPrcpDetlPath+"["+k+"]/rsrvtm")
- var orddds = model.getValue(xPrcpDetlPath+"["+k+"]/orddd")
- if(mix == mixs && mix != '-' && actorddds == actorddd && rsrvtms == rsrvtm && orddds == orddd){
- grd_prcpdetl.textmatrix(k, 2) = 'A7'
- }
- }
- }
- } //처방 상태값을 나타내는 로직 끝
-
- submit("TRMNI02024");
-
- var seqno = model.getValue("/root/main/rghtlist/memolist/seqno")
- if(seqno == ""){
- //메모 데이타 없을시 이전 데이타 삭제
- tar_memo.value="";
- tar_memo.refresh();
- }
-
- grd_ordsper.row = iRow;
- model.makeValue("/root/hidden/flags","grd_ordsper");
- }else{
- messageBox('처방상세내역 조회를', 'E009');
- return;
- }
- */
-
- }
-
-
- /**
- * @group :
- * @ver : 2007.07.27
- * 2008.11.06 dhkim 수정
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : type2 호출시 base 파라미터 설정
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fBaseMakeParameter() {
- /*
- var param = "";
- rowsep = "▩";
- colsep = "▦";
-
- param = "recflag" + colsep + "dutplaccd" + colsep + "reclnkkey"+ rowsep+"I" + colsep + "012" + colsep + "31900" + rowsep;
- */
-
- var pid = model.getValue('/root/main/prcpdetl/prcpdetllist/tp2pid');
- var orddd = model.getValue('/root/main/prcpdetl/prcpdetllist/tp2orddd');
- var cretno = model.getValue('/root/main/prcpdetl/prcpdetllist/tp2cretno');
- var instcd = getUserInfo("dutplceinstcd");
-
- var recflag = "C"; //기록구분 : C (암센터주사실)
- var dutplcecd = "017"; //부서코드 : 017 (암센터주사실)
-
- //20090602 dhkim bmt주사실 코드추가
- var bmtrecflag = 'F'; //기록구분 : F (BMT주사실)
- var bmtdutplcecd = '023'; //부서코드 : 023 (BMT주사실)
-
-
- //20090602 dhkim 암센터/bmt 주사실 여부에 따라 parameter 값을 세팅한다
- if(drprcpetc2 == 'B'){
- recflag = bmtrecflag;
- dutplcecd = bmtdutplcecd;
- }
-
- //기록연계키 --> PID+”,”+INDD(ORDDD)+”,”+CRETNO+”,”+INSTCD
- var recInkkey = pid + "," + orddd + "," + cretno + "," + instcd;
-
- var param = "recflag▦dutplaccd▦reclnkkey▩" + recflag + "▦" + dutplcecd + "▦" + recInkkey + "▩";
- return param;
- }
- /**
- * @group :
- * @ver : 2007.07.27
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 간호 기록 연결(값있을때)
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fMakeParameter() {
-
- var acptyn ="";
- var prcpflag="";
- var prcpcd = "";
- var prcpnm = "";
- var prcpvol = "";
- var prcpvolunitflag="";
- var prcpqty = "";
- var prcpqtyunitflag = "";
- var prcptims = "";
- var drugmthdspccd = "";
- var abbrnm = "";
- var prcpdeliverfact = "";
- var datagrouplist = "";
- var datagroup = "";
- var param = "prcpflag▦prcpnm▩";
-
- for(var i = 1; i < grd_prcpdetl.rows; i++) {
-
- acptyn = model.getValue("/root/main/prcpdetl/prcpdetllist[" + i + "]/flag"); //체크여부
-
- if(acptyn == "1") {
-
- datagrouplist = model.getValue("/root/main/prcpdetl/prcpdetllist[" + i + "]/datagroup"); //용량/수량/횟수/투여경로 str
- datagroup = datagrouplist.split("/");
-
- prcpflag = model.getValue("/root/main/prcpdetl/prcpdetllist[" + i + "]/prcpclscd"); //주사 혈액등 구분
- prcpcd = model.getValue("/root/main/prcpdetl/prcpdetllist[" + i + "]/prcpcd"); //처방코드
- prcpnm = model.getValue("/root/main/prcpdetl/prcpdetllist[" + i + "]/prcpnm"); //처방명
- prcpvol = datagroup[0]; //용량
- prcpvolunitflag = datagroup[1]; //단위
- prcpqty = datagroup[2]; //수량
- prcpqtyunitflag = datagroup[3]; //단위
- prcptims = datagroup[4]; //횟수
- abbrnm = datagroup[5]; //투약경로
-
- /*
- - 처방구분(prcpflag)
- A : 투약 (A2:경구, A4:외용, A6:주사)
- H : 처치 (F2:재활, G2:RT, H2:수술, H4:처치)
- T : 검사 (B2:진검, B4:수혈, B6:핵의학검체, C2:영상, C4:ANGIO, C6:핵의학영상(체내), D2: 병리, E2:기능)
- */
-
- // ① 투약 : 처방코드/처방명/일일용량/단위/일일수량/단위/일수/경로/용법
- // * 주사실의 경우 주사에서 내부적으로 구분됨(A7:항암 , A8:예방)
- //20090316 dhkim 무균(A9)추가
- if(prcpflag =="A2" || prcpflag == "A4" ||
- prcpflag == "A6"|| prcpflag == "A7" || prcpflag == "A8" || prcpflag == "A9") {
-
- //param += prcpflag.substr(0,1) + "▦" + prcpnm + "▩";
- param += "A" + "▦" + prcpcd + "/" + prcpnm + "/" + prcpvol + "/" + prcpvolunitflag + "/" + prcpqty + "/" + prcpqtyunitflag + "/" + prcptims + "/" + abbrnm + "▩";
-
- // ② 처치 : 처방명/일일수량/Remark(의사처방의 remark)
- } else if(prcpflag=="F2" || prcpflag=="G2" ||
- prcpflag=="H2" || prcpflag=="H4"){
- prcpdelivefact = model.getValue("root/main/patdetlinfo/prcpspec[" + i + "]/prcpdelivefact");
- param += "H" + "▦" + prcpnm + "/" + prcpqty + prcpdeliverfact + "▩";
-
- // ③ 검사 : 처방명/일일수량/Remark(의사처방의 remark)
- } else if(prcpflag=="B2" || prcpflag=="B4" || prcpflag=="B6" ||
- prcpflag=="C2" || prcpflag=="C4" || prcpflag=="C6" ||
- prcpflag=="D2" || prcpflag=="E2"){
- prcpdelivefact = model.getValue("root/main/patdetlinfo/prcpspec[" + i + "]/prcpdelivefact");
- param += "T" + "▦" + prcpnm + "/" + prcpqty + prcpdeliverfact + "▩";
- }
- }
- }
- return param;
- }
- /**
- * @group :
- * @ver : 2007.09.04
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 부위, 차수, LOT, MIX, AST 예약시간동시적용
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function frsrvtm(flag) {
- var Row = grd_prcpdetl.rows;
- var jRow=grd_prcpdetl.row;
- var xhiddenPrcpDetlPath = "/root/hidden/main/prcpdetl/prcpdetllist"
- var xPrcpDetlPath = "/root/main/prcpdetl/prcpdetllist"
-
- var rsrvtm = grd_prcpdetl.textmatrix(jRow,flag);
- var chek = 0
- for (i=1; i<Row; i++){
- chek = chek + grd_prcpdetl.textmatrix(i,1);
- }
-
- if(chek==0){
- return;
- }
-
- chek3 = model.getValue(xhiddenPrcpDetlPath+"["+jRow+"]/actorddd");
- chek5 = model.getValue(xhiddenPrcpDetlPath+"["+jRow+"]/mix");
- chek7 = model.getValue(xhiddenPrcpDetlPath+"["+jRow+"]/orddd");
-
- for (i=1; i<Row; i++){
- chek = grd_prcpdetl.textmatrix(i,1);
- chek2 = model.getValue(xhiddenPrcpDetlPath+"["+i+"]/actorddd");
- chek4 = model.getValue(xhiddenPrcpDetlPath+"["+i+"]/mix");
- chek6 = model.getValue(xhiddenPrcpDetlPath+"["+i+"]/orddd");
- if(chek==1 && flag == 15 && chek2 == chek3){
- grd_prcpdetl.textmatrix(i,flag) = rsrvtm;
- }
- if(chek==1 && flag == 16 && chek2 == chek3){
- grd_prcpdetl.textmatrix(i,flag) = rsrvtm;
- }
- if(chek==1 && flag != 15 && flag != 16){
- grd_prcpdetl.textmatrix(i,flag) = rsrvtm;
- }
- }
- }
- /**
- * @group :
- * @ver : 2007.09.10
-
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 혈액불출관리 연결
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fopr() {
- var pid = ipt_pid.value;
- setParameter("pid", pid);
- setParameter("SMMNR010_Param", "OPRC1");
- open("SMMNR01000","1","15","128");
- }
- /*
- 20090316 dhkim
- 미사용 펑션으로 판단되어 주석처리함
- * @deprecated
- * @group :
- * @ver : 2008.10.31
- * @by :
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 처방상세내역 조회
- * @param :
- * @return :
- * @---------------------------------------------------
- function fSearchPrcpDetl(flag){
-
- //처방전출력완료후
- if(flag == 'print'){
-
- model.removeNodeset("/root/send");
- model.makeValue("/root/send/pid", model.getValue(xBizTrgtManListPath+"["+iRow+"]/pid"));
- model.makeValue("/root/send/drugdd", model.getValue(xBizTrgtManListPath+"["+iRow+"]/orddd"));
- model.makeValue("/root/send/exec", model.getValue("/root/main/leftref/exec"));
- model.makeValue("/root/send/addoprc", model.getValue('/root/main/addoprc'));//20081030 외래처방포함조회
-
- //처방상세내역조회3
- if(submit("TRMNI02023")){
- var xPrcpDetlPath = "/root/main/prcpdetl/prcpdetllist"
- var Row = grd_prcpdetl.rows;
- var mixchk = 0;
-
- var rcptchk; //20090305 dhkim 후수납관련필드추가
-
- //처방상태 값에 따른 처방상세내역 리스트에 상태값 을 나타내는 로직 시작
- for(i=1; i<Row; i++){
- var execdd = model.getValue(xPrcpDetlPath+"["+i+"]/execrid");
- var blodcomstat = model.getValue(xPrcpDetlPath+"["+i+"]/blodcomstat");
- var execprcpstatcd = model.getValue(xPrcpDetlPath+"["+i+"]/execprcpstatcd");
- var prcpclscd = model.getValue(xPrcpDetlPath+"["+i+"]/prcpclscd");
- var drugno = model.getValue(xPrcpDetlPath+"["+i+"]/drugno");
- var cdnm = model.getValue(xPrcpDetlPath+"["+i+"]/cdnm");
- var etcprcpresncd = model.getValue(xPrcpDetlPath+"["+i+"]/etcprcpresncd"); // 수혈반납 및 폐기사유코드
- var blodcomstat = model.getValue(xPrcpDetlPath+"["+i+"]/blodcomstat"); // 성분제제상태
- //20090305 dhkim 후수납관련필드추가
- rcptchk = model.getValue(xPrcpDetlPath+"["+i+"]/rcptchk"); // 후수납상태
-
- //20090305 dhkim
- //특조전송완료 상태로 보여주는 부분 후수납의 경우 230조건 제외할것
- //후수납 : rcptchk값이 V, Y, F일때는 230조건 제외,
- // rcptchk값이 R일때는 230조건
- //20090312 dhkim vip환자의 경우는 수납여부 체크하지 않음
- if(
- (
- (rcptchk == 'R' && execprcpstatcd == "230")
- || (rcptchk == 'V')
- // || (rcptchk == 'Y')
- // || (rcptchk == 'F')
- )
- && drugno != "0" //투약번호 따지고
- && cdnm !="마약" //(마약제외)
- //stat상태값확인할것
- //&& stat != "2" //처방상태 (강제지정시 항암으로 위장된 조제완료된 주사처방을 지정 못하게 하기위함)
- ){
- //alert(rcptchk + ' ' + execprcpstatcd + ' ' + drugno);
- grd_prcpdetl.textmatrix(i, 3) = 13; //전송완료
- }
- /*
- if(drugno != "0" && execprcpstatcd == "230" && cdnm!="마약"){
- grd_prcpdetl.textmatrix(i, 3) = 13 //전송완료
- }
- * /
- if(execprcpstatcd == "300"){
- grd_prcpdetl.textmatrix(i, 3) = 1 //조제보류
- }
- //20090316 dhkim 무균(A9)추가
- if(execprcpstatcd == "310" || execprcpstatcd == "315" && (prcpclscd == "A7"|| prcpclscd == "A9")){
- grd_prcpdetl.textmatrix(i, 3) = 2 //조제완료
- var mixk = model.getValue(xPrcpDetlPath+"["+i+"]/mix")
- var actordddk = model.getValue(xPrcpDetlPath+"["+i+"]/actorddd")
- var rsrvtmk = model.getValue(xPrcpDetlPath+"["+i+"]/rsrvtm")
- var ordddk = model.getValue(xPrcpDetlPath+"["+i+"]/orddd")
- for (r=0; r<Row; r++){
- var mixr = model.getValue(xPrcpDetlPath+"["+r+"]/mix");
- var actordddr = model.getValue(xPrcpDetlPath+"["+r+"]/actorddd")
- var rsrvtmr = model.getValue(xPrcpDetlPath+"["+r+"]/rsrvtm")
- var ordddr = model.getValue(xPrcpDetlPath+"["+r+"]/orddd")
- if(mixk == mixr && actordddr == actordddk && rsrvtmr == rsrvtmk && ordddr == ordddk && rsrvtmr != '000000'){
- grd_prcpdetl.textmatrix(r, 3) = 2 //조제완료
- }
- }
- }
-
- var printyn = model.getValue(xPrcpDetlPath+"["+i+"]/printyn")
- if(printyn == "Y" && execprcpstatcd != "610"){
- grd_prcpdetl.cellstyle("background-color", i, 0, i, 19) = '#FFFFCC';
- }
- if(execprcpstatcd == "500" || execprcpstatcd == "505" || execprcpstatcd == "510"){
- grd_prcpdetl.textmatrix(i, 3) = 11 //접수
- }
- if(execprcpstatcd == "520" || execprcpstatcd == "525"){
- grd_prcpdetl.textmatrix(i, 3) = 4 //준비완료
- }
- if(execprcpstatcd == "530"){
- if (blodcomstat == "8") {
- grd_prcpdetl.textmatrix(i, 3) = 14 //잔여폐기
- }
- else {
- grd_prcpdetl.textmatrix(i, 3) = 5 //불출
- }
- }
- if(execprcpstatcd == "540"){
- grd_prcpdetl.textmatrix(i, 3) = 7 //반납의뢰
- }
- if(execprcpstatcd == "550"){
- grd_prcpdetl.textmatrix(i, 3) = 8 //반납완료
- }
- if(execprcpstatcd == "560"){
- if (etcprcpresncd == "07" || etcprcpresncd == "12") {
- grd_prcpdetl.textmatrix(i, 3) = 14 //잔여폐기
- }
- else {
- grd_prcpdetl.textmatrix(i, 3) = 9 //폐기의뢰
- }
- }
- if(execprcpstatcd == "570"){
- grd_prcpdetl.textmatrix(i, 3) = 10 //폐기완료
- }
- if(execprcpstatcd == "320"){
- grd_prcpdetl.textmatrix(i, 3) = 5 //출고
- }
- if(prcpclscd =="B4"){
- if(execprcpstatcd == "610"){
- grd_prcpdetl.textmatrix(i, 3) = 12 //실시완료
- }
- }else{
- if(execprcpstatcd == "610"){
- grd_prcpdetl.textmatrix(i, 3) = 6 //시행완료
- }
- }
- var mix = model.getValue(xPrcpDetlPath+"["+i+"]/mix")
- var actorddd = model.getValue(xPrcpDetlPath+"["+i+"]/actorddd")
- var rsrvtm = model.getValue(xPrcpDetlPath+"["+i+"]/rsrvtm")
- var orddd = model.getValue(xPrcpDetlPath+"["+i+"]/orddd")
- if(prcpclscd == "A7"){
- for (k=0; k<Row; k++){
- var mixs = model.getValue(xPrcpDetlPath+"["+k+"]/mix");
- var actorddds = model.getValue(xPrcpDetlPath+"["+k+"]/actorddd")
- var rsrvtms = model.getValue(xPrcpDetlPath+"["+k+"]/rsrvtm")
- var orddds = model.getValue(xPrcpDetlPath+"["+k+"]/orddd")
- if(mix == mixs && mix != '-' && actorddds == actorddd && rsrvtms == rsrvtm && orddds == orddd){
- grd_prcpdetl.textmatrix(k, 2) = 'A7'
- }
- }
- }
- //20090316 dhkim 무균(A9)추가
- if(prcpclscd == "A7"){
- for (k=0; k<Row; k++){
- var mixs = model.getValue(xPrcpDetlPath+"["+k+"]/mix");
- var actorddds = model.getValue(xPrcpDetlPath+"["+k+"]/actorddd")
- var rsrvtms = model.getValue(xPrcpDetlPath+"["+k+"]/rsrvtm")
- var orddds = model.getValue(xPrcpDetlPath+"["+k+"]/orddd")
- if(mix == mixs && mix != '-' && actorddds == actorddd && rsrvtms == rsrvtm && orddds == orddd){
- grd_prcpdetl.textmatrix(k, 2) = 'A7'
- }
- }
- }
- } // for end
- } //처방 상태값을 나타내는 로직 끝
- }
-
- }
- */
- /**
- * @group :
- * @ver : 2008.10.31
- * @by :
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 처방전출력 미리보기
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fPrintPreview(){
-
- var printday = getCurrentDate();
- var printtime = getCurrentTime();
- var flags = model.getValue("/root/hidden/flags");
-
- model.makeNode("/root/send/report");
- model.copyNode("/root/send/report", "/root/main/prcpdetl");
- //model.copyNode("/root/send/report", "/root/temp/prcpprt/prcpdetl");
- //return;
-
- model.makeValue("/root/send/report/only/pid", model.getValue("/root/main/rghtref/rghtreflist/pid"));
- model.makeValue("/root/send/report/only/hngnm", model.getValue("/root/main/rghtref/rghtreflist/hngnm"));
- model.makeValue("/root/send/report/only/gndrage", model.getValue("/root/main/rghtref/rghtreflist/gndrage"));
-
- //20091015 dhkim 주민번호추가
- model.makeValue("/root/send/report/only/rrgstno", model.getValue("/root/main/rghtref/rghtreflist/rrgstno"));
-
- model.makeValue("/root/send/report/only/termhngnm", model.getValue("/root/main/rghtlist/snwinfolist/termhngnm"));
- model.makeValue("/root/send/report/only/printdaytime", (printday+printtime));
- model.makeValue("/root/send/report/only/mpsacting", model.getValue("/root/main/mpsacting"));
-
- //부서명, 주치의명 setting
- if(flags == "grd_ordsper"){//진료내역선택시 세팅된값
- model.makeValue("/root/send/report/only/depthngnm", model.getValue(xordsperPath+"[" + grd_ordsper.row + "]/depthngnm"));
- model.makeValue("/root/send/report/only/usernm", model.getValue(xordsperPath+"[" + grd_ordsper.row + "]/usernm"));
- }else if(flags == "grd_biztrgtman"){//업무대상자리스트 선택시 세팅된값
- model.makeValue("/root/send/report/only/depthngnm", model.getValue(xBizTrgtManListPath+"[" + grd_biztrgtman.row + "]/depthngnm"));
- model.makeValue("/root/send/report/only/usernm", model.getValue(xBizTrgtManListPath+"[" + grd_biztrgtman.row + "]/usernm"));
- }
-
-
- //처방전 출력 미리보기
- exeReportPreview("RPMNI02020", "XMLSTR" , "" , "" , "true" , "", "", "", "", "true");
-
- }
- /**
- * @group :
- * @ver : 2008.10.31
- * @by :
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 처방전출력+acting전 validation체크
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fIsPrintValid(){
-
- var mpsacting = model.getValue("/root/main/mpsacting");// 처방전 + acting
-
- model.removenode("/root/send");
- var Row = grd_prcpdetl.rows;
- var jRow = grd_prcpdetl.row;
- var xPrcpDetlPath = "/root/main/prcpdetl/prcpdetllist";
- var xrexportPath = "/root/send/report/for";
-
- //처방전출력 연결 시 환자 선택 여부 파악
- if(Row == 1){
- messageBox("환자가 선택되지", "E007");
- return false;
- }
-
- var chek = 0;
- var kRow = 0;
- for (var i=1; i<Row; i++){
- chek = chek + grd_prcpdetl.textmatrix(i,1);//처방상세내역 체크박스 선택/해제 상태
- if(grd_prcpdetl.textmatrix(i,1) == "1"){
- kRow = kRow +","+ i;
- }
- }
-
- if(chek==0){
- messageBox("하나 이상의 처방내역을", "C002");
- return false;
- }
-
- var kRows = kRow.split(",");
- var stat, prcpclscd;
-
- if(mpsacting == "1"){
- for(i=1; i<kRows.length; i++){
-
- stat = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/stat");
- prcpclscd = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/prcpclscd");
-
- if(stat == "6"){
- messageBox("Acting을 실시한 곳은 처방전+Acting을", "E001")
- return false;
- }
- if(prcpclscd == "B4" && stat != "5"){//혈액 불출
- messageBox("불출되지 않은 혈액은 처방전+Acting을", "E001")
- return false;
- }
- //20090316 dhkim 무균(A9)추가
- if((prcpclscd == "A7" || prcpclscd == "A9") && stat != "2"){//항암 조제완료
- messageBox("조제완료되지 않은 항암, 무균은 처방전+Acting을", "E001")
- return false;
- }
- }
- }
-
- var flag = '';
- var cpCnt = 0;
- //선택한 주사, 항암만 rexpert에 넘기도록 노드를 재구성
- model.removenode('/root/temp/prcpprt/prcpdetl');
- model.makeNode('/root/temp/prcpprt/prcpdetl');
- for(var i = 1; i < Row; i++){
-
- flag = model.getValue(xPrcpDetlPath+"["+ i +"]/flag");
- prcpclscd = model.getValue(xPrcpDetlPath+"["+ i +"]/flag");
-
- //항암, 주사처방만 출력되도록 rex에 노드를 넘김
- //20090316 dhkim 무균(A9)추가
- if(flag == '1' && (prcpclscd == 'A6' || prcpclscd == 'A7' || prcpclscd == "A9")){
- model.copyNode('/root/temp/prcpprt/prcpdetl['+cpCnt+']', xPrcpDetlPath + '[' + i + ']');
- cpCnt ++;
- }
- }
-
- return true;
-
- }
- /**
- 20090806 dhkim 주석처리
- * @group :
- * @ver : 2007.10.09
-
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 처방전출력 연결
- * @param :
- * @return :
- * @---------------------------------------------------
- function fRexpert() {
-
- var mpsacting = model.getValue("/root/main/mpsacting");// 처방전 + acting
-
- //처방전 출력전 valid체크
- if(!fIsPrintValid()){
- return ;
- }
-
- //처방전출력 미리보기창 open
- fPrintPreview();
-
- if(mpsacting == "1"){
- fActing("Y");//acting실행
- }else{
-
- //주사실출력시 엑팅 실시 안하고 출력 여부 저장실시 상태값 update
- model.removenode("/root/send");
- model.makeValue("/root/send/pid", model.getValue("/root/main/rghtref/rghtreflist/pid"));
- model.makeValue("/root/send/prcpdetl", grd_prcpdetl.getupdatedataAll("i"));
-
- if(submit("TXMNI02025")){
-
- //처방상세내역조회
- fSearchPrcpDetail();
-
- }
- }
-
- var curRow = grd_biztrgtman.row;
-
- //주사실출력시 엑팅 실시 안하고 출력 여부 저장실시 상태값 update
- model.removenode("/root/send");
- model.makeValue("/root/send/pid", model.getValue("/root/main/rghtref/rghtreflist/pid"));
- model.makeValue("/root/send/prcpdetl", grd_prcpdetl.getupdatedataAll("i"));
-
- if(submit("TXMNI02025")){
-
- if(mpsacting == "1"){
- grd_biztrgtman.row = curRow;
- fActing("Y");//acting실행
- }else{
- //처방상세내역조회
- fSearchPrcpDetail();
- }
-
- }
- }
- */
- /**
- * @group :
- * @ver : 2007.10.15
-
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 환자진료정보 링크
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fOpenPrcpSpec() {
- var pid = model.getValue(xBizTrgtManListPath + "[" + grd_biztrgtman.row + "]/pid");
- var orddd = model.getValue(xBizTrgtManListPath + "[" + grd_biztrgtman.row + "]/orddd");
- var param = pid;
-
- setParameter("SMMMO02500_cond", param);
- open("SMMMO02500");
- }
- /**
- * @group :
- * @ver : 2009.02.24
-
- * @by : 최영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 환자카드출력
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fPreview(btnflag, pid, patnm, age, depthngnm, orddrnm){
-
- // 20090604 dhkim 환자카드출력 버튼기능 추가로 인해 파라미터값 추가
- if(btnflag != 'btn'){
- var fRow = grd_biztrgtman.row;
- pid = model.getValue("/root/main/biztrgtman/biztrgtmanlist["+fRow+"]/pid");
- patnm = model.getValue("/root/main/biztrgtman/biztrgtmanlist["+fRow+"]/hngnm");
- age = model.getValue("/root/main/biztrgtman/biztrgtmanlist["+fRow+"]/gndrage");
- depthngnm = model.getValue("/root/main/biztrgtman/biztrgtmanlist["+fRow+"]/usernm");
- orddrnm = model.getValue("/root/main/biztrgtman/biztrgtmanlist["+fRow+"]/depthngnm");
- }
-
- //2010.07.06 김달현 - (요청번호14176) [JCI인증대비] 이름 석자 중 가운데 자리는 별표 처리되도록 수정 요청함
- if(patnm.length > 1){
- patnm = patnm.substring(0, 1) + "*" + patnm.substring(2);
- }
-
-
-
- model.makeValue("/root/hidden1/biztrgtman/pid",pid);
- model.makeValue("/root/hidden1/biztrgtman/patnm",patnm);
- model.makeValue("/root/hidden1/biztrgtman/age",age);
- model.makeValue("/root/hidden1/biztrgtman/depthngnm",depthngnm);
- model.makeValue("/root/hidden1/biztrgtman/orddrnm",orddrnm);
- var rid = "RPMNI02021"; // 레포트명
- var dataType = "XMLSTR"; // 연계방법(XMLSTR/ XMLFILE/ XML)
- var paramsXPath = "/root/hidden1/biztrgtman"; // 매개변수필드 XPath
- var submitId = ""; // SubmitID
- var print = ""; // 출력여부(true, false)
- var printDialog = ""; // 인쇄 창 보임 여부(true, false)
- var fileType = ""; // 저장타입(xls/ pdf/ hml/rtf/ html/ bmp/ txt/ xml )
- var fileName = ""; // 파일명(c:\report\레포트명.저장타입)
- var fileDialog = ""; // 파일 저장 창 보임여부(0 : 숨김[기본]/1 : 보임)
- var closeYn = ""; // 미리보기창닫기여부(출력 후 true로 설정한 경우 미리보기 화면 닫기)
- var monNo = ""; // 모니터 번호
- var parentObjId = ""; // 부모객체명(미리 생성한 부모 객체명, 해당 부모 객체에 레포트 데이터를 생성한다.)
- var printPaperBin = ""; // 트레이번호
- var userService = ""; // 데이터 소스
- var showButton = ""; // 툴바버튼보임여부(visible, hidden)
- var printCount = ""; // 프린트장수(1, 2,..)
- var zoomRate = ""; // 미리보기뷰어 비율(0, 50,...)
- var printOption = ""; // 출력시 선택 옵션
- var dataXPath = ""; // 데이터 XPath
- var mainDataXPath = ""; // 메인리포트 반복XPath
- var subDataXPath = ""; // 서브리포트1 반복Xpath
- exeReportPreview(rid, dataType, paramsXPath, submitId, print, printDialog, fileType, fileName, fileDialog, closeYn, monNo, parentObjId, printPaperBin, userService, showButton, printCount, zoomRate, printOption, dataXPath, mainDataXPath, subDataXPath);
-
- model.refresh();
- }//fPreview END
- /**
- * @desc : 처방 상세보기
- * @param : 전처방, 연속처방, 처방검색 탭버튼 눌렀을 경우 원복 orgflag => Y
- * @id : btn_detlvw
- * @event : DOMActivate
- * @return : void
- * @authur :
- */
- function fDetlVw ( orgflag ) {
- var grdLeft = 827;
- var grdWidht = 367;
- var grdHeight = 128;
- var extnGrdLeft = 0;
- var extnGrdWidht = 1194;
- var extnGrdHeight = 375;
- var prcpcdCol = grd_injsper.colRef("orddd"); //처방코드 컬럼 index
- var prcpnmCol = grd_injsper.colRef("depthngnm"); //처방명 컬럼 index
- var prcpengnmCol = grd_injsper.colRef("prcpcd"); //처방영문명 컬럼 index
- var prcpspecCol = grd_injsper.colRef("prcpnm"); //처방내역 컬럼 index
-
- var lineX1 = grdLeft;
- var lineX2 = grdLeft + grdWidht;
- var extnLineX1 = extnGrdLeft;
- var extnLineX2 = lineX2;
-
- var prcpColsize = 50;
- var prcpnmColsize = 130;
- var prcpengnmColsize = 100;
- var prcpspecColsize = 230;
-
- if ( model.getValue( "/root/init/detlvw" ) == "p" && orgflag != "y" ) {
- grd_injsper.attribute ( "left" ) = extnGrdLeft;
- grd_injsper.attribute ( "width" ) = extnGrdWidht;
- grd_injsper.attribute ( "height" ) = extnGrdHeight;
-
- line12.attribute ( "x1" ) = extnLineX1;
- line12.attribute ( "x2" ) = extnLineX2;
-
- model.setValue( "/root/init/detlvw", "m" );
-
- grd_injsper.colWidth(prcpcdCol) = grd_injsper.colWidth(prcpcdCol) + prcpColsize;
- if(grd_injsper.colWidth(prcpnmCol) != 0) {
- grd_injsper.colWidth(prcpnmCol) = grd_injsper.colWidth(prcpnmCol) + prcpnmColsize;
- }
- if(grd_injsper.colWidth(prcpengnmCol) != 0) {
- grd_injsper.colWidth(prcpengnmCol) = grd_injsper.colWidth(prcpengnmCol) + prcpengnmColsize;
- }
-
- grd_injsper.colWidth(prcpspecCol) = grd_injsper.colWidth(prcpspecCol) + prcpspecColsize;
-
- } else {
- grd_injsper.attribute ( "left" ) = grdLeft;
- grd_injsper.attribute ( "width" ) = grdWidht;
- grd_injsper.attribute ( "height" ) = grdHeight;
-
- line12.attribute ( "x1" ) = lineX1;
- line12.attribute ( "x2" ) = lineX2;
-
- model.setValue( "/root/init/detlvw", "p" );
- grd_injsper.colWidth(prcpcdCol) = grd_injsper.colWidth(prcpcdCol) - prcpColsize;
- grd_injsper.colWidth(prcpnmCol) = grd_injsper.colWidth(prcpnmCol) - prcpnmColsize;
- grd_injsper.colWidth(prcpengnmCol) = grd_injsper.colWidth(prcpengnmCol) - prcpengnmColsize;
- grd_injsper.colWidth(prcpspecCol) = grd_injsper.colWidth(prcpspecCol) - prcpspecColsize;
-
- }
- }
- /*
- 20090316 dhkim 사용하지 않는 펑션으로 주석처리
- / **
- * @group :
- * @ver : 2007.10.29
-
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 특조전송
- * @param :
- * @return :
- * @---------------------------------------------------
- * /
- function fAnticncr() {
- var oRow = grd_ordsper.row;
- var iRow = grd_biztrgtman.row;
- model.removenode("/root/send");
-
- var Row = grd_prcpdetl.rows;
- var jRow=grd_prcpdetl.row;
- var xPrcpDetlPath = "/root/main/prcpdetl/prcpdetllist"
- var xhiddenPrcpDetlPath = "/root/hidden/main/prcpdetl/prcpdetllist"
-
- //환자 선택 여부 파악
- if(grd_prcpdetl.rows == 1){
- messageBox("환자가 선택되지", "E007")
- return;
- }
-
- //데이터가 선택여부와 예약시간 설정여부를 체크한다.
- var chek = 0; //선택여부 체크
- var kRow = 0; //예약시간 입력한 rowid
- var rsrvtm;
- for (var i = 1 ; i < grd_prcpdetl.rows ; i++){
-
- //선택내역 체크
- chek = chek + grd_prcpdetl.textmatrix(i,1);
-
- //선택한 처방의 예약시간 설정여부 체크
- if(grd_prcpdetl.textmatrix(i,1) == "1"){
- kRow = kRow + "," + i;
- rsrvtm = model.getValue(xPrcpDetlPath+"["+i+"]/rsrvtm");
- if(rsrvtm == "000000"){
- messageBox("예약시간을", "C002");
- return;
- }
- }
- }
- if(chek==0){
- messageBox("하나 이상의 항암을", "C002");
- return;
- }
-
- //선택한 처방내역중 항암선택여부 확인
- var kRows = kRow.split(",");//예약시간 입력한 row 정보
- var kchek = 0; //항암선택여부
- var prcpclscd; //항암종류
- for(var i=1; i < kRows.length; i++){ //예약시간 row정보를 돌면서 항암이 선택되었는지를 체크한다.
- prcpclscd = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/prcpclscd");
- if(prcpclscd=="A7"){//항암
- kchek = kchek + 1;
- }
- }
- if(kchek == 0){
- messageBox("하나 이상의 항암을", "C002");
- return;
- }
-
- //선택된 처방의 acting실시여부를 체크한다.
- //선택된 처방의 특조전송여부를 체크한다.
- var stat;
- var drugnochk;
- for(var i=1; i<kRows.length; i++){
- stat = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/stat");
- if (stat == "6"){//시행완료
- messageBox("Acting을 실시한 곳은 특조전송을", "E001");
- return;
- }
-
-
- drugnochk = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/drugno");
- if (drugnochk != "0"){
- messageBox("한번 특조전송을 실시한 곳은 특조전송을", "E001");
- return;
- }
-
- }
-
-
- //이게 무슨코딩인지 난 모르겠네 주석달다 포기
- //선택한 처방내역중
- var a = 0;
- for (var i = 1; i < kRows.length; i++){
- if(i == 1){
- a = i;
- }else{
- a = i - 1;
- }
- if(model.getValue(xhiddenPrcpDetlPath+"["+kRows[a]+"]/actorddd") != model.getValue(xhiddenPrcpDetlPath+"["+kRows[i]+"]/actorddd")){
- var doublek = "dd"
- var drugno = model.getValue(xPrcpDetlPath+"["+i+"]/drugno");
- }
- }
-
-
- //이게무슨코딩인지 난 모르겠네
- var chkactorddd = model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/actorddd");//예약시간 입력한 처방중 첫 row의 예약일자
- if(kRows.length >= 3){
- for (var i=1; i<kRows.length; i++){
- var chkactorddd1 = model.getValue(xhiddenPrcpDetlPath+"["+kRows[i]+"]/actorddd");
- var drugno = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/drugno");
- }
- }
-
-
- //선택한 처방의 예약일자와 동일한 예약일자의 처방정보 row를 임시저장
- var lRow = 0;
- var chkactorddd = model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/actorddd");//예약시간 입력한 처방중 첫 row의 예약일자
- var chkactorddd1;
- for (var i = 1; i < grd_prcpdetl.rows; i++){
- chkactorddd1 = model.getValue(xhiddenPrcpDetlPath+"["+i+"]/actorddd");
- if(chkactorddd == chkactorddd1){
- lRow = lRow + "," + i;//첫row의 예약일자와 전체그리드돌면서 예약일자가 같으면 row번호 임시저장.
- }
- }
- //동일한 예약일자를 가진 처방정보 임시저장한
- var lRows = lRow.split(",");//선택한 첫 row와 같은 예약일자의 처방정보
- var actordddchk, actordddchk1;
- for (var i = 1; i < grd_prcpdetl.rows; i++){
- actordddchk = model.getValue(xPrcpDetlPath+"["+i+"]/actorddd");
- actordddchk1 = model.getValue(xhiddenPrcpDetlPath+"["+i+"]/actorddd");
- if (actordddchk != actordddchk1){
- if (kRow != lRow){
- messageBox("동일한 일자를 모두 선택 하지 않으면 저장", "E001");
- return;
- }
- }
- }
-
- var vewactorddd1 = model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/actorddd");
- var vewactorddd4 = model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/actorddd");
- for (i=1; i<kRows.length; i++){
- var vewactorddd2 = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/actorddd");
- var vewactorddd3 = model.getValue(xhiddenPrcpDetlPath+"["+kRows[i]+"]/actorddd");
- if(vewactorddd1 != vewactorddd2 && vewactorddd4==vewactorddd3){
- messageBox("예약 일자를 모두 동일한 일자로 변경 하지 않으면 저장", "E001");
- return;
- }
- }
-
-
- //----------------처방을 부분적으로 선택한 상태인지 체크 시작(예약시간지정 체크와 순서변경) [20081120 dhkim]----------------//
- //전송할 항암중 예약일자가 동일한 항암처방의 선택하지 않은 항암이 있는지 확인한다.
- var chkd = 0;
- var flag, prcpclscdnow, actorddd, rsrvtm; //체크값
- var _flag, _prcpclscdnow, _actorddd, _rsrvtm; //체크비교값
- for(var j = 1; j < grd_prcpdetl.rows; j++){
-
- stat = model.getValue(xPrcpDetlPath+"["+j+"]/stat"); //처방상태
- flag = model.getValue(xPrcpDetlPath+"["+j+"]/flag"); //체크상태
- prcpclscdnow = model.getValue(xPrcpDetlPath+"["+j+"]/prcpclscdnow");//처방종류
- actorddd = model.getValue(xPrcpDetlPath+"["+j+"]/actorddd"); //예약일자 [20081119 dhkim]
- rsrvtm = model.getValue(xPrcpDetlPath+"["+j+"]/rsrvtm"); //예약시간 [20081119 dhkim]
-
- //항암처방체크해제상태의 항암처방
- if ((flag == "0" || flag == "") && prcpclscdnow == "A7" && stat == ""){
-
- //[20081119 dhkim] 예약일자까지 체크하는것으로 추가
- for(var i = 1; i < grd_prcpdetl.rows; i++){
-
- _stat = model.getValue(xPrcpDetlPath+"["+i+"]/stat"); //처방상태비교값
- _flag = model.getValue(xPrcpDetlPath+"["+i+"]/flag"); //체크상태비교값
- _prcpclscdnow = model.getValue(xPrcpDetlPath+"["+i+"]/prcpclscdnow"); //처방종류비교값
- _actorddd = model.getValue(xPrcpDetlPath+"["+i+"]/actorddd"); //예약일자비교값
- _rsrvtm = model.getValue(xPrcpDetlPath+"["+i+"]/rsrvtm"); //예약시간비교값
-
- if(_flag == '1' && _prcpclscdnow == 'A7' && _stat == "" && actorddd == _actorddd && rsrvtm == _rsrvtm){
- chkd = chkd + 1;
- }
- }
- }
- }
-
- if(chkd > 0){
- //예약일자가 동일한 처방에 대해서만 메시지를 뿌릴것.
- if(messageBox("예약일시가 동일한 항암처방중 선택되지 않은 항암처방이 있습니다. 전송을 실시 하겠습니까?", "Q") != 6)
- return;
- }
- //----------------처방을 부분적으로 선택한 상태인지 체크 시작(예약시간지정 체크와 순서변경) [20081120 dhkim]----------------//
-
-
- if(doublek != "dd"){
-
- var prcpexecdeptcd = model.getValue("/root/main/leftref/exec");
- var flag = "Change"
-
- model.removeNodeset("/root/send");
- model.makeValue("/root/send/pid", model.getValue("/root/main/rghtref/rghtreflist/pid"));
- model.makeValue("/root/send/drugdd", model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/actorddd"));
- model.makeValue("/root/send/ordtm", model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/ordtm"));
- model.makeValue("/root/send/acting", flag);
- model.makeValue("/root/send/prcpexecdeptcd", prcpexecdeptcd);
- model.makeValue("/root/send/prcpdetl", grd_prcpdetl.getupdatedataAll("i"));
- model.makeValue("/root/send/anticncr/pid", model.getValue("/root/main/rghtref/rghtreflist/pid"));
-
- //예약일시 변경을 위한 변경내용저장처리
- if(submit("TXMNI02027")){
-
- //20081212 dhkim 0원수납 에러메세지 테스트 ..
- if(model.getValue('/root/savechangeinfo/rcptinfo/rcptYn') == 'N'){
- alert(model.getValue('/root/savechangeinfo/rcptinfo/errMsg'));
- }
-
- //특조전송처리
- if(submit("TXMNI02023")){
- model.makeValue("/root/send/pid", model.getValue("/root/send/anticncr/pid"));
- //변경내용저장 실행후 업무대상리스트 다시 조회 실시
- fbiztrgtman("acting");
- if(model.getValue("/root/main/rghtref/rghtreflist/pid") == model.getValue(xBizTrgtManListPath+"["+iRow+"]/pid")){
- //업무대상리스트 다시 조회후 현재 Row의 위치에 선택 실시
- grd_biztrgtman.row = iRow;
-
- //처방 상세내역
- fBiztrgtClick("acting");
- }else if (oRow != ""){
- grd_ordsper.row = oRow;
- fordsper();
- }
-
- //예약일자 변경시 이전 날짜 선택 여부를 위해서 노드를 copy해둠
- model.copyNode("/root/hidden/main", "/root/main");
- messageBox("특조전송을", "I002");
- }
- }
- }else{
- var prcpexecdeptcd = model.getValue("/root/main/leftref/exec");
- var flag = "Change";
-
- model.removeNodeset("/root/send");
- model.makeValue("/root/send/pid", model.getValue("/root/main/rghtref/rghtreflist/pid"));
- model.makeValue("/root/send/drugdd", model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/actorddd"));
- model.makeValue("/root/send/ordtm", model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/ordtm"));
- model.makeValue("/root/send/acting", flag);
- model.makeValue("/root/send/prcpexecdeptcd", prcpexecdeptcd);
- model.makeValue("/root/send/prcpdetl", grd_prcpdetl.getupdatedataAll("i"));
- model.makeValue("/root/send/anticncr/pid", model.getValue("/root/main/rghtref/rghtreflist/pid"));
-
- //예약일시 변경을 위한 변경내용저장처리
- if(submit("TXMNI02027")){
-
- //20081212 dhkim 0원수납 에러메세지 테스트 ..
- if(model.getValue('/root/savechangeinfo/rcptinfo/rcptYn') == 'N'){
- alert(model.getValue('/root/savechangeinfo/rcptinfo/errMsg'));
- }
-
- //특조전송처리
- if(submit("TXMNI02023")){
- model.makeValue("/root/send/pid", model.getValue("/root/send/anticncr/pid"));
- //변경내용저장 실행후 업무대상리스트 다시 조회 실시
- fbiztrgtman("acting");
- if(model.getValue("/root/main/rghtref/rghtreflist/pid") == model.getValue(xBizTrgtManListPath+"["+iRow+"]/pid")){
- //업무대상리스트 다시 조회후 현제 Row의 위치에 선택 실시
- grd_biztrgtman.row = iRow;
-
- //처방 상세내역
- fBiztrgtClick("acting");
- }else if (oRow != ""){
- grd_ordsper.row = oRow;
- fordsper();
- }
- //예약일자 변경시 이전 날짜 선택 여부를 위해서 노드를 copy해둠
- model.copyNode("/root/hidden/main", "/root/main");
-
- messageBox("특조전송을", "I002");
- }
- }
- }
- }
- */
- /**
- * @group :
- * @ver : 2007.11.14
-
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 당일 업무대상자 리스트 상세보기
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDetlVwa ( orgflag ) {
- var grdLeft = 0;
- var grdWidht = 582;
- var grdHeight = 354;
- var extnGrdLeft = 0;
- var extnGrdWidht = 582;
- var extnGrdHeight = 601;
- if ( model.getValue( "/root/init/detlvwa" ) == "p" && orgflag != "y" ) {
- grd_biztrgtman.attribute ( "left" ) = extnGrdLeft;
- grd_biztrgtman.attribute ( "width" ) = extnGrdWidht;
- grd_biztrgtman.attribute ( "height" ) = extnGrdHeight;
- model.setValue( "/root/init/detlvwa", "m" );
- } else {
- grd_biztrgtman.attribute ( "left" ) = grdLeft;
- grd_biztrgtman.attribute ( "width" ) = grdWidht;
- grd_biztrgtman.attribute ( "height" ) = grdHeight;
- model.setValue( "/root/init/detlvwa", "p" );
- }
- }
- /**
- * @group :
- * @ver : 2007.11.14
-
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 처방상세 내역 상세보기
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDetlVwb ( orgflag ) {
- var grdLeft = 0;
- var grdTop = 520;
- var grdWidht = 1194;
- var grdHeight = 217;
- var extnGrdLeft = 0;
- var extnGrdTop = 136;
- var extnGrdWidht = 1194;
- var extnGrdHeight = 601;
-
- var groLeft = 0;
- var groTop = 492;
- var groWidht = 1195;
- var groHeight = 27;
- var extnGroLeft = 0;
- var extnGroTop = 109;
- var extnGroWidht = 1195;
- var extnGroHeight = 27;
- if ( model.getValue( "/root/init/detlvwb" ) == "p" && orgflag != "y" ) {
- grd_prcpdetl.attribute ( "left" ) = extnGrdLeft;
- grd_prcpdetl.attribute ( "top" ) = extnGrdTop;
- grd_prcpdetl.attribute ( "width" ) = extnGrdWidht;
- grd_prcpdetl.attribute ( "height" ) = extnGrdHeight;
-
- group4.attribute ( "left" ) = extnGroLeft;
- group4.attribute ( "top" ) = extnGroTop;
- group4.attribute ( "width" ) = extnGroWidht;
- group4.attribute ( "height" ) = extnGroHeight;
-
- grd_injsper.visible = false;
- line12.visible = false;
-
- grd_biztrgtman.visible = false;
- caption10.visible = false;
- button2.visible = false;
- line7.visible = false;
- model.setValue( "/root/init/detlvwb", "m" );
-
- } else {
- grd_prcpdetl.attribute ( "left" ) = grdLeft;
- grd_prcpdetl.attribute ( "top" ) = grdTop;
- grd_prcpdetl.attribute ( "width" ) = grdWidht;
- grd_prcpdetl.attribute ( "height" ) = grdHeight;
-
- group4.attribute ( "left" ) = groLeft;
- group4.attribute ( "top" ) = groTop;
- group4.attribute ( "width" ) = groWidht;
- group4.attribute ( "height" ) = groHeight;
-
- grd_injsper.visible = true;
- line12.visible = true;
-
- grd_biztrgtman.visible = true;
- caption10.visible = true;
- button2.visible = true;
- line7.visible = true;
-
- model.setValue( "/root/init/detlvwb", "p" );
- }
- }
- /**
- * @group :
- * @ver : 2007.11.20
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 부위 기준자료 조회
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fpartflaginfo(){
- model.removeNodeset("/root/send");
- model.makeValue("/root/send/baseclsflag","J");
- model.makeValue("/root/send/supbasetypecd","JSA");
- submit("TRMNI02026");
- }
-
- /**
- * @group :
- * @ver : 2007.11.27
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : MIX 번호에따른 동시 선택
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function chkflag(){
- var xPrcpDetlPath = "/root/main/prcpdetl/prcpdetllist";
-
- var iRow = grd_prcpdetl.row;
- var Row = grd_prcpdetl.rows;
- var chk = model.getValue(xPrcpDetlPath+"["+iRow+"]/flag");
- var mix = model.getValue(xPrcpDetlPath+"["+iRow+"]/mix");
- var actorddd = model.getValue(xPrcpDetlPath+"["+iRow+"]/actorddd");
- var orddd = model.getValue(xPrcpDetlPath+"["+iRow+"]/orddd");
-
- //20091112 dhkim 믹스그룹화 기준을 처방시간별로 변경(약제랑 기준 맞춤- 빈센트에서 오류발생함)
- var rgstdd = model.getValue(xPrcpDetlPath+"["+iRow+"]/rgstdd");
- var rgsttm = model.getValue(xPrcpDetlPath+"["+iRow+"]/rgsttm");
-
- if(chk == "1"){
- if(mix == "-"){
- return;
- }else{
- for(var i=0; i<Row; i++){
-
- var mixs = model.getValue(xPrcpDetlPath+"["+i+"]/mix")
- var actorddds = model.getValue(xPrcpDetlPath+"["+i+"]/actorddd")
- var orddds = model.getValue(xPrcpDetlPath+"["+i+"]/orddd")
-
- //20091112 dhkim 믹스그룹화 기준을 처방시간별로 변경(약제랑 기준 맞춤- 빈센트에서 오류발생함)
- var _rgstdd = model.getValue(xPrcpDetlPath+"["+i+"]/rgstdd");
- var _rgsttm = model.getValue(xPrcpDetlPath+"["+i+"]/rgsttm");
-
-
- //20091112 dhkim 믹스그룹화 시 rgstdd, rgsttm 조건 추가
- if(mix == mixs && actorddd == actorddds && orddd == orddds && rgstdd == _rgstdd && rgsttm == _rgsttm){
- model.setValue(xPrcpDetlPath+"["+i+"]/flag", "1");
- }
- }
- }
- }
-
- if(chk == "0"){
- if(mix == "-"){
- return;
- }else{
- for(var i=0; i<Row; i++){
- var mixs = model.getValue(xPrcpDetlPath+"["+i+"]/mix")
- var actorddds = model.getValue(xPrcpDetlPath+"["+i+"]/actorddd")
- var orddds = model.getValue(xPrcpDetlPath+"["+i+"]/orddd")
-
- //20091112 dhkim 믹스그룹화 기준을 처방시간별로 변경(약제랑 기준 맞춤- 빈센트에서 오류발생함)
- var _rgstdd = model.getValue(xPrcpDetlPath+"["+i+"]/rgstdd");
- var _rgsttm = model.getValue(xPrcpDetlPath+"["+i+"]/rgsttm");
-
- //20091112 dhkim 믹스그룹화 시 rgstdd, rgsttm 조건 추가
- if(mix == mixs && actorddd == actorddds && orddd == orddds && rgstdd == _rgstdd && rgsttm == _rgsttm){
- model.setValue(xPrcpDetlPath+"["+i+"]/flag", "0");
- }
- }
- }
- }
- }
- //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- // 20081217 새로 수정한 acting, acting취소, 변경내용저장 을 호출하기 위한 펑션 시작
- //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- /**
- * @ver : 20081217
- * @by : dhkim
- * @---------------------------------------------------
- * @desc : 액팅
- * @---------------------------------------------------
- */
- function fPrcpActing(){
-
- var iRow = grd_biztrgtman.row;
- var Row = grd_prcpdetl.rows;
- var jRow = grd_prcpdetl.row;
- var oRow = grd_ordsper.row;
-
- var xPrcpDetlPath = "/root/main/prcpdetl/prcpdetllist" ;
-
- //acting채크 시 환자 선택 여부 파악
- if(Row==1){
- messageBox("환자가 선택되지", "E007");
- return;
- }
-
- //처방선택여부 파악
- var chek = 0;
- var kRow = 0;
- for (i=1; i<Row; i++){
- chek = chek + grd_prcpdetl.textmatrix(i,1);
-
- if(grd_prcpdetl.textmatrix(i,1) == "1"){
- kRow = kRow +","+ i;
- }
-
- //alert('chek : '+chek + ', kRow : ' + kRow);
- }
- if(chek==0){
- messageBox("하나 이상의 처방내역을", "C002");
- return;
- }
-
- //선택한 처방에 해당하는 row만 돌면서 acting validation을 체크한다.
- var kRows = kRow.split(",");
- for(i=1; i<kRows.length; i++){
- var exec = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/execdd");
- var prcpclscd = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/prcpclscd");
- var execchk = getCurrentDate();
- var execord = exec.substr(0,8);
- var endyn = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/endyn");
- var act50yn = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/act50yn");
- var dracptyn = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/dracptyn");
- var dracptdt = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/dracptdt");
-
- if(exec != "-"){
- messageBox("Acting을 실시한 곳은 다시 Acting을", "E001");
- return;
- }
-
- var stat = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/stat");
- var prcpclscd = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/prcpclscd");
- var cdnm = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/cdnm");
- //항암, 주사 가 아니면 조회만 가능
- //20090316 dhkim 무균(A9)추가
- if(prcpclscd != "A7" && prcpclscd != "A6" && prcpclscd != "A8" && prcpclscd != "A9"){
- messageBox("항암, 무균제, 주사만 Acting을 할 수 있습니다.", "E");
- return;
- }
- if(prcpclscd == "B4"){
- messageBox("혈액은 수혈 기록을 통해서만 Acting을 할 수 있습니다.", "E");
- return;
- }
- //20090316 dhkim 무균(A9)추가
- if(prcpclscd == "A7" || prcpclscd == "A9"){
- if(stat != "2"){
- messageBox("조제완료 되지 않은 항암, 무균제는 Acting을", "E001");
- return;
- }
- }
- if(cdnm == "마약"){
- if(stat != "5"){
- messageBox("불출 되지 않은 마약은 Acting을", "E001");
- return;
- }
- }
- }
-
- //
- if(kRows.length >= 3){
- var chkactorddd = model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/actorddd");//맨첫번째 row의 값과 비교
- for (i=1; i<kRows.length; i++){
- var chkactorddd1 = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/actorddd");
- if(chkactorddd != chkactorddd1){
- messageBox("Acting은 동일한 예약일자가 아니면 Acting실시", "E001");
- return;
- }
- }
- }
-
- // 20081103 dhkim
- // 특수주사실의 경우 외래처방과 입원처방이 동시에 발생가능하고 병동재원환자의 처방에 대해서는 blocking처리함
- model.removeNodeset("/root/send");
- model.makeValue("/root/send/pid",model.getValue("/root/main/rghtref/rghtreflist/pid"));
-
- //재원환자의 처방acting을 blocking한다.
- if(submit("TRMNI02028")){
- if(model.getValue("/root/init/acting/chking/actingchk") > 0){
- messageBox("현재 입원 환자는 Acting을", "E001");
- return;
- }
- }
-
-
- var prcpexecdeptcd = model.getValue("/root/main/leftref/exec");//세션 부서코드(default)
- var ordddlong = model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/orddd");
- var orddd = ordddlong.substring(0,8);
-
- // 20090220 dhkim 추가
- var pid = model.getValue("/root/main/rghtref/rghtreflist/pid");
- if(pid == null || pid == ''){
- pid = model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/pid"); // 조회조건에 등록번호 세팅 없을때 그리드에서 등록번호 가져감
- }
-
- model.removeNodeset("/root/send");
- model.makeValue("/root/send/acting", "Y"); // acting : Y, acting취소 : N
- model.makeValue("/root/send/pid", pid); // 등록번호
- model.makeValue("/root/send/drugdd", model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/actorddd")); // 예정일시
- model.makeValue("/root/send/prcpexecdeptcd", prcpexecdeptcd); // 실시부서코드
- model.makeValue("/root/send/endyn", model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/endyn")); // 마감여부
- model.makeValue("/root/send/prcpdetl", grd_prcpdetl.getupdatedataAll("i")); // 처방상세내역 그리드
-
- model.makeValue("/root/send/orddd", orddd);
- model.makeValue("/root/send/act50yn", model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/act50yn")); //
- model.makeValue("/root/send/dracptyn", model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/dracptyn")); //
- model.makeValue("/root/send/dracptdt", model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/dracptdt")); //
-
-
- //Acting실행
- if(submit("TXMNI02029")){
-
- if (oRow != ""){
- grd_ordsper.row = oRow;
- fordsper();
- }else if (model.getValue("/root/main/rghtref/rghtreflist/pid") == model.getValue(xBizTrgtManListPath+"["+iRow+"]/pid")){
- //처방 상세내역
- fBiztrgtClick("acting");
- }else{
- //변경내용저장 실행후 업무대상리스트 다시 조회 실시
- fbiztrgtman("acting");
- }
-
- //예약일자 변경시 이전 날짜 선택 여부를 위해서 노드를 copy해둠
- model.copyNode("/root/hidden/main", "/root/main");
- }
- }
- /**
- * @ver : 20081217
- * @by : dhkim
- * @---------------------------------------------------
- * @desc : 액팅취소
- * @---------------------------------------------------
- */
- function fPrcpActingCancel(){
-
- var iRow = grd_biztrgtman.row;
- var Row = grd_prcpdetl.rows;
- var jRow = grd_prcpdetl.row;
- var oRow = grd_ordsper.row;
-
- var xPrcpDetlPath = "/root/main/prcpdetl/prcpdetllist" ;
-
- //환자 선택 여부 파악
- if(Row==1){
- messageBox("환자가 선택되지", "E007");
- return;
- }
-
- //처방선택여부 파악
- var chek = 0;
- var kRow = 0;
- for (i=1; i<Row; i++){
- chek = chek + grd_prcpdetl.textmatrix(i,1);
- if(grd_prcpdetl.textmatrix(i,1) == "1"){
- kRow = kRow +","+ i;
- }
- }
- if(chek==0){
- messageBox("하나 이상의 처방내역을", "C002");
- return;
- }
-
-
- var kRows = kRow.split(",");
- for(i=1; i < kRows.length; i++){
- var exec = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/execdd");
- var prcpclscd = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/prcpclscd");
- var execchk = getCurrentDate();
- var execord = exec.substr(0,8);
- var endyn = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/endyn");
- var act50yn = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/act50yn");
- var dracptyn = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/dracptyn");
- var dracptdt = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/dracptdt");
-
- if(exec == "-"){
- messageBox("Acting을 실시하지 처방은 Acting 취소를", "E001");
- return;
- }
- if(execord != execchk){
- messageBox("당일 Acting한 처방이 아니면 Acting 취소를", "E001");
- return;
- }
- if(prcpclscd == "B4"){
- messageBox("혈액은 Acting 취소를", "E001");
- return;
- }
-
- // 마감된 처방을 Acting취소시 마감반환사유 프로세스 입력되도록
- if (endyn == "Y") {
- messageBox("마감된 Acting처방을 취소하려면 반환사유를 ", "C001");
-
- model.makeValue("/root/main/cond/list/prcpdd", model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/prcpdd"));
- model.makeValue("/root/main/cond/list/prcpno", model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/prcpno"));
- model.makeValue("/root/main/cond/list/prcphistno", model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/prcphistno"));
- model.makeValue("/root/main/cond/list/execprcpno", model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/execprcpno"));
- model.makeValue("/root/main/cond/list/instcd", getUserInfo("dutplceinstcd"));
- model.makeValue("/root/main/cond/list/ioflag", "O");
-
- // 반환사유 팝업
- modal("SPPAS03000", "2", "100", "100", "SPPAS03000", "root/main/cond", "root/target", "left:100; top:100; width:400; height:400; sysmenu:hidden; min:visible; max:hidden; :hidden; resize:true; caption:visible;", false);
- }
- } // for end
-
- if(kRows.length >= 3){
- var chkactorddd = model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/actorddd");
- for (i=1; i<kRows.length; i++){
- var chkactorddd1 = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/actorddd");
- if(chkactorddd != chkactorddd1){
- messageBox("ACting은 동일한 예약일자가 아니면 Acting실시", "E001");
- return;
- }
- }
- }
-
- var prcpexecdeptcd = model.getValue("/root/main/leftref/exec");//세션 부서코드(default)
- var ordddlong = model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/orddd");
- var orddd = ordddlong.substring(0,8);
-
- // 20090220 dhkim 추가
- var pid = model.getValue("/root/main/rghtref/rghtreflist/pid");
- if(pid == null || pid == ''){
- pid = model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/pid"); // 조회조건에 등록번호 세팅 없을때 그리드에서 등록번호 가져감
- }
-
- model.removeNodeset("/root/send");
- model.makeValue("/root/send/acting", "N"); // acting : Y, acting취소 : N
- model.makeValue("/root/send/pid", pid); // 등록번호
- model.makeValue("/root/send/drugdd", model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/actorddd")); // 예정일시
- model.makeValue("/root/send/prcpexecdeptcd", prcpexecdeptcd); // 실시부서코드
- model.makeValue("/root/send/endyn", model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/endyn")); // 마감여부
- model.makeValue("/root/send/prcpdetl", grd_prcpdetl.getupdatedataAll("i")); // 처방상세내역 그리드
-
- model.makeValue("/root/send/orddd", orddd);
- model.makeValue("/root/send/act50yn", model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/act50yn"));
- model.makeValue("/root/send/dracptyn", model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/dracptyn"));
- model.makeValue("/root/send/dracptdt", model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/dracptdt"));
-
-
- //Acting취소 실행
- if(submit("TXMNI02030")){
-
- //업무대상리스트 다시 조회 실시
- fbiztrgtman("acting");
-
- if (oRow != ""){
- grd_ordsper.row = oRow;
- fordsper();
- }else if(model.getValue("/root/main/rghtref/rghtreflist/pid") == model.getValue(xBizTrgtManListPath+"["+iRow+"]/pid")){
- //처방 상세내역
- fBiztrgtClick("acting");
- }
- //예약일자 변경시 이전 날짜 선택 여부를 위해서 노드를 copy해둠
- model.copyNode("/root/hidden/main", "/root/main");
- }
-
- }
- /**
- * @ver : 20081217
- * @by : dhkim
- * @---------------------------------------------------
- * @desc : 변경내용저장
- * @---------------------------------------------------
- */
- function fPrcpChangeSave(){
- var iRow = grd_biztrgtman.row;
- var oRow = grd_ordsper.row;
- var xhiddenPrcpDetlPath = "/root/hidden/main/prcpdetl/prcpdetllist" ;
- var xPrcpDetlPath = "/root/main/prcpdetl/prcpdetllist" ;
- var Row = grd_prcpdetl.rows;
-
- //변경내용저장 시 환자 선택 여부 파악
- if(Row==1){
- messageBox("환자가 선택되지", "E007");
- return;
- }
-
- /*
- 잠시주석처리함
- //20081223 dhkim 잠시 코딩하여 테스트
- var chkflag;
- for(var i = 1; i < grd_prcpdetl.rows; i++){
- chkflag = model.getValue(xPrcpDetlPath + '[' + i + ']/flag');
- if(chkflag == '1'){
-
- }
- }
- */
-
- var kRow = 0;
- var chek = 0;
-
- for (i=1; i<Row; i++){
- chek = chek + grd_prcpdetl.textmatrix(i,1);
- if(grd_prcpdetl.textmatrix(i,1) == "1"){
- kRow = kRow +","+ i;
- }
- }
-
- if(chek==0){
- messageBox("하나 이상의 처방내역을", "C002");
- return;
- }
-
- var kRows = kRow.split(",");
- var chkactorddd = model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/actorddd");
- var chkactorddd1, drugno;
-
- //20081223 dhkim
- //약번호의 경우 항암 뿐 아니라 마약의 경우에도 따지 므로 메세지를 구분할 필요가 있음
- var cdnm;
-
- if(kRows.length >= 3){
- for (i=1; i<kRows.length; i++){
- chkactorddd1 = model.getValue(xhiddenPrcpDetlPath+"["+kRows[i]+"]/actorddd");
- drugno = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/drugno");
-
- //20081223 dhkim
- cdnm = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/cdnm");
-
- if(drugno != "0"){
- if(cdnm == "마약"){
- messageBox("마약 불출신청 접수 후 예약일자 변경을", "E001");
- }else{
- messageBox("특조 전송후 예약일자 변경을", "E001");
- }
- return;
- }
- if(chkactorddd != chkactorddd1){
- messageBox("초기 동일한 예약일자가 아니면 저장", "E001");
- return;
- }
- }
- }
-
- var lRow = 0;
- var chkactorddd = model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/actorddd");
- for (i=1; i<Row; i++){
- var chkactorddd1 = model.getValue(xhiddenPrcpDetlPath+"["+i+"]/actorddd");
- if(chkactorddd == chkactorddd1){
- lRow = lRow +","+ i;
- }
- }
- var lRows = lRow.split(",");
- for (i=1; i<Row; i++){
- var actordddchk = model.getValue(xPrcpDetlPath+"["+i+"]/actorddd");
- var actordddchk1 = model.getValue(xhiddenPrcpDetlPath+"["+i+"]/actorddd");
- if (actordddchk != actordddchk1){
- if (kRow != lRow){
- messageBox("동일한 일자를 모두 선택 하지 않으면 저장", "E001");
- return;
- }
- }
- }
-
- var vewactorddd1 = model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/actorddd");
- for (i=1; i<kRows.length; i++){
- var vewactorddd2 = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/actorddd");
- if(vewactorddd1 != vewactorddd2){
- messageBox("예약 일자를 모두 동일한 일자로 변경 하지 않으면 저장", "E001");
- return;
- }
- }
- if(flag != "Ant"){
-
- var prcpexecdeptcd = model.getValue("/root/main/leftref/exec");
- var flag = "Change";
- // 20090220 dhkim 추가
- var pid = model.getValue("/root/main/rghtref/rghtreflist/pid");
- if(pid == null || pid == ''){
- pid = model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/pid"); // 조회조건에 등록번호 세팅 없을때 그리드에서 등록번호 가져감
- }
-
- model.removeNodeset("/root/send");
- model.makeValue("/root/send/pid", pid);
- model.makeValue("/root/send/drugdd",model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/actorddd"));
- model.makeValue("/root/send/ordtm",model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/ordtm"));
-
- // 주사예약변경시 외래예약변경IF 파라미터 추가_20090709
- model.makeValue("/root/send/insukind" , model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/insukind" ));
- model.makeValue("/root/send/suppkind" , model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/suppkind" ));
- model.makeValue("/root/send/insucd" , model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/insucd" ));
- model.makeValue("/root/send/suppkindresn" , model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/suppkindresn"));
- model.makeValue("/root/send/ownbflag" , model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/ownbflag" ));
- model.makeValue("/root/send/spclcd" , model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/spclcd" ));
- model.makeValue("/root/send/rareobstflag" , model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/rareobstflag"));
-
- model.makeValue("/root/send/acting",flag);
- model.makeValue("/root/send/prcpexecdeptcd",prcpexecdeptcd);
- model.makeValue("/root/send/prcpdetl",grd_prcpdetl.getupdatedataAll("i"));
-
- //변경내용저장실행
- if(submit("TXMNI02031")){
-
- //20081212 dhkim 0원수납 에러메세지 테스트 ..
- if(model.getValue('/root/savechangeinfo/rcptinfo/rcptYn') == 'N'){
- alert(model.getValue('/root/savechangeinfo/rcptinfo/errMsg'));
- }
-
- //변경내용저장 실행후 업무대상리스트 다시 조회 실시
- fbiztrgtman("acting");
- if (model.getValue("/root/main/rghtref/rghtreflist/pid") == model.getValue(xBizTrgtManListPath+"["+iRow+"]/pid")){
- //업무대상리스트 다시 조회후 현재 Row의 위치에 선택 실시
- grd_biztrgtman.row = iRow;
- //처방 상세내역
- fBiztrgtClick("acting");
- }else if (oRow != ""){
- grd_ordsper.row = oRow;
- fordsper();
- }
- //예약일자 변경시 이전 날짜 선택 여부를 위해서 노드를 copy해둠
- model.copyNode("/root/hidden/main", "/root/main");
- }
- }
-
- }
- /**
- * @ver : 20081217
- * @by : dhkim
- * @---------------------------------------------------
- * @desc : 특조전송
- * @---------------------------------------------------
- */
- function fPrcpAntiCncr(){
- var oRow = grd_ordsper.row;
- var iRow = grd_biztrgtman.row;
- model.removenode("/root/send");
-
- var Row = grd_prcpdetl.rows;
- var jRow=grd_prcpdetl.row;
- var xPrcpDetlPath = "/root/main/prcpdetl/prcpdetllist" ;
- var xhiddenPrcpDetlPath = "/root/hidden/main/prcpdetl/prcpdetllist" ;
-
- //환자 선택 여부 파악
- if(grd_prcpdetl.rows == 1){
- messageBox("환자가 선택되지", "E007");
- return;
- }
-
- //데이터가 선택여부와 예약시간 설정여부를 체크한다.
- var chek = 0; //선택여부 체크
- var kRow = 0; //예약시간 입력한 rowid
- var rsrvtm;
- for (var i = 1 ; i < grd_prcpdetl.rows ; i++){
-
- //선택내역 체크
- chek = chek + grd_prcpdetl.textmatrix(i,1);
-
- //선택한 처방의 예약시간 설정여부 체크
- if(grd_prcpdetl.textmatrix(i,1) == "1"){
- kRow = kRow + "," + i;
- rsrvtm = model.getValue(xPrcpDetlPath+"["+i+"]/rsrvtm");
- if(rsrvtm == "000000"){
- messageBox("예약시간을", "C002");
- return;
- }
- }
- }
- if(chek==0){
- messageBox("하나 이상의 무균, 항암을", "C002");
- return;
- }
-
- //선택한 처방내역중 항암선택여부 확인
- var kRows = kRow.split(",");//예약시간 입력한 row 정보
- var kchek = 0; //항암선택여부
- var prcpclscd; //항암종류
- for(var i=1; i < kRows.length; i++){ //예약시간 row정보를 돌면서 항암이 선택되었는지를 체크한다.
- prcpclscd = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/prcpclscd");
- //20090316 dhkim 무균(A9)추가
- if(prcpclscd=="A7" || prcpclscd =="A9"){//항암, 무균
- kchek = kchek + 1;
- }
- }
- if(kchek == 0){
- messageBox("하나 이상의 무균, 항암을", "C002");
- return;
- }
-
- //선택된 처방의 acting실시여부를 체크한다.
- //선택된 처방의 특조전송여부를 체크한다.
- var stat;
- var drugnochk;
- for(var i=1; i<kRows.length; i++){
- stat = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/stat");
- if (stat == "6"){//시행완료
- messageBox("Acting을 실시한 곳은 특조전송을", "E001");
- return;
- }
-
- drugnochk = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/drugno");
- if (drugnochk != "0"){
- messageBox("한번 특조전송을 실시한 곳은 특조전송을", "E001");
- return;
- }
-
- }
-
- var chkd = 0;
- for(j=1; j<Row; j++){
- var stat = model.getValue(xPrcpDetlPath+"["+j+"]/stat");
- var flag = model.getValue(xPrcpDetlPath+"["+j+"]/flag");
- var prcpclscdnow = model.getValue(xPrcpDetlPath+"["+j+"]/prcpclscdnow");
- //20090316 dhkim 무균(A9)추가
- if ((flag == "0" || flag == "") && (prcpclscdnow == "A7" || prcpclscdnow == "A9") && stat == ""){
- chkd = chkd + 1;
- }
- }
-
- if(chkd > 0){
- if(messageBox("특조전송할 처방이 모두 선택되지 않았습니다. 전송을 실시 하겠습니까?", "Q") != 6) return;
- }
-
- var a = 0;
- for (var i = 1; i < kRows.length; i++){
- if(i == 1){
- a = i;
- }else{
- a = i - 1;
- }
- if(model.getValue(xhiddenPrcpDetlPath+"["+kRows[a]+"]/actorddd") != model.getValue(xhiddenPrcpDetlPath+"["+kRows[i]+"]/actorddd")){
- var doublek = "dd";
- var drugno = model.getValue(xPrcpDetlPath+"["+i+"]/drugno");
- }
- }
-
-
- var kRows = kRow.split(",");
- var chkactorddd = model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/actorddd");
- if(kRows.length >= 3){
- for (i=1; i<kRows.length; i++){
- var chkactorddd1 = model.getValue(xhiddenPrcpDetlPath+"["+kRows[i]+"]/actorddd");
- var drugno = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/drugno");
- if(drugno != "0"){
- //messageBox("특조전송후 예약일자 변경을", "E001")
- //return;
- }
- }
- }
-
- //선택한 처방의 예약일자와 동일한 예약일자의 처방정보 row를 임시저장
- var lRow = 0;
- var chkactorddd = model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/actorddd");//예약시간 입력한 처방중 첫 row의 예약일자
- var chkactorddd1;
- for (var i = 1; i < grd_prcpdetl.rows; i++){
- chkactorddd1 = model.getValue(xhiddenPrcpDetlPath+"["+i+"]/actorddd");
- if(chkactorddd == chkactorddd1){
- lRow = lRow + "," + i;//첫row의 예약일자와 전체그리드돌면서 예약일자가 같으면 row번호 임시저장.
- }
- }
- //동일한 예약일자를 가진 처방정보 임시저장한
- var lRows = lRow.split(",");//선택한 첫 row와 같은 예약일자의 처방정보
- var actordddchk, actordddchk1;
- for (var i = 1; i < grd_prcpdetl.rows; i++){
- actordddchk = model.getValue(xPrcpDetlPath+"["+i+"]/actorddd");
- actordddchk1 = model.getValue(xhiddenPrcpDetlPath+"["+i+"]/actorddd");
- if (actordddchk != actordddchk1){
- if (kRow != lRow){
- messageBox("동일한 일자를 모두 선택 하지 않으면 저장", "E001");
- return;
- }
- }
- }
-
- var vewactorddd1 = model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/actorddd");
- var vewactorddd4 = model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/actorddd");
- for (i=1; i<kRows.length; i++){
- var vewactorddd2 = model.getValue(xPrcpDetlPath+"["+kRows[i]+"]/actorddd");
- var vewactorddd3 = model.getValue(xhiddenPrcpDetlPath+"["+kRows[i]+"]/actorddd");
- if(vewactorddd1 != vewactorddd2 && vewactorddd4==vewactorddd3){
- messageBox("예약 일자를 모두 동일한 일자로 변경 하지 않으면 저장", "E001");
- return;
- }
- }
-
- /*
- //----------------처방을 부분적으로 선택한 상태인지 체크 시작(예약시간지정 체크와 순서변경) [20081120 dhkim]----------------//
- //전송할 항암중 예약일자가 동일한 항암처방의 선택하지 않은 항암이 있는지 확인한다.
- var chkd = 0;
- var flag, prcpclscdnow, actorddd, rsrvtm; //체크값
- var _flag, _prcpclscdnow, _actorddd, _rsrvtm; //체크비교값
- for(var j = 1; j < grd_prcpdetl.rows; j++){
-
- stat = model.getValue(xPrcpDetlPath+"["+j+"]/stat"); //처방상태
- flag = model.getValue(xPrcpDetlPath+"["+j+"]/flag"); //체크상태
- prcpclscdnow = model.getValue(xPrcpDetlPath+"["+j+"]/prcpclscdnow");//처방종류
- actorddd = model.getValue(xPrcpDetlPath+"["+j+"]/actorddd"); //예약일자 [20081119 dhkim]
- rsrvtm = model.getValue(xPrcpDetlPath+"["+j+"]/rsrvtm"); //예약시간 [20081119 dhkim]
-
- //항암처방체크해제상태의 항암처방
- if ((flag == "0" || flag == "") && prcpclscdnow == "A7" && stat == ""){
-
- //[20081119 dhkim] 예약일자까지 체크하는것으로 추가
- for(var i = 1; i < grd_prcpdetl.rows; i++){
-
- _stat = model.getValue(xPrcpDetlPath+"["+i+"]/stat"); //처방상태비교값
- _flag = model.getValue(xPrcpDetlPath+"["+i+"]/flag"); //체크상태비교값
- _prcpclscdnow = model.getValue(xPrcpDetlPath+"["+i+"]/prcpclscdnow"); //처방종류비교값
- _actorddd = model.getValue(xPrcpDetlPath+"["+i+"]/actorddd"); //예약일자비교값
- _rsrvtm = model.getValue(xPrcpDetlPath+"["+i+"]/rsrvtm"); //예약시간비교값
-
- if(_flag == '1' && _prcpclscdnow == 'A7' && _stat == "" && actorddd == _actorddd && rsrvtm == _rsrvtm){
- chkd = chkd + 1;
- }
- }
- }
- }
-
- if(chkd > 0){
- //예약일자가 동일한 처방에 대해서만 메시지를 뿌릴것.
- if(messageBox("예약일시가 동일한 항암처방중 선택되지 않은 항암처방이 있습니다. 전송을 실시 하겠습니까?", "Q") != 6)
- return;
- }
- //----------------처방을 부분적으로 선택한 상태인지 체크 시작(예약시간지정 체크와 순서변경) [20081120 dhkim]----------------//
- */
-
- if(doublek != "dd"){
-
- var prcpexecdeptcd = model.getValue("/root/main/leftref/exec");
- var flag = "Change";
- // 20090220 dhkim 추가
- var pid = model.getValue("/root/main/rghtref/rghtreflist/pid");
- if(pid == null || pid == ''){
- pid = model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/pid"); // 조회조건에 등록번호 세팅 없을때 그리드에서 등록번호 가져감
- }
-
- model.removeNodeset("/root/send");
- model.removeNodeset("/root/savechangeinfo");
- model.makeNode("/root/savechangeinfo");
- model.makeValue("/root/send/pid", pid);
- model.makeValue("/root/send/drugdd", model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/actorddd"));
- model.makeValue("/root/send/ordtm", model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/ordtm"));
-
- // 주사예약변경시 외래예약변경IF 파라미터 추가_20090709
- model.makeValue("/root/send/insukind" , model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/insukind" ));
- model.makeValue("/root/send/suppkind" , model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/suppkind" ));
- model.makeValue("/root/send/insucd" , model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/insucd" ));
- model.makeValue("/root/send/suppkindresn" , model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/suppkindresn"));
- model.makeValue("/root/send/ownbflag" , model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/ownbflag" ));
- model.makeValue("/root/send/spclcd" , model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/spclcd" ));
- model.makeValue("/root/send/rareobstflag" , model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/rareobstflag"));
-
- model.makeValue("/root/send/acting", flag);
- model.makeValue("/root/send/prcpexecdeptcd", prcpexecdeptcd);
- model.makeValue("/root/send/prcpdetl", grd_prcpdetl.getupdatedataAll("i"));
- model.makeValue("/root/send/anticncr/pid", model.getValue("/root/main/rghtref/rghtreflist/pid"));
-
- //예약일시 변경을 위한 변경내용저장처리
- if(submit("TXMNI02031")){
-
- //20081212 dhkim 0원수납 에러메세지 테스트 ..
- if(model.getValue('/root/savechangeinfo/rcptinfo/rcptYn') == 'N'){
- alert(model.getValue('/root/savechangeinfo/rcptinfo/errMsg'));
- return;//2010.02.17 dhkim
- }
-
- //특조전송처리
- if(submit("TXMNI02023")){
- model.makeValue("/root/send/pid", model.getValue("/root/send/anticncr/pid"));
- //변경내용저장 실행후 업무대상리스트 다시 조회 실시
- fbiztrgtman("acting");
- if(model.getValue("/root/main/rghtref/rghtreflist/pid") == model.getValue(xBizTrgtManListPath+"["+iRow+"]/pid")){
- //업무대상리스트 다시 조회후 현재 Row의 위치에 선택 실시
- grd_biztrgtman.row = iRow;
-
- //처방 상세내역
- fBiztrgtClick("acting");
- }else if (oRow != ""){
- grd_ordsper.row = oRow;
- fordsper();
- }
-
- //예약일자 변경시 이전 날짜 선택 여부를 위해서 노드를 copy해둠
- model.copyNode("/root/hidden/main", "/root/main");
- messageBox("특조전송을", "I002");
- }
- }
- }else{
- var prcpexecdeptcd = model.getValue("/root/main/leftref/exec");
- var flag = "Change";
-
- // 20090220 dhkim 추가
- var pid = model.getValue("/root/main/rghtref/rghtreflist/pid");
- if(pid == null || pid == ''){
- pid = model.getValue(xPrcpDetlPath+"["+kRows[1]+"]/pid"); // 조회조건에 등록번호 세팅 없을때 그리드에서 등록번호 가져감
- }
-
- model.removeNodeset("/root/send");
- model.removeNodeset("/root/savechangeinfo");
- model.makeNode("/root/savechangeinfo");
- model.makeValue("/root/send/pid", pid);
- model.makeValue("/root/send/drugdd", model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/actorddd"));
- model.makeValue("/root/send/ordtm", model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/ordtm"));
- model.makeValue("/root/send/acting", flag);
- model.makeValue("/root/send/prcpexecdeptcd", prcpexecdeptcd);
- model.makeValue("/root/send/prcpdetl", grd_prcpdetl.getupdatedataAll("i"));
- model.makeValue("/root/send/anticncr/pid", model.getValue("/root/main/rghtref/rghtreflist/pid"));
-
-
- // 주사예약변경시 외래예약변경IF 파라미터 추가_2010.02.17 dhkim
- model.makeValue("/root/send/insukind" , model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/insukind" ));
- model.makeValue("/root/send/suppkind" , model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/suppkind" ));
- model.makeValue("/root/send/insucd" , model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/insucd" ));
- model.makeValue("/root/send/suppkindresn" , model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/suppkindresn"));
- model.makeValue("/root/send/ownbflag" , model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/ownbflag" ));
- model.makeValue("/root/send/spclcd" , model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/spclcd" ));
- model.makeValue("/root/send/rareobstflag" , model.getValue(xhiddenPrcpDetlPath+"["+kRows[1]+"]/rareobstflag"));
-
-
- //예약일시 변경을 위한 변경내용저장처리
- if(submit("TXMNI02031")){
-
- //20081212 dhkim 0원수납 에러메세지 테스트 ..
- if(model.getValue('/root/savechangeinfo/rcptinfo/rcptYn') == 'N'){
- alert(model.getValue('/root/savechangeinfo/rcptinfo/errMsg'));
- return;//2010.02.17 dhkim
- }
-
- //특조전송처리
- if(submit("TXMNI02023")){
- model.makeValue("/root/send/pid", model.getValue("/root/send/anticncr/pid"));
- //변경내용저장 실행후 업무대상리스트 다시 조회 실시
- fbiztrgtman("acting");
- if(model.getValue("/root/main/rghtref/rghtreflist/pid") == model.getValue(xBizTrgtManListPath+"["+iRow+"]/pid")){
- //업무대상리스트 다시 조회후 현제 Row의 위치에 선택 실시
- grd_biztrgtman.row = iRow;
-
- //처방 상세내역
- fBiztrgtClick("acting");
- }else if (oRow != ""){
- grd_ordsper.row = oRow;
- fordsper();
- }
- //예약일자 변경시 이전 날짜 선택 여부를 위해서 노드를 copy해둠
- model.copyNode("/root/hidden/main", "/root/main");
-
- messageBox("특조전송을", "I002");
- }
- }
- }
- }
- /**
- * @ver : 20081217
- * @by : dhkim
- * @---------------------------------------------------
- * @desc : 처방전출력
- * @---------------------------------------------------
- */
- function fPrcpRexpert(){
-
- var mpsacting = model.getValue("/root/main/mpsacting");// 처방전 + acting
-
- //처방전 출력전 valid체크
- if(!fIsPrintValid()){
- return ;
- }
-
- //처방전출력 미리보기창 open
- fPrintPreview();
-
- if(mpsacting == "1"){
- fPrcpActing("Y");//acting실행
- }else{
-
- //주사실출력시 엑팅 실시 안하고 출력 여부 저장실시 상태값 update
- model.removenode("/root/send");
- model.makeValue("/root/send/pid", model.getValue("/root/main/rghtref/rghtreflist/pid"));
- model.makeValue("/root/send/prcpdetl", grd_prcpdetl.getupdatedataAll("i"));
-
- if(submit("TXMNI02025")){
-
- //처방상세내역조회
- fSearchPrcpDetail();
-
- }
- }
-
- }
- //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- // 20081217 새로 수정한 acting, acting취소, 변경내용저장 을 호출하기 위한 펑션 종료
- //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- /**
- * 20090401 dhkim
- * 화면상단정보 설정
- **/
- function fSetTopInfo(){
-
- //화면상단 정보설정
- var iRow = grd_biztrgtman.row;
- //20090227 dhkim ordtype제거 무조건 'O'로 넘김
- //var ordtype = model.getValue(xBizTrgtManListPath+"["+iRow+"]/ordtype");
- var ordtype = 'O';
-
- //20091029 dhkim
- //상단이 현재선택한 row의 정보로 올라가도록 수정함
- var pid = model.getValue("/root/main/rghtref/rghtreflist/pid");
- var orddd = model.getValue("/root/main/rghtlist/ordsperlist["+grd_ordsper.row+"]/actorddd");
- var cretno = model.getValue("/root/main/rghtlist/ordsperlist["+grd_ordsper.row+"]/cretno");
- var instcd = getUserInfo("dutplceinstcd");
- //20090227 dhkim orgorddd 제거
- //var orgorddd = model.getValue(xBizTrgtManListPath+"["+iRow+"]/orgorddd");
- //var param = ordtype + "▦" + pid + "▦" + orddd + "▦" + cretno + "▦" + instcd + "▦" + '' + "▦" + orgorddd;
- var param = ordtype + "▦" + pid + "▦" + orddd + "▦" + cretno + "▦" + instcd + "▦" + '' + "▦" + '';
- //20090212 dhkim 추가
- //상단정보세팅전 서울성모 전환환자인지 조회
- model.removenode('/root/send');
- model.makeValue('/root/send/pid', pid);
-
- if(!submit('TRMNI02030')){
- messageBox('상단정보세팅중 전환환자 여부조회를 실패하였습니다.', 'E999');
- }else{
- var pidflag = model.getValue('/root/bmt/bmtinfo/pidflag');
- var hngnm = model.getValue('/root/bmt/bmtinfo/hngnm');
-
- if(hngnm != ''){
- hngnm = '"' + hngnm + '"님은 ';
- }
- if(pidflag == 'Y'){
- messageBox(hngnm + '여의도성모에서 서울성모 전환 BMT환자입니다.', 'I999');
- }
- }
-
- // alert(param);
-
- //상단정보 세팅
- setParameter("condparam", param);
- modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
-
- }
-
-
- /**
- * @date : 20090724
- * @author : dhkim
- * @desc : 예약변경하기전 진단이 있는지 체크하여 이전 진단이 존재하지 않으면 수진선택하도록 팝업호출
- */
- function fPopDiag(curRow){
-
- /*
- [fFindDiagInfo() 호출정보]
- 진료일 정보를 이용하여 이전 진단명이 존재 외래수진이력 조회 진단명이 없을 경우
- Parameter 값을 이용하여 수진이력 팝업 호출 및 return RESULT
- @param :
- ex) setParameter("preDiagCond", "Etc▦4189074▦20090715▦▦▦/root");
- - 공통
- , jobgubn : 작업구분 : HomeCare-> 가정간호, InjRoom -> 인공신장, Etc : 기타(외래,주사실,진료지원)
- , pid : 등록번호 -> 필수사항
- , orddd : 진료일자 -> 필수사항, 해당 진료일자 이전의 수진이력을 조회함.
- , orddeptcd : 진료과 -> 진료과가 없을 경우 모든 진료과 정보 조회
- , orddrid : 진료의 -> 진료의가 없을 경우 모든 진료의 정보 조회
- , resultXpath : 조회결과가 설정될 hidden Node Xpath -> ex) /root 로 넘어올 경우
- -> 결과는 /root/hidden/ordinfo 밑의 노드에 생성 됨.
-
- @return : setParameter()로 전달하므로 getParameter("preDiagResult") 로 받아야 함.
-
- ex) setParameter("preDiagResult", sPid+"▦"+sOrddd+"▦"+sIndd+"▦"+sCretno);
- 설명 : 등록번호▦진료일자▦입원일자▦cretno
- */
-
-
- //파라미터 세팅후 호출
- var pid = model.getValue("/root/main/prcpdetl/prcpdetllist[" + curRow + "]/pid");
- var orddd = model.getValue("/root/main/prcpdetl/prcpdetllist[" + curRow + "]/oprc_orddd");
- var orddeptcd = model.getValue("/root/main/prcpdetl/prcpdetllist[" + curRow + "]/oprc_orddeptcd");
- var orddrid = model.getValue("/root/main/prcpdetl/prcpdetllist[" + curRow + "]/oprc_orddrid");
- var retnPath = "/root";
- var setDiagParam = "Etc▦" + pid + "▦" + orddd + "▦" + orddeptcd + "▦" + orddrid + "▦" + retnPath;
-
- setParameter("preDiagCond", setDiagParam);
- fFindDiagInfo();//careCom.js
-
-
- //팝업호출 후 리턴값을 진단복사를 위한 수진키에 새로 세팅 (리턴값이 있을 경우만 세팅함)
- var getDiagParam = getParameter("preDiagResult").split("▦");
- var retPid = getDiagParam[0];
- var retOrddd = getDiagParam[1];
- var retIndd = getDiagParam[2];
- var retCretno = getDiagParam[3];
- var retGenrflagcd = getDiagParam[4];
-
- if(retPid == null || retPid == ''){
- return;//리턴값이 없으면 빠져나옴.
- }
-
- //그리드에 리턴값 세팅
- model.setValue("/root/main/prcpdetl/prcpdetllist[" + curRow + "]/pop_cretno", retCretno);
- model.setValue("/root/main/prcpdetl/prcpdetllist[" + curRow + "]/pop_genrflagcd", retGenrflagcd);
-
- if(retGenrflagcd != 'O'){
- model.setValue("/root/main/prcpdetl/prcpdetllist[" + curRow + "]/pop_orddd", retIndd);
- }else{
- model.setValue("/root/main/prcpdetl/prcpdetllist[" + curRow + "]/pop_orddd", retOrddd);
- }
-
- // alert(getDiagParam);
-
-
- }
- /**
- * 2010.02.25 dhkim
- * 환자라벨출력
- * rghtflag - false: 왼쪽환자그리드리스트클릭
- * true : 오른쪽환자조회화면버튼클릭
- */
- //20100225 dhkim 변경요청사항(요청번호:9796, task:39728)
- function fPrtLabel(rghtflag){
-
- model.removenode("/root/temp/prtlabel");
- if(rghtflag == true){
- model.makeValue("/root/temp/prtlabel/rghtflag", "T");
- }else{
- model.makeValue("/root/temp/prtlabel/rghtflag", "F");
- }
- model.refresh();
-
- fOpenLabelPrint_SMMNI02020(rghtflag);
-
- }
-
-
-
- //2010.02.25 dhkim 추가
- //환자라벨출력
- // rghtflag - false: 왼쪽환자그리드리스트클릭
- // true : 오른쪽환자조회화면버튼클릭
- //20100225 dhkim 변경요청사항(요청번호:9796, task:39728)
- function fOpenLabelPrint_SMMNI02020(rghtflag){
- var left, top;
- if(rghtflag==true){//라벨출력그룹위치 fix
- left = 650;
- top = 50;
- }else{//그리드 포커스에 맞게 이동
- left = event.ScreenX-window.screenleft-10;
- top = event.ScreenY-window.screenTop-150;
- }
- model.removenode("/root/main/cmpatprtcnt");
- model.makeValue("/root/main/cmpatprtcnt","1");
- model.setFocus("ipt_cmpatprtcnt");
-
- grp_prtlabel.attribute("left") = left;
- grp_prtlabel.attribute("top") = top;
- grp_prtlabel.attribute("visibility") = "visible";
- model.refresh();
-
- }
- //2010.02.25 dhkim 추가
- //라벨출력실행
- //20100225 dhkim 변경요청사항(요청번호:9796, task:39728)
- function fPrintLabel_SMMNI02020(){
-
- var rghtflag = model.getValue("/root/temp/prtlabel/rghtflag");
- var pid, patnm, rgstno, sexage;
-
- var roomcd = "";//외래라 roomcd없음
- var prtcnt = model.getValue("/root/main/cmpatprtcnt");
- orddd = getCurrentDate();//현재일자
-
- if(rghtflag=="T"){
- pid = model.getValue("/root/main/rghtref/rghtreflist/pid");
- patnm = model.getValue("/root/main/rghtref/rghtreflist/hngnm");
- sexage = model.getValue("/root/main/rghtref/rghtreflist/gndrage");
- rgstno = model.getValue("/root/main/rghtref/rghtreflist/rrgstno");
- }else if(rghtflag=="F"){
-
- pid = model.getValue("/root/main/biztrgtman/biztrgtmanlist["+grd_biztrgtman.row+"]/pid");
- patnm = model.getValue("/root/main/biztrgtman/biztrgtmanlist["+grd_biztrgtman.row+"]/hngnm");
- sexage = model.getValue("/root/main/biztrgtman/biztrgtmanlist["+grd_biztrgtman.row+"]/gndrage");
- rgstno = model.getValue("/root/main/biztrgtman/biztrgtmanlist["+grd_biztrgtman.row+"]/rrgstno");
- }
-
- if(pid == null || pid == ''){
- messageBox('등록번호를 입력하세요.', 'E999');
- return false;
- }
-
- // 환자 정보 라벨 출력
- if(prtcnt > 0){
- //1. 바코드 라벨 설정값 조회
- var scrnid = "SMMNR00600";
- model.removeNodeset("/root/main/barcdprntsetup");
- model.removenode("/root/send");
- model.makeValue("/root/send/scrnid", scrnid);
- submit("TRLLC90101");
-
- //2. 바코드 라벨 환경설정
- var barcdRef = "/root/main/barcdprntsetup/prntsetupinfo/setupinfo";
- lzzfMakeBrcdPrntObjHanDo("CommAX", barcdRef);
- var portOpenTF = fSetNursBarcdInfo(barcdRef); // CareCom.js 바코드프린터별 환경설정(Zebra,SATO)
- //alert(" pid:"+ pid+" roomcd:"+roomcd+", patnm:"+patnm+", sexage:"+sexage+", rgstno:"+rgstno+", orddd:"+orddd+", prtcnt:"+prtcnt+", portOpenTF :"+portOpenTF)
- //3. 환자라벨출력
- fPrtCarePatNameLabel(barcdRef, pid+" "+roomcd, patnm, sexage, rgstno, orddd, prtcnt, portOpenTF);
- }
-
- grp_prtlabel.attribute("visibility") = "hidden";
-
- model.removenode("/root/temp/prtlabel/rghtflag");
- model.refresh();
- }
- //2010.02.25 dhkim 추가
- function fCancelPrint_SMMNI02020(){
- model.removenode("/root/main/cmpatprtcnt");
- model.makeValue("/root/main/cmpatprtcnt","1");
- grp_prtlabel.attribute("visibility") = "hidden";
- }
-
-
|