RASWQQW / MailingWebSite

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

2300 #13

Open RASWQQW opened 11 months ago

RASWQQW commented 11 months ago

create or replace function SCENARIO#2300(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(500) := ''; nCheck number := 0; v_comment varchar2(2000):=''; begin v_res := -1;

if IN_BASEAMOUNT >= 100000000 and IN_DOCCATEGORY in (1, 2) --and instr(upper(IN_OPERATIONREASON), upper('перевод')) = 0 then

for mem in (select *
              from tb_off_members m
             where m.p_operationid = in_id
               and m.p_bankcountrycode <> '398'
               and m.p_client_type in (1,2,3)) loop

  begin

    select t.p_longname
      into sWord
      from tb_dict_country t
     where t.p_code = mem.p_bankcountrycode;

     v_comment := 'У одного из участников страна не KZ - ' || sWord;
   nCheck := 1;
  exception
    when others then
      nCheck := 1;

  end;

end loop;

if nCheck = 1 then

  OUT_MESS_NUMBER          := 1;
  OUT_MESS_DATE            := sysdate;
  OUT_MESS_KIND            := '1';
  OUT_MESS_STATUS          := '1';
  OUT_SUSPIC_KIND          := '1';
  OUT_SUSPICIOUSTYPECODE   := '2300';
  OUT_CRITERIAFIRST        := null;
  OUT_CRITERIASECOND       := null;
  OUT_CRITERIATHIRD        := null;
  OUT_CRITERIADIFFICULTIES := '';
  OUT_OPERATIONEXTRAINFO   := '[Сценарий № 2300] Разовая операция' ||
                              chr(10) || 'Назначение платежа: ' ||
                              IN_OPERATIONREASON || chr(10) ||
                              'Операции, относящиеся по своему характеру к трансграничному платежу с банковского счета или на банковсуий счет клиента денег в безналичной форме' ||
                              chr(10) || v_comment;
  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;