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#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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