You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

121 lines
4.7 KiB

using Aborlen.Model;
using FrameWork.Log;
using Monitor.FrameWork;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WorkStationBase;
namespace Aborlen.WorkStation
{
public partial class WorkStation05 : StationBase
{
/// <summary>
/// 允许保存
/// </summary>
/// <param name="stationCode"></param>
/// <param name="value"></param>
/// <param name="triggerTime"></param>
public void AllowReadDate(string stationCode, object value, DateTime triggerTime)
{
try
{
if (Convert.ToByte(value) == 1)
{
//读取质量数据
//判断合格标志 是否存在不合格、
string sql = $"update Deploy_Data set ";
foreach (var qualityTag in QualityOpcTagInfos)
{
if (qualityTag.ColName.Length >0)
{
sql = sql + $" {qualityTag.ColName}='{ Read(qualityTag.TagId, triggerTime).ToString() }' ,";
}
}
sql = sql.Remove(sql.Length - 1, 1);
sql = sql + $",op50_time='{DateTime.Now}' where tuopan_id='{Read(2180, triggerTime)}'and process_state=1 and plan_id='{PresentOrder.plan_id}'";
SqlSugarAdo.ExecuteCommand(sql);
//回写保存完成
Write(1120, (byte)1);
//显示质量数据
{
#region 拧紧数据发送到前端
var qualities = Deploy_Data.Query().Where(p => p.tuopan_id == PalletCode && p.process_state == 1 && p.plan_id == PresentOrder.plan_id).First();
qualityDatas = new List<QualityClass>();
/////////////////////////////////////////螺栓1_1///////////////////////////////////////////
QualityClass qualityClass = new QualityClass();
qualityClass.Id = 1;
qualityClass.StationCode = "OP50";
qualityClass.Position = "铆钉1";
qualityClass.Item = "结果";
qualityClass.Value = qualities.huck_1.ToString();
qualityClass.IsOk = Convert.ToInt32(qualities.huck_1 == 0 ? 0 : qualities.huck_1);
qualityDatas.Add(qualityClass);
qualityClass = new QualityClass();
qualityClass.Id = 2;
qualityClass.StationCode = "OP50";
qualityClass.Position = "铆钉2";
qualityClass.Item = "结果";
qualityClass.Value = qualities.huck_2.ToString();
qualityClass.IsOk = Convert.ToInt32(qualities.huck_2 == 0 ? 0 : qualities.huck_2);
qualityDatas.Add(qualityClass);
qualityClass = new QualityClass();
qualityClass.Id = 3;
qualityClass.StationCode = "OP50";
qualityClass.Position = "铆钉3";
qualityClass.Item = "结果";
qualityClass.Value = qualities.huck_3.ToString();
qualityClass.IsOk = Convert.ToInt32(qualities.huck_3 == 0 ? 0 : qualities.huck_3);
qualityDatas.Add(qualityClass);
qualityClass = new QualityClass();
qualityClass.Id = 4;
qualityClass.StationCode = "OP50";
qualityClass.Position = "铆钉4";
qualityClass.Item = "结果";
qualityClass.Value = qualities.huck_4.ToString();
qualityClass.IsOk = Convert.ToInt32(qualities.huck_4 == 0 ? 0 : qualities.huck_4);
qualityDatas.Add(qualityClass);
View.Qualities = qualityDatas;
#endregion
SendMsg.SendMsgToStation(StationInfo.StationCode, "Qualities", View.Qualities);
}
//更新产量
View.NokNum = Deploy_Data.Query().Where(p => p.plan_id == PresentOrder.plan_id && p.op50_time != null).Count(); //当前工站数量
SendMsg.SendMsgToStation(StationInfo.StationCode, "NokNum", View.NokNum);
}
}
catch (Exception ex)
{
LogHelper.WriteLog(LogHelper.GetMethodInfo(), ex);
}
}
}
}