/// <summary>
        /// 从对照表中查找维护适应症的项目
        /// </summary>
        /// <param name="patientObj"></param>
        /// <param name="feeitemlist"></param>
        /// <param name="practicableSymptomText">适应症文本</param>
        /// <returns> -1 报错 0 没有维护 1 有维护</returns>
        private int QueryItem(Neusoft.HISFC.Models.RADT.PatientInfo patientObj, Neusoft.HISFC.Models.Fee.Inpatient.FeeItemList feeitemlist, ref string practicableSymptomText)
        {
            Neusoft.HISFC.BizLogic.Fee.Interface     myInterface = new Neusoft.HISFC.BizLogic.Fee.Interface();
            Neusoft.HISFC.Models.SIInterface.Compare myCompare   = new Neusoft.HISFC.Models.SIInterface.Compare();

            if (patientObj != null || patientObj.ID != "")
            {
                myInterface.GetCompareSingleItem(patientObj.Pact.ID, feeitemlist.Item.ID, ref myCompare);
                if (myCompare.Ispracticablesymptom)
                {
                    practicableSymptomText = myCompare.Practicablesymptomdepiction;
                    return(1);
                }
                else
                {
                    return(0);
                }
            }
            if (feeitemlist.Item.Memo != "1")
            {
                //从维护表中对照项目
            }
            return(0);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 从对照表中查找维护适应症的项目
        /// </summary>
        /// <param name="patient"></param>
        /// <param name="order"></param>
        /// <param name="practicableSymptomText">适应症文本</param>
        /// <returns> -1 报错 0 没有维护 1 有维护</returns>
        private int QueryItemByOutpatOrder(Neusoft.HISFC.Models.Registration.Register patient, Neusoft.HISFC.Models.Order.OutPatient.Order order, ref string practicableSymptomText)
        {
            Neusoft.HISFC.BizLogic.Fee.Interface     myInterface = new Neusoft.HISFC.BizLogic.Fee.Interface();
            Neusoft.HISFC.Models.SIInterface.Compare myCompare   = new Neusoft.HISFC.Models.SIInterface.Compare();

            if (order != null || order.Patient.ID != "")
            {
                myInterface.GetCompareSingleItem(patient.Pact.ID, order.Item.ID, ref myCompare);
                if (myCompare.Ispracticablesymptom)
                {
                    practicableSymptomText = myCompare.Practicablesymptomdepiction;
                    return(1);
                }
                else
                {
                    return(0);
                }
            }
            if (order.Item.Memo != "1")
            {
                //从维护表中对照项目
            }
            return(0);
        }
Exemplo n.º 3
0
        public int RecomputeFeeItemListInpatient(Neusoft.HISFC.Models.RADT.PatientInfo patient, Neusoft.HISFC.Models.Fee.Inpatient.FeeItemList f)
        {
            //Neusoft.HISFC.Models.Base.PactItemRate pRate = null;

            //if (this.trans != null)
            //{
            //    this.pactItemRate.SetTrans(this.trans);
            //    this.pactInfoManager.SetTrans(this.trans);
            //}

            //pRate = this.pactItemRate.GetOnepPactUnitItemRateByItem(patient.Pact.ID, f.Item.ID);
            //if (pRate == null)
            //{
            //    pRate = this.pactItemRate.GetOnePaceUnitItemRateByFeeCode(patient.Pact.ID, f.Item.MinFee.ID);
            //    if (pRate == null)
            //    {
            //        Neusoft.HISFC.Models.Base.PactInfo p = this.pactInfoManager.GetPactUnitInfoByPactCode(patient.Pact.ID);
            //        if (p == null)
            //        {
            //            this.errMsg = this.pactInfoManager.Err;

            //            return -1;
            //        }

            //        pRate = new Neusoft.HISFC.Models.Base.PactItemRate();

            //        pRate.Rate = p.Rate;
            //    }
            //}

            //decimal pubCost = 0;


            //f.FT.OwnCost = Neusoft.FrameWork.Public.String.FormatNumber(f.FT.TotCost * pRate.Rate.OwnRate, 2);

            //pubCost = f.FT.TotCost - f.FT.OwnCost;

            //f.FT.PayCost = Neusoft.FrameWork.Public.String.FormatNumber(pubCost * pRate.Rate.PayRate, 2);

            //f.FT.PubCost = pubCost - f.FT.PayCost;

            Neusoft.HISFC.Models.SIInterface.Compare compareObj = new Neusoft.HISFC.Models.SIInterface.Compare();
            int resultValue = interfaceManager.GetCompareSingleItem(comparePactCode, f.Item.ID, ref compareObj);

            if (resultValue == -1)
            {
                this.errMsg = "查询对照项目信息失败!" + interfaceManager.Err;
                return(-1);
            }
            if (resultValue == -2)
            {
                f.FT.OwnCost = f.FT.TotCost;
                f.FT.PubCost = 0;
                f.FT.PayCost = 0;
            }
            else
            {
                decimal payRate = compareObj.CenterItem.Rate;
                if (payRate == 1)
                {
                    f.FT.OwnCost = f.FT.TotCost;
                    f.FT.PubCost = 0;
                    f.FT.PayCost = 0;
                }
                else
                {
                    decimal pubPrice = f.Item.Price * (1 - compareObj.CenterItem.Rate);
                    if (pubPrice > compareObj.CenterItem.Price)
                    {
                        pubPrice = compareObj.CenterItem.Price;
                    }
                    if (f.Item.ItemType == Neusoft.HISFC.Models.Base.EnumItemType.Drug)
                    {
                        f.FT.PubCost = Neusoft.FrameWork.Public.String.FormatNumber(pubPrice * f.Item.Qty / f.Item.PackQty, 2);
                    }

                    f.FT.OwnCost = f.FT.TotCost - f.FT.PubCost;
                    f.FT.PayCost = 0m;
                }
            }


            return(1);
        }