You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2165 lines
93 KiB
2165 lines
93 KiB
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());
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|