From f3eb86b73c4262cb0cecb3a4de3dc0af75a1240e Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周三, 04 9月 2024 15:41:42 +0800
Subject: [PATCH] 1
---
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs | 224 +++++++++++++++++++++++++++++++++----------------------
1 files changed, 135 insertions(+), 89 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 8c6f1a0..76feee4 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs
@@ -237,6 +237,15 @@
pro.Remarks = "鍙堜竴娆′笂绾匡紝鏇存柊缁撴潫鏃堕棿";
}
}
+ //鐗规畩澶勭悊OP05涓婄嚎锛屽洜涓轰粬鏄牴鎹枃鏈垪琛ㄥ唴瀹逛笂绾跨殑 銆怑ditby shaocx,2024-09-03銆�
+ if (loginfo.WorkingProcedure.Equals("OP05"))
+ {
+ var op05Proccss = db.WorkPieceProcess.Where(o => o.WorkPieceID == loginfo.WorkPieceID && o.WorkingProcedureCurrent == loginfo.WorkingProcedure).FirstOrDefault();
+ if (op05Proccss != null)
+ {
+ isNeedAddNewProcess = false;//涓嶉渶瑕佹柊澧炰簡
+ }
+ }
if (isNeedAddNewProcess)
{
//姣忔鎵弿涓婄嚎閮芥彃鍏ヨ拷婧〃
@@ -263,6 +272,7 @@
new_process.UpdatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local);
new_process.OperationType = OperationType.鐢熶骇.ToString();
new_process.Remarks = "";
+ new_process.MyRemarks = "璇荤爜涓婄嚎鏃讹紝姣忔鎵弿涓婄嚎閮芥彃鍏ヨ拷婧〃";
if (loginfo.WorkingProcedure.Equals("OP05"))
{
new_process.EndTime = new_process.StartTime;
@@ -612,6 +622,8 @@
#endregion
//UpdateKnifeToolLift(db, loginfo);//鏇存柊鍒�鍏峰鍛戒俊鎭�
}
+
+ pieceInfo.WorkingProcedureCurrent = logMiddle.WorkingProcedure;//鏇存柊褰撳墠宸ュ簭 銆怑ditby shaocx,2024-09-03銆�
pieceInfo.WorkPieceState = (int)WorkPieceState.WIP;//鎺ㄥ嚭鍚庡拰SPC鎶芥鍚� 璐ㄩ噺褰曞叆鏃剁姸鎬佷慨鏀瑰洖鍦ㄥ埗鍝�
pieceInfo.EquipmentID = logMiddle.EquipmentID;
pieceInfo.QualityStateUpdateUser = logMiddle.UpdatedUserName;
@@ -689,8 +701,8 @@
if (qualityData.OP30QualityStateCH3 == ((int)QualityState.NG).ToString())
{
- logMiddle.QualityNoOk = (int)QualityNoOkEnum.OP30娑ㄦ柇宸ヤ綅鍔涚煩澶�;
- logMiddle.QualityNoOkReason = QualityNoOkEnum.OP30娑ㄦ柇宸ヤ綅鍔涚煩澶�.ToString();
+ logMiddle.QualityNoOk = (int)QualityNoOkEnum.OP30娑ㄦ柇宸ヤ綅鍔涚煩瓒呭樊;
+ logMiddle.QualityNoOkReason = QualityNoOkEnum.OP30娑ㄦ柇宸ヤ綅鍔涚煩瓒呭樊.ToString();
//璧嬪�间笉鍚堟牸鍘熷洜
SetQualityNoOk_WorkPieceInfo(logMiddle, ref pieceInfo);
}
@@ -703,8 +715,8 @@
if (qualityData.OP30QualityStateCH4 == ((int)QualityState.NG).ToString())
{
- logMiddle.QualityNoOk = (int)QualityNoOkEnum.OP30棰勬嫥绱у伐浣嶅姏鐭╁ぇ;
- logMiddle.QualityNoOkReason = QualityNoOkEnum.OP30棰勬嫥绱у伐浣嶅姏鐭╁ぇ.ToString();
+ logMiddle.QualityNoOk = (int)QualityNoOkEnum.OP30棰勬嫥绱у伐浣嶅姏鐭╄秴宸�;
+ logMiddle.QualityNoOkReason = QualityNoOkEnum.OP30棰勬嫥绱у伐浣嶅姏鐭╄秴宸�.ToString();
//璧嬪�间笉鍚堟牸鍘熷洜
SetQualityNoOk_WorkPieceInfo(logMiddle, ref pieceInfo);
}
@@ -717,8 +729,8 @@
if (qualityData.OP30QualityStateCH5 == ((int)QualityState.NG).ToString())
{
- logMiddle.QualityNoOk = (int)QualityNoOkEnum.OP30缁堟嫥绱у伐浣嶅姏鐭╁ぇ;
- logMiddle.QualityNoOkReason = QualityNoOkEnum.OP30缁堟嫥绱у伐浣嶅姏鐭╁ぇ.ToString();
+ logMiddle.QualityNoOk = (int)QualityNoOkEnum.OP30缁堟嫥绱у伐浣嶅姏鐭╄秴宸�;
+ logMiddle.QualityNoOkReason = QualityNoOkEnum.OP30缁堟嫥绱у伐浣嶅姏鐭╄秴宸�.ToString();
//璧嬪�间笉鍚堟牸鍘熷洜
SetQualityNoOk_WorkPieceInfo(logMiddle, ref pieceInfo);
}
@@ -731,8 +743,8 @@
if (qualityData.OP30QualityStateCH6 == ((int)QualityState.NG).ToString())
{
- logMiddle.QualityNoOk = (int)QualityNoOkEnum.OP30鍘嬭‖濂楀伐浣嶅姏鐭╁ぇ;
- logMiddle.QualityNoOkReason = QualityNoOkEnum.OP30鍘嬭‖濂楀伐浣嶅姏鐭╁ぇ.ToString();
+ logMiddle.QualityNoOk = (int)QualityNoOkEnum.OP30鍘嬭‖濂楀伐浣嶅姏鐭╄秴宸�;
+ logMiddle.QualityNoOkReason = QualityNoOkEnum.OP30鍘嬭‖濂楀伐浣嶅姏鐭╄秴宸�.ToString();
//璧嬪�间笉鍚堟牸鍘熷洜
SetQualityNoOk_WorkPieceInfo(logMiddle, ref pieceInfo);
}
@@ -767,7 +779,11 @@
qualityData.OP80QualityReceiveTime = DateTimeHelper.GetDateTime();
}
- var pro = db.WorkPieceProcess.Where(o => o.WorkPieceID == logMiddle.WorkPieceID && o.WorkingProcedureCurrent == pieceInfo.WorkingProcedureCurrent && o.OperationType == OperationType.鐢熶骇.ToString()).OrderByDescending(o => o.StartTime).FirstOrDefault();
+ var pro = db.WorkPieceProcess.Where(o => o.WorkPieceID == logMiddle.WorkPieceID
+ //淇锛氭煡璇㈢殑宸ュ簭鏄綋鍓嶇嚎绋嬬殑宸ュ簭锛岃�屼笉鏄綋鍓嶆暟鎹殑宸ュ簭 銆怑ditby shaocx,2024-09-03銆�
+ //&& o.WorkingProcedureCurrent == pieceInfo.WorkingProcedureCurrent
+ && o.WorkingProcedureCurrent == logMiddle.WorkingProcedure
+ && o.OperationType == OperationType.鐢熶骇.ToString()).OrderByDescending(o => o.StartTime).FirstOrDefault();
if (pro == null || pro.WorkPieceID.Length < 1 || logMiddle.MonitoringPoint.Equals("OP1002") || logMiddle.MonitoringPoint.Equals("OP1003") || logMiddle.MonitoringPoint.Contains("OP2002"))
{// OP10 娌℃湁涓婄嚎鎵爜鏋紝绾﹀畾鐢ㄦ祴閲忓畬鎴愪俊鍙峰綋涓婄嚎鏍囪锛屾墍浠ヤ笂绾块渶瑕佷慨鏀圭殑瀛楁鏀捐繖閲�
//涓婄嚎鏄瘡娆¢兘鎻掑叆
@@ -802,6 +818,7 @@
process.OperationType = OperationType.鐢熶骇.ToString();
process.QualityDataInfoID = qualityData.Id;
process.Remarks = "";
+ process.MyRemarks = "璐ㄩ噺妫�娴嬪畬鎴愭椂锛屽鏋滄壘涓嶅埌灏辨柊寤�";
db.WorkPieceProcess.Add(process);
}
else
@@ -853,8 +870,8 @@
}
catch (Exception ex)
{
- loginfo2.Remarks = $"璐ㄩ噺妫�娴嬪畬鎴恵logMiddle.WorkPieceID ?? "绌�"}鏇存柊鏁版嵁寮傚父{ex.Message}++{ex.StackTrace}";
- Log4NetHelper.WriteErrorLog(type, $" {logMiddle.WorkingProcedure}宸ュ簭鐩戞帶璇荤爜鏍囪 璇诲彇宸ヤ欢鐮佹暟鎹甗{logMiddle.WorkPieceID ?? "绌�"}]鏃跺紓甯革細");
+ loginfo2.Remarks = $"璐ㄩ噺妫�娴嬪畬鎴�,鏇存柊鏁版嵁寮傚父{ex.Message}";
+ Log4NetHelper.WriteErrorLog(type, $" {logMiddle.WorkingProcedure}璐ㄩ噺妫�娴嬪畬鎴� 宸ヤ欢鐮佹暟鎹甗{logMiddle.WorkPieceID ?? "绌�"}]鏃跺紓甯革細" + ex.Message, ex);
}
finally
{
@@ -1037,14 +1054,37 @@
}
}
//鏇存柊涓婁竴宸ュ簭鐨勭粨鏉熸椂闂�
- var pro = db.WorkPieceProcess.Where(o => o.WorkPieceID == loginfo.WorkPieceID && o.WorkingProcedureCurrent == loginfo.WorkingProcedure && o.OperationType == OperationType.鐢熶骇.ToString()).OrderByDescending(o => o.StartTime).FirstOrDefault();
+ var pro = db.WorkPieceProcess.Where(o => o.WorkPieceID == loginfo.WorkPieceID
+ && o.WorkingProcedureCurrent == loginfo.WorkingProcedure && o.OperationType == OperationType.鐢熶骇.ToString()).OrderByDescending(o => o.StartTime).FirstOrDefault();
if (pro != null && pro.WorkPieceID.Length > 0)
{
pro.EndTime = DateTimeHelper.GetDateTime();
- pro.Remarks = (pro.Remarks ?? "") + "NOOK缁撴潫";
+ pro.Remarks = "NOOK缁撴潫";
pro.UpdatedUserName = loginfo.MonitoringPoint;
pro.UpdateDataCapturePointCname = loginfo.DataCapturePointCname;
pro.UpdatedTime = DateTimeHelper.GetDateTime();
+ }
+ else
+ {//濡傛灉鎵句笉鍒板氨鏂板缓 銆怑ditby shaocx,2024-09-03銆�
+ WorkPieceProcess add_process = new WorkPieceProcess();
+ add_process = EntityPropHelper.Mapper<WorkPieceProcess, WorkPieceInfo>(cur_db_info);
+ QualityStateHelper.ResetQualityNoOkForNewProcess(ref add_process);
+ add_process.Id = Yitter.IdGenerator.YitIdHelper.NextId();
+ add_process.StartTime = DateTimeHelper.GetDateTime().AddSeconds(-SystemBussinessHelper.MoNiTimeForWorkingProcedure(loginfo.WorkingProcedure));
+ add_process.EndTime = DateTimeHelper.GetDateTime();
+ //涓嶅啀榛樿璧嬪�间负鍚堟牸 銆怑ditby shaocx,2024-08-16銆�
+ add_process.QualityState = WorkPieceInfoManager.GetQualityStateValue(loginfo.QualityState);
+
+ add_process.CreatedUserName = loginfo.MonitoringPoint;
+ add_process.DataCapturePointCname = loginfo.DataCapturePointCname;
+ add_process.CreatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local);
+ add_process.UpdatedUserName = loginfo.MonitoringPoint;
+ add_process.UpdateDataCapturePointCname = loginfo.DataCapturePointCname;
+ add_process.UpdatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local);
+ add_process.OperationType = OperationType.鐢熶骇.ToString();
+ add_process.Remarks = "NOOK缁撴潫";
+ add_process.MyRemarks = "NOOK缁撴潫鏃讹紝濡傛灉鎵句笉鍒板氨鏂板缓";
+ db.WorkPieceProcess.Add(add_process);
}
QualityStateHelper.SetQualityStateForNoOk(ref cur_db_info, ref pro, ref qualityData);
@@ -1162,6 +1202,7 @@
process.UpdateDataCapturePointCname = loginfo.DataCapturePointCname;
process.UpdatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local);
process.Remarks = "宸ヤ欢SPC鎶芥鎺ㄥ嚭";
+ process.MyRemarks = "SPC鏃讹紝鎻掑叆杩芥函琛�";
db.WorkPieceProcess.Add(process);
@@ -1240,63 +1281,65 @@
{
bool isAddWorkPieceInfo = false;
- WorkPieceInfo info = new WorkPieceInfo();
- info = db.WorkPieceInfo.Where(o => o.WorkPieceID == logMiddle.WorkPieceID).FirstOrDefault();
- if (info == null || info.WorkPieceID.Length < 1)
+ WorkPieceInfo db_info = new WorkPieceInfo();
+ db_info = db.WorkPieceInfo.Where(o => o.WorkPieceID == logMiddle.WorkPieceID).FirstOrDefault();
+ if (db_info == null || db_info.WorkPieceID.Length < 1)
{//娌℃湁宸ヤ欢淇℃伅锛屼笉鍋氭洿鏂� 锛堜负浜嗘祴璇曞厛鍏堟柊澧烇級
Log4NetHelper.WriteErrorLog(type, $"宸ヤ欢{logMiddle.WorkPieceID} 宸ヤ欢鎺ㄥ嚭宸ュ簭{logMiddle.WorkingProcedure} 娌℃湁鑾峰彇鍒板伐浠朵俊鎭笉鍋氭洿鏂�");
//db.WorkPieceLog.Add(GetAddWorkPieceLog(loginfo));//鎻掑叆宸ヤ欢閲囬泦鏃ュ織琛�
//db.SaveChanges();
loginfo2 = CommonManager.Instance.GetWorkPieceID(logMiddle, type);
- info = EntityPropHelper.Mapper<WorkPieceInfo, WorkPieceLog>(logMiddle);
+ db_info = EntityPropHelper.Mapper<WorkPieceInfo, WorkPieceLog>(logMiddle);
//EntityPropHelper<WorkPieceLog, WorkPieceInfo>.CopyProp(loginfo, info, loginfo.GetWorkPieceInfoDict());
if (!logMiddle.WorkingProcedure.Equals("OP05"))
{//褰撳伐浠朵簩缁寸爜绗竴娆″嚭鐜扮殑宸ュ簭涓嶆槸OP05锛屽垯璁剧疆涓哄彲鐤戠姸鎬�
- info.QualityState = (int)QualityState.Suspected;
- info.QualityErrorInfo = $"宸ヤ欢浜岀淮鐮佺涓�娆″嚭鐜扮殑宸ュ簭{logMiddle.MonitoringPoint}涓嶆槸OP05,鏁版嵁缂哄け,璇风‘璁ゆ儏鍐靛苟鍋氱浉搴斿鐞嗭紒";
- info.Remarks = $"宸ヤ欢浜岀淮鐮佺涓�娆″嚭鐜扮殑宸ュ簭{logMiddle.MonitoringPoint}涓嶆槸OP05,鏁版嵁缂哄け,璇风‘璁ゆ儏鍐靛苟鍋氱浉搴斿鐞嗭紒";
+ db_info.QualityState = (int)QualityState.Suspected;
+ db_info.QualityErrorInfo = $"宸ヤ欢浜岀淮鐮佺涓�娆″嚭鐜扮殑宸ュ簭{logMiddle.MonitoringPoint}涓嶆槸OP05,鏁版嵁缂哄け,璇风‘璁ゆ儏鍐靛苟鍋氱浉搴斿鐞嗭紒";
+ db_info.Remarks = $"宸ヤ欢浜岀淮鐮佺涓�娆″嚭鐜扮殑宸ュ簭{logMiddle.MonitoringPoint}涓嶆槸OP05,鏁版嵁缂哄け,璇风‘璁ゆ儏鍐靛苟鍋氱浉搴斿鐞嗭紒";
}
else
{
- info.QualityState = (int)QualityState.OK;//姝ゅ闇�瑕佹敞鎰忥紝鍒ゆ柇鎵�鏈夊伐搴忚川閲忥紝鐒跺悗鍐嶈祴鍊� //榛樿鍚堟牸锛孫P05榛樿鏄悎鏍�
- info.Remarks = "OP05鏂板宸ヤ欢淇℃伅";
+ db_info.QualityState = (int)QualityState.OK;//姝ゅ闇�瑕佹敞鎰忥紝鍒ゆ柇鎵�鏈夊伐搴忚川閲忥紝鐒跺悗鍐嶈祴鍊� //榛樿鍚堟牸锛孫P05榛樿鏄悎鏍�
+ db_info.Remarks = "OP05鏂板宸ヤ欢淇℃伅";
}
- info.WorkPieceinitOnlineTime = DateTimeHelper.GetDateTime();//WorkPieceInitOnlineTime
- info.WorkingProcedurePlan = ConfigHelper.GetConfigString("WorkingProcedureAllStr") ?? "OP05OP10OP20OP30OP35OP40OP50OP60OP70OP80";
- info.CreatedUserName = logMiddle.MonitoringPoint;
- SystemBussinessHelper.SetWorkPieceInfoMiddleForCreatedUserName(ref info, logMiddle.DataCapturePointCname);
- info.CreatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local);
- info.WorkingProcedureCurrent = logMiddle.WorkingProcedure;
- info.WorkingProcedureEndTime = null;
- info = ParseQRCode(info);
+ db_info.WorkPieceinitOnlineTime = DateTimeHelper.GetDateTime();//WorkPieceInitOnlineTime
+ db_info.WorkingProcedurePlan = ConfigHelper.GetConfigString("WorkingProcedureAllStr") ?? "OP05OP10OP20OP30OP35OP40OP50OP60OP70OP80";
+ db_info.CreatedUserName = logMiddle.MonitoringPoint;
+ SystemBussinessHelper.SetWorkPieceInfoMiddleForCreatedUserName(ref db_info, logMiddle.DataCapturePointCname);
+ db_info.CreatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local);
+ db_info.WorkingProcedureCurrent = logMiddle.WorkingProcedure;
+ db_info.WorkingProcedureEndTime = null;
+ db_info = ParseQRCode(db_info);
isAddWorkPieceInfo = true;
}
if (logMiddle.WorkingProcedure.Equals("OP10"))
{
//var WorkingProcedure = (loginfo.MonitoringPoint.Equals("OP1002") ? "OP10" : "OP40");
- loginfo2.WorkingProcedure = info.WorkingProcedureCurrent;//瑙e喅OP10锛孫P40鍚屼竴涓殑闂
- logMiddle.WorkingProcedure = info.WorkingProcedureCurrent; //瑙e喅OP10锛孫P40鍚屼竴涓殑闂
+ loginfo2.WorkingProcedure = db_info.WorkingProcedureCurrent;//瑙e喅OP10锛孫P40鍚屼竴涓殑闂
+ logMiddle.WorkingProcedure = db_info.WorkingProcedureCurrent; //瑙e喅OP10锛孫P40鍚屼竴涓殑闂
}
- info.UpdatedUserName = logMiddle.MonitoringPoint;
- SystemBussinessHelper.SetWorkPieceInfoMiddleForUpdateDataCapturePointCname(ref info, logMiddle.DataCapturePointCname);
- info.UpdatedTime = DateTimeHelper.GetDateTime();
- info.WorkingProcedureCompleted = info.WorkingProcedureCompleted + logMiddle.WorkingProcedure;//宸插畬鎴愬伐搴�
- if (!(info.WorkingProcedureStartTime.HasValue && info.WorkingProcedureStartTime > DateTime.Parse("1900/01/01")))
+
+ db_info.WorkingProcedureCurrent = logMiddle.WorkingProcedure;//璧嬪�兼渶鏂板伐搴� 銆怑ditby shaocx,2024-09-03銆�
+ db_info.UpdatedUserName = logMiddle.MonitoringPoint;
+ SystemBussinessHelper.SetWorkPieceInfoMiddleForUpdateDataCapturePointCname(ref db_info, logMiddle.DataCapturePointCname);
+ db_info.UpdatedTime = DateTimeHelper.GetDateTime();
+ db_info.WorkingProcedureCompleted = db_info.WorkingProcedureCompleted + logMiddle.WorkingProcedure;//宸插畬鎴愬伐搴�
+ if (!(db_info.WorkingProcedureStartTime.HasValue && db_info.WorkingProcedureStartTime > DateTime.Parse("1900/01/01")))
{//鑻ヤ竴鐩存病鏈夊伐搴忓紑濮嬫椂闂达紝鍒欒祴鍊煎綋鍓嶆椂闂�
- info.WorkingProcedureStartTime = DateTimeHelper.GetDateTime();
+ db_info.WorkingProcedureStartTime = DateTimeHelper.GetDateTime();
}
- info.WorkingProcedureEndTime = DateTimeHelper.GetDateTime();
- info.WorkPieceCurrentPositionOrder = info.WorkingProcedurePlan.IndexOf(logMiddle.WorkingProcedure) / 2;
- info.Remarks = $"{logMiddle.WorkingProcedure}宸ュ簭瀹屾垚";
+ db_info.WorkingProcedureEndTime = DateTimeHelper.GetDateTime();
+ db_info.WorkPieceCurrentPositionOrder = db_info.WorkingProcedurePlan.IndexOf(logMiddle.WorkingProcedure) / 2;
+ db_info.Remarks = $"{logMiddle.WorkingProcedure}宸ュ簭瀹屾垚";
long op80id = 0;
if (logMiddle.WorkingProcedure.Equals("OP80"))
{
- info.WorkPieceState = (int)WorkPieceState.FinishedProducts;
- info.WorkPieceLastOfflineTime = DateTimeHelper.GetDateTime();
- info.WorkPieceCurrentPosition = "OP80";
- info.CompleteTime = DateTimeHelper.GetDateTime();
- info.OP80NewCode = logMiddle.OP80NewCode;
+ db_info.WorkPieceState = (int)WorkPieceState.FinishedProducts;
+ db_info.WorkPieceLastOfflineTime = DateTimeHelper.GetDateTime();
+ db_info.WorkPieceCurrentPosition = "OP80";
+ db_info.CompleteTime = DateTimeHelper.GetDateTime();
+ db_info.OP80NewCode = logMiddle.OP80NewCode;
//璐ㄦ鏁版嵁鏀逛负 鑾峰彇鏂囦欢鍚庝慨鏀� 銆怑ditby shaocx,2024-06-15銆�
/*
@@ -1340,11 +1383,11 @@
else if (logMiddle.WorkingProcedure.Equals("OP30"))
{
- info.QualityState = (int)((logMiddle.QualityStateStr.Equals("OK") || logMiddle.QualityStateStr.Equals("0K")) ? QualityState.OK : QualityState.NG);
- logMiddle.QualityState = info.QualityState;
- info.QualityStateUpdateUser = logMiddle.UpdatedUserName;
- info.QualityStateUpdateTime = logMiddle.UpdatedTime.Value.LocalDateTime;
- info.QualityStateUpdateMode = QualityStateUpdateMode.Auto.ToString();
+ db_info.QualityState = (int)((logMiddle.QualityStateStr.Equals("OK") || logMiddle.QualityStateStr.Equals("0K")) ? QualityState.OK : QualityState.NG);
+ logMiddle.QualityState = db_info.QualityState;
+ db_info.QualityStateUpdateUser = logMiddle.UpdatedUserName;
+ db_info.QualityStateUpdateTime = logMiddle.UpdatedTime.Value.LocalDateTime;
+ db_info.QualityStateUpdateMode = QualityStateUpdateMode.Auto.ToString();
var qualityData = db.QualityDataInfo.Where(o => o.WorkPieceID == logMiddle.WorkPieceID).FirstOrDefault();
if (qualityData == null || qualityData.WorkPieceID.Length < 1 || qualityData.WorkingProcedure.Length < 1)
@@ -1352,81 +1395,84 @@
qualityData = EntityPropHelper.Mapper<QualityDataInfo, WorkPieceLog>(logMiddle);
db.QualityDataInfo.Add(GetAddQualityDataInfo(qualityData));
}
- qualityData.QualityStateUpdateUser = info.UpdatedUserName;
- qualityData.QualityReceiveTime = info.UpdatedTime.Value.LocalDateTime;
- qualityData.QualityStateUpdateMode = info.QualityStateUpdateMode;
+ qualityData.QualityStateUpdateUser = db_info.UpdatedUserName;
+ qualityData.QualityReceiveTime = db_info.UpdatedTime.Value.LocalDateTime;
+ qualityData.QualityStateUpdateMode = db_info.QualityStateUpdateMode;
qualityData.OP30QualityState = logMiddle.QualityState.HasValue ? logMiddle.QualityState.Value.ToString() : "3";
qualityData.OP30QualityReceiveTime = DateTimeHelper.GetDateTime();
loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"璐ㄩ噺锛歿logMiddle.QualityStateStr ?? "绌�"}";
- if (!info.QualityState.Equals(((int)QualityState.OK).ToString()))
+ if (!db_info.QualityState.Equals(((int)QualityState.OK).ToString()))
{
- info.QualityErrorInfo = $"{logMiddle.WorkingProcedure}宸ュ簭璐ㄩ噺閲囬泦鏁版嵁涓嶅悎鏍�";
+ db_info.QualityErrorInfo = $"{logMiddle.WorkingProcedure}宸ュ簭璐ㄩ噺閲囬泦鏁版嵁涓嶅悎鏍�";
}
else
{
- info.QualityErrorInfo = "";
+ db_info.QualityErrorInfo = "";
}
}
else
{
//杩欓噷淇OP10銆丱P40 鍥犱负PLC鍏堟帹 SPC鎺ㄥ嚭銆佸啀鎺� 浜у搧涓嬬嚎闂锛屽鑷� 浜у搧涓嬬嚎鏇存柊鏁版嵁鏃讹紝鎶奡PC鏁版嵁瑕嗙洊鐨勯棶棰� 銆怑ditby shaocx,2024-08-27銆�
- var isAlow = SystemBussinessHelper.IsAllowUpdateWorkPieceStateToWip(info, db, logMiddle);
+ var isAlow = SystemBussinessHelper.IsAllowUpdateWorkPieceStateToWip(db_info, db, logMiddle);
if (isAlow)
{
- info.WorkPieceState = (int)WorkPieceState.WIP;
+ db_info.WorkPieceState = (int)WorkPieceState.WIP;
}
- if (info.WorkingProcedurePlan.IndexOf(logMiddle.WorkingProcedure) + 4 <= info.WorkingProcedurePlan.Length)
+ if (db_info.WorkingProcedurePlan.IndexOf(logMiddle.WorkingProcedure) + 4 <= db_info.WorkingProcedurePlan.Length)
{
- info.WorkPieceCurrentPosition = info.WorkingProcedurePlan.Substring(info.WorkingProcedurePlan.IndexOf(logMiddle.WorkingProcedure), 8);
+ db_info.WorkPieceCurrentPosition = db_info.WorkingProcedurePlan.Substring(db_info.WorkingProcedurePlan.IndexOf(logMiddle.WorkingProcedure), 8);
}
}
- var pro = db.WorkPieceProcess.Where(o => o.WorkPieceID == logMiddle.WorkPieceID && o.WorkingProcedureCurrent == info.WorkingProcedureCurrent && o.OperationType == OperationType.鐢熶骇.ToString()).OrderByDescending(o => o.StartTime).FirstOrDefault();
+ var pro = db.WorkPieceProcess.Where(o => o.WorkPieceID == logMiddle.WorkPieceID
+ && o.WorkingProcedureCurrent == db_info.WorkingProcedureCurrent
+ && o.OperationType == OperationType.鐢熶骇.ToString()).OrderByDescending(o => o.StartTime).FirstOrDefault();
if (pro == null || pro.WorkPieceID.Length < 1)
{
- WorkPieceProcess process = new WorkPieceProcess();
- process = EntityPropHelper.Mapper<WorkPieceProcess, WorkPieceInfo>(info);
- QualityStateHelper.ResetQualityNoOkForNewProcess(ref process);
- process.Id = Yitter.IdGenerator.YitIdHelper.NextId();
- process.StartTime = DateTimeHelper.GetDateTime();
- process.EndTime = DateTimeHelper.GetDateTime();
+ WorkPieceProcess add_process = new WorkPieceProcess();
+ add_process = EntityPropHelper.Mapper<WorkPieceProcess, WorkPieceInfo>(db_info);
+ QualityStateHelper.ResetQualityNoOkForNewProcess(ref add_process);
+ add_process.Id = Yitter.IdGenerator.YitIdHelper.NextId();
+ add_process.StartTime = DateTimeHelper.GetDateTime().AddSeconds(-SystemBussinessHelper.MoNiTimeForWorkingProcedure(logMiddle.WorkingProcedure));
+ add_process.EndTime = DateTimeHelper.GetDateTime();
if (logMiddle.WorkingProcedure.Equals("OP80"))
{//OP80鐨勮川閲忔暟鎹槸鍚庢潵鑾峰彇鏂囦欢鎼炵殑
//璐ㄦ鏁版嵁锛屽啀鑰冭檻 鍙﹀涓ょ鐘舵�� 銆怑ditby shaocx,2024-08-27銆�
- QualityStateHelper.SetQualityStateForOP80(logMiddle, ref info, ref process);
+ QualityStateHelper.SetQualityStateForOP80(logMiddle, ref db_info, ref add_process);
}
else
{
//涓嶅啀榛樿璧嬪�间负鍚堟牸 銆怑ditby shaocx,2024-08-16銆�
//process.QualityState = logMiddle.QualityState.HasValue ? logMiddle.QualityState.Value : (int)QualityState.OK;//榛樿鍚堟牸锛屽凡澶勭悊
- process.QualityState = WorkPieceInfoManager.GetQualityStateValue(logMiddle.QualityState);
+ add_process.QualityState = WorkPieceInfoManager.GetQualityStateValue(logMiddle.QualityState);
}
- process.CreatedUserName = logMiddle.MonitoringPoint;
- process.DataCapturePointCname = logMiddle.DataCapturePointCname;
- process.CreatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local);
- process.UpdatedUserName = logMiddle.MonitoringPoint;
- process.UpdateDataCapturePointCname = logMiddle.DataCapturePointCname;
- process.UpdatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local);
- process.OperationType = OperationType.鐢熶骇.ToString();
- process.Remarks = "";
+ add_process.CreatedUserName = logMiddle.MonitoringPoint;
+ add_process.DataCapturePointCname = logMiddle.DataCapturePointCname;
+ add_process.CreatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local);
+ add_process.UpdatedUserName = logMiddle.MonitoringPoint;
+ add_process.UpdateDataCapturePointCname = logMiddle.DataCapturePointCname;
+ add_process.UpdatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local);
+ add_process.OperationType = OperationType.鐢熶骇.ToString();
+ add_process.Remarks = "";
+ add_process.MyRemarks = "宸ュ簭瀹屾垚鏃讹紝濡傛灉鎵句笉鍒板氨鏂板缓";
if (logMiddle.WorkingProcedure.Equals("OP80"))
{
- process.GetQcDataFlag = logMiddle.GetQcDataFlag;//璧嬪�兼爣璁� [Editby shaocx,2024-06-15]
+ add_process.GetQcDataFlag = logMiddle.GetQcDataFlag;//璧嬪�兼爣璁� [Editby shaocx,2024-06-15]
}
if (op80id > 0)
{
- process.QualityDataInfoID = op80id;
+ add_process.QualityDataInfoID = op80id;
}
- db.WorkPieceProcess.Add(process);
+ db.WorkPieceProcess.Add(add_process);
}
else
{
if (logMiddle.WorkingProcedure.Equals("OP80"))
{//OP80鐨勮川閲忔暟鎹槸鍚庢潵鑾峰彇鏂囦欢鎼炵殑
//璐ㄦ鏁版嵁锛屽啀鑰冭檻 鍙﹀涓ょ鐘舵�� 銆怑ditby shaocx,2024-08-27銆�
- QualityStateHelper.SetQualityStateForOP80(logMiddle, ref info, ref pro);
+ QualityStateHelper.SetQualityStateForOP80(logMiddle, ref db_info, ref pro);
}
if (op80id > 0)
{
@@ -1448,9 +1494,9 @@
if (isAddWorkPieceInfo)
{
- db.WorkPieceInfo.Add(info);
+ db.WorkPieceInfo.Add(db_info);
}
- db.WorkPieceInfoLog.Add(GetAddWorkPieceInfoLog(info));
+ db.WorkPieceInfoLog.Add(GetAddWorkPieceInfoLog(db_info));
}
else
{
@@ -2428,10 +2474,10 @@
//鐗规畩閫昏緫锛氭寜鐓P30鐨勯『搴忓垽鏂�
if (logMiddle.QualityNoOk != null && qualityNoOk != null
&& (
- qualityNoOk == (int)QualityNoOkEnum.OP30鍘嬭‖濂楀伐浣嶅姏鐭╁ぇ
- || qualityNoOk == (int)QualityNoOkEnum.OP30娑ㄦ柇宸ヤ綅鍔涚煩澶�
- || qualityNoOk == (int)QualityNoOkEnum.OP30缁堟嫥绱у伐浣嶅姏鐭╁ぇ
- || qualityNoOk == (int)QualityNoOkEnum.OP30棰勬嫥绱у伐浣嶅姏鐭╁ぇ
+ qualityNoOk == (int)QualityNoOkEnum.OP30鍘嬭‖濂楀伐浣嶅姏鐭╄秴宸�
+ || qualityNoOk == (int)QualityNoOkEnum.OP30娑ㄦ柇宸ヤ綅鍔涚煩瓒呭樊
+ || qualityNoOk == (int)QualityNoOkEnum.OP30缁堟嫥绱у伐浣嶅姏鐭╄秴宸�
+ || qualityNoOk == (int)QualityNoOkEnum.OP30棰勬嫥绱у伐浣嶅姏鐭╄秴宸�
)
)
{
@@ -2720,7 +2766,7 @@
{//鍚堟牸/涓嶅悎鏍肩敱 QualityStateStr鍊煎垽鏂�
if (logMiddle.QualityState == (int)QualityState.NG)
{
- qualityNoOkEnum = QualityNoOkEnum.OP35婊氬帇鍔涗笉鍚堟牸;
+ qualityNoOkEnum = QualityNoOkEnum.OP35婊氬帇鍔涜秴宸�;
}
else
{
--
Gitblit v1.9.3