DefaultStoreLocationCreator.cs 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276
  1. using System;
  2. using System.Linq;
  3. using Abp.Localization;
  4. using Abp.Timing;
  5. using ShwasherSys.BaseSysInfo;
  6. using ShwasherSys.EntityFramework;
  7. using IwbZero.Setting;
  8. using ShwasherSys.BasicInfo;
  9. namespace ShwasherSys.Migrations.SeedData
  10. {
  11. public class DefaultStoreLocationCreator
  12. {
  13. private readonly ShwasherDbContext _context;
  14. public DefaultStoreLocationCreator(ShwasherDbContext context)
  15. {
  16. _context = context;
  17. }
  18. public void Create()
  19. {
  20. string sql = "TRUNCATE TABLE [dbo].[StoreHouseLocation]";
  21. _context.Database.ExecuteSqlCommand(sql);
  22. A();
  23. B();
  24. C();
  25. D();
  26. E();
  27. F();
  28. A1();
  29. string sql2 = "TRUNCATE TABLE [dbo].[Regions]";
  30. _context.Database.ExecuteSqlCommand(sql2);
  31. CreateRegion("0000000000", "全球", "0", 0, "0000000000,");
  32. CreateRegion("8600000000", "中国", "0000000000", 1, "0000000000,8600000000,");
  33. CreateRegion("086021", "上海市", "8600000000", 2, "0000000000,8600000000,086021,");
  34. CreateRegion("0860210200", "金山区", "086021", 3, "0000000000,8600000000,086021,0860210200,");
  35. CreateRegion("0860210201", "朱泾镇", "0860210200", 4, "0000000000,8600000000,086021,0860210200,0860210201,");
  36. }
  37. public void CreateRegion(string regionId,string regionName,string fatherId,int depth,string path,string isLeaf="N",int sort=1, string url="")
  38. {
  39. if (_context.Regions.Any(s => s.Id == regionId))
  40. {
  41. return;
  42. }
  43. _context.Regions.Add(new Regions()
  44. {
  45. Id = regionId,
  46. RegionName = regionName,
  47. FatherRegionID = fatherId,
  48. URL = url,
  49. Depth = depth,
  50. IsLeaf = isLeaf,
  51. Path = path,
  52. Sort = sort,
  53. TimeLastMod = Clock.Now,
  54. TimeCreated = Clock.Now,
  55. UserIDLastMod = "admin",
  56. IsLock = "N"
  57. });
  58. _context.SaveChanges();
  59. }
  60. public void A()
  61. {
  62. AddStore("A", "1", 1, 8);
  63. AddStore("A", "1", 2, 8);
  64. AddStore("A", "1", 3, 8);
  65. AddStore("A", "2", 1, 6);
  66. AddStore("A", "2", 2, 6);
  67. AddStore("A", "2", 3, 6);
  68. AddStore("A", "3", 1, 10);
  69. AddStore("A", "3", 2, 10);
  70. AddStore("A", "3", 3, 10);
  71. AddStore("A", "4", 1, 9);
  72. AddStore("A", "4", 2, 9);
  73. AddStore("A", "4", 3, 9);
  74. AddStore("A", "5", 1, 6);
  75. AddStore("A", "5", 2, 6);
  76. AddStore("A", "5", 3, 6);
  77. }
  78. public void B()
  79. {
  80. AddStore("B", "1", 1, 12);
  81. AddStore("B", "1", 2, 12);
  82. AddStore("B", "1", 3, 12);
  83. AddStore("B", "1", 4, 12);
  84. AddStore("B", "2", 1, 12);
  85. AddStore("B", "2", 2, 12);
  86. AddStore("B", "2", 3, 12);
  87. AddStore("B", "2", 4, 12);
  88. AddStore("B", "3", 1, 12);
  89. AddStore("B", "3", 2, 12);
  90. AddStore("B", "3", 3, 12);
  91. AddStore("B", "3", 4, 12);
  92. AddStore("B", "4", 1, 14);
  93. AddStore("B", "4", 2, 14);
  94. AddStore("B", "4", 3, 14);
  95. AddStore("B", "4", 4, 14);
  96. AddStore("B", "5", 1, 18);
  97. AddStore("B", "5", 2, 18);
  98. AddStore("B", "5", 3, 18);
  99. AddStore("B", "5", 4, 18);
  100. AddStore("B", "6", 1, 10);
  101. AddStore("B", "6", 2, 10);
  102. AddStore("B", "6", 3, 10);
  103. AddStore("B", "6", 4, 10);
  104. }
  105. public void C()
  106. {
  107. AddStore("C", "1", 1,14);
  108. AddStore("C", "1", 2,14);
  109. AddStore("C", "1", 3,14);
  110. AddStore("C", "1", 4,14);
  111. AddStore("C", "2", 1,8);
  112. AddStore("C", "2", 2,8);
  113. AddStore("C", "2", 3,8);
  114. AddStore("C", "3", 1,8);
  115. AddStore("C", "3", 2,8);
  116. AddStore("C", "3", 3,8);
  117. AddStore("C", "4", 1,8);
  118. AddStore("C", "4", 2,8);
  119. AddStore("C", "4", 3,8);
  120. AddStore("C", "5", 1,8);
  121. AddStore("C", "5", 2,8);
  122. AddStore("C", "5", 3,8);
  123. AddStore("C", "6", 1,10);
  124. AddStore("C", "6", 2,10);
  125. AddStore("C", "6", 3,10);
  126. AddStore("C", "6", 4,10);
  127. AddStore("C", "7", 1,4);
  128. AddStore("C", "7", 2,4);
  129. AddStore("C", "7", 3,4);
  130. AddStore("C", "7", 4,4);
  131. }
  132. public void D()
  133. {
  134. AddStore("D", "1", 1,10);
  135. AddStore("D", "1", 2,10);
  136. AddStore("D", "1", 3,10);
  137. AddStore("D", "2", 1,4);
  138. AddStore("D", "2", 2,4);
  139. AddStore("D", "2", 3,4);
  140. AddStore("D", "3", 1,8);
  141. AddStore("D", "3", 2,8);
  142. AddStore("D", "3", 3,8);
  143. }
  144. public void E()
  145. {
  146. AddStore("E", "1", 1,9);
  147. AddStore("E", "1", 2,9);
  148. AddStore("E", "1", 3,9);
  149. AddStore("E", "2", 1,14);
  150. AddStore("E", "2", 2,14);
  151. AddStore("E", "2", 3,14);
  152. }
  153. public void F()
  154. {
  155. AddStore("F", "1", 1,14);
  156. AddStore("F", "1", 2,14);
  157. AddStore("F", "1", 3,14);
  158. AddStore("F", "2", 1,2);
  159. AddStore("F", "2", 2,2);
  160. AddStore("F", "2", 3,2);
  161. AddStore("F", "2", 4,2);
  162. AddStore("F", "2", 5,2);
  163. AddStore("F", "2", 6,2);
  164. AddStore("F", "3", 1,4);
  165. AddStore("F", "3", 2,4);
  166. AddStore("F", "3", 3,4);
  167. AddStore("F", "3", 4,4);
  168. AddStore("F", "3", 5,4);
  169. AddStore("F", "3", 6,4);
  170. AddStore("F", "4", 1,4);
  171. AddStore("F", "4", 2,4);
  172. AddStore("F", "4", 3,4);
  173. AddStore("F", "4", 4,4);
  174. AddStore("F", "4", 5,4);
  175. AddStore("F", "4", 6,4);
  176. }
  177. public void A1()
  178. {
  179. AddStore("A", "1", 1, 44,21,3);
  180. AddStore("A", "1", 2, 44,21,3);
  181. AddStore("A", "1", 3, 44,21,3);
  182. AddStore("B", "1", 1, 10, 1,3);
  183. AddStore("B", "1", 2, 10, 1,3);
  184. AddStore("B", "1", 3, 10, 1,3);
  185. AddStore("C", "1", 1, 10, 1,3);
  186. AddStore("C", "1", 2, 10, 1,3);
  187. AddStore("C", "1", 3, 10, 1,3);
  188. AddStore("D", "1", 1, 10, 1,3);
  189. AddStore("D", "1", 2, 10, 1,3);
  190. AddStore("D", "1", 3, 10, 1,3);
  191. AddStore("E", "1", 1, 10, 1,3);
  192. AddStore("E", "1", 2, 10, 1,3);
  193. AddStore("E", "1", 3, 10, 1,3);
  194. AddStore("F", "1", 1, 17, 1,3);
  195. AddStore("F", "1", 2, 17, 1,3);
  196. AddStore("F", "1", 3, 17, 1,3);
  197. AddStore("G", "1", 1, 17, 1,3);
  198. AddStore("G", "1", 2, 17, 1,3);
  199. AddStore("G", "1", 3, 17, 1,3);
  200. AddStore("K", "1", 1, 32, 17,3);
  201. AddStore("K", "1", 2, 32, 17,3);
  202. AddStore("K", "1", 3, 32, 17,3);
  203. AddStore("K", "1", 4, 32, 17,3);
  204. AddStore("P", "1", 1, 3, 1,3);
  205. }
  206. public void AddStore(string areaCode, string number, int level, int maxSequenceNo, int? minSequenceNo = 1, int? storeNo=1)
  207. {
  208. for (int i = minSequenceNo??1; i <= maxSequenceNo; i++)
  209. {
  210. AddStoreIfNotExists(areaCode, number, level, i, storeNo??1);
  211. }
  212. }
  213. private void AddStoreIfNotExists(string areaCode, string number, int level, int sequenceNo, int houseId = 1)
  214. {
  215. var locationNo = $"{houseId}-{areaCode}-{number}-{level}-{sequenceNo}";
  216. if (houseId == 1)
  217. {
  218. locationNo = $"{areaCode}-{number}-{level}-{sequenceNo}";
  219. }
  220. if (_context.StoreHouseLocations.Any(s => s.StoreLocationNo == locationNo))
  221. return;
  222. _context.StoreHouseLocations.Add(new StoreHouseLocation()
  223. {
  224. StoreLocationNo = locationNo,
  225. StoreAreaCode = areaCode,
  226. ShelfNumber = number,
  227. ShelfLevel = level.ToString(),
  228. SequenceNo = sequenceNo.ToString(),
  229. StoreHouseId = houseId,
  230. });
  231. _context.SaveChanges();
  232. }
  233. }
  234. }