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); }
//���� /// <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); }
/// <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); } }
/// <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); } }