123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662 |
- <?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="">
- <main>
- <medirecinfo>
- <row/>
- <header/>
- </medirecinfo>
- <patinfo>
- <patinfolist/>
- </patinfo>
- </main>
- <send>
- <srchinfo>
- <pid/>
- <fromdd/>
- <todd/>
- <ioflag/>
- <srchflag>D</srchflag>
- </srchinfo>
- <srchtmedinfo>
- <pid/>
- <orddd/>
- <ioflag/>
- <prcpcd/>
- <execdd/>
- </srchtmedinfo>
- </send>
- <init>
- <baseinfo>
- <initprcpclscd/>
- </baseinfo>
- </init>
- <hidden>
- <tmedinfo/>
- </hidden>
- <temp>
- <medirecinfo/>
- <patinfo>
- <pid/>
- </patinfo>
- <srchgrupid>
- <initgrpuid/>
- </srchgrupid>
- </temp>
- </root>
- </instance>
- <script type="javascript" src="../../../com/commonweb/js/common.js"/>
- <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
- <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
- <script type="javascript">
- <![CDATA[
-
- /*
- @ 공통변수 선언/초기화
- - ColFlagNm : 일반컬럼과 실시컬럼 분리를 위한 값 설정
- - OpenID : 부모창의 화면 ID
- - AdrUID : 선택된 cell의 조회값이 반영되어질 화면 ID
- - popupPid : 부모창에서 넘겨받은 등록번호
- - srchpath : 선택된 값의 데이터를 조회하기 위한 인스턴스
- - tmedinfopath : 조회되어진 처방정보의 인스턴스
- */
- var ColFlagNm = "column"; // 일반컬럼과 실시이력에 대한 구분을 위한 구분값 * 변경금지
- var OpenID = ""; //
- var AdrUID = "SMADC00600"; // ADR보고서작성 화면 UID
- var popupPid = "";
- var srchpath = "/root/send/srchtmedinfo/";
-
- var tmedinfopath = "/root/hidden/tmedinfo/";
-
- var align = "";
- var type = "";
-
- /*
- @ 화면 로딩시 초기화
- */
- function finit(){
-
- // 팝업으로 연 화면인지 메인으로 연 화면인지 구분
- // 팝업시
- // -등록번호 존재여부 확인
- // - open 한 메인창의 화면 아이디 저장
-
- if(isPopup()){
- popupPid = model.getValue("/root/temp/patinfo/pid");
- if(popupPid != "") ipt_pid.value = popupPid;
- OpenID = opener.javascript.getScreenID();; // open한 화면의 ID를 가져온다. SMADC00600 일때만 선택한값을 반환하기 위함.
- }
- var fromdd = new Date();
-
- ipt_fromdd.value = fromdd.getAddDate(-7).getDateFormat(); // 상대일자 (로컬PC의 시간기준)
- ipt_todd.value = getCurrentDate(); // 종료일자를 현재일자로 설정
-
- zbcfGetCodeList( new Array("M0005"), new Array("/root/init/baseinfo/initprcpclscd") );
- }
-
-
- /*
- @ 결과 그리드 컬럼 초기화
- */
- function fSetGrdInit(){
-
- //model.resetInstanceNode(grd_medirec.attribute("nodeset"));
- model.resetInstanceNode("/root/main/medirecinfo");
-
- var cols = grd_medirec.cols-grd_medirec.fixedCols;
- var rows = grd_medirec.rows-grd_medirec.fixedRows;
- for( var i = 0; i < cols; i++ ) {
- grd_medirec.removeColumn(false);
- }
- for( var i = 0; i < rows; i++ ) {
- grd_medirec.removeRow(false);
- }
-
- model.removeNodeSet("/root/main/");
- model.refresh();
- }
-
- /*
- @ 선택약물의 처방정보 조회
- */
- function fSrchTmedInfo(){
-
- // 변수초기화
- var pid = ipt_pid.value;
- var orddd = "";
- var ioflag = grd_medirec.valueMatrix(grd_medirec.row, grd_medirec.colRef("ioflag"));
- var prcpcd = grd_medirec.valueMatrix(grd_medirec.row, grd_medirec.colRef("prcpcd"));
- var execdd = "";
-
-
- if(ioflag == "I"){
- orddd = grd_medirec.valueMatrix(grd_medirec.row, grd_medirec.colRef("orddd"));
- }else{
- orddd = grd_medirec.colAttribute(grd_medirec.col, "ref").substr(6,8);
- }
- // 선택한 행의 실시일자를 가져온다.
- // column00000000 형식 컬럼의 ref에서 column을 제외한 나머지 일자를 가져온다. = > 실시일자
- if(isSearchString(grd_medirec.colAttribute(grd_medirec.col, "ref"),ColFlagNm)){
- execdd = grd_medirec.colAttribute(grd_medirec.col, "ref").substr(6,8);
- }
-
- var errmsg = "";
- //alert("pid : " + pid + " orddd : " + orddd + " ioflag : " + ioflag + " prcpcd : " + prcpcd+ " execdd : "+execdd);
-
- if(pid == "") {if(errmsg != "") errmsg+=","; errmsg += "등록번호";}
- if(orddd == "") {if(errmsg != "") errmsg+=","; errmsg += "진료/입원일";}
- if(ioflag == "") {if(errmsg != "") errmsg+=","; errmsg += "입원외래구분";}
- if(prcpcd== "") {if(errmsg != "") errmsg+=","; errmsg += "약품코드";}
- if(execdd== "") {if(errmsg != "") errmsg+=","; errmsg += "일자";}
-
-
- if(errmsg == ""){
- model.setValue(srchpath+"pid", pid);
- model.setValue(srchpath+"orddd", orddd);
- model.setValue(srchpath+"ioflag", ioflag);
- model.setValue(srchpath+"prcpcd", prcpcd);
- model.setValue(srchpath+"execdd", execdd);
-
- if(submit("TRADC20102")) return true;
- else return false;
-
- }else{
- messageBox("["+ errmsg + "] 이(가) 선택되지","E007");
- return false;
- }
-
-
- }
-
-
- function fCnfm(){
-
- if(OpenID == AdrUID){
- if(!fSrchTmedInfo()) return;
- if(grd_tmedinfo.rows - grd_tmedinfo.fixedRows > 1){
- group4.visible = true;
- group4.refresh();
- }else{
- var v_prcpnm = model.getValue(tmedinfopath+"prcpnm");
- var v_rgstdt = model.getValue(tmedinfopath+"rgstdt");
- var v_prcpvol = model.getValue(tmedinfopath+"prcpvol");
- var v_prcpvolunit = model.getValue(tmedinfopath+"prcpvolunit");
- var v_prcpqty = model.getValue(tmedinfopath+"prcpqty");
- var v_prcpqtyunit = model.getValue(tmedinfopath+"prcpqtyunit");
- var v_prcptims = model.getValue(tmedinfopath+"prcptims");
- var v_prcpdayno = model.getValue(tmedinfopath+"prcpdayno");
- var v_fsttakedt = model.getValue(tmedinfopath+"fsttakedt");
- var v_lsttakedt = model.getValue(tmedinfopath+"lsttakedt");
- var v_prcpclscd = model.getValue(tmedinfopath+"prcpclscd");
- var v_prodcmpynm = model.getValue(tmedinfopath+"prodcmpynm");
- var v_orddeptnm = model.getValue(tmedinfopath+"orddeptnm");
- var v_orddeptcd = model.getValue(tmedinfopath+"orddeptcd");
- var v_rgstseqno = model.getValue(tmedinfopath+"rgstseqno");
- var v_formrecseq = model.getValue(tmedinfopath+"formrecseq");
- var v_prcpcd = model.getValue(tmedinfopath+"prcpcd");
- var v_prcpno = model.getValue(tmedinfopath+"prcpno");
- var v_execprcphistcd = model.getValue(tmedinfopath+"execprcphistcd");
- var v_pid = model.getValue(tmedinfopath+"pid");
- var v_engnm = model.getValue(tmedinfopath+"engnm");
-
- if (opener.model.getValue("/root/main/baseinfo/patinfolist/pid") != v_pid){
- messageBox("[ADR보고서 작성] 등록번호와 [약품실시이력조회]의 등록번호가 상이합니다.", "E999", "");
- return;
- }else{
- var frow = opener.grd_prcpinfo.findRow(v_prcpno, 1, opener.grd_prcpinfo.colRef("prcpno"), false, false);
- if (frow < 1){
- opener.grd_prcpinfo.addRow();
- var irow = opener.grd_prcpinfo.row;
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("prcpnm")) = v_prcpnm; // 약품명
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("rgstdt")) = v_rgstdt; // 처방시간
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("prcpvol")) = v_prcpvol; // 1일용량
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("prcpvolunit")) = v_prcpvolunit; // 용량단위
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("prcpqty")) = v_prcpqty; // 1일수량
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("prcpqtyunit")) = v_prcpqtyunit; // 수량단위
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("prcptims")) = v_prcptims; // 분할투여횟수
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("prcpdayno")) = v_prcpdayno; // 일수
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("fsttakedt")) = v_fsttakedt; // 최초복용일시
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("lsttakedt")) = v_lsttakedt; // 최종복용일시
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("prcpclscd")) = v_prcpclscd; // 투여경로
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("prodcmpynm")) = v_prodcmpynm; // 제조회사
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("orddeptnm")) = v_orddeptnm; // 진료과
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("orddeptcd")) = v_orddeptcd; // 진료과코드
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("rgstseqno")) = v_rgstseqno; // 저장일련번호
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("formrecseq")) = v_formrecseq; // 서식일련번호
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("prcpcd")) = v_prcpcd; // 처방코드
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("prcpno")) = v_prcpno; // 처방
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("execprcphistcd")) = v_execprcphistcd; // 실시처방상태
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("pid")) = v_pid; // 등록번호
- opener.grd_prcpinfo.addStatus(irow, "insert");
-
- }
- opener.model.refresh();
- }
- }
- }
- }
-
- /*
- @ 엑셀 저장
- */
- function saveDrugList(gridIDArray) {
- // gidIDArray
-
-
- var File_PATH = window.fileDialog("save","","true","","xls","Excel Files(*.xls)|*.xls");
-
- if (File_PATH != ""){
- // object 추가
- var tfexcel2 = body.createChild("xforms:object" , "id:tfexcel;clsid:{fe8d1001-6a9d-424d-ae2a-301493bb12da}");
- body.refresh();
-
- // excel application 실행
- // 0 : hidden , 1 : Nomal(default), 2 : Mnimized, 3 : Maximized
- tfexcel.launchnewinstance(0);
-
- //실행된 excel application에서 새로운 workbook을 생성
- tfexcel.createworkbook();
-
- // 복수의 그리드에 대하여 실행 가능 - 구분자는 ','
- var gridIDList = gridIDArray.split(",");
- // 그리드별로 (복수지정가능)
- for ( var i = 0 ; i < gridIDList.length ; i++ ){
-
- var me = trim(gridIDList[i]);
- var element = document.all(me);
- // sheet 이름 지정
- tfexcel.addsheet(i+1 , element.attribute("id") );
-
- //설정한 영역에 format을 설정
- //tfexcel.setformat(1,1,document.all(me).rows,document.all(me).cols, "@"); // 텍스트형식
- tfexcel.setbordercolor(1,1,element.rows,document.all(me).cols, "#000000");
- tfexcel.cellbgcolor(1,1,1,element.cols) = "#d9d9d9";
- tfexcel.font(1,1,element.rows,element.cols) = element.attribute("font-falmily");
- tfexcel.fontsize(1,1,element.rows,element.cols) = 9;
-
- var col_algin = align.split(",");
- var col_type = type.split(",");
-
- // 컬럼 순서대로 너비 지정(그리드의 속성 상속)
- for( col = 1 ; col <= element.cols ; col++) {
- tfexcel.colwidth(col) = element.colwidth(col-1) / 9.5; // colum 너비 지정
- tfexcel.halign(1,col,element.rows,col) = col_algin[col-1];
- }
-
- // 로우 순서대로 높이지정 (그리드의 속성 상속)
- for (var gridRow=1 ; gridRow <= element.rows; gridRow++) {
- for (var gridCol=1 ; gridCol <= element.cols; gridCol++) {
- // cellformat 설정이거나 콤보시 라벨내용을 삽입
- if ( element.cellFormat( gridRow-1 , gridCol-1 ) != "" || col_type[gridCol-1] == "combo") {
- tfexcel.cellvalue(gridRow,gridCol) = element.labelMatrix( gridRow-1, gridCol-1);
- }else{
- // 특이사항 없을 땐 value값을 삽입
- tfexcel.cellvalue(gridRow,gridCol) = element.valueMatrix( gridRow-1, gridCol-1);
- }
- }
- }
-
- // 캡션 정렬 설정
- tfexcel.valign(1,1,1, element.cols) = "center";
- tfexcel.halign(1,1,1, element.cols) = "center";
-
- // 각 행 세로정렬
- tfexcel.valign(2,1,element.rows, element.cols) = "top";
- }
-
- for ( var i = 1 ; i <= 3 ; i++ ){
- tfexcel.deletesheet(gridIDList.length + 1);
- }
- //workbook을 저장.
- tfexcel.save(File_PATH);
- //excel application을 종료. excel application 생성 후 반드시 close해야함.
- var close = tfexcel.close();
- //excel 실행
- window.exec("excel.exe",'\"'+ File_PATH + '\"');
- }
- }
-
- function trim(trimData){
- return trimData.replace(/(^\s*)|(\s*$)/gi, "");
- }
- ]]>
- </script>
- <script type="javascript" ev:event="xforms-ready">
- <![CDATA[
- finit();
- model.refresh();
- ]]>
- </script>
- <submission id="TRADC20101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/srchinfo" replace="instance" resultref="/root/temp/medirecinfo"/>
- <submission id="TRADC20102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/srchtmedinfo" replace="instance" resultref="/root/hidden"/>
- <submission id="TRZBC00101"/>
- </model>
- </xhtml:head>
- <xhtml:body guideline="1,1194;2,784;2,757;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
- <caption id="caption1" class="tit_1" style="left:0px; top:0px; width:106px; height:14px; ">약품실시이력 조회</caption>
- <group id="group1" style="left:0px; top:20px; width:1194px; height:40px; ">
- <shape id="roundrect1" appearance="roundrect" ellipsewidth="20" ellipseheight="20" style="left:0px; top:0px; width:1194px; height:40px; "/>
- <caption id="caption2" class="search_name" style="left:5px; top:10px; width:90px; height:17px; ">등록번호 :</caption>
- <input id="ipt_pid" ref="/root/send/srchinfo/pid" class="input_s_essential" style="left:95px; top:10px; width:115px; height:19px; ">
- <script type="javascript" ev:event="onkeypress">
- <![CDATA[
- inputEnterKey("btn_sea","DOMActivate");
- ]]>
- </script>
- </input>
- <button id="button11" class="icon_search" style="left:215px; top:10px; width:16px; height:16px; ">
- <caption/>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- modal("SPPMC02500", "1","150", "150", "SPPMC02500", "", "");
- if(model.getValue("/root/main/patinfo/patinfolist/pid") != ""){
- model.setValue("/root/send/srchinfo/pid" ,model.getValue("/root/main/patinfo/patinfolist/pid"));
- //model.setValue("/root/send/srchinfo/srchhngnm",model.getValue("/root/init/patinfo/hngnm"));
- model.refresh();
- }
- ]]>
- </script>
- </button>
- <caption id="caption3" class="search_name" style="left:245px; top:10px; width:90px; height:17px; ">조회구간 :</caption>
- <caption id="caption4" style="left:435px; top:10px; width:15px; height:20px; text-align:center; ">~</caption>
- <input id="ipt_fromdd" ref="/root/send/srchinfo/fromdd" class="input_search" inputtype="date" style="left:335px; top:10px; width:100px; height:19px; "/>
- <input id="ipt_todd" ref="/root/send/srchinfo/todd" class="input_search" inputtype="date" style="left:450px; top:10px; width:100px; height:19px; "/>
- <select id="chk_ioflag" ref="/root/send/srchinfo/ioflag" overflow="visible" appearance="full" cols="2" rows="1" sep="^" style="left:570px; top:10px; width:95px; height:20px; border-style:none; ">
- <choices>
- <item>
- <label>입원</label>
- <value>I</value>
- </item>
- <item>
- <label>외래</label>
- <value>O</value>
- </item>
- </choices>
- </select>
- <caption id="caption5" class="search_name" style="left:685px; top:10px; width:90px; height:17px; ">조회구분 :</caption>
- <select1 id="cmb_srchflag" ref="/root/send/srchinfo/srchflag" class="combo_search" appearance="minimal" style="left:775px; top:10px; width:150px; height:19px; ">
- <choices>
- <item>
- <label>월별</label>
- <value>M</value>
- </item>
- <item>
- <label>일별</label>
- <value>D</value>
- </item>
- <item>
- <label>시간별</label>
- <value>H</value>
- </item>
- </choices>
- <script type="javascript" ev:event="xforms-select">
- <![CDATA[
- if(cmb_srchflag.value != "D"){
- messageBox("준비중입니다","");
- cmb_srchflag.value = "D";
- cmb_srchflag.refresh();
- }
- ]]>
- </script>
- </select1>
- <button id="btn_sea" class="btn1_letter2" style="left:1130px; top:9px; width:56px; height:22px; ">
- <caption>조회</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
-
- /* @ 등록번호 입력 체크 (필수입력 사항) */
- if(ipt_pid.value == "") {
- messageBox("등록번호는","I003");
- model.setFocus("ipt_pid");
- return;
- }
-
- /* @ 조회구간 체크 (필수입력 사항) */
- if(ipt_fromdd.value == "" && ipt_todd.value == "") {
- var msg = messageBox("조회구간이 설정되지 않았습니다. 전체","Q005");
- if(msg == "7") {
- model.setFocus("ipt_fromdd");
- return;
- }
- }
-
- grd_medirec.clearStatus();
-
- /*
- @ 그리드 설정 초기화
- */
- fSetGrdInit();
-
- /*
- @ 입원/외래 CheckBox 설정
- 전체선택 : 입원/외래 둘다 체크일 경우 혹은 둘다 미체크일경우
- */
- var ioflag = model.getValue("/root/send/srchinfo/ioflag");
- var ioflag_I = false;
- var ioflag_O = false;
-
- if(isSearchString(ioflag,"I")) ioflag_I = true;
- if(isSearchString(ioflag,"O")) ioflag_O = true;
-
- if((ioflag_I && ioflag_O) || !(ioflag_I || ioflag_O)) ioflag = "T";
- else {
- if(ioflag_I) ioflag = "I";
- else ioflag = "O";
- }
- model.setValue("/root/send/srchinfo/ioflag", ioflag);
-
- submit("TRADC20101",false);
-
-
- var grdCaption = model.getValue("/root/temp/medirecinfo/header/caption");
- var grdColref = model.getValue("/root/temp/medirecinfo/header/colref");
- var grdHidden = model.getValue("/root/temp/medirecinfo/header/hidden");
- var grdAttribute = "";
-
- if(getNodesetCount("/root/temp/medirecinfo/row") == 0){ messageBox("조회결과가","I004"); return;}
- var grdColrefArray = grdColref.split("^");
- var grdHiddenArray = grdHidden.split("^");
-
- for (var i = 0; i < grdColrefArray.length; i++){
- if(grdColrefArray[i] != "") grdAttribute += "ref:"+ grdColrefArray[i]+";";
- if(isSearchString(grdColrefArray[i],ColFlagNm)) grdAttribute += "style:text-align:center;";
- grd_medirec.addColumn(grdAttribute,false);
- }
-
- grd_medirec.colWidth(grd_medirec.colRef("ioflagnm")) = "40";
- grd_medirec.colWidth(grd_medirec.colRef("prcpcd")) = "100";
- grd_medirec.colWidth(grd_medirec.colRef("prcpnm")) = "250";
- grd_medirec.colWidth(grd_medirec.colRef("drugmthdspccd")) = "250"
-
- grd_medirec.colHidden(grd_medirec.colRef("ioflag")) = true;
- grd_medirec.colHidden(grd_medirec.colRef("orddd")) = true;
- grd_medirec.colHidden(grd_medirec.colRef("exectm")) = true;
-
- model.copyNode("/root/main/medirecinfo","/root/temp/medirecinfo");
- grd_medirec.caption = grdCaption;
-
-
- /*
- @ 약품실시이력 cell 색상 변경
- 약품실시이력에 데이터가 존재시 색상변경
- */
- for(var i = grd_medirec.fixedCols; i < grd_medirec.cols; i++){
- var colnm = grd_medirec.colAttribute(parseInt(i), "ref");
- var col = parseInt(i);
- if(isSearchString(colnm, ColFlagNm)){
- for(var j = grd_medirec.fixedRows; j < grd_medirec.rows; j++){
- var row = parseInt(j);
- if(grd_medirec.valueMatrix(row, col) != ""){
- grd_medirec.cellStyle("background-color",row,col) = "#ffff99";
- }
- }
- }
- }
- grd_medirec.selectionMode = "free";
- grd_medirec.rebuild();
-
- grd_medirec.frozenCols = 3;
-
- model.refresh();
- ]]>
- </script>
- </button>
- <line id="line1" style="x1:1120px; y1:5px; x2:1120px; y2:35px; border-color:#ffe4bb; border-left-style:solid; "/>
- </group>
- <group id="group2" style="left:0px; top:95px; width:1194px; height:620px; ">
- <datagrid id="grd_medirec" nodeset="/root/main/medirecinfo/row" class="datagrid2" caption="입원
/외래^약품코드^처방명^용법^진료/입원일^실시일자^ioflag^등록번호" colsep="^" colwidth="100, 100, 100, 100, 100, 100, 100" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" tooltip="true" style="left:0px; top:0px; width:1194px; height:620px; ">
- <col ref="ioflagnm" style="text-align:center; "/>
- <col ref="prcpcd"/>
- <col ref="prcpnm"/>
- <col ref="drugmthdspccd"/>
- <col ref="orddd"/>
- <col ref="exectm"/>
- <col ref="ioflag"/>
- <script type="javascript" ev:event="ondblclick">
- <![CDATA[
- fCnfm();
- ]]>
- </script>
- </datagrid>
- <group id="group4" visibility="hidden" style="left:220px; top:430px; width:950px; height:155px; ">
- <datagrid id="grd_tmedinfo" nodeset="/root/hidden/tmedinfo" caption-layout="flow" allowbigselection="true" allowselection="true" allowuserresize="true" autoresize="true" autosizemouse="true" caption="처방명^처방시간^용량^용량단위^수량^수량단위^횟수^일수^최초복용일시^최종복용일시^투여경로^제조회사^처방코드^진료과명^진료과코드^rgstseqno^formrecseq^처방번호^실시처방상태^등록번호^약품영문명" colsep="^" colwidth="219, 130, 50, 60, 50, 60, 60, 50, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" ellipsis="true" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:5px; top:5px; width:940px; height:120px; ">
- <col ref="prcpnm"/>
- <col ref="rgstdt" format="yyyy-mm-dd hh:nn:ss" style="text-align:center; "/>
- <col ref="prcpvol" style="text-align:right; "/>
- <col ref="prcpvolunit"/>
- <col ref="prcpqty" style="text-align:right; "/>
- <col ref="prcpqtyunit"/>
- <col ref="prcptims"/>
- <col ref="prcpdayno" visibility="hidden"/>
- <col ref="fsttakedt" type="input" visibility="hidden" format="yyyy-mm-dd hh:nn" style="text-align:center; "/>
- <col ref="lsttakedt" type="input" visibility="hidden" format="yyyy-mm-dd hh:nn" style="text-align:center; "/>
- <col ref="prcpclscd" type="combo" style="text-align:center; ">
- <choices>
- <itemset nodeset="/root/init/baseinfo/initprcpclscd/M0005">
- <label ref="cdnm"/>
- <value ref="cdid"/>
- </itemset>
- </choices>
- </col>
- <col ref="prodcmpynm"/>
- <col ref="prcpcd" visibility="hidden"/>
- <col ref="orddeptnm"/>
- <col ref="orddeptcd" visibility="hidden"/>
- <col ref="rgstseqno" visibility="hidden"/>
- <col ref="formrecseq" visibility="hidden"/>
- <col ref="prcpno" visibility="hidden"/>
- <col ref="execprcphistcd" visibility="hidden"/>
- <col ref="pid" visibility="hidden"/>
- <col ref="engnm" visibility="hidden"/>
- <script type="javascript" ev:event="ondblclick">
- <![CDATA[
- var v_prcpnm = grd_tmedinfo.valueMatrix(grd_tmedinfo.row, grd_tmedinfo.colRef("prcpnm"));
- var v_rgstdt = grd_tmedinfo.valueMatrix(grd_tmedinfo.row, grd_tmedinfo.colRef("rgstdt"));
- var v_prcpvol = grd_tmedinfo.valueMatrix(grd_tmedinfo.row, grd_tmedinfo.colRef("prcpvol"));
- var v_prcpvolunit = grd_tmedinfo.valueMatrix(grd_tmedinfo.row, grd_tmedinfo.colRef("prcpvolunit"));
- var v_prcpqty = grd_tmedinfo.valueMatrix(grd_tmedinfo.row, grd_tmedinfo.colRef("prcpqty"));
- var v_prcpqtyunit = grd_tmedinfo.valueMatrix(grd_tmedinfo.row, grd_tmedinfo.colRef("prcpqtyunit"));
- var v_prcptims = grd_tmedinfo.valueMatrix(grd_tmedinfo.row, grd_tmedinfo.colRef("prcptims"));
- var v_prcpdayno = grd_tmedinfo.valueMatrix(grd_tmedinfo.row, grd_tmedinfo.colRef("prcpdayno"));
- var v_fsttakedt = grd_tmedinfo.valueMatrix(grd_tmedinfo.row, grd_tmedinfo.colRef("fsttakedt"));
- var v_lsttakedt = grd_tmedinfo.valueMatrix(grd_tmedinfo.row, grd_tmedinfo.colRef("lsttakedt"));
- var v_prcpclscd = grd_tmedinfo.valueMatrix(grd_tmedinfo.row, grd_tmedinfo.colRef("prcpclscd"));
- var v_prodcmpynm = grd_tmedinfo.valueMatrix(grd_tmedinfo.row, grd_tmedinfo.colRef("prodcmpynm"));
- var v_orddeptnm = grd_tmedinfo.valueMatrix(grd_tmedinfo.row, grd_tmedinfo.colRef("orddeptnm"));
- var v_orddeptcd = grd_tmedinfo.valueMatrix(grd_tmedinfo.row, grd_tmedinfo.colRef("orddeptcd"));
- var v_rgstseqno = grd_tmedinfo.valueMatrix(grd_tmedinfo.row, grd_tmedinfo.colRef("rgstseqno"));
- var v_formrecseq = grd_tmedinfo.valueMatrix(grd_tmedinfo.row, grd_tmedinfo.colRef("formrecseq"));
- var v_prcpcd = grd_tmedinfo.valueMatrix(grd_tmedinfo.row, grd_tmedinfo.colRef("prcpcd"));
- var v_prcpno = grd_tmedinfo.valueMatrix(grd_tmedinfo.row, grd_tmedinfo.colRef("prcpno"));
- var v_execprcphistcd = grd_tmedinfo.valueMatrix(grd_tmedinfo.row, grd_tmedinfo.colRef("execprcphistcd"));
- var v_pid = grd_tmedinfo.valueMatrix(grd_tmedinfo.row, grd_tmedinfo.colRef("pid"));
- var v_engnm = grd_tmedinfo.valueMatrix(grd_tmedinfo.row, grd_tmedinfo.colRef("engnm"));
-
- if (opener.model.getValue("/root/main/baseinfo/patinfolist/pid") != v_pid){
- messageBox("[ADR보고서 작성] 등록번호와 [약품실시이력조회]의 등록번호가 상이합니다.", "E999", "");
- return;
- }else{
- var frow = opener.grd_prcpinfo.findRow(v_prcpno, 1, opener.grd_prcpinfo.colRef("prcpno"), false, false);
- if (frow < 1){
- opener.grd_prcpinfo.addRow();
- var irow = opener.grd_prcpinfo.row;
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("prcpnm")) = v_prcpnm; // 약품명
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("rgstdt")) = v_rgstdt; // 처방시간
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("prcpvol")) = v_prcpvol; // 1일용량
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("prcpvolunit")) = v_prcpvolunit; // 용량단위
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("prcpqty")) = v_prcpqty; // 1일수량
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("prcpqtyunit")) = v_prcpqtyunit; // 수량단위
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("prcptims")) = v_prcptims; // 분할투여횟수
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("prcpdayno")) = v_prcpdayno; // 일수
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("fsttakedt")) = v_fsttakedt; // 최초복용일시
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("lsttakedt")) = v_lsttakedt; // 최종복용일시
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("prcpclscd")) = v_prcpclscd; // 투여경로
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("prodcmpynm")) = v_prodcmpynm; // 제조회사
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("orddeptnm")) = v_orddeptnm; // 진료과
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("orddeptcd")) = v_orddeptcd; // 진료과코드
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("rgstseqno")) = v_rgstseqno; // 저장일련번호
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("formrecseq")) = v_formrecseq; // 서식일련번호
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("prcpcd")) = v_prcpcd; // 처방코드
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("prcpno")) = v_prcpno; // 처방
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("execprcphistcd")) = v_execprcphistcd; // 실시처방상태
- opener.grd_prcpinfo.valueMatrix(irow, opener.grd_prcpinfo.colRef("pid")) = v_pid; // 등록번호
- opener.grd_prcpinfo.addStatus(irow, "insert");
-
- }
- opener.model.refresh();
- group4.visible = false;
- group4.refresh();
- }
-
- ]]>
- </script>
- </datagrid>
- <button id="button4" class="btn4_letter2" style="left:885px; top:130px; width:56px; height:22px; ">
- <caption>닫기</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- group4.visible = false;
- group4.refresh();
- ]]>
- </script>
- </button>
- </group>
- </group>
- <group id="group3" style="left:0px; top:715px; width:1194px; height:44px; ">
- <button id="button1" class="btn4_letter2" style="left:1138px; top:10px; width:56px; height:22px; ">
- <caption>닫기</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- window.close();
- ]]>
- </script>
- </button>
- <button id="button3" class="btn4_letter2" style="left:1073px; top:10px; width:56px; height:22px; ">
- <caption>확인</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fCnfm();
- ]]>
- </script>
- </button>
- </group>
- <button id="button5" class="btn2_letter2" style="left:1150px; top:70px; width:42px; height:19px; ">
- <caption>엑셀</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- saveDrugList("grd_medirec");
- ]]>
- </script>
- </button>
- </xhtml:body>
- </xhtml:html>
|