12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/*
- (SMMNW15200.xrw - JScript )
- - Version :
- 1) : Ver.1.00.01
- - Desc : 정맥염관찰기록 및 정맥염관찰기록 팝업이미지 에서 사용하는 스크립트
- */
- var xWardPatInfoPath = ds_main_wardpatinfo_wardpatlist; // 환자리스트 xPath
- var xBedsoreGridPath = ds_main_veininfo_veinlist; // 정맥염 리스트 xPath
- var xClsListBKPath = ds_hidden_main_veininfo_veinlist; // 그리드 hidden xPath
- var xPamInfoPath = '/root/main/paminfo'
- var xGrupcdmax = "";
- /////////////////조회관련 함수 시작////////////////////
- //통합기록조회
- var ViewFunc = "sign"; //sign : 기록인증용, view : view인증용
- //화면을 초기화한다. 화면로딩이 끝난 시점에 호출된다.
- function finit(pFlag){
-
- var instcd = sysf_getUserInfo("dutplceinstcd");
- var standard_yn = "orduseyn";
- var ord_deptflag = 'W';
- var rslt_ref = "ds_init_dept_dept";
- var sort_field = "depthngnm";
- var sort_method = "asc";
- var dt = utlf_getCurrentDate();
-
- ds_main_cond.setColumn(0, "indsch", "1");
-
- ds_main_paminfo_list.clearData();
-
- var paminfo = sysf_getGlobalVariable("paminfo");
- var pid = "";
- var wardcd = "";
- var indschacptstat = "";
- if( paminfo.length > 0 ){
- dsf_setCSVToDs("ds_main_paminfo_list", paminfo); //환자정보내리기
- pid = ds_main_paminfo_list.getColumn(0, "pid");
- wardcd = ds_main_paminfo_list.getColumn(0, "wardcd");
- indschacptstat = ds_main_paminfo_list.getColumn(0, "indschacptstat");
- }
-
- if( utlf_isNull(ds_main_paminfo_list.getColumnInfo("ordtype")) ){
- ds_main_paminfo_list.addColumn("ordtype", "string");
- }
-
- var oParam = {};
- oParam.id = "TRMNW11001";
- oParam.service = "wardorderapp.NursPrcpMngt";
- oParam.method = "reqGetDeptListInfo";
- //oParam.inds = "req=ds_";
- oParam.outds = "ds_tmp_deptinfo_deptlist=deptlist";
- oParam.async = false;
- //oParam.callback = "cf_TRMNW11001";
- tranf_submit(oParam); //발생장소(원내) 부서 코드 조회
-
- fGetNursHardCdInfo("'002'", dt); // '002' 응급의료센터 여부 조회 //ds_codelist
- appf_getDeptCodeList(instcd, standard_yn, ord_deptflag, sort_field, sort_method, dt, "", "", rslt_ref);
- ds_main_cond.setColumn(0, "wardcd", sysf_getUserInfo("dutplcecd"));
- ds_main_cond.setColumn(0, "genrdd", dt);
-
- if( !utlf_isNull(wardcd) ){
- ds_main_cond.setColumn(0, "wardcd", wardcd);
- }else{
- ds_main_cond.setColumn(0, "wardcd", sysf_getUserInfo("dutplcecd"));
- }
-
- ds_send_reqdata.copyRow(0, ds_main_cond, 0);
-
- var oParam = {};
- oParam.id = "TRMNW15206";
- oParam.service = "wardcareapp.WardCareRec";
- oParam.method = "reqGetVeinBaseDataComboList";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_hidden_codelist_getVOStage=getVOStage";
- oParam.async = false;
- //oParam.callback = "cf_TRMNW15206";
- tranf_submit(oParam); //단계콤보 조회
-
- if( pFlag != "saveflag" ){
- fGetZoneList(); //CareCom.js 응급실구역정보조회
- fnZoneDisp();
- fSettingnurid();
- }
- fSetInDsch(indschacptstat);
-
- if( utlf_isNull(indschacptstat) || indschacptstat == "A" ){
- fGetWardPatList();
- }else{
- fGetPidWardInfo(pid);
- }
-
- if( !utlf_isNull(pid) ){
-
- if( ds_main_paminfo_list.getColumn(0, "ioflag") != "E" && ds_main_paminfo_list.getColumn(0, "careinrmdd") == "-" ){
- sysf_messageBox("아직 입실확인하지 않은 환자입니다.", "I");
- //return;
- }
- ds_main_wardpatinfo_wardpatlist.rowposition = ds_main_wardpatinfo_wardpatlist.findRow("pid", pid);
-
- //선택환자정보조회
- fSearch();
- }
- }
- // 내환자 셋팅정보 조회
- function fSettingnurid(){
-
- ds_send_reqdata.setColumn(0, "wardcd", ds_main_cond.getColumn(0, "wardcd"));
-
- var oParam = {};
- oParam.id = "TRMNW10910";
- oParam.service = "wardcareapp.WardCareMngt";
- oParam.method = "reqGetSettingRnList";
- oParam.inds = "req=ds_send_reqdata";
- oParam.outds = "ds_init_settinginfo_settingrn=settingrn";
- oParam.async = false;
- oParam.callback = "cf_TRMNW10910";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TRMNW10910") > -1 ){
- //settingnurid = model.getValue("/root/init/settinginfo/settingrn[settingrnid='" + getUserInfo("userid") +"']/settingrnid");
-
- ds_main_cond.setColumn(0, "settingrnid", "");
- group5.grp_sea.cmb_settingrn.index = 0;
- }
- }
- function cf_TRMNW10910(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
-
- if( ds_init_settinginfo_settingrn.rowcount > 0 && ds_init_settinginfo_settingrn.getColumn(0, "settingrnnm") == "-" ){
- ds_init_settinginfo_settingrn.setColumn(0, "settingrnid", "");
- }
- }
- // 응급실 구역 보여주기
- function fnZoneDisp() {
-
- //응급의료센터(2280200000)인 경우
- //내환자정보대신에 구역정보가 보임)
- if( !utlf_isNull(ds_codelist.lookupExpr("cdgrupid=='002' && cdid=='"+group5.grp_sea.cmb_ward.value+"'", "cdid")) ){
- //cap_settingrn.visible = false;
- //cmb_settingrn.visible = false;
- group5.cap_Zone.visible = true;
- group5.cmb_Zone.visible = true;
-
- group5.grp_sea.cap_settingrn.position.left = 345;
- group5.grp_sea.cap_settingrn.position.top = 10;
- group5.grp_sea.cmb_settingrn.position.left = 410;
- group5.grp_sea.cmb_settingrn.position.top = 10;
-
- group5.grp_sea.caption17.position.left = 505;
- group5.grp_sea.caption17.position.top = 10;
- group5.grp_sea.ipt_genrdd.position.left = 585;
- group5.grp_sea.ipt_genrdd.position.top = 10;
-
-
- var zonecd = ds_main_paminfo_list.getColumn(0, "sectioncd");
- if( !utlf_isNull(zonecd) && zonecd != "-" ){
- group5.cmb_Zone.value = ds_main_paminfo_list.getColumn(0, "sectioncd");
- } else {
- group5.cmb_Zone.value = "-";
- }
- } else {
- //cap_settingrn.visible = true;
- //cmb_settingrn.visible = true;
- group5.cap_Zone.visible = false;
- group5.cmb_Zone.visible = false;
- group5.cmb_Zone.value = "-";
-
- group5.grp_sea.cap_settingrn.position.left = 205;
- group5.grp_sea.cap_settingrn.position.top = 10;
- group5.grp_sea.cmb_settingrn.position.left = 270;
- group5.grp_sea.cmb_settingrn.position.top = 10;
-
- group5.grp_sea.caption17.position.left = 365;
- group5.grp_sea.caption17.position.top = 10;
- group5.grp_sea.ipt_genrdd.position.left = 445;
- group5.grp_sea.ipt_genrdd.position.top = 10;
- }
- }
- // 환자 리스트 조회
- function fGetWardPatList(){
- ds_main_cond.setColumn(0, "pid", "");
- ds_main_veininfo_veinlist.clearData();
- ds_send_reqdata.copyRow(0, ds_main_cond, 0);
-
- if( ds_main_cond.getColumn(0, "wardcd") == ds_codelist.getColumn(0, "cdid") ){
- ds_send_reqdata.setColumn(0, "emcflag", "Y");
- }
-
- var oParam = {};
- oParam.id = "TRMNW15202";
- oParam.service = "wardcareapp.WardCareRec";
- oParam.method = "reqGetVeinWardPatInfo";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_main_wardpatinfo_wardpatlist=wardpatlist";
- oParam.async = false;
- oParam.callback = "cf_TRMNW15202";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TRMNW15202") > -1 ){
- var sExprColor = "EXPR(";
- var sExprFont = "EXPR(";//굴림,9,bold
-
- for( var i=0 ; i<xWardPatInfoPath.rowcount ; i++ ){
- var pVeifCnte = xWardPatInfoPath.getColumn(i, "veifcnt");
-
- if( pVeifCnte > 0 ){
- sExprColor += "currow == "+i+" ? '#0000ff' : ";
- sExprFont += "currow == "+i+" ? '굴림,9,bold' : ";
- }
- }
-
- sExprColor += "'#000000')";
- sExprFont += "'')";
-
- for( var i=0 ; i<group5.grd_wardpatlist.getCellCount("Body") ; i++ ){
- group5.grd_wardpatlist.setCellProperty("Body", i, "color", sExprColor);
- group5.grd_wardpatlist.setCellProperty("Body", i, "color2", sExprColor);
- group5.grd_wardpatlist.setCellProperty("Body", i, "font", sExprFont);
- }
- }
- }
- function cf_TRMNW15202(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
-
- ds_main_wardpatinfo_wardpatlist.updateColID("medispclid", "orddrid");
-
- ds_main_wardpatinfo_wardpatlist.rowposition = -1;
- }
- // 조회버튼 클릭시
- function fSearch(){
-
- var condparam = "";
-
- if( ds_main_cond.getColumn(0, "indsch") == "1" ){
- // 상단정보 올림
- condparam = ds_main_wardpatinfo_wardpatlist.getColumn(ds_main_wardpatinfo_wardpatlist.rowposition, "ordtype")
- + "▦" + ds_main_wardpatinfo_wardpatlist.getColumn(ds_main_wardpatinfo_wardpatlist.rowposition, "pid")
- + "▦" + ds_main_wardpatinfo_wardpatlist.getColumn(ds_main_wardpatinfo_wardpatlist.rowposition, "indd")
- + "▦" + ds_main_wardpatinfo_wardpatlist.getColumn(ds_main_wardpatinfo_wardpatlist.rowposition, "cretno")
- + "▦" + ds_main_wardpatinfo_wardpatlist.getColumn(ds_main_wardpatinfo_wardpatlist.rowposition, "instcd")
- + "▦" + "";//model.getValue("/root/cond/genrdd");
-
- // setParameter("condparam", condparam);
- // modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
-
- appf_initPatientInfo(condparam);
-
- }
- ds_main_paminfo_list.clearData();
-
- var paminfo = sysf_getGlobalVariable("paminfo");
-
- if( paminfo.length > 0 ){
- dsf_setCSVToDs("ds_main_paminfo_list", paminfo); //환자정보내리기
- }
-
- if( utlf_isNull(ds_main_paminfo_list.getColumnInfo("ordtype")) ){
- ds_main_paminfo_list.addColumn("ordtype", "string");
- }
-
- // 정맥염관찰기록 리스트 조회
- fSearchRecInfo();
- return true;
- }
- // 정맥염관찰기록 리스트 조회
- function fSearchRecInfo() {
-
- ds_main_veininfo_veinlist.clearData();
- ds_main_cond.setColumn(0, "pid", ds_main_paminfo_list.getColumn(0, "pid"));
- ds_send_reqdata.setColumn(0, "pid", ds_main_paminfo_list.getColumn(0, "pid"));
- ds_send_reqdata.setColumn(0, "indd", ds_main_paminfo_list.getColumn(0, "indd"));
- ds_send_reqdata.setColumn(0, "cretno", ds_main_paminfo_list.getColumn(0, "cretno"));
- ds_send_reqdata.setColumn(0, "genrdd", ds_main_cond.getColumn(0, "genrdd"));
- ds_send_reqdata.setColumn(0, "stdradio", ds_main_cond.getColumn(0, "stdradio"));
-
- var oParam = {};
- oParam.id = "TRMNW15203";
- oParam.service = "wardcareapp.WardCareRec";
- oParam.method = "reqGetVeinList";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_main_veininfo_veinlist=veinlist";
- oParam.async = false;
- oParam.callback = "cf_TRMNW15203";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TRMNW15203") > -1 ){
- ds_hidden_main_veininfo_veinlist.copyData(ds_main_veininfo_veinlist);
-
- var pGrd = group5.grd_veinlist;
- var pGrdCnt = ds_main_veininfo_veinlist.rowcount;
-
- if (pGrdCnt <= 0 ) return;
-
- var pGrupcd = "";
- var pGenrdd = "";
- var pGenrtm = "";
- var pGenrplce = "";
- var pCause = "";
-
- var pGrupcdnext = "";
- var pGenrddnext = "";
- var pGenrtmnext = "";
- var pGenrplcenext = "";
- var pCausenext = "";
-
- var sExprLine = "EXPR(";
-
- for( var t=0 ; t<pGrd.rowcount ; t++ ){
-
- xGrupcdmax = ds_main_veininfo_veinlist.getColumn(t, "grupcdmax");
-
- pGrupcd = ds_main_veininfo_veinlist.getColumn(t, "grupcd");
- pGenrdd = ds_main_veininfo_veinlist.getColumn(t, "genrdd");
- pGenrtm = ds_main_veininfo_veinlist.getColumn(t, "genrtm");
- pGenrplce = ds_main_veininfo_veinlist.getColumn(t, "genrplce");
- pCause = ds_main_veininfo_veinlist.getColumn(t, "cause");
-
- pGrupcdnext = ds_main_veininfo_veinlist.getColumn(t+1, "grupcd");
- pGenrddnext = ds_main_veininfo_veinlist.getColumn(t+1, "genrdd");
- pGenrtmnext = ds_main_veininfo_veinlist.getColumn(t+1, "genrtm");
- pGenrplcenext = ds_main_veininfo_veinlist.getColumn(t+1, "genrplce");
- pCausenext = ds_main_veininfo_veinlist.getColumn(t+1, "cause");
-
-
- if ((pGrupcd == pGrupcdnext) && (pGenrdd == pGenrddnext) && (pGenrtm == pGenrtmnext) && (pGenrplce == pGenrplcenext) && (pCause == pCausenext)) {
- sExprLine += "currow == "+t+" ? '1 solid #c0c0c0ff,1 solid #808080ff' : ";
- } else {
- sExprLine += "currow == "+t+" ? '1 solid #ff0000ff,1 solid #808080ff' : ";
- }
- }
-
- sExprLine += "'')";
-
- for( var i=0 ; i<group5.grd_veinlist.getCellCount("Body") ; i++ ){
- group5.grd_veinlist.setCellProperty("Body", i, "line", sExprLine);
- }
- }
- }
- function cf_TRMNW15203(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
-
- ds_main_veininfo_veinlist.enableevent = false;
- ds_main_veininfo_veinlist.updatecontrol = false;
-
- for( var i=0 ; i<ds_main_veininfo_veinlist.rowcount ; i++ ){
- if( ds_main_veininfo_veinlist.getColumn(i, "sel") == "true" ){
- ds_main_veininfo_veinlist.setColumn(i, "sel", "1");
- }else{
- ds_main_veininfo_veinlist.setColumn(i, "sel", "0");
- }
- }
-
- ds_main_veininfo_veinlist.updatecontrol = true;
- ds_main_veininfo_veinlist.enableevent = true;
-
- ds_main_veininfo_veinlist.rowposition = -1;
- }
- // 조회후 정맥염발생부위, 발생일자가 같으면 Merge한다.
- function fMergeGenrAreaDD(){
- grd_veinlist.mergeCol(grd_veinlist.colRef("veifpartnm")) = false;
- grd_veinlist.mergeCol(grd_veinlist.colRef("genrdd")) = true;
- grd_veinlist.mergeCol(grd_veinlist.colRef("genrtm")) = true;
- grd_veinlist.mergeCol(grd_veinlist.colRef("genrplce")) = true;
- grd_veinlist.mergeCol(grd_veinlist.colRef("genrplcewardcd")) = false;
- grd_veinlist.mergeCol(grd_veinlist.colRef("cause")) = true;
- grd_veinlist.mergeCol(grd_veinlist.colRef("flag")) = true;
- grd_veinlist.mergeCol(grd_veinlist.colRef("sel")) = false;
- grd_veinlist.mergeCol(grd_veinlist.colRef("recdd")) = false;
- grd_veinlist.mergeCol(grd_veinlist.colRef("rectm")) = false;
- grd_veinlist.mergeCol(grd_veinlist.colRef("stage")) = false;
- grd_veinlist.mergeCol(grd_veinlist.colRef("recrnm")) = false;
- grd_veinlist.mergeCol(grd_veinlist.colRef("recrid")) = false;
- grd_veinlist.mergeCol(grd_veinlist.colRef("genrplceid")) = false;
- grd_veinlist.mergeCol(grd_veinlist.colRef("causeid")) = false;
- grd_veinlist.mergeCol(grd_veinlist.colRef("pid")) = false;
- grd_veinlist.mergeCol(grd_veinlist.colRef("grupcd")) = false;
- grd_veinlist.mergeCol(grd_veinlist.colRef("instcd")) = false;
- grd_veinlist.mergeCol(grd_veinlist.colRef("stageid")) = false;
- grd_veinlist.mergeCol(grd_veinlist.colRef("veifrecseq")) = false;
- grd_veinlist.mergeCol(grd_veinlist.colRef("intervention")) = false;
- }
- /////////////////조회관련 함수 종료////////////////////
- /////////////////팝업오픈 관련 함수 시작///////////////
- // 정맥염발생부위 팝업호출
- function fPopupBedSoreImg(iRow){
- var iCol = group5.grd_veinlist.currentcol;
- var veifrecseq = xBedsoreGridPath.getColumn(iRow, "veifrecseq");
- //팝업창에 부위 값이 있으면 기존값 셋팅
- //이미저장되어있으면 수정하지 못하도록 확인버튼을 막아주는 flag를 set한다.
- if( !utlf_isNull(group5.grd_veinlist.getCellText(iRow, 2)) ){
- frmf_setParameter("partall", group5.grd_veinlist.getCellText(iRow,3));
- if( veifrecseq > 0 ){
- frmf_setParameter('editable', 'f');
- }
- }else{
- frmf_setParameter('editable', 't');
- }
- var flag = xBedsoreGridPath.getColumn(iRow, "flag"); //구분
- var genrdd = xBedsoreGridPath.getColumn(iRow, "genrdd"); //발생일자
- var stat = xBedsoreGridPath.getColumn(iRow, "stat");
-
- //정맥염기준자료 (발생장소, 원인, 단계)저장되어 있던 그리드의 값을 팝업에 세팅
- fSetPopupData(iRow, "genrplce");// (발생장소)
- fSetPopupData(iRow, "cause"); // (원인)
- fSetPopupData(iRow, "stage"); // (단계)
- fSetPopupData(iRow, "intervention"); // (중재)
-
- frmf_setParameter("flag", flag);
- frmf_setParameter("genrdd", genrdd);
- frmf_setParameter("stat", stat);
-
-
- // 환자 기록부분 선택 팝업
- frmf_modal("SPMNW15400","SPMNW15400","", 1, 0, 0, "", "", "", "", "", "", "M"); //이미지호출
- //팝업에서 아무것도 선택하지 않고 close를 눌렀을때..
- if( frmf_getParameter("returnnull") == "close" ){
- return ;
- } else {
- //정맥염발생부위 값을 grid에 set
- var retStr = frmf_getParameter('retStr');
- xBedsoreGridPath.setColumn(iRow, "veifpartnm", retStr);
- //그리드 상태값 변경
- var stat = xBedsoreGridPath.getColumn(group5.grd_veinlist.currentrow, "stat");
- if( stat != "i" ){
- xBedsoreGridPath.setColumn(group5.grd_veinlist.currentrow, "stat", "u")
- }
-
- //팝업에서 가져온 return parameter를 그리드에 세팅
- var retClosParam = frmf_getParameter("returnnull");
-
- fGetPopupData(iRow, "genrplce", retClosParam); //발생장소
- fGetPopupData(iRow, "cause", retClosParam); //원인
- fGetPopupData(iRow, "stage", retClosParam); //단계
- fGetPopupData(iRow, "intervention", retClosParam); //중재
-
- //parameters clear
- //model.removenode(getParameterPath());
-
- var genrplceid = xBedsoreGridPath.getColumn(iRow, "genrplceid");
-
- if( genrplceid == "1" ){
- if( utlf_isNull(xBedsoreGridPath.getColumn(iRow, "genrplcewardcd")) ){
- xBedsoreGridPath.setColumn(iRow, "genrplcewardcd", sysf_getUserInfo("dutplcecd"));
- }
- }else{
- xBedsoreGridPath.setColumn(iRow, "genrplcewardcd","");
- }
- /*
- else {
- //정맥염발생부위의 추가시 해당 부위에 대해
- //동일한 발생부위+발생일자+발생시간+원인의 '종료'가 없으면
- //그 부위를 추가할수 없도록 메세지 리턴
- if(grd_veinlist.rows > 3){
- var returnArr = fIsExistEndData(grd_veinlist.row, true);
- if(returnArr[3] != null && !returnArr[3]){
- messageBox('선택하신 발생부위는 이미 등록되어 있으며, 종료된 사정이 아니므로 재등록 하실 수 ', 'I004');
- model.setValue(xBedsoreGridPath + '[' + iRow + ']/veifpartnm', '');
- model.refresh();
- return ;
- }
- }
- }
- */
- }
- }
- // 정맥염기준자료 팝업 호출
- function fPopupBedSoreData(iRow){
- var curCol = group5.grd_veinlist.currentcol;
- var iRow = xBedsoreGridPath.rowposition;
-
- var flag = xBedsoreGridPath.getColumn(iRow, "flag"); //구분
- var genrdd = xBedsoreGridPath.getColumn(iRow, "genrdd"); //발생일자
- var stat = xBedsoreGridPath.getColumn(iRow, "stat");
-
- //정맥염기준자료 (발생장소, 원인, 단계)저장되어 있던 그리드의 값을 팝업에 세팅
- fSetPopupData(iRow, "genrplce");// (발생장소)
- fSetPopupData(iRow, "cause"); // (원인)
- fSetPopupData(iRow, "stage"); // (단계)
- fSetPopupData(iRow, "intervention"); // (중재)
- frmf_setParameter("flag", flag);
- frmf_setParameter("genrdd", genrdd);
- frmf_setParameter("stat", stat);
-
- frmf_modal("SPMNW15300","SPMNW15300","", 1, 0, 0, "", "", "", "", "", "", "M"); //기준자료호출
-
- //팝업에서 가져온 return parameter를 그리드에 세팅
- var retClosParam = frmf_getParameter("returnnull");
-
- fGetPopupData(iRow, "genrplce", retClosParam); //발생장소
- fGetPopupData(iRow, "cause", retClosParam); //원인
- fGetPopupData(iRow, "stage", retClosParam); //단계
- fGetPopupData(iRow, "intervention", retClosParam); //중재
-
- //parameters clear
- //model.removenode(getParameterPath());
-
- var genrplceid = xBedsoreGridPath.getColumn(iRow, "genrplceid");
-
- if( genrplceid == "1" ){
- if( utlf_isNull(xBedsoreGridPath.getColumn(iRow, "genrplcewardcd")) ){
- xBedsoreGridPath.setColumn(iRow, "genrplcewardcd", sysf_getUserInfo("dutplcecd"));
- }
- }else{
- xBedsoreGridPath.setColumn(iRow, "genrplcewardcd", "");
- }
- }
- /////////////////팝업오픈 관련 함수 종료///////////////
- /////////////////팝업데이터 세팅 함수 시작/////////////
- // 정맥염기준자료저장되어 있던 그리드의 값을 팝업에 세팅
- function fSetPopupData(iRow, str) {
-
- var cd;
- var nm = '';
- cd = xBedsoreGridPath.getColumn(iRow, str+'id');//기존저장되어있던 코드값
- nm = utlf_transNullToEmpty(xBedsoreGridPath.getColumn(iRow, str));//기존저장되어있던 명칭값
- if( !utlf_isNull(cd) ){
- frmf_setParameter(str + "cdnm", "");
- frmf_setParameter(str + "cd", "");
- frmf_setParameter(str + "cdid", cd);
- //기타가 선택되어진 상태일때 freetext를 파라메터로 set한다.
- if( nm.indexOf('기타') > -1 ){
- var etcStr = nm.split(')')[0].split('(')[1];
- frmf_setParameter(str + 'EtcExist', true);
- frmf_setParameter(str + 'EtcStr', etcStr);
- }
- }
- else
- {
- frmf_setParameter(str + "cdid", "");
- }
- }
- // 팝업의 선택결과를 그리드에 세팅
- function fGetPopupData(iRow, str, retClosParam) {
- var retCDParam = '';
- var retNMParam = '';
-
- var oldCDParam
-
- if(retClosParam != "close"){
- if( xBedsoreGridPath.getColumn(iRow, "stat") != "i" ){
- xBedsoreGridPath.setColumn(iRow, "stat","u");
- }
- retNMParam = frmf_getParameter(str + "cdnm");
- retCDParam = frmf_getParameter(str +"cd");
- } else {
- return ;
- }
-
- xBedsoreGridPath.setColumn(iRow, str, retNMParam);
- xBedsoreGridPath.setColumn(iRow, str+'id', retCDParam);
-
- frmf_clearParameter(str + "cdnm");
- frmf_clearParameter(str + "cd");
- frmf_clearParameter(str + "cdid");
- frmf_clearParameter(str + "Str");
- frmf_clearParameter(str + "etcExist");
- frmf_clearParameter(str + "etcStr");
- }
- /////////////////팝업데이터 세팅 함수 종료/////////////
- /////////////////데이터 저장/삭제 함수 시작////////////
- // 정맥염관찰기록 저장하기전에 유효성을 체크한다.
- function fIsValid(){
- //그리드 저장데이터 존재여부 체크(default rows = 2)
- if( group5.grd_veinlist.rowcount < 1 ){
- sysf_messageBox("저장할 내역이","I004");
- return false;
- }
- var sflag = '';
- var cnts = 0;
-
- for( var i=0 ; i<group5.grd_veinlist.rowcount ; i++ ){
- if( ds_main_veininfo_veinlist.getRowType(i) != 1 ){
- cnts ++;
- }
- }
-
- if ( cnts < 1 ) {
- sysf_messageBox("신규등록/수정사항이","I004");
- return false;
- }
- for( var i=0 ; i<group5.grd_veinlist.rowcount ; i++ ){
- //정맥염발생부위 입력여부 체크
- if( utlf_isNull(xBedsoreGridPath.getColumn(i, "veifpartnm"))
- || utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "veifpartnm")).length <= 0 ) {
- sysf_messageBox("정맥염발생부위는","I003");
- return false;
- }
-
- //정맥염발생장소 입력여부 체크
- if( utlf_isNull(xBedsoreGridPath.getColumn(i, "genrplce"))
- || utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "genrplce")).length <= 0 ) {
- sysf_messageBox("정맥염발생장소는","I003");
- return false;
- //정맥염발생장소가 원내인경우 발생장소(원내) 입력여부 체크
- }else if( xBedsoreGridPath.getColumn(i, "genrplceid") == "1" && utlf_isNull(xBedsoreGridPath.getColumn(i, "genrplcewardcd")) ){
- sysf_messageBox("정맥염발생장소가 원내인 항목은 발생장소(원내)를 입력하십시오.","I");
- return false;
- }
-
- //정맥염발생원인 입력여부 체크
- if( utlf_isNull(xBedsoreGridPath.getColumn(i, "cause"))
- || utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "cause")).length <= 0 ) {
- sysf_messageBox("정맥염발생원인은","I003");
- return false;
- }
-
- //정맥염발생단계 입력여부 체크
- if( utlf_isNull(xBedsoreGridPath.getColumn(i, "stage"))
- || utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "stage")).length <= 0 ) {
- sysf_messageBox("정맥염발생단계는","I003");
- return false;
- }
- }
- return true;
- }
- var SIGN_ROW = -1;//for돌때 해당 그리드만 인증데이터로 만들어주기 위해 global variable로 선언
- //인증저장
- function fSignSave(){
- if( fIsValid() ){
- var pid = utlf_transNullToEmpty(ds_main_cond.getColumn(0, "pid"));
- var indd = utlf_transNullToEmpty(ds_main_paminfo_list.getColumn(0, "indd"));
- var cretno = utlf_transNullToEmpty(ds_main_paminfo_list.getColumn(0, "cretno"));
- var orddeptcd = utlf_transNullToEmpty(ds_main_paminfo_list.getColumn(0, "orddeptcd"));
- var orddrid = utlf_transNullToEmpty(ds_main_paminfo_list.getColumn(0, "medispclid"));
- var ordtype = utlf_transNullToEmpty(ds_main_paminfo_list.getColumn(0, "ordtype"));
- var signno = '';
-
- // 저장 데이터 세팅
- //model.removenode("/root/send/savedata");
- ds_send_savedata_veininfo.clearData();
-
- var iRows = group5.grd_veinlist.rowcount;
- for( var i=0 ; i<iRows ; i++ ){
- if( utlf_transNullToEmpty(ds_main_veininfo_veinlist.getColumn(i, "veifpartnm")).substring(0,4) == "Ant." ){
- ds_main_veininfo_veinlist.setColumn(i, "veifpartnm", "(anterior)"+utlf_transNullToEmpty(ds_main_veininfo_veinlist.getColumn(i, "veifpartnm")).substring(4));
- }
-
- var nRow = ds_send_savedata_veininfo.addRow();
- ds_send_savedata_veininfo.copyRow(nRow, ds_main_veininfo_veinlist, i);
-
- if( ds_send_savedata_veininfo.getColumn(nRow, "sel") == "1" ){
- ds_send_savedata_veininfo.setColumn(nRow, "sel", "true");
- }else{
- ds_send_savedata_veininfo.setColumn(nRow, "sel", "false");
- }
- }
-
- Sign.certreload = false ; // 전자서명 호출시 인증저장 버튼을 누를때마다 인증서가 뜨도록 처리
-
- //for를 돌면서 각 정맥염관찰기록정보의 노드를 복사 한다.
- for( var i=0 ; i<group5.grd_veinlist.rowcount ; i++ ){
- SIGN_ROW = i;
- signno = utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "signno"));
-
- // 인증 로직 호출
- ViewFunc = "sign";
- if( Sign.signprocess() == true ){
- //alert(Sign.signedInfos[1]);
- for( var j=0 ; j<=SIGN_ROW ; j++ ){
- if( ds_send_savedata_signlist.rowcount <= SIGN_ROW ){
- ds_send_savedata_signlist.addRow();
- }
- }
-
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "pid", pid); // 등록번호
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "certflag", "C"); // 인증여부( T : 임시저장, C : 인증저장)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "orddd", indd); // 입원일자(입원,응급)/진료일자(외래)
-
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signno", signno); // 서명번호
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "cretno" , cretno); // 생성번호
-
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "recdd", utlf_getCurrentDate()); // 실제 기록이 이루어진 기록일자(통합기록에서 보여짐)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "rectm", utlf_getCurrentTime()); // 실제 기록이 이루어진 기록시간(통합기록에서 보여짐)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "recsaveflag" , "Y"); // 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signflag" , "02"); // 서명자료구분(01 : 진료, 02 : 간호, 20 : 가정간호)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signgenrflag", "I"); // 외래/입원구분 (코드정의서 M0010 참조)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "formcd", "1300014127"); // 각 기록지별 서식코드(1300014127 정맥염관찰기록)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "orddeptcd", orddeptcd); // 진료부서코드
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "orddrid" , orddrid); // 진료의사ID
-
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signbfcnts" , Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signaftcnts" , Sign.signedInfos[2]); // 공인인증 처리후 데이터
-
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "screenid" , frmf_getScreenID());
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "dispyn", "N"); // 인증저장용 data(view용 인증데이터는 따로 생성함)
- } else {
- return ;
- }
- }
-
- dsf_createDsRow("ds_tempuserInfo", [{col: "uiUserId", val:sysf_getUserId() }]);
-
- var oParam = {};
- oParam.id = "TXMNW15200";
- oParam.service = "wardcareapp.WardCareRec";
- oParam.method = "reqInsVeinRec";
- oParam.inds = "veininfo=ds_send_savedata_veininfo signlist=ds_send_savedata_signlist tempUserInfo=ds_tempuserInfo";
- oParam.outds = "ds_temp_veininfo=veininfo";
- oParam.async = false;
- oParam.callback = "cf_TXMNW15200";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TXMNW15200") > -1 ){
- ds_hidden_main_veininfo_veinlist.copyData(ds_main_veininfo_veinlist);
-
- fMakeViewData(); //통합기록view용 데이터생성
-
- }
- }
- }
- function cf_TXMNW15200(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- // 인증데이터 만들기.
- function fMake_SignData(){
-
- if( ViewFunc == "sign" ){
- // ▶ 기록 관련 인스턴스 전체를 copy, 인증에 저장할 모든 Instance AddNode한다.
- ds_sign_veininfo_veinlist.copyRow(0, ds_main_veininfo_veinlist, SIGN_ROW);
-
- var xDeltGrupPath = ds_sign_veininfo_veinlist;
-
- var flag;
- var stage;
-
-
- //구분
- flag = xDeltGrupPath.getColumn(0, "flag");
- if( !utlf_isNull(flag) ){
- xDeltGrupPath.setColumn(0, "flag", group5.grd_veinlist.getCellText(SIGN_ROW, group5.grd_veinlist.getBindCellIndex("body", "flag")));
- }
-
- //단계
- stage = xDeltGrupPath.getColumn(0, "stage");
- if( !utlf_isNull(stage) ){
- xDeltGrupPath.setColumn(0, "stage", group5.grd_veinlist.getCellText(SIGN_ROW, group5.grd_veinlist.getBindCellIndex("body", "stage")));
- }
-
- //발생장소(원내)
- genrplcewardcd = xDeltGrupPath.getColumn(0, "genrplcewardcd");
- if( !utlf_isNull(genrplcewardcd) ){
- xDeltGrupPath.setColumn(0, "genrplcewardnm", group5.grd_veinlist.getCellText(SIGN_ROW, group5.grd_veinlist.getBindCellIndex("body", "genrplcewardcd")));
- }
-
- var arrSignPath = new Array();
- arrSignPath[0] = "/cond";
- arrSignPath[1] = "/veinlist";
-
- var arrSignDs = new Array();
- arrSignDs[0] = ds_main_cond.saveXML();
- arrSignDs[1] = ds_sign_veininfo_veinlist.saveXML();
-
- Sign.addnodeset(arrSignPath, arrSignDs); //1600000083712055
-
- }else if( ViewFunc == "view" ){
-
- // ▶ 기록 관련 인스턴스 전체를 copy, 인증에 저장할 모든 Instance AddNode한다.
-
- var xViewDeltGrupPath = ds_viewinfo_viewveingrup_veinlist;
-
- var flag;
- var stage;
-
- var bf_pid = "";
- var bf_grupcd = "";
- var bf_veifrecseq = "";
- var bf_instcd = "";
- var af_pid = "";
- var af_grupcd = "";
- var af_veifrecseq = "";
- var af_instcd = "";
-
- for( var i=0 ; i<xViewDeltGrupPath.rowcount ; i++ ){
- af_pid = xViewDeltGrupPath.getColumn(i, "pid");
- af_grupcd = xViewDeltGrupPath.getColumn(i, "grupcd");
- af_veifrecseq = xViewDeltGrupPath.getColumn(i, "veifrecseq");
- af_instcd = xViewDeltGrupPath.getColumn(i, "instcd");
-
- //구분
- flag = xViewDeltGrupPath.getColumn(i, "flag");
-
- if( !utlf_isNull(flag) ){
- if( flag == "00" ){
- xViewDeltGrupPath.setColumn(i, "flag", "등록");
- }else if( flag == "01" ){
- xViewDeltGrupPath.setColumn(i, "flag", "사정");
- }else if( flag == "99" ){
- xViewDeltGrupPath.setColumn(i, "flag", "종료");
- }
- }
- //단계
- stage = xViewDeltGrupPath.getColumn(i, "stage");
-
- bf_pid = af_pid;
- bf_grupcd = af_grupcd;
- bf_veifrecseq= af_veifrecseq;
- bf_instcd = af_instcd;
-
- }
-
- var arrSignPath = new Array();
- arrSignPath[0] = "/cond";
-
- var arrSignDs = new Array();
- arrSignDs[0] = ds_main_cond.saveXML();
-
- Sign.addnodeset(arrSignPath, arrSignDs);
-
- var arrSignPath = new Array();
- arrSignPath[0] = "/viewveingrup/veinlist";
-
- var arrSignDs = new Array();
- arrSignDs[0] = ds_viewinfo_viewveingrup_veinlist.saveXML();
-
- Sign.addnodeset(arrSignPath, arrSignDs); //1600000083712056
-
- }
- }
- // 정맥염관찰기록 삭제
- function fDel(){
- //삭제할 항목이 선택되었는지 여부를 체크
- var delFlag = false; //체크박스 체크여부
- var sel = ''; //체크박스(true/false)
- var stat = ''; //그리드상태(i/u/d)
- var flag = ''; //등록구분 (등록/사정/종료)
- var returnArr, isEnd, isAss, isStage;
- var checkStr; //체크값 (발생부위 + 발생일자 + 발생시간 + 원인)
- var isSvrDel = false; //db에 저장된 데이터 삭제시
-
- var retMsg = sysf_messageBox('선택하신 정맥염관찰기록을', 'Q001');
-
- if(retMsg != "6") {
- return "false";
- }
- var pid = utlf_transNullToEmpty(ds_main_cond.getColumn(0, "pid"));
- var indd = utlf_transNullToEmpty(ds_main_paminfo_list.getColumn(0, "indd"));
- var cretno = utlf_transNullToEmpty(ds_main_paminfo_list.getColumn(0, "cretno"));
- var orddeptcd = utlf_transNullToEmpty(ds_main_paminfo_list.getColumn(0, "orddeptcd"));
- var orddrid = utlf_transNullToEmpty(ds_main_paminfo_list.getColumn(0, "medispclid"));
- var ordtype = utlf_transNullToEmpty(ds_main_paminfo_list.getColumn(0, "ordtype"));
-
- var signno = '';
- Sign.certreload = false ; // 전자서명 호출시 인증저장 버튼을 누를때마다 인증서가 뜨도록 처리
-
- ds_send_savedata_signlist.clearData();
- ds_send_savedata_veininfo.clearData();
-
- for( var i=0 ; i<group5.grd_veinlist.rowcount ; i++ ){
-
- sel = utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "sel"));
- stat = utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "stat"));
- flag = utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "flag"));
-
- SIGN_ROW = i ;
- if(sel == '1'){
- delFlag = true;
- if(stat == 'i'){
- //체크한 항목이 행추가 (stat:i)상태인 경우 그리드에서 바로 삭제
- ds_main_veininfo_veinlist.deleteRow(i);
- }else{
- isSvrDel = true;
- //종료가 존재하는지 여부를 배열로 리턴
- returnArr = fIsExistEndData(i);
- isAss = returnArr[2];
- isEnd = returnArr[3];
- checkStr = i + '¿' + returnArr[6] + returnArr[7] + returnArr[8] + returnArr[9];
- if(isEnd){
- //체크한 항목의 해당 부위에 종료가 있으면 삭제할수 없다는 메세지 출력후 리턴
- var veifpartnm = returnArr[6];
- var gendt = returnArr[7].substring(0, 4) + '-' + returnArr[7].substring(4, 6) + '-'
- + returnArr[7].substring(6) + ' ' + returnArr[8].substring(0, 2) + ':' + returnArr[8].substring(2);
- sysf_messageBox('선택하신 발생부위 "' + veifpartnm + '"발생일시"' + gendt + '" 는 이미 종료기록이 있으므로 삭제하실 수', 'I004');
- //update상태로 변경된 row를 원상태로 변경
- if( ds_main_veininfo_veinlist.getRowType(i) == 4 ){
- ds_main_veininfo_veinlist.setRowType(i, 1);
- }
-
- xBedsoreGridPath.setColumn(i, "sel", '0');
- xBedsoreGridPath.setColumn(i, "stat", '-');
-
- return;
- }
- //등록 삭제시 해당부위에 사정기록있으면 등록~사정 모두삭제한다는 메세지 출력
- else if( flag == '00' && isAss ){
- //선택한 체크박스가 등록상태이고, 해당 발생부위에 사정기록이 존재할때
- //사정기록까지 삭제하겠냐는 메세지 호출해 확인 누르면 해당 그룹 모두 체크 취소누르면 선택 해제
- if(sysf_messageBox('선택하신 정맥염부위 "'+returnArr[6]+'"를 삭제하시면 사정기록도 함께 삭제됩니다.', 'Q001') == 6){
- fCheckSamePart(checkStr);
- }else{
- return "false";
- }
- }
- else{
- //상태값을 'd'로 변경
- xBedsoreGridPath.setColumn(i, "stat", 'd');
- var nRow = ds_send_savedata_veininfo.addRow();
- ds_send_savedata_veininfo.copyRow(nRow, xBedsoreGridPath, i);
-
- signno = xBedsoreGridPath.getColumn(i, "signno");
-
- // 인증 로직 호출
- ViewFunc = "sign";
- if( Sign.signprocess() == true ){
-
- for( var j=0 ; j<=SIGN_ROW ; j++ ){
- if( ds_send_savedata_signlist.rowcount <= SIGN_ROW ){
- ds_send_savedata_signlist.addRow();
- }
- }
-
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "pid", pid); // 등록번호
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "certflag", "C"); // 인증여부( T : 임시저장, C : 인증저장)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "orddd", indd); // 입원일자(입원,응급)/진료일자(외래)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signno", signno); // 서명번호
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "cretno" , cretno); // 생성번호
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "recdd", utlf_getCurrentDate()); // 실제 기록이 이루어진 기록일자(통합기록에서 보여짐)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "rectm", utlf_getCurrentTime()); // 실제 기록이 이루어진 기록시간(통합기록에서 보여짐)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "recsaveflag" , "Y"); // 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signflag" , "02"); // 서명자료구분(01 : 진료, 02 : 간호, 20 : 가정간호)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signgenrflag", "I"); // 외래/입원구분 (코드정의서 M0010 참조)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "formcd", "1300014127"); // 각 기록지별 서식코드(1300014127 정맥염관찰기록)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "orddeptcd", orddeptcd); // 진료부서코드
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "orddrid" , orddrid); // 진료의사ID
- //미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signbfcnts" , Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signaftcnts" , Sign.signedInfos[2]); // 공인인증 처리후 데이터
-
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "screenid", frmf_getScreenID());
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "dispyn", "N"); //인증저장용 data(view용 인증데이터는 따로 생성함)
-
- } else {
- return ;
- }
- }
- }
- }
- }
- //선택한 항목이 없을때
- if(!delFlag){
- sysf_messageBox('삭제할 항목을', 'C002');
- return;
- }
- //삭제 서브미션 호출
-
- for( var i=0 ; i<ds_send_savedata_veininfo.rowcount ; i++ ){
- if( ds_send_savedata_veininfo.getColumn(i, "sel") == "1" ){
- ds_send_savedata_veininfo.setColumn(i, "sel", "true");
- }else{
- ds_send_savedata_veininfo.setColumn(i, "sel", "false");
- }
- }
-
- ds_send_savedata.setColumn(0, "pid", ds_main_cond.getColumn(0, "pid"));
-
- dsf_createDsRow("ds_tempuserInfo", [{col: "uiUserId", val:sysf_getUserId() }]);
-
- var oParam = {};
- oParam.id = "TXMNW15200";
- oParam.service = "wardcareapp.WardCareRec";
- oParam.method = "reqInsVeinRec";
- oParam.inds = "veininfo=ds_send_savedata_veininfo signlist=ds_send_savedata_signlist tempUserInfo=ds_tempuserInfo";
- oParam.outds = "ds_temp_veininfo=veininfo";
- oParam.async = false;
- oParam.callback = "cf_TXMNW15200";
- tranf_submit(oParam);
- if( arErrorCode.pop("TXMNW15200") > -1 ){
- ds_hidden_main_veininfo_veinlist.copyData(ds_main_veininfo_veinlist);
-
- fMakeViewData(); //통합기록view용 데이터생성
- }
- }
- /////////////////데이터 저장/삭제 함수 종료////////////
- //선택한 발생부위에 해당되는 모든 그룹을 체크(true)로 변경
- function fCheckSamePart(checkStr){
- var _chkArr = checkStr.split('¿');
- var sRow = _chkArr[0];
- var chkStr = _chkArr[1];
- var _chkStr = '';
- xBedsoreGridPath.enableevent = false;
- xBedsoreGridPath.updatecontrol = false;
-
- for( var i=sRow ; i<group5.grd_veinlist.rowcount ; i++ ){
- _chkStr = utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "veifpartnm"));
- _chkStr += utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "genrdd"));
- _chkStr += utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "genrtm"));
- _chkStr += utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "cause"));
- if(chkStr == _chkStr){
- xBedsoreGridPath.setColumn(i, "stat", 'd');
- xBedsoreGridPath.setColumn(i, "sel", '1');
-
- xBedsoreGridPath.setRowType(i, 8);
- }
- }
-
- xBedsoreGridPath.updatecontrol = true;
- xBedsoreGridPath.enableevent = true;
- }
- //체크 해제하면 update상태를 select상태로 변경한다.
- function fChangeStatus(selRow){
-
- var isChk = xBedsoreGridPath.getColumn(selRow, "sel");
-
- if( isChk == '0' ){
- if( xBedsoreGridPath.getRowType(selRow) == 2 ){
-
- }else{
- xBedsoreGridPath.setColumn(selRow, "stat", '-');
-
- if( xBedsoreGridPath.getRowType(selRow) == 4 ){
- xBedsoreGridPath.setRowType(selRow, 1);
- }
- }
- }
- }
- // 정맥염발생부위추가
- function fAddGenArea(){
-
- if( ds_main_cond.getColumn(0, "indsch") == "1" ){
- if( utlf_isNull(ds_main_cond.getColumn(0, "pid")) ){
- sysf_messageBox('환자를 선택하여 주십시오', 'I');
- return;
- }
- }else{
- if( utlf_isNull(ds_main_cond.getColumn(0, "patientnm")) ){
- sysf_messageBox('환자를 선택하여 주십시오', 'I');
- return;
- }
- }
- var iRows = group5.grd_veinlist.rowcount;
- var iRow = group5.grd_veinlist.currentrow;
-
- ds_main_veininfo_veinlist.addRow();
-
- if( iRows < 1 ){
-
- xBedsoreGridPath.setColumn(group5.grd_veinlist.currentrow, "grupcd", "00000001");
-
- } else if( iRows > 0 ){
- // grupcd만드는 부분
- var sRowCnt = group5.grd_veinlist.rowcount;
- // grupcd 현재 화면의 최대값 가져오기 시작
- var retVal = "";
- for( var i=0 ; i<sRowCnt ; i++ ){
- if( xGrupcdmax ) {
- saveyn = 1;
- }
- retVal = parseInt(xGrupcdmax);
- }
- retVal = retVal + 1 ;
- retVal = String(retVal) ;
- retVal = fLpad(retVal, 8, 0);// grupcd 8자리 나머지는 0 으로 매꿈
- xGrupcdmax = retVal;
- //grupcd 현재 화면의 최대값 가져오기 끝
- xBedsoreGridPath.setColumn(group5.grd_veinlist.currentrow, "grupcd", retVal);
- }
- var instcd = ds_main_paminfo_list.getColumn(0, "instcd");
- var pid = ds_main_paminfo_list.getColumn(0, "pid");
- var indd = ds_main_paminfo_list.getColumn(0, "indd");
- var cretno = ds_main_paminfo_list.getColumn(0, "cretno");
-
- xBedsoreGridPath.setColumn(group5.grd_veinlist.currentrow, "stat", "i");
- xBedsoreGridPath.setColumn(group5.grd_veinlist.currentrow, "instcd", instcd);
- xBedsoreGridPath.setColumn(group5.grd_veinlist.currentrow, "pid", pid);
- xBedsoreGridPath.setColumn(group5.grd_veinlist.currentrow, "indd", indd);
- xBedsoreGridPath.setColumn(group5.grd_veinlist.currentrow, "cretno", cretno);
- xBedsoreGridPath.setColumn(group5.grd_veinlist.currentrow, "genrdd", utlf_getCurrentDate());
- xBedsoreGridPath.setColumn(group5.grd_veinlist.currentrow, "genrtm", utlf_getCurrentDateTime().substring(9,13));
- xBedsoreGridPath.setColumn(group5.grd_veinlist.currentrow, "flag", "00");
- xBedsoreGridPath.setColumn(group5.grd_veinlist.currentrow, "recdd", utlf_getCurrentDate());
- xBedsoreGridPath.setColumn(group5.grd_veinlist.currentrow, "rectm", utlf_getCurrentDateTime().substring(9,13));
- xBedsoreGridPath.setColumn(group5.grd_veinlist.currentrow, "recrnm", sysf_getUserName());
- xBedsoreGridPath.setColumn(group5.grd_veinlist.currentrow, "recrid", sysf_getUserId());
- xBedsoreGridPath.setColumn(group5.grd_veinlist.currentrow, "genrplce", "원내");
- xBedsoreGridPath.setColumn(group5.grd_veinlist.currentrow, "genrplceid", "1");
- xBedsoreGridPath.setColumn(group5.grd_veinlist.currentrow, "genrplcewardcd", sysf_getUserInfo("dutplcecd"));
-
- var sExprEdit = group5.grd_veinlist.getCellProperty("Body", group5.grd_veinlist.getBindCellIndex("body", "genrdd"), "edittype");
-
- if( utlf_isNull(sExprEdit) || sExprEdit == "none" ){
- sExprEdit = "expr:currow == "+group5.grd_veinlist.currentrow+" ? 'date' : 'none'";
- }else if( sExprEdit.indexOf("currow == "+group5.grd_veinlist.currentrow+" ? 'date' : ") < 0 ){
- sExprEdit = sExprEdit.replace("'none'", "")
- + "currow == "+group5.grd_veinlist.currentrow+" ? 'date' : 'none'";
- }
-
- group5.grd_veinlist.setCellProperty("Body", group5.grd_veinlist.getBindCellIndex("body", "genrdd"), "edittype", sExprEdit);
-
- var sExprEdit = group5.grd_veinlist.getCellProperty("Body", group5.grd_veinlist.getBindCellIndex("body", "recdd"), "edittype");
-
- if( utlf_isNull(sExprEdit) || sExprEdit == "none" ){
- sExprEdit = "expr:currow == "+group5.grd_veinlist.currentrow+" ? 'date' : 'none'";
- }else if( sExprEdit.indexOf("currow == "+group5.grd_veinlist.currentrow+" ? 'date' : ") < 0 ){
- sExprEdit = sExprEdit.replace("'none'", "")
- + "currow == "+group5.grd_veinlist.currentrow+" ? 'date' : 'none'";
- }
-
- group5.grd_veinlist.setCellProperty("Body", group5.grd_veinlist.getBindCellIndex("body", "recdd"), "edittype", sExprEdit);
- }
- // 왼쪽 자리수 채우기, 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;
- }
- // 그리드내의 mousedown 이벤트 발생시 호출
- function fMouseDownGridRow(e){
- var iVeinListRow = group5.grd_veinlist.currentrow;
- // right Button Click
- //데이터 행이 존재할때
- if( group5.grd_veinlist.rowcount > 0 && group5.grd_veinlist.currentrow >= 0 ){
- pmenu_veinlist.trackPopup(e.screenX,e.screenY);
- }
- }
- // 정맥염 관찰기록 내역 그리드의 xforms-value-changed이벤트 발생시 호출된다.
- function fChangedGridCol(){
- var sDetlGrupRow = group5.grd_veinlist.currentrow;
- var sDetlGrupBKRow = -1;
- var iRow = group5.grd_veinlist.currentrow;
- var iCol = group5.grd_veinlist.currentcol;
-
- var stat = xBedsoreGridPath.getColumn(group5.grd_veinlist.currentrow, "stat");
-
- //데이터 변경시 그리드 상태값(stat)을 u상태로 변경한다.
- if( stat == "-" ){
- //그리드의 stat update를 위한 비교할 hidden nodelist의 idx찾기
- var veifrecseq = xBedsoreGridPath.getColumn(sDetlGrupRow, "veifrecseq");
- for( var i=0 ; i<xClsListBKPath.rowcount ; i++ ){
- if( xClsListBKPath.getColumn(i, "veifrecseq") == veifrecseq ){
- sDetlGrupBKRow = i;
- break;
- }
- }
-
- //체크박스 선택 아닐때 조회해서 hidden에 담아둔 nodelist와 변경된 그리드의 nodelist의 stat를 비교하여 수정상태로 바꿔준다.
-
- if( iCol != group5.grd_veinlist.getBindCellIndex("body", "sel") ){// 선택시 stat 값 변경 않기
- for( var i=0 ; i<ds_main_veininfo_veinlist.getColCount() ; i++ ){
- if( ds_main_veininfo_veinlist.getColumn(sDetlGrupRow, ds_main_veininfo_veinlist.getColID(i)) != ds_hidden_main_veininfo_veinlist.getColumn(sDetlGrupBKRow, ds_main_veininfo_veinlist.getColID(i)) ){
- ds_main_veininfo_veinlist.setColumn(group5.grd_veinlist.currentrow, "stat", "u");
- break;
- }
- }
- }
- }
- }
- // 정맥염 관찰기록 그리드에서 우측마우스 클릭시 팝업을 띄워준다.
- function fAddSameLevlItemEnd(){
- fAddSameLevlItem(true);
-
- return ;
- }
- // 마우스 우측 클릭시 발생구분에 따라 그리드 행 추가 (true이면 오른쪽 메뉴에서 종료를 선택한 상태, false이면 사정을 선택한 상태)
- function fAddSameLevlItem(selEndMenu){//오른쪽 메뉴에서 사정또는 종료 선택시
- var msgStr = '사정기록';
- if( selEndMenu ){
- msgStr = '종료기록';
- }
- //종료또는 사정기록 존재여부를 리턴받는다.
- var returnArr = fIsExistEndData(group5.grd_veinlist.currentrow);
- var compareStr = returnArr[0];
- var compRow = returnArr[1];
- var isAss = returnArr[2];
- var isEnd = returnArr[3];
- var stage = returnArr[15];
-
- //종료기록이 있으면 입력할수 없다는 메세지 출력후 리턴
- if( isEnd ){
- sysf_messageBox('선택하신 부위는 이미 종료된 기록이 있으므로 다시 '+ msgStr +' 하실 수', 'I004');
- return;
- }
- //종료메뉴 선택시 사정기록이 없으면 메세지 출력후 리턴
- if( selEndMenu && !isAss ){
- sysf_messageBox('선택하신 부위는 사정기록이 없으므로 ' + msgStr + ' 하실 수', 'I004');
- return;
- }
-
- //해당 발생부위 가장 하위의 그리드에 insertRow을 하기 위해 발생부위 가장 하위row index를 찾는다.
- var addLastRow = -1;
- var _compareStr;
- for( var i=compRow ; i<group5.grd_veinlist.rowcount ; i++ ){
- _compareStr = xBedsoreGridPath.getColumn(i, "veifpartnm");
- _compareStr += xBedsoreGridPath.getColumn(i, "genrdd");
- _compareStr += xBedsoreGridPath.getColumn(i, "genrtm");
- _compareStr += xBedsoreGridPath.getColumn(i, "cause");
-
- if( compareStr != _compareStr ){
- addLastRow = i+1;
- break;
- }
- }
- //발생부위가 등록/사정만 있으면 해당 발생부위 하위에 사정 추가
- //구분을 사정으로, 해당부위의 발생일자,발생시간, 원인을 선택한 데이터와 동일하게 추가.
- if( addLastRow == -1 ){
- addLastRow = group5.grd_veinlist.rowcount;
- ds_main_veininfo_veinlist.addRow();
- }else{
- addLastRow = group5.grd_veinlist.rowcount;
- ds_main_veininfo_veinlist.addRow();
- }
-
- //그리드에 발생부위, 일자, 시간, 원인, 기록일시 set한다.
- fSetInsertValue(addLastRow, selEndMenu, returnArr);
- }
-
- //종료또는 사정기록 존재여부 체크
- function fIsExistEndData(selRow, updatePartChk){
- //발생부위에 대해 종료된 사정인 경우 메세지 출력
- var compareStr, _compareStr, _flag;//비교값 str
- var compRow = -1;
- var isAss ; //사정기록 존재여부
- var isEnd ; //종료기록 존재여부
- var returnArr = new Array(10);
- //var isStage ; //1~4단계 기록 존재여부
- //선택한 발생부위 비교값
- var pid = utlf_transNullToEmpty(xBedsoreGridPath.getColumn(selRow, "pid"));
- var grupcd = utlf_transNullToEmpty(xBedsoreGridPath.getColumn(selRow, "grupcd"));
- var veifpartnm = utlf_transNullToEmpty(xBedsoreGridPath.getColumn(selRow, "veifpartnm"));//발생부위
- var genrdd = utlf_transNullToEmpty(xBedsoreGridPath.getColumn(selRow, "genrdd")); //발생일자
- var genrtm = utlf_transNullToEmpty(xBedsoreGridPath.getColumn(selRow, "genrtm")); //발생시간
- var cause = utlf_transNullToEmpty(xBedsoreGridPath.getColumn(selRow, "cause")); //원인
- var causeid = utlf_transNullToEmpty(xBedsoreGridPath.getColumn(selRow, "causeid")); //원인
- var genrplce = utlf_transNullToEmpty(xBedsoreGridPath.getColumn(selRow, "genrplce")); //발생장소
- var genrplceid = utlf_transNullToEmpty(xBedsoreGridPath.getColumn(selRow, "genrplceid")); //발생장소
- var stage = utlf_transNullToEmpty(xBedsoreGridPath.getColumn(selRow, "stage")); //단계
- var stageid = utlf_transNullToEmpty(xBedsoreGridPath.getColumn(selRow, "stageid")); //단계
- var genrplcewardcd = utlf_transNullToEmpty(xBedsoreGridPath.getColumn(selRow, "genrplcewardcd")); //발생장소(원내부서)
- var instcd = utlf_transNullToEmpty(xBedsoreGridPath.getColumn(selRow, "instcd"));
- var indd = utlf_transNullToEmpty(xBedsoreGridPath.getColumn(selRow, "indd"));
- var cretno = utlf_transNullToEmpty(xBedsoreGridPath.getColumn(selRow, "cretno"));
- var intervention = utlf_transNullToEmpty(xBedsoreGridPath.getColumn(selRow, "intervention")); //중재
- var interventionid = utlf_transNullToEmpty(xBedsoreGridPath.getColumn(selRow, "interventionid")); //중재
- //정맥염발생부위선택시 사정종료되지 않은 부위인지 체크할때에는 발생부위, 구분만 가지고 체크함..
- if( updatePartChk ){
- compareStr = veifpartnm;
- }else{
- compareStr = veifpartnm + genrdd + genrtm + cause;
- }
- var veifrecseq = 0;
- //선택한 compareStr과 그리드내의 모든 _compareStr을 비교한다.
- for( var i=0 ; i<group5.grd_veinlist.rowcount ; i++ ){
- if( selRow != i ){
- _compareStr = utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "veifpartnm"));
- //정맥염발생부위선택시 사정종료되지 않은 부위인지 체크할때에는 발생부위, 구분만 가지고 체크함..
- if( !updatePartChk ){
- _compareStr += utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "genrdd"));
- _compareStr += utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "genrtm"));
- _compareStr += utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "cause"));
- }
- }
- if( compareStr == _compareStr ){
- compRow = i;
- _flag = utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "flag"));
- if( _flag == '99' ){//등록구분이 종료(99)
- isEnd = true;
- veifrecseq = utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "veifrecseq"));
- break;
- }else if( _flag == '01' ){//등록구분이 사정(01)
- isAss = true;
- veifrecseq = utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "veifrecseq"));
- }else{
- isEnd = false;
- isAss = false;
- }
- }
- }
-
- //선택한 compareStr과 그리드내의 모든 _compareStr을 비교한다.
- for( var i=0 ; i<group5.grd_veinlist.rowcount ; i++ ){
- if( selRow != i ){
- _compareStr = utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "veifpartnm"));
- //정맥염발생부위선택시 사정종료되지 않은 부위인지 체크할때에는 발생부위, 구분만 가지고 체크함..
- if( !updatePartChk ){
- _compareStr += utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "genrdd"));
- _compareStr += utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "genrtm"));
- _compareStr += utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "cause"));
- }
- }
- }
-
- //배열을 리턴한다.
- returnArr[0] = compareStr;
- returnArr[1] = compRow;
- returnArr[2] = isAss;
- returnArr[3] = isEnd;
- returnArr[4] = pid;
- returnArr[5] = grupcd;
- returnArr[6] = veifpartnm;
- returnArr[7] = genrdd;
- returnArr[8] = genrtm;
- returnArr[9] = cause;
- returnArr[10] = causeid;
- returnArr[11] = veifrecseq;
- returnArr[12] = genrplce;
- returnArr[13] = genrplceid;
- returnArr[14] = stage;
- returnArr[15] = stageid;
- returnArr[16] = genrplcewardcd;
- returnArr[17] = instcd;
- returnArr[18] = indd;
- returnArr[19] = cretno;
- returnArr[20] = intervention;
- returnArr[21] = interventionid;
- return returnArr;
- }
- // 행 추가시 그리드에 값 셋팅
- function fSetInsertValue(addLastRow, selEndMenu, returnArr){
-
- xBedsoreGridPath.setColumn(addLastRow, "stat", 'i');
- xBedsoreGridPath.setColumn(addLastRow, "pid", returnArr[4]);
- xBedsoreGridPath.setColumn(addLastRow, "grupcd", returnArr[5]);
- xBedsoreGridPath.setColumn(addLastRow, "veifpartnm", returnArr[6]);
- xBedsoreGridPath.setColumn(addLastRow, "genrdd", returnArr[7]);
- xBedsoreGridPath.setColumn(addLastRow, "genrtm", returnArr[8]);
- xBedsoreGridPath.setColumn(addLastRow, "cause", returnArr[9]);
- xBedsoreGridPath.setColumn(addLastRow, "causeid", returnArr[10]);
- xBedsoreGridPath.setColumn(addLastRow, "recdd", utlf_getCurrentDate());
- xBedsoreGridPath.setColumn(addLastRow, "rectm", utlf_getCurrentDateTime().substring(9,13));
- xBedsoreGridPath.setColumn(addLastRow, "recrnm", sysf_getUserName());
- xBedsoreGridPath.setColumn(addLastRow, "recrid", sysf_getUserId());
- xBedsoreGridPath.setColumn(addLastRow, "genrplce", returnArr[12]);
- xBedsoreGridPath.setColumn(addLastRow, "genrplceid", returnArr[13]);
- xBedsoreGridPath.setColumn(addLastRow, "stage", "");
- xBedsoreGridPath.setColumn(addLastRow, "stageid", "");
- xBedsoreGridPath.setColumn(addLastRow, "genrplcewardcd", returnArr[16]);
- xBedsoreGridPath.setColumn(addLastRow, "instcd", returnArr[17]);
- xBedsoreGridPath.setColumn(addLastRow, "indd", returnArr[18]);
- xBedsoreGridPath.setColumn(addLastRow, "cretno", returnArr[19]);
-
- xBedsoreGridPath.setColumn(addLastRow, "intervention", "");
- xBedsoreGridPath.setColumn(addLastRow, "interventionid", "");
-
- if(!selEndMenu){
- xBedsoreGridPath.setColumn(addLastRow, "flag", '01');//사정
- }else{
- xBedsoreGridPath.setColumn(addLastRow, "flag", '99');//종료
- xBedsoreGridPath.setColumn(addLastRow, "stageid", '12');//종료시 단계값
- xBedsoreGridPath.setColumn(addLastRow, "stage", ds_hidden_codelist_getVOStage.lookup("cd", "12", "cdnm"));//종료시 단계값
- }
-
- var sExprEdit = group5.grd_veinlist.getCellProperty("Body", group5.grd_veinlist.getBindCellIndex("body", "genrdd"), "edittype");
-
- if( !utlf_isNull(sExprEdit) && sExprEdit.indexOf("currow == "+addLastRow+" ? 'date' : ") > -1 ){
- sExprEdit = sExprEdit.replace("currow == "+addLastRow+" ? 'date' : ", "");
-
- group5.grd_veinlist.setCellProperty("Body", group5.grd_veinlist.getBindCellIndex("body", "genrdd"), "edittype", sExprEdit);
- }
- }
- // 통합기록조회용 인증데이터 생성
- function fMakeViewData(){
- var pid = utlf_transNullToEmpty(ds_main_cond.getColumn(0, "pid"));
- var indd = utlf_transNullToEmpty(ds_main_paminfo_list.getColumn(0, "indd"));
- var cretno = utlf_transNullToEmpty(ds_main_paminfo_list.getColumn(0, "cretno"));
- var orddeptcd = utlf_transNullToEmpty(ds_main_paminfo_list.getColumn(0, "orddeptcd"));
- var orddrid = utlf_transNullToEmpty(ds_main_paminfo_list.getColumn(0, "medispclid"));
- var ordtype = utlf_transNullToEmpty(ds_main_paminfo_list.getColumn(0, "ordtype"));
-
- var signno = '';
-
-
- //조회조건값 세팅
- ds_send.setColumn(0, "pid", pid); //등록번호
- ds_send.setColumn(0, "indd", indd);
- ds_send.setColumn(0, "cretno", cretno);
-
- ds_send.setColumn(0, "genrdd", ds_main_cond.getColumn(0, "genrdd")); //기준일자(발생일자)
- ds_send.setColumn(0, "genrtm", ds_main_cond.getColumn(0, "genrtm")); //기준시간(발생시간)
- ds_send.setColumn(0, "stdradio", '0'); //조회조건의라디오(전체/종료전(전체)/종료전(최근입력만))
-
-
- //정맥염관찰기록 조회
- //model.removenode('/root/main/veininfo');
-
- var oParam = {};
- oParam.id = "TRMNW15205";
- oParam.service = "wardcareapp.WardCareRec";
- oParam.method = "reqGetVeinList";
- oParam.inds = "reqdata=ds_send";
- oParam.outds = "ds_viewinfo_viewveingrup_veinlist=veinlist";
- oParam.async = false;
- oParam.callback = "cf_TRMNW15205";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TRMNW15205") > -1 ){
- // 인증 로직 호출
- ViewFunc = "view";
- if( Sign.signprocess() == true ){
- ds_send_savedata.setColumn(0, "pid", pid); // 등록번호
- ds_send_savedata.setColumn(0, "certflag", "C"); // 인증여부( T : 임시저장, C : 인증저장)
- ds_send_savedata.setColumn(0, "orddd", indd); // 입원일자(입원,응급)/진료일자(외래)
- ds_send_savedata.setColumn(0, "signno", signno); // 서명번호
- ds_send_savedata.setColumn(0, "cretno" , cretno); // 생성번호
- ds_send_savedata.setColumn(0, "recdd", utlf_transNullToEmpty(ds_viewinfo_viewveingrup_veinlist.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", "1300014127"); // 각 기록지별 서식코드(1300014127 정맥염관찰기록)
- ds_send_savedata.setColumn(0, "orddeptcd", orddeptcd); // 진료부서코드
- ds_send_savedata.setColumn(0, "orddrid" , orddrid); // 진료의사ID
-
- //미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
- ds_send_savedata.setColumn(0, "signbfcnts" , Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보)
- ds_send_savedata.setColumn(0, "signaftcnts" , Sign.signedInfos[2]); // 공인인증 처리후 데이터
-
- ds_send_savedata.setColumn(0, "screenid" , frmf_getScreenID());
- ds_send_savedata.setColumn(0, "dispyn", "Y"); //인증저장용 data(view용 인증데이터는 따로 생성함)
-
- } 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 ){
- finit("saveflag");
- }
- }
- }
- function cf_TRMNW15205(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- function cf_TXMNW04713(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- // 재원/퇴원 구분
- function fSetInDsch(Pram){
-
- if( Pram == "D" || Pram == "T" ){
- ds_main_cond.setColumn(0, "indsch", "2");
- }else{
- ds_main_cond.setColumn(0, "indsch", "1");
- }
-
- group5_rdo_indsch_onitemchanged();
- fSetInDschHidden();
- }
- // 재원/퇴원 구분
- function fSetInDschHidden(){
-
- var indsch = ds_main_cond.getColumn(0, "indsch");
- if( indsch == "1" ){
- group5.grp_sea.ctn_pid.visible = false;
- group5.grp_sea.cmb_patientnm.visible = false;
- group5.grp_sea.ipt_pid.visible = false;
- group5.grp_sea.ctn_ward.visible = true;
- group5.grp_sea.cmb_ward.visible = true;
- group5.grp_sea.cap_settingrn.visible = true;
- group5.grp_sea.cmb_settingrn.visible = true;
- group5.grp_sea.line1.visible = true;
- group5.grp_sea.button1.visible = true;
- fnZoneDisp();
- }else if( indsch == "2" ){
- group5.grp_sea.ctn_pid.visible = true;
- group5.grp_sea.cmb_patientnm.visible = true;
- group5.grp_sea.ipt_pid.visible = true;
- group5.grp_sea.ctn_ward.visible = false;
- group5.grp_sea.cmb_ward.visible = false;
- group5.grp_sea.cap_settingrn.visible = false;
- group5.grp_sea.cmb_settingrn.visible = false;
- group5.cap_Zone.visible = false;
- group5.cmb_Zone.visible = false;
- group5.grp_sea.line1.visible = false;
- group5.grp_sea.button1.visible = false;
- }
- }
- function fGetPidWardInfo(pid){
- if( !utlf_isNull(pid) ){
- ds_main_patinfo_patinfolist.clearData();
- ds_send.setColumn(0, "pid", pid);
-
- 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{
- ds_main_cond.setColumn(0, "patientnm", ds_main_patinfo_patinfolist.getColumn(0, "pid"));
- ds_main_cond.setColumn(0, "pid", ds_main_patinfo_patinfolist.getColumn(0, "pid"));
- }
- }
- }
- function cf_TRMNW04707(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- ]]></Script>
|