123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518 |
- $PBExportHeader$w_mtrldef_edit_price.srw
- forward
- global type w_mtrldef_edit_price from w_publ_easyq
- end type
- type cb_save from uo_imflatbutton within w_mtrldef_edit_price
- end type
- type dw_his from u_dw_rbtnfilter within w_mtrldef_edit_price
- end type
- type cb_other from uo_imflatbutton within w_mtrldef_edit_price
- end type
- type tv_1 from uo_tv_mtrltype within w_mtrldef_edit_price
- end type
- type cbx_1 from checkbox within w_mtrldef_edit_price
- end type
- type cb_edit from uo_imflatbutton within w_mtrldef_edit_price
- end type
- end forward
- global type w_mtrldef_edit_price from w_publ_easyq
- string title = "产品及物料价格设定"
- event ue_update_inware_price ( )
- event ue_update_wfjg ( )
- event ue_cmpl_dftmtrlcost ( )
- event ue_cmpl_planprice ( )
- event ue_cmpl_dftempcost ( )
- event ue_update_inware_price_2 ( )
- event ue_lmsalepricetoplanprice ( )
- event ue_lmbuypricetoplanprice ( )
- event ue_costtoplanprice ( )
- event ue_inwarebuyplanprice ( )
- event ue_update_outware_price_2 ( )
- cb_save cb_save
- dw_his dw_his
- cb_other cb_other
- tv_1 tv_1
- cbx_1 cbx_1
- cb_edit cb_edit
- end type
- global w_mtrldef_edit_price w_mtrldef_edit_price
- type variables
- string ls_handtype
- long cur_isuse = 1
- end variables
- forward prototypes
- public function integer wf_face ()
- end prototypes
- event ue_update_inware_price();IF NOT sys_power_issuper THEN
- MessageBox(publ_operator,'非超级用户,没有使用权限!')
- RETURN
- END IF
- IF MessageBox ("询问","是否确定更新未结存进仓单价?",Question!,YesNo! ) = 2 THEN
- RETURN
- END IF
- String ls_msg
- Long ll_storageid
- OPEN(w_mtrldef_edit_price_updatebill)
- ll_storageid = Message.DoubleParm
- IF ll_storageid = 0 THEN RETURN
- //更新进仓单价
- UPDATE u_inwaremx
- SET u_inwaremx.fprice = u_mtrldef.planprice,
- u_inwaremx.planprice = u_mtrldef.planprice,
- u_inwaremx.price = u_mtrldef.planprice,
- u_inwaremx.cost = u_mtrldef.planprice,
- u_inwaremx.uprice = u_mtrldef.planprice/u_inwaremx.rate
- FROM u_inware,u_inwaremx,u_mtrldef
- WHERE ( u_inware.scid = u_inwaremx.scid )
- AND ( u_inware.inwareid = u_inwaremx.inwareid )
- AND ( u_inware.storageid = :ll_storageid )
- AND ( u_mtrldef.mtrlid = u_inwaremx.mtrlid )
- AND ( u_mtrldef.mtrlorigin = 0 )
- AND ( u_mtrldef.planprice <> 0 )
- AND ( u_inware.balcdateint = 0 )
- and u_mtrldef.mtrlorigin <> 2
- AND ( u_inware.billtype = 3
- OR u_inware.billtype = 8
- OR u_inware.billtype = 9
- OR u_inware.billtype = 12
- OR u_inware.billtype = 20 );
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- ROLLBACK;
- MessageBox(publ_operator,'更新进仓单价失败'+ls_msg)
- RETURN
- END IF
- //更新出仓单价
- UPDATE u_outwaremx
- SET u_outwaremx.cost = u_mtrldef.planprice,
- u_outwaremx.costamt = round(u_mtrldef.planprice * u_outwaremx.qty,2)
- FROM u_outware,u_outwaremx,u_mtrldef
- WHERE ( u_outware.scid = u_outwaremx.scid )
- AND ( u_outware.outwareid = u_outwaremx.outwareid )
- AND ( u_outware.storageid = :ll_storageid )
- AND ( u_mtrldef.mtrlid = u_outwaremx.mtrlid )
- AND ( u_mtrldef.mtrlorigin = 0 )
- AND ( u_mtrldef.planprice <> 0 )
- AND ( u_outware.balcdateint = 0 )
- and u_mtrldef.mtrlorigin <> 2;
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- ROLLBACK;
- MessageBox(publ_operator,'更新出仓单价失败'+ls_msg)
- RETURN
- END IF
- //更新库存表
- UPDATE u_mtrlware
- SET u_mtrlware.wareamt = round(u_mtrlware.noallocqty * u_mtrldef.planprice,2),
- u_mtrlware.cost = u_mtrldef.planprice
- FROM u_mtrlware,u_mtrldef
- WHERE ( u_mtrlware.mtrlid = u_mtrldef.mtrlid )
- AND ( u_mtrlware.storageid = :ll_storageid )
- AND ( u_mtrldef.mtrlorigin = 0 )
- AND ( u_mtrldef.planprice <> 0 )
- and u_mtrldef.mtrlorigin <> 2;
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- ROLLBACK;
- MessageBox(publ_operator,'更新结存表进仓金额失败,'+ls_msg)
- RETURN
- END IF
- //更新结存表
- UPDATE u_warebalc
- SET u_warebalc.incamt = round(u_warebalc.incqty * u_mtrldef.planprice,2),
- u_warebalc.bgamt = round(u_warebalc.bgqty * u_mtrldef.planprice,2),
- u_warebalc.desamt = round(u_warebalc.desqty * u_mtrldef.planprice,2),
- u_warebalc.balcamt = round(u_warebalc.balcqty * u_mtrldef.planprice,2)
- FROM u_warebalc,u_mtrldef
- WHERE u_warebalc.mtrlid = u_mtrldef.mtrlid
- AND ( u_mtrldef.mtrlorigin = 0 )
- AND ( u_mtrldef.planprice <> 0 )
- AND ( u_warebalc.storageid = :ll_storageid )
- AND ( u_warebalc.balcdateint = 0 )
- and u_mtrldef.mtrlorigin <> 2;
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- ROLLBACK;
- MessageBox(publ_operator,'更新结存表进仓金额失败,'+ls_msg)
- RETURN
- END IF
- ////更新生产计划领料明细
- //UPDATE u_OrderRqMtrl_scll
- // SET u_OrderRqMtrl_scll.costamt = round(u_mtrldef.planprice * u_OrderRqMtrl_scll.DstrQty,2)
- // FROM u_OrderRqMtrl_scll,u_mtrldef
- // WHERE ( u_mtrldef.mtrlid = u_OrderRqMtrl_scll.mtrlid )
- // AND ( u_mtrldef.mtrlorigin = 0 );
- //IF sqlca.SQLCode <> 0 THEN
- // ls_msg = sqlca.SQLErrText
- // ROLLBACK;
- // MessageBox(publ_operator,'更新生产计划领料成本失败'+ls_msg)
- // RETURN
- //END IF
- //更新生产计划领料明细
- UPDATE u_OrderRqMtrl
- SET u_OrderRqMtrl.costamt = round(u_mtrldef.planprice * u_OrderRqMtrl.DstrQty,2)
- FROM u_OrderRqMtrl,u_mtrldef
- WHERE ( u_mtrldef.mtrlid = u_OrderRqMtrl.mtrlid )
- and u_mtrldef.mtrlorigin = 0
- AND ( u_mtrldef.planprice <> 0 ) ;
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- ROLLBACK;
- MessageBox(publ_operator,'更新生产计划领料需求成本失败'+ls_msg)
- RETURN
- END IF
- COMMIT;
- MessageBox(publ_operator,'操作完成')
- end event
- event ue_update_wfjg();IF Not sys_power_issuper THEN
- MessageBox(publ_operator,'非超级用户,没有使用权限!')
- RETURN
- END IF
- IF MessageBox ("询问","是否确定更新外协商库存、结存金额?",Question!,YesNo! ) = 2 THEN
- RETURN
- END IF
- String ls_msg
- Long ll_storageid
- //更新库存表
- UPDATE ow_wfjgware
- SET ow_wfjgware.wareamt = round(ow_wfjgware.noallocqty * u_mtrldef.planprice,2),
- ow_wfjgware.cost = u_mtrldef.planprice
- FROM ow_wfjgware,u_mtrldef
- WHERE ( ow_wfjgware.mtrlid = u_mtrldef.mtrlid )
- AND ( u_mtrldef.mtrlorigin = 0 )
- And u_mtrldef.mtrlorigin <> 2;
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- ROLLBACK;
- MessageBox(publ_operator,'更新外协商库存金额失败,'+ls_msg)
- RETURN
- END IF
- //更新结存表
- UPDATE ow_wfjgbalc
- SET ow_wfjgbalc.bgamt = round(ow_wfjgbalc.bgqty * u_mtrldef.planprice,2),
- ow_wfjgbalc.inamt = round(ow_wfjgbalc.inqty * u_mtrldef.planprice,2),
- ow_wfjgbalc.thamt = round(ow_wfjgbalc.thqty * u_mtrldef.planprice,2),
- ow_wfjgbalc.outamt = round(ow_wfjgbalc.outqty * u_mtrldef.planprice,2),
- ow_wfjgbalc.reoutamt = round(ow_wfjgbalc.reoutqty * u_mtrldef.planprice,2),
- ow_wfjgbalc.balcamt = round(ow_wfjgbalc.balcqty * u_mtrldef.planprice,2),
- ow_wfjgbalc.wasteamt = round(ow_wfjgbalc.wasteqty * u_mtrldef.planprice,2),
- ow_wfjgbalc.pypkamt = round(ow_wfjgbalc.pypkqty * u_mtrldef.planprice,2)
- FROM ow_wfjgbalc,u_mtrldef
- WHERE ow_wfjgbalc.mtrlid = u_mtrldef.mtrlid
- AND ( u_mtrldef.mtrlorigin = 0 )
- AND ( ow_wfjgbalc.balcdateint = 0 )
- And u_mtrldef.mtrlorigin <> 2;
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- ROLLBACK;
- MessageBox(publ_operator,'更新外协商结存表失败,'+ls_msg)
- RETURN
- END IF
- COMMIT;
- String arg_msg
- f_setsysoplog('产品及物料价格设定','更新外协商库存、结存金额',arg_msg,True)
- MessageBox(publ_operator,'操作完成')
- end event
- event ue_cmpl_dftmtrlcost();IF MessageBox ("询问","是否确定按物料清单统计默认物料成本?",Question!,YesNo! ) = 2 THEN
- RETURN
- END IF
- Int rslt = 1
- Long i
- Long ll_mtrlid
- Dec lde_dftmtrlcost
- String arg_msg, err_msg
- uo_mtrldef uo_mtrl
- uo_mtrl = Create uo_mtrldef
- uo_mtrl.commit_transaction = sqlca
- Open(w_sys_wait_jdt)
- w_sys_wait_jdt.wf_accepttol(dw_1.RowCount())
- dw_1.SetRedraw(False)
- FOR i = 1 To dw_1.RowCount()
- w_sys_wait_jdt.wf_inc(i)
- w_sys_wait_jdt.wf_set_msg('正在计算,请稍后......')
-
- ll_mtrlid = dw_1.Object.mtrlid[i]
- lde_dftmtrlcost = 0
- IF uo_mtrl.uof_pfdpf_cost(ll_mtrlid, lde_dftmtrlcost, 1, arg_msg) = 0 THEN
- err_msg = '行:'+String(i)+','+arg_msg+'~r~n'
- lde_dftmtrlcost = 0
- END IF
-
- dw_1.Object.dftmtrlcost[i] = lde_dftmtrlcost
- NEXT
- dw_1.SetRedraw(True)
- Close(w_sys_wait_jdt)
- Destroy uo_mtrl
- IF rslt = 0 THEN
- OpenWithParm(w_message_err, err_msg)
- //messagebox('','计算错误~r~n'+arg_msg)
- ELSE
- MessageBox('系统提示','计算成功')
- END IF
- end event
- event ue_cmpl_planprice();IF MessageBox ("询问","是否确定按默认总成本更新计划价?",Question!,YesNo! ) = 2 THEN
- RETURN
- END IF
- Long i
- Open(w_sys_wait_jdt)
- w_sys_wait_jdt.wf_accepttol(dw_1.RowCount())
- dw_1.SetRedraw(False)
- FOR i = 1 To dw_1.RowCount()
- w_sys_wait_jdt.wf_inc(i)
- w_sys_wait_jdt.wf_set_msg('正在计算,请稍后......')
- dw_1.Object.planprice[i] = dw_1.Object.tolcost[i]
- NEXT
- dw_1.SetRedraw(True)
- Close(w_sys_wait_jdt)
- end event
- event ue_cmpl_dftempcost();IF MessageBox ("询问","是否确定按工价表统计默认人力成本?",Question!,YesNo! ) = 2 THEN
- RETURN
- END IF
- Int rslt = 1
- Long i
- Long ll_mtrlid
- Dec lde_dftempcost
- String arg_msg, err_msg
- uo_mtrldef uo_mtrl
- uo_mtrl = Create uo_mtrldef
- uo_mtrl.commit_transaction = sqlca
- Open(w_sys_wait_jdt)
- w_sys_wait_jdt.wf_accepttol(dw_1.RowCount())
- dw_1.SetRedraw(False)
- FOR i = 1 To dw_1.RowCount()
- w_sys_wait_jdt.wf_inc(i)
- w_sys_wait_jdt.wf_set_msg('正在计算,请稍后......')
- ll_mtrlid = dw_1.Object.mtrlid[i]
- lde_dftempcost = 0
- IF uo_mtrl.uof_pfdpf_empcost(ll_mtrlid, lde_dftempcost, 1, arg_msg) = 0 THEN
- err_msg = '行:'+String(i)+','+arg_msg+'~r~n'
- lde_dftempcost = 0
- END IF
-
- dw_1.Object.dftempcost[i] = lde_dftempcost
- NEXT
- dw_1.SetRedraw(True)
- Close(w_sys_wait_jdt)
- Destroy uo_mtrl
- IF rslt = 0 THEN
- OpenWithParm(w_message_err, err_msg)
- ELSE
- MessageBox('系统提示','计算人力成本成功')
- END IF
- end event
- event ue_update_inware_price_2();IF Not sys_power_issuper THEN
- MessageBox(publ_operator,'非超级用户,没有使用权限!')
- RETURN
- END IF
- IF MessageBox ("询问","是否确定更新未结存进仓仓成本单价?",Question!,YesNo! ) = 2 THEN
- RETURN
- END IF
- Int rslt = 1
- String arg_msg
- Long ll_storageid
- Int li_mtrlorigin_0, li_mtrlorigin_3, li_mtrlorigin_2
- String ls_update_string
- String ls_mtrlorigin_string
- Open(w_mtrldef_edit_price_updatebill_2)
- s_edit_index_tran s_rslt
- s_rslt = Message.PowerObjectParm
- ll_storageid = s_rslt.b_long
- IF ll_storageid = 0 THEN RETURN
- li_mtrlorigin_0 = s_rslt.c_long
- li_mtrlorigin_3 = s_rslt.d_long
- li_mtrlorigin_2 = s_rslt.e_long
- ls_mtrlorigin_string = ""
- IF li_mtrlorigin_0 = 1 THEN
- ls_mtrlorigin_string += "0,"
- END IF
- IF li_mtrlorigin_2 = 1 THEN
- ls_mtrlorigin_string += "2,"
- END IF
- IF li_mtrlorigin_3 = 1 THEN
- ls_mtrlorigin_string += "3,"
- END IF
- IF ls_mtrlorigin_string <> "" THEN
- ls_mtrlorigin_string = Left(ls_mtrlorigin_string, Len(ls_mtrlorigin_string) - 1)
- END IF
- //更新进仓单价
- ls_update_string = ""
- ls_update_string += " UPDATE u_inwaremx "
- ls_update_string += " SET u_inwaremx.fprice = u_mtrldef.planprice, "
- ls_update_string += " u_inwaremx.planprice = u_mtrldef.planprice, "
- ls_update_string += " u_inwaremx.price = u_mtrldef.planprice, "
- ls_update_string += " u_inwaremx.cost = u_mtrldef.planprice, "
- ls_update_string += " u_inwaremx.uprice = u_mtrldef.planprice/u_inwaremx.rate "
- ls_update_string += " FROM u_inware,u_inwaremx,u_mtrldef "
- ls_update_string += " WHERE ( u_inware.scid = u_inwaremx.scid ) "
- ls_update_string += " AND ( u_inware.inwareid = u_inwaremx.inwareid ) "
- ls_update_string += " AND ( u_inware.storageid = "+String(ll_storageid)+" or "+String(ll_storageid)+" = -1 ) "
- ls_update_string += " AND ( u_mtrldef.mtrlid = u_inwaremx.mtrlid ) "
- ls_update_string += " AND ( u_inware.balcdateint = 0 ) "
- ls_update_string += " AND ( u_mtrldef.planprice <> 0 ) "
- ls_update_string += " AND (u_mtrldef.mtrlorigin in ( "+ls_mtrlorigin_string+" )) "
- ls_update_string += " AND ( u_inware.billtype in ( 3,4,8,9,12,15,20)) "
- EXECUTE Immediate :ls_update_string;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '更新进仓单价失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- //更新出仓单价
- ls_update_string = ""
- ls_update_string += " UPDATE u_outwaremx "
- ls_update_string += " SET u_outwaremx.cost = u_mtrldef.planprice, "
- ls_update_string += " u_outwaremx.costamt = round(u_mtrldef.planprice * u_outwaremx.qty,2) "
- ls_update_string += " FROM u_outware,u_outwaremx,u_mtrldef "
- ls_update_string += " WHERE ( u_outware.scid = u_outwaremx.scid ) "
- ls_update_string += " AND ( u_outware.outwareid = u_outwaremx.outwareid ) "
- ls_update_string += " AND ( u_mtrldef.mtrlid = u_outwaremx.mtrlid ) "
- ls_update_string += " AND ( u_outware.storageid = "+String(ll_storageid)+" or "+String(ll_storageid)+" = -1 ) "
- ls_update_string += " AND ( u_outware.balcdateint = 0 ) "
- ls_update_string += " AND ( u_mtrldef.planprice <> 0 ) "
- ls_update_string += " AND (u_mtrldef.mtrlorigin in ( "+ls_mtrlorigin_string+" )) "
- EXECUTE Immediate :ls_update_string;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '更新出仓单价失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- //更新库存表
- ls_update_string = ""
- ls_update_string += " UPDATE u_mtrlware "
- ls_update_string += " SET u_mtrlware.wareamt = round(u_mtrlware.noallocqty * u_mtrldef.planprice,2), "
- ls_update_string += " u_mtrlware.cost = u_mtrldef.planprice "
- ls_update_string += " FROM u_mtrlware,u_mtrldef "
- ls_update_string += " WHERE ( u_mtrlware.mtrlid = u_mtrldef.mtrlid ) "
- ls_update_string += " AND ( u_mtrldef.planprice <> 0 ) "
- ls_update_string += " AND ( u_mtrlware.storageid = "+String(ll_storageid)+" or "+String(ll_storageid)+" = -1 ) "
- ls_update_string += " AND (u_mtrldef.mtrlorigin in ( "+ls_mtrlorigin_string+" )) "
- EXECUTE Immediate :ls_update_string;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '更新库存表库存金额失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- //更新结存表
- ls_update_string = ""
- ls_update_string += " UPDATE u_warebalc "
- ls_update_string += " SET u_warebalc.bgamt = round(u_warebalc.bgqty * u_mtrldef.planprice,2), "
- ls_update_string += " u_warebalc.incamt = round(u_warebalc.incqty * u_mtrldef.planprice,2), "
- ls_update_string += " u_warebalc.desamt = round(u_warebalc.desqty * u_mtrldef.planprice,2), "
- ls_update_string += " u_warebalc.balcamt = round(u_warebalc.balcqty * u_mtrldef.planprice,2) "
- ls_update_string += " FROM u_warebalc,u_mtrldef "
- ls_update_string += " WHERE u_warebalc.mtrlid = u_mtrldef.mtrlid "
- ls_update_string += " AND ( u_warebalc.storageid = "+String(ll_storageid)+" or "+String(ll_storageid)+" = -1 ) "
- ls_update_string += " AND ( u_warebalc.balcdateint = 0 ) "
- ls_update_string += " AND ( u_mtrldef.planprice <> 0 ) "
- ls_update_string += " AND (u_mtrldef.mtrlorigin in ( "+ls_mtrlorigin_string+" )) "
- EXECUTE Immediate :ls_update_string;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '更新结存金额失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- //更新生产计划领料明细
- ls_update_string = ""
- ls_update_string += " UPDATE u_OrderRqMtrl "
- ls_update_string += " SET u_OrderRqMtrl.costamt = round(u_mtrldef.planprice * u_OrderRqMtrl.DstrQty,2) "
- ls_update_string += " FROM u_OrderRqMtrl,u_mtrldef "
- ls_update_string += " WHERE ( u_mtrldef.mtrlid = u_OrderRqMtrl.mtrlid ) "
- ls_update_string += " AND ( u_mtrldef.planprice <> 0 ) "
- ls_update_string += " AND (u_mtrldef.mtrlorigin in ( "+ls_mtrlorigin_string+" )) "
- EXECUTE Immediate :ls_update_string;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '更新生产计划领料需求成本失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- //外协单据
- ls_update_string = ""
- ext:
- IF rslt = 1 THEN
- COMMIT;
- MessageBox(publ_operator,'操作完成')
- ELSE
- ROLLBACK;
- MessageBox(publ_operator,arg_msg)
- END IF
- /*
- IF NOT sys_power_issuper THEN
- MessageBox(publ_operator,'非超级用户,没有使用权限!')
- RETURN
- END IF
- String ls_msg
- Long ll_storageid
- int li_mtrlorigin_0, li_mtrlorigin_3, li_mtrlorigin_2
- OPEN(w_mtrldef_edit_price_updatebill)
- s_edit_index_tran s_rslt
- s_rslt = Message.PowerObjectparm
- //ll_storageid = Message.DoubleParm
- ll_storageid = s_rslt.b_long
- IF ll_storageid = 0 THEN RETURN
- li_mtrlorigin_0 = s_rslt.c_long
- li_mtrlorigin_3 = s_rslt.d_long
- li_mtrlorigin_2 = s_rslt.e_long
- //
- // AND (( :li_mtrlorigin_0 = 1 or u_mtrldef.mtrlorigin = 0 )
- // or ( :li_mtrlorigin_2 = 1 or u_mtrldef.mtrlorigin = 2 )
- // or ( :li_mtrlorigin_3 = 1 or u_mtrldef.mtrlorigin = 3 ))
- //更新进仓单价
- UPDATE u_inwaremx
- SET u_inwaremx.fprice = u_mtrldef.planprice,
- u_inwaremx.planprice = u_mtrldef.planprice,
- u_inwaremx.price = u_mtrldef.planprice,
- u_inwaremx.cost = u_mtrldef.planprice,
- u_inwaremx.uprice = u_mtrldef.planprice/u_inwaremx.rate
- FROM u_inware,u_inwaremx,u_mtrldef
- WHERE ( u_inware.scid = u_inwaremx.scid )
- AND ( u_inware.inwareid = u_inwaremx.inwareid )
- AND ( u_inware.storageid = :ll_storageid )
- AND ( u_mtrldef.mtrlid = u_inwaremx.mtrlid )
- AND ( u_inware.balcdateint = 0 )
- AND (( :li_mtrlorigin_0 = 1 or u_mtrldef.mtrlorigin = 0 )
- or ( :li_mtrlorigin_2 = 1 or u_mtrldef.mtrlorigin = 2 )
- or ( :li_mtrlorigin_3 = 1 or u_mtrldef.mtrlorigin = 3 ))
- AND ( u_inware.billtype = 3
- OR u_inware.billtype = 4
- OR u_inware.billtype = 8
- OR u_inware.billtype = 9
- OR u_inware.billtype = 12
- OR u_inware.billtype = 15
- OR u_inware.billtype = 20 );
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- ROLLBACK;
- MessageBox(publ_operator,'更新进仓单价失败'+ls_msg)
- RETURN
- END IF
- //更新出仓单价
- UPDATE u_outwaremx
- SET u_outwaremx.cost = u_mtrldef.planprice,
- u_outwaremx.costamt = round(u_mtrldef.planprice * u_outwaremx.qty,2)
- FROM u_outware,u_outwaremx,u_mtrldef
- WHERE ( u_outware.scid = u_outwaremx.scid )
- AND ( u_outware.outwareid = u_outwaremx.outwareid )
- AND ( u_outware.storageid = :ll_storageid )
- AND ( u_mtrldef.mtrlid = u_outwaremx.mtrlid )
- AND ( u_mtrldef.mtrlorigin = 0 )
- AND ( u_outware.balcdateint = 0 )
- and u_mtrldef.mtrlorigin <> 2;
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- ROLLBACK;
- MessageBox(publ_operator,'更新出仓单价失败'+ls_msg)
- RETURN
- END IF
- //更新库存表
- UPDATE u_mtrlware
- SET u_mtrlware.wareamt = round(u_mtrlware.noallocqty * u_mtrldef.planprice,2),
- u_mtrlware.cost = u_mtrldef.planprice
- FROM u_mtrlware,u_mtrldef
- WHERE ( u_mtrlware.mtrlid = u_mtrldef.mtrlid )
- AND ( u_mtrlware.storageid = :ll_storageid )
- AND ( u_mtrldef.mtrlorigin = 0 )
- and u_mtrldef.mtrlorigin <> 2;
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- ROLLBACK;
- MessageBox(publ_operator,'更新结存表进仓金额失败,'+ls_msg)
- RETURN
- END IF
- //更新结存表
- UPDATE u_warebalc
- SET u_warebalc.incamt = round(u_warebalc.incqty * u_mtrldef.planprice,2),
- u_warebalc.bgamt = round(u_warebalc.bgqty * u_mtrldef.planprice,2),
- u_warebalc.desamt = round(u_warebalc.desqty * u_mtrldef.planprice,2),
- u_warebalc.balcamt = round(u_warebalc.balcqty * u_mtrldef.planprice,2)
- FROM u_warebalc,u_mtrldef
- WHERE u_warebalc.mtrlid = u_mtrldef.mtrlid
- AND ( u_mtrldef.mtrlorigin = 0 )
- AND ( u_warebalc.storageid = :ll_storageid )
- AND ( u_warebalc.balcdateint = 0 )
- and u_mtrldef.mtrlorigin <> 2;
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- ROLLBACK;
- MessageBox(publ_operator,'更新结存表进仓金额失败,'+ls_msg)
- RETURN
- END IF
- ////更新生产计划领料明细
- //UPDATE u_OrderRqMtrl_scll
- // SET u_OrderRqMtrl_scll.costamt = round(u_mtrldef.planprice * u_OrderRqMtrl_scll.DstrQty,2)
- // FROM u_OrderRqMtrl_scll,u_mtrldef
- // WHERE ( u_mtrldef.mtrlid = u_OrderRqMtrl_scll.mtrlid )
- // AND ( u_mtrldef.mtrlorigin = 0 );
- //IF sqlca.SQLCode <> 0 THEN
- // ls_msg = sqlca.SQLErrText
- // ROLLBACK;
- // MessageBox(publ_operator,'更新生产计划领料成本失败'+ls_msg)
- // RETURN
- //END IF
- //更新生产计划领料明细
- UPDATE u_OrderRqMtrl
- SET u_OrderRqMtrl.costamt = round(u_mtrldef.planprice * u_OrderRqMtrl.DstrQty,2)
- FROM u_OrderRqMtrl,u_mtrldef
- WHERE ( u_mtrldef.mtrlid = u_OrderRqMtrl.mtrlid )
- and u_mtrldef.mtrlorigin = 0 ;
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- ROLLBACK;
- MessageBox(publ_operator,'更新生产计划领料需求成本失败'+ls_msg)
- RETURN
- END IF
- //外协单据
- COMMIT;
- MessageBox(publ_operator,'操作完成')
- */
- end event
- event ue_lmsalepricetoplanprice();IF MessageBox ("询问","是否确定按设定售价更新计划价?",Question!,YesNo! ) = 2 THEN
- RETURN
- END IF
- Int rslt = 1
- Long i
- Long ll_mtrlid
- Dec lde_lmsaleprice
- String arg_msg, err_msg
- Open(w_sys_wait_jdt)
- w_sys_wait_jdt.wf_accepttol(dw_1.RowCount())
- dw_1.SetRedraw(False)
- FOR i = 1 To dw_1.RowCount()
- w_sys_wait_jdt.wf_inc(i)
- w_sys_wait_jdt.wf_set_msg('正在计算,请稍后......')
-
- ll_mtrlid = dw_1.Object.mtrlid[i]
- lde_lmsaleprice = 0
-
- SELECT lmsaleprice INTO :lde_lmsaleprice
- FROM u_mtrldef
- Where mtrlid = :ll_mtrlid;
- IF sqlca.SQLCode <> 0 THEN
- lde_lmsaleprice = 0
- END IF
- IF IsNull(lde_lmsaleprice) THEN lde_lmsaleprice = 0
-
- dw_1.Object.planprice[i] = lde_lmsaleprice
- NEXT
- dw_1.SetRedraw(True)
- Close(w_sys_wait_jdt)
- IF rslt = 0 THEN
- OpenWithParm(w_message_err, err_msg)
- //messagebox('','计算错误~r~n'+arg_msg)
- ELSE
- MessageBox('系统提示','计算成功')
- END IF
- end event
- event ue_lmbuypricetoplanprice();IF MessageBox ("询问","是否确定按设定购价更新计划价?",Question!,YesNo! ) = 2 THEN
- RETURN
- END IF
- Int rslt = 1
- Long i
- Long ll_mtrlid
- Dec lde_lmbuyprice
- String arg_msg, err_msg
- Open(w_sys_wait_jdt)
- w_sys_wait_jdt.wf_accepttol(dw_1.RowCount())
- dw_1.SetRedraw(False)
- FOR i = 1 To dw_1.RowCount()
- w_sys_wait_jdt.wf_inc(i)
- w_sys_wait_jdt.wf_set_msg('正在计算,请稍后......')
-
- ll_mtrlid = dw_1.Object.mtrlid[i]
- lde_lmbuyprice = 0
-
- SELECT lmbuyprice INTO :lde_lmbuyprice
- FROM u_mtrldef
- Where mtrlid = :ll_mtrlid;
- IF sqlca.SQLCode <> 0 THEN
- lde_lmbuyprice = 0
- END IF
- IF IsNull(lde_lmbuyprice) THEN lde_lmbuyprice = 0
-
- dw_1.Object.planprice[i] = lde_lmbuyprice
- NEXT
- dw_1.SetRedraw(True)
- Close(w_sys_wait_jdt)
- IF rslt = 0 THEN
- OpenWithParm(w_message_err, err_msg)
- //messagebox('','计算错误~r~n'+arg_msg)
- ELSE
- MessageBox('系统提示','计算成功')
- END IF
- end event
- event ue_costtoplanprice();IF MessageBox ("询问","是否确定按仓库成本价更新计划价?",Question!,YesNo! ) = 2 THEN
- RETURN
- END IF
- Int rslt = 1
- Long i
- Long ll_mtrlid
- Dec lde_cost
- String arg_msg, err_msg
- Long ll_storageid
- Open(w_storage_ch)
- ll_storageid = Message.DoubleParm
- IF ll_storageid = 0 THEN RETURN
- Open(w_sys_wait_jdt)
- w_sys_wait_jdt.wf_accepttol(dw_1.RowCount())
- dw_1.SetRedraw(False)
- FOR i = 1 To dw_1.RowCount()
- w_sys_wait_jdt.wf_inc(i)
- w_sys_wait_jdt.wf_set_msg('正在计算,请稍后......')
-
- ll_mtrlid = dw_1.Object.mtrlid[i]
- lde_cost = 0
-
- SELECT top 1 cost
- INTO :lde_cost
- FROM u_mtrlware
- WHERE storageid = :ll_storageid
- And mtrlid = :ll_mtrlid;
- IF sqlca.SQLCode <> 0 THEN
- lde_cost = 0
- END IF
- IF IsNull(lde_cost) THEN lde_cost = 0
-
- dw_1.Object.planprice[i] = lde_cost
- NEXT
- dw_1.SetRedraw(True)
- Close(w_sys_wait_jdt)
- IF rslt = 0 THEN
- OpenWithParm(w_message_err, err_msg)
- //messagebox('','计算错误~r~n'+arg_msg)
- ELSE
- MessageBox('系统提示','计算成功')
- END IF
- end event
- event ue_inwarebuyplanprice();String err_msg
- Long i,rslt = 1
- Long ll_mtrlid
- String ls_msg
- Long ll_storageid
- Decimal lde_lmbuyprice
- s_edit_index_tran s_ch_tran //传递参数使用
- Open(w_mtrldef_edit_price_inwarebuyplanprice)
- s_ch_tran = Message.PowerObjectParm
- IF Date(s_ch_tran.first_date) = Date('1900-01-01') THEN RETURN
- Open(w_sys_wait_jdt)
- w_sys_wait_jdt.wf_accepttol(dw_1.RowCount())
- dw_1.SetRedraw(False)
- FOR i = 1 To dw_1.RowCount()
- w_sys_wait_jdt.wf_inc(i)
- w_sys_wait_jdt.wf_set_msg('正在计算,请稍后......')
-
- ll_mtrlid = dw_1.Object.mtrlid[i]
- lde_lmbuyprice = 0
-
- SELECT
-
-
- CASE when IsNull(SUM(uqty),0) = 0 THEN 0 ELSE SUM(uamt) / SUM(uqty) END Into :lde_lmbuyprice
-
-
- From u_inwaremx
- Inner join
- u_inware On u_inware.scid = u_inwaremx.scid And
- u_inware.inwareid = u_inwaremx.inwareid
- Where u_inware.billtype = 1 And
- u_inware.flag = 1 And
- (u_inware.indate >= :s_ch_tran.first_date and u_inware.indate <= :s_ch_tran.end_date) and
- mtrlid = :ll_mtrlid;
- IF sqlca.SQLCode <> 0 THEN
- lde_lmbuyprice = 0
- END IF
- IF IsNull(lde_lmbuyprice) THEN lde_lmbuyprice = 0
-
- dw_1.Object.planprice[i] = lde_lmbuyprice
-
-
-
-
-
- NEXT
- dw_1.SetRedraw(True)
- Close(w_sys_wait_jdt)
- IF rslt = 0 THEN
- OpenWithParm(w_message_err, err_msg)
-
- ELSE
- MessageBox('系统提示','计算成功')
- END IF
- end event
- event ue_update_outware_price_2();IF Not sys_power_issuper THEN
- MessageBox(publ_operator,'非超级用户,没有使用权限!')
- RETURN
- END IF
- IF MessageBox ("询问","是否确定更新未结存出仓仓成本单价?",Question!,YesNo! ) = 2 THEN
- RETURN
- END IF
- Int rslt = 1
- String arg_msg
- Long ll_storageid
- Int li_mtrlorigin_0, li_mtrlorigin_3, li_mtrlorigin_2
- String ls_update_string
- String ls_mtrlorigin_string
- Open(w_mtrldef_edit_price_ud_outware_planprice)
- s_edit_index_tran s_rslt
- s_rslt = Message.PowerObjectParm
- IF Date(s_rslt.first_date) = Date('1900-01-01') THEN RETURN
- ll_storageid = s_rslt.b_long
- IF ll_storageid = 0 THEN RETURN
- //更新出仓单价
- ls_update_string = ""
- ls_update_string += " UPDATE u_outwaremx "
- ls_update_string += " SET u_outwaremx.cost = u_mtrldef.planprice, "
- ls_update_string += " u_outwaremx.costamt = round(u_mtrldef.planprice * u_outwaremx.qty,2) "
- ls_update_string += " FROM u_outware,u_outwaremx,u_mtrldef "
- ls_update_string += " WHERE ( u_outware.scid = u_outwaremx.scid ) "
- ls_update_string += " AND ( u_outware.outwareid = u_outwaremx.outwareid ) "
- ls_update_string += " AND ( u_mtrldef.mtrlid = u_outwaremx.mtrlid ) "
- ls_update_string += " AND ( u_outware.storageid = "+String(ll_storageid)+" or "+String(ll_storageid)+" = -1 ) "
- ls_update_string += " AND ( u_outware.balcdateint = 0 ) "
- ls_update_string += " AND ( u_mtrldef.planprice <> 0 ) "
- ls_update_string += " AND ( u_outware.outdate >= '" + string(s_rslt.first_date,'yyyy-mm-dd hh:mm:ss') + "'" + " and u_outware.outdate <= '" + string(s_rslt.end_date,'yyyy-mm-dd hh:mm:ss') + "'" + " ) "
- //messagebox('',string(ls_update_string))
- EXECUTE Immediate :ls_update_string;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '更新出仓单价失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- //更新结存表
- ls_update_string = ""
- ls_update_string += " UPDATE u_warebalc "
- ls_update_string += " SET u_warebalc.bgamt = round(u_warebalc.bgqty * u_mtrldef.planprice,2), "
- ls_update_string += " u_warebalc.incamt = round(u_warebalc.incqty * u_mtrldef.planprice,2), "
- ls_update_string += " u_warebalc.desamt = round(u_warebalc.desqty * u_mtrldef.planprice,2), "
- ls_update_string += " u_warebalc.balcamt = round(u_warebalc.balcqty * u_mtrldef.planprice,2) "
- ls_update_string += " FROM u_warebalc,u_mtrldef "
- ls_update_string += " WHERE u_warebalc.mtrlid = u_mtrldef.mtrlid "
- ls_update_string += " AND ( u_warebalc.storageid = "+String(ll_storageid)+" or "+String(ll_storageid)+" = -1 ) "
- ls_update_string += " AND ( u_warebalc.balcdateint = 0 ) "
- ls_update_string += " AND ( u_mtrldef.planprice <> 0 ) "
- EXECUTE Immediate :ls_update_string;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '更新结存金额失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- ext:
- IF rslt = 1 THEN
- COMMIT;
- MessageBox(publ_operator,'操作完成')
- ELSE
- ROLLBACK;
- MessageBox(publ_operator,arg_msg)
- END IF
- end event
- public function integer 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
- cbx_1.Enabled = NOT dw_edit_mode
- IF dw_edit_mode THEN
- dw_1.SetTabOrder('planprice',10)
- dw_1.SetTabOrder('u_mtrldef_lmsaleprice',20)
- dw_1.SetTabOrder('u_mtrldef_lmbuyprice',30)
- dw_1.SetTabOrder('dftmtrlcost',40)
- dw_1.SetTabOrder('dftempcost',50)
- dw_1.SetTabOrder('dftsccost',60)
- dw_1.SetTabOrder('dftglcost',70)
- dw_1.SetTabOrder('wfjgcost',80)
- dw_1.SetTabOrder('othercost',90)
-
-
- cb_edit.Text = '放弃'
- cb_edit.normalpicname = 'Undo.bmp'
- ELSE
- dw_1.SetTabOrder('planprice',0)
- dw_1.SetTabOrder('u_mtrldef_lmsaleprice',0)
- dw_1.SetTabOrder('u_mtrldef_lmbuyprice',0)
- dw_1.SetTabOrder('dftmtrlcost',0)
- dw_1.SetTabOrder('dftempcost',0)
- dw_1.SetTabOrder('dftsccost',0)
- dw_1.SetTabOrder('dftglcost',0)
- dw_1.SetTabOrder('wfjgcost',0)
- dw_1.SetTabOrder('othercost',0)
-
- cb_edit.Text = '修改'
- cb_edit.normalpicname = 'OPEN.bmp'
- END IF
- cb_edit.of_init_draw()
- cb_edit.of_paint()
- cb_edit.TriggerEvent('ue_textchange')
- RETURN 1
- end function
- on w_mtrldef_edit_price.create
- int iCurrent
- call super::create
- this.cb_save=create cb_save
- this.dw_his=create dw_his
- this.cb_other=create cb_other
- this.tv_1=create tv_1
- this.cbx_1=create cbx_1
- this.cb_edit=create cb_edit
- iCurrent=UpperBound(this.Control)
- this.Control[iCurrent+1]=this.cb_save
- this.Control[iCurrent+2]=this.dw_his
- this.Control[iCurrent+3]=this.cb_other
- this.Control[iCurrent+4]=this.tv_1
- this.Control[iCurrent+5]=this.cbx_1
- this.Control[iCurrent+6]=this.cb_edit
- end on
- on w_mtrldef_edit_price.destroy
- call super::destroy
- destroy(this.cb_save)
- destroy(this.dw_his)
- destroy(this.cb_other)
- destroy(this.tv_1)
- destroy(this.cbx_1)
- destroy(this.cb_edit)
- end on
- event resize;call super::resize;tv_1.height = dw_1.height - dw_his.height - 10
- dw_his.y = tv_1.y + tv_1.height
- end event
- event ue_before_open;call super::ue_before_open;if_ue_sentdataout = TRUE
- dw_his.SetTransObject (sqlca)
- IF sys_option_planprice_directinput = 1 THEN
- dw_1.Modify('planprice.Protect = 0')
- ELSE
- dw_1.Modify('planprice.Protect = 1')
- END IF
- IF Not(f_power_ind(1381)) THEN
- dw_1.Modify('dftmtrlcost.Protect = 1')
- END IF
- IF Not(f_power_ind(1382)) THEN
- dw_1.Modify('dftempcost.Protect = 1')
- END IF
- IF Not(f_power_ind(1383)) THEN
- dw_1.Modify('dftsccost.Protect = 1')
- END IF
- IF Not(f_power_ind(1384)) THEN
- dw_1.Modify('dftglcost.Protect = 1')
- END IF
- end event
- type cb_func from w_publ_easyq`cb_func within w_mtrldef_edit_price
- end type
- event cb_func::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
- string menustr
- if if_ue_retr then
- menustr="Text=查询~tEvent=ue_retr"
- end if
- if if_ue_filter then
- if len(trim(menustr))=0 then
- menustr="Text=高级筛选~tEvent=ue_filter"
- else
- menustr=menustr + "|" + "Text=高级筛选~tEvent=ue_filter"
- end if
- end if
- if if_ue_sort then
- if len(trim(menustr))=0 then
- menustr="Text=排序~tEvent=ue_sort"
- else
- menustr=menustr + "|" + "Text=排序~tEvent=ue_sort"
- end if
- end if
- if menustr<>"" and if_ue_sentdataout then menustr=menustr + "|" + "Text=-"
- if if_ue_sentdataout then
- if len(trim(menustr))=0 then
- menustr="Text=数据发送~tEvent=ue_sentdataout"
- else
- menustr=menustr + "|" + "Text=数据发送~tEvent=ue_sentdataout"
- end if
- end if
-
- 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_exit from w_publ_easyq`cb_exit within w_mtrldef_edit_price
- integer x = 1408
- end type
- type cb_2 from w_publ_easyq`cb_2 within w_mtrldef_edit_price
- integer x = 1106
- integer taborder = 100
- boolean bringtotop = true
- end type
- type cb_psetup from w_publ_easyq`cb_psetup within w_mtrldef_edit_price
- integer x = 850
- boolean bringtotop = true
- end type
- type cb_1 from w_publ_easyq`cb_1 within w_mtrldef_edit_price
- boolean bringtotop = true
- end type
- event cb_1::clicked;call super::clicked;dw_1.Retrieve(cur_isuse,ls_handtype)
- end event
- type st_3 from w_publ_easyq`st_3 within w_mtrldef_edit_price
- boolean visible = false
- integer x = 823
- integer y = 368
- end type
- type st_4 from w_publ_easyq`st_4 within w_mtrldef_edit_price
- boolean visible = false
- integer x = 1170
- integer y = 508
- end type
- type em_1 from w_publ_easyq`em_1 within w_mtrldef_edit_price
- boolean visible = false
- integer x = 736
- integer y = 436
- integer taborder = 110
- end type
- type em_2 from w_publ_easyq`em_2 within w_mtrldef_edit_price
- boolean visible = false
- integer x = 1253
- integer y = 428
- integer taborder = 140
- end type
- type ddlb_yl from w_publ_easyq`ddlb_yl within w_mtrldef_edit_price
- integer x = 1824
- integer y = 12
- end type
- type cbx_yl from w_publ_easyq`cbx_yl within w_mtrldef_edit_price
- integer x = 1614
- integer y = 16
- end type
- type dw_1 from w_publ_easyq`dw_1 within w_mtrldef_edit_price
- integer x = 1157
- integer y = 300
- integer width = 1897
- integer height = 1440
- string dataobject = "dw_mtrldef_edit_price"
- end type
- event dw_1::rowfocuschanged;IF currentrow <=0 THEN RETURN
- this.selectrow(0,false)
- this.selectrow(currentrow,true)
- end event
- event dw_1::clicked;call super::clicked;IF row <= 0 THEN RETURN
- This.SelectRow(0,False)
- This.SetRow(row)
- This.SelectRow(row,True)
- end event
- event dw_1::doubleclicked;call super::doubleclicked;IF row = 0 THEN RETURN
- Long ll_mtrlid
- ll_mtrlid = dw_1.Object.mtrlid[row]
- dw_his.SetRedraw(FALSE)
- dw_his.Retrieve(ll_mtrlid)
- dw_his.SetRedraw(TRUE)
- end event
- type sle_mtrl from w_publ_easyq`sle_mtrl within w_mtrldef_edit_price
- end type
- type sle_cust from w_publ_easyq`sle_cust within w_mtrldef_edit_price
- end type
- type st_mtrl from w_publ_easyq`st_mtrl within w_mtrldef_edit_price
- end type
- type st_cust from w_publ_easyq`st_cust within w_mtrldef_edit_price
- end type
- type cbx_loginretr from w_publ_easyq`cbx_loginretr within w_mtrldef_edit_price
- end type
- type pb_em1 from w_publ_easyq`pb_em1 within w_mtrldef_edit_price
- boolean visible = false
- end type
- type pb_em2 from w_publ_easyq`pb_em2 within w_mtrldef_edit_price
- boolean visible = false
- end type
- type pb_2 from w_publ_easyq`pb_2 within w_mtrldef_edit_price
- boolean visible = false
- end type
- type cb_help from w_publ_easyq`cb_help within w_mtrldef_edit_price
- integer x = 1257
- end type
- type cb_copyself from w_publ_easyq`cb_copyself within w_mtrldef_edit_price
- boolean visible = false
- end type
- type gb_1 from w_publ_easyq`gb_1 within w_mtrldef_edit_price
- end type
- type ln_bar from w_publ_easyq`ln_bar within w_mtrldef_edit_price
- end type
- type ln_bar2 from w_publ_easyq`ln_bar2 within w_mtrldef_edit_price
- end type
- type r_bar from w_publ_easyq`r_bar within w_mtrldef_edit_price
- end type
- type ln_1 from w_publ_easyq`ln_1 within w_mtrldef_edit_price
- end type
- type ln_2 from w_publ_easyq`ln_2 within w_mtrldef_edit_price
- end type
- type ln_3 from w_publ_easyq`ln_3 within w_mtrldef_edit_price
- end type
- type ln_4 from w_publ_easyq`ln_4 within w_mtrldef_edit_price
- end type
- type cb_save from uo_imflatbutton within w_mtrldef_edit_price
- integer x = 302
- integer width = 151
- integer height = 164
- integer taborder = 20
- 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(723) THEN
- MessageBox('提示',sys_msg_pow, Information!, OK! )
- RETURN
- END IF
- int rslt = 1
- Long i
- dw_1.AcceptText()
- Decimal ld_planprice
- Decimal last_planprice
- Long mtrlid
- Open(w_sys_wait_jdt)
- w_sys_wait_jdt.wf_accepttol(dw_1.RowCount())
- FOR i = 1 To dw_1.RowCount()
- w_sys_wait_jdt.wf_inc(i)
- w_sys_wait_jdt.wf_set_msg('正在保存数据,请稍后......')
- last_planprice = dw_1.Object.planprice.Original[i]
- ld_planprice = dw_1.Object.planprice[i]
- IF last_planprice <> ld_planprice THEN
- mtrlid = dw_1.Object.mtrlid[i]
- INSERT INTO u_planprice_his (
- billid,
- mtrlid,
- lastprice,
- planprice,
- relcode,
- reason,
- changedtime,
- changedemp,
- printid,
- status,
- woodcode,
- pcode)
- VALUES(
- 0,
- :mtrlid,
- :last_planprice,
- :ld_planprice,
- '',
- '产品计划价设定',
- getdate(),
- :publ_operator,
- 0,
- '',
- '',
- '');
- IF SQLca.SQLCode <> 0 THEN
- rslt = 0
- ROLLBACK;
- MessageBox('提示','插入计划价变更历史表失败!', Information!, OK! )
- GOTO ext
- END IF
- END IF
- NEXT
- IF dw_1.Update() = 1 THEN
- COMMIT;
- MessageBox('提示','保存成功!', Information!, OK! )
- ELSE
- rslt = 0
- ROLLBACK;
- MessageBox('提示','保存失败!', Information!, OK! )
- END IF
- ext:
- Close(w_sys_wait_jdt)
- IF rslt = 0 THEN
- RETURN
- ELSE
- dw_edit_mode = Not dw_edit_mode
-
- wf_face()
-
- RETURN
- END IF
- end event
- type dw_his from u_dw_rbtnfilter within w_mtrldef_edit_price
- integer y = 844
- integer width = 1152
- integer height = 892
- integer taborder = 30
- boolean bringtotop = true
- string dataobject = "dw_planprice_his"
- boolean controlmenu = true
- boolean minbox = true
- boolean maxbox = true
- boolean hscrollbar = true
- boolean vscrollbar = true
- end type
- event clicked;call super::clicked;IF row <=0 THEN RETURN
- this.selectrow(0,false)
- this.selectrow(row,true)
- end event
- type cb_other from uo_imflatbutton within w_mtrldef_edit_price
- integer x = 603
- integer width = 247
- 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
- IF dw_edit_mode THEN
- menustr = "Text=按物料清单统计默认物料成本~tEvent=ue_cmpl_dftmtrlcost"
- menustr += "|" + "Text=按工价表统计默认人力成本~tEvent=ue_cmpl_dftempcost"
- menustr += "|" + "Text=按默认总成本更新计划价~tEvent=ue_cmpl_planprice"
- menustr += "|" + "Text=-"
- menustr += "|" + "Text=取仓库成本价更新计划价~tEvent=ue_costtoplanprice"
- menustr += "|" + "Text=取设定售价更新计划价~tEvent=ue_lmsalepricetoplanprice"
- menustr += "|" + "Text=取设定购价价更新计划价~tEvent=ue_lmbuypricetoplanprice"
- menustr += "|" + "Text=-"
- menustr += "|" + "Text=取时间段内的采购均价更新计划价~tEvent=ue_inwarebuyplanprice"
-
-
- ELSE
- menustr += "|" + "Text=更新未结存进仓单价~tEvent=ue_update_inware_price"
- menustr += "|" + "Text=更新未结存进仓仓成本单价~tEvent=ue_update_inware_price_2"
- menustr += "|" + "Text=更新外协商库存、结存金额~tEvent=ue_update_wfjg"
- menustr += "|" + "Text=-"
- menustr += "|" + "Text=更新时间段内未结存出仓仓成本单价~tEvent=ue_update_outware_price_2"
- END IF
- 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 tv_1 from uo_tv_mtrltype within w_mtrldef_edit_price
- integer y = 300
- integer width = 1152
- integer height = 540
- integer taborder = 120
- boolean bringtotop = true
- integer textsize = -9
- fontcharset fontcharset = gb2312charset!
- fontfamily fontfamily = anyfont!
- string facename = "宋体"
- end type
- event selectionchanged;call super::selectionchanged;ls_handtype = THIS.uo_cur_info.handtype
- ls_handtype += '%'
- cb_1.TriggerEvent(CLICKED!)
- end event
- type cbx_1 from checkbox within w_mtrldef_edit_price
- integer x = 9
- integer y = 212
- integer width = 384
- integer height = 56
- 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;IF cbx_1.Checked THEN
- cur_isuse = 1
- ELSE
- cur_isuse = -1
- END IF
- cb_1.triggerevent(clicked!)
- end event
- type cb_edit from uo_imflatbutton within w_mtrldef_edit_price
- integer x = 453
- integer width = 151
- 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 Not f_power_ind(723) THEN
- MessageBox('提示',sys_msg_pow, Information!, OK! )
- RETURN
- END IF
- IF dw_edit_mode THEN
- IF MessageBox('提示','是否要确定放弃保存资料', question!, 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
|