1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299 |
- $PBExportHeader$w_order_ml_mrp.srw
- forward
- global type w_order_ml_mrp from w_publ_base
- end type
- type dw_1 from u_dw_rbtnfilter within w_order_ml_mrp
- end type
- type cb_save from uo_imflatbutton within w_order_ml_mrp
- end type
- type cb_re_cmpl from uo_imflatbutton within w_order_ml_mrp
- end type
- type cb_lock from uo_imflatbutton within w_order_ml_mrp
- end type
- type ln_bar from line within w_order_ml_mrp
- end type
- type ln_bar2 from line within w_order_ml_mrp
- end type
- type r_bar from rectangle within w_order_ml_mrp
- end type
- type cb_cmpl from uo_imflatbutton within w_order_ml_mrp
- end type
- type cb_undo from uo_imflatbutton within w_order_ml_mrp
- end type
- type cb_copyrow from uo_imflatbutton within w_order_ml_mrp
- end type
- type cbx_if_allowuse from checkbox within w_order_ml_mrp
- end type
- type cb_change from uo_imflatbutton within w_order_ml_mrp
- end type
- type st_dscrp from statictext within w_order_ml_mrp
- end type
- type cb_change_pz from uo_imflatbutton within w_order_ml_mrp
- end type
- type cb_cancel_scll from uo_imflatbutton within w_order_ml_mrp
- end type
- type cbx_ifwx_mtrl_not_useqty from checkbox within w_order_ml_mrp
- end type
- type cb_sort from uo_imflatbutton within w_order_ml_mrp
- end type
- type cb_help from uo_imflatbutton within w_order_ml_mrp
- end type
- type cbx_ifbuy_mtrl_not_useqty from checkbox within w_order_ml_mrp
- end type
- type em_1 from editmask within w_order_ml_mrp
- end type
- type st_1 from statictext within w_order_ml_mrp
- end type
- type ln_1 from line within w_order_ml_mrp
- end type
- type ln_2 from line within w_order_ml_mrp
- end type
- type ln_3 from line within w_order_ml_mrp
- end type
- type ln_4 from line within w_order_ml_mrp
- end type
- end forward
- global type w_order_ml_mrp from w_publ_base
- integer width = 3621
- integer height = 2460
- string title = "用料运算"
- boolean minbox = false
- windowtype windowtype = response!
- windowstate windowstate = maximized!
- event ue_sort_1 ( )
- event ue_sort_2 ( )
- event ue_help ( )
- dw_1 dw_1
- cb_save cb_save
- cb_re_cmpl cb_re_cmpl
- cb_lock cb_lock
- ln_bar ln_bar
- ln_bar2 ln_bar2
- r_bar r_bar
- cb_cmpl cb_cmpl
- cb_undo cb_undo
- cb_copyrow cb_copyrow
- cbx_if_allowuse cbx_if_allowuse
- cb_change cb_change
- st_dscrp st_dscrp
- cb_change_pz cb_change_pz
- cb_cancel_scll cb_cancel_scll
- cbx_ifwx_mtrl_not_useqty cbx_ifwx_mtrl_not_useqty
- cb_sort cb_sort
- cb_help cb_help
- cbx_ifbuy_mtrl_not_useqty cbx_ifbuy_mtrl_not_useqty
- em_1 em_1
- st_1 st_1
- ln_1 ln_1
- ln_2 ln_2
- ln_3 ln_3
- ln_4 ln_4
- end type
- global w_order_ml_mrp w_order_ml_mrp
- type variables
- Long i_taskid,i_scid
- Int i_printid
- Int i_Ordertype
- Long ll_unlock_row
- Boolean if_cmpl = TRUE
- Decimal i_d_cmplqty_old
- Int i_i_plantype_old
- Long i_l_scid_old
-
- end variables
- forward prototypes
- public function integer wf_face ()
- end prototypes
- event ue_sort_1();IF MessageBox ("IF","是否确定要重新排序已运算的数据,重新排序后可能会影响下级换料,是否继续?",Question!,YesNo! ) = 2 THEN RETURN
- dw_1.SetSort('u_orderrqmtrl_tree_ifmainmtrlid ds,u_orderrqmtrl_tree_wrkgrpid as')
- dw_1.Sort( )
- end event
- event ue_sort_2();IF MessageBox ("IF","是否确定要重新排序已运算的数据,重新排序后可能会影响下级换料,是否继续?",Question!,YesNo! ) = 2 THEN RETURN
- dw_1.SetSort('u_orderrqmtrl_tree_ifmainmtrlid ds,u_mtrldef_mtrltype as')
- dw_1.Sort( )
- end event
- event ue_help();Int i
- i = htmlhelpA(Handle(THIS), sys_help_chm, 0, THIS.Title+".htm")
- end event
- public function integer wf_face ();Long ll_row
- dw_1.AcceptText()
- ll_row = dw_1.GetRow()
- IF ll_row <= 0 THEN
- cb_save.Enabled = FALSE
- cb_re_cmpl.Enabled = FALSE
- cb_cmpl.Enabled = FALSE
- cb_lock.Enabled = FALSE
- cb_undo.Enabled = FALSE
- cb_copyrow.Enabled = FALSE
- cb_change.Enabled = FALSE
- cb_change_pz.Enabled = FALSE
- cb_cancel_scll.Enabled = FALSE
- cb_sort.Enabled = FALSE
- ELSE
- IF dw_1.Object.ifcmpl[ll_row] = 0 THEN
- cb_save.Enabled = FALSE
- cb_re_cmpl.Enabled = FALSE
- cb_cmpl.Enabled = TRUE
- cb_lock.Enabled = FALSE
- cb_undo.Enabled = TRUE
- cb_copyrow.Enabled = FALSE
- cb_change.Enabled = FALSE
- cb_change_pz.Enabled = FALSE
- cb_cancel_scll.Enabled = FALSE
- cb_sort.Enabled = FALSE
- ELSE
- cb_save.Enabled = TRUE
- cb_re_cmpl.Enabled = TRUE
- cb_cmpl.Enabled = FALSE
- cb_lock.Enabled = TRUE
- cb_undo.Enabled = FALSE
- cb_copyrow.Enabled = TRUE
- cb_change.Enabled = TRUE
- cb_change_pz.Enabled = true
- cb_cancel_scll.Enabled = TRUE
- cb_sort.Enabled = TRUE
- END IF
- END IF
- RETURN 1
- end function
- on w_order_ml_mrp.create
- int iCurrent
- call super::create
- this.dw_1=create dw_1
- this.cb_save=create cb_save
- this.cb_re_cmpl=create cb_re_cmpl
- this.cb_lock=create cb_lock
- this.ln_bar=create ln_bar
- this.ln_bar2=create ln_bar2
- this.r_bar=create r_bar
- this.cb_cmpl=create cb_cmpl
- this.cb_undo=create cb_undo
- this.cb_copyrow=create cb_copyrow
- this.cbx_if_allowuse=create cbx_if_allowuse
- this.cb_change=create cb_change
- this.st_dscrp=create st_dscrp
- this.cb_change_pz=create cb_change_pz
- this.cb_cancel_scll=create cb_cancel_scll
- this.cbx_ifwx_mtrl_not_useqty=create cbx_ifwx_mtrl_not_useqty
- this.cb_sort=create cb_sort
- this.cb_help=create cb_help
- this.cbx_ifbuy_mtrl_not_useqty=create cbx_ifbuy_mtrl_not_useqty
- this.em_1=create em_1
- this.st_1=create st_1
- this.ln_1=create ln_1
- this.ln_2=create ln_2
- this.ln_3=create ln_3
- this.ln_4=create ln_4
- iCurrent=UpperBound(this.Control)
- this.Control[iCurrent+1]=this.dw_1
- this.Control[iCurrent+2]=this.cb_save
- this.Control[iCurrent+3]=this.cb_re_cmpl
- this.Control[iCurrent+4]=this.cb_lock
- this.Control[iCurrent+5]=this.ln_bar
- this.Control[iCurrent+6]=this.ln_bar2
- this.Control[iCurrent+7]=this.r_bar
- this.Control[iCurrent+8]=this.cb_cmpl
- this.Control[iCurrent+9]=this.cb_undo
- this.Control[iCurrent+10]=this.cb_copyrow
- this.Control[iCurrent+11]=this.cbx_if_allowuse
- this.Control[iCurrent+12]=this.cb_change
- this.Control[iCurrent+13]=this.st_dscrp
- this.Control[iCurrent+14]=this.cb_change_pz
- this.Control[iCurrent+15]=this.cb_cancel_scll
- this.Control[iCurrent+16]=this.cbx_ifwx_mtrl_not_useqty
- this.Control[iCurrent+17]=this.cb_sort
- this.Control[iCurrent+18]=this.cb_help
- this.Control[iCurrent+19]=this.cbx_ifbuy_mtrl_not_useqty
- this.Control[iCurrent+20]=this.em_1
- this.Control[iCurrent+21]=this.st_1
- this.Control[iCurrent+22]=this.ln_1
- this.Control[iCurrent+23]=this.ln_2
- this.Control[iCurrent+24]=this.ln_3
- this.Control[iCurrent+25]=this.ln_4
- end on
- on w_order_ml_mrp.destroy
- call super::destroy
- destroy(this.dw_1)
- destroy(this.cb_save)
- destroy(this.cb_re_cmpl)
- destroy(this.cb_lock)
- destroy(this.ln_bar)
- destroy(this.ln_bar2)
- destroy(this.r_bar)
- destroy(this.cb_cmpl)
- destroy(this.cb_undo)
- destroy(this.cb_copyrow)
- destroy(this.cbx_if_allowuse)
- destroy(this.cb_change)
- destroy(this.st_dscrp)
- destroy(this.cb_change_pz)
- destroy(this.cb_cancel_scll)
- destroy(this.cbx_ifwx_mtrl_not_useqty)
- destroy(this.cb_sort)
- destroy(this.cb_help)
- destroy(this.cbx_ifbuy_mtrl_not_useqty)
- destroy(this.em_1)
- destroy(this.st_1)
- destroy(this.ln_1)
- destroy(this.ln_2)
- destroy(this.ln_3)
- destroy(this.ln_4)
- end on
- event resize;call super::resize;ln_bar.EndX = THIS.Width
- ln_bar2.EndX = THIS.Width
- r_bar.Width = THIS.Width
- ln_1.EndX = THIS.Width
- ln_2.EndX = THIS.Width
- ln_3.EndX = THIS.Width
- ln_4.EndX = THIS.Width
- dw_1.Width = THIS.Width - dw_1.X - 40
- dw_1.Height = THIS.Height - dw_1.Y - 150
- st_dscrp.Width = THIS.Width - st_dscrp.X - 40
- end event
- event open;call super::open;Int rslt = 1
- s_order_ml_mrp s_mrp
- s_order_ml_rqmtrl s_ref_mtrl
- s_mrp = Message.PowerObjectParm
- uo_order_ml_mrp uo_ml_mrp
- uo_ml_mrp = Create uo_order_ml_mrp
- Int li_if_allowuse,li_if_date
- li_if_allowuse = s_mrp.if_allowuse
- li_if_date = s_mrp.if_date
- IF li_if_allowuse = 1 THEN
- cbx_if_allowuse.Checked = True
- ELSE
- cbx_if_allowuse.Checked = False
- END IF
- cbx_if_allowuse.TriggerEvent(Clicked!)
- cbx_ifwx_mtrl_not_useqty.Checked = s_mrp.ifwx_mtrl_not_useqty
- cbx_ifbuy_mtrl_not_useqty.Checked = s_mrp.ifbuy_mtrl_not_useqty
- st_dscrp.Text = '销售订单明细备注:'+s_mrp.dscrp
- i_taskid = s_mrp.taskid
- i_scid = s_mrp.scid
- i_printid = s_mrp.printid
- dw_1.SetTransObject(sqlca)
- IF dw_1.Retrieve(i_scid,i_taskid,i_printid) = 0 THEN
- cb_re_cmpl.TriggerEvent(Clicked!)
- END IF
- ////????
- //====================================================================
- // 添加成品行
- //====================================================================
- Long ll_mtrlid
- String ls_pfcode
- String ls_status,ls_woodcode,ls_pcode
- Decimal ld_orderqty
- Long ll_i
- DateTime ld_requiredate
- String arg_msg
- Long ll_ordertype
- SELECT mtrlid,
- orderqty,
- status,
- woodcode,
- pcode
- INTO :ll_mtrlid,
- :ld_orderqty,
- :ls_status,
- :ls_woodcode,
- :ls_pcode
- FROM u_saletaskmx
- WHERE u_saletaskmx.scid = :i_scid AND
- u_saletaskmx.taskid = :i_taskid AND
- u_saletaskmx.printid = :i_printid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询销售订单明细资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- IF cbx_if_allowuse.Checked THEN
- li_if_allowuse = 1
- ELSE
- li_if_allowuse = 0
- END IF
- uo_ml_mrp.ifbuy_mtrl_not_useqty = cbx_ifbuy_mtrl_not_useqty.Checked
- uo_ml_mrp.ifwx_mtrl_not_useqty = cbx_ifwx_mtrl_not_useqty.Checked
- IF uo_ml_mrp.uof_cmpl_rqmtrl(i_scid,i_taskid,i_printid,0,ll_mtrlid,&
- ls_status,ls_woodcode,ls_pcode,ld_orderqty,0,&
- li_if_allowuse,s_ref_mtrl,arg_msg,0,'') = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- Long ll_row
- String ls_exp = ''
- FOR ll_i = UpperBound(s_ref_mtrl.mtrlid) To 1 Step -1
- IF s_ref_mtrl.ifmainmtrlid[ll_i] = 1 THEN
- ls_exp += 'u_OrderRqMtrl_tree_scid = ' + String(i_scid)
- ls_exp += ' AND u_OrderRqMtrl_tree_taskid = ' + String(i_taskid)
- ls_exp += ' AND u_OrderRqMtrl_tree_mtrlid = ' + String(s_ref_mtrl.mtrlid[ll_i])
- ls_exp += ' AND u_orderrqmtrl_tree_wrkgrpid = ' + String(s_ref_mtrl.produce_wrkgrpid[ll_i])
- ls_exp += ' AND u_OrderRqMtrl_tree_printid = ' + String(i_printid)
- IF dw_1.Find(ls_exp, 1, dw_1.RowCount()) <= 0 THEN
- ll_row = dw_1.InsertRow(1)
-
- i_d_cmplqty_old = s_ref_mtrl.cmplqty[ll_i]
-
- dw_1.Object.u_OrderRqMtrl_tree_scid[ll_row] = i_scid
- dw_1.Object.u_OrderRqMtrl_tree_taskid[ll_row] = i_taskid
- dw_1.Object.u_OrderRqMtrl_tree_printid[ll_row] = i_printid
-
- dw_1.Object.u_mtrldef_mtrlcode[ll_row] = s_ref_mtrl.mtrlcode[ll_i]
- dw_1.Object.u_mtrldef_mtrlname[ll_row] = s_ref_mtrl.mtrlname[ll_i]
- dw_1.Object.u_mtrldef_mtrlmode[ll_row] = s_ref_mtrl.mtrlmode[ll_i]
- dw_1.Object.u_mtrldef_unit[ll_row] = s_ref_mtrl.unit[ll_i]
- dw_1.Object.u_mtrldef_mtrlorigin[ll_row] = s_ref_mtrl.mtrlorigin[ll_i]
- dw_1.Object.u_mtrldef_mtrltype[ll_row] = s_ref_mtrl.mtrltype[ll_i]
- dw_1.Object.u_mtrldef_mtrlprp[ll_row] = s_ref_mtrl.mtrlprp[ll_i]
-
- dw_1.Object.u_orderrqmtrl_tree_pcode[ll_row] = s_ref_mtrl.pcode[ll_i]
- dw_1.Object.u_orderrqmtrl_tree_wrkgrpid[ll_row] = s_ref_mtrl.produce_wrkgrpid[ll_i]
-
- dw_1.Object.u_OrderRqMtrl_tree_lp[ll_row] = s_ref_mtrl.lp[ll_i]
-
- dw_1.Object.u_OrderRqMtrl_tree_mtrlid[ll_row] = s_ref_mtrl.mtrlid[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_plantype[ll_row] = s_ref_mtrl.plantype[ll_i]
-
- dw_1.Object.u_OrderRqMtrl_tree_rqqty[ll_row] = s_ref_mtrl.qty[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_truerqqty[ll_row] = s_ref_mtrl.cmplqty[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_mqty[ll_row] = s_ref_mtrl.mqty[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_bqty[ll_row] = s_ref_mtrl.bqty[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_wqty[ll_row] = s_ref_mtrl.wqty[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_pqty[ll_row] = s_ref_mtrl.pqty[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_otherrqqty[ll_row] = s_ref_mtrl.otherrqqty[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_samerqqty[ll_row] = s_ref_mtrl.samerqqty[ll_i]
- dw_1.Object.minqty[ll_row] = s_ref_mtrl.minqty[ll_i]
- dw_1.Object.maxqty[ll_row] = s_ref_mtrl.maxqty[ll_i]
- dw_1.Object.ckwareqty[ll_row] = s_ref_mtrl.ckwareqty[ll_i]
-
- dw_1.Object.u_OrderRqMtrl_tree_pmtrlid[ll_row] = s_ref_mtrl.pmtrlid[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_ifchanged[ll_row] = s_ref_mtrl.ifchanged[ll_i]
-
- dw_1.Object.u_OrderRqMtrl_tree_ifmainmtrlid[ll_row] = s_ref_mtrl.ifmainmtrlid[ll_i]
-
-
- END IF
-
- END IF
-
-
- NEXT
- wf_face()
- ext:
- Destroy uo_ml_mrp
- IF rslt = 0 THEN
- MessageBox('错误', arg_msg)
- END IF
- end event
- event ue_before_open;call super::ue_before_open;if_ue_sort = TRUE
- end event
- event key;call super::key;IF KeyDown(KeyF1!) THEN
- This.TriggerEvent('ue_help')
- END IF
- end event
- type cb_func from w_publ_base`cb_func within w_order_ml_mrp
- boolean visible = false
- integer x = 2738
- integer height = 164
- boolean enabled = false
- end type
- type cb_exit from w_publ_base`cb_exit within w_order_ml_mrp
- integer x = 1989
- integer width = 165
- integer height = 164
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- type dw_1 from u_dw_rbtnfilter within w_order_ml_mrp
- integer y = 388
- integer width = 3543
- integer height = 1872
- integer taborder = 20
- boolean bringtotop = true
- string dataobject = "dw_order_ml_mrp_tree"
- boolean hscrollbar = true
- boolean vscrollbar = true
- boolean hsplitscroll = true
- end type
- event itemchanged;call super::itemchanged;THIS.AcceptText()
- CHOOSE CASE dwo.Name
- CASE 'u_ordermtrl_plantype'
- IF THIS.Object.u_ordermtrl_tree_plantype[row] = 2 THEN
- THIS.Object.u_ordermtrl_tree_produce_wrkgrpid[row] = 0
- END IF
- CASE 'u_ordermtrl_scid'
- Long ll_produce_wrkgrpid,ll_scid_wrkgrpid,ll_produce_scid
- ll_produce_wrkgrpid = THIS.Object.u_ordermtrl_tree_produce_wrkgrpid[row]
- ll_produce_scid = THIS.Object.u_ordermtrl_tree_produce_scid[row]
-
- SELECT scid INTO :ll_scid_wrkgrpid
- FROM u_sc_wkp
- Where wrkgrpid = :ll_produce_wrkgrpid;
- IF sqlca.SQLCode <> 0 THEN ll_scid_wrkgrpid = 0
-
- IF ll_scid_wrkgrpid <> ll_produce_scid THEN
- THIS.Object.u_ordermtrl_tree_produce_wrkgrpid[row] = 0
- END IF
- END CHOOSE
- end event
- event rowfocuschanged;call super::rowfocuschanged;THIS.AcceptText()
- IF NOT if_cmpl AND currentrow <> ll_unlock_row THEN
-
- MessageBox('提示','系统处理解锁状态,请先计算')
- THIS.SelectRow(0,FALSE)
- THIS.SetRow(ll_unlock_row)
- THIS.SelectRow(ll_unlock_row,TRUE)
- RETURN
- END IF
- IF currentrow > 0 THEN
- THIS.SelectRow(0,FALSE)
- THIS.SetRow(currentrow)
- THIS.SelectRow(currentrow,TRUE)
- END IF
- end event
- event clicked;call super::clicked;THIS.AcceptText()
- IF NOT if_cmpl and row <> ll_unlock_row THEN
- MessageBox('提示','系统处理解锁状态,请先计算')
- THIS.SelectRow(0,FALSE)
- THIS.SetRow(ll_unlock_row)
- THIS.SelectRow(ll_unlock_row,TRUE)
- RETURN
- END IF
- IF row > 0 THEN
- THIS.SelectRow(0,FALSE)
- THIS.SetRow(row)
- THIS.SelectRow(row,TRUE)
- END IF
- end event
- event rbuttondown;Long ll_row,ll_column
- ll_row = THIS.GetRow()
- ll_column = THIS.GetColumn()
- IF ll_row <= 0 THEN RETURN
- IF ll_column <= 0 THEN RETURN
- IF Left( THIS.Describe( dwo.Name+ ".coltype"),4) = 'date' THEN
- s_calender_arg s_calender
-
- s_calender.PointerX = xpos
- s_calender.PointerY = ypos
- s_calender.X = THIS.X + PARENT.X
- s_calender.Y = THIS.Y + PARENT.Y
-
- OpenWithParm(w_calendar,s_calender)
- THIS.SetItem(ll_row,ll_column,id_date_selected)
-
- END IF
- end event
- type cb_save from uo_imflatbutton within w_order_ml_mrp
- integer x = 658
- integer width = 165
- integer height = 164
- integer taborder = 30
- boolean bringtotop = true
- string text = "保存"
- string normalpicname = "save.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;Long ll_i,ch,ch_tree
- String arg_msg
- s_order_ml_rqmtrl s_mtrl,s_mtrl_tree
- dw_1.AcceptText()
- IF dw_1.RowCount() <= 0 THEN
- MessageBox('提示','没有可保存的数据')
- RETURN
- END IF
- FOR ll_i = 1 TO dw_1.RowCount()
- ch_tree++
- s_mtrl_tree.taskid[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_taskid[ll_i]
- s_mtrl_tree.printid[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_printid[ll_i]
- s_mtrl_tree.mxpkid[ch_tree] = ch_tree //dw_1.Object.u_orderrqmtrl_tree_mxpkid[ll_i]
-
- s_mtrl_tree.scid[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_scid[ll_i]
- s_mtrl_tree.mtrlid[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_mtrlid[ll_i]
- s_mtrl_tree.status[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_status[ll_i]
- s_mtrl_tree.woodcode[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_woodcode[ll_i]
- s_mtrl_tree.pcode[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_pcode[ll_i]
-
- s_mtrl_tree.qty[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_rqqty[ll_i]//用料数
- s_mtrl_tree.cmplqty[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_truerqqty[ll_i] //需生产制造采购数
- s_mtrl_tree.mqty[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_mqty[ll_i]
- s_mtrl_tree.bqty[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_bqty[ll_i]
- s_mtrl_tree.wqty[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_wqty[ll_i]
- s_mtrl_tree.pqty[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_pqty[ll_i]
- s_mtrl_tree.otherrqqty[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_otherrqqty[ll_i]
- s_mtrl_tree.samerqqty[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_samerqqty[ll_i]
- s_mtrl_tree.minqty[ch_tree] = dw_1.Object.minqty[ll_i]
- s_mtrl_tree.maxqty[ch_tree] = dw_1.Object.maxqty[ll_i]
- s_mtrl_tree.ckwareqty[ch_tree] = dw_1.Object.ckwareqty[ll_i]
-
- s_mtrl_tree.ifmainmtrlid[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_ifmainmtrlid[ll_i]
- s_mtrl_tree.plantype[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_plantype[ll_i]
-
- s_mtrl_tree.produce_scid[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_produce_scid[ll_i]
- s_mtrl_tree.produce_wrkgrpid[ch_tree] = dw_1.Object.u_orderrqmtrl_tree_wrkgrpid[ll_i]
- s_mtrl_tree.wrkgrpid_scll[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_wrkgrpid[ll_i]
- s_mtrl_tree.lp[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_lp[ll_i]
- s_mtrl_tree.pmtrlid[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_pmtrlid[ll_i]
- s_mtrl_tree.ifchanged[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_ifchanged[ll_i]
- s_mtrl_tree.pfgroup[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_pfgroup[ll_i]
-
- s_mtrl_tree.promode[ch_tree] = dw_1.Object.u_orderrqmtrl_tree_promode[ll_i]
- s_mtrl_tree.pfgroupmode[ch_tree] = dw_1.Object.u_orderrqmtrl_tree_pfgroupmode[ll_i]
- s_mtrl_tree.pfklmode[ch_tree] = dw_1.Object.u_orderrqmtrl_tree_pfklmode[ll_i]
- s_mtrl_tree.pfgroupqty[ch_tree] = dw_1.Object.u_orderrqmtrl_tree_pfgroupqty[ll_i]
-
-
- //if dw_1.Object.u_orderrqmtrl_tree_ifmainmtrlid[ll_i] = 1 then continue;
- IF dw_1.Object.u_OrderRqMtrl_tree_rqqty[ll_i] = 0 AND dw_1.Object.u_OrderRqMtrl_tree_truerqqty[ll_i] = 0 THEN CONTINUE
-
- ch++
- s_mtrl.taskid[ch] = dw_1.Object.u_OrderRqMtrl_tree_taskid[ll_i]
- s_mtrl.printid[ch] = dw_1.Object.u_OrderRqMtrl_tree_printid[ll_i]
- s_mtrl.scid[ch] = dw_1.Object.u_OrderRqMtrl_tree_scid[ll_i]
- s_mtrl.mtrlid[ch] = dw_1.Object.u_OrderRqMtrl_tree_mtrlid[ll_i]
-
- s_mtrl.qty[ch] = dw_1.Object.u_OrderRqMtrl_tree_rqqty[ll_i]
- s_mtrl.cmplqty[ch] = dw_1.Object.u_OrderRqMtrl_tree_truerqqty[ll_i]
- s_mtrl.mqty[ch] = dw_1.Object.u_OrderRqMtrl_tree_mqty[ll_i]
- s_mtrl.bqty[ch] = dw_1.Object.u_OrderRqMtrl_tree_bqty[ll_i]
- s_mtrl.wqty[ch] = dw_1.Object.u_OrderRqMtrl_tree_wqty[ll_i]
- s_mtrl.pqty[ch] = dw_1.Object.u_OrderRqMtrl_tree_pqty[ll_i]
- s_mtrl.otherrqqty[ch] = dw_1.Object.u_OrderRqMtrl_tree_otherrqqty[ll_i]
- s_mtrl.minqty[ch] = dw_1.Object.minqty[ll_i]
-
- s_mtrl.ifmainmtrlid[ch] = dw_1.Object.u_OrderRqMtrl_tree_ifmainmtrlid[ll_i]
- s_mtrl.plantype[ch] = dw_1.Object.u_OrderRqMtrl_tree_plantype[ll_i]
- s_mtrl.produce_scid[ch] = dw_1.Object.u_OrderRqMtrl_tree_produce_scid[ll_i]
- s_mtrl.produce_wrkgrpid[ch] = dw_1.Object.u_orderrqmtrl_tree_wrkgrpid[ll_i]
- s_mtrl.wrkgrpid_scll[ch] = dw_1.Object.u_OrderRqMtrl_tree_wrkgrpid[ll_i]
- s_mtrl.lp[ch] = dw_1.Object.u_OrderRqMtrl_tree_lp[ll_i]
- s_mtrl.status[ch] = dw_1.Object.u_OrderRqMtrl_tree_status[ll_i]
- s_mtrl.woodcode[ch] = dw_1.Object.u_OrderRqMtrl_tree_woodcode[ll_i]
- s_mtrl.pcode[ch] = dw_1.Object.u_OrderRqMtrl_tree_pcode[ll_i]
- s_mtrl.pmtrlid[ch] = dw_1.Object.u_OrderRqMtrl_tree_pmtrlid[ll_i]
- s_mtrl.ifchanged[ch] = dw_1.Object.u_OrderRqMtrl_tree_ifchanged[ll_i]
-
- s_mtrl.promode[ch] = dw_1.Object.u_orderrqmtrl_tree_promode[ll_i]
- s_mtrl.pfgroupmode[ch] = dw_1.Object.u_orderrqmtrl_tree_pfgroupmode[ll_i]
- s_mtrl.pfklmode[ch] = dw_1.Object.u_orderrqmtrl_tree_pfklmode[ll_i]
- s_mtrl.pfgroupqty[ch] = dw_1.Object.u_orderrqmtrl_tree_pfgroupqty[ll_i]
-
- NEXT
- uo_order_ml_mrp uo_ml_mrp
- uo_ml_mrp = CREATE uo_order_ml_mrp
- IF uo_ml_mrp.uof_add_rqmtrl(s_mtrl,FALSE,arg_msg) = 0 THEN
- MessageBox('提示','保存物料需求表失败,'+arg_msg)
- RETURN
- END IF
- IF uo_ml_mrp.uof_add_rqmtrl_tree(s_mtrl_tree,FALSE,arg_msg) = 0 THEN
- MessageBox('提示','保存物料需求结构表失败,'+arg_msg)
- RETURN
- END IF
-
- IF uo_ml_mrp.uof_del_rqmtrl_scll(i_scid,i_taskid,i_printid,FALSE,arg_msg) = 0 THEN
- MessageBox('提示','删除领料明细表失败,'+arg_msg)
- RETURN
- END IF
- IF uo_ml_mrp.uof_add_rqmtrl_scll(s_mtrl,TRUE,arg_msg) = 0 THEN
- MessageBox('提示','保存用料明细表失败,'+arg_msg)
- RETURN
- END IF
-
- DESTROY uo_ml_mrp
- MessageBox('提示','保存成功')
- CLOSE(PARENT)
- end event
- type cb_re_cmpl from uo_imflatbutton within w_order_ml_mrp
- integer width = 165
- integer height = 164
- integer taborder = 10
- 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;Int rslt = 1
- Long ll_mtrlid
- String ls_pfcode
- String ls_status,ls_woodcode,ls_pcode
- Decimal ld_orderqty
- Long ll_i
- DateTime ld_requiredate
- String arg_msg
- Int li_if_allowuse,li_if_date
- Long ll_ordertype
- s_order_ml_rqmtrl s_ref_mtrl
- uo_order_ml_mrp uo_ml_mrp
- uo_ml_mrp = CREATE uo_order_ml_mrp
- SELECT mtrlid,
- orderqty,
- status,
- woodcode,
- pcode
- INTO :ll_mtrlid,
- :ld_orderqty,
- :ls_status,
- :ls_woodcode,
- :ls_pcode
- FROM u_saletaskmx
- WHERE u_saletaskmx.scid = :i_scid AND
- u_saletaskmx.taskid = :i_taskid AND
- u_saletaskmx.printid = :i_printid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询销售订单明细资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- dw_1.accepttext()
- IF cbx_if_allowuse.Checked THEN
- li_if_allowuse = 1
- ELSE
- li_if_allowuse = 0
- END IF
- uo_ml_mrp.ifbuy_mtrl_not_useqty = cbx_ifbuy_mtrl_not_useqty.Checked
- uo_ml_mrp.ifwx_mtrl_not_useqty = cbx_ifwx_mtrl_not_useqty.Checked
- IF uo_ml_mrp.uof_cmpl_rqmtrl(i_scid,i_taskid,i_printid,0,ll_mtrlid,&
- ls_status,ls_woodcode,ls_pcode,ld_orderqty,0,&
- li_if_allowuse,s_ref_mtrl,arg_msg,0,'') = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- dw_1.Reset()
- dec{2} em
- em = dec(em_1.text)
- Long ll_row
- FOR ll_i = 1 TO UpperBound(s_ref_mtrl.mtrlid)
- ll_row = dw_1.InsertRow(0)
-
- i_d_cmplqty_old = s_ref_mtrl.cmplqty[ll_i]
-
- dw_1.Object.u_OrderRqMtrl_tree_scid[ll_row] = i_scid
- dw_1.Object.u_OrderRqMtrl_tree_taskid[ll_row] = i_taskid
- dw_1.Object.u_OrderRqMtrl_tree_printid[ll_row] = i_printid
- dw_1.Object.u_orderrqmtrl_tree_mxpkid[ll_row] = s_ref_mtrl.mxpkid[ll_i]
-
- dw_1.Object.u_OrderRqMtrl_tree_mtrlid[ll_row] = s_ref_mtrl.mtrlid[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_rqqty[ll_row] = s_ref_mtrl.qty[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_truerqqty[ll_row] = s_ref_mtrl.cmplqty[ll_i] * em
-
- dw_1.Object.u_mtrldef_mtrlcode[ll_row] = s_ref_mtrl.mtrlcode[ll_i]
- dw_1.Object.u_mtrldef_mtrlname[ll_row] = s_ref_mtrl.mtrlname[ll_i]
- dw_1.Object.u_mtrldef_mtrlmode[ll_row] = s_ref_mtrl.mtrlmode[ll_i]
- dw_1.Object.u_mtrldef_unit[ll_row] = s_ref_mtrl.unit[ll_i]
- dw_1.Object.u_mtrldef_mtrlorigin[ll_row] = s_ref_mtrl.mtrlorigin[ll_i]
- dw_1.Object.u_mtrldef_mtrltype[ll_row] = s_ref_mtrl.mtrltype[ll_i]
- dw_1.Object.u_mtrldef_mtrlprp[ll_row] = s_ref_mtrl.mtrlprp[ll_i]
-
- dw_1.Object.u_orderrqmtrl_tree_pcode[ll_row] = s_ref_mtrl.pcode[ll_i]
- dw_1.Object.u_orderrqmtrl_tree_wrkgrpid[ll_row] = s_ref_mtrl.produce_wrkgrpid[ll_i]
-
- dw_1.Object.u_OrderRqMtrl_tree_pfgroup[ll_row] = s_ref_mtrl.pfgroup[ll_i]
-
- dw_1.Object.u_OrderRqMtrl_tree_lp[ll_row] = s_ref_mtrl.lp[ll_i]
-
- dw_1.Object.u_OrderRqMtrl_tree_plantype[ll_row] = s_ref_mtrl.plantype[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_mqty[ll_row] = s_ref_mtrl.mqty[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_bqty[ll_row] = s_ref_mtrl.bqty[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_wqty[ll_row] = s_ref_mtrl.wqty[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_pqty[ll_row] = s_ref_mtrl.pqty[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_otherrqqty[ll_row] = s_ref_mtrl.otherrqqty[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_samerqqty[ll_row] = s_ref_mtrl.samerqqty[ll_i]
- dw_1.Object.minqty[ll_row] = s_ref_mtrl.minqty[ll_i]
- dw_1.Object.maxqty[ll_row] = s_ref_mtrl.maxqty[ll_i]
- dw_1.Object.ckwareqty[ll_row] = s_ref_mtrl.ckwareqty[ll_i]
- //dw_1.Object.ckwareqty[ll_row] = s_ref_mtrl.mqty[ll_i] + s_ref_mtrl.bqty[ll_i] + s_ref_mtrl.wqty[ll_i] + s_ref_mtrl.pqty[ll_i] - s_ref_mtrl.otherrqqty[ll_i] - s_ref_mtrl.samerqqty[ll_i] - dw_1.Object.minqty[ll_row]
-
- dw_1.Object.u_OrderRqMtrl_tree_pmtrlid[ll_row] = s_ref_mtrl.pmtrlid[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_ifchanged[ll_row] = s_ref_mtrl.ifchanged[ll_i]
-
- dw_1.Object.u_OrderRqMtrl_tree_ifmainmtrlid[ll_row] = s_ref_mtrl.ifmainmtrlid[ll_i]
-
- dw_1.Object.u_OrderRqMtrl_tree_promode[ll_row] = s_ref_mtrl.promode[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_pfgroupmode[ll_row] = s_ref_mtrl.pfgroupmode[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_pfklmode[ll_row] = s_ref_mtrl.pfklmode[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_pfgroupqty[ll_row] = s_ref_mtrl.pfgroupqty[ll_i]
- NEXT
- ext:
- DESTROY uo_ml_mrp
- IF rslt = 0 THEN
- MessageBox('提示',arg_msg)
- dw_1.Reset()
- END IF
- end event
- type cb_lock from uo_imflatbutton within w_order_ml_mrp
- integer x = 165
- integer width = 165
- integer height = 164
- integer taborder = 20
- boolean bringtotop = true
- string text = "解锁"
- string normalpicname = "mx.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;Long ll_row,i
- dw_1.AcceptText()
- ll_row = dw_1.GetRow()
- IF ll_row <= 0 THEN
- MessageBox('提示','请选择行')
- RETURN
- END IF
- IF dw_1.Object.u_OrderRqMtrl_tree_ifmainmtrlid[ll_row] = 1 THEN
- MessageBox('提示','生产计划物料不能解锁运算')
- RETURN
- END IF
- FOR i = ll_row TO dw_1.RowCount()
- IF dw_1.Object.u_orderrqmtrl_tree_lp[i] > dw_1.Object.u_orderrqmtrl_tree_lp[ll_row] THEN
- IF dw_1.Object.u_orderrqmtrl_tree_ifchanged[i] = 1 THEN
- MessageBox('提示','下级物料已有修改,不能解锁运算')
- RETURN
- END IF
- ELSE
- EXIT
- END IF
- NEXT
- IF dw_1.Object.iflock[ll_row] = 1 THEN
- IF NOT if_cmpl THEN
- MessageBox('提示','有物料已修改,未重新计算,请重新计算')
- RETURN
- ELSE
- if_cmpl = FALSE
- dw_1.Object.iflock[ll_row] = 0
- dw_1.Object.ifcmpl[ll_row] = 0
-
- ll_unlock_row = ll_row
- i_d_cmplqty_old = dw_1.Object.u_OrderRqMtrl_tree_truerqqty[ll_row]
- i_i_plantype_old = dw_1.Object.u_OrderRqMtrl_tree_plantype[ll_row]
-
- dw_1.SetFocus()
- dw_1.SetColumn('u_OrderRqMtrl_tree_truerqqty')
- END IF
- END IF
- wf_face()
- end event
- type ln_bar from line within w_order_ml_mrp
- long linecolor = 268435456
- integer linethickness = 4
- integer beginy = 176
- integer endx = 3323
- integer endy = 176
- end type
- type ln_bar2 from line within w_order_ml_mrp
- long linecolor = 16777215
- integer linethickness = 4
- integer beginy = 180
- integer endx = 3323
- integer endy = 180
- end type
- type r_bar from rectangle within w_order_ml_mrp
- long linecolor = 16777215
- long fillcolor = 1073741824
- integer x = 2473
- integer width = 73
- integer height = 172
- end type
- event constructor;this.fillcolor = 14215660
- this.linecolor = 14215660
- this.x = -1
- this.y = -1
- this.height = ln_bar2.beginy - 5
- end event
- type cb_cmpl from uo_imflatbutton within w_order_ml_mrp
- integer x = 494
- integer width = 165
- integer height = 164
- integer taborder = 40
- 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 ("IF","是否确定要计算已修改的数据?",Question!,YesNo! ) = 2 THEN RETURN
- Int rslt = 1
- String arg_msg
- Long ll_row,ll_i
- Decimal ld_cmplqty_new,ld_rqqty,ld_cmplqty,ld_samerqqty
- Long ll_mtrlid,ll_pmtrlid,ll_produde_scid_new
- String ls_pfcode
- String ls_status,ls_woodcode,ls_pcode
- Long ll_produce_wrkgrpid,ll_wrkgrpid
- DateTime ld_rqdate,ld_sdate
- Int li_cmpl //0:不用计算,1:重新计算,2:变更计算
- Int li_if_add //0:改变时用加,1:改变时用减
- Int li_plantype_new
- Long ll_lp
- s_order_ml_rqmtrl s_ref_mtrl
- Int li_if_allowuse
- IF cbx_if_allowuse.Checked THEN
- li_if_allowuse = 1
- ELSE
- li_if_allowuse = 0
- END IF
- dw_1.AcceptText( )
- ll_row = dw_1.GetRow()
- IF dw_1.Object.ifcmpl[ll_row] = 1 THEN
- arg_msg = '该行已经计算,不能再计算'
- rslt = 0
- GOTO ext
- END IF
- ld_cmplqty_new = dw_1.Object.u_OrderRqMtrl_tree_truerqqty[ll_row]
- IF ld_cmplqty_new < 0 THEN
- arg_msg = '错误的运算数量,不能计算,请检查'
- rslt = 0
- GOTO ext
- END IF
- li_plantype_new = dw_1.Object.u_OrderRqMtrl_tree_plantype[ll_row]
- ll_produde_scid_new = dw_1.Object.u_orderrqmtrl_tree_produce_scid[ll_row]
- ld_rqqty = dw_1.Object.u_OrderRqMtrl_tree_rqqty[ll_row]
- ld_samerqqty = dw_1.Object.u_OrderRqMtrl_tree_samerqqty[ll_row]
- ll_mtrlid = dw_1.Object.u_OrderRqMtrl_tree_mtrlid[ll_row]
- ll_pmtrlid = dw_1.Object.u_OrderRqMtrl_tree_pmtrlid[ll_row]
- ls_status = dw_1.Object.u_OrderRqMtrl_tree_status[ll_row]
- ls_woodcode = dw_1.Object.u_OrderRqMtrl_tree_woodcode[ll_row]
- ls_pcode = dw_1.Object.u_OrderRqMtrl_tree_pcode[ll_row]
- ls_pfcode = dw_1.Object.u_OrderRqMtrl_tree_pfcode[ll_row]
- ll_lp = dw_1.Object.u_OrderRqMtrl_tree_lp[ll_row]
- ll_wrkgrpid = dw_1.Object.u_OrderRqMtrl_tree_wrkgrpid[ll_row]
- IF li_plantype_new = i_i_plantype_old THEN //无改处理方法
- IF li_plantype_new = 2 OR li_plantype_new = 6 THEN //采购或客户来料
- IF ld_cmplqty_new > ld_rqqty THEN
- arg_msg = '输入的运算数不能大于损耗数'
- rslt = 0
- GOTO ext
- END IF
-
- rslt = 1
- GOTO ext
- ELSE //自制或外协
- IF ld_cmplqty_new = i_d_cmplqty_old THEN //无改数量
- IF ll_produde_scid_new = i_l_scid_old THEN //无改分部
- rslt = 1
- GOTO ext
- ELSE //改分部
- IF ll_produde_scid_new <> i_scid AND i_l_scid_old <> i_scid THEN
- rslt = 1
- GOTO ext
- ELSEIF ll_produde_scid_new <> i_scid AND i_l_scid_old = i_scid THEN
- li_cmpl = 2 //(变更)
- li_if_add = 1 //(-)
- ld_cmplqty = i_d_cmplqty_old
- ELSEIF ll_produde_scid_new = i_scid AND i_l_scid_old <> i_scid THEN
- li_cmpl = 1 //(重计)
- li_if_add = 0 //(+)
- ld_cmplqty = ld_cmplqty_new
- END IF
- END IF
- ELSE
- IF ll_produde_scid_new <> i_scid AND i_l_scid_old <> i_scid THEN
- rslt = 1
- GOTO ext
- ELSEIF ll_produde_scid_new <> i_scid AND i_l_scid_old = i_scid THEN
- li_cmpl = 2 //(变更)
- li_if_add = 1 //(-)
- ld_cmplqty = i_d_cmplqty_old
- ELSEIF ll_produde_scid_new = i_scid AND i_l_scid_old <> i_scid THEN
- li_cmpl = 1 //(重计)
- li_if_add = 0 //(+)
- ld_cmplqty = ld_cmplqty_new
- ELSEIF ll_produde_scid_new = i_scid AND i_l_scid_old = i_scid THEN
- li_cmpl = 2 //(变更)
- ld_cmplqty = Abs(ld_cmplqty_new - i_d_cmplqty_old)
-
- IF ld_cmplqty_new < i_d_cmplqty_old THEN
- li_if_add = 1 //(-)
- ELSE
- li_if_add = 0 //(+)
- END IF
- END IF
- END IF
- END IF
- ELSE //改处理方法
- IF i_Ordertype <> 2 THEN //不是来料加工计划
- IF li_plantype_new = 6 THEN
- arg_msg = '只有处理来料加工计划的处理方法才能变为客户来料'
- rslt = 0
- GOTO ext
- END IF
- END IF
-
- //采购->来料加工,来料加工->采购
- IF i_i_plantype_old = 2 AND li_plantype_new = 6 OR &
- li_plantype_new = 2 AND li_plantype_new = 6 THEN
- rslt = 1
- GOTO ext
- END IF
-
- //自制或外协->采购或客户来料
- If ( i_i_plantype_old = 0 OR i_i_plantype_old = 3 ) AND &
- ( li_plantype_new = 2 OR li_plantype_new = 6 ) THEN
- IF ll_produde_scid_new <> i_scid AND i_l_scid_old <> i_scid THEN
- rslt = 1
- GOTO ext
- ELSEIF ll_produde_scid_new <> i_scid AND i_l_scid_old = i_scid THEN
- li_cmpl = 2 //(变更)
- li_if_add = 1 //(-)
- ld_cmplqty = i_d_cmplqty_old
- ELSEIF ll_produde_scid_new = i_scid AND i_l_scid_old <> i_scid THEN
- rslt = 1
- GOTO ext
- ELSEIF ll_produde_scid_new = i_scid AND i_l_scid_old = i_scid THEN
- li_cmpl = 2 //(变更)
- li_if_add = 1 //(-)
- ld_cmplqty = i_d_cmplqty_old
- END IF
- END IF
-
- //采购或客户来料->自制或外协
- If ( i_i_plantype_old = 2 OR i_i_plantype_old = 6 ) AND &
- ( li_plantype_new = 0 OR li_plantype_new = 3 ) THEN
- IF ll_produde_scid_new <> i_scid AND i_l_scid_old <> i_scid THEN
- rslt = 1
- GOTO ext
- ELSEIF ll_produde_scid_new <> i_scid AND i_l_scid_old = i_scid THEN
- rslt = 1
- GOTO ext
- ELSEIF ll_produde_scid_new = i_scid AND i_l_scid_old <> i_scid THEN
- li_cmpl = 1 //(重计)
- li_if_add = 0 //(+)
- ld_cmplqty = ld_cmplqty_new
- ELSEIF ll_produde_scid_new = i_scid AND i_l_scid_old = i_scid THEN
- li_cmpl = 1 //(重计)
- li_if_add = 0 //(+)
- ld_cmplqty = ld_cmplqty_new
- END IF
- END IF
- END IF
- IF ld_cmplqty_new > ld_rqqty THEN
- arg_msg = '输入的运算数不能大于需求数'
- rslt = 0
- GOTO ext
- END IF
- uo_order_ml_mrp uo_m
- uo_m = CREATE uo_order_ml_mrp
- uo_m.ifbuy_mtrl_not_useqty = cbx_ifbuy_mtrl_not_useqty.Checked
- uo_m.ifwx_mtrl_not_useqty = cbx_ifwx_mtrl_not_useqty.Checked
- CHOOSE CASE li_cmpl
- CASE 1
- IF uo_m.uof_cmpl_rqmtrl_re(i_scid,i_taskid,i_printid,ll_pmtrlid,ll_mtrlid,&
- li_plantype_new,ls_status,ls_woodcode,ls_pcode,ld_cmplqty_new,&
- ll_wrkgrpid,ll_lp,li_if_allowuse,s_ref_mtrl,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- FOR ll_i = 1 TO UpperBound(s_ref_mtrl.mtrlid)
- Long ll_new_row
- ll_new_row = dw_1.InsertRow(ll_row + ll_i)
-
- dw_1.Object.u_mtrldef_mtrlcode[ll_new_row] = s_ref_mtrl.mtrlcode[ll_i]
- dw_1.Object.u_mtrldef_mtrlname[ll_new_row] = s_ref_mtrl.mtrlname[ll_i]
- dw_1.Object.u_mtrldef_mtrlmode[ll_new_row] = s_ref_mtrl.mtrlmode[ll_i]
- dw_1.Object.u_mtrldef_unit[ll_new_row] = s_ref_mtrl.unit[ll_i]
- dw_1.Object.u_mtrldef_mtrlorigin[ll_new_row] = s_ref_mtrl.mtrlorigin[ll_i]
- dw_1.Object.u_mtrldef_mtrltype[ll_new_row] = s_ref_mtrl.mtrltype[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_wrkgrpid[ll_new_row] = s_ref_mtrl.produce_wrkgrpid[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_status[ll_new_row] = s_ref_mtrl.status[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_woodcode[ll_new_row] = s_ref_mtrl.woodcode[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_pcode[ll_new_row] = s_ref_mtrl.pcode[ll_i]
-
- dw_1.Object.u_OrderRqMtrl_tree_lp[ll_new_row] = s_ref_mtrl.lp[ll_i]
-
- dw_1.Object.u_OrderRqMtrl_tree_scid[ll_new_row] = i_scid
- dw_1.Object.u_OrderRqMtrl_tree_taskid[ll_new_row] = i_taskid
- dw_1.Object.u_OrderRqMtrl_tree_printid[ll_new_row] = i_printid
- dw_1.Object.u_OrderRqMtrl_tree_mtrlid[ll_new_row] = s_ref_mtrl.mtrlid[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_rqqty[ll_new_row] = s_ref_mtrl.qty[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_truerqqty[ll_new_row] = s_ref_mtrl.cmplqty[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_plantype[ll_new_row] = s_ref_mtrl.plantype[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_mqty[ll_new_row] = s_ref_mtrl.mqty[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_bqty[ll_new_row] = s_ref_mtrl.bqty[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_wqty[ll_new_row] = s_ref_mtrl.wqty[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_pqty[ll_new_row] = s_ref_mtrl.pqty[ll_i]
- dw_1.Object.ckwareqty[ll_new_row] = s_ref_mtrl.mqty[ll_i] + s_ref_mtrl.bqty[ll_i] + s_ref_mtrl.wqty[ll_i] + s_ref_mtrl.pqty[ll_i] - s_ref_mtrl.otherrqqty[ll_i]
-
- dw_1.Object.u_OrderRqMtrl_tree_pmtrlid[ll_new_row] = s_ref_mtrl.pmtrlid[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_ifchanged[ll_new_row] = s_ref_mtrl.ifchanged[ll_i]
-
- dw_1.Object.u_OrderRqMtrl_tree_ifmainmtrlid[ll_new_row] = s_ref_mtrl.ifmainmtrlid[ll_i]
- dw_1.Object.u_mtrldef_ifselforder[ll_new_row] = s_ref_mtrl.ifselforder[ll_i]
-
- dw_1.Object.u_orderrqmtrl_tree_gydscrp[ll_new_row] = s_ref_mtrl.gydscrp[ll_i]
- dw_1.Object.u_orderrqmtrl_tree_pfklmode[ll_new_row] = s_ref_mtrl.pfklmode[ll_i]
- dw_1.Object.u_orderrqmtrl_tree_pfgroup[ll_new_row] = s_ref_mtrl.pfgroup[ll_i]
- dw_1.Object.u_orderrqmtrl_tree_pfgroupmode[ll_new_row] = s_ref_mtrl.pfgroupmode[ll_i]
-
- NEXT
- CASE 2
-
- IF uo_m.uof_cmpl_rqmtrl_change(i_scid,ll_pmtrlid,ll_mtrlid,&
- ls_status,ls_woodcode,ls_pcode,&
- ld_cmplqty,ll_wrkgrpid,s_ref_mtrl,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- Long ll_f_row,ll_j
-
- FOR ll_i = 1 TO UpperBound(s_ref_mtrl.mtrlid)
- ll_f_row = 0
- ll_j = 0
-
- dw_1.AcceptText()
- FOR ll_j = ll_row + 1 TO dw_1.RowCount()
- IF dw_1.Object.u_OrderRqMtrl_tree_mtrlid[ll_j] = s_ref_mtrl.mtrlid[ll_i] AND &
- dw_1.Object.u_OrderRqMtrl_tree_status[ll_j] = s_ref_mtrl.status[ll_i] AND &
- dw_1.Object.u_OrderRqMtrl_tree_woodcode[ll_j] = s_ref_mtrl.woodcode[ll_i] AND &
- dw_1.Object.u_OrderRqMtrl_tree_pcode[ll_j] = s_ref_mtrl.pcode[ll_i] AND &
- dw_1.Object.u_OrderRqMtrl_tree_produce_wrkgrpid[ll_j] = s_ref_mtrl.produce_wrkgrpid[ll_i] AND &
- dw_1.Object.u_OrderRqMtrl_tree_wrkgrpid[ll_j] = s_ref_mtrl.wrkgrpid_scll[ll_i] AND &
- dw_1.Object.u_OrderRqMtrl_tree_pmtrlid[ll_j] = s_ref_mtrl.pmtrlid[ll_i] AND &
- dw_1.Object.u_orderrqmtrl_tree_pfgroup[ll_j] = s_ref_mtrl.pfgroup[ll_i] AND &
- dw_1.Object.u_orderrqmtrl_tree_pfgroupmode[ll_j] = s_ref_mtrl.pfgroupmode[ll_i] THEN
- ll_f_row = ll_j
- EXIT
- END IF
- NEXT
-
-
-
- IF ll_f_row = 0 THEN
- MessageBox('提示','查询物料:'+s_ref_mtrl.mtrlcode[ll_i]+',部件名称:'+s_ref_mtrl.pfgroup[ll_i]+',部件规格:'+s_ref_mtrl.pfgroupmode[ll_i]+',变更行数失败')
- RETURN
- END IF
- NEXT
-
- FOR ll_i = 1 TO UpperBound(s_ref_mtrl.mtrlid)
- ll_f_row = 0
- ll_j = 0
-
- dw_1.AcceptText()
- FOR ll_j = ll_row + 1 TO dw_1.RowCount()
- IF dw_1.Object.u_OrderRqMtrl_tree_mtrlid[ll_j] = s_ref_mtrl.mtrlid[ll_i] AND &
- dw_1.Object.u_OrderRqMtrl_tree_status[ll_j] = s_ref_mtrl.status[ll_i] AND &
- dw_1.Object.u_OrderRqMtrl_tree_woodcode[ll_j] = s_ref_mtrl.woodcode[ll_i] AND &
- dw_1.Object.u_OrderRqMtrl_tree_pcode[ll_j] = s_ref_mtrl.pcode[ll_i] AND &
- dw_1.Object.u_OrderRqMtrl_tree_produce_wrkgrpid[ll_j] = s_ref_mtrl.produce_wrkgrpid[ll_i] AND &
- dw_1.Object.u_OrderRqMtrl_tree_wrkgrpid[ll_j] = s_ref_mtrl.wrkgrpid_scll[ll_i] AND &
- dw_1.Object.u_OrderRqMtrl_tree_pmtrlid[ll_j] = s_ref_mtrl.pmtrlid[ll_i] AND &
- dw_1.Object.u_orderrqmtrl_tree_pfgroup[ll_j] = s_ref_mtrl.pfgroup[ll_i] AND &
- dw_1.Object.u_orderrqmtrl_tree_pfgroupmode[ll_j] = s_ref_mtrl.pfgroupmode[ll_i] THEN
- ll_f_row = ll_j
- EXIT
- END IF
- NEXT
-
-
-
- IF li_if_add = 0 THEN
- dw_1.Object.u_OrderRqMtrl_tree_rqqty[ll_f_row] = dw_1.Object.u_OrderRqMtrl_tree_rqqty[ll_f_row] + s_ref_mtrl.qty[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_truerqqty[ll_f_row] = dw_1.Object.u_OrderRqMtrl_tree_truerqqty[ll_f_row] + s_ref_mtrl.cmplqty[ll_i]
- ELSE
- dw_1.Object.u_OrderRqMtrl_tree_rqqty[ll_f_row] = dw_1.Object.u_OrderRqMtrl_tree_rqqty[ll_f_row] - s_ref_mtrl.qty[ll_i]
- IF dw_1.Object.u_OrderRqMtrl_tree_truerqqty[ll_f_row] - s_ref_mtrl.cmplqty[ll_i] < 0 THEN
- dw_1.Object.u_OrderRqMtrl_tree_truerqqty[ll_f_row] = 0
- ELSE
- dw_1.Object.u_OrderRqMtrl_tree_truerqqty[ll_f_row] = dw_1.Object.u_OrderRqMtrl_tree_truerqqty[ll_f_row] - s_ref_mtrl.cmplqty[ll_i]
- END IF
- END IF
- NEXT
- END CHOOSE
- ext:
- DESTROY uo_m
- IF rslt = 0 THEN
- MessageBox('提示',arg_msg)
- RETURN
- ELSE
- dw_1.Object.ifcmpl[ll_row] = 1
- dw_1.Object.iflock[ll_row] = 1
- dw_1.Object.u_OrderRqMtrl_tree_ifchanged[ll_row] = 1
-
- dw_1.SetColumn('u_OrderRqMtrl_tree_plantype')
-
- MessageBox('提示','计算成功')
- if_cmpl = TRUE
- i_d_cmplqty_old = 0
- i_i_plantype_old = 0
- i_l_scid_old = 0
- END IF
- wf_face()
- end event
- type cb_undo from uo_imflatbutton within w_order_ml_mrp
- integer x = 329
- integer width = 165
- integer height = 164
- integer taborder = 30
- boolean bringtotop = true
- string text = "放弃"
- string normalpicname = "undo.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;Long ll_row
- Decimal ld_cmplqty_new
- dw_1.AcceptText()
- ll_row = dw_1.GetRow()
- IF ll_row <= 0 THEN
- MessageBox('提示','请选择行')
- RETURN
- END IF
- dw_1.Object.u_OrderRqMtrl_tree_truerqqty[ll_row] = i_d_cmplqty_old
- dw_1.Object.u_OrderRqMtrl_tree_plantype[ll_row] = i_i_plantype_old
- dw_1.Object.iflock[ll_row] = 1
- dw_1.Object.ifcmpl[ll_row] = 1
- if_cmpl = TRUE
- i_d_cmplqty_old = 0
- i_i_plantype_old = 0
- i_l_scid_old = 0
- dw_1.SetFocus()
- dw_1.SetColumn('u_OrderRqMtrl_tree_rqdate')
- wf_face()
- end event
- type cb_copyrow from uo_imflatbutton within w_order_ml_mrp
- integer x = 823
- integer width = 165
- integer height = 164
- integer taborder = 40
- boolean bringtotop = true
- boolean enabled = false
- string text = "变更"
- string normalpicname = "copy.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;Long ll_row,ll_row_insert
- Int li_cmpl_old,li_cmpl_new
- dw_1.AcceptText()
- ll_row = dw_1.GetRow()
- IF ll_row <= 0 THEN
- MessageBox('提示','请选择变更行')
- RETURN
- END IF
- IF dw_1.Object.u_OrderRqMtrl_tree_ifmainmtrlid[ll_row] = 1 THEN
- MessageBox('提示','销售订单明细物料不能变更')
- RETURN
- END IF
- s_order_ml_mrp_change s_chagne,s_rslt
- s_chagne.s_plantype = dw_1.Object.u_OrderRqMtrl_tree_plantype[ll_row]
- s_chagne.s_qty = dw_1.Object.u_OrderRqMtrl_tree_truerqqty[ll_row]
- s_chagne.ordertype = i_Ordertype
- OpenWithParm(w_order_ml_mrp_change,s_chagne)
- s_rslt = Message.PowerObjectParm
- IF s_rslt.ifchanged = 0 THEN RETURN
- CHOOSE CASE s_chagne.s_plantype
- CASE 0
- CHOOSE CASE s_rslt.c_plantype
- CASE 2,6
- li_cmpl_old = 1
- li_cmpl_new = 0
- CASE 3
-
- li_cmpl_old = 1
- li_cmpl_new = 1
- END CHOOSE
- CASE 3
- CHOOSE CASE s_rslt.c_plantype
- CASE 2,6
- li_cmpl_old = 1
- li_cmpl_new = 0
- CASE 0
-
- li_cmpl_old = 1
- li_cmpl_new = 1
- END CHOOSE
- CASE 2,6
- CHOOSE CASE s_rslt.c_plantype
- CASE 2,6
- li_cmpl_old = 0
- li_cmpl_new = 0
- CASE 0,3
- li_cmpl_old = 0
- li_cmpl_new = 1
- END CHOOSE
- END CHOOSE
- dw_1.Object.u_OrderRqMtrl_tree_truerqqty[ll_row] = s_chagne.s_qty - s_rslt.c_qty
- IF li_cmpl_old = 1 THEN
- END IF
- dw_1.AcceptText()
- //ll_row_insert = dw_1.InsertRow(0)
- //ll_row_insert = dw_1.rowcount() + 1
- ll_row_insert = ll_row + 1
- dw_1.RowsCopy(ll_row,ll_row,Primary!,dw_1,ll_row_insert, Primary!)
- dw_1.Object.u_OrderRqMtrl_tree_truerqqty[ll_row_insert] = s_rslt.c_qty
- dw_1.Object.u_OrderRqMtrl_tree_plantype[ll_row_insert] = s_rslt.c_plantype
- dw_1.Object.u_orderrqmtrl_tree_ifchanged[ll_row_insert] = 1
- dw_1.Object.u_OrderRqMtrl_tree_rqqty[ll_row_insert] = 0
- dw_1.Object.u_OrderRqMtrl_tree_mqty[ll_row_insert] = 0
- dw_1.Object.u_OrderRqMtrl_tree_bqty[ll_row_insert] = 0
- dw_1.Object.u_OrderRqMtrl_tree_wqty[ll_row_insert] = 0
- dw_1.Object.u_OrderRqMtrl_tree_pqty[ll_row_insert] = 0
- IF li_cmpl_new = 1 THEN
- END IF
- end event
- type cbx_if_allowuse from checkbox within w_order_ml_mrp
- integer x = 32
- integer y = 200
- integer width = 471
- 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;IF THIS.Checked THEN
- cbx_ifwx_mtrl_not_useqty.Enabled = TRUE
- cbx_ifbuy_mtrl_not_useqty.Enabled = TRUE
- ELSE
- cbx_ifwx_mtrl_not_useqty.Enabled = FALSE
- cbx_ifwx_mtrl_not_useqty.Checked = FALSE
- cbx_ifbuy_mtrl_not_useqty.Enabled = FALSE
- cbx_ifbuy_mtrl_not_useqty.Checked = FALSE
- END IF
- end event
- type cb_change from uo_imflatbutton within w_order_ml_mrp
- integer x = 987
- integer width = 165
- integer height = 164
- integer taborder = 50
- boolean bringtotop = true
- boolean enabled = false
- string text = "换料"
- string normalpicname = "p1.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;Long ll_row,ll_row_insert
- Int li_plantype_old,li_plantype_new
- Int li_ifselforder_old,li_ifselforder_new
- Long ll_scid_old,ll_scid_new
- Long ll_mtrlid_old,ll_mtrlid_new
- Decimal ld_cmplqty,ld_rqqty
- Int li_cmpl_old,li_cmpl_new
- Boolean if_special_notuse = FALSE
- dw_1.AcceptText()
- ll_row = dw_1.GetRow()
- IF ll_row <= 0 THEN
- MessageBox(publ_operator,'请选择目标物料')
- RETURN
- END IF
- IF dw_1.Object.u_OrderRqMtrl_tree_ifmainmtrlid[ll_row] = 1 THEN
- MessageBox('提示','销售订单明细物料不能换料')
- RETURN
- END IF
- ll_mtrlid_old = dw_1.Object.u_orderrqmtrl_tree_mtrlid[ll_row]
- li_plantype_old = dw_1.Object.u_orderrqmtrl_tree_plantype[ll_row]
- ld_cmplqty = dw_1.Object.u_orderrqmtrl_tree_truerqqty[ll_row]
- ld_rqqty = dw_1.Object.u_orderrqmtrl_tree_rqqty[ll_row]
- ll_scid_old = dw_1.Object.u_orderrqmtrl_tree_produce_scid[ll_row]
- IF NOT IsValid(w_order_ml_orderrqmtrl_change) THEN
-
- OpenWithParm(w_order_ml_orderrqmtrl_change,ll_mtrlid_old)
- s_mtrldef_array s_inscust
- s_inscust = Message.PowerObjectParm
-
- IF s_inscust.mtrlid[1] > 0 THEN
- ll_mtrlid_new = s_inscust.mtrlid[1]
- li_plantype_new = s_inscust.mtrlorigin[1]
-
- IF ll_mtrlid_new = ll_mtrlid_old THEN RETURN
-
- li_cmpl_old = 1
- li_cmpl_new = 0
-
- //处理
- Int rslt = 1
- Long ll_i
- String arg_msg
-
- s_order_ml_rqmtrl s_ref_mtrl
- s_order_ml_rqmtrl s_ref_mtrl_ch
-
- uo_order_ml_mrp uo_m
- uo_m = CREATE uo_order_ml_mrp
-
- uo_m.ifbuy_mtrl_not_useqty = cbx_ifbuy_mtrl_not_useqty.Checked
- uo_m.ifwx_mtrl_not_useqty = cbx_ifwx_mtrl_not_useqty.Checked
-
-
- Int li_if_allowuse,li_if_date
- IF cbx_if_allowuse.Checked THEN
- li_if_allowuse = 1
- ELSE
- li_if_allowuse = 0
- END IF
-
- li_if_date = 0
-
-
- //源物料
- dw_1.Object.u_orderrqmtrl_tree_truerqqty[ll_row] = 0
- dw_1.Object.u_orderrqmtrl_tree_rqqty[ll_row] = 0
-
- IF li_cmpl_old = 1 THEN
- Long ll_j,ll_m
- Long ll_row_tmp
- Long ll_pmtrlid_tmp1,ll_pmtrlid_tmp2
-
- FOR ll_j = ll_row + 1 TO dw_1.RowCount()
- IF dw_1.Object.u_OrderRqMtrl_tree_pmtrlid[ll_j] = dw_1.Object.u_orderrqmtrl_tree_mtrlid[ll_row] THEN
- dw_1.Object.u_orderrqmtrl_tree_truerqqty[ll_j] = 0
- dw_1.Object.u_orderrqmtrl_tree_rqqty[ll_j] = 0
-
- ll_pmtrlid_tmp2 = 0
- ll_pmtrlid_tmp1 = dw_1.Object.u_orderrqmtrl_tree_mtrlid[ll_j]
- ll_row_tmp = ll_j + 1
-
- DO WHILE ll_row_tmp <= dw_1.RowCount()
- ll_pmtrlid_tmp2 = dw_1.Object.u_OrderRqMtrl_tree_pmtrlid[ll_row_tmp]
- IF ll_pmtrlid_tmp2 = ll_pmtrlid_tmp1 THEN
-
- FOR ll_m = ll_row_tmp TO dw_1.RowCount()
- IF ll_pmtrlid_tmp1 = dw_1.Object.u_OrderRqMtrl_tree_pmtrlid[ll_m] THEN
- dw_1.Object.u_orderrqmtrl_tree_truerqqty[ll_m] = 0
- dw_1.Object.u_orderrqmtrl_tree_rqqty[ll_m] = 0
- END IF
- NEXT
-
- ll_pmtrlid_tmp1 = dw_1.Object.u_orderrqmtrl_tree_mtrlid[ll_row_tmp]
- ll_row_tmp = ll_j + 1
- ELSE
- EXIT
- END IF
- LOOP
- END IF
- NEXT
- END IF
-
- //新物料
- IF li_cmpl_new = 1 THEN
- ll_row_insert = dw_1.InsertRow(0)
- ELSE
- ll_row_insert = dw_1.InsertRow(ll_row + 1)
- END IF
-
- dw_1.Object.u_orderrqmtrl_tree_mtrlid[ll_row_insert] = ll_mtrlid_new
- dw_1.Object.u_mtrldef_mtrlcode[ll_row_insert] = s_inscust.mtrlcode[1]
- dw_1.Object.u_mtrldef_mtrlname[ll_row_insert] = s_inscust.mtrlname[1]
- dw_1.Object.u_mtrldef_mtrlmode[ll_row_insert] = s_inscust.mtrlmode[1]
- dw_1.Object.u_mtrldef_unit[ll_row_insert] = s_inscust.unit[1]
- dw_1.Object.u_mtrldef_mtrltype[ll_row_insert] = s_inscust.mtrltype[1]
- dw_1.Object.u_mtrldef_mtrlprp[ll_row_insert] = s_inscust.mtrlprp[1]
-
- dw_1.Object.u_orderrqmtrl_tree_plantype[ll_row_insert] = li_plantype_new
- dw_1.Object.u_mtrldef_mtrlorigin[ll_row_insert] = li_plantype_new
-
- dw_1.Object.u_OrderRqMtrl_tree_status[ll_row_insert] = s_inscust.status[1]
- dw_1.Object.u_OrderRqMtrl_tree_woodcode[ll_row_insert] = s_inscust.woodcode[1]
- dw_1.Object.u_OrderRqMtrl_tree_pcode[ll_row_insert] = s_inscust.pcode[1]
-
- dw_1.Object.iflock[ll_row_insert] = 1
- dw_1.Object.ifcmpl[ll_row_insert] = 1
-
-
-
- Decimal ld_ckwareqty
- Decimal ld_mqty
- Decimal ld_bqty
- Decimal ld_wqty
- Decimal ld_pqty
- Decimal ld_otherrqqty
- Decimal ld_samerqqty
-
- DateTime ldt_rqdate
- String ls_pfcode
- String ls_status,ls_woodcode,ls_pcode
-
-
- ldt_rqdate = dw_1.Object.u_OrderRqMtrl_tree_rqdate[ll_row_insert]
-
- dw_1.Object.u_orderrqmtrl_tree_rqqty[ll_row_insert] = ld_rqqty
-
- ls_status = dw_1.Object.u_OrderRqMtrl_tree_status[ll_row_insert]
- ls_woodcode = dw_1.Object.u_OrderRqMtrl_tree_woodcode[ll_row_insert]
- ls_pcode = dw_1.Object.u_OrderRqMtrl_tree_pcode[ll_row_insert]
-
-
- IF uo_m.uof_get_qty(1,i_scid,i_taskid,i_printid,ll_mtrlid_new,ls_status,ls_woodcode,ls_pcode,ld_bqty,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- IF uo_m.uof_get_qty(2,i_scid,i_taskid,i_printid,ll_mtrlid_new,ls_status,ls_woodcode,ls_pcode,ld_pqty,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- IF uo_m.uof_get_qty(3,i_scid,i_taskid,i_printid,ll_mtrlid_new,ls_status,ls_woodcode,ls_pcode,ld_wqty,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- // IF uo_m.uof_get_qty(4,li_if_date,ldt_rqdate,i_scid,i_orderid,ll_mtrlid_new,ls_status,ls_woodcode,ls_pcode,ld_mqty,arg_msg) = 0 THEN
- // rslt = 0
- // GOTO ext
- // END IF
- //
- // IF uo_m.uof_get_other_rqqty(i_scid,i_orderid,ll_mtrlid_new,li_plantype_new,ls_status,ls_woodcode,ls_pcode,ld_otherrqqty,li_if_date,ldt_rqdate,arg_msg) = 0 THEN
- // rslt = 0
- // GOTO ext
- // END IF
-
- dw_1.Object.u_orderrqmtrl_tree_mqty[ll_row_insert] = ld_mqty
- dw_1.Object.u_orderrqmtrl_tree_bqty[ll_row_insert] = ld_bqty
- dw_1.Object.u_orderrqmtrl_tree_wqty[ll_row_insert] = ld_wqty
- dw_1.Object.u_orderrqmtrl_tree_pqty[ll_row_insert] = ld_pqty
- dw_1.Object.u_orderrqmtrl_tree_otherrqqty[ll_row_insert] = ld_otherrqqty
- dw_1.Object.u_orderrqmtrl_tree_samerqqty[ll_row_insert] = ld_samerqqty
-
- ld_ckwareqty = ld_mqty + ld_bqty + ld_wqty + ld_pqty - ld_otherrqqty - ld_samerqqty
-
- dw_1.Object.ckwareqty[ll_row_insert] = ld_ckwareqty
-
- IF cbx_if_allowuse.Checked THEN
- IF cbx_ifbuy_mtrl_not_useqty.Checked OR &
- cbx_ifwx_mtrl_not_useqty.Checked THEN
- IF li_plantype_new = 2 THEN
- IF cbx_ifbuy_mtrl_not_useqty.Checked THEN
- ld_cmplqty = ld_rqqty
- if_special_notuse = TRUE
- END IF
- ELSEIF li_plantype_new = 3 THEN
- IF cbx_ifwx_mtrl_not_useqty.Checked THEN
- ld_cmplqty = ld_rqqty
- if_special_notuse = TRUE
- END IF
- END IF
- END IF
-
- IF NOT if_special_notuse THEN
- IF ld_ckwareqty > 0 THEN
- IF ld_rqqty <= ld_ckwareqty THEN
- ld_cmplqty = 0
- ELSE
- ld_cmplqty = ld_rqqty - ld_ckwareqty
- END IF
- ELSE
- ld_cmplqty = ld_rqqty
- END IF
- END IF
- ELSE
- ld_cmplqty = ld_rqqty
- END IF
-
- dw_1.Object.u_orderrqmtrl_tree_truerqqty[ll_row_insert] = ld_cmplqty
-
- dw_1.Object.u_OrderRqMtrl_tree_wrkgrpid[ll_row_insert] = dw_1.Object.u_OrderRqMtrl_tree_wrkgrpid[ll_row]
- dw_1.Object.u_orderrqmtrl_tree_scid[ll_row_insert] = dw_1.Object.u_orderrqmtrl_tree_scid[ll_row]
- dw_1.Object.u_orderrqmtrl_tree_taskid[ll_row_insert] = dw_1.Object.u_orderrqmtrl_tree_taskid[ll_row]
- dw_1.Object.u_orderrqmtrl_tree_printid[ll_row_insert] = dw_1.Object.u_orderrqmtrl_tree_printid[ll_row]
-
- dw_1.Object.u_orderrqmtrl_tree_ifchanged[ll_row_insert] = 1
- dw_1.Object.u_orderrqmtrl_tree_lp[ll_row_insert] = dw_1.Object.u_orderrqmtrl_tree_lp[ll_row]
- dw_1.Object.u_OrderRqMtrl_tree_ifmainmtrlid[ll_row_insert] = dw_1.Object.u_OrderRqMtrl_tree_ifmainmtrlid[ll_row]
- dw_1.Object.u_OrderRqMtrl_tree_pmtrlid[ll_row_insert] = dw_1.Object.u_OrderRqMtrl_tree_pmtrlid[ll_row]
-
- IF li_cmpl_new = 1 THEN
- IF uo_m.uof_cmpl_rqmtrl_re(i_scid,i_taskid,i_printid,&
- dw_1.Object.u_OrderRqMtrl_tree_pmtrlid[ll_row_insert],ll_mtrlid_new,&
- dw_1.Object.u_orderrqmtrl_tree_plantype[ll_row_insert],&
- ls_status,ls_woodcode,ls_pcode,ld_cmplqty,&
- dw_1.Object.u_OrderRqMtrl_tree_wrkgrpid[ll_row_insert],&
- dw_1.Object.u_orderrqmtrl_tree_lp[ll_row_insert],&
- li_if_allowuse,s_ref_mtrl,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
-
- FOR ll_i = 1 TO UpperBound(s_ref_mtrl.mtrlid)
- ll_row_insert = dw_1.InsertRow(0)
-
- dw_1.Object.u_orderrqmtrl_tree_scid[ll_row_insert] = i_scid
- dw_1.Object.u_OrderRqMtrl_tree_taskid[ll_row_insert] = i_taskid
- dw_1.Object.u_OrderRqMtrl_tree_printid[ll_row_insert] = i_printid
-
-
- dw_1.Object.u_mtrldef_mtrlcode[ll_row_insert] = s_ref_mtrl.mtrlcode[ll_i]
- dw_1.Object.u_mtrldef_mtrlname[ll_row_insert] = s_ref_mtrl.mtrlname[ll_i]
- dw_1.Object.u_mtrldef_mtrlmode[ll_row_insert] = s_ref_mtrl.mtrlmode[ll_i]
- dw_1.Object.u_mtrldef_unit[ll_row_insert] = s_ref_mtrl.unit[ll_i]
- dw_1.Object.u_mtrldef_mtrlorigin[ll_row_insert] = s_ref_mtrl.mtrlorigin[ll_i]
- dw_1.Object.u_mtrldef_mtrltype[ll_row_insert] = s_ref_mtrl.mtrltype[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_wrkgrpid[ll_row_insert] = s_ref_mtrl.wrkgrpid_scll[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_status[ll_row_insert] = s_ref_mtrl.status[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_woodcode[ll_row_insert] = s_ref_mtrl.woodcode[ll_i]
- dw_1.Object.u_OrderRqMtrl_tree_pcode[ll_row_insert] = s_ref_mtrl.pcode[ll_i]
-
-
- dw_1.Object.u_orderrqmtrl_tree_lp[ll_row_insert] = s_ref_mtrl.lp[ll_i]
-
- dw_1.Object.u_orderrqmtrl_tree_mtrlid[ll_row_insert] = s_ref_mtrl.mtrlid[ll_i]
- dw_1.Object.u_orderrqmtrl_tree_rqqty[ll_row_insert] = s_ref_mtrl.qty[ll_i]
- dw_1.Object.u_orderrqmtrl_tree_truerqqty[ll_row_insert] = s_ref_mtrl.cmplqty[ll_i]
- dw_1.Object.u_orderrqmtrl_tree_plantype[ll_row_insert] = s_ref_mtrl.plantype[ll_i]
- dw_1.Object.u_orderrqmtrl_tree_mqty[ll_row_insert] = s_ref_mtrl.mqty[ll_i]
- dw_1.Object.u_orderrqmtrl_tree_bqty[ll_row_insert] = s_ref_mtrl.bqty[ll_i]
- dw_1.Object.u_orderrqmtrl_tree_wqty[ll_row_insert] = s_ref_mtrl.wqty[ll_i]
- dw_1.Object.u_orderrqmtrl_tree_pqty[ll_row_insert] = s_ref_mtrl.pqty[ll_i]
- dw_1.Object.u_orderrqmtrl_tree_otherrqqty[ll_row_insert] = s_ref_mtrl.otherrqqty[ll_i]
-
- dw_1.Object.ckwareqty[ll_row_insert] = s_ref_mtrl.mqty[ll_i] + s_ref_mtrl.bqty[ll_i] + s_ref_mtrl.wqty[ll_i] + s_ref_mtrl.pqty[ll_i] - s_ref_mtrl.otherrqqty[ll_i]
-
- dw_1.Object.u_orderrqmtrl_tree_samerqqty[ll_row_insert] = s_ref_mtrl.samerqqty[ll_i]
-
- dw_1.Object.u_OrderRqMtrl_tree_pmtrlid[ll_row_insert] = s_ref_mtrl.pmtrlid[ll_i]
- dw_1.Object.u_orderrqmtrl_tree_ifchanged[ll_row_insert] = s_ref_mtrl.ifchanged[ll_i]
-
- dw_1.Object.u_OrderRqMtrl_tree_ifmainmtrlid[ll_row_insert] = s_ref_mtrl.ifmainmtrlid[ll_i]
-
-
- NEXT
- END IF
- END IF
- END IF
- ext:
- DESTROY uo_m
- end event
- type st_dscrp from statictext within w_order_ml_mrp
- integer x = 23
- integer y = 308
- integer width = 3543
- integer height = 56
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 700
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 16711680
- long backcolor = 134217739
- string text = "销售订单备注:"
- boolean focusrectangle = false
- end type
- type cb_change_pz from uo_imflatbutton within w_order_ml_mrp
- integer x = 1152
- integer width = 219
- integer height = 164
- integer taborder = 50
- boolean bringtotop = true
- boolean enabled = false
- string text = "改配置"
- string normalpicname = "p1.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;Int rslt = 1
- Long ll_row
- Long ll_mtrlid,ll_pmtrlid,ll_wrkgrpid
- Decimal ld_cmplqty,ld_rqqty,ld_cmplqty_change
- String ls_status,ls_woodcode,ls_pcode
- Int li_if_add //0:改变时用加,1:改变时用减
- String arg_msg
- Boolean if_special_notuse = FALSE
- Decimal ld_ckwareqty
- Decimal ld_mqty
- Decimal ld_bqty
- Decimal ld_wqty
- Decimal ld_pqty
- Decimal ld_otherrqqty
- Decimal ld_samerqqty
- DateTime ldt_rqdate
- String ls_pfcode
- Int li_plantype
- Int li_ifselforder
- s_order_ml_rqmtrl s_ref_mtrl
- dw_1.AcceptText()
- ll_row = dw_1.GetRow()
- uo_order_ml_mrp uo_m
- uo_m = CREATE uo_order_ml_mrp
- uo_m.ifbuy_mtrl_not_useqty = cbx_ifbuy_mtrl_not_useqty.Checked
- uo_m.ifwx_mtrl_not_useqty = cbx_ifwx_mtrl_not_useqty.Checked
- IF ll_row <= 0 THEN
- arg_msg = '请选择目标物料'
- rslt = 0
- GOTO ext
- END IF
- IF dw_1.Object.u_OrderRqMtrl_tree_ifmainmtrlid[ll_row] = 1 THEN
- arg_msg = '销售订单明细物料不能换配置'
- rslt = 0
- GOTO ext
- END IF
- ll_mtrlid = dw_1.Object.u_orderrqmtrl_tree_mtrlid[ll_row]
- ls_status = dw_1.Object.u_orderrqmtrl_tree_status[ll_row]
- ls_woodcode = dw_1.Object.u_orderrqmtrl_tree_woodcode[ll_row]
- ls_pcode = dw_1.Object.u_orderrqmtrl_tree_pcode[ll_row]
- li_plantype = dw_1.Object.u_orderrqmtrl_tree_plantype[ll_row]
- ld_rqqty = dw_1.Object.u_orderrqmtrl_tree_rqqty[ll_row]
- ll_pmtrlid = dw_1.Object.u_OrderRqMtrl_tree_pmtrlid[ll_row]
- ll_wrkgrpid = dw_1.Object.u_OrderRqMtrl_tree_wrkgrpid[ll_row]
- s_order_ml_mrp_changepz s_chpz_open,s_chpz_rst
- s_chpz_open.mtrlid = ll_mtrlid
- s_chpz_open.status = ls_status
- s_chpz_open.woodcode = ls_woodcode
- s_chpz_open.pcode = ls_pcode
- IF NOT IsValid(w_order_ml_mrp_changepz) THEN
- OpenWithParm(w_order_ml_mrp_changepz,s_chpz_open)
-
- s_chpz_rst = Message.PowerObjectParm
-
- IF s_chpz_rst.ifchange = 0 THEN
- rslt = -1
- GOTO ext
- END IF
-
- IF s_chpz_rst.status = ls_status AND &
- s_chpz_rst.woodcode = ls_woodcode AND &
- s_chpz_rst.pcode = ls_pcode THEN
- rslt = 1
- GOTO ext
- END IF
-
- Int li_if_allowuse,li_if_date
- IF cbx_if_allowuse.Checked THEN
- li_if_allowuse = 1
- ELSE
- li_if_allowuse = 0
- END IF
-
-
- li_if_date = 0
-
- IF uo_m.uof_get_qty(1,i_scid,i_taskid,i_printid,ll_mtrlid,ls_status,ls_woodcode,ls_pcode,ld_bqty,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- IF uo_m.uof_get_qty(2,i_scid,i_taskid,i_printid,ll_mtrlid,ls_status,ls_woodcode,ls_pcode,ld_pqty,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- IF uo_m.uof_get_qty(3,i_scid,i_taskid,i_printid,ll_mtrlid,ls_status,ls_woodcode,ls_pcode,ld_wqty,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- // IF uo_m.uof_get_qty(4,li_if_date,ldt_rqdate,i_scid,i_orderid,ll_mtrlid,ls_status,ls_woodcode,ls_pcode,ld_mqty,arg_msg) = 0 THEN
- // rslt = 0
- // GOTO ext
- // END IF
- //
- // IF uo_m.uof_get_other_rqqty(i_scid,i_orderid,ll_mtrlid,li_plantype,ls_status,ls_woodcode,ls_pcode,ld_otherrqqty,li_if_date,ldt_rqdate,arg_msg) = 0 THEN
- // rslt = 0
- // GOTO ext
- // END IF
- //
- ld_ckwareqty = ld_mqty + ld_bqty + ld_wqty + ld_pqty - ld_otherrqqty - ld_samerqqty
-
- IF cbx_if_allowuse.Checked THEN
- IF cbx_ifbuy_mtrl_not_useqty.Checked OR &
- cbx_ifwx_mtrl_not_useqty.Checked THEN
- IF li_plantype = 2 THEN
- IF cbx_ifbuy_mtrl_not_useqty.Checked THEN
- ld_cmplqty = ld_rqqty
- if_special_notuse = TRUE
- END IF
- ELSEIF li_plantype = 3 THEN
- IF cbx_ifwx_mtrl_not_useqty.Checked THEN
- ld_cmplqty = ld_rqqty
- if_special_notuse = TRUE
- END IF
- END IF
- END IF
-
- IF NOT if_special_notuse THEN
- IF ld_ckwareqty > 0 THEN
- IF ld_rqqty <= ld_ckwareqty THEN
- ld_cmplqty = 0
- ELSE
- ld_cmplqty = ld_rqqty - ld_ckwareqty
- END IF
- ELSE
- ld_cmplqty = ld_rqqty
- END IF
- END IF
- ELSE
- ld_cmplqty = ld_rqqty
- END IF
-
- IF cbx_if_allowuse.Checked THEN
- IF ld_cmplqty = dw_1.Object.u_orderrqmtrl_tree_truerqqty[ll_row] THEN
- ld_cmplqty_change = 0
- ELSEIF ld_cmplqty > dw_1.Object.u_orderrqmtrl_tree_truerqqty[ll_row] THEN
- ld_cmplqty_change = ld_cmplqty - dw_1.Object.u_orderrqmtrl_tree_truerqqty[ll_row]
- li_if_add = 0
- ELSEIF ld_cmplqty < dw_1.Object.u_orderrqmtrl_tree_truerqqty[ll_row] THEN
- ld_cmplqty_change = dw_1.Object.u_orderrqmtrl_tree_truerqqty[ll_row] - ld_cmplqty
- li_if_add = 1
- END IF
-
- IF ld_cmplqty_change <> 0 THEN
- IF uo_m.uof_cmpl_rqmtrl_change(i_scid,ll_pmtrlid,ll_mtrlid,&
- s_chpz_rst.status,s_chpz_rst.woodcode,s_chpz_rst.pcode,&
- ld_cmplqty_change,s_ref_mtrl,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- Long ll_f_row,ll_j,ll_i
-
- FOR ll_i = 1 TO UpperBound(s_ref_mtrl.mtrlid)
- ll_f_row = 0
- ll_j = 0
-
- dw_1.AcceptText()
- FOR ll_j = ll_row + 1 TO dw_1.RowCount()
- IF dw_1.Object.u_orderrqmtrl_tree_mtrlid[ll_j] = s_ref_mtrl.mtrlid[ll_i] AND &
- dw_1.Object.u_orderrqmtrl_tree_status[ll_j] = s_ref_mtrl.status[ll_i] AND &
- dw_1.Object.u_orderrqmtrl_tree_woodcode[ll_j] = s_ref_mtrl.woodcode[ll_i] AND &
- dw_1.Object.u_orderrqmtrl_tree_pcode[ll_j] = s_ref_mtrl.pcode[ll_i] AND &
- dw_1.Object.u_OrderRqMtrl_tree_wrkgrpid[ll_j] = s_ref_mtrl.wrkgrpid_scll[ll_i] AND &
- dw_1.Object.u_OrderRqMtrl_tree_pmtrlid[ll_j] = s_ref_mtrl.pmtrlid[ll_i] THEN
- ll_f_row = ll_j
- EXIT
- END IF
- NEXT
-
- IF ll_f_row = 0 THEN
- arg_msg = '查询物料:'+s_ref_mtrl.mtrlcode[ll_i]+',变更行数失败'
- rslt = 0
- GOTO ext
- END IF
- NEXT
-
- FOR ll_i = 1 TO UpperBound(s_ref_mtrl.mtrlid)
- ll_f_row = 0
- ll_j = 0
-
- dw_1.AcceptText()
- FOR ll_j = ll_row + 1 TO dw_1.RowCount()
- IF dw_1.Object.u_orderrqmtrl_tree_mtrlid[ll_j] = s_ref_mtrl.mtrlid[ll_i] AND &
- dw_1.Object.u_orderrqmtrl_tree_status[ll_j] = s_ref_mtrl.status[ll_i] AND &
- dw_1.Object.u_orderrqmtrl_tree_woodcode[ll_j] = s_ref_mtrl.woodcode[ll_i] AND &
- dw_1.Object.u_orderrqmtrl_tree_pcode[ll_j] = s_ref_mtrl.pcode[ll_i] AND &
- dw_1.Object.u_OrderRqMtrl_tree_wrkgrpid[ll_j] = s_ref_mtrl.wrkgrpid_scll[ll_i] AND &
- dw_1.Object.u_OrderRqMtrl_tree_pmtrlid[ll_j] = s_ref_mtrl.pmtrlid[ll_i] THEN
- ll_f_row = ll_j
- EXIT
- END IF
- NEXT
-
-
-
- IF li_if_add = 0 THEN
- dw_1.Object.u_orderrqmtrl_tree_rqqty[ll_f_row] = dw_1.Object.u_orderrqmtrl_tree_rqqty[ll_f_row] + s_ref_mtrl.qty[ll_i]
- dw_1.Object.u_orderrqmtrl_tree_truerqqty[ll_f_row] = dw_1.Object.u_orderrqmtrl_tree_truerqqty[ll_f_row] + s_ref_mtrl.cmplqty[ll_i]
- ELSE
- dw_1.Object.u_orderrqmtrl_tree_rqqty[ll_f_row] = dw_1.Object.u_orderrqmtrl_tree_rqqty[ll_f_row] - s_ref_mtrl.qty[ll_i]
- IF dw_1.Object.u_orderrqmtrl_tree_truerqqty[ll_f_row] - s_ref_mtrl.cmplqty[ll_i] < 0 THEN
- dw_1.Object.u_orderrqmtrl_tree_truerqqty[ll_f_row] = 0
- ELSE
- dw_1.Object.u_orderrqmtrl_tree_truerqqty[ll_f_row] = dw_1.Object.u_orderrqmtrl_tree_truerqqty[ll_f_row] - s_ref_mtrl.cmplqty[ll_i]
- END IF
- END IF
- NEXT
- END IF
- END IF
-
- dw_1.Object.u_orderrqmtrl_tree_mqty[ll_row] = ld_mqty
- dw_1.Object.u_orderrqmtrl_tree_bqty[ll_row] = ld_bqty
- dw_1.Object.u_orderrqmtrl_tree_wqty[ll_row] = ld_wqty
- dw_1.Object.u_orderrqmtrl_tree_pqty[ll_row] = ld_pqty
- dw_1.Object.u_orderrqmtrl_tree_otherrqqty[ll_row] = ld_otherrqqty
- dw_1.Object.u_orderrqmtrl_tree_samerqqty[ll_row] = ld_samerqqty
- dw_1.Object.ckwareqty[ll_row] = ld_ckwareqty
- dw_1.Object.u_orderrqmtrl_tree_status[ll_row] = s_chpz_rst.status
- dw_1.Object.u_orderrqmtrl_tree_woodcode[ll_row] = s_chpz_rst.woodcode
- dw_1.Object.u_orderrqmtrl_tree_pcode[ll_row] = s_chpz_rst.pcode
- dw_1.Object.u_orderrqmtrl_tree_truerqqty[ll_row] = ld_cmplqty
- END IF
- ext:
- IF rslt = 0 THEN
- MessageBox('提示','操作失败,'+arg_msg)
- ELSE
- MessageBox('提示','操作成功')
- END IF
- DESTROY uo_m
- end event
- type cb_cancel_scll from uo_imflatbutton within w_order_ml_mrp
- integer x = 1371
- integer height = 164
- integer taborder = 60
- boolean bringtotop = true
- boolean enabled = false
- string text = "取消领料"
- string normalpicname = "mx.BMP"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;Long ll_row
- dw_1.AcceptText()
- ll_row = dw_1.GetRow()
- IF ll_row <= 0 THEN
- MessageBox('提示','请选择目标物料')
- RETURN
- END IF
- IF dw_1.Object.u_OrderRqMtrl_tree_ifmainmtrlid[ll_row] = 1 THEN
- MessageBox('提示','生产计划物料不能操作')
- RETURN
- END IF
- IF dw_1.Object.u_orderrqmtrl_tree_truerqqty[ll_row] <> 0 THEN
- MessageBox('提示','物料有需求数,不能取消领料')
- RETURN
- END IF
- IF dw_1.Object.u_orderrqmtrl_tree_rqqty[ll_row] = 0 THEN
- MessageBox('提示','物料没有领料数,不能取消领料')
- RETURN
- END IF
- dw_1.Object.u_orderrqmtrl_tree_rqqty[ll_row] = 0
- dw_1.Object.u_orderrqmtrl_tree_ifchanged[ll_row] = 1
- end event
- type cbx_ifwx_mtrl_not_useqty from checkbox within w_order_ml_mrp
- integer x = 1056
- integer y = 200
- integer width = 521
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 16711680
- long backcolor = 134217739
- string text = "外协不考虑可用数"
- end type
- type cb_sort from uo_imflatbutton within w_order_ml_mrp
- integer x = 1673
- integer width = 165
- integer height = 164
- integer taborder = 30
- boolean bringtotop = true
- string text = "排序"
- string normalpicname = "other.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_sort_1"
- menustr = menustr + "|" + "Text=按物料类别排序~tEvent=ue_sort_2"
- 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 cb_help from uo_imflatbutton within w_order_ml_mrp
- integer x = 1838
- integer width = 151
- integer height = 164
- integer taborder = 20
- boolean bringtotop = true
- string text = "帮助"
- string normalpicname = "help.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;PARENT.TriggerEvent('ue_help')
- end event
- type cbx_ifbuy_mtrl_not_useqty from checkbox within w_order_ml_mrp
- integer x = 517
- integer y = 200
- integer width = 526
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 16711680
- long backcolor = 134217739
- string text = "采购不考虑可用数"
- end type
- type em_1 from editmask within w_order_ml_mrp
- integer x = 2473
- integer y = 64
- integer width = 155
- integer height = 72
- integer taborder = 30
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- string text = "1"
- alignment alignment = right!
- borderstyle borderstyle = stylelowered!
- maskdatatype maskdatatype = decimalmask!
- string mask = "#0.00"
- end type
- type st_1 from statictext within w_order_ml_mrp
- integer x = 2226
- integer y = 68
- integer width = 247
- integer height = 72
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 67108864
- string text = "运算比例"
- boolean focusrectangle = false
- end type
- event constructor;this.backcolor = 14215660
- end event
- type ln_1 from line within w_order_ml_mrp
- long linecolor = 268435456
- integer linethickness = 4
- integer beginy = 284
- integer endx = 3323
- integer endy = 284
- end type
- type ln_2 from line within w_order_ml_mrp
- long linecolor = 16777215
- integer linethickness = 4
- integer beginy = 288
- integer endx = 3323
- integer endy = 288
- end type
- type ln_3 from line within w_order_ml_mrp
- long linecolor = 268435456
- integer linethickness = 4
- integer beginy = 380
- integer endx = 3323
- integer endy = 380
- end type
- type ln_4 from line within w_order_ml_mrp
- long linecolor = 16777215
- integer linethickness = 4
- integer beginy = 384
- integer endx = 3323
- integer endy = 384
- end type
|