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.JiaJuGongWei = "";
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.JiaJuGongWei = "";
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;
}
}
}