123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[ /*
-
- 전문간호 SMS전송 관리(SMMNS02000.xfm - JScript )
-
- - Version :
- 1) : Ver.1.00.01
- 2) : Ver.1.10.01 - 2008.02.04(dhkim)
- */
-
- var instcd = sysf_getUserInfo("dutplceinstcd"); // 근무지기관코드
-
- var xPatPath = ds_main_opatlist_opatlist; //환자그리드
- var xSmsPath = ds_main_basecodelist_basecodelistinfo; //메세지그리드
- var xSendPath = '/root/send'; //메세지전송컴포넌트
-
- /*
- carecom.js의 내용(삭제예정)
- */
- /**
- * @group :
- * @ver : 2007.05.15
- * @by :
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 구분자로 분리된 특정자료를 Reading
- * @param : pData : 원본데이터
- * @param : pRow : 찾고자 하는 위치의 row
- * @param : pCol : 찾고자 하는 위치의 column
- * @return : 해당 row, column의 문자열
- * @---------------------------------------------------
- */
- function getArrayData(pData, pRow, pCol){
- var rowSep = "▩"; // row 구분자
- var colSep = "▦"; // column 구분자
- var arrRow = pData.split(rowSep);
- if(arrRow.length <= pRow) return "";
- var arrCol = arrRow[pRow].split(colSep);
- if(arrCol.length <= pCol) return "";
- return arrCol[pCol];
- }
-
- /**
- * @group :
- * @ver : 2007.07.04
- * 2008.02.04 - (dhkim)
- * @by : 정경화
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 화면 초기화(관리환자목록에서 체크된 환자들의 휴대폰 번호를 환자리스트 그리드에 리스트업한다.
- * 팝업이 아닐경우 화면을 강제 close한다.
- * 전문간호의 상용문구를 불러온다.
- * @param : SMMNS02000_Param을 key로 string value를 받아옴(pid, cretno, hngnm, hpno)
- * @---------------------------------------------------
- */
- function fInitialize(){
-
- //var node = getGlobalVariable("paminfo");
- //setCSVToNode("/root/temp/paminfo", node);
-
- var xPamInfoPath = 'ds_temp_paminfo'
- var node = appf_getPatientInfoDetails(xPamInfoPath) ;
-
- //alert(getPatientInfo("pid"));
- //alert(getPatientInfo("telno"));
- //alert(getPatientInfos());
-
- if(frmf_checkOpener()){
-
- opener.frmf_setParameter("SMMNS02000_ReturnFlag","");
- var sParamMsg = utlf_transNullToEmpty(opener.frmf_getParameter("SMMNS02000_Param"));
-
-
-
- //메뉴에서 팝업을 띄운경우 상단환자를 세팅
- if(utlf_isNull(sParamMsg)){
- sParamMsg += utlf_transNullToEmpty(ds_temp_paminfo.getColumn(0, "pid")) +"▦";
- sParamMsg += utlf_transNullToEmpty(ds_temp_paminfo.getColumn(0, "cretno"))+"▦";
- sParamMsg += utlf_transNullToEmpty(ds_temp_paminfo.getColumn(0, "hngnm")) +"▦";
- sParamMsg += utlf_transNullToEmpty(appf_getPatientInfo("telno")) +"▩";
- }
- //환자그리드 초기화
- ds_main_opatlist_opatlist.clearData()
-
- var sStmtList = sParamMsg.split("▩");
- var sCretno = 0; var sPid = ""; var sHngNm = ""; var sMpphonTel = "";
- var iAttrInptRow = 0;
-
-
- for(var i=0; i < sStmtList.length-1; i++){
-
- sPid = getArrayData(sParamMsg, i, 0);
- sCretno = getArrayData(sParamMsg, i, 1);
- sHngNm = getArrayData(sParamMsg, i, 2);
- sMpphonTel = getArrayData(sParamMsg, i, 3);
-
- dsf_makeValue(ds_main_opatlist_opatlist, "pid", "string", utlf_transNullToEmpty(sPid), iAttrInptRow); // 등록번호
- dsf_makeValue(ds_main_opatlist_opatlist, "hngnm", "string", utlf_transNullToEmpty(sHngNm), iAttrInptRow); // 성명
- dsf_makeValue(ds_main_opatlist_opatlist, "mpphontel", "string", utlf_transNullToEmpty(sMpphonTel), iAttrInptRow); // 수신자 전화번호
- dsf_makeValue(ds_main_opatlist_opatlist, "cretno", "string", utlf_transNullToEmpty(sCretno), iAttrInptRow); // 생성번호
-
- iAttrInptRow++;
-
- }
-
- // 상용문구 조회
- fBaseCodeSearch();
-
- } else {
- alert("본 화면은 팝업으로만 사용할수 있습니다.");
- this.close();
- }
- }
- /**
- * @group :
- * @ver : 2007.07.04
- * @by : 정경화
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 상용문구 조회
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fBaseCodeSearch(){
-
- ds_main_cond.clearData();
- ds_main_cond.addRow();
-
- ds_main_cond.setColumn(0, "rsrvyn", "0"); // 즉시전송여부
-
- ds_main_cond.setColumn(0, "baseclsflag", "S"); // 전문간호 상용구
- ds_main_cond.setColumn(0, "supbasetypecd", "S1"); // 전문간호의 상용문구는 'S1'로 고정
- ds_main_cond.setColumn(0, "orddeptcd", "ALL");
-
- ds_send_req.clearData();
- ds_send_req.addRow();
- ds_send_req.copyRow(0, ds_main_cond, 0);
-
- var oParam = {};
- oParam.id = "TRMNS02001";
- oParam.service = "spclcareapp.SpclCarePatMngt";
- oParam.method = "reqGetSMS";
- oParam.inds = "req=ds_send_req";
- oParam.outds = "ds_main_basecodelist_basecodelistinfo=basecodelistinfo";
- oParam.async = false;
- //oParam.callback = "cf_TRMNS02001";
- tranf_submit(oParam);
- }
- /**
- * @group :
- * @ver : 2007.07.04
- * @by : 정경화
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 전송일시 선택에 따라 데이터 활성 여부
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fAutoSeldt(){
- var sel = group3.rdo_dt.value;
- switch (sel)
- {
- case '0': //즉시전송
- group3.ipt_rsvdd.enable = false;
- group3.ipt_rsvtm.enable = false;
- group3.ipt_rsvdd.value = "";
- group3.ipt_rsvtm.value = "";
- break;
- case '1': //예약전송
- group3.ipt_rsvdd.enable = true;
- group3.ipt_rsvtm.enable = true;
- group3.ipt_rsvdd.value = utlf_getCurrentDate();
- group3.ipt_rsvtm.value = utlf_getCurrentTime();
- //button10.dispatch("DOMActivate");
- break;
- }
- }
- /**
- * @group :
- * @ver : 2007.07.04
- * @by : 정경화
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 전문간호의 SMS 상용구의 저장
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSave(gubn){
-
- var isUpdate;
- for(var i = 0; i < ds_main_basecodelist_basecodelistinfo.rowcount; i++){
-
-
-
- }
-
- ds_send_msgdata.clearData();
-
- if(gubn == "I"){
-
- ds_main_basecodelist_basecodelistinfo.enableevent = false;
- ds_main_basecodelist_basecodelistinfo.updatecontrol = false;
-
- grdf_setStatusColumn(ds_main_basecodelist_basecodelistinfo, "status");
-
- ds_main_basecodelist_basecodelistinfo.updatecontrol = true;
- ds_main_basecodelist_basecodelistinfo.enableevent = true;
-
- ds_send_msgdata.assign(grdf_getGridUpdateData(group3.grd_baselist, "all"));
-
- }else{
- return false;
- }
-
- var oParam = {};
- oParam.id = "TXMNS02002";
- oParam.service = "spclcareapp.SpclCarePatMngt";
- oParam.method = "setSMS";
- oParam.inds = "basecodelistinfo=ds_send_msgdata:A";
- oParam.outds = "";
- oParam.async = false;
- oParam.callback = "cf_TXMNS02002";
- tranf_submit(oParam);
-
- if(arErrorCode.pop("TXMNS02002") < 0){
- sysf_messageBox('저장을', 'E009');
- }else{
- fBaseCodeSearch();
- }
- }
- function cf_TXMNS02002(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /**
- * @group :
- * @ver : 2008.02.05
- * @by : dhkim
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 전문간호의 SMS 선택한 상용구삭제
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDelete(curRow){
-
- if(curRow < 0) {
- sysf_messageBox("삭제할 상용문구대상이 ", "I004")
- return;
- }
-
- if(ds_main_basecodelist_basecodelistinfo.getRowType(curRow) == 2){
- ds_main_basecodelist_basecodelistinfo.deleteRow(curRow);
- }else{
-
- if(sysf_messageBox('선택하신 상용문구를', 'Q001') == 6){
-
- ds_main_basecodelist_basecodelistinfo.enableevent = false;
- ds_main_basecodelist_basecodelistinfo.updatecontrol = false;
-
- ds_main_basecodelist_basecodelistinfo.setRowType(curRow, 8);
-
- grdf_setStatusColumn(ds_main_basecodelist_basecodelistinfo, "status");
-
- ds_main_basecodelist_basecodelistinfo.updatecontrol = true;
- ds_main_basecodelist_basecodelistinfo.enableevent = true;
-
- ds_send_msgdata.assign(grdf_getGridUpdateData(group3.grd_baselist, "all"));
-
- var oParam = {};
- oParam.id = "TXMNS02002";
- oParam.service = "spclcareapp.SpclCarePatMngt";
- oParam.method = "setSMS";
- oParam.inds = "basecodelistinfo=ds_send_msgdata:A";
- oParam.outds = "";
- oParam.async = false;
- oParam.callback = "cf_TXMNS02002";
- tranf_submit(oParam);
-
- if(arErrorCode.pop("TXMNS02002") < 0){
- sysf_messageBox('삭제를', 'E009');
- }else{
- fBaseCodeSearch();
- }
-
- }
-
- }
-
- }
- /**
- * @group :
- * @ver : 2008.02.05
- * @by : dhkim
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 전문간호의 SMS 상용구의 저장전 유효성체크
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fIsValid(){
-
- var status, msg;
- for(var i = 1; i <= grd_baselist.rows; i++){
-
- status = grd_baselist.rowStatus(i);
- msg = model.getValue(xSmsPath + '[' + i + ']/typenm');
-
- if((status != 0 || status != 4) && msg == ''){
- messageBox(i + '번째의 상용문구를', 'C001');
- return false;
- }
- }
-
- }
- /**
- * @group :
- * @ver : 2008.01.29
- * @by : dhkim
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 전문간호의 SMS 상용구의 추가
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fAddRowSave(){
-
- ds_main_basecodelist_basecodelistinfo.addRow();
-
- var iRow = ds_main_basecodelist_basecodelistinfo.rowposition;
- ds_main_basecodelist_basecodelistinfo.setColumn(iRow, "basetypecd", 'S'); // 기준형태코드
- ds_main_basecodelist_basecodelistinfo.setColumn(iRow, "baseclsflag", 'S'); // 기준분류코드
- ds_main_basecodelist_basecodelistinfo.setColumn(iRow, "supbasetypecd", 'S1'); // 분류상위코드
- ds_main_basecodelist_basecodelistinfo.setColumn(iRow, "cdcls", 'S1'); // 코드분류
- ds_main_basecodelist_basecodelistinfo.setColumn(iRow, "orddeptcd", 'ALL'); // 진료부서코드
- }
- /**
- * @group :
- * @ver : 2008.02.05
- * @by : dhkim
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 상용구를 전송할 텍스트박스에 이동
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fMoveMsg(){
-
- var iRow = ds_main_basecodelist_basecodelistinfo.rowposition;
- var status = ds_main_basecodelist_basecodelistinfo.getRowType(iRow);
- if(status == 1){
-
- if(iRow < 0)
- return;
-
- ds_item.setColumn(0, "item", ds_main_basecodelist_basecodelistinfo.getColumn(iRow, "typenm"));
-
- }
- }
- /**
- * @group :
- * @ver : 2007.07.04
- * @by : 정경화
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : SMS 자료 전송
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fCallMngtInfo(){
- if(utlf_isNull(ds_item.getColumn(0, "item"))){
- sysf_messageBox("전송내용을 입력하지 ","E007");
- return;
- }
- for(var iRow = 0; iRow < ds_main_opatlist_opatlist.rowcount ; iRow++){
- if(utlf_transNullToEmpty(ds_main_opatlist_opatlist.getColumn(iRow, "mpphontel")).length < 10){
- sysf_messageBox( iRow + '번째의 ' + ds_main_opatlist_opatlist.getColumn(iRow, "hngnm") + "님의 휴대전화번호를","C001");
- return;
- }
- }
- var sRtnMsg = sysf_messageBox("SMS 전송을 ", "Q003");
- if(sRtnMsg != 6) return;
- var updatedata = grdf_getGridUpdateData(group3.grd_manalist, "all");
-
- ds_send_opatinfo.clearData();
- ds_send_opatinfo.assign(updatedata);
- ds_send_req.setColumn(0, "msgparam", ds_item.getColumn(0, "item"));
- ds_send_req.setColumn(0, "rsrvyn", ds_main_cond.getColumn(0, "rsrvyn"));
- ds_send_req.setColumn(0, "rsrvdate", ds_main_cond.getColumn(0, "rsrvdate"));
- ds_send_req.setColumn(0, "rsrvtime", ds_main_cond.getColumn(0, "rsrvtime"));
- ds_send_req.setColumn(0, "supbasetypecd", ds_main_cond.getColumn(0, "supbasetypecd"));
-
- var oParam = {};
- oParam.id = "TXMNS02001";
- oParam.service = "outcareapp.OutCareMngt";
- oParam.method = "reqExeSpclCallMngtInfo";
- oParam.inds = "reqdata=ds_send_opatinfo:A opatref=ds_send_req";
- oParam.outds = "";
- oParam.async = false;
- oParam.callback = "cf_TXMNS02001";
- tranf_submit(oParam);
-
- if(arErrorCode.pop("TXMNS02001") > -1){
- opener.frmf_setParameter("SMMNS02000_ReturnFlag","Y");
- this.close();
- } else {
- opener.frmf_setParameter("SMMNS02000_ReturnFlag","");
- }
- }
- function cf_TXMNS02001(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- ]]></Script>
|