using Global; using ModelBasic; using System; using System.Collections.Generic; using System.Data; using static DtWebApiDT.DataAccess; //using static SqlManage.ExecSql; /// /// /// namespace DTTest { /// /// 对于数据库的操作 /// public partial class SqlOperation { /// /// 工艺的操作 /// public class SqlCraft { /// /// 查询工艺树 /// /// public static DataTable SelectCraftTree(string PP_ProjectCode) { string sql = @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + @" SELECT [CraftCode],[CraftTypeCode],[Varieties],[CraftName],[CraftDeviceTypeCode],[SequenceNo],[ModelCode],ISNULL([Reverse],-1) AS [Reverse] ,[ID],[IsAutoInsert],[ProjectCode],[OperationTime],[StartTime],[KeepTime],[CraftPlayData_Joint],[CraftPlayData_Raw],[Rate],[Explain],[CurrPlay],[ScriptText],[ExistScript],[GanttParent] FROM [OperationTree]" + @" WHERE [ProjectCode] = @ProjectCode" + @" ORDER BY [CraftTypeCode],[SequenceNo]"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); return ds.Tables[0]; } /// /// 工艺查询对应 工序 /// /// /// public static DataTable Select_CraftProcess(string craftCode,string PP_ProjectCode) { string sql = @" DECLARE @CraftCode NVARCHAR(50) = '" + craftCode + "'" + @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + @" SELECT B.[ProcessCode] ,B.[SequenceNo] ,B.[ProcessName] ,B.[UseTime] ,ISNULL(B.[X],0) AS 'X' ,ISNULL(B.[Y],0) AS 'Y' ,ISNULL(B.[Z],0) AS 'Z' ,ISNULL(B.[RX],0) AS 'RX' , ISNULL(B.[RY],0) AS 'RY' ,ISNULL(B.[RZ],0) AS 'RZ' ,ISNULL(B.[X_Base],0) AS 'X_Base' ,ISNULL(B.[Y_Base],0) AS 'Y_Base' ,ISNULL(B.[Z_Base],0) AS 'Z_Base' ,ISNULL(B.[RX_Base],0) AS 'RX_Base' ,ISNULL(B.[RY_Base],0) AS 'RY_Base' ,ISNULL(B.[RZ_Base],0) AS 'RZ_Base' ,ISNULL(B.[X_Tool],0) AS 'X_Tool' ,ISNULL(B.[Y_Tool],0) AS 'Y_Tool' ,ISNULL(B.[Z_Tool],0) AS 'Z_Tool' ,ISNULL(B.[RX_Tool],0) AS 'RX_Tool' ,ISNULL(B.[RY_Tool],0) AS 'RY_Tool' ,ISNULL(B.[RZ_Tool],0) AS 'RZ_Tool' ,ISNULL(B.[QX],0) AS 'QX' ,ISNULL(B.[QY],0) AS 'QY' ,ISNULL(B.[QZ],0) AS 'QZ' ,ISNULL(B.[QW],0) AS 'QW' ,ISNULL(B.[QX_Base],0) AS 'QX_Base' ,ISNULL(B.[QY_Base],0) AS 'QY_Base' ,ISNULL(B.[QZ_Base],0) AS 'QZ_Base' ,ISNULL(B.[QW_Base],0) AS 'QW_Base' ,ISNULL(B.[QX_Tool],0) AS 'QX_Tool' ,ISNULL(B.[QY_Tool],0) AS 'QY_Tool' ,ISNULL(B.[QZ_Tool],0) AS 'QZ_Tool' ,ISNULL(B.[QW_Tool],0) AS 'QW_Tool' ,ISNULL(B.[CurrJoint],'[0,0,0,0,0,0]') AS 'CurrJoint' ,ISNULL(B.[MoveType],'MoveL') AS 'MoveType' ,ISNULL(B.[J1],0) AS 'J1' ,ISNULL(B.[J2],0) AS 'J2' ,ISNULL(B.[J3],0) AS 'J3' ,ISNULL(B.[J4],0) AS 'J4' ,ISNULL(B.[J5],0) AS 'J5' ,ISNULL(B.[J6],0) AS 'J6' ,A.[ModelCode] ,ISNULL(A.[Reverse],0) AS 'Reverse'" + @" FROM [OperationTree] A LEFT JOIN [ModelProcess] B ON A.[ProjectCode] = B.[ProjectCode] AND A.[CraftCode] = B.[CraftCode]" + @" WHERE A.[ProjectCode] = @ProjectCode AND A.[CraftCode] = @CraftCode" + @" ORDER BY B.[SequenceNo]"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); return ds.Tables[0]; } /// /// 添加非仿真工艺 /// /// /// /// public static void AddCraft_UnSim(string craftTypeCode, string craftName,int craftDeviceTypeCode, int keepTime,string PP_ProjectCode) { string sql = @" DECLARE @CraftTypeCode NVARCHAR(50) = '" + craftTypeCode + "'" + @" DECLARE @CraftName NVARCHAR(500) = '" + craftName + "'" + @" DECLARE @CraftDeviceTypeCode INT = " + craftDeviceTypeCode + "" + @" DECLARE @KeepTime INT = " + keepTime + "" + @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + @" DECLARE @AddCraftCode NVARCHAR(50) = '" + OutGUID.Get_CS_GUID() + "'" + @" INSERT INTO [OperationTree]([CraftCode],[CraftTypeCode],[Varieties],[CraftName],[ProjectCode],[KeepTime],[ModelCode],[CraftDeviceTypeCode],[Reverse],[ScriptText],[ExistScript]) " + @" VALUES(@AddCraftCode,@CraftGroupCode,@Varieties,@CraftName,@ProjectCode,@KeepTime,@ModelCode,@CraftDeviceTypeCode,-1,'','False')"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); } /// /// 添加工艺 /// 2021.5.20 /// 修改了参数 /// /// /// /// /// public static void AddCraft(string craftGroupCode, string craftName, int craftDeviceTypeCode, string modelCode, string PP_ProjectCode) { string sql = @" DECLARE @CraftGroupCode NVARCHAR(50) = '" + craftGroupCode + "'" + @" DECLARE @Varieties NVARCHAR(50) = '" + Type_OperationTree.Craft + "'" + @" DECLARE @CraftName NVARCHAR(500) = '" + craftName + "'" + @" DECLARE @CraftDeviceTypeCode INT = " + craftDeviceTypeCode + "" + @" DECLARE @ModelCode NVARCHAR(50) = '" + modelCode + "'" + @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + @" DECLARE @X0 REAL = " + 0 + "" + @" DECLARE @Y0 REAL = " + 0 + "" + @" DECLARE @Z0 REAL = " + 0 + "" + @" DECLARE @RX0 REAL = " + 0 + "" + @" DECLARE @RY0 REAL = " + 0 + "" + @" DECLARE @RZ0 REAL = " + 0 + "" + @" DECLARE @AddCraftCode NVARCHAR(50) = '" + OutGUID.Get_CS_GUID() + "'" + @" DECLARE @AddProcessCode NVARCHAR(50) = '" + OutGUID.Get_CS_GUID() + "'" + @" INSERT INTO [OperationTree]([CraftCode],[CraftTypeCode],[Varieties],[CraftName],[ProjectCode],[KeepTime],[ModelCode],[CraftDeviceTypeCode],[Reverse],[ScriptText],[ExistScript]) " + @" VALUES(@AddCraftCode,@CraftGroupCode,@Varieties,@CraftName,@ProjectCode,0,@ModelCode,@CraftDeviceTypeCode,-1,'','False')" + @" INSERT INTO [ModelProcess]([ProcessCode],[CraftCode],[SequenceNo],[ProcessName],[UseTime],[ProjectCode],[X],[Y],[Z],[RX],[RY],[RZ])" + @" VALUES(@AddProcessCode,@AddCraftCode,1,'via_0',0,@ProjectCode,@X0,@Y0,@Z0,@RX0,@RY0,@RZ0)"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); } /// /// 添加工艺 /// 模型显示隐藏、模型自转 /// 2020.12.30 /// /// /// /// /// public static void AddCraft_ModelVisibleOrRotation(string craftGroupCode, string craftName, int craftDeviceTypeCode, string modelCode,string visibleOrRotation,string PP_ProjectCode) { string sql = @" DECLARE @CraftGroupCode NVARCHAR(50) = '" + craftGroupCode + "'" + @" DECLARE @CraftName NVARCHAR(500) = '" + craftName + "'" + @" DECLARE @CraftDeviceTypeCode INT = " + craftDeviceTypeCode + "" + @" DECLARE @ModelCode NVARCHAR(50) = '" + modelCode + "'" + @" DECLARE @VisibleOrRotation NVARCHAR(50) = '" + visibleOrRotation + "'" + @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + @" DECLARE @AddCraftCode NVARCHAR(50) = '" + OutGUID.Get_CS_GUID() + "'" + @" INSERT INTO [OperationTree]([CraftCode],[CraftTypeCode],[Varieties],[CraftName],[ProjectCode],[KeepTime],[ModelCode],[CraftDeviceTypeCode],[CraftPlayData_Raw],[Reverse],[ScriptText],[ExistScript])" + @" VALUES(@AddCraftCode,@CraftGroupCode,'Craft',@CraftName,@ProjectCode,250,@ModelCode,@CraftDeviceTypeCode,@VisibleOrRotation,-1,'','False')"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); } public static void AddCraft_Device(bool isAutoInsert,string craftGroupCode, string addCraftCode, string craftName, int craftDeviceTypeCode, string modelCode, string craftPlayData_Raw,int keepTime, string PP_ProjectCode) { string sql = @" DECLARE @IsAutoInsert BIT = '" + isAutoInsert.ToString() + "'" + @" DECLARE @CraftGroupCode NVARCHAR(50) = '" + craftGroupCode + "'" + @" DECLARE @CraftName NVARCHAR(500) = '" + craftName + "'" + @" DECLARE @CraftDeviceTypeCode INT = " + craftDeviceTypeCode + "" + @" DECLARE @ModelCode NVARCHAR(50) = '" + modelCode + "'" + @" DECLARE @CraftPlayData_Raw NVARCHAR(MAX) = '" + craftPlayData_Raw + "'" + @" DECLARE @KeepTime INT = " + keepTime + "" + @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + @" DECLARE @AddCraftCode NVARCHAR(50) = '" + addCraftCode + "'" + @" INSERT INTO [OperationTree]([IsAutoInsert],[CraftCode],[CraftTypeCode],[Varieties],[CraftName],[ProjectCode],[KeepTime],[ModelCode],[CraftDeviceTypeCode],[CraftPlayData_Raw],[Reverse],[ScriptText],[ExistScript])" + @" VALUES(@IsAutoInsert,@AddCraftCode,@CraftGroupCode,'Craft',@CraftName,@ProjectCode,@KeepTime,@ModelCode,@CraftDeviceTypeCode,@CraftPlayData_Raw,-1,'','False')"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); } public static void DeleteAutoCraft_Device(bool isAutoInsert, int craftDeviceTypeCode, string PP_ProjectCode) { string sql = @" DECLARE @IsAutoInsert BIT = '" + isAutoInsert.ToString() + "'" + @" DECLARE @CraftDeviceTypeCode INT = " + craftDeviceTypeCode + "" + @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + @" DELETE [OperationTree] WHERE [IsAutoInsert] = @IsAutoInsert AND [CraftDeviceTypeCode] = @CraftDeviceTypeCode AND [ProjectCode] = @ProjectCode"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); } /// /// 删除工艺 /// /// public static void DeleteCraft(string craftCode,string PP_ProjectCode) { //00.删除工序对应的标签。 var sql_SelectProcess = $" SELECT [ProcessCode],[CraftCode],[SequenceNo],[ProcessName],[ProjectCode] FROM [ModelProcess]" + $" WHERE [ProjectCode] = '{PP_ProjectCode}' AND [CraftCode] = '{craftCode}'"; ExecuteDataset(sql_SelectProcess, PP.ConnectionStr, out DataSet ds_SelectProcess, out string errorMessage_SelectProcess); var dt_SelectProcess = ds_SelectProcess.Tables[0]; for (int i = 0; i < dt_SelectProcess.Rows.Count; i++) { var ProcessCode = dt_SelectProcess.Rows[i]["ProcessCode"].ToString(); var sql_Delete_ProcesslLabelList = $" DELETE [ProcesslLabelList]" + $" WHERE [ProjectCode] = '{PP_ProjectCode}' AND [ProcessCode] = '{ProcessCode}'"; ExecuteNonQuery(sql_Delete_ProcesslLabelList, PP.ConnectionStr, out string errorMessage_Delete_ProcesslLabelList); } //1.删除工艺(树) //2.删除工艺对应工序 string sql = @" DECLARE @CraftCode NVARCHAR(50) = '" + craftCode + "'" + @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + @" DELETE FROM [OperationTree] WHERE [ProjectCode] = @ProjectCode AND [CraftCode] = @CraftCode" + @" DELETE FROM [ModelProcess] WHERE [ProjectCode] = @ProjectCode AND [CraftCode] = @CraftCode"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); } /// /// 克隆工艺 /// 2021.10.25.2106.LLX /// /// public static void CloneCraft(string craftCode_Raw, string craftName_Clone, string PP_ProjectCode) { //1.查询出工艺的内容 var sql_SelectCraft = $" SELECT TOP 1" + $" [CraftCode],[CraftTypeCode],[Varieties],[CraftName],[CraftDeviceTypeCode],[ProjectCode]" + $" ,ISNULL([SequenceNo],0) AS [SequenceNo],ISNULL([StartTime],0) AS [StartTime],ISNULL([KeepTime],0) AS [KeepTime]" + $" ,[ModelCode]" + $" ,[CraftPlayData],[CraftPlayData_Joint],[CraftPlayData_Raw],ISNULL([Rate],0) AS [Rate],[Explain]" + $" ,ISNULL([Reverse],1) AS [Reverse],[CurrPlay],[ScriptText],[ExistScript]" + $" FROM [OperationTree]" + $" WHERE [ProjectCode] = '{PP_ProjectCode}' AND [CraftCode] = '{craftCode_Raw}'"; ExecuteDataset(sql_SelectCraft, PP.ConnectionStr, out DataSet ds_SelectCraft, out string errorMessage_SelectCraft); var dt_SelectCraft = ds_SelectCraft.Tables[0]; var dt_SelectCraft_Count = dt_SelectCraft.Rows.Count; var AddCraftCode = OutGUID.Get_CS_GUID(); if (dt_SelectCraft_Count > 0) { int i = 0; //[CraftCode],[CraftTypeCode],[Varieties],[CraftName],[CraftDeviceTypeCode],[ProjectCode],[SequenceNo],[StartTime],[KeepTime],[ModelCode],[CraftPlayData],[CraftPlayData_Joint],[CraftPlayData_Raw],[Rate],[Explain],[Reverse],[CurrPlay],[ScriptText],[ExistScript] //var CraftCode = dt_SelectCraft.Rows[i]["CraftCode"].ToString(); var CraftTypeCode = dt_SelectCraft.Rows[i]["CraftTypeCode"].ToString(); var Varieties = dt_SelectCraft.Rows[i]["Varieties"].ToString(); //var CraftName = dt_SelectCraft.Rows[i]["CraftName"].ToString(); var CraftDeviceTypeCode = dt_SelectCraft.Rows[i]["CraftDeviceTypeCode"].ToString(); //var ProjectCode = dt_SelectCraft.Rows[i]["ProjectCode"].ToString(); var SequenceNo = dt_SelectCraft.Rows[i]["SequenceNo"].ToString(); var StartTime = dt_SelectCraft.Rows[i]["StartTime"].ToString(); var KeepTime = dt_SelectCraft.Rows[i]["KeepTime"].ToString(); var ModelCode = dt_SelectCraft.Rows[i]["ModelCode"].ToString(); var CraftPlayData = dt_SelectCraft.Rows[i]["CraftPlayData"].ToString(); var CraftPlayData_Joint = dt_SelectCraft.Rows[i]["CraftPlayData_Joint"].ToString(); var CraftPlayData_Raw = dt_SelectCraft.Rows[i]["CraftPlayData_Raw"].ToString(); var Rate = dt_SelectCraft.Rows[i]["Rate"].ToString(); var Explain = dt_SelectCraft.Rows[i]["Explain"].ToString(); var Reverse = dt_SelectCraft.Rows[i]["Reverse"].ToString(); //var CurrPlay = dt_SelectCraft.Rows[i]["CurrPlay"].ToString(); var ScriptText = dt_SelectCraft.Rows[i]["ScriptText"].ToString(); var ExistScript = dt_SelectCraft.Rows[i]["ExistScript"].ToString(); //2.写入工艺的内容 var sql_AddCraft = $" INSERT INTO [OperationTree](" + $" [CraftCode],[CraftTypeCode],[Varieties],[CraftName],[CraftDeviceTypeCode],[ProjectCode]" + $" ,[SequenceNo],[StartTime],[KeepTime]" + $" ,[ModelCode]" + $" ,[CraftPlayData],[CraftPlayData_Joint],[CraftPlayData_Raw],[Rate],[Explain]" + $" ,[Reverse],[CurrPlay],[ScriptText],[ExistScript])" + $" VALUES(" + $" '{AddCraftCode}','{CraftTypeCode}','{Varieties}','{craftName_Clone}',{CraftDeviceTypeCode},'{PP_ProjectCode}'" + $" ,{SequenceNo},{StartTime},{KeepTime}" + $" ,'{ModelCode}'" + $" ,'{CraftPlayData}','{CraftPlayData_Joint}','{CraftPlayData_Raw}',{Rate},'{Explain}'" + $" ,{Reverse},'False','{ScriptText}','{ExistScript}')"; ExecuteNonQuery(sql_AddCraft, PP.ConnectionStr, out string errorMessage_AddCraft); } //3.查询出工序的内容 var sql_SelectProcess = $" SELECT" + $" [ProcessCode],[CraftCode],[SequenceNo],[ProcessName],[UseTime],[ProjectCode]" + $" ,[X_Base],[Y_Base],[Z_Base],[RX_Base],[RY_Base],[RZ_Base],[QX_Base],[QY_Base],[QZ_Base],[QW_Base]" + $" ,[X_Tool],[Y_Tool],[Z_Tool],[RX_Tool],[RY_Tool],[RZ_Tool], [QX_Tool],[QY_Tool],[QZ_Tool],[QW_Tool]" + $" ,[X],[Y],[Z],[RX],[RY],[RZ],[QX],[QY],[QZ],[QW]" + $" FROM [ModelProcess]" + $" WHERE [ProjectCode] = '{PP.ProjectCode}' AND [CraftCode] = '{craftCode_Raw}'"; ExecuteDataset(sql_SelectProcess, PP.ConnectionStr, out DataSet ds_SelectProcess, out string errorMessage_SelectProcess); var dt_SelectProcess = ds_SelectProcess.Tables[0]; var dt_SelectProcess_Count = dt_SelectProcess.Rows.Count; var dc_ProcessCode_ProcesslLabelList = new Dictionary(); if (dt_SelectProcess_Count > 0) for (int i = 0; i < dt_SelectProcess_Count; i++) { var ProcessCode = dt_SelectProcess.Rows[i]["ProcessCode"].ToString(); var sql_Select_ProcesslLabelList = $" SELECT" + $" [ID],[ProcessCode],[Varieties],[ExecCode],[ExecValue],ISNULL([Rate],0) AS [Rate],[OperationTime],[ProjectCode]" + $" FROM [ProcesslLabelList]" + $" WHERE [ProjectCode] = '{PP_ProjectCode}' AND [ProcessCode] = '{ProcessCode}'"; ExecuteDataset(sql_Select_ProcesslLabelList, PP.ConnectionStr, out DataSet ds_Select_ProcesslLabelList, out string errorMessage_Select_ProcesslLabelList); var dt_Select_ProcesslLabelList = ds_Select_ProcesslLabelList.Tables[0]; var dt_Select_ProcesslLabelList_Count = dt_Select_ProcesslLabelList.Rows.Count; if (dt_Select_ProcesslLabelList_Count > 0) { dc_ProcessCode_ProcesslLabelList.Add(ProcessCode, dt_Select_ProcesslLabelList); } } if (dt_SelectProcess_Count > 0) for (int i = 0; i < dt_SelectProcess_Count; i++) { //[ProcessCode],[CraftCode],[SequenceNo],[ProcessName],[UseTime],[ProjectCode] //[X_Base],[Y_Base],[Z_Base],[RX_Base],[RY_Base],[RZ_Base],[QX_Base],[QY_Base],[QZ_Base],[QW_Base] //[X_Tool],[Y_Tool],[Z_Tool],[RX_Tool],[RY_Tool],[RZ_Tool], [QX_Tool],[QY_Tool],[QZ_Tool],[QW_Tool] //[X],[Y],[Z],[RX],[RY],[RZ],[QX],[QY],[QZ],[QW] var AddProcessCode = OutGUID.Get_CS_GUID(); var ProcessCode_Raw = dt_SelectProcess.Rows[i]["ProcessCode"].ToString(); //var CraftCode = dt_SelectProcess.Rows[i]["CraftCode"].ToString(); var SequenceNo = dt_SelectProcess.Rows[i]["SequenceNo"].ToString(); var ProcessName = dt_SelectProcess.Rows[i]["ProcessName"].ToString(); var UseTime = dt_SelectProcess.Rows[i]["UseTime"].ToString(); //var ProjectCode = dt_SelectProcess.Rows[i]["ProjectCode"].ToString(); var X_Base = dt_SelectProcess.Rows[i]["X_Base"].ToString(); var Y_Base = dt_SelectProcess.Rows[i]["Y_Base"].ToString(); var Z_Base = dt_SelectProcess.Rows[i]["Z_Base"].ToString(); var RX_Base = dt_SelectProcess.Rows[i]["RX_Base"].ToString(); var RY_Base = dt_SelectProcess.Rows[i]["RY_Base"].ToString(); var RZ_Base = dt_SelectProcess.Rows[i]["RZ_Base"].ToString(); var QX_Base = dt_SelectProcess.Rows[i]["QX_Base"].ToString(); var QY_Base = dt_SelectProcess.Rows[i]["QY_Base"].ToString(); var QZ_Base = dt_SelectProcess.Rows[i]["QZ_Base"].ToString(); var QW_Base = dt_SelectProcess.Rows[i]["QW_Base"].ToString(); var X_Tool = dt_SelectProcess.Rows[i]["X_Tool"].ToString(); var Y_Tool = dt_SelectProcess.Rows[i]["Y_Tool"].ToString(); var Z_Tool = dt_SelectProcess.Rows[i]["Z_Tool"].ToString(); var RX_Tool = dt_SelectProcess.Rows[i]["RX_Tool"].ToString(); var RY_Tool = dt_SelectProcess.Rows[i]["RY_Tool"].ToString(); var RZ_Tool = dt_SelectProcess.Rows[i]["RZ_Tool"].ToString(); var QX_Tool = dt_SelectProcess.Rows[i]["QX_Tool"].ToString(); var QY_Tool = dt_SelectProcess.Rows[i]["QY_Tool"].ToString(); var QZ_Tool = dt_SelectProcess.Rows[i]["QZ_Tool"].ToString(); var QW_Tool = dt_SelectProcess.Rows[i]["QW_Tool"].ToString(); var X = dt_SelectProcess.Rows[i]["X"].ToString(); var Y = dt_SelectProcess.Rows[i]["Y"].ToString(); var Z = dt_SelectProcess.Rows[i]["Z"].ToString(); var RX = dt_SelectProcess.Rows[i]["RX"].ToString(); var RY = dt_SelectProcess.Rows[i]["RY"].ToString(); var RZ = dt_SelectProcess.Rows[i]["RZ"].ToString(); var QX = dt_SelectProcess.Rows[i]["QX"].ToString(); var QY = dt_SelectProcess.Rows[i]["QY"].ToString(); var QZ = dt_SelectProcess.Rows[i]["QZ"].ToString(); var QW = dt_SelectProcess.Rows[i]["QW"].ToString(); //4.写入工序的内容 var sql_AddProcess = $" INSERT INTO [ModelProcess](" + $" [ProcessCode],[CraftCode],[SequenceNo],[ProcessName],[UseTime],[ProjectCode]" + $" ,[X_Base],[Y_Base],[Z_Base],[RX_Base],[RY_Base],[RZ_Base],[QX_Base],[QY_Base],[QZ_Base],[QW_Base]" + $" ,[X_Tool],[Y_Tool],[Z_Tool],[RX_Tool],[RY_Tool],[RZ_Tool], [QX_Tool],[QY_Tool],[QZ_Tool],[QW_Tool]" + $" ,[X],[Y],[Z],[RX],[RY],[RZ],[QX],[QY],[QZ],[QW])" + $" VALUES(" + $" '{AddProcessCode}','{AddCraftCode}',{SequenceNo},'{ProcessName}',{UseTime},'{PP.ProjectCode}'" + $" ,{X_Base},{Y_Base},{Z_Base},{RX_Base},{RY_Base},{RZ_Base},{QX_Base},{QY_Base},{QZ_Base},{QW_Base}" + $" ,{X_Tool},{Y_Tool},{Z_Tool},{RX_Tool},{RY_Tool},{RZ_Tool}, {QX_Tool},{QY_Tool},{QZ_Tool},{QW_Tool}" + $" ,{X},{Y},{Z},{RX},{RY},{RZ},{QX},{QY},{QZ},{QW})"; ExecuteNonQuery(sql_AddProcess, PP.ConnectionStr, out string errorMessage_AddProcess); //5.插入标签。2021.10.25.LLX if (dc_ProcessCode_ProcesslLabelList.ContainsKey(ProcessCode_Raw)) { var dt_ProcesslLabelList = dc_ProcessCode_ProcesslLabelList[ProcessCode_Raw]; for (int k = 0; k < dt_ProcesslLabelList.Rows .Count ; k++) { //[ID],[ProcessCode],[Varieties],[ExecCode],[ExecValue],[Rate],[OperationTime],[ProjectCode] var ID = dt_ProcesslLabelList.Rows[k]["ID"].ToString(); // var ProcessCode = dt_ProcesslLabelList.Rows[k]["ProcessCode"].ToString(); var Varieties = dt_ProcesslLabelList.Rows[k]["Varieties"].ToString(); var ExecCode = dt_ProcesslLabelList.Rows[k]["ExecCode"].ToString(); var ExecValue = dt_ProcesslLabelList.Rows[k]["ExecValue"].ToString(); var Rate = dt_ProcesslLabelList.Rows[k]["Rate"].ToString(); var OperationTime = dt_ProcesslLabelList.Rows[k]["OperationTime"].ToString(); var ProjectCode = dt_ProcesslLabelList.Rows[k]["ProjectCode"].ToString(); //6.写入标签的内容 var sql_AddProcesslLabelList = $" INSERT INTO [ProcesslLabelList](" + $" [ProcessCode],[Varieties],[ExecCode],[ExecValue],[Rate],[OperationTime],[ProjectCode])" + $" VALUES(" + $" '{AddProcessCode}','{Varieties}','{ExecCode}','{ExecValue}',{Rate},'{OperationTime}','{ProjectCode}')"; ExecuteNonQuery(sql_AddProcesslLabelList, PP.ConnectionStr, out string errorMessage_AddProcesslLabelList); } } } } /// /// 修改工艺序号 /// /// /// public static void UpdateCraftSequenceNo(string craftCode, int sequenceNo, string PP_ProjectCode) { string sql = @" DECLARE @CraftCode NVARCHAR(50) = '" + craftCode + "'" + @" DECLARE @SequenceNo INT = " + sequenceNo + "" + @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + @" UPDATE [OperationTree] SET [SequenceNo] = @SequenceNo" + @" WHERE [CraftCode] = @CraftCode AND [ProjectCode] = @ProjectCode"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); } /// /// 修改工艺类型代码 /// /// /// public static void UpdateCraftTypeCode(string craftCode, string craftTypeCode, string PP_ProjectCode) { string sql = @" DECLARE @CraftCode NVARCHAR(50) = '" + craftCode + "'" + @" DECLARE @CraftTypeCode NVARCHAR(50) = '" + craftTypeCode + "'" + @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + @" UPDATE [OperationTree] SET [CraftTypeCode] = @CraftTypeCode" + @" WHERE [CraftCode] = @CraftCode AND [ProjectCode] = @ProjectCode"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); } /// /// 修改工艺名称 /// 20200903 /// /// /// public static void UpdateCraftName(string craftCode, string craftName, string PP_ProjectCode) { string sql = @" DECLARE @CraftCode NVARCHAR(50) = '" + craftCode + "'" + @" DECLARE @CraftName NVARCHAR(500) = '" + craftName + "'" + @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + @" UPDATE [OperationTree] SET [CraftName] = @CraftName" + @" WHERE [ProjectCode] = @ProjectCode AND [CraftCode] = @CraftCode"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); } /// /// 修改品种 /// 2021.10.10.2359 /// /// /// public static void UpdateVarieties(string craftCode, string varieties, string PP_ProjectCode) { string sql = @" DECLARE @CraftCode NVARCHAR(50) = '" + craftCode + "'" + @" DECLARE @Varieties NVARCHAR(50) = '" + varieties + "'" + @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + @" UPDATE [OperationTree] SET [Varieties] = @Varieties" + @" WHERE [ProjectCode] = @ProjectCode AND [CraftCode] = @CraftCode"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); } /// /// 查询工艺存在数量 /// 2021.1.12 /// 刘利勋 /// /// /// /// public static int SelectCraftNameExistCount(string craftName, string PP_ProjectCode) { int craftNameExistCount = -1; string sql = @" DECLARE @CraftName NVARCHAR(500) = '" + craftName + "'" + @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + @" SELECT COUNT(1) FROM [OperationTree] WHERE [ProjectCode] = @ProjectCode AND [CraftName] = @CraftName"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); DataTable dt = ds.Tables[0]; int count = dt.Rows.Count; if (count > 0) { craftNameExistCount = Convert.ToInt32(dt.Rows [0][0]); } return craftNameExistCount; } /// /// 修改工艺的模型 /// 2021.2.1 /// /// /// public static bool UpdateCraftModel(string craftCode,string modelCode, string PP_ProjectCode) { return ExecuteDataset( @" DECLARE @CraftCode NVARCHAR(50) = '" + craftCode + "'" + @" DECLARE @ModelCode NVARCHAR(50) = '" + modelCode + "'" + @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + @" UPDATE [OperationTree] SET [ModelCode] = @ModelCode WHERE [ProjectCode] = @ProjectCode AND [CraftCode] = @CraftCode" , PP.ConnectionStr, out DataSet ds, out string errorMessage); } /// /// 修改工艺 的工艺数据原始数据 /// 2021.5.10 /// /// /// /// public static bool UpdateCraft_CraftPlayData_Raw(string craftCode, string craftPlayData_Raw,int rate,int keepTime, string PP_ProjectCode) { return ExecuteDataset( @" DECLARE @CraftCode NVARCHAR(50) = '" + craftCode + "'" + @" DECLARE @CraftPlayData_Raw NVARCHAR(MAX) = '" + craftPlayData_Raw + "'" + @" DECLARE @Rate INT = " + rate + "" + @" DECLARE @KeepTime INT = " + keepTime + "" + @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + @" UPDATE [OperationTree] SET [CraftPlayData_Raw] = @CraftPlayData_Raw,[Rate] = @Rate,[KeepTime] = @KeepTime WHERE [ProjectCode] = @ProjectCode AND [CraftCode] = @CraftCode" , PP.ConnectionStr, out DataSet ds, out string errorMessage); } public static void AddOperationTree(string operationPid, string varieties, string name, string explain, string PP_ProjectCode) { string datetime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); string sql = @" DECLARE @CraftCode NVARCHAR(50) = '" + OutGUID.Get_CS_GUID() + "'" + @" DECLARE @CraftTypeCode NVARCHAR(50) = '" + operationPid + "'" + @" DECLARE @Varieties NVARCHAR(50) = '" + varieties + "'" + @" DECLARE @CraftName NVARCHAR(500) = '" + name + "'" + @" DECLARE @Explain NVARCHAR(50) = '" + explain + "'" + @" DECLARE @OperationTime NVARCHAR(50) = '" + datetime + "'" + @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + @" INSERT INTO [OperationTree]([CraftCode],[CraftTypeCode],[Varieties],[CraftName],[CraftDeviceTypeCode], [ProjectCode],[OperationTime],[SequenceNo],[KeepTime],[ModelCode], [CraftPlayData],[CraftPlayData_Joint],[CraftPlayData_Raw],[Rate],[Explain],[Reverse],[CurrPlay] ,[ScriptText],[ExistScript])" + @" VALUES(@CraftCode,@CraftTypeCode,@Varieties,@CraftName,-1, @ProjectCode,@OperationTime,-1,-1,-1, -1,-1,-1,-1,@Explain,-1,0,'','False')"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); } /// /// 设置当前仿真 /// 2021.8.24 /// /// /// public static void SetToDefSimProj(string craftCode, string PP_ProjectCode) { string sql = @" DECLARE @CraftCode NVARCHAR(50) = '" + craftCode + "'" + @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + @" UPDATE [OperationTree] SET [CurrPlay] = 0 WHERE [ProjectCode] = @ProjectCode" + @" UPDATE [OperationTree] SET [CurrPlay] = 1 WHERE [ProjectCode] = @ProjectCode AND [CraftCode] = @CraftCode"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); } /*****************************************************************/ /*****************************************************************/ /*****************************************************************/ /// /// 修改正反向属性 /// 2021.9.7.LLX /// /// /// public static void Update_CraftReverse(string craftCode,int reverse, string PP_ProjectCode) { string sql = @" DECLARE @CraftCode NVARCHAR(50) = '" + craftCode + "'" + @" DECLARE @Reverse INT = " + reverse + "" + @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + @" UPDATE [OperationTree] SET [Reverse] = @Reverse WHERE [ProjectCode] = @ProjectCode AND [CraftCode] = @CraftCode"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); } public static int Select_CraftReverse(string craftCode, string PP_ProjectCode) { string sql = @" DECLARE @CraftCode NVARCHAR(50) = '" + craftCode + "'" + @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + @" SELECT TOP 1 ISNULL([Reverse],-1) AS [Reverse] FROM [OperationTree] WHERE [ProjectCode] = @ProjectCode AND [CraftCode] = @CraftCode"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); return Convert.ToInt32(ds.Tables [0].Rows[0][0]); } /*****************************************************************/ /*****************************************************************/ /*****************************************************************/ /// /// 修改脚本 /// 2021.10.12.LLX /// /// /// public static void Update_CraftScript(string craftCode, string script,bool existScript, string PP_ProjectCode) { string sql = @" DECLARE @CraftCode NVARCHAR(50) = '" + craftCode + "'" + @" DECLARE @ScriptText NVARCHAR(MAX) = '" + script + "'" + @" DECLARE @ExistScript BIT = '" + existScript.ToString () + "'" + @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + $" UPDATE [OperationTree] SET [ScriptText] = @ScriptText,[ExistScript] = @ExistScript " + $" WHERE [ProjectCode] = @ProjectCode AND [CraftCode] = @CraftCode"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); } public static void Select_CraftScript(string craftCode,out string scriptText, out bool existScript, string PP_ProjectCode) { scriptText = ""; existScript = false; string sql = @" DECLARE @CraftCode NVARCHAR(50) = '" + craftCode + "'" + @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + $" SELECT TOP 1 " + $" ISNULL([ScriptText],'') AS [ScriptText]" + $" ,ISNULL([ExistScript],0) AS [ExistScript]" + $" FROM [OperationTree] WHERE [ProjectCode] = @ProjectCode AND [CraftCode] = @CraftCode"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); var dt = ds.Tables[0]; var count = dt.Rows.Count; if (count > 0) { scriptText = dt.Rows[0]["ScriptText"].ToString(); existScript = Convert.ToBoolean(dt.Rows[0]["ExistScript"]); } } //public static Dictionary Load_CraftAndScript() //{ // var dc = new Dictionary(); // string sql = // @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP.ProjectCode + "'" + // $" SELECT " + // $" [CraftCode]" + // $" ,[CraftName]" + // $" ,[Varieties]" + // $" ,ISNULL([ScriptText],'') AS [ScriptText]" + // $" ,ISNULL([ExistScript],0) AS [ExistScript]" + // $" FROM [OperationTree] WHERE [ProjectCode] = @ProjectCode AND [ExistScript] = 'True'"; // ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); // var dt = ds.Tables[0]; // var count = dt.Rows.Count; // if (count > 0) // { // for (int i = 0; i < count; i++) // { // var craftCode = dt.Rows[i]["CraftCode"].ToString(); // var craftName = dt.Rows[i]["CraftName"].ToString(); // var varieties = dt.Rows[i]["Varieties"].ToString(); // var scriptText = dt.Rows[i]["ScriptText"].ToString(); // if (!dc.ContainsKey(craftCode)) // { // dc.Add(craftCode, scriptText); // } // } // } // return dc; //} /*****************************************************************/ /*****************************************************************/ /*****************************************************************/ public static bool CraftMerge(string craftCode_1, string craftCode_2, string PP_ProjectCode) { return ExecuteDataset( @" DECLARE @CraftCode_1 NVARCHAR(50) = '" + craftCode_1 + "'" + @" DECLARE @CraftCode_2 NVARCHAR(50) = '" + craftCode_2 + "'" + @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + @" DECLARE @Count_Craft_1 INT = NULL" + $" SELECT @Count_Craft_1 = count(1) FROM [ModelProcess] " + $" WHERE [ProjectCode] = @ProjectCode AND [CraftCode] = @CraftCode_1"+ $" UPDATE [ModelProcess] SET [SequenceNo] = [SequenceNo] + @Count_Craft_1" + $" WHERE [ProjectCode] = @ProjectCode AND [CraftCode] = @CraftCode_2"+ $" UPDATE [ModelProcess] SET [CraftCode] = @CraftCode_1" + $" WHERE [ProjectCode] = @ProjectCode AND [CraftCode] = @CraftCode_2"+ $" DELETE [OperationTree]" + $" WHERE [ProjectCode] = @ProjectCode AND [CraftCode] = @CraftCode_2" , PP.ConnectionStr, out DataSet ds, out string errorMessage); } //////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////// //SqlSimGantt //////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////// /// /// 在行为里查工艺 /// /// /// public static DataTable SelectCraftInAct(string operationCode, string PP_ProjectCode) { string sql = @" DECLARE @CraftCode NVARCHAR(50) = '" + operationCode + "'" + @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + @" SELECT ISNULL([ID],0) AS 'ID' ,ISNULL([CraftCode],0) AS 'CraftCode' ,ISNULL([CraftName],0) AS 'CraftName' ,ISNULL([StartTime],0) AS 'StartTime' ,ISNULL([KeepTime],0) AS 'KeepTime' FROM [OperationTree]" + @" WHERE [ProjectCode] = @ProjectCode AND [CraftTypeCode] = @CraftCode" + @" ORDER BY [StartTime]"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); return ds.Tables[0]; } public static DataTable UseCraftCodSelect(List craftCodeList,bool Is_SyncOrder_Or_StartTime, string PP_ProjectCode) { var craftCodeListStr = ConvertToStr(craftCodeList); string sql_1 = @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + @" SELECT ISNULL([ID],0) AS 'ID' ,ISNULL([CraftCode],0) AS 'CraftCode' ,ISNULL([CraftName],0) AS 'CraftName' ,ISNULL([StartTime],0) AS 'StartTime' ,ISNULL([KeepTime],0) AS 'KeepTime' FROM [OperationTree]" + @" WHERE [ProjectCode] = @ProjectCode AND [CraftCode] IN (" + craftCodeListStr + ")"; string sql_2 = ""; if (Is_SyncOrder_Or_StartTime) { sql_2 = @" ORDER BY [CraftTypeCode],[SequenceNo]"; } else { sql_2 = @" ORDER BY [StartTime]"; } var sql = sql_1 + sql_2; 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 void UpdateCraftStartTime(string craftCode, double startTime, string PP_ProjectCode) { string sql = @" DECLARE @craftCode NVARCHAR(50) = '" + craftCode + "'" + @" DECLARE @StartTime INT = " + startTime + "" + @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + @" UPDATE [OperationTree] SET [StartTime] = @StartTime" + @" WHERE [ProjectCode] = @ProjectCode AND [CraftCode] = @craftCode"; //ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); var res = ExecuteNonQuery(sql, PP.ConnectionStr, out string errorMessage); } public static void UpdateGanttStartAndRelation(string craftCode, double startTime,string pid, string PP_ProjectCode) { string sql = ""; if (pid == "") { sql = @" DECLARE @craftCode NVARCHAR(50) = '" + craftCode + "'" + @" DECLARE @GanttParent NVARCHAR(50) = NULL " + @" DECLARE @StartTime INT = " + startTime + "" + @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + @" UPDATE [OperationTree] SET [StartTime] = @StartTime , [GanttParent] = @GanttParent" + @" WHERE [ProjectCode] = @ProjectCode AND [CraftCode] = @craftCode"; } else { sql = @" DECLARE @craftCode NVARCHAR(50) = '" + craftCode + "'" + @" DECLARE @GanttParent NVARCHAR(50) = '" + pid + "'" + @" DECLARE @StartTime INT = " + startTime + "" + @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + @" UPDATE [OperationTree] SET [StartTime] = @StartTime , [GanttParent] = @GanttParent" + @" WHERE [ProjectCode] = @ProjectCode AND [CraftCode] = @craftCode"; } //ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); var res = ExecuteNonQuery(sql, PP.ConnectionStr, out string errorMessage); } /// /// 查询行为数据 /// /// /// public static string SelectActData(string actCode, string PP_ProjectCode) { string sql = @" DECLARE @CraftCode NVARCHAR(50) = '" + actCode + "'" + @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + @" SELECT [CraftPlayData] FROM [OperationTree]" + @" WHERE [ProjectCode] = @ProjectCode AND [CraftCode] = @CraftCode"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); DataTable dt = ds.Tables[0]; if (dt.Rows.Count > 0) return dt.Rows[0][0].ToString(); else return ""; } ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// /// /// 修改工艺播放数据 ,准备数据 /// 2020.12.12 /// 导入数据时候执行 /// /// /// /// public static void UpdatePlayData_Ready(string craftCode, string craftPlayData_Joint, string craftPlayData_Raw,string PP_ProjectCode) { string sql = @" DECLARE @CraftPlayData_Joint NVARCHAR(MAX) = '" + craftPlayData_Joint + "'" + @" DECLARE @CraftPlayData_Raw NVARCHAR(MAX) = '" + craftPlayData_Raw + "'" + @" DECLARE @CraftCode NVARCHAR(50) = '" + craftCode + "'" + @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + @" UPDATE [OperationTree] SET [CraftPlayData_Joint] = @CraftPlayData_Joint,[CraftPlayData_Raw] = @CraftPlayData_Raw,[CraftPlayData] = -1" + @" WHERE [CraftCode] = @CraftCode AND [ProjectCode] = @ProjectCode"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); } /// /// 修改机器人工艺 关节数据 /// 2021.3.5 /// /// /// /// public static void UpdatePlayData_Ready(string craftCode, string craftPlayData_Joint, string PP_ProjectCode) { string sql = @" DECLARE @CraftPlayData_Joint NVARCHAR(MAX) = '" + craftPlayData_Joint + "'" + @" DECLARE @CraftCode NVARCHAR(50) = '" + craftCode + "'" + @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + @" UPDATE [OperationTree] SET [CraftPlayData_Joint] = @CraftPlayData_Joint" + @" WHERE [CraftCode] = @CraftCode AND [ProjectCode] = @ProjectCode"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); } /// /// 修改工艺播放数据 /// 线性流操作的 /// /// /// /// public static void UpdatePlayData(string craftCode, string craftPlayData, string PP_ProjectCode) { string sql = @" DECLARE @CraftPlayData NVARCHAR(MAX) = '" + craftPlayData + "'" + @" DECLARE @CraftCode NVARCHAR(50) = '" + craftCode + "'" + @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + @" UPDATE [OperationTree] SET [CraftPlayData] = @CraftPlayData" + @" WHERE [CraftCode] = @CraftCode AND [ProjectCode] = @ProjectCode"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); } /// /// 修改驱动类型的参数 /// /// /// public static void UpdateCraftDeviceTypeCode(string craftCode, int craftDeviceTypeCode, string PP_ProjectCode) { string sql = @" DECLARE @CraftDeviceTypeCode INT = " + craftDeviceTypeCode + "" + @" DECLARE @CraftCode NVARCHAR(50) = '" + craftCode + "'" + @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + @" UPDATE [OperationTree] SET [CraftDeviceTypeCode] = @CraftDeviceTypeCode" + @" WHERE [CraftCode] = @CraftCode AND [ProjectCode] = @ProjectCode"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); } /// /// 修改行为播放数据 /// 2020-8-5 /// /// /// public static void UpdateActPlayData(string actCode, string craftPlayData, string PP_ProjectCode) { string sql = @" DECLARE @CraftPlayData NVARCHAR(MAX) = '" + craftPlayData + "'" + @" DECLARE @CraftCode NVARCHAR(50) = '" + actCode + "'" + @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + @" UPDATE [OperationTree] SET [CraftPlayData] = @CraftPlayData" + @" WHERE [ProjectCode] = @ProjectCode AND [CraftCode] = @CraftCode "; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); } /// /// 调整后树的结构修改OperationTree表 /// /// craftCode /// parentCode /// SeqNo public static void UpdateOperationTree(string id, string pid, string no, string PP_ProjectCode) { string sql = @" DECLARE @CraftCode NVARCHAR(50) = '" + id + "'" + @" DECLARE @CraftTypeCode NVARCHAR(50) = '" + pid + "'" + @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" + @" DECLARE @SequenceNo INT = '" + no + "'" + @" UPDATE OperationTree SET CraftTypeCode=@CraftTypeCode,SequenceNo = @SequenceNo WHERE ProjectCode = @ProjectCode AND CraftCode = @CraftCode"; ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage); } public static void ExecSqlStr(string sqlStr) { ExecuteDataset(sqlStr, PP.ConnectionStr, out DataSet ds, out string errorMessage); } public static bool ExecSqlStrNoQuery(string sqlStr) { //ExecuteDataset(sqlStr, PP.ConnectionStr, out DataSet ds, out string errorMessage); bool res = ExecuteNonQuery(sqlStr, PP.ConnectionStr, out string errorMessage); return res; } public static bool UpdateKeepTime(string craftCode, int keepTime, string PP_ProjectCode) { var sql = "UPDATE OperationTree SET KeepTime = " + keepTime + " WHERE CraftCode = '" + craftCode + "' AND ProjectCode = '" + PP_ProjectCode + "';"; bool res = ExecuteNonQuery(sql, PP.ConnectionStr, out string errorMessage); return res; } } } }