123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/*
- (SMMNW04700.xfm - JScript )
- - Version :
- 1) : Ver.1.00.01
- - Desc : 피부욕창상처기록및 피부욕창 팝업이미지 에서 사용하는 스크립트
- - 가정간호에서 팝업띄워 기록및 조회
- */
- /******************************************************************************************************************************************************/
- /****************************************************** 피부욕창기록에서 사용하는 펑션 시작************************************************************/
- /******************************************************************************************************************************************************/
- var xCondPath = "/root/cond"; // 조회조건 xPath
- var xBedsoreGridPath = ds_main_detlgrup_detlgruplist; // 그리드 xPath
- var xClsListBKPath = ds_hidden_main_detlgrup_detlgruplist; // 그리드 hidden xPath
- var xPamInfoPath = 'ds_temp_paminfo';
- var xSearchPamInfoPath = ds_main_patinfo_patinfolist;
- //가정간호 parameter를 global variable로 선언
- var HC_homecarecd = '';
- var HC_ioflag = '';
- var HC_isHomeCare = '';
- var HC_gCareFlag = '';
- var HC_gInptDt = '';
- //통합기록조회
- var ViewFunc = "sign"; //sign : 기록인증용, view : view인증용
- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- //+++++++++++++++++++++++++++++++++++++++++++ 조회관련 펑션 모음 시작 ++++++++++++++++++++++++++++++++++++++++++++++//
- //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- /**
- * @group :
- * @ver : 2007.09. 06
- * : 2008.05.28 dhkim 수정
- * @by : 정찬성
- * @----------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 화면을 초기화한다. 화면로딩이 끝난 시점에 호출된다.
- * @param :
- * @return :
- * @----------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function finit(){
- //조회조건을 세팅한다.
- ds_cond.setColumn(0, "indsch", "1");
- ds_cond.setColumn(0, "stdradio", "2"); // 종료전(최근입력만) 선택
- ds_cond.setColumn(0, "genrdd", utlf_getCurrentDate()); // 기준일에 현재날짜(디폴트)
- ds_cond.setColumn(0, "genrtm", utlf_getCurrentDateTime().substring(9,13)); // 기준시간 셋팅
- fGetNursHardCdInfo("'002','U30','R11'", utlf_getCurrentDate()); // '002' 응급의료센터 여부 조회, 160512_AYS_발생장소(원내) 제어코드(R11)추가 //ds_codelist를 받아옴
- ds_cond.setColumn(0, "wardcd", sysf_getUserInfo("dutplcecd"));
-
- var useyn = ds_codelist.getColumn(ds_codelist.findRow("cdgrupid", "U30"), "cdid");
- if(useyn == "N") {
- group5.grd_detlgrup.setRealColSize(group5.grd_detlgrup.getBindCellIndex("body", "pushyn")-1, 0);
- } else {
- group5.grd_detlgrup.setRealColSize(group5.grd_detlgrup.getBindCellIndex("body", "pushyn")-1, group5.grd_detlgrup.getFormatColSize(group5.grd_detlgrup.getBindCellIndex("body", "pushyn")));
- }
- //상단정보를 가져온다.
- var isOpener = fSetPatInfo();
-
- //가정간호 parameter 세팅
- if( frmf_checkOpener() ){
- HC_isHomeCare = fSetHomeCareParamter();
- }
-
- //병동 조회
- var oParam = {};
- oParam.id = "TRMNW04705";
- oParam.service = "wardcareapp.WardCareMngt";
- oParam.method = "reqGetWMInitData";
- oParam.inds = "reqcond=ds_cond";
- oParam.outds = "ds_init_ward=ward ds_init_settinginfo_settingrn=settingrn";
- oParam.async = false;
- oParam.callback = "cf_TRMNW04705";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TRMNW04705") < 0 ){
- sysf_messageBox('화면 초기화를', 'E009');
- return;
- }
- //그리드에 들어갈 공통코드리스트 조회
- var oParam = {};
- oParam.id = "TRMNW04701";
- oParam.service = "wardcareapp.WardCareRec";
- oParam.method = "reqGetObsBaseDataComboList";
- oParam.inds = "refCond=ds_cond";
- oParam.outds = "ds_hidden_codelist_getVOCause=getVOCause ds_hidden_codelist_getVOStage=getVOStage ds_hidden_codelist_getVOColor=getVOColor ds_hidden_codelist_getVOState=getVOState ds_hidden_codelist_getVOAmount=getVOAmount ds_hidden_codelist_getVOSympTom=getVOSympTom ds_hidden_codelist_getVOAngle=getVOAngle ds_hidden_codelist_getVODressing=getVODressing";
- oParam.async = false;
- oParam.callback = "cf_TRMNW04701";
- tranf_submit(oParam);
- if( arErrorCode.pop("TRMNW04701") < 0 ){
- sysf_messageBox('화면 초기화를', 'E009');
- return;
- }
-
- var indschacptstat = ds_temp_paminfo.getColumn(0, "indschacptstat");
-
- if( utlf_isNull(HC_homecarecd)) {
- fGetZoneList(); //CareCom.js 응급실구역정보조회
-
- fnZoneDisp();
- fSettingnurid();
-
- if( utlf_isNull(indschacptstat) || indschacptstat == "A" ){
- fGetWardPatList();
- }
- }else{
- group5.grp_sea.ctn_pid.visible = true;
- group5.grp_sea.cmb_patientnm.visible = true;
- group5.grp_sea.ipt_pid.visible = true;
- }
- //상단정보가 있으면 바로 조회
- if( isOpener || HC_isHomeCare ){
- var pid = ds_temp_paminfo.getColumn(0, "pid");
- fSetInDsch(indschacptstat);
-
- if( !utlf_isNull(pid) ){
- if( ds_temp_paminfo.getColumn(0, "ioflag") != "E" && ds_temp_paminfo.getColumn(0, "careinrmdd") == "-" ){
- sysf_messageBox("아직 입실확인하지 않은 환자입니다.", "I");
- //return;
- }
-
- ds_main_wardpatinfo_wardpatlist.rowposition = ds_main_wardpatinfo_wardpatlist.findRow("pid", pid);
- fSearch();
- }
- }
- }
- function cf_TRMNW04705(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- function cf_TRMNW04701(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /**
- * @ver : 2008.06.12
- * @author : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param :
- * @return : true/false (true는 가정간호 parameter정상 세팅/ false는 리턴)
- * @desc : 가정간호의 parameter를 넘겨받은 경우에는 조회조건에 parameter값을 setting한다.
- * 입원의 경우에는 병동, 병실정보, 등록번호, 환자명을 조회영역에 세팅한다.
- * 외래의 경우에는 병동, 병실정보 및 중증도점수 조회영역을 hidden시키고 등록번호, 환자명을 조회영역에 세팅한다.
- * [가정간호에서 받아오는 parameter]
- * - homecarecd : 3090100000 (가정간호를 구분하기 위한 부서코드)
- * - ioflag : I/O (I:입원, O:외래)
- * - pid : 등록번호
- * - hngnm : 환자명
- * - wardcd : 병동코드
- * - roomcd : 병실코드
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------
- */
-
- function fSetHomeCareParamter(){
-
- //가정간호 parameter를 가져온다.
- ds_hidden_homecareparam.clearData();
- HC_homecarecd = opener.frmf_getParameter('homecarecd');//'3090100000';//'3090100000';//
- HC_ioflag = opener.frmf_getParameter('ioflag');//'O';//'I';//
- var pid = opener.frmf_getParameter('pid'); //'551121110';//'11524296';//
- var hngnm = opener.frmf_getParameter('hngnm'); //'김미연';//'이상월';//
- var wardcd = opener.frmf_getParameter('wardcd');//'';//'3050107000';//
- var roomcd = opener.frmf_getParameter('roomcd');//'';//'4003';//
- var orddd = opener.frmf_getParameter('orddd');
- var cretno = opener.frmf_getParameter('cretno');
- var orddrid = opener.frmf_getParameter('orddrid');
- var orddeptcd = opener.frmf_getParameter('orddeptcd');
- HC_gCareFlag = opener.frmf_getParameter('careflag');
- HC_gInptDt = opener.frmf_getParameter('inptdt');
-
-
- // alert('homcarecd :' + HC_homecarecd + ', hc_ioflag :' + HC_ioflag + ', pid : ' + pid + ', hngnm : ' + hngnm + ', wardcd : ' + wardcd + ', roomcd : ' + roomcd);
-
- //외래/입원의 경우에 따라 조회영역을 visible/hidden처리
- fHiddenRoomWard(HC_ioflag);
-
- //가정간호구분자가 널이면 리턴
- if( !utlf_isNull(HC_homecarecd) ){
- if( utlf_isNull(pid) ){
- sysf_messageBox('필수정보가 없으므로 기록을 조회할 수', 'I004');
- return false;
- }else{
- ds_data_patientgruplist.clearData();
- ds_data_patientgruplist.addRow();
- ds_data_patientgruplist.setColumn(0, "patientnm", hngnm);
- ds_data_patientgruplist.setColumn(0, "pid", pid);
- ds_data_patientgruplist.setColumn(0, "indd", orddd);
- ds_data_patientgruplist.setColumn(0, "cretno", cretno);
- ds_data_patientgruplist.setColumn(0, "orddrid", orddrid);
- ds_data_patientgruplist.setColumn(0, "orddeptcd", orddeptcd);
- ds_data_patientgruplist.setColumn(0, "ordtype", HC_ioflag);
-
- ds_cond.setColumn(0, "patientnm", pid);
- ds_cond.setColumn(0, "pid", pid);
-
- // if(HC_ioflag == 'O'){
- // //환자명 combonode, input pid set
- // model.removenode('/root/patientgrup/patientgruplist');
- // model.makeValue('/root/patientgrup/patientgruplist/patientnm', hngnm);
- // model.makeValue('/root/patientgrup/patientgruplist/pid' , pid);
- // model.makeValue('/root/patientgrup/patientgruplist/indd' , orddd);
- // model.makeValue('/root/patientgrup/patientgruplist/cretno' , cretno);
- // model.makeValue('/root/patientgrup/patientgruplist/orddrid' , orddrid);
- // model.makeValue('/root/patientgrup/patientgruplist/orddeptcd', orddeptcd);
- // model.makeValue('/root/patientgrup/patientgruplist/ordtype', HC_ioflag);
- // model.setValue(cmb_patientnm.attribute('ref') , pid);
- // model.setValue(ipt_pid.attribute('ref') , pid);
- // model.refresh();
- // }else if(HC_ioflag == 'I'){
- // //pid를 가지고 병실, 병동 정보를 찾는다.
- // fSetWardRoomPidInfo(wardcd, roomcd, pid);
- // }
- return true;
- }
- }else{
- return false;
- }
-
-
- }
- /**
- * @ver : 2008.06.12
- * @author : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param : ioflag I/O (I:입원, O:외래)
- * @return :
- * @desc : 입원의 경우에는 병동, 병실정보, 등록번호, 환자명을 조회영역에 visible.
- * 외래의 경우에는 병동, 병실정보 및 중증도점수 조회영역을 hidden.
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fHiddenRoomWard(ioflag){
- if( !utlf_isNull(HC_homecarecd) ){
- group5.grp_sea.grp_icupnt.visible = false;
- group5.grp_sea.ctn_ward.visible = false;
- group5.grp_sea.cmb_wardcd.visible = false;
- group5.grp_sea.ctn_room.visible = false;
- group5.grp_sea.cmb_roomcd.visible = false;
- group5.grp_sea.cap_Zone.visible = false;
- group5.grp_sea.cmb_Zone.visible = false;
- group5.grp_sea.cap_settingrn.visible = false;
- group5.grp_sea.cmb_settingrn.visible = false;
- group5.grp_sea.btn_patSearch.visible = true;
- group5.grp_sea.ctn_searchflag.position.top = 14;
- group5.grp_sea.rdo_stdradio.position.top = 14;
- group5.grd_wardpatlist.visible = false;
- group5.grd_detlgrup.position.left = 0;
- group5.grd_detlgrup.position.width = 1195;
- group1.rdo_indsch.visible = false;
- }else{
- if( ioflag == 'O' ){
- group5.grp_sea.grp_icupnt.visible = false;
- group5.grp_sea.ctn_ward.visible = false;
- group5.grp_sea.cmb_wardcd.visible = false;
- group5.grp_sea.ctn_room.visible = false;
- group5.grp_sea.cmb_roomcd.visible = false;
- group5.grp_sea.cap_Zone.visible = false;
- group5.grp_sea.cmb_Zone.visible = false;
- group5.grp_sea.cap_settingrn.visible = false;
- group5.grp_sea.cmb_settingrn.visible = false;
- group5.grp_sea.btn_patSearch.visible = true;
- group5.grp_sea.ctn_searchflag.position.top = 14;
- group5.grp_sea.rdo_stdradio.position.top = 14;
- group5.grd_wardpatlist.visible = false;
- group5.grd_detlgrup.position.left = 0;
- group5.grd_detlgrup.position.width = 1195;
- group1.rdo_indsch.visible = false;
- }else{
- group5.grp_sea.grp_icupnt.visible = true;
- group5.grp_sea.ctn_ward.visible = true;
- group5.grp_sea.cmb_wardcd.visible = true;
- group5.grp_sea.ctn_room.visible = false;
- group5.grp_sea.cmb_roomcd.visible = false;
- group5.grp_sea.cap_Zone.visible = false;
- group5.grp_sea.cmb_Zone.visible = false;
- group5.grp_sea.cap_settingrn.visible = true;
- group5.grp_sea.cmb_settingrn.visible = true;
- group5.grp_sea.btn_patSearch.visible = false;
- group5.grp_sea.ctn_searchflag.position.top = 47;
- group5.grp_sea.rdo_stdradio.position.top = 47;
- group5.grd_wardpatlist.visible = true;
- group5.grd_detlgrup.position.left = 215;
- group5.grd_detlgrup.position.width = 980;
- group1.rdo_indsch.visible = true;
- }
- }
-
- }
-
-
- /**
- * @ver : 2008.06.12
- * @author : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param : wardcd 병동코드
- * @param : roomcd 병실코드
- * @param : pid 등록번호
- * @return :
- * @desc : pid를 가지고 병실, 병동 정보를 찾아서 조회영역에 병동, 병실, 환자명, 등록번호를 세팅한다.
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fSetWardRoomPidInfo(wardcd, roomcd, pid){
-
- group5.grp_sea.cmb_wardcd.value = wardcd; //병동코드 세팅
-
- fSearchRoomcd(wardcd); //병동에 해당되는 병실조회
- group5.grp_sea.cmb_roomcd.value = roomcd; //병실코드 세팅
- fSearchPatInfo(wardcd, roomcd); //병실에 해당되는 환자조회
-
- var hngnm = ( appf_getPatientInfoDetail('pid')== false ? xSearchPamInfoPath.getColumn(0, "hngnm") : appf_getPatientInfoDetail('hngnm') );
- var indd = ( appf_getPatientInfoDetail('pid')== false ? xSearchPamInfoPath.getColumn(0, "indd") : appf_getPatientInfoDetail('indd') );
- var cretno = ( appf_getPatientInfoDetail('pid')== false ? xSearchPamInfoPath.getColumn(0, "cretno") : appf_getPatientInfoDetail('cretno') );
- var orddeptcd = ( appf_getPatientInfoDetail('pid')== false ? xSearchPamInfoPath.getColumn(0, "orddeptcd") : appf_getPatientInfoDetail('orddeptcd') );
- var medispclid = ( appf_getPatientInfoDetail('pid')== false ? xSearchPamInfoPath.getColumn(0, "medispclid") : appf_getPatientInfoDetail('medispclid') );
- var ordtype = ( appf_getPatientInfoDetail('pid')== false ? xSearchPamInfoPath.getColumn(0, "ordtype") : appf_getPatientInfoDetail('ioflag') );
- var dschdd = ( appf_getPatientInfoDetail('pid')== false ? xSearchPamInfoPath.getColumn(0, "dschdd") : appf_getPatientInfoDetail('dschdd') );
-
- //퇴원환자의 경우 환자이름에 조회되지 않으므로 콤보아이템을 추가
- if( utlf_isNull(ds_data_patientgruplist.getColumn(ds_data_patientgruplist.findRow("pid", pid), "patientnm")) ){
- frmf_addComboItem("group5.grp_sea.cmb_patientnm", hngnm, pid, "above");
- ds_cond.setColumn(0, "patientnm", pid);
- ds_cond.setColumn(0, "pid", pid);
-
- dsf_makeValue(ds_data_patientgruplist, "patientnm", "string", hngnm, 0);
- dsf_makeValue(ds_data_patientgruplist, "indd", "string", indd, 0);
- dsf_makeValue(ds_data_patientgruplist, "cretno", "string", cretno, 0);
- dsf_makeValue(ds_data_patientgruplist, "orddeptcd", "string", orddeptcd, 0);
- dsf_makeValue(ds_data_patientgruplist, "orddrid", "string", medispclid, 0);
- dsf_makeValue(ds_data_patientgruplist, "ordtype", "string", ordtype, 0);
- dsf_makeValue(ds_data_patientgruplist, "dschdd", "string", dschdd, 0);
-
- // cmb_patientnm.disabled = true;
- }else{
- // cmb_patientnm.value = pid; //등록번호 세팅
- // cmb_patientnm.disabled = false;
- }
-
- group5.grp_sea.ipt_pid.value = pid; //등록번호 세팅
- }
-
-
- /**
- * @ver : 2008.06.12
- * @author : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param : pid - 등록번호
- * @return :
- * @desc : 등록번호만 입력된 상태일때는 병동, 병실정보를 알수 없으므로
- * 해당 등록번호의 환자의 병동정보를 조회해온다.
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fGetPidWardInfo(pid){
- if( HC_isHomeCare ){
- sysf_messageBox('가정간호대상 환자입니다. 환자정보 조회를', 'E001');
- return;
- }
- if( !utlf_isNull(pid) ){
- ds_main_patinfo_patinfolist.clearData();
- ds_send.setColumn(0, "pid", ds_cond.getColumn(0, "pid"));
-
- if( appf_getPatientInfoDetail('indschacptstat') == "D"
- || appf_getPatientInfoDetail('indschacptstat') == "T" ){
- ds_send.setColumn(0, "indd", appf_getPatientInfoDetail('indd'));
- }
-
- var oParam = {};
- oParam.id = "TRMNW04707";
- oParam.service = "wardcareapp.WardCareRec";
- oParam.method = "reqGetPatWardInfo";
- oParam.inds = "req=ds_cond";
- oParam.outds = "ds_main_patinfo_patinfolist=patinfolist";
- oParam.async = false;
- oParam.callback = "cf_TRMNW04707";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TRMNW04707") < 0 ){
- sysf_messageBox('환자정보 조회를', 'E009');
- return;
- }else{
- var wardcd = ds_main_patinfo_patinfolist.getColumn(0, "wardcd"); //병동코드,
- var roomcd = ds_main_patinfo_patinfolist.getColumn(0, "roomcd"); //병실코드
- var pid = ds_main_patinfo_patinfolist.getColumn(0, "pid"); //등록번호
-
- //가정간호의 경우는 상단정보가 아닌 parameter에서 받아온다
- //가정간호에서 팝업을 띄운 환자의 경우엔 skip한다. 20091006 김홍점 병동병실정보 세팅 불필요
- // if(HC_isHomeCare){
- // wardcd = opener.javascript.getParameter('wardcd');
- // roomcd = opener.javascript.getParameter('roomcd');
- // pid = opener.javascript.getParameter('pid');
- // }
- //pid를 가지고 병실, 병동 정보를 찾는다.
-
- fSetWardRoomPidInfo(wardcd, roomcd, pid);
- }
- }
- }
- function cf_TRMNW04707(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /**
- * @group :
- * @ver : 2008.05.27
- * @by : dhkim
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 상단정보를 세팅한다.
- * @param :
- * @return : true/false - 상단정보 있을때 true, 없을때 false
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fSetPatInfo(){
-
- ds_temp_paminfo.clearData();
-
- var paminfo = sysf_getGlobalVariable("paminfo");
- var pid = "";
- var wardcd = "";
- if( utlf_transNullToEmpty(paminfo).length > 0 ){
- dsf_setCSVToDs("ds_temp_paminfo", paminfo); //환자정보내리기
- if( utlf_isNull(ds_temp_paminfo.getColumnInfo("sectioncd")) ){
- ds_temp_paminfo.addColumn("sectioncd", "string");
- ds_temp_paminfo.setColumn(0, "sectioncd", ds_temp_paminfo.getColumn(0, "basetypecd"));
- }
-
- }
- var node = appf_getPatientInfoDetails(xPamInfoPath) ;
-
- if( utlf_isNull(ds_temp_paminfo.getColumnInfo("diag")) ){
- ds_temp_paminfo.addColumn("diag", "string");
- }
-
- var pid = '';
- var hngnm = '';
- var wardcd = '';
- var roomcd = '';
- var isOpener = false;
- if( frmf_checkOpener() ){
- pid = appf_getPatientInfoDetail('pid');
- hngnm = appf_getPatientInfoDetail('hngnm');
- wardcd = appf_getPatientInfoDetail('wardcd');
- roomcd = appf_getPatientInfoDetail('roomcd');
- if( !utlf_isNull(pid) ){
- isOpener = true;
- }
- }
- if( !utlf_isNull(pid) && !utlf_isNull(hngnm) && !utlf_isNull(wardcd) && !utlf_isNull(roomcd) ){
- //콤보에서 끌고 오기 위한 병실, 환자정보 조회
- fSearchRoomcd(wardcd);
- fSearchPatInfo(wardcd, roomcd);
- //상단정보를 세팅
- ds_cond.setColumn(0, "wardcd", wardcd);
- ds_cond.setColumn(0, "roomcd", roomcd);
- //퇴원환자의 경우 환자이름에 조회되지 않으므로 콤보아이템을 추가
- if( utlf_isNull(ds_data_patientgruplist.getColumn(ds_data_patientgruplist.findRow("pid", pid), "patientnm")) ){
- frmf_addComboItem("group5.grp_sea.cmb_patientnm", appf_getPatientInfoDetail('hngnm'), pid, "above");
- ds_cond.setColumn(0, "patientnm", pid);
- ds_cond.setColumn(0, "pid", pid);
-
- dsf_makeValue(ds_data_patientgruplist, "indd", "string", appf_getPatientInfoDetail('indd'), 0);
- dsf_makeValue(ds_data_patientgruplist, "cretno", "string", appf_getPatientInfoDetail('cretno'), 0);
- dsf_makeValue(ds_data_patientgruplist, "orddeptcd", "string", appf_getPatientInfoDetail('orddeptcd'), 0);
- dsf_makeValue(ds_data_patientgruplist, "orddrid", "string", appf_getPatientInfoDetail('medispclid'), 0);
- dsf_makeValue(ds_data_patientgruplist, "ordtype", "string", appf_getPatientInfoDetail('ioflag'), 0);
-
- //cmb_patientnm.disabled = true;
- }else{
- ds_cond.setColumn(0, "patientnm", pid);
- ds_cond.setColumn(0, "pid", pid);
- //cmb_patientnm.disabled = false;
- }
- ds_cond.setColumn(0, "pid", pid);
- }
- return isOpener;
- }
- /**
- * @group :
- * @ver : 2008.05.27
- * @by : dhkim
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 병동코드에 해당되는 병실정보 조회
- * @param :
- * @return :
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fSearchRoomcd(wardcd){
- //병실정보 clear
- ds_cond.setColumn(0, "roomcd", "");
- ds_data_roomcdgruplist.clearData();
- //해당 병실 환자정보 clear
- ds_cond.setColumn(0, "patientnm", "");
- ds_cond.setColumn(0, "pid", "");
-
- ds_data_patientgruplist.clearData();
- //cmb_patientnm.disabled = false;
- //선택한 병동에 해당되는 병실 조회
- if( utlf_isNull(wardcd) ){
- wardcd = ds_cond.getColumn(0, "wardcd");
- eval(xPamInfoPath).clearData();
- fInitTopInfo();
- }
- fGetCareComRoomList(wardcd); //ds_roomcdgrup_roomcdgruplist => ds_data_roomcdgruplist
- }
- /**
- * @group :
- * @ver : 2008.05.27
- * @by : dhkim
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 병실코드에 해당되는 환자정보 조회
- * @param :
- * @return :
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fSearchPatInfo(wardcd, roomcd){
- //해당 병실 환자정보 clear
- ds_cond.setColumn(0, "patientnm", "");
- ds_cond.setColumn(0, "pid", "");
- ds_data_patientgruplist.clearData();
-
- //선택한 병동, 병실에 해당되는 환자 조회
- if( utlf_isNull(wardcd) ){
- wardcd = ds_cond.getColumn(0, "wardcd");
- //cmb_patientnm..disabled = false;
- eval(xPamInfoPath).clearData();
- fInitTopInfo();
- }
- if( utlf_isNull(roomcd) ) roomcd = ds_cond.getColumn(0, "roomcd");
- fGetCareComPatList(wardcd, roomcd); //ds_patientgrup_patientgruplist => ds_data_patientgruplist
- }
- /**
- * @group :
- * @ver : 2007.09.06
- * : 2008.05.28 dhkim 수정
- * @by : 정찬성
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 조회버튼
- * @param :
- * @return :
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fSearch(Pram){
- var pid = "";
- var condparam = "";
- var indschacptstat = "";
-
- indschacptstat = ds_main_patindschinfo_patindschlist.getColumn(0, "indschacptstat");
-
- if( utlf_isNull(HC_homecarecd) ){
-
- if( Pram == "" || Pram == "click" ){
- // 상단정보 올림
- condparam = ds_main_wardpatinfo_wardpatlist.getColumn(ds_main_wardpatinfo_wardpatlist.rowposition, "ordtype")
- + "▦" + ds_main_wardpatinfo_wardpatlist.getColumn(ds_main_wardpatinfo_wardpatlist.rowposition, "pid")
- + "▦" + ds_main_wardpatinfo_wardpatlist.getColumn(ds_main_wardpatinfo_wardpatlist.rowposition, "indd")
- + "▦" + ds_main_wardpatinfo_wardpatlist.getColumn(ds_main_wardpatinfo_wardpatlist.rowposition, "cretno")
- + "▦" + ds_main_wardpatinfo_wardpatlist.getColumn(ds_main_wardpatinfo_wardpatlist.rowposition, "instcd")
- + "▦" + ds_cond.getColumn(0, "genrdd");
-
- // frmf_setParameter("condparam", condparam);
- //
- // frmf_modal("SPMMO08900","SPMMO08900",null,"",1,"","","","","","","","M");
-
- appf_initPatientInfo(condparam); //상단정보 셋팅
-
- }
-
- fSetPatInfo();
-
- pid = ds_cond.getColumn(0, "pid");
-
- if( Pram == "click" ){
- //욕창발생부위 추가시 등록번호 필수
- if( utlf_isNull(pid) ){
- sysf_messageBox("등록번호를 ","C001");
- group5.grp_sea.ipt_pid.setFocus();
- return false;
- }else{
- fGetPidWardInfo(pid);
- }
- ds_cond.setColumn(0, "patientnm", pid);
- ds_cond.setColumn(0, "pid", pid);
-
- }
-
-
- fSearchRecInfo();
-
- //중증도사정및 욕창위험사정 점수조회
- if( !HC_isHomeCare ){
- var oParam = {};
- oParam.id = "TRMNW04703";
- oParam.service = "wardcareapp.WardCareRec";
- oParam.method = "reqGetBedSorePntList";
- oParam.inds = "refCond=ds_send";
- oParam.outds = "ds_main_sriusgrup=sriusgrup";
- oParam.async = false;
- oParam.callback = "cf_TRMNW04703";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TRMNW04703") < 0 ){
- sysf_messageBox('중증도사정및 욕창위험사정 점수의 조회를', 'E009');
- return false;
- }
- }
- }else{
- pid = ds_cond.getColumn(0, "patientnm");
-
- if( utlf_isNull(pid) ){
- pid = ds_cond.getColumn(0, "pid");
- }else{
- //병실내 환자정보 선택시 환자등록번호 setting
- ds_cond.setColumn(0, "pid", pid);
- }
-
- //욕창발생부위 추가시 등록번호 필수
- if( utlf_isNull(pid) ){
- sysf_messageBox("등록번호를 ","C001");
- group5.grp_sea.ipt_pid.setFocus();
- return false;
- }
-
- ds_cond.setColumn(0, "patientnm", pid);
- ds_cond.setColumn(0, "pid", pid);
-
- fSearchRecInfo();
- }
- //조회후 그리드의 욕창발생부위, 발생일자를 머지
- fMergeGenrAreaDD();
- return true;
-
- }
- function cf_TRMNW04703(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- function fSearchRecInfo() {
-
- //조회조건값 세팅
- var pid = ds_cond.getColumn(0, "pid");
- ds_send.setColumn(0, "pid", ds_cond.getColumn(0, "pid")); //등록번호
- ds_send.setColumn(0, "indd", ds_data_patientgruplist.getColumn(ds_data_patientgruplist.findRow("pid", pid), "indd")); //등록번호
- ds_send.setColumn(0, "cretno", ds_data_patientgruplist.getColumn(ds_data_patientgruplist.findRow("pid", pid), "cretno")); //등록번호
- ds_send.setColumn(0, "homecare", (HC_isHomeCare == true ? "Y" : "")); //가정간호대상자
- ds_send.setColumn(0, "careflag", HC_gCareFlag); //가정간호대상자
- ds_send.setColumn(0, "inptdt", HC_gInptDt); //가정간호대상자
-
- ds_send.setColumn(0, "genrdd", ds_cond.getColumn(0, "genrdd")); //기준일자(발생일자)
- ds_send.setColumn(0, "genrtm", ds_cond.getColumn(0, "genrtm")); //기준시간(발생시간)
- ds_send.setColumn(0, "stdradio", ds_cond.getColumn(0, "stdradio")); //조회조건의라디오(전체/종료전(전체)/종료전(최근입력만))
-
- //피부욕창관찰기록 조회
- ds_main_detlgrup_detlgruplist.clearData();
-
- var oParam = {};
- oParam.id = "TRMNW04702";
- oParam.service = "wardcareapp.WardCareRec";
- oParam.method = "reqGetObsList";
- oParam.inds = "refCond=ds_send";
- oParam.outds = "ds_main_detlgrup_detlgruplist=getVO";
- oParam.async = false;
- oParam.callback = "cf_TRMNW04702";
- tranf_submit(oParam);
-
- if( utlf_isNull(ds_main_detlgrup_detlgruplist.getColumnInfo("totpnt")) ){
- ds_main_detlgrup_detlgruplist.addColumn("totpnt", "string");
- }
- if( utlf_isNull(ds_main_detlgrup_detlgruplist.getColumnInfo("clsgrupkind")) ){
- ds_main_detlgrup_detlgruplist.addColumn("clsgrupkind", "string");
- }
- if( utlf_isNull(ds_main_detlgrup_detlgruplist.getColumnInfo("fileimg")) ){
- ds_main_detlgrup_detlgruplist.addColumn("fileimg", "string");
- }
- if( utlf_isNull(ds_main_detlgrup_detlgruplist.getColumnInfo("orddd")) ){
- ds_main_detlgrup_detlgruplist.addColumn("orddd", "string");
- }
-
- ds_main_detlgrup_detlgruplist.enableevent = false;
- ds_main_detlgrup_detlgruplist.updatecontrol = false;
-
- for( var i=0 ; i<ds_main_detlgrup_detlgruplist.rowcount ; i++ ){
- if( ds_main_detlgrup_detlgruplist.getColumn(i, "pushyn") == "Y" ){
- ds_main_detlgrup_detlgruplist.setColumn(i, "pushyn", "1");
- }else{
- ds_main_detlgrup_detlgruplist.setColumn(i, "pushyn", "0");
- }
-
- if( ds_main_detlgrup_detlgruplist.getColumn(i, "rptsmsflag") == "true" ){
- ds_main_detlgrup_detlgruplist.setColumn(i, "rptsmsflag", "1");
- }else{
- ds_main_detlgrup_detlgruplist.setColumn(i, "rptsmsflag", "0");
- }
-
- if( ds_main_detlgrup_detlgruplist.getColumn(i, "rptconfirmflag") == "true" ){
- ds_main_detlgrup_detlgruplist.setColumn(i, "rptconfirmflag", "1");
- }else{
- ds_main_detlgrup_detlgruplist.setColumn(i, "rptconfirmflag", "0");
- }
-
- if( ds_main_detlgrup_detlgruplist.getColumn(i, "sel") == "true" ){
- ds_main_detlgrup_detlgruplist.setColumn(i, "sel", "1");
- }else{
- ds_main_detlgrup_detlgruplist.setColumn(i, "sel", "0");
- }
- }
-
- ds_main_detlgrup_detlgruplist.rowposition = -1;
-
- if( arErrorCode.pop("TRMNW04702") > -1 ){
- if( ds_main_detlgrup_detlgruplist.rowcount > 0 ){
- for( var i=0 ; i<ds_main_detlgrup_detlgruplist.rowcount ; i++ ){
- if( utlf_transNullToEmpty(ds_main_detlgrup_detlgruplist.getColumn(i, "obspartnm")).substring(0, 10) == "(anterior)" ){
- ds_main_detlgrup_detlgruplist.setColumn(i, "obspartnm", "Ant."+utlf_transNullToEmpty(ds_main_detlgrup_detlgruplist.getColumn(i, "obspartnm")).substr(10));
- }
- if( utlf_transNullToEmpty(ds_main_detlgrup_detlgruplist.getColumn(i, "obspartnm")).substring(0,11) == "(posterior)" ){
- ds_main_detlgrup_detlgruplist.setColumn(i, "obspartnm", "Post."+utlf_transNullToEmpty(ds_main_detlgrup_detlgruplist.getColumn(i, "obspartnm")).substr(11));
- }
- }
- }
- //그리드변경시 update상태파악위한 노드백업
- ds_hidden_main_detlgrup_detlgruplist.assign(ds_main_detlgrup_detlgruplist);
- //첨부파일이 존재할때에 그리드에 표시
- var fileCnt = 0;
- var sExprBack = "expr:";
-
- for( var i=0 ; i<ds_main_detlgrup_detlgruplist.rowcount ; i++ ){
- fileCnt = ds_main_detlgrup_detlgruplist.getColumn(i, "addfile");
- ds_main_detlgrup_detlgruplist.setColumn(i, "fileimg", "");
- if( fileCnt > 0 ){
- sExprBack += "currow == "+i+" ? 'IMG::emr/MR/icon_list.gif' : ";
- }
- }
-
- ds_main_detlgrup_detlgruplist.updatecontrol = true;
- ds_main_detlgrup_detlgruplist.enableevent = true;
-
- sExprBack += "''";
-
- group5.grd_detlgrup.setCellProperty("Body", group5.grd_detlgrup.getBindCellIndex("body", "fileimg"), "expr", sExprBack);
- }
- }
- function cf_TRMNW04702(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /**
- * @group :
- * @ver : 2008.05.28
- * @by : dhkim
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 조회후 욕창발생부위, 발생일자가 같으면 머지한다.
- * @param :
- * @return :
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fMergeGenrAreaDD(){
-
- //그리드 property에서 처리
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("obspartnm")) = true;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("genrdd")) = true;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("genrtm")) = true;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("genrplce")) = true; //발생장소추가_20090220_SMY
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("cause")) = true;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("rptsmsflag")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("rptconfirmflag")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("sel")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("flag")) = true;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("recdd")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("rectm")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("sizewidth")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("sizeheight")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("sizedepth")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("stage")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("restage")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("tissue")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("color")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("state")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("amount")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("symptom")) = false;
- //
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("underangle")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("underdepth")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("underangleunit")) = false; //undermining단위추가_20090203_SMY
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("underdepthunit")) = false; //undermining단위추가_20090203_SMY
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("dressing")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("addfile")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("fileimg")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("etc")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("recrnm")) = false; //기록자정보추가_20090203_SMY
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("recrid")) = false; //기록자정보추가_20090203_SMY
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("genrplceid")) = false; //발생장소추가_20090220_SMY
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("causeid")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("colorid")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("symptomid")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("underangleid")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("dressingid")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("pid")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("grupcd")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("instcd")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("obsrecseq")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("genrplcewardcd")) = true;
- }
- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- //+++++++++++++++++++++++++++++++++++++++++++ 조회관련 펑션 모음 끝 ++++++++++++++++++++++++++++++++++++++++++++++//
- //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- //+++++++++++++++++++++++++++++++ 욕창관련 팝업호출관련 펑션모음 시작 ++++++++++++++++++++++++++++++++++++++++++++++//
- //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- /////////////////팝업 오픈 시작////////////////////
- /**
- * @group :
- * @ver : 2008.05.28
- * @by : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 첨부파일팝업을 호출
- * @param :
- * @return :
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fOpenFilePopup(){
- var iRow = group5.grd_detlgrup.currentrow;
- var cdColIdx = 0;
- var mergeyn = 0;
-
- var pid = xBedsoreGridPath.getColumn(iRow, "pid");
- var obsrecseq = xBedsoreGridPath.getColumn(iRow, "obsrecseq");
- var grupcd = xBedsoreGridPath.getColumn(iRow, "grupcd");
-
-
- //수정된 내역이 있으면 피부욕창기록을 먼저 저장하신 후 첨부하세요.
- var stat = '';
- for( var i=0 ; i<group5.grd_detlgrup.rowcount ; i++ ){
- stat = xBedsoreGridPath.getColumn(i, "stat");
- if( stat != '-' ){
- sysf_messageBox('입력하신 피부욕창관찰기록을 먼저 저장하신 후 첨부파일을', 'C002');
- return;
- }
- }
-
- if( !utlf_isNull(obsrecseq) ){
- frmf_setParameter('pid', pid);
- frmf_setParameter('grupcd', grupcd);
- frmf_setParameter('obsrecseq', obsrecseq);
-
- frmf_modal("SPMNW04703","SPMNW04703",null,"",1,100,100,"","","","","","M");
-
- var nHScroll = group5.grd_detlgrup.hscrollbar.pos;
-
- fSearch();
-
- group5.grd_detlgrup.hscrollbar.pos = nHScroll;
- }else{
- sysf_messageBox('입력하신 피부욕창관찰기록내역을 먼저 저장하신 후', 'C001');
- return ;
- }
- }
- /**
- * @group :
- * @ver : 2008.08.08
- * @by : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @desc : undermining팝업 호출
- * @type : function
- * @access : public
- * @param :
- * @return :
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fPopupUndermining(){
- var iRow = group5.grd_detlgrup.currentrow;
- var cdColIdx = 0;
- var mergeyn = 0;
-
- var pid = xBedsoreGridPath.getColumn(iRow, "pid");
- var obsrecseq = xBedsoreGridPath.getColumn(iRow, "obsrecseq");
- var grupcd = xBedsoreGridPath.getColumn(iRow, "grupcd");
-
-
- //수정된 내역이 있으면 피부욕창기록을 먼저 저장하신 후 기록하세요.
- var stat = '';
- for( var i=0 ; i<group5.grd_detlgrup.rowcount ; i++ ){
- stat = xBedsoreGridPath.getColumn(i, "stat");
- if( stat != '-' ){
- sysf_messageBox('입력하신 피부욕창관찰기록을 먼저 저장하신 후', 'C002');
- return;
- }
- }
-
-
- if( !utlf_isNull(obsrecseq) ){
- frmf_setParameter('pid', pid);
- frmf_setParameter('grupcd', grupcd);
- frmf_setParameter('obsrecseq', obsrecseq);
-
- frmf_modal("SPMNW04701","SPMNW04701",null,"",1,100,100,"","","","","","M");
-
- var nColPos = group5.grd_detlgrup.hscrollbar.pos;
-
- fSearch();
-
- group5.grd_detlgrup.hscrollbar.pos = nColPos;
- }else{
- sysf_messageBox('입력하신 피부욕창관찰기록내역을 먼저 저장하신 후', 'C001');
- return ;
- }
- /*
- //기준자료 팝업을 호출하기 전 parameter setting
- //var preCd = model.getValue(xBedsoreGridPath+'['+(iRow-1)+']/'+colNm+'id');//기존저장되어있던 코드값
- //var preNm = model.getValue(xBedsoreGridPath+'['+(iRow-1)+']/'+colNm);//기존저장되어있던 명칭값
- var iRow = grd_detlgrup.row;
- var cdColIdx = 0;
- var mergeyn = 0;
- var pid = model.getValue(xBedsoreGridPath + '[' + (iRow-1) + ']/pid');
- var obsrecseq = model.getValue(xBedsoreGridPath + '[' + (iRow-1) + ']/obsrecseq');
- var grupcd = model.getValue(xBedsoreGridPath + '[' + (iRow-1) + ']/grupcd');
-
-
- //수정된 내역이 있으면 피부욕창기록을 먼저 저장하신 후 등록하세요.
- var stat = '';
- for(var i = 2 ; i < grd_detlgrup.rows; i++){
- stat = model.getValue(xBedsoreGridPath + '[' + (i - 1) + ']/stat');
- if(stat != '-'){
- messageBox('입력하신 피부욕창관찰기록을 먼저 저장하신 후', 'C002');
- return;
- }
- }
-
- //신규로 입력한 경우에 피부욕창관찰기록내역을 먼저 저아하신 후 등록하세요.
- if(obsrecseq == "") {
- messageBox('입력하신 피부욕창관찰기록내역을 먼저 저장하신 후', 'C001');
- return ;
- }
-
- /*********************************************************************************** /
- //미구현내역 =====undermining입력시 multi체크할때에 행추가로 보여지면서 merge되도록할것**** /
-
- /* type - 1 : undermining 팝업
- - 2 : multi select 팝업
- * /
- //multi팝업과 undermining팝업을 구분
- setParameter("type", "1");
-
- //undermining기준자료팝업 호출
- modal("SPMNW04701",1, event.screenX-200, event.screenY+50);
-
- var retClosParam = getParameter("returnnull");
- var retCDParam = '';
- var retNMParam = '';
-
- if(retClosParam != "close"){
- if(model.getValue(xBedsoreGridPath +"[" + (iRow-1) + "]/stat") != "i") {
- model.setValue(xBedsoreGridPath +"[" + (iRow-1) + "]/stat","u");
- }
- retNMParam = getParameter("underanglecdnm");
- retCDParam = getParameter("underanglecd");
- } else {
- return ;
- }
-
- alert(retNMParam + ' ' + retCDParam);
- model.makeNode("/root/tmp/griddata");
- model.copyNode("/root/tmp/griddata", xBedsoreGridPath +"[" + (iRow-1) + "]");
-
- var arr = retNMParam.split(",");
- arr2 = retCDParam.split(",");
-
- //선택한 젤 첫번째 row는 insert안 하고
- model.setValue(xBedsoreGridPath + "[" + (iRow+i) + "]/stat2", "i")
-
- for(var i = 0; i < (arr.length -1); i++) {
-
- //팝업에서 선택한 것 만큼 행추가
- grd_detlgrup.insertRow(iRow + i, "below");
-
- //그리드 인서트 상태에 마스터 내용을 뿌려줌.
- model.copyNode(xBedsoreGridPath +"[" + (iRow+i) + "]", "/root/tmp/griddata");
- //undermining 상태 적용 (무조건 신규)-->서버단에서 해당그룹 모두 삭제후 다시 insert
- model.setValue(xBedsoreGridPath + "[" + (iRow+i) + "]/stat2", "i");
-
-
- }
- grd_detlgrup.refresh();
- */
- }
- /**
- * @group :
- * @ver : 2008.05.28
- * @by : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 욕창발생부위 팝업호출
- * @param :
- * @return :
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fPopupBedSoreImg(){
- var iRow = group5.grd_detlgrup.currentrow;
- var iCol = group5.grd_detlgrup.currentcol;
- var obsrecseq = xBedsoreGridPath.getColumn(xBedsoreGridPath.rowposition, "obsrecseq");
- //팝업창에 부위 값이 있으면 기존값 셋팅
- //이미저장되어있으면 수정하지 못하도록 확인버튼을 막아주는 flag를 set한다.
- if( !utlf_isNull(group5.grd_detlgrup.getCellText(iRow, 2)) ){
- frmf_setParameter("partall", group5.grd_detlgrup.getCellText(iRow, 3));
- if(obsrecseq > 0){
- frmf_setParameter('editable', 'f');
- }
- }else{
- frmf_setParameter('editable', 't');
- }
- // 환자 기록부분 선택 팝업
- frmf_modal("SMMNW04701","SMMNW04701",null,"",1,system.clientToScreenX(this, this.position.left)-200,system.clientToScreenY(this, this.position.top)+50,"","","","","","M"); //이미지호출 //yjh1
- //팝업에서 아무것도 선택하지 않고 close를 눌렀을때..
- if( frmf_getParameter("returnnull") == "close" ){
- return ;
- } else {
- //욕창발생부위 값을 grid에 set
- var retStr = frmf_getParameter('retStr');
- xBedsoreGridPath.setColumn(iRow, "obspartnm", retStr);
- //그리드 상태값 변경
- var stat = xBedsoreGridPath.getColumn(xBedsoreGridPath.rowposition, "stat");
- if( stat != "i" ){
- xBedsoreGridPath.setColumn(xBedsoreGridPath.rowposition, "stat", "u");
- } else {
- //욕창발생부위의 추가시 해당 부위에 대해
- //동일한 발생부위+발생일자+발생시간+원인의 '종료'가 없으면
- //그 부위를 추가할수 없도록 메세지 리턴
- if( group5.grd_detlgrup.rowcount > 1 ){
- var returnArr = fIsExistEndData(group5.grd_detlgrup.currentrow, true);
- if( !utlf_isNull(returnArr[3]) && !returnArr[3] ){
- sysf_messageBox('선택하신 발생부위는 이미 등록되어 있으며, 종료된 사정이 아니므로 재등록 하실 수 ', 'I004');
- xBedsoreGridPath.setColumn(xBedsoreGridPath.rowposition, "obspartnm", "");
- return ;
- }
- }
- }
- }
- }
- /**
- * @group :
- * @ver : 2008.05.28
- * @by : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @desc : 욕창기준자료(원인, 기저부, 상처감염증상, dressing)팝업 호출
- * @type : function
- * @access : public
- * @param : colNm 그리드의 col ref
- * @param : iRow 그리드에서 현재 선택되어있는 row 인덱스
- * @param : nmColIdx 찾으려는 코드명칭의 col 인덱스
- * @param : cdColIdx 찾으려는 코드의 col 인덱스
- * @return :
- * __________________________________________________________________________
- * |column | cd |cdIdx| nm |nmIdx |
- * |________________________________________________________|__________|______|
- * |발생장소 |genrplceid | |genrplce | |
- * |________________________________________________________|__________|______|
- * |원인 |causeid | 5 |cause | 23 |
- * |________________________________________________________|__________|______|
- * |기저부색 |colorid | 14 |color | 24 |
- * |________________________________________________________|__________|______|
- * |상처감염증상 |symptomid | 17 |symptom | 25 |
- * |________________________________________________________|__________|______|
- * |Undermining방향 |underangleid | 18 |underangle| 26 |
- * |________________________________________________________|__________|______|
- * |Dressing |dressingid | 20 |dressing | 27 |
- * |________________________________________________________|__________|______|
- * |단계 |stageid | |stage | |
- |__________________________________________________________________________|
- |삼출물상태 |stateid | |state | |
- |__________________________________________________________________________|
- |삼출물양 |amountid | |amount | |
- |__________________________________________________________________________|
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fPopupBedSoreData(iRow){
- var curCol = group5.grd_detlgrup.currentcol;
-
- var dressCd = xBedsoreGridPath.getColumn(iRow, "dressingid"); //기존저장되어있던 코드값
- var dressNm = xBedsoreGridPath.getColumn(iRow, "dressing"); //기존저장되어있던 명칭값
- var flag = xBedsoreGridPath.getColumn(iRow, "flag"); //구분
- var stat = xBedsoreGridPath.getColumn(iRow, "stat"); //상태
-
- //욕창기준자료 (발생장소, 원인, 기저부, 상처감염증상,dressing)저장되어 있던 그리드의 값을 팝업에 세팅
- fSetPopupData(iRow, "genrplce");// (발생장소)_20090220_SMY추가
- fSetPopupData(iRow, "cause"); // (원인)
- fSetPopupData(iRow, "color"); // (기저부)
- fSetPopupData(iRow, "stage"); // (단계)
- fSetPopupData(iRow, "symptom"); // (상처감염증상)
- fSetPopupData(iRow, "state"); // (삼출물상태)
- fSetPopupData(iRow, "amount"); // (삼출물양)
- fSetPopupData(iRow, "dressing");// (dressing)
- fSetPopupData(iRow, "tissue");// 조직의 종류
-
- frmf_setParameter("type", "2");
- frmf_setParameter("flag", flag);
- frmf_setParameter("stat", stat);
-
- frmf_modal("SPMNW04702","SPMNW04702",null,"",1,system.clientToScreenX(this, this.position.left)-200,system.clientToScreenY(this, this.position.top)+50,"","","","","","M"); //기준자료호출 //yjh1
-
- //팝업에서 가져온 return parameter를 그리드에 세팅
- var retClosParam = frmf_getParameter("returnnull");
-
- fGetPopupData(iRow, "genrplce", retClosParam); //발생장소
- fGetPopupData(iRow, "cause", retClosParam); //원인
- fGetPopupData(iRow, "color", retClosParam); //기저부색
- fGetPopupData(iRow, "stage", retClosParam); //단계
- fGetPopupData(iRow, "symptom", retClosParam); //감염증상
- fGetPopupData(iRow, "state", retClosParam); //삼출물상태
- fGetPopupData(iRow, "amount", retClosParam); //삼출물양
- fGetPopupData(iRow, "dressing", retClosParam); //드레싱
- fGetPopupData(iRow, "tissue", retClosParam); //조직의 종류
-
- //alert(getParameterPath());
-
- //parameters clear
- //model.removenode(getParameterPath());
- frmf_setParameter("type", "");
- frmf_setParameter("flag", "");
- frmf_setParameter("stat", "");
- frmf_setParameter("stagecdid", "");
-
- frmf_setParameter("genrplceEtcStr", "");
- frmf_setParameter("genrplceEtcExist", "");
- frmf_setParameter("causeEtcStr", "");
- frmf_setParameter("causeEtcExist", "");
- frmf_setParameter("stageEtcStr", "");
- frmf_setParameter("stageEtcExist", "");
- frmf_setParameter("colorEtcStr", "");
- frmf_setParameter("colorEtcExist", "");
- frmf_setParameter("stateEtcStr", "");
- frmf_setParameter("stateEtcExist", "");
- frmf_setParameter("amountEtcStr", "");
- frmf_setParameter("amountEtcExist", "");
- frmf_setParameter("symptomEtcStr", "");
- frmf_setParameter("symptomEtcExist", "");
- frmf_setParameter("dressingEtcStr", "");
- frmf_setParameter("dressingEtcExist", "");
- frmf_setParameter("dressingStr", "");
-
- frmf_setParameter("genrplcecdid", "");
- frmf_setParameter("causecdid", "");
- frmf_setParameter("stagecdid", "");
- frmf_setParameter("colorcdid", "");
- frmf_setParameter("statecdid", "");
- frmf_setParameter("amountcdid", "");
- frmf_setParameter("symptomcdid", "");
- frmf_setParameter("dressingcdid", "");
- frmf_setParameter("tissuecdid", "");
- var genrplcesplit = utlf_transNullToEmpty(ds_main_detlgrup_detlgruplist.getColumn(iRow, "genrplceid")).split(",");
- var genrplceh = 0;
- for( var i=0 ; i<genrplcesplit.length ; i++ ){
- if( genrplcesplit[i] == "61" ){ // 61 : 원내
- genrplceh++;
- }
- }
-
- if( genrplceh == 0 ){
- xBedsoreGridPath.setColumn(iRow, "genrplcewardcd", "");
- }
- }
- /////////////////팝업데이터 세팅 시작////////////////////
- /**
- * @group :
- * @ver : 2008.08.08
- * @by : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @desc : 욕창기준자료저장되어 있던 그리드의 값을 팝업에 세팅
- * genrplce, genrplceid //20090220_SMY추가
- cause, causeid,
- * stage, stageid,
- * color, colorid,
- * state, stateid,
- * amount, amountid,
- * symptom, symptomid,
- * dressing, dressingid
- * @type : function
- * @access : public
- * @param :
- * @return :
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fSetPopupData(iRow, str) {
- var cd;
- var nm = '';
-
- //if(str == "stage" || str=="state" || str=="amount") {
- if( str=="state" || str=="amount" ) {
- //단계, 삼출물상태, 삼출물양 (combo로 들어가는 값)
- cd = xBedsoreGridPath.getColumn(iRow, str);//기존저장되어있던 코드값
- } else {
- cd = xBedsoreGridPath.getColumn(iRow, str + 'id');//기존저장되어있던 코드값 ;
- nm = utlf_transNullToEmpty(xBedsoreGridPath.getColumn(iRow, str));//기존저장되어있던 명칭값 ;
- }
-
- if( !utlf_isNull(cd) ){
- frmf_setParameter(str + "cdnm", "");
- frmf_setParameter(str + "cd", "");
- frmf_setParameter(str + "cdid", cd);
-
- //기타가 선택되어진 상태일때 freetext를 파라메터로 set한다.
- if( nm.indexOf('기타') > -1 ){
- var etcStr = nm.split(')')[0].split('(')[1];
- frmf_setParameter(str + 'EtcExist', true);
- frmf_setParameter(str + 'EtcStr', etcStr);
- }
- if( str == "dressing" ){
- frmf_setParameter("dressingStr", nm);
- }
- }
- }
- /**
- * 발생장소 원인, 기저부, 상처감염증상,dressing 공통 팝업의 선택결과를 그리드에 세팅
- */
- function fGetPopupData(iRow, str, retClosParam) {
- var retCDParam = '';
- var retNMParam = '';
-
- var oldCDParam;
-
- if( retClosParam != "close" ){
- if( xBedsoreGridPath.getColumn(iRow, "stat") != "i" ){
- xBedsoreGridPath.setColumn(iRow, "stat", "u");
- }
- retNMParam = frmf_getParameter(str + "cdnm");
- retCDParam = frmf_getParameter(str +"cd");
- } else {
- return ;
- }
-
- //if(str == "stage" || str=="state" || str=="amount") {
- if( str=="state" || str=="amount" ){
- xBedsoreGridPath.setColumn(iRow, str, retCDParam);
- } else {
- xBedsoreGridPath.setColumn(iRow, str, retNMParam);
- xBedsoreGridPath.setColumn(iRow, str + 'id', retCDParam);
- }
-
- frmf_clearParameter(str + "cdnm");
- frmf_clearParameter(str + "cd");
- frmf_clearParameter(str + "cdid");
- frmf_clearParameter(str + "Str");
- frmf_clearParameter(str + "etcExist");
- frmf_clearParameter(str + "etcStr");
- }
- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- //+++++++++++++++++++++++++++++++ 욕창관련 팝업호출관련 펑션모음 종료 ++++++++++++++++++++++++++++++++++++++++++++++//
- //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- //++++++++++++++++++++++++++++++++++++++++ 저장 관련 펑션 모음 시작 ++++++++++++++++++++++++++++++++++++++++++++++//
- //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- /**
- * @group :
- * @ver : 2008.05.28
- * @by : dhkim
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 욕창관찰기록 저장하기전에 유효성을 체크한다.
- * @param :
- * @return :
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fIsValid(){
- //그리드 저장데이터 존재여부 체크(default rows = 2)
- if( group5.grd_detlgrup.rowcount < 1 ){
- sysf_messageBox("저장할 내역이","I004");
- return false;
- }
- //-----------------------------------------------------------------------------------------------
- //수정 데이터 존재여부 체크
- /*var sflag = '';
- for(var i = 2; i < grd_detlgrup.rows; i++){
- //alert(grd_detlgrup.getUpdateData());
- alert(i);
- alert(grd_detlgrup.getUpdateData("insert"));
-
- sflag = getArrayData(grd_detlgrup.getUpdateDataAll("i"), i-1, 0);
- if(sflag == ''){
- messageBox("신규등록/수정사항이","I004");
- return false;
- }
- }*/
-
- var sflag = '';
- var cnts = 0;
-
- for( var i=0 ; i<group5.grd_detlgrup.rowcount ; i++ ){
- /*if(model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/stat") != "-"
- && model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/stat") != ""
- && model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/stat") != null) {*/
- if( ds_main_detlgrup_detlgruplist.getRowType(i) != 1 ){
- cnts ++;
- }
- }
-
- if( cnts < 1 ){
- sysf_messageBox("신규등록/수정사항이","I004");
- return false;
- }
- //--------------------------------------------------------------------------------------------------
- var dschdd = (appf_getPatientInfoDetail('pid') == false ? xSearchPamInfoPath.getColumn(0, "dschdd") : appf_getPatientInfoDetail('dschdd'));
-
- var cnt = 0; // 욕창보고 체크 갯수 count용
- for( var i=0 ; i<group5.grd_detlgrup.rowcount ; i++ ){
- //욕창발생부위 입력여부 체크
- if( utlf_isNull(xBedsoreGridPath.getColumn(i, "obspartnm")) || utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "obspartnm")).length <= 0 ) {
- sysf_messageBox("욕창발생부위는","I003");
- return false;
- }
-
- //20130318 이후 기록만 점검
- if( xBedsoreGridPath.getColumn(i, "recdd") > "20130318" ){
- //가로 세로 크기 입력을 필수로 처리 2013.03.18
- if( utlf_isNull(xBedsoreGridPath.getColumn(i, "sizewidth"))
- || utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "sizewidth")).length <= 0
- || utlf_isNull(xBedsoreGridPath.getColumn(i, "sizeheight"))
- || utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "sizeheight")).length <= 0 ){
- sysf_messageBox("크기(가로, 세로)는","I003");
- return false;
- }
-
- //삼출물의 양 필수 처리 2013.03.19
- if( utlf_isNull(xBedsoreGridPath.getColumn(i, "amount")) || utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "amount")).length <= 0 ){
- sysf_messageBox("삼출물의 양은","I003");
- return false;
- }
- //조직의 종류 처리 2013.03.19
- if( utlf_isNull(xBedsoreGridPath.getColumn(i, "tissue")) || utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "tissue")).length <= 0 ){
- sysf_messageBox("조직의 종류는","I003");
- return false;
- }
- //사정 및 종료일 때는 재사정 단계 필수 처리 2013.03.19
-
- if( xBedsoreGridPath.getColumn(i, "flag") != "00"
- && (utlf_isNull(xBedsoreGridPath.getColumn(i, "restage")) || utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "restage")).length <= 0) ){
- sysf_messageBox("재사정 단계는","I003");
- return false;
- }
-
- //발생장소가 원내일 경우 발생장소(원내) 필수항목 지정_칠곡인증평가 관련_2016.05.12_AYS
- if( ds_codelist.lookup("cdgrupid", "R11", "cdid") == 'Y'
- && xBedsoreGridPath.getColumn(i, "genrplce") == "원내"
- && utlf_isNull(xBedsoreGridPath.getColumn(i, "genrplcewardcd")) ){
- sysf_messageBox("발생장소(원내) 선택은","I003");
- return false;
- }
- }
-
-
- if( HC_isHomeCare == false ){
- if( dschdd < "99991231"
- && (xBedsoreGridPath.getColumn(i, "recdd") > dschdd || xBedsoreGridPath.getColumn(i, "genrdd") > dschdd) ){
- sysf_messageBox((i-1) + "번째에 기록일자 와 발생일자는 퇴원일 "+dschdd+" 이전이어야 합니다" ,"I007");
- return false;
- }
- }
-
- //필드값 필수입력여부 체크
- var valiStr = '';
- valiStr += xBedsoreGridPath.getColumn(i, "cause"); //원인
- valiStr += xBedsoreGridPath.getColumn(i, "stage"); //단계
- valiStr += xBedsoreGridPath.getColumn(i, "color"); //기저부색
- valiStr += xBedsoreGridPath.getColumn(i, "state"); //삼출물상태
- valiStr += xBedsoreGridPath.getColumn(i, "amount"); //삼출물양
- valiStr += xBedsoreGridPath.getColumn(i, "symptom"); //상처감염증상
- valiStr += xBedsoreGridPath.getColumn(i, "underangle"); //undermining방향
- valiStr += xBedsoreGridPath.getColumn(i, "underdepth"); //undermining깊이
- valiStr += xBedsoreGridPath.getColumn(i, "dressing"); //dressing
- if( utlf_isNull(valiStr) ){
- sysf_messageBox((i-1) + "번째에 항목을 1개 이상","C002");
- return false;
- }
-
- // 욕창보고 체크가 2개 이상 체크될 시 Blocking (2011.04.19 Ahn)
- if( "1" == xBedsoreGridPath.getColumn(i, "rptsmsflag") ){
- if( 1 < ++cnt) {
- sysf_messageBox("SMS전송은 한 건만 가능합니다." ,"I");
- return false;
- }
- }
- }
- return true;
- }
- /**
- * @group :
- * @ver : 2007.09.06
- * : 2008.05.28 dhkim 수정
- * @by : 정찬성
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 욕창관찰기록 저장
- * @param :
- * @return :
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fSave(){
- if(fIsValid()){
- //저장여부 메세지박스
- if(messageBox("","Q002") != 6)
- return false;
- model.removenode("/root/send/savedata");
- model.makeValue("/root/send/savedata/detlgrup", grd_detlgrup.getupdatedataAll('i'));
- model.makeValue("/root/send/savedata/pid", model.getValue("/root/cond/patientgrupInfo/patientgruplistInfo/pid"));
- if(submit("TXMNW04710")){
- model.copyNode("/root/hidden/main/detlgrup", "/root/main/detlgrup");
- fSearch();
- }
- }
- }
- var SIGN_ROW = 0;//for돌때 해당 그리드만 인증데이터로 만들어주기 위해 global variable로 선언
- //인증저장
- function fSignSave(){
- if( fIsValid() ){
- /*//2009-01-29_SMY_주석처리
- var retMsg = messageBox("인증저장을", "Q004"); // 실행 하시겠습니까? yes=6, no=7
- if(retMsg != "6") {
- return ;
- }
- */
-
- /* 환자정보 가져오는 노드 변경_20090205_SMY
- var pid = model.getValue(xBedsoreGridPath + "/pid");
- var indd = model.getValue(xBedsoreGridPath + "/indd");
- var cretno = model.getValue(xBedsoreGridPath + "/cretno");
- var orddeptcd = model.getValue(xBedsoreGridPath + "/orddeptcd");
- var orddrid = model.getValue(xBedsoreGridPath + "/orddrid");
- var signno = '';//model.getValue("/root/main/endsummary/endsummaryrecord/signno");
- */
- var pid = ds_cond.getColumn(0, "pid");
- var indd = ds_data_patientgruplist.lookup("pid", pid, "indd");
- var cretno = ds_data_patientgruplist.lookup("pid", pid, "cretno");
- var orddeptcd = ds_data_patientgruplist.lookup("pid", pid, "orddeptcd");
- var orddrid = ds_data_patientgruplist.lookup("pid", pid, "orddrid");
- var ordtype = ds_data_patientgruplist.lookup("pid", pid, "ordtype");
- var signno = ''; //model.getValue("/root/main/endsummary/endsummaryrecord/signno");
-
- // 저장 데이터 세팅
- var iRows = group5.grd_detlgrup.rowcount;
- for( var i=0 ; i<iRows ; i++ ){
- if( utlf_transNullToEmpty(ds_main_detlgrup_detlgruplist.getColumn(i, "obspartnm")).substring(0,4) == "Ant." ){
- ds_main_detlgrup_detlgruplist.setColumn(i, "obspartnm", "(anterior)"+utlf_transNullToEmpty(ds_main_detlgrup_detlgruplist.getColumn(i, "obspartnm")).substr(4));
- }
- if( utlf_transNullToEmpty(ds_main_detlgrup_detlgruplist.getColumn(i, "obspartnm")).substring(0,5) == "Post." ){
- ds_main_detlgrup_detlgruplist.setColumn(i, "obspartnm", "(posterior)"+utlf_transNullToEmpty(ds_main_detlgrup_detlgruplist.getColumn(i, "obspartnm")).substr(5));
- }
- }
- /*
- var stat = "", obspartnm = "", genrdd = "", genrtm = "", genrplce = "", cause = "", flag = "",
- recdd = "", rectm = "", sel = "", sizewidth = "", sizeheight = "", sizedepth = "", stage = "",
- color = "", state = "", amount = "", symptom = "", underangle = "", underdepth = "", dressing = "",
- photimg = "", etc = "", genrplceid = "", causeid = "", colorid = "", symptomid = "", underangleid = "",
- dressingid = "", pid = "", grupcd = "", obsrecseq = "", instcd = "", signno = "";
- var iRows = grd_detlgrup.rows;
- var iPath = "/root/main/detlgrup/detlgruplist";
- var detlgruplist = "m▦rownum▦stat▦obspartnm▦genrdd▦genrtm▦genrplce▦cause▦flag▦recdd▦rectm▦sel▦sizewidth▦sizeheight▦sizedepth▦stage▦color▦state▦amount▦symptom▦underangle▦underdepth▦dressing▦▦photimg▦etc▦genrplceid▦causeid▦colorid▦symptomid▦underangleid▦dressingid▦pid▦grupcd▦obsrecseq▦instcd▦signno";
- ▦▦▦▦▦▦▦▦▦▦▦▦etc▦genrplceid
- ▦causeid▦colorid▦symptomid▦underangleid▦dressingid▦pid▦grupcd▦obsrecseq▦instcd▦signno;
- for(var i=1;i<iRows; i++) {
- stat = model.getValue(iPath+"["+i+"]/stat");
- if(model.getValue("/root/main/detlgrup/detlgruplist["+i+"]/obspartnm").substring(0,4) == "Ant."){
- obspartnm = "(anterior)"+model.getValue("/root/main/detlgrup/detlgruplist["+i+"]/obspartnm").substring(4))
- }
- if(model.getValue("/root/main/detlgrup/detlgruplist["+i+"]/obspartnm").substring(0,5) == "Post."){
- obspartnm = "(posterior)"+model.getValue("/root/main/detlgrup/detlgruplist["+i+"]/obspartnm").substring(5))
- }
- genrdd = model.getValue(iPath+"["+i+"]/genrdd");
- genrtm = model.getValue(iPath+"["+i+"]/genrtm");
- genrplce = model.getValue(iPath+"["+i+"]/genrplce");
- cause = model.getValue(iPath+"["+i+"]/cause");
- flag = model.getValue(iPath+"["+i+"]/flag");
- sel = model.getValue(iPath+"["+i+"]/sel");
- sizewidth = model.getValue(iPath+"["+i+"]/sizewidth");
- sizedepth = model.getValue(iPath+"["+i+"]/sizedepth");
- stage = model.getValue(iPath+"["+i+"]/stage");
- color = model.getValue(iPath+"["+i+"]/color");
- state = model.getValue(iPath+"["+i+"]/state");
- amount = model.getValue(iPath+"["+i+"]/amount");
- symptom = model.getValue(iPath+"["+i+"]/symptom");
- underangle = model.getValue(iPath+"["+i+"]/underangle");
- underdepth = model.getValue(iPath+"["+i+"]/underdepth");
-
- dressing = model.getValue(iPath+"["+i+"]/dressing");
- flag = model.getValue(iPath+"["+i+"]/flag");
- flag = model.getValue(iPath+"["+i+"]/flag");
-
- detlgruplist = detlgruplist + "▩" + "i" + "▦" + i + "▦" + stat + "▦" + obspartnm
- + "▦" + genrdd + "▦" + genrtm + "▦" + genrplce + "▦" + cause
- + "▦" + flag + "▦" + sel + "▦" + sizewidth + "▦" + sizedepth
- + "▦" + stage + "▦" + state + "▦" + amount + "▦" + symptom
- + "▦" + underangle + "▦" + underdepth + "▦" + dressing + "▦" + photimg
- + "▦" + updtflag + "▦" + chkflag + "▦" + wardtel + "▦" + trno
- + "▦" + updtflag + "▦" + chkflag + "▦" + wardtel + "▦" + trno
- + "▦" + updtflag + "▦" + chkflag + "▦" + wardtel + "▦" + trno
- + "▦" + updtflag + "▦" + chkflag + "▦" + wardtel + "▦" + trno;
- }
- */
-
- //------------------------------------------------------------------------------------------------------
- ds_send_savedata_detlgrup.copyData(ds_main_detlgrup_detlgruplist);
-
- ds_send_savedata_detlgrup.enableevent = false;
- ds_send_savedata_detlgrup.updatecontrol = false;
-
- for( var i=0 ; i<ds_send_savedata_detlgrup.rowcount ; i++ ){
- ds_send_savedata_detlgrup.setRowType(i, 2);
-
- if( ds_send_savedata_detlgrup.getColumn(i, "pushyn") == "1" ){
- ds_send_savedata_detlgrup.setColumn(i, "pushyn", "Y");
- }else{
- ds_send_savedata_detlgrup.setColumn(i, "pushyn", "N");
- }
- if( ds_send_savedata_detlgrup.getColumn(i, "rptsmsflag") == "1" ){
- ds_send_savedata_detlgrup.setColumn(i, "rptsmsflag", "true");
- }else{
- ds_send_savedata_detlgrup.setColumn(i, "rptsmsflag", "false");
- }
- if( ds_send_savedata_detlgrup.getColumn(i, "rptconfirmflag") == "1" ){
- ds_send_savedata_detlgrup.setColumn(i, "rptconfirmflag", "true");
- }else{
- ds_send_savedata_detlgrup.setColumn(i, "rptconfirmflag", "false");
- }
- if( ds_send_savedata_detlgrup.getColumn(i, "sel") == "1" ){
- ds_send_savedata_detlgrup.setColumn(i, "sel", "true");
- }else{
- ds_send_savedata_detlgrup.setColumn(i, "sel", "false");
- }
- }
-
- ds_send_savedata_detlgrup.updatecontrol = true;
- ds_send_savedata_detlgrup.enableevent = true;
-
- //model.makeValue("/root/send/savedata/pid", pid);
-
-
- //------------------------------------------------------------------------------------------------------
- /*var sHeader = "stat▦obspartnm▦genrdd▦genrtm▦genrplce▦cause▦flag"
- + "▦recdd▦rectm▦rptsmsflag▦sel▦sizewidth▦sizeheight▦sizedepth"
- + "▦stageid▦color▦state▦amount▦symptom▦underangle▦underdepth▦dressing"
- + "▦photimg▦etc▦genrplceid▦causeid▦colorid▦symptomid▦underangleid"
- + "▦dressingid▦pid▦grupcd▦obsrecseq▦instcd▦signno▩";
-
- var sData = "";
-
- for(i = grd_detlgrup.fixedRows; i < grd_detlgrup.rows; i++) {
- if(model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/stat") != "-"
- && model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/stat") != ""
- && model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/stat") != null) {
- sData += model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/stat") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/obspartnm") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/genrdd") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/genrtm") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/genrplce") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/cause") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/flag") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/recdd") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/rectm") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/rptsmsflag") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/sel") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/sizewidth") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/sizeheight") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/sizedepth") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/stageid") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/color") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/state") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/amount") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/symptom") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/underangle") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/underdepth") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/dressing") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/photimg") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/etc") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/genrplceid") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/causeid") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/colorid") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/symptomid") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/underangleid") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/dressingid") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/pid") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/grupcd") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/obsrecseq") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/instcd") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/signno") + "▩" ;
- }
- }
-
- model.makeValue("/root/send/savedata/detlgrup", sHeader+sData)*/
- //-----------------------------------------------------------------------------------------------
-
-
- //------------------------------------------------------------------------------------------------------
-
- Sign.certreload = false ; // 전자서명 호출시 인증저장 버튼을 누를때마다 인증서가 뜨도록 처리
-
- ds_send_savedata_signlist.clearData();
-
- //for를 돌면서 각 욕창기록정보의 노드를 복사 한다.
- for( var i=0 ; i<group5.grd_detlgrup.rowcount ; i++ ){
- SIGN_ROW = i;
- ds_send_savedata_signlist.addRow();
- signno = xBedsoreGridPath.getColumn(i, "signno");
-
- // 인증 로직 호출
- ViewFunc = "sign";
- if( Sign.signprocess() == true ){
- //alert(Sign.signedInfos[1]);
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "pid", pid); // 등록번호
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "certflag", "C"); // 인증여부( T : 임시저장, C : 인증저장)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "orddd", indd); // 입원일자(입원,응급)/진료일자(외래)
-
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signno", signno); // 서명번호
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "cretno" , cretno); // 생성번호
-
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "recdd", utlf_getCurrentDate()); // 실제 기록이 이루어진 기록일자(통합기록에서 보여짐)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "rectm", utlf_getCurrentTime()); // 실제 기록이 이루어진 기록시간(통합기록에서 보여짐)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "recsaveflag" , "Y"); // 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signflag" , (HC_isHomeCare == true ? "20" : "02")); // 서명자료구분(01 : 진료, 02 : 간호, 20 : 가정간호)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signgenrflag", (HC_isHomeCare == true ? ordtype : "I")); // 외래/입원구분 (코드정의서 M0010 참조)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "formcd", "0000002461"); // 각 기록지별 서식코드(0000002461 피부욕창(상처)기록)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "orddeptcd", orddeptcd); // 진료부서코드
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "orddrid" , orddrid); // 진료의사ID
-
- //미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signbfcnts" , Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signaftcnts" , Sign.signedInfos[2]); // 공인인증 처리후 데이터
-
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "screenid" , frmf_getScreenID());
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "dispyn", "N"); // 인증저장용 data(view용 인증데이터는 따로 생성함)_20090204_SMY추가
- } else {
- return ;
- }
- }
-
- //------------------------------------------------------------------------------------------------------
-
- // 욕창보고 컬럼이 체크된 행 추출 (2011.04.20 ahn)
- var rptSMSRow = "";
- for( var i=0 ; i<group5.grd_detlgrup.rowcount ; i++ ){
- if( ds_main_detlgrup_detlgruplist.getColumn(i, "rptsmsflag") == "1" ){
- rptSMSRow = i;
- //alert("욕창보고가 선택된 행 : " + rptSMSRow);
- break;
- }
- }
-
- if( !utlf_isNull(rptSMSRow) ){
- // 환자정보 및 욕창보고 컬럼이 체크된 행 데이터 복사 (2011.04.20 ahn)
- //model.removenode("/root/temp");
- //model.makeNode("/root/temp");
- ds_temp_detlgrup_detlgruplist.copyRow(0, ds_main_detlgrup_detlgruplist, rptSMSRow);
- ds_temp_sriusgrup.copyData(ds_main_sriusgrup);
-
- // 진단명 set
- ds_temp_paminfo.setColumn(0, "diag", ds_data_patientgruplist.lookup("pid", pid, "diag"));
- // 병동코드 set
- //model.makeValue("/root/temp/paminfo/wardcd", model.getValue("/root/patinfo/patinfolist/wardcd"));
- }
-
- ds_send_savedata_detlgrup.updateColID("clsgrupkind", "bspntnm");
-
-
-
- var oParam = {};
- oParam.id = "TXMNW04710";
- oParam.service = "wardcareapp.WardCareRec";
- oParam.method = "reqInsObsRec";
- oParam.inds = "detlgrup=ds_send_savedata_detlgrup signdata=ds_send_savedata_signlist";
- oParam.outds = "ds_temp_obsrecseqinfo_obsrecseqlist=obsrecseqlist";
- oParam.async = false;
- oParam.callback = "cf_TXMNW04710";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TXMNW04710") > -1 ){
- // 인증 저장이 성공하면 '욕창발생보고 및 sms전송' 팝업 화면 띄우고 복사해놓은 인스턴스 copy (욕창보고 체크된 행 데이터)
- // 2011.04.20 Ahn
- //debugger;
- if( !utlf_isNull(rptSMSRow) ){
- //alert(model.getValue("/root/temp/obsrecseqinfo/obsrecseqlist/obsrecseq"));
- // obsrecseq(욕창관찰기록 seq) set
- ds_temp_detlgrup_detlgruplist.setColumn(0, "obsrecseq", ds_temp_obsrecseqinfo_obsrecseqlist.getColumn(0, "obsrecseq"));
- ds_temp_detlgrup_detlgruplist.setColumn(0, "obsrecrptseq", ds_temp_obsrecseqinfo_obsrecseqlist.getColumn(0, "obsrecrptseq"));
- ds_temp_detlgrup_detlgruplist.setColumn(0, "genrplcewardnm", group5.grd_detlgrup.getCellText(rptSMSRow, group5.grd_detlgrup.getBindCellIndex("body", "genrplcewardcd")));
-
- frmf_setParameter("ScreenId", "SMMNW04700");
-
- if( ds_cond.getColumn(0, "indsch") == "1" ){ // 재원환자일때만 sms발생보고
- var objArg = new Object();
- objArg.args_ds_init_paminfo = ds_temp_paminfo;
- objArg.args_ds_init_detlgruplist = ds_temp_detlgrup_detlgruplist;
- objArg.args_init_sriusgrup = ds_temp_sriusgrup;
-
- frmf_modal("SPMNW04704","SPMNW04704",objArg,"",100,100,100,"","","","","","M");
- //function modal(id,monNo,xPos,yPos,wid,ref,resultref,userProp,prevPos, authCode, resizeType)
- }
- }
- ds_hidden_main_detlgrup_detlgruplist.copyData(ds_main_detlgrup_detlgruplist);
-
- fMakeViewData(); //통합기록view용 데이터생성
- if( !utlf_isNull(HC_homecarecd)) {
- fSearch();
- }else{
- finit();
- }
- }
- }
- }
- function cf_TXMNW04710(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- // 인증데이터 만들기.
- function fMake_SignData(){
- if( ViewFunc == "sign" ){
- // ▶ 기록 관련 인스턴스 전체를 copy, 인증에 저장할 모든 Instance AddNode한다.
- ds_signdata_main_detlgrup_detlgruplist.copyRow(0, ds_main_detlgrup_detlgruplist, SIGN_ROW);
-
- var xDeltGrupPath = ds_signdata_main_detlgrup_detlgruplist;
-
- var flag;
- var stage;
- var state;
- var amount;
- var underangle;
-
- //구분
- flag = xDeltGrupPath.getColumn(0, "flag");
- if( !utlf_isNull(flag) ){
- xDeltGrupPath.setColumn(0, "flag", utlf_transNullToEmpty(group5.grd_detlgrup.getCellText(SIGN_ROW, group5.grd_detlgrup.getBindCellIndex("body", "flag"))));
- }
- //단계 - 2014.02.17 불필요한 로직 삭제
- //stage = model.getValue(xDeltGrupPath + "/stage");
- //if(stage != "") {
- // model.setValue(xDeltGrupPath + "/stage", grd_detlgrup.labelMatrix(SIGN_ROW+1, grd_detlgrup.colRef("stage")));
- //}
-
- //삼출물(상태)
- state = xDeltGrupPath.getColumn(0, "state");
- if( !utlf_isNull(state) ){
- xDeltGrupPath.setColumn(0, "state", utlf_transNullToEmpty(group5.grd_detlgrup.getCellText(SIGN_ROW, group5.grd_detlgrup.getBindCellIndex("body", "state"))));
- }
- //삼출물(양)
- amount = xDeltGrupPath.getColumn(0, "amount");
- if( !utlf_isNull(amount) ){
- xDeltGrupPath.setColumn(0, "amount", utlf_transNullToEmpty(group5.grd_detlgrup.getCellText(SIGN_ROW, group5.grd_detlgrup.getBindCellIndex("body", "amount"))));
- }
- //Undermining(방향)
- underangle = xDeltGrupPath.getColumn(0, "underangle");
- if( !utlf_isNull(underangle) ){
- xDeltGrupPath.setColumn(0, "underangle", utlf_transNullToEmpty(group5.grd_detlgrup.getCellText(SIGN_ROW, group5.grd_detlgrup.getBindCellIndex("body", "underangle"))));
- }
-
- ds_signdata_main_detlgrup_detlgruplist.enableevent = false;
- ds_signdata_main_detlgrup_detlgruplist.updatecontrol = false;
-
- for( var i=0 ; i<ds_signdata_main_detlgrup_detlgruplist.rowcount ; i++ ){
- if( ds_signdata_main_detlgrup_detlgruplist.getColumn(i, "pushyn") == "1" ){
- ds_signdata_main_detlgrup_detlgruplist.setColumn(i, "pushyn", "Y");
- }else{
- ds_signdata_main_detlgrup_detlgruplist.setColumn(i, "pushyn", "N");
- }
- if( ds_signdata_main_detlgrup_detlgruplist.getColumn(i, "rptsmsflag") == "1" ){
- ds_signdata_main_detlgrup_detlgruplist.setColumn(i, "rptsmsflag", "true");
- }else{
- ds_signdata_main_detlgrup_detlgruplist.setColumn(i, "rptsmsflag", "false");
- }
- if( ds_signdata_main_detlgrup_detlgruplist.getColumn(i, "rptconfirmflag") == "1" ){
- ds_signdata_main_detlgrup_detlgruplist.setColumn(i, "rptconfirmflag", "true");
- }else{
- ds_signdata_main_detlgrup_detlgruplist.setColumn(i, "rptconfirmflag", "false");
- }
- if( ds_signdata_main_detlgrup_detlgruplist.getColumn(i, "sel") == "1" ){
- ds_signdata_main_detlgrup_detlgruplist.setColumn(i, "sel", "true");
- }else{
- ds_signdata_main_detlgrup_detlgruplist.setColumn(i, "sel", "false");
- }
- }
-
- ds_signdata_main_detlgrup_detlgruplist.updatecontrol = true;
- ds_signdata_main_detlgrup_detlgruplist.enableevent = true;
-
- var arrSignPath = new Array();
- arrSignPath[0] = "/cond";
- arrSignPath[1] = "/detlgruplist";
- arrSignPath[2] = "/sriusgrup";
- arrSignPath[3] = "/patinfolist";
-
- var arrSignDs = new Array();
- arrSignDs[0] = ds_cond.saveXML();
- arrSignDs[1] = ds_signdata_main_detlgrup_detlgruplist.saveXML();
- arrSignDs[2] = ds_main_sriusgrup.saveXML();
- arrSignDs[3] = ds_main_patinfo_patinfolist.saveXML();
-
- Sign.addnodeset(arrSignPath, arrSignDs);
-
- //undermining 쪽 데이터를 detail노드로 addnode한다.
-
- // var xRecinfoPath = Sign.XPATH_SIGNINFO+"/recinfo/recinfolists";
- }else if( ViewFunc == "view" ){
-
- // ▶ 기록 관련 인스턴스 전체를 copy, 인증에 저장할 모든 Instance AddNode한다.
- var xViewDeltGrupPath = ds_viewinfo_viewdetlgrup_detlgruplist;
- var flag;
- var stage;
- var state;
- var amount;
- var addfile;
- var underangle;
- var underangleunit;
- var underdepth;
- var underdepthunit;
- var undermining;
-
- var bf_pid = "";
- var bf_grupcd = "";
- var bf_obsrecseq = "";
- var bf_instcd = "";
- var af_pid = "";
- var af_grupcd = "";
- var af_obsrecseq = "";
- var af_instcd = "";
-
- for( var i=0 ; i<xViewDeltGrupPath.rowcount ; i++ ){
- af_pid = xViewDeltGrupPath.getColumn(i, "pid");
- af_grupcd = xViewDeltGrupPath.getColumn(i, "grupcd");
- af_obsrecseq = xViewDeltGrupPath.getColumn(i, "obsrecseq");
- af_instcd = xViewDeltGrupPath.getColumn(i, "instcd");
-
- //구분
- flag = xViewDeltGrupPath.getColumn(i, "flag");
-
- if( !utlf_isNull(flag) ){
- if( flag == "00" ){
- xViewDeltGrupPath.setColumn(i, "flag", "등록");
- }else if( flag == "01" ){
- xViewDeltGrupPath.setColumn(i, "flag", "사정");
- }else if( flag == "99" ){
- xViewDeltGrupPath.setColumn(i, "flag", "종료");
- }
- }
-
- //단계 - 2014.02.17 통합기록조회 단계에 저장되지 않아 주석처리
- //stage = model.getValue(xViewDeltGrupPath + "/detlgruplist[" + i + "]/stage");
- //if(stage != "") {
- // model.setValue(xViewDeltGrupPath + "/detlgruplist[" + i + "]/stage", model.getValue("/root/hidden/codelist/getVOStage[cd='"+ stage +"']/cdnm"));
- //}
-
- //삼출물(상태)
- state = xViewDeltGrupPath.getColumn(i, "state");
- if( !utlf_isNull(state) ){
- xViewDeltGrupPath.setColumn(i, "state", utlf_transNullToEmpty(ds_hidden_codelist_getVOState.lookup("cd", state, "cdnm")));
- }
- //삼출물(양)
- amount = xViewDeltGrupPath.getColumn(i, "amount");
- if( !utlf_isNull(amount) ){
- xViewDeltGrupPath.setColumn(i, "amount", utlf_transNullToEmpty(ds_hidden_codelist_getVOAmount.lookup("cd", amount, "cdnm")));
- }
- //첨부파일
- addfile = xViewDeltGrupPath.getColumn(i, "addfile");
- if( addfile > 0 ){
- xViewDeltGrupPath.setColumn(i, "addfile", "Y");
- }else{
- xViewDeltGrupPath.setColumn(i, "addfile", "N");
- }
-
- //Undermining(방향)
- underangle = utlf_transNullToEmpty(xViewDeltGrupPath.getColumn(i, "underangle"));
- if( !utlf_isNull(underangle) ){
- //Undermining(방향단위)
- underangleunit = utlf_transNullToEmpty(xViewDeltGrupPath.getColumn(i, "underangleunit"));
- if( !utlf_isNull(underangleunit) ){
- underangle = ds_hidden_codelist_getVOAngle.lookup("cd", underangle, "cdnm") + underangleunit;
- }else{
- underangle = ds_hidden_codelist_getVOAngle.lookup("cd", underangle, "cdnm");
- }
- }
-
- //Undermining(깊이)
- underdepth = utlf_transNullToEmpty(xViewDeltGrupPath.getColumn(i, "underdepth"));
- if( !utlf_isNull(underdepth) ){
- //Undermining(깊이단위)
- underdepthunit = utlf_transNullToEmpty(xViewDeltGrupPath.getColumn(i, "underdepthunit"));
- if( !utlf_isNull(underdepthunit) ){
- underdepth = underdepth + underdepthunit;
- }
- }
-
- //Undermining의 경우 여러 row가 조회되므로 한 row에 묶음(방향-길이로 표시함)
- if( !utlf_isNull(underdepth) ){
- if( utlf_isNull(underangle) ){
- underangle = underdepth;
- }else{
- underangle = underangle + "-" + underdepth;
- }
- }
- xViewDeltGrupPath.setColumn(i, "underangle", underangle);
-
- if( bf_pid == af_pid && bf_grupcd == af_grupcd && bf_obsrecseq == af_obsrecseq && bf_instcd == af_instcd ){
- xViewDeltGrupPath.setColumn(i-1, "underangle", utlf_transNullToEmpty(xViewDeltGrupPath.getColumn(i-1, "underangle")) + ", " + underangle);
- xViewDeltGrupPath.deleteRow(i);
- i--;
- }
-
- bf_pid = af_pid;
- bf_grupcd = af_grupcd;
- bf_obsrecseq = af_obsrecseq;
- bf_instcd = af_instcd;
-
- }
-
- var arrSignPath = new Array();
- arrSignPath[0] = "/cond";
- arrSignPath[1] = "/sriusgrup";
- arrSignPath[2] = "/patinfolist";
-
- var arrSignDs = new Array();
- arrSignDs[0] = ds_cond.saveXML();
- arrSignDs[1] = ds_main_sriusgrup.saveXML();
- arrSignDs[2] = ds_main_patinfo_patinfolist.saveXML();
-
- Sign.addnodeset(arrSignPath, arrSignDs);
-
- var arrSignPath = new Array();
- arrSignPath[0] = "/viewdetlgrup/detlgruplist";
-
- var arrSignDs = new Array();
- arrSignDs[0] = ds_viewinfo_viewdetlgrup_detlgruplist.saveXML();
-
- Sign.addnodeset(arrSignPath, arrSignDs);
- }
- }
- /**
- * @group :
- * @ver : 2007.09.06
- * 2008.06.04 dhkim 수정
- * @by : 정찬성
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 욕찰관찰기록 삭제
- * @param :
- * @return : returnArr[0] compareStr string 선택한 '발생부위+발생일자+발생시간+원인'을 그리드의 반복문과 비교한다.
- * returnArr[1] compRow int 반복문 내에서 compareStr과 같은 string의 첫번째 인덱스(발생부위의 가장 하위 row index찾기 위한 초기값)
- * returnArr[2] isAss boolean 해당발생부위의 사정기록 존재여부
- * returnArr[3] isEnd boolean 해당발생부위의 종료기록 존재여부
- * returnArr[4] pid string 등록번호(set parameter)
- * returnArr[5] grupcd string 그룹코드(set parameter)
- * returnArr[6] obspartnm string 발생부위(set parameter)
- * returnArr[7] genrdd string 발생일자(set parameter)
- * returnArr[8] genrtm string 발생시간(set parameter)
- * returnArr[9] cause string 원인 (set parameter)
- * returnArr[10] causeid string 원인코드(set parameter)
- * returnArr[12] genrplce string 발생장소(set parameter)
- * returnArr[13] genrplceid string 발생장소코드(set parameter)
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fDel(){
-
- //삭제할 항목이 선택되었는지 여부를 체크
- var delFlag = false; //체크박스 체크여부
- var sel = ''; //체크박스(true/false)
- var stat = ''; //그리드상태(i/u/d)
- var flag = ''; //등록구분 (등록/사정/종료)
- var fileCnt = 0; //첨부파일등록된 갯수
- var returnArr, isEnd, isAss, isStage;
- var checkStr; //체크값 (발생부위 + 발생일자 + 발생시간 + 원인)
- var isSvrDel = false; //db에 저장된 데이터 삭제시
-
- //20080930 retMsg추가
- var retMsg = sysf_messageBox('선택하신 욕창기록을', 'Q001');
-
- //20080930 인증추가
- var pid = xBedsoreGridPath.getColumn(0, "pid");
- var orddd = xBedsoreGridPath.getColumn(0, "orddd");
- var cretno = xBedsoreGridPath.getColumn(0, "cretno");
- var orddeptcd = xBedsoreGridPath.getColumn(0, "orddeptcd");
- var orddrid = xBedsoreGridPath.getColumn(0, "orddrid");
- var ordtype = ds_data_patientgruplist.lookup("pid", pid, "ordtype");
- var signno = '';//model.getValue("/root/main/endsummary/endsummaryrecord/signno");
-
- Sign.certreload = false ; // 전자서명 호출시 인증저장 버튼을 누를때마다 인증서가 뜨도록 처리
-
- ds_send_savedata_signlist.clearData();
-
- for( var i=0 ; i<group5.grd_detlgrup.rowcount ; i++ ){
- sel = xBedsoreGridPath.getColumn(i, "sel");
- stat = xBedsoreGridPath.getColumn(i, "stat");
- flag = xBedsoreGridPath.getColumn(i, "flag");
- fileCnt = xBedsoreGridPath.getColumn(i, "addfile");
-
- SIGN_ROW = i; //20080930
- ds_send_savedata_signlist.addRow();
- if( sel == '1' ){
- delFlag = true;
- if( stat == 'i' ){
- //체크한 항목이 행추가 (stat:i)상태인 경우 그리드에서 바로 삭제
- ds_main_detlgrup_detlgruplist.deleteRow(i);
- }else{
- isSvrDel = true;
- //종료가 존재하는지 여부를 배열로 리턴
- returnArr = fIsExistEndData(i);
- isAss = returnArr[2];
- isEnd = returnArr[3];
- checkStr = i + '¿' + returnArr[6] + returnArr[7] + returnArr[8] + returnArr[9];
- if( isEnd ){
- //체크한 항목의 해당 부위에 종료가 있으면 삭제할수 없다는 메세지 출력후 리턴
- var obspartnm = returnArr[6];
- var gendt = utlf_transNullToEmpty(returnArr[7]).substring(0, 4) + '-' + utlf_transNullToEmpty(returnArr[7]).substring(4, 6) + '-'
- + utlf_transNullToEmpty(returnArr[7]).substr(6) + ' ' + utlf_transNullToEmpty(returnArr[8]).substring(0, 2) + ':' + utlf_transNullToEmpty(returnArr[8]).substr(2);
- sysf_messageBox('선택하신 발생부위 "' + obspartnm + '"발생일시"' + gendt + '" 는 이미 종료기록이 있으므로 삭제하실 수', 'I004');
- //update상태로 변경된 row를 원상태로 변경
- ds_main_detlgrup_detlgruplist.enableevent = false;
- ds_main_detlgrup_detlgruplist.updatecontrol = false;
-
- if( ds_main_detlgrup_detlgruplist.getRowType(i) == 4 ){
- ds_main_detlgrup_detlgruplist.setRowType(i, 1);
- }
-
- ds_main_detlgrup_detlgruplist.updatecontrol = true;
- ds_main_detlgrup_detlgruplist.enableevent = true;
-
- xBedsoreGridPath.setColumn(i, "sel", "0");
- xBedsoreGridPath.setColumn(i, "stat", "-");
-
- return;
- }
- //등록 삭제시 해당부위에 사정기록있으면 등록~사정 모두삭제한다는 메세지 출력
- else if( flag == '00' && isAss ){
- //선택한 체크박스가 등록상태이고, 해당 발생부위에 사정기록이 존재할때
- //사정기록까지 삭제하겠냐는 메세지 호출해 확인 누르면 해당 그룹 모두 체크 취소누르면 선택 해제
- if( sysf_messageBox('선택하신 욕창부위 "'+returnArr[6]+'"를 삭제하시면 사정기록도 함께 삭제됩니다.', 'Q001') == 6 ){
- fCheckSamePart(checkStr);
- }
- }
- //첨부파일 등록된 갯수가 있으면 함께 삭제된다는 메세지 출력
- else if( fileCnt > 0 ){
- var fileMsg = sysf_messageBox('선택된 욕창기록에 첨부되어 있는 파일도 함께 삭제됩니다.', 'Q003') ;
- if( fileMsg == 7 ){
- return;
- }else if( fileMsg == 6 ){
- //상태값을 'd'로 변경
- xBedsoreGridPath.setColumn(i, "stat", "d");
- ds_main_detlgrup_detlgruplist.enableevent = false;
- ds_main_detlgrup_detlgruplist.updatecontrol = false;
-
- ds_main_detlgrup_detlgruplist.setRowType(i, 8);
-
- ds_main_detlgrup_detlgruplist.updatecontrol = true;
- ds_main_detlgrup_detlgruplist.enableevent = true;
- }
- }
- else{
- //상태값을 'd'로 변경
- xBedsoreGridPath.setColumn(i, "stat", "d");
- ds_main_detlgrup_detlgruplist.enableevent = false;
- ds_main_detlgrup_detlgruplist.updatecontrol = false;
-
- ds_main_detlgrup_detlgruplist.setRowType(i, 8);
-
- ds_main_detlgrup_detlgruplist.updatecontrol = true;
- ds_main_detlgrup_detlgruplist.enableevent = true;
-
- //20080930 인증추가
- signno = xBedsoreGridPath.getColumn(i, "signno");
- // 인증 로직 호출
- ViewFunc = "sign";
- if( Sign.signprocess() == true ){
-
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "pid", pid); // 등록번호
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "certflag", "C"); // 인증여부( T : 임시저장, C : 인증저장)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "orddd", orddd); // 입원일자(입원,응급)/진료일자(외래)
-
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signno", signno); // 서명번호
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "cretno" , cretno); // 생성번호
-
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "recdd", utlf_getCurrentDate()); // 실제 기록이 이루어진 기록일자(통합기록에서 보여짐)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "rectm", utlf_getCurrentTime()); // 실제 기록이 이루어진 기록시간(통합기록에서 보여짐)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "recsaveflag" , "Y"); // 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signflag" , (HC_isHomeCare == true ? "20" : "02")); // 서명자료구분(01 : 진료, 02 : 간호, 20 : 가정간호)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signgenrflag", (HC_isHomeCare == true ? ordtype : "I")); // 외래/입원구분 (코드정의서 M0010 참조)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "formcd", "0000002461"); // 각 기록지별 서식코드(0000002461 피부욕창(상처)기록)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "orddeptcd", orddeptcd); // 진료부서코드
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "orddrid" , orddrid); // 진료의사ID
-
- //미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signbfcnts" , Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signaftcnts" , Sign.signedInfos[2]); // 공인인증 처리후 데이터
-
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "screenid", frmf_getScreenID());
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "dispyn", "N"); //인증저장용 data(view용 인증데이터는 따로 생성함)_20090204_SMY추가
-
- } else {
- return ;
- }
-
- }
- }
- }
- }
- //선택한 항목이 없을때
- if( !delFlag ){
- sysf_messageBox('삭제할 항목을', 'C002');
- return;
- }
- //삭제하기전 첨부파일이 있으면 함께 삭제된다는 메세지 출력
- //db에 저장되어 있던 데이터 삭제시(isSvrDel== true)
- //20080930 retMsg추가
- if( isSvrDel == true && retMsg == 7 ){
- return;
- }
- //삭제 서브미션 호출
- ds_send_savedata_detlgrup.assign(grdf_getGridUpdateData(group5.grd_detlgrup, "delete"));
- ds_send_savedata.setColumn(0, "pid", ds_cond_patientgrupInfo_patientgruplistInfo.getColumn(0, "pid"));
-
- ds_send_savedata_detlgrup.enableevent = false;
- ds_send_savedata_detlgrup.updatecontrol = false;
-
- for( var i=0 ; i<ds_send_savedata_detlgrup.rowcount ; i++ ){
- if( ds_send_savedata_detlgrup.getColumn(i, "pushyn") == "1" ){
- ds_send_savedata_detlgrup.setColumn(i, "pushyn", "Y");
- }else{
- ds_send_savedata_detlgrup.setColumn(i, "pushyn", "N");
- }
- if( ds_send_savedata_detlgrup.getColumn(i, "rptsmsflag") == "1" ){
- ds_send_savedata_detlgrup.setColumn(i, "rptsmsflag", "true");
- }else{
- ds_send_savedata_detlgrup.setColumn(i, "rptsmsflag", "false");
- }
- if( ds_send_savedata_detlgrup.getColumn(i, "rptconfirmflag") == "1" ){
- ds_send_savedata_detlgrup.setColumn(i, "rptconfirmflag", "true");
- }else{
- ds_send_savedata_detlgrup.setColumn(i, "rptconfirmflag", "false");
- }
- if( ds_send_savedata_detlgrup.getColumn(i, "sel") == "1" ){
- ds_send_savedata_detlgrup.setColumn(i, "sel", "true");
- }else{
- ds_send_savedata_detlgrup.setColumn(i, "sel", "false");
- }
- }
-
- ds_send_savedata_detlgrup.updatecontrol = true;
- ds_send_savedata_detlgrup.enableevent = true;
-
- var oParam = {};
- oParam.id = "TXMNW04710";
- oParam.service = "wardcareapp.WardCareRec";
- oParam.method = "reqInsObsRec";
- oParam.inds = "detlgrup=ds_send_savedata_detlgrup:U signdata=ds_send_savedata_signlist";
- oParam.outds = "ds_temp_obsrecseqinfo_obsrecseqlist=obsrecseqlist";
- oParam.async = false;
- oParam.callback = "cf_TXMNW04710";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TXMNW04710") > -1 ){
- ds_hidden_main_detlgrup_detlgruplist.copyData(ds_main_detlgrup_detlgruplist);
-
- fMakeViewData(); //통합기록view용 데이터생성
-
- if( !utlf_isNull(HC_homecarecd)) {
- fSearch();
- }else{
- finit();
- }
- }
- }
- function cf_TXMNW04710(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- //선택한 발생부위에 해당되는 모든 그룹을 체크(true)로 변경
- function fCheckSamePart(checkStr){
- var _chkArr = utlf_transNullToEmpty(checkStr).split('¿');
- var sRow = _chkArr[0];
- var chkStr = _chkArr[1];
- var _chkStr = '';
- for( var i=sRow ; i<group5.grd_detlgrup.rowcount ; i++ ){
- _chkStr = xBedsoreGridPath.getColumn(i, "obspartnm");
- _chkStr += xBedsoreGridPath.getColumn(i, "genrdd");
- _chkStr += xBedsoreGridPath.getColumn(i, "genrtm");
- _chkStr += xBedsoreGridPath.getColumn(i, "cause");
- if( chkStr == _chkStr ){
- xBedsoreGridPath.setColumn(i, "stat", "d");
- xBedsoreGridPath.setColumn(i, "sel", "1");
- ds_main_detlgrup_detlgruplist.enableevent = false;
- ds_main_detlgrup_detlgruplist.updatecontrol = false;
-
- ds_main_detlgrup_detlgruplist.setRowType(i, 8);
-
- ds_main_detlgrup_detlgruplist.updatecontrol = true;
- ds_main_detlgrup_detlgruplist.enableevent = true;
- }
- }
- }
- //체크 해제하면 update상태를 select상태로 변경한다.
- function fChangeStatus(selRow){
-
- var isChk = xBedsoreGridPath.getColumn(selRow, "sel");
- if( isChk == '0' ){
- if( xBedsoreGridPath.getRowType(selRow) == "2" ){
-
- } else {
- xBedsoreGridPath.setColumn(selRow, "stat", "-");
-
- xBedsoreGridPath.enableevent = false;
- xBedsoreGridPath.updatecontrol = false;
-
- xBedsoreGridPath.setRowType(selRow, 1);
-
- xBedsoreGridPath.updatecontrol = true;
- xBedsoreGridPath.enableevent = true;
- }
- }
- }
- /**
- * @group :
- * @ver : 2007.09.27
- * : 2008.05.28 dhkim 수정
- * @by : 정찬성
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 발생부위추가
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fAddGenArea(){
-
- var pid = ds_cond.getColumn(0, "pid");
- //욕창발생부위 추가시 등록번호 필수
- if( utlf_isNull(pid) ){
- sysf_messageBox("등록번호를 ","C001");
- group5.grp_sea.ipt_pid.setFocus();
- return;
- }
- //발생부위 추가전에 그리드에 row가 없으면 조회후 추가
-
- if( group5.grd_detlgrup.rowcount == 0 ){
- if( !fSearch() || utlf_isNull(pid) ){
- sysf_messageBox('등록번호를', 'C001');
- return;
- }
- }
- var iRows = group5.grd_detlgrup.rowcount;
- var iRow = group5.grd_detlgrup.currentrow;
-
- ds_main_detlgrup_detlgruplist.addRow();
- group5.grd_detlgrup.setCellProperty("Body", group5.grd_detlgrup.getBindCellIndex("body", "flag"), "edittype", "none");
- // 보고확인 체크박스는 default로 비활성화 (2011.04.14 ahn)
- group5.grd_detlgrup.setCellProperty("Body", group5.grd_detlgrup.getBindCellIndex("body", "rptconfirmflag"), "edittype", "none");
- group5.grd_detlgrup.setCellProperty("Body", group5.grd_detlgrup.getBindCellIndex("body", "rptconfirmflag"), "controlbackground", "silver");
-
- if( iRows < 1 ){
- xBedsoreGridPath.setColumn(0, "grupcd", "00000001");
- } else if( iRows > 0 ){
- var sRowCnt = ds_main_detlgrup_detlgruplist.rowcount;
- /* grupcd 현재 화면의 최대값 가져오기 시작 */
- var retVal = "" ;
- for( var i=0 ; i<sRowCnt ; i++ ){
- if( xBedsoreGridPath.getColumn(i, "grupcd") ){
- saveyn = 1 ;
- }
- retVal = Math.max(retVal, xBedsoreGridPath.getColumn(i, "grupcd"));
- }
- retVal = retVal + 1 ;
- retVal = String(retVal) ;
- retVal = fLpad(retVal,8,0);// grupcd 8자리 나머지는 0 으로 매꿈
- /* grupcd 현재 화면의 최대값 가져오기 끝 */
- xBedsoreGridPath.setColumn(xBedsoreGridPath.rowposition, "grupcd", retVal);
- }
-
- xBedsoreGridPath.setColumn(xBedsoreGridPath.rowposition, "stat", "i");
- xBedsoreGridPath.setColumn(xBedsoreGridPath.rowposition, "pid", pid);
- xBedsoreGridPath.setColumn(xBedsoreGridPath.rowposition, "genrdd", utlf_getCurrentDate());
- xBedsoreGridPath.setColumn(xBedsoreGridPath.rowposition, "genrtm", utlf_getCurrentDateTime().substring(9,13));
- xBedsoreGridPath.setColumn(xBedsoreGridPath.rowposition, "flag", "00");
- xBedsoreGridPath.setColumn(xBedsoreGridPath.rowposition, "recdd", utlf_getCurrentDate());
- xBedsoreGridPath.setColumn(xBedsoreGridPath.rowposition, "rectm", utlf_getCurrentDateTime().substring(9,13));
- xBedsoreGridPath.setColumn(xBedsoreGridPath.rowposition, "recrnm", sysf_getUserName());
- xBedsoreGridPath.setColumn(xBedsoreGridPath.rowposition, "recrid", sysf_getUserId());
- // 발생부위추가 시 욕창보고 체크박스 default 체크 (2011.04.14 ahn)
- xBedsoreGridPath.setColumn(xBedsoreGridPath.rowposition, "rptsmsflag", "1");
- xBedsoreGridPath.setColumn(xBedsoreGridPath.rowposition, "pushyn", "1");
-
- xBedsoreGridPath.setColumn(xBedsoreGridPath.rowposition, "indd", ds_data_patientgruplist.getColumn(ds_data_patientgruplist.findRow("pid", pid), "indd"));
- xBedsoreGridPath.setColumn(xBedsoreGridPath.rowposition, "cretno", ds_data_patientgruplist.getColumn(ds_data_patientgruplist.findRow("pid", pid), "cretno"));
- xBedsoreGridPath.setColumn(xBedsoreGridPath.rowposition, "totpnt", ds_main_sriusgrup.getColumn(0, "totpnt"));
- xBedsoreGridPath.setColumn(xBedsoreGridPath.rowposition, "clsgrupkind",ds_main_sriusgrup.getColumn(0, "clsgrupkind"));
-
- var sExprEdit = group5.grd_detlgrup.getCellProperty("Body", group5.grd_detlgrup.getBindCellIndex("body", "genrdd"), "edittype");
- if( sExprEdit.indexOf("currow == "+xBedsoreGridPath.rowposition+" ? 'date' : ") < 0 ){
- if( sExprEdit == "none" ){
- sExprEdit = "expr:currow == "+xBedsoreGridPath.rowposition+" ? 'date' : 'none'";
- }else{
- sExprEdit = sExprEdit.replace("'none'", "") + "currow == "+xBedsoreGridPath.rowposition+" ? 'date' : 'none'";
- }
- }
- group5.grd_detlgrup.setCellProperty("Body", group5.grd_detlgrup.getBindCellIndex("body", "genrdd"), "edittype", sExprEdit);
-
- var sExprEdit = group5.grd_detlgrup.getCellProperty("Body", group5.grd_detlgrup.getBindCellIndex("body", "recdd"), "edittype");
- if( sExprEdit.indexOf("currow == "+xBedsoreGridPath.rowposition+" ? 'date' : ") < 0 ){
- if( sExprEdit == "none" ){
- sExprEdit = "expr:currow == "+xBedsoreGridPath.rowposition+" ? 'date' : 'none'";
- }else{
- sExprEdit = sExprEdit.replace("'none'", "") + "currow == "+xBedsoreGridPath.rowposition+" ? 'date' : 'none'";
- }
- }
- group5.grd_detlgrup.setCellProperty("Body", group5.grd_detlgrup.getBindCellIndex("body", "recdd"), "edittype", sExprEdit);
-
- }
- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- //++++++++++++++++++++++++++++++++++++++++ 저장 관련 펑션 모음 끝 +++++++++++++++++++++++++++++++++++++++++++++++//
- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- /**
- * @group :
- * @ver : 2007.09. 06
- * @by : 정찬성
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 왼쪽 자리수 채우기
- * @param :
- * @return :
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- // Left 빈자리 만큼 padStr 을 붙인다.
- function fLpad(src, len, padStr){
- var retStr = "";
- var padCnt = Number(len) - String(src).length;
- for(var i=0;i<padCnt;i++)
- retStr += String(padStr);
- return retStr+src;
- }
- /**
- * @group :
- * @ver : 2007.04.04
- * 2008.06.04 dhkim 수정
- * @by : 정찬성
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 그리드내의 mousedown 이벤트 발생시 호출
- * @param :
- * @return :
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fMouseDownGridRow(e){
- var iDetlGrupRow = group5.grd_detlgrup.currentrow;
- //데이터 행이 존재할때
- if( group5.grd_detlgrup.rowcount > 0 && iDetlGrupRow >= 0 ){
- pMenu_detlgrupmenu.trackPopup(e.screenX, e.screenY);
- }
- }
- /**
- * @group :
- * @ver : 2007.04.02
- * : 2008.05.28 dhkim 수정
- * @by : 정찬성
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 욕창그리드의 xforms-value-changed이벤트 발생시 호출된다.
- * @param :
- * @return :
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fChangedGridCol(){
-
- var sDetlGrupRow = group5.grd_detlgrup.currentrow;
- var sDetlGrupBKRow = -1;
- var iRow = group5.grd_detlgrup.currentrow;
- var iCol = group5.grd_detlgrup.currentcol;
- var stat = xBedsoreGridPath.getColumn(group5.grd_detlgrup.currentrow, "stat");
- //데이터 변경시 그리드 상태값(stat)을 u상태로 변경한다.
- if( stat == "-" ){
- //그리드의 stat update를 위한 비교할 hidden nodelist의 idx찾기
- var obsrecseq = xBedsoreGridPath.getColumn(sDetlGrupRow, "obsrecseq");
- for( var i=0 ; i<xClsListBKPath.rowcount ; i++ ){
- if( xClsListBKPath.getColumn(i, "obsrecseq") == obsrecseq ){
- sDetlGrupBKRow = i;
- break;
- }
- }
- //체크박스 선택 아닐때 조회해서 hidden에 담아둔 nodelist와 변경된 그리드의 nodelist의 stat를 비교하여 수정상태로 바꿔준다.
- //if(iCol != 8){// 선택시 stat 값 변경 않기
- if( iCol != group5.grd_detlgrup.getBindCellIndex("body", "sel") ){// 선택시 stat 값 변경 않기
- for( var i=0 ; i<xBedsoreGridPath.getColCount() ; i++ ){
- var sColNm = xBedsoreGridPath.getColID(i);
- if( xBedsoreGridPath.getColumn(sDetlGrupRow, sColNm) != xClsListBKPath.getColumn(sDetlGrupBKRow, sColNm) ){
- xBedsoreGridPath.setColumn(sDetlGrupRow, "stat", "u");
-
- break;
- }
- }
-
- //var preUnderAngle = model.getValue(xClsListBKPath+"["+sDetlGrupBKRow+"]/underangle");
- //var updateUnerAngle = model.getValue(xBedsoreGridPath+"["+ sDetlGrupRow +"]/underangle");
-
- //if(preUnderAngle != updateUnerAngle) {
- // model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/stat2","u");
- //}
- }
- }
- }
- /**
- * @group :
- * @ver : 2007.09.27
- * : 2008.05.28 dhkim 수정
- * @by : 정찬성
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 선택한 부위가 종료된 것이 있으면 종료할 수 없다는 메세지를 출력한다.
- * 선택한 부위가 사정된 것이 없으면 종료할 수 없다는 메세지를 출력한다.
- * 발생부위가 등록/사정만 있으면 해당 발생부위 하위에
- * 구분을 종료로, 해당부위의 발생일자,발생시간, 원인을 선택한 데이터와 동일하게 추가한다.
- * @param :
- * @return :
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fAddSameLevlItemEnd(){
- fAddSameLevlItem(true);
- return ;
- }
- /**
- * @group :
- * @ver : 2008.05.28
- * @by : dhkim
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param : selEndMenu - true이면 오른쪽 메뉴에서 종료를 선택한 상태, false이면 사정을 선택한 상태
- * @return :
- * @desc : 선택한 부위가 종료된 것이 있으면 사정할수 없다는 메세지를 출력한다.
- * 발생부위가 등록/사정만 있으면 해당 발생부위 하위에
- * 구분을 사정으로, 해당부위의 발생일자,발생시간, 원인을 선택한 데이터와 동일하게 추가한다.
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fAddSameLevlItem(selEndMenu){//오른쪽 메뉴에서 사정또는 종료 선택시
- var msgStr = '사정기록';
- if(selEndMenu){
- msgStr = '종료기록';
- }
- //종료또는 사정기록 존재여부를 리턴받는다.
- var returnArr = fIsExistEndData(group5.grd_detlgrup.currentrow);
- var compareStr = returnArr[0];
- var compRow = returnArr[1];
- var isAss = returnArr[2];
- var isEnd = returnArr[3];
- var isStage = returnArr[16];
- var stage = returnArr[15];
-
- //종료기록이 있으면 입력할수 없다는 메세지 출력후 리턴
- if( isEnd ){
- sysf_messageBox('선택하신 부위는 이미 종료된 기록이 있으므로 다시 '+ msgStr +' 하실 수', 'I004');
- return;
- }
- //종료메뉴 선택시 사정기록이 없으면 메세지 출력후 리턴
- if( selEndMenu && !isAss ){
- sysf_messageBox('선택하신 부위는 사정기록이 없으므로 ' + msgStr + ' 하실 수', 'I004');
- return;
- }
-
- //1~4단계 기록이 있으면 입력할수 없다는 메세지 출력후 리턴
- if( isStage && (stage == "65" || stage == "66") ){
- sysf_messageBox('선택하신 부위는 이미 1~4단계로 기록된 내용이 있으므로 5, 6단계 기록을 활용하여 사정 하실 수', 'I004');
- return;
- }
- //해당 발생부위 가장 하위의 그리드에 insertRow을 하기 위해 발생부위 가장 하위row index를 찾는다.
- var addLastRow = -1;
- var _compareStr;
-
- for( var i=compRow ; i<group5.grd_detlgrup.rowcount ; i++ ){
- _compareStr = xBedsoreGridPath.getColumn(i, "obspartnm");
- _compareStr += xBedsoreGridPath.getColumn(i, "genrdd");
- _compareStr += xBedsoreGridPath.getColumn(i, "genrtm");
- _compareStr += xBedsoreGridPath.getColumn(i, "cause");
-
- if( compareStr != _compareStr ){
- addLastRow = i;
- break;
- }
- }
-
- var rows = group5.grd_detlgrup.rowcount-1;
- var gropcd1= xBedsoreGridPath.getColumn(rows, "grupcd");
- var gropcd2= xBedsoreGridPath.getColumn(group5.grd_detlgrup.currentrow, "grupcd");
-
- // alert("gropcd1: "+gropcd1);
- // alert("gropcd2: "+gropcd2);
- // alert("addLastRow: "+addLastRow);
- // alert("compRow: "+compRow);
- //발생부위가 등록/사정만 있으면 해당 발생부위 하위에 사정 추가
- //구분을 사정으로, 해당부위의 발생일자,발생시간, 원인을 선택한 데이터와 동일하게 추가.
- if( addLastRow == -1 ){
- if( gropcd1 == gropcd2 || compRow == -1 || compRow == rows){// 마지막 행
- ds_main_detlgrup_detlgruplist.addRow();
- }else{
- ds_main_detlgrup_detlgruplist.insertRow(group5.grd_detlgrup.currentrow+1);
- }
- addLastRow = group5.grd_detlgrup.currentrow;
- }else{
- ds_main_detlgrup_detlgruplist.insertRow(addLastRow);
- }
- group5.grd_detlgrup.setCellProperty("Body", group5.grd_detlgrup.getBindCellIndex("body", "flag"), "edittype", "none");
- group5.grd_detlgrup.setCellProperty("Body", group5.grd_detlgrup.getBindCellIndex("body", "rptconfirmflag"), "edittype", "none");
- group5.grd_detlgrup.setCellProperty("Body", group5.grd_detlgrup.getBindCellIndex("body", "rptconfirmflag"), "controlbackground", "silver");
-
-
- //그리드에 발생부위, 일자, 시간, 원인, 기록일시 set한다.
- fSetInsertValue(addLastRow, selEndMenu, returnArr);
- }
- /**
- * @group :
- * @ver : 2008.05.28
- * @by : dhkim
- * @---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param : selRow - 선택한 row 인덱스
- * @param : updatePartChk - 욕창발생부위선택시 사정종료되지 않은 부위인지 체크할때에는 발생부위, 구분만 가지고 체크함..
- * @return : returnArr(10) - 배열로 리턴한다.
- * @desc : 선택한 발생부위의 기록에 사정 또는 종료가 존재하는지 여부를 배열로 리턴한다
- * Array idx value type description
- * --------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * returnArr[0] compareStr string 선택한 '발생부위+발생일자+발생시간+원인'을 그리드의 반복문과 비교한다.
- * returnArr[1] compRow int 반복문 내에서 compareStr과 같은 string의 첫번째 인덱스(발생부위의 가장 하위 row index찾기 위한 초기값)
- * returnArr[2] isAss boolean 해당발생부위의 사정기록 존재여부
- * returnArr[3] isEnd boolean 해당발생부위의 종료기록 존재여부
- * returnArr[4] pid string 등록번호(set parameter)
- * returnArr[5] grupcd string 그룹코드(set parameter)
- * returnArr[6] obspartnm string 발생부위(set parameter)
- * returnArr[7] genrdd string 발생일자(set parameter)
- * returnArr[8] genrtm string 발생시간(set parameter)
- * returnArr[9] cause string 원인 (set parameter)
- * returnArr[10] causeid string 원인코드(set parameter)
- * returnArr[12] genrplce string 발생장소(set parameter)
- * returnArr[13] genrplceid string 발생장소코드(set parameter)
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fIsExistEndData(selRow, updatePartChk){
- //발생부위에 대해 종료된 사정인 경우 메세지 출력
- var compareStr, _compareStr, _flag;//비교값 str
- var compRow = -1;
- var isAss ; //사정기록 존재여부
- var isEnd ; //종료기록 존재여부
- var returnArr = new Array(10);
- var isStage ; //1~4단계 기록 존재여부
- //선택한 발생부위 비교값
- var pid = xBedsoreGridPath.getColumn(selRow, "pid");
- var grupcd = xBedsoreGridPath.getColumn(selRow, "grupcd");
- var obspartnm = xBedsoreGridPath.getColumn(selRow, "obspartnm");
- var genrdd = xBedsoreGridPath.getColumn(selRow, "genrdd");
- var genrtm = xBedsoreGridPath.getColumn(selRow, "genrtm");
- var cause = xBedsoreGridPath.getColumn(selRow, "cause");
- var causeid = xBedsoreGridPath.getColumn(selRow, "causeid");
- var genrplce = xBedsoreGridPath.getColumn(selRow, "genrplce"); //발생장소추가_20090220_SMY
- var genrplceid = xBedsoreGridPath.getColumn(selRow, "genrplceid"); //발생장소추가_20090220_SMY
- var stage = xBedsoreGridPath.getColumn(selRow, "stage"); //단계 추가 2013.03.18 KJS
- var stageid = xBedsoreGridPath.getColumn(selRow, "stageid"); //단계 추가 2013.03.18 KJS
- var genrplcewardcd = xBedsoreGridPath.getColumn(selRow, "genrplcewardcd");
- //욕창발생부위선택시 사정종료되지 않은 부위인지 체크할때에는 발생부위, 구분만 가지고 체크함..
- if(updatePartChk){
- compareStr = obspartnm;
- }else{
- compareStr = obspartnm + genrdd + genrtm + cause;
- }
- var obsrecseq = 0;
- //선택한 compareStr과 그리드내의 모든 _compareStr을 비교한다.
- for( var i=0 ; i<group5.grd_detlgrup.rowcount ; i++ ){
- //alert('i = ' + i + 'selRow : ' + selRow + ' 부위 : ' + model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/obspartnm'));
- if( selRow != i ){
- _compareStr = xBedsoreGridPath.getColumn(i, "obspartnm");
- //욕창발생부위선택시 사정종료되지 않은 부위인지 체크할때에는 발생부위, 구분만 가지고 체크함..
- if( !updatePartChk ){
- _compareStr += xBedsoreGridPath.getColumn(i, "genrdd");
- _compareStr += xBedsoreGridPath.getColumn(i, "genrtm");
- _compareStr += xBedsoreGridPath.getColumn(i, "cause");
- }
- }
- if( compareStr == _compareStr ){
- compRow = i;
- _flag = xBedsoreGridPath.getColumn(i, "flag");
- if( _flag == '99' ){//등록구분이 종료(99)
- isEnd = true;
- obsrecseq = xBedsoreGridPath.getColumn(i, "obsrecseq");
- break;
- }else if( _flag == '01' ){//등록구분이 사정(01)
- isAss = true;
- obsrecseq = xBedsoreGridPath.getColumn(i, "obsrecseq");
- }else{
- isEnd = false;
- isAss = false;
- }
- }
- }
-
- //선택한 compareStr과 그리드내의 모든 _compareStr을 비교한다.
- for( var i=0 ; i<group5.grd_detlgrup.rowcount ; i++ ){
- //alert('i = ' + i + 'selRow : ' + selRow + ' 부위 : ' + model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/obspartnm'));
- if( selRow != i ){
- _compareStr = xBedsoreGridPath.getColumn(i, "obspartnm");
- //욕창발생부위선택시 사정종료되지 않은 부위인지 체크할때에는 발생부위, 구분만 가지고 체크함..
- if( !updatePartChk ){
- _compareStr += xBedsoreGridPath.getColumn(i, "genrdd");
- _compareStr += xBedsoreGridPath.getColumn(i, "genrtm");
- _compareStr += xBedsoreGridPath.getColumn(i, "cause");
- }
- }
- if( compareStr == _compareStr ){
- compRow = i;
- _stageid = xBedsoreGridPath.getColumn(i, "stageid");
- if( _stageid != '65' && _stageid != '66' ){
- isStage = true;
- break;
- } else {
- isStage = false;
- }
- }
- }
-
- //배열을 리턴한다.
- returnArr[0] = utlf_transNullToEmpty(compareStr);
- returnArr[1] = utlf_transNullToEmpty(compRow);
- returnArr[2] = utlf_transNullToEmpty(isAss);
- returnArr[3] = utlf_transNullToEmpty(isEnd);
- returnArr[4] = utlf_transNullToEmpty(pid);
- returnArr[5] = utlf_transNullToEmpty(grupcd);
- returnArr[6] = utlf_transNullToEmpty(obspartnm);
- returnArr[7] = utlf_transNullToEmpty(genrdd);
- returnArr[8] = utlf_transNullToEmpty(genrtm);
- returnArr[9] = utlf_transNullToEmpty(cause);
- returnArr[10] = utlf_transNullToEmpty(causeid);
- returnArr[11] = utlf_transNullToEmpty(obsrecseq);
- returnArr[12] = utlf_transNullToEmpty(genrplce);
- returnArr[13] = utlf_transNullToEmpty(genrplceid);
- returnArr[14] = utlf_transNullToEmpty(stage);
- returnArr[15] = utlf_transNullToEmpty(stageid);
- returnArr[16] = utlf_transNullToEmpty(isStage);
- returnArr[17] = utlf_transNullToEmpty(genrplcewardcd);
- return returnArr;
- }
- /**
- * @group :
- * @ver : 2008.05.28
- * @by : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param :
- * @return :
- * @desc : 구분을 사정으로, 해당부위의 발생일자,발생시간, 원인을 선택한 데이터와 동일하게 추가.
- * @----------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fSetInsertValue(addLastRow, selEndMenu, returnArr){
-
- xBedsoreGridPath.setColumn(addLastRow, "stat", "i");
- xBedsoreGridPath.setColumn(addLastRow, "pid", returnArr[4]);
- xBedsoreGridPath.setColumn(addLastRow, "grupcd", returnArr[5]);
- xBedsoreGridPath.setColumn(addLastRow, "obspartnm", returnArr[6]);
- xBedsoreGridPath.setColumn(addLastRow, "genrdd", returnArr[7]);
- xBedsoreGridPath.setColumn(addLastRow, "genrtm", returnArr[8]);
- xBedsoreGridPath.setColumn(addLastRow, "cause", returnArr[9]);
- xBedsoreGridPath.setColumn(addLastRow, "causeid", returnArr[10]);
- xBedsoreGridPath.setColumn(addLastRow, "recdd", utlf_getCurrentDate());
- xBedsoreGridPath.setColumn(addLastRow, "rectm", utlf_getCurrentDateTime().substring(9,13));
- //기록자정보추가_20090203_SMY
- xBedsoreGridPath.setColumn(addLastRow, "recrnm", sysf_getUserName());
- xBedsoreGridPath.setColumn(addLastRow, "recrid", sysf_getUserId());
- //발생장소추가_20090220_SMY
- xBedsoreGridPath.setColumn(addLastRow, "genrplce", returnArr[12]);
- xBedsoreGridPath.setColumn(addLastRow, "genrplceid", returnArr[13]);
- xBedsoreGridPath.setColumn(addLastRow, "genrplcewardcd", returnArr[17]);
- //단계 추가 2013.03.18 KJS
- xBedsoreGridPath.setColumn(addLastRow, "stage", returnArr[14]);
- xBedsoreGridPath.setColumn(addLastRow, "stageid", returnArr[15]);
-
- if( !selEndMenu ){
- xBedsoreGridPath.setColumn(addLastRow, "flag", "01");//사정
- }else{
- xBedsoreGridPath.setColumn(addLastRow, "flag", "99");//종료
- }
-
- var sExprEdit = group5.grd_detlgrup.getCellProperty("Body", group5.grd_detlgrup.getBindCellIndex("body", "genrdd"), "edittype").replace("currow == "+addLastRow+" ? 'date' : ", "");
- if( sExprEdit == "expr:'none'" ){
- group5.grd_detlgrup.setCellProperty("Body", group5.grd_detlgrup.getBindCellIndex("body", "genrdd"), "edittype", "none");
- }else{
- group5.grd_detlgrup.setCellProperty("Body", group5.grd_detlgrup.getBindCellIndex("body", "genrdd"), "edittype", sExprEdit);
- }
-
- var sExprEdit = group5.grd_detlgrup.getCellProperty("Body", group5.grd_detlgrup.getBindCellIndex("body", "genrplcewardcd"), "edittype").replace("currow == "+addLastRow+" ? 'combo' : ", "");
- if( sExprEdit == "expr:'none'" ){
- group5.grd_detlgrup.setCellProperty("Body", group5.grd_detlgrup.getBindCellIndex("body", "genrplcewardcd"), "edittype", "none");
- }else{
- group5.grd_detlgrup.setCellProperty("Body", group5.grd_detlgrup.getBindCellIndex("body", "genrplcewardcd"), "edittype", sExprEdit);
- }
- }
- function fAddSameLevlItem111(isEnd){
- var msgStr = '사정기록';
- if(isEnd){
- msgStr = '종료기록';
- }
- //발생부위에 대해 종료된 사정인 경우 메세지 출력
- var compareStr, _compareStr, _flag;//비교값 str
- var pid = model.getValue(xBedsoreGridPath+ '[' + (grd_detlgrup.row-1) + ']/pid');
- var grupcd = model.getValue(xBedsoreGridPath+ '[' + (grd_detlgrup.row-1) + ']/grupcd');
- var obspartnm = model.getValue(xBedsoreGridPath+ '[' + (grd_detlgrup.row-1) + ']/obspartnm');
- var genrdd = model.getValue(xBedsoreGridPath+ '[' + (grd_detlgrup.row-1) + ']/genrdd');
- var genrtm = model.getValue(xBedsoreGridPath+ '[' + (grd_detlgrup.row-1) + ']/genrtm');
- var cause = model.getValue(xBedsoreGridPath+ '[' + (grd_detlgrup.row-1) + ']/cause');
- var causeid = model.getValue(xBedsoreGridPath+ '[' + (grd_detlgrup.row-1) + ']/causeid');
- var compRow = 0;
- var isAss = false;//사정기록 존재여부
- //선택한 발생부위 비교값
- compareStr = obspartnm + genrdd + genrtm + cause;
- //종료기록이 있으면 메세지 출력후 리턴
- for(var i = 2; i < grd_detlgrup.rows; i++){
- _compareStr = model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/obspartnm');
- _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/genrdd');
- _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/genrtm');
- _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/cause');
- if(compareStr == _compareStr){
- compRow = i;
- _flag = model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/flag');
- if(_flag == '99'){
- messageBox('선택하신 부위는 이미 종료된 기록이므로 다시 '+ msgStr +' 하실 수', 'I004');
- return;
- }else if(_flag == '01'){
- isAss = true;
- }
- }
- }
- //종료메뉴 선택시 사정기록이 없으면 메세지 출력후 리턴
- if(isEnd && !isAss){
- messageBox('선택하신 부위는 사정기록이 없으므로 ' + msgStr + ' 하실 수', 'I004');
- return;
- }
- //해당 발생부위 가장 하위 row index찾기
- var addLastRow = 0;
- for(var i = compRow; i < grd_detlgrup.rows; i++){
- _compareStr = model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/obspartnm');
- _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/genrdd');
- _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/genrtm');
- _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/cause');
- if(compareStr != _compareStr){
- addLastRow = i;
- break;
- }
- }
- //발생부위가 등록/사정만 있으면 해당 발생부위 하위에 사정 추가
- //구분을 사정으로, 해당부위의 발생일자,발생시간, 원인을 선택한 데이터와 동일하게 추가.
- if(addLastRow == 0){
- addLastRow = grd_detlgrup.rows;
- grd_detlgrup.addRow();
- // 보고확인 체크박스는 default로 비활성화 (2011.04.14 ahn)
- grd_detlgrup.colDisabled(grd_detlgrup.colRef("rptconfirmflag"))=true;
-
- }else{
- grd_detlgrup.insertRow(addLastRow);
- // 보고확인 체크박스는 default로 비활성화 (2011.04.14 ahn)
- grd_detlgrup.colDisabled(grd_detlgrup.colRef("rptconfirmflag"))=true;
-
- }
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/stat', 'i');
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/pid', pid);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/grupcd', grupcd);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/obspartnm', obspartnm);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/genrdd', genrdd);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/genrtm', genrtm);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/cause', cause);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/causeid', causeid);
- model.setValue(xBedsoreGridPath+ "[" + (addLastRow-1) + "]/recdd", getCurrentDate());
- model.setValue(xBedsoreGridPath+ "[" + (addLastRow-1) + "]/rectm", getCurrentDateTime().substring(9,13));
- if(!isEnd)
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/flag', '01');//사정
- else
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/flag', '99');//종료
- model.refresh();
- }
- /**
- * @group :
- * @ver : 2009.02.04
- * @by : smy
- * @----------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param :
- * @return :
- * @desc : 통합기록조회용 인증데이터 생성
- * @----------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fMakeViewData(){
- var pid = ds_cond.getColumn(0, "pid");
- var indd = ds_data_patientgruplist.lookup("pid", pid, "indd");
- var cretno = ds_data_patientgruplist.lookup("pid", pid, "cretno");
- var orddeptcd = ds_data_patientgruplist.lookup("pid", pid, "orddeptcd");
- var orddrid = ds_data_patientgruplist.lookup("pid", pid, "orddrid");
- var ordtype = ds_data_patientgruplist.lookup("pid", pid, "ordtype");
- var signno = '';
-
- //조회조건값 세팅
- ds_send.setColumn(0, "pid", ds_cond.getColumn(0, "pid")); //등록번호
- ds_send.setColumn(0, "indd", ds_data_patientgruplist.lookup("pid", pid, "indd")); //등록번호
- ds_send.setColumn(0, "cretno", ds_data_patientgruplist.lookup("pid", pid, "cretno")); //등록번호
-
- ds_send.setColumn(0, "genrdd", ds_cond.getColumn(0, "genrdd")); //기준일자(발생일자)
- ds_send.setColumn(0, "genrtm", ds_cond.getColumn(0, "genrtm")); //기준시간(발생시간)
- ds_send.setColumn(0, "stdradio", '0'); //조회조건의라디오(전체/종료전(전체)/종료전(최근입력만))
- ds_send.setColumn(0, "homecare", (HC_isHomeCare == true ? "Y" : "")); //가정간호대상자
- ds_send.setColumn(0, "careflag", HC_gCareFlag); //가정간호대상자
- ds_send.setColumn(0, "inptdt", HC_gInptDt); //가정간호대상자
- //피부욕창관찰기록 조회
- ds_main_detlgrup_detlgruplist.clearData();
-
- var oParam = {};
- oParam.id = "TRMNW04708";
- oParam.service = "wardcareapp.WardCareRec";
- oParam.method = "reqGetObsList";
- oParam.inds = "refCond=ds_send";
- oParam.outds = "ds_viewinfo_viewdetlgrup_detlgruplist=getVO";
- oParam.async = false;
- oParam.callback = "cf_TRMNW04708";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TRMNW04708") > -1 ){
- // 인증 로직 호출
- ViewFunc = "view";
- if( Sign.signprocess() == true ){
- ds_send_savedata.setColumn(0, "pid", pid); // 등록번호
- ds_send_savedata.setColumn(0, "certflag", "C"); // 인증여부( T : 임시저장, C : 인증저장)
- ds_send_savedata.setColumn(0, "orddd", indd); // 입원일자(입원,응급)/진료일자(외래)
- ds_send_savedata.setColumn(0, "signno", signno); // 서명번호
- ds_send_savedata.setColumn(0, "cretno" , cretno); // 생성번호
- ds_send_savedata.setColumn(0, "recdd", ds_viewinfo_viewdetlgrup_detlgruplist.getColumn(0, "signrecddmax")); // 실제 기록이 이루어진 기록일자(통합기록에서 보여짐)
- ds_send_savedata.setColumn(0, "rectm", utlf_getCurrentTime()); // 실제 기록이 이루어진 기록시간(통합기록에서 보여짐)
- ds_send_savedata.setColumn(0, "recsaveflag" , "Y"); // 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
- ds_send_savedata.setColumn(0, "signflag" , (HC_isHomeCare == true ? "20" : "02")); // 서명자료구분(01 : 진료, 02 : 간호, 20 : 가정간호)
- ds_send_savedata.setColumn(0, "signgenrflag", (HC_isHomeCare == true ? ordtype : "I")); // 외래/입원구분 (코드정의서 M0010 참조)
- ds_send_savedata.setColumn(0, "formcd", "0000002461"); // 각 기록지별 서식코드(0000002461 피부욕창(상처)기록)
- ds_send_savedata.setColumn(0, "orddeptcd", orddeptcd); // 진료부서코드
- ds_send_savedata.setColumn(0, "orddrid" , orddrid); // 진료의사ID
-
- //미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
- ds_send_savedata.setColumn(0, "signbfcnts" , Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보)
- ds_send_savedata.setColumn(0, "signaftcnts" , Sign.signedInfos[2]); // 공인인증 처리후 데이터
-
- ds_send_savedata.setColumn(0, "screenid" , frmf_getScreenID());
- ds_send_savedata.setColumn(0, "dispyn", "Y"); //인증저장용 data(view용 인증데이터는 따로 생성함)_20090204_SMY추가
-
- } else {
- return ;
- }
-
- var oParam = {};
- oParam.id = "TXMNW04713";
- oParam.service = "carerecapp.ClincObsRec";
- oParam.method = "reqExeSaveViewData";
- oParam.inds = "signinfo=ds_send_savedata";
- oParam.outds = "";
- oParam.async = false;
- oParam.callback = "cf_TXMNW04713";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TXMNW04713") > -1 ){
- //model.removeNodeset("/root/viewinfo"); //***********************************
- //model.makeNode("/root/viewinfo"); //**********************************
- }
- }
- }
- function cf_TRMNW04708(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- function cf_TXMNW04713(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- // 응급실 구역 보여주기
- function fnZoneDisp() {
-
- //응급의료센터(2280200000)인 경우
- //내환자정보대신에 구역정보가 보임)
- if ( !utlf_isNull(ds_codelist.getColumn(ds_codelist.findRowExpr("cdgrupid=='002' && cdid=='"+group5.grp_sea.cmb_wardcd.value+"'"), "cdid")) ){
- //cap_settingrn.visible = false;
- //cmb_settingrn.visible = false;
- group5.grp_sea.cap_Zone.visible = true;
- group5.grp_sea.cmb_Zone.visible = true;
- group5.grp_sea.cap_settingrn.position="absolute 390 14 455 34";
- group5.grp_sea.cmb_settingrn.position="absolute 455 14 525 34";
-
- var zonecd = ds_temp_paminfo.getColumn(0, "basetypecd");
- if( !utlf_isNull(zonecd) && zonecd != "-" ){
- group5.grp_sea.cmb_Zone.value = ds_temp_paminfo.getColumn(0, "basetypecd");
- } else {
- group5.grp_sea.cmb_Zone.value = "-";
- }
- } else {
- //cap_settingrn.visible = true;
- //cmb_settingrn.visible = true;
- group5.grp_sea.cap_Zone.visible = false;
- group5.grp_sea.cmb_Zone.visible = false;
- group5.grp_sea.cmb_Zone.value = "-";
- group5.grp_sea.cap_settingrn.position="absolute 252 14 317 34";
- group5.grp_sea.cmb_settingrn.position="absolute 317 14 387 34";
- }
- }
- // 내환자 셋팅정보 조회
- function fSettingnurid(){
-
- ds_send_reqdata.setColumn(0, "wardcd", ds_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;
- oParam.callback = "cf_TRMNW10910";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TRMNW10910") > -1 ){
- //settingnurid = model.getValue("/root/init/settinginfo/settingrn[settingrnid='" + getUserInfo("userid") +"']/settingrnid");
- ds_init_settinginfo_settingrn.setColumn(0, "settingrnid", "");
- ds_cond.setColumn(0, "settingrnid", "");
- group5.grp_sea.cmb_settingrn.index = 0;
- }
- }
- function cf_TRMNW10910(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- // 환자 리스트 조회
- function fGetWardPatList(){
- ds_main_detlgrup_detlgruplist.clearData();
- ds_send_reqdata.copyRow(0, ds_cond, 0);
- if( ds_cond.getColumn(0, "wardcd") == ds_codelist.getColumn(0, "cdid") ){
- ds_send_reqdata.setColumn(0, "emcflag", "Y");
- }
- var oParam = {};
- oParam.id = "TRMNW04715";
- oParam.service = "wardcareapp.WardCareRec";
- oParam.method = "reqGetDetlgrupWardPatInfo";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_main_wardpatinfo_wardpatlist=wardpatlist";
- oParam.async = false;
- //oParam.callback = "cf_TRMNW04715";
- tranf_submit(oParam);
-
- ds_main_wardpatinfo_wardpatlist.updateColID("medispclid", "orddrid");
-
- ds_main_wardpatinfo_wardpatlist.rowposition = -1;
-
- }
- // 재원/퇴원 구분
- function fSetInDsch(Pram){
-
- if( Pram == "A" ){
- ds_cond.setColumn(0, "indsch", "1");
- }else{
- ds_cond.setColumn(0, "indsch", "2");
- }
-
- fSetInDschHidden();
- }
- // 재원/퇴원 구분
- function fSetInDschHidden(){
-
- var indsch = ds_cond.getColumn(0, "indsch");
- if( indsch == "1" ){
- if( utlf_isNull(HC_homecarecd)) {
- group5.grp_sea.ctn_pid.visible = false;
- group5.grp_sea.cmb_patientnm.visible = false;
- group5.grp_sea.ipt_pid.visible = false;
- group5.grp_sea.ctn_ward.visible = true;
- group5.grp_sea.cmb_wardcd.visible = true;
- group5.grp_sea.cap_settingrn.visible = true;
- group5.grp_sea.cmb_settingrn.visible = true;
- }
- fnZoneDisp();
- }else if( indsch == "2" ){
- group5.grp_sea.ctn_pid.visible = true;
- group5.grp_sea.cmb_patientnm.visible = true;
- group5.grp_sea.ipt_pid.visible = true;
- group5.grp_sea.ctn_ward.visible = false;
- group5.grp_sea.cmb_wardcd.visible = false;
- group5.grp_sea.cap_settingrn.visible = false;
- group5.grp_sea.cmb_settingrn.visible = false;
- group5.grp_sea.cap_Zone.visible = false;
- group5.grp_sea.cmb_Zone.visible = false;
- }
- }
- /***********************************************************************************************************************************************************/
- /****************************************************** 피부욕창기록에서 사용하는 펑션 종료 ************************************************************/
- /***********************************************************************************************************************************************************/
- ]]></Script>
|