gyhlw_dotnet/网站项目/DataService/DAL/pro_result.cs

713 lines
27 KiB
C#

/** 版本信息模板在安装目录下,可自行修改。
* pro_result.cs
*
* 功 能: N/A
* 类 名: pro_result
*
* Ver 变更日期 负责人 变更内容
* ───────────────────────────────────
* V0.01 2021/3/30 8:46:24 N/A 初版
*
* Copyright (c) 2012 Maticsoft Corporation. All rights reserved.
*┌──────────────────────────────────┐
*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
*│ 版权所有:动软卓越(北京)科技有限公司              │
*└──────────────────────────────────┘
*/
using System;
using System.Data;
using System.Text;
using MySql.Data.MySqlClient;
using Maticsoft.DBUtility;//Please add references
namespace DataService.DAL
{
/// <summary>
/// 数据访问类:pro_result
/// </summary>
public partial class pro_result
{
public pro_result()
{ }
#region BasicMethod
/// <summary>
/// 是否存在该记录
/// </summary>
public bool Exists(string result_id)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select count(1) from pro_result");
strSql.Append(" where result_id=@result_id ");
MySqlParameter[] parameters = {
new MySqlParameter("@result_id", MySqlDbType.VarChar,50) };
parameters[0].Value = result_id;
return DbHelperMySQL.Exists(strSql.ToString(), parameters);
}
/// <summary>
/// 增加一条数据
/// </summary>
public bool Add(DataService.Model.pro_result model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into pro_result(");
strSql.Append("result_id,subject_id,subject_name,user_id,login_name,real_name,grade,major,practice_content,examine_time,total_result,examine_type,examine_kind,examine_term,exam_year,exam_month,batch_id,batch_name,sjms,fault_code,fault_name,province_id,city_id,unit_id,r1,r2,r3)");
strSql.Append(" values (");
strSql.Append("@result_id,@subject_id,@subject_name,@user_id,@login_name,@real_name,@grade,@major,@practice_content,@examine_time,@total_result,@examine_type,@examine_kind,@examine_term,@exam_year,@exam_month,@batch_id,@batch_name,@sjms,@fault_code,@fault_name,@province_id,@city_id,@unit_id,@r1,@r2,@r3)");
MySqlParameter[] parameters = {
new MySqlParameter("@result_id", MySqlDbType.VarChar,50),
new MySqlParameter("@subject_id", MySqlDbType.VarChar,50),
new MySqlParameter("@subject_name", MySqlDbType.VarChar,255),
new MySqlParameter("@user_id", MySqlDbType.VarChar,50),
new MySqlParameter("@login_name", MySqlDbType.VarChar,255),
new MySqlParameter("@real_name", MySqlDbType.VarChar,255),
new MySqlParameter("@grade", MySqlDbType.VarChar,50),
new MySqlParameter("@major", MySqlDbType.VarChar,50),
new MySqlParameter("@practice_content", MySqlDbType.Text),
new MySqlParameter("@examine_time", MySqlDbType.DateTime),
new MySqlParameter("@total_result", MySqlDbType.Float,11),
new MySqlParameter("@examine_type", MySqlDbType.Int32),
new MySqlParameter("@examine_kind", MySqlDbType.VarChar,255),
new MySqlParameter("@examine_term", MySqlDbType.VarChar,255),
new MySqlParameter("@exam_year", MySqlDbType.Int32),
new MySqlParameter("@exam_month", MySqlDbType.Int32),
new MySqlParameter("@batch_id", MySqlDbType.VarChar,255),
new MySqlParameter("@batch_name", MySqlDbType.VarChar,255),
new MySqlParameter("@sjms", MySqlDbType.VarChar,255),
new MySqlParameter("@fault_code", MySqlDbType.VarChar,255),
new MySqlParameter("@fault_name", MySqlDbType.VarChar,255),
new MySqlParameter("@province_id", MySqlDbType.VarChar,255),
new MySqlParameter("@city_id", MySqlDbType.VarChar,255),
new MySqlParameter("@unit_id", MySqlDbType.VarChar,255),
new MySqlParameter("@r1", MySqlDbType.VarChar,500),
new MySqlParameter("@r2", MySqlDbType.VarChar,500),
new MySqlParameter("@r3", MySqlDbType.VarChar,500)};
parameters[0].Value = model.result_id;
parameters[1].Value = model.subject_id;
parameters[2].Value = model.subject_name;
parameters[3].Value = model.user_id;
parameters[4].Value = model.login_name;
parameters[5].Value = model.real_name;
parameters[6].Value = model.grade;
parameters[7].Value = model.major;
parameters[8].Value = model.practice_content;
parameters[9].Value = model.examine_time;
parameters[10].Value = model.total_result;
parameters[11].Value = model.examine_type;
parameters[12].Value = model.examine_kind;
parameters[13].Value = model.examine_term;
parameters[14].Value = model.exam_year;
parameters[15].Value = model.exam_month;
parameters[16].Value = model.batch_id;
parameters[17].Value = model.batch_name;
parameters[18].Value = model.sjms;
parameters[19].Value = model.fault_code;
parameters[20].Value = model.fault_name;
parameters[21].Value = model.province_id;
parameters[22].Value = model.city_id;
parameters[23].Value = model.unit_id;
parameters[24].Value = model.r1;
parameters[25].Value = model.r2;
parameters[26].Value = model.r3;
int rows = DbHelperMySQL.ExecuteSql(strSql.ToString(), parameters);
if (rows > 0)
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 更新一条数据
/// </summary>
public bool Update(DataService.Model.pro_result model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("update pro_result set ");
strSql.Append("subject_id=@subject_id,");
strSql.Append("subject_name=@subject_name,");
strSql.Append("user_id=@user_id,");
strSql.Append("login_name=@login_name,");
strSql.Append("real_name=@real_name,");
strSql.Append("grade=@grade,");
strSql.Append("major=@major,");
strSql.Append("practice_content=@practice_content,");
strSql.Append("examine_time=@examine_time,");
strSql.Append("total_result=@total_result,");
strSql.Append("examine_type=@examine_type,");
strSql.Append("examine_kind=@examine_kind,");
strSql.Append("examine_term=@examine_term,");
strSql.Append("exam_year=@exam_year,");
strSql.Append("exam_month=@exam_month,");
strSql.Append("batch_id=@batch_id,");
strSql.Append("batch_name=@batch_name,");
strSql.Append("sjms=@sjms,");
strSql.Append("fault_code=@fault_code,");
strSql.Append("fault_name=@fault_name,");
strSql.Append("province_id=@province_id,");
strSql.Append("city_id=@city_id,");
strSql.Append("unit_id=@unit_id,");
strSql.Append("r1=@r1,");
strSql.Append("r2=@r2,");
strSql.Append("r3=@r3");
strSql.Append(" where result_id=@result_id ");
MySqlParameter[] parameters = {
new MySqlParameter("@subject_id", MySqlDbType.VarChar,50),
new MySqlParameter("@subject_name", MySqlDbType.VarChar,255),
new MySqlParameter("@user_id", MySqlDbType.VarChar,50),
new MySqlParameter("@login_name", MySqlDbType.VarChar,255),
new MySqlParameter("@real_name", MySqlDbType.VarChar,255),
new MySqlParameter("@grade", MySqlDbType.VarChar,50),
new MySqlParameter("@major", MySqlDbType.VarChar,50),
new MySqlParameter("@practice_content", MySqlDbType.Text),
new MySqlParameter("@examine_time", MySqlDbType.DateTime),
new MySqlParameter("@total_result", MySqlDbType.Float,11),
new MySqlParameter("@examine_type", MySqlDbType.Int32),
new MySqlParameter("@examine_kind", MySqlDbType.VarChar,255),
new MySqlParameter("@examine_term", MySqlDbType.VarChar,255),
new MySqlParameter("@exam_year", MySqlDbType.Int32),
new MySqlParameter("@exam_month", MySqlDbType.Int32),
new MySqlParameter("@batch_id", MySqlDbType.VarChar,255),
new MySqlParameter("@batch_name", MySqlDbType.VarChar,255),
new MySqlParameter("@sjms", MySqlDbType.VarChar,255),
new MySqlParameter("@fault_code", MySqlDbType.VarChar,255),
new MySqlParameter("@fault_name", MySqlDbType.VarChar,255),
new MySqlParameter("@province_id", MySqlDbType.VarChar,255),
new MySqlParameter("@city_id", MySqlDbType.VarChar,255),
new MySqlParameter("@unit_id", MySqlDbType.VarChar,255),
new MySqlParameter("@r1", MySqlDbType.VarChar,500),
new MySqlParameter("@r2", MySqlDbType.VarChar,500),
new MySqlParameter("@r3", MySqlDbType.VarChar,500),
new MySqlParameter("@result_id", MySqlDbType.VarChar,50)};
parameters[0].Value = model.subject_id;
parameters[1].Value = model.subject_name;
parameters[2].Value = model.user_id;
parameters[3].Value = model.login_name;
parameters[4].Value = model.real_name;
parameters[5].Value = model.grade;
parameters[6].Value = model.major;
parameters[7].Value = model.practice_content;
parameters[8].Value = model.examine_time;
parameters[9].Value = model.total_result;
parameters[10].Value = model.examine_type;
parameters[11].Value = model.examine_kind;
parameters[12].Value = model.examine_term;
parameters[13].Value = model.exam_year;
parameters[14].Value = model.exam_month;
parameters[15].Value = model.batch_id;
parameters[16].Value = model.batch_name;
parameters[17].Value = model.sjms;
parameters[18].Value = model.fault_code;
parameters[19].Value = model.fault_name;
parameters[20].Value = model.province_id;
parameters[21].Value = model.city_id;
parameters[22].Value = model.unit_id;
parameters[23].Value = model.r1;
parameters[24].Value = model.r2;
parameters[25].Value = model.r3;
parameters[26].Value = model.result_id;
int rows = DbHelperMySQL.ExecuteSql(strSql.ToString(), parameters);
if (rows > 0)
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 删除一条数据
/// </summary>
public bool Delete(string result_id)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("delete from pro_result ");
strSql.Append(" where result_id=@result_id ");
MySqlParameter[] parameters = {
new MySqlParameter("@result_id", MySqlDbType.VarChar,50) };
parameters[0].Value = result_id;
int rows = DbHelperMySQL.ExecuteSql(strSql.ToString(), parameters);
if (rows > 0)
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 批量删除数据
/// </summary>
public bool DeleteList(string result_idlist)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("delete from pro_result ");
strSql.Append(" where result_id in (" + result_idlist + ") ");
int rows = DbHelperMySQL.ExecuteSql(strSql.ToString());
if (rows > 0)
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 得到一个对象实体
/// </summary>
public DataService.Model.pro_result GetModel(string result_id)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select result_id,subject_id,subject_name,user_id,login_name,real_name,grade,major,practice_content,examine_time,total_result,examine_type,examine_kind,examine_term,exam_year,exam_month,batch_id,batch_name,sjms,fault_code,fault_name,province_id,city_id,unit_id,r1,r2,r3 from pro_result ");
strSql.Append(" where result_id=@result_id ");
MySqlParameter[] parameters = {
new MySqlParameter("@result_id", MySqlDbType.VarChar,50) };
parameters[0].Value = result_id;
DataService.Model.pro_result model = new DataService.Model.pro_result();
DataSet ds = DbHelperMySQL.Query(strSql.ToString(), parameters);
if (ds.Tables[0].Rows.Count > 0)
{
return DataRowToModel(ds.Tables[0].Rows[0]);
}
else
{
return null;
}
}
/// <summary>
/// 得到一个对象实体
/// </summary>
public DataService.Model.pro_result DataRowToModel(DataRow row)
{
DataService.Model.pro_result model = new DataService.Model.pro_result();
if (row != null)
{
if (row["result_id"] != null)
{
model.result_id = row["result_id"].ToString();
}
if (row["subject_id"] != null)
{
model.subject_id = row["subject_id"].ToString();
}
if (row["subject_name"] != null)
{
model.subject_name = row["subject_name"].ToString();
}
if (row["user_id"] != null)
{
model.user_id = row["user_id"].ToString();
}
if (row["login_name"] != null)
{
model.login_name = row["login_name"].ToString();
}
if (row["real_name"] != null)
{
model.real_name = row["real_name"].ToString();
}
if (row["grade"] != null)
{
model.grade = row["grade"].ToString();
}
if (row["major"] != null)
{
model.major = row["major"].ToString();
}
if (row["practice_content"] != null)
{
model.practice_content = row["practice_content"].ToString();
}
if (row["examine_time"] != null && row["examine_time"].ToString() != "")
{
model.examine_time = DateTime.Parse(row["examine_time"].ToString());
}
if (row["total_result"] != null && row["total_result"].ToString() != "")
{
model.total_result = decimal.Parse(row["total_result"].ToString());
}
if (row["examine_type"] != null && row["examine_type"].ToString() != "")
{
model.examine_type = int.Parse(row["examine_type"].ToString());
}
if (row["examine_kind"] != null)
{
model.examine_kind = row["examine_kind"].ToString();
}
if (row["examine_term"] != null)
{
model.examine_term = row["examine_term"].ToString();
}
if (row["exam_year"] != null && row["exam_year"].ToString() != "")
{
model.exam_year = int.Parse(row["exam_year"].ToString());
}
if (row["exam_month"] != null && row["exam_month"].ToString() != "")
{
model.exam_month = int.Parse(row["exam_month"].ToString());
}
if (row["batch_id"] != null)
{
model.batch_id = row["batch_id"].ToString();
}
if (row["batch_name"] != null)
{
model.batch_name = row["batch_name"].ToString();
}
if (row["sjms"] != null)
{
model.sjms = row["sjms"].ToString();
}
if (row["fault_code"] != null)
{
model.fault_code = row["fault_code"].ToString();
}
if (row["fault_name"] != null)
{
model.fault_name = row["fault_name"].ToString();
}
if (row["province_id"] != null)
{
model.province_id = row["province_id"].ToString();
}
if (row["city_id"] != null)
{
model.city_id = row["city_id"].ToString();
}
if (row["unit_id"] != null)
{
model.unit_id = row["unit_id"].ToString();
}
if (row["r1"] != null)
{
model.r1 = row["r1"].ToString();
}
if (row["r2"] != null)
{
model.r2 = row["r2"].ToString();
}
if (row["r3"] != null)
{
model.r3 = row["r3"].ToString();
}
}
return model;
}
/// <summary>
/// 获得数据列表
/// </summary>
public DataSet GetList(string strWhere)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select result_id,subject_id,subject_name,user_id,login_name,real_name,grade,major,practice_content,examine_time,total_result,examine_type,examine_kind,examine_term,exam_year,exam_month,batch_id,batch_name,sjms,fault_code,fault_name,province_id,city_id,unit_id,r1,r2,r3 ");
strSql.Append(" FROM pro_result ");
if (strWhere.Trim() != "")
{
strSql.Append(" where " + strWhere);
}
return DbHelperMySQL.Query(strSql.ToString());
}
/// <summary>
/// 获取记录总数
/// </summary>
public int GetRecordCount(string strWhere)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select count(1) FROM pro_result ");
if (strWhere.Trim() != "")
{
strSql.Append(" where " + strWhere);
}
object obj = DbHelperMySQL.GetSingle(strSql.ToString());
if (obj == null)
{
return 0;
}
else
{
return Convert.ToInt32(obj);
}
}
/// <summary>
/// 分页获取数据列表
/// </summary>
public DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("SELECT * FROM ( ");
strSql.Append(" SELECT ROW_NUMBER() OVER (");
if (!string.IsNullOrEmpty(orderby.Trim()))
{
strSql.Append("order by T." + orderby);
}
else
{
strSql.Append("order by T.result_id desc");
}
strSql.Append(")AS Row, T.* from pro_result T ");
if (!string.IsNullOrEmpty(strWhere.Trim()))
{
strSql.Append(" WHERE " + strWhere);
}
strSql.Append(" ) TT");
strSql.AppendFormat(" WHERE TT.Row between {0} and {1}", startIndex, endIndex);
return DbHelperMySQL.Query(strSql.ToString());
}
/*
/// <summary>
/// 分页获取数据列表
/// </summary>
public DataSet GetList(int PageSize,int PageIndex,string strWhere)
{
MySqlParameter[] parameters = {
new MySqlParameter("@tblName", MySqlDbType.VarChar, 255),
new MySqlParameter("@fldName", MySqlDbType.VarChar, 255),
new MySqlParameter("@PageSize", MySqlDbType.Int32),
new MySqlParameter("@PageIndex", MySqlDbType.Int32),
new MySqlParameter("@IsReCount", MySqlDbType.Bit),
new MySqlParameter("@OrderType", MySqlDbType.Bit),
new MySqlParameter("@strWhere", MySqlDbType.VarChar,1000),
};
parameters[0].Value = "pro_result";
parameters[1].Value = "result_id";
parameters[2].Value = PageSize;
parameters[3].Value = PageIndex;
parameters[4].Value = 0;
parameters[5].Value = 0;
parameters[6].Value = strWhere;
return DbHelperMySQL.RunProcedure("UP_GetRecordByPage",parameters,"ds");
}*/
#endregion BasicMethod
#region ExtensionMethod
/// <summary>
/// 获得数据列表
/// </summary>
public DataSet GetListByName(string user_name, string subject_name, string start, string end, int examine_type)
{
StringBuilder strSql = new StringBuilder();
strSql.Append(" SELECT pro_result.* FROM pro_result ");
strSql.Append(" INNER JOIN pro_subject ON pro_result.subject_id = pro_subject.subject_id ");
strSql.Append(" INNER JOIN admin_user ON pro_result.user_id = admin_user.user_id where 1=1 ");
if (user_name.Trim() != "")
{
strSql.AppendFormat(" and ( admin_user.real_name LIKE '%{0}%' or admin_user.login_name LIKE '%{0}%') ", user_name.Trim());
}
if (subject_name.Trim() != "")
{
strSql.AppendFormat(" and pro_subject.subject_name LIKE '%{0}%' ", subject_name.Trim());
}
if (start.Trim() != "")
{
strSql.AppendFormat(" and pro_result.examine_time>='{0}' ", start.Trim());
}
if (end.Trim() != "")
{
DateTime dt;
if (DateTime.TryParse(end, out dt))
{
strSql.AppendFormat(" and pro_result.examine_time<'{0}' ", dt.AddDays(1).ToString("yyyy-MM-dd"));
}
}
if (examine_type != -1)
{
strSql.AppendFormat(" and pro_result.examine_type = {0} ", examine_type);
}
strSql.AppendFormat(" order by pro_result.examine_time desc ");
var ds = DbHelperMySQL.Query(strSql.ToString());
return ds;
}
/// <summary>
/// 获得数据列表
/// </summary>
public DataSet GetListDetailByName(string user_name, string subject_name, string start, string end, int examine_type)
{
StringBuilder strSql = new StringBuilder();
strSql.Append(" SELECT pro_result.*,pro_subject.subject_name,admin_user.login_name,admin_user.real_name FROM pro_result ");
strSql.Append(" INNER JOIN pro_subject ON pro_result.subject_id = pro_subject.subject_id ");
strSql.Append(" INNER JOIN admin_user ON pro_result.user_id = admin_user.user_id where 1=1 ");
if (user_name.Trim() != "")
{
strSql.AppendFormat(" and ( admin_user.real_name LIKE '%{0}%' or admin_user.login_name LIKE '%{0}%') ", user_name.Trim());
}
if (subject_name.Trim() != "")
{
strSql.AppendFormat(" and pro_subject.subject_name LIKE '%{0}%' ", subject_name.Trim());
}
if (start.Trim() != "")
{
strSql.AppendFormat(" and pro_result.examine_time>='{0}' ", start.Trim());
}
if (end.Trim() != "")
{
DateTime dt;
if (DateTime.TryParse(end, out dt))
{
strSql.AppendFormat(" and pro_result.examine_time<'{0}' ", dt.AddDays(1).ToString("yyyy-MM-dd"));
}
}
if (examine_type != -1)
{
strSql.AppendFormat(" and pro_result.examine_type = {0} ", examine_type);
}
strSql.AppendFormat(" order by pro_result.examine_time desc ");
var ds = DbHelperMySQL.Query(strSql.ToString());
return ds;
}
/// <summary>
/// 获取新记录id
/// </summary>
public string GetNewId()
{
StringBuilder strSql = new StringBuilder();
strSql.Append(" SELECT max(result_id) FROM pro_result ");
object obj = DbHelperMySQL.GetSingle(strSql.ToString());
if (obj == null)
{
return "10001";
}
else
{
var v = int.Parse(obj.ToString()) + 1;
return v.ToString();
}
}
/// <summary>
/// 获得考试及格数据列表
/// </summary>
public DataSet GetPassRate(string strWhere)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select subject_id,subject_name,count(*) total ");
strSql.Append(",sum(case when total_result>=60 then 1 else 0 end ) pass ");
strSql.Append(",sum(case when total_result< 60 then 1 else 0 end ) fail ");
strSql.Append(",sum(case when total_result>=60 then 1 else 0 end )/ count(*) pass_rate");
strSql.Append(",sum(case when total_result< 60 then 1 else 0 end )/ count(*) fail_rate ");
strSql.Append(" FROM pro_result ");
if (strWhere.Trim() != "")
{
strSql.Append(" where " + strWhere);
}
strSql.Append(" group by subject_id,subject_name ");
strSql.Append(" order by pass_rate desc ");
return DbHelperMySQL.Query(strSql.ToString());
}
/// <summary>
/// 获得考试出错率数据列表
/// </summary>
public DataSet GetFailRate(string strWhere)
{
StringBuilder strSql = new StringBuilder();
strSql.Append(" select subject_id,subject_name,tip,count(*) total ");
strSql.Append(" ,sum(case when score> 0 then 1 else 0 end ) pass ");
strSql.Append(" ,sum(case when score= 0 then 1 else 0 end ) fail ");
strSql.Append(" ,sum(case when score> 0 then 1 else 0 end ) / count(*) pass_rate ");
strSql.Append(" ,sum(case when score= 0 then 1 else 0 end ) / count(*) fail_rate ");
strSql.Append(" from pro_result_detail ");
if (strWhere.Trim() != "")
{
strSql.Append(" where " + strWhere);
}
strSql.Append(" group by subject_id,subject_name,tip ");
strSql.Append(" order by subject_id,fail_rate desc ");
return DbHelperMySQL.Query(strSql.ToString());
}
public DataSet GetSubjectNames()
{
StringBuilder strSql = new StringBuilder();
strSql.Append(" SELECT distinct (subject_name) FROM `pro_result` ");
return DbHelperMySQL.Query(strSql.ToString());
}
public DataSet GetGradeNames()
{
StringBuilder strSql = new StringBuilder();
strSql.Append(" SELECT distinct (grade) FROM `pro_result` ");
return DbHelperMySQL.Query(strSql.ToString());
}
/// <summary>
/// 获取学生成绩统计
/// </summary>
/// <param name="strWhere">条件</param>
/// <param name="xl_rate">训练所占比例</param>
public DataSet GetStudentStatistics(string strWhere,decimal xl_rate)
{
StringBuilder strSql = new StringBuilder();
strSql.Append(" select grade ,major ,login_name ,real_name ");
strSql.Append(" ,sum(case when sjms='训练' then total_result else 0 end) xl_total ");
strSql.Append(" ,sum(case when sjms='训练' then 1 else 0 end) xl_count ");
strSql.Append(" ,sum(case when sjms='考核' then total_result else 0 end) kh_total ");
strSql.Append(" ,sum(case when sjms='考核' then 1 else 0 end) kh_count ");
strSql.Append(" ,ROUND(sum(case when sjms='训练' then total_result else 0 end) / sum(case when sjms='训练' then 1 else 0 end),0) xl_avg ");
strSql.Append(" ,ROUND(sum(case when sjms='考核' then total_result else 0 end) / sum(case when sjms='考核' then 1 else 0 end),0) kh_avg ");
var kh_rate = 1 - xl_rate;
strSql.Append(" ,ROUND("+ xl_rate + "*ROUND(sum(case when sjms='训练' then total_result else 0 end) / sum(case when sjms='训练' then 1 else 0 end),0)+"+ kh_rate + "*ROUND(sum(case when sjms='考核' then total_result else 0 end) / sum(case when sjms='考核' then 1 else 0 end),0),0) end_avg ");
//strSql.Append(" ,ROUND(0.3*ROUND(sum(case when sjms='训练' then total_result else 0 end) / sum(case when sjms='训练' then 1 else 0 end),0)+0.7*ROUND(sum(case when sjms='考核' then total_result else 0 end) / sum(case when sjms='考核' then 1 else 0 end),0),0) 总成绩 ");
strSql.Append(" from pro_result ");
if (strWhere.Trim() != "")
{
strSql.Append(" where " + strWhere);
}
strSql.Append(" group by grade,major,login_name,real_name ");
return DbHelperMySQL.Query(strSql.ToString());
}
/// <summary>
/// 获取批次分数段统计
/// </summary>
/// <param name="strWhere">条件</param>
/// <param name="xl_rate">训练所占比例</param>
public DataSet GetStudentBatchScoreSegment(string strWhere)
{
StringBuilder strSql = new StringBuilder();
strSql.Append(" select ");
strSql.Append(" sum(case when total_result between 0 and 59 then 1 else 0 end) dn60, ");
strSql.Append(" sum(case when total_result between 60 and 69 then 1 else 0 end) bt60_70, ");
strSql.Append(" sum(case when total_result between 70 and 79 then 1 else 0 end) bt70_80, ");
strSql.Append(" sum(case when total_result between 80 and 89 then 1 else 0 end) bt80_90, ");
strSql.Append(" sum(case when total_result between 90 and 1000 then 1 else 0 end) up90 ");
strSql.Append(" from pro_result ");
if (strWhere.Trim() != "")
{
strSql.Append(" where " + strWhere);
}
return DbHelperMySQL.Query(strSql.ToString());
}
#endregion ExtensionMethod
}
}