|
|
using DataBlockHelper.DBHelpers;
|
|
|
using DataBlockHelper.Entity.DB2106Entity;
|
|
|
using HslCommunication.Instrument.DLT;
|
|
|
using Mesnac.Action.Base;
|
|
|
using Mesnac.Action.ChemicalWeighing.FreeDb;
|
|
|
using Mesnac.Action.ChemicalWeighing.MainDetailControl.Entity;
|
|
|
using Mesnac.Action.ChemicalWeighing.Report.Entity;
|
|
|
using Mesnac.Basic;
|
|
|
using Mesnac.Controls.ChemicalWeighing;
|
|
|
using Mesnac.Controls.Default;
|
|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Linq;
|
|
|
using System.Reflection;
|
|
|
using System.Text;
|
|
|
using System.Threading.Tasks;
|
|
|
using System.Windows.Forms;
|
|
|
|
|
|
namespace Mesnac.Action.ChemicalWeighing.ManualControl
|
|
|
{
|
|
|
public class ForceWaterControl : ChemicalWeighingAction, IAction
|
|
|
{
|
|
|
FHslSwitchEntity HslSwitchE = new FHslSwitchEntity();
|
|
|
FMCTextBoxEntity MCTextBoxE = new FMCTextBoxEntity();
|
|
|
FMCButtonEntity ButtonE = new FMCButtonEntity();
|
|
|
FMCRadioButtonEntity RadioButtonE = new FMCRadioButtonEntity();
|
|
|
DB2105Helper DB2105 = new DB2105Helper();
|
|
|
|
|
|
|
|
|
private List<Control> Controls;
|
|
|
|
|
|
Timer timer;
|
|
|
|
|
|
private byte GelChooseA;
|
|
|
private byte GelChooseB;
|
|
|
|
|
|
public void Run(RuntimeParameter runtime)
|
|
|
{
|
|
|
base.RunIni(runtime); //必须要调用
|
|
|
|
|
|
Controls = GetAllControls();
|
|
|
|
|
|
SetAllControls();
|
|
|
|
|
|
HslSwitchE.ForceControlHA.OnSwitchChanged += ForceControl_OnSwitchChanged;
|
|
|
HslSwitchE.ForceControlCA.OnSwitchChanged += ForceControl_OnSwitchChanged;
|
|
|
HslSwitchE.ForceControlHB.OnSwitchChanged += ForceControl_OnSwitchChanged;
|
|
|
HslSwitchE.ForceControlCB.OnSwitchChanged += ForceControl_OnSwitchChanged;
|
|
|
|
|
|
StateRefresh(new object(), new EventArgs());
|
|
|
|
|
|
BottomSelect(runtime);
|
|
|
|
|
|
//timer = new Timer();
|
|
|
//timer.Interval = 1000;
|
|
|
//timer.Enabled = true;
|
|
|
//timer.Tick += new EventHandler(StateRefresh);//添加事件
|
|
|
}
|
|
|
|
|
|
private void ForceControl_OnSwitchChanged(object obj, bool state)
|
|
|
{
|
|
|
DB2105 = new DB2105Helper();
|
|
|
if (state)
|
|
|
{
|
|
|
if (MessageBox.Show("是否要打开强制排水模式?", "强制模式启动确认",
|
|
|
MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
|
|
|
{
|
|
|
HslSwitch hs = obj as HslSwitch;
|
|
|
hs.SwitchStatus = false;
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
HslSwitch hslSwitch = obj as HslSwitch;
|
|
|
string name = hslSwitch.Name;
|
|
|
switch (name)
|
|
|
{
|
|
|
case "ForceControlHA":
|
|
|
DB2105WriteHelper.AddHaAddForceOn(state);
|
|
|
break;
|
|
|
case "ForceControlCA":
|
|
|
DB2105WriteHelper.AddCaAddForceOn(state);
|
|
|
break;
|
|
|
case "ForceControlHB":
|
|
|
DB2105WriteHelper.AddHbAddForceOn(state);
|
|
|
break;
|
|
|
case "ForceControlCB":
|
|
|
DB2105WriteHelper.AddCbAddForceOn(state);
|
|
|
break;
|
|
|
default: break;
|
|
|
}
|
|
|
DefaultSwitch(hslSwitch, state);
|
|
|
}
|
|
|
|
|
|
private void StateRefresh(object sender, EventArgs e)
|
|
|
{
|
|
|
HslSwitchE.ForceControlHA.SwitchStatus = DB2105.Force_HA.forceOn;
|
|
|
HslSwitchE.ForceControlCA.SwitchStatus = DB2105.Force_CA.forceOn;
|
|
|
HslSwitchE.ForceControlHB.SwitchStatus = DB2105.Force_HB.forceOn;
|
|
|
HslSwitchE.ForceControlCB.SwitchStatus = DB2105.Force_CB.forceOn;
|
|
|
DefaultSwitch(HslSwitchE.ForceControlHA, DB2105.Force_HA.forceOn);
|
|
|
DefaultSwitch(HslSwitchE.ForceControlCA, DB2105.Force_CA.forceOn);
|
|
|
DefaultSwitch(HslSwitchE.ForceControlHB, DB2105.Force_HB.forceOn);
|
|
|
DefaultSwitch(HslSwitchE.ForceControlCB, DB2105.Force_CB.forceOn);
|
|
|
}
|
|
|
|
|
|
private void BottomSelect(RuntimeParameter runtime)
|
|
|
{
|
|
|
DB2105 = new DB2105Helper();
|
|
|
|
|
|
SingleSelect();
|
|
|
|
|
|
if (ButtonE.StartMetage1 == runtime.Sender)
|
|
|
{
|
|
|
if (!DB2105.Force_CA.forceOn)
|
|
|
{
|
|
|
MessageBox.Show("冷水称A强制控制按钮未打开!");
|
|
|
return;
|
|
|
}
|
|
|
if (MessageBox.Show("确认向冷水称A补充?", "强制模式启动确认",
|
|
|
MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
DB2105WriteHelper.AddCaAddValue(Convert.ToInt16(MCTextBoxE.SetWaterValue1.Text));
|
|
|
DB2105WriteHelper.AddCaAddForceBin(GelChooseA);
|
|
|
DB2105WriteHelper.AddCaAddStartIn(true);
|
|
|
ManualLogControl("冷水称A强制补充", Convert.ToInt16(MCTextBoxE.SetWaterValue1.Text), GelChooseA);
|
|
|
MessageBox.Show("冷水称A强制补充");
|
|
|
}
|
|
|
if (ButtonE.StartMetage2 == runtime.Sender)
|
|
|
{
|
|
|
if (!DB2105.Force_HA.forceOn)
|
|
|
{
|
|
|
MessageBox.Show("热水称A强制控制按钮未打开!");
|
|
|
return;
|
|
|
}
|
|
|
if (MessageBox.Show("确认向热水称A补充?", "强制模式启动确认",
|
|
|
MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
DB2105WriteHelper.AddHaAddValue(Convert.ToInt16(MCTextBoxE.SetWaterValue2.Text));
|
|
|
DB2105WriteHelper.AddHaAddForceBin(GelChooseA);
|
|
|
DB2105WriteHelper.AddHaAddStartIn(true);
|
|
|
ManualLogControl("热水称A强制补充", Convert.ToInt16(MCTextBoxE.SetWaterValue2.Text), GelChooseA);
|
|
|
MessageBox.Show("热水称A强制补充");
|
|
|
}
|
|
|
if (ButtonE.StartMetage3 == runtime.Sender)
|
|
|
{
|
|
|
if (!DB2105.Force_CB.forceOn)
|
|
|
{
|
|
|
MessageBox.Show("冷水称B强制控制按钮未打开!");
|
|
|
return;
|
|
|
}
|
|
|
if (MessageBox.Show("确认向冷水称B补充?", "强制模式启动确认",
|
|
|
MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
DB2105WriteHelper.AddCbAddValue(Convert.ToInt16(MCTextBoxE.SetWaterValue3.Text));
|
|
|
DB2105WriteHelper.AddCbAddForceBin(GelChooseB);
|
|
|
DB2105WriteHelper.AddCbAddStartIn(true);
|
|
|
ManualLogControl("冷水称B强制补充", Convert.ToInt16(MCTextBoxE.SetWaterValue3.Text), GelChooseB + 4);
|
|
|
MessageBox.Show("冷水称B强制补充");
|
|
|
}
|
|
|
if (ButtonE.StartMetage4 == runtime.Sender)
|
|
|
{
|
|
|
if (!DB2105.Force_HB.forceOn)
|
|
|
{
|
|
|
MessageBox.Show("热水称B强制控制按钮未打开!");
|
|
|
return;
|
|
|
}
|
|
|
if (MessageBox.Show("确认向热水称B补充?", "强制模式启动确认",
|
|
|
MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
DB2105WriteHelper.AddHbAddValue(Convert.ToInt16(MCTextBoxE.SetWaterValue4.Text));
|
|
|
DB2105WriteHelper.AddHbAddForceBin(GelChooseB);
|
|
|
DB2105WriteHelper.AddHbAddStartIn(true);
|
|
|
ManualLogControl("热水称B强制补充", Convert.ToInt16(MCTextBoxE.SetWaterValue4.Text), GelChooseB + 4);
|
|
|
MessageBox.Show("热水称B强制补充");
|
|
|
}
|
|
|
|
|
|
|
|
|
if (ButtonE.StartOut1 == runtime.Sender)
|
|
|
{
|
|
|
if (!DB2105.Force_CA.forceOn)
|
|
|
{
|
|
|
MessageBox.Show("冷水称A强制控制按钮未打开!");
|
|
|
return;
|
|
|
}
|
|
|
if (MessageBox.Show("确认向" + GelChooseA + "排水?", "强制模式启动确认",
|
|
|
MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
DB2105WriteHelper.AddCaAddRemainValue(Convert.ToInt16(MCTextBoxE.StayWaterValue1.Text));
|
|
|
DB2105WriteHelper.AddCaAddForceBin(GelChooseA);
|
|
|
DB2105WriteHelper.AddCaAddStartOut(true);
|
|
|
ManualLogControl("冷水称A强制排水", Convert.ToInt16(MCTextBoxE.StayWaterValue1.Text), GelChooseA);
|
|
|
MessageBox.Show("冷水称A强制排水");
|
|
|
}
|
|
|
if (ButtonE.StartOut2 == runtime.Sender)
|
|
|
{
|
|
|
if (!DB2105.Force_HA.forceOn)
|
|
|
{
|
|
|
MessageBox.Show("热水称A强制控制按钮未打开!");
|
|
|
return;
|
|
|
}
|
|
|
if (MessageBox.Show("确认向" + GelChooseA + "排水?", "强制模式启动确认",
|
|
|
MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
DB2105WriteHelper.AddHaAddRemainValue(Convert.ToInt16(MCTextBoxE.StayWaterValue2.Text));
|
|
|
DB2105WriteHelper.AddHaAddForceBin(GelChooseA);
|
|
|
DB2105WriteHelper.AddHaAddStartOut(true);
|
|
|
ManualLogControl("热水称A强制排水", Convert.ToInt16(MCTextBoxE.StayWaterValue2.Text), GelChooseA);
|
|
|
MessageBox.Show("热水称A强制排水");
|
|
|
}
|
|
|
if (ButtonE.StartOut3 == runtime.Sender)
|
|
|
{
|
|
|
if (!DB2105.Force_CB.forceOn)
|
|
|
{
|
|
|
MessageBox.Show("冷水称B强制控制按钮未打开!");
|
|
|
return;
|
|
|
}
|
|
|
if (MessageBox.Show("确认向" + GelChooseB + 4 + "排水?", "强制模式启动确认",
|
|
|
MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
DB2105WriteHelper.AddCbAddRemainValue(Convert.ToInt16(MCTextBoxE.StayWaterValue3.Text));
|
|
|
DB2105WriteHelper.AddCbAddForceBin(GelChooseB);
|
|
|
DB2105WriteHelper.AddCbAddStartOut(true);
|
|
|
ManualLogControl("冷水称B强制排水", Convert.ToInt16(MCTextBoxE.StayWaterValue3.Text), GelChooseB + 4);
|
|
|
MessageBox.Show("冷水称B强制排水");
|
|
|
}
|
|
|
if (ButtonE.StartOut4 == runtime.Sender)
|
|
|
{
|
|
|
if (!DB2105.Force_HB.forceOn)
|
|
|
{
|
|
|
MessageBox.Show("热水称B强制控制按钮未打开!");
|
|
|
return;
|
|
|
}
|
|
|
if (MessageBox.Show("确认向" + GelChooseB + 4 + "排水?", "强制模式启动确认",
|
|
|
MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
DB2105WriteHelper.AddHbAddRemainValue(Convert.ToInt16(MCTextBoxE.StayWaterValue4.Text));
|
|
|
DB2105WriteHelper.AddHbAddForceBin(GelChooseB);
|
|
|
DB2105WriteHelper.AddHbAddStartOut(true);
|
|
|
ManualLogControl("热水称B强制排水", Convert.ToInt16(MCTextBoxE.StayWaterValue4.Text), GelChooseB + 4);
|
|
|
MessageBox.Show("热水称B强制排水");
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
private void DefaultSwitch(HslSwitch hslSwitch, bool state)
|
|
|
{
|
|
|
string status = state ? "强制状态开" : "强制状态关";
|
|
|
hslSwitch.Text = status;
|
|
|
}
|
|
|
|
|
|
private void SingleSelect()
|
|
|
{
|
|
|
if (Convert.ToBoolean(RadioButtonE.Gel1.MCValue) == true)
|
|
|
{
|
|
|
GelChooseA = 1;
|
|
|
}
|
|
|
|
|
|
if (Convert.ToBoolean(RadioButtonE.Gel2.MCValue) == true)
|
|
|
{
|
|
|
GelChooseA = 2;
|
|
|
}
|
|
|
|
|
|
if (Convert.ToBoolean(RadioButtonE.Gel3.MCValue) == true)
|
|
|
{
|
|
|
GelChooseA = 3;
|
|
|
}
|
|
|
|
|
|
if (Convert.ToBoolean(RadioButtonE.Gel4.MCValue) == true)
|
|
|
{
|
|
|
GelChooseA = 4;
|
|
|
}
|
|
|
|
|
|
if (Convert.ToBoolean(RadioButtonE.Gel5.MCValue) == true)
|
|
|
{
|
|
|
GelChooseB = 1;
|
|
|
}
|
|
|
|
|
|
if (Convert.ToBoolean(RadioButtonE.Gel6.MCValue) == true)
|
|
|
{
|
|
|
GelChooseB = 2;
|
|
|
}
|
|
|
|
|
|
if (Convert.ToBoolean(RadioButtonE.Gel7.MCValue) == true)
|
|
|
{
|
|
|
GelChooseB = 3;
|
|
|
}
|
|
|
|
|
|
if (Convert.ToBoolean(RadioButtonE.Gel8.MCValue) == true)
|
|
|
{
|
|
|
GelChooseB = 4;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void SetAllControls()
|
|
|
{
|
|
|
ControlsHelper.ControlImport<HslSwitch>(HslSwitchE, Controls);
|
|
|
ControlsHelper.ControlImport<MCTextBox>(MCTextBoxE, Controls);
|
|
|
ControlsHelper.ControlImport<MCButton>(ButtonE, Controls);
|
|
|
ControlsHelper.ControlImport<MCRadioButton>(RadioButtonE, Controls);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 日志插入
|
|
|
/// </summary>
|
|
|
/// <param name="logName">日志内容</param>
|
|
|
/// <param name="value">值</param>
|
|
|
/// <param name="valuekind">值类型 0无 1水称设定值 2水称称量值 3螺旋设定值 4螺旋称量值</param>
|
|
|
/// <param name="deviceno">设备编号</param>
|
|
|
/// <param name="devicekind">设备类型 0无 1水称 2螺旋</param>
|
|
|
public void ManualLogControl(string logName, int value, int deviceno)
|
|
|
{
|
|
|
var Log = new LjLogEntity()
|
|
|
{
|
|
|
logtext = logName,
|
|
|
logtime = DateTime.Now,
|
|
|
userid = string.IsNullOrWhiteSpace(UserInfo.Instance.UserName) ? "Edit" : UserInfo.Instance.UserName,
|
|
|
value = value,
|
|
|
deviceno = deviceno,
|
|
|
devicekind = 1,
|
|
|
valuekind = 0,
|
|
|
createdate = DateTime.Now.ToString("yyyyMMdd")
|
|
|
};
|
|
|
|
|
|
FreeSqlUnit.Instance.Insert(Log).ExecuteIdentity();
|
|
|
}
|
|
|
}
|
|
|
}
|