|
|
using System; using System.Collections.Generic; using System.Linq; using System.Text; using ICSSoft.Frame.Data.Entity; using ICSSoft.Base.Config.AppConfig; using System.Data; using System.Data.Sql; using System.Data.Linq; using ICSSoft.Base.Config.DBHelper; using System.Data.SqlClient; using Newtonsoft.Json; using System.Configuration; //using ICSSoft.YT.Entity.OM_PO;
using System.Net; using System.IO; using ICSSoft.Frame.Data.Entity.OM_PO;
namespace ICSSoft.Frame.Data.DAL { public class ICSQualityCKDATADAL { #region 新增和修改
//public static void Add(ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATA QualityCKDATA, List<ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATADetail> QualityCKDATADetailList, string dsconn)
//{
// FramDataContext db = new FramDataContext(dsconn);
// db.Connection.Open();
// db.Transaction = db.Connection.BeginTransaction();
// try
// {
// bool isNew = true;
// ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATA line = new ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATA();
// line.ID = AppConfig.GetGuid();
// line.LOTNO = QualityCKDATA.LOTNO;
// line.MOCODE = QualityCKDATA.MOCODE;
// line.LOTSEQ = Convert.ToInt32(QualityCKDATA.LOTSEQ);
// var lines = db.ICSQualityCKDATA.Where(a => a.LOTNO == QualityCKDATA.LOTNO);
// line.SEQ = lines.Count() + 1;
// 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();
// //检验合格则回写首检结果为合格
// if (line.Type == "制程")
// {
// var lotFirstCheck = db.ICSLOTFirstCheck.FirstOrDefault(a => a.LOTNO == line.LOTNO);
// if (lotFirstCheck != null)
// {
// lotFirstCheck.CKResult = line.CKResult;
// db.SubmitChanges();
// }
// }
// foreach (ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATADetail factoryinfo in QualityCKDATADetailList)
// {
// bool isNewDetail = true;
// ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATADetail lineDetail = new ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATADetail();
// lineDetail.ID = AppConfig.GetGuid();
// lineDetail.DATAID = line.ID;
// lineDetail.CKItemID = factoryinfo.CKItemID;
// lineDetail.CKValue = factoryinfo.CKValue;
// lineDetail.CKResult = factoryinfo.CKResult;
// lineDetail.DECKResult = factoryinfo.DECKResult;
// lineDetail.Type = factoryinfo.Type;
// lineDetail.MEMO = factoryinfo.MEMO;
// lineDetail.MUSER = AppConfig.UserId;
// lineDetail.MUSERName = AppConfig.UserName;
// lineDetail.MTIME = DateTime.Now;
// lineDetail.WorkPoint = AppConfig.WorkPointCode;
// lineDetail.EATTRIBUTE1 = factoryinfo.EATTRIBUTE1;
// lineDetail.LotNo = QualityCKDATA.LOTNO;
// if (isNewDetail)
// db.ICSQualityCKDATADetail.InsertOnSubmit(lineDetail);
// db.SubmitChanges();
// }
// db.Transaction.Commit();
// }
// catch (Exception ex)
// {
// db.Transaction.Rollback();
// throw ex;
// }
//}
#endregion
#region 新增和修改 AddDetail
//public static void AddDetail(List<ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATADetail> QualityCKDATADetailList, string dsconn)
//{
// FramDataContext db = new FramDataContext(dsconn);
// db.Connection.Open();
// db.Transaction = db.Connection.BeginTransaction();
// try
// {
// foreach (ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATADetail factoryinfo in QualityCKDATADetailList)
// {
// bool isNewDetail = true;
// ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATADetail lineDetail = new ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATADetail();
// lineDetail.ID = AppConfig.GetGuid();
// lineDetail.DATAID = factoryinfo.DATAID;
// lineDetail.CKItemID = factoryinfo.CKItemID;
// lineDetail.CKValue = factoryinfo.CKValue;
// lineDetail.CKResult = factoryinfo.CKResult;
// lineDetail.DECKResult = factoryinfo.DECKResult;
// lineDetail.Type = factoryinfo.Type;
// lineDetail.MEMO = factoryinfo.MEMO;
// lineDetail.MUSER = AppConfig.UserId;
// lineDetail.MUSERName = AppConfig.UserName;
// lineDetail.MTIME = DateTime.Now;
// lineDetail.WorkPoint = AppConfig.WorkPointCode;
// lineDetail.EATTRIBUTE1 = factoryinfo.EATTRIBUTE1;
// lineDetail.LotNo = factoryinfo.LotNo;
// lineDetail.EATTRIBUTE2 = factoryinfo.EATTRIBUTE2;
// lineDetail.EATTRIBUTE3 = factoryinfo.EATTRIBUTE3;
// lineDetail.EATTRIBUTE4 = factoryinfo.EATTRIBUTE4;
// lineDetail.LotNo = factoryinfo.LotNo;
// if (isNewDetail)
// db.ICSQualityCKDATADetail.InsertOnSubmit(lineDetail);
// db.SubmitChanges();
// }
// db.Transaction.Commit();
// }
// catch (Exception ex)
// {
// db.Transaction.Rollback();
// throw ex;
// }
//}
#endregion
#region 新增和修改(油漆)
//public static void AddYQ(ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATA QualityCKDATA, List<ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATADetail> QualityCKDATADetailList, string dsconn)
//{
// FramDataContext db = new FramDataContext(dsconn);
// db.Connection.Open();
// db.Transaction = db.Connection.BeginTransaction();
// try
// {
// bool isNew = false;
// var line = db.ICSQualityCKDATA.SingleOrDefault(a => a.LOTNO == QualityCKDATA.LOTNO && a.SEQ == QualityCKDATA.SEQ);
// if (line == null)
// {
// isNew = true;
// line = new ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATA();
// line.ID = AppConfig.GetGuid();
// }
// line.LOTNO = QualityCKDATA.LOTNO;
// line.MOCODE = QualityCKDATA.MOCODE;
// line.LOTSEQ = Convert.ToInt32(QualityCKDATA.LOTSEQ);
// 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;
// if (isNew)
// db.ICSQualityCKDATA.InsertOnSubmit(line);
// db.SubmitChanges();
// foreach (ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATADetail factoryinfo in QualityCKDATADetailList)
// {
// bool isNewDetail = true;
// ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATADetail lineDetail = new ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATADetail();
// lineDetail.ID = AppConfig.GetGuid();
// lineDetail.DATAID = line.ID;
// lineDetail.CKItemID = factoryinfo.CKItemID;
// lineDetail.CKValue = factoryinfo.CKValue;
// lineDetail.CKResult = factoryinfo.CKResult;
// lineDetail.DECKResult = factoryinfo.DECKResult;
// lineDetail.Type = factoryinfo.Type;
// lineDetail.MEMO = factoryinfo.MEMO;
// lineDetail.MUSER = AppConfig.UserId;
// lineDetail.MUSERName = AppConfig.UserName;
// lineDetail.MTIME = DateTime.Now;
// lineDetail.WorkPoint = AppConfig.WorkPointCode;
// lineDetail.EATTRIBUTE1 = factoryinfo.EATTRIBUTE1;
// lineDetail.LotNo = QualityCKDATA.LOTNO;
// if (isNewDetail)
// db.ICSQualityCKDATADetail.InsertOnSubmit(lineDetail);
// db.SubmitChanges();
// }
// db.Transaction.Commit();
// }
// catch (Exception ex)
// {
// db.Transaction.Rollback();
// throw ex;
// }
//}
#endregion
#region 提交(油漆)
public static void Submit(string lotno, int seq, string dsconn) { //FramDataContext db = new FramDataContext(dsconn);
//db.Connection.Open();
//db.Transaction = db.Connection.BeginTransaction();
//try
//{
// var line = db.ICSQualityCKDATA.SingleOrDefault(a => a.LOTNO == lotno && a.SEQ == seq);
// line.MEMO = "提交";
// db.SubmitChanges();
// db.Transaction.Commit();
//}
//catch (Exception ex)
//{
// db.Transaction.Rollback();
// throw ex;
//}
} #endregion
#region 新增NG数据
//public static void AddNGQty(string NewLotNo, ICSQualityNGData ngdata, string dsconn)
//{
// FramDataContext db = new FramDataContext(dsconn);
// db.Connection.Open();
// db.Transaction = db.Connection.BeginTransaction();
// try
// {
// bool isNew = true;
// ICSQualityNGData line = new ICSQualityNGData();
// line.ID = AppConfig.GetGuid();
// line.LOTNO = ngdata.LOTNO;
// line.SEQ = ngdata.SEQ;
// line.NGQty = ngdata.NGQty;
// line.MEMO = ngdata.MEMO;
// line.MUSER = AppConfig.UserCode;
// line.MUSERName = AppConfig.UserName;
// line.MTIME = DateTime.Now;
// line.WorkPoint = AppConfig.WorkPointCode;
// line.EATTRIBUTE1 = "";
// if (isNew)
// db.ICSQualityNGData.InsertOnSubmit(line);
// //NG数据生成新条码
// var line1 = db.WM_BarCode.SingleOrDefault(a => a.BarCodeNo == ngdata.LOTNO);
// string SelectID = line1.guid;
// string SrcType = line1.SrcType;
// string Srcguid = line1.Srcguid;
// string RCVShipguid = line1.RCVShipguid;
// string ItemGuid = line1.ItemGuid;
// string ItemCode = line1.ItemCode;
// string ItemName = line1.ItemName;
// string BarCodeStatus = line1.BarCodeStatus;
// string WorkPointCode = line1.WorkPointCode;
// bool Isnew = false;
// string Serial = AppConfig.GetGuid();
// var Newline = db.WM_BarCode.SingleOrDefault(a => a.guid == Serial);
// if (Newline == null)
// {
// Isnew = true;
// Newline = new WM_BarCode();
// Newline.guid = Serial;
// Newline.SrcType = SrcType;
// Newline.Srcguid = Srcguid;
// Newline.RCVShipguid = RCVShipguid;
// Newline.BarCodeNo = NewLotNo;
// Newline.BarCodeQty = decimal.Parse(ngdata.NGQty.ToString());
// Newline.ItemGuid = ItemGuid;
// Newline.ItemCode = ItemCode;
// Newline.ItemName = ItemName;
// Newline.WorkPointCode = AppConfig.WorkPointCode;
// Newline.BarCodeStatus = BarCodeStatus;
// Newline.MUSERCode = AppConfig.UserCode;
// Newline.MUSERName = AppConfig.UserName;
// Newline.MTIME = AppConfig.GetSeverDateTime("yyyy-MM-dd HH:mm:ss");
// }
// if (Isnew)
// db.WM_BarCode.InsertOnSubmit(Newline);
// bool barcodeRecordIsNew = false;
// //记录已经拆分的条码
// string barcodeRecordId = AppConfig.GetGuid();
// var barcodeRecord = db.ICSBarcodeRecord.SingleOrDefault(a => a.ID == barcodeRecordId);
// if (barcodeRecord == null)
// {
// barcodeRecordIsNew = true;
// barcodeRecord = new ICSBarcodeRecord();
// barcodeRecord.ID = Serial;
// barcodeRecord.OldLotNo = ngdata.LOTNO;
// barcodeRecord.Qty = decimal.Parse(ngdata.NGQty.ToString());
// barcodeRecord.NewLotNo = NewLotNo;
// barcodeRecord.MUSER = AppConfig.UserCode;
// barcodeRecord.MUSERName = AppConfig.UserName;
// barcodeRecord.MTIME = AppConfig.GetSeverDateTime("yyyy-MM-dd HH:mm:ss");
// }
// if (barcodeRecordIsNew)
// db.ICSBarcodeRecord.InsertOnSubmit(barcodeRecord);
// db.SubmitChanges();
// db.Transaction.Commit();
// }
// catch (Exception ex)
// {
// db.Transaction.Rollback();
// throw ex;
// }
//}
#endregion
#region 新增放行
public static void AddThrough(List<ICSQualityCKDATA> codeList, string dsconn) { FramDataContext db = new FramDataContext(dsconn); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try {
foreach (ICSQualityCKDATA code in codeList) { string _ID = AppConfig.GetGuid(); ICSQualityCKDATA line = new ICSQualityCKDATA(); line.ID = _ID; line.LOTNO = code.LOTNO; line.MOCODE = code.MOCODE; line.LOTSEQ = code.SEQ; line.OPCode = code.OPCode; line.CKResult = "1"; line.CKUserCode = AppConfig.UserCode; line.Type = "制程"; line.MEMO = ""; line.MUSER = AppConfig.UserId; line.MUSERName = AppConfig.UserName; line.MTIME = DateTime.Now; line.WorkPoint = AppConfig.WorkPointCode; line.EATTRIBUTE1 = ""; line.EATTRIBUTE3 = code.EATTRIBUTE3;
db.ICSQualityCKDATA.InsertOnSubmit(line); db.SubmitChanges(); var dlines = db.ICSQualityCKDATADetail.Where(a => a.LotNo == code.LOTNO); if (dlines != null && dlines.Count() > 0) { foreach (ICSQualityCKDATADetail item in dlines) { item.DATAID = _ID; db.SubmitChanges(); } } }
db.Transaction.Commit(); } catch (Exception ex) { db.Transaction.Rollback(); throw ex; } } #endregion
#region 判断条码是否都已经放行
public static bool ISAllCheck(string Lotno, string dsconn) { string selectSql = @"
select b.* from [dbo].[WM_BarCode] a inner join [dbo].[WM_RCVShip] b on a.Srcguid = b.[guid] where a.BarCodeNo = '" + Lotno + "'";
DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, selectSql).Tables[0]; if (dt.Rows.Count <= 0)//表示还有数据未检验
{ throw new Exception("报检单不存在!"); }
selectSql = @"
select Count(isnull(C.LotNo,'')) as CNum from [dbo].[WM_RCVShip] a Left Join [dbo].[WM_BarCode] b on b.Srcguid = a.[guid] Left join ( select b.* from (select Max(SEQ) as SEQ,LOTNO from [ICSQualityCKDATA] group by LOTNO) a inner join [ICSQualityCKDATA] b on b.LOTNO=a.LOTNO and a.SEQ=b.SEQ) c on c.LotNo = b.BarCodeNo where a.RcvDocNo = '" + dt.Rows[0]["RcvDocNo"].ToString() + "' and a.RcvLineNo =" + dt.Rows[0]["RcvLineNo"].ToString() + " And C.LotNo is null ";
dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, selectSql).Tables[0]; if (int.Parse(dt.Rows[0]["CNum"].ToString()) <= 0)//表示全部已检验
{ return true; } else { return false; } }
public static bool ISAllCheck(string RcvDocNo, string RcvLineNo, string dsconn) { try { string selectSql = @"
select Count(isnull(C.LotNo,'')) as CNum from [dbo].[WM_RCVShip] a Left Join [dbo].[WM_BarCode] b on b.Srcguid = a.[guid] Left join ( select b.* from (select Max(SEQ) as SEQ,LOTNO from [ICSQualityCKDATA] group by LOTNO) a inner join [ICSQualityCKDATA] b on b.LOTNO=a.LOTNO and a.SEQ=b.SEQ) c on c.LotNo = b.BarCodeNo where a.RcvDocNo = '" + RcvDocNo + "' and a.RcvLineNo =" + RcvLineNo + " And C.LotNo is null ";
DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, selectSql).Tables[0]; if (int.Parse(dt.Rows[0]["CNum"].ToString()) <= 0)//表示全部已检验
{ return true; } else { return false; } } catch (Exception ex) { throw ex; } }
#endregion
#region 新增判退
public static void AddReturn(List<ICSQualityCKDATA> codeList, string dsconn, string reason) { FramDataContext db = new FramDataContext(dsconn); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { foreach (ICSQualityCKDATA model in codeList) { ICSQualityCKDATA line = new ICSQualityCKDATA(); line.ID = AppConfig.GetGuid(); line.LOTNO = model.LOTNO; line.MOCODE = model.MOCODE; line.LOTSEQ = model.SEQ; line.CKResult = "0"; line.CKUserCode = AppConfig.UserCode; //line.Type = "来料";
line.Type = "制程"; line.OPCode = model.OPCode;
line.MEMO = ""; line.MUSER = AppConfig.UserId; line.MUSERName = AppConfig.UserName; line.MTIME = DateTime.Now; line.WorkPoint = AppConfig.WorkPointCode; line.EATTRIBUTE1 = ""; db.SubmitChanges();
}
db.Transaction.Commit(); } catch (Exception ex) { db.Transaction.Rollback(); throw ex; } } #endregion
#region 新增判退WX
//public static void AddReturn_WX(List<ICSQualityCKDATA> codeList, string dsconn, string reason)
//{
// FramDataContext db = new FramDataContext(dsconn);
// db.Connection.Open();
// db.Transaction = db.Connection.BeginTransaction();
// try
// {
// foreach (ICSQualityCKDATA code in codeList)
// {
// ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATA line = new ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATA();
// line.ID = AppConfig.GetGuid();
// line.LOTNO = code.LOTNO;
// line.MOCODE = code.MOCODE;
// line.LOTSEQ = 0;
// line.CKResult = "0";
// line.OPCode = code.OPCode;
// line.CKUserCode = AppConfig.UserCode;
// line.Type = "外协";
// line.MEMO = "";
// line.MUSER = AppConfig.UserId;
// line.MUSERName = AppConfig.UserName;
// line.MTIME = DateTime.Now;
// line.WorkPoint = AppConfig.WorkPointCode;
// line.EATTRIBUTE1 = "";
// line.RCVDoc = code.RCVDoc;
// line.RCVLineNo = code.RCVLineNo;
// line.EATTRIBUTE2 = code.EATTRIBUTE2;
// line.EATTRIBUTE3 = code.EATTRIBUTE3;
// line.EATTRIBUTE4 = code.EATTRIBUTE4;
// line.EATTRIBUTE5 = code.EATTRIBUTE5;
// line.EATTRIBUTE6 = code.EATTRIBUTE6;
// line.EATTRIBUTE7 = code.EATTRIBUTE7;
// line.EATTRIBUTE8 = code.EATTRIBUTE8;
// db.ICSQualityCKDATA.InsertOnSubmit(line);
// ICSQualityCKItem detail = GetCKItemOther("外协", dsconn);
// ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATADetail lineDetail = new ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATADetail();
// lineDetail.ID = AppConfig.GetGuid();
// lineDetail.DATAID = line.ID;
// lineDetail.CKItemID = detail.ID;
// lineDetail.CKValue = reason;
// lineDetail.CKResult = "0";
// lineDetail.DECKResult = "0";
// lineDetail.Type = detail.CKFirstClass;
// lineDetail.MEMO = "";
// lineDetail.MUSER = AppConfig.UserId;
// lineDetail.MUSERName = AppConfig.UserName;
// lineDetail.MTIME = DateTime.Now;
// lineDetail.WorkPoint = AppConfig.WorkPointCode;
// lineDetail.EATTRIBUTE1 = "";
// lineDetail.LotNo = code.LOTNO;
// db.ICSQualityCKDATADetail.InsertOnSubmit(lineDetail);
// db.SubmitChanges();
// }
// db.Transaction.Commit();
// }
// catch (Exception ex)
// {
// db.Transaction.Rollback();
// throw ex;
// }
//}
#endregion
#region 新增判退CP
//public static void AddReturn_CP(List<ICSQualityCKDATA> codeList, string dsconn, string reason)
//{
// FramDataContext db = new FramDataContext(dsconn);
// db.Connection.Open();
// db.Transaction = db.Connection.BeginTransaction();
// try
// {
// foreach (ICSQualityCKDATA code in codeList)
// {
// ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATA line = new ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATA();
// line.ID = AppConfig.GetGuid();
// line.LOTNO = code.LOTNO;
// line.MOCODE = code.MOCODE;
// line.LOTSEQ = 0;
// line.CKResult = "0";
// line.CKUserCode = AppConfig.UserCode;
// line.Type = "成品";
// line.OPCode = code.OPCode;
// line.MEMO = "";
// line.MUSER = AppConfig.UserId;
// line.MUSERName = AppConfig.UserName;
// line.MTIME = DateTime.Now;
// line.WorkPoint = AppConfig.WorkPointCode;
// line.EATTRIBUTE1 = "";
// db.ICSQualityCKDATA.InsertOnSubmit(line);
// ICSQualityCKItem detail = GetCKItemOther("成品", dsconn);
// ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATADetail lineDetail = new ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATADetail();
// lineDetail.ID = AppConfig.GetGuid();
// lineDetail.DATAID = line.ID;
// lineDetail.CKItemID = detail.ID;
// lineDetail.CKValue = reason;
// lineDetail.CKResult = "0";
// lineDetail.DECKResult = "0";
// lineDetail.Type = detail.CKFirstClass;
// lineDetail.MEMO = "";
// lineDetail.MUSER = AppConfig.UserId;
// lineDetail.MUSERName = AppConfig.UserName;
// lineDetail.MTIME = DateTime.Now;
// lineDetail.WorkPoint = AppConfig.WorkPointCode;
// lineDetail.EATTRIBUTE1 = "";
// lineDetail.LotNo = code.LOTNO;
// db.ICSQualityCKDATADetail.InsertOnSubmit(lineDetail);
// db.SubmitChanges();
// }
// db.Transaction.Commit();
// }
// catch (Exception ex)
// {
// db.Transaction.Rollback();
// throw ex;
// }
//}
#endregion
#region 新增判退ZC
//public static void AddReturn_ZC(List<ICSQualityCKDATA> codeList, string dsconn, string reason)
//{
// FramDataContext db = new FramDataContext(dsconn);
// db.Connection.Open();
// db.Transaction = db.Connection.BeginTransaction();
// try
// {
// foreach (ICSQualityCKDATA code in codeList)
// {
// ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATA line = new ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATA();
// line.ID = AppConfig.GetGuid();
// line.LOTNO = code.LOTNO;
// line.MOCODE = code.MOCODE;
// line.LOTSEQ = 0;
// line.CKResult = "0";
// line.CKUserCode = AppConfig.UserCode;
// line.Type = "制程";
// line.OPCode = code.OPCode;
// line.MEMO = "";
// line.MUSER = AppConfig.UserId;
// line.MUSERName = AppConfig.UserName;
// line.MTIME = DateTime.Now;
// line.WorkPoint = AppConfig.WorkPointCode;
// line.EATTRIBUTE1 = "";
// db.ICSQualityCKDATA.InsertOnSubmit(line);
// ICSQualityCKItem detail = GetCKItemOther("制程", dsconn);
// ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATADetail lineDetail = new ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATADetail();
// lineDetail.ID = AppConfig.GetGuid();
// lineDetail.DATAID = line.ID;
// lineDetail.CKItemID = detail.ID;
// lineDetail.CKValue = reason;
// lineDetail.CKResult = "0";
// lineDetail.DECKResult = "0";
// lineDetail.Type = detail.CKFirstClass;
// lineDetail.MEMO = "";
// lineDetail.MUSER = AppConfig.UserId;
// lineDetail.MUSERName = AppConfig.UserName;
// lineDetail.MTIME = DateTime.Now;
// lineDetail.WorkPoint = AppConfig.WorkPointCode;
// lineDetail.EATTRIBUTE1 = "";
// lineDetail.LotNo = code.LOTNO;
// db.ICSQualityCKDATADetail.InsertOnSubmit(lineDetail);
// db.SubmitChanges();
// }
// db.Transaction.Commit();
// }
// catch (Exception ex)
// {
// db.Transaction.Rollback();
// throw ex;
// }
//}
#endregion
#region 新增判退/放行 工序检验
#region 新增判退/放行 工序检验
public static void AddCK_GXJY(List<ICSQualityCKDATA> ckList, string dsconn, string reason,int GXOrWW) { FramDataContext db = new FramDataContext(dsconn); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { List<string> idList = new List<string>(); foreach (ICSQualityCKDATA code in ckList) { ICSQualityCKDATA line = new ICSQualityCKDATA(); line.ID = AppConfig.GetGuid(); line.LOTNO = code.LOTNO; line.MOCODE = code.MOCODE; line.LOTSEQ = 0; var lines = db.ICSQualityCKDATA.Where(a => a.LOTNO == code.LOTNO); line.SEQ = lines.Count() + 1; line.CKResult = code.CKResult; line.CKUserCode = AppConfig.UserCode; line.OPCode = code.OPCode; line.Type = "工序检验"; line.MEMO = ""; line.MUSER = AppConfig.UserId; line.MUSERName = AppConfig.UserName; line.MTIME = DateTime.Now; line.WorkPoint = AppConfig.WorkPointCode; line.EATTRIBUTE1 = "";
db.ICSQualityCKDATA.InsertOnSubmit(line); var items = db.ICSLOTONWIP.Where(a => a.LOTNO == line.LOTNO && a.OPCODE == line.OPCode); var itemInfo = items.First(); //ICSINVENTORY item=
//ICSQualityCKItem detail = GetCKItemOther("工序检验", dsconn);
ICSOQCCKLIST detail = GetCKItemOP("工序检验", itemInfo.ITEMCODE, dsconn);
ICSQualityCKDATADetail lineDetail = new ICSQualityCKDATADetail(); lineDetail.ID = AppConfig.GetGuid(); lineDetail.DATAID = line.ID; if (detail != null) { lineDetail.CKItemID = detail.ID; lineDetail.Type = "工序检验"; } lineDetail.CKValue = reason; lineDetail.CKResult = code.CKResult; lineDetail.DECKResult = code.CKResult; lineDetail.MEMO = ""; lineDetail.MUSER = AppConfig.UserId; lineDetail.MUSERName = AppConfig.UserName; lineDetail.MTIME = DateTime.Now; lineDetail.WorkPoint = AppConfig.WorkPointCode; lineDetail.EATTRIBUTE1 = ""; lineDetail.LotNo = code.LOTNO; db.ICSQualityCKDATADetail.InsertOnSubmit(lineDetail);
ICSLOTONWIP onwipNew = db.ICSLOTONWIP.Where(a => a.LOTNO == code.LOTNO && a.OPCODE == code.OPCode).OrderByDescending(a => a.MTIME).FirstOrDefault();
ICSLOTONWIPCheck check = db.ICSLOTONWIPCheck.Where(a => a.ONWIPID == onwipNew.ID).SingleOrDefault(); bool isnew = false; if (check == null) { check = new ICSLOTONWIPCheck(); check.ID = AppConfig.GetGuid(); check.ONWIPID = onwipNew.ID;// line.ID;
isnew = true; }
check.Result = "不合格"; check.MUSER = AppConfig.UserId; check.MUSERName = AppConfig.UserName; check.MTIME = DateTime.Now; check.WorkPoint = AppConfig.WorkPointCode;
if (isnew) db.ICSLOTONWIPCheck.InsertOnSubmit(check); db.SubmitChanges();
idList.Add(check.ID); } if (GXOrWW == 1) { if (idList != null && idList.Count > 0) { Calculate(db, idList, "不合格"); } }
db.Transaction.Commit(); } catch (Exception ex) { db.Transaction.Rollback(); throw ex; } }
#region 新增放行工序检验
public static void AddThroughOP(List<ICSQualityCKDATA> codeList, string dsconn, int GXOrWW) { FramDataContext db = new FramDataContext(dsconn); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); List<string> idList = new List<string>(); try { foreach (ICSQualityCKDATA data in codeList) { //不能重复保存,只能保留一条数据20120712 可以重复放行,但是只能保留一条数据,但是下道工序还没有开工
var lines = db.ICSQualityCKDATA.Where(a => a.LOTNO == data.LOTNO && a.OPCode == data.OPCode).FirstOrDefault();
if (lines == null) {
bool isnew = false; ICSQualityCKDATA line = new ICSQualityCKDATA(); line.ID = AppConfig.GetGuid(); line.LOTNO = data.LOTNO; line.MOCODE = data.MOCODE; var _lines = db.ICSQualityCKDATA.Where(a => a.LOTNO == data.LOTNO); line.SEQ = _lines.Count() + 1; var lineslot = db.ICSITEMLot.SingleOrDefault(a => a.LotNO == data.LOTNO); if (lineslot != null) { line.LOTSEQ = Int32.Parse(lineslot.TransLine); } line.CKResult = "1"; line.CKUserCode = AppConfig.UserCode; if (GXOrWW == 1) { line.Type = "委外检验"; } else line.Type = "工序检验";
line.MUSER = AppConfig.UserId; line.MUSERName = AppConfig.UserName; line.MTIME = DateTime.Now; line.WorkPoint = AppConfig.WorkPointCode; line.OPCode = data.OPCode; line.EATTRIBUTE1 = data.EATTRIBUTE1; line.EATTRIBUTE2 = data.EATTRIBUTE2; line.EATTRIBUTE3 = data.EATTRIBUTE3; line.EATTRIBUTE4 = data.EATTRIBUTE4;
ICSLOTONWIP onwipNew = db.ICSLOTONWIP.Where(a => a.LOTNO == data.LOTNO && a.OPCODE == data.OPCode).OrderByDescending(a => a.MTIME).FirstOrDefault();
ICSLOTONWIPCheck check = db.ICSLOTONWIPCheck.Where(a => a.ONWIPID == onwipNew.ID).SingleOrDefault();
if (check == null) { check = new ICSLOTONWIPCheck(); check.ID = AppConfig.GetGuid(); check.ONWIPID = onwipNew.ID;// line.ID;
isnew = true; }
check.Result = "合格"; check.MUSER = AppConfig.UserId; check.MUSERName = AppConfig.UserName; check.MTIME = DateTime.Now; check.WorkPoint = AppConfig.WorkPointCode; if (GXOrWW == 1) { idList.Add(check.ID); }
db.ICSQualityCKDATA.InsertOnSubmit(line); if (isnew) db.ICSLOTONWIPCheck.InsertOnSubmit(check); db.SubmitChanges();
} else { //ICSQualityCKDATA line = new ICSQualityCKDATA();
//lines.ID = data.ID;
lines.LOTNO = data.LOTNO; lines.MOCODE = data.MOCODE; var _lines = db.ICSQualityCKDATA.Where(a => a.LOTNO == data.LOTNO); lines.SEQ = _lines.Count() + 1; bool isnew = false; var lineslot = db.ICSITEMLot.SingleOrDefault(a => a.LotNO == data.LOTNO); if (lineslot != null) { lines.LOTSEQ = Int32.Parse(lineslot.TransLine); } lines.CKResult = "1"; lines.CKUserCode = AppConfig.UserCode; if (GXOrWW == 0) { lines.Type = "工序检验"; } else { lines.Type = "委外检验"; }
lines.MUSER = AppConfig.UserId; lines.MUSERName = AppConfig.UserName; lines.MTIME = DateTime.Now; lines.WorkPoint = AppConfig.WorkPointCode; lines.OPCode = data.OPCode; lines.EATTRIBUTE1 = data.EATTRIBUTE1; lines.EATTRIBUTE2 = data.EATTRIBUTE2; lines.EATTRIBUTE3 = data.EATTRIBUTE3; lines.EATTRIBUTE4 = data.EATTRIBUTE4;
ICSLOTONWIP onwipNew = db.ICSLOTONWIP.Where(a => a.LOTNO == data.LOTNO && a.OPCODE == data.OPCode).OrderByDescending(a => a.MTIME).FirstOrDefault();
ICSLOTONWIPCheck check = db.ICSLOTONWIPCheck.Where(a => a.ONWIPID == onwipNew.ID).SingleOrDefault();
if (check == null) { check = new ICSLOTONWIPCheck(); check.ID = AppConfig.GetGuid(); check.ONWIPID = onwipNew.ID;// line.ID;
isnew = true; }
check.Result = "合格"; check.MUSER = AppConfig.UserId; check.MUSERName = AppConfig.UserName; check.MTIME = DateTime.Now; check.WorkPoint = AppConfig.WorkPointCode; if (GXOrWW == 1) { idList.Add(check.ID); }
if (isnew) db.ICSLOTONWIPCheck.InsertOnSubmit(check); db.SubmitChanges();
} db.SubmitChanges(); } if (GXOrWW == 1) { if (idList != null && idList.Count > 0) { db.SubmitChanges(); Calculate(db, idList, "合格"); } } db.SubmitChanges(); db.Transaction.Commit(); } catch (Exception ex) { db.Transaction.Rollback(); throw ex; } }
#endregion
#region 撤销放行工序
public static void BackThroughOP(List<ICSQualityCKDATA> codeList, string dsconn) { FramDataContext db = new FramDataContext(dsconn); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { foreach (var ckdata in codeList) { db.ICSQualityCKDATA.DeleteAllOnSubmit(db.ICSQualityCKDATA.Where(a=>a.LOTNO==ckdata.LOTNO &&a.OPCode==ckdata.OPCode)); db.ICSLOTONWIP.Where(a => a.LOTNO == ckdata.LOTNO && a.OPCODE == a.OPCODE && string.IsNullOrEmpty(a.EATTRIBUTE1)); var obj=db.ICSLOTONWIPCheck.Join(db.ICSLOTONWIP.Where(C => C.LOTNO == ckdata.LOTNO && C.OPCODE == ckdata.OPCode && (C.EATTRIBUTE1==null||C.EATTRIBUTE1=="")), A => A.ONWIPID, B => B.ID, (A, B) => A ); db.ICSLOTONWIPCheck.DeleteAllOnSubmit(obj); db.SubmitChanges();
} db.Transaction.Commit(); } catch (Exception ex) { db.Transaction.Rollback(); throw ex; }
} #endregion
#endregion
#endregion
//结算料费
public static void Calculate(FramDataContext db, List<string> list, string Result) { try { #region old
//调用接口生成三个单据
//if (Convert.ToBoolean(ConfigurationManager.AppSettings["IsOpen"]))
//{
// var data = from a in db.ICSLOTONWIPCheck
// join b in db.ICSLOTONWIP on a.ONWIPID equals b.ID
// join c in db.ICSITEMLot on b.LOTNO equals c.LotNO
// join d in db.ICSMO on c.TransNO + c.TransLine equals d.MOCODE + d.MOSEQ
// join e in db.ICSWareHouseLotInfoLog on b.LOTNO + b.OPCODE equals e.LotNO + e.Memo
// join f in db.ICSPO_PoMain on e.TransNO + e.TransLine equals f.POCode + f.PORow
// where list.Contains(a.ID) && e.BusinessCode == "委外发料" && e.TransType == "收" && a.Result == Result
// orderby f.WBS, d.EATTRIBUTE1
// select new
// {
// CheckID = a.ID,
// UserCode = AppConfig.UserCode,
// POID = f.WBS,
// //cIWhCode = ConfigurationManager.AppSettings["WHCode"].ToString(),
// //cOWhCode = ConfigurationManager.AppSettings["WHCode"].ToString(),
// cIWhCode = ConfigurationManager.AppSettings["WHICode"].ToString(),
// cOWhCode = ConfigurationManager.AppSettings["WHOCode"].ToString(),
// //MODId = d.EATTRIBUTE1,
// MODId = d.ID,
// ID = f.Free5,
// cInvCode = b.ITEMCODE + "_" + b.OPCODE,
// iQuantity = b.LOTQTY ?? 0,
// //iNum = (Convert.ToDecimal(b.LOTQTY ?? 0) * Convert.ToDecimal(c.EATTRIBUTE1 ?? "0")),
// iNum = d.MOSEQ,
// cBatch = c.VenderLotNO,
// };
// if (data != null && data.Count() > 0)
// {
// List<OM_POmain> headList = new List<OM_POmain>();
// OM_POmain head = new OM_POmain();
// string key = "";
// foreach (var info in data)
// {
// ICSLOTONWIPCheck line = db.ICSLOTONWIPCheck.SingleOrDefault(a => a.ID == info.CheckID);
// if (line == null)
// {
// throw new Exception("检验信息不存在!");
// }
// line.IsInput = true;
// line.MUSER = AppConfig.UserCode;
// line.MUSERName = AppConfig.UserName;
// line.MTIME = DateTime.Now;
// line.WorkPoint = AppConfig.WorkPointCode;
// if (!key.Equals(info.UserCode + info.POID + info.cIWhCode + info.cOWhCode + info.MODId))
// {
// if (key != "")
// headList.Add(head);
// key = info.UserCode + info.POID + info.cIWhCode + info.cOWhCode + info.MODId;
// head = new OM_POmain();
// head.UserCode = AppConfig.UserName;
// head.POID = info.POID;
// head.cIWhCode = info.cIWhCode;
// head.cOWhCode = info.cOWhCode;
// head.MODId = info.MODId;
// head.list = new List<OM_PODetails>();
// }
// OM_PODetails body = new OM_PODetails();
// body.ID = info.ID;
// body.cInvCode = info.cInvCode;
// body.iQuantity = Convert.ToDecimal(info.iQuantity);
// body.iNum = Decimal.Parse(info.iNum);
// body.cBatch = info.cBatch;
// head.list.Add(body);
// }
// headList.Add(head);
// string Istr = JsonConvert.SerializeObject(headList);
// string iresult = HttpPost(System.Configuration.ConfigurationSettings.AppSettings["APIURL"].ToString() + "APIOM_POMain", Istr);
// //string iresult = HttpPost("http://localhost:51182/api/" + "APIOM_POMain", Istr);
// Result INVOUTResult = new Result();
// INVOUTResult = JsonConvert.DeserializeObject<Result>(iresult);
// if (INVOUTResult.code != "200")
// {
// throw new Exception(INVOUTResult.msg);
// }
// }
// else {
// throw new Exception("放行失败!U8未生成单据!");
// }
//}
#endregion
} catch (Exception ex) { throw ex; } }
public static string HttpPost(string url, string body) { try { Encoding encoding = Encoding.UTF8; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = "POST"; request.Accept = "application/json, text/javascript, */*"; //"text/html, application/xhtml+xml, */*";
request.ContentType = "application/json; charset=utf-8";
byte[] buffer = encoding.GetBytes(body); request.ContentLength = buffer.Length; request.GetRequestStream().Write(buffer, 0, buffer.Length); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); using (StreamReader reader = new StreamReader(response.GetResponseStream(), encoding)) { return reader.ReadToEnd(); } } catch (WebException ex) { var res = (HttpWebResponse)ex.Response; StringBuilder sb = new StringBuilder(); StreamReader sr = new StreamReader(res.GetResponseStream(), Encoding.UTF8); sb.Append(sr.ReadToEnd()); //string ssb = sb.ToString();
throw new Exception(sb.ToString()); } }
#region 新增放行委外工序
//public static void AddThroughWXOP(List<ICSQualityCKDATA> codeList, string dsconn)
//{
// FramDataContext db = new FramDataContext(dsconn);
// db.Connection.Open();
// db.Transaction = db.Connection.BeginTransaction();
// try
// {
// foreach (ICSQualityCKDATA data in codeList)
// {
// ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATA line = new ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATA();
// line.ID = AppConfig.GetGuid();
// line.LOTNO = data.LOTNO;
// line.MOCODE = data.MOCODE;
// var lines = db.ICSQualityCKDATA.Where(a => a.LOTNO == data.LOTNO);
// line.SEQ = lines.Count() + 1;
// var lineslot = db.ICSMO2Lot.SingleOrDefault(a => a.LOTNO == data.LOTNO);
// if (lineslot != null)
// {
// line.LOTSEQ = lineslot.LOTSEQ;
// }
// line.CKResult = "1";
// line.CKUserCode = AppConfig.UserCode;
// line.Type = "委外工序";
// line.MUSER = AppConfig.UserId;
// line.MUSERName = AppConfig.UserName;
// line.MTIME = DateTime.Now;
// line.WorkPoint = AppConfig.WorkPointCode;
// line.OPCode = data.OPCode;
// line.EATTRIBUTE1 = data.EATTRIBUTE1;
// line.EATTRIBUTE2 = data.EATTRIBUTE2;
// line.EATTRIBUTE3 = data.EATTRIBUTE3;
// line.EATTRIBUTE4 = data.EATTRIBUTE4;
// db.ICSQualityCKDATA.InsertOnSubmit(line);
// db.SubmitChanges();
// }
// db.Transaction.Commit();
// }
// catch (Exception ex)
// {
// db.Transaction.Rollback();
// throw ex;
// }
//}
#endregion
#region 新增放行WX
//public static void AddThroughWX(List<ICSQualityCKDATA> dataList, string dsconn)
//{
// FramDataContext db = new FramDataContext(dsconn);
// db.Connection.Open();
// db.Transaction = db.Connection.BeginTransaction();
// try
// {
// foreach (ICSQualityCKDATA data in dataList)
// {
// ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATA line = new ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATA();
// line.ID = AppConfig.GetGuid();
// line.LOTNO = data.LOTNO;
// line.MOCODE = data.MOCODE;
// line.LOTSEQ = 0;
// line.CKResult = "1";
// line.CKUserCode = AppConfig.UserCode;
// line.Type = "外协";
// line.MEMO = "";
// line.MUSER = AppConfig.UserId;
// line.MUSERName = AppConfig.UserName;
// line.MTIME = DateTime.Now;
// line.WorkPoint = AppConfig.WorkPointCode;
// line.EATTRIBUTE1 = "放行";
// line.OPCode = data.OPCode;
// line.EATTRIBUTE2 = "";
// line.EATTRIBUTE3 = data.EATTRIBUTE3;
// line.EATTRIBUTE4 = "";
// line.EATTRIBUTE5 = data.EATTRIBUTE5;
// line.EATTRIBUTE6 = data.EATTRIBUTE6;
// line.EATTRIBUTE7 = data.EATTRIBUTE7;
// line.EATTRIBUTE8 = data.EATTRIBUTE8;
// line.RCVDoc = data.RCVDoc;
// line.RCVLineNo = data.RCVLineNo;
// db.ICSQualityCKDATA.InsertOnSubmit(line);
// db.SubmitChanges();
// }
// db.Transaction.Commit();
// }
// catch (Exception ex)
// {
// db.Transaction.Rollback();
// throw ex;
// }
//}
#endregion
#region 新增放行ZC
//public static void AddThroughZC(List<ICSQualityCKDATA> codeList, string dsconn)
//{
// FramDataContext db = new FramDataContext(dsconn);
// db.Connection.Open();
// db.Transaction = db.Connection.BeginTransaction();
// try
// {
// foreach (ICSQualityCKDATA data in codeList)
// {
// ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATA line = new ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATA();
// line.ID = AppConfig.GetGuid();
// line.LOTNO = data.LOTNO;
// line.MOCODE = data.MOCODE;
// line.LOTSEQ = 0;
// line.CKResult = "1";
// line.CKUserCode = AppConfig.UserCode;
// line.Type = "制程";
// line.MEMO = "";
// line.MUSER = AppConfig.UserId;
// line.MUSERName = AppConfig.UserName;
// line.MTIME = DateTime.Now;
// line.WorkPoint = AppConfig.WorkPointCode;
// line.EATTRIBUTE1 = "放行";
// line.OPCode = data.OPCode;
// line.EATTRIBUTE3 = data.EATTRIBUTE3;
// line.EATTRIBUTE2 = data.EATTRIBUTE2;
// line.EATTRIBUTE4 = data.EATTRIBUTE4;
// line.EATTRIBUTE5 = data.EATTRIBUTE5;
// line.EATTRIBUTE6 = data.EATTRIBUTE6;
// line.EATTRIBUTE7 = data.EATTRIBUTE7;
// line.EATTRIBUTE8 = data.EATTRIBUTE8;
// db.ICSQualityCKDATA.InsertOnSubmit(line);
// db.SubmitChanges();
// }
// db.Transaction.Commit();
// }
// catch (Exception ex)
// {
// db.Transaction.Rollback();
// throw ex;
// }
//}
//public static void AddThroughLL(List<string> codeList, string dsconn)
//{
// FramDataContext db = new FramDataContext(dsconn);
// db.Connection.Open();
// db.Transaction = db.Connection.BeginTransaction();
// try
// {
// for (int i = 0; i < codeList.Count; i++)
// {
// ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATA line = new ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATA();
// line.ID = AppConfig.GetGuid();
// line.LOTNO = codeList[i];
// line.MOCODE = "";
// line.LOTSEQ = 0;
// line.CKResult = "1";
// line.CKUserCode = AppConfig.UserCode;
// line.Type = "来料";
// line.MEMO = "";
// line.MUSER = AppConfig.UserId;
// line.MUSERName = AppConfig.UserName;
// line.MTIME = DateTime.Now;
// line.WorkPoint = AppConfig.WorkPointCode;
// line.EATTRIBUTE1 = "放行";
// db.ICSQualityCKDATA.InsertOnSubmit(line);
// db.SubmitChanges();
// }
// db.Transaction.Commit();
// }
// catch (Exception ex)
// {
// db.Transaction.Rollback();
// throw ex;
// }
//}
#endregion
#region 新增放行工序检验
//public static void AddThroughOP(List<ICSQualityCKDATA> codeList, string dsconn)
//{
// FramDataContext db = new FramDataContext(dsconn);
// db.Connection.Open();
// db.Transaction = db.Connection.BeginTransaction();
// try
// {
// foreach (ICSQualityCKDATA data in codeList)
// {
// ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATA line = new ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATA();
// line.ID = AppConfig.GetGuid();
// line.LOTNO = data.LOTNO;
// line.MOCODE = data.MOCODE;
// var lines = db.ICSQualityCKDATA.Where(a => a.LOTNO == data.LOTNO);
// line.SEQ = lines.Count() + 1;
// var lineslot = db.ICSMO2Lot.SingleOrDefault(a => a.LOTNO == data.LOTNO);
// if (lineslot != null)
// {
// line.LOTSEQ = lineslot.LOTSEQ;
// }
// line.CKResult = "1";
// line.CKUserCode = AppConfig.UserCode;
// line.Type = "工序检验";
// line.MUSER = AppConfig.UserId;
// line.MUSERName = AppConfig.UserName;
// line.MTIME = DateTime.Now;
// line.WorkPoint = AppConfig.WorkPointCode;
// line.OPCode = data.OPCode;
// line.EATTRIBUTE1 = data.EATTRIBUTE1;
// line.EATTRIBUTE2 = data.EATTRIBUTE2;
// line.EATTRIBUTE3 = data.EATTRIBUTE3;
// line.EATTRIBUTE4 = data.EATTRIBUTE4;
// db.ICSQualityCKDATA.InsertOnSubmit(line);
// db.SubmitChanges();
// }
// db.Transaction.Commit();
// }
// catch (Exception ex)
// {
// db.Transaction.Rollback();
// throw ex;
// }
//}
#endregion
#region 新增批量放行 (委外发料)
//public static void AddThroughList(List<ICSQualityCKDATA> codeList, string Type, string dsconn)
//{
// FramDataContext db = new FramDataContext(dsconn);
// db.Connection.Open();
// db.Transaction = db.Connection.BeginTransaction();
// try
// {
// foreach (ICSQualityCKDATA data in codeList)
// {
// ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATA line = new ZHCSoft.AntiwearValveExpanded.Entity.ICSQualityCKDATA();
// line.ID = AppConfig.GetGuid();
// line.LOTNO = data.LOTNO;
// line.MOCODE = data.MOCODE;
// var lines = db.ICSQualityCKDATA.Where(a => a.LOTNO == data.LOTNO);
// line.SEQ = lines.Count() + 1;
// var lineslot = db.ICSMO2Lot.SingleOrDefault(a => a.LOTNO == data.LOTNO);
// if (lineslot != null)
// {
// line.LOTSEQ = lineslot.LOTSEQ;
// }
// line.CKResult = "1";
// line.CKUserCode = AppConfig.UserCode;
// line.Type = Type;
// line.MUSER = AppConfig.UserId;
// line.MUSERName = AppConfig.UserName;
// line.MTIME = DateTime.Now;
// line.WorkPoint = AppConfig.WorkPointCode;
// line.OPCode = data.OPCode;
// line.EATTRIBUTE1 = data.EATTRIBUTE1;
// line.EATTRIBUTE2 = data.EATTRIBUTE2;
// line.EATTRIBUTE3 = data.EATTRIBUTE3;
// line.EATTRIBUTE4 = data.EATTRIBUTE4;
// db.ICSQualityCKDATA.InsertOnSubmit(line);
// db.SubmitChanges();
// }
// db.Transaction.Commit();
// }
// catch (Exception ex)
// {
// db.Transaction.Rollback();
// throw ex;
// }
//}
#endregion
#region 删除
public static void deleteInfo(List<string> codeList, string dsconn) { FramDataContext db = new FramDataContext(dsconn); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { //var lines = db.ICSQualityCKDATA.Where(a => codeList.Contains(a.ID));
//db.ICSQualityCKDATA.DeleteAllOnSubmit(lines);
//db.SubmitChanges();
//db.Transaction.Commit();
} catch (Exception ex) { db.Transaction.Rollback(); throw ex; }
} #endregion
public static bool ExsistByLotNo(string lotno) { //FramDataContext db = new FramDataContext(AppConfig.AppConnectString);
//db.Connection.Open();
//db.Transaction = db.Connection.BeginTransaction();
//try
//{
// var lines = db.ICSQualityCKDATA.Where(a => a.LOTNO == lotno);
// if (lines == null || lines.Count() <= 0)
// return false;
// else
// return true;
//}
//catch (Exception ex)
//{
// db.Transaction.Rollback();
// throw ex;
//}
return true; }
public static bool IsLLCKByLotNo(string lotno) { FramDataContext db = new FramDataContext(AppConfig.AppConnectString); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { var lines = db.ICSQualityCKDATA.Where(a => a.LOTNO == lotno && a.Type == "制程"); if (lines == null || lines.Count() <= 0) return false; else return true; } catch (Exception ex) { db.Transaction.Rollback(); throw ex; } }
public static bool ExsistOPByLotNo(string lotno, string opDesc) { FramDataContext db = new FramDataContext(AppConfig.AppConnectString); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { //var lines = from a in db.ICSITEMROUTE2OP
// join b in db.ICSMO2ROUTE on a.ROUTECODE equals b.ROUTECODE
// join c in db.ICSMO2Lot on b.MOCODE equals c.MOCODE
// join d in db.ICSOP on a.OPCODE equals d.OPCODE
// where c.LOTNO == lotno && d.OPDESC.Contains(opDesc)
// select a;
//if (lines == null || lines.Count() <= 0)
// return false;
//else
// return true;
return true; } catch (Exception ex) { db.Transaction.Rollback(); throw ex; } }
//判断是否拆分过
//public static bool CheckOldLotNoIsSplit(string dsconn, string OldLotNo)
//{
// bool isSplit = false;
// FramDataContext db = new FramDataContext(dsconn);
// db.Connection.Open();
// db.Transaction = db.Connection.BeginTransaction();
// try
// {
// var barcodeRecord = db.ICSBarcodeRecord.SingleOrDefault(a => a.OldLotNo == OldLotNo);
// if (barcodeRecord != null)
// {
// isSplit = true;
// }
// }
// catch (Exception ex)
// {
// throw ex;
// }
// return isSplit;
//}
//判断是否是拆分出的条码
//public static bool CheckNewLotNoIsSplit(string dsconn, string NewLotNo)
//{
// bool isSplit = false;
// FramDataContext db = new FramDataContext(dsconn);
// db.Connection.Open();
// db.Transaction = db.Connection.BeginTransaction();
// try
// {
// var barcodeRecord = db.ICSBarcodeRecord.SingleOrDefault(a => a.NewLotNo == NewLotNo);
// if (barcodeRecord != null)
// {
// isSplit = true;
// }
// }
// catch (Exception ex)
// {
// throw ex;
// }
// return isSplit;
//}
#region 根据检验不合格条码查询所有需要抽检的数据
//public static void AddICSLOTFirstCheck(string LotNo, string dsconn)
//{
// FramDataContext db = new FramDataContext(dsconn);
// db.Connection.Open();
// db.Transaction = db.Connection.BeginTransaction();
// try
// {
// var line = db.ICSLOTFirstCheck.SingleOrDefault(a => a.LOTNO == LotNo && a.CheckType == "random");
// if (line != null)
// {
// //根据工单+设备获取需要抽检的数据
// DataTable dtLot = GetCOMLOTNOByMoCode(line.MOCODE);
// foreach (DataRow dr in dtLot.Rows)
// {
// bool isNew = false;
// var line1 = db.ICSLOTFirstCheck.SingleOrDefault(a => a.LOTNO == dr["LOTNO"].ToString());
// if (line1 == null)
// {
// isNew = true;
// line1 = new ICSLOTFirstCheck();
// line1.ID = Guid.NewGuid().ToString();
// line1.LOTNO = dr["LOTNO"].ToString();
// line1.MOCODE = line.MOCODE;
// line1.LOTSEQ = line.LOTSEQ;
// line1.LOTQTY = line.LOTQTY;
// line1.GOODQTY = line.GOODQTY;
// line1.NGQTY = line.NGQTY;
// line1.CheckType = "NGALL";//检验类型
// line1.LOTStatus = line.LOTStatus;
// line1.MODELCODE = line.MODELCODE;
// line1.ITEMCODE = line.ITEMCODE;
// line1.ROUTECODE = line.ROUTECODE;
// line1.OPCODE = dr["OPCODE"].ToString();
// line1.EQPCODE = line.EQPCODE;
// line1.CHECKLOTNO = line.CHECKLOTNO;
// line1.NGTIMES = line.NGTIMES;
// line1.MUSER = AppConfig.UserCode;
// line1.MUSERName = AppConfig.UserName;
// line1.MTIME = DateTime.Now;
// line1.WorkPoint = AppConfig.WorkPointCode;
// line1.SEQ = line1.SEQ;
// line1.CheckTime = line.CheckTime;
// }
// if (isNew)
// db.ICSLOTFirstCheck.InsertOnSubmit(line1);
// db.SubmitChanges();
// }
// }
// db.Transaction.Commit();
// }
// catch (Exception ex)
// {
// db.Transaction.Rollback();
// throw ex;
// }
//}
#endregion
#region 此条码所在工单+设备所有抽检条码全部检验合格,则此工单+设备所有条码自动检验合格
//public static void EditICSLOTFirstCheck(ICSQualityCKDATA QualityCKDATA, string LotNo, string dsconn)
//{
// FramDataContext db = new FramDataContext(dsconn);
// db.Connection.Open();
// db.Transaction = db.Connection.BeginTransaction();
// try
// {
// var line = db.ICSLOTFirstCheck.SingleOrDefault(a => a.LOTNO == LotNo && a.CheckType == "抽检");
// if (line != null)
// {
// List<ICSQualityCKDATA> lineList = new List<ICSQualityCKDATA>();
// bool isEdit = true;
// //根据工单+设备获取需要抽检的数据
// DataTable dtLot = GetDataByMoCodeAndEqpCode(line.MOCODE);
// foreach (DataRow dr in dtLot.Rows)
// {
// var line1 = db.ICSLOTFirstCheck.SingleOrDefault(a => a.LOTNO == dr["PRO_TRA_CODE"].ToString());
// //如果抽检数据全部检验合格则未抽检数据自动合格,若抽检数据有一条不合格则不做处理
// if (line1 == null)//为空则说明不是抽检数据
// {
// ICSQualityCKDATA ckline = new ICSQualityCKDATA();
// ckline.ID = AppConfig.GetGuid();
// ckline.LOTNO = dr["PRO_TRA_CODE"].ToString();
// ckline.MOCODE = line.MOCODE;
// ckline.LOTSEQ = line.LOTSEQ;
// var lines = db.ICSQualityCKDATA.Where(a => a.LOTNO == dr["PRO_TRA_CODE"].ToString());
// line.SEQ = lines.Count() + 1;
// ckline.CKResult = "1";
// ckline.CKUserCode = QualityCKDATA.CKUserCode;
// ckline.Type = QualityCKDATA.Type;
// ckline.MEMO = QualityCKDATA.MEMO;
// ckline.MUSER = AppConfig.UserId;
// ckline.MUSERName = AppConfig.UserName;
// ckline.MTIME = DateTime.Now;
// ckline.WorkPoint = AppConfig.WorkPointCode;
// ckline.EATTRIBUTE1 = QualityCKDATA.EATTRIBUTE1;
// ckline.OPCode = "";//20191114
// ckline.EATTRIBUTE2 = QualityCKDATA.EATTRIBUTE2;
// ckline.EATTRIBUTE4 = QualityCKDATA.EATTRIBUTE4;
// lineList.Add(ckline);
// }
// else if (line1 != null && line1.CKResult != "1")
// {
// isEdit = false;
// }
// }
// if (isEdit)
// {
// foreach (ICSQualityCKDATA data in lineList)
// {
// bool isNew = true;
// ICSQualityCKDATA line2 = new ICSQualityCKDATA();
// line2.ID = AppConfig.GetGuid();
// line2.LOTNO = data.LOTNO;
// line2.MOCODE = data.MOCODE;
// line2.LOTSEQ = Convert.ToInt32(data.LOTSEQ);
// var lines = db.ICSQualityCKDATA.Where(a => a.LOTNO == data.LOTNO);
// line2.SEQ = lines.Count() + 1;
// line2.CKResult = data.CKResult;
// line2.CKUserCode = data.CKUserCode;
// line2.Type = data.Type;
// line2.MEMO = data.MEMO;
// line2.MUSER = AppConfig.UserId;
// line2.MUSERName = AppConfig.UserName;
// line2.MTIME = DateTime.Now;
// line2.WorkPoint = AppConfig.WorkPointCode;
// line2.EATTRIBUTE1 = data.EATTRIBUTE1;
// line2.OPCode = QualityCKDATA.OPCode;//20191114
// line2.EATTRIBUTE2 = data.EATTRIBUTE2;
// line2.EATTRIBUTE3 = data.EATTRIBUTE3;
// line2.EATTRIBUTE4 = data.EATTRIBUTE4;
// if (isNew)
// db.ICSQualityCKDATA.InsertOnSubmit(line2);
// }
// }
// db.SubmitChanges();
// }
// db.Transaction.Commit();
// }
// catch (Exception ex)
// {
// db.Transaction.Rollback();
// throw ex;
// }
//}
#endregion
#region 此条码所在工单+所有抽检条码全部检验合格,则此工单剩余所有条码自动检验合格
//public static void ICSLOTAutoCheck(ICSQualityCKDATA QualityCKDATA, string MOCode, string dsconn)
//{
// FramDataContext db = new FramDataContext(dsconn);
// db.Connection.Open();
// db.Transaction = db.Connection.BeginTransaction();
// try
// {
// //判断工单下所有的抽检数据是否已经合格
// bool flag = false;
// bool isCheck = false;//记录是否有抽检数据
// List<ICSLOTFirstCheck> list = db.ICSLOTFirstCheck.Where(a => a.MOCODE == MOCode).ToList<ICSLOTFirstCheck>();
// if (list.Count > 0)
// {
// foreach (ICSLOTFirstCheck lot in list)
// {
// if (lot.CheckType == "random")
// {
// isCheck = true;
// }
// if (lot.CKResult == "1")
// {
// flag = true;
// }
// else
// {
// flag = false;
// break;
// }
// }
// }
// if (flag && isCheck)
// {
// List<ICSQualityCKDATA> lineList = new List<ICSQualityCKDATA>();
// //根据工单+设备获取需要抽检的数据
// DataTable dtLot = GetCOMLOTNOByMoCode(MOCode);
// foreach (DataRow dr in dtLot.Rows)
// {
// ICSQualityCKDATA ckline = new ICSQualityCKDATA();
// ckline.ID = AppConfig.GetGuid();
// ckline.LOTNO = dr["LOTNO"].ToString();
// ckline.MOCODE = MOCode;
// ckline.LOTSEQ = int.Parse(dr["LOTSEQ"].ToString());
// var lines = db.ICSQualityCKDATA.Where(a => a.LOTNO == dr["LOTNO"].ToString());
// ckline.SEQ = lines.Count() + 1;
// ckline.CKResult = "1";
// ckline.CKUserCode = QualityCKDATA.CKUserCode;
// ckline.Type = QualityCKDATA.Type;
// ckline.MEMO = QualityCKDATA.MEMO;
// ckline.MUSER = "4c7d9583-5668-4038-852c-46f485111310";
// ckline.MUSERName = "管理员";
// ckline.MTIME = DateTime.Now;
// ckline.WorkPoint = AppConfig.WorkPointCode;
// ckline.EATTRIBUTE1 = QualityCKDATA.EATTRIBUTE1;
// ckline.OPCode = "";//20191114
// ckline.EATTRIBUTE2 = QualityCKDATA.EATTRIBUTE2;
// ckline.EATTRIBUTE4 = QualityCKDATA.EATTRIBUTE4;
// db.ICSQualityCKDATA.InsertOnSubmit(ckline);
// }
// db.SubmitChanges();
// }
// db.Transaction.Commit();
// }
// catch (Exception ex)
// {
// db.Transaction.Rollback();
// throw ex;
// }
//}
#endregion
#region 获取条码对应工单除抽检矩阵外的所有条码
public static DataTable GetCOMLOTNOByMoCode(string MoCode) { //获取需要抽检的工单+设备
string sql1 = @" select LOTNO,LOTSEQ ,OPCODE from [ICSLOTSIMULATION] where MOCODE = '" + MoCode + "' AND lotno not in ( select lotno from [ICSLOTFirstCheck] where MOCODE = '" + MoCode + "') "; DataTable dtLot = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql1).Tables[0]; return dtLot; }
#endregion
public static DataTable GetDataByMoCodeAndEqpCode(string MoCode) {
//获取需要抽检的工单+设备
string sql1 = string.Format(@"select * into #lottemp from (select ROW_NUMBER()over(partition by 批次条码 order by SEQ asc) rowId,*
from( SELECT distinct a.ProjectCode '项目号', a.mocode AS '工单代码', a.motype AS '工单类型', b.LOTNO AS '批次条码', c.SEQ, b.LOTQTY AS '批次数量', A.ITEMCODE '产品代码', inv.ItemName '产品名称', c.ROUTECODE '途程代码', b.OPCODE '完工工序', c.OPCODE '第一道数车工序代码', f.OPDESC '工序描述', c.EQPCODE 设备编号, j.EQPNAME 设备名称, j.EModel 设备型号 FROM ICSMO A LEfT Join ICSLOTSIMULATION b on a.MOCODE = b.MOCODE Left Join Base_Inventory inv on inv.ItemCode = b.ItemCode LEFT JOIN ICSLOTONWIP c ON a.MOCODE = c.MOCODE AND B.LOTNO = C.LOTNO LEFT JOIN ICSMO2ROUTE d ON a.MOCODE = d.MOCODE LEFT JOIN ICSOP f ON c.opcode = f.opcode LEFT JOIN ICSEquipment j ON j.EQPCODE = c.EQPCode WHERE1=1 ANd c.UserCodeEnd is not null And c.UserCodeEnd <>'' And j.EATTRIBUTE2 ='Y' And b.IsCom ='1' AND (c.[ACTION] IN ('GOOD')OR [ACTION] IS NULL) ) tt ) as AuctionRecords where rowId=1 SELECT distinct a.mocode AS '工单代码', b.LOTNO AS '批次条码', b.OPCODE '工序代码', c.设备编号, k.PRO_TRA_CODE FROM ICSMO A left join [APS2MES_Data].[dbo].[APS_DISPATCH] k on a.MOCODE =k.[WORK_CODE] LEfT Join ICSLOTSIMULATION b on k.[PRO_TRA_CODE] = b.LotNO And k.OP_CODE = b.OPCode left join #lottemp c on c.批次条码 = k.PRO_TRA_CODE WHERE 1=1 And b.IsCom ='1' ANd a.MOCODE='{0}' AND k.PRO_TRA_CODE NOT IN (SELECT LOTNO FROM ICSLOTFirstCheck WHERE CheckType='first') order by a.mocode,b.LOTNO
drop table #lottemp", MoCode);
DataTable dtLot = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql1).Tables[0]; return dtLot; }
#region 获取工序检验的工序名称List
public static string GetGXJY_OPDesc() { try { //获取需要抽检的工单+设备
string sql1 = @"
select STUFF((select',' + Define1 from (select distinct vv.Define1 from Sys_EnumValues vv inner join Sys_EnumKey kk on vv.EnumKey=kk.EnumKey where kk.EnumName='质量检验相关' and vv.EnumText='工序检验工序' ) DD for xml path('')),1,1,'') DescStr ";
DataTable dtLot = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql1).Tables[0]; if (dtLot != null && dtLot.Rows.Count > 0) { string OPDesc = dtLot.Rows[0][0].ToString(); if (!string.IsNullOrEmpty(OPDesc)) { return "'" + OPDesc.Replace(",", "','") + "'"; } } return ""; } catch (Exception ex) { return ""; } } public static List<string> GetGXJY_OPCode() { List<string> List = new List<string>(); try {
//获取需要抽检的工单+设备
string sql1 = @"
select distinct op.opcode from Sys_EnumValues vv inner join Sys_EnumKey kk on vv.EnumKey=kk.EnumKey inner join icsop op on op.opname=vv.Define1 where kk.EnumName='质量检验相关' and vv.EnumText='工序检验工序' ";
DataTable dtLot = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql1).Tables[0]; if (dtLot != null && dtLot.Rows.Count > 0) { foreach (DataRow dr in dtLot.Rows) { string OPCode = dr["opcode"].ToString(); List.Add(OPCode); } } return List; } catch (Exception ex) { return List; } } #endregion
//public static ICSQualityCKItem GetCKItemOther(string CKSecClass, string dsconn)
public static ICSOQCCKLIST GetCKItemOP(string CKSecClass, string ItemCode, string dsconn) { FramDataContext db = new FramDataContext(dsconn); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction();
try { //var CKCLass = db.Sys_EnumValues.SingleOrDefault(a => a.EnumText == "其他配合检验项");
//if (CKCLass != null)
//{
var lines = db.ICSOQCCKLIST.Where(a => a.CKGROUPMETH == CKSecClass && a.INVCode == ItemCode); if (lines != null && lines.Count() > 0) { return lines.First(); } //}
return null; } catch (Exception ex) { return null; } }
public static ICSQualityCKItem GetCKItemOther(string CKSecClass, string EnumText, string dsconn) { FramDataContext db = new FramDataContext(dsconn); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { var CKCLass = db.Sys_EnumValues.SingleOrDefault(a => a.EnumText == EnumText); var lines = db.ICSQualityCKItem.Where(a => a.CKFirstClass == CKCLass.EnumValue && a.CKSecClass == CKSecClass); if (lines != null && lines.Count() > 0) { return lines.First(); } return null; } catch (Exception ex) { return null; } }
#region 获取该条码下个待完工工序
public static string GetCurrentOpcode(string LotNo) { try { string currentsql = @"
select lotno,case when isnull(nextOPCODE,'')='' or CollectStatus!='COLLECT_END' then opcode else nextOPCODE end wipOPCODE
from ( select lot.lotno , sim.CollectStatus , sim.opcode, (select top 1 nrop.opcode from ICSITEMROUTE2OP nrop where nrop.itemcode=mo.itemcode and nrop.opseq>rop.opseq and nrop.routecode=rou.routecode and nrop.workpoint=lot.workpoint order by nrop.opseq) nextOPCODE,sim.iscom from icsmo2lot lot inner join ICSLOTSIMULATION sim on lot.lotno=sim.lotno and sim.workpoint=lot.workpoint inner join icsmo mo on mo.mocode=lot.mocode and mo.workpoint=lot.workpoint inner join ICSMO2ROUTE rou on rou.mocode=mo.mocode and rou.workpoint=lot.workpoint left join ICSITEMROUTE2OP rop on rop.itemcode=mo.itemcode and rop.opcode=sim.opcode and rou.routecode=rop.routecode and rop.workpoint=lot.workpoint where lot.lotno='" + LotNo + @"' and lot.workpoint='" + AppConfig.WorkPointCode + @"' ) ff where CollectStatus!='COLLECT_END' or isnull(nextOPCODE,'')!='' union select lot.lotno, (select top 1 opcode from ICSITEMROUTE2OP rop where rop.itemcode=mo.itemcode and rou.routecode=rop.routecode order by rop.opseq ) wipOPCODE from icsmo2lot lot inner join icsmo mo on mo.mocode=lot.mocode and mo.workpoint=lot.workpoint inner join ICSMO2ROUTE rou on rou.mocode=mo.mocode and rou.workpoint=lot.workpoint where not exists(select 1 from ICSLOTSIMULATION sim where sim.lotno=lot.lotno and sim.workpoint=lot.workpoint) and lot.lotno='" + LotNo + @"' and lot.workpoint='" + AppConfig.WorkPointCode + @"'
";
DataTable datacurr = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, currentsql).Tables[0]; if (datacurr != null && datacurr.Rows.Count > 0) { return datacurr.Rows[0]["wipOPCODE"].ToString(); } return ""; } catch (Exception ex) { return ""; }
} #endregion
/// <summary>
/// 待用的抓取质量一级分类
/// </summary>
/// <param name="EnumText"></param>
/// <param name="dsconn"></param>
/// <returns></returns>
public static string GetCKFirstCode(string EnumText, string dsconn) { FramDataContext db = new FramDataContext(dsconn); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction();
try { var CKCLass = db.Sys_EnumValues.SingleOrDefault(a => a.EnumText == EnumText && a.EnumKey == "005");
if (CKCLass != null) { return CKCLass.EnumValue; } return ""; } catch (Exception ex) { return ""; } }
public static string GetU9DBLink() { try { string currentsql = @" select Define1 from Sys_EnumValues where EnumKey ='100' and EnumText='U9DBlink' "; DataTable datacurr = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, currentsql).Tables[0]; if (datacurr != null && datacurr.Rows.Count > 0) { return datacurr.Rows[0]["Define1"].ToString(); } return ""; } catch (Exception ex) { return ""; }
}
public static bool IsExistsLotNo(string lotno) { try { string sql = @"
SELECT a.LOTNO FROM ICSMO2Lot a INNER JOIN ICSLOTSIMULATION b ON a.LOTNO=b.LOTNO where a.lotno='" + lotno + @"' ";
DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0]; if (dt != null && dt.Rows.Count > 0) { return true; } } catch (Exception ex) {
} return false; }
//SRM用到的,可以注释
public static void InsertICSINSPECTION(List<WMSICSINSPECTIONModel> modelList) {
try { if (modelList != null && modelList.Count > 0) { string sql = ""; string sql_up = ""; string sql_insert = ""; foreach (WMSICSINSPECTIONModel model in modelList) { if (model != null && !string.IsNullOrEmpty(model.LotNO)) { #region 默认设置一些栏位
if (model.TransNO == null) model.TransNO = ""; if (model.TransLine == null) model.TransLine = ""; if (model.INVCODE == null) model.INVCODE = ""; if (model.VENDORITEMCODE == null) model.VENDORITEMCODE = ""; if (model.VENDORCODE == null) model.VENDORCODE = ""; if (model.VenderLotNO == null) model.VenderLotNO = ""; if (model.PRODUCTDATE == null) model.PRODUCTDATE = DateTime.Now; if (model.Parts == null) model.Parts = ""; if (model.BluePrint == null) model.BluePrint = ""; if (model.LOTQTY == null) model.LOTQTY = 0; if (model.YLOTQTY == null) model.YLOTQTY = 0; if (model.NLOTQTY == null) model.NLOTQTY = 0; if (model.BadCause == null) model.BadCause = ""; if (model.Disposal == null) model.Disposal = ""; if (model.Location == null) model.Location = ""; if (model.Status == null) model.Status = "已检"; if (model.TYPE == null) model.TYPE = ""; if (model.EATTRIBUTE1 == null) model.EATTRIBUTE1 = ""; if (model.EATTRIBUTE2 == null) model.EATTRIBUTE2 = "1"; if (model.EATTRIBUTE3 == null) model.EATTRIBUTE3 = ""; if (model.EATTRIBUTE4 == null) model.EATTRIBUTE4 = ""; if (model.SPLOTQTY == null) model.SPLOTQTY = 0;
#endregion
sql_up += @"
update [dbo].[ICSINSPECTION] set EATTRIBUTE2='0' where [LotNO]='" + model.LotNO + @"' ";
sql_insert += @"
INSERT INTO [dbo].[ICSINSPECTION] ([ID],[TransNO],[TransLine],[LotNO],[INVCODE], [VENDORITEMCODE],[VENDORCODE],[VenderLotNO],[PRODUCTDATE],[Parts], [BluePrint],[LOTQTY],[YLOTQTY],[NLOTQTY],[BadCause], [Disposal],[Location],[Status],[TYPE],[WorkPoint], [MUSER],[MUSERName],[MTIME],[EATTRIBUTE1],[EATTRIBUTE2], [EATTRIBUTE3],[EATTRIBUTE4],[SPLOTQTY])
select newid(), '" + model.TransNO + @"', '" + model.TransLine + @"', '" + model.LotNO + @"', '" + model.INVCODE + @"',
'" + model.VENDORITEMCODE + @"', '" + model.VENDORCODE + @"', '" + model.VenderLotNO + @"', '" + model.PRODUCTDATE.Value.ToString("yyyy-MM-dd HH:mm:ss") + @"', '" + model.Parts + @"',
'" + model.BluePrint + @"', " + model.LOTQTY + @", " + model.YLOTQTY + @", " + model.NLOTQTY + @", '" + model.BadCause + @"',
'" + model.Disposal + @"', '" + model.Location + @"', '" + model.Status + @"', '" + model.TYPE + @"', '" + AppConfig.WorkPointCode + @"',
'" + AppConfig.UserCode + @"', '" + AppConfig.UserName + @"', '" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + @"', '" + model.EATTRIBUTE1 + @"', '" + model.EATTRIBUTE2 + @"',
'" + model.EATTRIBUTE3 + @"', '" + model.EATTRIBUTE4 + @"', " + model.SPLOTQTY + @" ";
} }
sql = sql_up + " " + sql_insert; DBHelper.ExecuteNonQuery(AppConfig.GetDataBaseConnectStringByKey("[DB.WMS]"), CommandType.Text, sql); } } catch (Exception ex) { throw new Exception("Insert WMS-ICSINSPECTION失败:" + ex.ToString()); } }
} }
|