Esempio n. 1
0
        /// <summary>
        /// 插入一条报告记录
        /// </summary>
        /// <param name="ireport"></param>
        /// <returns></returns>
        public override int Add(IModel ireport)
        {
            MReport   report = (MReport)ireport;
            Hashtable ht     = new Hashtable();

            ht.Add("EXAM_ACCESSION_NUM", report.EXAM_NO);
            ht.Add("EXAM_PARA", report.EXAM_PARA);
            ht.Add("DESCRIPTION", report.DESCRIPTION);
            ht.Add("IMPRESSION", report.IMPRESSION);
            ht.Add("RECOMMENDATION", report.RECOMMENDATION);
            ht.Add("DICTATOR", report.DICTATOR);
            ht.Add("TRANSCRIBER", report.TRANSCRIBER);
            ht.Add("APPROVER", report.APPROVER);
            ht.Add("APPROVE_DATE_TIME", report.APPROVE_DATE_TIME);
            ht.Add("REPORT_DATE_TIME", report.REPORT_DATE_TIME);
            ht.Add("AFFIRMANT", report.AFFIRMANT);
            ht.Add("AFFIRM_DATE_TIME", report.AFFIRM_DATE_TIME);
            ht.Add("IS_ABNORMAL", report.IS_ABNORMAL);
            ht.Add("REPORT_TYPE", report.REPORT_TYPE);
            ht.Add("PRINT_TEMPLATE", report.PRINT_TEMPLATE);
            ht.Add("PRINT_COUNT", report.PRINT_COUNT);
            ht.Add("REPORT_NAME", report.REPORT_NAME);
            ht.Add("FIELD_INF", report.FIELD_INF);
            int i = ExecuteSql(StringConstructor.InsertSql(TableName, ht).ToString(), ht);

            return(i);
        }
Esempio n. 2
0
        //获取文件到硬盘
        private void PackSubFileToISO_WorkList(string subFileName, string NowParentDirectNamePath, string ServerPath)
        {
            DataTable ImageDatatable = b_image.GetList(" EXAM_ACCESSION_NUM ='" + subFileName + "'");

            SIS_Function.FileTransfer socket = new SIS_Function.FileTransfer(ILL.GetConfig.ServerIp, ILL.GetConfig.ServerPort);//连接SOCKET

            //创建二级目录
            string NowSubDirectNamePath = NowParentDirectNamePath + "\\" + subFileName;

            Directory.CreateDirectory(NowSubDirectNamePath);
            //NeroFolder subFolder = new NeroFolderClass();
            //ParentFloder.Folders.Add(subFolder);
            //subFolder.Name = studySet.series_instance_uid[j].ToString();
            MReport m_Report = (MReport)b_report.GetModel(subFileName);     //读取WROD报告

            if (m_Report != null)
            {
                FileOp.FileSave(m_Report.REPORT_NAME, NowSubDirectNamePath + "\\" + subFileName + ".DOC");
            }

            for (int i = 0; i < ImageDatatable.Rows.Count; i++)
            {
                string tPath = ImageDatatable.Rows[i]["IMAGE_PATH"].ToString().Replace('/', '\\');
                socket.FileDown(ServerPath + tPath, NowSubDirectNamePath + tPath.Substring(tPath.LastIndexOf('\\'), tPath.Length - tPath.LastIndexOf('\\')));
            }
        }
Esempio n. 3
0
 public SendRptToPax(MWorkList mWorklist, MReport mReport, string ImgSave)
 {
     this.mWorklist = mWorklist;
     this.mReport   = mReport;
     this.ImgSave   = ImgSave;
     WriteToPax();
 }
Esempio n. 4
0
        public int OpenRpt(MReport mReport, string Path)
        {
            this.winWordControl.CloseControl();
            int i = wClass.HistoryWordInit(mReport, Path);

            return(i);
        }
Esempio n. 5
0
        /// <summary>
        /// 查询是否存在指定的报告记录
        /// </summary>
        /// <param name="ireport"></param>
        /// <returns></returns>
        public override bool Exists(IModel ireport)
        {
            MReport report = (MReport)ireport;

            strSql = "select * from " + TableName + " where EXAM_NO='" + report.EXAM_NO + "'";
            return(recordIsExist(strSql));
        }
Esempio n. 6
0
        private void btn_PrintTemplate_Click(object sender, EventArgs e)
        {
            SIS.frmPrintTemplate.Template t = new frmPrintTemplate.Template();
            t.ExamClass    = MworkList.EXAM_CLASS;
            t.ExamSubClass = MworkList.EXAM_SUB_CLASS;
            t.TemplateName = mReport.PRINT_TEMPLATE;
            frmPrintTemplate frmPrint = new frmPrintTemplate(t);
            DialogResult     dr       = frmPrint.ShowDialog();

            if (dr == DialogResult.OK && frmPrint.mpt != null)
            {
                //............................
                mReport = word.GetMReport();
                //******************
                mReport.PRINT_TEMPLATE = frmPrint.mpt.PRINT_TEMPLATE;
                mReport.FIELD_INF      = frmPrint.mpt.FIELD_INF;
                this.isInit            = true;
                //this.frmRptImg.ReSetCheck();
                this.winWordControl.QuitWord();
                FileOperator file = new FileOperator();
                file.FileSave(frmPrint.mpt.FILE_NAME, this.TempPath);
                word.WordInitChange(MworkList, mReport, TempPath);
                initAddImg();
                this.isInit = false;
            }
        }
Esempio n. 7
0
 public void InitForm(MReport mReport, MStudy mStudy, string Path)
 {
     this.mStudy  = mStudy;
     this.mReport = mReport;
     DisplayWord(Path);
     FillData();
     this.Text = "申请序号:" + mStudy.EXAM_ACCESSION_NUM;
 }
Esempio n. 8
0
 public SaveReportCls(SIS_Model.MWorkList worklist, SIS_Model.MReport mReport, List <ImgObj> arrayImg)
 {
     this.mWorkList = worklist;
     this.mReport   = mReport;
     //this.xFramerControl1 = xFramerControl1;
     ServerPath = GetConfig.ServerImgDir + "/" + Convert.ToDateTime(worklist.REQ_DATE_TIME).ToString("yyyyMMdd") + "/" + worklist.EXAM_ACCESSION_NUM;
     //SaveReport();
     //SaveImage(arrayImg,worklist);
 }
Esempio n. 9
0
        public int OpenRpt(MReport mReport, MStudy mStudy, string Path)
        {
            this.winWordControl.CloseControl();
            if (!Directory.Exists(Pacstemp))
            {
                Directory.CreateDirectory(Pacstemp);
            }
            string TempPath = Pacstemp + DateTime.Now.ToString("yyyyMMddhhmmssFFF") + mReport.EXAM_NO + ".doc";

            File.Copy(Path, TempPath, true);
            int i = wClass.PacsWordInit(mReport, mStudy, TempPath);

            return(i);
        }
Esempio n. 10
0
        //报告按模式打开,如普通模式和word模式
        public void initForm(MWorkList model, MReport mReport, bool isShowWord)
        {
            //this.Text = string.Format("检查申请号:{0}", model.EXAM_ACCESSION_NUM);
            this.isShowWord = isShowWord;
            this.mReport    = mReport;// (MReport)(bReport.GetModel(model.EXAM_ACCESSION_NUM));
            this.winWordControl.QuitWord();
            FileOperator file = new FileOperator();

            file.FilesCopy(Application.StartupPath + "\\ReportCache", Application.StartupPath + "\\temp", true);
            List <ImgObj> arr = file.ArrReportImg(frmMainForm.examInf.ArrayImages, Application.StartupPath + "\\ReportCache", Application.StartupPath + "\\temp");

            this.MworkList = model;

            initReport(arr);
        }
Esempio n. 11
0
        public int Update(MReport m)
        {
            int    count = 0;
            string sql   = @"UPDATE Report SET State = @State , ErrorCode = @ErrorCode , Status = @Status WHERE SubmitSequenceNumber = @SubmitSequenceNumber";

            try
            {
                count += base.Execute(sql, m);
            }
            catch
            {
                throw;
            }

            return(count);
        }
Esempio n. 12
0
        private void dgv_WorkList_Click(object sender, EventArgs e)
        {
            if (this.dgv_WorkList.Rows.Count == 0 || this.dgv_WorkList.SelectedRows.Count == 0)
            {
                return;
            }
            string  ExamAccessionNum = this.dgv_WorkList.CurrentRow.Cells["EXAM_ACCESSION_NUM"].Value.ToString();
            BReport br = new BReport();

            mrpt = (MReport)br.GetModel(ExamAccessionNum);
            Path = TemDir + ExamAccessionNum + ".doc";
            if (!File.Exists(Path))
            {
                fOpe.FileSave(mrpt.REPORT_NAME, Path);
            }
        }
Esempio n. 13
0
        public MReport Get(string submitSequenceNumber)
        {
            MReport m   = null;
            string  sql = @"SELECT * from Report WHERE SubmitSequenceNumber = @SubmitSequenceNumber limit 0 , 1 ";

            try
            {
                m = base.Query <MReport>(sql, new { SubmitSequenceNumber = submitSequenceNumber }).FirstOrDefault();
            }
            catch
            {
                throw;
            }

            return(m);
        }
Esempio n. 14
0
        public int Insert(MReport m)
        {
            int    count = 0;
            string sql   = @"INSERT INTO Report (TargetSubmitSequenceNumber , SubmitSequenceNumber ,ReportType , SPNumber , UserNumber , State , Status , ErrorCode , Created)
                            VALUES(@TargetSubmitSequenceNumber , @SubmitSequenceNumber ,@ReportType , @SPNumber , @UserNumber , @State , @Status , @ErrorCode , @Created)";

            try
            {
                count += base.Execute(sql, m);
            }
            catch
            {
                throw;
            }

            return(count);
        }
Esempio n. 15
0
        /// <summary>
        /// 保存报告
        /// </summary>
        private bool SaveReport()
        {
            if (!this.isShowWord)
            {
                word.SetValue(FieldDict.EXAM_PARA, this.txt_ExamPara.Text);
                word.SetValue(FieldDict.DESCRIPTION, this.txt_Description.Text);
                word.SetValue(FieldDict.IMPRESSION, this.txt_Impression.Text);
                word.SetValue(FieldDict.RECOMMENDATION, this.txt_Recommendation.Text);
            }
            string ImgToPaxPaths = "";
            bool   isSuccess     = false;

            try
            {
                List <ImgObj> arraySaveImg = this.frmRptImg.SaveImgs(ref ImgToPaxPaths);

                // word.SaveDocument("");//保存文档
                MReport mReport = word.GetMReport(TempPath);
                if (this.frmRem != null && this.frmRem.GetRecommendation() != "")
                {
                    mReport.RECOMMENDATION = frmRem.GetRecommendation();
                }
                this.MworkList           = frmExam.mworklist;
                this.mReport.IS_ABNORMAL = frmExam.mrpt.IS_ABNORMAL;
                this.mReport.TRANSCRIBER = frmExam.mrpt.TRANSCRIBER;
                SaveReportCls save = new SaveReportCls(MworkList, mReport, arraySaveImg);
                isSuccess  = frmExam.Save();
                isSuccess &= save.SaveReport();
                isSuccess &= save.SaveImage(arraySaveImg, MworkList);
            }
            catch (Exception ex)
            {
                MessageBoxEx.Show(ex.Message);
                return(false);
            }
            if (ILL.GetConfig.IsConnectPax)
            {
                SendRptToPax SendToPax = new SendRptToPax(MworkList, mReport, ImgToPaxPaths.TrimEnd(';'));//与PACS接口,
                if (SendToPax.mStudy.STUDY_INSTANCE_UID != "")
                {
                    sendRptToHT.SendToHT(SendToPax.mStudy.STUDY_INSTANCE_UID);
                }
            }
            this.ReportStatus = 1;
            return(isSuccess);
        }
Esempio n. 16
0
 public IActionResult Result([FromForm] string bean)
 {
     if (GetUserLoginState.LoginState(Request.Headers))
     {
         string UserIP    = Request.HttpContext.Connection.RemoteIpAddress.ToString();
         string UserAgent = Request.Headers["User-Agent"].ToString();
         string UserEmpID = JsonConvert.DeserializeObject <JObject>(Request.Headers["token"]).GetValue("UserEmpID").ToString();
         string OrderUID  = JsonConvert.DeserializeObject <JObject>(bean).GetValue("orderUID").ToString();
         string Opname    = JsonConvert.DeserializeObject <JObject>(bean).GetValue("pmOpName").ToString();
         PublicFunc.WriteUserLog(UserEmpID, UserIP, "报工", "OrderUID:" + OrderUID + ",工序名称:" + Opname, UserAgent);
         MReport report = new MReport();
         return(Ok(report.Report_Call(bean)));
     }
     else
     {
         return(Ok(-1));
     }
 }
Esempio n. 17
0
        public void Commit(Submit submit)
        {
            try
            {
                submitLocker.EnterWriteLock();

                var deliver = new Deliver
                {
                    SPNumber       = submit.SPNumber,
                    UserNumber     = submit.UserNumber,
                    MessageCoding  = MessageCodes.GBK,
                    MessageContent = submit.MessageContent,
                    TP_pid         = 0,
                    TP_udhi        = 0
                };
                //添加到转发消息队列
                submitQueue.Enqueue(deliver);
                //映射序列号
                smscHandler.MapSequeue(deliver.SequenceNumberString, submit.SequenceNumberString);

                //添加发送报告添加到数据库
                var mReport = new MReport
                {
                    TargetSubmitSequenceNumber = submit.SequenceNumber,
                    SubmitSequenceNumber       = submit.SequenceNumberString,
                    UserNumber = deliver.UserNumber,
                    SPNumber   = deliver.SPNumber,
                    ReportType = (int)ReportTypes.PerSubmit,
                    ErrorCode  = 0,
                    State      = (int)ReportStatus.Wait,
                    Status     = 0,
                    Created    = DateTime.Now
                };
                StorageProvider <ReportStorage> .GetStorage().Insert(mReport);
            }
            catch
            {
                throw;
            }
            finally
            {
                submitLocker.ExitWriteLock();
            }
        }
Esempio n. 18
0
        private void lv_Patient_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            ListViewItem lvi = lv_Patient.GetItemAt(e.X, e.Y);
            if (lvi == null) return;
            if (lvi.ImageIndex != 1) return;

            BWorkList bwk = new BWorkList();
            MWorkList mwk = (MWorkList)bwk.GetModel(lvi.Tag.ToString());

            BReport brt = new BReport();
            MReport mrt = (MReport)brt.GetModel(lvi.Tag.ToString());

            ImageCopy ic = new ImageCopy();
            string saveDir = System.Windows.Forms.Application.StartupPath + "\\temp";
            List<ImgObj> arrayImg = ic.LoadImages(mwk, saveDir);
            frmReportEdit frmRE = new frmReportEdit();
            frmRE.initForm(mwk, mrt,ILL.GetConfig.RS_OpenWord);
            frmRE.ShowDialog();
        }
Esempio n. 19
0
        public void Commit(MReport mReport)
        {
            var client = spHandler.GetSPClient(mReport.SPNumber);

            //若SP客户端在线则转发,不在线则丢弃等待下次上线再转发
            if (client != null)
            {
                var r = new Report
                {
                    SubmitSequenceNumber = mReport.TargetSubmitSequenceNumber,
                    ReportType           = (uint)mReport.ReportType,
                    State      = (uint)mReport.State,
                    ErrorCode  = (uint)mReport.ErrorCode,
                    UserNumber = mReport.UserNumber
                };
                client.Socket.Send(r.GetBytes());
                //映射序列号
                spHandler.MapSequeue(r.SequenceNumberString, mReport.SubmitSequenceNumber);
            }
        }
Esempio n. 20
0
        /// <summary>
        /// 更新指定的报告记录
        /// </summary>
        /// <param name="ireport"></param>
        /// <param name="where"></param>
        /// <returns></returns>
        public override int Update(IModel ireport, string where)
        {
            MReport   report = (MReport)ireport;
            Hashtable ht     = new Hashtable();

            ht.Add("EXAM_NO", report.EXAM_NO);
            ht.Add("EXAM_PARA", report.EXAM_PARA);
            ht.Add("DESCRIPTION", report.DESCRIPTION);
            ht.Add("IMPRESSION", report.IMPRESSION);
            ht.Add("RECOMMENDATION", report.RECOMMENDATION);
            ht.Add("DICTATOR", report.DICTATOR);
            ht.Add("TRANSCRIBER", report.TRANSCRIBER);
            ht.Add("APPROVER", report.APPROVER);
            ht.Add("APPROVE_DATE_TIME", report.APPROVE_DATE_TIME);
            ht.Add("REPORT_DATE_TIME", report.REPORT_DATE_TIME);
            ht.Add("AFFIRMANT", report.AFFIRMANT);
            ht.Add("AFFIRM_DATE_TIME", report.AFFIRM_DATE_TIME);
            ht.Add("IS_ABNORMAL", report.IS_ABNORMAL);
            ht.Add("REPORT_TYPE", report.REPORT_TYPE);
            ht.Add("PRINT_TEMPLATE", report.PRINT_TEMPLATE);
            ht.Add("PRINT_COUNT", report.PRINT_COUNT);
            ht.Add("REPORT_NAME", report.REPORT_NAME);
            ht.Add("FIELD_INF", report.FIELD_INF);
            int i = ExecuteSql(StringConstructor.UpdateSql(TableName, ht, where).ToString(), ht);

            ht = new Hashtable();
            ht.Add("EXAM_NO", report.EXAM_NO);
            ht.Add("A1", report.A1);
            ht.Add("A2", report.A2);
            ht.Add("A3", report.A3);
            ht.Add("A4", report.A4);
            ht.Add("A5", report.A4);
            ht.Add("A6", report.A4);
            i += ExecuteSql(StringConstructor.UpdateSql(TableName_Sub, ht, where).ToString());
            return(i);
        }
Esempio n. 21
0
        /// <summary>
        /// 获取指定检查申请号的报告记录
        /// </summary>
        /// <param name="EXAM_NO"></param>
        /// <returns></returns>
        public override IModel GetModel(string EXAM_NO)
        {
            strSql = "select * from " + TableName + " where EXAM_NO = '" + EXAM_NO + "'";
            DataTable dt = GetDataTable(strSql);

            if (dt.Rows.Count == 0)
            {
                return(null);
            }
            MReport report = new MReport();

            report.EXAM_NO        = dt.Rows[0]["EXAM_NO"].ToString();
            report.EXAM_PARA      = dt.Rows[0]["EXAM_PARA"].ToString();
            report.DESCRIPTION    = dt.Rows[0]["DESCRIPTION"].ToString();
            report.IMPRESSION     = dt.Rows[0]["IMPRESSION"].ToString();
            report.RECOMMENDATION = dt.Rows[0]["RECOMMENDATION"].ToString();
            report.DICTATOR       = dt.Rows[0]["DICTATOR"].ToString();
            report.TRANSCRIBER    = dt.Rows[0]["TRANSCRIBER"].ToString();

            if (dt.Rows[0]["IS_ABNORMAL"].ToString() == "")
            {
                report.IS_ABNORMAL = null;
            }
            else
            {
                report.IS_ABNORMAL = Convert.ToInt32(dt.Rows[0]["IS_ABNORMAL"].ToString());
            }

            if (dt.Rows[0]["REPORT_TYPE"].ToString() == "")
            {
                report.REPORT_TYPE = null;
            }
            else
            {
                report.REPORT_TYPE = Convert.ToInt32(dt.Rows[0]["REPORT_TYPE"].ToString());
            }

            if (dt.Rows[0]["PRINT_COUNT"].ToString() == "")
            {
                report.PRINT_COUNT = null;
            }
            else
            {
                report.PRINT_COUNT = Convert.ToInt32(dt.Rows[0]["PRINT_COUNT"].ToString());
            }

            if (dt.Rows[0]["APPROVE_DATE_TIME"].ToString() == "")
            {
                report.APPROVE_DATE_TIME = null;
            }
            else
            {
                report.APPROVE_DATE_TIME = Convert.ToDateTime(dt.Rows[0]["APPROVE_DATE_TIME"].ToString());
            }

            if (dt.Rows[0]["REPORT_DATE_TIME"].ToString() == "")
            {
                report.REPORT_DATE_TIME = null;
            }
            else
            {
                report.REPORT_DATE_TIME = Convert.ToDateTime(dt.Rows[0]["REPORT_DATE_TIME"].ToString());
            }

            if (dt.Rows[0]["AFFIRM_DATE_TIME"].ToString() == "")
            {
                report.AFFIRM_DATE_TIME = null;
            }
            else
            {
                report.AFFIRM_DATE_TIME = Convert.ToDateTime(dt.Rows[0]["AFFIRM_DATE_TIME"].ToString());
            }

            report.APPROVER       = dt.Rows[0]["APPROVER"].ToString();
            report.AFFIRMANT      = dt.Rows[0]["AFFIRMANT"].ToString();
            report.PRINT_TEMPLATE = dt.Rows[0]["PRINT_TEMPLATE"].ToString();
            if (dt.Rows[0]["REPORT_NAME"] == System.DBNull.Value)
            {
                report.REPORT_NAME = null;
            }
            else
            {
                report.REPORT_NAME = (byte[])(dt.Rows[0]["REPORT_NAME"]);
            }
            report.FIELD_INF = dt.Rows[0]["FIELD_INF"].ToString();
            strSql           = "select * from " + TableName_Sub + " where EXAM_NO = '" + EXAM_NO + "'";
            dt = GetDataTable(strSql);
            if (dt.Rows.Count == 0)
            {
                return(report);
            }
            report.A1 = dt.Rows[0]["A1"].ToString();

            if (dt.Rows[0]["A2"].ToString() == "")
            {
                report.A2 = null;
            }
            else
            {
                report.A2 = Convert.ToInt32(dt.Rows[0]["A2"].ToString());
            }

            if (dt.Rows[0]["A3"].ToString() == "")
            {
                report.A3 = null;
            }
            else
            {
                report.A3 = Convert.ToInt32(dt.Rows[0]["A3"].ToString());
            }

            if (dt.Rows[0]["A4"].ToString() == "")
            {
                report.A4 = null;
            }
            else
            {
                report.A4 = Convert.ToInt32(dt.Rows[0]["A4"].ToString());
            }

            report.A5 = dt.Rows[0]["A5"].ToString();
            report.A6 = dt.Rows[0]["A6"].ToString();
            return(report);
        }