فهرست منبع

维修超出三次问题处理

callm 3 ماه پیش
والد
کامیت
218f465c8c
1فایلهای تغییر یافته به همراه35 افزوده شده و 17 حذف شده
  1. 35 17
      UAS-MES/FunctionCode/Make/Make_Repair.cs

+ 35 - 17
UAS-MES/FunctionCode/Make/Make_Repair.cs

@@ -1,4 +1,5 @@
-using System;
+using NPOI.SS.Formula.Functions;
+using System;
 using System.Collections;
 using System.Collections.Generic;
 using System.Data;
@@ -10,6 +11,7 @@ using UAS_MES.CustomControl.TextBoxWithIcon;
 using UAS_MES.DataOperate;
 using UAS_MES.Entity;
 using UAS_MES.PublicMethod;
+using static System.Runtime.CompilerServices.RuntimeHelpers;
 
 namespace UAS_MES.Make
 {
@@ -70,7 +72,7 @@ namespace UAS_MES.Make
             em_name.FormName = Name;
             em_name.TableName = "employee";
             em_name.SelectField = "em_code # 人员编号,em_name # 人员名称,em_position # 岗位";
-            em_name.SetValueField = new string[] { "em_code","em_name" };
+            em_name.SetValueField = new string[] { "em_code", "em_name" };
             em_name.DBTitle = "人员";
             em_name.Condition = " em_class = '正式' ";
             em_name.DbChange += mbr_dutyman_DbChange;
@@ -91,7 +93,7 @@ namespace UAS_MES.Make
             bd_soncode.DbChange += Prodcode_DbChange;
 
             //nrg_name.BringToFront();
-            nrg_name.TableName = "(select nrg_name,nrg_code from QUA_NGREASONGROUP left join DATAINPUTRECORD ON NRG_NAME = DIR_COMMENT AND DIR_GROUP = '不良原因组' and DIR_SOURCECODE = '" + User.UserSourceCode+ "' ORDER BY NVL(DIR_NUMBER,0) DESC)";
+            nrg_name.TableName = "(select nrg_name,nrg_code from QUA_NGREASONGROUP left join DATAINPUTRECORD ON NRG_NAME = DIR_COMMENT AND DIR_GROUP = '不良原因组' and DIR_SOURCECODE = '" + User.UserSourceCode + "' ORDER BY NVL(DIR_NUMBER,0) DESC)";
             nrg_name.Field = "nrg_name";
             nrg_name.ValueField = "nrg_code";
             nrg_name.Condition = " 1=1 ORDER BY ROWNUM asc";
@@ -369,7 +371,7 @@ namespace UAS_MES.Make
                 else OperatResult.AppendText(">>" + ErrorMessage + "\n", Color.Red);
                 SaveRepairInf.Enabled = false;
                 if (QuickRepair.Checked)
-                RepairComplete_Click(sender, new EventArgs());
+                    RepairComplete_Click(sender, new EventArgs());
             }
         }
 
@@ -395,7 +397,7 @@ namespace UAS_MES.Make
             if (e.Node.Level == 0)
             {
                 mb_id = e.Node.Tag.ToString();
-                BaseUtil.CleanControlsText(bc_name, bc_code, bg_name, bg_code, mb_badremark, nrg_name, nrg_code, nr_name, nr_code, so_name, so_code, mbr_dutyname, mbr_dutycode, mbc_component,em_name,em_code);
+                BaseUtil.CleanControlsText(bc_name, bc_code, bg_name, bg_code, mb_badremark, nrg_name, nrg_code, nr_name, nr_code, so_name, so_code, mbr_dutyname, mbr_dutycode, mbc_component, em_name, em_code);
                 mbl_locdgv.DataSource = null;
                 mbp_partdgv.DataSource = null;
                 bc_name.Text = BadInf_1[mb_id]["bc_name"];
@@ -543,6 +545,21 @@ namespace UAS_MES.Make
                     return;
                 }
             }
+            if (dh.getRowCount("makebadcount", "mbc_sncode='" + ms_sncode.Text + "'") >= 3)
+            {
+                OperatResult.AppendText(">>SN" + ms_sncode.Text + "维修次数已达到三次或以上,已被冻结\n", Color.Red);
+                string[] param = new string[] { "MakeDown", "0", ms_makecode.Text };
+                dh.CallProcedure("SP_GETMAXNUMBER", ref param);
+                string mdcode = param[2];
+                sql.Clear();
+                sql.Append("INSERT INTO MAKEDOWN (MD_ID,MD_LINECODE,MD_SCCODE,MD_STEPCODE,");
+                sql.Append("MD_SNCODE,MD_PRODCODE,MD_MACODE, MD_DOWNREASON, MD_CODE,");
+                sql.Append("MD_DOWNDATE,MD_DOWNMAN,MD_STATUS) values (MAKEDOWN_seq.nextval,'" + User.UserLineCode + "','" + User.UserSourceCode + "',");
+                sql.Append("'" + User.CurrentStepCode + "','" + ms_sncode.Text + "','" + ms_prodcode.Text + "','" + ms_makecode.Text + "','维修次数达到三次','" + mdcode + "',sysdate,'" + User.UserCode + "','-1')");
+                dh.UpdateByCondition("makeserial", "ms_downstatus='-1'", "ms_id='" + msid + "'");
+                dh.ExecuteSql(sql.GetString(), "insert");
+                return;
+            }
             //判断是否所有的不良信息都有维护不良原因
             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 + "'  and mb_makecode='" + ms_makecode.Text + "' and mb_status=0", "select");
             string ErrorMessage = "";
@@ -635,11 +652,12 @@ namespace UAS_MES.Make
                         else
                             SQLS.Add("update makeserial set  ms_spi = 0,ms_xray = 0,ms_checkpack = -1, ms_checkno='',ms_paststep = ms_paststep || case when instr(','||ms_paststep||',','" + User.CurrentStepCode + "')=0 then ','||'" + User.CurrentStepCode + "' end , ms_nextstepcode ='" + cd_stepcode.Text + "',ms_craftcode='" + cr_code.Text + "',ms_stepcode='" + User.CurrentStepCode + "',ms_reworkstatus=1 where ms_id='" + msid + "'");
                     }
-                    SQLS.Add("update makebad set mb_status=-1,mb_restep='"+cd_stepcode.Text+"' where mb_sncode='" + ms_sncode.Text + "' and mb_makecode='" + ms_makecode.Text + "'");
+                    SQLS.Add("update makebad set mb_status=-1,mb_restep='" + cd_stepcode.Text + "' where mb_sncode='" + ms_sncode.Text + "' and mb_makecode='" + ms_makecode.Text + "'");
                     SQLS.Add("update makebad set mb_enddate = sysdate  where mb_sncode='" + ms_sncode.Text + "' and mb_makecode='" + ms_makecode.Text + "' and mb_enddate is null");
                     SQLS.Add("update makebad set mb_receivetime = sysdate  where mb_sncode='" + ms_sncode.Text + "' and mb_makecode='" + ms_makecode.Text + "' and mb_receivetime is null");
                     //取消最近拆解部件
                     SQLS.Add("update craftmaterial set cm_lastdeco=0 where cm_sncode='" + ms_sncode.Text + "' and cm_makecode='" + ms_makecode.Text + "' and nvl(cm_lastdeco,0)<>0");
+                    SQLS.Add("insert into makebadcount (mbc_id,mbc_sncode,mbc_stepcode,mbc_status,mbc_indate)values(makebadcount_seq.nextval,'" + ms_sncode.Text + "','" + cd_stepcode.Text + "',0,sysdate)");
                     dh.ExecuteSQLTran(SQLS.ToArray());
                     LogicHandler.InsertMakeProcess(ms_sncode.Text, ms_makecode.Text, User.UserSourceCode, "回流工序", "完成维修", User.UserCode);
                     LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, macode, User.UserLineCode, User.UserSourceCode, "回流工序", "完成维修", ms_sncode.Text, ms_checkno.Text);
@@ -742,7 +760,7 @@ namespace UAS_MES.Make
                 ErrorMessage += " 不良原因 ";
             if (mbr_dutyname.Text == "")
                 ErrorMessage += " 责任别 ";
-            if ((mbr_dutyname.Text == "整机作业问题"|| mbr_dutyname.Text == "基板作业问题")&&em_name.Text=="")
+            if ((mbr_dutyname.Text == "整机作业问题" || mbr_dutyname.Text == "基板作业问题") && em_name.Text == "")
                 ErrorMessage += " 责任人 ";
             if (ErrorMessage != "")
             {
@@ -778,19 +796,19 @@ namespace UAS_MES.Make
                 return;
             }
             //保存选择记录至后台,根据岗位资源代码记录
-          
-            dh.ExecuteSql("merge into DATAINPUTRECORD using (select NRG_NAME  from QUA_NGREASONGROUP where NRG_NAME = '" + nrg_name.Text + "') ON (NRG_NAME = DIR_COMMENT AND DIR_GROUP = '不良原因组' and DIR_SOURCECODE = '" + User.UserSourceCode + "') when matched then update set DIR_NUMBER = DIR_NUMBER +1 when not matched then insert (DIR_COMMENT,DIR_NUMBER,DIR_SOURCECODE,DIR_GROUP) VALUES (NRG_NAME,1,'" + User.UserSourceCode + "','不良原因组')","select");
-            dh.ExecuteSql("merge into DATAINPUTRECORD using (select nr_name  from QUA_NGReason left join QUA_NGREASONGROUPDET on nrgd_nrcode=nr_code left join QUA_NGREASONGROUP on nrgd_nrgid=nrg_id where nr_name = '" + nr_name.Text + "' and NRG_NAME = '" + nrg_name.Text + "') ON (nr_name = DIR_COMMENT AND DIR_GROUP = '不良原因' and DIR_SOURCECODE = '" + User.UserSourceCode + "') when matched then update set DIR_NUMBER = DIR_NUMBER +1 when not matched then insert (DIR_COMMENT,DIR_NUMBER,DIR_SOURCECODE,DIR_GROUP) VALUES (nr_name,1,'" + User.UserSourceCode + "','不良原因')","select");
-            dh.ExecuteSql("merge into DATAINPUTRECORD using (select nd_name  from ngduty where nd_name = '" + mbr_dutyname.Text + "') ON (nd_name = DIR_COMMENT AND DIR_GROUP = '责任别' and DIR_SOURCECODE = '" + User.UserSourceCode + "') when matched then update set DIR_NUMBER = DIR_NUMBER +1 when not matched then insert (DIR_COMMENT,DIR_NUMBER,DIR_SOURCECODE,DIR_GROUP) VALUES (nd_name,1,'" + User.UserSourceCode + "','责任别')","select");
+
+            dh.ExecuteSql("merge into DATAINPUTRECORD using (select NRG_NAME  from QUA_NGREASONGROUP where NRG_NAME = '" + nrg_name.Text + "') ON (NRG_NAME = DIR_COMMENT AND DIR_GROUP = '不良原因组' and DIR_SOURCECODE = '" + User.UserSourceCode + "') when matched then update set DIR_NUMBER = DIR_NUMBER +1 when not matched then insert (DIR_COMMENT,DIR_NUMBER,DIR_SOURCECODE,DIR_GROUP) VALUES (NRG_NAME,1,'" + User.UserSourceCode + "','不良原因组')", "select");
+            dh.ExecuteSql("merge into DATAINPUTRECORD using (select nr_name  from QUA_NGReason left join QUA_NGREASONGROUPDET on nrgd_nrcode=nr_code left join QUA_NGREASONGROUP on nrgd_nrgid=nrg_id where nr_name = '" + nr_name.Text + "' and NRG_NAME = '" + nrg_name.Text + "') ON (nr_name = DIR_COMMENT AND DIR_GROUP = '不良原因' and DIR_SOURCECODE = '" + User.UserSourceCode + "') when matched then update set DIR_NUMBER = DIR_NUMBER +1 when not matched then insert (DIR_COMMENT,DIR_NUMBER,DIR_SOURCECODE,DIR_GROUP) VALUES (nr_name,1,'" + User.UserSourceCode + "','不良原因')", "select");
+            dh.ExecuteSql("merge into DATAINPUTRECORD using (select nd_name  from ngduty where nd_name = '" + mbr_dutyname.Text + "') ON (nd_name = DIR_COMMENT AND DIR_GROUP = '责任别' and DIR_SOURCECODE = '" + User.UserSourceCode + "') when matched then update set DIR_NUMBER = DIR_NUMBER +1 when not matched then insert (DIR_COMMENT,DIR_NUMBER,DIR_SOURCECODE,DIR_GROUP) VALUES (nd_name,1,'" + User.UserSourceCode + "','责任别')", "select");
             dh.ExecuteSql("merge into DATAINPUTRECORD using (select so_name  from solution where so_name = '" + so_name.Text + "') ON (so_name = DIR_COMMENT AND DIR_GROUP = '解决方案' and DIR_SOURCECODE = '" + User.UserSourceCode + "') when matched then update set DIR_NUMBER = DIR_NUMBER +1 when not matched then insert (DIR_COMMENT,DIR_NUMBER,DIR_SOURCECODE,DIR_GROUP) VALUES (so_name,1,'" + User.UserSourceCode + "','解决方案')", "select");
-       
+
             //保存不良原因
             sql.Clear();
             sql.Append("insert into makebadreason (mbr_mbid,mbr_id,mbr_brcode,mbr_solutioncode,");
             sql.Append("mbr_dutycode,mbr_brgcode,mbr_badcode,mbr_sncode,mbr_makecode,mbr_indate,");
             sql.Append("mbr_inman,mbr_brname,mbr_solutionname,mbr_badname,mbr_brgname,mbr_dutyname,mbr_dutyman,mbr_dutymancode) select '" + mb_id + "','" + mbr_id + "','" + nr_code.Text + "',");
             sql.Append("'" + so_code.Text + "','" + mbr_dutyname.Text + "','" + nrg_code.Text + "','" + bc_code.Text + "',");
-            sql.Append("'" + ms_sncode.Text + "','" + ms_makecode.Text + "',sysdate,'" + User.UserCode + "','" + nr_name.Text + "','" + so_name.Text + "','" + bc_name.Text + "','" + nrg_name.Text + "','" + mbr_dutyname.Text + "','"+em_name.Text+"','"+em_code.Text+"' from dual");
+            sql.Append("'" + ms_sncode.Text + "','" + ms_makecode.Text + "',sysdate,'" + User.UserCode + "','" + nr_name.Text + "','" + so_name.Text + "','" + bc_name.Text + "','" + nrg_name.Text + "','" + mbr_dutyname.Text + "','" + em_name.Text + "','" + em_code.Text + "' from dual");
             dh.ExecuteSql(sql.GetString(), "insert");
             if (mbc_component.Text != "")
             {
@@ -819,7 +837,7 @@ namespace UAS_MES.Make
                     string delete4 = "delete from makebadreason where mbr_id='" + mbr_id + "'";
                     dh.ExecuteSQLTran(delete1, delete2, delete3, delete4);
                     OperatResult.AppendText(">>删除成功\n", Color.Green);
-                    BaseUtil.CleanControlsText(bc_name, bc_code, bg_name, bg_code, mb_badremark, nrg_name, nrg_code, nr_name, nr_code, so_name, so_code, mbr_dutyname, mbr_dutycode, mbc_component,em_name, em_code);
+                    BaseUtil.CleanControlsText(bc_name, bc_code, bg_name, bg_code, mb_badremark, nrg_name, nrg_code, nr_name, nr_code, so_name, so_code, mbr_dutyname, mbr_dutycode, mbc_component, em_name, em_code);
                     mbp_partdgv.DataSource = null;
                     mbl_locdgv.DataSource = null;
                     mbr_id = "";
@@ -867,7 +885,7 @@ namespace UAS_MES.Make
                                 sql.Append("mbp_brcode,mbp_sncode,mbp_makecode,mbp_indate,mbp_inman,mbp_loc)");
                                 sql.Append("select makebadrspart_seq.nextval," + mbr_id + ",'" + dt.Rows[0][0].ToString() + "',");
                                 sql.Append("'" + bc_code.Text + "','" + nr_code.Text + "','" + GetSNCode.Text + "','" + macode + "',");
-                                sql.Append("sysdate,'" + User.UserCode + "','"+ mbl_loc.Text.ToUpper() + "' from dual");
+                                sql.Append("sysdate,'" + User.UserCode + "','" + mbl_loc.Text.ToUpper() + "' from dual");
                                 dh.ExecuteSql(sql.GetString(), "insert");
                                 dt = (DataTable)dh.ExecuteSql("select mbp_id,mbp_part from makebadrspart where mbp_mbrid=" + mbr_id, "select");
                                 BaseUtil.FillDgvWithDataTable(mbp_partdgv, dt);
@@ -1025,7 +1043,7 @@ namespace UAS_MES.Make
         {
             if (bc_code.Text != "")
             {
-                dh.ExecuteSql("update makebad set mb_badremark = '"+ mb_badremark.Text + "' where mb_id = '"+ mb_id + "'", "update");
+                dh.ExecuteSql("update makebad set mb_badremark = '" + mb_badremark.Text + "' where mb_id = '" + mb_id + "'", "update");
                 OperatResult.AppendText(">>更新备注成功\n", Color.Green);
             }
             else
@@ -1050,7 +1068,7 @@ namespace UAS_MES.Make
                     string delete = "delete from makebad where mb_id = '" + mb_id + "'";
                     dh.ExecuteSQLTran(delete1, delete2, delete3, delete4, delete);
                     OperatResult.AppendText(">>删除成功\n", Color.Green);
-                    BaseUtil.CleanControlsText(bc_name, bc_code, bg_name, bg_code, mb_badremark, nrg_name, nrg_code, nr_name, nr_code, so_name, so_code, mbr_dutyname, mbr_dutycode, mbc_component,em_name,em_code);
+                    BaseUtil.CleanControlsText(bc_name, bc_code, bg_name, bg_code, mb_badremark, nrg_name, nrg_code, nr_name, nr_code, so_name, so_code, mbr_dutyname, mbr_dutycode, mbc_component, em_name, em_code);
                     mbp_partdgv.DataSource = null;
                     mbl_locdgv.DataSource = null;
                     mb_id = "";