Преглед на файлове

机身标打印模板排序,彩盒上料打印

shim преди 8 години
родител
ревизия
da84084f31
променени са 1 файла, в които са добавени 34 реда и са изтрити 32 реда
  1. 34 32
      UAS-MES/FunctionCode/Make/Make_ColorBoxLoadPrint.cs

+ 34 - 32
UAS-MES/FunctionCode/Make/Make_ColorBoxLoadPrint.cs

@@ -19,7 +19,7 @@ namespace UAS_MES.Make
         //保存StepProduct查询出来的数据
         DataTable ListA = new DataTable();
         //保存make left join makecraftdetail left join product的数据
-        // DataTable ListB;
+        DataTable mapB;
         //保存ProductLabel数据
         DataTable ListC;
         //工序编号
@@ -31,24 +31,26 @@ namespace UAS_MES.Make
         //制造单号
         string ma_code;
         //当前工单的序列号
-        string sn_code;
+        //string sn_code;
         //当前提示的索引
         int RemainIndex = 0;
 
-        string Step = "Loading";
+        //string Step = "Loading";
 
         ApplicationClass lbl;
 
         public Make_ColorBoxLoadPrint()
         {
             InitializeComponent();
+            //默认选中上料
+            load.Checked = true;
         }
 
         private void 标签打印_Load(object sender, EventArgs e)
         {
             dh = new DataHelper();
             lbl = new ApplicationClass();
-            sncode.Focus();
+            code.Focus();
             asc.controllInitializeSize(this);
         }
 
@@ -56,28 +58,26 @@ namespace UAS_MES.Make
         {
             if (e.KeyCode == Keys.Enter)
             {
-                if (sncode.Text == "")
+                if (code.Text == "")
                 {
-                    OperateResult.AppendText(">>序列号不能为空\n", Color.Red);
+                    OperateResult.AppendText(">>输入内容不能为空\n", Color.Red);
                     return;
                 }
+                //string Omakecode;
+                //string Omsid;
+                //string Oerrormessage;
+                //LogicHandler.CheckStepSNAndMacode(ms_makecode.Text, User.UserSourceCode, code.Text, User.UserCode, out Omakecode, out Omsid, out Oerrormessage)
                 //通过输入指定字符来设置当前执行的步骤
-                if (sncode.Text == "L")
+                if (load.Checked=true)
                 {
-                    Step = " ";
                     OperateResult.AppendText(">>开始执行上料工序\n", Color.Green);
-                    sncode.Text = "";
-                    return;
                 }
-                else if (sncode.Text == "R")
+                else if (unload.Checked=true)
                 {
-                    Step = "UnLoading";
                     OperateResult.AppendText(">>开始执行下料工序\n", Color.Green);
-                    sncode.Text = "";
-                    return;
                 }
                 //判断如果该序列号的归属工单和之前查询的是一致的话,就不进行重复数据的查询
-                ma_code = dh.getFieldDataByCondition("makeserial", "ms_makecode", "ms_sncode='" + sncode.Text + "'").ToString();
+                ma_code = dh.getFieldDataByCondition("makeserial", "ms_makecode", "ms_sncode='" + code.Text + "'").ToString();
                 if (ms_makecode.Text != ma_code || ma_code == "")
                 {
                     //ma_code不为空的时候表示不是第一次加载,提示用户切换工单
@@ -86,41 +86,43 @@ namespace UAS_MES.Make
                         OperateResult.AppendText(">>切换工单至工单号" + ma_code + "\n", Color.Red);
                     }
                     sql.Clear();
-                    sql.Append("select ma_code,mcd_okqty,ma_qty,ma_qty-mcd_inqty as mcd_remainqty,pr_detail,pr_code ");
+                    sql.Append("select ma_code as ms_makecode,mcd_okqty,ma_qty,ma_qty-mcd_inqty as mcd_remainqty,pr_detail,pr_code ");
                     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_sncode=:sncode");
-                    dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select", sncode.Text);
+                    dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select", code.Text);
                     if (dt.Rows.Count > 0)
                     {
                         BaseUtil.SetFormValue(this.Controls, dt);
-                        sn_code = sncode.Text;
+                        sncode.Text = code.Text;
                     }
                     else
                     {
-                        OperateResult.AppendText(">>序列号" + sncode.Text + "不存在\n", Color.Red);
+                        OperateResult.AppendText(">>序列号" + code.Text + "不存在\n", Color.Red);
                         return;
                     }
 
                     //判断当前的执行状态 ,Loading表示执行上料操作,UnLoading表示执行下料操作
-                    if (Step == "Loading")
+                    if (load.Checked=true)
                     {
                         sql.Clear();
                         sql.Append("select ma_code,ma_craftcode,ms_nextstepcode, ms_status,ms_stepcode from makeserial ");
                         sql.Append("left join make on ma_code=ms_makecode where ms_sncode=:sncode or ms_psn=:sncode");
-                        dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select", sncode.Text, sncode.Text);
+                        dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select", code.Text, code.Text);
                         //记录一些变量
                         stepcode = dt.Rows[0]["ms_stepcode"].ToString();
                         nextstepcode = dt.Rows[0]["ms_nextstepcode"].ToString();
                         craftcode = dt.Rows[0]["ma_craftcode"].ToString();
                         string ErrorMessage;
-                        bool ifFirst;
+                        string Omakecode;
+                        string Omsid;
+                        //string Oerrormessage;
                         //检测当前序列号和岗位资源是否对应
-                        if (LogicHandler.CheckCurrentStepAndIfFirst(sncode.Text, ms_makecode.Text, User.UserSourceCode, Tag.ToString(), out ifFirst, out ErrorMessage))
+                        if (LogicHandler.CheckStepSNAndMacode(ms_makecode.Text, User.UserSourceCode, code.Text, User.UserCode, out Omakecode, out Omsid, out ErrorMessage))
                         {
                             //判断当前工序是否是上料工序cd_ifinput或者是否是测试工序cd_iftest
                             sql.Clear();
                             sql.Append("select cr_code,cd_stepcode,cd_ifinput,cd_iftest from makeserial left join  craft on ms_craftcode=cr_code left join craftdetail on cd_crid=cr_id and ");
-                            sql.Append("cd_stepcode=ms_nextstepcode where ms_sncode='" + sncode.Text + "' and ms_makecode='" + ms_makecode.Text + "'");
+                            sql.Append("cd_stepcode=ms_nextstepcode where ms_sncode='" + code.Text + "' and ms_makecode='" + ms_makecode.Text + "'");
                             dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
                             if (dt.Rows.Count > 0)
                             {
@@ -155,17 +157,17 @@ namespace UAS_MES.Make
                         }
                         else
                         {
-                            Print.CodeSoft(lbl, PrintLabel.Text, PrintLabel.SelectedValue.ToString(), Printer.Text, sncode.Text);
+                            Print.CodeSoft(lbl, PrintLabel.Text, PrintLabel.SelectedValue.ToString(), Printer.Text, code.Text);
                             OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red);
                         }
                     }
                     //如果执行的是下料操作
-                    else if (Step == "UnLoading")
+                    else if (unload.Checked=true)
                     {
                         string ErrorMessage1 = "";
-                        if (LogicHandler.SetMaterialDown(sn_code, sncode.Text,User.UserSourceCode, User.CurrentStepCode, User.UserName, out ErrorMessage1))
+                        if (LogicHandler.SetMaterialDown(sncode.Text, code.Text,User.UserSourceCode, User.CurrentStepCode, User.UserName, out ErrorMessage1))
                         {
-                            OperateResult.AppendText(">>条码" + sncode.Text + "下料成功\n", Color.Green);
+                            OperateResult.AppendText(">>条码" + code.Text + "下料成功\n", Color.Green);
                         }
                         else
                         {
@@ -187,7 +189,7 @@ namespace UAS_MES.Make
                         if (RemainIndex == ListA.Rows.Count - 1)
                         {
                             OperateResult.AppendText(">>序列号对应的工单已经采集完成\n", Color.Green);
-                            sn_code = "";
+                            sncode.Text = "";
                             return;
                         }
                         string ErrorMessage;
@@ -195,7 +197,7 @@ namespace UAS_MES.Make
                         string soncode = ListA.Rows[RemainIndex]["sp_soncode"].ToString();
                         string sonID = ListA.Rows[RemainIndex]["sp_id"].ToString();
                         //执行上料
-                        if (LogicHandler.SetMaterialUp(sn_code, ms_makecode.Text, sncode.Text, soncode, User.UserSourceCode, User.UserName, sonID, out ErrorMessage))
+                        if (LogicHandler.SetMaterialUp(sncode.Text, ms_makecode.Text, code.Text, soncode, User.UserSourceCode, User.UserName, sonID, out ErrorMessage))
                         {
                             RemainIndex = RemainIndex + 1;
                             OperateResult.AppendText(">>请采集物料编号为" + ListA.Rows[RemainIndex]["sp_soncode"].ToString() + "的条码\n", Color.Green);
@@ -220,7 +222,7 @@ namespace UAS_MES.Make
             //局部变量ErrorMessage1
             string ErrorMessage1;
             //由于打印驱动暂时不可用,暂时注释打印方法
-            if (LogicHandler.SetCollectionFinish(sncode.Text, ms_makecode.Text, User.UserName, User.UserSourceCode, out ErrorMessage1))
+            if (LogicHandler.SetCollectionFinish(code.Text, ms_makecode.Text, User.UserName, User.UserSourceCode, out ErrorMessage1))
             {
                 sncode.Text = "";
                 //如果值为空默认设置为0
@@ -255,7 +257,7 @@ namespace UAS_MES.Make
 
         private void pr_code_TextChanged(object sender, EventArgs e)
         {
-            dt = (DataTable)dh.ExecuteSql("select pl_labelname,pl_labelcode from productlabel where pl_prodcode='" + pr_code.Text + "'", "select");
+            dt = (DataTable)dh.ExecuteSql("select pl_labelname,pl_labelcode from productlabel where pl_prodcode='" + pr_code.Text + "' order by pl_isdefault desc", "select");
             PrintLabel.DataSource = dt;
             PrintLabel.DisplayMember = "pl_labelname";
             PrintLabel.ValueMember = "pl_labelcode";