RASWQQW / MailingWebSite

https://mailing-web-site.vercel.app
0 stars 0 forks source link

ss1 #2

Open RASWQQW opened 11 months ago

RASWQQW commented 11 months ago

create or replace function SCENARIO#0121(IN_ID in out NUMBER, -- ИД IN_ISSUEDBID in out NUMBER, -- БД ИСТОЧНИК IN_BANKOPERATIONID in out VARCHAR2, -- НОМЕР ОПЕРАЦИИ IN_ORDERNUMBER in out VARCHAR2, -- НОМЕР ЗАЯВКИ В СИСТЕМЕ IN_BRANCH in out VARCHAR2, -- КОД ФИЛИАЛА IN_CURRENCYCODE in out VARCHAR2, -- КОД ВАЛЮТЫ IN_OPERATIONDATETIME in out DATE, -- ДАТА ОПЕРАЦИИ IN_BASEAMOUNT in out NUMBER, -- СУММА (НАЦ) IN_CURRENCYAMOUNT in out NUMBER, -- СУММА (ВАЛ) IN_EKNPCODE in out VARCHAR2, -- КНП IN_DOCNUMBER in out VARCHAR2, -- № ДОКУМЕНТА IN_DOCDATE in out DATE, -- ДАТА ДОКУМЕНТА IN_DOCCATEGORY in out NUMBER, -- КАТЕГОРИЯ ДОКУМЕНТА IN_DOCSUSPIC in out NUMBER, -- ТИП ПОДОЗРИТЕЛЬНОСТИ IN_OPERATIONSTATUS in out NUMBER, -- СОСТОЯНИЕ ОПЕРАЦИИ IN_OPERATIONREASON in out VARCHAR2, -- ОСНОВАНИЕ СОВЕРШЕНИЯ OUT_MESS_NUMBER out NUMBER, -- ФМ1 - НОМЕР ФОРМЫ OUT_MESS_DATE out DATE, -- ФМ1 - ДАТА ФОРМЫ OUT_MESS_KIND out NUMBER, -- ФМ1 - ВИД ДОКУМЕНТА OUT_MESS_STATUS out NUMBER, -- ФМ1 - ОСНОВАНИЕ ПОДАЧИ OUT_SUSPIC_KIND out NUMBER, -- ВИД ДОКУМЕНТА (ФМ/ПОДОЗРИТ) OUT_SUSPICIOUSTYPECODE out NUMBER, -- КОД КАТЕГОРИИ ФМ OUT_CRITERIAFIRST out NUMBER, -- ПРИЗНАК ПОДОЗРИТЕЛЬНОСТИ 1 OUT_CRITERIASECOND out NUMBER, -- ПРИЗНАК ПОДОЗРИТЕЛЬНОСТИ 2 OUT_CRITERIATHIRD out NUMBER, -- ПРИЗНАК ПОДОЗРИТЕЛЬНОСТИ 3 OUT_CRITERIADIFFICULTIES out VARCHAR2, -- ЗАТРУДНЕНИЯ OUT_OPERATIONEXTRAINFO out VARCHAR2, -- ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ OUT_OFFLINEOPERATIONID out NUMBER, -- ID ОПЕРАЦИИ ИЗ TB_OFFLINEOPERATIONS OUT_OPERATION_LIST out VARCHAR2 -- СПИСОК ID ОПЕРАЦИЙ TB_OFFLINEOPERATIONS )

return number is v_res number; -- СТАТУС ВОЗВРАТА, ЕСЛИ СРАБАТЫВАЕТ СЦЕНАРИЙ, ТО ВОЗВРАЩАЕМ 1 sWord varchar2(50) := ''; begin v_res := -1;

/***** ОПИСАНИЕ СЦЕНАРИЯ: 0121.Получение выигрыша по результатам проведения азартной игры в игорных заведениях;

СУММА > = 1 000 000 KZT (в эквиваленте) И КНП = 119 И ОСНОВАНИЕ СОДЕРЖИТ: казино, букмекер, игр, ставк, покер, рулетка, casino, bets, gambling, gaming, poker, roulet, wager, venture

*****/ -- НАЧАЛО ПОЛЬЗОВАТЕЛЬСКОГО КОДА if IN_BASEAMOUNT >= 1000000 and IN_EKNPCODE in ( '119') then

if    UPPER(IN_OPERATIONREASON) like '% КАЗИНО %' then sWord := 'КАЗИНО';
elsif UPPER(IN_OPERATIONREASON) like '% БУКМЕКЕР%' then sWord := 'БУКМЕКЕР';
elsif UPPER(IN_OPERATIONREASON) like '%ИГР%' then sWord := 'ИГР';
elsif UPPER(IN_OPERATIONREASON) like '% СТАВК%' then sWord := 'СТАВК';
elsif UPPER(IN_OPERATIONREASON) like '% ПОКЕР%' then sWord := 'ПОКЕР';
elsif UPPER(IN_OPERATIONREASON) like '% РУЛЕТКА %' then sWord := 'РУЛЕТКА';
elsif UPPER(IN_OPERATIONREASON) like '% CASINO %' then sWord := 'CASINO';
elsif UPPER(IN_OPERATIONREASON) like '% BETS %' then sWord := 'BETS';
elsif UPPER(IN_OPERATIONREASON) like '% GAMING %' then sWord := 'GAMING';
elsif UPPER(IN_OPERATIONREASON) like '% GAMBLING %' then sWord := 'GAMBLING';
elsif UPPER(IN_OPERATIONREASON) like '% POKER %' then sWord := 'POKER';
elsif UPPER(IN_OPERATIONREASON) like '% ROULET %' then sWord := 'ROULET';
elsif UPPER(IN_OPERATIONREASON) like '% WAGER %' then sWord := 'WAGER';
elsif UPPER(IN_OPERATIONREASON) like '% VENTURE %' then sWord := 'VENTURE';
end if;

if sWord is not null then

  OUT_MESS_NUMBER          := -1;
  OUT_MESS_DATE            := sysdate;
  OUT_MESS_KIND            := '1';
  OUT_MESS_STATUS          := '1';
  OUT_SUSPIC_KIND          := '1';
  OUT_SUSPICIOUSTYPECODE   := '0122';
  OUT_CRITERIAFIRST        := null;
  OUT_CRITERIASECOND       := null;
  OUT_CRITERIATHIRD        := null;
  OUT_CRITERIADIFFICULTIES := '';
  OUT_OPERATIONEXTRAINFO   := '[Сценарий № 0121] Разовая операция' ||
                              chr(10) || 'Назначение платежа: ' ||
                              IN_OPERATIONREASON || chr(10) ||
                             'Получение выигрыша, в размере > 1000000 KZT' ||
                                                               chr(10) || 'КНП = '||IN_EKNPCODE || chr(10) ||
                              'Совпадение со словом: ' || sWord;
  OUT_OFFLINEOPERATIONID   := IN_ID;
  OUT_OPERATION_LIST       := IN_ID;
  IN_OPERATIONREASON       := nvl(get_doc_type(IN_ID),IN_OPERATIONREASON);
  v_res                    := 1;
end if;

end if;

-- КОНЕЦ ПОЛЬЗОВАТЕЛЬСКОГО КОДА return v_res; end;