w_buytask_mtrl_his_ch.srw 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322
  1. $PBExportHeader$w_buytask_mtrl_his_ch.srw
  2. forward
  3. global type w_buytask_mtrl_his_ch from w_pageretr_ch2
  4. end type
  5. end forward
  6. global type w_buytask_mtrl_his_ch from w_pageretr_ch2
  7. string title = "采购订货历史价格选择 [按Ctrl键反选]"
  8. end type
  9. global w_buytask_mtrl_his_ch w_buytask_mtrl_his_ch
  10. type variables
  11. s_buytaskmx_arr INS_RT_STRU
  12. //Int if_mlselect = 0
  13. //Boolean if_changeselect = TRUE
  14. long ll_cusid = 0
  15. end variables
  16. on w_buytask_mtrl_his_ch.create
  17. call super::create
  18. end on
  19. on w_buytask_mtrl_his_ch.destroy
  20. call super::destroy
  21. end on
  22. event close;call super::close;cLOSEWITHRETURN(THIS,INS_RT_STRU)
  23. //<INS_RT_STRU> 窗体级子定义结构变量,用于返回
  24. end event
  25. event ue_usual_query_filt;call super::ue_usual_query_filt;String obj_expr = ''
  26. IF Trim(sle_usual_query.Text) <> '' THEN
  27. IF Pos(Trim(sle_usual_query.Text),'%') = 0 THEN
  28. obj_expr = obj_expr+'( u_mtrldef_mtrlcode LIKE "%'+Trim(sle_usual_query.Text)+'%" )'
  29. ELSE
  30. obj_expr = obj_expr+'( u_mtrldef_mtrlcode LIKE "'+Trim(sle_usual_query.Text)+'" )'
  31. END IF
  32. END IF
  33. dw_pageretr.SetFilter(obj_expr)
  34. dw_pageretr.SetRedraw(False)
  35. dw_pageretr.Filter()
  36. IF dw_pageretr.RowCount() >= 1 THEN
  37. dw_pageretr.SelectRow(0,False)
  38. dw_pageretr.SelectRow(1,True )
  39. END IF
  40. dw_pageretr.SetRedraw(True )
  41. end event
  42. event ue_usual_query_retr;call super::ue_usual_query_retr;String ls_querystrpart = ''
  43. ls_newselect = Lower(ori_oldselect)
  44. IF Trim(sle_usual_query.Text) <> '' THEN
  45. IF Pos(Trim(sle_usual_query.Text),'%') = 0 THEN
  46. ls_querystrpart = "u_mtrldef.mtrlcode like '%"+Trim(sle_usual_query.Text)+"%'"
  47. ELSE
  48. ls_querystrpart = "u_mtrldef.mtrlcode like '"+Trim(sle_usual_query.Text)+"'"
  49. END IF
  50. IF Pos(ls_newselect," where ") <> 0 THEN
  51. ls_newselect = ls_newselect+" AND ("+ls_querystrpart+')'
  52. ELSE
  53. ls_newselect = ls_newselect+" where ("+ls_querystrpart+')'
  54. END IF
  55. END IF
  56. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  57. This.TriggerEvent('retrieve_pageretr')
  58. end event
  59. event retrieve_pageretr;Boolean cb_firstpage_enabled,cb_nextpage_enabled,cb_retrieveall_enabled
  60. Boolean cb_priorpage_enabled,cb_func_enabled,cb_retrieve_enabled
  61. cb_nextpage_enabled = cb_nextpage.Enabled
  62. cb_retrieveall_enabled = cb_retrieveall.Enabled
  63. cb_func_enabled = cb_func.Enabled
  64. cb_nextpage.Enabled = False
  65. cb_retrieveall.Enabled = False
  66. cb_func.Enabled = False
  67. SetPointer(HourGlass!)
  68. dw_pageretr.Retrieve(ll_cusid)
  69. IF dw_pageretr.RowCount() > 0 And dw_pageretr.GetRow() = 0 THEN dw_pageretr.SetRow(1)
  70. SetPointer(Arrow!)
  71. cb_nextpage.Enabled = cb_nextpage_enabled
  72. cb_retrieveall.Enabled = cb_retrieveall_enabled
  73. cb_func.Enabled = cb_func_enabled
  74. IF cbx_mlselect.Checked And dw_pageretr.RowCount() > 1 THEN
  75. dw_pageretr.SelectRow(1,False)
  76. END IF
  77. end event
  78. event open;this.triggerevent('ue_before_open')
  79. wf_movetocenter()
  80. OLD_TITLE=THIS.TITLE
  81. s_tran=Message.PowerObjectParm
  82. IF not ISNULL(s_tran) then
  83. retrieve_all=s_tran.if_retrieve_all
  84. mode=s_tran.work_mode
  85. arg_pkid=s_tran.arg_pkid
  86. arg_string_code=s_tran.arg_string_code
  87. if_sharedata=s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效
  88. ds_share=s_tran.ds_share
  89. ll_cusid = s_tran.d_long
  90. end if
  91. dw_pageretr.RBUTTON_FILTER_USE=true //右键查询功能开关
  92. dw_pageretr.titleclick_sort_use=true //单击标题排序功能开关
  93. dw_pageretr.SetTransObject (sqlca)
  94. pkcolumndbtname=wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字
  95. ori_oldselect=dw_pageretr.Describe("DataWindow.Table.Select")
  96. ls_newselect=ori_oldselect
  97. ds_curquery=CREATE DATASTORE
  98. ds_curquery.DATAOBJECT='d_extr_find'
  99. ds_curquery.SetTransObject (sqlca)
  100. wf_editindex_lockf()
  101. s_hide_col s_col_mtrlsectype
  102. s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype'
  103. f_hide_col(1308,dw_pageretr,s_col_mtrlsectype)
  104. s_hide_col s_col_zxmtrlmode
  105. s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode'
  106. f_hide_col(1309,dw_pageretr,s_col_zxmtrlmode)
  107. sle_usual_query.text=trim(arg_string_code)
  108. IF Not retrieve_all THEN
  109. This.TriggerEvent("ue_usual_query_RETR") //修改ls_newselect,retrieve
  110. ELSE
  111. IF if_sharedata THEN
  112. ds_share.ShareData(dw_pageretr)
  113. ELSE
  114. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  115. This.TriggerEvent('RETRIEVE_pageretr')
  116. END IF
  117. END IF
  118. IF retrieve_all THEN
  119. THIS.TRIGGEREVENT("ue_usual_query_filt")
  120. END IF
  121. dw_choice.SetTransObject(sqlca)
  122. wf_face_change()
  123. end event
  124. type cb_func from w_pageretr_ch2`cb_func within w_buytask_mtrl_his_ch
  125. end type
  126. type cb_exit from w_pageretr_ch2`cb_exit within w_buytask_mtrl_his_ch
  127. end type
  128. type sle_usual_query from w_pageretr_ch2`sle_usual_query within w_buytask_mtrl_his_ch
  129. integer x = 343
  130. integer y = 184
  131. end type
  132. type cb_retrieveall from w_pageretr_ch2`cb_retrieveall within w_buytask_mtrl_his_ch
  133. integer x = 1074
  134. end type
  135. type em_pagerowno from w_pageretr_ch2`em_pagerowno within w_buytask_mtrl_his_ch
  136. integer x = 768
  137. integer y = 32
  138. end type
  139. type dw_pageretr from w_pageretr_ch2`dw_pageretr within w_buytask_mtrl_his_ch
  140. integer width = 3589
  141. integer height = 1056
  142. string dataobject = "dw_buytask_mtrl_his_ch"
  143. boolean rbutton_filter_use = true
  144. boolean rbutton_setposition_use = true
  145. boolean titleclick_sort_use = true
  146. end type
  147. type st_1 from w_pageretr_ch2`st_1 within w_buytask_mtrl_his_ch
  148. integer x = 18
  149. end type
  150. type cb_nextpage from w_pageretr_ch2`cb_nextpage within w_buytask_mtrl_his_ch
  151. integer x = 1225
  152. end type
  153. type cb_choice from w_pageretr_ch2`cb_choice within w_buytask_mtrl_his_ch
  154. end type
  155. event cb_choice::clicked;call super::clicked;Long ROW,ls_i = 0,chC = 0
  156. datawindow dw
  157. IF cbx_ml.Checked THEN
  158. dw = dw_pageretr
  159. ROW = dw.GetRow()
  160. IF ROW <= 0 THEN
  161. MessageBox('提示','请先选择目标行!', Information!, OK! )
  162. RETURN
  163. END IF
  164. ELSE
  165. dw = dw_choice
  166. dw.AcceptText()
  167. ROW = dw.RowCount()
  168. IF ROW <= 0 THEN
  169. MessageBox('提示','请先选择缓冲目标!', Information!, OK! )
  170. RETURN
  171. END IF
  172. END IF
  173. FOR ls_i = 1 To dw.RowCount()
  174. IF not cbx_ml.Checked or dw.IsSelected(ls_i) THEN
  175. chC++
  176. INS_RT_STRU.mtrlid[chC]=dw.OBJECT.u_spt_price_mtrlid[ls_i]
  177. INS_RT_STRU.mtrlcode[chC]=dw.OBJECT.u_mtrldef_mtrlcode[ls_i]
  178. INS_RT_STRU.mtrlname[chC]=dw.OBJECT.u_mtrldef_mtrlname[ls_i]
  179. INS_RT_STRU.mtrlmode[chC]=dw.OBJECT.u_mtrldef_mtrlmode[ls_i]
  180. INS_RT_STRU.unit[chC]=dw.OBJECT.u_spt_price_unit[ls_i]
  181. INS_RT_STRU.price[chC]=dw.OBJECT.u_spt_price_price[ls_i]
  182. INS_RT_STRU.rebate[chC]=dw.OBJECT.u_spt_price_zqrate[ls_i]
  183. INS_RT_STRU.status[chC]=dw.OBJECT.u_spt_price_status[ls_i]
  184. INS_RT_STRU.woodcode[chC]=dw.OBJECT.u_spt_price_woodcode[ls_i]
  185. INS_RT_STRU.pcode[chC]=dw.OBJECT.u_spt_price_pcode[ls_i]
  186. INS_RT_STRU.mtrlsectype[chC]=dw.OBJECT.u_mtrldef_mtrlsectype[ls_i]
  187. INS_RT_STRU.zxmtrlmode[chC]=dw.OBJECT.u_mtrldef_zxmtrlmode[ls_i]
  188. INS_RT_STRU.mtrltype[chC]=dw.OBJECT.u_mtrldef_mtrltype[ls_i]
  189. // INS_RT_STRU.rate[chC]=dw.OBJECT.u_spt_price_rate[ls_i]
  190. // INS_RT_STRU.mxdscrp[chC]=dw.OBJECT.u_spt_price_dscrp[ls_i]
  191. // INS_RT_STRU.net_weight[chC]=dw.OBJECT.u_mtrldef_net_weight[ls_i]
  192. // INS_RT_STRU.gross_weight[chC]=dw.OBJECT.u_mtrldef_gross_weight[ls_i]
  193. // INS_RT_STRU.cubage[chC]=dw.OBJECT.u_mtrldef_cubage[ls_i]
  194. END IF
  195. NEXT
  196. IF chC = 0 THEN
  197. MessageBox('提示','请至少选择一个目标行!', Information!, OK! )
  198. RETURN
  199. END IF
  200. CLOSE(PARENT)
  201. end event
  202. type cb_refresh from w_pageretr_ch2`cb_refresh within w_buytask_mtrl_his_ch
  203. end type
  204. type cb_help from w_pageretr_ch2`cb_help within w_buytask_mtrl_his_ch
  205. end type
  206. type ln_bar from w_pageretr_ch2`ln_bar within w_buytask_mtrl_his_ch
  207. end type
  208. type ln_bar2 from w_pageretr_ch2`ln_bar2 within w_buytask_mtrl_his_ch
  209. end type
  210. type r_bar from w_pageretr_ch2`r_bar within w_buytask_mtrl_his_ch
  211. end type
  212. type ln_1 from w_pageretr_ch2`ln_1 within w_buytask_mtrl_his_ch
  213. end type
  214. type ln_2 from w_pageretr_ch2`ln_2 within w_buytask_mtrl_his_ch
  215. end type
  216. type cbx_ml from w_pageretr_ch2`cbx_ml within w_buytask_mtrl_his_ch
  217. end type
  218. type cb_ok from w_pageretr_ch2`cb_ok within w_buytask_mtrl_his_ch
  219. end type
  220. event cb_ok::clicked;call super::clicked;Long ROW,ls_i,chC = 0
  221. ROW = dw_pageretr.GetRow()
  222. IF ROW <= 0 THEN
  223. MessageBox('提示','请先选择目标行!', Information!, OK! )
  224. RETURN
  225. END IF
  226. FOR ls_i = 1 To dw_pageretr.RowCount()
  227. IF dw_pageretr.IsSelected(ls_i) THEN
  228. IF dw_choice.Find('u_spt_price_mtrlid ='+String(dw_pageretr.Object.u_spt_price_mtrlid[ls_i]),1,dw_choice.RowCount()) = 0 THEN
  229. chC++
  230. dw_pageretr.RowsCopy(ls_i, ls_i, Primary!, dw_choice, dw_choice.RowCount() + 1, Primary!)
  231. END IF
  232. END IF
  233. NEXT
  234. end event
  235. type cb_del from w_pageretr_ch2`cb_del within w_buytask_mtrl_his_ch
  236. end type
  237. type cbx_mlselect from w_pageretr_ch2`cbx_mlselect within w_buytask_mtrl_his_ch
  238. end type
  239. type dw_choice from w_pageretr_ch2`dw_choice within w_buytask_mtrl_his_ch
  240. string dataobject = "dw_buytask_mtrl_his_ch"
  241. end type
  242. type cbx_allselect from w_pageretr_ch2`cbx_allselect within w_buytask_mtrl_his_ch
  243. end type