123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Drawing;
- using System.Data;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using CLIP.eForm.Consent.UI.HospitalSvcRef;
- namespace CLIP.eForm.Consent.UI {
- public partial class PatientSelectTabExam : UserControl {
- private IConsentMain consentMain = null;
- private ConsentCommandCtrl commandControl = null;
- private HospitalSvcRef.HospitalSvcSoapClient hospitalWebService = null;
- private string userSelectedBaseCds = string.Empty;
- public PatientSelectTabExam() {
- InitializeComponent();
- }
- /// <summary>
- /// UserControl 페이지 로드 이벤트
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void PatientSelectTabExam_Load(object sender, EventArgs e) {
- if (this.DesignMode || LicenseManager.UsageMode == LicenseUsageMode.Designtime) {
- return;
- }
- consentMain = ConsentMainControl.GetConsentMainInterface(this);
- commandControl = consentMain.ConsentCommandCtrl as ConsentCommandCtrl;
- hospitalWebService = WebMethodCommon.GetHospitalWebService(consentMain.PluginExecuteInfo["hospitalSvcUrl"]);
- // todt 를 오늘 날자로 설정
- this.todt.Value = DateTime.Now;
- this.fromdt.Value = DateTime.Now;
- initGrid();
- }
- private void initGrid() {
- this.gridPatientList.AutoGenerateColumns = false;
- this.gridPatientList.AllowUserToAddRows = false;
- CommonUtil.AddNewColumnToDataGridView(this.gridPatientList, "등록번호", "pid", true, 80);
- CommonUtil.AddNewColumnToDataGridView(this.gridPatientList, "성명", "hngnm", true, 60);
- CommonUtil.AddNewColumnToDataGridView(this.gridPatientList, "진료/입원일", "indd", true, 100);
- CommonUtil.AddNewColumnToDataGridView(this.gridPatientList, "진료과", "deptnm", true, 100);
- CommonUtil.AddNewColumnToDataGridView(this.gridPatientList, "진료의", "doctornm", true, 80);
- CommonUtil.AddNewColumnToDataGridView(this.gridPatientList, "ER접수과", "erorddeptnm", false, 100);
- CommonUtil.AddNewColumnToDataGridView(this.gridPatientList, "ER진료의", "ermedispclnm", false, 80);
- //dataGridViewPatientSelectResult.Columns["colCheck"].Visible = false;
- }
-
- /// <summary>
- /// 지원부서설정 버튼 클릭 이벤트
- /// 팝업창을 호출하여 사용자가 선택한 지원부서를 저장한다.
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void setSupportDepts_Click(object sender, EventArgs e) {
- // 지원부서설정 폼 호출
- using(var supportDeptsForm = new SetSupportDeptsForm(consentMain.ConsentExecuteInfo["dutinstcd"],
- commandControl.CurrentEndUser.userId,
- commandControl.CurrentEndUser.supportDeptcd,
- commandControl.CurrentEndUser.supportBaseCd,
- consentMain.ConsentExecuteInfo["sysInstNm"])) {
- var result = supportDeptsForm.ShowDialog();
- if(result == DialogResult.OK) {
- // 사용자가 저장한 지원부서 목록을 설정
- commandControl.CurrentEndUser.supportBaseCd = supportDeptsForm.supportBaseCd;
- commandControl.CurrentEndUser.supportDeptcd = supportDeptsForm.supportDeptCd;
- }
- }
- }
- public Hashtable getQueryString() {
- //var result = new {
- // fromdd = dateTimePickerClnDate.Value.ToString("yyyyMMdd"),
- // wardcd = (this.comboWard.Items.Count > 0) ? this.comboWard.SelectedValue.ToString().Trim() : "",
- // deptcd = (this.comboDept.Items.Count > 0) ? this.comboDept.SelectedValue.ToString().Trim() : "",
- // doctorId = (this.comboDoctor.Items.Count > 0) ? this.comboDoctor.SelectedValue.ToString().Trim() : ""
- //};
- string fromdt = this.fromdt.Value.ToString("yyyyMMdd");
- string todt = this.todt.Value.ToString("yyyyMMdd");
- string pid = this.txtBoxPid.Text;
- string mainDr = this.mainDr.Text;
- string strGubun = "";
- string mainDrChecked = "Y";
- string supportBaseCd = commandControl.CurrentEndUser.supportBaseCd;
- string supportDeptcd = commandControl.CurrentEndUser.supportDeptcd;
- if (this.radioGubunAll.Checked) {
- strGubun = "";
- } else {
- RadioButton rdoTemp = null;
- if (this.radioGubunOut.Checked) {
- rdoTemp = radioGubunOut;
- } else if (this.radioGubunIn.Checked) {
- rdoTemp = radioGubunIn;
- } else if (this.radioGubunEx.Checked) {
- rdoTemp = radioGubunEx;
- }
- strGubun = rdoTemp.Tag.ToString();
- }
- if (this.chkIsMainD.Checked == true) {
- // 대가대 요청사항
- mainDrChecked = "N";
- }
- Hashtable result = new Hashtable();
- result.Add("pid", pid);
- result.Add("srchDd", fromdt);
- result.Add("toDd", todt);
- result.Add("mainDr", mainDr);
- result.Add("mainDrChecked", mainDrChecked);
- result.Add("supportBaseCd", supportBaseCd);
- result.Add("supportDeptCd", supportDeptcd);
- result.Add("patientState", strGubun);
- result.Add("ordType", "EX");
- return result;
- }
- /// <summary>
- /// 키보드 입력
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void textBoxSearchText_KeyDown(object sender, KeyEventArgs e) {
- if (e.KeyCode == Keys.Enter) {
- buttonPatientSelect.PerformClick();
- }
- }
- private string getSelectedPatientState() {
- RadioButton rdoTemp = null;
- if (this.radioGubunAll.Checked) {
- rdoTemp = radioGubunAll;
- }
- else if (this.radioGubunIn.Checked) {
- rdoTemp = radioGubunIn;
- } else if (this.radioGubunOut.Checked) {
- rdoTemp = radioGubunOut;
- } else if (this.radioGubunEx.Checked) {
- rdoTemp = radioGubunEx;
- }
- return rdoTemp.Tag.ToString();
- }
- /// <summary>
- /// 검사실 환자 목록 조회
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void buttonPatientSelect_Click(object sender, EventArgs e) {
- var pid = this.txtBoxPid.Text.Trim();
- var patientState = getSelectedPatientState();
- var maindDrStr = this.mainDr.Text.Trim();
- var isMaindD = this.chkIsMainD.Checked; // true 면 cnfmmaind, false 면 cnfmmaind2 비교
- var isMaindDParam = "Y";
- if (isMaindD) {
- isMaindDParam = "N";
- }
- Cursor currentCursor = this.Cursor;
- this.Cursor = Cursors.WaitCursor;
- PatListVO[] patlistVos = null;
- try {
- patlistVos = hospitalWebService.GetPatientExListPC("EX",
- this.todt.Value.ToString("yyyyMMdd"),
- this.fromdt.Value.ToString("yyyyMMdd"),
- commandControl.CurrentEndUser.supportBaseCd,
- commandControl.CurrentEndUser.supportDeptcd,
- pid,
- patientState,
- isMaindDParam,
- maindDrStr
- );
- }
- catch(Exception ex) {
- }
- finally {
- this.Cursor = currentCursor;
- }
- if (patlistVos == null) {
- return;
- }
- this.gridPatientList.DataSource = new SortableBindingList<PatListVO>(patlistVos);
- }
- /// <summary>
- /// 환자를 선택 시 CurrentTargetPatient 로 설정해 준다
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void gridPatientList_CellContentClick(object sender, DataGridViewCellEventArgs e) {
- if (e.RowIndex > -1) {
- PatListVO vo = this.gridPatientList.Rows[e.RowIndex].DataBoundItem as PatListVO;
- consentMain.PatientListCtrl.SetChangePID(vo);
- }
- }
- }
- }
|