From 61734fc304e8d890a6bf8715bee9be203e0af9f0 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周五, 06 9月 2024 10:21:05 +0800
Subject: [PATCH] 入库优化
---
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs | 237 ++++++++++++++++++++++++++---------------------------------
1 files changed, 104 insertions(+), 133 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 689b0c9..b0bf5f0 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs
@@ -190,6 +190,7 @@
info.WorkPieceinitOnlineTime = DateTimeHelper.GetDateTime();
info.WorkingProcedurePlan = ConfigHelper.GetConfigString("WorkingProcedureAllStr") ?? "OP05OP10OP20OP30OP35OP40OP50OP60OP70OP80";
info.CreatedUserName = loginfo.MonitoringPoint;
+ info.WorkingProcedureCurrent = loginfo.WorkingProcedure;//宸ュ簭璧嬪��
SystemBussinessHelper.SetWorkPieceInfoMiddleForCreatedUserName(ref info, loginfo.DataCapturePointCname);
info.CreatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local);
info = ParseQRCode(info);
@@ -197,14 +198,15 @@
}
else
{
- if (info.WorkingProcedureCurrent.Equals("OP05"))
- {
- loginfo.Remarks = $"璇诲彇浜岀淮鐮亄loginfo.WorkPieceID ?? "绌�"} OP05宸ュ簭閲嶅璇诲彇浜�";
- return;
- }
+ //瀛樺湪 琛� WorkPieceInfo鏈夛紝浣嗘槸 WorkPieceProcess杩欎釜宸ュ簭涓嶅瓨鍦ㄧ殑鎯呭喌 銆怑ditby shaocx,2024-09-06銆�
+ //if (info.WorkingProcedureCurrent.Equals("OP05"))
+ //{
+ // loginfo.Remarks = $"璇诲彇浜岀淮鐮亄loginfo.WorkPieceID ?? "绌�"} OP05宸ュ簭閲嶅璇诲彇浜�";
+ // return;
+ //}
}
- if ((info.WorkingProcedureCurrent.Equals("OP05") && isAddWorkPieceInfo == false))
- {
+ if ((loginfo.WorkingProcedure.Equals("OP05") && isAddWorkPieceInfo == false))
+ {//瀛樺湪 琛� WorkPieceInfo鏈夛紝浣嗘槸 WorkPieceProcess杩欎釜宸ュ簭涓嶅瓨鍦ㄧ殑鎯呭喌
//濡傛灉鏄疧P05鐨勶紝骞朵笖鏄� 涓嶉渶瑕佹柊澧� 琛╓orkPieceInfo锛岄偅涔堝氨涓嶉渶瑕佹洿鏂拌〃 WorkPieceInfo
}
else
@@ -222,30 +224,14 @@
info.WorkPieceCurrentPosition = loginfo.WorkingProcedure;
info.WorkPieceCurrentPositionOrder = info.WorkingProcedurePlan.IndexOf(loginfo.WorkingProcedure) / 2;
- info.WorkingProcedureCurrent = loginfo.WorkingProcedure;
+ info.WorkingProcedureCurrent = loginfo.WorkingProcedure;//宸ュ簭璧嬪��
info.Remarks = $"{info.WorkingProcedureCurrent}宸ヤ欢涓婄嚎";
}
//淇涓� op35 鍚屼竴涓欢 涓嬬嚎鏃堕棿璺熶笅涓�涓笂绾挎椂闂翠竴妯′竴鏍风殑闂 銆怑ditby shaocx,2024-08-27銆�
var isNeedAddNewProcess = true;
- var pro = db.WorkPieceProcess.Where(o => o.WorkPieceID == loginfo.WorkPieceID && !o.OperationType.Equals("SPC") && (o.EndTime == null || o.EndTime <= DateTime.MinValue)).OrderByDescending(o => o.StartTime).FirstOrDefault();
- if (pro != null && pro.WorkPieceID.Length > 1)
- {
- if (pro.WorkingProcedureCurrent == loginfo.WorkingProcedure)
- {//琛ㄧず宸ュ簭鐩稿悓
- isNeedAddNewProcess = false;
- pro.Remarks = "鍙堜竴娆′笂绾匡紝鏇存柊缁撴潫鏃堕棿";
- }
- else
- {
- pro.EndTime = DateTimeHelper.GetDateTime();
- pro.UpdatedUserName = loginfo.MonitoringPoint;
- pro.UpdateDataCapturePointCname = loginfo.DataCapturePointCname;
- pro.UpdatedTime = DateTimeHelper.GetDateTime();
- pro.Remarks = "鍙堜竴娆′笂绾匡紝鏇存柊缁撴潫鏃堕棿";
- }
- }
+
//鐗规畩澶勭悊OP05涓婄嚎锛屽洜涓轰粬鏄牴鎹枃鏈垪琛ㄥ唴瀹逛笂绾跨殑 銆怑ditby shaocx,2024-09-03銆�
if (loginfo.WorkingProcedure.Equals("OP05"))
{
@@ -253,6 +239,26 @@
if (op05Proccss != null)
{
isNeedAddNewProcess = false;//涓嶉渶瑕佹柊澧炰簡
+ }
+ }
+ else
+ {
+ var pro = db.WorkPieceProcess.Where(o => o.WorkPieceID == loginfo.WorkPieceID && !o.OperationType.Equals("SPC") && (o.EndTime == null || o.EndTime <= DateTime.MinValue)).OrderByDescending(o => o.StartTime).FirstOrDefault();
+ if (pro != null && pro.WorkPieceID.Length > 1)
+ {
+ if (pro.WorkingProcedureCurrent == loginfo.WorkingProcedure)
+ {//琛ㄧず宸ュ簭鐩稿悓
+ isNeedAddNewProcess = false;
+ pro.Remarks = "鍙堜竴娆′笂绾匡紝鏇存柊缁撴潫鏃堕棿";
+ }
+ else
+ {
+ pro.EndTime = DateTimeHelper.GetDateTime();
+ pro.UpdatedUserName = loginfo.MonitoringPoint;
+ pro.UpdateDataCapturePointCname = loginfo.DataCapturePointCname;
+ pro.UpdatedTime = DateTimeHelper.GetDateTime();
+ pro.Remarks = "鍙堜竴娆′笂绾匡紝鏇存柊缁撴潫鏃堕棿";
+ }
}
}
if (isNeedAddNewProcess)
@@ -298,112 +304,77 @@
}
}
db.WorkPieceProcess.Add(new_process);
-
- //db.Database.AutoTransactionsEnabled = false;// 鍚屼竴涓猄aveChanges榛樿浜嬪姟锛� 鍏抽棴榛樿浜嬪姟锛�... 濂藉儚涓嶈兘鐢ㄥ晩锛屽悗闈㈠啀鐮旂┒鍚�
- if (isAddWorkPieceInfo)
- {
- db.WorkPieceInfo.Add(info);
- }
- else
- {//涓嶇‘瀹歩nfo鏄洿鎺ヤ細淇敼杩樻槸闇�瑕佸啀娆℃煡璇紝寰呮祴璇�
- //info.Remarks = "淇敼锛屽叿浣撲慨鏀归�昏緫寰呭畾";
- }
-
- #region 鍒ゆ柇鏄惁璺冲簭,鎴栬川閲忎笉绗﹀悎 鐒跺悗鍙嶉PLC
- if (IsFeedback.HasValue && IsFeedback.Value == (int)FeedbackMode.FeedbackPLC)
- {
- bool checkQualityInfoCompleteFlag = false;
- bool plcFlag = true;//鍙嶉缁橮LC鐨勬爣璁�
- string message = "";
- checkQualityInfoCompleteFlag = WorkPieceInfoManager.CheckQualityInfoComplete(info, loginfo, type);
-
- if (!checkQualityInfoCompleteFlag || info.QualityState != (int)QualityStateEnum.OK)
- {
- plcFlag = false;
- message = !checkQualityInfoCompleteFlag ? "璺冲簭锛�" : "";
- message += info.QualityState != (int)QualityStateEnum.OK ? "璐ㄩ噺涓嶇鍚�" : "";
- }
- ////鍙嶉缁橮LC锛岋紙鍐欏叆鐐瑰緟瀹氾級
- //MessageModel fr = null;
- //fr = plcService.WriteValuePoint("", "", plcFlag, PLCManger.GetTypeForString("bool"));
- //if (fr.result)
- //{
- // Log4NetHelper.WriteInfoLog(type, $" 宸ヤ欢{info.WorkPieceID} {loginfo.WorkingProcedure}宸ュ簭鍙嶉缁橮LC 鎴愬姛锛� 鍑虹幇 {message}");
- //}
- //else
- //{
- // Log4NetHelper.WriteErrorLog(type, $" 宸ヤ欢{info.WorkPieceID} {loginfo.WorkingProcedure}宸ュ簭鍙嶉缁橮LC 澶辫触锛� 鍑虹幇 {message} 锛屽け璐ュ師鍥狅細{fr.resMsg}");
- //}
-
- //#region 鍙嶉PLC
-
- //bool checkQualityInfoCompleteFlag = false;
- //bool plcFlag = true;//鍙嶉缁橮LC鐨勬爣璁�
- //string message = "";
- //checkQualityInfoCompleteFlag = WorkPieceInfoManager.CheckQualityInfoComplete(info, wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
-
- //if (!checkQualityInfoCompleteFlag || info.QualityState != (int)QualityState.OK)
- //{
- // plcFlag = false;
- // message = !checkQualityInfoCompleteFlag ? "璺冲簭锛�" : "";
- //message += info.QualityState != (int)QualityState.OK ? "璐ㄩ噺涓嶇鍚�" : "";
- //}
- ////鍙嶉缁橮LC锛岋紙鍐欏叆鐐瑰緟瀹氾級
- //MessageModel fr = null;
- //fr = plcService.WriteValuePoint("", "", plcFlag, PLCManger.GetTypeForString("bool"));
- //if (fr.result)
- //{
- // Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" 宸ヤ欢{wplog.WorkPieceID} {WorkingProcedure}宸ュ簭鍙嶉缁橮LC 鎴愬姛锛� 鍑虹幇 {message}");
- //}
- //else
- //{
- // Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" 宸ヤ欢{wplog.WorkPieceID} {WorkingProcedure}宸ュ簭鍙嶉缁橮LC 澶辫触锛� 鍑虹幇 {message} 锛屽け璐ュ師鍥狅細{fr.resMsg}");
- //}
- //#endregion
- }
- else
- {//璇荤爜瀹屾垚鑻ュ伐浠惰川閲忎笉绗﹀悎鎴栧彂鐢熻烦搴忥紝涓嶇敤绠¤澶囨槸鍚︽妸宸ヤ欢鏀捐繃鍘伙紝鏁伴噰绯荤粺閮戒笉鍙樻洿褰撳墠宸ュ簭锛屽弽棣堣澶嘝LC宸ヤ欢涓嶇鍚堬紝
- //鑻ュ伐搴忓悗缁敹闆嗙偣鏀跺埌鐩稿叧宸ヤ欢淇℃伅鍐嶅彉鏇村綋鍓嶅伐搴忥紝 浣嗚川閲忎俊鎭笉鍙�
-
- info.WorkingProcedureCurrent = loginfo.WorkingProcedure;
- }
- #endregion
-
- #region 鏇存柊璁惧瀹炴椂琛�
-
- bool isAddEquipmentCurrentMonitor = false;
- EquipmentCurrentMonitor equinfo = new EquipmentCurrentMonitor();
- equinfo = db.EquipmentCurrentMonitor.Where(o => o.EquipmentID == loginfo.EquipmentID).FirstOrDefault();
- if (equinfo == null || equinfo.Id < 1)
- {//娌℃湁宸ヤ欢淇℃伅锛屼笉鍋氭洿鏂�
- Log4NetHelper.WriteErrorLog(type, $"璁惧{loginfo.EquipmentID} 鍛婅鐩戞帶{loginfo.WorkingProcedure} 娌℃湁鑾峰彇鍒拌澶囩洃鎺т俊鎭紝鐜版柊澧�");
- equinfo = EntityPropHelper.Mapper<EquipmentCurrentMonitor, WorkPieceLog>(loginfo);
- equinfo.OnlineTime = DateTime.Now;
- isAddEquipmentCurrentMonitor = true;
- }
- else
- {//鏇存柊宸ヤ欢
- equinfo.WorkPieceID = loginfo.WorkPieceID;
- equinfo.UpdatedUserName = loginfo.MonitoringPoint;
- equinfo.UpdatedTime = DateTime.Now;
- equinfo.OnlineTime = DateTime.Now;
- }
- if (isAddEquipmentCurrentMonitor)
- {
- equinfo.Id = Yitter.IdGenerator.YitIdHelper.NextId();
- db.EquipmentCurrentMonitor.Add(equinfo);
- }
- #endregion
- //db.WorkPieceLog.Add(GetAddWorkPieceLog(loginfo));
- db.WorkPieceInfoLog.Add(GetAddWorkPieceInfoLog(info));
- //UpdateKnifeToolLift(db, loginfo);//鏇存柊鍒�鍏峰鍛戒俊鎭�
+ }
+ //db.Database.AutoTransactionsEnabled = false;// 鍚屼竴涓猄aveChanges榛樿浜嬪姟锛� 鍏抽棴榛樿浜嬪姟锛�... 濂藉儚涓嶈兘鐢ㄥ晩锛屽悗闈㈠啀鐮旂┒鍚�
+ if (isAddWorkPieceInfo)
+ {
+ db.WorkPieceInfo.Add(info);
}
else
- {
- loginfo.Remarks = $"涓婄嚎瀹屾垚璇诲彇浜岀淮鐮亄loginfo.WorkPieceID ?? "绌�"}寮傚父";
- Log4NetHelper.WriteErrorLog(type, $" {loginfo.WorkingProcedure}涓婄嚎鐩戞帶璇荤爜鏍囪 璇诲彇宸ヤ欢鐮佹暟鎹甗{loginfo.WorkPieceID ?? "绌�"}]鏃跺紓甯革細");
-
+ {//涓嶇‘瀹歩nfo鏄洿鎺ヤ細淇敼杩樻槸闇�瑕佸啀娆℃煡璇紝寰呮祴璇�
+ //info.Remarks = "淇敼锛屽叿浣撲慨鏀归�昏緫寰呭畾";
}
+
+ #region 鍒ゆ柇鏄惁璺冲簭,鎴栬川閲忎笉绗﹀悎 鐒跺悗鍙嶉PLC
+ /*
+ if (IsFeedback.HasValue && IsFeedback.Value == (int)FeedbackMode.FeedbackPLC)
+ {
+ bool checkQualityInfoCompleteFlag = false;
+ bool plcFlag = true;//鍙嶉缁橮LC鐨勬爣璁�
+ string message = "";
+ checkQualityInfoCompleteFlag = WorkPieceInfoManager.CheckQualityInfoComplete(info, loginfo, type);
+
+ if (!checkQualityInfoCompleteFlag || info.QualityState != (int)QualityStateEnum.OK)
+ {
+ plcFlag = false;
+ message = !checkQualityInfoCompleteFlag ? "璺冲簭锛�" : "";
+ message += info.QualityState != (int)QualityStateEnum.OK ? "璐ㄩ噺涓嶇鍚�" : "";
+ }
+
+ }
+ else
+ {//璇荤爜瀹屾垚鑻ュ伐浠惰川閲忎笉绗﹀悎鎴栧彂鐢熻烦搴忥紝涓嶇敤绠¤澶囨槸鍚︽妸宸ヤ欢鏀捐繃鍘伙紝鏁伴噰绯荤粺閮戒笉鍙樻洿褰撳墠宸ュ簭锛屽弽棣堣澶嘝LC宸ヤ欢涓嶇鍚堬紝
+ //鑻ュ伐搴忓悗缁敹闆嗙偣鏀跺埌鐩稿叧宸ヤ欢淇℃伅鍐嶅彉鏇村綋鍓嶅伐搴忥紝 浣嗚川閲忎俊鎭笉鍙�
+
+ info.WorkingProcedureCurrent = loginfo.WorkingProcedure;
+ }
+ //*/
+ #endregion
+
+ #region 鏇存柊璁惧瀹炴椂琛�
+
+ bool isAddEquipmentCurrentMonitor = false;
+ EquipmentCurrentMonitor equinfo = new EquipmentCurrentMonitor();
+ equinfo = db.EquipmentCurrentMonitor.Where(o => o.EquipmentID == loginfo.EquipmentID).FirstOrDefault();
+ if (equinfo == null || equinfo.Id < 1)
+ {//娌℃湁宸ヤ欢淇℃伅锛屼笉鍋氭洿鏂�
+ Log4NetHelper.WriteErrorLog(type, $"璁惧{loginfo.EquipmentID} 鍛婅鐩戞帶{loginfo.WorkingProcedure} 娌℃湁鑾峰彇鍒拌澶囩洃鎺т俊鎭紝鐜版柊澧�");
+ equinfo = EntityPropHelper.Mapper<EquipmentCurrentMonitor, WorkPieceLog>(loginfo);
+ equinfo.OnlineTime = DateTime.Now;
+ isAddEquipmentCurrentMonitor = true;
+ }
+ else
+ {//鏇存柊宸ヤ欢
+ equinfo.WorkPieceID = loginfo.WorkPieceID;
+ equinfo.UpdatedUserName = loginfo.MonitoringPoint;
+ equinfo.UpdatedTime = DateTime.Now;
+ equinfo.OnlineTime = DateTime.Now;
+ }
+ if (isAddEquipmentCurrentMonitor)
+ {
+ equinfo.Id = Yitter.IdGenerator.YitIdHelper.NextId();
+ db.EquipmentCurrentMonitor.Add(equinfo);
+ }
+ #endregion
+ //db.WorkPieceLog.Add(GetAddWorkPieceLog(loginfo));
+ db.WorkPieceInfoLog.Add(GetAddWorkPieceInfoLog(info));
+ //UpdateKnifeToolLift(db, loginfo);//鏇存柊鍒�鍏峰鍛戒俊鎭�
+ }
+ else
+ {
+ loginfo.Remarks = $"涓婄嚎瀹屾垚璇诲彇浜岀淮鐮亄loginfo.WorkPieceID ?? "绌�"}寮傚父";
+ Log4NetHelper.WriteErrorLog(type, $" {loginfo.WorkingProcedure}涓婄嚎鐩戞帶璇荤爜鏍囪 璇诲彇宸ヤ欢鐮佹暟鎹甗{loginfo.WorkPieceID ?? "绌�"}]鏃跺紓甯革細");
+
}
}
catch (Exception e)
@@ -1949,7 +1920,7 @@
.OrderByDescending(o => o.WarnStartTime).FirstOrDefault();
if (loginfo.IsMessage)
{//鑻ユ湁鍛婅锛屽鏋滄湁璁惧鐘舵�佸彉鏇达紝鑲畾鎻掑叆锛屾澶勫彧淇敼鍗冲彲
- //鑻ユ湁鍛婅锛屽鏋滆澶囩姸鎬佹病鏈夊彉鏇达紝鏈夊憡璀︼紝涔熶笉鎻掑叆鏂扮殑锛堥棶棰橈細褰撶姸鎬佹病鏈夋洿鏀癸紝濡備竴鐩存槸鏁呴殰锛屼絾鍛婅淇℃伅鏈夊彉鍖栵紝鎬庝箞鍔� ps锛氭澶勫厛涓嶇锛�
+ //鑻ユ湁鍛婅锛屽鏋滆澶囩姸鎬佹病鏈夊彉鏇达紝鏈夊憡璀︼紝涔熶笉鎻掑叆鏂扮殑锛堥棶棰橈細褰撶姸鎬佹病鏈夋洿鏀癸紝濡備竴鐩存槸鏁呴殰锛屼絾鍛婅淇℃伅鏈夊彉鍖栵紝鎬庝箞鍔� ps锛氭澶勫厛涓嶇锛�
infolog.WarnStartTime = DateTimeHelper.GetDateTime();
infolog.WarnType = alertall;
infolog.Warnmsg = warnmsg;
@@ -2299,10 +2270,10 @@
info.UpdatedTime = DateTimeHelper.GetDateTime();
info.UpdatedUserName = threadinfo.Threadcode;
info.Threadlastmodifytime = threadinfo.Threadlastmodifytime > DateTime.MinValue ? threadinfo.Threadlastmodifytime : info.Threadlastmodifytime;//濡傛灉鏈変紶鍙傚垯鏇存柊
- //if (info.Threadstatue==1)
- //{
- // info.Threadlastmodifytime = DateTimeHelper.GetDateTime();//鏈�鏂拌窇鍒版暟鎹�
- //}
+ //if (info.Threadstatue==1)
+ //{
+ // info.Threadlastmodifytime = DateTimeHelper.GetDateTime();//鏈�鏂拌窇鍒版暟鎹�
+ //}
}
db.SaveChanges();
}
--
Gitblit v1.9.3