713 lines
27 KiB
C#
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
|
|
}
|
|
}
|
|
|