HomeController.cs 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580
  1. using Microsoft.AspNetCore.Mvc;
  2. using Snowflake.Core;
  3. using SqlSugar;
  4. using System.Diagnostics;
  5. using WebApplication1.Models;
  6. namespace WebApplication1.Controllers
  7. {
  8. public class HomeController : Controller
  9. {
  10. private readonly ILogger<HomeController> _logger;
  11. public HomeController(ILogger<HomeController> logger)
  12. {
  13. _logger = logger;
  14. }
  15. public IActionResult Index()
  16. {
  17. //for (int i = 0; i < 5; i++)
  18. //{
  19. // var id= IdFactory.NewId();
  20. //}
  21. //AutoGenerateLocation();
  22. //FJ1NorthAutoGenerateLocation();
  23. //FJSouthAutoGenerateLocation();
  24. return View();
  25. }
  26. public IActionResult Privacy()
  27. {
  28. return View();
  29. }
  30. [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
  31. public IActionResult Error()
  32. {
  33. return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
  34. }
  35. public void AutoGenerateLocation()
  36. {
  37. SqlSugarScope Db = new SqlSugarScope(new SqlSugar.ConnectionConfig()
  38. {
  39. ConnectionString = "Data Source=10.30.44.50;User ID=bz;Password=Aa123456@;Initial Catalog=WMS_ZT_01HJ",//连接符字串
  40. DbType = DbType.SqlServer,//数据库类型
  41. IsAutoCloseConnection = true //不设成true要手动close
  42. },
  43. db =>
  44. {
  45. db.Aop.OnLogExecuting = (sql, pars) =>
  46. {
  47. Console.WriteLine(sql);//输出sql,查看执行sql 性能无影响
  48. //获取原生SQL推荐 5.1.4.63 性能OK
  49. //UtilMethods.GetNativeSql(sql,pars)
  50. //获取无参数化SQL 对性能有影响,特别大的SQL参数多的,调试使用
  51. //UtilMethods.GetSqlString(DbType.SqlServer,sql,pars)
  52. };
  53. });
  54. var dbBaseWarecellLists = Db.Queryable<BaseWarecell>().ToList();
  55. var shelfcode = "";
  56. var list = new List<BaseWarecell>();
  57. var codes = new List<string>();
  58. for (int row = 1; row <= 12; row++) //行
  59. {
  60. shelfcode = "L";
  61. //1 2 是R, 3 4 是 L
  62. if (row == 1 || row == 2 || row == 5 || row == 6 || row == 9 || row == 10)
  63. {
  64. shelfcode = "R";
  65. }
  66. // 23 深度1 , 1 4 5 8 9 12深度2
  67. int depth = 1;
  68. if(row==1 || row == 4 || row == 5 || row == 8 || row == 9 || row == 12)
  69. {
  70. depth = 2;
  71. }
  72. int tunnel = 1;
  73. if (row > 4 && row <= 8)
  74. {
  75. tunnel = 2;
  76. }
  77. else if (row > 8)
  78. {
  79. tunnel = 3;
  80. }
  81. //12行 48列9层
  82. for (int layer = 1; layer <= 9; layer++) //层
  83. {
  84. for (int col = 0; col <=49; col++) //列
  85. {
  86. var code = row.ToString().PadLeft(2, '0') + "-" + col.ToString().PadLeft(2, '0') + "-" + layer.ToString().PadLeft(2, '0') + "-" + tunnel + shelfcode + "-" + depth.ToString().PadLeft(2, '0');
  87. codes.Add(code);
  88. var name = row.ToString() + "行" + col.ToString() + "列" + layer.ToString() + "层" + tunnel + shelfcode + "货架" + depth + "深度";
  89. list.Add(new BaseWarecell {
  90. Id = IdFactory.NewId(),
  91. WarehouseId = 1668442390064664576,
  92. WareAreaId = 1669154208777113600,
  93. IsStop = 0,
  94. Code =code ,
  95. Name =name ,
  96. StateNum = 1,
  97. TypeNum = 1,
  98. Size = 1,
  99. Shelf= tunnel.ToString() + shelfcode,
  100. WarehouseCode = "hjhouse",
  101. Row = row,
  102. Col = col,
  103. Layer = layer,
  104. Depth = depth,
  105. Tunnel = tunnel,
  106. SCRel = "SRM"+tunnel.ToString().PadLeft(2, '0'),
  107. ContGrpId = 0,
  108. ContGrpBarCode ="" ,
  109. Memo = "",
  110. AddWho = "admin",
  111. AddTime = DateTime.Now,
  112. EditWho = "admin",
  113. EditTime = DateTime.Now,
  114. });
  115. }
  116. }
  117. }
  118. Db.Insertable(list).ExecuteCommand();
  119. }
  120. public void FJ1NorthAutoGenerateLocation()
  121. {
  122. SqlSugarScope Db = new SqlSugarScope(new SqlSugar.ConnectionConfig()
  123. {
  124. ConnectionString = "Data Source=10.30.44.50;User ID=bz;Password=Aa123456@;Initial Catalog=WMS_ZT_01FJ",//连接符字串
  125. DbType = DbType.SqlServer,//数据库类型
  126. IsAutoCloseConnection = true //不设成true要手动close
  127. },
  128. db =>
  129. {
  130. db.Aop.OnLogExecuting = (sql, pars) =>
  131. {
  132. Console.WriteLine(sql);//输出sql,查看执行sql 性能无影响
  133. //获取原生SQL推荐 5.1.4.63 性能OK
  134. //UtilMethods.GetNativeSql(sql,pars)
  135. //获取无参数化SQL 对性能有影响,特别大的SQL参数多的,调试使用
  136. //UtilMethods.GetSqlString(DbType.SqlServer,sql,pars)
  137. };
  138. });
  139. BaseWarehouse BaseWarearea = new BaseWarehouse()
  140. {
  141. Id = IdFactory.NewId(),
  142. IsStop = 0,
  143. Code = "fj1northhouse",
  144. Name = "分拣库1北",
  145. AddTime = DateTime.Now
  146. ,
  147. AddWho = "admin",
  148. EditTime = DateTime.Now,
  149. EditWho = "admin",
  150. TypeNum = 1
  151. };
  152. var baseWareareaEntity = Db.Insertable(BaseWarearea).ExecuteReturnEntity();
  153. var dbBaseWarecellLists = Db.Queryable<BaseWarecell>().ToList();
  154. var shelfcode = "";
  155. var list = new List<BaseWarecell>();
  156. var codes = new List<string>();
  157. for (int row = 1; row <= 2; row++) //行
  158. {
  159. //shelfcode = "L";
  160. ////1 2 是R, 3 4 是 L
  161. //if (row == 1 || row == 2 || row == 5 || row == 6 || row == 9 || row == 10)
  162. //{
  163. // shelfcode = "R";
  164. //}
  165. //// 23 深度1 , 1 4 5 8 9 12深度2
  166. //int depth = 1;
  167. //if (row == 1 || row == 4 || row == 5 || row == 8 || row == 9 || row == 12)
  168. //{
  169. // depth = 2;
  170. //}
  171. int tunnel = 1;
  172. //12行 48列9层
  173. for (int layer = 1; layer <= 10; layer++) //层
  174. {
  175. for (int col = 1; col <= 10; col++) //列
  176. {
  177. var code = row.ToString().PadLeft(2, '0') + "-" + col.ToString().PadLeft(2, '0') + "-" + layer.ToString().PadLeft(2, '0') + "-" + tunnel ;
  178. codes.Add(code);
  179. var name = row.ToString() + "行" + col.ToString() + "列" + layer.ToString() + "层" ;
  180. list.Add(new BaseWarecell
  181. {
  182. Id = IdFactory.NewId(),
  183. WarehouseId = baseWareareaEntity.Id,
  184. WareAreaId = 1669154208777113600,
  185. IsStop = 0,
  186. Code = code,
  187. Name = name,
  188. StateNum = 1,
  189. TypeNum = 1,
  190. Size = 1,
  191. Shelf = tunnel.ToString() + shelfcode,
  192. WarehouseCode = "fj1northhouse",
  193. Row = row,
  194. Col = col,
  195. Layer = layer,
  196. Depth = 1,
  197. Tunnel = tunnel,
  198. SCRel = "SRM" + tunnel.ToString().PadLeft(2, '0'),
  199. ContGrpId = 0,
  200. ContGrpBarCode = "",
  201. Memo = "",
  202. AddWho = "admin",
  203. AddTime = DateTime.Now,
  204. EditWho = "admin",
  205. EditTime = DateTime.Now,
  206. });
  207. }
  208. }
  209. }
  210. Db.Insertable(list).ExecuteCommand();
  211. }
  212. public void FJSouthAutoGenerateLocation()
  213. {
  214. SqlSugarScope Db = new SqlSugarScope(new SqlSugar.ConnectionConfig()
  215. {
  216. ConnectionString = "Data Source=10.30.44.50;User ID=bz;Password=Aa123456@;Initial Catalog=WMS_ZT_01FJ",//连接符字串
  217. DbType = DbType.SqlServer,//数据库类型
  218. IsAutoCloseConnection = true //不设成true要手动close
  219. },
  220. db =>
  221. {
  222. db.Aop.OnLogExecuting = (sql, pars) =>
  223. {
  224. Console.WriteLine(sql);//输出sql,查看执行sql 性能无影响
  225. //获取原生SQL推荐 5.1.4.63 性能OK
  226. //UtilMethods.GetNativeSql(sql,pars)
  227. //获取无参数化SQL 对性能有影响,特别大的SQL参数多的,调试使用
  228. //UtilMethods.GetSqlString(DbType.SqlServer,sql,pars)
  229. };
  230. });
  231. BaseWarehouse BaseWarearea= new BaseWarehouse() {
  232. Id= IdFactory.NewId(),IsStop=0,Code= "fj1southhouse",
  233. Name="分拣库1南",AddTime=DateTime.Now
  234. ,AddWho="admin",EditTime=DateTime.Now,EditWho="admin",TypeNum=1 };
  235. var baseWareareaEntity = Db.Insertable(BaseWarearea).ExecuteReturnEntity();
  236. var dbBaseWarecellLists = Db.Queryable<BaseWarecell>().ToList();
  237. var shelfcode = "";
  238. var list = new List<BaseWarecell>();
  239. var codes = new List<string>();
  240. for (int row = 1; row <= 2; row++) //行
  241. {
  242. //shelfcode = "L";
  243. ////1 2 是R, 3 4 是 L
  244. //if (row == 1 || row == 2 || row == 5 || row == 6 || row == 9 || row == 10)
  245. //{
  246. // shelfcode = "R";
  247. //}
  248. //// 23 深度1 , 1 4 5 8 9 12深度2
  249. //int depth = 1;
  250. //if (row == 1 || row == 4 || row == 5 || row == 8 || row == 9 || row == 12)
  251. //{
  252. // depth = 2;
  253. //}
  254. int tunnel = 1;
  255. //12行 48列9层
  256. for (int layer = 1; layer <= 10; layer++) //层
  257. {
  258. for (int col = 11; col <= 20; col++) //列
  259. {
  260. var code = row.ToString().PadLeft(2, '0') + "-" + col.ToString().PadLeft(2, '0') + "-" + layer.ToString().PadLeft(2, '0') + "-" + tunnel ;
  261. codes.Add(code);
  262. var name = row.ToString() + "行" + col.ToString() + "列" + layer.ToString() + "层" ;
  263. list.Add(new BaseWarecell
  264. {
  265. Id = IdFactory.NewId(),
  266. WarehouseId = baseWareareaEntity.Id,
  267. WareAreaId = 1669154208777113600,
  268. IsStop = 0,
  269. Code = code,
  270. Name = name,
  271. StateNum = 1,
  272. TypeNum = 1,
  273. Size = 1,
  274. Shelf = tunnel.ToString() + shelfcode,
  275. WarehouseCode = "fj1southhouse",
  276. Row = row,
  277. Col = col,
  278. Layer = layer,
  279. Depth = 1,
  280. Tunnel = tunnel,
  281. SCRel = "SRM" + tunnel.ToString().PadLeft(2, '0'),
  282. ContGrpId = 0,
  283. ContGrpBarCode = "",
  284. Memo = "",
  285. AddWho = "admin",
  286. AddTime = DateTime.Now,
  287. EditWho = "admin",
  288. EditTime = DateTime.Now,
  289. });
  290. }
  291. }
  292. }
  293. Db.Insertable(list).ExecuteCommand();
  294. }
  295. }
  296. public static class IdFactory
  297. {
  298. private static readonly object locker = new object();
  299. private static IdWorker _idworker;
  300. public static IdWorker GetInstance()
  301. {
  302. if (_idworker == null)
  303. {
  304. lock (locker)
  305. {
  306. if (_idworker == null)
  307. {
  308. _idworker = new IdWorker(1, 1);
  309. }
  310. }
  311. }
  312. return _idworker;
  313. }
  314. public static long NewId()
  315. {
  316. return GetInstance().NextId();
  317. }
  318. }
  319. [SugarTable("Base_WareCell")]
  320. public partial class BaseWarecell
  321. {
  322. /// <summary>
  323. /// Id
  324. /// </summary>
  325. [SugarColumn(IsPrimaryKey = true, ColumnDataType = "bigint", IsNullable = false)]
  326. public long Id { get; set; }
  327. /// <summary>
  328. /// WarehouseId
  329. /// </summary>
  330. [SugarColumn(ColumnDataType = "bigint", IsNullable = false)]
  331. public long WarehouseId { get; set; }
  332. /// <summary>
  333. /// WarehouseCode
  334. /// </summary>
  335. [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = false)]
  336. public string WarehouseCode { get; set; }
  337. /// <summary>
  338. /// WareAreaId
  339. /// </summary>
  340. [SugarColumn(ColumnDataType = "bigint", IsNullable = false)]
  341. public long WareAreaId { get; set; }
  342. /// <summary>
  343. /// IsStop
  344. /// </summary>
  345. [SugarColumn(ColumnDataType = "int", IsNullable = false)]
  346. public int IsStop { get; set; }
  347. /// <summary>
  348. /// Code
  349. /// </summary>
  350. [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = false)]
  351. public string Code { get; set; }
  352. /// <summary>
  353. /// Name
  354. /// </summary>
  355. [SugarColumn(ColumnDataType = "nvarchar", Length = 100, IsNullable = false)]
  356. public string Name { get; set; }
  357. /// <summary>
  358. /// StateNum
  359. /// </summary>
  360. [SugarColumn(ColumnDataType = "int", IsNullable = false)]
  361. public int StateNum { get; set; }
  362. /// <summary>
  363. /// TypeNum
  364. /// </summary>
  365. [SugarColumn(ColumnDataType = "int", IsNullable = false)]
  366. public int TypeNum { get; set; }
  367. /// <summary>
  368. /// Size
  369. /// </summary>
  370. [SugarColumn(ColumnDataType = "int", IsNullable = false)]
  371. public int Size { get; set; }
  372. /// <summary>
  373. /// Row
  374. /// </summary>
  375. [SugarColumn(ColumnDataType = "int", IsNullable = false)]
  376. public int Row { get; set; }
  377. /// <summary>
  378. /// Col
  379. /// </summary>
  380. [SugarColumn(ColumnDataType = "int", IsNullable = false)]
  381. public int Col { get; set; }
  382. /// <summary>
  383. /// Layer
  384. /// </summary>
  385. [SugarColumn(ColumnDataType = "int", IsNullable = false)]
  386. public int Layer { get; set; }
  387. /// <summary>
  388. /// Depth
  389. /// </summary>
  390. [SugarColumn(ColumnDataType = "int", IsNullable = false)]
  391. public int Depth { get; set; }
  392. /// <summary>
  393. /// Tunnel
  394. /// </summary>
  395. [SugarColumn(ColumnDataType = "int", IsNullable = false)]
  396. public int Tunnel { get; set; }
  397. /// <summary>
  398. /// SCRel
  399. /// </summary>
  400. [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = false)]
  401. public string SCRel { get; set; }
  402. /// <summary>
  403. /// ContGrpId
  404. /// </summary>
  405. [SugarColumn(ColumnDataType = "bigint", IsNullable = true)]
  406. public long? ContGrpId { get; set; }
  407. /// <summary>
  408. /// ContGrpBarCode
  409. /// </summary>
  410. [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
  411. public string ContGrpBarCode { get; set; }
  412. /// <summary>
  413. /// Memo
  414. /// </summary>
  415. [SugarColumn(ColumnDataType = "nvarchar", Length = 500, IsNullable = false)]
  416. public string Memo { get; set; }
  417. /// <summary>
  418. /// AddWho
  419. /// </summary>
  420. [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = false)]
  421. public string AddWho { get; set; }
  422. /// <summary>
  423. /// AddTime
  424. /// </summary>
  425. [SugarColumn(ColumnDataType = "datetime", IsNullable = false)]
  426. public DateTime AddTime { get; set; }
  427. /// <summary>
  428. /// EditWho
  429. /// </summary>
  430. [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = false)]
  431. public string EditWho { get; set; }
  432. /// <summary>
  433. /// EditTime
  434. /// </summary>
  435. [SugarColumn(ColumnDataType = "datetime", IsNullable = false)]
  436. public DateTime EditTime { get; set; }
  437. /// <summary>
  438. /// Shelf
  439. /// </summary>
  440. [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
  441. public string Shelf { get; set; }
  442. }
  443. [SugarTable("Base_Warehouse")]
  444. public class BaseWarehouse
  445. {
  446. /// <summary>
  447. /// Id
  448. /// </summary>
  449. [SugarColumn(IsPrimaryKey = true, ColumnDataType = "bigint", IsNullable = false)]
  450. public long Id { get; set; }
  451. /// <summary>
  452. /// IsStop
  453. /// </summary>
  454. [SugarColumn(ColumnDataType = "int", IsNullable = false)]
  455. public int IsStop { get; set; }
  456. /// <summary>
  457. /// Code
  458. /// </summary>
  459. [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = false)]
  460. public string Code { get; set; }
  461. /// <summary>
  462. /// Name
  463. /// </summary>
  464. [SugarColumn(ColumnDataType = "nvarchar", Length = 100, IsNullable = false)]
  465. public string Name { get; set; }
  466. /// <summary>
  467. /// TypeNum
  468. /// </summary>
  469. [SugarColumn(ColumnDataType = "int", IsNullable = false)]
  470. public int TypeNum { get; set; }
  471. /// <summary>
  472. /// ConfigId
  473. /// </summary>
  474. [SugarColumn(ColumnDataType = "bigint", IsNullable = false)]
  475. public long ConfigId { get; set; }
  476. /// <summary>
  477. /// Memo
  478. /// </summary>
  479. [SugarColumn(ColumnDataType = "nvarchar", Length = 500, IsNullable = false)]
  480. public string Memo { get; set; }
  481. /// <summary>
  482. /// AddWho
  483. /// </summary>
  484. [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = false)]
  485. public string AddWho { get; set; }
  486. /// <summary>
  487. /// AddTime
  488. /// </summary>
  489. [SugarColumn(ColumnDataType = "datetime", IsNullable = false)]
  490. public DateTime AddTime { get; set; }
  491. /// <summary>
  492. /// EditWho
  493. /// </summary>
  494. [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = false)]
  495. public string EditWho { get; set; }
  496. /// <summary>
  497. /// EditTime
  498. /// </summary>
  499. [SugarColumn(ColumnDataType = "datetime", IsNullable = false)]
  500. public DateTime EditTime { get; set; }
  501. }
  502. }