1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633 |
- $PBExportHeader$w_rp_cmpl_mtrlcost.srw
- forward
- global type w_rp_cmpl_mtrlcost from w_publ_easyq
- end type
- type cb_3 from uo_imflatbutton within w_rp_cmpl_mtrlcost
- end type
- type cb_5 from uo_imflatbutton within w_rp_cmpl_mtrlcost
- end type
- type ddlb_mtrlprp from uo_ddlb_mtrlorigin within w_rp_cmpl_mtrlcost
- end type
- type tv_1 from uo_tv_mtrltype within w_rp_cmpl_mtrlcost
- end type
- type cb_planprice from uo_imflatbutton within w_rp_cmpl_mtrlcost
- end type
- type cb_4 from commandbutton within w_rp_cmpl_mtrlcost
- end type
- type cb_6 from commandbutton within w_rp_cmpl_mtrlcost
- end type
- type cbx_auto_copy from checkbox within w_rp_cmpl_mtrlcost
- end type
- type cb_7 from commandbutton within w_rp_cmpl_mtrlcost
- end type
- type cb_8 from commandbutton within w_rp_cmpl_mtrlcost
- end type
- type ddlb_ptoplp from dropdownlistbox within w_rp_cmpl_mtrlcost
- end type
- type em_ptoplp from editmask within w_rp_cmpl_mtrlcost
- end type
- type cb_ptoplp from commandbutton within w_rp_cmpl_mtrlcost
- end type
- type cb_add_mtrl from uo_imflatbutton within w_rp_cmpl_mtrlcost
- end type
- type cb_edit from uo_imflatbutton within w_rp_cmpl_mtrlcost
- end type
- type cb_save from uo_imflatbutton within w_rp_cmpl_mtrlcost
- end type
- type cbx_isuse from checkbox within w_rp_cmpl_mtrlcost
- end type
- end forward
- global type w_rp_cmpl_mtrlcost from w_publ_easyq
- string title = "产品最新成本统计表"
- event ue_view_workprice ( )
- event ue_view_bom ( )
- event ue_view_his ( )
- cb_3 cb_3
- cb_5 cb_5
- ddlb_mtrlprp ddlb_mtrlprp
- tv_1 tv_1
- cb_planprice cb_planprice
- cb_4 cb_4
- cb_6 cb_6
- cbx_auto_copy cbx_auto_copy
- cb_7 cb_7
- cb_8 cb_8
- ddlb_ptoplp ddlb_ptoplp
- em_ptoplp em_ptoplp
- cb_ptoplp cb_ptoplp
- cb_add_mtrl cb_add_mtrl
- cb_edit cb_edit
- cb_save cb_save
- cbx_isuse cbx_isuse
- end type
- global w_rp_cmpl_mtrlcost w_rp_cmpl_mtrlcost
- type variables
- String cur_handtype = ''
- Long cur_mtrlorigin = 0
- end variables
- forward prototypes
- public subroutine wf_face ()
- end prototypes
- event ue_view_workprice();Long ll_row
- String ls_mtrlcode
- ll_row = dw_1.GetRow()
- IF ll_row <= 0 THEN
- MessageBox(publ_operator,'请选择产品')
- RETURN
- END IF
- ls_mtrlcode = dw_1.Object.mtrlcode[ll_row]
- s_edit_index_tran s_tran
- s_tran.arg_string_code = ls_mtrlcode
- s_tran.if_retrieve_all = local_retrieve_all
- OpenWithParm(w_sc_workpricetable,s_tran)
- end event
- event ue_view_bom();Long ll_row
- String ls_mtrlcode
- ll_row = dw_1.GetRow()
- IF ll_row <= 0 THEN
- MessageBox(publ_operator,'请选择产品')
- RETURN
- END IF
- ls_mtrlcode = dw_1.Object.mtrlcode[ll_row]
- s_edit_index_tran s_tran
- s_tran.arg_string_code = ls_mtrlcode
- s_tran.if_retrieve_all = local_retrieve_all
- OpenWithParm(w_mtrl_structure,s_tran)
- end event
- event ue_view_his();Long ll_row
- s_rp_mtrlcost_cmpl s_open
- ll_row = dw_1.GetRow()
- IF ll_row <= 0 THEN
- MessageBox(publ_operator,'请选择产品')
- RETURN
- END IF
- s_open.mtrlid = dw_1.Object.mtrlid[ll_row]
- s_open.pfcode = dw_1.Object.pfcode[ll_row]
- OpenWithParm(w_rp_mtrlprice_his_sum,s_open)
- end event
- public subroutine wf_face ();cb_1.Enabled = Not dw_edit_mode
- cb_save.Enabled = dw_edit_mode
- cb_func.Enabled = Not dw_edit_mode
- cb_psetup.Enabled = Not dw_edit_mode
- cb_2.Enabled = Not dw_edit_mode
- cbx_yl.Enabled = Not dw_edit_mode
- ddlb_mtrlprp.Enabled = Not dw_edit_mode
- cb_add_mtrl.Enabled = Not dw_edit_mode
- cb_3.Enabled = Not dw_edit_mode
- cb_planprice.Enabled = Not dw_edit_mode
- dw_1.setredraw(false)
- IF dw_edit_mode THEN
- dw_1.SetTabOrder('price',20)
- dw_1.SetTabOrder('jgprice',30)
- dw_1.SetTabOrder('wfjgprice',40)
- dw_1.SetTabOrder('outcost',50)
- dw_1.SetTabOrder('eqprice',60)
- dw_1.SetTabOrder('otherprice',70)
-
- dw_1.modify('price.Color = "16711680" ')
- dw_1.modify('jgprice.Color = "16711680" ')
- dw_1.modify('wfjgprice.Color = "16711680" ')
- dw_1.modify('outcost.Color = "16711680" ')
- dw_1.modify('eqprice.Color = "16711680" ')
-
- cb_edit.Text = '放弃'
- cb_edit.normalpicname = 'Undo.bmp'
- ELSE
- dw_1.SetTabOrder('price',0)
- dw_1.SetTabOrder('jgprice',0)
- dw_1.SetTabOrder('wfjgprice',0)
- dw_1.SetTabOrder('outcost',0)
- dw_1.SetTabOrder('eqprice',0)
- dw_1.SetTabOrder('otherprice',0)
- dw_1.modify('price.Color = "0" ')
- dw_1.modify('jgprice.Color = "0" ')
- dw_1.modify('wfjgprice.Color = "0" ')
- dw_1.modify('outcost.Color = "0" ')
- dw_1.modify('eqprice.Color = "0" ')
- cb_edit.Text = '手动修改'
- cb_edit.normalpicname = 'OPEN.bmp'
- END IF
- dw_1.setredraw(true)
- cb_edit.of_init_draw()
- cb_edit.of_paint()
- cb_edit.TriggerEvent('ue_textchange')
- end subroutine
- on w_rp_cmpl_mtrlcost.create
- int iCurrent
- call super::create
- this.cb_3=create cb_3
- this.cb_5=create cb_5
- this.ddlb_mtrlprp=create ddlb_mtrlprp
- this.tv_1=create tv_1
- this.cb_planprice=create cb_planprice
- this.cb_4=create cb_4
- this.cb_6=create cb_6
- this.cbx_auto_copy=create cbx_auto_copy
- this.cb_7=create cb_7
- this.cb_8=create cb_8
- this.ddlb_ptoplp=create ddlb_ptoplp
- this.em_ptoplp=create em_ptoplp
- this.cb_ptoplp=create cb_ptoplp
- this.cb_add_mtrl=create cb_add_mtrl
- this.cb_edit=create cb_edit
- this.cb_save=create cb_save
- this.cbx_isuse=create cbx_isuse
- iCurrent=UpperBound(this.Control)
- this.Control[iCurrent+1]=this.cb_3
- this.Control[iCurrent+2]=this.cb_5
- this.Control[iCurrent+3]=this.ddlb_mtrlprp
- this.Control[iCurrent+4]=this.tv_1
- this.Control[iCurrent+5]=this.cb_planprice
- this.Control[iCurrent+6]=this.cb_4
- this.Control[iCurrent+7]=this.cb_6
- this.Control[iCurrent+8]=this.cbx_auto_copy
- this.Control[iCurrent+9]=this.cb_7
- this.Control[iCurrent+10]=this.cb_8
- this.Control[iCurrent+11]=this.ddlb_ptoplp
- this.Control[iCurrent+12]=this.em_ptoplp
- this.Control[iCurrent+13]=this.cb_ptoplp
- this.Control[iCurrent+14]=this.cb_add_mtrl
- this.Control[iCurrent+15]=this.cb_edit
- this.Control[iCurrent+16]=this.cb_save
- this.Control[iCurrent+17]=this.cbx_isuse
- end on
- on w_rp_cmpl_mtrlcost.destroy
- call super::destroy
- destroy(this.cb_3)
- destroy(this.cb_5)
- destroy(this.ddlb_mtrlprp)
- destroy(this.tv_1)
- destroy(this.cb_planprice)
- destroy(this.cb_4)
- destroy(this.cb_6)
- destroy(this.cbx_auto_copy)
- destroy(this.cb_7)
- destroy(this.cb_8)
- destroy(this.ddlb_ptoplp)
- destroy(this.em_ptoplp)
- destroy(this.cb_ptoplp)
- destroy(this.cb_add_mtrl)
- destroy(this.cb_edit)
- destroy(this.cb_save)
- destroy(this.cbx_isuse)
- end on
- event ue_before_open;call super::ue_before_open;if_ue_retr=true
- if_ue_filter=true
- if_ue_sort=true
- if_ue_sentdataout=true
- end event
- event resize;call super::resize;tv_1.Height = dw_1.Height
- end event
- event open;call super::open;IF cbx_loginretr.Checked THEN
- cb_1.TriggerEvent(Clicked!)
- END IF
- end event
- type cb_func from w_publ_easyq`cb_func within w_rp_cmpl_mtrlcost
- integer x = 1883
- string text = "功能"
- end type
- type cb_exit from w_publ_easyq`cb_exit within w_rp_cmpl_mtrlcost
- integer x = 2592
- end type
- type cb_2 from w_publ_easyq`cb_2 within w_rp_cmpl_mtrlcost
- integer x = 2290
- end type
- type cb_psetup from w_publ_easyq`cb_psetup within w_rp_cmpl_mtrlcost
- integer x = 2034
- end type
- type cb_1 from w_publ_easyq`cb_1 within w_rp_cmpl_mtrlcost
- end type
- event cb_1::clicked;call super::clicked;Int li_ifuse
- IF cbx_isuse.Checked THEN
- li_ifuse = 1
- ELSE
- li_ifuse = -1
- END IF
- dw_1.Retrieve(cur_mtrlorigin,cur_handtype,li_ifuse)
- end event
- type st_3 from w_publ_easyq`st_3 within w_rp_cmpl_mtrlcost
- integer x = 9
- integer y = 204
- integer width = 169
- integer height = 48
- string text = "来源:"
- end type
- type st_4 from w_publ_easyq`st_4 within w_rp_cmpl_mtrlcost
- boolean visible = false
- integer x = 1714
- integer y = 644
- end type
- type em_1 from w_publ_easyq`em_1 within w_rp_cmpl_mtrlcost
- boolean visible = false
- integer x = 1618
- integer y = 424
- end type
- type em_2 from w_publ_easyq`em_2 within w_rp_cmpl_mtrlcost
- boolean visible = false
- integer x = 1650
- integer y = 524
- end type
- type ddlb_yl from w_publ_easyq`ddlb_yl within w_rp_cmpl_mtrlcost
- integer x = 2985
- integer y = 12
- end type
- type cbx_yl from w_publ_easyq`cbx_yl within w_rp_cmpl_mtrlcost
- integer x = 2761
- integer y = 12
- end type
- event cbx_yl::clicked;call super::clicked;if this.checked then
- dw_1.selectrow(0,false)
- end if
- end event
- type dw_1 from w_publ_easyq`dw_1 within w_rp_cmpl_mtrlcost
- integer x = 882
- integer width = 2574
- integer height = 1592
- string dataobject = "dw_rp_mtrlprice"
- boolean rbutton_filter_use = false
- boolean rbutton_setposition_use = false
- boolean titleclick_sort_use = false
- end type
- event dw_1::doubleclicked;call super::doubleclicked;PARENT.TriggerEvent('ue_view_his')
- end event
- event dw_1::clicked;call super::clicked;IF row > 0 THEN
- THIS.SelectRow(0,FALSE)
- THIS.SelectRow(row,TRUE)
- this.setrow(row)
- END IF
- end event
- type sle_mtrl from w_publ_easyq`sle_mtrl within w_rp_cmpl_mtrlcost
- integer x = 1641
- integer y = 604
- end type
- type sle_cust from w_publ_easyq`sle_cust within w_rp_cmpl_mtrlcost
- integer x = 480
- integer y = 604
- end type
- type st_mtrl from w_publ_easyq`st_mtrl within w_rp_cmpl_mtrlcost
- integer x = 1184
- integer y = 620
- end type
- type st_cust from w_publ_easyq`st_cust within w_rp_cmpl_mtrlcost
- integer x = 18
- integer y = 620
- end type
- type cbx_loginretr from w_publ_easyq`cbx_loginretr within w_rp_cmpl_mtrlcost
- boolean visible = true
- integer x = 2761
- integer y = 100
- end type
- type pb_em1 from w_publ_easyq`pb_em1 within w_rp_cmpl_mtrlcost
- boolean visible = false
- integer x = 626
- integer y = 712
- end type
- type pb_em2 from w_publ_easyq`pb_em2 within w_rp_cmpl_mtrlcost
- boolean visible = false
- integer x = 1239
- integer y = 712
- end type
- type pb_2 from w_publ_easyq`pb_2 within w_rp_cmpl_mtrlcost
- boolean visible = false
- integer x = 1349
- integer y = 712
- end type
- type cb_help from w_publ_easyq`cb_help within w_rp_cmpl_mtrlcost
- integer x = 2441
- end type
- type cb_copyself from w_publ_easyq`cb_copyself within w_rp_cmpl_mtrlcost
- integer x = 1627
- end type
- type gb_1 from w_publ_easyq`gb_1 within w_rp_cmpl_mtrlcost
- integer x = 1714
- integer y = 840
- integer width = 306
- integer height = 88
- end type
- type ln_bar from w_publ_easyq`ln_bar within w_rp_cmpl_mtrlcost
- end type
- type ln_bar2 from w_publ_easyq`ln_bar2 within w_rp_cmpl_mtrlcost
- end type
- type r_bar from w_publ_easyq`r_bar within w_rp_cmpl_mtrlcost
- integer x = 3392
- end type
- type ln_1 from w_publ_easyq`ln_1 within w_rp_cmpl_mtrlcost
- end type
- type ln_2 from w_publ_easyq`ln_2 within w_rp_cmpl_mtrlcost
- end type
- type ln_3 from w_publ_easyq`ln_3 within w_rp_cmpl_mtrlcost
- end type
- type ln_4 from w_publ_easyq`ln_4 within w_rp_cmpl_mtrlcost
- end type
- type cb_3 from uo_imflatbutton within w_rp_cmpl_mtrlcost
- integer x = 873
- integer width = 151
- integer height = 164
- integer taborder = 90
- boolean bringtotop = true
- string text = "统计"
- string normalpicname = "update.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;Long i,ll_row,ll_mtrlid,sumdate
- Decimal ld_price,ld_wfjgprice,ld_outcost,ld_wageprice,ld_otherprice,ld_eqprice
- String ls_mtrlcode
- Decimal ld_outcost_self
- uo_cmplcost uo_cmpl
- String ls_pfcode,arg_msg,ls_msg
- Long ll_fail = 0
- Long ll_scid
- Long ch
- String ls_status,ls_woodcode,ls_pcode
- Int li_statusflag,li_woodcodeflag,li_pcodeflag
- String ls_status_config,ls_woodcode_config,ls_pcode_config
- IF dw_1.RowCount() <= 0 THEN
- MessageBox('提示','没有可统计的资料')
- RETURN
- END IF
- IF dw_1.Object.ch_sum[1] = 0 THEN
- MessageBox('提示','没有可统计的资料,请先选择')
- RETURN
- END IF
- sumdate = Year(Date(Today())) * 10000 + Month(Date(Today())) * 100 + Day(Date(Today()))
- IF MessageBox (publ_operator,"是否确定要进行统计操作吗?"+'~n'+&
- '统计时间: '+String(sumdate),Question!,YesNo! ) = 2 THEN RETURN
- ll_row = dw_1.RowCount()
- Open(w_sys_wait_jdt)
- w_sys_wait_jdt.wf_set_msg('正在计算中....')
- w_sys_wait_jdt.wf_accepttol(ll_row)
- uo_cmpl = Create uo_cmplcost
- FOR i = 1 To ll_row
- ll_mtrlid = dw_1.Object.mtrlid[i]
- ls_mtrlcode = dw_1.Object.mtrlcode[i]
- ls_pfcode = dw_1.Object.pfcode[i]
- ll_scid = 0 //dw_1.Object.u_mtrldef_scid[i]
- ls_status = dw_1.Object.status[i]
- ls_woodcode = dw_1.Object.woodcode[i]
- ls_pcode = dw_1.Object.pcode[i]
-
- li_statusflag = dw_1.Object.statusflag[i]
- li_woodcodeflag = dw_1.Object.woodcodeflag[i]
- li_pcodeflag = dw_1.Object.pcodeflag[i]
- ls_status_config = dw_1.Object.status_config[i]
- ls_woodcode_config = dw_1.Object.woodcode_config[i]
- ls_pcode_config = dw_1.Object.pcode_config[i]
-
- w_sys_wait_jdt.wf_inc(i)
- w_sys_wait_jdt.wf_set_msg(ls_mtrlcode+',清单:'+ls_pfcode+',正在计算中....')
-
- IF ls_pfcode = '' THEN CONTINUE
- IF dw_1.Object.ch[i] = 0 THEN CONTINUE
-
- ld_price = 0
- ld_wfjgprice = 0
- ld_outcost_self = 0
- ld_outcost = 0
- ld_wageprice = 0
- ld_otherprice = 0
- ld_eqprice = 0
-
- arg_msg = ''
-
- uo_cmpl.deep = 0
- uo_cmpl.ifcmpl_1 = True
-
-
- If (li_statusflag = 4 And ls_status <> ls_status_config Or &
- li_woodcodeflag = 4 And ls_woodcode <> ls_woodcode_config Or &
- li_pcodeflag = 4 And ls_pcode <> ls_pcode_config) THEN
-
- // IF uo_cmpl.uof_get_cost_dz(ll_mtrlid,ls_status,ls_woodcode,ls_pcode,ld_price,ld_wfjgprice,ld_outcost,ld_wageprice,ld_eqprice,arg_msg) = 0 THEN
- IF true THEN
- arg_msg = '物料:'+ls_mtrlcode+'取成本失败,'+arg_msg
- ls_msg = ls_msg + arg_msg + '~n'
- ll_fail++
- CONTINUE
-
- ld_price = 0
- ld_wfjgprice = 0
- ld_outcost = 0
- ld_wageprice = 0
- ld_eqprice = 0
- END IF
- ELSE
- IF uo_cmpl.uof_get_cost(ll_scid,ll_mtrlid,ls_mtrlcode,ls_pfcode,1,1,ld_price,ld_wfjgprice,ld_outcost,ld_wageprice,arg_msg) = 0 THEN
- arg_msg = '物料:'+ls_mtrlcode+'取成本失败,'+arg_msg
- ls_msg = ls_msg + arg_msg + '~n'
- ll_fail++
- CONTINUE
-
- ld_price = 0
- ld_wfjgprice = 0
- ld_outcost = 0
- ld_wageprice = 0
- ld_eqprice = 0
- END IF
- END IF
-
- ld_price = Round(ld_price,2)
- ld_wfjgprice = Round(ld_wfjgprice,2)
- ld_outcost = Round(ld_outcost,2)
- ld_wageprice = Round(ld_wageprice,2)
- ld_eqprice = Round(ld_eqprice,2)
-
- IF cbx_auto_copy.Checked THEN
- SELECT top 1 otherprice INTO :ld_otherprice
- FROM u_mtrlprice_sum
- WHERE mtrlid = :ll_mtrlid
- AND pfcode = :ls_pfcode
- AND sumdate < :sumdate
- AND status = :ls_status
- AND woodcode = :ls_woodcode
- AND pcode = :ls_pcode
- Order By sumdate Desc;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '物料:'+ls_mtrlcode+'取上次附加成本失败,'+arg_msg
- ls_msg = ls_msg + arg_msg + '~n'
- ll_fail++
- CONTINUE
- END IF
-
- IF IsNull(ld_otherprice) THEN ld_otherprice = 0
- END IF
-
- UPDATE u_mtrlprice_sum
- SET price = :ld_price,
- cost = :ld_price + :ld_wfjgprice + :ld_wageprice + :ld_outcost + :ld_otherprice + :ld_eqprice,
- wfjgprice = :ld_wfjgprice,
- jgprice = :ld_wageprice,
- outcost = :ld_outcost,
- otherprice = :ld_otherprice,
- eqprice = :ld_eqprice,
- dscrp = :arg_msg,
- sumdate = :sumdate
- WHERE mtrlid = :ll_mtrlid
- AND pfcode = :ls_pfcode
- AND (sumdate = :sumdate OR sumdate = 0 )
- AND status = :ls_status
- AND woodcode = :ls_woodcode
- And pcode = :ls_pcode;
- IF sqlca.SQLCode = 0 THEN
- IF sqlca.SQLNRows = 0 THEN
- INSERT INTO u_mtrlprice_sum
- (sumdate,
- pfcode,
- mtrlid,
- price,
- cost,
- wfjgprice,
- jgprice,
- eqprice,
- outcost,
- otherprice,
- dscrp,
- status,
- woodcode,
- pcode)
- VALUES(:sumdate,
- :ls_pfcode,
- :ll_mtrlid,
- :ld_price,
- :ld_price + :ld_wfjgprice + :ld_wageprice + :ld_outcost + :ld_eqprice,
- :ld_wfjgprice,
- :ld_wageprice,
- :ld_eqprice,
- :ld_outcost,
- :ld_otherprice,
- :arg_msg,
- :ls_status,
- :ls_woodcode,
- :ls_pcode);
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '新增物料:'+ls_mtrlcode+'成本失败,'+sqlca.SQLErrText
- ls_msg = ls_msg + arg_msg + '~n'
- ll_fail++
- CONTINUE
- END IF
- END IF
- ELSE
- arg_msg = '更新物料:'+ls_mtrlcode+'成本失败,'+sqlca.SQLErrText
- ls_msg = ls_msg + arg_msg + '~n'
- ll_fail++
- CONTINUE
- END IF
- NEXT
- Close(w_sys_wait_jdt)
- COMMIT;
- IF ll_fail > 0 THEN
- MessageBox('提示','统计失败: ~n'+ls_msg)
- ELSE
- MessageBox('提示','统计成功!')
- END IF
- Destroy uo_cmpl
- cb_1.TriggerEvent(Clicked!)
- end event
- type cb_5 from uo_imflatbutton within w_rp_cmpl_mtrlcost
- integer x = 1024
- integer width = 274
- integer height = 164
- integer taborder = 30
- boolean bringtotop = true
- string text = "查看相关"
- string normalpicname = "find.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
- String menustr
- menustr = "Text=查看清单~tEvent=ue_view_bom"
- menustr = menustr + "|" + "Text=查看工价表~tEvent=ue_view_workprice"
- menustr = menustr + "|" + "Text=查看统计历史~tEvent=ue_view_his"
- IF Len(Trim(menustr)) <> 0 THEN
- dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
- dmPopupMenu.mf_BuildMenu(THIS, menustr)
- dmPopupMenu.mf_PopMenu()
- DESTROY dmPopupMenu
- END IF
- end event
- type ddlb_mtrlprp from uo_ddlb_mtrlorigin within w_rp_cmpl_mtrlcost
- integer x = 192
- integer y = 192
- integer width = 517
- integer height = 480
- integer taborder = 40
- boolean bringtotop = true
- string text = "自制"
- string item[] = {"自制","客户来料","采购","外协","全部来源"}
- end type
- event selectionchanged;CHOOSE CASE Index
- CASE 1
- uo_mtrlorigin = 0
- CASE 2
- uo_mtrlorigin = 1
- CASE 3
- uo_mtrlorigin = 2
- CASE 4
- uo_mtrlorigin = 3
- CASE 5
- uo_mtrlorigin = -1
- CASE ELSE
- uo_mtrlorigin = -1
- END CHOOSE
- cur_mtrlorigin = this.uo_mtrlorigin
- cb_1.triggerevent(clicked!)
- end event
- type tv_1 from uo_tv_mtrltype within w_rp_cmpl_mtrlcost
- integer y = 412
- integer width = 882
- integer height = 1740
- integer taborder = 20
- boolean bringtotop = true
- integer textsize = -9
- fontcharset fontcharset = gb2312charset!
- fontfamily fontfamily = anyfont!
- string facename = "宋体"
- boolean hideselection = false
- string picturename[] = {"Application!","Structure5!",""}
- end type
- event selectionchanged;call super::selectionchanged;if dw_edit_mode then return
- cur_handtype = THIS.uo_cur_info.handtype
- cur_handtype = cur_handtype + '%'
- cb_1.TriggerEvent(Clicked!)
- end event
- type cb_planprice from uo_imflatbutton within w_rp_cmpl_mtrlcost
- integer x = 1298
- integer width = 329
- integer height = 164
- integer taborder = 40
- boolean bringtotop = true
- string text = "更新计划价"
- string normalpicname = "update2.BMP"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;Long ll_mtrlid
- Long ll_i
- String ls_mtrlcode
- Int li_ifdft
- Decimal ld_planprice
- Decimal ld_wageprice
- Decimal ld_cost
- Decimal ld_wfjgprice
- Decimal ld_outcost
- Decimal ld_otherprice,ld_eqprice
- String ls_msg
- String ls_pfcode
- String ls_status,ls_woodcode,ls_pcode
- String ls_status_f,ls_woodcode_f,ls_pcode_f
- Int li_pricepztype
- s_rp_cmpl_mtrlcost_update_planprice s_rst
- Open(w_rp_cmpl_mtrlcost_update_planprice)
- s_rst = Message.PowerObjectParm
- IF s_rst.ifupdate = 0 THEN RETURN
- Open(w_sys_wait_jdt)
- w_sys_wait_jdt.wf_set_msg('正在计算中....')
- w_sys_wait_jdt.wf_accepttol(dw_1.RowCount())
- FOR ll_i = 1 To dw_1.RowCount()
- ll_mtrlid = dw_1.Object.mtrlid[ll_i]
- ld_planprice = dw_1.Object.cost[ll_i]
- ls_mtrlcode = dw_1.Object.mtrlcode[ll_i]
- li_ifdft = 1 //dw_1.Object.ifdft[ll_i]
- li_pricepztype = 0 //dw_1.Object.pricepztype[ll_i]
- ls_status_f = dw_1.Object.status[ll_i]
- ls_woodcode_f = dw_1.Object.woodcode[ll_i]
- ls_pcode_f = dw_1.Object.pcode[ll_i]
-
- ld_wageprice = dw_1.Object.jgprice[ll_i]
- ld_cost = dw_1.Object.price[ll_i]
- ld_wfjgprice = dw_1.Object.wfjgprice[ll_i]
- ld_outcost = dw_1.Object.outcost[ll_i]
- ld_otherprice = dw_1.Object.otherprice[ll_i]
- ld_eqprice = dw_1.Object.eqprice[ll_i]
-
- ls_pfcode = dw_1.Object.pfcode[ll_i]
-
-
- CHOOSE CASE li_pricepztype
- CASE 0
- ls_status = ''
- ls_woodcode = ''
- ls_pcode = ''
- CASE 1
- ls_status = ls_status_f
- ls_woodcode = ''
- ls_pcode = ''
- CASE 2
- ls_status = ''
- ls_woodcode = ls_woodcode_f
- ls_pcode = ''
- CASE 3
- ls_status = ''
- ls_woodcode = ''
- ls_pcode = ls_pcode_f
- CASE 4
- ls_status = ls_status_f
- ls_woodcode = ls_woodcode_f
- ls_pcode = ''
- CASE 5
- ls_status = ''
- ls_woodcode = ls_woodcode_f
- ls_pcode = ls_pcode_f
- CASE 6
- ls_status = ls_status_f
- ls_woodcode = ''
- ls_pcode = ls_pcode_f
- CASE 7
- ls_status = ls_status_f
- ls_woodcode = ls_woodcode_f
- ls_pcode = ls_pcode_f
- END CHOOSE
-
- w_sys_wait_jdt.wf_inc(ll_i)
- //
- // IF li_ifdft = 0 THEN CONTINUE
- //
- IF s_rst.ifprice = 1 And ld_cost = 0 THEN CONTINUE
- IF s_rst.ifjgprice = 1 And ld_wageprice = 0 THEN CONTINUE
- IF s_rst.ifwfjgprice = 1 And ld_wfjgprice = 0 THEN CONTINUE
- IF s_rst.ifoutcost = 1 And ld_outcost = 0 THEN CONTINUE
- IF s_rst.ifotherprice = 1 And ld_otherprice = 0 THEN CONTINUE
- IF s_rst.ifeqprice = 1 And ld_eqprice = 0 THEN CONTINUE
-
- w_sys_wait_jdt.wf_set_msg(ls_mtrlcode+',清单:'+ls_pfcode+',正在建立计划价历史....')
-
-
- // UPDATE u_mtrl_planprice_his
- // SET planprice = :ld_planprice,
- // cost = :ld_cost,
- // wageprice = :ld_wageprice,
- // wfjgprice = :ld_wfjgprice,
- // fprice = :ld_outcost,
- // buildtype = 1,
- // eqprice = :ld_eqprice
- // WHERE mtrlid = :ll_mtrlid
- // AND status = :ls_status
- // AND woodcode = :ls_woodcode
- // AND pcode = :ls_pcode
- // And cmpldate = getdate();
- // IF sqlca.SQLCode = 0 THEN
- // IF sqlca.SQLNRows = 0 THEN
- // INSERT INTO u_mtrl_planprice_his
- // (mtrlid,
- // cmpldate,
- // planprice,
- // wageprice,
- // cost,
- // wfjgprice,
- // fprice,
- // buildtype,
- // status,
- // woodcode,
- // pcode,
- // eqprice)
- // VALUES
- // (:ll_mtrlid,
- // getdate(),
- // :ld_planprice,
- // :ld_wageprice,
- // :ld_cost,
- // :ld_wfjgprice,
- // :ld_outcost,
- // 1,
- // :ls_status,
- // :ls_woodcode,
- // :ls_pcode,
- // :ld_eqprice);
- // IF sqlca.SQLCode <> 0 THEN
- // ls_msg = sqlca.SQLErrText
- // ROLLBACK;
- // MessageBox('错误','物料:'+ls_mtrlcode+'建立计划价历史失败,'+ls_msg)
- // Close(w_sys_wait_jdt)
- // RETURN
- // END IF
- // ELSE
- // IF sqlca.SQLCode <> 0 THEN
- // ls_msg = sqlca.SQLErrText
- // ROLLBACK;
- // MessageBox('错误','物料:'+ls_mtrlcode+'更新计划价失败,'+ls_msg)
- // Close(w_sys_wait_jdt)
- // RETURN
- // END IF
- // END IF
- // END IF
-
- w_sys_wait_jdt.wf_set_msg(ls_mtrlcode+',清单:'+ls_pfcode+',正在更新计划价....')
-
- UPDATE u_mtrldef
- SET planprice = :ld_planprice
- WHERE mtrlid = :ll_mtrlid
- ;
-
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- ROLLBACK;
- MessageBox('错误','物料:'+ls_mtrlcode+'更新计划价失败,'+ls_msg)
- Close(w_sys_wait_jdt)
- RETURN
- END IF
-
-
-
- // UPDATE u_mtrldef_planprice
- // SET planprice = :ld_planprice
- // WHERE mtrlid = :ll_mtrlid
- // AND status = :ls_status
- // AND woodcode = :ls_woodcode
- // And pcode = :ls_pcode ;
- // IF sqlca.SQLCode = 0 THEN
- // IF sqlca.SQLNRows = 0 THEN
- // INSERT INTO u_mtrldef_planprice
- // (mtrlid,
- // status,
- // woodcode,
- // pcode,
- // planprice)
- // VALUES
- // (:ll_mtrlid,
- // :ls_status,
- // :ls_woodcode,
- // :ls_pcode,
- // :ld_planprice);
- // IF sqlca.SQLCode <> 0 THEN
- // ls_msg = sqlca.SQLErrText
- // ROLLBACK;
- // MessageBox('错误','物料:'+ls_mtrlcode+'更新计划价失败,'+ls_msg)
- // Close(w_sys_wait_jdt)
- // RETURN
- // END IF
- // END IF
- //
- // ELSE
- // IF sqlca.SQLCode <> 0 THEN
- // ls_msg = sqlca.SQLErrText
- // ROLLBACK;
- // MessageBox('错误','物料:'+ls_mtrlcode+'更新计划价失败,'+ls_msg)
- // Close(w_sys_wait_jdt)
- // RETURN
- // END IF
- // END IF
-
- NEXT
- Close(w_sys_wait_jdt)
- COMMIT;
- MessageBox('系统提示','更新计划价成功!')
- end event
- type cb_4 from commandbutton within w_rp_cmpl_mtrlcost
- integer x = 1344
- integer y = 192
- integer width = 187
- integer height = 76
- integer taborder = 50
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- string text = "全选"
- end type
- event clicked;Long i
- dw_1.AcceptText()
- dw_1.SetRedraw(False)
- FOR i = 1 To dw_1.RowCount()
- dw_1.Object.ch[i] = 1
- NEXT
- dw_1.SetRedraw(True)
- end event
- type cb_6 from commandbutton within w_rp_cmpl_mtrlcost
- integer x = 1536
- integer y = 192
- integer width = 219
- integer height = 76
- integer taborder = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- string text = "全不选"
- end type
- event clicked;Long i
- dw_1.AcceptText()
- dw_1.SetRedraw(False)
- FOR i = 1 To dw_1.RowCount()
- dw_1.Object.ch[i] = 0
- NEXT
- dw_1.SetRedraw(True)
- end event
- type cbx_auto_copy from checkbox within w_rp_cmpl_mtrlcost
- integer x = 1778
- integer y = 200
- integer width = 795
- 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 = 134217739
- string text = "统计时自动复制上次附加成本"
- end type
- event clicked;Int if_autocopy
- IF THIS.Checked THEN
- if_autocopy = 1
- ELSE
- if_autocopy = 0
- END IF
- f_SetProfileString (sys_empid,dw_1.DataObject, "if_autocopy", String(if_autocopy))
- end event
- event constructor;Int if_autocopy
- if_autocopy = Integer(f_ProfileString (sys_empid,dw_1.DataObject, "if_autocopy", '0'))
- IF if_autocopy = 0 THEN
- THIS.Checked = FALSE
- ELSE
- THIS.Checked = TRUE
- END IF
- end event
- type cb_7 from commandbutton within w_rp_cmpl_mtrlcost
- integer x = 2999
- integer y = 188
- integer width = 402
- integer height = 84
- integer taborder = 70
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- string text = "批设附加成本"
- end type
- event clicked;Int rslt = 1
- Long i,ll_row,ll_sumdate
- Decimal ld_otherprice
- String ls_mtrlcode
- String ls_pfcode
- dw_1.AcceptText()
- ll_row = dw_1.RowCount()
- IF MessageBox (publ_operator,"是否确定要按第一行附加成本批设置全部附加成本吗?",Question!,YesNo! ) = 2 THEN RETURN
- IF ll_row > 0 THEN
- ld_otherprice = dw_1.Object.otherprice[1]
- END IF
- Open(w_sys_wait_jdt)
- w_sys_wait_jdt.wf_set_msg('正在设置....')
- w_sys_wait_jdt.wf_accepttol(ll_row - 1)
- dw_1.SetRedraw(FALSE)
- FOR i = 2 TO ll_row
- ls_mtrlcode = dw_1.Object.mtrlcode[i]
- ls_pfcode = dw_1.Object.pfcode[i]
- ll_sumdate = dw_1.Object.u_mtrlprice_sum_sumdate[i]
-
- w_sys_wait_jdt.wf_inc(i)
- w_sys_wait_jdt.wf_set_msg(ls_mtrlcode+',清单:'+ls_pfcode+',正在设置中....')
-
- IF ls_pfcode = '' THEN CONTINUE
- IF ll_sumdate = 0 THEN CONTINUE
-
- dw_1.Object.otherprice[i] = ld_otherprice
- NEXT
- dw_1.SetRedraw(TRUE)
- Close(w_sys_wait_jdt)
- end event
- type cb_8 from commandbutton within w_rp_cmpl_mtrlcost
- integer x = 2592
- integer y = 188
- integer width = 402
- integer height = 84
- integer taborder = 70
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- string text = "保存附加成本"
- end type
- event clicked;int rslt = 1
- Long i,ll_row,ll_mtrlid,ll_sumdate
- Decimal ld_otherprice,ld_eqprice
- String ls_mtrlcode
- String ls_pfcode,arg_msg
- dw_1.AcceptText()
- ll_row = dw_1.RowCount()
- IF MessageBox (publ_operator,"是否确定要保存附加成本吗?",Question!,YesNo! ) = 2 THEN RETURN
- OPEN(w_sys_wait_jdt)
- w_sys_wait_jdt.wf_set_msg('正在保存....')
- w_sys_wait_jdt.wf_accepttol(ll_row)
- FOR i = 1 TO ll_row
- ll_mtrlid = dw_1.Object.mtrlid[i]
- ls_mtrlcode = dw_1.Object.mtrlcode[i]
- ls_pfcode = dw_1.Object.pfcode[i]
- ll_sumdate = dw_1.Object.u_mtrlprice_sum_sumdate[i]
- ld_otherprice = dw_1.Object.otherprice[i]
- ld_eqprice = dw_1.Object.eqprice[i]
-
- w_sys_wait_jdt.wf_inc(i)
- w_sys_wait_jdt.wf_set_msg(ls_mtrlcode+',清单:'+ls_pfcode+',正在保存中....')
-
- IF ls_pfcode = '' THEN CONTINUE
- IF ll_sumdate = 0 THEN CONTINUE
-
- UPDATE u_mtrlprice_sum
- SET cost = price + wfjgprice + jgprice + outcost + :ld_otherprice + :ld_eqprice,
- otherprice = :ld_otherprice
- WHERE mtrlid = :ll_mtrlid
- AND pfcode = :ls_pfcode
- AND sumdate = :ll_sumdate;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '更新物料:'+ls_mtrlcode+'成本失败,'+sqlca.SQLErrText
- rslt = 0
- goto ext
- END IF
- NEXT
- ext:
- CLOSE(w_sys_wait_jdt)
- IF rslt = 0 THEN
- ROLLBACK;
- MessageBox('提示','保存失败: ~n'+arg_msg)
- ELSE
- COMMIT;
- MessageBox('提示','保存成功!')
- END IF
- cb_1.TriggerEvent(Clicked!)
- end event
- type ddlb_ptoplp from dropdownlistbox within w_rp_cmpl_mtrlcost
- integer x = 5
- integer y = 312
- integer width = 2066
- integer height = 596
- integer taborder = 210
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- string text = "(材料成本 + 人力成本 + 外协成本) ×"
- boolean sorted = false
- boolean vscrollbar = true
- string item[] = {"材料成本×","人力成本×","外协成本×","费用成本×","(材料成本 + 人力成本) ×","(材料成本 + 人力成本 + 外协成本) ×","(材料成本 + 人力成本 + 外协成本 + 费用成本) ×"}
- borderstyle borderstyle = stylelowered!
- end type
- type em_ptoplp from editmask within w_rp_cmpl_mtrlcost
- integer x = 2075
- integer y = 312
- integer width = 197
- integer height = 80
- integer taborder = 220
- 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 = "1.00"
- alignment alignment = right!
- borderstyle borderstyle = stylelowered!
- string mask = "#0.00"
- end type
- event modified;this.text=string(dec(this.text),'#0.00')
- end event
- type cb_ptoplp from commandbutton within w_rp_cmpl_mtrlcost
- integer x = 2281
- integer y = 312
- integer width = 402
- integer height = 84
- integer taborder = 230
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- string text = "-> 附加成本"
- end type
- event clicked;Long ls_i,ls_count
- ls_count = dw_1.RowCount()
- dw_1.AcceptText()
- OPEN(w_sys_wait_jdt)
- w_sys_wait_jdt.wf_set_msg('正在计算....')
- w_sys_wait_jdt.wf_accepttol(ls_count)
- dw_1.SetRedraw(FALSE)
- FOR ls_i = 1 TO ls_count
- w_sys_wait_jdt.wf_inc(ls_i)
- w_sys_wait_jdt.wf_set_msg('行:'+String(ls_i)+',正在计算中....')
-
- IF dw_1.Object.ch[ls_i] = 0 THEN CONTINUE
- IF dw_1.Object.u_mtrlprice_sum_sumdate[ls_i] = 0 THEN CONTINUE
-
- IF ddlb_ptoplp.Text = '材料成本×' THEN
- dw_1.Object.otherprice[ls_i] = Round(dw_1.Object.price[ls_i] * Dec(em_ptoplp.Text),2)
- ELSEIF ddlb_ptoplp.Text = '人力成本×' THEN
- dw_1.Object.otherprice[ls_i] = Round(dw_1.Object.jgprice[ls_i] * Dec(em_ptoplp.Text),2)
- ELSEIF ddlb_ptoplp.Text = '外协成本×' THEN
- dw_1.Object.otherprice[ls_i] = Round(dw_1.Object.wfjgprice[ls_i] * Dec(em_ptoplp.Text),2)
- ELSEIF ddlb_ptoplp.Text = '费用成本×' THEN
- dw_1.Object.otherprice[ls_i] = Round(dw_1.Object.outcost[ls_i] * Dec(em_ptoplp.Text),2)
- ELSEIF ddlb_ptoplp.Text = '(材料成本 + 人力成本) ×' THEN
- dw_1.Object.otherprice[ls_i] = Round((dw_1.Object.price[ls_i] + dw_1.Object.jgprice[ls_i]) * Dec(em_ptoplp.Text),2)
- ELSEIF ddlb_ptoplp.Text = '(材料成本 + 人力成本 + 外协成本) ×' THEN
- dw_1.Object.otherprice[ls_i] = Round((dw_1.Object.price[ls_i] + dw_1.Object.jgprice[ls_i] + dw_1.Object.wfjgprice[ls_i]) * Dec(em_ptoplp.Text),2)
- ELSEIF ddlb_ptoplp.Text = '(材料成本 + 人力成本 + 外协成本 + 费用成本) ×' THEN
- dw_1.Object.otherprice[ls_i] = Round((dw_1.Object.price[ls_i] + dw_1.Object.jgprice[ls_i] + dw_1.Object.wfjgprice[ls_i] + dw_1.Object.outcost[ls_i]) * Dec(em_ptoplp.Text),2)
- END IF
- NEXT
- dw_1.SetRedraw(TRUE)
- CLOSE(w_sys_wait_jdt)
- end event
- type cb_add_mtrl from uo_imflatbutton within w_rp_cmpl_mtrlcost
- integer x = 581
- integer width = 288
- integer height = 164
- integer taborder = 30
- 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 MessageBox('询问','是否确认要插入新增的物料资料?',question!,yesno!) = 2 THEN RETURN
- w_sys_wait.wf_set_msg('正在插入新增资料...')
- w_sys_wait.Show()
- INSERT INTO u_mtrlprice_sum
- (mtrlid,
- status,
- woodcode,
- pcode,
- pfcode,
- sumdate)
- SELECT u_mtrl_configure.Mtrlid,
- u_mtrl_configure.name,
- '' AS woodcode,
- '' AS pcode,
- u_mtrl_configure.name ,
- 0
- FROM u_mtrl_configure INNER JOIN
- u_mtrldef ON u_mtrl_configure.Mtrlid = u_mtrldef.mtrlid
- WHERE (u_mtrldef.statusflag = 2) AND (NOT EXISTS
- (SELECT *
- FROM u_mtrlprice_sum
- WHERE mtrlid = u_mtrl_configure.mtrlid AND status = u_mtrl_configure.name AND
- woodcode = '' And pcode = ''));
- IF sqlca.SQLCode <> 0 THEN
- w_sys_wait.Hide()
- MessageBox('Error','插入新增的组合配置失败,'+sqlca.SQLErrText)
- ROLLBACK;
- RETURN
- END IF
- INSERT INTO u_mtrlprice_sum
- (mtrlid,
- status,
- woodcode,
- pcode,
- pfcode,
- sumdate)
- SELECT u_mtrldef.mtrlid,
- CASE statusflag WHEN 4 THEN status_config ELSE '' END AS status,
- CASE woodcodeflag WHEN 4 THEN woodcode_config ELSE '' END AS woodcode,
- CASE pcodeflag WHEN 4 THEN pcode_config ELSE '' END AS pcode,
- u_mtrl_pf.pfcode,
- 0
- FROM u_mtrldef INNER JOIN (select distinct mtrlid, pfcode from u_PrdPF)
- u_mtrl_pf ON u_mtrldef.mtrlid = u_mtrl_pf.Mtrlid
- WHERE (u_mtrldef.statusflag <> 2) AND (NOT EXISTS
- (SELECT *
- FROM u_mtrlprice_sum
- WHERE mtrlid = u_mtrldef.mtrlid AND
- status = CASE statusflag WHEN 4 THEN status_config ELSE '' END AND
- woodcode = CASE woodcodeflag WHEN 4 THEN woodcode_config ELSE '' END
- And pcode = CASE pcodeflag WHEN 4 THEN pcode_config ELSE '' END));
- IF sqlca.SQLCode <> 0 THEN
- w_sys_wait.Hide()
- MessageBox('Error','插入新增的产品及物料失败,'+sqlca.SQLErrText)
- ROLLBACK;
- RETURN
- END IF
- //INSERT INTO u_mtrlprice_sum
- // (mtrlid,
- // status,
- // woodcode,
- // pcode,
- // pfcode,
- // sumdate)
- // SELECT DISTINCT
- // u_Order_ml.mtrlid,
- // u_Order_ml.status_mode,
- // u_Order_ml.woodcode,
- // u_Order_ml.pcode,
- // CASE u_mtrldef.statusflag WHEN 2 THEN u_Order_ml.status_mode ELSE u_order_ml.pfcode
- // END AS pfcode,
- // 0
- // FROM u_Order_ml INNER JOIN
- // u_mtrldef ON u_Order_ml.mtrlid = u_mtrldef.mtrlid
- // WHERE (NOT EXISTS
- // (SELECT *
- // FROM u_mtrlprice_sum
- // WHERE mtrlid = u_order_ml.mtrlid AND status = u_Order_ml.status_mode AND
- // woodcode = u_Order_ml.woodcode AND pcode = u_Order_ml.pcode)) AND
- // (u_Order_ml.status <> 0) And (u_mtrldef.statusflag = 4 Or u_mtrldef.woodcodeflag = 4 Or u_mtrldef.pcodeflag = 4);
- //IF sqlca.SQLCode <> 0 THEN
- // w_sys_wait.Hide()
- // MessageBox('Error','插入生产中涉及到的新部件选配产品失败,'+sqlca.SQLErrText)
- // ROLLBACK;
- // RETURN
- //END IF
- COMMIT;
- w_sys_wait.Hide()
- messagebox('系统提示','操作成功!')
- cb_1.TriggerEvent(Clicked!)
- end event
- type cb_edit from uo_imflatbutton within w_rp_cmpl_mtrlcost
- integer x = 302
- integer width = 274
- integer height = 164
- integer taborder = 50
- 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 NOT f_power_ind(1631) THEN
- MessageBox(publ_operator,"你没有使用权限")
- RETURN
- END IF
- IF dw_edit_mode THEN
- IF MessageBox(publ_operator,'是否要确定放弃保存资料', Exclamation!, YesNo!, 2) = 2 THEN
- RETURN
- END IF
- END IF
- dw_edit_mode = NOT dw_edit_mode
- wf_face()
- IF NOT dw_edit_mode THEN
- cb_1.TriggerEvent(Clicked!)
- END IF
- end event
- type cb_save from uo_imflatbutton within w_rp_cmpl_mtrlcost
- integer x = 151
- integer width = 151
- integer height = 164
- integer taborder = 50
- boolean bringtotop = true
- boolean enabled = false
- string text = "保存"
- string normalpicname = "save.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;
- IF NOT f_power_ind(1631) THEN
- MessageBox(publ_operator,"你没有使用权限")
- RETURN
- END IF
- int rslt = 1
- Long i,ll_row,ll_mtrlid,ll_sumdate
- Decimal ld_otherprice,ld_eqprice
- String ls_mtrlcode
- String ls_pfcode,arg_msg
- decimal ld_price,ld_wfjgprice,ld_jgprice,ld_outcost
- dw_1.AcceptText()
- ll_row = dw_1.RowCount()
- IF MessageBox (publ_operator,"是否确定要保存修改后的成本吗?",Question!,YesNo! ) = 2 THEN RETURN
- OPEN(w_sys_wait_jdt)
- w_sys_wait_jdt.wf_set_msg('正在保存....')
- w_sys_wait_jdt.wf_accepttol(ll_row)
- FOR i = 1 TO ll_row
- ll_mtrlid = dw_1.Object.mtrlid[i]
- ls_mtrlcode = dw_1.Object.mtrlcode[i]
- ls_pfcode = dw_1.Object.pfcode[i]
- ll_sumdate = dw_1.Object.u_mtrlprice_sum_sumdate[i]
-
- ld_price = dw_1.Object.price[i]
- ld_jgprice = dw_1.Object.jgprice[i]
- ld_wfjgprice = dw_1.Object.wfjgprice[i]
- ld_outcost = dw_1.Object.outcost[i]
- ld_eqprice = dw_1.Object.eqprice[i]
- ld_otherprice = dw_1.Object.otherprice[i]
-
- w_sys_wait_jdt.wf_inc(i)
- w_sys_wait_jdt.wf_set_msg(ls_mtrlcode+',清单:'+ls_pfcode+',正在保存中....')
-
- IF ls_pfcode = '' THEN CONTINUE
- IF ll_sumdate = 0 THEN CONTINUE
-
- UPDATE u_mtrlprice_sum
- SET price = :ld_price,
- cost = :ld_price + :ld_wfjgprice + :ld_jgprice + :ld_outcost + :ld_otherprice + :ld_eqprice,
- wfjgprice = :ld_wfjgprice,
- jgprice = :ld_jgprice,
- outcost = :ld_outcost,
- otherprice = :ld_otherprice,
- eqprice = :ld_eqprice
- WHERE mtrlid = :ll_mtrlid
- AND pfcode = :ls_pfcode
- AND sumdate = :ll_sumdate;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '更新物料:'+ls_mtrlcode+'成本失败,'+sqlca.SQLErrText
- rslt = 0
- goto ext
- END IF
- NEXT
- ext:
- CLOSE(w_sys_wait_jdt)
- IF rslt = 0 THEN
- ROLLBACK;
- MessageBox('提示','保存失败: ~n'+arg_msg)
- ELSE
- COMMIT;
- MessageBox('提示','保存成功!')
- END IF
- cb_1.TriggerEvent(Clicked!)
- dw_edit_mode = NOT dw_edit_mode
- wf_face()
- end event
- type cbx_isuse from checkbox within w_rp_cmpl_mtrlcost
- integer x = 814
- integer y = 200
- integer width = 466
- 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 = 134217739
- string text = "不显示无效资料"
- boolean checked = true
- end type
- event clicked;Int if_isuse
- IF THIS.Checked THEN
- if_isuse = 1
- ELSE
- if_isuse = 0
- END IF
- f_SetProfileString (sys_empid,dw_1.DataObject, "if_isuse", String(if_isuse))
- cb_1.triggerevent(clicked!)
- end event
- event constructor;Int if_isuse
- if_isuse = Integer(f_ProfileString (sys_empid,dw_1.DataObject, "if_isuse", '1'))
- IF if_isuse = 0 THEN
- This.Checked = False
- ELSE
- This.Checked = True
- END IF
- end event
|