/// <summary> /// 取消 /// </summary> /// <param name="rowsKeyValues">多主键时以^分割</param> /// <param name="loginUser"></param> /// <returns></returns> public bool CancelInfos(List <string> rowsKeyValues, string loginUser) { ///验证是否符合取消规则 ExecuteResult;业务错误 40, 程序错误 50 提交:10 重发:60 int cnt = dal.GetCounts("" + "[EXECUTE_RESULT] in (" + (int)ExecuteResultConstants.Error + "," + (int)ExecuteResultConstants.Exception + "," + (int)ExecuteResultConstants.Submit + "," + (int)ExecuteResultConstants.Resend + ") and " + "[ID] in (" + string.Join(",", rowsKeyValues.ToArray()) + ")"); if (cnt != rowsKeyValues.Count) { throw new Exception("MC:0x00000201");///执行结果为处理中或完成不可取消 } StringBuilder @string = new StringBuilder(); foreach (var rowsKeyValue in rowsKeyValues) { @string.AppendLine(CommonBLL.GetUpdateResultLogSql("VMI", Convert.ToInt64(rowsKeyValue), ExecuteResultConstants.Cancel, string.Empty, string.Empty, string.Empty, loginUser)); } using (var trans = new TransactionScope()) { if (@string.Length > 0) { CommonDAL.ExecuteNonQueryBySql(@string.ToString()); } trans.Complete(); } return(true); }