123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324 |
- <?xml version="1.0" encoding="EUC-KR"?>
- <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
- <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
- <xhtml:head>
- <xhtml:title>보험제한처방</xhtml:title>
- <model id="model1">
- <instance id="instance1">
- <root xmlns="">
- <result>
- <limprcplist>
- <status/>
- <delflag/>
- <rowid/>
- <calcscorcd/>
- <prcpnm/>
- <qestmsg/>
- <choiflag/>
- <qestflag/>
- <essnyn/>
- <payflag/>
- <rsltinpt/>
- <qestanswcnts/>
- <genrdd/>
- <genrno/>
- <instcd/>
- <seq/>
- <seqno/>
- <fstrgstrid/>
- <fstrgstdt/>
- <lastupdtrid/>
- <lastupdtdt/>
- <prcpdd/>
- <prcpno/>
- </limprcplist>
- </result>
- <init>
- <payflagcd/>
- <msgchk>Y</msgchk>
- </init>
- <send>
- <limprcp/>
- </send>
- <temp/>
- <savedata/>
- </root>
- </instance>
- <script type="javascript" ev:event="xforms-model-construct-done">
- <![CDATA[
- zbcfGetCodeList(new Array("M0029" ), new Array("/root/init/payflagcd"));
- /* grd_prcplist.mergeCells = "bycol";
- grd_prcplist.mergeCol(0) = true;
- grd_prcplist.mergeCol(1) = true;
- grd_prcplist.mergeCol(2) = false;
- grd_prcplist.mergeCol(3) = false;
- grd_prcplist.mergeCol(4) = false;
- grd_prcplist.mergeCol(5) = false;
- grd_prcplist.merge(); */
-
- //by sonjy start 2008-09-09 cp요구사항 cp의 경우 보험제한팝업시 미래처방도 뜰수 있으므로 처방일자를 보여주도록 한다. 조범준과장님 요청사항.
- if(checkOpener() ){
- if( opener.model.getValue ( "/root/cp") == "Y" ){
- grd_prcplist.colhidden(grd_prcplist.colref("prcpdd") ) = false ;
- }
- }
- //by sonjy end
-
- grd_prcplist.autoResize = true ;
- model.refresh();
-
- ]]>
- </script>
- <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post"/>
- <script type="javascript" ev:event="xforms-ready">
- <![CDATA[
- caption7.value = caption7.value + opener.model.getValue("/root/initsrch/callnoinfo[trgtcd='insurance']/trgtcdnm");
- //1. qestflag 이 M일때 choiflag ready only
- //2. qestflag 이 M일때 qestmsg ready only
- ]]>
- </script>
- <bind id="bind1" ref="/root/result/limprcplist/qestanswcnts" readonly="../qestflag = "M" or ../rsltinpt != "Y" or ../delflag = "Y""/>
- <bind id="bind2" ref="/root/result/limprcplist/choiflag" readonly="../qestflag = "M" or ../delflag = "Y""/>
- <submission id="TXMMO00901" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp"/>
- </model>
- <script type="javascript" src="../../../com/commonweb/js/common.js"/>
- <script type="javascript" src="../../../emr/prcpmngtweb/js/MMO001.js"/>
- <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
- <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
- <script type="javascript">
- <![CDATA[
- // 화면 open, 저장시 초기화 기능을 수행한다.
- function fClose() {
- window.close();
- }
- ]]>
- </script>
- </xhtml:head>
- <xhtml:body pagewidth="1000" pageheight="500" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
- <button id="button1" class="btn4_letter2" style="left:911px; top:471px; width:56px; height:22px; ">
- <caption>확인</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- model.removeNodeset ( "/root/send/limprcp/limprcplist" );
- var srcNodeList = model.instances(0).selectNodes( "/root/result/limprcplist" );
- var delcnt = 0;
- var inscnt = 0;
- var rowid = 0;
- for ( var i= 1; i<= srcNodeList.length ; i++) {
- //삭제 안되고, qestflag 가 M이 아닌것 중에
- if ( model.getValue ( "/root/result/limprcplist[" + i + "]/delflag" ) == "N" && model.getValue ( "/root/result/limprcplist[" + i + "]/qestflag" ) != "M" ) {
- rowid = model.getValue ( "/root/result/limprcplist[" + i + "]/rowid" );
- var calcscorcd = model.getValue ( "/root/result/limprcplist[rowid='" + rowid + "' and choiflag='Y']/calcscorcd" );
- if ( isNull(calcscorcd)) {
- var msg = model.getValue ( "/root/result/limprcplist[" + i + "]/prcpnm" ) + " 처방의 선택된 내용이" ;
- messageBox ( msg ,"I004" );
- return;
- }
- if ( model.getValue ( "/root/result/limprcplist[" + i + "]/choiflag" ) == "Y" ) { //선택 된것중에
- if ( model.getValue ( "/root/result/limprcplist[" + i + "]/rsltinpt" ) == "Y" ) { //사유입력해야 하는 것 중
- if ( isNull ( model.getValue ( "/root/result/limprcplist[" + i + "]/qestanswcnts" ))) { //사유가 없다면
- var msg = model.getValue ( "/root/result/limprcplist[" + i + "]/prcpnm" ) + " 처방의 답변내용이 입력되지" ;
- messageBox ( msg ,"E007" );
- return;
- }
- }
- //inscnt++;
- //저장할 데이터를 복사한다.
- //appendChildPrcp ( "/root/result/limprcplist[" + i + "]", "/root/savedata", "main" );
- }
- } else if ( model.getValue ( "/root/result/limprcplist[" + i + "]/delflag" ) == "Y" ) {
- delcnt++;
- }
- }
- /*if ( inscnt > 0 ) {
- var saveInfo = model.instances(0).selectNodes( "/root/savedata/limprcplist" );
- model.setValue ( "/root/send/limprcp", getNodeListCSV(saveInfo));
-
- submit ( "TXMMO00901", false );
- return;
- }*/
- if ( delcnt > 0 ) {
- messageBox ( "삭제선택된 처방이 있습니다. 삭제후 계속 저장됩니다." , "I" );
- }
- var srcNodeListMainLength = opener.model.instances(0).selectNodes( "/root/main/prcp/prcplist" ).length;
- var rowid = 0;
- var limprcpdd = "";
- var limprcpno = "";
- var drprcpdd = "";
- var drprcpno = "";
- var execprcpdd = "";
- var execprcpno = "";
- var checkcnt = 0;
-
- for ( var i= 1; i <= srcNodeList.length; i++ ) {
- rowid = model.getValue ( "/root/result/limprcplist[" + i + "]/rowid" );
- //20081117 마정민수정: 선택값이 있는 처방과 메시지만 보여주는 처방이 같이 있는 경우 저장하고 나서 메시지만 있는 처방 팝업이 다시 뜨는 오류 수정
- //메시지만 있는 처방은 M으로 표시하여 체크에서 빠지게 함.
- if ( model.getValue ( "/root/result/limprcplist[" + i + "]/qestflag" ) == "M" ) {
- var calcscorcd = model.getValue ( "/root/result/limprcplist[rowid='" + rowid + "' and choiflag='Y']/calcscorcd" );
- if ( isNull(calcscorcd)) {
- for ( var j=1 ; j <= srcNodeListMainLength; j++ ) {
- if ( rowid == opener.model.getValue ( "/root/main/prcp/prcplist[" + j + "]/tempcol5" ) ){
- if ( opener.model.getValue ( "/root/main/prcp/prcplist[" + j + "]/tempcol4") == "M" ) {
- break;
- } else {
- opener.model.setValue ( "/root/main/prcp/prcplist[" + j + "]/tempcol4", "M" );
- break;
- }
- }
- }
- }
- }
-
- if ( model.getValue ( "/root/result/limprcplist[" + i + "]/delflag" ) == "Y" ) { //삭제 된것이 있으면
- //화면에 있는 것을 삭제 표시 해준다.
- for ( var j=1 ; j <= srcNodeListMainLength; j++ ) {
- // alert ( "rowid=>" + rowid );
- // alert ( "tempcol" + opener.model.getValue ( "/root/main/prcp/prcplist[" + j + "]/tempcol5" ));
- // alert ( "j" + j );
- if ( rowid == opener.model.getValue ( "/root/main/prcp/prcplist[" + j + "]/tempcol5" )) {
- opener.model.setValue ( "/root/main/prcp/prcplist[" + j + "]/tempcol6", "D" );
- checkcnt++;
- break;
- }
- }
- } else if ( model.getValue ( "/root/result/limprcplist[" + i + "]/choiflag" ) == "Y" ) { //삭제된 것이 없으면 tempcol4에 저장 데이터를 박아준다.
- var limsavedata = "calcscorcd|prcpdd|prcpno|qestflag|essnyn |payflag|rsltinpt|qestanswcnts|genrdd|genrno|instcd|seq|seqno|fstrgstrid|fstrgstdt|lastupdtrid|lastupdtdt^"
- limsavedata = limsavedata + model.getValue ( "/root/result/limprcplist[" + i + "]/calcscorcd" ) + "|";
- limsavedata = limsavedata + model.getValue ( "/root/result/limprcplist[" + i + "]/prcpdd" ) + "|";
- limsavedata = limsavedata + model.getValue ( "/root/result/limprcplist[" + i + "]/prcpno" ) + "|";
- limsavedata = limsavedata + model.getValue ( "/root/result/limprcplist[" + i + "]/qestflag" ) + "|";
- limsavedata = limsavedata + model.getValue ( "/root/result/limprcplist[" + i + "]/essnyn" ) + "|";
- limsavedata = limsavedata + model.getValue ( "/root/result/limprcplist[" + i + "]/payflag" ) + "|";
- limsavedata = limsavedata + model.getValue ( "/root/result/limprcplist[" + i + "]/rsltinpt" ) + "|";
- limsavedata = limsavedata + model.getValue ( "/root/result/limprcplist[" + i + "]/qestanswcnts" ) + "|";
- limsavedata = limsavedata + model.getValue ( "/root/result/limprcplist[" + i + "]/genrdd" ) + "|";
- limsavedata = limsavedata + model.getValue ( "/root/result/limprcplist[" + i + "]/genrno" ) + "|";
- limsavedata = limsavedata + model.getValue ( "/root/result/limprcplist[" + i + "]/instcd" ) + "|";
- limsavedata = limsavedata + model.getValue ( "/root/result/limprcplist[" + i + "]/seq" ) + "|";
- limsavedata = limsavedata + model.getValue ( "/root/result/limprcplist[" + i + "]/seqno" ) + "|";
- limsavedata = limsavedata + model.getValue ( "/root/result/limprcplist[" + i + "]/fstrgstrid" ) + "|";
- limsavedata = limsavedata + model.getValue ( "/root/result/limprcplist[" + i + "]/fstrgstdt" ) + "|";
- limsavedata = limsavedata + model.getValue ( "/root/result/limprcplist[" + i + "]/lastupdtrid" ) + "|";
- limsavedata = limsavedata + model.getValue ( "/root/result/limprcplist[" + i + "]/lastupdtdt" ) + "^";
- var payflag = model.getValue ( "/root/result/limprcplist[" + i + "]/payflag" );
- //화면에 있는 것을 삭제 표시 해준다.
- for ( var j=1 ; j <= srcNodeListMainLength; j++ ) {
- if ( rowid == opener.model.getValue ( "/root/main/prcp/prcplist[" + j + "]/tempcol5" ) ){
- checkcnt++;
- opener.model.setValue ( "/root/main/prcp/prcplist[" + j + "]/tempcol4", limsavedata );
- if ( payflag == "0" || payflag == "1" || payflag == "2" ) {
- opener.model.setValue ( "/root/main/prcp/prcplist[" + j + "]/payflagcd", payflag );
- }
- break;
- }
- }
- }
- }
- if ( delcnt > 0 ) {
- opener.javascript.fDeleteRow ( "noselect" );
- }
- if ( checkcnt > 0 ) {
- opener.javascript.setParameter ( "SPMMO00900_rtnyn", "Y" )
- } else {
- opener.javascript.setParameter ( "SPMMO00900_rtnyn", "C" )
- }
- //20081209 마정민 추가: 메시지만 있을 경우에는 창을 다시 띄우지 않기 위해 레지스트리에 등록
- if ( model.getValue ( "/root/init/msgchk" ) == "Y" ) {
- opener.window.javascript.setRegistryPrcp ( "limprcp|"+getCurrentDate(), "Y" );
- } else {
- opener.window.javascript.setRegistryPrcp ( "limprcp|"+getCurrentDate(), "N" );
- }
- window.close();
- ]]>
- </script>
- </button>
- <caption id="caption1" class="tit_2" style="left:5px; top:0px; width:328px; height:14px; ">처방제한 항목이 존재합니다. 해당사항에 선택하세요</caption>
- <line id="line7" class="line_1" style="x1:3px; y1:15px; x2:970px; y2:15px; "/>
- <datagrid id="grd_prcplist" nodeset="/root/result/limprcplist" caption="group^처방일자^처방코드^질문사항^선택^급여구분^답변내용^답변내용^삭제" colsep="^" colwidth="49, 82, 150, 470, 35, 90, 31, 100, 31" dataheight="23" extendlastcol="scroll" mergecells="byrestriccol" rowheight="23" rowsep="|" selectionmode="free" tooltip="true" style="left:3px; top:20px; width:967px; height:445px; word-wrap:word; ">
- <col ref="rowid" visibility="hidden"/>
- <col ref="prcpdd" type="output" visibility="hidden" format="yyyy-mm-dd"/>
- <col ref="displayprcpnm" type="output"/>
- <col ref="qestmsg"/>
- <col checkvalue="Y,N" ref="choiflag" type="checkbox"/>
- <col disabled="true" ref="payflag" type="combo">
- <choices>
- <itemset nodeset="/root/init/payflagcd/M0029">
- <label ref="cdnm"/>
- <value ref="cdid"/>
- </itemset>
- </choices>
- </col>
- <col ref="rsltinpt" type="combo" style="text-align:center; ">
- <choices>
- <item>
- <label>필요</label>
- <value>Y</value>
- </item>
- <item>
- <label>-</label>
- <value>N</value>
- </item>
- </choices>
- </col>
- <col ref="qestanswcnts" type="input"/>
- <col checkvalue="Y,N" ref="delflag" type="checkbox"/>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- if ( grd_prcplist.col == grd_prcplist.colRef ( "choiflag" ) || grd_prcplist.col == grd_prcplist.colRef ( "delflag" ) ) {
- var srcNodeList = model.instances(0).selectNodes( "/root/result/limprcplist" );
- var currow = grd_prcplist.row;
- if ( grd_prcplist.col == grd_prcplist.colRef ( "delflag" )) {
- // 삭제 체크 선택 시 여러 row일 경우 mregecell이 안되므로 하드 코딩 20080828 msh
- var choiflag = model.getValue ( "/root/result/limprcplist[" + currow + "]/choiflag" );
- for ( var i= currow; i<=srcNodeList.length; i++) {
- var j = i + 1;
- var currowcd = model.getValue ( "/root/result/limprcplist[" + i + "]/calcscorcd" );
- var nextrowcd = model.getValue ( "/root/result/limprcplist[" + j + "]/calcscorcd" );
- if (currowcd == nextrowcd) {
- model.setValue("/root/result/limprcplist[" + j + "]/delflag", model.getValue( "/root/result/limprcplist[" + i + "]/delflag" )) ;
- }
- }
- model.refresh();
- } else if ( grd_prcplist.col == grd_prcplist.colRef ( "choiflag" )) {
- //var mergeprcpcd = model.getValue ( "/root/result/limprcplist[" + currow + "]/calcscorcd" );
- var mergeseqno = model.getValue ( "/root/result/limprcplist[" + currow + "]/seqno" );
- var mergerowid = model.getValue ( "/root/result/limprcplist[" + currow + "]/rowid" );
- var prcpcd = "";
- var rowid = "";
- for ( var i= 1; i<=srcNodeList.length ; i++) {
- // prcpcd = model.getValue ( "/root/result/limprcplist[" + i + "]/calcscorcd" ); // 같은 코드일 때 같게 변경되는 것은 막는다.
- rowid = model.getValue ( "/root/result/limprcplist[" + i + "]/rowid" );
- seqno = model.getValue ( "/root/result/limprcplist[" + i + "]/seqno" );
- //if ( mergeprcpcd == prcpcd ) {
- if ( mergerowid == rowid ) {
- if ( mergeseqno == seqno ) { //처방코드가 같은 머지된 부분에서
- model.setValue ( "/root/result/limprcplist[" + i + "]/choiflag", "Y" );
- } else {
- model.setValue ( "/root/result/limprcplist[" + i + "]/choiflag", "N" );
- }
- }
- }
- }
- model.refresh();
- model.recalculate();
- }
- ]]>
- </script>
- </datagrid>
- <button id="button23" class="btn3_letter4" visibility="hidden" style="left:260px; top:470px; width:80px; height:22px; ">
- <caption>고시원문</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- messageBox ( "구현중입니다.", "E" );
- ]]>
- </script>
- </button>
- <caption id="caption7" class="hand" visibility="visible" style="left:1px; top:471px; width:259px; height:20px; ">인정기준 문의 : 보험팀 T.</caption>
- <bool id="bool1" checkvalue="Y,N" ref="/root/init/msgchk" style="left:545px; top:471px; width:25px; height:20px; "/>
- <caption id="caption2" style="left:568px; top:472px; width:341px; height:20px; ">message만 있는 경우 오늘 하루 동안 페이지를 열지 않습니다.</caption>
- </xhtml:body>
- </xhtml:html>
|