12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[
- /*
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- 간호처방 ( SMMNW10900_간호처방.xrw - JScript )
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- */
- var sPATINFO_PATH = "/root/main/patinfocond/patinfo"; //환자정보
- var sLRGSETLIST_PATH = "/root/main/prcplistinfo/anolrgsetinfo/lrgsetlist"; //대분류 그리드
- var sSMLSETLIST_PATH = "/root/main/prcplistinfo/anosmlsetinfo/smlsetlist"; //소분류 그리드
- var sPRCPSETLIST_PATH = "/root/main/prcpset/prcplist"; //간호약속 처방
- var sTEMPPRCPLIST_PATH = "/root/main/tempprcp/prcplist"; //임시처방
- var sBFPRCPLIST_PATH = "/root/main/bfprcp/prcplist"; //전처방
- var sPRCPLIST_PATH = "/root/main/prcp/prcplist"; //간호처방
- var sSIGNDATA_PATH = "/root/main/signdata/signprcplist"; //인증데이터
- var sSIGNTEMPDATA_PATH = "/root/main/signdata/signtempprcplist"; //인증데이터(임시처방)
- var homecarecenterdeptcd, homecareteamdeptcd;
- var signtime = "";
- var vsettime = "";
- var vsetdate = "";
- var spcldept = "";
- /**
- * @desc : 화면 초기화
- * @
- * @param :
- * @return :
- * @author : 성미연
- * @---------------------------------------------------
- */
- function fInit(){
- //간호처방 도움말 기능 칠곡만 보이도록 2013.07.15 KJS
- var sInstcd = sysf_getUserInfo("dutplceinstcd");
- var sDutplcecd = sysf_getUserInfo("dutplcecd");
-
- if (sInstcd == "032" || sDutplcecd == "3050135000") {
- group5.btn_help.visible = true;
- } else {
- group5.btn_help.visible = false;
- }
-
- if (sInstcd == "031" && sDutplcecd == "3050135000") {
- group5.btn_crrt.visible = true;
- } else {
- group5.btn_crrt.visible = false;
- }
-
- var settingnurid=""; //내환자 setting변수
-
- zesf_InitSign(); //인증 모듈 초기화
-
- // 간호하드코딩 테이블 조회_20090416(ByJA)
- //----------(20110118) 경북대
- var pCode = "'003', '047', '048','002','195','207','016','T84','202','I09'"; //마취회복실추가 '046':영상의학과 추가. 'T84':인증저장팝업.
- var machideptcd = "";
- //----------(20110118) 경북대
-
- var pDate = utlf_getCurrentDate(); // 조회기준일자
- fGetNursHardCdInfo(pCode, pDate);
-
- for(var i = 0; i < ds_codelist.rowcount; i++){
- switch (ds_codelist.getColumn(i, "cdgrupid")){
- case "202": //대차여부
- cartcd = ds_codelist.getColumn(i, "cdid");
- break;
- case "047": // 가정간호센터
- homecarecenterdeptcd = ds_codelist.getColumn(i, "cdid");
- break;
- case "048": // 가정간호팀
- homecareteamdeptcd = ds_codelist.getColumn(i, "cdid");
- break;
- case "016": // 마취회복실
- machideptcd = ds_codelist.getColumn(i, "cdid");
- break;
- case "T84":
- signtime = ds_codelist.getColumn(i, "cdid");
- break;
- }
- }
-
- spcldept = ds_codelist.lookup("cdgrupid", '003', "cdid");
-
- if(cartcd != 'Y'){
- /*
- var nLeftCol = -1;
-
- for( var i=0 ; i<group5.grd_prcpposlist.getCellCount("Body"); i++ ){
- if( group5.grd_prcpposlist.getFormatColProperty(i, "band") == "left" ){
- nLeftCol++;
- }
- }
-
- for( var i=nLeftCol ; i>=0 ; i-- ){
- group5.grd_prcpposlist.setFormatColProperty(i, "band", "body");
- }
- */
-
- group5.grd_prcpposlist.setFormatColProperty(group5.grd_prcpposlist.getBindCellIndex("body","drprcpetc10"), "size", 0);
- /*
- for( var i=0 ; i<=nLeftCol ; i++ ){
- group5.grd_prcpposlist.setFormatColProperty(i, "band", "left");
- }
- */
- group5.switch1.case_bf.grd_bfprcplist.setFormatColProperty(group5.switch1.case_bf.grd_bfprcplist.getBindCellIndex("body","drprcpetc10"), "size", 0);
- //group5.switch1.case_bf.grd_bfprcplist.setRealColSize(group5.switch1.case_bf.grd_bfprcplist.getBindCellIndex("body","drprcpetc10"), 0, false);
- }
-
- // 181210_AYS_기왕증 항목 숨김 처리
- if(sInstcd == '031'){
- trace("기왕증 Hidden");
- group5.grd_prcpposlist.setFormatColProperty(group5.grd_prcpposlist.getBindCellIndex("body","anamneflag"), "size", 0);
- group5.switch1.case_bf.grd_bfprcplist.setFormatColProperty(group5.switch1.case_bf.grd_bfprcplist.getBindCellIndex("body","anamneflag"), "size", 0);
- }
-
- ds_main_prcplistinfo_anolrgsetinfo_lrgsetlist.clearData();
- ds_main_prcplistinfo_anosmlsetinfo_smlsetlist.clearData();
- ds_main_prcpset_prcplist.clearData();
- ds_main_tempprcp_prcplist.clearData();
- ds_main_bfprcp_prcplist.clearData();
- ds_main_prcp_prcplist.clearData();
-
- //콤보리스트 셋팅(급비, 처방분류)
- var arrParam = [{dsNm: "ds_init_comcodelist_payflag_cmblist_M0029", cdGrpId: "M0029"},
- {dsNm: "ds_init_comcodelist_clscd_cmblist_M0005", cdGrpId: "M0005"},
- {dsNm: "ds_init_comcodelist_opflag_cmblist_M0007", cdGrpId: "M0007"},
- {dsNm: "ds_init_drgacptflag_P0506", cdGrpId: "P0506"}]
- appf_getCodeList(arrParam);
- frmf_addComboItem("group5.switch1.case_prcp.cmb_listclscd", "전체", "ALL", "above");
- ds_main_srchcond.setColumn(0, "srchclscd", "ALL");
- ds_main_bfprcpinfo_bfcond.setColumn(0, "srchclscd", "ALL");
- ds_main_tempprcpinfo_tempcond.setColumn(0, "srchclscd", "ALL");
-
- //초기 셋팅값
- ds_main_cond.setColumn(0, "prcpdd", utlf_getCurrentDate()); //처방일
- ds_main_bfprcpinfo_bfcond.setColumn(0, "prcpfromdd", ds_main_cond.getColumn(0, "prcpdd").toDate().getAddDate(-7, "D").getDateFormat()); //전처방
- ds_main_bfprcpinfo_bfcond.setColumn(0, "prcptodd", ds_main_cond.getColumn(0, "prcpdd"));
- //설정된 상단정보를 불러옴
- ds_main_paminfo.clearData();
- var node = sysf_getGlobalVariable("paminfo");
- dsf_setCSVToDs("ds_main_paminfo", node);
-
- if( utlf_isNull(ds_main_paminfo.getColumnInfo("sectioncd")) ){
- ds_main_paminfo.addColumn("sectioncd", "string");
- ds_main_paminfo.setColumn(0, "sectioncd", ds_main_paminfo.getColumn(0, "basetypecd"));
- }
-
- if(!utlf_isNull(ds_main_paminfo.getColumn(0,"pid"))){ //상단정보에 환자가 셋팅되어 있을 경우
- dsf_makeValue(ds_main_cond,"upinfoyn" , "string", "Y");
- //patinfo 정보 셋팅
- if (ds_main_paminfo.getColumn(0,"ioflag") == 'O') {
- var centcd = ds_main_paminfo.getColumn(0,"centcd");
-
- if( centcd == "-" || utlf_isNull(centcd) ) {
- ds_main_cond.setColumn(0, "wardcd", ds_main_paminfo.getColumn(0,"orddeptcd") );
- } else {
- ds_main_cond.setColumn(0, "wardcd", centcd );
- }
- ds_main_patinfocond_patinfo.setColumn(0, "wardcd", ds_main_paminfo.getColumn(0, "orddeptcd"));
- ds_main_patinfocond_patinfo.setColumn(0, "orddd", ds_main_paminfo.getColumn(0, "orddd"));
- ds_main_patinfocond_patinfo.setColumn(0, "acptseqno", ds_main_paminfo.getColumn(0, "acptseqno"));
- ds_main_patinfocond_patinfo.setColumn(0, "orddrid", ds_main_paminfo.getColumn(0, "orddrid"));
- ds_main_patinfocond_patinfo.setColumn(0, "clincstdyflag", ds_main_paminfo.getColumn(0, "clincstdyacptflag"));
- ds_main_patinfocond_patinfo.setColumn(0, "clincstdycd", ds_main_paminfo.getColumn(0, "clincstdyno"));
- ds_main_patinfocond_patinfo.setColumn(0, "dschnotiyn", "N"); // 간호사퇴원확정여부_20080807추가(ByJA)
- ds_main_patinfocond_patinfo.setColumn(0, "careinrmyn", "Y"); // 입실확인여부 체크 외래는 비교대상이 아니므로 무조건 Y 20090908 khj
-
- } else {
- ds_main_cond.setColumn(0, "wardcd", ds_main_paminfo.getColumn(0, "wardcd"));
- ds_main_patinfocond_patinfo.setColumn(0, "wardcd", ds_main_paminfo.getColumn(0, "wardcd"));
- ds_main_patinfocond_patinfo.setColumn(0, "roomcd", ds_main_paminfo.getColumn(0, "roomcd"));
- ds_main_patinfocond_patinfo.setColumn(0, "indd", ds_main_paminfo.getColumn(0, "indd"));
- ds_main_patinfocond_patinfo.setColumn(0, "orddrid", ds_main_paminfo.getColumn(0, "medispclid"));
- ds_main_patinfocond_patinfo.setColumn(0, "clincstdyflag", ds_main_paminfo.getColumn(0, "clincstdyyn"));
- ds_main_patinfocond_patinfo.setColumn(0, "clincstdycd", ds_main_paminfo.getColumn(0, "clincstdycd"));
- ds_main_patinfocond_patinfo.setColumn(0, "dschnotiyn", ds_main_paminfo.getColumn(0, "dschnotiyn")); // 간호사퇴원확정여부_20080807추가(ByJA)
-
- if ( ds_main_paminfo.getColumn(0, "ioflag") == 'E' && ds_main_paminfo.getColumn(0, "calcdd") != '-' ){
- dsf_makeValue(ds_main_patinfocond_patinfo,"careinrmyn" , "string", 'Y');// 입실확인여부 체크 20090908 khj
- } else if ( ds_main_paminfo.getColumn(0, "ioflag") != 'E' && ds_main_paminfo.getColumn(0, "careinrmdd") != '-' ){
- dsf_makeValue(ds_main_patinfocond_patinfo,"careinrmyn" , "string", 'Y');// 입실확인여부 체크 20090908 khj
- } else {
- dsf_makeValue(ds_main_patinfocond_patinfo,"careinrmyn" , "string", 'N');// 입실확인여부 체크 20090908 khj
- }
- }
-
- ds_main_patinfocond_patinfo.setColumn(0, "pid" , ds_main_paminfo.getColumn(0, "pid") );
- ds_main_patinfocond_patinfo.setColumn(0, "patnm" , ds_main_paminfo.getColumn(0, "hngnm") );
- ds_main_patinfocond_patinfo.setColumn(0, "cretno" , ds_main_paminfo.getColumn(0, "cretno") );
- ds_main_patinfocond_patinfo.setColumn(0, "orddeptcd", ds_main_paminfo.getColumn(0, "orddeptcd") );
- ds_main_patinfocond_patinfo.setColumn(0, "ordtype" , ds_main_paminfo.getColumn(0, "ioflag") );
- ds_main_patinfocond_patinfo.setColumn(0, "sexage" , ds_main_paminfo.getColumn(0, "sex") + "/" + ds_main_paminfo.getColumn(0, "age") );
- ds_main_patinfocond_patinfo.setColumn(0, "insukind" , ds_main_paminfo.getColumn(0, "insukind") );
- ds_main_patinfocond_patinfo.setColumn(0, "specordyn", ds_main_paminfo.getColumn(0, "specordyn") );
- ds_main_patinfocond_patinfo.setColumn(0, "instcd" , ds_main_paminfo.getColumn(0, "instcd") );
- ////20110828_KNUH_Start 내환자setting정보 조회.
- fGetSettringInfoRef();
-
- //내환자셋팅정보가 있으면 set,없으면 그냥 null
- settingnurid = ds_init_settinginfo_settingrn.lookup("settingrnid", sysf_getUserInfo("userid"), "settingrnid");
-
- if( utlf_isNull(settingnurid) ) {
-
- } else {
- ds_main_cond.setColumn(0, "settingrnid", sysf_getUserInfo("userid"));
- }
- //20110828_KNUH_End
- } else {
-
- ds_main_cond.setColumn(0, "wardcd", sysf_getUserInfo("dutplcecd")); //상단정보가 없을 경우 간호사 소속부서
-
- //20110828_KNUH_Start 환자setting정보 조회
- fGetSettringInfoRef();
-
- settingnurid = ds_init_settinginfo_settingrn.lookup("settingrnid", sysf_getUserInfo("userid"), "settingrnid");
-
-
- //내환자셋팅정보가 있으면 set,없으면 그냥 null
- if( utlf_isNull(settingnurid) ) {
-
- } else {
- ds_main_cond.setColumn(0, "settingrnid", sysf_getUserInfo("userid"));
- }
- //20110828_KNUH_End
- }
-
- //부서콤보 조회
- dsf_createDs("ds_DeptListInfo");
-
- var oParam = {};
- oParam.id = "TRMNW11001";
- oParam.service = "wardorderapp.NursPrcpMngt";
- oParam.method = "reqGetDeptListInfo";
- oParam.inds = "req=ds_DeptListInfo";
- oParam.outds = "ds_init_deptinfo_deptlist=deptlist";
- oParam.async = false;
- tranf_submit(oParam);
- if( group5.rdo_poscd.value == "1" ){
- group5.cmb_userpos.index = -1;
- }
-
- if(frmf_getMenuParam() == "SMMNH" || opener.frmf_getParameter("screenParam") == "SMMNH"){
- ds_main_cond.setColumn(0, "homecareyn", "Y");
- }
- //20110215 이선경 : 경북대 - 응급실일 경우 구역정보를 조회
- fGetZoneList();
- fnZoneDisp();
- fRoomInfoRef("init"); //해당병동의 해당병실조회
-
- if( utlf_isNull(settingnurid) ) {
- group5.grp_sea.cmb_room.enable = true;
- } else {
- group5.grp_sea.cmb_room.enable = false;
- fPatInfoRef("I");
- }
-
- group5.cmb_userpos.enable = false;
-
- fChkClincstdy(); //임상연구 체크 20100727 환자정보 최종 카피되고 나서 세팅해야하므로 위치 옮기면 안됌.
- //가정간호처방일 경우 방문일자 셋팅
- if(frmf_getMenuParam() == "SMMNH" || opener.frmf_getParameter("screenParam") == "SMMNH"){
- ds_main_prcpposinfo_cond.setColumn(0, "poscd", "2"); // 처방위치_2:User위치
- ds_main_prcpposinfo_cond.setColumn(0, "deptcd", homecarecenterdeptcd); // User위치코드_2361000000:가정간호센터_강남성모,서울성모병원
- if( utlf_isNull(group5.cmb_userpos.text) ){
- ds_main_prcpposinfo_cond.setColumn(0, "deptcd", homecareteamdeptcd); // User위치코드_3090100000:가정간호팀_강남성모,서울성모병원
- }
- group5.cmb_userpos.enable = true;
- fSearchHomePatInfo(); // 방문일자 조회_추가(20090331_ByJA)
- } else if(frmf_getMenuParam() == "SMMND"){ //인공신장일 경우 처방위치 user위치로_20081015(byJA_소경화ITC요청)
- ds_main_prcpposinfo_cond.setColumn(0, "poscd", "2"); // 처방위지_2:User위치
- ds_main_prcpposinfo_cond.setColumn(0, "deptcd", sysf_getUserInfo("dutplcecd")); //소속부서
- group5.cmb_userpos.enable = true;
- } else if(frmf_getMenuParam() == "SMAEA" || opener.frmf_getParameter("screenParam") == "SMAEA"){ //간호기능파트(내시경실, 부정맥검사실, 간크리닉, 기관지경실, 심장초음파실) 경우 처방위치 user위치로_20081208(ByJA)
- ds_main_prcpposinfo_cond.setColumn(0, "poscd", "2"); // 처방위지_2:User위치
- ds_main_prcpposinfo_cond.setColumn(0, "deptcd", sysf_getUserInfo("dutplcecd")); //소속부서
- group5.cmb_userpos.enable = true;
- } else if(machideptcd == sysf_getUserInfo("dutplcecd") ){ //-------------(20110118) 경북대 간호기능파트(마취회복실) 경우 처방위치 user위치
- ds_main_prcpposinfo_cond.setColumn(0, "poscd", "2"); // 처방위지_2:User위치
- ds_main_prcpposinfo_cond.setColumn(0, "deptcd", sysf_getUserInfo("dutplcecd")); //소속부서
- group5.cmb_userpos.enable = true;
- } //-------------(20110118) 경북대
-
- if (ds_main_cond.getColumn(0, "homecareyn") == "Y"){
- group5.cap_visitdd.visible = true;
- group5.cmb_visitdd.visible = true;
-
- group5.grd_prcpposlist.setCellProperty("Head", group5.grd_prcpposlist.getBindCellIndex("body","prcpdelivefact")-2, "text", "방문일자");
- group5.switch1.case_bf.grd_bfprcplist.setCellProperty("Head", group5.grd_prcpposlist.getBindCellIndex("body","prcpdelivefact")-2, "text", "방문일자");
- group5.switch1.case_bf.group4.cmb_bfcond.innerdataset = "ds_init_homebfcondinfo_homebfcond";
- }else{
- group5.cap_visitdd.visible = false;
- group5.cmb_visitdd.visible = false;
- group5.grd_prcpposlist.setCellProperty("Head", group5.grd_prcpposlist.getBindCellIndex("body","prcpdelivefact")-2, "text", "적용일자");
- group5.switch1.case_bf.grd_bfprcplist.setCellProperty("Head", group5.grd_prcpposlist.getBindCellIndex("body","prcpdelivefact")-4, "text", "적용일자");
- group5.switch1.case_bf.group4.cmb_bfcond.innerdataset = "ds_init_bfcondinfo_bfcond";
- }
- //*** 처방목록
- dsf_makeValue(ds_send_reqdata,"comnrefflag", "string", 'Y');
- //set부서콤보 조회(공통 포함)
- var oParam = {};
- oParam.id = "TRMNW10901";
- oParam.service = "wardorderapp.NursPrcpMngt";
- oParam.method = "reqGetDeptListInfo";
- oParam.inds = "req=ds_send_reqdata";
- oParam.outds = "ds_init_setdeptinfo_deptlist=deptlist";
- oParam.async = false;
- tranf_submit(oParam);
- if(frmf_getMenuParam() == "SMMNH" || opener.frmf_getParameter("screenParam") == "SMMNH"){
-
- ds_main_prcplistinfo_setcond.setColumn(0, "settrgtcd", homecarecenterdeptcd); // User위치코드_2361000000:가정간호센터_강남성모,서울성모병원
- if( utlf_isNull(group5.switch1.case_prcp.cmb_dept.text) ){
- ds_main_prcplistinfo_setcond.setColumn(0, "settrgtcd", homecareteamdeptcd); // User위치코드_3090100000:가정간호팀_강남성모,서울성모병원
- }
- }else{
- ds_main_prcplistinfo_setcond.setColumn(0, "settrgtcd", sysf_getUserInfo("dutplcecd")); //소속부서
- }
- if ( utlf_isNull(ds_init_deptinfo_deptlist.lookup("deptcd", ds_main_prcplistinfo_setcond.getColumn(0, "settrgtcd"), "deptcd")) ) {
- ds_main_prcplistinfo_setcond.setColumn(0, "settrgtcd", 'ALL'); //소속부서 없을 경우 공통으로 셋팅
- }
- ds_main_prcplistinfo_setcond.setColumn(0, "setclscd", 'W');
- ds_main_prcplistinfo_setcond.setColumn(0, "settypecd", 'P');
- ds_main_prcplistinfo_setcond.setColumn(0, "setkindcd", 'D');
- fLrgSetRef(); //대분류 set조회
- //this.setTimer(0, 1);
- var pid = ds_main_cond.getColumn(0, "pid");
-
- if( !utlf_isNull(pid) ){
- fprtlnm(pid);
- }
- }
- /**
- * @desc : 부서조건에 따른 병실 조회
- * @
- * @param :initflag ="init" 초기화
- * @return :
- * @author : 성미연
- * @---------------------------------------------------
- */
- function fRoomInfoRef(initflag) {
- if( !utlf_isNull(ds_init_roominfo_room.getColumnInfo("roomcd")) ){
- ds_init_roominfo_room.updatecontrol = false;
- ds_init_roominfo_room.deleteColumn("roomcd");
- ds_init_roominfo_room.updatecontrol = true;
- }
-
- ds_main_cond.setColumn(0, "patnm", "");
- ds_main_cond.setColumn(0, "pid", "");
-
- ds_main_prcp_prcplist.clearData();
- ds_main_tempprcp_prcplist.clearData();
- ds_main_bfprcp_prcplist.clearData();
-
- var settingrnid = ds_main_cond.getColumn(0, "settingrnid");
-
- var deptflag = ds_init_deptinfo_deptlist.lookup("deptcd", ds_main_cond.getColumn(0, "wardcd") , "deptflag");
- if (deptflag == 'I') { //해당병동의 해당병실조회
- group5.grp_sea.cmb_room.enable = true;
- ds_send_reqdata.clearData();
- dsf_makeValue(ds_send_reqdata,"wardcd","string", ds_main_cond.getColumn(0, "wardcd") );
- dsf_makeValue(ds_send_reqdata,"settingrnid","string", ds_main_cond.getColumn(0, "settingrnid") );
-
- var oParam = {};
- oParam.id = "TRMNW10902";
- oParam.service = "wardorderapp.NursPrcpMngt";
- oParam.method = "reqGetWardRoomInfo";
- oParam.inds = "reqCond=ds_send_reqdata";
- oParam.outds = "ds_init_roominfo_room=room";
- oParam.async = false;
- oParam.callback = "cf_TRMNW10902";
- tranf_submit(oParam);
-
- if(arErrorCode.pop("TRMNW10902") > -1){
- if (ds_main_cond.getColumn(0, "upinfoyn") == "Y") { //상단정보에 환자가 셋팅되어 있을 경우
-
- //20110828_KNUH_Start
- if( utlf_isNull(settingrnid) ) {
- ds_main_cond.setColumn(0, "roomcd", ds_main_paminfo.getColumn(0, "roomcd"));
- } else {
- ds_main_cond.setColumn(0, "roomcd", "-");
- }
- //20110828_KNUH_End
- fPatInfoRef("I",initflag);
- } else {
- ds_main_cond.setColumn(0, "roomcd", "-");
- ds_init_patinfo_patlist.clearData();
- }
- }
- } else { //외래과 환자 조회
- group5.grp_sea.cmb_room.enable = false;
- fPatInfoRef("O", initflag);//병동은 상관없고 외래인경우 내시경실의 경우 상단정보대로 처방발생20100409 변경협의체결과 나오기전까지 임시 khj ->16040 요청번호에 의해 당일수진에만 처방발생하도록 함. 20100715 김홍점
- }
- }
- //20110828_KNUH_Start 환자setting정보 조회
- function fGetSettringInfoRef() {
- dsf_makeValue(ds_send_reqdata,"wardcd" , "string", ds_main_cond.getColumn(0, "wardcd"));
- var oParam = {};
- oParam.id = "TRMNW10910";
- oParam.service = "wardcareapp.WardCareMngt";
- oParam.method = "reqGetSettingRnList";
- oParam.inds = "req=ds_send_reqdata";
- oParam.outds = "ds_init_settinginfo_settingrn=settingrn";
- oParam.async = false;
- tranf_submit(oParam);
- ds_main_cond.setColumn(0, "settingrnid", ds_init_settinginfo_settingrn.getColumn(0, "settingrnid"));
- }
- /**
- * @desc : 병실별 환자리스트 조회, 부서별 환자리스트 조회
- * @
- * @param :
- * @return :
- * @author : 성미연
- * @---------------------------------------------------
- */
- function fPatInfoRef(deptflag, initflag) {
-
- var settingnurid="";
-
- settingnurid = ds_main_cond.getColumn(0, "settingrnid");
-
- ds_main_cond.setColumn(0, "pid", "");
- ds_main_cond.setColumn(0, "patnm", "");
-
- ds_main_prcp_prcplist.clearData();
- ds_main_tempprcp_prcplist.clearData();
- ds_main_bfprcp_prcplist.clearData();
-
- ds_send_reqdata.clearData();
- dsf_makeValue(ds_send_reqdata,"orddd","string", ds_main_cond.getColumn(0, "prcpdd"));
- dsf_makeValue(ds_send_reqdata,"wardcd","string", ds_main_cond.getColumn(0, "wardcd"));
-
- var centcd = ds_main_paminfo.getColumn(0, "centcd");
-
- if(centcd != "-" && !utlf_isNull(centcd) ) {
- dsf_makeValue(ds_send_reqdata,"centflag","string", "Y");
- }
-
- dsf_makeValue(ds_send_reqdata,"settingrnid","string", ds_main_cond.getColumn(0, "settingrnid"));
-
- if (deptflag == "I") { //병실별 환자조회
-
- //20110828_KNUH_Start
- if( utlf_isNull(settingnurid) ) {
- dsf_makeValue(ds_send_reqdata,"roomcd","string", ds_main_cond.getColumn(0, "roomcd"));
- } else {
- dsf_makeValue(ds_send_reqdata,"roomcd","string", "-");
- }
- //20110828_KNUH_End
-
- dsf_makeValue(ds_send_reqdata,"refflag","string", "room");
- dsf_makeValue(ds_send_reqdata,"ordtype","string", "I");
- dsf_makeValue(ds_send_reqdata,"zonecd","string", ds_main_cond.getColumn(0, "zonecd"));
- dsf_makeValue(ds_send_reqdata,"settingrnid","string", ds_main_cond.getColumn(0, "settingrnid"));
-
- } else { //외래부서 환자조회
- dsf_makeValue(ds_send_reqdata,"refflag","string", "dept");
- dsf_makeValue(ds_send_reqdata,"ordtype","string", "O");
- dsf_makeValue(ds_send_reqdata,"homecareyn","string", ds_main_cond.getColumn(0, "homecareyn"));
- }
-
- if(spcldept == ds_main_cond.getColumn(0, "wardcd") ) {
- dsf_makeValue(ds_send_reqdata,"spcldeptyn","string", "Y");
- } else {
- dsf_makeValue(ds_send_reqdata,"spcldeptyn","string", "");
- }
-
- var oParam = {};
- oParam.id = "TRMNW10903";
- oParam.service = "wardorderapp.NursPrcpMngt";
- oParam.method = "reqGetRoomPatList";
- oParam.inds = "reqCond=ds_send_reqdata";
- oParam.outds = "ds_init_patinfo_patlist=patlist";
- oParam.async = false;
- oParam.callback = "cf_TRMNW10903";
- tranf_submit(oParam);
-
- if( utlf_isNull(ds_init_patinfo_patlist.getColumnInfo("userkindcd", "string")) ){
- ds_init_patinfo_patlist.addColumn("userkindcd", "string");
- }
-
- if( !utlf_isNull(ds_init_patinfo_patlist.getColumnInfo("acptseqno")) && !utlf_isNull(ds_init_patinfo_patlist.getColumnInfo("cretno")) ){
- dsf_setTypeFormat(ds_init_patinfo_patlist, "acptseqno:INT^cretno:INT");
- }
-
- if(arErrorCode.pop("TRMNW10903") > -1){
- if (ds_main_cond.getColumn(0, "upinfoyn") == "Y") { //상단정보에 환자가 셋팅되어 있을 경우
-
- ds_main_cond.setColumn(0, "patnm", ds_main_paminfo.getColumn(0, "pid"));
- ds_main_cond.setColumn(0, "pid", ds_main_paminfo.getColumn(0, "pid"));
-
- //가정간호 환자인 경우 방문일자 조회
- if(ds_main_cond.getColumn(0, "homecareyn") == "Y") {
- fSearchHomePatInfo();
- }
-
- } else {
- ds_main_cond.setColumn(0, "patnm", "");
- ds_main_cond.setColumn(0, "pid", "");
- }
- }
-
- var pid= ds_main_cond.getColumn(0, "pid");
- //병동은 상관없고 외래인경우 내시경실의 경우 상단정보대로 처방발생20100409 변경협의체결과 나오기전까지 임시 khj
- //->16040 요청번호에 의해 당일수진에만 처방발생하도록 함. 20100715 김홍점
- if ( initflag == "init" && deptflag == "I"){////병동은 퇴원환자도 전처방은 조회되어야 함.
- if ( !utlf_isNull(ds_init_patinfo_patlist.lookup("pid", pid, "pid"))) {
- //환자정보조건 셋팅
- ds_main_patinfocond_patinfo.clearData();
- var cnt = ds_main_patinfocond_patinfo.rowcount;
- if(cnt==0){
- dsf_copyColInfo(ds_main_patinfocond_patinfo, ds_init_patinfo_patlist);
- }
- ds_main_patinfocond_patinfo.addRow();
- var irow1 = ds_init_patinfo_patlist.findRow("pid", pid);
- ds_main_patinfocond_patinfo.copyRow(cnt,ds_init_patinfo_patlist,irow1);
- }
- fReqBfNursPrcpInfo(); //전처방 조회
- fReqTempNursPrcpInfo(); //임시처방 조회
- }else{
- fChgPatnm(deptflag, ds_main_cond.getColumn(0, "prcpdd"),initflag);
- }
- }
- /**
- * @desc : 환자아이디로 해당부서, 병실, 환자명 조회
- * @
- * @param :
- * @return :
- * @author : 성미연
- * @---------------------------------------------------
- */
- function fSearchPatInfo(keycode) {
- if( keycode == "13"){
- //model.setFocus("btn_ref");
-
- //그리드 초기화
- ds_main_prcp_prcplist.clearData();
- ds_main_tempprcp_prcplist.clearData();
- ds_main_bfprcp_prcplist.clearData();
-
- //환자아이디로 현재 상태 조회
- var pid = ds_main_cond.getColumn(0, "pid");
- ds_send_reqdata.clearData();
- dsf_makeValue(ds_send_reqdata, "orddd", "string", ds_main_cond.getColumn(0, "prcpdd"));
- dsf_makeValue(ds_send_reqdata, "pid", "string", ds_main_cond.getColumn(0, "pid"));
- dsf_makeValue(ds_send_reqdata, "refflag", "string", "pat");
- dsf_makeValue(ds_send_reqdata, "homecareyn", "string", ds_main_cond.getColumn(0, "homecareyn"));
-
- var oParam = {};
- oParam.id = "TRMNW10904";
- oParam.service = "wardorderapp.NursPrcpMngt";
- oParam.method = "reqGetIndPatInfo";
- oParam.inds = "reqCond=ds_send_reqdata";
- oParam.outds = "ds_main_patinfocond_patinfo=patinfo";
- oParam.async = false;
- oParam.callback = "cf_TRMNW10904";
- tranf_submit(oParam);
-
- if( utlf_isNull(ds_main_patinfocond_patinfo.getColumnInfo("userkindcd")) ){
- ds_main_patinfocond_patinfo.addColumn("userkindcd", "string");
- }
-
- if( !utlf_isNull(ds_main_patinfocond_patinfo.getColumnInfo("acptseqno")) && !utlf_isNull(ds_main_patinfocond_patinfo.getColumnInfo("cretno")) ){
- dsf_setTypeFormat(ds_main_patinfocond_patinfo, "acptseqno:INT^cretno:INT");
- }
-
- if(arErrorCode.pop("TRMNW10904") > -1){
- if (ds_main_patinfocond_patinfo.getColumn(0, "wardcd") == 'err') {
- sysf_messageBox("해당 환자 정보가 존재하지 않습니다.", "I");
- ds_main_cond.setColumn(0, "patnm", ds_init_patinfo_patlist.getColumn(0, "pid"));
- group5.grp_sea.ipt_pid.setFocus();
- return;
-
- } else {
- group5.btn_signsave.enable = true;
- //해당 부서 셋팅
- if (ds_main_patinfocond_patinfo.rowcount > 1 ) {
- var objArg = new Object();
- objArg.arg_ds_main_patinfocond_patinfo = ds_main_patinfocond_patinfo;
- frmf_modal("SPMNW11800", "SPMNW11800", objArg ,"",1, 100, 100, "","","","","","M");
- }
- ds_main_cond.setColumn(0, "wardcd", ds_main_patinfocond_patinfo.getColumn(0, "wardcd"));
-
- if (ds_main_patinfocond_patinfo.getColumn(0, "ordtype") == 'I' || ds_main_patinfocond_patinfo.getColumn(0, "ordtype") == 'D' || ds_main_patinfocond_patinfo.getColumn(0, "ordtype") == 'E') {
- group5.grp_sea.cmb_room.enable = true;
-
- //해당 병동의 병실 조회
- ds_send_reqdata.clearData();
- dsf_makeValue(ds_send_reqdata, "wardcd", "string", ds_main_cond.getColumn(0, "wardcd"));
- var oParam = {};
- oParam.id = "TRMNW10902";
- oParam.service = "wardorderapp.NursPrcpMngt";
- oParam.method = "reqGetWardRoomInfo";
- oParam.inds = "reqCond=ds_send_reqdata";
- oParam.outds = "ds_init_roominfo_room=room";
- oParam.async = false;
- tranf_submit(oParam);
-
- ds_main_cond.setColumn(0, "roomcd", ds_main_patinfocond_patinfo.getColumn(0, "roomcd")); //해당 병실 셋팅
-
- //해당 병실의 환자 조회
- ds_send_reqdata.clearData();
- dsf_makeValue(ds_send_reqdata, "orddd", "string", ds_main_cond.getColumn(0, "prcpdd"));
- dsf_makeValue(ds_send_reqdata, "wardcd", "string", ds_main_cond.getColumn(0, "wardcd"));
- dsf_makeValue(ds_send_reqdata, "roomcd", "string", ds_main_cond.getColumn(0, "roomcd"));
- dsf_makeValue(ds_send_reqdata, "refflag", "string", "room");
- dsf_makeValue(ds_send_reqdata, "ordtype", "string", "I");
- dsf_makeValue(ds_send_reqdata, "settingrnid", "string", ds_main_cond.getColumn(0, "settingrnid"));
-
- if(spcldept == ds_main_cond.getColumn(0, "wardcd")) {
- dsf_makeValue(ds_send_reqdata, "spcldeptyn", "string", "Y");
- } else {
- dsf_makeValue(ds_send_reqdata, "spcldeptyn", "string", "");
- }
- var oParam = {};
- oParam.id = "TRMNW10903";
- oParam.service = "wardorderapp.NursPrcpMngt";
- oParam.method = "reqGetRoomPatList";
- oParam.inds = "reqCond=ds_send_reqdata";
- oParam.outds = "ds_init_patinfo_patlist=patlist";
- oParam.async = false;
- tranf_submit(oParam);
-
- if( utlf_isNull(ds_init_patinfo_patlist.getColumnInfo("userkindcd", "string")) ){
- ds_init_patinfo_patlist.addColumn("userkindcd", "string");
- }
-
- //20110216 경북대 : 응급실 구역 매핑
- dsf_makeValue(ds_main_cond, "zonecd", "string", ds_main_patinfocond_patinfo.getColumn(0, "zonecd"));
-
- } else {
- ds_init_roominfo_room.updatecontrol = false;
- ds_init_roominfo_room.deleteColumn("roomcd");
- ds_init_roominfo_room.updatecontrol = true;
-
- group5.grp_sea.cmb_room.enable = false;
-
- //해당 부서(진료과)의 환자 조회
- ds_send_reqdata.clearData();
- dsf_makeValue(ds_send_reqdata, "orddd", "string", ds_main_cond.getColumn(0, "prcpdd"));
- dsf_makeValue(ds_send_reqdata, "wardcd", "string", ds_main_cond.getColumn(0, "wardcd"));
- dsf_makeValue(ds_send_reqdata, "refflag", "string", "dept");
- dsf_makeValue(ds_send_reqdata, "ordtype", "string", "O");
- dsf_makeValue(ds_send_reqdata, "homecareyn", "string", ds_main_cond.getColumn(0, "homecareyn"));
-
-
- if(spcldept == ds_main_cond.getColumn(0, "wardcd") ) {
- dsf_makeValue(ds_send_reqdata, "spcldeptyn", "string", "Y");
- } else {
- dsf_makeValue(ds_send_reqdata, "spcldeptyn", "string", "");
- }
-
- var oParam = {};
- oParam.id = "TRMNW10903";
- oParam.service = "wardorderapp.NursPrcpMngt";
- oParam.method = "reqGetRoomPatList";
- oParam.inds = "reqCond=ds_send_reqdata";
- oParam.outds = "ds_init_patinfo_patlist=patlist";
- oParam.async = false;
- tranf_submit(oParam);
-
- if( utlf_isNull(ds_init_patinfo_patlist.getColumnInfo("userkindcd", "string")) ){
- ds_init_patinfo_patlist.addColumn("userkindcd", "string");
- }
-
- //가정간호 환자인 경우 방문일자 조회
- if(ds_main_cond.getColumn(0, "homecareyn") == "Y") {
- fSearchHomePatInfo();
- }
- }
- //환자정보조건 셋팅
- ds_main_patinfocond_patinfo.clearData();
-
- var cnt = ds_main_patinfocond_patinfo.rowcount;
- if(cnt==0){
- dsf_copyColInfo(ds_main_patinfocond_patinfo, ds_init_patinfo_patlist);
- }
- ds_main_patinfocond_patinfo.addRow();
- var irow3 = ds_init_patinfo_patlist.findRow("pid", pid);
- ds_main_patinfocond_patinfo.copyRow(cnt,ds_init_patinfo_patlist,irow3);
-
- ds_main_cond.setColumn(0, "patnm", ds_main_patinfocond_patinfo.getColumn(0, "pid")); //해당 환자명 셋
-
-
- fChkClincstdy(); //임상연구 체크
- fReqBfNursPrcpInfo(); //전처방 조회
- fReqTempNursPrcpInfo(); //임시처방 조회
- }
- }
- }
- }
- /**
- * @desc : 조회조건 환자명 변경시
- * @
- * @param :
- * @return :
- * @author : 성미연
- * @---------------------------------------------------
- */
- function fChgPatnm(deptflag, prcpdd, initflag) {
- group5.btn_signsave.enable = true;
-
- ds_main_prcpset_prcplist.clearData(); //SET처방 조회하는 시점에 spynpy1를 조회하기 위한 insukind를 넘겨줘야 함(환자별로 다름)
- ds_main_prcp_prcplist.clearData();
- var pid = ds_main_cond.getColumn(0, "patnm");
- ds_main_cond.setColumn(0, "pid", pid);
-
- if ( utlf_isNull(ds_init_patinfo_patlist.lookup("pid", pid, "pid"))) {
-
- if (initflag =="init"
- && deptflag == "O"
- && ds_main_patinfocond_patinfo.getColumn(0, "orddd") != prcpdd
- && ds_main_cond.getColumn(0, "upinfoyn") =="Y" ) { //화면오픈시 외래수진일자와 처방일자가 다를경우 블러킹메시지.20100727 김홍점 김숙인itc요청
-
- sysf_messageBox("진료일["+ds_main_patinfocond_patinfo.getColumn(0, "orddd")+"]과 처방일자가 달라 처방발행이 불가능합니다", "I");
- group5.btn_signsave.enable = false;
- if ( !utlf_isNull(ds_main_cond.getColumn(0, "patnm")) ) {
- fReqBfNursPrcpInfo(); //전처방 조회
- fReqTempNursPrcpInfo(); //임시처방 조회
- }
- return;
- }else {
- ds_main_cond.setColumn(0, "pid", "");
- }
- }
-
- if (ds_init_patinfo_patlist.lookup("pid", pid, "elbulbodstat") == '0') { //M0062 전광판상태
- sysf_messageBox("해당 과에 간호접수되지 않은 환자입니다.", "I");
- }
- //환자정보조건 셋팅//ds_main_patinfocond_patinfo
- ds_main_patinfocond_patinfo.clearData();
- var cnt = ds_main_patinfocond_patinfo.rowcount;
- if(cnt==0){
- dsf_copyColInfo(ds_main_patinfocond_patinfo, ds_init_patinfo_patlist);
- }
- ds_main_patinfocond_patinfo.addRow();
- var irow2 = ds_init_patinfo_patlist.findRow("pid", pid);
- ds_main_patinfocond_patinfo.copyRow(cnt,ds_init_patinfo_patlist,irow2);
-
- //가정간호 환자인 경우 방문일자 조회
- if(ds_main_cond.getColumn(0, "homecareyn") == "Y") {
- fSearchHomePatInfo();
- }
- fChkClincstdy(); //임상연구 체크
- if ( !utlf_isNull(ds_main_cond.getColumn(0, "patnm")) && !utlf_isNull(ds_main_cond.getColumn(0, "pid")) ) {
- fReqBfNursPrcpInfo(); //전처방 조회
- fReqTempNursPrcpInfo(); //임시처방 조회
- }
-
- // 항암프로토콜명 조회
- if( !utlf_isNull(pid) ){
- fprtlnm(pid);
- }
- }
-
-
- /**
- * @desc : 가정간호 환자의 소속 정보 조회(방문일자 포함)
- * @
- * @param :
- * @return :
- * @author : 성미연
- * @---------------------------------------------------
- */
- function fSearchHomePatInfo() {
- //해당 환자의 방문일자 조회 : 방문일자에 따라 원무정보가 달라짐
- ds_send_reqdata.clearData();
- dsf_makeValue(ds_send_reqdata,"pid","string", ds_main_cond.getColumn(0, "pid"));
-
- var oParam = {};
- oParam.id = "TRMNW10909";
- oParam.service = "wardorderapp.NursPrcpMngt";
- oParam.method = "reqGetHomeCarePatInfo";
- oParam.inds = "reqCond=ds_send_reqdata";
- oParam.outds = "ds_init_homepatinfo_patlist=patlist";
- oParam.async = false;
- tranf_submit(oParam);
- if( !utlf_isNull(ds_init_homepatinfo_patlist.getColumnInfo("acptseqno")) && !utlf_isNull(ds_init_homepatinfo_patlist.getColumnInfo("cretno")) ){
- dsf_setTypeFormat(ds_init_homepatinfo_patlist, "acptseqno:INT^cretno:INT");
- }
- }
- /**
- * @desc : 방문일자 변경시 환자정보 셋팅
- * @
- * @param :
- * @return :
- * @author : 성미연
- * @---------------------------------------------------
- */
- function fChgVisitDD() {
- var visitdd =ds_main_cond.getColumn(0, "visitdd");
- var prcpvisitdd = ds_main_prcp_prcplist.getColumn(0, "prcpdelivefact");
-
- if( !utlf_isNull(prcpvisitdd) ){
- if(visitdd != prcpvisitdd){
- sysf_messageBox("방문일이 동일한 처방에 대해서만 일괄 저장이 가능합니다.", "C");
- ds_main_cond.setColumn(0 ,"visitdd", prcpvisitdd);
- return;
- }
- }
- }
- /**
- * @desc : 환자에 따른 임상연구 체크
- * @
- * @param :
- * @return :
- * @author : 성미연
- * @---------------------------------------------------
- */
- function fChkClincstdy() {
- //clincstdyacptflag : otpt(N:임상시험접수아님, P:사람임상 A:동물임상), inpt(임상연구여부)
-
- if( !utlf_isNull(ds_main_patinfocond_patinfo.getColumn(0, "clincstdyflag"))
- && ds_main_patinfocond_patinfo.getColumn(0, "clincstdyflag") != "N"){
- group5.grp_sea.chk_clincstdy.enable = true;
- ds_main_cond.setColumn(0, "clincstdyflag", "N");
- }else{
- group5.grp_sea.chk_clincstdy.enable = false;
- ds_main_cond.setColumn(0, "clincstdyflag", "N");
- }
- }
-
- /**
- * @desc : 대분류 SET 조회
- * @
- * @param :
- * @return :
- * @author : 성미연
- * @---------------------------------------------------
- */
- function fLrgSetRef() {
- if ( !utlf_isNull(ds_main_prcplistinfo_setcond.getColumn(0, "settrgtcd")) ) {
- if (ds_main_prcplistinfo_setcond.getColumn(0, "settrgtcd") == 'ALL') { //공통일 경우
- ds_main_prcplistinfo_setcond.setColumn(0, "setclscd", 'N');
-
- } else { //부서일 경우
- ds_main_prcplistinfo_setcond.setColumn(0, "setclscd", 'W');
- }
-
- ds_send_reqdata.clearData();
- ds_send_reqdata.copyData(ds_main_prcplistinfo_setcond);
- dsf_makeValue(ds_send_reqdata,"clsflag", "string", 'lrg');
-
- //대분류명 조회
- var oParam = {};
- oParam.id = "TRMNW11601";
- oParam.service = "wardorderapp.NursPrcpMngt";
- oParam.method = "reqGetLrgSetInfo";
- oParam.inds = "req=ds_send_reqdata";
- oParam.outds = "ds_main_prcplistinfo_anolrgsetinfo_lrgsetlist=lrgsetlist";
- oParam.async = false;
- tranf_submit(oParam);
-
- ds_main_prcplistinfo_anolrgsetinfo_lrgsetlist.rowposition = -1;
-
- if( !utlf_isNull(ds_main_prcplistinfo_anolrgsetinfo_lrgsetlist.getColumnInfo("setno")) &&
- !utlf_isNull(ds_main_prcplistinfo_anolrgsetinfo_lrgsetlist.getColumnInfo("supsetno")) &&
- !utlf_isNull(ds_main_prcplistinfo_anolrgsetinfo_lrgsetlist.getColumnInfo("setrefseq")) ){
-
- dsf_setTypeFormat(ds_main_prcplistinfo_anolrgsetinfo_lrgsetlist, "setno:INT^supsetno:INT^setrefseq:INT");
- }
- dsf_setFixVal(ds_main_prcplistinfo_anolrgsetinfo_lrgsetlist, "flag:false");
- ds_main_prcplistinfo_anosmlsetinfo_smlsetlist.clearData();
- ds_main_prcpset_prcplist.clearData();
- }
- }
-
- /**
- * @desc : 소분류 SET 조회
- * @
- * @param :
- * @return :
- * @author : 성미연
- * @---------------------------------------------------
- */
- function fSmlSetRef() {
- ds_send_reqdata.clearData();
- ds_send_reqdata.copyData(ds_main_prcplistinfo_setcond);
- dsf_makeValue(ds_send_reqdata,"clsflag", "string" , 'sml');
- dsf_makeValue(ds_send_reqdata,"setno", "string" , ds_main_prcplistinfo_anolrgsetinfo_lrgsetlist.getColumn(ds_main_prcplistinfo_anolrgsetinfo_lrgsetlist.rowposition,"setno"));
- //소분류명 조회
- if( !utlf_isNull(ds_send_reqdata.getColumnInfo("setno")) ){
- dsf_setTypeFormat(ds_send_reqdata, "setno:INT");
- }
- var oParam = {};
- oParam.id = "TRMNW11602";
- oParam.service = "wardorderapp.NursPrcpMngt";
- oParam.method = "reqGetSmlSetInfo";
- oParam.inds = "req=ds_send_reqdata";
- oParam.outds = "ds_main_prcplistinfo_anosmlsetinfo_smlsetlist=smlsetlist";
- oParam.async = false;
- tranf_submit(oParam);
-
- ds_main_prcplistinfo_anosmlsetinfo_smlsetlist.rowposition = -1;
-
- if( !utlf_isNull(ds_main_prcplistinfo_anosmlsetinfo_smlsetlist.getColumnInfo("setno")) &&
- !utlf_isNull(ds_main_prcplistinfo_anosmlsetinfo_smlsetlist.getColumnInfo("supsetno")) &&
- !utlf_isNull(ds_main_prcplistinfo_anosmlsetinfo_smlsetlist.getColumnInfo("setrefseq"))){
-
- dsf_setTypeFormat(ds_main_prcplistinfo_anosmlsetinfo_smlsetlist, "setno:INT^supsetno:INT^setrefseq:INT");
- }
- dsf_setFixVal(ds_main_prcplistinfo_anosmlsetinfo_smlsetlist, "flag:false");
- ds_main_prcpset_prcplist.clearData();
- }
-
- /**
- * @desc : 간호약속처방SET 조회 (처방상세)
- * @
- * @param :
- * @return :
- * @author : 성미연
- : - 오지훈 2007.12.27 수정
- * @---------------------------------------------------
- */
- function fReqNursPrmsSet(){
-
- }
- /**
- * @desc : 보험정보 조회
- * @
- * @param : calcscorcd 수가코드
- * @return :
- * @author : 성미연
- : - 오지훈 2007.12.27 수정
- * @---------------------------------------------------
- */
- function fInsuMsgInfoRef(calcscorcd) {
- ds_send_reqdata.clearData();
- dsf_makeValue(ds_send_reqdata,"calcscorcd", "string", calcscorcd);
-
- var oParam = {};
- oParam.id = "TRMNW10907";
- oParam.service = "wardorderapp.NursPrcpMngt";
- oParam.method = "reqGetInsuMsgInfo";
- oParam.inds = "reqCond=ds_send_reqdata";
- oParam.outds = "ds_main_insumsginfo_insuinfo=insuinfo";
- oParam.async = false;
- tranf_submit(oParam);
- }
- /**
- * @desc : 약품편람 조회
- * @
- * @param :
- * @return :
- * @author : 성미연
- * @---------------------------------------------------
- */
- function fDrugHbook() {
- var prcpclscd = ds_main_prcpset_prcplist.getColumn(ds_main_prcpset_prcplist.rowposition, "prcpclscd");
-
- if("A2" == prcpclscd || "A4" == prcpclscd || "A6" == prcpclscd) {
- dsf_makeValue(ds_temp_setparma,"srchdrugcd", "string", ds_main_prcpset_prcplist.getColumn(ds_main_prcpset_prcplist.rowposition, "prcpcd"));
-
- var objArg = new Object();
- objArg.arg_ds_hidden_receivedata = ds_temp_setparma;
- frmf_modal("SMADB01900", "SMADB01900", objArg ,"",1, 0, 0, "","","","","","M");
- ds_temp_setparma.setColumn(0, "prcpcd", "");
- } else {
- sysf_messageBox("약/주사 처방이 아닙니다.", "I");
- }
- }
- /**
- * @desc : 수가편람 조회
- * @
- * @param :
- * @return :
- * @author : 성미연
- * @---------------------------------------------------
- */
- function fCalcScorHbook(flag) {
-
- var prcpcd;
- ds_main_prcp_prcplist.updatecontrol = false;
- ds_main_prcp_prcplist.enableevent = false;
- if(flag == 'prcp'){
-
- prcpcd = ds_main_prcpset_prcplist.getColumn(ds_main_prcpset_prcplist.rowposition, "prcpcd");
- dsf_makeValue(ds_temp_setparma,"srchdrugcd","string", prcpcd);
-
- var objArg = new Object();
- objArg.arg_ds_temp = ds_temp_setparma;
- frmf_modal("SMPIC00200", "SMPIC00200", objArg ,"","1", "400", "400", "","","","","","M");
- //sysf_trace("111111111111111111111111111111111111");
- //group5.grd_prcpposlist.setCellProperty("Head", group5.grd_prcpposlist.getBindCellIndex("Body","nigtprcpflag")-2, "text", "여기");
- if(prcpcd == ds_temp_picmmech.getColumn(0, "picmmech_calcscorcd") ) {
- if (ds_main_prcpset_prcplist.rowposition > -1 ){
- if ( utlf_isNull(ds_main_cond.getColumn(0, "patnm")) ) {
- sysf_messageBox("해당 환자를", "C002");
- return;
- }
- //처방 main grid로 약속처방 copy //mnwAddNursPrcp(sPRCPSETLIST_PATH, "/root/main/prcp", grd_prcplist.row, "");
- mnwAddNursPrcp(ds_main_prcpset_prcplist, "ds_main_prcp_prcplist", ds_main_prcpset_prcplist.rowposition, "");
-
- if( utlf_isNull(ds_main_prcp_prcplist.getColumnInfo("tempcol8")) ){
- ds_main_prcp_prcplist.addColumn("tempcol8", "string");
- }
-
- var prcplist = ds_main_prcp_prcplist.rowcount;
- fSetNursPrcpDefault(prcplist - 1);
- fSetPrcpInfo();
- //신규처방은 반환컬럼 disable
- /*
- ds_main_prcp_prcplist.addColumn("tempcbg","string");
- var sExprEdittype3 = group5.grd_prcpposlist.getCellProperty("Body", group5.grd_prcpposlist.getBindCellIndex("body","tempcol8"), "edittype").replace("'checkbox'", "")
- + "currow == "+(ds_main_prcp_prcplist.rowcount-1)+" ? 'none' : "
- + "'checkbox'";
- var controlbg = group5.grd_prcpposlist.getCellProperty("Body", group5.grd_prcpposlist.getBindCellIndex("body","tempcol8"), "controlbackground").replace("'')", "");
- controlbg += "currow == "+(ds_main_prcp_prcplist.rowcount-1)+" ? 'silver' : ";
- controlbg += "'')";
- */
-
- ds_main_prcp_prcplist.addColumn("tempet","string");
- ds_main_prcp_prcplist.setColumn((ds_main_prcp_prcplist.rowcount-1), "tempet", 'none');
- //group5.grd_prcpposlist.setCellProperty("Body", group5.grd_prcpposlist.getBindCellIndex("body","tempcol8"), "edittype", sExprEdittype3);
- //group5.grd_prcpposlist.setCellProperty("Body", group5.grd_prcpposlist.getBindCellIndex("body","tempcol8"), "controlbackground" , controlbg);
- ds_main_prcp_prcplist.addColumn("tempcbg","string");
- ds_main_prcp_prcplist.setColumn((ds_main_prcp_prcplist.rowcount-1), "tempcbg", 'silver');
-
- if(ds_main_prcp_prcplist.getColumn(ds_main_prcp_prcplist.rowcount-1, "estmcls")!= "Y"){
- /*
- var sExprEdittype5 = group5.grd_prcpposlist.getCellProperty("Body", group5.grd_prcpposlist.getBindCellIndex("body","nigtprcpflag"), "edittype").replace("'combo'", "")
- + "currow == "+(ds_main_prcp_prcplist.rowcount-1)+" ? 'none' : "
- + "'combo'";
-
- group5.grd_prcpposlist.setCellProperty("Body", group5.grd_prcpposlist.getBindCellIndex("body","nigtprcpflag"), "edittype", sExprEdittype5);
- */
-
- ds_main_prcp_prcplist.addColumn("tempnpf","string");
- ds_main_prcp_prcplist.setColumn((ds_main_prcp_prcplist.rowcount-1), "tempnpf", 'none');
- }
-
- //수가 보험정보 조회
- var calcscormastspec = utlf_transNullToEmpty(ds_main_prcpset_prcplist.getColumn(ds_main_prcpset_prcplist.rowposition, "calcscormastspec"));
- var calcscorcd = calcscormastspec.split("|");
- fInsuMsgInfoRef(calcscorcd[3]);
- }
- }
- ds_temp_picmmech.clearData();
- ds_temp_picmmech.addRow();
- ds_temp_setparma.clearData();
- ds_temp_setparma.addRow();
-
- }else if(flag == 'prcppos'){
- prcpcd = ds_main_prcp_prcplist.getColumn(ds_main_prcp_prcplist.rowposition, "prcpcd");
- dsf_makeValue(ds_temp_setparma,"srchdrugcd","string", prcpcd);
-
- var objArg = new Object();
- objArg.arg_ds_temp = ds_temp_setparma;
- frmf_modal("SMPIC00200", "SMPIC00200", objArg ,"","1", "400", "400", "","","","","","M");
- }else if(flag == 'bf'){
- prcpcd = ds_main_bfprcp_prcplist.getColumn(ds_main_bfprcp_prcplist.rowposition, "prcpcd");
- dsf_makeValue(ds_temp_setparma,"srchdrugcd","string", prcpcd);
-
- var objArg = new Object();
- objArg.arg_ds_temp = ds_temp_setparma;
- frmf_modal("SMPIC00200", "SMPIC00200", objArg ,"","1", "400", "400", "","","","","","M");
- }
- ds_main_prcp_prcplist.updatecontrol = true;
- ds_main_prcp_prcplist.enableevent = true;
- }
- /**
- * @desc : 물류편람 조회
- * @
- * @param :
- * @return :
- * @author : 성미연
- * @---------------------------------------------------
- */
- function fGoodHbook() {
- frmf_modal("SMRSC00600","SMRSC00600","","","","","","","","","","","M");
- }
-
- /**
- * @desc : 간호처방 추가
- * @
- * @param : srcnode 원본노드
- * : trgtnode 목적지노드
- * : currow row값
- * : pflag 처리구분 popup에서 opener로 처리되는 경우, opener으로 설정
- * : status 상태구분(I:신규, U:수정, D:D/C)
- *
- * @return :
- * @author : 오지훈 2007.12.27
- * @---------------------------------------------------
- */
- function mnwAddNursPrcp(srcnode, trgtnode, currow, pflag){
- //목적지 노드에 처방instance를 copy한다.
- if(pflag == "popup"){
- var desnode = opener.objects[trgtnode];
- }else{
- var desnode = this.objects[trgtnode];
- }
-
- var cnt1 = desnode.rowcount;
- if(cnt1==0){
- dsf_copyColInfo(desnode, srcnode);
- }
- desnode.addRow();
- desnode.copyRow(cnt1,srcnode,currow);
- }
- /**
- * @desc : 한/영 여부 검사
- * @
- * @param : param 한영구분할 문자열
- * @return : "H" 한글
- * : "E" 영문
- * @author : 오지훈 2007.12.28
- * @---------------------------------------------------
- */
- function fIsHng(param){
- //parameter의 첫번째 글자의 문자코드 값이 255보다 크면 한글, 작으면 영문
- if(param.charCodeAt(0) > 255){
- return "H";
- } else{
- return "E";
- }
- }
- /**
- * @desc : 처방data(명, 코드)검색
- * @
- * @param :
- * @return :
- * @author : 성미연
- * : - 오지훈 2007.12.27 수정
- * @---------------------------------------------------
- */
- function fReqSrchPrcpData(){
- ds_main_srchcond.setColumn(0, "srchdata", group5.switch1.case_prcp.ipt_listsrchdata.value);
-
- if( utlf_isNull(ds_main_srchcond.getColumn(0, "srchdata")) ){
- sysf_messageBox("검색어는 2자 이상","C001");
- group5.switch1.case_prcp.ipt_listsrchdata.setFocus();
- return;
- }
- if (ds_main_srchcond.getColumn(0, "srchdata").length < 2 ){
- sysf_messageBox("검색어는 2자 이상","C001");
- group5.switch1.case_prcp.ipt_listsrchdata.setFocus();
- return;
- }
- var prcpclscd = ds_main_srchcond.getColumn(0, "srchclscd");
-
- ds_send_reqdata.clearData();
- dsf_makeValue(ds_send_reqdata,"prcpdd","string", ds_main_cond.getColumn(0, "prcpdd"));
- dsf_makeValue(ds_send_reqdata,"srchflag","string",ds_main_srchcond.getColumn(0, "srchflag"));
- dsf_makeValue(ds_send_reqdata,"srchclscd","string",ds_main_srchcond.getColumn(0, "srchclscd"));
- dsf_makeValue(ds_send_reqdata,"srchdata","string",ds_main_srchcond.getColumn(0, "srchdata"));
- dsf_makeValue(ds_send_reqdata,"langflag","string", "E");//fIsHng(model.getValue("/root/main/prcpsetcond/srchdata"))
- dsf_makeValue(ds_send_reqdata,"insukind","string",ds_main_patinfocond_patinfo.getColumn(0, "insukind"));
-
- dsf_makeValue(ds_send_reqdata,"srchcond","string","srchSET"); //공통SET내 검색
- dsf_makeValue(ds_send_reqdata,"deptcd","string",ds_main_cond.getColumn(0, "wardcd"));
- var oParam = {};
- oParam.id = "TRMNW11101";
- oParam.service = "wardorderapp.NursPrcpMngt";
- oParam.method = "reqGetSrchNursPrcpInfo";
- oParam.inds = "req=ds_send_reqdata";
- oParam.outds = "ds_main_prcpsrch_prcplist=prcplist";
- oParam.async = false;
- oParam.callback = "cf_TRMNW11101";
- tranf_submit(oParam);
-
- dsf_setDefaultVal(ds_main_prcpsrch_prcplist, "prcpvol:0,prcpvolunitnm:-,prcpqty:0,prcpqtyunitnm:-,prcptims:0,prcpdayno:0,drugmthdspccdnm:-,drugmthdspccd:-,tootfact:-,clinccmtcnts:-,hsctdelivepos:0,hsctlnkno:0,etcprcpflag:-,rehbprcpcurefreqflag:0,dietprcpgenrflag:-,irpayflag:N,irflag:N,procerdietflag:N,diagtestconttestintvlflag:N,drugindependpackflag:N,diagtestconttestbasetm:0,diagtestconttestorgtims:0,ermediscmngtresncd:-,rehbprcpenddd:-,matrallsizespecid:-,rehbprcpcurepartcd:-,lowdrugresncd:N,tfdtlcd:-,dnorreqlnkno:0,subcretno:0,exptmthdfact:-,lowdrugresnetcfact:-,diagtestconttestcdspec:-,drgacptflag:-");
- dsf_setFixVal(ds_main_prcpsrch_prcplist, "flag:Y");
- if(arErrorCode.pop("TRMNW11101") > -1){
- //-------------경북대 (20101213)
- var prcplist = ds_main_prcpsrch_prcplist.rowcount;
- //-------------경북대 (20101213)
- if(prcplist > 0){
- dsf_createDs("ds_temp_prcpsrch_prcplist");
- ds_temp_prcpsrch_prcplist.copyData(ds_main_prcpsrch_prcplist);
- var objArg = new Object();
- objArg.arg_ds_main_prcpsrch_prcplist = ds_temp_prcpsrch_prcplist;
- frmf_open("SPMNW10600", "SPMNW10600",objArg, "", "", "","","","","","","","M" );
- ds_main_prcpsrch_prcplist.clearData() //처방검색 결과 후, 조회결과 node를 삭제
- }else{
- sysf_messageBox("검색 결과가", "I004");
- group5.switch1.case_prcp.ipt_listsrchdata.setFocus();
- return;
- }
- }
- }
- /**
- * @desc : SET처방 리스트 용법 클릭시 팝업
- * @
- * @param :
- * @return :
- * @author : 성미연
- * @---------------------------------------------------
- */
- function fClickSavePrcpDrugMthd(){
-
- }
- /**
- * @desc : 간호처방 SignData 조회
- * @
- * @param :
- * @return :
- * @author : 오지훈 2008. 1. 2
- * @---------------------------------------------------
- */
- function fReqNursPrcpSignData(){
- if ( utlf_isNull(ds_main_cond.getColumn(0, "pid")) || utlf_isNull(ds_main_cond.getColumn(0, "patnm")) ) {
- sysf_messageBox("환자가 지정되지", "E007");
- return;
- }
- //20110422_KNUH_Start 잠시 주석처리.
- //20110420_KNUH_Start
- var cnt = 0;
- var str = "";
- var drprcpetc7;
- var drprcpetc8;
- var prcpclscd;
- var prcpcd;
-
- //20110626_KNUH_Start 보조유형이 미용성형일 경우, 처방을 보조유형으로 발행하도록 하는 로직 추가
- var anamneflag; //기왕력 유무(Y/N9
- var anamnecnt = 0;
- var subcretno = ""; //보조유형생성번호(subcretno)
-
- var flag;
- var tempcol8;
- var str1 = "";
- var str2 = "";
- var stoccnt = 0;
- var stoccnt2 = 0;
- var safestocqty;
- var idxinfo = "";
- var idxinfo2= "";
-
- var actregyn = "";
-
- var sExprColor7 = "EXPR(";
- for (var i=0; i < ds_main_prcp_prcplist.rowcount; i++) {
- drprcpetc7 = group5.grd_prcpposlist.getCellValue(i, group5.grd_prcpposlist.getBindCellIndex("body","drprcpetc7"));
- drprcpetc8 = group5.grd_prcpposlist.getCellValue(i, group5.grd_prcpposlist.getBindCellIndex("body","drprcpetc8"));
- prcpclscd = group5.grd_prcpposlist.getCellValue(i, group5.grd_prcpposlist.getBindCellIndex("body","prcpclscd"));
- prcpcd = group5.grd_prcpposlist.getCellValue(i, group5.grd_prcpposlist.getBindCellIndex("body","prcpcd"));
- prcpnm = group5.grd_prcpposlist.getCellValue(i, group5.grd_prcpposlist.getBindCellIndex("body","orgprcpnm"));
-
- flag = group5.grd_prcpposlist.getCellValue(i, group5.grd_prcpposlist.getBindCellIndex("body","flag"));
- tempcol8 = group5.grd_prcpposlist.getCellValue(i, group5.grd_prcpposlist.getBindCellIndex("body","tempcol8"));
-
- safestocqty = parseInt(group5.grd_prcpposlist.getCellValue(i, group5.grd_prcpposlist.getBindCellIndex("body","safestocqty")));
- qty = parseInt(group5.grd_prcpposlist.getCellValue(i, group5.grd_prcpposlist.getBindCellIndex("body","drprcpetc8")));
-
- actregyn = group5.grd_prcpposlist.getCellValue(i, group5.grd_prcpposlist.getBindCellIndex("body","actregyn"));
- stocyn = group5.grd_prcpposlist.getCellValue(i, group5.grd_prcpposlist.getBindCellIndex("body","stocyn"));
-
- if(prcpclscd == "M2") {
- if(tempcol8 == "Y") {
-
- } else {
- if(stocyn == "Y") {
- if(safestocqty == 0) {
-
- if(actregyn == "Y") {
-
- } else {
- if(stoccnt == 0) {
- str1 += " " + prcpnm;
- idxinfo += i;
- } else {
- str1 += "\n, " + prcpnm;
- idxinfo+= "," + i;
- }
- stoccnt++;
- }
- } else {
- if(qty > safestocqty) {
- if(stoccnt2 == 0) {
- str2 += " " + prcpnm;
- idxinfo2 += i;
- } else {
- str2 += "\n, " + prcpnm;
- idxinfo2 += "," + i;
- }
- stoccnt2++;
- }
- }
- }
- }
- }
-
- if(flag == "N" && (tempcol8 == "N" || utlf_isNull(tempcol8)) ) {
- sysf_messageBox("[" + prcpcd + "]처방은 수가가 종료되어 반환만 가능합니다.", "E");
- ds_main_prcp_prcplist.rowposition = i;
- return;
- }
-
- //영상처방인 경우 1회만 처방가능하도록 blocking
- if (prcpclscd == 'C2') {
- if (drprcpetc7 != 1 || drprcpetc8 != 1) {
- sysf_messageBox("영상처방은 1회만 처방 가능합니다.", "E");
- return;
- }
- }
-
- if (prcpcd == 'E40300003-3' || prcpcd == 'E40300003-6') {
- if ((drprcpetc8 % 3) != 0 ) {
- sysf_messageBox("Gauze Vaseline 처방은 수량을 3배수로만 처방 가능합니다.", "E");
- return;
- }
- }
-
- //20110626_KNUH_Start 보조유형이 미용성형일 경우, 처방을 보조유형으로 발행하도록 하는 로직 추가
- anamneflag = group5.grd_prcpposlist.getCellValue(i, group5.grd_prcpposlist.getBindCellIndex("body","anamneflag"));
- if(anamneflag == "Y") {
- if(anamnecnt == 0) {
- var flag = fCheckSubKindCd();
- if(flag == "false") {
- return;
- }
-
- subcretno = ds_temp_prcpinfo.getColumn(0, "subcretno");
- if(subcretno == "0" || utlf_isNull(subcretno) ) {
- sysf_messageBox ( "환자의 부유형이 없거나 또는 선택되지 않았습니다.\n\n기왕증 체크를 해제 합니다.", "I999" );
- subcretno = "0";
- }
- }
- anamnecnt++;
- if(subcretno != "0") {
- ds_main_prcp_prcplist.setColumn(i, "subcretno", subcretno);
- } else {
- ds_main_prcp_prcplist.setColumn(i, "anamneflag", "N");
- ds_main_prcp_prcplist.setColumn(i, "subcretno", "0");
- }
- } else {
- ds_main_prcp_prcplist.setColumn(i, "anamneflag", "N");
- ds_main_prcp_prcplist.setColumn(i, "subcretno", "0");
- }
- //20110626_KNUH_End
-
-
- if( drprcpetc7 != drprcpetc8 || drprcpetc7 == "Y" || drprcpetc8 == "Y" || drprcpetc7 == "N" || drprcpetc8 == "N") {
- if(prcpclscd == "A6" || prcpclscd == "A4" || prcpclscd == "A2") {
- continue;
- } else {
- sExprColor7 += "currow == "+i+" ? '#FFF000' : ";
- if(cnt != 0) {
- str += ",";
- }
- str += i;
- cnt++;
- }
- } else {
- sExprColor7 += "currow == "+i+" ? '#FFFFFF' : ";
- }
- }
- sExprColor7 += "'')";
- for(var datanum5 = 0; datanum5 <group5.grd_prcpposlist.getCellCount("Body"); datanum5++){
- group5.grd_prcpposlist.setCellProperty("Body", datanum5, "background", sExprColor7);
- group5.grd_prcpposlist.setCellProperty("Body", datanum5, "background2", sExprColor7);
- }
-
- if(cnt > 0) {
- sysf_messageBox(str + "번째 처방이 잘못 발생되었습니다. 우측마우스를 눌러 삭제후 다시 입력하십시오.", "E");
- return;
- }
-
- var msg = "";
- //칠곡만 적용
- if(sysf_getUserInfo("dutplceinstcd") == "032") {
- if(stoccnt > 0 || stoccnt2 > 0) {
- if(stoccnt > 0 && stoccnt2 > 0) {
- msg = "* 안전재고보다 초과된 물품\n" + str2 + "\n\n" + "* 미등록된 물품\n" + str1 + "\n";
- } else if(stoccnt > 0 && stoccnt2 == 0) {
- msg = "* 미등록된 물품\n" + str1 + "\n";
- } else if(stoccnt == 0 & stoccnt2 > 0) {
- msg = "* 안전재고보다 초과된 물품\n" + str2 + "\n";
- }
-
- var rtn = sysf_messageBox(msg, "I");
- }
- }
-
- //20090908 khj
- if (( ds_main_patinfocond_patinfo.getColumn(0, "ordtype") == "I" || ds_main_patinfocond_patinfo.getColumn(0, "ordtype") == "D" )) {
- ds_send_reqdata.clearData();
- dsf_makeValue(ds_send_reqdata,"orddd", "string", ds_main_cond.getColumn(0, "prcpdd"));
- dsf_makeValue(ds_send_reqdata,"wardcd", "string", ds_main_cond.getColumn(0, "wardcd"));
- dsf_makeValue(ds_send_reqdata,"roomcd", "string", ds_main_cond.getColumn(0, "roomcd"));
- dsf_makeValue(ds_send_reqdata,"refflag", "string", "room");
- dsf_makeValue(ds_send_reqdata,"ordtype", "string", "I");
- dsf_makeValue(ds_send_reqdata,"settingrnid", "string", ds_main_cond.getColumn(0, "settingrnid"));
-
-
- if(spcldept == ds_main_cond.getColumn(0, "wardcd")) {
- dsf_makeValue(ds_send_reqdata,"spcldeptyn", "string", "Y");
- } else {
- dsf_makeValue(ds_send_reqdata,"spcldeptyn", "string", "");
- }
-
- var oParam = {};
- oParam.id = "TRMNW10903";
- oParam.service = "wardorderapp.NursPrcpMngt";
- oParam.method = "reqGetRoomPatList";
- oParam.inds = "reqCond=ds_send_reqdata";
- oParam.outds = "ds_init_patinfo_patlist=patlist";
- oParam.async = false;
- tranf_submit(oParam);
-
- if( utlf_isNull(ds_init_patinfo_patlist.getColumnInfo("userkindcd", "string")) ){
- ds_init_patinfo_patlist.addColumn("userkindcd", "string");
- }
-
- if( !utlf_isNull(ds_init_patinfo_patlist.getColumnInfo("acptseqno")) && !utlf_isNull(ds_init_patinfo_patlist.getColumnInfo("cretno")) ){
- dsf_setTypeFormat(ds_init_patinfo_patlist, "acptseqno:INT^cretno:INT");
- }
-
-
- var pid = ds_main_cond.getColumn(0, "pid");
- ds_main_patinfocond_patinfo.clearData();
- var cnt = ds_main_patinfocond_patinfo.rowcount;
- if(cnt==0){
- dsf_copyColInfo(ds_main_patinfocond_patinfo, ds_init_patinfo_patlist);
- }
- ds_main_patinfocond_patinfo.addRow();
- var irow4 = ds_init_patinfo_patlist.findRow("pid", pid);
- ds_main_patinfocond_patinfo.copyRow(cnt,ds_init_patinfo_patlist,irow4);
- if ( ds_main_patinfocond_patinfo.getColumn(0, "careinrmyn") != "Y" ){
- sysf_messageBox("입실체크를 하기 전 또는 퇴원환자는 처방 저장을 하실 수 ", "I004");
- return;
- }
- }
-
- if ( utlf_isNull(ds_main_prcp_prcplist.getColumn(0, "prcpcd")) ) {
- sysf_messageBox("저장할 처방내역이", "I004");
- return;
- }
- var posdept = ds_main_prcpposinfo_cond.getColumn(0, "deptcd");
- if (ds_main_prcpposinfo_cond.getColumn(0, "poscd") == '2' && utlf_isNull(ds_init_deptinfo_deptlist.lookup("deptcd", posdept, "deptcd")) ) {
- sysf_messageBox("User위치가 지정되지", "E007");
- return;
- }
- ds_send_reqdata.clearData();
- dsf_createDs("ds_err_result");
- dsf_createDs("ds_endinfo_result");
- //상단정보가 아닌, 환자검색정보 설정인 경우
- var ioflag = ds_main_patinfocond_patinfo.getColumn(0, "ordtype");
- var orddeptcd = ds_main_patinfocond_patinfo.getColumn(0, "orddeptcd");
- var orddeptnm = ds_main_patinfocond_patinfo.getColumn(0, "orddeptnm");
- var orddrid = ds_main_patinfocond_patinfo.getColumn(0, "orddrid");
- var orddrnm = ds_main_patinfocond_patinfo.getColumn(0, "orddrnm");
- var pid = ds_main_patinfocond_patinfo.getColumn(0, "pid");
- var hngnm = ds_main_patinfocond_patinfo.getColumn(0, "patnm");
- var cretno = ds_main_patinfocond_patinfo.getColumn(0, "cretno");
- var instcd = ds_main_patinfocond_patinfo.getColumn(0, "instcd");
- var sa = ds_main_patinfocond_patinfo.getColumn(0, "sexage");
- var userkindcd = ds_main_patinfocond_patinfo.getColumn(0, "userkindcd");
- var aftcertdrid = "";
- var orddd = "";
- var pamflag = "";
- var chkprcpclscd ="";
- var chkaftcertyn ="";
-
- if(ioflag == "O" || ioflag == "S"){
- orddd = ds_main_patinfocond_patinfo.getColumn(0, "orddd");
- if ( userkindcd == "97" ){
- for (var i=0; i < ds_main_prcp_prcplist.rowcount; i++) {
- chkprcpclscd = ds_main_prcp_prcplist.getColumn(i, "prcpclscd");
- if (!utlf_isNull( ds_codelist.getColumn(ds_codelist.findRowExpr("cdgrupid == '207' && cdid == '"+chkprcpclscd+"'"), "cdid") )) {
- chkaftcertyn = "Y";
- break;
- }
- }
-
- if ( chkaftcertyn == "Y" ){
- frmf_setParameter("SPMMB04100_orddrid", orddrid);
- frmf_setParameter("SPMMB04100_defdeptcd", orddeptcd);
- frmf_modal("SPMMB04100", "SPMMB04100", "", "", "" ,"", "","","","","","","M");
- var useyn = frmf_getParameter("SPMMB04100_useyn");
- if (useyn != "Y") {
- return false;
- }else if(useyn == "Y"){ //후인증 선택의사로 설정
- aftcertdrid = frmf_getParameter("SPMMB04100_orddrid");
- }
- }
- }
- }else{
- orddd = ds_main_patinfocond_patinfo.getColumn(0, "indd");
- }
- var bedcd = ds_main_cond.getColumn(0, "zonecd");
- var er ="";
- var grupcd = "";
-
- if(ioflag == "O"){ //외래인 경우, 원무정보 처리
- pamflag = "Y";
- }
- var deptcd="";
- var deptnm="";
- if (ds_main_prcpposinfo_cond.getColumn(0, "poscd") == '1') { //환자위치
- if ( !utlf_isNull( ds_codelist.getColumn(ds_codelist.findRowExpr("cdgrupid == '002' && cdid == '"+group5.grp_sea.combo1.value+"'"), "cdid")) ) {
- deptcd = ds_init_patinfo_patlist.lookup("pid", pid, "grupcd");
- deptnm = ds_init_deptinfo_deptlist.lookup("deptcd", ds_init_patinfo_patlist.lookup("pid", pid, "grupcd"), "depthngnm");
- } else {
- deptcd = ds_main_cond.getColumn(0, "wardcd");
- deptnm = ds_init_deptinfo_deptlist.lookup("deptcd", ds_main_cond.getColumn(0, "wardcd"), "depthngnm");
- }
- } else { //User위치
- deptcd = ds_main_prcpposinfo_cond.getColumn(0, "deptcd");
- deptnm = ds_init_deptinfo_deptlist.lookup("deptcd", ds_main_prcpposinfo_cond.getColumn(0, "deptcd"), "depthngnm");
- }
-
- var roomcd = ds_main_patinfocond_patinfo.getColumn(0, "roomcd");
- if(sysf_getUserInfo("dutplceinstcd") == "031" && (deptcd == "3063200000" || deptcd == "3063300000" || deptcd == "3050135000")) { // 본원 내과·신경외과집중치료실(3063200000), 외과·심혈관외과집중치료실(3063300000)은 집계부서를 기존 ICU 기준으로 변경 처리 2019.01.10 엄영만
- // 20190131 이돈희 : 본원 심뇌혈관질환응급치료실(3050135000)을 CCU와 SU로 집계부서 분리 처리
- if(roomcd == "MICU" || roomcd == "EMICU" || roomcd == 'MICU-i') { // MICU 내과중환자실
- deptcd = "3060100000";
- deptnm = ds_init_deptinfo_deptlist.lookup("deptcd", deptcd, "depthngnm");
- } else if(roomcd == "SICU" || roomcd == "ESICU") { // SICU 외과중환자실
- deptcd = "3060200000";
- deptnm = ds_init_deptinfo_deptlist.lookup("deptcd", deptcd, "depthngnm");
- } else if(roomcd == "NSICU" || roomcd == "ENSICU") { // NSICU 신경외과중환자실
- deptcd = "3060300000";
- deptnm = ds_init_deptinfo_deptlist.lookup("deptcd", deptcd, "depthngnm");
- } else if(roomcd == "CICU") { // CICU 심혈관중환자실
- deptcd = "3060400000";
- deptnm = ds_init_deptinfo_deptlist.lookup("deptcd", deptcd, "depthngnm");
- } else if(roomcd == "CCU") { // CCU
- deptcd = "3041501000";
- deptnm = ds_init_deptinfo_deptlist.lookup("deptcd", deptcd, "depthngnm");
- } else if(roomcd == "SU") { // SU
- deptcd = "3041502000";
- deptnm = ds_init_deptinfo_deptlist.lookup("deptcd", deptcd, "depthngnm");
- }
- }
-
- ds_temp_saveflaginfo.clearData();
- ds_send_reqdata_saveflaginfo.clearData();
- dsf_makeValue(ds_temp_saveflaginfo,"savedataflag", "string", "2"); //저장자료구분(2:처방)
- dsf_makeValue(ds_temp_saveflaginfo,"saveflag", "string", ioflag); //저장구분 O:외래, I:입원, E:응급, S:건진, D:DSC
- dsf_makeValue(ds_temp_saveflaginfo,"prcpflag", "string", "2"); //처방구분 (M0035 처방권한에 대한 구분종류 : 간호 추가처방)
- dsf_makeValue(ds_temp_saveflaginfo,"inptflag", "string", "09"); //처방입력구분 (M0034 처방입력에 대한 구분종류 : 간호처방)
- dsf_makeValue(ds_temp_saveflaginfo,"pamflag", "string", pamflag); //원무정보 처리구분(외래만 Y)
- dsf_makeValue(ds_temp_saveflaginfo,"prcperrflag", "string", "Y"); //처방오류구분
- dsf_makeValue(ds_temp_saveflaginfo,"deptcd", "string", deptcd); //부서코드
- dsf_makeValue(ds_temp_saveflaginfo,"deptnm", "string", deptnm); //부서명
- dsf_makeValue(ds_temp_saveflaginfo,"userid", "string", sysf_getUserInfo("userid")); //사용자ID
- dsf_makeValue(ds_temp_saveflaginfo,"usernm", "string", sysf_getUserInfo("usernm")); //사용자명
- dsf_makeValue(ds_temp_saveflaginfo,"signyn", "string", "Y"); //전자서명여부
- dsf_makeValue(ds_temp_saveflaginfo,"prcpdd", "string", ds_main_cond.getColumn(0, "prcpdd")); //처방일
-
- ds_send_reqdata_saveflaginfo.copyData(ds_temp_saveflaginfo);
- ds_temp_savergstinfo.clearData();
- ds_send_reqdata_savergstinfo.clearData();
- dsf_makeValue(ds_temp_savergstinfo,"pid" , "string", pid); //등록번호
- dsf_makeValue(ds_temp_savergstinfo,"indd" , "string", orddd); //진료일자
- dsf_makeValue(ds_temp_savergstinfo,"orddd" , "string", orddd); //진료일자
- dsf_makeValue(ds_temp_savergstinfo,"cretno" , "string", cretno); //생성번호
- dsf_makeValue(ds_temp_savergstinfo,"instcd" , "string", instcd); //기관코드
- dsf_makeValue(ds_temp_savergstinfo,"orddeptcd" , "string", orddeptcd); //진료과
- dsf_makeValue(ds_temp_savergstinfo,"orddeptnm" , "string", orddeptnm); //진료과명
- dsf_makeValue(ds_temp_savergstinfo,"orddrid" , "string", orddrid); //진료의
- dsf_makeValue(ds_temp_savergstinfo,"orddrnm" , "string", orddrnm); //진료의명
- dsf_makeValue(ds_temp_savergstinfo,"hngnm" , "string", hngnm); //환자명
- dsf_makeValue(ds_temp_savergstinfo,"sa" , "string", sa); //성별나이
- dsf_makeValue(ds_temp_savergstinfo,"ordtype" , "string", ioflag); //외래입원구분
- dsf_makeValue(ds_temp_savergstinfo,"aftcertdrid", "string", aftcertdrid); //외래 일반의사의 경우 후인증 대상의사는 지정한다.
- ds_send_reqdata_savergstinfo.copyData(ds_temp_savergstinfo);;
- ds_main_prcp_prcplist.addColumn("tempcol8", "string");
- ds_main_prcp_prcplist.addColumn("prcppkspec", "string");
- for(var i = 0; i < ds_main_prcp_prcplist.rowcount; i++){
- var prcpclscd = ds_main_prcp_prcplist.getColumn(i, "prcpclscd");
- var drugmthdspccd = ds_main_prcp_prcplist.getColumn(i, "drugmthdspccd");
- var drugmthdspccdnm = ds_main_prcp_prcplist.getColumn(i, "drugmthdspccdnm");
- var prcpno = ds_main_prcp_prcplist.getColumn(i, "prcprefseq");
- var prcpcd = ds_main_prcp_prcplist.getColumn(i, "prcpcd");
- var prcpnm = ds_main_prcp_prcplist.getColumn(i, "prcpnm");
- var rtnflag = utlf_transNullToEmpty(ds_main_prcp_prcplist.getColumn(i, "tempcol8")); //반환체크
- var enddd = utlf_transNullToEmpty(ds_main_prcp_prcplist.getColumn(i, "tempcol10"));
- var prcppkspec = utlf_transNullToEmpty(ds_main_prcp_prcplist.getColumn(i, "prcppkspec")).split("|");
- //20091021 khj 간호처방에서 야간(18:00~익일08:00)에 발생하는 처방 중 수가에서 야간 가산을 받을 수 있는 처방의 경우 간호처방 시 가산여부 “Y”로 자동세팅
- if ( ( ( ds_codelist.lookup("cdgrupid", '002', "cdid") == ds_main_cond.getColumn(0, "wardcd") )
- || ( ds_codelist.lookup("cdgrupid", '002', "cdid") != ds_main_cond.getColumn(0, "wardcd")
- && ds_main_prcp_prcplist.getColumn(i, "nigtprcpflag") == "Y") )
- && ds_main_cond.getColumn(0, "prcpdd")== utlf_getCurrentDate()
- && ( utlf_getCurrentTime().substring(0,2)< "08" || utlf_getCurrentTime().substring(0,2)>= "18")
- && ds_main_prcp_prcplist.getColumn(i, "estmcls")== "Y"
- ){
- ds_main_prcp_prcplist.setColumn(i, "nigtprcpflag", "Y"); //야간처방구분
- }else {
- ds_main_prcp_prcplist.setColumn(i, "nigtprcpflag", "N"); //야간처방구분
- }
-
- //약,주사 처방 중에 용법이 없을 경우 에러리스트
- if("A2" == prcpclscd || "A4" == prcpclscd || "A6" == prcpclscd){
- if(drugmthdspccd == "-" || drugmthdspccdnm == "-" || drugmthdspccdnm == " " || utlf_isNull(drugmthdspccdnm) ) {
- dsf_makeValue(ds_err_errresult_prcperrlist, "prcpno" , "string" , prcpno);
- dsf_makeValue(ds_err_errresult_prcperrlist, "prcpcd" , "string" , prcpcd);
- dsf_makeValue(ds_err_errresult_prcperrlist, "prcpnm" , "string" , prcpnm);
- dsf_makeValue(ds_err_errresult_prcperrlist, "prcperr" , "string" , "용법이 존재하지 않습니다.");
- dsf_makeValue(ds_err_errresult_prcperrlist, "prcplineno", "string" , i);
-
- dsf_copyDs(ds_err_result,ds_err_errresult_prcperrlist, "after");
- //model.duplicate("/root/err/result","/root/err/errresult/prcperrlist");
- }
- }
-
- var prcpvol = ds_main_prcp_prcplist.getColumn(i, "prcpvol");
- var prcpqty = ds_main_prcp_prcplist.getColumn(i, "prcpqty");
-
- //수량이 0보다 적을 경우 에러리스트
- if(prcpvol <= 0 || prcpqty <= 0 ) {
- dsf_makeValue(ds_err_errresult_prcperrlist, "prcpno" , "string" , prcpno);
- dsf_makeValue(ds_err_errresult_prcperrlist, "prcpcd" , "string" , prcpcd);
- dsf_makeValue(ds_err_errresult_prcperrlist, "prcpnm" , "string" , prcpnm);
- dsf_makeValue(ds_err_errresult_prcperrlist, "prcperr" , "string" , "처방 수량을 확인하세요");
- dsf_makeValue(ds_err_errresult_prcperrlist, "prcplineno", "string" , i);
-
- dsf_copyDs(ds_err_result,ds_err_errresult_prcperrlist, "after");
- //model.duplicate("/root/err/result","/root/err/errresult/prcperrlist");
- }
-
- //********************************************
- //임상연구 환자체크
- if(ds_main_cond.getColumn(0, "clincstdyflag") == "Y"){
- ds_main_prcp_prcplist.setColumn(i, "clincstdyflag", "Y");
- ds_main_prcp_prcplist.setColumn(i, "clincstdycd", ds_main_patinfocond_patinfo.getColumn(0, "clincstdycd"));
- }
- //*********************************************/
-
- //마감 이후에 반환일 경우 반환사유 입력 팝업
- //enddd default값 변경으로 수정_20080715
- if(rtnflag == "Y" && enddd.substr(0,8) != '99991231' && !utlf_isNull(enddd) ){
- dsf_makeValue(ds_endinfo_endinforesult_list, "prcpdd" , "string" , prcppkspec[0]);
- dsf_makeValue(ds_endinfo_endinforesult_list, "prcpno" , "string" , prcppkspec[1]);
- dsf_makeValue(ds_endinfo_endinforesult_list, "prcphistno" , "string" , prcppkspec[2]);
- dsf_makeValue(ds_endinfo_endinforesult_list, "execprcpno" , "string" , "");
- dsf_makeValue(ds_endinfo_endinforesult_list, "instcd" , "string" , prcppkspec[3]);
- dsf_makeValue(ds_endinfo_endinforesult_list, "ioflag" , "string" , ioflag);
-
- dsf_copyDs(ds_endinfo_result,ds_endinfo_endinforesult_list, "after");
- //model.duplicate("/root/endinfo/result","/root/endinfo/endinforesult/list");
- }
- }
- ds_send_reqdata_saveprcpinfo.clearData();
- ds_send_reqdata_saveprcpinfo.copyData(ds_main_prcp_prcplist);;
- if (ds_err_result.rowcount > 0 ) {
- var xpt = system.clientToScreenX(this, this.position.left) + 100;
- var ypt = system.clientToScreenY(this, this.position.top) + 50;
- //var coord = getRelativeCoordinate ( xpt, ypt );
- var mon = sysf_getCurrentMonitorNumber();
- //xpt = coord[1];
- //ypt = coord[2];
-
- dsf_createDs("ds_temp_err_result");
- ds_temp_err_result.copyData(ds_err_result);
- var objArg = new Object();
- objArg.arg_ds_result_prcperrlist = ds_temp_err_result;
- frmf_open("SPMNW11000", "SPMNW11000", objArg, false, mon, xpt, ypt, null, null, null, null, null, "M");
- //오류목록 생성후 오류난 처방을 붉은 색으로 표시
- //fDestDisplayErrlist("/root/err/result/prcperrlist", "grd_prcpposlist");
-
- //------------
- //grdf_initGridStyle(group5.grd_prcpposlist);
-
- //전처방 리스트에서 반납일 경우 텍스트 빨간색
- var sExprColor5 = "EXPR(";
- for (var i = 0; i< ds_err_result.rowcount; i++) {
- var prcplineno = ds_err_result.getColumn(i, "prcplineno");
-
- for (var j = 0; j< ds_main_prcp_prcplist.rowcount; j++) {
- if (prcplineno == j ) {
- sExprColor5 += "currow == "+j+" ? '#FF0000' : ";
- }
-
- }
- }
- sExprColor5 += "'')";
- for(var datanum6 = 0; datanum6 <group5.grd_prcpposlist.getCellCount("Body"); datanum6++){
- group5.grd_prcpposlist.setCellProperty("Body", datanum6, "color", sExprColor5);
- }
- //------------
-
- ds_err_errresult_prcperrlist.clearData();
- ds_err_result.clearData();
- } else {
-
- //인증데이터 처리
- dsf_setDefaultVal(ds_send_reqdata_saveprcpinfo, "tootfact:-,clinccmtcnts:-,hsctdelivepos:0,hsctlnkno:0,etcprcpflag:-,rehbprcpcurefreqflag:0,dietprcpgenrflag:-,irpayflag:N,irflag:N,procerdietflag:N,diagtestconttestintvlflag:N,drugindependpackflag:N,diagtestconttestbasetm:0,diagtestconttestorgtims:0,ermediscmngtresncd:-,rehbprcpenddd:-,matrallsizespecid:-,rehbprcpcurepartcd:-,lowdrugresncd:N,tfdtlcd:-,dnorreqlnkno:0,subcretno:0,exptmthdfact:-,lowdrugresnetcfact:-,diagtestconttestcdspec:-");
- var oParam = {};
- oParam.id = "TRMNW10906";
- oParam.service = "wardorderapp.NursPrcpMngt";
- oParam.method = "reqGetSaveNursPrcpSignData";
- oParam.inds = "saveFlagInfo=ds_send_reqdata_saveflaginfo saveRgstInfo=ds_send_reqdata_savergstinfo savePrcpInfo=ds_send_reqdata_saveprcpinfo";
- oParam.outds = "ds_main_signdata_signprcplist=signprcplist";
- oParam.async = false;
- oParam.callback = "cf_TRMNW10906";
- tranf_submit(oParam);
-
- if( utlf_isNull(ds_main_signdata_signprcplist.getColumnInfo("dschnotiyn", "string")) ){
- ds_main_signdata_signprcplist.addColumn("dschnotiyn", "string");
- }
- if(arErrorCode.pop("TRMNW10906") > -1){
- //** 간호사퇴원통보가 되어있는 경우 **//
- var dschnotiyn = ds_main_signdata_signprcplist.getColumn(0, "dschnotiyn"); // 간호사퇴원확정여부_20080923(ByJA)
- if(dschnotiyn == "Y"){
- sysf_messageBox( "[" + ds_main_patinfocond_patinfo.getColumn(0, "pid")
- +" " + ds_main_patinfocond_patinfo.getColumn(0, "patnm")
- +"]\n 이미 퇴원통보가 되어 처방을 저장", "E001");
- return;
- }
-
- //** 간호사퇴원통보가 되어있는 경우 **//
- var signbfcnts = ds_main_signdata_signprcplist.getColumn(0, "signbfcnts");
- var userid = sysf_getUserInfo("userid");
- //운영서버는 인증모듈 타고 그외서버는 인증모듈제외
- var signinfo = "";
- if( utlf_isNull(vsettime) ) { //인증저장한시간.
- signinfo = fMakeSignData(signbfcnts, userid, true); // 항상 인증서 비밀번호 확인 설정(true)_20080909(ByJA)
- } else {
- var res2 = utlf_getTimeInterval(vsettime, utlf_getCurrentTime(), 'hhmmss');
- if(res2 > signtime* 60 || res2 < 0) {
- signinfo = fMakeSignData(signbfcnts, userid, true); // 항상 인증서 비밀번호 확인 설정(true)_20080909(ByJA)
- } else {
- signinfo = fMakeSignData(signbfcnts, userid, false); // 항상 인증서 비밀번호 확인 설정안함(false)_20080909(ByJA)
- }
- }
- // -----------------------(2010.08.18 센터)start--------------------
- if( utlf_isNull(signinfo) || signinfo == "-"){ //인증저장 취소
- return;
- }else{
- //처방반환사유 팝업
- vsetdate = utlf_getCurrentDate();
- vsettime = utlf_getCurrentTime();
-
- if (ds_endinfo_result.rowcount > 0 ) {
- var objArg = new Object();
- dsf_createDs("ds_temp_endinfo_result");
- ds_temp_endinfo_result.copyData(ds_endinfo_result);
- objArg.arg_ds_endinfo_result_list = ds_temp_endinfo_result;
- var rtObj = frmf_modal("SPPAS03000", "SPPAS03000", objArg ,"","", 100, 100, "","","","","","M");
- ds_endinfo_endinforesult_list.clearData();
- ds_endinfo_result.clearData();
- }
-
- //** 귀가유치물품 관련 데이터(여부,수량) 입력값 체크_20090206(ByJA) **//
- for(var i=0;i<ds_main_prcp_prcplist.rowcount;i++){
- fChkHomeMatr(i);
- }
- ds_main_signdata_signprcplist.setColumn(0, "signaftcnts", signinfo); //true : 처방저장할 때마다 인증저장 태움
-
- ds_send_savedata_saveflaginfo.copyData(ds_temp_saveflaginfo);
- ds_send_savedata_savergstinfo.copyData(ds_temp_savergstinfo);
- ds_send_savedata_saveprcpinfo.copyData(ds_main_prcp_prcplist);
- ds_send_savedata_savesigninfo.copyData(ds_main_signdata_signprcplist);
-
- fSavePrcp(); //처방저장
- }
- }
- }
- }
- /**
- * @desc : 간호처방 SignData 생성
- * @
- * @param : signbfcnts - 인증 전 데이터
- * : signuserid - 인증자ID
- * : signcnfmflag - 인증확인여부
- * @return :
- * @author : 오지훈 2008. 1. 3
- * @---------------------------------------------------
- */
- function fMakeSignData(signbfcnts, userid, signcnfmflag){
- return zesf_SignData(signbfcnts, userid, signcnfmflag); //comm_inf.xjs
- }
- /**
- * @desc : 간호 전처방 조회
- * @
- * @param :
- * @return :
- * @author : 오지훈 2008. 1. 3
- * @---------------------------------------------------
- */
- function fReqBfNursPrcpInfo(){
- if ( utlf_isNull(ds_main_cond.getColumn(0, "patnm")) && !utlf_isNull(ds_main_paminfo.getColumn(0, "pid"))) {
- ds_main_cond.setColumn(0, "pid", "");
- sysf_messageBox("환자를 먼저 지정하십시오!", "C");
- return;
- }
-
- ds_main_bfprcpinfo_bfcond.setColumn(0, "srchdata",group5.switch1.case_bf.group4.ipt_bfsrchdata.value);
- var ordtype = ds_main_patinfocond_patinfo.getColumn(0, "ordtype");
- var pid = ds_main_patinfocond_patinfo.getColumn(0, "pid");
- var cretno = ds_main_patinfocond_patinfo.getColumn(0, "cretno");
- var insukind = ds_main_patinfocond_patinfo.getColumn(0, "insukind");
- var prcpfromdd = ds_main_bfprcpinfo_bfcond.getColumn(0, "prcpfromdd");
- var prcptodd = ds_main_bfprcpinfo_bfcond.getColumn(0, "prcptodd");
- var srchflag = ds_main_bfprcpinfo_bfcond.getColumn(0, "srchflag");
- var srchclscd = ds_main_bfprcpinfo_bfcond.getColumn(0, "srchclscd");
- var srchdata = ds_main_bfprcpinfo_bfcond.getColumn(0, "srchdata");
- var srchdayflag = ds_main_bfprcpinfo_bfcond.getColumn(0, "srchdayflag");
- var ordercond = ds_main_bfprcpinfo_bfcond.getColumn(0, "ordercond");
- var ordercond2 = ds_main_bfprcpinfo_bfcond.getColumn(0, "ordercond2");
- //가정간호 여부(가정간호 환자인 경우는 전처방 조회시 원무정보 조건을 걸지 않음)
- var homecareyn = ds_main_cond.getColumn(0, "homecareyn");
- var deptcd = ds_main_cond.getColumn(0, "wardcd");
- if(ordtype == "O" || ordtype == "S"){
- var orddd = ds_main_patinfocond_patinfo.getColumn(0, "orddd");
- }else{
- var orddd = ds_main_patinfocond_patinfo.getColumn(0, "indd");
- }
- ds_send_reqdata.clearData();
- dsf_makeValue(ds_send_reqdata,"pid" , "string" , pid);
- dsf_makeValue(ds_send_reqdata,"orddd" , "string" , orddd);
- dsf_makeValue(ds_send_reqdata,"cretno" , "string" , cretno);
- dsf_makeValue(ds_send_reqdata,"insukind" , "string" , insukind);
- dsf_makeValue(ds_send_reqdata,"prcpfromdd" , "string" , prcpfromdd);
- dsf_makeValue(ds_send_reqdata,"prcptodd" , "string" , prcptodd);
- dsf_makeValue(ds_send_reqdata,"ordtype" , "string" , ordtype);
- dsf_makeValue(ds_send_reqdata,"srchflag" , "string" , srchflag);
- dsf_makeValue(ds_send_reqdata,"srchclscd" , "string" , srchclscd);
- dsf_makeValue(ds_send_reqdata,"srchdata" , "string" , srchdata);
- dsf_makeValue(ds_send_reqdata,"srchdayflag" , "string" , srchdayflag);
- dsf_makeValue(ds_send_reqdata,"homecareyn" , "string" , homecareyn);
- dsf_makeValue(ds_send_reqdata,"ordercond" , "string" , ordercond);
- dsf_makeValue(ds_send_reqdata,"ordercond2" , "string" , ordercond2);
- dsf_makeValue(ds_send_reqdata,"deptcd" , "string" , ds_main_cond.getColumn(0, "wardcd"));
- dsf_makeValue(ds_send_reqdata,"prcpinptflag", "string" , "09"); // 처방입력에 대한 구분종류 ('09':간호처방, '38':간호 미확인 구두처방, , '39':간호 확인 구두처방)
- //grdf_initGridStyle(group5.switch1.case_bf.grd_bfprcplist);
-
- if( !utlf_isNull(ds_send_reqdata.getColumnInfo("cretno")) ){
- dsf_setTypeFormat(ds_send_reqdata, "cretno:INT");
- }
- var oParam = {};
- oParam.id = "TRMNW10905";
- oParam.service = "wardorderapp.NursPrcpMngt";
- oParam.method = "reqGetPatBfPrcpInfo";
- oParam.inds = "req=ds_send_reqdata";
- oParam.outds = "ds_main_bfprcp_prcplist=prcplist";
- oParam.async = false;
- oParam.callback = "cf_TRMNW10905";
- tranf_submit(oParam);
-
- dsf_setDefaultVal(ds_main_bfprcp_prcplist, "prcpvol:0,prcpvolunitnm:-,prcpqty:0,prcpqtyunitnm:-,prcptims:0,prcpdayno:0,drugmthdspccdnm:-,drugmthdspccd:-,tootfact:-,clinccmtcnts:-,hsctdelivepos:0,hsctlnkno:0,etcprcpflag:-,rehbprcpcurefreqflag:0,dietprcpgenrflag:-,irpayflag:N,irflag:N,procerdietflag:N,diagtestconttestintvlflag:N,drugindependpackflag:N,diagtestconttestbasetm:0,diagtestconttestorgtims:0,ermediscmngtresncd:-,rehbprcpenddd:-,matrallsizespecid:-,rehbprcpcurepartcd:-,lowdrugresncd:N,tfdtlcd:-,dnorreqlnkno:0,subcretno:0,exptmthdfact:-,lowdrugresnetcfact:-,diagtestconttestcdspec:-,drgacptflag:-");
-
- if( utlf_isNull(ds_main_bfprcp_prcplist.getColumnInfo("tempcol8")) ){
- ds_main_bfprcp_prcplist.addColumn("tempcol8", "string");
- }
- if(arErrorCode.pop("TRMNW10905") > -1){
- // 처방일자로 구분선 표시(기준자료에 등록된 부서만)
- if( deptcd == ds_codelist.getColumn(ds_codelist.findRowExpr("cdgrupid == 'I09' && cdid == '"+deptcd+"'"), "cdid") ){
- var pGrdCnt = ds_main_bfprcp_prcplist.rowcount;
-
- if (pGrdCnt != 0 ) {
-
- var rgstdt1 = "";
- var rgstdt2 = "";
- var sExprColor3 = "EXPR(";
- for (var i = 0; i < pGrdCnt -1; i++) {
-
- rgstdt1 = ds_main_bfprcp_prcplist.getColumn(i, "rgstdt");
- rgstdt2 = ds_main_bfprcp_prcplist.getColumn(i+1, "rgstdt");
-
- if (utlf_transNullToEmpty(rgstdt1).substring(0,8) == utlf_transNullToEmpty(rgstdt2).substring(0,8)){
-
- }else{
- if(i != -1){
- sExprColor3 += "currow == "+i+" ? '1 solid #33bbbbff,1 solid #bac5ccff,1 solid #ff0000,1 solid #bac5ccff' : ";
- }
- }
- }
- sExprColor3 += "'1 solid #33bbbbff,1 solid #bac5ccff,1 solid #bac5ccff,1 solid #bac5ccff')";
- for(var datanum3 = 0; datanum3 <group5.switch1.case_bf.grd_bfprcplist.getCellCount("Body"); datanum3++){
- group5.switch1.case_bf.grd_bfprcplist.setCellProperty("Body", datanum3, "line", sExprColor3);
- }
- }
- }
- }
- //전처방 검색 후 검색창 초기화
- ds_main_bfprcpinfo_bfcond.setColumn(0, "srchdata", "");
- group5.switch1.case_bf.group4.ipt_bfsrchdata.setFocus();
- /*
- //전처방 리스트에서 반납일 경우 텍스트 빨간색
- var sExprColor4 = "EXPR(";
- for ( i = 0; i < ds_main_bfprcp_prcplist.rowcount; i++) {
- var prcphistcd = ds_main_bfprcp_prcplist.getColumn(i, "prcphistcd");
- if (prcphistcd == "L" || prcphistcd == "D" ) {
- sExprColor4 += "currow == "+i+" ? '#FF0000' : ";
- }
- }
- sExprColor4 += "'')";
- for(var datanum4 = 0; datanum4 <group5.switch1.case_bf.grd_bfprcplist.getCellCount("Body"); datanum4++){
- group5.switch1.case_bf.grd_bfprcplist.setCellProperty("Body", datanum4, "color", sExprColor4);
- }
- */
- }
- /**
- * @desc : 간호 임시처방 조회
- * @
- * @param :
- * @return :
- * @author : 성미연 2008. 5. 15
- * @---------------------------------------------------
- */
- function fReqTempNursPrcpInfo(){
- ds_main_tempprcpinfo_tempcond.setColumn(0, "srchdata", group5.switch1.case_temp.ipt_tempsrchdata.value);
- if ( utlf_isNull(ds_main_cond.getColumn(0, "patnm")) && !utlf_isNull(ds_main_paminfo.getColumn(0, "pid")) ) {
- ds_main_cond.setColumn(0, "pid", "");
- sysf_messageBox("환자를 먼저 지정하십시오!", "C");
- return;
- }
- if (ds_main_tempprcpinfo_tempcond.getColumn(0, "srchdata").length == 1 ){
- sysf_messageBox("검색어는 2자 이상","C001");
- group5.switch1.case_temp.ipt_tempsrchdata.setFocus();
- return;
- }
- var ordtype = ds_main_patinfocond_patinfo.getColumn(0, "ordtype");
- var pid = ds_main_patinfocond_patinfo.getColumn(0, "pid");
- var cretno = ds_main_patinfocond_patinfo.getColumn(0, "cretno");
- var insukind = ds_main_patinfocond_patinfo.getColumn(0, "insukind");
- var srchflag = ds_main_tempprcpinfo_tempcond.getColumn(0, "srchflag");
- var srchclscd = ds_main_tempprcpinfo_tempcond.getColumn(0, "srchclscd");
- var srchdata = ds_main_tempprcpinfo_tempcond.getColumn(0, "srchdata");
- if(ordtype == "O" || ordtype == "S"){ //외래환자는 임시처방 발생하지 않음
- return;
- }else{
- var orddd = ds_main_patinfocond_patinfo.getColumn(0, "indd");
- }
- ds_send_reqdata.clearData();
- dsf_makeValue(ds_send_reqdata,"pid" ,"string", pid);
- dsf_makeValue(ds_send_reqdata,"orddd" ,"string", orddd);
- dsf_makeValue(ds_send_reqdata,"cretno" ,"string", cretno);
- dsf_makeValue(ds_send_reqdata,"insukind" ,"string", insukind);
- dsf_makeValue(ds_send_reqdata,"ordtype" ,"string", ordtype);
- dsf_makeValue(ds_send_reqdata,"srchflag" ,"string", srchflag);
- dsf_makeValue(ds_send_reqdata,"srchclscd" ,"string", srchclscd);
- dsf_makeValue(ds_send_reqdata,"srchdata" ,"string", srchdata);
- //grdf_initGridStyle(group5.switch1.case_temp.grd_tempprcplist);
- if( !utlf_isNull(ds_send_reqdata.getColumnInfo("cretno")) ){
- dsf_setTypeFormat(ds_send_reqdata, "cretno:INT");
- }
- var oParam = {};
- oParam.id = "TRMNW10908";
- oParam.service = "wardorderapp.NursPrcpMngt";
- oParam.method = "reqGetPatTempPrcpInfo";
- oParam.inds = "req=ds_send_reqdata";
- oParam.outds = "ds_main_tempprcp_prcplist=prcplist";
- oParam.async = false;
- oParam.callback = "cf_TRMNW10908";
- tranf_submit(oParam);
- dsf_setDefaultVal(ds_main_tempprcp_prcplist, "prcpvol:0,prcpvolunitnm:-,prcpqty:0,prcpqtyunitnm:-,prcptims:0,prcpdayno:0,drugmthdspccdnm:-,drugmthdspccd:-,tootfact:-,clinccmtcnts:-,hsctdelivepos:0,hsctlnkno:0,etcprcpflag:-,rehbprcpcurefreqflag:0,dietprcpgenrflag:-,irpayflag:N,irflag:N,procerdietflag:N,diagtestconttestintvlflag:N,drugindependpackflag:N,diagtestconttestbasetm:0,diagtestconttestorgtims:0,ermediscmngtresncd:-,rehbprcpenddd:-,matrallsizespecid:-,rehbprcpcurepartcd:-,lowdrugresncd:N,tfdtlcd:-,dnorreqlnkno:0,subcretno:0,exptmthdfact:-,lowdrugresnetcfact:-,diagtestconttestcdspec:-,drgacptflag:-");
- dsf_setFixVal(ds_main_tempprcp_prcplist, "flag:N");
-
- if( utlf_isNull(ds_main_tempprcp_prcplist.getColumnInfo("tempcol8")) ){
- ds_main_tempprcp_prcplist.addColumn("tempcol8", "string");
- }
-
- if(arErrorCode.pop("TRMNW10908") > -1){
- //임시처방리스트에서 청구주기가 월일 경우 파란색
- var sExprColor = "EXPR(";
- for ( i = 0; i< ds_main_tempprcp_prcplist.rowcount; i++) {
- var tempcol10 = ds_main_tempprcp_prcplist.getColumn(i, "tempcol10");
- if (tempcol10 == "4"){
- sExprColor += "currow == "+i+" ? '#0000ff' : ";
- }
- }
- sExprColor += "'')";
- for(var datanum = 0; datanum <group5.switch1.case_temp.grd_tempprcplist.getCellCount("Body"); datanum++){
- group5.switch1.case_temp.grd_tempprcplist.setCellProperty("Body", datanum, "color", sExprColor);
- }
- }
- //임시처방 검색 후 검색창 초기화
- ds_main_tempprcpinfo_tempcond.setColumn(0, "srchdata", "");
- group5.switch1.case_temp.ipt_tempsrchdata.setFocus();
- }
- /**
- * @desc : 간호처방 기본값 설정
- * @
- * @param : desrow 목적지 노드의 row위치
- * @return :
- * @author : 오지훈 2008. 1. 4
- * @---------------------------------------------------
- */
- function fSetNursPrcpDefault(desrow){
- if(utlf_isNull(ds_main_prcp_prcplist.getColumnInfo("prcpauthflag"))){
- ds_main_prcp_prcplist.addColumn("prcpauthflag", "string");
- }
-
- if(utlf_isNull(ds_main_prcp_prcplist.getColumnInfo("prcphopedd"))){
- ds_main_prcp_prcplist.addColumn("prcphopedd", "string");
- }
-
- if(utlf_isNull(ds_main_prcp_prcplist.getColumnInfo("drprcpetc10"))){
- ds_main_prcp_prcplist.addColumn("drprcpetc10", "string");
- }
-
- if(utlf_isNull(ds_main_prcp_prcplist.getColumnInfo("prcpgenrflag"))){
- ds_main_prcp_prcplist.addColumn("prcpgenrflag", "string");
- }
-
- if(utlf_isNull(ds_main_prcp_prcplist.getColumnInfo("prcpsignflag"))){
- ds_main_prcp_prcplist.addColumn("prcpsignflag", "string");
- }
-
- if(utlf_isNull(ds_main_prcp_prcplist.getColumnInfo("prcpstatcd"))){
- ds_main_prcp_prcplist.addColumn("prcpstatcd", "string");
- }
-
- ds_main_prcp_prcplist.setColumn(desrow, "status" , "I"); //처방상태(신규)
- ds_main_prcp_prcplist.setColumn(desrow, "prcpkindcd" , "20"); //처방분류코드(간호처방은 모두 추가)
- ds_main_prcp_prcplist.setColumn(desrow, "prcpstatcd" , "000"); //처방상태코드
- ds_main_prcp_prcplist.setColumn(desrow, "prcpauthflag" , 2); //처방권한구분, 의사와 공유하지 않음
- ds_main_prcp_prcplist.setColumn(desrow, "prcpinptflag" , "09"); //처방입력구분, 간호:09
- ds_main_prcp_prcplist.setColumn(desrow, "prcphopedd" , ds_main_cond.getColumn(0, "prcpdd")); //처방희망일
- ds_main_prcp_prcplist.setColumn(desrow, "prcpmixno" , 0); //Mix번호
- ds_main_prcp_prcplist.setColumn(desrow, "prnprcpflag" , "N"); //PRN처방구분
- ds_main_prcp_prcplist.setColumn(desrow, "drprcpetc10" , "N"); //대차구분
- ds_main_prcp_prcplist.setColumn(desrow, "drgacptflag" , "-"); //DRG인정
-
- if ( ds_main_prcp_prcplist.getColumn(desrow, "able_erprcpflag") == "Y" // 응급가산 가능 처방
- && ds_main_paminfo.getColumn(0, "orgordtype") == "E" // 응급실 경유 환자
- && ds_main_paminfo.getColumn(0, "indd") + ds_main_paminfo.getColumn(0, "intm") >= utlf_getNewDate().getAddDate(-1,"D").getDateFormat("YYYYMMDDhhmm") // 내원 24시간 이내 환자 이면
- ) {
- ds_main_prcp_prcplist.setColumn(desrow, "erprcpflag" , "Y"); //응급처방구분
- } else {
- ds_main_prcp_prcplist.setColumn(desrow, "erprcpflag" , "N"); //응급처방구분
- }
-
- //20091021 khj 간호처방에서 야간(18:00~익일08:00)에 발생하는 처방 중 수가에서 야간 가산을 받을 수 있는 처방의 경우 간호처방 시 가산여부 “Y”로 자동세팅
- if ( ds_codelist.lookup("cdgrupid", '002', "cdid") == ds_main_cond.getColumn(0, "wardcd")
- && ds_main_cond.getColumn(0, "prcpdd")== utlf_getCurrentDate()
- && ( utlf_getCurrentTime().substring(0,2)< "08" || utlf_getCurrentTime().substring(0,2)>= "18")
- && ds_main_prcp_prcplist.getColumn(desrow, "estmcls")== "Y"
- ){
- ds_main_prcp_prcplist.setColumn(desrow, "nigtprcpflag", "Y"); //야간처방구분
- }else {
- ds_main_prcp_prcplist.setColumn(desrow, "nigtprcpflag", "N"); //야간처방구분
- }
-
- if(ds_main_prcp_prcplist.getColumn(desrow, "estmcls")!= "Y"){
- /*
- var sExprEdittype6 = group5.grd_prcpposlist.getCellProperty("Body", group5.grd_prcpposlist.getBindCellIndex("body","nigtprcpflag"), "edittype").replace("'combo'", "")
- + "currow == "+(desrow)+" ? 'none' : "
- + "'combo'";
-
- group5.grd_prcpposlist.setCellProperty("Body", group5.grd_prcpposlist.getBindCellIndex("body","nigtprcpflag"), "edittype", sExprEdittype6);
- */
- ds_main_prcp_prcplist.addColumn("tempnpf","string");
- ds_main_prcp_prcplist.setColumn(desrow, "tempnpf", 'none');
-
- }
- ds_main_prcp_prcplist.setColumn(desrow, "portprcpflag" , "N"); //포터블처방구분
- ds_main_prcp_prcplist.setColumn(desrow, "fixprcpflag" , "N"); //정액처방구분
- ds_main_prcp_prcplist.setColumn(desrow, "choiordflag" , "-"); //원무기준으로 처리하기 위해, '-' 설정
- ds_main_prcp_prcplist.setColumn(desrow, "anamneflag" , "N"); //기왕증구분
- ds_main_prcp_prcplist.setColumn(desrow, "angioflagcd" , "-"); //Angio구분
- dsf_makeValue(ds_main_prcp_prcplist,"homematrflag", "string", "N", desrow); //귀가유치를 위한 물품여부
- dsf_makeValue(ds_main_prcp_prcplist,"homematrqty", "string", "0", desrow); //귀가유치를 위한 물품수량
-
- if( utlf_isNull(ds_main_prcp_prcplist.getColumn(desrow, "opansflagcd")) ) {
- ds_main_prcp_prcplist.setColumn(desrow, "opansflagcd" , "-"); //수술마취구분
- }
-
- ds_main_prcp_prcplist.setColumn(desrow, "offictourhealexamflag" , "N"); //출장검진구분
- ds_main_prcp_prcplist.setColumn(desrow, "prcpdayno" , 1); //처방횟수(일자)
- ds_main_prcp_prcplist.setColumn(desrow, "prcpgenrflag" , ds_main_patinfocond_patinfo.getColumn(0, "ordtype"));
- ds_main_prcp_prcplist.setColumn(desrow, "prcpsignflag" , ""); //전처방에서 2로 copy되어 ""로 초기화
-
- //처방수량단위 설정, 약품일 경우 '3', 그 이외는 '-'로 설정
- var prcpclscd = ds_main_prcp_prcplist.getColumn(desrow, "prcpclscd");
- if(prcpclscd == "A2" || prcpclscd == "A4" || prcpclscd == "A6"){
- ds_main_prcp_prcplist.setColumn(desrow, "prcpqtyunitflag" , "3");
- }else{
- ds_main_prcp_prcplist.setColumn(desrow, "prcpqtyunitflag" , "-");
- }
-
- //가정간호 환자인 경우 처방적용일에 방문일자 셋팅
- if( ds_main_cond.getColumn(0, "homecareyn") == "Y") {
- ds_main_prcp_prcplist.setColumn(desrow, "prcpdelivefact" , ds_main_cond.getColumn(0, "visitdd")); //방문일자
- }else{
- ds_main_prcp_prcplist.setColumn(desrow, "prcpdelivefact" , ds_main_cond.getColumn(0, "prcpdd")); //적용일자
- }
-
- dsf_makeValue(ds_main_prcp_prcplist,"fstrgstrnm" , "string", "" , desrow);
- dsf_makeValue(ds_main_prcp_prcplist,"resncnts" , "string", "" , desrow);
- dsf_makeValue(ds_main_prcp_prcplist,"confirmdrnm" , "string", "" , desrow);
- dsf_makeValue(ds_main_prcp_prcplist,"confirmdt" , "string", "" , desrow);
- }
- /**
- * @desc : 간호처방 저장
- * @
- * @param :
- * @return :
- * @author : 오지훈 2008. 1. 4
- * @---------------------------------------------------
- */
- function fSavePrcp(){
-
- var oParam = {};
- oParam.id = "TXMNW10901";
- oParam.service = "wardorderapp.NursPrcpMngt";
- oParam.method = "reqExeSaveNursPrcp";
- oParam.inds = "saveFlagInfo=ds_send_savedata_saveflaginfo saveRgstInfo=ds_send_savedata_savergstinfo savePrcpInfo=ds_send_savedata_saveprcpinfo saveSignInfo=ds_send_savedata_savesigninfo";
- oParam.outds = "ds_temp_result_prcperrlist=prcperrlist";
- oParam.async = false;
- oParam.callback = "cf_TXMNW10901";
- tranf_submit(oParam);
-
- dsf_setDefaultVal(ds_send_savedata_saveprcpinfo, "hosinhosoutflag:-,tempprcpflag:N,prcpsetcd:-,prcpvolunitflag:-,prcpqtyunitflag:-,powdflag:N,selfprcpflag:N,selfdrugflag:N,drugpackflag:N,erprcpflag:N,precureprcpflag:N,nigtprcpflag:N,portprcpflag:N,fixprcpflag:N,fastprcpflag:N,erreadflag:N,prcpdirecflag:-,tnsuseflag:N,tnsfiltflag:N,trnptbftestflag:N,offictourhealexamflag:N,stemcellflag:00NNN,angioflagcd:-,opansflagcd:-,ansttm:0000,mealcalrcnts:0,mealprotcnts:0,mealupdtflag:0,hosinprcpresncd:00,etcprcpresncd:-,drugmthdspccd:-,issdeptcd:-,prcpauthflag:0,prcpinptflag:00,ordreqlnkno:0,testreqlnkno:0,tootfact:-,clinccmtcnts:-,hsctdelivepos:0,hsctlnkno:0,etcprcpflag:-,rehbprcpcurefreqflag:0,dietprcpgenrflag:-,irpayflag:N,irflag:N,procerdietflag:0,diagtestconttestintvlflag:N,drugindependpackflag:N,diagtestconttestbasetm:0,diagtestconttestorgtims:0,ermediscmngtresncd:-,rehbprcpenddd:-,matrallsizespecid:-,rehbprcpcurepartcd:-,lowdrugresncd:N,tfdtlcd:-,dnorreqlnkno:0,subcretno:0,exptmthdfact:-,lowdrugresnetcfact:-,diagtestconttestcdspec:-,drgacptflag:-");
-
- if( !utlf_isNull(ds_send_savedata_saveprcpinfo.getColumnInfo("homematrqty")) ){
- dsf_setTypeFormat(ds_send_savedata_saveprcpinfo, "homematrqty:INT");
- }
- if(arErrorCode.pop("TXMNW10901") > -1){
- //오류팝업
- var prcpErrList = ds_temp_result_prcperrlist.rowcount;
- if ( prcpErrList > 0 ) {
- if ( !utlf_isNull(ds_temp_result_prcperrlist.getColumn(0, "prcpcd"))){
- var xpt = system.clientToScreenX(this, this.position.left) + 100;
- var ypt = system.clientToScreenY(this, this.position.top) + 50;
- //var coord = getRelativeCoordinate ( xpt, ypt );
- var mon = sysf_getCurrentMonitorNumber();
- //xpt = coord[1];
- //ypt = coord[2];
- dsf_createDs("ds_arg_temp_result_prcperrlist");
- ds_arg_temp_result_prcperrlist.copyData(ds_temp_result_prcperrlist);
- var objArg = new Object();
- objArg.arg_ds_result_prcperrlist = ds_arg_temp_result_prcperrlist;
- frmf_open("SPMMO00600", "SPMMO00600", objArg, false, mon, xpt, ypt, null, null, null, null, null, "M");
-
- ds_temp_result_prcperrlist.clearData();
- }
- } else {
- //전처방 화면으로 변경
- group5.switch1.tabindex = 2;
- fprcpsetzoomToggle(false);
- fbfzoomToggle(false);
- //처방 저장 후 전처방 조회시 저장된 처방이 보이도록 스크롤을 가장 위로 함
- group5.switch1.case_bf.grd_bfprcplist.vscrollbar.pos = 0;
- ds_main_prcp_prcplist.clearData();
-
- /*
- group5.grd_prcpposlist.setCellProperty("Body", group5.grd_prcpposlist.getBindCellIndex("body","tempcol8"), "edittype", "expr:'checkbox'");
- group5.grd_prcpposlist.setCellProperty("Body", group5.grd_prcpposlist.getBindCellIndex("body","tempcol8"), "controlbackground", "EXPR('')");
- group5.grd_prcpposlist.setCellProperty("Body", group5.grd_prcpposlist.getBindCellIndex("body","nigtprcpflag"), "edittype", "expr:'combo'");
- group5.grd_prcpposlist.setCellProperty("Body", group5.grd_prcpposlist.getBindCellIndex("body","precureprcpflag"), "edittype", "combo");
- */
- ds_main_insumsginfo_insuinfo.setColumn(0, "limmsg", "");
- fReqBfNursPrcpInfo(); // 전처방 조회
- fReqTempNursPrcpInfo(); // 임시처방 조회
- if(frmf_getMenuParam() == "SMMNH" || opener.frmf_getParameter("screenParam") == "SMMNH"){
- fSearchHomePatInfo(); // 방문일자 조회_20090330(ByJA)
- }
- }
- }
- }
- /**
- * @desc : 처방저장 오류내역표시
- * @
- * @param :
- * @return :
- * @author : 성미연 2008. 2. 23
- * @---------------------------------------------------
- */
- function fDestDisplayErrlist(errListPath, gridID ){
- var gridObj = document.controls.item(gridID);
-
- gridObj.rebuildStyle();
- //전처방 리스트에서 반납일 경우 텍스트 빨간색
- for (var i = 1; i<= getNodesetCount(errListPath); i++) {
- var prcplineno = model.getValue(errListPath + "[" + i + "]/prcplineno");
- for (var j = 1; j< gridObj.rows; j++) {
- if (prcplineno == j ) {
- gridObj.rowStyle(j, "data", "color") = "#FF0000";
- }
-
- }
- }
- }
- /**
- * @desc : 처방 SET 그리드 클릭시
- * @
- * @param :
- * @return :
- * @author : 성미연 2008. 1. 9
- * @---------------------------------------------------
- */
- function fClickSetPrcp(mthdflag){
- ds_main_prcp_prcplist.updatecontrol = false;
- ds_main_prcp_prcplist.enableevent = false;
- if(utlf_isNull(mthdflag)) mthdflag == "dblclick"; //복사 버튼은 btnclick
- if ( (ds_main_prcpset_prcplist.rowposition < 0) && mthdflag != "btnclick" ) {
- return;
- }
- if (ds_main_prcpset_prcplist.rowposition > -1 ){
-
- if ( utlf_isNull(ds_main_cond.getColumn(0, "patnm")) ) {
- sysf_messageBox("해당 환자를", "C002");
- return;
- }
- if (group5.grp_prcpapp.visible == true){
- sysf_messageBox("처방적용일을 확인 후 진행하세요.", "C");
- return;
- }
- if (ds_main_cond.getColumn(0, "homecareyn") == "Y" && utlf_isNull(ds_main_cond.getColumn(0, "visitdd")) ) {
-
- // 방문일자를 선택하지 않은 경우 안내 메시지와 함께 방문일자가 처방당일로 자동 설정 되도록 요청에 의해 수정_김숙인ITC요청_20081215수정(ByJA)
- var rtnval = sysf_messageBox("방문일을 선택하지 않으셨습니다. 방문일을 처방일과 동일하게 계속 진행하시겠습니까?", "S"); // return : yes=6, no=7
- if(rtnval == "6"){ // yes
- dsf_makeValue(ds_main_cond,"visitdd", "string" , ds_main_cond.getColumn(0, "prcpdd"));
- }else{
- return;
- }
- }
-
- //ALL SIZE 처방 처리
- if(ds_main_prcpset_prcplist.getColumn(ds_main_prcpset_prcplist.rowposition, "prcpclscd") == "M2"
- && ds_main_prcpset_prcplist.getColumn(ds_main_prcpset_prcplist.rowposition, "matrallsizespecid") == "ALL") {
-
- var grupsnglflag = ds_main_prcpset_prcplist.getColumn(ds_main_prcpset_prcplist.rowposition, "grupsnglflag");
- var calcscormastspec = utlf_transNullToEmpty(ds_main_prcpset_prcplist.getColumn(ds_main_prcpset_prcplist.rowposition, "calcscormastspec")).split("|");
- var matrsizeflag = calcscormastspec[2];
- var matrallsizespecid = ds_main_prcpset_prcplist.getColumn(ds_main_prcpset_prcplist.rowposition, "matrallsizespecid");
-
- //var xpt = window.screenleft + 100;
- //var ypt = window.screenTop + 50;
- //var coord = getRelativeCoordinate ( xpt, ypt );
- //var mon = coord[0];
- //xpt = coord[1];
- //ypt = coord[2];
-
- frmf_setParameter("scrnflag", "nursprcp");
- frmf_setParameter("grupsnglflag", 'S');
- frmf_setParameter("calcscorcd", calcscormastspec[3]);
- frmf_setParameter("matrallsizespecid", matrallsizespecid);
- frmf_setParameter("currow", ds_main_prcpset_prcplist.rowposition);
- frmf_setParameter("targetpath", "ds_main_prcp_prcplist");
- frmf_modal("SPMNW11500","SPMNW11500","", "", "", "", "", "", "", "", "", "", "M");
- //modal("SPMNW11500", mon, xpt, ypt);
-
- }else{
- mnwAddNursPrcp(ds_main_prcpset_prcplist, "ds_main_prcp_prcplist", ds_main_prcpset_prcplist.rowposition, "");
-
- if( utlf_isNull(ds_main_prcp_prcplist.getColumnInfo("tempcol8")) ){
- ds_main_prcp_prcplist.addColumn("tempcol8", "string");
- }
-
- fSetNursPrcpDefault(ds_main_prcp_prcplist.rowcount - 1);
- ds_main_prcp_prcplist.setColumn(ds_main_prcp_prcplist.rowcount-1, "status", "I"); //처방상태 : 신규
-
- }
-
- // 16.10.10_심사팀 요청에 의한 추가
- var sprcpcd = ds_main_prcpset_prcplist.getColumn(ds_main_prcpset_prcplist.rowposition, "prcpcd");
- dsf_createDs("ds_send_reqdata1");
- dsf_makeValue(ds_send_reqdata1,"prcpcd","string", sprcpcd);
- //부서콤보 조회
- var oParam = {};
- oParam.id = "TRMNW10923";
- oParam.service = "wardorderapp.NursPrcpMngt";
- oParam.method = "reqGetInsulInfo";
- oParam.inds = "req=ds_send_reqdata1";
- oParam.outds = "ds_temp_insulinfo_insulinfo=insulinfo";
- oParam.async = false;
- tranf_submit(oParam);
- ds_temp_insulinfo_insulinfo.addColumn("insulinfo", "string");
- if (ds_temp_insulinfo_insulinfo.getColumn(0, "insulinfo") == "Y") {
- sysf_messageBox("선별급여 품목이오니 보험기준 확인 후 저장바랍니다.", "E999");
- }
- /*
- // 16.09.27_심사팀 요청에 의한 추가_AYS
- ds_main_prcpset_prcplist.addColumn("insulinfoyn", "string");
- if( ds_main_prcpset_prcplist.getColumn(ds_main_prcpset_prcplist.rowposition, "insulinfoyn") == "Y" ){
- sysf_messageBox("선별급여 품목이오니 보험기준 확인 후 저장바랍니다.", "E999");
- }
- */
- fSetPrcpInfo()
- //신규처방은 반환컬럼 disable
-
- //expr:
- //currow == 1 ? 'none' :
- //'checkbox'
- /*
- var sExprEdittype = group5.grd_prcpposlist.getCellProperty("Body", group5.grd_prcpposlist.getBindCellIndex("body","tempcol8"), "edittype").replace("'checkbox'", "")
- + "currow == "+(ds_main_prcp_prcplist.rowcount-1)+" ? 'none' : "
- + "'checkbox'";
-
- var controlbg = group5.grd_prcpposlist.getCellProperty("Body", group5.grd_prcpposlist.getBindCellIndex("body","tempcol8"), "controlbackground").replace("'')", "");
- controlbg += "currow == "+(ds_main_prcp_prcplist.rowcount-1)+" ? 'silver' : ";
- controlbg += "'')";
- */
- ds_main_prcp_prcplist.addColumn("tempet","string");
- ds_main_prcp_prcplist.setColumn((ds_main_prcp_prcplist.rowcount-1), "tempet", 'none');
- //group5.grd_prcpposlist.setCellProperty("Body", group5.grd_prcpposlist.getBindCellIndex("body","tempcol8"), "edittype" , sExprEdittype);
- ds_main_prcp_prcplist.addColumn("tempcbg","string");
- ds_main_prcp_prcplist.setColumn((ds_main_prcp_prcplist.rowcount-1), "tempcbg", 'silver');
- //group5.grd_prcpposlist.setCellProperty("Body", group5.grd_prcpposlist.getBindCellIndex("body","tempcol8"), "controlbackground" , controlbg);
-
- if(ds_main_prcp_prcplist.getColumn(ds_main_prcp_prcplist.rowcount-1, "estmcls")!= "Y"){
- /*
- var sExprEdittype4 = group5.grd_prcpposlist.getCellProperty("Body", group5.grd_prcpposlist.getBindCellIndex("body","nigtprcpflag"), "edittype").replace("'combo'", "")
- + "currow == "+(ds_main_prcp_prcplist.rowcount-1)+" ? 'none' : "
- + "'combo'";
-
- group5.grd_prcpposlist.setCellProperty("Body", group5.grd_prcpposlist.getBindCellIndex("body","nigtprcpflag"), "edittype", sExprEdittype4);
- */
- ds_main_prcp_prcplist.addColumn("tempnpf","string");
- ds_main_prcp_prcplist.setColumn((ds_main_prcp_prcplist.rowcount-1), "tempnpf", 'none');
- }
-
-
- //수가 보험정보 조회
- var calcscormastspec = utlf_transNullToEmpty(ds_main_prcpset_prcplist.getColumn(ds_main_prcpset_prcplist.rowposition, "calcscormastspec"));
- var calcscorcd = calcscormastspec.split("|");
- fInsuMsgInfoRef(calcscorcd[3]);
- }
- ds_main_prcp_prcplist.enableevent = true;
- ds_main_prcp_prcplist.updatecontrol = true;
- }
-
- /**
- * @desc : 전처방 그리드 클릭시
- * @
- * @param :
- * @return :
- * @author : 성미연 2008. 1. 9
- * @---------------------------------------------------
- */
- function fClickBfPrcp(mthdflag){
- ds_main_prcp_prcplist.updatecontrol = false;
- ds_main_prcp_prcplist.enableevent = false;
-
- if(utlf_isNull(mthdflag)) mthdflag = "dblclick"; //복사 버튼은 btnclick
- if ( group5.switch1.case_bf.grd_bfprcplist.currentrow < 0 && group5.switch1.case_bf.grd_bfprcplist.currentcol < 0 && mthdflag != "btnclick" ) {
- return;
- }
- if (ds_main_bfprcp_prcplist.rowposition > -1 ){
-
- if ( utlf_isNull(ds_main_cond.getColumn(0, "patnm")) ) {
- sysf_messageBox("해당 환자를", "C002");
- return;
- }
- if (group5.grp_prcpapp.visible == true){
- sysf_messageBox("처방적용일을 확인 후 진행하세요.", "C");
- return;
- }
-
- var prcphistcd = ds_main_bfprcp_prcplist.getColumn(ds_main_bfprcp_prcplist.rowposition, "prcphistcd");
- var flag = ds_main_bfprcp_prcplist.getColumn(ds_main_bfprcp_prcplist.rowposition, "flag");
- var prcpcd = ds_main_bfprcp_prcplist.getColumn(ds_main_bfprcp_prcplist.rowposition, "prcpcd");
-
- if(flag == "N") {
- sysf_messageBox("[" + prcpcd + "]처방은 수가가 종료되어 반환만 가능합니다.", "E");
- }
-
- if (prcphistcd == "L" || prcphistcd == "D" ) {
- return;
-
- }else{
- //가정간호
- if (ds_main_cond.getColumn(0, "homecareyn") == "Y"){
- if ( utlf_isNull(ds_main_cond.getColumn(0, "visitdd")) ){
- var rtnval = sysf_messageBox("방문일을 선택하지 않으셨습니다. 방문일을 처방일과 동일하게 계속 진행하시겠습니까?", "S"); // return : yes=6, no=7
- if(rtnval == "6"){ // yes
- dsf_makeValue(ds_main_cond,"visitdd","string",ds_main_cond.getColumn(0, "prcpdd"));
- }else{
- return;
- }
- /* 원본_20090122
- messageBox("방문일자를", "C002");
- return;
- */
- }
- //방문일자와 다른 방문일의 처방 클릭시 blocking
- if (ds_main_cond.getColumn(0, "visitdd") != ds_main_bfprcp_prcplist.getColumn(ds_main_bfprcp_prcplist.rowposition, "prcpdelivefact")){
- sysf_messageBox("방문일이 동일한 처방에 대해서만 일괄 저장이 가능합니다.", "C");
- return;
- }
- }
- if( utlf_isNull(ds_main_prcp_prcplist.getColumnInfo("tempcol6")) ){
- ds_main_prcp_prcplist.addColumn("tempcol6", "string");
- }
-
- if( utlf_isNull(ds_main_prcp_prcplist.getColumnInfo("tempcol8")) ){
- ds_main_prcp_prcplist.addColumn("tempcol8", "string");
- }
-
- mnwAddNursPrcp(ds_main_bfprcp_prcplist, "ds_main_prcp_prcplist", ds_main_bfprcp_prcplist.rowposition, "");
-
- if( utlf_isNull(ds_main_prcp_prcplist.getColumnInfo("tempcol8")) ){
- ds_main_prcp_prcplist.addColumn("tempcol8", "string");
- }
-
- fSetNursPrcpDefault(ds_main_prcp_prcplist.rowcount - 1);
- ds_main_prcp_prcplist.setColumn(ds_main_prcp_prcplist.rowcount-1, "status", "B"); //처방상태[전]
- //추가..
- ds_main_prcp_prcplist.addColumn("tempet","string");
- ds_main_prcp_prcplist.setColumn((ds_main_prcp_prcplist.rowcount-1), "tempet", 'checkbox');
-
- }
-
- fSetPrcpInfo();
- if(ds_main_prcp_prcplist.getColumn(ds_main_prcp_prcplist.rowcount-1, "estmcls")!= "Y"){
- /*
- var sExprEdittype1 = group5.grd_prcpposlist.getCellProperty("Body", group5.grd_prcpposlist.getBindCellIndex("body","nigtprcpflag"), "edittype").replace("'combo'", "")
- + "currow == "+(ds_main_prcp_prcplist.rowcount-1)+" ? 'none' : "
- + "'combo'";
-
- group5.grd_prcpposlist.setCellProperty("Body", group5.grd_prcpposlist.getBindCellIndex("body","nigtprcpflag"), "edittype", sExprEdittype1);
- */
- ds_main_prcp_prcplist.addColumn("tempnpf","string");
- ds_main_prcp_prcplist.setColumn((ds_main_prcp_prcplist.rowcount-1), "tempnpf", 'none');
- }
- //수가 보험정보 조회
- var calcscormastspec = utlf_transNullToEmpty(ds_main_bfprcp_prcplist.getColumn(ds_main_bfprcp_prcplist.rowposition, "calcscormastspec"));
- var calcscorcd = calcscormastspec.split("|");
- fInsuMsgInfoRef(calcscorcd[3]);
- }
- ds_main_prcp_prcplist.updatecontrol = true;
- ds_main_prcp_prcplist.enableevent = true;
- }
- /**
- * @desc : 임시처방 그리드 클릭시
- * @
- * @param :
- * @return :
- * @author : 성미연 2008. 1. 9
- * @---------------------------------------------------
- */
- function fClickTempPrcp(){
- if (ds_main_tempprcp_prcplist.rowposition > -1 ){
- ds_main_prcp_prcplist.updatecontrol = false;
- ds_main_prcp_prcplist.enableevent = false;
-
- if ( utlf_isNull(ds_main_cond.getColumn(0, "patnm")) ) {
- sysf_messageBox("해당 환자를", "C002");
- return;
- }
- if (group5.grp_prcpapp.visible == true){
- sysf_messageBox("처방적용일을 확인 후 진행하세요.", "C");
- return;
- }
- if (ds_main_cond.getColumn(0, "homecareyn") == "Y" && utlf_isNull(ds_main_cond.getColumn(0, "visitdd")) ) {
- sysf_messageBox("방문일자를", "C002");
- return;
- }
- if (ds_main_prcp_prcplist.findRow("tempcol21",ds_main_tempprcp_prcplist.getColumn(ds_main_tempprcp_prcplist.rowposition, "tempcol21")) != -1) { //없으면 -1, 있으면 해당 row 리턴
- sysf_messageBox("처방이", "E006");
- return;
- }
-
- var prcpclscd = ds_main_tempprcp_prcplist.getColumn(ds_main_tempprcp_prcplist.rowposition, "prcpclscd");
- var grupsnglflag = ds_main_tempprcp_prcplist.getColumn(ds_main_tempprcp_prcplist.rowposition, "grupsnglflag");
- var calcscormastspec = utlf_transNullToEmpty(ds_main_tempprcp_prcplist.getColumn(ds_main_tempprcp_prcplist.rowposition, "calcscormastspec")).split("|");
- var matrsizeflag = calcscormastspec[2];
- var matrallsizespecid = ds_main_tempprcp_prcplist.getColumn(ds_main_tempprcp_prcplist.rowposition, "matrallsizespecid"); //""
-
- //ALL SIZE 처방 처리(임시처방에서 처방발행시 활동진술문 중 규격이 매핑되어 있지 않은 경우)
- if(prcpclscd == "M2" && grupsnglflag == "S" && matrsizeflag == "Y" && ( utlf_isNull(matrallsizespecid) || matrallsizespecid == "-")){
- //var xpt = window.screenleft + 100;
- //var ypt = window.screenTop + 50;
- //var coord = getRelativeCoordinate ( xpt, ypt );
- //var mon = coord[0];
- //xpt = coord[1];
- //ypt = coord[2];
-
- frmf_setParameter("scrnflag", "tempprcp");
- frmf_setParameter("grupsnglflag", 'S');
- frmf_setParameter("calcscorcd", calcscormastspec[3]);
- frmf_setParameter("matrallsizespecid", matrallsizespecid);
- frmf_setParameter("currow", ds_main_tempprcp_prcplist.rowposition);
- frmf_setParameter("targetpath", "ds_main_prcp_prcplist");
-
- frmf_modal("SPMNW11500","SPMNW11500","", "", "", "", "", "", "", "", "", "", "M");
- //modal("SPMNW11500", mon, xpt, ypt);
-
- }else{
- //처방 main grid로 임시처방 copy
- mnwAddNursPrcp(ds_main_tempprcp_prcplist, "ds_main_prcp_prcplist", ds_main_tempprcp_prcplist.rowposition, "");
-
- if( utlf_isNull(ds_main_prcp_prcplist.getColumnInfo("tempcol8")) ){
- ds_main_prcp_prcplist.addColumn("tempcol8", "string");
- }
-
- fSetNursPrcpDefault(ds_main_prcp_prcplist.rowcount - 1);
- ds_main_prcp_prcplist.setColumn(ds_main_prcp_prcplist.rowcount-1, "status", "T"); //처방상태[임]
- }
-
- fSetPrcpInfo();
- //임시처방은 반환컬럼 disable
- /*
- var sExprEdittype2 = group5.grd_prcpposlist.getCellProperty("Body", group5.grd_prcpposlist.getBindCellIndex("body","tempcol8"), "edittype").replace("'checkbox'", "")
- + "currow == "+(ds_main_prcp_prcplist.rowcount-1)+" ? 'none' : "
- + "'checkbox'";
-
- var controlbg = group5.grd_prcpposlist.getCellProperty("Body", group5.grd_prcpposlist.getBindCellIndex("body","tempcol8"), "controlbackground").replace("'')", "");
- controlbg += "currow == "+(ds_main_prcp_prcplist.rowcount-1)+" ? 'silver' : ";
- controlbg += "'')";
- */
- //group5.grd_prcpposlist.setCellProperty("Body", group5.grd_prcpposlist.getBindCellIndex("body","tempcol8"), "edittype", sExprEdittype2);
- ds_main_prcp_prcplist.addColumn("tempet","string");
- ds_main_prcp_prcplist.setColumn((ds_main_prcp_prcplist.rowcount-1), "tempet", 'none');
- ds_main_prcp_prcplist.addColumn("tempcbg","string");
- ds_main_prcp_prcplist.setColumn((ds_main_prcp_prcplist.rowcount-1), "tempcbg", 'silver');
- //group5.grd_prcpposlist.setCellProperty("Body", group5.grd_prcpposlist.getBindCellIndex("body","tempcol8"), "controlbackground" , controlbg);
-
- if(ds_main_prcp_prcplist.getColumn(ds_main_prcp_prcplist.rowcount-1, "estmcls")!= "Y"){
- /*
- var sExprEdittype7 = group5.grd_prcpposlist.getCellProperty("Body", group5.grd_prcpposlist.getBindCellIndex("body","nigtprcpflag"), "edittype").replace("'combo'", "")
- + "currow == "+(ds_main_prcp_prcplist.rowcount-1)+" ? 'none' : "
- + "'combo'";
-
- group5.grd_prcpposlist.setCellProperty("Body", group5.grd_prcpposlist.getBindCellIndex("body","nigtprcpflag"), "edittype", sExprEdittype7);
- */
- ds_main_prcp_prcplist.addColumn("tempnpf","string");
- ds_main_prcp_prcplist.setColumn((ds_main_prcp_prcplist.rowcount-1), "tempnpf", 'none');
- }
-
- //수가 보험정보 조회
- var calcscormastspec = utlf_transNullToEmpty(ds_main_tempprcp_prcplist.getColumn(ds_main_tempprcp_prcplist.rowposition, "calcscormastspec"));
- var calcscorcd = calcscormastspec.split("|");
- fInsuMsgInfoRef(calcscorcd[3]);
-
- ds_main_prcp_prcplist.updatecontrol = true;
- ds_main_prcp_prcplist.enableevent = true;
- }
- }
- /**
- * @desc : 처방저장 그리드 저장 이전 셋팅
- * @
- * @param :
- * @return :
- * @author : 성미연 2008. 1. 9
- * @---------------------------------------------------
- */
- function fSetPrcpInfo(refYN){
- //KNUH, 처방복사 버튼 클릭하여 선택된 처방 리스트를 복사하는 기능을 위해 refYN 인자 추가 (2011.02.16 JJE)
- if( utlf_isNull(refYN) ) refYN = "Y";
-
- //환자상태가 병동, 응급의료센터일 경우 선처치 비활성화
- var ordtype = ds_main_patinfocond_patinfo.getColumn(0, "ordtype");
- if (ordtype == 'I' || ordtype == 'E') {
- group5.grd_prcpposlist.setCellProperty("Body", group5.grd_prcpposlist.getBindCellIndex("body","precureprcpflag") , "edittype", 'none');
- } else {
- group5.grd_prcpposlist.setCellProperty("Body", group5.grd_prcpposlist.getBindCellIndex("body","precureprcpflag") , "edittype", 'combo');
- }
-
- //KNUH, 처방복사 버튼 클릭하여 선택된 처방 리스트를 복사하는 기능을 위해 refYN 값에 따라 refresh 처리 분기 (2011.02.16 JJE)
- //if(refYN == "Y") grd_prcpposlist.refresh();
- }
-
- /**
- * @desc : 처방저장 그리드에서 반환컬럼 클릭시(물품 팝업, 수량, 총용량 변경)
- * @
- * @param :
- * @return :
- * @author : 성미연 2008. 1. 9
- * @---------------------------------------------------
- */
- function fClickRtn() {
-
- }
- /**
- * @desc : 귀가유치물품 관련 데이터(여부,수량) 입력값 체크
- * @
- * @param : iRow-체크대상 행번호
- * @return :
- * @author : 김진아 2009.02.06
- * @---------------------------------------------------
- */
- function fChkHomeMatr(iRow){
- var ordtype = ds_main_patinfocond_patinfo.getColumn(0, "ordtype");
- var prcpclscd = ds_main_prcp_prcplist.getColumn(iRow, "prcpclscd");
- var homematrflag = ds_main_prcp_prcplist.getColumn(iRow, "homematrflag");
- var homematrqty = ds_main_prcp_prcplist.getColumn(iRow, "homematrqty");
- var prcpqty = ds_main_prcp_prcplist.getColumn(iRow, "prcpqty");
- if( (ds_main_prcp_prcplist.getColumn(iRow, "homematrflag")=="Y")
- ||(ds_main_prcp_prcplist.getColumn(iRow, "homematrqty") !="0")){
-
- if(ordtype!="O"){
- sysf_messageBox("귀가유치물품을 지정할 수 없는 환자입니다.", "I", "(외래환자만 지정가능)");
- dsf_makeValue(ds_main_prcp_prcplist,"homematrflag","string", "N", iRow);
- dsf_makeValue(ds_main_prcp_prcplist,"homematrqty","string", "0", iRow);
- return ;
- } else if(prcpclscd!="M2"){
- sysf_messageBox("귀가유치물품을 지정할 수 없는 처방입니다.", "I", "(재료처방만 지정가능)");
- dsf_makeValue(ds_main_prcp_prcplist,"homematrflag","string", "N", iRow);
- dsf_makeValue(ds_main_prcp_prcplist,"homematrqty","string", "0", iRow);
-
- return ;
- } else if(Number(prcpqty) < Number(homematrqty)){
- sysf_messageBox("처방수량보다 귀가유치물품수량이 더 많을 수 없습니다.", "I", "처방수량 확인 후 다시 지정하십시오.");
- dsf_makeValue(ds_main_prcp_prcplist,"homematrqty","string", "0", iRow);
- return ;
- }
- }
- }
- /**
- * @desc : 용량, 수량, 횟수를 수정했을 때 값계산
- * @
- * @param : flag : 용량, 수량, 횟수 변경 구분
- curRow : 수정할 현재 row
- * @return : void
- * @author : 마정민 2007. 4. 30
- * 소스카피 by cha
- * @---------------------------------------------------
- */
- /*
- function DrugCalc ( flag, curRow ) {
-
- var PrcpVol = model.getValue ( sPRCPLIST_PATH + "[" + curRow + "]/prcpvol" );
- if ( isNull(PrcpVol) || PrcpVol == 0 ) {
- PrcpVol = "1";
- }
-
- var PrcpQty = model.getValue ( sPRCPLIST_PATH + "[" + curRow + "]/prcpqty" );
- if ( isNull(PrcpQty) || PrcpQty == 0 ){
- PrcpQty = "1";
- }
- var bfPrcpVol = model.getValue ( "/root/drugcalc/prcpvol" );
- if ( isNull(bfPrcpVol) || bfPrcpVol == 0 ) {
- bfPrcpVol = "1";
- }
-
- var bfPrcpQty = model.getValue ( "/root/drugcalc/prcpqty" );
- if ( isNull(bfPrcpQty) || bfPrcpQty == 0 ) {
- bfPrcpQty = "1";
- }
-
- var calcPrcpVol = 0;
- var calcPrcpQty = 0;
-
- // if ( flag == "prcpvol" && bfPrcpVol != PrcpVol ) { // 용량을 수정했을 때: 수량 자동계산
- // calcPrcpQty = eval(PrcpVol) / eval(bfPrcpVol) * eval(PrcpQty)*1000;
- // calcPrcpQty = Math.round(calcPrcpQty)/1000;
- // model.setValue ( sPRCPLIST_PATH + "[" + curRow + "]/prcpqty", calcPrcpQty );
- //
- // } else if ( flag == "prcpqty" && bfPrcpQty != PrcpQty ) { // 수량을 수정했을 때: 용량 자동계산
- // calcPrcpVol = eval(PrcpQty) / eval(bfPrcpQty) * eval(PrcpVol)*1000;
- // calcPrcpVol = Math.round(calcPrcpVol)/1000;
- // model.setValue ( sPRCPLIST_PATH + "[" + curRow + "]/prcpvol", calcPrcpVol );
- // }20100514 khj
- //20090820 마정민 수정. 약인 경우는 최초의 용량 수량 비율로 계산하는 것으로 수정
- var baseQty = getArrayData ( model.getValue ( "/root/main/prcp/prcplist[" + curRow + "]/drugmastspec" ) + "^", 0, 31 , "^", "|" );
- var baseVol = getArrayData ( model.getValue ( "/root/main/prcp/prcplist[" + curRow + "]/drugmastspec" ) + "^", 0, 32 , "^", "|" );
-
- if (model.getValue ( sPRCPLIST_PATH + "[" + curRow + "]/prcpclscd" ).substring ( 0, 1 ) == "A" && !isNull(baseQty) && !isNull(baseVol)) {
- var baseQty = getArrayData ( model.getValue ( "/root/main/prcp/prcplist[" + curRow + "]/drugmastspec" ) + "^", 0, 31 , "^", "|" );
- var baseVol = getArrayData ( model.getValue ( "/root/main/prcp/prcplist[" + curRow + "]/drugmastspec" ) + "^", 0, 32 , "^", "|" );
-
- if ( flag == "prcpvol" && bfPrcpVol != PrcpVol ) { // 용량을 수정했을 때: 수량 자동계산
- calcPrcpQty = parseFloat(PrcpVol) / parseFloat(baseVol) * parseFloat(baseQty)*1000;
- calcPrcpQty = Math.round(calcPrcpQty)/1000;
- model.setValue ( sPRCPLIST_PATH + "[" + curRow + "]/prcpqty", calcPrcpQty );
- } else if ( flag == "prcpqty" && bfPrcpQty != PrcpQty ) { // 수량을 수정했을 때: 용량 자동계산
- var prcpclscd = model.getValue ( sPRCPLIST_PATH + "[" + curRow + "]/prcpclscd" );
- calcPrcpVol = parseFloat(PrcpQty) / parseFloat(baseQty) * parseFloat(baseVol)*1000;
- calcPrcpVol = Math.round(calcPrcpVol)/1000;
- model.setValue ( sPRCPLIST_PATH + "[" + curRow + "]/prcpvol", calcPrcpVol );
- }
- } else {
- if ( flag == "prcpvol" ) { // 용량을 수정했을 때: 수량 자동계산
- calcPrcpQty = eval(PrcpVol) / eval(bfPrcpVol) * eval(PrcpQty)*1000;
- calcPrcpQty = Math.round(calcPrcpQty)/1000;
- model.setValue ( sPRCPLIST_PATH + "[" + curRow + "]/prcpqty", calcPrcpQty );
- } else if ( flag == "prcpqty" ) { // 수량을 수정했을 때: 용량 자동계산
- calcPrcpVol = eval(PrcpQty) / eval(bfPrcpQty) * eval(PrcpVol)*1000;
- calcPrcpVol = Math.round(calcPrcpVol)/1000;
- model.setValue ( sPRCPLIST_PATH + "[" + curRow + "]/prcpvol", calcPrcpVol );
- }
- }
- }
- */
- function DrugCalc ( flag, curRow ) {
-
- var PrcpVol = ds_main_prcp_prcplist.getColumn(curRow, "prcpvol");
-
- if ( utlf_isNull(PrcpVol) || PrcpVol == 0 ) {
- PrcpVol = "1";
- }
- var PrcpQty = ds_main_prcp_prcplist.getColumn(curRow, "prcpqty");
- if ( utlf_isNull(PrcpQty) || PrcpQty == 0 ){
- PrcpQty = "1";
- }
- var PrcpTims = ds_main_prcp_prcplist.getColumn(curRow, "prcptims");
- if ( utlf_isNull(PrcpTims) || PrcpTims == 0 ) {
- PrcpTims = "1";
- }
- var drprcpetc7 = utlf_transNullToEmpty(ds_main_prcp_prcplist.getColumn(curRow, "drprcpetc7"));
- var drprcpetc7_2 = ds_main_prcp_prcplist.getColumn(curRow, "drprcpetc7");
- if ( utlf_isNull(drprcpetc7) || drprcpetc7 == 0 || drprcpetc7 == "-") {
- drprcpetc7 = "1";
- }
- var drprcpetc8 = utlf_transNullToEmpty(ds_main_prcp_prcplist.getColumn(curRow, "drprcpetc8"));
- var drprcpetc8_2 = ds_main_prcp_prcplist.getColumn(curRow, "drprcpetc8");
- if ( utlf_isNull(drprcpetc8) || drprcpetc8 == 0 || drprcpetc8 == "-") {
- drprcpetc8 = "1";
- }
-
- var bfPrcpVol = ds_drugcalc.getColumn(0, "prcpvol");
- if ( utlf_isNull(bfPrcpVol) || bfPrcpVol == 0 ) {
- bfPrcpVol = "1";
- }
- var bfPrcpQty = ds_drugcalc.getColumn(0, "prcpqty");
- if ( utlf_isNull(bfPrcpQty) || bfPrcpQty == 0 ) {
- bfPrcpQty = "1";
- }
- var bfprcpTims = ds_drugcalc.getColumn(0, "prcptims");
- if ( utlf_isNull(bfprcpTims) || bfprcpTims == 0 ) {
- bfprcpTims = "1";
- }
- var bfdrprcpetc7 = ds_drugcalc.getColumn(0, "drprcpetc7");
- if ( utlf_isNull(bfdrprcpetc7) || bfdrprcpetc7 == 0 ) {
- bfdrprcpetc7 = "1";
- }
- var bfdrprcpetc8 = ds_drugcalc.getColumn(0, "drprcpetc8");
- if ( utlf_isNull(bfdrprcpetc8) || bfdrprcpetc8 == 0 ) {
- bfdrprcpetc8 = "1";
- }
- var calcPrcpVol = 0;
- var calcPrcpQty = 0;
- var calcPrcpTimeVol = 0;
- var calcPrcpTimeQty = 0;
-
- //20090820 마정민 수정. 약인 경우는 최초의 용량 수량 비율로 계산하는 것으로 수정
- var baseQty = lf_getArrayData ( ds_main_prcp_prcplist.getColumn(curRow, "drugmastspec") + "^", 0, 31 , "^", "|" );
- var baseVol = lf_getArrayData ( ds_main_prcp_prcplist.getColumn(curRow, "drugmastspec") + "^", 0, 32 , "^", "|" );
- var drugcntsvol = getArrayData ( ds_main_prcp_prcplist.getColumn(curRow, "drugmastspec") + "^", 0, 1 , "^", "|" );
- var drugstndvol = getArrayData ( ds_main_prcp_prcplist.getColumn(curRow, "drugmastspec") + "^", 0, 3 , "^", "|" );
- var drugpackvol = getArrayData ( ds_main_prcp_prcplist.getColumn(curRow, "drugmastspec") + "^", 0, 5 , "^", "|" );
- var drugbasevol = getArrayData ( ds_main_prcp_prcplist.getColumn(curRow, "drugmastspec") + "^", 0, 7 , "^", "|" );
- var baseTimeVol = drugcntsvol * drugbasevol / drugpackvol;
- var baseTimeQty = drugbasevol;
-
- if (utlf_transNullToEmpty(ds_main_prcp_prcplist.getColumn(curRow, "prcpclscd")).substring ( 0, 1 ) == "A" && !utlf_isNull(baseQty) && !utlf_isNull(baseVol)) {
- if ( flag == "prcpvol" && bfPrcpVol != PrcpVol ) { // 용량을 수정했을 때: 수량 자동계산
- calcPrcpQty = parseFloat(PrcpVol) / parseFloat(baseVol) * parseFloat(baseQty)*1000;
- calcPrcpQty = Math.round(calcPrcpQty)/1000;
-
- calcPrcpTimeQty = parseFloat(PrcpVol) / parseFloat(baseVol) * parseFloat(baseTimeQty)*1000;
- calcPrcpTimeQty = Math.round(calcPrcpTimeQty)/1000;
- calcPrcpTimeVol = parseFloat(PrcpVol) / parseFloat(baseVol) * parseFloat(baseTimeVol)*1000;
- calcPrcpTimeVol = Math.round(calcPrcpTimeVol)/1000;
-
- //start: 요청번호 9851, 인슐린주사제 변경 alert (2010.01.28 JJE)
- var cnclInptTxt = utlf_transNullToEmpty(ds_main_prcp_prcplist.getColumn(curRow, "prcpcd"));
- var prcpcdEndTxt = cnclInptTxt.substring(cnclInptTxt.length-1, cnclInptTxt.length);
- if(ds_main_prcp_prcplist.getColumn(curRow, "tempcol2") == "05|04|09" && (prcpcdEndTxt == "J" || prcpcdEndTxt == "P") && calcPrcpQty < 1){
- sysf_messageBox(cnclInptTxt + "\n\n소량 처방을 원하시는 경우에는\nUNIT 단위 코드(원 처방의 끝자리 J나 P를 뺀 코드)로 변경 처방하여 주시기 바랍니다.", "I");
- } //end
- ds_main_prcp_prcplist.setColumn(curRow, "prcpqty", calcPrcpQty);
- ds_main_prcp_prcplist.setColumn(curRow, "drprcpetc7", calcPrcpTimeVol);
- ds_main_prcp_prcplist.setColumn(curRow, "drprcpetc8", calcPrcpTimeQty);
-
- } else if ( flag == "prcpqty" && bfPrcpQty != PrcpQty ) { // 수량을 수정했을 때: 용량 자동계산
-
- var prcpclscd = ds_main_prcp_prcplist.getColumn(curRow, "prcpclscd");
- calcPrcpVol = parseFloat(PrcpQty) / parseFloat(baseQty) * parseFloat(baseVol)*1000;
- calcPrcpVol = Math.round(calcPrcpVol)/1000;
-
- calcPrcpTimeQty = parseFloat(PrcpQty) / parseFloat(baseQty) * parseFloat(baseTimeQty)*1000;
- calcPrcpTimeQty = Math.round(calcPrcpTimeQty)/1000;
- calcPrcpTimeVol = parseFloat(PrcpQty) / parseFloat(baseQty) * parseFloat(baseTimeVol)*1000;
- calcPrcpTimeVol = Math.round(calcPrcpTimeVol)/1000;
-
- ds_main_prcp_prcplist.setColumn(curRow, "prcpvol", calcPrcpVol);
- ds_main_prcp_prcplist.setColumn(curRow, "drprcpetc7", calcPrcpTimeVol);
- ds_main_prcp_prcplist.setColumn(curRow, "drprcpetc8", calcPrcpTimeQty);
-
- } else if ( flag == "drprcpetc7" && bfdrprcpetc7 != drprcpetc7 ) { // 용량을 수정했을 때: 수량 자동계산
-
- calcPrcpQty = parseFloat(drprcpetc7) / parseFloat(baseTimeVol) * parseFloat(baseQty)*1000;
- calcPrcpQty = Math.round(calcPrcpQty)/1000;
- calcPrcpTimeQty = parseFloat(drprcpetc7) / parseFloat(baseTimeVol) * parseFloat(baseTimeQty)*1000;
- calcPrcpTimeQty = Math.round(calcPrcpTimeQty)/1000;
-
- calcPrcpVol = parseFloat(drprcpetc7) / parseFloat(baseTimeVol) * parseFloat(baseVol)*1000;
- calcPrcpVol = Math.round(calcPrcpVol)/1000;
-
- //start: 요청번호 9851, 인슐린주사제 변경 alert (2010.01.28 JJE)
- var cnclInptTxt = utlf_transNullToEmpty(ds_main_prcp_prcplist.getColumn(curRow, "prcpcd"));
- var prcpcdEndTxt = cnclInptTxt.substring(cnclInptTxt.length-1, cnclInptTxt.length);
- if(ds_main_prcp_prcplist.getColumn(curRow, "tempcol2") == "05|04|09" && (prcpcdEndTxt == "J" || prcpcdEndTxt == "P") && calcPrcpQty < 1){
- sysf_messageBox(cnclInptTxt + "\n\n소량 처방을 원하시는 경우에는\nUNIT 단위 코드(원 처방의 끝자리 J나 P를 뺀 코드)로 변경 처방하여 주시기 바랍니다.", "I");
- } //end
-
- if(String(drprcpetc7).substr(0,1) == "0") {
- calcPrcpQty = "1";
- calcPrcpVol = "1";
- calcPrcpTimeQty = "1";
- }
- if(String(drprcpetc8).substr(0,1) == "0") {
- calcPrcpQty = "1";
- calcPrcpVol = "1";
- calcPrcpTimeQty = "1";
- }
-
- ds_main_prcp_prcplist.setColumn(curRow, "prcpqty", calcPrcpQty);
- ds_main_prcp_prcplist.setColumn(curRow, "prcpvol", calcPrcpVol);
- ds_main_prcp_prcplist.setColumn(curRow, "drprcpetc8", calcPrcpTimeQty);
-
- } else if ( flag == "drprcpetc8" && bfdrprcpetc8 != drprcpetc8 ) { // 수량을 수정했을 때: 용량 자동계산
- calcPrcpVol = parseFloat(drprcpetc8) / parseFloat(baseTimeQty) * parseFloat(baseVol)*1000;
- calcPrcpVol = Math.round(calcPrcpVol)/1000;
-
- calcPrcpTimeVol = parseFloat(drprcpetc8) / parseFloat(baseTimeQty) * parseFloat(baseTimeVol)*1000;
- calcPrcpTimeVol = Math.round(calcPrcpTimeVol)/1000;
-
- calcPrcpQty = parseFloat(drprcpetc8) / parseFloat(baseTimeQty) * parseFloat(baseQty)*1000;
- calcPrcpQty = Math.round(calcPrcpQty)/1000;
-
- if(String(drprcpetc7).substr(0,1) == "0") {
- calcPrcpQty = "1";
- calcPrcpVol = "1";
- calcPrcpTimeQty = "1";
- }
- if(String(drprcpetc8).substr(0,1) == "0") {
- calcPrcpQty = "1";
- calcPrcpVol = "1";
- calcPrcpTimeQty = "1";
- }
-
- ds_main_prcp_prcplist.setColumn(curRow, "prcpvol", calcPrcpVol);
- ds_main_prcp_prcplist.setColumn(curRow, "prcpqty", calcPrcpQty);
- ds_main_prcp_prcplist.setColumn(curRow, "drprcpetc7", calcPrcpTimeVol);
-
- var prcpclscd = ds_main_prcp_prcplist.getColumn(curRow, "prcpclscd");
-
- }
- } else {
-
- if ( flag == "prcpvol" ) { // 용량을 수정했을 때: 수량 자동계산
- calcPrcpQty = eval(PrcpVol) / eval(bfPrcpVol) * eval(PrcpQty)*1000;
- calcPrcpQty = Math.round(calcPrcpQty)/1000;
- calcPrcpTimeVol = eval(PrcpVol) / eval(bfPrcpVol) * eval(drprcpetc7)*1000;
- calcPrcpTimeVol = Math.round(calcPrcpTimeVol)/1000;
- calcPrcpTimeQty = eval(PrcpVol) / eval(bfPrcpVol) * eval(drprcpetc8)*1000;
- calcPrcpTimeQty = Math.round(calcPrcpTimeQty)/1000;
-
- //start: 요청번호 9851, 인슐린주사제 변경 alert (2010.01.28 JJE)
- var cnclInptTxt = utlf_transNullToEmpty(ds_main_prcp_prcplist.getColumn(curRow, "prcpcd"));
- var prcpcdEndTxt = cnclInptTxt.substring(cnclInptTxt.length-1, cnclInptTxt.length);
- if( ds_main_prcp_prcplist.getColumn(curRow, "tempcol2") == "05|04|09" && (prcpcdEndTxt == "J" || prcpcdEndTxt == "P") && calcPrcpQty < 1){
- sysf_messageBox(cnclInptTxt + "\n\n소량 처방을 원하시는 경우에는\nUNIT 단위 코드(원 처방의 끝자리 J나 P를 뺀 코드)로 변경 처방하여 주시기 바랍니다.", "I");
- //model.setValue ( sPRCPLIST_PATH + "[" + curRow + "]/prcpvol", bfPrcpVol );
- //return;
- } //end
-
- ds_main_prcp_prcplist.setColumn(curRow, "prcpqty", calcPrcpQty);
- ds_main_prcp_prcplist.setColumn(curRow, "drprcpetc7", calcPrcpTimeVol);
- ds_main_prcp_prcplist.setColumn(curRow, "drprcpetc8", calcPrcpTimeQty);
-
- } else if ( flag == "prcpqty" ) { // 수량을 수정했을 때: 용량 자동계산
- var prcpclscd = ds_main_prcp_prcplist.getColumn(curRow, "prcpclscd");
- calcPrcpVol = eval(PrcpQty) / eval(bfPrcpQty) * eval(PrcpVol)*1000;
- calcPrcpVol = Math.round(calcPrcpVol)/1000;
-
- calcPrcpTimeVol = eval(PrcpQty) / eval(bfPrcpQty) * eval(drprcpetc7)*1000;
- calcPrcpTimeVol = Math.round(calcPrcpTimeVol)/1000;
- calcPrcpTimeQty = eval(PrcpQty) / eval(bfPrcpQty) * eval(drprcpetc8)*1000;
- calcPrcpTimeQty = Math.round(calcPrcpTimeQty)/1000;
-
- ds_main_prcp_prcplist.setColumn(curRow, "prcpvol", calcPrcpVol);
- ds_main_prcp_prcplist.setColumn(curRow, "drprcpetc7", calcPrcpTimeVol);
- ds_main_prcp_prcplist.setColumn(curRow, "drprcpetc8", calcPrcpTimeQty);
-
- if ( prcpclscd == "M2" ) {
- //20090330 마정민수정. 귀가유치용 물품처방은 의사처방 수량을 수정하면 귀가유치용물품수량컬럼에 같이 반영한다.
- if (!utlf_isNull(ds_main_prcp_prcplist.getColumn(curRow, "drprcpetc4")) && ds_main_prcp_prcplist.getColumn(curRow, "drprcpetc4")!= "-" && ds_main_prcp_prcplist.getColumn(curRow, "drprcpetc4")>0){
- ds_main_prcp_prcplist.setColumn(curRow, "drprcpetc4", PrcpQty);
- }
- }
- } else if ( flag == "drprcpetc7" && bfdrprcpetc7 != drprcpetc7 ) { // 용량을 수정했을 때: 수량 자동계산
-
- calcPrcpTimeQty = eval(drprcpetc7) / eval(bfdrprcpetc7) * eval(drprcpetc8)*1000;
- calcPrcpTimeQty = Math.round(calcPrcpTimeQty)/1000;
- calcPrcpVol = eval(drprcpetc7) / eval(bfdrprcpetc7) * eval(PrcpVol)*1000;
- calcPrcpVol = Math.round(calcPrcpVol)/1000;
- calcPrcpQty = eval(drprcpetc7) / eval(bfdrprcpetc7) * eval(PrcpQty)*1000;
- calcPrcpQty = Math.round(calcPrcpQty)/1000;
-
- //start: 요청번호 9851, 인슐린주사제 변경 alert (2010.01.28 JJE)
- var cnclInptTxt = utlf_transNullToEmpty(ds_main_prcp_prcplist.getColumn(curRow, "prcpcd"));
- var prcpcdEndTxt = cnclInptTxt.substring(cnclInptTxt.length-1, cnclInptTxt.length);
- ds_main_prcp_prcplist.addColumn("tempcol2", "string");
- if(ds_main_prcp_prcplist.getColumn(curRow, "tempcol2") == "05|04|09" && (prcpcdEndTxt == "J" || prcpcdEndTxt == "P") && calcPrcpQty < 1){
- sysf_messageBox(cnclInptTxt + "\n\n소량 처방을 원하시는 경우에는\nUNIT 단위 코드(원 처방의 끝자리 J나 P를 뺀 코드)로 변경 처방하여 주시기 바랍니다.", "I");
- } //end
- if(String(drprcpetc7).substr(0,1) == "0" && String(drprcpetc7).substr(1,1) != ".") {
- calcPrcpQty = "1";
- calcPrcpVol = "1";
- calcPrcpTimeQty = "1";
-
- ds_main_prcp_prcplist.setColumn(curRow, "drprcpetc7", "1");
- }
- if(String(drprcpetc8).substr(0,1) == "0" && String(drprcpetc8).substr(1,1) != ".") {
- calcPrcpQty = "1";
- calcPrcpVol = "1";
- calcPrcpTimeQty = "1";
-
- ds_main_prcp_prcplist.setColumn(curRow, "drprcpetc7", "1");
- }
-
- ds_main_prcp_prcplist.setColumn(curRow, "prcpqty", calcPrcpQty);
- ds_main_prcp_prcplist.setColumn(curRow, "prcpvol", calcPrcpVol);
- ds_main_prcp_prcplist.setColumn(curRow, "drprcpetc8", calcPrcpTimeQty);
-
- if ( utlf_isNull(drprcpetc7_2) || drprcpetc7_2 == 0 || drprcpetc7_2 == "-") {
- ds_main_prcp_prcplist.setColumn(curRow, "drprcpetc7", "1");
- }
-
- } else if ( flag == "drprcpetc8" && bfdrprcpetc8 != drprcpetc8 ) { // 수량을 수정했을 때: 용량 자동계산
- calcPrcpTimeVol = eval(drprcpetc8) / eval(bfdrprcpetc8) * eval(drprcpetc7)*1000;
- calcPrcpTimeVol = Math.round(calcPrcpTimeVol)/1000;
- calcPrcpVol = eval(drprcpetc8) / eval(bfdrprcpetc8) * eval(PrcpVol)*1000;
- calcPrcpVol = Math.round(calcPrcpVol)/1000;
- calcPrcpQty = eval(drprcpetc8) / eval(bfdrprcpetc8) * eval(PrcpQty)*1000;
- calcPrcpQty = Math.round(calcPrcpQty)/1000;
-
- if(String(drprcpetc7).substr(0,1) == "0" && String(drprcpetc7).substr(1,1) != ".") {
- calcPrcpQty = "1";
- calcPrcpVol = "1";
- calcPrcpTimeVol = "1";
-
- ds_main_prcp_prcplist.setColumn(curRow, "drprcpetc8", "1");
- }
- if(String(drprcpetc8).substr(0,1) == "0" && String(drprcpetc8).substr(1,1) != ".") {
- calcPrcpQty = "1";
- calcPrcpVol = "1";
- calcPrcpTimeVol = "1";
-
- ds_main_prcp_prcplist.setColumn(curRow, "drprcpetc8", "1");
- }
-
- ds_main_prcp_prcplist.setColumn(curRow, "prcpvol", calcPrcpVol);
- ds_main_prcp_prcplist.setColumn(curRow, "prcpqty", calcPrcpQty);
- ds_main_prcp_prcplist.setColumn(curRow, "drprcpetc7", calcPrcpTimeVol);
-
-
- if ( utlf_isNull(drprcpetc8_2) || drprcpetc8_2 == 0 || drprcpetc8_2 == "-") {
- ds_main_prcp_prcplist.setColumn(curRow, "drprcpetc8", "1");
- }
-
- var prcpclscd = ds_main_prcp_prcplist.getColumn(curRow, "prcpclscd");
- if ( prcpclscd == "M2" ) {ds_main_prcp_prcplist.addColumn("drprcpetc4", "string");
- //20090330 마정민수정. 귀가유치용 물품처방은 의사처방 수량을 수정하면 귀가유치용물품수량컬럼에 같이 반영한다.
- if (!utlf_isNull(ds_main_prcp_prcplist.getColumn(curRow, "drprcpetc4")) && ds_main_prcp_prcplist.getColumn(curRow, "drprcpetc4")!= "-" && ds_main_prcp_prcplist.getColumn(curRow, "drprcpetc4")>0){
- ds_main_prcp_prcplist.setColumn(curRow, "drprcpetc4", PrcpQty);
- }
- }
- }
- }
- }
-
- /**
- * @desc : 처방위치 return
- * @
- * @param :
- * @return :
- * @author : 성미연 2008. 1. 9
- * @---------------------------------------------------
- */
- function fGetPrcpPos() {
- var PrcpPosCD = "";
- var pid= ds_main_cond.getColumn(0, "pid");
-
- if (ds_main_prcpposinfo_cond.getColumn(0, "poscd") == '1') { //환자위치
- if ( !utlf_isNull( ds_codelist.getColumn(ds_codelist.findRowExpr("cdgrupid == '002' && cdid == '"+group5.grp_sea.combo1.value+"'"), "cdid") ) ) {
- PrcpPosCD = ds_init_patinfo_patlist.lookup("pid", pid, "grupcd");
- } else {
- PrcpPosCD = ds_main_cond.getColumn(0, "wardcd");
- }
-
- } else { //User위치
- PrcpPosCD = ds_main_prcpposinfo_cond.getColumn(0, "deptcd");
- }
-
- var roomcd = ds_main_patinfocond_patinfo.getColumn(0, "roomcd");
-
-
- var deptcd = PrcpPosCD;
- if(sysf_getUserInfo("dutplceinstcd") == "031" && (deptcd == "3063200000" || deptcd == "3063300000" || deptcd == "3050135000")) { // 본원 내과·신경외과집중치료실(3063200000), 외과·심혈관외과집중치료실(3063300000)은 집계부서를 기존 ICU 기준으로 변경 처리 2019.01.10 엄영만
- // 20190131 이돈희 : 본원 심뇌혈관질환응급치료실(3050135000)을 CCU와 SU로 집계부서 분리 처리
- if(roomcd == "MICU" || roomcd == "EMICU" || roomcd == 'MICU-i') { // MICU 내과중환자실
- deptcd = "3060100000";
- deptnm = ds_init_deptinfo_deptlist.lookup("deptcd", deptcd, "depthngnm");
- } else if(roomcd == "SICU" || roomcd == "ESICU") { // SICU 외과중환자실
- deptcd = "3060200000";
- deptnm = ds_init_deptinfo_deptlist.lookup("deptcd", deptcd, "depthngnm");
- } else if(roomcd == "NSICU" || roomcd == "ENSICU") { // NSICU 신경외과중환자실
- deptcd = "3060300000";
- deptnm = ds_init_deptinfo_deptlist.lookup("deptcd", deptcd, "depthngnm");
- } else if(roomcd == "CICU") { // CICU 심혈관중환자실
- deptcd = "3060400000";
- deptnm = ds_init_deptinfo_deptlist.lookup("deptcd", deptcd, "depthngnm");
- } else if(roomcd == "CCU") { // CCU
- deptcd = "3041501000";
- deptnm = ds_init_deptinfo_deptlist.lookup("deptcd", deptcd, "depthngnm");
- } else if(roomcd == "SU") { // SU
- deptcd = "3041502000";
- deptnm = ds_init_deptinfo_deptlist.lookup("deptcd", deptcd, "depthngnm");
- }
- PrcpPosCD = deptcd;
- }
-
-
- //PrcpPosCD = fGetTotDeptChk(PrcpPosCD, roomcd);
- return PrcpPosCD;
- }
- function fGetTotDeptChk(deptcd, roomcd) { // 2019.07.17_안씀(차후 공통 함수로 변경 계획)
- var vTotDeptcd = "";
-
- if(sysf_getUserInfo("dutplceinstcd") == "031" && (deptcd == "3063200000" || deptcd == "3063300000" || deptcd == "3050135000")) { // 본원 내과·신경외과집중치료실(3063200000), 외과·심혈관외과집중치료실(3063300000)은 집계부서를 기존 ICU 기준으로 변경 처리 2019.01.10 엄영만
- // 20190131 이돈희 : 본원 심뇌혈관질환응급치료실(3050135000)을 CCU와 SU로 집계부서 분리 처리
- if(roomcd == "MICU" || roomcd == "EMICU" || roomcd == 'MICU-i') { // MICU 내과중환자실
- deptcd = "3060100000";
- deptnm = ds_init_deptinfo_deptlist.lookup("deptcd", deptcd, "depthngnm");
- } else if(roomcd == "SICU" || roomcd == "ESICU") { // SICU 외과중환자실
- deptcd = "3060200000";
- deptnm = ds_init_deptinfo_deptlist.lookup("deptcd", deptcd, "depthngnm");
- } else if(roomcd == "NSICU" || roomcd == "ENSICU") { // NSICU 신경외과중환자실
- deptcd = "3060300000";
- deptnm = ds_init_deptinfo_deptlist.lookup("deptcd", deptcd, "depthngnm");
- } else if(roomcd == "CICU") { // CICU 심혈관중환자실
- deptcd = "3060400000";
- deptnm = ds_init_deptinfo_deptlist.lookup("deptcd", deptcd, "depthngnm");
- } else if(roomcd == "CCU") { // CCU
- deptcd = "3041501000";
- deptnm = ds_init_deptinfo_deptlist.lookup("deptcd", deptcd, "depthngnm");
- } else if(roomcd == "SU") { // SU
- deptcd = "3041502000";
- deptnm = ds_init_deptinfo_deptlist.lookup("deptcd", deptcd, "depthngnm");
- }
- }
- vTotDeptcd = deptcd;
-
- return vTotDeptcd;
- }
- /**
- * @desc : 실제처방 적용일 팝업 확인 클릭시
- * @
- * @param :
- * @return :
- * @author : 성미연 2008. 1. 9
- * @---------------------------------------------------
- */
- function fPrcpAppDDInfo(){
- //적용일자 미래입력 불가능
- var prcpappdd = ds_main_prcpposinfo_cond.getColumn(0, "prcpappdd");
-
- //** 입원환자의 경우 입원일 이전으로 처방입력 불가 추가_20080822(ByJA) **//
- var ordtype = ds_main_patinfocond_patinfo.getColumn(0, "ordtype");
- var indd = utlf_transNullToEmpty(ds_main_patinfocond_patinfo.getColumn(0, "indd"));
- var orddd = utlf_transNullToEmpty(ds_main_patinfocond_patinfo.getColumn(0, "orddd"));
-
- if(ordtype == "I"){
- if(indd > prcpappdd){
- sysf_messageBox("입원일자["+indd.substr(0,4)+"-"+indd.substr(4,2)+"-"+indd.substr(6,2)+"] 이전으로 입력할 수", "I004");
- group5.grp_prcpapp.ipt_prcpappdd.setFocus();
- return;
- }
- }else if(ordtype == "O"){
- if(orddd > prcpappdd){
- sysf_messageBox("진료일자["+orddd.substr(0,4)+"-"+orddd.substr(4,2)+"-"+orddd.substr(6,2)+"] 이전으로 입력할 수", "I004");
- group5.grp_prcpapp.ipt_prcpappdd.setFocus();
- return;
- }
- }
-
-
- if (prcpappdd <= utlf_getCurrentDate()) {
- ds_main_prcp_prcplist.setColumn(ds_main_prcp_prcplist.rowposition, "prcpdelivefact", prcpappdd);
- } else {
- sysf_messageBox("미래일자는 입력할 수", "I004");
- group5.grp_prcpapp.ipt_prcpappdd.setFocus();
- return;
- }
- group5.grp_prcpapp.visible = false;
- //tf서브메뉴 사용
- //window.showPopupMenu(true);
- }
- /**
- * @desc : 처방목록 그리드 확대/축소
- * @
- * @param : state - true : 확대, false : 축소
- * @return :
- * @author : 성미연 2008. 2. 5
- * @---------------------------------------------------
- */
- function fprcpsetzoomToggle(state){
- if(state) {
- group5.switch1.case_prcp.btn_zoom.text = "축소";
- //group5.switch1.position= "absolute 0 55 900 742";
- group5.switch1.position.right = 900;
- //group5.switch1.case_prcp.grd_prcplist.position = "absolute 144 46 897 656";
- group5.switch1.case_prcp.grd_prcplist.position.right = 897;
- group5.switch1.case_prcp.grd_prcplist.setFormatColProperty(group5.switch1.case_prcp.grd_prcplist.getBindCellIndex("body","orgprcpnm"), "size", 290);
- } else {
- group5.switch1.case_prcp.btn_zoom.text = "확대";
- //group5.switch1.position= "absolute 0 55 497 742";
- group5.switch1.position.right = 497;
- //group5.switch1.case_prcp.grd_prcplist.position = "absolute 144 46 494 656";
- group5.switch1.case_prcp.grd_prcplist.position.right = 494;
- group5.switch1.case_prcp.grd_prcplist.setFormatColProperty(group5.switch1.case_prcp.grd_prcplist.getBindCellIndex("body","orgprcpnm"), "size", 211);
- }
- }
- /**
- * @desc : 전처방 그리드 확대/축소
- * @
- * @param : state - true : 확대, false : 축소
- * @return :
- * @author : 성미연 2008. 2. 5
- * @---------------------------------------------------
- */
- function fbfzoomToggle(state){
- if(state) {
- group5.switch1.case_bf.group4.btn_bfzoom.text = "축소";
- group5.switch1.position= "absolute 0 55 1165 742";
- group5.switch1.case_bf.grd_bfprcplist.position = "absolute 5 110 1155 656";
- group5.switch1.case_bf.grd_bfprcplist.setFormatColProperty(group5.switch1.case_bf.grd_bfprcplist.getBindCellIndex("body","prcpnm"), "size", 233);
- } else {
- group5.switch1.case_bf.group4.btn_bfzoom.text = "확대";
- group5.switch1.position= "absolute 0 55 497 742";
- group5.switch1.case_bf.grd_bfprcplist.position = "absolute 5 110 494 656";
- group5.switch1.case_bf.grd_bfprcplist.setFormatColProperty(group5.switch1.case_bf.grd_bfprcplist.getBindCellIndex("body","prcpnm"), "size", 117);
- }
- }
- /**
- * @desc : 임시처방 그리드 확대/축소
- * @
- * @param : state - true : 확대, false : 축소
- * @return :
- * @author : 성미연 2008. 6. 17
- * @---------------------------------------------------
- */
- function ftempzoomToggle(state){
- if(state) {
- group5.switch1.case_temp.btn_tempzoom.text = "축소";
- group5.switch1.position= "absolute 0 55 692 742";
- group5.switch1.case_temp.grd_tempprcplist.position = "absolute 0 32 1190 656";
- group5.switch1.case_temp.grd_tempprcplist.setFormatColProperty(group5.switch1.case_temp.grd_tempprcplist.getBindCellIndex("body","drugmthdspccdnm"), "size", 150);
- } else {
- group5.switch1.case_temp.btn_tempzoom.text = "확대";
- group5.switch1.position= "absolute 0 55 497 742";
- group5.switch1.case_temp.grd_tempprcplist.position = "absolute 0 32 494 656";
- group5.switch1.case_temp.grd_tempprcplist.setFormatColProperty(group5.switch1.case_temp.grd_tempprcplist.getBindCellIndex("body","prcpnm"), "size", 230);
- group5.switch1.case_temp.grd_tempprcplist.setFormatColProperty(group5.switch1.case_temp.grd_tempprcplist.getBindCellIndex("body","drugmthdspccdnm"), "size", 95);
- }
- }
- function fDelPrcp() {
- var arrRows = grdf_getSelectedRows(group5.grd_prcpposlist);
- for(var i=arrRows.length-1; i>=0; i--){
- ds_main_prcp_prcplist.deleteRow(arrRows[i]);
- }
-
- }
- function fnZoneDisp() {
-
- //응급의료센터(2280200000)인 경우
- //병동정보대신에 구역정보가 보임)(20080620)
- if ( !utlf_isNull( ds_codelist.getColumn(ds_codelist.findRowExpr("cdgrupid == '002' && cdid == '"+group5.grp_sea.combo1.value+"'"), "cdid") ) ) {
- group5.grp_sea.caption15.visible = false;
- group5.grp_sea.cmb_room.visible = false;
- group5.grp_sea.cap_Zone.visible = true;
- group5.grp_sea.cmb_Zone.visible = true;
-
- group5.grp_sea.cmb_room.value = "-";
-
- var zonecd = ds_main_paminfo.getColumn(0, "sectioncd");
- if( !utlf_isNull(zonecd) && zonecd != "-" ){
- group5.grp_sea.cmb_Zone.value = ds_main_paminfo.getColumn(0, "sectioncd");
- } else {
- group5.grp_sea.cmb_Zone.value = "-";
- }
- } else {
- group5.grp_sea.caption15.visible = true;
- group5.grp_sea.cmb_room.visible = true;
- group5.grp_sea.cap_Zone.visible = false;
- group5.grp_sea.cmb_Zone.visible = false;
- group5.grp_sea.cmb_Zone.value = "";
- }
- }
-
- /**
- * @desc : KNUH, 처방복사 버튼 클릭하여 선택된 처방 리스트를 복사하는 기능
- * @
- * @param :
- * @return :
- * @author : JJE 2011. 2. 16
- * @---------------------------------------------------
- */
- function fClickSetPrcpRows(){
- ds_main_prcp_prcplist.updatecontrol = false;
- ds_main_prcp_prcplist.enableevent = false;
-
- var selectedRows = grdf_getSelectedRows(group5.switch1.case_prcp.grd_prcplist);
- var prcpPosListRows = ds_main_prcp_prcplist.rowcount;
- var str = "";
-
- if(selectedRows.length == 1 ){
- fClickSetPrcp("btnclick");
- return;
- }
-
- if (selectedRows.length > 0 ){
- if ( utlf_isNull(ds_main_cond.getColumn(0, "patnm")) ){
- sysf_messageBox("해당 환자를", "C002");
- return;
- }
-
- if (group5.grp_prcpapp.visible == true){
- sysf_messageBox("처방적용일을 확인 후 진행하세요.", "C");
- return;
- }
-
- if (ds_main_cond.getColumn(0, "homecareyn") == "Y" && utlf_isNull(ds_main_cond.getColumn(0, "visitdd")) ) {
- // 방문일자를 선택하지 않은 경우 안내 메시지와 함께 방문일자가 처방당일로 자동 설정 되도록 요청에 의해 수정_김숙인ITC요청_20081215수정(ByJA)
- var rtnval = sysf_messageBox("방문일을 선택하지 않으셨습니다. 방문일을 처방일과 동일하게 계속 진행하시겠습니까?", "S"); // return : yes=6, no=7
- if(rtnval == "6"){ // yes
- dsf_makeValue(ds_main_cond,"visitdd","string",ds_main_cond.getColumn(0, "prcpdd"));
- }else{
- return;
- }
- }
-
- for (i=0; i<selectedRows.length; i++){
- var iRow = selectedRows[i];
-
- //ALL SIZE 처방 처리
- if(ds_main_prcpset_prcplist.getColumn(iRow, "prcpclscd") == "M2" && ds_main_prcpset_prcplist.getColumn(iRow, "matrallsizespecid") == "ALL") {
- var grupsnglflag = ds_main_prcpset_prcplist.getColumn(iRow, "grupsnglflag");
- var calcscormastspec = utlf_transNullToEmpty(ds_main_prcpset_prcplist.getColumn(iRow, "calcscormastspec")).split("|");
- var matrsizeflag = calcscormastspec[2];
- var matrallsizespecid = ds_main_prcpset_prcplist.getColumn(iRow, "matrallsizespecid");
-
- //var xpt = window.screenleft + 100;
- //var ypt = window.screenTop + 50;
- //var coord = getRelativeCoordinate ( xpt, ypt );
- //var mon = coord[0];
- //xpt = coord[1];
- //ypt = coord[2];
-
- frmf_setParameter("scrnflag", "nursprcp");
- frmf_setParameter("grupsnglflag", 'S');
- frmf_setParameter("calcscorcd", calcscormastspec[3]);
- frmf_setParameter("matrallsizespecid", matrallsizespecid);
- frmf_setParameter("currow", iRow);
- frmf_setParameter("targetpath", "ds_main_prcp_prcplist");
- frmf_modal("SPMNW11500","SPMNW11500","", "", "", "", "", "", "", "", "", "", "M");
- //modal("SPMNW11500", mon, xpt, ypt);
-
- }else{
- //처방 main grid로 약속처방 copy
- mnwAddNursPrcp(ds_main_prcpset_prcplist, "ds_main_prcp_prcplist", iRow , "");
-
- if( utlf_isNull(ds_main_prcp_prcplist.getColumnInfo("tempcol8")) ){
- ds_main_prcp_prcplist.addColumn("tempcol8", "string");
- }
-
- ds_main_prcp_prcplist.addColumn("tempet","string");
- ds_main_prcp_prcplist.setColumn((ds_main_prcp_prcplist.rowcount-1), "tempet", 'checkbox');
-
- fSetNursPrcpDefault(ds_main_prcp_prcplist.rowcount - 1);
- ds_main_prcp_prcplist.setColumn(prcpPosListRows, "status", "I"); //처방상태 : 신규
- prcpPosListRows++;
- }
-
- fSetPrcpInfo("N");
-
- // 16.10.10_심사팀 요청에 의한 추가
- var sprcpcd = ds_main_prcpset_prcplist.getColumn(iRow, "prcpcd");
- dsf_createDs("ds_send_reqdata1", [{col:"prcpcd", type:"string", size:256}]);
- ds_send_reqdata1.addRow();
- ds_send_reqdata1.setColumn(0, "prcpcd", sprcpcd);
- //dsf_makeValue(ds_send_reqdata1,"prcpcd","string", sprcpcd);
- //부서콤보 조회
- var oParam = {};
- oParam.id = "TRMNW10923";
- oParam.service = "wardorderapp.NursPrcpMngt";
- oParam.method = "reqGetInsulInfo";
- oParam.inds = "req=ds_send_reqdata1";
- oParam.outds = "ds_temp_insulinfo_insulinfo=insulinfo";
- oParam.async = false;
- tranf_submit(oParam);
- ds_temp_insulinfo_insulinfo.addColumn("insulinfo", "string");
- if (ds_temp_insulinfo_insulinfo.getColumn(0, "insulinfo") == "Y") {
- str = str + sprcpcd + "," ;
- }
-
- // 16.09.27_심사팀 요청에 의한 추가_AYS
- //if( ds_main_prcpset_prcplist.getColumn(ds_main_prcpset_prcplist.rowposition, "insulinfoyn") == "Y" ){
- // str = str + utlf_transNullToEmpty(ds_main_prcpset_prcplist.getColumn(iRow, "prcpcd")) + ",";
- //}
- } //end for
-
- // 16.09.27_심사팀 요청에 의한 추가_AYS
- if( str.length > 1 ){
- str = str.substr(0, str.length-1);
- sysf_messageBox("처방코드 " + str + "는 선별급여 품목이오니 보험기준 확인 후 저장바랍니다.", "E999");
- }
- }
- ds_main_prcp_prcplist.updatecontrol = true;
- ds_main_prcp_prcplist.enableevent = true;
- }
- /**
- * @desc : KNUH, 전처방복사 버튼 클릭하여 선택된 처방 리스트를 복사하는 기능
- * @
- * @param :
- * @return :
- * @author : JJE 2011. 2. 17
- * @---------------------------------------------------
- */
- function fClickBfPrcpRows(){
- ds_main_prcp_prcplist.updatecontrol = false;
- ds_main_prcp_prcplist.enableevent = false;
- var selectedRows = grdf_getSelectedRows(group5.switch1.case_bf.grd_bfprcplist);
- var errRtnMsg = "";
- var prcpPosListRows = ds_main_prcp_prcplist.rowcount;
- if(selectedRows.length == 1 ){
- fClickBfPrcp("btnclick");
- return;
- }
- if (selectedRows.length > 0 ){
- if ( utlf_isNull(ds_main_cond.getColumn(0, "patnm")) ) {
- sysf_messageBox("해당 환자를", "C002");
- return;
- }
-
- if (group5.grp_prcpapp.visible == true){
- sysf_messageBox("처방적용일을 확인 후 진행하세요.", "C");
- return;
- }
-
- //가정간호
- if (ds_main_cond.getColumn(0, "homecareyn") == "Y"){
- if ( utlf_isNull(ds_main_cond.getColumn(0, "visitdd")) ){
- var rtnval = sysf_messageBox("방문일을 선택하지 않으셨습니다. 방문일을 처방일과 동일하게 계속 진행하시겠습니까?", "S"); // return : yes=6, no=7
- if(rtnval == "6"){ // yes
- dsf_makeValue(ds_main_cond,"visitdd","string",ds_main_cond.getColumn(0, "prcpdd"));
- }else{
- return;
- }
- }
- }
- var cnt = 0;
- var str = "";
-
- for (i=0; i<selectedRows.length; i++){
- var iRow = selectedRows[i];
-
- var flag = ds_main_bfprcp_prcplist.getColumn(iRow, "flag");
- var prcpcd = ds_main_bfprcp_prcplist.getColumn(iRow, "prcpcd");
-
- if(flag == "N") {
- if(cnt == 0) {
- str = prcpcd;
- } else {
- str +=", " + prcpcd;
- }
- cnt++;
- }
-
- var prcphistcd = ds_main_bfprcp_prcplist.getColumn(iRow, "prcphistcd");
- if (prcphistcd == "L" || prcphistcd == "D" ) {
- continue;
-
- }else{
- //방문일자와 다른 방문일의 처방 클릭시 blocking
- if (ds_main_cond.getColumn(0, "homecareyn") == "Y"){
- if ( utlf_isNull(ds_main_cond.getColumn(0, "visitdd")) ){
- if ( ds_main_cond.getColumn(0, "visitdd") != ds_main_bfprcp_prcplist.getColumn(iRow, "prcpdelivefact") ){
-
- if( !utlf_isNull(errRtnMsg) ) errRtnMsg = errRtnMsg + ", ";
- errRtnMsg = errRtnMsg + ds_main_bfprcp_prcplist.getColumn(iRow, "prcpcd");
- continue;
- }
- }
- }
- mnwAddNursPrcp(ds_main_bfprcp_prcplist, "ds_main_prcp_prcplist", iRow , "");
-
- if( utlf_isNull(ds_main_prcp_prcplist.getColumnInfo("tempcol8")) ){
- ds_main_prcp_prcplist.addColumn("tempcol8", "string");
- }
-
- //추가..
- ds_main_prcp_prcplist.addColumn("tempet","string");
- ds_main_prcp_prcplist.setColumn((ds_main_prcp_prcplist.rowcount-1), "tempet", 'checkbox');
-
- fSetNursPrcpDefault(ds_main_prcp_prcplist.rowcount - 1);
- ds_main_prcp_prcplist.setColumn(prcpPosListRows, "status", "B"); //처방상태[전]
- prcpPosListRows++;
- }
-
- fSetPrcpInfo("N");
- if(ds_main_prcp_prcplist.getColumn(ds_main_prcp_prcplist.rowcount-1, "estmcls")!= "Y"){
- /*
- var sExprEdittype8 = group5.grd_prcpposlist.getCellProperty("Body", group5.grd_prcpposlist.getBindCellIndex("body","nigtprcpflag"), "edittype").replace("'combo'", "")
- + "currow == "+(ds_main_prcp_prcplist.rowcount-1)+" ? 'none' : "
- + "'combo'";
-
- group5.grd_prcpposlist.setCellProperty("Body", group5.grd_prcpposlist.getBindCellIndex("body","nigtprcpflag"), "edittype", sExprEdittype8);
- */
- ds_main_prcp_prcplist.addColumn("tempnpf","string");
- ds_main_prcp_prcplist.setColumn((ds_main_prcp_prcplist.rowcount-1), "tempnpf", 'none');
- }
-
- } // end for
-
- if(cnt > 0) {
- sysf_messageBox("[" + str + "]처방은 수가가 종료되어 반환만 가능합니다.", "E");
- }
-
-
- if( !utlf_isNull(errRtnMsg) ){
- sysf_messageBox("방문일이 동일한 처방에 대해서만 일괄 저장이 가능합니다.\n" + errRtnMsg + "처방은 방문일이 동일하지 않습니다.", "C");
- }
- }
- ds_main_prcp_prcplist.updatecontrol = true;
- ds_main_prcp_prcplist.enableevent = true;
- }
- /**
- * @desc : 20110626_KNUH 보조유형 체크하는 로직
- * @
- * @param :
- * @return :
- * @author : dark9258 2011. 6. 26
- * @---------------------------------------------------
- */
- function fCheckSubKindCd() {
-
- var prcpgenrflag = ds_main_patinfocond_patinfo.getColumn(0, "ordtype");
- var pid = ds_main_paminfo.getColumn(0, "pid");
- var indd = ds_main_paminfo.getColumn(0, "indd");
-
- dsf_makeValue(ds_temp_send,"pid", "string", pid);
- dsf_makeValue(ds_temp_send,"indd", "string", indd);
- var oParam = {};
- oParam.id = "TRMMO15701";
- oParam.service = "prcpmngtapp.PatPrcpSrchMngt";
- oParam.method = "reqGetPatSupKind";
- oParam.inds = "req=ds_temp_send";
- oParam.outds = "ds_temp_patsupkind_patsupkind=patsupkind";
- oParam.async = false;
- oParam.callback = "cf_TRMMO15701";
- tranf_submit(oParam);
-
- if(arErrorCode.pop("TRMMO15701") > -1){
- var nodelist = ds_temp_patsupkind_patsupkind.rowcount;
- if(nodelist > 0) {
- if(nodelist > 1){
- frmf_clearParameter("SPMMO15700_subcretno");
- var objArg = new Object();
- objArg.arg_ds_temp_patsupkind = ds_temp_patsupkind_patsupkind;
- frmf_modal("SPMMO15700", "SPMMO15700", objArg ,"","", "", "", "","","","","","M");
- var subcretno = frmf_getParameter("SPMMO15700_subcretno");
- if(subcretno == "0") {
- var rtn = sysf_messageBox("주유형으로 처방을 발행하시겠습니까?", "Q");
-
- if(rtn != "6") {
- return "false";
- }
- }
- if( utlf_isNull(subcretno) ) {
- sysf_messageBox("유형을 선택하세요.", "E");
-
- return "false";
- }
- dsf_makeValue(ds_temp_prcpinfo,"subcretno", "string", subcretno);
- } else {
- dsf_makeValue(ds_temp_prcpinfo,"subcretno", "string", "0");
- }
- } else {
- dsf_makeValue(ds_temp_prcpinfo,"subcretno", "string", "0");
- }
- }
- return "true";
- }
- //20110828_KNUH_Start
- function fGetPatInfo() {
-
- var settingnurid = ds_main_cond.getColumn(0, "settingrnid");
- if( utlf_isNull(settingnurid) ) {
- group5.grp_sea.cmb_room.enable = true;
- } else {
- group5.grp_sea.cmb_room.enable = false;
- }
- ds_send_reqdata.clearData();
- dsf_makeValue(ds_send_reqdata, "wardcd", "string", ds_main_cond.getColumn(0, "wardcd"));
- dsf_makeValue(ds_send_reqdata, "settingrnid", "string", ds_main_cond.getColumn(0, "settingrnid"));
- var oParam = {};
- oParam.id = "TRMNW10902";
- oParam.service = "wardorderapp.NursPrcpMngt";
- oParam.method = "reqGetWardRoomInfo";
- oParam.inds = "reqCond=ds_send_reqdata";
- oParam.outds = "ds_init_roominfo_room=room";
- oParam.async = false;
- tranf_submit(oParam);
-
- ds_main_cond.setColumn(0, "roomcd", "-"); //해당 병실 셋팅
- //해당 병실의 환자 조회
- ds_send_reqdata.clearData();
- dsf_makeValue(ds_send_reqdata, "orddd", "string", ds_main_cond.getColumn(0, "prcpdd"));
- dsf_makeValue(ds_send_reqdata, "wardcd", "string", ds_main_cond.getColumn(0, "wardcd"));
- dsf_makeValue(ds_send_reqdata, "roomcd", "string", ds_main_cond.getColumn(0, "roomcd"));
- dsf_makeValue(ds_send_reqdata, "refflag", "string", "room");
- dsf_makeValue(ds_send_reqdata, "ordtype", "string", "I");
- dsf_makeValue(ds_send_reqdata, "settingrnid", "string", ds_main_cond.getColumn(0, "settingrnid"));
- if(spcldept == ds_main_cond.getColumn(0, "wardcd")) {
- dsf_makeValue(ds_send_reqdata, "spcldeptyn", "string", "Y");
- } else {
- dsf_makeValue(ds_send_reqdata, "spcldeptyn", "string", "");
- }
- var oParam = {};
- oParam.id = "TRMNW10903";
- oParam.service = "wardorderapp.NursPrcpMngt";
- oParam.method = "reqGetRoomPatList";
- oParam.inds = "reqCond=ds_send_reqdata";
- oParam.outds = "ds_init_patinfo_patlist=patlist";
- oParam.async = false;
- tranf_submit(oParam);
-
- if( utlf_isNull(ds_init_patinfo_patlist.getColumnInfo("userkindcd", "string")) ){
- ds_init_patinfo_patlist.addColumn("userkindcd", "string");
- }
-
- ds_main_cond.setColumn(0, "patnm", "");
- ds_main_cond.setColumn(0, "pid", "");
- }
- function fCalcScorHbookPrcp(){
- fCalcScorHbook('prcp');
- }
- function fCalcScorHbookPrcppos(){
- fCalcScorHbook('prcppos');
- }
- function fCalcScorHbookPrcpbf(){
- fCalcScorHbook('bf');
- }
- function fprtlnm(pid){
-
- dsf_makeValue(ds_send_reqdata,"pid","string", pid);
-
- var oParam = {};
- oParam.id = "TRMNW10911";
- oParam.service = "wardorderapp.NursPrcpMngt";
- oParam.method = "reqGetPrtlInfo";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_init_prtlinfo_prtllist=prtllist";
- oParam.async = false;
- tranf_submit(oParam);
-
- }
- //20110828_KNUH_End
- function pmnmenu1_onmenuclick(obj:PopupMenu, e:MenuClickEventInfo)
- {
- eval(e.id + "()");
- }
- function pmnmenu2_onmenuclick(obj:PopupMenu, e:MenuClickEventInfo)
- {
- eval(e.id + "()");
- }
- function pmnmenu3_onmenuclick(obj:PopupMenu, e:MenuClickEventInfo)
- {
- eval(e.id + "()");
- }
- function group5_grd_prcpposlist_onenteredit(obj:Grid, e:GridEditEventInfo)
- {
- var curCol = e.col;
-
- if( curCol == group5.grd_prcpposlist.getBindCellIndex("body","prcpvol") ){
- ds_drugcalc.setColumn(0, "prcpvol", ds_main_prcp_prcplist.getColumn(ds_main_prcp_prcplist.rowposition, "prcpvol"));
- } else if(curCol ==group5.grd_prcpposlist.getBindCellIndex("body","prcpqty")){
- ds_drugcalc.setColumn(0, "prcpqty", ds_main_prcp_prcplist.getColumn(ds_main_prcp_prcplist.rowposition, "prcpqty"));
- } else if(curCol == group5.grd_prcpposlist.getBindCellIndex("body","prcptims")){
- ds_drugcalc.setColumn(0, "prcptims", ds_main_prcp_prcplist.getColumn(ds_main_prcp_prcplist.rowposition, "prcptims"));
- } else if(curCol == group5.grd_prcpposlist.getBindCellIndex("body","drprcpetc7")){
- ds_drugcalc.setColumn(0, "drprcpetc7", ds_main_prcp_prcplist.getColumn(ds_main_prcp_prcplist.rowposition, "drprcpetc7"));
- } else if(curCol == group5.grd_prcpposlist.getBindCellIndex("body","drprcpetc8")){
- ds_drugcalc.setColumn(0, "drprcpetc8", ds_main_prcp_prcplist.getColumn(ds_main_prcp_prcplist.rowposition, "drprcpetc8"));
- }
- }
- function group5_switch1_onchanged(obj:Tab, e:TabIndexChangeEventInfo)
- {
- if(group5.switch1.tabindex ==0){
- fprcpsetzoomToggle(false);
- fbfzoomToggle(false);
- }
-
- if(group5.switch1.tabindex ==1){
- fprcpsetzoomToggle(false);
- fbfzoomToggle(false);
- }
-
- if(group5.switch1.tabindex ==2){
- fprcpsetzoomToggle(false);
- fbfzoomToggle(false);
- }
- }
- /**
- * @desc : 보험기준 조회
- * @
- * @param :
- * @return :
- * @author : AYS_16.09.26_본원 심사과 요청
- * @---------------------------------------------------
- */
- function fOpenInsuInfo() {
- prcpcd = ds_main_prcpset_prcplist.getColumn(ds_main_prcpset_prcplist.rowposition, "prcpcd");
- dsf_makeValue(ds_temp_setparma, "prcpcd", "string", prcpcd, 0);
- dsf_makeValue(ds_temp_setparma, "calcscorcd", "string", prcpcd, 0);
-
- var objArg = new Object();
- objArg.arg_ds_send_item3 = ds_temp_setparma;
-
- frmf_modal("SPPIZ01600","SPPIZ01600","", 1, 400, 400, "", "", "", "", "", "", "M");
-
- ds_temp_picmmech.clearData();
- ds_temp_setparma.clearData();
- }
- ]]></Script>
|