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 WorkStation02 : 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)
|
|
{
|
|
//读取质量数据
|
|
|
|
//判断合格标志 是否存在不合格、
|
|
|
|
int qualityMark = 1;
|
|
|
|
|
|
string sql = $"update ProductData_Outline set ";
|
|
|
|
foreach (var qualityTag in QualityOpcTagInfos)
|
|
{
|
|
|
|
sql = sql + $" {qualityTag.ColName}='{ Read(qualityTag.TagId, triggerTime).ToString() }' ,";
|
|
|
|
if (qualityTag.TagDataType == "byte")
|
|
{
|
|
if (Read(qualityTag.TagId, triggerTime).ToString() == "2")
|
|
{
|
|
|
|
qualityMark = 2;
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
sql = sql.Remove(sql.Length - 1, 1);
|
|
sql = sql + $",op20_time='{DateTime.Now}' , ProductState='{qualityMark}' where motor_pid='{ProductCode}'";
|
|
if (SqlSugarAdo.ExecuteCommand(sql) > 0)
|
|
{
|
|
|
|
}
|
|
//显示质量数据
|
|
{
|
|
|
|
#region 拧紧数据发送到前端
|
|
var qualities = ProductData_Outline.Query().Where(p => p.motor_pid == ProductCode).First();
|
|
qualityDatas = new List<QualityClass>();
|
|
|
|
|
|
/////////////////////////////////////////螺栓1_1///////////////////////////////////////////
|
|
QualityClass qualityClass = new QualityClass();
|
|
qualityClass.Id = 1;
|
|
qualityClass.StationCode = "OP20";
|
|
qualityClass.Position = "螺栓1拧紧1";
|
|
qualityClass.Item = "扭矩";
|
|
qualityClass.Value = qualities.op20_nj11.ToString();
|
|
qualityClass.IsOk = Convert.ToInt32(qualities.op20_result11 == 0 ? 0 : qualities.op20_result11);
|
|
qualityDatas.Add(qualityClass);
|
|
|
|
|
|
qualityClass = new QualityClass();
|
|
qualityClass.Id = 2;
|
|
qualityClass.StationCode = "OP20";
|
|
qualityClass.Position = "螺栓1拧紧1";
|
|
qualityClass.Item = "角度";
|
|
qualityClass.Value = qualities.op20_jd11.ToString();
|
|
qualityClass.IsOk = Convert.ToInt32(qualities.op20_result11 == 0 ? 0 : qualities.op20_result11);
|
|
qualityDatas.Add(qualityClass);
|
|
|
|
|
|
/////////////////////////////////////////螺栓2_1///////////////////////////////////////////
|
|
qualityClass = new QualityClass();
|
|
qualityClass.Id = 3;
|
|
qualityClass.StationCode = "OP20";
|
|
qualityClass.Position = "螺栓2拧紧1";
|
|
qualityClass.Item = "扭矩";
|
|
qualityClass.Value = qualities.op20_nj21.ToString();
|
|
qualityClass.IsOk = Convert.ToInt32(qualities.op20_result21 == 0 ? 0 : qualities.op20_result21);
|
|
qualityDatas.Add(qualityClass);
|
|
|
|
|
|
qualityClass = new QualityClass();
|
|
qualityClass.Id = 4;
|
|
qualityClass.StationCode = "OP20";
|
|
qualityClass.Position = "螺栓2拧紧1";
|
|
qualityClass.Item = "角度";
|
|
qualityClass.Value = qualities.op20_jd21.ToString();
|
|
qualityClass.IsOk = Convert.ToInt32(qualities.op20_result21 == 0 ? 0 : qualities.op20_result21);
|
|
qualityDatas.Add(qualityClass);
|
|
|
|
/////////////////////////////////////////螺栓3_1//////////////////////////////////////////
|
|
qualityClass = new QualityClass();
|
|
qualityClass.Id = 5;
|
|
qualityClass.StationCode = "OP20";
|
|
qualityClass.Position = "螺栓3拧紧1";
|
|
qualityClass.Item = "扭矩";
|
|
qualityClass.Value = qualities.op20_nj31.ToString();
|
|
qualityClass.IsOk = Convert.ToInt32(qualities.op20_result31 == 0 ? 0 : qualities.op20_result31);
|
|
qualityDatas.Add(qualityClass);
|
|
|
|
|
|
qualityClass = new QualityClass();
|
|
qualityClass.Id = 6;
|
|
qualityClass.StationCode = "OP20";
|
|
qualityClass.Position = "螺栓3拧紧1";
|
|
qualityClass.Item = "角度";
|
|
qualityClass.Value = qualities.op20_jd31.ToString();
|
|
qualityClass.IsOk = Convert.ToInt32(qualities.op20_result31 == 0 ? 0 : qualities.op20_result31);
|
|
qualityDatas.Add(qualityClass);
|
|
|
|
|
|
/////////////////////////////////////////螺栓4_1//////////////////////////////////////////
|
|
qualityClass = new QualityClass();
|
|
qualityClass.Id = 7;
|
|
qualityClass.StationCode = "OP20";
|
|
qualityClass.Position = "螺栓4拧紧1";
|
|
qualityClass.Item = "扭矩";
|
|
qualityClass.Value = qualities.op20_nj41.ToString();
|
|
qualityClass.IsOk = Convert.ToInt32(qualities.op20_result41 == 0 ? 0 : qualities.op20_result41);
|
|
qualityDatas.Add(qualityClass);
|
|
|
|
|
|
qualityClass = new QualityClass();
|
|
qualityClass.Id = 8;
|
|
qualityClass.StationCode = "OP20";
|
|
qualityClass.Position = "螺栓4拧紧1";
|
|
qualityClass.Item = "角度";
|
|
qualityClass.Value = qualities.op20_jd41.ToString();
|
|
qualityClass.IsOk = Convert.ToInt32(qualities.op20_result41 == 0 ? 0 : qualities.op20_result41);
|
|
qualityDatas.Add(qualityClass);
|
|
|
|
|
|
|
|
|
|
/////////////////////////////////////////螺栓1_2///////////////////////////////////////////
|
|
qualityClass = new QualityClass();
|
|
qualityClass.Id = 9;
|
|
qualityClass.StationCode = "OP20";
|
|
qualityClass.Position = "螺栓1拧紧2";
|
|
qualityClass.Item = "扭矩";
|
|
qualityClass.Value = qualities.op20_nj12.ToString();
|
|
qualityClass.IsOk = Convert.ToInt32(qualities.op20_result12 == 0 ? 0 : qualities.op20_result12);
|
|
qualityDatas.Add(qualityClass);
|
|
|
|
|
|
qualityClass = new QualityClass();
|
|
qualityClass.Id = 10;
|
|
qualityClass.StationCode = "OP20";
|
|
qualityClass.Position = "螺栓1拧紧2";
|
|
qualityClass.Item = "角度";
|
|
qualityClass.Value = qualities.op20_jd12.ToString();
|
|
qualityClass.IsOk = Convert.ToInt32(qualities.op20_result12 == 0 ? 0 : qualities.op20_result12);
|
|
qualityDatas.Add(qualityClass);
|
|
|
|
|
|
/////////////////////////////////////////螺栓2_2///////////////////////////////////////////
|
|
qualityClass = new QualityClass();
|
|
qualityClass.Id = 11;
|
|
qualityClass.StationCode = "OP20";
|
|
qualityClass.Position = "螺栓2拧紧2";
|
|
qualityClass.Item = "扭矩";
|
|
qualityClass.Value = qualities.op20_nj22.ToString();
|
|
qualityClass.IsOk = Convert.ToInt32(qualities.op20_result22 == 0 ? 0 : qualities.op20_result22);
|
|
qualityDatas.Add(qualityClass);
|
|
|
|
|
|
qualityClass = new QualityClass();
|
|
qualityClass.Id = 12;
|
|
qualityClass.StationCode = "OP20";
|
|
qualityClass.Position = "螺栓2拧紧2";
|
|
qualityClass.Item = "角度";
|
|
qualityClass.Value = qualities.op20_jd22.ToString();
|
|
qualityClass.IsOk = Convert.ToInt32(qualities.op20_result22 == 0 ? 0 : qualities.op20_result22);
|
|
qualityDatas.Add(qualityClass);
|
|
|
|
/////////////////////////////////////////螺栓3_2//////////////////////////////////////////
|
|
qualityClass = new QualityClass();
|
|
qualityClass.Id = 13;
|
|
qualityClass.StationCode = "OP20";
|
|
qualityClass.Position = "螺栓3拧紧2";
|
|
qualityClass.Item = "扭矩";
|
|
qualityClass.Value = qualities.op20_nj32.ToString();
|
|
qualityClass.IsOk = Convert.ToInt32(qualities.op20_result32 == 0 ? 0 : qualities.op20_result32);
|
|
qualityDatas.Add(qualityClass);
|
|
|
|
|
|
qualityClass = new QualityClass();
|
|
qualityClass.Id = 14;
|
|
qualityClass.StationCode = "OP20";
|
|
qualityClass.Position = "螺栓3拧紧2";
|
|
qualityClass.Item = "角度";
|
|
qualityClass.Value = qualities.op20_jd32.ToString();
|
|
qualityClass.IsOk = Convert.ToInt32(qualities.op20_result32 == 0 ? 0 : qualities.op20_result32);
|
|
qualityDatas.Add(qualityClass);
|
|
|
|
|
|
/////////////////////////////////////////螺栓4_2//////////////////////////////////////////
|
|
qualityClass = new QualityClass();
|
|
qualityClass.Id = 15;
|
|
qualityClass.StationCode = "OP20";
|
|
qualityClass.Position = "螺栓4拧紧2";
|
|
qualityClass.Item = "扭矩";
|
|
qualityClass.Value = qualities.op20_nj42.ToString();
|
|
qualityClass.IsOk = Convert.ToInt32(qualities.op20_result42 == 0 ? 0 : qualities.op20_result42);
|
|
qualityDatas.Add(qualityClass);
|
|
|
|
|
|
qualityClass = new QualityClass();
|
|
qualityClass.Id = 16;
|
|
qualityClass.StationCode = "OP20";
|
|
qualityClass.Position = "螺栓4拧紧2";
|
|
qualityClass.Item = "角度";
|
|
qualityClass.Value = qualities.op20_jd42.ToString();
|
|
qualityClass.IsOk = Convert.ToInt32(qualities.op20_result42 == 0 ? 0 : qualities.op20_result42);
|
|
qualityDatas.Add(qualityClass);
|
|
|
|
|
|
|
|
|
|
/////////////////////////////////////////螺栓1_3///////////////////////////////////////////
|
|
qualityClass = new QualityClass();
|
|
qualityClass.Id = 17;
|
|
qualityClass.StationCode = "OP20";
|
|
qualityClass.Position = "螺栓1拧紧3";
|
|
qualityClass.Item = "扭矩";
|
|
qualityClass.Value = qualities.op20_nj13.ToString();
|
|
qualityClass.IsOk = Convert.ToInt32(qualities.op20_result13 == 0 ? 0 : qualities.op20_result13);
|
|
qualityDatas.Add(qualityClass);
|
|
|
|
|
|
qualityClass = new QualityClass();
|
|
qualityClass.Id = 18;
|
|
qualityClass.StationCode = "OP20";
|
|
qualityClass.Position = "螺栓1拧紧3";
|
|
qualityClass.Item = "角度";
|
|
qualityClass.Value = qualities.op20_jd13.ToString();
|
|
qualityClass.IsOk = Convert.ToInt32(qualities.op20_result13 == 0 ? 0 : qualities.op20_result13);
|
|
qualityDatas.Add(qualityClass);
|
|
|
|
|
|
/////////////////////////////////////////螺栓2_3///////////////////////////////////////////
|
|
qualityClass = new QualityClass();
|
|
qualityClass.Id = 19;
|
|
qualityClass.StationCode = "OP20";
|
|
qualityClass.Position = "螺栓2拧紧3";
|
|
qualityClass.Item = "扭矩";
|
|
qualityClass.Value = qualities.op20_nj23.ToString();
|
|
qualityClass.IsOk = Convert.ToInt32(qualities.op20_result23 == 0 ? 0 : qualities.op20_result23);
|
|
qualityDatas.Add(qualityClass);
|
|
|
|
|
|
qualityClass = new QualityClass();
|
|
qualityClass.Id = 20;
|
|
qualityClass.StationCode = "OP20";
|
|
qualityClass.Position = "螺栓2拧紧3";
|
|
qualityClass.Item = "角度";
|
|
qualityClass.Value = qualities.op20_jd23.ToString();
|
|
qualityClass.IsOk = Convert.ToInt32(qualities.op20_result23 == 0 ? 0 : qualities.op20_result23);
|
|
qualityDatas.Add(qualityClass);
|
|
|
|
/////////////////////////////////////////螺栓3_3//////////////////////////////////////////
|
|
qualityClass = new QualityClass();
|
|
qualityClass.Id = 21;
|
|
qualityClass.StationCode = "OP20";
|
|
qualityClass.Position = "螺栓3拧紧3";
|
|
qualityClass.Item = "扭矩";
|
|
qualityClass.Value = qualities.op20_nj33.ToString();
|
|
qualityClass.IsOk = Convert.ToInt32(qualities.op20_result33 == 0 ? 0 : qualities.op20_result33);
|
|
qualityDatas.Add(qualityClass);
|
|
|
|
|
|
qualityClass = new QualityClass();
|
|
qualityClass.Id = 22;
|
|
qualityClass.StationCode = "OP20";
|
|
qualityClass.Position = "螺栓3拧紧3";
|
|
qualityClass.Item = "角度";
|
|
qualityClass.Value = qualities.op20_jd33.ToString();
|
|
qualityClass.IsOk = Convert.ToInt32(qualities.op20_result33 == 0 ? 0 : qualities.op20_result33);
|
|
qualityDatas.Add(qualityClass);
|
|
|
|
|
|
/////////////////////////////////////////螺栓4_3//////////////////////////////////////////
|
|
qualityClass = new QualityClass();
|
|
qualityClass.Id = 23;
|
|
qualityClass.StationCode = "OP20";
|
|
qualityClass.Position = "螺栓4拧紧3";
|
|
qualityClass.Item = "扭矩";
|
|
qualityClass.Value = qualities.op20_nj43.ToString();
|
|
qualityClass.IsOk = Convert.ToInt32(qualities.op20_result43 == 0 ? 0 : qualities.op20_result43);
|
|
qualityDatas.Add(qualityClass);
|
|
|
|
|
|
qualityClass = new QualityClass();
|
|
qualityClass.Id = 24;
|
|
qualityClass.StationCode = "OP20";
|
|
qualityClass.Position = "螺栓4拧紧3";
|
|
qualityClass.Item = "角度";
|
|
qualityClass.Value = qualities.op20_jd43.ToString();
|
|
qualityClass.IsOk = Convert.ToInt32(qualities.op20_result43 == 0 ? 0 : qualities.op20_result43);
|
|
qualityDatas.Add(qualityClass);
|
|
|
|
|
|
|
|
|
|
/////////////////////////////////////////螺栓1_4///////////////////////////////////////////
|
|
qualityClass = new QualityClass();
|
|
qualityClass.Id = 25;
|
|
qualityClass.StationCode = "OP20";
|
|
qualityClass.Position = "螺栓1拧紧4";
|
|
qualityClass.Item = "扭矩";
|
|
qualityClass.Value = qualities.op20_nj14.ToString();
|
|
qualityClass.IsOk = Convert.ToInt32(qualities.op20_result14 == 0 ? 0 : qualities.op20_result14);
|
|
qualityDatas.Add(qualityClass);
|
|
|
|
|
|
qualityClass = new QualityClass();
|
|
qualityClass.Id = 26;
|
|
qualityClass.StationCode = "OP20";
|
|
qualityClass.Position = "螺栓1拧紧4";
|
|
qualityClass.Item = "角度";
|
|
qualityClass.Value = qualities.op20_jd14.ToString();
|
|
qualityClass.IsOk = Convert.ToInt32(qualities.op20_result14 == 0 ? 0 : qualities.op20_result14);
|
|
qualityDatas.Add(qualityClass);
|
|
|
|
|
|
/////////////////////////////////////////螺栓2_4///////////////////////////////////////////
|
|
qualityClass = new QualityClass();
|
|
qualityClass.Id = 27;
|
|
qualityClass.StationCode = "OP20";
|
|
qualityClass.Position = "螺栓2拧紧4";
|
|
qualityClass.Item = "扭矩";
|
|
qualityClass.Value = qualities.op20_nj24.ToString();
|
|
qualityClass.IsOk = Convert.ToInt32(qualities.op20_result24 == 0 ? 0 : qualities.op20_result24);
|
|
qualityDatas.Add(qualityClass);
|
|
|
|
|
|
qualityClass = new QualityClass();
|
|
qualityClass.Id = 28;
|
|
qualityClass.StationCode = "OP20";
|
|
qualityClass.Position = "螺栓2拧紧4";
|
|
qualityClass.Item = "角度";
|
|
qualityClass.Value = qualities.op20_jd24.ToString();
|
|
qualityClass.IsOk = Convert.ToInt32(qualities.op20_result24 == 0 ? 0 : qualities.op20_result24);
|
|
qualityDatas.Add(qualityClass);
|
|
|
|
/////////////////////////////////////////螺栓3_4//////////////////////////////////////////
|
|
qualityClass = new QualityClass();
|
|
qualityClass.Id = 29;
|
|
qualityClass.StationCode = "OP20";
|
|
qualityClass.Position = "螺栓3拧紧4";
|
|
qualityClass.Item = "扭矩";
|
|
qualityClass.Value = qualities.op20_nj34.ToString();
|
|
qualityClass.IsOk = Convert.ToInt32(qualities.op20_result34 == 0 ? 0 : qualities.op20_result34);
|
|
qualityDatas.Add(qualityClass);
|
|
|
|
|
|
qualityClass = new QualityClass();
|
|
qualityClass.Id = 30;
|
|
qualityClass.StationCode = "OP20";
|
|
qualityClass.Position = "螺栓3拧紧4";
|
|
qualityClass.Item = "角度";
|
|
qualityClass.Value = qualities.op20_jd34.ToString();
|
|
qualityClass.IsOk = Convert.ToInt32(qualities.op20_result34 == 0 ? 0 : qualities.op20_result34);
|
|
qualityDatas.Add(qualityClass);
|
|
|
|
|
|
/////////////////////////////////////////螺栓4_4//////////////////////////////////////////
|
|
qualityClass = new QualityClass();
|
|
qualityClass.Id = 31;
|
|
qualityClass.StationCode = "OP20";
|
|
qualityClass.Position = "螺栓4拧紧4";
|
|
qualityClass.Item = "扭矩";
|
|
qualityClass.Value = qualities.op20_nj44.ToString();
|
|
qualityClass.IsOk = Convert.ToInt32(qualities.op20_result44 == 0 ? 0 : qualities.op20_result44);
|
|
qualityDatas.Add(qualityClass);
|
|
|
|
|
|
qualityClass = new QualityClass();
|
|
qualityClass.Id = 32;
|
|
qualityClass.StationCode = "OP20";
|
|
qualityClass.Position = "螺栓4拧紧4";
|
|
qualityClass.Item = "角度";
|
|
qualityClass.Value = qualities.op20_jd44.ToString();
|
|
qualityClass.IsOk = Convert.ToInt32(qualities.op20_result44 == 0 ? 0 : qualities.op20_result44);
|
|
qualityDatas.Add(qualityClass);
|
|
|
|
View.Qualities = qualityDatas;
|
|
#endregion
|
|
|
|
SendMsg.SendMsgToStation(StationInfo.StationCode, "Qualities", View.Qualities);
|
|
}
|
|
|
|
|
|
//回写保存完成
|
|
Write(1120, (byte)1);
|
|
|
|
|
|
}
|
|
else
|
|
{
|
|
//保存完成,复位
|
|
Barcodes_Dic.Clear();
|
|
|
|
ProductCycleTime=ExecDateDiff(ArrivedTime, DateTime.Now);
|
|
|
|
ArrivedTime = DateTime.Now;
|
|
}
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogHelper.WriteLog(LogHelper.GetMethodInfo(), ex);
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
}
|