HospitalSvc.asmx.cs.svn-base 63 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551
  1. #region Copyright © 2015 CLIPSOFT Co.,Ltd. All Rights Reserved.
  2. //
  3. // All rights are reserved. Reproduction or transmission in whole or in part,
  4. // in any form or by any means, electronic, mechanical or otherwise, is
  5. // prohibited without the prior written consent of the copyright owner.
  6. //
  7. // Filename: ConsentSvc.asmx.cs
  8. //
  9. #endregion
  10. using System;
  11. using System.Collections.Generic;
  12. using System.Web.Services;
  13. using System.Collections;
  14. using IBatisNet.DataMapper;
  15. using CLIP.eForm.Server.Data;
  16. using CLIP.eForm.Consent.Entity;
  17. using CLIP.eForm.Consent.Dac;
  18. using System.IO;
  19. using System.Drawing;
  20. using System.Text;
  21. using System.Linq;
  22. namespace CLIP.eForm.Consent.WebService {
  23. /// <summary>
  24. /// Class description
  25. /// </summary>
  26. /// <remarks>
  27. /// <p>[설계자]</p>
  28. /// <p> 클립소프트 연구소 홍지철 (jchong@clipsoft.co.kr)</p>
  29. /// <p>[원본 작성자]</p>
  30. /// <p> 클립소프트 기술부 이인희</p>
  31. /// <p>[수정 작성자]</p>
  32. /// <p> 파티마병원 정보지원과 오재은</p>
  33. /// <p>----------------------------------------------------------------------------------------</p>
  34. /// <p>[HISTORY]</p>
  35. /// <p> 2016-06-15 : 최초작성</p>
  36. /// <p>----------------------------------------------------------------------------------------</p>
  37. /// </remarks>
  38. /// <summary>
  39. /// HospitalSvc 요약 설명입니다.
  40. /// </summary>
  41. [WebService(Namespace = "http://tempuri.org/")]
  42. [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
  43. [System.ComponentModel.ToolboxItem(false)]
  44. // ASP.NET AJAX를 사용하여 스크립트에서 이 웹 서비스를 호출하려면 다음 줄의 주석 처리를 제거합니다.
  45. // [System.Web.Script.Services.ScriptService]
  46. public class HospitalSvc : System.Web.Services.WebService {
  47. private IBatisHelper _ibatisHelper;
  48. //private IBatisHelper cendbHelper;
  49. public HospitalSvc() {
  50. _ibatisHelper = new IBatisHelper("HospitalSvcOracleMap.config");
  51. //cendbHelper = new IBatisHelper("CenDBOracleMap.config");
  52. }
  53. protected override void Dispose(bool disposing) {
  54. if (IbatisSession != null && IbatisSession.Transaction != null) {
  55. IbatisSession.CommitTransaction();
  56. IbatisSession.CloseConnection();
  57. }
  58. if (IbatisMapper != null)
  59. IbatisMapper.CloseConnection();
  60. //if (cendbSession != null && cendbSession.Transaction != null) {
  61. // cendbSession.CommitTransaction();
  62. // cendbSession.CloseConnection();
  63. //}
  64. //if (cendbMapper != null) {
  65. // cendbMapper.CloseConnection();
  66. //}
  67. base.Dispose(disposing);
  68. }
  69. /// <summary>
  70. /// 현재 연결된 IBatis Connection을 반환
  71. /// </summary>
  72. public ISqlMapper IbatisMapper {
  73. get {
  74. if (_ibatisHelper == null) {
  75. return null;
  76. } else {
  77. return _ibatisHelper.GetSqlMapper();
  78. }
  79. }
  80. }
  81. //public ISqlMapper cendbMapper {
  82. // get {
  83. // if (cendbHelper == null) {
  84. // return null;
  85. // } else {
  86. // return cendbHelper.GetSqlMapper();
  87. // }
  88. // }
  89. //}
  90. /// <summary>
  91. /// 현재 연결된 ISqlMapSession 을 반환
  92. /// </summary>
  93. public ISqlMapSession IbatisSession {
  94. get {
  95. if (_ibatisHelper == null) {
  96. return null;
  97. } else {
  98. return _ibatisHelper.GetMapSession();
  99. }
  100. }
  101. }
  102. //public ISqlMapSession cendbSession {
  103. // get {
  104. // if (cendbHelper == null) {
  105. // return null;
  106. // } else {
  107. // return cendbHelper.GetMapSession();
  108. // }
  109. // }
  110. //}
  111. [WebMethod]
  112. public bool CheckWebService() {
  113. return true;
  114. }
  115. //[WebMethod]
  116. //public string checkCendbService() {
  117. // int hashCode = 0;
  118. // if (cendbHelper != null) {
  119. // hashCode = cendbHelper.GetHashCode();
  120. // }
  121. // return String.Format("result is: {0}", hashCode);
  122. //}
  123. [WebMethod]
  124. public bool CheckDatabaseConnection() {
  125. // TODO: 데이터 베이스 커넥션 테스트 호출 필요
  126. if (IbatisMapper != null) {
  127. return true;
  128. }
  129. return false;
  130. }
  131. /// <summary>
  132. /// 동의서 기본 세팅 정보
  133. /// </summary>
  134. /// <returns></returns>
  135. [WebMethod(Description = "동의서 기본 세팅 정보")]
  136. public List<SettingListVO> GetSettingData() {
  137. List<SettingListVO> result = null;
  138. try {
  139. using (UserDac dac = new UserDac()) {
  140. Hashtable param = new Hashtable();
  141. //return (List<SettingListVO>) dac.GetSettingData(IbatisMapper, param);
  142. result = (List<SettingListVO>) dac.GetSettingData(IbatisMapper, param);
  143. }
  144. } catch (Exception ex) {
  145. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetSettingData error: {0}", ex.Message));
  146. }
  147. return result;
  148. }
  149. /// <summary>
  150. /// 사용자 상세정보
  151. /// 의사의 경우 엔존번호를 반환한다
  152. /// </summary>
  153. /// <param name="userid">사용자 ID</param>
  154. /// <param name="dutinstcd">근무지기관코드</param>
  155. /// <param name="dutplcecd">근무지부서코드</param>
  156. /// <returns></returns>
  157. [WebMethod(Description = "사용자 상세정보")]
  158. public UserVO GetUserInfo(string userid, string dutinstcd, string dutplcecd) {
  159. UserVO user = new UserVO();
  160. try {
  161. using (UserDac dac = new UserDac()) {
  162. Hashtable param = new Hashtable {
  163. { "userid", userid.ToUpper() },
  164. { "dutinstcd", dutinstcd },
  165. { "dutplcecd", dutplcecd ?? "" }
  166. };
  167. user = dac.GetUserInfo(this.IbatisMapper, param);
  168. }
  169. return user;
  170. } catch (Exception ex) {
  171. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetUserInfo error: {0}", ex.Message));
  172. throw ex;
  173. }
  174. }
  175. /// <summary>
  176. /// 환자 진료일 조회
  177. /// </summary>
  178. /// <param name="patientNo">환자번호</param>
  179. /// <param name="searchClnDate">검색진료일</param>
  180. /// <param name="searchType">검색조건, (searchType == ">=" 이면 clnDate >= searchClnDate, searchType == "=" 이면 clnDate = searchClnDate) </param>
  181. /// <param name="orddeptcd">진료부서코드</param>
  182. /// <param name="dutinstcd">근무지기관코드</param>
  183. /// <returns></returns>
  184. [WebMethod(Description = "환자 진료일 조회")]
  185. public List<ClnDateForDropdownVO> GetTrmtDateList(string patientNo, string searchClnDate, string searchType, string orddeptcd
  186. , string dutinstcd, string ordType) {
  187. List<ClnDateForDropdownVO> clnDateList;
  188. try {
  189. using (PatientDac dac = new PatientDac()) {
  190. Hashtable param = new Hashtable {
  191. { "instcd", dutinstcd },
  192. { "pid", patientNo },
  193. { "searchClnDate", searchClnDate },
  194. { "searchType", searchType },
  195. { "orddeptcd", orddeptcd },
  196. { "ordType", ordType}
  197. };
  198. clnDateList = (List<ClnDateForDropdownVO>) dac.GetTrmtDateList(this.IbatisMapper, param);
  199. }
  200. return clnDateList;
  201. } catch (Exception ex) {
  202. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetTrmtDateList error: {0}", ex.Message));
  203. throw ex;
  204. }
  205. }
  206. ///<summary>
  207. /// <param name="selectFlag">조회하고자 하는 화면 타입 : 입원(I), 외래(O), 응급(ER), 수술(OP)</param>
  208. /// <param name="srchYN">검색 탭 일때 Y, 그렇지 않으면 N</param>>
  209. /// <param name="srchDd">조회일자 ex) 20190726</param>
  210. /// <param name="ordDeptCd">진료과 코드</param>
  211. /// <param name="doctorId">진료의 아이디</param>
  212. /// <param name="pid">환지 진료번호(차트번호)</param>
  213. /// <param name="wardCd">병동 코드</param>
  214. /// <param name="patientState">환자 상태</param>
  215. /// <param name="dutInstCd">근무지기관 코드</param>
  216. /// <param name="userId">로그인한 사용자 아이디</param>
  217. /// <param name="myPatient">내환자 검색 checkbox value, 내환자 검색의 경우 pid 파라미터는 null 로 보내야 한다.ex) Y, N</param>
  218. /// <param name="drKind">입원, 응급에서 진료의 선택시 진료의 구분 (A : 전공의, B : 교수)</param>
  219. [WebMethod(Description = "환자리스트 조회")]
  220. public List<PatListVO> 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) {
  221. List<PatListVO> result = null;
  222. try {
  223. using (PatListDac dac = new PatListDac()) {
  224. var myPatientFlag = myPatient ?? "N";
  225. var userIdValue = userId ?? "";
  226. var searchFlag = srchYN ?? "N";
  227. wardCd = wardCd ?? "";
  228. patientState = patientState ?? "";
  229. userId = userId ?? "";
  230. //if (myPatientFlag.Equals("Y") && !drKind.Equals("C")) {
  231. // doctorId = userId;
  232. //}
  233. //CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Debug("doctorId -- > " + doctorId);
  234. //CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Debug("userId -- > " + userId);
  235. Hashtable param = new Hashtable();
  236. param.Add("selectFlag", selectFlag);
  237. param.Add("srchYN", searchFlag);
  238. param.Add("srchDd", srchDd);
  239. param.Add("ordDeptCd", ordDeptCd);
  240. param.Add("pid", pid);
  241. param.Add("instCd", dutInstCd);
  242. param.Add("userId", userId);
  243. param.Add("drKind", drKind);
  244. param.Add("doctorId", doctorId);
  245. param.Add("patientState", patientState);
  246. if (selectFlag == "I") {
  247. param.Add("wardCd", wardCd);
  248. param.Add("myPatient", myPatientFlag);
  249. }
  250. result = (List<PatListVO>) dac.GetPatList(this.IbatisMapper, param);
  251. }
  252. return result;
  253. } catch (Exception ex) {
  254. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetInPatList error: {0}", ex.Message));
  255. throw ex;
  256. }
  257. }
  258. /// <summary>
  259. /// 검사탭 환자리스트 조회 모바일 전용
  260. /// </summary>
  261. /// <param name="selectFlag">선택한 탭의 상태값 입원 : I, 외래 : O, 응급 : ER, 수술 : OP, 검사 : EX, 검색 : S</param>
  262. /// <param name="toDt"></param>
  263. /// <param name="fromDt"></param>
  264. /// <param name="baseCd">지원부서목록</param>
  265. /// <param name="supportDeptCd">지원과</param>
  266. /// <param name="pid">환자번호</param>
  267. /// <param name="patientState"></param>
  268. /// <returns></returns>
  269. [WebMethod(Description = "검사탭 환자리스트 조회")]
  270. public List<PatListVO> GetPatientExList(String selectFlag, String toDt, String fromDt, String baseCd, String supportDeptCd, String pid, String patientState) {
  271. List<PatListVO> result = null;
  272. try {
  273. using (PatListDac dac = new PatListDac()) {
  274. Hashtable param = new Hashtable();
  275. param.Add("selectFlag", selectFlag);
  276. param.Add("toDt", toDt);
  277. param.Add("fromDt", fromDt);
  278. param.Add("baseCd", baseCd);
  279. param.Add("supportDeptCd", supportDeptCd);
  280. param.Add("pid", pid);
  281. param.Add("patientState", patientState);
  282. param.Add("deviceType", "MOBILE");
  283. result = (List<PatListVO>) dac.GetPatList(this.IbatisMapper, param);
  284. }
  285. return result;
  286. } catch (Exception ex) {
  287. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetInPatList error: {0}", ex.Message));
  288. throw ex;
  289. }
  290. }
  291. /// <summary>
  292. /// 검사탭 환자리스트 조회 모바일 전용
  293. /// </summary>
  294. /// <param name="selectFlag">선택한 탭의 상태값 입원 : I, 외래 : O, 응급 : ER, 수술 : OP, 검사 : EX, 검색 : S</param>
  295. /// <param name="toDt"></param>
  296. /// <param name="fromDt"></param>
  297. /// <param name="baseCd">지원부서목록</param>
  298. /// <param name="supportDeptCd">지원과</param>
  299. /// <param name="pid">환자번호</param>
  300. /// <param name="patientState"></param>
  301. /// <returns></returns>
  302. [WebMethod(Description = "검사탭 환자리스트 조회")]
  303. public List<PatListVO> GetPatientExListPC(String selectFlag, String toDt, String fromDt, String baseCd, String supportDeptCd, String pid, String patientState, string isMainD, string mainDrId) {
  304. List<PatListVO> result = null;
  305. try {
  306. using (PatListDac dac = new PatListDac()) {
  307. Hashtable param = new Hashtable();
  308. param.Add("selectFlag", selectFlag);
  309. param.Add("toDt", toDt);
  310. param.Add("fromDt", fromDt);
  311. param.Add("baseCd", baseCd);
  312. param.Add("supportDeptCd", supportDeptCd);
  313. param.Add("pid", pid);
  314. param.Add("patientState", patientState);
  315. param.Add("deviceType", "PC");
  316. param.Add("isMainD", isMainD);
  317. param.Add("mainDrId", mainDrId);
  318. result = (List<PatListVO>) dac.GetPatList(this.IbatisMapper, param);
  319. }
  320. return result;
  321. } catch (Exception ex) {
  322. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetInPatList error: {0}", ex.Message));
  323. throw ex;
  324. }
  325. }
  326. /// <summary>
  327. /// 검사탭 환자리스트 조회 PC 클라이언트 전용
  328. /// </summary>
  329. /// <param name="selectFlag">선택한 탭의 상태값 입원 : I, 외래 : O, 응급 : ER, 수술 : OP, 검사 : EX, 검색 : S</param>
  330. /// <param name="toDt"></param>
  331. /// <param name="fromDt"></param>
  332. /// <param name="baseCd">지원부서목록</param>
  333. /// <param name="supportDeptCd">지원과</param>
  334. /// <param name="pid">환자번호</param>
  335. /// <param name="patientState"></param>
  336. /// <returns></returns>
  337. [WebMethod(Description = "검사탭 환자리스트 조회")]
  338. public List<PatListVO> GetPatientExPCList(String selectFlag, String toDt, String fromDt, String baseCd, String supportDeptCd, String pid, String patientState, string isMainD, string mainDrId) {
  339. List<PatListVO> result = null;
  340. try {
  341. using (PatListDac dac = new PatListDac()) {
  342. Hashtable param = new Hashtable();
  343. param.Add("selectFlag", selectFlag);
  344. param.Add("toDt", toDt);
  345. param.Add("fromDt", fromDt);
  346. param.Add("baseCd", baseCd);
  347. param.Add("supportDeptCd", supportDeptCd);
  348. param.Add("pid", pid);
  349. param.Add("patientState", patientState);
  350. param.Add("isMainD", isMainD);
  351. param.Add("mainDrId", mainDrId);
  352. result = (List<PatListVO>) dac.GetPatList(this.IbatisMapper, param);
  353. }
  354. return result;
  355. } catch (Exception ex) {
  356. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetInPatList error: {0}", ex.Message));
  357. throw ex;
  358. }
  359. }
  360. ///// <summary>
  361. ///// 입원탭 환자리스트 조회
  362. ///// </summary>
  363. ///// <param name="srchdd">조회일자 ex)20160623</param>
  364. ///// <param name="orddeptcd">진료과 및 집도과 ex) 빈값은 전체</param>
  365. ///// <param name="doctorid">진료의 또는 주치의 또는 집도의 ex) 빈값은 전체</param>
  366. ///// <param name="pid">환자등록번호 ex) 빈값은 전체</param>
  367. ///// <param name="wardcd">병동 코드 ex) 3041400000</param>
  368. ///// <param name="patstat">환자 상태구분 (외래 : 진료구분, 입원 : 구분, 수술 : 수술상태, 응급 : 재원구분, 환자찾기 : ID인지 이름인지) ex)빈값은 전체</param>
  369. ///// <param name="jobkindcd"></param>
  370. ///// <param name="dutinstcd">근무지기관코드</param>
  371. ///// <param name="userId">로그인 사용자 ID</param>
  372. ///// <param name="myPatient">내환자 검색 checkbox value, 내환자 검색의 경우 pid 파라미터는 null 로 보내야 한다.ex) Y, N</param>
  373. //[WebMethod(Description = "입원탭 환자리스트 조회")]
  374. //public List<PatListVO> GetInPatList(String srchdd, String orddeptcd, String doctorid, String pid, String wardcd, String patstat, String jobkindcd, String dutinstcd, String userId, String myPatient, String drKind) {
  375. // List<PatListVO> result;
  376. // try {
  377. // using (PatListDac dac = new PatListDac()) {
  378. // var myPatValue = myPatient ?? "N";
  379. // var userIdValue = userId ?? "";
  380. // // 내환자 검색일 경우 입력된 환자 번호를 무시하도록 설정
  381. // if (myPatValue == "Y") {
  382. // pid = "";
  383. // }
  384. // //CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetCategoryForDropdown error: {0}", srchdd));
  385. // Hashtable param = new Hashtable {
  386. // { "instcd", dutinstcd },
  387. // { "srchdd", srchdd },
  388. // { "orddeptcd", orddeptcd },
  389. // { "wardcd", wardcd },
  390. // { "patstat", patstat },
  391. // { "pid", pid },
  392. // { "doctorid", doctorid },
  393. // { "selectflag", "I" },
  394. // { "userid", userIdValue },
  395. // { "myPatient", myPatValue },
  396. // { "srchYN", "N" },
  397. // { "drKind", drKind }
  398. // };
  399. // result = (List<PatListVO>) dac.GetPatList(this.IbatisMapper, param);
  400. // }
  401. // return result;
  402. // } catch (Exception ex) {
  403. // CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetInPatList error: {0}", ex.Message));
  404. // throw ex;
  405. // }
  406. //}
  407. ///// <summary>
  408. ///// 외래탭 환자리스트 조회
  409. ///// </summary>
  410. ///// <param name="srchdd">조회일자 ex)20160628 orddd</param>
  411. ///// <param name="orddeptcd">진료과 및 집도과 ex)빈값은 전체, 2010400000</param>
  412. ///// <param name="doctorid">진료의 또는 주치의 또는 집도의 ex)빈값은 전체, 104796 orddrid</param>
  413. ///// <param name="pid">환자등록번호 ex)빈값은 전체</param>
  414. ///// <param name="patstat">환자 상태구분 (외래 : 진료구분, 입원 : 구분, 수술 : 수술상태, 응급 : 재원구분, 환자찾기 : ID인지 이름인지) 빈값은 전체</param>
  415. ///// <param name="dutinstcd">근무지기관코드</param>
  416. ///// <returns>외래 환자 리스트</returns>
  417. //[WebMethod(Description = "외래탭 환자리스트 조회")]
  418. //public List<PatListVO> GetOutPatList(String srchdd, String orddeptcd, String doctorid, String pid, String patstat, String dutinstcd) {
  419. // List<PatListVO> result = null;
  420. // try {
  421. // using (PatListDac dac = new PatListDac()) {
  422. // Hashtable param = new Hashtable {
  423. // { "instcd", dutinstcd },
  424. // { "srchdd", srchdd },
  425. // { "orddeptcd", orddeptcd },
  426. // { "orddrid", doctorid },
  427. // { "pid", pid },
  428. // { "patstat", patstat },
  429. // { "selectflag", "O" },
  430. // { "srchYN", "N" }
  431. // };
  432. // result = (List<PatListVO>) dac.GetPatList(this.IbatisMapper, param);
  433. // }
  434. // return result;
  435. // } catch (Exception ex) {
  436. // CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetOutPatList error: {0}", ex.Message));
  437. // throw ex;
  438. // }
  439. //}
  440. ///// <summary>
  441. ///// 수술탭 환자리스트 조회
  442. ///// </summary>
  443. ///// <param name="srchdd">조회일자 ex)20160623</param>
  444. ///// <param name="orddeptcd">진료과 및 집도과 ex)빈값은 전체</param>
  445. ///// <param name="doctorid">진료의 또는 주치의 또는 집도의 ex)빈값은 전체</param>
  446. ///// <param name="pid">환자등록번호 ex)빈값은 전체</param>
  447. ///// <param name="patstat">환자 상태구분 (외래 : 진료구분, 입원 : 구분, 수술 : 수술상태, 응급 : 재원구분, 환자찾기 : ID인지 이름인지) ex)A</param>
  448. ///// <param name="dutinstcd">근무지기관코드</param>
  449. ///// <returns></returns>
  450. //[WebMethod(Description = "수술탭 환자리스트 조회")]
  451. //public List<PatListVO> GetOpPatList(String srchdd, String orddeptcd, String doctorid, String pid, String patstat, String dutinstcd) {
  452. // List<PatListVO> result;
  453. // try {
  454. // using (PatListDac dac = new PatListDac()) {
  455. // Hashtable param = new Hashtable {
  456. // { "instcd", dutinstcd },
  457. // { "srchdd", srchdd },
  458. // { "opstatcd", patstat },
  459. // { "orddeptcd", orddeptcd },
  460. // { "orddrid", doctorid },
  461. // { "pid", pid },
  462. // { "selectflag", "OP" },
  463. // { "srchYN", "N" }
  464. // };
  465. // result = (List<PatListVO>) dac.GetPatList(this.IbatisMapper, param);
  466. // }
  467. // return result;
  468. // } catch (Exception ex) {
  469. // CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetOpPatList error: {0}", ex.Message));
  470. // throw ex;
  471. // }
  472. //}
  473. ///// <summary>
  474. ///// 응급탭 환자 리스트 조회
  475. ///// </summary>
  476. ///// <param name="srchdd">조회일자 ex) 20160623</param>
  477. ///// <param name="orddeptcd">진료과 및 집도과 ex)빈값은 전체</param>
  478. ///// <param name="doctorid"> 진료의 또는 주치의 또는 집도의 ex)빈값은 전체</param>
  479. ///// <param name="pid">환자등록번호 ex)빈값은 전체</param>
  480. ///// <param name="patstat">환자 상태구분 (외래 : 진료구분, 입원 : 구분, 수술 : 수술상태, 응급 : 재원구분, 환자찾기 : ID인지 이름인지) ex)빈값은 전체</param>
  481. ///// <param name="jobkindcd">직무의 종류와 담당분야가 동일한 직무의군 코드값 아직 정의 되지 않았음. 예)영양직, 의무정보직, 임상병리직'</param>
  482. ///// <param name="dutinstcd">근무지기관코드</param>
  483. ///// <returns></returns>
  484. //[WebMethod(Description = "응급탭 환자 리스트 조회")]
  485. //public List<PatListVO> GetErPatList(String srchdd, String orddeptcd, String doctorid, String pid, String patstat, String jobkindcd, String dutinstcd, String drKind) {
  486. // List<PatListVO> result;
  487. // try {
  488. // using (PatListDac dac = new PatListDac()) {
  489. // Hashtable param = new Hashtable {
  490. // { "instcd", dutinstcd },
  491. // { "srchdd", srchdd },
  492. // { "orddeptcd", orddeptcd },
  493. // { "orddrid", doctorid },
  494. // { "patstat", patstat },
  495. // { "pid", pid },
  496. // { "selectflag", "ER" },
  497. // { "srchYN", "N" },
  498. // { "drKind", drKind }
  499. // };
  500. // result = (List<PatListVO>) dac.GetPatList(this.IbatisMapper, param);
  501. // }
  502. // return result;
  503. // } catch (Exception ex) {
  504. // CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetErPatList error: {0}", ex.Message));
  505. // throw ex;
  506. // }
  507. //}
  508. ///// <summary>
  509. ///// 환자검색 조회 기능
  510. ///// </summary>
  511. ///// <param name="srchdd">조회일자 ex)20160623</param>
  512. ///// <param name="orddeptcd">진료과 및 집도과 ex)빈값은 전체</param>
  513. ///// <param name="doctorid">진료의 또는 주치의 또는 집도의 ex)빈값은 전체</param>
  514. ///// <param name="pid">환자등록번호 ex)빈값은 전체</param>
  515. ///// <param name="ordtype">외래 O / 입원 I / 응급 ER</param>
  516. ///// <param name="dutinstcd">근무지기관코드</param>
  517. ///// <param name="userId">로그인 사용자 ID</param>
  518. ///// <param name="myPatient">내환자 검색 checkbox value, 내환자 검색의 경우 pid 파라미터는 null 로 보내야 한다.ex) Y, N</param>
  519. ///// <returns></returns>
  520. //[WebMethod(Description = "환자검색 조회 기능")]
  521. //public List<PatListVO> GetSrPatList(String srchdd, String orddeptcd, String doctorid, String pid, String ordtype, String dutinstcd, String userId, String myPatient) {
  522. // List<PatListVO> result;
  523. // try {
  524. // using (PatListDac dac = new PatListDac()) {
  525. // var myPatValue = myPatient ?? "N";
  526. // var userIdValue = userId ?? "";
  527. // // 내환자 검색일 경우 입력된 환자 번호를 무시하도록 설정
  528. // if (myPatValue == "Y") {
  529. // pid = "";
  530. // }
  531. // Hashtable param = new Hashtable {
  532. // { "instcd", dutinstcd },
  533. // { "srchdd", srchdd },
  534. // { "orddeptcd", orddeptcd },
  535. // { "wardcd", "" },
  536. // { "medispclid", doctorid },
  537. // { "orddrid", doctorid },
  538. // { "pid", pid },
  539. // { "opstatcd", "A" },
  540. // { "selectflag", ordtype },
  541. // { "patstat", "0" },
  542. // { "myPatient", myPatValue },
  543. // { "userId", userIdValue },
  544. // { "srchYN", "Y" }
  545. // };
  546. // result = (List<PatListVO>) dac.GetPatList(this.IbatisMapper, param);
  547. // }
  548. // return result;
  549. // } catch (Exception ex) {
  550. // CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetSrPatList error: {0}", ex.Message));
  551. // throw ex;
  552. // }
  553. //}
  554. /// <summary>
  555. /// 환자리스트 조회조건 중 진료과 리스트 없어질꺼(앱 수정하면 지워!)
  556. /// </summary>
  557. /// <param name="ordType">내원 종류 ( 탭 종류 ) 외래 : O , 입원 : I , 수술 : OP, 응급 : ER, 환자검색 : S</param>
  558. /// <param name="dutInstCd">근무지기관코드</param>
  559. [WebMethod(Description = "환자리스트 조회조건 중 진료과 리스트")]
  560. public List<DeptListVO> GetDeptList(String ordType, String dutInstCd) {
  561. List<DeptListVO> result;
  562. try {
  563. using (PatListDac dac = new PatListDac()) {
  564. Hashtable param = new Hashtable();
  565. if (dutInstCd == null) {
  566. dutInstCd = "101";
  567. }
  568. param.Add("instCd", dutInstCd);
  569. param.Add("ordType", ordType);
  570. result = (List<DeptListVO>) dac.GetDeptList(this.IbatisMapper, param);
  571. result.Insert(0, new DeptListVO("", "진료과(전체)", ""));
  572. }
  573. return result;
  574. } catch (Exception ex) {
  575. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetDeptList error: {0}", ex.Message));
  576. throw ex;
  577. }
  578. }
  579. /// <summary>
  580. /// 환자리스트 조회조건 중 진료과 리스트 진짜 사용할꺼
  581. /// </summary>
  582. /// <param name="ordType">내원 종류 ( 탭 종류 ) 외래 : O , 입원 : I , 수술 : OP, 응급 : ER, 환자검색 : S</param>
  583. /// <param name="dutInstCd">근무지기관코드</param>
  584. [WebMethod(Description = "환자리스트 조회조건 중 진료과 리스트")]
  585. public List<DeptListVO> GetOrgDeptList(String ordType, String dutInstCd) {
  586. List<DeptListVO> result;
  587. try {
  588. using (PatListDac dac = new PatListDac()) {
  589. Hashtable param = new Hashtable();
  590. if (dutInstCd == null) {
  591. dutInstCd = "101";
  592. }
  593. param.Add("instCd", dutInstCd);
  594. param.Add("ordType", ordType);
  595. result = (List<DeptListVO>) dac.GetDeptList(this.IbatisMapper, param);
  596. result.Insert(0, new DeptListVO("", "진료과(전체)", ""));
  597. result.Add(new DeptListVO("2330000000", "종합검진", ""));
  598. result.Add(new DeptListVO("2340000000", "일반검진", ""));
  599. }
  600. return result;
  601. } catch (Exception ex) {
  602. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetDeptList error: {0}", ex.Message));
  603. throw ex;
  604. }
  605. }
  606. /// <summary>
  607. /// 환자리스트 조회조건 중 병동 조회
  608. /// </summary>
  609. /// <param name="dutInstCd">근무지기관코드</param>
  610. /// <returns></returns>
  611. [WebMethod(Description = "환자리스트 조회조건 중 병동 조회")]
  612. public List<DeptListVO> GetWardList(String dutInstCd) {
  613. List<DeptListVO> result;
  614. try {
  615. using (PatListDac dac = new PatListDac()) {
  616. Hashtable param = new Hashtable();
  617. param.Add("instCd", dutInstCd);
  618. result = (List<DeptListVO>) dac.GetWardList(this.IbatisMapper, param);
  619. result.Insert(0, new DeptListVO("", "병동(전체)", ""));
  620. }
  621. return result;
  622. } catch (Exception ex) {
  623. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetWardList error: {0}", ex.Message));
  624. throw ex;
  625. }
  626. }
  627. /// <summary>
  628. /// 환자리스트 조회조건 의사 조회
  629. /// </summary>
  630. /// <param name="srchDd">조회 일자 20190822</param>
  631. /// <param name="ordDeptCd">진료과 코드 (소화기내과 : 2010000000) </param>
  632. /// <param name="dutInstCd">근무지기관코드 101</param>
  633. /// <returns></returns>
  634. [WebMethod(Description = "환자리스트 조회조건 중 의사 조회")]
  635. public List<DocListVO> GetDoctorList(String srchDd, String ordDeptCd, String dutInstCd) {
  636. List<DocListVO> result;
  637. try {
  638. using (PatListDac dac = new PatListDac()) {
  639. Hashtable param = new Hashtable();
  640. param.Add("srchDd", srchDd);
  641. param.Add("ordDeptCd", ordDeptCd);
  642. param.Add("instCd", dutInstCd);
  643. result = (List<DocListVO>) dac.GetDocList(this.IbatisMapper, param);
  644. result.Insert(0, new DocListVO("", "진료의(전체)", ""));
  645. }
  646. return result;
  647. } catch (Exception ex) {
  648. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetDoctorList error: {0}", ex.Message));
  649. throw ex;
  650. }
  651. }
  652. /// <summary>
  653. /// 검사 지원부서 설정 목록
  654. /// </summary>
  655. /// <returns></returns>
  656. [WebMethod(Description = "검사 지원부서 설정 목록")]
  657. public List<DeptListVO> GetSupportDeptList() {
  658. List<DeptListVO> result;
  659. try {
  660. using (PatListDac dac = new PatListDac()) {
  661. Hashtable param = new Hashtable();
  662. result = (List<DeptListVO>)dac.GetSupportDeptList(this.IbatisMapper, param);
  663. }
  664. return result;
  665. } catch (Exception ex) {
  666. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetSupportDeptList error: {0}", ex.Message));
  667. throw ex;
  668. }
  669. }
  670. [WebMethod(Description = "검사 지원부서 설정 목록")]
  671. public List<InspectionVO> GetInspectingRoomName(string deptCd) {
  672. List<InspectionVO> result;
  673. try {
  674. using (PatListDac dac = new PatListDac()) {
  675. Hashtable param = new Hashtable();
  676. param.Add("deptCd", deptCd);
  677. result = (List<InspectionVO>) dac.GetInspectingRoomName(this.IbatisMapper, param);
  678. }
  679. return result;
  680. } catch (Exception ex) {
  681. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetInspectingRoomName error: {0}", ex.Message));
  682. throw ex;
  683. }
  684. }
  685. /// <summary>
  686. /// 환자리스트 조회조건 중 환자 검색 팝업
  687. /// </summary>
  688. /// <param name="srchcond">조회 구분( 1: 등록번호, 2: 환자명, 3: 주민번호, 4: 환자명+주민번호)</param>
  689. /// <param name="pid">환자 등록번호 ex) 2234596</param>
  690. /// <param name="hngnm">환자이름 ex) 오재은</param>
  691. /// <param name="rrgstno1">주민번호 앞자리 ex) 891117</param>
  692. /// <param name="rrgstno2">주민번호 뒷자리 ex) 1682813</param>
  693. /// <param name="dutinstcd">근무지기관코드</param>
  694. /// <returns></returns>
  695. [WebMethod(Description = "환자리스트 조회조건 중 환자 검색 팝업")]
  696. public List<PatInfoListVO> GetSrchPatInfo(String srchcond, String pid, String hngnm, String rrgstno1, String rrgstno2, String dutinstcd) {
  697. List<PatInfoListVO> result;
  698. try {
  699. using (PatListDac dac = new PatListDac()) {
  700. Hashtable param = new Hashtable();
  701. param.Add("instcd", dutinstcd);
  702. param.Add("srchcond", srchcond);
  703. param.Add("pid", pid);
  704. param.Add("hngnm", hngnm);
  705. param.Add("rrgstno1", rrgstno1);
  706. param.Add("rrgstno2", rrgstno2);
  707. result = (List<PatInfoListVO>) dac.GetSrchPatInfo(this.IbatisMapper, param);
  708. }
  709. return result;
  710. } catch (Exception ex) {
  711. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetSrchPatInfo error: {0}", ex.Message));
  712. throw ex;
  713. }
  714. }
  715. /// <summary>
  716. /// 환자 선택시 수진일자별 진단 데이터 조회.
  717. /// 입원일때 한 수진에 수술이 여러개일 경우 집도과로 체크
  718. /// 외래일때 당일 수진이 여러개일경우 진료과로 체크
  719. /// </summary>
  720. /// <param name="pid">환자 등록번호 ex) 2234596 , 2270516</param>
  721. /// <param name="ordDd">외래 : 진료일, 입원: 입원일 ex) 20160205 , 20151201</param>
  722. /// <param name="ordType">내원 구분 (I: 입원, E: 응급, O: 외래 OP : 수술)</param>
  723. /// <param name="ordDeptCd">진료과(입원인경우 집도과 코드를 외래인 경우 진료과 코드 입력)</param>
  724. /// <param name="cretNo">생성번호</param>
  725. /// <param name="dutInstCd">근무지기관코드</param>
  726. /// <param name="opRsrvNo">수술예약번호</param>
  727. /// <returns></returns>
  728. [WebMethod(Description = "환자 선택시 수진일자별 진단 데이터 조회")]
  729. public List<PatientVO> GetPatientInfo(String pid, String ordDd, String ordType, String ordDeptCd, String cretNo, String dutInstCd, String opRsrvNo) {
  730. List<PatientVO> result;
  731. try {
  732. opRsrvNo = opRsrvNo ?? "";
  733. using (PatientDac dac = new PatientDac()) {
  734. Hashtable param = new Hashtable {
  735. { "instCd", dutInstCd },
  736. { "ordDd", ordDd },
  737. { "pid", pid },
  738. { "ordType", ordType },
  739. { "ordDeptCd", ordDeptCd },
  740. { "cretNo", cretNo },
  741. { "opRsrvNo", opRsrvNo }
  742. };
  743. result = (List<PatientVO>) dac.GetPatientInfo(this.IbatisMapper, param);
  744. }
  745. return result;
  746. } catch (Exception ex) {
  747. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetPatientInfo error: {0}", ex.Message));
  748. throw ex;
  749. }
  750. }
  751. /// <summary>
  752. /// 사용자 즐겨찾기 추가
  753. /// </summary>
  754. /// <param name="userId">사용자 아이디 107810</param>
  755. /// <param name="formCd">서식코드 </param>
  756. /// <param name="dutInstCd">근무지기관코드</param>
  757. /// <param name="toDay">오늘 날짜</param>
  758. [WebMethod(Description = "사용자 즐겨찾기 추가")]
  759. public SingleReturnData SetUserFormSetList(string userId, string formCd, string dutInstCd, string toDay) {
  760. SingleReturnData result = new SingleReturnData();
  761. int res = 0;
  762. try {
  763. using (UserDac dac = new UserDac()) {
  764. Hashtable param = new Hashtable();
  765. param.Add("instCd", dutInstCd);
  766. param.Add("userId", userId);
  767. param.Add("formCd", formCd);
  768. param.Add("toDay", toDay);
  769. int count = dac.GetUserFormCode(this.IbatisMapper, param);
  770. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error("count");
  771. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(count);
  772. if (count > 0) {
  773. result.responseData = "0";
  774. } else {
  775. res = dac.SetUserFormSet(this.IbatisMapper, param);
  776. }
  777. }
  778. } catch (Exception ex) {
  779. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm SetUserFormSetList error: {0}", ex.Message));
  780. throw ex;
  781. }
  782. return result;
  783. }
  784. /// <summary>
  785. /// 사용자 즐겨찾기 삭제
  786. /// </summary>
  787. /// <param name="idx">즐겨찾기에 추가된 동의서 고유번호</param>
  788. /// <param name="userId">사용자 아이디 107810</param>
  789. /// <param name="formCd">서식코드 </param>
  790. /// <param name="dutInstCd">근무지기관코드</param>
  791. [WebMethod(Description = "사용자 즐겨찾기 삭제")]
  792. public SingleReturnData DelUserFormSetList(String idx, String userId, String formCd, String dutInstCd) {
  793. SingleReturnData result = new SingleReturnData();
  794. int res = 0;
  795. try {
  796. using (UserDac dac = new UserDac()) {
  797. Hashtable param = new Hashtable();
  798. param.Add("idx", idx);
  799. param.Add("instCd", dutInstCd);
  800. param.Add("userId", userId);
  801. param.Add("formCd", formCd);
  802. dac.DelUserFormSet(this.IbatisMapper, param);
  803. //if (cendbHelper.GetSqlMapper().DataSource.Name == "DCUMCHospitalDB") {
  804. // res = dac.DelUserFormSet(this.IbatisMapper, param);
  805. // result.responseData = Convert.ToString(res);
  806. //} else {
  807. // res = dac.DelUserFormSet(this.cendbMapper, param);
  808. // result.responseData = Convert.ToString(res);
  809. //}
  810. }
  811. } catch (Exception ex) {
  812. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm DelUserFormSetList error: {0}", ex.Message));
  813. throw ex;
  814. }
  815. return result;
  816. }
  817. /// <summary>
  818. /// OCRTAG 할당
  819. /// </summary>
  820. /// <returns></returns>
  821. [WebMethod(Description = "OCRTAG 할당")]
  822. public SingleReturnData GetOcrTag() {
  823. SingleReturnData result = new SingleReturnData();
  824. try {
  825. using (PatientDac dac = new PatientDac()) {
  826. Hashtable param = new Hashtable();
  827. String res = dac.GetOcrTag(this.IbatisMapper, param);
  828. result.responseData = res;
  829. }
  830. } catch (Exception ex) {
  831. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetOcrTag error: {0}", ex.Message));
  832. throw ex;
  833. }
  834. return result;
  835. }
  836. /// <summary>
  837. /// 사용자의 서명이미지 조회
  838. /// </summary>
  839. /// <param name="userId">사용자 아이디 103043</param>
  840. /// <param name="instCd">근무지기관코드</param>
  841. [WebMethod(Description = "사용자의 서명이미지 조회")]
  842. public UserSignImageVO GetSignImage(string userId, string instCd) {
  843. try {
  844. string base64stringimg = string.Empty;
  845. UserSignImageVO vo = null;
  846. using (UserDac dac = new UserDac()) {
  847. Hashtable param = new Hashtable();
  848. param.Add("userId", userId);
  849. param.Add("instCd", instCd);
  850. IList<UserSignImageVO> vos = dac.GetUserSignImage(this.IbatisMapper, param);
  851. foreach (UserSignImageVO item in vos) {
  852. vo = item;
  853. break;
  854. }
  855. }
  856. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Debug("vo -- > " + vo);
  857. if (vo == null) {
  858. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Debug("!!!!!!!!!!!!");
  859. vo = new UserSignImageVO();
  860. vo.SignImage = new byte[0];
  861. }
  862. return vo;
  863. } catch (Exception ex) {
  864. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetSignImage error: {0}", ex.Message));
  865. throw ex;
  866. }
  867. }
  868. /// <summary>
  869. /// 주,부 진단명 리스트 조회(진단명 팝업)
  870. /// </summary>
  871. /// <param name="pid">등록번호 </param>
  872. /// <param name="orddd">진료일, 입원일 </param>
  873. /// <param name="dutinstcd">근무지기관코드</param>
  874. [WebMethod(Description = "주,부 진단명 리스트 조회(진단명 팝업)")]
  875. public List<string> GetDiagNameList(String pid, String orddd, String dutinstcd) {
  876. List<string> result;
  877. try {
  878. using (PatientDac dac = new PatientDac()) {
  879. Hashtable param = new Hashtable();
  880. if (dutinstcd == null) {
  881. dutinstcd = "031";
  882. }
  883. param.Add("instcd", dutinstcd);
  884. param.Add("orddd", orddd);
  885. param.Add("pid", pid);
  886. result = (List<string>) dac.GetDiagList(this.IbatisMapper, param);
  887. }
  888. return result;
  889. } catch (Exception ex) {
  890. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetDiagNameList error: {0}", ex.Message));
  891. throw ex;
  892. }
  893. }
  894. public List<string> getOpNameList(String pid, string dutinstcd) {
  895. List<string> result = null;
  896. try {
  897. //using (OperationNameDAC opDac = new OperationNameDAC())
  898. {
  899. Hashtable args = new Hashtable();
  900. //Hashtable param = new Hashtable();
  901. args.Add("pid", pid);
  902. args.Add("dutinstcd", dutinstcd);
  903. //result = (List<string>)opDac.getOpNameList(this.IbatisMapper, args);
  904. }
  905. return result;
  906. } catch (Exception e) {
  907. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm getOpNameList error: {0}", e.Message));
  908. throw e;
  909. }
  910. }
  911. /// <summary>
  912. /// 파일이름 조회
  913. /// </summary>
  914. /// <param name=" pid">등록번호 1640515</param>
  915. /// <param name=" ordtype">내원구분 I</param>
  916. /// <param name=" orddd">내월일자 20151130</param>
  917. /// <param name=" dschdd">퇴원일자 99991231</param>
  918. /// <param name=" cretno">이력번호 1</param>
  919. /// <param name=" filesize">파일크기 없어도됨</param>
  920. /// <param name=" formcd">서식코드 1300010289</param>
  921. /// <param name=" pageno">페이지번호 6</param>
  922. /// <param name=" ocrtag">OCR코드 2016071989074</param>
  923. /// <param name=" userid">사용자아이디 105042</param>
  924. /// <param name = "dutinstcd" >근무지기관코드</ param >
  925. [WebMethod(Description = "파일이름 조회")]
  926. 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) {
  927. try {
  928. using (PatientDac dac = new PatientDac()) {
  929. Hashtable param = new Hashtable();
  930. param.Add("instcd", dutinstcd);
  931. param.Add("pid", pid);
  932. param.Add("ordtype", ordtype);
  933. param.Add("orddd", orddd);
  934. param.Add("dschdd", dschdd);
  935. param.Add("cretno", cretno);
  936. param.Add("filesize", filesize);
  937. param.Add("formcd", formcd);
  938. param.Add("pageno", pageno);
  939. param.Add("ocrtag", ocrtag);
  940. param.Add("userid", userid);
  941. param.Add("orddeptcd", orddeptcd);
  942. //return dac.GetFileName(this.IbatisMapper, param);
  943. }
  944. } catch (Exception ex) {
  945. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetFileName error: {0}", ex.Message));
  946. throw ex;
  947. }
  948. return "";
  949. }
  950. /// <summary>
  951. /// setFileName으로 등록된 데이터 삭제하는 로직
  952. /// </summary>
  953. /// <param name="pid">등록번호 1640515</param>
  954. /// <param name="ordtype">내원구분 I</param>
  955. /// <param name="orddd">내월일자 20151130</param>
  956. /// <param name="dschdd">퇴원일자 99991231</param>
  957. /// <param name="cretno">이력번호 1</param>
  958. /// <param name="formcd">서식코드 1300010289</param>
  959. /// <param name="ocrtag">OCR코드 2016071989074</param>
  960. /// <param name="userid">사용자아이디 105042</param>
  961. /// <param name="username">사용자명 홍길동</param>
  962. /// <param name="consentmstrid">동의서 생성 아이디 1573</param>
  963. /// <param name="hostype">병원구분 111</param>
  964. /// <param name="orddeptcd">진료과 코드 </param>
  965. /// <param name="dutinstcd">근무지기관코드</param>
  966. [WebMethod(Description = "setFileName으로 등록된 데이터 삭제하는 함수")]
  967. 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) {
  968. try {
  969. using (PatientDac dac = new PatientDac()) {
  970. Hashtable param = new Hashtable();
  971. param.Add("instcd", dutinstcd);
  972. param.Add("pid", pid);
  973. param.Add("ordtype", ordtype);
  974. param.Add("orddd", orddd);
  975. param.Add("dschdd", dschdd);
  976. param.Add("cretno", cretno);
  977. param.Add("formcd", formcd);
  978. param.Add("ocrtag", ocrtag);
  979. param.Add("userid", userid);
  980. param.Add("username", username);
  981. param.Add("consentmstrid", consentmstrid);
  982. param.Add("hostype", hostype);
  983. param.Add("orddeptcd", orddeptcd);
  984. dac.delEformData(this.IbatisMapper, param);
  985. }
  986. } catch (Exception ex) {
  987. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm delEformData error: {0}", ex.Message));
  988. throw ex;
  989. }
  990. }
  991. /// <summary>
  992. /// 모바일 Default Tap(외래, 입원..) 설정
  993. /// </summary>
  994. /// <param name="userId">사용자 아이디</param>
  995. /// <param name="status">외래 O 입원 I 응급 E 수술 P </param>
  996. /// <param name="instCd">근무지기관코드</param>
  997. [WebMethod(Description = "모바일 Default Tap(외래, 입원..) 설정")]
  998. public SingleReturnData UpdateUserSetup(string userId, string status, string instCd) {
  999. SingleReturnData result = new SingleReturnData();
  1000. int rts = 1;
  1001. try {
  1002. using (PatientDac dac = new PatientDac()) {
  1003. Hashtable param = new Hashtable();
  1004. param.Add("userId", userId);
  1005. param.Add("status", status);
  1006. param.Add("instCd", instCd);
  1007. rts = dac.UpdateUserSetup(this.IbatisMapper, param);
  1008. result.responseData = Convert.ToString(rts);
  1009. }
  1010. } catch (Exception ex) {
  1011. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm UpdateUserSetup error: {0}", ex.Message));
  1012. //throw ex;
  1013. }
  1014. return result;
  1015. }
  1016. ///// <summary>
  1017. ///// 모바일 주치의별 미작성 리스트 가져오기
  1018. ///// </summary>
  1019. ///// <param name="userid">사용자 아이디</param>
  1020. ///// <param name="status">동의서 상태(UNFINISHED, TEMP ....)</param>
  1021. ///// <param name="fromdd"></param>
  1022. ///// <param name="todd"></param>
  1023. ///// <param name="dutinstcd">근무지기관코드</param>
  1024. ///// <returns></returns>
  1025. //[WebMethod(Description = "모바일 주치의별 미작성 리스트 가져오기")]
  1026. //public List<UnFinishedListVO> GetUnfinishedListPerDoctor(string userid, string status, string fromdd, string todd, string dutinstcd) {
  1027. // try {
  1028. // using (ConsentDac dac = new ConsentDac()) {
  1029. // Hashtable param = new Hashtable {
  1030. // { "userid", userid },
  1031. // { "status", status },
  1032. // { "fromdd", fromdd },
  1033. // { "todd", todd },
  1034. // { "instcd", dutinstcd }
  1035. // };
  1036. // return (List<UnFinishedListVO>) dac.GetUnfinishedListPerDoctor(this.IbatisMapper, param);
  1037. // }
  1038. // } catch (Exception ex) {
  1039. // CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetUnfinishedListPerDoctor error: {0}", ex.Message));
  1040. // throw ex;
  1041. // }
  1042. //}
  1043. /// <summary>
  1044. /// 모바일 사용자 로그인 API
  1045. /// </summary>
  1046. /// <param name="userId">사용자 아이디</param>
  1047. /// <param name="sha256EncPw">sha256 encrypt password</param>
  1048. /// <param name="md5EncPw">md5 encrypt password</param>
  1049. /// <param name="dutInstCd">근무지기관코드</param>
  1050. /// <param name="certSucc">인증서로그인 여부</param>
  1051. /// <returns></returns>
  1052. //[WebMethod(Description = "모바일 사용자 로그인 API")]
  1053. //public List<UserLoginDeptList> doLogin(string userId, string sha256EncPw, string md5EncPw, string dutInstCd, string certSucc) {
  1054. // MobileLoginResult result;
  1055. // string password = "";
  1056. // try {
  1057. // using (UserDac dac = new UserDac()) {
  1058. // Hashtable param = new Hashtable();
  1059. // int n;
  1060. // if (!int.TryParse(userId, out n)) {
  1061. // userId = userId.ToUpper();
  1062. // }
  1063. // param.Add("userId", userId);
  1064. // result = dac.doLogin(this.IbatisMapper, param);
  1065. // if (result == null) {
  1066. // return null;
  1067. // }
  1068. // if(result.pwd.Length == 64) {
  1069. // // sha256 아이디 + 비밀번호 비교
  1070. // password = sha256EncPw;
  1071. // } else {
  1072. // // md5 비밀번호만
  1073. // password = md5EncPw;
  1074. // }
  1075. // if (certSucc == "false") {
  1076. // if (result.pwd != password) {
  1077. // int updateCnt = dac.updateLoginFailCount(this.IbatisMapper, param);
  1078. // if (updateCnt > 0) {
  1079. // int failCnt = dac.getLoginFailCount(this.IbatisMapper, param);
  1080. // if (failCnt == 3) {
  1081. // // 사용자정보 또는 암호가 일치하지 않습니다 (3회) \n7회 오류발생시 10분간 로그인이 제한됩니다.
  1082. // } else if (failCnt == 4) {
  1083. // // 사용자정보 또는 암호가 일치하지 않습니다 (4회) \n7회 오류발생시 10분간 로그인이 제한됩니다.
  1084. // } else if (failCnt == 5) {
  1085. // // 사용자정보 또는 암호가 일치하지 않습니다 (5회) \n7회 오류발생시 10분간 로그인이 제한됩니다.
  1086. // } else if (failCnt == 6) {
  1087. // // 사용자정보 또는 암호가 일치하지 않습니다 (6회) \n7회 오류발생시 10분간 로그인이 제한됩니다.
  1088. // } else if (failCnt == 7) {
  1089. // // 사용자정보 또는 로그인 비밀번호 오류(연속 7회)로 인하여 10분동안 로그인이 제한됩니다 \n잠시 후 다시 로그인을 시도하십시오.
  1090. // }
  1091. // }
  1092. // return null;
  1093. // }
  1094. // }
  1095. // //개발 서버 : DEV101
  1096. // //운영 서버 : EMR101
  1097. // //string sysCd = "DEV101";
  1098. // string sysCd = "EMR101";
  1099. // Hashtable param2 = new Hashtable();
  1100. // param2.Add("userId", result.userId);
  1101. // param2.Add("sysCd", sysCd);
  1102. // return (List<UserLoginDeptList>) dac.getUserdeptList(this.IbatisMapper, param2);
  1103. // }
  1104. // } catch (Exception e) {
  1105. // CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm doLogin ERROR : {0}", e.ToString()));
  1106. // throw e;
  1107. // }
  1108. //}
  1109. [WebMethod(Description = "모바일 사용자 로그인 API")]
  1110. public SingleReturnData doLogin(string userId, string sha256EncPw, string md5EncPw, string dutInstCd, string certFlag, string certSuccess) {
  1111. SingleReturnData mResult = new SingleReturnData();
  1112. MobileLoginResult result;
  1113. string password = "";
  1114. try {
  1115. using (UserDac dac = new UserDac()) {
  1116. Hashtable param = new Hashtable();
  1117. int n;
  1118. if (!int.TryParse(userId, out n)) {
  1119. userId = userId.ToUpper();
  1120. }
  1121. param.Add("userId", userId);
  1122. result = dac.doLogin(this.IbatisMapper, param);
  1123. if (result == null) {
  1124. return null;
  1125. }
  1126. if (result.pwd.Length == 64) {
  1127. // sha256 아이디 + 비밀번호 비교
  1128. password = sha256EncPw;
  1129. } else {
  1130. // md5 비밀번호만
  1131. password = md5EncPw;
  1132. }
  1133. if (certFlag == "false") {
  1134. if (result.pwd != password) {
  1135. mResult.responseData = Convert.ToString(loginFailCount(userId));
  1136. } else {
  1137. string expiryYn = dac.checkUserPwdValidTerm(this.IbatisMapper, param);
  1138. if (expiryYn.Equals("Y")) {
  1139. mResult.responseData = "overDate";
  1140. } else {
  1141. mResult.responseData = "success";
  1142. }
  1143. }
  1144. } else {
  1145. if (certSuccess == "N") {
  1146. mResult.responseData = Convert.ToString(loginFailCount(userId));
  1147. } else {
  1148. string expiryYn = dac.checkUserPwdValidTerm(this.IbatisMapper, param);
  1149. if (expiryYn.Equals("Y")) {
  1150. mResult.responseData = "overDate";
  1151. } else {
  1152. mResult.responseData = "success";
  1153. }
  1154. //mResult.responseData = "success";
  1155. }
  1156. }
  1157. }
  1158. } catch (Exception e) {
  1159. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm doLogin ERROR : {0}", e.ToString()));
  1160. throw e;
  1161. }
  1162. return mResult;
  1163. }
  1164. /// <summary>
  1165. /// 로그인 실패 카운트
  1166. /// </summary>
  1167. /// <param name="userId"></param>
  1168. /// <returns></returns>
  1169. private int loginFailCount(string userId) {
  1170. int failCnt = 0;
  1171. try {
  1172. using (UserDac dac = new UserDac()) {
  1173. Hashtable param = new Hashtable();
  1174. param.Add("userId", userId.ToUpper());
  1175. //int updateCnt = dac.updateLoginFailCount(this.IbatisMapper, param);
  1176. failCnt = dac.getLoginFailCount(this.IbatisMapper, param);
  1177. dac.updateLoginFailCount(this.IbatisMapper, param);
  1178. failCnt = dac.getLoginFailCount(this.IbatisMapper, param);
  1179. //if (failCnt == 3) {
  1180. // // 사용자정보 또는 암호가 일치하지 않습니다 (3회) \n7회 오류발생시 10분간 로그인이 제한됩니다.
  1181. //} else if (failCnt == 4) {
  1182. // // 사용자정보 또는 암호가 일치하지 않습니다 (4회) \n7회 오류발생시 10분간 로그인이 제한됩니다.
  1183. //} else if (failCnt == 5) {
  1184. // // 사용자정보 또는 암호가 일치하지 않습니다 (5회) \n7회 오류발생시 10분간 로그인이 제한됩니다.
  1185. //} else if (failCnt == 6) {
  1186. // // 사용자정보 또는 암호가 일치하지 않습니다 (6회) \n7회 오류발생시 10분간 로그인이 제한됩니다.
  1187. //} else if (failCnt == 7) {
  1188. // // 사용자정보 또는 로그인 비밀번호 오류(연속 7회)로 인하여 10분동안 로그인이 제한됩니다 \n잠시 후 다시 로그인을 시도하십시오.
  1189. //}
  1190. }
  1191. } catch(Exception e) {
  1192. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm doLogin ERROR : {0}", e.ToString()));
  1193. throw e;
  1194. }
  1195. return failCnt;
  1196. }
  1197. [WebMethod(Description = "모바일 사용자 로그인 성공시 부서 리스트 및 사용자 정보를 가져온다")]
  1198. public List<UserLoginDeptList> getUserInfoDeptList(string userId) {
  1199. try {
  1200. using (UserDac dac = new UserDac()) {
  1201. string sysCd = "EMR101";
  1202. Hashtable param2 = new Hashtable();
  1203. param2.Add("userId", userId.ToUpper());
  1204. param2.Add("sysCd", sysCd);
  1205. return (List<UserLoginDeptList>) dac.getUserdeptList(this.IbatisMapper, param2);
  1206. }
  1207. } catch (Exception e) {
  1208. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm getUserInfoDeptList ERROR : {0}", e.ToString()));
  1209. throw e;
  1210. }
  1211. }
  1212. [WebMethod(Description = "중복로그인 체크를 위한 사용자 세션")]
  1213. public SingleReturnData checkedUserSession(string userId, string ipAddr, string macAddr) {
  1214. SingleReturnData result = new SingleReturnData();
  1215. try {
  1216. using (UserDac dac = new UserDac()) {
  1217. Hashtable param = new Hashtable();
  1218. param.Add("userId", userId.ToUpper());
  1219. param.Add("ipAddr", ipAddr);
  1220. param.Add("macAddr", macAddr);
  1221. result.responseData = dac.checkedSession(this.IbatisMapper, param);
  1222. if (result.responseData.Equals("")) {
  1223. result.responseData = "N";
  1224. }
  1225. if (result.responseData.Equals("Y")) {
  1226. result.responseData = dac.checkedSession2(this.IbatisMapper, param);
  1227. }
  1228. dac.insertUpdateSession(this.IbatisMapper, param);
  1229. }
  1230. } catch (Exception e) {
  1231. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm checkedUserSession ERROR : {0}", e.ToString()));
  1232. throw e;
  1233. }
  1234. return result;
  1235. }
  1236. /// <summary>
  1237. /// 중복 로그인 세션 해제
  1238. /// </summary>
  1239. /// <param name="userId">사용자 아이디</param>
  1240. /// <param name="adaminFlag">문자열로 true이면 관리자가 해제</param>
  1241. [WebMethod(Description = "중복 로그인 세션 해제")]
  1242. public Boolean removeSession(string userId, string adaminFlag) {
  1243. Boolean result = false;
  1244. try {
  1245. using (UserDac dac = new UserDac()) {
  1246. adaminFlag = adaminFlag ?? "false";
  1247. Hashtable param = new Hashtable();
  1248. param.Add("userId", userId.ToUpper());
  1249. param.Add("adminFlag", adaminFlag);
  1250. int rts = dac.removeSession(this.IbatisMapper, param);
  1251. if (rts > 0) {
  1252. result = true;
  1253. } else {
  1254. result = false;
  1255. }
  1256. }
  1257. } catch (Exception e) {
  1258. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm removeSession ERROR : {0}", e.ToString()));
  1259. throw e;
  1260. }
  1261. return result;
  1262. }
  1263. /// <summary>
  1264. /// 사용자 로그인, 로그아웃 로그
  1265. /// </summary>
  1266. /// <param name="userId">사용자 아이디</param>
  1267. /// <param name="loginStatus">로그인 성공(CERT_LOGIN, LOGIN), 실패(CERT_FAIL, FAIL), 로그아웃(LOGOFF) 상태</param>
  1268. /// <param name="deviceType">모바일(MOBILE), PC(PC) 구분</param>
  1269. /// <param name="macAddress">사용자 단말 고유 정보</param>
  1270. /// <returns></returns>
  1271. [WebMethod(Description = "사용자 로그인, 로그아웃 로그")]
  1272. public void userLoginOutLog(string userId, string loginStatus, string deviceType, string macAddress) {
  1273. try {
  1274. using (UserDac dac = new UserDac()) {
  1275. Hashtable param = new Hashtable();
  1276. param.Add("userId", userId);
  1277. param.Add("loginStatus", loginStatus);
  1278. param.Add("deviceType", deviceType);
  1279. param.Add("macAddress", macAddress);
  1280. dac.userLoginOutLog(this.IbatisMapper, param);
  1281. }
  1282. } catch (Exception ex) {
  1283. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm userLoginOutLog ERROR : {0}", ex.ToString()));
  1284. throw ex;
  1285. }
  1286. }
  1287. /// <summary>
  1288. /// 모바일 사용자 정보요청 API
  1289. /// </summary>
  1290. /// <param name="userid"></param>
  1291. /// <param name="dutplceinstcd"></param>
  1292. /// <param name="dutplcecd"></param>
  1293. /// <returns></returns>
  1294. [WebMethod(Description = "모바일 사용자 정보요청 API")]
  1295. public MobileUserInfo GetMobileUserInfo(string userid, string dutplceinstcd, string dutplcecd) {
  1296. MobileUserInfo result = null;
  1297. try {
  1298. using (UserDac dac = new UserDac()) {
  1299. Hashtable param = new Hashtable();
  1300. param.Add("userid", userid);
  1301. param.Add("dutplceinstcd", dutplceinstcd);
  1302. param.Add("dutplcecd", dutplcecd);
  1303. result = dac.getMobileUserInfo(this.IbatisMapper, param);
  1304. }
  1305. return result;
  1306. } catch (Exception e) {
  1307. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm GetMobileUserInfo ERROR : {0}", e.ToString()));
  1308. throw e;
  1309. }
  1310. }
  1311. [WebMethod(Description = "사용자별 지원부서 설정 저장")]
  1312. public string getUserPrefMonitor(string userId, string instcd) {
  1313. string monitorNo = string.Empty;
  1314. try {
  1315. using(UserDac dac = new UserDac()) {
  1316. Hashtable param = new Hashtable();
  1317. param.Add("userid", userId);
  1318. monitorNo = dac.getUserPrefMonitor(this.IbatisMapper, param);
  1319. }
  1320. } catch (Exception e) {
  1321. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm getUserPrefMonitor ERROR : {0}", e.ToString()));
  1322. }
  1323. return monitorNo;
  1324. }
  1325. [WebMethod(Description = "사용자별 지원부서 설정 저장")]
  1326. public SingleReturnData SetSupportUserData(string userId, string baseCd, string supportDeptCd, string supportDeptNm, string macAddress) {
  1327. SingleReturnData result = new SingleReturnData();
  1328. string rts = "";
  1329. try {
  1330. using (UserDac dac = new UserDac()) {
  1331. Hashtable param = new Hashtable();
  1332. param.Add("userId", userId);
  1333. param.Add("supportDeptCd", supportDeptCd);
  1334. param.Add("supportDeptNm", supportDeptNm);
  1335. param.Add("macAddress", macAddress);
  1336. param.Add("baseCd", baseCd);
  1337. rts = dac.SetSupportUserData(this.IbatisMapper, param);
  1338. result.responseData = rts;
  1339. }
  1340. } catch (Exception ex) {
  1341. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm SetSupportUserData ERROR : {0}", ex.ToString()));
  1342. }
  1343. return result;
  1344. }
  1345. [WebMethod(Description = "사용자별 활성화 듀얼모니터 설정 저장")]
  1346. public SingleReturnData SetUserPrefMonitor(string userId, string monitorNo) {
  1347. SingleReturnData result = new SingleReturnData();
  1348. try {
  1349. using (UserDac dac = new UserDac()) {
  1350. Hashtable param = new Hashtable();
  1351. param.Add("userId", userId);
  1352. param.Add("monitorNo", monitorNo);
  1353. var resultStr = dac.SetUserPrefMonitor(this.IbatisMapper, param);
  1354. result.responseData = resultStr;
  1355. }
  1356. } catch (Exception e) {
  1357. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm SetUserPrefMonitor ERROR : {0}", e.ToString()));
  1358. }
  1359. return result;
  1360. }
  1361. [WebMethod(Description = "로그아웃 세션 타임 반환")]
  1362. public string getSessionTime(string instcd) {
  1363. string sessionTime = "30";
  1364. try {
  1365. using(UserDac dac = new UserDac()) {
  1366. Hashtable param = new Hashtable();
  1367. sessionTime = dac.getSessionTime(this.IbatisMapper, param);
  1368. }
  1369. }catch(Exception e) {
  1370. CLIP.eForm.Server.Diagnostics.LogHelper.LoggingHandler.Error(string.Format("CLIP.eForm getSessionTime ERROR : {0}", e.ToString()));
  1371. }
  1372. return sessionTime;
  1373. }
  1374. }
  1375. }