|
@@ -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();
|