12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- -- truncate table dbr_stock_io;
- drop procedure if exists stock_io_act;
- DELIMITER //
- create procedure stock_io_act( _slip_code varchar(6), _target int, _act int)
- BEGIN
- Declare _created_on bigint ;
- Declare _updated_on bigint ;
- Declare _slip_bd_id int ;
- Declare _slip_no varchar(21) ;
- Declare _seq_no tinyint;
- Declare _io_date char(8);
- Declare _deal_type_id int;
- Declare _storage_id int;
- Declare _company_id int;
- Declare _vat_rate_id int;
- Declare _item_id int;
- Declare _io_qty decimal(20,4);
- Declare _io_prc decimal(20,4);
- Declare _io_supply decimal(20,4);
- Declare _io_vat decimal(20,4);
- Declare _io_sum decimal(20,4);
- if _slip_code = 'purch' then
- select pubd.id, purch_no, pubd.seq_no, purch_date, deal_type_id,
- storage_id, supplier_id, vat_rate_id, item_id, purch_qty,
- porder_prc, purch_supply, purch_vat, purch_sum
- into _slip_bd_id, _slip_no, _seq_no, _io_date, _deal_type_id,
- _storage_id, _company_id, _vat_rate_id, _item_id, _io_qty,
- _io_prc, _io_supply, _io_vat, _io_sum
- from dbr_porder as pohd
- inner join dbr_porder_bd as pobd on pohd.id = pobd.porder_id
- inner join dbr_purch_bd as pubd on pobd.id = pubd.porder_bd_id
- inner join dbr_purch as puhd on puhd.id = pubd.purch_id
- where pubd.id = _target;
- elseif _slip_code = 'sales' then
- select sabd.id, sales_no, sabd.seq_no, sales_date, deal_type_id,
- storage_id, buyer_id, vat_rate_id, item_id, sales_qty,
- sorder_prc, sales_supply, sales_vat, sales_sum
- into _slip_bd_id, _slip_no, _seq_no, _io_date, _deal_type_id,
- _storage_id, _company_id, _vat_rate_id, _item_id, _io_qty,
- _io_prc, _io_supply, _io_vat, _io_sum
- from dbr_sorder as sohd
- inner join dbr_sorder_bd as sobd on sohd.id = sobd.sorder_id
- inner join dbr_sales_bd as sabd on sobd.id = sabd.sorder_bd_id
- inner join dbr_sales as sahd on sahd.id = sabd.sales_id
- where sabd.id = _target;
- elseif _slip_code = 'genio' then
- select gnhd.id, genio_no, gnbd.seq_no, genio_date, deal_type_id,
- storage_id, company_id, vat_rate_id, item_id, genio_qty,
- genio_prc, genio_supply, genio_vat, genio_sum
- into _slip_bd_id, _slip_no, _seq_no, _io_date, _deal_type_id,
- _storage_id, _company_id, _vat_rate_id, _item_id, _io_qty,
- _io_prc, _io_supply, _io_vat, _io_sum
- from dbr_genio as gnhd
- inner join dbr_genio_bd as gnbd on gnhd.id = gnbd.genio_id
- where gnbd.id = _target;
- end if;
- -- act for stock_io
- if _act = 0 then
- insert into dbr_stock_io
- ( created_on, slip_code, slip_bd_id, slip_no, seq_no, io_date,
- deal_type_id, storage_id, company_id, vat_rate_id, item_id,
- io_qty, io_prc, io_supply, io_vat, io_sum )
- values ( unix_timestamp(), _slip_code, _slip_bd_id, _slip_no, _seq_no, _io_date,
- _deal_type_id, _storage_id, _company_id, _vat_rate_id, _item_id,
- _io_qty, _io_prc, _io_supply, _io_vat, _io_sum );
- elseif _act = 1 then
- update dbr_stock_io
- set updated_on=unix_timestamp(),
- slip_no=_slip_no, seq_no=_seq_no, io_date=_io_date,
- deal_type_id=_deal_type_id, storage_id=_storage_id, company_id=_company_id,
- vat_rate_id=_vat_rate_id, item_id=_item_id,
- io_qty=_io_qty, io_prc=_io_prc, io_supply=_io_supply,
- io_vat=_io_vat, io_sum= _io_sum
- where slip_code=_slip_code and slip_bd_id= _target;
- elseif _act = -1 then
- delete from dbr_stock_io
- where slip_code=_slip_code and slip_bd_id= _target;
- end if;
- END;
- //
- DELIMITER ;
- -- call stock_io_act('purch', 1, 1);
|