schangxiang@126.com
2024-09-09 6a128ef4f3a8b79d25a8fcd36a6139b46ac51a65
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_04.cs
@@ -1,4 +1,5 @@
using iWare_SCADA_BusinessLogical.BLL;
using iWare_SCADA_BusinessLogical.BLL.Important;
using iWare_SCADA_BusinessLogical.Utils;
using iWare_SCADA_Model;
using iWare_SCADA_Model.MiddleModel;
@@ -14,7 +15,7 @@
    /// <summary>
    ///  SPC推出标记
    /// </summary>
    public class DataCaptureHandler_04: DataCaptureHandler
    public class DataCaptureHandler_04 : DataCaptureHandler
    {
        public static readonly DataCaptureHandler_04 Instance = new DataCaptureHandler_04();
@@ -45,6 +46,7 @@
        {
            if (SystemValue.isStartedImitateModel)
            {
                /*
                var plcService = PLCManger.GetSinglePLCService(_dataCaptureConfig);
                WorkPieceLogMiddle wplog = new WorkPieceLogMiddle();
                wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId();
@@ -52,8 +54,9 @@
                wplog.EquipmentID = WorkingProcedure;
                wplog.Remarks = WorkingProcedure;
                wplog.MonitoringPoint = DataCapturePointCode;
                //wplog.CreatedUserName = DataCapturePointCode;
                SystemBussinessHelper.SetWorkPieceLogMiddleForCreatedUserName(ref wplog, DataCapturePointCode, DataCapturePointCname);
                wplog.CreatedTime = DateTimeHelper.GetDateTime();
                wplog.CreatedUserName = DataCapturePointCode;
                wplog.IsDeleted = false;
@@ -62,8 +65,8 @@
                wplog.UpdatedTime = DateTimeHelper.GetDateTime();
                wplog.UpdatedUserName = DataCapturePointCode;
                //更新WorkPieceInfo表以及插入WorkPieceLog表和WorkPieceInfoLog表
                WorkPieceInfoManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
                WorkPieceSPCPushOffManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
                //*/
                return;
            }
            ThreadStatusMonitorMiddle threadStatusMonitor = new ThreadStatusMonitorMiddle();
@@ -118,11 +121,14 @@
                                wplog.WorkingProcedure = WorkingProcedure;
                                wplog.EquipmentID = _dataCaptureConfig.EquipmentID; ;
                                wplog.Remarks = WorkingProcedure;
                                //wplog.WorkPieceID = "123456";
                                wplog.MonitoringPoint = DataCapturePointCode;
                                wplog.WorkPieceID = "123456";
                                //wplog.CreatedUserName = DataCapturePointCode;
                                SystemBussinessHelper.SetWorkPieceLogMiddleForCreatedUserName(ref wplog, DataCapturePointCode, DataCapturePointCname);
                                wplog.CreatedTime = DateTimeHelper.GetDateTime();
                                wplog.CreatedUserName = DataCapturePointCode;
                                wplog.UpdatedUserName = Environment.MachineName+"自动" + Thread.CurrentThread.ManagedThreadId.ToString();
                                wplog.UpdatedUserName = Environment.MachineName + "自动" + Thread.CurrentThread.ManagedThreadId.ToString();
                                wplog.UpdatedTime = DateTimeHelper.GetDateTime();
                                wplog.IsDeleted = false;
                                foreach (var col in colConfig.Where(o => o.DataCapturePointCode == DataCapturePointCode))
@@ -144,29 +150,29 @@
                                    }
                                }
                                if (_dataCaptureConfig.WorkingProcedure.Equals("OP20")|| _dataCaptureConfig.WorkingProcedure.Equals("OP60")
                                if (_dataCaptureConfig.WorkingProcedure.Equals("OP20") || _dataCaptureConfig.WorkingProcedure.Equals("OP60")
                                    )
                                {//op20,op50,op60 会同时推出多件,所以特殊处理
                                    wplog.WorkPieceID = wplog.WorkPieceIDA;
                                    wplog.Remarks = "SPC推出工件A";
                                    WorkPieceInfoManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
                                    WorkPieceSPCPushOffManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
                                    wplog.WorkPieceID = wplog.WorkPieceIDB;
                                    wplog.Remarks = "SPC推出工件B";
                                    WorkPieceInfoManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
                                    WorkPieceSPCPushOffManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
                                    wplog.WorkPieceID = wplog.WorkPieceIDC;
                                    wplog.Remarks = "SPC推出工件C";
                                    WorkPieceInfoManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
                                    if(_dataCaptureConfig.WorkingProcedure.Equals("OP60"))
                                    WorkPieceSPCPushOffManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
                                    if (_dataCaptureConfig.WorkingProcedure.Equals("OP60"))
                                    {
                                        wplog.WorkPieceID = wplog.WorkPieceIDD;
                                        wplog.Remarks = "SPC推出工件D";
                                        WorkPieceInfoManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
                                        WorkPieceSPCPushOffManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
                                    }
                                }
                                else
                                {
                                    //更新WorkPieceInfo表以及插入WorkPieceLog表和WorkPieceInfoLog表
                                    WorkPieceInfoManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
                                    WorkPieceSPCPushOffManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
                                }
                                threadStatusMonitor.Threadstatue = 1;