#region Copyright © 2015 CLIPSOFT Co.,Ltd. All Rights Reserved. // // All rights are reserved. Reproduction or transmission in whole or in part, // in any form or by any means, electronic, mechanical or otherwise, is // prohibited without the prior written consent of the copyright owner. // // Filename: ConsentSvc.asmx.cs // #endregion using System; using System.Collections.Generic; using System.Web.Services; using System.Collections; using IBatisNet.DataMapper; using CLIP.eForm.Server.Data; using CLIP.eForm.Consent.Entity; using CLIP.eForm.Consent.Dac; using System.IO; using System.Drawing; using System.Text; using System.Linq; namespace CLIP.eForm.Consent.WebService { /// /// Class description /// /// ///

[설계자]

///

클립소프트 연구소 홍지철 (jchong@clipsoft.co.kr)

///

[원본 작성자]

///

클립소프트 기술부 이인희

///

[수정 작성자]

///

파티마병원 정보지원과 오재은

///

----------------------------------------------------------------------------------------

///

[HISTORY]

///

2016-06-15 : 최초작성

///

----------------------------------------------------------------------------------------

///
/// /// HospitalSvc 요약 설명입니다. /// [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // ASP.NET AJAX를 사용하여 스크립트에서 이 웹 서비스를 호출하려면 다음 줄의 주석 처리를 제거합니다. // [System.Web.Script.Services.ScriptService] public class HospitalSvc : System.Web.Services.WebService { private IBatisHelper _ibatisHelper; //private IBatisHelper cendbHelper; public HospitalSvc() { _ibatisHelper = new IBatisHelper("HospitalSvcOracleMap.config"); //cendbHelper = new IBatisHelper("CenDBOracleMap.config"); } protected override void Dispose(bool disposing) { if (IbatisSession != null && IbatisSession.Transaction != null) { IbatisSession.CommitTransaction(); IbatisSession.CloseConnection(); } if (IbatisMapper != null) IbatisMapper.CloseConnection(); //if (cendbSession != null && cendbSession.Transaction != null) { // cendbSession.CommitTransaction(); // cendbSession.CloseConnection(); //} //if (cendbMapper != null) { // cendbMapper.CloseConnection(); //} base.Dispose(disposing); } /// /// 현재 연결된 IBatis Connection을 반환 /// public ISqlMapper IbatisMapper { get { if (_ibatisHelper == null) { return null; } else { return _ibatisHelper.GetSqlMapper(); } } } //public ISqlMapper cendbMapper { // get { // if (cendbHelper == null) { // return null; // } else { // return cendbHelper.GetSqlMapper(); // } // } //} /// /// 현재 연결된 ISqlMapSession 을 반환 /// public ISqlMapSession IbatisSession { get { if (_ibatisHelper == null) { return null; } else { return _ibatisHelper.GetMapSession(); } } } //public ISqlMapSession cendbSession { // get { // if (cendbHelper == null) { // return null; // } else { // return cendbHelper.GetMapSession(); // } // } //} [WebMethod] public bool CheckWebService() { return true; } //[WebMethod] //public string checkCendbService() { // int hashCode = 0; // if (cendbHelper != null) { // hashCode = cendbHelper.GetHashCode(); // } // return String.Format("result is: {0}", hashCode); //} [WebMethod] public bool CheckDatabaseConnection() { // TODO: 데이터 베이스 커넥션 테스트 호출 필요 if (IbatisMapper != null) { return true; } return false; } /// /// 동의서 기본 세팅 정보 /// /// [WebMethod(Description = "동의서 기본 세팅 정보")] public List GetSettingData() { List result = null; try { using (UserDac dac = new UserDac()) { Hashtable param = new Hashtable(); //return (List) dac.GetSettingData(IbatisMapper, param); result = (List) dac.GetSettingData(IbatisMapper, param); } } catch (Exception ex) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetSettingData error: {0}", ex.Message)); } return result; } /// /// 사용자 상세정보 /// 의사의 경우 엔존번호를 반환한다 /// /// 사용자 ID /// 근무지기관코드 /// 근무지부서코드 /// [WebMethod(Description = "사용자 상세정보")] public UserVO GetUserInfo(string userid, string dutinstcd, string dutplcecd) { UserVO user = new UserVO(); try { using (UserDac dac = new UserDac()) { Hashtable param = new Hashtable { { "userid", userid.ToUpper() }, { "dutinstcd", dutinstcd }, { "dutplcecd", dutplcecd ?? "" } }; user = dac.GetUserInfo(this.IbatisMapper, param); } return user; } catch (Exception ex) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetUserInfo error: {0}", ex.Message)); throw ex; } } /// /// 환자 진료일 조회 /// /// 환자번호 /// 검색진료일 /// 검색조건, (searchType == ">=" 이면 clnDate >= searchClnDate, searchType == "=" 이면 clnDate = searchClnDate) /// 진료부서코드 /// 근무지기관코드 /// [WebMethod(Description = "환자 진료일 조회")] public List GetTrmtDateList(string patientNo, string searchClnDate, string searchType, string orddeptcd , string dutinstcd, string ordType) { List clnDateList; try { using (PatientDac dac = new PatientDac()) { Hashtable param = new Hashtable { { "instcd", dutinstcd }, { "pid", patientNo }, { "searchClnDate", searchClnDate }, { "searchType", searchType }, { "orddeptcd", orddeptcd }, { "ordType", ordType} }; clnDateList = (List) dac.GetTrmtDateList(this.IbatisMapper, param); } return clnDateList; } catch (Exception ex) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetTrmtDateList error: {0}", ex.Message)); throw ex; } } /// /// 조회하고자 하는 화면 타입 : 입원(I), 외래(O), 응급(ER), 수술(OP) /// 검색 탭 일때 Y, 그렇지 않으면 N> /// 조회일자 ex) 20190726 /// 진료과 코드 /// 진료의 아이디 /// 환지 진료번호(차트번호) /// 병동 코드 /// 환자 상태 /// 근무지기관 코드 /// 로그인한 사용자 아이디 /// 내환자 검색 checkbox value, 내환자 검색의 경우 pid 파라미터는 null 로 보내야 한다.ex) Y, N /// 입원, 응급에서 진료의 선택시 진료의 구분 (A : 전공의, B : 교수) [WebMethod(Description = "환자리스트 조회")] public List GetPatientList(String selectFlag, String srchYN, String srchDd, String ordDeptCd, String doctorId, String pid, String wardCd, String patientState, String dutInstCd, String userId, String myPatient, String drKind) { List result = null; try { using (PatListDac dac = new PatListDac()) { var myPatientFlag = myPatient ?? "N"; var userIdValue = userId ?? ""; var searchFlag = srchYN ?? "N"; wardCd = wardCd ?? ""; patientState = patientState ?? ""; userId = userId ?? ""; //if (myPatientFlag.Equals("Y") && !drKind.Equals("C")) { // doctorId = userId; //} //CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Debug("doctorId -- > " + doctorId); //CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Debug("userId -- > " + userId); Hashtable param = new Hashtable(); param.Add("selectFlag", selectFlag); param.Add("srchYN", searchFlag); param.Add("srchDd", srchDd); param.Add("ordDeptCd", ordDeptCd); param.Add("pid", pid); param.Add("instCd", dutInstCd); param.Add("userId", userId); param.Add("drKind", drKind); param.Add("doctorId", doctorId); param.Add("patientState", patientState); if (selectFlag == "I") { param.Add("wardCd", wardCd); param.Add("myPatient", myPatientFlag); } result = (List) dac.GetPatList(this.IbatisMapper, param); } return result; } catch (Exception ex) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetInPatList error: {0}", ex.Message)); throw ex; } } /// /// 검사탭 환자리스트 조회 모바일 전용 /// /// 선택한 탭의 상태값 입원 : I, 외래 : O, 응급 : ER, 수술 : OP, 검사 : EX, 검색 : S /// /// /// 지원부서목록 /// 지원과 /// 환자번호 /// /// [WebMethod(Description = "검사탭 환자리스트 조회")] public List GetPatientExList(String selectFlag, String toDt, String fromDt, String baseCd, String supportDeptCd, String pid, String patientState) { List result = null; try { using (PatListDac dac = new PatListDac()) { Hashtable param = new Hashtable(); param.Add("selectFlag", selectFlag); param.Add("toDt", toDt); param.Add("fromDt", fromDt); param.Add("baseCd", baseCd); param.Add("supportDeptCd", supportDeptCd); param.Add("pid", pid); param.Add("patientState", patientState); param.Add("deviceType", "MOBILE"); result = (List) dac.GetPatList(this.IbatisMapper, param); } return result; } catch (Exception ex) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetInPatList error: {0}", ex.Message)); throw ex; } } /// /// 검사탭 환자리스트 조회 모바일 전용 /// /// 선택한 탭의 상태값 입원 : I, 외래 : O, 응급 : ER, 수술 : OP, 검사 : EX, 검색 : S /// /// /// 지원부서목록 /// 지원과 /// 환자번호 /// /// [WebMethod(Description = "검사탭 환자리스트 조회")] public List GetPatientExListPC(String selectFlag, String toDt, String fromDt, String baseCd, String supportDeptCd, String pid, String patientState, string isMainD, string mainDrId) { List result = null; try { using (PatListDac dac = new PatListDac()) { Hashtable param = new Hashtable(); param.Add("selectFlag", selectFlag); param.Add("toDt", toDt); param.Add("fromDt", fromDt); param.Add("baseCd", baseCd); param.Add("supportDeptCd", supportDeptCd); param.Add("pid", pid); param.Add("patientState", patientState); param.Add("deviceType", "PC"); param.Add("isMainD", isMainD); param.Add("mainDrId", mainDrId); result = (List) dac.GetPatList(this.IbatisMapper, param); } return result; } catch (Exception ex) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetInPatList error: {0}", ex.Message)); throw ex; } } /// /// 검사탭 환자리스트 조회 PC 클라이언트 전용 /// /// 선택한 탭의 상태값 입원 : I, 외래 : O, 응급 : ER, 수술 : OP, 검사 : EX, 검색 : S /// /// /// 지원부서목록 /// 지원과 /// 환자번호 /// /// [WebMethod(Description = "검사탭 환자리스트 조회")] public List GetPatientExPCList(String selectFlag, String toDt, String fromDt, String baseCd, String supportDeptCd, String pid, String patientState, string isMainD, string mainDrId) { List result = null; try { using (PatListDac dac = new PatListDac()) { Hashtable param = new Hashtable(); param.Add("selectFlag", selectFlag); param.Add("toDt", toDt); param.Add("fromDt", fromDt); param.Add("baseCd", baseCd); param.Add("supportDeptCd", supportDeptCd); param.Add("pid", pid); param.Add("patientState", patientState); param.Add("isMainD", isMainD); param.Add("mainDrId", mainDrId); result = (List) dac.GetPatList(this.IbatisMapper, param); } return result; } catch (Exception ex) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetInPatList error: {0}", ex.Message)); throw ex; } } ///// ///// 입원탭 환자리스트 조회 ///// ///// 조회일자 ex)20160623 ///// 진료과 및 집도과 ex) 빈값은 전체 ///// 진료의 또는 주치의 또는 집도의 ex) 빈값은 전체 ///// 환자등록번호 ex) 빈값은 전체 ///// 병동 코드 ex) 3041400000 ///// 환자 상태구분 (외래 : 진료구분, 입원 : 구분, 수술 : 수술상태, 응급 : 재원구분, 환자찾기 : ID인지 이름인지) ex)빈값은 전체 ///// ///// 근무지기관코드 ///// 로그인 사용자 ID ///// 내환자 검색 checkbox value, 내환자 검색의 경우 pid 파라미터는 null 로 보내야 한다.ex) Y, N //[WebMethod(Description = "입원탭 환자리스트 조회")] //public List GetInPatList(String srchdd, String orddeptcd, String doctorid, String pid, String wardcd, String patstat, String jobkindcd, String dutinstcd, String userId, String myPatient, String drKind) { // List result; // try { // using (PatListDac dac = new PatListDac()) { // var myPatValue = myPatient ?? "N"; // var userIdValue = userId ?? ""; // // 내환자 검색일 경우 입력된 환자 번호를 무시하도록 설정 // if (myPatValue == "Y") { // pid = ""; // } // //CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetCategoryForDropdown error: {0}", srchdd)); // Hashtable param = new Hashtable { // { "instcd", dutinstcd }, // { "srchdd", srchdd }, // { "orddeptcd", orddeptcd }, // { "wardcd", wardcd }, // { "patstat", patstat }, // { "pid", pid }, // { "doctorid", doctorid }, // { "selectflag", "I" }, // { "userid", userIdValue }, // { "myPatient", myPatValue }, // { "srchYN", "N" }, // { "drKind", drKind } // }; // result = (List) dac.GetPatList(this.IbatisMapper, param); // } // return result; // } catch (Exception ex) { // CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetInPatList error: {0}", ex.Message)); // throw ex; // } //} ///// ///// 외래탭 환자리스트 조회 ///// ///// 조회일자 ex)20160628 orddd ///// 진료과 및 집도과 ex)빈값은 전체, 2010400000 ///// 진료의 또는 주치의 또는 집도의 ex)빈값은 전체, 104796 orddrid ///// 환자등록번호 ex)빈값은 전체 ///// 환자 상태구분 (외래 : 진료구분, 입원 : 구분, 수술 : 수술상태, 응급 : 재원구분, 환자찾기 : ID인지 이름인지) 빈값은 전체 ///// 근무지기관코드 ///// 외래 환자 리스트 //[WebMethod(Description = "외래탭 환자리스트 조회")] //public List GetOutPatList(String srchdd, String orddeptcd, String doctorid, String pid, String patstat, String dutinstcd) { // List result = null; // try { // using (PatListDac dac = new PatListDac()) { // Hashtable param = new Hashtable { // { "instcd", dutinstcd }, // { "srchdd", srchdd }, // { "orddeptcd", orddeptcd }, // { "orddrid", doctorid }, // { "pid", pid }, // { "patstat", patstat }, // { "selectflag", "O" }, // { "srchYN", "N" } // }; // result = (List) dac.GetPatList(this.IbatisMapper, param); // } // return result; // } catch (Exception ex) { // CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetOutPatList error: {0}", ex.Message)); // throw ex; // } //} ///// ///// 수술탭 환자리스트 조회 ///// ///// 조회일자 ex)20160623 ///// 진료과 및 집도과 ex)빈값은 전체 ///// 진료의 또는 주치의 또는 집도의 ex)빈값은 전체 ///// 환자등록번호 ex)빈값은 전체 ///// 환자 상태구분 (외래 : 진료구분, 입원 : 구분, 수술 : 수술상태, 응급 : 재원구분, 환자찾기 : ID인지 이름인지) ex)A ///// 근무지기관코드 ///// //[WebMethod(Description = "수술탭 환자리스트 조회")] //public List GetOpPatList(String srchdd, String orddeptcd, String doctorid, String pid, String patstat, String dutinstcd) { // List result; // try { // using (PatListDac dac = new PatListDac()) { // Hashtable param = new Hashtable { // { "instcd", dutinstcd }, // { "srchdd", srchdd }, // { "opstatcd", patstat }, // { "orddeptcd", orddeptcd }, // { "orddrid", doctorid }, // { "pid", pid }, // { "selectflag", "OP" }, // { "srchYN", "N" } // }; // result = (List) dac.GetPatList(this.IbatisMapper, param); // } // return result; // } catch (Exception ex) { // CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetOpPatList error: {0}", ex.Message)); // throw ex; // } //} ///// ///// 응급탭 환자 리스트 조회 ///// ///// 조회일자 ex) 20160623 ///// 진료과 및 집도과 ex)빈값은 전체 ///// 진료의 또는 주치의 또는 집도의 ex)빈값은 전체 ///// 환자등록번호 ex)빈값은 전체 ///// 환자 상태구분 (외래 : 진료구분, 입원 : 구분, 수술 : 수술상태, 응급 : 재원구분, 환자찾기 : ID인지 이름인지) ex)빈값은 전체 ///// 직무의 종류와 담당분야가 동일한 직무의군 코드값 아직 정의 되지 않았음. 예)영양직, 의무정보직, 임상병리직' ///// 근무지기관코드 ///// //[WebMethod(Description = "응급탭 환자 리스트 조회")] //public List GetErPatList(String srchdd, String orddeptcd, String doctorid, String pid, String patstat, String jobkindcd, String dutinstcd, String drKind) { // List result; // try { // using (PatListDac dac = new PatListDac()) { // Hashtable param = new Hashtable { // { "instcd", dutinstcd }, // { "srchdd", srchdd }, // { "orddeptcd", orddeptcd }, // { "orddrid", doctorid }, // { "patstat", patstat }, // { "pid", pid }, // { "selectflag", "ER" }, // { "srchYN", "N" }, // { "drKind", drKind } // }; // result = (List) dac.GetPatList(this.IbatisMapper, param); // } // return result; // } catch (Exception ex) { // CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetErPatList error: {0}", ex.Message)); // throw ex; // } //} ///// ///// 환자검색 조회 기능 ///// ///// 조회일자 ex)20160623 ///// 진료과 및 집도과 ex)빈값은 전체 ///// 진료의 또는 주치의 또는 집도의 ex)빈값은 전체 ///// 환자등록번호 ex)빈값은 전체 ///// 외래 O / 입원 I / 응급 ER ///// 근무지기관코드 ///// 로그인 사용자 ID ///// 내환자 검색 checkbox value, 내환자 검색의 경우 pid 파라미터는 null 로 보내야 한다.ex) Y, N ///// //[WebMethod(Description = "환자검색 조회 기능")] //public List GetSrPatList(String srchdd, String orddeptcd, String doctorid, String pid, String ordtype, String dutinstcd, String userId, String myPatient) { // List result; // try { // using (PatListDac dac = new PatListDac()) { // var myPatValue = myPatient ?? "N"; // var userIdValue = userId ?? ""; // // 내환자 검색일 경우 입력된 환자 번호를 무시하도록 설정 // if (myPatValue == "Y") { // pid = ""; // } // Hashtable param = new Hashtable { // { "instcd", dutinstcd }, // { "srchdd", srchdd }, // { "orddeptcd", orddeptcd }, // { "wardcd", "" }, // { "medispclid", doctorid }, // { "orddrid", doctorid }, // { "pid", pid }, // { "opstatcd", "A" }, // { "selectflag", ordtype }, // { "patstat", "0" }, // { "myPatient", myPatValue }, // { "userId", userIdValue }, // { "srchYN", "Y" } // }; // result = (List) dac.GetPatList(this.IbatisMapper, param); // } // return result; // } catch (Exception ex) { // CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetSrPatList error: {0}", ex.Message)); // throw ex; // } //} /// /// 환자리스트 조회조건 중 진료과 리스트 없어질꺼(앱 수정하면 지워!) /// /// 내원 종류 ( 탭 종류 ) 외래 : O , 입원 : I , 수술 : OP, 응급 : ER, 환자검색 : S /// 근무지기관코드 [WebMethod(Description = "환자리스트 조회조건 중 진료과 리스트")] public List GetDeptList(String ordType, String dutInstCd) { List result; try { using (PatListDac dac = new PatListDac()) { Hashtable param = new Hashtable(); if (dutInstCd == null) { dutInstCd = "101"; } param.Add("instCd", dutInstCd); param.Add("ordType", ordType); result = (List) dac.GetDeptList(this.IbatisMapper, param); result.Insert(0, new DeptListVO("", "진료과(전체)", "")); } return result; } catch (Exception ex) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetDeptList error: {0}", ex.Message)); throw ex; } } /// /// 환자리스트 조회조건 중 진료과 리스트 진짜 사용할꺼 /// /// 내원 종류 ( 탭 종류 ) 외래 : O , 입원 : I , 수술 : OP, 응급 : ER, 환자검색 : S /// 근무지기관코드 [WebMethod(Description = "환자리스트 조회조건 중 진료과 리스트")] public List GetOrgDeptList(String ordType, String dutInstCd) { List result; try { using (PatListDac dac = new PatListDac()) { Hashtable param = new Hashtable(); if (dutInstCd == null) { dutInstCd = "101"; } param.Add("instCd", dutInstCd); param.Add("ordType", ordType); result = (List) dac.GetDeptList(this.IbatisMapper, param); result.Insert(0, new DeptListVO("", "진료과(전체)", "")); result.Add(new DeptListVO("2330000000", "종합검진", "")); result.Add(new DeptListVO("2340000000", "일반검진", "")); } return result; } catch (Exception ex) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetDeptList error: {0}", ex.Message)); throw ex; } } /// /// 환자리스트 조회조건 중 병동 조회 /// /// 근무지기관코드 /// [WebMethod(Description = "환자리스트 조회조건 중 병동 조회")] public List GetWardList(String dutInstCd) { List result; try { using (PatListDac dac = new PatListDac()) { Hashtable param = new Hashtable(); param.Add("instCd", dutInstCd); result = (List) dac.GetWardList(this.IbatisMapper, param); result.Insert(0, new DeptListVO("", "병동(전체)", "")); } return result; } catch (Exception ex) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetWardList error: {0}", ex.Message)); throw ex; } } /// /// 환자리스트 조회조건 의사 조회 /// /// 조회 일자 20190822 /// 진료과 코드 (소화기내과 : 2010000000) /// 근무지기관코드 101 /// [WebMethod(Description = "환자리스트 조회조건 중 의사 조회")] public List GetDoctorList(String srchDd, String ordDeptCd, String dutInstCd) { List result; try { using (PatListDac dac = new PatListDac()) { Hashtable param = new Hashtable(); param.Add("srchDd", srchDd); param.Add("ordDeptCd", ordDeptCd); param.Add("instCd", dutInstCd); result = (List) dac.GetDocList(this.IbatisMapper, param); result.Insert(0, new DocListVO("", "진료의(전체)", "")); } return result; } catch (Exception ex) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetDoctorList error: {0}", ex.Message)); throw ex; } } /// /// 검사 지원부서 설정 목록 /// /// [WebMethod(Description = "검사 지원부서 설정 목록")] public List GetSupportDeptList() { List result; try { using (PatListDac dac = new PatListDac()) { Hashtable param = new Hashtable(); result = (List)dac.GetSupportDeptList(this.IbatisMapper, param); } return result; } catch (Exception ex) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetSupportDeptList error: {0}", ex.Message)); throw ex; } } [WebMethod(Description = "검사 지원부서 설정 목록")] public List GetInspectingRoomName(string deptCd) { List result; try { using (PatListDac dac = new PatListDac()) { Hashtable param = new Hashtable(); param.Add("deptCd", deptCd); result = (List) dac.GetInspectingRoomName(this.IbatisMapper, param); } return result; } catch (Exception ex) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetInspectingRoomName error: {0}", ex.Message)); throw ex; } } /// /// 환자리스트 조회조건 중 환자 검색 팝업 /// /// 조회 구분( 1: 등록번호, 2: 환자명, 3: 주민번호, 4: 환자명+주민번호) /// 환자 등록번호 ex) 2234596 /// 환자이름 ex) 오재은 /// 주민번호 앞자리 ex) 891117 /// 주민번호 뒷자리 ex) 1682813 /// 근무지기관코드 /// [WebMethod(Description = "환자리스트 조회조건 중 환자 검색 팝업")] public List GetSrchPatInfo(String srchcond, String pid, String hngnm, String rrgstno1, String rrgstno2, String dutinstcd) { List result; try { using (PatListDac dac = new PatListDac()) { Hashtable param = new Hashtable(); param.Add("instcd", dutinstcd); param.Add("srchcond", srchcond); param.Add("pid", pid); param.Add("hngnm", hngnm); param.Add("rrgstno1", rrgstno1); param.Add("rrgstno2", rrgstno2); result = (List) dac.GetSrchPatInfo(this.IbatisMapper, param); } return result; } catch (Exception ex) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetSrchPatInfo error: {0}", ex.Message)); throw ex; } } /// /// 환자 선택시 수진일자별 진단 데이터 조회. /// 입원일때 한 수진에 수술이 여러개일 경우 집도과로 체크 /// 외래일때 당일 수진이 여러개일경우 진료과로 체크 /// /// 환자 등록번호 ex) 2234596 , 2270516 /// 외래 : 진료일, 입원: 입원일 ex) 20160205 , 20151201 /// 내원 구분 (I: 입원, E: 응급, O: 외래 OP : 수술) /// 진료과(입원인경우 집도과 코드를 외래인 경우 진료과 코드 입력) /// 생성번호 /// 근무지기관코드 /// 수술예약번호 /// [WebMethod(Description = "환자 선택시 수진일자별 진단 데이터 조회")] public List GetPatientInfo(String pid, String ordDd, String ordType, String ordDeptCd, String cretNo, String dutInstCd, String opRsrvNo) { List result; try { opRsrvNo = opRsrvNo ?? ""; using (PatientDac dac = new PatientDac()) { Hashtable param = new Hashtable { { "instCd", dutInstCd }, { "ordDd", ordDd }, { "pid", pid }, { "ordType", ordType }, { "ordDeptCd", ordDeptCd }, { "cretNo", cretNo }, { "opRsrvNo", opRsrvNo } }; result = (List) dac.GetPatientInfo(this.IbatisMapper, param); } return result; } catch (Exception ex) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetPatientInfo error: {0}", ex.Message)); throw ex; } } /// /// 사용자 즐겨찾기 추가 /// /// 사용자 아이디 107810 /// 서식코드 /// 근무지기관코드 /// 오늘 날짜 [WebMethod(Description = "사용자 즐겨찾기 추가")] public SingleReturnData SetUserFormSetList(string userId, string formCd, string dutInstCd, string toDay) { SingleReturnData result = new SingleReturnData(); int res = 0; try { using (UserDac dac = new UserDac()) { Hashtable param = new Hashtable(); param.Add("instCd", dutInstCd); param.Add("userId", userId); param.Add("formCd", formCd); param.Add("toDay", toDay); int count = dac.GetUserFormCode(this.IbatisMapper, param); CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error("count"); CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(count); if (count > 0) { result.responseData = "0"; } else { res = dac.SetUserFormSet(this.IbatisMapper, param); } } } catch (Exception ex) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm SetUserFormSetList error: {0}", ex.Message)); throw ex; } return result; } /// /// 사용자 즐겨찾기 삭제 /// /// 즐겨찾기에 추가된 동의서 고유번호 /// 사용자 아이디 107810 /// 서식코드 /// 근무지기관코드 [WebMethod(Description = "사용자 즐겨찾기 삭제")] public SingleReturnData DelUserFormSetList(String idx, String userId, String formCd, String dutInstCd) { SingleReturnData result = new SingleReturnData(); int res = 0; try { using (UserDac dac = new UserDac()) { Hashtable param = new Hashtable(); param.Add("idx", idx); param.Add("instCd", dutInstCd); param.Add("userId", userId); param.Add("formCd", formCd); dac.DelUserFormSet(this.IbatisMapper, param); //if (cendbHelper.GetSqlMapper().DataSource.Name == "DCUMCHospitalDB") { // res = dac.DelUserFormSet(this.IbatisMapper, param); // result.responseData = Convert.ToString(res); //} else { // res = dac.DelUserFormSet(this.cendbMapper, param); // result.responseData = Convert.ToString(res); //} } } catch (Exception ex) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm DelUserFormSetList error: {0}", ex.Message)); throw ex; } return result; } /// /// OCRTAG 할당 /// /// [WebMethod(Description = "OCRTAG 할당")] public SingleReturnData GetOcrTag() { SingleReturnData result = new SingleReturnData(); try { using (PatientDac dac = new PatientDac()) { Hashtable param = new Hashtable(); String res = dac.GetOcrTag(this.IbatisMapper, param); result.responseData = res; } } catch (Exception ex) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetOcrTag error: {0}", ex.Message)); throw ex; } return result; } /// /// 사용자의 서명이미지 조회 /// /// 사용자 아이디 103043 /// 근무지기관코드 [WebMethod(Description = "사용자의 서명이미지 조회")] public UserSignImageVO GetSignImage(string userId, string instCd) { try { string base64stringimg = string.Empty; UserSignImageVO vo = null; using (UserDac dac = new UserDac()) { Hashtable param = new Hashtable(); param.Add("userId", userId); param.Add("instCd", instCd); IList vos = dac.GetUserSignImage(this.IbatisMapper, param); foreach (UserSignImageVO item in vos) { vo = item; break; } } CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Debug("vo -- > " + vo); if (vo == null) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Debug("!!!!!!!!!!!!"); vo = new UserSignImageVO(); vo.SignImage = new byte[0]; } return vo; } catch (Exception ex) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetSignImage error: {0}", ex.Message)); throw ex; } } /// /// 주,부 진단명 리스트 조회(진단명 팝업) /// /// 등록번호 /// 진료일, 입원일 /// 근무지기관코드 [WebMethod(Description = "주,부 진단명 리스트 조회(진단명 팝업)")] public List GetDiagNameList(String pid, String orddd, String dutinstcd) { List result; try { using (PatientDac dac = new PatientDac()) { Hashtable param = new Hashtable(); if (dutinstcd == null) { dutinstcd = "031"; } param.Add("instcd", dutinstcd); param.Add("orddd", orddd); param.Add("pid", pid); result = (List) dac.GetDiagList(this.IbatisMapper, param); } return result; } catch (Exception ex) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetDiagNameList error: {0}", ex.Message)); throw ex; } } public List getOpNameList(String pid, string dutinstcd) { List result = null; try { //using (OperationNameDAC opDac = new OperationNameDAC()) { Hashtable args = new Hashtable(); //Hashtable param = new Hashtable(); args.Add("pid", pid); args.Add("dutinstcd", dutinstcd); //result = (List)opDac.getOpNameList(this.IbatisMapper, args); } return result; } catch (Exception e) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm getOpNameList error: {0}", e.Message)); throw e; } } /// /// 파일이름 조회 /// /// 등록번호 1640515 /// 내원구분 I /// 내월일자 20151130 /// 퇴원일자 99991231 /// 이력번호 1 /// 파일크기 없어도됨 /// 서식코드 1300010289 /// 페이지번호 6 /// OCR코드 2016071989074 /// 사용자아이디 105042 /// 근무지기관코드 [WebMethod(Description = "파일이름 조회")] public string GetFileName(string pid, string ordtype, string orddd, string dschdd, string cretno, string filesize, string formcd, string pageno, string ocrtag, string userid, string orddeptcd, string dutinstcd) { try { using (PatientDac dac = new PatientDac()) { Hashtable param = new Hashtable(); param.Add("instcd", dutinstcd); param.Add("pid", pid); param.Add("ordtype", ordtype); param.Add("orddd", orddd); param.Add("dschdd", dschdd); param.Add("cretno", cretno); param.Add("filesize", filesize); param.Add("formcd", formcd); param.Add("pageno", pageno); param.Add("ocrtag", ocrtag); param.Add("userid", userid); param.Add("orddeptcd", orddeptcd); //return dac.GetFileName(this.IbatisMapper, param); } } catch (Exception ex) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetFileName error: {0}", ex.Message)); throw ex; } return ""; } /// /// setFileName으로 등록된 데이터 삭제하는 로직 /// /// 등록번호 1640515 /// 내원구분 I /// 내월일자 20151130 /// 퇴원일자 99991231 /// 이력번호 1 /// 서식코드 1300010289 /// OCR코드 2016071989074 /// 사용자아이디 105042 /// 사용자명 홍길동 /// 동의서 생성 아이디 1573 /// 병원구분 111 /// 진료과 코드 /// 근무지기관코드 [WebMethod(Description = "setFileName으로 등록된 데이터 삭제하는 함수")] public void delEformData(string pid, string ordtype, string orddd, string dschdd, string cretno, string formcd, string ocrtag, string userid, string username, string consentmstrid, string hostype, string orddeptcd, string dutinstcd) { try { using (PatientDac dac = new PatientDac()) { Hashtable param = new Hashtable(); param.Add("instcd", dutinstcd); param.Add("pid", pid); param.Add("ordtype", ordtype); param.Add("orddd", orddd); param.Add("dschdd", dschdd); param.Add("cretno", cretno); param.Add("formcd", formcd); param.Add("ocrtag", ocrtag); param.Add("userid", userid); param.Add("username", username); param.Add("consentmstrid", consentmstrid); param.Add("hostype", hostype); param.Add("orddeptcd", orddeptcd); dac.delEformData(this.IbatisMapper, param); } } catch (Exception ex) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm delEformData error: {0}", ex.Message)); throw ex; } } /// /// 모바일 Default Tap(외래, 입원..) 설정 /// /// 사용자 아이디 /// 외래 O 입원 I 응급 E 수술 P /// 근무지기관코드 [WebMethod(Description = "모바일 Default Tap(외래, 입원..) 설정")] public SingleReturnData UpdateUserSetup(string userId, string status, string instCd) { SingleReturnData result = new SingleReturnData(); int rts = 1; try { using (PatientDac dac = new PatientDac()) { Hashtable param = new Hashtable(); param.Add("userId", userId); param.Add("status", status); param.Add("instCd", instCd); rts = dac.UpdateUserSetup(this.IbatisMapper, param); result.responseData = Convert.ToString(rts); } } catch (Exception ex) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm UpdateUserSetup error: {0}", ex.Message)); //throw ex; } return result; } ///// ///// 모바일 주치의별 미작성 리스트 가져오기 ///// ///// 사용자 아이디 ///// 동의서 상태(UNFINISHED, TEMP ....) ///// ///// ///// 근무지기관코드 ///// //[WebMethod(Description = "모바일 주치의별 미작성 리스트 가져오기")] //public List GetUnfinishedListPerDoctor(string userid, string status, string fromdd, string todd, string dutinstcd) { // try { // using (ConsentDac dac = new ConsentDac()) { // Hashtable param = new Hashtable { // { "userid", userid }, // { "status", status }, // { "fromdd", fromdd }, // { "todd", todd }, // { "instcd", dutinstcd } // }; // return (List) dac.GetUnfinishedListPerDoctor(this.IbatisMapper, param); // } // } catch (Exception ex) { // CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetUnfinishedListPerDoctor error: {0}", ex.Message)); // throw ex; // } //} /// /// 모바일 사용자 로그인 API /// /// 사용자 아이디 /// sha256 encrypt password /// md5 encrypt password /// 근무지기관코드 /// 인증서로그인 여부 /// //[WebMethod(Description = "모바일 사용자 로그인 API")] //public List doLogin(string userId, string sha256EncPw, string md5EncPw, string dutInstCd, string certSucc) { // MobileLoginResult result; // string password = ""; // try { // using (UserDac dac = new UserDac()) { // Hashtable param = new Hashtable(); // int n; // if (!int.TryParse(userId, out n)) { // userId = userId.ToUpper(); // } // param.Add("userId", userId); // result = dac.doLogin(this.IbatisMapper, param); // if (result == null) { // return null; // } // if(result.pwd.Length == 64) { // // sha256 아이디 + 비밀번호 비교 // password = sha256EncPw; // } else { // // md5 비밀번호만 // password = md5EncPw; // } // if (certSucc == "false") { // if (result.pwd != password) { // int updateCnt = dac.updateLoginFailCount(this.IbatisMapper, param); // if (updateCnt > 0) { // int failCnt = dac.getLoginFailCount(this.IbatisMapper, param); // if (failCnt == 3) { // // 사용자정보 또는 암호가 일치하지 않습니다 (3회) \n7회 오류발생시 10분간 로그인이 제한됩니다. // } else if (failCnt == 4) { // // 사용자정보 또는 암호가 일치하지 않습니다 (4회) \n7회 오류발생시 10분간 로그인이 제한됩니다. // } else if (failCnt == 5) { // // 사용자정보 또는 암호가 일치하지 않습니다 (5회) \n7회 오류발생시 10분간 로그인이 제한됩니다. // } else if (failCnt == 6) { // // 사용자정보 또는 암호가 일치하지 않습니다 (6회) \n7회 오류발생시 10분간 로그인이 제한됩니다. // } else if (failCnt == 7) { // // 사용자정보 또는 로그인 비밀번호 오류(연속 7회)로 인하여 10분동안 로그인이 제한됩니다 \n잠시 후 다시 로그인을 시도하십시오. // } // } // return null; // } // } // //개발 서버 : DEV101 // //운영 서버 : EMR101 // //string sysCd = "DEV101"; // string sysCd = "EMR101"; // Hashtable param2 = new Hashtable(); // param2.Add("userId", result.userId); // param2.Add("sysCd", sysCd); // return (List) dac.getUserdeptList(this.IbatisMapper, param2); // } // } catch (Exception e) { // CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm doLogin ERROR : {0}", e.ToString())); // throw e; // } //} [WebMethod(Description = "모바일 사용자 로그인 API")] public SingleReturnData doLogin(string userId, string sha256EncPw, string md5EncPw, string dutInstCd, string certFlag, string certSuccess) { SingleReturnData mResult = new SingleReturnData(); MobileLoginResult result; string password = ""; try { using (UserDac dac = new UserDac()) { Hashtable param = new Hashtable(); int n; if (!int.TryParse(userId, out n)) { userId = userId.ToUpper(); } param.Add("userId", userId); result = dac.doLogin(this.IbatisMapper, param); if (result == null) { return null; } if (result.pwd.Length == 64) { // sha256 아이디 + 비밀번호 비교 password = sha256EncPw; } else { // md5 비밀번호만 password = md5EncPw; } if (certFlag == "false") { if (result.pwd != password) { mResult.responseData = Convert.ToString(loginFailCount(userId)); } else { string expiryYn = dac.checkUserPwdValidTerm(this.IbatisMapper, param); if (expiryYn.Equals("Y")) { mResult.responseData = "overDate"; } else { mResult.responseData = "success"; } } } else { if (certSuccess == "N") { mResult.responseData = Convert.ToString(loginFailCount(userId)); } else { string expiryYn = dac.checkUserPwdValidTerm(this.IbatisMapper, param); if (expiryYn.Equals("Y")) { mResult.responseData = "overDate"; } else { mResult.responseData = "success"; } //mResult.responseData = "success"; } } } } catch (Exception e) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm doLogin ERROR : {0}", e.ToString())); throw e; } return mResult; } /// /// 로그인 실패 카운트 /// /// /// private int loginFailCount(string userId) { int failCnt = 0; try { using (UserDac dac = new UserDac()) { Hashtable param = new Hashtable(); param.Add("userId", userId.ToUpper()); //int updateCnt = dac.updateLoginFailCount(this.IbatisMapper, param); failCnt = dac.getLoginFailCount(this.IbatisMapper, param); dac.updateLoginFailCount(this.IbatisMapper, param); failCnt = dac.getLoginFailCount(this.IbatisMapper, param); //if (failCnt == 3) { // // 사용자정보 또는 암호가 일치하지 않습니다 (3회) \n7회 오류발생시 10분간 로그인이 제한됩니다. //} else if (failCnt == 4) { // // 사용자정보 또는 암호가 일치하지 않습니다 (4회) \n7회 오류발생시 10분간 로그인이 제한됩니다. //} else if (failCnt == 5) { // // 사용자정보 또는 암호가 일치하지 않습니다 (5회) \n7회 오류발생시 10분간 로그인이 제한됩니다. //} else if (failCnt == 6) { // // 사용자정보 또는 암호가 일치하지 않습니다 (6회) \n7회 오류발생시 10분간 로그인이 제한됩니다. //} else if (failCnt == 7) { // // 사용자정보 또는 로그인 비밀번호 오류(연속 7회)로 인하여 10분동안 로그인이 제한됩니다 \n잠시 후 다시 로그인을 시도하십시오. //} } } catch(Exception e) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm doLogin ERROR : {0}", e.ToString())); throw e; } return failCnt; } [WebMethod(Description = "모바일 사용자 로그인 성공시 부서 리스트 및 사용자 정보를 가져온다")] public List getUserInfoDeptList(string userId) { try { using (UserDac dac = new UserDac()) { string sysCd = "EMR101"; Hashtable param2 = new Hashtable(); param2.Add("userId", userId.ToUpper()); param2.Add("sysCd", sysCd); return (List) dac.getUserdeptList(this.IbatisMapper, param2); } } catch (Exception e) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm getUserInfoDeptList ERROR : {0}", e.ToString())); throw e; } } [WebMethod(Description = "중복로그인 체크를 위한 사용자 세션")] public SingleReturnData checkedUserSession(string userId, string ipAddr, string macAddr) { SingleReturnData result = new SingleReturnData(); try { using (UserDac dac = new UserDac()) { Hashtable param = new Hashtable(); param.Add("userId", userId.ToUpper()); param.Add("ipAddr", ipAddr); param.Add("macAddr", macAddr); result.responseData = dac.checkedSession(this.IbatisMapper, param); if (result.responseData.Equals("")) { result.responseData = "N"; } if (result.responseData.Equals("Y")) { result.responseData = dac.checkedSession2(this.IbatisMapper, param); } dac.insertUpdateSession(this.IbatisMapper, param); } } catch (Exception e) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm checkedUserSession ERROR : {0}", e.ToString())); throw e; } return result; } /// /// 중복 로그인 세션 해제 /// /// 사용자 아이디 /// 문자열로 true이면 관리자가 해제 [WebMethod(Description = "중복 로그인 세션 해제")] public Boolean removeSession(string userId, string adaminFlag) { Boolean result = false; try { using (UserDac dac = new UserDac()) { adaminFlag = adaminFlag ?? "false"; Hashtable param = new Hashtable(); param.Add("userId", userId.ToUpper()); param.Add("adminFlag", adaminFlag); int rts = dac.removeSession(this.IbatisMapper, param); if (rts > 0) { result = true; } else { result = false; } } } catch (Exception e) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm removeSession ERROR : {0}", e.ToString())); throw e; } return result; } /// /// 사용자 로그인, 로그아웃 로그 /// /// 사용자 아이디 /// 로그인 성공(CERT_LOGIN, LOGIN), 실패(CERT_FAIL, FAIL), 로그아웃(LOGOFF) 상태 /// 모바일(MOBILE), PC(PC) 구분 /// 사용자 단말 고유 정보 /// [WebMethod(Description = "사용자 로그인, 로그아웃 로그")] public void userLoginOutLog(string userId, string loginStatus, string deviceType, string macAddress) { try { using (UserDac dac = new UserDac()) { Hashtable param = new Hashtable(); param.Add("userId", userId); param.Add("loginStatus", loginStatus); param.Add("deviceType", deviceType); param.Add("macAddress", macAddress); dac.userLoginOutLog(this.IbatisMapper, param); } } catch (Exception ex) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm userLoginOutLog ERROR : {0}", ex.ToString())); throw ex; } } /// /// 모바일 사용자 정보요청 API /// /// /// /// /// [WebMethod(Description = "모바일 사용자 정보요청 API")] public MobileUserInfo GetMobileUserInfo(string userid, string dutplceinstcd, string dutplcecd) { MobileUserInfo result = null; try { using (UserDac dac = new UserDac()) { Hashtable param = new Hashtable(); param.Add("userid", userid); param.Add("dutplceinstcd", dutplceinstcd); param.Add("dutplcecd", dutplcecd); result = dac.getMobileUserInfo(this.IbatisMapper, param); } return result; } catch (Exception e) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetMobileUserInfo ERROR : {0}", e.ToString())); throw e; } } [WebMethod(Description = "사용자별 지원부서 설정 저장")] public string getUserPrefMonitor(string userId, string instcd) { string monitorNo = string.Empty; try { using(UserDac dac = new UserDac()) { Hashtable param = new Hashtable(); param.Add("userid", userId); monitorNo = dac.getUserPrefMonitor(this.IbatisMapper, param); } } catch (Exception e) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm getUserPrefMonitor ERROR : {0}", e.ToString())); } return monitorNo; } [WebMethod(Description = "사용자별 지원부서 설정 저장")] public SingleReturnData SetSupportUserData(string userId, string baseCd, string supportDeptCd, string supportDeptNm, string macAddress) { SingleReturnData result = new SingleReturnData(); string rts = ""; try { using (UserDac dac = new UserDac()) { Hashtable param = new Hashtable(); param.Add("userId", userId); param.Add("supportDeptCd", supportDeptCd); param.Add("supportDeptNm", supportDeptNm); param.Add("macAddress", macAddress); param.Add("baseCd", baseCd); rts = dac.SetSupportUserData(this.IbatisMapper, param); result.responseData = rts; } } catch (Exception ex) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm SetSupportUserData ERROR : {0}", ex.ToString())); } return result; } [WebMethod(Description = "사용자별 활성화 듀얼모니터 설정 저장")] public SingleReturnData SetUserPrefMonitor(string userId, string monitorNo) { SingleReturnData result = new SingleReturnData(); try { using (UserDac dac = new UserDac()) { Hashtable param = new Hashtable(); param.Add("userId", userId); param.Add("monitorNo", monitorNo); var resultStr = dac.SetUserPrefMonitor(this.IbatisMapper, param); result.responseData = resultStr; } } catch (Exception e) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm SetUserPrefMonitor ERROR : {0}", e.ToString())); } return result; } [WebMethod(Description = "로그아웃 세션 타임 반환")] public string getSessionTime(string instcd) { string sessionTime = "30"; try { using(UserDac dac = new UserDac()) { Hashtable param = new Hashtable(); sessionTime = dac.getSessionTime(this.IbatisMapper, param); } }catch(Exception e) { CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm getSessionTime ERROR : {0}", e.ToString())); } return sessionTime; } } }