using iWare_SCADA_BusinessLogical.BLL; using iWare_SCADA_Model; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Web.UI.WebControls; namespace iWare_SCADA_BusinessLogical.Utils { /// /// 工序帮助类 /// public class WorkPieceProcessHelper { /// /// 创建OP05工序数据 /// /// /// /// public static WorkPieceProcess CreateWorkPieceProcessForOP05(WorkPieceLogMiddle logMiddle, DbModel db, WorkPieceInfo pieceInfo) { if (!logMiddle.MonitoringPoint.Equals("OP1002")) { return null; } var _procedureCurrent_05 = "OP05"; var pro_05 = db.WorkPieceProcess.Where(o => o.WorkPieceID == pieceInfo.WorkPieceID && o.WorkingProcedureCurrent == _procedureCurrent_05 && o.OperationType == OperationType.生产.ToString()).OrderByDescending(o => o.StartTime).FirstOrDefault(); if (pro_05 == null) { WorkPieceProcess process = new WorkPieceProcess(); process.WorkPieceID = pieceInfo.WorkPieceID; var _time = DateTimeHelper.GetDateTime().AddMinutes(-3); var _user = "OP0501"; process.StartTime = _time; process.EndTime = _time; process.EquipmentID = "EOP05"; process.WorkingProcedureCurrent = _procedureCurrent_05; process.QualityState = (int)QualityStateEnum.OK; process.Id = Yitter.IdGenerator.YitIdHelper.NextId(); process.CreatedUserName = _user; process.DataCapturePointCname = "打码完成标记"; process.CreatedTime = _time; process.UpdatedUserName = _user; process.UpdateDataCapturePointCname = "打码完成标记"; process.UpdatedTime = _time; process.OperationType = OperationType.生产.ToString(); process.Remarks = ""; process.MyRemarks = "CreateWorkPieceProcessForOP05根据OP1002时添加"; return process; } return null; } /// /// 创建OP70工序数据 /// /// /// /// public static WorkPieceProcess CreateWorkPieceProcessForOP70(WorkPieceLog logMiddle, DbModel db, WorkPieceInfo pieceInfo) { if (!logMiddle.WorkingProcedure.Equals("OP80")) { return null; } var _procedureCurrent_70 = "OP70"; var pro_70 = db.WorkPieceProcess.Where(o => o.WorkPieceID == pieceInfo.WorkPieceID && o.WorkingProcedureCurrent == _procedureCurrent_70 ).OrderByDescending(o => o.StartTime).FirstOrDefault(); if (pro_70 == null) { WorkPieceProcess process = new WorkPieceProcess(); process.WorkPieceID = pieceInfo.WorkPieceID; process.Update70Flag = 1; var _end_time = DateTimeHelper.GetDateTime().AddSeconds(-10); var _startTime = _end_time.AddSeconds(-SystemBussinessHelper.MoNiTimeForWorkingProcedure(_procedureCurrent_70)); var _user = "OP7001"; process.StartTime = _startTime; process.EndTime = _end_time; process.EquipmentID = "EOP70"; process.WorkingProcedureCurrent = _procedureCurrent_70; process.QualityState = (int)QualityStateEnum.OK; process.Id = Yitter.IdGenerator.YitIdHelper.NextId(); process.CreatedUserName = _user; process.DataCapturePointCname = "工序完成标记"; process.CreatedTime = _end_time; process.UpdatedUserName = _user; process.UpdateDataCapturePointCname = "工序完成标记"; process.UpdatedTime = _end_time; process.OperationType = OperationType.生产.ToString(); process.Remarks = ""; process.MyRemarks = "CreateWorkPieceProcessForOP70添加"; return process; } return null; } } }