using System ;
using System.Text ;
using System.Collections.Generic ;
using System.Data ;
using CommonFunc ;
using MySql.Data.MySqlClient ;
using XGL.Models ;
using XGL.Models.Model ;
using CommonFunc.Tools ;
using System.Linq ;
namespace XGL.Data
{
//user
public class userDB : IDisposable
{
public void Dispose ( )
{
Dispose ( true ) ;
GC . SuppressFinalize ( true ) ;
}
protected virtual void Dispose ( bool disposing )
{
if ( ! disposing )
return ;
}
public bool Exists ( int id )
{
StringBuilder strSql = new StringBuilder ( ) ;
strSql . Append ( "select count(1) from user" ) ;
strSql . Append ( " where " ) ;
strSql . Append ( " id = @id " ) ;
MySqlParameter [ ] parameters = {
new MySqlParameter ( "@id" , MySqlDbType . Int32 )
} ;
parameters [ 0 ] . Value = id ;
return DbHelperSQLServer . Exists ( strSql . ToString ( ) , parameters ) ;
}
/// <summary>
/// 增加一条数据
/// </summary>
public int Add ( XGL . Models . user model )
{
StringBuilder strSql = new StringBuilder ( ) ;
strSql . Append ( "insert into user(" ) ;
strSql . Append ( "userno,username,birthdate,infactorydate,teamid,isdeleted,password,phone,email,userkey" ) ;
strSql . Append ( ") values (" ) ;
strSql . Append ( "@userno,@username,@birthdate,@infactorydate,@teamid,@isdeleted,@password,@phone,@email,@userkey" ) ;
strSql . Append ( ") " ) ;
strSql . Append ( ";select @@IDENTITY" ) ;
MySqlParameter [ ] parameters = {
new MySqlParameter ( "@userno" , MySqlDbType . VarChar , 20 ) ,
new MySqlParameter ( "@username" , MySqlDbType . VarChar , 40 ) ,
new MySqlParameter ( "@birthdate" , MySqlDbType . VarChar , 20 ) ,
new MySqlParameter ( "@infactorydate" , MySqlDbType . VarChar , 20 ) ,
new MySqlParameter ( "@teamid" , MySqlDbType . Int32 , 11 ) ,
new MySqlParameter ( "@isdeleted" , MySqlDbType . VarChar , 1 ) ,
new MySqlParameter ( "@password" , MySqlDbType . VarChar , 50 ) ,
new MySqlParameter ( "@phone" , MySqlDbType . VarChar , 50 ) ,
new MySqlParameter ( "@email" , MySqlDbType . VarChar , 50 ) ,
new MySqlParameter ( "@userkey" , MySqlDbType . VarChar , 200 )
} ;
parameters [ 0 ] . Value = model . userno ;
parameters [ 1 ] . Value = model . username ;
parameters [ 2 ] . Value = model . birthdate ;
parameters [ 3 ] . Value = model . infactorydate ;
parameters [ 4 ] . Value = model . teamid ;
parameters [ 5 ] . Value = model . isdeleted ;
parameters [ 6 ] . Value = model . password ;
parameters [ 7 ] . Value = model . phone ;
parameters [ 8 ] . Value = model . email ;
parameters [ 9 ] . Value = model . userkey ;
object obj = DbHelperSQLServer . ExecuteScalar ( strSql . ToString ( ) , parameters ) ;
if ( obj = = null )
{
return 0 ;
}
else
{
return Convert . ToInt32 ( obj ) ;
}
}
/// <summary>
/// 更新一条数据
/// </summary>
public bool Update ( XGL . Models . user model )
{
StringBuilder strSql = new StringBuilder ( ) ;
strSql . Append ( "update user set " ) ;
strSql . Append ( " userno = @userno , " ) ;
strSql . Append ( " username = @username , " ) ;
strSql . Append ( " birthdate = @birthdate , " ) ;
strSql . Append ( " infactorydate = @infactorydate , " ) ;
strSql . Append ( " teamid = @teamid , " ) ;
strSql . Append ( " isdeleted = @isdeleted , " ) ;
strSql . Append ( " password = @password , " ) ;
strSql . Append ( " phone = @phone , " ) ;
strSql . Append ( " email = @email , " ) ;
strSql . Append ( " userkey = @userkey " ) ;
strSql . Append ( " where id=@id " ) ;
MySqlParameter [ ] parameters = {
new MySqlParameter ( "@id" , MySqlDbType . Int32 , 11 ) ,
new MySqlParameter ( "@userno" , MySqlDbType . VarChar , 20 ) ,
new MySqlParameter ( "@username" , MySqlDbType . VarChar , 40 ) ,
new MySqlParameter ( "@birthdate" , MySqlDbType . VarChar , 20 ) ,
new MySqlParameter ( "@infactorydate" , MySqlDbType . VarChar , 20 ) ,
new MySqlParameter ( "@teamid" , MySqlDbType . Int32 , 11 ) ,
new MySqlParameter ( "@isdeleted" , MySqlDbType . VarChar , 1 ) ,
new MySqlParameter ( "@password" , MySqlDbType . VarChar , 50 ) ,
new MySqlParameter ( "@phone" , MySqlDbType . VarChar , 50 ) ,
new MySqlParameter ( "@email" , MySqlDbType . VarChar , 50 ) ,
new MySqlParameter ( "@userkey" , MySqlDbType . VarChar , 200 )
} ;
parameters [ 0 ] . Value = model . id ;
parameters [ 1 ] . Value = model . userno ;
parameters [ 2 ] . Value = model . username ;
parameters [ 3 ] . Value = model . birthdate ;
parameters [ 4 ] . Value = model . infactorydate ;
parameters [ 5 ] . Value = model . teamid ;
parameters [ 6 ] . Value = model . isdeleted ;
parameters [ 7 ] . Value = model . password ;
parameters [ 8 ] . Value = model . phone ;
parameters [ 9 ] . Value = model . email ;
parameters [ 10 ] . Value = model . userkey ;
int rows = DbHelperSQLServer . ExecuteNonQuery ( strSql . ToString ( ) , parameters ) ;
if ( rows > 0 )
{
return true ;
}
else
{
return false ;
}
}
/// <summary>
/// 删除一条数据
/// </summary>
public bool Delete ( int id )
{
StringBuilder strSql = new StringBuilder ( ) ;
strSql . Append ( "delete from user " ) ;
strSql . Append ( " where id=@id" ) ;
MySqlParameter [ ] parameters = {
new MySqlParameter ( "@id" , MySqlDbType . Int32 )
} ;
parameters [ 0 ] . Value = id ;
int rows = DbHelperSQLServer . ExecuteNonQuery ( strSql . ToString ( ) , parameters ) ;
if ( rows > 0 )
{
return true ;
}
else
{
return false ;
}
}
/// <summary>
/// 批量删除一批数据
/// </summary>
public bool DeleteList ( string idlist )
{
StringBuilder strSql = new StringBuilder ( ) ;
strSql . Append ( "delete from user " ) ;
strSql . Append ( " where ID in (" + idlist + ") " ) ;
int rows = DbHelperSQLServer . ExecuteNonQuery ( strSql . ToString ( ) ) ;
if ( rows > 0 )
{
return true ;
}
else
{
return false ;
}
}
/// <summary>
/// 得到一个对象实体
/// </summary>
public XGL . Models . user GetModel ( int id )
{
StringBuilder strSql = new StringBuilder ( ) ;
strSql . Append ( "select id, userno, username, birthdate, infactorydate, teamid, isdeleted, password, phone, email, userkey " ) ;
strSql . Append ( " from user " ) ;
strSql . Append ( " where id=@id" ) ;
MySqlParameter [ ] parameters = {
new MySqlParameter ( "@id" , MySqlDbType . Int32 )
} ;
parameters [ 0 ] . Value = id ;
XGL . Models . user model = new XGL . Models . user ( ) ;
DataSet ds = DbHelperSQLServer . Query ( strSql . ToString ( ) , parameters ) ;
if ( ds . Tables [ 0 ] . Rows . Count > 0 )
{
if ( ds . Tables [ 0 ] . Rows [ 0 ] [ "id" ] . ToString ( ) ! = "" )
{
model . id = int . Parse ( ds . Tables [ 0 ] . Rows [ 0 ] [ "id" ] . ToString ( ) ) ;
}
model . userno = ds . Tables [ 0 ] . Rows [ 0 ] [ "userno" ] . ToString ( ) ;
model . username = ds . Tables [ 0 ] . Rows [ 0 ] [ "username" ] . ToString ( ) ;
model . birthdate = ds . Tables [ 0 ] . Rows [ 0 ] [ "birthdate" ] . ToString ( ) ;
model . infactorydate = ds . Tables [ 0 ] . Rows [ 0 ] [ "infactorydate" ] . ToString ( ) ;
if ( ds . Tables [ 0 ] . Rows [ 0 ] [ "teamid" ] . ToString ( ) ! = "" )
{
model . teamid = int . Parse ( ds . Tables [ 0 ] . Rows [ 0 ] [ "teamid" ] . ToString ( ) ) ;
}
model . isdeleted = ds . Tables [ 0 ] . Rows [ 0 ] [ "isdeleted" ] . ToString ( ) ;
model . password = ds . Tables [ 0 ] . Rows [ 0 ] [ "password" ] . ToString ( ) ;
model . phone = ds . Tables [ 0 ] . Rows [ 0 ] [ "phone" ] . ToString ( ) ;
model . email = ds . Tables [ 0 ] . Rows [ 0 ] [ "email" ] . ToString ( ) ;
model . userkey = ds . Tables [ 0 ] . Rows [ 0 ] [ "userkey" ] . ToString ( ) ;
return model ;
}
else
{
return null ;
}
}
/// <summary>
/// 获得数据列表
/// </summary>
public DataSet GetList ( string strWhere )
{
StringBuilder strSql = new StringBuilder ( ) ;
strSql . Append ( "select * " ) ;
strSql . Append ( " FROM user " ) ;
if ( strWhere . Trim ( ) ! = "" )
{
strSql . Append ( " where " + strWhere ) ;
}
return DbHelperSQLServer . Query ( strSql . ToString ( ) ) ;
}
/// <summary>
/// 获得数据列表
/// </summary>
public List < user > GetModelList ( string strWhere )
{
List < user > Results = new List < user > ( ) ;
StringBuilder strSql = new StringBuilder ( ) ;
strSql . Append ( "select * " ) ;
strSql . Append ( " FROM user " ) ;
if ( strWhere . Trim ( ) ! = "" )
{
strSql . Append ( " where " + strWhere ) ;
}
DataSet ds = DbHelperSQLServer . Query ( strSql . ToString ( ) ) ;
if ( ds . Tables [ 0 ] . Rows . Count > 0 )
{
foreach ( user model in ds . Tables [ 0 ] . Rows )
{
if ( ds . Tables [ 0 ] . Rows [ 0 ] [ "id" ] . ToString ( ) ! = "" )
{
model . id = int . Parse ( ds . Tables [ 0 ] . Rows [ 0 ] [ "id" ] . ToString ( ) ) ;
}
model . userno = ds . Tables [ 0 ] . Rows [ 0 ] [ "userno" ] . ToString ( ) ;
model . username = ds . Tables [ 0 ] . Rows [ 0 ] [ "username" ] . ToString ( ) ;
model . birthdate = ds . Tables [ 0 ] . Rows [ 0 ] [ "birthdate" ] . ToString ( ) ;
model . infactorydate = ds . Tables [ 0 ] . Rows [ 0 ] [ "infactorydate" ] . ToString ( ) ;
if ( ds . Tables [ 0 ] . Rows [ 0 ] [ "teamid" ] . ToString ( ) ! = "" )
{
model . teamid = int . Parse ( ds . Tables [ 0 ] . Rows [ 0 ] [ "teamid" ] . ToString ( ) ) ;
}
model . isdeleted = ds . Tables [ 0 ] . Rows [ 0 ] [ "isdeleted" ] . ToString ( ) = = "1" ? "有效" : "无效" ;
model . password = ds . Tables [ 0 ] . Rows [ 0 ] [ "password" ] . ToString ( ) ;
model . phone = ds . Tables [ 0 ] . Rows [ 0 ] [ "phone" ] . ToString ( ) ;
model . email = ds . Tables [ 0 ] . Rows [ 0 ] [ "email" ] . ToString ( ) ;
model . userkey = ds . Tables [ 0 ] . Rows [ 0 ] [ "userkey" ] . ToString ( ) ;
Results . Add ( model ) ;
}
}
return Results ;
}
/// <summary>
/// 登录
/// </summary>
/// <param name="usercode"></param>
/// <param name="pwd"></param>
/// <returns></returns>
public bool Login ( string usercode , string pwd , string shiftID , string teamID , string workDate , string startTime , string endTime )
{
string sql = $"select * from sys_user WHERE user_name='{usercode}'" ;
DataTable dt = Utils . cloudDBHelper . getDataSet ( sql ) . Tables [ 0 ] ;
bool issuccess = false ;
var lst = Utils . ToDataList < sys_user > ( dt ) ;
if ( lst . Count > 0 )
{
var info = lst . FirstOrDefault ( ) ;
issuccess = Utils . VerifyPassword ( pwd , info . password ) ;
LoginUser . UserId = info . user_id ;
LoginUser . UserCode = info . user_name ;
LoginUser . UserName = info . nick_name ;
//待补充班组班次
LoginUser . ShiftCode = shiftID ;
LoginUser . TeamCode = teamID ;
LoginUser . WorkDate = DateTime . Parse ( workDate ) . ToString ( "yyyy-MM-dd" ) ;
LoginUser . Start_Time = startTime ;
LoginUser . End_Time = endTime ;
LoginUser . CurrDeviceIP = Common . GetLocationHostAddress ( ) ;
}
return issuccess ; //lst.Count > 0 ? true : false;
}
public List < sys_user > GetUserList ( int userId = 0 )
{
string sql = $"select * from sys_user " ;
if ( userId ! = 0 )
{
sql + = $" where user_id = {userId}" ;
}
DataTable dt = Utils . cloudDBHelper . getDataSet ( sql ) . Tables [ 0 ] ;
var lst = Utils . ToDataList < sys_user > ( dt ) ;
if ( lst . Count > 0 )
{
return lst ;
}
return null ; //lst.Count > 0 ? true : false;
}
public bool UpdateWorkDate ( string deviceCode , string shiftID , string workDate )
{
string sql = $"update base_equipment set curr_work_date = '{workDate}',curr_shift = '{shiftID}' where equipment_code = '{deviceCode}'" ;
return Utils . netClientDBHelper . executeUpdate ( sql ) > 0 ? true : false ;
}
/// <summary>
/// 查询版本号
/// </summary>
/// <param name="usercode"></param>
/// <param name="pwd"></param>
/// <returns></returns>
public string vsion ( )
{
string result = "" ;
string sql = $"SELECT * FROM mes_version_upper_computer where isprocedure='uppercomputer'" ;
DataTable dt = Utils . netClientDBHelper . getDataSet ( sql ) . Tables [ 0 ] ;
var lst = Utils . ToDataList < vsionclass > ( dt ) ;
if ( lst . Count > 0 )
{
var info = lst . FirstOrDefault ( ) ;
result = info . versions ;
}
return result ;
}
public List < sys_user > GetUsers ( string text , string type , int pageIndex , int pageSize )
{
string sql = $ @ "select a.user_id,a.nick_name,a.user_name,c.post_name as post,a.user_m_type from sys_user a
left join sys_user_post b
on a . user_id = b . user_id
left join sys_post c
on b . post_id = c . post_id
where 1 = 1 ";
if ( ! string . IsNullOrEmpty ( text ) )
{
sql + = $" and a.nick_name like '%{text}%'" ;
}
if ( ! string . IsNullOrEmpty ( type ) )
{
sql + = $" and a.user_m_type='{type}'" ;
}
sql + = $" ORDER BY a.user_id OFFSET {pageIndex * pageSize} ROWS FETCH NEXT {pageSize} ROWS ONLY" ;
DataTable dt = Utils . cloudDBHelper . getDataSet ( sql ) . Tables [ 0 ] ;
var lst = Utils . ToDataList < sys_user > ( dt ) ;
return lst ;
}
public void GetUsersCount ( string text , string type , out int pageMax )
{
string sql = $ @ "select Count(*) as pageMax from sys_user a
left join sys_user_post b
on a . user_id = b . user_id
left join sys_post c
on b . post_id = c . post_id
where 1 = 1 ";
if ( ! string . IsNullOrEmpty ( text ) )
{
sql + = $" and a.nick_name like '%{text}%'" ;
}
if ( ! string . IsNullOrEmpty ( type ) )
{
sql + = $" and a.user_m_type='{type}'" ;
}
DataTable dt = Utils . cloudDBHelper . getDataSet ( sql ) . Tables [ 0 ] ;
if ( dt ! = null & & dt . Rows . Count > 0 )
{
pageMax = int . Parse ( dt . Rows [ 0 ] [ "pageMax" ] . ToString ( ) ) ;
}
else
{
pageMax = 0 ;
}
}
//public List<base_user> GetUsersLst(int page, int pageSize, string phone, string name)
//{
// string where = " 1=1 ";
// if (!string.IsNullOrEmpty(phone))
// {
// where += $" and User_Telephone like '%{phone}%'";
// }
// if (!string.IsNullOrEmpty(name))
// {
// where += $" and User_Name like '%{name}%'";
// }
// int pz = page * pageSize;
// string sql = $@"select * from base_user where {where} ORDER BY Create_Time DESC limit {pz},{pageSize}";
// DataTable dt = MySqlHelper.GetDataTable(sql);
// var lst = Utils.ToDataList<base_user>(dt);
// return lst;
//}
//public DataTable GetUsersExcelLst(string phone, string name)
//{
// string where = " Active='1' ";
// if (!string.IsNullOrEmpty(phone))
// {
// where += $" and User_Telephone like '%{phone}%'";
// }
// if (!string.IsNullOrEmpty(name))
// {
// where += $" and User_Name like '%{name}%'";
// }
// string sql = $@"select (@i:=@i+1) as xuhao,User_Code,User_Name,User_Telephone,Create_Time from base_user,(select @i:=0) as it where {where} ORDER BY Create_Time DESC ";
// DataTable dt = MySqlHelper.GetDataTable(sql);
// return dt;
//}
//public base_user GetUserInfo(int id)
//{
// string sql = $@"select * from base_user where id={id}";
// DataTable dt = MySqlHelper.GetDataTable(sql);
// var lst = Utils.ToDataList<base_user>(dt);
// if (lst != null && lst.Count > 0)
// {
// var info = lst.FirstOrDefault();
// return info;
// }
// return null;
//}
//public bool InsertUserExcel(base_user user)
//{
// try
// {
// string selectuser = $"select * from base_user where User_Code='{user.User_Code}' and Active='1'";
// DataTable dt = MySqlHelper.GetDataTable(selectuser);
// if (dt != null && dt.Rows.Count > 0)
// {
// return false;
// }
// string sql = $@"INSERT INTO base_user( Production_Line_Code, Production_Line_Name, User_Code, User_Name, User_PWD, User_Telephone, Active, Create_User, Create_Time)
// VALUES ('{user.Production_Line_Code}', '{user.Production_Line_Name}', '{user.User_Code}',
// '{user.User_Name}', '{user.User_PWD}', '{user.User_Telephone}', {user.Active}, '{user.Create_User}', '{user.Create_Time}');Select @@Identity";
// int row = MySqlHelper.InsertReturnId(sql).ToInt();
// return true;
// }
// catch (Exception ex)
// {
// Log.WriteLog(LogFile.Error, "添加用户异常:" + ex.Message);
// return false;
// }
//}
}
}