123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740 |
- <?xml version="1.0" encoding="utf-8"?>
- <FDL version="1.5">
- <TypeDefinition url="..\..\..\default_typedef.xml"/>
- <Form id="SPMMO01900" position="absolute 0 0 587 588" titletext="복용방법" oninit="SPMMO01900_oninit" onload="SPMMO01900_onload">
- <Layouts>
- <Layout>
- <Button position="absolute 480 568 532 588" id="button1" class="btn4" text="선택" onclick="button1_onclick"/>
- <Button position="absolute 535 568 587 588" id="button2" class="btn3" text="취소" onclick="button2_onclick"/>
- <Static text="복용방법 List" position="absolute 0 95 171 115" id="caption3" class="tit_2"/>
- <Grid position="absolute 0 114 587 519" id="grd_mthd" binddataset="ds_tmedmthdlist" autofittype="col" oncelldblclick="grd_mthd_oncelldblclick" oncellclick="grd_mthd_oncellclick">
- <Formats>
- <Format id="default">
- <Columns>
- <Column size="0"/>
- <Column size="100"/>
- <Column size="425"/>
- <Column size="40"/>
- </Columns>
- <Rows>
- <Row size="24" band="head"/>
- <Row size="24"/>
- </Rows>
- <Band id="head">
- <Cell/>
- <Cell col="1" text="복용방법코드"/>
- <Cell col="2" text="복용방법"/>
- <Cell col="3" text="횟수"/>
- </Band>
- <Band id="body">
- <Cell displaytype="checkbox" edittype="checkbox" text="bind:status"/>
- <Cell col="1" style="align:left middle;" text="bind:mthdcd"/>
- <Cell col="2" style="align:left middle;" text="bind:abbrnm"/>
- <Cell col="3" text="bind:basecnt"/>
- </Band>
- </Format>
- </Formats>
- </Grid>
- <Div position="absolute 5 568 411 588" id="group1" visible="false">
- <Layouts>
- <Layout>
- <MaskEdit position="absolute 95 0 130 20" id="input1" mask="#.###" anchor="default" autoselect="true" autoskip="true" taborder="1" onkeyup="group1_onkeyup"/>
- <MaskEdit position="absolute 133 0 168 20" id="input2" mask="#.###" anchor="default" autoselect="true" autoskip="true" taborder="2" onkeyup="group1_onkeyup"/>
- <MaskEdit position="absolute 171 0 206 20" id="input3" mask="#.###" anchor="default" autoselect="true" autoskip="true" taborder="3" onkeyup="group1_onkeyup"/>
- <MaskEdit position="absolute 209 0 244 20" id="input4" mask="#.###" anchor="default" autoselect="true" autoskip="true" taborder="4" onkeyup="group1_onkeyup"/>
- <MaskEdit position="absolute 247 0 282 20" id="input5" mask="#.###" anchor="default" autoskip="true" autoselect="true" taborder="5" onkeyup="group1_onkeyup"/>
- <MaskEdit position="absolute 285 0 320 20" id="input6" mask="#.###" anchor="default" autoskip="true" autoselect="true" taborder="6" onkeyup="group1_onkeyup"/>
- <MaskEdit position="absolute 323 0 358 20" id="input7" mask="#.###" anchor="default" autoselect="true" autoskip="true" taborder="7" onkeyup="group1_onkeyup"/>
- <MaskEdit position="absolute 361 0 396 20" id="input8" mask="#.###" anchor="default" autoselect="true" autoskip="true" taborder="8" onkeyup="group1_onkeyup"/>
- <CheckBox position="absolute 13 0 85 18" align="align:center middle;" id="checkbox1" anchor="default" style="font:Dotum,9;" truevalue="Y" expr="expr:(value == "Y") ? "비율처방" : """ onclick="group1_checkbox1_onclick"/>
- </Layout>
- </Layouts>
- </Div>
- <CheckBox position="absolute 0 524 75 544" id="bool1" text="예외용법" falsevalue="N" truevalue="Y" onclick="bool1_onclick"/>
- <CheckBox position="absolute 0 546 75 566" id="bool2" text="따로포장" falsevalue="N" truevalue="Y"/>
- <Edit position="absolute 86 524 587 544" id="ipt_exptmthdfact" autoselect="true"/>
- <Div id="Div00" taborder="1" position="absolute 0 0 587 90" class="div_SA2">
- <Layouts>
- <Layout>
- <Combo id="cmb_mthdtime" taborder="0" innerdataset="ds_M0478" codecolumn="cdid" datacolumn="cdnm" position="absolute 112 35 309 55" anchor="default" onitemchanged="Div00_cmb_mthdtime_onitemchanged"/>
- <Static id="caption6" text="용법시간 :" class="search_name" position="absolute 22 35 96 55" anchor="default"/>
- <Static id="caption5" text="용법종류 :" class="search_name" position="absolute 22 62 100 82" anchor="default"/>
- <Static id="caption4" text="기본종류 :" class="search_name" position="absolute 22 8 96 28" anchor="default"/>
- <Radio id="rdo_baseqty" taborder="1" columncount="6" rowcount="0" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 112 8 427 28" anchor="default" onitemchanged="Div00_rdo_baseqty_onitemchanged">
- <Dataset id="innerdataset">
- <ColumnInfo>
- <Column id="codecolumn"/>
- <Column id="datacolumn"/>
- </ColumnInfo>
- <Rows>
- <Row>
- <Col id="codecolumn">1</Col>
- <Col id="datacolumn">1회</Col>
- </Row>
- <Row>
- <Col id="codecolumn">2</Col>
- <Col id="datacolumn">2회</Col>
- </Row>
- <Row>
- <Col id="codecolumn">3</Col>
- <Col id="datacolumn">3회</Col>
- </Row>
- <Row>
- <Col id="codecolumn">4</Col>
- <Col id="datacolumn">4회</Col>
- </Row>
- <Row>
- <Col id="codecolumn">5</Col>
- <Col id="datacolumn">5회이상</Col>
- </Row>
- </Rows>
- </Dataset>
- </Radio>
- <Radio id="rdo_mthdkind" taborder="2" columncount="5" rowcount="1" innerdataset="ds_A0017" codecolumn="cdid" datacolumn="cdnm" position="absolute 112 62 572 82" anchor="default" onitemchanged="Div00_rdo_mthdkind_onitemchanged"/>
- </Layout>
- </Layouts>
- </Div>
- </Layout>
- </Layouts>
- <Objects>
- <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="cond1" type="STRING" size="256"/>
- <Column id="cond2" type="STRING" size="256"/>
- <Column id="mthdtime" type="STRING" size="256"/>
- <Column id="mthdtimenm" type="STRING" size="256"/>
- <Column id="hardcd" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row/>
- </Rows>
- </Dataset>
- <Dataset id="ds_init_hardcd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="hardcd" type="STRING" size="256" sumtext="하드코드"/>
- </ColumnInfo>
- </Dataset>
- <Dataset id="ds_main_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="drugindependpackflag" type="STRING" size="256"/>
- <Column id="exptmthdfact" type="STRING" size="256"/>
- <Column id="exptmthdfactflag" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row>
- <Col id="drugindependpackflag">N</Col>
- <Col id="exptmthdfact">-</Col>
- <Col id="exptmthdfactflag">N</Col>
- </Row>
- </Rows>
- </Dataset>
- <Dataset id="ds_root" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="rateflag" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row/>
- </Rows>
- </Dataset>
- <Dataset id="ds_tmedmthdlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="status" type="STRING" size="256" sumtext="상태"/>
- <Column id="abbrnm" type="STRING" size="256" sumtext="약어명"/>
- <Column id="mthdcnts" type="STRING" size="256" sumtext="용법내용"/>
- <Column id="mthdcd" type="STRING" size="256" sumtext="용법코드"/>
- <Column id="basecnt" type="STRING" size="256" sumtext="기본횟수"/>
- <Column id="adminpath" type="STRING" size="256" sumtext="투여경로구분"/>
- <Column id="mealflag" type="STRING" size="256" sumtext="식전후구분"/>
- <Column id="drdirecyn" type="STRING" size="256" sumtext="의사지시여부"/>
- </ColumnInfo>
- </Dataset>
- <Dataset id="ds_A0017" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
- <Dataset id="ds_M0478" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
- <Dataset id="ds_rateprcp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="rate1" type="STRING" size="256"/>
- <Column id="rate2" type="STRING" size="256"/>
- <Column id="rate3" type="STRING" size="256"/>
- <Column id="rate4" type="STRING" size="256"/>
- <Column id="rate5" type="STRING" size="256"/>
- <Column id="rate6" type="STRING" size="256"/>
- <Column id="rate7" type="STRING" size="256"/>
- <Column id="rate8" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row/>
- </Rows>
- </Dataset>
- </Objects>
- <Bind>
- <BindItem id="item0" compid="Div00.rdo_baseqty" propid="value" datasetid="ds_send" columnid="cond2"/>
- <BindItem id="item1" compid="Div00.cmb_mthdtime" propid="value" datasetid="ds_send" columnid="mthdtime"/>
- <BindItem id="item2" compid="Div00.rdo_mthdkind" propid="value" datasetid="ds_send" columnid="cond1"/>
- <BindItem id="item3" compid="group1.checkbox1" propid="value" datasetid="ds_root" columnid="rateflag"/>
- <BindItem id="item4" compid="ipt_exptmthdfact" propid="value" datasetid="ds_main_cond" columnid="exptmthdfact"/>
- <BindItem id="item5" compid="group1.input1" propid="value" datasetid="ds_rateprcp" columnid="rate1"/>
- <BindItem id="item6" compid="group1.input2" propid="value" datasetid="ds_rateprcp" columnid="rate2"/>
- <BindItem id="item7" compid="group1.input3" propid="value" datasetid="ds_rateprcp" columnid="rate3"/>
- <BindItem id="item8" compid="group1.input4" propid="value" datasetid="ds_rateprcp" columnid="rate4"/>
- <BindItem id="item9" compid="group1.input5" propid="value" datasetid="ds_rateprcp" columnid="rate5"/>
- <BindItem id="item10" compid="group1.input6" propid="value" datasetid="ds_rateprcp" columnid="rate6"/>
- <BindItem id="item11" compid="group1.input7" propid="value" datasetid="ds_rateprcp" columnid="rate7"/>
- <BindItem id="item12" compid="group1.input8" propid="value" datasetid="ds_rateprcp" columnid="rate8"/>
- <BindItem id="item13" compid="bool1" propid="value" datasetid="ds_main_cond" columnid="exptmthdfactflag"/>
- <BindItem id="item14" compid="bool2" propid="value" datasetid="ds_main_cond" columnid="drugindependpackflag"/>
- </Bind>
- <Script type="xscript4.0"><![CDATA[/***************************************************************************************
- * System Name :
- * Job Name :
- * Creator :
- * Make Date : 2014-12-10
- * Description :
- *---------------------------------------------------------------------------------------
- * Modify Date Modifier Modify Description
- *---------------------------------------------------------------------------------------
- * 2014-12-10 Live Converter TF->XP
- *
- *---------------------------------------------------------------------------------------
- ****************************************************************************************/
- include "com_commonxp::comm_main.xjs";
- include "emr_prcpmngtxp::MMO001.xjs";
- include "emr_prcpmngtxp::SMMMO00100.xjs";
- var arErrorCode = new HashArray();
- var mthdKind = "";
- var openerrow = 0;
- function SPMMO01900_oninit(obj:Form, e:InitEventInfo)
- {
- frmf_initForm(obj);
- }
- function SPMMO01900_onload(obj:Form, e:LoadEventInfo)
- {
- grdf_setToolTipBind(grd_mthd);
-
- opener.frmf_setParameter ( "SPMMO01900_prcptims", "" );
- opener.frmf_setParameter ( "SPMMO01900_rateprcpflag", "" );
-
- appf_getCodeList([{dsNm: "ds_A0017", cdGrpId: "A0017", sortField: "dispseq", sortMehotd: "dispseq"} //용법종류
- , {dsNm: "ds_M0478", cdGrpId: "M0478"}], true); //용법시간
- frmf_addComboItem("Div00.cmb_mthdtime"); //용법시간 전체항목 추가
- ds_send.setColumn(0, "mthdtime", "-");
- var srchRow = opener.frmf_getParameter ( "SPMMO01900_srchRow" );//복용방법이 없을 때 자동팝업
- if (utlf_isNull(srchRow)) {
- if ( opener.ds_main_prcplist.rowposition == -1) {
- openerrow = 0;
- } else {
- openerrow = opener.ds_main_prcplist.rowposition;
- }
- } else {
- openerrow = srchRow;
- titletext = titletext + "[" + opener.ds_main_prcplist.getColumn(openerrow, "prcpcd") + " : " + opener.ds_main_prcplist.getColumn(openerrow, "orgprcpnm") + "]";
- }
- var prcptims = opener.ds_main_prcplist.getColumn(openerrow, "prcptims");
- var tempcol2 = opener.ds_main_prcplist.getColumn(openerrow, "tempcol2");//수익분류
- if ( prcptims == 1 ) {
- group1.checkbox1.enable = false;
- }
- if ( utlf_isNull(prcptims)) prcptims = 1;
- var prcpclscd = opener.ds_main_prcplist.getColumn(openerrow, "prcpclscd");
- if ( prcpclscd == "A2" ) {
- mthdKind = "N";
- Div00.rdo_mthdkind.enable = false;
- }
- if ( prcpclscd == "A4" ) {
- //비율은 내복약만 쓴다.
- Div00.rdo_baseqty.enable = false;
- group1.visible = false;
- mthdKind = "Y"
- ds_send.setColumn(0, "hardcd", 99);
-
- var oParam = {};
- oParam.id = "TRMMB04103";
- oParam.service = "prcpbaseapp.EnvInfoMngt";
- oParam.method = "reqGetHardCodeCD";
- oParam.inds = "req=ds_send";
- oParam.outds = "ds_init_hardcd=hardcd";
- oParam.async = false;
- oParam.callback = "cf_TRMMB04103";
- tranf_submit(oParam);
-
- if(arErrorCode.pop("TRMMB04103") > -1) {
- if (!utlf_isNull(ds_init_hardcd.lookup("hardcd", tempcol2, "hardcd"))) {
- mthdKind = "O";
- }
-
- ds_init_hardcd.clearData();
- }
- }
-
- if ( prcpclscd == "A6" ) {
- mthdKind = "I"
- //비율은 내복약만 쓴다.
- group1.visible = false;
- //주사는 횟수가 무조건 1이다.
- prcptims = "1"
- Div00.rdo_baseqty.enable = false;
- Div00.rdo_mthdkind.enable = false;
- }
- ds_send.setColumn(0, "cond1", mthdKind );
- if ( prcpclscd != "A2" ) {
- //경구약이 아닌경우에는 회수는 필요없다.
- ds_send.setColumn(0, "cond2", "");
- } else {
- ds_send.setColumn(0, "cond2", prcptims );
- }
-
- //예외 용법 설정된 경우, 용법창에 표시
- //2008. 08. 06 오지훈
- var exptmthdfact = opener.ds_main_prcplist.getColumn(openerrow, "exptmthdfact");
- if(exptmthdfact != "-" && !utlf_isNull(exptmthdfact)){ //값이 default 또는 없는 경우
- ipt_exptmthdfact.enable = true;
- ds_main_cond.setColumn(0, "exptmthdfact", exptmthdfact);
- bool1.value = "Y";
- }else{
- ipt_exptmthdfact.enable = false;
- }
-
- //따로포장 값 설정된경우 표시되도록. by sonjy 20081112
- var drugindependpackflag = opener.ds_main_prcplist.getColumn(openerrow, "drugindependpackflag");
- if( drugindependpackflag == "Y" ){
- ds_main_cond.setColumn(0, "drugindependpackflag" , drugindependpackflag);
- }
-
- var rateprcpflag = opener.ds_main_prcplist.getColumn(openerrow, "rateprcpflag");
- if ( rateprcpflag == "N" || utlf_isNull(rateprcpflag)) {
- group1.input1.enable = false;
- group1.input2.enable = false;
- group1.input3.enable = false;
- group1.input4.enable = false;
- group1.input5.enable = false;
- group1.input6.enable = false;
- group1.input7.enable = false;
- group1.input8.enable = false;
- } else {
- ds_root.setColumn(0, "rateflag", "Y");
-
- group1.checkbox1.style.color = "#ff0000ff";
- group1.checkbox1.style.font = "Dotum,9,bolld";
-
- var drugrateqty = opener.ds_main_prcplist.getColumn(openerrow, "drugrateqty") + "^";
- var cnt = 0;
- var childCnt = group1.components.length;
- var childObj;
- for( var i = 0; i < childCnt; i++ ) {
- childOb = group1.components[i];
- if( sysf_getObjType(childOb) == "MaskEdit") {
- if ( cnt < eval(prcptims)) {
- childOb.enable = true;
- childOb.value = lf_getArrayData (drugrateqty, 0, cnt, "^", "|" );
- } else {
- childOb.enable = false;
- }
- cnt++;
- }
- }
- }
-
- ds_send.setColumn(0, "mthdtimenm", Div00.cmb_mthdtime.text);
-
- dsf_setDefaultVal(ds_send, "mthdtime:-");
- var oParam = {};
- oParam.id = "TRMMO01901";
- oParam.service = "prcpmngtapp.PrcpMngt";
- oParam.method = "reqGetTmedTthdInfo";
- oParam.inds = "req=ds_send";
- oParam.outds = "ds_tmedmthdlist=tmedmthdlist";
- oParam.async = false;
- tranf_submit(oParam);
- var mthdcd = opener.ds_main_prcplist.getColumn(openerrow, "drugmthdspccd");
- for ( var i = 0; i < ds_tmedmthdlist.rowcount; i++ ) {
- if ( mthdcd == ds_tmedmthdlist.getColumn(i, "mthdcd") ) {
- ds_tmedmthdlist.rowposition = i;
- grd_mthd.vscrollbar.pos = i;
- ds_tmedmthdlist.setColumn(i, "status", "Y" );
- }
- }
-
- ds_send.setColumn(0, "hardcd", 45);
-
- var oParam = {};
- oParam.id = "TRMMB04103";
- oParam.service = "prcpbaseapp.EnvInfoMngt";
- oParam.method = "reqGetHardCodeCD";
- oParam.inds = "req=ds_send";
- oParam.outds = "ds_init_hardcd=hardcd";
- oParam.async = true;
- tranf_submit(oParam);
-
- // 0번째 행이 선택되어 있고 [선택]버튼을 클릭시 선택된 값이 넘어가지 않음
- if( ds_tmedmthdlist.rowposition == 0 ) {
- ds_tmedmthdlist.setColumn(ds_tmedmthdlist.rowposition, "status", "Y");
- }
- }
- function cf_TRMMB04103(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- function Div00_rdo_baseqty_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
- {
- if ( obj.value == 1 ) {
- ds_root.setColumn(0, "rateflag", "" );
- //checkbox1.disabled = true;
- } else {
- //checkbox1.disabled = false;
- }
- //checkbox1.dispatch ( "xforms-value-changed" );
- //submit parameter로 용법시간명 추가 2008.06.09 오지훈
- ds_send.setColumn(0, "mthdtimenm", Div00.cmb_mthdtime.text);
-
- dsf_setDefaultVal(ds_send, "mthdtime:-");
- var oParam = {};
- oParam.id = "TRMMO01901";
- oParam.service = "prcpmngtapp.PrcpMngt";
- oParam.method = "reqGetTmedTthdInfo";
- oParam.inds = "req=ds_send";
- oParam.outds = "ds_tmedmthdlist=tmedmthdlist";
- oParam.async = true;
- tranf_submit(oParam);
- }
- function Div00_cmb_mthdtime_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
- {
- ds_send.setColumn(0, "mthdtimenm", Div00.cmb_mthdtime.text);
-
- dsf_setDefaultVal(ds_send, "mthdtime:-");
- var oParam = {};
- oParam.id = "TRMMO01901";
- oParam.service = "prcpmngtapp.PrcpMngt";
- oParam.method = "reqGetTmedTthdInfo";
- oParam.inds = "req=ds_send";
- oParam.outds = "ds_tmedmthdlist=tmedmthdlist";
- oParam.async = true;
- tranf_submit(oParam);
- }
- function Div00_rdo_mthdkind_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
- {
- var prcpclscd = opener.ds_main_prcplist.getColumn(openerrow, "prcpclscd");
- if ( prcpclscd == "A4" ) {
- bmthdKind = ds_send.getColumn(0, "cond1");
- if ( bmthdKind == "N" || bmthdKind == "I" ) {
- sysf_messageBox ( "선택할 수 없는 용법종류", "E008" );
- ds_send.setColumn(0, "cond1", mthdKind);
- return;
- } else {
- //submit parameter로 용법시간명 추가 2008.06.09 오지훈
- ds_send.setColumn(0, "mthdtimenm", Div00.cmb_mthdtime.text);
-
- dsf_setDefaultVal(ds_send, "mthdtime:-");
- var oParam = {};
- oParam.id = "TRMMO01901";
- oParam.service = "prcpmngtapp.PrcpMngt";
- oParam.method = "reqGetTmedTthdInfo";
- oParam.inds = "req=ds_send";
- oParam.outds = "ds_tmedmthdlist=tmedmthdlist";
- oParam.async = true;
- tranf_submit(oParam);
- }
- }
- }
- function grd_mthd_oncelldblclick(obj:Grid, e:GridClickEventInfo)
- {
- if(e.row < 0 || e.col < 0) return;
-
- if(bool1.value == "Y"){
- sysf_messageBox("예외 용법이 선택된 경우, 일반용법을 선택", "E001");
- return;
-
- }else{
- ds_tmedmthdlist.setColumn(e.row, "status", "Y" );
- button1.onclick.fireEvent(button1, new ClickEventInfo());
- }
- }
- function bool1_onclick(obj:CheckBox, e:ClickEventInfo)
- {
- var exptmthdfactflag = ds_main_cond.getColumn(0, "exptmthdfactflag");
- if(exptmthdfactflag == "Y"){
- var sPrcpgenrFlag = opener.ds_main_prcplist.getColumn(openerrow, "prcpgenrflag");
- var sPrcpClscd = opener.ds_main_prcplist.getColumn(openerrow, "prcpclscd");
- var sPrcpKindcd = opener.ds_main_prcplist.getColumn(openerrow, "prcpkindcd");
-
- if( sPrcpgenrFlag != "O" && sPrcpgenrFlag != "S" && sPrcpKindcd != "50" && sPrcpKindcd != "50" && sPrcpKindcd != "50") {
- if(sPrcpClscd == "A2" || sPrcpClscd == "A4" || sPrcpClscd == "A6") {
- ds_main_cond.setColumn(0, "exptmthdfactflag", "N");
- ds_main_cond.setColumn(0, "exptmthdfact", "-");
- ipt_exptmthdfact.enable = false;
- sysf_messageBox ( "입원 환자의 약품 처방은 병동 투약기록이 불가 하므로 예외용법을 적용 할 수 없습니다. \n '의사지시대로' 용법 선택 후 처방 전달사항으로 입력 하세요.", "E" );
- } else {
- ipt_exptmthdfact.enable = true;
- }
- } else {
- ipt_exptmthdfact.enable = true;
- }
- }else{
- ds_main_cond.setColumn(0, "exptmthdfact", "-");
- ipt_exptmthdfact.enable = false;
- }
- }
- function group1_checkbox1_onclick(obj:CheckBox, e:ClickEventInfo)
- {
-
- }
- function button1_onclick(obj:Button, e:ClickEventInfo)
- {
- var drugrateqty = "";
- var cnt = 0;
-
- if ( (group1.input1.enable && utlf_isNull(group1.input1.value)) ||
- (group1.input2.enable && utlf_isNull(group1.input2.value)) ||
- (group1.input3.enable && utlf_isNull(group1.input3.value)) ||
- (group1.input4.enable && utlf_isNull(group1.input4.value)) ||
- (group1.input5.enable && utlf_isNull(group1.input5.value)) ||
- (group1.input6.enable && utlf_isNull(group1.input6.value)) ||
- (group1.input7.enable && utlf_isNull(group1.input7.value)) ||
- (group1.input8.enable && utlf_isNull(group1.input8.value))) {
- sysf_messageBox ( "비율처방 값을 모두 입력해 주십시오.", "E" );
- return;
- }
-
- if ( !utlf_isNull(group1.input1.value)) drugrateqty = drugrateqty + group1.input1.value + "|";
- if ( !utlf_isNull(group1.input2.value)) drugrateqty = drugrateqty + group1.input2.value + "|";
- if ( !utlf_isNull(group1.input3.value)) drugrateqty = drugrateqty + group1.input3.value + "|";
- if ( !utlf_isNull(group1.input4.value)) drugrateqty = drugrateqty + group1.input4.value + "|";
- if ( !utlf_isNull(group1.input5.value)) drugrateqty = drugrateqty + group1.input5.value + "|";
- if ( !utlf_isNull(group1.input6.value)) drugrateqty = drugrateqty + group1.input6.value + "|";
- if ( !utlf_isNull(group1.input7.value)) drugrateqty = drugrateqty + group1.input7.value + "|";
- if ( !utlf_isNull(group1.input8.value)) drugrateqty = drugrateqty + group1.input8.value + "|";
-
- if (!utlf_isNull(drugrateqty)) {
- drugrateqty = drugrateqty.substring ( 0, drugrateqty.length - 1 );
- opener.ds_main_prcplist.setColumn(openerrow, "drugrateqty", drugrateqty );
- }
-
- var drugmthdspccdnm = "";
- var drugmthdspccd = "";
- var prcpvol = 0;
- var prcpqty = 0;
- var prcptims = 0;
-
- var bfprcpqty = 0;
- var bfprcptims = 0;
- var gridchkflag ;
- if ( ds_tmedmthdlist.rowposition < 0 && bool1.value != "Y") {
- sysf_messageBox ( "선택된 복용방법이", "I004" );
- return;
- }
-
- for ( var i = 0; i < ds_tmedmthdlist.rowcount; i++ ) {
- if ( ds_tmedmthdlist.getColumn(i, "status") == "Y" ) {
- gridchkflag = "Y" ;
- //복용방법 중 안과용법이 선택된 경우, 시행부서를 특수조제실로 설정
- //2008. 08. 04 오지훈
- var mthdcd = ds_tmedmthdlist.getColumn(ds_tmedmthdlist.rowposition, "mthdcd");
- var hardcd = ds_init_hardcd.lookup("hardcd", mthdcd, "hardcd");
- if(!utlf_isNull(hardcd)){
- opener.ds_main_prcplist.setColumn(openerrow, "prcpexecdeptcd", "3240807000");
- }
-
- drugmthdspccdnm = ds_tmedmthdlist.getColumn(ds_tmedmthdlist.rowposition, "abbrnm");
- drugmthdspccd = ds_tmedmthdlist.getColumn(ds_tmedmthdlist.rowposition, "mthdcd");
- exptmthdfact = ds_main_cond.getColumn(0, "exptmthdfact");
- drugindependpackflag = ds_main_cond.getColumn(0, "drugindependpackflag");
-
- //예외용법을 선택한 경우, 용법 코드에 예외용법코드(ZZZ)를 설정한다.
- if(bool1.value == "Y"){
- drugmthdspccd = "ZZZ";
- drugmthdspccdnm = ipt_exptmthdfact.text;
- }
-
- if (opener.ds_main_prcplist.getColumn(openerrow, "prcpclscd") == "A6") {
- opener.ds_main_prcplist.setColumn(openerrow, "drugmthdspccdnm", drugmthdspccdnm);
- opener.ds_main_prcplist.setColumn(openerrow, "drugmthdspccd" , drugmthdspccd);
- close();
- return;
- }
- prcptims = eval(ds_tmedmthdlist.getColumn(ds_tmedmthdlist.rowposition, "basecnt"));
- var drugrateqty = opener.ds_main_prcplist.getColumn(openerrow, "drugrateqty") + "^";
- var drugcnt = 0;
- var childCnt = group1.components.length;
- var childObj;
- if ( ds_root.getColumn(0, "rateflag") == "Y" ) {
- prcpqty = 0;
- for( var j = 0; j < childCnt; j++ ) {
- childOb = group1.components[j];
- if( sysf_getObjType(childOb) == "MaskEdit" ) {
- if (drugcnt < eval(prcptims)) {
- prcpqty = prcpqty + eval(childOb.value);
- }
- drugcnt++;
- }
- }
- //비율처방일 때는 수량, 용량을 setValue 한다.
- if ( utlf_isNull(this.objects["ds_chkflag"]) || utlf_isNull(ds_chkflag.getColumn(0, "drugmthdspccd"))) { //일괄입력은 용량을 계산하지 않는다.
- prcpvol = eval(opener.ds_main_prcplist.getColumn(openerrow, "prcpvol"));
- bfprcpqty = eval(opener.ds_main_prcplist.getColumn(openerrow, "prcpqty"));
- bfprcptims = eval(opener.ds_main_prcplist.getColumn(openerrow, "prcptims"));
- if ( bfprcpqty != prcpqty ) {
- if ( sysf_messageBox ( "입력한 비율처방 수량이 원래수량과 틀립니다." , "Q009" ) == 7 ) {
- return;
- }
- }
- var calcprcpvol = prcpqty / bfprcpqty * prcpvol;
- if ( calcprcpvol.toString().indexOf(".") >= 0 ) {
- calcprcpvol = calcprcpvol * 1000;
- calcprcpvol = Math.round(calcprcpvol);
- calcprcpvol = calcprcpvol / 1000;
- }
- opener.ds_main_prcplist.setColumn(openerrow, "prcpvol", calcprcpvol);
- }
- opener.ds_main_prcplist.setColumn(openerrow, "prcpqty" , prcpqty);
- } else {
- opener.ds_main_prcplist.setColumn(openerrow, "drugrateqty" , "-");
- }
- opener.ds_main_prcplist.setColumn(openerrow, "prcptims" , prcptims);
- }
- }
- //예외용법을 선택한 경우, 용법 코드에 예외용법코드(ZZZ)를 설정한다.
- if(bool1.value == "Y"){
- gridchkflag = "Y" ;
- drugmthdspccd = "ZZZ";
- drugmthdspccdnm = ipt_exptmthdfact.text;
- }
- opener.ds_main_prcplist.setColumn(openerrow, "drugmthdspccdnm" , drugmthdspccdnm );
- opener.ds_main_prcplist.setColumn(openerrow, "drugmthdspccd" , drugmthdspccd );
-
- //예외용법 및 따로포장 설정, 2008. 06. 02 오지훈
- exptmthdfact = ds_main_cond.getColumn(0, "exptmthdfact");
- drugindependpackflag = ds_main_cond.getColumn(0, "drugindependpackflag");
- if(exptmthdfact != "-"){
- opener.ds_main_prcplist.setColumn(openerrow, "exptmthdfact" , exptmthdfact);
- opener.ds_main_prcplist.setColumn(openerrow, "drugmthdspccdnm" , exptmthdfact);
- }else{
- opener.ds_main_prcplist.setColumn(openerrow, "exptmthdfact" , "-");
- }
-
- //if(drugindependpackflag != "N"){ by sonjy 막음처리 20081112 따로포장값이 선택한대로 보여지지 않고 설정되지 않는오류 처리
- opener.ds_main_prcplist.setColumn(openerrow, "drugindependpackflag", drugindependpackflag);
- //}
-
- //약일괄입력을 위해 추가
- opener.frmf_setParameter ( "SPMMO01900_prcptims", "Y" );
- if ( ds_root.getColumn(0, "rateflag") == "Y" ) {
- opener.frmf_setParameter ( "SPMMO01900_rateprcpflag", "Y" );
- opener.ds_main_prcplist.setColumn(openerrow, "rateprcpflag", "Y" );
- } else {
- opener.frmf_setParameter ( "SPMMO01900_rateprcpflag", "N" );
- opener.ds_main_prcplist.setColumn(openerrow, "rateprcpflag", "N" );
- }
-
- if ( gridchkflag == "Y" || bool2.value == "Y") {
- gGridUpdateChk("per", openerrow, "child");
- }
-
- close();
- }
- function button2_onclick(obj:Button, e:ClickEventInfo)
- {
- //약일괄입력을 위해 추가
- opener.frmf_setParameter ( "SPMMO01900_prcptims", "N" );
- opener.frmf_setParameter ( "SPMMO01900_rateprcpflag", "N" );
- close();
- }
- function group1_onkeyup(obj:MaskEdit, e:KeyEventInfo)
- {
- if(e.keycode == 13) {
- if ( obj.name == "input1" ) {
- group1.input2.setFocus();
- } else if ( obj.name == "input2" ) {
- group1.input3.setFocus();
- } else if ( obj.name == "input3" ) {
- group1.input4.setFocus();
- } else if ( obj.name == "input4" ) {
- group1.input5.setFocus();
- } else if ( obj.name == "input5" ) {
- group1.input6.setFocus();
- } else if ( obj.name == "input6" ) {
- group1.input7.setFocus();
- } else if ( obj.name == "input7" ) {
- group1.input8.setFocus();
- }
- }
- }
- function grd_mthd_oncellclick(obj:Grid, e:GridClickEventInfo)
- {
- if( e.row > -1 ){
- ds_tmedmthdlist.setColumn(ds_tmedmthdlist.rowposition, "status", "Y"); //model.setValue ( "/root/tmedmthd/tmedmthdlist[" + grd_mthd.row + "]/status", "Y" );
- for ( var i = 0; i < ds_tmedmthdlist.rowcount; i++ ) {
- var status = ds_tmedmthdlist.getColumn(i, "status"); //model.getValue ( "/root/tmedmthd/tmedmthdlist[" + i + "]/status" );
- if ( status == "Y" && i != ds_tmedmthdlist.rowposition ) {
- ds_tmedmthdlist.setColumn(i, "status", "N"); //model.setValue ( "/root/tmedmthd/tmedmthdlist[" + i+ "]/status", "N" );
- }
- }
-
- // if ( group1.checkbox1.value == "Y" ) {
- // var cnt = 0 ;
- // var childCnt = group1.children.length;
- // var disableCnt = model.getValue ( "/root/tmedmthd/tmedmthdlist[" + grd_mthd.row + "]/basecnt" );
- // var childObj;
- //
- // for( var i = 0; i < childCnt; i++ ) {
- // childOb = group1.children.item(i);
- // if( childOb.elementName == "xforms:input") {
- // if ( cnt < disableCnt ) {
- // childOb.disabled = false;
- // } else {
- // childOb.disabled = true;
- // childOb.value = "";
- // }
- // cnt++;
- // }
- // }
- // }
- }
- }
- ]]></Script>
- </Form>
- </FDL>
|