Browse Source

Merge remote-tracking branch 'refs/remotes/origin/master'

章政 8 years ago
parent
commit
1663566768
1 changed files with 123 additions and 127 deletions
  1. 123 127
      UAS-MES/FunctionCode/Make/Make_SeqTransform.cs

+ 123 - 127
UAS-MES/FunctionCode/Make/Make_SeqTransform.cs

@@ -19,6 +19,8 @@ namespace UAS_MES.Make
 
         string bsncode = "";//转换前序列号
 
+        string errorMessage = "";
+
         public Make_SeqTransform()
         {
             InitializeComponent();
@@ -58,155 +60,149 @@ namespace UAS_MES.Make
                         //定义传入方法的变量
                         string oMakeCode = "";
                         string oMsId = "";
-                        string errorMessage = "";
                         //用户填写了工单号,那么序列号必须要是该工单的,否则提示错误
-                        if (!LogicHandler.CheckStepSNAndMacode(macode,User.UserSourceCode,sncode.Text,User.UserCode,out oMakeCode,out oMsId,out errorMessage))
+                        if (LogicHandler.CheckStepSNAndMacode(macode, User.UserSourceCode, sncode.Text, User.UserCode, out oMakeCode, out oMsId, out errorMessage))
                         {
                             OperateResult.AppendText(">>序列号" + sncode.Text + "不属于工单" + ma_code.Text + ",请重新输入或者切换工单\n", Color.Red);
-                            return;
-                        }
-                    }
-                    else
-                    {
-                        macode = dh.getFieldDataByCondition("makeserial", "ms_makecode", "ms_sncode='" + sncode.Text + "' or ms_beforesn='" + sncode.Text + "'").ToString();
-                    }
-                    string ErrorMessage = "";
-                    bool ifFirst;
-                    //bsncode为空,就说明是输入转换之前的序列号
-                    if (bsncode == "")
-                    {
-                        //判断用户是否锁定输入转换前序列号长度,
-                        if (!checkLengthOrPre(beforeTransSNLength_checkBox, beforeTransSNLength, "长度"))
-                        {
-                            return;
-                        }
-                        //判断用户是否锁定输入转换前序列号前缀,
-                        if (!checkLengthOrPre(beforeTransSNPre_checkBox, beforeTransSNPre, "前缀"))
-                        {
-                            return;
-                        }
-                        //核对工序
-                        if (LogicHandler.CheckCurrentStepAndIfFirst(sncode.Text, macode, User.UserSourceCode, Tag.ToString(), out ifFirst, out ErrorMessage))
-                        {
-                            switch (ChangeResult.CheckState)
-                            {
-                                //勾选是修改已转换的序列,矫正修改错了的序列号
-                                case CheckState.Checked:
-                                    if (dh.CheckExist("MakeSerial", "ms_beforesn='" + sncode.Text + "'"))
-                                    {
-                                        bsncode = sncode.Text;
-                                        sncode.Text = "";
-                                        OperateResult.AppendText("<<请输入转换后的序列号\n", Color.Green);
-                                    }
-                                    else
-                                    {
-                                        OperateResult.AppendText(">>不存在该已转序列号" + sncode.Text + "\n");
-                                        sncode.Text = "";
-                                        OperateResult.AppendText("<<请重新输入序列号\n", Color.Green);
-                                    }
-                                    break;
-                                case CheckState.Unchecked:
-                                    string beforesn = dh.getFieldDataByCondition("makeserial", "ms_beforesn", "ms_sncode='" + sncode.Text + "'").ToString().Trim();
-                                    //为空,就说明,没有进行过序列号的转换
-                                    if (beforesn == "" || beforesn == null)
-                                    {
-                                        //记录转换前的序列号
-                                        bsncode = sncode.Text;
-                                        sncode.Text = "";
-                                        OperateResult.AppendText("<<请输入转换后的序列号\n", Color.Green);
-                                    }
-                                    else
-                                    //不为空,进行过转换。不勾选修改结果,就不能再修改
-                                    {
-                                        OperateResult.AppendText(">>序列号" + sncode.Text + "已进行了转换\n", Color.Red);
-                                        sncode.Text = "";
-                                        OperateResult.AppendText("<<请重新输入序列号\n", Color.Green);
-                                    }
-                                    break;
-                                default:
-                                    break;
-                            }
-                        }
-                        else
-                        {
-                            OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red);
-                        }
-                    }
-                    //bsncode不为空,说明输入的是转换后的序列号
-                    else
-                    {
-                        //判断用户是否锁定输入转换后序列号长度,
-                        if (!checkLengthOrPre(afterTransSNLength_checkBox, afterTransSNLength, "长度"))
-                        {
-                            return;
-                        }
-                        //判断用户是否锁定输入转换后序列号前缀,
-                        if (!checkLengthOrPre(afterTransSNPre_checkBox, afterTransSNPre, "前缀"))
-                        {
-                            return;
-                        }
-                        //如果两次输入的序列号相同进行提示,不相同则进行下一步
-                        if (bsncode != sncode.Text)
-                        {
-                            //勾选了修改转换结果
-                            if (ChangeResult.Checked)
-                            {
+                            //通过工单序列号关系验证
 
-                                if (!dh.CheckExist("makeserial", "ms_sncode='" + sncode.Text + "'"))
+                            string ErrorMessage = "";
+                            bool ifFirst;
+                            //bsncode为空,就说明是输入转换之前的序列号
+                            if (bsncode == "")
+                            {
+                                //判断用户是否锁定输入转换前序列号长度,
+                                if (!checkLengthOrPre(beforeTransSNLength_checkBox, beforeTransSNLength, "长度"))
                                 {
-                                    //查询ms_firstsn
-                                    string firstsn = dh.getFieldDataByCondition("makeserial", "ms_firstsn", "ms_sncode='" + sncode.Text + "'").ToString();
-                                    //dh.UpdateByCondition("makeserial", "ms_sncode='" + sncode.Text + "'", "ms_beforesn='" + bsncode + "'");
-                                    dh.ExecuteSQLTran("update makeserial set ms_sncode='" + sncode.Text + "' where ms_beforesn='" + bsncode + "'",
-                                        "insert into  makesnrelation (BEFORESN,SN,FIRSTSN,MAKECODE,msr_indate, msr_inman)values('" + bsncode + "','" + sncode.Text + "','" + firstsn + "','" + ma_code.Text + "', sysdate ,'" + User.UserCode + "')");
-                                    OperateResult.AppendText(">>转换成功");
-                                    //记录本次修改,存入makesnrelation表中
-                                    //dh.ExecuteSql("insert into  makesnrelation (BEFORESN,SN,FIRSTSN,MAKECODE,msr_indate, msr_inman)values('" + bsncode + "','" + sncode.Text + "','" + firstsn + "','" + ma_code.Text + "', sysdate ,'" + User.UserCode + "')", "insert");
-                                    //写入日志
-                                    LogManager.DoLog("修改序列号:" + bsncode + "为" + sncode.Text + "成功!" + "操作人:" + User.UserCode);
-                                    OperateResult.AppendText(">>请输入转换前的序列号\n", Color.Green);
-                                    //置空
-                                    bsncode = "";
-                                    //更新数量
-                                    changenum.Text = int.Parse(changenum.Text) + 1 + "";
+                                    return;
                                 }
-                                else
+                                //判断用户是否锁定输入转换前序列号前缀,
+                                if (!checkLengthOrPre(beforeTransSNPre_checkBox, beforeTransSNPre, "前缀"))
+                                {
+                                    return;
+                                }
+                                switch (ChangeResult.CheckState)
                                 {
-                                    OperateResult.AppendText(">>该序列号已存在,请输入其他序列号\n", Color.Red);
+                                    //勾选是修改已转换的序列,矫正修改错了的序列号
+                                    case CheckState.Checked:
+                                        if (dh.CheckExist("MakeSerial", "ms_beforesn='" + sncode.Text + "'"))
+                                        {
+                                            bsncode = sncode.Text;
+                                            sncode.Text = "";
+                                            OperateResult.AppendText("<<请输入转换后的序列号\n", Color.Green);
+                                        }
+                                        else
+                                        {
+                                            OperateResult.AppendText(">>不存在该已转序列号" + sncode.Text + "\n");
+                                            sncode.Text = "";
+                                            OperateResult.AppendText("<<请重新输入序列号\n", Color.Green);
+                                        }
+                                        break;
+                                    case CheckState.Unchecked:
+                                        string beforesn = dh.getFieldDataByCondition("makeserial", "ms_beforesn", "ms_sncode='" + sncode.Text + "'").ToString().Trim();
+                                        //为空,就说明,没有进行过序列号的转换
+                                        if (beforesn == "" || beforesn == null)
+                                        {
+                                            //记录转换前的序列号
+                                            bsncode = sncode.Text;
+                                            sncode.Text = "";
+                                            OperateResult.AppendText("<<请输入转换后的序列号\n", Color.Green);
+                                        }
+                                        else
+                                        //不为空,进行过转换。不勾选修改结果,就不能再修改
+                                        {
+                                            OperateResult.AppendText(">>序列号" + sncode.Text + "已进行了转换\n", Color.Red);
+                                            sncode.Text = "";
+                                            OperateResult.AppendText("<<请重新输入序列号\n", Color.Green);
+                                        }
+                                        break;
+                                    default:
+                                        break;
                                 }
                             }
-                            //未勾选修改转换结果
+                            //bsncode不为空,说明输入的是转换后的序列号
                             else
                             {
-                                if (!dh.CheckExist("makeserial", "ms_sncode='" + sncode.Text + "'"))
+                                //判断用户是否锁定输入转换后序列号长度,
+                                if (!checkLengthOrPre(afterTransSNLength_checkBox, afterTransSNLength, "长度"))
                                 {
-                                    //查询ms_firstsn
-                                    string firstsn = dh.getFieldDataByCondition("makeserial", "ms_firstsn", "ms_sncode='" + sncode.Text + "'").ToString();
-                                    //dh.UpdateByCondition("makeserial", "ms_sncode='" + sncode.Text + "', ms_beforesn='" + bsncode + "'", "ms_sncode='" + bsncode + "'");
-                                    dh.ExecuteSQLTran("update makeserial set ms_sncode='" + sncode.Text + "', ms_beforesn='" + bsncode + "' where ms_sncode='" + bsncode + "'",
-                                        "insert into  makesnrelation (BEFORESN,SN,FIRSTSN,MAKECODE,msr_indate, msr_inman)values('" + bsncode + "','" + sncode + "','" + firstsn + "','" + ma_code.Text + "', sysdate ,'" + User.UserCode + "')");
-                                    OperateResult.AppendText(">>转换成功", Color.Green);
-                                    //记录本次修改,存入makesnrelation表中
-                                    //dh.ExecuteSql("insert into  makesnrelation (BEFORESN,SN,FIRSTSN,MAKECODE,msr_indate, msr_inman)values('" + bsncode + "','" + sncode + "','" + firstsn + "','" + ma_code.Text + "', sysdate ,'" + User.UserCode + "')", "insert");
-                                    //写入日志
-                                    LogManager.DoLog("修改序列号:" + bsncode + "为" + sncode.Text + "成功!" + "操作人:" + User.UserCode);
-                                    OperateResult.AppendText(">>请输入转换前的序列号\n", Color.Green);
-                                    //置空
-                                    bsncode = "";
-                                    //更新数量
-                                    changenum.Text = int.Parse(changenum.Text) + 1 + "";
+                                    return;
+                                }
+                                //判断用户是否锁定输入转换后序列号前缀,
+                                if (!checkLengthOrPre(afterTransSNPre_checkBox, afterTransSNPre, "前缀"))
+                                {
+                                    return;
+                                }
+                                //如果两次输入的序列号相同进行提示,不相同则进行下一步
+                                if (bsncode != sncode.Text)
+                                {
+                                    //勾选了修改转换结果
+                                    if (ChangeResult.Checked)
+                                    {
+
+                                        if (!dh.CheckExist("makeserial", "ms_sncode='" + sncode.Text + "'"))
+                                        {
+                                            //查询ms_firstsn
+                                            string firstsn = dh.getFieldDataByCondition("makeserial", "ms_firstsn", "ms_sncode='" + sncode.Text + "'").ToString();
+                                            //记录本次修改,存入makesnrelation表中
+                                            string updateSql = "update makeserial set ms_sncode='" + sncode.Text + "' where ms_beforesn='" + bsncode + "'";
+                                            string insertSql = "insert into  makesnrelation (BEFORESN,SN,FIRSTSN,MAKECODE,msr_indate, msr_inman)values('" + bsncode + "','" + sncode.Text + "','" + firstsn + "','" + ma_code.Text + "', sysdate ,'" + User.UserCode + "')";
+                                            dh.ExecuteSQLTran(updateSql, insertSql);
+                                            OperateResult.AppendText(">>转换成功");
+                                            //写入日志
+                                            LogManager.DoLog("修改序列号:" + bsncode + "为" + sncode.Text + "成功!" + "操作人:" + User.UserCode);
+                                            OperateResult.AppendText(">>请输入转换前的序列号\n", Color.Green);
+                                            //置空
+                                            bsncode = "";
+                                            //更新数量
+                                            changenum.Text = int.Parse(changenum.Text) + 1 + "";
+                                        }
+                                        else
+                                        {
+                                            OperateResult.AppendText(">>该序列号已存在,请输入其他序列号\n", Color.Red);
+                                        }
+                                    }
+                                    //未勾选修改转换结果
+                                    else
+                                    {
+                                        if (!dh.CheckExist("makeserial", "ms_sncode='" + sncode.Text + "'"))
+                                        {
+                                            //查询ms_firstsn
+                                            string firstsn = dh.getFieldDataByCondition("makeserial", "ms_firstsn", "ms_sncode='" + sncode.Text + "'").ToString();
+                                            //记录本次修改,存入makesnrelation表中
+                                            string updateSql = "update makeserial set ms_sncode='" + sncode.Text + "', ms_beforesn='" + bsncode + "' where ms_sncode='" + bsncode + "'";
+                                            string insertSql = "insert into  makesnrelation (BEFORESN,SN,FIRSTSN,MAKECODE,msr_indate, msr_inman)values('" + bsncode + "','" + sncode.Text + "','" + firstsn + "','" + ma_code.Text + "', sysdate ,'" + User.UserCode + "')";
+                                            dh.ExecuteSQLTran(updateSql, insertSql);
+                                            OperateResult.AppendText(">>转换成功", Color.Green);
+                                            //写入日志
+                                            LogManager.DoLog("修改序列号:" + bsncode + "为" + sncode.Text + "成功!" + "操作人:" + User.UserCode);
+                                            OperateResult.AppendText(">>请输入转换前的序列号\n", Color.Green);
+                                            //置空
+                                            bsncode = "";
+                                            //更新数量
+                                            changenum.Text = int.Parse(changenum.Text) + 1 + "";
+                                        }
+                                        else
+                                        {
+                                            OperateResult.AppendText(">>该序列号已存在,请输入其他序列号\n", Color.Red);
+                                        }
+                                    }
                                 }
                                 else
                                 {
-                                    OperateResult.AppendText(">>该序列号已存在,请输入其他序列号\n", Color.Red);
+                                    OperateResult.AppendText(">>相同序列号不能进行转换\n", Color.Red);
                                 }
                             }
                         }
                         else
                         {
-                            OperateResult.AppendText(">>相同序列号不能进行转换\n", Color.Red);
+                            OperateResult.AppendText(">>" + errorMessage + "\n", Color.Red);
                         }
                     }
+                    else
+                    {
+                        macode = dh.getFieldDataByCondition("makeserial", "ms_makecode", "ms_sncode='" + sncode.Text + "' or ms_beforesn='" + sncode.Text + "'").ToString();
+                    }
                 }
                 else
                 {