using ICSSoft.Common; using ICSSoft.Entity; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; namespace ICSSoft.DataProject { public class HelpUtil { private static log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); private static string connString = System.Configuration.ConfigurationManager.AppSettings["ConnStr"]; /// /// 删除单据 /// /// /// public static void CodeDelete(string TableName, string CodeColumnName, string Code, string User, string WorkPoint) { using (SqlConnection conn = new SqlConnection(connString)) { conn.Open(); SqlTransaction sqlTran = conn.BeginTransaction(); SqlCommand cmd = new SqlCommand(); cmd.Transaction = sqlTran; cmd.Connection = conn; try { string sql = string.Empty; string TransType = string.Empty; string Identification = Guid.NewGuid().ToString(); sql = $@"DELETE FROM {TableName} WHERE {CodeColumnName}=@Code AND WorkPoint=@WorkPoint "; cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("@Code", Code); cmd.Parameters.AddWithValue("@WorkPoint", WorkPoint); if (!DBHelper.ExecuteNonQuery(sql, cmd)) { //throw new Exception(""); return; } cmd.Transaction.Commit(); log.Debug(User + " 删除 " + TableName + ": " + Code); } catch (Exception ex) { if (cmd.Transaction != null) cmd.Transaction.Rollback(); log.Error(ex.Message); throw new Exception(ex.Message); } finally { if (conn.State == ConnectionState.Open) { conn.Close(); } conn.Dispose(); } } } /// /// 关闭单据 /// /// /// /// /// /// public static void CodeClose(string TableName, string CodeColumnName, string Code, string StatusColumnName, string CodeStatus, string User, string WorkPoint) { using (SqlConnection conn = new SqlConnection(connString)) { conn.Open(); SqlTransaction sqlTran = conn.BeginTransaction(); SqlCommand cmd = new SqlCommand(); cmd.Transaction = sqlTran; cmd.Connection = conn; try { string sql = string.Empty; string TransType = string.Empty; string Identification = Guid.NewGuid().ToString(); sql = $@"UPDATE {TableName} SET {StatusColumnName}=@CodeStatus WHERE {CodeColumnName}=@Code AND WorkPoint=@WorkPoint"; cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("@CodeStatus", CodeStatus); cmd.Parameters.AddWithValue("@Code", Code); cmd.Parameters.AddWithValue("@WorkPoint", WorkPoint); if (!DBHelper.ExecuteNonQuery(sql, cmd)) { //throw new Exception(""); return; } cmd.Transaction.Commit(); log.Debug(User + " 关闭 " + TableName + ": " + Code); } catch (Exception ex) { if (cmd.Transaction != null) cmd.Transaction.Rollback(); log.Error(ex.Message); throw new Exception(ex.Message); } finally { if (conn.State == ConnectionState.Open) { conn.Close(); } conn.Dispose(); } } } } }