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.
 

441 lines
22 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 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);
}
}
}
}