123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- $PBExportHeader$dbauo_taskmx.sru
- forward
- global type dbauo_taskmx from nonvisualobject
- end type
- end forward
- global type dbauo_taskmx from nonvisualobject
- end type
- global dbauo_taskmx dbauo_taskmx
- type variables
- //====================================================================
- // 事件: .Declare Instance Variables()
- //--------------------------------------------------------------------
- // 描述:
- //--------------------------------------------------------------------
- // 参数:
- //--------------------------------------------------------------------
- // 返回: (none)
- //--------------------------------------------------------------------
- // 作者: lwl 日期: 2011年05月20日
- //--------------------------------------------------------------------
- // LONGJOE
- //--------------------------------------------------------------------
- // 修改历史:
- //
- //====================================================================
- long ins_printid
- long ins_mtrlid
- string ins_mtrlcuscode
- string ins_status
- string ins_pcode
- string ins_woodcode
- long ins_stopflag
- decimal ins_saleqty // 未发货数
- decimal ins_allocqty // 已分配数
- dbauo_task ins_task
- dbauo_mtrlware ins_mtrlware
- dbauo_adapter ins_adapter
- dbauo_taskmx_assign ins_assigns[]
- end variables
- forward prototypes
- public subroutine f_init (dbauo_task arg_task, long arg_printid, long arg_mtrlid, string arg_mtrlcuscode, string arg_status, string arg_pcode, string arg_woodcode, decimal arg_saleqty)
- public subroutine f_clear ()
- end prototypes
- public subroutine f_init (dbauo_task arg_task, long arg_printid, long arg_mtrlid, string arg_mtrlcuscode, string arg_status, string arg_pcode, string arg_woodcode, decimal arg_saleqty);ins_task = arg_task
- ins_printid = arg_printid
- ins_mtrlid = arg_mtrlid
- ins_mtrlcuscode = arg_mtrlcuscode
- ins_status = arg_status
- ins_pcode = arg_pcode
- ins_woodcode = arg_woodcode
- ins_saleqty = arg_saleqty
- ins_adapter = ins_task.ins_adapter
- ins_mtrlware = ins_adapter.f_getware(ins_mtrlid, ins_mtrlcuscode, ins_status, ins_pcode, ins_woodcode)
- ins_allocqty = 0
- ins_stopflag = 0
- SELECT stopflag INTO :ins_stopflag FROM u_SaleTaskMx WHERE scid = :ins_task.ins_scid AND TaskID = :ins_task.ins_taskid AND printid = :ins_printid;
- if sqlca.sqlcode <> 0 then
-
- end if
- Long ll_assignid, arr_assignid[], ll_mtrlwareid, arr_mtrlwareid[]
- Decimal ld_qty, arr_qty[]
- Long ll_cnt = 0
- DECLARE cur1 CURSOR FOR
- SELECT Assignid,
- u_mtrlware_assign.assignqty - u_mtrlware_assign.outqty,
- mtrlwareid
- FROM u_mtrlware_assign
- WHERE assigntype = 1
- AND scid = :ins_task.ins_scid
- AND relbillid = :ins_task.ins_taskid
- And relprintid = :ins_printid;
-
- OPEN cur1;
- FETCH cur1 Into :ll_assignid, :ld_qty, :ll_mtrlwareid;
- DO WHILE sqlca.SQLCode = 0
- ll_cnt++
- arr_assignid[ll_cnt] = ll_assignid
- arr_qty[ll_cnt] = ld_qty
- arr_mtrlwareid[ll_cnt] = ll_mtrlwareid
- ins_allocqty += ld_qty
- FETCH cur1 Into :ll_assignid, :ld_qty, :ll_mtrlwareid;
- LOOP
- CLOSE cur1;
- Long ll_i
- f_clear()
- FOR ll_i = 1 To ll_cnt
- ins_assigns[ll_i] = Create dbauo_taskmx_assign
- ins_assigns[ll_i].f_init(This, arr_assignid[ll_i], arr_qty[ll_i], arr_mtrlwareid[ll_i])
- NEXT
- end subroutine
- public subroutine f_clear ();long ll_i
- for ll_i = 1 to upperbound(ins_assigns)
- destroy ins_assigns[ll_i]
- next
- dbauo_taskmx_assign mx_empty[]
- ins_assigns = mx_empty
- end subroutine
- on dbauo_taskmx.create
- call super::create
- TriggerEvent( this, "constructor" )
- end on
- on dbauo_taskmx.destroy
- TriggerEvent( this, "destructor" )
- call super::destroy
- end on
- event destructor;f_clear()
- end event
|