public AntibioticPerson AntibioticDepartmentPerson(DateTime startTime, DateTime endTime) { var result = new AntibioticPerson(); decimal preStartTimeCost = 0M; decimal preEndTimeCost = 0M; result.DepartmentID = (int)this.Origin_DEPT_ID; if (this.OutDate.HasValue && this.OutDate.Value >= startTime) { //outDate在取定时间段内的情况 preEndTimeCost = this.InPatientDrugRecords.Sum(g => g.AntibioticCost(this.InDate, endTime)); } else if (this.OutDate.HasValue && this.OutDate.Value < startTime) { //outDate在startTime之间的情况 preStartTimeCost = this.InPatientDrugRecords.Sum(g => g.AntibioticCost(this.InDate, startTime)); preEndTimeCost = this.InPatientDrugRecords.Sum(g => g.AntibioticCost(this.InDate, endTime)); } if (preStartTimeCost > 0 && preEndTimeCost == 0) { result.AntibioticPatientNumber = -1; } else if (preStartTimeCost == 0 && preEndTimeCost > 0) { result.AntibioticPatientNumber = 1; } else { result.AntibioticPatientNumber = 0; } return(result); }
private AntibioticPerson GetAntibioticPerson(DateTime startTime, DateTime endTime, InPatient inPatient) { var result = new AntibioticPerson(); PhMS2dot1DomainContext context = new PhMS2dot1DomainContext(); var inPatientDrugRecords = new List <InPatientDrugRecord>(); var drugRecords = context.InPatientDrugRecords.Where(a => a.InPatientID == inPatient.InPatientID).ToList(); foreach (var drugRecord in drugRecords) { var drugFees = context.DrugFees.Where(a => a.InPatientDrugRecordID == drugRecord.InPatientDrugRecordID && a.ChargeTime >= startTime && a.ChargeTime < endTime).ToList(); drugRecord.DrugFees = drugFees; inPatientDrugRecords.Add(drugRecord); } context.Dispose(); inPatient.InPatientDrugRecords = inPatientDrugRecords; //计算出当前inPatient中AntibioticPerson result = inPatient.AntibioticDepartmentPerson(startTime, endTime); return(result); }