Example #1
0
        public static BsPatientCache BsPatientConvertToCache(BsPatient bsPatient, string vipCardId, string vipLevel, string vipCardNo)
        {
            var bsUser     = UtilsLocCache.GetCacheByID <BsUser>(bsPatient.DoctorId);
            var doctorName = "";

            if (bsUser != null)
            {
                doctorName = bsUser.Name;
            }

            BsPatientCache bsPatientCache = new BsPatientCache();

            bsPatientCache.GUID        = bsPatient.GUID;
            bsPatientCache.Name        = bsPatient.Name;
            bsPatientCache.Sex         = bsPatient.Sex;
            bsPatientCache.CardNo      = bsPatient.CardNo;
            bsPatientCache.IdCardNo    = bsPatient.IdCardNo;
            bsPatientCache.Phone       = bsPatient.Phone;
            bsPatientCache.AddressHome = bsPatient.AddressHome;
            bsPatientCache.BirthDate   = bsPatient.BirthDate;
            bsPatientCache.IsActive    = bsPatient.IsActive;
            bsPatientCache.Mobile      = bsPatient.Mobile;
            bsPatientCache.PyCode      = Orm.Utilities.PyWbHelper.SixBitPYCode(bsPatient.Name);
            bsPatientCache.WbCode      = Orm.Utilities.PyWbHelper.SixBitWBCode(bsPatient.Name);
            bsPatientCache.WebUserCode = bsPatientCache.WebUserCode;
            bsPatientCache.LastRegTime = bsPatient.ModiTime == DateTime.MinValue ? bsPatient.OperTime : bsPatient.ModiTime;
            bsPatientCache.DoctorName  = doctorName;
            bsPatientCache.VipLevel    = vipLevel;
            bsPatientCache.VipCardID   = vipCardId;
            bsPatientCache.VipCardNo   = vipCardNo;
            return(bsPatientCache);
        }
Example #2
0
 //����
 /// <summary>
 /// ��ȡ�����۸���Ϣ
 /// </summary>
 /// <param name="ItemId"></param>
 /// <param name="locationId"></param>
 /// <param name="lsInOut"></param>
 /// <param name="LsPriceState"></param>
 /// <returns></returns>
 public static double GetLocationPrice(string ItemId, string locationId, int lsInOut, int LsPriceState)
 {
     Model.BsLocation infoLocation = UtilsLocCache.GetCacheByID <Model.BsLocation>(locationId);
     Model.BsItem     infoItem     = UtilsLocCache.GetCacheByID <Model.BsItem>(ItemId);
     //if (Convert.ToBoolean(infoLocation.IsPriceSub) && LsPriceState == 1)
     //    return infoItem.PriceSub;
     // else
     if (lsInOut == 1)
     {
         return(infoItem.PriceDiag);
     }
     //else if (lsInOut == 2)
     //    return infoItem.PriceIn;
     return(0);
 }
Example #3
0
        /// <summary>
        /// ͨ计算总量
        /// </summary>
        /// <param name="itemId"></param>
        /// <returns></returns>
        public static double GetYpTotality(OuRecipeDtl ouRecipeDtl)
        {
            try
            {
                var result = 1.00;
                if (ouRecipeDtl.Days == 0)
                {
                    return(ouRecipeDtl.Totality);
                }

                var    tempUnitRatio = new List <BsUnitRatio>();
                double _DrugRatio    = 1;
                if (AppSettings.IsMainLocation)
                {
                    tempUnitRatio = Orm.Config.Service.DBClientService.GetList <BsUnitRatio>("ItemId = @0 and HospitalId =@1 ", ouRecipeDtl.ItemID, (int)EnumMainLocation.总店);//unitDiagID, unitTakeId);
                    if (tempUnitRatio.Count > 0)
                    {
                        _DrugRatio = tempUnitRatio.First().DrugRatio;
                    }
                }
                else
                {
                    tempUnitRatio = Orm.Config.Service.DBClientService.GetList <BsUnitRatio>("ItemId = @0 and HospitalId =@1 ", ouRecipeDtl.ItemID, Config.UserProfiles.HospitalID);//unitDiagID, unitTakeId);
                }
                var frequency = UtilsLocCache.GetCacheByID <BsFrequency>(ouRecipeDtl.FrequencyId);
                if (tempUnitRatio.Count > 0 && frequency != null)
                {
                    var tempUnitRatioGuid = tempUnitRatio.First().GUID;
                    if (tempUnitRatio.First() != null && !string.IsNullOrWhiteSpace(tempUnitRatioGuid) && _DrugRatio != 0 && frequency != null)
                    {
                        var drugRatio    = _DrugRatio;
                        var fredays      = frequency.Days;
                        var actualdays   = Math.Round(Convert.ToDouble(ouRecipeDtl.Days / fredays), MidpointRounding.AwayFromZero);
                        var actualdosage = actualdays * frequency.Times * ouRecipeDtl.Dosage;
                        var actualResult = Math.Round(actualdosage / drugRatio, 4);
                        result = actualResult == 0 ? 1 : actualResult;
                    }
                }
                return(result);
            }
            catch (Exception)
            {
                return(ouRecipeDtl.Totality);
            }
        }
Example #4
0
        /// <summary>
        /// ͨ����ɢ�Ȼ�ȡҩƷ����
        /// </summary>
        /// <param name="itemId"></param>
        /// <returns></returns>
        public static double GetYpTotality(string itemId, int days, double dosage, string frequencyId, string unitDiagID, string unitTakeId, double totality, int locationID = 0)
        {
            try
            {
                var result = 1.00;
                if (days == 0)
                {
                    return(totality);
                }

                var tempUnitRatio = new List <BsUnitRatio>();
                var unitRatio     = Orm.Config.Service.DBClientService.GetList <BsUnitRatio>("ItemId = @0 ", itemId);//unitDiagID, unitTakeId);
                if (locationID != 0)
                {
                    tempUnitRatio = unitRatio.FindAll(t => t.HospitalId == locationID);
                }

                if (tempUnitRatio.Count != 0)
                {
                    unitRatio = tempUnitRatio;
                }

                var frequency = UtilsLocCache.GetCacheByID <BsFrequency>(frequencyId);
                if (unitRatio.Count > 0 && frequency != null)
                {
                    if (unitRatio.First() != null && !string.IsNullOrWhiteSpace(unitRatio.First().GUID) && unitRatio.First().DrugRatio != 0 && frequency != null)
                    {
                        var drugRatio    = unitRatio.First().DrugRatio;
                        var fredays      = frequency.Days;
                        var actualdays   = Math.Round(Convert.ToDouble(days / fredays), MidpointRounding.AwayFromZero);
                        var actualdosage = actualdays * frequency.Times * dosage;
                        var actualResult = Math.Round(actualdosage / drugRatio, 4);
                        result = actualResult == 0 ? 1 : actualResult;
                    }
                }
                return(result);
            }
            catch (Exception)
            {
                return(totality);
            }
        }