Browse Source

修改OQC,维修作业,测试的BUG

章政 7 years ago
parent
commit
7daeae1dd1

+ 3 - 1
UAS-MES/CustomControl/ButtonUtil/NormalButton.cs

@@ -301,7 +301,7 @@ namespace UAS_MES.CustomControl.ButtonUtil
                     {
                         using (Image light = Resources.Light)
                         {
-                            g.DrawImage(light, this.AllRect);
+                            //g.DrawImage(light, this.AllRect);
                             //DrawHelper.RendererBackground(g, this.AllRect, light, true);
                         }
                     }
@@ -310,6 +310,8 @@ namespace UAS_MES.CustomControl.ButtonUtil
                 switch (this.MouseState)
                 {
                     case EMouseState.Leave:
+                        DrawHelper.RendererBackground(g, this.TextRect, this.NormalImage, true);
+                        break;
                     case EMouseState.Normal:
                         if (base.Focused)
                         {

+ 3 - 2
UAS-MES/DataOperate/DataHelper.cs

@@ -819,7 +819,7 @@ namespace UAS_MES.DataOperate
         /// </summary>
         /// <param name="sql"></param>
         /// <param name="names"></param>
-        public void BatchInsert(string sql, params object[][] names)
+        public int BatchInsert(string sql, params object[][] names)
         {
             command = new OracleCommand(sql, connection);
             Reconnect(command);
@@ -831,8 +831,9 @@ namespace UAS_MES.DataOperate
             {
                 command.Parameters.Add(new OracleParameter(names[0][i - 1].ToString(), OracleDbType.Varchar2, names[i], ParameterDirection.Input));
             }
-            command.ExecuteNonQuery();
+            int count= command.ExecuteNonQuery();
             command.Dispose();
+            return count;
         }
 
         public void BatchInsertDataTable(string sql, string[] param, params object[][] param1)

+ 1 - 0
UAS-MES/FunctionCode/Make/Make_NewBadCode.Designer.cs

@@ -359,6 +359,7 @@
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.BackColor = System.Drawing.SystemColors.ControlLightLight;
             this.ClientSize = new System.Drawing.Size(548, 486);
             this.Controls.Add(this.label3);
             this.Controls.Add(this.headBar1);

+ 52 - 11
UAS-MES/FunctionCode/Make/Make_NewBadCode.cs

@@ -4,6 +4,7 @@ using System.ComponentModel;
 using System.Data;
 using System.Drawing;
 using System.Linq;
+using System.Runtime.InteropServices;
 using System.Text;
 using System.Windows.Forms;
 using UAS_MES.DataOperate;
@@ -14,6 +15,21 @@ namespace UAS_MES.Make
 {
     public partial class Make_NewBadCode : Form
     {
+        [DllImport("user32.dll")]
+        public static extern bool ReleaseCapture();
+
+        [DllImport("user32.dll")]
+        public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);
+
+        [DllImport("user32.dll", EntryPoint = "GetWindowLong", CharSet = CharSet.Auto)]
+        public static extern int GetWindowLong(HandleRef hWnd, int nIndex);
+
+        [DllImport("user32.dll", EntryPoint = "SetWindowLong", CharSet = CharSet.Auto)]
+        public static extern IntPtr SetWindowLong(HandleRef hWnd, int nIndex, int dwNewLong);
+
+        public const int WM_SYSCOMMAND = 0x0112;
+        public const int SC_MOVE = 0xF010;
+        public const int HTCAPTION = 0x0002;
         /// <summary>
         /// 序列号
         /// </summary>
@@ -38,6 +54,7 @@ namespace UAS_MES.Make
 
         private void Make_NewBadCode_Load(object sender, EventArgs e)
         {
+            this.headBar1.MouseDown += new MouseEventHandler(this.headBar_MouseDown);
             dh = new DataHelper();
             ms_makecode.Text = macode;
             ms_sncode.Text = sncode;
@@ -75,6 +92,12 @@ namespace UAS_MES.Make
             }
         }
 
+        private void headBar_MouseDown(object sender, MouseEventArgs e)
+        {
+            ReleaseCapture();
+            SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
+        }
+
         private void ChooseedReject_Click(object sender, EventArgs e)
         {
             int CheckedNum = 0;
@@ -160,10 +183,10 @@ namespace UAS_MES.Make
                 return;
             }
             int RejectCount = ChoosedRejectList.Items.Count;
-            string[] bccode = new string[RejectCount];
-            string[] bcremark = new string[RejectCount];
-            string[] bgcode = new string[RejectCount];
-            string[] id = new string[RejectCount];
+            List<string> bccode = new List<string>();
+            List<string> bcremark = new List<string>();
+            List<string> bgcode = new List<string>();
+            List<string> id = new List<string>();
             string ErrorMessage = "";
             if (ChoosedRejectList.Items.Count == 0)
                 MessageBox.Show("不良品必须选择不良原因和不良代码!");
@@ -172,22 +195,40 @@ namespace UAS_MES.Make
                 //用户未填写不良代码一切按照正常逻辑,填写了从index=1开始执行
                 for (int i = 0; i < RejectCount; i++)
                 {
-                    bgcode[i] = ChoosedRejectList.Items[i].SubItems[1].Text;
+                    bgcode.Add(ChoosedRejectList.Items[i].SubItems[1].Text);
                     //获取所有的不良代码
-                    bccode[i] = ChoosedRejectList.Items[i].SubItems[3].Text;
+                    bccode.Add(ChoosedRejectList.Items[i].SubItems[3].Text);
                     //获取所有的不良备注
-                    bcremark[i] = ChoosedRejectList.Items[i].SubItems[5].Text;
-                    id[i] = dh.GetSEQ("MakeBad_seq");
+                    bcremark.Add(ChoosedRejectList.Items[i].SubItems[5].Text);
+                    id.Add(dh.GetSEQ("MakeBad_seq"));
+                }
+            }
+            dt = (DataTable)dh.ExecuteSql("select mb_badcode from makebad where mb_sncode='" + sncode + "'", "select");
+            for (int i = 0; i < dt.Rows.Count; i++)
+            {
+                for (int j = 0; j < bgcode.Count; j++)
+                {
+                    if (dt.Rows[i][0].ToString() == bgcode[i])
+                    {
+                        ErrorMessage += " " + bgcode[i] + " ";
+                        bgcode.Remove(bgcode[i]);
+                        bccode.Remove(bccode[i]);
+                        bcremark.Remove(bcremark[i]);
+                        id.Remove(id[i]);
+                    }
                 }
             }
+            if (ErrorMessage != "")
+            {
+                ErrorMessage += "重复";
+            }
             sql.Clear();
-            sql.Append("insert when (not exists(select 1 from makebad where mb_sncode='" + sncode + "' and mb_badcode=:bc_code)) then ");
-            sql.Append("into makebad(mb_id,mb_makecode,mb_mscode,mb_sncode,mb_inman,");
+            sql.Append("insert into makebad(mb_id,mb_makecode,mb_mscode,mb_sncode,mb_inman,");
             sql.Append("mb_indate,mb_stepcode,mb_sourcecode,mb_badcode,mb_bgcode,mb_badtable,mb_soncode,mb_status,mb_badremark)");
             sql.Append("select :id,ma_code,ms_code,ms_sncode,'" + User.UserName + "',sysdate,'" + User.CurrentStepCode + "',ms_sourcecode,:bc_code,:bg_code,'',");
             sql.Append("sp_soncode,'0',:bc_remark from make left join makeSerial on ms_makecode=ma_code left join stepProduct on ");
             sql.Append("sp_mothercode=ma_prodcode and sp_stepcode=ms_nextstepcode where ms_sncode='" + sncode + "'");
-            dh.BatchInsert(sql.GetString(), new string[] { "bc_code", "id", "bc_code", "bg_code", "bc_remark" }, bccode, id, bccode, bgcode, bcremark);
+            dh.BatchInsert(sql.GetString(), new string[] { "bc_code", "id", "bc_code", "bg_code", "bc_remark" }, bccode.ToArray(), id.ToArray(), bccode.ToArray(), bgcode.ToArray(), bcremark.ToArray());
             MessageBox.Show("保存成功");
             Close();
         }

+ 2 - 0
UAS-MES/FunctionCode/Make/Make_NewMatainInf.Designer.cs

@@ -319,11 +319,13 @@
             this.headBar1.Size = new System.Drawing.Size(624, 32);
             this.headBar1.TabIndex = 0;
             this.headBar1.Title = "新增维修信息";
+            this.headBar1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.headBar1_MouseDown);
             // 
             // Make_NewMatainInf
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.BackColor = System.Drawing.SystemColors.ControlLightLight;
             this.ClientSize = new System.Drawing.Size(624, 488);
             this.Controls.Add(this.Cancel);
             this.Controls.Add(this.Save);

+ 22 - 0
UAS-MES/FunctionCode/Make/Make_NewMatainInf.cs

@@ -4,6 +4,7 @@ using System.ComponentModel;
 using System.Data;
 using System.Drawing;
 using System.Linq;
+using System.Runtime.InteropServices;
 using System.Text;
 using System.Windows.Forms;
 using UAS_MES.DataOperate;
@@ -14,6 +15,21 @@ namespace UAS_MES.Make
 {
     public partial class Make_NewMatainInf : Form
     {
+        [DllImport("user32.dll")]
+        public static extern bool ReleaseCapture();
+
+        [DllImport("user32.dll")]
+        public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);
+
+        [DllImport("user32.dll", EntryPoint = "GetWindowLong", CharSet = CharSet.Auto)]
+        public static extern int GetWindowLong(HandleRef hWnd, int nIndex);
+
+        [DllImport("user32.dll", EntryPoint = "SetWindowLong", CharSet = CharSet.Auto)]
+        public static extern IntPtr SetWindowLong(HandleRef hWnd, int nIndex, int dwNewLong);
+
+        public const int WM_SYSCOMMAND = 0x0112;
+        public const int SC_MOVE = 0xF010;
+        public const int HTCAPTION = 0x0002;
         /// <summary>
         /// 序列号
         /// </summary>
@@ -224,5 +240,11 @@ namespace UAS_MES.Make
             dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
             AddDataToListView(nr_name_lsv, dt);
         }
+
+        private void headBar1_MouseDown(object sender, MouseEventArgs e)
+        {
+            ReleaseCapture();
+            SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
+        }
     }
 }

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

@@ -306,7 +306,7 @@
             this.panel1.Location = new System.Drawing.Point(163, 280);
             this.panel1.Margin = new System.Windows.Forms.Padding(2);
             this.panel1.Name = "panel1";
-            this.panel1.Size = new System.Drawing.Size(829, 2);
+            this.panel1.Size = new System.Drawing.Size(829, 1);
             this.panel1.TabIndex = 108;
             // 
             // GetSNCode_Label
@@ -338,7 +338,7 @@
             this.panel3.Location = new System.Drawing.Point(1, 117);
             this.panel3.Margin = new System.Windows.Forms.Padding(2);
             this.panel3.Name = "panel3";
-            this.panel3.Size = new System.Drawing.Size(990, 2);
+            this.panel3.Size = new System.Drawing.Size(995, 1);
             this.panel3.TabIndex = 109;
             // 
             // BadCodeTree

+ 7 - 8
UAS-MES/FunctionCode/Make/Make_Repair.cs

@@ -174,9 +174,9 @@ namespace UAS_MES.Make
                 mbc_component.Text = dh.getFieldDataByCondition("makebadrscom", "mbc_component", "mbc_mbrid=" + mbr_id).ToString();
                 //加载两个Grid的数据源
                 DataTable dt = (DataTable)dh.ExecuteSql("select mbp_id,mbp_part from makebadrspart where mbp_mbrid=" + mbr_id, "select");
-                BaseUtil.FillDgvWithDataTable(mbp_partdgv,dt);
+                BaseUtil.FillDgvWithDataTable(mbp_partdgv, dt);
                 dt = (DataTable)dh.ExecuteSql("select mbl_id,mbl_loc from makebadrsloc where mbl_mbrid=" + mbr_id, "select");
-                BaseUtil.FillDgvWithDataTable(mbl_locdgv,dt);
+                BaseUtil.FillDgvWithDataTable(mbl_locdgv, dt);
             }
         }
 
@@ -287,7 +287,7 @@ namespace UAS_MES.Make
                 else
                 {
                     dh.UpdateByCondition("makeserial", "ms_nextstepcode='" + cd_stepcode.Text + "',ms_craftcode='" + cr_code.Text + "',ms_stepcode='" + User.CurrentStepCode + "',ms_status=1", "ms_sncode='" + ms_sncode.Text + "'");
-                    dh.ExecuteSql(insert_makeprocess.Replace("#", "完成维修"), "insert", ms_sncode.Text, User.CurrentStepCode);
+                    LogicHandler.InsertMakeProcess(ms_sncode.Text, ms_makecode.Text, User.UserSourceCode, "维修回流", "回流成功", User.UserCode);
                     OperatResult.AppendText(">>" + ms_sncode.Text + " 序列号回流成功\n", Color.Green);
                     BaseUtil.CleanForm(this);
                     BadCodeTree.Nodes.Clear();
@@ -298,7 +298,8 @@ namespace UAS_MES.Make
 
         private void Scrap_Click(object sender, EventArgs e)
         {
-            if (ms_sncode.Text != "") {
+            if (ms_sncode.Text != "")
+            {
                 //判断是否有无法维修的记录
                 int ScrapNum = int.Parse(dh.getFieldDataByCondition("makebad", "count(0) cn", "mb_sncode='" + ms_sncode.Text + "'").ToString());
                 if (ScrapNum == 0)
@@ -358,9 +359,8 @@ namespace UAS_MES.Make
                     sql.Append("sysdate,'" + User.UserCode + "' from dual");
                     dh.BatchInsert(sql.GetString(), new string[] { "prodcode" }, prodcode.ToArray());
                 }
-                OperatResult.AppendText(">>不良零件保存成功\n", Color.Green);
             }
-            else OperatResult.AppendText(">>不良零件未维护数据\n", Color.Red);
+            OperatResult.AppendText(">>不良零件保存成功\n", Color.Green);
             //保存不良位置
             dt = (DataTable)mbl_locdgv.DataSource;
             if (dt != null && dt.Rows.Count > 0)
@@ -380,9 +380,8 @@ namespace UAS_MES.Make
                     sql.Append("sysdate,'" + User.UserCode + "' from dual");
                     dh.BatchInsert(sql.GetString(), new string[] { "location" }, location.ToArray());
                 }
-                OperatResult.AppendText(">>不良位置保存成功\n", Color.Green);
             }
-            else OperatResult.AppendText(">>不良位置未维护数据\n", Color.Red);
+            OperatResult.AppendText(">>不良位置保存成功\n", Color.Green);
         }
 
         private void DeleteRepairInf_Click(object sender, EventArgs e)

+ 3 - 3
UAS-MES/FunctionCode/Make/Make_TestCollection.cs

@@ -207,7 +207,7 @@ namespace UAS_MES.Make
 
         private void bc_groupcode_SelectedIndexChanged(object sender, EventArgs e)
         {
-            LoadBadCodeListView(false);
+            LoadBadCodeListView();
         }
 
         /// <summary>
@@ -231,7 +231,7 @@ namespace UAS_MES.Make
         /// <summary>
         /// 加载不良代码的ListView的信息
         /// </summary>
-        private void LoadBadCodeListView(bool Clear)
+        private void LoadBadCodeListView()
         {
             object bg_code = bc_groupcode.SelectedValue;
             sql.Clear();
@@ -292,7 +292,7 @@ namespace UAS_MES.Make
             //如果勾选的是不良品
             if (Reject.Checked)
             {
-                LoadBadCodeListView(true);
+                LoadBadCodeListView();
                 LoadChoosedBadListView();
                 OperateResult.AppendText(">>请采集不良代码\n", Color.Green);
                 bc_code.Focus();

+ 63 - 65
UAS-MES/FunctionCode/OQC/OQC_SamplingDataCollection.cs

@@ -21,7 +21,7 @@ namespace UAS_MES.OQC
         List<DataGridViewRow> dgvr = new List<DataGridViewRow>();
         LogStringBuilder sql = new LogStringBuilder();
         string[] LevelDefect = new string[] { "A#A", "B#B", "C#C", "D#D" };
-
+        string ErrorMessage = "";
         DataTable TempForCheckType = new DataTable();
 
         public OQC_SamplingDataCollection()
@@ -79,8 +79,8 @@ namespace UAS_MES.OQC
                 //判断当前的检验状态
                 if (ob_status.Text == "待检验" || ob_status.Text == "检验中")
                 {
-                    dt = (DataTable)dh.ExecuteSql("select obd_sncode,ob_source,ob_makecode from OQCBatchDetail left join OQCBatch  on ob_id=obd_obid where obd_sncode='" + sncode.Text + "'", "select");
-                    if (dt.Rows.Count > 0)
+                    dt = (DataTable)dh.ExecuteSql("select obd_sncode,ob_source,ob_makecode,ob_checkno from OQCBatchDetail left join OQCBatch  on ob_id=obd_obid where obd_sncode='" + sncode.Text + "'", "select");
+                    if (dt.Rows.Count > 0 && dt.Rows[0]["ob_checkno"].ToString() == ob_checkno.Text)
                     {
                         if (dt.Rows[0]["ob_source"].ToString() != "工序")
                         {
@@ -88,7 +88,7 @@ namespace UAS_MES.OQC
                         }
                         else
                         {
-                            string ErrorMessage = "";
+
                             string oMakeCode = "";
                             string oMsID = "";
                             if (LogicHandler.CheckStepSNAndMacode(dt.Rows[0]["ob_makecode"].ToString(), User.UserSourceCode, sncode.Text, User.UserCode, out oMakeCode, out oMsID, out ErrorMessage))
@@ -102,7 +102,7 @@ namespace UAS_MES.OQC
                         }
                     }
                     else {
-                        OperateResult.AppendText(">>序列号"+sncode.Text+"不属于当前抽检批次\n", Color.Red);
+                        OperateResult.AppendText(">>序列号" + sncode.Text + "不属于当前抽检批次\n", Color.Red);
                         return false;
                     }
                 }
@@ -144,7 +144,7 @@ namespace UAS_MES.OQC
                         TempForCheckType.Rows.RemoveAt(i);
                     }
                 }
-                if (TempForCheckType != null && TempForCheckType.Rows.Count>0)
+                if (TempForCheckType != null && TempForCheckType.Rows.Count > 0)
                 {
                     //用于存放更新的数据
                     List<string> ois_ifng_update = new List<string>();
@@ -159,7 +159,6 @@ namespace UAS_MES.OQC
                     for (int i = 0; i < TempForCheckType.Rows.Count; i++)
                     {
                         //将布尔值转换为0,-1
-                        Console.WriteLine(TempForCheckType.Rows[i]["ois_id"].ToString());
                         if (TempForCheckType.Rows[i]["ois_id"].ToString() != "" && TempForCheckType.Rows[i]["ois_id"].ToString() != "0")
                         {
                             ois_ifng_update.Add(TempForCheckType.Rows[i]["oi_ng"].ToString() == "True" ? "-1" : "0");
@@ -227,9 +226,14 @@ namespace UAS_MES.OQC
                         dh.ExecuteSql("update OQCBatch set ob_status='CHECKING' where ob_checkno='" + ob_checkno.Text + "' and ob_status='UNCHECK'", "update");
                         //更新批次中的合格数不合格数:用抽检批检验项目表获取最大的抽检数和不合格数
                         dh.ExecuteSql("update OQCBATCH set (ob_ngqty,ob_okqty)=(select nvl(max(oi_ngqty),0),max(oi_checkqty)-nvl(max(oi_ngqty),0) from OQCItems where oi_checkno ='" + ob_checkno.Text + "') where ob_checkno ='" + ob_checkno.Text + "'", "update");
-                        OperateResult.AppendText(">>操作成功\n", Color.Green);
-                        GetBatchTypeGridData();
-                        TempForCheckType.Clear();
+                        if (LogicHandler.SetStepFinish(ob_makecode.Text, User.UserSourceCode, sncode.Text, "OQC检查", "抽样数据采集完成", User.UserCode, out ErrorMessage))
+                        {
+                            OperateResult.AppendText(">>操作成功\n", Color.Green);
+                            GetBatchTypeGridData();
+                            ChoosedDGV.DataSource = null;
+                            TempForCheckType.Clear();
+                        }
+                        else OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red);
                     }
                     else OperateResult.AppendText(">>含有未通过项请勾选不良明细\n", Color.Red);
                 }
@@ -352,51 +356,55 @@ namespace UAS_MES.OQC
                 textcell.Value = "检验状态";
                 headerRow.Cells.Add(textcell);
                 headerRow.ReadOnly = true;
-                CollapseDataGridViewRow cl = (CollapseDataGridViewRow)(CheckTypeDGV.Rows[e.RowIndex]);
-                cl.Rows.Add(headerRow);
-
-                for (int i = 0; i < dt.Rows.Count; i++)
+                try
                 {
-                    DataGridViewRow dataRow = new DataGridViewRow();
-                    //标记展开的子行
-                    dataRow.Tag = "SonRow";
-                    DataGridViewCheckBoxCell checkcell = new DataGridViewCheckBoxCell();
-                    checkcell.Tag = "SonRow";
-                    dataRow.Cells.Add(checkcell);
-
-                    textcell = new DataGridViewTextBoxCell();
-                    textcell.Value = dt.Rows[i]["oi_itemcode"].ToString();
-                    dataRow.Cells.Add(textcell);
-                    textcell.ReadOnly = true;
-
-                    DataGridViewCheckBoxCell checkcel2 = new DataGridViewCheckBoxCell();
-                    checkcel2.Value = dt.Rows[i]["oi_ng"].ToString() != "0" ? true : false;
-                    dataRow.Cells.Add(checkcel2);
-                    textcell.ReadOnly = false;
-
-                    DataGridViewComboBoxCell combocell = new DataGridViewComboBoxCell();
-                    BaseUtil.SetDGVCellComboxData(combocell, "display", "value", LevelDefect);
-                    combocell.Value = dt.Rows[i]["oi_leveldefect"].ToString();
-                    dataRow.Cells.Add(combocell);
-                    textcell.ReadOnly = false;
+                    CollapseDataGridViewRow cl = (CollapseDataGridViewRow)(CheckTypeDGV.Rows[e.RowIndex]);
+                    cl.Rows.Add(headerRow);
 
-                    textcell = new DataGridViewTextBoxCell();
-                    textcell.Value = dt.Rows[i]["ois_remark"].ToString();
-                    dataRow.Cells.Add(textcell);
-                    textcell.ReadOnly = false;
-
-                    textcell = new DataGridViewTextBoxCell();
-                    textcell.Value = dt.Rows[i]["ois_status"].ToString();
-                    dataRow.Cells.Add(textcell);
-                    textcell.ReadOnly = true;
-
-                    textcell = new DataGridViewTextBoxCell();
-                    textcell.Value = dt.Rows[i]["ois_id"].ToString();
-                    dataRow.Cells.Add(textcell);
-
-                    cl.Rows.Add(dataRow);
+                    for (int i = 0; i < dt.Rows.Count; i++)
+                    {
+                        DataGridViewRow dataRow = new DataGridViewRow();
+                        //标记展开的子行
+                        dataRow.Tag = "SonRow";
+                        DataGridViewCheckBoxCell checkcell = new DataGridViewCheckBoxCell();
+                        checkcell.Tag = "SonRow";
+                        dataRow.Cells.Add(checkcell);
+
+                        textcell = new DataGridViewTextBoxCell();
+                        textcell.Value = dt.Rows[i]["oi_itemcode"].ToString();
+                        dataRow.Cells.Add(textcell);
+                        textcell.ReadOnly = true;
+
+                        DataGridViewCheckBoxCell checkcel2 = new DataGridViewCheckBoxCell();
+                        checkcel2.Value = dt.Rows[i]["oi_ng"].ToString() != "0" ? true : false;
+                        dataRow.Cells.Add(checkcel2);
+                        textcell.ReadOnly = false;
+
+                        DataGridViewComboBoxCell combocell = new DataGridViewComboBoxCell();
+                        BaseUtil.SetDGVCellComboxData(combocell, "display", "value", LevelDefect);
+                        combocell.Value = dt.Rows[i]["oi_leveldefect"].ToString();
+                        dataRow.Cells.Add(combocell);
+                        textcell.ReadOnly = false;
+
+                        textcell = new DataGridViewTextBoxCell();
+                        textcell.Value = dt.Rows[i]["ois_remark"].ToString();
+                        dataRow.Cells.Add(textcell);
+                        textcell.ReadOnly = false;
+
+                        textcell = new DataGridViewTextBoxCell();
+                        textcell.Value = dt.Rows[i]["ois_status"].ToString();
+                        dataRow.Cells.Add(textcell);
+                        textcell.ReadOnly = true;
+
+                        textcell = new DataGridViewTextBoxCell();
+                        textcell.Value = dt.Rows[i]["ois_id"].ToString();
+                        dataRow.Cells.Add(textcell);
+
+                        cl.Rows.Add(dataRow);
+                    }
+                    dgvr.Add(CheckTypeDGV.Rows[e.RowIndex]);
                 }
-                dgvr.Add(CheckTypeDGV.Rows[e.RowIndex]);
+                catch (Exception) { }
             }
         }
 
@@ -453,13 +461,10 @@ namespace UAS_MES.OQC
                 CheckTypeDGV.Rows[e.RowIndex].Cells[0].Value = true;
             try
             {
-                if (e.ColumnIndex == 0)
+                if (CheckTypeDGV.Rows[e.RowIndex].Cells[0].Tag != null)
                 {
-                    if (CheckTypeDGV.Rows[e.RowIndex].Cells[0].Tag != null)
-                    {
-                        if (CheckTypeDGV.Rows[e.RowIndex].Cells[0].Tag.ToString() == "SonRow")
-                            BaseUtil.GetExpandDGVCheckedRow(CheckTypeDGV, TempForCheckType, e.RowIndex, 1);
-                    }
+                    if (CheckTypeDGV.Rows[e.RowIndex].Cells[0].Tag.ToString() == "SonRow")
+                        BaseUtil.GetExpandDGVCheckedRow(CheckTypeDGV, TempForCheckType, e.RowIndex, 1);
                 }
             }
             catch (Exception)
@@ -477,7 +482,6 @@ namespace UAS_MES.OQC
         private void CheckTypeDGV_CellContentClick(object sender, DataGridViewCellEventArgs e)
         {
             BaseUtil.ExpandDGVCheck(CheckTypeDGV, e);
-
         }
 
         private void bccode_KeyDown(object sender, KeyEventArgs e)
@@ -501,25 +505,19 @@ namespace UAS_MES.OQC
         private void ob_checkno_KeyDown(object sender, KeyEventArgs e)
         {
             if (e.KeyCode == Keys.Enter)
-            {
                 GetBatch.PerformClick();
-            }
         }
 
         private void ms_sncode_KeyDown(object sender, KeyEventArgs e)
         {
             if (e.KeyCode == Keys.Enter)
-            {
                 GetBatch.PerformClick();
-            }
         }
 
         private void obd_outboxcode_KeyDown(object sender, KeyEventArgs e)
         {
             if (e.KeyCode == Keys.Enter)
-            {
                 GetBatch.PerformClick();
-            }
         }
     }
 }

+ 11 - 9
UAS-MES/PublicMethod/LogicHandler.cs

@@ -919,20 +919,20 @@ namespace UAS_MES.PublicMethod
         /// <param name="iMakeCode"></param>
         /// <param name="iMPKind"></param>
         /// <param name="result"></param>
-        /// <param name="iUserName"></param>
-        public static void InsertMakeProcess(string iSnCode, string iMakeCode,string iSourceCode, string iMPKind, string result, string iUserName)
+        /// <param name="iUserCode"></param>
+        public static void InsertMakeProcess(string iSnCode, string iMakeCode, string iSourceCode, string iMPKind, string result, string iUserCode)
         {
             string CurrentStep = "";
             string LineCode = "";
             string CurrentStepName = "";
-            GetStepCodeAndNameAndLineBySource(iSourceCode,ref CurrentStep,ref CurrentStepName ,ref LineCode);
+            GetStepCodeAndNameAndLineBySource(iSourceCode, ref CurrentStep, ref CurrentStepName, ref LineCode);
             sql.Clear();
             sql.Append("insert into MakeProcess(mp_id,mp_makecode,mp_maid, mp_mscode,mp_sncode,mp_stepcode,mp_stepname,");
             sql.Append("mp_craftcode,mp_craftname,mp_kind,mp_result,mp_indate,mp_inman,mp_wccode,mp_linecode,mp_sourcecode,mp_snstatus,mp_sncheckno,mp_snoutboxcode)");
             sql.Append("select MakeProcess_seq.nextval, ma_code,ma_id,ms_code,ms_sncode,mcd_stepcode,mcd_stepname,");
-            sql.Append("ma_craftcode,ma_craftname,'" + iMPKind + "','" + result + "',sysdate,'" + iUserName + "',ma_wccode,'"+ LineCode + "','"+ iSourceCode + "',");
+            sql.Append("ma_craftcode,ma_craftname,'" + iMPKind + "','" + result + "',sysdate,'" + iUserCode + "',ma_wccode,'" + LineCode + "','" + iSourceCode + "',");
             sql.Append("ms_status,ms_checkno,ms_outboxcode from make left join makecraftdetail on mcd_macode=ma_code left join makeserial on ms_makecode=ma_code ");
-            sql.Append("where ms_sncode='" + iSnCode + "' and ma_code='" + iMakeCode + "' and mcd_stepcode='"+ CurrentStep + "'");
+            sql.Append("where ms_sncode='" + iSnCode + "' and ma_code='" + iMakeCode + "' and mcd_stepcode='" + CurrentStep + "'");
             dh.ExecuteSql(sql.ToString(), "insert");
             sql.Clear();
         }
@@ -1099,12 +1099,14 @@ namespace UAS_MES.PublicMethod
             sql.Append("sp_soncode,'0',:bc_remark from make left join makeSerial on ms_makecode=ma_code left join stepProduct on ");
             sql.Append("sp_mothercode=ma_prodcode and sp_stepcode=ms_nextstepcode where ms_sncode='" + iSnCode + "'");
             dh.BatchInsert(sql.ToString(), new string[] { "bc_code", "bg_code", "bc_remark" }, iBadCode, iBadGroupCode, iBadRemark);
-            //更新序列号已经采集的工序 ms_paststep 已采集数据,更新下一工序
-            dh.UpdateByCondition("makeserial", "ms_paststep = ms_paststep ||'," + StepCode + "',ms_status=3", "ms_sncode='" + iSnCode + "'");
             //判断当前采集点是否为扣料工序cd_ifreduce =-1 则为扣料工序
             //之前保存的不良就不再调用
             if (ms_status != "3")
+            {
+                //更新序列号已经采集的工序 ms_paststep 已采集数据,更新下一工序
+                dh.UpdateByCondition("makeserial", "ms_paststep = ms_paststep ||'," + StepCode + "',ms_status=3", "ms_sncode='" + iSnCode + "'");
                 SetStepFinish(iMakeCode, iSourceCode, iSnCode, "不良采集", iResult, iUserCode, out oErrorMessage);
+            }
             return true;
         }
 
@@ -1242,7 +1244,7 @@ namespace UAS_MES.PublicMethod
         /// <param name="iUserName"></param>
         /// <param name="oErrorMessage"></param>
         /// <returns></returns>
-        public static bool SetMaterialDown(string iSnCode, string iBarCode,string iSourceCode, string iCurrentStep, string iUserName, out string oErrorMessage)
+        public static bool SetMaterialDown(string iSnCode, string iBarCode, string iSourceCode, string iCurrentStep, string iUserName, out string oErrorMessage)
         {
             //序列号不为空的时候
             oErrorMessage = "";
@@ -1280,7 +1282,7 @@ namespace UAS_MES.PublicMethod
                     string cm_stepcode = dt.Rows[0]["cm_stepcode"].ToString();
                     string cm_mccode = dt.Rows[0]["cm_mccode"].ToString();
                     dh.ExecuteSql("delete from Craftmaterial where cm_id=" + cm_id, "delete");
-                    InsertMakeProcess(ms_macode, iSnCode, iSourceCode,"下料操作", "下料成功", iUserName);
+                    InsertMakeProcess(ms_macode, iSnCode, iSourceCode, "下料操作", "下料成功", iUserName);
                     int count = dh.getRowCount("craftMaterial", "cm_mccode='" + cm_mccode + "' and cm_stepcode='" + cm_stepcode + "' and cm_sncode='" + iSnCode + "'");
                     if (count == 0)
                         dh.UpdateByCondition("makecraftdetail ", "mcd_inqty=mcd_inqty-1,mcd_outqty=mcd_outqty-1,mcd_okqty = mcd_okqty - 1", "mcd_mccode='" + cm_mccode + "' and mcd_stepcode='" + cm_stepcode + "'");

+ 1 - 1
UAS-MES/UAS-MES.csproj

@@ -41,7 +41,7 @@
     <MinimumRequiredVersion>1.0.0.201</MinimumRequiredVersion>
     <CreateWebPageOnPublish>true</CreateWebPageOnPublish>
     <WebPage>publish.htm</WebPage>
-    <ApplicationRevision>237</ApplicationRevision>
+    <ApplicationRevision>239</ApplicationRevision>
     <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
     <UseApplicationTrust>true</UseApplicationTrust>
     <CreateDesktopShortcut>true</CreateDesktopShortcut>