123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936 |
- <?xml version="1.0" encoding="utf-8"?>
- <FDL version="1.5">
- <TypeDefinition url="..\..\..\default_typedef.xml"/>
- <Form id="SPMNR10400" position="absolute 0 0 372 350" titletext="Fluid 입력" onload="SPMNR10400_onload">
- <Layouts>
- <Layout>
- <Shape id="line1" class="line_1" position="absolute -12 0 360 0" anchor="default" positiontype="position" linetype="horizontal"/>
- <Grid id="grd_fluidinfo" taborder="10" position="absolute 0 107 372 315" anchor="default" positiontype="position" binddataset="ds_grid_grd_fluidinfo" ondbclick="grd_fluidinfo_ondbclick" oncelldblclick="grd_fluidinfo_oncelldblclick" cellsizingtype="col" scrollpixel="all" cellsizebandtype="allband">
- <Formats>
- <Format id="default">
- <Columns>
- <Column size="20" band="left"/>
- <Column size="45"/>
- <Column size="46"/>
- <Column size="65"/>
- <Column size="56"/>
- <Column size="59"/>
- <Column size="62"/>
- <Column size="0"/>
- </Columns>
- <Rows>
- <Row size="22" band="head"/>
- <Row size="20"/>
- </Rows>
- <Band id="head">
- <Cell/>
- <Cell col="1" colspan="2" text="시간/분" taborder="undefined"/>
- <Cell col="3" text="진행상태"/>
- <Cell col="4" text="cc/hr"/>
- <Cell col="5" text="㎍/㎏/min"/>
- <Cell col="6" text="기록자"/>
- <Cell col="7"/>
- </Band>
- <Band id="body">
- <Cell celltype="head"/>
- <Cell col="1" displaytype="combo" edittype="combo" style="align:center middle;" text="bind:hh" combodataset="ds_gridhhlist" combocodecol="cd" combodatacol="nm"/>
- <Cell col="2" displaytype="combo" edittype="combo" style="align:center middle;" text="bind:mm" combodataset="ds_gridmmlist" combocodecol="cd" combodatacol="nm"/>
- <Cell col="3" displaytype="combo" edittype="combo" style="align:center middle;" text="bind:fluidstat" combodataset="ds_statlist" combocodecol="cd" combodatacol="nm"/>
- <Cell col="4" style="align:center middle;" text="bind:cc"/>
- <Cell col="5" style="align:center middle;" text="bind:etc"/>
- <Cell col="6" style="align:center middle;" text="bind:usernm"/>
- <Cell col="7" style="align:center middle;" text="bind:clncobsseqno"/>
- <Cell col="8"/>
- </Band>
- </Format>
- </Formats>
- </Grid>
- <Button id="btn_add" class="btn5" enable="true" taborder="8" position="absolute 328 9 372 29" anchor="default" positiontype="position" text="등록" onclick="btn_add_onclick"/>
- <Shape id="line2" class="line_3" position="absolute -5 -12 367 -12" anchor="default" positiontype="position" linetype="horizontal"/>
- <Button id="btn_del" class="btn2" enable="true" taborder="11" position="absolute 281 9 325 29" anchor="default" positiontype="position" text="삭제" onclick="btn_del_onclick"/>
- <Button id="btn_new" class="btn2" taborder="2" position="absolute 234 9 278 29" anchor="default" positiontype="position" text="신규" onclick="btn_new_onclick"/>
- <Static id="caption4" class="tit_2" position="absolute 0 87 121 107" anchor="default" positiontype="position" text="Fluid 기록 List"/>
- <Static id="caption7" class="tit_2" position="absolute 0 12 121 32" anchor="default" positiontype="position" text="Fluid 입력"/>
- <Button position="absolute 316 320 372 342" id="btn_close" class="btn4" taborder="1" text="닫기" onclick="btn_close_onclick"/>
- <Div id="grp_ipt" taborder="13" position="absolute 0 32 372 82" class="div_SA">
- <Layouts>
- <Layout>
- <Static id="caption2" text="시간" class="cell_1" position="absolute 1 5 66 24" style="padding:0 0 0 0;align:center middle;" anchor="default"/>
- <Static id="caption1" text="분" class="cell_1" position="absolute 66 5 131 24" style="padding:0 0 0 0;align:center middle;" anchor="default"/>
- <Static id="caption3" text="진행상태" class="cell_1" position="absolute 131 5 222 24" style="padding:0 0 0 0;align:center middle;" anchor="default"/>
- <Combo id="cmb_fluidstat" taborder="3" innerdataset="@ds_statlist" codecolumn="cd" datacolumn="nm" position="absolute 132 26 221 46" style="align:center middle;" onitemchanged="cmb_fluidstat_onitemchanged" anchor="default"/>
- <Static id="caption5" text="cc/hr" class="cell_1" position="absolute 222 5 287 24" style="padding:0 0 0 0;align:center middle;" anchor="default"/>
- <MaskEdit id="ipt_cc" taborder="4" mask="#,###.###" position="absolute 223 26 286 46" style="align:center middle;" imemode="hangul" maxlength="4" anchor="default" autoselect="true" maskchar=" " displaynulltext=" " limitbymask="both"/>
- <Static id="caption6" text="Graph" class="cell_1" position="absolute 287 5 371 24" style="padding:0 0 0 0;align:center middle;" anchor="default"/>
- <MaskEdit id="ipt_etc" taborder="5" mask="#,###.######" position="absolute 288 26 369 46" style="align:center middle;" imemode="hangul" anchor="default" autoselect="true" maskchar=" " displaynulltext=" "/>
- <Combo id="cmb_hh" taborder="6" innerdataset="@ds_gridhhlist" codecolumn="cd" datacolumn="nm" type="search" class="combo_search" position="absolute 2 26 64 46" anchor="top right" usertext="" autoselect="true" ontextchange="grp_ipt_cmb_hh_ontextchange" onkillfocus="grp_ipt_cmb_hh_onkillfocus" style="align:center middle;" oncloseup="grp_ipt_cmb_hh_oncloseup" onitemchanged="grp_ipt_cmb_hh_onitemchanged"/>
- <Combo id="cmb_mm" taborder="7" autoselect="true" innerdataset="@ds_gridmmlist" codecolumn="cd" datacolumn="nm" type="search" class="combo_search" position="absolute 67 26 129 46" anchor="top right" style="align:center middle;" usertext="" oncloseup="grp_ipt_cmb_mm_oncloseup" onitemchanged="grp_ipt_cmb_mm_onitemchanged" onkillfocus="grp_ipt_cmb_mm_onkillfocus" ontextchange="grp_ipt_cmb_mm_ontextchange"/>
- </Layout>
- </Layouts>
- </Div>
- <Shape id="line3" class="line_3" position="absolute -3 38 369 38" style="align:center middle;"/>
- <Button id="btn_currenttm" taborder="14" text="현재시간" class="btn2" position="absolute 165 9 231 29" onclick="btn_currenttm_onclick"/>
- </Layout>
- </Layouts>
- <Objects>
- <Dataset id="ds_grid_grd_fluidinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="hh" type="STRING"/>
- <Column id="mm" type="STRING"/>
- <Column id="fluidstat" type="STRING"/>
- <Column id="cc" type="STRING"/>
- <Column id="etc" type="STRING"/>
- <Column id="usernm" type="STRING"/>
- <Column id="clncobsseqno" type="STRING"/>
- </ColumnInfo>
- </Dataset>
- <Dataset id="ds_fluidinputdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="hh" type="STRING" size="256"/>
- <Column id="mm" type="STRING" size="256"/>
- <Column id="fluidstat" type="STRING" size="256"/>
- <Column id="cc" type="STRING" size="256"/>
- <Column id="etc" type="STRING" size="256"/>
- <Column id="usernm" type="STRING" size="256"/>
- <Column id="clncobsseqno" type="STRING" size="256"/>
- <Column id="status" type="STRING" size="256"/>
- </ColumnInfo>
- </Dataset>
- <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="carerecseqno" type="STRING" size="256"/>
- <Column id="pid" type="STRING" size="256"/>
- <Column id="indd" type="STRING" size="256"/>
- <Column id="cretno" type="STRING" size="256"/>
- <Column id="wardcd" type="STRING" size="256"/>
- <Column id="roomcd" type="STRING" size="256"/>
- <Column id="fromdt" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row/>
- </Rows>
- </Dataset>
- <Dataset id="ds_fluidlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="carerecseqno" type="bigdecimal" size="255"/>
- <Column id="recdt" type="string" size="255"/>
- <Column id="usernm" type="string" size="255"/>
- <Column id="userid" type="string" size="255"/>
- <Column id="recrslt" type="string" size="255"/>
- <Column id="fluidstat" type="string" size="255"/>
- <Column id="fluidetcinfo" type="string" size="255"/>
- <Column id="certkey" type="string" size="255"/>
- <Column id="clncobsseqno" type="string" size="255"/>
- </ColumnInfo>
- </Dataset>
- <Dataset id="ds_gridhhlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="cd" type="STRING" size="256"/>
- <Column id="nm" type="STRING" size="256"/>
- </ColumnInfo>
- </Dataset>
- <Dataset id="ds_gridmmlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="cd" type="STRING" size="256"/>
- <Column id="nm" type="STRING" size="256"/>
- </ColumnInfo>
- </Dataset>
- <Dataset id="ds_statlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="cd" type="STRING" size="256"/>
- <Column id="nm" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row>
- <Col id="cd">S</Col>
- <Col id="nm">Start</Col>
- </Row>
- <Row>
- <Col id="cd">C</Col>
- <Col id="nm">Change</Col>
- </Row>
- <Row>
- <Col id="cd">E</Col>
- <Col id="nm">End</Col>
- </Row>
- </Rows>
- </Dataset>
- <Dataset id="ds_recinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="reclist" type="STRING" size="256"/>
- <Column id="recdt" type="STRING" size="256"/>
- <Column id="fluidstat" type="STRING" size="256"/>
- <Column id="fluidetcinfo" type="STRING" size="256"/>
- </ColumnInfo>
- </Dataset>
- <Dataset id="ds_signdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
- </Objects>
- <Bind>
- <BindItem id="item2" compid="grp_ipt.cmb_fluidstat" propid="value" datasetid="ds_fluidinputdata" columnid="fluidstat"/>
- <BindItem id="item3" compid="grp_ipt.ipt_cc" propid="value" datasetid="ds_fluidinputdata" columnid="cc"/>
- <BindItem id="item4" compid="grp_ipt.ipt_etc" propid="value" datasetid="ds_fluidinputdata" columnid="etc"/>
- <BindItem id="item5" compid="grp_ipt.cmb_hh" propid="value" datasetid="ds_fluidinputdata" columnid="hh"/>
- <BindItem id="item0" compid="grp_ipt.cmb_mm" propid="value" datasetid="ds_fluidinputdata" columnid="mm"/>
- </Bind>
- <Script type="xscript4.0"><![CDATA[/***************************************************************************************
- * System Name : KU2.0
- * Job Name :
- * File Name : SPMNR10400_FlowSheet수액입력화면.xfdl
- * Creator :
- * Make Date : 2016-05-31
- *
- * Description :
- *---------------------------------------------------------------------------------------
- * Modify Date Modifier Modify Description
- *---------------------------------------------------------------------------------------
- *
- *---------------------------------------------------------------------------------------
- ****************************************************************************************/
- //=======================================================================================
- // xjs Include
- //---------------------------------------------------------------------------------------
- include "com_commonxp::comm_main.xjs";
- //include "com_signxp::ZES001.xjs";
- include "emr_carecomxp::CareCom.xjs";
- include "emr_carecomxp::ENRSignEngine.xjs";
- //******************************************************************
- // 전역변수 설정
- //******************************************************************
- var lgv_casrerecseqno = "";
- var lgv_fromdt = "";
- var lgv_todt = "";
- var lgv_pid = "";
- var lgv_indd = "";
- var lgv_cretno = "";
- var lgv_wardcd = "";
- var lgv_roomcd = "";
- var lgv_ioflag = "";
- var lgv_orddeptcd = "";
- var lgv_orddrid = "";
- var recdtArray = new Array();
- var recrsltArray = new Array();
- var fluidstatArray = new Array();
- var fluidetcinfoArray = new Array();
- var userinfoArray = new Array();
- var clncobsseqnoArray = new Array();
- var rtnrecdt = "";
- var rtnrecrslt = "";
- var rtnfluidstat = "";
- var rtnfluidetcinfo = "";
- var rtnuserinfo = "";
- var rtnsavedata = "";
- var gstrhh = "";
- var gstrmm = "";
- /****************************************************************************************
- * Function : lf_init
- * Description : 화면 초기화
- * Argument :
- * return type :
- * Creator :
- ****************************************************************************************/
- function lf_init()
- {
- lf_initInputNodeSet(true);
- if (ds_fluidinputdata.getRowCount() != 0)
- {
- ds_fluidinputdata.clearData();
- }
- ds_fluidinputdata.addRow();
-
- var sParamMsgInfo = "";
-
- if ( frmf_checkOpener() ) {
- sParamMsgInfo = opener.frmf_getParameter("SPMNR10400_Param");
- }
-
- //FlowSheet에서 넘어온 Parameter 정보 세팅
- lgv_casrerecseqno = utlf_transNullToEmpty(getArrayData(sParamMsgInfo, 0 ,0));
- lgv_fromdt = utlf_transNullToEmpty(getArrayData(sParamMsgInfo, 0 ,1));
- lgv_todt = utlf_transNullToEmpty(getArrayData(sParamMsgInfo, 0 ,2));
- lgv_pid = utlf_transNullToEmpty(getArrayData(sParamMsgInfo, 0 ,3));
- lgv_indd = utlf_transNullToEmpty(getArrayData(sParamMsgInfo, 0 ,4));
- lgv_cretno = utlf_transNullToEmpty(getArrayData(sParamMsgInfo, 0 ,5));
- lgv_wardcd = utlf_transNullToEmpty(getArrayData(sParamMsgInfo, 0 ,6));
- lgv_roomcd = utlf_transNullToEmpty(getArrayData(sParamMsgInfo, 0 ,7));
- lgv_ioflag = utlf_transNullToEmpty(getArrayData(sParamMsgInfo, 0 ,8));
- lgv_orddeptcd = utlf_transNullToEmpty(getArrayData(sParamMsgInfo, 0 ,9));
- lgv_orddrid = utlf_transNullToEmpty(getArrayData(sParamMsgInfo, 0 ,10));
-
- if( !utlf_isNull(getArrayData(sParamMsgInfo, 0 ,11)) )
- {
- grp_ipt.caption6.text = utlf_transNullToEmpty(getArrayData(sParamMsgInfo, 0 ,11));
- }
-
- lf_makeTmCmbNode("24", ds_gridhhlist);
- lf_makeTmCmbNode("60", ds_gridmmlist);
-
- ds_send.clearData();
- ds_send.addRow();
- ds_send.enableevent = false;
- ds_send.setColumn(0, "carerecseqno", lgv_casrerecseqno);
- ds_send.setColumn(0, "pid", lgv_pid);
- ds_send.setColumn(0, "indd", lgv_indd);
- ds_send.setColumn(0, "cretno", lgv_cretno);
- ds_send.setColumn(0, "wardcd", lgv_wardcd);
- ds_send.setColumn(0, "roomcd", lgv_roomcd);
- ds_send.setColumn(0, "fromdt", lgv_fromdt);
- ds_send.enableevent = true;
- // 트랙잭션 생성
- var oParam = new Object();
- oParam.id = "TRMNR10401";
- oParam.service = "flowchartapp.FlowChartRecMngt";
- oParam.method = "reqGetFluidInfo";
- oParam.inds = "req=" + ds_send.name;
- oParam.outds = ds_fluidlist.name + "=fluidlist";
- oParam.async = true;
- oParam.callback = "cf_TRMNR10401";
- tranf_submit(oParam);
- }
- /****************************************************************************************
- * Function : cbf_TRMNR10401
- * Description : Fluid기록 정보 조회 콜백
- * Argument :
- * return type :
- * Creator :
- ****************************************************************************************/
- function cf_TRMNR10401(strSvcID, nErrorCode, strErrorMag)
- {
- if (nErrorCode != 0){
- sysf_messageBox("", "E000", strErrorMag);
- return;
- } else {
- lf_settingFluidInfo();
- }
- }
- /****************************************************************************************
- * Function : lf_settingFluidInfo
- * Description : Fluid기록 정보 세팅
- * Argument :
- * return type :
- * Creator :
- ****************************************************************************************/
- function lf_settingFluidInfo() {
- ds_grid_grd_fluidinfo.clearData();
- var sRow = ds_fluidlist.findRow("carerecseqno", lgv_casrerecseqno);
- var sRecdt = utlf_transNullToEmpty(ds_fluidlist.getColumn(sRow, "recdt"));
- var sRecrslt = utlf_transNullToEmpty(ds_fluidlist.getColumn(sRow, "recrslt"));
- var sFluidstat = utlf_transNullToEmpty(ds_fluidlist.getColumn(sRow, "fluidstat"));
- var sFluidetcinfo = utlf_transNullToEmpty(ds_fluidlist.getColumn(sRow, "fluidetcinfo"));
- var sUserinfo = utlf_transNullToEmpty(ds_fluidlist.getColumn(sRow, "usernm"));
- var sClncobsseqno = utlf_transNullToEmpty(ds_fluidlist.getColumn(sRow, "clncobsseqno"));
-
- recdtArray = sRecdt.split("^");
- recrsltArray = sRecrslt.split("^");
- fluidstatArray = sFluidstat.split("^");
- fluidetcinfoArray = sFluidetcinfo.split("^");
- userinfoArray = sUserinfo.split("^");
- clncobsseqnoArray = sClncobsseqno.split("^");
-
- var nRow;
- ds_grid_grd_fluidinfo.enableevent = false;
- ds_grid_grd_fluidinfo.updatecontrol = false;
- for( var i = 0 ; i < recdtArray.length ; i++ ) {
- if( !utlf_isNull(lgv_fromdt) && !utlf_isNull(lgv_todt) && lgv_fromdt <= recdtArray[i] && lgv_todt > recdtArray[i]) {
- nRow = ds_grid_grd_fluidinfo.addRow();
- ds_grid_grd_fluidinfo.setColumn(nRow, "hh", recdtArray[i].substr(8, 2));
- ds_grid_grd_fluidinfo.setColumn(nRow, "mm", recdtArray[i].substr(10, 2));
- ds_grid_grd_fluidinfo.setColumn(nRow, "fluidstat", fluidstatArray[i]);
- ds_grid_grd_fluidinfo.setColumn(nRow, "cc", recrsltArray[i]);
- ds_grid_grd_fluidinfo.setColumn(nRow, "etc", fluidetcinfoArray[i]);
- ds_grid_grd_fluidinfo.setColumn(nRow, "usernm", userinfoArray[i]);
- ds_grid_grd_fluidinfo.setColumn(nRow, "clncobsseqno", clncobsseqnoArray[i]);
- }
- }
- ds_grid_grd_fluidinfo.updatecontrol = true;
- ds_grid_grd_fluidinfo.enableevent = true;
- }
- /****************************************************************************************
- * Function : lf_makeWord
- * Description : 문장에 구분자를 추가
- * Argument :
- * return type :
- * Creator :
- ****************************************************************************************/
- function lf_makeWord(pWord, pSplitFlag)
- {
- if (utlf_isNull(pSplitFlag)) {
- pSplitFlag = "\n";
- }
- if (!utlf_isNull(pWord)) {
- pWord += pSplitFlag;
- }
-
- return pWord;
- }
- /****************************************************************************************
- * Function : lf_makeTmCmbNode
- * Description : 시간, 분 콤보 세팅 함수
- * Argument :
- * return type :
- * Creator :
- ****************************************************************************************/
- function lf_makeTmCmbNode(pTmflag, ds_Obj:Dataset) {
- var sCd;
- var nRow;
-
- for (var i = 0 ;i < pTmflag; i++) {
- sCd = "";
-
- if(i < 10) {
- sCd = "0" + i;
- } else {
- sCd = i;
- }
-
- if (sCd == pTmflag) {
- sCd = pTmflag;
- }
-
- nRow = ds_Obj.addRow();
-
- ds_Obj.setColumn(nRow, "cd", sCd);
- ds_Obj.setColumn(nRow, "nm", sCd);
- }
- }
- /****************************************************************************************
- * Function : lf_addFluidInfo
- * Description : Fluid 등록/삭제 조건검사
- * Argument :
- * return type :
- * Creator :
- ****************************************************************************************/
- function lf_addFluidInfo(pFlag)
- {
- var sMsg = "";
- var sMsgvalue = "";
-
- var sFluidBeforeStat = "";
- var sFluidAfterStat = "";
- var sInshh = "";
- var sInsmm = "";
- var sInsFluidStat = "";
- var sInsFluidCC = "";
- var sInsFluidEtc = "";
- var sInsDt = "";
- var sInsClncObsSeqNo = "";
-
- var nRtnmsg = 0;
- sInshh = utlf_transNullToEmpty(ds_fluidinputdata.getColumn(0, "hh"));
- sInsmm = utlf_transNullToEmpty(ds_fluidinputdata.getColumn(0, "mm"));
- sInsFluidStat = utlf_transNullToEmpty(ds_fluidinputdata.getColumn(0, "fluidstat"));
- sInsFluidCC = utlf_transNullToEmpty(ds_fluidinputdata.getColumn(0, "cc"));
- sInsFluidEtc = utlf_transNullToEmpty(ds_fluidinputdata.getColumn(0, "etc"));
- sInsDt = lgv_fromdt.substr(0, 8) + sInshh + sInsmm + "00";
- sInsClncObsSeqNo = utlf_transNullToEmpty(ds_fluidinputdata.getColumn(0, "clncobsseqno"));
-
- if (pFlag == "ins") {
- // Update 체크
- if ( !utlf_isNull(sInsClncObsSeqNo)) {
- if (utlf_transNullToEmpty(ds_grid_grd_fluidinfo.lookup("clncobsseqno", sInsClncObsSeqNo, "hh")) == sInshh &&
- utlf_transNullToEmpty(ds_grid_grd_fluidinfo.lookup("clncobsseqno", sInsClncObsSeqNo, "mm")) == sInsmm &&
- utlf_transNullToEmpty(ds_grid_grd_fluidinfo.lookup("clncobsseqno", sInsClncObsSeqNo, "fluidstat")) == sInsFluidStat &&
- utlf_transNullToEmpty(ds_grid_grd_fluidinfo.lookup("clncobsseqno", sInsClncObsSeqNo, "cc")) == sInsFluidCC &&
- utlf_transNullToEmpty(ds_grid_grd_fluidinfo.lookup("clncobsseqno", sInsClncObsSeqNo, "etc")) == sInsFluidEtc) {
- sysf_messageBox("변경된 내용이", "I004", "");
- return false;
- }
- }
-
- //Fluid 입력 제한 조건
- if (utlf_isNull(sInshh) || utlf_isNull(sInsmm)) {
- sysf_messageBox("기록 시간이 입력되지", "E007", "");
- return false;
- }
-
- if (utlf_isNull(sInsFluidStat)) {
- sysf_messageBox("진행상태가 입력되지", "E007", "");
- return false;
- }
-
- if (sInsFluidStat == "S" && (utlf_isNull(sInsFluidCC) || utlf_isNull(sInsFluidEtc))) {
- sysf_messageBox("Start 입력시 " + grp_ipt.caption6.text + " 는 필수 입력입니다.", "E000", "");
- return false;
- }
-
- if (sInsFluidStat == "C" && (utlf_isNull(sInsFluidCC) || utlf_isNull(sInsFluidEtc))) {
- sysf_messageBox("Change 입력시 " + grp_ipt.caption6.text + " 는 필수 입력입니다.", "E000", "");
- return false;
- }
-
- if (sInsFluidStat != "E" && (!utlf_isNum(sInsFluidCC) || !utlf_isNum(sInsFluidEtc))) {
- sysf_messageBox("cc/hr & " + grp_ipt.caption6.text + " 는 숫자형식만 입력 가능 합니다.", "E000", "");
- return false;
- }
-
- for (var i = 0 ; i < recdtArray.length; i++) {
- if (sInsDt == recdtArray[i] && sInsFluidStat == fluidstatArray[i] && sInsClncObsSeqNo != clncobsseqnoArray[i]) {
- sysf_messageBox("동일한 시간에 Change 내역이 존재합니다.", "E000", "");
- return;
- }
-
- if (sInsDt >= recdtArray[i] && sInsClncObsSeqNo != clncobsseqnoArray[i]) {
- sFluidBeforeStat = fluidstatArray[i];
- } else if (sInsDt <= recdtArray[i] && utlf_isNull(sFluidAfterStat) && sInsClncObsSeqNo != clncobsseqnoArray[i]) {
- sFluidAfterStat = fluidstatArray[i];
- }
- }
-
- if (sInsFluidStat == "S") {
- if (sFluidBeforeStat == "S" || sFluidBeforeStat == "C") {
- sMsg += lf_makeWord(sMsg) + "입력 시간 이전에 Start 된 정보가 존재합니다.";
- sMsgvalue = "E";
- }
- else if (sFluidAfterStat == "S") {
- sMsg += lf_makeWord(sMsg) + "입력 시간 이후에 Start 된 정보가 존재합니다.";
- sMsgvalue = "E";
- }
- } else if (sInsFluidStat == "C") {
- if (sFluidBeforeStat == "E") {
- sMsg += lf_makeWord(sMsg) + "Start 정보가 존재하지 않습니다.";
- sMsgvalue = "E";
- } else if (utlf_isNull(sFluidBeforeStat)) {
- sMsg += lf_makeWord(sMsg) + "Start 정보가 존재하지 않습니다.";
- sMsgvalue = "E";
- }
- } else if (sInsFluidStat == "E") {
- if( sFluidBeforeStat == "E" ) {
- sMsg += lf_makeWord(sMsg) + "입력 시간 이전에 End 된 정보가 존재합니다.";
- sMsgvalue = "E";
- } else if (utlf_isNull(sFluidBeforeStat)) {
- sMsg += lf_makeWord(sMsg) + "Start 정보가 존재하지 않습니다.";
- sMsgvalue = "E";
- } else if (sFluidAfterStat == "C") {
- sMsg += lf_makeWord(sMsg) + "입력 시간 이후에 Change 된 정보가 존재합니다.";
- sMsgvalue = "E";
- } else if (sFluidAfterStat == "E") {
- sMsg += lf_makeWord(sMsg) + "입력 시간 이후에 End 된 기록이 존재합니다.";
- sMsgvalue = "E";
- }
- }
-
- if (!utlf_isNull(sMsgvalue)) {
- nRtnmsg = sysf_messageBox(sMsg, sMsgvalue, "");
-
- if (nRtnmsg != 6) {
- return false;
- }
- }
- } else {//del
- if (utlf_isNull(sInsClncObsSeqNo)) {
- lf_initInputNodeSet(true);
- return;
- } else {
- for (var i = 0; i < recdtArray.length; i++) {
- if (sInsDt >= recdtArray[i] && sInsClncObsSeqNo != clncobsseqnoArray[i]) {
- sFluidBeforeStat = fluidstatArray[i];
- } else if (sInsDt <= recdtArray[i] && utlf_isNull(sFluidAfterStat) && sInsClncObsSeqNo != clncobsseqnoArray[i]) {
- sFluidAfterStat = fluidstatArray[i];
- }
- }
-
- if (sInsFluidStat == "S") {
- if (sFluidAfterStat == "C") {
- sMsg += lf_makeWord(sMsg) + "해당 기록과 관련된 Change 정보가 존재하여 삭제가 할 수 없습니다.";
- sMsgvalue = "E";
- } else if (sFluidAfterStat == "E") {
- sMsg += lf_makeWord(sMsg) + "해당 기록과 관련된 End 정보가 존재하여 삭제가 할 수 없습니다.";
- sMsgvalue = "Q001";
- }
- } else if (sInsFluidStat == "E") {
- if (sFluidAfterStat == "S") {
- sMsg += lf_makeWord(sMsg) + "이후 기록에 Start 정보가 존재하여 삭제가 할 수 없습니다.";
- sMsgvalue = "E";
- }
- }
-
- if (!utlf_isNull(sMsgvalue)) {
- nRtnmsg = sysf_messageBox(sMsg, sMsgvalue, "");
-
- if (nRtnmsg != 6) {
- return false;
- }
- }
-
- ds_fluidinputdata.enableevent = false;
- ds_fluidinputdata.setColumn(0, "status", "U");
- ds_fluidinputdata.setColumn(0, "fluidstat", "");
- ds_fluidinputdata.setColumn(0, "cc", "");
- ds_fluidinputdata.setColumn(0, "etc", "");
- ds_fluidinputdata.enableevent = true;
- }
- }
-
- lf_saveFluidInfo();
- return true;
- }
- /****************************************************************************************
- * Function : lf_initInputNodeSet
- * Description : 입력 부분 초기화
- * Argument :
- * return type :
- * Creator :
- ****************************************************************************************/
- function lf_initInputNodeSet(pBoolean)
- {
- ds_fluidinputdata.enableevent = false;
- ds_fluidinputdata.setColumn(0, "hh", "");
- ds_fluidinputdata.setColumn(0, "mm", "");
- ds_fluidinputdata.setColumn(0, "fluidstat", "");
- ds_fluidinputdata.setColumn(0, "cc", "");
- ds_fluidinputdata.setColumn(0, "etc", "");
- ds_fluidinputdata.setColumn(0, "usernm", "");
- ds_fluidinputdata.setColumn(0, "clncobsseqno", "");
- ds_fluidinputdata.setColumn(0, "status", "");
- ds_fluidinputdata.enableevent = true;
-
- grp_ipt.enable = !pBoolean;
- btn_del.enable = !pBoolean;
- btn_add.enable = !pBoolean;
- }
- /****************************************************************************************
- * Function : lf_saveFluidInfo
- * Description : Fluid 등록/삭제
- * Argument :
- * return type :
- * Creator :
- ****************************************************************************************/
- function lf_saveFluidInfo()
- {
- var sSaveStatus = utlf_transNullToEmpty(ds_fluidinputdata.getColumn(0, "status"));
- var sSaveHH = utlf_transNullToEmpty(ds_fluidinputdata.getColumn(0, "hh"));
- var sSaveMM = utlf_transNullToEmpty(ds_fluidinputdata.getColumn(0, "mm"));
- var sSaveFluidStat = utlf_transNullToEmpty(ds_fluidinputdata.getColumn(0, "fluidstat"));
- var sSaveCC = utlf_transNullToEmpty(ds_fluidinputdata.getColumn(0, "cc"));
- var sSaveEtc = utlf_transNullToEmpty(ds_fluidinputdata.getColumn(0, "etc"));
- var sSaveClncObsSeqNo = utlf_transNullToEmpty(ds_fluidinputdata.getColumn(0, "clncobsseqno"));
- ds_recinfo.clearData();
- var nRow = ds_recinfo.addRow();
- ds_recinfo.enableevent = false;
- ds_recinfo.setColumn(nRow, "reclist", sSaveCC);
- ds_recinfo.setColumn(nRow, "recdt", lgv_fromdt.substr(0, 8) + sSaveHH + sSaveMM + "00");
- ds_recinfo.setColumn(nRow, "fluidstat", ds_statlist.lookup("cd", sSaveFluidStat, "nm"));
- ds_recinfo.setColumn(nRow, "fluidetcinfo", sSaveEtc);
- ds_recinfo.enableevent = true;
-
- ds_send.clear();
- dsf_createDsRow(ds_send.name, [{col:"status", type:"string", val:sSaveStatus}
- ,{col:"pid", type:"string", val:lgv_pid}
- ,{col:"indd", type:"string", val:lgv_indd}
- ,{col:"cretno", type:"string", val:lgv_cretno}
- ,{col:"wardcd", type:"string", val:lgv_wardcd}
- ,{col:"roomcd", type:"string", val:lgv_roomcd}
- ,{col:"ioflag", type:"string", val:lgv_ioflag}
- ,{col:"carerecseqno", type:"string", val:lgv_casrerecseqno}
- ,{col:"recdt", type:"string", val:lgv_fromdt.substr(0, 8) + sSaveHH + sSaveMM + "00"}
- ,{col:"recrslt", type:"string", val:sSaveCC}
- ,{col:"fluidstat", type:"string", val:sSaveFluidStat}
- ,{col:"fluidetcinfo", type:"string", val:sSaveEtc}
- ,{col:"rectype", type:"string", val:"H"}
- ,{col:"clncobsseqno", type:"string", val:sSaveClncObsSeqNo}]);
-
- ds_signdata.clear();
-
- Sign.certreload = true ; // 전자서명 호출시 인증저장 버튼을 누늘때마다 인증서가 뜨도록 처리
-
- if (Sign.signprocess() == true) {
- Sign.certreload = false;
- dsf_createDsRow("ds_signdata", [{col:"pid", type:"string", val:lgv_pid}
- ,{col:"orddd", type:"string", val:lgv_indd}
- ,{col:"signno", type:"string", val:""}
- ,{col:"cretno", type:"string", val:lgv_cretno}
- ,{col:"recdd", type:"string", val:utlf_getCurrentDate()}
- ,{col:"rectm", type:"string", val:utlf_getCurrentTime()}
- ,{col:"recsaveflag", type:"string", val:"Y"}
- ,{col:"signflag", type:"string", val:"02"}
- ,{col:"signgenrflag", type:"string", val:lgv_ioflag}
- ,{col:"formcd", type:"string", val:"0000002443"}
- ,{col:"orddeptcd", type:"string", val:lgv_orddeptcd}
- ,{col:"orddrid", type:"string", val:lgv_orddrid}
- ,{col:"carerecseqno", type:"string", val:lgv_casrerecseqno}
- ,{col:"lnkrecdt", type:"string", val:lgv_fromdt.substr(0, 8) + sSaveHH + sSaveMM + "00"}
- ,{col:"dispyn", type:"string", val:"N"}
- ,{col:"signbfcnts", type:"string", val:Sign.signedInfos[1]} // ▶ 인증할 데이터 정보(미기록 노드 제거된 정보) ▶ 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
- ,{col:"signaftcnts", type:"string", val:Sign.signedInfos[2]}]); // ▶ 공인인증 처리후 데이터
- } else {
- return false;
- }
- var sInPatientinfoDs = dsf_createDsRow("in_ds_patientinfo"
- , [{col:"pid", val: appf_getPatientInfo("pid")}
- ,{col:"pname", val: appf_getPatientInfo("hngnm")}
- ,{col:"btype", val: appf_getPatientInfo("btype")}
- ,{col:"insukind", val: appf_getPatientInfo("insukind")}
- ,{col:"orddept", val: appf_getPatientInfo("orddept")}
- ,{col:"apntdr", val: appf_getPatientInfo("apntdr")}]);
-
- var sInSessioninfoDS = dsf_createDsRow("in_ds_sessioninfo"
- , [{col:"server", val: sysf_getURLprefix()}
- ,{col:"userid", val: sysf_getUserInfo("userid")}
- ,{col:"usernm", val: sysf_getUserInfo("usernm")}
- ,{col:"posinstnm", val: sysf_getUserInfo("posinstnm")}
- ,{col:"posdeptnm", val: sysf_getUserInfo("posdeptnm")}
- ,{col:"dutplceinstnm", val: sysf_getUserInfo("dutplceinstnm")}
- ,{col:"dutplcenm", val: sysf_getUserInfo("dutplcenm")}
- ,{col:"jobkindnm", val: sysf_getUserInfo("jobkindnm")}
- ,{col:"logindt", val: sysf_getUserInfo("logindt")}]);
- // 트랙잭션 생성
- var oParam = new Object();
- oParam.id = "TXMNR10401";
- oParam.service = "flowchartapp.FlowChartRecMngt";
- oParam.method = "reqExeClincObsFluidRecList";
- oParam.inds = "req=ds_send signinfo=ds_signdata patientinfo=" + sInPatientinfoDs + " sessioninfo=" + sInSessioninfoDS;
- oParam.outds = "ds_fluidlist=fluidlist";
- oParam.async = true; // 동기
- oParam.callback = "cf_TXMNR10401";
- tranf_submit(oParam);
- }
- /****************************************************************************************
- * Function : cbf_TXMNR10401
- * Description : 저장/삭제 콜백
- * Argument :
- * return type :
- * Creator :
- ****************************************************************************************/
- function cf_TXMNR10401(strSvcID, nErrorCode, strErrorMag)
- {
- if (nErrorCode != 0) {
- sysf_messageBox("", "E000", strErrorMag);
- } else {
- opener.frmf_setParameter("SPMNR10400_ReturnSaveInfo", "Y");
- lf_settingFluidInfo();
- }
- }
- function fMake_SignData() {
- Sign.addnode("/certtemp/recinfo", ds_recinfo.saveXML());
- }
- //=======================================================================================
- // Event
- //---------------------------------------------------------------------------------------
- /****************************************************************************************
- * Components :
- * Components ID : SPMNR10400
- * Event : onload
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : 폼 로드
- ****************************************************************************************/
- function SPMNR10400_onload(obj:Form, e:LoadEventInfo)
- {
- //폼 초기화 함수
- frmf_initForm(obj);
-
- grdf_setRowTypeIcon(grd_fluidinfo, 0); //그리드 상태 아이콘 보여주기
-
- zesf_InitSign(); // 전자서명관련 모듈 생성 및 초기화
-
- lf_init();
- }
- /****************************************************************************************
- * Components :
- * Components ID : grd_fluidinfo
- * Event : oncelldblclick
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : 그리드 셀 더블클릭
- ****************************************************************************************/
- function grd_fluidinfo_oncelldblclick(obj:Grid, e:GridClickEventInfo)
- {
- lf_initInputNodeSet(false);
-
- ds_fluidinputdata.enableevent = false;
- ds_fluidinputdata.setColumn(0, "hh", utlf_transNullToEmpty(ds_grid_grd_fluidinfo.getColumn(e.row, "hh")));
- ds_fluidinputdata.setColumn(0, "mm", utlf_transNullToEmpty(ds_grid_grd_fluidinfo.getColumn(e.row, "mm")));
- ds_fluidinputdata.setColumn(0, "fluidstat", utlf_transNullToEmpty(ds_grid_grd_fluidinfo.getColumn(e.row, "fluidstat")));
- ds_fluidinputdata.setColumn(0, "cc", utlf_transNullToEmpty(ds_grid_grd_fluidinfo.getColumn(e.row, "cc")));
- ds_fluidinputdata.setColumn(0, "etc", utlf_transNullToEmpty(ds_grid_grd_fluidinfo.getColumn(e.row, "etc")));
- ds_fluidinputdata.setColumn(0, "usernm", utlf_transNullToEmpty(ds_grid_grd_fluidinfo.getColumn(e.row, "usernm")));
- ds_fluidinputdata.setColumn(0, "clncobsseqno", utlf_transNullToEmpty(ds_grid_grd_fluidinfo.getColumn(e.row, "clncobsseqno")));
- ds_fluidinputdata.setColumn(0, "status", "U");
- ds_fluidinputdata.enableevent = true;
-
- cmb_fluidstat_onitemchanged();
- }
- /****************************************************************************************
- * Components :
- * Components ID : cmb_fluidstat
- * Event : onitemchanged
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : 진행상태 변경시
- ****************************************************************************************/
- function cmb_fluidstat_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
- {
- if (utlf_transNullToEmpty(ds_fluidinputdata.getColumn(0, "fluidstat")) == "E") {
- grp_ipt.ipt_cc.value = "";
- grp_ipt.ipt_etc.value = "";
- grp_ipt.ipt_cc.enable = false;
- grp_ipt.ipt_etc.enable = false;
- } else {
- grp_ipt.ipt_cc.enable = true;
- grp_ipt.ipt_etc.enable = true;
- }
- }
- /****************************************************************************************
- * Components :
- * Components ID : btn_add
- * Event : onclick
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : 등록
- ****************************************************************************************/
- function btn_add_onclick(obj:Button, e:ClickEventInfo)
- {
- if(lf_addFluidInfo("ins") == true) {
- lf_initInputNodeSet(true);
- }
- }
- /****************************************************************************************
- * Components :
- * Components ID : btn_del
- * Event : onclick
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : 삭제
- ****************************************************************************************/
- function btn_del_onclick(obj:Button, e:ClickEventInfo)
- {
- if (lf_addFluidInfo("del") == true) {
- lf_initInputNodeSet(true);
- }
- }
- /****************************************************************************************
- * Components :
- * Components ID : btn_new
- * Event : onclick
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : 신규
- ****************************************************************************************/
- function btn_new_onclick(obj:Button, e:ClickEventInfo)
- {
- lf_initInputNodeSet(false);
-
- ds_fluidinputdata.enableevent = false;
- ds_fluidinputdata.setColumn(0, "hh", lgv_fromdt.substr(8,2));
- ds_fluidinputdata.setColumn(0, "mm", "00");
- ds_fluidinputdata.setColumn(0, "usernm", sysf_getUserName());
- ds_fluidinputdata.setColumn(0, "status", "I");
- ds_fluidinputdata.enableevent = true;
-
- }
- /****************************************************************************************
- * Components :
- * Components ID : btn_close
- * Event : onclick
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : 닫기
- ****************************************************************************************/
- function btn_close_onclick(obj:Button, e:ClickEventInfo)
- {
- this.close();
- }
- function grp_ipt_cmb_hh_onkillfocus(obj:Combo, e:KillFocusEventInfo)
- {
- var index = 0;
- var userText = gstrhh;
-
- var nlistFine = ds_gridhhlist.findRow("cd", userText);
- if(nlistFine >= 0)
- {
- grp_ipt.cmb_hh.index = nlistFine;
- ds_fluidinputdata.setColumn(0, "hh", grp_ipt.cmb_hh.text);
- gstrhh = "";
- }
- }
- function grp_ipt_cmb_hh_ontextchange(obj:Combo, e:TextChangeEventInfo)
- {
- grp_ipt.cmb_hh.usertext = e.posttext;
- gstrhh = grp_ipt.cmb_hh.usertext;
- }
- function grp_ipt_cmb_hh_oncloseup(obj:Combo, e:ComboCloseUpEventInfo)
- {
- grp_ipt.cmb_mm.setFocus();
- }
- function grp_ipt_cmb_hh_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
- {
- gstrhh = "";
- }
- function grp_ipt_cmb_mm_oncloseup(obj:Combo, e:ComboCloseUpEventInfo)
- {
- grp_ipt.cmb_fluidstat.setFocus();
- }
- function grp_ipt_cmb_mm_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
- {
- gstrmm = "";
- }
- function grp_ipt_cmb_mm_onkillfocus(obj:Combo, e:KillFocusEventInfo)
- {
- var index = 0;
- var userText = gstrmm;
-
- var nlistFine = ds_gridmmlist.findRow("cd", userText);
- if(nlistFine >= 0)
- {
- grp_ipt.cmb_mm.index = nlistFine;
- ds_fluidinputdata.setColumn(0, "mm", grp_ipt.cmb_mm.text);
- gstrmm = "";
- }
- }
- function grp_ipt_cmb_mm_ontextchange(obj:Combo, e:TextChangeEventInfo)
- {
- grp_ipt.cmb_mm.usertext = e.posttext;
- gstrmm = grp_ipt.cmb_mm.usertext;
- }
- function btn_currenttm_onclick(obj:Button, e:ClickEventInfo)
- {
- //190828_AYS_현재시간 클릭 시 현재시간 세팅
- if( !utlf_isNull( ds_fluidinputdata.getColumn(0, "hh")) || !utlf_isNull( ds_fluidinputdata.getColumn(0, "mm")) ) {
- ds_fluidinputdata.setColumn(0, "hh", utlf_getCurrentTime().substr(0, 2));
- ds_fluidinputdata.setColumn(0, "mm", utlf_getCurrentTime().substr(2, 2));
- }
- }
- ]]></Script>
- </Form>
- </FDL>
|