Browse Source

接口调整

章政 7 năm trước cách đây
mục cha
commit
58377e586e
1 tập tin đã thay đổi với 19 bổ sung3 xóa
  1. 19 3
      UAS_CustomerInterface/MesHelper.cs

+ 19 - 3
UAS_CustomerInterface/MesHelper.cs

@@ -68,12 +68,23 @@ namespace UAS.MES
                 oErrMessage = "SN不能为空";
                 return false;
             }
+            string oMsid = "";
             oErrMessage = "";
             string[] param = new string[] { "", iResCode, iSN, "", "", "", oErrMessage };
             string[] ParamName = new string[] { "v_i_macode", "v_i_sourcecode", "v_i_sncode", "v_i_usercode", "v_o_macode", "v_o_msid", "v_o_errmsg" };
             CallProcedure("CS_CHECKSTEPSNANDMACODE", ParamName, ref param);
+            oMsid = param[5];
             oErrMessage = param[6];
-            DataTable dt = (DataTable)ExecuteSql("select ms_status,ms_stepcode,ms_nextstepcode from makeserial where ms_id=(select max(ms_id) from makeserial where ms_sncode='" + iSN + "')", "select");
+            DataTable dt = null;
+            if (oMsid == "" || oMsid == null || oMsid == "null")
+            {
+                sql.Clear();
+                sql.Append("select max(ms_id) from makeserial  where ms_sncode in (select '" + iSN + "' from dual union select sn from makesnrelation where ");
+                sql.Append(" beforesn = '" + iSN + "' and sn <> ' ' union select beforesn from makesnrelation where sn='" + iSN + "' and beforesn<>' ')");
+                dt = (DataTable)ExecuteSql(sql.ToString(), "select");
+                oMsid = dt.Rows[0][0].ToString();
+            }
+            dt = (DataTable)ExecuteSql("select ms_status,ms_stepcode,ms_nextstepcode from makeserial where ms_id='" + oMsid + "'","select");
             string ms_status = "";
             string ms_stepcode = "";
             string ms_nextstepcode = "";
@@ -84,6 +95,11 @@ namespace UAS.MES
                 ms_nextstepcode = dt.Rows[0]["ms_nextstepcode"].ToString();
             }
             string stepcode = GetStepCodeBySource(iResCode);
+            if (ms_nextstepcode != "" && ms_nextstepcode != stepcode)
+            {
+                oErrMessage = "序列号下一工序" + ms_nextstepcode + ",前岗位资源不允许采集";
+                return false;
+            }
             if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null" || (ms_status == "3" && stepcode == ms_stepcode))
             {
                 if (ms_status == "3")
@@ -309,8 +325,8 @@ namespace UAS.MES
             }
             oErrMessage = "";
             sql.Clear();
-            sql.Append("select max(ms_id) from makeserial where ms_sncode in (select '" + iSN + "' from dual union select ");
-            sql.Append("beforesn from makesnrelation where sn='" + iSN + "' and beforesn<>' ')");
+            sql.Append("select max(ms_id) from makeserial  where ms_sncode in (select '" + iSN + "' from dual union select sn from makesnrelation where ");
+            sql.Append(" beforesn = '" + iSN + "' and sn <> ' ' union select beforesn from makesnrelation where sn='" + iSN + "' and beforesn<>' ')");
             DataTable dt = (DataTable)ExecuteSql(sql.ToString(), "select");
             string ms_id = dt.Rows[0][0].ToString();
             oMoCode = getFieldDataByCondition("MakeSerial", "ms_makecode", "ms_id='" + ms_id + "'").ToString();