using AUTS.Domain.Application; using AUTS.Domain.ViewModels; using AUTS.Services.DBUtility.Custom; using MySql.Data.MySqlClient; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Dynamic; using AUTS.Services.DBUtility.Common; using AUTS.Domain.Entities; using System.Diagnostics; using AUTS.Domain.ViewModels.AutsChart; using System.Data; using Google.Protobuf.WellKnownTypes; using SqlSugar; using Org.BouncyCastle.Tls; using System.Data.Entity.Infrastructure; using System.Web.Mvc; using System.Xml.Linq; using StackExchange.Redis; namespace AUTS.Services.Manager { public static class SqlConnect { private static readonly string connectionString = "server=blv-rd.tech;database=uts_manage;user id=uts_BoMei;password=*&Y8ug*gFx6;port=3307;pooling=True"; public static readonly string connectionSrt = "Server =blv-cloud-db.mysql.rds.aliyuncs.com;Database=uts_db;Uid=blv_rcu;Pwd=fnadiaJDIJ7546;charset=utf8;port=3307"; public static List SqlseleteImportLog(int page = 1, int pagesize = 10, string Search = "", int Property = -1, string startTime = "", string EndTime = "") { List _UserOperationList = new List(); try { string connectionString = Users.connectionSrt; using (MySqlConnection connection = new MySqlConnection(connectionString)) { using (MySqlCommand cmd = new MySqlCommand()) { connection.Open(); cmd.Connection = connection; //string strsqlcnt = "select * from Uts_Importinfo_Log where 1=1 "; var strsql = "select * from Uts_Importinfo_Log where 1=1 "; if (!string.IsNullOrEmpty(Search) && Search != "0") { strsql += " and Operationtpye= '" + Search + "'"; //strsqlcnt += " and Operationtpye= '" + Search + "'"; } if (Property!=-1) { strsql += " and Result= " + Property; //strsqlcnt += " and Result= " + Property; } if (!string.IsNullOrEmpty(startTime) && !string.IsNullOrEmpty(EndTime)) { DateTime startTimea = DateTime.Parse(startTime); DateTime endTimea = DateTime.Parse(EndTime); strsql += " and ImportDateTime>= '" + startTimea + "' and ImportDateTime<= '" + endTimea + "'"; //strsqlcnt += " and ImportDateTime>= '" + startTimea + "' and ImportDateTime<= '" + endTimea + "'"; } strsql += " ORDER BY ImportDateTime DESC "; //strsqlcnt += " ORDER BY ImportDateTime DESC "; //System.Data.DataSet dataSet1 = new System.Data.DataSet(); //MySqlDataAdapter command1 = new MySqlDataAdapter(strsqlcnt, connection); //command1.Fill(dataSet1, "ds"); strsql += " LIMIT " + (page - 1) * pagesize + "," + pagesize + "; "; System.Data.DataSet dataSet = new System.Data.DataSet(); MySqlDataAdapter command = new MySqlDataAdapter(strsql, connection); command.Fill(dataSet, "ds"); var dalHelperCustom = new DALHelperCustom("Uts_Importinfo_Log"); var UserlogList = dalHelperCustom.DataRowToModels(dataSet.Tables[0]); if (UserlogList != null && UserlogList.Count > 0) { foreach (var item in UserlogList) { Uts_Importinfo_Log tBL_UTS_UserOperation = new Uts_Importinfo_Log(); tBL_UTS_UserOperation.ID = item.ID; tBL_UTS_UserOperation.ProjectID = item.ProjectID; tBL_UTS_UserOperation.Dbname = item.Dbname; tBL_UTS_UserOperation.Operationtpye = item.Operationtpye; tBL_UTS_UserOperation.ImportDateTime = item.ImportDateTime; tBL_UTS_UserOperation.PartData = item.PartData; tBL_UTS_UserOperation.Result = item.Result; tBL_UTS_UserOperation.ReturnResult = item.ReturnResult; _UserOperationList.Add(tBL_UTS_UserOperation); } } } } return _UserOperationList; } catch (Exception ex) { LogHelp.WriteExceptionLog(ex); return null; } } /// /// 获取用户日志 /// /// /// public static List SqlseleteUserLog(string name = "", int page = 1, int pagesize = 10) { List _UserOperationList = new List(); try { using (MySqlConnection connection = new MySqlConnection(connectionString)) { using (MySqlCommand cmd = new MySqlCommand()) { connection.Open(); cmd.Connection = connection; var strsql = "select * from TBL_UTS_UserOperation"; if (!string.IsNullOrEmpty(name) && name != "0") { strsql += " where UserName= '" + name + "'"; } strsql += " GROUP BY CreationTime DESC "; strsql += " LIMIT " + (page - 1) * pagesize + "," + pagesize + "; "; System.Data.DataSet dataSet = new System.Data.DataSet(); MySqlDataAdapter command = new MySqlDataAdapter(strsql, connection); command.Fill(dataSet, "ds"); var dalHelperCustom = new DALHelperCustom("TBL_UTS_UserOperation"); var UserlogList = dalHelperCustom.DataRowToModels(dataSet.Tables[0]); if (UserlogList != null && UserlogList.Count > 0) { foreach (var item in UserlogList) { TBL_UTS_UserOperation tBL_UTS_UserOperation = new TBL_UTS_UserOperation(); tBL_UTS_UserOperation.Ip = item.Ip; tBL_UTS_UserOperation.UserName = item.UserName; tBL_UTS_UserOperation.Browser = item.Browser; tBL_UTS_UserOperation.CreationTime = item.CreationTime; tBL_UTS_UserOperation.Database = item.Database; tBL_UTS_UserOperation.Operation = item.Operation; tBL_UTS_UserOperation.ID = item.ID; tBL_UTS_UserOperation.Location = item.Location; tBL_UTS_UserOperation.Device = item.Device; _UserOperationList.Add(tBL_UTS_UserOperation); } } } } return _UserOperationList; } catch (Exception) { return null; } } public static bool SqlInsertUserLog(TBL_UTS_UserOperation tBL_UTS) { try { using (MySqlConnection connection = new MySqlConnection(connectionString)) { using (MySqlCommand cmd = new MySqlCommand()) { connection.Open(); cmd.Connection = connection; var strSql = "insert into `TBL_UTS_UserOperation` (CreationTime,UserName,Ip,Device,Browser,Operation,`Database`,`Location`) VALUES(" + "'" + tBL_UTS.CreationTime + "','" + tBL_UTS.UserName + "','" + tBL_UTS.Ip + "','" + tBL_UTS.Device + "','" + tBL_UTS.Browser + "','" + tBL_UTS.Operation + "','" + tBL_UTS.Database + "','" + tBL_UTS.Location + "');"; cmd.CommandText = strSql; if (cmd.ExecuteNonQuery() > 0) { return true; } } } } catch (Exception) { return false; } return true; } public static ReturnResults Sqlimportinfo(string code, string dbName, int ProjectID) { ReturnResults oj = new ReturnResults(); //2024/5/11修改,查询数据库表名前缀变成从数据库查询 //List dblist = new List() { "uts_bomei", "uts_inhaos", "uts_johao", "uts_zongqing" }; //if (!dblist.Contains(dbName)) //{ // oj.Status = 100; // oj.Message = "查询不到合法的dbname"; // return oj; //} try { TBL_UTS_Manage_DBList dblist = SqlSugarBase.Db.Queryable().First(x => x.DatabaseName == dbName); List importInfolist = new List(); if (dblist == null) { oj.Status = 100; oj.Message = "查询不到合法的表名" + dbName; return oj; } using (MySqlConnection connection = new MySqlConnection(connectionSrt)) { using (MySqlCommand cmd = new MySqlCommand()) { connection.Open(); cmd.Connection = connection; string dataName = dbName; string strSql = "select * from " + dataName + "_tbl_importinfo where Barcode='" + code + "' and ProjectID=" + ProjectID + ""; System.Data.DataSet dataSet = new System.Data.DataSet(); MySqlDataAdapter command = new MySqlDataAdapter(strSql, connection); command.Fill(dataSet, "ds"); var dalHelperCustom = new DALHelperCustom("TBL_ImportInfo"); var UserlogList = dalHelperCustom.DataRowToModels(dataSet.Tables[0]); if (UserlogList != null && UserlogList.Count != 0) { oj.ColorBox_BarCode = UserlogList[0].ColorBox_BarCode; oj.Message = "已分配"; oj.Status = 200; return oj; } else { string seletSql = string.Format("select * from {0}_tbl_importinfo where ProjectID={1} and (Barcode is NULL or Barcode='') LIMIT 1", dataName, ProjectID); MySqlDataAdapter command1 = new MySqlDataAdapter(seletSql, connection); command1.Fill(dataSet, "ds"); var dalHelperCustom1 = new DALHelperCustom("TBL_ImportInfo"); var UserlogList1 = dalHelperCustom.DataRowToModels(dataSet.Tables[0]); if (UserlogList1.Count != 0) { string insertsql = string.Format("UPDATE {0}_tbl_importinfo SET Barcode = '{1}', UpdateTime=now() WHERE ID = {2} and ProjectID={3} ;", dataName, code, UserlogList1[0].ID, ProjectID); cmd.CommandText = insertsql; if (cmd.ExecuteNonQuery() > 0) { oj.ColorBox_BarCode = UserlogList1[0].ColorBox_BarCode; oj.Message = "成功"; oj.Status = 200; return oj; } } else { oj.Status = 102; oj.ColorBox_BarCode = ""; oj.Message = "Barcode已满"; return oj; } } } } } catch (Exception ex) { oj.ColorBox_BarCode = ""; oj.Message = "报错信息:" + ex.Message; oj.Status = 50; return oj; } return null; } /// /// 绑定Barcode(新) /// /// /// /// /// /// public static ReturnResult Sqlcolorboxlist(string code, string dbName, int ProjectID, string Mo) { ReturnResult oj = new ReturnResult(); Dictionary dic = new Dictionary(); //List dblist = new List() { "uts_bomei", "uts_inhaos", "uts_johao", "uts_zongqing" }; try { TBL_UTS_Manage_DBList dblist = SqlSugarBase.Db.Queryable().First(x => x.DatabaseName == dbName); if (dblist==null) { oj.Status = 100; oj.Message = "查询不到合法的表名"+dbName; return oj; } List column = new List();//数据库字段名称 ///获取数据库字段 string SQL = $@"SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'uts_db' AND TABLE_NAME = '{dbName}_tbl_importinfo'; "; var cul = DbHelperMySqlCustom.NoQuery(SQL).Tables[0]; for (int I = 0; I < cul.Rows.Count; I++) { column.Add(cul.Rows[I][0].ToString().ToUpper()); } using (MySqlConnection connection = new MySqlConnection(connectionSrt)) { using (MySqlCommand cmd = new MySqlCommand()) { connection.Open(); cmd.Connection = connection; string dataName = dbName; string strSql = "select * from " + dataName + "_tbl_importinfo where Barcode='" + code + "'"; System.Data.DataSet dataSet = new System.Data.DataSet(); MySqlDataAdapter command = new MySqlDataAdapter(strSql, connection); command.Fill(dataSet, "ds"); var dalHelperCustom = new DALHelperCustom("TBL_ColorBoxList"); var UserlogList = dalHelperCustom.DataRowToModels(dataSet.Tables[0]); if (UserlogList != null && UserlogList.Count != 0) { string strSqlcs = "select * from " + dataName + "_tbl_colorboxlist where Barcode='" + code + "'"; System.Data.DataSet dataSets = new System.Data.DataSet(); MySqlDataAdapter commands = new MySqlDataAdapter(strSqlcs, connection); commands.Fill(dataSets, "ds"); var dalHelperCustoms = new DALHelperCustom("TBL_ColorBoxList"); var UserlogLists = dalHelperCustom.DataRowToModels(dataSets.Tables[0]); if (UserlogLists != null && UserlogLists.Count != 0) { DbHelperMySQL.NoExecuteReader(strSql, dr => { while (dr.Read()) { foreach (var item in column) { dic.Add(item, dr[item].ToString()); } break; } }); oj.Data = dic; oj.Status = 200; oj.Message = "Barcode已分配"; return oj; } string seletSql = ""; if (Mo != "" && Mo != null) { seletSql = string.Format("select * from {0}_tbl_colorboxlist where MO='{1}' and (Barcode is NULL or Barcode='') and Binding_Status=0 and ProjectID={2} LIMIT 1", dataName, Mo, ProjectID); } else { seletSql = string.Format("select * from {0}_tbl_colorboxlist where Barcode is NULL or Barcode='' and Binding_Status=0 and ProjectID={1} LIMIT 1", dataName, ProjectID); } System.Data.DataSet dataSetes = new System.Data.DataSet(); MySqlDataAdapter command1 = new MySqlDataAdapter(seletSql, connection); command1.Fill(dataSetes, "ds"); var UserlogList1 = dalHelperCustom.DataRowToModels(dataSetes.Tables[0]); //bool isok = false; //var aa = dataSetes.Tables[0].Columns; //foreach (var item in aa) //{ // Console.WriteLine(item.ToString()); // string e = item.ToString(); // if (e == "DeviceName" || e == "DevicePSK") // { // string sql = $"alter table " + dataName + "_tbl_importinfo Add column " + e + " varchar(255) not null default '' comment '可以为空值';"; // cmd.CommandText = sql; // } //} if (UserlogList1.Count != 0) { string insertsql = string.Format("UPDATE {0}_tbl_colorboxlist SET Barcode = '{1}', Binding_DateTime=now(), Binding_Status=1 WHERE ID = {2} ;", dataName, code, UserlogList1[0].ID); cmd.CommandText = insertsql; if (cmd.ExecuteNonQuery() > 0) { string sety = UserlogList1[0].ColorBox_BarCode; string barcodesql = string.Format("UPDATE {0}_tbl_importinfo SET ColorBox_BarCode= '{1}', UpdateTime=now(), Mo='{2}' WHERE Barcode = '{3}' ;", dataName, UserlogList1[0].ColorBox_BarCode, UserlogList1[0].Mo, code); cmd.CommandText = barcodesql; if (cmd.ExecuteNonQuery() > 0) { string returnsql = "select * from " + dataName + "_tbl_importinfo where ColorBox_BarCode='" + UserlogList1[0].ColorBox_BarCode + "'"; DbHelperMySQL.NoExecuteReader(returnsql, dr => { while (dr.Read()) { foreach (var item in column) { dic.Add(item, dr[item].ToString()); } break; } }); oj.Data = dic; oj.Message = "成功"; oj.Status = 200; return oj; } } } else { oj.Message = "无彩盒码使用"; oj.Status = 50; return oj; } } else { oj.Message = "未在importinfo找到该BarCode"; oj.Status = 50; return oj; } } } } catch (Exception ex) { oj.Message = "报错信息:" + ex.Message; oj.Status = 50; return oj; } return null; } /// /// 绑定Barcode(最新) /// /// 密令 /// /// 数据库名称 /// /// 机型 /// public static ReturnResult newestSqlcolorboxlist(string code, string dbName, int ProjectID, string Mo) { ReturnResult oj = new ReturnResult(); Dictionary dic = new Dictionary(); //List dblist = new List() { "uts_bomei", "uts_inhaos", "uts_johao", "uts_zongqing" }; try { TBL_UTS_Manage_DBList dblist = SqlSugarBase.Db.Queryable().First(x => x.DatabaseName == dbName); if (dblist == null) { oj.Status = 100; oj.Message = "查询不到合法的表名" + dbName; return oj; } List column = new List();//数据库字段名称 ///获取数据库字段 string SQL = $@"SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'uts_db' AND TABLE_NAME = '{dbName}_tbl_importinfo'; "; var cul = DbHelperMySqlCustom.NoQuery(SQL).Tables[0]; for (int I = 0; I < cul.Rows.Count; I++) { column.Add(cul.Rows[I][0].ToString().ToUpper()); } using (MySqlConnection connection = new MySqlConnection(connectionSrt)) { using (MySqlCommand cmd = new MySqlCommand()) { connection.Open(); cmd.Connection = connection; string dataName = dbName; string strSql = "select * from " + dataName + "_tbl_importinfo where Barcode='" + code + "'"; System.Data.DataSet dataSet = new System.Data.DataSet(); MySqlDataAdapter command = new MySqlDataAdapter(strSql, connection); command.Fill(dataSet, "ds"); var dalHelperCustom = new DALHelperCustom("TBL_ColorBoxList"); var UserlogList = dalHelperCustom.DataRowToModels(dataSet.Tables[0]); if (UserlogList != null && UserlogList.Count != 0) { string strSqlcs = "select * from " + dataName + "_tbl_colorboxlist where Barcode='" + code + "'"; System.Data.DataSet dataSets = new System.Data.DataSet(); MySqlDataAdapter commands = new MySqlDataAdapter(strSqlcs, connection); commands.Fill(dataSets, "ds"); var dalHelperCustoms = new DALHelperCustom("TBL_ColorBoxList"); var UserlogLists = dalHelperCustom.DataRowToModels(dataSets.Tables[0]); if (UserlogLists != null && UserlogLists.Count != 0) { DbHelperMySQL.NoExecuteReader(strSql, dr => { while (dr.Read()) { foreach (var item in column) { dic.Add(item, dr[item].ToString()); } break; } }); oj.Data = dic; oj.Status = 200; oj.Message = "Barcode已分配"; return oj; } string seletSql = ""; if (Mo != "" && Mo != null) { seletSql = string.Format("select * from {0}_tbl_colorboxlist where MO='{1}' and (Barcode is NULL or Barcode='') and Binding_Status=0 and ProjectID={2} LIMIT 1", dataName, Mo, ProjectID); } else { seletSql = string.Format("select * from {0}_tbl_colorboxlist where Barcode is NULL or Barcode='' and Binding_Status=0 and ProjectID={1} LIMIT 1", dataName, ProjectID); } System.Data.DataSet dataSetes = new System.Data.DataSet(); MySqlDataAdapter command1 = new MySqlDataAdapter(seletSql, connection); command1.Fill(dataSetes, "ds"); var UserlogList1 = dalHelperCustom.DataRowToModels(dataSetes.Tables[0]); string strsql = string.Format("select * from {0}_tbl_importinfo LIMIT 1", dataName); System.Data.DataSet dataSetes1 = new System.Data.DataSet(); MySqlDataAdapter command2 = new MySqlDataAdapter(strsql, connection); command2.Fill(dataSetes1, "ds"); List list = new List(); List list1 = new List(); //初始表格所有列 var aa = dataSetes.Tables[0].Columns; //转移到的表格所有列 var bb = dataSetes1.Tables[0].Columns; List bbNames = new List(); //初始表格里的一行数据 var asa = dataSetes.Tables[0].Rows[0].ItemArray; for (int i = 10; i < asa.Length; i++) { list.Add(asa[i].ToString()); } for (int i = 0; i < bb.Count; i++) { bbNames.Add(bb[i].ColumnName); } if (aa.Count > 10) { for (int i = 10; i < aa.Count; i++)//起始表10--结束 { list1.Add(aa[i].ToString()); //aa[i] // DataColumn if (bbNames.Contains(aa[i].ColumnName)) { continue; } else { //我要追加 使用aa[i]列的数据 到bb的末尾 string sql = $"alter table " + dataName + "_tbl_importinfo Add column " + aa[i].ColumnName + " varchar(255) not null default '' comment '可以为空值';"; cmd.CommandText = sql; cmd.ExecuteNonQuery(); } } } //拼接sql语句 string newrows = ""; for (int i = 0; i < list.Count; i++) { string colname = list1[i]; string colval = list[i]; newrows += colname + "='"+colval+"'" + ","; } if (UserlogList1.Count != 0) { string insertsql = string.Format("UPDATE {0}_tbl_colorboxlist SET Barcode = '{1}', Binding_DateTime=now(), Binding_Status=1 WHERE ID = {2} ;", dataName, code, UserlogList1[0].ID); cmd.CommandText = insertsql; if (cmd.ExecuteNonQuery() > 0) { string sety = UserlogList1[0].ColorBox_BarCode; string barcodesql = string.Format("UPDATE {0}_tbl_importinfo SET ColorBox_BarCode= '{1}'," + newrows + " UpdateTime=now(), Mo='{2}' WHERE Barcode = '{3}' ;", dataName, UserlogList1[0].ColorBox_BarCode, UserlogList1[0].Mo, code); cmd.CommandText = barcodesql; if (cmd.ExecuteNonQuery() > 0) { string returnsql = "select * from " + dataName + "_tbl_importinfo where ColorBox_BarCode='" + UserlogList1[0].ColorBox_BarCode + "'"; DbHelperMySQL.NoExecuteReader(returnsql, dr => { while (dr.Read()) { foreach (var item in column) { dic.Add(item, dr[item].ToString()); } break; } }); oj.Data = dic; oj.Message = "成功"; oj.Status = 200; return oj; } } } else { oj.Message = "无彩盒码使用"; oj.Status = 50; return oj; } } else { oj.Message = "未在importinfo找到该BarCode"; oj.Status = 50; return oj; } } } } catch (Exception ex) { oj.Message = "报错信息:" + ex.Message; oj.Status = 50; return oj; } return null; } public static ReturnResult APiNewcolorboxlist(string code, string dbName, int ProjectID, string Mo, string specifyField, int sortid) { ReturnResult oj = new ReturnResult(); Dictionary dic = new Dictionary(); //List dblist = new List() { "uts_bomei", "uts_inhaos", "uts_johao", "uts_zongqing" }; try { TBL_UTS_Manage_DBList dblist = SqlSugarBase.Db.Queryable().First(x => x.DatabaseName == dbName); if (dblist == null) { oj.Status = 100; oj.Message = "查询不到合法的表名" + dbName; return oj; } List column = new List();//数据库字段名称 ///获取数据库字段 string SQL = $@"SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'uts_db' AND TABLE_NAME = '{dbName}_tbl_importinfo'; "; var cul = DbHelperMySqlCustom.NoQuery(SQL).Tables[0]; for (int I = 0; I < cul.Rows.Count; I++) { column.Add(cul.Rows[I][0].ToString().ToUpper()); } using (MySqlConnection connection = new MySqlConnection(connectionSrt)) { using (MySqlCommand cmd = new MySqlCommand()) { connection.Open(); cmd.Connection = connection; string dataName = dbName; string strSql = "select * from " + dataName + "_tbl_importinfo where Barcode='" + code + "'"; System.Data.DataSet dataSet = new System.Data.DataSet(); MySqlDataAdapter command = new MySqlDataAdapter(strSql, connection); command.Fill(dataSet, "ds"); var dalHelperCustom = new DALHelperCustom("TBL_ColorBoxList"); var UserlogList = dalHelperCustom.DataRowToModels(dataSet.Tables[0]); if (UserlogList != null && UserlogList.Count != 0) { string strSqlcs = "select * from " + dataName + "_tbl_colorboxlist where Barcode='" + code + "'"; System.Data.DataSet dataSets = new System.Data.DataSet(); MySqlDataAdapter commands = new MySqlDataAdapter(strSqlcs, connection); commands.Fill(dataSets, "ds"); var dalHelperCustoms = new DALHelperCustom("TBL_ColorBoxList"); var UserlogLists = dalHelperCustom.DataRowToModels(dataSets.Tables[0]); if (UserlogLists != null && UserlogLists.Count != 0) { DbHelperMySQL.NoExecuteReader(strSql, dr => { while (dr.Read()) { foreach (var item in column) { dic.Add(item, dr[item].ToString()); } break; } }); oj.Data = dic; oj.Status = 200; oj.Message = "Barcode已分配"; return oj; } string seletSql = ""; if (Mo != "" && Mo != null) { if (sortid == 1) { seletSql = string.Format("select * from {0}_tbl_colorboxlist where MO='{1}' and (Barcode is NULL or Barcode='') and Binding_Status=0 and ProjectID={2} ORDER BY {3} LIMIT 1 ", dataName, Mo, ProjectID, specifyField); } else { seletSql = string.Format("select * from {0}_tbl_colorboxlist where MO='{1}' and (Barcode is NULL or Barcode='') and Binding_Status=0 and ProjectID={2} ORDER BY {3} desc LIMIT 1 ", dataName, Mo, ProjectID, specifyField); } //seletSql = string.Format("select * from {0}_tbl_colorboxlist where MO='{1}' and (Barcode is NULL or Barcode='') and Binding_Status=0 and ProjectID={2} LIMIT 1", dataName, Mo, ProjectID); } else { if (sortid == 1) { seletSql = string.Format("select * from {0}_tbl_colorboxlist where Barcode is NULL or Barcode = '' and Binding_Status = 0 and ProjectID = {1} ORDER BY {2} LIMIT 1", dataName, ProjectID, specifyField); } else { seletSql = string.Format("select * from {0}_tbl_colorboxlist where Barcode is NULL or Barcode = '' and Binding_Status = 0 and ProjectID = {1} ORDER BY {2} desc LIMIT 1", dataName, ProjectID, specifyField); } //seletSql = string.Format("select * from {0}_tbl_colorboxlist where Barcode is NULL or Barcode='' and Binding_Status=0 and ProjectID={1} LIMIT 1", dataName, ProjectID); } System.Data.DataSet dataSetes = new System.Data.DataSet(); MySqlDataAdapter command1 = new MySqlDataAdapter(seletSql, connection); command1.Fill(dataSetes, "ds"); var UserlogList1 = dalHelperCustom.DataRowToModels(dataSetes.Tables[0]); string strsql = string.Format("select * from {0}_tbl_importinfo LIMIT 1", dataName); System.Data.DataSet dataSetes1 = new System.Data.DataSet(); MySqlDataAdapter command2 = new MySqlDataAdapter(strsql, connection); command2.Fill(dataSetes1, "ds"); List list = new List(); List list1 = new List(); //初始表格所有列 var aa = dataSetes.Tables[0].Columns; //转移到的表格所有列 var bb = dataSetes1.Tables[0].Columns; List bbNames = new List(); //初始表格里的一行数据 var asa = dataSetes.Tables[0].Rows[0].ItemArray; for (int i = 10; i < asa.Length; i++) { list.Add(asa[i].ToString()); } for (int i = 0; i < bb.Count; i++) { bbNames.Add(bb[i].ColumnName); } if (aa.Count > 10) { for (int i = 10; i < aa.Count; i++)//起始表10--结束 { list1.Add(aa[i].ToString()); //aa[i] // DataColumn if (bbNames.Contains(aa[i].ColumnName)) { continue; } else { //我要追加 使用aa[i]列的数据 到bb的末尾 string sql = $"alter table " + dataName + "_tbl_importinfo Add column " + aa[i].ColumnName + " varchar(255) not null default '' comment '可以为空值';"; cmd.CommandText = sql; cmd.ExecuteNonQuery(); } } } //拼接sql语句 string newrows = ""; for (int i = 0; i < list.Count; i++) { string colname = list1[i]; string colval = list[i]; newrows += colname + "='" + colval + "'" + ","; } if (UserlogList1.Count != 0) { string insertsql = string.Format("UPDATE {0}_tbl_colorboxlist SET Barcode = '{1}', Binding_DateTime=now(), Binding_Status=1 WHERE ID = {2} ;", dataName, code, UserlogList1[0].ID); cmd.CommandText = insertsql; if (cmd.ExecuteNonQuery() > 0) { string sety = UserlogList1[0].ColorBox_BarCode; string barcodesql = string.Format("UPDATE {0}_tbl_importinfo SET ColorBox_BarCode= '{1}'," + newrows + " UpdateTime=now(), Mo='{2}' WHERE Barcode = '{3}' ;", dataName, UserlogList1[0].ColorBox_BarCode, UserlogList1[0].Mo, code); cmd.CommandText = barcodesql; if (cmd.ExecuteNonQuery() > 0) { string returnsql = "select * from " + dataName + "_tbl_importinfo where ColorBox_BarCode='" + UserlogList1[0].ColorBox_BarCode + "'"; DbHelperMySQL.NoExecuteReader(returnsql, dr => { while (dr.Read()) { foreach (var item in column) { dic.Add(item, dr[item].ToString()); } break; } }); oj.Data = dic; oj.Message = "成功"; oj.Status = 200; return oj; } } } else { oj.Message = "无彩盒码使用"; oj.Status = 50; return oj; } } else { oj.Message = "未在importinfo找到该BarCode"; oj.Status = 50; return oj; } } } } catch (Exception ex) { oj.Message = "报错信息:" + ex.Message; oj.Status = 50; return oj; } return null; #region //ReturnResult oj = new ReturnResult(); //Dictionary dic = new Dictionary(); ////List dblist = new List() { "uts_bomei", "uts_inhaos", "uts_johao", "uts_zongqing" }; //try //{ // TBL_UTS_Manage_DBList dblist = SqlSugarBase.Db.Queryable().First(x => x.DatabaseName == dbName); // if (dblist == null) // { // oj.Status = 100; // oj.Message = "查询不到合法的表名" + dbName; // return oj; // } // List column = new List();//数据库字段名称 // ///获取数据库字段 // string SQL = $@"SELECT COLUMN_NAME FROM information_schema.COLUMNS // WHERE TABLE_SCHEMA = 'uts_db' AND TABLE_NAME = '{dbName}_tbl_importinfo'; "; // var cul = DbHelperMySqlCustom.NoQuery(SQL).Tables[0]; // for (int I = 0; I < cul.Rows.Count; I++) // { // column.Add(cul.Rows[I][0].ToString().ToUpper()); // } // using (MySqlConnection connection = new MySqlConnection(connectionSrt)) // { // using (MySqlCommand cmd = new MySqlCommand()) // { // connection.Open(); // cmd.Connection = connection; // string dataName = dbName; // string strSql = "select * from " + dataName + "_tbl_importinfo where Barcode='" + code + "'"; // System.Data.DataSet dataSet = new System.Data.DataSet(); // MySqlDataAdapter command = new MySqlDataAdapter(strSql, connection); // command.Fill(dataSet, "ds"); // var dalHelperCustom = new DALHelperCustom("TBL_ColorBoxList"); // var UserlogList = dalHelperCustom.DataRowToModels(dataSet.Tables[0]); // if (UserlogList != null && UserlogList.Count != 0) // { // string strSqlcs = "select * from " + dataName + "_tbl_colorboxlist where Barcode='" + code + "'"; // System.Data.DataSet dataSets = new System.Data.DataSet(); // MySqlDataAdapter commands = new MySqlDataAdapter(strSqlcs, connection); // commands.Fill(dataSets, "ds"); // var dalHelperCustoms = new DALHelperCustom("TBL_ColorBoxList"); // var UserlogLists = dalHelperCustom.DataRowToModels(dataSets.Tables[0]); // if (UserlogLists != null && UserlogLists.Count != 0) // { // DbHelperMySQL.NoExecuteReader(strSql, dr => // { // while (dr.Read()) // { // foreach (var item in column) // { // dic.Add(item, dr[item].ToString()); // } // break; // } // }); // oj.Data = dic; // oj.Status = 200; // oj.Message = "Barcode已分配"; // return oj; // } // string seletSql = ""; // if (Mo != "" && Mo != null) // { // if (sortid == 1) // { // seletSql = string.Format("select * from {0}_tbl_colorboxlist where MO='{1}' and (Barcode is NULL or Barcode='') and Binding_Status=0 and ProjectID={2} ORDER BY {3} LIMIT 1 ", dataName, Mo, ProjectID, specifyField); // } // else // { // seletSql = string.Format("select * from {0}_tbl_colorboxlist where MO='{1}' and (Barcode is NULL or Barcode='') and Binding_Status=0 and ProjectID={2} ORDER BY {3} desc LIMIT 1 ", dataName, Mo, ProjectID, specifyField); // } // //seletSql = string.Format("select * from {0}_tbl_colorboxlist where MO='{1}' and (Barcode is NULL or Barcode='') and Binding_Status=0 and ProjectID={2} LIMIT 1", dataName, Mo, ProjectID); // } // else // { // if (sortid==1) // { // seletSql = string.Format("select * from {0}_tbl_colorboxlist where Barcode is NULL or Barcode = '' and Binding_Status = 0 and ProjectID = {1} ORDER BY {2} LIMIT 1", dataName, ProjectID, specifyField); // } // else // { // seletSql = string.Format("select * from {0}_tbl_colorboxlist where Barcode is NULL or Barcode = '' and Binding_Status = 0 and ProjectID = {1} ORDER BY {2} desc LIMIT 1", dataName, ProjectID, specifyField); // } // //seletSql = string.Format("select * from {0}_tbl_colorboxlist where Barcode is NULL or Barcode='' and Binding_Status=0 and ProjectID={1} LIMIT 1", dataName, ProjectID); // } // System.Data.DataSet dataSetes = new System.Data.DataSet(); // MySqlDataAdapter command1 = new MySqlDataAdapter(seletSql, connection); // command1.Fill(dataSetes, "ds"); // var UserlogList1 = dalHelperCustom.DataRowToModels(dataSetes.Tables[0]); // //bool isok = false; // //var aa = dataSetes.Tables[0].Columns; // //foreach (var item in aa) // //{ // // Console.WriteLine(item.ToString()); // // string e = item.ToString(); // // if (e == "DeviceName" || e == "DevicePSK") // // { // // string sql = $"alter table " + dataName + "_tbl_importinfo Add column " + e + " varchar(255) not null default '' comment '可以为空值';"; // // cmd.CommandText = sql; // // } // //} // if (UserlogList1.Count != 0) // { // string insertsql = string.Format("UPDATE {0}_tbl_colorboxlist SET Barcode = '{1}', Binding_DateTime=now(), Binding_Status=1 WHERE ID = {2} ;", dataName, code, UserlogList1[0].ID); // cmd.CommandText = insertsql; // if (cmd.ExecuteNonQuery() > 0) // { // string sety = UserlogList1[0].ColorBox_BarCode; // string barcodesql = string.Format("UPDATE {0}_tbl_importinfo SET ColorBox_BarCode= '{1}', UpdateTime=now(), Mo='{2}' WHERE Barcode = '{3}' ;", dataName, UserlogList1[0].ColorBox_BarCode, UserlogList1[0].Mo, code); // cmd.CommandText = barcodesql; // if (cmd.ExecuteNonQuery() > 0) // { // string returnsql = "select * from " + dataName + "_tbl_importinfo where ColorBox_BarCode='" + UserlogList1[0].ColorBox_BarCode + "'"; // DbHelperMySQL.NoExecuteReader(returnsql, dr => // { // while (dr.Read()) // { // foreach (var item in column) // { // dic.Add(item, dr[item].ToString()); // } // break; // } // }); // oj.Data = dic; // oj.Message = "成功"; // oj.Status = 200; // return oj; // } // } // } // else // { // oj.Message = "无彩盒码使用"; // oj.Status = 50; // return oj; // } // } // else // { // oj.Message = "未在importinfo找到该BarCode"; // oj.Status = 50; // return oj; // } // } // } //} //catch (Exception ex) //{ // oj.Message = "报错信息:" + ex.Message; // oj.Status = 50; // return oj; //} //return null; #endregion } public static ReturnResult SelectDatSn(string dbname, string Key, int ProjectID) { //List dblist = new List() { "uts_bomei", "uts_inhaos", "uts_johao", "uts_zongqing" };//数据库名称 ReturnResult result = new ReturnResult(); try { //2024/5/11修改,查询数据库表名前缀变成从数据库查询 TBL_UTS_Manage_DBList dblist = SqlSugarBase.Db.Queryable().First(x => x.DatabaseName == dbname); List importInfolist = new List(); //if (dblist == null) //{ // oj.Status = 100; // oj.Message = "查询不到合法的表名" + dbName; // return oj; //} if (dblist == null) { result.Status = 100; result.Message = "查询不到合法的表名" + dbname; return result; } List column = new List();//数据库字段名称 ///获取数据库字段 string SQL = $@"SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'uts_db' AND TABLE_NAME = '{dbname}_tbl_importinfo'; "; var cul = DbHelperMySqlCustom.NoQuery(SQL).Tables[0]; for (int I = 0; I < cul.Rows.Count; I++) { column.Add(cul.Rows[I][0].ToString().ToUpper()); } //查询语句 string sql = $"select * from {dbname}_tbl_importinfo where ProjectID=" + ProjectID + " and (Barcode='" + Key + "' or ColorBox_BarCode='" + Key + "' or OutBoxCode='" + Key + "')"; //foreach (var item in column) //{ // if (item != "IMPORTDATETIME" && item != "UPDATETIME" && item != "PROJECTID" && item != "S1" // && item != "S2" && item != "S3" && item != "S4" && item != "S5" && item != "S6" && item != "S6" // && item != "S7" && item != "S8" && item != "S9" && item != "S10" && item != "S11" && item != "S12" // && item != "RESULT1" && item != "RESULT2" && item != "RESULT3" && item != "RESULT4" && item != "RESULT5" && item != "RESULT6" && item != "RESULT7" && item != "RESULT8" && item != "RESULT9" && item != "RESULT10" && item != "RESULT11" && item != "RESULT12"&& item!= "SHIPPINGDATETIME") // { // sql += item + "='" + Key + "' or "; // } //} //sql = sql.Remove(sql.Length - 3) + ")"; //List> diclist = new List>(); Dictionary dic = new Dictionary(); DbHelperMySQL.NoExecuteReader(sql, dr => { while (dr.Read()) { foreach (var item in column) { dic.Add(item, dr[item].ToString()); } //diclist.Add(dic); break; } }); if (dic.Count != 0) { result.Data = dic; result.Message = "查询成功"; result.Status = 200; } else { result.Status = 404; result.Message = "未找到未找到这条记录"; } } catch (Exception ex) { result.Message = ex.Message; } return result; } public static ReturnResult SelectDatSnValue(string dbname, string Key, string value, int ProjectID) { string sql = ""; //List dblist = new List() { "uts_bomei", "uts_inhaos", "uts_johao", "uts_zongqing" };//数据库名称 ReturnResult result = new ReturnResult(); List importInfolist = new List(); try { TBL_UTS_Manage_DBList dblist = SqlSugarBase.Db.Queryable().First(x => x.DatabaseName == dbname); if (dblist == null) { result.Status = 100; result.Message = "查询不到合法的表名"+dbname; return result; } List column = new List();//数据库字段名称 ///获取数据库字段 string SQL = $@"SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'uts_db' AND TABLE_NAME = '{dbname}_tbl_importinfo'; "; var cul = DbHelperMySqlCustom.NoQuery(SQL).Tables[0]; for (int I = 0; I < cul.Rows.Count; I++) { column.Add(cul.Rows[I][0].ToString().ToUpper()); } //查询语句 if (ProjectID != 0) { sql = $"select * from {dbname}_tbl_importinfo where ProjectID={ProjectID} and {Key} ='{value}'"; } else { sql = $"select * from {dbname}_tbl_importinfo where {Key} ='{value}'"; } List> dicList = new List>(); // 创建一个字典列表来存储多条数据 DbHelperMySQL.NoExecuteReader(sql, dr => { while (dr.Read()) { Dictionary dic = new Dictionary(); // 在循环内部创建一个新的字典来存储每一行的数据 foreach (var item in column) { dic.Add(item, dr[item].ToString()); } dicList.Add(dic); // 将每一行的字典添加到字典列表中 } }); if (dicList.Count != 0) { result.Data = dicList; result.Message = "查询成功"; result.Status = 200; } else { result.Status = 404; result.Message = "未找到未找到这条记录"; } } catch (Exception ex) { result.Message = ex.Message; } return result; } public static ReturnResult SelectDatSnAppoint(string dbname, string Key, string value, int ProjectID) { //List dblist = new List() { "uts_bomei", "uts_inhaos", "uts_johao", "uts_zongqing" };//数据库名称 ReturnResult result = new ReturnResult(); List importInfolist = new List(); try { TBL_UTS_Manage_DBList dblist = SqlSugarBase.Db.Queryable().First(x => x.DatabaseName == dbname); if (dblist == null) { result.Status = 100; result.Message = "查询不到合法的表名"+dbname; return result; } List column = new List();//数据库字段名称 ///获取数据库字段 string SQL = $@"SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'uts_db' AND TABLE_NAME = '{dbname}_tbl_importinfo'; "; var cul = DbHelperMySqlCustom.NoQuery(SQL).Tables[0]; for (int I = 0; I < cul.Rows.Count; I++) { column.Add(cul.Rows[I][0].ToString().ToUpper()); } //查询语句 string sql = $"select * from {dbname}_tbl_importinfo where ProjectID=" + ProjectID + " and " + Key + "=" + "'" + value + "'"; //foreach (var item in column) //{ // if (item != "IMPORTDATETIME" && item != "UPDATETIME" && item != "PROJECTID" && item != "S1" // && item != "S2" && item != "S3" && item != "S4" && item != "S5" && item != "S6" && item != "S6" // && item != "S7" && item != "S8" && item != "S9" && item != "S10" && item != "S11" && item != "S12" // && item != "RESULT1" && item != "RESULT2" && item != "RESULT3" && item != "RESULT4" && item != "RESULT5" && item != "RESULT6" && item != "RESULT7" && item != "RESULT8" && item != "RESULT9" && item != "RESULT10" && item != "RESULT11" && item != "RESULT12"&& item!= "SHIPPINGDATETIME") // { // sql += item + "='" + Key + "' or "; // } //} //sql = sql.Remove(sql.Length - 3) + ")"; //List> diclist = new List>(); Dictionary dic = new Dictionary(); DbHelperMySQL.NoExecuteReader(sql, dr => { while (dr.Read()) { foreach (var item in column) { dic.Add(item, dr[item].ToString()); } //diclist.Add(dic); break; } }); if (dic.Count != 0) { result.Data = dic; result.Message = "查询成功"; result.Status = 200; } else { result.Status = 404; result.Message = "未找到未找到这条记录"; } } catch (Exception ex) { result.Message = ex.Message; } return result; } public static ReturnResult SelectDatSnList(string dbname, string Key) { //List dblist = new List() { "uts_bomei", "uts_inhaos", "uts_johao", "uts_zongqing" };//数据库名称 ReturnResult result = new ReturnResult(); List importInfolist = new List(); try { TBL_UTS_Manage_DBList dblist = SqlSugarBase.Db.Queryable().First(x => x.DatabaseName == dbname); if (dblist==null) { result.Status = 100; result.Message = "查询不到合法的表名"+dbname; return result; } List column = new List();//数据库字段名称 ///获取数据库字段 string SQL = $@"SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'uts_db' AND TABLE_NAME = '{dbname}_tbl_importinfo'; "; var cul = DbHelperMySqlCustom.NoQuery(SQL).Tables[0]; for (int I = 0; I < cul.Rows.Count; I++) { column.Add(cul.Rows[I][0].ToString().ToUpper()); } //查询语句 string sql = $"select * from {dbname}_tbl_importinfo where OutBoxCode='" + Key + "'"; List> diclist = new List>(); DbHelperMySQL.NoExecuteReader(sql, dr => { while (dr.Read()) { Dictionary dic = new Dictionary(); foreach (var item in column) { dic.Add(item, dr[item].ToString()); } diclist.Add(dic); } }); if (diclist.Count != 0) { result.Data = diclist; result.Message = "查询成功"; result.Status = 200; } else { result.Status = 404; result.Message = "未找到未找到这条记录"; } } catch (Exception ex) { result.Message = ex.Message; } return result; } public static ReturnResult UpdateDatSn(string dbname, string key, Dictionary dic, int ProjectID) { string insertsql = ""; ReturnResult result = new ReturnResult(); List column = new List();//数据库字段名称 string sun = ""; if (dic.Keys.Contains("Barcode") && dic.Keys.Contains("ColorBox_BarCode")) { result.Message = "有敏感字段不可修改"; result.Status = 101; return result; } if (key == "Barcode") { if (dic.Keys.Contains("ColorBox_BarCode")) { result.Message = "有敏感字段不可修改"; result.Status = 101; return result; } } if (key == "ColorBox_BarCode") { if (dic.Keys.Contains("Barcode")) { result.Message = "有敏感字段不可修改"; result.Status = 101; return result; } } if (key != "ColorBox_BarCode" && key != "Barcode") { if (dic.Keys.Contains("Barcode") || dic.Keys.Contains("ColorBox_BarCode")) { result.Message = "有敏感字段不可修改"; result.Status = 101; return result; } } foreach (var item in dic.Keys) { if (item == key) { sun = dic[item]; } } if (string.IsNullOrEmpty(sun)) { result.Status = 404; result.Message = "未找到匹配字段"; return result; } //List dblist = new List() { "uts_bomei", "uts_inhaos", "uts_johao", "uts_zongqing" }; try { TBL_UTS_Manage_DBList dblist = SqlSugarBase.Db.Queryable().First(x => x.DatabaseName == dbname); List importInfolist = new List(); if (dblist == null) { result.Status = 100; result.Message = "查询不到合法的表名" + dbname; return result; } ///获取数据库字段 string SQL = $@"SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'uts_db' AND TABLE_NAME = '{dbname}_tbl_importinfo'; "; var cul = DbHelperMySqlCustom.NoQuery(SQL).Tables[0]; for (int I = 0; I < cul.Rows.Count; I++) { column.Add(cul.Rows[I][0].ToString().ToUpper()); } using (MySqlConnection connection = new MySqlConnection(connectionSrt)) { using (MySqlCommand cmd = new MySqlCommand()) { var dalHelperCustom = new DALHelperCustom("TBL_ImportInfo"); connection.Open(); cmd.Connection = connection; System.Data.DataSet dataSet = new System.Data.DataSet(); string seletSql = string.Format("select * from {0}_tbl_importinfo where {1} ='{2}' and ProjectID={3} ", dbname, key, sun, ProjectID); MySqlDataAdapter command1 = new MySqlDataAdapter(seletSql, connection); command1.Fill(dataSet, "ds"); var dalHelperCustom1 = new DALHelperCustom("TBL_ImportInfo"); var UserlogList1 = dalHelperCustom.DataRowToModels(dataSet.Tables[0]); if (UserlogList1.Count >= 2) { //foreach (var item in UserlogList1) //{ // TBL_ImportInfo _ImportInfo = new TBL_ImportInfo(); // _ImportInfo.Barcode = item.Barcode; // _ImportInfo.ImportDateTime = item.ImportDateTime; // _ImportInfo.UpdateTime = item.UpdateTime; // _ImportInfo.ID = item.ID; // _ImportInfo.ProjectID = item.ProjectID; // _ImportInfo.Mars_ColorBox_BarCode = item.Mars_ColorBox_BarCode; // _ImportInfo.Mars_MacCode = item.Mars_MacCode; // _ImportInfo.Mars_UnitWeigth = item.Mars_UnitWeigth; // _ImportInfo.Mars_OutBoxCode = item.Mars_OutBoxCode; // importInfolist.Add(_ImportInfo); //} result.Message = "有重复数据绑定错误"; result.Status = 150; //result.Data = importInfolist; return result; } else if (UserlogList1.Count == 0) { result.Status = 404; result.Message = "未找到对应数据"; return result; } insertsql = String.Format("UPDATE {0}_tbl_importinfo SET ", dbname); foreach (var item in dic.Keys) { insertsql += string.Format(" {0} = '{1}',", item, dic[item]); } //insertsql = insertsql.Remove(insertsql.Length - 1, 1); insertsql += "UpdateTime=now() WHERE " + key + "= '" + sun + "' and ProjectID=" + ProjectID + "; "; cmd.CommandText = insertsql; if (cmd.ExecuteNonQuery() > 0) { Dictionary dicData = new Dictionary(); string seletSq2 = string.Format("select * from {0}_tbl_importinfo where {1} ='{2}' and ProjectID={3} ", dbname, key, sun, ProjectID); DbHelperMySQL.NoExecuteReader(seletSq2, dr => { while (dr.Read()) { foreach (var item in column) { dicData.Add(item, dr[item].ToString()); } } }); result.Message = "成功"; result.Status = 200; result.Data = dicData; return result; } } } } catch (Exception ex) { result.Status = 50; result.Message = ex.Message; } return result; } public static ReturnResult UpdateDatSn2(string dbname, string key, Dictionary dic, int ProjectID) { string insertsql = ""; ReturnResult result = new ReturnResult(); List column = new List();//数据库字段名称 string sun = ""; if (dic.Keys.Contains("Barcode") && dic.Keys.Contains("ColorBox_BarCode")) { result.Data = dic; result.Status = 50; result.Message = "不可修改"; return result; } if (key == "Barcode") { if (dic.Keys.Contains("ColorBox_BarCode")) { result.Data = dic; result.Status = 50; result.Message = "不可修改"; return result; } } if (key == "ColorBox_BarCode") { if (dic.Keys.Contains("Barcode")) { result.Data = dic; result.Status = 50; result.Message = "不可修改"; return result; } } if (key != "ColorBox_BarCode" && key != "Barcode") { if (dic.Keys.Contains("Barcode") || dic.Keys.Contains("ColorBox_BarCode")) { result.Data = dic; result.Status = 50; result.Message = "不可修改"; return result; } } foreach (var item in dic.Keys) { if (item == key) { sun = dic[item]; } } if (string.IsNullOrEmpty(sun)) { result.Data = dic; result.Status = 50; result.Message = "未找到匹配字段"; return result; } //List dblist = new List() { "uts_bomei", "uts_inhaos", "uts_johao", "uts_zongqing" }; //List importInfolist = new List(); //if (!dblist.Contains(dbname)) //{ // result.Data = dic; // result.Status = 50; // result.Message = "查询不到合法的dbname"; // return result; //} try { TBL_UTS_Manage_DBList dblist = SqlSugarBase.Db.Queryable().First(x => x.DatabaseName == dbname); List importInfolist = new List(); if (dblist == null) { result.Status = 100; result.Message = "查询不到合法的表名" + dbname; return result; } ///获取数据库字段 string SQL = $@"SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'uts_db' AND TABLE_NAME = '{dbname}_tbl_importinfo'; "; var cul = DbHelperMySqlCustom.NoQuery(SQL).Tables[0]; for (int I = 0; I < cul.Rows.Count; I++) { column.Add(cul.Rows[I][0].ToString().ToUpper()); } using (MySqlConnection connection = new MySqlConnection(connectionSrt)) { using (MySqlCommand cmd = new MySqlCommand()) { var dalHelperCustom = new DALHelperCustom("TBL_ImportInfo"); connection.Open(); cmd.Connection = connection; System.Data.DataSet dataSet = new System.Data.DataSet(); string seletSql = string.Format("select * from {0}_tbl_importinfo where {1} ='{2}' and ProjectID={3} ", dbname, key, sun, ProjectID); MySqlDataAdapter command1 = new MySqlDataAdapter(seletSql, connection); command1.Fill(dataSet, "ds"); var dalHelperCustom1 = new DALHelperCustom("TBL_ImportInfo"); var UserlogList1 = dalHelperCustom.DataRowToModels(dataSet.Tables[0]); if (UserlogList1.Count >= 2) { result.Data = dic; result.Status = 50; result.Message = "有重复数据绑定错误"; //result.Data = importInfolist; return result; } else if (UserlogList1.Count == 0) { result.Data = dic; result.Status = 50; result.Message = "未找到对应数据"; return result; } insertsql = String.Format("UPDATE {0}_tbl_importinfo SET ", dbname); foreach (var item in dic.Keys) { insertsql += string.Format(" {0} = '{1}',", item, dic[item]); } //insertsql = insertsql.Remove(insertsql.Length - 1, 1); insertsql += "UpdateTime=now() WHERE " + key + "= '" + sun + "' and ProjectID=" + ProjectID + "; "; cmd.CommandText = insertsql; if (cmd.ExecuteNonQuery() > 0) { Dictionary dicData = new Dictionary(); string seletSq2 = string.Format("select * from {0}_tbl_importinfo where {1} ='{2}' and ProjectID={3} ", dbname, key, sun, ProjectID); DbHelperMySQL.NoExecuteReader(seletSq2, dr => { while (dr.Read()) { foreach (var item in column) { dicData.Add(item, dr[item].ToString()); } } }); result.Message = "成功"; result.Status = 200; result.Data = dicData; return result; } } } } catch (Exception ex) { result.Message = ex.Message; } return result; } public static Dictionary InquireField() { string dataName = Users.GerOnUserCustomer().DatabaseName.ToLower(); if (dataName == "dtl" || dataName == "demo") { dataName = "uts_" + dataName; } List result = new List(); Dictionary dic = new Dictionary(); ///获取数据库字段 //string SQL = $@"SELECT COLUMN_NAME FROM information_schema.COLUMNS // WHERE TABLE_SCHEMA = 'uts_db' AND TABLE_NAME = 'uts_zongqing_tbl_importinfo'; "; string SQL = $"show full columns from {dataName}_tbl_importinfo;"; var cul = DbHelperMySqlCustom.NoQuery(SQL).Tables[0]; for (int I = 0; I < cul.Rows.Count; I++) { //result.Add(cul.Rows[I][0].ToString().ToUpper()); dic.Add(cul.Rows[I][0].ToString().ToUpper(), cul.Rows[I][8].ToString().ToUpper()); } return dic; } public static Dictionary colorboxlistField() { string dataName = Users.GerOnUserCustomer().DatabaseName.ToLower(); if (dataName == "dtl" || dataName == "demo") { dataName = "uts_" + dataName; } List result = new List(); Dictionary dic = new Dictionary(); ///获取数据库字段 //string SQL = $@"SELECT COLUMN_NAME FROM information_schema.COLUMNS // WHERE TABLE_SCHEMA = 'uts_db' AND TABLE_NAME = 'uts_zongqing_tbl_importinfo'; "; string SQL = $"show full columns from {dataName}_tbl_colorboxlist;"; var cul = DbHelperMySqlCustom.NoQuery(SQL).Tables[0]; for (int I = 0; I < cul.Rows.Count; I++) { //result.Add(cul.Rows[I][0].ToString().ToUpper()); dic.Add(cul.Rows[I][0].ToString().ToUpper(), cul.Rows[I][8].ToString().ToUpper()); } return dic; } public static ReturnResult insertField(string Field, string remark) { string dataName = Users.GerOnUserCustomer().DatabaseName.ToLower(); List dblist = new List() { "uts_bomei", "uts_inhaos", "uts_johao", "uts_zongqing","uts_dtl" };//数据库名称 ReturnResult result = new ReturnResult(); List importInfolist = new List(); string sql = ""; try { List column = new List();//数据库字段名称 ///获取数据库字段 using (MySqlConnection connection = new MySqlConnection(connectionSrt)) { using (MySqlCommand cmd = new MySqlCommand()) { connection.Open(); cmd.Connection = connection; //查询语句 foreach (var item in dblist) { if (item.Contains(dataName)) { sql += $"alter table {item}_tbl_importinfo Add column {Field} varchar(255) not null default '' comment '{remark}';"; } } cmd.CommandText = sql; if (cmd.ExecuteNonQuery() > 0) { result.Status = 200; result.Message = "成功"; } result.Status = 200; result.Message = "成功"; } } } catch (Exception ex) { result.Status = 50; result.Message = ex.Message; } return result; } public static ReturnResult colorboxlistField(string Field, string remark) { string dataName = Users.GerOnUserCustomer().DatabaseName.ToLower(); List dblist = new List() { "uts_bomei", "uts_inhaos", "uts_johao", "uts_zongqing", "uts_dtl" };//数据库名称 ReturnResult result = new ReturnResult(); List importInfolist = new List(); string sql = ""; try { List column = new List();//数据库字段名称 ///获取数据库字段 using (MySqlConnection connection = new MySqlConnection(connectionSrt)) { using (MySqlCommand cmd = new MySqlCommand()) { connection.Open(); cmd.Connection = connection; //查询语句 foreach (var item in dblist) { if (item.Contains(dataName)) { sql += $"alter table {item}_tbl_colorboxlist Add column {Field} varchar(255) not null default '' comment '{remark}';"; } } cmd.CommandText = sql; cmd.ExecuteNonQuery(); result.Status = 200; result.Message = "成功"; } } } catch (Exception ex) { result.Status = 50; result.Message = ex.Message; } return result; } public static void CreateData() { string SqlData = ""; try { //获取所有厂家 var list = new List(); using (var db = new Uts_ManageEntities()) { //取所有 list = db.TBL_UTS_Manage_Company.ToList(); } List column = new List();//数据库表名称 string sql = "select table_name from information_schema.tables where table_schema = 'uts_db';"; var cul = DbHelperMySqlCustom.NoQuery(sql).Tables[0]; using (MySqlConnection connection = new MySqlConnection(connectionSrt)) { using (MySqlCommand cmd = new MySqlCommand()) { connection.Open(); cmd.Connection = connection; for (int I = 0; I < cul.Rows.Count; I++) { column.Add(cul.Rows[I][0].ToString().ToUpper()); } foreach (var item in list) { var sety = "uts_" + item.CustomerName + "_tbl_importinfo"; sety = sety.ToUpper(); if (!column.Contains(sety)) { SqlData = $"CREATE TABLE IF NOT EXISTS `uts_{item.CustomerName}_tbl_importinfo`(`ID` INT UNSIGNED AUTO_INCREMENT COMMENT '编号', `ProjectID` INT NOT NULL COMMENT '项目唯一标识', `Barcode` VARCHAR(40) COMMENT '产品序号唯一标识', `ImportDateTime` datetime NOT NULL COMMENT '录入时间', `UpdateTime` datetime NOT NULL COMMENT '更新时间', PRIMARY KEY( `ID` ))ENGINE = InnoDB DEFAULT CHARSET = utf8; "; } } if (!string.IsNullOrEmpty(SqlData)) { cmd.CommandText = SqlData; cmd.ExecuteNonQuery(); } } } } catch (Exception ex) { throw new Exception(ex.Message); } } public static string ProjectData(int userid, int dbid) { string sirlit = string.Empty; using (MySqlConnection connection = new MySqlConnection(connectionString)) { using (MySqlCommand cmd = new MySqlCommand()) { connection.Open(); cmd.Connection = connection; var strsql = $"select * from TBL_UTS_Manage_UserAuth_Operation where UserID={userid} and DatabaseID={dbid} "; System.Data.DataSet dataSet = new System.Data.DataSet(); MySqlDataAdapter command = new MySqlDataAdapter(strsql, connection); command.Fill(dataSet, "ds"); for (int i = 0; i < dataSet.Tables.Count; i++) { if (dataSet.Tables[i].Rows.Count > 0) { for (int row = 0; row < dataSet.Tables[i].Rows.Count; row++) { for (int j = 0; j < dataSet.Tables[i].Columns.Count; j++) { if (dataSet.Tables[i].Columns[j].ToString() == "ReadProject") { if (dataSet.Tables[i].Rows[row][j] != null && dataSet.Tables[i].Rows[row][j].ToString() != "") { sirlit = dataSet.Tables[i].Rows[row][j].ToString(); } } } } } } } } return sirlit; } public static ReturnResultsOutBox SqlUnbindOutboxAndColorbox(string OutBoxCode, string ColorBoxCodeList, string dbName, int ProjectID) { ReturnResultsOutBox oj = new ReturnResultsOutBox(); string[] seps = { "|" }; string[] colorCodeList = { }; if (!String.IsNullOrWhiteSpace(ColorBoxCodeList)) colorCodeList = ColorBoxCodeList.Trim().Split(seps, StringSplitOptions.RemoveEmptyEntries); //List dblist = new List() { "uts_bomei", "uts_inhaos", "uts_johao", "uts_zongqing" }; try { TBL_UTS_Manage_DBList dblist = SqlSugarBase.Db.Queryable().First(x => x.DatabaseName == dbName); if (dblist == null) { // return values //oj.ColorBoxList = colorCodeList.ToList(); oj.CorBarPairList = new List(); oj.ProjectID = 0; oj.OutBoxCode = OutBoxCode; oj.ShippingCode = ""; oj.Message = "查询不到合法的表名"+dbName; oj.Status = 100; return oj; } using (MySqlConnection connection = new MySqlConnection(connectionSrt)) { using (MySqlCommand cmd = new MySqlCommand()) { connection.Open(); cmd.Connection = connection; string dataName = dbName; //先确定有这样的外箱码纪录,并顺便取到这样纪录的信息 List tmpListKey = new List();//站控表的主键ID List tmpListColorCode = new List(); List tmpListProductBarCode = new List(); List tmpColorBarList = new List(); Dictionary tmpDicBar2Color = new Dictionary(); string strSql = "select * from " + dataName + "_tbl_importinfo where OutBoxCode = '" + OutBoxCode + "' and ProjectID=" + ProjectID + ""; System.Data.DataSet dataSet = new System.Data.DataSet(); MySqlDataAdapter command = new MySqlDataAdapter(strSql, connection); command.Fill(dataSet, "ds"); // 没有这样的外箱,所以不用解绑。 if (dataSet.Tables.Count <= 0 || dataSet.Tables[0].Rows.Count <= 0) { // return values //oj.BarcodeList = new List(); //oj.ColorBoxList = new List(); oj.CorBarPairList = new List(); oj.ProjectID = 0; oj.OutBoxCode = OutBoxCode; oj.ShippingCode = ""; oj.Message = "没有指定的外箱"; oj.Status = 100; return oj; } string shippingcode = ""; int tmpProjectID = 0; // 有外箱,取到外箱包含的彩箱,产品条码信息 foreach (DataRow dr in dataSet.Tables[0].Rows) { int tmpKey = dr[0].ToInt(); string tmpColor = dr["ColorBox_BarCode"].ToString(); string tmpBar = dr["Barcode"].ToString(); if (dr["ShippingCode"] != DBNull.Value && dr["ShippingCode"] != null) { shippingcode = dr["ShippingCode"].ToString(); } if (dr["ProjectID"] != DBNull.Value && dr["ProjectID"] != null) { bool beConverSucc = int.TryParse(dr["ProjectID"].ToString(), out tmpProjectID); if (!beConverSucc) tmpProjectID = 0; } /*if (!String.IsNullOrWhiteSpace( shippingcode )) { oj.CorBarPairList = new List(); oj.ProjectID = tmpProjectID; oj.OutBoxCode = OutBoxCode; oj.ShippingCode = shippingcode; oj.Message = "指定的外箱已经出货"; oj.Status = 100; return oj; }*/ tmpListKey.Add(dr[0].ToInt()); tmpListColorCode.Add(tmpColor); tmpListProductBarCode.Add(tmpBar); ColorBarPair tmpPair = new ColorBarPair(); tmpPair.ColorBox = tmpColor; tmpPair.BarCode = tmpBar; tmpColorBarList.Add(tmpPair); tmpDicBar2Color[tmpBar] = tmpColor; } // 看用户输入是否有彩箱码 if (colorCodeList.Length > 0) // 部分解绑 (有外箱码,有彩盒码列表) { //0. 验证用户输入彩箱码列表是否正确。 bool beAllOK = true; for (int i = 0; i < colorCodeList.Length; i++) { if (!tmpListColorCode.Contains(colorCodeList[i])) { beAllOK = false; break; } } if (!beAllOK) { // return values //oj.BarcodeList = new List(); //oj.ColorBoxList = new List(); oj.CorBarPairList = new List(); oj.ProjectID = tmpProjectID; oj.OutBoxCode = OutBoxCode; oj.ShippingCode = shippingcode; oj.Message = "输入的彩箱码并没有全部绑定在指定外箱码上"; oj.Status = 100; return oj; } // 1. 验证通过,部分解绑 string actionSql = "UPDATE " + dataName + "_tbl_importinfo SET OutBoxCode = '', UpdateTime=now() "; actionSql += "WHERE ProjectID=" + ProjectID + " "; actionSql += " AND ColorBox_BarCode in ("; foreach (var cod in colorCodeList) { actionSql += ("'" + cod + "',"); } actionSql = actionSql.Substring(0, actionSql.Length - 1); actionSql += ")"; cmd.CommandText = actionSql; if (cmd.ExecuteNonQuery() > 0) { // return values //oj.BarcodeList = tmpListProductBarCode.Where(a => colorCodeList.Contains(tmpDicBar2Color[a])).ToList(); //oj.ColorBoxList = colorCodeList.ToList(); oj.CorBarPairList = tmpColorBarList.Where(a => colorCodeList.Contains(a.ColorBox)).ToList(); oj.ProjectID = tmpProjectID; oj.OutBoxCode = OutBoxCode; oj.ShippingCode = shippingcode; oj.Message = "完成指定彩箱和外箱的解绑"; oj.Status = 200; return oj; } } else // 全部解绑 (用户输入外箱码,不输入彩盒码) { //全部解绑 string actionSql = "UPDATE " + dataName + "_tbl_importinfo SET OutBoxCode = '', UpdateTime=now() "; actionSql += "WHERE ProjectID=" + ProjectID + " "; actionSql += " AND ID in ("; foreach (var p in tmpListKey) { actionSql += (p + ","); } actionSql = actionSql.Substring(0, actionSql.Length - 1); actionSql += ")"; cmd.CommandText = actionSql; if (cmd.ExecuteNonQuery() > 0) { // return values //oj.BarcodeList = tmpListProductBarCode; //oj.ColorBoxList = tmpListColorCode; oj.CorBarPairList = tmpColorBarList; oj.ProjectID = tmpProjectID; oj.OutBoxCode = OutBoxCode; oj.ShippingCode = shippingcode; oj.Message = "完成全部解绑"; oj.Status = 200; return oj; } } } } } catch (Exception ex) { // return values //oj.BarcodeList = new List(); //oj.ColorBoxList = new List(); oj.CorBarPairList = new List(); oj.ProjectID = 0; oj.OutBoxCode = OutBoxCode; oj.ShippingCode = ""; oj.Message = "解绑过程异常:" + ex.ToString(); oj.Status = 50; return oj; } return null; } } }