예제 #1
0
        /// <summary>
        /// 得到到要调价的信息 返回列表 准备插入操作
        /// </summary>
        /// <returns></returns>
        private ArrayList GetInfo(string SequenceNo)
        {
            ArrayList ItemList = new ArrayList();

            if (AdjustTable == null)
            {
                return(null);
            }
            Neusoft.HISFC.Models.Fee.Item.AdjustPrice item = null;
            //循环取数据
            foreach (DataRow row in AdjustTable.Rows)
            {
                item = new Neusoft.HISFC.Models.Fee.Item.AdjustPrice();
                item.AdjustPriceNO        = SequenceNo;
                item.OrgItem.ID           = row["编码"].ToString();
                item.OrgItem.Price        = Neusoft.FrameWork.Function.NConvert.ToDecimal(row["调前默认价"].ToString());
                item.OrgItem.ChildPrice   = Neusoft.FrameWork.Function.NConvert.ToDecimal(row["调前儿童价"].ToString());
                item.OrgItem.SpecialPrice = Neusoft.FrameWork.Function.NConvert.ToDecimal(row["调前特诊价"].ToString());
                item.NewItem.Price        = Neusoft.FrameWork.Function.NConvert.ToDecimal(row["调后默认价"].ToString());
                item.NewItem.ChildPrice   = Neusoft.FrameWork.Function.NConvert.ToDecimal(row["调后儿童价"].ToString());
                item.NewItem.SpecialPrice = Neusoft.FrameWork.Function.NConvert.ToDecimal(row["调后特诊价"].ToString());
                item.BeginTime            = this.dtpImmediate.Value;
                if (this.ckbImmediate.Checked) //是否即时生效
                {
                    item.User03 = "已生效";       // 即时生效 则置成未生效
                }
                else
                {
                    item.User03 = "未生效"; //非即时生效 ,则置成已生效
                }
                ItemList.Add(item);
                item = null;
            }
            return(ItemList);
        }
        public int GetItemExtendInfo(string ItemID, ref string ExtendInfoTxt, ref System.Collections.ArrayList AlExtendInfo)
        {
            string    txtReturn = string.Empty;
            ArrayList al        = new ArrayList();

            Neusoft.HISFC.BizLogic.Fee.Item          itemMgr      = new Neusoft.HISFC.BizLogic.Fee.Item();
            Neusoft.HISFC.BizLogic.Fee.UndrugPackAge undrugPkgMgr = new Neusoft.HISFC.BizLogic.Fee.UndrugPackAge();
            Neusoft.HISFC.BizLogic.Pharmacy.Item     phaMgr       = new Neusoft.HISFC.BizLogic.Pharmacy.Item();
            //{A79FEAFD-BD92-4bff-A74B-A41055D8D15F}
            Neusoft.HISFC.BizLogic.Fee.Interface feeInterface = new Neusoft.HISFC.BizLogic.Fee.Interface();
            if (this.itemType == Neusoft.HISFC.Models.Base.EnumItemType.Drug)
            {
                Neusoft.HISFC.Models.Pharmacy.Item drug = null;
                #region addby xuewj 2010-9-15 {A79FEAFD-BD92-4bff-A74B-A41055D8D15F}
                drug = phaMgr.GetItem(ItemID);
                #region addby xuewj 2010-10-1 {EA10BA8E-CBF4-4348-8BCE-9AD0D193CAE1}
                string rtnindication = feeInterface.ShowItemIndicationByPactAndItemCode(this.pactInfo.ID, ItemID);
                #endregion
                string baseDrugInfo = drug.ExtendData2;
                string rtn          = feeInterface.ShowItemGradeByPactAndItemCode(this.pactInfo.ID, ItemID);
                txtReturn = "药品编码:" + drug.ID + "\r\n" + "药品名称:" + drug.Name + "\r\n" + "自负比例:" + rtn + "\r\n" +
                            "国家基本药物编码:" + baseDrugInfo + "\r\n" +
                            "适应症:" + rtnindication + "\r\n" + "使用限制等级:" + "" + "\r\n" +//{EA10BA8E-CBF4-4348-8BCE-9AD0D193CAE1}
                            "说明书:" + drug.Product.Manual + "\r\n";
                #endregion
            }

            if (this.itemType == Neusoft.HISFC.Models.Base.EnumItemType.UnDrug)
            {
                Neusoft.HISFC.Models.Fee.Item.Undrug undrug = null;

                undrug = itemMgr.GetValidItemByUndrugCode(ItemID);

                #region {A79FEAFD-BD92-4bff-A74B-A41055D8D15F}
                //if (undrug != null && undrug.UnitFlag == "1")
                //{
                //    al = undrugPkgMgr.QueryUndrugPackagesBypackageCode(undrug.ID);
                //}
                if (undrug != null)
                {
                    #region addby xuewj 2010-10-1 {EA10BA8E-CBF4-4348-8BCE-9AD0D193CAE1}
                    string rtnindication = feeInterface.ShowItemIndicationByPactAndItemCode(this.pactInfo.ID, ItemID);
                    #endregion
                    string rtn = feeInterface.ShowItemGradeByPactAndItemCode(this.pactInfo.ID, ItemID);
                    txtReturn = "非药品编码:" + undrug.ID.Trim() + "  " + "非药品名称:" + undrug.Name.Trim() + "  " + "自负比例:" + rtn + "  "
                                + "适应症:" + rtnindication.Trim();
                }
                #endregion
            }

            ExtendInfoTxt = txtReturn;
            AlExtendInfo  = al;

            return(1);
        }
예제 #3
0
        private void SaveInfo()
        {
            try
            {
                this.neuSpread1.StopCellEditing();
                Neusoft.HISFC.BizLogic.Manager.AdjustPrice price = new Neusoft.HISFC.BizLogic.Manager.AdjustPrice();
                //获取调价单流水号
                string SequenceNo = price.GetAdjustPriceSequence();

                Neusoft.FrameWork.Management.PublicTrans.BeginTransaction();

                //Neusoft.FrameWork.Management.Transaction Addtrans = new Neusoft.FrameWork.Management.Transaction(price.Connection);
                //Addtrans.BeginTransaction();

                price.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans);

                #region 判断时间是否有效
                if (!ckbImmediate.Checked)  //定时生效
                {
                    if (this.dtpImmediate.Value < System.DateTime.Now)
                    {
                        this.dtpImmediate.Focus();
                        Neusoft.FrameWork.Management.PublicTrans.RollBack();
                        MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg("生效的时间不能小于当前时间"));
                        return;
                    }
                }
                #endregion
                //获取要调价的信息
                ArrayList list = GetInfo(SequenceNo);
                if (list == null)
                {
                    Neusoft.FrameWork.Management.PublicTrans.RollBack();
                    MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg("获取调价信息出错"));
                    return;
                }

                #region  调价头表和明细表 保存调价信息
                foreach (Neusoft.HISFC.Models.Fee.Item.AdjustPrice info in list)
                {
                    //如果有以前调价还没有生效的 ,跟这次调价有冲突的 ,作废以前的调价记录
                    int temp = price.UpdateAdjustPriceDetail(info.OrgItem.ID);
                }
                //插入调价头表
                //插入调价明细表
                bool PriceHead = false;
                bool Result    = true;
                foreach (Neusoft.HISFC.Models.Fee.Item.AdjustPrice info in list)
                {
                    if (!PriceHead)
                    {
                        //向调价头表中插入一条新的记录 fin_com_adjustundrugpricehead
                        if (price.InsertAdjustPrice(info) <= 0)
                        {
                            Result = false;
                            break;
                        }
                        else
                        {
                            PriceHead = true;
                        }
                    }
                    //向调价明细中插入新的记录 fin_com_adjustundrugpricedetai
                    if (price.InsertAdjustPriceDetail(info) <= 0)
                    {
                        Result = false;
                        break;
                    }
                }
                if (Result)
                {
                    //提交数据
                    Neusoft.FrameWork.Management.PublicTrans.Commit();
                    MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg("保存成功"));
                    if (AdjustTable != null)
                    {
                        AdjustTable.Clear();
                    }
                }
                else
                {
                    //回退信息
                    Neusoft.FrameWork.Management.PublicTrans.RollBack();
                    MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg("保存调价信息失败"));
                }
                #endregion

                #region 如果是立即生效 保存非药品 价格
                if (ckbImmediate.Checked) //立即生效
                {
                    Neusoft.HISFC.BizLogic.Fee.Item manItem = new Neusoft.HISFC.BizLogic.Fee.Item();
                    manItem.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans);
                    Neusoft.HISFC.Models.Fee.Item.Undrug temItem = null;
                    foreach (Neusoft.HISFC.Models.Fee.Item.AdjustPrice info in list)
                    {
                        //先转化成ITEM然后执行更新操作
                        temItem = new Neusoft.HISFC.Models.Fee.Item.Undrug();
                        //药品编码
                        temItem.ID = info.OrgItem.ID;
                        //默认价
                        temItem.Price = info.NewItem.Price;
                        //儿童价
                        temItem.ChildPrice = info.NewItem.ChildPrice;
                        //特诊价
                        temItem.SpecialPrice = info.NewItem.SpecialPrice;
                        //执行更新操作。
                        if (manItem.AdjustPrice(temItem) < 1)
                        {
                            Neusoft.FrameWork.Management.PublicTrans.RollBack();
                            MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg(manItem.Err));
                            return;
                        }
                        //{6DF09817-9532-4129-BE60-DED731C7E5B9} 更新所有含有该项目的复合项目价格

                        //manItem.QueryZTListByDetailItem(temItem);
                    }
                }
                #endregion
            }
            catch (Exception ex)
            {
                MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg(ex.Message));
            }
        }
예제 #4
0
        /// <summary>
        /// 住院检查
        /// </summary>
        /// <param name="patient"></param>
        /// <param name="orderList"></param>
        public void ControlValue(Neusoft.HISFC.Models.RADT.Patient patient, List <Neusoft.HISFC.Models.Order.Inpatient.Order> orderList)
        {
            this.neuSpread1_Sheet1.Cells[0, 0].Value = this.mgrIntegrate.GetHospitalName() + orderList[0].Item.Name.ToString() + "检查申请单";

            if (orderList[0].IsEmergency)
            {
                this.neuSpread1_Sheet1.Cells[0, 9].Value         = "加  急";//加急
                this.neuSpread1_Sheet1.Cells.Get(0, 9).ForeColor = System.Drawing.Color.Red;
            }
            if (orderList[0].BeginTime != null)
            {
                this.neuSpread1_Sheet1.Cells[2, 1].Value = orderList[0].BeginTime.ToString();//申请日期
            }
            if (patient.PID.PatientNO != null)
            {
                this.neuSpread1_Sheet1.Cells[2, 5].Value = patient.PID.PatientNO.ToString();//住院号
            }
            if (patient.Pact.Name != null)
            {
                this.neuSpread1_Sheet1.Cells[2, 9].Value = patient.Pact.Name.ToString();//费用类别
            }
            if (patient.Name != null)
            {
                this.neuSpread1_Sheet1.Cells[3, 1].Value = patient.Name.ToString();//姓名
            }
            if (patient.Sex != null)
            {
                this.neuSpread1_Sheet1.Cells[3, 3].Value = patient.Sex.ToString();//性别
            }
            if (patient.Age != null)
            {
                this.neuSpread1_Sheet1.Cells[3, 5].Value = patient.Age.ToString();//年龄
            }
            if (orderList[0].NurseStation.Name != null)
            {
                this.neuSpread1_Sheet1.Cells[3, 7].Value = orderList[0].NurseStation.Name.ToString();//病区
            }
            if (orderList[0].Patient.PVisit.PatientLocation.Bed.ID != null)
            {
                this.neuSpread1_Sheet1.Cells[3, 9].Value = orderList[0].Patient.PVisit.PatientLocation.Bed.ID.ToString();//床号
            }
            Neusoft.HISFC.Models.Fee.Item.Undrug undrug = new Neusoft.HISFC.Models.Fee.Item.Undrug();

            Neusoft.HISFC.BizLogic.Fee.Item item = new Neusoft.HISFC.BizLogic.Fee.Item();

            undrug = item.GetValidItemByUndrugCode(orderList[0].Item.ID.ToString());

            if (undrug.CheckRequest != null)
            {
                this.neuSpread1_Sheet1.Cells[4, 1].Value = undrug.CheckRequest.ToString();//检查部位/要求
            }
            #region  诊断(代码摘自ucDiagnosis FillList())
            Neusoft.HISFC.BizProcess.Integrate.HealthRecord.HealthRecordBaseMC diagnoseMgrMc = new Neusoft.HISFC.BizProcess.Integrate.HealthRecord.HealthRecordBaseMC();
            Neusoft.HISFC.BizProcess.Integrate.Manager managerIntegrate = new Neusoft.HISFC.BizProcess.Integrate.Manager();

            Neusoft.HISFC.Models.HealthRecord.Diagnose diagns = null;
            Neusoft.HISFC.Models.Base.Spell            dsType = null;
            Neusoft.HISFC.Models.Base.Employee         emp    = null;

            //ArrayList diagnoseList = diagnoseMgrMc.QueryDiagnoseBoth(orderList[0].Patient.PVisit.PatientLocation.Bed.InpatientNO.ToString());
            ArrayList diagnoseList = diagnoseMgrMc.QueryDiagnoseBoth(orderList[0].Patient.ID);
            ArrayList dsTypeList   = Neusoft.HISFC.Models.HealthRecord.DiagnoseType.SpellList();
            ArrayList drList       = managerIntegrate.QueryEmployee(Neusoft.HISFC.Models.Base.EnumEmployeeType.D);
            String    strDsType    = "";
            String    strDrName    = "";
            string    diag         = string.Empty;
            if (diagnoseList != null)
            {
                for (int i = 0; i < diagnoseList.Count; i++)
                {
                    diagns = (Neusoft.HISFC.Models.HealthRecord.Diagnose)diagnoseList[i];
                    for (int j = 0; j < dsTypeList.Count; j++)
                    {
                        dsType = (Neusoft.HISFC.Models.Base.Spell)dsTypeList[j];
                        if (dsType.ID.ToString() == diagns.DiagInfo.DiagType.ID)
                        {
                            strDsType = dsType.Name;//诊断类型
                            break;
                        }
                    }
                    //填入诊断医生姓名
                    for (int j = 0; j < drList.Count; j++)
                    {
                        emp = (Neusoft.HISFC.Models.Base.Employee)drList[j];
                        if (emp.ID.ToString() == diagns.DiagInfo.Doctor.ID)
                        {
                            strDrName = emp.Name;
                            break;
                        }
                    }
                    if (i == 0)
                    {
                        diag = "[" + strDsType + "-" + diagns.DiagInfo.ICD10.Name.ToString() + "-" + strDrName + "]";
                    }
                    else
                    {
                        diag = diag + "[" + strDsType + "-" + diagns.DiagInfo.ICD10.Name.ToString() + "-" + strDrName + "]";
                    }
                }
            }
            this.neuSpread1_Sheet1.Cells[9, 1].Value = diag;
            #endregion

            if (orderList[0].ReciptDoctor.Name != null)
            {
                this.neuSpread1_Sheet1.Cells[19, 1].Value = orderList[0].Memo.ToString();//备注
            }
            if (orderList[0].Memo != null)
            {
                this.neuSpread1_Sheet1.Cells[25, 9].Value = orderList[0].ReciptDoctor.Name.ToString();//医师
            }
            if (undrug.Notice != null)
            {
                this.neuSpread1_Sheet1.Cells[22, 1].Value = undrug.Notice.ToString();//注意事项
            }
        }