You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

126 lines
4.6 KiB

3 weeks ago
  1. using ICSSoft.Common;
  2. using ICSSoft.Entity;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Data;
  6. using System.Data.SqlClient;
  7. namespace ICSSoft.DataProject
  8. {
  9. public class HelpUtil
  10. {
  11. private static log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  12. private static string connString = System.Configuration.ConfigurationManager.AppSettings["ConnStr"];
  13. /// <summary>
  14. /// 删除单据
  15. /// </summary>
  16. /// <param name="Code"></param>
  17. /// <returns></returns>
  18. public static void CodeDelete(string TableName, string CodeColumnName, string Code, string User, string WorkPoint)
  19. {
  20. using (SqlConnection conn = new SqlConnection(connString))
  21. {
  22. conn.Open();
  23. SqlTransaction sqlTran = conn.BeginTransaction();
  24. SqlCommand cmd = new SqlCommand();
  25. cmd.Transaction = sqlTran;
  26. cmd.Connection = conn;
  27. try
  28. {
  29. string sql = string.Empty;
  30. string TransType = string.Empty;
  31. string Identification = Guid.NewGuid().ToString();
  32. sql = $@"DELETE FROM {TableName} WHERE {CodeColumnName}=@Code AND WorkPoint=@WorkPoint ";
  33. cmd.Parameters.Clear();
  34. cmd.Parameters.AddWithValue("@Code", Code);
  35. cmd.Parameters.AddWithValue("@WorkPoint", WorkPoint);
  36. if (!DBHelper.ExecuteNonQuery(sql, cmd))
  37. {
  38. //throw new Exception("");
  39. return;
  40. }
  41. cmd.Transaction.Commit();
  42. log.Debug(User + " 删除 " + TableName + ": " + Code);
  43. }
  44. catch (Exception ex)
  45. {
  46. if (cmd.Transaction != null)
  47. cmd.Transaction.Rollback();
  48. log.Error(ex.Message);
  49. throw new Exception(ex.Message);
  50. }
  51. finally
  52. {
  53. if (conn.State == ConnectionState.Open)
  54. {
  55. conn.Close();
  56. }
  57. conn.Dispose();
  58. }
  59. }
  60. }
  61. /// <summary>
  62. /// 关闭单据
  63. /// </summary>
  64. /// <param name="TableName"></param>
  65. /// <param name="CodeColumnName"></param>
  66. /// <param name="Code"></param>
  67. /// <param name="StatusColumnName"></param>
  68. /// <param name="CodeStatus"></param>
  69. public static void CodeClose(string TableName, string CodeColumnName, string Code, string StatusColumnName, string CodeStatus, string User, string WorkPoint)
  70. {
  71. using (SqlConnection conn = new SqlConnection(connString))
  72. {
  73. conn.Open();
  74. SqlTransaction sqlTran = conn.BeginTransaction();
  75. SqlCommand cmd = new SqlCommand();
  76. cmd.Transaction = sqlTran;
  77. cmd.Connection = conn;
  78. try
  79. {
  80. string sql = string.Empty;
  81. string TransType = string.Empty;
  82. string Identification = Guid.NewGuid().ToString();
  83. sql = $@"UPDATE {TableName} SET {StatusColumnName}=@CodeStatus
  84. WHERE {CodeColumnName}=@Code AND WorkPoint=@WorkPoint";
  85. cmd.Parameters.Clear();
  86. cmd.Parameters.AddWithValue("@CodeStatus", CodeStatus);
  87. cmd.Parameters.AddWithValue("@Code", Code);
  88. cmd.Parameters.AddWithValue("@WorkPoint", WorkPoint);
  89. if (!DBHelper.ExecuteNonQuery(sql, cmd))
  90. {
  91. //throw new Exception("");
  92. return;
  93. }
  94. cmd.Transaction.Commit();
  95. log.Debug(User + " 关闭 " + TableName + ": " + Code);
  96. }
  97. catch (Exception ex)
  98. {
  99. if (cmd.Transaction != null)
  100. cmd.Transaction.Rollback();
  101. log.Error(ex.Message);
  102. throw new Exception(ex.Message);
  103. }
  104. finally
  105. {
  106. if (conn.State == ConnectionState.Open)
  107. {
  108. conn.Close();
  109. }
  110. conn.Dispose();
  111. }
  112. }
  113. }
  114. }
  115. }