SHARE
TWEET

Untitled

a guest Jul 16th, 2019 72 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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;
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top