浏览代码

二次转号修改

shim 8 年之前
父节点
当前提交
1202a8de67
共有 2 个文件被更改,包括 238 次插入141 次删除
  1. 117 69
      UAS-MES/FunctionCode/Make/Make_SeqProgramTransform.cs
  2. 121 72
      UAS-MES/FunctionCode/Make/Make_SeqTransform.cs

+ 117 - 69
UAS-MES/FunctionCode/Make/Make_SeqProgramTransform.cs

@@ -95,109 +95,157 @@ namespace UAS_MES.Make
                         if (step == 0)
                         {
                             OperateResult.AppendText(">>TSN号" + code.Text + "\n", Color.Black);
-                            //核对工序
-                            if (LogicHandler.CheckStepSNAndMacode("", User.UserSourceCode, code.Text, User.UserCode, out oMakecode, out oMsid, out errorMessage))
+                            if (!ChangeResult.Checked)//不勾选
                             {
-                                //如果用户没有选择工单号
-                                if (ms_macode.Text == "" || ms_macode.Text != oMakecode)
+                                //核对工序
+                                if (!LogicHandler.CheckStepSNAndMacode("", User.UserSourceCode, code.Text, User.UserCode, out oMakecode, out oMsid, out errorMessage))
                                 {
-                                    //按照out出的工单号查出工单相关信息,并赋值到相关控件
-                                    sql.Clear();
-                                    sql.Append("select ma_code as ms_macode,ma_softversion,mcd_okqty,ma_qty,ma_qty-mcd_inqty as remain_qty,pr_detail,pr_code as ma_prodcode ");
-                                    sql.Append("from makeserial left join make on ms_makecode=ma_code left join product on ");
-                                    sql.Append("ms_prodcode=pr_code left join makecraftdetail on ms_makecode=mcd_macode where ms_id=:msid and mcd_stepcode='" + User.CurrentStepCode + "'");
-                                    dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select", oMsid);
-                                    if (dt.Rows.Count > 0)
-                                    {
-                                        //记录数量
-                                        ma_qty = int.Parse(dt.Rows[0]["ma_qty"].ToString());
-                                        BaseUtil.SetFormValue(this.Controls, dt);
-                                    }
-                                    else
-                                    {
-                                        OperateResult.AppendText(">>TSN号" + code.Text + "不存在\n", Color.Red, code);
-                                        return;
-                                    }
+                                    OperateResult.AppendText(">>" + errorMessage + "\n", Color.Red, code);
+                                    return;
                                 }
-                                //获取需要关联采集的信息,以及校验规则
-                                ListA = (DataTable)dh.ExecuteSql("select * from productsnrelation where psr_prodcode='" + ma_prodcode.Text + "' order by psr_detno", "select");
-                                //没有获取到就提示错误请维护产品对应的关联采集信息
-                                if (ListA.Rows.Count == 0)
+                            }
+                            else//勾选
+                            {
+                                oMsid = dh.getFieldDataByCondition("makeserial", "max(ms_id)", "ms_sncode in (select '" + code.Text + "' from dual union select sn from makesnrelation where beforesn='" + code.Text + "' and sn<>' ' union select beforesn from makesnrelation where sn='" + code.Text + "' and beforesn<>' ')").ToString();
+                                if (oMsid=="")
                                 {
-                                    OperateResult.AppendText(">>请维护产品对应的关联采集信息\n", Color.Red, code);
-                                    OperateResult.AppendText("<<请输入TSN\n", Color.Black);
+                                    OperateResult.AppendText(">>TSN号错误\n", Color.Red, code);
                                     return;
                                 }
-                                //判断重新转换是否勾选了
-                                if (ChangeResult.Checked)
+                                //根据ms_id查询
+                                sql.Clear();
+                                sql.Append("select 1 from makeserial where ms_id='"+oMsid+"' and ms_beforesn='"+code.Text+"' and ms_nextmacode is null and ms_outboxcode is null");
+                                dt = (DataTable)dh.ExecuteSql(sql.GetString(),"select");
+                                //如果行数大于0则允许转号
+                                if (dt.Rows.Count > 0)
                                 {
-                                    //勾选了
-                                    if (dh.CheckExist("MakeSerial", "ms_beforesn='" + code.Text + "' and ms_id='" + oMsid + "'"))
+                                    sql.Clear();
+                                    sql.Append("select 1 from makeserial where ms_id='" + oMsid + "' and ms_stepcode='" + User.CurrentStepCode + "'");
+                                    dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
+                                    if (dt.Rows.Count > 0)
                                     {
                                         step = 1;
 
                                         TSN = code.Text;
                                         //显示序列号
                                         show_sncode.Text = TSN;
-                                        OperateResult.AppendText("<<请输入SN\n", Color.Green, code);
                                         ChangeResult.Enabled = false;
                                     }
                                     else
                                     {
-                                        OperateResult.AppendText(">>不存在该已转序列号:" + code.Text + "\n", Color.Red, code);
-                                        OperateResult.AppendText("<<请重新输入TSN\n", Color.Black);
+                                        OperateResult.AppendText(">>当前工序不允许重新转号\n", Color.Red, code);
+                                        return;
                                     }
                                 }
                                 else
                                 {
-                                    //没有勾选,只能修改一次
-                                    //核对TSN是否正确
-                                    //string beforesn = dh.getFieldDataByCondition("makeserial", "ms_beforesn", "ms_sncode='" + code.Text + "'").ToString().Trim();
-                                    if (dh.CheckExist("makeserial", "ms_sncode='" + code.Text + "' and ms_id='" + oMsid + "' and ms_beforesn is null"))
+                                    OperateResult.AppendText(">>TSN号" + code.Text + "当前状态不允许重新转号\n", Color.Red, code);
+                                    return;
+                                }
+                            }
+                            //如果用户没有选择工单号
+                            if (ms_macode.Text == "" || ms_macode.Text != oMakecode||ChangeResult.Checked)
+                            {
+                                //按照out出的工单号查出工单相关信息,并赋值到相关控件
+                                sql.Clear();
+                                sql.Append("select ma_code as ms_macode,ma_softversion,mcd_okqty,ma_qty,ma_qty-mcd_inqty as remain_qty,pr_detail,pr_code as ma_prodcode ");
+                                sql.Append("from makeserial left join make on ms_makecode=ma_code left join product on ");
+                                sql.Append("ms_prodcode=pr_code left join makecraftdetail on ms_makecode=mcd_macode where ms_id=:msid and mcd_stepcode='" + User.CurrentStepCode + "'");
+                                dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select", oMsid);
+                                if (dt.Rows.Count > 0)
+                                {
+                                    //记录数量
+                                    ma_qty = int.Parse(dt.Rows[0]["ma_qty"].ToString());
+                                    BaseUtil.SetFormValue(this.Controls, dt);
+                                }
+                                else
+                                {
+                                    OperateResult.AppendText(">>TSN号" + code.Text + "不存在\n", Color.Red, code);
+                                    return;
+                                }
+                            }
+                            //获取需要关联采集的信息,以及校验规则
+                            ListA = (DataTable)dh.ExecuteSql("select * from productsnrelation where psr_prodcode='" + ma_prodcode.Text + "' order by psr_detno", "select");
+                            //没有获取到就提示错误请维护产品对应的关联采集信息
+                            if (ListA.Rows.Count == 0)
+                            {
+                                OperateResult.AppendText(">>请维护产品对应的关联采集信息\n", Color.Red, code);
+                                OperateResult.AppendText("<<请输入TSN\n", Color.Black);
+                                if (ChangeResult.Checked)
+                                {
+                                    clearInfo();
+                                }
+                                return;
+                            }
+                            if (ChangeResult.Checked)
+                            {
+                                OperateResult.AppendText("<<请输入SN\n", Color.Green, code);
+                            }
+                            //判断重新转换是否勾选了
+                            if (ChangeResult.Checked)
+                            {
+                                ////勾选了
+                                //if (dh.CheckExist("MakeSerial", "ms_beforesn='" + code.Text + "' and ms_id='" + oMsid + "'"))
+                                //{
+                                //    step = 1;
+
+                                //    TSN = code.Text;
+                                //    //显示序列号
+                                //    show_sncode.Text = TSN;
+                                //    OperateResult.AppendText("<<请输入SN\n", Color.Green, code);
+                                //    ChangeResult.Enabled = false;
+                                //}
+                                //else
+                                //{
+                                //    OperateResult.AppendText(">>不存在该已转序列号:" + code.Text + "\n", Color.Red, code);
+                                //    OperateResult.AppendText("<<请重新输入TSN\n", Color.Black);
+                                //}
+                            }
+                            else
+                            {
+                                //没有勾选,只能修改一次
+                                //核对TSN是否正确
+                                //string beforesn = dh.getFieldDataByCondition("makeserial", "ms_beforesn", "ms_sncode='" + code.Text + "'").ToString().Trim();
+                                if (dh.CheckExist("makeserial", "ms_sncode='" + code.Text + "' and ms_id='" + oMsid + "' and ms_beforesn is null"))
+                                {
+                                    step = 1;
+
+                                    //记录转换前的序列号
+                                    TSN = code.Text;
+                                    //显示之前的序列号
+                                    show_sncode.Text = TSN;
+                                    OperateResult.AppendText("<<请输入SN\n", Color.Green, code);
+                                    ChangeResult.Enabled = false;
+                                }
+                                else
+                                //不为空,进行过转换。不勾选修改结果,就不能再修改
+                                {
+                                    //修改转换结果时,输入两次SN直接过站
+                                    if (dh.CheckExist("MakeSerial", "ms_sncode='" + code.Text + "' and ms_id='" + oMsid + "' and ms_beforesn is not null"))
                                     {
                                         step = 1;
-
-                                        //记录转换前的序列号
                                         TSN = code.Text;
-                                        //显示之前的序列号
+                                        //显示序列号
                                         show_sncode.Text = TSN;
                                         OperateResult.AppendText("<<请输入SN\n", Color.Green, code);
                                         ChangeResult.Enabled = false;
+                                        onlyPass = true;
                                     }
                                     else
-                                    //不为空,进行过转换。不勾选修改结果,就不能再修改
                                     {
-                                        //修改转换结果时,输入两次SN直接过站
-                                        if (dh.CheckExist("MakeSerial", "ms_sncode='" + code.Text + "' and ms_id='" + oMsid + "' and ms_beforesn is not null"))
-                                        {
-                                            step = 1;
-                                            TSN = code.Text;
-                                            //显示序列号
-                                            show_sncode.Text = TSN;
-                                            OperateResult.AppendText("<<请输入SN\n", Color.Green, code);
-                                            ChangeResult.Enabled = false;
-                                            onlyPass = true;
-                                        }
-                                        else
-                                        {
-                                            OperateResult.AppendText(">>序列号:" + code.Text + "已转换过\n", Color.Red, code);
-                                            OperateResult.AppendText("<<请重新输入TSN\n", Color.Black);
-                                        }
+                                        OperateResult.AppendText(">>序列号:" + code.Text + "已转换过\n", Color.Red, code);
+                                        OperateResult.AppendText("<<请重新输入TSN\n", Color.Black);
                                     }
                                 }
                             }
-                            else
-                            {
-                                OperateResult.AppendText(">>" + errorMessage + "\n", Color.Red, code);
-                            }
                         }
                         else if (step == 1)
                         {
                             OperateResult.AppendText(">>" + code.Text + "\n", Color.Black);
                             //判断工单是否导入了序列号清单
-                            if (dh.CheckExist("makesnlist", "msl_makecode='" + oMakecode + "' and msl_type='after'"))
+                            if (dh.CheckExist("makesnlist", "msl_makecode='" + ms_macode.Text + "' and msl_type='after'"))
                             {
-                                if (!dh.CheckExist("makesnlist", "msl_makecode='" + oMakecode + "' and msl_sncode='" + code.Text + "'  and msl_type='after'"))
+                                if (!dh.CheckExist("makesnlist", "msl_makecode='" + ms_macode.Text + "' and msl_sncode='" + code.Text + "'  and msl_type='after'"))
                                 {
                                     //有序列号清单,输入的序列号却不在范围内
                                     OperateResult.AppendText(">>SN号" + code.Text + "错误,不在工单设定的转换后序列号清单中\n", Color.Red, code);
@@ -230,7 +278,7 @@ namespace UAS_MES.Make
                                     if (errorMessage.Contains("AFTERSUCCESS"))
                                         OperateResult.AppendText(">>" + errorMessage + "\n");
                                     //记录日志
-                                    LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, oMakecode, User.UserLineCode, User.UserSourceCode, "序列转换", "转换成功", code.Text, "");
+                                    LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ms_macode.Text, User.UserLineCode, User.UserSourceCode, "序列转换", "转换成功", code.Text, "");
                                     OperateResult.AppendText(">>转换成功\n", Color.Green, code);
                                     onlyPass = false;
                                     ChangeResult.Enabled = true;
@@ -537,7 +585,7 @@ namespace UAS_MES.Make
                             //记录本次修改,存入makesnrelation表中
                             updateSql = "update makeserial set ms_sncode='" + SN + "'," + s1.Remove(s1.Length - 1, 1).ToString() + " where ms_beforesn='" + TSN + "' and ms_id='" + oMsid + "'";
                             //删除最近一条转换记录
-                            dh.ExecuteSql("delete from makesnrelation where BEFORESN='" + TSN + "' and makecode='" + oMakecode + "'", "delete");
+                            dh.ExecuteSql("delete from makesnrelation where BEFORESN='" + TSN + "' and makecode='" + ms_macode.Text + "'", "delete");
                         }
                         //未勾选修改转换结果
                         else
@@ -553,7 +601,7 @@ namespace UAS_MES.Make
                         //写入日志
                         LogManager.DoLog("修改序列号:" + TSN + "为" + SN + "成功!" + "操作人:" + User.UserCode);
                         //记录日志
-                        LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, oMakecode, User.UserLineCode, User.UserSourceCode, "序列烧录转换", "转换成功", TSN, "");
+                        LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ms_macode.Text, User.UserLineCode, User.UserSourceCode, "序列烧录转换", "转换成功", TSN, "");
                         //写入sninfo表
                         insert2Sninfo(SN);
                         //输出提示用户“>>序列号转换成功”,“>>关联采集成功”
@@ -627,12 +675,12 @@ namespace UAS_MES.Make
             SNPre_checkBox.Enabled = true;
             SNLength_checkBox.Enabled = true;
             //判断工单是否导入了序列号清单
-            if (dh.CheckExist("makesnlist", "msl_makecode='" + oMakecode + "' and msl_type='after'"))
+            if (dh.CheckExist("makesnlist", "msl_makecode='" + ms_macode.Text + "' and msl_type='after'"))
             {
                 return;
             }
             //查询表工单序列号防呆规则表
-            rules = (DataTable)dh.ExecuteSql("select msr_startno,msr_endno,msr_system,msr_type, msr_prefix ,msr_length from makesnrule where msr_makecode='" + oMakecode + "'", "select");
+            rules = (DataTable)dh.ExecuteSql("select msr_startno,msr_endno,msr_system,msr_type, msr_prefix ,msr_length from makesnrule where msr_makecode='" + ms_macode.Text + "'", "select");
             if (rules.Rows.Count > 0)
             {
                 foreach (DataRow dr in rules.Rows)

+ 121 - 72
UAS-MES/FunctionCode/Make/Make_SeqTransform.cs

@@ -83,102 +83,151 @@ namespace UAS_MES.Make
                         //bsncode为空,就说明是输入转换之前的序列号
                         if (bsncode == "")
                         {
-                            //用户填写了工单号,那么序列号必须要是该工单的,否则提示错误
-                            if (LogicHandler.CheckStepSNAndMacode("", User.UserSourceCode, sncode.Text, User.UserCode, out oMakeCode, out oMsId, out errorMessage))
+                            if (!ChangeResult.Checked)
                             {
-                                //如果用户没有选择工单号
-                                if (ma_code.Text == "" || ma_code.Text != oMakeCode)
+                                //用户填写了工单号,那么序列号必须要是该工单的,否则提示错误
+                                if (!LogicHandler.CheckStepSNAndMacode("", User.UserSourceCode, sncode.Text, User.UserCode, out oMakeCode, out oMsId, out errorMessage))
+                                {
+                                    OperateResult.AppendText(">>" + errorMessage + "\n", Color.Red, sncode);
+                                    return;
+                                }
+                            }
+                            else//勾选
+                            {
+                                oMsId = dh.getFieldDataByCondition("makeserial", "max(ms_id)", "ms_sncode in (select '" + sncode.Text + "' from dual union select sn from makesnrelation where beforesn='" + sncode.Text + "' and sn<>' ' union select beforesn from makesnrelation where sn='" + sncode.Text + "' and beforesn<>' ')").ToString();
+                                if (oMsId == "")
+                                {
+                                    OperateResult.AppendText(">>TSN号错误\n", Color.Red, sncode);
+                                    return;
+                                }
+                                //根据ms_id查询
+                                sql.Clear();
+                                sql.Append("select 1 from makeserial where ms_id='" + oMsId + "' and ms_beforesn='" + sncode.Text + "' and ms_nextmacode is null and ms_outboxcode is null");
+                                dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
+                                //如果行数大于0则允许转号
+                                if (dt.Rows.Count > 0)
                                 {
-                                    //按照out出的工单号查出工单相关信息,并赋值到相关控件
                                     sql.Clear();
-                                    sql.Append("select ma_code,ma_softversion,ma_prodcode,pr_detail,ma_qty,ma_qty-mcd_inqty as remain_qty ");
-                                    sql.Append("from makeserial left join make on ms_makecode=ma_code left join product on ");
-                                    sql.Append("ms_prodcode=pr_code left join makecraftdetail on ms_makecode=mcd_macode where ms_id=:msid and mcd_stepcode='" + User.CurrentStepCode + "'");
-                                    dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select", oMsId);
+                                    sql.Append("select 1 from makeserial where ms_id='" + oMsId + "' and ms_stepcode='" + User.CurrentStepCode + "'");
+                                    dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
                                     if (dt.Rows.Count > 0)
                                     {
-                                        //记录数量
-                                        ma_qty = int.Parse(dt.Rows[0]["ma_qty"].ToString());
-                                        BaseUtil.SetFormValue(this.Controls, dt);
-                                        //ms_makecode_lock.Checked = true;
+                                        bsncode = sncode.Text;
+                                        //显示序列号
+                                        show_sncode.Text = bsncode;
+                                        ChangeResult.Enabled = false;
+                                    }
+                                    else
+                                    {
+                                        OperateResult.AppendText(">>当前工序不允许重新转号\n", Color.Red, sncode);
+                                        return;
                                     }
                                 }
-                                //获取需要关联采集的信息,以及校验规则
-                                ListA = (DataTable)dh.ExecuteSql("select * from productsnrelation where psr_prodcode='" + ma_prodcode.Text + "' order by psr_detno", "select");
-                                //没有获取到就提示错误请维护产品对应的关联采集信息
-                                if (ListA.Rows.Count > 0)
+                                else
                                 {
-                                    OperateResult.AppendText(">>产品已维护关联采集信息,不允许只做转号\n", Color.Red, sncode);
-                                    OperateResult.AppendText("<<请输入TSN\n", Color.Black);
+                                    OperateResult.AppendText(">>TSN号" + sncode.Text + "当前状态不允许重新转号\n", Color.Red, sncode);
                                     return;
                                 }
-                                switch (ChangeResult.CheckState)
+                            }
+                            //如果用户没有选择工单号
+                            if (ma_code.Text == "" || ma_code.Text != oMakeCode||ChangeResult.Checked)
+                            {
+                                //按照out出的工单号查出工单相关信息,并赋值到相关控件
+                                sql.Clear();
+                                sql.Append("select ma_code,ma_softversion,ma_prodcode,pr_detail,ma_qty,ma_qty-mcd_inqty as remain_qty ");
+                                sql.Append("from makeserial left join make on ms_makecode=ma_code left join product on ");
+                                sql.Append("ms_prodcode=pr_code left join makecraftdetail on ms_makecode=mcd_macode where ms_id=:msid and mcd_stepcode='" + User.CurrentStepCode + "'");
+                                dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select", oMsId);
+                                if (dt.Rows.Count > 0)
                                 {
-                                    //勾选是修改已转换的序列,矫正修改错了的序列号
-                                    case CheckState.Checked:
-                                        if (dh.CheckExist("MakeSerial", "ms_beforesn='" + sncode.Text + "' and ms_id='" + oMsId + "'"))
-                                        {
-                                            bsncode = sncode.Text;
-                                            //显示序列号
-                                            show_sncode.Text = bsncode;
-                                            OperateResult.AppendText("<<请输入SN号\n", Color.Green, sncode);
-                                            ChangeResult.Enabled = false;
-                                        }
-                                        else
-                                        {
-                                            OperateResult.AppendText(">>不存在该已转序列号:" + sncode.Text + "\n", Color.Red, sncode);
-                                            OperateResult.AppendText("<<请重新输入TSN号\n", Color.Black);
-                                        }
-                                        break;
-                                    case CheckState.Unchecked:
+                                    //记录数量
+                                    ma_qty = int.Parse(dt.Rows[0]["ma_qty"].ToString());
+                                    BaseUtil.SetFormValue(this.Controls, dt);
+                                    //ms_makecode_lock.Checked = true;
+                                }
+                            }
+                            //获取需要关联采集的信息,以及校验规则
+                            ListA = (DataTable)dh.ExecuteSql("select * from productsnrelation where psr_prodcode='" + ma_prodcode.Text + "' order by psr_detno", "select");
+                            //没有获取到就提示错误请维护产品对应的关联采集信息
+                            if (ListA.Rows.Count > 0)
+                            {
+                                OperateResult.AppendText(">>产品已维护关联采集信息,不允许只做转号\n", Color.Red, sncode);
+                                OperateResult.AppendText("<<请输入TSN\n", Color.Black);
+                                if (ChangeResult.Checked)
+                                {
+                                    bsncode = "";
+                                    ChangeResult.Enabled = true;
+                                    flag = false;
+                                    show_sncode.Text = "";
+                                }
+                                return;
+                            }
+                            if (ChangeResult.Checked)
+                            {
+                                OperateResult.AppendText("<<请输入SN号\n", Color.Green, sncode);
+                            }
+                            switch (ChangeResult.CheckState)
+                            {
+                                //勾选是修改已转换的序列,矫正修改错了的序列号
+                                case CheckState.Checked:
+                                    //if (dh.CheckExist("MakeSerial", "ms_beforesn='" + sncode.Text + "' and ms_id='" + oMsId + "'"))
+                                    //{
+                                    //    bsncode = sncode.Text;
+                                    //    //显示序列号
+                                    //    show_sncode.Text = bsncode;
+                                    //    OperateResult.AppendText("<<请输入SN号\n", Color.Green, sncode);
+                                    //    ChangeResult.Enabled = false;
+                                    //}
+                                    //else
+                                    //{
+                                    //    OperateResult.AppendText(">>不存在该已转序列号:" + sncode.Text + "\n", Color.Red, sncode);
+                                    //    OperateResult.AppendText("<<请重新输入TSN号\n", Color.Black);
+                                    //}
+                                    break;
+                                case CheckState.Unchecked:
 
-                                        //string beforesn = dh.getFieldDataByCondition("makeserial", "ms_beforesn", "ms_sncode='" + sncode.Text + "'").ToString().Trim();
-                                        //为空,就说明,没有进行过序列号的转换
-                                        if (dh.CheckExist("makeserial", "ms_sncode='" + sncode.Text + "' and ms_id='" + oMsId + "' and ms_beforesn is null"))
+                                    //string beforesn = dh.getFieldDataByCondition("makeserial", "ms_beforesn", "ms_sncode='" + sncode.Text + "'").ToString().Trim();
+                                    //为空,就说明,没有进行过序列号的转换
+                                    if (dh.CheckExist("makeserial", "ms_sncode='" + sncode.Text + "' and ms_id='" + oMsId + "' and ms_beforesn is null"))
+                                    {
+                                        //记录转换前的序列号
+                                        bsncode = sncode.Text;
+                                        //显示序列号
+                                        show_sncode.Text = bsncode;
+                                        OperateResult.AppendText("<<请输入SN号\n", Color.Green, sncode);
+                                        ChangeResult.Enabled = false;
+                                    }
+                                    else
+                                    //不为空,进行过转换。不勾选修改结果,就不能再修改
+                                    {
+                                        //修改转换结果时,输入两次SN直接过站
+                                        if (dh.CheckExist("MakeSerial", "ms_sncode='" + sncode.Text + "' and ms_id='" + oMsId + "' and ms_beforesn is not null"))
                                         {
-                                            //记录转换前的序列号
                                             bsncode = sncode.Text;
                                             //显示序列号
                                             show_sncode.Text = bsncode;
                                             OperateResult.AppendText("<<请输入SN号\n", Color.Green, sncode);
                                             ChangeResult.Enabled = false;
+                                            flag = true;
                                         }
                                         else
-                                        //不为空,进行过转换。不勾选修改结果,就不能再修改
                                         {
-                                            //修改转换结果时,输入两次SN直接过站
-                                            if (dh.CheckExist("MakeSerial", "ms_sncode='" + sncode.Text + "' and ms_id='" + oMsId + "' and ms_beforesn is not null"))
-                                            {
-                                                bsncode = sncode.Text;
-                                                //显示序列号
-                                                show_sncode.Text = bsncode;
-                                                OperateResult.AppendText("<<请输入SN号\n", Color.Green, sncode);
-                                                ChangeResult.Enabled = false;
-                                                flag = true;
-                                            }
-                                            else
-                                            {
-                                                OperateResult.AppendText(">>序列号:" + sncode.Text + "已转换过\n", Color.Red, sncode);
-                                                OperateResult.AppendText("<<请重新输入TSN号\n", Color.Black);
-                                            }
+                                            OperateResult.AppendText(">>序列号:" + sncode.Text + "已转换过\n", Color.Red, sncode);
+                                            OperateResult.AppendText("<<请重新输入TSN号\n", Color.Black);
                                         }
-                                        break;
-                                    default:
-                                        break;
-                                }
-                            }
-                            else
-                            {
-                                OperateResult.AppendText(">>" + errorMessage + "\n", Color.Red, sncode);
+                                    }
+                                    break;
+                                default:
+                                    break;
                             }
                         }
                         //bsncode不为空,说明输入的是转换后的序列号
                         else
                         {
                             //判断工单是否导入了序列号清单
-                            if (dh.CheckExist("makesnlist", "msl_makecode='" + oMakeCode + "' and msl_type='after'"))
+                            if (dh.CheckExist("makesnlist", "msl_makecode='" + ma_code.Text + "' and msl_type='after'"))
                             {
-                                if (!dh.CheckExist("makesnlist", "msl_makecode='" + oMakeCode + "' and msl_sncode='" + sncode.Text + "'  and msl_type='after'"))
+                                if (!dh.CheckExist("makesnlist", "msl_makecode='" + ma_code.Text + "' and msl_sncode='" + sncode.Text + "'  and msl_type='after'"))
                                 {
                                     //有序列号清单,输入的序列号却不在范围内
                                     OperateResult.AppendText(">>SN号" + sncode.Text + "错误,不在工单设定的转换后序列号清单中\n", Color.Red, sncode);
@@ -207,7 +256,7 @@ namespace UAS_MES.Make
                                     if (errorMessage.Contains("AFTERSUCCESS"))
                                         OperateResult.AppendText(">>" + errorMessage + "\n");
                                     //记录日志
-                                    LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, oMakeCode, User.UserLineCode, User.UserSourceCode, "序列转换", "转换成功", sncode.Text, "");
+                                    LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ma_code.Text, User.UserLineCode, User.UserSourceCode, "序列转换", "转换成功", sncode.Text, "");
                                     OperateResult.AppendText(">>转换成功\n", Color.Green, sncode);
                                     flag = false;
                                     ChangeResult.Enabled = true;
@@ -234,7 +283,7 @@ namespace UAS_MES.Make
                                     //记录本次修改,存入makesnrelation表中
                                     updateSql = "update makeserial set ms_sncode='" + sncode.Text + "' where ms_beforesn='" + bsncode + "' and ms_id='" + oMsId + "'";
                                     //删除最近一条转换记录
-                                    dh.ExecuteSql("delete from makesnrelation where BEFORESN='" + bsncode + "' and makecode='" + oMakeCode + "'", "delete");
+                                    dh.ExecuteSql("delete from makesnrelation where BEFORESN='" + bsncode + "' and makecode='" + ma_code.Text + "'", "delete");
                                 }
                                 //未勾选修改转换结果
                                 else
@@ -248,7 +297,7 @@ namespace UAS_MES.Make
                                 dh.ExecuteSQLTran(updateSql, insertSql);
                                 OperateResult.AppendText(">>转换成功\n", Color.Green);
                                 //记录日志
-                                LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, oMakeCode, User.UserLineCode, User.UserSourceCode, "序列转换", "转换成功", sncode.Text, "");
+                                LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ma_code.Text, User.UserLineCode, User.UserSourceCode, "序列转换", "转换成功", sncode.Text, "");
                                 LogManager.DoLog("修改序列号:" + bsncode + "为" + sncode.Text + "成功!" + "操作人:" + User.UserCode);
                                 //写入日志
                                 if (LogicHandler.SetStepResult(ma_code.Text, User.UserSourceCode, sncode.Text, "序列转换", "序列转换成功", User.UserCode, out errorMessage))
@@ -356,12 +405,12 @@ namespace UAS_MES.Make
             afterTransSNPre_checkBox.Enabled = true;
             afterTransSNLength_checkBox.Enabled = true;
             //判断工单是否导入了序列号清单
-            if (dh.CheckExist("makesnlist", "msl_makecode='" + oMakeCode + "' and msl_type='after'"))
+            if (dh.CheckExist("makesnlist", "msl_makecode='" + ma_code.Text + "' and msl_type='after'"))
             {
                 return;
             }
             //查询表工单序列号防呆规则表
-            rules = (DataTable)dh.ExecuteSql("select msr_startno,msr_endno,msr_system,msr_type, msr_prefix ,msr_length from makesnrule where msr_makecode='" + oMakeCode + "'", "select");
+            rules = (DataTable)dh.ExecuteSql("select msr_startno,msr_endno,msr_system,msr_type, msr_prefix ,msr_length from makesnrule where msr_makecode='" + ma_code.Text + "'", "select");
             if (rules.Rows.Count > 0)
             {
                 foreach (DataRow dr in rules.Rows)