2022.11.29 TIL

SaGo_MunGcci·2022년 11월 29일
0

C#

목록 보기
9/27

pj416


using AMIS3.UIFramework;
using AMIS3.UIFramework.Communication;
using AMIS3.UIFramework.DataModel;
using AMIS3.UIFramework.FxExtension;
using AMIS3.UIFramework.UI;
using AMIS3.UIFramework.UI.Controls;
using DevExpress.XtraEditors.Repository;
using DevExpress.XtraGrid.Columns;
using DevExpress.XtraGrid.Views.Grid;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
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();

        public VHMGCPJ416S()
        {
            InitializeComponent();

            SetControl();

            SetEvent();



        }

        private void VHMGCPJ416S_Load(object sender, EventArgs e)
        {           
            

        }

        private void SetControl()
        {
            
            DocumentService.ChangeActionButtons(this);

            // 그리드 row순번표시
            grvSuasion.SetCustomDrawRowIndicatorRowNum();


        }

        private void SetEvent()
        {

        }

        // 원본
        //public override object OnObjectDicReceived(string senderScreen, string messageID, Dictionary<string, object> objectDic)
        //{
        //    if (objectDic.ContainsKey("synthCd"))
        //    {
        //        oSynthCd = objectDic["synthCd"];
        //    }

        //    return string.Empty;
        //}

        // 2022.11.29 / 박민준 / 데이터 전달 받는 메서드 추가
        public override object OnObjectDicReceived(string senderScreen, string messageID, Dictionary<string, object> 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;


        }

        // 2022.11.29 / 박민준 / 위장조영 전용 콤보박스 추가
        public void InitComboBoxStmCancerA()
        {
            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();

        }


        // 2022.11.29 / 박민준 / 위내시경 전용 콤보박스 추가
        public void InitComboBoxStmCancerB()
        {
            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();

        }

        // 2022.11.29 / 박민준 / 분변잠혈반응검사 전용 콤보박스 추가
        public void InitComboBoxCanColonA()
        {
            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();

        }

        // 2022.11.29 / 박민준 / 대장이중조영검사 전용 콤보박스 추가
        public void InitComboBoxCanColonB()
        {
            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();

        }

        // 2022.11.29 / 박민준 / 대장내시경 전용 콤보박스 추가
        public void InitComboBoxCanColonC()
        {
            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();

        }

        // 2022.11.29 / 박민준 / 간암 전용 콤보박스 추가
        private void InitComboBoxCanLiverA()
        {
            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();
        }

        // 2022.11.29 / 박민준 / 자궁경부암 전용 콤보박스 추가
        private void InitComboBoxCanCervixA()
        {
            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();

        }

        // 2022.11.29 / 박민준 / 유방암 전용 콤보박스 추가
        private void InitComboBoxCanBreastA()
        {
            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();
        }

        // 2022.11.29 / 박민준 / 폐암 전용 콤보박스 추가
        private void InitComboBoxCanLungA()
        {
            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();
        }


        // 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();

            //MessageBox.Show("콤보 텍스트 : " + cbtest.Text);
            //MessageBox.Show("콤보 벨류 : " + cbtest.EditValue);
        }

        // 조회하기 버튼 이벤트
        private void btnSearch_Click(object sender, EventArgs e)
        {
            GetCodeList();
        }

        // 2022.11.29 / 박민준 / 해당 테이블 생성 
        private void GetCodeList()
        {

            cbtest.EditValue = cbtest.EditValue.ToString();

            //MessageBox.Show("콤보 텍스트 : " + cbtest.Text);
            //MessageBox.Show("콤보 벨류 : " + cbtest.EditValue);

            //String[] strArr = new string[] { (string) cbtest.EditValue };

            try
            {
                ZZ.GZCDCORCD TextCode = new ZZ.GZCDCORCD("CanStomach1", "CanStomach2", "CanLung", "CanCervix", "CanBreast", "CanLiver", "CanColon1", "CanColon2", "CanColon3");
                //ZZ.GZCDCORCD TextCode = new ZZ.GZCDCORCD(strArr);

                dtList = new DataTable();

                DataTable dtCanStomach1 = TextCode.Get("CanStomach1");
                DataTable dtCanStomach2 = TextCode.Get("CanStomach2");
                DataTable dtCanLung = TextCode.Get("CanLung");
                DataTable dtCanCervix = TextCode.Get("CanCervix");
                DataTable dtCanBreast = TextCode.Get("CanBreast");
                DataTable dtCanLiver = TextCode.Get("CanLiver");
                DataTable dtCanColon1 = TextCode.Get("CanColon1");
                DataTable dtCanColon2 = TextCode.Get("CanColon2");
                DataTable dtCanColon3 = TextCode.Get("CanColon3");



                //dtList = TextCode.Get(Convert.ToString(oSynthCd)).Copy();
                dtList = TextCode.Get(classify).Copy();  

                dtList.Columns["dtlCd"].ColumnName = "dtlCd";
                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로 생성
            StringBuilder sb = new StringBuilder();

            foreach (int id in grvSuasion.GetSelectedRows())
            {
                //list.Add(grvSuasion.GetRow(id) as object);
                sb.Append(grvSuasion.GetRowCellValue(id,"atriVal1") as object);

            }

            //MessageBox.Show(Convert.ToString(sb));

            // 위장조영일때
            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();

            }

            






        }





    }
}

pj410

/*=====================================================================================
프로젝트명 : AMIS3.0
프로그램ID : VHMGCPJ410S
업  무  명 : 암검진 위암판정
최초작성일 : 2022.09.01
개  발  자 :  
참고사항   :  form_Cd = PS20220101  from_ver_cd =PS2022010101
변경이력   : 
====================================================================================*/

using AMIS3.HM.ZZ.ZZLIB003.Controls;
using AMIS3.HM.ZZ.ZZLIB003.Mvc.Utils;
using AMIS3.UIFramework;
using AMIS3.UIFramework.DataModel;
using AMIS3.UIFramework.FxExtension;
using AMIS3.UIFramework.UI;
using AMIS3.UIFramework.UI.Controls;
using DevExpress.XtraGrid.Views.Grid;
using System;
using System.Collections.Generic;
using System.Data;
using System.Windows.Forms;
using AMIS3.HM.ZZ;

namespace AMIS3.HM.GC.PJ410
{
    public partial class VHMGCPJ410S : ScreenBase, ISmartToolbar
    {
               
        public List<ActionButtonItem> ActionButtonItems { get; set; } = new List<ActionButtonItem>();

        DataTable svDt = null;
        PreData searchParam = null;
        APanelControl pn = new APanelControl();
        string sPatno = "";
        string sheDt = "";
        long vistSn = 0;
        string doclicnsNo = "";          // 의사면허번호
        string doctorId = "";            // 의사아이디
        string doctorNm = "";            // 의사명
        string judgDt = "";              // 판정일자
        string gubun = "";               // 탭구분
        string rsltPrntDt = "";          // 서식출력일
        UserT UserInfo = null;

        private string strJudgDivCd = "S";                    //판정구분  S : 위암
        private string strFormCd = "PS20220101";              //서식코드
        private string strFormVerCd = "PS2022010101";         //서식버전 코드

        public VHMGCPJ410S()
        {

            InitializeComponent();
            UserInfo = SecurityWrapper.Instance.SecurityService.GetUserInfo(this);
            GetDoctorLicnsNo cs = new GetDoctorLicnsNo(UserInfo.usrId);
            if (cs != null)
            {
                doclicnsNo = cs.GetLicnsNo();       // 의사면허번호
                doctorId = cs.GetDoctorId();        // 의사아이디
                doctorNm = cs.GetDoctorNm();        // 의사명
            }
            SetEvent();
            SetControl();
        }

        // 2022.11.29 / 박민준 / 권고사항 선택한 것들을 받아서 위장조영, 위내시경 Edittext에 출력하기
        public override object OnObjectDicReceived(string senderScreen, string messageID, Dictionary<string, object> objectDic)
        {
            
            string some = String.Empty;

            if (objectDic.ContainsKey("CanStomach1"))
            {
                 some = objectDic["CanStomach1"].ToString();

                txtGastroGraphyJudge.Text = some;
            }
            else if(objectDic.ContainsKey("CanStomach2"))
            {
                some = objectDic["CanStomach2"].ToString();

                txtGastroBiopsyJudge.Text = some;
            }

            return String.Empty;
        }


            private void SetEvent()
        {
            //그리드 행 선택시
            grvPatList.RowCellClick += (sender, e) =>
            {
                Screen_Clear();

                GridView gv = sender as GridView;
                if (!gv.IsValidRowHandle(e.RowHandle)) return;

                sPatno = grvPatList.GetFocusedRowCellValue("patno").ToString();
                string sPatNm = grvPatList.GetFocusedRowCellValue("patNm").ToString();
                sheDt = grvPatList.GetFocusedRowCellValue("heDt").ToString().Replace("-", "");
                string ssexAge = grvPatList.GetFocusedRowCellValue("sexage").ToString();
                vistSn = grvPatList.GetFocusedRowCellValue("vistSn").ToStringDefault("0").ToLong();
                rsltPrntDt = grvPatList.GetFocusedRowCellValue("rsltPrntDt").ToStringDefault();        // 결과물출력일자
                gubun = grvPatList.GetFocusedRowCellValue("heBasisPkgCd").ToStringDefault();

                if ("gcS01".Equals(gubun))
                {
                    this.tbCtrlJudge.TabPages[0].PageEnabled = true;
                    this.tbCtrlJudge.TabPages[1].PageEnabled = false;
                    pn = this.gcS01;
                }
                else
                {
                    this.tbCtrlJudge.TabPages[0].PageEnabled = false;
                    this.tbCtrlJudge.TabPages[1].PageEnabled = true;
                    pn = this.gcS02;
                }

                lblSelHedt.Text = sheDt;
                lblSelName.Text = sPatNm;
                lblSelPatno.Text = sPatno;
                lblSelSexAge.Text = ssexAge;

                searchParam = new PreData()
                {
                    ["patno"] = sPatno,
                    ["heDt"] = sheDt,
                    ["vistSn", ADataType.L] = vistSn,
                    ["formCd"] = strFormCd,
                    ["formVerCd"] = strFormVerCd,
                    ["heFormDivCd"] = strJudgDivCd
                };
                retrievetItemInfo(searchParam);     // 서식데이터조회
            };
            SetDoctorInfo();
            this.cboGastroGraphy1.SelectedIndexChanged += (s, e) => { ControlEnabled(cboGastroGraphy1, grpGastroGraphy2); };
            this.cboGastroGraphy2.SelectedIndexChanged += (s, e) => { ControlEnabled(cboGastroGraphy2, grpGastroGraphy3); };
            this.cboGastroGraphy3.SelectedIndexChanged += (s, e) => { ControlEnabled(cboGastroGraphy3, null); };
            this.cboGastroScopy1.SelectedIndexChanged += (s, e) => { ControlEnabled(cboGastroScopy1, grpGastroScopy2); };
            this.cboGastroScopy2.SelectedIndexChanged += (s, e) => { ControlEnabled(cboGastroScopy2, grpGastroScopy3); };
            this.cboGastroScopy3.SelectedIndexChanged += (s, e) => { ControlEnabled(cboGastroScopy3, null); };
            this.cboGastroBiopsy.SelectedIndexChanged += (s, e) =>
            {
                if ((string)cboGastroBiopsy.EditValue == "8")
                {
                    grpGastroBiopyEtc.Enabled = true;
                }
                else
                {
                    grpGastroBiopyEtc.Enabled = false;
                    GroupPanelResetInLoop(grpGastroBiopyEtc);
                }
            };

            this.rdoGrpGastroBiopsy.SelectedIndexChanged += (s, e) =>
            {
                if ((string)rdoGrpGastroBiopsy.EditValue == "1")
                {
                    grpGastroBiopsy.Enabled = true;
                    grpGastroForcep.Enabled = true;
                    grpGastroBiopsyKind.Enabled = true;
                }
                else
                {
                    grpGastroBiopsy.Enabled = false;
                    grpGastroForcep.Enabled = false;
                    grpGastroBiopsyKind.Enabled = false;

                    GroupPanelResetInLoop(grpGastroBiopsy);
                    GroupPanelResetInLoop(grpGastroForcep);
                    GroupPanelResetInLoop(grpGastroBiopsyKind);
                }
            };

            //위장조영 종합판정 기타
            this.cboGastroGraphyJudge.SelectedIndexChanged += (s, e) =>
            {
                if ((string)cboGastroGraphyJudge.EditValue == "5")
                {
                    txtGastroGraphyJudgeEtc.Enabled = true;
                }
                else
                {
                    txtGastroGraphyJudgeEtc.Enabled = false;
                    txtGastroGraphyJudgeEtc.Text = "";
                }
            };

            //위내시경 종합판정 기타
            this.cboGastroBiopsyJudge.SelectedIndexChanged += (s, e) =>
            {
                if ((string)cboGastroBiopsyJudge.EditValue == "5")
                {
                    txtGastroBiopsyJudgeEtc.Enabled = true;
                }
                else
                {
                    txtGastroBiopsyJudgeEtc.Enabled = false;
                    txtGastroBiopsyJudgeEtc.Text = "";
                }
            };

            //각 판정부분의 기타 체크
            this.chkGraphyEtc8.CheckedChanged += (s, e) => { TextboxEnabledByCheckbox(chkGraphyEtc8, txtGastroGraphyEtc); };
            this.chkScopyEtc8.CheckedChanged += (s, e) => { TextboxEnabledByCheckbox(chkScopyEtc8, txtGastroScopyEtc); };
            this.chkBiopsy14.CheckedChanged += (s, e) => { TextboxEnabledByCheckbox(chkBiopsy14, txtGastroBiopsyEtc); };
            this.chkBiopsyEtc8.CheckedChanged += (s, e) => { TextboxEnabledByCheckbox(chkBiopsyEtc8, txtGastroBiopsyEtcEtc); };
        }


        private void SetControl()
        {
            tbCtrlJudge.SetControlClear();              //판정탭 초기화
            grpGastroGraphy2.Enabled = false;
            grpGastroGraphy3.Enabled = false;
            grpGastroGraphyEtc.Enabled = false;
            txtGastroGraphyJudge.Text = "";
            txtGastroGraphyEtc.Text = "";

            grpGastroScopy2.Enabled = false;
            grpGastroScopy3.Enabled = false;
            grpGastroScopyEtc.Enabled = false;
            grpGastroBiopsy.Enabled = false;
            grpGastroForcep.Enabled = false;
            grpGastroBiopsyKind.Enabled = false;
            grpGastroBiopyEtc.Enabled = false;
            txtGastroScopyEtc.Text = "";
            txtGastroBiopsyEtc.Text = "";
            txtGastroBiopsyEtcEtc.Text = "";
            txtGastroBiopsyJudge.Text = "";
            rdoGrpGastroBiopsy.SelectedIndex = 1;

            ActionBtnSetting();
        }

        // 2022.11.29 / 박민준 / 액션버튼 추가
        // 엑션버튼 디폴트(처음 생성 될때니까 위장조영으로 맞춰져 있어야 한다.)
        private void ActionBtnSetting()
        {

            ActionButtonItems = new List<ActionButtonItem>();


            ActionButtonItems.Add(new ActionButtonItem
            {
                Text = "판정 권고사항(위장조영)",
                Idx = 0,
                IsImportant = false,
                Permissions = "W",
                ClickAction = DataToPj416A,
                Name = "actPj416"
            });
            

            ActionButtonItems.Add(new ActionButtonItem
            {
                Text = "저장",
                Idx = 1,
                IsImportant = true,
                Permissions = "W",
                ClickAction = OnSaveAction,
                Name = "actSave"
            });            

            btnAction.Items = ActionButtonItems;
            //DocumentService.ChangeActionButtons(this);
            //btnAction.FallDownMenuWidth = 80;
            btnAction.FallDownMenuWidth = 180;            
        }

        // 위내시경 검사 및 조직진단 탭 누를시
        private void ActionBtnSetting1()
        {
            ActionButtonItems = new List<ActionButtonItem>();


            ActionButtonItems.Add(new ActionButtonItem
            {
                Text = "판정 권고사항(위내시경)",
                Idx = 0,
                IsImportant = false,
                Permissions = "W",
                ClickAction = DataToPj416B,
                Name = "actPj416"
            });
            //
            // 위장조영일때 위내시경일때 actonbutton이 달라야 한다.

            ActionButtonItems.Add(new ActionButtonItem
            {
                Text = "저장",
                Idx = 1,
                IsImportant = true,
                Permissions = "W",
                ClickAction = OnSaveAction,
                Name = "actSave"
            });

            btnAction.Items = ActionButtonItems;
            //DocumentService.ChangeActionButtons(this);
            //btnAction.FallDownMenuWidth = 80;
            btnAction.FallDownMenuWidth = 180;
        }


        // 2022.11.29 / 박민준 / 액션버튼 (생성된후 다시 탭을 누를 경우)
        private void tbCtrlJudge_Click(object sender, EventArgs e)
        {

            if (tbCtrlJudge.SelectedTabPageIndex == 0)
            {
                ActionBtnSetting();
                //AMessageBox.ShowInstant("탭1");
            }
            else if (tbCtrlJudge.SelectedTabPageIndex == 1)
            {
                ActionBtnSetting1();
                //AMessageBox.ShowInstant("탭2");
            }  
       
        }

        // 2022.11.29 / 박민준 / pj416 판정 권고사항 데이터 넘기는 이벤트(위장조영)
        private void DataToPj416A()
        {
            Dictionary<string, object> testDic = new Dictionary<string, object>();

            testDic.Add("key", "stomachCancerA");

            object ret = this.SendObjectDicToScreen("VHMGCPJ416S", "Msg01", testDic, true, "AMIS3.HM.GC.PJ416.dll");
        }

        // 2022.11.29 / 박민준 / pj416 판정 권고사항 데이터 넘기는 이벤트(위내시경)
        private void DataToPj416B()
        {
            Dictionary<string, object> testDic = new Dictionary<string, object>();

            testDic.Add("key", "stomachCancerB");

            object ret = this.SendObjectDicToScreen("VHMGCPJ416S", "Msg01", testDic, true, "AMIS3.HM.GC.PJ416.dll");
        }


        private void SetDoctorInfo()
        {
            if("".Equals(txtLno1.EditValue.ToStringDefault())) this.txtLno1.EditValue = doclicnsNo;
            if ("".Equals(txtLno2.EditValue.ToStringDefault())) this.txtLno2.EditValue = doclicnsNo;
            if ("".Equals(txtDoctorNm1.EditValue.ToStringDefault())) this.txtDoctorNm1.EditValue = doctorNm;        // 의사명
            if ("".Equals(txtDoctorNm2.EditValue.ToStringDefault())) this.txtDoctorNm2.EditValue = doctorNm;
        }

        /// <summary>
        /// 텍스트박스 활성여부 
        /// </summary>
        /// <param name="chkGraphyEtc8">동작 체크박스</param>
        /// <param name="txtGastroGraphyEtc">대상 텍스트박스</param>
        private void TextboxEnabledByCheckbox(ACheckEdit chkBox, ATextEdit txtBox)
        {
            if (chkBox.Checked == true)
            {
                txtBox.Enabled = true;
            }
            else
            {
                txtBox.Enabled = false;
                txtBox.Text = "";
            }
        }

        /// <summary>
        /// 컨테이너 컨트롤내 속해있는 컨트롤 초기화
        /// </summary>
        /// <param name="grpCtrl">대상컨테이너</param>
        private void GroupPanelResetInLoop(AGroupControl grpCtrl)
        {
            foreach (Control ctl in grpCtrl.Controls)
            {
                if (ctl is ACheckEdit)
                {
                    ((ACheckEdit)ctl).Checked = false;
                }
                else if (ctl is ATextEdit)
                {
                    ((ATextEdit)ctl).Text = "";
                }
                else if (ctl is ARadioGroup)
                {
                    ((ARadioGroup)ctl).EditValue = "0";
                }
                else if (ctl is AComboBox)
                {
                    ((AComboBox)ctl).SelectedIndex = 0;
                }
            }
        }

        /// <summary>
        /// 컨트롤 세팅
        /// </summary>
        /// <param name="cboCtrl"></param>
        /// <param name="grpCtrl"></param>
        private void ControlEnabled(AComboBox cboCtrl, AGroupControl grpCtrl)
        {
            if (cboCtrl.Text.Trim() != "")
            {
                if (grpCtrl != null) { grpCtrl.Enabled = true; } 
            }
            else
            {
                if (grpCtrl != null) 
                { 
                    grpCtrl.Enabled = false; 
                    GroupPanelResetInLoop(grpCtrl); 
                }
                
            }

            //위조영 판독소견 기타 선택시 기타항목 활성화
            if ((string)cboGastroGraphy1.EditValue == "9" ||
                (string)cboGastroGraphy2.EditValue == "9" ||
                (string)cboGastroGraphy3.EditValue == "9")
            {
                grpGastroGraphyEtc.Enabled = true;
            }
            else
            {
                grpGastroGraphyEtc.Enabled = false;
                GroupPanelResetInLoop(grpGastroGraphyEtc);
            }

            //위내시경 관찰소견 기타 선택시 기타항목 활성화
            if ((string)cboGastroScopy1.EditValue == "9" ||
                (string)cboGastroScopy2.EditValue == "9" ||
                (string)cboGastroScopy3.EditValue == "9")
            {
                grpGastroScopyEtc.Enabled = true;
            }
            else
            {
                grpGastroScopyEtc.Enabled = false;
                GroupPanelResetInLoop(grpGastroScopyEtc);
            }
        }

        private void VHMGCPJ410S_Load(object sender, EventArgs e)
        {
            dcHeDt.ToDateTime = DateTime.Today.AddDays(3);
            dcHeDt.FromDateTime = DateTime.Today;
        }


        private void Screen_Clear()
        {
            this.pn.SetControlClear();
        }

        /// <summary>
        /// 수진자목록
        /// </summary>
        private async void retrievePatInfo()
        {
            PreData preDt = new PreData();
            if (dcHeDt.FromDateTime == null
                || dcHeDt.ToDateTime == null)
            {
                AMessageBox.ShowDialog(this, "필수", "조회기간을 선택하세요");
                return;
            }

            preDt["startDt"] = dcHeDt.FromDateTime.ToString("yyyyMMdd");
            preDt["endDt"] = dcHeDt.ToDateTime.ToString("yyyyMMdd");
            preDt["patno"] = txtPatno.EditValue.ToStringDefault();
            preDt["gubun"] = this.aTabControl1.SelectedTabPage.Name.ToString();
            preDt["heFormDivCd"] = strJudgDivCd;
            preDt["heBasisPkgCd"] = "gcS";     // 위암

            AmcData amcDataParam = new AmcData
            {
                preDatas = new PreDatas
                {
                    { "IPD",  preDt }
                }
            };

            AmcData resultList = await CommService.CallServiceAsync("SHMGC3105R", amcDataParam, this, LoadingType.BlockLoad);

            // 4.응답전문 =>  DT 변환
            if (resultList.IsSuccess)
            {
                DataTable returnDT = resultList.recordSets["ORS"].ToDataTable();
                this.grdPatList.DataSource = returnDT;
            }
        }
        /// <summary>
        /// 서식데이터조회
        /// </summary>
        /// <param name="searchParam"></param>
        private async void retrievetItemInfo(PreData searchParam)
        {

            AmcData amcDataParam = new AmcData
            {
                preDatas = new PreDatas
                {
                    { "IPD",  searchParam }
                }
            };

            AmcData resultList = await CommService.CallServiceAsync("SHMGC3103R", amcDataParam, this, LoadingType.BlockLoad);

            // 4.응답전문 =>  DT 변환
            if (resultList.IsSuccess)
            {
                DataTable returnItem = resultList.recordSets["ORS_ITEM"].ToDataTable();
                if (returnItem.Rows.Count > 0)
                {
                    pn.SetData(returnItem, "itemCd", "answer");
                }
                SetDoctorInfo();
            }
        }
        /// <summary>
        /// 저장
        /// </summary>
        private void OnSaveAction()
        {
            SvCallSaveInfo();

        }

        private async void SvCallSaveInfo()
        {
            if (!("").Equals(rsltPrntDt))
            {
                AMessageBox.Show("", "결과지를 출력한 서식은 수정할수 없습니다. ");
                return;
            }
            // 저장로직 처리
            svDt = new DataTable();
            AmcData amcDataParam = new AmcData();
            amcDataParam.recordSets = new RecordSets();
            amcDataParam.preDatas = new PreDatas();
            if ("gcS01".Equals(gubun))
            {
                judgDt = this.txtPanJDt1.EditValue.ToDate().ToString("yyyyMMdd");
            }
            else
            {
                judgDt = this.txtPanJDt2.EditValue.ToDate().ToString("yyyyMMdd");
            }
                //판정상태변경
            PreData sParam = new PreData();
            sParam["patno"] = sPatno;
            sParam["vistSn", ADataType.L] = vistSn;
            sParam["heDt"] = sheDt;
            sParam["heFormDivCd"] = strJudgDivCd;
            sParam["judgDt"] = judgDt;
            sParam["judgDrLcnsNo"] = this.doclicnsNo;

            svDt.SetSvDataTable("판정", strJudgDivCd, strFormCd, strFormVerCd, sPatno, sheDt, vistSn, false);
            pn.GetData(ref svDt, "itemItemCd", "itemResultVal");

            amcDataParam.recordSets.Add("IRS", svDt.ToRecordSet(true));
            amcDataParam.preDatas.Add("IPD", sParam);      //  상태값변경

            var responseData = await CommService.CallServiceAsync("SHMGC3001T", amcDataParam);

            AMessageBox.ShowInstant(this, responseData.header.message);

            //성공인 경우, 재 조회~
            if (string.Equals(responseData.header.resultCode, "S"))
            {
                AMessageBox.Show("저장완료", "정상적으로 수정되었습니다.", AMessageType.OK);
                retrievetItemInfo(searchParam);    // 재조회
            }
            else
            {
                AMessageBox.Show("저장에러", responseData.header.message, AMessageType.Error);
            }
        }

        /// <summary>
        /// 조회
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSearch_Click(object sender, EventArgs e)
        {
            retrievePatInfo();
            SetDoctorInfo();
        }


        private void aTabControl1_Click(object sender, EventArgs e)
        {
            retrievePatInfo();
            this.grdPatList.DataSource = null;
            this.pn.SetControlClear();
            SetDoctorInfo();
        }

       
    }
}


db


<!--  건강검진종합출력서식항목코드목록조회 -->
    <select id="retrieveHeSynthOutFormClauCdList" parameterType="String" resultType="kr.amc.amis.hm.gz.cd.entity.HeSynthOutFormClauCdDTO">
        <![CDATA[
            SELECT /* SQLID=kr.amc.amis.hm.gz.cd.store.mapper.HeSynthOutFormClauCdMapper.retrieveHeSynthOutFormClauCdList */
                   ORCD.SYNTH_CD
                 , ORCD.DTL_CD
                 , ORCD.ST_DT
                 , ORCD.END_DT
                 , ORCD.KOR_NM
                 , ORCD.ENG_NM
                 , ORCD.SORT_SEQ
                 , ORCD.BNDL_KOR_NM
                 , ORCD.BNDL_ENG_NM
                 , ORCD.ATRI_VAL1
                 , ORCD.ATRI_VAL2
                 , ORCD.ATRI_VAL3
                 , ORCD.ATRI_VAL4
                 , ORCD.ATRI_VAL5
                 , ORCD.ATRI_VAL6
                 , ORCD.ATRI_VAL7
                 , ORCD.ATRI_CNTE
                 , ORCD.KOR_DESC
                 , ORCD.ENG_DESC
                 , ORCD.CRTE_CNTE
                 , ORCD.ENG_CRTE_CNTE
                 , ORCD.MSR_KOR_NM
                 , ORCD.MSR_ENG_NM
                 , ORCD.RMRK
                 , ORCD.FRST_ENTR_EMPNO || ' ' || FN_ZZ_GET_USER_NM(ORCD.FRST_ENTR_EMPNO) AS FRST_ENTR_EMPNO
                 , ORCD.FRST_ENTR_DTM
                 , ORCD.FINL_UPID_EMPNO || ' ' || FN_ZZ_GET_USER_NM(ORCD.FINL_UPID_EMPNO) AS FINL_UPID_EMPNO
                 , ORCD.FINL_UPDT_DTM
              FROM GZCDCORCD ORCD
             WHERE ORCD.SYNTH_CD = #{synthCd}
               AND SYSDATE BETWEEN TO_DATE(ORCD.ST_DT,'YYYYMMDD') AND TO_DATE(ORCD.END_DT||'235959','YYYYMMDDHH24MISS')
             ORDER BY ORCD.SORT_SEQ
        ]]>
    </select>

profile
이리저리 생각만 많은 사고뭉치입니다.

0개의 댓글