master
CaesarBao 3 months ago
parent 859d097977
commit a798b3fb8e

@ -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)

@ -0,0 +1,93 @@
using System;
using System.Linq;
using System.Text;
using SqlSugar;
namespace SlnMesnac.Repository
{
///<summary>
///物料库存消耗记录表
///</summary>
[SugarTable("T_RP_InventoryConsume_Record")]
public partial class T_RP_InventoryConsume_Record
{
public T_RP_InventoryConsume_Record(){
}
/// <summary>
/// Desc:主键编号
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(IsPrimaryKey = true,IsIdentity = true,ColumnName="objid")]
public int objid {get;set;}
/// <summary>
/// Desc:子项物料编号
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="materialtypeid")]
public string materialtypeid {get;set;}
/// <summary>
/// Desc:批次号
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="batchno")]
public string batchno {get;set;}
[SugarColumn(ColumnName = "stationid")]
public int? stationid { get; set; }
/// <summary>
/// Desc:消耗数量
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="consumecount")]
public string consumecount {get;set;}
/// <summary>
/// Desc:产品条码
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="productbarcode")]
public string productbarcode {get;set;}
/// <summary>
/// Desc:创建人
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="create_by")]
public string createBy {get;set;}
/// <summary>
/// Desc:创建时间
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="create_time")]
public DateTime? createTime {get;set;}
/// <summary>
/// Desc:更新人
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="update_by")]
public string updateBy {get;set;}
/// <summary>
/// Desc:更新时间
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="update_time")]
public DateTime? updateTime {get;set;}
}
}

@ -0,0 +1,99 @@
using System;
using System.Linq;
using System.Text;
using SqlSugar;
namespace SlnMesnac.Repository
{
///<summary>
///工位物料库存关系表
///</summary>
[SugarTable("T_RP_StationMaterialInventory")]
public partial class T_RP_StationMaterialInventory
{
public T_RP_StationMaterialInventory(){
}
/// <summary>
/// Desc:主键
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(IsPrimaryKey=true,IsIdentity=true,ColumnName="objid")]
public int objid {get;set;}
/// <summary>
/// Desc:工位编号
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="stationid")]
public int? stationid {get;set;}
/// <summary>
/// Desc:子项物料编号
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="material_type_id")]
public string materialTypeId {get;set;}
/// <summary>
/// Desc:批次号
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="batchno")]
public string batchno {get;set;}
/// <summary>
/// Desc:投入数量
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="inputcount")]
public int inputcount {get;set;}
/// <summary>
/// Desc:备注
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="remark")]
public string remark {get;set;}
/// <summary>
/// Desc:创建人
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="create_by")]
public string createBy {get;set;}
/// <summary>
/// Desc:创建时间
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="create_time")]
public DateTime? createTime {get;set;}
/// <summary>
/// Desc:更新人
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="update_by")]
public string updateBy {get;set;}
/// <summary>
/// Desc:更新时间
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="update_time")]
public DateTime? updateTime {get;set;}
}
}

@ -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<T_RP_InventoryConsume_Record>
{
Task<bool> InsertAsync(T_RP_InventoryConsume_Record record);
}
}

@ -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<T_RP_StationMaterialInventory>
{
/// <summary>
/// ²éѯ×ÓÏîÎïÁÏBOM
/// </summary>
/// <returns></returns>
List<T_RP_StationMaterialInventory> GetMaterialShip(int stationid);
T_RP_StationMaterialInventory GetBatchNoByMaterialTypeID(string material_type_id, int stationid);
Task<bool> UpdateAsync(T_RP_StationMaterialInventory record);
}
}

@ -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<T_RP_InventoryConsume_Record>, IT_RP_InventoryConsume_RecordService
{
public T_RP_InventoryConsume_RecordServiceImpl(Repository<T_RP_InventoryConsume_Record> repository):base(repository)
{
}
public async Task<bool> InsertAsync(T_RP_InventoryConsume_Record record)
{
bool result = await _rep.InsertAsync(record);
return result;
}
}
}

@ -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<T_RP_StationMaterialInventory>, IT_RP_StationMaterialInventoryService
{
public T_RP_StationMaterialInventoryServiceImpl(Repository<T_RP_StationMaterialInventory> 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<T_RP_StationMaterialInventory>(sql);
return t_RP_StationMaterialInventory;
}
catch (Exception)
{
return t_RP_StationMaterialInventory;
}
}
public List<T_RP_StationMaterialInventory> GetMaterialShip(int stationid)
{
List<T_RP_StationMaterialInventory> 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<T_RP_StationMaterialInventory>(sql);
}
catch (Exception ex)
{
//_logger.LogError($"»ñÈ¡AGVÈÎÎñÐÅÏ¢Òì³£:{ex.Message}");
}
return MaterialShipInfos;
}
public async Task<bool> UpdateAsync(T_RP_StationMaterialInventory record)
{
bool result = await _rep.UpdateAsync(record);
return result;
}
}
}

@ -66,7 +66,7 @@
<Button Content="最小化" x:Name="Minimized" Command="{Binding FormControlCommand}" CommandParameter="{Binding Name,ElementName=Minimized}" Style="{StaticResource BUTTON_AGREE}" Width="100" Height="30" Background="#FF9900" BorderBrush="#FF9900" Margin="0,0,10,0"/>
<Button Content="退 出" x:Name="Exit" Command="{Binding FormControlCommand}" CommandParameter="{Binding Name,ElementName=Exit}" Style="{StaticResource BUTTON_AGREE}" Width="100" Height="30" Background="#FF0033" BorderBrush="#FF0033" Margin="0,0,10,0"/>
<Button Content="型号切换" x:Name="ChangeType" Command="{Binding ControlOnClickCommand}" CommandParameter="{Binding Name,ElementName=ChangeType}" Style="{StaticResource BUTTON_AGREE}" Width="100" Height="30" Background="#009999" BorderBrush="#FF36B5C1" Margin="0,0,10,0"/>
<Button Content="代码生成" Visibility="Hidden" x:Name="Generate" Command="{Binding FormControlCommand}" CommandParameter="{Binding Name,ElementName=Generate}" Style="{StaticResource BUTTON_AGREE}" Width="100" Height="30" Background="#009999" BorderBrush="#FF36B5C1" Margin="0,0,10,0"/>
<Button Content="代码生成" Visibility="Visible" x:Name="Generate" Command="{Binding FormControlCommand}" CommandParameter="{Binding Name,ElementName=Generate}" Style="{StaticResource BUTTON_AGREE}" Width="100" Height="30" Background="#009999" BorderBrush="#FF36B5C1" Margin="0,0,10,0"/>
</StackPanel>

@ -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<List<StationQualityInfo>> _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<IStationQualityInfoService>();
_syTraceStateService = App.ServiceProvider.GetService<IT_SY_TraceStateService>();
_ProductChangeInfoService = App.ServiceProvider.GetService<IT_RP_ProductChangeInfoService>();
_stationMaterialInventoryService = App.ServiceProvider.GetService<IT_RP_StationMaterialInventoryService>();
_inventoryConsumeRecordService = App.ServiceProvider.GetService<IT_RP_InventoryConsume_RecordService>();
_controlOffLineScanHelper = ControlOffLineScanHelper.Instance;
_controlOffLineScanHelper.InstanceSerialPort(_appConfig.ComPort);
StationCode = _appConfig.StationCode;
@ -170,25 +176,30 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
//Products = new List<TaskInfo1> { 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<Column> { 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<Column> { 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<Column> { 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<Column> { 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<Column> { 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_StationMaterialInventory> 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_StationMaterialInventory> 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}");
}
}
/// <summary>
/// 获取工位物料构成
/// </summary>
private List<T_RP_StationMaterialInventory> GetMaterialInventoryCount()
{
List<T_RP_StationMaterialInventory> 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<bool> 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);
}));

@ -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": {

Loading…
Cancel
Save