You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
2.1 KiB
62 lines
2.1 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using QMFrameWork.Data;
|
|
using QMAPP.FJC.DAL.QT;
|
|
using QMAPP.FJC.Entity.QT;
|
|
using QMAPP.FJC.Entity.Produce;
|
|
using QMAPP.FJC.TRACING.DAInterface;
|
|
using QMAPP.FJC.DAL.Produce;
|
|
using QMAPP.FJC.DAL.Basic;
|
|
using QMAPP.FJC.Entity.Basic;
|
|
|
|
namespace QMAPP.FJC.TRACING.StateActions
|
|
{
|
|
/// <summary>
|
|
/// 将提前输入的数据推送到当前加工
|
|
/// </summary>
|
|
public class PushData : IStateAction
|
|
{
|
|
/// <summary>
|
|
/// 执行
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
public void Execute(DAObject data)
|
|
{
|
|
DAICacheDAL dal = new DAICacheDAL();
|
|
var precachelist = dal.GetList(data.WorkLocState.WORKCELL_CODE, data.WorkLocState.WORKLOC_CODE).Where(p => string.Equals(p.PREINPUT, "1")).ToList();
|
|
|
|
DAL.Basic.MachineInfoDAL machinedal = new DAL.Basic.MachineInfoDAL();
|
|
var machine = machinedal.GetMachineInfo(new MachineInfo { MACHINECODDE = data.MachineCode });
|
|
if (machine.ISSTATION == 2)
|
|
{
|
|
precachelist = precachelist.Where(p => p.MOULD_CODE == data.MouldCode).ToList();
|
|
}
|
|
|
|
foreach (var pre in precachelist)
|
|
{
|
|
var cache = data.WorkLocState.DataCache.FirstOrDefault(p => p.DA_CODE == pre.DA_CODE);
|
|
if (cache != null)
|
|
{
|
|
|
|
cache.MATERIAL_CODE = pre.MATERIAL_CODE;
|
|
cache.DA_VALUE = pre.DA_VALUE;
|
|
cache.OBJ_PID = pre.OBJ_PID;
|
|
cache.SAVED = cache.SAVED.Replace(data.MouldCode, "");
|
|
|
|
pre.MATERIAL_CODE = "";
|
|
pre.DA_VALUE = "";
|
|
pre.OBJ_PID = "";
|
|
//resetDai.Add(dai);
|
|
data.AddToPersistentList(pre, pre.PID);
|
|
data.AddToPersistentList(cache, cache.PID);
|
|
}
|
|
else
|
|
{
|
|
throw new Exception("da lost!");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|