|
|
@@ -181,11 +181,11 @@ namespace UAS_MES_NEW.Query
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public string BarcodeMethod1(string Prefix, string Suffix, int Index, int Length, int radix)
|
|
|
+ public string BarcodeMethod1(string Prefix, string Suffix, int Index, int Length, int radix, string char_out)
|
|
|
{
|
|
|
string str = Prefix;
|
|
|
//如果是流水则需要在前面加0
|
|
|
- string serialcode = BaseUtil.DToAny(custserialnum, radix);
|
|
|
+ string serialcode = BaseUtil.DToAny(custserialnum, radix, char_out);
|
|
|
for (int j = serialcode.ToString().Length; j < Length; j++)
|
|
|
{
|
|
|
serialcode = "0" + serialcode;
|
|
|
@@ -257,10 +257,10 @@ namespace UAS_MES_NEW.Query
|
|
|
MessageBox.Show("工单号" + ma_code.Text + "生产序列号超出工单数");
|
|
|
return;
|
|
|
}
|
|
|
- DataTable Nr = (DataTable)dh.ExecuteSql("select nrd_detno,nrd_name,nrd_type,nrd_radix,nrd_sql,nrd_length from NoRuleDetail left join norule on nrd_nrid=nr_id where nr_code='" + pr_exbarcode + "' order by nrd_detno", "select");
|
|
|
+ DataTable Nr = (DataTable)dh.ExecuteSql("select nrd_detno,nrd_name,nrd_type,nrd_radix,nrd_sql,nrd_length,nrd_content from NoRuleDetail left join norule on nrd_nrid=nr_id where nr_code='" + pr_exbarcode + "' order by nrd_detno", "select");
|
|
|
//如果没有则取公共规则
|
|
|
if (Nr.Rows.Count == 0)
|
|
|
- Nr = (DataTable)dh.ExecuteSql("select nrd_detno,nrd_name,nrd_radix,nrd_type,nrd_sql,nrd_length from NoRuleDetail left join norule on nrd_nrid=nr_id where nr_custcode is null and nr_isdefault <> 0 order by nrd_detno", "select");
|
|
|
+ Nr = (DataTable)dh.ExecuteSql("select nrd_detno,nrd_name,nrd_radix,nrd_type,nrd_sql,nrd_length,nrd_content from NoRuleDetail left join norule on nrd_nrid=nr_id where nr_custcode is null and nr_isdefault <> 0 order by nrd_detno", "select");
|
|
|
//用于过滤参数的正则表达式
|
|
|
Regex match = new Regex("{\\w+}");
|
|
|
//用于存放每一项的明细的数据
|
|
|
@@ -272,6 +272,7 @@ namespace UAS_MES_NEW.Query
|
|
|
//存放键值对
|
|
|
int Radix = 10;
|
|
|
string PrefixFixed = "";
|
|
|
+ string char_out = "";
|
|
|
for (int m = 0; m < Nr.Rows.Count; m++)
|
|
|
{
|
|
|
switch (Nr.Rows[m]["nrd_type"].ToString())
|
|
|
@@ -322,6 +323,7 @@ namespace UAS_MES_NEW.Query
|
|
|
SerialNumIndex = m;
|
|
|
SerialNumLength = int.Parse(Nr.Rows[m]["nrd_length"].ToString());
|
|
|
Radix = int.Parse(Nr.Rows[m]["nrd_radix"].ToString());
|
|
|
+ char_out = Nr.Rows[m]["nrd_content"].ToString();
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
|
@@ -344,7 +346,7 @@ namespace UAS_MES_NEW.Query
|
|
|
ArrayList<string> custbarcode = new ArrayList<string>();
|
|
|
for (int i = 0; i < int.Parse(ma_count.Text); i++)
|
|
|
{
|
|
|
- string data = BarcodeMethod1(PrefixFixed, Suffix, SerialNumIndex, SerialNumLength, Radix);
|
|
|
+ string data = BarcodeMethod1(PrefixFixed, Suffix, SerialNumIndex, SerialNumLength, Radix, char_out);
|
|
|
if (!custbarcode.Contains(data))
|
|
|
custbarcode.Add(data);
|
|
|
}
|