宜昌华友成品
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

160 lines
6.3 KiB

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Threading;
using Microsoft.VisualBasic;
using DBFactory;
using ICommLayer;
namespace MidDataTable
{
/// <summary>
/// 20200430�м����ӿ�
/// �����豸������
///
/// </summary>
public class CSendDeviceOrder: ISendDeviceOrder
{
string _commLayerError;
public string CommLayerError
{
get { return _commLayerError; }
set { _commLayerError = value; }
}
DBOperator dbo = CommonClassLib.AppSettings.dbo;//20130510
public CSendDeviceOrder()
{
dbo.Open();
}
//~CSendDeviceOrder()
//{
// dbo.Close();
//}
/// <summary>
/// ���ͻ��δ���������
/// </summary>
/// <param name="MessageIndex">��Ϣ����</param>
/// <param name="TaskIndex">��������</param>
/// <param name="Order">����������</param>
///1-ȡ�ͻ�
///2.3... ����չ
/// <param name="DeviceIndex">�豸����</param>
/// <param name="StartX">0</param>
/// <param name="StartY">0</param>
/// <param name="StartZ">����ȡ��վ̨����������</param>
/// <param name="EndX"></param>
/// <param name="EndY"></param>
/// <param name="EndZ">�����ͻ�վ̨����������</param>
/// <returns>���ͻ��������Ƿ��ɹ�</returns>
public bool SendDeviceOrder(int MessageIndex, int TaskIndex, int Order, int DeviceIndex, int StartX, int StartY, int StartZ, int EndX, int EndY, int EndZ)
{
//return true;
StringBuilder sql = new StringBuilder();
StringBuilder sss = new StringBuilder();
DataView dv = new DataView();
sql.Remove(0, sql.Length);
sql.Append("SELECT * FROM T_Monitor_Task WHERE F_MonitorIndex = ").Append(TaskIndex).Append(" AND F_Status = 0");
dv = dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView;
if (dv.Count == 0)
{
_commLayerError = "OPCClient.CSendDeviceOrder.SendDeviceOrder�������󣺲�����"+ TaskIndex +" ��Ӧ�Ŀ���ָ��!";
return false;
}
try
{
int fid = Model.CGeneralFunction.GetManageTaskIndexfromMonitor(TaskIndex);
sql.Remove(0, sql.Length);
sql.Append("SELECT * FROM RGV_TASK WHERE FID = ").Append(fid).Append(" AND RGV_TASK_ID = ")
.Append(TaskIndex);
if (dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView.Count > 0)
{
_commLayerError = "OPCClient.CSendDeviceOrder.SendDeviceOrder�����������м����Ѵ��ڸ�ָ�"+ TaskIndex;
return false;
}
StringBuilder dtime = new StringBuilder(DateTime.Now.ToString("u"));
dtime.Remove(dtime.Length - 1, 1);
int TaskLevel = Convert.ToInt32(dv[0]["F_MonitorTaskLevel"]);
string PalletBarcode = dv[0]["F_TxtParam"].ToString();
sql.Clear();
sql.Append("select * from T_Manage_Task where FID = ").Append(fid);
dv = dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView;
if (dv.Count == 0)
{
_commLayerError = "OPCClient.CSendDeviceOrder.SendDeviceOrder�����������Ҳ�����Ӧ�Ĺ�������!";
return false;
}
int TaskType = Convert.ToInt32(dv[0]["FCONTROLTASKTYPE"]);
int LaneWay = TaskType == 2 ? Convert.ToInt32(dv[0]["FSTARTDEVICE"]) : Convert.ToInt32(dv[0]["FENDDEVICE"]);
string command = string.Format(
"INSERT INTO RGV_TASK(RGV_TASK_ID, RGV_TASK_TYPE, RGV_TASK_LEVEL, PALLET_BARCODE, START_DEVICE_CODE, END_AREA_CODE, LANE_CODE, RGV_TASK_BEGINTIME,FID)"+
" VALUES({0}, {1}, {2}, '{3}', '{4}', '{5}', '{6}', '{7}',{8})",
TaskIndex, TaskType, TaskLevel, PalletBarcode, StartZ, EndZ, LaneWay, dtime.ToString(), fid);
dbo.ExecuteSql(command);
sss.Remove(0, sss.Length);
sss.Append("���룺").Append(PalletBarcode).Append("**д��־1").Append("**������" + TaskIndex.ToString())
.Append("**��ʼվ̨" + StartZ.ToString()).Append("**��ֹվ̨" + EndZ.ToString());
CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "���ͻ��δ���������","", sss.ToString());
return true;
}
catch (Exception ex)
{
_commLayerError = "OPCClient.CSendDeviceOrder.SendDeviceOrder����������" + ex.Message;
return false;
}
}
/// <summary>
/// ���ͶѶ��������������豸����
/// </summary>
/// <param name="MessageIndex">��Ϣ����</param>
/// <param name="TaskIndex">��������</param>
/// <param name="Order">������</param>
/// �����������֣�
///1-��λ
///2-���ӻ�
///3-���ͻ�
///4-�ҽӻ�
///5-���ͻ�
///6-ֹͣ
///7-�˶���1#λ��
///8-�˶���2#λ��
/// ��
///���ͻ���̨�������֣�
///1-���⣨�����⣩
/// 2-���⣨�����⣩
/// 3-�ͻ�
/// 4-ֹͣ
/// <param name="DeviceIndex">�豸����</param>
/// <returns>���������豸�����Ƿ��ɹ�</returns>
public bool SendDeviceOrder(int MessageIndex, int TaskIndex, int Order, int DeviceIndex, int ArrowDeviceIndex)
{
return true;
}
public bool SendDeviceOrder(int MessageIndex, int TaskIndex, int Order, int DeviceIndex, int StartX, int StartY, int StartZ, int EndX, int EndY, int EndZ, string DoubleFork)
{
return true;
}
public bool SendDeviceOrder(int DeviceIndex, string TobaccoCode, bool HaveFirstProjectCode, bool IfSmallTobacco, int Count)
{
return true;
}
public bool WriteDBData(StringBuilder[] ItemNames, StringBuilder[] ItemValues)
{
return true;
}
public bool WriteDBData(StringBuilder[] ItemNames, StringBuilder[] ItemValues, string PLCconnectionID)
{
return true;
}
}
}