123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[//변수선언
- var prcpclscd = 2;
- var prcpKindCdCol = 3; //처방종류 index
- var prcpnmCol = 5; //처방명 컬럼 index
- var prcpVolCol = 6; //용량 컬럼 index
- var prcpQtyCol = 8; //수량 컬럼 index
- var prcpTimsCol = 10; //횟수 컬럼 index
- var prcpDayNoCol = 11; //일수 컬럼 index
- var prcpDeliveFactCol = 15; //전달사항 컬럼 index
- var prcpHopeHdCol = 18; //희망일자 컬럼 index
- var ContPrcpDdRow = 6; //지정일 instance row
- var prcpNode = ds_main_prcplist;
- var diagNode = "/root/main/diaginfo/diagcdlist";
- var prcpgenrflag = ""; //외래입원구분
- /**
- * @desc : 처방화면 초기화
- * @param :
- * @id : model1
- * @event : xforms-ready
- * @return : void
- * @authur : 마정민 2007. 3. 14
- * @---------------------------------------------------
- */
- function fInitializeReady() {
- model.recalculate();
- model.setfocus( "grd_prcplist" );
- grd_prcplist.dispatch("onentercell");
- }
- function fDirecPrcpSrch(srchflag) {
- if ( ds_main_prcplist.getColumn(ds_main_prcplist.rowposition, "prcpflag") == "2" && ds_main_prcplist.getColumn(ds_main_prcplist.rowposition, "drugmastspec") =="Y" ){
- return;
- }
- var prcpnm = ds_main_prcplist.getColumn(ds_main_prcplist.rowposition, "prcpnm" );
- if ( srchflag == "prcpcd") {
- prcpnm = ds_main_prcplist.getColumn(ds_main_prcplist.rowposition, "prcpcd" );
- }
- var isHangul = utlf_isHangul(prcpnm);
- //한글일때는 1글자만 넣어도 검색가능
- if ( utlf_isNull(prcpnm)) {
- sysf_messageBox ( "검색어를", "C001" );
- return;
- } else if ( isHangul == "E" ){
- //영문,숫자일때는 3글자 넣어야 검색가능
- if ( prcpnm.length < 2 ){
- sysf_messageBox ( "2글자 이상", "C001" );
- return;
- }
- } else if ( isHangul == "H" ) {
- if ( prcpnm.length < 2 ){
- sysf_messageBox ( "한글은 2글자 이상", "C001" );
- return;
- }
- }
- if (prcpnm.charAt ( 0 ) == "/"){
-
- if ( prcpnm.length == 1 ){
- sysf_messageBox ( "검색할 수술명이", "I004" );
- return;
- }
-
- var curRow = ds_main_prcplist.rowposition;
- var srchRow = ds_main_prcplist.rowcount -1;
-
- var mon = sysf_getCurrentMonitorNumber();
-
- frmf_modal("SPMMO05100", "SPMMO05100", null, false, mon, 180, 80, null, null, null, null, null, "M");
-
- //fPrcpModal ( "SPMMO05100", 180, 80 );
- } else {
-
- if ( srchflag == "prcpcd") {
- lf_prcpSrchCom ( prcpnm, ds_init.getColumn(0, "prcpdd" ), ds_paminfo.getColumn(0, "insukind"), "TRMMB00201", "", false, "getPrcpCdOldSrchInfo", isHangul );
- } else if ( srchflag == "prcpnm") {
- lf_prcpSrchCom ( prcpnm, ds_init.getColumn(0, "prcpdd" ), ds_paminfo.getColumn(0, "insukind"), "TRMMB00201", "", false, "getPrcpNmSrchInfo", isHangul );
- } else {
- lf_prcpSrchCom ( prcpnm, ds_init.getColumn(0, "prcpdd" ), ds_paminfo.getColumn(0, "insukind"), "TRMMB00201", "", false, "getPrcpSrchInfo", isHangul );
- }
-
- var srchLength = ds_prcpsrch_prcplist.rowcount;
- var curRow = ds_main_prcplist.rowposition;
- var nextRow = ds_main_prcplist.rowposition + 1;
- if( srchLength > 1) {
- ivw_prcp.grd_prcpsrchlist.position.height = 278;
- ivw_prcp.btn_copy.position.top = 281;
- ivw_prcp.btn_copy.position.height = 20;
- import1.btn_cancel.position.top = 281;
- import1.btn_cancel.position.height = 20;
- if ( ds_main_prcplist.rowposition < 12) {
- import1.position.top = 71 + ( ds_main_prcplist.rowposition) * 23;
- } else if ( ds_main_prcplist.rowposition < 25) {
- import1.position.top = (ds_main_prcplist.rowposition) * 23 - 260;
- } else if ( ds_main_prcplist.rowposition >= 25 ) {
- import1.position.top = 24 * 23 - 247;
- }
-
- import1.position.height = 306;
-
- import1.visible = true;
- ds_prcpsrch_prcplist.rowposition = 0;
- ivw_prcp.grd_prcpsrchlist.setCellPos(0);
- ivw_prcp.grd_prcpsrchlist.setFocus();
- } else if( srchLength == 1) {
- srchRow = lf_addPrcpDetl ( "import" , "ds_prcpsrch_prcplist" , "ds_main_prcplist" , 0 , ds_main_prcplist.rowposition, "00" );
- if (srchRow !=0 ) {
- lf_focusMain ( srchRow );
- }
- } else {
- sysf_messageBox ( "검색된 내용이", "I004" );
- btn_editcell_onclick();
- }
- }
- }
- function fGetDirecPrcp() {
- ds_send.setColumn(0, "cond1", ds_init.getColumn(0, "prcpno" ));
-
- var oParam = {};
- oParam.id = "TRMMB00911";
- oParam.service = "prcpbaseapp.OrdPrcpMngt";
- oParam.method = "reqGetDirecPrcpDetlSetList";
- oParam.inds = "req=ds_send";
- oParam.outds = "ds_main_prcplist=prcplist";
- oParam.async = false;
- //oParam.callback = "cf_TRMMB00911";
- tranf_submit(oParam);
-
- if( utlf_isNull(ds_main_prcplist.getColumnInfo("tempcol6")) ){
- ds_main_prcplist.addColumn("tempcol6", "string");
- }
- if( utlf_isNull(ds_main_prcplist.getColumnInfo("prcpsignflag")) ){
- ds_main_prcplist.addColumn("prcpsignflag", "string");
- }
- if( utlf_isNull(ds_main_prcplist.getColumnInfo("etcprcpflag")) ){
- ds_main_prcplist.addColumn("etcprcpflag", "string");
- }
- if( utlf_isNull(ds_main_prcplist.getColumnInfo("prcpauthflag")) ){
- ds_main_prcplist.addColumn("prcpauthflag", "string");
- }
- if( utlf_isNull(ds_main_prcplist.getColumnInfo("prcphopedd")) ){
- ds_main_prcplist.addColumn("prcphopedd", "string");
- }
-
- dsf_setDefaultVal(ds_main_prcplist, "hsctdelivepos:0,hsctlnkno:0,etcprcpflag:-,drgacptflag:-");
-
- lf_appendChildPrcp ( "ds_reset_prcplist", "ds_main_prcplist", "main" ); //검색라인추가
- }
- /**
- * @desc : 처방수정.
- * @ : 신규일때는 수정표시 안함.
- * @ : 삭제,D/C 상태일때는 취소후 수정.
- * @param :
- * @id : grd_prcplist
- * @event : xforms-value-changed
- * @return : void
- * @authur : 마정민 2007. 6. 4
- * @---------------------------------------------------
- */
- function fPrcpUpdate() {
- var status = model.getValue ( "/root/main/prcp/prcplist[" + grd_prcplist.row+ "]/status" );
- if (status=="-") {
- model.setValue ( "/root/main/prcp/prcplist[" + grd_prcplist.row+ "]/status", "U" );
- model.refresh();
- model.recalculate();
- }
- }
- /**
- * @desc : 오른쪽 마우스 클릭 삭제
- * @ : 신규일 때는 removeNode
- * @ : 수정중일 때 원복시킨 후 삭제, D/C 표시
- * @ : 삭제, D/C 원복시킬려면 ? 오른쪽 마우스에 삭제 및 D/C 원복
- * @ : D/C 후 삭제는 불가
- * @param :
- * @id : grd_prcplist
- * @event : 오른쪽 마우스 클릭 삭제
- * @return : void
- * @authur : 마정민 2007. 6. 4
- * @---------------------------------------------------
- */
- function fDirecDeleteRow() {
-
- for( var i=div_all.grd_prcplist.selectcount-1 ; i>=0 ; i-- ){
- for( var j=div_all.grd_prcplist.selectendrow[i] ; j>=div_all.grd_prcplist.selectstartrow[i] ; j-- ){
- var status = ds_main_prcplist.getColumn(j, "status" );
- if (status=="-") {
- ds_main_prcplist.setColumn(j, "status", "D" );
- } else if ( status =="I" ) {
- //신규입력(I)은 removeNode 이다.
- ds_main_prcplist.deleteRow(j);
- //삭제시 데이터를
- } else if (status=="S") {
- ds_main_prcplist.setColumn(j, "prcpnm", "" );
- } else if (status=="D") {
- ds_main_prcplist.setColumn(j, "status", "-" );
- } else if (status=="U") {
- ds_main_prcplist.setColumn(j, "status", "D" );
- }
- }
- }
- }
- function fDirecPrcpSave() {
- for ( var i=0; i < ds_main_prcplist.rowcount-1; i++ ) {
- if ( ds_main_prcplist.getColumn(i, "status" ) == "I" || ds_main_prcplist.getColumn(i, "status" ) == "U" ) {
- ds_main_prcplist.setColumn(i, "prcpkindcd", "20" );
- ds_main_prcplist.setColumn(i, "srchcondcnts", ds_init.getColumn(0, "prcpno" ));
- ds_main_prcplist.setColumn(i, "prcpsetcd", opener.frmf_getParameter("SMMMB02100_cond2" ));
- }
- }
- var savePrcpInfo = ds_main_prcplist;
- ds_send_cond1.assign(ds_main_prcplist);
- ds_send.setColumn(0, "cond2", "2" );
- ds_send.setColumn(0, "inptflag", "2" );
-
- dsf_setDefaultVal(ds_send_cond1, "hsctdelivepos:0,hsctlnkno:0,etcprcpflag:-,rehbprcpcurefreqflag:0,dietprcpgenrflag:N,irpayflag:N,irflag:N,procerdietflag:N,diagtestconttestintvlflag:N,drugindependpackflag:N,diagtestconttestbasetm:0,diagtestconttestorgtims:0,matrallsizespecid:-,rehbprcpcurepartcd:-,tfdtlcd:N,exptmthdfact:-,diagtestconttestcdspec:-,nullcolumncd:-,nullvalexistyn:N,rehbprcpenddd:-,drgacptflag:-");
-
- ds_send_cond1.enableevent = false;
- ds_send_cond1.updatecontrol = false;
-
- if( ds_send_cond1.getColumn(ds_send_cond1.rowcount-1, "status") == "S" ){
- ds_send_cond1.setRowType(ds_send_cond1.rowcount-1, 1);
- }
-
- ds_send_cond1.updatecontrol = true;
- ds_send_cond1.enableevent = true;
-
- var oParam = {};
- oParam.id = "TRMMB00203";
- oParam.service = "prcpbaseapp.PrmsPrcpMngt";
- oParam.method = "reqGetPrcpSaveChk";
- oParam.inds = "saveFlagInfo=ds_send savePrcpInfo=ds_send_cond1:A";
- oParam.outds = "ds_result_prcperrlist=prcperrlist";
- oParam.async = false;
- oParam.callback = "cf_TRMMB00203";
- tranf_submit(oParam);
-
- if ( arErrorCode.pop("TRMMB00203") < 0){
- ds_send.clearData();
- ds_send.addRow();
-
- return;
- }
- var prcpErrList = ds_result_prcperrlist;
- var xpt = system.clientToScreenX(this, this.position.left) + 100;
- var ypt = system.clientToScreenY(this, this.position.top) + 50;
- //var coord = getRelativeCoordinate ( xpt, ypt );
- var mon = sysf_getCurrentMonitorNumber();
- //xpt = coord[1];
- //ypt = coord[2];
- if ( ds_result_prcperrlist.rowcount > 0 ) {
- if ( !utlf_isNull(ds_result_prcperrlist.getColumn(0, "prcpcd"))){
- var objArgs = new Object();
- objArgs.arg_ds_result_prcperrlist = ds_result_prcperrlist;
-
- frmf_modal("SPMMO00600", "SPMMO00600", objArgs, false, mon, xpt, ypt, null, null, null, null, null, "M"); //오류팝업
-
- ds_result_prcperrlist.clearData();
- }
- return;
- }
-
- var oParam = {};
- oParam.id = "TXMMB00911";
- oParam.service = "prcpbaseapp.OrdPrcpMngt";
- oParam.method = "reqExeSaveDirecPrcpDetl";
- oParam.inds = "saveDirecPrcpInfo=ds_send_cond1:A";
- oParam.outds = "ds_main_prcplist=prcplist";
- oParam.async = false;
- oParam.callback = "cf_TXMMB00911";
- tranf_submit(oParam);
-
- if( utlf_isNull(ds_main_prcplist.getColumnInfo("tempcol6")) ){
- ds_main_prcplist.addColumn("tempcol6", "string");
- }
- if( utlf_isNull(ds_main_prcplist.getColumnInfo("prcpsignflag")) ){
- ds_main_prcplist.addColumn("prcpsignflag", "string");
- }
- if( utlf_isNull(ds_main_prcplist.getColumnInfo("etcprcpflag")) ){
- ds_main_prcplist.addColumn("etcprcpflag", "string");
- }
- if( utlf_isNull(ds_main_prcplist.getColumnInfo("prcpauthflag")) ){
- ds_main_prcplist.addColumn("prcpauthflag", "string");
- }
- if( utlf_isNull(ds_main_prcplist.getColumnInfo("prcphopedd")) ){
- ds_main_prcplist.addColumn("prcphopedd", "string");
- }
-
- dsf_setDefaultVal(ds_main_prcplist, "hsctdelivepos:0,hsctlnkno:0,etcprcpflag:-,aftcertflag:-,aftcertdrid:-,prcpvalidd:00000000,spynpy1:-,specdrid:-,anticncrdayno:0,druglnkno:0,rehbprcpcurefreqflag:0,dietprcpgenrflag:-,irpayflag:N,irflag:N,procerdietflag:N,diagtestconttestintvlflag:N,drugindependpackflag:N,diagtestconttestbasetm:0,diagtestconttestorgtims:0,ermediscmngtresncd:-,rehbprcpenddd:-,matrallsizespecid:-,rehbprcpcurepartcd:-,lowdrugresncd:N,tfdtlcd:-,dnorreqlnkno:0,subcretno:0,exptmthdfact:-,lowdrugresnetcfact:-,diagtestconttestcdspec:-,drgacptflag:-");
-
- if (arErrorCode.pop("TXMMB00911") > -1) {
- lf_appendChildPrcp ( "ds_reset_prcplist", "ds_main_prcplist", "main" ); //검색라인추가
- }
- }
- function cf_TRMMB00203(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- function cf_TXMMB00911(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /**
- * @desc : 약속처방 복사하기 기능
- * @param :
- * @id : grd_prcplist
- * @event : onmousedown
- * @return : void
- * @authur : 마정민 2007. 6. 12
- * @---------------------------------------------------
- */
- function fCopyRow () {
- var cnt=0;
-
- for( var i=0 ; i<div_all.grd_prcplist.selectcount ; i++ ){
- for( var j=div_all.grd_prcplist.selectstartrow[i] ; j<=div_all.grd_prcplist.selectendrow[i] ; j++ ){
- if (ds_main_prcplist.getColumn(j, "status") != "S" ){ //검색은 드래그 안한다.
- fPrcpBuffer( ++cnt, j, "ds_prcpdrag_prcplist", "ds_main_prcplist" );
- }
- }
- }
-
- var srcNodeList = ds_prcpdrag_prcplist.rowcount;
- for ( var i=0 ; i<ds_prcpdrag_prcplist.rowcount ; i++ ) {
- ds_prcpdrag_prcplist.setColumn(i, "status" , "I" );
- }
- }
- /**
- * @desc : 약속처방 붙혀넣기 기능
- * @param :
- * @id : grd_prcplist
- * @event : onmousedown
- * @return : void
- * @authur : 마정민 2007. 6. 12
- * @---------------------------------------------------
- */
- function fPasteRow () {
- var srcNodeList = model.instances(0).selectNodes("/root/prcpdrag/prcplist");
- var destNode = model.instances(0).selectSingleNode("/root/main/prcp");
- var row = grd_prcplist.rows-1;
- for (var i=1; i<srcNodeList.length+1; i++) {
- row = row++;
- model.duplicate( "/root/main/prcp", "/root/prcpdrag/prcplist[" + i + "]", "*[" + row + "]");
- model.setValue ( "/root/main/prcp/prcplist[" + row + "]/status", "I" );
- }
- model.refresh();
- }
- /**
- * @desc : 처방화면 오른쪽 마우스 클릭 처방잘라내기
- * @return : void
- * @authur : 마정민 2007. 10. 22
- */
- function fPrcpCrop2() {
- if ( ds_init.getColumn(0, "cropflag") == "Y" ) {
- if (sysf_messageBox ( "잘라낸 데이터가 이미 있습니다. 잘라내시겠습니까?", "Q" ) != "6" ) {
- return;
- }
- }
-
- var cnt=0;
-
- for( var i=div_all.grd_prcplist.selectcount-1 ; i>=0 ; i-- ){
- for( var j=div_all.grd_prcplist.selectendrow[i] ; j>=div_all.grd_prcplist.selectstartrow[i] ; j-- ){
- if ( ds_main_prcplist.getColumn(j, "status" ) != "S" ){ //검색은 드래그 안한다.
- fPrcpBuffer( ++cnt, j, "ds_prcpdrag_prcplist", "ds_main_prcplist" );
- if ( ds_main_prcplist.getColumn(j, "status" ) == "I" ) {
- ds_main_prcplist.deleteRow(j);
- } else {
- ds_main_prcplist.setColumn(j, "status", "D" );
- }
- }
- ds_init.setColumn(0, "cropflag", "Y" );
- }
- }
-
- var srcNodeList = ds_prcpdrag_prcplist;
- for ( var i=0 ; i<ds_prcpdrag_prcplist.rowcount ; i++ ) {
- ds_prcpdrag_prcplist.setColumn(i, "status" , "I" );
- }
- }
- ]]></Script>
|