2 Commits 5b7367a4e2 ... ccfeeecbfc

Author SHA1 Message Date
  callm ccfeeecbfc 已经测试为良品,不允许再改为不良 1 week ago
  callm 4c2fc9d6be 维修拆解物料,必须有拆解记录 1 week ago

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

@@ -561,12 +561,20 @@ namespace UAS_MES.Make
                 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");
+            DataTable dt = (DataTable)dh.ExecuteSql("select mb_id,bc_name,mbr_mbid,MBR_SOLUTIONCODE 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 = "";
             for (int i = 0; i < dt.Rows.Count; i++)
             {
                 if (dt.Rows[i]["mb_id"].ToString() != dt.Rows[i]["mbr_mbid"].ToString())
                     ErrorMessage += "【" + dt.Rows[i]["bc_name"].ToString() + "】";
+                if (dt.Rows[i]["MBR_SOLUTIONCODE"].ToString() == "JJ_123")
+                {
+                    if (dh.getRowCount("craftmaterial", "nvl(cm_mbid,0)<>0 and cm_sncode='" + GetSNCode.Text + "' and cm_makecode='" + ms_makecode.Text + "'") == 0)
+                    {
+                        OperatResult.AppendText(">>解决方案为更换物料,必须存在拆解记录\n", Color.Red);
+                        return;
+                    }
+                }
             }
             if (ErrorMessage != "")
             {

+ 8 - 2
UAS_MES_JC/FunctionCode/Make/Make_TestCollection.cs

@@ -480,7 +480,7 @@ namespace UAS_MES_NEW.Make
                             BaseUtil.SetFormValue(this.Controls, dt);
                             LockMakeCode.Checked = true;
                         }
-                        dt = dh.getFieldsDataByCondition("makeserial", new string[] { "ms_status", "ms_checkno", "ms_outboxcode" }, "ms_id='" + oMSID + "' ");
+                        dt = dh.getFieldsDataByCondition("makeserial", new string[] { "ms_status", "ms_checkno", "ms_outboxcode", "ms_stepcode" }, "ms_id='" + oMSID + "' ");
                         if (dt.Rows.Count > 0)
                         {
                             string ms_outboxcode = dt.Rows[0]["ms_outboxcode"].ToString();
@@ -542,10 +542,11 @@ namespace UAS_MES_NEW.Make
                     }
                 }
                 //如果之前是良品的
-                dt = dh.getFieldsDataByCondition("makeserial", new string[] { "ms_status", "ms_checkno", "ms_outboxcode" }, "ms_id='" + oMSID + "' and ms_stepcode='" + User.CurrentStepCode + "'");
+                dt = dh.getFieldsDataByCondition("makeserial", new string[] { "ms_status", "ms_checkno", "ms_outboxcode", "ms_stepcode" }, "ms_id='" + oMSID + "' and ms_stepcode='" + User.CurrentStepCode + "'");
                 if (dt.Rows.Count > 0)
                 {
                     string ms_outboxcode = dt.Rows[0]["ms_outboxcode"].ToString();
+                    string ms_stepcode = dt.Rows[0]["ms_stepcode"].ToString();
                     if (ms_outboxcode != "")
                     {
                         OperateResult.AppendText(">>SN已装箱" + ms_outboxcode + ",采集不良请先解除装箱\n", Color.Red);
@@ -554,6 +555,11 @@ namespace UAS_MES_NEW.Make
                     string status = dt.Rows[0]["ms_status"].ToString();
                     if (status == "1" || status == "2")
                     {
+                        if (ms_stepcode == User.CurrentStepCode)
+                        {
+                            OperateResult.AppendText(">>SN" + ms_sncode.Text + "已判定为良品,不允许采集为不良\n", Color.Red);
+                            return;
+                        }
                         dh.UpdateByCondition("steppassed", "sp_result='不良品',sp_ifng=-1,sp_ymd=to_char(sysdate,'yyyymmdd'),sp_hm=to_char(sysdate,'hh24miss'),sp_linecode = '" + User.UserLineCode + "',sp_sccode = '" + User.UserSourceCode + "'", "sp_id=(select max(sp_id) from steppassed where sp_sncode='" + ms_sncode.Text + "')");
                         dh.UpdateByCondition("makecraftdetail", "mcd_okqty=mcd_okqty-1", "mcd_macode='" + ma_code.Text + "' and mcd_stepcode='" + User.CurrentStepCode + "'");
                         dh.UpdateByCondition("makeserial", "ms_nextstepcode='',ms_badtimes=nvl(ms_badtimes,0)+1", "ms_id='" + oMSID + "'");