ConsentListCtrl.cs 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. using System;
  2. using System.ComponentModel;
  3. namespace CLIP.eForm.Consent.UI {
  4. /// <summary>
  5. /// 동의서 목록 클래스
  6. /// </summary>
  7. /// <remarks>
  8. /// <p>[설계자]</p>
  9. /// <p> 클립소프트 연구소 홍지철 (jchong@clipsoft.co.kr)</p>
  10. /// <p>[원본 작성자]</p>
  11. /// <p> 클립소프트 기술부 이창훈 (chlee@clipsoft.co.kr)</p>
  12. /// <p>[수정 작성자]</p>
  13. /// <p> 클립소프트 기술부 이인희</p>
  14. /// <p>----------------------------------------------------------------------------------------</p>
  15. /// <p>[HISTORY]</p>
  16. /// <p> 2016-06-21 : 최초작성</p>
  17. /// <p>----------------------------------------------------------------------------------------</p>
  18. /// </remarks>
  19. public partial class ConsentListCtrl: ConsentListCtrlBase {
  20. private IConsentMain consentMain = null;
  21. private ConsentCommandCtrl commandControl = null;
  22. public ConsentListCtrl() {
  23. InitializeComponent();
  24. }
  25. protected override void OnLoad(EventArgs e) {
  26. base.OnLoad(e);
  27. if(this.DesignMode || LicenseManager.UsageMode == LicenseUsageMode.Designtime) {
  28. return;
  29. }
  30. consentMain = ConsentMainControl.GetConsentMainInterface(this);
  31. commandControl = consentMain.ConsentCommandCtrl as ConsentCommandCtrl;
  32. consentMain.OnLoadPartControls += ConsentMain_OnLoadPartControls;
  33. // dbs227, 임시 탭 삭제
  34. // knuh dependency
  35. tabControlConsentSelect.TabPages.RemoveAt(1);
  36. }
  37. private void ConsentMain_OnLoadPartControls(object sender, EventArgs e) {
  38. if(this.DesignMode || LicenseManager.UsageMode == LicenseUsageMode.Designtime) {
  39. return;
  40. }
  41. if(consentMain == null)
  42. consentMain = ConsentMainControl.GetConsentMainInterface(this);
  43. if(commandControl == null)
  44. commandControl = consentMain.ConsentCommandCtrl as ConsentCommandCtrl;
  45. // Ku2.0 연동 시에는 이벤트 태우지 않음
  46. if(consentMain.ConsentExecuteInfo["printYN"].Equals("Y")) {
  47. return;
  48. }
  49. SetConsentListSplitPanelVisibility(consentMain);
  50. // dbs227, 기본탭 변경
  51. this.tabControlConsentSelect.SelectedTab = this.tabControlConsentSelect.TabPages["tabPageAll"];
  52. //this.tabControlConsentSelect.SelectedTab = this.tabControlConsentSelect.TabPages["tabPageUnfinished"];
  53. }
  54. /// <summary>
  55. /// 동의서목록 탭 보이기 여부
  56. /// </summary>
  57. /// <param name="consentMain">The consent main.</param>
  58. private static void SetConsentListSplitPanelVisibility(IConsentMain consentMain) {
  59. if(!(string.IsNullOrEmpty(consentMain.ConsentExecuteInfo["useListView"])) && consentMain.ConsentExecuteInfo["useListView"].Equals("Y")) {
  60. consentMain.SetConsentListSplitPanelVisibility(true);
  61. }
  62. else {
  63. consentMain.SetConsentListSplitPanelVisibility(false);
  64. }
  65. }
  66. /// <summary>
  67. /// tabControlConsentSelect 컨트롤의 SelectedIndexChanged 이벤트 핸들러
  68. /// </summary>
  69. /// <param name="sender">The source of the event.</param>
  70. /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
  71. private void tabControlConsentSelect_SelectedIndexChanged(object sender, EventArgs e) {
  72. // 탭이 선택될때 재조회해서 그리드 바인딩
  73. if(tabControlConsentSelect.SelectedIndex == 0) {
  74. if(this.tabControlConsentSelect.TabPages["tabPageAll"].Controls.Count > 0) {
  75. ConsentSelectTabPageAll consentSelectTabPageAll = this.tabControlConsentSelect.TabPages["tabPageAll"].Controls[0] as ConsentSelectTabPageAll;
  76. consentSelectTabPageAll.BindDataGridRows();
  77. }
  78. }
  79. // if (tabControlConsentSelect.SelectedIndex == 1) {
  80. // if (this.tabControlConsentSelect.TabPages["tabPageUnfinished"].Controls.Count > 0) {
  81. // ConsentSelectTabPageUnfinished consentSelectTabPageUnfinished = this.tabControlConsentSelect.TabPages["tabPageUnfinished"].Controls[0] as ConsentSelectTabPageUnfinished;
  82. //consentSelectTabPageUnfinished.BindDataGridRows(-1);
  83. //}
  84. //} else
  85. if(tabControlConsentSelect.SelectedIndex == 2) {
  86. if(this.tabControlConsentSelect.TabPages["tabPageConsentSet"].Controls.Count > 0) {
  87. ConsentSelectTabPageConsentSet consentSelectTabPageConsentSet = this.tabControlConsentSelect.TabPages["tabPageConsentSet"].Controls[0] as ConsentSelectTabPageConsentSet;
  88. consentSelectTabPageConsentSet.InitConsentSetTreeView();
  89. }
  90. }
  91. //if (consentMain == null) consentMain = ConsentMainControl.GetConsentMainInterface(this);
  92. //consentMain.ClearConsent();
  93. }
  94. //환자목록에서 더블클릭했을 경우, 선택된 환자 정보로 상단정보를 재조회한다.
  95. public override void OnRefeashPartControls() {
  96. if (consentMain == null)
  97. consentMain = ConsentMainControl.GetConsentMainInterface(this);
  98. if (consentMain.multiParams == null)
  99. {
  100. consentMain.ReInitializeViewer();
  101. }
  102. // 동의서 이력 탭을 자동 조회 하도록
  103. ConsentSelectTabPageAll consentSelectTabPageAll = this.tabControlConsentSelect.TabPages["tabPageAll"].Controls[0] as ConsentSelectTabPageAll;
  104. consentSelectTabPageAll.BindDataGridRows();
  105. // dbs227, 임시 탭 삭제
  106. // knuh dependency
  107. //pageMove_tabPageConsentUnfinished(consentMain); //미작성 탭을 기본으로 선택
  108. SetConsentListSplitPanelVisibility(consentMain);
  109. }
  110. // 동의서 목록 재조회 (미작성 동의서 삭제, 임시저장용 재조회, 인쇄출력용 재조회, 저장용(저장후 닫힘이 아닌 경우))
  111. public override void InquiryConsentData(int consentMstRid) {
  112. if(consentMstRid > 0) {
  113. // dbs227 임시 탭 삭제
  114. // knuh dependency
  115. this.tabControlConsentSelect.SelectedIndex = 0;
  116. ConsentSelectTabPageAll consentSelectTabPageAll = this.tabControlConsentSelect.TabPages["tabPageAll"].Controls[0] as ConsentSelectTabPageAll;
  117. consentSelectTabPageAll.BindDataGridRows();
  118. // -- 기존 루틴
  119. //this.tabControlConsentSelect.SelectedIndex = 1;
  120. //ConsentSelectTabPageUnfinished consentSelectTabPageUnfinished = this.tabControlConsentSelect.TabPages["tabPageUnfinished"].Controls[0] as ConsentSelectTabPageUnfinished;
  121. //consentSelectTabPageUnfinished.SelectAllUnfinishedConsents(consentMstRid);
  122. }
  123. else {
  124. if(this.tabControlConsentSelect.SelectedIndex != 0) {
  125. this.tabControlConsentSelect.SelectedIndex = 0;
  126. }
  127. else {
  128. ConsentSelectTabPageAll consentSelectTabPageAll = this.tabControlConsentSelect.TabPages["tabPageAll"].Controls[0] as ConsentSelectTabPageAll;
  129. consentSelectTabPageAll.BindDataGridRows();
  130. }
  131. }
  132. // 기저 클래스의 매서드는 아무 동작을 하지 않는다
  133. base.InquiryConsentData(-1);
  134. }
  135. /// <summary>
  136. /// 발행리스트 탭 갱신, dbs227, 경대병원 dependency
  137. /// </summary>
  138. public override void consentSelectTabPageAllRefresh() {
  139. ConsentSelectTabPageAll consentSelectTabPageAll = this.tabControlConsentSelect.TabPages["tabPageAll"].Controls[0] as ConsentSelectTabPageAll;
  140. consentSelectTabPageAll.BindDataGridRows();
  141. }
  142. // 미작성 탭으로 이동
  143. public override void pageMove_tabPageConsentUnfinished(IConsentMain consentMain) {
  144. if(this.tabControlConsentSelect.TabPages["tabPageUnfinished"].Controls.Count > 0) {
  145. this.tabControlConsentSelect.SelectedTab = this.tabControlConsentSelect.TabPages["tabPageUnfinished"];
  146. ConsentSelectTabPageUnfinished consentSelectTabPageUnfinished = this.tabControlConsentSelect.TabPages["tabPageUnfinished"].Controls[0] as ConsentSelectTabPageUnfinished;
  147. consentSelectTabPageUnfinished.BindDataGridRows(-1);
  148. }
  149. ConsentSelectTabPageAll consentSelectTabPageAll = this.tabControlConsentSelect.TabPages["tabPageAll"].Controls[0] as ConsentSelectTabPageAll;
  150. consentSelectTabPageAll.clearSearchStartDate();
  151. }
  152. public void changeInDd(string inDd)
  153. {
  154. ConsentSelectTabPageAll consentSelectTabPageAll = this.tabControlConsentSelect.TabPages["tabPageAll"].Controls[0] as ConsentSelectTabPageAll;
  155. consentSelectTabPageAll.dateTimePickerStartDate.Value = DateTime.ParseExact(inDd, "yyyyMMdd", null);
  156. }
  157. }
  158. }