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

3 years ago
  1. using Aborlen.Model;
  2. using FrameWork.Log;
  3. using Monitor.FrameWork;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using WorkStationBase;
  10. namespace Aborlen.WorkStation
  11. {
  12. public partial class WorkStation05 : StationBase
  13. {
  14. /// <summary>
  15. /// 允许保存
  16. /// </summary>
  17. /// <param name="stationCode"></param>
  18. /// <param name="value"></param>
  19. /// <param name="triggerTime"></param>
  20. public void AllowReadDate(string stationCode, object value, DateTime triggerTime)
  21. {
  22. try
  23. {
  24. if (Convert.ToByte(value) == 1)
  25. {
  26. //读取质量数据
  27. //判断合格标志 是否存在不合格、
  28. string sql = $"update Deploy_Data set ";
  29. foreach (var qualityTag in QualityOpcTagInfos)
  30. {
  31. if (qualityTag.ColName.Length >0)
  32. {
  33. sql = sql + $" {qualityTag.ColName}='{ Read(qualityTag.TagId, triggerTime).ToString() }' ,";
  34. }
  35. }
  36. sql = sql.Remove(sql.Length - 1, 1);
  37. sql = sql + $",op50_time='{DateTime.Now}' where tuopan_id='{Read(2180, triggerTime)}'and process_state=1 and plan_id='{PresentOrder.plan_id}'";
  38. SqlSugarAdo.ExecuteCommand(sql);
  39. //回写保存完成
  40. Write(1120, (byte)1);
  41. //显示质量数据
  42. {
  43. #region 拧紧数据发送到前端
  44. var qualities = Deploy_Data.Query().Where(p => p.tuopan_id == PalletCode && p.process_state == 1 && p.plan_id == PresentOrder.plan_id).First();
  45. qualityDatas = new List<QualityClass>();
  46. /////////////////////////////////////////螺栓1_1///////////////////////////////////////////
  47. QualityClass qualityClass = new QualityClass();
  48. qualityClass.Id = 1;
  49. qualityClass.StationCode = "OP50";
  50. qualityClass.Position = "铆钉1";
  51. qualityClass.Item = "结果";
  52. qualityClass.Value = qualities.huck_1.ToString();
  53. qualityClass.IsOk = Convert.ToInt32(qualities.huck_1 == 0 ? 0 : qualities.huck_1);
  54. qualityDatas.Add(qualityClass);
  55. qualityClass = new QualityClass();
  56. qualityClass.Id = 2;
  57. qualityClass.StationCode = "OP50";
  58. qualityClass.Position = "铆钉2";
  59. qualityClass.Item = "结果";
  60. qualityClass.Value = qualities.huck_2.ToString();
  61. qualityClass.IsOk = Convert.ToInt32(qualities.huck_2 == 0 ? 0 : qualities.huck_2);
  62. qualityDatas.Add(qualityClass);
  63. qualityClass = new QualityClass();
  64. qualityClass.Id = 3;
  65. qualityClass.StationCode = "OP50";
  66. qualityClass.Position = "铆钉3";
  67. qualityClass.Item = "结果";
  68. qualityClass.Value = qualities.huck_3.ToString();
  69. qualityClass.IsOk = Convert.ToInt32(qualities.huck_3 == 0 ? 0 : qualities.huck_3);
  70. qualityDatas.Add(qualityClass);
  71. qualityClass = new QualityClass();
  72. qualityClass.Id = 4;
  73. qualityClass.StationCode = "OP50";
  74. qualityClass.Position = "铆钉4";
  75. qualityClass.Item = "结果";
  76. qualityClass.Value = qualities.huck_4.ToString();
  77. qualityClass.IsOk = Convert.ToInt32(qualities.huck_4 == 0 ? 0 : qualities.huck_4);
  78. qualityDatas.Add(qualityClass);
  79. View.Qualities = qualityDatas;
  80. #endregion
  81. SendMsg.SendMsgToStation(StationInfo.StationCode, "Qualities", View.Qualities);
  82. }
  83. //更新产量
  84. View.NokNum = Deploy_Data.Query().Where(p => p.plan_id == PresentOrder.plan_id && p.op50_time != null).Count(); //当前工站数量
  85. SendMsg.SendMsgToStation(StationInfo.StationCode, "NokNum", View.NokNum);
  86. }
  87. }
  88. catch (Exception ex)
  89. {
  90. LogHelper.WriteLog(LogHelper.GetMethodInfo(), ex);
  91. }
  92. }
  93. }
  94. }