|
|
@@ -508,6 +508,12 @@ namespace PLC_S.ServerModel
|
|
|
#region 【可选】工序计件
|
|
|
if (!string.IsNullOrEmpty(plc_s.PROCEDURE_ID) && (!string.IsNullOrEmpty(plc_s.PROCEDURE_USERCODE) || !string.IsNullOrEmpty(plc_s.WORKSTATION_ID)) )
|
|
|
{
|
|
|
+ //如果是重烧产品使用重烧ID
|
|
|
+ if (!string.IsNullOrEmpty(plc_s.PROCEDURE_AUTOREFIRE_ID))
|
|
|
+ {
|
|
|
+ plc_s.PROCEDURE_ID = GetAutoFireID(barCode, plc_s.PROCEDURE_ID, plc_s.PROCEDURE_AUTOREFIRE_ID, e, logKeyE);
|
|
|
+ }
|
|
|
+
|
|
|
string p_id = GetFlowId(barCode, e, logKeyE);
|
|
|
Int16 plc_flag = 0;
|
|
|
if (p_id != plc_s.PROCEDURE_ID.ToString())
|
|
|
@@ -750,6 +756,37 @@ namespace PLC_S.ServerModel
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private string GetAutoFireID(string barCode, string procedureId, string autoFireId, ReceiveSession e, string loggerName)
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ using (IDataAccess conn = PLC_S_DataAccess.GetDataAccess(e))
|
|
|
+ {
|
|
|
+ string sqlStr = @"
|
|
|
+ SELECT T.ISREFIRE
|
|
|
+ FROM TP_PM_INPRODUCTION T
|
|
|
+ WHERE T.BARCODE = :BARCODE
|
|
|
+ UNION
|
|
|
+ SELECT T.ISREFIRE
|
|
|
+ FROM TP_PM_INPRODUCTIONTRASH T
|
|
|
+ WHERE T.BARCODE = :BARCODE
|
|
|
+ ";
|
|
|
+ string result = conn.ExecuteScalar(sqlStr, new CDAParameter(":BARCODE", barCode)).ToString();
|
|
|
+ if (result == "6")
|
|
|
+ return autoFireId;
|
|
|
+ else
|
|
|
+ return procedureId;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ Logger.Error(ex, $"[{e.Content}]ERROR-GetAutoFireID", loggerName, logger_e);
|
|
|
+ FormLogShow?.ShowLog($"[{e.Content}]ERROR-GetAutoFireID={ex.Message}");
|
|
|
+ return "0";
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private string GetUserCodeFromWorkStation(string workStationId, ReceiveSession e, string loggerName)
|
|
|
{
|
|
|
try
|