Advertisement
KyOOOO

Untitled

Sep 11th, 2019
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.03 KB | None | 0 0
  1.  
  2. ALTER PROCEDURE [dbo].[ZVN_Rpt_FactoryProduction_DaySumSp]
  3. @ResourceId NVARCHAR(32),
  4. @fromDate DATE,
  5. @toDate DATE,
  6. @Site SiteType
  7. AS
  8. SET NOCOUNT ON;
  9. EXEC dbo.SetSiteSp @Site = @Site, -- SiteType
  10. @Infobar = NULL; -- InfobarType
  11.  
  12. SET @ResourceId = ISNULL(@ResourceId, '');
  13. SET @ResourceId = @ResourceId + '%';
  14.  
  15. DECLARE @t AS TABLE
  16. (
  17. Ids NVARCHAR(30),
  18. Content NVARCHAR(200),
  19. Orders INT,
  20. TransDay DATE,
  21. Value DECIMAL(15, 2)
  22. DEFAULT 0,
  23. AccumulativeInMonth DECIMAL(15, 2)
  24. DEFAULT 0
  25. );
  26.  
  27. --'PlanningPCs', N'Tổng số lượng kế hoạch/ngày, đoạn cọc'
  28. --'RealPCs', N'Tổng số lượng thực hiện/ngày, đoạn cọc'
  29. --'PlanningM3', N'Tổng khối lượng bê tông kế hoạch/ngày, m3 bê tông'
  30. --'RealM3', N'Tổng khối lượng bê tông thực hiện/ngày, m3 bê tông'
  31. --'PlanningMould', N'Tổng lượt khuôn kế hoạch/ngày, khuôn'
  32. --'RealMould', N'Tổng lượt khuôn thực hiện/ngày, khuôn'
  33. --'RealDeliveryPCs', N'Tổng số lượng Giao hàng/ngày, đoạn cọc'
  34. --'RealDeliveryM3', N'Tổng khối lượng bê tông Giao hàng/ngày, m3 bê tông'
  35. --'NumOfEmployee', N'Quân số'
  36. --'NumOfAbsentEmployee', N'Vắng'
  37.  
  38. DECLARE @ids NVARCHAR(30),
  39. @content NVARCHAR(200),
  40. @order INT,
  41. @Day DATE,
  42. @i INT,
  43. @j INT;
  44. SET @order = 0;
  45.  
  46. SET @ids = N'PlanningPCs';
  47. SET @content = N'Tổng số lượng kế hoạch/ngày, đoạn cọc';
  48. SET @order = @order + 1;
  49. INSERT INTO @t
  50. (
  51. Ids,
  52. Content,
  53. Orders,
  54. TransDay,
  55. Value
  56. )
  57. SELECT @ids,
  58. @content,
  59. @order,
  60. TransDate,
  61. SUM(PlanningPCs)
  62. FROM dbo.ZVN_ProjProduction_Sum
  63. WHERE SiteRef = @Site
  64. AND ResourceId LIKE @ResourceId
  65. AND TransDate >= @fromDate
  66. AND TransDate <= @toDate
  67. GROUP BY TransDate;
  68. SET @Day = DATEADD(DAY, -1, @fromDate);
  69. WHILE (@Day < @toDate)
  70. BEGIN
  71. SET @Day = DATEADD(DAY, 1, @Day);
  72. IF NOT EXISTS (SELECT * FROM @t WHERE Ids = @ids AND TransDay = @Day)
  73. INSERT INTO @t
  74. (
  75. Ids,
  76. Content,
  77. Orders,
  78. TransDay,
  79. Value
  80. )
  81. VALUES
  82. (@ids, @content, @order, @Day, 0);
  83. END;
  84. UPDATE t
  85. SET AccumulativeInMonth =
  86. (
  87. SELECT SUM(PlanningPCs)
  88. FROM dbo.ZVN_ProjProduction_Sum
  89. WHERE SiteRef = @Site
  90. AND ResourceId LIKE @ResourceId
  91. AND TransDate >= @fromDate
  92. AND TransDate <= @toDate
  93. )
  94. FROM @t t
  95. WHERE Ids = @ids
  96. AND TransDay = @fromDate;
  97.  
  98. SET @ids = N'RealPCs';
  99. SET @content = N'Tổng số lượng thực hiện/ngày, đoạn cọc';
  100. SET @order = @order + 1;
  101. INSERT INTO @t
  102. (
  103. Ids,
  104. Content,
  105. Orders,
  106. TransDay,
  107. Value
  108. )
  109. SELECT @ids,
  110. @content,
  111. @order,
  112. TransDate,
  113. SUM(RealPCs)
  114. FROM dbo.ZVN_ProjProduction_Sum
  115. WHERE SiteRef = @Site
  116. AND ResourceId LIKE @ResourceId
  117. AND TransDate >= @fromDate
  118. AND TransDate <= @toDate
  119. GROUP BY TransDate;
  120. SET @Day = DATEADD(DAY, -1, @fromDate);
  121. WHILE (@Day < @toDate)
  122. BEGIN
  123. SET @Day = DATEADD(DAY, 1, @Day);
  124. IF NOT EXISTS (SELECT * FROM @t WHERE Ids = @ids AND TransDay = @Day)
  125. INSERT INTO @t
  126. (
  127. Ids,
  128. Content,
  129. Orders,
  130. TransDay,
  131. Value
  132. )
  133. VALUES
  134. (@ids, @content, @order, @Day, 0);
  135. END;
  136. UPDATE t
  137. SET AccumulativeInMonth =
  138. (
  139. SELECT SUM(RealPCs)
  140. FROM dbo.ZVN_ProjProduction_Sum
  141. WHERE SiteRef = @Site
  142. AND ResourceId LIKE @ResourceId
  143. AND TransDate >= @fromDate
  144. AND TransDate <= @toDate
  145. )
  146. FROM @t t
  147. WHERE Ids = @ids
  148. AND TransDay = @fromDate;
  149.  
  150. SET @ids = N'RealDeliveryPCs';
  151. SET @content = N'Tổng số lượng Giao hàng/ngày, đoạn cọc';
  152. SET @order = @order + 1;
  153. INSERT INTO @t
  154. (
  155. Ids,
  156. Content,
  157. Orders,
  158. TransDay,
  159. Value
  160. )
  161. SELECT @ids,
  162. @content,
  163. @order,
  164. TransDate,
  165. SUM(RealDeliveryPCs)
  166. FROM dbo.ZVN_ProjProduction_Sum
  167. WHERE SiteRef = @Site
  168. AND ResourceId LIKE @ResourceId AND ResourceId<> 'V140263'
  169. AND TransDate >= @fromDate
  170. AND TransDate <= @toDate
  171. GROUP BY TransDate;
  172. SET @Day = DATEADD(DAY, -1, @fromDate);
  173. WHILE (@Day < @toDate)
  174. BEGIN
  175. SET @Day = DATEADD(DAY, 1, @Day);
  176. IF NOT EXISTS (SELECT * FROM @t WHERE Ids = @ids AND TransDay = @Day)
  177. INSERT INTO @t
  178. (
  179. Ids,
  180. Content,
  181. Orders,
  182. TransDay,
  183. Value
  184. )
  185. VALUES
  186. (@ids, @content, @order, @Day, 0);
  187. END;
  188. UPDATE t
  189. SET AccumulativeInMonth =
  190. (
  191. SELECT SUM(RealDeliveryPCs)
  192. FROM dbo.ZVN_ProjProduction_Sum
  193. WHERE SiteRef = @Site
  194. AND ResourceId LIKE @ResourceId
  195. AND TransDate >= @fromDate
  196. AND TransDate <= @toDate
  197. )
  198. FROM @t t
  199. WHERE Ids = @ids
  200. AND TransDay = @fromDate;
  201.  
  202. SET @ids = N'PlanningM3';
  203. SET @content = N'Tổng khối lượng bê tông kế hoạch/ngày, m3 bê tông';
  204. SET @order = @order + 1;
  205. INSERT INTO @t
  206. (
  207. Ids,
  208. Content,
  209. Orders,
  210. TransDay,
  211. Value
  212. )
  213. SELECT @ids,
  214. @content,
  215. @order,
  216. TransDate,
  217. SUM(PlanningM3)
  218. FROM dbo.ZVN_ProjProduction_Sum
  219. WHERE SiteRef = @Site
  220. AND ResourceId LIKE @ResourceId
  221. AND TransDate >= @fromDate
  222. AND TransDate <= @toDate
  223. GROUP BY TransDate;
  224. SET @Day = DATEADD(DAY, -1, @fromDate);
  225. WHILE (@Day < @toDate)
  226. BEGIN
  227. SET @Day = DATEADD(DAY, 1, @Day);
  228. IF NOT EXISTS (SELECT * FROM @t WHERE Ids = @ids AND TransDay = @Day)
  229. INSERT INTO @t
  230. (
  231. Ids,
  232. Content,
  233. Orders,
  234. TransDay,
  235. Value
  236. )
  237. VALUES
  238. (@ids, @content, @order, @Day, 0);
  239. END;
  240. UPDATE t
  241. SET AccumulativeInMonth =
  242. (
  243. SELECT SUM(PlanningM3)
  244. FROM dbo.ZVN_ProjProduction_Sum
  245. WHERE SiteRef = @Site
  246. AND ResourceId LIKE @ResourceId
  247. AND TransDate >= @fromDate
  248. AND TransDate <= @toDate
  249. )
  250. FROM @t t
  251. WHERE Ids = @ids
  252. AND TransDay = @fromDate;
  253.  
  254. SET @ids = N'RealM3';
  255. SET @content = N'Tổng khối lượng bê tông thực hiện/ngày, m3 bê tông';
  256. SET @order = @order + 1;
  257. INSERT INTO @t
  258. (
  259. Ids,
  260. Content,
  261. Orders,
  262. TransDay,
  263. Value
  264. )
  265. SELECT @ids,
  266. @content,
  267. @order,
  268. TransDate,
  269. SUM(RealM3)
  270. FROM dbo.ZVN_ProjProduction_Sum
  271. WHERE SiteRef = @Site
  272. AND ResourceId LIKE @ResourceId
  273. AND TransDate >= @fromDate
  274. AND TransDate <= @toDate
  275. GROUP BY TransDate;
  276. SET @Day = DATEADD(DAY, -1, @fromDate);
  277. WHILE (@Day < @toDate)
  278. BEGIN
  279. SET @Day = DATEADD(DAY, 1, @Day);
  280. IF NOT EXISTS (SELECT * FROM @t WHERE Ids = @ids AND TransDay = @Day)
  281. INSERT INTO @t
  282. (
  283. Ids,
  284. Content,
  285. Orders,
  286. TransDay,
  287. Value
  288. )
  289. VALUES
  290. (@ids, @content, @order, @Day, 0);
  291. END;
  292. UPDATE t
  293. SET AccumulativeInMonth =
  294. (
  295. SELECT SUM(RealM3)
  296. FROM dbo.ZVN_ProjProduction_Sum
  297. WHERE SiteRef = @Site
  298. AND ResourceId LIKE @ResourceId
  299. AND TransDate >= @fromDate
  300. AND TransDate <= @toDate
  301. )
  302. FROM @t t
  303. WHERE Ids = @ids
  304. AND TransDay = @fromDate;
  305.  
  306. SET @ids = N'RealDeliveryM3';
  307. SET @content = N'Tổng khối lượng bê tông Giao hàng/ngày, m3 bê tông';
  308. SET @order = @order + 1;
  309. INSERT INTO @t
  310. (
  311. Ids,
  312. Content,
  313. Orders,
  314. TransDay,
  315. Value
  316. )
  317. SELECT @ids,
  318. @content,
  319. @order,
  320. TransDate,
  321. SUM(RealDeliveryM3)
  322. FROM dbo.ZVN_ProjProduction_Sum
  323. WHERE SiteRef = @Site
  324. AND ResourceId LIKE @ResourceId AND ResourceId<> 'V140263'
  325. AND TransDate >= @fromDate
  326. AND TransDate <= @toDate
  327. GROUP BY TransDate;
  328. SET @Day = DATEADD(DAY, -1, @fromDate);
  329. WHILE (@Day < @toDate)
  330. BEGIN
  331. SET @Day = DATEADD(DAY, 1, @Day);
  332. IF NOT EXISTS (SELECT * FROM @t WHERE Ids = @ids AND TransDay = @Day)
  333. INSERT INTO @t
  334. (
  335. Ids,
  336. Content,
  337. Orders,
  338. TransDay,
  339. Value
  340. )
  341. VALUES
  342. (@ids, @content, @order, @Day, 0);
  343. END;
  344. UPDATE t
  345. SET AccumulativeInMonth =
  346. (
  347. SELECT SUM(RealDeliveryM3)
  348. FROM dbo.ZVN_ProjProduction_Sum
  349. WHERE SiteRef = @Site
  350. AND ResourceId LIKE @ResourceId
  351. AND TransDate >= @fromDate
  352. AND TransDate <= @toDate
  353. )
  354. FROM @t t
  355. WHERE Ids = @ids
  356. AND TransDay = @fromDate;
  357.  
  358.  
  359. -- ChieuPT EDIT: SỬA LẠI CÁCH LẤY SỐ LƯỢNG GIAO HÀNG CHO RIÊNG SITE PVC
  360.  
  361. ----
  362. --SET @ids = N'RealDeliveryM3';
  363. --SET @content = N'Tổng khối lượng bê tông Giao hàng/ngày, m3 bê tông';
  364. SET @order = @order + 1;
  365. INSERT INTO @t
  366. (
  367. Ids,
  368. Content,
  369. Orders,
  370. TransDay,
  371. Value
  372. )
  373. SELECT 'RealDeliveryPCs' AS ids,
  374. N'Tổng số lượng Giao hàng/ngày, đoạn cọc' AS Content,
  375. @order,
  376. CAST(m.trans_date AS DATE) trans_date,
  377. SUM(ISNULL(m.qty, 0)) qty
  378. FROM dbo.matltran_mst m WITH (NOLOCK)
  379. JOIN dbo.item_mst I WITH (NOLOCK)
  380. ON I.site_ref = m.site_ref
  381. AND I.item = m.item
  382. WHERE CAST(m.trans_date AS DATE)
  383. BETWEEN @fromDate AND @toDate
  384. AND LEFT(m.item, 2) IN ( 'AA', 'AC', 'AN' )
  385. AND m.loc IS NOT NULL
  386. AND m.ref_type = 'T'
  387. AND m.whse = 'KHGB'
  388. AND 'V140263' LIKE @ResourceId
  389. AND m.site_ref = 'PVC'
  390. GROUP BY CAST(m.trans_date AS DATE);
  391.  
  392. SET @order = @order + 1;
  393. INSERT INTO @t
  394. (
  395. Ids,
  396. Content,
  397. Orders,
  398. TransDay,
  399. Value
  400. )
  401. SELECT 'RealDeliveryM3' AS ids,
  402. N'Tổng khối lượng bê tông Giao hàng/ngày, m3 bê tông' AS Content,
  403. @order,
  404. CAST(m.trans_date AS DATE) trans_date,
  405. SUM(ISNULL(m.qty, 0) * dbo.ZVN_GetPileLength(m.item) * p.M3PerM) value
  406. FROM dbo.matltran_mst m WITH (NOLOCK)
  407. JOIN dbo.transfer_mst t WITH (NOLOCK)
  408. ON t.site_ref = m.site_ref
  409. AND m.ref_num = t.trn_num
  410. JOIN ZVN_ProjProduction_mst p WITH (NOLOCK)
  411. ON p.Item = m.item
  412. AND p.ProjNum = t.Uf_Project
  413. AND p.ResourceId = 'V140263'
  414. WHERE CAST(m.trans_date AS DATE)
  415. BETWEEN @fromDate AND @toDate
  416. AND LEFT(m.item, 2) IN ( 'AA', 'AC', 'AN' )
  417. AND m.loc IS NOT NULL
  418. AND m.ref_type = 'T'
  419. AND m.whse = 'KHGB'
  420. AND 'V140263' LIKE @ResourceId
  421. AND m.site_ref = 'PVC'
  422. GROUP BY CAST(m.trans_date AS DATE);
  423.  
  424.  
  425. DECLARE @idM3 NVARCHAR(30) = N'RealDeliveryM3';
  426. UPDATE t
  427. SET AccumulativeInMonth =
  428. (
  429. SELECT SUM(Value)
  430. FROM @t
  431. WHERE 'V140263' LIKE @ResourceId
  432. AND TransDay >= @fromDate
  433. AND TransDay <= @toDate
  434. AND Ids = @idM3
  435. )
  436. FROM @t t
  437. WHERE Ids = @idM3
  438. AND TransDay = @fromDate;
  439.  
  440. DECLARE @idsPC NVARCHAR(30) = N'RealDeliveryPCs';
  441. UPDATE t
  442. SET AccumulativeInMonth =
  443. (
  444. SELECT SUM(Value)
  445. FROM @t
  446. WHERE 'V140263' LIKE @ResourceId
  447. AND TransDay >= @fromDate
  448. AND TransDay <= @toDate
  449. AND Ids = @idsPC
  450. )
  451. FROM @t t
  452. WHERE Ids = @idsPC
  453. AND TransDay = @fromDate
  454.  
  455. --SELECT * FROM @t t
  456.  
  457. -----End ChieuPT
  458.  
  459.  
  460. --SET @ids = 'PlanningMould'
  461. --SET @content = N'Tổng lượt khuôn kế hoạch/ngày, khuôn'
  462. --SET @order = @order + 1
  463. --INSERT INTO @t(Ids, Content, Orders, TransDay, Value)
  464. -- SELECT @ids, @content, @order, TransDate, SUM(PlanningMould)
  465. -- FROM dbo.ZVN_ProjProduction_Sum
  466. -- WHERE SiteRef = @Site
  467. -- AND ResourceId LIKE @ResourceId
  468. -- AND TransDate >= @fromDate
  469. -- AND TransDate <= @toDate
  470. -- GROUP BY TransDate
  471. --UPDATE t
  472. --SET AccumulativeInMonth = (SELECT SUM(PlanningMould)
  473. -- FROM dbo.ZVN_ProjProduction_Sum
  474. -- WHERE SiteRef = @Site
  475. -- AND ResourceId LIKE @ResourceId
  476. -- AND TransDate >= @fromDate
  477. -- AND TransDate <= @toDate)
  478. --FROM @t t
  479. --WHERE Ids = @ids AND TransDay = @fromDate
  480.  
  481. --SET @ids = 'RealMould'
  482. --SET @content = N'Tổng lượt khuôn thực hiện/ngày, khuôn'
  483. --SET @order = @order + 1
  484. --INSERT INTO @t(Ids, Content, Orders, TransDay, Value)
  485. -- SELECT @ids, @content, @order, TransDate, SUM(RealMould)
  486. -- FROM dbo.ZVN_ProjProduction_Sum
  487. -- WHERE SiteRef = @Site
  488. -- AND ResourceId LIKE @ResourceId
  489. -- AND TransDate >= @fromDate
  490. -- AND TransDate <= @toDate
  491. -- GROUP BY TransDate
  492. --UPDATE t
  493. --SET AccumulativeInMonth = (SELECT SUM(RealMould)
  494. -- FROM dbo.ZVN_ProjProduction_Sum
  495. -- WHERE SiteRef = @Site
  496. -- AND ResourceId LIKE @ResourceId
  497. -- AND TransDate >= @fromDate
  498. -- AND TransDate <= @toDate)
  499. --FROM @t t
  500. --WHERE Ids = @ids AND TransDay = @fromDate
  501.  
  502.  
  503. --Select Result
  504. SELECT Ids,
  505. Content,
  506. Orders,
  507. TransDay,
  508. Value,
  509. AccumulativeInMonth
  510. FROM @t
  511. ORDER BY Orders,
  512. TransDay;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement