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.
805 lines
34 KiB
805 lines
34 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using DBFactory;
|
|
using System.ServiceModel;
|
|
using Microsoft.VisualBasic;
|
|
namespace wcfControlMonitorClient
|
|
{
|
|
/// <summary>
|
|
/// Creator:Richard.liu
|
|
/// 下达手工任务--单一设备
|
|
/// </summary>
|
|
public partial class FrmHandCommand : Form
|
|
{
|
|
Model.MDevice deviceInfo;
|
|
private static FrmHandCommand _formInstance;
|
|
|
|
public static FrmHandCommand FormInstance
|
|
{
|
|
get
|
|
{
|
|
if (_formInstance == null)
|
|
{
|
|
_formInstance = new FrmHandCommand();
|
|
}
|
|
return _formInstance;
|
|
}
|
|
set { _formInstance = value; }
|
|
}
|
|
|
|
DBOperator dbo = CStaticClass.dbo;
|
|
#region ====变量定义
|
|
|
|
CommonClassLib.UCellPanel cellPanel = null;
|
|
|
|
|
|
#endregion
|
|
public FrmHandCommand()
|
|
{
|
|
InitializeComponent();
|
|
_formInstance = this;
|
|
dbo.Open();
|
|
|
|
}
|
|
|
|
private void FrmHandCommand_Load(object sender, EventArgs e)
|
|
{
|
|
this.cbInWorkBench.SelectedIndex = 2;
|
|
this.comboBox1.SelectedIndex = 0;
|
|
if (cellPanel == null)
|
|
{
|
|
cellPanel = new CommonClassLib.UCellPanel(this, txtCellCode, null, string.Empty);
|
|
cellPanel.TaskType = "100";
|
|
cellPanel.GoodsName = "";
|
|
cellPanel.Dock = DockStyle.Fill;
|
|
cellPanel.AllowWareHouseChanged = false;
|
|
plCell.Controls.Add(cellPanel);
|
|
|
|
}
|
|
|
|
//20090910 and F_DBW1Address is not null
|
|
DataView dv = dbo.ExceSQL("SELECT T_Base_Device.F_DeviceIndex, T_Base_Device.F_DeviceKindIndex," +
|
|
" T_Base_Device.F_DeviceName, T_Base_Device_Kind.F_GoodsMoveKindIndex FROM T_Base_Device,T_Base_Device_Kind " +
|
|
" where T_Base_Device.F_DeviceKindIndex = T_Base_Device_Kind.F_DeviceKindIndex and F_DBW1Address is not null and " +
|
|
" (T_Base_Device_Kind.F_GoodsMoveKindIndex = 1 OR T_Base_Device_Kind.F_GoodsMoveKindIndex = 2)").Tables[0].DefaultView;
|
|
if (dv.Count > 0)
|
|
{
|
|
this.cbDeviceName.DisplayMember = "F_DeviceName";
|
|
this.cbDeviceName.ValueMember = "F_DeviceIndex";
|
|
this.cbDeviceName.DataSource = dv;
|
|
|
|
this.cbDeviceName.Text = "";
|
|
this.cbDeviceName.SelectedValue = 0;
|
|
}
|
|
|
|
txtCellCode.Text = "";
|
|
|
|
|
|
|
|
}
|
|
|
|
private void cbDeviceName_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
DataView dv;
|
|
this.cbDeviceCommand.DataSource=null;
|
|
DataSet ds = dbo.ExceSQL("SELECT T_Base_Device.F_DeviceKindIndex, F_DeviceCommandName,F_DeviceCommandIndex FROM " +
|
|
"T_Base_Device , T_Base_Device_Command WHERE T_Base_Device.F_DeviceKindIndex"+
|
|
"= T_Base_Device_Command.F_DeviceKindIndex and F_DeviceIndex=" +
|
|
Convert.ToInt32(cbDeviceName.SelectedValue) + " and F_DeviceCommandIndex <> -1");
|
|
if (ds.Tables[0].DefaultView.Count > 0)
|
|
{
|
|
|
|
deviceInfo = Model.CGetInfo.GetDeviceInfo(Convert.ToInt32(cbDeviceName.SelectedValue));
|
|
if (deviceInfo.IfCorrelDoubleFork == "1" && deviceInfo.DeviceKind==1)
|
|
{
|
|
pnDblFork.Visible = true;
|
|
}
|
|
else
|
|
{
|
|
pnDblFork.Visible = false;
|
|
}
|
|
if (deviceInfo.DeviceKind == 13)
|
|
{
|
|
pnGd.Visible = true;
|
|
}
|
|
else
|
|
{
|
|
pnGd.Visible = false;
|
|
}
|
|
this.cbDeviceCommand.DisplayMember = "F_DeviceCommandName";
|
|
this.cbDeviceCommand.ValueMember = "F_DeviceCommandIndex";
|
|
this.cbDeviceCommand.DataSource = ds.Tables[0].DefaultView;
|
|
this.cbDeviceCommand.Text = "";
|
|
this.cbDeviceCommand.SelectedValue = 0;
|
|
int rgvdev = 0;//20130510
|
|
switch (CStaticClass.GetDeviceKindIdx (Convert.ToInt32(cbDeviceName.SelectedValue)))
|
|
{
|
|
|
|
case 1://堆垛机
|
|
int devic=deviceInfo.DeviceIndex;
|
|
if (deviceInfo.VirtualStack>0)
|
|
{
|
|
devic = deviceInfo.VirtualStack;
|
|
}
|
|
|
|
dv = dbo.ExceSQL("SELECT F_DeviceIndex, F_DeviceName FROM T_Base_Lane_Gate,T_Base_LaneInfo,T_Base_Device where F_LaneIndex = F_LaneDeviceIndex and T_Base_LaneInfo.F_StackIndex=" + devic + " and T_Base_Lane_Gate.F_LaneGateDeviceIndex=T_Base_Device.F_DeviceIndex").Tables[0].DefaultView;
|
|
if (dv.Count > 0)
|
|
{
|
|
cbEndPosition.DataSource = null;
|
|
cbEndPosition.DisplayMember = "F_DeviceName";
|
|
cbEndPosition.ValueMember = "F_DeviceIndex";
|
|
cbEndPosition.DataSource =dv;
|
|
txtCellCode.Enabled = true;
|
|
comboBox1.Enabled = true;
|
|
DataView dv1 = dbo.ExceSQL(string.Format("SELECT F_ForkAmount FROM T_Base_StackInfo WHERE (F_StackIndex = {0})", Convert.ToInt32(cbDeviceName.SelectedValue))).Tables[0].DefaultView;
|
|
if (dv1.Count > 0)
|
|
{
|
|
|
|
comboBox1.Items.Clear();
|
|
|
|
for (int j = 1; j <= Convert.ToInt32(dv1[0]["F_ForkAmount"]); j++)
|
|
{
|
|
comboBox1.Items.Add(j);
|
|
}
|
|
comboBox1.Text = "0";
|
|
}
|
|
else
|
|
{
|
|
comboBox1.Text = "0";
|
|
|
|
}
|
|
|
|
plCell.Enabled = true;
|
|
cellPanel.StackDevice =devic.ToString();
|
|
cellPanel.WareHouse = GetWarehouse(devic);
|
|
}
|
|
break;
|
|
case 2://输送机
|
|
|
|
dv = dbo.ExceSQL("SELECT F_DeviceIndex, F_DeviceName FROM T_Base_Device WHERE F_DeviceKindIndex =2 and F_DBW1Address is not null and f_s7connection='"+deviceInfo.S7Connection+"'").Tables[0].DefaultView;
|
|
if (dv.Count > 0)
|
|
{
|
|
cbEndPosition.DataSource = null;
|
|
cbEndPosition.DisplayMember = "F_DeviceName";
|
|
cbEndPosition.ValueMember = "F_DeviceIndex";
|
|
cbEndPosition.DataSource = dv;
|
|
txtCellCode.Enabled = false;
|
|
comboBox1.Enabled = false;
|
|
|
|
plCell.Enabled = false;
|
|
}
|
|
comboBox1.Text = "0";
|
|
|
|
break;
|
|
case 13://高端输送机
|
|
comboBox1.Text = "0";
|
|
|
|
dv = dbo.ExceSQL(string.Format("SELECT FUCONVEYOR,F_DeviceName FROM ST_CELL,T_Base_Device WHERE FUCONVEYOR = F_DeviceIndex and (FUCODE = {0})", Convert.ToInt32(this.cbDeviceName.SelectedValue))).Tables[0].DefaultView;
|
|
|
|
if (dv.Count > 0)
|
|
{
|
|
cbBeginDev.DataSource = null;
|
|
cbBeginDev.DisplayMember = "F_DeviceName";
|
|
cbBeginDev.ValueMember = "FUCONVEYOR";
|
|
cbBeginDev.DataSource = dv;
|
|
DataView dv1 = dbo.ExceSQL(string.Format("SELECT FUCONVEYOR,F_DeviceName FROM ST_CELL,T_Base_Device WHERE FUCONVEYOR = F_DeviceIndex and (FUCODE = {0})", Convert.ToInt32(this.cbDeviceName.SelectedValue))).Tables[0].DefaultView;
|
|
|
|
cbEndDev.DataSource = null;
|
|
cbEndDev.DisplayMember = "F_DeviceName";
|
|
cbEndDev.ValueMember = "FUCONVEYOR";
|
|
cbEndDev.DataSource = dv1;
|
|
txtCellCode.Enabled = false;
|
|
comboBox1.Enabled = false;
|
|
|
|
plCell.Enabled = false;
|
|
}
|
|
|
|
|
|
break;
|
|
case 4://RGV
|
|
comboBox1.Text = "0";
|
|
//20130510
|
|
if (Convert.ToInt32(cbDeviceName.SelectedValue) == 23004)
|
|
{
|
|
rgvdev = 23002;
|
|
}
|
|
else if (Convert.ToInt32(cbDeviceName.SelectedValue) == 13004)
|
|
{
|
|
rgvdev = 13002;
|
|
}
|
|
else
|
|
{
|
|
rgvdev = Convert.ToInt32(cbDeviceName.SelectedValue);
|
|
}
|
|
pnGd.Visible = false;
|
|
dv = dbo.ExceSQL("SELECT F_RGVGateDeviceIndex,F_DeviceName FROM T_Base_Device,T_Base_RGV_Gate WHERE F_DeviceIndex=F_RGVGateDeviceIndex and F_ChannelsIndex =" + rgvdev).Tables[0].DefaultView;//20130510
|
|
if (dv.Count > 0)
|
|
{
|
|
cbEndPosition.DataSource = null;
|
|
cbEndPosition.DisplayMember = "F_DeviceName";
|
|
cbEndPosition.ValueMember = "F_RGVGateDeviceIndex";
|
|
cbEndPosition.DataSource = dv;
|
|
comboBox1.Enabled = false;
|
|
|
|
txtCellCode.Enabled = false;
|
|
plCell.Enabled = false;
|
|
}
|
|
|
|
break;
|
|
}
|
|
this.cbEndPosition.Text = "";
|
|
txtCellCode.Text = "";
|
|
}
|
|
}
|
|
|
|
private void button1_Click(object sender, EventArgs e)
|
|
{
|
|
if (MessageBox.Show("您确认要增加手工任务吗?", "操作提示:", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK)
|
|
{
|
|
return;
|
|
}
|
|
|
|
//向调度任务表插入手工任务,管理类型4,
|
|
//管理索引(如果调度任务表没有手工任务,
|
|
//在T_Base_Manage_Task_Index_Hand_Task表去找个基数然后加一)
|
|
try
|
|
{
|
|
//20090910
|
|
if (cbDeviceName.SelectedValue == null)
|
|
{
|
|
MessageBox.Show("请选择设备!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
this.cbDeviceName.Focus();
|
|
return;
|
|
}
|
|
if (this.cbDeviceName.Text.Trim() == "")
|
|
{
|
|
MessageBox.Show("请选择设备!","操作提示:",MessageBoxButtons.OK,MessageBoxIcon.Warning);
|
|
this.cbDeviceName.Focus();
|
|
return;
|
|
}
|
|
if (this.cbDeviceCommand.Text.Trim() == "")
|
|
{
|
|
MessageBox.Show("请选择设备命令!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
this.cbDeviceCommand.Focus();
|
|
return;
|
|
}
|
|
if ((cbDeviceCommand.Text == "复位") || (cbDeviceCommand.Text == "回原点"))
|
|
{
|
|
}
|
|
else
|
|
{
|
|
if (this.txtCellCode.Enabled == true)
|
|
{
|
|
DataView dv0;
|
|
if (this.cbEndPosition.Text == "立库货位")
|
|
{
|
|
int fstack = 0;
|
|
if (cbDeviceName.SelectedValue.ToString() == "35001" || cbDeviceName.SelectedValue.ToString() == "35002")
|
|
{
|
|
fstack = 35000;
|
|
}
|
|
else
|
|
{
|
|
fstack = Convert.ToInt32(cbDeviceName.SelectedValue);
|
|
}
|
|
dv0 = dbo.ExceSQL(string.Format("SELECT FCELLCODE FROM ST_CELL WHERE FStack={0} and (FCELLCODE ='{1}')",fstack,txtCellCode.Text)).Tables[0].DefaultView;
|
|
if (dv0.Count <= 0)
|
|
{
|
|
MessageBox.Show("请输入或选择合适的货位编码!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
this.txtCellCode.Focus();
|
|
return;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
int ep = -1;
|
|
if (cbEndPosition.SelectedValue == null)
|
|
{
|
|
MessageBox.Show("请输入或选择合适的终点位置!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
this.txtCellCode.Focus();
|
|
return;
|
|
}
|
|
int.TryParse(cbEndPosition.SelectedValue.ToString(), out ep);
|
|
if (ep==-1)
|
|
{
|
|
MessageBox.Show("请输入或选择合适的终点位置!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
this.txtCellCode.Focus();
|
|
return;
|
|
}
|
|
dv0 = dbo.ExceSQL("SELECT F_LaneGateDeviceIndex FROM T_Base_Lane_Gate where F_LaneGateDeviceIndex=" + cbEndPosition.SelectedValue + " and F_ZXY='" + txtCellCode.Text + "'").Tables[0].DefaultView;
|
|
if (dv0.Count <= 0)
|
|
{
|
|
MessageBox.Show("请输入或选择合适的货位编码!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
this.txtCellCode.Focus();
|
|
return;
|
|
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
int routeIDsub = GetRouteIDsub(Convert.ToInt32(cbDeviceName.SelectedValue));
|
|
deviceInfo=Model.CGetInfo.GetDeviceInfo(Convert.ToInt32(cbDeviceName.SelectedValue));
|
|
if ((routeIDsub == -1) && (deviceInfo.DeviceKind != 13) && (deviceInfo.DeviceKind != 31))
|
|
{
|
|
|
|
MessageBox.Show("您选择的设备错误!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
return;
|
|
}
|
|
|
|
//DataView dv = dbo.ExceSQL("SELECT F_ManageTASKKINDINDEX, F_DeviceIndex FROM T_Monitor_Task where F_ManageTASKKINDINDEX=4 and F_DeviceIndex=" + this.cbDeviceName.SelectedValue + "").Tables[0].DefaultView;
|
|
//if (dv.Count > 0)
|
|
//{
|
|
// MessageBox.Show("在调度队列中已经存在这个设备的手工命令!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
|
|
// return;
|
|
//}
|
|
DataSet dss = dbo.ExceSQL("SELECT T_Base_Device.F_DeviceKindIndex, F_DeviceCommandName,F_DeviceCommandIndex FROM " +
|
|
"T_Base_Device , T_Base_Device_Command WHERE T_Base_Device.F_DeviceKindIndex"+
|
|
"= T_Base_Device_Command.F_DeviceKindIndex and F_DeviceIndex=" +
|
|
Convert.ToInt32(cbDeviceName.SelectedValue) + " and F_DeviceCommandIndex="+ Convert.ToInt32(this.cbDeviceCommand.SelectedValue) +" and F_DeviceCommandIndex <> -1");
|
|
if (dss.Tables[0].DefaultView.Count <= 0)
|
|
{
|
|
MessageBox.Show("请选择设备和对应的有效命令!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
return;
|
|
}
|
|
//20101028
|
|
string dtime = DateTime.Now.ToString("u");
|
|
dtime = dtime.Substring(0, dtime.Length - 1);
|
|
|
|
int beginDeviceIndex = 0; int Inworkbench = 2,forkno=0;
|
|
|
|
//2 将取,3 将送,4 取货,5 送货
|
|
switch (CStaticClass.GetDeviceKindIdx(Convert.ToInt32(cbDeviceName.SelectedValue)))
|
|
{
|
|
case 1://堆垛机
|
|
if ((cbDeviceCommand.SelectedValue.ToString() == "6" || cbDeviceCommand.SelectedValue.ToString() == "5")&&(this.cbEndPosition.Text == "立库货位"))
|
|
{
|
|
int fstack = 0;
|
|
if (deviceInfo.VirtualStack>0)
|
|
{
|
|
fstack = deviceInfo.VirtualStack;
|
|
}
|
|
else
|
|
{
|
|
fstack = Convert.ToInt32(cbDeviceName.SelectedValue);
|
|
}
|
|
DataView dv0 = dbo.ExceSQL(string.Format("SELECT FCELLCODE FROM ST_CELL WHERE fstack={0} and (FCELLCODE ='{1}')", fstack, txtCellCode1.Text)).Tables[0].DefaultView;
|
|
if (dv0.Count <= 0)
|
|
{
|
|
MessageBox.Show("请输入或选择合适的送货位编码!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
this.txtCellCode1.Focus();
|
|
return;
|
|
}
|
|
|
|
}
|
|
if (this.comboBox1.Text.Trim() == "")
|
|
{
|
|
forkno = 0;
|
|
}
|
|
else
|
|
{
|
|
forkno = Convert.ToInt32(this.comboBox1.Text);
|
|
}
|
|
break;
|
|
case 2://输送机
|
|
if (cbEndPosition.Text.Trim().Length==0 )
|
|
{
|
|
MessageBox.Show("请选择目标位置!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
this.cbEndPosition.Focus();
|
|
return;
|
|
}
|
|
if (cbDeviceCommand.SelectedValue.ToString() != "6")
|
|
{
|
|
cbEndPosition.Text = "0";
|
|
|
|
}
|
|
|
|
int.TryParse(this.comboBox1.Text, out forkno);
|
|
|
|
break;
|
|
case 4://RGV
|
|
if (cbEndPosition.SelectedValue == null)
|
|
{
|
|
MessageBox.Show("请选择目标位置!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
this.cbEndPosition.Focus();
|
|
return;
|
|
}
|
|
|
|
break;
|
|
case 13://高端
|
|
if (cbEndDev.SelectedValue == null)
|
|
{
|
|
MessageBox.Show("请选择目标位置!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
this.cbEndDev.Focus();
|
|
return;
|
|
}
|
|
if (cbBeginDev.SelectedValue == null)
|
|
{
|
|
MessageBox.Show("请选择目标位置!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
this.cbBeginDev.Focus();
|
|
return;
|
|
}
|
|
beginDeviceIndex = Convert.ToInt32(cbBeginDev.SelectedValue);
|
|
if (int.TryParse(cbInWorkBench.Text, out Inworkbench) == false)
|
|
{
|
|
MessageBox.Show("请选择是否进工位!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
this.cbInWorkBench.Focus();
|
|
return;
|
|
}
|
|
forkno = Inworkbench;
|
|
break;
|
|
}
|
|
//调用服务
|
|
string errtext=string.Empty;
|
|
string epp = string.Empty;
|
|
if (cbEndPosition.SelectedValue == null)
|
|
{
|
|
epp = "0";
|
|
}
|
|
else
|
|
{
|
|
epp = cbEndPosition.SelectedValue.ToString();
|
|
}
|
|
string cellcode = string.Empty ;
|
|
if (deviceInfo.DeviceKind == 13)
|
|
{
|
|
epp = cbEndDev.SelectedValue.ToString();
|
|
cellcode = tbFPALLETBARCODE.Text;
|
|
}
|
|
else
|
|
{
|
|
cellcode = txtCellCode.Text;
|
|
}
|
|
string cforks = string.Empty;
|
|
if (fork2.Checked == true)
|
|
{
|
|
cforks = ",2";
|
|
}
|
|
if (fork3.Checked == true)
|
|
{
|
|
cforks =cforks+ ",3";
|
|
}
|
|
if (cforks.Length >= 2)
|
|
{
|
|
cforks = cforks.Substring(1);
|
|
}
|
|
Model.HandTask ht=new Model.HandTask(Convert.ToInt32(cbDeviceName.SelectedValue)
|
|
,Convert.ToInt32(cbDeviceCommand.SelectedValue),beginDeviceIndex, epp,
|
|
cellcode, txtCellCode1.Text, forkno, cforks );
|
|
|
|
CStaticClass.WcfControl.BeginBuildHandTask(ht,new AsyncCallback(BuildHandTaskCallBack ),ht);
|
|
|
|
}
|
|
catch(Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
|
|
}
|
|
int GetManageHandIdx()
|
|
{
|
|
DataSet ds = dbo.ExceSQL("SELECT F_ManageTaskKindIndex, max(FID) as mFID FROM T_Manage_Task Where F_ManageTaskKindIndex=4 group by F_ManageTaskKindIndex");
|
|
if (ds.Tables[0].DefaultView.Count > 0)
|
|
{
|
|
return (Convert.ToInt32(ds.Tables[0].DefaultView[0]["mFID"]) + 1);
|
|
}
|
|
else
|
|
{
|
|
DataSet dss = dbo.ExceSQL("SELECT F_ManageTaskIndex FROM T_Base_Manage_Task_Index_Hand_Task");
|
|
if (dss.Tables[0].DefaultView.Count > 0)
|
|
{
|
|
if ((Convert.ToInt32(dss.Tables[0].DefaultView[0]["F_ManageTaskIndex"]) + 1) >= 29998)
|
|
{
|
|
return 20001;
|
|
}
|
|
else
|
|
{
|
|
return (Convert.ToInt32(dss.Tables[0].DefaultView[0]["F_ManageTaskIndex"]) + 1);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
return 20001;
|
|
}
|
|
}
|
|
}
|
|
void RecordMaxHandTaskFID(int fid)
|
|
{
|
|
DataSet ds = dbo.ExceSQL("select F_ManageTaskIndex from T_Base_Manage_Task_Index_Hand_Task");
|
|
DataView dv = ds.Tables[0].DefaultView;
|
|
if (dv.Count > 0)
|
|
{
|
|
if (fid == 29998)
|
|
{
|
|
dbo.ExceSQL("UPDATE T_Base_Manage_Task_Index_Hand_Task SET F_ManageTaskIndex =20001" );
|
|
return;
|
|
}
|
|
if (fid > Convert.ToInt32(dv[0]["F_ManageTaskIndex"]))
|
|
{
|
|
dbo.ExceSQL("UPDATE T_Base_Manage_Task_Index_Hand_Task SET F_ManageTaskIndex =" + fid);
|
|
return;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
dbo.ExceSQL("INSERT INTO T_Base_Manage_Task_Index_Hand_Task (F_ManageTaskIndex)VALUES (" + fid + ")");
|
|
return;
|
|
}
|
|
}
|
|
|
|
void BuildHandTaskCallBack( IAsyncResult ar)
|
|
{
|
|
string errtext = string.Empty;
|
|
|
|
if (CStaticClass.WcfControl.EndBuildHandTask(out errtext, ar) == false)
|
|
{
|
|
MessageBox.Show(errtext, "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
}
|
|
}
|
|
string GetWarehouse(int Fstack)
|
|
{
|
|
DataView dv = dbo.ExceSQL(string.Format("SELECT DISTINCT FWAREHOUSE FROM ST_CELL WHERE (Fstack = {0})", Fstack)).Tables[0].DefaultView;
|
|
if (dv.Count > 0)
|
|
{
|
|
return dv[0][0].ToString();
|
|
}
|
|
else
|
|
{
|
|
return "01";
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int GetRouteIDsub(int device)
|
|
{
|
|
DataView dv = dbo.ExceSQL("SELECT F_RouteIDSub, F_DeviceIndex, F_RouteID FROM T_Base_Route_Device where F_DeviceIndex="+device+"").Tables[0].DefaultView;
|
|
if (dv.Count > 0)
|
|
{
|
|
return Convert.ToInt32(dv[0]["F_RouteIDSub"]);
|
|
}
|
|
else
|
|
{
|
|
return -1;
|
|
}
|
|
}
|
|
|
|
private void cbDeviceCommand_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
if (this.cbDeviceCommand.SelectedValue != null && this.cbDeviceName.SelectedValue != null && this.cbDeviceCommand.Text.Trim() != "")
|
|
{
|
|
switch (CStaticClass.GetDeviceKindIdx(Convert.ToInt32(this.cbDeviceName.SelectedValue)))
|
|
{
|
|
case 1:
|
|
if (cbDeviceCommand.SelectedValue.ToString() == "1")
|
|
{
|
|
txtCellCode.Text = "00-00-00";
|
|
txtCellCode.Enabled = true;
|
|
txtCellCode1.Enabled = false;
|
|
txtCellCode1.Text = "";
|
|
cbEndPosition.SelectedValue = 0;
|
|
}
|
|
else if (cbDeviceCommand.SelectedValue.ToString() == "6")
|
|
{
|
|
txtCellCode.Enabled = true;
|
|
txtCellCode.Text = "";
|
|
txtCellCode1.Enabled = true;
|
|
txtCellCode1.Text = "";
|
|
|
|
}
|
|
else if ((cbDeviceCommand.SelectedValue.ToString() == "2") || (cbDeviceCommand.SelectedValue.ToString() == "4"))
|
|
{
|
|
txtCellCode.Enabled = true;
|
|
txtCellCode.Text = "";
|
|
txtCellCode1.Enabled = false;
|
|
txtCellCode1.Text = "";
|
|
cellPanel.ControlCellCode = txtCellCode;
|
|
}
|
|
else if ((cbDeviceCommand.SelectedValue.ToString() == "3") || (cbDeviceCommand.SelectedValue.ToString() == "5"))
|
|
{
|
|
txtCellCode.Enabled = false;
|
|
txtCellCode.Text = "";
|
|
txtCellCode1.Enabled = true;
|
|
txtCellCode1.Text = "";
|
|
|
|
cellPanel.ControlCellCode = txtCellCode1;
|
|
|
|
|
|
}
|
|
else
|
|
{
|
|
txtCellCode1.Enabled = false;
|
|
txtCellCode1.Text = "";
|
|
txtCellCode.Text = "";
|
|
}
|
|
|
|
break;
|
|
case 2:
|
|
|
|
if (cbDeviceCommand.SelectedValue.ToString() != "6")
|
|
{
|
|
|
|
cbEndPosition.SelectedValue = 0;
|
|
cbEndPosition.Text = "0";
|
|
}
|
|
else
|
|
{
|
|
|
|
cbEndPosition.SelectedValue = -1;
|
|
cbEndPosition.Text = "";
|
|
}
|
|
txtCellCode.Text = "";
|
|
txtCellCode1.Enabled = false;
|
|
txtCellCode1.Text = "";
|
|
break;
|
|
case 31:
|
|
|
|
if (cbDeviceCommand.SelectedValue.ToString() != "6")
|
|
{
|
|
|
|
cbEndPosition.SelectedValue = 0;
|
|
cbEndPosition.Text = "0";
|
|
}
|
|
else
|
|
{
|
|
|
|
cbEndPosition.SelectedValue = -1;
|
|
cbEndPosition.Text = "";
|
|
}
|
|
txtCellCode.Text = "";
|
|
txtCellCode.Enabled = false;
|
|
txtCellCode1.Enabled = false;
|
|
txtCellCode1.Text = "";
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void cbEndPosition_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
int devic = 35000;
|
|
if ((Convert.ToInt32(cbDeviceName.SelectedValue) == 35001) || (Convert.ToInt32(cbDeviceName.SelectedValue) == 35002))
|
|
{
|
|
devic = 35000;
|
|
}
|
|
else
|
|
{
|
|
devic = Convert.ToInt32(cbDeviceName.SelectedValue);
|
|
}
|
|
if (this.cbEndPosition.SelectedValue == null) return;
|
|
int qq=-1;
|
|
if (int.TryParse(this.cbEndPosition.SelectedValue.ToString(),out qq) == true)
|
|
{
|
|
DataView dv = dbo.ExceSQL(string.Format("SELECT T_Base_Lane_Gate.F_ZXY FROM T_Base_LaneInfo,T_Base_Lane_Gate WHERE T_Base_LaneInfo.F_LaneDeviceIndex = T_Base_Lane_Gate.F_LaneIndex and (T_Base_LaneInfo.F_StackIndex = {0}) AND (T_Base_Lane_Gate.F_LaneGateDeviceIndex = {1})",devic,cbEndPosition.SelectedValue)).Tables[0].DefaultView;
|
|
if (dv.Count > 0)
|
|
{
|
|
if (txtCellCode.Enabled == true)
|
|
{
|
|
txtCellCode.Text = dv[0][0].ToString();
|
|
}
|
|
else
|
|
{
|
|
txtCellCode1.Text = dv[0][0].ToString();
|
|
}
|
|
|
|
}
|
|
else
|
|
{
|
|
|
|
txtCellCode.Text = "";
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
private void txtCellCode_TextChanged(object sender, EventArgs e)
|
|
{
|
|
if(this.cbDeviceName.SelectedValue==null)return;
|
|
if (CStaticClass.GetDeviceKindIdx(Convert.ToInt32(this.cbDeviceName.SelectedValue)) != 1) return;
|
|
int fstack = 0;
|
|
if (cbDeviceName.SelectedValue.ToString() == "35001" || cbDeviceName.SelectedValue.ToString() == "35002")
|
|
{
|
|
fstack = 35000;
|
|
}
|
|
else
|
|
{
|
|
fstack = Convert.ToInt32(cbDeviceName.SelectedValue);
|
|
}
|
|
DataView dv0 = dbo.ExceSQL("SELECT F_LaneGateDeviceIndex FROM T_Base_Lane_Gate WHERE F_ZXY='" + txtCellCode.Text + "' and F_LaneIndex=" + CStaticClass.GetLaneWay(fstack) + "").Tables[0].DefaultView;
|
|
if (dv0.Count > 0)
|
|
{
|
|
this.cbEndPosition.SelectedValue = dv0[0][0];
|
|
}
|
|
else
|
|
{
|
|
dv0 = dbo.ExceSQL("SELECT FCELLCODE FROM ST_CELL WHERE fstack="+fstack+" and (FCELLCODE ='" + txtCellCode.Text + "')").Tables[0].DefaultView;
|
|
if (dv0.Count > 0)
|
|
{
|
|
|
|
this.cbEndPosition.SelectedValue = 0;
|
|
this.cbEndPosition.Text = "立库货位";
|
|
}
|
|
}
|
|
}
|
|
|
|
private void FrmHandCommand_FormClosing(object sender, FormClosingEventArgs e)
|
|
{
|
|
_formInstance = null;
|
|
}
|
|
|
|
private void txtCellCode1_TextChanged(object sender, EventArgs e)
|
|
{
|
|
if (this.cbDeviceName.SelectedValue == null) return;
|
|
if (CStaticClass.GetDeviceKindIdx(Convert.ToInt32(this.cbDeviceName.SelectedValue)) != 1) return;
|
|
int fstack = 0;
|
|
if (cbDeviceName.SelectedValue.ToString() == "35001" || cbDeviceName.SelectedValue.ToString() == "35002")
|
|
{
|
|
fstack = 35000;
|
|
}
|
|
else
|
|
{
|
|
fstack = Convert.ToInt32(cbDeviceName.SelectedValue);
|
|
}
|
|
DataView dv0 = dbo.ExceSQL("SELECT F_LaneGateDeviceIndex FROM T_Base_Lane_Gate WHERE F_ZXY='" + txtCellCode1.Text + "' and F_LaneIndex=" + CStaticClass.GetLaneWay(fstack) + "").Tables[0].DefaultView;
|
|
if (dv0.Count > 0)
|
|
{
|
|
this.cbEndPosition.SelectedValue = dv0[0][0];
|
|
}
|
|
else
|
|
{
|
|
dv0 = dbo.ExceSQL("SELECT FCELLCODE FROM ST_CELL WHERE fstack=" + fstack + " and (FCELLCODE ='" + txtCellCode1.Text + "')").Tables[0].DefaultView;
|
|
if (dv0.Count > 0)
|
|
{
|
|
|
|
this.cbEndPosition.SelectedValue = 0;
|
|
this.cbEndPosition.Text = "立库货位";
|
|
}
|
|
}
|
|
}
|
|
|
|
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
if (comboBox1.Text == "1")
|
|
{
|
|
fork2.Visible = true;
|
|
fork3.Visible = true;
|
|
}
|
|
else if (comboBox1.Text == "2")
|
|
{
|
|
fork2.Visible = false;
|
|
fork3.Visible = true;
|
|
}
|
|
else if (comboBox1.Text == "3")
|
|
{
|
|
fork2.Visible = false;
|
|
fork3.Visible = false;
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|