Example #1
0
 /// <summary>
 /// 获得update或者insert库存表的传入参数数组
 /// </summary>
 /// <param name="dayReport">库存类</param>
 /// <returns>字符串数组</returns>
 private string[] myGetParmInpatientDayReport(Neusoft.HISFC.Models.HealthRecord.InpatientDayReport dayReport)
 {
     string[] strParm =
     {
         dayReport.DateStat.ToString(),                                                       //0 统计日期
         dayReport.ID,                                                                        //1 科室编码
         dayReport.NurseStation.ID,                                                           //2 护士站编码
         dayReport.BedStand.ToString(),                                                       //3 编制内病床数
         dayReport.BedAdd.ToString(),                                                         //4 加床数
         dayReport.BedFree.ToString(),                                                        //5 空床数
         dayReport.BeginningNum.ToString(),                                                   //6 期初病人数
         dayReport.InNormal.ToString(),                                                       //7 常规入院数
         dayReport.InEmergency.ToString(),                                                    //8 急诊入院数
         dayReport.InTransfer.ToString(),                                                     //9 其他科转入数
         dayReport.InReturn.ToString(),                                                       //10 招回入院人数
         dayReport.OutNormal.ToString(),                                                      //11 常规出院数
         dayReport.OutTransfer.ToString(),                                                    //12 转出其他科数
         dayReport.OutWithdrawal.ToString(),                                                  //13 退院人数
         dayReport.EndNum.ToString(),                                                         //14 期末病人数
         dayReport.DeadIn24.ToString(),                                                       //15 24小时内死亡数
         dayReport.DeadOut24.ToString(),                                                      //16 24小时外死亡数
         dayReport.BedRate.ToString(),                                                        //17 床位使用率
         dayReport.Other1Num.ToString(),                                                      //18 其他1数量
         dayReport.Other2Num.ToString(),                                                      //19 其他2数量
         dayReport.Memo.ToString(),                                                           //20 备注
         this.Operator.ID,                                                                    //21 操作员编码
         dayReport.InTransferInner.ToString(),                                                //22 内部转入数 (中山需求)
         dayReport.OutTransferInner.ToString()                                                //23 内部转出数 (中山需求)
     };
     return(strParm);
 }
Example #2
0
 /// <summary>
 /// 先更新住院日报,如果没有找到数据则插入一条新数据
 /// </summary>
 /// <returns></returns>
 public int SetDayReportDetail(Neusoft.HISFC.Models.HealthRecord.InpatientDayReport dayReport)
 {
     //根据dayReport中的user01来区分是何种类型
     //1 K -接珍,
     //2 RB-转入,
     //3 RD-转出,
     //4 O -出院登记,
     //5 C -召回,
     //6 OF-无费退院
     //			switch (dayReport.User01) {
     //				case "K":	//接诊
     //					dayReport.User01 = "I_NORMAL";
     //					break;
     //				case "RI":	//转入
     //					dayReport.User01 = "I_TRANSFER";
     //					break;
     //				case "C":	//召回
     //					dayReport.User01 = "I_RETURN";
     //					break;
     //				case "RO":	//转出
     //					dayReport.User01 = "O_TRANSFER";
     //					break;
     //				case "O":	//出院登记
     //					dayReport.User01 = "O_NORMAL";
     //					break;
     //				case "OF":	//无费退院
     //					dayReport.User01 = "O_WITHDRAWAL";
     //					break;
     //			}
     //			int parm;
     //			//先更新住院日报
     //			parm = this.InsertInpatientDayReportDetail(dayReport);
     //			return parm;
     return(this.InsertDayReportDetail(dayReport));
 }
        private int AddDataToFp(int rowIndex, Neusoft.HISFC.Models.HealthRecord.InpatientDayReport info)
        {
            this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColDeptCode].Text = info.ID;
            this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColDeptName].Text = info.Name;

            this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColStarandNum].Text = info.BedStand.ToString();
            this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColAddNum].Text     = info.BedAdd.ToString();
            this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColFreeNum].Text    = info.BedFree.ToString();
            this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColBeginNum].Text   = info.BeginningNum.ToString();
            // this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColInNum].Text = info.InNormal.ToString(); 随志芳 {C4E9B22C-A959-40e8-BCD1-0796F0EE0F4E} 入院人数等于常规入院人数加上门急诊入院人数
            this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColInNum].Text       = (info.InNormal + info.InEmergency).ToString();
            this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColTransferIn].Text  = info.InTransfer.ToString();
            this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColTransferOut].Text = info.OutTransfer.ToString();
            // this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColOutNu].Text = info.OutNormal.ToString(); 随志芳  {C4E9B22C-A959-40e8-BCD1-0796F0EE0F4E} 出院人数等于常规出院人数减去召回人数加上退院人数
            this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColOutNu].Text  = (info.OutNormal - info.InReturn + info.OutWithdrawal).ToString();
            this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColEndNum].Text = info.EndNum.ToString();

            //if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColStarandNum].Text == "0")
            //    this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColStarandNum].Text == "";
            if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColStarandNum].Text == "0")
            {
                this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColStarandNum].Text = "";
            }
            if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColAddNum].Text == "0")
            {
                this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColAddNum].Text = "";
            }
            if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColFreeNum].Text == "0")
            {
                this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColFreeNum].Text = "";
            }
            if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColBeginNum].Text == "0")
            {
                this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColBeginNum].Text = "";
            }
            if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColInNum].Text == "0")
            {
                this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColInNum].Text = "";
            }
            if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColTransferIn].Text == "0")
            {
                this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColTransferIn].Text = "";
            }
            if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColTransferOut].Text == "0")
            {
                this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColTransferOut].Text = "";
            }
            if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColOutNu].Text == "0")
            {
                this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColOutNu].Text = "";
            }
            if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColEndNum].Text == "0")
            {
                this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColEndNum].Text = "";
            }

            this.neuSpread1_Sheet1.Rows[rowIndex].Tag = info;

            return(1);
        }
        /// <summary>
        /// 由Fp内获取日报数据
        /// </summary>
        /// <param name="rowIndex"></param>
        /// <returns></returns>
        protected Neusoft.HISFC.Models.HealthRecord.InpatientDayReport GetDayReport(int rowIndex)
        {
            Neusoft.HISFC.Models.HealthRecord.InpatientDayReport info = this.neuSpread1_Sheet1.Rows[rowIndex].Tag as Neusoft.HISFC.Models.HealthRecord.InpatientDayReport;
            if (info == null)
            {
                return(null);
            }

            info.ID           = this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColDeptCode].Text;
            info.Name         = this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColDeptName].Text;
            info.BedStand     = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColStarandNum].Text);
            info.BedAdd       = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColAddNum].Text);
            info.BedFree      = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColFreeNum].Text);
            info.BeginningNum = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColBeginNum].Text);
            info.InNormal     = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColInNum].Text);
            //{C4E9B22C-A959-40e8-BCD1-0796F0EE0F4E} 随志芳  设置常规入院人数
            info.InNormal    = info.InNormal - info.InEmergency;
            info.InTransfer  = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColTransferIn].Text);
            info.OutTransfer = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColTransferOut].Text);
            info.OutNormal   = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColOutNu].Text);
            //{C4E9B22C-A959-40e8-BCD1-0796F0EE0F4E} 随志芳  设置常规出院人数
            info.OutNormal = info.OutNormal + info.InReturn - info.OutWithdrawal;
            info.EndNum    = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColEndNum].Text);

            return(info);
        }
Example #5
0
        /// <summary>
        /// 日报动态更新,在每次发生床位变动的时候更新
        /// 先更新住院日报,如果没有找到数据则找昨天日报中的期末数和固定床位数,插入一条新数据
        /// </summary>
        /// <returns></returns>
        public int DynamicUpdate(Neusoft.HISFC.Models.HealthRecord.InpatientDayReport dayReport)
        {
            try
            {
                int parm;
                //更新住院日报
                parm = this.UpdateInpatientDayReport(dayReport);
                //如果没有找到当天数据,说明是本日第一次更新,则取昨日日报的期末数作为今日期初数和固定床位数等数据插入数据库
                if (parm == 0)
                {
                    //取昨日住院日报的期末数
                    Neusoft.HISFC.Models.HealthRecord.InpatientDayReport lastReport = this.GetInpatientDayReport(dayReport.DateStat.AddDays(-1), dayReport.ID, dayReport.NurseStation.ID);
                    if (lastReport == null)
                    {
                        return(-1);
                    }

                    //如果没有找到昨天的数据则认为昨日期末数为0
                    if (lastReport.ID == "")
                    {
                        lastReport.EndNum = GetDeptPatientNum(dayReport.ID, dayReport.NurseStation.ID);
                    }

                    //今天期初数=昨日期末数
                    dayReport.BeginningNum = lastReport.EndNum;
                    //今天期末数=今日期末数 + 昨日期末数(今日期初数)
                    dayReport.EndNum = dayReport.EndNum + lastReport.EndNum;

                    //取固定床位数
                    Neusoft.HISFC.Models.Base.ExtendInfo deptExt = managerExtendParam.GetComExtInfo(Neusoft.HISFC.Models.Base.EnumExtendClass.DEPT, "CASE_BED_STAND", dayReport.ID);
                    if (deptExt == null)
                    {
                        return(-1);
                    }
                    dayReport.BedStand = Convert.ToInt32(deptExt.NumberProperty);

                    //插入住院日报表中一条新记录
                    parm = this.InsertDayReportDetail(dayReport);
                }


                if (parm == -1)
                {
                    return(parm);
                }

                //调用日报明细插入函数
                return(this.SetDayReportDetail(dayReport));
                //return parm;
            }
            catch (Exception ex)
            {
                this.Err = ex.Message;
                return(-1);
            }
        }
Example #6
0
        /// <summary>
        /// 先更新住院日报,如果没有找到数据则插入一条新数据
        /// </summary>
        /// <returns></returns>
        public int SetInpatientDayReport(Neusoft.HISFC.Models.HealthRecord.InpatientDayReport dayReport)
        {
            int parm;

            //先更新住院日报
            parm = this.UpdateInpatientDayReport(dayReport);
            if (parm == 0)
            {
                //如果没有找到数据则插入一条新数据
                parm = this.InsertInpatientDayReport(dayReport);
            }
            return(parm);
        }
Example #7
0
 /// <summary>
 /// 根据日报实体中的各分项数据计算期初人数
 /// </summary>
 /// <param name="dayReport"></param>
 /// <returns></returns>
 public void ComputeBeginingNum(ref Neusoft.HISFC.Models.HealthRecord.InpatientDayReport dayReport)
 {
     if (dayReport == null)
     {
         return;
     }
     dayReport.BeginningNum = dayReport.EndNum
                              - dayReport.InNormal
                              - dayReport.InEmergency
                              - dayReport.InReturn
                              - dayReport.InTransfer
                              + dayReport.OutNormal
                              + dayReport.OutTransfer
                              + dayReport.OutWithdrawal;
 }
Example #8
0
 /// <summary>
 /// 获得update或者insert库存表的传入参数数组
 /// </summary>
 /// <param name="reportDetail">库存类</param>
 /// <returns>字符串数组</returns>
 private string[] myGetParmDayReportDetail(Neusoft.HISFC.Models.HealthRecord.InpatientDayReport reportDetail)
 {
     string[] strParm =
     {
         reportDetail.DateStat.ToString(),                                                       //0 统计日期
         reportDetail.ID,                                                                        //1 科室编码
         reportDetail.NurseStation.ID,                                                           //2 护士站编码
         reportDetail.User02,                                                                    //3 住院流水号
         reportDetail.User03,                                                                    //4 床号
         reportDetail.User01,                                                                    //5 统计类型
         this.Operator.ID,                                                                       //6 操作员编码
         reportDetail.Memo                                                                       //7 备注
     };
     return(strParm);
 }
Example #9
0
        /// <summary>
        /// 清空日报中的各项数值(除了期初数,期末数等于期初数)
        /// </summary>
        /// <param name="dayReport"></param>
        public void Clear(ref Neusoft.HISFC.Models.HealthRecord.InpatientDayReport dayReport)
        {
            if (dayReport == null)
            {
                return;
            }

            dayReport.InNormal      = 0;
            dayReport.InEmergency   = 0;
            dayReport.InReturn      = 0;
            dayReport.InTransfer    = 0;
            dayReport.OutNormal     = 0;
            dayReport.OutTransfer   = 0;
            dayReport.OutWithdrawal = 0;
            dayReport.EndNum        = dayReport.BeginningNum;
        }
Example #10
0
        /// <summary>
        /// 取日报明细信息列表,可能是一条或者多条库存记录
        /// 私有方法,在其他方法中调用
        /// writed by cuipeng
        /// 2006-3
        /// </summary>
        /// <param name="SQLString">SQL语句</param>
        /// <returns>NeuObject对象数组</returns>
        private ArrayList myGetDayReportDetail(string SQLString)
        {
            ArrayList al = new ArrayList();

            Neusoft.HISFC.Models.HealthRecord.InpatientDayReport reportDetail;             //住院日报信息实体
            this.ProgressBarText  = "正在检索住院日报单信息...";
            this.ProgressBarValue = 0;

            //执行查询语句
            if (this.ExecQuery(SQLString) == -1)
            {
                this.Err     = "获得库存信息时,执行SQL语句出错!" + this.Err;
                this.ErrCode = "-1";
                return(null);
            }
            try
            {
                while (this.Reader.Read())
                {
                    //取查询结果中的记录
                    reportDetail                   = new Neusoft.HISFC.Models.HealthRecord.InpatientDayReport();
                    reportDetail.DateStat          = NConvert.ToDateTime(this.Reader[0].ToString());            //0 统计日期
                    reportDetail.ID                = this.Reader[1].ToString();                                 //1 科室编码
                    reportDetail.NurseStation.ID   = this.Reader[2].ToString();                                 //2 护理站编码
                    reportDetail.User01            = this.Reader[3].ToString();                                 //3 统计类型
                    reportDetail.User02            = this.Reader[4].ToString();                                 //4 住院流水号
                    reportDetail.User03            = this.Reader[5].ToString();                                 //5 床号
                    reportDetail.Memo              = this.Reader[6].ToString();                                 //6 备注
                    reportDetail.OperInfo.ID       = this.Reader[7].ToString();                                 //7 操作员
                    reportDetail.OperInfo.OperTime = NConvert.ToDateTime(this.Reader[8].ToString());            //8 操作时间

                    this.ProgressBarValue++;
                    al.Add(reportDetail);
                }
            }            //抛出错误
            catch (Exception ex)
            {
                this.Err     = "获得住院日报信息时出错!" + ex.Message;
                this.ErrCode = "-1";
                return(null);
            }
            this.Reader.Close();

            this.ProgressBarValue = -1;
            return(al);
        }
        /// <summary>
        /// 由Fp内获取日报数据
        /// </summary>
        /// <param name="rowIndex"></param>
        /// <returns></returns>
        protected Neusoft.HISFC.Models.HealthRecord.InpatientDayReport GetDayReport(int rowIndex)
        {
            Neusoft.HISFC.Models.HealthRecord.InpatientDayReport info = this.neuSpread1_Sheet1.Rows[rowIndex].Tag as Neusoft.HISFC.Models.HealthRecord.InpatientDayReport;
            if (info == null)
            {
                return(null);
            }

            info.ID           = this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColDeptCode].Text;
            info.Name         = this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColDeptName].Text;
            info.BedStand     = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColStarandNum].Text);
            info.BedAdd       = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColAddNum].Text);
            info.BedFree      = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColFreeNum].Text);
            info.BeginningNum = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColBeginNum].Text);
            info.InNormal     = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColInNum].Text);
            info.InTransfer   = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColTransferIn].Text);
            info.OutTransfer  = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColTransferOut].Text);
            info.OutNormal    = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColOutNu].Text);

            info.User01 = (NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColOutDeathNu].Text)).ToString();

            info.EndNum = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColEndNum].Text);

            //{32357656-B32A-4fcc-BE5D-6FA1789CD5C9} 床位日报审核功能
            //info.Memo = this.neuSpread1_Sheet1.Cells[rowIndex,(int)ColumnSet.ColMemo].Tag.ToString();
            bool isConfirm = NConvert.ToBoolean(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColMemo].Text);

            if (isConfirm)
            {
                if (this.deptZone1 == DeptZone.ALL)
                {
                    info.Memo = "2";
                }
                else
                {
                    info.Memo = "1";
                }
            }
            else
            {
                info.Memo = this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColMemo].Tag.ToString();
            }

            return(info);
        }
 private void neuSpread1_Sheet1_CellChanged(object sender, FarPoint.Win.Spread.SheetViewEventArgs e)
 {
     if (e.Column == (int)ColumnSet.ColBeginNum ||
         e.Column == (int)ColumnSet.ColInNum ||
         e.Column == (int)ColumnSet.ColTransferIn ||
         e.Column == (int)ColumnSet.ColTransferOut ||
         e.Column == (int)ColumnSet.ColOutNu)
     {
         int beginNum    = FrameWork.Function.NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[e.Row, (int)ColumnSet.ColBeginNum].Text);
         int tnNum       = FrameWork.Function.NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[e.Row, (int)ColumnSet.ColInNum].Text);
         int transferIn  = FrameWork.Function.NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[e.Row, (int)ColumnSet.ColTransferIn].Text);
         int transferOut = FrameWork.Function.NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[e.Row, (int)ColumnSet.ColTransferOut].Text);
         int outNum      = FrameWork.Function.NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[e.Row, (int)ColumnSet.ColOutNu].Text);
         this.neuSpread1_Sheet1.Cells[e.Row, (int)ColumnSet.ColEndNum].Text = (beginNum + tnNum + transferIn - transferOut - outNum).ToString();
     }
     else if (e.Column == (int)ColumnSet.ColEndNum)
     {
         Neusoft.HISFC.Models.HealthRecord.InpatientDayReport info = this.neuSpread1_Sheet1.Rows[e.Row].Tag as Neusoft.HISFC.Models.HealthRecord.InpatientDayReport;
         if (info == null)
         {
             return;
         }
         int    endNum   = FrameWork.Function.NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[e.Row, (int)ColumnSet.ColEndNum].Text);
         string deptCode = info.ID;
         //DateTime lastDate = info.DateStat.Date;
         for (int i = e.Row + 1; i < this.neuSpread1_Sheet1.Rows.Count; i++)
         {
             Neusoft.HISFC.Models.HealthRecord.InpatientDayReport tmpInfo = this.neuSpread1_Sheet1.Rows[i].Tag as Neusoft.HISFC.Models.HealthRecord.InpatientDayReport;
             if (tmpInfo == null)
             {
                 continue;
             }
             string tmpDeptCode = tmpInfo.ID;
             //DateTime tmpDate = tmpInfo.DateStat.Date;
             if (tmpDeptCode == deptCode)
             {
                 int tmpEndNum   = FrameWork.Function.NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[i, (int)ColumnSet.ColEndNum].Text);
                 int tmpBeginNum = FrameWork.Function.NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[i, (int)ColumnSet.ColBeginNum].Text);
                 this.neuSpread1_Sheet1.Cells[i, (int)ColumnSet.ColBeginNum].Text = endNum.ToString();
                 this.neuSpread1_Sheet1.Cells[i, (int)ColumnSet.ColEndNum].Text   = (tmpEndNum + (endNum - tmpBeginNum)).ToString();
                 break;
             }
         }
     }
 }
        /// <summary>
        /// 日报保存
        /// </summary>
        /// <returns></returns>
        protected int SaveDayReport()
        {
            Neusoft.FrameWork.Management.PublicTrans.BeginTransaction();

            //Neusoft.FrameWork.Management.Transaction t = new Transaction(Neusoft.FrameWork.Management.Connection.Instance);
            //t.BeginTransaction();

            this.dayReportManager.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans);
            this.zzReportManager.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans);

            for (int i = 0; i < this.neuSpread1_Sheet1.Rows.Count; i++)
            {
                Neusoft.HISFC.Models.HealthRecord.InpatientDayReport info = this.GetDayReport(i);

                if (this.zzReportManager.UpdateAfterDayReportDetail(info) < 0)
                {
                    Neusoft.FrameWork.Management.PublicTrans.RollBack();
                    MessageBox.Show(Language.Msg("后续床位日报更新失败:" + this.dayReportManager.Err));
                    return(-1);
                }

                int param = this.zzReportManager.UpdateInpatientDayReport(info);
                if (param == -1)
                {
                    Neusoft.FrameWork.Management.PublicTrans.RollBack();
                    MessageBox.Show(Language.Msg("床位日报更新失败"));
                    return(-1);
                }
                else if (param == 0)
                {
                    if (this.dayReportManager.InsertInpatientDayReport(info) == -1)
                    {
                        Neusoft.FrameWork.Management.PublicTrans.RollBack();
                        MessageBox.Show(Language.Msg("床位日报更新失败"));
                        return(-1);
                    }
                }
            }

            Neusoft.FrameWork.Management.PublicTrans.Commit();
            MessageBox.Show("保存成功");

            return(1);
        }
        /// <summary>
        /// 获取床位日报
        /// </summary>
        protected void QueryDayReport()
        {
            ArrayList alStatList = integrateManager.GetInpatientDayReportList(this.StatDate);

            if (alStatList == null)
            {
                MessageBox.Show("获取床位日报统计汇总信息发生错误");
                return;
            }

            this.neuSpread1_Sheet1.Rows.Count = 0;
            Hashtable hsDayReportDept = new Hashtable();

            foreach (Neusoft.HISFC.Models.HealthRecord.InpatientDayReport info in alStatList)
            {
                hsDayReportDept.Add(info.ID, null);

                this.neuSpread1_Sheet1.Rows.Add(0, 1);

                this.AddDataToFp(0, info);
            }

            ArrayList al = this.QueryDeptStat();

            if (al != null)
            {
                foreach (Neusoft.FrameWork.Models.NeuObject tempStat in al)
                {
                    if (!hsDayReportDept.ContainsKey(tempStat.ID))
                    {
                        Neusoft.HISFC.Models.HealthRecord.InpatientDayReport temp = new Neusoft.HISFC.Models.HealthRecord.InpatientDayReport();
                        temp.ID       = tempStat.ID;
                        temp.Name     = tempStat.Name;
                        temp.DateStat = this.StatDate;

                        this.neuSpread1_Sheet1.Rows.Add(0, 1);

                        this.AddDataToFp(0, temp);
                    }
                }
            }
        }
Example #15
0
        /// <summary>
        /// 作废日报明细表中一条记录
        /// </summary>
        /// <param name="reportDetail">住院日报实体</param>
        /// <returns>0没有更新 1成功 -1失败</returns>
        public int CancelDayReportDetail(Neusoft.HISFC.Models.HealthRecord.InpatientDayReport reportDetail)
        {
            string strSQL = "";

            if (this.Sql.GetSql("Case.DayReport.CancelDayReportDetail", ref strSQL) == -1)
            {
                this.Err = "没有找到Case.DayReport.CancelDayReportDetail字段!";
                return(-1);
            }
            try
            {
                //参数说明:0患者住院流水号,1日报统计类型(目前只有出院可以作废),2统计日期
                strSQL = string.Format(strSQL, reportDetail.User02, "O", reportDetail.DateStat.ToString());                          //替换SQL语句中的参数。
            }
            catch (Exception ex)
            {
                this.Err = "格式化SQL语句时出错Case.DayReport.CancelDayReportDetail:" + ex.Message;
                this.WriteErr();
                return(-1);
            }
            return(this.ExecNoQuery(strSQL));
        }
Example #16
0
        /// <summary>
        /// 更新日报明细表中一条记录
        /// </summary>
        /// <param name="reportDetail">住院日报实体</param>
        /// <returns>0没有更新 1成功 -1失败</returns>
        public int UpdateDayReportDetail(Neusoft.HISFC.Models.HealthRecord.InpatientDayReport reportDetail)
        {
            string strSQL = "";

            if (this.Sql.GetSql("Case.DayReport.UpdateDayReportDetail", ref strSQL) == -1)
            {
                this.Err = "没有找到Case.DayReport.UpdateDayReportDetail字段!";
                return(-1);
            }
            try
            {
                string[] strParm = myGetParmDayReportDetail(reportDetail);        //取参数列表
                strSQL = string.Format(strSQL, strParm);                          //替换SQL语句中的参数。
            }
            catch (Exception ex)
            {
                this.Err = "格式化SQL语句时出错Case.DayReport.UpdateDayReportDetail:" + ex.Message;
                this.WriteErr();
                return(-1);
            }
            return(this.ExecNoQuery(strSQL));
        }
        /// <summary>
        /// 获取床位日报
        /// </summary>
        protected void QueryDayReport()
        {
            #region {32357656-B32A-4fcc-BE5D-6FA1789CD5C9} 床位日报审核功能
            /// <summary>
            /// 查询科室条件限制
            /// </summary>
            if (this.deptZone1 == DeptZone.ALL) //全部科室
            {
                deptID = this.cmbDept.Tag.ToString();
                //neuSpread1_Sheet1.Columns[(int)ColumnSet.ColStarandNum].Locked = false;
                neuSpread1_Sheet1.Columns[(int)ColumnSet.ColBeginNum].Locked = false;
            }
            else //单科室
            {
                deptID = ((Neusoft.HISFC.Models.Base.Employee)Neusoft.FrameWork.Management.Connection.Operator).Dept.ID.ToString();
                neuSpread1_Sheet1.Columns[(int)ColumnSet.ColStarandNum].Locked = true;
                neuSpread1_Sheet1.Columns[(int)ColumnSet.ColBeginNum].Locked   = true;
            }

            ArrayList alStatList = zzReportManager.GetInpatientDayReportList(this.BeginDate, this.EndDate, deptID);

            //ArrayList alStatList = dayReportManager.GetInpatientDayReportList(this.StatDate);



            #endregion {32357656-B32A-4fcc-BE5D-6FA1789CD5C9} 床位日报审核功能

            if (alStatList == null)
            {
                MessageBox.Show("获取床位日报统计汇总信息发生错误");
                return;
            }

            this.neuSpread1_Sheet1.Rows.Count = 0;
            Hashtable hsDayReportDept = new Hashtable();

            foreach (Neusoft.HISFC.Models.HealthRecord.InpatientDayReport info in alStatList)
            {
                //CommitNum = GetDayReportCount(this.StatDate,info.ID);
                //if (CommitNum > 0)
                //{
                //    info.Memo = "1";
                //}else
                //{
                //    info.Memo = "0";
                //}
                if (!hsDayReportDept.ContainsKey(info.ID))
                {
                    hsDayReportDept.Add(info.ID, null);
                }

                this.neuSpread1_Sheet1.Rows.Add(0, 1);

                this.AddDataToFp(0, info);
            }

            ArrayList al = this.QueryDeptStat();
            if (al != null)
            {
                foreach (Neusoft.FrameWork.Models.NeuObject tempStat in al)
                {
                    if (!hsDayReportDept.ContainsKey(tempStat.ID))
                    {
                        Neusoft.HISFC.Models.HealthRecord.InpatientDayReport temp = new Neusoft.HISFC.Models.HealthRecord.InpatientDayReport();
                        temp.ID       = tempStat.ID;
                        temp.Name     = tempStat.Name;
                        temp.DateStat = this.BeginDate;

                        this.neuSpread1_Sheet1.Rows.Add(0, 1);

                        this.AddDataToFp(0, temp);
                    }
                }
            }

            this.SetSum(alStatList);
        }
        private int AddDataToFp(int rowIndex, Neusoft.HISFC.Models.HealthRecord.InpatientDayReport info)
        {
            this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColDateStat].Text = info.DateStat.ToString("yyyy-MM-dd");
            this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColDeptCode].Text = info.ID;
            //{32357656-B32A-4fcc-BE5D-6FA1789CD5C9} 床位日报审核功能
            this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColDeptName].Text = this.deptHelper.GetName(info.ID);

            this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColStarandNum].Text  = info.BedStand.ToString();
            this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColAddNum].Text      = info.BedAdd.ToString();
            this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColFreeNum].Text     = info.BedFree.ToString();
            this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColBeginNum].Text    = info.BeginningNum.ToString();
            this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColInNum].Text       = info.InNormal.ToString();
            this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColTransferIn].Text  = info.InTransfer.ToString();
            this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColTransferOut].Text = info.OutTransfer.ToString();
            this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColOutNu].Text       = info.OutNormal.ToString();
            //死亡数
            this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColOutDeathNu].Text = info.User01.ToString();

            this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColEndNum].Text = info.EndNum.ToString();

            //if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColStarandNum].Text == "0")
            //    this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColStarandNum].Text == "";
            if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColStarandNum].Text == "0")
            {
                this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColStarandNum].Text = "";
            }
            if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColAddNum].Text == "0")
            {
                this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColAddNum].Text = "";
            }
            if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColFreeNum].Text == "0")
            {
                this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColFreeNum].Text = "";
            }
            if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColBeginNum].Text == "0")
            {
                this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColBeginNum].Text = "";
            }
            if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColInNum].Text == "0")
            {
                this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColInNum].Text = "";
            }
            if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColTransferIn].Text == "0")
            {
                this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColTransferIn].Text = "";
            }
            if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColTransferOut].Text == "0")
            {
                this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColTransferOut].Text = "";
            }
            if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColOutNu].Text == "0")
            {
                this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColOutNu].Text = "";
            }
            if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColOutDeathNu].Text == "0")
            {
                this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColOutDeathNu].Text = " ";
            }
            if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColEndNum].Text == "0")
            {
                this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColEndNum].Text = "";
            }


            #region {32357656-B32A-4fcc-BE5D-6FA1789CD5C9} 床位日报审核功能
            //if (info.Memo == "1")
            //{
            //    this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColMemo].Text = "已提交";
            //    this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColMemo].Tag = "1";
            //}
            //else
            //{

            //this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColMemo].Locked = false;
            this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColMemo].BackColor = Color.White;
            this.neuSpread1_Sheet1.Rows[rowIndex].Locked = false;
            if (info.Memo == "0" || string.IsNullOrEmpty(info.Memo))
            {
                this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColMemo].Text = "FALSE";
                if (this.deptZone1 == DeptZone.ALL)
                {
                    //暂时护士站未提交病案室也可以修改
                    //this.neuSpread1_Sheet1.Rows[rowIndex].Locked = true;
                    this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColMemo].BackColor = Color.LightGray;
                }
            }
            else if (info.Memo == "1")
            {
                if (this.deptZone1 == DeptZone.ALL)
                {
                    this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColMemo].Text = "FALSE";
                }
                else
                {
                    this.neuSpread1_Sheet1.Rows[rowIndex].Locked = true;
                    this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColMemo].BackColor = Color.LightGray;
                    this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColMemo].Text      = "TRUE";
                }
            }
            else if (info.Memo == "2")
            {
                this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColMemo].Text = "TRUE";

                this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColMemo].BackColor = Color.LightPink;
                if (this.deptZone1 == DeptZone.DEPT)
                {
                    this.neuSpread1_Sheet1.Rows[rowIndex].Locked = true;
                }
                else
                {
                    this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColMemo].Locked = true;
                }
            }

            #region {5DC8523F-9E2A-413a-B77E-C62165F30C05}  上线初期病案室允许修改期初数

            if (this.deptZone1 == DeptZone.DEPT) //单科室
            {
                this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColStarandNum].Locked = true;
                this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColBeginNum].Locked   = true;
            }


            //this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColBeginNum].Locked = true;
            #endregion {5DC8523F-9E2A-413a-B77E-C62165F30C05}

            this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColEndNum].Locked = true;

            this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColMemo].Tag = info.Memo;
            //}
            #endregion {32357656-B32A-4fcc-BE5D-6FA1789CD5C9} 床位日报审核功能

            this.neuSpread1_Sheet1.Rows[rowIndex].Tag = info;

            return(1);
        }
Example #19
0
        /// <summary>
        /// 取住院日报信息列表,可能是一条或者多条库存记录
        /// 私有方法,在其他方法中调用
        /// writed by cuipeng
        /// 2005-1
        /// </summary>
        /// <param name="SQLString">SQL语句</param>
        /// <returns>住院日报信息对象数组</returns>
        private ArrayList myGetInpatientDayReport(string SQLString)
        {
            ArrayList al = new ArrayList();

            Neusoft.HISFC.Models.HealthRecord.InpatientDayReport dayReport;             //住院日报信息实体
            this.ProgressBarText  = "正在检索住院日报单信息...";
            this.ProgressBarValue = 0;

            //执行查询语句
            if (this.ExecQuery(SQLString) == -1)
            {
                this.Err     = "获得库存信息时,执行SQL语句出错!" + this.Err;
                this.ErrCode = "-1";
                return(null);
            }
            try
            {
                while (this.Reader.Read())
                {
                    //取查询结果中的记录
                    dayReport                   = new Neusoft.HISFC.Models.HealthRecord.InpatientDayReport();
                    dayReport.DateStat          = NConvert.ToDateTime(this.Reader[0].ToString());               //0 统计日期
                    dayReport.ID                = this.Reader[1].ToString();                                    //1 住院日报单号
                    dayReport.BedStand          = NConvert.ToInt32(this.Reader[2].ToString());                  //2 编制内病床数
                    dayReport.BedAdd            = NConvert.ToInt32(this.Reader[3].ToString());                  //3 加床数
                    dayReport.BedFree           = NConvert.ToInt32(this.Reader[4].ToString());                  //4 空床数
                    dayReport.BeginningNum      = NConvert.ToInt32(this.Reader[5].ToString());                  //5 期初病人数
                    dayReport.InNormal          = NConvert.ToInt32(this.Reader[6].ToString());                  //6 常规入院数
                    dayReport.InEmergency       = NConvert.ToInt32(this.Reader[7].ToString());                  //7 急诊入院数
                    dayReport.InTransfer        = NConvert.ToInt32(this.Reader[8].ToString());                  //8 其他科转入数
                    dayReport.InReturn          = NConvert.ToInt32(this.Reader[9].ToString());                  //9  招回入院人数
                    dayReport.OutNormal         = NConvert.ToInt32(this.Reader[10].ToString());                 //10 常规出院数
                    dayReport.OutTransfer       = NConvert.ToInt32(this.Reader[11].ToString());                 //11 转出其他科数
                    dayReport.OutWithdrawal     = NConvert.ToInt32(this.Reader[12].ToString());                 //12 退院人数
                    dayReport.EndNum            = NConvert.ToInt32(this.Reader[13].ToString());                 //13 期末病人数
                    dayReport.DeadIn24          = NConvert.ToInt32(this.Reader[14].ToString());                 //14 24小时内死亡数
                    dayReport.DeadOut24         = NConvert.ToInt32(this.Reader[15].ToString());                 //15 24小时外死亡数
                    dayReport.BedRate           = NConvert.ToDecimal(this.Reader[16].ToString());               //16 床位使用率
                    dayReport.Other1Num         = NConvert.ToInt32(this.Reader[17].ToString());                 //17 其他1数量
                    dayReport.Other2Num         = NConvert.ToInt32(this.Reader[18].ToString());                 //18 其他2数量
                    dayReport.OperInfo.ID       = this.Reader[19].ToString();                                   //19 操作员编码
                    dayReport.OperInfo.OperTime = NConvert.ToDateTime(this.Reader[20].ToString());              //20 操作时间
                    dayReport.Memo              = this.Reader[21].ToString();                                   //21 备注
                    dayReport.NurseStation.ID   = this.Reader[22].ToString();                                   //22 护士站编码
                    dayReport.Name              = this.Reader[23].ToString();                                   //23 科室名称
                    dayReport.InTransferInner   = NConvert.ToInt32(this.Reader[24].ToString());                 //24 内部转入数
                    dayReport.OutTransferInner  = NConvert.ToInt32(this.Reader[25].ToString());                 //25 内部转出数
                    this.ProgressBarValue++;
                    al.Add(dayReport);
                }
            }            //抛出错误
            catch (Exception ex)
            {
                this.Err     = "获得住院日报信息时出错!" + ex.Message;
                this.ErrCode = "-1";
                return(null);
            }
            this.Reader.Close();

            this.ProgressBarValue = -1;
            return(al);
        }