|
|
using Mesnac.Compressor.Entity;
|
|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Linq;
|
|
|
using System.Text;
|
|
|
|
|
|
namespace Mesnac.Compressor.Data
|
|
|
{
|
|
|
public class SqlHelper
|
|
|
{
|
|
|
public string DataInsertSql(string Table,StationInsertInfo Info)
|
|
|
{
|
|
|
StringBuilder sb = new StringBuilder();
|
|
|
try
|
|
|
{
|
|
|
#region 列名组合
|
|
|
sb.Append("insert into ").Append(Table).Append("(barcode,SemiBarcode,StationID,StationCode,State");
|
|
|
if(Info.isScanbarcode)
|
|
|
{
|
|
|
sb.Append(",").Append("ScanCode");
|
|
|
}
|
|
|
|
|
|
|
|
|
if (Info.para != null)
|
|
|
{
|
|
|
int paraLength = Info.para.Length;
|
|
|
for (int i = 1; i <= paraLength; i++)
|
|
|
{
|
|
|
string para = "para" + i.ToString();
|
|
|
sb.Append(",").Append(para);
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region values组合
|
|
|
|
|
|
sb.Append(") values('");
|
|
|
sb.Append(Info.MainBarcode).Append("','");
|
|
|
sb.Append(Info.SubBorcod).Append("','");
|
|
|
sb.Append(Info.StationID).Append("','");
|
|
|
sb.Append(Info.StationName).Append("','");
|
|
|
sb.Append(Info.okng.ToString()).Append("'");
|
|
|
//添加条码
|
|
|
if (Info.isScanbarcode)
|
|
|
{
|
|
|
sb.Append(",'").Append(Info.ScanBarcode).Append("'");
|
|
|
}
|
|
|
|
|
|
if (Info.para != null)
|
|
|
{
|
|
|
foreach (var pa in Info.para)
|
|
|
{
|
|
|
//参数最多保留十位数
|
|
|
string value = pa.ToString();
|
|
|
if (value.Length > 10)
|
|
|
{
|
|
|
value = value.Substring(0,10);
|
|
|
}
|
|
|
sb.Append(",'").Append(value).Append("'");
|
|
|
}
|
|
|
}
|
|
|
sb.Append(")");
|
|
|
#endregion
|
|
|
|
|
|
}
|
|
|
catch(Exception ex)
|
|
|
{
|
|
|
ICSharpCode.Core.LoggingService.Debug("Insert拼接字符串错误:"+ex.ToString());
|
|
|
}
|
|
|
return sb.ToString();
|
|
|
}
|
|
|
|
|
|
public string DataInsertSql2(StationInfo Info)
|
|
|
{
|
|
|
StringBuilder sb = new StringBuilder();
|
|
|
try
|
|
|
{
|
|
|
#region 列名组合
|
|
|
sb.Append("insert into ").Append(Info.TableName).Append("(barcode,SemiBarcode,ScanBarcode,RFIDNO,StationID,State,MachineID,MaskID");
|
|
|
|
|
|
|
|
|
if (Info.Data.SavedataList != null)
|
|
|
{
|
|
|
int paraLength = Info.Data.SavedataList.Count;
|
|
|
for (int i = 1; i <= paraLength; i++)
|
|
|
{
|
|
|
string para = "para" + i.ToString();
|
|
|
sb.Append(",").Append(para);
|
|
|
|
|
|
string paraMin = para + "_Min";
|
|
|
sb.Append(",").Append(paraMin);
|
|
|
|
|
|
string paraMax = para + "_Max";
|
|
|
sb.Append(",").Append(paraMax);
|
|
|
|
|
|
string paraState = para + "_State";
|
|
|
sb.Append(",").Append(paraState);
|
|
|
|
|
|
string paraResverve = para + "_Reserve";
|
|
|
sb.Append(",").Append(paraResverve);
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region values组合
|
|
|
|
|
|
sb.Append(") values('");
|
|
|
sb.Append(Info.Data.MainBarcode).Append("','");
|
|
|
sb.Append(Info.Data.semibacode).Append("','");
|
|
|
sb.Append(Info.Data.ProductBarcode).Append("','");
|
|
|
sb.Append(Info.Data.RFIDNo).Append("','");
|
|
|
sb.Append(Info.stationID).Append("','");
|
|
|
sb.Append(Info.Data.ProductOkNg).Append("','");
|
|
|
sb.Append(Info.Data.machineID.ToString()).Append("','");
|
|
|
sb.Append(Info.Data.MaskID.ToString()).Append("'");
|
|
|
|
|
|
|
|
|
if (Info.Data.SavedataList != null)
|
|
|
{
|
|
|
foreach (var pa in Info.Data.SavedataList)
|
|
|
{
|
|
|
//参数最多保留十位
|
|
|
string para = LengthMethod(pa.actValue);
|
|
|
sb.Append(",'").Append(para).Append("'");
|
|
|
|
|
|
string paraMin = LengthMethod(pa.MinValue);
|
|
|
sb.Append(",'").Append(paraMin).Append("'");
|
|
|
|
|
|
string paraMax = LengthMethod(pa.MaxValue);
|
|
|
sb.Append(",'").Append(paraMax).Append("'");
|
|
|
|
|
|
string paraState = LengthMethod(pa.result);
|
|
|
sb.Append(",'").Append(paraState).Append("'");
|
|
|
|
|
|
string paraResverve = LengthMethod(pa.Remark);
|
|
|
sb.Append(",'").Append(paraResverve).Append("'");
|
|
|
}
|
|
|
}
|
|
|
sb.Append(")");
|
|
|
#endregion
|
|
|
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
ICSharpCode.Core.LoggingService.Debug("Insert拼接字符串错误:" + ex.ToString());
|
|
|
}
|
|
|
return sb.ToString();
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 更新原有数据的状态
|
|
|
/// </summary>
|
|
|
/// <param name="Info"></param>
|
|
|
/// <returns></returns>
|
|
|
public string UpdateOldData(StationInfo Info)
|
|
|
{
|
|
|
StringBuilder sb = new StringBuilder();
|
|
|
sb.Append("update ").Append(Info.TableName).Append(" set FinalFlag=0 where SemiBarcode='").Append(Info.Data.ProductBarcode).Append("'");
|
|
|
return sb.ToString();
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 处理长度过长的参数,保留10位数
|
|
|
/// </summary>
|
|
|
/// <param name="para"></param>
|
|
|
/// <returns></returns>
|
|
|
private string LengthMethod(object para)
|
|
|
{
|
|
|
string value = para.ToString();
|
|
|
if (value.Length > 10)
|
|
|
{
|
|
|
value = value.Substring(0, 10);
|
|
|
}
|
|
|
return value;
|
|
|
}
|
|
|
}
|
|
|
}
|