diff --git a/SlnMesnac.Business/MaterialBindBusiness.cs b/SlnMesnac.Business/MaterialBindBusiness.cs
index 5b1fa78..b8b3ac4 100644
--- a/SlnMesnac.Business/MaterialBindBusiness.cs
+++ b/SlnMesnac.Business/MaterialBindBusiness.cs
@@ -27,8 +27,12 @@ namespace SlnMesnac.Business.@base
{
try
{
+ var flag = false;
var plc = base.GetPlcByKey("plc");
- var flag = plc.writeInt16ByAddress(PlcAddress, 1);
+ if (plc != null)
+ {
+ flag = plc.writeInt16ByAddress(PlcAddress, 1);
+ }
return flag;
}
catch (Exception ex)
@@ -38,12 +42,16 @@ namespace SlnMesnac.Business.@base
}
- public bool NG_BJSignal(String PlcAddress)
+ public bool NG_BJSignal(String PlcAddress,int value)
{
try
{
+ var flag = false;
var plc = base.GetPlcByKey("plc");
- var flag = plc.writeInt16ByAddress(PlcAddress, 2);
+ if (plc != null)
+ {
+ flag = plc.writeInt16ByAddress(PlcAddress, value);
+ }
return flag;
}
catch (Exception ex)
diff --git a/SlnMesnac.Model/domain/T_RP_InventoryConsume_Record.cs b/SlnMesnac.Model/domain/T_RP_InventoryConsume_Record.cs
new file mode 100644
index 0000000..7183874
--- /dev/null
+++ b/SlnMesnac.Model/domain/T_RP_InventoryConsume_Record.cs
@@ -0,0 +1,93 @@
+using System;
+using System.Linq;
+using System.Text;
+using SqlSugar;
+
+namespace SlnMesnac.Repository
+{
+ ///
+ ///物料库存消耗记录表
+ ///
+ [SugarTable("T_RP_InventoryConsume_Record")]
+ public partial class T_RP_InventoryConsume_Record
+ {
+ public T_RP_InventoryConsume_Record(){
+
+
+ }
+ ///
+ /// Desc:主键编号
+ /// Default:
+ /// Nullable:False
+ ///
+ [SugarColumn(IsPrimaryKey = true,IsIdentity = true,ColumnName="objid")]
+ public int objid {get;set;}
+
+ ///
+ /// Desc:子项物料编号
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="materialtypeid")]
+ public string materialtypeid {get;set;}
+
+ ///
+ /// Desc:批次号
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="batchno")]
+ public string batchno {get;set;}
+
+ [SugarColumn(ColumnName = "stationid")]
+ public int? stationid { get; set; }
+ ///
+ /// Desc:消耗数量
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="consumecount")]
+ public string consumecount {get;set;}
+
+ ///
+ /// Desc:产品条码
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="productbarcode")]
+ public string productbarcode {get;set;}
+
+ ///
+ /// Desc:创建人
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="create_by")]
+ public string createBy {get;set;}
+
+ ///
+ /// Desc:创建时间
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="create_time")]
+ public DateTime? createTime {get;set;}
+
+ ///
+ /// Desc:更新人
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="update_by")]
+ public string updateBy {get;set;}
+
+ ///
+ /// Desc:更新时间
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="update_time")]
+ public DateTime? updateTime {get;set;}
+
+ }
+}
diff --git a/SlnMesnac.Model/domain/T_RP_StationMaterialInventory.cs b/SlnMesnac.Model/domain/T_RP_StationMaterialInventory.cs
new file mode 100644
index 0000000..83fb72e
--- /dev/null
+++ b/SlnMesnac.Model/domain/T_RP_StationMaterialInventory.cs
@@ -0,0 +1,99 @@
+using System;
+using System.Linq;
+using System.Text;
+using SqlSugar;
+
+namespace SlnMesnac.Repository
+{
+ ///
+ ///工位物料库存关系表
+ ///
+ [SugarTable("T_RP_StationMaterialInventory")]
+ public partial class T_RP_StationMaterialInventory
+ {
+ public T_RP_StationMaterialInventory(){
+
+
+ }
+ ///
+ /// Desc:主键
+ /// Default:
+ /// Nullable:False
+ ///
+ [SugarColumn(IsPrimaryKey=true,IsIdentity=true,ColumnName="objid")]
+ public int objid {get;set;}
+
+ ///
+ /// Desc:工位编号
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="stationid")]
+ public int? stationid {get;set;}
+
+ ///
+ /// Desc:子项物料编号
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="material_type_id")]
+ public string materialTypeId {get;set;}
+
+ ///
+ /// Desc:批次号
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="batchno")]
+ public string batchno {get;set;}
+
+ ///
+ /// Desc:投入数量
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="inputcount")]
+ public int inputcount {get;set;}
+
+ ///
+ /// Desc:备注
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="remark")]
+ public string remark {get;set;}
+
+ ///
+ /// Desc:创建人
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="create_by")]
+ public string createBy {get;set;}
+
+ ///
+ /// Desc:创建时间
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="create_time")]
+ public DateTime? createTime {get;set;}
+
+ ///
+ /// Desc:更新人
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="update_by")]
+ public string updateBy {get;set;}
+
+ ///
+ /// Desc:更新时间
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="update_time")]
+ public DateTime? updateTime {get;set;}
+
+ }
+}
diff --git a/SlnMesnac.Repository/service/IT_RP_InventoryConsume_RecordService.cs b/SlnMesnac.Repository/service/IT_RP_InventoryConsume_RecordService.cs
new file mode 100644
index 0000000..8467e04
--- /dev/null
+++ b/SlnMesnac.Repository/service/IT_RP_InventoryConsume_RecordService.cs
@@ -0,0 +1,14 @@
+using SlnMesnac.Model.domain;
+using SlnMesnac.Repository.service.@base;
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace SlnMesnac.Repository.service
+{
+ public interface IT_RP_InventoryConsume_RecordService: IBaseService
+ {
+ Task InsertAsync(T_RP_InventoryConsume_Record record);
+ }
+}
\ No newline at end of file
diff --git a/SlnMesnac.Repository/service/IT_RP_StationMaterialInventoryService.cs b/SlnMesnac.Repository/service/IT_RP_StationMaterialInventoryService.cs
new file mode 100644
index 0000000..5c70956
--- /dev/null
+++ b/SlnMesnac.Repository/service/IT_RP_StationMaterialInventoryService.cs
@@ -0,0 +1,24 @@
+using SlnMesnac.Model.domain;
+using SlnMesnac.Repository.service.@base;
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace SlnMesnac.Repository.service
+{
+ public interface IT_RP_StationMaterialInventoryService: IBaseService
+ {
+ ///
+ /// ѯBOM
+ ///
+ ///
+ List GetMaterialShip(int stationid);
+
+ T_RP_StationMaterialInventory GetBatchNoByMaterialTypeID(string material_type_id, int stationid);
+
+ Task UpdateAsync(T_RP_StationMaterialInventory record);
+
+
+ }
+}
\ No newline at end of file
diff --git a/SlnMesnac.Repository/service/Impl/T_RP_InventoryConsume_RecordServiceImpl.cs b/SlnMesnac.Repository/service/Impl/T_RP_InventoryConsume_RecordServiceImpl.cs
new file mode 100644
index 0000000..16db4f0
--- /dev/null
+++ b/SlnMesnac.Repository/service/Impl/T_RP_InventoryConsume_RecordServiceImpl.cs
@@ -0,0 +1,21 @@
+using SlnMesnac.Model.domain;
+using SlnMesnac.Repository.service.@base;
+using System;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+
+namespace SlnMesnac.Repository.service.Impl
+{
+ public class T_RP_InventoryConsume_RecordServiceImpl : BaseServiceImpl, IT_RP_InventoryConsume_RecordService
+ {
+ public T_RP_InventoryConsume_RecordServiceImpl(Repository repository):base(repository)
+ {
+ }
+
+ public async Task InsertAsync(T_RP_InventoryConsume_Record record)
+ {
+ bool result = await _rep.InsertAsync(record);
+ return result;
+ }
+ }
+}
\ No newline at end of file
diff --git a/SlnMesnac.Repository/service/Impl/T_RP_StationMaterialInventoryServiceImpl.cs b/SlnMesnac.Repository/service/Impl/T_RP_StationMaterialInventoryServiceImpl.cs
new file mode 100644
index 0000000..d764ced
--- /dev/null
+++ b/SlnMesnac.Repository/service/Impl/T_RP_StationMaterialInventoryServiceImpl.cs
@@ -0,0 +1,54 @@
+using SlnMesnac.Model.domain;
+using SlnMesnac.Repository.service.@base;
+using System;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+
+namespace SlnMesnac.Repository.service.Impl
+{
+ public class T_RP_StationMaterialInventoryServiceImpl : BaseServiceImpl, IT_RP_StationMaterialInventoryService
+ {
+ public T_RP_StationMaterialInventoryServiceImpl(Repository repository):base(repository)
+ {
+
+ }
+
+ public T_RP_StationMaterialInventory GetBatchNoByMaterialTypeID(string material_type_id, int stationid)
+ {
+ T_RP_StationMaterialInventory t_RP_StationMaterialInventory = null;
+ string sql = "";
+ try
+ {
+ sql = "select objid,stationid,material_type_id, batchno ,inputcount,create_time from T_RP_StationMaterialInventory where material_type_id = '" + material_type_id + "' and inputcount > 0 and stationid = " + stationid+" order by create_time asc";
+ t_RP_StationMaterialInventory = base._rep.AsTenant().GetConnection("mes").Ado.SqlQuerySingle(sql);
+ return t_RP_StationMaterialInventory;
+ }
+ catch (Exception)
+ {
+ return t_RP_StationMaterialInventory;
+ }
+
+ }
+
+ public List GetMaterialShip(int stationid)
+ {
+ List MaterialShipInfos = null;
+ try
+ {
+ String sql = "select t2.material_type_id,t3.working_procedure_id as remark from (select material_type_id from( select material_type_id from T_RP_StationMaterialInventory where stationid = " + stationid +") t1 group by material_type_id) t2 left join base_materialtype_info t3 on t2.material_type_id = t3.material_type_id ";
+ MaterialShipInfos = base._rep.AsTenant().GetConnection("mes").Ado.SqlQuery(sql);
+ }
+ catch (Exception ex)
+ {
+ //_logger.LogError($"ȡAGVϢ쳣:{ex.Message}");
+ }
+ return MaterialShipInfos;
+ }
+
+ public async Task UpdateAsync(T_RP_StationMaterialInventory record)
+ {
+ bool result = await _rep.UpdateAsync(record);
+ return result;
+ }
+ }
+}
\ No newline at end of file
diff --git a/SlnMesnac.WPF/MainWindow.xaml b/SlnMesnac.WPF/MainWindow.xaml
index 9c09c0b..323f37e 100644
--- a/SlnMesnac.WPF/MainWindow.xaml
+++ b/SlnMesnac.WPF/MainWindow.xaml
@@ -66,7 +66,7 @@
-
+
diff --git a/SlnMesnac.WPF/ViewModel/IndexPage/IndexContentViewModel.cs b/SlnMesnac.WPF/ViewModel/IndexPage/IndexContentViewModel.cs
index c3c60c0..abf125f 100644
--- a/SlnMesnac.WPF/ViewModel/IndexPage/IndexContentViewModel.cs
+++ b/SlnMesnac.WPF/ViewModel/IndexPage/IndexContentViewModel.cs
@@ -33,6 +33,7 @@ using ATC_MaterialBind.Entity;
using System.Data;
using System.Dynamic;
using System.Drawing;
+using static System.Windows.Forms.VisualStyles.VisualStyleElement.TaskbarClock;
#region << 版 本 注 释 >>
/*--------------------------------------------------------------------
@@ -72,11 +73,14 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
private IStationQualityInfoService _stationQualityInfoService;
private IT_SY_TraceStateService _syTraceStateService;
private IT_RP_ProductChangeInfoService _ProductChangeInfoService;
+ private IT_RP_StationMaterialInventoryService _stationMaterialInventoryService;
+ private IT_RP_InventoryConsume_RecordService _inventoryConsumeRecordService;
public Action> _Action;
private TaskInfo1 taskInfo;
private AppsettingsConfig _appSettings = new AppsettingsConfig();
private string WritePLCAddress = "D6000";
private String _lastCode = string.Empty;
+ private int stationid = 3;
public IndexContentViewModel()
{
taskInfo = new TaskInfo1();
@@ -88,6 +92,8 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
_stationQualityInfoService = App.ServiceProvider.GetService();
_syTraceStateService = App.ServiceProvider.GetService();
_ProductChangeInfoService = App.ServiceProvider.GetService();
+ _stationMaterialInventoryService = App.ServiceProvider.GetService();
+ _inventoryConsumeRecordService = App.ServiceProvider.GetService();
_controlOffLineScanHelper = ControlOffLineScanHelper.Instance;
_controlOffLineScanHelper.InstanceSerialPort(_appConfig.ComPort);
StationCode = _appConfig.StationCode;
@@ -170,25 +176,30 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
//Products = new List { new TaskInfo1 { TaskNo = "Some product", KBarCode = "Very cool product",QBarCode = "1",Station1 = "1", Station2 = "1", Station3 = "1", Station4 = "1", Station5 = "1", Station6 = "1" } };
if (StationCode == "80_3")
{
+ stationid = 11;
ColumnConfig = new ColumnConfig { Columns = new List { new Column { Header = "任务编号", DataField = "TaskNo" }, new Column { Header = "壳体条码", DataField = "KBarCode" }, new Column { Header = "前盖条码", DataField = "QBarCode" }, new Column { Header = "前盖轴封", DataField = "Station1" }, new Column { Header = "曲轴压入转子", DataField = "Station2" }, new Column { Header = "曲轴压入前盖", DataField = "Station3" }, new Column { Header = "电机壳压轴承", DataField = "Station4" }, new Column { Header = "前盖轴封检漏", DataField = "Station5" }, new Column { Header = "转子充磁", DataField = "Station6" }, new Column { Header = "记录时间", DataField = "RecordTime" } } };
}
else if (StationCode == "20_2")
{
+ stationid = 3;
WritePLCAddress = "D6002";
ColumnConfig = new ColumnConfig { Columns = new List { new Column { Header = "任务编号", DataField = "TaskNo" }, new Column { Header = "壳体条码", DataField = "KBarCode" }, new Column { Header = "控制器条码", DataField = "QBarCode" }, new Column { Header = "电机壳组件绝缘测试", DataField = "Station1" }, new Column { Header = "记录时间", DataField = "RecordTime" } } };
}
else if (StationCode == "200")
{
+ stationid = 24;
ColumnConfig = new ColumnConfig { Columns = new List { new Column { Header = "任务编号", DataField = "TaskNo" }, new Column { Header = "壳体条码", DataField = "KBarCode" }, new Column { Header = "控制器条码", DataField = "QBarCode" }, new Column { Header = "记录时间", DataField = "RecordTime" } } };
}
else if (StationCode == "120_2")
{
+ stationid = 17;
ColumnConfig = new ColumnConfig { Columns = new List { new Column { Header = "任务编号", DataField = "TaskNo" }, new Column { Header = "壳体条码", DataField = "KBarCode" }, new Column { Header = "静盘条码", DataField = "QBarCode" }, new Column { Header = "静盘排气阀片安装", DataField = "Station1" }, new Column { Header = "静盘反向气密性检测", DataField = "Station2" }, new Column { Header = "动静盘高度差测量", DataField = "Station3" }, new Column { Header = "动静盘BP环选配", DataField = "Station4" }, new Column { Header = "动静盘拍照", DataField = "Station5" }, new Column { Header = "记录时间", DataField = "RecordTime" } } };
}
else if (StationCode == "150")
{
+ stationid = 19;
ColumnConfig = new ColumnConfig { Columns = new List { new Column { Header = "任务编号", DataField = "TaskNo" }, new Column { Header = "壳体条码", DataField = "KBarCode" }, new Column { Header = "后盖条码", DataField = "QBarCode" }, new Column { Header = "静盘背面和机壳端面高度测量", DataField = "Station1" }, new Column { Header = "记录时间", DataField = "RecordTime" } } };
}
@@ -323,6 +334,13 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
return;
}
}
+ var flag5 = IsExistBarCodeRelationShip(BarCode, "1");
+ if (flag5)
+ {
+ RefreshLogMessage(BarCode + "已存在扫描绑定记录,不允许重复扫描!");
+ ClearText("全部");
+ return;
+ }
KBarCode = true;
KTBoxCode = BarCode;
KTBoxTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
@@ -477,6 +495,148 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
}
}
+ private bool JudgeBatchCount(List t_RP_StationMaterialInventories)
+ {
+ bool iflag = false;
+ try
+ {
+ foreach (T_RP_StationMaterialInventory t_RP in t_RP_StationMaterialInventories)
+ {
+ T_RP_StationMaterialInventory t_RP_StationMaterialInventory = new T_RP_StationMaterialInventory();
+ t_RP_StationMaterialInventory = GetBatchNo(t_RP.materialTypeId);
+ int count = int.Parse(t_RP.remark);
+ int batchcount = t_RP_StationMaterialInventory.inputcount - count;
+ if (batchcount < 0)
+ {
+ RefreshLogMessage(t_RP.materialTypeId + "物料库存不足,请及时维护!");
+ iflag = true;
+ return iflag;
+ }
+ }
+ return iflag;
+ }
+ catch (Exception ex)
+ {
+ return iflag;
+ }
+ }
+
+ private async void AddInventoryConsume_Record()
+ {
+ try
+ {
+ List t_RP_StationMaterialInventories = null;
+ t_RP_StationMaterialInventories = GetMaterialInventoryCount();
+ if (t_RP_StationMaterialInventories != null)
+ {
+ if (t_RP_StationMaterialInventories.Count > 0)
+ {
+ bool icountflag = JudgeBatchCount(t_RP_StationMaterialInventories);
+ if (icountflag)
+ {
+ return;
+ }
+ foreach (T_RP_StationMaterialInventory t_RP in t_RP_StationMaterialInventories)
+ {
+ T_RP_StationMaterialInventory t_RP_StationMaterialInventory = new T_RP_StationMaterialInventory();
+ t_RP_StationMaterialInventory = GetBatchNo(t_RP.materialTypeId);
+ //判断批次库存是否满足扣料
+
+
+ if (t_RP_StationMaterialInventory != null)
+ {
+ bool iflag = await RealtimeInventoryDeduction(t_RP_StationMaterialInventory, t_RP.remark);
+ if (iflag)
+ {
+ //存库
+ T_RP_InventoryConsume_Record t_RP_InventoryConsume_Record = new T_RP_InventoryConsume_Record();
+ t_RP_InventoryConsume_Record.materialtypeid = t_RP.materialTypeId;
+ t_RP_InventoryConsume_Record.batchno = t_RP_StationMaterialInventory.batchno;
+ t_RP_InventoryConsume_Record.consumecount = t_RP.remark;
+ t_RP_InventoryConsume_Record.stationid = stationid;
+ t_RP_InventoryConsume_Record.createTime = DateTime.Now;
+ _inventoryConsumeRecordService.InsertAsync(t_RP_InventoryConsume_Record);
+ }
+ }
+ else
+ {
+ RefreshLogMessage(t_RP.materialTypeId + "物料库存不足,请及时维护!");
+ return;
+ }
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (Exception ex)
+ {
+ _logger.LogError($"异常:{ex.Message}");
+ }
+ }
+
+ ///
+ /// 获取工位物料构成
+ ///
+ private List GetMaterialInventoryCount()
+ {
+ List t_RP_StationMaterialInventories = null;
+ try
+ {
+ t_RP_StationMaterialInventories = _stationMaterialInventoryService.GetMaterialShip(stationid);
+ return t_RP_StationMaterialInventories;
+ }
+ catch (Exception ex)
+ {
+ _logger.LogError($"异常:{ex.Message}");
+ return t_RP_StationMaterialInventories;
+ }
+ }
+ private T_RP_StationMaterialInventory GetBatchNo(string materialTypeId)
+ {
+ T_RP_StationMaterialInventory t_RP_StationMaterialInventory = null;
+ try
+ {
+ t_RP_StationMaterialInventory = _stationMaterialInventoryService.GetBatchNoByMaterialTypeID(materialTypeId, stationid);
+ return t_RP_StationMaterialInventory;
+ }
+ catch (Exception ex)
+ {
+ _logger.LogError($"异常:{ex.Message}");
+ return t_RP_StationMaterialInventory;
+ }
+ }
+
+ private async Task RealtimeInventoryDeduction(T_RP_StationMaterialInventory t_RP_StationMaterialInventory, string count)
+ {
+ bool iFlag = false;
+ try
+ {
+ int icount = int.Parse(count);
+ if (t_RP_StationMaterialInventory.inputcount > 0)
+ {
+ t_RP_StationMaterialInventory.inputcount = t_RP_StationMaterialInventory.inputcount - icount;
+ t_RP_StationMaterialInventory.updateTime = DateTime.Now;
+ iFlag = await _stationMaterialInventoryService.UpdateAsync(t_RP_StationMaterialInventory);
+ return iFlag;
+ }
+ else
+ {
+ //库存不足提示
+
+ return iFlag;
+ }
+
+ }
+ catch (Exception ex)
+ {
+ _logger.LogError($"异常:{ex.Message}");
+ return iFlag;
+ }
+ }
+
private async void ZJBusiness(string BarCode)
{
try
@@ -518,7 +678,7 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
var flag = stationQualityInfos.FindAll(x => x.State != "1");
if (flag != null && flag.Count != 0)
{
- var Writeflag = _materialBindBusiness.NG_BJSignal(WritePLCAddress);
+ var Writeflag = _materialBindBusiness.NG_BJSignal(WritePLCAddress,2);
_Action?.Invoke(stationQualityInfos);
KBarCode = false;
QBarCode = false;
@@ -537,6 +697,8 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
RefreshDataGrid(taskInfo);
MaterialBing(KTBoxCode, ZJBoxCode);
AddProductCount("OK");
+ AddInventoryConsume_Record();
+
//_Action?.Invoke(null);
}
@@ -554,6 +716,7 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
RefreshDataGrid(taskInfo);
MaterialBing(KTBoxCode, ZJBoxCode);
AddProductCount("OK");
+ AddInventoryConsume_Record();
//_Action?.Invoke(null);
}
@@ -582,7 +745,8 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
taskInfo.QBarCode = ZJBoxCode;
taskInfo.KBarCode = KTBoxCode;
RefreshDataGrid(taskInfo);
- UpdateTrace(KTBoxCode, ZJBoxCode);
+ UpdateTrace(KTBoxCode, ZJBoxCode);
+ AddInventoryConsume_Record();
}
}
@@ -602,11 +766,13 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
if (StationCode == "150")
{
HCode_Bind(barcode);
+ return;
}
if (StationCode == "20_2")
{
//控制器互锁
KCode_Bind(barcode);
+ return;
}
else
{
@@ -627,7 +793,7 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
var flag = stationQualityInfos.FindAll(x => x.State != "1");
if (flag != null && flag.Count != 0)
{
- var Writeflag = _materialBindBusiness.NG_BJSignal(WritePLCAddress);
+ var Writeflag = _materialBindBusiness.NG_BJSignal(WritePLCAddress,2);
_Action?.Invoke(stationQualityInfos);
KBarCode = false;
QBarCode = false;
@@ -645,7 +811,11 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
RefreshDataGrid(taskInfo);
MaterialBing(KTBoxCode, ZJBoxCode);
AddProductCount("OK");
+ AddInventoryConsume_Record();
+
//_Action?.Invoke(null);
+ return;
+
}
}
@@ -661,7 +831,11 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
RefreshDataGrid(taskInfo);
MaterialBing(KTBoxCode, ZJBoxCode);
AddProductCount("OK");
+ AddInventoryConsume_Record();
+
//_Action?.Invoke(null);
+ return;
+
}
}
@@ -694,6 +868,8 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
}
AddProductCount("OK");
var WritePLCFlag = _materialBindBusiness.OK_FXSignal(WritePLCAddress);
+ AddInventoryConsume_Record();
+
}
}
@@ -729,7 +905,7 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
var flag = stationQualityInfos.FindAll(x => x.State != "1");
if (flag != null && flag.Count != 0)
{
- var Writeflag = _materialBindBusiness.NG_BJSignal(WritePLCAddress);
+ var Writeflag = _materialBindBusiness.NG_BJSignal(WritePLCAddress, 2);
_Action?.Invoke(stationQualityInfos);
KBarCode = false;
QBarCode = false;
@@ -747,7 +923,7 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
taskInfo.KBarCode = KTBoxCode;
RefreshDataGrid(taskInfo);
MaterialBing(KTBoxCode, ZJBoxCode);
-
+ AddInventoryConsume_Record();
}
}
}
@@ -762,6 +938,8 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
RefreshDataGrid(taskInfo);
MaterialBing(KTBoxCode, ZJBoxCode);
AddProductCount("OK");
+ AddInventoryConsume_Record();
+
//_Action?.Invoke(null);
}
@@ -797,7 +975,7 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
var flag = stationQualityInfos.FindAll(x => x.State != "1");
if (flag != null && flag.Count != 0)
{
- var Writeflag = _materialBindBusiness.NG_BJSignal(WritePLCAddress);
+ var Writeflag = _materialBindBusiness.NG_BJSignal(WritePLCAddress,2);
_Action?.Invoke(stationQualityInfos);
KBarCode = false;
QBarCode = false;
@@ -815,6 +993,7 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
taskInfo.KBarCode = KTBoxCode;
RefreshDataGrid(taskInfo);
UpdateTrace(KTBoxCode,ZJBoxCode);
+ AddInventoryConsume_Record();
}
}
@@ -830,6 +1009,8 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
RefreshDataGrid(taskInfo);
UpdateTrace(KTBoxCode, ZJBoxCode);
AddProductCount("OK");
+ AddInventoryConsume_Record();
+
//_Action?.Invoke(null);
}
@@ -1052,6 +1233,8 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
}
var Writeflag = _materialBindBusiness.OK_FXSignal(WritePLCAddress);
+ AddInventoryConsume_Record();
+
//ClearText();
}
}
@@ -1097,7 +1280,7 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
var flag = stationQualityInfos.FindAll(x => x.State != "1");
if (flag != null && flag.Count != 0)
{
- var Writeflag = _materialBindBusiness.NG_BJSignal(WritePLCAddress);
+ var Writeflag = _materialBindBusiness.NG_BJSignal(WritePLCAddress, 2);
_Action?.Invoke(stationQualityInfos);
ClearText("全部");
AddProductCount("NG");
@@ -1113,6 +1296,8 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
taskInfo.KBarCode = KTBoxCode;
RefreshDataGrid(taskInfo);
UpdateTrace(KTBoxCode, ZJBoxCode);
+ AddInventoryConsume_Record();
+
}
}
@@ -1128,6 +1313,8 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
RefreshDataGrid(taskInfo);
UpdateTrace(KTBoxCode, ZJBoxCode);
AddProductCount("OK");
+ AddInventoryConsume_Record();
+
//_Action?.Invoke(null);
}
@@ -1238,6 +1425,7 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
await App.Current.Dispatcher.BeginInvoke((Action)(() =>
{
taskInfo.RecordTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+ TaskInfoDataGrid.OrderBy(x=>x.RecordTime);
TaskInfoDataGrid.Add(taskInfo);
}));
diff --git a/SlnMesnac.WPF/appsettings.json b/SlnMesnac.WPF/appsettings.json
index e904a44..5c6dcef 100644
--- a/SlnMesnac.WPF/appsettings.json
+++ b/SlnMesnac.WPF/appsettings.json
@@ -14,7 +14,7 @@
"configId": "mes",
"dbType": 1,
//"connStr": "server=192.168.1.120;uid=sa;pwd=123456;database=ATJ_581_DB"
- "connStr": "server=127.0.0.1;uid=sa;pwd=123456;database=ATJ_581_DB"
+ "connStr": "server=119.45.202.115;uid=sa;pwd=haiwei@123;database=ATJ_581_DB"
},
{
"configId": "Local",
@@ -71,7 +71,7 @@
"ComPort": "COM1",
- "StationCode": "80_3"
+ "StationCode": "150"
},
"ProductConfig": {