Advertisement
Guest User

Untitled

a guest
Jul 16th, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.17 KB | None | 0 0
  1. USE [MRCSFA]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[sp_Sync_Calc_allInventory] Script Date: 7/17/2019 10:46:45 AM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. ALTER PROCEDURE [dbo].[sp_Sync_Calc_allInventory] @CompanyID INT
  9. AS
  10. BEGIN
  11. TRUNCATE TABLE dbo.DMSAimInventoryList;
  12. --Insert vô bảng tạm chờ Acu update later
  13. DECLARE @TempInventoryList TABLE (InventoryCD NVARCHAR(50) NOT NULL,
  14. MD5 NVARCHAR(50) NOT NULL);
  15.  
  16. INSERT INTO @TempInventoryList
  17. VALUES (N'710458', N'ca84a7a7937d91788dee50fd47d45574'),
  18. (N'708356', N'71efaaef1c6c40f8708a1c5a1a32697c'),
  19. (N'708357', N'e9d3d1bfe732a4f8a805e2694db473ba'),
  20. (N'708358', N'ddeef6a100c9184f7e1b7fa4b26ec5ef'),
  21. (N'710420', N'd61cc6cbea68990ecf87858d28cbf1c9'),
  22. (N'710421', N'743bd5e0e9b33fa507695e26de054870'),
  23. (N'710422', N'1f725bd4083e5683cd61bb3056864de8'),
  24. (N'710459', N'fa5fef1405b3a8677a76d7563fa04624'),
  25. (N'710457', N'00605dde4bbca50eb3de23220205a597'),
  26. (N'710538', N'813114baee9fe3e99056da163c0930b4'),
  27. (N'710456', N'fa5fef1405b3a8677a76d7563fa04624'),
  28. (N'710445', N'00605dde4bbca50eb3de23220205a597'),
  29. (N'710537', N'159d9369aea2c93d092e366e61d3fa2b'),
  30. (N'710444', N'2d64de5bd86c235c88d2b0a980a05769'),
  31. (N'710546', N'9f616d8a1f3c21e052cdebc0a8638b19'),
  32. (N'710550', N'fefa595287f4c71f16da32ebcfc73bb6'),
  33. (N'710554', N'b8d29d4d9f66cb330631eba2051dc475'),
  34. (N'710548', N'ccdfe33356af6125903cb9b58ae9f05f'),
  35. (N'710552', N'fefa595287f4c71f16da32ebcfc73bb6'),
  36. (N'710608', N'096e287e9be1ad196262f78fb2a4e131'),
  37. (N'710543', N'5e731754437a5672092e6b00999b2eac'),
  38. (N'710555', N'1ea771f76f9834ff6ad97a7c4680ecc9'),
  39. (N'710545', N'd5ea2ef4c916597bf4f33569b88fe28c'),
  40. (N'710544', N'0607c40e54d1a64ecd7b44a615b6977b'),
  41. (N'710853', N'a03abe4636a4c7548fe1f47ab792ad87'),
  42. (N'710855', N'e4a73e7fbe0a327166244973fdeb2dd1'),
  43. (N'710859', N'e0dfdaafb391f4a86805f240e31a6d15'),
  44. (N'710865', N'0772245f5224440dcdfe8e8c787308ec'),
  45. (N'710854', N'1eb32fe0af3f6a76ed2cee75cbbce6c6'),
  46. (N'710858', N'1930b81deecb1bea296e720437b185a2'),
  47. (N'710860', N'95dcaf4ea0014ce66d7406099abb4274'),
  48. (N'710864', N'37882fad8c732433a2f9b698e1da6dc5'),
  49. (N'711009', N'04052868d9da5aed9893a77797b25b42'),
  50. (N'711010', N'48d81c6a5262562f6ad69b5a76602154'),
  51. (N'711008', N'714487812ede71ff5dbd1e3606904b07'),
  52. (N'710851', N'435644f96574247fb947284a82f3a100'),
  53. (N'710852', N'e5d6b8f1d13161fd73a986bf3c650c6b'),
  54. (N'711420', N'5f9b6f42c629f53de9a9c7c2dd2f9024'),
  55. (N'711440', N'025068e8a8bbf41286cfd82c9cb46bda'),
  56. (N'711417', N'f846c0304ebed32f2d7e2dc7ec0ee8f8'),
  57. (N'711418', N'5f9b6f42c629f53de9a9c7c2dd2f9024'),
  58. (N'711421', N'e5b234d6b93fae86dd1d3e02d0fff788'),
  59. (N'711422', N'4f74e5948a459617aec38d67bd9325bd'),
  60. (N'711423', N'80afc587ed57d1b6ce5893fd942c191f'),
  61. (N'711424', N'0a072b04ab5e6e93c6d844a1aa6337e9'),
  62. (N'711426', N'a8dfdb29fe5740f58a4ed10ba18df524'),
  63. (N'711427', N'e39ad0234d2236e544f0729ea0f21e17'),
  64. (N'711429', N'd4c3ae93b23894b93634ebe1187c8fe0'),
  65. (N'711430', N'27a1e3bc323f58c903181735826fea88'),
  66. (N'711431', N'172411f9e326feee931c7f2b5175b59f'),
  67. (N'711433', N'469ed4d49adb8cd52fc9e9123f1f0d0a'),
  68. (N'711435', N'469ed4d49adb8cd52fc9e9123f1f0d0a'),
  69. (N'711437', N'a8e817b8b458f4db0a1a9a4ee5cff400'),
  70. (N'711438', N'0f76623952509d45ee88efc6de6b354a'),
  71. (N'711439', N'f28cb69dcbe3fa2e7d0bcccc869d10fc'),
  72. (N'711442', N'f47a1b4c8b1b7d571c96f0c2c2a35551'),
  73. (N'711446', N'c134f2905e9ea77b3e347d044c25d6fb'),
  74. (N'711448', N'5b67189ca9dc60b1e00571ea3a4eac80'),
  75. (N'711449', N'e04c07f9bdff9bc3c3fbe8dcf8620c0f'),
  76. (N'712379', N'ad30ae70392e1afe234e5667b1969c40'),
  77. (N'712380', N'c46ca52ac489826226e403dc24b1c515'),
  78. (N'712381', N'8aa2f2a45a1ee4ce4b58a9fd4b21a711'),
  79. (N'712386', N'5d7db09ed8dbfc77d157cdb04bb13bea'),
  80. (N'711532', N'33dc208e1c8e0367f674901fcee6952e'),
  81. (N'711533', N'a2efd37dee20fb57fd04047b1c87909b'),
  82. (N'711663', N'b166fb95b1bc1334fe6ac204f1fc6d00'),
  83. (N'711443', N'b33e7f84d2baf9f99428e88abb53c1c5'),
  84. (N'711531', N'b6a063d23e08cff330033cfd83279273'),
  85. (N'711927', N'fbf0537b554d7c338890cf53d2c3b4bf'),
  86. (N'711928', N'1e11e5d723489ac0245d83d173c1e3d8'),
  87. (N'708762', N'8c09d979a760212977f305d608067d15'),
  88. (N'708763', N'f65e8ca213d68984f953894384dfedf7'),
  89. (N'708764', N'faa5dd4b7a85f34c09ddfadaf768c05f'),
  90. (N'708769', N'66e38156de36d148bb9879c2f8a651d6'),
  91. (N'708770', N'28f2f5a3e2c4e01141fbb0a967d3529a'),
  92. (N'708775', N'c1d6402ac70b987ef9a9fcf6ba415489'),
  93. (N'708776', N'9dc775e5eb6e63548fbfa495655d7ae5'),
  94. (N'708777', N'5da58725e2b6e30e0d155ff8ab328dfc'),
  95. (N'708778', N'5da58725e2b6e30e0d155ff8ab328dfc'),
  96. (N'708784', N'756148b31f96ef77cc45af2f8c1d6ef8'),
  97. (N'708785', N'9db980c97d00fb5fd3cda21229bdbb08'),
  98. (N'708813', N'637ff0f37b2a02151ff853d14857012b'),
  99. (N'708814', N'8180c111c669b7c0e810b28b1c3f6300'),
  100. (N'708815', N'07c96cf798d23a71d32ea66f5a46d191'),
  101. (N'708818', N'38742fcb167a8f17f715f3b9799d513a'),
  102. (N'708837', N'c7d45b22e8bbe0e599994ee4c62a2a56'),
  103. (N'712052', N'276450ebaaa6687565c26b473cc5ae51'),
  104. (N'712136', N'92fb77698e666c4d3577a693ebcce114'),
  105. (N'712138', N'548b053f0b383f4287f71638137a3903'),
  106. (N'712139', N'5b32d2d2d5196940fadbb995f27adc39'),
  107. (N'712184', N'4bf3fa08ea169118e90b3ee7fbb1f20a'),
  108. (N'711658', N'af3f133952acd9682937d5b39161efe3'),
  109. (N'711659', N'448f438c9da05b60e6d63b709af68256'),
  110. --Add more packsize date: 11/15/2018
  111. -- Please don't rollback data
  112. (N'713179', N'1bd824e5b5459b8cae910c1f910c1e9a'),
  113. (N'713180', N'7db92719d684392741317da1c00a1d10'),
  114. (N'713181', N'e586b8fc1f22325a16d6a8d3d91f71a8'),
  115. (N'713182', N'3c2e74cc2db51f85f085039838c9ef8c'),
  116. (N'713183', N'dce6d342a31a009efb2140538c0b1360'),
  117. (N'713184', N'53f84c02c7b4ac8a9ee49a94fe2196db'),
  118. (N'713185', N'f7d67d524d29ff6e3367ff74bb444833'),
  119. (N'713186', N'c45f329c9d6fa3678eac9dafd25a1fb8'),
  120. (N'713187', N'fd71e0e55fba40bcb06419452a71cbd9'),
  121. (N'713983', N'f7d67d524d29ff6e3367ff74bb444833'),
  122. (N'713984', N'c45f329c9d6fa3678eac9dafd25a1fb8'),
  123. (N'713985', N'fd71e0e55fba40bcb06419452a71cbd9'),
  124. (N'712250', N'740ce970b48ee1d57675d8617e61a3d0'),
  125. (N'712251', N'4521cf6de8770212090015bd1153cd95'),
  126. (N'713837', N'944677d1661c79ee7d837420cd96be56'),
  127. (N'713838', N'740ce970b48ee1d57675d8617e61a3d0'),
  128. (N'713839', N'740ce970b48ee1d57675d8617e61a3d0'),
  129. (N'713840', N'4521cf6de8770212090015bd1153cd95'),
  130. (N'714190', N'21adf384a571f5092a65e6c5ea8b87d7'),
  131. (N'712246', N'944677d1661c79ee7d837420cd96be56'),
  132. (N'712247', N'740ce970b48ee1d57675d8617e61a3d0'),
  133. (N'712249', N'68b15d411d145bc9c5befe4b5de9ea71'),
  134. --Add more packsize date: 03/06/2019
  135. (N'715280', N'6b0fd241fc50f6d2aba88cc05011eb0e'),
  136. (N'715405', N'77b9ee9b40bdbb88cf02a4b9e8b322c0'),
  137. (N'715430', N'eefecb81a357a8b8d0decbb3d13e3146'),
  138. (N'715672', N'133c3d3fe46d86c28065cebebe3814a2'),
  139. (N'715673', N'aabfa4790654f4d1b2685e16d4f3ee66'),
  140. (N'715221', N'd6829ed0d85c9dd0c19dfae9566109f0'),
  141. (N'715222', N'3ebd0a20c23d97f9c1b56979a1b03e1e'),
  142. (N'715225', N'1133f980b10a658d7591e978f65362c0');
  143.  
  144.  
  145.  
  146. -- End insert chờ Acu
  147.  
  148. INSERT INTO dbo.DMSAimInventoryList (InventoryID,
  149. InventoryCD,
  150. SalesUnit,
  151. UnitPerCase,
  152. PackageSize,
  153. MD5,
  154. Image)
  155. SELECT i.InventoryID, -- InventoryID - int
  156. i.InventoryCD, -- InventoryCD - nvarchar(50)
  157. i.SalesUnit, -- SalesUnit - nvarchar(50),
  158. CAST(ISNULL(u.UnitRate, 1) AS INT),
  159. ISNULL(iv.Hierachy4CD, ''),
  160. temp.MD5,
  161. REPLACE(i.InventoryCD, ' ', '') + '.png'
  162. FROM [172.17.0.235].MRCDMS.dbo.InventoryItem i
  163. LEFT JOIN [172.17.0.235].MRCDMS.dbo.INUnit u
  164. ON i.CompanyID = u.CompanyID
  165. AND i.InventoryID = u.InventoryID
  166. AND u.FromUnit <> u.ToUnit
  167. AND u.FromUnit = i.SalesUnit
  168. LEFT JOIN [172.17.0.235].[MRCDMS].[dbo].[DMSViewInventoryItem] iv
  169. ON i.CompanyID = iv.CompanyID
  170. AND i.InventoryID = iv.InventoryID
  171. LEFT JOIN @TempInventoryList temp
  172. ON temp.InventoryCD = i.InventoryCD
  173. WHERE i.CompanyID = @CompanyID
  174. AND i.ItemStatus NOT IN ( 'IN' );
  175.  
  176. -- Gen SP cho all SM
  177. INSERT INTO dbo.DMSAimInventoryItem (UserName,
  178. InventoryID,
  179. InventoryCD,
  180. InventoryName,
  181. ShortName,
  182. UnitPerCase,
  183. SalesUnit,
  184. Kparam,
  185. AllowSales,
  186. Enddate,
  187. ProductKind,
  188. Volume,
  189. Weight,
  190. IsExclusive,
  191. PurchaseUnit,
  192. PackageSize,
  193. Properties,
  194. Image,
  195. SubCategoryCode,
  196. MD5)
  197. SELECT e.EmployeeICD, -- UserName - nvarchar(50)
  198. l.InventoryID, -- InventoryID - int
  199. l.InventoryCD, -- InventoryCD - nvarchar(50)
  200. ISNULL(i.Descr, ''), -- InventoryName - nvarchar(255)
  201. ISNULL(i.UsrShortName, ISNULL(i.Descr, '')), -- ShortName - nvarchar(50)
  202. l.UnitPerCase, -- UnitPerCase - int
  203. l.SalesUnit, -- SalesUnit - nvarchar(50)
  204. 0.0, -- Kparam - float
  205. CASE
  206. WHEN e.SellingCategoryID IS NOT NULL THEN (CASE
  207. WHEN i.UsrIsExclusive = 1
  208. OR c.InventoryID IS NOT NULL THEN 1
  209. ELSE 0 END)
  210. WHEN i.UsrPOSMType IS NOT NULL THEN 0
  211. ELSE 1 END AllowSales, -- AllowSales - int
  212. GETDATE(), -- Enddate - date
  213. 0, -- ProductKind - int
  214. i.BaseItemVolume,
  215. i.BaseItemWeight,
  216. ISNULL(i.UsrIsExclusive, 0),
  217. i.PurchaseUnit,
  218. ISNULL(l.PackageSize, ''), --(Trieu)
  219. ISNULL(i.UsrFeatureBenefit, ''), --(Trieu) Get Properties from Acu
  220. REPLACE(l.InventoryCD, ' ', '') + '.png', --(Trieu) Get Image file
  221. iv.Hierachy3CD AS SubCategory,
  222. l.MD5
  223. FROM [172.17.0.235].MRCDMS.dbo.InventoryItem i
  224. INNER JOIN dbo.DMSAimInventoryList l
  225. ON i.InventoryID = l.InventoryID
  226. AND i.CompanyID = @CompanyID
  227. LEFT JOIN [172.17.0.235].[MRCDMS].[dbo].[DMSViewInventoryItem] iv -- 2019-06-12 Nam NN them [172.17.0.235].
  228. ON i.CompanyID = iv.CompanyID
  229. AND i.InventoryID = iv.InventoryID
  230. CROSS JOIN dbo.DMSAimEmployeeList e
  231. LEFT JOIN [172.17.0.235].MRCDMS.dbo.DMSViewProductBySellingCat c
  232. ON i.CompanyID = c.CompanyID
  233. AND i.InventoryID = c.InventoryID
  234. AND c.SellingCategoryID = e.SellingCategoryID
  235. WHERE l.InventoryCD <> 'TEST';
  236.  
  237. -- trieu.dump dump item must have
  238. SELECT InventoryCD,
  239. SequenceMustHave
  240. INTO #TempMustHave
  241. FROM dbo.DMSAimInventoryItem
  242. WHERE 1 = 2;
  243. INSERT INTO #TempMustHave (InventoryCD,
  244. SequenceMustHave)
  245. VALUES ('710457', 1);
  246. INSERT INTO #TempMustHave (InventoryCD,
  247. SequenceMustHave)
  248. VALUES ('710459', 2);
  249. INSERT INTO #TempMustHave (InventoryCD,
  250. SequenceMustHave)
  251. VALUES ('710538', 3);
  252. INSERT INTO #TempMustHave (InventoryCD,
  253. SequenceMustHave)
  254. VALUES ('710458', 4);
  255. INSERT INTO #TempMustHave (InventoryCD,
  256. SequenceMustHave)
  257. VALUES ('710445', 5);
  258. INSERT INTO #TempMustHave (InventoryCD,
  259. SequenceMustHave)
  260. VALUES ('710456', 6);
  261. INSERT INTO #TempMustHave (InventoryCD,
  262. SequenceMustHave)
  263. VALUES ('710442', 7);
  264. INSERT INTO #TempMustHave (InventoryCD,
  265. SequenceMustHave)
  266. VALUES ('710444', 8);
  267. INSERT INTO #TempMustHave (InventoryCD,
  268. SequenceMustHave)
  269. VALUES ('710537', 9);
  270. INSERT INTO #TempMustHave (InventoryCD,
  271. SequenceMustHave)
  272. VALUES ('710443', 10);
  273.  
  274. INSERT INTO #TempMustHave (InventoryCD,
  275. SequenceMustHave)
  276. VALUES ('712139', 11);
  277. INSERT INTO #TempMustHave (InventoryCD,
  278. SequenceMustHave)
  279. VALUES ('712138', 12);
  280. INSERT INTO #TempMustHave (InventoryCD,
  281. SequenceMustHave)
  282. VALUES ('712184', 13);
  283. INSERT INTO #TempMustHave (InventoryCD,
  284. SequenceMustHave)
  285. VALUES ('712052', 14);
  286. INSERT INTO #TempMustHave (InventoryCD,
  287. SequenceMustHave)
  288. VALUES ('708818', 15);
  289. INSERT INTO #TempMustHave (InventoryCD,
  290. SequenceMustHave)
  291. VALUES ('708784', 16);
  292. INSERT INTO #TempMustHave (InventoryCD,
  293. SequenceMustHave)
  294. VALUES ('708930', 17);
  295. INSERT INTO #TempMustHave (InventoryCD,
  296. SequenceMustHave)
  297. VALUES ('708783', 18);
  298. INSERT INTO #TempMustHave (InventoryCD,
  299. SequenceMustHave)
  300. VALUES ('708813', 19);
  301. INSERT INTO #TempMustHave (InventoryCD,
  302. SequenceMustHave)
  303. VALUES ('708814', 20);
  304. INSERT INTO #TempMustHave (InventoryCD,
  305. SequenceMustHave)
  306. VALUES ('708837', 21);
  307. INSERT INTO #TempMustHave (InventoryCD,
  308. SequenceMustHave)
  309. VALUES ('708815', 22);
  310.  
  311. UPDATE i
  312. SET i.IsMustHave = 1,
  313. i.SequenceMustHave = tmh.SequenceMustHave
  314. FROM dbo.DMSAimInventoryItem i
  315. JOIN #TempMustHave tmh
  316. ON tmh.InventoryCD = i.InventoryCD
  317. WHERE i.AllowSales = 1;
  318. DROP TABLE #TempMustHave;
  319.  
  320.  
  321. -- trieu.dump dump item focus
  322. UPDATE dbo.DMSAimInventoryItem
  323. SET IsFocus = 1
  324. WHERE InventoryCD IN ( '711421', '711423', '711426', '711418', '711422', '711424', '711420', '710460', '710461',
  325. '710462', '710539', '710556', '710557', '710558', '710559', '711366', '711367', '711368',
  326. '711369', '712379', '712380', '712381', '712386', '708777', '708775', '708778', '708776',
  327. '712052', '712184', '712138', '712139' );
  328.  
  329. -- Lay gia ban
  330. INSERT INTO dbo.DMSAimSalesPrice (UserName,
  331. DistrictID,
  332. CustomerPriceClassID,
  333. InventoryCD,
  334. Price,
  335. WholeSalePrice,
  336. ConsumerPrice)
  337. SELECT price.UserName, -- UserName - nvarchar(50)
  338. s.DistrictID, -- DistrictID - nvarchar(50)
  339. s.CustomerPriceClassID, -- CustomerPriceClassID - nvarchar(50)
  340. ii.InventoryCD, -- InventoryCD - nvarchar(50)
  341. s.Price, -- Price - float
  342. '0', -- Insert later (Trieu)
  343. '0' --Insert later (Minh)
  344. FROM dbo.DMSTempSalesPrice s
  345. INNER JOIN ( SELECT el.EmployeeICD AS UserName,
  346. pd.ProvinceID AS DistrictID
  347. FROM dbo.DMSAimEmployeeList el
  348. INNER JOIN [172.17.0.235].MRCDMS.dbo.DMSRouteSetting r
  349. ON el.EmployeeID = r.SalespersonID
  350. AND el.RouteCD = r.RouteCD
  351. INNER JOIN [172.17.0.235].MRCDMS.dbo.DMSSellingProvinceHeader ph
  352. ON ph.CompanyID = r.CompanyID
  353. AND ph.SellingProvinceHeaderID = r.SalesAreaID
  354. INNER JOIN [172.17.0.235].MRCDMS.dbo.DMSSellingProvinceDetail pd
  355. ON pd.CompanyID = ph.CompanyID
  356. AND pd.RefNbr = ph.RefNbr
  357. GROUP BY el.EmployeeICD,
  358. pd.ProvinceID) price
  359. ON price.DistrictID = s.DistrictID
  360. INNER JOIN DMSAimInventoryItem ii
  361. ON ii.UserName = price.UserName
  362. AND ii.AllowSales = 1
  363. AND ii.InventoryID = s.InventoryCD;
  364.  
  365. END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement