Просмотр исходного кода

BT/MAC新增校验,拆解处理模块完善

Hcsy 8 лет назад
Родитель
Сommit
e1d6792c4c

+ 84 - 0
UAS-MES/FunctionCode/Make/Make_CollectBTMAC.cs

@@ -24,6 +24,8 @@ namespace UAS_MES.Make
         string macode;
         //采集BT号
         string ms_bt;
+        //采集销售单号
+        string sale_code;
         //采集MAC
         string ms_mac;
         //网标查询条件ms_id
@@ -144,6 +146,47 @@ namespace UAS_MES.Make
                         OperateResult.AppendText("<<" + sncode.Text + "\n", Color.Green);
                         string ErrorMessage = "";
                         string result = "";
+                        sql.Clear();
+                        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)
+                        {
+                            Boolean isbt = false;
+                            for (int i = 0; i < dt.Rows.Count; i++)
+                            {
+                                if (dt.Rows[i][0].ToString() == sncode.Text)
+                                {
+                                    isbt = true;
+                                }
+                            }
+                            if (!isbt)
+                            {
+                                OperateResult.AppendText(">>BT号不符合工单导入要求\n", Color.Red);
+                                sncode.Text = "";
+                                return;
+                            }
+                        }
+                        else
+                        {
+                            //根据工单号获取销售单号
+                            sale_code = dh.getFieldDataByCondition("make", "ma_salecode", "ma_code = '" + ms_makecode.Text + "'").ToString();
+                            sql.Clear();
+                            sql.Append("select sr_startcode,sr_endcode from SaleMacBTRange where sr_sacode = '" + sale_code + "' and sr_type = 'BT'");
+                            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)
+                                {
+
+                                }
+                                else
+                                {
+                                    OperateResult.AppendText(">>BT号不符合销售单合同范围\n", Color.Red);
+                                    sncode.Text = "";
+                                    return;
+                                }
+                            }
+                        }
                         //根据序列号获取此时BT号
                         ms_bt = dh.getFieldDataByCondition("makeserial", "ms_bt", "ms_id = '" + oMsID + "'").ToString();
                         if (sncode.Text == ms_bt)
@@ -177,6 +220,47 @@ namespace UAS_MES.Make
                     OperateResult.AppendText("<<" + sncode.Text + "\n", Color.Green);
                     string ErrorMessage = "";
                     string result = "";
+                    sql.Clear();
+                    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)
+                    {
+                        Boolean ismac = false;
+                        for (int i = 0; i < dt.Rows.Count; i++)
+                        {
+                            if (dt.Rows[i][0].ToString() == sncode.Text)
+                            {
+                                ismac = true;
+                            }
+                        }
+                        if (!ismac)
+                        {
+                            OperateResult.AppendText(">>MAC号不符合工单导入要求\n", Color.Red);
+                            sncode.Text = "";
+                            return;
+                        }
+                    }
+                    else
+                    {
+                        //根据工单号获取销售单号
+                        sale_code = dh.getFieldDataByCondition("make", "ma_salecode", "ma_code = '" + ms_makecode.Text + "'").ToString();
+                        sql.Clear();
+                        sql.Append("select sr_startcode,sr_endcode from SaleMacBTRange where sr_sacode = '" + sale_code + "' and sr_type = 'MAC'");
+                        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)
+                            {
+
+                            }
+                            else
+                            {
+                                OperateResult.AppendText(">>MAC号不符合销售单合同范围\n", Color.Red);
+                                sncode.Text = "";
+                                return;
+                            }
+                        }
+                    }
                     //根据序列号获取此时网标号
                     ms_mac = dh.getFieldDataByCondition("makeserial", "ms_mac", "ms_id = '" + oMsID + "'").ToString();
                     if (sncode.Text == ms_mac)

+ 22 - 7
UAS-MES/FunctionCode/Make/Make_Decompose.cs

@@ -28,6 +28,8 @@ namespace UAS_MES.Make
 
         int rowindex;
 
+        //记录当前输入框的值
+        string sncode_1;
         string[] bccode ;
         string[] bgcode;
         string[] id ;
@@ -56,6 +58,9 @@ namespace UAS_MES.Make
                 sql.Append(" from  makesnrelation where beforesn='" + sn_code.Text + "'  and ms_makecode=makecode)");
                 dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
                 ms_id = dt.Rows[0][0].ToString();
+                sncode_1 = sn_code.Text;
+                BaseUtil.CleanForm(this);
+                deccount.Text = count + "";
                 if (ms_id != "")
                 {
                     sql.Clear();
@@ -74,7 +79,7 @@ namespace UAS_MES.Make
                     }
                     else
                     {
-                        OperateResult.AppendText(">>序列号" + sn_code.Text + "必须是非在线状态才能做拆解\n", Color.Red);
+                        OperateResult.AppendText(">>序列号" + ms_sncode.Text + "必须是非在线状态才能做拆解\n", Color.Red);
                         sn_code.Text = "";
                         BaseUtil.CleanForm(this);
                         sn_code.Focus();
@@ -83,7 +88,7 @@ namespace UAS_MES.Make
                 }
                 else {
                     ms_id = null;
-                    OperateResult.AppendText(">>序列号"+ms_sncode.Text+"不存在\n",Color.Red);
+                    OperateResult.AppendText(">>序列号"+ sncode_1 + "不存在\n",Color.Red);
                     sn_code.Text = "";
                     BaseUtil.CleanForm(this);
                     sn_code.Focus();
@@ -95,16 +100,17 @@ namespace UAS_MES.Make
 
         private void LoadData(string sncode)
         {
+            sncode_1 = sncode;
             sql.Clear();
             sql.Append("select cm_sncode,cm_maprodcode,cm_maid,cm_id,cm_soncode,cm_barcode,pr_detail,cm_materialtype from craftmaterial left join product on pr_code=cm_soncode where");
-            sql.Append(" cm_sncode='" + sncode + "' and cm_maprodcode='" + ms_prodcode.Text + "' and  nvl(cm_status,0)='0'");
+            sql.Append(" cm_sncode='" + sncode_1 + "' and cm_maprodcode='" + ms_prodcode.Text + "' and  nvl(cm_status,0)='0'");
             dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
             if (dt.Rows.Count > 0)
             {
                 BaseUtil.FillDgvWithDataTable(LabelDataGridView, dt);
             }
             else {
-                OperateResult.AppendText(">>序列号"+sn_code.Text+"无上料数据\n", Color.Red);              
+                OperateResult.AppendText(">>序列号"+ ms_sncode.Text + "无上料数据\n", Color.Red);              
             }
         }
 
@@ -190,7 +196,7 @@ namespace UAS_MES.Make
 
         private void Decompose_Click(object sender, EventArgs e)
         {
-
+            Boolean decompose = false;
             for (int i = 0; i < LabelDataGridView.Rows.Count; i++)
             {
                 if (LabelDataGridView.Rows[i].Cells["Choose"].Value != null)
@@ -235,6 +241,7 @@ namespace UAS_MES.Make
                             sql.Append("'"+User.UserSourceCode+"','"+ sp_id + "','"+ LabelDataGridView.Rows[i].Cells["cm_materialtype"].Value + "','0')");
                             dh.ExecuteSql(sql.GetString(), "insert");
                             OperateResult.AppendText("物料" + LabelDataGridView.Rows[i].Cells["cm_barcode"].Value + "拆解换料成功\n", Color.Green);
+                            decompose = true;
                         }
                     }
                     else if ((Boolean)LabelDataGridView.Rows[i].Cells["Choose2"].Value == true)
@@ -246,11 +253,19 @@ namespace UAS_MES.Make
                         sql.Append("cm_dropsccode='" + User.CurrentStepCode + "' where cm_id='"+ LabelDataGridView.Rows[i].Cells["cm_id"].Value + "'");
                         dh.ExecuteSql(sql.GetString(), "update");
                         OperateResult.AppendText("物料"+ LabelDataGridView.Rows[i].Cells["cm_barcode"].Value + "拆解成功\n",Color.Green);
+                        decompose = true;
                     }
                 }
             }
-
-
+            if (decompose)
+            {
+                count++;
+                deccount.Text = count + "";
+                LoadData(sncode_1);
+            }
+            else {
+                OperateResult.AppendText("没有选择拆解项\n", Color.Red);
+            }          
         }
     }
 }