ConsentSelectTabPageUnfinished.cs 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517
  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:ConsentSelectTabPageAll.cs
  8. //
  9. #endregion
  10. using System;
  11. using System.ComponentModel;
  12. using System.Windows.Forms;
  13. using System.Configuration;
  14. using CLIP.eForm.Consent.UI.ConsentSvcRef;
  15. namespace CLIP.eForm.Consent.UI {
  16. /// <summary>
  17. /// 동의서 미작성 탭 클래스
  18. /// </summary>
  19. /// <remarks>
  20. /// <p>[설계자]</p>
  21. /// <p> 클립소프트 연구소 홍지철 (jchong@clipsoft.co.kr)</p>
  22. /// <p>[원본 작성자]</p>
  23. /// <p> 클립소프트 기술부 4팀 이창훈 (chlee@clipsoft.co.kr)</p>
  24. /// <p>[수정 작성자]</p>
  25. /// <p> 클립소프트 기술부 이인희</p>
  26. /// <p>----------------------------------------------------------------------------------------</p>
  27. /// <p>[HISTORY]</p>
  28. /// <p> 2016-07-01 : 최초작성</p>
  29. /// <p>----------------------------------------------------------------------------------------</p>
  30. /// </remarks>
  31. public partial class ConsentSelectTabPageUnfinished : UserControl {
  32. private ConsentSvcRef.ConsentSvcSoapClient consentWebService = null;
  33. private IConsentMain consentMain = null;
  34. private ConsentCommandCtrl commandControl = null;
  35. public ConsentSelectTabPageUnfinished() {
  36. InitializeComponent();
  37. }
  38. private void ConsentSelectTabPageUnfinished_Load(object sender, EventArgs e) {
  39. if(this.DesignMode || LicenseManager.UsageMode == LicenseUsageMode.Designtime) {
  40. return;
  41. }
  42. consentMain = ConsentMainControl.GetConsentMainInterface(this);
  43. commandControl = consentMain.ConsentCommandCtrl as ConsentCommandCtrl;
  44. consentWebService = WebMethodCommon.GetConsentWebService(consentMain.PluginExecuteInfo["consentSvcUrl"]);
  45. InitDataGrid();
  46. }
  47. public void SelectAllUnfinishedConsents(int consentMstRid) {
  48. InitDataGrid();
  49. BindDataGridRows(consentMstRid);
  50. }
  51. /// <summary>
  52. /// 그리드 초기화
  53. /// </summary>
  54. private void InitDataGrid() {
  55. this.dataGridViewConsentSelectResult.DataSource = null;
  56. this.dataGridViewConsentSelectResult.Columns.Clear();
  57. if(rdoUser.Checked) {
  58. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "등록번호", "PatientCode", true, 60, DataGridViewContentAlignment.MiddleCenter);
  59. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "성명", "PatientName", true, 60, DataGridViewContentAlignment.MiddleCenter);
  60. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "진료형태", "VisitTypeName", true, 40, DataGridViewContentAlignment.MiddleCenter);
  61. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "진료/\n입원일", "ClnDate", true, 80, DataGridViewContentAlignment.MiddleCenter);
  62. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "동의서명", "ConsentName", true, 180);
  63. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "상태", "ConsentStateDisp", true, 60, DataGridViewContentAlignment.MiddleCenter);
  64. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "작성자", "CreateUserName", true, 70, DataGridViewContentAlignment.MiddleCenter);
  65. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "작성일시", "CreateDateTime", true, 120, DataGridViewContentAlignment.MiddleCenter);
  66. }
  67. else {
  68. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "동의서명", "ConsentName", true, 180);
  69. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "상태", "ConsentStateDisp", true, 60, DataGridViewContentAlignment.MiddleCenter);
  70. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "작성자", "CreateUserName", true, 70, DataGridViewContentAlignment.MiddleCenter);
  71. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "작성일시", "CreateDateTime", true, 120, DataGridViewContentAlignment.MiddleCenter);
  72. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "등록번호", "PatientCode", false);
  73. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "성명", "PatientName", false);
  74. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "진료형태", "VisitTypeName", false);
  75. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "진료/\n입원일", "ClnDate", false);
  76. }
  77. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "기관코드", "HosType", false);
  78. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "생성번호", "Cretno", false);
  79. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "진료형태코드", "VisitType", false);
  80. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "진료과코드", "ClnDeptCd", false);
  81. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "진료과", "ClnDeptNm", false);
  82. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "진료의", "Doctor", false);
  83. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "병동", "Ward", false);
  84. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "병실", "RoomCd", false);
  85. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "처방번호", "OrderNo", false);
  86. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "처방코드", "OrderCd", false);
  87. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "처방", "OrderNm", false);
  88. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "수술진단명", "OpDiagName", false);
  89. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "수술명", "OpName", false);
  90. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "수술예약번호", "OpRsrvNo", false);
  91. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "동의서고유ID", "FormGuid", false);
  92. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "동의서ID", "FormRid", false);
  93. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "동의서코드", "FormCd", false);
  94. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "동의서생성ID", "ConsentMstRid", false);
  95. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "상태코드", "ConsentState", false);
  96. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "OCR태그", "OcrNumber", false);
  97. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "작성자ID", "CreateUserId", false);
  98. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "코사인의사ID", "CosignDcId", false);
  99. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "코사인의사", "CosignDcName", false);
  100. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "출력매수", "PrntCnt", false);
  101. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "OCR생성여부", "OcrTagYN", false);
  102. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "출력제목", "FormPrintName", false);
  103. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "작성자변경여부", "UserDrFlag", false);
  104. CommonUtil.AddNewColumnToDataGridView(this.dataGridViewConsentSelectResult, "출력전용", "PrntOnly", false);
  105. }
  106. /// <summary>
  107. /// 미작성, 임시저장 동의서 조회
  108. /// </summary>
  109. /// <param name="consentMstRid">The consent MST rid.</param>
  110. public void BindDataGridRows(int consentMstRid) {
  111. if(this.consentMain == null) consentMain = ConsentMainControl.GetConsentMainInterface(this);
  112. if(this.commandControl == null) commandControl = consentMain.ConsentCommandCtrl as ConsentCommandCtrl;
  113. if(this.consentWebService == null) this.consentWebService = WebMethodCommon.GetConsentWebService(consentMain.PluginExecuteInfo["consentSvcUrl"]);
  114. try {
  115. string patientCode = string.Empty;
  116. if(commandControl.CurrentTargetPatient != null && !string.IsNullOrEmpty(commandControl.CurrentTargetPatient.PatientCode)) {
  117. patientCode = commandControl.CurrentTargetPatient.PatientCode;
  118. }
  119. string userId = string.Empty;
  120. if(rdoUser.Checked) {
  121. userId = consentMain.ConsentExecuteInfo["loginUserNo"];
  122. }
  123. if(!patientCode.Equals(string.Empty) || !userId.Equals(string.Empty)) {
  124. string sDate = consentMain.PluginExecuteInfo["ConsentSearchStartDate"].Replace("-", "");
  125. string eDate = DateTime.Now.ToShortDateString().Replace("-", "");
  126. // 검색할 조건을 미작성, 임시저장, 출력
  127. string consentState = "'UNFINISHED','TEMP','PAPER_OUT'";
  128. // 동의서 조회
  129. // TODO
  130. //ConsentFormListVO[] resultData = consentWebService.GetConsentList(patientCode
  131. // , sDate
  132. // , eDate
  133. // , consentState
  134. // , string.Empty
  135. // , consentMain.ConsentExecuteInfo["dutinstcd"]
  136. // , userId);
  137. /*if (resultData == null) */
  138. {
  139. return;
  140. }
  141. // 진료일 표시 형식 변경
  142. //foreach(ConsentVO v in resultData) {
  143. // if (v.ClnDate.Length == 8) {
  144. // v.ClnDate = v.ClnDate.Substring(0, 4) + "-" + v.ClnDate.Substring(4, 2) + "-" + v.ClnDate.Substring(6, 2);
  145. // }
  146. //}
  147. //this.dataGridViewConsentSelectResult.DataSource = new SortableBindingList<ConsentVO>(resultData);
  148. // 목록 조회 시 자동 선택 기능 제외
  149. consentMain.ClearPreviewConsent(true);
  150. /*
  151. //초기 전달받은 startFormCd 값이 있는 경우, 폼을 보여준다.
  152. if (!string.IsNullOrEmpty(consentMain.ConsentExecuteInfo["startFormCd"])) {
  153. for (int i = 0; i < resultData.Length; i++) {
  154. if (((ConsentVO)resultData[i]).FormCd == consentMain.ConsentExecuteInfo["startFormCd"].ToString()) {
  155. ConsentVO vo = GetCurrentConsentVO(i);
  156. if (vo != null) {
  157. ExecutePreviewWithSelectedConsent(vo);
  158. RunConsentDualView();
  159. }
  160. break;
  161. }
  162. }
  163. }
  164. // 조회할 MST_RID 가 있을 경우
  165. else if (consentMstRid > 0) {
  166. for (int i = 0; i < resultData.Length; i++) {
  167. if (((ConsentVO)resultData[i]).ConsentMstRid == consentMstRid) {
  168. ConsentVO vo = GetCurrentConsentVO(i);
  169. if (vo != null) {
  170. ExecutePreviewWithSelectedConsent(vo);
  171. RunConsentDualView();
  172. }
  173. break;
  174. }
  175. }
  176. }
  177. // 조회할 MST_RID 가 없을 경우 0번째 동의서를 미리보기 한다
  178. else {
  179. ConsentVO vo = GetCurrentConsentVO(0);
  180. if (vo != null) {
  181. ExecutePreviewWithSelectedConsent(vo);
  182. }
  183. }
  184. */
  185. }
  186. }
  187. catch(Exception ex) {
  188. throw ex;
  189. }
  190. }
  191. #region 동의서 미리보기
  192. //선택된 Row의 ConsentVO 객체를 반환한다.
  193. private ConsentVO GetCurrentConsentVO(int rowIndex) {
  194. ConsentVO vo = null;
  195. if(rowIndex < 0) {
  196. return vo;
  197. }
  198. if(dataGridViewConsentSelectResult != null && dataGridViewConsentSelectResult.Rows.Count > 0) {
  199. this.dataGridViewConsentSelectResult.Rows[rowIndex].Selected = true;
  200. //this.dataGridViewConsentSelectResult.CurrentCell = this.dataGridViewConsentSelectResult.Rows[rowIndex].Cells[0];
  201. vo = this.dataGridViewConsentSelectResult.Rows[rowIndex].DataBoundItem as ConsentVO;
  202. }
  203. return vo;
  204. }
  205. /// <summary>
  206. /// 선택된 ConsentVO 객체를 미리보기 실행한다.
  207. /// </summary>
  208. /// <param name="vo">The vo.</param>
  209. private void ExecutePreviewWithSelectedConsent(ConsentVO vo) {
  210. if(consentMain == null) consentMain = ConsentMainControl.GetConsentMainInterface(this);
  211. if(commandControl == null) commandControl = consentMain.ConsentCommandCtrl as ConsentCommandCtrl;
  212. Cursor currentCursor = this.Cursor;
  213. this.Cursor = Cursors.WaitCursor;
  214. if(rdoUser.Checked) {
  215. consentMain.ConsentExecuteInfo["patientNo"] = vo.pid;
  216. consentMain.ConsentExecuteInfo["clnDate"] = vo.clnDate.Replace("-", "");
  217. consentMain.ConsentExecuteInfo["visitType"] = vo.ordtype;
  218. consentMain.ConsentExecuteInfo["clnDept"] = vo.clnDeptCd;
  219. consentMain.ConsentExecuteInfo["cretno"] = vo.cretno.ToString();
  220. consentMain.ConsentExecuteInfo["opRsrvNo"] = vo.opRsrvNo;
  221. consentMain.SetPatientInfo();
  222. }
  223. commandControl.CurrentPreviewConsent = new PreviewConsent {
  224. formId = vo.formId.ToString(),
  225. formCd = vo.formCd.ToString(),
  226. formName = vo.formName,
  227. formPrintName = vo.formPrintName,
  228. prntCnt = vo.prntCnt,
  229. consentMstRid = vo.consentMstRid.ToString(),
  230. consentStateEng = vo.consentState,
  231. orderNo = vo.cretno,
  232. ocrCode = vo.ocrTag,
  233. inputId = vo.createUserId,
  234. inputNm = vo.createUserName,
  235. ReissueConsentMstRid = 0,
  236. RewriteConsentMstRid = 0,
  237. ordType = vo.ordtype,
  238. ocrtagPrntyn = vo.ocrTagYN,
  239. userDrFlag = vo.userDrFlag,
  240. printOnly = vo.prntOnly,
  241. opDiagName = vo.opDiagName,
  242. //drOnly = vo.DrOnly,
  243. opName = vo.opName
  244. };
  245. consentMain.PatientInfoCtrl.SetConsentDocumentName(vo.formName);
  246. switch(vo.consentState.ToUpper()) {
  247. // 임시저장
  248. case "TEMP":
  249. commandControl.ShowTempSaveConsent(consentMain);
  250. break;
  251. // 출력, 미작성
  252. case "PAPER_OUT":
  253. case "UNFINISHED":
  254. //CheckClnDateInfo(vo);
  255. commandControl.PreviewConsent(consentMain);
  256. break;
  257. default:
  258. break;
  259. }
  260. //if (vo.ConsentState.ToUpper().Equals("TEMP")) {
  261. // commandControl.ShowTempSaveConsent(consentMain);
  262. //} else if (vo.ConsentState.ToUpper().Equals("PAPER_OUT")) {
  263. // CheckClnDateInfo(vo);
  264. // commandControl.PreviewConsent(consentMain);
  265. //} else if (vo.ConsentState.ToUpper().Equals("UNFINISHED")) {
  266. // CheckClnDateInfo(vo);
  267. // commandControl.PreviewConsent(consentMain);
  268. //}
  269. if (commandControl.CurrentTargetPatient.VisitType.Equals("O"))
  270. {
  271. commandControl.setCompleteSaveButton(true);
  272. }
  273. else
  274. {
  275. if (ConsentMainControl.SETTING_DATA["ELECTR_CMP"].Equals("Y") && commandControl.CurrentEndUser.JobKindCd.Substring(0, 2).Equals("03"))
  276. {
  277. commandControl.setCompleteSaveButton(true);
  278. }
  279. else
  280. {
  281. commandControl.setCompleteSaveButton(false);
  282. }
  283. }
  284. this.Cursor = currentCursor;
  285. }
  286. /// <summary>
  287. /// 동의서의 처방일자와 생성번호 등의 정보가 현재 정보와 일치하지 않은 경우
  288. /// 미리보기를 위해서 데이터를 재조회한다.
  289. /// </summary>
  290. /// <param name="vo">조회할 ConsentVO 인스턴스</param>
  291. private void CheckClnDateInfo(ConsentVO vo) {
  292. if(consentMain == null) consentMain = ConsentMainControl.GetConsentMainInterface(this);
  293. if(commandControl == null) commandControl = consentMain.ConsentCommandCtrl as ConsentCommandCtrl;
  294. if(commandControl.CurrentTargetPatient == null) return;
  295. bool bSame = true;
  296. if(!string.IsNullOrEmpty(vo.clnDate) && !vo.clnDate.Replace("-", "").Equals(commandControl.CurrentTargetPatient.clnDate.Replace("-", "")))
  297. bSame = false;
  298. if(!vo.cretno.ToString().Equals(commandControl.CurrentTargetPatient.cretno))
  299. bSame = false;
  300. if(!string.IsNullOrEmpty(vo.clnDeptCd) && !vo.clnDeptCd.Equals(commandControl.CurrentTargetPatient.clnDeptCode))
  301. bSame = false;
  302. if(!string.IsNullOrEmpty(vo.ordtype) && !vo.ordtype.Equals(commandControl.CurrentTargetPatient.VisitType))
  303. bSame = false;
  304. if(bSame == false) {
  305. //동의서 맵핑 정보를 상단의 선택된 진료일과 작성자 정보로 한다.
  306. consentMain.PatientInfoCtrl.SetPatientByConsentInfo(vo.clnDate.Replace("-", ""),
  307. vo.ordtype,
  308. vo.clnDeptCd,
  309. vo.cretno.ToString());
  310. }
  311. }
  312. #endregion
  313. #region 그리드 이벤트
  314. /// <summary>
  315. /// dataGridViewConsentSelectResult 그리드 컨트롤 셀 더블클릭 이벤트
  316. /// </summary>
  317. /// <param name="sender">The source of the event.</param>
  318. /// <param name="e">The <see cref="DataGridViewCellEventArgs"/> instance containing the event data.</param>
  319. private void dataGridViewConsentSelectResult_CellDoubleClick(object sender, DataGridViewCellEventArgs e) {
  320. if(commandControl == null) commandControl = consentMain.ConsentCommandCtrl as ConsentCommandCtrl;
  321. // dbs227, 셀 클릭 시 더블클릭 인식되어 작동되는 경우 오류
  322. if(e.RowIndex < 0) {
  323. return;
  324. }
  325. ConsentVO vo = GetCurrentConsentVO(e.RowIndex);
  326. // dbs227, 출력된 동의서는 미리보기를 하지 않는다
  327. if(vo.consentState.Equals("PAPER_OUT")) {
  328. MessageBox.Show(String.Format(Properties.Resources.msg_printed_consent),
  329. String.Format(Properties.Resources.title_printed_consent));
  330. return;
  331. }
  332. if(vo != null) {
  333. // 선택된 동의서가 현재 보여지고 있는 동의서와 다른 경우, 임시 저장 여부 확인
  334. if(!consentMain.ConsentExecuteInfo["readOnly"].Equals("Y") &&
  335. !string.IsNullOrEmpty(commandControl.CurrentTargetPatient.PatientCode) &&
  336. commandControl.CurrentPreviewConsent != null && !commandControl.CurrentPreviewConsent.formId.Equals(vo.formId.ToString()) &&
  337. (commandControl.CurrentPreviewConsent.consentState == string.Empty || commandControl.CurrentPreviewConsent.consentState == "TEMP")) {
  338. // dbs227, 임시저장 팝업 사용 안함
  339. //DialogResult result = MessageBox.Show(string.Format(Properties.Resources.msg_confirm_tempsave)
  340. // , string.Format(Properties.Resources.msg_caption_confirm),
  341. // MessageBoxButtons.YesNo, MessageBoxIcon.Information);
  342. //if (result == DialogResult.Yes) {
  343. // // 임시저장 실행
  344. // consentMain.TempSave();
  345. //}
  346. }
  347. consentMain.preParamClean();
  348. ExecutePreviewWithSelectedConsent(vo);
  349. RunConsentDualView();
  350. }
  351. }
  352. /// <summary>
  353. /// dataGridViewConsentSelectResult 그리드 컨트롤 마우스 우클릭 이벤트
  354. /// </summary>
  355. /// <param name="sender">The source of the event.</param>
  356. /// <param name="e">The <see cref="DataGridViewCellContextMenuStripNeededEventArgs"/> instance containing the event data.</param>
  357. private void dataGridViewConsentSelectResult_CellContextMenuStripNeeded(object sender, DataGridViewCellContextMenuStripNeededEventArgs e) {
  358. // read only 로 실행 한 경우 우클릭 이벤트를 실행하지 않는다
  359. if(consentMain.ConsentExecuteInfo["readOnly"].Equals("Y")) {
  360. return;
  361. }
  362. if(e.RowIndex >= 0 && this.dataGridViewConsentSelectResult.Rows[e.RowIndex].Selected == true) {
  363. ConsentVO vo = GetCurrentConsentVO(e.RowIndex);
  364. if(commandControl.CurrentPreviewConsent != null && commandControl.CurrentEndUser.UserNo.Equals(vo.createUserId)) {
  365. // 임시저장의 경우 삭제의 메뉴와 이벤트를 할당한다
  366. if(vo.consentState.Equals("TEMP") || vo.consentState.Equals("ELECTR_CMP")) {
  367. ContextMenuStrip strip = new ContextMenuStrip();
  368. ToolStripMenuItem deleteRecord = new ToolStripMenuItem();
  369. deleteRecord.Text = "삭제";
  370. strip.Items.Add(deleteRecord);
  371. deleteRecord.Click += new EventHandler(deleteRecord_Click);
  372. e.ContextMenuStrip = strip;
  373. }
  374. }
  375. }
  376. }
  377. private void RunConsentDualView() {
  378. if(this.consentMain == null) consentMain = ConsentMainControl.GetConsentMainInterface(this);
  379. if(this.commandControl == null) commandControl = consentMain.ConsentCommandCtrl as ConsentCommandCtrl;
  380. commandControl.RunConsentDualView();
  381. }
  382. /// <summary>
  383. /// dataGridViewConsentSelectResult 그리드 컨트롤의 data binding 이 끝난 후 이벤트
  384. /// 미작성인 경우, 배경색과 글씨색을 RED 로 변경.
  385. /// </summary>
  386. /// <param name="sender">The source of the event.</param>
  387. /// <param name="e">The <see cref="DataGridViewBindingCompleteEventArgs"/> instance containing the event data.</param>
  388. private void dataGridViewConsentSelectResult_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e) {
  389. foreach(DataGridViewRow row in dataGridViewConsentSelectResult.Rows) {
  390. if(!string.IsNullOrEmpty(row.Cells["consentStateEng"].Value.ToString())) {
  391. if(row.Cells["consentStateEng"].Value.ToString().ToUpper() == "UNFINISHED") {
  392. row.DefaultCellStyle.ForeColor = System.Drawing.Color.Red;
  393. }
  394. }
  395. }
  396. }
  397. /// <summary>
  398. /// 동의서 삭제
  399. /// </summary>
  400. /// <param name="sender">The source of the event.</param>
  401. /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
  402. private void deleteRecord_Click(object sender, EventArgs e) {
  403. if(consentMain == null) consentMain = ConsentMainControl.GetConsentMainInterface(this);
  404. if(commandControl == null) commandControl = consentMain.ConsentCommandCtrl as ConsentCommandCtrl;
  405. bool bDel = true;
  406. ReasonForUseN reasonForUseN = new ReasonForUseN(bDel);
  407. if(reasonForUseN.ShowDialog() == DialogResult.OK) {
  408. string reason = reasonForUseN.GetReasonForUseN();
  409. reasonForUseN.Close();
  410. if(this.dataGridViewConsentSelectResult.SelectedRows.Count != 0) {
  411. Cursor currentCursor = this.Cursor;
  412. try {
  413. this.Cursor = Cursors.WaitCursor;
  414. ConsentVO vo = GetCurrentConsentVO(this.dataGridViewConsentSelectResult.SelectedRows[0].Index);
  415. commandControl.CurrentPreviewConsent.ReissueConsentMstRid = vo.consentMstRid;
  416. //consentMain.ConsentCommandCtrl.DeleteRecordOfDeleteConsent(reason);
  417. consentMain.ConsentListCtrl.InquiryConsentData(-1);
  418. }
  419. catch(Exception ex) {
  420. throw ex;
  421. }
  422. finally {
  423. this.Cursor = currentCursor;
  424. }
  425. MessageBox.Show(string.Format(Properties.Resources.msg_consent_record_deleted)
  426. , string.Format(Properties.Resources.msg_caption_confirm), MessageBoxButtons.OK, MessageBoxIcon.Information);
  427. }
  428. }
  429. }
  430. #endregion
  431. private void btnSearch_Click(object sender, EventArgs e) {
  432. btnSearch.Enabled = false;
  433. Application.DoEvents();
  434. InitDataGrid();
  435. BindDataGridRows(0);
  436. btnSearch.Enabled = true;
  437. }
  438. }
  439. }