56,912
社区成员




BEGIN
IF NEW.PriceType=1 && New.ItemId is not null Then
SELECT ItemType,Status INTO @ItemType,@ItemStatus FROM TtProposalXItems WHERE ItemId=New.ItemId;
IF @ItemType=5 or @ItemType=7 Then
IF NEW.ExpenseData IS NULL OR NEW.ExpenseData='' OR NEW.ExpenseData='{}' OR NEW.ExpenseData='null'
THEN
SET NEW.ExpenseData=JSON_COMPACT(JSON_OBJECT('payProgress','00'));
ELSE
SET NEW.ExpenseData=JSON_COMPACT(JSON_SET(NEW.ExpenseData,'$.payProgress','00'));
END IF;
SET NEW.ExpenseData=Json_compact(New.ExpenseData);
SELECT Code into @Code FROM FnTenants WHERE TenantId=NEW.TenantId;
IF(@Code='XXXXX')
THEN
SET @isNeedUploadInvoice='true';
ELSE
SELECT JSON_VALUE(ExtData,'$.isNeedUploadInvoice') into @isNeedUploadInvoice
FROM FnDictionaryValView
WHERE KeyCode='CPC-City' AND Val=(SELECT CityDictVal
FROM TtProposals WHERE ProposalId=New.ProposalId);
END IF;
IF NEW.PayStatus=0 THEN
SET NEW.ExpenseData=Json_replace(New.ExpenseData,'$.payProgress','00');
ELSEIF NEW.PayStatus=10 AND @isNeedUploadInvoice='true' THEN
SET NEW.ExpenseData=Json_replace(New.ExpenseData,'$.payProgress','06');
ELSEIF NEW.PayStatus=20 AND @isNeedUploadInvoice='true' THEN
SET NEW.ExpenseData=Json_replace(New.ExpenseData,'$.payProgress','06');
ELSEIF NEW.PayStatus=30 AND @isNeedUploadInvoice='true' THEN
SET NEW.ExpenseData=Json_replace(NEW.ExpenseData,'$.payProgress','06');
ELSEIF NEW.PayStatus=40 AND @isNeedUploadInvoice='true' THEN
SET NEW.ExpenseData=Json_replace(New.ExpenseData,'$.payProgress','06');
Else
SET New.ExpenseData=Json_replace(New.ExpenseData,'$.payProgress','10');
End IF;
IF @ItemStatus=5 Then
SET New.ExpenseData=Json_replace(New.ExpenseData,'$.payProgress','10');
End IF;
End IF;
End IF;
END