public CenterStatisticsInfo GetCenterStatisticsDD(DateTime beginTime, DateTime endTime) { string selfCenterID = UserOperateContext.Current.Session_UsrInfo.P_Department.DispatchSubCenterID; if (selfCenterID != null && selfCenterID != "") { DataTable tableall = GetStatisticsDD(beginTime, endTime); //在表里循环遍历,当某一行的CenterID跟session 中获取的selfCenterID 相等时,将那一行的数据取出,赋给Model,Return CenterStatisticsInfo ACinfo = new CenterStatisticsInfo(); int STaskTimes = 0; int SFirstAidTimes = 0; int STransTimes = 0; int a = 0; int SGoHomeTimes = 0; int SDays = 0; int STaskTimesEveryDay = 0; int SAvgSendTime = 0; int SAvgArriveTime = 0; int SAvgLocalAidTime = 0; int SAvgTransTime = 0; int SAvgHospitalTransTime = 0; int SAvgReactTime = 0; int SAvgTurnTime = 0; foreach (DataRow dr in tableall.Rows) { if (Convert.ToString(dr["center"]) == selfCenterID) { a = a + 1; STaskTimes += Convert.ToInt32(dr["SendCarTimes"]); SFirstAidTimes += Convert.ToInt32(dr["FirstAidTimes"]); STransTimes += Convert.ToInt32(dr["TransTimes"]); SGoHomeTimes += Convert.ToInt32(dr["GoHomeTimes"]); SDays += Convert.ToInt32(dr["Days"]); STaskTimesEveryDay += Convert.ToInt32(dr["AvgDaySendCarTimes"]); SAvgSendTime += Convert.ToInt32(dr["AvgSendCarTime"]); SAvgArriveTime += Convert.ToInt32(dr["AvgArrivingSceneTime"]); SAvgLocalAidTime += Convert.ToInt32(dr["AvgSceneRescueTime"]); SAvgTransTime += Convert.ToInt32(dr["AvgTransportTime"]); SAvgHospitalTransTime += Convert.ToInt32(dr["AvgHospitalDeliveryTime"]); SAvgReactTime += Convert.ToInt32(dr["AvgResponseTime"]); SAvgTurnTime += Convert.ToInt32(dr["AvgRevolveTime"]); ACinfo.CenterName = DBConvert.ConvertStringToString(dr["tcName"]); } } if (a != 0) { ACinfo.CTaskTimes = Convert.ToString(STaskTimes); ACinfo.CFirstAidTimes = Convert.ToString(SFirstAidTimes); ACinfo.CTransTimes = Convert.ToString(STransTimes); ACinfo.CGoHomeTimes = Convert.ToString(SGoHomeTimes); ACinfo.CDays = Convert.ToString(SDays); ACinfo.CTaskTimesEveryDay = Convert.ToString(STaskTimesEveryDay / a); ACinfo.CAvgSendTime = Convert.ToString(SAvgSendTime / a); ACinfo.CAvgArriveTime = Convert.ToString(SAvgArriveTime / a); ACinfo.CAvgLocalAidTime = Convert.ToString(SAvgLocalAidTime / a); ACinfo.CAvgTransTime = Convert.ToString(SAvgTransTime / a); ACinfo.CAvgHospitalTransTime = Convert.ToString(SAvgHospitalTransTime / a); ACinfo.CAvgReactTime = Convert.ToString(SAvgReactTime / a); ACinfo.CAvgTurnTime = Convert.ToString(SAvgTurnTime / a); return ACinfo; } else { return new CenterStatisticsInfo(); } } else return new CenterStatisticsInfo(); }
public CenterStatisticsInfo GetCenterStatisticsGL2(DateTime beginTime, DateTime endTime, string ret1) { StringBuilder sb = new StringBuilder(); sb.Append(@" select 除去拒绝治疗病历数=sum(case when mpr.IFRefuseTreatment<>'拒绝治疗' then 1 else 0 end), sum(case when mpr.CPRIFSuccess ='ROSC' then 1 else 0 end ) as ROSC数, count(*) as 病历数 into #temp from M_PatientRecord mpr where mpr.MedicalRecordGenerationTime >= '" + beginTime + "' and mpr.MedicalRecordGenerationTime <='" + endTime + "' "); WhereClauseUtility.AddInSelectQuery("mpr.OutStationCode", ret1, sb); sb.Append(@" select isnull(sum(有救治措施除去只有搬运和护送),0) as 有救治措施除去只有搬运和护送 into #temp1 from( select distinct mprm.TaskCode, 有救治措施除去只有搬运和护送= (case when mprm.RescueMeasureCode in(229,231,282,296,317,318,320,322,325,329,332,333,334,335,338,341,342,344,351,352,353 ,397,398,399,400,402,404,405,406,407,408,410,418,419,420,422,436,449,450,489,490) then 1 else 0 end) from M_PatientRecordMeasure mprm inner join M_PatientRecord mpr on mpr.TaskCode = mprm.TaskCode and mpr.PatientOrder = mprm.PatientOrder where mpr.MedicalRecordGenerationTime >= '" + beginTime + "' and mpr.MedicalRecordGenerationTime <='" + endTime + "' "); WhereClauseUtility.AddInSelectQuery("mpr.OutStationCode", ret1, sb); sb.Append(@" ) t select isnull(sum(静脉开通数),0) as 静脉开通数 into #temp2 from (select distinct mprm.TaskCode,(case when mprm.RescueMeasureCode in(329,422,436) then 1 else 0 end) as 静脉开通数 from M_PatientRecordMeasure mprm inner join M_PatientRecord mpr on mpr.TaskCode = mprm.TaskCode and mpr.PatientOrder = mprm.PatientOrder where mpr.MedicalRecordGenerationTime >= '" + beginTime + "' and mpr.MedicalRecordGenerationTime <='" + endTime + "' "); WhereClauseUtility.AddInSelectQuery("mpr.OutStationCode", ret1, sb); sb.Append(@" ) t1 select isnull(sum(心肺复苏数),0) as 心肺复苏数 into #temp3 from (select distinct mprm.TaskCode,(case when mprm.RescueMeasureCode in (341,397,449,450) then 1 else 0 end) as 心肺复苏数 from M_PatientRecordMeasure mprm inner join M_PatientRecord mpr on mpr.TaskCode = mprm.TaskCode and mpr.PatientOrder = mprm.PatientOrder where mpr.MedicalRecordGenerationTime >= '" + beginTime + "' and mpr.MedicalRecordGenerationTime <='" + endTime + "' "); WhereClauseUtility.AddInSelectQuery("mpr.OutStationCode", ret1, sb); sb.Append(@" ) t2 select 除去拒绝治疗病历数,ROSC数,病历数,有救治措施除去只有搬运和护送,静脉开通数,心肺复苏数 from #temp,#temp1,#temp2,#temp3 drop table #temp1 drop table #temp2 drop table #temp3 drop table #temp "); using (SqlDataReader dr = SqlHelper.ExecuteReader(SqlHelper.MainConnectionString, CommandType.Text, sb.ToString(), null)) { CenterStatisticsInfo AEinfo = new CenterStatisticsInfo(); if (dr.Read()) { AEinfo.CPRNumberExceptRefuseTreatment = DBConvert.ConvertStringToString(dr["除去拒绝治疗病历数"]); AEinfo.CDisposeNumber = DBConvert.ConvertStringToString(dr["有救治措施除去只有搬运和护送"]); AEinfo.CVeinNumber = DBConvert.ConvertStringToString(dr["静脉开通数"]); AEinfo.CROSCNumber = DBConvert.ConvertStringToString(dr["ROSC数"]); AEinfo.CCPRNumber = DBConvert.ConvertStringToString(dr["心肺复苏数"]); AEinfo.CPRNumber = DBConvert.ConvertStringToString(dr["病历数"]); } return AEinfo; } }
public CenterStatisticsInfo GetCenterStatisticsGL1(DateTime beginTime, DateTime endTime) { string selfCenterID = UserOperateContext.Current.Session_UsrInfo.P_Department.DispatchSubCenterID; if (selfCenterID != null && selfCenterID != "") { //根据分中心编码获取分站编码(string) List<CheckModelExt> lm = m_DAL.GetStationCodeByCenter(selfCenterID); string ret = ""; for (int i = 0; i < lm.Count; i++) { ret += lm[i].ID.ToString() + ','; } ret = ret.TrimEnd(','); CenterStatisticsInfo ACinfo = new CenterStatisticsInfo(); int PKilometer = 0; int PChargeCarFee = 0; int PChargeWaitFee = 0; int PChargeAidFee = 0; int PCharge = 0; DataTable tableall = GetStatisticsCharge(beginTime, endTime); foreach (DataRow dr in tableall.Rows) { if (ret.Contains(Convert.ToString(dr["OutStationCode"]))) { PKilometer += Convert.ToInt32(dr["收费公里数"]); PChargeCarFee += Convert.ToInt32(dr["车费"]); PChargeWaitFee += Convert.ToInt32(dr["等候费"]); PChargeAidFee += Convert.ToInt32(dr["治疗费"]); PCharge += Convert.ToInt32(dr["收费金额"]); } } ACinfo.CKilometer = Convert.ToString(PKilometer); ACinfo.CChargeCarFee = Convert.ToString(PChargeCarFee); ACinfo.CChargeWaitFee = Convert.ToString(PChargeWaitFee); ACinfo.CChargeAidFee = Convert.ToString(PChargeAidFee); ACinfo.CCharge = Convert.ToString(PCharge); return ACinfo; } else return new CenterStatisticsInfo(); }