Pārlūkot izejas kodu

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

Hcsy 8 gadi atpakaļ
vecāks
revīzija
551a242980

+ 9 - 4
UAS-MES/DataOperate/DataHelper.cs

@@ -95,12 +95,10 @@ namespace UAS_MES.DataOperate
                     sb.Append(Param[i] + ":Param" + i);
                 }
                 command = new OracleCommand(sb.ToString(), connection);
-
                 for (int i = 0; i < ParamNum; i++)
                 {
                     command.Parameters.Add("Param" + i, OracleDbType.Varchar2, Parameters[i], ParameterDirection.Input);
                 }
-
                 OracleDataAdapter ad = new OracleDataAdapter(command);
                 DataTable dt = new DataTable();
                 ad.Fill(dt);
@@ -111,8 +109,16 @@ namespace UAS_MES.DataOperate
             return "参数错误,请检查SQL语句";
         }
 
+        public void GetSerialNumByCaller(string iCaller, out string SerialNum)
+        {
+            SerialNum = "";
+            string[] param = new string[] { iCaller, "2", SerialNum };
+            CallProcedure("SP_GETMAXNUMBER", ref param);
+            SerialNum = param[2];
+        }
+
         /// <summary>
-        /// 获取指定表的记录的条数 ,带条件
+        /// 获取指定表的记录的条数,带条件
         /// </summary>
         /// <returns></returns>
         public int getRowCount(string TableName, string Condition)
@@ -608,7 +614,6 @@ namespace UAS_MES.DataOperate
                 for (int i = 0; i < addpar.Length; i++)
                     command.Parameters.Add(new OracleParameter(addpar[i].ToString(), OracleDbType.Varchar2, names[i], ParameterDirection.Input));
             }
-            
             switch (Type.ToUpper())
             {
                 case "SELECT":

+ 1 - 1
UAS-MES/FunctionCode/Make/Make_NewMatainInf.cs

@@ -78,7 +78,7 @@ namespace UAS_MES.Make
             //加载不良原因组数据
             sql.Clear();
             sql.Append("select nrg_code,nrg_name from PRODUCTBADREASONGROUP left join ");
-            sql.Append("QUA_NGReasonGroup  on  nrg_code=pbr_brgcode where  pbr_kindcode=" + pk_code + "'");
+            sql.Append("QUA_NGReasonGroup  on  nrg_code=pbr_brgcode where  pbr_kindcode='" + pk_code + "'");
             dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
             //未查询到则查询全部数据
             if (dt.Rows.Count == 0)

+ 11 - 22
UAS-MES/FunctionCode/Make/Make_TestCollection.cs

@@ -26,6 +26,10 @@ namespace UAS_MES.Make
 
         string oMSID = "";
 
+        string ifrework = "";
+
+        string reworkstatus = "";
+
         LogStringBuilder sql = new LogStringBuilder();
 
         AutoSizeFormClass asc = new AutoSizeFormClass();
@@ -166,14 +170,14 @@ namespace UAS_MES.Make
                             BaseUtil.SetFormValue(this.Controls, dt);
                             LockMakeCode.Checked = true;
                         }
+                        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();
+                        reworkstatus = dt.Rows[0]["ms_reworkstatus"].ToString();
+                        string stepcode = dt.Rows[0]["ms_stepcode"].ToString();
+                        string ifrepair = dt.Rows[0]["st_ifrepair"].ToString();
+                        ifrework = dt.Rows[0]["ms_ifrework"].ToString();
                         if (GoodProduct.Checked)
                         {
-                            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();
-                            string ifrework = dt.Rows[0]["ms_ifrework"].ToString();
                             if (ifrework != "0")
                             {
                                 if (stepcode == User.CurrentStepCode && (reworkstatus == "1" || reworkstatus == "2") && ifrepair == "0")
@@ -296,20 +300,10 @@ namespace UAS_MES.Make
             }
             else if (GoodProduct.Checked)
             {
-                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");
+                    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())
@@ -423,11 +417,6 @@ namespace UAS_MES.Make
                     }
                     else
                     {
-                        //判断不良原因代码是否重复,不良原因保存表(makebad)
-                        //保存前台传送的不良信息保存至makebad 表。(判断不良原因是否重复)
-                        //新建不良代码和备注的变量
-                        //不良品的输入
-                        //用户未填写不良代码一切按照正常逻辑,填写了从index=1开始执行
                         for (int i = 0; i < RejectCount; i++)
                         {
                             //截取分号前面的内容

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

@@ -98,7 +98,7 @@ namespace UAS_MES.OQC
                             break;
                         default:
                             break;
-                    }             
+                    }
                 }
                 else
                 {
@@ -111,7 +111,7 @@ namespace UAS_MES.OQC
                     WithdrawRejection.Enabled = false;
                     OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red);
                 }
-              
+
             }
             else
             {
@@ -146,6 +146,11 @@ namespace UAS_MES.OQC
                 if (LogicHandler.OQCBatchJudge(ob_checkno.Text, User.UserSourceCode, "NG", ReworkRequire.Checked ? "Y" : "N", User.UserCode, Remark.Text, out ReworkCode, out ErrorMessage))
                 {
                     OperateResult.AppendText(">>判退批成功\n", Color.Green);
+                    if (ReworkRequire.Checked)
+                    {
+                        dh.UpdateByCondition("oqcbatch", "ob_reworkcode='"+ReworkCode+"'", "ob_checkno='"+ob_checkno.Text+"'");
+                        OperateResult.AppendText(">>生成返工需求单"+ReworkCode+"\n", Color.Green);
+                    }
                     GetBatch.PerformClick();
                 }
                 else OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red);
@@ -173,7 +178,12 @@ namespace UAS_MES.OQC
             {
                 if (LogicHandler.OQCBatchJudge(ob_checkno.Text, User.UserSourceCode, "FNG", ReworkRequire.Checked ? "Y" : "N", User.UserCode, Remark.Text, out ReworkCode, out ErrorMessage))
                 {
-                    OperateResult.AppendText(">>强制撤销批" + ob_checkno.Text + "成功\n", Color.Green);
+                    OperateResult.AppendText(">>强制退批" + ob_checkno.Text + "成功\n", Color.Green);
+                    if (ReworkRequire.Checked)
+                    {
+                        dh.UpdateByCondition("oqcbatch", "ob_reworkcode='" + ReworkCode + "'", "ob_checkno='" + ob_checkno.Text + "'");
+                        OperateResult.AppendText(">>生成返工需求单" + ReworkCode + "\n", Color.Green);
+                    }
                     GetBatch.PerformClick();
                 }
                 else OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red);
@@ -229,7 +239,8 @@ namespace UAS_MES.OQC
                             else return;
                         }
                     }
-                    else {
+                    else
+                    {
                         if (LogicHandler.OQCBatchJudge(ob_checkno.Text, User.UserSourceCode, "RENG", "", User.UserCode, Remark.Text, out ReworkCode, out ErrorMessage))
                         {
                             OperateResult.AppendText(">>撤销判退成功\n", Color.Green);

+ 2 - 1
UAS-MES/FunctionCode/OQC/OQC_Inspection.cs

@@ -48,7 +48,8 @@ namespace UAS_MES.OQC
             if (CheckStep())
             {
                 string ob_id = dh.GetSEQ("OQCBatch_SEQ");
-                string checkno = dh.GetSerialNumberByCaller("OQC!Inspection");
+                string checkno = "";
+                dh.GetSerialNumByCaller("Make!CheckQC",out checkno);
                 sql.Append("insert into OQCBatch (ob_id, ob_checkno ,ob_status, ob_source,ob_indate,ob_checkman) ");
                 sql.Append("values( '" + ob_id + "','" + checkno + "', 'ENTERING', '新增', sysdate, '" + User.UserName + "')");
                 dh.ExecuteSql(sql.GetString(), "insert");

+ 9 - 7
UAS-MES/FunctionCode/OQC/OQC_SamplingDataCollection.cs

@@ -22,6 +22,8 @@ namespace UAS_MES.OQC
         LogStringBuilder sql = new LogStringBuilder();
         string[] LevelDefect = new string[] { "A#A", "B#B", "C#C", "D#D" };
 
+        string ifrework = "";
+
         DataTable TempForCheckType = new DataTable();
 
         string ErrorMessage = "";
@@ -55,7 +57,8 @@ namespace UAS_MES.OQC
                         OperateResult.AppendText(">>返修的不良序列号必须先进行维修\n", Color.Red);
                         return;
                     }
-                    if (temp.Rows[0]["ms_ifrework"].ToString() != "0")
+                    ifrework = temp.Rows[0]["ms_ifrework"].ToString();
+                    if (ifrework != "0")
                     {
                         ob_checkno.Text = temp.Rows[0]["ms_reworkcheckno"].ToString();
                     }
@@ -304,16 +307,15 @@ namespace UAS_MES.OQC
                         sql.Append("nvl(ois_ifng,0)=0 then 0 else 1 end),0) ,count(1) from OQCItemSamples where ois_checkno=oi_checkno ");
                         sql.Append("and ois_itemcode=oi_itemcode)where oi_checkno ='" + ob_checkno.Text + "' and oi_projectcode ='" + ob_projectcode.Text + "'");
                         dh.ExecuteSql(sql.GetString(), "update");
-                        ////含有不良的将序列号更新为不良
-                        //if (IfContainNG)
-                        //    dh.ExecuteSql("update makeserial set ms_status=3 where ms_sncode='" + sncode.Text + "'", "update");
-                        //else
-                        //    dh.ExecuteSql("update makeserial set ms_status=1 where ms_sncode='" + sncode.Text + "'", "update");
                         //更新检验状态,如果是待检验的更新为检验中
                         if (ob_status.Text == "待检验")
                         {
                             dh.ExecuteSql("update OQCBatch set ob_status='CHECKING' where ob_checkno='" + ob_checkno.Text + "' and ob_status='UNCHECK'", "update");
-                            dh.ExecuteSql("update makecraftdetail set mcd_inqty=mcd_inqty+" + ob_nowcheckqty.Text + " where mcd_macode='" + ob_makecode.Text + "' and mcd_stepcode='" + User.CurrentStepCode + "'", "select");
+                            //如果返工的不需要更新数量
+                            if (!(ifrework != "0" && ifrework != ""))
+                            {
+                                dh.ExecuteSql("update makecraftdetail set mcd_inqty=mcd_inqty+" + ob_nowcheckqty.Text + " where mcd_macode='" + ob_makecode.Text + "' and mcd_stepcode='" + User.CurrentStepCode + "'", "select");
+                            }
                         }
                         //更新批次中的合格数不合格数:用抽检批检验项目表获取最大的抽检数和不合格数
                         sql.Clear();

+ 20 - 22
UAS-MES/PublicMethod/LogicHandler.cs

@@ -454,7 +454,7 @@ namespace UAS_MES.PublicMethod
                 return false;
         }
 
-        public static void DoCommandLog(string iUserCode,string iMakeCode,string iLineCode,string iSourceCode,string iOperate,string iResult,string iSncode,string iCheckno)
+        public static void DoCommandLog(string iUserCode, string iMakeCode, string iLineCode, string iSourceCode, string iOperate, string iResult, string iSncode, string iCheckno)
         {
             sql.Clear();
             sql.Append("insert into commandlog(cl_id,cl_man,cl_date,cl_linecode,cl_sourcecode,cl_makecode,cl_operate,");
@@ -832,8 +832,8 @@ namespace UAS_MES.PublicMethod
             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,'" + CurrentStep + "','" + CurrentStepName + "',");
-            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 makeserial on ms_makecode=ma_code left join step on st_code=ms_stepcode ");
+            sql.Append("ms_craftcode,cr_name,'" + iMPKind + "','" + result + "',sysdate,'" + iUserCode + "',ma_wccode,'" + LineCode + "','" + iSourceCode + "',");
+            sql.Append("ms_status,ms_checkno,ms_outboxcode from make left join makeserial on ms_makecode=ma_code left join step on st_code=ms_stepcode left join craft on ms_craftcode=cr_code and cr_prodcode=ma_prodcode ");
             sql.Append("where ms_sncode='" + iSnCode + "' and ma_code='" + iMakeCode + "' and st_code='" + CurrentStep + "'");
             dh.ExecuteSql(sql.ToString(), "insert");
         }
@@ -1031,28 +1031,26 @@ namespace UAS_MES.PublicMethod
                 dh.ExecuteSql("update oqcbatch set ob_nowcheckqty=ob_nowcheckqty-1 where ob_checkno='" + checkno + "'", "update");
             }
             //之前保存的不良就不再调用
-            if (ms_status != "3")
+
+            DataTable dt = dh.getFieldsDataByCondition("makeserial", new string[] { "ms_stepcode", "nvl(ms_ifrework,0)ms_ifrework" }, "ms_sncode='" + iSnCode + "'");
+            if (dt.Rows.Count > 0)
             {
-                DataTable dt = dh.getFieldsDataByCondition("makeserial", new string[] { "ms_stepcode", "nvl(ms_ifrework,0)ms_ifrework" }, "ms_sncode='" + iSnCode + "'");
-                if (dt.Rows.Count > 0)
+                string ifrework = dt.Rows[0]["ms_ifrework"].ToString();
+                string ms_stepcode = dt.Rows[0]["ms_stepcode"].ToString();
+                if (ms_stepcode == StepCode)
                 {
-                    string ifrework = dt.Rows[0]["ms_ifrework"].ToString();
-                    string ms_stepcode = dt.Rows[0]["ms_stepcode"].ToString();
-                    if (ms_stepcode == StepCode)
-                    {
-                        if (ifrework == "0")
-                            dh.UpdateByCondition("makeserial", "ms_status=3", "ms_sncode='" + iSnCode + "'");
-                        else
-                            dh.UpdateByCondition("makeserial", "ms_reworkstatus=3", "ms_sncode='" + iSnCode + "'");
-                    }
+                    if (ifrework == "0")
+                        dh.UpdateByCondition("makeserial", "ms_status=3", "ms_sncode='" + iSnCode + "'");
                     else
-                    {
-                        if (ifrework == "0")
-                            dh.UpdateByCondition("makeserial", "ms_paststep = ms_paststep ||'," + StepCode + "',ms_status=3", "ms_sncode='" + iSnCode + "'");
-                        else
-                            dh.UpdateByCondition("makeserial", "ms_paststep = ms_paststep ||'," + StepCode + "',ms_reworkstatus=3", "ms_sncode='" + iSnCode + "'");
-                        SetStepFinish(iMakeCode, iSourceCode, iSnCode, "不良采集", iResult, iUserCode, out oErrorMessage);
-                    }
+                        dh.UpdateByCondition("makeserial", "ms_reworkstatus=3", "ms_sncode='" + iSnCode + "'");
+                }
+                else
+                {
+                    if (ifrework == "0")
+                        dh.UpdateByCondition("makeserial", "ms_paststep = ms_paststep ||'," + StepCode + "',ms_status=3", "ms_sncode='" + iSnCode + "'");
+                    else
+                        dh.UpdateByCondition("makeserial", "ms_paststep = ms_paststep ||'," + StepCode + "',ms_reworkstatus=3", "ms_sncode='" + iSnCode + "'");
+                    SetStepFinish(iMakeCode, iSourceCode, iSnCode, "不良采集", iResult, iUserCode, out oErrorMessage);
                 }
             }
             return true;