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

512 lines
16 KiB
C#

/** 版本信息模板在安装目录下,可自行修改。
* pro_exam_batch.cs
*
* 功 能: N/A
* 类 名: pro_exam_batch
*
* Ver 变更日期 负责人 变更内容
* ───────────────────────────────────
* V0.01 2021/5/24 13:55:08 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
using System.Collections.Generic;
namespace DataService.DAL
{
/// <summary>
/// 数据访问类:pro_exam_batch
/// </summary>
public partial class pro_exam_batch
{
public pro_exam_batch()
{}
#region BasicMethod
/// <summary>
/// 是否存在该记录
/// </summary>
public bool Exists(string batch_id)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select count(1) from pro_exam_batch");
strSql.Append(" where batch_id=@batch_id ");
MySqlParameter[] parameters = {
new MySqlParameter("@batch_id", MySqlDbType.VarChar,255) };
parameters[0].Value = batch_id;
return DbHelperMySQL.Exists(strSql.ToString(), parameters);
}
/// <summary>
/// 增加一条数据
/// </summary>
public bool Add(DataService.Model.pro_exam_batch model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into pro_exam_batch(");
strSql.Append("batch_id,batch_name,school_id,grade,exam_id,major,sjms,state,ks_minute,start_time,end_time,create_time,r1,r2,r3)");
strSql.Append(" values (");
strSql.Append("@batch_id,@batch_name,@school_id,@grade,@exam_id,@major,@sjms,@state,@ks_minute,@start_time,@end_time,@create_time,@r1,@r2,@r3)");
MySqlParameter[] parameters = {
new MySqlParameter("@batch_id", MySqlDbType.VarChar,255),
new MySqlParameter("@batch_name", MySqlDbType.VarChar,255),
new MySqlParameter("@school_id", MySqlDbType.VarChar,50),
new MySqlParameter("@grade", MySqlDbType.VarChar,255),
new MySqlParameter("@exam_id", MySqlDbType.VarChar,50),
new MySqlParameter("@major", MySqlDbType.VarChar,255),
new MySqlParameter("@sjms", MySqlDbType.VarChar,255),
new MySqlParameter("@state", MySqlDbType.Int32),
new MySqlParameter("@ks_minute", MySqlDbType.Int32),
new MySqlParameter("@start_time", MySqlDbType.DateTime),
new MySqlParameter("@end_time", MySqlDbType.DateTime),
new MySqlParameter("@create_time", MySqlDbType.DateTime),
new MySqlParameter("@r1", MySqlDbType.VarChar,255),
new MySqlParameter("@r2", MySqlDbType.VarChar,255),
new MySqlParameter("@r3", MySqlDbType.VarChar,255)};
parameters[0].Value = model.batch_id;
parameters[1].Value = model.batch_name;
parameters[2].Value = model.school_id;
parameters[3].Value = model.grade;
parameters[4].Value = model.exam_id;
parameters[5].Value = model.major;
parameters[6].Value = model.sjms;
parameters[7].Value = model.state;
parameters[8].Value = model.ks_minute;
parameters[9].Value = model.start_time;
parameters[10].Value = model.end_time;
parameters[11].Value = model.create_time;
parameters[12].Value = model.r1;
parameters[13].Value = model.r2;
parameters[14].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_exam_batch model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("update pro_exam_batch set ");
strSql.Append("batch_name=@batch_name,");
strSql.Append("school_id=@school_id,");
strSql.Append("grade=@grade,");
strSql.Append("exam_id=@exam_id,");
strSql.Append("major=@major,");
strSql.Append("sjms=@sjms,");
strSql.Append("state=@state,");
strSql.Append("ks_minute=@ks_minute,");
strSql.Append("start_time=@start_time,");
strSql.Append("end_time=@end_time,");
strSql.Append("create_time=@create_time,");
strSql.Append("r1=@r1,");
strSql.Append("r2=@r2,");
strSql.Append("r3=@r3");
strSql.Append(" where batch_id=@batch_id ");
MySqlParameter[] parameters = {
new MySqlParameter("@batch_name", MySqlDbType.VarChar,255),
new MySqlParameter("@school_id", MySqlDbType.VarChar,50),
new MySqlParameter("@grade", MySqlDbType.VarChar,255),
new MySqlParameter("@exam_id", MySqlDbType.VarChar,50),
new MySqlParameter("@major", MySqlDbType.VarChar,255),
new MySqlParameter("@sjms", MySqlDbType.VarChar,255),
new MySqlParameter("@state", MySqlDbType.Int32),
new MySqlParameter("@ks_minute", MySqlDbType.Int32),
new MySqlParameter("@start_time", MySqlDbType.DateTime),
new MySqlParameter("@end_time", MySqlDbType.DateTime),
new MySqlParameter("@create_time", MySqlDbType.DateTime),
new MySqlParameter("@r1", MySqlDbType.VarChar,255),
new MySqlParameter("@r2", MySqlDbType.VarChar,255),
new MySqlParameter("@r3", MySqlDbType.VarChar,255),
new MySqlParameter("@batch_id", MySqlDbType.VarChar,255)};
parameters[0].Value = model.batch_name;
parameters[1].Value = model.school_id;
parameters[2].Value = model.grade;
parameters[3].Value = model.exam_id;
parameters[4].Value = model.major;
parameters[5].Value = model.sjms;
parameters[6].Value = model.state;
parameters[7].Value = model.ks_minute;
parameters[8].Value = model.start_time;
parameters[9].Value = model.end_time;
parameters[10].Value = model.create_time;
parameters[11].Value = model.r1;
parameters[12].Value = model.r2;
parameters[13].Value = model.r3;
parameters[14].Value = model.batch_id;
int rows = DbHelperMySQL.ExecuteSql(strSql.ToString(), parameters);
if (rows > 0)
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 删除一条数据
/// </summary>
public bool Delete(string batch_id)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("delete from pro_exam_batch ");
strSql.Append(" where batch_id=@batch_id ");
MySqlParameter[] parameters = {
new MySqlParameter("@batch_id", MySqlDbType.VarChar,255) };
parameters[0].Value = batch_id;
int rows = DbHelperMySQL.ExecuteSql(strSql.ToString(), parameters);
if (rows > 0)
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 批量删除数据
/// </summary>
public bool DeleteList(string batch_idlist)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("delete from pro_exam_batch ");
strSql.Append(" where batch_id in (" + batch_idlist + ") ");
int rows = DbHelperMySQL.ExecuteSql(strSql.ToString());
if (rows > 0)
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 得到一个对象实体
/// </summary>
public DataService.Model.pro_exam_batch GetModel(string batch_id)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select batch_id,batch_name,school_id,grade,exam_id,major,sjms,state,ks_minute,start_time,end_time,create_time,r1,r2,r3 from pro_exam_batch ");
strSql.Append(" where batch_id=@batch_id ");
MySqlParameter[] parameters = {
new MySqlParameter("@batch_id", MySqlDbType.VarChar,255) };
parameters[0].Value = batch_id;
DataService.Model.pro_exam_batch model = new DataService.Model.pro_exam_batch();
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_exam_batch DataRowToModel(DataRow row)
{
DataService.Model.pro_exam_batch model = new DataService.Model.pro_exam_batch();
if (row != null)
{
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["school_id"] != null)
{
model.school_id = row["school_id"].ToString();
}
if (row["grade"] != null)
{
model.grade = row["grade"].ToString();
}
if (row["exam_id"] != null)
{
model.exam_id = row["exam_id"].ToString();
}
if (row["major"] != null)
{
model.major = row["major"].ToString();
}
if (row["sjms"] != null)
{
model.sjms = row["sjms"].ToString();
}
if (row["state"] != null && row["state"].ToString() != "")
{
model.state = int.Parse(row["state"].ToString());
}
if (row["ks_minute"] != null && row["ks_minute"].ToString() != "")
{
model.ks_minute = int.Parse(row["ks_minute"].ToString());
}
if (row["start_time"] != null && row["start_time"].ToString() != "")
{
model.start_time = DateTime.Parse(row["start_time"].ToString());
}
if (row["end_time"] != null && row["end_time"].ToString() != "")
{
model.end_time = DateTime.Parse(row["end_time"].ToString());
}
if (row["create_time"] != null && row["create_time"].ToString() != "")
{
model.create_time = DateTime.Parse(row["create_time"].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 batch_id,batch_name,school_id,grade,exam_id,major,sjms,state,ks_minute,start_time,end_time,create_time,r1,r2,r3 ");
strSql.Append(" FROM pro_exam_batch ");
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_exam_batch ");
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.batch_id desc");
}
strSql.Append(")AS Row, T.* from pro_exam_batch 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_exam_batch";
parameters[1].Value = "batch_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>
/// 获取新记录id
/// </summary>
public string GetNewId()
{
StringBuilder strSql = new StringBuilder();
strSql.Append(" select max(batch_id) FROM pro_exam_batch ");
object obj = DbHelperMySQL.GetSingle(strSql.ToString());
if (obj == null)
{
return "10001";
}
else
{
var v = int.Parse(obj.ToString()) + 1;
return v.ToString();
}
}
/// <summary>
/// 将其它考试批次的状态停用
/// </summary>
/// <param name="batch_id">启用的状态批次</param>
public int UpdateState(string batch_id)
{
StringBuilder strSql = new StringBuilder();
strSql.Append(" update pro_exam_batch set state=0 where batch_id !='"+ batch_id + "'");
var ret = DbHelperMySQL.ExecuteSql(strSql.ToString());
return ret;
}
/// <summary>
/// 查询考场
/// </summary>
/// <param name="strWhere"></param>
/// <param name="orderBy"></param>
/// <returns></returns>
public DataSet QueryResult(string strWhere, string orderBy)
{
StringBuilder strSql = new StringBuilder();
strSql.Append(" SELECT ");
strSql.Append(" T1.batch_id, T1.batch_name, T1.school_id, T1.grade, T1.exam_id, ");
strSql.Append(" T1.major, T1.sjms, T1.state, T1.ks_minute, T1.start_time, ");
strSql.Append(" T1.end_time, T1.create_time, T2.exam_name, T2.exam_code, T3.school ");
strSql.Append(" ,(CASE WHEN T1.state= 0 then '停用' WHEN T1.state =1 then '启用' ELSE '未知' END) AS state_str ");
strSql.Append(" ,(CASE WHEN now()<start_time then '未开始' WHEN now()>=start_time and now()<end_time then '进行中' WHEN now()>=end_time then '已结束' ELSE '未知' END) AS process ");
strSql.Append(" FROM ");
strSql.Append(" pro_exam_batch AS T1 left JOIN pro_examination AS T2");
strSql.Append(" ON T1.exam_id = T2.id left JOIN admin_school AS T3");
strSql.Append(" ON T1.school_id = T3.id ");
if (!string.IsNullOrWhiteSpace(strWhere))
{
strSql.AppendFormat(" WHERE {0} ", strWhere);
}
if (!string.IsNullOrWhiteSpace(orderBy))
{
strSql.Append(orderBy);
}
return DbHelperMySQL.Query(strSql.ToString());
}
public DateTime GetServerTime()
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select now() ");
object obj = DbHelperMySQL.GetSingle(strSql.ToString());
return (DateTime)obj;
}
//删除批次及批次用户
public int DeleteBatchAndUser(string batch_id)
{
List<CommandInfo> listCmd = new List<CommandInfo>();
if (true)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("delete from pro_exam_batch ");
strSql.Append(" where batch_id=@batch_id ");
MySqlParameter[] parameters = {
new MySqlParameter("@batch_id", MySqlDbType.VarChar,255) };
parameters[0].Value = batch_id;
var cmd = new CommandInfo();
cmd.CommandText = strSql.ToString();
cmd.Parameters = parameters;
listCmd.Add(cmd);
}
if (true)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("delete from pro_subject_batch_user ");
strSql.Append(" where batch_id=@batch_id ");
MySqlParameter[] parameters = {
new MySqlParameter("@batch_id", MySqlDbType.VarChar,50) };
parameters[0].Value = batch_id;
var cmd = new CommandInfo();
cmd.CommandText = strSql.ToString();
cmd.Parameters = parameters;
listCmd.Add(cmd);
}
int rows = DbHelperMySQL.ExecuteSqlTran(listCmd);
return rows;
}
#endregion ExtensionMethod
}
}