using System; using System.Collections.Generic; using System.Linq; using System.Text; using QMAPP.FJC.TRACING.DAInterface; namespace QMAPP.FJC.TRACING.StateActions { public class ChangeProcessCode : IStateAction { public void Execute(DAObject data) { string newprocesscode = (from da in data.WorkLocState.DataCache where string.Equals(da.ISPROCESSCODE, "1") select da.DA_VALUE).FirstOrDefault(); if (string.IsNullOrEmpty(newprocesscode))//是否包含过程码采集项 { return; } string[] codeOfParts = (from da in data.WorkLocState.DataCache where !string.Equals(da.ISPROCESSCODE, "1") && string.Equals(da.DATA_TYPE, "SN") select da.DA_VALUE).ToArray(); if (codeOfParts.Length == 0) { return; } string sql = "UPDATE T_QT_PRODUCT_STRUCTURE SET PROCESS_CODE='" + newprocesscode + "' " + "WHERE PROCESS_CODE IN ('" + string.Join("','", codeOfParts) + "')"; data.SQLCommands.Add(new SQLCommand(sql)); } } }