|
|
using System; using System.Collections.Generic; using System.Linq; using System.Text; using ICSSoft.Frame.Data.Entity; using ICSSoft.Base.Config.DBHelper; using System.Data; using System.Data.SqlClient; using ICSSoft.Base.Config.AppConfig;
namespace ICSSoft.Frame.Data.DAL { public class ICSDataCollectionDAL { #region 根据放料轴编码获取放料轴信息
public static DataTable GetInfoByCode(string INVShaftCode, string SubLotNo, string dsconn) { try { string sql = @"Select 0 AS RowNo
,A.ID AS guid ,C.LotNO ,A.ShaftCode ,A.ShaftName ,B.INVCode AS INVCode ,D.INVNAME AS INVName ,C.ActualWidth ,C.LOTQTY from ICSINVShaft A LEFT JOIN ICSITEM2INVShaft B ON B.ShaftCode=A.ShaftCode LEFT JOIN ICSITEMLot C ON C.ItemCODE=B.INVCode LEFT JOIN ICSINVENTORY D ON D.INVCODE=C.ITEMCODE WHERE A.ShaftCode='{0}' AND C.LOTNO='{1}' AND A.WorkPoint='{2}'";
sql = string.Format(sql, INVShaftCode, SubLotNo, AppConfig.WorkPointCode); DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0]; return dt; } catch (Exception ex) { throw ex; } } #endregion
#region 保存采集上下模日志记录
//public static void MouldLogSave(ICSMouldUpAndDownLog info, string dsconn)
//{
// FramDataContext db = new FramDataContext(dsconn);
// db.Connection.Open();
// db.Transaction = db.Connection.BeginTransaction();
// try
// {
// bool isNew = false;
// var line = db.ICSMouldUpAndDownLog.SingleOrDefault(a => a.ID == info.ID);
// if (line == null)
// {
// isNew = true;
// line = new ICSMouldUpAndDownLog();
// line.ID = info.ID;
// }
// line.OperaterType = info.OperaterType;
// line.MOCode = info.MOCode;
// line.LotNo = info.LotNo;
// line.INVCode = info.INVCode;
// line.OPCode = info.OPCode;
// line.EQPCode = info.EQPCode;
// line.OperaterUser = info.OperaterUser;
// line.MTIME = info.MTIME;
// line.MUSER = info.MUSER;
// line.MUSERNAME = info.MUSERNAME;
// line.WorkPoint = info.WorkPoint;
// line.EATTRIBUTE1 = info.EATTRIBUTE1;
// line.EATTRIBUTE2 = info.EATTRIBUTE2;
// if (isNew)
// db.ICSMouldUpAndDownLog.InsertOnSubmit(line);
// db.SubmitChanges();
// db.Transaction.Commit();
// }
// catch (Exception ex)
// {
// db.Transaction.Rollback();
// throw ex;
// }
//}
#endregion
#region 工序开工
public static void CollectOPStart(ICSLOTSIMULATION siminfo, ICSLOTONWIP wipinfo, string dsconn) { FramDataContext db = new FramDataContext(dsconn); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { #region ICSLOTSIMULATION表
if (siminfo != null) { var simline = new ICSLOTSIMULATION();
simline.ID = siminfo.ID; simline.LOTNO = siminfo.LOTNO; //simline.SEQ = siminfo.SEQ;
simline.MOCODE = siminfo.MOCODE; simline.LOTSEQ = siminfo.LOTSEQ; simline.LOTQTY = siminfo.LOTQTY; simline.GOODQTY = siminfo.GOODQTY; simline.NGQTY = siminfo.NGQTY; simline.LOTStatus = siminfo.LOTStatus; simline.MODELCODE = siminfo.MODELCODE; simline.ITEMCODE = siminfo.ITEMCODE; simline.ROUTECODE = siminfo.ROUTECODE; simline.OPCODE = siminfo.OPCODE; simline.EQPCODE = siminfo.EQPCODE; simline.PRODUCTSTATUS = siminfo.PRODUCTSTATUS; simline.LACTION = siminfo.LACTION; simline.ACTIONLIST = siminfo.ACTIONLIST; simline.NGTIMES = siminfo.NGTIMES; simline.ISCOM = siminfo.ISCOM; simline.ISHOLD = siminfo.ISHOLD; simline.MOSEQ = siminfo.MOSEQ; simline.CollectStatus = siminfo.CollectStatus; simline.BeginTime = siminfo.BeginTime; simline.EndTime = siminfo.EndTime; simline.MUSER = siminfo.MUSER; simline.MUSERName = siminfo.MUSERName; simline.MTIME = siminfo.MTIME; simline.WorkPoint = siminfo.WorkPoint; simline.EATTRIBUTE1 = siminfo.EATTRIBUTE1; db.ICSLOTSIMULATION.InsertOnSubmit(simline); db.SubmitChanges(); } #endregion
#region ICSLOTONWIP表
if (wipinfo == null) { throw new Exception("采集记录子表数据错误,开工失败"); } else { var wipline = new ICSLOTONWIP();
//var CheckWipline = db.ICSLOTONWIP.SingleOrDefault(a => a.LOTNO == wipinfo.LOTNO);
//if (CheckWipline!=null)
//{
// throw new Exception("该条码信息已经存在");
//}
wipline.ID = wipinfo.ID; wipline.LOTNO = wipinfo.LOTNO; wipline.LOTSEQ = wipinfo.LOTSEQ; wipline.MOCODE = wipinfo.MOCODE; wipline.MODELCODE = wipinfo.MODELCODE; wipline.ITEMCODE = wipinfo.ITEMCODE; ; wipline.ROUTECODE = wipinfo.ROUTECODE; wipline.OPCODE = wipinfo.OPCODE; wipline.EQPCODE = wipinfo.EQPCODE; wipline.SHIFTTYPECODE = wipinfo.SHIFTTYPECODE; wipline.ACTION = wipinfo.ACTION; wipline.ACTIONRESULT = wipinfo.ACTIONRESULT; wipline.NGTIMES = wipinfo.NGTIMES; wipline.MOSEQ = wipinfo.MOSEQ; wipline.Processed = wipinfo.Processed; wipline.LOTQTY = wipinfo.LOTQTY; wipline.GOODQTY = wipinfo.GOODQTY; wipline.NGQTY = wipinfo.NGQTY; wipline.UserCodeBegin = wipinfo.UserCodeBegin; wipline.UserCodeEnd = wipinfo.UserCodeEnd; wipline.BeginTime = wipinfo.BeginTime; wipline.EndTime = wipinfo.EndTime; wipline.MUSER = wipinfo.MUSER; wipline.MUSERName = wipinfo.MUSERName; wipline.MTIME = wipinfo.MTIME; wipline.WorkPoint = wipinfo.WorkPoint; wipline.EATTRIBUTE1 = wipinfo.EATTRIBUTE1; db.ICSLOTONWIP.InsertOnSubmit(wipline); db.SubmitChanges(); } #endregion
db.Transaction.Commit(); } catch (Exception ex) { db.Transaction.Rollback(); throw ex; } }
public static void CollectOPStart(ICSLOTSIMULATION siminfo, ICSLOTONWIP wipinfo, ICSLOTONWIPDetail wipDetailInfo, string dsconn) { FramDataContext db = new FramDataContext(dsconn); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { #region ICSLOTSIMULATION表
if (siminfo != null) { var simline = new ICSLOTSIMULATION(); simline.ID = siminfo.ID; simline.LOTNO = siminfo.LOTNO; //simline.SEQ = siminfo.SEQ;
simline.MOCODE = siminfo.MOCODE; simline.LOTSEQ = siminfo.LOTSEQ; simline.LOTQTY = siminfo.LOTQTY; simline.GOODQTY = siminfo.GOODQTY; simline.NGQTY = siminfo.NGQTY; simline.LOTStatus = siminfo.LOTStatus; simline.MODELCODE = siminfo.MODELCODE; simline.ITEMCODE = siminfo.ITEMCODE; simline.ROUTECODE = siminfo.ROUTECODE; simline.OPCODE = siminfo.OPCODE; simline.EQPCODE = siminfo.EQPCODE; simline.PRODUCTSTATUS = siminfo.PRODUCTSTATUS; simline.LACTION = siminfo.LACTION; simline.ACTIONLIST = siminfo.ACTIONLIST; simline.NGTIMES = siminfo.NGTIMES; simline.ISCOM = siminfo.ISCOM; simline.ISHOLD = siminfo.ISHOLD; simline.MOSEQ = siminfo.MOSEQ; simline.CollectStatus = siminfo.CollectStatus; simline.BeginTime = siminfo.BeginTime; simline.EndTime = siminfo.EndTime; simline.MUSER = siminfo.MUSER; simline.MUSERName = siminfo.MUSERName; simline.MTIME = siminfo.MTIME; simline.WorkPoint = siminfo.WorkPoint; simline.EATTRIBUTE1 = siminfo.EATTRIBUTE1; db.ICSLOTSIMULATION.InsertOnSubmit(simline); db.SubmitChanges(); } #endregion
#region ICSLOTONWIP表
var wipline = new ICSLOTONWIP(); wipline.ID = wipinfo.ID; wipline.LOTNO = wipinfo.LOTNO; wipline.LOTSEQ = wipinfo.LOTSEQ; wipline.MOCODE = wipinfo.MOCODE; wipline.MODELCODE = wipinfo.MODELCODE; wipline.ITEMCODE = wipinfo.ITEMCODE; ; wipline.ROUTECODE = wipinfo.ROUTECODE; wipline.OPCODE = wipinfo.OPCODE; wipline.EQPCODE = wipinfo.EQPCODE; wipline.SHIFTTYPECODE = wipinfo.SHIFTTYPECODE; wipline.ACTION = wipinfo.ACTION; wipline.ACTIONRESULT = wipinfo.ACTIONRESULT; wipline.NGTIMES = wipinfo.NGTIMES; wipline.MOSEQ = wipinfo.MOSEQ; wipline.Processed = wipinfo.Processed; wipline.LOTQTY = wipinfo.LOTQTY; wipline.GOODQTY = wipinfo.GOODQTY; wipline.NGQTY = wipinfo.NGQTY; wipline.UserCodeBegin = wipinfo.UserCodeBegin; wipline.UserCodeEnd = wipinfo.UserCodeEnd; wipline.BeginTime = wipinfo.BeginTime; wipline.EndTime = wipinfo.EndTime; wipline.MUSER = wipinfo.MUSER; wipline.MUSERName = wipinfo.MUSERName; wipline.MTIME = wipinfo.MTIME; wipline.WorkPoint = wipinfo.WorkPoint; wipline.EATTRIBUTE1 = wipinfo.EATTRIBUTE1; db.ICSLOTONWIP.InsertOnSubmit(wipline); db.SubmitChanges(); #endregion
#region ICSLOTONWIPDetail表
if (wipDetailInfo != null) { ICSLOTONWIPDetail wipDetailline = new ICSLOTONWIPDetail(); wipDetailline.AutoStatus = wipDetailInfo.AutoStatus; wipDetailline.BeginDateTime = wipDetailInfo.BeginDateTime; wipDetailline.CollectStatus = wipDetailInfo.CollectStatus; wipDetailline.DeptNo = wipDetailInfo.DeptNo; wipDetailline.EATTRIBUTE1 = wipDetailInfo.EATTRIBUTE1; wipDetailline.ECCode = wipDetailInfo.ECCode; wipDetailline.ECDesc = wipDetailInfo.ECDesc; wipDetailline.EndDateTime = wipDetailInfo.EndDateTime; wipDetailline.ID = wipDetailInfo.ID; wipDetailline.ITEMCODE = wipDetailInfo.ITEMCODE; wipDetailline.LOTNO = wipDetailInfo.LOTNO; wipDetailline.LOTSEQ = wipDetailInfo.LOTSEQ; wipDetailline.MTIME = wipDetailInfo.MTIME; wipDetailline.MUSER = wipDetailInfo.MUSER; wipDetailline.MUSERName = wipDetailInfo.MUSERName; wipDetailline.OPCODE = wipDetailInfo.OPCODE; wipDetailline.ROUTECODE = wipDetailInfo.ROUTECODE; wipDetailline.Status = wipDetailInfo.Status; wipDetailline.TransNO = wipDetailInfo.TransNO; wipDetailline.Type = wipDetailInfo.Type; wipDetailline.WorkCenter = wipDetailInfo.WorkCenter; wipDetailline.WorkPoint = wipDetailInfo.WorkPoint; db.ICSLOTONWIPDetail.InsertOnSubmit(wipDetailline); db.SubmitChanges(); } #endregion
db.Transaction.Commit(); } catch (Exception ex) { db.Transaction.Rollback(); throw ex; } } #endregion
#region 工序上料
public static void CollectOPUP(List<ICSLOTONWIPITEM> infoList, string SaveOrReturnType, string Appconstr) {
FramDataContext db = new FramDataContext(Appconstr); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { bool isNew = false; foreach (var item in infoList) { var wipItem = db.ICSLOTONWIPITEM.SingleOrDefault(a => a.LOTNO == item.LOTNO && a.MOCODE == item.MOCODE && a.MOSEQ == item.MOSEQ && a.OPCODE == item.OPCODE && a.INVCODE == item.INVCODE && a.ROUTECODE == item.ROUTECODE);
if (wipItem == null) { isNew = true; wipItem = new ICSLOTONWIPITEM(); wipItem.ID = AppConfig.GetGuid(); }
//ICSLOTONWIPITEM wipItem = new ICSLOTONWIPITEM();
//wipItem.ID = item.ID;
wipItem.MOCODE = item.MOCODE; wipItem.MOSEQ = item.MOSEQ; wipItem.LOTNO = item.LOTNO; wipItem.ITEMCODE = item.ITEMCODE; ;//母件编码
wipItem.INVCODE = item.INVCODE; ;//子件编码
wipItem.OPCODE = item.OPCODE; ; wipItem.ROUTECODE = item.ROUTECODE; ; ; if (item.QTY > 0) { if (wipItem.QTY > 0 && SaveOrReturnType == "1") { wipItem.QTY = wipItem.QTY + item.QTY; } else { wipItem.QTY = item.QTY; } } //wipItem.QTY = 0;// Convert.ToDecimal(item["iQuantity"].ToString()) / Convert.ToDecimal(txtLONTQty.Text.ToString());
wipItem.MTIME = item.MTIME; ; wipItem.MUSER = item.MUSER; ; ; wipItem.MUSERName = item.MUSERName; ; wipItem.WorkPoint = item.WorkPoint; ;
if (isNew) db.ICSLOTONWIPITEM.InsertOnSubmit(wipItem); }
db.SubmitChanges(); db.Transaction.Commit(); } catch (Exception ex) { db.Transaction.Rollback(); throw new Exception(ex.Message); }
} #endregion
#region 工序完工
//public static void CollectOPEnd(ICSLOTSIMULATION siminfo, ICSLOTONWIP wipinfo,bool issplit,string splitLotno, string dsconn)
public static void CollectOPEnd(ICSLOTSIMULATION siminfo, ICSLOTONWIP wipinfo, string splitLotno, string dsconn) { FramDataContext db = new FramDataContext(dsconn); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { #region ICSLOTSIMULATION表(如果需要创建分卷则分卷数量更新在EATTRIBUTE1,不修改GOODQTY)
if (siminfo != null) { var simline = db.ICSLOTSIMULATION.SingleOrDefault(a => a.LOTNO == siminfo.LOTNO && a.OPCODE == siminfo.OPCODE); //if (issplit == false)
//{
simline.GOODQTY = simline.GOODQTY + siminfo.GOODQTY; simline.NGQTY = simline.NGQTY + siminfo.NGQTY; simline.CollectStatus = siminfo.CollectStatus; //}
//else
//{
// simline.EATTRIBUTE1 = siminfo.GOODQTY.ToString();
//}
simline.EATTRIBUTE1 = siminfo.GOODQTY.ToString();
db.SubmitChanges(); #region 如果需要创建分卷,ICSLOTSIMULATION表需要新增一条采集完工记录,其中条码改成分批出来的条码,并扣除原采集记录的数量
//if (issplit == true)
//{
//var simcopyline = db.ICSLOTSIMULATION.SingleOrDefault(a => a.LOTNO == siminfo.LOTNO);
// if (simcopyline == null)
// {
// throw new Exception("采集记录主表ID错误,开工失败");
// }
// else
// {
// simcopyline.LOTQTY = simcopyline.LOTQTY - siminfo.GOODQTY;
// var simnewline = new ICSLOTSIMULATION();
// simnewline.ID = AppConfig.GetGuid();
// simnewline.LOTNO = splitLotno;
// simnewline.SEQ = simcopyline.SEQ;
// simnewline.MOCODE = simcopyline.MOCODE;
// simnewline.LOTSEQ = simcopyline.LOTSEQ;
// simnewline.LOTQTY = siminfo.GOODQTY;
// simnewline.GOODQTY = siminfo.GOODQTY;
// simnewline.NGQTY = simcopyline.NGQTY;
// simnewline.LOTStatus = simcopyline.LOTStatus;
// simnewline.MODELCODE = simcopyline.MODELCODE;
// simnewline.ITEMCODE = simcopyline.ITEMCODE;
// simnewline.ROUTECODE = simcopyline.ROUTECODE;
// simnewline.OPCODE = simcopyline.OPCODE;
// simnewline.EQPCODE = simcopyline.EQPCODE;
// simnewline.PRODUCTSTATUS = simcopyline.PRODUCTSTATUS;
// simnewline.LACTION = simcopyline.LACTION;
// simnewline.ACTIONLIST = simcopyline.ACTIONLIST;
// simnewline.NGTIMES = simcopyline.NGTIMES;
// simnewline.ISCOM = simcopyline.ISCOM;
// simnewline.ISHOLD = simcopyline.ISHOLD;
// simnewline.MOSEQ = simcopyline.MOSEQ;
// simnewline.CollectStatus = "COLLECT_END";
// simnewline.BeginTime = simcopyline.BeginTime;
// simnewline.EndTime = simcopyline.EndTime;
// simnewline.MUSER = simcopyline.MUSER;
// simnewline.MUSERName = simcopyline.MUSERName;
// simnewline.MTIME = simcopyline.MTIME;
// simnewline.WorkPoint = simcopyline.WorkPoint;
// simnewline.EATTRIBUTE1 = simcopyline.EATTRIBUTE1;
// db.ICSLOTSIMULATION.InsertOnSubmit(simnewline);
// db.SubmitChanges();
// }
//}
#endregion
} #endregion
#region ICSLOTONWIP表
if (wipinfo == null) { throw new Exception("采集记录子表数据错误,开工失败"); } else { var wipline = db.ICSLOTONWIP.SingleOrDefault(a => a.ID == wipinfo.ID); if (wipline == null) { throw new Exception("采集记录子表ID错误,开工失败"); } else { wipline.ACTIONRESULT = wipinfo.ACTIONRESULT; wipline.LOTQTY = wipinfo.LOTQTY; wipline.GOODQTY = wipinfo.GOODQTY; wipline.NGQTY = wipinfo.NGQTY;
wipline.UserCodeEnd = wipinfo.UserCodeEnd; wipline.EndTime = wipinfo.EndTime; db.SubmitChanges(); } #region 如果需要创建分卷,获取需要插入ICSLOTONWIP表的工序编码
//if (issplit == true)
//{
// var wipcopylinelist = db.ICSLOTONWIP.Where(a => a.LOTNO == wipline.LOTNO && a.UserCodeBegin == wipline.UserCodeBegin).Distinct();
// foreach(ICSLOTONWIP wipcopyline in wipcopylinelist)
// {
// var newwipline = new ICSLOTONWIP();
// newwipline.ID = AppConfig.GetGuid();
// newwipline.LOTNO = splitLotno;
// newwipline.LOTSEQ = wipcopyline.LOTSEQ;
// newwipline.MOCODE = wipcopyline.MOCODE;
// newwipline.MODELCODE = wipcopyline.MODELCODE;
// newwipline.ITEMCODE = wipcopyline.ITEMCODE; ;
// newwipline.ROUTECODE = wipcopyline.ROUTECODE;
// newwipline.OPCODE = wipcopyline.OPCODE;
// newwipline.EQPCODE = wipcopyline.EQPCODE;
// newwipline.SHIFTTYPECODE = "";
// newwipline.ACTION = wipcopyline.ACTION;
// newwipline.ACTIONRESULT = wipcopyline.ACTIONRESULT;
// newwipline.NGTIMES = wipcopyline.NGTIMES;
// newwipline.MOSEQ = wipcopyline.MOSEQ;
// newwipline.Processed = wipcopyline.Processed;
// newwipline.LOTQTY = wipcopyline.LOTQTY;
// newwipline.GOODQTY = wipcopyline.GOODQTY;
// newwipline.NGQTY = wipcopyline.NGQTY;
// newwipline.SEQ = wipcopyline.SEQ;
// newwipline.UserCodeBegin = wipcopyline.UserCodeBegin;
// newwipline.UserCodeEnd = wipcopyline.UserCodeEnd;
// newwipline.BeginTime = wipcopyline.BeginTime;
// newwipline.EndTime = wipcopyline.EndTime;
// newwipline.MUSER = wipcopyline.MUSER;
// newwipline.MUSERName = wipcopyline.MUSERName;
// newwipline.MTIME = wipcopyline.MTIME;
// newwipline.WorkPoint = wipcopyline.WorkPoint;
// newwipline.EATTRIBUTE1 = "分卷";
// db.ICSLOTONWIP.InsertOnSubmit(newwipline);
// db.SubmitChanges();
// }
//}
#endregion
} #endregion
#region 如果需要创建分卷,则需要在ICSITEMLOT表,ICSITEMROUTE2OPLOT表和ICSMO2USER表都需要插入数据,其中ICSITEMLOT表还需要在原条码上扣除分卷的数量
//if (issplit == true)
//{
// var lotline = db.ICSITEMLot.SingleOrDefault(a => a.LotNO == siminfo.LOTNO);
// if (lotline == null)
// {
// throw new Exception("创建分卷时条码表数据错误,创建失败!");
// }
// else
// {
// #region ICSITEMLOT表扣减原条码数量
// lotline.LOTQTY = lotline.LOTQTY - siminfo.GOODQTY;
// #endregion
// #region ICSITEMLOT新增分卷数据
// var newlotline = new ICSITEMLot();
// newlotline.ID = AppConfig.GetGuid();
// newlotline.LotNO = splitLotno;
// newlotline.ItemCODE = lotline.ItemCODE;
// newlotline.TransNO = lotline.TransNO;
// newlotline.TransLine = lotline.TransLine;
// newlotline.VENDORITEMCODE = lotline.VENDORITEMCODE;
// newlotline.VENDORCODE = lotline.VENDORCODE;
// newlotline.VenderLotNO = lotline.VenderLotNO;
// newlotline.PRODUCTDATE = lotline.PRODUCTDATE;
// newlotline.LOTQTY = siminfo.GOODQTY;
// newlotline.ACTIVE = lotline.ACTIVE;
// newlotline.Exdate = lotline.Exdate;
// newlotline.WorkPoint = lotline.WorkPoint;
// newlotline.MUSER = lotline.MUSER;
// newlotline.MUSERName = lotline.MUSERName;
// newlotline.MTIME = lotline.MTIME;
// newlotline.EATTRIBUTE1 = lotline.EATTRIBUTE1;
// newlotline.TYPE = lotline.TYPE;
// newlotline.EATTRIBUTE2 = lotline.EATTRIBUTE2;
// newlotline.EATTRIBUTE3 = lotline.EATTRIBUTE3;
// newlotline.EATTRIBUTE4 = lotline.EATTRIBUTE4;
// newlotline.EATTRIBUTE5 = lotline.EATTRIBUTE5;
// newlotline.PrintTimes = lotline.PrintTimes;
// newlotline.lastPrintUSERID = lotline.lastPrintUSERID;
// newlotline.lastPrintTime = lotline.lastPrintTime;
// newlotline.ORDERNO = lotline.ORDERNO;
// //newlotline.BMStd = lotline.BMStd;
// //newlotline.BMBatch = lotline.BMBatch;
// //newlotline.LMStd = lotline.LMStd;
// //newlotline.LMBatch = lotline.LMBatch;
// //newlotline.ZCStd = lotline.ZCStd;
// //newlotline.ZCBatch = lotline.ZCBatch;
// //newlotline.SCStage = lotline.SCStage;
// //newlotline.Edition = lotline.Edition;
// //newlotline.ActualWidth = lotline.ActualWidth;
// //newlotline.Meters = lotline.Meters;
// //newlotline.ZCStdone = lotline.ZCStdone;
// //newlotline.LMBatchone = lotline.LMBatchone;
// //newlotline.ZCStdtwo = lotline.ZCStdtwo;
// //newlotline.LMBatchtwo = lotline.LMBatchtwo;
// //newlotline.ZCStdthree = lotline.ZCStdthree;
// //newlotline.LMBatchthree = lotline.LMBatchthree;
// db.ICSITEMLot.InsertOnSubmit(newlotline);
// db.SubmitChanges();
// #endregion
// #region 新增ICSITEMROUTE2OPLOT表
// var oplotline = db.ICSITEMROUTE2OPLot.Where(a => a.LotNo == siminfo.LOTNO);
// foreach (ICSITEMROUTE2OPLot oplotinfo in oplotline)
// {
// var newoplotline = new ICSITEMROUTE2OPLot();
// newoplotline.ID = AppConfig.GetGuid();
// newoplotline.ITEMCODE = oplotinfo.ITEMCODE;
// newoplotline.ROUTECODE = oplotinfo.ROUTECODE;
// newoplotline.OPCODE = oplotinfo.OPCODE;
// newoplotline.OPSEQ = oplotinfo.OPSEQ;
// newoplotline.OPCONTROL = oplotinfo.OPCONTROL;
// newoplotline.OPTIONALOP = oplotinfo.OPTIONALOP;
// newoplotline.LotNo = splitLotno;
// newoplotline.IDMERGETYPE = oplotinfo.IDMERGETYPE;
// newoplotline.IDMERGERULE = oplotinfo.IDMERGERULE;
// newoplotline.MUSER = oplotinfo.MUSER;
// newoplotline.MUSERName = oplotinfo.MUSERName;
// newoplotline.MTIME = oplotinfo.MTIME;
// newoplotline.WorkPoint = oplotinfo.WorkPoint;
// newoplotline.EATTRIBUTE1 = oplotinfo.EATTRIBUTE1;
// db.ICSITEMROUTE2OPLot.InsertOnSubmit(newoplotline);
// db.SubmitChanges();
// }
// #endregion
// #region 新增ICSMO2USER表
// var moline = db.ICSMO2User.Where(a => a.LOTNO == siminfo.LOTNO);
// foreach (ICSMO2User moinfo in moline)
// {
// var newmoline = new ICSMO2User();
// newmoline.ID = AppConfig.GetGuid();
// newmoline.MOCODE = moinfo.MOCODE;
// newmoline.MOSEQ = moinfo.MOSEQ;
// newmoline.LOTNO = splitLotno;
// newmoline.SEGCODE = moinfo.SEGCODE;
// newmoline.RouteCode = moinfo.RouteCode;
// newmoline.OPCODE = moinfo.OPCODE;
// newmoline.USERCODE = moinfo.USERCODE;
// newmoline.USERName = moinfo.USERName;
// newmoline.EQPCode = moinfo.EQPCode;
// newmoline.EQPName = moinfo.EQPName;
// newmoline.StartPlanDate = moinfo.StartPlanDate;
// newmoline.EndPlanDate = moinfo.EndPlanDate;
// newmoline.MUSER = moinfo.MUSER;
// newmoline.MUSERName = moinfo.MUSERName;
// newmoline.MTIME = moinfo.MTIME;
// newmoline.WorkPoint = moinfo.WorkPoint;
// newmoline.EATTRIBUTE1 = moinfo.EATTRIBUTE1;
// db.ICSMO2User.InsertOnSubmit(newmoline);
// db.SubmitChanges();
// }
// #endregion
// }
//}
#endregion
db.Transaction.Commit(); } catch (Exception ex) { db.Transaction.Rollback(); throw ex; } } #endregion
#region 单件工序完工
public static void CollectOPEndPrice(ICSLOTSIMULATION siminfo, ICSLOTONWIP wipinfo, string splitLotno, string dsconn) { FramDataContext db = new FramDataContext(dsconn); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { #region ICSLOTSIMULATION表(如果需要创建分卷则分卷数量更新在EATTRIBUTE1,不修改GOODQTY)
if (siminfo != null) { var simline = db.ICSLOTSIMULATION.SingleOrDefault(a => a.LOTNO == siminfo.LOTNO && a.OPCODE == siminfo.OPCODE && a.ROUTECODE == siminfo.ROUTECODE);
simline.GOODQTY = simline.GOODQTY + siminfo.GOODQTY; simline.NGQTY = simline.NGQTY + siminfo.NGQTY; simline.CollectStatus = siminfo.CollectStatus; simline.EndTime = siminfo.EndTime;
simline.EATTRIBUTE1 = siminfo.GOODQTY.ToString();
db.SubmitChanges();
} #endregion
#region ICSLOTONWIP表
if (wipinfo == null) { throw new Exception("采集记录子表数据错误,开工失败"); } else { var wipline = db.ICSLOTONWIP.SingleOrDefault(a => a.ID == wipinfo.ID); if (wipline == null) { throw new Exception("采集记录子表ID错误,开工失败"); } else { wipline.ACTIONRESULT = wipinfo.ACTIONRESULT; wipline.LOTQTY = wipinfo.LOTQTY; wipline.GOODQTY = wipinfo.GOODQTY; wipline.NGQTY = wipinfo.NGQTY;
wipline.UserCodeEnd = wipinfo.UserCodeEnd; wipline.EndTime = wipinfo.EndTime; db.SubmitChanges(); }
} #endregion
#region 如果需要创建分卷,则需要在ICSITEMLOT表,ICSITEMROUTE2OPLOT表和ICSMO2USER表都需要插入数据,其中ICSITEMLOT表还需要在原条码上扣除分卷的数量
//if (issplit == true)
//{
// var lotline = db.ICSITEMLot.SingleOrDefault(a => a.LotNO == siminfo.LOTNO);
// if (lotline == null)
// {
// throw new Exception("创建分卷时条码表数据错误,创建失败!");
// }
// else
// {
// #region ICSITEMLOT表扣减原条码数量
// lotline.LOTQTY = lotline.LOTQTY - siminfo.GOODQTY;
// #endregion
// #region ICSITEMLOT新增分卷数据
// var newlotline = new ICSITEMLot();
// newlotline.ID = AppConfig.GetGuid();
// newlotline.LotNO = splitLotno;
// newlotline.ItemCODE = lotline.ItemCODE;
// newlotline.TransNO = lotline.TransNO;
// newlotline.TransLine = lotline.TransLine;
// newlotline.VENDORITEMCODE = lotline.VENDORITEMCODE;
// newlotline.VENDORCODE = lotline.VENDORCODE;
// newlotline.VenderLotNO = lotline.VenderLotNO;
// newlotline.PRODUCTDATE = lotline.PRODUCTDATE;
// newlotline.LOTQTY = siminfo.GOODQTY;
// newlotline.ACTIVE = lotline.ACTIVE;
// newlotline.Exdate = lotline.Exdate;
// newlotline.WorkPoint = lotline.WorkPoint;
// newlotline.MUSER = lotline.MUSER;
// newlotline.MUSERName = lotline.MUSERName;
// newlotline.MTIME = lotline.MTIME;
// newlotline.EATTRIBUTE1 = lotline.EATTRIBUTE1;
// newlotline.TYPE = lotline.TYPE;
// newlotline.EATTRIBUTE2 = lotline.EATTRIBUTE2;
// newlotline.EATTRIBUTE3 = lotline.EATTRIBUTE3;
// newlotline.EATTRIBUTE4 = lotline.EATTRIBUTE4;
// newlotline.EATTRIBUTE5 = lotline.EATTRIBUTE5;
// newlotline.PrintTimes = lotline.PrintTimes;
// newlotline.lastPrintUSERID = lotline.lastPrintUSERID;
// newlotline.lastPrintTime = lotline.lastPrintTime;
// newlotline.ORDERNO = lotline.ORDERNO;
// //newlotline.BMStd = lotline.BMStd;
// //newlotline.BMBatch = lotline.BMBatch;
// //newlotline.LMStd = lotline.LMStd;
// //newlotline.LMBatch = lotline.LMBatch;
// //newlotline.ZCStd = lotline.ZCStd;
// //newlotline.ZCBatch = lotline.ZCBatch;
// //newlotline.SCStage = lotline.SCStage;
// //newlotline.Edition = lotline.Edition;
// //newlotline.ActualWidth = lotline.ActualWidth;
// //newlotline.Meters = lotline.Meters;
// //newlotline.ZCStdone = lotline.ZCStdone;
// //newlotline.LMBatchone = lotline.LMBatchone;
// //newlotline.ZCStdtwo = lotline.ZCStdtwo;
// //newlotline.LMBatchtwo = lotline.LMBatchtwo;
// //newlotline.ZCStdthree = lotline.ZCStdthree;
// //newlotline.LMBatchthree = lotline.LMBatchthree;
// db.ICSITEMLot.InsertOnSubmit(newlotline);
// db.SubmitChanges();
// #endregion
// #region 新增ICSITEMROUTE2OPLOT表
// var oplotline = db.ICSITEMROUTE2OPLot.Where(a => a.LotNo == siminfo.LOTNO);
// foreach (ICSITEMROUTE2OPLot oplotinfo in oplotline)
// {
// var newoplotline = new ICSITEMROUTE2OPLot();
// newoplotline.ID = AppConfig.GetGuid();
// newoplotline.ITEMCODE = oplotinfo.ITEMCODE;
// newoplotline.ROUTECODE = oplotinfo.ROUTECODE;
// newoplotline.OPCODE = oplotinfo.OPCODE;
// newoplotline.OPSEQ = oplotinfo.OPSEQ;
// newoplotline.OPCONTROL = oplotinfo.OPCONTROL;
// newoplotline.OPTIONALOP = oplotinfo.OPTIONALOP;
// newoplotline.LotNo = splitLotno;
// newoplotline.IDMERGETYPE = oplotinfo.IDMERGETYPE;
// newoplotline.IDMERGERULE = oplotinfo.IDMERGERULE;
// newoplotline.MUSER = oplotinfo.MUSER;
// newoplotline.MUSERName = oplotinfo.MUSERName;
// newoplotline.MTIME = oplotinfo.MTIME;
// newoplotline.WorkPoint = oplotinfo.WorkPoint;
// newoplotline.EATTRIBUTE1 = oplotinfo.EATTRIBUTE1;
// db.ICSITEMROUTE2OPLot.InsertOnSubmit(newoplotline);
// db.SubmitChanges();
// }
// #endregion
// #region 新增ICSMO2USER表
// var moline = db.ICSMO2User.Where(a => a.LOTNO == siminfo.LOTNO);
// foreach (ICSMO2User moinfo in moline)
// {
// var newmoline = new ICSMO2User();
// newmoline.ID = AppConfig.GetGuid();
// newmoline.MOCODE = moinfo.MOCODE;
// newmoline.MOSEQ = moinfo.MOSEQ;
// newmoline.LOTNO = splitLotno;
// newmoline.SEGCODE = moinfo.SEGCODE;
// newmoline.RouteCode = moinfo.RouteCode;
// newmoline.OPCODE = moinfo.OPCODE;
// newmoline.USERCODE = moinfo.USERCODE;
// newmoline.USERName = moinfo.USERName;
// newmoline.EQPCode = moinfo.EQPCode;
// newmoline.EQPName = moinfo.EQPName;
// newmoline.StartPlanDate = moinfo.StartPlanDate;
// newmoline.EndPlanDate = moinfo.EndPlanDate;
// newmoline.MUSER = moinfo.MUSER;
// newmoline.MUSERName = moinfo.MUSERName;
// newmoline.MTIME = moinfo.MTIME;
// newmoline.WorkPoint = moinfo.WorkPoint;
// newmoline.EATTRIBUTE1 = moinfo.EATTRIBUTE1;
// db.ICSMO2User.InsertOnSubmit(newmoline);
// db.SubmitChanges();
// }
// #endregion
// }
//}
#endregion
db.Transaction.Commit(); } catch (Exception ex) { db.Transaction.Rollback(); throw ex; } } #endregion
#region 工序结束
public static void CollectOPAllEnd(ICSLOTSIMULATION siminfo, ICSLOTONWIP wipinfo, string dsconn) { FramDataContext db = new FramDataContext(dsconn); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { #region ICSLOTSIMULATION表
if (siminfo != null) { var simline = db.ICSLOTSIMULATION.SingleOrDefault(a => a.LOTNO == siminfo.LOTNO && a.OPCODE == siminfo.OPCODE); simline.CollectStatus = "COLLECT_END"; simline.GOODQTY = simline.GOODQTY + siminfo.GOODQTY; simline.NGQTY = simline.NGQTY + siminfo.NGQTY;
db.SubmitChanges(); } #endregion
#region ICSLOTONWIP表
if (wipinfo == null) { throw new Exception("采集记录子表数据错误,开工失败"); } else { var wipline = db.ICSLOTONWIP.SingleOrDefault(a => a.ID == wipinfo.ID); if (wipline == null) { throw new Exception("采集记录子表ID错误,开工失败"); } else { wipline.ACTIONRESULT = wipinfo.ACTIONRESULT; wipline.LOTQTY = wipinfo.LOTQTY; wipline.NGQTY = wipinfo.NGQTY + wipline.NGQTY; wipline.GOODQTY = wipinfo.GOODQTY + wipline.GOODQTY; wipline.UserCodeEnd = wipinfo.UserCodeEnd; wipline.EndTime = wipinfo.EndTime; db.SubmitChanges(); } } #endregion
db.Transaction.Commit(); } catch (Exception ex) { db.Transaction.Rollback(); throw ex; } } #endregion
#region 工序暂停
public static void CollectOPPause(ICSLOTONWIP wipinfo, ICSLOTPAUSE ztinfo, string dsconn) { FramDataContext db = new FramDataContext(dsconn); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { #region ICSLOTONWIP表
var wipline = db.ICSLOTONWIP.SingleOrDefault(a => a.ID == wipinfo.ID); if (wipline == null) { throw new Exception("工序采集记录子表数据错误,暂停失败!"); } else { wipline.EATTRIBUTE1 = wipinfo.EATTRIBUTE1; } db.SubmitChanges(); #endregion
#region ICSLOTPAUSE表
var ztline = new ICSLOTPAUSE(); ztline.ID = ztinfo.ID; ztline.LOTNO = ztinfo.LOTNO; ztline.LOTSEQ = ztinfo.LOTSEQ; ztline.MOCODE = ztinfo.MOCODE; ztline.MODELCODE = ztinfo.MODELCODE; ztline.ITEMCODE = ztinfo.ITEMCODE; ztline.ROUTECODE = ztinfo.ROUTECODE; ztline.OPCODE = ztinfo.OPCODE; ztline.RESCODE = ztinfo.RESCODE; ztline.EQPCODE = ztinfo.EQPCODE; ztline.BeginTime = ztinfo.BeginTime; ztline.MUSER = ztinfo.MUSER; ztline.MUSERName = ztinfo.MUSERName; ztline.MTIME = ztinfo.MTIME; ztline.WorkPoint = ztinfo.WorkPoint; ztline.EATTRIBUTE1 = ztinfo.EATTRIBUTE1; db.ICSLOTPAUSE.InsertOnSubmit(ztline); db.SubmitChanges(); #endregion
db.Transaction.Commit(); } catch (Exception ex) { db.Transaction.Rollback(); throw ex; } } #endregion
#region 取消暂停
public static void CollectOPCancelPause(ICSLOTONWIP wipinfo, ICSLOTPAUSE ztinfo, string dsconn) { FramDataContext db = new FramDataContext(dsconn); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { #region ICSLOTONWIP表
var wipline = db.ICSLOTONWIP.SingleOrDefault(a => a.ID == wipinfo.ID); if (wipline == null) { throw new Exception("工序采集记录子表数据错误,暂停失败!"); } else { wipline.EATTRIBUTE1 = wipinfo.EATTRIBUTE1; } db.SubmitChanges(); #endregion
#region ICSLOTPAUSE表
//var ztline = db.ICSLOTPAUSE.SingleOrDefault(a => a.LOTNO == ztinfo.LOTNO && a.OPCODE == ztinfo.OPCODE && a.MUSER == ztinfo.MUSER);
var ztline = db.ICSLOTPAUSE.SingleOrDefault(a => a.LOTNO == ztinfo.LOTNO && a.OPCODE == ztinfo.OPCODE && a.MUSER == ztinfo.MUSER && (a.EndTime.ToString() == "" || a.EndTime.ToString() == null));
if (ztline == null) { throw new Exception("工序暂停记录表数据错误,取消暂停失败!"); } else { ztline.EndTime = ztinfo.EndTime; ztline.EATTRIBUTE1 = ztinfo.EATTRIBUTE1;
} db.SubmitChanges(); #endregion
db.Transaction.Commit(); } catch (Exception ex) { db.Transaction.Rollback(); throw ex; } } #endregion
#region 单件上岗
public static void CollectOPStartPrice(ICSLOTONWIPPriceLog wipinfo, string dsconn) { FramDataContext db = new FramDataContext(dsconn); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { #region ICSLOTSIMULATION表
if (wipinfo != null) { #region ICSLOTONWIP表
var wipline = new ICSLOTONWIPPriceLog(); wipline.ID = wipinfo.ID; wipline.LOTNO = wipinfo.LOTNO; wipline.LOTSEQ = wipinfo.LOTSEQ; wipline.MOCODE = wipinfo.MOCODE; wipline.MODELCODE = wipinfo.MODELCODE; wipline.ITEMCODE = wipinfo.ITEMCODE; ; wipline.ROUTECODE = wipinfo.ROUTECODE; wipline.OPCODE = wipinfo.OPCODE; wipline.EQPCODE = wipinfo.EQPCODE; wipline.SHIFTTYPECODE = wipinfo.SHIFTTYPECODE; wipline.ACTION = wipinfo.ACTION; wipline.ACTIONRESULT = wipinfo.ACTIONRESULT; wipline.NGTIMES = wipinfo.NGTIMES; wipline.MOSEQ = wipinfo.MOSEQ; wipline.Processed = wipinfo.Processed; wipline.LOTQTY = wipinfo.LOTQTY; wipline.GOODQTY = wipinfo.GOODQTY; wipline.NGQTY = wipinfo.NGQTY; wipline.SEQ = wipinfo.SEQ; wipline.UserCodeBegin = wipinfo.UserCodeBegin; wipline.UserCodeEnd = wipinfo.UserCodeEnd; wipline.BeginTime = wipinfo.BeginTime; wipline.EndTime = wipinfo.EndTime; wipline.MUSER = wipinfo.MUSER; wipline.MUSERName = wipinfo.MUSERName; wipline.MTIME = wipinfo.MTIME; wipline.WorkPoint = wipinfo.WorkPoint; wipline.EATTRIBUTE1 = wipinfo.EATTRIBUTE1; db.ICSLOTONWIPPriceLog.InsertOnSubmit(wipline); db.SubmitChanges(); #endregion
db.SubmitChanges(); } #endregion
db.Transaction.Commit(); } catch (Exception ex) { db.Transaction.Rollback(); throw ex; } } #endregion
#region 单件离岗
public static void CollectOPStartEnd(string UserCode, string EQPCode, string dsconn) { FramDataContext db = new FramDataContext(dsconn); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { //epList.OrderByDescending(x => x.value).FirstOrDefault()
//var line = db.ICSLOTONWIPPriceLog.OrderByDescending(q => q.BeginTime).SingleOrDefault(a => a.EQPCODE == EQPCode && a.UserCodeBegin == UserCode && a.ACTIONRESULT == "COLLECT_BEGIN");
string sql = @"SELECT TOP 1 ID FROM ICSLOTONWIPPriceLog WHERE UserCodeBegin='" + UserCode + "' AND EQPCODE='" + EQPCode + "' AND ACTIONRESULT='COLLECT_BEGIN' ORDER BY BeginTime DESC"; DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0]; string ID = string.Empty; if (dt != null && dt.Rows.Count > 0) { ID = dt.Rows[0][0].ToString(); } var line = db.ICSLOTONWIPPriceLog.SingleOrDefault(a => a.ID == ID); #region ICSLOTSIMULATION表
if (line != null) { #region ICSLOTONWIP表
line.ACTIONRESULT = "COLLECT_END"; line.UserCodeEnd = UserCode; line.EndTime = DateTime.Now;
db.SubmitChanges(); #endregion
db.Transaction.Commit(); } #endregion
} catch (Exception ex) { db.Transaction.Rollback(); throw ex; } }
public static void CollectOPStartEnd(ICSLOTONWIPPriceLog wipinfo, string dsconn) { FramDataContext db = new FramDataContext(dsconn); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { string sql = @"SELECT TOP 1 ID FROM ICSLOTONWIPPriceLog WHERE UserCodeBegin='" + wipinfo.UserCodeBegin + "' AND EQPCODE='" + wipinfo.EQPCODE + "' AND ACTIONRESULT='COLLECT_BEGIN' ORDER BY BeginTime DESC"; DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0]; string ID = string.Empty; if (dt != null && dt.Rows.Count > 0) { ID = dt.Rows[0][0].ToString(); } var line = db.ICSLOTONWIPPriceLog.SingleOrDefault(a => a.ID == ID); #region ICSLOTSIMULATION表
if (line != null) { #region ICSLOTONWIP表
line.LOTNO = wipinfo.LOTNO; line.LOTSEQ = wipinfo.LOTSEQ; line.MOCODE = wipinfo.MOCODE; line.ITEMCODE = wipinfo.ITEMCODE; line.ROUTECODE = wipinfo.ROUTECODE; line.OPCODE = wipinfo.OPCODE; line.EQPCODE = wipinfo.EQPCODE; line.ACTIONRESULT = wipinfo.ACTIONRESULT; line.MOSEQ = wipinfo.MOSEQ; line.SEQ = wipinfo.SEQ; line.UserCodeEnd = wipinfo.UserCodeEnd; line.EndTime = wipinfo.EndTime; line.MUSER = wipinfo.MUSER; line.MUSERName = wipinfo.MUSERName; line.MTIME = wipinfo.MTIME; line.WorkPoint = wipinfo.WorkPoint; db.SubmitChanges(); #endregion
db.Transaction.Commit(); } #endregion
} catch (Exception ex) { db.Transaction.Rollback(); throw ex; } } #endregion
//public ICSLOTONWIPPriceLog getICSLOTONWIPPriceLog(string UserCode,string EQPCode,string dsconn)
//{
// FramDataContext db = new FramDataContext(dsconn);
// db.Connection.Open();
// db.Transaction = db.Connection.BeginTransaction();
// try
// {
// var ztline = db.ICSLOTONWIPPriceLog.SingleOrDefault(a => a.LOTNO == ztinfo.LOTNO && a.OPCODE == ztinfo.OPCODE && a.MUSER == ztinfo.MUSER);
// }
// catch (Exception ex)
// {
// db.Transaction.Rollback();
// throw ex;
// }
//}
#region 检验数据
public static void AddAndEditList(ICSQualityCKDATA QualityCKDATA, List<ICSOQCCKGROUP2LISTCheckResult> ECCodeList, string Appconstr, bool isIPQC) { FramDataContext db = new FramDataContext(Appconstr); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { bool _isNew = true; ICSQualityCKDATA _line = new ICSQualityCKDATA(); var lines = db.ICSQualityCKDATA.Where(a => a.LOTNO == QualityCKDATA.LOTNO && a.OPCode == QualityCKDATA.OPCode); _line.ID = AppConfig.GetGuid(); _line.LOTNO = QualityCKDATA.LOTNO; _line.MOCODE = QualityCKDATA.MOCODE; _line.CKUserCode = QualityCKDATA.CKUserCode; _line.SEQ = QualityCKDATA.SEQ; _line.CKResult = QualityCKDATA.CKResult; _line.CKUserCode = QualityCKDATA.CKUserCode; _line.Type = QualityCKDATA.Type; _line.MEMO = QualityCKDATA.MEMO; _line.MUSER = AppConfig.UserId; _line.MUSERName = AppConfig.UserName; _line.MTIME = DateTime.Now; _line.WorkPoint = AppConfig.WorkPointCode; _line.EATTRIBUTE1 = QualityCKDATA.EATTRIBUTE1;
_line.OPCode = QualityCKDATA.OPCode;//20191114
_line.EATTRIBUTE2 = QualityCKDATA.EATTRIBUTE2; _line.EATTRIBUTE3 = QualityCKDATA.EATTRIBUTE3; _line.EATTRIBUTE4 = QualityCKDATA.EATTRIBUTE4; _line.EATTRIBUTE5 = QualityCKDATA.EATTRIBUTE5; _line.EATTRIBUTE6 = QualityCKDATA.EATTRIBUTE6; _line.EATTRIBUTE7 = QualityCKDATA.EATTRIBUTE7; _line.EATTRIBUTE8 = QualityCKDATA.EATTRIBUTE8; _line.RCVDoc = QualityCKDATA.RCVDoc; _line.RCVLineNo = QualityCKDATA.RCVLineNo;
if (_isNew) db.ICSQualityCKDATA.InsertOnSubmit(_line); db.SubmitChanges();
foreach (var ECCode in ECCodeList) { ICSOQCCKGROUP2LISTCheckResult line = null; bool isNew = false; if (isIPQC) { //line = db.ICSOQCCKGROUP2LISTCheckResult.SingleOrDefault(a => a.CKGROUP == ECCode.CKGROUP && a.GXorWWCheck == ECCode.GXorWWCheck && a.LotNo == ECCode.LotNo && a.OPCode == ECCode.OPCode && a.CKListCode == ECCode.CKListCode);
line = db.ICSOQCCKGROUP2LISTCheckResult.SingleOrDefault(a => a.GXorWWCheck == ECCode.GXorWWCheck && a.LotNo == ECCode.LotNo && a.OPCode == ECCode.OPCode && a.CKListCode == ECCode.CKListCode);
if (line == null) { isNew = true; line = new ICSOQCCKGROUP2LISTCheckResult(); line.ID = AppConfig.GetGuid(); } } else { //line = db.ICSOQCCKGROUP2LISTCheckResult.SingleOrDefault(a => a.CKGROUP == ECCode.CKGROUP && a.LotNo == ECCode.LotNo && a.OPCode == ECCode.OPCode && a.CKListCode == ECCode.CKListCode);
line = db.ICSOQCCKGROUP2LISTCheckResult.SingleOrDefault(a => a.LotNo == ECCode.LotNo && a.OPCode == ECCode.OPCode && a.CKListCode == ECCode.CKListCode);
if (line == null) { isNew = true; line = new ICSOQCCKGROUP2LISTCheckResult(); line.ID = AppConfig.GetGuid(); } }
//var code = db.ICSOQCCKGROUP2LISTCheckResult.SingleOrDefault(a => a.CKITEMCODE == ECCode.CKITEMCODE && a.CKListCode == ECCode.CKListCode && a.CKGROUP == ECCode.CKGROUP && a.OPCode == ECCode.OPCode && a.CheckoutAttribute == ECCode.CheckoutAttribute);
var code = db.ICSOQCCKGROUP2LISTCheckResult.SingleOrDefault(a => a.CKITEMCODE == ECCode.CKITEMCODE && a.CKListCode == ECCode.CKListCode && a.OPCode == ECCode.OPCode && a.CheckoutAttribute == ECCode.CheckoutAttribute);
if (code != null) { throw new Exception("料品编码码:" + ECCode.CKITEMCODE + ",检验项目组:" + ECCode.CKGROUP + ",检验项目:" + ECCode.CKListCode + ",检验属性:" + ECCode.CheckoutAttribute + "已存在!"); } line.CKListCode = ECCode.CKListCode; line.CKGROUP = ECCode.CKGROUP; line.CKITEMCODE = ECCode.CKITEMCODE; line.VALUEMAX = ECCode.VALUEMAX; line.VALUEMIN = ECCode.VALUEMIN; line.UNIT = ECCode.UNIT; line.AQL = ECCode.AQL; line.InspectionStandard = ECCode.InspectionStandard; line.CheckoutAttribute = ECCode.CheckoutAttribute; line.AQL = ECCode.AQL; line.InspectionStandard = ECCode.InspectionStandard; line.RCVCode = ECCode.RCVCode; line.LotNo = ECCode.LotNo; line.INVDESC = ECCode.INVDESC; line.IsOK = ECCode.IsOK; line.UserCode = ECCode.UserCode; line.MOCode = ECCode.MOCode; line.CheckResultValue = ECCode.CheckResultValue; line.CCorWGResult = ECCode.CCorWGResult; line.Qualified = ECCode.Qualified; line.UnQualified = ECCode.UnQualified; //line.WGResult = ECCode.WGResult;
line.UserCode = AppConfig.UserCode; line.MOCode = ECCode.MOCode; line.OPCode = ECCode.OPCode; line.GXorWWCheck = ECCode.GXorWWCheck;
line.WorkPoint = AppConfig.WorkPointCode; line.MUSER = AppConfig.UserCode; line.MUSERName = AppConfig.UserName; line.MTIME = DateTime.Now;
if (isNew) db.ICSOQCCKGROUP2LISTCheckResult.InsertOnSubmit(line);
#region Log
#endregion
}
db.SubmitChanges(); db.Transaction.Commit(); } catch (Exception ex) { db.Transaction.Rollback(); throw new Exception(ex.Message); } }
#endregion
public static void CollectOPPause(ICSLOTONWIPDetail wipinfo, ICSLOTPAUSE ztinfo, string dsconn) { throw new NotImplementedException(); } } }
|