w_sc_workpricetable.srw 66 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794
  1. $PBExportHeader$w_sc_workpricetable.srw
  2. forward
  3. global type w_sc_workpricetable from w_publ_1ton_share_detail
  4. end type
  5. type cb_save from uo_imflatbutton within w_sc_workpricetable
  6. end type
  7. type cb_addmx_2 from uo_imflatbutton within w_sc_workpricetable
  8. end type
  9. type ddlb_mtrlorigin from uo_ddlb_mtrlorigin within w_sc_workpricetable
  10. end type
  11. type em_1 from editmask within w_sc_workpricetable
  12. end type
  13. type st_2 from statictext within w_sc_workpricetable
  14. end type
  15. type ddlb_status from dropdownlistbox within w_sc_workpricetable
  16. end type
  17. type st_3 from statictext within w_sc_workpricetable
  18. end type
  19. type ddlb_mtrlprp from uo_ddlb_mtrlprp within w_sc_workpricetable
  20. end type
  21. type tab_1 from tab within w_sc_workpricetable
  22. end type
  23. type tabpage_1 from userobject within tab_1
  24. end type
  25. type dw_1 from u_dw_rbtnfilter within tabpage_1
  26. end type
  27. type tabpage_1 from userobject within tab_1
  28. dw_1 dw_1
  29. end type
  30. type tabpage_2 from userobject within tab_1
  31. end type
  32. type dw_2 from u_dw_rbtnfilter within tabpage_2
  33. end type
  34. type tabpage_2 from userobject within tab_1
  35. dw_2 dw_2
  36. end type
  37. type tab_1 from tab within w_sc_workpricetable
  38. tabpage_1 tabpage_1
  39. tabpage_2 tabpage_2
  40. end type
  41. type cb_1 from commandbutton within w_sc_workpricetable
  42. end type
  43. type cb_2 from commandbutton within w_sc_workpricetable
  44. end type
  45. end forward
  46. global type w_sc_workpricetable from w_publ_1ton_share_detail
  47. string title = "工价表"
  48. boolean maxbox = true
  49. windowstate windowstate = maximized!
  50. event insert_childrow ( )
  51. event ue_copy ( )
  52. event ue_paste ( )
  53. event ue_addworkmx ( )
  54. event ue_print_all ( )
  55. event ue_viewprint_all ( )
  56. event ue_workhour_mod ( )
  57. event ue_proorder_mod ( )
  58. event ue_audit_gs ( )
  59. event ue_c_audit_gs ( )
  60. event ue_fj_view ( )
  61. event ue_fj_edit ( )
  62. event ue_p_workqty ( )
  63. event ue_p_workprice ( )
  64. event ue_p_wrkgrpid ( )
  65. event ue_p_pro ( )
  66. cb_save cb_save
  67. cb_addmx_2 cb_addmx_2
  68. ddlb_mtrlorigin ddlb_mtrlorigin
  69. em_1 em_1
  70. st_2 st_2
  71. ddlb_status ddlb_status
  72. st_3 st_3
  73. ddlb_mtrlprp ddlb_mtrlprp
  74. tab_1 tab_1
  75. cb_1 cb_1
  76. cb_2 cb_2
  77. end type
  78. global w_sc_workpricetable w_sc_workpricetable
  79. type variables
  80. uo_workpricetable u_wrkprice
  81. Long flag = 0
  82. s_workpricetable s_pricetable[]
  83. Long mxid = 0
  84. Long cur_mtrlorigin = 0
  85. Int cur_mtrlprp = -1 //当前显示物料属性
  86. Int cur_flag = -1
  87. int cur_ifwrkprice = -1
  88. datawindow dw_mx,dw_mxmx
  89. end variables
  90. forward prototypes
  91. public subroutine wf_copytable ()
  92. public subroutine wf_pastetable ()
  93. public function integer wf_refresh_curuc (long arg_mtrlid)
  94. public subroutine wf_read_procode (long arg_old_mtrlid, long arg_new_mtrlid)
  95. public subroutine wf_cmpl_price ()
  96. public function integer wf_addmx (long arg_mtrlid)
  97. public function integer wf_lock_child ()
  98. public function integer wf_bill_paste (ref string arg_msg)
  99. public function integer wf_bill_copy (ref string arg_msg)
  100. public subroutine wf_add_mx ()
  101. end prototypes
  102. event insert_childrow();Long li_row
  103. li_row = dw_mx.InsertRow(0)
  104. dw_mx.ScrollToRow(li_row)
  105. IF li_row > 1 THEN
  106. dw_mx.object.wrkgrpid[li_row] = dw_mx.object.wrkgrpid[li_row - 1]
  107. dw_mx.object.proorder[li_row] = dw_mx.object.proorder[li_row - 1] + 1
  108. END IF
  109. dw_mx.SetColumn ('procode')
  110. end event
  111. event ue_copy();IF NOT f_power_ind(1336) THEN
  112. MessageBox(publ_operator,'你没有使用权限!')
  113. RETURN
  114. END IF
  115. wf_copytable()
  116. end event
  117. event ue_paste();wf_pastetable()
  118. end event
  119. event ue_addworkmx();IF NOT f_power_ind(1338) THEN
  120. MessageBox(publ_operator,'你没有使用权限!')
  121. RETURN
  122. END IF
  123. Long ll_mtrlid
  124. Long ll_row
  125. ll_row = dw_pageretr.GetRow()
  126. IF ll_row <= 0 THEN
  127. MessageBox('系统提示','请选择目标产品')
  128. RETURN
  129. END IF
  130. ll_mtrlid = dw_pageretr.Object.mtrlid[ll_row]
  131. IF ll_mtrlid <= 0 THEN
  132. MessageBox('系统提示','请选择目标产品')
  133. RETURN
  134. END IF
  135. IF wf_addmx(ll_mtrlid) = 1 THEN
  136. MessageBox('系统提示','操作成功')
  137. THIS.TriggerEvent('retrieve_childdw')
  138. END IF
  139. end event
  140. event ue_print_all();//--直接打印
  141. uo_print_preview uo_print
  142. IF MessageBox ("IF","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  143. S_print_MSG LS_PRMSG
  144. IF dw_pageretr.RowCount() = 0 THEN
  145. MessageBox('系统信息','没有可打印的单据!')
  146. RETURN
  147. END IF
  148. Long ll_mtrlid,ll_wrkGrpid
  149. ll_mtrlid = dw_pageretr.Object.mtrlid[dw_pageretr.GetRow()]
  150. OpenWithParm(w_workprice_print_all,ll_mtrlid)
  151. ll_wrkGrpid = Message.DoubleParm
  152. IF ll_wrkGrpid = 0 THEN RETURN
  153. LS_PRMSG.obj_dwNAME = 'dw_rp_workpricetable_all'
  154. LS_PRMSG.TAG_TEXT = '工价表全套工价'
  155. LS_PRMSG.FILTER_STRING = ''
  156. LS_PRMSG.retr_pram_falg = 15
  157. LS_PRMSG.PAGECH_FLAG = 0
  158. LS_PRMSG.retr_scid = dw_pageretr.Object.mtrlid[dw_pageretr.GetRow()]
  159. LS_PRMSG.retr_pramnmb = ll_wrkGrpid
  160. LS_PRMSG.rowcnt = dw_mxmx.RowCount()
  161. uo_print.FACT_PRINT_MSG = LS_PRMSG
  162. String arg_msg
  163. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  164. MessageBox("系统提示",arg_msg)
  165. RETURN
  166. END IF
  167. uo_print.ds_print()
  168. end event
  169. event ue_viewprint_all();
  170. Long LS_ROW
  171. LS_ROW = dw_pageretr.GetRow()
  172. IF LS_ROW <= 0 THEN
  173. MessageBox('NO','没有打印目标单据!')
  174. RETURN
  175. END IF
  176. Long ll_mtrlid,ll_wrkGrpid
  177. ll_mtrlid = dw_pageretr.Object.mtrlid[LS_ROW]
  178. OpenWithParm(w_workprice_print_all,ll_mtrlid)
  179. ll_wrkGrpid = Message.DoubleParm
  180. IF ll_wrkGrpid = 0 THEN RETURN
  181. S_print_MSG LS_PRMSG
  182. LS_PRMSG.obj_dwNAME = 'dw_rp_workpricetable_all'
  183. LS_PRMSG.TAG_TEXT = '工价表全套工价'
  184. LS_PRMSG.FILTER_STRING = ''
  185. LS_PRMSG.retr_pram_falg = 15
  186. LS_PRMSG.PAGECH_FLAG = 0
  187. LS_PRMSG.retr_scid = dw_pageretr.Object.mtrlid[LS_ROW]
  188. LS_PRMSG.retr_pramnmb = ll_wrkGrpid
  189. LS_PRMSG.rowcnt = dw_mxmx.RowCount()
  190. OpenWithParm(w_publ_preview,LS_PRMSG)
  191. end event
  192. event ue_workhour_mod();IF dw_edit_mode THEN
  193. MessageBox('系统提示','编辑状态下不能使用')
  194. RETURN
  195. END IF
  196. IF NOT f_power_ind(1340) THEN
  197. MessageBox(publ_operator,'你没有使用权限!')
  198. RETURN
  199. END IF
  200. Long ll_row
  201. ll_row = dw_pageretr.GetRow()
  202. IF ll_row <= 0 THEN
  203. MessageBox('Error','请选择要修改工价表工时的产品')
  204. RETURN
  205. END IF
  206. Long ll_mtrlid
  207. ll_mtrlid = dw_pageretr.Object.mtrlid[ll_row]
  208. Long cnt
  209. cnt = 0
  210. SELECT count(*) INTO :cnt
  211. FROM u_sc_workprice
  212. Where mtrlid = :ll_mtrlid ;
  213. IF sqlca.SQLCode <> 0 THEN
  214. MessageBox('Error','查询产品的工价表失败'+sqlca.SQLErrText)
  215. RETURN
  216. END IF
  217. IF cnt = 0 THEN
  218. MessageBox('系统提示','该产品还没有设定工价表,请检查!')
  219. RETURN
  220. END IF
  221. OpenWithParm(w_workprice_workhour_mod,ll_mtrlid)
  222. THIS.TriggerEvent('retrieve_childdw')
  223. end event
  224. event ue_proorder_mod();IF dw_edit_mode THEN
  225. MessageBox('系统提示','编辑状态下不能使用')
  226. RETURN
  227. END IF
  228. IF NOT f_power_ind(1336) THEN
  229. MessageBox(publ_operator,'你没有使用权限!')
  230. RETURN
  231. END IF
  232. Long ll_row
  233. ll_row = dw_pageretr.GetRow()
  234. IF ll_row <= 0 THEN
  235. MessageBox('Error','请选择要修改工价表工序序号的产品')
  236. RETURN
  237. END IF
  238. Long ll_mtrlid
  239. ll_mtrlid = dw_pageretr.Object.mtrlid[ll_row]
  240. Long cnt
  241. cnt = 0
  242. SELECT count(*) INTO :cnt
  243. FROM u_sc_workprice
  244. Where mtrlid = :ll_mtrlid ;
  245. IF sqlca.SQLCode <> 0 THEN
  246. MessageBox('Error','查询产品的工价表失败'+sqlca.SQLErrText)
  247. RETURN
  248. END IF
  249. IF cnt = 0 THEN
  250. MessageBox('系统提示','该产品还没有设定工价表,请检查!')
  251. RETURN
  252. END IF
  253. OpenWithParm(w_workprice_workhour_mod_order,ll_mtrlid)
  254. THIS.TriggerEvent('retrieve_childdw')
  255. end event
  256. event ue_audit_gs();IF NOT f_power_ind(1339) THEN
  257. MessageBox(publ_operator,'你没有使用权限!')
  258. RETURN
  259. END IF
  260. IF dw_edit_mode THEN
  261. MessageBox('系统提示','编辑状态下不可用')
  262. RETURN
  263. END IF
  264. String arg_msg
  265. Long ll_mtrlid,ll_wrkGrpid
  266. IF MessageBox ("IF","是否确定要审核当前工价表工时吗?",Question!,YesNo! ) = 2 THEN RETURN
  267. Long pagerert_row
  268. pagerert_row = dw_pageretr.GetRow()
  269. IF pagerert_row <= 0 THEN
  270. MessageBox('系统提示','请选定当前目标单据!')
  271. RETURN
  272. END IF
  273. ll_mtrlid = dw_pageretr.Object.mtrlid[pagerert_row]
  274. OpenWithParm(w_workprice_audit,ll_mtrlid)
  275. ll_wrkGrpid = Message.DoubleParm
  276. IF ll_wrkGrpid = 0 THEN RETURN
  277. IF u_wrkprice.auditing_gs(ll_mtrlid,ll_wrkGrpid,publ_operator,arg_msg,TRUE) = 0 THEN
  278. MessageBox('Error!',arg_msg)
  279. ELSE
  280. MessageBox(publ_operator,'审核成功!')
  281. wf_refresh_curuc(dw_pageretr.Object.mtrlid[pagerert_row])
  282. THIS.TriggerEvent('retrieve_childdw')
  283. END IF
  284. end event
  285. event ue_c_audit_gs();IF NOT f_power_ind(1339) THEN
  286. MessageBox(publ_operator,'你没有使用权限!')
  287. RETURN
  288. END IF
  289. IF dw_edit_mode THEN
  290. MessageBox('系统提示','编辑状态下不可使用')
  291. RETURN
  292. END IF
  293. IF MessageBox ("IF","是否确定要工时审核当前工价表吗?",Question!,YesNo! ) = 2 THEN RETURN
  294. String arg_msg = '',ls_code
  295. Long pagerert_row,ls_id
  296. Long ll_mtrlid,ll_wrkGrpid
  297. pagerert_row = dw_pageretr.GetRow()
  298. IF pagerert_row <= 0 THEN
  299. MessageBox('系统提示','请选定当前目标单据!')
  300. RETURN
  301. END IF
  302. ll_mtrlid = dw_pageretr.Object.mtrlid[pagerert_row]
  303. OpenWithParm(w_workprice_audit,ll_mtrlid)
  304. ll_wrkGrpid = Message.DoubleParm
  305. IF ll_wrkGrpid = 0 THEN RETURN
  306. IF u_wrkprice.c_auditing_gs(ll_mtrlid,ll_wrkGrpid,arg_msg,TRUE) = 0 THEN
  307. MessageBox('Error!',arg_msg)
  308. ELSE
  309. MessageBox(publ_operator,'撤审成功!')
  310. wf_refresh_curuc(dw_pageretr.Object.mtrlid[pagerert_row])
  311. THIS.TriggerEvent('retrieve_childdw')
  312. END IF
  313. end event
  314. event ue_fj_view();IF dw_edit_mode THEN
  315. MessageBox('提示','编辑状态下不可用')
  316. RETURN
  317. END IF
  318. s_edit_index_tran s_pic
  319. Long ll_ConnectionID
  320. String arg_msg
  321. Long ls_row
  322. ls_row = dw_pageretr.GetRow()
  323. IF ls_row <= 0 THEN
  324. MessageBox('提示','请选择资料')
  325. RETURN
  326. END IF
  327. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  328. MessageBox('提示','没有指定附件数据库连接'+arg_msg)
  329. RETURN
  330. END IF
  331. s_pic.f_long = 201 //物料资料 mainID
  332. s_pic.f_string = dw_pageretr.Object.mtrlcode[ls_row]
  333. s_pic.g_long = dw_pageretr.Object.mtrlid[ls_row]
  334. s_pic.d_long = 0 //relid_mx
  335. s_pic.d_string = '' //relcode_mx
  336. s_pic.e_long = 0 // scid
  337. s_pic.sqltransaction = sys_filedb_sqlca
  338. OpenWithParm(w_fj_bill_view,s_pic)
  339. end event
  340. event ue_fj_edit();IF dw_edit_mode THEN
  341. MessageBox('提示','编辑状态下不可用')
  342. RETURN
  343. END IF
  344. s_edit_index_tran s_pic
  345. Long ll_ConnectionID
  346. String arg_msg
  347. Long ls_row
  348. ls_row = dw_pageretr.GetRow()
  349. IF ls_row <= 0 THEN
  350. MessageBox('提示','请选择资料')
  351. RETURN
  352. END IF
  353. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  354. MessageBox('提示','没有指定附件数据库连接'+arg_msg)
  355. RETURN
  356. END IF
  357. s_pic.f_long = 201 //物料资料 mainID
  358. s_pic.f_string = dw_pageretr.Object.mtrlcode[ls_row]
  359. s_pic.g_long = dw_pageretr.Object.mtrlid[ls_row]
  360. s_pic.d_long = 0 //relid_mx
  361. s_pic.d_string = '' //relcode_mx
  362. s_pic.e_long = 0 // scid
  363. s_pic.sqltransaction = sys_filedb_sqlca
  364. OpenWithParm(w_fj_bill_mng,s_pic)
  365. end event
  366. event ue_p_workqty();IF Not dw_edit_mode THEN
  367. MessageBox('系统提示',"非编辑状态下不可以使用!")
  368. RETURN
  369. END IF
  370. IF dw_mx.RowCount() <= 1 THEN RETURN
  371. IF MessageBox('询问','是否确认要批设置数量?',question!,yesno!) = 2 THEN RETURN
  372. Long ll_i
  373. dw_mx.SetRedraw(False)
  374. dw_mx.AcceptText()
  375. FOR ll_i = 2 To dw_mx.RowCount( )
  376. dw_mx.Object.workqty[ll_i] = dw_mx.Object.workqty[1]
  377. NEXT
  378. dw_mx.SetRedraw(True)
  379. end event
  380. event ue_p_workprice();IF NOT dw_edit_mode THEN
  381. MessageBox('系统提示','非编辑状态不可使用')
  382. RETURN
  383. END IF
  384. IF dw_mx.RowCount() <= 1 THEN RETURN
  385. IF MessageBox(publ_operator,'是否要确定要批设定单件工价', question!, YesNo!, 2) = 2 THEN
  386. RETURN
  387. END IF
  388. Long ll_i
  389. dw_mx.AcceptText()
  390. dw_mx.SetRedraw(FALSE)
  391. FOR ll_i = 2 TO dw_mx.RowCount()
  392. dw_mx.Object.workprice[ll_i] = dw_mx.Object.workprice[1]
  393. NEXT
  394. dw_mx.SetRedraw(TRUE)
  395. end event
  396. event ue_p_wrkgrpid();IF Not dw_edit_mode THEN
  397. MessageBox('系统提示','非编辑状态不可使用')
  398. RETURN
  399. END IF
  400. IF dw_mx.RowCount() <= 1 THEN RETURN
  401. IF MessageBox(publ_operator,'是否要确定要批设定工组', question!, YesNo!, 2) = 2 THEN
  402. RETURN
  403. END IF
  404. Long ll_i
  405. dw_mx.AcceptText()
  406. Long ll_wrkgrpid
  407. ll_wrkgrpid = dw_mx.Object.wrkgrpid[1] //工组
  408. IF ll_wrkgrpid = 0 THEN RETURN
  409. //相同工组才设定
  410. dw_mx.SetRedraw(False)
  411. FOR ll_i = 2 To dw_mx.RowCount()
  412. dw_mx.Object.wrkgrpid[ll_i] = ll_wrkgrpid
  413. NEXT
  414. dw_mx.SetRedraw(True)
  415. end event
  416. event ue_p_pro();IF NOT dw_edit_mode THEN
  417. MessageBox('系统提示','非编辑状态不可使用')
  418. RETURN
  419. END IF
  420. IF dw_mx.RowCount() <= 1 THEN RETURN
  421. IF MessageBox(publ_operator,'是否要确定要批设定工序', question!, YesNo!, 2) = 2 THEN
  422. RETURN
  423. END IF
  424. Long ll_i
  425. dw_mx.AcceptText()
  426. dw_mx.SetRedraw(FALSE)
  427. FOR ll_i = 2 TO dw_mx.RowCount()
  428. dw_mx.Object.procode[ll_i] = dw_mx.Object.procode[1]
  429. dw_mx.Object.u_sc_workprice_proname[ll_i] = dw_mx.Object.u_sc_workprice_proname[1]
  430. NEXT
  431. dw_mx.SetRedraw(TRUE)
  432. end event
  433. public subroutine wf_copytable ();Long i,ll_mtrlid,ll_wrkgrpid
  434. IF dw_pageretr.GetRow() <= 0 THEN
  435. MessageBox(publ_operator,'没有复制对象!')
  436. RETURN
  437. END IF
  438. ll_mtrlid = dw_pageretr.Object.mtrlid[dw_pageretr.GetRow()]
  439. OpenWithParm(w_sc_workpricetable_copy,ll_mtrlid)
  440. ll_wrkgrpid = Message.DoubleParm
  441. IF ll_wrkgrpid = 0 THEN RETURN
  442. mxid = 0
  443. FOR i = 1 TO dw_mx.RowCount()
  444. IF ll_wrkgrpid = -1 OR ll_wrkgrpid > 0 AND dw_mx.Object.wrkgrpid[i] = ll_wrkgrpid THEN
  445. mxid++
  446. s_pricetable[mxid].proid = dw_mx.Object.proid[i]
  447. s_pricetable[mxid].procode = dw_mx.Object.procode[i]
  448. s_pricetable[mxid].proname = dw_mx.Object.u_sc_workprice_proname[i]
  449. s_pricetable[mxid].worklevel = dw_mx.Object.worklevel[i]
  450. s_pricetable[mxid].techlevel = dw_mx.Object.techlevel[i]
  451. s_pricetable[mxid].workhour = dw_mx.Object.workhour[i]
  452. s_pricetable[mxid].workprice = dw_mx.Object.workprice[i]
  453. s_pricetable[mxid].dscrp = dw_mx.Object.dscrp[i]
  454. s_pricetable[mxid].wrkgrpid = dw_mx.Object.wrkgrpid[i]
  455. s_pricetable[mxid].lsxtype = dw_mx.Object.lsxtype[i]
  456. s_pricetable[mxid].workqty = dw_mx.Object.workqty[i]
  457. s_pricetable[mxid].proorder = dw_mx.Object.proorder[i]
  458. END IF
  459. NEXT
  460. MessageBox(publ_operator,'复制工价表:'+String(dw_uc.Object.mtrlname[dw_uc.GetRow()])+'成功')
  461. end subroutine
  462. public subroutine wf_pastetable ();IF NOT dw_edit_mode THEN
  463. MessageBox('系统提示','非编辑状态下不能操作')
  464. RETURN
  465. END IF
  466. IF UpperBound(s_pricetable) = 0 THEN
  467. MessageBox('系统提示','没有可复制的工价表,要复制请先按“复制工价表”')
  468. RETURN
  469. END IF
  470. Open(w_workprice_paste_ch)
  471. Int li_type
  472. li_type = Message.DoubleParm
  473. IF li_type = 0 THEN
  474. RETURN
  475. ELSEIF li_type = 1 THEN
  476. Long i,uc_row
  477. Long ll_i
  478. Int li_ifautid = 0
  479. FOR ll_i = 1 TO dw_mx.RowCount()
  480. IF dw_mx.Object.auditflag[ll_i] = 1 THEN
  481. li_ifautid = 1
  482. EXIT
  483. END IF
  484. NEXT
  485. IF li_ifautid = 1 THEN
  486. MessageBox('系统提示','已有审核的工序,不能粘贴工价表')
  487. RETURN
  488. END IF
  489. IF MessageBox('询问','粘贴操作将会覆盖原有工价表,是否继续?',question!,yesno!) = 2 THEN
  490. RETURN
  491. END IF
  492. dw_mx.Reset()
  493. END IF
  494. dw_mx.SetRedraw(FALSE)
  495. FOR i = 1 TO mxid
  496. uc_row = dw_mx.InsertRow(0)
  497. dw_mx.Object.procode[uc_row] = s_pricetable[i].procode
  498. dw_mx.Object.u_sc_workprice_proname[uc_row] = s_pricetable[i].proname
  499. dw_mx.Object.proid[uc_row] = s_pricetable[i].proid
  500. dw_mx.Object.worklevel[uc_row] = s_pricetable[i].worklevel
  501. dw_mx.Object.techlevel[uc_row] = s_pricetable[i].techlevel
  502. dw_mx.Object.workhour[uc_row] = s_pricetable[i].workhour
  503. dw_mx.Object.workprice[uc_row] = s_pricetable[i].workprice
  504. dw_mx.Object.dscrp[uc_row] = s_pricetable[i].dscrp
  505. dw_mx.Object.wrkgrpid[uc_row] = s_pricetable[i].wrkgrpid
  506. dw_mx.Object.lsxtype[uc_row] = s_pricetable[i].lsxtype
  507. dw_mx.Object.workqty[uc_row] = s_pricetable[i].workqty
  508. dw_mx.Object.proorder[uc_row] = s_pricetable[i].proorder
  509. NEXT
  510. dw_mx.SetRedraw(TRUE)
  511. MessageBox(publ_operator,'粘贴工价表成功!')
  512. end subroutine
  513. public function integer wf_refresh_curuc (long arg_mtrlid);IF arg_mtrlid <= 0 OR IsNull(arg_mtrlid) THEN RETURN 0
  514. Long uc_row
  515. uc_row = dw_pageretr.GetRow()
  516. IF uc_row <= 0 THEN RETURN 0
  517. Long Mtrlid
  518. Long wpmtrlid
  519. Decimal wprate
  520. String a_mtrlcode
  521. String a_mtrlname
  522. String a_mtrlmode
  523. String mtrlcode
  524. String mtrlname
  525. String unit
  526. String Mtrltype
  527. String Mtrlsectype
  528. String mtrlmode
  529. String zxMtrlmode
  530. Int mtrlorigin
  531. Int mtrlprp
  532. String dscrp
  533. DateTime popdate
  534. String popemp
  535. Int Auditflag
  536. String Audit_emp
  537. DateTime Audit_date
  538. SELECT u_Mtrldef.Mtrlid ,
  539. u_Mtrldef.wpmtrlid ,
  540. u_Mtrldef.wprate ,
  541. a.mtrlcode as a_mtrlcode,
  542. a.mtrlname as a_mtrlname,
  543. a.mtrlmode as a_mtrlmode,
  544. u_Mtrldef.mtrlcode ,
  545. u_Mtrldef.mtrlname,
  546. u_Mtrldef.unit ,
  547. u_Mtrldef.Mtrltype,
  548. u_Mtrldef.Mtrlsectype,
  549. u_Mtrldef.Mtrlmode ,
  550. u_Mtrldef.zxMtrlmode ,
  551. u_Mtrldef.mtrlorigin ,
  552. u_Mtrldef.mtrlprp ,
  553. u_Mtrldef.dscrp ,
  554. u_Mtrldef.popdate ,
  555. u_Mtrldef.popemp ,
  556. u_Mtrldef.Auditflag ,
  557. u_Mtrldef.Audit_emp ,
  558. u_Mtrldef.Audit_date
  559. INTO
  560. :Mtrlid,
  561. :wpmtrlid,
  562. :wprate,
  563. :a_mtrlcode,
  564. :a_mtrlname,
  565. :a_mtrlmode,
  566. :mtrlcode,
  567. :mtrlname,
  568. :unit,
  569. :Mtrltype,
  570. :Mtrlsectype,
  571. :mtrlmode,
  572. :zxMtrlmode,
  573. :mtrlorigin,
  574. :mtrlprp,
  575. :dscrp,
  576. :popdate,
  577. :popemp,
  578. :Auditflag,
  579. :Audit_emp,
  580. :Audit_date
  581. FROM u_Mtrldef ,u_Mtrldef a
  582. WHERE u_Mtrldef.Isuse = 1
  583. AND u_Mtrldef.wpmtrlid *= a.mtrlid
  584. AND u_Mtrldef.Mtrlid = :arg_mtrlid;
  585. IF sqlca.SQLCode <> 0 THEN
  586. MessageBox('系统提示',"查询产品操作失败")
  587. RETURN 0
  588. END IF
  589. dw_pageretr.SetRedraw(FALSE)
  590. dw_pageretr.Object.mtrlid[uc_row] = mtrlid
  591. dw_pageretr.Object.u_mtrldef_wpmtrlid[uc_row] = wpmtrlid
  592. dw_pageretr.Object.u_mtrldef_wprate[uc_row] = wprate
  593. dw_pageretr.Object.u_mtrldef_a_mtrlcode[uc_row] = a_mtrlcode
  594. dw_pageretr.Object.u_mtrldef_a_mtrlname[uc_row] = a_mtrlname
  595. dw_pageretr.Object.u_mtrldef_a_mtrlmode[uc_row] = a_mtrlmode
  596. dw_pageretr.Object.mtrlname[uc_row] = mtrlname
  597. dw_pageretr.Object.mtrlcode[uc_row] = mtrlcode
  598. dw_pageretr.Object.unit[uc_row] = unit
  599. dw_pageretr.Object.mtrltype[uc_row] = mtrltype
  600. dw_pageretr.Object.mtrlsectype[uc_row] = mtrlsectype
  601. dw_pageretr.Object.u_mtrldef_mtrlmode[uc_row] = mtrlmode
  602. dw_pageretr.Object.u_mtrldef_zxmtrlmode[uc_row] = zxmtrlmode
  603. dw_pageretr.Object.u_mtrldef_mtrlorigin[uc_row] = mtrlorigin
  604. dw_pageretr.Object.u_mtrldef_mtrlprp[uc_row] = mtrlprp
  605. dw_pageretr.Object.dscrp[uc_row] = dscrp
  606. dw_pageretr.Object.popdate[uc_row] = popdate
  607. dw_pageretr.Object.popemp[uc_row] = popemp
  608. dw_pageretr.Object.dscrp[uc_row] = dscrp
  609. dw_pageretr.Object.Auditflag[uc_row] = Auditflag
  610. dw_pageretr.Object.Audit_emp[uc_row] = Audit_emp
  611. dw_pageretr.Object.Audit_date[uc_row] = Audit_date
  612. dw_pageretr.SetRedraw(TRUE)
  613. dw_uc.Reset()
  614. dw_pageretr.RowsCopy(dw_pageretr.GetRow(), dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!)
  615. RETURN 1
  616. end function
  617. public subroutine wf_read_procode (long arg_old_mtrlid, long arg_new_mtrlid);Boolean if_replace = FALSE
  618. IF arg_old_mtrlid = 0 THEN
  619. if_replace = TRUE
  620. ELSE
  621. IF arg_old_mtrlid <> arg_new_mtrlid THEN
  622. IF MessageBox ("IF","是否确定要替换当前工序为新产品工序吗?",Question!,YesNo! ) = 2 THEN
  623. if_replace = FALSE
  624. ELSE
  625. if_replace = TRUE
  626. END IF
  627. END IF
  628. END IF
  629. IF if_replace = TRUE THEN
  630. dw_mx.Reset()
  631. s_workpricetable s_table[]
  632. Long ll_i,childrow,count
  633. DECLARE pro_cur CURSOR FOR
  634. SELECT u_sc_workprice.procode,
  635. u_sc_workprice.proname,
  636. u_sc_workprice.proid,
  637. u_sc_workprice.worklevel,
  638. u_sc_workprice.techlevel,
  639. u_sc_workprice.workhour,
  640. u_sc_workprice.workprice,
  641. u_sc_workprice.dscrp,
  642. u_sc_workprice.wrkgrpid,
  643. u_sc_workprice.ifownpro,
  644. u_sc_workprice.lsxtype
  645. FROM u_sc_workprice
  646. WHERE u_sc_workprice.mtrlid = :arg_new_mtrlid
  647. Order By wrkgrpid,procode;
  648. OPEN pro_cur;
  649. count = 1
  650. FETCH pro_cur INTO :s_table[count].procode,:s_table[count].proname,&
  651. :s_table[count].proid,:s_table[count].worklevel,&
  652. :s_table[count].techlevel,:s_table[count].workhour,&
  653. :s_table[count].workprice,:s_table[count].dscrp,&
  654. :s_table[count].wrkgrpid,:s_table[count].ifownpro,&
  655. :s_table[count].lsxtype;
  656. DO WHILE sqlca.SQLCode = 0 //循环读取明细数据
  657. count++
  658. FETCH pro_cur INTO :s_table[count].procode,:s_table[count].proname,&
  659. :s_table[count].proid,:s_table[count].worklevel,&
  660. :s_table[count].techlevel,:s_table[count].workhour,&
  661. :s_table[count].workprice,:s_table[count].dscrp,&
  662. :s_table[count].wrkgrpid,:s_table[count].ifownpro,&
  663. :s_table[count].lsxtype;
  664. LOOP
  665. count = count - 1
  666. CLOSE pro_cur;
  667. IF count = 0 THEN
  668. MessageBox('提示','标准产品工价表未设定')
  669. RETURN
  670. END IF
  671. dw_mx.SetRedraw(FALSE)
  672. FOR ll_i = 1 TO count
  673. childrow = dw_mx.InsertRow(0)
  674. dw_mx.Object.procode[childrow] = s_table[ll_i].procode
  675. dw_mx.Object.u_sc_workprice_proname[childrow] = s_table[ll_i].proname
  676. dw_mx.Object.proid[childrow] = s_table[ll_i].proid
  677. dw_mx.Object.worklevel[childrow] = s_table[ll_i].worklevel
  678. dw_mx.Object.techlevel[childrow] = s_table[ll_i].techlevel
  679. dw_mx.Object.workhour[childrow] = s_table[ll_i].workhour
  680. dw_mx.Object.workprice[childrow] = s_table[ll_i].workprice
  681. dw_mx.Object.dscrp[childrow] = s_table[ll_i].dscrp
  682. dw_mx.Object.wrkgrpid[childrow] = s_table[ll_i].wrkgrpid
  683. dw_mx.Object.lsxtype[childrow] = s_table[ll_i].lsxtype
  684. dw_mx.Object.u_sc_workprice_ifstandard[childrow] = 1
  685. NEXT
  686. dw_mx.SetRedraw(TRUE)
  687. END IF
  688. end subroutine
  689. public subroutine wf_cmpl_price ();IF NOT dw_edit_mode THEN RETURN
  690. Long ll_i,uc_row
  691. Decimal ld_wprate
  692. dw_mx.AcceptText()
  693. dw_uc.AcceptText()
  694. uc_row = dw_uc.GetRow()
  695. IF uc_row <= 0 THEN
  696. MessageBox('提示','请选择产品')
  697. RETURN
  698. END IF
  699. ld_wprate = dw_uc.Object.u_mtrldef_wprate[uc_row]
  700. IF ld_wprate <= 0 THEN
  701. MessageBox('提示','非法的计算比例')
  702. RETURN
  703. END IF
  704. dw_mx.SetRedraw(FALSE)
  705. FOR ll_i = 1 TO dw_mx.RowCount()
  706. dw_mx.Object.workprice[ll_i] = Round(dw_mx.Object.workprice[ll_i] * ld_wprate,Long(em_1.Text))
  707. NEXT
  708. dw_mx.SetRedraw(TRUE)
  709. end subroutine
  710. public function integer wf_addmx (long arg_mtrlid);//清除旧有的下级物料工价表
  711. string arg_msg
  712. u_wrkprice.mtrlid = arg_mtrlid
  713. IF u_wrkprice.f_clearpfmx(arg_mtrlid,arg_msg,FALSE) = 0 THEN
  714. MessageBox ("系统提示",arg_msg,exclamation!,ok!)
  715. RETURN 0
  716. END IF
  717. //插入自身工价表
  718. u_wrkprice.deep_count = 0
  719. u_wrkprice.il_printid = 0
  720. IF u_wrkprice.f_addworkprice(arg_mtrlid,arg_msg,FALSE) = 0 THEN
  721. MessageBox ("系统提示",arg_msg,exclamation!,ok!)
  722. RETURN 0
  723. END IF
  724. //插入下级自制物料工价表
  725. String ls_pfcode
  726. ls_pfcode = f_get_dft_pf(arg_mtrlid)
  727. IF u_wrkprice.f_addpfmx(arg_mtrlid,ls_pfcode,1,1,arg_msg,TRUE) = 0 THEN
  728. MessageBox('Error!',arg_msg)
  729. RETURN 0
  730. END IF
  731. RETURN 1
  732. end function
  733. public function integer wf_lock_child ();//wf_lock_child
  734. INT LS_INT
  735. IF dw_edit_mode THEN
  736. FOR LS_INT=1 TO child_column_int
  737. dw_mx.SetTabOrder (LS_INT,LS_INT*10 )
  738. NEXT
  739. ELSE
  740. FOR LS_INT=1 TO child_column_int
  741. dw_mx.SetTabOrder (LS_INT, 0)
  742. NEXT
  743. END IF
  744. RETURN 1
  745. end function
  746. public function integer wf_bill_paste (ref string arg_msg);Long rslt = 1
  747. IF NOT dw_edit_mode THEN
  748. rslt = 0
  749. arg_msg = '非编辑状态下不可粘贴'
  750. GOTO ext
  751. END IF
  752. Long ll_rowcount
  753. dw_mx.AcceptText( )
  754. ll_rowcount = ds_copy_bill.RowCount()
  755. IF ll_rowcount <= 0 THEN
  756. rslt = 0
  757. arg_msg = '没有可粘贴的明细内容'
  758. GOTO ext
  759. END IF
  760. dw_mx.Reset()
  761. Long ll_child_rowcount
  762. ll_child_rowcount = dw_mx.RowCount()
  763. IF ds_copy_bill.RowsCopy(1, ll_rowcount, Primary!, dw_mx, 1, Primary!) = - 1 THEN
  764. rslt = 0
  765. arg_msg = '粘贴明细内容失败'
  766. GOTO ext
  767. END IF
  768. dw_mx.AcceptText()
  769. ext:
  770. RETURN rslt
  771. end function
  772. public function integer wf_bill_copy (ref string arg_msg);Long rslt = 1
  773. Long ll_rowcount
  774. dw_mx.AcceptText( )
  775. ll_rowcount = dw_mx.RowCount()
  776. IF ll_rowcount <= 0 THEN
  777. rslt = 0
  778. arg_msg = '没有可复制的明细内容'
  779. GOTO ext
  780. END IF
  781. ds_copy_bill.Reset()
  782. IF dw_mx.RowsCopy(1, ll_rowcount, Primary!, ds_copy_bill, 1, Primary!) = - 1 THEN
  783. rslt = 0
  784. arg_msg = '复制明细内容失败'
  785. GOTO ext
  786. END IF
  787. ds_copy_bill.AcceptText()
  788. ext:
  789. RETURN rslt
  790. end function
  791. public subroutine wf_add_mx ();Long i, ll_row
  792. FOR i = 1 To s_tran.dw_share.RowCount()
  793. ll_row = dw_mx.InsertRow(0)
  794. dw_mx.Object.workqty[ll_row] = s_tran.dw_share.Object.u_quoteworkprice_workqty[i]
  795. dw_mx.Object.workprice[ll_row] = s_tran.dw_share.Object.u_quoteworkprice_workprice[i]
  796. dw_mx.Object.workprice[ll_row] = s_tran.dw_share.Object.u_quoteworkprice_cost[i]
  797. dw_mx.Object.u_sc_workprice_wprice[ll_row] = s_tran.dw_share.Object.wprice[i]
  798. dw_mx.Object.procode[ll_row] = s_tran.dw_share.Object.u_quoteworkprice_procode[i]
  799. dw_mx.Object.u_sc_workprice_proname[ll_row] = s_tran.dw_share.Object.u_quoteworkprice_proname[i]
  800. dw_mx.Object.u_sc_workgroup_wrkgrpcode[ll_row] = s_tran.dw_share.Object.u_sc_workgroup_wrkgrpcode[i]
  801. dw_mx.Object.u_sc_workgroup_wrkgrpname[ll_row] = s_tran.dw_share.Object.u_sc_workgroup_wrkgrpname[i]
  802. dw_mx.Object.dscrp[ll_row] = s_tran.dw_share.Object.u_quoteworkprice_dscrp[i]
  803. dw_mx.Object.wrkgrpid[ll_row] = s_tran.dw_share.Object.u_quoteworkprice_wrkgrpid[i]
  804. // dw_mx.Object.wrkgrpid[ll_row] = s_tran.dw_share.Object.u_quoteworkprice_proid[i]
  805. dw_mx.Object.proorder[ll_row] = s_tran.dw_share.Object.u_quoteworkprice_proorder[i]
  806. NEXT
  807. end subroutine
  808. on w_sc_workpricetable.create
  809. int iCurrent
  810. call super::create
  811. this.cb_save=create cb_save
  812. this.cb_addmx_2=create cb_addmx_2
  813. this.ddlb_mtrlorigin=create ddlb_mtrlorigin
  814. this.em_1=create em_1
  815. this.st_2=create st_2
  816. this.ddlb_status=create ddlb_status
  817. this.st_3=create st_3
  818. this.ddlb_mtrlprp=create ddlb_mtrlprp
  819. this.tab_1=create tab_1
  820. this.cb_1=create cb_1
  821. this.cb_2=create cb_2
  822. iCurrent=UpperBound(this.Control)
  823. this.Control[iCurrent+1]=this.cb_save
  824. this.Control[iCurrent+2]=this.cb_addmx_2
  825. this.Control[iCurrent+3]=this.ddlb_mtrlorigin
  826. this.Control[iCurrent+4]=this.em_1
  827. this.Control[iCurrent+5]=this.st_2
  828. this.Control[iCurrent+6]=this.ddlb_status
  829. this.Control[iCurrent+7]=this.st_3
  830. this.Control[iCurrent+8]=this.ddlb_mtrlprp
  831. this.Control[iCurrent+9]=this.tab_1
  832. this.Control[iCurrent+10]=this.cb_1
  833. this.Control[iCurrent+11]=this.cb_2
  834. end on
  835. on w_sc_workpricetable.destroy
  836. call super::destroy
  837. destroy(this.cb_save)
  838. destroy(this.cb_addmx_2)
  839. destroy(this.ddlb_mtrlorigin)
  840. destroy(this.em_1)
  841. destroy(this.st_2)
  842. destroy(this.ddlb_status)
  843. destroy(this.st_3)
  844. destroy(this.ddlb_mtrlprp)
  845. destroy(this.tab_1)
  846. destroy(this.cb_1)
  847. destroy(this.cb_2)
  848. end on
  849. event ue_usual_query_retr;call super::ue_usual_query_retr;String ls_querystrpart = ''
  850. ls_newselect = Lower(ori_oldselect)
  851. IF Trim(sle_usual_query.Text) <> '' THEN
  852. IF Pos(Trim(sle_usual_query.Text),'%') = 0 THEN
  853. ls_querystrpart = "(u_mtrldef.mtrlcode like '%"+Trim(sle_usual_query.Text)+"%')"
  854. ELSE
  855. ls_querystrpart = "(u_mtrldef.mtrlcode like '"+Trim(sle_usual_query.Text)+"')"
  856. END IF
  857. IF Pos(ls_newselect," where ") <> 0 THEN
  858. ls_newselect = ls_newselect+" and ("+ls_querystrpart+')'
  859. ELSE
  860. ls_newselect = ls_newselect+" where ("+ls_querystrpart+')'
  861. END IF
  862. END IF
  863. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  864. This.TriggerEvent('retrieve_pageretr')
  865. end event
  866. event retrieve_pageretr;Boolean cb_nextpage_enabled,cb_retrieveall_enabled
  867. Boolean cb_func_enabled,cb_retrieve_enabled
  868. cb_nextpage_enabled = cb_nextpage.Enabled
  869. cb_retrieveall_enabled = cb_retrieveall.Enabled
  870. cb_func_enabled = cb_func.Enabled
  871. cb_nextpage.Enabled = FALSE
  872. cb_retrieveall.Enabled = FALSE
  873. cb_func.Enabled = FALSE
  874. dw_uc.Retrieve()
  875. dw_pageretr.Retrieve(cur_mtrlorigin,cur_flag,cur_ifwrkprice,cur_mtrlprp)
  876. IF dw_pageretr.RowCount() > 0 THEN
  877. dw_pageretr.SetRow(1)
  878. dw_pageretr.triggerevent(rowfocuschanged!)
  879. end if
  880. THIS.TriggerEvent('retrieve_childdw')
  881. cb_nextpage.Enabled = cb_nextpage_enabled
  882. cb_retrieveall.Enabled = cb_retrieveall_enabled
  883. cb_func.Enabled = cb_func_enabled
  884. end event
  885. event open;call super::open;uc_column_int = 3 //uc dw前8列可以编辑
  886. child_column_int = 15 //子dw前4列可以编辑
  887. u_wrkprice = Create uo_workpricetable
  888. IF s_tran.b_long > 0 THEN
  889. IF dw_pageretr.GetRow() > 0 THEN
  890. IF dw_pageretr.Object.mtrlid[dw_pageretr.GetRow()] = s_tran.b_long THEN
  891. //修改
  892. cb_edit.TriggerEvent(Clicked!)
  893. //清空明细
  894. dw_mx.Reset()
  895. //插入明细
  896. wf_add_mx()
  897. END IF
  898. END IF
  899. END IF
  900. end event
  901. event refresh_interface;call super::refresh_interface;cb_save.Enabled = dw_edit_mode
  902. ddlb_mtrlprp.Enabled = NOT dw_edit_mode
  903. ddlb_mtrlorigin.Enabled = NOT dw_edit_mode
  904. cb_addmx_2.Enabled = dw_edit_mode
  905. ddlb_status.Enabled = NOT dw_edit_mode
  906. end event
  907. event retrieve_childdw;call super::retrieve_childdw;Long row,uc_relid
  908. dw_mx.Reset()
  909. dw_mxmx.Reset()
  910. row = dw_pageretr.GetRow()
  911. IF row > 0 THEN
  912. uc_relid = dw_pageretr.Object.mtrlid[row]
  913. dw_mx.SetRedraw (FALSE)
  914. dw_mx.Retrieve(uc_relid)
  915. dw_mx.SetRedraw (TRUE)
  916. dw_mxmx.setfilter('')
  917. dw_mxmx.filter()
  918. dw_mxmx.SetRedraw (FALSE)
  919. dw_mxmx.Retrieve(uc_relid)
  920. dw_mxmx.SetRedraw (TRUE)
  921. ELSE
  922. dw_mx.Reset()
  923. dw_mxmx.Reset()
  924. END IF
  925. end event
  926. event ue_f8;call super::ue_f8;//用于选择明细内容,被F8[默认]\dw_mx.doubleclicked调用
  927. Long child_row
  928. Long ls_null
  929. IF NOT dw_edit_mode THEN RETURN
  930. IF flag = 1 THEN RETURN
  931. child_row = dw_mx.GetRow()
  932. s_edit_index_tran s_ch_tran
  933. s_ch_tran.if_retrieve_all = TRUE
  934. s_ch_tran.work_mode = 1
  935. s_ch_tran.arg_pkid = 0
  936. s_ch_tran.b_long = 0
  937. s_ch_tran.if_select_all = TRUE
  938. IF child_row > 0 THEN s_ch_tran.arg_string_code = dw_mx.Object.procode[child_row]
  939. Long ls_j
  940. IF NOT IsValid(w_sc_workprocedure_response) THEN
  941. OpenWithParm(w_sc_workprocedure_response,s_ch_tran) //调用
  942. s_workprocedure S_INSCUST
  943. S_INSCUST = Message.PowerObjectParm //接受返回结构
  944. FOR ls_j = 1 TO UpperBound(S_INSCUST.wrkproid)
  945. IF S_INSCUST.wrkproid[ls_j] > 0 THEN //正常返回值则可以取以下值
  946. IF dw_mx.Find('proid='+String(S_INSCUST.wrkproid[ls_j]),1,dw_mx.RowCount()) = 0 THEN
  947. IF dw_mx.GetRow() > 0 THEN
  948. IF dw_mx.Object.proid[child_row] <> 0 THEN
  949. child_row = dw_mx.InsertRow (0)
  950. ELSE
  951. child_row = dw_mx.GetRow()
  952. END IF
  953. ELSE
  954. child_row = dw_mx.InsertRow (0)
  955. END IF
  956. END IF
  957. dw_mx.Object.proid[child_row] = S_INSCUST.wrkproid[ls_j]
  958. dw_mx.Object.procode[child_row] = S_INSCUST.wrkprocode[ls_j]
  959. dw_mx.Object.u_sc_workprice_proname[child_row] = S_INSCUST.wrkproname[ls_j]
  960. dw_mx.Object.worklevel[child_row] = S_INSCUST.worklevel[ls_j]
  961. dw_mx.Object.techlevel[child_row] = S_INSCUST.techlevel[ls_j]
  962. dw_mx.Object.workhour[child_row] = S_INSCUST.workhour[ls_j]
  963. dw_mx.Object.wrkgrpid[child_row] = S_INSCUST.wrkgrid[ls_j]
  964. dw_mx.Object.workprice[child_row] = S_INSCUST.workprice[ls_j]
  965. IF child_row > 1 THEN
  966. dw_mx.Object.proorder[child_row] = dw_mx.Object.proorder[child_row - 1] + 1
  967. END IF
  968. END IF
  969. NEXT
  970. dw_mx.SetRow(child_row)
  971. dw_mx.ScrollToRow(child_row)
  972. dw_mx.SetFocus()
  973. IF UpperBound(S_INSCUST.wrkproid) > 0 THEN
  974. dw_mx.SetColumn("workprice")
  975. END IF
  976. END IF
  977. dw_mx.SetRedraw(TRUE)
  978. dw_mx.SetFocus()
  979. end event
  980. event ue_viewprint;call super::ue_viewprint;
  981. Long LS_ROW
  982. LS_ROW = dw_pageretr.GetRow()
  983. IF LS_ROW <= 0 THEN
  984. MessageBox('NO','没有打印目标单据!')
  985. RETURN
  986. END IF
  987. S_print_MSG LS_PRMSG
  988. Boolean lb_all
  989. lb_all = Pos(ls_chnname, '[全套]') > 0
  990. IF ls_newname <> '' THEN
  991. IF li_auditprint = 1 THEN
  992. IF dw_pageretr.Object.auditflag[dw_pageretr.GetRow()] = 0 THEN
  993. MessageBox('NO','目标单据还未审核,不能打印!')
  994. RETURN
  995. END IF
  996. END IF
  997. LS_PRMSG.obj_dwNAME = ls_newname
  998. ELSE
  999. // IF Not f_power_ind(7) THEN
  1000. // MessageBox(publ_operator,'你没有使用权限!')
  1001. // RETURN
  1002. // END IF
  1003. IF lb_all THEN
  1004. LS_PRMSG.obj_dwNAME = 'dw_rp_workpricetable_all'
  1005. ELSE
  1006. LS_PRMSG.obj_dwNAME = 'dw_rp_workpricetable'
  1007. END IF
  1008. END IF
  1009. Long ll_mtrlid,ll_wrkGrpid
  1010. ll_mtrlid = dw_pageretr.Object.mtrlid[LS_ROW]
  1011. IF lb_all THEN
  1012. OpenWithParm(w_workprice_print_all,ll_mtrlid)
  1013. ELSE
  1014. OpenWithParm(w_workprice_print,ll_mtrlid)
  1015. END IF
  1016. ll_wrkGrpid = Message.DoubleParm
  1017. IF ll_wrkGrpid = 0 THEN RETURN
  1018. //LS_PRMSG.obj_dwNAME = 'dw_rp_workpricetable'
  1019. LS_PRMSG.TAG_TEXT = This.Title
  1020. LS_PRMSG.FILTER_STRING = ''
  1021. LS_PRMSG.retr_pram_falg = 15
  1022. LS_PRMSG.PAGECH_FLAG = 0
  1023. LS_PRMSG.retr_scid = ll_mtrlid
  1024. LS_PRMSG.retr_pramnmb = ll_wrkGrpid
  1025. IF lb_all THEN
  1026. LS_PRMSG.rowcnt = dw_mxmx.RowCount()
  1027. ELSE
  1028. LS_PRMSG.rowcnt = dw_mx.RowCount()
  1029. END IF
  1030. OpenWithParm(w_publ_preview,LS_PRMSG)
  1031. end event
  1032. event ue_print;call super::ue_print;//--直接打印
  1033. uo_print_preview uo_print
  1034. IF MessageBox ("IF","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1035. S_print_MSG LS_PRMSG
  1036. IF dw_pageretr.RowCount() = 0 THEN
  1037. MessageBox('系统信息','没有可打印的单据!')
  1038. RETURN
  1039. END IF
  1040. Long ll_mtrlid,ll_wrkGrpid
  1041. ll_mtrlid = dw_pageretr.Object.mtrlid[dw_pageretr.GetRow()]
  1042. OpenWithParm(w_workprice_print,ll_mtrlid)
  1043. ll_wrkGrpid = Message.DoubleParm
  1044. IF ll_wrkGrpid = 0 THEN RETURN
  1045. LS_PRMSG.obj_dwNAME = 'dw_rp_workpricetable'
  1046. LS_PRMSG.TAG_TEXT = '工价表'
  1047. LS_PRMSG.FILTER_STRING = ''
  1048. LS_PRMSG.retr_pram_falg = 15
  1049. LS_PRMSG.PAGECH_FLAG = 0
  1050. LS_PRMSG.retr_scid = dw_pageretr.Object.mtrlid[dw_pageretr.GetRow()]
  1051. LS_PRMSG.retr_pramnmb = ll_wrkGrpid
  1052. LS_PRMSG.rowcnt = dw_mx.RowCount()
  1053. uo_print.FACT_PRINT_MSG = LS_PRMSG
  1054. String arg_msg
  1055. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  1056. MessageBox("系统提示",arg_msg)
  1057. RETURN
  1058. END IF
  1059. uo_print.ds_print()
  1060. end event
  1061. event ue_f9;call super::ue_f9;IF NOT dw_edit_mode THEN RETURN
  1062. Long uc_row,ll_ol_mtrlid
  1063. uc_row = dw_uc.GetRow()
  1064. dw_uc.AcceptText()
  1065. ll_ol_mtrlid = dw_uc.Object.u_mtrldef_wpmtrlid[uc_row]
  1066. IF NOT IsValid(w_mtrldef_edit) THEN
  1067. s_edit_index_tran s_ch_tran
  1068. s_ch_tran.if_retrieve_all = FALSE
  1069. s_ch_tran.work_mode = 1
  1070. s_ch_tran.arg_pkid = 0
  1071. s_ch_tran.arg_string_code = ''
  1072. s_ch_tran.b_long = 0
  1073. s_ch_tran.c_long = -1
  1074. s_ch_tran.f_long = -1
  1075. s_ch_tran.if_select_all = FALSE
  1076. dw_uc.AcceptText()
  1077. OpenWithParm(w_mtrldef_edit,s_ch_tran) //调用
  1078. s_mtrldef_array s_inscust
  1079. s_inscust = Message.PowerObjectParm //接受返回结构
  1080. dw_uc.SetRedraw(FALSE)
  1081. IF s_inscust.mtrlid[1] > 0 THEN
  1082. dw_uc.Object.u_mtrldef_wpmtrlid[uc_row] = s_inscust.mtrlid[1]
  1083. dw_uc.Object.u_mtrldef_a_mtrlcode[uc_row] = s_inscust.mtrlcode[1]
  1084. dw_uc.Object.u_mtrldef_a_mtrlname[uc_row] = s_inscust.mtrlname[1]
  1085. dw_uc.Object.u_mtrldef_a_mtrlmode[uc_row] = s_inscust.mtrlmode[1]
  1086. wf_read_procode(ll_ol_mtrlid,s_inscust.mtrlid[1])
  1087. dw_uc.SetFocus()
  1088. dw_uc.SetColumn('u_mtrldef_wprate')
  1089. END IF
  1090. dw_uc.SetRedraw(TRUE)
  1091. END IF
  1092. end event
  1093. event ue_before_open;dw_child.settransobject(sqlca)
  1094. dw_uc.settransobject(sqlca)
  1095. if_ue_retr=true
  1096. if_ue_filter=true
  1097. if_ue_sort=true
  1098. dw_mx = tab_1.tabpage_1.dw_1
  1099. dw_mxmx = tab_1.tabpage_2.dw_2
  1100. dw_mx.settransobject(sqlca)
  1101. dw_mxmx.settransobject(sqlca)
  1102. ds_copypaste = create datastore
  1103. ds_copypaste.dataobject = dw_mx.dataobject
  1104. ds_copypaste.settransobject(sqlca)
  1105. end event
  1106. event resize;call super::resize;tab_1.Width = THIS.Width - (3600 - 3543)
  1107. tab_1.Height = THIS.Height - (2300 - 892)
  1108. dw_mx.Width = THIS.Width - (3600 - 3506)
  1109. dw_mx.Height = THIS.Height - (2300 - 780)
  1110. dw_mxmx.Width = THIS.Width - (3600 - 3506)
  1111. dw_mxmx.Height = THIS.Height - (2300 - 780)
  1112. end event
  1113. event ue_f10;call super::ue_f10;IF NOT dw_edit_mode THEN RETURN
  1114. Long uc_row,ll_mtrlid,child_row
  1115. string ls_status
  1116. uc_row = dw_uc.GetRow()
  1117. IF uc_row <= 0 THEN
  1118. MessageBox('系统提示','请先选择产品')
  1119. RETURN
  1120. END IF
  1121. child_row = dw_mx.getrow()
  1122. if child_row <= 0 then
  1123. MessageBox('系统提示','请选择明细')
  1124. RETURN
  1125. END IF
  1126. dw_uc.AcceptText()
  1127. dw_mx.AcceptText()
  1128. ll_mtrlid = dw_uc.Object.mtrlid[uc_row]
  1129. IF NOT IsValid(w_configure_ch_zj) THEN
  1130. s_edit_index_tran s_ch_tran
  1131. s_ch_tran.c_long = ll_mtrlid
  1132. OpenWithParm(w_configure_ch_zj,s_ch_tran) //调用
  1133. ls_status = Message.StringParm //接受返回结构
  1134. dw_mx.SetRedraw(FALSE)
  1135. IF len(trim(ls_status)) > 0 THEN
  1136. if ls_status = '[清空配置]' then ls_status = ''
  1137. dw_mx.Object.u_sc_workprice_status[child_row] = ls_status
  1138. dw_mx.SetFocus()
  1139. dw_mx.SetColumn('dscrp')
  1140. END IF
  1141. dw_mx.SetRedraw(TRUE)
  1142. END IF
  1143. end event
  1144. event ue_f6;call super::ue_f6;IF dw_edit_mode THEN RETURN
  1145. Long ll_row,uc_row
  1146. ll_row = dw_mx.GetRow()
  1147. uc_row = dw_uc.GetRow()
  1148. IF ll_row <= 0 THEN RETURN
  1149. IF uc_row <= 0 THEN RETURN
  1150. Long ll_mtrlid
  1151. String ls_procode
  1152. ll_mtrlid = dw_uc.Object.mtrlid[uc_row]
  1153. ls_procode = dw_mx.Object.procode[ll_row]
  1154. IF ll_mtrlid = 0 OR ls_procode = '' THEN RETURN
  1155. s_edit_index_tran s_tran_his //传递参数使用
  1156. s_tran_his.b_long = ll_mtrlid
  1157. s_tran_his.b_string = ls_procode
  1158. OpenWithParm(w_workprice_change_his,s_tran_his)
  1159. end event
  1160. event ue_f12;call super::ue_f12;IF dw_edit_mode THEN RETURN
  1161. Long ll_row
  1162. ll_row = dw_mxmx.GetRow()
  1163. IF ll_row <= 0 THEN RETURN
  1164. Long ll_mtrlid
  1165. String ls_procode
  1166. ll_mtrlid = dw_mxmx.Object.u_sc_workprice_mx_mtrlid[ll_row]
  1167. ls_procode = dw_mxmx.Object.u_sc_workprice_mx_procode[ll_row]
  1168. IF ll_mtrlid = 0 OR ls_procode = '' THEN RETURN
  1169. s_edit_index_tran s_tran_his //传递参数使用
  1170. s_tran_his.b_long = ll_mtrlid
  1171. s_tran_his.b_string = ls_procode
  1172. OpenWithParm(w_workprice_change_his,s_tran_his)
  1173. end event
  1174. event ue_deletemx;IF NOT dw_edit_mode THEN
  1175. MessageBox('系统提示','非编辑状态下不可用')
  1176. RETURN
  1177. END IF
  1178. IF MessageBox ("询问","是否确定要删除当前细目记录?",Question!,YesNo! ) = 2 THEN RETURN
  1179. IF dw_mx.GetRow() = 0 THEN
  1180. MessageBox('提示','请选择删除的行对象!')
  1181. RETURN
  1182. END IF
  1183. if_del = TRUE
  1184. Long ll_i
  1185. dw_mx.SetRedraw(FALSE)
  1186. FOR ll_i = dw_mx.RowCount() TO 1 STEP -1
  1187. IF dw_mx.IsSelected(ll_i) THEN
  1188. dw_mx.DeleteRow (ll_i)
  1189. END IF
  1190. NEXT
  1191. dw_mx.SetRedraw(TRUE)
  1192. if_del = FALSE
  1193. IF dw_mx.RowCount() = 0 THEN dw_mx.InsertRow(0)
  1194. dw_mx.TriggerEvent (RowFocusChanged!)
  1195. end event
  1196. event ue_addmx;IF NOT dw_edit_mode THEN
  1197. MessageBox('系统提示','非编辑状态下不可用')
  1198. RETURN
  1199. END IF
  1200. THIS.TriggerEvent('ue_f8')
  1201. dw_mx.SetFocus()
  1202. end event
  1203. event ue_copyrow;IF NOT dw_edit_mode THEN RETURN
  1204. Long ll_childrow
  1205. ll_childrow = dw_mx.GetRow()
  1206. IF ll_childrow = 0 THEN
  1207. MessageBox('NO','请选择复制对象!')
  1208. RETURN
  1209. END IF
  1210. Long ll_i
  1211. long ll_j
  1212. ll_j = 0
  1213. FOR ll_i = 1 TO dw_mx.RowCount()
  1214. IF dw_mx.IsSelected(ll_i) THEN
  1215. ll_j++
  1216. dw_mx.RowsCopy (ll_i,ll_i,Primary!,ds_copypaste,ll_j,Primary!)
  1217. END IF
  1218. NEXT
  1219. //dw_mx.RowsCopy (ll_childrow,ll_childrow,Primary!,ds_copypaste,1,Primary!)
  1220. FOR ll_i = 1 TO ds_copypaste.RowCount()
  1221. ds_copypaste.RowsCopy (ll_i,ll_i,Primary!,dw_mx,ll_childrow + ll_i,Primary!)
  1222. NEXT
  1223. //ds_copypaste.RowsCopy (1,1,Primary!,dw_mx,ll_childrow + 1,Primary!)
  1224. ds_copypaste.Reset()
  1225. dw_mx.SelectRow(0,FALSE)
  1226. dw_mx.SetRow(ll_childrow + 1)
  1227. dw_mx.ScrollToRow(ll_childrow + 1)
  1228. dw_mx.SelectRow(ll_childrow + 1,TRUE)
  1229. end event
  1230. event ue_insertmx;long ll_childrow,li_row
  1231. ll_childrow = dw_mx.getrow()
  1232. li_row = dw_mx.insertrow(ll_childrow)
  1233. dw_mx.selectrow(0,false)
  1234. dw_mx.setrow(li_row)
  1235. dw_mx.scrolltorow(li_row)
  1236. dw_mx.selectrow(li_row,true)
  1237. end event
  1238. event ue_usual_query_filt;call super::ue_usual_query_filt;String obj_expr = ''
  1239. IF Trim(sle_usual_query.Text) <> '' THEN
  1240. IF Pos(Trim(sle_usual_query.Text),'%') = 0 THEN
  1241. obj_expr = obj_expr+'( mtrlcode LIKE "%'+Trim(sle_usual_query.Text)+'%" )'
  1242. ELSE
  1243. obj_expr = obj_expr+'( mtrlcode LIKE "'+Trim(sle_usual_query.Text)+'" )'
  1244. END IF
  1245. END IF
  1246. dw_pageretr.SetFilter(obj_expr)
  1247. dw_pageretr.SetRedraw(False)
  1248. dw_pageretr.Filter()
  1249. IF dw_pageretr.RowCount() >= 1 THEN
  1250. dw_pageretr.SelectRow(0,False)
  1251. dw_pageretr.SelectRow(1,True)
  1252. dw_pageretr.SetRow(1)
  1253. dw_pageretr.TriggerEvent(RowFocusChanged!)
  1254. END IF
  1255. dw_pageretr.SetRedraw(True)
  1256. end event
  1257. event ue_f7;call super::ue_f7;//IF Not dw_edit_mode THEN RETURN
  1258. dw_mx.AcceptText()
  1259. String ls_pricestr
  1260. Long ll_row
  1261. s_edit_index_tran s_tran_str
  1262. ll_row = dw_mx.GetRow()
  1263. IF ll_row <= 0 THEN RETURN
  1264. ls_pricestr = dw_mx.Object.u_sc_workprice_pricestr[ll_row]
  1265. s_tran_str.b_long = 0 // 0-工价,1-数量
  1266. s_tran_str.b_string = ls_pricestr
  1267. OpenWithParm(w_mtrl_workpricestr_compute_edit,s_tran_str)
  1268. IF Not dw_edit_mode THEN RETURN
  1269. ls_pricestr = Message.StringParm
  1270. dw_mx.Object.u_sc_workprice_pricestr[ll_row] = ls_pricestr
  1271. dw_mx.AcceptText()
  1272. end event
  1273. type cb_func from w_publ_1ton_share_detail`cb_func within w_sc_workpricetable
  1274. end type
  1275. type cb_exit from w_publ_1ton_share_detail`cb_exit within w_sc_workpricetable
  1276. integer x = 2542
  1277. end type
  1278. type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_sc_workpricetable
  1279. integer x = 2546
  1280. integer width = 667
  1281. end type
  1282. type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_sc_workpricetable
  1283. integer x = 2994
  1284. integer width = 142
  1285. end type
  1286. type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_sc_workpricetable
  1287. integer x = 2693
  1288. end type
  1289. type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_sc_workpricetable
  1290. integer x = 1733
  1291. integer width = 1810
  1292. integer height = 980
  1293. string title = "产品摘要内容"
  1294. string dataobject = "dw_sc_workpricetable_index"
  1295. end type
  1296. type st_1 from w_publ_1ton_share_detail`st_1 within w_sc_workpricetable
  1297. integer x = 2354
  1298. integer width = 187
  1299. string text = "编码含"
  1300. alignment alignment = right!
  1301. end type
  1302. type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_sc_workpricetable
  1303. integer x = 3136
  1304. end type
  1305. type dw_uc from w_publ_1ton_share_detail`dw_uc within w_sc_workpricetable
  1306. integer width = 1733
  1307. integer height = 980
  1308. string dataobject = "dw_sc_workpricetable_edit"
  1309. end type
  1310. event dw_uc::buttonclicked;call super::buttonclicked;IF NOT dw_edit_mode THEN RETURN
  1311. IF row <= 0 THEN RETURN
  1312. IF dwo.Name = 'b_mtrl' THEN
  1313. PARENT.TriggerEvent('ue_f9')
  1314. ELSEIF dwo.Name = 'b_cancel' THEN
  1315. THIS.SetRedraw(FALSE)
  1316. THIS.Object.u_mtrldef_wprate[row] = 0
  1317. THIS.Object.u_mtrldef_a_mtrlmode[row] = ''
  1318. THIS.Object.u_mtrldef_a_mtrlname[row] = ''
  1319. THIS.Object.u_mtrldef_a_mtrlcode[row] = ''
  1320. THIS.Object.u_mtrldef_wpmtrlid[row] = 0
  1321. THIS.SetRedraw(TRUE)
  1322. ELSEIF dwo.Name = 'b_cmpl' THEN
  1323. wf_cmpl_price()
  1324. END IF
  1325. end event
  1326. event dw_uc::dwnkey;PARENT.TriggerEvent('user_key')
  1327. IF Key = KeyDownArrow! THEN RETURN 1
  1328. IF dw_edit_mode THEN
  1329. IF dw_uc.GetColumnName() = 'u_mtrldef_wprate' AND Key = KeyEnter! THEN
  1330. dw_child.SetFocus()
  1331. dw_child.ScrollToRow(dw_child.RowCount())
  1332. dw_child.SetColumn ('procode')
  1333. RETURN 1
  1334. ELSE
  1335. IF Key = KeyEnter! THEN //
  1336. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1337. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1338. RETURN 1
  1339. END IF
  1340. END IF
  1341. END IF
  1342. end event
  1343. type gb_2 from w_publ_1ton_share_detail`gb_2 within w_sc_workpricetable
  1344. integer x = 421
  1345. integer y = 500
  1346. integer width = 393
  1347. integer height = 192
  1348. string text = "产品摘要内容"
  1349. end type
  1350. type dw_child from w_publ_1ton_share_detail`dw_child within w_sc_workpricetable
  1351. boolean visible = false
  1352. integer y = 1280
  1353. integer width = 3543
  1354. integer height = 892
  1355. string title = "产品工序明细"
  1356. string dataobject = "dw_sc_workpricetable_mx"
  1357. boolean controlmenu = true
  1358. end type
  1359. event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key')
  1360. String ls_procode,ls_proname,ls_techlevel,ls_worklevel
  1361. decimal ld_workprice
  1362. Long ls_proid,ll_wrkgrpid
  1363. Dec ls_workhour
  1364. Long child_row
  1365. Long ls_null
  1366. SetNull(ls_null)
  1367. IF dw_edit_mode THEN
  1368. IF KeyDown(Keydownarrow!) THEN
  1369. Long li_row
  1370. IF dw_child.GetRow() = dw_child.RowCount() THEN
  1371. PARENT.TriggerEvent("insert_childrow")
  1372. END IF
  1373. ELSE
  1374. IF (KeyDown(KeyEnter!) OR KeyDown(KeyTab!)) AND NOT KeyDown(KeyControl!) AND NOT KeyDown(KeyShift!) THEN
  1375. IF dw_child.GetColumnName() = 'procode' THEN
  1376. dw_child.AcceptText()
  1377. child_row = dw_child.GetRow()
  1378. ls_procode = dw_child.Object.procode[child_row]
  1379. SELECT u_sc_workprocedure.proid,
  1380. u_sc_workprocedure.name,
  1381. u_sc_workprocedure.techlevel,
  1382. u_sc_workprocedure.workhour,
  1383. u_sc_workprocedure.worklevel,
  1384. u_sc_workprocedure.workprice,
  1385. u_sc_workprocedure.wrkgrpid
  1386. INTO :ls_proid,:ls_proname,:ls_techlevel,:ls_workhour,
  1387. :ls_worklevel,:ld_workprice,:ll_wrkgrpid
  1388. FROM u_sc_workprocedure
  1389. Where ( u_sc_workprocedure.code = :ls_procode);
  1390. IF sqlca.SQLCode <> 0 THEN
  1391. dw_child.Object.proid[child_row] = 0
  1392. dw_child.Object.u_sc_workprice_proname[child_row] = ''
  1393. dw_child.Object.techlevel[child_row] = ''
  1394. dw_child.Object.worklevel[child_row] = ''
  1395. dw_child.Object.workhour[child_row] = 0
  1396. dw_child.Object.wrkgrpid[child_row] = 0
  1397. dw_child.Object.workprice[child_row] = 0
  1398. ELSE
  1399. dw_child.Object.proid[child_row] = ls_proid
  1400. dw_child.Object.u_sc_workprice_proname[child_row] = ls_proname
  1401. dw_child.Object.techlevel[child_row] = ls_techlevel
  1402. dw_child.Object.worklevel[child_row] = ls_worklevel
  1403. dw_child.Object.workhour[child_row] = ls_workhour
  1404. dw_child.Object.wrkgrpid[child_row] = ll_wrkgrpid
  1405. dw_child.Object.workprice[child_row] = ld_workprice
  1406. END IF
  1407. IF Key = KeyEnter! THEN
  1408. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1409. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1410. RETURN 1
  1411. END IF
  1412. ELSEIF dw_child.GetColumnName( ) = 'techlevel' AND dw_child.GetRow() = dw_child.RowCount() THEN
  1413. PARENT.TriggerEvent("insert_childrow")
  1414. RETURN 1
  1415. ELSE
  1416. IF Key = KeyEnter! THEN
  1417. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1418. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1419. RETURN 1
  1420. END IF
  1421. END IF
  1422. END IF
  1423. END IF
  1424. END IF
  1425. //u_mtrldef_mtrlcode
  1426. //u_mtrldef_unit
  1427. //u_inwaremx_mtrlid
  1428. //u_inwaremx_planprice
  1429. //u_inwaremx_price
  1430. //u_mtrldef_mtrlname
  1431. end event
  1432. type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_sc_workpricetable
  1433. integer x = 1920
  1434. end type
  1435. type cb_print from w_publ_1ton_share_detail`cb_print within w_sc_workpricetable
  1436. integer x = 1728
  1437. end type
  1438. type cb_add from w_publ_1ton_share_detail`cb_add within w_sc_workpricetable
  1439. boolean visible = false
  1440. integer x = 279
  1441. integer y = 324
  1442. boolean enabled = false
  1443. end type
  1444. type cb_edit from w_publ_1ton_share_detail`cb_edit within w_sc_workpricetable
  1445. end type
  1446. event cb_edit::clicked;if not f_power_ind(1336) then
  1447. messagebox(publ_operator,'你没有使用权限!')
  1448. return
  1449. end if
  1450. string arg_msg=''
  1451. long uc_row
  1452. uc_row=dw_pageretr.getrow()
  1453. if uc_row<=0 then
  1454. messagebox('系统提示','请选定当前目标产品!')
  1455. return
  1456. end if
  1457. if not dw_edit_mode then
  1458. if u_wrkprice.updatebegin(dw_pageretr.object.mtrlid[uc_row],arg_msg)=0 then
  1459. messagebox('Error!',arg_msg)
  1460. return
  1461. end if
  1462. end if
  1463. call super::clicked
  1464. parent.triggerevent('refresh_interface')
  1465. if dw_edit_mode then
  1466. if dw_mx.rowcount()>0 then
  1467. dw_mx.setfocus()
  1468. dw_mx.SetColumn('procode')
  1469. else
  1470. parent.triggerevent('insert_childrow')
  1471. dw_mx.setfocus()
  1472. dw_mx.SetColumn('procode')
  1473. end if
  1474. end if
  1475. end event
  1476. type cb_delet from w_publ_1ton_share_detail`cb_delet within w_sc_workpricetable
  1477. boolean visible = false
  1478. integer x = 905
  1479. integer y = 204
  1480. string text = "撤审"
  1481. string normalpicname = "caudit.BMP"
  1482. end type
  1483. event cb_delet::clicked;call super::clicked;IF NOT f_power_ind(21) THEN
  1484. MessageBox(publ_operator,'你没有使用权限!')
  1485. RETURN
  1486. END IF
  1487. IF dw_edit_mode THEN RETURN
  1488. IF NOT KeyDown(KeyControl!) THEN
  1489. IF MessageBox ("IF","是否确定要"+THIS.Text+"当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1490. END IF
  1491. String arg_msg = '',ls_code
  1492. Long pagerert_row,ls_id
  1493. Long ll_mtrlid,ll_wrkGrpid
  1494. pagerert_row = dw_pageretr.GetRow()
  1495. IF pagerert_row <= 0 THEN
  1496. MessageBox('系统提示','请选定当前目标单据!')
  1497. RETURN
  1498. END IF
  1499. ll_mtrlid = dw_pageretr.Object.mtrlid[pagerert_row]
  1500. openwithparm(w_workprice_audit,ll_mtrlid)
  1501. ll_wrkGrpid = message.doubleparm
  1502. if ll_wrkGrpid = 0 then return
  1503. IF u_wrkprice.c_auditing(ll_mtrlid,ll_wrkGrpid,arg_msg,TRUE) = 0 THEN
  1504. MessageBox('Error!',arg_msg)
  1505. ELSE
  1506. MessageBox(publ_operator,'撤审成功!')
  1507. wf_refresh_curuc(dw_pageretr.Object.mtrlid[pagerert_row])
  1508. parent.triggerevent('retrieve_childdw')
  1509. END IF
  1510. end event
  1511. type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_sc_workpricetable
  1512. integer x = 1221
  1513. integer width = 256
  1514. end type
  1515. event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  1516. String menustr
  1517. menustr = "Text=复制工价表~tEvent=ue_copy"
  1518. menustr = menustr + "|" + "Text=粘贴工价表~tEvent=ue_paste"
  1519. menustr = menustr + "|" + "Text=-"
  1520. menustr = menustr + "|" + "Text=设定工时~tEvent=ue_workhour_mod"
  1521. menustr = menustr + "|" + "Text=-"
  1522. menustr = menustr + "|" + "Text=审核工时~tEvent=ue_audit_gs"
  1523. menustr = menustr + "|" + "Text=撤审工时~tEvent=ue_c_audit_gs"
  1524. menustr = menustr + "|" + "Text=-"
  1525. menustr = menustr + "|" + "Text=计算全套工价~tEvent=ue_addworkmx"
  1526. menustr = menustr + "|" + "Text=-"
  1527. menustr = menustr + "|" + "Text=预览全套工价~tEvent=ue_viewprint_all"
  1528. menustr = menustr + "|" + "Text=打印全套工价~tEvent=ue_print_all"
  1529. menustr = menustr + "|" + "Text=-"
  1530. menustr = menustr + "|" + "Text=图片管理~tEvent=ue_fj_edit"
  1531. menustr = menustr + "|" + "Text=图片查看~tEvent=ue_fj_view"
  1532. IF Len(Trim(menustr)) <> 0 THEN
  1533. dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
  1534. dmPopupMenu.mf_BuildMenu(THIS, menustr)
  1535. dmPopupMenu.mf_PopMenu()
  1536. DESTROY dmPopupMenu
  1537. END IF
  1538. end event
  1539. type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_sc_workpricetable
  1540. integer x = 686
  1541. end type
  1542. event cb_auditing::clicked;call super::clicked;IF dw_edit_mode THEN RETURN
  1543. String arg_msg
  1544. Long ll_mtrlid,ll_wrkGrpid
  1545. IF NOT f_power_ind(1337) THEN
  1546. MessageBox(publ_operator,'你没有使用权限!')
  1547. RETURN
  1548. END IF
  1549. IF MessageBox ("IF","是否确定要审核当前工价表吗?",Question!,YesNo! ) = 2 THEN RETURN
  1550. Long pagerert_row
  1551. pagerert_row = dw_pageretr.GetRow()
  1552. IF pagerert_row <= 0 THEN
  1553. MessageBox('系统提示','请选定当前目标单据!')
  1554. RETURN
  1555. END IF
  1556. ll_mtrlid = dw_pageretr.Object.mtrlid[pagerert_row]
  1557. OpenWithParm(w_workprice_audit,ll_mtrlid)
  1558. ll_wrkGrpid = Message.DoubleParm
  1559. IF ll_wrkGrpid = 0 THEN RETURN
  1560. IF u_wrkprice.auditing(ll_mtrlid,ll_wrkGrpid,publ_operator,arg_msg,TRUE) = 0 THEN
  1561. MessageBox('Error!',arg_msg)
  1562. ELSE
  1563. MessageBox(publ_operator,'审核成功!')
  1564. wf_refresh_curuc(dw_pageretr.Object.mtrlid[pagerert_row])
  1565. PARENT.TriggerEvent('retrieve_childdw')
  1566. END IF
  1567. end event
  1568. type cb_xm from w_publ_1ton_share_detail`cb_xm within w_sc_workpricetable
  1569. integer x = 1477
  1570. end type
  1571. event cb_xm::clicked;//
  1572. is_mx_menustr = ''
  1573. IF dw_edit_mode THEN
  1574. is_mx_menustr = is_mx_menustr + "|" + "Text=选常用公式设置工价公式~tEvent=ue_workpricestr_com_ch"
  1575. is_mx_menustr = is_mx_menustr + "|" + "Text=-"
  1576. is_mx_menustr = is_mx_menustr + "|" + "Text=批设置数量~tEvent=ue_p_workqty"
  1577. is_mx_menustr = is_mx_menustr + "|" + "Text=批设置新单件工价~tEvent=ue_p_workprice"
  1578. is_mx_menustr = is_mx_menustr + "|" + "Text=-"
  1579. is_mx_menustr = is_mx_menustr + "|" + "Text=批设置工组~tEvent=ue_p_wrkgrpid"
  1580. is_mx_menustr = is_mx_menustr + "|" + "Text=批设置工序~tEvent=ue_p_pro"
  1581. END IF
  1582. CALL Super::Clicked
  1583. end event
  1584. type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_sc_workpricetable
  1585. end type
  1586. type cb_xls from w_publ_1ton_share_detail`cb_xls within w_sc_workpricetable
  1587. integer x = 2112
  1588. integer width = 279
  1589. end type
  1590. type cb_help from w_publ_1ton_share_detail`cb_help within w_sc_workpricetable
  1591. integer x = 2391
  1592. end type
  1593. type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_sc_workpricetable
  1594. integer x = 878
  1595. end type
  1596. event cb_auditing_cancel::clicked;call super::clicked;IF NOT f_power_ind(1337) THEN
  1597. MessageBox(publ_operator,'你没有使用权限!')
  1598. RETURN
  1599. END IF
  1600. IF dw_edit_mode THEN RETURN
  1601. IF NOT KeyDown(KeyControl!) THEN
  1602. IF MessageBox ("IF","是否确定要"+THIS.Text+"当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1603. END IF
  1604. String arg_msg = '',ls_code
  1605. Long pagerert_row,ls_id
  1606. Long ll_mtrlid,ll_wrkGrpid
  1607. pagerert_row = dw_pageretr.GetRow()
  1608. IF pagerert_row <= 0 THEN
  1609. MessageBox('系统提示','请选定当前目标单据!')
  1610. RETURN
  1611. END IF
  1612. ll_mtrlid = dw_pageretr.Object.mtrlid[pagerert_row]
  1613. openwithparm(w_workprice_audit,ll_mtrlid)
  1614. ll_wrkGrpid = message.doubleparm
  1615. if ll_wrkGrpid = 0 then return
  1616. IF u_wrkprice.c_auditing(ll_mtrlid,ll_wrkGrpid,arg_msg,TRUE) = 0 THEN
  1617. MessageBox('Error!',arg_msg)
  1618. ELSE
  1619. MessageBox(publ_operator,'撤审成功!')
  1620. wf_refresh_curuc(dw_pageretr.Object.mtrlid[pagerert_row])
  1621. parent.triggerevent('retrieve_childdw')
  1622. END IF
  1623. end event
  1624. type p_msg from w_publ_1ton_share_detail`p_msg within w_sc_workpricetable
  1625. end type
  1626. type p_help from w_publ_1ton_share_detail`p_help within w_sc_workpricetable
  1627. end type
  1628. type p_encl from w_publ_1ton_share_detail`p_encl within w_sc_workpricetable
  1629. end type
  1630. type p_other from w_publ_1ton_share_detail`p_other within w_sc_workpricetable
  1631. end type
  1632. type gb_3 from w_publ_1ton_share_detail`gb_3 within w_sc_workpricetable
  1633. end type
  1634. type ln_bar from w_publ_1ton_share_detail`ln_bar within w_sc_workpricetable
  1635. end type
  1636. type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_sc_workpricetable
  1637. end type
  1638. type r_bar from w_publ_1ton_share_detail`r_bar within w_sc_workpricetable
  1639. end type
  1640. type ln_1 from w_publ_1ton_share_detail`ln_1 within w_sc_workpricetable
  1641. end type
  1642. type ln_2 from w_publ_1ton_share_detail`ln_2 within w_sc_workpricetable
  1643. end type
  1644. type cb_save from uo_imflatbutton within w_sc_workpricetable
  1645. integer x = 302
  1646. integer width = 192
  1647. integer height = 164
  1648. integer taborder = 280
  1649. boolean bringtotop = true
  1650. boolean enabled = false
  1651. string text = "保存&S"
  1652. string normalpicname = "save.bmp"
  1653. integer picsize = 16
  1654. toolbaralignment pic_align = alignattop!
  1655. boolean border = false
  1656. end type
  1657. event clicked;Long uc_row,i
  1658. String arg_msg
  1659. IF dw_edit_mode THEN
  1660. dw_uc.AcceptText()
  1661. dw_mx.AcceptText()
  1662. uc_row = dw_uc.GetRow()
  1663. IF uc_row <= 0 THEN
  1664. MessageBox('系统提示','请选定当前目标单据!')
  1665. RETURN
  1666. END IF
  1667. u_wrkprice.mtrlid = dw_uc.Object.mtrlid[uc_row]
  1668. u_wrkprice.wpmtrlid = dw_uc.Object.u_mtrldef_wpmtrlid[uc_row]
  1669. u_wrkprice.wprate = dw_uc.Object.u_mtrldef_wprate[uc_row]
  1670. FOR i = 1 To dw_mx.RowCount()
  1671. IF Trim(dw_mx.Object.procode[i]) <> '' And dw_mx.Object.auditflag[i] = 0 THEN
  1672. IF u_wrkprice.acceptmx(dw_mx.Object.proid[i],&
  1673. dw_mx.Object.procode[i],&
  1674. dw_mx.Object.u_sc_workprice_proname[i],&
  1675. dw_mx.Object.workqty[i],&
  1676. dw_mx.Object.workprice[i],&
  1677. dw_mx.Object.wrkgrpid[i],&
  1678. Upper(dw_mx.Object.worklevel[i]),&
  1679. Upper(dw_mx.Object.techlevel[i]),&
  1680. dw_mx.Object.workhour[i],&
  1681. dw_mx.Object.dscrp[i],&
  1682. dw_mx.Object.lastflag[i],&
  1683. dw_mx.Object.proorder[i],&
  1684. 0,&
  1685. dw_mx.Object.lsxtype[i],&
  1686. dw_mx.Object.u_sc_workprice_ifstandard[i],&
  1687. dw_mx.Object.u_sc_workprice_status[i],&
  1688. dw_mx.Object.u_sc_workprice_ifjd[i],&
  1689. dw_mx.Object.u_sc_workprice_pricestr[i],&
  1690. dw_mx.Object.u_sc_workprice_stepstr[i],&
  1691. arg_msg) = 0 THEN
  1692. MessageBox('Error!',arg_msg)
  1693. RETURN
  1694. END IF
  1695. END IF
  1696. NEXT
  1697. IF u_wrkprice.Save(True,arg_msg) = 0 THEN
  1698. MessageBox('Error!',arg_msg)
  1699. RETURN
  1700. END IF
  1701. wf_addmx(u_wrkprice.mtrlid)
  1702. MessageBox(publ_operator,'保存操作成功!')
  1703. Long ll_row
  1704. ll_row = dw_pageretr.GetRow()
  1705. dw_pageretr.SelectRow(0,False)
  1706. dw_pageretr.SelectRow(ll_row,True)
  1707. wf_refresh_curuc(u_wrkprice.mtrlid) //刷新uc
  1708. END IF
  1709. dw_edit_mode = Not dw_edit_mode
  1710. wf_refresh_interface()
  1711. IF dw_edit_mode THEN
  1712. dw_uc.SetFocus()
  1713. END IF
  1714. Parent.TriggerEvent('refresh_interface')
  1715. Parent.TriggerEvent("retrieve_childdw")
  1716. end event
  1717. type cb_addmx_2 from uo_imflatbutton within w_sc_workpricetable
  1718. integer x = 1029
  1719. integer width = 192
  1720. integer height = 164
  1721. integer taborder = 290
  1722. boolean enabled = false
  1723. string text = "增工序"
  1724. string normalpicname = "mx.bmp"
  1725. integer picsize = 16
  1726. toolbaralignment pic_align = alignattop!
  1727. boolean border = false
  1728. end type
  1729. event clicked;call super::clicked;dw_child.setfocus()
  1730. PARENT.TriggerEvent("insert_childrow")
  1731. end event
  1732. type ddlb_mtrlorigin from uo_ddlb_mtrlorigin within w_sc_workpricetable
  1733. integer x = 960
  1734. integer y = 192
  1735. integer width = 471
  1736. integer height = 480
  1737. integer taborder = 50
  1738. boolean bringtotop = true
  1739. end type
  1740. event selectionchanged;call super::selectionchanged;cur_mtrlorigin = THIS.uo_mtrlorigin
  1741. PARENT.TriggerEvent('ue_usual_query_retr')
  1742. end event
  1743. type em_1 from editmask within w_sc_workpricetable
  1744. integer x = 544
  1745. integer y = 188
  1746. integer width = 192
  1747. integer height = 84
  1748. integer taborder = 60
  1749. boolean bringtotop = true
  1750. integer textsize = -9
  1751. integer weight = 400
  1752. fontcharset fontcharset = gb2312charset!
  1753. fontpitch fontpitch = variable!
  1754. string facename = "宋体"
  1755. long textcolor = 33554432
  1756. string text = "2"
  1757. alignment alignment = center!
  1758. borderstyle borderstyle = stylelowered!
  1759. string mask = "#0"
  1760. boolean spin = true
  1761. string minmax = "0~~5"
  1762. end type
  1763. type st_2 from statictext within w_sc_workpricetable
  1764. integer x = 18
  1765. integer y = 204
  1766. integer width = 507
  1767. integer height = 48
  1768. boolean bringtotop = true
  1769. integer textsize = -9
  1770. integer weight = 400
  1771. fontcharset fontcharset = gb2312charset!
  1772. fontpitch fontpitch = variable!
  1773. string facename = "宋体"
  1774. long textcolor = 33554432
  1775. long backcolor = 134217739
  1776. string text = "比例计算小数位精度"
  1777. alignment alignment = center!
  1778. boolean focusrectangle = false
  1779. end type
  1780. type ddlb_status from dropdownlistbox within w_sc_workpricetable
  1781. integer x = 1829
  1782. integer y = 192
  1783. integer width = 361
  1784. integer height = 468
  1785. integer taborder = 60
  1786. boolean bringtotop = true
  1787. integer textsize = -9
  1788. integer weight = 400
  1789. fontcharset fontcharset = gb2312charset!
  1790. fontpitch fontpitch = variable!
  1791. string facename = "宋体"
  1792. long textcolor = 33554432
  1793. string text = "全部"
  1794. boolean sorted = false
  1795. string item[] = {"全部","未设置","已设未审核","审核完毕"}
  1796. borderstyle borderstyle = stylelowered!
  1797. end type
  1798. event selectionchanged;IF Index = 1 THEN
  1799. cur_flag = -1
  1800. cur_ifwrkprice = -1
  1801. ELSEIF Index = 2 THEN
  1802. cur_flag = 0
  1803. cur_ifwrkprice = 0
  1804. ELSEIF Index = 3 THEN
  1805. cur_flag = 0
  1806. cur_ifwrkprice = 1
  1807. ELSEIF Index = 4 THEN
  1808. cur_flag = 1
  1809. cur_ifwrkprice = -1
  1810. END IF
  1811. PARENT.TriggerEvent('retrieve_pageretr')
  1812. end event
  1813. type st_3 from statictext within w_sc_workpricetable
  1814. integer x = 763
  1815. integer y = 208
  1816. integer width = 187
  1817. integer height = 48
  1818. boolean bringtotop = true
  1819. integer textsize = -9
  1820. integer weight = 400
  1821. fontcharset fontcharset = gb2312charset!
  1822. fontpitch fontpitch = variable!
  1823. string facename = "宋体"
  1824. long textcolor = 33554432
  1825. long backcolor = 134217739
  1826. string text = "来 源"
  1827. alignment alignment = right!
  1828. boolean focusrectangle = false
  1829. end type
  1830. type ddlb_mtrlprp from uo_ddlb_mtrlprp within w_sc_workpricetable
  1831. integer x = 1435
  1832. integer y = 192
  1833. integer width = 379
  1834. integer taborder = 60
  1835. boolean bringtotop = true
  1836. end type
  1837. event selectionchanged;call super::selectionchanged;cur_mtrlprp = THIS.uo_mtrlprp
  1838. PARENT.TriggerEvent('ue_usual_query_retr')
  1839. end event
  1840. type tab_1 from tab within w_sc_workpricetable
  1841. integer y = 1280
  1842. integer width = 3543
  1843. integer height = 892
  1844. integer taborder = 40
  1845. boolean bringtotop = true
  1846. integer textsize = -9
  1847. integer weight = 400
  1848. fontcharset fontcharset = gb2312charset!
  1849. fontpitch fontpitch = variable!
  1850. string facename = "宋体"
  1851. long backcolor = 134217739
  1852. boolean raggedright = true
  1853. integer selectedtab = 1
  1854. tabpage_1 tabpage_1
  1855. tabpage_2 tabpage_2
  1856. end type
  1857. on tab_1.create
  1858. this.tabpage_1=create tabpage_1
  1859. this.tabpage_2=create tabpage_2
  1860. this.Control[]={this.tabpage_1,&
  1861. this.tabpage_2}
  1862. end on
  1863. on tab_1.destroy
  1864. destroy(this.tabpage_1)
  1865. destroy(this.tabpage_2)
  1866. end on
  1867. type tabpage_1 from userobject within tab_1
  1868. integer x = 18
  1869. integer y = 96
  1870. integer width = 3506
  1871. integer height = 780
  1872. long backcolor = 134217739
  1873. string text = "工序"
  1874. long tabtextcolor = 33554432
  1875. long tabbackcolor = 134217739
  1876. long picturemaskcolor = 536870912
  1877. dw_1 dw_1
  1878. end type
  1879. on tabpage_1.create
  1880. this.dw_1=create dw_1
  1881. this.Control[]={this.dw_1}
  1882. end on
  1883. on tabpage_1.destroy
  1884. destroy(this.dw_1)
  1885. end on
  1886. type dw_1 from u_dw_rbtnfilter within tabpage_1
  1887. integer width = 3506
  1888. integer height = 780
  1889. integer taborder = 20
  1890. string dataobject = "dw_sc_workpricetable_mx"
  1891. boolean hscrollbar = true
  1892. boolean vscrollbar = true
  1893. boolean hsplitscroll = true
  1894. end type
  1895. event dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key')
  1896. String ls_procode,ls_proname,ls_techlevel,ls_worklevel
  1897. decimal ld_workprice
  1898. Long ls_proid,ll_wrkgrpid
  1899. Dec ls_workhour
  1900. Long child_row
  1901. Long ls_null
  1902. SetNull(ls_null)
  1903. IF dw_edit_mode THEN
  1904. IF KeyDown(Keydownarrow!) THEN
  1905. Long li_row
  1906. IF dw_mx.GetRow() = dw_mx.RowCount() THEN
  1907. PARENT.getparent().getparent().TriggerEvent("insert_childrow")
  1908. END IF
  1909. ELSE
  1910. IF (KeyDown(KeyEnter!) OR KeyDown(KeyTab!)) AND NOT KeyDown(KeyControl!) AND NOT KeyDown(KeyShift!) THEN
  1911. IF dw_mx.GetColumnName() = 'procode' THEN
  1912. dw_mx.AcceptText()
  1913. child_row = dw_mx.GetRow()
  1914. ls_procode = dw_mx.Object.procode[child_row]
  1915. SELECT u_sc_workprocedure.proid,
  1916. u_sc_workprocedure.name,
  1917. u_sc_workprocedure.techlevel,
  1918. u_sc_workprocedure.workhour,
  1919. u_sc_workprocedure.worklevel,
  1920. u_sc_workprocedure.workprice,
  1921. u_sc_workprocedure.wrkgrpid
  1922. INTO :ls_proid,:ls_proname,:ls_techlevel,:ls_workhour,
  1923. :ls_worklevel,:ld_workprice,:ll_wrkgrpid
  1924. FROM u_sc_workprocedure
  1925. Where ( u_sc_workprocedure.code = :ls_procode);
  1926. IF sqlca.SQLCode <> 0 THEN
  1927. dw_mx.Object.proid[child_row] = 0
  1928. dw_mx.Object.u_sc_workprice_proname[child_row] = ''
  1929. dw_mx.Object.techlevel[child_row] = ''
  1930. dw_mx.Object.worklevel[child_row] = ''
  1931. dw_mx.Object.workhour[child_row] = 0
  1932. dw_mx.Object.wrkgrpid[child_row] = 0
  1933. dw_mx.Object.workprice[child_row] = 0
  1934. ELSE
  1935. dw_mx.Object.proid[child_row] = ls_proid
  1936. dw_mx.Object.u_sc_workprice_proname[child_row] = ls_proname
  1937. dw_mx.Object.techlevel[child_row] = ls_techlevel
  1938. dw_mx.Object.worklevel[child_row] = ls_worklevel
  1939. dw_mx.Object.workhour[child_row] = ls_workhour
  1940. dw_mx.Object.wrkgrpid[child_row] = ll_wrkgrpid
  1941. dw_mx.Object.workprice[child_row] = ld_workprice
  1942. END IF
  1943. IF Key = KeyEnter! THEN
  1944. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1945. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1946. RETURN 1
  1947. END IF
  1948. ELSEIF dw_mx.GetColumnName( ) = 'techlevel' AND dw_mx.GetRow() = dw_mx.RowCount() THEN
  1949. PARENT.getparent().getparent().TriggerEvent("insert_childrow")
  1950. RETURN 1
  1951. ELSE
  1952. IF Key = KeyEnter! THEN
  1953. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1954. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1955. RETURN 1
  1956. END IF
  1957. END IF
  1958. END IF
  1959. END IF
  1960. END IF
  1961. //u_mtrldef_mtrlcode
  1962. //u_mtrldef_unit
  1963. //u_inwaremx_mtrlid
  1964. //u_inwaremx_planprice
  1965. //u_inwaremx_price
  1966. //u_mtrldef_mtrlname
  1967. end event
  1968. event doubleclicked;call super::doubleclicked;IF dw_edit_mode THEN
  1969. IF dwo.Name = 'u_sc_workprice_status' THEN
  1970. Parent.GetParent().GetParent().TriggerEvent('ue_f10')
  1971. ELSEIF dwo.Name = 'u_sc_workprice_pricestr' THEN
  1972. Parent.GetParent().GetParent().TriggerEvent('ue_f7')
  1973. ELSE
  1974. Parent.GetParent().GetParent().TriggerEvent('ue_f8')
  1975. END IF
  1976. ELSE
  1977. IF dwo.Name = 'u_sc_workprice_pricestr' THEN
  1978. Parent.GetParent().GetParent().TriggerEvent('ue_f7')
  1979. else
  1980. Parent.GetParent().GetParent().TriggerEvent('ue_f6')
  1981. end if
  1982. END IF
  1983. end event
  1984. event rowfocuschanged;call super::rowfocuschanged;//IF dw_edit_mode THEN RETURN
  1985. Long ll_i
  1986. IF NOT dw_edit_mode THEN
  1987. IF currentrow <= 0 THEN RETURN
  1988. THIS.SelectRow(0,FALSE)
  1989. THIS.SelectRow(currentrow,TRUE)
  1990. ELSE
  1991. IF if_del THEN RETURN
  1992. IF KeyDown(keycontrol!) THEN
  1993. IF NOT THIS.IsSelected(currentrow) THEN
  1994. THIS.SelectRow(currentrow,TRUE)
  1995. if_changeselect = FALSE
  1996. ELSE
  1997. if_changeselect = TRUE
  1998. END IF
  1999. ELSEIF KeyDown(keyshift!) THEN //按下SHIFT键
  2000. IF ll_lastrow = 0 THEN //上次没选中任何行
  2001. THIS.SelectRow(currentrow,TRUE)
  2002. ll_lastrow = currentrow //ll_lastrow为实例变量,记录上次单击的行
  2003. ELSE
  2004. THIS.SelectRow(0,FALSE) //全都不选中
  2005. IF currentrow > ll_lastrow THEN
  2006. FOR ll_i = ll_lastrow TO currentrow
  2007. THIS.SelectRow(ll_i,TRUE)
  2008. NEXT
  2009. ELSE
  2010. FOR ll_i = ll_lastrow TO currentrow STEP -1
  2011. THIS.SelectRow(ll_i,TRUE)
  2012. NEXT
  2013. END IF
  2014. END IF
  2015. ELSE
  2016. THIS.SelectRow(0,FALSE)
  2017. THIS.SelectRow(currentrow,TRUE)
  2018. ll_lastrow = currentrow
  2019. END IF
  2020. parent.triggerevent('ue_allowedit')
  2021. END IF
  2022. end event
  2023. event clicked;call super::clicked;IF row > 0 AND dw_edit_mode THEN
  2024. THIS.SetRow(row)
  2025. IF KeyDown(keycontrol!) THEN
  2026. IF if_changeselect THEN
  2027. THIS.SelectRow(row,NOT THIS.IsSelected(row))
  2028. ELSE
  2029. if_changeselect = TRUE
  2030. END IF
  2031. ll_lastrow = row
  2032. ELSEIF KeyDown(keyshift!) THEN //按下SHIFT键
  2033. // IF ll_lastrow = 0 THEN //上次没选中任何行
  2034. // THIS.SelectRow(row,TRUE)
  2035. // ll_lastrow = currentrow //ll_lastrow为实例变量,记录上次单击的行
  2036. // ELSE
  2037. // THIS.SelectRow(0,FALSE) //全都不选中
  2038. // IF currentrow > ll_lastrow THEN
  2039. // FOR ll_i = ll_lastrow TO currentrow
  2040. // THIS.SelectRow(ll_i,TRUE)
  2041. // NEXT
  2042. // ELSE
  2043. // FOR ll_i = ll_lastrow TO currentrow STEP -1
  2044. // THIS.SelectRow(ll_i,TRUE)
  2045. // NEXT
  2046. // END IF
  2047. // END IF
  2048. ELSE
  2049. THIS.SelectRow(0,FALSE)
  2050. THIS.SelectRow(row,TRUE)
  2051. ll_lastrow = row
  2052. END IF
  2053. END IF
  2054. end event
  2055. event rbuttondown;call super::rbuttondown;IF dw_edit_mode THEN
  2056. Long ll_row,ll_column
  2057. ll_row = THIS.GetRow()
  2058. ll_column = THIS.GetColumn()
  2059. IF ll_row <= 0 THEN RETURN
  2060. IF ll_column <= 0 THEN RETURN
  2061. IF Left( THIS.Describe( dwo.Name+ ".coltype"),4) = 'date' THEN
  2062. s_calender_arg s_calender
  2063. s_calender.PointerX = THIS.PointerX()
  2064. s_calender.PointerY = THIS.PointerY()
  2065. s_calender.X = THIS.X + PARENT.X
  2066. s_calender.Y = THIS.Y + PARENT.Y
  2067. OpenWithParm(w_calendar,s_calender)
  2068. THIS.SetItem(ll_row,ll_column,id_date_selected)
  2069. else
  2070. if Left(dwo.TYPE,4) = 'text' then return
  2071. m_dwchild_rbotton m_print
  2072. m_print = CREATE m_dwchild_rbotton
  2073. m_print.m_0.PopMenu( THIS.X + THIS.PointerX() + 50,tab_1.y + THIS.Y + THIS.PointerY() + 50)
  2074. END IF
  2075. END IF
  2076. end event
  2077. type tabpage_2 from userobject within tab_1
  2078. integer x = 18
  2079. integer y = 96
  2080. integer width = 3506
  2081. integer height = 780
  2082. long backcolor = 134217739
  2083. string text = "全套工价"
  2084. long tabtextcolor = 33554432
  2085. long tabbackcolor = 134217739
  2086. long picturemaskcolor = 536870912
  2087. dw_2 dw_2
  2088. end type
  2089. on tabpage_2.create
  2090. this.dw_2=create dw_2
  2091. this.Control[]={this.dw_2}
  2092. end on
  2093. on tabpage_2.destroy
  2094. destroy(this.dw_2)
  2095. end on
  2096. type dw_2 from u_dw_rbtnfilter within tabpage_2
  2097. integer width = 3506
  2098. integer height = 780
  2099. integer taborder = 20
  2100. string dataobject = "dw_sc_workpricetable_mx_mx"
  2101. boolean hscrollbar = true
  2102. boolean vscrollbar = true
  2103. boolean hsplitscroll = true
  2104. boolean rbutton_filter_use = true
  2105. boolean titleclick_sort_use = true
  2106. end type
  2107. event rowfocuschanged;call super::rowfocuschanged;IF currentrow <=0 THEN RETURN
  2108. this.selectrow(0,false)
  2109. this.selectrow(currentrow,true)
  2110. end event
  2111. event doubleclicked;call super::doubleclicked;IF NOT dw_edit_mode THEN
  2112. PARENT.GetParent().GetParent().TriggerEvent('ue_f12')
  2113. END IF
  2114. end event
  2115. type cb_1 from commandbutton within w_sc_workpricetable
  2116. integer x = 485
  2117. integer y = 1280
  2118. integer width = 297
  2119. integer height = 80
  2120. integer taborder = 40
  2121. boolean bringtotop = true
  2122. integer textsize = -9
  2123. integer weight = 400
  2124. fontcharset fontcharset = gb2312charset!
  2125. fontpitch fontpitch = variable!
  2126. string facename = "宋体"
  2127. string text = "设定工时"
  2128. end type
  2129. event clicked;PARENT.TriggerEvent('ue_workhour_mod')
  2130. end event
  2131. type cb_2 from commandbutton within w_sc_workpricetable
  2132. integer x = 818
  2133. integer y = 1280
  2134. integer width = 384
  2135. integer height = 80
  2136. integer taborder = 40
  2137. boolean bringtotop = true
  2138. integer textsize = -9
  2139. integer weight = 400
  2140. fontcharset fontcharset = gb2312charset!
  2141. fontpitch fontpitch = variable!
  2142. string facename = "宋体"
  2143. string text = "设定工序序号"
  2144. end type
  2145. event clicked;PARENT.TriggerEvent('ue_proorder_mod')
  2146. end event