锐腾搅拌上料功能
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.

246 lines
10 KiB

5 months ago
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using ICSSoft.Frame.Data.Entity;
  6. using ICSSoft.Base.Config.AppConfig;
  7. using System.Data;
  8. using System.Data.Sql;
  9. using System.Data.Linq;
  10. using ICSSoft.Base.Config.DBHelper;
  11. using System.Data.SqlClient;
  12. namespace ICSSoft.Frame.Data.DAL
  13. {
  14. public class FormPurchasingStorageDAL
  15. {
  16. // public static void beginSave(ICSPOArrive context)
  17. // {
  18. // SqlConnection conn = new SqlConnection(AppConfig.AppConnectString);
  19. // SqlCommand com = conn.CreateCommand();
  20. // SqlTransaction tran;
  21. // conn.Open();
  22. // tran = conn.BeginTransaction();
  23. // com.Transaction = tran;
  24. // try
  25. // {
  26. // string sqlStr = @"IF EXISTS(SELECT * FROM dbo.ICSPurchasingStorage WHERE BatchCode='" + context.BatchCode + @"')
  27. // RAISERROR('批次已经存在!!',16,0)";
  28. // com.CommandText = sqlStr;
  29. // com.ExecuteNonQuery();
  30. // string guid = AppConfig.GetGuid();
  31. // string sql = @"INSERT INTO [dbo].[ICSPurchasingStorage]
  32. // ([Serial]
  33. // ,[ItemCode]
  34. // ,[ItemName]
  35. // ,[ItemStd]
  36. // ,[VenCode]
  37. // ,[VenName]
  38. // ,[ComUnit]
  39. // ,[AssComUnit]
  40. // ,[dDate]
  41. // ,[BatchCode]
  42. // ,[Quantity]
  43. // ,[OutQuantity]
  44. // ,[Mtime]
  45. // ,[Muser]
  46. // ,[cFree1]
  47. // ,[cFree2],PackQuantiy,Rd01AutoID,QCStatus)
  48. // VALUES
  49. // (@Serial
  50. // ,@ItemCode
  51. // ,@ItemName
  52. // ,@ItemStd
  53. // ,@VenCode
  54. // ,@VenName
  55. // ,@ComUnit
  56. // ,@AssComUnit
  57. // ,@dDate
  58. // ,@BatchCode
  59. // ,@Quantity
  60. // ,@OutQuantity
  61. // ,@Mtime
  62. // ,@Muser
  63. // ,@cFree1
  64. // ,@cFree2,@PackQuantiy,@Rd01AutoID,'合格')";
  65. // com.CommandText = sql;
  66. // com.Parameters.Clear();
  67. // com.Parameters.AddWithValue("@Serial", guid);
  68. // com.Parameters.AddWithValue("@ItemCode", context.ItemCode);
  69. // com.Parameters.AddWithValue("@ItemName", context.ItemName);
  70. // com.Parameters.AddWithValue("@ItemStd", context.ItemStd);
  71. // com.Parameters.AddWithValue("@VenCode", DBNull.Value);
  72. // com.Parameters.AddWithValue("@VenName", DBNull.Value);
  73. // com.Parameters.AddWithValue("@ComUnit", context.ComUnit);
  74. // com.Parameters.AddWithValue("@AssComUnit", context.AssComUnit);
  75. // com.Parameters.AddWithValue("@dDate",DBNull.Value);
  76. // com.Parameters.AddWithValue("@BatchCode", context.BatchCode);
  77. // com.Parameters.AddWithValue("@Quantity", context.Quantity);
  78. // com.Parameters.AddWithValue("@OutQuantity", "0");
  79. // com.Parameters.AddWithValue("@Mtime", DateTime.Now.ToString());
  80. // com.Parameters.AddWithValue("@Muser", AppConfig.UserName);
  81. // com.Parameters.AddWithValue("@cFree1", context.cFree1);
  82. // com.Parameters.AddWithValue("@cFree2", DBNull.Value);
  83. // com.Parameters.AddWithValue("@PackQuantiy", "0");
  84. // com.Parameters.AddWithValue("@Rd01AutoID", DBNull.Value);
  85. // com.ExecuteNonQuery();
  86. // tran.Commit();
  87. // }
  88. // catch (Exception ex)
  89. // {
  90. // tran.Rollback();
  91. // throw ex;
  92. // }
  93. // }
  94. public static DataTable findByBatch(String batch, String Appconstr)
  95. {
  96. try
  97. {
  98. string sql = @"SELECT Serial,BatchCode,ItemCode,ItemName,ItemStd,LotQty,cComUnitCode
  99. FROM dbo.ICSItemLot WHERE BatchCode='" + batch + "' and QCResult=''";
  100. return DBHelper.ExecuteDataset(Appconstr, CommandType.Text, sql).Tables[0];
  101. }
  102. catch (Exception ex)
  103. {
  104. throw new Exception(ex.Message);
  105. }
  106. }
  107. public static void upQc(List<string> batch, List<string> qc)
  108. {
  109. SqlConnection conn = new SqlConnection(AppConfig.AppConnectString);
  110. SqlCommand com = conn.CreateCommand();
  111. SqlTransaction tran;
  112. conn.Open();
  113. tran = conn.BeginTransaction();
  114. com.Transaction = tran;
  115. try
  116. {
  117. for (int i = 0; i < batch.Count;i++ )
  118. {
  119. string sql = @"UPDATE dbo.ICSItemLot SET QCResult='" + qc[i] + "',QCUser='" + AppConfig.UserName + "',QCTime= GETDATE() WHERE BatchCode='" + batch[i] + "'";
  120. com.CommandText = sql;
  121. com.ExecuteNonQuery();
  122. }
  123. tran.Commit();
  124. }
  125. catch (Exception ex)
  126. {
  127. tran.Rollback();
  128. throw new Exception(ex.Message);
  129. }
  130. }
  131. #region delete
  132. public static void delete(List<String> guidList)
  133. {
  134. FramDataContext db = new FramDataContext(AppConfig.AppConnectString);
  135. db.Connection.Open();
  136. db.Transaction = db.Connection.BeginTransaction();
  137. try
  138. {
  139. //var lines = db.ICSPurchasingStorage.Where(a => guidList.Contains(a.Serial));
  140. //db.ICSPurchasingStorage.DeleteAllOnSubmit(lines);
  141. //db.SubmitChanges();
  142. //db.Transaction.Commit();
  143. }
  144. catch (Exception ex)
  145. {
  146. db.Transaction.Rollback();
  147. throw ex;
  148. }
  149. }
  150. #endregion
  151. public static void save(DataTable dt,string batchCode)
  152. {
  153. SqlConnection conn = new SqlConnection(AppConfig.AppConnectString);
  154. SqlCommand com = conn.CreateCommand();
  155. SqlTransaction tran;
  156. conn.Open();
  157. tran = conn.BeginTransaction();
  158. com.Transaction = tran;
  159. try
  160. {
  161. string sqlStr = @"IF EXISTS(SELECT * FROM dbo.ICSPurchasingStorage WHERE BatchCode='"+batchCode+@"')
  162. RAISERROR('!!',16,0)";
  163. com.CommandText = sqlStr;
  164. com.ExecuteNonQuery();
  165. foreach(DataRow row in dt.Rows)
  166. {
  167. string guid = AppConfig.GetGuid();
  168. string sql = @"INSERT INTO [dbo].[ICSPurchasingStorage]
  169. ([Serial]
  170. ,[ItemCode]
  171. ,[ItemName]
  172. ,[ItemStd]
  173. ,[VenCode]
  174. ,[VenName]
  175. ,[ComUnit]
  176. ,[AssComUnit]
  177. ,[dDate]
  178. ,[BatchCode]
  179. ,[Quantity]
  180. ,[OutQuantity]
  181. ,[Mtime]
  182. ,[Muser]
  183. ,[cFree1]
  184. ,[cFree2],PackQuantiy,Rd01AutoID,QCStatus)
  185. VALUES
  186. (@Serial
  187. ,@ItemCode
  188. ,@ItemName
  189. ,@ItemStd
  190. ,@VenCode
  191. ,@VenName
  192. ,@ComUnit
  193. ,@AssComUnit
  194. ,@dDate
  195. ,@BatchCode
  196. ,@Quantity
  197. ,@OutQuantity
  198. ,@Mtime
  199. ,@Muser
  200. ,@cFree1
  201. ,@cFree2,@PackQuantiy,@Rd01AutoID,'')";
  202. com.CommandText = sql;
  203. com.Parameters.Clear();
  204. com.Parameters.AddWithValue("@Serial", guid);
  205. com.Parameters.AddWithValue("@ItemCode",row["存货编码"].ToString());
  206. com.Parameters.AddWithValue("@ItemName",row["存货名称"].ToString());
  207. com.Parameters.AddWithValue("@ItemStd",row["规格型号"].ToString());
  208. com.Parameters.AddWithValue("@VenCode",row["供应商编码"].ToString());
  209. com.Parameters.AddWithValue("@VenName",row["供应商名称"].ToString());
  210. com.Parameters.AddWithValue("@ComUnit",row["主计量单位"].ToString());
  211. com.Parameters.AddWithValue("@AssComUnit", row["辅计量单位编码"].ToString());
  212. com.Parameters.AddWithValue("@dDate", row["到货日期"].ToString());
  213. com.Parameters.AddWithValue("@BatchCode", batchCode);
  214. com.Parameters.AddWithValue("@Quantity", row["到货数量"].ToString());
  215. com.Parameters.AddWithValue("@OutQuantity","0");
  216. com.Parameters.AddWithValue("@Mtime", DateTime.Now.ToString());
  217. com.Parameters.AddWithValue("@Muser",AppConfig.UserName);
  218. com.Parameters.AddWithValue("@cFree1","");
  219. com.Parameters.AddWithValue("@cFree2", "");
  220. com.Parameters.AddWithValue("@PackQuantiy", "0");
  221. com.Parameters.AddWithValue("@Rd01AutoID", row["AutoID"].ToString());
  222. com.ExecuteNonQuery();
  223. }
  224. tran.Commit();
  225. }
  226. catch (Exception ex)
  227. {
  228. tran.Rollback();
  229. throw ex;
  230. }
  231. }
  232. }
  233. }