华恒Mes鼎捷代码
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.

220 lines
8.3 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 ICSSoft.Base.Config.DBHelper;
  9. namespace ICSSoft.Frame.Data.DAL
  10. {
  11. public class ICSPJXPrintDal
  12. {
  13. public static void AddAndEdit(ICSPJXPrint Print, string Appconstr)
  14. {
  15. FramDataContext db = new FramDataContext(Appconstr);
  16. db.Connection.Open();
  17. db.Transaction = db.Connection.BeginTransaction();
  18. try
  19. {
  20. bool isNew = false;
  21. string Sup = "";
  22. string date= DateTime.Now.DayOfYear.ToString().PadLeft(3,'0');
  23. string sql = @"SELECT SUBSTRING(MAX(Supplier),len(Supplier)-6,3) AS Supplier,
  24. SUBSTRING(MAX(Supplier),len(Supplier)-3,4) AS Supp,Mtime FROM ICSPJXPrint
  25. WHERE Supplier LIKE '{0}%' GROUP BY Supplier,Mtime ORDER BY Mtime DESC";
  26. sql = string.Format(sql, "75615B" + date);//取已存的transNo后三位
  27. DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
  28. if (dt!=null && dt.Rows.Count>0)
  29. {
  30. Sup = "75615B" + dt.Rows[0][0].ToString() +( Convert.ToInt32(dt.Rows[0][1].ToString())+1).ToString().PadLeft(4,'0');
  31. }
  32. else
  33. {
  34. Sup = "75615B" + date + "0001";
  35. }
  36. var line = db.ICSPJXPrint.SingleOrDefault(a => a.DispatchListID == Print.DispatchListID && a.Free1==Print.Free1);
  37. if(line==null){
  38. isNew = true;
  39. line = new ICSPJXPrint();
  40. line.ID = AppConfig.GetGuid();
  41. line.ShipAddress = "No.210 East Qingdao Road,Taicang,Jiangsu, China.";
  42. line.Level = "1A";
  43. line.quantity = Print.quantity;
  44. line.Supplier = Sup;
  45. line.Component = Print.Component;
  46. line.DispatchListID = Print.DispatchListID;
  47. line.Free1 = Print.Free1;
  48. }
  49. line.quantity = Print.quantity;
  50. line.MuserCode = AppConfig.UserCode;
  51. line.MuserName = AppConfig.UserName;
  52. line.WorkPoint = AppConfig.WorkPointCode;
  53. line.Mtime = AppConfig.GetSeverDateTime("yyyy-MM-dd hh:mm:ss");
  54. if (isNew) db.ICSPJXPrint.InsertOnSubmit(line);
  55. db.SubmitChanges();
  56. db.Transaction.Commit();
  57. }
  58. catch (Exception ex)
  59. {
  60. db.Transaction.Rollback();
  61. throw new Exception(ex.Message);
  62. }
  63. }
  64. public static ICSPJXPrint select(String guid, String Batch,String Appconstr)
  65. {
  66. FramDataContext db = new FramDataContext(Appconstr);
  67. db.Connection.Open();
  68. db.Transaction = db.Connection.BeginTransaction();
  69. ICSPJXPrint entity = new ICSPJXPrint();
  70. try
  71. {
  72. var line = db.ICSPJXPrint.SingleOrDefault(a => a.DispatchListID == guid && a.Free1==Batch);
  73. return (ICSPJXPrint)line;
  74. }
  75. catch (Exception ex)
  76. {
  77. throw ex;
  78. }
  79. }
  80. public static ICSPJXPrint selectByID(String guid, String con)
  81. {
  82. FramDataContext db = new FramDataContext(con);
  83. db.Connection.Open();
  84. db.Transaction = db.Connection.BeginTransaction();
  85. ICSPJXPrint entity = new ICSPJXPrint();
  86. try
  87. {
  88. var line = db.ICSPJXPrint.SingleOrDefault(a => a.DispatchListID == guid);
  89. return (ICSPJXPrint)line;
  90. }
  91. catch (Exception ex)
  92. {
  93. throw ex;
  94. }
  95. }
  96. public static ICSPJXPrint selectByCode(String storagecode, String Appconstr)
  97. {
  98. FramDataContext db = new FramDataContext(Appconstr);
  99. db.Connection.Open();
  100. db.Transaction = db.Connection.BeginTransaction();
  101. try
  102. {
  103. var line = db.ICSPJXPrint.SingleOrDefault(a => a.DispatchListID == storagecode);
  104. //entity.Serial = line.Serial;
  105. //entity.StorageCode = line.StorageCode;
  106. //entity.StorageName = line.StorageName;
  107. //entity.MUSER = line.MUSER;
  108. //entity.MTIME = line.MTIME;
  109. //entity.EATTRIBUTE1 = line.EATTRIBUTE1;
  110. return (ICSPJXPrint)line;
  111. }
  112. catch (Exception ex)
  113. {
  114. throw new Exception(ex.Message);
  115. }
  116. }
  117. public static void delete(List<String> guidList) {
  118. FramDataContext db = new FramDataContext(AppConfig.AppConnectString);
  119. db.Connection.Open();
  120. db.Transaction = db.Connection.BeginTransaction();
  121. try
  122. {
  123. var lines = db.ICSPJXPrint.Where(a => guidList.Contains(a.DispatchListID) && guidList.Contains(a.Free1));
  124. db.ICSPJXPrint.DeleteAllOnSubmit(lines);
  125. db.SubmitChanges();
  126. db.Transaction.Commit();
  127. }
  128. catch (Exception ex)
  129. {
  130. db.Transaction.Rollback();
  131. throw ex;
  132. }
  133. }
  134. public static void SaveInfo(DataTable data, string Appconstr) {
  135. FramDataContext db = new FramDataContext(Appconstr);
  136. db.Connection.Open();
  137. db.Transaction = db.Connection.BeginTransaction();
  138. try
  139. {
  140. for (int i = 0; i < data.Rows.Count; i++)
  141. {
  142. var StorageCode=data.Rows[i]["库房编号"].ToString();
  143. var StorageName=data.Rows[i]["库房名称"].ToString();
  144. ICSPJXPrint code = new ICSPJXPrint();
  145. code.ID = AppConfig.GetGuid();
  146. code.DispatchListID = StorageCode;
  147. code.MuserCode = AppConfig.UserId;
  148. code.MuserName = AppConfig.UserName;
  149. code.WorkPoint = AppConfig.WorkPointCode;
  150. code.Mtime = Convert.ToDateTime(AppConfig.GetSeverDateTime("yyyy-MM-dd HH:mm:ss").ToString());
  151. db.ICSPJXPrint.InsertOnSubmit(code);
  152. }
  153. db.SubmitChanges();
  154. db.Transaction.Commit();
  155. }
  156. catch (Exception ex)
  157. {
  158. db.Transaction.Rollback();
  159. throw new Exception(ex.Message);
  160. }
  161. finally
  162. {
  163. db.Connection.Close();
  164. }
  165. }
  166. public static void SaveConnect(string Connecting,string StorageSerial1,Dictionary<string ,string> ConnList)
  167. {
  168. FramDataContext db = new FramDataContext(Connecting);
  169. db.Connection.Open();
  170. db.Transaction = db.Connection.BeginTransaction();
  171. try
  172. {
  173. List<string> SerialList = new List<string>();
  174. bool isNew = false;
  175. //foreach (string Serial in ConnList.Keys)
  176. //{
  177. // //var line = db.ICSStorage2Storage.SingleOrDefault(a => a.Serial == Serial);
  178. // //if (line == null)
  179. // //{
  180. // // isNew = true;
  181. // // line = new ICSStorage2Storage();
  182. // // line.Serial = Serial;
  183. // //}
  184. // line.Storage1Serial = StorageSerial1;
  185. // line.Storage2Serial = ConnList[Serial];
  186. // line.MTIME = DateTime.Now;
  187. // line.MUSER = AppConfig.UserId;
  188. // line.MUSERName = AppConfig.UserName;
  189. // SerialList.Add(Serial);
  190. // if (isNew) db.ICSStorage2Storage.InsertOnSubmit(line);
  191. //}
  192. //var lines = db.ICSStorage2Storage.Where(a => a.Storage1Serial == StorageSerial1 && !SerialList.Contains(a.Serial));
  193. //db.ICSStorage2Storage.DeleteAllOnSubmit(lines);
  194. db.SubmitChanges();
  195. db.Transaction.Commit();
  196. }
  197. catch (Exception ex)
  198. {
  199. throw ex;
  200. }
  201. }
  202. }
  203. }