|
|
|
|
using System;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Windows.Forms;
|
|
|
|
|
using Mesnac.Action.Base;
|
|
|
|
|
using Mesnac.Action.ChemicalWeighing.LjPlanning.Db;
|
|
|
|
|
using Mesnac.PlcUtils;
|
|
|
|
|
|
|
|
|
|
namespace Mesnac.Action.ChemicalWeighing.LjPlanning
|
|
|
|
|
{
|
|
|
|
|
public class PauseAction:ChemicalWeighingAction, IAction
|
|
|
|
|
{
|
|
|
|
|
private DbMCControl _materialGridControl = null; //物料列表控件
|
|
|
|
|
private RuntimeParameter _runtime;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static event EventHandler OnPause;
|
|
|
|
|
|
|
|
|
|
public void Run(RuntimeParameter runtime)
|
|
|
|
|
{
|
|
|
|
|
base.RunIni(runtime); //必须调用
|
|
|
|
|
this._runtime = runtime;
|
|
|
|
|
DbMCControl materialGridControl =
|
|
|
|
|
this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "lj_planning")
|
|
|
|
|
.FirstOrDefault(); //获取物料数据控件
|
|
|
|
|
this._materialGridControl = materialGridControl;
|
|
|
|
|
|
|
|
|
|
DataGridView clientGridView = this._materialGridControl.BaseControl as DataGridView;
|
|
|
|
|
|
|
|
|
|
//验证是否选中某物料
|
|
|
|
|
if (clientGridView.SelectedRows.Count != 1)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
MessageBox.Show("请选择要修改的数据", Mesnac.Basic.LanguageHelper.Caption,
|
|
|
|
|
MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
|
|
|
this._runtime.IsReturn = true;
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var dataGridViewRow = clientGridView.SelectedRows[0];
|
|
|
|
|
var id = Convert.ToInt32(dataGridViewRow.Cells["Id"].Value);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Pause
|
|
|
|
|
|
|
|
|
|
var i = BasePlcHelper.Instance.RecipePause.LastValue.ToInt();
|
|
|
|
|
string message = "是否暂停系统";
|
|
|
|
|
var formul = LjFormulaDb.GetById(id);
|
|
|
|
|
var plc = BasePlcHelper.Instance;
|
|
|
|
|
if (MessageBox.Show(message, "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) ==
|
|
|
|
|
DialogResult.OK)
|
|
|
|
|
{
|
|
|
|
|
var unit= formul.Unit;
|
|
|
|
|
switch (unit)
|
|
|
|
|
{
|
|
|
|
|
case 1:
|
|
|
|
|
plc.PlcWriteByDataKey(plc.Plan0_Pause, new object[] { 1 });
|
|
|
|
|
break;
|
|
|
|
|
case 2:
|
|
|
|
|
plc.PlcWriteByDataKey(plc.Plan1_Pause, new object[] { 1 });
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case 3:
|
|
|
|
|
plc.PlcWriteByDataKey(plc.Plan2_Pause, new object[] { 1 });
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case 4:
|
|
|
|
|
plc.PlcWriteByDataKey(plc.Plan3_Pause, new object[] { 1 });
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (OnPause != null)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
OnPause(this._runtime.BaseControl.MCRoot, System.EventArgs.Empty);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|