String sqlGetLot = SELECT PRODUCTNO PRODUCTVERSIONCUSTOMERNO FROM TBLWIPLOTBASIS WHERE BASELOTNO = + lotNo + ; DataTable lotTable = uwsMESGetDataTablesqlGetLot; DataTab
// 查询批号基本信息
String sqlGetLot = "SELECT PRODUCTNO ,PRODUCTVERSION,CUSTOMERNO FROM TBLWIPLOTBASIS WHERE BASELOTNO = '" + lotNo + "'";
DataTable lotTable = uwsMES.GetDataTable(sqlGetLot);
// 查询批号当前数量
DataTable qtyTable = uwsMES.GetDataTable("SELECT CURQTY FROM TBLWIPLOTSTATE WHERE LOTNO ='" + lotNo + "'");
qtyTable.Namespace = "waferQty";
String waferQty = "";
if (qtyTable.Rows.Count == 1)
{
waferQty = qtyTable.Rows[0][0].ToString();
}
else
{
return JsonConvert.SerializeObject(new R<String>("5000000", "MES获取批号【" + lotNo + "】wafer数量信息信息失败", null));
}
// 获取晶圆尺寸
String thickness = uwsMES.GetFirstData("SELECT a.DEFAULTVALUE FROM TBLPRDPRODUCTPROPERTY a INNER JOIN TBLWIPLOTBASIS b ON a.PRODUCTNO = b.PRODUCTNO AND b.PRODUCTVERSION = a.PRODUCTVERSION AND a.PROPERTYNO = 'Thickness' AND b.BASELOTNO ='" + lotNo + "'");
if (!String.IsNullOrEmpty(thickness) && thickness.Contains("um"))
{
thickness = thickness.Replace("um", "");
}
else
{
return JsonConvert.SerializeObject(new R<String>("5000000", "MES获取批号【" + lotNo + "】产品厚度信息信息失败", null));
}
// 获取程序ID、客户编号、写入数量
if (lotTable.Rows.Count > 0)
{
DataRow firstRow = lotTable.Rows[0];
// 获取productno和version
String productNo = firstRow["PRODUCTNO"].ToString();
String productVersion = firstRow["PRODUCTVERSION"].ToString();
String customerNo = firstRow["CUSTOMERNO"].ToString();
// 查询程序ID信息
String sqlId = "SELECT ATTRIBVALUE FROM TBLPRDOPATTRIB WHERE SERIALNO =(SELECT SERIALNO FROM TBLPRDOP WHERE PRODUCTNO = '" + productNo + "' AND PRODUCTVERSION = '" + productVersion + "' AND OPNO ='G1220') and (ATTRIBNO ='G1220-01' OR ATTRIBNO = 'G1220-03' OR ATTRIBNO = 'G1220-04') ORDER BY ATTRIBNO ";
DataTable idTable = uwsMES.GetDataTable(sqlId);
if (idTable.Rows.Count == 0)
{
return JsonConvert.SerializeObject(new R<String>("5000000", "请检查LotNo【" + lotNo + "】是否正确,MES未获取到相关信息!", null));
}
// 转换行列
idTable = ConvertRowsToColumns(idTable);
idTable.Columns[1].ColumnName = "Z1Model";
idTable.Columns[2].ColumnName = "Z2Model";
idTable.Columns[0].ColumnName = "RecipeId";
idTable.Rows[0]["RecipeId"] = "ENG\\1234";
idTable.Columns.Add("CustomerNo", typeof(string));
idTable.Columns.Add("WaferQty", typeof(string));
idTable.Columns.Add("Thickness", typeof(string));
idTable.Rows[0]["CustomerNo"] = customerNo;
idTable.Rows[0]["WaferQty"] = waferQty;
idTable.Rows[0]["Thickness"] = thickness;
dataSet.Tables.Add(idTable);
}
// 获取刀片1和刀片2的信息
String bladeSql = "SELECT BLADEMODEL,BLADESHAFT,BLADELENGTH,DICINGLENGTH,TOTALDICINGLENGTH FROM USC_DICINGBLADE_BASIS WHERE EQUIPMENTNO = '" + equipmentNo + "' AND STATUS = '3' ORDER BY BLADESHAFT ";
DataTable bladeTable = uwsMES.GetDataTable(bladeSql);
bladeTable.Namespace = "BladeInfo";
if (bladeTable.Columns.Count == 0)
{
return JsonConvert.SerializeObject(new R<String>("5000000", "MES获取机台【" + equipmentNo + "】使用的刀片详细信息失败,请检查!", null));
}
dataSet.Tables.Add(bladeTable);
// 设置表格名称
dataSet.Tables[0].TableName = "LotInfo";
dataSet.Tables[1].TableName = "BladeInfo";
return JsonConvert.SerializeObject(new R<DataSet>("0000000", "SUCESS", dataSet));
``
原文地址: https://www.cveoy.top/t/topic/iYv5 著作权归作者所有。请勿转载和采集!