venta-holding / wd_in_work

модуль передачи в работу для менеджера
0 stars 1 forks source link

Загрузка платежей в WD из Кибиком #7

Open dnclive opened 11 years ago

dnclive commented 11 years ago

Делаем сервер, который каждые 30 секунд будет получать из WD все заказы по у которых сумма подтвержденных платежей больше либо равна сумме заказа, при этом сравниваем округленные суммы.

Далее по guid этих заказов делаем запрос платежей из WD и создаем или обновляем платежи в локальной (основной базе)

view_order_payment_sm


select *, (case when o_sm_int>0 then p_sm_int/o_sm_int else 0 end) as p_o_k from 
(
    select 
        o.idorder,
        o.name, 
        o.guid,
        o.smbase as o_sm,
        isnull((select SUM(smbase) from payment where idorder=o.idorder), 0) as p_sm,
        round(ISNULL(o.smbase,0),0) as o_sm_int,
        round(isnull((select SUM(smbase) from payment where idorder=o.idorder), 0),0) as p_sm_int,
        od.plandate as inwork_dt
    from 
        orders o
        left join orderdiraction od on o.idorder=od.idorder and od.iddiraction=28

    where od.plandate> '2013-06-01'
) as t

order by idorder
dnclive commented 11 years ago

работа с платежами

delete from paymentdoc

select * from paymentdoc

select * from paymentdocgroup

delete  from paymentdocgroup where idpaymentdocgroup>15

select top 100000 * 
from view_order_payment_sm 
where inwork_dt is not null and o_sm_int>=p_sm_int --and p_sm_int!=0
and inwork_dt = '20130726'

order by inwork_dt desc
order by idorder desc