Files
2026-05-29 10:07:05 +08:00

1099 lines
58 KiB
C#

using Global;
using ModelBasic;
using System;
using System.Collections.Generic;
using System.Data;
using static DtWebApiDT.DataAccess;
//using static SqlManage.ExecSql;
/// <summary>
///
/// </summary>
namespace DTTest
{
/// <summary>
/// 对于数据库的操作
/// </summary>
public partial class SqlOperation
{
/// <summary>
/// 工艺的操作
/// </summary>
public class SqlCraft
{
/// <summary>
/// 查询工艺树
/// </summary>
/// <returns></returns>
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];
}
/// <summary>
/// 工艺查询对应 工序
/// </summary>
/// <param name="craftCode"></param>
/// <returns></returns>
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];
}
/// <summary>
/// 添加非仿真工艺
/// </summary>
/// <param name="craftCode"></param>
/// <param name="craftName"></param>
/// <param name="keepTime"></param>
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);
}
/// <summary>
/// 添加工艺
/// 2021.5.20
/// 修改了参数
/// </summary>
/// <param name="craftGroupCode"></param>
/// <param name="craftName"></param>
/// <param name="craftDeviceTypeCode"></param>
/// <param name="modelCode"></param>
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);
}
/// <summary>
/// 添加工艺
/// 模型显示隐藏、模型自转
/// 2020.12.30
/// </summary>
/// <param name="craftGroupCode"></param>
/// <param name="craftName"></param>
/// <param name="craftTypeCode"></param>
/// <param name="modelCode"></param>
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);
}
/// <summary>
/// 删除工艺
/// </summary>
/// <param name="craftCode"></param>
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);
}
/// <summary>
/// 克隆工艺
/// 2021.10.25.2106.LLX
/// </summary>
/// <param name="craftCode"></param>
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<String, DataTable>();
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);
}
}
}
}
/// <summary>
/// 修改工艺序号
/// </summary>
/// <param name="craftCode"></param>
/// <param name="sequenceNo"></param>
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);
}
/// <summary>
/// 修改工艺类型代码
/// </summary>
/// <param name="craftCode"></param>
/// <param name="craftTypeCode"></param>
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);
}
/// <summary>
/// 修改工艺名称
/// 20200903
/// </summary>
/// <param name="craftCode"></param>
/// <param name="craftName"></param>
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);
}
/// <summary>
/// 修改品种
/// 2021.10.10.2359
/// </summary>
/// <param name="craftCode"></param>
/// <param name="varieties"></param>
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);
}
/// <summary>
/// 查询工艺存在数量
/// 2021.1.12
/// 刘利勋
///
/// </summary>
/// <param name="craftName"></param>
/// <returns></returns>
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;
}
/// <summary>
/// 修改工艺的模型
/// 2021.2.1
/// </summary>
/// <param name="craftCode"></param>
/// <param name="modelCode"></param>
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);
}
/// <summary>
/// 修改工艺 的工艺数据原始数据
/// 2021.5.10
/// </summary>
/// <param name="craftCode"></param>
/// <param name="craftPlayData_Raw"></param>
/// <returns></returns>
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);
}
/// <summary>
/// 设置当前仿真
/// 2021.8.24
///
/// </summary>
/// <param name="craftCode"></param>
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);
}
/*****************************************************************/
/*****************************************************************/
/*****************************************************************/
/// <summary>
/// 修改正反向属性
/// 2021.9.7.LLX
/// </summary>
/// <param name="craftCode"></param>
/// <param name="reverse"></param>
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]);
}
/*****************************************************************/
/*****************************************************************/
/*****************************************************************/
/// <summary>
/// 修改脚本
/// 2021.10.12.LLX
/// </summary>
/// <param name="craftCode"></param>
/// <param name="reverse"></param>
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<String,String> Load_CraftAndScript()
//{
// var dc = new Dictionary<String, String>();
// 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
////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
/// <summary>
/// 在行为里查工艺
/// </summary>
/// <param name="actCode"></param>
/// <returns></returns>
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<String> 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<String> craftCodeList)
{
var craftCodeListTemp = new List<String>();
foreach (string craftCode in craftCodeList)
{
craftCodeListTemp.Add("'" + craftCode + "'");
}
return string.Join(",", craftCodeListTemp.ToArray());
}
/// <summary>
/// 更新工艺的开始时间
/// </summary>
/// <param name="craftCode"></param>
/// <param name="startTime"></param>
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);
}
/// <summary>
/// 查询行为数据
/// </summary>
/// <param name="actCode"></param>
/// <returns></returns>
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 "";
}
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
/// <summary>
/// 修改工艺播放数据 ,准备数据
/// 2020.12.12
/// 导入数据时候执行
/// </summary>
/// <param name="craftCode"></param>
/// <param name="craftPlayData_Joint"></param>
/// <param name="craftPlayData_Raw"></param>
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);
}
/// <summary>
/// 修改机器人工艺 关节数据
/// 2021.3.5
/// </summary>
/// <param name="craftCode"></param>
/// <param name="craftPlayData_Joint"></param>
/// <param name="craftPlayData_Raw"></param>
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);
}
/// <summary>
/// 修改工艺播放数据
/// 线性流操作的
/// </summary>
/// <param name="craftCode"></param>
/// <param name="craftPlayData_Joint"></param>
/// <param name="craftPlayData_Raw"></param>
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);
}
/// <summary>
/// 修改驱动类型的参数
/// </summary>
/// <param name="craftCode"></param>
/// <param name="craftPlayData"></param>
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);
}
/// <summary>
/// 修改行为播放数据
/// 2020-8-5
/// </summary>
/// <param name="craftCode"></param>
/// <param name="craftPlayData"></param>
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);
}
/// <summary>
/// 调整后树的结构修改OperationTree表
/// </summary>
/// <param name="id"> craftCode </param>
/// <param name="pid"> parentCode </param>
/// <param name="no"> SeqNo </param>
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;
}
}
}
}