增加返修上线与弹窗提示

This commit is contained in:
XingCheng3
2026-06-01 15:33:29 +08:00
parent c5e248e993
commit 5fc3f2edc5
4 changed files with 98 additions and 10 deletions

View File

@@ -1049,6 +1049,25 @@ namespace bizFacade
return dt; return dt;
} }
/// <summary>
/// 测量数据发动机在线状态_查询_是否二次确认是否工作
/// </summary>
/// <param name="opName">工位号</param>
/// <param name="OrderForm">订单号</param>
/// <param name="EngineID">总成号</param>
/// <returns></returns>
public static DataTable EngineIsNeedTwoWorkConfirm(string opName, string OrderForm, string EngineID)
{
DataTable dt = new DataTable();
string produceName = "测量数据发动机在线状态_查询_是否二次确认是否工作";
SqlParameter[] thisParms = new SqlParameter[3];
thisParms[0] = new System.Data.SqlClient.SqlParameter("@工位号", opName);
thisParms[1] = new System.Data.SqlClient.SqlParameter("@订单号", OrderForm);
thisParms[2] = new System.Data.SqlClient.SqlParameter("@总成号", EngineID);
DataAccess.ExecuteStoredProcedure(produceName, ref thisParms, out dt);
return dt;
}
/// <summary> /// <summary>
/// 北汽福田_工位是否允许工作_判断 /// 北汽福田_工位是否允许工作_判断
/// </summary> /// </summary>

View File

@@ -93,14 +93,17 @@ namespace MesServerFunctions
SendMessage.AsyncSendMessage(message); SendMessage.AsyncSendMessage(message);
return; return;
} }
//判断该订单数据是否已经工作过有的话则在WEB跳出弹窗选择 并同时禁止工作
DataTable dt2 = BaseDataSystemMES.EngineIsTwoWork(OpName, OrderForm, EngineID); // 判断是否需要二次确认工作(返修线返修优先,其次已工作过)
DataTable dt2 = BaseDataSystemMES.EngineIsNeedTwoWorkConfirm(OpName, OrderForm, EngineID);
if (dt2.Rows[0]["result"].ToString() == "1") //已完成s if (dt2.Rows[0]["result"].ToString() == "1") //已完成s
{ {
//不允许工作 //不允许工作
MIS_BASE.Write_FixAllow(OpName, false); MIS_BASE.Write_FixAllow(OpName, false);
//通知WEB校验重新工作还是跳过 点重新工作给允许工作,点跳过给工作完成 // 通知WEB校验重新工作还是跳过 点重新工作给允许工作,点跳过给工作完成
string message = "MES|Engine_Is_TwoWork|" + OpName + "|1"; string msg = dt2.Rows[0]["msg"].ToString().Replace("|", " ").Replace("&", " ");
string color = dt2.Rows[0]["color"].ToString();
string message = "MES|Engine_Is_TwoWork_Msg|" + OpName + "|" + msg + "&" + color;
SendMessage.AsyncSendMessage(message); SendMessage.AsyncSendMessage(message);
} }
else else

View File

@@ -97,14 +97,16 @@ namespace MesServerFunctions
//SendMessage.ShowMoby(OpName); //SendMessage.ShowMoby(OpName);
// ET030 无屏幕 不判断是否重复工作过 // ET030 无屏幕 不判断是否重复工作过
//判断该订单数据是否已经工作过有的话则在WEB跳出弹窗选择 并同时禁止工作 // 判断是否需要二次确认工作(返修线返修优先,其次已工作过)
DataTable dt2 = BaseDataSystemMES.EngineIsTwoWork(OpName, OrderForm, EngineID); DataTable dt2 = BaseDataSystemMES.EngineIsNeedTwoWorkConfirm(OpName, OrderForm, EngineID);
if (dt2.Rows[0]["result"].ToString() == "1" && isBackWork == 0) //已完成 if (dt2.Rows[0]["result"].ToString() == "1") //已完成s
{ {
//不允许工作 //不允许工作
MIS_BASE.Write_FixAllow(OpName, false); MIS_BASE.Write_FixAllow(OpName, false);
//通知WEB校验重新工作还是跳过 点重新工作给允许工作,点跳过给工作完成 // 通知WEB校验重新工作还是跳过 点重新工作给允许工作,点跳过给工作完成
string message = "MES|Engine_Is_TwoWork|" + OpName + "|1"; string msg = dt2.Rows[0]["msg"].ToString().Replace("|", " ").Replace("&", " ");
string color = dt2.Rows[0]["color"].ToString();
string message = "MES|Engine_Is_TwoWork_Msg|" + OpName + "|" + msg + "&" + color;
SendMessage.AsyncSendMessage(message); SendMessage.AsyncSendMessage(message);
} }
else else

View File

@@ -0,0 +1,64 @@
IF OBJECT_ID(N'[dbo].[测量数据发动机在线状态_查询_是否二次确认是否工作]', N'P') IS NULL
BEGIN
EXEC(N'CREATE PROCEDURE [dbo].[测量数据发动机在线状态_查询_是否二次确认是否工作] AS BEGIN SET NOCOUNT ON; END')
END
GO
ALTER PROCEDURE [dbo].[线_查询_是否二次确认是否工作]
@ nvarchar(50) = null,
@ nvarchar(50) = null,
@ nvarchar(50) = null
AS
BEGIN
SET NOCOUNT ON;
declare @ nvarchar(100) = N''
declare @ nvarchar(1000) = N''
declare @ nvarchar(1200) = N''
-- 返修线返修优先:当前 MA 工位,且该工件存在 ET 工位返工记录。
IF (@ LIKE N'J07MA%')
BEGIN
SELECT TOP 1
@ = ISNULL([], N''),
@ = ISNULL([], N'')
FROM [dbo].[_记录]
WHERE [] = @
AND [] LIKE N'J07ET%'
ORDER BY [] DESC, [ID] DESC
IF (@ != N'')
BEGIN
SET @ = N'该工件在' + @ + N'工位不合格,不合格故障文本:' + @ + N',请选择操作方式'
SELECT
1 AS result,
REPLACE(REPLACE(@, N'|', N' '), N'&', N' ') AS msg,
N'#ff0000' AS color,
N'测试线返修' AS reasonType
RETURN
END
END
IF EXISTS (
SELECT 1
FROM [dbo].[线]
WHERE [] = @
AND [] = @
AND [] = @
)
BEGIN
SELECT
1 AS result,
N'该工件已工作完成 请选择操作方式' AS msg,
N'#ffcc00' AS color,
N'已工作' AS reasonType
RETURN
END
SELECT
2 AS result,
N'' AS msg,
N'#ff0000' AS color,
N'' AS reasonType
END