You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lj_plc/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjPlanning/FrmWeiRecipeDataAdd.cs

1153 lines
41 KiB
C#


using DevExpress.PivotGrid.OLAP.Mdx;
using HslCommunication.Robot.YASKAWA;
using Mesnac.Action.ChemicalWeighing.LjMaterial;
using Mesnac.Action.ChemicalWeighing.LjPlanning.Db;
using Mesnac.Action.ChemicalWeighing.LjPlanning.Entity;
using Mesnac.Codd.Session;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Windows.Forms;
namespace Mesnac.Action.ChemicalWeighing.LjPlanning
{
public partial class FrmWeiRecipeDataAdd : Form
{
public FrmWeiRecipeDataAdd()
{
InitializeComponent();
Init();
FillDryer();
FillSilo();
FillSiloWater();
FillDataGridDryer1Action();
//糊化
FillDataGridSilo1Action();
FillDataGridWeter1Action();
//and MachineType='Dry' and FormulaType=1 and Machine=1
//dataGridDryer.DataSource = list;
//dataGridDryer.Rows.Add();
}
int _id = 0;
public FrmWeiRecipeDataAdd(int id) : this()
{
this._id = id;
var main = LjFormulaDb.GetById(id);
if (null != main)
{
this.txtName.Text = main.FormulaName;
foreach (MyNameValue drpTypeItem in DrpCpType.Items)
{
if (drpTypeItem.Id == main.RecipeTypeId)
{
DrpCpType.SelectedItem = drpTypeItem;
break;
}
}
txtCpVersion.Text = main.FormulaVersion;
}
1 year ago
var detail = LjFormulaDb.GetDetail(_id);
UpdateDataGridDryer(detail);
UpdateDataGridSilo(detail,main.CbSiloC);
UpdateDryH(detail);
UpdatSiloH(detail,main.CbSiloH);
UpdatWeterH(detail, main.CbWeterH);
}
/// <summary>
/// 更新干混机
/// </summary>
/// <param name="ljs"></param>
private void UpdateDataGridDryer(List<LjFormulaDetail> detail)
{
dataGridDryer.DataError += DataGrid_DataError;
dataGridDryer.AutoGenerateColumns = false;
dataGridDryer.AllowUserToAddRows = true;
//MachineType='Dry' and FormulaType=1 and Machine='A'
var data = detail.Where(x => x.MachineType == "Dry" && x.FormulaType == 1 && x.Machine == "A").ToList();
dataGridDryer.DataSource = new BindingList<LjFormulaDetail>(data);//DataGridView的行可以添加删除只有允许添加行、删除行
}
private void UpdateDataGridSilo(List<LjFormulaDetail> detail,bool check)
{
dataGridSilo1.DataError += DataGrid_DataError;
dataGridSilo1.AutoGenerateColumns = false;
dataGridSilo1.AllowUserToAddRows = true;
dataGridSilo2.DataError += DataGrid_DataError;
dataGridSilo2.AutoGenerateColumns = false;
dataGridSilo2.AllowUserToAddRows = true;
dataGridWater1.DataError += DataGrid_DataError;
dataGridWater1.AutoGenerateColumns = false;
dataGridWater1.AllowUserToAddRows = true;
dataGridWater2.DataError += DataGrid_DataError;
dataGridWater2.AutoGenerateColumns = false;
dataGridWater2.AllowUserToAddRows = true;
var data = detail.Where(x => x.MachineType == "Silo" && x.FormulaType == 1 && x.Machine == "A").ToList();
dataGridSilo1.DataSource = new BindingList<LjFormulaDetail>(data);//DataGridView的行可以添加删除只有允许添加行、删除行
//Silo_Water
var data1Water = detail.Where(x => x.MachineType == "Silo_Water" && x.FormulaType == 1
&& x.Machine == "A").ToList();
dataGridWater1.DataSource = new BindingList<LjFormulaDetail>(data1Water);//DataGridView的行可以添加删除只有允许添加行、删除行
CbSiloC.Checked = check;
if (!check)
{
var dataB = detail.Where(x => x.MachineType == "Silo" && x.FormulaType == 1 && x.Machine == "B").ToList();
dataGridSilo2.DataSource = new BindingList<LjFormulaDetail>(dataB);//DataGridView的行可以添加删除只有允许添加行、删除行
var data2Water = detail.Where(x => x.MachineType == "Silo_Water" && x.FormulaType == 1
&& x.Machine == "B").ToList();
dataGridWater2.DataSource = new BindingList<LjFormulaDetail>(data2Water);//DataGridView的行可以添加删除只有允许添加行、删除行
}
}
private void UpdateDryH(List<LjFormulaDetail> detail)
{
dataGridDryer1Action.DataError += DataGrid_DataError;
dataGridDryer1Action.AutoGenerateColumns = false;
dataGridDryer1Action.AllowUserToAddRows = true;
var data = detail.Where(x => x.MachineType == "Dry" && x.FormulaType == 2 && x.Machine == "A").ToList();
dataGridDryer1Action.DataSource = new BindingList<LjFormulaDetail>(data);//DataGridView的行可以添加删除只有允许添加行、删除行
}
private void UpdatSiloH(List<LjFormulaDetail> detail,bool cbSiloH)
{
dataGridSiloH1.DataError += DataGrid_DataError;
dataGridSiloH1.AutoGenerateColumns = false;
dataGridSiloH1.AllowUserToAddRows = true;
dataGridSiloH2.DataError += DataGrid_DataError;
dataGridSiloH2.AutoGenerateColumns = false;
dataGridSiloH2.AllowUserToAddRows = true;
var data1SiloH = detail.Where(x => x.MachineType == "Silo" && x.FormulaType == 2
&& x.Machine == "A").ToList();
dataGridSiloH1.DataSource = new BindingList<LjFormulaDetail>(data1SiloH);//DataGridView的行可以添加删除只有允许添加行、删除行
CbSiloH.Checked = cbSiloH;
if (!cbSiloH)
{
var data2SiloH = detail.Where(x => x.MachineType == "Silo" && x.FormulaType == 2
&& x.Machine == "B").ToList();
dataGridSiloH2.DataSource = new BindingList<LjFormulaDetail>(data2SiloH);//DataGridView的行可以添加删除只有允许添加行、删除行
}
}
private void UpdatWeterH(List<LjFormulaDetail> detail, bool cbWeterH)
{
dataGridWeter1.DataError += DataGrid_DataError;
dataGridWeter1.AutoGenerateColumns = false;
dataGridWeter1.AllowUserToAddRows = true;
dataGridWeter2.DataError += DataGrid_DataError;
dataGridWeter2.AutoGenerateColumns = false;
dataGridWeter2.AllowUserToAddRows = true;
var data1WeterH = detail.Where(x => x.MachineType == "Weter" && x.FormulaType == 2
&& x.Machine == "A").ToList();
dataGridWeter1.DataSource = new BindingList<LjFormulaDetail>(data1WeterH);//DataGridView的行可以添加删除只有允许添加行、删除行
CbWeterH.Checked = cbWeterH;
if (!cbWeterH)
{
var data2WeterH = detail.Where(x => x.MachineType == "Weter" && x.FormulaType == 2
&& x.Machine == "B").ToList();
dataGridWeter2.DataSource = new BindingList<LjFormulaDetail>(data2WeterH);//DataGridView的行可以添加删除只有允许添加行、删除行
}
}
private void DataGrid_DataError(object sender, DataGridViewDataErrorEventArgs e)
{
e.Cancel = true;
}
private void FillDataGridDryer1Action()
{
DataGridViewComboBoxColumn combox = this.dataGridDryer1Action.Columns["ComBoxDryer1Code"] as DataGridViewComboBoxColumn;
var list = GetAction(1);
combox.DataSource = list;
combox.DisplayMember = "Name";
combox.ValueMember = "Id";
combox.DataPropertyName = "ActionId";
}
private void FillDataGridSilo1Action()
{
DataGridViewComboBoxColumn combox1 = this.dataGridSiloH1.Columns["ComBoxSilo1Code"] as DataGridViewComboBoxColumn;
var list1 = GetAction(2);
combox1.DataSource = list1;
combox1.DisplayMember = "Name";
combox1.ValueMember = "Id";
combox1.DataPropertyName = "ActionId";
DataGridViewComboBoxColumn combox2 = this.dataGridSiloH2.Columns["ComBoxSilo2Code"] as DataGridViewComboBoxColumn;
var list2 = GetAction(2);
combox2.DataSource = list2;
combox2.DisplayMember = "Name";
combox2.ValueMember = "Id";
combox2.DataPropertyName = "ActionId";
}
private void FillDataGridWeter1Action()
{
DataGridViewComboBoxColumn combox1 = this.dataGridWeter1.Columns["ComBoxWeter1Code"] as DataGridViewComboBoxColumn;
var list1 = GetAction(3);
combox1.DataSource = list1;
combox1.DisplayMember = "Name";
combox1.ValueMember = "Id";
combox1.DataPropertyName = "ActionId";
DataGridViewComboBoxColumn combox2 = this.dataGridWeter2.Columns["ComBoxWeter2Code"] as DataGridViewComboBoxColumn;
var list2 = GetAction(3);
combox2.DataSource = list2;
combox2.DisplayMember = "Name";
combox2.ValueMember = "Id";
combox2.DataPropertyName = "ActionId";
}
/// <summary>
/// 绑定配方类别
/// </summary>
private void Init()
{
DrpCpType.ValueMember = "Id";
DrpCpType.DisplayMember = "Name";
var ls = new List<MyNameValue>();
string sql = "select recipetype_Id as Id,recipetype_Name as Name from Base_RecipeType";
var dataTable = DBHelp.GetTable(sql);
var dr = dataTable.Rows;
ls = new List<MyNameValue>();
foreach (DataRow o in dr)
{
ls.Add(new MyNameValue()
{
Id = (int)o["Id"],
Name = o["Name"].ToString()
});
}
DrpCpType.DataSource = ls;
}
private List<MyNameValue> GetStockMaterrial(int mtypId)
{
string sql = "select Id, Code, StockName, MTypeId, MTypeName, MId, MName, Remark from lj_stock_material";
var dataTable = DBHelp.GetTable(sql);
List<MyNameValue> ls = new List<MyNameValue>();
foreach (DataRow o in dataTable.Rows)
{
int tableMTypeId = Convert.ToInt32(o["MTypeId"]);
if (mtypId != 0)
{
if (tableMTypeId == mtypId)
{
ls.Add(new MyNameValue()
{
Id = (int)o["Id"],
Name = o["StockName"].ToString() + $"({o["MName"]})"
});
}
}
}
return ls;
}
private List<MyNameValue> GetAction(int deviceUnitId)
{
string sql = "select ActionCode.id,code,ActionName,ActionCode.Remark,DeviceUnitId,DeviceUnit.Name\r\n from ActionCode\r\n left join DeviceUnit on ActionCode.DeviceUnitId = DeviceUnit.Id ";
if(deviceUnitId > 0)
{
sql += " where DeviceUnitId=" + deviceUnitId ;
sql += " order by code";
}
var dataTable = DBHelp.GetTable(sql);
List<MyNameValue> ls = new List<MyNameValue>();
foreach (DataRow o in dataTable.Rows)
{
ls.Add(new MyNameValue()
{
Id = (int)o["id"],
Name = o["ActionName"].ToString()
}) ;
}
return ls;
}
private DataRow GetCodeActionById(int id)
{
string sql = "select code as Code,ActionName as Name from ActionCode where Id=" + id;
var dataTable = DBHelp.GetTable(sql);
return dataTable.Rows[0];
}
/// <summary>
/// 干混机称量配方 物料下拉选择
/// </summary>
private void FillDryer()
{
DataGridViewComboBoxColumn combox = dataGridDryer.Columns["ComBoxDryer1Bin"] as DataGridViewComboBoxColumn;
var list = GetStockMaterrial(1);
list.RemoveAll(x => x.Id == 5);
list.RemoveAll(x => x.Id == 6);
combox.DataSource = list;
combox.DisplayMember = "Name";
combox.ValueMember = "Id";
combox.DataPropertyName = "StockMaterialId";
}
/// <summary>
/// 糊化机1 2 物料选择进行初始化
/// </summary>
private void FillSilo()
{
DataGridViewComboBoxColumn combox1 = dataGridSilo1.Columns["ComBoxSilo1Bin"] as DataGridViewComboBoxColumn;
var list1 = GetStockMaterrial(1);
list1 = list1.Where(x => x.Id == 5 || x.Id == 6).ToList();
combox1.DataSource = list1;
combox1.DisplayMember = "Name";
combox1.ValueMember = "Id";
combox1.DataPropertyName = "StockMaterialId";
DataGridViewComboBoxColumn combox2 = dataGridSilo2.Columns["ComBoxSilo2Bin"] as DataGridViewComboBoxColumn;
var list2 = GetStockMaterrial(1);
list2 = list2.Where(x => x.Id == 5 || x.Id == 6).ToList();
combox2.DataSource = list2;
combox2.DisplayMember = "Name";
combox2.ValueMember = "Id";
combox2.DataPropertyName = "StockMaterialId";
}
/// <summary>
/// 糊化机1 2 物料选择进行初始化 水秤
/// </summary>
private void FillSiloWater()
{
DataGridViewComboBoxColumn comboxWater1 = dataGridWater1.Columns["ComBoxSilo1BinWater"] as DataGridViewComboBoxColumn;
var comboxWater1List = GetStockMaterrial(4);
comboxWater1.DataSource = comboxWater1List;
comboxWater1.DisplayMember = "Name";
comboxWater1.ValueMember = "Id";
comboxWater1.DataPropertyName = "StockMaterialId";
DataGridViewComboBoxColumn comboxWater2 = dataGridWater2.Columns["ComBoxSilo2BinWater"] as DataGridViewComboBoxColumn;
var comboxWater2List = GetStockMaterrial(1);
comboxWater2.DataSource = comboxWater2List;
comboxWater2.DisplayMember = "Name";
comboxWater2.ValueMember = "Id";
comboxWater2.DataPropertyName = "StockMaterialId";
}
private void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
}
private void dataGridView1_DefaultValuesNeeded(object sender, DataGridViewRowEventArgs e)
{
e.Row.Cells["TxtDryer1Weight"].Value = "0";
e.Row.Cells["TxtDryer1Tolerance"].Value = "0";
}
private void button1_Click(object sender, System.EventArgs e)
{
string txtNameStr=txtName.Text.Trim();
if (txtNameStr.Length == 0)
{
MessageBox.Show("请输入配方名称");
return;
}
var txtCpVersionStr=txtCpVersion.Text.Trim();
if (txtCpVersionStr.Length==0)
{
MessageBox.Show("请输入配方版本");
return;
}
//干混机
List<ClEntity> clDry = GetClEnity(dataGridDryer);
if (clDry.Count == 0)
{
MessageBox.Show("");
return;
}
else
{
//
}
//湿混机1
List<ClEntity> clSoil1 = GetClEnity(dataGridSilo1);
List<ClEntity> clSoil1Water = GetClEnity(dataGridWater1);
//湿混机2
List<ClEntity> clSoil2 = new List<ClEntity>();
List<ClEntity> clSoil2Water = new List<ClEntity>();
//如果Copy 2 copy 1
if (CbSiloC.Checked)
{
clSoil2.AddRange(clSoil1);
clSoil2Water.AddRange(clSoil1Water);
}
else
{
clSoil2= GetClEnity(dataGridSilo2);
clSoil2Water=GetClEnity(dataGridWater2);
}
//干混机1 获取混合配方
List<ChEntity> dataGridDryer1List = GetChEnity(dataGridDryer1Action);
//湿混机1 dataGridSiloH1
List<ChEntity> dataGridSiloH1List = GetChEnity(dataGridSiloH1);
List<ChEntity> dataGridSiloH2List = new List<ChEntity>();
if (CbSiloH.Checked)
{
dataGridSiloH2List.AddRange(dataGridSiloH1List);
}
else
{
dataGridSiloH2List = GetChEnity(dataGridSiloH2);
}
List<ChEntity> dataGridWeter1List= GetChEnity(dataGridWeter1);
List<ChEntity> dataGridWeter2List = new List<ChEntity>();
if (CbWeterH.Checked)
{
dataGridWeter2List.AddRange (dataGridWeter1List);
}
else
{
dataGridWeter2List=GetChEnity(dataGridWeter2);
}
Save(clDry, clSoil1, clSoil1Water, clSoil2, clSoil2Water,
dataGridDryer1List, dataGridSiloH1List,
dataGridSiloH2List, dataGridWeter1List, dataGridWeter2List);
this.DialogResult = DialogResult.OK;
//if (CbSilo1.Checked)
//{
// clSoil= GetClEnity(dataGridSilo);
//}
//List<ClEntity> clSoi2 = new List<ClEntity>();
//if (CbSilo2.Checked)
//{
// clSoil = GetClEnity(dataGridSilo);
//}
//List<ClEntity> clSoiHWater = new List<ClEntity>();
//if (CbSilo2.Checked)
//{
// clSoiHWater = GetClEnity(dataGridWater);
//}
//先看统一配方干
// Save(clDry,clSoil, clSoi2);
}
private List<ChEntity> GetChEnity(DataGridView dataGridView)
{
List<ChEntity> clDry = new List<ChEntity>();
foreach (DataGridViewRow row in dataGridView.Rows)
{
try
{
ChEntity entity = new ChEntity();
object obj = row.Cells[0].Value;
var sss = row.Cells[0].FormattedValue;
if (obj != null)
{
entity.ActionId = Convert.ToInt32(obj);
}
else
{
continue;
}
obj = row.Cells[1].Value;
if (obj != null)
{
entity.TimeInfo = Convert.ToInt16(obj);
}
obj = row.Cells[2].Value;
if (obj != null)
{
entity.Temp = Convert.ToSingle(obj);
}
obj = row.Cells[3].Value;
if (obj != null)
{
entity.Speed = Convert.ToSingle(obj);
}
if(row.Cells.Count>4)
{
obj = row.Cells[4].Value;
if(obj != null)
{
entity.SetValue = Convert.ToSingle(obj);
}
}
if (row.Cells.Count >5)
{
obj = row.Cells[5].Value;
if (obj != null)
{
entity.SetTolerance = Convert.ToSingle(obj);
}
}
clDry.Add(entity);
}
catch (Exception)
{
MessageBox.Show("请检查混合配方数据");
break;
}
}
return clDry;
}
/// <summary>
/// 从gdataGridView获取 实体便于插入数据
/// </summary>
/// <param name="dataGridView"></param>
/// <returns></returns>
private List<ClEntity> GetClEnity(DataGridView dataGridView)
{
List<ClEntity> clDry = new List<ClEntity>();
foreach (DataGridViewRow row in dataGridView.Rows)
{
try
{
ClEntity entity = new ClEntity();
object obj = row.Cells[0].Value;
var sss = row.Cells[0].FormattedValue;
if (obj != null)
{
entity.StockMaterialId = Convert.ToInt32(obj);
}
else
{
continue;
}
obj = row.Cells[1].Value;
if (obj != null)
{
entity.Weight = Convert.ToSingle(obj);
}
obj = row.Cells[2].Value;
if (obj != null)
{
entity.Tolerance = Convert.ToSingle(obj);
}
clDry.Add(entity);
}
catch (Exception)
{
MessageBox.Show("请检查称量配方");
break;
}
}
return clDry;
}
/// <summary>
///
/// </summary>
/// <param name="cls">保存干混机称量配方</param>
/// <param name="soil1">湿混机1</param>
/// <param name="soilWater1">湿混机1 水</param>
/// <param name="soil2">湿混机2</param>
/// <param name="soilWater2">湿混机2 水</param>
/// <param name="dataGridDryer1List">干混机1 混合配方</param>
/// <param name="dataGridSiloH1List">糊化机1 混合配方</param>
private void Save(List<ClEntity> cls, List<ClEntity> soil1,
List<ClEntity> soilWater1, List<ClEntity> soil2, List<ClEntity> soilWater2,
List<ChEntity> dataGridDryer1List,
List<ChEntity> dataGridSiloH1List,
List<ChEntity> dataGridSiloH2List,
List<ChEntity> dataGridWeter1List,
List<ChEntity> dataGridWeter2List
)
{
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
string formulaNameNoStr = "0";
string formulaName=this.txtName.Text;
int recipeTypeId = Convert.ToInt32(DrpCpType.SelectedValue);
string recipeTypeName = DrpCpType.Text;
string formulaVersion = txtCpVersion.Text;
try
{
int cbSiloC = 0;
int cbSiloH = 0;
int cbWeterH = 0;
if(CbSiloC.Checked)
{
cbSiloC = 1;
}
if(CbSiloH.Checked)
{
cbSiloH = 1;
}
if (CbWeterH.Checked)
{
cbWeterH = 1;
}
dbHelper.BeginTransaction();
dbHelper.ClearParameter();
dbHelper.CommandType = CommandType.Text;
//主表1 1个单元
int id = 0;
if (_id > 0)
{
id = _id;
}
else
{
id= Convert.ToInt32(DBHelp.GetOne("select isnull(max(Id),0) as no from Lj_Formula")) + 1;
}
string sql = "insert into Lj_Formula " +
"(Id, FormulaNo, FormulaName, RecipeTypeId, RecipeTypeName, IsEnable, FormulaVersion, CreateTime,Unit,CbSiloC,CbSiloH,CbWeterH\r\n )\r\n" +
$"values ({id},{formulaNameNoStr},'{formulaName}',{recipeTypeId},'{recipeTypeName}',1,'{formulaVersion}',GETDATE(),1,{cbSiloC},{cbSiloH},{cbWeterH});";
if (_id > 0)
{
sql = "update Lj_Formula";
sql += $" set FormulaName='{formulaName}' ";
sql += $" , RecipeTypeId='{recipeTypeId}' ";
sql += $" , recipeTypeName='{recipeTypeName}' ";
sql += $" , FormulaVersion='{formulaVersion}' ";
sql += $" , UpdateTime=GETDATE() ";
sql += $" , CbSiloC={cbSiloC} ";
sql += $" , CbSiloH={cbSiloH} ";
sql += $" , CbWeterH={cbWeterH} where Id= {_id}";
}
dbHelper.CommandText = sql;
dbHelper.ExecuteNonQuery();
if (_id > 0)
{
dbHelper.CommandText = $"delete from Lj_Formula_Detail where FormulaId={_id}";
dbHelper.ExecuteNonQuery();
}
//干混机1
foreach (ClEntity clEntity in cls)
{
var dr=GetByMaterialId(clEntity.StockMaterialId);
int code = Convert.ToInt32(dr["Code"]);
int mId = Convert.ToInt32(dr["MId"]);
string Mname = dr["MName"].ToString();
//FormulaType 1 称量 2 混合
string sqlA = $"insert into Lj_Formula_Detail " +
$"(FormulaId, BinNo, MId, MName, Weight, Tolerance, Machine, MachineType, FormulaType,\r\n ActionCode, ActionName, TimeInfo, Temp, Speed, SetValue, SetTolerance,StockMaterialId)\r\n" +
$"values ({id},{code},{mId},'{Mname}',{clEntity.Weight},{clEntity.Tolerance},'A','Dry',1,0,'',0,0,0,0,0,{clEntity.StockMaterialId})";
dbHelper.CommandText = sqlA;
dbHelper.ExecuteNonQuery();
}
//湿混1
foreach (ClEntity clEntity in soil1)
{
var dr = GetByMaterialId(clEntity.StockMaterialId);
int code = Convert.ToInt32(dr["Code"]);
int mId = Convert.ToInt32(dr["MId"]);
string Mname = dr["MName"].ToString();
//FormulaType 1 称量 2 混合
// Machine A 左侧 B右侧
string sqlA = $"insert into Lj_Formula_Detail " +
$"(FormulaId, BinNo, MId, MName, Weight, Tolerance, Machine, MachineType, FormulaType,\r\n ActionCode, ActionName, TimeInfo, Temp, Speed, SetValue, SetTolerance,StockMaterialId)\r\n" +
$"values ({id},{code},{mId},'{Mname}',{clEntity.Weight},{clEntity.Tolerance},'A','Silo',1,0,'',0,0,0,0,0,{clEntity.StockMaterialId})";
dbHelper.CommandText = sqlA;
dbHelper.ExecuteNonQuery();
}
//湿混1 水
foreach (ClEntity clEntity in soilWater1)
{
var dr = GetByMaterialId(clEntity.StockMaterialId);
int code = Convert.ToInt32(dr["Code"]);
int mId = Convert.ToInt32(dr["MId"]);
string Mname = dr["MName"].ToString();
//FormulaType 1 称量 2 混合
string sqlA = $"insert into Lj_Formula_Detail " +
$"(FormulaId, BinNo, MId, MName, Weight, Tolerance, Machine, MachineType, FormulaType,\r\n ActionCode, ActionName, TimeInfo, Temp, Speed, SetValue, SetTolerance,StockMaterialId)\r\n" +
$"values ({id},{code},{mId},'{Mname}',{clEntity.Weight},{clEntity.Tolerance},'A','Silo_Water',1,0,'',0,0,0,0,0,{clEntity.StockMaterialId})";
dbHelper.CommandText = sqlA;
dbHelper.ExecuteNonQuery();
}
//湿混2
foreach (ClEntity clEntity in soil2)
{
var dr = GetByMaterialId(clEntity.StockMaterialId);
int code = Convert.ToInt32(dr["Code"]);
int mId = Convert.ToInt32(dr["MId"]);
string Mname = dr["MName"].ToString();
//FormulaType 1 称量 2 混合
string sqlA = $"insert into Lj_Formula_Detail " +
$"(FormulaId, BinNo, MId, MName, Weight, Tolerance, Machine, MachineType, FormulaType,\r\n ActionCode, ActionName, TimeInfo, Temp, Speed, SetValue, SetTolerance,StockMaterialId)\r\n" +
$"values ({id},{code},{mId},'{Mname}',{clEntity.Weight},{clEntity.Tolerance},'B','Silo',1,0,'',0,0,0,0,0,{clEntity.StockMaterialId})";
dbHelper.CommandText = sqlA;
dbHelper.ExecuteNonQuery();
}
//湿混2 水
foreach (ClEntity clEntity in soilWater2)
{
var dr = GetByMaterialId(clEntity.StockMaterialId);
int code = Convert.ToInt32(dr["Code"]);
int mId = Convert.ToInt32(dr["MId"]);
string Mname = dr["MName"].ToString();
//FormulaType 1 称量 2 混合
string sqlA = $"insert into Lj_Formula_Detail " +
$"(FormulaId, BinNo, MId, MName, Weight, Tolerance, Machine, MachineType, FormulaType,\r\n ActionCode, ActionName, TimeInfo, Temp, Speed, SetValue, SetTolerance,StockMaterialId)\r\n" +
$"values ({id},{code},{mId},'{Mname}',{clEntity.Weight},{clEntity.Tolerance},'B','Silo_Water',1,0,'',0,0,0,0,0,{clEntity.StockMaterialId})";
dbHelper.CommandText = sqlA;
dbHelper.ExecuteNonQuery();
}
//-------------------混合配方--------------------------------------------------
foreach(ChEntity chEntity in dataGridDryer1List)
{
var dr = GetCodeActionById(chEntity.ActionId);
int code = Convert.ToInt32(dr["Code"]);
string actionName = dr["Name"].ToString();
//FormulaType 1 称量 2 混合
string sqlA = $"insert into Lj_Formula_Detail " +
$"(FormulaId, BinNo, MId, MName, Weight, Tolerance, Machine, MachineType, FormulaType,\r\n ActionCode, ActionName, TimeInfo, Temp, Speed, SetValue, SetTolerance,ActionId)\r\n" +
$"values ({id},{code},{0},'',{0},{0},'A','Dry',2,{code},'{actionName}',{chEntity.TimeInfo},{chEntity.Temp},{chEntity.Speed},{chEntity.SetValue},{chEntity.SetTolerance},{chEntity.ActionId})";
dbHelper.CommandText = sqlA;
dbHelper.ExecuteNonQuery();
}
foreach (ChEntity chEntity in dataGridSiloH1List)
{
var dr = GetCodeActionById(chEntity.ActionId);
int code = Convert.ToInt32(dr["Code"]);
string actionName = dr["Name"].ToString();
//FormulaType 1 称量 2 混合
string sqlA = $"insert into Lj_Formula_Detail " +
$"(FormulaId, BinNo, MId, MName, Weight, Tolerance, Machine, MachineType, FormulaType,\r\n ActionCode, ActionName, TimeInfo, Temp, Speed, SetValue, SetTolerance,ActionId)\r\n" +
$"values ({id},{code},{0},'',{0},{0},'A','Silo',2," +
$"{code},'{actionName}',{chEntity.TimeInfo},{chEntity.Temp},{chEntity.Speed},{chEntity.SetValue},{chEntity.SetTolerance},{chEntity.ActionId})";
dbHelper.CommandText = sqlA;
dbHelper.ExecuteNonQuery();
}
foreach (ChEntity chEntity in dataGridSiloH2List)
{
var dr = GetCodeActionById(chEntity.ActionId);
int code = Convert.ToInt32(dr["Code"]);
string actionName = dr["Name"].ToString();
//FormulaType 1 称量 2 混合
string sqlA = $"insert into Lj_Formula_Detail " +
$"(FormulaId, BinNo, MId, MName, Weight, Tolerance, Machine, MachineType, FormulaType,\r\n ActionCode, ActionName, TimeInfo, Temp, Speed, SetValue, SetTolerance,ActionId)\r\n" +
$"values ({id},{code},{0},'',{0},{0},'B','Silo',2," +
$"{code},'{actionName}',{chEntity.TimeInfo},{chEntity.Temp},{chEntity.Speed},{chEntity.SetValue},{chEntity.SetTolerance},{chEntity.ActionId})";
dbHelper.CommandText = sqlA;
dbHelper.ExecuteNonQuery();
}
//湿1 混合配方
foreach (ChEntity chEntity in dataGridWeter1List)
{
var dr = GetCodeActionById(chEntity.ActionId);
int code = Convert.ToInt32(dr["Code"]);
string actionName = dr["Name"].ToString();
//FormulaType 1 称量 2 混合
string sqlA = $"insert into Lj_Formula_Detail " +
$"(FormulaId, BinNo, MId, MName, Weight, Tolerance, Machine, MachineType, FormulaType,\r\n ActionCode, ActionName, TimeInfo, Temp, Speed, SetValue, SetTolerance,ActionId)\r\n" +
$"values ({id},{code},{0},'',{0},{0},'A','Weter',2," +
$"{code},'{actionName}',{chEntity.TimeInfo},{chEntity.Temp},{chEntity.Speed},{chEntity.SetValue},{chEntity.SetTolerance},{chEntity.ActionId})";
dbHelper.CommandText = sqlA;
dbHelper.ExecuteNonQuery();
}
foreach (ChEntity chEntity in dataGridWeter2List)
{
var dr = GetCodeActionById(chEntity.ActionId);
int code = Convert.ToInt32(dr["Code"]);
string actionName = dr["Name"].ToString();
//FormulaType 1 称量 2 混合
string sqlA = $"insert into Lj_Formula_Detail " +
$"(FormulaId, BinNo, MId, MName, Weight, Tolerance, Machine, MachineType, FormulaType,\r\n ActionCode, ActionName, TimeInfo, Temp, Speed, SetValue, SetTolerance,ActionId)\r\n" +
$"values ({id},{code},{0},'',{0},{0},'B','Weter',2," +
$"{code},'{actionName}',{chEntity.TimeInfo},{chEntity.Temp},{chEntity.Speed},{chEntity.SetValue},{chEntity.SetTolerance},{chEntity.ActionId})";
dbHelper.CommandText = sqlA;
dbHelper.ExecuteNonQuery();
}
dbHelper.CommitTransaction();
}
catch(Exception ex) {
dbHelper.RollbackTransaction();
}
}
private void CbSilo1_CheckedChanged(object sender, EventArgs e)
{
}
private void CbSilo2_CheckedChanged(object sender, EventArgs e)
{
CbSilo1_CheckedChanged(sender, e);
}
private void dataGridSilo_DefaultValuesNeeded(object sender, DataGridViewRowEventArgs e)
{
e.Row.Cells["TxtSilo1Weight"].Value = "0";
e.Row.Cells["TxtSilo1Tolerance"].Value = "0";
}
private void dataGridWater_DefaultValuesNeeded(object sender, DataGridViewRowEventArgs e)
{
e.Row.Cells["TxtSilo1WeightWater"].Value = "0";
e.Row.Cells["TxtSilo1ToleranceWater"].Value = "0";
}
private void dataGridDryer1Action_DefaultValuesNeeded(object sender, DataGridViewRowEventArgs e)
{
e.Row.Cells["ComBoxDryer1TimeInfo"].Value = "0";
e.Row.Cells["ComBoxDryer1Temp"].Value = "0";
e.Row.Cells["ComBoxDryer1Speed"].Value = "0";
}
private void dataGridWeter1_DefaultValuesNeeded(object sender, DataGridViewRowEventArgs e)
{
e.Row.Cells["ComBoxWeter1TimeInfo"].Value = "0";
e.Row.Cells["ComBoxWeter1Temp"].Value = "0";
e.Row.Cells["ComBoxWeter1Speed"].Value = "0";
e.Row.Cells["ComBoxWeter1SetValue"].Value = "0";
e.Row.Cells["ComBoxWeter1SetTolerance"].Value = "0";
}
private void dataGridSilo1_DefaultValuesNeeded(object sender, DataGridViewRowEventArgs e)
{
e.Row.Cells["ComBoxSilo1TimeInfo"].Value = "0";
e.Row.Cells["ComBoxSilo1Temp"].Value = "0";
e.Row.Cells["ComBoxSilo1Speed"].Value = "0";
}
private DataRow GetByMaterialId(int id)
{
string sql = "select Id, Code, StockName, MTypeId, MTypeName, MId, MName, Remark from lj_stock_material where Id=" + id;
var dataTable=DBHelp.GetTable(sql);
return dataTable.Rows[0];
}
private void BtnCanel_Click(object sender, EventArgs e)
{
this.Close();
}
private void dataGridSilo2_DefaultValuesNeeded(object sender, DataGridViewRowEventArgs e)
{
//e.Row.Cells["ComBoxSilo2Bin"].Value = "0";
e.Row.Cells["TxtSilo2Weight"].Value = "0";
e.Row.Cells["TxtSilo2Tolerance"].Value = "0";
}
private void dataGridWater2_DefaultValuesNeeded(object sender, DataGridViewRowEventArgs e)
{
e.Row.Cells["TxtSilo2WeightWater"].Value = "0";
e.Row.Cells["TxtSilo2ToleranceWater"].Value = "0";
}
private void dataGridWater1_DefaultValuesNeeded(object sender, DataGridViewRowEventArgs e)
{
e.Row.Cells["TxtSilo1WeightWater"].Value = "0";
e.Row.Cells["TxtSilo1ToleranceWater"].Value = "0";
}
private void dataGridSiloH1_DefaultValuesNeeded(object sender, DataGridViewRowEventArgs e)
{
e.Row.Cells["ComBoxSilo1TimeInfo"].Value = "0";
e.Row.Cells["ComBoxSilo1Temp"].Value = "0";
e.Row.Cells["ComBoxSilo1Speed"].Value = "0";
}
private void dataGridSiloH2_DefaultValuesNeeded(object sender, DataGridViewRowEventArgs e)
{
e.Row.Cells["ComBoxSilo2TimeInfo"].Value = "0";
e.Row.Cells["ComBoxSilo2Temp"].Value = "0";
e.Row.Cells["ComBoxSilo2Speed"].Value = "0";
}
private void dataGridWeter1_DefaultValuesNeeded_1(object sender, DataGridViewRowEventArgs e)
{
e.Row.Cells["ComBoxWeter1TimeInfo"].Value = "0";
e.Row.Cells["ComBoxWeter1Temp"].Value = "0";
e.Row.Cells["ComBoxWeter1Speed"].Value = "0";
e.Row.Cells["ComBoxWeter1SetValue"].Value = "0";
e.Row.Cells["ComBoxWeter1SetTolerance"].Value = "0";
}
private void dataGridWeter2_DefaultValuesNeeded(object sender, DataGridViewRowEventArgs e)
{
e.Row.Cells["ComBoxWeter2TimeInfo"].Value = "0";
e.Row.Cells["ComBoxWeter2Temp"].Value = "0";
e.Row.Cells["ComBoxWeter2Speed"].Value = "0";
e.Row.Cells["ComBoxWeter2SetValue"].Value = "0";
e.Row.Cells["ComBoxWeter2SetTolerance"].Value = "0";
}
private void dataGridDryer_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
private void CbSiloC_CheckedChanged(object sender, EventArgs e)
{
if(CbSiloC.Checked == true)
{
this.tabPage4.Parent = null;
this.tabPage4.Enabled = false; // no casting required.
}
else
{
tabControl2.TabPages.Add(this.tabPage4);
this.tabPage4.Enabled = true;
}
}
private void CbSiloH_CheckedChanged(object sender, EventArgs e)
{
if (CbSiloH.Checked == true)
{
this.tabPage2.Parent = null;
this.tabPage2.Enabled = false; // no casting required.
}
else
{
tabControl1.TabPages.Add(this.tabPage2);
this.tabPage2.Enabled = true;
}
}
private void CbWeterH_CheckedChanged(object sender, EventArgs e)
{
if (CbWeterH.Checked == true)
{
this.tabPage6.Parent = null;
this.tabPage6.Enabled = false; // no casting required.
}
else
{
tabControl3.TabPages.Add(this.tabPage6);
this.tabPage6.Enabled = true;
}
}
}
}