Explorar el Código

修改不唯一限制

章政 hace 8 años
padre
commit
24e4e1f2a2
Se han modificado 1 ficheros con 32 adiciones y 27 borrados
  1. 32 27
      UAS-MES/FunctionCode/OQC/OQC_CheckNoSplit.cs

+ 32 - 27
UAS-MES/FunctionCode/OQC/OQC_CheckNoSplit.cs

@@ -63,41 +63,46 @@ namespace UAS_MES.OQC
                 choosedsn.Text = "0";
                 totalsn.Text = OutBoxDGV.Rows.Count.ToString();
             }
-            else OperateResult.AppendText(">>"+ErrorMessage+"\n", Color.Red);
+            else OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red);
         }
 
         private void SplitCheckNo_Click(object sender, EventArgs e)
         {
             if (choosedsn.Text != "0")
             {
-                if (dh.getFieldDataByCondition("oqcbatch", "ob_status", "ob_checkno='" + ob_checkno.Text + "'").ToString() == "UNCHECK")
+                dt = dh.getFieldsDataByCondition("oqcbatch", new string[] { "ob_status", "ob_makecode" }, "ob_checkno='" + ob_checkno.Text + "'");
+                if (dt.Rows.Count > 0)
                 {
-                    string[] sqls = new string[5];
-                    //插入新批次的主表
-                    string ob_id = dh.GetSEQ("oqcbatch_seq");
-                    sql.Clear();
-                    sql.Append("insert into oqcbatch(ob_id,ob_checkno,ob_indate,ob_checkman,ob_oldcheckno,ob_source,");
-                    sql.Append("ob_batchqty,ob_status,ob_prodcode, ob_sourcecode,ob_reworkcode,ob_orgcheckno,");
-                    sql.Append("OB_CRAFTCODE,OB_STEPCODE,OB_MAKECODE,oB_WCCODE,OB_FACTORY,OB_PROJECTCODE,OB_DESCRIPTION,");
-                    sql.Append("OB_AQLCODE,OB_REMARK) select '" + ob_id + "','" + new_checkno.Text + "',sysdate,'" + User.UserCode + "',");
-                    sql.Append("'" + ob_checkno.Text + "',ob_source,ob_batchqty,ob_status,ob_prodcode, ob_sourcecode,");
-                    sql.Append("ob_reworkcode,ob_orgcheckno,OB_CRAFTCODE, OB_STEPCODE,OB_MAKECODE,oB_WCCODE,OB_FACTORY,");
-                    sql.Append("OB_PROJECTCODE,OB_DESCRIPTION,OB_AQLCODE,OB_REMARK from oqcbatch where ob_checkno='" + ob_checkno.Text + "'");
-                    sqls[0] = sql.GetString();
-                    //插入新批次的从表
-                    sql.Clear();
-                    sql.Append("insert into oqcbatchdetail(OBD_ID,OBD_OBID,OBD_CHECKNO,OBD_SNCODE,obd_outboxcode,OBD_MAKECODE");
-                    sql.Append(",OBD_BUILDDATE,obd_prodcode) SELECT oqcbatchdetail_seq.nextval,'" + ob_id + "','" + new_checkno.Text + "',OBD_SNCODE,obd_outboxcode");
-                    sql.Append(",OBD_MAKECODE,sysdate,obd_prodcode from oqcbatchdetail where obd_checkno='" + ob_checkno.Text + "' and obd_sncode in(" + CheckSn + ")");
-                    sqls[1] = sql.GetString();
-                    sqls[2] = "update OQCBatch set ob_nowcheckqty=(select count(1) from oqcbatchdetail where obd_checkno='" + new_checkno.Text + "') where ob_checkno='" + new_checkno.Text + "'";
-                    sqls[3] = "delete from oqcbatchdetail where obd_checkno='" + ob_checkno.Text + "' and obd_sncode in (" + CheckSn + ")";
-                    sqls[4] = "update OQCBatch set ob_nowcheckqty=(select count(1) from oqcbatchdetail where obd_checkno='" + ob_checkno.Text + "') where ob_checkno='" + ob_checkno.Text + "'";
-                    dh.ExecuteSQLTran(sqls);
-                    GetBatch.PerformClick();
-                    OperateResult.AppendText(">>批次" + ob_checkno.Text + "拆解成功\n ", Color.Green);
+                    string ob_makecode = dt.Rows[0]["ob_makecode"].ToString();
+                    if (dt.Rows[0]["ob_status"].ToString() == "UNCHECK")
+                    {
+                        string[] sqls = new string[5];
+                        //插入新批次的主表
+                        string ob_id = dh.GetSEQ("oqcbatch_seq");
+                        sql.Clear();
+                        sql.Append("insert into oqcbatch(ob_id,ob_checkno,ob_indate,ob_checkman,ob_oldcheckno,ob_source,");
+                        sql.Append("ob_batchqty,ob_status,ob_prodcode, ob_sourcecode,ob_reworkcode,ob_orgcheckno,");
+                        sql.Append("OB_CRAFTCODE,OB_STEPCODE,OB_MAKECODE,oB_WCCODE,OB_FACTORY,OB_PROJECTCODE,OB_DESCRIPTION,");
+                        sql.Append("OB_AQLCODE,OB_REMARK) select '" + ob_id + "','" + new_checkno.Text + "',sysdate,'" + User.UserCode + "',");
+                        sql.Append("'" + ob_checkno.Text + "',ob_source,ob_batchqty,ob_status,ob_prodcode, ob_sourcecode,");
+                        sql.Append("ob_reworkcode,ob_orgcheckno,OB_CRAFTCODE, OB_STEPCODE,OB_MAKECODE,oB_WCCODE,OB_FACTORY,");
+                        sql.Append("OB_PROJECTCODE,OB_DESCRIPTION,OB_AQLCODE,OB_REMARK from oqcbatch where ob_checkno='" + ob_checkno.Text + "'");
+                        sqls[0] = sql.GetString();
+                        //插入新批次的从表
+                        sql.Clear();
+                        sql.Append("insert into oqcbatchdetail(OBD_ID,OBD_OBID,OBD_CHECKNO,OBD_SNCODE,obd_outboxcode,OBD_MAKECODE");
+                        sql.Append(",OBD_BUILDDATE,obd_prodcode) SELECT oqcbatchdetail_seq.nextval,'" + ob_id + "','" + new_checkno.Text + "',OBD_SNCODE,obd_outboxcode");
+                        sql.Append(",OBD_MAKECODE,sysdate,obd_prodcode from oqcbatchdetail where obd_checkno='" + ob_checkno.Text + "' and obd_sncode in(" + CheckSn + ")");
+                        sqls[1] = sql.GetString();
+                        sqls[2] = "update OQCBatch set ob_nowcheckqty=(select count(1) from oqcbatchdetail where obd_checkno='" + new_checkno.Text + "') where ob_checkno='" + new_checkno.Text + "'";
+                        sqls[3] = "delete from oqcbatchdetail where obd_checkno='" + ob_checkno.Text + "' and obd_sncode in (" + CheckSn + ") and obd_makecode='"+ ob_makecode + "'";
+                        sqls[4] = "update OQCBatch set ob_nowcheckqty=(select count(1) from oqcbatchdetail where obd_checkno='" + ob_checkno.Text + "') where ob_checkno='" + ob_checkno.Text + "'";
+                        dh.ExecuteSQLTran(sqls);
+                        GetBatch.PerformClick();
+                        OperateResult.AppendText(">>批次" + ob_checkno.Text + "拆解成功\n ", Color.Green);
+                    }
+                    else OperateResult.AppendText(">>批次状态必须是待检验\n", Color.Red);
                 }
-                else OperateResult.AppendText(">>批次状态必须是待检验\n", Color.Red);
             }
             else OperateResult.AppendText(">>请勾选需要拆解的序列号\n", Color.Red);
         }