2026-10-09 17:02:27 +00:00
|
|
|
|
CREATE OR ALTER PROCEDURE [dbo].[Prc_P_MaterialRequestAfterSave]
|
2026-10-10 20:11:12 +00:00
|
|
|
|
@Id uniqueidentifier
|
2026-10-09 17:02:27 +00:00
|
|
|
|
AS
|
|
|
|
|
|
BEGIN
|
|
|
|
|
|
SET NOCOUNT ON;
|
|
|
|
|
|
IF @Id IS NULL RETURN;
|
|
|
|
|
|
|
2026-10-10 20:11:12 +00:00
|
|
|
|
-- Departman onaycıları: Onaycılar'da talebin departmanı için Satınalma onay yeri.
|
|
|
|
|
|
-- Satınalma onaycıları: Satınalma Onayı Bekleyenler ekranında karar verebilen (güncelleme yetkisi
|
|
|
|
|
|
-- doğrudan ya da rolüyle verilmiş) aktif kullanıcılar.
|
2026-10-09 17:02:27 +00:00
|
|
|
|
UPDATE r SET
|
|
|
|
|
|
DeptApproverUserNames = (
|
|
|
|
|
|
SELECT STRING_AGG(u.UserName, '|')
|
|
|
|
|
|
FROM Adm_T_Approver a
|
2026-10-12 10:27:54 +00:00
|
|
|
|
INNER JOIN AbpUsers u ON u.UserName = a.ApprovalUserName AND u.IsDeleted = 0 AND u.IsActive = 1
|
|
|
|
|
|
AND ((u.TenantId IS NULL AND a.TenantId IS NULL) OR u.TenantId = a.TenantId)
|
2026-10-09 17:02:27 +00:00
|
|
|
|
WHERE a.IsDeleted = 0 AND a.IsActive = 1 AND a.ApprovalArea = 'Purchase'
|
|
|
|
|
|
AND a.DepartmentId = r.DepartmentId
|
|
|
|
|
|
AND ((a.TenantId IS NULL AND r.TenantId IS NULL) OR a.TenantId = r.TenantId)),
|
|
|
|
|
|
PurchaseApproverUserNames = (
|
|
|
|
|
|
SELECT STRING_AGG(u.UserName, '|')
|
2026-10-10 20:11:12 +00:00
|
|
|
|
FROM AbpUsers u
|
|
|
|
|
|
WHERE u.IsDeleted = 0 AND u.IsActive = 1
|
|
|
|
|
|
AND ((u.TenantId IS NULL AND r.TenantId IS NULL) OR u.TenantId = r.TenantId)
|
|
|
|
|
|
AND EXISTS (
|
|
|
|
|
|
SELECT 1
|
|
|
|
|
|
FROM AbpPermissionGrants g
|
|
|
|
|
|
WHERE g.Name = N'App.Prc.MaterialRequestPurchaseApproval.Update'
|
|
|
|
|
|
AND ((g.TenantId IS NULL AND r.TenantId IS NULL) OR g.TenantId = r.TenantId)
|
|
|
|
|
|
AND ((g.ProviderName = N'U' AND g.ProviderKey = CAST(u.Id AS nvarchar(64)))
|
|
|
|
|
|
OR (g.ProviderName = N'R' AND g.ProviderKey IN (
|
|
|
|
|
|
SELECT ro.Name
|
|
|
|
|
|
FROM AbpUserRoles ur
|
|
|
|
|
|
INNER JOIN AbpRoles ro ON ro.Id = ur.RoleId
|
|
|
|
|
|
WHERE ur.UserId = u.Id)))))
|
2026-10-09 17:02:27 +00:00
|
|
|
|
FROM Prc_T_MaterialRequest r
|
|
|
|
|
|
WHERE r.Id = @Id;
|
|
|
|
|
|
END
|
|
|
|
|
|
GO
|