예제 #1
0
 public frm_ScheduleProperties(ScheduledControl _ScheduledControl,int Device_ID)
 {
     InitializeComponent();
     this.Device_ID = Device_ID;
     this._ScheduledControl = _ScheduledControl;
     this.KeyDown += new KeyEventHandler(frm_ScheduleProperties_KeyDown);
     this.Load += new EventHandler(frm_ScheduleProperties_Load);
 }
예제 #2
0
파일: DROC.cs 프로젝트: khaha2210/radio
 void _ScheduledControl__OnRejectScheduleDoubleClick(ScheduledControl obj)
 {
     if (chkClick2FireEvent.ImageIndex == 1) return;
     RejectImage(obj);
 }
예제 #3
0
파일: DROC.cs 프로젝트: khaha2210/radio
        void RejectImage(ScheduledControl _reObj)
        {
            try
            {
                if (new frm_LargeMsgBox(MultiLanguage.GetText(globalVariables.DisplayLanguage, "XÁC NHẬN CHỤP LẠI", "Reject confirm"), MultiLanguage.GetText(globalVariables.DisplayLanguage, "Bạn có chắc chắn muốn thực hiện chụp lại cho dịch vụ đang chọn hay không?", "Do you want to reject this image?"), MultiLanguage.GetText(globalVariables.DisplayLanguage, "ĐỒNG Ý", "Yes"), MultiLanguage.GetText(globalVariables.DisplayLanguage, "KHÔNG ĐỒNG Ý", "No")).ShowDialog() != DialogResult.OK) return;

                mdlStatic.isDisplayImg = true;
                if (new RegDetailController().RejectImage(Convert.ToInt64(_reObj.DETAIL_ID)) == ActionResult.Success)
                {
                    UpdateScheduledStatus(_reObj, 0);
                    UpdateAcqStatus(_reObj.DETAIL_ID, 0);
                    DeletefileAndClearImg(_reObj);
                    _reObj.Invalidate();
                    cmdReady.Tag = "R";
                    cmdReady.Enabled = _reObj != null && _reObj.Status == 0;
                    mdlStatic.isDisplayImg = false;
                    mdlStatic.SetMsg(lblAcqMsg, MultiLanguage.GetText(globalVariables.DisplayLanguage, "Đã hủy kết quả chụp ảnh của dịch vụ đang chọn!", "Rejected"), false);
                }
            }
            catch
            {
            }
            finally
            {

                isLoadding = false;
                mdlStatic.isDisplayImg = false;
                ModifyAcqButton();
            }
        }
예제 #4
0
파일: DROC.cs 프로젝트: khaha2210/radio
        void UpdateScheduledStatus(ScheduledControl _Obj, int Status)
        {
            try
            {
                foreach (Control ctr in pnlScheduled.Controls)
                {
                    ScheduledControl _reObj = ctr as ScheduledControl;
                    if (_reObj.DETAIL_ID == _Obj.DETAIL_ID)
                    {

                        _reObj.ResetStatus(Status);
                        m_objCurrScheduledControl = _reObj;
                        return;
                    }
                }

            }
            catch
            {

            }
        }
예제 #5
0
파일: DROC.cs 프로젝트: khaha2210/radio
        void ShortCut2AddProc(string ACODE, string PCODE, bool AutoSelectNotDone, ref int _detailId)
        {
            try
            {
                using (frm_Choose_Anotomy_Projection _Choose_Anotomy_Projection = new frm_Choose_Anotomy_Projection(-1))
                {
                    _Choose_Anotomy_Projection.InitComponents();
                    bool _Success = false;
                    _Choose_Anotomy_Projection.AutoSelectAnatomy(ACODE, PCODE, ref _Success);
                    if (_Success)
                    {
                        if (m_dtAcquisitionDataSource == null || m_dtAcquisitionDataSource.Columns.Count <= 0 || m_dtAcquisitionDataSource.Rows.Count <= 0)
                        {
                            m_dtAcquisitionDataSource = new RegDetailController().GetAllData(-1).Tables[0];
                        }
                        DataRow dr;
                        if (m_dtAcquisitionDataSource.Rows.Count > 0)
                        {
                            dr = m_dtAcquisitionDataSource.Rows[0];
                            if (dr["reg_id"].ToString() == "-1") dr["REG_ID"] = currREGID;
                        }
                        else
                        {
                            dr = m_dtAcquisitionDataSource.NewRow();
                            dr["UsingGrid"] = 0;
                            dr["STATUS"] = 0;
                            dr["IMGNAME"] = "";
                            dr["PRINTCOUNT"] = 0;
                            dr["EXPOSURECOUNT"] = 0;
                            dr["HOST"] = "127.0.0.1";

                            dr["IMGDATA"] = DBNull.Value;
                            dr["REG_NUMBER"] = txtRegNumber2.Text.Trim();
                            dr["REG_ID"] = currREGID;


                        }
                        DataTable dtAP = _Choose_Anotomy_Projection.AP_DataSource.Select("CHON=1").CopyToDataTable();
                        DataRow newdr = m_dtAcquisitionDataSource.NewRow();
                        Utility.CopyData(dr, ref newdr);
                        if (dtAP != null)
                        {
                            string SeriesInstanceUID = "";
                            foreach (DataRow drAP in dtAP.Rows)
                            {
                                RegDetailInfor infor = new RegDetailInfor();

                                int NextSeriesInstanceUID = MaxSeriesInstanceUID + 1;
                                SeriesInstanceUID = CurrStudyInstanceUID + "." + NextSeriesInstanceUID.ToString();
                                MaxSeriesInstanceUID = NextSeriesInstanceUID;
                                newdr["DETAIL_ID"] = -1;
                                newdr["StudyInstanceUID"] = CurrStudyInstanceUID;
                                //SeriesInstanceUID=StudyInstanceUID+Số thứ tự dịch vụ trong lần đăng ký đó
                                newdr["SeriesInstanceUID"] = SeriesInstanceUID;
                                //SOPInstanceUID=SeriesInstanceUID+Số lần chụp của dịch vụ đó. 
                                //SOPInstanceUID chỉ thay đổi khi dịch vụ này đang có ảnh và lại được chụp lại
                                newdr["SOPInstanceUID"] = SeriesInstanceUID + ".1";
                                newdr["REG_ID"] = dr["REG_ID"];
                                newdr["ANATOMY_CODE"] = drAP["ANATOMY_CODE"];
                                newdr["BODYSIZE_CODE"] = _Choose_Anotomy_Projection.BODYSIZE_CODE;
                                newdr["UsingGrid"] = 0;
                                newdr["PROJECTION_CODE"] = drAP["PROJECTION_CODE"];
                                newdr["DISPLAY_NAME"] = drAP["ANATOMY_CODE"];
                                newdr["STANDARD_NAME"] = drAP["ANATOMY_CODE"];
                                newdr["DirectionCapture"] = 0;
                                newdr["STATUS"] = 0;
                                newdr["STATUS_NAME"] = "";
                                Utility.MapValueFromEntityIntoObjectInfor(infor, newdr);
                                if (new RegDetailController(infor).Insert() == ActionResult.Success)
                                {
                                    newdr["DETAIL_ID"] = infor.DETAIL_ID;
                                    _detailId = Convert.ToInt32(infor.DETAIL_ID);
                                    decimal _kVp = 0M;
                                    int _mA = 0;
                                    int _mAs = 0;
                                    GetAPParams(_Choose_Anotomy_Projection.APParams_DataSource, infor.ANATOMY_CODE, infor.PROJECTION_CODE, infor.BODYSIZE_CODE, ref _kVp, ref _mA, ref _mAs);
                                    //Add new Scheduled Control
                                    ScheduledControl _Scheduled = new ScheduledControl(txtImgDir.Text.Trim() + @"\" + txtRegNumber2.Text.Trim() + "_" + infor.DETAIL_ID.ToString(), (int)infor.REG_ID, (int)infor.DETAIL_ID, CurrStudyInstanceUID, SeriesInstanceUID, newdr["SOPInstanceUID"].ToString(), infor.ANATOMY_CODE, infor.PROJECTION_CODE, infor.BODYSIZE_CODE, Utility.sDbnull(drAP["VN_ANATOMY_NAME"], ""), Utility.sDbnull(drAP["EN_ANATOMY_NAME"], ""), Utility.sDbnull(drAP["VN_PROJECTION_NAME"], ""), Utility.sDbnull(drAP["EN_PROJECTION_NAME"], ""), _Choose_Anotomy_Projection.BODYSIZE_NAME, _Choose_Anotomy_Projection.BODYSIZE_NAME, _kVp, _mA, _mAs, Utility.Int32Dbnull(drAP["A_STT"], 0), Utility.Int32Dbnull(drAP["P_STT"], 0), 0, 0);
                                    Size originalSize = _Scheduled.Size;
                                    _Scheduled._OnClick += new ScheduledControl.OnClick(_ScheduledControl__OnClick);
                                    _Scheduled.ContextMenuStrip = ctx;
                                    _Scheduled._OnNewScheduleClick += new ScheduledControl.OnNewScheduleClick(_ScheduledControl__OnNewScheduleClick);
                                    _Scheduled._OnRejectScheduleClick += new ScheduledControl.OnRejectScheduleClick(_ScheduledControl__OnRejectScheduleClick);
                                    _Scheduled._OnDelScheduleClick += new ScheduledControl.OnDelScheduleClick(_ScheduledControl__OnDelScheduleClick);

                                    _Scheduled._OnNewScheduleDoubleClick += new ScheduledControl.OnNewScheduleDoubleClick(_ScheduledControl__OnNewScheduleDoubleClick);
                                    _Scheduled._OnRejectScheduleDoubleClick += new ScheduledControl.OnRejectScheduleDoubleClick(_ScheduledControl__OnRejectScheduleDoubleClick);
                                    _Scheduled._OnDelScheduleDoubleClick += new ScheduledControl.OnDelScheduleDoubleClick(_ScheduledControl__OnDelScheduleDoubleClick);




                                    _Scheduled._OnKeyDown += new ScheduledControl.OnKeyDown(_ScheduledControl__OnKeyDown);
                                    AutoAddNewSchedule(_Scheduled);
                                    //pnlScheduled.Controls.Add(_Scheduled);
                                    _Scheduled.Size = new Size(124, 71);

                                    if (_Scheduled != null)
                                    {
                                        //Nếu chưa có kết quả thì tự động chọn và scroll tới
                                        AutoScroll2NewSchedule(_Scheduled);
                                        //pnlScheduled.ScrollControlIntoView(_Scheduled);
                                        _Scheduled._AnatomyObject.PerformClick();
                                    }
                                }

                                m_dtAcquisitionDataSource.Rows.Add(newdr);
                                m_dtAcquisitionDataSource.AcceptChanges();
                                newdr = m_dtAcquisitionDataSource.NewRow();
                            }
                        }


                        if (!AcquisitionFromWL)
                        {
                            //string[] Img = Utility.sDbnull(currentStudyRow["Img"]).Split('/');
                            //currentStudyRow["Img"] = Img[0] + "/" + (Convert.ToInt64(Img[1]) + _newForm.arrProc.Count).ToString();
                            //currentStudyRow["Img1"] = currentStudyRow["Img"];
                        }
                        //Update Procedure List to DB and Datasource
                        string ProcedureList = GetProcedureList();
                        new RegDetailController().UpdateProcedureList(Convert.ToInt64(dr["REG_ID"]), ProcedureList);
                        //Update Dataset
                        DataRow[] drWL = m_dtWLDataSource.Select("Reg_ID=" + Convert.ToInt64(dr["REG_ID"]));
                        DataRow[] drST = m_dtStudyListDataSource.Select("Reg_ID=" + Convert.ToInt64(dr["REG_ID"]));
                        if (drWL.Length > 0)
                            drWL[0]["ProcedureList"] = ProcedureList;
                        if (drST.Length > 0)
                            drST[0]["ProcedureList"] = ProcedureList;
                        m_dtWLDataSource.AcceptChanges();
                        m_dtStudyListDataSource.AcceptChanges();
                    }
                }
            }
            catch (Exception ex)
            {
                AppLogger.LogAction.AddLog2List(lstFPD560, "Action: Lỗi khi tạo DV mới-->" + ex.Message);
            }
            finally
            {
                if (AutoSelectNotDone)
                {
                    ScheduledControl _reObj = GetSelectedScheduled_NOTDONE();
                    if (_reObj != null)
                    {
                        //Nếu chưa có kết quả thì tự động
                        _reObj._AnatomyObject.PerformClick();
                    }
                }
            }

        }
예제 #6
0
파일: DROC.cs 프로젝트: khaha2210/radio
        /// <summary>
        /// 
        /// </summary>
        /// <param name="obj"></param>
        void _ScheduledControl__OnClick(ScheduledControl obj)
        {
            AUTO_FLIPV = 0;
            AUTO_FLIPH = 0;
            LARGE_FOCUS = 1;
            ScheduledControl _reObj = null;
            try
            {
                _isUseNewAPI = false;
              

                if (_AppMode == AppType.AppEnum.AppMode.Demo) _ViewState = AppType.AppEnum.ViewState.Ready;
                pnlScheduled.Enabled = _AppMode == AppType.AppEnum.AppMode.License ? false : true;
                if (_IsCropping)
                {
                   
                }
                //Thiết lập về chế độ mặc định của cell
                _IsCropping = false;


                if (pnlScheduled.Controls.Count <= 0)
                {
                    mnu2.Enabled = false;
                    return;
                }
                ControlStatus(obj);
                //Nếu chưa có dòng nào thì ko làm gì cả
                _reObj = GetSelectedScheduled();
                CurrSchedule = _reObj;
                if (_reObj == null)
                {

                    chkDynamicGrid.ImageIndex = 1;
                    cmdCreateDcmfromRaw.Enabled = false;
                    RAWFileNameWillbeCreated = "NONE_SELECTED";
                    mdlStatic.isDisplayImg = false;
                    AppLogger.LogAction.ShowEventStatus(lblFPDStatus, MultiLanguage.GetText(globalVariables.DisplayLanguage, "Mời chọn vị trí chụp...", "Pls select a View position..."));
                    isLoadding = false;
                    obj.ResetStatus(obj.Status);
                    cmdReady.Text = MultiLanguage.GetText(globalVariables.DisplayLanguage, "Sẵn sàng", "Ready");
                    cmdReady.Tag = "R";
                  
                    if (!isGCOM_VN)
                    {
                        kVp = 15M;
                        mA = 0;
                        mAs = 1;
                        SetValueNumeric(lblKvpVal, kVp);
                        SetValueNumeric(lblmAVal, mA);
                        SetValueNumeric(lblmAsVal, mAs);
                    }
                    else
                    {
                        kVp = 45M;
                        mA = 10;
                        mAs = 10;
                        SetValueNumeric(lblAMEC_KvpVal, kVp);
                        SetValueNumeric(lblAMEC_mAVal, mA);
                        SetValueNumeric(lblAMEC_timeVal, mAs);
                    }

                    FirstExposure = true;
                    cmdLargeFocus_Click(cmdLargeFocus, new EventArgs());
                    return;
                }
                
                chkDynamicGrid.ImageIndex = new RegDetailController().GetValueOfField(_reObj.DETAIL_ID, "UsingGrid").ToString() == "1" ? 0 : 1;
                FirstExposure = _reObj.Status <= 0;
                if (_reObj.Status <= 0) AppLogger.LogAction.ShowEventStatus(lblFPDStatus, MultiLanguage.GetText(globalVariables.DisplayLanguage, "Chờ chụp...", "Waiting for Hand-switch"));
                PlayBeepReady();
                //Nếu chọn dòng khác dòng đang chọn thì gửi dữ liệu cần chụp ra thư mục Senddata
                if (m_intCurrentDetail_ID != _reObj.DETAIL_ID)
                {
                    m_intCurrentDetail_ID = _reObj.DETAIL_ID;
                    //SendData();
                }
                m_intCurrentProcedure_ID = -1;// Convert.ToInt32(Utility.sDbnull(Utility.GetObjectValueFromGridColumn(grdAcquisitionList, "colProcedure_ID", grdAcquisitionList.CurrentRow.Index), "-1"));
                //Load cấu hình xử lý ảnh áp dụng cho Vị trí và hướng chụp hiện tại

                if (_FPDMode != AppType.AppEnum.FPDMode.Other)
                    LoadIEConfig(m_intCurrDevice1, _reObj.A_Code, _reObj.P_Code);
                else
                {
                    if (FPDSeq == 1)
                        LoadIEConfig(m_intCurrDevice1, _reObj.A_Code, _reObj.P_Code);
                    else
                        LoadIEConfig(m_intCurrDevice2, _reObj.A_Code, _reObj.P_Code);
                }
                _isUseNewAPI = IsNewAPI(_reObj.A_Code, _reObj.P_Code);
               
                new DoctorController().GetAutoFlip(_reObj.A_Code, _reObj.P_Code, -1, ref AUTO_FLIPV, ref AUTO_FLIPH, ref LARGE_FOCUS);
                //Auto select body size
                cmdMedium_Click(cmdMedium, new EventArgs());


                cmdReady.Text = _AppMode == AppType.AppEnum.AppMode.Demo ? MultiLanguage.GetText(globalVariables.DisplayLanguage, "Thực hiện chụp", "Exposure") : MultiLanguage.GetText(globalVariables.DisplayLanguage, "Sẵn sàng", "Ready");
                cmdReady.Tag = "R";
                //Lấy về tên file ứng với dịch vụ đang chọn của KH
                string v_strTempFile = txtRegNumber2.Text.Trim() + "_" + _reObj.DETAIL_ID.ToString().Trim() + "_" + _reObj.A_Code.Trim() + "_" + _reObj.P_Code.Trim();
                //Tạo tên raw file để capture từ FPD
                RAWFileNameWillbeCreated = v_strTempFile;
                toolTip1.SetToolTip(obj._AnatomyObject, obj.A_Code + "/" + obj.P_Code + MultiLanguage.GetText(globalVariables.DisplayLanguage, " đang sử dụng cấu hình xử lý ảnh " + IMGConfigName, " is using image processing configuration: " + IMGConfigName) + " - RAW file: " + RAWFileNameWillbeCreated + "; kVp=" + kVp.ToString() + " mA=" + mA.ToString() + " ms=" + mAs.ToString());
                if (FileName.ToUpper() != v_strTempFile.ToUpper())
                {
                    FileName = v_strTempFile;
                    mdlStatic.isDisplayImg = false;
                }

                string ImgDir = @"C:\";
                if (txtImgDir.Text.Trim() == "" || !Directory.Exists(txtImgDir.Text.Trim()))
                {
                    KillProcess("");
                    //return;
                }
                else
                {
                    ImgDir = txtImgDir.Text.Trim();
                }


                Int16 Status = (Int16)_reObj.Status;
                _reObj.ResetStatus(_reObj.Status);
                if (Status == 0)
                {

                    //cmdDelProc.Enabled = true;
                    mnu2.Enabled = true;

                }
                else
                {

                    //cmdDelProc.Enabled = false;
                    mnu2.Enabled = false;
                }

            }
            catch
            {
            }
            finally
            {
                //cmdFlipH.BackColor = AUTO_FLIPH == 1 || chkAutoHFlip.ImageIndex == 0 ? Color.Orange : Color.WhiteSmoke;
              
                if (LARGE_FOCUS == 1) cmdLargeFocus_Click(cmdLargeFocus, new EventArgs());
                else cmdSmallFocus_Click(cmdSmallFocus, new EventArgs());
                lblhint.Visible = _reObj != null;
                ModifyAcqButton();
                //Gọi thủ tục hiển thị ảnh của dịch vụ đang chọn
                //if (isAcq)
                //{

                BeginInvoke(new DisplayImg(ViewImg));
                //}
            }
        }
예제 #7
0
파일: DROC.cs 프로젝트: khaha2210/radio
 ScheduledControl GetSelectedScheduled_CompareDetailID()
 {
     try
     {
         foreach (Control ctr in pnlScheduled.Controls)
         {
             ScheduledControl _reObj = ctr as ScheduledControl;
             if (_reObj.isPressed || _reObj.DETAIL_ID == m_intCurrentDetail_ID)
             {
                 m_objCurrScheduledControl = _reObj;
                 return _reObj;
             }
         }
         //m_objCurrScheduledControl=null;
         return null;
     }
     catch
     {
         // m_objCurrScheduledControl=null;
         return null;
     }
 }
예제 #8
0
파일: DROC.cs 프로젝트: khaha2210/radio
 void _ScheduledControl__OnKeyDown(ScheduledControl obj, KeyEventArgs e)
 {
     if (e.KeyCode == Keys.E || e.KeyCode == Keys.N)
         ShortCut2AddProc(obj.A_Code, obj.P_Code, true, ref _newDetailID);
 }
예제 #9
0
파일: DROC.cs 프로젝트: khaha2210/radio
        void DelSelectedProc(ScheduledControl _Scheduled)
        {
            try
            {
                if (pnlScheduled.Controls.Count <= 1)
                {
                    new frm_LargeMsgBoxOK(MultiLanguage.GetText(globalVariables.DisplayLanguage, "Thông báo", "Warning"), MultiLanguage.GetText(globalVariables.DisplayLanguage, "Đây là dịch vụ cuối cùng của BN nên bạn không thể xóa. Bạn có thể thêm dịch vụ khác và sau đó xóa dịch vụ đang chọn", "This is the last service so you can not delete it. Pls add new other service before deleting"), MultiLanguage.GetText(globalVariables.DisplayLanguage, "Đồng ý", "OK"), MultiLanguage.GetText(globalVariables.DisplayLanguage, "Không đồng ý", "Cancel")).ShowDialog();
                    return;
                }
                if (_Scheduled.Status == 0)
                {
                    if (new frm_LargeMsgBox(MultiLanguage.GetText(globalVariables.DisplayLanguage, "XÁC NHẬN XÓA", "Confirm Delete"), MultiLanguage.GetText(globalVariables.DisplayLanguage, "Bạn có muốn xóa Vị trí chụp " + _Scheduled.A_Vn_Name + "/" + _Scheduled.P_Vn_Name + " hay không?", "Do you want to delete service " + _Scheduled.A_Vn_Name + "/" + _Scheduled.P_Vn_Name + " ?"), MultiLanguage.GetText(globalVariables.DisplayLanguage, "ĐỒNG Ý XÓA", "YES"), MultiLanguage.GetText(globalVariables.DisplayLanguage, "KHÔNG XÓA", "NO")).ShowDialog() == DialogResult.OK)
                    {
                        if (new DoctorController().DeleteDetail(_Scheduled.DETAIL_ID) == ActionResult.Success)
                        {
                            DeleteFromDataTable(_Scheduled.DETAIL_ID);
                            pnlScheduled.Controls.Remove(_Scheduled);
                            return;
                        }
                    }

                }
            }
            catch
            {

            }
            finally
            {
                cmdDelProc.Enabled = pnlScheduled.Controls.Count > 0 && GetSelectedScheduled() != null;
            }
        }
예제 #10
0
파일: DROC.cs 프로젝트: khaha2210/radio
        void UpdateThumbnailImgOnScheduled(ScheduledControl _SelectedObj, string fileName, int newStatus)
        {
            try
            {
                foreach (Control ctr in pnlScheduled.Controls)
                {

                    ScheduledControl _reObj = ctr as ScheduledControl;
                    if (_reObj.DETAIL_ID == _SelectedObj.DETAIL_ID)
                    {
                        //_reObj.UpdateNewImage();
                        _reObj.fileName = fileName;
                        _reObj.Status = newStatus;
                        _reObj.ResetStatus(newStatus);
                        _reObj.Invalidate();
                        break;
                    }
                }
            }
            catch
            {
            }
        }
예제 #11
0
파일: DROC.cs 프로젝트: khaha2210/radio
 void _ScheduledControl__OnNewScheduleDoubleClick(ScheduledControl obj)
 {
     if (chkClick2FireEvent.IsChecked==false) return;
     ShortCut2AddProc(obj.A_Code, obj.P_Code, true, ref _newDetailID);
 }
예제 #12
0
파일: DROC.cs 프로젝트: khaha2210/radio
 void _ScheduledControl__OnRejectScheduleDoubleClick(ScheduledControl obj)
 {
     if (chkClick2FireEvent.IsChecked==false) return;
     RejectImage(obj);
 }
예제 #13
0
파일: DROC.cs 프로젝트: khaha2210/radio
 void _ScheduledControl__OnDelScheduleDoubleClick(ScheduledControl obj)
 {
     if (chkClick2FireEvent.IsChecked==false) return;
     DelSelectedProc(obj);
 }
예제 #14
0
파일: DROC.cs 프로젝트: khaha2210/radio
        void ModifyAcqButton(ScheduledControl _reObj)
        {
            try
            {


                cmdAddProc.Enabled = txtID2.Text.Trim() != "";
                cmdDelProc.Enabled = _reObj != null && _reObj.Status <= 0 && pnlScheduled.Controls.Count > 0;
                cmdReady.Enabled = _reObj != null && _reObj.Status <= 0;
                cmdSuspend.Enabled = pnlScheduled.Controls.Count > 0;
                cmdEndExam.Enabled = pnlScheduled.Controls.Count > 0;

                Int16 Status = GetCurrentScheduledStatus();
                if (!Directory.Exists(txtImgDir.Text + @"\" + SubDirLv1())) Directory.CreateDirectory(txtImgDir.Text + @"\" + SubDirLv1());
                if (!Directory.Exists(txtImgDir.Text + @"\" + SubDirLv1() + @"\" + SubDirLv2_Patient())) Directory.CreateDirectory(txtImgDir.Text + @"\" + SubDirLv1() + @"\" + SubDirLv2_Patient());
                string ImgDir = txtImgDir.Text + @"\" + SubDirLv1() + @"\" + SubDirLv2_Patient();
                if (txtRegNumber2.Text.Trim() != "")
                    cmdSaveResult.Enabled = _reObj != null && Status == 0 && (_AppMode == AppType.AppEnum.AppMode.Demo || GetFileName(txtImgDir.Text.Trim(), ImgDir, FileName, _reObj).Trim() != "") && _DicomMedicalViewer.IsValidCell() && pnlScheduled.Controls.Count > 0;

                cmdReject.Enabled = _reObj != null && Status == 1 && pnlScheduled.Controls.Count > 0;
                cmdSaveImg.Enabled = _reObj != null && Status == 1 && pnlScheduled.Controls.Count > 0;
                if (Status == 0)
                {

                    //cmdDelProc.Enabled = true;
                    mnu2.Enabled = true;
                    tabCtrlAcq.SelectedTab = tabPageHardware;
                }
                else
                {
                    tabCtrlAcq.SelectedTab = tabPageImgTools;
                    cmdDelProc.Enabled = false;
                    mnu2.Enabled = false;
                }
            }
            catch
            {
            }
        }
예제 #15
0
 public ScheduledControl Copy()
 {
     ScheduledControl newObj = new ScheduledControl(this.fileName, this.REG_ID, this.DETAIL_ID, this.StudyInstanceUID, this.SeriesInstanceUID, this.SOPInstanceUID, this.A_Code, this.P_Code, this.B_Code, this.A_Vn_Name, this.A_En_Name, this.P_Vn_Name, this.P_En_Name, this.B_Vn_Name, this.B_En_Name, this.kVp, this.mA, this.mAs, this.A_STT, this.P_STT, this.PrintCount, this.Status);
     return newObj;
 }
예제 #16
0
파일: DROC.cs 프로젝트: khaha2210/radio
 void _ScheduledControl__OnRejectScheduleDoubleClick(ScheduledControl obj)
 {
    
     RejectImage(obj);
 }
예제 #17
0
파일: DROC.cs 프로젝트: khaha2210/radio
 void _ScheduledControl__OnNewScheduleDoubleClick(ScheduledControl obj)
 {
    
     ShortCut2AddProc(obj.A_Code, obj.P_Code, true, ref _newDetailID);
 }
예제 #18
0
파일: DROC.cs 프로젝트: khaha2210/radio
 void AutoAddNewSchedule(ScheduledControl newSchedule)
 {
     try
     {
         if (pnlScheduled.InvokeRequired)
             pnlScheduled.Invoke(new _AutoAddnewSchedule(AutoAddNewSchedule), new object[] { newSchedule });
         else
             pnlScheduled.Controls.Add(newSchedule);
     }
     catch
     {
     }
 }
예제 #19
0
파일: DROC.cs 프로젝트: khaha2210/radio
 ScheduledControl GetSelectedScheduled()
 {
     try
     {
         foreach (Control ctr in pnlScheduled.Controls)
         {
             ScheduledControl _reObj = ctr as ScheduledControl;
             if (_reObj.isPressed)
             {
                 m_objCurrScheduledControl = _reObj;
                 return _reObj;
             }
         }
         //m_objCurrScheduledControl=null;
         return null;
     }
     catch
     {
         // m_objCurrScheduledControl=null;
         return null;
     }
 }
예제 #20
0
파일: DROC.cs 프로젝트: khaha2210/radio
 void AutoScroll2NewSchedule(ScheduledControl newSchedule)
 {
     try
     {
         if (pnlScheduled.InvokeRequired)
             pnlScheduled.Invoke(new _AutoScroll2NewSchedule(AutoScroll2NewSchedule), new object[] { newSchedule });
         else
             pnlScheduled.ScrollControlIntoView(newSchedule);
     }
     catch
     {
     }
 }
예제 #21
0
파일: DROC.cs 프로젝트: khaha2210/radio
        void ControlStatus(ScheduledControl obj)
        {
            try
            {
                if (!obj.isPressed)
                {
                    if (m_objCurrScheduledControl.DETAIL_ID != obj.DETAIL_ID)
                    {
                        m_objCurrScheduledControl.isPressed = !m_objCurrScheduledControl.isPressed;
                        m_objCurrScheduledControl.ResetStatus(m_objCurrScheduledControl.Status);
                        m_objCurrScheduledControl = obj.Copy();
                    }
                    ResetPreviousSelectedObject(obj.DETAIL_ID);
                    obj.isPressed = !obj.isPressed;
                    m_objCurrScheduledControl.isPressed = obj.isPressed;

                    if (!obj.isPressed)
                    {
                        obj._AnatomyObject.BackColor = Color.WhiteSmoke;
                        obj._AnatomyObject.ForeColor = Color.Black;
                    }
                    else
                    {
                        obj._AnatomyObject.BackColor = Color.Yellow;
                        obj._AnatomyObject.ForeColor = Color.DarkBlue;
                    }
                }
            }
            catch
            {
            }
            finally
            {

            }
        }
예제 #22
0
파일: DROC.cs 프로젝트: khaha2210/radio
        DataRow MakeDcmConverterInforReprocess(ScheduledControl _selected)
        {

            try
            {
                DataRow dr = m_dtDicomconverterInfo.NewRow();
                dr[colPid] = _selected == null && txtID2.Text.Trim() == "" ? "PATIENT_ID" : txtID2.Text;
                dr[colPatientName] = _selected == null && txtName2.Text.Trim() == "" ? "PATIENT_NAME" : (Bodau(txtName2.Text).Replace(txtAge.Text.Trim(), "") + " " + txtAge.Text);
                dr[colPatientSex] = _selected == null ? "O" : Sex;
                dr[colPatientAge] = _selected == null && txtAge.Text.Trim() == "" ? "0" : txtAge.Text;
                dr[colPatientBirthdate] = _selected == null ? ToDicomString(DateTime.Now) : ToDicomString(BirthDate);
                dr[colRegDate] = _selected == null ? ToDicomString(DateTime.Now) : ToDicomString(RegDate);
                dr[colRegNum] = _selected == null && txtRegNumber2.Text.Trim() == "" ? "REG_NUMBER" : txtRegNumber2.Text;

                dr[colKVP] = _selected == null ? lblKvpVal.Value.ToString() : _selected.kVp.ToString();
                dr[colMAS] = _selected == null ? lblmAsVal.Value.ToString() : _selected.mAs.ToString();
                
                    dr[colImgHeight] = FPDSeq == 1 ? IMGH : IMGH2;
                    dr[colImgWidth] = FPDSeq == 1 ? IMGW : IMGW2;
               
                dr[colModalityCode] = modTypeCode;
                dr[colAtonomyCode] = _selected == null ? "A_CODE" : CurrSchedule.A_Code;
                dr[colProjectionCode] = _selected == null ? "P_CODE" : CurrSchedule.P_Code;
                dr[colHostpitalName] = Bodau(HospitalName);
                dr[colDepartmentName] = Bodau(DepartmentName);
                dr[colAcqDate] = Utility.GetYYYYMMDD(DateTime.Now);
                dr[colAppName] = "DROC";
                dr[_colStudyInstanceUID] = _selected == null ? ClearCanvas.Dicom.DicomUid.GenerateUid().UID.ToString() : _selected.StudyInstanceUID;
                dr[colSOPInstanceUID] = _selected == null ? ClearCanvas.Dicom.DicomUid.GenerateUid().UID.ToString() : _selected.SOPInstanceUID;
                dr[colSeriesInstanceUID] = _selected == null ? ClearCanvas.Dicom.DicomUid.GenerateUid().UID.ToString() : _selected.SeriesInstanceUID;
                string BA = "16";
                string BS = "16";
                string HB = "15";
                GetBpp(ref BA, ref BS, ref HB);
                dr[colBitsStored] = BS;
                dr[colHightBit] = HB;
                dr[colBitsAllocated] = BA;
                return dr;
            }
            catch (Exception ex)
            {
                Utility.ShowMsg("Lỗi khi tạo thông tin BN để dùng cho hàm DicomConverter\n" + ex.Message);
                return null;
            }
        }
예제 #23
0
파일: DROC.cs 프로젝트: khaha2210/radio
        void AddProcSearchedFromMWL(string Patient_Code)
        {
            try
            {
                DataTable APParams_DataSource = new DoctorController().GetAnatomyProjectionParams().Tables[0];
                if (m_dtAcquisitionDataSource == null || m_dtAcquisitionDataSource.Columns.Count <= 0 || m_dtAcquisitionDataSource.Rows.Count <= 0)
                {
                    m_dtAcquisitionDataSource = new RegDetailController().GetAllData(-1).Tables[0];
                }
                DataRow dr;
                m_dtAcquisitionDataSource.Rows.Clear();
                if (m_dtAcquisitionDataSource.Rows.Count > 0)
                {
                    dr = m_dtAcquisitionDataSource.Rows[0];
                    if (dr["reg_id"].ToString() == "-1") dr["REG_ID"] = currREGID;
                }
                else
                {
                    dr = m_dtAcquisitionDataSource.NewRow();

                    dr["STATUS"] = 0;
                    dr["IMGNAME"] = "";
                    dr["PRINTCOUNT"] = 0;
                    dr["EXPOSURECOUNT"] = 0;
                    dr["HOST"] = "127.0.0.1";
                    dr["UsingGrid"] = 0;
                    dr["IMGDATA"] = DBNull.Value;
                    dr["REG_NUMBER"] = txtRegNumber2.Text.Trim();
                    dr["REG_ID"] = currREGID;


                }
                DataTable dtAP = new DoctorController().GetAnatomyProjection(-1).Tables[0];
                DataTable dtDefaultAP = new ProcedureController().GetEmerencyData().Tables[0];
                //Lọc chỉ các dịch vụ được gửi từ worklistServer
                dtAP = GetAPfromMWL(dtAP, Patient_Code);
                if (dtAP != null && dtDefaultAP != null && dtAP.Columns.Count > 0 && dtDefaultAP.Columns.Count > 0)
                {
                    try
                    {
                        foreach (DataRow drDefaultAP in dtDefaultAP.Rows)
                        {
                            if (dtAP.Select("ANATOMY_CODE='" + drDefaultAP["ANATOMY_CODE"].ToString() + "' AND PROJECTION_CODE='" + drDefaultAP["PROJECTION_CODE"].ToString() + "'").Length <= 0)
                                dtAP.ImportRow(drDefaultAP);
                        }
                    }
                    catch
                    {
                    }
                }
                DataRow newdr = m_dtAcquisitionDataSource.NewRow();
                Utility.CopyData(dr, ref newdr);
                if (dtAP != null)
                {
                    string SeriesInstanceUID = "";
                    foreach (DataRow drAP in dtAP.Rows)
                    {
                        RegDetailInfor infor = new RegDetailInfor();

                        int NextSeriesInstanceUID = MaxSeriesInstanceUID + 1;
                        SeriesInstanceUID = CurrStudyInstanceUID + "." + NextSeriesInstanceUID.ToString();
                        MaxSeriesInstanceUID = NextSeriesInstanceUID;
                        newdr["DETAIL_ID"] = -1;
                        //SeriesInstanceUID=StudyInstanceUID+Số thứ tự dịch vụ trong lần đăng ký đó
                        newdr["SeriesInstanceUID"] = SeriesInstanceUID;
                        //SOPInstanceUID=SeriesInstanceUID+Số lần chụp của dịch vụ đó. 
                        //SOPInstanceUID chỉ thay đổi khi dịch vụ này đang có ảnh và lại được chụp lại
                        newdr["SOPInstanceUID"] = SeriesInstanceUID + ".1";
                        newdr["REG_ID"] = dr["REG_ID"];
                        newdr["ANATOMY_CODE"] = drAP["ANATOMY_CODE"];
                        newdr["BODYSIZE_CODE"] = BODYSIZE_CODE;
                        newdr["UsingGrid"] = 0;
                        newdr["PROJECTION_CODE"] = drAP["PROJECTION_CODE"];
                        newdr["DISPLAY_NAME"] = drAP["ANATOMY_CODE"];
                        newdr["STANDARD_NAME"] = drAP["ANATOMY_CODE"];
                        newdr["DirectionCapture"] = 0;
                        newdr["STATUS"] = 0;
                        newdr["STATUS_NAME"] = "";
                        Utility.MapValueFromEntityIntoObjectInfor(infor, newdr);
                        if (new RegDetailController(infor).Insert() == ActionResult.Success)
                        {
                            newdr["DETAIL_ID"] = infor.DETAIL_ID;
                            decimal _kVp = 0M;
                            int _mA = 0;
                            int _mAs = 0;
                            GetAPParams(APParams_DataSource, infor.ANATOMY_CODE, infor.PROJECTION_CODE, infor.BODYSIZE_CODE, ref _kVp, ref _mA, ref _mAs);
                            //Add new Scheduled Control
                            ScheduledControl _Scheduled = new ScheduledControl(txtImgDir.Text.Trim() + @"\" + txtRegNumber2.Text.Trim() + "_" + infor.DETAIL_ID.ToString(), (int)infor.REG_ID, (int)infor.DETAIL_ID, CurrStudyInstanceUID, SeriesInstanceUID, newdr["SOPInstanceUID"].ToString(), infor.ANATOMY_CODE, infor.PROJECTION_CODE, infor.BODYSIZE_CODE, Utility.sDbnull(drAP["VN_ANATOMY_NAME"], ""), Utility.sDbnull(drAP["EN_ANATOMY_NAME"], ""), Utility.sDbnull(drAP["VN_PROJECTION_NAME"], ""), Utility.sDbnull(drAP["EN_PROJECTION_NAME"], ""), BODYSIZE_NAME, BODYSIZE_NAME, _kVp, _mA, _mAs, Utility.Int32Dbnull(drAP["A_STT"], 0), Utility.Int32Dbnull(drAP["P_STT"], 0), Utility.Int32Dbnull(dr["PRINTCOUNT"], 0), 0);
                            _Scheduled._OnClick += new ScheduledControl.OnClick(_ScheduledControl__OnClick);
                            _Scheduled.ContextMenuStrip = ctx;
                            _Scheduled._OnNewScheduleClick += new ScheduledControl.OnNewScheduleClick(_ScheduledControl__OnNewScheduleClick);
                            _Scheduled._OnRejectScheduleClick += new ScheduledControl.OnRejectScheduleClick(_ScheduledControl__OnRejectScheduleClick);
                            _Scheduled._OnDelScheduleClick += new ScheduledControl.OnDelScheduleClick(_ScheduledControl__OnDelScheduleClick);

                            _Scheduled._OnNewScheduleDoubleClick += new ScheduledControl.OnNewScheduleDoubleClick(_ScheduledControl__OnNewScheduleDoubleClick);
                            _Scheduled._OnRejectScheduleDoubleClick += new ScheduledControl.OnRejectScheduleDoubleClick(_ScheduledControl__OnRejectScheduleDoubleClick);
                            _Scheduled._OnDelScheduleDoubleClick += new ScheduledControl.OnDelScheduleDoubleClick(_ScheduledControl__OnDelScheduleDoubleClick);



                            _Scheduled._OnKeyDown += new ScheduledControl.OnKeyDown(_ScheduledControl__OnKeyDown);
                            pnlScheduled.Controls.Add(_Scheduled);
                        }

                        m_dtAcquisitionDataSource.Rows.Add(newdr);
                        m_dtAcquisitionDataSource.AcceptChanges();
                        newdr = m_dtAcquisitionDataSource.NewRow();
                    }
                }


                if (!AcquisitionFromWL)
                {
                    //string[] Img = Utility.sDbnull(currentStudyRow["Img"]).Split('/');
                    //currentStudyRow["Img"] = Img[0] + "/" + (Convert.ToInt64(Img[1]) + _newForm.arrProc.Count).ToString();
                    //currentStudyRow["Img1"] = currentStudyRow["Img"];
                }
                //Update Procedure List to DB and Datasource
                string ProcedureList = GetProcedureList();
                new RegDetailController().UpdateProcedureList(Convert.ToInt64(dr["REG_ID"]), ProcedureList);
                //Update Dataset
                DataRow[] drWL = m_dtWLDataSource.Select("Reg_ID=" + Convert.ToInt64(dr["REG_ID"]));
                DataRow[] drST = m_dtStudyListDataSource.Select("Reg_ID=" + Convert.ToInt64(dr["REG_ID"]));
                if (drWL.Length > 0)
                    drWL[0]["ProcedureList"] = ProcedureList;
                if (drST.Length > 0)
                    drST[0]["ProcedureList"] = ProcedureList;
                m_dtWLDataSource.AcceptChanges();
                m_dtStudyListDataSource.AcceptChanges();

            }
            catch
            {
            }

        }
예제 #24
0
파일: DROC.cs 프로젝트: khaha2210/radio
        private string GetFileName(string ImgPath, string DirPath, string FileName, ScheduledControl _reObj)
        {
            try
            {

                bool OnlyRaw = true;
                string RawFile = "";
                string DcmFile = "";
                string[] arrFile = Directory.GetFiles(DirPath);
                if (arrFile.Length <= 0)
                    arrFile = Directory.GetFiles(ImgPath);
                foreach (string file in arrFile)
                    if (!Path.GetExtension(file).ToUpper().Contains(".TXT") && !Path.GetExtension(file).ToUpper().Contains(".ANN") && !Path.GetExtension(file).ToUpper().Contains(".Rar") && (Path.GetFileNameWithoutExtension(file).ToUpper() == FileName.ToUpper() || Path.GetFileNameWithoutExtension(file).ToUpper() == FileName.Replace("_" + _reObj.A_Code.Trim() + "_" + _reObj.P_Code.Trim(), "").ToUpper()))
                    {

                        if (Path.GetExtension(file).ToUpper() != ".RAW")
                        {
                            DcmFile = file;
                            OnlyRaw = false;
                            break;
                        }
                        else
                        {
                            RawFile = file;
                        }
                    }
                if (DcmFile == "" && RawFile == "")
                {
                    arrFile = Directory.GetFiles(ImgPath);
                    foreach (string file in arrFile)
                        if (!Path.GetExtension(file).ToUpper().Contains(".TXT") && !Path.GetExtension(file).ToUpper().Contains(".ANN") && !Path.GetExtension(file).ToUpper().Contains(".Rar") && (Path.GetFileNameWithoutExtension(file).ToUpper() == FileName.ToUpper() || Path.GetFileNameWithoutExtension(file).ToUpper() == FileName.Replace("_" + _reObj.A_Code.Trim() + "_" + _reObj.P_Code.Trim(), "").ToUpper()))
                        {

                            if (Path.GetExtension(file).ToUpper() != ".RAW")
                            {
                                DcmFile = file;
                                OnlyRaw = false;
                                break;
                            }
                            else
                            {
                                RawFile = file;
                            }
                        }
                }
                if (!OnlyRaw) return DcmFile;
                else
                    return RawFile;
            }
            catch
            {
                return "";
            }
        }
예제 #25
0
파일: DROC.cs 프로젝트: khaha2210/radio
        void DeletefileAndClearImg(ScheduledControl _reObj)
        {
            try
            {
                string ImgDir = @"C:\";
                if (txtImgDir.Text.Trim() == "" || !Directory.Exists(txtImgDir.Text.Trim()))
                {
                   
                    return;
                }
                else
                {
                    if (!Directory.Exists(txtImgDir.Text + @"\" + SubDirLv1())) Directory.CreateDirectory(txtImgDir.Text + @"\" + SubDirLv1());
                    if (!Directory.Exists(txtImgDir.Text + @"\" + SubDirLv1() + @"\" + SubDirLv2_Patient())) Directory.CreateDirectory(txtImgDir.Text + @"\" + SubDirLv1() + @"\" + SubDirLv2_Patient());
                    ImgDir = txtImgDir.Text + @"\" + SubDirLv1() + @"\" + SubDirLv2_Patient();
                }

                string fileName = _reObj.DcmfileName;// GetFileName(txtImgDir.Text.Trim(), ImgDir, FileName, _reObj);
                string rawfileName = fileName.ToUpper().Replace(".DCM", ".RAW");
                string PNGfileName = fileName.ToUpper().Replace(".DCM", "") + "_THUMBNAIL.PNG";
                string path = Path.GetDirectoryName(fileName);
                string rejectFolder = path + @"\REJECTs";
                string fileDestination = rejectFolder + @"\" + Path.GetFileName(fileName);
                string rawfileDestination = rejectFolder + @"\" + Path.GetFileName(rawfileName);
                string PNGfileDestination = rejectFolder + @"\" + Path.GetFileName(PNGfileName);
                if (chkSaveReject.ImageIndex == 1)//Save Reject Imgs
                    if (!Directory.Exists(rejectFolder))
                        Directory.CreateDirectory(rejectFolder);
                
                if (File.Exists(fileDestination))
                    File.Delete(fileDestination);
                if (chkSaveReject.ImageIndex == 0)
                    Try2DelFile(fileName);
                else
                    File.Move(fileName, fileDestination);

                if (File.Exists(rawfileDestination))
                    File.Delete(rawfileDestination);
                if (chkSaveReject.ImageIndex == 0)
                    Try2DelFile(rawfileName);
                else
                    File.Move(rawfileName, rawfileDestination);
                if (File.Exists(PNGfileDestination))
                    File.Delete(PNGfileDestination);
                if (chkSaveReject.ImageIndex == 0)
                    Try2DelFile(PNGfileName);
                else
                    File.Move(PNGfileName, PNGfileDestination);
                //UpdateThumbnailImgOnScheduled(PNGfileName, 0);
            }
            catch
            {
            }
        }
예제 #26
0
파일: DROC.cs 프로젝트: khaha2210/radio
        void ModifyAcqButton(ScheduledControl _reObj)
        {
            try
            {


                cmdAddProc.Enabled = txtID2.Text.Trim() != "";
                cmdDelProc.Enabled = _reObj != null && _reObj.Status <= 0 && pnlScheduled.Controls.Count > 0;
                cmdReady.Enabled = _reObj != null && _reObj.Status <= 0;
                cmdSuspend.Enabled = pnlScheduled.Controls.Count > 0;
                cmdEndExam.Enabled = pnlScheduled.Controls.Count > 0;

                Int16 Status = GetCurrentScheduledStatus();
                if (!Directory.Exists(txtImgDir.Text + @"\" + SubDirLv1())) Directory.CreateDirectory(txtImgDir.Text + @"\" + SubDirLv1());
                if (!Directory.Exists(txtImgDir.Text + @"\" + SubDirLv1() + @"\" + SubDirLv2_Patient())) Directory.CreateDirectory(txtImgDir.Text + @"\" + SubDirLv1() + @"\" + SubDirLv2_Patient());
                string ImgDir = txtImgDir.Text + @"\" + SubDirLv1() + @"\" + SubDirLv2_Patient();
               
                cmdReject.Enabled = _reObj != null && Status == 1 && pnlScheduled.Controls.Count > 0;
                cmdSaveImg.Enabled = _reObj != null && Status == 1 && pnlScheduled.Controls.Count > 0;
                if (Status == 0)
                {

                    //cmdDelProc.Enabled = true;
                    mnu2.Enabled = true;
                    tabCtrlAcq.SelectedTab = tabPageHardware;
                }
                else
                {
                    //tabCtrlAcq.SelectedTab = tabPageImgTools;
                    cmdDelProc.Enabled = false;
                    mnu2.Enabled = false;
                }
            }
            catch
            {
            }
        }
예제 #27
0
파일: DROC.cs 프로젝트: khaha2210/radio
        void UpdateScheduledStatusAndHardwareParames(ScheduledControl _Obj, int Status)
        {
            try
            {
                foreach (Control ctr in pnlScheduled.Controls)
                {
                    ScheduledControl _reObj = ctr as ScheduledControl;
                    if (_reObj.DETAIL_ID == _Obj.DETAIL_ID)
                    {
                        _reObj.UpdateHardwareParams(lblKvpVal.Value, 0, lblmAsVal.Value);
                        _reObj.ResetStatus(Status);
                        m_objCurrScheduledControl = _reObj;
                        return;
                    }
                }

            }
            catch
            {

            }
        }
예제 #28
0
파일: DROC.cs 프로젝트: khaha2210/radio
        void CreateScheduled()
        {
            ClearAllSchedule();
            MaxSeriesInstanceUID = -1;
            m_intCurrentDetail_ID = -1;
            try
            {
                int CurrIdx = 1;
                string DefaultSeriesInstanceUID = "";
                string DefaultSOPInstanceUID = "";
                foreach (DataRow dr in m_dtAcquisitionDataSource.Rows)
                {
                    DefaultSeriesInstanceUID = CurrStudyInstanceUID + "." + CurrIdx.ToString();
                    CurrIdx++;
                    DefaultSeriesInstanceUID = Utility.sDbnull(dr["SeriesInstanceUID"], DefaultSeriesInstanceUID);
                    DefaultSOPInstanceUID = DefaultSeriesInstanceUID + ".1";
                    DefaultSOPInstanceUID = Utility.sDbnull(dr["SOPInstanceUID"], DefaultSOPInstanceUID);
                    int _temp = GetLastIdxOfInstanceUID(DefaultSeriesInstanceUID);
                    if (MaxSeriesInstanceUID <= _temp) MaxSeriesInstanceUID = _temp;
                    ScheduledControl _ScheduledControl = new ScheduledControl(txtImgDir.Text.Trim() + @"\" + SubDirLv1() + @"\" + SubDirLv2_Patient() + @"\" + txtRegNumber2.Text.Trim() + "_" + Utility.Int32Dbnull(dr["DETAIL_ID"]).ToString() + "_" + Utility.sDbnull(dr["ANATOMY_CODE"], "") + "_" + Utility.sDbnull(dr["PROJECTION_CODE"], ""), Utility.Int32Dbnull(dr["REG_ID"], ""), Utility.Int32Dbnull(dr["DETAIL_ID"], ""), CurrStudyInstanceUID, DefaultSeriesInstanceUID, DefaultSOPInstanceUID, Utility.sDbnull(dr["ANATOMY_CODE"], ""), Utility.sDbnull(dr["PROJECTION_CODE"], ""), Utility.sDbnull(dr["BODYSIZE_CODE"], ""), Utility.sDbnull(dr["VN_ANATOMY_NAME"], ""), Utility.sDbnull(dr["EN_ANATOMY_NAME"], ""), Utility.sDbnull(dr["VN_PROJECTION_NAME"], ""), Utility.sDbnull(dr["EN_PROJECTION_NAME"], ""), Utility.sDbnull(dr["VN_BODYSIZE_NAME"], ""), Utility.sDbnull(dr["EN_BODYSIZE_NAME"], ""), Utility.DecimaltoDbnull(dr["kVp"], 0.0), Utility.Int32Dbnull(dr["mA"], 0), Utility.DecimaltoDbnull(dr["mAs"], 0), Utility.Int32Dbnull(dr["A_STT"], 0), Utility.Int32Dbnull(dr["P_STT"], 0), Utility.Int32Dbnull(dr["PRINTCOUNT"], 0), Utility.Int32Dbnull(dr["Status"], 0));
                    _ScheduledControl._OnClick += new ScheduledControl.OnClick(_ScheduledControl__OnClick);
                    _ScheduledControl.ContextMenuStrip = ctx;
                    _ScheduledControl._OnNewScheduleClick += new ScheduledControl.OnNewScheduleClick(_ScheduledControl__OnNewScheduleClick);
                    _ScheduledControl._OnRejectScheduleClick += new ScheduledControl.OnRejectScheduleClick(_ScheduledControl__OnRejectScheduleClick);
                    _ScheduledControl._OnDelScheduleClick += new ScheduledControl.OnDelScheduleClick(_ScheduledControl__OnDelScheduleClick);
                    _ScheduledControl._OnNewScheduleDoubleClick += new ScheduledControl.OnNewScheduleDoubleClick(_ScheduledControl__OnNewScheduleDoubleClick);
                    _ScheduledControl._OnRejectScheduleDoubleClick += new ScheduledControl.OnRejectScheduleDoubleClick(_ScheduledControl__OnRejectScheduleDoubleClick);
                    _ScheduledControl._OnDelScheduleDoubleClick += new ScheduledControl.OnDelScheduleDoubleClick(_ScheduledControl__OnDelScheduleDoubleClick);


                    _ScheduledControl._OnKeyDown += new ScheduledControl.OnKeyDown(_ScheduledControl__OnKeyDown);
                    Size originalSize = _ScheduledControl.Size;
                    pnlScheduled.Controls.Add(_ScheduledControl);
                    _ScheduledControl.Size = new Size(124, 71);// originalSize;                    
                }
                MaxSeriesInstanceUID++;
                if (!AutoSelectSchedule)
                {
                    ScheduledControl _reObj = GetSelectedScheduled_NOTDONE();
                    if (_reObj != null)
                    {
                        //Nếu chưa có kết quả thì tự động chọn và scroll tới
                        pnlScheduled.ScrollControlIntoView(_reObj);
                        _reObj._AnatomyObject.PerformClick();
                    }
                    else//Tự động chọn 1 dịch vụ đã có ảnh
                    {
                        _reObj = GetAnyScheduled();
                        if (_reObj != null)
                        {
                            //Nếu chưa có kết quả thì tự động chọn và scroll tới
                            pnlScheduled.ScrollControlIntoView(_reObj);
                            _reObj._AnatomyObject.PerformClick();
                        }
                    }
                }
                if (AutoSelectSchedule)
                {
                    ScheduledControl _ObjbyID = GetScheduledbyID(_Detail_ID);
                    if (_ObjbyID != null)
                    {
                        //Nếu chưa có kết quả thì tự động chọn và scroll tới
                        pnlScheduled.ScrollControlIntoView(_ObjbyID);
                        _ObjbyID._AnatomyObject.PerformClick();
                    }
                }
            }
            catch
            {
            }
            finally
            {
                AutoSelectSchedule = false;
                _Detail_ID = -1;
            }
        }
예제 #29
0
파일: DROC.cs 프로젝트: khaha2210/radio
        private void AutoUpdateResultAfterCapturingPictureFromModality(ScheduledControl _selectedSchedule)
        {
            try
            {
                mdlStatic.isDisplayImg = true;
                if (_selectedSchedule != null)
                {
                    if (new RegDetailController().UpdateStatusAndImg(Convert.ToInt64(_selectedSchedule.DETAIL_ID), 1, FileName, chkDynamicGrid.ImageIndex == 0 ? 1 : 0, lblKvpVal.Value, lblmAsVal.Value) == ActionResult.Success)
                    {
                        UpdateScheduledStatusAndHardwareParames(_selectedSchedule, 1);
                        UpdateAcqStatus(_selectedSchedule.DETAIL_ID, 1);
                        ModifyAcqButton(_selectedSchedule);


                    }
                }
            }
            catch
            {
            }
            finally
            {
                SetSuspendingInfo();
                SetText(lblCaption, "Tổng số: " + grdStudyList.RowCount.ToString() + " Bệnh nhân");
            }
        }
예제 #30
0
파일: DROC.cs 프로젝트: khaha2210/radio
 void _ScheduledControl__OnDelScheduleDoubleClick(ScheduledControl obj)
 {
    
     DelSelectedProc(obj);
 }