Browse Source

Merge branch 'master' of ssh://10.10.101.21/source/mes-client

Hcsy 8 years ago
parent
commit
94d8b9cc9f

+ 44 - 0
UAS-MES/CustomControl/TextBoxWithIcon/SNCodeEnterTextBox.Designer.cs

@@ -0,0 +1,44 @@
+namespace UAS_MES.CustomControl.TextBoxWithIcon
+{
+    partial class SNCodeEnterTextBox
+    {
+        /// <summary> 
+        /// 必需的设计器变量。
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary> 
+        /// 清理所有正在使用的资源。
+        /// </summary>
+        /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region 组件设计器生成的代码
+
+        /// <summary> 
+        /// 设计器支持所需的方法 - 不要修改
+        /// 使用代码编辑器修改此方法的内容。
+        /// </summary>
+        private void InitializeComponent()
+        {
+            this.SuspendLayout();
+            // 
+            // SNCodeEnterTextBox
+            // 
+            this.Enter += new System.EventHandler(this.SNCodeEnterTextBox_Enter);
+            this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.SNCodeEnterTextBox_KeyDown);
+            this.Leave += new System.EventHandler(this.SNCodeEnterTextBox_Leave);
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+    }
+}

+ 106 - 0
UAS-MES/CustomControl/TextBoxWithIcon/SNCodeEnterTextBox.cs

@@ -0,0 +1,106 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+using System.Runtime.InteropServices;
+
+namespace UAS_MES.CustomControl.TextBoxWithIcon
+{
+    public partial class SNCodeEnterTextBox : TextBox
+    {
+
+        [DllImport("user32.dll", EntryPoint = "GetKeyboardState")]
+        public static extern int GetKeyboardState(byte[] pbKeyState);
+
+
+        public static bool CapsLockStatus
+        {
+            get
+            {
+                byte[] bs = new byte[256];
+                GetKeyboardState(bs);
+                return (bs[0x14] == 1);
+            }
+        }
+
+        private string ID1;
+        private string Power1;
+        private string str;
+        private string str1;
+        private string str2;
+        /// <summary>
+        /// 设置锁定字段
+        /// </summary>
+        string AllPower1;
+
+        public string AllPower
+        {
+            get { return AllPower1; }
+            set { AllPower1 = value; }
+        }
+
+        public string ID
+        {
+            get { return ID1; }
+            set { ID1 = value; }
+        }
+
+        public string Str
+        {
+            get { return str; }
+            set { str = value; }
+        }
+
+        public string Str1
+        {
+            get { return str1; }
+            set { str1 = value; }
+        }
+
+        public string Str2
+        {
+            get { return str2; }
+            set { str2 = value; }
+        }
+
+        public string Power
+        {
+            get { return Power1; }
+            set { Power1 = value; }
+        }
+
+        public SNCodeEnterTextBox()
+        {
+            InitializeComponent();
+        }
+
+        private void SNCodeEnterTextBox_Leave(object sender, EventArgs e)
+        {
+            this.BackColor = Color.White;
+        }
+
+        private void SNCodeEnterTextBox_Enter(object sender, EventArgs e)
+        {
+            this.BackColor = Color.GreenYellow;
+        }
+
+        private void SNCodeEnterTextBox_KeyDown(object sender, KeyEventArgs e)
+        {
+            if (e.Modifiers.CompareTo(Keys.Control) == 0 && e.KeyCode == Keys.A)
+                this.SelectAll();
+
+            if (CapsLockStatus)
+            {
+                Console.WriteLine("大写");
+            }
+            else
+            {
+                Console.WriteLine("小写");
+            }
+        }
+    }
+}

+ 86 - 29
UAS-MES/FunctionCode/Make/Make_Repair.cs

@@ -85,17 +85,51 @@ namespace UAS_MES.Make
                     BadCodeTree.Nodes.Clear();
                     return;
                 }
-                string ms_status = dh.getFieldDataByCondition("Makeserial", "ms_status", "ms_sncode='" + GetSNCode.Text + "'").ToString();
-                if (ms_status == "4")
+                dt = dh.getFieldsDataByCondition("makeserial", new string[] { "ms_status", "nvl(ms_ifrework,0)ms_ifrework", "ms_reworkstatus" }, "ms_sncode='" + GetSNCode.Text + "'");
+                if (dt.Rows.Count > 0)
                 {
-                    OperatResult.AppendText(">>序列号:" + GetSNCode.Text + "已处于报废状态\n", Color.Red);
-                    BaseUtil.CleanForm(this);
-                    BadCodeTree.Nodes.Clear();
-                    return;
+                    string ms_status = dt.Rows[0]["ms_status"].ToString();
+                    string ifrework = dt.Rows[0]["ms_ifrework"].ToString();
+                    string reworkstatus = dt.Rows[0]["ms_reworkstatus"].ToString();
+                    //如果不是返修序列号执行原来的步骤
+                    if (ifrework == "0")
+                    {
+                        if (ms_status == "4")
+                        {
+                            OperatResult.AppendText(">>序列号:" + GetSNCode.Text + "已处于报废状态\n", Color.Red);
+                            BaseUtil.CleanForm(this);
+                            BadCodeTree.Nodes.Clear();
+                            return;
+                        }
+                        if (ms_status != "3")
+                        {
+                            OperatResult.AppendText(">>序列号:" + GetSNCode.Text + "不处于维修状态\n", Color.Red);
+                            BaseUtil.CleanForm(this);
+                            BadCodeTree.Nodes.Clear();
+                            return;
+                        }
+                    }
+                    else
+                    {
+                        if (reworkstatus == "4")
+                        {
+                            OperatResult.AppendText(">>序列号:" + GetSNCode.Text + "已处于报废状态\n", Color.Red);
+                            BaseUtil.CleanForm(this);
+                            BadCodeTree.Nodes.Clear();
+                            return;
+                        }
+                        if (reworkstatus != "3")
+                        {
+                            OperatResult.AppendText(">>序列号:" + GetSNCode.Text + "不处于维修状态\n", Color.Red);
+                            BaseUtil.CleanForm(this);
+                            BadCodeTree.Nodes.Clear();
+                            return;
+                        }
+                    }
                 }
-                if (ms_status != "3")
+                else
                 {
-                    OperatResult.AppendText(">>序列号:" + GetSNCode.Text + "不处于维修状态\n", Color.Red);
+                    OperatResult.AppendText(">>序列号:" + GetSNCode.Text + "不存在\n", Color.Red);
                     BaseUtil.CleanForm(this);
                     BadCodeTree.Nodes.Clear();
                     return;
@@ -140,6 +174,8 @@ namespace UAS_MES.Make
             {
                 mb_id = e.Node.Tag.ToString();
                 BaseUtil.CleanControlsText(bc_name, bc_code, bg_name, bg_code, mb_badremark, nrg_name, nr_name, nr_code, mbr_solutioncode, mbr_dutycode, mbc_component);
+                mbl_locdgv.DataSource = null;
+                mbp_partdgv.DataSource = null;
                 bc_name.Text = BadInf_1[mb_id]["bc_name"];
                 bc_code.Text = BadInf_1[mb_id]["mb_badcode"];
                 bg_name.Text = BadInf_1[mb_id]["bg_name"];
@@ -293,6 +329,7 @@ namespace UAS_MES.Make
                     }
                     dh.UpdateByCondition("makebad", "mb_status=-1", "mb_sncode='" + ms_sncode.Text + "'");
                     LogicHandler.InsertMakeProcess(ms_sncode.Text, ms_makecode.Text, User.UserSourceCode, "回流工序", "完成维修回流", User.UserCode);
+                    LogicHandler.DoCommandLog(User.UserCode, macode, User.UserLineCode, User.UserSourceCode, "回流工序", "完成维修回流", ms_sncode.Text, ms_checkno.Text);
                     OperatResult.AppendText(">>" + ms_sncode.Text + " 序列号回流成功\n", Color.Green);
                     BaseUtil.CleanForm(this);
                     BadCodeTree.Nodes.Clear();
@@ -314,17 +351,26 @@ namespace UAS_MES.Make
                     string confirm = MessageBox.Show(this.ParentForm, "此操作不可撤销,是否确认报废", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk).ToString();
                     if (confirm == "Yes")
                     {
-                        string ms_ifrework = dh.getFieldDataByCondition("makeserial", "nvl(ms_ifrework,0)", "ms_sncode='" + ms_sncode.Text + "' and ms_makecode='" + macode + "'").ToString();
-                        if (ms_ifrework == "0")
-                        {
-                            dh.UpdateByCondition("makeserial", "ms_paststep = ms_paststep ||'," + User.CurrentStepCode + "',ms_status=4,ms_nextstepcode='',ms_stepcode='" + User.CurrentStepCode + "'", "ms_sncode='" + ms_sncode.Text + "' and ms_makecode='" + macode + "'");
-                        }
-                        else
+                        DataTable dt = dh.getFieldsDataByCondition("makeserial", new string[] { "nvl(ms_ifrework,0)ms_ifrework", "ms_reworkcode" }, "ms_sncode='" + ms_sncode.Text + "' and ms_makecode='" + macode + "'");
+                        if (dt.Rows.Count > 0)
                         {
-                            dh.UpdateByCondition("makeserial", "ms_paststep = ms_paststep ||'," + User.CurrentStepCode + "',ms_reworkstatus= 4,ms_nextstepcode='',ms_stepcode='" + User.CurrentStepCode + "'", "ms_sncode='" + ms_sncode.Text + "' and ms_makecode='" + macode + "'");
+                            string ms_ifrework = dt.Rows[0]["ms_ifrework"].ToString();
+                            string reworkcode = dt.Rows[0]["ms_reworkcode"].ToString();
+                            if (ms_ifrework == "0")
+                            {
+                                dh.UpdateByCondition("makeserial", "ms_paststep = ms_paststep ||'," + User.CurrentStepCode + "',ms_status=4,ms_nextstepcode='',ms_stepcode='" + User.CurrentStepCode + "'", "ms_sncode='" + ms_sncode.Text + "' and ms_makecode='" + macode + "'");
+                            }
+                            else
+                            {
+                                dh.UpdateByCondition("makeserial", "ms_paststep = ms_paststep ||'," + User.CurrentStepCode + "',ms_reworkstatus= 4,ms_nextstepcode='',ms_stepcode='" + User.CurrentStepCode + "'", "ms_sncode='" + ms_sncode.Text + "' and ms_makecode='" + macode + "'");
+                                dh.UpdateByCondition("oqcbatch", "ob_nowcheckqty=ob_nowcheckqty-1", "ob_checkno='" + ms_checkno.Text + "'");
+                                dh.ExecuteSql("delete from oqcbatchedetail where obd_sncode='" + ms_sncode.Text + "'", "delete");
+                                dh.UpdateByCondition("ReworkDetail", "rd_rwstatus='报废'", "rd_reid=(select re_id from rework where re_code='"+reworkcode+"') and rd_sncode='"+ reworkcode + "'");
+                            }
                         }
                         dh.UpdateByCondition("make", "MA_NGMADEQTY=nvl(MA_NGMADEQTY,0)+1", "ma_code='" + macode + "'");
                         LogicHandler.InsertMakeProcess(ms_sncode.Text, ms_makecode.Text, User.UserSourceCode, "报废", "序列号报废", User.UserCode);
+                        LogicHandler.DoCommandLog(User.UserCode, macode, User.UserLineCode, User.UserSourceCode, "报废", "序列号报废", ms_sncode.Text, ms_checkno.Text);
                         OperatResult.AppendText(">>报废成功\n", Color.Green);
                         GetSNCode.Clear();
                         BaseUtil.CleanForm(this);
@@ -386,6 +432,7 @@ namespace UAS_MES.Make
                     sql.Append("'" + bc_code.Text + "','" + nr_code.Text + "','" + GetSNCode.Text + "','" + macode + "',");
                     sql.Append("sysdate,'" + User.UserCode + "' from dual");
                     dh.BatchInsert(sql.GetString(), new string[] { "prodcode" }, prodcode.ToArray());
+                    LogicHandler.DoCommandLog(User.UserCode, macode, User.UserLineCode, User.UserSourceCode, "不良零件保存", "不良零件保存成功", ms_sncode.Text, ms_checkno.Text);
                 }
                 OperatResult.AppendText(">>不良零件保存成功\n", Color.Green);
             }
@@ -408,6 +455,7 @@ namespace UAS_MES.Make
                     sql.Append(",:location,'" + bc_code.Text + "','" + nr_code.Text + "','" + GetSNCode.Text + "','" + macode + "',");
                     sql.Append("sysdate,'" + User.UserCode + "' from dual");
                     dh.BatchInsert(sql.GetString(), new string[] { "location" }, location.ToArray());
+                    LogicHandler.DoCommandLog(User.UserCode, macode, User.UserLineCode, User.UserSourceCode, "不良位置保存", "不良位置保存成功", ms_sncode.Text, ms_checkno.Text);
                 }
                 OperatResult.AppendText(">>不良位置保存成功\n", Color.Green);
             }
@@ -448,14 +496,14 @@ namespace UAS_MES.Make
                 {
                     if (mbr_id != "")
                     {
-                        dt = (DataTable)mbl_locdgv.DataSource;
-                        for (int i = 0; i < dt.Rows.Count; i++)
-                        {
-
-                        }
-                        DataRow dr = dt.NewRow();
-                        dr["mbl_loc"] = mbl_loc.Text;
-                        dt.Rows.Add(dr);
+                        sql.Clear();
+                        sql.Append("insert into makebadrsloc(mbl_id,mbl_mbrid,mbl_loc,mbl_badcode,mbl_brcode,");
+                        sql.Append("mbl_sncode,mbl_makecode,mbl_indate ,mbl_inman) select makebadrsloc_seq.nextval," + mbr_id);
+                        sql.Append(",'" + mbl_loc.Text + "','" + bc_code.Text + "','" + nr_code.Text + "','" + GetSNCode.Text + "','" + macode + "',");
+                        sql.Append("sysdate,'" + User.UserCode + "' from dual");
+                        dh.ExecuteSql(sql.GetString(), "insert");
+                        dt = (DataTable)dh.ExecuteSql("select mbl_id,mbl_loc from makebadrsloc where mbl_mbrid=" + mbr_id, "select");
+                        BaseUtil.FillDgvWithDataTable(mbl_locdgv, dt);
                     }
                     else OperatResult.AppendText(">>请先选择不良原因\n", Color.Red);
                 }
@@ -493,10 +541,15 @@ namespace UAS_MES.Make
                 {
                     if (mbr_id != "")
                     {
-                        DataTable dt = (DataTable)mbp_partdgv.DataSource;
-                        DataRow dr = dt.NewRow();
-                        dr["mbp_part"] = prodcode.Text;
-                        dt.Rows.Add(dr);
+                        sql.Clear();
+                        sql.Append("insert into makebadrspart(mbp_id,mbp_mbrid,mbp_part,mbp_badcode,");
+                        sql.Append("mbp_brcode,mbp_sncode,mbp_makecode,mbp_indate,mbp_inman)");
+                        sql.Append("select makebadrspart_seq.nextval," + mbr_id + ",'" + prodcode.Text + "',");
+                        sql.Append("'" + bc_code.Text + "','" + nr_code.Text + "','" + GetSNCode.Text + "','" + macode + "',");
+                        sql.Append("sysdate,'" + User.UserCode + "' from dual");
+                        dh.ExecuteSql(sql.GetString(), "insert");
+                        DataTable dt = (DataTable)dh.ExecuteSql("select mbp_id,mbp_part from makebadrspart where mbp_mbrid=" + mbr_id, "select");
+                        BaseUtil.FillDgvWithDataTable(mbp_partdgv, dt);
                     }
                     else OperatResult.AppendText(">>请先选择不良原因\n", Color.Red);
                 }
@@ -518,7 +571,9 @@ namespace UAS_MES.Make
         {
             if (mbl_locdgv.Columns[e.ColumnIndex].Name == "DeletePos")
             {
-                mbl_locdgv.Rows.RemoveAt(e.RowIndex);
+                dh.ExecuteSql("delete from makebadrsloc where mbl_id='" + mbl_locdgv.Rows[e.RowIndex].Cells["mbl_id"].Value.ToString() + "'", "insert");
+                dt = (DataTable)dh.ExecuteSql("select mbl_id,mbl_loc from makebadrsloc where mbl_mbrid=" + mbr_id, "select");
+                BaseUtil.FillDgvWithDataTable(mbl_locdgv, dt);
             }
         }
 
@@ -526,7 +581,9 @@ namespace UAS_MES.Make
         {
             if (mbp_partdgv.Columns[e.ColumnIndex].Name == "DeleteCom")
             {
-                mbp_partdgv.Rows.RemoveAt(e.RowIndex);
+                dh.ExecuteSql("delete from makebadrspart where mbp_id='" + mbp_partdgv.Rows[e.RowIndex].Cells["mbp_id"].Value.ToString() + "'", "insert");
+                DataTable dt = (DataTable)dh.ExecuteSql("select mbp_id,mbp_part from makebadrspart where mbp_mbrid=" + mbr_id, "select");
+                BaseUtil.FillDgvWithDataTable(mbp_partdgv, dt);
             }
         }
     }

+ 2 - 2
UAS-MES/FunctionCode/Make/Make_TestCollection.Designer.cs

@@ -72,7 +72,7 @@
             this.WaitReject = new UAS_MES.CustomControl.ButtonUtil.ArrowLeftButton();
             this.bc_remark = new UAS_MES.CustomControl.TextBoxWithIcon.EnterTextBox();
             this.bc_groupcode = new UAS_MES.CustomControl.ComBoxWithFocus.ComBoxWithFocus();
-            this.ms_sncode = new UAS_MES.CustomControl.TextBoxWithIcon.EnterTextBox();
+            this.ms_sncode = new UAS_MES.CustomControl.TextBoxWithIcon.SNCodeEnterTextBox();
             this.panel1 = new System.Windows.Forms.Panel();
             this.ob_checkno = new System.Windows.Forms.Label();
             this.SendCheck = new UAS_MES.CustomControl.ButtonUtil.NormalButton();
@@ -778,7 +778,7 @@
         private System.Windows.Forms.Label ma_qty_label;
         private System.Windows.Forms.Label mc_restqty_label;
         private System.Windows.Forms.Label ms_sncode_label;
-        private CustomControl.TextBoxWithIcon.EnterTextBox ms_sncode;
+        private CustomControl.TextBoxWithIcon.SNCodeEnterTextBox ms_sncode;
         private System.Windows.Forms.Label bc_groupcode_label;
         private System.Windows.Forms.Label bc_remark_label;
         private CustomControl.ComBoxWithFocus.ComBoxWithFocus bc_groupcode;

+ 75 - 34
UAS-MES/FunctionCode/Make/Make_TestCollection.cs

@@ -168,14 +168,27 @@ namespace UAS_MES.Make
                         }
                         if (GoodProduct.Checked)
                         {
-                            dt = (DataTable)dh.ExecuteSql("select ms_nextstepcode,ms_stepcode,ms_status,nvl(st_ifrepair,0) st_ifrepair from makeserial left join step on ms_stepcode=st_code where ms_id='" + oMSID + "'", "select");
+                            dt = (DataTable)dh.ExecuteSql("select ms_nextstepcode,ms_reworkstatus,nvl(ms_ifrework,0)ms_ifrework,ms_stepcode,ms_status,nvl(st_ifrepair,0) st_ifrepair from makeserial left join step on ms_stepcode=st_code where ms_id='" + oMSID + "'", "select");
                             string status = dt.Rows[0]["ms_status"].ToString();
+                            string reworkstatus = dt.Rows[0]["ms_reworkstatus"].ToString();
                             string stepcode = dt.Rows[0]["ms_stepcode"].ToString();
                             string ifrepair = dt.Rows[0]["st_ifrepair"].ToString();
-                            if (stepcode == User.CurrentStepCode && (status == "1" || status == "2") && ifrepair == "0")
+                            string ifrework = dt.Rows[0]["ms_ifrework"].ToString();
+                            if (ifrework != "0")
                             {
-                                OperateResult.AppendText(">>" + ms_sncode.Text + " 序列号已执行过" + User.CurrentStepCode + "工序,采集结果为良品\n", Color.Red, ms_sncode);
-                                return;
+                                if (stepcode == User.CurrentStepCode && (reworkstatus == "1" || reworkstatus == "2") && ifrepair == "0")
+                                {
+                                    OperateResult.AppendText(">>" + ms_sncode.Text + " 序列号已执行过" + User.CurrentStepCode + "工序,采集结果为良品\n", Color.Red, ms_sncode);
+                                    return;
+                                }
+                            }
+                            else
+                            {
+                                if (stepcode == User.CurrentStepCode && (status == "1" || status == "2") && ifrepair == "0")
+                                {
+                                    OperateResult.AppendText(">>" + ms_sncode.Text + " 序列号已执行过" + User.CurrentStepCode + "工序,采集结果为良品\n", Color.Red, ms_sncode);
+                                    return;
+                                }
                             }
                         }
                         SetCollectResult();
@@ -283,7 +296,62 @@ namespace UAS_MES.Make
             }
             else if (GoodProduct.Checked)
             {
-                SetTestPass();
+                DataTable dt = dh.getFieldsDataByCondition("makeserial", new string[] { "ms_reworkstatus", "nvl(ms_ifrework,0) ms_ifrework", "ms_paststep" }, "ms_sncode='" + ms_sncode.Text + "' and ms_makecode='" + ma_code.Text + "'");
+                string ifrework = "";
+                string ms_paststep = "";
+                string reworkstatus = "";
+                if (dt.Rows.Count > 0)
+                {
+                    ifrework = dt.Rows[0]["ms_ifrework"].ToString();
+                    ms_paststep = dt.Rows[0]["ms_paststep"].ToString();
+                    reworkstatus = dt.Rows[0]["ms_reworkstatus"].ToString();
+                }
+                //如果不是返修的
+                if (ifrework == "0")
+                {
+                    dt = (DataTable)dh.ExecuteSql("select mb_id,bc_name,mbr_mbid from makebad left join makebadreason on mbr_mbid=mb_id left join badcode on mb_badcode=bc_code where mb_sncode='" + ms_sncode.Text + "' and mb_status<>0", "select");
+                    for (int i = 0; i < dt.Rows.Count; i++)
+                    {
+                        if (dt.Rows[i]["mb_id"].ToString() != dt.Rows[i]["mbr_mbid"].ToString())
+                            ErrorMessage += "【" + dt.Rows[i]["bc_name"].ToString() + "】";
+                    }
+                    //存在不良记录
+                    if (ErrorMessage != "")
+                    {
+                        OperateResult.AppendText(">>序列号:" + ms_sncode.Text + " 已经判为不良品,不允许修改!\n", Color.Red);
+                        return;
+                    }
+                    else
+                    {
+                        //良品信息采集
+                        if (LogicHandler.UpdateMakeMessage(ms_sncode.Text, ma_code.Text, "良品采集", User.UserSourceCode, User.UserCode, "检测合格", out ErrorMessage))
+                        {
+                            LastSncode = ms_sncode.Text;
+                            OperateResult.AppendText(">>" + ms_sncode.Text + "已采集为良品\n", Color.Green, ms_sncode);
+                            //记录操作日志
+                            LogicHandler.DoCommandLog(User.UserCode, ma_code.Text, User.UserLineCode, User.UserSourceCode, "采集良品", "采集良品成功", LastSncode, ob_checkno.Text);
+                        }
+                        else OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, ms_sncode);
+                    }
+                }
+                else
+                {
+                    if (reworkstatus != "3")
+                    {
+                        if (LogicHandler.UpdateMakeMessage(ms_sncode.Text, ma_code.Text, "良品采集", User.UserSourceCode, User.UserCode, "检测合格", out ErrorMessage))
+                        {
+                            LastSncode = ms_sncode.Text;
+                            OperateResult.AppendText(">>" + ms_sncode.Text + "已采集为良品\n", Color.Green, ms_sncode);
+                            //记录操作日志
+                            LogicHandler.DoCommandLog(User.UserCode, ma_code.Text, User.UserLineCode, User.UserSourceCode, "采集良品", "采集良品成功", LastSncode, ob_checkno.Text);
+                        }
+                        else OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, ms_sncode);
+                    }
+                    else
+                    {
+                        OperateResult.AppendText(">>返修的不良序列号必须先进行维修\n", Color.Red);
+                    }
+                }
             }
             //加载页面信息
             LoadCollectedNum();
@@ -301,33 +369,6 @@ namespace UAS_MES.Make
             BaseUtil.SetFormValue(Controls, dt);
         }
 
-        private void SetTestPass()
-        {
-            DataTable dt = (DataTable)dh.ExecuteSql("select mb_id,bc_name,mbr_mbid from makebad left join makebadreason on mbr_mbid=mb_id left join badcode on mb_badcode=bc_code where mb_sncode='" + ms_sncode.Text + "'", "select");
-            string ErrorMessage = "";
-            for (int i = 0; i < dt.Rows.Count; i++)
-            {
-                if (dt.Rows[i]["mb_id"].ToString() != dt.Rows[i]["mbr_mbid"].ToString())
-                    ErrorMessage += "【" + dt.Rows[i]["bc_name"].ToString() + "】";
-            }
-            //存在不良记录
-            if (ErrorMessage != "")
-                OperateResult.AppendText(">>序列号:" + ms_sncode.Text + " 已经判为不良品,不允许修改!\n", Color.Red);
-            else
-            {
-                //良品信息采集
-                if (LogicHandler.UpdateMakeMessage(ms_sncode.Text, ma_code.Text, "良品采集", User.UserSourceCode, User.UserCode, "检测合格", out ErrorMessage))
-                {
-                    LastSncode = ms_sncode.Text;
-                    OperateResult.AppendText(">>" + ms_sncode.Text + "已采集为良品\n", Color.Green, ms_sncode);
-                    //记录操作日志
-                    LogicHandler.DoCommandLog(User.UserCode, ma_code.Text, User.UserLineCode, User.UserSourceCode, "采集良品", "采集良品成功", LastSncode, ob_checkno.Text);
-                }
-                else
-                    OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, ms_sncode);
-            }
-        }
-
         private void Save_Click(object sender, EventArgs e)
         {
             if (ms_sncode.Text == "")
@@ -540,7 +581,6 @@ namespace UAS_MES.Make
             sql.Clear();
             sql.Append("update oqcbatch set ob_status='UNCHECK' where ob_checkno ='" + ob_checkno.Text + "'");
             dh.ExecuteSql(sql.GetString(), "select");
-            ob_checkno.Text = "";
             ob_nowcheckqty.Text = "";
             ob_batchqty.Text = "";
             ob_nowcheckqty.ForeColor = Color.Black;
@@ -549,7 +589,8 @@ namespace UAS_MES.Make
             ms_sncode.Focus();
             LogicHandler.InsertMakeProcess(LastSncode, ma_code.Text, User.UserSourceCode, "手动送检", "手动送检成功", User.UserCode);
             //记录操作日志
-            LogicHandler.DoCommandLog(User.UserCode,ma_code.Text,User.UserLineCode,User.UserSourceCode,"手动送检","手动送检成功","",ob_checkno.Text);
+            LogicHandler.DoCommandLog(User.UserCode, ma_code.Text, User.UserLineCode, User.UserSourceCode, "手动送检", "手动送检成功", "", ob_checkno.Text);
+            ob_checkno.Text = "";
         }
 
         private void ob_checkno_TextChanged(object sender, EventArgs e)

+ 10 - 15
UAS-MES/FunctionCode/OQC/OQC_BatchResultJudge.cs

@@ -37,6 +37,14 @@ namespace UAS_MES.OQC
         {
             if (CheckStep())
             {
+                DataTable temp = dh.getFieldsDataByCondition("makeserial", new string[] { "nvl(ms_ifrework,0)ms_ifrework", "ms_reworkcheckno" }, "upper(ms_sncode)='" + ms_sncode.Text.ToUpper() + "'");
+                if (temp.Rows.Count > 0)
+                {
+                    if (temp.Rows[0]["ms_ifrework"].ToString() != "0")
+                    {
+                        ob_checkno.Text = temp.Rows[0]["ms_reworkcheckno"].ToString();
+                    }
+                }
                 PassCheckStep = true;
                 string ErrorMessage = "";
                 DataTable[] dt = LogicHandler.GetOQCBatch(ms_sncode.Text, obd_outboxcode.Text, ob_checkno.Text, "OQCResultDetermine", out ErrorMessage);
@@ -248,7 +256,7 @@ namespace UAS_MES.OQC
         {
             if (ob_status.Text == "检验中")
             {
-                if (ob_maxngacceptqty.Text == "" || ob_maxngacceptqty.Text == "0")
+                if (ob_maxngacceptqty.Text == "")
                 {
                     if (ob_aqlcode.Text == "")
                         OperateResult.AppendText(">>最大不合格允许通过数为空的时候必须填写维护AQL标准\n", Color.Red);
@@ -273,20 +281,7 @@ namespace UAS_MES.OQC
                 }
                 else
                 {
-                    sql.Clear();
-                    sql.Append("select wm_concat(oi_itemcode) codes from OQCitems where ");
-                    sql.Append("nvl(oi_checkqty,0)<oi_sampleqty  and oi_sampleqty>0 and rownum<30 and oi_checkno='" + ob_checkno.Text + "'");
-                    dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
-                    if (dt.Rows.Count > 0)
-                    {
-                        if (dt.Rows[0]["codes"].ToString() != "")
-                        {
-                            OperateResult.AppendText(">>项目编号抽检数未达到样本数,项目编号[" + dt.Rows[0]["codes"].ToString() + "]\n", Color.Red);
-                            return false;
-                        }
-                        else
-                            return true;
-                    }
+                    return true;
                 }
             }
             else OperateResult.AppendText(">>状态未在检验中的批次不允许进行判断\n", Color.Red);

+ 8 - 0
UAS-MES/FunctionCode/OQC/OQC_PlanMaintain.cs

@@ -56,6 +56,14 @@ namespace UAS_MES.OQC
         {
             if (LogicHandler.CheckStepAttribute(Tag.ToString(), User.UserSourceCode, out ErrorMessage))
             {
+                DataTable temp = dh.getFieldsDataByCondition("makeserial", new string[] { "nvl(ms_ifrework,0)ms_ifrework", "ms_reworkcheckno" }, "upper(ms_sncode)='" + ms_sncode.Text.ToUpper() + "'");
+                if (temp.Rows.Count > 0)
+                {
+                    if (temp.Rows[0]["ms_ifrework"].ToString() != "0")
+                    {
+                        ob_checkno.Text = temp.Rows[0]["ms_reworkcheckno"].ToString();
+                    }
+                }  
                 DataTable[] dt = LogicHandler.GetOQCBatch(ms_sncode.Text, obd_outboxcode.Text, ob_checkno.Text, "OQCPlanMaintain", out ErrorMessage);
                 if (dt != null)
                 {

+ 15 - 15
UAS-MES/FunctionCode/OQC/OQC_SamplingDataCollection.cs

@@ -47,6 +47,19 @@ namespace UAS_MES.OQC
         {
             if (LogicHandler.CheckStepAttribute(Tag.ToString(), User.UserSourceCode, out ErrorMessage))
             {
+                DataTable temp = dh.getFieldsDataByCondition("makeserial", new string[] { "nvl(ms_ifrework,0)ms_ifrework", "ms_reworkcheckno", "ms_reworkstatus" }, "upper(ms_sncode)='" + sncode.Text.ToUpper() + "'");
+                if (temp.Rows.Count > 0)
+                {
+                    if (temp.Rows[0]["ms_reworkstatus"].ToString() == "3")
+                    {
+                        OperateResult.AppendText(">>返修的不良序列号必须先进行维修\n", Color.Red);
+                        return;
+                    }
+                    if (temp.Rows[0]["ms_ifrework"].ToString() != "0")
+                    {
+                        ob_checkno.Text = temp.Rows[0]["ms_reworkcheckno"].ToString();
+                    }
+                }
                 DataTable[] dt = LogicHandler.GetOQCBatch(ms_sncode.Text == "" ? sncode.Text : ms_sncode.Text, obd_outboxcode.Text, ob_checkno.Text, "OQCDataCollection", out ErrorMessage);
                 if (ErrorMessage == "")
                 {
@@ -346,7 +359,7 @@ namespace UAS_MES.OQC
 
         private bool CheckBefore()
         {
-            if (ob_maxngacceptqty.Text == "" || ob_maxngacceptqty.Text == "0")
+            if (ob_maxngacceptqty.Text == "")
             {
                 if (ob_aqlcode.Text == "")
                     OperateResult.AppendText(">>最大不合格允许通过数为空的时候必须填写维护AQL标准\n", Color.Red);
@@ -371,20 +384,7 @@ namespace UAS_MES.OQC
             }
             else
             {
-                sql.Clear();
-                sql.Append("select wm_concat(oi_itemcode) codes from OQCitems where ");
-                sql.Append("nvl(oi_checkqty,0)<oi_sampleqty  and oi_sampleqty>0 and rownum<30 and oi_checkno='" + ob_checkno.Text + "'");
-                dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
-                if (dt.Rows.Count > 0)
-                {
-                    if (dt.Rows[0]["codes"].ToString() != "")
-                    {
-                        OperateResult.AppendText(">>项目编号抽检数未达到样本数,项目编号[" + dt.Rows[0]["codes"].ToString() + "]\n", Color.Red);
-                        return false;
-                    }
-                    else
-                        return true;
-                }
+                return true;
             }
             return false;
         }

+ 96 - 96
UAS-MES/FunctionCode/Query/Query_ExeProgress.Designer.cs

@@ -31,13 +31,6 @@
             this.sn_code_label = new System.Windows.Forms.Label();
             this.SerialPanel = new System.Windows.Forms.Panel();
             this.CraftInfDgv = new UAS_MES.CustomControl.DataGrid_View.DataGridViewWithSerialNum();
-            this.mp_sncode = new System.Windows.Forms.DataGridViewTextBoxColumn();
-            this.mp_makecode = new System.Windows.Forms.DataGridViewTextBoxColumn();
-            this.ma_prodcode = new System.Windows.Forms.DataGridViewTextBoxColumn();
-            this.mp_sourcecode = new System.Windows.Forms.DataGridViewTextBoxColumn();
-            this.mp_indate = new System.Windows.Forms.DataGridViewTextBoxColumn();
-            this.ma_craftcode = new System.Windows.Forms.DataGridViewTextBoxColumn();
-            this.ma_linecode = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.groupBoxWithBorder1 = new UAS_MES.CustomControl.GroupBoxWithBorder.GroupBoxWithBorder();
             this.label1 = new System.Windows.Forms.Label();
             this.pictureBox4 = new System.Windows.Forms.PictureBox();
@@ -48,6 +41,13 @@
             this.label2 = new System.Windows.Forms.Label();
             this.label3 = new System.Windows.Forms.Label();
             this.sn_code = new UAS_MES.CustomControl.TextBoxWithIcon.EnterTextBox();
+            this.mp_sncode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.mp_makecode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.ma_prodcode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.mp_sourcecode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.mp_indate = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.ma_craftcode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.sc_linecode = new System.Windows.Forms.DataGridViewTextBoxColumn();
             ((System.ComponentModel.ISupportInitialize)(this.CraftInfDgv)).BeginInit();
             this.groupBoxWithBorder1.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).BeginInit();
@@ -60,10 +60,10 @@
             // 
             this.sn_code_label.AutoSize = true;
             this.sn_code_label.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.sn_code_label.Location = new System.Drawing.Point(15, 17);
+            this.sn_code_label.Location = new System.Drawing.Point(13, 14);
             this.sn_code_label.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
             this.sn_code_label.Name = "sn_code_label";
-            this.sn_code_label.Size = new System.Drawing.Size(86, 31);
+            this.sn_code_label.Size = new System.Drawing.Size(72, 27);
             this.sn_code_label.TabIndex = 183;
             this.sn_code_label.Text = "序列号";
             // 
@@ -72,10 +72,10 @@
             this.SerialPanel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
             | System.Windows.Forms.AnchorStyles.Right)));
             this.SerialPanel.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-            this.SerialPanel.Location = new System.Drawing.Point(21, 161);
+            this.SerialPanel.Location = new System.Drawing.Point(19, 134);
             this.SerialPanel.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
             this.SerialPanel.Name = "SerialPanel";
-            this.SerialPanel.Size = new System.Drawing.Size(1423, 378);
+            this.SerialPanel.Size = new System.Drawing.Size(1265, 316);
             this.SerialPanel.TabIndex = 194;
             this.SerialPanel.Paint += new System.Windows.Forms.PaintEventHandler(this.SerialPanel_Paint);
             // 
@@ -91,63 +91,14 @@
             this.mp_sourcecode,
             this.mp_indate,
             this.ma_craftcode,
-            this.ma_linecode});
-            this.CraftInfDgv.Location = new System.Drawing.Point(0, 582);
+            this.sc_linecode});
+            this.CraftInfDgv.Location = new System.Drawing.Point(0, 485);
             this.CraftInfDgv.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
             this.CraftInfDgv.Name = "CraftInfDgv";
             this.CraftInfDgv.RowTemplate.Height = 27;
-            this.CraftInfDgv.Size = new System.Drawing.Size(1462, 286);
+            this.CraftInfDgv.Size = new System.Drawing.Size(1300, 238);
             this.CraftInfDgv.TabIndex = 193;
             // 
-            // mp_sncode
-            // 
-            this.mp_sncode.DataPropertyName = "mp_sncode";
-            this.mp_sncode.HeaderText = "序列号";
-            this.mp_sncode.Name = "mp_sncode";
-            this.mp_sncode.Width = 120;
-            // 
-            // mp_makecode
-            // 
-            this.mp_makecode.DataPropertyName = "mp_makecode";
-            this.mp_makecode.HeaderText = "工单代码";
-            this.mp_makecode.Name = "mp_makecode";
-            this.mp_makecode.Width = 120;
-            // 
-            // ma_prodcode
-            // 
-            this.ma_prodcode.DataPropertyName = "ma_prodcode";
-            this.ma_prodcode.HeaderText = "产品代码";
-            this.ma_prodcode.Name = "ma_prodcode";
-            this.ma_prodcode.Width = 120;
-            // 
-            // mp_sourcecode
-            // 
-            this.mp_sourcecode.DataPropertyName = "mp_sourcecode";
-            this.mp_sourcecode.HeaderText = "资源编号";
-            this.mp_sourcecode.Name = "mp_sourcecode";
-            this.mp_sourcecode.Width = 120;
-            // 
-            // mp_indate
-            // 
-            this.mp_indate.DataPropertyName = "mp_indate";
-            this.mp_indate.HeaderText = "过站时间";
-            this.mp_indate.Name = "mp_indate";
-            this.mp_indate.Width = 120;
-            // 
-            // ma_craftcode
-            // 
-            this.ma_craftcode.DataPropertyName = "ma_craftcode";
-            this.ma_craftcode.HeaderText = "途程代码";
-            this.ma_craftcode.Name = "ma_craftcode";
-            this.ma_craftcode.Width = 120;
-            // 
-            // ma_linecode
-            // 
-            this.ma_linecode.DataPropertyName = "ma_linecode";
-            this.ma_linecode.HeaderText = "产线";
-            this.ma_linecode.Name = "ma_linecode";
-            this.ma_linecode.Width = 120;
-            // 
             // groupBoxWithBorder1
             // 
             this.groupBoxWithBorder1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
@@ -162,11 +113,11 @@
             this.groupBoxWithBorder1.Controls.Add(this.label2);
             this.groupBoxWithBorder1.Controls.Add(this.label3);
             this.groupBoxWithBorder1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.groupBoxWithBorder1.Location = new System.Drawing.Point(18, 60);
-            this.groupBoxWithBorder1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+            this.groupBoxWithBorder1.Location = new System.Drawing.Point(16, 50);
+            this.groupBoxWithBorder1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.groupBoxWithBorder1.Name = "groupBoxWithBorder1";
-            this.groupBoxWithBorder1.Padding = new System.Windows.Forms.Padding(4, 5, 4, 5);
-            this.groupBoxWithBorder1.Size = new System.Drawing.Size(1430, 60);
+            this.groupBoxWithBorder1.Padding = new System.Windows.Forms.Padding(4, 4, 4, 4);
+            this.groupBoxWithBorder1.Size = new System.Drawing.Size(1271, 50);
             this.groupBoxWithBorder1.TabIndex = 192;
             this.groupBoxWithBorder1.TabStop = false;
             this.groupBoxWithBorder1.Text = "颜色说明";
@@ -176,30 +127,30 @@
             // 
             this.label1.AutoSize = true;
             this.label1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.label1.Location = new System.Drawing.Point(1269, 19);
+            this.label1.Location = new System.Drawing.Point(1129, 17);
             this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
             this.label1.Name = "label1";
-            this.label1.Size = new System.Drawing.Size(110, 31);
+            this.label1.Size = new System.Drawing.Size(92, 27);
             this.label1.TabIndex = 193;
             this.label1.Text = "尚未执行";
             // 
             // pictureBox4
             // 
             this.pictureBox4.BackColor = System.Drawing.Color.White;
-            this.pictureBox4.Location = new System.Drawing.Point(1163, 18);
-            this.pictureBox4.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+            this.pictureBox4.Location = new System.Drawing.Point(1034, 15);
+            this.pictureBox4.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.pictureBox4.Name = "pictureBox4";
-            this.pictureBox4.Size = new System.Drawing.Size(90, 30);
+            this.pictureBox4.Size = new System.Drawing.Size(80, 25);
             this.pictureBox4.TabIndex = 192;
             this.pictureBox4.TabStop = false;
             // 
             // pictureBox2
             // 
             this.pictureBox2.BackColor = System.Drawing.Color.Green;
-            this.pictureBox2.Location = new System.Drawing.Point(148, 18);
-            this.pictureBox2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+            this.pictureBox2.Location = new System.Drawing.Point(132, 15);
+            this.pictureBox2.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.pictureBox2.Name = "pictureBox2";
-            this.pictureBox2.Size = new System.Drawing.Size(90, 30);
+            this.pictureBox2.Size = new System.Drawing.Size(80, 25);
             this.pictureBox2.TabIndex = 187;
             this.pictureBox2.TabStop = false;
             // 
@@ -207,30 +158,30 @@
             // 
             this.label4.AutoSize = true;
             this.label4.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.label4.Location = new System.Drawing.Point(978, 19);
+            this.label4.Location = new System.Drawing.Point(870, 17);
             this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
             this.label4.Name = "label4";
-            this.label4.Size = new System.Drawing.Size(86, 31);
+            this.label4.Size = new System.Drawing.Size(72, 27);
             this.label4.TabIndex = 191;
             this.label4.Text = "已报废";
             // 
             // pictureBox1
             // 
             this.pictureBox1.BackColor = System.Drawing.Color.Red;
-            this.pictureBox1.Location = new System.Drawing.Point(507, 18);
-            this.pictureBox1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+            this.pictureBox1.Location = new System.Drawing.Point(451, 15);
+            this.pictureBox1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.pictureBox1.Name = "pictureBox1";
-            this.pictureBox1.Size = new System.Drawing.Size(90, 30);
+            this.pictureBox1.Size = new System.Drawing.Size(80, 25);
             this.pictureBox1.TabIndex = 186;
             this.pictureBox1.TabStop = false;
             // 
             // pictureBox3
             // 
             this.pictureBox3.BackColor = System.Drawing.Color.Black;
-            this.pictureBox3.Location = new System.Drawing.Point(872, 18);
-            this.pictureBox3.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+            this.pictureBox3.Location = new System.Drawing.Point(775, 15);
+            this.pictureBox3.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.pictureBox3.Name = "pictureBox3";
-            this.pictureBox3.Size = new System.Drawing.Size(90, 30);
+            this.pictureBox3.Size = new System.Drawing.Size(80, 25);
             this.pictureBox3.TabIndex = 190;
             this.pictureBox3.TabStop = false;
             // 
@@ -238,10 +189,10 @@
             // 
             this.label2.AutoSize = true;
             this.label2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.label2.Location = new System.Drawing.Point(254, 19);
+            this.label2.Location = new System.Drawing.Point(227, 17);
             this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
             this.label2.Name = "label2";
-            this.label2.Size = new System.Drawing.Size(182, 31);
+            this.label2.Size = new System.Drawing.Size(152, 27);
             this.label2.TabIndex = 188;
             this.label2.Text = "已执行且为良品";
             // 
@@ -249,10 +200,10 @@
             // 
             this.label3.AutoSize = true;
             this.label3.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.label3.Location = new System.Drawing.Point(613, 19);
+            this.label3.Location = new System.Drawing.Point(546, 17);
             this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
             this.label3.Name = "label3";
-            this.label3.Size = new System.Drawing.Size(206, 31);
+            this.label3.Size = new System.Drawing.Size(172, 27);
             this.label3.TabIndex = 189;
             this.label3.Text = "已执行且为不良品";
             // 
@@ -261,11 +212,11 @@
             this.sn_code.AllPower = null;
             this.sn_code.BackColor = System.Drawing.Color.White;
             this.sn_code.ID = null;
-            this.sn_code.Location = new System.Drawing.Point(138, 19);
-            this.sn_code.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+            this.sn_code.Location = new System.Drawing.Point(123, 16);
+            this.sn_code.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.sn_code.Name = "sn_code";
             this.sn_code.Power = null;
-            this.sn_code.Size = new System.Drawing.Size(216, 28);
+            this.sn_code.Size = new System.Drawing.Size(192, 25);
             this.sn_code.Str = null;
             this.sn_code.Str1 = null;
             this.sn_code.Str2 = null;
@@ -273,18 +224,67 @@
             this.sn_code.Tag = "NoAuto";
             this.sn_code.KeyDown += new System.Windows.Forms.KeyEventHandler(this.sn_code_KeyDown);
             // 
+            // mp_sncode
+            // 
+            this.mp_sncode.DataPropertyName = "mp_sncode";
+            this.mp_sncode.HeaderText = "序列号";
+            this.mp_sncode.Name = "mp_sncode";
+            this.mp_sncode.Width = 120;
+            // 
+            // mp_makecode
+            // 
+            this.mp_makecode.DataPropertyName = "mp_makecode";
+            this.mp_makecode.HeaderText = "工单代码";
+            this.mp_makecode.Name = "mp_makecode";
+            this.mp_makecode.Width = 120;
+            // 
+            // ma_prodcode
+            // 
+            this.ma_prodcode.DataPropertyName = "ma_prodcode";
+            this.ma_prodcode.HeaderText = "产品代码";
+            this.ma_prodcode.Name = "ma_prodcode";
+            this.ma_prodcode.Width = 120;
+            // 
+            // mp_sourcecode
+            // 
+            this.mp_sourcecode.DataPropertyName = "mp_sourcecode";
+            this.mp_sourcecode.HeaderText = "资源编号";
+            this.mp_sourcecode.Name = "mp_sourcecode";
+            this.mp_sourcecode.Width = 120;
+            // 
+            // mp_indate
+            // 
+            this.mp_indate.DataPropertyName = "mp_indate";
+            this.mp_indate.HeaderText = "过站时间";
+            this.mp_indate.Name = "mp_indate";
+            this.mp_indate.Width = 120;
+            // 
+            // ma_craftcode
+            // 
+            this.ma_craftcode.DataPropertyName = "ma_craftcode";
+            this.ma_craftcode.HeaderText = "途程代码";
+            this.ma_craftcode.Name = "ma_craftcode";
+            this.ma_craftcode.Width = 120;
+            // 
+            // sc_linecode
+            // 
+            this.sc_linecode.DataPropertyName = "sc_linecode";
+            this.sc_linecode.HeaderText = "产线";
+            this.sc_linecode.Name = "sc_linecode";
+            this.sc_linecode.Width = 120;
+            // 
             // Query_ExeProgress
             // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 18F);
+            this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(1462, 866);
+            this.ClientSize = new System.Drawing.Size(1300, 722);
             this.Controls.Add(this.SerialPanel);
             this.Controls.Add(this.CraftInfDgv);
             this.Controls.Add(this.groupBoxWithBorder1);
             this.Controls.Add(this.sn_code);
             this.Controls.Add(this.sn_code_label);
             this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
-            this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+            this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.Name = "Query_ExeProgress";
             this.Tag = "Query!ExeProgress";
             this.Text = "工单执行进度";
@@ -314,14 +314,14 @@
         private CustomControl.GroupBoxWithBorder.GroupBoxWithBorder groupBoxWithBorder1;
         private CustomControl.DataGrid_View.DataGridViewWithSerialNum CraftInfDgv;
         private System.Windows.Forms.Panel SerialPanel;
+        private System.Windows.Forms.Label label1;
+        private System.Windows.Forms.PictureBox pictureBox4;
         private System.Windows.Forms.DataGridViewTextBoxColumn mp_sncode;
         private System.Windows.Forms.DataGridViewTextBoxColumn mp_makecode;
         private System.Windows.Forms.DataGridViewTextBoxColumn ma_prodcode;
         private System.Windows.Forms.DataGridViewTextBoxColumn mp_sourcecode;
         private System.Windows.Forms.DataGridViewTextBoxColumn mp_indate;
         private System.Windows.Forms.DataGridViewTextBoxColumn ma_craftcode;
-        private System.Windows.Forms.DataGridViewTextBoxColumn ma_linecode;
-        private System.Windows.Forms.Label label1;
-        private System.Windows.Forms.PictureBox pictureBox4;
+        private System.Windows.Forms.DataGridViewTextBoxColumn sc_linecode;
     }
 }

+ 3 - 2
UAS-MES/FunctionCode/Query/Query_ExeProgress.cs

@@ -134,8 +134,9 @@ namespace UAS_MES.Query
                     Refresh();
                     SerialPanel.Refresh();
                     sql.Clear();
-                    sql.Append("select mp_makecode,ma_prodcode,ma_linecode,ma_craftcode,mp_sourcecode,mp_sncode,mp_indate ");
-                    sql.Append("from makeprocess left join make on mp_makecode=ma_code where mp_sncode='" + sn_code.Text + "'");
+                    sql.Append("select mp_makecode,ma_prodcode,sc_linecode,ma_craftcode,mp_sourcecode,mp_sncode,");
+                    sql.Append("mp_indate from makeprocess left join make on mp_makecode=ma_code left join source on ");
+                    sql.Append("mp_sourcecode=sc_code where mp_sncode='" + sn_code.Text + "'");
                     dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
                     BaseUtil.FillDgvWithDataTable(CraftInfDgv, dt);
                 }

+ 1 - 1
UAS-MES/FunctionCode/Query/Query_ExeProgress.resx

@@ -135,7 +135,7 @@
   <metadata name="ma_craftcode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
-  <metadata name="ma_linecode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+  <metadata name="sc_linecode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
 </root>