using Global; using njc = Newtonsoft.Json.JsonConvert; using System; using System.Collections.Generic; using System.Data; //using wfmt = System.Windows.Forms.MessageBox; using System.IO; using System.Text; using static DtWebApiDT.DataAccess; //using static SqlManage.ExecSql; using Newtonsoft.Json; /// /// /// namespace DTTest { /// /// 对于数据库的操作 /// public partial class SqlOperation { /// /// 项目的操作 /// public class SqlProject { /// /// 查看所有项目 /// /// public static DataTable SelectProjectAll() { string sql = $"SELECT [CurrentProject],[ProjectName],[OperationTime],[ProjectCode] FROM [ProjectList]" + $" ORDER BY [OperationTime] DESC"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); return ds.Tables[0]; } public static DataTable SelectProjectAll(List projectList) { var projectListStr = ConvertToStr(projectList); string sql = $"SELECT [CurrentProject],[ProjectName],[OperationTime],[ProjectCode] FROM [ProjectList]" + $" WHERE [ProjectCode] IN ({projectListStr})" + $" ORDER BY [OperationTime] DESC"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); return ds.Tables[0]; } public static string ConvertToStr(List craftCodeList) { var craftCodeListTemp = new List(); foreach (string craftCode in craftCodeList) { craftCodeListTemp.Add("'" + craftCode + "'"); } return string.Join(",", craftCodeListTemp.ToArray()); } /// /// 添加项目 /// /// /// public static DataTable AddProject(string projectName) { //1.[ProjectList]增加一条记录 string getdate = " '" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "' "; string sql = @" DECLARE @ProjectName NVARCHAR(50) = '" + projectName + "'" + @" DECLARE @AddProjectCode NVARCHAR(50) = '" + OutGUID.Get_CS_GUID() + "'" + @" INSERT INTO [ProjectList]([ProjectName],[OperationTime],[ProjectCode]) VALUES(@ProjectName,"+getdate+",@AddProjectCode)" + @" UPDATE [ProjectList] SET [CurrentProject] = 'False'" + @" UPDATE [ProjectList] SET [CurrentProject] = 'True' WHERE [ProjectCode] = @AddProjectCode"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); return SelectProjectAll(); } /// /// 查看项目是存在 /// /// /// public static int SelectProjectExist(string projectName) { string sql = @" DECLARE @ProjectName NVARCHAR(50) = '" + projectName + "'" + @" SELECT COUNT(1) FROM [ProjectList] WHERE [ProjectName] = @ProjectName"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); return int.Parse((ds.Tables[0]).Rows[0][0].ToString()); } /// /// 修改成当前项目 /// /// public static DataTable SetCurrProject(string projectCode) { string sql = @" DECLARE @ProjectCode NVARCHAR(50) = '" + projectCode + "'" + @" UPDATE [ProjectList] SET [CurrentProject] = 'False'" + @" UPDATE [ProjectList] SET [CurrentProject] = 'True' WHERE [ProjectCode] = @ProjectCode"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); return SelectProjectAll(); } /// /// 修改选中的项目信息 /// /// /// /// public static void Update_ProjectName(string projectCode, string projectName) { string sql = @" DECLARE @ProjectCode NVARCHAR(50) = '" + projectCode + "'" + @" DECLARE @ProjectName NVARCHAR(50) = '" + projectName + "'" + @" UPDATE [ProjectList] SET [ProjectName] = @ProjectName WHERE [ProjectCode] = @ProjectCode"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); } public static void UpdateProjectParamConfig(string projectCode, string paramConfig) { string sql = @" DECLARE @ProjectCode NVARCHAR(50) = '" + projectCode + "'" + @" DECLARE @ParamConfig NVARCHAR(MAX) = '" + paramConfig + "'" + @" UPDATE [ProjectList] SET [ParamConfig] = @ParamConfig WHERE [ProjectCode] = @ProjectCode"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); } /// /// 查看当前项目的参数配置 /// 2021.2.24,改 /// /// /// public static void Refresh_Project_Para(string projectCode) { ExecuteDataset( $" SELECT TOP 1" + $" [ProjectCode]" + $" ,[ProjectName]" + $" ,ISNULL([ParamConfig],'-1') AS [ParamConfig]" + $" FROM [ProjectList] WHERE [ProjectCode] = '{projectCode}'" , PP.ConnectionStr, out DataSet ds_Project, out string errMsg_Project); var dt_Project = ds_Project.Tables[0]; if (dt_Project.Rows.Count < 1) UpdateProjectName("-1", "空项目"); else UpdateProjectName(projectCode, dt_Project.Rows[0]["ProjectName"]); try { var pcpStr = dt_Project.Rows[0]["ParamConfig"].ToString(); PP.PCP = njc.DeserializeObject(pcpStr); } catch (Exception err) { LogNet.LogisTrac.WriteLog(typeof(SqlOperation), err); var paramConfig = njc.SerializeObject(new PCP_Json()); UpdateProjectParamConfig(projectCode, paramConfig); Refresh_Project_Para(projectCode); } } /// /// 2021.11.23.LLX /// /// public static void Update_ProjectLogicalBlockData(string logicalBlockData) { string sql = $" UPDATE [ProjectList] SET [LogicalBlockData] = '{logicalBlockData}' WHERE [ProjectCode] = '{PP.ProjectCode}'"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); } /// /// 2021.11.23.LLX /// public static string Select_ProjectLogicalBlockData() { string sql = $" SELECT [LogicalBlockData] FROM [ProjectList] WHERE [ProjectCode] = '{PP.ProjectCode}'"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); return ds.Tables[0].Rows[0][0].ToString(); } } } }