123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817 |
- <?xml version="1.0" encoding="utf-8"?>
- <FDL version="1.5">
- <TypeDefinition url="..\..\..\default_typedef.xml"/>
- <Form id="SPMMO00800" position="absolute 0 0 810 330" titletext="진단검색" onload="SPMMO00800_onload">
- <Layouts>
- <Layout>
- <Div id="Div00" taborder="1" position="absolute 0 0 810 42" class="div_SA2"/>
- <Grid position="absolute 0 43 810 307" id="grd_diaghist" binddataset="ds_diagcdlist" oncellclick="grd_diaghist_oncellclick" oncelldblclick="grd_diaghist_oncelldblclick" cellclickbound="cell" autofittype="col">
- <Formats>
- <Format id="default">
- <Columns>
- <Column size="30"/>
- <Column size="83"/>
- <Column size="324"/>
- <Column size="302"/>
- <Column size="0"/>
- <Column size="27"/>
- <Column size="0"/>
- <Column size="0"/>
- <Column size="0"/>
- <Column size="0"/>
- <Column size="32"/>
- </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="한글명"/>
- <Cell col="4" text="유사/동의어"/>
- <Cell col="5" text="특례"/>
- <Cell col="6" text="orgdiagcd"/>
- <Cell col="7" text="tootfact"/>
- <Cell col="8" text="icd10cd"/>
- <Cell col="9" text="diagcd"/>
- <Cell col="10" text="경증"/>
- </Band>
- <Band id="body">
- <Cell displaytype="checkbox" edittype="checkbox" text="bind:status" expr="expr:(status == "I" || status == 1) ? 1 : 0"/>
- <Cell col="1" displaytype="text" text="bind:dispdiagcd"/>
- <Cell col="2" displaytype="text" text="bind:diagengnm"/>
- <Cell col="3" displaytype="text" text="bind:diaghngnm"/>
- <Cell col="4" text="bind:orgdiagnm"/>
- <Cell col="5" text="bind:spclinfo"/>
- <Cell col="6" text="bind:orgdiagcd"/>
- <Cell col="7" text="bind:tootfact"/>
- <Cell col="8" text="bind:icd10cd"/>
- <Cell col="9" text="bind:diagcd"/>
- <Cell col="10" style="color:expr:drginfo=="경증" ? "#0000ff" : "default";color2:expr:drginfo=="경증" ? "#0000ff" : "default";" text="bind:lightcase"/>
- </Band>
- </Format>
- </Formats>
- </Grid>
- <Button position="absolute 754 308 810 330" id="button1" class="btn4" text="취소" onclick="button1_onclick"/>
- <Button position="absolute 697 308 753 330" id="btn_copy" class="btn4" text="선택" onclick="btn_copy_onclick"/>
- <Radio position="absolute 96 12 341 32" id="radio1" columncount="4" codecolumn="codecolumn" datacolumn="datacolumn" onitemchanged="radio1_onitemchanged">
- <Dataset id="innerdataset">
- <ColumnInfo>
- <Column id="codecolumn"/>
- <Column id="datacolumn"/>
- </ColumnInfo>
- <Rows>
- <Row>
- <Col id="codecolumn">4</Col>
- <Col id="datacolumn">첫단어검색</Col>
- </Row>
- <Row>
- <Col id="codecolumn">2</Col>
- <Col id="datacolumn">단어검색</Col>
- </Row>
- <Row>
- <Col id="codecolumn">3</Col>
- <Col id="datacolumn">문장검색</Col>
- </Row>
- </Rows>
- </Dataset>
- </Radio>
- <CheckBox position="absolute 426 12 513 32" id="bool1" visible="false" text="동의어검색" onchanged="bool1_onchanged" truevalue="Y" falsevalue="N"/>
- <Static text="검색방법 :" position="absolute 11 12 90 32" align="align:center middle;" id="caption3" class="search_name"/>
- <Static text="검색어 :" position="absolute 531 12 601 32" id="caption4" class="search_name"/>
- <Edit position="absolute 605 12 725 32" id="ipt_search" onkeydown="ipt_search_onkeydown" autoselect="true"/>
- <Button position="absolute 744 12 800 30" id="button3" class="btn1" text="조회" onclick="button3_onclick"/>
- <Shape position="absolute 730 11 736 33" linetype="vertical" id="line6"/>
- <CheckBox position="absolute 348 12 395 32" id="bool2" visible="true" text="전체" onchanged="bool2_onchanged" truevalue="diag" falsevalue="perdept"/>
- <Button id="btn_excel" taborder="2" text="엑셀" class="btn7" position="absolute 0 310 50 330" anchor="top right" onclick="btn_excel_onclick"/>
- </Layout>
- </Layouts>
- <Objects>
- <Dataset id="ds_diagcdlist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false" oncolumnchanged="ds_diagcdlist_oncolumnchanged">
- <ColumnInfo>
- <Column id="status" type="STRING"/>
- <Column id="dispdiagcd" type="STRING"/>
- <Column id="diagengnm" type="STRING"/>
- <Column id="diaghngnm" type="STRING"/>
- <Column id="orgdiagnm" type="STRING"/>
- <Column id="spclinfo" type="STRING"/>
- <Column id="orgdiagcd" type="STRING"/>
- <Column id="tootfact" type="STRING"/>
- <Column id="icd10cd" type="STRING"/>
- <Column id="diagcd" type="STRING"/>
- <Column id="lightcase" type="STRING" size="256" sumtext="경증 유무"/>
- </ColumnInfo>
- </Dataset>
- <Dataset id="ds_req" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="cond1" type="STRING" size="256" sumtext="검색구분(1:코드,2:명)"/>
- <Column id="cond2" type="STRING" size="256" sumtext="명칭검색구분(1:코드,2:단어,3:문장,4:첫단어)"/>
- <Column id="cond3" type="STRING" size="256" sumtext="한영구분(H:한글,E:영문)"/>
- <Column id="cond4" type="STRING" size="256" sumtext="기준일자:외래일때는진료일자,입원일때는처방일자"/>
- <Column id="cond5" type="STRING" size="256" sumtext="검색내용"/>
- <Column id="synmflag" type="STRING" size="256" sumtext="동의어검색"/>
- <Column id="scrnflag" type="STRING" size="256" sumtext="화면구분"/>
- <Column id="ageflag" type="STRING" size="256" sumtext="연령구분"/>
- <Column id="sexflag" type="STRING" size="256" sumtext="성별구분"/>
- <Column id="diagsrchmetd" type="STRING" size="256" sumtext="조회구분"/>
- </ColumnInfo>
- <Rows>
- <Row/>
- </Rows>
- </Dataset>
- <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="diagsrchcond1" type="STRING" size="256"/>
- <Column id="diagsrchnm" type="STRING" size="256"/>
- <Column id="srchmode" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row/>
- </Rows>
- </Dataset>
- </Objects>
- <Bind>
- <BindItem id="item0" compid="radio1" propid="value" datasetid="ds_init" columnid="diagsrchcond1"/>
- <BindItem id="item1" compid="ipt_search" propid="value" datasetid="ds_init" columnid="diagsrchnm"/>
- <BindItem id="item2" compid="bool2" propid="value" datasetid="ds_req" columnid="diagsrchmetd"/>
- <BindItem id="item3" compid="bool1" propid="value" datasetid="ds_req" columnid="synmflag"/>
- </Bind>
- <Script type="xscript4.0"><![CDATA[/***************************************************************************************
- * System Name : KNUH2.0
- * Job Name : EMR
- * Creator :
- * Make Date : 2014-08-29
- * Description :
- *---------------------------------------------------------------------------------------
- * Modify Date Modifier Modify Description
- *---------------------------------------------------------------------------------------
- * 2014-08-29 Live Converter TF->XP
- *
- *---------------------------------------------------------------------------------------
- ****************************************************************************************/
- //=======================================================================================
- // Lib Include
- //---------------------------------------------------------------------------------------
- include "com_commonxp::comm_main.xjs";
- include "emr_prcpmngtxp::MMO001.xjs";
- include "emr_prcpmngtxp::SPMMO00100.xjs";
- //include "emr_commonxp::EMRCommon.xjs"
- var arErrorCode = new HashArray();
- //=======================================================================================
- // Event
- //---------------------------------------------------------------------------------------
- /****************************************************************************************
- * Components : Form
- * Components ID : SPMMO00800
- * Event : onload
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : 화면 로드시 진단검색 실행
- ****************************************************************************************/
- function SPMMO00800_onload(obj:Form, e:LoadEventInfo)
- {
- frmf_initForm(obj);
- grdf_initGrid(grd_diaghist);
-
- if(fGetDiagSrch() == "X") {
- bool2.enableevent = false;
- ds_req.setColumn(0, "diagsrchmetd", "diag");
- bool2.enableevent = true;
- fChngSrchMetd();
- }
- }
- /****************************************************************************************
- * Components : Button
- * Components ID : button3
- * Event : onclick
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : 조회버튼 실행
- ****************************************************************************************/
- function button3_onclick(obj:Button, e:ClickEventInfo)
- {
- var cond2 = ds_init.getColumn(0,"diagsrchcond1"); //검색방법
- var cond4 = utlf_getCurrentDate(); //기준일자
- var cond5 = ds_init.getColumn(0,"diagsrchnm"); //검색어
- var cond3 = utlf_isHangul(cond5); //한글, 영문구분
-
- if ( utlf_isNull(cond5)) {
- sysf_messageBox ( "검색어를", "C001" );
- return;
- } else if ( cond3 == "E" ){ //영문,숫자일때는 3글자 넣어야 검색가능
- if ( cond5.length < 2 ){
- sysf_messageBox ( "2글자 이상", "C001" );
- return;
- }
- }
-
- if ( cond2 != 1 ) {
- if(cond3 == "H"){ //한글인 경우
- cond1 = 2;
- cond2 = 4;
- }else if(cond3 == "E"){ //영문인 경우
- if(utlf_isNum(cond5.charAt(1)) == true){ //두번째 자리가 숫자는 영문코드
- cond1 = 1;
- }else{ //두번째 자리가 숫자가 아닌 경우, 영문단어
- cond1 = 2;
- cond2 = 4;
- }
- }
- } else {
- cond1 = 1;
- }
- opener.frmf_setParameter ( "SPMMO00800_cond1", cond1);
- opener.frmf_setParameter ( "SPMMO00800_cond2", cond2);
- opener.frmf_setParameter ( "SPMMO00800_cond3", cond3 );
- opener.frmf_setParameter ( "SPMMO00800_cond4", cond4);
- opener.frmf_setParameter ( "SPMMO00800_cond5", cond5 );
- opener.frmf_setParameter ( "SPMMO00800_srchmode", "C" );
- fGetDiagSrch();
- }
- /****************************************************************************************
- * Components : Edit
- * Components ID : ipt_search
- * Event : onkeydown
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : 검색어 입력후 엔터키 입력
- ****************************************************************************************/
- function ipt_search_onkeydown(obj:Edit, e:KeyEventInfo)
- {
- if(e.keycode==13) {
- obj.updateToDataset();
- button3_onclick();
- }
- }
- /****************************************************************************************
- * Components : Radio
- * Components ID : radio1
- * Event : onitemchanged
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : 검색방법 라디오버튼 선택
- ****************************************************************************************/
- function radio1_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
- {
- fChngSrchMetd();
- }
- /****************************************************************************************
- * Components : CheckBox
- * Components ID : bool2
- * Event : onchanged
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
-
- * Description : 전체 체크박스 실행
- ****************************************************************************************/
- function bool2_onchanged(obj:CheckBox, e:CheckBoxChangeEventInfo)
- {
- fChngSrchMetd();
- }
- /****************************************************************************************
- * Components : CheckBox
- * Components ID : bool1
- * Event : onchanged
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
-
- * Description : 동의어검색 체크박스 체크/해제
- ****************************************************************************************/
- function bool1_onchanged(obj:CheckBox, e:CheckBoxChangeEventInfo)
- {
- ds_req.setColumn(0,"cond2",ds_init.getColumn(0,"diagsrchcond1"));
- var oParam = {};
- oParam.id = "TRMMO00801";
- oParam.service = "prcpbaseapp.PatDiagMngt";
- oParam.method = "reqGetDiagTermSrch";
- oParam.inds = "req=" + "ds_req";
- oParam.outds = "ds_diagcdlist=diagcdlist";
- oParam.async = false;
- oParam.callback = "cf_TRMMO00801";
- tranf_submit(oParam);
-
- if(arErrorCode.pop("TRMMO00801") > -1) {
- var cRow = ds_diagcdlist.rowposition;
- var srchinfo = ds_req.getColumn(0,"diagsrchmetd");
- var srcNodeList = ds_diagcdlist.rowcount; // 조회된 데이터 수
- if(srcNodeList == 0){
- if (srchinfo == "perdept"){
- sysf_messageBox ( "개인셋, 과셋에서 검색된 진단이 없습니다. 전체 선택 후 진행", "I008" );
- return;
- } else {
- opener.frmf_setParameter( "SPMMO00800_rtn", "" );
- opener.frmf_setParameter( "SPMMO00800_rtn_useyn", "N");
- sysf_messageBox ( "검색된 진단이", "I004" );
- return;
- }
- } else if(srcNodeList == 1) {
- ds_diagcdlist.setColumn(cRow,"status","I");
- var rtn1 = dsf_getDsCSV(ds_diagcdlist, cRow, "N");
- opener.frmf_setParameter( "SPMMO00800_rtn", rtn1 );
- opener.frmf_setParameter( "SPMMO00800_rtn_useyn", "Y");
- this.close();
- }
- }
- }
- /****************************************************************************************
- * Components : Grid
- * Components ID : grd_diaghist
- * Event : oncellclick
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
-
- * Description : 검색된 처방진단 더블클릭
- ****************************************************************************************/
- function grd_diaghist_oncellclick(obj:Grid, e:GridClickEventInfo)
- {
- // grd_diaghist.gridToInstance();
- // if(isDataCell()){
- // if ( grd_diaghist.col != 0 ) {
- // var status = model.getValue ( "/root/main/diaginfo/diagcdlist["+ grd_diaghist.row +"]/status" ) ;
- // if ( status == "N" || isNull ( status ) ) {
- // model.setValue ( "/root/main/diaginfo/diagcdlist["+ grd_diaghist.row +"]/status", "I" );
- // } else {
- // model.setValue ( "/root/main/diaginfo/diagcdlist["+ grd_diaghist.row +"]/status", "N" );
- // }
- // }
- // model.refresh();
- // }
- if(e.col == 0) return;
-
- if(e.row>-1){
- if ( ds_diagcdlist.colcount > 0 ) {
- var status = ds_diagcdlist.getColumn(ds_diagcdlist.rowposition,"status");
- if ( status == "N" || utlf_isNull ( status ) ) {
- ds_diagcdlist.setColumn(ds_diagcdlist.rowposition,"status","I");
- } else {
- ds_diagcdlist.setColumn(ds_diagcdlist.rowposition,"status","N");
- }
- }
- }
- }
- /****************************************************************************************
- * Components : Grid
- * Components ID : grd_diaghist
- * Event : oncelldblclick
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
-
- * Description : 검색된 처방진단 선택
- ****************************************************************************************/
- function grd_diaghist_oncelldblclick(obj:Grid, e:GridClickEventInfo)
- {
- // if(isDataCell()){
- // model.setValue ( "/root/main/diaginfo/diagcdlist[" + grd_diaghist.row + "]/status", "I" );
- // var rtn1 = getDiagNodeListCSV ( model.instances(0).selectNodes( "/root/main/diaginfo/diagcdlist" ));
- // opener.javascript.setParameter( "SPMMO00800_rtn", rtn1 );
- // opener.javascript.setParameter("SPMMO00800_rtn_useyn", "Y");
- // window.close();
- // }
- if(e.row>-1){
- ds_diagcdlist.setColumn(ds_diagcdlist.rowposition,"status","I");
- var rtn1 = dsf_getDsCSV(ds_diagcdlist, ds_diagcdlist.rowposition, "N");
- opener.frmf_setParameter("SPMMO00800_rtn",rtn1);
- opener.frmf_setParameter("SPMMO00800_rtn_useyn","Y");
- this.close();
- }
- }
- /****************************************************************************************
- * Components : Button
- * Components ID : btn_copy
- * Event : onclick
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
-
- * Description : 선택버튼 실행
- ****************************************************************************************/
- function btn_copy_onclick(obj:Button, e:ClickEventInfo)
- {
- // var rtn1 = getDiagNodeListCSV ( model.instances(0).selectNodes( "/root/main/diaginfo/diagcdlist" ));
- // if ( rtn1 == "N" ) {
- // messageBox ( "선택된 진단이", "I004" );
- // } else {
- // opener.javascript.setParameter( "SPMMO00800_rtn", rtn1 );
- // opener.javascript.setParameter( "SPMMO00800_rtn_useyn", "Y");
- // window.close();
- // }
- var rtn1 = dsf_getDsCSV(ds_diagcdlist, null, "N", "status:I");
- if(utlf_isNull(rtn1)) {
- sysf_messageBox ( "선택된 진단이", "I004" );
- } else {
- opener.frmf_setParameter("SPMMO00800_rtn",rtn1);
- opener.frmf_setParameter("SPMMO00800_rtn_useyn","Y");
- this.close();
- }
- }
- /****************************************************************************************
- * Components : Button
- * Components ID : button1
- * Event : onclick
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
-
- * Description : 취소버튼 실행
- ****************************************************************************************/
- function button1_onclick(obj:Button, e:ClickEventInfo)
- {
- opener.frmf_setParameter( "SPMMO00800_rtn", "" );
- opener.frmf_setParameter( "SPMMO00800_rtn_useyn", "N");
- this.close();
- }
- //=======================================================================================
- // Function
- //---------------------------------------------------------------------------------------
- // function getDiagNodeListCSV(nodeList) {
- //
- // if( nodeList.length == 0 ){
- // return;
- // }
- //
- // var sColSep = "▦";
- // var sRowSep = "▩";
- //
- // var rCSV = "";
- //
- // var childNodeList = nodeList.item(0).childNodes;
- // var childNodeCnt = childNodeList.length;
- // if( childNodeCnt == 0 ){
- // return;
- // }
- //
- // var i, j;
- // for( i = 0; i < childNodeCnt - 1; i++) {
- // rCSV += childNodeList.item(i).nodeName + sColSep;
- // }
- // rCSV += childNodeList.item(i).nodeName + sRowSep;
- //
- // var node;
- // var cnt = 1;
- // var selCnt = 0;
- // while( node = nodeList.nextNode() ) {
- // if (model.getValue ( "/root/main/diaginfo/diagcdlist[" + cnt++ + "]/status" ) == "I" ) {
- // childNodeList = node.childNodes;
- // for( i = 0; i < childNodeCnt - 1; i++) {
- // rCSV += childNodeList.item(i).text + sColSep;
- // }
- // rCSV += childNodeList.item(i).text + sRowSep;
- // selCnt++;
- // }
- // }
- // if ( selCnt == 0 ) {
- // return "N"
- // } else {
- // return rCSV;
- // }
- // }
-
- /**
- * 진단검색(???호출하는곳이 없음???)
- * @param srchflag : 검색구분(1:코드, 2:명)
- * dataflag : 명칭검색구분(1:코드, 2:단어, 3:문장, 4:첫단어)
- * langflag : 한영구분(H: 한글, E:영문)
- * stnddd : 기준일자(외래일때는 진료일자, 입원일때는 처방일자)
- * srchdata : 검색내용
- * scrnflag : 화면구분(처방화면일 경우, 진단코드 검색시, 확장코드가 .000.인 것만 조회처리, *를 붙이면 전체로 처리
- * ageflag : 나이구분
- * sexflag : 성별구분
- */
- // function fReqGetDiagComnInfo(srchflag, dataflag, langflag, stnddd, srchdata, scrnflag, ageflag, sexflag){
- // model.removeNodeset("/root/send");
- // model.makeValue("/root/send/cond1", srchflag);
- // model.makeValue("/root/send/cond2", dataflag);
- // model.makeValue("/root/send/cond3", langflag);
- // model.makeValue("/root/send/cond4", stnddd);
- // model.makeValue("/root/send/cond5", srchdata);
- // model.makeValue("/root/send/scrnflag", scrnflag);
- // model.makeValue("/root/send/ageflag" , ageflag);
- // model.makeValue("/root/send/sexflag" , sexflag);
- //
- // if(submit("TRMMO00801")){
- // var srchinfo = model.getValue("root/send/diagsrchmetd");
- // var srcNodeList = model.instances(0).selectNodes("/root/main/diaginfo/diagcdlist");
- //
- // if(srcNodeList.length == 0){
- // if (srchinfo == "perdept"){
- // messageBox ( "개인셋, 과셋에서 검색된 진단이 없습니다. 전체 선택 후 진행", "I008" );
- // return;
- // }else {
- // opener.javascript.setParameter( "SPMMO00800_rtn", "" );
- // opener.javascript.setParameter( "SPMMO00800_rtn_useyn", "N");
- // messageBox ( "검색된 진단이", "I004" );
- // return;
- // }
- // }else if(srcNodeList.length == 1) {
- // model.setValue ( "/root/main/diaginfo/diagcdlist/status", "I" );
- // var rtn1 = getDiagNodeListCSV ( model.instances(0).selectNodes( "/root/main/diaginfo/diagcdlist" ));
- // opener.javascript.setParameter( "SPMMO00800_rtn", rtn1 );
- // opener.javascript.setParameter( "SPMMO00800_rtn_useyn", "Y");
- // window.close();
- //
- // }
- //
- // //grd_diaghist.autoResize = true ;
- // grd_diaghist.refresh();
- // }
- // }
-
- /****************************************************************************************
- * Function : fGetDiagSrch
- * Description : 진단검색
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fGetDiagSrch() {
- //초기화 작업
- ds_diagcdlist.clearData();
- opener.frmf_setParameter("SPMMO00800_rtn","");
- opener.frmf_setParameter("SPMMO00800_rtn_useyn","N");
- var cond1 = opener.frmf_getParameter("SPMMO00800_cond1"); //검색구분(1:코드, 2:명)
- var cond2 = opener.frmf_getParameter("SPMMO00800_cond2"); //명칭검색구분(1:코드, 2:단어, 3:문장, 4:첫단어)
- var cond3 = opener.frmf_getParameter("SPMMO00800_cond3"); //한영구분(H: 한글, E:영문)
- var cond4 = opener.frmf_getParameter("SPMMO00800_cond4"); //기준일자: 외래일때는 진료일자, 입원일때는 처방일자
- var cond5 = opener.frmf_getParameter("SPMMO00800_cond5"); //검색내용
- var srchmodecond = opener.frmf_getParameter("SPMMO00800_srchmode"); //검색위치
- ipt_search.value = cond5;
-
- if(cond5 == "") {
- sysf_messageBox("검색어가 없습니다. 검색어 입력 후 진행하세요.");
- return ;
- }
- if(cond1 != "1"){
- if(cond3 == "H"){ //한글인 경우
- cond1 = 2;
- }else if(cond3 == "E"){ //영문인 경우
- if(utlf_isNum(cond5.charAt(1)) == true){ //두번째 자리가 숫자는 영문코드
- cond1 = 1;
- }else{ //두번째 자리가 숫자가 아닌 경우, 영문단어
- cond1 = 2;
- }
- }
- }
- if(srchmodecond == "C") {
- cond2 = radio1.value;
- }
-
- if(cond1 == "1") {
- radio1.enable = false;
- } else {
- radio1.enable = true;
- }
- //처방화면에 진단검색을 실행한 경우, scrnflag값을 설정해 준다.
- //처방화면에서 진단코드 검색을 실행한 경우, 확장코드가 .000.인 것만 조회하기 위해서 처리함
- //2008.07.11 오지훈
- //단어검색의 경우, contains를 활용하기 위해 %를 검색단어 사이에 추가해야함
- //2008.07.28 오지훈
- if(opener.frmf_getScreenID() == "SMMMO00100"){
- if(cond1 == 1){ //진단코드로 조회시에만 처리함
- var astflag = cond5.search(/[*]/);
- if(astflag < 0){ //*가 없는 경우는 0보다 작은 값 .000.인 것만 조회
- var scrnflag = "Y";
- }else{ //*가 있는 경우, 처방화면이지만 .000.인 것만을 조회하지 않는다.
- cond5 = cond5.replace(/[*]/g, ""); //*를 제거
- var scrnflag = "N";
- }
- }
- }
- if(cond2 == 2){ //단어검색인 경우
- var word = (cond5.getTrimLeft()).getTrimRight(); //좌,우측의 공백을 제거
- word = word.split(" ");
- if(word.length > 1){
- var fst = word[0].concat("% ");
- var sec = word[1].concat("%");
- cond5 = fst.concat(sec);
- }else{
- cond5 = word[0].concat("%");
- }
- }
-
- radio1.enableevent = false;
- radio1.value = cond2;
- radio1.enableevent = true;
- ds_req.setColumn(0,"cond1",cond1);
- ds_req.setColumn(0,"cond2",cond2);
- ds_req.setColumn(0,"cond3",cond3);
- ds_req.setColumn(0,"cond4",cond4);
- ds_req.setColumn(0,"cond5",cond5);
- ds_req.setColumn(0,"scrnflag",scrnflag);
- bool2.enableevent = false;
- if(srchmodecond == "P") { // Parent인 opener window에서 콜할때, Child인 current window에서 콜할때...
- ds_req.setColumn(0,"diagsrchmetd","perdept");
- }
-
- if(astflag >= 0) {
- ds_req.setColumn(0,"diagsrchmetd","diag");
- }
- bool2.enableevent = true;
- /*===============================================================================
- * 진단검색시 조건 추가 (나이/성별)
- * by sonjy 2008-07-21
- ===============================================================================*/
- var vAge = appf_getPatientInfo("age") ; //현대정보기술 함수요청
- //var vAge = 13;
- if(!utlf_isNull(vAge) ){
- ds_req.setColumn(0,"sexflag",lf_getArrayData(vAge, 0, 0, "^", "/" ));
- ds_req.setColumn(0,"ageflag",lf_getArrayData(vAge, 0, 1, "^", "/" ));
- }
- var perdept = ds_req.getColumn(0,"diagsrchmetd");
- var oParam = {};
- oParam.id = "TRMMO00801";
- oParam.service = "prcpmngtapp.PatDiagMngt";
- oParam.method = "reqGetDiagTermSrch";
- oParam.inds = "req=" + "ds_req";
- oParam.outds = "ds_diagcdlist=diagcdlist";
- oParam.async = false;
- oParam.callback = "cf_TRMMO00801";
- tranf_submit(oParam);
-
- if(arErrorCode.pop("TRMMO00801") > -1) {
- var cRow = ds_diagcdlist.rowposition;
- var srchinfo = ds_req.getColumn(0,"diagsrchmetd");
- var srcNodeList = ds_diagcdlist.rowcount; // 조회된 데이터 수
- if(srcNodeList == 0){
- if (srchinfo == "perdept"){
- //sysf_messageBox ( "개인셋, 과셋에서 검색된 진단이 없습니다. 전체마스터에서 조회합니다.", "I" );
- return "X";
- } else {
- opener.frmf_setParameter( "SPMMO00800_rtn", "" );
- opener.frmf_setParameter( "SPMMO00800_rtn_useyn", "N");
- sysf_messageBox ( "검색된 진단이", "I004" );
- return;
- }
- } else if(srcNodeList == 1) {
- ds_diagcdlist.setColumn(cRow,"status","I");
- var rtn1 = dsf_getDsCSV(ds_diagcdlist, cRow, "N");
- opener.frmf_setParameter( "SPMMO00800_rtn", rtn1 );
- opener.frmf_setParameter( "SPMMO00800_rtn_useyn", "Y");
- this.close();
- }
- }
- }
- /****************************************************************************************
- * Function : cf_TRMMO00801
- * Description : TRMMO00801 콜백함수
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function cf_TRMMO00801(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
-
- /****************************************************************************************
- * Function : fChngSrchMetd
- * Description : 진단 검색을 위한 체크 버튼 클릭 시 조회 패턴
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fChngSrchMetd() {
- ds_init.setColumn(0,"srchmode","C"); // 검색 위치 Parent, Child
- var diagsrchcond1 = ds_init.getColumn(0,"diagsrchcond1"); // 검색방법
- var cond5 = ds_init.getColumn(0,"diagsrchnm"); // 검색내용 current window
- var cond3 = utlf_isHangul(cond5); // 한글, 영문구분
-
- if ( utlf_isNull(cond5)) {
- sysf_messageBox ( "검색어를", "C001" );
- return;
- } else if ( cond3 == "E" ){ //영문,숫자일때는 3글자 넣어야 검색가능
- if ( cond5.length < 2 ){
- sysf_messageBox ( "2글자 이상", "C001" );
- return;
- }
- }
- var cond4 = utlf_getCurrentDate(); //기준일자
-
- if ( diagsrchcond1 != 1 ) {
- if(cond3 == "H"){ //한글인 경우
- cond1 = 2;
- }else if(cond3 == "E"){ //영문인 경우
- if(utlf_isNum(cond5.charAt(1)) == true){ //두번째 자리가 숫자는 영문코드
- cond1 = 1;
- }else{ //두번째 자리가 숫자가 아닌 경우, 영문단어
- cond1 = 2;
- }
- }
- }
- if(opener.frmf_getScreenID() == "SMMMO00100"){
- if(diagsrchcond1 == 1){ //진단코드로 조회시에만 처리함
- var astflag = cond5.search(/[*]/);
- if(astflag < 0){ //*가 없는 경우는 0보다 작은 값 .000.인 것만 조회
- var scrnflag = "Y";
- }else{ //*가 있는 경우, 처방화면이지만 .000.인 것만을 조회하지 않는다.
- cond5 = cond5.replace(/[*]/g, ""); //*를 제거
- var scrnflag = "N";
- }
- }
- }
- if(diagsrchcond1 == 2){ //단어검색인 경우
- var word = (cond5.getTrimLeft()).getTrimRight(); //좌,우측의 공백을 제거
- word = word.split(" ");
- if(word.length > 1){
- var fst = word[0].concat("% ");
- var sec = word[1].concat("%");
- cond5 = fst.concat(sec);
- }else{
- cond5 = word[0].concat("%");
- }
- }
-
- // model.setValue("/root/send/cond2", model.getValue("/root/init/diagsrchcond1"));
- // model.setValue("/root/send/cond3", cond3);
- // model.setValue("/root/send/cond5", cond5);
- // model.setValue("/root/send/scrnflag", scrnflag);
- //ds_req.clearData();
- //var nRow = ds_req.addRow();
- ds_req.setColumn(0,"cond2",ds_init.getColumn(0,"diagsrchcond1"));
- ds_req.setColumn(0,"cond3",cond3);
- ds_req.setColumn(0,"cond5",cond5);
- ds_req.setColumn(0,"scrnflag",scrnflag);
-
- var diagsrchmetd = bool2.value;
- var oParam = {};
- oParam.id = "TRMMO00801";
- oParam.service = "prcpmngtapp.PatDiagMngt";
- oParam.method = "reqGetDiagTermSrch";
- oParam.inds = "req=" + "ds_req";
- oParam.outds = "ds_diagcdlist=diagcdlist";
- oParam.async = false;
- oParam.callback = "cf_TRMMO00801";
- tranf_submit(oParam);
- if(arErrorCode.pop("TRMMO00801") > -1) {
- var cRow = ds_diagcdlist.rowposition;
- var srchinfo = ds_req.getColumn(0,"diagsrchmetd");
- var srcNodeList = ds_diagcdlist.rowcount; // 조회된 데이터 수
- if(srcNodeList == 0){
- if (srchinfo == "perdept"){
- sysf_messageBox ( "개인셋, 과셋에서 검색된 진단이 없습니다. 전체 선택 후 진행", "I008" );
- return;
- } else {
- opener.frmf_setParameter( "SPMMO00800_rtn", "" );
- opener.frmf_setParameter( "SPMMO00800_rtn_useyn", "N");
- sysf_messageBox ( "검색된 진단이", "I004" );
- return;
- }
- } else if(srcNodeList == 1) {
- ds_diagcdlist.setColumn(cRow,"status","I");
- var rtn1 = dsf_getDsCSV(ds_diagcdlist, cRow, "N");
- opener.frmf_setParameter( "SPMMO00800_rtn", rtn1 );
- opener.frmf_setParameter( "SPMMO00800_rtn_useyn", "Y");
- this.close();
- }
- }
- }
- function ds_diagcdlist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
- {
- if(e.columnid == "status")
- obj.setColumn(e.row, e.columnid, (e.newvalue == "I" || e.newvalue == 1) ? "I" : "N");
- }
- function btn_excel_onclick(obj:Button, e:ClickEventInfo)
- {
- grdf_exportExcel(grd_diaghist, "진단검색", "진단검색", false, "", "user", true);
- }
- ]]></Script>
- </Form>
- </FDL>
|