24 lines
1.1 KiB
MySQL
24 lines
1.1 KiB
MySQL
|
|
CREATE OR ALTER PROCEDURE [dbo].[Prc_P_PurchaseOrderAfterSave]
|
||
|
|
@Id uniqueidentifier,
|
||
|
|
@UserId uniqueidentifier = NULL
|
||
|
|
AS
|
||
|
|
BEGIN
|
||
|
|
SET NOCOUNT ON;
|
||
|
|
DECLARE @Req uniqueidentifier, @Act nvarchar(16), @Agr uniqueidentifier;
|
||
|
|
|
||
|
|
UPDATE o SET
|
||
|
|
PaymentTermId = ISNULL(o.PaymentTermId, c.PurchasePaymentTermId),
|
||
|
|
IncotermId = ISNULL(o.IncotermId, c.PurchaseIncotermId),
|
||
|
|
IncotermLocation = ISNULL(o.IncotermLocation, c.PurchaseIncotermLocation),
|
||
|
|
BuyerUserId = CASE WHEN o.LastModificationTime IS NULL AND c.BuyerUserId IS NOT NULL THEN c.BuyerUserId ELSE o.BuyerUserId END
|
||
|
|
FROM Prc_T_PurchaseOrder o
|
||
|
|
INNER JOIN Adm_T_Contact c ON c.Id = o.SupplierId
|
||
|
|
WHERE o.Id = @Id;
|
||
|
|
|
||
|
|
SELECT @Req = MaterialRequestId, @Act = PendingAction, @Agr = AgreementId FROM Prc_T_PurchaseOrder WHERE Id = @Id;
|
||
|
|
IF @Agr IS NOT NULL EXEC Prc_P_PurchaseRfqFromAgreement @Id;
|
||
|
|
IF @Req IS NOT NULL EXEC Prc_P_PurchaseOrderImportRequest @Id;
|
||
|
|
EXEC Prc_P_PurchaseOrderRecalc @Id;
|
||
|
|
IF @Act IS NOT NULL EXEC Prc_P_PurchaseOrderSetStatus @Id, @Act, @UserId;
|
||
|
|
END
|