From 81a5ef9f635ea6ca6855560ca816dacf09911fa4 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周一, 26 8月 2024 10:16:47 +0800
Subject: [PATCH] 2
---
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs | 126 +++++++++++++++++++++++++++++++++++++++---
1 files changed, 117 insertions(+), 9 deletions(-)
diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs
index bd08eea..5dd9efd 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs
@@ -182,7 +182,7 @@
}
else
{
- info.QualityState = (int)QualityState.OK;//姝ゅ闇�瑕佹敞鎰忥紝鍒ゆ柇鎵�鏈夊伐搴忚川閲忥紝鐒跺悗鍐嶈祴鍊�
+ info.QualityState = (int)QualityState.OK;//姝ゅ闇�瑕佹敞鎰忥紝鍒ゆ柇鎵�鏈夊伐搴忚川閲忥紝鐒跺悗鍐嶈祴鍊� //榛樿鍚堟牸锛孫P05榛樿鏄悎鏍�
info.Remarks = "OP05鏂板宸ヤ欢淇℃伅";
}
info.WorkPieceinitOnlineTime = DateTimeHelper.GetDateTime();
@@ -227,11 +227,13 @@
process = EntityPropHelper.Mapper<WorkPieceProcess, WorkPieceInfo>(info);
process.StartTime = DateTimeHelper.GetDateTime();
- process.QualityState = info.QualityState.HasValue ? info.QualityState.Value : (int)QualityState.OK;
+ //涓嶅啀榛樿璧嬪�间负鍚堟牸 銆怑ditby shaocx,2024-08-16銆�
+ //process.QualityState = info.QualityState.HasValue ? info.QualityState.Value : (int)QualityState.OK;//榛樿鍚堟牸锛屽凡澶勭悊
+ process.QualityState = GetQualityStateValue(info.QualityState);
if (process.WorkingProcedureCurrent == WorkingProcedureForHMI.OP70.ToString())
{ //鐗规畩澶勭悊OP70锛屽洜涓篛P70娌℃湁娴嬮噺锛岄粯璁ゅ悎鏍� [Editby shaocx,2024-07-03]
- process.QualityState = (int)QualityState.OK;
+ process.QualityState = (int)QualityState.OK;//榛樿鍚堟牸锛孫P70榛樿鏄悎鏍�
}
process.Id = Yitter.IdGenerator.YitIdHelper.NextId();
@@ -497,7 +499,7 @@
}
else
{
- pieceInfo.QualityState = (int)QualityState.OK;//姝ゅ闇�瑕佹敞鎰忥紝鍒ゆ柇鎵�鏈夊伐搴忚川閲忥紝鐒跺悗鍐嶈祴鍊�
+ pieceInfo.QualityState = (int)QualityState.OK;//姝ゅ闇�瑕佹敞鎰忥紝鍒ゆ柇鎵�鏈夊伐搴忚川閲忥紝鐒跺悗鍐嶈祴鍊� //榛樿鍚堟牸锛孫P05榛樿鏄悎鏍�
pieceInfo.Remarks = "OP05鏂板宸ヤ欢淇℃伅";
}
pieceInfo.WorkPieceinitOnlineTime = DateTimeHelper.GetDateTime();
@@ -721,7 +723,12 @@
WorkPieceProcess process = new WorkPieceProcess();
process = EntityPropHelper.Mapper<WorkPieceProcess, WorkPieceInfo>(pieceInfo);
process.StartTime = DateTimeHelper.GetDateTime();
- process.QualityState = pieceInfo.QualityState.HasValue ? pieceInfo.QualityState.Value : (int)QualityState.OK;
+
+ //涓嶅啀榛樿璧嬪�间负鍚堟牸 銆怑ditby shaocx,2024-08-16銆�
+ //process.QualityState = pieceInfo.QualityState.HasValue ? pieceInfo.QualityState.Value : (int)QualityState.OK;//榛樿鍚堟牸锛屽凡澶勭悊
+ process.QualityState = WorkPieceInfoManager.GetQualityStateValue(pieceInfo.QualityState);
+
+
//璁板綍璐ㄩ噺涓嶅悎鏍煎師鍥� 銆怑ditby shaocx,2024-06-26銆�
//璧嬪�间笉鍚堟牸鍘熷洜
SetQualityNoOk_WorkPieceProcess(logMiddle, ref process);
@@ -741,7 +748,11 @@
pro.QualityDataInfoID = qualityData.Id;
pro.UpdatedUserName = ResetUpdatedUserName(logMiddle);
pro.UpdatedTime = DateTimeHelper.GetDateTime();
- pro.QualityState = pieceInfo.QualityState.HasValue ? pieceInfo.QualityState.Value : 9;
+
+ //涓嶅啀榛樿璧嬪�间负鍚堟牸 銆怑ditby shaocx,2024-08-16銆�
+ //pro.QualityState = pieceInfo.QualityState.HasValue ? pieceInfo.QualityState.Value : 9;
+ pro.QualityState = WorkPieceInfoManager.GetQualityStateValue(pieceInfo.QualityState);
+
//璧嬪�间笉鍚堟牸鍘熷洜
SetQualityNoOk_WorkPieceProcess(logMiddle, ref pro);
@@ -788,6 +799,74 @@
loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"璐ㄩ噺锛歿logMiddle.QualityStateStr ?? "绌�"}";
db.WorkPieceLog.Add(GetAddWorkPieceLog(loginfo2));//鎻掑叆宸ヤ欢閲囬泦鏃ュ織琛�
db.SaveChanges();
+ }
+ }
+ }
+
+ /// <summary>
+ /// 璐ㄩ噺妫�娴嬪畬鎴�-OP70涓撶敤
+ /// </summary>
+ /// <param name="logMiddle"></param>
+ /// <param name="type"></param>
+ public static void QualityInfoCompleteForOP70(WorkPieceLogMiddle logMiddle, LogType type)
+ {
+ if (string.IsNullOrEmpty(logMiddle.QualityOP70To1) && string.IsNullOrEmpty(logMiddle.QualityOP70To2) && string.IsNullOrEmpty(logMiddle.QualityOP70To3))
+ {
+ Log4NetHelper.WriteErrorLog(type, $" {logMiddle.WorkingProcedure}宸ュ簭鐩戞帶娓呮礂鏈烘暟鎹� 璇诲彇宸ヤ欢鐮佹暟鎹甗{logMiddle.WorkPieceID ?? "绌�"}]鑾峰彇鐨勪笁涓�奸兘鏄┖鐨勶紝涓嶅鐞嗚繑鍥�");
+ return;
+ }
+ using (DbModel db = new DbModel())
+ {
+ try
+ {
+ bool isAdd = false;
+ if (logMiddle.WorkPieceID.Length == 22)
+ {
+ var qualityData = db.QualityDataInfo.Where(o => o.WorkPieceID == logMiddle.WorkPieceID).FirstOrDefault();
+ if (qualityData == null || qualityData.WorkPieceID.Length < 1 || qualityData.WorkingProcedure.Length < 1)
+ {//鎻掑叆QualityDataInfo琛�
+ isAdd = true;
+ qualityData = EntityPropHelper.Mapper<QualityDataInfo, WorkPieceLog>(logMiddle);
+ }
+
+ qualityData.QualityStateUpdateUser = "OP7009";
+ qualityData.QualityReceiveTime = DateTime.Now;
+
+ //鐗规畩澶勭悊OP70鐨勮川閲忔暟鎹�
+ if (string.IsNullOrEmpty(qualityData.QualityOP70To1) && !string.IsNullOrEmpty(SystemHelper.GetStrForQualityOP70(logMiddle.QualityOP70To1)))
+ {
+ qualityData.QualityOP70To1 = logMiddle.QualityOP70To1;
+ }
+ if (string.IsNullOrEmpty(qualityData.QualityOP70To2) && !string.IsNullOrEmpty(SystemHelper.GetStrForQualityOP70(logMiddle.QualityOP70To2)))
+ {
+ qualityData.QualityOP70To2 = logMiddle.QualityOP70To2;
+ }
+ if (string.IsNullOrEmpty(qualityData.QualityOP70To3) && !string.IsNullOrEmpty(SystemHelper.GetStrForQualityOP70(logMiddle.QualityOP70To3)))
+ {
+ qualityData.QualityOP70To3 = logMiddle.QualityOP70To3;
+ }
+
+
+ db.QualityDataInfoLog.Add(GetAddQualityDataInfoLog(qualityData));//鎻掑叆鏃ュ織
+
+ if (isAdd)
+ {
+ db.QualityDataInfo.Add(GetAddQualityDataInfo(qualityData));
+ }
+ db.SaveChanges();//淇濆瓨鏁版嵁
+ }
+ else
+ {
+ Log4NetHelper.WriteErrorLog(type, $" {logMiddle.WorkingProcedure}宸ュ簭鐩戞帶娓呮礂鏈烘暟鎹� 璇诲彇宸ヤ欢鐮佹暟鎹甗{logMiddle.WorkPieceID ?? "绌�"}]鏃跺紓甯革細");
+
+ }
+ }
+ catch (Exception ex)
+ {
+ Log4NetHelper.WriteErrorLog(type, $" {logMiddle.WorkingProcedure}宸ュ簭鐩戞帶娓呮礂鏈烘暟鎹� 璇诲彇宸ヤ欢鐮佹暟鎹甗{logMiddle.WorkPieceID ?? "绌�"}]鏃跺紓甯革細", ex);
+ }
+ finally
+ {
}
}
}
@@ -854,6 +933,8 @@
info.WorkingProcedureCompleted = info.WorkingProcedureCompleted + loginfo.WorkingProcedure;//宸插畬鎴愬伐搴�
info.WorkPieceCurrentPositionOrder = info.WorkingProcedurePlan.IndexOf(loginfo.WorkingProcedure) / 2;
}
+ QualityDataInfo qualityData = null;
+ qualityData = db.QualityDataInfo.Where(o => o.WorkPieceID == loginfo.WorkPieceID).FirstOrDefault();
if (loginfo.WorkingProcedure.Equals("OP35"))
{//涓轰簡瑙e喅OP35鐨勯噰闆嗗埌鐨勮川閲忎俊鎭槸OK杩楴OOK鐨勬儏鍐碉紝OP35 NOOK鏃舵洿鏂拌川閲忎俊鎭�
loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"OP35NOOK鍘熻川閲忎俊鎭瘂(info.QualityState.HasValue ? info.QualityState.Value.ToString() : "绌�")}";
@@ -868,7 +949,7 @@
}
loginfo.QualityState = info.QualityState;
- var qualityData = db.QualityDataInfo.Where(o => o.WorkPieceID == loginfo.WorkPieceID).FirstOrDefault();
+
if (qualityData != null)
{
qualityData.OP35QualityState = loginfo.QualityState.HasValue ? loginfo.QualityState.Value.ToString() : "3";
@@ -885,6 +966,8 @@
pro.UpdatedUserName = loginfo.MonitoringPoint;
pro.UpdatedTime = DateTimeHelper.GetDateTime();
}
+
+ QualityStateHelper.SetQualityStateForNoOk(ref info, ref pro, ref qualityData);
db.WorkPieceInfoLog.Add(GetAddWorkPieceInfoLog(info));
@@ -1048,7 +1131,7 @@
}
else
{
- info.QualityState = (int)QualityState.OK;//姝ゅ闇�瑕佹敞鎰忥紝鍒ゆ柇鎵�鏈夊伐搴忚川閲忥紝鐒跺悗鍐嶈祴鍊�
+ info.QualityState = (int)QualityState.OK;//姝ゅ闇�瑕佹敞鎰忥紝鍒ゆ柇鎵�鏈夊伐搴忚川閲忥紝鐒跺悗鍐嶈祴鍊� //榛樿鍚堟牸锛孫P05榛樿鏄悎鏍�
info.Remarks = "OP05鏂板宸ヤ欢淇℃伅";
}
info.WorkPieceinitOnlineTime = DateTimeHelper.GetDateTime();//WorkPieceInitOnlineTime
@@ -1175,7 +1258,9 @@
}
else
{
- process.QualityState = logMiddle.QualityState.HasValue ? logMiddle.QualityState.Value : (int)QualityState.OK;
+ //涓嶅啀榛樿璧嬪�间负鍚堟牸 銆怑ditby shaocx,2024-08-16銆�
+ //process.QualityState = logMiddle.QualityState.HasValue ? logMiddle.QualityState.Value : (int)QualityState.OK;//榛樿鍚堟牸锛屽凡澶勭悊
+ process.QualityState = WorkPieceInfoManager.GetQualityStateValue(logMiddle.QualityState);
}
process.CreatedUserName = logMiddle.MonitoringPoint;
process.CreatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local);
@@ -2510,6 +2595,29 @@
}
+ /// <summary>
+ /// 鑾峰彇璐ㄩ噺鐘舵�佸��
+ /// </summary>
+ /// <param name="qualityState"></param>
+ /// <returns></returns>
+ public static int GetQualityStateValue(int? qualityState)
+ {
+ if (qualityState.HasValue == false)
+ {
+ return (int)QualityState.Suspected;
+ }
+ if (qualityState.Value == 1)
+ {
+ return (int)QualityState.OK;
+ }
+ if (qualityState.Value == 2)
+ {
+ return (int)QualityState.NG;
+ }
+ return (int)QualityState.Suspected;
+ }
+
+
#endregion
}
}
--
Gitblit v1.9.3