123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[
- /*
- (SMMNW04800.xfm - JScript )
- - Version :
- 1) : Ver.1.00.01
- - Desc : 통증관리기록및 통증관리 팝업이미지 에서 사용하는 스크립트
- */
- /******************************************************************************************************************************************************/
- /****************************************************** 통증관리기록에서 사용하는 펑션 시작************************************************************/
- /******************************************************************************************************************************************************/
- // "/root/patientgrup/patientgruplist" => "ds_data_patientgruplist"
- // "/root/roomcdgrup/roomcdgruplist" => "ds_data_roomcdgruplist"
- var xCondPath = "/root/cond"; // 조회조건 xPath
- var xBedsoreGridPath = "/root/main/detlgrup/detlgruplist"; // 그리드 xPath
- var xClsListBKPath = "/root/hidden/main/detlgrup/detlgruplist"; // 그리드 hidden xPath
- var xPamInfoPath = 'ds_temp_paminfo';//'/root/temp/paminfo'
- var erPatPidPath = "/root/cond/patientnm";
- var gpidPath = "/root/temp/cond/settingpatient/settingpatientlist";
- var gcurrentpid = "";
- //통합기록조회
- var ViewFunc = "sign"; //sign : 기록인증용, view : view인증용
- //가정간호 parameter를 global variable로 선언
- var HC_homecarecd = '';
- var HC_ioflag = '';
- var HC_isHomeCare = '';
- //응급의료센터 관련 변수_경북대 (2011.03.16 Ahn)
- var eERDEPTCD = "";
- var eERFLAG = "";
- var eSECTIONCD = "";
- //경북대 기록지 구분용 _ 2011.03.17 (ahn)
- var eRECFLAG = "erPain"; // 통증관리기록
- var arErrorCode = new HashArray();
- /****************************************************************************************
- * Function : dsf_compareDsRow
- * Description : 같은 데이터셋의 로우를 비교하여 데이터까지 같은지 확인
- * Argument : objDsSrc : 원본데이터셋
- * : objDsTrgt : 대상데이터셋
- * : nRowSrc : 원본 로우
- * : nRowTrg : 대상 로우
- * return type :
- * Creator :
- ****************************************************************************************/
- function dsf_compareDsRow(objDsSrc,objDsTrgt,nRowSrc,nRowTrg) {
- // MMOCommon.xjs : lf_compareNodeVal 참조 컬럼정보 다르면 true
- if(lf_compareNodeVal(objDsTrgt,objDsSrc)) return true;
- if(utlf_isNull(nRowSrc)) {
- var num1 = 0;
- var num2 = 0;
- } else if(utlf_isNull(nRowTrg)) {
- var num1 = nRowSrc;
- var num2 = nRowSrc;
- } else {
- var num1 = nRowSrc;
- var num2 = nRowTrg;
- }
- // 컬럼 비교해서 값이 다르면 ture
- for(var i = 0 ; i < objDsSrc.colcount; i++) {
- if(objDsSrc.getColumn(num1,i) != objDsTrgt.getColumn(num2,i)) return true;
- }
- // 다 같으면 false
- return false;
- }
- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- //+++++++++++++++++++++++++++++++++++++++++++ 조회관련 펑션 모음 시작 ++++++++++++++++++++++++++++++++++++++++++++++//
- //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- /**
- * @group :
- * @ver : 2007.09. 06
- * : 2008.05.28 dhkim 수정
- * @by : 정찬성
- * @----------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 화면을 초기화한다. 화면로딩이 끝난 시점에 호출된다.
- * @param :
- * @return :
- * @----------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function finit(){
-
- ds_send.setColumn(0, "cdgpid", "T30");
-
- var oParam = {};
- oParam.id = "TRMNW04001";
- oParam.service = "carerecapp.AsesRec";
- oParam.method = "reqGetICUWardList";
- oParam.inds = "refCond=ds_send";
- oParam.outds = "ds_data_icucdgruplist=icucdgruplist";
- oParam.async = false;
- oParam.callback = "cf_TRMNW04001";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TRMNW04001") < 0 ){
- return false;
- }
-
- //사용자 직급구분에 따른 화면 제어 플래그 설정
- sJobKindCD = sysf_getUserInfo("jobkindcd"); // 직급코드
- sUserDeptCd = sysf_getUserInfo("dutplcecd");
- sUserId = sysf_getUserInfo("userid");
- //---------(20101204) 경북대
- //추가
- //var sJobKindCD = getUserInfo("jobkindcd"); // 직급코드
- var ssflag = "";
- if(sysf_getUserInfo("dutplceinstcd") != '032' && sysf_getUserInfo("dutplceinstcd") != '031') {
- //경북대가 아니면
- if( sJobKindCD == "0330" || sJobKindCD == "0310"){
- ssflag = "Y";
- }else{
- ssflag = "N";
- }
- } else if(sysf_getUserInfo("dutplceinstcd") == '032' || sysf_getUserInfo("dutplceinstcd") == '031') {
- //경북대이면 03%로 체크한다.
- if( sJobKindCD.substring(0, 2) == "03"){
- ssflag = "Y";
- }else{
- ssflag = "N";
- }
- }
-
- // 통증관련 설명문구 이원화('16.04.27_AYS 칠곡인증평가 관련 수정)
- if(sysf_getUserInfo("dutplceinstcd") == '032'){
- group5.switch1.rec.caption7.visible = true;
- group5.switch1.rec.caption10.visible = true;
- group5.switch1.rec.caption9.visible = true;
- //caption2.visible = false;
- //caption3.visible = false;
- //caption4.visible = false;
- }else{
- //caption2.visible = true;
- //caption3.visible = true;
- //caption4.visible = true;
- group5.switch1.rec.caption7.visible = false;
- group5.switch1.rec.caption10.visible = false;
- group5.switch1.rec.caption9.visible = false;
- }
-
- //----------------------------
- //응급의료센터 부서코드 추출_ 경북대 (2011.03.16 Ahn)
- ds_send.setColumn(0, "cdgrupid", "'002'");
- ds_send.setColumn(0, "srchdd", utlf_getCurrentDate()); // 조회기준일자
-
- var oParam = {};
- oParam.id = "TRMNW00001";
- oParam.service = "wardcareapp.WardCareMngt";
- oParam.method = "reqGetNursHardCdInfo";
- oParam.inds = "req=ds_send";
- oParam.outds = "ds_code_codeinfo_codelist=codelist";
- oParam.async = false;
- oParam.callback = "cf_TRMNW00001";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TRMNW00001") < 0 ){
- return false;
- }else{
- eERDEPTCD = ds_code_codeinfo_codelist.getColumn(ds_code_codeinfo_codelist.findRow("cdgrupid", "002"), "cdid");
- }
- //원본:의사의 경우만
- //if(sJobKindCD == "0330" || sJobKindCD == "0310" ){
- if(ssflag=="Y") {
- //---------(20101204) 경북대
- group5.switch1.rec.grp_sea.grp_search.visible = true;
- group5.switch1.rec.grp_sea.grp_save.visible = false;
- //grp_data.disabled = true;
- }else{
- group5.switch1.rec.grp_sea.grp_search.visible = false;
- group5.switch1.rec.grp_sea.grp_save.visible = true;
- }
-
- /*
- // 간호하드코딩 테이블 조회_20090816(ByKHJ)
- var pCode = "'077'"; // 조회할 CdGrupID 코드정보(기관코드조회)
- var pDate = getCurrentDate(); // 조회기준일자
- fGetNursHardCdInfo(pCode, pDate);
- if ( model.getValue("/root/code/codeinfo/codelist[supcdid='01']/cdid") == getUserInfo("dutplceinstcd") ){
- grd_detlgrup.colHidden(grd_detlgrup.colRef("paingb")) = false;
- setParameter("SPMNW04800_PARAM9SHOW","Y");
- }else{
- grd_detlgrup.colHidden(grd_detlgrup.colRef("paingb")) = true;
- }
- */
- //조회조건을 세팅한다.
- ds_cond.setColumn(0, "stdradio", "2"); // 종료전(최근입력만) 선택
- ds_cond.setColumn(0, "genrdd", utlf_getCurrentDate()); // 기준일에 현재날짜(디폴트)
- ds_cond.setColumn(0, "genrtm", utlf_getCurrentDateTime().substring(9,13)); // 기준시간 셋팅
-
- 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_settingrn=settingrn";
- oParam.async = false;
- oParam.callback = "cf_TRMNW04705";
- tranf_submit(oParam);
-
- //병동 조회
- if( arErrorCode.pop("TRMNW04705") < 0 ){
- sysf_messageBox('화면 초기화를', 'E009');
- return;
- }
- //그리드에 들어갈 공통코드리스트 조회
- // if(!submit("TRMNW04701")){
- // messageBox('화면 초기화를', 'E009');
- // return;
- // }
- //상단정보를 가져온다.
- var isOpener = fSetPatInfo();
- //가정간호 parameter 세팅
- if(frmf_checkOpener()){
- HC_isHomeCare = fSetHomeCareParamter();
- }
- //상단정보가 있으면 바로 조회
- if(isOpener || HC_isHomeCare){
- // fSearch();
- fSearchRecInfo(); //ds_main_detlgrup_detlgruplist를 받아옴
- //조회후 그리드의 발생부위, 발생일자를 머지
- //fMergeGenrAreaDD(); //그리드 suppress로 대체
-
- }else{
- ds_cond.setColumn(0, "wardcd", sysf_getUserInfo("dutplcecd"));
-
- // 응급실인 경우 (2011.03.16 Ahn)
- fGetWardChngInfo("N");
-
- //병실정보 조회
- fSearchRoomcd();
- group5.switch1.rec.grp_sea.cmb_roomcd.setFocus();
-
- if(eERFLAG == "Y"){
- group5.switch1.rec.grp_sea.cmb_roomcd.value = ds_data_roomcdgruplist.getColumn(0, "roomcd");
- //선택한 병실에 해당하는 환자리스트 조회
- fGetCareComPatList(group5.switch1.rec.grp_sea.cmb_wardcd.value, group5.switch1.rec.grp_sea.cmb_roomcd.value, group5.switch1.rec.grp_sea.cmb_zone.value); //ds_data_patientgruplist를 받아옴
- ds_data_patientgruplist.addColumn("orddrid", "string");
-
- group5.switch1.rec.grp_sea.cmb_erpat.setFocus();
- }
- }
- var pFlag = null;
- var flag = 'SMMNW04800';
- fGetSettingPatientList_type4(pFlag,flag);
- if( !utlf_isNull(ds_cond.getColumn(0, "pid")) ){
- if( ds_temp_cond_settingpatient_settingpatientlist.rowcount > 0){
- ds_cond.setColumn(0, "settingpatient", ds_cond.getColumn(0, "pid"));
- }
- }
- }
- function cf_TRMNW04001(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- function cf_TRMNW00001(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- function cf_TRMNW04705(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';//
-
-
- //외래/입원의 경우에 따라 조회영역을 visible/hidden처리
- fHiddenRoomWard(HC_ioflag);
-
- //가정간호구분자가 널이면 리턴
- if( !utlf_isNull(HC_homecarecd) ){
- if( utlf_isNull(pid) ){
- sysf_messageBox('필수정보가 없으므로 기록을 조회할 수', 'I004');
- return false;
- }else{
- if(HC_ioflag == 'O'){
- //환자명 combonode, input pid set
- ds_data_patientgruplist.clearData();
- ds_data_patientgruplist.addRow();
- ds_data_patientgruplist.setColumn(0, "patientnm", hngnm);
- ds_data_patientgruplist.setColumn(0, "pid", pid);
- ds_cond.setColumn(0, "patientnm", pid);
- ds_cond.setColumn(0, "pid", pid);
- }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(ioflag == 'O'){
- group5.switch1.rec.grp_sea.ctn_ward.visible = false;
- group5.switch1.rec.grp_sea.cmb_wardcd.visible = false;
- group5.switch1.rec.grp_sea.ctn_room.visible = false;
- group5.switch1.rec.grp_sea.cmb_roomcd.visible = false;
- group5.switch1.rec.grp_sea.ctn_searchflag.position.top = 14;
- group5.switch1.rec.grp_sea.rdo_stdradio.position.top = 14;
- }else{
- group5.switch1.rec.grp_sea.ctn_ward.visible = true;
- group5.switch1.rec.grp_sea.cmb_wardcd.visible = true;
- group5.switch1.rec.grp_sea.ctn_room.visible = true;
- group5.switch1.rec.grp_sea.cmb_roomcd.visible = true;
- group5.switch1.rec.grp_sea.ctn_searchflag.position.top = 40;
- group5.switch1.rec.grp_sea.rdo_stdradio.position.top = 40;
- }
-
- }
-
-
- /**
- * @ver : 2008.06.12
- * @author : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param : wardcd 병동코드
- * @param : roomcd 병실코드
- * @param : pid 등록번호
- * @return :
- * @desc : pid를 가지고 병실, 병동 정보를 찾아서 조회영역에 병동, 병실, 환자명, 등록번호를 세팅한다.
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fSetWardRoomPidInfo(wardcd, roomcd, pid, zoneflag){
-
- group5.switch1.rec.grp_sea.cmb_wardcd.value = wardcd; //병동코드 세팅
- fSearchRoomcd(wardcd); //병동에 해당되는 병실조회
- group5.switch1.rec.grp_sea.cmb_roomcd.value = roomcd; //병실코드 세팅
-
- fGetWardChngInfo("N");
-
- // 응급실일 경우 응급실 환자 조회 (2011.03.16 ahn)
- if(eERFLAG == "Y"){
- fGetCareComPatList(wardcd, roomcd, group5.switch1.rec.grp_sea.cmb_zone.value, eRECFLAG); //ds_data_patientgruplist를 받아옴
- ds_data_patientgruplist.addColumn("orddrid", "string");
-
- // 해당 환자의 section 정보로 재설정
- var sectioncd = ds_data_patientgruplist.getColumn(ds_data_patientgruplist.findRow("pid", pid), "zonecd");
- if(zoneflag== "Chg"){
- //model.setValue("/root/cond/zonecd", "-");
- ds_cond.setColumn(0, "zonecd", (utlf_isNull(sectioncd) ? "-" : sectioncd));
- frmf_inputEnterKey("group5.switch1.rec.grp_sea.cmb_zone", "onitemchanged", new ItemChangeEventInfo ); //180328_AYS_Combo_강제이벤트_사용시
- //group5.switch1.rec.grp_sea.cmb_zone.onitemchanged.fireEvent(group5.switch1.rec.grp_sea.cmb_zone, new ItemChangeEventInfo); //180328_AYS_Combo_강제이벤트_사용시(다른 방법)
- //group5_switch1_rec_grp_sea_cmb_zone_onitemchanged();
- }else if(zoneflag== "NoChg"){
- ds_cond.setColumn(0, "zonecd", eSECTIONCD);
- frmf_inputEnterKey("group5.switch1.rec.grp_sea.cmb_zone", "onitemchanged", new ItemChangeEventInfo ); //180328_AYS_Combo_강제이벤트_사용시
- //group5.switch1.rec.grp_sea.cmb_zone.onitemchanged.fireEvent(group5.switch1.rec.grp_sea.cmb_zone, new ItemChangeEventInfo); //180328_AYS_Combo_강제이벤트_사용시(다른 방법)
- //group5_switch1_rec_grp_sea_cmb_zone_onitemchanged();
- }
-
- group5.switch1.rec.grp_sea.cmb_erpat.value = pid;
-
- }else{
- fSearchPatInfo(wardcd, roomcd); //병실에 해당되는 환자조회
- }
- //퇴원환자의 경우 환자이름에 조회되지 않으므로 콤보아이템을 추가
- if ( utlf_isNull(ds_data_patientgruplist.getColumn(ds_data_patientgruplist.findRow("pid", pid), "patientnm")) ){
- frmf_addComboItem( "group5.switch1.rec.grp_sea.cmb_patientnm", appf_getPatientInfoDetail('hngnm'), pid, "above" );
- ds_cond.setColumn(0, "patientnm", pid);
- ds_data_patientgruplist.setColumn(0, "indd", appf_getPatientInfoDetail('indd'));
- ds_data_patientgruplist.setColumn(0, "cretno", appf_getPatientInfoDetail('cretno'));
- ds_data_patientgruplist.setColumn(0, "orddeptcd", appf_getPatientInfoDetail('orddeptcd'));
- ds_data_patientgruplist.setColumn(0, "orddrid", appf_getPatientInfoDetail('medispclid'));
- ds_data_patientgruplist.setColumn(0, "ordtype", appf_getPatientInfoDetail('ioflag'));
- group5.switch1.rec.grp_sea.cmb_patientnm.enable = false;
- }else{
- // 응급실일 경우 응급실 환자 조회 (2011.03.16 ahn)
- if(eERFLAG == "Y"){
- group5.switch1.rec.grp_sea.cmb_erpat.value = pid;
- }else{
- group5.switch1.rec.grp_sea.cmb_patientnm.value = pid; //등록번호 세팅
- group5.switch1.rec.grp_sea.cmb_patientnm.enable = true;
- }
- }
- group5.switch1.rec.grp_sea.ipt_pid.value = pid; //등록번호 세팅
-
- }
-
-
- /**
- * @ver : 2008.06.12
- * @author : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param : pid - 등록번호
- * @return :
- * @desc : 등록번호만 입력된 상태일때는 병동, 병실정보를 알수 없으므로
- * 해당 등록번호의 환자의 병동정보를 조회해온다.
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fGetPidWardInfo(pid, zoneflag){
- if( !utlf_isNull(pid) ){
- ds_main_patinfo_patinfolist.clearData();
- ds_send.clearData();
- ds_send.addRow();
- ds_send.addColumn("pid", "string");
- 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_send";
- 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에서 받아온다
- if(HC_isHomeCare){
- wardcd = opener.frmf_getParameter('wardcd');
- roomcd = opener.frmf_getParameter('roomcd');
- pid = opener.frmf_getParameter('pid');
- }
- //pid를 가지고 병실, 병동 정보를 찾는다.
- fSetWardRoomPidInfo(wardcd, roomcd, pid, zoneflag);
- }
-
- if( !utlf_isNull(ds_cond.getColumn(0, "pid")) ){
- if( ds_temp_cond_settingpatient_settingpatientlist.rowcount > 0 ){
- ds_cond.setColumn(0, "settingpatient", ds_cond.getColumn(0, "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(){
- //var xPamInfoPath = '/root/temp/paminfo'
- var node = appf_getPatientInfoDetails(ds_temp_paminfo) ;
- var pid = ''; var hngnm = ''; var wardcd = ''; var roomcd = '';
- // 응급실 구역정보 (2011.03.16 ahn)
- var sectioncd = "";
- var isOpener = false;
- if(frmf_checkOpener()){
- pid = appf_getPatientInfoDetail('pid');
- hngnm = appf_getPatientInfoDetail('hngnm');
- wardcd = appf_getPatientInfoDetail('wardcd');
- roomcd = appf_getPatientInfoDetail('roomcd');
- sectioncd = appf_getPatientInfoDetail('basetypecd'); // 응급실 구역정보 (2011.03.16 ahn)
- if( !utlf_isNull(pid) ){
- isOpener = true;
- }
- }
- if( !utlf_isNull(pid) && !utlf_isNull(hngnm) && !utlf_isNull(wardcd) && !utlf_isNull(roomcd) ){
- // 응급실일 경우 (2011.03.16 Ahn)
- //alert(sectioncd);
- fGetWardChngInfo("Y", wardcd, sectioncd);
-
- //콤보에서 끌고 오기 위한 병실, 환자정보 조회
- fSearchRoomcd(wardcd);
-
- if(eERFLAG == "Y"){ // 응급실 환자 조회 (2011.03.15 Ahn)
- fGetCareComPatList(wardcd, roomcd, group5.switch1.rec.grp_sea.cmb_zone.value); //ds_data_patientgruplist를 받아옴
- ds_data_patientgruplist.addColumn("orddrid", "string");
- }else{
- 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.switch1.rec.grp_sea.cmb_patientnm", appf_getPatientInfoDetail('hngnm'), pid, "above" );
- ds_cond.setColumn(0, "patientnm", pid);
- ds_data_patientgruplist.setColumn(0, "indd", appf_getPatientInfoDetail('indd'));
- ds_data_patientgruplist.setColumn(0, "cretno", appf_getPatientInfoDetail('cretno'));
- ds_data_patientgruplist.setColumn(0, "orddeptcd", appf_getPatientInfoDetail('orddeptcd'));
- ds_data_patientgruplist.setColumn(0, "orddrid", appf_getPatientInfoDetail('medispclid'));
- ds_data_patientgruplist.setColumn(0, "ordtype", appf_getPatientInfoDetail('ioflag'));
-
- group5.switch1.rec.grp_sea.cmb_patientnm.enable = false;
- }else{
- ds_cond.setColumn(0, "patientnm", pid);
- group5.switch1.rec.grp_sea.cmb_patientnm.enable = true;
- }
-
- 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();
- group5.switch1.rec.grp_sea.cmb_patientnm.enable = true;
- //선택한 병동에 해당되는 병실 조회
- if( utlf_isNull(wardcd) ){
- wardcd = ds_cond.getColumn(0, "wardcd");
- ds_temp_paminfo.clearData();
- fInitTopInfo();
- }
- fGetCareComRoomList(wardcd); //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");
- group5.switch1.rec.grp_sea.cmb_patientnm.enable = true;
- ds_temp_paminfo.clearData();
- fInitTopInfo();
-
- }
- if( utlf_isNull(roomcd) )
- roomcd = ds_cond.getColumn(0, "roomcd");
- fGetCareComPatList(wardcd, roomcd); //ds_data_patientgruplist를 받아옴
- ds_data_patientgruplist.addColumn("orddrid", "string");
- }
- /**
- * @group :
- * @ver : 2007.09.06
- * : 2008.05.28 dhkim 수정
- * @by : 정찬성
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 조회버튼
- * @param :
- * @return :
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fSearch(zoneflag){
-
- var 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.switch1.rec.grp_sea.ipt_pid.setFocus();
- return false;
- }else{
- //가정간호에서 팝업을 띄운 외래 환자의 경우엔 skip한다.
- if(!HC_isHomeCare || (HC_isHomeCare && HC_ioflag == 'I')){
- //등록번호에 해당되는 병동, 병실정보를 조회한다.
- fGetPidWardInfo(pid, zoneflag);
- }
- }
-
- fSearchRecInfo(); //ds_main_detlgrup_detlgruplist를 받아옴
- //조회후 그리드의 발생부위, 발생일자를 머지
-
- //fMergeGenrAreaDD(); //그리드 suppress로 대체
- return true;
- }
- function fSearchRecInfo() {
-
- //조회조건값 세팅
- var pid = ds_cond.getColumn(0, "pid");
- ds_send.addColumn("pid", "string");
- ds_send.addColumn("indd", "string");
- ds_send.addColumn("cretno", "string");
- ds_send.addColumn("genrdd", "string");
- ds_send.addColumn("genrtm", "string");
- ds_send.addColumn("stdradio", "string");
- 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, "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 = "TRMNW04802";
- oParam.service = "wardcareapp.WardPainCareMngt";
- oParam.method = "reqGetPainList";
- oParam.inds = "refCond=ds_send";
- oParam.outds = "ds_main_detlgrup_detlgruplist=patinfolist";
- oParam.async = false;
- oParam.callback = "cf_TRMNW04802";
- tranf_submit(oParam);
- }
- function cf_TRMNW04802(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
-
- ds_main_detlgrup_detlgruplist.addColumn("recrnm", "string");
- ds_main_detlgrup_detlgruplist.addColumn("causenm", "string");
- ds_main_detlgrup_detlgruplist.addColumn("orddd", "string");
-
- ds_main_detlgrup_detlgruplist.rowposition = -1;
-
- //그리드변경시 update상태파악위한 노드백업
- ds_hidden_main_detlgrup_detlgruplist.copyData(ds_main_detlgrup_detlgruplist);
- }
- /**
- * @group :
- * @ver : 2008.05.28
- * @by : dhkim
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 조회후 발생부위, 방향,원인 가 같으면 머지한다.
- * @param :
- * @return :
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- // function fMergeGenrAreaDD(){
- //
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("obspartnm")) = true;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("cause")) = true;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("direcnm")) = true;
- //
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("flag")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("recdd")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("rectm")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("symptomid")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("freq")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("paingb")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("paingbid")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("term")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("term")) = false;
- //
- // // 기간 정보 추가
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("termtm")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("termth")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("termdd")) = false;
- //
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("pnt")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("resn")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("arbitration")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("valu")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("pid")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("instcd")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("obsrecseq")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("direcid")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("causeid")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("symptom")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("grupcd")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("sel")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("obspartid")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("freqid")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("pntid")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("lastupdtrid")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("tool")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("toolid")) = false;
- //
- // //약물중재, 비약물중재 컬럼추가_20110414_SMY
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("pnt1")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("pnt2")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("pnt3")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("pnt4")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("pnt5")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("cnps1")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("cnps2")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("cnps3")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("cnps4")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("drugarbt")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("nondrugarbt")) = false;
- // grd_detlgrup.mergeCol(grd_detlgrup.colRef("nondrugarbtid"))= false;
- //
- // }
- /**
- * @group :
- * @ver : 2015.07.21
- * @by : dhkim
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : Duty별 통증기록 유무 내환자 세팅 환자 목록에 표기
- * @param :
- * @return :
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fGetSettingPatientList_type4(pFlag,flag){
- var sRefresh = "true";
- if( !utlf_isNull(pFlag)){
- sRefresh = pFlag
- }
- if( !utlf_isNull(flag) ){
- ds_send_refCond.setColumn(0, "flag", flag);
- }
-
- var oParam = {};
- oParam.id = "TRMNR00921";
- oParam.service = "carerecapp.ClincObsRec";
- oParam.method = "reqGetsettinpatlist_type4";
- oParam.inds = "refCond=ds_send_refCond";
- oParam.outds = "ds_temp_cond_settingpatient_settingpatientlist=settingpatientlist";
- oParam.async = false;
- //oParam.callback = "cf_TRMNR00921";
- tranf_submit(oParam);
- }
- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- //+++++++++++++++++++++++++++++++++++++++++++ 조회관련 펑션 모음 끝 ++++++++++++++++++++++++++++++++++++++++++++++//
- //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- //+++++++++++++++++++++++++++++++ 욕창관련 팝업호출관련 펑션모음 시작 ++++++++++++++++++++++++++++++++++++++++++++++//
- //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- /////////////////팝업 오픈 시작////////////////////
- /**
- * @group :
- * @ver : 2008.05.28
- * @by : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 첨부파일팝업을 호출
- * @param :
- * @return :
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fOpenFilePopup(){
- var iRow = group5.switch1.rec.grd_detlgrup.currentrow;
- var cdColIdx = 0;
- var mergeyn = 0;
-
- var pid = ds_main_detlgrup_detlgruplist.getColumn(iRow-1, "pid");
- var obsrecseq = ds_main_detlgrup_detlgruplist.getColumn(iRow-1, "obsrecseq");
- var grupcd = ds_main_detlgrup_detlgruplist.getColumn(iRow-1, "grupcd");
-
-
- var stat = '';
- for( var i=2 ; i<group5.switch1.rec.grd_detlgrup.rowcount ; i++ ){
- stat = ds_main_detlgrup_detlgruplist.getColumn(i - 1, "stat");
- if(stat != '-'){
- return;
- }
- }
-
- if(!utlf_isNull(obsrecseq)){
- frmf_setParameter('pid', pid);
- frmf_setParameter('grupcd', grupcd);
- frmf_setParameter('obsrecseq', obsrecseq);
-
- frmf_modal("SPMNW04703","SPMNW04703","","",1,"100","100","","","","","","M");
- fSearch();
- }else{
- return ;
- }
- }
- /**
- * @group :
- * @ver : 2008.08.08
- * @by : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @desc : undermining팝업 호출
- * @type : function
- * @access : public
- * @param :
- * @return :
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fPopupUndermining(){
- var iRow = group5.switch1.rec.grd_detlgrup.currentrow;
- var cdColIdx = 0;
- var mergeyn = 0;
-
- var pid = ds_main_detlgrup_detlgruplist.getColumn(iRow-1, "pid");
- var obsrecseq = ds_main_detlgrup_detlgruplist.getColumn(iRow-1, "obsrecseq");
- var grupcd = ds_main_detlgrup_detlgruplist.getColumn(iRow-1, "grupcd");
-
-
- var stat = '';
- for( var i=2 ; i<group5.switch1.rec.grd_detlgrup.rowcount ; i++ ){
- stat = ds_main_detlgrup_detlgruplist.getColumn(i-1, "stat");
- if(stat != '-'){
- return;
- }
- }
-
-
- if(!utlf_isNull(obsrecseq)){
- frmf_setParameter('pid', pid);
- frmf_setParameter('grupcd', grupcd);
- frmf_setParameter('obsrecseq', obsrecseq);
- frmf_modal("SPMNW04701","SPMNW04701","","",1,"100","100","","","","","","M");
- fSearch();
- }else{
- return ;
- }
- }
- /**
- * @group :
- * @ver : 2008.05.28
- * @by : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 욕창발생부위 팝업호출
- * @param :
- * @return :
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fPopupBedSoreImg(){
- var iRow = grd_detlgrup.row;
- var iCol = grd_detlgrup.col;
- var obsrecseq = model.getValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/obsrecseq");
- //팝업창에 부위 값이 있으면 기존값 셋팅
- //이미저장되어있으면 수정하지 못하도록 확인버튼을 막아주는 flag를 set한다.
- if(grd_detlgrup.textmatrix(iRow,2) != ""){
- setParameter("partall", grd_detlgrup.textmatrix(iRow,3));
- if(obsrecseq > 0){
- setParameter('editable', 'f');
- }
- }else{
- setParameter('editable', 't');
- }
- // 환자 기록부분 선택 팝업
- modal("SMMNW04701",1, event.screenX-200, event.screenY+50); //이미지호출
- //팝업에서 아무것도 선택하지 않고 close를 눌렀을때..
- if( getParameter("returnnull") == "close" ){
- return ;
- } else {
- //욕창발생부위 값을 grid에 set
- var retStr = getParameter('retStr');
- model.setValue(xBedsoreGridPath + '[' + (iRow-1) + ']/obspartnm', retStr);
- //그리드 상태값 변경
- var stat = model.getValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/stat");
- if(stat != "i") {
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/stat","u");
- } else {
- //욕창발생부위의 추가시 해당 부위에 대해
- //동일한 발생부위+발생일자+발생시간+원인의 '종료'가 없으면
- //그 부위를 추가할수 없도록 메세지 리턴
- if(grd_detlgrup.rows > 3){
- var returnArr = fIsExistEndData(grd_detlgrup.row, true);
- if(returnArr[3] != null && !returnArr[3]){
- messageBox('선택하신 발생부위는 이미 등록되어 있으며, 종료된 사정이 아니므로 재등록 하실 수 ', 'I004');
- model.setValue(xBedsoreGridPath + '[' + (iRow-1) + ']/obspartnm', '');
- model.refresh();
- return ;
- }
- }
- }
- }
- }
- /**
- * @group :
- * @ver : 2008.05.28
- * @by : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @desc : 통증기준자료팝업 호출
- * @type : function
- * @access : public
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fPopupBedSoreData(iRow){
-
- // Main Data -> popup 으로
- //--------------------------------------------------------------
- // Update or Insert 확인 (Parameter= Upflag)
- //--------------------------------------------------------------
-
- frmf_setParameter("Upflag", ds_main_detlgrup_detlgruplist.getColumn(iRow, "lastupdtrid"));//기록자
- frmf_setParameter("Gubnflag", ds_main_detlgrup_detlgruplist.getColumn(iRow, "flag")); //구분
-
- var part = ds_main_detlgrup_detlgruplist.getColumn(iRow, "obspartid") ; //통증부위ID
- frmf_setParameter("SPMNW04800_PARAM1", part);
- var partnm= ds_main_detlgrup_detlgruplist.getColumn(iRow, "obspartnm") ; //통증부위명
- frmf_setParameter("SPMNW04800_PARAMOBSDATA",partnm);
- frmf_setParameter("SPMNW04800_ETC", ds_main_etc.getColumn(0, "partnm"));
- var part2 = ds_main_detlgrup_detlgruplist.getColumn(iRow, "direcid") ; //방향ID
- frmf_setParameter("SPMNW04800_PARAM2", part2);
- var partnm2=ds_main_detlgrup_detlgruplist.getColumn(iRow, "direcnm") ; //방향명
- frmf_setParameter("SPMNW04800_PARAMDIRDATA",partnm2);
- frmf_setParameter("SPMNW04800_ETC2", ds_main_etc.getColumn(0, "catenm"));
-
- var part3=ds_main_detlgrup_detlgruplist.getColumn(iRow, "causeid") ; //원인ID
- frmf_setParameter("SPMNW04800_PARAM3", part3);
- frmf_setParameter("SPMNW04800_ETC3", ds_main_etc.getColumn(0, "sympnm"));
-
- var partnm4=ds_main_detlgrup_detlgruplist.getColumn(iRow, "cause") ; //원인명
- frmf_setParameter("SPMNW04800_PARAMCAUDATA", partnm4);
-
- var part5=ds_main_detlgrup_detlgruplist.getColumn(iRow, "symptomid") ; //통증양상ID
- frmf_setParameter("SPMNW04800_PARAM4", part5);
- var partnm6=ds_main_detlgrup_detlgruplist.getColumn(iRow, "symptom") ; //통증양상명칭
- frmf_setParameter("SPMNW04800_PARAMSYMDATA", partnm6);
- var part7=ds_main_detlgrup_detlgruplist.getColumn(iRow, "freqid") ; //빈도ID
- frmf_setParameter("SPMNW04800_PARAM5", part7);
- var partnm8=ds_main_detlgrup_detlgruplist.getColumn(iRow, "freq") ; //빈도
- frmf_setParameter("SPMNW04800_PARAMFREQDATA", partnm8);
- var part11=ds_main_detlgrup_detlgruplist.getColumn(iRow, "toolid") ; //사정도구ID
- frmf_setParameter("SPMNW04800_PARAM7", part11);
- var partnm12=ds_main_detlgrup_detlgruplist.getColumn(iRow, "tool") ; //사정도구
- frmf_setParameter("SPMNW04800_PARAMTOOLDATA", partnm12);
-
- var part9=ds_main_detlgrup_detlgruplist.getColumn(iRow, "pntid") ; //통증점수ID
- frmf_setParameter("SPMNW04800_PARAM6", part9);
- var partnm10=ds_main_detlgrup_detlgruplist.getColumn(iRow, "pnt") ; //통증점수
- frmf_setParameter("SPMNW04800_PARAMPNTDATA", partnm10);
-
- var part9=ds_main_detlgrup_detlgruplist.getColumn(iRow, "paingbid") ; //통증발생구분ID
- frmf_setParameter("SPMNW04800_PARAM9", part9);
-
- if( iRow>0 && !utlf_isNull(part11) && ds_main_detlgrup_detlgruplist.getColumn(iRow, "stat")=="i" ){ //동일 통증 부위에 대한 기록내역 있는 경우 이전 사정도구 default check
- var part11_1 = ds_main_detlgrup_detlgruplist.getColumn((iRow-1), "toolid") ; //사정도구ID
- frmf_setParameter("SPMNW04800_PARAM7", part11_1);
- }
-
- //비약물중재 추가_20110418_SMY
- var part17 = ds_main_detlgrup_detlgruplist.getColumn(iRow, "nondrugarbtid") ; //비약물중재ID
- frmf_setParameter("SPMNW04800_PARAM17", part17);
- var partnm18= ds_main_detlgrup_detlgruplist.getColumn(iRow, "nondrugarbt") ; //비약물중재명
- frmf_setParameter("SPMNW04800_PARAMNONDRUGDATA",partnm18);
- frmf_setParameter("SPMNW04800_ETC4", ds_main_etc.getColumn(0, "nondrugnm"));
-
- //통증점수상세추가_20110418_SMY
- var partptn1=ds_main_detlgrup_detlgruplist.getColumn(iRow, "pnt1") ;
- frmf_setParameter("SPMNW04800_PARAMPNT1DATA", partptn1);
- var partptn2=ds_main_detlgrup_detlgruplist.getColumn(iRow, "pnt2") ;
- frmf_setParameter("SPMNW04800_PARAMPNT2DATA", partptn2);
- var partptn3=ds_main_detlgrup_detlgruplist.getColumn(iRow, "pnt3") ;
- frmf_setParameter("SPMNW04800_PARAMPNT3DATA", partptn3);
- var partptn4=ds_main_detlgrup_detlgruplist.getColumn(iRow, "pnt4");
- frmf_setParameter("SPMNW04800_PARAMPNT4DATA", partptn4);
- var partptn5=ds_main_detlgrup_detlgruplist.getColumn(iRow, "pnt5");
- frmf_setParameter("SPMNW04800_PARAMPNT5DATA", partptn5);
-
- //통증점수cnps상세추가_20150202
- var partcnps1=ds_main_detlgrup_detlgruplist.getColumn(iRow, "cnps1");
- frmf_setParameter("SPMNW04800_PARAMCNPS1DATA", partcnps1);
- var partcnps2=ds_main_detlgrup_detlgruplist.getColumn(iRow, "cnps2");
- frmf_setParameter("SPMNW04800_PARAMCNPS2DATA", partcnps2);
- var partcnps3=ds_main_detlgrup_detlgruplist.getColumn(iRow, "cnps3");
- frmf_setParameter("SPMNW04800_PARAMCNPS3DATA", partcnps3);
- var partcnps4=ds_main_detlgrup_detlgruplist.getColumn(iRow, "cnps4");
- frmf_setParameter("SPMNW04800_PARAMCNPS4DATA", partcnps4);
-
- var termtm=ds_main_detlgrup_detlgruplist.getColumn(iRow, "termtm");
- frmf_setParameter("SPMNW04800_PARAMTERMTMDATA", termtm);
- var termth=ds_main_detlgrup_detlgruplist.getColumn(iRow, "termth");
- frmf_setParameter("SPMNW04800_PARAMTERMTHDATA", termth);
- var termdd=ds_main_detlgrup_detlgruplist.getColumn(iRow, "termdd");
- frmf_setParameter("SPMNW04800_PARAMTERMDDDATA", termdd);
-
- //modal("SPMNW04802",1, event.screenX-200, event.screenY+50); //기준자료호출
- frmf_modal("SPMNW04802","SPMNW04802","","","1","200","50","","","","","","M");
- // popup Data--> Main Data
- var flg = frmf_getParameter("SMMNW04800_PARAM");
-
- //alert("flg : " + flg);
-
- if(flg == "Y") {
-
- // 통증부위
- var part1 = frmf_getParameter("SMMNW04800_PARAM1");
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "obspartnm", part1);
- var part2 = frmf_getParameter("SMMNW04800_PARAM2");
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "obspartid", part2);
- // 통증방향
- var part3=frmf_getParameter("SMMNW04800_PARAM3");
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "direcnm", part3);
- var part4=frmf_getParameter("SMMNW04800_PARAM4");
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "direcid", part4);
- //통증원인
- var part5=frmf_getParameter("SMMNW04800_PARAM5");
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "cause", part5);
- var part6=frmf_getParameter("SMMNW04800_PARAM6");
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "causeid", part6);
- //양상
- var part7=frmf_getParameter("SMMNW04800_PARAM7");
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "symptom", part7);
- var part8=frmf_getParameter("SMMNW04800_PARAM8");
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "symptomid", part8);
- //빈도
- var part9=frmf_getParameter("SMMNW04800_PARAM9");
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "freq", part9);
- var part10=frmf_getParameter("SMMNW04800_PARAM10");
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "freqid", part10);
- //점수
- var part11=frmf_getParameter("SMMNW04800_PARAM11");
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "pnt", part11);
- var part12=frmf_getParameter("SMMNW04800_PARAM12");
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "pntid", part12);
- //통증발생구분
- var part13=frmf_getParameter("SMMNW04800_PARAM13");
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "paingb", part13);
- var part14=frmf_getParameter("SMMNW04800_PARAM14");
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "paingbid", part14);
- //사정도구
- var part15=frmf_getParameter("SMMNW04800_PARAM15");
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "tool", part15);
- var part16=frmf_getParameter("SMMNW04800_PARAM16");
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "toolid", part16);
- //비약물중재 추가_20110418_SMY
- var part17=frmf_getParameter("SMMNW04800_PARAM17");
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "nondrugarbt", part17);
- var part18=frmf_getParameter("SMMNW04800_PARAM18");
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "nondrugarbtid", part18);
- //통증점수상세추가_20110418_SMY
- var partptn1=frmf_getParameter("SMMNW04800_PARAMPnt1");
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "pnt1", partptn1);
- var partptn2=frmf_getParameter("SMMNW04800_PARAMPnt2");
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "pnt2", partptn2);
- var partptn3=frmf_getParameter("SMMNW04800_PARAMPnt3");
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "pnt3", partptn3);
- var partptn4=frmf_getParameter("SMMNW04800_PARAMPnt4");
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "pnt4", partptn4);
- var partptn5=frmf_getParameter("SMMNW04800_PARAMPnt5");
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "pnt5", partptn5);
-
- var partcnps1=frmf_getParameter("SMMNW04800_PARAMCNPS1");
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "cnps1", partcnps1);
- var partcnps2=frmf_getParameter("SMMNW04800_PARAMCNPS2");
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "cnps2", partcnps2);
- var partcnps3=frmf_getParameter("SMMNW04800_PARAMCNPS3");
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "cnps3", partcnps3);
- var partcnps4=frmf_getParameter("SMMNW04800_PARAMCNPS4");
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "cnps4", partcnps4);
-
- var parttermtm=frmf_getParameter("SMMNW04800_PARAMTERMTM");
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "termtm", parttermtm);
- var parttermth=frmf_getParameter("SMMNW04800_PARAMTERMTH");
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "termth", parttermth);
- var parttermdd=frmf_getParameter("SMMNW04800_PARAMTERMDD");
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "termdd", parttermdd);
-
- //2017.07.17_초기평가 로직 수정(초기평가 없이 재평가 되도록 수정)
- if(!utlf_isNull(frmf_getParameter("SMMNW04800_FSTFLAG"))) {
- ds_main_detlgrup_detlgruplist.setColumn(iRow,"flag",frmf_getParameter("SMMNW04800_FSTFLAG"));
- }
- frmf_setParameter("SMMNW04800_FSTFLAG", "");
- //
-
- var partetc=frmf_getParameter("SMMNW04800_ETC");
- ds_main_etc.setColumn(0, "partnm", partetc);
- var partetc2=frmf_getParameter("SMMNW04800_ETC2");
- ds_main_etc.setColumn(0, "catenm", partetc2);
- var partetc3=frmf_getParameter("SMMNW04800_ETC3");
- ds_main_etc.setColumn(0, "sympnm", partetc3);
- var partetc4=frmf_getParameter("SMMNW04800_ETC4");
- ds_main_etc.setColumn(0, "nondrugnm", partetc4);
-
- //----------------------------------------------------------------------
- var upchk=frmf_getParameter("SMMNW04800_PARAUPFLAG");
- if ( !utlf_isNull(upchk) ) {
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "stat", "u");
- }
- //------------------------------------------
- }
- group5.switch1.rec.grd_detlgrup.moveToNextCell();
- }
- /////////////////팝업데이터 세팅 시작////////////////////
- /**
- * @group :
- * @ver : 2008.08.08
- * @by : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @desc :
- * 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 = '';
-
- // cd = model.getValue(xBedsoreGridPath+'['+(iRow-1)+']/' + str + 'id');//기존저장되어있던 코드값 ;
- // nm = model.getValue(xBedsoreGridPath+'['+(iRow-1)+']/' + str); //기존저장되어있던 명칭값 ;
- cd = model.getValue(xBedsoreGridPath+'['+(iRow)+']/' + str + 'id');//기존저장되어있던 코드값 ;
- nm = model.getValue(xBedsoreGridPath+'['+(iRow)+']/' + str); //기존저장되어있던 명칭값 ;
-
- if(cd != '') {
- setParameter(str + "cdnm", "");
- setParameter(str + "cd", "");
- setParameter(str + "cdid", cd);
-
- //기타가 선택되어진 상태일때 freetext를 파라메터로 set한다.
- /** if(nm.indexOf('기타') > -1){
- var etcStr = nm.split(')')[0].split('(')[1];
- setParameter(str + 'EtcExist', true);
- setParameter(str + 'EtcStr', etcStr);
- }
- if(str == "dressing") {
- setParameter("dressingStr", nm);
- }
- */
-
- }
-
- }
- /**
- * 원인, 기저부, 상처감염증상,dressing 공통 팝업의 선택결과를 그리드에 세팅
- */
- function fGetPopupData(iRow, str, retClosParam) {
- var retCDParam = '';
- var retNMParam = '';
- if(retClosParam != "close"){
- if(model.getValue(xBedsoreGridPath +"[" + (iRow-1) + "]/stat") != "i") {
- model.setValue(xBedsoreGridPath +"[" + (iRow-1) + "]/stat","u");
- }
- retNMParam = getParameter(str + "cdnm");
- retCDParam = getParameter(str +"cd");
- } else {
- return ;
- }
-
- if(str == "stage" || str=="state" || str=="amount") {
- model.setValue(xBedsoreGridPath+'['+(iRow-1)+']/' + str, retCDParam) ;
- } else {
- model.setValue(xBedsoreGridPath+'['+(iRow-1)+']/' + str, retNMParam);
- model.setValue(xBedsoreGridPath+'['+(iRow-1)+']/' + str + 'id', retCDParam) ;
- }
-
- clearParameter(str + "cdnm");
- clearParameter(str + "cd");
- clearParameter(str + "cdid");
- clearParameter(str + "Str");
- clearParameter(str + "etcExist");
- clearParameter(str + "etcStr");
- }
- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- //+++++++++++++++++++++++++++++++ 팝업호출관련 펑션모음 종료 ++++++++++++++++++++++++++++++++++++++++++++++//
- //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- //++++++++++++++++++++++++++++++++++++++++ 저장 관련 펑션 모음 시작 ++++++++++++++++++++++++++++++++++++++++++++++//
- //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- /**
- * @group :
- * @ver : 2008.05.28
- * @by : dhkim
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 저장하기전에 유효성을 체크한다.
- * @param :
- * @return :
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fIsValid(){
- //그리드 저장데이터 존재여부 체크(default rows = 2)
- if(group5.switch1.rec.grd_detlgrup.rowcount < 1){
- sysf_messageBox("저장할 내역이","I004");
- return false;
- }
- //수정 데이터 존재여부 체크
- var sflag = '';
- for( var i=0 ; i<group5.switch1.rec.grd_detlgrup.rowcount ; i++ ){
- sflag = getArrayData(dsf_getDsCSV(ds_main_detlgrup_detlgruplist, "", "N"), i, 0);
-
- if( utlf_isNull(sflag)){
- sysf_messageBox("신규등록/수정사항이","I004");
- return false;
- }
- }
- for( var i=0 ; i<group5.switch1.rec.grd_detlgrup.rowcount ; i++ ){
- //발생부위 입력여부 체크
- if( utlf_isNull(ds_main_detlgrup_detlgruplist.getColumn(i, "obspartnm")) || ds_main_detlgrup_detlgruplist.getColumn(i, "obspartnm").length <= 0 ) {
- sysf_messageBox("통증발생부위는","I003");
- return false;
- }
-
- if ( appf_getPatientInfoDetail('dschdd') < "99991231"
- && ds_main_detlgrup_detlgruplist.getColumn(i, "recdd") > appf_getPatientInfoDetail('dschdd') ){
- sysf_messageBox((i) + "번째에 사정일자는 퇴원일 "+appf_getPatientInfoDetail('dschdd')+" 이전이어야 합니다" ,"I007");
- return false;
- }
- //필드값 필수입력여부 체크
- var valiStr = '';
- valiStr += ds_main_detlgrup_detlgruplist.getColumn(i, "direcnm"); //방향
- valiStr += ds_main_detlgrup_detlgruplist.getColumn(i, "causenm"); //원인
- valiStr += ds_main_detlgrup_detlgruplist.getColumn(i, "direcnm"); //원인
- if( utlf_isNull(valiStr)){
- sysf_messageBox((i) + "번째에 항목을 1개 이상","C002");
- return false;
- }
-
- // 16.11.03_사정도구, 통증점수 필수항목 지정_AYS
- if( ds_main_detlgrup_detlgruplist.getColumn(i, "tool") == '-'
- || utlf_isNull(ds_main_detlgrup_detlgruplist.getColumn(i, "tool"))
- || ds_main_detlgrup_detlgruplist.getColumn(i, "pnt") == '-'
- || utlf_isNull(ds_main_detlgrup_detlgruplist.getColumn(i, "pnt"))) {
- sysf_messageBox((i) + "번째 열에 사정도구, 통증점수는 필요항목 입니다.","C");
- return false;
- }
- }
- return true;
- }
- /**
- * @group :
- * @ver :
- * :
- * @by :
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 통증기록 저장
- * @param :
- * @return :not used
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- */
- 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"));
-
- var pid_test = model.getValue("/root/cond/patientgrupInfo/patientgruplistInfo/pid");
- alert(pid_test);
- if(submit("TXMNW04710")){
- model.copyNode("/root/hidden/main/detlgrup", "/root/main/detlgrup");
- fSearch();
- }
- }
- }
- var SIGN_ROW = 0;//for돌때 해당 그리드만 인증데이터로 만들어주기 위해 global variable로 선언
- //인증저장
- function fSignSave(){
- if(fIsValid()){
- var pid = ds_cond.getColumn(0, "pid");
- var orddd = ds_data_patientgruplist.getColumn(ds_data_patientgruplist.findRow("pid", pid), "indd");
- var cretno = ds_data_patientgruplist.getColumn(ds_data_patientgruplist.findRow("pid", pid), "cretno");
- var orddeptcd = ds_data_patientgruplist.getColumn(ds_data_patientgruplist.findRow("pid", pid), "orddeptcd");
- var orddrid = ds_data_patientgruplist.getColumn(ds_data_patientgruplist.findRow("pid", pid), "orddrid");
- var signno = ''; //model.getValue("/root/main/endsummary/endsummaryrecord/signno");
-
- //var flaglab=model.getValue("/root/main/detlgrup/detlgruplist/
-
- // 저장 데이터 세팅
- //alert( grd_detlgrup.getupdatedataAll('i'));
- dsf_setDefaultVal(ds_main_detlgrup_detlgruplist, "drugarbt:-");
- ds_send_savedata_detlgrup.copyData(ds_main_detlgrup_detlgruplist);
-
- for( var i=0 ; i<ds_send_savedata_detlgrup.rowcount ; i++ ){
- ds_send_savedata_detlgrup.setColumn(i, "signno", utlf_trim(ds_send_savedata_detlgrup.getColumn(i, "signno")));
- }
-
- ds_send_savedata_signlist.clearData();
-
- //model.makeValue("/root/send/savedata/pid", pid);
-
- Sign.certreload = false ; // 전자서명 호출시 인증저장 버튼을 누늘때마다 인증서가 뜨도록 처리
-
- ViewFunc = "sign";
- //for를 돌면서 각 기록정보의 노드를 복사 한다.
- for( var i=0 ; i<group5.switch1.rec.grd_detlgrup.rowcount ; i++ ){
-
- SIGN_ROW = (i);
- signno = utlf_trim(ds_main_detlgrup_detlgruplist.getColumn(i, "signno"));
-
- ds_send_savedata_signlist.addRow();
-
- // 인증 로직 호출
- 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", "02"); // 서명자료구분(01 : 진료, 02 : 간호, 20 : 가정간호)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signgenrflag", "I"); // 외래/입원구분 (코드정의서 M0010 참조)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "formcd", "0000001590"); // 각 기록지별 서식코드(0000001590 - 통증간호기록)
- 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());
-
- //model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/flag", );
-
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "dispyn", "N");
-
- } else {
- return ;
- }
- }
-
- //약물중재 데이터 저장_20110422_SMY
- //model.makeValue("/root/send/savedata/painprcpinfo", model.getValue("/root/main/painprcpinfo"));
- dsf_createDsRow("ds_tempuserInfo", [{col: "uiUserId", val:sysf_getUserId() }]);
-
- var oParam = {};
- oParam.id = "TXMNW04810";
- oParam.service = "wardcareapp.WardPainCareMngt";
- oParam.method = "reqInsObsRec";
- oParam.inds = "detlgrup=ds_send_savedata_detlgrup signlist=ds_send_savedata_signlist tempUserInfo=ds_tempuserInfo";
- oParam.outds = "ds_main_detlgrup_detlgruplist=detlgruplist";
- oParam.async = false;
- oParam.callback = "cf_TXMNW04810";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TXMNW04810") > -1 ){
- ds_main_detlgrup_detlgruplist.addColumn("recrnm", "string");
- ds_main_detlgrup_detlgruplist.addColumn("causenm", "string");
- ds_main_detlgrup_detlgruplist.addColumn("orddd", "string");
-
- ds_main_detlgrup_detlgruplist.rowposition = -1;
-
- ds_hidden_main_detlgrup_detlgruplist.copyData(ds_main_detlgrup_detlgruplist);
- fMakeViewData();
- fSearch("NoChg");
-
-
- // 응급실 여부에 따라 다음 내환자 동작 제어 (2011.03.08 Ahn)
- if(eERFLAG == "Y"){
- fgetSelectPid(group5.switch1.rec.grp_sea.cmb_erpat);
- }else{
- //-------(20110228) 경북대
- //alert("0");
- fgetSelectPid(group5.switch1.rec.grp_sea.cmb_mypatlist);
- //alert("1");
- //-------(20110228) 경북대
- }
-
- var nextyn = ds_cond.getColumn(0, "nextyn");
- var pFlag = null;
- var flag = 'SMMNW04800';
- if(nextyn == "Y") {
- // 응급실 여부에 따라 다음 내환자 동작 제어 (2011.03.08 Ahn)
- if(eERFLAG == "Y"){
- fGetCareComPatList(group5.switch1.rec.grp_sea.cmb_wardcd.value, group5.switch1.rec.grp_sea.cmb_roomcd.value, group5.switch1.rec.grp_sea.cmb_zone.value, eRECFLAG); //ds_data_patientgruplist를 받아옴
- ds_data_patientgruplist.addColumn("orddrid", "string");
- fNextSelectErPat(group5.switch1.rec.grp_sea.cmb_erpat);
- frmf_inputEnterKey("group5.switch1.rec.grp_sea.cmb_erpat", "onitemchanged", new ItemChangeEventInfo );
-
- } else{
- //-------(20110228) 경북대
- //alert("3");
- //내환자 조회-간호일지용
- //debugger;
- if (!utlf_isNull(gcurrentpid)) {
- fGetSettingPatientList_type4(pFlag,flag); //--테스트완료 , XRW를 변경하면됨
- //alert("4");
- var posi = fgetSelectPidNext();
- //alert("5/"+ posi);
- fsetSelectPidNext(group5.switch1.rec.grp_sea.cmb_mypatlist,posi);
- frmf_inputEnterKey("group5.switch1.rec.grp_sea.cmb_mypatlist", "onitemchanged", new ItemChangeEventInfo );
- //alert("6");
- }
- }
- } else {
- if(eERFLAG == "Y"){
- fGetCareComPatList(group5.switch1.rec.grp_sea.cmb_wardcd.value, group5.switch1.rec.grp_sea.cmb_roomcd.value, group5.switch1.rec.grp_sea.cmb_zone.value, eRECFLAG); //ds_data_patientgruplist를 받아옴
- ds_data_patientgruplist.addColumn("orddrid", "string");
- fNextSelectErPat(group5.switch1.rec.grp_sea.cmb_erpat);
- frmf_inputEnterKey("group5.switch1.rec.grp_sea.cmb_erpat", "onitemchanged", new ItemChangeEventInfo );
- } else {
- if (!utlf_isNull(gcurrentpid)) {
- fGetSettingPatientList_type4(pFlag,flag); //--테스트완료 , XRW를 변경하면됨
- group5_switch1_rec_grp_sea_cmb_mypatlist_onitemchanged();
- }
- }
- }
- }
- }
- }
- function cf_TXMNW04810(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- // 인증데이터 만들기.
- function fMake_SignData(){
- if (ViewFunc == "sign"){
- //var xDeltGrupPath = Sign.XPATH_SIGNINFO + "/detlgruplist[" + SIGN_ROW + "]";
-
- var flag;
- var stage;
- var state;
- var amount;
- var underangle;
-
- ds_main_detlgrup_detlgruplisttemp.assign(ds_main_detlgrup_detlgruplist);
- ds_main_detlgrup_detlgruplisttemp.clearData();
- ds_main_detlgrup_detlgruplisttemp.addRow();
- ds_main_detlgrup_detlgruplisttemp.copyRow(0, ds_main_detlgrup_detlgruplist, SIGN_ROW);
-
- //구분
- flag = ds_main_detlgrup_detlgruplisttemp.getColumn(0, "flag");//model.getValue(xDeltGrupPath + "/flag");
- if( !utlf_isNull(flag) ) {
- ds_main_detlgrup_detlgruplisttemp.setColumn(0, "flag", group5.switch1.rec.grd_detlgrup.getCellText(SIGN_ROW, 6));//model.setValue(xDeltGrupPath + "/flag", grd_detlgrup.labelMatrix(SIGN_ROW, grd_detlgrup.colRef("flag")));
- }
-
- // ▶ 기록 관련 인스턴스 전체를 copy, 인증에 저장할 모든 Instance AddNode한다.
- // Sign.addnode("/root/cond", ds_cond.saveXML());
- // Sign.addnode("/root/main/detlgrup/detlgruplist", ds_main_detlgrup_detlgruplisttemp.saveXML());
- // Sign.addnode("/root/main/sriusgrup", ds_main_sriusgrup.saveXML());
- // Sign.addnode("/root/main/patinfo/patinfolist", ds_main_patinfo_patinfolist.saveXML());
-
- 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_main_detlgrup_detlgruplisttemp.saveXML();
- arrSignDs[2] = ds_main_sriusgrup.saveXML();
- arrSignDs[3] = ds_main_patinfo_patinfolist.saveXML();
-
- Sign.addnodeset(arrSignPath, arrSignDs);
-
- }else if (ViewFunc == "view"){
- // ▶ 기록 관련 인스턴스 전체를 copy, 인증에 저장할 모든 Instance AddNode한다.
-
- // Sign.addnode("/root/cond");
- // Sign.addnode("/root/viewinfo/viewdetlgrup");
- // Sign.addnode("/root/main/sriusgrup");
- // Sign.addnode("/root/main/patinfo/patinfolist");
-
- ds_viewinfo_viewdetlgrup_detlgruplisttemp.assign(ds_viewinfo_viewdetlgrup_detlgruplist);
-
- //var xViewDeltGrupPath = Sign.XPATH_SIGNINFO + "/viewdetlgrup";
-
-
- var flag;
-
- for( var i=0 ; i<ds_viewinfo_viewdetlgrup_detlgruplist.rowcount ; i++ ){
- flag = ds_viewinfo_viewdetlgrup_detlgruplist.getColumn(i, "flag");
-
- //구분
- //2017.07.17_초기평가 로직 수정(초기평가 없이 재평가 되도록 수정) 02코드 추가
- if( !utlf_isNull(flag) ){
- if(flag == "02"){
- ds_viewinfo_viewdetlgrup_detlgruplist.setColumn(i, "flag", "초기평가");
- }else if(flag == "00" || flag == "01"){
- ds_viewinfo_viewdetlgrup_detlgruplist.setColumn(i, "flag", "재평가");
- }else if(flag == "99"){
- ds_viewinfo_viewdetlgrup_detlgruplist.setColumn(i, "flag", "종료");
- }
- }
- }
-
- 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);
- }
- }
- function fMakeViewData(){
- var pid = ds_cond.getColumn(0, "pid");
- var indd = ds_data_patientgruplist.getColumn(ds_data_patientgruplist.findRow("pid", pid), "indd");
- var cretno = ds_data_patientgruplist.getColumn(ds_data_patientgruplist.findRow("pid", pid), "cretno");
- var orddeptcd = ds_data_patientgruplist.getColumn(ds_data_patientgruplist.findRow("pid", pid), "orddeptcd");
- var orddrid = ds_data_patientgruplist.getColumn(ds_data_patientgruplist.findRow("pid", pid), "orddrid");
- var signno = '';
-
-
- //조회조건값 세팅
- 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, "genrdd", ds_cond.getColumn(0, "genrdd")); //기준일자(발생일자)
- ds_send.setColumn(0, "genrtm", ds_cond.getColumn(0, "genrtm")); //기준시간(발생시간)
- ds_send.setColumn(0, "stdradio", '0'); //조회조건의라디오(전체/종료전(전체)/종료전(최근입력만))
- //통증관리 기록 조회
- var oParam = {};
- oParam.id = "TRMNW04808";
- oParam.service = "wardcareapp.WardPainCareMngt";
- oParam.method = "reqGetPainList";
- oParam.inds = "refCond=ds_send";
- oParam.outds = "ds_viewinfo_viewdetlgrup_detlgruplist=patinfolist";
- oParam.async = false;
- oParam.callback = "cf_TRMNW04808";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TRMNW04808") > -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", utlf_trim(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", "02"); // 서명자료구분(01 : 진료, 02 : 간호, 20 : 가정간호)
- ds_send_savedata.setColumn(0, "signgenrflag", "I"); // 외래/입원구분 (코드정의서 M0010 참조)
- ds_send_savedata.setColumn(0, "formcd", "0000001590"); // 각 기록지별 서식코드(0000001590 통증관리(상처)기록)
- 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");
-
-
- } else {
- return ;
- }
-
- dsf_createDsRow("ds_tempuserInfo", [{col: "uiUserId", val:sysf_getUserId() }]);
-
- var oParam = {};
- oParam.id = "TXMNW04713";
- oParam.service = "carerecapp.ClincObsRec";
- oParam.method = "reqExeSaveViewData";
- oParam.inds = "signinfo=ds_send_savedata tempUserInfo=ds_tempuserInfo";
- oParam.outds = "";
- oParam.async = false;
- oParam.callback = "cf_TXMNW04713";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TXMNW04713") > -1 ){
- var chkViewData = "";//model.getValue("/root/temp/SignData/SignInfo/viewdetlgrup/detlgruplist/obspartnm");
- if (utlf_isNull(chkViewData)){
-
- // if(submit("TXMNW04814")) {//TXMNW04813에서 뷰용데이타 모두 지우고 나서 최근기록일자로 insert함.
- // }
- } else {
-
- }
- }
-
- //model.removeNodeset("/root/viewinfo"); //**********************************
- //model.makeNode("/root/viewinfo"); //**********************************
- }
- }
- function cf_TRMNW04808(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- function cf_TXMNW04713(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /**
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- * @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)
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fDel(){
-
- //삭제할 항목이 선택되었는지 여부를 체크
- var delFlag = false;//체크박스 체크여부
- var sel = ''; //체크박스(true/false)
- var stat = ''; //그리드상태(i/u/d)
- var flag = ''; //등록구분 (등록/사정/종료)
- var fileCnt = 0; //첨부파일등록된 갯수
- var returnArr, isEnd, isAss;
- var checkStr; //체크값 (발생부위 + 발생일자 + 발생시간 + 원인)
- var isSvrDel = false;//db에 저장된 데이터 삭제시
-
- //20080930 retMsg추가
- var retMsg = sysf_messageBox('선택하신 통증기록을', 'Q001');
-
- //20080930 인증추가
- var pid = ds_main_detlgrup_detlgruplist.getColumn(0, "pid");
- var orddd = ds_main_detlgrup_detlgruplist.getColumn(0, "orddd");
- var cretno = ds_main_detlgrup_detlgruplist.getColumn(0, "cretno");
- var orddeptcd = ds_main_detlgrup_detlgruplist.getColumn(0, "orddeptcd");
- var orddrid = ds_main_detlgrup_detlgruplist.getColumn(0, "orddrid");
- var signno = '';//model.getValue("/root/main/endsummary/endsummaryrecord/signno");
-
- Sign.certreload = false ; // 전자서명 호출시 인증저장 버튼을 누늘때마다 인증서가 뜨도록 처리
-
- ds_send_savedata_signlist.clearData();
-
- for( var i=0 ; i<group5.switch1.rec.grd_detlgrup.rowcount ; i++ ){
- sel = ds_main_detlgrup_detlgruplist.getColumn(i, "sel");
- stat = ds_main_detlgrup_detlgruplist.getColumn(i, "stat");
- flag = ds_main_detlgrup_detlgruplist.getColumn(i, "flag");
- fileCnt = ds_main_detlgrup_detlgruplist.getColumn(i, "addfile");
-
- SIGN_ROW = (i); //20080930
-
- 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[13] + returnArr[14] + returnArr[9];
-
- //2017.07.17_초기평가 로직 수정(초기평가 없이 재평가 되도록 수정) flag : 00 -> 02
- if((flag == '00' || flag == '02') && isAss){
- //선택한 체크박스가 등록상태이고, 해당 발생부위에 사정기록이 존재할때
- //사정기록까지 삭제하겠냐는 메세지 호출해 확인 누르면 해당 그룹 모두 체크 취소누르면 선택 해제
- if(sysf_messageBox('선택하신 통증 부위 "'+returnArr[6]+'"의 초기 기록을 삭제하시면 모든 기록이 함께 삭제됩니다.', 'Q001') == 6){
- fCheckSamePart(checkStr);
- }
- }else{
- //상태값을 'd'로 변경
- ds_main_detlgrup_detlgruplist.setColumn(i, "stat", 'd');
- ds_main_detlgrup_detlgruplist.setColumn(i, "signno", utlf_trim(ds_main_detlgrup_detlgruplist.getColumn(i, "signno")));
-
- 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;
-
- SIGN_ROW = ds_send_savedata_signlist.addRow();
-
- //20080930 인증추가
- signno = utlf_trim(ds_main_detlgrup_detlgruplist.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", "02"); // 서명자료구분(01 : 진료, 02 : 간호, 20 : 가정간호)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signgenrflag", "I"); // 외래/입원구분 (코드정의서 M0010 참조)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "formcd", "0000001670"); // 각 기록지별 서식코드(0000001670 - 통증 간호기록)
- 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, "dispyn", "N");
-
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "screenid", frmf_getScreenID());
-
- } 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.switch1.rec.grd_detlgrup, "delete"));
- //model.makeValue("/root/send/savedata/pid", model.getValue("/root/cond/patientgrupInfo/patientgruplistInfo/pid"));
-
- dsf_createDsRow("ds_tempuserInfo", [{col: "uiUserId", val:sysf_getUserId() }]);
-
- var oParam = {};
- oParam.id = "TXMNW04810";
- oParam.service = "wardcareapp.WardPainCareMngt";
- oParam.method = "reqInsObsRec";
- oParam.inds = "detlgrup=ds_send_savedata_detlgrup:A signlist=ds_send_savedata_signlist tempUserInfo=ds_tempuserInfo";
- oParam.outds = "ds_main_detlgrup_detlgruplist=detlgruplist";
- oParam.async = false;
- oParam.callback = "cf_TXMNW04810";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TXMNW04810") > -1 ){
- ds_main_detlgrup_detlgruplist.addColumn("recrnm", "string");
- ds_main_detlgrup_detlgruplist.addColumn("causenm", "string");
- ds_main_detlgrup_detlgruplist.addColumn("orddd", "string");
-
- ds_main_detlgrup_detlgruplist.rowposition = -1;
-
- ds_hidden_main_detlgrup_detlgruplist.copyData(ds_main_detlgrup_detlgruplist);
- fMakeViewData();
- fSearch("NoChg");
- }
- }
- //선택한 발생부위에 해당되는 모든 그룹을 체크(true)로 변경
- function fCheckSamePart(checkStr){
- var _chkArr = checkStr.split('¿');
- var sRow = _chkArr[0];
- var chkStr = _chkArr[1];
- var _chkStr = '';
-
- var pid = ds_main_detlgrup_detlgruplist.getColumn(0, "pid");
- var orddd = ds_main_detlgrup_detlgruplist.getColumn(0, "orddd");
- var cretno = ds_main_detlgrup_detlgruplist.getColumn(0, "cretno");
- var orddeptcd = ds_main_detlgrup_detlgruplist.getColumn(0, "orddeptcd");
- var orddrid = ds_main_detlgrup_detlgruplist.getColumn(0, "orddrid");
- var signno = '';
-
- for( var i=sRow ; i<group5.switch1.rec.grd_detlgrup.rowcount ; i++ ){
- _chkStr = ds_main_detlgrup_detlgruplist.getColumn(i, "obspartnm");
- _chkStr += ds_main_detlgrup_detlgruplist.getColumn(i, "genrdd");
- _chkStr += ds_main_detlgrup_detlgruplist.getColumn(i, "genrtm");
- _chkStr += ds_main_detlgrup_detlgruplist.getColumn(i, "cause");
- if(chkStr == _chkStr){
- ds_main_detlgrup_detlgruplist.setColumn(i, "stat", 'd');
- ds_main_detlgrup_detlgruplist.setColumn(i, "sel", '1');
- ds_main_detlgrup_detlgruplist.setColumn(i, "signno", utlf_trim(ds_main_detlgrup_detlgruplist.getColumn(i, "signno")));
-
-
- 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;
-
- SIGN_ROW = ds_send_savedata_signlist.addRow();
-
- //--------------------------------------------------------------
- // model.setValue(xBedsoreGridPath + "[" + (i) + "]/stat", 'd');
- // grd_detlgrup.addStatus(i, 'delete');
- //20080930 인증추가
- signno = utlf_trim(ds_main_detlgrup_detlgruplist.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", "02"); // 서명자료구분(01 : 진료, 02 : 간호, 20 : 가정간호)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signgenrflag", "I"); // 외래/입원구분 (코드정의서 M0010 참조)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "formcd", "0000001670"); // 각 기록지별 서식코드(0000001670 - 통증 간호기록)
- 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, "dispyn", "N");
-
- } else {
- return ;
- }
- }
- //--------------------------------------------------------------
- }
- }
- //체크 해제하면 update상태를 select상태로 변경한다.
- function fChangeStatus(selRow){
- var isChk = ds_main_detlgrup_detlgruplist.getColumn(selRow, "sel");
- if(isChk != '1'){
- ds_main_detlgrup_detlgruplist.setColumn(selRow, "stat", '-');
-
- if( ds_main_detlgrup_detlgruplist.getRowType(selRow) == 4 ){ //update
- ds_main_detlgrup_detlgruplist.enableevent = false;
- ds_main_detlgrup_detlgruplist.updatecontrol = false;
-
- ds_main_detlgrup_detlgruplist.setRowType(selRow, 1); //normal
-
- ds_main_detlgrup_detlgruplist.updatecontrol = true;
- ds_main_detlgrup_detlgruplist.enableevent = true;
- }
- }
- }
- /**
- * @group :
- * @ver : 2007.09.27
- * : 2008.05.28 dhkim 수정
- * @by : 정찬성
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 발생부위추가
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fAddGenArea(){
- //통증발생부위 추가시 등록번호 필수
- if( utlf_isNull(ds_cond.getColumn(0, "pid")) ){
- sysf_messageBox("등록번호를 ","C001");
- group5.switch1.rec.grp_sea.ipt_pid.setFocus();
- return;
- }
- //발생부위 추가전에 그리드에 row가 없으면 조회후 추가
- if(group5.switch1.rec.grd_detlgrup.rowcount == 0){
- if( !fSearch("NoChg") || utlf_isNull(ds_cond.getColumn(0, "pid")) ){
- sysf_messageBox('등록번호를', 'C001');
- return;
- }
- }
- //var iRows = group5.switch1.rec.grd_detlgrup.rowcount;
- //var iRow = group5.switch1.rec.grd_detlgrup.currentrow;
- //ds_main_detlgrup_detlgruplist.rowcount;
- var iRows = ds_main_detlgrup_detlgruplist.rowcount;
- var iRow = ds_main_detlgrup_detlgruplist.rowposition;
- var nrow = ds_main_detlgrup_detlgruplist.addRow();
-
-
-
- /* grupcd 현재 화면의 최대값 가져오기 시작 */
- //기록 이력 조회 추가(구분 별 grupcd 체크)
- var oParam = {};
- oParam.id = "";
- oParam.service = "wardcareapp.WardPainCareMngt";
- oParam.method = "reqGetMaxRecGroupcd";
- oParam.inds = "req=ds_send";
- oParam.outds = "ds_maxrecgroupcd=maxrecgroupcd";
- oParam.async = false;
- oParam.callback = "cf_TXMNW04811";
- tranf_submit(oParam);
-
- if(ds_maxrecgroupcd.rowcount > 0){
- var ChkMaxGroupcd = ds_maxrecgroupcd.getColumn(0,"grupcd");
- if(utlf_isNull(ChkMaxGroupcd)){
- ChkMaxGroupcd ="00000001";
- ds_main_detlgrup_detlgruplist.setColumn(nrow,"grupcd",ChkMaxGroupcd);
- }else{
- var retVal = "";
- for( var i=0 ; i<iRows ; i++ ){
- if( ds_main_detlgrup_detlgruplist.getColumn(i, "grupcd") ){
- saveyn = 1 ;
- }
- //retVal = Math.max(retVal, ds_main_detlgrup_detlgruplist.getColumn(i, "grupcd"));
- retVal = Math.max(retVal,ds_main_detlgrup_detlgruplist.getColumn(i,"grupcd"));
-
- }
- retVal = retVal + 1 ;
-
- if(ChkMaxGroupcd <= retVal)
- {
- retVal = String(retVal) ;
- retVal = fLpad(retVal,8,0);// grupcd 8자리 나머지는 0 으로 매꿈
- ds_main_detlgrup_detlgruplist.setColumn(ds_main_detlgrup_detlgruplist.rowposition,"grupcd",retVal);
- }else{
- ChkMaxGroupcd = String(ChkMaxGroupcd) ;
- ChkMaxGroupcd = fLpad(ChkMaxGroupcd,8,0);// grupcd 8자리 나머지는 0 으로 매꿈
- ds_main_detlgrup_detlgruplist.setColumn(ds_main_detlgrup_detlgruplist.rowposition,"grupcd",ChkMaxGroupcd);
- }
-
- }
-
- }
-
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "stat", "i");
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "pid", ds_cond.getColumn(0, "pid"));
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "flag", "00");
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "recdd", utlf_getCurrentDate());
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "rectm", utlf_getCurrentDateTime().substring(9,13));
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "genrdd", utlf_getCurrentDate());
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "genrtm", utlf_getCurrentDateTime().substring(9,13));
-
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "obspartnm", "-");
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "direcnm", "-");
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "cause", "-");
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "symptomid", "-");
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "freq", "-");
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "freqid", "-");
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "term", "-");
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "pnt", "-");
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "pntid", "-");
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "resn", "-");
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "arbitration", "-");
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "valu", "-");
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "direcid", "-");
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "causeid", "-");
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "symptom", "-");
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "obspartid", "-");
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "tool", "-");
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "toolid", "-");
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "paingb", "-");
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "recrnm", sysf_getUserName());
- //통증점수상세컬럼 추가_20110414_SMY
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "pnt1", "-");
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "pnt2", "-");
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "pnt3", "-");
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "pnt4", "-");
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "pnt5", "-");
-
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "cnps1", "-");
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "cnps2", "-");
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "cnps3", "-");
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "cnps4", "-");
- //약물중재, 비약물중재컬럼 분리추가_20110414_SMY
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "drugarbt", "-");
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "nondrugarbt", "-");
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "nondrugarbtid", "-");
- }
- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- //++++++++++++++++++++++++++++++++++++++++ 저장 관련 펑션 모음 끝 +++++++++++++++++++++++++++++++++++++++++++++++//
- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- function cf_TXMNW04811(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /**
- * @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.02
- * : 2008.05.28 dhkim 수정
- * @by : 정찬성
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 욕창그리드의 xforms-value-changed이벤트 발생시 호출된다.
- * @param :
- * @return :
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fChangedGridCol(iCol){
- // var sDetlGrupRow = (grd_detlgrup.row-1);
-
- var sDetlGrupRow = (group5.switch1.rec.grd_detlgrup.currentrow);
- var sDetlGrupBKRow=0;
- var iRow = group5.switch1.rec.grd_detlgrup.currentrow;
- //var iCol = group5.switch1.rec.grd_detlgrup.currentcol;
- // var stat = model.getValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/stat");
- var stat = ds_main_detlgrup_detlgruplist.getColumn(iRow, "stat");
-
- //데이터 변경시 그리드 상태값(stat)을 u상태로 변경한다.
- //sdm
-
- if(stat == "-"){
- //그리드의 stat update를 위한 비교할 hidden nodelist의 idx찾기
- var obsrecseq = ds_main_detlgrup_detlgruplist.getColumn(sDetlGrupRow, "obsrecseq");
- for( var i=0 ; i<ds_hidden_main_detlgrup_detlgruplist.rowcount ; i++ ){
- if(ds_hidden_main_detlgrup_detlgruplist.getColumn(i, "obsrecseq") == obsrecseq){
- sDetlGrupBKRow = i;
- break;
- }
- }
-
- //체크박스 선택 아닐때 조회해서 hidden에 담아둔 nodelist와 변경된 그리드의 nodelist의 stat를 비교하여 수정상태로 바꿔준다.
- // if(iCol != 9){// 선택시 stat 값 변경 않기
-
- if(iCol != "sel") { //sel컬럼
- // var preUpdatedStr = instance1.selectSingleNode(xClsListBKPath+"["+sDetlGrupBKRow+"]").xml;
- // var updatedStr = instance1.selectSingleNode(xBedsoreGridPath+"["+sDetlGrupRow+"]").xml;
- //
- // if( updatedStr != preUpdatedStr ){
- if( dsf_compareDsRow(ds_main_detlgrup_detlgruplist, ds_hidden_main_detlgrup_detlgruplist, sDetlGrupRow, sDetlGrupBKRow) ){
-
- ds_main_detlgrup_detlgruplist.setColumn(group5.switch1.rec.grd_detlgrup.currentrow, "stat", "u");
- }
-
- //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.switch1.rec.grd_detlgrup.currentrow);
- var compareStr = returnArr[0];
- var compRow = returnArr[1];
- var isAss = returnArr[2];
- var isEnd = returnArr[3];
- //종료기록이 있으면 입력할수 없다는 메세지 출력후 리턴
- if(isEnd){
- sysf_messageBox('선택하신 부위는 이미 종료된 기록이 있으므로 다시 '+ msgStr +' 하실 수', 'I004');
- return;
- }
- //종료메뉴 선택시 사정기록이 없으면 메세지 출력후 리턴
- //trace("returnArr :" + returnArr);
- //trace("returnArr :" + selEndMenu);
- //trace("returnArr[0] :" + returnArr[0]);
- //trace("returnArr[1] :" + returnArr[1]);
- //trace("returnArr[2] :" + returnArr[2]);
- //trace("returnArr[3] :" + returnArr[3]);
- //trace("returnArr :" + isAss);
- if(selEndMenu && !isAss){
- sysf_messageBox('선택하신 부위는 평가기록이 없으므로 ' + msgStr + ' 하실 수', 'I004');
- return;
- }
-
- group5.switch1.rec.grp_sea.caption1.value="";
-
- //해당 발생부위 가장 하위의 그리드에 insertRow을 하기 위해 발생부위 가장 하위row index를 찾는다.
- var addLastRow = -1;
- var _compareStr;
- for( var i=compRow ; i<group5.switch1.rec.grd_detlgrup.rowcount ; i++ ){
- _compareStr = ds_main_detlgrup_detlgruplist.getColumn(i, "obspartnm"); //통증부위명
- _compareStr += ds_main_detlgrup_detlgruplist.getColumn(i, "direcnm"); //방향명
- _compareStr += ds_main_detlgrup_detlgruplist.getColumn(i, "cause"); //원인명
- if(compareStr != _compareStr){
-
- addLastRow = ( i<=0 ? group5.switch1.rec.grd_detlgrup.currentrow+1 : i );
- break;
- }
- }
- //발생부위가 초기평가/재평가만 있으면 해당 발생부위 하위에 재평가 추가
- //구분을 재평가으로, 해당부위의 발생일자,발생시간, 원인을 선택한 데이터와 동일하게 추가.
- if(addLastRow == -1 || addLastRow == group5.switch1.rec.grd_detlgrup.rowcount){
- addLastRow = group5.switch1.rec.grd_detlgrup.rowcount;
- ds_main_detlgrup_detlgruplist.addRow();
- }else{
- ds_main_detlgrup_detlgruplist.insertRow(addLastRow);
- }
- //그리드에 통증부위, 방향, 원인 set한다.
- fSetInsertValue(addLastRow, selEndMenu, returnArr);
- group5.switch1.rec.grd_detlgrup.setCellProperty("Body", 6, "edittype", "none");
- }
- /**
- * @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] direcnm string 방향명(set parameter) //genrdd 발생일자(set parameter)
- * returnArr[8] causenm string 원인명(set parameter) //genrtm 발생시간(set parameter)
- * -- returnArr[9] cause string 원인 (set parameter)
- * -- returnArr[10] causeid string 원인코드(set parameter)
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fIsExistEndData(selRow, updatePartChk){
- //발생부위에 대해 종료된 사정인 경우 메세지 출력
- var compareStr, _compareStr, _flag;//비교값 str
- var compareStrPre;
- var compRow = -1;
- var isAss ; //사정기록 존재여부
- var isEnd ; //종료기록 존재여부
- var returnArr = new Array(8);
- //선택한 발생부위 비교값
- // var pid = model.getValue(xBedsoreGridPath+ '[' + (selRow-1) + ']/pid');
- // var grupcd = model.getValue(xBedsoreGridPath+ '[' + (selRow-1) + ']/grupcd');
- // var obspartnm = model.getValue(xBedsoreGridPath+ '[' + (selRow-1) + ']/obspartnm');
- // var genrdd = model.getValue(xBedsoreGridPath+ '[' + (selRow-1) + ']/direcnm');
- // var genrtm = model.getValue(xBedsoreGridPath+ '[' + (selRow-1) + ']/cause');
-
- var pid = ds_main_detlgrup_detlgruplist.getColumn(selRow, "pid");
- var grupcd = ds_main_detlgrup_detlgruplist.getColumn(selRow, "grupcd");
- var obspartnm = ds_main_detlgrup_detlgruplist.getColumn(selRow, "obspartnm"); //통증부위
- var obspartid = ds_main_detlgrup_detlgruplist.getColumn(selRow, "obspartid"); //통증부위id
- var direcnm = ds_main_detlgrup_detlgruplist.getColumn(selRow, "direcnm"); // 방향
- var direcid = ds_main_detlgrup_detlgruplist.getColumn(selRow, "direcid"); //방향id
- var cause = ds_main_detlgrup_detlgruplist.getColumn(selRow, "cause"); //원인
- var causeid = ds_main_detlgrup_detlgruplist.getColumn(selRow, "causeid"); //원인id
- var genrdd = ds_main_detlgrup_detlgruplist.getColumn(selRow, "genrdd");
- var genrtm = ds_main_detlgrup_detlgruplist.getColumn(selRow, "genrtm");
- //----------------------------------------------------------------------------------------
-
- //통증관리부위선택시 평가종료되지 않은 부위인지 체크할때에는 발생부위, 구분만 가지고 체크함..
- if(updatePartChk){
- compareStr = obspartnm;
- }else{
- // compareStr = obspartnm + genrdd + genrtm + cause;
- //compareStr = obspartnm + direcnm + cause + grupcd;
- compareStr = obspartnm + direcnm + cause;
- compareStrPre = obspartnm + direcnm + cause + grupcd;
- }
- var obsrecseq = 0;
- //선택한 compareStr과 그리드내의 모든 _compareStr을 비교한다.
- for( var i=0 ; i<group5.switch1.rec.grd_detlgrup.rowcount ; i++ ){
- //if(selRow != i){ //2017.07.17_초기평가 로직 수정(초기평가 없이 재평가 되도록 수정)
- // _compareStr = model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/obspartnm');
- _compareStr = ds_main_detlgrup_detlgruplist.getColumn(i, "obspartnm");
- //통증부위선택시 평가종료되지 않은 부위인지 체크할때에는 발생부위, 구분만 가지고 체크함..
- if(!updatePartChk){
- _compareStr += ds_main_detlgrup_detlgruplist.getColumn(i, "direcnm");
- _compareStr += ds_main_detlgrup_detlgruplist.getColumn(i, "cause");
- _compareStr += ds_main_detlgrup_detlgruplist.getColumn(i,"grupcd");
- // _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/cause');
- }
- //}
- if(compareStrPre == _compareStr){
- compRow = i;
- _flag = ds_main_detlgrup_detlgruplist.getColumn(i, "flag");
- if(_flag == '99'){//등록구분이 종료(99)
- isEnd = true;
- obsrecseq = ds_main_detlgrup_detlgruplist.getColumn(i, "obsrecseq");
- break;
- }else if(_flag == '00' || _flag == '01'){//등록구분이 재평가(01)
- isAss = true;
- obsrecseq = ds_main_detlgrup_detlgruplist.getColumn(i, "obsrecseq");
- }else{
- isEnd = false;
- isAss = false;
- }
- }
- }
- //배열을 리턴한다.
- returnArr[0] = compareStr;
- returnArr[1] = compRow;
- returnArr[2] = isAss;
- returnArr[3] = isEnd;
- returnArr[4] = pid ;
- returnArr[5] = grupcd ;
- returnArr[6] = obspartnm ;
- returnArr[7] = direcnm ; //genrdd;
- returnArr[8] = direcid ; //genrdd;
- returnArr[9] = cause ; //genrtm;
- returnArr[10] = causeid ;
- returnArr[11] = obspartid ;
- returnArr[12] = obsrecseq ;
- returnArr[13] = genrdd ;
- returnArr[14] = genrtm ;
-
- return returnArr;
- }
- /**
- * @group :
- * @ver : 2008.05.28
- * @by : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param :
- * @return :
- * @desc : 구분을 사정으로, 해당부위의 발생일자,발생시간, 원인을 선택한 데이터와 동일하게 추가.
- * @----------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fSetInsertValue(addLastRow, selEndMenu, returnArr){
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "stat", 'i');
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "pid", returnArr[4]);
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "grupcd", returnArr[5]);
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "obspartnm", returnArr[6]);
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "direcnm", returnArr[7]);
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "direcid", returnArr[8]);
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "cause", returnArr[9]);
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "causeid", returnArr[10]);
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "obspartid", returnArr[11]);
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "obsrecseq", returnArr[12]);
-
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "genrdd", returnArr[13]);
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "genrtm", returnArr[14]);
-
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "recdd", utlf_getCurrentDate());
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "rectm", utlf_getCurrentDateTime().substring(9,13));
- //------------------------------------------------------------------------------------------
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "symptomid", '-'); //통증양상
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "symptom", '-');
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "freq", '-');
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "freqid", '-');
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "term", '-');
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "pnt", '-');
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "pntid", '-');
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "resn", '-');
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "arbitration", '-');
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "valu", '-');
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "tool", '-');
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "toolid", '-');
- //----------------------------------------------------------------------------------------
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "recrnm", sysf_getUserName());
-
- //약물중재, 비약물중재 컬럼추가_20110414_SMY
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "pnt1", '-');
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "pnt2", '-');
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "pnt3", '-');
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "pnt4", '-');
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "pnt5", '-');
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "cnps1", '-');
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "cnps2", '-');
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "cnps3", '-');
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "cnps4", '-');
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "drugarbt", '-');
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "nondrugarbt", '-');
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "nondrugarbtid", '-');
-
- if(!selEndMenu)
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "flag", '01');//사정
- else
- ds_main_detlgrup_detlgruplist.setColumn(addLastRow, "flag", '99');//종료
- }
- 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();
- }else{
- grd_detlgrup.insertRow(addLastRow);
- }
- 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 : 2011.03.16
- * @by : 안도영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 구역정보 조회 (응급실인 경우)
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetWardChngInfo(initFlag, wardCd, sectionCd){
- if(initFlag=="Y") {
- var sWardCD = wardCd;
- }
- else{
- var sWardCD = ds_cond.getColumn(0, "wardcd");
- }
-
- if ( sWardCD == eERDEPTCD) {
- eERFLAG = "Y";
- }else{
- eERFLAG = "";
- }
-
- //응급실인 경우 구역정보 추가조회
- if(eERFLAG == "Y"){ // 응급실
- fGetZoneList(); //ds_temp_zoneinfo_zonelist를 받아옴
- //copyNodeset("/root/temp2/zoneinfo", "/root/temp/zoneinfo");
- group5.switch1.rec.grp_sea.ctn_room.text = "구 역 :";
- group5.switch1.rec.grp_sea.cmb_roomcd.visible = false;
- group5.switch1.rec.grp_sea.cmb_erpat.visible = true;
- group5.switch1.rec.grp_sea.cmb_patientnm.visible = false;
- group5.switch1.rec.grp_sea.cmb_zone.visible = true;
- //cmb_mypatlist.visible = "false";
- //cap_mypatlist.visible = "false";
-
- // group5.switch1.rec.grp_sea.ipt_pid.position.left = 755; // 위치 변경
- // group5.switch1.rec.grp_sea.ipt_pid.position.top = 15;
- // group5.switch1.rec.grp_sea.btn_patSearch.position.left = 830; // 위치 변경
- // group5.switch1.rec.grp_sea.btn_patSearch.position.top = 16; // 위치 변경
- //group5.switch1.rec.grp_sea.cap_mypatlist.position.left = 645;
- // group5.switch1.rec.grp_sea.cap_mypatlist.position.top = 40;
- //group5.switch1.rec.grp_sea.cmb_mypatlist.position.left = 755;
- //group5.switch1.rec.grp_sea.cmb_mypatlist.position.top = 40;
- group5.switch1.rec.grp_sea.ipt_pid.position = "absolute 747 15 817 34";
- group5.switch1.rec.grp_sea.btn_patSearch.position = "absolute 825 17 841 33";
-
- group5.switch1.rec.grp_sea.cap_mypatlist.position = "absolute 645 41 745 58";
- group5.switch1.rec.grp_sea.cmb_mypatlist.position = "absolute 747 40 862 59";
-
- if(initFlag=="Y"){ // 처음 상단 정보로 화면 열릴 때
- ds_cond.setColumn(0, "zonecd", (utlf_isNull(sectionCd) ? "-" : sectionCd));
- }else{
- ds_cond.setColumn(0, "zonecd", "-"); // 'All'로 default
- }
-
-
- }else{
- group5.switch1.rec.grp_sea.ctn_room.text = "병 실 :";
- group5.switch1.rec.grp_sea.cmb_roomcd.visible = true;
- group5.switch1.rec.grp_sea.cmb_erpat.visible = false;
- group5.switch1.rec.grp_sea.cmb_patientnm.visible = true;
- group5.switch1.rec.grp_sea.cmb_zone.visible = false;
- //cmb_mypatlist.visible = "true";
- //cap_mypatlist.visible = "true";
- // group5.switch1.rec.grp_sea.ipt_pid.position.left = 669; // 기존 위치
- // group5.switch1.rec.grp_sea.ipt_pid.position.top = 15;
- // group5.switch1.rec.grp_sea.btn_patSearch.position.left = 747; // 기존 위치
- // group5.switch1.rec.grp_sea.btn_patSearch.position.top = 16;
- // group5.switch1.rec.grp_sea.cap_mypatlist.position.left = 780;
- // group5.switch1.rec.grp_sea.cap_mypatlist.position.top = 15;
- // group5.switch1.rec.grp_sea.cmb_mypatlist.position.left = 890;
- // group5.switch1.rec.grp_sea.cmb_mypatlist.position.top = 15;
-
- group5.switch1.rec.grp_sea.ipt_pid.position = "absolute 669 14 739 33";
- group5.switch1.rec.grp_sea.btn_patSearch.position = "absolute 747 16 763 32";
- group5.switch1.rec.grp_sea.cap_mypatlist.position = "absolute 780 15 880 32";
- group5.switch1.rec.grp_sea.cmb_mypatlist.position = "absolute 882 14 997 33";
-
- ds_cond.setColumn(0, "zonecd", "");
-
- }
- }
- /**
- * @group :
- * @ver : 2011.04.19
- * @by : SMY
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @desc : 약물중재 클릭시 처방리스트 팝업 호출
- * @type : function
- * @access : public
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fPopupPrcpData(iRow){
-
- // Main Data -> popup 으로
- //--------------------------------------------------------------
- // Update or Insert 확인 (Parameter= Upflag)
- //--------------------------------------------------------------
-
- frmf_setParameter("Upflag", ds_main_detlgrup_detlgruplist.getColumn(iRow, "lastupdtrid"));//기록자
- frmf_setParameter("Gubnflag", ds_main_detlgrup_detlgruplist.getColumn(iRow, "flag")); //구분
-
- frmf_clearParameter("SMMNW04800_PARAM");
-
- var param_recdd = ds_main_detlgrup_detlgruplist.getColumn(iRow, "recdd"); //사정일자
- frmf_setParameter("SPMNW13900_PARAM_RECDD", param_recdd);
- var param_pid = ds_main_detlgrup_detlgruplist.getColumn(iRow, "pid");
- frmf_setParameter("SPMNW13900_PARAM_PID", param_pid);
- var param_indd = appf_getPatientInfoDetail('indd');
- frmf_setParameter("SPMNW13900_PARAM_INDD", param_indd);
- var param_cretno = appf_getPatientInfoDetail('cretno');
- frmf_setParameter("SPMNW13900_PARAM_CRETNO", param_cretno);
- //var param_painprcpinfo = model.getValue("/root/main/painprcpinfo"); //통증처방기준자료
- // setParameter("SPMNW13900_PARAM_PAINPRCPINFO", param_painprcpinfo);
-
- // 통증관리기록순번 추가
- var param_obsrecseq = ds_main_detlgrup_detlgruplist.getColumn(iRow, "obsrecseq");
- frmf_setParameter("SPMNW13900_PARAM_OBSRECSEQ", param_obsrecseq);
- // 그룹코드 추가
- var param_grupcd = ds_main_detlgrup_detlgruplist.getColumn(iRow, "grupcd");
- frmf_setParameter("SPMNW13900_PARAM_GRUPCD", param_grupcd);
-
- //modal("SPMNW13900",1, event.screenX-200, event.screenY+50); //처방리스트호출
- //window.load("../xrw/SPMNW13900_통증관리처방기준자료팝업.xrw","modal", "SPMNW13900", "left: event.screenX-200; top:event.screenY+50; sysmenu:hidden;");
- frmf_modal("SPMNW13900","SPMNW13900","","","1","200","50","","","","","","M");
-
- var flg = frmf_getParameter("SMMNW04800_PARAM");
- if(flg == "Y") {
- var param_painprcpinfo = frmf_getParameter("SPMNW13900_PARAMPainPrcpInfo");
- //model.setValue("/root/main/painprcpinfo", param_painprcpinfo);
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "painprcpinfo", param_painprcpinfo);
- var param_painprcpnm = frmf_getParameter("SPMNW13900_PARAMPainPrcpNm");
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "drugarbt", param_painprcpnm);
-
- var upchk=frmf_getParameter("SPMNW13900_PARAUPFLAG");
- if ( !utlf_isNull(upchk) ) {
- ds_main_detlgrup_detlgruplist.setColumn(iRow, "stat", "u");
- }
- }
- group5.switch1.rec.grd_detlgrup.moveToNextCell();
- }
- function fSearch2(zoneflag){
- ds_cond.addColumn("settingpatient", "string");
- var pid = ds_cond.getColumn(0, "settingpatient");
-
- 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.switch1.rec.grp_sea.ipt_pid.setFocus();
- return false;
- }else{
- //가정간호에서 팝업을 띄운 외래 환자의 경우엔 skip한다.
- if(!HC_isHomeCare || (HC_isHomeCare && HC_ioflag == 'I')){
- //등록번호에 해당되는 병동, 병실정보를 조회한다.
- fGetPidWardInfo(pid, zoneflag);
- }
- }
-
- fSearchRecInfo(); //ds_main_detlgrup_detlgruplist를 받아옴
- //조회후 그리드의 발생부위, 발생일자를 머지
-
- //fMergeGenrAreaDD(); //그리드 suppress로 대체
- this.setTimer(0, 100); //20170328 내환자 조회 시 reload
- return true;
- }
- /* -----(20110228) 경북대 ------------------------ */
- // 현재 위치 인지하기
- function fgetSelectPid(sobj){
- //현재위치찾기
- //alert("sobj.value:" + sobj.value);
- if (!utlf_isNull(sobj.value)) {
- gcurrentpid = sobj.value;
- } else {
- gcurrentpid = "";
- }
- //alert("gcurrentpid:" + gcurrentpid);
- }
-
- // 이전 저장위치이전 다음으로 조회시키기
- function fgetSelectPidNext(){
- var tempPid = "";
- var sposition = 0;
-
- if ( !utlf_isNull(gcurrentpid) ) {
- for( var i=0 ; i<ds_temp_cond_settingpatient_settingpatientlist.rowcount ; i++ ) {
- tempPid = ds_temp_cond_settingpatient_settingpatientlist.getColumn(i, "pid");
- //alert(gcurrentpid + "/" + tempPid);
- //gcurrentpid 전역변수
- if (gcurrentpid == tempPid) {
- sposition = i;
-
- break;
- //i = getNodesetCount(gpidPath) + 1;
- }
- }
- }
- return sposition;
- }
-
- function fNextSelectErPat(sobj){
- var tempPid = "";
- var sPosition = 0;
- sysf_trace("gcurrentpid : " + gcurrentpid)
- if ( !utlf_isNull(gcurrentpid)) {
- for( var i=0 ; i<ds_data_patientgruplist.rowcount ; i++ ) {
- tempPid = ds_data_patientgruplist.getColumn(i, "pid");
- if (gcurrentpid == tempPid) {
- sPosition = i;
- break;
- }
- }
- }
-
- var nextyn = ds_cond.getColumn(0, "nextyn");
- if(nextyn == "Y") {
- if(sPosition == (ds_data_patientgruplist.rowcount - 1) ){
- sobj.index = 0; // 마지막 환자인 경우 처음 환자로 재 선택
- sobj.onitemchanged.fireEvent(sobj, new ItemChangeEventInfo); //'18.02.02_AYS_환자넘기기 기능 오류로 추가
- }else{
- sobj.index = sPosition + 1;
- sobj.onitemchanged.fireEvent(sobj, new ItemChangeEventInfo); //'18.02.02_AYS_환자넘기기 기능 오류로 추가
- //sobj.updateToDataset();
- //frmf_inputEnterKey("grp_sea.cmb_erpat", "onitemchanged", new ItemChangeEventInfo );
- }
- } else {
- //sobj.index = sPosition-1;
- sobj.index = sPosition;
- sobj.onitemchanged.fireEvent(sobj, new ItemChangeEventInfo); //'18.02.02_AYS_환자넘기기 기능 오류로 추가
- //sobj.updateToDataset();
- //frmf_inputEnterKey("grp_sea.cmb_erpat", "onitemchanged", new ItemChangeEventInfo );
- }
- }
- // 재설정하기
- function fsetSelectPidNext(sobj,sposition){
- // 중환자실 환자인 경우 저장 후 현재 환자 재선택 (2011.03.25 Ahn)
- var nextyn = ds_cond.getColumn(0, "nextyn");
- var sWardCD = ds_cond.getColumn(0, "wardcd");
-
- if(fIsICUPatient(sWardCD)){
- //sobj.index = parseInt(sposition)-1;
- //sobj.index = sposition + 1;
-
- sobj.index = sposition;//sobj.select(parseInt(sposition)-1);
- }else{
- if ( (ds_temp_cond_settingpatient_settingpatientlist.rowcount - 1) > sposition ) {
- if(nextyn == "Y") {
- sobj.index = sposition + 1;//sobj.select(sposition);
- } else {
- sobj.index = sposition;//sobj.select(parseInt(sposition)-1);
- }
- //alert("1");
- } else {
- //콤보믄 0부터시작
- //instance는 1부터시작
- sobj.index = 0;
- //alert("2");
- }
- }
- }
- /**
- * @author : dhkim
- * @create : 20080827
- * @desc : 해당환자가 중환자실 환자인가?
- * @return : boolean (true/false)
- */
- function fIsICUPatient(wardcd){
- var ret = false;//icu 환자인지 여부 디폴트
- /*
- for(var i = 0; i < icuArr.length ; i++){
- if(wardcd == icuArr[i]){
- ret = true;
- return true;
- }
- }
- */
- //중증도 기록에서 사용하는 부서코드 조회_20090414_SMY추가
- for( var i=0 ; i< ds_data_icucdgruplist.rowcount ; i++ ){
- if(wardcd == ds_data_icucdgruplist.getColumn(i, "wardcd")
- && ds_data_icucdgruplist.getColumn(i, "clsflag") == '4'){
- ret = true;
- return true;
- }
- }
- return ret;
- }
- /***********************************************************************************************************************************************************/
- /****************************************************** 기록에서 사용하는 펑션 종료 ************************************************************/
- /***********************************************************************************************************************************************************/]]></Script>
|