123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373 |
- <?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 = "/root/main/prcp/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();
- div_all.grd_prcplist.setFocus();
- div_all.btn_editcell.click();
- }
- //HomeCarePrcp
- function fHomeCarePrcpSrch(srchflag) {
-
- var currow = ds_main_prcplist.rowposition;
- if( div_all.grd_prcplist.userdata == 1 ) {
- if (ds_main_prcplist.getColumn(currow, "prcpflag") == "2" && ds_main_prcplist.getColumn(currow, "drugmastspec") == "Y" ){
- return;
- }
- var prcpnm = ds_main_prcplist.getColumn(currow, "prcpnm");
- if ( srchflag == "prcpcd") {
- prcpnm = ds_main_prcplist.getColumn(currow, "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;
- }
- lf_prcpModal ( "SPMMO05100", 180, 80 );
- } else {
- if ( srchflag == "prcpcd") {
- lf_prcpSrchCom ( prcpnm, ds_init.getColumn(0, "prcpdd"), ds_paminfo.getColumn(0, "insukind"), "TRMMB00201", "", "getPrcpCdOldSrchInfo", isHangul);
- } else if ( srchflag == "prcpnm") {
- lf_prcpSrchCom ( prcpnm, ds_init.getColumn(0, "prcpdd"), ds_paminfo.getColumn(0, "insukind"), "TRMMB00201", "", "getPrcpNmSrchInfo", isHangul);
- } else {
- lf_prcpSrchCom ( prcpnm, ds_init.getColumn(0, "prcpdd"), ds_paminfo.getColumn(0, "insukind"), "TRMMB00201", "", "getPrcpSrchInfo", isHangul);
- //fPrcpSrchCom ( prcpnm, model.getValue ( "/root/init/prcpdd" ), model.getValue ( "/root/paminfo/list/insukind"), "TRMMB00201", "", false, "getPrcpSrchInfo", isHangul );
- }
-
- var srchLength = ds_prcpsrch_prcplist.rowcount;
- var cRow = ds_main_prcplist.rowposition;
- var nextRow = cRow + 1;
- var prcpdd = ds_init.getColumn(0, "prcpdd");
-
- ds_main_prcplist.setColumn(cRow, "prcphopedd", utlf_getCurrentDate());
- if( srchLength > 1 ) {
- div_all.div_srch.grd_prcpsrchlist.position.height = 278; //grd_prcpsrchlist.attribute ( "height" ) = 278;
- div_all.div_srch.btn_copy.position.y = 281; //attribute ( "top" ) = 281;
- div_all.div_srch.btn_cancel.position.y = 281; //btn_cancel.attribute ( "top" ) = 281;
- div_all.div_srch.position.height = 306; //import1.attribute ( "height" ) = 306;
- if ( cRow <= 12 ) { // grd_prcplist.row <= 12
- div_all.div_srch.position.y = 99 + ( cRow - 1 ) * 24; //import1.attribute ( "top" ) = 71 + ( grd_prcplist.row - 1) * 23;
- } else if ( cRow <= 24) {
- div_all.div_srch.position.y = 72; //( cRow - 1 ) * 24 - 560; //import1.attribute ( "top" ) = (grd_prcplist.row - 1) * 23 - 260;
- } else if ( cRow > 24 ) {
- div_all.div_srch.position.y = 24 * 23 - 351; //import1.attribute ( "top" ) = 24 * 23 - 240;
- }
- div_all.div_srch.visible = true; //import1.visible = true;
-
- div_all.div_srch.setPrcpSrchListFocus();
- // model.setfocus( "grd_prcpsrchlist" );
- // grd_prcpsrchlist.select( 1, 1, 1, 1) = true;
-
- } else if( srchLength == 1) {
- var 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" );
- div_all.btn_editcell.click(); //grd_prcplist.dispatch("onentercell");
- }
- }
- }
- }
- function fGetHomeCarePrcp() {
- ds_send.setColumn(0, "cond1", ds_init.getColumn(0, "formrecseq")); //model.setValue ( "/root/send/cond1", model.getValue ("/root/init/formrecseq"));
-
- var oParam = {};
- oParam.id = "TRMMB00501";
- oParam.service = "prcpbaseapp.OrdPrcpMngt";
- oParam.method = "reqGetHomeCarePrcpList";
- oParam.inds = "req=ds_send";
- oParam.outds = "ds_main_prcplist=prcplist";
- oParam.async = false;
- tranf_submit(oParam);
- lf_appendChildPrcp ( "ds_reset_prcplist", "ds_main_prcplist", "main", "S" ); //검색라인추가
- // model.refresh();
- // model.recalculate();
- }
- /**
- * @desc : 처방수정.
- * @ : 신규일때는 수정표시 안함.
- * @ : 삭제,D/C 상태일때는 취소후 수정.
- * @param :
- * @id : grd_prcplist
- * @event : xforms-value-changed
- * @return : void
- * @authur : 마정민 2007. 6. 4
- * @---------------------------------------------------
- */
- function fPrcpUpdate() {
- var status = ds_main_prcplist.getColumn(ds_main_prcplist.rowposition, "status");
- if (status == "-") {
- ds_main_prcplist.setColumn(ds_main_prcplist.rowposition, "status", "U"); //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() {
- var selectedRows = grdf_getSelectedRows(div_all.grd_prcplist); //grd_prcplist.selectedRows;
- //var node = instance1.selectSingleNode("/root/main/prcp");
- var cnt = 0;
-
- for ( i = selectedRows.length - 1; i >= 0; i-- ) {
- var status = ds_main_prcplist.getColumn(selectedRows[i], "status");
- if ( status == "-" ) {
- ds_main_prcplist.setColumn(selectedRows[i], "status", "D");
- } else if ( status == "I" ) {
- //신규입력(I)은 removeNode 이다.
- ds_main_prcplist.deleteRow(selectedRows[i]); //model.removeNode ( "/root/main/prcp/prcplist[" + grd_prcplist.selectedrow(i) + "]" );
- //삭제시 데이터를
- } else if (status == "S") {
- ds_main_prcplist.setColumn(selectedRows[i], "prcpnm", "");
- } else if (status == "D") {
- ds_main_prcplist.setColumn(selectedRows[i], "status", "-");
- } else if (status == "U") {
- ds_main_prcplist.setColumn(selectedRows[i], "status", "D");
- }
- }
- // model.refresh();
- // model.recalculate();
- }
- /**
- * @desc : 처방 오른쪽 마우스 팝업 처리
- * @param :
- * @id : grd_prcplist
- * @event : onmousedown
- * @return : void
- * @authur : 마정민 2007. 6. 4
- * @---------------------------------------------------
- */
- function fMouseRghtBtnPopup() {
- // div_all_grd_prcplist_onrbuttondown 에서 기술
- // if (event.button == 3) {
- //
- // if(grd_prcplist.isCell(event.target) && grd_prcplist.mouseRow >= grd_prcplist.fixedRows){
- // app.showPopupMenu(true);
- // window.setPopupMenu(true, "/root/init/msrght/mouserght", "label", "func", false);
- // } else {
- // window.setPopupMenu(false);
- // }
- // }
- }
- function fHomeCareSave() {
- for ( var i = 0; i < ds_main_prcplist.rowcount - 1; i++ ) { // var i = 1; i < grd_prcplist.rows - 1; i++
- ds_main_diagcdlist.setColumn(i, "rgstdeptcd", ""); //model.removeNode ("/root/main/prcp/prcplist[" + i + "]/rgstdeptcd");
- if ( utlf_isNull(ds_main_prcplist.getColumn(i, "tempcol6")) ) {
- var prcpnm = ds_main_prcplist.getColumn(i, "prcpnm");
- sysf_messageBox ( prcpnm + " 처방의 적용시작일이 입력되지", "E007" );
- return;
- } else if ( utlf_isNull(ds_main_prcplist.getColumn(i, "tempcol7")) ) {
- var prcpnm = ds_main_prcplist.getColumn(i, "prcpnm");
- sysf_messageBox ( prcpnm + " 처방의 적용종료일이 입력되지", "E007" );
- return;
- }
- 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, "tempcol8", ds_init.getColumn(0, "formrecseq"));
- }
- }
-
- ds_send_cond1.clearData();
- //ds_send_cond1.addRow();
- //model.removeNodeset ( "/root/send/cond1/prcplist" );
- fAppendSaveNode( "ds_send_cond1", "ds_main_prcplist" );
- ds_send.setColumn(0, "cond2", "2");
-
- //20131107 이정택
- dsf_makeValue(ds_send, "screenid", "string", frmf_getScreenID());
- //20131107 이정택
-
- dsf_makeValue(ds_send, "inptflag", "string", ds_send.getColumn(0, "cond2"));
- var oParam = {};
- oParam.id = "TRMMB00205";
- oParam.service = "prcpbaseapp.PrmsPrcpMngt";
- oParam.method = "reqGetPrcpSaveChk";
- oParam.inds = "saveFlagInfo=ds_send savePrcpInfo=ds_send_cond1";
- oParam.outds = "ds_result_prcperrlist=prcperrlist";
- oParam.async = false;
- oParam.callback = "cf_TRMMB00205";
- tranf_submit(oParam);
- //model.instances(0).selectNodes( "/root/result/prcperrlist" );
-
- var mon = sysf_getCurrentMonitorNumber();
- var xpt = this.getOwnerFrame().position.x + 100;
- var ypt = this.getOwnerFrame().position.y + 50;
- if ( ds_result_prcperrlist.rowcount > 0 ) {
- if ( !utlf_isNull(ds_result_prcperrlist.getColumn(0, "prcpcd")) ){
-
- dsf_createDs("ds_result_prcperrlist_clone");
- ds_result_prcperrlist_clone.copyData(ds_result_prcperrlist);
- var objArg = new Object();
- objArg.arg_ds_result_prcperrlist = ds_result_prcperrlist_clone;
-
- frmf_open("SPMMO00600", "SPMMO00600", objArg, false, mon, xpt, ypt, null, null, null, null, null, "M"); //오류팝업
- }
- return;
- }
- var oParam = {};
- oParam.id = "TXMMB00501";
- oParam.service = "prcpbaseapp.OrdPrcpMngt";
- oParam.method = "reqSaveExeHomeCarePrcp";
- oParam.inds = "saveHomeCarePrcpInfo=ds_send_cond1";
- oParam.outds = "ds_main_prcplist=prcplist";
- oParam.async = false;
- oParam.callback = "cf_TXMMB00501";
- tranf_submit(oParam);
- // if (submit("TXMMB00501", false)) {
- // model.removeNodeset ( "/root/send/cond1/prcplist" );
- // appendChildPrcp ( "/root/reset/prcplist", "/root/main/prcp", "main" ); //검색라인추가
- // model.refresh();
- // model.recalculate();
- //
- // }
- //
- // model.removeNodeset ( "/root/send/cond1/prcplist" );
- }
- function cf_TRMMB00205(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) {
- ds_send.clearData();
- ds_send.addRow();
- return;
- }
- }
- function cf_TXMMB00501(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) {
- return;
- } else {
- lf_appendChildPrcp ( "ds_reset_prcplist", "ds_main_prcplist", "main" ); //검색라인추가
- sysf_messageBox ("처방 저장이", "I002"); // 2011.08.08 가정간호 prn 처방 저장확인 메세지 .
- }
- }
- function fInitialize_SMMMB00500(){
- //의뢰서번호, 시작일자 받아야 함
- if( utlf_isNull(opener.frmf_getParameter("SMMMB00500_formrecseq")) ) {
- sysf_messageBox ("가정간호 의뢰지번호가", "I004");
- this.close();
- }else{
- ds_init.setColumn(0, "formrecseq", opener.frmf_getParameter("SMMMB00500_formrecseq"));
- ds_init.setColumn(0, "prcpfromdd", opener.frmf_getParameter("SMMMB00500_prcpfromdd"));
- if ( utlf_isNull(ds_init.getColumn(0, "prcpfromdd")) ) {
- ds_init.setColumn(0, "prcpfromdd", utlf_getCurrentDate());
- }
- div_all.Tab_prcp.tabIndex = 1;
- ds_main_prcplist.setColumn(0, "status", "S");
- var prcpfromdd = ds_init.getColumn(0, "prcpfromdd");
- var prcptodd = prcpfromdd.toDate().getAddDate(90,"D").getDateFormat();
- ds_init.setColumn(0, "prcptodd", prcptodd);
-
- ds_init.setColumn(0, "prcpdd", utlf_getCurrentDate());
- //grd_prcplist.backcoloralternate = "transparent";
-
- var pamInfoCvs = sysf_getGlobalVariable("paminfo");
- //ds_paminfo.clear(); //model.removeNodeSet ( "/root/paminfo/list" ); //상단화면 정보 초기화
- dsf_setCSVToDs("ds_paminfo", pamInfoCvs);
- lf_prcpExecDeptSrch("all");
- appf_getCodeList([{dsNm: "ds_M0029", cdGrpId: "M0029"}, {dsNm: "ds_M0005", cdGrpId: "M0005"}, {dsNm: "ds_M0343", cdGrpId: "M0343"}], true);
-
- //zbcfGetCodeList(new Array( "M0029", "M0005" , "M0343" ), new Array( "/root/init/payflagcd", "/root/init/prcpclscd", "/root/init/hsctdelivepos"));
- fGetHomeCarePrcp();
- fInitSrch();
-
- }
-
- if(opener.frmf_getParameter("SMMMB00500_scrnflag") == "D"){ //가정간호처방 display용인 경우
- btn_homeprcpsave.enable = false;
- btn_homeprcpdel.enable = false;
- }
-
- }
- ]]></Script>
|