コード例 #1
0
        /// <summary>
        /// 更新原始单据信息
        /// </summary>
        /// <param name="caseBill">病历单据</param>
        /// <returns>-1-失败,1-成功</returns>
        private int UpdateCaseBillToGrid(HISFC.Models.HealthRecord.Case.CaseBill caseBill)
        {
            try
            {
                if (this.neuSpread1_Sheet1.RowCount == 0)
                {
                    caseBill.Memo = "New";

                    this.callReturn = this.AddCaseBillToGrid(caseBill);
                }
                else
                {
                    // 查找行号
                    int row = this.GetRowID(caseBill);
                    if (row >= 0)
                    {
                        caseBill.Memo = "Old";
                        this.SetBillToRow(caseBill, row);
                    }
                    else
                    {
                        caseBill.Memo = "New";
                        this.AddCaseBillToGrid(caseBill);
                    }
                }
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.Message);
                return(-1);
            }

            return(callReturn);
        }
コード例 #2
0
        /// <summary>
        /// 添加病历出库单到表格
        /// </summary>
        /// <param name="caseBill">病历出库单</param>
        /// <returns>-1-失败,1-成功</returns>
        private int AddCaseBillToGrid(HISFC.Models.HealthRecord.Case.CaseBill caseBill)
        {
            this.neuSpread1_Sheet1.Rows.Add(this.neuSpread1_Sheet1.Rows.Count, 1);
            int row = this.neuSpread1_Sheet1.Rows.Count - 1;

            try
            {
                #region 赋值


                SetBillToRow(caseBill, row);

                #endregion
            }
            catch (Exception exception)
            {
                Neusoft.FrameWork.WinForms.Classes.Function.HideWaitForm();
                this.neuSpread1_Sheet1.RemoveRows(row, 1);

                MessageBox.Show(exception.Message);

                return(-1);
            }

            return(1);
        }
コード例 #3
0
        /// <summary>
        /// 更新出库单记录

        /// </summary>
        /// <param name="caseBill">病历出库单</param>
        /// <param name="updateCondition">更新条件</param>
        /// <returns>-1-失败,影响的行数</returns>
        private int Update(HISFC.Models.HealthRecord.Case.CaseBill caseBill, string updateCondition)
        {
            string updateSql = string.Empty;

            intReturn = this.Sql.GetSql("Neusoft.HISFC.Management.HealthRecord.Case.CaseBill.Update", ref updateSql);
            if (this.intReturn < 0)
            {
                this.Err = "更新病历出库单失败" + this.Err;
                return(-1);
            }

            this.intReturn = this.ConvertEntityToArray(caseBill);
            if (this.intReturn == -1)
            {
                return(-1);
            }

            try
            {
                updateSql = string.Format(updateSql, field);
            }
            catch (Exception exception)
            {
                this.Err = "更新病历出库单失败" + exception.Message;

                return(-1);
            }

            updateSql = updateSql + " " + updateCondition;

            this.intReturn = this.ExecNoQuery(updateSql);
            if (this.intReturn < 0)
            {
                this.Err = "更新病历出库单失败" + this.Err;
                return(-1);
            }

            return(intReturn);
        }
コード例 #4
0
        /// <summary>
        /// 根据流水主键更新出库单记录

        /// </summary>
        /// <param name="caseBill">流水主键</param>
        /// <returns>-1-失败,影响的行数</returns>
        public int UpdateByID(HISFC.Models.HealthRecord.Case.CaseBill caseBill)
        {
            string updateSql = string.Empty;

            intReturn = this.Sql.GetSql("Neusoft.HISFC.Management.HealthRecord.Case.CaseBill.ID", ref updateSql);
            if (this.intReturn < 0)
            {
                this.Err = "更新病历出库单失败" + this.Err;
                return(-1);
            }

            try
            {
                updateSql = string.Format(updateSql, caseBill.ID);
            }
            catch (Exception exception)
            {
                this.Err = "更新病历出库单失败" + exception.Message;

                return(-1);
            }

            return(this.Update(caseBill, updateSql));
        }
コード例 #5
0
        /// <summary>
        /// 插入数据库

        /// </summary>
        /// <param name="caseBill">病历出库单</param>
        /// <returns>-1-失败,1-成功</returns>
        public int Insert(HISFC.Models.HealthRecord.Case.CaseBill caseBill)
        {
            string insertSql = string.Empty;

            intReturn = this.Sql.GetSql("Neusoft.HISFC.Management.HealthRecord.Case.CaseBill.Insert", ref insertSql);
            if (this.intReturn < 0)
            {
                this.Err = "插入病历出库单失败" + this.Err;
                return(-1);
            }

            this.intReturn = this.ConvertEntityToArray(caseBill);
            if (this.intReturn == -1)
            {
                return(-1);
            }

            try
            {
                insertSql = string.Format(insertSql, this.field);
            }
            catch (Exception exception)
            {
                this.Err = "插入病历出库单失败(匹配SQL参数失败)" + exception.Message;
                return(-1);
            }

            this.intReturn = this.ExecNoQuery(insertSql);
            if (this.intReturn <= 0)
            {
                this.Err = "插入病历出库单失败" + this.Err;
                return(-1);
            }

            return(1);
        }
コード例 #6
0
        /// <summary>
        /// 设置单据到行
        /// </summary>
        /// <param name="caseBill">单据</param>
        /// <param name="row">行号</param>
        private void SetBillToRow(HISFC.Models.HealthRecord.Case.CaseBill caseBill, int row)
        {
            this.neuSpread1_Sheet1.Rows [row].Tag = caseBill;

            // 病历号

            this.neuSpread1_Sheet1.Cells [row, 0].Text = caseBill.CaseInfo.Patient.PID.CardNO;
            // 姓名
            this.neuSpread1_Sheet1.Cells [row, 1].Text = caseBill.CaseInfo.Patient.Name;
            // 性别
            this.neuSpread1_Sheet1.Cells [row, 2].Text = this.GetSex(caseBill.CaseInfo.Patient.Sex.ID.ToString());
            // 出生日期
            this.neuSpread1_Sheet1.Cells [row, 3].Text = caseBill.CaseInfo.Patient.Birthday.ToString("yyyy-MM-dd");
            // 申请的出库科室

            this.neuSpread1_Sheet1.Cells [row, 4].Text = caseBill.FromDept.Name;
            // 申请科室
            this.neuSpread1_Sheet1.Cells [row, 5].Text = caseBill.InRequestOper.Dept.Name;
            // 申请入库人

            this.neuSpread1_Sheet1.Cells [row, 6].Text = caseBill.InRequestOper.Name;
            // 申请入库日期
            this.neuSpread1_Sheet1.Cells [row, 7].Text = caseBill.InRequestOper.OperTime.ToString();
            // 出库审核人

            this.neuSpread1_Sheet1.Cells [row, 8].Text = caseBill.OutAuditingOper.Name;
            // 出库审核时间
            this.neuSpread1_Sheet1.Cells [row, 9].Text = caseBill.OutAuditingOper.OperTime.ToString();
            // 入库确认人

            this.neuSpread1_Sheet1.Cells [row, 10].Text = caseBill.InConfirmOper.Name;
            // 入库确认时间
            this.neuSpread1_Sheet1.Cells [row, 11].Text = caseBill.InConfirmOper.OperTime.ToString();
            // 单据类型
            this.neuSpread1_Sheet1.Cells [row, 12].Text = caseBill.BillType.Name;
            // 是否已经发送

            if (caseBill.IsSend)
            {
                this.neuSpread1_Sheet1.Cells [row, 13].Text = "是";
            }
            else
            {
                this.neuSpread1_Sheet1.Cells [row, 13].Text = "否";
            }
            // 发送人
            this.neuSpread1_Sheet1.Cells [row, 14].Text = caseBill.SendOper.Name;
            // 发送时间

            this.neuSpread1_Sheet1.Cells [row, 15].Text = caseBill.SendOper.OperTime.ToString();
            // 是否已经接收
            if (caseBill.IsReceive)
            {
                this.neuSpread1_Sheet1.Cells [row, 16].Text = "是";
            }
            else
            {
                this.neuSpread1_Sheet1.Cells [row, 16].Text = "否";
            }
            // 接收人

            this.neuSpread1_Sheet1.Cells [row, 17].Text = caseBill.ReceiveOper.Name;
            // 接收时间
            this.neuSpread1_Sheet1.Cells [row, 18].Text = caseBill.ReceiveOper.OperTime.ToString();
        }
コード例 #7
0
        /// <summary>
        /// 转换实体为字段数组

        /// </summary>
        /// <param name="caseBill">病历出库单实体</param>
        /// <returns>-1-失败,1-成功</returns>
        private int ConvertEntityToArray(HISFC.Models.HealthRecord.Case.CaseBill caseBill)
        {
            try
            {
                #region 赋值


                // 唯一主键
                if (caseBill.ID == null || caseBill.ID == "")
                {
                    caseBill.ID = this.GetSequence("Neusoft.HISFC.Management.HealthRecord.Case.CaseBill.GetSequence");
                }
                field [0] = caseBill.ID;
                // 出库单号码,一个单据可以包括多个病历

                field [1] = caseBill.BillCode;
                // 入库申请人工号

                field [2] = caseBill.InRequestOper.ID;
                // 入库申请科室编码
                field [3] = caseBill.InRequestOper.Dept.ID;
                // 入库申请病区编码
                field [4] = caseBill.InRequestNurse.ID;
                // 入库申请时间
                field [5] = caseBill.InRequestOper.OperTime.ToString();
                // 入库申请分区编码
                field [6] = caseBill.InRequestPartition.ID;
                // 出库审核人工号

                field [7] = caseBill.OutAuditingOper.ID;
                // 出库审核科室编码
                field [8] = caseBill.OutAuditingOper.Dept.ID;
                // 出库审核病区编码
                field [9] = caseBill.OutAuditingNurse.ID;
                // 出库审核时间
                field [10] = caseBill.OutAuditingOper.OperTime.ToString();
                // 入库确认人工号

                field [11] = caseBill.InConfirmOper.ID;
                // 入库确认时间
                field [12] = caseBill.InConfirmOper.OperTime.ToString();
                // 单据类型、出库类型,对应常数表的CASE01
                field [13] = caseBill.BillType.ID;
                // 发送人工号
                field [14] = caseBill.SendOper.ID;
                // 发送时间

                field [15] = caseBill.SendOper.OperTime.ToString();
                // 接收人工号

                field [16] = caseBill.ReceiveOper.ID;
                // 接收时间
                field [17] = caseBill.ReceiveOper.OperTime.ToString();
                // 是否已经接收:1-是、0-否
                if (caseBill.IsReceive)
                {
                    field [18] = "1";
                }
                else
                {
                    field [18] = "0";
                }
                // 病历唯一ID
                field [19] = caseBill.CaseInfo.ID.ToString();
                // 单据状态:0-入库申请、1-出库审核、2、入库确认

                field [20] = ((int)caseBill.CaseBillState).ToString();
                // 该申请的病历是否被发送:1-是、0-否
                if (caseBill.IsSend)
                {
                    field [21] = "1";
                }
                else
                {
                    field [21] = "0";
                }
                // 申请的目标科室:可以是病区、科室——病历所在科室

                field [22] = caseBill.FromDept.ID;
                // 扩展
                field [23] = caseBill.User01;
                field [24] = caseBill.User02;
                field [25] = caseBill.User03;

                #endregion
            }
            catch (Exception exception)
            {
                this.Err = "插入数据库转换字段数组失败" + exception.Message;

                return(-1);
            }

            return(1);
        }
コード例 #8
0
        /// <summary>
        /// 转换Reader为实体

        /// </summary>
        /// <param name="caseBill">病历出库单实体</param>
        /// <returns>-1-失败,1-成功</returns>
        private int ConvertReaderToObject(ref HISFC.Models.HealthRecord.Case.CaseBill caseBill)
        {
            try
            {
                #region 赋值


                // 唯一主键
                caseBill.ID = this.Reader[0].ToString();
                // 出库单号码,一个单据可以包括多个病历

                caseBill.BillCode = this.Reader [1].ToString();
                // 入库申请人工号

                caseBill.InRequestOper.ID   = this.Reader [2].ToString();
                caseBill.InRequestOper.Name = this.Reader [3].ToString();
                // 入库申请科室编码
                caseBill.InRequestOper.Dept.ID   = this.Reader[4].ToString();
                caseBill.InRequestOper.Dept.Name = this.Reader [5].ToString();
                // 入库申请病区编码
                caseBill.InRequestNurse.ID   = this.Reader[6].ToString();
                caseBill.InRequestNurse.Name = this.Reader [7].ToString();
                // 入库申请时间
                caseBill.InRequestOper.OperTime = Neusoft.FrameWork.Function.NConvert.ToDateTime(this.Reader [8].ToString());
                // 入库申请分区编码
                caseBill.InRequestPartition.ID   = this.Reader[9].ToString();
                caseBill.InRequestPartition.Name = this.Reader [10].ToString();
                // 出库审核人工号

                caseBill.OutAuditingOper.ID   = this.Reader[11].ToString();
                caseBill.OutAuditingOper.Name = this.Reader [12].ToString();
                // 出库审核科室编码
                caseBill.OutAuditingOper.Dept.ID   = this.Reader[13].ToString();
                caseBill.OutAuditingOper.Dept.Name = this.Reader [14].ToString();
                // 出库审核病区编码
                caseBill.OutAuditingNurse.ID   = this.Reader[15].ToString();
                caseBill.OutAuditingNurse.Name = this.Reader [16].ToString();
                // 出库审核时间
                caseBill.OutAuditingOper.OperTime = Neusoft.FrameWork.Function.NConvert.ToDateTime(this.Reader[17].ToString());
                // 入库确认人工号

                caseBill.InConfirmOper.ID   = this.Reader[18].ToString();
                caseBill.InConfirmOper.Name = this.Reader [19].ToString();
                // 入库确认时间
                caseBill.InConfirmOper.OperTime = Neusoft.FrameWork.Function.NConvert.ToDateTime(this.Reader[20].ToString());
                // 单据类型、出库类型,对应常数表的CASE01
                caseBill.BillType.ID   = this.Reader[21].ToString();
                caseBill.BillType.Name = this.Reader [22].ToString();
                // 发送人工号
                caseBill.SendOper.ID   = this.Reader[23].ToString();
                caseBill.SendOper.Name = this.Reader [24].ToString();
                // 发送时间

                caseBill.SendOper.OperTime = Neusoft.FrameWork.Function.NConvert.ToDateTime(this.Reader[25].ToString());
                // 接收人工号

                caseBill.ReceiveOper.ID   = this.Reader[26].ToString();
                caseBill.ReceiveOper.Name = this.Reader [27].ToString();
                // 接收时间
                caseBill.ReceiveOper.OperTime = Neusoft.FrameWork.Function.NConvert.ToDateTime(this.Reader[28].ToString());
                // 是否已经接收:1-是、0-否
                if (this.Reader [29].ToString() == "1")
                {
                    caseBill.IsReceive = true;
                }
                else
                {
                    caseBill.IsReceive = false;
                }
                // 病历唯一ID
                caseBill.CaseInfo.ID = this.Reader[30].ToString();
                caseBill.CaseInfo.Patient.PID.CardNO = this.Reader [31].ToString();
                caseBill.CaseInfo.Patient.Name       = this.Reader [32].ToString();
                caseBill.CaseInfo.Patient.Sex.ID     = this.Reader [33].ToString();
                caseBill.CaseInfo.Patient.Birthday   = Neusoft.FrameWork.Function.NConvert.ToDateTime(this.Reader [34].ToString());
                // 单据状态:0-入库申请、1-出库审核、2、入库确认

                switch (this.Reader [35].ToString())
                {
                case "0":
                    caseBill.CaseBillState = Neusoft.HISFC.Models.HealthRecord.Case.EnumCaseBillState.InRequest;
                    break;

                case "1":
                    caseBill.CaseBillState = Neusoft.HISFC.Models.HealthRecord.Case.EnumCaseBillState.OutAuditing;
                    break;

                case "2":
                    caseBill.CaseBillState = Neusoft.HISFC.Models.HealthRecord.Case.EnumCaseBillState.InConfirm;
                    break;
                }
                // 该申请的病历是否被发送:1-是、0-否
                if (this.Reader [36].ToString() == "1")
                {
                    caseBill.IsSend = true;
                }
                else
                {
                    caseBill.IsSend = false;
                }
                // 申请的病历所在科室或病区
                caseBill.FromDept.ID   = this.Reader [37].ToString();
                caseBill.FromDept.Name = this.Reader [38].ToString();
                // 扩展
                caseBill.User01 = this.Reader [39].ToString();
                caseBill.User02 = this.Reader [40].ToString();
                caseBill.User03 = this.Reader [41].ToString();
                // 病历状态

                caseBill.CaseInfo.CaseState.Name = this.Reader [42].ToString();
                // 所在类型

                caseBill.CaseInfo.InType          = Neusoft.FrameWork.Function.NConvert.ToInt32(this.Reader[43].ToString());
                caseBill.CaseInfo.InDept.ID       = this.Reader [44].ToString();
                caseBill.CaseInfo.InDept.Name     = this.Reader [45].ToString();
                caseBill.CaseInfo.InEmployee.ID   = this.Reader [46].ToString();
                caseBill.CaseInfo.InEmployee.Name = this.Reader [47].ToString();

                #endregion
            }
            catch (Exception exception)
            {
                this.Err = "转换Reader为出库单实体出错" + exception.Message;

                return(-1);
            }

            return(1);
        }