|
@@ -1346,18 +1346,37 @@ namespace UAS_MES.PublicMethod
|
|
|
return param[4];
|
|
return param[4];
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public static bool CheckSNBeforeLoad(string iSN, string iSonCode, string iRule, string iPrefix, string iLength, out string ErrMessage)
|
|
|
|
|
|
|
+ public static bool CheckSNBeforeLoad(string iMakeCode, string iSN, string iSonCode, string iRule, string iPrefix, string iLength, out string ErrMessage)
|
|
|
{
|
|
{
|
|
|
DataTable dt;
|
|
DataTable dt;
|
|
|
ErrMessage = "";
|
|
ErrMessage = "";
|
|
|
switch (iRule)
|
|
switch (iRule)
|
|
|
{
|
|
{
|
|
|
case "TSN":
|
|
case "TSN":
|
|
|
- dt = (DataTable)dh.ExecuteSql("select ms_id,ms_prodcode from makeserial where ms_sncode='" + iSN + "' order by ms_id desc", "select");
|
|
|
|
|
|
|
+ dt = (DataTable)dh.ExecuteSql("select ms_id,ms_prodcode,ms_nextmacode,ms_salecode,ms_downstatus from makeserial where ms_sncode='" + iSN + "' order by ms_id desc", "select");
|
|
|
if (dt.Rows.Count > 0)
|
|
if (dt.Rows.Count > 0)
|
|
|
{
|
|
{
|
|
|
|
|
+ if (dt.Rows[0]["ms_downstatus"].ToString() != "0")
|
|
|
|
|
+ {
|
|
|
|
|
+ ErrMessage = "序列号:" + iSonCode + "已下地,请先取消下地";
|
|
|
|
|
+ return false ;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (dt.Rows[0]["ms_nextmacode"].ToString() != "")
|
|
|
|
|
+ {
|
|
|
|
|
+ ErrMessage = "序列号:" + iSonCode + "已被工单" + dt.Rows[0]["ms_nextmacode是否为空"].ToString() + "使用";
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (dt.Rows[0]["ms_salecode"].ToString() != dh.getFieldDataByCondition("make", "ma_salecode", "ma_code='" + iMakeCode + "'").ToString())
|
|
|
|
|
+ {
|
|
|
|
|
+ ErrMessage = "序列号对应销售订单与工单不符";
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ //ms_salecode是否等于工单的SaleCode
|
|
|
if (iSonCode != dt.Rows[0]["ms_prodcode"].ToString())
|
|
if (iSonCode != dt.Rows[0]["ms_prodcode"].ToString())
|
|
|
|
|
+ {
|
|
|
ErrMessage = "序列号对应的物料不是:" + iSonCode;
|
|
ErrMessage = "序列号对应的物料不是:" + iSonCode;
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
else
|
|
else
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|