1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123 |
- $PBExportHeader$w_fx_finish.srw
- forward
- global type w_fx_finish from w_publ_base_style
- end type
- type cb_refresh from uo_imflatbutton within w_fx_finish
- end type
- type cb_new from uo_imflatbutton within w_fx_finish
- end type
- type cb_delete from uo_imflatbutton within w_fx_finish
- end type
- type cb_audit from uo_imflatbutton within w_fx_finish
- end type
- type cb_cancle_audit from uo_imflatbutton within w_fx_finish
- end type
- type cb_print from uo_imflatbutton within w_fx_finish
- end type
- type ddlb_status from dropdownlistbox within w_fx_finish
- end type
- type st_2 from statictext within w_fx_finish
- end type
- type em_datea from editmask within w_fx_finish
- end type
- type em_datez from editmask within w_fx_finish
- end type
- type st_3 from statictext within w_fx_finish
- end type
- type dw_fx_finish_free from datawindow within w_fx_finish
- end type
- type cb_add_mx from commandbutton within w_fx_finish
- end type
- type cb_delete_mx from commandbutton within w_fx_finish
- end type
- type cb_modify from uo_imflatbutton within w_fx_finish
- end type
- type dw_fx_finish from u_dw_rbtnfilter within w_fx_finish
- end type
- type dw_fx_finish_mx from u_dw_rbtnfilter within w_fx_finish
- end type
- end forward
- global type w_fx_finish from w_publ_base_style
- integer width = 4608
- integer height = 2880
- string title = "外协完工单"
- boolean maxbox = true
- event ue_print_finishmx ( )
- cb_refresh cb_refresh
- cb_new cb_new
- cb_delete cb_delete
- cb_audit cb_audit
- cb_cancle_audit cb_cancle_audit
- cb_print cb_print
- ddlb_status ddlb_status
- st_2 st_2
- em_datea em_datea
- em_datez em_datez
- st_3 st_3
- dw_fx_finish_free dw_fx_finish_free
- cb_add_mx cb_add_mx
- cb_delete_mx cb_delete_mx
- cb_modify cb_modify
- dw_fx_finish dw_fx_finish
- dw_fx_finish_mx dw_fx_finish_mx
- end type
- global w_fx_finish w_fx_finish
- type variables
- end variables
- forward prototypes
- public subroutine wf_btn_enabled ()
- public function integer wf_change_taborder (integer arg_taborder)
- public function integer wf_cus_select ()
- public subroutine wf_retrieve_finish ()
- public subroutine wf_retrieve_finish_mx (long arg_finishid)
- public function integer wf_send_finish (ref string arg_msg)
- end prototypes
- event ue_print_finishmx();long ll_row
- ll_row = dw_fx_finish.GetRow()
- if ll_row <= 0 then
- MessageBox('提示', '请先选择要打印的单据')
- return
- end if
- string ls_finishcode, ls_cusname, ls_sptname
- ls_finishcode = dw_fx_finish.Object.fxfinishcode[ll_row]
- ls_cusname = dw_fx_finish.Object.cusname[ll_row]
- ls_sptname = dw_fx_finish.Object.sptname[ll_row]
- datastore ds_report
- ds_report = create datastore
- ds_report.dataobject = 'dw_print_fx_finish_data'
- long mx_row, i
- for i = 1 to dw_fx_finish_mx.rowcount()
- mx_row = ds_report.InsertRow(0)
-
- ds_report.Object.cusname[mx_row] = ls_cusname //客户名称
- ds_report.Object.sptname[mx_row] = trim(ls_sptname) //供应商名称
- ds_report.Object.fxfinishcode[mx_row] = ls_finishcode
- ds_report.Object.fx_finish_mx_printid[mx_row] = dw_fx_finish_mx.Object.fx_finish_mx_printid[i]
- ds_report.Object.fx_sc_task_erptaskcode[mx_row] = dw_fx_finish_mx.Object.fx_sc_task_erptaskcode[i]
- ds_report.Object.fx_sc_task_procode[mx_row] = dw_fx_finish_mx.Object.fx_sc_task_procode[i]
- ds_report.Object.fx_sc_task_proname[mx_row] = dw_fx_finish_mx.Object.fx_sc_task_proname[i]
- ds_report.Object.fx_finish_mx_qty[mx_row] = dw_fx_finish_mx.Object.fx_finish_mx_qty[i]
- ds_report.Object.fx_finish_mx_mxdscrp[mx_row] = dw_fx_finish_mx.Object.fx_finish_mx_mxdscrp[i]
- ds_report.Object.recqty[mx_row] = ''
- next
- S_print_MSG LS_PRMSG
- LS_PRMSG.obj_dwNAME='dw_print_fx_finish'
- LS_PRMSG.SHARE_DW=ds_report
- LS_PRMSG.TAG_TEXT='外协完工单'
- LS_PRMSG.SETUP_FLAG=0
- LS_PRMSG.PAGECH_FLAG=1
- Openwithparm(w_publ_preview,LS_PRMSG)
- end event
- public subroutine wf_btn_enabled ();if dw_edit_mode OR if_modify_mode then
- cb_refresh.enabled = false
- cb_new.text = '保存'
- cb_new.normalpicname = "save.bmp"
- cb_modify.text = '放弃'
- cb_modify.normalpicname = "undo.bmp"
- cb_delete.enabled = false
- cb_audit.enabled = false
- cb_cancle_audit.enabled = false
- cb_print.enabled = false
- cb_add_mx.enabled = true
- cb_delete_mx.enabled = true
- else
- cb_refresh.enabled = true
- cb_new.text = '新建'
- cb_new.normalpicname = "new.bmp"
- cb_modify.text = '修改'
- cb_modify.normalpicname = "open.bmp"
- cb_delete.enabled = true
- cb_audit.enabled = true
- cb_cancle_audit.enabled = true
- cb_print.enabled = true
- cb_add_mx.enabled = false
- cb_delete_mx.enabled = false
- end if
- cb_new.of_init_draw()
- cb_new.of_paint()
- cb_new.TriggerEvent('ue_textchange')
- cb_modify.of_init_draw()
- cb_modify.of_paint()
- cb_modify.TriggerEvent('ue_textchange')
- end subroutine
- public function integer wf_change_taborder (integer arg_taborder);IF arg_taborder = 0 THEN
- dw_fx_finish_mx.SetTaborder('fx_finish_mx_qty', 0)
- dw_fx_finish_mx.SetTaborder('fx_finish_mx_mxdscrp', 0)
- ELSE
- dw_fx_finish_mx.SetTaborder('fx_finish_mx_qty', 20)
- dw_fx_finish_mx.SetTaborder('fx_finish_mx_mxdscrp', 30)
- END IF
- return 1
- end function
- public function integer wf_cus_select ();IF NOT dw_edit_mode THEN RETURN 0
- long ori_cuscomid, new_cuscomid, row
- row = dw_fx_finish_free.GetRow()
- ori_cuscomid = dw_fx_finish_free.Object.cuscomid[row]
- IF ori_cuscomid > 0 THEN
- IF dw_fx_finish_mx.RowCount() > 0 THEN
- MessageBox('','修改客户前需要先清除派工明细')
- RETURN 0
- END IF
- END IF
- s_fx_company s_tran, s_ret
- OpenWithParm(w_cus_ch_fx, s_tran)
- s_ret = Message.PowerObjectParm
- IF not IsNull(s_ret) then
- IF (s_ret.ifselect) then
- new_cuscomid = s_ret.comid[1]
- IF (ori_cuscomid <> new_cuscomid) then
- dw_fx_finish_mx.Reset() // 重选客户,清空明细
- END IF
-
- dw_fx_finish_free.Object.cuscomid[row] = new_cuscomid
- dw_fx_finish_free.Object.cusname[row] = s_ret.comname[1]
-
- dw_fx_finish_free.AcceptText()
- RETURN 1
- END IF
- END IF
- RETURN 0
- end function
- public subroutine wf_retrieve_finish ();long status
- string ls_status
- ls_status = Trim(ddlb_status.Text)
- IF ls_status = '待接收' THEN
- status = 0
- ELSEIF ls_status = '在进行' THEN
- status = 1
- ELSEIF ls_status = '已完成' THEN
- status = 2
- ELSE
- status = -1
- END IF
- datetime dateA, dateZ
- dateA = DateTime(Date(em_dateA.Text), Time(0))
- dateZ = DateTime(Date(em_dateZ.Text), Time('23:59:59'))
- string arg_msg
- oleobject request,response,FxFinishes,item
- request = FXAppCom.CreatePbDictionary()
- request.SetString('token', app_token_fx)
- request.SetInt('status', status)
- request.SetDateTime('begindate', dateA)
- request.SetDateTime('enddate', dateZ)
- response = FXAppCom.DoExecute('GetFxFinish', request)
- arg_msg = response.GetString('ErrMsg')
- if (arg_msg <> '') then
- messagebox('提示', '获取发货单列表失败,原因:' + arg_msg)
- return
- end if
- dw_fx_finish.Reset()
- dw_fx_finish_mx.Reset()
- dw_fx_finish.SetRedraw(false)
- FxFinishes = response.GetArrOfPBDictionary('FxFinishes')
- long i,row
- for i = 1 to FxFinishes.Count
- item = FxFinishes.GetItem(i - 1)
-
- row = dw_fx_finish.InsertRow(0)
-
- dw_fx_finish.SetItem(row, 'fxfinishid', item.GetInt('fxfinishid'))
- dw_fx_finish.SetItem(row, 'fxfinishcode', item.GetString('fxfinishcode'))
- dw_fx_finish.SetItem(row, 'cuscomid', item.GetInt('cuscomid'))
- dw_fx_finish.SetItem(row, 'sptcomid', item.GetInt('sptcomid'))
- dw_fx_finish.SetItem(row, 'status', item.GetInt('status'))
- dw_fx_finish.SetItem(row, 'statusstr', item.GetString('statusstr'))
- dw_fx_finish.SetItem(row, 'opemp', item.GetString('opemp'))
- dw_fx_finish.SetItem(row, 'opdate', item.GetDatetime('opdate'))
- dw_fx_finish.SetItem(row, 'modemp', item.GetString('modemp'))
- dw_fx_finish.SetItem(row, 'moddate', item.GetDatetime('moddate'))
- dw_fx_finish.SetItem(row, 'cusname', item.GetString('cusname'))
- dw_fx_finish.SetItem(row, 'auditemp', item.GetString('auditemp'))
- dw_fx_finish.SetItem(row, 'auditdate', item.GetDatetime('auditdate'))
- dw_fx_finish.SetItem(row, 'accomplishemp', item.GetString('accomplishemp'))
- dw_fx_finish.SetItem(row, 'accomplishdate', item.GetDatetime('accomplishdate'))
- dw_fx_finish.SetItem(row, 'sptname', item.GetString('sptname'))
-
- next
- dw_fx_finish.SetRedraw(true)
- if (dw_fx_finish.RowCount() > 0) then
- dw_fx_finish.SelectRow(0, false)
- dw_fx_finish.SelectRow(1, true)
- dw_fx_finish.SetRow(1)
- dw_fx_finish.post event RowFocusChanged(1)
- ELSE
- dw_fx_finish_free.Reset()
- dw_fx_finish_free.InsertRow(0)
- end if
- end subroutine
- public subroutine wf_retrieve_finish_mx (long arg_finishid);if isnull(arg_finishid) or arg_finishid <= 0 then
- return
- end if
- string arg_msg
- oleobject request, response
- oleobject list, item
- request = FXAppCom.CreatePbDictionary()
- request.SetString('token', app_token_fx)
- request.SetInt('fxfinishid', arg_finishid)
- response = FXAppCom.DoExecute('GetFxFinishMxByFinishid', request)
- arg_msg = response.GetString('ErrMsg')
- if (arg_msg <> '') then
- MessageBox('提示', '获取完工明细失败:' + arg_msg)
- return
- end if
- list = response.GetPBArray('FxFinishMxes')
- dw_fx_finish_mx.Reset()
- dw_fx_finish_mx.SetRedraw(false)
- long i,row
- for i = 1 to list.Count
- item = list.GetPBDictionary(i - 1)
-
- row = dw_fx_finish_mx.InsertRow(0)
- dw_fx_finish_mx.SetItem(row, 'fxtaskid', item.GetInt('fxtaskid'))
- dw_fx_finish_mx.SetItem(row, 'fx_finish_mx_fxfinishid', item.GetInt('fxfinishid'))
- dw_fx_finish_mx.SetItem(row, 'fx_finish_mx_printid', item.GetInt('printid'))
- dw_fx_finish_mx.SetItem(row, 'iffg', item.GetInt('iffg'))
- dw_fx_finish_mx.SetItem(row, 'fx_sc_task_procode', item.GetString('procode'))
- dw_fx_finish_mx.SetItem(row, 'fx_sc_task_proname', item.GetString('proname'))
- dw_fx_finish_mx.SetItem(row, 'taskqty', item.GetDouble('taskqty'))
- dw_fx_finish_mx.SetItem(row, 'fx_finish_mx_qty', item.GetDouble('qty'))
- dw_fx_finish_mx.SetItem(row, 'fx_finish_mx_comqty', item.GetDouble('comqty'))
- dw_fx_finish_mx.SetItem(row, 'fx_finish_mx_backqty', item.GetDouble('backqty'))
- dw_fx_finish_mx.SetItem(row, 'fx_finish_mx_mxdscrp', item.GetString('mxdscrp'))
- dw_fx_finish_mx.SetItem(row, 'fx_sc_task_mtrlcode', item.GetString('mtrlcode'))
- dw_fx_finish_mx.SetItem(row, 'fx_sc_task_mtrlname', item.GetString('mtrlname'))
- dw_fx_finish_mx.SetItem(row, 'fx_sc_task_mtrlmode', item.GetString('mtrlmode'))
- dw_fx_finish_mx.SetItem(row, 'fx_sc_task_unit', item.GetString('unit'))
- dw_fx_finish_mx.SetItem(row, 'fx_sc_task_erptaskcode', item.GetString('erptaskcode'))
- next
- dw_fx_finish_mx.SetRedraw(true)
- end subroutine
- public function integer wf_send_finish (ref string arg_msg);int rslt = 1
- if (dw_fx_finish_mx.RowCount() <= 0) then
- rslt = 0
- arg_msg = '没有完工明细'
- goto ext
- end if
- long ll_getrow, ll_finishid
- ll_getrow = dw_fx_finish_free.GetRow()
- dw_fx_finish_free.AcceptText()
- if if_modify_mode then
- ll_finishid = dw_fx_finish_free.Object.fxfinishid[ll_getrow]
- else
- ll_finishid = 0
- end if
- IF ISNULL(dw_fx_finish_free.Object.cuscomid[ll_getrow]) OR dw_fx_finish_free.Object.cuscomid[ll_getrow] = 0 THEN
- rslt = 0
- arg_msg = '请选择客户!'
- goto ext
- END IF
- dw_fx_finish_free.AcceptText()
- dw_fx_finish_mx.AcceptText()
- oleobject item, outware, mxs
- outware = FXAppCom.CreatePbDictionary()
- outware.SetInt('fxfinishid', ll_finishid)
- outware.SetInt('cuscomid', dw_fx_finish_free.Object.cuscomid[ll_getrow])
- mxs = FXAppCom.CreArrOfPbDictionary()
- long i, cnt = 0
- DateTime ld_now
- ld_now = DateTime(Today(),Now())
- for i = 1 to dw_fx_finish_mx.RowCount()
- if (dw_fx_finish_mx.Object.fx_finish_mx_qty[i] <= 0) then continue
-
- cnt ++
- item = FXAppCom.CreatePbDictionary()
- item.SetInt('fxtaskid', dw_fx_finish_mx.Object.fxtaskid[i])
- item.SetString('erptaskcode', dw_fx_finish_mx.Object.fx_sc_task_erptaskcode[i])
- item.SetDouble('qty', dw_fx_finish_mx.Object.fx_finish_mx_qty[i])
- item.SetString('mxdscrp', dw_fx_finish_mx.Object.fx_finish_mx_mxdscrp[i])
-
- mxs.Add(item)
- next
- if (cnt <= 0) then
- rslt = 0
- arg_msg = '没有发货数大于0的明细'
- goto ext
- end if
- oleobject request,response
- request = FXAppCom.CreatePbDictionary()
- request.SetString('token', app_token_fx)
- request.SetObject('FxFinish', outware)
- request.SetObject('FxFinishMxes', mxs)
- response = FXAppCom.DoExecute('NewFxFinish', request)
- arg_msg = response.GetString('ErrMsg')
- if (arg_msg <> '') then
- rslt = 0
- goto ext
- end if
- ext:
- return rslt
- end function
- on w_fx_finish.create
- int iCurrent
- call super::create
- this.cb_refresh=create cb_refresh
- this.cb_new=create cb_new
- this.cb_delete=create cb_delete
- this.cb_audit=create cb_audit
- this.cb_cancle_audit=create cb_cancle_audit
- this.cb_print=create cb_print
- this.ddlb_status=create ddlb_status
- this.st_2=create st_2
- this.em_datea=create em_datea
- this.em_datez=create em_datez
- this.st_3=create st_3
- this.dw_fx_finish_free=create dw_fx_finish_free
- this.cb_add_mx=create cb_add_mx
- this.cb_delete_mx=create cb_delete_mx
- this.cb_modify=create cb_modify
- this.dw_fx_finish=create dw_fx_finish
- this.dw_fx_finish_mx=create dw_fx_finish_mx
- iCurrent=UpperBound(this.Control)
- this.Control[iCurrent+1]=this.cb_refresh
- this.Control[iCurrent+2]=this.cb_new
- this.Control[iCurrent+3]=this.cb_delete
- this.Control[iCurrent+4]=this.cb_audit
- this.Control[iCurrent+5]=this.cb_cancle_audit
- this.Control[iCurrent+6]=this.cb_print
- this.Control[iCurrent+7]=this.ddlb_status
- this.Control[iCurrent+8]=this.st_2
- this.Control[iCurrent+9]=this.em_datea
- this.Control[iCurrent+10]=this.em_datez
- this.Control[iCurrent+11]=this.st_3
- this.Control[iCurrent+12]=this.dw_fx_finish_free
- this.Control[iCurrent+13]=this.cb_add_mx
- this.Control[iCurrent+14]=this.cb_delete_mx
- this.Control[iCurrent+15]=this.cb_modify
- this.Control[iCurrent+16]=this.dw_fx_finish
- this.Control[iCurrent+17]=this.dw_fx_finish_mx
- end on
- on w_fx_finish.destroy
- call super::destroy
- destroy(this.cb_refresh)
- destroy(this.cb_new)
- destroy(this.cb_delete)
- destroy(this.cb_audit)
- destroy(this.cb_cancle_audit)
- destroy(this.cb_print)
- destroy(this.ddlb_status)
- destroy(this.st_2)
- destroy(this.em_datea)
- destroy(this.em_datez)
- destroy(this.st_3)
- destroy(this.dw_fx_finish_free)
- destroy(this.cb_add_mx)
- destroy(this.cb_delete_mx)
- destroy(this.cb_modify)
- destroy(this.dw_fx_finish)
- destroy(this.dw_fx_finish_mx)
- end on
- event resize;call super::resize;int li_free_width,li_free_height
- li_free_width = 1426 //dw_fx_outwar_free宽度
- li_free_height = 1048 //dw_fx_finish_free高度
- //dw_fx_finish_free
- dw_fx_finish_free.width = li_free_width
- dw_fx_finish_free.height = li_free_height
- //dw_fx_finish
- dw_fx_finish.x = li_free_width + 30
- dw_fx_finish.y = dw_fx_finish_free.y
- dw_fx_finish.width = this.workspacewidth() - li_free_width
- dw_fx_finish.height = dw_fx_finish_free.height
- //cb_add_mx, cb_delete_mx
- cb_add_mx.x = 40
- cb_add_mx.y = dw_fx_finish_free.y + li_free_height + 20
- cb_delete_mx.x = cb_add_mx.width + 30
- cb_delete_mx.y = cb_add_mx.y
- //dw_fx_finish_mx
- dw_fx_finish_mx.y = cb_add_mx.y + cb_add_mx.height + 30
- dw_fx_finish_mx.width = this.workspacewidth()
- dw_fx_finish_mx.height = this.workspaceheight() - cb_add_mx.y - cb_add_mx.height - 30
- end event
- event open;call super::open;wf_movetocenter()
- dw_fx_finish_free.insertrow(0)
- ddlb_status.SelectItem(4)
- em_dateA.Text = String(RelativeDate(Today(), - 30))
- em_dateZ.Text = String(Today())
- wf_retrieve_finish()
- end event
- type cb_func from w_publ_base_style`cb_func within w_fx_finish
- boolean visible = false
- integer x = 1618
- end type
- type cb_exit from w_publ_base_style`cb_exit within w_fx_finish
- integer x = 1170
- end type
- event cb_exit::clicked;if dw_edit_mode or if_modify_mode then
- IF MessageBox('提示','是否放弃新建/修改,并退出?',Question! ,OKCancel! , 1 ) = 2 THEN
- return
- END IF
- end if
- close(parent)
- end event
- type ln_bar from w_publ_base_style`ln_bar within w_fx_finish
- end type
- type ln_bar2 from w_publ_base_style`ln_bar2 within w_fx_finish
- end type
- type r_bar from w_publ_base_style`r_bar within w_fx_finish
- integer x = 2135
- end type
- type cb_refresh from uo_imflatbutton within w_fx_finish
- integer width = 151
- integer height = 164
- integer taborder = 10
- boolean bringtotop = true
- string text = "刷新"
- string normalpicname = "refresh.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;wf_retrieve_finish()
- end event
- type cb_new from uo_imflatbutton within w_fx_finish
- integer x = 155
- integer width = 165
- integer height = 164
- integer taborder = 10
- boolean bringtotop = true
- string text = "新建"
- string normalpicname = "new.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;long rslt = 1
- string arg_msg
- if dw_edit_mode then // 新建/修改保存
- if wf_send_finish(ref arg_msg) = 0 then
- messagebox('提示', '保存失败,原因:' + arg_msg)
- rslt = 0
- goto ext
- end if
- wf_change_taborder(0)
-
- Messagebox('提示', '保存成功')
- wf_retrieve_finish()
- else
- long li_row
- dw_fx_finish.reset()
- li_row = dw_fx_finish.insertrow(0)
- dw_fx_finish_mx.reset()
- dw_fx_finish_free.Reset()
- dw_fx_finish.RowsCopy(li_row, li_row, Primary!, dw_fx_finish_free, 1, Primary!)
- wf_change_taborder(1)
- end if
- ext:
- if rslt = 1 then
- dw_edit_mode = Not dw_edit_mode
- if_modify_mode = false
- wf_btn_enabled()
- end if
- end event
- type cb_delete from uo_imflatbutton within w_fx_finish
- integer x = 494
- integer width = 165
- integer height = 164
- integer taborder = 10
- boolean bringtotop = true
- string text = "删除"
- string normalpicname = "delete.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;long ll_row, ll_status,ll_finishid
-
- ll_row = dw_fx_finish.GetRow()
- IF ll_row <= 0 THEN
- messagebox('提示', '请选择当前行,不能删除!')
- RETURN
- end if
- ll_status = dw_fx_finish.Object.status[ll_row]
- ll_finishid = dw_fx_finish.Object.fxfinishid[ll_row]
- if ll_status <> 0 then
- messagebox('提示', '不是待审核单据,不能删除!')
- return
- end if
- IF MessageBox ("IF","是否确定要删除当前选中的外协完工单吗",Question!,YesNo! ) = 2 THEN RETURN
- oleobject request,response
- request = FXAppCom.CreatePbDictionary()
- request.SetString('token', app_token_fx)
- request.SetInt('dotype', 0) //删除
- request.SetInt('fxfinishid', ll_finishid)
- string arg_msg
- response = FXAppCom.DoExecute('ChangeFxFinisStatus', request)
- arg_msg = response.GetString('ErrMsg')
- if (arg_msg <> '') then
- messagebox('提示', '删除失败,' + arg_msg)
- else
- messagebox('提示', '删除成功!')
- wf_retrieve_finish()
- end if
- end event
- type cb_audit from uo_imflatbutton within w_fx_finish
- integer x = 663
- integer width = 165
- integer height = 164
- integer taborder = 10
- boolean bringtotop = true
- string text = "审核"
- string normalpicname = "audit.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;long ll_row, ll_status, ll_finishid
-
- ll_row = dw_fx_finish.GetRow()
- IF ll_row <= 0 THEN
- messagebox('提示', '请选择当前行,不能审核!')
- return
- end if
- ll_status = dw_fx_finish.Object.status[ll_row]
- ll_finishid = dw_fx_finish.Object.fxfinishid[ll_row]
- if ll_status <> 0 then
- messagebox('提示', '不是待审核单据,不能审核!')
- return
- end if
- IF MessageBox ("IF","是否确定要审核当前选中的外协完工单吗",Question!,YesNo! ) = 2 THEN RETURN
- oleobject request,response
- request = FXAppCom.CreatePbDictionary()
- request.SetString('token', app_token_fx)
- request.SetInt('dotype', 1) //审核
- request.SetInt('fxfinishid', ll_finishid)
- string arg_msg
- response = FXAppCom.DoExecute('ChangeFxFinisStatus', request)
- arg_msg = response.GetString('ErrMsg')
- if (arg_msg <> '') then
- messagebox('提示', '审核失败,' + arg_msg)
- return
- else
- messagebox('提示', '审核成功!')
- wf_retrieve_finish()
- return
- end if
- end event
- type cb_cancle_audit from uo_imflatbutton within w_fx_finish
- integer x = 832
- integer width = 165
- integer height = 164
- integer taborder = 20
- boolean bringtotop = true
- string text = "撤审"
- string normalpicname = "caudit.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;long ll_row, ll_status, ll_finishid
-
- ll_row = dw_fx_finish.GetRow()
- IF ll_row <= 0 THEN
- messagebox('提示', '请选择当前行,不能撤审!')
- return
- end if
- ll_status = dw_fx_finish.Object.status[ll_row]
- ll_finishid = dw_fx_finish.Object.fxfinishid[ll_row]
- if ll_status <> 1 then
- messagebox('提示', '不是已审核单据,不能撤审!')
- return
- end if
- IF MessageBox ("IF","是否确定要撤审当前选中的外协完工单吗",Question!,YesNo! ) = 2 THEN RETURN
- oleobject request,response
- request = FXAppCom.CreatePbDictionary()
- request.SetString('token', app_token_fx)
- request.SetInt('dotype', 2) //删除
- request.SetInt('fxfinishid', ll_finishid)
- string arg_msg
- response = FXAppCom.DoExecute('ChangeFxFinisStatus', request)
- arg_msg = response.GetString('ErrMsg')
- if (arg_msg <> '') then
- messagebox('提示', '撤审失败,' + arg_msg)
- else
- messagebox('提示', '撤审成功!')
- wf_retrieve_finish()
- end if
- end event
- type cb_print from uo_imflatbutton within w_fx_finish
- integer x = 1001
- integer width = 165
- integer height = 164
- integer taborder = 20
- boolean bringtotop = true
- string text = "打印"
- string normalpicname = "print.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;if (dw_edit_mode) then return
- long ll_row, ll_status
-
- ll_row = dw_fx_finish.GetRow()
- IF ll_row <= 0 THEN
- messagebox('提示', '请选择当前行,不能打印!')
- end if
- ll_status = dw_fx_finish.Object.status[ll_row]
- if ll_status = 0 then
- messagebox('提示', '待审核单据,不能打印!')
- return
- end if
- Parent.TriggerEvent('ue_print_finishmx')
- end event
- type ddlb_status from dropdownlistbox within w_fx_finish
- integer x = 41
- integer y = 192
- integer width = 306
- integer height = 496
- integer taborder = 80
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- boolean sorted = false
- boolean vscrollbar = true
- string item[] = {"待审","在途","已完成","全部"}
- borderstyle borderstyle = stylelowered!
- end type
- type st_2 from statictext within w_fx_finish
- integer x = 366
- integer y = 204
- integer width = 288
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 16777215
- string text = "发货日期从"
- alignment alignment = center!
- boolean focusrectangle = false
- end type
- type em_datea from editmask within w_fx_finish
- integer x = 681
- integer y = 192
- integer width = 389
- integer height = 84
- integer taborder = 90
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- string text = "0000-00-00"
- borderstyle borderstyle = stylelowered!
- maskdatatype maskdatatype = datemask!
- string mask = "yyyy-mm-dd"
- boolean spin = true
- end type
- type em_datez from editmask within w_fx_finish
- integer x = 1175
- integer y = 192
- integer width = 389
- integer height = 84
- integer taborder = 100
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- string text = "0000-00-00"
- borderstyle borderstyle = stylelowered!
- maskdatatype maskdatatype = datemask!
- string mask = "yyyy-mm-dd"
- boolean spin = true
- end type
- type st_3 from statictext within w_fx_finish
- integer x = 1070
- integer y = 208
- integer width = 96
- integer height = 48
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 16777215
- string text = "到"
- alignment alignment = center!
- boolean focusrectangle = false
- end type
- type dw_fx_finish_free from datawindow within w_fx_finish
- integer x = 37
- integer y = 288
- integer width = 1426
- integer height = 1048
- integer taborder = 30
- boolean bringtotop = true
- string title = "none"
- string dataobject = "dw_fx_finish_free"
- boolean livescroll = true
- borderstyle borderstyle = stylelowered!
- end type
- event doubleclicked;if (not dw_edit_mode) then return
- if (row <= 0) then return
- if dwo.Type = 'column' and dwo.Name = 'cusname' then
- wf_cus_select()
- end if
- end event
- type cb_add_mx from commandbutton within w_fx_finish
- integer x = 32
- integer y = 1356
- integer width = 306
- integer height = 84
- integer taborder = 30
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- boolean enabled = false
- string text = "增明细"
- end type
- event clicked;Long currow, cuscomid
- currow = dw_fx_finish_free.GetRow()
- cuscomid = dw_fx_finish_free.Object.cuscomid[currow]
- IF IsNull(cuscomid) OR cuscomid = 0 THEN
- MessageBox('','请先选择发货客户')
- IF wf_cus_select() = 0 THEN RETURN
- cuscomid = dw_fx_finish_free.Object.cuscomid[currow]
- END IF
- datastore arg_ds
- arg_ds = create datastore
- arg_ds.DataObject = 'dw_fx_sctask_sel'
- OpenWithParm(w_fx_sctask_sel, cuscomid)
- arg_ds = Message.PowerObjectParm
- IF IsValid(arg_ds) THEN
- dw_fx_finish_mx.SetRedraw(false)
- long row, i
- string ls_findstr
- Datetime ld_now
- ld_now = DateTime(Today(),Now())
- for i = arg_ds.RowCount() TO 1 STEP -1
- //DONE:已选择过滤
- ls_findstr = 'fxtaskid=' + string(arg_ds.Object.fxtaskid[i])
- IF dw_fx_finish_mx.Find(ls_findstr,1,dw_fx_finish_mx.RowCount()) > 0 THEN
- continue
- END IF
-
- row = dw_fx_finish_mx.InsertRow(0)
- dw_fx_finish_mx.Object.fxtaskid[row] = arg_ds.Object.fxtaskid[i]
- dw_fx_finish_mx.Object.iffg[row] = arg_ds.Object.fx_sc_task_billtype[i]
- dw_fx_finish_mx.Object.fx_sc_task_procode[row] = arg_ds.Object.fx_sc_task_procode[i]
- dw_fx_finish_mx.Object.fx_sc_task_proname[row] = arg_ds.Object.fx_sc_task_proname[i]
- dw_fx_finish_mx.Object.taskqty[row] = arg_ds.Object.fx_sc_task_qty[i]
- dw_fx_finish_mx.Object.fx_finish_mx_qty[row] = arg_ds.Object.unfqty[i]
- dw_fx_finish_mx.Object.fx_sc_task_mtrlcode[row] = arg_ds.Object.fx_sc_task_mtrlcode[i]
- dw_fx_finish_mx.Object.fx_sc_task_mtrlname[row] = arg_ds.Object.fx_sc_task_mtrlname[i]
- dw_fx_finish_mx.Object.fx_sc_task_mtrlmode[row] = arg_ds.Object.fx_sc_task_mtrlmode[i]
- dw_fx_finish_mx.Object.fx_sc_task_unit[row] = arg_ds.Object.fx_sc_task_unit[i]
- dw_fx_finish_mx.Object.fx_sc_task_erptaskcode[row] = arg_ds.Object.fx_sc_task_erptaskcode[i]
- next
- dw_fx_finish_mx.SetRedraw(true)
- END IF
- end event
- type cb_delete_mx from commandbutton within w_fx_finish
- integer x = 347
- integer y = 1356
- integer width = 306
- integer height = 84
- integer taborder = 40
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- boolean enabled = false
- string text = "删明细"
- end type
- event clicked;if dw_fx_finish_mx.RowCount() <= 0 then
- Messagebox('提示', '请先添加明细!')
- return
- end if
- long i, index
- index = 0
- FOR i = dw_fx_finish_mx.RowCount() TO 1 STEP -1
- IF dw_fx_finish_mx.Object.ch[i] = 1 THEN
- index++
- dw_fx_finish_mx.DeleteRow(0)
- END IF
- NEXT
- IF index = 0 THEN
- MessageBox('提示', '请先勾选要删除的发货明细!')
- END IF
- end event
- type cb_modify from uo_imflatbutton within w_fx_finish
- integer x = 325
- integer width = 165
- integer height = 164
- integer taborder = 20
- boolean bringtotop = true
- string text = "修改"
- string normalpicname = "open.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;if dw_edit_mode then
- if MessageBox('提示','是否放弃新建/修改操作?',Question! ,OKCancel! , 1 ) = 1 then
- wf_change_taborder(0)
-
- dw_edit_mode = false
- if_modify_mode = false
- wf_btn_enabled()
- wf_retrieve_finish()
- end if
- else
- long ll_row, ll_status
-
- ll_row = dw_fx_finish.GetRow()
- IF ll_row <= 0 THEN
- messagebox('提示', '请选择当前行,不能修改!')
- end if
-
- ll_status = dw_fx_finish.Object.status[ll_row]
-
- if ll_status <> 0 then
- messagebox('提示', '不是待审核单据,不能修改!')
- return
- end if
-
- wf_change_taborder(1)
- dw_edit_mode = true
- if_modify_mode = true
- wf_btn_enabled()
- end if
- end event
- type dw_fx_finish from u_dw_rbtnfilter within w_fx_finish
- integer x = 1472
- integer y = 272
- integer width = 2409
- integer height = 1064
- integer taborder = 20
- boolean bringtotop = true
- boolean titlebar = true
- string title = "外协完工单"
- string dataobject = "dw_fx_finish"
- boolean controlmenu = true
- boolean maxbox = true
- boolean hscrollbar = true
- boolean vscrollbar = true
- boolean resizable = true
- boolean border = false
- boolean hsplitscroll = true
- borderstyle borderstyle = styleshadowbox!
- boolean rbutton_filter_use = true
- boolean rbutton_setposition_use = true
- boolean titleclick_sort_use = true
- boolean autosave_setlayout_use = false
- boolean autosave_columnvisible_use = false
- end type
- event rowfocuschanged;call super::rowfocuschanged;if dw_edit_mode then return
- if IsNull(currentrow) then
- IF THIS.rowcount() > 0 then
- THIS.SelectRow(0,FALSE)
- THIS.SelectRow(1,TRUE)
- THIS.setrow(1)
- currentrow =1
- end if
- end if
- if IsNull(currentrow) then return
- if (currentrow <= 0) then return
- this.SelectRow(0, false)
- this.SelectRow(currentrow, true)
- dw_fx_finish_free.Reset( )
- this.RowsCopy(currentrow, currentrow, Primary!, dw_fx_finish_free, 1, Primary!)
- long ll_finishid
- ll_finishid = this.Object.fxfinishid[currentrow]
- wf_retrieve_finish_mx(ll_finishid)
- end event
- type dw_fx_finish_mx from u_dw_rbtnfilter within w_fx_finish
- integer x = 27
- integer y = 1452
- integer width = 3845
- integer height = 948
- integer taborder = 20
- boolean bringtotop = true
- string dataobject = "dw_fx_finishmx"
- boolean hscrollbar = true
- boolean vscrollbar = true
- boolean hsplitscroll = true
- boolean rbutton_filter_use = true
- boolean rbutton_setposition_use = true
- boolean titleclick_sort_use = true
- end type
- event clicked;call super::clicked;if (row > 0) then
- this.SelectRow(0, false)
- this.SelectRow(row, true)
- end if
- end event
|