/// <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));
            }
        }
Ejemplo n.º 2
0
        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);
        }