You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

178 lines
6.1 KiB
C#

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;
}
}
}