Esempio n. 1
0
        /// <summary>
        /// 医嘱保存
        /// </summary>
        protected int Save()
        {
            if (this.Valid() == -1)
            {
                return(-1);
            }
            Neusoft.HISFC.BizLogic.Order.Order orderManager = new Neusoft.HISFC.BizLogic.Order.Order();

            string comboID = "";

            try
            {
                comboID = orderManager.GetNewOrderComboID();//添加组合号;
            }
            catch (Exception ex)
            {
                MessageBox.Show("获取医嘱组合号出错" + ex.Message);
                return(-1);
            }
            Neusoft.FrameWork.Models.NeuObject usageObj = null;
            //{D42BEEA5-1716-4be4-9F0A-4AF8AAF88988}
            this.AlOrder = new ArrayList();
            for (int i = 0; i < this.fpEnter1_Sheet1.Rows.Count; i++)
            {
                if (!this.isClinic)
                {
                    Neusoft.HISFC.Models.Order.Inpatient.Order order;

                    order      = new Neusoft.HISFC.Models.Order.Inpatient.Order();
                    order.Item = this.fpEnter1_Sheet1.Rows[i].Tag as Neusoft.HISFC.Models.Pharmacy.Item;
                    if (order.Item == null)
                    {
                        continue;
                    }
                    //患者信息
                    order.Patient = this.patient;
                    //医嘱组合号
                    order.Combo.ID = comboID;
                    //医嘱类型
                    order.OrderType = this.orderTypeHelper.GetObjectFromID(this.cmbOrderType.SelectedValue.ToString()) as Neusoft.HISFC.Models.Order.OrderType;
                    //用法
                    usageObj         = this.fpEnter1_Sheet1.Cells[i, (int)ColumnSet.ColUsage].Tag as Neusoft.FrameWork.Models.NeuObject;
                    order.Usage.ID   = usageObj.ID;
                    order.Usage.Name = usageObj.Name;

                    //单位  {AE53ACB5-3684-42e8-BF28-88C2B4FF2360}
                    order.Unit = (order.Item as Neusoft.HISFC.Models.Pharmacy.Item).MinUnit;

                    //剂数
                    order.HerbalQty = Neusoft.FrameWork.Function.NConvert.ToInt32(this.txtNum.Text);
                    //煎药方式
                    order.Memo = this.cmbMemo.Text;
                    //频次
                    order.Frequency = this.frequencyHelper.GetObjectFromID(this.cmbFrequency.Tag.ToString()) as Neusoft.HISFC.Models.Order.Frequency;//{57C91E41-6803-4c83-9B61-00F75FD04255}
                    //每次量
                    if (this.orderType == Neusoft.HISFC.Models.Order.EnumType.LONG)
                    {
                        order.DoseOnce = Neusoft.FrameWork.Function.NConvert.ToDecimal(this.fpEnter1_Sheet1.Cells[i, (int)ColumnSet.ColNum].Text);
                    }
                    else
                    {
                        order.Qty = Neusoft.FrameWork.Function.NConvert.ToDecimal(this.fpEnter1_Sheet1.Cells[i, (int)ColumnSet.ColNum].Text);
                    }
                    order.BeginTime = Neusoft.FrameWork.Function.NConvert.ToDateTime(this.dtBegin.Text);
                    if (this.dtEnd.Checked)
                    {
                        order.EndTime = Neusoft.FrameWork.Function.NConvert.ToDateTime(this.dtEnd.Text);
                    }
                    //取药药房
                    order.StockDept.ID = order.Item.User02;

                    this.alOrder.Add(order);
                }
                else if (this.isClinic)
                {
                    Neusoft.HISFC.Models.Order.OutPatient.Order order;

                    order      = new Neusoft.HISFC.Models.Order.OutPatient.Order();
                    order.Item = this.fpEnter1_Sheet1.Rows[i].Tag as Neusoft.HISFC.Models.Pharmacy.Item;
                    if (order.Item == null)
                    {
                        continue;
                    }
                    //患者信息
                    order.Patient = this.patient;
                    //{D42BEEA5-1716-4be4-9F0A-4AF8AAF88988}
                    if (this.openType == "M") //修改
                    {
                        //医嘱组合号
                        order.Combo.ID = comboID;
                    }
                    else  //开立
                    {
                        //医嘱组合号
                        order.Combo.ID = comboID;
                    }
                    //医嘱类型
                    //order.OrderType = this.orderTypeHelper.GetObjectFromID(this.cmbOrderType.SelectedValue.ToString()) as Neusoft.HISFC.Models.Order.OrderType;
                    //用法
                    usageObj         = this.fpEnter1_Sheet1.Cells[i, (int)ColumnSet.ColUsage].Tag as Neusoft.FrameWork.Models.NeuObject;
                    order.Usage.ID   = usageObj.ID;
                    order.Usage.Name = usageObj.Name;

                    //单位 {AE53ACB5-3684-42e8-BF28-88C2B4FF2360}
                    order.Unit = (order.Item as Neusoft.HISFC.Models.Pharmacy.Item).MinUnit;

                    //剂数
                    order.HerbalQty = Neusoft.FrameWork.Function.NConvert.ToInt32(this.txtNum.Text);
                    //煎药方式
                    order.Memo = this.cmbMemo.Text;
                    //频次
                    order.Frequency = this.frequencyHelper.GetObjectFromID(this.cmbFrequency.Tag.ToString()) as Neusoft.HISFC.Models.Order.Frequency;//{57C91E41-6803-4c83-9B61-00F75FD04255}
                    //每次量
                    if (this.orderType == Neusoft.HISFC.Models.Order.EnumType.LONG)
                    {
                        order.DoseOnce = Neusoft.FrameWork.Function.NConvert.ToDecimal(this.fpEnter1_Sheet1.Cells[i, (int)ColumnSet.ColNum].Text);
                    }
                    else
                    {
                        order.Qty = Neusoft.FrameWork.Function.NConvert.ToDecimal(this.fpEnter1_Sheet1.Cells[i, (int)ColumnSet.ColNum].Text);
                    }
                    order.BeginTime = Neusoft.FrameWork.Function.NConvert.ToDateTime(this.dtBegin.Text);
                    if (this.dtEnd.Checked)
                    {
                        order.EndTime = Neusoft.FrameWork.Function.NConvert.ToDateTime(this.dtEnd.Text);
                    }
                    //取药药房
                    order.StockDept.ID = order.Item.User02;

                    this.alOrder.Add(order);
                }
            }
            return(1);
        }