Browse Source

BT/MAC采集校验方式修改

Hcsy 8 years ago
parent
commit
ce497d523b
1 changed files with 30 additions and 16 deletions
  1. 30 16
      UAS-MES/FunctionCode/Make/Make_CollectBTMAC.cs

+ 30 - 16
UAS-MES/FunctionCode/Make/Make_CollectBTMAC.cs

@@ -147,6 +147,7 @@ namespace UAS_MES.Make
                         string ErrorMessage = "";
                         string result = "";
                         sql.Clear();
+                        string checkbt = sncode.Text.Replace(":", "").Replace("-", "");
                         sql.Append("select mal_bt from MakeAddressList where mal_makecode = '" + ms_makecode.Text + "'");
                         dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
                         if (dt.Rows.Count > 0)
@@ -154,14 +155,14 @@ namespace UAS_MES.Make
                             Boolean isbt = false;
                             for (int i = 0; i < dt.Rows.Count; i++)
                             {
-                                if (dt.Rows[i][0].ToString() == sncode.Text)
+                                if (dt.Rows[i][0].ToString() == checkbt)
                                 {
                                     isbt = true;
                                 }
                             }
                             if (!isbt)
                             {
-                                OperateResult.AppendText(">>BT号"+ sncode.Text + "不符合工单导入要求\n", Color.Red, sncode);
+                                OperateResult.AppendText(">>BT号"+ checkbt + "不符合工单导入要求\n", Color.Red, sncode);
                                 return;
                             }
                         }
@@ -174,9 +175,9 @@ namespace UAS_MES.Make
                             dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
                             if (dt.Rows.Count > 0)
                             {
-                                if (!(dt.Rows[0]["sr_startcode"].ToString().CompareTo(sncode.Text) <= 0 && dt.Rows[0]["sr_endcode"].ToString().CompareTo(sncode.Text) >= 0))
+                                if (!(dt.Rows[0]["sr_startcode"].ToString().Replace(":", "").Replace("-", "").CompareTo(checkbt) <= 0 && dt.Rows[0]["sr_endcode"].ToString().Replace(":", "").Replace("-", "").CompareTo(checkbt) >= 0))
                                 {
-                                    OperateResult.AppendText(">>BT号"+sncode.Text+"不符合销售单合同范围\n", Color.Red, sncode);
+                                    OperateResult.AppendText(">>BT号"+ checkbt + "不符合销售单合同范围\n", Color.Red, sncode);
                                     return;
                                 }
                             }
@@ -189,15 +190,21 @@ namespace UAS_MES.Make
                             OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red);
                             return;
                         }
-                        if (dh.CheckExist("makeserial", "ms_bt = '" + sncode.Text + "'"))
+                        if (dh.CheckExist("sninfo", "si_bt = '" + checkbt + "'"))
                         {
-                            OperateResult.AppendText(">>录入错误,已存在此BT"+ sncode.Text + "\n", Color.Red, sncode);
+                            OperateResult.AppendText(">>录入错误,此BT:" + checkbt + "已被"+dh.getFieldDataByCondition("sninfo", "si_sn", "si_bt = '"+ checkbt + "'").ToString() +"使用\n", Color.Red, sncode);
+                            OperateResult.AppendText(">>请输入BT\n", Color.Black);
+                            return;
+                        }
+                        if (dh.CheckExist("makeserial", "ms_bt = '" + checkbt + "'"))
+                        {
+                            OperateResult.AppendText(">>录入错误,此BT:" + checkbt + "已被" + dh.getFieldDataByCondition("makeserial", "ms_sncode", "ms_bt = '" + checkbt + "'").ToString() + "使用\n", Color.Red, sncode);
                             OperateResult.AppendText(">>请输入BT\n", Color.Black);
                             return;
                         }
                         else
                         {
-                            ms_bt = sncode.Text;
+                            ms_bt = checkbt;
                             OperateResult.AppendText(">>BT采集完成\n>>请输入MAC\n", Color.Green, sncode);
                             isBT = false;
                             isMAC = true;
@@ -218,6 +225,7 @@ namespace UAS_MES.Make
                     string ErrorMessage = "";
                     string result = "";
                     sql.Clear();
+                    string checkmac = sncode.Text.Replace(":", "").Replace("-", "");
                     sql.Append("select mal_mac from MakeAddressList where mal_makecode = '" + ms_makecode.Text + "'");
                     dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
                     if (dt.Rows.Count > 0)
@@ -225,14 +233,14 @@ namespace UAS_MES.Make
                         Boolean ismac = false;
                         for (int i = 0; i < dt.Rows.Count; i++)
                         {
-                            if (dt.Rows[i][0].ToString() == sncode.Text)
+                            if (dt.Rows[i][0].ToString() == checkmac)
                             {
                                 ismac = true;
                             }
                         }
                         if (!ismac)
                         {
-                            OperateResult.AppendText(">>MAC号"+ sncode.Text + "不符合工单导入要求\n", Color.Red, sncode);
+                            OperateResult.AppendText(">>MAC号"+ checkmac + "不符合工单导入要求\n", Color.Red, sncode);
                             return;
                         }
                     }
@@ -245,9 +253,9 @@ namespace UAS_MES.Make
                         dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
                         if (dt.Rows.Count > 0)
                         {
-                            if (!(dt.Rows[0]["sr_startcode"].ToString().CompareTo(sncode.Text) <= 0 && dt.Rows[0]["sr_endcode"].ToString().CompareTo(sncode.Text) >= 0))
+                            if (!(dt.Rows[0]["sr_startcode"].ToString().Replace(":", "").Replace("-", "").CompareTo(checkmac) <= 0 && dt.Rows[0]["sr_endcode"].ToString().Replace(":", "").Replace("-", "").CompareTo(checkmac) >= 0))
                             {
-                                OperateResult.AppendText(">>MAC号" + sncode.Text + "不符合销售单合同范围\n", Color.Red, sncode);
+                                OperateResult.AppendText(">>MAC号" + checkmac + "不符合销售单合同范围\n", Color.Red, sncode);
                                 return;
                             }
                         }
@@ -260,9 +268,15 @@ namespace UAS_MES.Make
                         OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red);
                         return;
                     }
-                    if (dh.CheckExist("makeserial", "ms_mac = '" + sncode.Text + "'"))
+                    if (dh.CheckExist("sninfo", "si_bt = '" + checkmac + "'"))
+                    {
+                        OperateResult.AppendText(">>录入错误,此MAC:" + checkmac + "已被" + dh.getFieldDataByCondition("sninfo", "si_sn", "si_mac = '" + checkmac + "'").ToString() + "使用\n", Color.Red, sncode);
+                        OperateResult.AppendText(">>请输入MAC\n", Color.Black);
+                        return;
+                    }
+                    if (dh.CheckExist("makeserial", "ms_mac = '" + checkmac + "'"))
                     {
-                        OperateResult.AppendText(">>录入错误,已存在此MAC"+ sncode.Text + "\n", Color.Red, sncode);
+                        OperateResult.AppendText(">>录入错误,此MAC:" + checkmac + "已被" + dh.getFieldDataByCondition("makeserial", "ms_sncode", "ms_mac = '" + checkmac + "'").ToString() + "使用\n", Color.Red, sncode);
                         OperateResult.AppendText(">>请输入MAC\n", Color.Black);
                         return;
                     }
@@ -276,12 +290,12 @@ namespace UAS_MES.Make
                             string si_id = dh.getFieldDataByCondition("sninfo", "max(si_id) si_id", " si_sn='"+ sn_code + "' or si_sn in(select sn from makesnrelation where sn='"+ sn_code + "'  or beforesn = '" + sn_code + "')").ToString();
                             if (si_id != "")
                             {
-                                dh.BatchInsert("update  sninfo set si_mac = :mac,si_bt =:bt,si_indate = sysdate where si_id = :osiId", new String[] { "mac", "bt", "osiId" }, new string[] { sncode.Text }, new string[] { ms_bt }, new string[] { si_id });
+                                dh.BatchInsert("update  sninfo set si_mac = :mac,si_bt =:bt,si_indate = sysdate where si_id = :osiId", new String[] { "mac", "bt", "osiId" }, new string[] { checkmac }, new string[] { ms_bt }, new string[] { si_id });
                             }
                             else {
-                                dh.BatchInsert("insert into sninfo (si_id,si_sn,si_mac,si_bt,si_indate) values (SnInfo_seq.nextval,:si_sn,:si_mac,:si_bt,sysdate)", new String[] { "si_sn", "si_mac", "si_bt" }, new string[] { sn_code }, new string[] { sncode.Text }, new string[] { ms_bt });
+                                dh.BatchInsert("insert into sninfo (si_id,si_sn,si_mac,si_bt,si_indate) values (SnInfo_seq.nextval,:si_sn,:si_mac,:si_bt,sysdate)", new String[] { "si_sn", "si_mac", "si_bt" }, new string[] { sn_code }, new string[] { checkmac }, new string[] { ms_bt });
                             }
-                            dh.BatchInsert("update  makeserial set ms_mac = :mac,ms_bt =:bt where ms_id = :oMsId", new String[] { "mac", "bt", "oMsId" }, new string[] { sncode.Text }, new string[] { ms_bt }, new string[] { oMsID.ToString() });
+                            dh.BatchInsert("update  makeserial set ms_mac = :mac,ms_bt =:bt where ms_id = :oMsId", new String[] { "mac", "bt", "oMsId" }, new string[] { checkmac }, new string[] { ms_bt }, new string[] { oMsID.ToString() });
                             OperateResult.AppendText(">>BT/MAC采集完成,执行更新\n", Color.Green);
                             LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ms_makecode.Text, User.UserLineCode, User.UserSourceCode, "BT/MAC采集", "采集成功", sn_code, "");
                             sql.Clear();