다른화면으로 부터 데이터 전달 받음
단독화면 불가일때 잘보기
/*=====================================================================================
프로젝트명 : AMIS3.0
프로그램ID : VHMGCPJ416S
업 무 명 : 판정권고사항
최초작성일 : 2022.11.29
개 발 자 : 박민준
참고사항 :
변경이력 :
====================================================================================*/
using AMIS3.UIFramework;
using AMIS3.UIFramework.DataModel;
using AMIS3.UIFramework.UI;
using AMIS3.UIFramework.UI.Controls;
using System;
using System.Collections.Generic;
using System.Data;
using System.Text;
using AMIS3.HM.ZZ;
namespace AMIS3.HM.GC.PJ416
{
public partial class VHMGCPJ416S : ScreenBase, ISmartToolbar
{
private object oSynthCd;
// 2022.11.24 / 박민준 / 해당 콤보박스 종합코드 받는 전역변수 추가
private String classify;
public List<ActionButtonItem> ActionButtonItems { get; set; }
private DataTable dtList = new DataTable();
private Dictionary<string, object> mCreateParam;
GZCDCORCD mTextCode;
public VHMGCPJ416S()
{
InitializeComponent();
SetControl();
SetEvent();
mTextCode = new ZZ.GZCDCORCD("CanStomach1", "CanStomach2", "CanLung", "CanCervix", "CanBreast", "CanLiver", "CanColon1", "CanColon2", "CanColon3");
}
private void SetEvent()
{
DocumentService.ChangeActionButtons(this);
}
private void SetControl()
{
// 그리드 row순번표시
grvSuasion.SetCustomDrawRowIndicatorRowNum();
}
private void VHMGCPJ416S_Shown(object sender, EventArgs e)
{
VerifiedForm();
}
// 2022.12.16 / 박민준 / 콤보박스에 데이터가 없을시 단독으로 띄울수 없게 추가
private void VerifiedForm()
{
if (mCreateParam == null)
{
AMessageBox.Show("경고", "해당화면은 단독으로 띄울수 없습니다.");
this.Close();
}
}
// 2022.11.29 / 박민준 / 데이터 전달 받는 메서드 추가
public override object OnObjectDicReceived(string senderScreen, string messageID, Dictionary<string, object> objectDic)
{
#region ...
mCreateParam = objectDic;
if (objectDic.ContainsKey("synthCd"))
{
oSynthCd = objectDic["synthCd"];
}
// pj410에서 전달한 데이터를 받아오는 부분
string some = objectDic["key"].ToString();
// 위암
if (some == "stomachCancerA") // 위장조영
{
InitComboBoxStmCancerA();
}
if (some == "stomachCancerB") // 위내시경
{
InitComboBoxStmCancerB();
}
// 대장암
if (some == "CanColonA") // 분변잠혈검사
{
InitComboBoxCanColonA();
}
if (some == "CanColonB") // 대장이중조영검사
{
InitComboBoxCanColonB();
}
if (some == "CanColonC") // 대장내시경
{
InitComboBoxCanColonC();
}
if (some == "CanLiverA") // 간암
{
InitComboBoxCanLiverA();
}
if (some == "CanCervixA") // 자궁경부암
{
InitComboBoxCanCervixA();
}
if (some == "CanBreastA") // 유방암
{
InitComboBoxCanBreastA();
}
if (some == "CanLungA") // 폐암
{
InitComboBoxCanLungA();
}
return String.Empty;
#endregion
}
// 2022.11.29 / 박민준 / 위장조영 전용 콤보박스 추가
public void InitComboBoxStmCancerA()
{
#region ...
DataTable dt = new DataTable();
dt.Columns.Add("Text");
dt.Columns.Add("Value");
dt.Rows.Add("1.이상소견없음 또는 위염", "1");
dt.Rows.Add("2.양성질환", "2");
dt.Rows.Add("3.위암 의심", "3");
dt.Rows.Add("4.위암", "4");
dt.Rows.Add("5.기타()", "5");
cbtest.SetDataSource(dt, "Text", "Value", AComboFirstValueType.All);
classify = "CanStomach1";
// 2022.11.29 / 박민준 / 전용 콤보박스 생성 동시에 전체 검색.
GetCodeList();
#endregion
}
// 2022.11.29 / 박민준 / 위내시경 전용 콤보박스 추가
public void InitComboBoxStmCancerB()
{
#region ...
DataTable dt = new DataTable();
dt.Columns.Add("Text");
dt.Columns.Add("Value");
dt.Rows.Add("1:이상소견없음 또는 위염", "1");
dt.Rows.Add("2:양성질환", "2");
dt.Rows.Add("3:위암 의심", "3");
dt.Rows.Add("4:위암", "4");
dt.Rows.Add("5:기타()", "5");
cbtest.SetDataSource(dt, "Text", "Value", AComboFirstValueType.All);
classify = "CanStomach2";
// 2022.11.29 / 박민준 / 전용 콤보박스 생성 동시에 전체 검색.
GetCodeList();
#endregion
}
// 2022.11.29 / 박민준 / 분변잠혈반응검사 전용 콤보박스 추가
public void InitComboBoxCanColonA()
{
#region ...
DataTable dt = new DataTable();
dt.Columns.Add("Text");
dt.Columns.Add("Value");
dt.Rows.Add("1:이상소견없음 또는 위염", "1");
dt.Rows.Add("2:대장폴립(용종)", "2");
dt.Rows.Add("3:대장암 의심", "3");
dt.Rows.Add("4:대장암", "4");
dt.Rows.Add("5:기타", "5");
dt.Rows.Add("6:잠혈반응없음", "6");
dt.Rows.Add("7:잠혈반응있음", "7");
cbtest.SetDataSource(dt, "Text", "Value", AComboFirstValueType.All);
classify = "CanColon1";
// 2022.11.29 / 박민준 / 전용 콤보박스 생성 동시에 전체 검색.
GetCodeList();
#endregion
}
// 2022.11.29 / 박민준 / 대장이중조영검사 전용 콤보박스 추가
public void InitComboBoxCanColonB()
{
#region ...
DataTable dt = new DataTable();
dt.Columns.Add("Text");
dt.Columns.Add("Value");
dt.Rows.Add("1:이상소견없음 또는 위염", "1");
dt.Rows.Add("2:대장폴립(용종)", "2");
dt.Rows.Add("3:대장암 의심", "3");
dt.Rows.Add("4:대장암", "4");
dt.Rows.Add("5:기타", "5");
dt.Rows.Add("6:잠혈반응없음", "6");
dt.Rows.Add("7:잠혈반응있음", "7");
cbtest.SetDataSource(dt, "Text", "Value", AComboFirstValueType.All);
classify = "CanColon2";
// 2022.11.29 / 박민준 / 전용 콤보박스 생성 동시에 전체 검색.
GetCodeList();
#endregion
}
// 2022.11.29 / 박민준 / 대장내시경 전용 콤보박스 추가
public void InitComboBoxCanColonC()
{
#region ...
DataTable dt = new DataTable();
dt.Columns.Add("Text");
dt.Columns.Add("Value");
dt.Rows.Add("1:이상소견없음 또는 위염", "1");
dt.Rows.Add("2:대장폴립(용종)", "2");
dt.Rows.Add("3:대장암 의심", "3");
dt.Rows.Add("4:대장암", "4");
dt.Rows.Add("5:기타", "5");
dt.Rows.Add("6:잠혈반응없음", "6");
dt.Rows.Add("7:잠혈반응있음", "7");
cbtest.SetDataSource(dt, "Text", "Value", AComboFirstValueType.All);
classify = "CanColon3";
// 2022.11.29 / 박민준 / 전용 콤보박스 생성 동시에 전체 검색.
GetCodeList();
#endregion
}
// 2022.11.29 / 박민준 / 간암 전용 콤보박스 추가
private void InitComboBoxCanLiverA()
{
#region ...
DataTable dt = new DataTable();
dt.Columns.Add("Text");
dt.Columns.Add("Value");
dt.Rows.Add("1:간암 의심소견 없음", "1");
dt.Rows.Add("2:추적검사 요망(3개월 이내)", "2");
dt.Rows.Add("3:간암 의심(정밀 검사 요망)", "3");
dt.Rows.Add("4:기타", "4");
cbtest.SetDataSource(dt, "Text", "Value", AComboFirstValueType.All);
classify = "CanLiver";
// 2022.11.29 / 박민준 / 전용 콤보박스 생성 동시에 전체 검색.
GetCodeList();
#endregion
}
// 2022.11.29 / 박민준 / 자궁경부암 전용 콤보박스 추가
private void InitComboBoxCanCervixA()
{
#region ...
DataTable dt = new DataTable();
dt.Columns.Add("Text");
dt.Columns.Add("Value");
dt.Rows.Add("1:이상소견없음", "1");
dt.Rows.Add("2:반응성 소견 및 감염성 질환", "2");
dt.Rows.Add("3:비정형 상피세포 이상", "3");
dt.Rows.Add("4:자궁경부암 전구단계 의심", "4");
dt.Rows.Add("5:자궁경부암의심", "5");
dt.Rows.Add("6:기타", "6");
cbtest.SetDataSource(dt, "Text", "Value", AComboFirstValueType.All);
classify = "CanCervix";
// 2022.11.29 / 박민준 / 전용 콤보박스 생성 동시에 전체 검색.
GetCodeList();
#endregion
}
// 2022.11.29 / 박민준 / 유방암 전용 콤보박스 추가
private void InitComboBoxCanBreastA()
{
#region ...
DataTable dt = new DataTable();
dt.Columns.Add("Text");
dt.Columns.Add("Value");
dt.Rows.Add("1:이상소견없음", "1");
dt.Rows.Add("2:양성질환", "2");
dt.Rows.Add("3:유방암의심", "3");
dt.Rows.Add("4:판정유보", "4");
cbtest.SetDataSource(dt, "Text", "Value", AComboFirstValueType.All);
classify = "CanBreast";
// 2022.11.29 / 박민준 / 전용 콤보박스 생성 동시에 전체 검색.
GetCodeList();
#endregion
}
// 2022.11.29 / 박민준 / 폐암 전용 콤보박스 추가
private void InitComboBoxCanLungA()
{
#region ...
DataTable dt = new DataTable();
dt.Columns.Add("Text");
dt.Columns.Add("Value");
dt.Rows.Add("1:이상소견없음", "1");
dt.Rows.Add("2:양성결절", "2");
dt.Rows.Add("3:경계선 결절", "3");
dt.Rows.Add("4:폐암의심", "4");
dt.Rows.Add("4:폐암 매우 의심", "5");
cbtest.SetDataSource(dt, "Text", "Value", AComboFirstValueType.All);
classify = "CanLung";
// 2022.11.29 / 박민준 / 전용 콤보박스 생성 동시에 전체 검색.
GetCodeList();
#endregion
}
// 2022.11.29 / 박민준 / 콤보박스 컨텐츠 선택
private void cbtest_SelectedIndexChanged(object sender, EventArgs e)
{
AComboBox cb = sender as AComboBox;
cbtest.Text = cb.SelectedItem.ToString();
cbtest.EditValue = cb.EditValue.ToString();
}
// 조회하기 버튼 이벤트
private void btnSearch_Click(object sender, EventArgs e)
{
GetCodeList();
}
// 2022.11.29 / 박민준 / 해당 테이블 생성
private void GetCodeList()
{
try
{
dtList = new DataTable();
DataTable dtCanStomach1 = mTextCode.Get("CanStomach1");
DataTable dtCanStomach2 = mTextCode.Get("CanStomach2");
DataTable dtCanLung = mTextCode.Get("CanLung");
DataTable dtCanCervix = mTextCode.Get("CanCervix");
DataTable dtCanBreast = mTextCode.Get("CanBreast");
DataTable dtCanLiver = mTextCode.Get("CanLiver");
DataTable dtCanColon1 = mTextCode.Get("CanColon1");
DataTable dtCanColon2 = mTextCode.Get("CanColon2");
DataTable dtCanColon3 = mTextCode.Get("CanColon3");
dtList = mTextCode.Get(classify).Copy();
dtList.Columns["dtlCd"].ColumnName = "dtlCd";
dtList.Columns["korNm"].ColumnName = "korNm";
dtList.Columns["engNm"].ColumnName = "engNm";
dtList.Columns["atriVal1"].ColumnName = "atriVal1";
dtList.AcceptChanges();
dtList.DefaultView.Sort = "dtlCd ASC";
grdSuasion.DataSource = dtList;
}
catch (Exception ex)
{
AMessageBox.Show("에러", ex.Message);
return;
}
}
// 조회하면서 해당 권고사항 반환하기
private void btnConfirm_Click(object sender, EventArgs e)
{
OnOkAction();
}
// 2022.11.29 / 박민준 / 선택한 권고사항을 해당 판정폼에 전달
private void OnOkAction()
{
// 해당 선택한 열의 권고사항 컬럼값을 StringBuilder로 생성한후 각 화면에 다시 데이터를 반환함.
#region ...
StringBuilder sb = new StringBuilder();
foreach (int id in grvSuasion.GetSelectedRows())
{
sb.Append(grvSuasion.GetRowCellValue(id, "atriVal1") as object);
}
// 위장조영일때
if (classify == "CanStomach1")
{
Dictionary<string, object> dicRes = new Dictionary<string, object>();
dicRes.Add("CanStomach1", sb);
object ret = this.SendObjectDicToScreen("VHMGCPJ410S", "Msg01", dicRes, "AMIS3.HM.GC.PJ410.dll");
//this.ParentForm.Close();
this.Close();
}
// 위내시경일때
if (classify == "CanStomach2")
{
Dictionary<string, object> dicRes = new Dictionary<string, object>();
dicRes.Add("CanStomach2", sb);
object ret = this.SendObjectDicToScreen("VHMGCPJ410S", "Msg01", dicRes, "AMIS3.HM.GC.PJ410.dll");
this.Close();
}
// 분변잠혈반응검사
if (classify == "CanColon1")
{
Dictionary<string, object> dicRes = new Dictionary<string, object>();
dicRes.Add("CanColon1", sb);
object ret = this.SendObjectDicToScreen("VHMGCPJ411S", "Msg01", dicRes, "AMIS3.HM.GC.PJ411.dll");
this.Close();
}
// 대장이중조영검사
if (classify == "CanColon2")
{
Dictionary<string, object> dicRes = new Dictionary<string, object>();
dicRes.Add("CanColon2", sb);
object ret = this.SendObjectDicToScreen("VHMGCPJ411S", "Msg01", dicRes, "AMIS3.HM.GC.PJ411.dll");
this.Close();
}
// 대장내시경
if (classify == "CanColon3")
{
Dictionary<string, object> dicRes = new Dictionary<string, object>();
dicRes.Add("CanColon3", sb);
object ret = this.SendObjectDicToScreen("VHMGCPJ411S", "Msg01", dicRes, "AMIS3.HM.GC.PJ411.dll");
this.Close();
}
// 간암
if (classify == "CanLiver")
{
Dictionary<string, object> dicRes = new Dictionary<string, object>();
dicRes.Add("CanLiver", sb);
object ret = this.SendObjectDicToScreen("VHMGCPJ412S", "Msg01", dicRes, "AMIS3.HM.GC.PJ412.dll");
this.Close();
}
// 자궁경부암
if (classify == "CanCervix")
{
Dictionary<string, object> dicRes = new Dictionary<string, object>();
dicRes.Add("CanCervix", sb);
object ret = this.SendObjectDicToScreen("VHMGCPJ413S", "Msg01", dicRes, "AMIS3.HM.GC.PJ413.dll");
this.Close();
}
// 유방암
if (classify == "CanBreast")
{
Dictionary<string, object> dicRes = new Dictionary<string, object>();
dicRes.Add("CanBreast", sb);
object ret = this.SendObjectDicToScreen("VHMGCPJ414S", "Msg01", dicRes, "AMIS3.HM.GC.PJ414.dll");
this.Close();
}
if (classify == "CanLung")
{
Dictionary<string, object> dicRes = new Dictionary<string, object>();
dicRes.Add("CanLung", sb);
object ret = this.SendObjectDicToScreen("VHMGCPJ415S", "Msg01", dicRes, "AMIS3.HM.GC.PJ415.dll");
this.Close();
}
#endregion
}
}
}