Selaa lähdekoodia

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

Hcsy 8 vuotta sitten
vanhempi
commit
eb57d7dfff

+ 8 - 8
UAS-MES/CustomControl/TextBoxWithIcon/SNCodeEnterTextBox.cs

@@ -7,6 +7,7 @@ using System.Linq;
 using System.Text;
 using System.Windows.Forms;
 using System.Runtime.InteropServices;
+using UAS_MES.PublicMethod;
 
 namespace UAS_MES.CustomControl.TextBoxWithIcon
 {
@@ -92,14 +93,13 @@ namespace UAS_MES.CustomControl.TextBoxWithIcon
         {
             if (e.Modifiers.CompareTo(Keys.Control) == 0 && e.KeyCode == Keys.A)
                 this.SelectAll();
-
-            if (CapsLockStatus)
-            {
-                Console.WriteLine("大写");
-            }
-            else
-            {
-                Console.WriteLine("小写");
+            //不允许开启大写扫描
+            if (e.KeyCode == Keys.Enter)
+            { 
+                if (CapsLockStatus)
+                {
+                    BaseUtil.ShowError("请关闭大写后进行采集");
+                }
             }
         }
     }

+ 123 - 0
UAS-MES/CustomControl/TextBoxWithIcon/SNCodeEnterTextBox.resx

@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </metadata>
+</root>

+ 17 - 0
UAS-MES/FunctionCode/Make/Make_Repair.Designer.cs

@@ -94,6 +94,7 @@
             this.RepairComplete = new UAS_MES.CustomControl.ButtonUtil.NormalButton();
             this.pr_detail_label = new System.Windows.Forms.Label();
             this.ms_checkno = new System.Windows.Forms.Label();
+            this.ms_reworkcheckno = new System.Windows.Forms.Label();
             this.panel2.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.LocationSource)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.ComponentSource)).BeginInit();
@@ -990,11 +991,26 @@
             this.ms_checkno.Text = "送检批号";
             this.ms_checkno.Visible = false;
             // 
+            // ms_reworkcheckno
+            // 
+            this.ms_reworkcheckno.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
+            | System.Windows.Forms.AnchorStyles.Left)));
+            this.ms_reworkcheckno.AutoSize = true;
+            this.ms_reworkcheckno.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.ms_reworkcheckno.Location = new System.Drawing.Point(1047, 94);
+            this.ms_reworkcheckno.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.ms_reworkcheckno.Name = "ms_reworkcheckno";
+            this.ms_reworkcheckno.Size = new System.Drawing.Size(92, 27);
+            this.ms_reworkcheckno.TabIndex = 129;
+            this.ms_reworkcheckno.Text = "返修批号";
+            this.ms_reworkcheckno.Visible = false;
+            // 
             // Make_Repair
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
             this.ClientSize = new System.Drawing.Size(1200, 735);
+            this.Controls.Add(this.ms_reworkcheckno);
             this.Controls.Add(this.ms_checkno);
             this.Controls.Add(this.mb_badremark);
             this.Controls.Add(this.ms_sncode);
@@ -1134,5 +1150,6 @@
         private System.Windows.Forms.DataGridViewTextBoxColumn mbl_id;
         private System.Windows.Forms.Label pr_detail_label;
         private System.Windows.Forms.Label ms_checkno;
+        private System.Windows.Forms.Label ms_reworkcheckno;
     }
 }

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

@@ -143,10 +143,10 @@ namespace UAS_MES.Make
                     {
                         //验证makeserial或者ms_firstsn表序列号是否存在
                         sql.Clear();
-                        sql.Append("select max(ms_id) ms_id,ms_makecode,ms_prodcode,ms_sncode,pr_detail,ms_stepcode,ms_craftcode,ms_checkno,ms_ifrework ");
+                        sql.Append("select max(ms_id) ms_id,ms_makecode,ms_prodcode,ms_sncode,pr_detail,ms_stepcode,ms_craftcode,ms_checkno,ms_ifrework,ms_reworkcheckno ");
                         sql.Append("from makeserial left join product on pr_code=ms_prodcode where ms_makecode ='" + macode + "' and(ms_sncode");
                         sql.Append("='" + GetSNCode.Text + "' or ms_firstsn in (select firstsn from makesnrelation where ");
-                        sql.Append("sn='" + GetSNCode.Text + "')) group by ms_makecode,ms_prodcode,ms_sncode,pr_detail,ms_stepcode,ms_craftcode,ms_checkno,ms_ifrework");
+                        sql.Append("sn='" + GetSNCode.Text + "')) group by ms_makecode,ms_prodcode,ms_sncode,pr_detail,ms_stepcode,ms_craftcode,ms_checkno,ms_ifrework,ms_reworkcheckno");
                         dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
                         if (dt.Rows.Count > 0)
                         {
@@ -362,10 +362,12 @@ namespace UAS_MES.Make
                             }
                             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 + "'");
+                                sqls.Clear();
+                                sqls.Add("update makeserial set ms_paststep = ms_paststep ||'," + User.CurrentStepCode + "',ms_reworkstatus= 4,ms_nextstepcode='',ms_stepcode='" + User.CurrentStepCode + "' where ms_sncode='" + ms_sncode.Text + "' and ms_makecode='" + macode + "'");
+                                sqls.Add("update oqcbatch set ob_nowcheckqty=ob_nowcheckqty-1 where ob_checkno='" + ms_checkno.Text + "'");
+                                sqls.Add("delete from oqcbatchdetail where obd_sncode='" + ms_sncode.Text + "' and obd_checkno='" + ms_reworkcheckno.Text + "'");
+                                sqls.Add("update ReworkDetail set rd_rwstatus='报废' where rd_reid=(select re_id from rework where re_code='" + reworkcode + "') and rd_sncode='" + reworkcode + "'");
+                                dh.ExecuteSQLTran(sqls.ToArray());
                             }
                         }
                         dh.UpdateByCondition("make", "MA_NGMADEQTY=nvl(MA_NGMADEQTY,0)+1", "ma_code='" + macode + "'");
@@ -559,7 +561,7 @@ namespace UAS_MES.Make
 
         private void cr_code_UserControlTextChanged(object sender, EventArgs e)
         {
-            cd_stepcode.Condition = "ST_STATUSCODE='AUDITED' and cr_code='" + cr_code.Text + "'";
+            cd_stepcode.Condition = "ST_STATUSCODE='AUDITED' and cr_code='" + cr_code.Text + "' and cr_prodcode='"+ms_prodcode.Text+"'";
         }
 
         private void Clean_Click(object sender, EventArgs e)

+ 12 - 0
UAS-MES/FunctionCode/Make/Make_Repair.resx

@@ -129,6 +129,18 @@
   <metadata name="DeleteCom.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
+  <metadata name="mbp_part1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="DeleteCom.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="mbl_loc1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="DeletePos.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
   <metadata name="mbl_loc1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>

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

@@ -528,7 +528,9 @@ namespace UAS_MES.Make
             DataTable dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
             if (dt.Rows.Count > 0)
             {
-                BaseUtil.SetFormValue(this.Controls, dt);
+                ob_batchqty.Text = dt.Rows[0]["ob_batchqty"].ToString();
+                ob_nowcheckqty.Text = dt.Rows[0]["ob_nowcheckqty"].ToString();
+                ob_checkno.Text = dt.Rows[0]["ob_checkno"].ToString();
                 nowcheckqty = int.Parse(ob_nowcheckqty.Text == "" ? "0" : ob_nowcheckqty.Text);
                 batchqty = int.Parse(ob_batchqty.Text == "" ? "0" : ob_batchqty.Text);
                 if (nowcheckqty > batchqty)

+ 2 - 4
UAS-MES/FunctionCode/OQC/OQC_PlanMaintain.cs

@@ -63,7 +63,7 @@ namespace UAS_MES.OQC
                     {
                         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)
                 {
@@ -156,11 +156,9 @@ namespace UAS_MES.OQC
                     dh.BatchInsert(sql.GetString(), new string[] { "ci_kind", "oi_sampleqty", "ci_kind1" }, ci_kind.ToArray(), oi_sampleqty.ToArray(), ci_kind.ToArray());
                     LogicHandler.DoCommandLog(User.UserCode, "", User.UserLineCode, User.UserSourceCode, "OQC抽样计划采集保存抽样计划", "成功", ms_sncode.Text, ob_checkno.Text);
                 }
-                GetBatch.PerformClick();
                 OperateResult.AppendText(">>保存成功\n", Color.Green);
             }
-            else
-                OperateResult.AppendText(">>送检批次必须为待检验状态\n", Color.Red);
+            else OperateResult.AppendText(">>送检批次必须为待检验状态\n", Color.Red);
         }
 
         private void Save_Click(object sender, EventArgs e)

+ 103 - 26
UAS-MES/FunctionCode/Query/Query_ExeProgress.cs

@@ -53,7 +53,7 @@ namespace UAS_MES.Query
         {
             if (e.KeyCode == Keys.Enter)
             {
-                dt = (DataTable)dh.ExecuteSql("select ms_status,ms_paststep,ms_stepcode from makeserial where ms_sncode='" + sn_code.Text + "'", "select");
+                dt = (DataTable)dh.ExecuteSql("select ms_status,ms_paststep,ms_stepcode,NVL(ms_ifrework, 0) ms_ifrework,NVL(ms_reworkstatus, 0) ms_reworkstatus from makeserial where ms_sncode='" + sn_code.Text + "'", "select");
                 if (dt.Rows.Count > 0)
                 {
                     if (Step != null && Step.Count > 0)
@@ -62,18 +62,38 @@ namespace UAS_MES.Query
                         SerialPanel.Controls.Clear();
                         PaintColor.Clear();
                     }
+                    string ifRework = dt.Rows[0]["ms_ifrework"].ToString();
                     //执行过的步骤
                     PastStep = dt.Rows[0]["ms_paststep"].ToString();
                     //如果为不良的时候
                     string BadStep = "";
                     string RejectStep = "";
-                    if (dt.Rows[0]["ms_status"].ToString() == "3")
+                    string reworkStep ="";
+                    //先判断是否是返工的
+                    if (ifRework!= "0")
                     {
-                        BadStep = dt.Rows[0]["ms_stepcode"].ToString();
+                        //是返工的
+                        if (dt.Rows[0]["ms_reworkstatus"].ToString() == "3")
+                        {
+                            BadStep = dt.Rows[0]["ms_stepcode"].ToString();
+                        }
+                        else if (dt.Rows[0]["ms_reworkstatus"].ToString() == "4")
+                        {
+                            RejectStep = dt.Rows[0]["ms_stepcode"].ToString();
+                        }
+                            reworkStep = dt.Rows[0]["ms_stepcode"].ToString();
                     }
-                    else if (dt.Rows[0]["ms_status"].ToString() == "4")
+                    else
                     {
-                        RejectStep = dt.Rows[0]["ms_stepcode"].ToString();
+                        //不是返工的
+                        if (dt.Rows[0]["ms_status"].ToString() == "3")
+                        {
+                            BadStep = dt.Rows[0]["ms_stepcode"].ToString();
+                        }
+                        else if (dt.Rows[0]["ms_status"].ToString() == "4")
+                        {
+                            RejectStep = dt.Rows[0]["ms_stepcode"].ToString();
+                        }
                     }
                     //查询执行过的步骤
                     sql.Clear();
@@ -93,44 +113,101 @@ namespace UAS_MES.Query
                     //添加开始节点绿色
                     PaintColor.Add(Brushes.Green);
                     //添加中间节点
+                    bool passed = true;
                     for (int i = 0; i < dt.Rows.Count; i++)
                     {
-                        //包含说明是线内工序
-                        if (PastStep.Contains(dt.Rows[i]["CD_STEPCODE"].ToString()))
+                        //如果是返工的,根据工序里的步骤判断,如果cd_detno大于当前步骤的cd_detno时候就显示白色
+                        if (ifRework != "0")
                         {
-                            if (BadStep == dt.Rows[i]["CD_STEPCODE"].ToString())
-                            {
-                                PaintColor.Add(Brushes.Red);
+                            //还未开始返工
+                            if (reworkStep=="") {
+                                passed = false;
                             }
-                            else
+                            //passed==true;说明经过了这一步
+                            if (passed)
                             {
-                                if (!PastStep.Contains(dt.Rows[i]["CD_STEPCODE"].ToString() + "," + RejectStep) || RejectStep == "")
-                                    PaintColor.Add(Brushes.Green);
+                                if (BadStep == dt.Rows[i]["CD_STEPCODE"].ToString())
+                                {
+                                    PaintColor.Add(Brushes.Red);
+                                }
                                 else
                                 {
-                                    //判断之前有没有添加过黑色
-                                    if (PaintColor.Contains(Brushes.Black))
+                                    if (!PastStep.Contains(dt.Rows[i]["CD_STEPCODE"].ToString() + "," + RejectStep) || RejectStep == "")
+                                        PaintColor.Add(Brushes.Green);
+                                    else
                                     {
-                                        //移除之前的,
-                                        int index = PaintColor.IndexOf(Brushes.Black);
-                                        PaintColor.RemoveAt(PaintColor.IndexOf(Brushes.Black));
-                                        PaintColor.Insert(index, Brushes.Green);
+                                        //判断之前有没有添加过黑色
+                                        if (PaintColor.Contains(Brushes.Black))
+                                        {
+                                            //移除之前的,
+                                            int index = PaintColor.IndexOf(Brushes.Black);
+                                            PaintColor.RemoveAt(PaintColor.IndexOf(Brushes.Black));
+                                            PaintColor.Insert(index, Brushes.Green);
+                                        }
+                                        PaintColor.Add(Brushes.Black);
                                     }
-                                    PaintColor.Add(Brushes.Black);
                                 }
                             }
+                            //还没经过
+                            else {
+                                PaintColor.Add(Brushes.White);
+                            }
+                            //如果返工执行到了当前步
+                            if (reworkStep == dt.Rows[i]["CD_STEPCODE"].ToString())
+                            {
+                                passed = false;
+                            }
                         }
-                        //不包含说明是线外工序
                         else
+                        //非返工,是正常
                         {
-                            PaintColor.Add(Brushes.White);
+                            //包含说明是线内工序
+                            if (PastStep.Contains(dt.Rows[i]["CD_STEPCODE"].ToString()))
+                            {
+                                if (BadStep == dt.Rows[i]["CD_STEPCODE"].ToString())
+                                {
+                                    PaintColor.Add(Brushes.Red);
+                                }
+                                else
+                                {
+                                    if (!PastStep.Contains(dt.Rows[i]["CD_STEPCODE"].ToString() + "," + RejectStep) || RejectStep == "")
+                                        PaintColor.Add(Brushes.Green);
+                                    else
+                                    {
+                                        //判断之前有没有添加过黑色
+                                        if (PaintColor.Contains(Brushes.Black))
+                                        {
+                                            //移除之前的,
+                                            int index = PaintColor.IndexOf(Brushes.Black);
+                                            PaintColor.RemoveAt(PaintColor.IndexOf(Brushes.Black));
+                                            PaintColor.Insert(index, Brushes.Green);
+                                        }
+                                        PaintColor.Add(Brushes.Black);
+                                    }
+                                }
+                            }
+                            //不包含说明是线外工序
+                            else
+                            {
+                                PaintColor.Add(Brushes.White);
+                            }
                         }
                     }
-                    //完工添加绿色,未完工添加红色
-                    if (dh.CheckExist("Makeserial", "ms_sncode='" + sn_code.Text + "' and ms_status=2"))
-                        PaintColor.Add(Brushes.Green);
+                    if (ifRework != "0") {
+                        //完工添加绿色,未完工添加红色
+                        if (dh.CheckExist("Makeserial", "ms_sncode='" + sn_code.Text + "' and ms_reworkstatus='2'"))
+                            PaintColor.Add(Brushes.Green);
+                        else
+                            PaintColor.Add(Brushes.White);
+                    }
                     else
-                        PaintColor.Add(Brushes.White);
+                    {
+                        //完工添加绿色,未完工添加红色
+                        if (dh.CheckExist("Makeserial", "ms_sncode='" + sn_code.Text + "' and ms_status='2'"))
+                            PaintColor.Add(Brushes.Green);
+                        else
+                            PaintColor.Add(Brushes.White);
+                    }
                     Refresh();
                     SerialPanel.Refresh();
                     sql.Clear();

+ 2 - 2
UAS-MES/Login.cs

@@ -129,16 +129,16 @@ namespace UAS_MES
             //设置全局用户信息
             string[] field = { "em_code,em_depart,em_type,em_name,em_position,em_professname,em_type,ug_code,ug_name" };
             UserInf = dh.getFieldsDataByCondition("Employee left join cs$userresource on ur_emcode=em_code left join cs$usergroup on ug_code=ur_groupcode", field, "em_code='" + UserName.Text + "'");
-            DataTable dt = dh.getFieldsDataByCondition("source", new string[] { "sc_stepcode", "sc_stepname", "sc_linecode" }, "sc_code='" + Source.Text + "'");
+            DataTable dt = dh.getFieldsDataByCondition("source", new string[] {"sc_code", "sc_stepcode", "sc_stepname", "sc_linecode" }, "upper(sc_code)='" + Source.Text.ToUpper() + "'");
             //存在岗位资源则要求添加
             if (dt.Rows.Count > 0)
             {
                 User.CurrentStepCode = dt.Rows[0]["sc_stepcode"].ToString();
                 User.CurrentStepName = dt.Rows[0]["sc_stepname"].ToString();
                 User.UserLineCode = dt.Rows[0]["sc_linecode"].ToString();
+                User.UserSourceCode = dt.Rows[0]["sc_code"].ToString();
             }
             //通过Source表关联岗位资源编号查询出当前的执行工序
-            User.UserSourceCode = Source.Text;
             User.UserCode = UserInf.Rows[0]["em_code"].ToString();
             User.UserDepartment = UserInf.Rows[0]["em_depart"].ToString();
             User.UserName = UserInf.Rows[0]["em_name"].ToString();

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

@@ -393,7 +393,7 @@ namespace UAS_MES.PublicMethod
                 }
                 if (em_type == "admin")
                 {
-                    if (dh.CheckExist("Source", "sc_code='" + iSourceCode + "' and sc_statuscode='AUDITED'"))
+                    if (dh.CheckExist("Source", "upper(sc_code)='" + iSourceCode.ToUpper() + "' and sc_statuscode='AUDITED'"))
                     {
                         return true;
                     }
@@ -560,7 +560,7 @@ namespace UAS_MES.PublicMethod
             //取MakeProcess表中的执行记录ID最大的一个工单的号码
             oMakeCode = "";
             oErrorMessage = "";
-            string ms_id = dh.getFieldDataByCondition("MakeSerial", "max(ms_id) ms_id", "ms_sncode='" + iSnCode + "' or ms_firstsn in (select firstsn from makesnrelation where sn='" + iSnCode + "')").ToString();
+            string ms_id = dh.getFieldDataByCondition("MakeSerial", "max(ms_id) ms_id", "upper(ms_sncode)='" + iSnCode.ToUpper() + "' or ms_firstsn in (select firstsn from makesnrelation where upper(sn)='" + iSnCode.ToUpper() + "')").ToString();
             oMakeCode = dh.getFieldDataByCondition("MakeSerial", "ms_makecode", "ms_id='" + ms_id + "'").ToString();
             if (oMakeCode != "")
                 return true;
@@ -769,7 +769,7 @@ namespace UAS_MES.PublicMethod
                             Form.Rows[0]["ob_projectcode"] = qualmethod;
                             pr_id = dh.getFieldDataByCondition("QUA_Project", "pr_id", "pr_code = '" + qualmethod + "'").ToString();
                             sql.Clear();
-                            sql.Append("select nvl(max(oi_id),0)oi_id, ci_kind,nvl(max(oi_sampleqty),0) oi_sampleqty from QUA_PROJECT left join ");
+                            sql.Append("select  1 choose,nvl(max(oi_id),0)oi_id, ci_kind,nvl(max(oi_sampleqty),0) oi_sampleqty from QUA_PROJECT left join ");
                             sql.Append(" QUA_ProjectDetail on pd_prid=pr_id  left join QUA_CheckItem on pd_ciid=ci_id ");
                             sql.Append("left join OQCITEMS on oi_checkno ='" + iCheckNo + "' and oi_projectcode='" + qualmethod + "' ");
                             sql.Append("and oi_projectcode = pr_code and oi_checkkind = ci_kind where  pr_code='" + qualmethod + "'  group by ci_kind");
@@ -799,12 +799,6 @@ namespace UAS_MES.PublicMethod
                     }
                     break;
                 case "OQCRESULTDETERMINE":
-                    sql.Clear();
-                    sql.Append("select count(1)from (select ois_sncode from OQCITEMSAMPLES where ");
-                    sql.Append("ois_checkno = '" + iCheckNo + "' and ois_ifng = 1 group by ois_sncode)");
-                    string ngqty = (dh.ExecuteSql(sql.ToString(), "select") as DataTable).Rows[0][0].ToString();
-                    dh.ExecuteSql("update OQCBATCH set ob_ngqty='" + ngqty + "',ob_okqty=(select max(oi_checkqty)-'" + ngqty + "' from OQCItems where oi_checkno ='" + iCheckNo + "') where ob_checkno ='" + iCheckNo + "'", "update");
-                    //查询Form数据
                     sql.Clear();
                     sql.Append("select ob_id,ob_aqlcode,ob_makecode,ob_status,ob_prodcode,(select max(oi_checkqty)from OQCItems where oi_checkno='" + iCheckNo + "') oi_checkqty,");
                     sql.Append("ob_nowcheckqty,nvl(ob_okqty,0) ob_okqty,nvl(ob_ngqty,0) ob_ngqty,ob_maxngacceptqty,ob_source,ob_checkno,ob_result from OQCBatch where ob_checkno='" + iCheckNo + "'");