1099 lines
58 KiB
C#
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;
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|