1
0
Fork 0

change - 更改数据库,配方称量管理完善,准备开发recipepara

master
SoulStar 1 month ago
parent 7b62e0d1dc
commit 5958cab962

@ -66,7 +66,7 @@ namespace HighWayIot.Log4net
{
if (logPlc.IsInfoEnabled)
{
logPlc.Info(msg);
logPlc.Debug(msg);
}
}
@ -78,7 +78,7 @@ namespace HighWayIot.Log4net
{
if (logRfid.IsInfoEnabled)
{
logRfid.Info(msg);
logRfid.Debug(msg);
}
}
@ -98,7 +98,7 @@ namespace HighWayIot.Log4net
{
if (sqllog.IsInfoEnabled)
{
sqllog.Info(msg);
sqllog.Debug(msg);
}
}

@ -10,53 +10,67 @@
<logger name="logerror">
<level value="ALL" />
<appender-ref ref="ErrorAppender" />
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="ColoredConsoleAppender" />
</logger>
<!--信息日志类-->
<logger name="loginfo">
<level value="ALL" />
<appender-ref ref="InfoAppender" />
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="ColoredConsoleAppender" />
</logger>
<!--PLC日志类-->
<logger name="plclog">
<level value="ALL" />
<appender-ref ref="PlcAppender" />
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="ColoredConsoleAppender" />
</logger>
<!--RFID日志类-->
<logger name="rfidlog">
<level value="ALL" />
<appender-ref ref="RfidAppender" />
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="ColoredConsoleAppender" />
</logger>
<!--RFID日志类-->
<logger name="viewlog">
<level value="ALL" />
<appender-ref ref="ViewAppender" />
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="ColoredConsoleAppender" />
</logger>
<!--Sql日志类-->
<logger name="sqllog">
<level value="ALL" />
<appender-ref ref="SqlAppender" />
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="ColoredConsoleAppender" />
</logger>
<!--信号量日志类-->
<logger name="semaphorelog">
<level value="ALL" />
<appender-ref ref="SemaphoreAppender" />
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="ColoredConsoleAppender" />
</logger>
<!-- 将日志输出到控制台 -->
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<appender name="ColoredConsoleAppender" type="log4net.Appender.ColoredConsoleAppender">
<mapping>
<level value="ERROR" />
<foreColor value="Red, HighIntensity" />
</mapping>
<mapping>
<level value="Info" />
<foreColor value="White" />
</mapping>
<mapping>
<level value="Debug" />
<foreColor value="Yellow, HighIntensity" />
</mapping>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
</layout>

@ -81,11 +81,5 @@ namespace HighWayIot.Repository.domain
/// 默认值:
///</summary>
public bool? IsUse { get; set; }
/// <summary>
/// 备 注:是否删除
/// 默认值:
///</summary>
public bool? IsDeleted { get; set; }
}
}

@ -10,12 +10,19 @@ namespace Models
[SugarTable("zx_material")]
public class ZxMaterialEntity
{
/// <summary>
/// 备 注:
/// 默认值:
///</summary>
[SugarColumn(ColumnName = "id", IsPrimaryKey = true, IsIdentity = true)]
public int Id { get; set; }
/// <summary>
/// 备 注:物料编码
/// 默认值:
///</summary>
[SugarColumn(ColumnName = "material_code", IsPrimaryKey = true)]
public string MaterialCode { get; set; } = null;
[SugarColumn(ColumnName = "material_code")]
public string MaterialCode { get; set; }
/// <summary>
/// 备 注:物料名称

@ -10,11 +10,18 @@ namespace Models
[SugarTable("zx_recipe")]
public class ZxRecipeEntity
{
/// <summary>
/// 备 注:
/// 默认值:
///</summary>
[SugarColumn(ColumnName = "id", IsPrimaryKey = true, IsIdentity = true)]
public int Id { get; set; }
/// <summary>
/// 备 注:配方编号
/// 默认值:
///</summary>
[SugarColumn(ColumnName = "recipe_code", IsPrimaryKey = true)]
[SugarColumn(ColumnName = "recipe_code")]
public string RecipeCode { get; set; }
/// <summary>

@ -83,13 +83,14 @@ namespace HighWayIot.Repository.service
/// <summary>
/// 按组删除物料子类别信息
/// </summary>
/// <param name="ids"></param>
/// <param name="ids">子类别信息ID数组</param>
/// <returns></returns>
public bool DeleteGroup(int[] ids)
{
try
{
dynamic[] dynamicArray = ids.Select(x => (dynamic)x).ToArray();
return _repository.DeleteByIds(dynamicArray);
}
catch (Exception ex)

@ -71,23 +71,41 @@ namespace HighWayIot.Repository.service
}
/// <summary>
/// 根据物料编号获取单条数据
/// 根据Id获取单条数据
/// </summary>
/// <param name="materialCode">物料编号</param>
/// <param name="id">物料编号</param>
/// <returns></returns>
public ZxMaterialEntity GetSingleEntityByCode(string materialCode)
public ZxMaterialEntity GetSingleEntityById(int id)
{
try
{
return _repository.GetById(materialCode);
return _repository.GetById(id);
}
catch(Exception ex)
catch (Exception ex)
{
log.Error("单条物料信息获取异常", ex);
return null;
}
}
/// <summary>
/// 根据MaterialCode获取数据
/// </summary>
/// <param name="materialCode">物料编号</param>
/// <returns></returns>
public List<ZxMaterialEntity> GetEntityByMaterialCode(string materialCode)
{
try
{
return _repository.GetList(x => x.MaterialCode == materialCode && x.IsDeleted == false);
}
catch (Exception ex)
{
log.Error("根据MaterialCode获取物料信息获取异常", ex);
return null;
}
}
/// <summary>
/// 修改物料信息
/// </summary>
@ -127,13 +145,13 @@ namespace HighWayIot.Repository.service
/// <summary>
/// 删除物料信息
/// </summary>
/// <param name="materialCode"></param>
/// <param name="id"></param>
/// <returns></returns>
public bool DeleteMaterialInfoByMaterialCode(string materialCode)
public bool DeleteMaterialInfoById(int id)
{
try
{
ZxMaterialEntity e = _repository.GetById(materialCode);
ZxMaterialEntity e = _repository.GetById(id);
e.IsDeleted = true;
return _repository.Update(e);
}

@ -38,11 +38,31 @@ namespace HighWayIot.Repository.service
}
catch (Exception ex)
{
log.Error("用户信息获取异常", ex);
log.Error("配方信息获取异常", ex);
return null;
}
}
/// <summary>
/// 根据配方编号查询配方信息
/// </summary>
/// <param name="recipeCode">配方编号</param>
/// <returns></returns>
public List<ZxRecipeEntity> GetRecipeInfosByRecipeCode(string recipeCode)
{
try
{
List<ZxRecipeEntity> entity = _repository.GetList(x => x.IsDeleted == false && x.RecipeCode == recipeCode);
return entity;
}
catch (Exception ex)
{
log.Error("根据编号查询配方信息获取异常", ex);
return null;
}
}
/// <summary>
/// 修改配方信息
/// </summary>
@ -56,7 +76,7 @@ namespace HighWayIot.Repository.service
}
catch(Exception ex)
{
log.Error("用户信息修改异常", ex);
log.Error("配方信息修改异常", ex);
return false;
}
}
@ -75,7 +95,7 @@ namespace HighWayIot.Repository.service
}
catch (Exception ex)
{
log.Error("物料信息添加异常", ex);
log.Error("配方信息添加异常", ex);
return false;
}
}
@ -83,19 +103,19 @@ namespace HighWayIot.Repository.service
/// <summary>
/// 删除配方信息
/// </summary>
/// <param name="recipeCode"></param>
/// <param name="id"></param>
/// <returns></returns>
public bool DeleteRecipeInfoByRecipeCode(string recipeCode)
public bool DeleteRecipeInfoById(int id)
{
try
{
ZxRecipeEntity e = _repository.GetById(recipeCode);
ZxRecipeEntity e = _repository.GetById(id);
e.IsDeleted = true;
return _repository.Update(e);
}
catch (Exception ex)
{
log.Error("物料信息删除异常", ex);
log.Error("配方信息删除异常", ex);
return false;
}
}

@ -83,9 +83,9 @@ namespace HighWayIot.Repository.service
/// <summary>
/// 根据ID删除称量信息
/// </summary>
/// <param name="id">配方号</param>
/// <param name="id">ID</param>
/// <returns></returns>
public bool DeleteWeightInfoById(string id)
public bool DeleteWeightInfoById(int id)
{
try
{
@ -113,6 +113,11 @@ namespace HighWayIot.Repository.service
es.ForEach(x => x.IsDeleted = true);
if (es.Count == 0)
{
return true;
}
return _repository.UpdateRange(es);
}
catch (Exception ex)

@ -26,10 +26,11 @@ namespace HighWayIot.Winform
[STAThread]
static void Main()
{
#if DEBUG
//Console.OutputEncoding = System.Text.Encoding.UTF8;
//Console.InputEncoding = System.Text.Encoding.UTF8;
AllocConsole();//调用系统API调用控制台窗口
Console.OutputEncoding = System.Text.Encoding.UTF8;
#endif
// 设置控制台编码为系统默认编码(解决乱码问题)
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
@ -42,9 +43,7 @@ namespace HighWayIot.Winform
logger.Info("登陆成功");
Application.Run(new BaseForm());
}
#if DEBUG
FreeConsole();//释放控制台
#endif
}
}
}

@ -93,6 +93,7 @@
//
// MaterialTypeComboBox
//
this.MaterialTypeComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.MaterialTypeComboBox.FormattingEnabled = true;
this.MaterialTypeComboBox.Location = new System.Drawing.Point(128, 81);
this.MaterialTypeComboBox.Name = "MaterialTypeComboBox";
@ -112,6 +113,7 @@
//
// ChildComboBox
//
this.ChildComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.ChildComboBox.FormattingEnabled = true;
this.ChildComboBox.Location = new System.Drawing.Point(128, 107);
this.ChildComboBox.Name = "ChildComboBox";

@ -68,9 +68,18 @@ namespace HighWayIot.Winform.UserControlPages.SysConfigPages
MessageBox.Show("物料编号不能为空!");
return;
}
string s = MaterialCodeTextBox.Text.Trim();
if(zxMaterialService.GetEntityByMaterialCode(s).Count > 0)
{
MessageBox.Show("已存在相同物料编号,添加失败");
return;
}
ZxMaterialEntity entity = new ZxMaterialEntity()
{
MaterialCode = MaterialCodeTextBox.Text.Trim(),
MaterialCode = s,
MaterialName = MaterialNameTextBox.Text.Trim(),
MaterialType = MaterialTypeComboBox.Text.Trim(),
ChildType = ChildComboBox.Text,
@ -80,7 +89,7 @@ namespace HighWayIot.Winform.UserControlPages.SysConfigPages
if (!zxMaterialService.InsertMaterialInfo(entity))
{
MessageBox.Show("物料信息添加失败,请检查物料编号是否重复或为空");
MessageBox.Show("物料信息添加失败");
return;
}

@ -32,35 +32,39 @@ namespace HighWayIot.Winform.UserControlPages
private void InitializeComponent()
{
this.MaterialDataGridView = new System.Windows.Forms.DataGridView();
this.Id = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.MaterialCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.MaterialName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.MaterialType = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.ChildType = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.IsUse = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.AddMaterial = new System.Windows.Forms.Button();
this.ButtonPanel = new System.Windows.Forms.Panel();
this.IsUseCheckBox = new System.Windows.Forms.CheckBox();
this.IsAvailableUseCheckBox = new System.Windows.Forms.CheckBox();
this.ChildComboBox = new System.Windows.Forms.ComboBox();
this.label3 = new System.Windows.Forms.Label();
this.MaterialTypeComboBox = new System.Windows.Forms.ComboBox();
this.label2 = new System.Windows.Forms.Label();
this.MaterialNameTextbox = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.SelectMaterial = new System.Windows.Forms.Button();
this.DeleteMaterial = new System.Windows.Forms.Button();
this.UpdateMaterial = new System.Windows.Forms.Button();
this.label2 = new System.Windows.Forms.Label();
this.MaterialTypeComboBox = new System.Windows.Forms.ComboBox();
this.ChildComboBox = new System.Windows.Forms.ComboBox();
this.label3 = new System.Windows.Forms.Label();
this.MaterialCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.MaterialName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.MaterialType = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.ChildType = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.IsUse = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.IsAvailableUseCheckBox = new System.Windows.Forms.CheckBox();
this.IsUseCheckBox = new System.Windows.Forms.CheckBox();
((System.ComponentModel.ISupportInitialize)(this.MaterialDataGridView)).BeginInit();
this.ButtonPanel.SuspendLayout();
this.SuspendLayout();
//
// MaterialDataGridView
//
this.MaterialDataGridView.AllowUserToAddRows = false;
this.MaterialDataGridView.AllowUserToDeleteRows = false;
this.MaterialDataGridView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.MaterialDataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.MaterialDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.Id,
this.MaterialCode,
this.MaterialName,
this.MaterialType,
@ -69,12 +73,62 @@ namespace HighWayIot.Winform.UserControlPages
this.MaterialDataGridView.Location = new System.Drawing.Point(0, 65);
this.MaterialDataGridView.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.MaterialDataGridView.Name = "MaterialDataGridView";
this.MaterialDataGridView.ReadOnly = true;
this.MaterialDataGridView.RowHeadersVisible = false;
this.MaterialDataGridView.RowTemplate.Height = 25;
this.MaterialDataGridView.Size = new System.Drawing.Size(1350, 898);
this.MaterialDataGridView.TabIndex = 0;
this.MaterialDataGridView.Tag = "";
//
// Id
//
this.Id.DataPropertyName = "Id";
this.Id.HeaderText = "ID";
this.Id.Name = "Id";
this.Id.ReadOnly = true;
this.Id.Width = 50;
//
// MaterialCode
//
this.MaterialCode.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.MaterialCode.DataPropertyName = "MaterialCode";
this.MaterialCode.HeaderText = "物料编码";
this.MaterialCode.Name = "MaterialCode";
this.MaterialCode.ReadOnly = true;
//
// MaterialName
//
this.MaterialName.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.MaterialName.DataPropertyName = "MaterialName";
this.MaterialName.HeaderText = "物料名称";
this.MaterialName.Name = "MaterialName";
this.MaterialName.ReadOnly = true;
//
// MaterialType
//
this.MaterialType.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.MaterialType.DataPropertyName = "MaterialType";
this.MaterialType.HeaderText = "物料类型";
this.MaterialType.Name = "MaterialType";
this.MaterialType.ReadOnly = true;
//
// ChildType
//
this.ChildType.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.ChildType.DataPropertyName = "ChildType";
this.ChildType.HeaderText = "物料子类型";
this.ChildType.Name = "ChildType";
this.ChildType.ReadOnly = true;
//
// IsUse
//
this.IsUse.DataPropertyName = "IsUse";
this.IsUse.HeaderText = "是否启用";
this.IsUse.Name = "IsUse";
this.IsUse.ReadOnly = true;
this.IsUse.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.IsUse.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
//
// AddMaterial
//
this.AddMaterial.Location = new System.Drawing.Point(11, 11);
@ -108,6 +162,61 @@ namespace HighWayIot.Winform.UserControlPages
this.ButtonPanel.Size = new System.Drawing.Size(1350, 61);
this.ButtonPanel.TabIndex = 4;
//
// IsUseCheckBox
//
this.IsUseCheckBox.AutoSize = true;
this.IsUseCheckBox.Location = new System.Drawing.Point(1079, 34);
this.IsUseCheckBox.Name = "IsUseCheckBox";
this.IsUseCheckBox.Size = new System.Drawing.Size(72, 16);
this.IsUseCheckBox.TabIndex = 12;
this.IsUseCheckBox.Text = "是否启用";
this.IsUseCheckBox.UseVisualStyleBackColor = true;
//
// IsAvailableUseCheckBox
//
this.IsAvailableUseCheckBox.AutoSize = true;
this.IsAvailableUseCheckBox.Location = new System.Drawing.Point(1079, 11);
this.IsAvailableUseCheckBox.Name = "IsAvailableUseCheckBox";
this.IsAvailableUseCheckBox.Size = new System.Drawing.Size(120, 16);
this.IsAvailableUseCheckBox.TabIndex = 11;
this.IsAvailableUseCheckBox.Text = "是否查询启用状态";
this.IsAvailableUseCheckBox.UseVisualStyleBackColor = true;
//
// ChildComboBox
//
this.ChildComboBox.FormattingEnabled = true;
this.ChildComboBox.Location = new System.Drawing.Point(932, 20);
this.ChildComboBox.Name = "ChildComboBox";
this.ChildComboBox.Size = new System.Drawing.Size(124, 20);
this.ChildComboBox.TabIndex = 10;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(873, 24);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(53, 12);
this.label3.TabIndex = 9;
this.label3.Text = "子类型:";
//
// MaterialTypeComboBox
//
this.MaterialTypeComboBox.FormattingEnabled = true;
this.MaterialTypeComboBox.Location = new System.Drawing.Point(743, 20);
this.MaterialTypeComboBox.Name = "MaterialTypeComboBox";
this.MaterialTypeComboBox.Size = new System.Drawing.Size(124, 20);
this.MaterialTypeComboBox.TabIndex = 8;
this.MaterialTypeComboBox.SelectedIndexChanged += new System.EventHandler(this.MaterialTypeComboBox_SelectedIndexChanged);
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(672, 24);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(65, 12);
this.label2.TabIndex = 7;
this.label2.Text = "物料类型:";
//
// MaterialNameTextbox
//
this.MaterialNameTextbox.Location = new System.Drawing.Point(526, 20);
@ -157,97 +266,6 @@ namespace HighWayIot.Winform.UserControlPages
this.UpdateMaterial.UseVisualStyleBackColor = true;
this.UpdateMaterial.Click += new System.EventHandler(this.UpdateMaterial_Click);
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(672, 24);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(65, 12);
this.label2.TabIndex = 7;
this.label2.Text = "物料类型:";
//
// MaterialTypeComboBox
//
this.MaterialTypeComboBox.FormattingEnabled = true;
this.MaterialTypeComboBox.Location = new System.Drawing.Point(743, 20);
this.MaterialTypeComboBox.Name = "MaterialTypeComboBox";
this.MaterialTypeComboBox.Size = new System.Drawing.Size(124, 20);
this.MaterialTypeComboBox.TabIndex = 8;
this.MaterialTypeComboBox.SelectedIndexChanged += new System.EventHandler(this.MaterialTypeComboBox_SelectedIndexChanged);
//
// ChildComboBox
//
this.ChildComboBox.FormattingEnabled = true;
this.ChildComboBox.Location = new System.Drawing.Point(932, 20);
this.ChildComboBox.Name = "ChildComboBox";
this.ChildComboBox.Size = new System.Drawing.Size(124, 20);
this.ChildComboBox.TabIndex = 10;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(873, 24);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(53, 12);
this.label3.TabIndex = 9;
this.label3.Text = "子类型:";
//
// MaterialCode
//
this.MaterialCode.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.MaterialCode.DataPropertyName = "MaterialCode";
this.MaterialCode.HeaderText = "物料编码";
this.MaterialCode.Name = "MaterialCode";
//
// MaterialName
//
this.MaterialName.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.MaterialName.DataPropertyName = "MaterialName";
this.MaterialName.HeaderText = "物料名称";
this.MaterialName.Name = "MaterialName";
//
// MaterialType
//
this.MaterialType.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.MaterialType.DataPropertyName = "MaterialType";
this.MaterialType.HeaderText = "物料类型";
this.MaterialType.Name = "MaterialType";
//
// ChildType
//
this.ChildType.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.ChildType.DataPropertyName = "ChildType";
this.ChildType.HeaderText = "物料子类型";
this.ChildType.Name = "ChildType";
//
// IsUse
//
this.IsUse.DataPropertyName = "IsUse";
this.IsUse.HeaderText = "是否启用";
this.IsUse.Name = "IsUse";
this.IsUse.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.IsUse.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
//
// IsAvailableUseCheckBox
//
this.IsAvailableUseCheckBox.AutoSize = true;
this.IsAvailableUseCheckBox.Location = new System.Drawing.Point(1079, 11);
this.IsAvailableUseCheckBox.Name = "IsAvailableUseCheckBox";
this.IsAvailableUseCheckBox.Size = new System.Drawing.Size(120, 16);
this.IsAvailableUseCheckBox.TabIndex = 11;
this.IsAvailableUseCheckBox.Text = "是否查询启用状态";
this.IsAvailableUseCheckBox.UseVisualStyleBackColor = true;
//
// IsUseCheckBox
//
this.IsUseCheckBox.AutoSize = true;
this.IsUseCheckBox.Location = new System.Drawing.Point(1079, 34);
this.IsUseCheckBox.Name = "IsUseCheckBox";
this.IsUseCheckBox.Size = new System.Drawing.Size(72, 16);
this.IsUseCheckBox.TabIndex = 12;
this.IsUseCheckBox.Text = "是否启用";
this.IsUseCheckBox.UseVisualStyleBackColor = true;
//
// MaterialConfigPage
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
@ -279,12 +297,13 @@ namespace HighWayIot.Winform.UserControlPages
private Label label3;
private ComboBox MaterialTypeComboBox;
private Label label2;
private CheckBox IsUseCheckBox;
private CheckBox IsAvailableUseCheckBox;
private DataGridViewTextBoxColumn Id;
private DataGridViewTextBoxColumn MaterialCode;
private DataGridViewTextBoxColumn MaterialName;
private DataGridViewTextBoxColumn MaterialType;
private DataGridViewTextBoxColumn ChildType;
private DataGridViewCheckBoxColumn IsUse;
private CheckBox IsUseCheckBox;
private CheckBox IsAvailableUseCheckBox;
}
}

@ -1,4 +1,5 @@
using HighWayIot.Repository.service;
using HighWayIot.Log4net;
using HighWayIot.Repository.service;
using HighWayIot.Winform.Business;
using HighWayIot.Winform.UserControlPages.SysConfigPages;
using Models;
@ -17,6 +18,8 @@ namespace HighWayIot.Winform.UserControlPages
{
public partial class MaterialConfigPage : UserControl
{
LogHelper logHelper = LogHelper.Instance;
/// <summary>
/// 物料子类型服务类实例
/// </summary>
@ -68,7 +71,7 @@ namespace HighWayIot.Winform.UserControlPages
MaterialDataGridView.DataSource = null;
MaterialDataGridView.DataSource = Lists;
}
/// <summary>
/// 添加物料
/// </summary>
@ -92,6 +95,14 @@ namespace HighWayIot.Winform.UserControlPages
{
ZxMaterialEntity entity = new ZxMaterialEntity();
int a = MaterialDataGridView.CurrentRow.Index;
try
{
entity.Id = int.Parse(MaterialDataGridView.Rows[a].Cells["Id"].Value.ToString().Trim());
}
catch (Exception ex)
{
MessageBox.Show("物料更新ID转换发生错误");
}
entity.MaterialCode = MaterialDataGridView.Rows[a].Cells["MaterialCode"].Value.ToString();
entity.MaterialName = MaterialDataGridView.Rows[a].Cells["MaterialName"].Value.ToString();
entity.MaterialType = MaterialDataGridView.Rows[a].Cells["MaterialType"].Value.ToString();
@ -115,15 +126,25 @@ namespace HighWayIot.Winform.UserControlPages
{
int a = MaterialDataGridView.CurrentRow.Index;
string s = MaterialDataGridView.Rows[a].Cells["MaterialCode"].Value.ToString();
int id;
try
{
id = int.Parse(MaterialDataGridView.Rows[a].Cells["Id"].Value.ToString());
}
catch (Exception ex)
{
logHelper.Error("物料删除ID转换发生错误", ex);
return;
}
if(MessageBox.Show($"是否要删除编号为{s}的物料?", "确认", MessageBoxButtons.OKCancel) == DialogResult.Cancel)
if (MessageBox.Show($"是否要删除编号为{s}的物料?", "确认", MessageBoxButtons.OKCancel) == DialogResult.Cancel)
{
return;
}
if (!zxMaterialService.DeleteMaterialInfoByMaterialCode(s))
if (!zxMaterialService.DeleteMaterialInfoById(id))
{
MessageBox.Show($"编号为{s}的物料删除失败" ,"提示");
MessageBox.Show($"编号为{s}的物料删除失败", "提示");
}
Lists = zxMaterialService.GetMaterialInfos();

@ -117,6 +117,9 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="Id.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="MaterialCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>

@ -53,6 +53,7 @@
//
// ChildComboBox
//
this.ChildComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.ChildComboBox.FormattingEnabled = true;
this.ChildComboBox.Location = new System.Drawing.Point(130, 105);
this.ChildComboBox.Name = "ChildComboBox";
@ -80,6 +81,7 @@
//
// MaterialTypeComboBox
//
this.MaterialTypeComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.MaterialTypeComboBox.FormattingEnabled = true;
this.MaterialTypeComboBox.Location = new System.Drawing.Point(130, 79);
this.MaterialTypeComboBox.Name = "MaterialTypeComboBox";

@ -95,6 +95,7 @@ namespace HighWayIot.Winform.UserControlPages.SysConfigPages
{
ZxMaterialEntity entity = new ZxMaterialEntity()
{
Id = _entity.Id,
MaterialName = MaterialNameTextBox.Text.Trim(),
MaterialCode = MaterialCodeTextBox.Text.Trim(),
MaterialType = MaterialTypeComboBox.Text.Trim(),
@ -103,6 +104,18 @@ namespace HighWayIot.Winform.UserControlPages.SysConfigPages
IsDeleted = _entity.IsDeleted.Value,
};
if (string.IsNullOrEmpty(MaterialCodeTextBox.Text.Trim()))
{
MessageBox.Show("物料信息修改失败!物料编号不能为空!", "提示");
return;
}
if(zxMaterialService.GetEntityByMaterialCode(MaterialCodeTextBox.Text.Trim()).Count > 0 && MaterialCodeTextBox.Text.Trim() != _entity.MaterialCode)
{
MessageBox.Show("物料信息修改失败!物料编号不能重复!", "提示");
return;
}
if (zxMaterialService.UpdateMaterialInfo(entity))
{
MessageBox.Show("物料信息修改成功!", "提示");

@ -93,7 +93,7 @@
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(65, 12);
this.label2.TabIndex = 15;
this.label2.Text = "配方代码";
this.label2.Text = "配方编号";
//
// RecipeCodeTextBox
//
@ -134,7 +134,7 @@
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(65, 12);
this.label5.TabIndex = 26;
this.label5.Text = "SPEC代码";
this.label5.Text = "SPEC编号";
//
// SpecCodeTextBox
//

@ -34,9 +34,18 @@ namespace HighWayIot.Winform.UserControlPages.RecipeConfigPages
MessageBox.Show("配方编号不能为空!");
return;
}
string s = RecipeCodeTextBox.Text.Trim();
if (zxRecipeService.GetRecipeInfosByRecipeCode(s).Count > 0)
{
MessageBox.Show("配方编号重复!");
return;
}
ZxRecipeEntity zxRecipeEntity = new ZxRecipeEntity()
{
RecipeCode = RecipeCodeTextBox.Text.Trim(),
RecipeCode = s,
RecipeName = RecipeNameTextBox.Text.Trim(),
RecipeSpecCode = SpecCodeTextBox.Text.Trim(),
RecipeSpecName = SpecNameTextBox.Text.Trim(),

@ -105,6 +105,14 @@ namespace HighWayIot.Winform.UserControlPages.RecipeConfigPages
IsDeleted = false,
};
var lists = zxWeightService.GetWeightInfos(RecipeCode);
if (lists.Where(x => x.MaterialCode == MaterialCodeComboBox.Text.Trim()).Count() >= 1)
{
MessageBox.Show("同一配方不能出现两种物料相同的称量信息!");
return;
}
if (!decimal.TryParse(SetThicknessTextBox.Text.Trim(), out decimal thickness))
{
MessageBox.Show("厚度请填入可带小数的阿拉伯数字");
@ -206,13 +214,21 @@ namespace HighWayIot.Winform.UserControlPages.RecipeConfigPages
/// <param name="e"></param>
private void MaterialCodeComboBox_SelectionChangeCommitted(object sender, EventArgs e)
{
ZxMaterialEntity entity = zxMaterialService.GetSingleEntityByCode(MaterialCodeComboBox.Text.Trim());
List<ZxMaterialEntity> entitys = zxMaterialService.GetEntityByMaterialCode(MaterialCodeComboBox.Text.Trim());
if (entity == null)
if (entitys == null && entitys.Count == 0)
{
return;
}
if (entitys.Count > 1)
{
MessageBox.Show("请检查是否有多条物料编号相同的可用物料");
return;
}
ZxMaterialEntity entity = entitys[0];
MaterialNameComboBox.Text = entity.MaterialName;
MaterialTypeComboBox.Text = entity.MaterialType;
ChildTypeComboBox.Text = entity.ChildType;

@ -32,14 +32,28 @@ namespace HighWayIot.Winform.UserControlPages
private void InitializeComponent()
{
this.WeightDataGridView = new System.Windows.Forms.DataGridView();
this.Id = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.MaterialCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.MaterialName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.MaterialType = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.MaterialChildType = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.SetThickness = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.SetWidth = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.SetLayer = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.SetWeight = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.SetError = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.WeightIsUse = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.AddRecipeButton = new System.Windows.Forms.Button();
this.ButtonPanel = new System.Windows.Forms.Panel();
this.label26 = new System.Windows.Forms.Label();
this.label25 = new System.Windows.Forms.Label();
this.RefreshRecipeButton = new System.Windows.Forms.Button();
this.UpdateRecipeButton = new System.Windows.Forms.Button();
this.DeleteRecipeButton = new System.Windows.Forms.Button();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.RecipeDataGridView = new System.Windows.Forms.DataGridView();
this.RId = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.RecipeCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.RecipeName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.RecipeSpecCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
@ -108,21 +122,12 @@ namespace HighWayIot.Winform.UserControlPages
this.SaveParaButton = new System.Windows.Forms.Button();
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
this.panel1 = new System.Windows.Forms.Panel();
this.label24 = new System.Windows.Forms.Label();
this.RefreshWeightButton = new System.Windows.Forms.Button();
this.UpdateWeightButton = new System.Windows.Forms.Button();
this.AddWeightButton = new System.Windows.Forms.Button();
this.DeleteWeightButton = new System.Windows.Forms.Button();
this.Id = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.MaterialCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.MaterialName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.MaterialType = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.MaterialChildType = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.SetThickness = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.SetWidth = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.SetLayer = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.SetWeight = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.SetError = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.WeightIsUse = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.label27 = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.WeightDataGridView)).BeginInit();
this.ButtonPanel.SuspendLayout();
this.groupBox1.SuspendLayout();
@ -166,6 +171,93 @@ namespace HighWayIot.Winform.UserControlPages
this.WeightDataGridView.TabIndex = 0;
this.WeightDataGridView.Tag = "";
//
// Id
//
this.Id.DataPropertyName = "Id";
this.Id.HeaderText = "编号";
this.Id.Name = "Id";
this.Id.ReadOnly = true;
this.Id.Width = 40;
//
// MaterialCode
//
this.MaterialCode.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.MaterialCode.DataPropertyName = "MaterialCode";
this.MaterialCode.HeaderText = "物料编码";
this.MaterialCode.Name = "MaterialCode";
this.MaterialCode.ReadOnly = true;
this.MaterialCode.Resizable = System.Windows.Forms.DataGridViewTriState.True;
//
// MaterialName
//
this.MaterialName.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.MaterialName.DataPropertyName = "MaterialName";
this.MaterialName.HeaderText = "物料名称";
this.MaterialName.Name = "MaterialName";
this.MaterialName.ReadOnly = true;
//
// MaterialType
//
this.MaterialType.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.MaterialType.DataPropertyName = "MaterialType";
this.MaterialType.HeaderText = "物料类型";
this.MaterialType.Name = "MaterialType";
this.MaterialType.ReadOnly = true;
this.MaterialType.Resizable = System.Windows.Forms.DataGridViewTriState.True;
//
// MaterialChildType
//
this.MaterialChildType.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.MaterialChildType.DataPropertyName = "MaterialChildType";
this.MaterialChildType.HeaderText = "子类型";
this.MaterialChildType.Name = "MaterialChildType";
this.MaterialChildType.ReadOnly = true;
this.MaterialChildType.Resizable = System.Windows.Forms.DataGridViewTriState.True;
//
// SetThickness
//
this.SetThickness.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.SetThickness.DataPropertyName = "SetThickness";
this.SetThickness.HeaderText = "厚度";
this.SetThickness.Name = "SetThickness";
//
// SetWidth
//
this.SetWidth.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.SetWidth.DataPropertyName = "SetWidth";
this.SetWidth.HeaderText = "宽度";
this.SetWidth.Name = "SetWidth";
//
// SetLayer
//
this.SetLayer.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.SetLayer.DataPropertyName = "SetLayer";
this.SetLayer.HeaderText = "层数";
this.SetLayer.Name = "SetLayer";
//
// SetWeight
//
this.SetWeight.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.SetWeight.DataPropertyName = "SetWeight";
this.SetWeight.HeaderText = "重量";
this.SetWeight.Name = "SetWeight";
//
// SetError
//
this.SetError.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.SetError.DataPropertyName = "SetError";
this.SetError.HeaderText = "公差";
this.SetError.Name = "SetError";
//
// WeightIsUse
//
this.WeightIsUse.DataPropertyName = "IsUse";
this.WeightIsUse.HeaderText = "启用";
this.WeightIsUse.Name = "WeightIsUse";
this.WeightIsUse.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.WeightIsUse.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.WeightIsUse.Width = 40;
//
// AddRecipeButton
//
this.AddRecipeButton.Location = new System.Drawing.Point(11, 9);
@ -181,6 +273,8 @@ namespace HighWayIot.Winform.UserControlPages
//
this.ButtonPanel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.ButtonPanel.Controls.Add(this.label26);
this.ButtonPanel.Controls.Add(this.label25);
this.ButtonPanel.Controls.Add(this.RefreshRecipeButton);
this.ButtonPanel.Controls.Add(this.UpdateRecipeButton);
this.ButtonPanel.Controls.Add(this.AddRecipeButton);
@ -191,9 +285,27 @@ namespace HighWayIot.Winform.UserControlPages
this.ButtonPanel.Size = new System.Drawing.Size(886, 58);
this.ButtonPanel.TabIndex = 4;
//
// label26
//
this.label26.AutoSize = true;
this.label26.Location = new System.Drawing.Point(338, 9);
this.label26.Name = "label26";
this.label26.Size = new System.Drawing.Size(269, 12);
this.label26.TabIndex = 7;
this.label26.Text = "双击单元格更改数值再点击修改按钮完成数值更改";
//
// label25
//
this.label25.AutoSize = true;
this.label25.Location = new System.Drawing.Point(338, 36);
this.label25.Name = "label25";
this.label25.Size = new System.Drawing.Size(101, 12);
this.label25.TabIndex = 6;
this.label25.Text = "配方编号不可更改";
//
// RefreshRecipeButton
//
this.RefreshRecipeButton.Location = new System.Drawing.Point(229, 9);
this.RefreshRecipeButton.Location = new System.Drawing.Point(120, 9);
this.RefreshRecipeButton.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.RefreshRecipeButton.Name = "RefreshRecipeButton";
this.RefreshRecipeButton.Size = new System.Drawing.Size(103, 39);
@ -204,7 +316,7 @@ namespace HighWayIot.Winform.UserControlPages
//
// UpdateRecipeButton
//
this.UpdateRecipeButton.Location = new System.Drawing.Point(120, 9);
this.UpdateRecipeButton.Location = new System.Drawing.Point(229, 9);
this.UpdateRecipeButton.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.UpdateRecipeButton.Name = "UpdateRecipeButton";
this.UpdateRecipeButton.Size = new System.Drawing.Size(103, 39);
@ -255,6 +367,7 @@ namespace HighWayIot.Winform.UserControlPages
this.RecipeDataGridView.AllowUserToDeleteRows = false;
this.RecipeDataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.RecipeDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.RId,
this.RecipeCode,
this.RecipeName,
this.RecipeSpecCode,
@ -274,12 +387,21 @@ namespace HighWayIot.Winform.UserControlPages
this.RecipeDataGridView.Tag = "";
this.RecipeDataGridView.SelectionChanged += new System.EventHandler(this.RecipeDataGridView_SelectionChanged);
//
// RId
//
this.RId.DataPropertyName = "Id";
this.RId.HeaderText = "ID";
this.RId.Name = "RId";
this.RId.ReadOnly = true;
this.RId.Width = 40;
//
// RecipeCode
//
this.RecipeCode.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.RecipeCode.DataPropertyName = "RecipeCode";
this.RecipeCode.HeaderText = "配方编号";
this.RecipeCode.Name = "RecipeCode";
this.RecipeCode.ReadOnly = true;
//
// RecipeName
//
@ -369,7 +491,7 @@ namespace HighWayIot.Winform.UserControlPages
this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 22.22222F));
this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 22.22222F));
this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 55.55556F));
this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 179F));
this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 185F));
this.tableLayoutPanel3.Controls.Add(this.groupBox4, 0, 0);
this.tableLayoutPanel3.Controls.Add(this.groupBox5, 1, 0);
this.tableLayoutPanel3.Controls.Add(this.groupBox6, 2, 0);
@ -397,7 +519,7 @@ namespace HighWayIot.Winform.UserControlPages
this.groupBox4.Location = new System.Drawing.Point(0, 0);
this.groupBox4.Margin = new System.Windows.Forms.Padding(0);
this.groupBox4.Name = "groupBox4";
this.groupBox4.Size = new System.Drawing.Size(352, 170);
this.groupBox4.Size = new System.Drawing.Size(351, 170);
this.groupBox4.TabIndex = 0;
this.groupBox4.TabStop = false;
this.groupBox4.Text = "开炼机#1参数";
@ -477,10 +599,10 @@ namespace HighWayIot.Winform.UserControlPages
this.groupBox5.Controls.Add(this.label7);
this.groupBox5.Controls.Add(this.E2P2TextBox);
this.groupBox5.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupBox5.Location = new System.Drawing.Point(352, 0);
this.groupBox5.Location = new System.Drawing.Point(351, 0);
this.groupBox5.Margin = new System.Windows.Forms.Padding(0);
this.groupBox5.Name = "groupBox5";
this.groupBox5.Size = new System.Drawing.Size(352, 170);
this.groupBox5.Size = new System.Drawing.Size(351, 170);
this.groupBox5.TabIndex = 1;
this.groupBox5.TabStop = false;
this.groupBox5.Text = "开炼机#2参数";
@ -581,10 +703,10 @@ namespace HighWayIot.Winform.UserControlPages
this.groupBox6.Controls.Add(this.label10);
this.groupBox6.Controls.Add(this.E3P2TextBox);
this.groupBox6.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupBox6.Location = new System.Drawing.Point(704, 0);
this.groupBox6.Location = new System.Drawing.Point(702, 0);
this.groupBox6.Margin = new System.Windows.Forms.Padding(0);
this.groupBox6.Name = "groupBox6";
this.groupBox6.Size = new System.Drawing.Size(882, 170);
this.groupBox6.Size = new System.Drawing.Size(878, 170);
this.groupBox6.TabIndex = 2;
this.groupBox6.TabStop = false;
this.groupBox6.Text = "开炼机#3参数";
@ -833,10 +955,10 @@ namespace HighWayIot.Winform.UserControlPages
this.groupBox7.Controls.Add(this.CopyParaButton);
this.groupBox7.Controls.Add(this.SaveParaButton);
this.groupBox7.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupBox7.Location = new System.Drawing.Point(1586, 0);
this.groupBox7.Location = new System.Drawing.Point(1580, 0);
this.groupBox7.Margin = new System.Windows.Forms.Padding(0);
this.groupBox7.Name = "groupBox7";
this.groupBox7.Size = new System.Drawing.Size(181, 170);
this.groupBox7.Size = new System.Drawing.Size(187, 170);
this.groupBox7.TabIndex = 3;
this.groupBox7.TabStop = false;
this.groupBox7.Text = "参数操作";
@ -924,6 +1046,8 @@ namespace HighWayIot.Winform.UserControlPages
//
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.panel1.Controls.Add(this.label27);
this.panel1.Controls.Add(this.label24);
this.panel1.Controls.Add(this.RefreshWeightButton);
this.panel1.Controls.Add(this.UpdateWeightButton);
this.panel1.Controls.Add(this.AddWeightButton);
@ -934,9 +1058,18 @@ namespace HighWayIot.Winform.UserControlPages
this.panel1.Size = new System.Drawing.Size(887, 58);
this.panel1.TabIndex = 5;
//
// label24
//
this.label24.AutoSize = true;
this.label24.Location = new System.Drawing.Point(338, 36);
this.label24.Name = "label24";
this.label24.Size = new System.Drawing.Size(125, 12);
this.label24.TabIndex = 5;
this.label24.Text = "称量物料信息不可更改";
//
// RefreshWeightButton
//
this.RefreshWeightButton.Location = new System.Drawing.Point(229, 9);
this.RefreshWeightButton.Location = new System.Drawing.Point(120, 9);
this.RefreshWeightButton.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.RefreshWeightButton.Name = "RefreshWeightButton";
this.RefreshWeightButton.Size = new System.Drawing.Size(103, 39);
@ -947,7 +1080,7 @@ namespace HighWayIot.Winform.UserControlPages
//
// UpdateWeightButton
//
this.UpdateWeightButton.Location = new System.Drawing.Point(120, 9);
this.UpdateWeightButton.Location = new System.Drawing.Point(229, 9);
this.UpdateWeightButton.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.UpdateWeightButton.Name = "UpdateWeightButton";
this.UpdateWeightButton.Size = new System.Drawing.Size(103, 39);
@ -979,91 +1112,14 @@ namespace HighWayIot.Winform.UserControlPages
this.DeleteWeightButton.UseVisualStyleBackColor = true;
this.DeleteWeightButton.Click += new System.EventHandler(this.DeleteWeightButton_Click);
//
// Id
//
this.Id.DataPropertyName = "Id";
this.Id.HeaderText = "编号";
this.Id.Name = "Id";
this.Id.ReadOnly = true;
this.Id.Width = 40;
//
// MaterialCode
//
this.MaterialCode.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.MaterialCode.DataPropertyName = "MaterialCode";
this.MaterialCode.HeaderText = "物料编码";
this.MaterialCode.Name = "MaterialCode";
this.MaterialCode.Resizable = System.Windows.Forms.DataGridViewTriState.True;
//
// MaterialName
//
this.MaterialName.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.MaterialName.DataPropertyName = "MaterialName";
this.MaterialName.HeaderText = "物料名称";
this.MaterialName.Name = "MaterialName";
this.MaterialName.ReadOnly = true;
//
// MaterialType
//
this.MaterialType.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.MaterialType.DataPropertyName = "MaterialType";
this.MaterialType.HeaderText = "物料类型";
this.MaterialType.Name = "MaterialType";
this.MaterialType.ReadOnly = true;
this.MaterialType.Resizable = System.Windows.Forms.DataGridViewTriState.True;
//
// MaterialChildType
//
this.MaterialChildType.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.MaterialChildType.DataPropertyName = "MaterialChildType";
this.MaterialChildType.HeaderText = "子类型";
this.MaterialChildType.Name = "MaterialChildType";
this.MaterialChildType.ReadOnly = true;
this.MaterialChildType.Resizable = System.Windows.Forms.DataGridViewTriState.True;
//
// SetThickness
//
this.SetThickness.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.SetThickness.DataPropertyName = "SetThickness";
this.SetThickness.HeaderText = "厚度";
this.SetThickness.Name = "SetThickness";
//
// SetWidth
//
this.SetWidth.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.SetWidth.DataPropertyName = "SetWidth";
this.SetWidth.HeaderText = "宽度";
this.SetWidth.Name = "SetWidth";
//
// SetLayer
//
this.SetLayer.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.SetLayer.DataPropertyName = "SetLayer";
this.SetLayer.HeaderText = "层数";
this.SetLayer.Name = "SetLayer";
//
// SetWeight
//
this.SetWeight.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.SetWeight.DataPropertyName = "SetWeight";
this.SetWeight.HeaderText = "重量";
this.SetWeight.Name = "SetWeight";
//
// SetError
//
this.SetError.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.SetError.DataPropertyName = "SetError";
this.SetError.HeaderText = "公差";
this.SetError.Name = "SetError";
//
// WeightIsUse
// label27
//
this.WeightIsUse.DataPropertyName = "IsUse";
this.WeightIsUse.HeaderText = "启用";
this.WeightIsUse.Name = "WeightIsUse";
this.WeightIsUse.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.WeightIsUse.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.WeightIsUse.Width = 40;
this.label27.AutoSize = true;
this.label27.Location = new System.Drawing.Point(338, 9);
this.label27.Name = "label27";
this.label27.Size = new System.Drawing.Size(269, 12);
this.label27.TabIndex = 8;
this.label27.Text = "双击单元格更改数值再点击修改按钮完成数值更改";
//
// RecipeConfigPage
//
@ -1078,6 +1134,7 @@ namespace HighWayIot.Winform.UserControlPages
this.Size = new System.Drawing.Size(1773, 1036);
((System.ComponentModel.ISupportInitialize)(this.WeightDataGridView)).EndInit();
this.ButtonPanel.ResumeLayout(false);
this.ButtonPanel.PerformLayout();
this.groupBox1.ResumeLayout(false);
this.groupBox2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.RecipeDataGridView)).EndInit();
@ -1094,6 +1151,7 @@ namespace HighWayIot.Winform.UserControlPages
this.groupBox7.PerformLayout();
this.tableLayoutPanel2.ResumeLayout(false);
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.ResumeLayout(false);
}
@ -1173,14 +1231,6 @@ namespace HighWayIot.Winform.UserControlPages
private Label NowCopyLabel;
private Label label23;
private Button ClearCutBoradButton;
private DataGridViewTextBoxColumn RecipeCode;
private DataGridViewTextBoxColumn RecipeName;
private DataGridViewTextBoxColumn RecipeSpecCode;
private DataGridViewTextBoxColumn RecipeSpecName;
private DataGridViewTextBoxColumn SizeKind;
private DataGridViewTextBoxColumn FixedWidth;
private DataGridViewTextBoxColumn WeightError;
private DataGridViewCheckBoxColumn IsUse;
private DataGridViewTextBoxColumn Id;
private DataGridViewTextBoxColumn MaterialCode;
private DataGridViewTextBoxColumn MaterialName;
@ -1192,5 +1242,18 @@ namespace HighWayIot.Winform.UserControlPages
private DataGridViewTextBoxColumn SetWeight;
private DataGridViewTextBoxColumn SetError;
private DataGridViewCheckBoxColumn WeightIsUse;
private DataGridViewTextBoxColumn RId;
private DataGridViewTextBoxColumn RecipeCode;
private DataGridViewTextBoxColumn RecipeName;
private DataGridViewTextBoxColumn RecipeSpecCode;
private DataGridViewTextBoxColumn RecipeSpecName;
private DataGridViewTextBoxColumn SizeKind;
private DataGridViewTextBoxColumn FixedWidth;
private DataGridViewTextBoxColumn WeightError;
private DataGridViewCheckBoxColumn IsUse;
private Label label24;
private Label label25;
private Label label26;
private Label label27;
}
}

@ -28,6 +28,11 @@ namespace HighWayIot.Winform.UserControlPages
/// </summary>
ZxWeightService zxWeightService = ZxWeightService.Instance;
/// <summary>
/// 配方服务类实例
/// </summary>
ZxMaterialService zxMaterialService = ZxMaterialService.Instance;
/// <summary>
/// 配方字段服务类实例
/// </summary>
@ -60,7 +65,7 @@ namespace HighWayIot.Winform.UserControlPages
WeightDataGridView.AutoGenerateColumns = false;
RecipeLists = zxRecipeService.GetRecipeInfos();
RecipeDataGridView.DataSource = null;
RecipeDataGridView.DataSource = RecipeLists;
}
@ -86,7 +91,53 @@ namespace HighWayIot.Winform.UserControlPages
/// <param name="e"></param>
private void DeleteRecipeButton_Click(object sender, EventArgs e)
{
int a = RecipeDataGridView.CurrentRow.Index;
string s = RecipeDataGridView.Rows[a].Cells["RecipeCode"].Value.ToString();
int id;
try
{
id = int.Parse(RecipeDataGridView.Rows[a].Cells["RId"].Value.ToString());
}
catch(Exception ex)
{
MessageBox.Show("ID转换发生错误");
return;
}
if (MessageBox.Show($"确定要删除编号为 [{s}] 的配方信息?", "确认", MessageBoxButtons.OKCancel) == DialogResult.Cancel)
{
return;
}
if (zxWeightService.GetWeightInfos(s).Count > 0)
{
if (MessageBox.Show("是否要删除其关联的所有称量信息?", "确认", MessageBoxButtons.OKCancel) == DialogResult.OK)
{
if (zxWeightService.DeleteWeightInfoByRecipeCode(s))
{
MessageBox.Show("称量信息删除成功");
}
else
{
MessageBox.Show("称量信息删除失败!请检查数据库连接情况");
}
}
}
if (zxRecipeService.DeleteRecipeInfoById(id))
{
MessageBox.Show("配方信息删除成功!");
}
else
{
MessageBox.Show("配方信息删除失败!请检查数据库连接情况");
}
RecipeLists = zxRecipeService.GetRecipeInfos();
RecipeDataGridView.DataSource = null;
RecipeDataGridView.DataSource = RecipeLists;
}
/// <summary>
@ -96,7 +147,47 @@ namespace HighWayIot.Winform.UserControlPages
/// <param name="e"></param>
private void UpdateRecipeButton_Click(object sender, EventArgs e)
{
DataGridViewRow nowRow = RecipeDataGridView.CurrentRow;
if(MessageBox.Show($"确认要更改编号为 [{nowRow.Cells["RecipeCode"].Value.ToString()}] 配方的数据吗", "确认", MessageBoxButtons.OKCancel) == DialogResult.Cancel)
{
return;
}
ZxRecipeEntity entity = new ZxRecipeEntity();
try
{
entity.Id = int.Parse(nowRow.Cells["RId"].Value.ToString().Trim());
entity.RecipeCode = nowRow.Cells["RecipeCode"].Value.ToString().Trim();
entity.RecipeName = nowRow.Cells["RecipeName"].Value.ToString().Trim();
entity.RecipeSpecCode = nowRow.Cells["RecipeSpecCode"].Value.ToString().Trim();
entity.RecipeSpecName = nowRow.Cells["RecipeSpecName"].Value.ToString().Trim();
entity.SizeKind = int.Parse(nowRow.Cells["SizeKind"].Value.ToString().Trim());
entity.FixedWidth = decimal.Parse(nowRow.Cells["FixedWidth"].Value.ToString().Trim());
entity.WeightError = int.Parse(nowRow.Cells["WeightError"].Value.ToString().Trim());
entity.IsUse = bool.Parse(nowRow.Cells["IsUse"].Value.ToString().Trim());
entity.IsDeleted = false;
}
catch (Exception ex)
{
MessageBox.Show("数据格式错误!");
return;
}
if (zxRecipeService.UpdateRecipeInfo(entity))
{
MessageBox.Show("配方更新成功!");
}
else
{
MessageBox.Show("配方更新失败!");
}
RecipeLists = zxRecipeService.GetRecipeInfos();
RecipeDataGridView.DataSource = null;
RecipeDataGridView.DataSource = RecipeLists;
}
/// <summary>
@ -106,7 +197,9 @@ namespace HighWayIot.Winform.UserControlPages
/// <param name="e"></param>
private void RefreshRecipeButton_Click(object sender, EventArgs e)
{
RecipeLists = zxRecipeService.GetRecipeInfos();
RecipeDataGridView.DataSource = null;
RecipeDataGridView.DataSource = RecipeLists;
}
/// <summary>
@ -116,7 +209,7 @@ namespace HighWayIot.Winform.UserControlPages
/// <param name="e"></param>
private void AddWeightButton_Click(object sender, EventArgs e)
{
if(RecipeDataGridView.CurrentRow == null)
if (RecipeDataGridView.CurrentRow == null)
{
MessageBox.Show("请先选择一条配方!");
return;
@ -127,8 +220,11 @@ namespace HighWayIot.Winform.UserControlPages
AddWeightForm form = new AddWeightForm(s);
form.ShowDialog();
WeightLists = zxWeightService.GetWeightInfos(s);
WeightToDataSource();
WeightDataGridView.DataSource = null;
WeightDataGridView.DataSource = WeightLists;
WeightDataGridView.DataSource = weightDataSourceEntities;
}
/// <summary>
@ -138,7 +234,41 @@ namespace HighWayIot.Winform.UserControlPages
/// <param name="e"></param>
private void DeleteWeightButton_Click(object sender, EventArgs e)
{
int a = WeightDataGridView.CurrentRow.Index;
int b = RecipeDataGridView.CurrentRow.Index;
string s1 = RecipeDataGridView.Rows[b].Cells["RecipeCode"].Value.ToString();
string s2 = WeightDataGridView.Rows[a].Cells["MaterialCode"].Value.ToString();
int id;
try
{
id = int.Parse(WeightDataGridView.Rows[a].Cells["Id"].Value.ToString());
}
catch (Exception ex)
{
MessageBox.Show("ID转换发生错误");
return;
}
if (MessageBox.Show($"确定要删除配方编号为 [{s1}] 物料编码为 [{s2}] 的称重信息?", "确认", MessageBoxButtons.OKCancel) == DialogResult.Cancel)
{
return;
}
if (zxWeightService.DeleteWeightInfoById(id))
{
MessageBox.Show("配方信息删除成功!");
}
else
{
MessageBox.Show("配方信息删除失败!请检查数据库连接情况");
}
WeightLists = zxWeightService.GetWeightInfos(s1);
WeightToDataSource();
WeightDataGridView.DataSource = null;
WeightDataGridView.DataSource = weightDataSourceEntities;
}
/// <summary>
@ -148,7 +278,56 @@ namespace HighWayIot.Winform.UserControlPages
/// <param name="e"></param>
private void UpdateWeightButton_Click(object sender, EventArgs e)
{
DataGridViewRow nowRow = WeightDataGridView.CurrentRow;
int a = RecipeDataGridView.CurrentRow.Index;
string s = RecipeDataGridView.Rows[a].Cells["RecipeCode"].Value.ToString();
if (MessageBox.Show($"确认要更改配方编号为 [{s}] 物料编号为 [{nowRow.Cells["MaterialCode"].Value.ToString()}] 的数据吗"
, "确认"
, MessageBoxButtons.OKCancel)
== DialogResult.Cancel)
{
return;
}
ZxWeightEntity entity = new ZxWeightEntity();
try
{
entity.Id = int.Parse(nowRow.Cells["Id"].Value.ToString().Trim());
entity.RecipeCode = s;
entity.MaterialCode = nowRow.Cells["MaterialCode"].Value.ToString().Trim();
entity.SetThickness = decimal.Parse(nowRow.Cells["SetThickness"].Value.ToString().Trim());
entity.SetWidth = decimal.Parse(nowRow.Cells["SetWidth"].Value.ToString().Trim());
entity.SetLayer = int.Parse(nowRow.Cells["SetLayer"].Value.ToString().Trim());
entity.SetWeight = decimal.Parse(nowRow.Cells["SetWeight"].Value.ToString().Trim());
entity.SetError = decimal.Parse(nowRow.Cells["SetError"].Value.ToString().Trim());
entity.IsUse = bool.Parse(nowRow.Cells["WeightIsUse"].Value.ToString().Trim());
entity.IsDeleted = false;
}
catch (Exception ex)
{
MessageBox.Show("数据格式错误!");
return;
}
if (zxWeightService.UpdateWeightInfo(entity))
{
MessageBox.Show("称量信息更新成功!");
}
else
{
MessageBox.Show("称量信息更新失败!");
}
WeightLists = zxWeightService.GetWeightInfos(s);
WeightToDataSource();
WeightDataGridView.DataSource = null;
WeightDataGridView.DataSource = weightDataSourceEntities;
}
/// <summary>
@ -158,7 +337,15 @@ namespace HighWayIot.Winform.UserControlPages
/// <param name="e"></param>
private void RefreshWeightButton_Click(object sender, EventArgs e)
{
int a = RecipeDataGridView.CurrentRow.Index;
string s = RecipeDataGridView.Rows[a].Cells["RecipeCode"].Value.ToString();
WeightLists = zxWeightService.GetWeightInfos(s);
WeightToDataSource();
WeightDataGridView.DataSource = null;
WeightDataGridView.DataSource = weightDataSourceEntities;
}
/// <summary>
@ -213,17 +400,60 @@ namespace HighWayIot.Winform.UserControlPages
WeightLists = zxWeightService.GetWeightInfos(s);
WeightToDataSource();
WeightDataGridView.DataSource = null;
WeightDataGridView.DataSource = WeightLists;
WeightDataGridView.DataSource = weightDataSourceEntities;
}
/// <summary>
/// 称重和物料数据联查
/// 称重数据关联物料数据
/// </summary>
private void WeighCombineMaterialData()
private void WeightToDataSource()
{
weightDataSourceEntities = new List<WeightDataSourceEntity>();
foreach (var item in WeightLists)
{
var entitys = zxMaterialService.GetEntityByMaterialCode(item.MaterialCode);
if (entitys == null && entitys.Count == 0)
{
return;
}
if (entitys.Count > 1)
{
MessageBox.Show("请检查是否有多条物料编号相同的可用物料");
return;
}
ZxMaterialEntity material = entitys[0];
weightDataSourceEntities.Add(new WeightDataSourceEntity()
{
Id = item.Id,
RecipeCode = item.RecipeCode,
MaterialCode = item.MaterialCode,
MaterialName = material.MaterialName,
MaterialType = material.MaterialType,
MaterialChildType = material.ChildType,
SetThickness = item.SetThickness,
SetWidth = item.SetWidth,
SetLayer = item.SetLayer,
SetWeight = item.SetWeight,
SetError = item.SetError,
IsUse = item.IsUse,
});
}
}
/// <summary>
/// 所选单条Weight dataSource转为实体类
/// </summary>
//private ZxWeightEntity DataSourceToWeight()
//{
// int a = WeightDataGridView.CurrentRow.Index;
// foreach
//}
}
}

@ -150,6 +150,9 @@
<metadata name="WeightIsUse.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="RId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="RecipeCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>

Loading…
Cancel
Save