12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/***************************************************************************************************
- * System Name :
- * Job Name : EMR
- * File Name : MMOCommon.xjs
- * Creator : 윤지현
- * Make Date : 2014.04.17
- *
- * Description : 진료 공통 메서드
- *--------------------------------------------------------------------------------------------------
- * Modify Date Modifier Modify Description
- *--------------------------------------------------------------------------------------------------
- *
- ***************************************************************************************************/
-
- /********************************************************************************************************************/
- /************************* 진료파트 공통함수 목록 *********************************************************************/
- /********************************************************************************************************************/
- //lf_compareNodeVal : 두 Dataset을 비교하여 결과에 따라 true, false를 return한다.
- //cbf_getEMRLoadingInfo : 처방 정보 비동기(Ajax) 호출 후 CallBack 함수
- //lf_aftGetEMRLoadingInfo : 처방 정보 비동기(Ajax) 호출 후 이벤트 후처리
- //lf_getDrJobComboInfo : 로그인시 읽어온 message 중 의사직종코드를 불러옴
- //lf_gethardcdArrayList : 하드코드 조회 배열을 이용하여 한번의 Submit 이용하기
- //lf_getHardCDList : 조회된 하드코드 리스트를 조회한다.
- //lf_getArrayData : 구분자로 분리된 특정자료를 Reading
- //lf_getLoadingStatus : 처방화면 Main loading 여부를 세팅
- //lf_setLoadingStatus : 처방화면 Main loading 여부를 세팅
- //lf_initWndTitle : 화면타이틀을 설정한다
- //lf_mmbfGetDeptCodeComboList : 부서 콤보 조회
- //lf_mmbfGetSubDeptComboList : 세부과리스트 조회
- //lf_mmbfGetUserComboList : EMR사용자콤보 조회
- //lf_mmbfGetUserEnvQuestValue : 사용자 환경설정의 값을 조회한다.
- //lf_mmofReqGetCnstTypeComboList : 협진분류콤보조회
- //lf_reqGetDeptList : 부서리스트 조회
- //lf_reqOpRoomList : 수술방 조회
- //lf_prcpModal : 팝업위치가 저장되지 않는 팝업 띄우기
- //lf_prcpOpenMon : 팝업위치가 저장되지 않는 팝업 모달 띄우기(모니터 번호 선택 가능)
- //lf_chkPrcpModi : 환자 변경시 저장하지 않은 처방 여부체크해서 저장여부 Alert
- //lf_addDrChk : 가산의 체크
- //lf_chngAddDr : 가산의 변경
- //lf_getTopPatientinfo : 상단의 dataset 참조 / 복사
- //emr_setGrdDragAnDropRowMove : 그리드의 행(row)을 마우스 Drag & Drop으로 원하는 위치(RowPosition)로 이동
- //lf_fitSizeGrid : 그리드 size를 데이터 길이와 너비에 맞게 변경시켜준다.
- //lf_setGridStatus : 데이터의 상태를 변경한다.(신규, 삭제)
- //lf_appendChildPatientInfo : 상단의 인스턴스에서 Dataset 복사
- //lf_getBindCellName : 그리드에서 컬럼 인덱스로 바인드된 데이터셋의 컬럼명을 가져온다.
- //lf_setDsDefaultValue : 데이터셋에 Default값을 넣어준다.
- //lf_reqPatInfo : 환자의 기초정보를 조회한다.(pid, hngnm)
- //lf_dateFormat : 날짜의 모양을 바꾼다.
- //lf_chkColumnSetData : 그리드 체크값에 따라 컬럼값을 변경한다
- //lf_getArrayData : 구분자로 분리된 배열에서 해당 행, 열의 데이터 조회
- //lf_makePrcpSrchDs : 처방 조회 시 outds가 없다면 자동 생성한다.
- //lf_setCheckboxProperty : 일괄입력 화면들에서 체크 박스 클릭시에 대한 공통 동작 정의
- //include "com_commodulexp::SMZFS00501.xjs"
- /***************************************************************************************************
- * Function : lf_compareNodeVal
- * Description : 두 Dataset을 비교하여 결과에 따라 true, false를 return한다.
- * Argument : oDescDs [Dataset : 목적노드]
- * : oSrcDs [Dataset : 원본노드]
- * return type : Boolean[true/false]
- * Creator :
- ***************************************************************************************************/
- function lf_compareNodeVal(oDescDs, oSrcDs)
- {
- // 컬럼 갯수가 다른 경우 true
- if (oDescDs.colcount != oSrcDs.colcount) return true;
- for (var i=0 ; i<oDescDs.colcount ; i++) {
- var oColInfo = oDescDs.getColumnInfo(i);
- var desValue = oDescDs.getColumn(0, oColInfo.name);
- var srcValue = oSrcDs.getColumn(0, oColInfo.name);
- // 값이 다른 경우 true
- if (desValue != srcValue)
- return true;
- }
- return false; // 값이 같은 경우 false
- }
- /***************************************************************************************************
- * Function : cbf_getEMRLoadingInfo
- * Description : 처방 정보 비동기(Ajax) 호출 후 CallBack 함수
- * Argument : sSvcId
- * : nErrorCode
- * : sErrorMsg
- * return type :
- * Creator :
- ***************************************************************************************************/
- function cbf_getEMRLoadingInfo(sSvcId, nErrorCode, sErrorMsg)
- {
- /*
- lv_sSpeedTestText += "\n" + "속도체크3-1. cbf_getEMRLoadingInfo 시작: " + lf_getCurrentDateString();
- if (nErrorCode != 0) return;
- var chkStatus, ioflag;
- switch (sSvcId) {
- case "TRMMO04310" :
- ioflag = "O";
- break;
- case "TRMMO04311" :
- ioflag = lgv_ioFlag;
- break;
- case "TRMMO04312" :
- ioflag = "OP";
- if(ds_inpatpaminfo.rowcount>0){
- ds_etcpatpaminfo.copyData(ds_inpatpaminfo);
- }else if(ds_outpatpaminfo.rowcount>0){
- ds_etcpatpaminfo.copyData(ds_outpatpaminfo);
- }
- break;
- }
- // [TFT] moon 20120522 : 환자 정보에 의한 디폴트 서식 조회 후 화면(서식) open에 따른 후처리
- lf_aftGetEMRLoadingInfo(ioflag);
- */
- }
- /***************************************************************************************************
- * Function : lf_aftGetEMRLoadingInfo
- * Description : 처방 정보 비동기(Ajax) 호출 후 이벤트 후처리
- * Argument : ioflag
- * return type :
- * Creator :
- ***************************************************************************************************/
- function lf_aftGetEMRLoadingInfo(ioflag)
- {
- var viewerObj = frmf_getViewer("patientInfo");
- viewerObj.lv_sSpeedTestText += "\n" + "속도체크3-2. lf_aftGetEMRLoadingInfo 시작: " + lf_getCurrentDateString();
- // [TFT] moon 20120523 : 이전로직 위치 -> fGetEMRLoadingInfo() 함수의 마지막 부분
- dsf_createDsRow("ds_initdata", [{col:"loadflag", type:"string", size:256, val:"Y"},
- {col:"loaddate", type:"string", size:256, val:utlf_getCurrentDate()},
- {col:"loadtime", type:"string", size:256, val:utlf_getCurrentTime()}]);
- var oPatientInfo = frmf_getViewer("patientInfo");
- if (oPatientInfo.objects["ds_loadinginfo"] == null) {
- var oLoadDs = new Dataset();
- oPatientInfo.addChild("ds_loadinginfo", oLoadDs);
- oLoadDs.name = "ds_loadinginfo";
- }
- oPatientInfo.ds_loadinginfo.copyData(ds_initdata);
-
- for (var i=0 ; i<arrInitDataDsList.length ; i++) {
- var sDsNm = oPatientInfo.dsf_createDs("ds_"+arrInitDataDsList[i]);
- oPatientInfo.objects[sDsNm].clearData();
- oPatientInfo.objects[sDsNm].copyData(this.objects[sDsNm]);
- //trace(oPatientInfo.objects[sDsNm].saveXML());
- }
- //trace("lf_aftGetEMRLoadingInfo - copyData(viewerObj.root.loadinginfo, root.initdata)");
- // // [TFT] moon 20120523 : 이전로직 위치 -> SMMMO04200_외래환자리스트.xrw 더블 클릭 시 fGetEMRLoadingInfo() 호출 후 부분
- // if (lf_chkBfPrcpLoad(ioflag) == false ) {
- // return;
- // }
- //
- // // 2013-01-16 2013-01-16 오후 10:44:29 강지훈 수정 : 기록의 변경내역이 있는지 체크하여 저장 시킨다.
- // if (!fchkRecModi()) {
- // return;
- // }
- //
- // // 환자 변경 시 처방변경 내역이 있는지 체크하여 저장한다.
- // lf_chkPrcpModi(ioflag);
- if (ioflag == "O") lf_selectOutPat();
- if (ioflag == "I") lf_selectInPat();
- if (ioflag == "E") lf_selectERPat();
- if (ioflag == "T") lf_selectOpPat();
- }
- /***************************************************************************************************
- * Function : lf_getDrJobComboInfo
- * Description : 로그인시 읽어온 message 중 의사직종코드를 불러옴
- * Argument :
- * return type : sDrJobcd 에러시 하드코드 목록에서 조회
- * Creator :
- ***************************************************************************************************/
- function lf_getDrJobComboInfo()
- {
- var oSrcDs = emr_getOrderBaseInfo("drjobcomboinfo"); // 시스템의 하단 프레임 폼
- var sDrJobcd = null;
- var sDrJobNode = null;
- if (oSrcDs != null) {
- if (sDrJobNode == null) {
- sDrJobcd = lf_getHardCDList("Y", 301, 3);
- }
- else {
- sDrJobcd = sDrJobNode.text;
- }
- }
- else {
- sDrJobcd = lf_getHardCDList("Y", 301, 3);
- }
- return sDrJobcd;
- }
- /***************************************************************************************************
- * Function : lf_gethardcdArrayList
- * Description : 하드코드 조회 배열을 이용하여 한번의 Submit 이용하기
- * Argument : aHardCdList [Array : 위치할 최하위 인스턴스명 |(구분자) 하드코드 번호]
- * : sRsltDsList [Dataset : 하드코드 내용을 담을 대상 데이타셋]
- * Ex) dsf_createDs("ds_reqphardcdno", []);
- * dsf_createDs("ds_npdeptcd", []);
- * dsf_createDs("ds_hardcdno", []);
- * dsf_createDs("ds_opdrugresn", []);
- *
- * lf_gethardcdArrayList(new Array("reqphardcdno|138", "npdeptcd|104", "hardcdno|63", "opdrugresn|76"),
- * new Array("ds_reqphardcdno", "ds_npdeptcd", "ds_hardcdno", "ds_opdrugresn"));
- * return type :
- * Creator :
- ***************************************************************************************************/
- function lf_gethardcdArrayList(aHardCdList, sRsltDsList)
- {
- var sRef = dsf_createDs("ds_cond_hardcdlist", [{col:"hardcdno", type:"string", size:256}]);
- var oRef = this.objects[sRef];
- var sDsList = "";
- for (var i=0 ; i<aHardCdList.length ; i++) {
- var nAddRow = oRef.addRow();
- oRef.setColumn(nAddRow, "hardcdno", aHardCdList[i]);
- sDsList += sRsltDsList[i]+"="+sRsltDsList[i]+" ";
- }
- sDsList = sDsList.replace("=ds_", "=");
- var oParam = {};
- oParam.id = "TRMMB04107"; // transaction을 구분하기 위한 ID
- oParam.service = "prcpbaseapp.EnvInfoMngt"; // service ID
- oParam.method = "reqGetHardCdArrayLists"; // method ID
- oParam.inds = "req=" + sRef; // transaction을 요청할 때 입력값으로 보낼 Dataset 의 ID
- oParam.outds = sDsList; // transaction을 처리 결과를 받을 Dataset의 ID
- tranf_submit(oParam);
- // Temp로 사용한 Dataset을 삭제
- var oRemoveDs = this.removeChild(sRef);
- oRemoveDs = null;
- }
- function lf_reqHardCodeInfo(oDsRsltRef, hardcd) {
- lf_getHardCDList("N", hardcd, null, oDsRsltRef);
- }
- /***************************************************************************************************
- * Function : lf_getHardCDList
- * Description : 조회된 하드코드 리스트를 조회한다.
- * Argument : sOption [Stirng : Y/값을 리턴한다, N/데이터셋을 반환한다.]
- * : sHardCdNo [String : 하드코드 번호]
- * : sRtnValue [String : 변환형태 Flag]- sOption이 "Y"일 때만 관련있음.
- * : oDsRsltRef [Dataset : 대상 데이타셋]
- * return type : option = "N" 일 경우: 데이터셋 복사
- "Y" 일 경우: sRtnValue 변환형태플래그 [0:리턴값 반환하지 않음 (하드코드 값이 여러개일 때 선택, 1:hardcdno를 리턴, 2:hardcodenm 을 리턴
- 3:hardcd 를 리턴 4:hardcdnm를 리턴, 5:cdseqno를 리턴, 9:hardcd+ "|" + hardcdnm + "|" + cdseqno 형태로 리턴]
- * Creator :
- * ex) : lf_getHardCDList("N", 60, null, oDsRsltRef);
- var rtnHardcd = lf_getHardCDList("Y", 60, 1, null);
- ***************************************************************************************************/
- function lf_getHardCDList(sOption, sHardCdNo, sRtnValue, oDsRsltRef)
- {
- var oDsHardCd = emr_getHardcodeTable(sHardCdNo);
- var sHardCd;
- var sHardCdNm;
- var nCdSeqNo;
- if (!utlf_isNull(oDsHardCd)) {
- if (sOption == "Y") {
- try {
- var sHardCdNo = oDsHardCd[0].hardcdno;
- var sHardCodeNm = oDsHardCd[0].hardcodenm;
- sHardCd = oDsHardCd[0].hardcd;
- sHardCdNm = oDsHardCd[0].hardcdnm;
- nCdSeqNo = oDsHardCd[0].cdseqno;
- nHardSpec = oDsHardCd[0].hardspec;
- }
- catch(e) {
- trace("lf_getHardCDList Error : " + e);
- }
- if (sRtnValue == 1) {
- return sHardCdNo;
- }
- else if (sRtnValue == 2) {
- return hardcodenm;
- }
- else if (sRtnValue == 3) {
- return sHardCd;
- }
- else if (sRtnValue == 4) {
- return sHardCdNm;
- }
- else if (sRtnValue == 5) {
- return nCdSeqNo;
- }
- else if (sRtnValue == 6) {
- return nHardSpec;
- }
- else if (sRtnValue == 9) {
- return sHardCd+ "|" + sHardCdNm + "|" + nCdSeqNo;
- }
- } else {
- if (!utlf_isNull(oDsHardCd)) {
- try {
- if(oDsHardCd[0].realtime == "Y") // 항상 실시간조회 하드코드라면 데이터셋도 매번 초기화 (2018.04.11 smkim)
- oDsRsltRef.clearData();
- } catch(e) {}
-
- var destListLen = oDsRsltRef.rowcount;
- // 한번이라도 복사된 내용이 있으면 다시 안하도록 수정 2011. 01.20 김영학
- if(destListLen < 1 ){
- // 하드코드 Object 갯수 만큼 loop 작업
- for (var i = 0; i < oDsHardCd.length; i++)
- {
- var nAddRow = oDsRsltRef.addRow();
- // Object의 property 갯수 만큼 loop 작업을 하면 Dataset의 컬럼생성 및 Row 값 설정
- for (var j in oDsHardCd[i])
- {
- oDsRsltRef.addColumn(j, "STRING");
- oDsRsltRef.setColumn(nAddRow, j, oDsHardCd[i][j]);
- }
- }
- oDsRsltRef.applyChange();
- }
- }
- }
- }
- }
- /***************************************************************************************************
- * Function : lf_getArrayData
- * Description : 구분자로 분리된 특정자료를 Reading
- * Argument : sData [String : split이 포함된 원본데이터]
- * : sRow [String : row 위치값]
- * : sCol [String : col 위치값]
- * : sRowSep [String : row 구분자]
- * : sColSep [String : col 구분자]
- * return type : arrCol[sCol]
- * Creator :
- ***************************************************************************************************/
- function lf_getArrayData(sData, sRow, sCol, sRowSep, sColSep)
- {
- var sRowSep_ = (sRowSep == null || sRowSep =="" ? "▩" : sRowSep); // row 구분자
- var sColSep_ = (sColSep == null || sColSep =="" ? "▦" : sColSep); // column 구분자
- var arrRow = sData.split(sRowSep_);
- if (arrRow.length <= sRow) return "";
- var arrCol = arrRow[sRow].split(sColSep_);
- if (arrCol.length <= sCol) return "";
- return arrCol[sCol];
- }
- /***************************************************************************************************
- * Function : lf_getLoadingStatus
- * Description : 처방화면 Main loading 여부를 세팅
- * : 형식 : 기관명 + 화면명 + 로그인과 + 로그인한 사용자 + 로그인일시
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function lf_getLoadingStatus()
- {
- return frmf_getParameter("PRCP_LOADING_STATUS");
- }
- /***************************************************************************************************
- * Function : lf_setLoadingStatus
- * Description : 처방화면 Main loading 여부를 세팅
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function lf_setLoadingStatus(status)
- {
- var sysMessageobj = frmf_getViewer("sysMessage");
- sysMessageobj.frmf_setParameter("PRCP_LOADING_STATUS", status);
- }
- /***************************************************************************************************
- * Function : lf_initWndTitle
- * Description : 화면타이틀을 설정한다
- * : 형식 : 기관명 + 화면명 + 로그인과 + 로그인한 사용자 + 로그인일시
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function lf_initWndTitle(grd_prcplist)
- {
- if (sysf_getGlobalVariable("userinfos") != "") {
- //2013-05-21 강지훈 수정 : 화면명이 맨 앞으로 보이고 기관명이 마지막으로 보이게끔 설정
- var scrnTitle = form.title + " " ;
- scrnTitle += sysf_getUserInfo("dutplcenm") + " ";
- scrnTitle += sysf_getUserName() + " ";
- scrnTitle += sysf_getTitleLoginDate() + " ";
- scrnTitle += sysf_getUserInfo("systeminstnm");
- document.title = scrnTitle;
- }
- if (grd_prcplist != null) {
- grd_prcplist.setFormatRowProperty(0, "size", 45);
- grd_prcplist.setBandProperty("fixed", "word-wrap") = "word";
- }
- }
- /***************************************************************************************************
- * Function : lf_mmbfGetDeptCodeComboList
- * Description : 부서 콤보 조회
- * Argument : oDsRsltRef [Dataset : 조회된 값을 받을 대상 데이타셋]
- * : sOrdDeptFlag [String : 진료과구분]
- * : sStnddd [String : 기준일]
- * return type : [Dataset : 조회된 부서 리스트]
- * Creator :
- * Conversion : TF SVN.60233
- ***************************************************************************************************/
- function lf_mmbfGetDeptCodeComboList(oDsRsltRef, sOrdDeptFlag, sStnddd)
- {
- var isSearchStnddd = false;
- var hasStnddd = (!utlf_isNull(sStnddd) && sStnddd.length == 8);
-
- if (hasStnddd) { // 기준일자를 입력하는경우 DB에서 신규로 조회 하도록 수정. 2014.04.03 엄영만
- isSearchStnddd = true;
- } else {
- // 기준일자가 없는경우 KNUH_20110208, 진료속도개선 수정, TRMMB04101 submit을 안하고
- // 로그인시 가져온 데이터를 copy하는것으로 변경, 주희경
- var sID = "";
- switch (sOrdDeptFlag) {
- case "A" : // ALL
- case "" :
- case null :
- sID = "alldeptinfo";
- break;
-
- case "C" :
- sID = "centdeptinfo";
- break;
- case "D" : // 퇴원
- sID = "dscdeptinfo";
- break;
- case "W" : // 병동
- sID= "warddeptinfo";
- break;
- case "O" : // 외래
- sID = "otptdeptinfo";
- break;
- case "I" : // 입원
- sID = "inptdeptinfo";
- break;
-
- case "E" : //시행부서
- sID = "dept";
- break;
-
- case "T" :
- sID = "deptinfoinall";
- break;
- }
- var oSrcDs = emr_getOrderBaseInfo(sID);
- if (oSrcDs.rowcount > 0) { // 복사할 원본 데이터가 존재하면 복사
- oDsRsltRef.copyData(oSrcDs, true);
- } else {
- isSearchStnddd = true;
- }
- }
-
- if(isSearchStnddd) {
- // KNUH_20110208, 주희경 복사할 데이터가 없을 시 (비정상 로딩) 강제 로그아웃
- // 데이타셋 생성및 로우 생성후 값설정 공통 함수 [/com_commonxp/comm_ds에 정의]
- var sRef = dsf_createDsRow("ds_cond_dept", [{col:"orddeptflag", type:"string", size:256, val:""},
- {col:"stnddd", type:"string", size:256, val:""}]);
- var oRef = this.objects[sRef];
- oRef.clearData();
- oRef.addRow();
- oRef.setColumn(0, "orddeptflag", sOrdDeptFlag);
- if (hasStnddd) oRef.setColumn(0, "stnddd", sStnddd); // 기준일
- var oParam = {};
- oParam.id = "TRMMB04101"; // transaction을 구분하기 위한 ID
- oParam.service = "prcpbaseapp.EnvInfoMngt"; // service ID
- oParam.method = "reqGetDeptComboList"; // method ID
- oParam.inds = "req=" + sRef; // transaction을 요청할 때 입력값으로 보낼 Dataset 의 ID
- oParam.outds = oDsRsltRef.name + "=dept"; // transaction을 처리 결과를 받을 Dataset의 ID
- tranf_submit(oParam);
- // Temp로 사용한 Dataset을 삭제
- var oRemoveDs = this.removeChild(sRef);
- oRemoveDs = null;
- }
- }
- /***************************************************************************************************
- * Function : lf_mmbfGetSubDeptComboList
- * Description : 세부과리스트 조회
- * Argument : oDsRsltRef [Dataset : 조회된 값을 받을 대상 데이타셋]
- * : sOrdDeptCd [String : 진료과코드]
- * return type :
- * Creator :
- ***************************************************************************************************/
- function lf_mmbfGetSubDeptComboList(oDsRsltRef, sOrdDeptCd)
- {
- var sRef = dsf_createDsRow("ds_cond_deptlist", [{col:"orddeptcd", type:"string", size:256, val:sOrdDeptCd}]);
- var oRef = this.objects[sRef];
- var oParam = {};
- oParam.id = "TRMMB04106"; // transaction을 구분하기 위한 ID
- oParam.service = "prcpbaseapp.EnvInfoMngt"; // service ID
- oParam.method = "reqGetSubDeptComboList"; // method ID
- oParam.inds = "req=" + sRef; // transaction을 요청할 때 입력값으로 보낼 Dataset 의 ID
- oParam.outds = oDsRsltRef.name + "=subdeptlist"; // transaction을 처리 결과를 받을 Dataset의 ID
- tranf_submit(oParam);
- // Temp로 사용한 Dataset을 삭제
- var oRemoveDs = this.removeChild(sRef);
- oRemoveDs = null;
- }
- /***************************************************************************************************
- * Function : lf_mmbfGetUserComboList
- * Description : EMR사용자콤보 조회
- * Argument : oDsRsltRef [Dataset : 조회된 값을 받을 대상 데이타셋]
- * : sDeptCd [String : 부서코드]
- * : sJobKindCd [String : 직종코드]
- * : sSpeCordYN [String : 선택진료여부]
- * : sDrFlag [String : 의사구분, 가상사용자 제외]
- * : sStandd [String : 조회기준일자]
- * : sNmDispFlag [String : 이름뒤에 특진(Y)표시 할것인지 구분]
- * : sJobFlag [String : 주치의 담당의 조회기준 (JobKindCD, JobPoscd)]
- * : sSpecDrChk [String : 선택진료 의사 모두 조회한다.]
- * : sInternFlag [String : 인턴포함여부]
- * return type :
- * Creator :
- * Conversion : TF SVN.60233
- ***************************************************************************************************/
- function lf_mmbfGetUserComboList(oDsRsltRef, sDeptCd, sJobKindCd, sSpeCordYN, sDrFlag, sStandd, sNmDispFlag, sJobFlag, sSpecDrChk, sInternFlag)
- {
- var sRef = dsf_createDsRow("ds_cond_usercombo", [{col:"deptcd", type:"string", size:256, val:sDeptCd}, // 부서코드
- {col:"jobkindcd", type:"string", size:256, val:sJobKindCd}, // 직종코드(의사:0330)
- {col:"specordyn", type:"string", size:256, val:sSpeCordYN}, // 선택진료여부
- {col:"drflag", type:"string", size:256, val:sDrFlag}, // 주치의, 담당의 구분(M : 주치의 , A:담당의 )
- {col:"standd", type:"string", size:256, val:sStandd}, // 조회기준일자
- {col:"jobflag", type:"string", size:256, val:sJobFlag}, // 조회구분 Jobkindcd(K), Jobposcd(P)
- {col:"specdrchk", type:"string", size:256, val:sSpecDrChk}, // 진료과조건 제외
- {col:"nmdispflag", type:"string", size:256, val:""}]);
- var oRef = this.objects[sRef];
- if (utlf_isNull(sNmDispFlag))
- oRef.setColumn(0, "nmdispflag", "N"); // 이름에 특진여부표시구분
- else
- oRef.setColumn(0, "nmdispflag", sNmDispFlag); // 이름에 특진여부표시구분
- var oParam = {};
- oParam.id = "TRMMB04102"; // transaction을 구분하기 위한 ID
- oParam.service = "prcpbaseapp.EnvInfoMngt"; // service ID
- oParam.method = "reqGetUserComboList"; // method ID
- oParam.inds = "req=" + sRef; // transaction을 요청할 때 입력값으로 보낼 Dataset 의 ID
- oParam.outds = oDsRsltRef.name + "=usercombo"; // transaction을 처리 결과를 받을 Dataset의 ID
- tranf_submit(oParam);
- // Temp로 사용한 Dataset을 삭제
- var oRemoveDs = this.removeChild(sRef);
- oRemoveDs = null;
- }
- /***************************************************************************************************
- * Function : lf_mmbfGetUserEnvQuestValue
- * Description : 사용자 환경설정의 값을 조회한다.
- * Argument : sQestCd [String : 질문값]
- * return type : [String : 답안값]
- * Creator :
- ***************************************************************************************************/
- function lf_mmbfGetUserEnvQuestValue(sQestCd)
- {
- var oDsEnvinfo = emr_getOrderBaseInfo("envinfo");
- if (oDsEnvinfo != null) {
- var anstcnt = oDsEnvinfo.getColumn(oDsEnvinfo.findRow("qestcd", sQestCd), "answcnt");
- return anstcnt;
- }
- else {
- var sRef = dsf_createDsRow("ds_cond_reqdata", [{col:"interqestcd", type:"string", size:256, val:sQestCd}]);
- var oRef = this.objects[sRef];
- var sDsTemp = dsf_createDs("ds_temp");
- var oDsTemp = this.objects[sDsTemp];
- var answcnt = ""; // 답변번호
- var oParam = {};
- oParam.id = "TRMMB01104"; // transaction을 구분하기 위한 ID
- oParam.service = "prcpbaseapp.EnvInfoMngt"; // service ID
- oParam.method = "reqGetInterfaceAnsw"; // method ID
- oParam.inds = "req=" + sRef; // transaction을 요청할 때 입력값으로 보낼 Dataset 의 ID
- oParam.outds = sDsTemp + "=interface"; // transaction을 처리 결과를 받을 Dataset의 ID
- tranf_submit(oParam);
- answcnt = oDsTemp.getColumn(0, "answcnt");
- var oRemoveDs = this.removeChild(sDsTemp);
- oRemoveDs = null;
- oRemoveDs = this.removeChild(sRef);
- oRemoveDs = null;
- return answcnt;
- }
- }
- /***************************************************************************************************
- * Function : lf_mmofReqGetCnstTypeComboList
- * Description : 협진분류콤보조회
- * Argument : oDsRsltRef [Dataset : 조회된 값을 받을 대상 데이타셋]
- * : sOrdDeptCd [String : 진료과코드]
- * return type :
- * Creator :
- ***************************************************************************************************/
- function lf_mmofReqGetCnstTypeComboList(oDsRsltRef, sOrdDeptCd)
- {
- var sRef = dsf_createDsRow("ds_cond_cnsttypecombo", [{col:"orddeptcd", type:"string", size:256, val:sOrdDeptCd}]);
- var oRef = this.objects[sRef];
- var oParam = {};
- oParam.id = "TRMMO03602"; // transaction을 구분하기 위한 ID
- oParam.service = "prcpmngtapp.ConcPatMngt"; // service ID
- oParam.method = "reqGetCnstTypeComboList"; // method ID
- oParam.inds = "req=" + sRef; // transaction을 요청할 때 입력값으로 보낼 Dataset 의 ID
- oParam.outds = oDsRsltRef.name + "=cnsttypecombo"; // transaction을 처리 결과를 받을 Dataset의 ID
- tranf_submit(oParam);
- var oRemoveDs = this.removeChild(sRef);
- oRemoveDs = null;
- }
- /***************************************************************************************************
- * Function : lf_reqGetDeptList
- * Description : 부서리스트 조회
- * Argument : oDsRsltRef [Dataset : 조회된 값을 받을 대상 데이타셋]
- * : sQueryFlag [String : Query구분]
- * : sDutPlceInstCd [String : 근무지기관코드]
- * : sDutPlceUseYN [String : 근무지사용여부]
- * return type :
- * Creator :
- ***************************************************************************************************/
- function lf_reqGetDeptList(oDsRsltRef, sQueryFlag, sDutPlceInstCd, sDutPlceUseYN)
- {
- var sRef = dsf_createDsRow("ds_cond_deptlist", [{col:"queryflag", type:"string", size:256, val:sQueryFlag},
- {col:"dutplceinstcd", type:"string", size:256, val:sDutPlceInstCd},
- {col:"dutplceuseyn", type:"string", size:256, val:sDutPlceUseYN}]);
- var oParam = {};
- oParam.id = "TRMMO04103"; // transaction을 구분하기 위한 ID
- oParam.service = "prcpmngtapp.EtcPrcpMngt"; // service ID
- oParam.method = "reqGetOrdDeptCD"; // method ID
- oParam.inds = "req=" + sRef; // transaction을 요청할 때 입력값으로 보낼 Dataset 의 ID
- oParam.outds = oDsRsltRef.name + "=orddept"; // transaction을 처리 결과를 받을 Dataset의 ID
- tranf_submit(oParam);
- // Temp로 사용한 Dataset을 삭제
- var oRemoveDs = this.removeChild(sRef);
- oRemoveDs = null;
- }
- /***************************************************************************************************
- * Function : lf_reqOpRoomList
- * Description : 수술방 조회
- * Argument : sOpScheDt [String : 수술예약일자]
- * : oDsOpRoomList [Dataset : 수술실 명칭 데이터셋]
- * : oDsAllOpRoomList [Dataset : 수술방 명칭 데이터셋]
- * : sQueryFlag [String : Query구분자 (day : 일자, total : 전체, detl :부서, 의사, 일자)]
- * : sPerfDeptCd [String : 집도과]
- * : sPerfDrId [String : 집도의]
- * return type :
- * Creator :
- ***************************************************************************************************/
- function lf_reqOpRoomList(sOpScheDt, oDsOpRoomList, oDsAllOpRoomList, sQueryFlag, sPerfDeptCd, sPerfDrId)
- {
- var sRef = dsf_createDsRow("ds_cond_oproomlist", [{col:"opschedd", type:"string", size:256, val:sOpScheDt},
- {col:"queryflag", type:"string", size:256, val:sQueryFlag},
- {col:"perfdeptcd", type:"string", size:256, val:""},
- {col:"perfdrid", type:"string", size:256, val:""}]);
- var oRef = this.objects[sRef];
- if (sQueryFlag == "detl") {
- oRef.setColumn(0, "perfdeptcd", sPerfDeptCd);
- oRef.setColumn(0, "perfdrid", sPerfDrId);
- }
- else if (sQueryFlag == "dept") {
- oRef.setColumn(0, "perfdeptcd", sPerfDeptCd);
- }
- var oParam = {};
- oParam.id = "TRMMO05704"; // transaction을 구분하기 위한 ID
- oParam.service = "prcpmngtapp.OpMngt"; // service ID
- oParam.method = "reqGetOpRoomCombo"; // method ID
- oParam.inds = "req=" + sRef; // transaction을 요청할 때 입력값으로 보낼 Dataset 의 ID
- oParam.outds = oDsOpRoomList.name + "=oproomlist " + oDsAllOpRoomList.name + "=alloproomlist"; // transaction을 처리 결과를 받을 Dataset의 ID
- tranf_submit(oParam);
- // Temp로 사용한 Dataset을 삭제
- var oRemoveDs = this.removeChild(sRef);
- oRemoveDs = null;
- }
- /***************************************************************************************************
- * Function : lf_prcpModal
- * Description : 팝업위치가 저장되지 않는 팝업 띄우기
- * Argument : sScreenId [String : 화면ID]
- * : objArg [Object : 팝업 변수]
- * : argxpt [Number : x좌표]
- * : argypt [Number : y좌표]
- * : ref
- * : resultref
- * : userProp
- * return type : void
- * Creator :
- ***************************************************************************************************/
- function lf_prcpModal( sScreenId, argxpt, argypt, ref, resultref , userProp)
- {
- var xpt = ypt = 0;
- if (utlf_isNull(argxpt) || utlf_isNull(argypt)) {
- argxpt = system.cursorx;
- argypt = system.cursory;
- } else {
- argxpt = system.clientToScreenX(this, 0) + argxpt;
- argypt = system.clientToScreenY(this, 0) + argypt;
- // argxpt = system.clientToScreenX(this.getOwnerFrame(), 0) + argxpt;
- // argypt = system.clientToScreenY(this.getOwnerFrame(), 0) + argypt;
- // argxpt = system.clientToScreenX(this.getOwnerFrame(), this.getOwnerFrame().form.position.x) + argxpt;
- // argypt = system.clientToScreenY(this.getOwnerFrame(), this.getOwnerFrame().form.position.y) + argypt;
-
- if(argxpt < 0) argxpt = 0;
- if(argypt < 0) argypt = 0;
- }
-
- var rtnVal = frmf_modal(sScreenId, sScreenId, null, false, null, argxpt, argypt, null, null, null, null, null, "M");
- return rtnVal;
- }
- /***************************************************************************************************
- * Function : lf_prcpOpenMon
- * Description : 팝업위치가 저장되지 않는 팝업 모달 띄우기(모니터 번호 선택 가능)
- * Argument : screenId: 화면 ID
- * : argxpt : x좌표
- * : argypt : y좌표
- * return type : void
- * Creator : 윤지현 2013. 07. 18
- ***************************************************************************************************/
- function lf_prcpOpenMon(screenId, argxpt, argypt, ref, resultref , userProp)
- {
- var answer = lf_mmbfGetUserEnvQuestValue("104"); // 기본환경설정에서 팝업창 띄울 모니터 번호 불러오기.(5: 해당없음)
- var xpt;
- var ypt;
- var mon;
- if (answer == "005") {
- xpt = system.clientToScreenX(this.getOwnerFrame(), 0) + parseInt(argxpt);
- ypt = system.clientToScreenY(this.getOwnerFrame(), 0) + parseInt(argypt);
- }
- else {
- xpt = argypt;
- ypt = argypt;
- }
- open(screenId, mon, xpt, ypt, screenId, ref, resultref, userProp, false);
- }
- /***************************************************************************************************
- * Function : lf_chkPrcpModi
- * Description : 환자 변경시 저장하지 않은 처방 여부체크해서 저장여부 Alert
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function lf_chkPrcpModi(ioflag)
- {
- var mainobj = frmf_getMainViewer();
- var curPrcpObj = mainobj.frmf_getChildWindow("SMMMO00100");
- var curRowIndx = 0;
- // 처방창이 열려있을때만
- if (curPrcpObj != null) {
- // 처방권한 없으면 저장 안타도록
- if (!curPrcpObj.btn_prcpsave.disabled) {
- if (ioflag == "O" || ioflag == "S") {
- curRowIndx = grd_outpatlist.row;
- if (curPrcpObj.fPrcpSavePatList()) {
- grd_outpatlist.row = curRowIndx;
- }
- }
- else if (ioflag == "I") {
- curRowIndx = grd_inpatlist.row;
- if (curPrcpObj.fPrcpSavePatList()) {
- grd_inpatlist.row = curRowIndx;
- }
- }
- else if (ioflag == "E") {
- curRowIndx = grd_erpatlist.row;
- if (curPrcpObj.fPrcpSavePatList()) {
- grd_erpatlist.row = curRowIndx;
- }
- }
- else if (ioflag == "OP") {
- curRowIndx = grd_oppatlist.row;
- if (curPrcpObj.fPrcpSavePatList()) {
- grd_oppatlist.row = curRowIndx;
- }
- }
- }
- }
- }
- /***************************************************************************************************
- * Function : lf_addDrChk
- * Description : 가산의 체크
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function lf_addDrChk(srcNode, indx, msgyn)
- {
- var addfg = "";
- if (indx < 0)
- return addfg;
- var calcscormastspec = srcNode.getColumn(indx, "calcscormastspec");
- if (utlf_isNull(calcscormastspec))
- return addfg ;
- var calcspecArr = calcscormastspec.split("|");
- if (calcspecArr != null && calcspecArr.length > 4) {
- if (calcspecArr[4] == "A") addfg = "GS";
- else if (calcspecArr[4] == "B") addfg = "ALL"; // CS
- else if (calcspecArr[4] == "C") addfg = "CS";
- else if (calcspecArr[4] == "D") addfg = "GS";
- if (utlf_isNull(addfg)) {
- if (calcspecArr[5] == "A") addfg = "GS";
- else if (calcspecArr[5] == "B") addfg = "ALL";
- else if (calcspecArr[5] == "C") addfg = "CS";
- else if (calcspecArr[5] == "D") addfg = "GS";
- }
- if (utlf_isNull(addfg)) {
- if (msgyn == "Y")
- sysf_messageBox("가산의 지정이 불가한 처방입니다.", "E");
- }
- }
- return addfg;
- }
- /***************************************************************************************************
- * Function : lf_chngAddDr
- * Description : 가산의 변경
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function lf_chngAddDr(srcNode, indx, addfg, grdObj)
- {
- frmf_clearParameter("SPMMB08300_flag");
- frmf_clearParameter("SPMMB08300_useyn");
- frmf_clearParameter("SPMMB08300_userid");
- frmf_clearParameter("SPMMB08300_orddeptcd");
- frmf_clearParameter("SPMMB08300_userinfo");
- frmf_clearParameter("SPMMB08300_specdrid");
- var ordtype = ds_patflag.getColumn(0, "/root/patflag/list/prcpgenrflag");
- frmf_setParameter("SPMMB08300_orddeptcd", addfg);
- frmf_setParameter("SPMMB08300_ioflag", ordtype);
- frmf_setParameter("SPMMB08300_flag", "adddr");
- frmf_setParameter("SPMMB08300_specdrid", srcNode.getColumn(indx, "specdrid"));
- var scrid = frmf_getScreenID();
- var xpt = 400;
- var ypt = 300;
- if (!utlf_isNull(scrid) && scrid.length > 5) {
- if (scrid.substring(0,5) == "SPMMO")
- ypt = 10 ;
- }
- var rtnVal = lf_prcpModal("SPMMB08300", objArg);
- var useyn = frmf_getParameter("SPMMB08300_useyn");
- var userid = frmf_getParameter("SPMMB08300_userid");
- if (useyn == "Y") {
- srcNode.setColumn(indx, "tempcol30", userid);
- return true ;
- }
- return false ;
- }
- /***************************************************************************************************
- * Function : lf_getTopPatientinfo
- * Description : 상단의 dataset 참조 / 복사
- * Argument : sOption [Stirng : Y/dataset을 copy한다. , N/refrence를 반환한다.]
- : sPatientInfoDsNm [String : 데이터셋]
- : sFormDsNm [Dataset : 목적지 데이터셋]
- * : sClearFlag [String : 목적지 데이터셋 clear 여부]
- * return type :
- * Creator :
- ***************************************************************************************************/
- function lf_getTopPatientinfo(sOption, sPatientInfoDsNm, oFormDs, sClearFlag)
- {
- var initdataDs = this.objects["ds_init_data"];
- if((!utlf_isNull(initdataDs) && initdataDs.getColumn(0, "usge") != "prcp") || utlf_isNull(initdataDs)) {
- var nullDsNm = dsf_createDs("ds_null");
- var nullDsObj = this.objects[nullDsNm];
- return nullDsObj;
- }
-
-
- var oPatientInfoDiv = frmf_getViewer("patientInfo");
- var oPatientInfoDs = oPatientInfoDiv.objects[sPatientInfoDsNm];
-
- if(sOption == "Y") {
- if (sClearFlag != "N") {
- oFormDs.clearData();
- }
- oFormDs.appendData(oPatientInfoDs, true, true);
- } else {
- return oPatientInfoDs;
- }
- }
- /***************************************************************************************************
- * Function : lf_appendChildPatientInfo
- * Description : 상단의 인스턴스에서 Instance 복사
- * Argument : sFormDsNm [Dataset : 목적지 데이터셋]
- * : sPatientInfoDsNm [String : 데이터셋]
- * : sClearFlag [String : 목적지 데이터셋 clear 여부]
- * return type :
- * Creator :
- ***************************************************************************************************/
- function lf_appendChildPatientInfo(oFormDs, sPatientInfoDsNm, sClearFlag)
- {
- var oPatientInfoDiv = frmf_getViewer("patientInfo");
- var oPatientInfoDs = oPatientInfoDiv.objects[sPatientInfoDsNm];
- if (sClearFlag != "N") {
- oFormDs.clearData();
- }
- oFormDs.appendData(oPatientInfoDs, true, true);
- }
- /***************************************************************************************************
- * Function : emr_setGrdDragAnDropRowMove
- * Description : 그리드의 행(row)을 마우스 Drag & Drop으로 원하는 위치(RowPosition)로 이동
- * Argument : oGrid [Grid : 설정 할 Grid Object]
- * return type : 지정한 행(row)을 원하는 위치(RowPosition)로 이동
- * Creator : 2014.03.25 이호성
- ***************************************************************************************************/
- function emr_setGrdDragAnDropRowMove(oGrid)
- {
- // 한번 셋팅 된경우 다시 호출 하지 않기 위한 flag user property 추가.
- if (oGrid.DragAnDropRow) return;
- oGrid.ondrag.addHandler(gridrowmove_ondrag);
- oGrid.ondrop.addHandler(gridrowmove_ondrop);
- function gridrowmove_ondrag(obj:Grid, e:GridDragEventInfo) {
- e.userdata = e.row;
- return true;
- }
- function gridrowmove_ondrop(obj:Grid, e:GridDragEventInfo) {
- // Row를 이동하지 않은 경우
- if (e.userdata == e.row || e.row < 0 || e.col < 0)
- return;
- var objDs = eval(obj.binddataset);
- objDs.moveRow(e.userdata, e.row);
- }
- oGrid.DragAnDropRow = true;
- }
- /***************************************************************************************************
- * Function : emr_getHardcodeTable
- * Description : 하드코드테이블에서 해당 하드코드에 대한 Object Array 를 반환한다.
- * Argument : sHardcdno [String : 하드코드 번호]
- * : oSrcDs [Dataset : 리턴 데이타를 받을 데이타셋]
- * return type : [Object : 하드코드 테이블]
- * Creator :
- ***************************************************************************************************/
- function emr_getHardcodeTable(sHardcdno, oSrcDs)
- {
- var oDsHardCd = agv_objAppTopPath.form.dv_orderbasicinfo.lf_getHardcodeTable(sHardcdno);
- // var oDsHardCd = lf_getAllBizCodeList([{bizFlag: "M", cdGrpId: sHardcdno, dsNm: oSrcDs, sortField: "", sortMethod: ""}]
- // , true // 최소 컬럼 조회여부
- // , false // 비동기 여부
- // , "cbf_hardCodeTable"); // callBack 함수명
- if (utlf_isNull(oSrcDs)) {
- return oDsHardCd;
- }
- else {
- // 하드코드 Object 갯수 만큼 loop 작업
- for (var i=0 ; i < oDsHardCd.length ; i++)
- {
- var nAddRow = oSrcDs.addRow();
- // Object의 property 갯수 만큼 loop 작업을 하면 Dataset의 컬럼생성 및 Row 값 설정
- for (var j in oDsHardCd[i])
- {
- oSrcDs.addColumn(j, "STRING");
- oSrcDs.setColumn(nAddRow, j, oDsHardCd[i][j]);
- }
- }
- }
- }
- function cbf_hardCodeTable(strSvcID, nErrorCode, strErrorMag)
- {
- if(nErrorCode != 0) return sysf_messageBox("공통 코드를 조회하는데 ", "E009");
- }
- /***************************************************************************************************
- * Function : lf_fitSizeGrid
- * Description : 그리드 size를 데이터 길이와 너비에 맞게 변경시켜준다.
- * Argument : objGrid [Object : 변경시킬 그리드]
- * return type :
- * Creator : 윤지현
- ***************************************************************************************************/
- function lf_fitSizeGrid(objGrid){
- var colFullSize = objGrid.getRealColFullSize();
- var rowFUllSize = objGrid.getRealRowFullSize();
- rowFUllSize+=1;
- objGrid.position.width = colFullSize;
- objGrid.position.height = rowFUllSize;
- }
- /***************************************************************************************************
- * Function : lf_setGridStatus
- * Description : 데이터의 상태를 변경한다.(신규, 삭제)
- * Argument : dataset [String : 그리드에 맵핑된 데이터셋 명칭]
- : status [String : 변경시킬 상태(추가 및 신규: "I", 삭제: "D"]
- : objGrid [Grid : 그리드] :선택사항 Status가 I<추가> 일때 추가된 row가 에디터형태로 변경시킬 때 사용.
- : nCol [Number : 셀의 열 인덱스] :선택사항 Status가 I<추가> 일때 추가된 row 중 에디터형태로 변경시킬 열의 인덱스.
- : ex) lf_setGridStatus("ds_test", "I", grd_test, 1)
- * return type :
- * Creator : 윤지현
- ***************************************************************************************************/
- function lf_setGridStatus( dataset, status, objGrid, nCol){
- var object = this.objects[dataset]
- var arrTemp = new Array();
- if(status == "I"){
- var addRow = "";
- addRow = object.addRow();
- object.setRowType(addRow, 2);
-
- if(!utlf_isNull(objGrid)){
- objGrid.setCellPos(nCol);
- objGrid.setFocus();
- objGrid.showEditor(true);
- }
-
- }else if(status == "D"){
- object.updatecontrol = false;
- for (var i=0; i<object.rowcount; i++) {
- if (!object.getSelect(i)) continue;
-
- if(object.getRowType(i) == 8){
- object.setRowType(i, 1);
- continue;
- }
- if(object.getRowType(i) == 2){
- //object.deleteRow(i);
- arrTemp.push(i);
- continue;
- }
- object.setRowType(i, 8);
- }
-
- arrTemp.reverse();
- for(var idx in arrTemp){
- object.deleteRow(arrTemp[idx]);
- }
-
- object.updatecontrol = true;
- }
- }
- /***************************************************************************************************
- * Function : lf_getBindCellName
- * Description : 그리드에서 컬럼 인덱스로 바인드된 데이터셋의 컬럼명을 가져온다.
- * Argument : oTrgtGrid
- : nColumnIndx
- * return type : String
- * Creator : 강지훈
- ***************************************************************************************************/
- function lf_getBindCellName(oTrgtGrid, nColumnIndx){
- var sRtnText = "";
- var sTrgtText = oTrgtGrid.getCellProperty("body", nColumnIndx, "text");
- if(!utlf_isNull( sTrgtText)){
- sRtnText = sTrgtText.replace("bind:", "");
- }
-
- return sRtnText;
- }
- /***************************************************************************************************
- * Function : lf_setDsDefaultValue
- * Description : 데이터셋에 Default값을 넣어준다.
- * Argument : oTrgtGrid
- : nColumnIndx
- * return type : String
- * Creator : 강지훈
- ***************************************************************************************************/
- function lf_setDsDefaultValue(oTrgtDS, sColumnName, sValue, sColumnType){
- if(utlf_isNull(sColumnName)){
- sColumnName = "string";
- }
- oTrgtDS.addColumn(sColumnName, sColumnName);
-
- for(var i = 0 ; i < oTrgtDS.rowcount ; i++){
- if(utlf_isNull(oTrgtDS.getColumn(i, sColumnName))){
- oTrgtDS.setColumn(i, sColumnName, sValue);
- }
- }
- }
- /***************************************************************************************************
- * Function : lf_reqPatInfo
- * Description : 환자의 기초정보를 조회한다.(pid, hngnm)
- * Argument : dataset [Dataset: 조회된 내용을 담을 데이터셋]
- : srchflag[String : 등록번호, 환자명 구분 "pid"/"hngnm"]
- : tblflag [String : 테이블구분(환자기본/외래/입원, ptbs/otpt/inpt)]
- : param [String : 등록번호 / 환자명
- : stnddd [String : 외래/입원일자]
- * return type : true/false
- * Creator : 윤지현
- ***************************************************************************************************/
- function lf_reqPatInfo(oDsRsltRef, srchflag, tblflag, param, stnddd){
- var pid = "";
- var hngnm = "";
- var orddd = stnddd;
- var queryFlag = tblflag;
-
- if(srchflag == "pid"){ //등록번호 검색
- pid = param;
- hngnm = "";
- }else if(srchflag == "hngnm"){
- pid = "";
- hngnm = param;
- }
-
- var sRef = dsf_createDsRow("ds_req_patInfo", [{col:"pid" , type:"string", size:256, val:pid},
- {col:"hngnm" , type:"string", size:256, val:hngnm},
- {col:"orddd" , type:"string", size:256, val:orddd},
- {col:"queryflag" , type:"string", size:256, val:queryFlag},
- {col:"srchflag" , type:"string", size:256, val:srchflag}]);
- var oRef = this.objects[sRef];
-
- var oParam = {};
- oParam.id = "TRMMO04105"; // transaction을 구분하기 위한 ID
- oParam.service = "prcpmngtapp.EtcPrcpMngt"; // service ID
- oParam.method = "reqGetPatNM"; // method ID
- oParam.inds = "req=" + sRef; // transaction을 요청할 때 입력값으로 보낼 Dataset 의 ID
- oParam.outds = oDsRsltRef.name + "=patnm"; // transaction을 처리 결과를 받을 Dataset의 ID
- tranf_submit(oParam);
-
- //trace(oDsRsltRef.saveXML());
-
- if(oDsRsltRef.rowcount == 0){ //정보가 없을 때 메세지 출력
- if(srchflag == "pid") sysf_messageBox("등록번호 [" + param + "] 환자를 찾을 수 ", "I004");
- else if(srchflag == "hngnm") sysf_messageBox("환자명 [" + param + "] 환자를 찾을 수 ", "I004");
-
- return false;
- }
-
- // Temp로 사용한 Dataset을 삭제
- var oRemoveDs = this.removeChild(sRef);
- oRemoveDs = null;
- return true;
- }
- /***************************************************************************************************
- * Function : lf_dateFormat
- * Description : 날짜에 - 구분자 두기
- * Argument : dd: 모양을 바꿀날짜.
- * return type : String
- * Creator : 강지훈
- ***************************************************************************************************/
- function lf_dateFormat( sDd ) {
- var yyyy = sDd.substring ( 0, 4 );
- var mm = sDd.substring ( 4, 6 );
- var ddd = sDd.substring ( 6, 8 );
- return yyyy + "-" + mm + "-" + ddd;
- }
- /**********************************************************************************
- * Function : lf_columnSetData
- * Description : 그리드 체크박스 값에 따라서 sColid의 값을 변경한다(comm_grd.xjs의 grdf_columnSetData() 함수 변형)
- * argument : Object objDs - dataset
- Number nRowIndex - row Index
- String sColid - 변경할 컬럼명
- String sSrcColid - 체크박스에 바인드된 컬럼명
- String trueVal - 체크 되었을때 입력할 값
- String fasleVal - 체크박스가 체크 해제 되었을대 입력될 값
- * return Type : none
- * 작성자 : 안병모
- **********************************************************************************/
- function lf_chkColumnSetData(objDs, nRowIndex, sColid, sSrcColid, trueVal, falseVal)
- {
- var srcChk = objDs.getColumn(nRowIndex, sSrcColid);
- if(srcChk == 1 || srcChk == trueVal)
- {
- objDs.setColumn(nRowIndex, sColid, trueVal);
- }
- else
- {
- objDs.setColumn(nRowIndex, sColid, falseVal);
- }
- }
- /**********************************************************************************
- * Function : lf_getArrayData
- * Description : 구분자로 분리된 배열에서 해당 행, 열의 데이터 조회
- * argument : pData : 원본데이터
- pRow : 찾고자 하는 위치의 row
- pCol : 찾고자 하는 위치의 column
- pRowSep : Row 구분자
- pColSep : Column 구분자
- * return Type : 해당 row, column의 문자열
- * 작성자 : 안병모
- **********************************************************************************/
- function lf_getArrayData(pData, pRow, pCol, pRowSep, pColSep){
- var rowSep = (pRowSep == null || pRowSep =="" ? "▩" :pRowSep ); // row 구분자
- var colSep = (pColSep == null || pColSep =="" ? "▦" :pColSep ); // column 구분자
- var arrRow = pData.toString().split(rowSep);
- if(arrRow.length <= pRow) return "";
- var arrCol = arrRow[pRow].split(colSep);
- if(arrCol.length <= pCol) return "";
- return arrCol[pCol];
- }
-
- var sTimestamp = "";
- function lf_getCurrentDateString(){
- var sDate = utlf_getNewDate();
- rtnTime = (( sDate.getHours() > 9 ) ? sDate.getHours() : "0" + sDate.getHours());
- rtnTime = rtnTime.toString() + ":" + (( sDate.getMinutes() > 9 ) ? sDate.getMinutes() : "0" + sDate.getMinutes());
- rtnTime = rtnTime.toString() + ":" + (( sDate.getSeconds() > 9 ) ? sDate.getSeconds() : "0" + sDate.getSeconds());
- rtnTime = rtnTime.toString() + "." + utlf_lPad(sDate.getMilliseconds(), 3, "0");
-
- if(sTimestamp != "") {
- var term = sDate - sTimestamp;
- rtnTime = rtnTime + "( " + term + " )";
- }
- sTimestamp = sDate;
-
- return rtnTime ;
- }
- /***************************************************************************************************
- * Function : lf_getDsValue
- * Description : Dataset에값을 가져오는 함수
- * Argument : pDsObj : dataset object
- * pRow : row index
- * pColumnName : 컬럼명
- * return type : String
- * Creator : sklee
- ***************************************************************************************************/
- function lf_getDsValue(pDsObj, pRow, pColumnName)
- {
- return (utlf_isNull(pDsObj) || utlf_isNull(pDsObj.getColumnInfo(pColumnName)) || utlf_isNull(pDsObj.getColumn(pRow, pColumnName))) ? "" : pDsObj.getColumn(pRow, pColumnName);
- }
- /**
- * @-----------------------------------------------------------------------------------
- * @desc : 일일기준과 1회 기준의 용량과 수량을 보여주는 것을 결정하여 결과를 리턴함)
- * @param : option : A: 모두 보여줌
- * B: 1일 기준으로 보여줌
- * C: 1회 기준으로 보여줌
- * D: 병원의 기준값을 리턴함
- * E: 용량중 일일용량만 보여주고 일회 용량은 숨기는 것으로 한다.
- * F: 용량중 일회용량만 보여주고 일일 용량은 숨기는 것으로 한다.
- * G: 수량중 일일 수량만 보여준다. 일회 수량은 Hidden
- * H: 수량중 일회 수량은 보여주고 일회수량은 Hidden
- * grd_obj : 설정할 그리드를 리턴한다.
- * colnm_size : 컬럼 사이즈를 적어준다.
- * comnm_vol1 : 1일 총용량 컬럼
- * colnm_qty1 : 1일 수량 컬럼
- * comnm_vol2 : 1회 총용량 컬럼
- * colnm_qty2 : 1회 수량 컬럼
- * colnm_size_qty : 수량 컬럼 사이즈를 적어준다.
- * @-----------------------------------------------------------------------------------
- */
- function lf_grdBaseColHidn(option, grd_obj, colnm_size, colnm_vol1, colnm_qty1, colnm_vol2, colnm_qty2, colnm_size_qty) {
- var hardcd = lf_getHardCDList("Y", 230, 3, null);
- var sGrd_objnm;
-
- if (utlf_isNull(option)) {
- option = hardcd;
- }
- if (utlf_isNull(colnm_size)) {
- sColnm_size = 37;
- } else {
- sColnm_size = colnm_size;
- }
-
- if (utlf_isNull(grd_obj)) {
- sGrd_objnm = "div_all.grd_prcplist";
- } else {
- sGrd_objnm = grd_obj;
- }
-
- if (utlf_isNull(colnm_vol1)) {
- sColnm_vol1 = "prcpvol";
- } else {
- sColnm_vol1 = colnm_vol1
- }
-
- if (utlf_isNull(colnm_qty1)) {
- sColnm_qty1 = "prcpqty";
- } else {
- sColnm_qty1 = colnm_qty1
- }
-
- if (utlf_isNull(colnm_vol2)) {
- sColnm_vol2 = "drprcpetc7";
- } else {
- sColnm_vol2 = colnm_vol2;
- }
-
- if (utlf_isNull(colnm_qty2)) {
- sColnm_qty2 = "drprcpetc8";
- } else {
- sColnm_qty2 = colnm_qty2;
- }
-
- if (utlf_isNull(colnm_size_qty)) {
- sColnm_size_qty = sColnm_size;
- } else {
- sColnm_size_qty = colnm_size_qty;
- }
-
- // 둘다 보여준다.
- if (option =="A") {
- // 그리드명이 있을 경우
- if (utlf_isNull(grd_obj)) {
- var oGrid = eval(sGrd_objnm);
-
- var col = oGrid.getBindCellIndex("body", sColnm_vol1);
- oGrid.setFormatColProperty(col , "size", sColnm_size);
-
- col = oGrid.getBindCellIndex("body", sColnm_qty1);
- oGrid.setFormatColProperty(col , "size", sColnm_size_qty);
-
- col = oGrid.getBindCellIndex("body", sColnm_vol2);
- oGrid.setFormatColProperty(col , "size", sColnm_size);
-
- col = oGrid.getBindCellIndex("body", sColnm_qty2);
- oGrid.setFormatColProperty(col , "size", sColnm_size_qty);
- }
- // 일일 용량을 기준으로 보여준다.
- } else if (option =="B") {
- var oGrid = eval(sGrd_objnm);
-
- var col = oGrid.getBindCellIndex("body", sColnm_vol1);
- oGrid.setFormatColProperty(col , "size", sColnm_size);
-
- col = oGrid.getBindCellIndex("body", sColnm_qty1);
- oGrid.setFormatColProperty(col , "size", sColnm_size_qty);
-
- col = oGrid.getBindCellIndex("body", sColnm_vol2);
- oGrid.setFormatColProperty(col , "size", 0);
-
- col = oGrid.getBindCellIndex("body", sColnm_qty2);
- oGrid.setFormatColProperty(col , "size", 0);
- // 일회 용량을 기준으로 보여준다.
- } else if (option =="C") {
- var oGrid = eval(sGrd_objnm);
-
- var col = oGrid.getBindCellIndex("body", sColnm_vol1);
- oGrid.setFormatColProperty(col , "size", 0);
-
- col = oGrid.getBindCellIndex("body", sColnm_qty1);
- oGrid.setFormatColProperty(col , "size", 0);
-
- col = oGrid.getBindCellIndex("body", sColnm_vol2);
- oGrid.setFormatColProperty(col , "size", sColnm_size);
-
- col = oGrid.getBindCellIndex("body", sColnm_qty2);
- oGrid.setFormatColProperty(col , "size", sColnm_size_qty);
- // 기준값을 리턴한다.
- } else if (option =="D") {
- // 기준값을 가지고 컬럼의 상태를 결정한다.
- return hardcd;
- } else if (option =="E") {
- var oGrid = eval(sGrd_objnm);
-
- var col = oGrid.getBindCellIndex("body", sColnm_vol1);
- oGrid.setFormatColProperty(col , "size", sColnm_size);
-
- col = oGrid.getBindCellIndex("body", sColnm_vol2);
- oGrid.setFormatColProperty(col , "size", 0);
- } else if (option =="F") {
- var oGrid = eval(sGrd_objnm);
-
- var col = oGrid.getBindCellIndex("body", sColnm_vol1);
- oGrid.setFormatColProperty(col , "size", 0);
-
- col = oGrid.getBindCellIndex("body", sColnm_vol2);
- oGrid.setFormatColProperty(col , "size", sColnm_size);
- } else if (option =="G") {
- var oGrid = eval(sGrd_objnm);
-
- var col = oGrid.getBindCellIndex("body", sColnm_qty1);
- oGrid.setFormatColProperty(col , "size", sColnm_size_qty);
-
- col = oGrid.getBindCellIndex("body", sColnm_qty2);
- oGrid.setFormatColProperty(col , "size", 0);
- } else if (option =="H") {
- var oGrid = eval(sGrd_objnm);
-
- var col = oGrid.getBindCellIndex("body", sColnm_qty1);
- oGrid.setFormatColProperty(col , "size", 0);
-
- col = oGrid.getBindCellIndex("body", sColnm_qty2);
- oGrid.setFormatColProperty(col , "size", sColnm_size_qty);
- } else {
- var oGrid = eval(sGrd_objnm);
-
- var col = oGrid.getBindCellIndex("body", sColnm_vol1);
- oGrid.setFormatColProperty(col , "size", sColnm_size);
-
- col = oGrid.getBindCellIndex("body", sColnm_qty1);
- oGrid.setFormatColProperty(col , "size", sColnm_size_qty);
-
- col = oGrid.getBindCellIndex("body", sColnm_vol2);
- oGrid.setFormatColProperty(col , "size", 0);
-
- col = oGrid.getBindCellIndex("body", sColnm_qty2);
- oGrid.setFormatColProperty(col , "size", 0);
- }
- }
- /***************************************************************************************************
- * Function : lf_makePrcpSrchDs
- * Description : 처방 조회 시 outds가 없다면 자동 생성한다.
- (lf_prcpSrchCom, lf_bfPrcpSrchCom의 TRMMO00100, TRMMB00201 에서 사용)
- * Argument :
- * return type :
- * Creator : 김상목
- ***************************************************************************************************/
- function lf_makePrcpSrchDs() {
- if(utlf_isNull(this.objects["ds_prcpsrch_prcplist"])) {
- var arrColInfo = [{col:"status", type:"string", size:256}
- , {col:"prcpstatcd", type:"string", size:256}
- , {col:"prcpclscd", type:"string", size:256}
- , {col:"prcpkindcd", type:"string", size:256}
- , {col:"prcpcd", type:"string", size:256}
- , {col:"prcpnm", type:"string", size:256}
- , {col:"prcpvol", type:"string", size:256}
- , {col:"prcpvolunitnm", type:"string", size:256}
- , {col:"prcpqty", type:"string", size:256}
- , {col:"prcpqtyunitnm", type:"string", size:256}
- , {col:"prcptims", type:"string", size:256}
- , {col:"prcpdayno", type:"string", size:256}
- , {col:"drugmthdspccdnm", type:"string", size:256}
- , {col:"prcpmixno", type:"string", size:256}
- , {col:"payflagcd", type:"string", size:256}
- , {col:"prcpdelivefact", type:"string", size:256}
- , {col:"hosinhosoutflag", type:"string", size:256}
- , {col:"prcpexecdeptcd", type:"string", size:256}
- , {col:"prcphopedd", type:"string", size:256}
- , {col:"choiordflag", type:"string", size:256}
- , {col:"rgstdt", type:"string", size:256}
- , {col:"rgstridnm", type:"string", size:256}
- , {col:"testrsltunit", type:"string", size:256}
- , {col:"testrsltcnts", type:"string", size:256}
- , {col:"prcpgenrflag", type:"string", size:256}
- , {col:"prcphistcd", type:"string", size:256}
- , {col:"tempprcpflag", type:"string", size:256}
- , {col:"prcpsetcd", type:"string", size:256}
- , {col:"prcpvolunitflag", type:"string", size:256}
- , {col:"prcpqtyunitflag", type:"string", size:256}
- , {col:"orgprcpqty", type:"string", size:256}
- , {col:"drugspd", type:"string", size:256}
- , {col:"drugspdunitflag", type:"string", size:256}
- , {col:"powdflag", type:"string", size:256}
- , {col:"prnprcpflag", type:"string", size:256}
- , {col:"prepprcpflag", type:"string", size:256}
- , {col:"selfprcpflag", type:"string", size:256}
- , {col:"selfdrugflag", type:"string", size:256}
- , {col:"drugpackflag", type:"string", size:256}
- , {col:"erprcpflag", type:"string", size:256}
- , {col:"precureprcpflag", type:"string", size:256}
- , {col:"nigtprcpflag", type:"string", size:256}
- , {col:"portprcpflag", type:"string", size:256}
- , {col:"fixprcpflag", type:"string", size:256}
- , {col:"anamneflag", type:"string", size:256}
- , {col:"fastprcpflag", type:"string", size:256}
- , {col:"erreadflag", type:"string", size:256}
- , {col:"prcpdirecflag", type:"string", size:256}
- , {col:"tnsuseflag", type:"string", size:256}
- , {col:"tnsfiltflag", type:"string", size:256}
- , {col:"trnptbftestflag", type:"string", size:256}
- , {col:"offictourhealexamflag", type:"string", size:256}
- , {col:"stemcellflag", type:"string", size:256}
- , {col:"angioflagcd", type:"string", size:256}
- , {col:"opansflagcd", type:"string", size:256}
- , {col:"ansttm", type:"string", size:256}
- , {col:"mealcalrcnts", type:"string", size:256}
- , {col:"mealprotcnts", type:"string", size:256}
- , {col:"mealupdtflag", type:"string", size:256}
- , {col:"hosinprcpresncd", type:"string", size:256}
- , {col:"etcprcpresncd", type:"string", size:256}
- , {col:"drugmthdspccd", type:"string", size:256}
- , {col:"issdeptcd", type:"string", size:256}
- , {col:"prcpauthflag", type:"string", size:256}
- , {col:"prcpinptflag", type:"string", size:256}
- , {col:"prcpsignflag", type:"string", size:256}
- , {col:"rateprcpflag", type:"string", size:256}
- , {col:"prcprefseq", type:"string", size:256}
- , {col:"ordreqlnkno", type:"string", size:256}
- , {col:"testreqlnkno", type:"string", size:256}
- , {col:"prcplnkdd", type:"string", size:256}
- , {col:"prcplnkno", type:"string", size:256}
- , {col:"oprsrvno", type:"string", size:256}
- , {col:"tootfact", type:"string", size:256}
- , {col:"clinccmtcnts", type:"string", size:256}
- , {col:"prcpessninptflag", type:"string", size:256}
- , {col:"grupsnglflag", type:"string", size:256}
- , {col:"drugrateqty", type:"string", size:256}
- , {col:"asttestflag", type:"string", size:256}
- , {col:"clincstdyflag", type:"string", size:256}
- , {col:"prtlno", type:"string", size:256}
- , {col:"clincstdycd", type:"string", size:256}
- , {col:"optermcd", type:"string", size:256}
- , {col:"prcpflag", type:"string", size:256}
- , {col:"hscttempprcpflag", type:"string", size:256}
- , {col:"inclprcpcd", type:"string", size:256}
- , {col:"inclprcpno", type:"string", size:256}
- , {col:"pampkspec", type:"string", size:256}
- , {col:"prcppkspec", type:"string", size:256}
- , {col:"calcscormastspec", type:"string", size:256}
- , {col:"drugmastspec", type:"string", size:256}
- , {col:"rateprcpspec", type:"string", size:256}
- , {col:"matrsetprcpspec", type:"string", size:256}
- , {col:"suppdeptspec", type:"string", size:256}
- , {col:"contprcpspec", type:"string", size:256}
- , {col:"etclnkspec", type:"string", size:256}
- , {col:"srchcondcnts", type:"string", size:256}
- , {col:"orgprcpnm", type:"string", size:256}
- , {col:"chkcol", type:"string", size:256}
- , {col:"hsctdelivepos", type:"string", size:256}
- , {col:"hsctlnkno", type:"string", size:256}
- , {col:"etcprcpflag", type:"string", size:256}
- , {col:"aftcertflag", type:"string", size:256}
- , {col:"aftcertdrid", type:"string", size:256}
- , {col:"prcpvalidd", type:"string", size:256}
- , {col:"spynpy1", type:"string", size:256}
- , {col:"specdrid", type:"string", size:256}
- , {col:"specdrnm", type:"string", size:256}
- , {col:"anticncrprtlno", type:"string", size:256}
- , {col:"anticncrdayno", type:"string", size:256}
- , {col:"druglnkno", type:"string", size:256}
- , {col:"rehbprcpcurefreqflag", type:"string", size:256}
- , {col:"dietprcpgenrflag", type:"string", size:256}
- , {col:"irpayflag", type:"string", size:256}
- , {col:"irflag", type:"string", size:256}
- , {col:"procerdietflag", type:"string", size:256}
- , {col:"diagtestconttestintvlflag", type:"string", size:256}
- , {col:"drugindependpackflag", type:"string", size:256}
- , {col:"diagtestconttestbasetm", type:"string", size:256}
- , {col:"diagtestconttestorgtims", type:"string", size:256}
- , {col:"ermediscmngtresncd", type:"string", size:256}
- , {col:"rehbprcpenddd", type:"string", size:256}
- , {col:"matrallsizespecid", type:"string", size:256}
- , {col:"rehbprcpcurepartcd", type:"string", size:256}
- , {col:"lowdrugresncd", type:"string", size:256}
- , {col:"tfdtlcd", type:"string", size:256}
- , {col:"dnorreqlnkno", type:"string", size:256}
- , {col:"subcretno", type:"string", size:256}
- , {col:"exptmthdfact", type:"string", size:256}
- , {col:"lowdrugresnetcfact", type:"string", size:256}
- , {col:"diagtestconttestcdspec", type:"string", size:256}
- , {col:"drgacptflag", type:"string", size:256}
- , {col:"drprcpetc1", type:"string", size:256}
- , {col:"drprcpetc2", type:"string", size:256}
- , {col:"drprcpetc3", type:"string", size:256}
- , {col:"drprcpetc4", type:"string", size:256}
- , {col:"drprcpetc5", type:"string", size:256}
- , {col:"drprcpetc6", type:"string", size:256}
- , {col:"drprcpetc7", type:"string", size:256}
- , {col:"drprcpetc8", type:"string", size:256}
- , {col:"drprcpetc9", type:"string", size:256}
- , {col:"drprcpetc10", type:"string", size:256}
- , {col:"tempcol1", type:"string", size:256}
- , {col:"tempcol2", type:"string", size:256}
- , {col:"tempcol3", type:"string", size:256}
- , {col:"tempcol4", type:"string", size:256}
- , {col:"tempcol5", type:"string", size:256}
- , {col:"tempcol6", type:"string", size:256}
- , {col:"tempcol7", type:"string", size:256}
- , {col:"tempcol8", type:"string", size:256}
- , {col:"tempcol9", type:"string", size:256}
- , {col:"tempcol10", type:"string", size:256}
- , {col:"tempcol11", type:"string", size:256}
- , {col:"tempcol12", type:"string", size:256}
- , {col:"tempcol13", type:"string", size:256}
- , {col:"tempcol14", type:"string", size:256}
- , {col:"tempcol15", type:"string", size:256}
- , {col:"tempcol16", type:"string", size:256}
- , {col:"tempcol17", type:"string", size:256}
- , {col:"tempcol18", type:"string", size:256}
- , {col:"tempcol19", type:"string", size:256}
- , {col:"tempcol20", type:"string", size:256}
- , {col:"tempcol21", type:"string", size:256}
- , {col:"tempcol22", type:"string", size:256}
- , {col:"tempcol23", type:"string", size:256}
- , {col:"tempcol24", type:"string", size:256}
- , {col:"tempcol25", type:"string", size:256}
- , {col:"rgstdeptcd", type:"string", size:256}
- , {col:"prcpclassnm", type:"string", size:256}
- , {col:"rowkey", type:"string", size:256}
- , {col:"instcd", type:"string", size:256}];
-
- dsf_createDs("ds_prcpsrch_prcplist", arrColInfo, true);
- ds_prcpsrch_prcplist.oncolumnchanged.addHandler(prcpsrch_prcplist_oncolumnchanged);
- }
- }
- function prcpsrch_prcplist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
- {
- if(e.columnid == "status")
- obj.setColumn(e.row, e.columnid, (e.newvalue == "I" || e.newvalue == 1) ? "I" : "N");
- };
- /***************************************************************************************************
- * Function : lf_setCheckboxProperty
- * Description : 일괄입력 화면들에서 체크 박스 클릭시에 대한 공통 동작 정의
- * Argument : obj - 체크박스 오브젝트
- oSubComponent - obj 체크박스와 같이 연동 되는 sub 체크박스
- isChangeVal - sub 체크박스의 값도 같이 변경 시킬지 여부(값이 없다면 true)
- * return type :
- * 사용예 : 1) lf_setCheckboxProperty(obj, checkbox10);
- 2) lf_setCheckboxProperty(obj, combo1, false);
- * Creator : 김상목
- ***************************************************************************************************/
- function lf_setCheckboxProperty(obj:CheckBox, oSubComponent, isChangeVal) {
- if ( obj.value == "Y" ) {
- obj.style.font = "Dotum,9,bold";
- oSubComponent.enable = true;
- } else {
- obj.style.font = "Dotum,9";
- oSubComponent.enable = false;
- }
-
- if(utlf_isNull(isChangeVal)) isChangeVal = true;
- if(isChangeVal) oSubComponent.value = obj.value;
- }
- /************************************************************************************************
- * 함수명 : lf_mmbfOpenEmrWnd
- * 설명 : EMR 에서 제공하는 각종 기록지, 처방화면등을 타업무에서 사용시 구분하기 위한 진입점 함수로 아래 화면을 통해 여러가지 화면으로 분기될 수 있다.
- * EMR진료 기록지 조정
- * modal로 화면에 숨겨진 팝업을 띄운다. 여러화면 동시에 open되어, submit간의 충돌을 방지한다.
- * argument : String scrnid - 파라미터로 보낼 화면 ID
- * return Type : true
- * 작성자 : tobesoft
- ************************************************************************************************/
- function lf_mmbfOpenEmrWnd(scrnid){
- frmf_setParameter("SPMMB08400_scrnid", scrnid);
- // modal("SPMMB08400", 1, 0, 0, "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
- var sStyle = "title=false,status=false"
- frmf_modal("SPMMB08400", "SPMMB08400", null, null, 1, 0, 0, 0, 0, sStyle, null, null, "P")
- return true;
- }
- /***************************************************************************************************
- * Function : lf_onInitOrdListPopup
- * Description : 1. 진료대상자리스트에서 열린 팝업 init event에서 실행 - lf_getEMRLoadingInfo_Top 호출
- 2. 화면open -> 상단에서 필요한 정보 조회(commodulexp:SMZUM00100:lf_getEMRLoadingInfo_Top) -> 화면 로딩 시작
- 3. 처방, 마취기록, CP, 진료기록 화면에서 사용
- * Argument :
- * return type : 없음
- * Creator :
- ***************************************************************************************************/
- var lgv_bChkDoInitOrdListPopup = false; //lf_onInitOrdListPopup() 함수가 실행되었는가의 여부를 판단(true: 실행됨, false: 실행되지 않음)
- function lf_onInitOrdListPopup(){
- utlf_addLog("***** lf_onInitOrdListPopup *****");
- //진료대상자 리스트를 통해 Open되었을경우만 상단을 다시 조회 함.
- var sScrnId = this.getOwnerFrame().plgv_scrnId;
- utlf_addLog(" sScrnId : " + sScrnId );
- if(utlf_isNull(sScrnId)){ //메인화면에 띄울 경우에는 파라미터를 받기 위해 frmf_getMainFormParam() 함수를 사용한다.
- var oParam = this.frmf_getMainFormParam();
- utlf_addLog(" oParam : " + oParam );
- if(!utlf_isNull(oParam)){
- sScrnId = oParam.plgv_scrnId;
- utlf_addLog(" sScrnId : " + sScrnId );
- this.getOwnerFrame().plgv_scrnId = sScrnId; // 로드된 상태에서 재조회시 사용
- }
- }
- utlf_addLog("sScrnId : " + sScrnId + " || sysf_getObjType(this) : " + sysf_getObjType(this) + " || this.name : " + this.name);
- if(sysf_getObjType(this)=="Form" || this.name == "div_work"){ //폼의 형태이거나 메인에 포함되어 뜰 경우(단, 진료대상자에서 처방화면을 호출하였을 때)
- if(!utlf_isNull(sScrnId) && sScrnId == "SMMMO04100"){
- //상단정보 조회[MMOCommon.xjs]
- var viewerObj = frmf_getViewer("patientInfo");
- viewerObj.lf_getEMRLoadingInfo_Top("init");
- lgv_bChkDoInitOrdListPopup = true;
- }
- }
- }
- /***************************************************************************************************
- * Function : lf_onLoadOrdListPopup
- * Description : 1. 진료대상자리스트에서 열리지 않은 팝업이나 화면 onLoad event에서 실행 - lf_initPageByBroadcast 호출
- 2. 화면open -> 상단정보 조회 -> 화면 로딩 시작(lf_initPageByBroadcast)
- 3. 처방, 마취기록, CP, 진료기록 화면에서 사용
- * Argument :
- * return type : 없음
- * Creator :
- ***************************************************************************************************/
- function lf_onLoadOrdListPopup(){
- utlf_addLog("lgv_bChkDoInitOrdListPopup : " + lgv_bChkDoInitOrdListPopup);
- //상단조회(lf_onInitOrdListPopup) 함수가 실행되지 않았을 때만 실행한다.
- if(!lgv_bChkDoInitOrdListPopup){
- lf_initPageByBroadcast("init");
- lgv_bChkDoInitOrdListPopup = false;
- }
- }]]></Script>
|