/// <summary> /// 按规则分 /// </summary> /// <param name="querystr"></param> /// <param name="page"></param> /// <param name="limit"></param> /// <returns></returns> public IActionResult GetListByRulesCode(string querystr, int page, int limit) { ListByRulesCodeQuery result = new ListByRulesCodeQuery(); if (!string.IsNullOrEmpty(querystr)) { result = JsonConvert.DeserializeObject <ListByRulesCodeQuery>(querystr); } var resultCountModel = new RespResultCountViewModel(); int totalcount = 0; try { var data = _complaintStatisticalService.GetListByRulesCode(result, page, limit, ref totalcount); if (data != null) { resultCountModel.code = 0; resultCountModel.msg = "获取数据成功"; resultCountModel.data = data; resultCountModel.count = totalcount; } else { resultCountModel.code = -1; resultCountModel.msg = "没有检索到数据"; } return(Ok(resultCountModel)); } catch (Exception ex) { resultCountModel.code = -1; resultCountModel.msg = "操作失败:" + ex.ToString(); return(Ok(resultCountModel)); } }
public List <CheckUserList> GetListByRulesCode(ListByRulesCodeQuery queryCodition, int page, int limit, ref int count) { var list = new List <CheckUserList>(); string bt1 = ((page - 1) * limit + 1).ToString(); string bt2 = (page * limit).ToString(); StringBuilder query = new StringBuilder(); if (string.IsNullOrEmpty(queryCodition.StartTime)) { query.Append(" AND ccm.SettlementDate>= '" + queryCodition.StartTime + "'"); } if (string.IsNullOrEmpty(queryCodition.EndTime)) { query.Append(" AND ccm.SettlementDate<= '" + queryCodition.EndTime + " 23:59:59'"); } if (!string.IsNullOrEmpty(queryCodition.InstitutionLevel)) { query.Append(" AND ccm.InstitutionLevel = '" + queryCodition.InstitutionLevel + "'"); } if (!string.IsNullOrEmpty(queryCodition.RulesLevel)) { query.Append(" AND ccm.RulesLevel='" + queryCodition.RulesLevel + "'"); } using (var db = _dbContext.GetIntance()) { list = db.Ado.SqlQuery <CheckUserList>(@" SELECT * FROM( SELECT ROW_NUMBER() OVER(ORDER BY ccm.SettlementDate DESC) AS RowId, ccm.RegisterCode, PersonalCode, IdNumber, Personname NAME, a.Gender AS Gender, a.Age AS Age, ccm.InstitutionCode, ccm.InstitutionName, ICDCode, DiseaseName, ALLMoney KKJE, SettlementDate, InHosDate, OutHosDate, a.InstitutionGradeCode as InstitutionGradeCode, a.InstitutionGradeName as InstitutionGradeName FROM Check_Complain_MZL AS ccm LEFT JOIN(SELECT RegisterCode, MAX(cri.InstitutionGradeCode) InstitutionGradeCode, MAX(cri.InstitutionGradeName) InstitutionGradeName, MAX(Gender) Gender, MAX(Age) Age FROM Check_ResultInfo AS cri GROUP BY cri.RegisterCode) a ON ccm.RegisterCode = a.RegisterCode WHERE ComplaintStatus = '10'" + query + @" ) tj where tj.RowId BETWEEN " + bt1 + " AND " + bt2); count = db.Ado.GetInt(@"SELECT COUNT(1) FROM (SELECT ROW_NUMBER() OVER(ORDER BY ccm.SettlementDate DESC) AS RowId, ccm.RegisterCode, PersonalCode, IdNumber, Personname NAME, a.Gender AS Gender, a.Age AS Age, ccm.InstitutionCode, ccm.InstitutionName, ICDCode, DiseaseName, ALLMoney KKJE, SettlementDate, InHosDate, OutHosDate, a.InstitutionGradeCode as InstitutionGradeCode, a.InstitutionGradeName as InstitutionGradeName FROM Check_Complain_MZL AS ccm LEFT JOIN(SELECT RegisterCode, MAX(cri.InstitutionGradeCode) InstitutionGradeCode, MAX(cri.InstitutionGradeName) InstitutionGradeName, MAX(Gender) Gender, MAX(Age) Age FROM Check_ResultInfo AS cri GROUP BY cri.RegisterCode) a ON ccm.RegisterCode = a.RegisterCode WHERE ComplaintStatus = '10'" + query + ") AS tj"); } return(list); }