w_fx_saletaskmx_sel.srw 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298
  1. $PBExportHeader$w_fx_saletaskmx_sel.srw
  2. forward
  3. global type w_fx_saletaskmx_sel from w_publ_base_style
  4. end type
  5. type cb_refresh from uo_imflatbutton within w_fx_saletaskmx_sel
  6. end type
  7. type cb_select from uo_imflatbutton within w_fx_saletaskmx_sel
  8. end type
  9. type st_1 from statictext within w_fx_saletaskmx_sel
  10. end type
  11. type dw_fx_saletaskmx from u_dw_rbtnfilter within w_fx_saletaskmx_sel
  12. end type
  13. type cbx_all from checkbox within w_fx_saletaskmx_sel
  14. end type
  15. end forward
  16. global type w_fx_saletaskmx_sel from w_publ_base_style
  17. integer x = 2002
  18. integer y = 500
  19. integer width = 3511
  20. integer height = 2428
  21. string title = "订单明细选择"
  22. boolean minbox = false
  23. windowtype windowtype = response!
  24. string icon = "AppIcon!"
  25. boolean if_ue_retr = true
  26. boolean if_ue_filter = true
  27. boolean if_ue_sort = true
  28. boolean if_ue_sentdataout = true
  29. cb_refresh cb_refresh
  30. cb_select cb_select
  31. st_1 st_1
  32. dw_fx_saletaskmx dw_fx_saletaskmx
  33. cbx_all cbx_all
  34. end type
  35. global w_fx_saletaskmx_sel w_fx_saletaskmx_sel
  36. type variables
  37. Long ins_cuscomid
  38. end variables
  39. forward prototypes
  40. public subroutine wf_retrieve_mx ()
  41. end prototypes
  42. public subroutine wf_retrieve_mx ();string arg_msg
  43. long i,row
  44. oleobject request,response,mxs,item
  45. request = FXAppCom.CreatePbDictionary()
  46. request.SetString('token', app_token_fx)
  47. request.SetInt('cuscomid',ins_cuscomid)
  48. response = FXAppCom.DoExecute('GetSaletaskmxSelect', request)
  49. arg_msg = response.GetString('ErrMsg')
  50. if (arg_msg <> '') then
  51. messagebox('提示', '获取订单明细失败,原因:' + arg_msg)
  52. return
  53. end if
  54. dw_fx_saletaskmx.Reset()
  55. dw_fx_saletaskmx.SetRedraw(false)
  56. mxs = response.GetArrOfPBDictionary('mxs')
  57. Datetime ld_now,requiredate
  58. ld_now = DateTime(Today(),Now())
  59. for i = 1 to mxs.Count
  60. item = mxs.GetItem(i - 1)
  61. row = dw_fx_saletaskmx.InsertRow(0)
  62. dw_fx_saletaskmx.Object.taskid[row] = item.GetInt('taskid')
  63. dw_fx_saletaskmx.Object.printid[row] = item.GetInt('printid')
  64. dw_fx_saletaskmx.Object.mxcode[row] = item.GetString('mxcode')
  65. dw_fx_saletaskmx.Object.fxmtrlid[row] = item.GetInt('fxmtrlid')
  66. dw_fx_saletaskmx.Object.mtrlid[row] = item.GetInt('mtrlid')
  67. dw_fx_saletaskmx.Object.mtrlcode[row] = item.GetString('mtrlcode')
  68. dw_fx_saletaskmx.Object.mtrlname[row] = item.GetString('mtrlname')
  69. dw_fx_saletaskmx.Object.mtrlmode[row] = item.GetString('mtrlmode')
  70. dw_fx_saletaskmx.Object.status[row] = item.GetString('status')
  71. dw_fx_saletaskmx.Object.woodcode[row] = item.GetString('woodcode')
  72. dw_fx_saletaskmx.Object.pcode[row] = item.GetString('pcode')
  73. dw_fx_saletaskmx.Object.qty[row] = item.GetDouble('qty')
  74. dw_fx_saletaskmx.Object.qty_wait[row] = item.GetDouble('qtyWait')
  75. dw_fx_saletaskmx.Object.cus_receiveqty[row] = item.GetDouble('cus_receiveqty')
  76. dw_fx_saletaskmx.Object.price[row] = item.GetDouble('price')
  77. dw_fx_saletaskmx.Object.mxdscrp[row] = item.GetString('mxdscrp')
  78. dw_fx_saletaskmx.Object.mxdscrp2[row] = item.GetString('mxdscrp2')
  79. dw_fx_saletaskmx.Object.mtrlcuscode[row] = item.GetString('mtrlcuscode')
  80. dw_fx_saletaskmx.Object.plancode[row] = item.GetString('plancode')
  81. dw_fx_saletaskmx.Object.cus_mtrldef_senddays[row] = item.GetDouble('cus_mtrldef_senddays')
  82. dw_fx_saletaskmx.SetItem(i, 'earliestsenddate', item.GetDateTime('earliestSendDate'))
  83. dw_fx_saletaskmx.Object.saletask_mxid[row] = item.GetInt('saletask_mxid')
  84. requiredate = item.GetDateTime('requiredate')
  85. if (not IsNull(requiredate)) then
  86. dw_fx_saletaskmx.Object.requiredate[row] = requiredate
  87. end if
  88. dw_fx_saletaskmx.Object.qty_ready[row] = item.GetDouble('qty_ready')
  89. dw_fx_saletaskmx.Object.outqty[row] = item.GetDouble('qty') - item.GetDouble('cus_receiveqty') - item.GetDouble('qtyWait') - item.GetDouble('stopQty')
  90. dw_fx_saletaskmx.Object.tid[row] = item.GetString('tid')
  91. dw_fx_saletaskmx.Object.taskcode[row] = item.GetString('taskcode')
  92. dw_fx_saletaskmx.Object.unit[row] = item.GetString("unit")
  93. dw_fx_saletaskmx.Object.advanceday[row] = item.GetInt("advanceday")
  94. dw_fx_saletaskmx.Object.date_confirm_flag[row] = item.GetInt("date_confirm_flag")
  95. dw_fx_saletaskmx.Object.billtype[row] = item.GetInt('billtype')
  96. dw_fx_saletaskmx.Object.storagename[row] = item.GetString('storagename')
  97. dw_fx_saletaskmx.Object.relcodestr[row] = item.GetString('relcodestr')
  98. dw_fx_saletaskmx.Object.taskcodestr[row] = item.GetString('taskcodestr')
  99. dw_fx_saletaskmx.Object.sys_option_taskplancode[row] = item.GetInt('sys_option_taskplancode')
  100. dw_fx_saletaskmx.Object.ifplancode_ware[row] = item.GetInt('ifplancode_ware')
  101. dw_fx_saletaskmx.Object.storage_plancode_rule_buy[row] = item.GetInt('storage_plancode_rule_buy')
  102. dw_fx_saletaskmx.Object.mtrldef_plancode_rule_buy[row] = item.GetInt('mtrldef_plancode_rule_buy')
  103. // dw_fx_saletaskmx.Modify("DataWindow.Color = 23")
  104. next
  105. dw_fx_saletaskmx.SetRedraw(true)
  106. end subroutine
  107. on w_fx_saletaskmx_sel.create
  108. int iCurrent
  109. call super::create
  110. this.cb_refresh=create cb_refresh
  111. this.cb_select=create cb_select
  112. this.st_1=create st_1
  113. this.dw_fx_saletaskmx=create dw_fx_saletaskmx
  114. this.cbx_all=create cbx_all
  115. iCurrent=UpperBound(this.Control)
  116. this.Control[iCurrent+1]=this.cb_refresh
  117. this.Control[iCurrent+2]=this.cb_select
  118. this.Control[iCurrent+3]=this.st_1
  119. this.Control[iCurrent+4]=this.dw_fx_saletaskmx
  120. this.Control[iCurrent+5]=this.cbx_all
  121. end on
  122. on w_fx_saletaskmx_sel.destroy
  123. call super::destroy
  124. destroy(this.cb_refresh)
  125. destroy(this.cb_select)
  126. destroy(this.st_1)
  127. destroy(this.dw_fx_saletaskmx)
  128. destroy(this.cbx_all)
  129. end on
  130. event resize;call super::resize;r_bar.height = this.height
  131. dw_fx_saletaskmx.width = this.workspacewidth()
  132. dw_fx_saletaskmx.height = this.workspaceheight() - dw_fx_saletaskmx.y
  133. end event
  134. event open;call super::open;ins_cuscomid = Message.DoubleParm
  135. wf_movetocenter()
  136. wf_retrieve_mx()
  137. end event
  138. type cb_func from w_publ_base_style`cb_func within w_fx_saletaskmx_sel
  139. boolean visible = false
  140. end type
  141. type cb_exit from w_publ_base_style`cb_exit within w_fx_saletaskmx_sel
  142. integer x = 343
  143. end type
  144. type ln_bar from w_publ_base_style`ln_bar within w_fx_saletaskmx_sel
  145. end type
  146. type ln_bar2 from w_publ_base_style`ln_bar2 within w_fx_saletaskmx_sel
  147. end type
  148. type r_bar from w_publ_base_style`r_bar within w_fx_saletaskmx_sel
  149. end type
  150. type cb_refresh from uo_imflatbutton within w_fx_saletaskmx_sel
  151. integer width = 151
  152. integer height = 164
  153. integer taborder = 10
  154. boolean bringtotop = true
  155. string text = "刷新"
  156. string normalpicname = "refresh.bmp"
  157. integer picsize = 16
  158. toolbaralignment pic_align = alignattop!
  159. boolean border = false
  160. end type
  161. event clicked;call super::clicked;wf_retrieve_mx()
  162. end event
  163. type cb_select from uo_imflatbutton within w_fx_saletaskmx_sel
  164. integer x = 165
  165. integer width = 165
  166. integer height = 164
  167. integer taborder = 10
  168. boolean bringtotop = true
  169. string text = "选定"
  170. string normalpicname = "ok.bmp"
  171. integer picsize = 16
  172. toolbaralignment pic_align = alignattop!
  173. boolean border = false
  174. end type
  175. event clicked;call super::clicked;datastore ds
  176. ds = create datastore
  177. ds.DataObject = 'dw_fx_saletaskmx_sel'
  178. //返回选择数据
  179. long i,row
  180. string ls_findstr
  181. ds.Reset()
  182. dw_fx_saletaskmx.AcceptText()
  183. for i = 1 to dw_fx_saletaskmx.RowCount()
  184. row = 0
  185. if dw_fx_saletaskmx.Object.ch[i] = 1 then
  186. // ls_findstr = " requiredate < DateTime('" + string (dw_fx_saletaskmx.Object.requiredate[i]) + "') AND ch = 0 AND mtrlcode = '" + string(dw_fx_saletaskmx.Object.mtrlcode[i]) + "'"
  187. // IF dw_fx_saletaskmx.Find(ls_findstr,1,dw_fx_saletaskmx.RowCount()) > 0 THEN
  188. // MessageBox('提示', '物料:【'+ string(dw_fx_saletaskmx.Object.mtrlname[i]) +'】存在更早的要求交期批次, 请按先后顺序选择发货!')
  189. // return
  190. // END IF
  191. row++
  192. dw_fx_saletaskmx.RowsCopy(i, i, Primary!, ds, row, Primary!)
  193. end if
  194. next
  195. CloseWithReturn(PARENT, ds)
  196. end event
  197. type st_1 from statictext within w_fx_saletaskmx_sel
  198. integer x = 818
  199. integer y = 48
  200. integer width = 1440
  201. integer height = 68
  202. boolean bringtotop = true
  203. integer textsize = -9
  204. integer weight = 700
  205. fontcharset fontcharset = gb2312charset!
  206. fontpitch fontpitch = variable!
  207. string facename = "宋体"
  208. long textcolor = 16711680
  209. long backcolor = 67108864
  210. string text = "提示:红色表示最早交货日期大于当前日期或交期未定"
  211. boolean focusrectangle = false
  212. end type
  213. type dw_fx_saletaskmx from u_dw_rbtnfilter within w_fx_saletaskmx_sel
  214. integer y = 188
  215. integer width = 3515
  216. integer height = 2140
  217. integer taborder = 20
  218. boolean bringtotop = true
  219. string dataobject = "dw_fx_saletaskmx_sel"
  220. boolean hscrollbar = true
  221. boolean vscrollbar = true
  222. boolean rbutton_filter_use = true
  223. boolean rbutton_setposition_use = true
  224. boolean titleclick_sort_use = true
  225. end type
  226. event clicked;call super::clicked;if (row > 0) then
  227. this.SelectRow(0, false)
  228. this.SelectRow(row, true)
  229. end if
  230. end event
  231. type cbx_all from checkbox within w_fx_saletaskmx_sel
  232. integer x = 517
  233. integer y = 48
  234. integer width = 251
  235. integer height = 60
  236. boolean bringtotop = true
  237. integer textsize = -9
  238. integer weight = 400
  239. fontcharset fontcharset = gb2312charset!
  240. fontpitch fontpitch = variable!
  241. string facename = "宋体"
  242. long backcolor = 67108864
  243. string text = "全选"
  244. end type
  245. event clicked;long ll_i, ll_checked
  246. IF cbx_all.Checked THEN
  247. ll_checked = 1
  248. ELSE
  249. ll_checked = 0
  250. END IF
  251. FOR ll_i = 1 TO dw_fx_saletaskmx.RowCount()
  252. IF dw_fx_saletaskmx.Object.earliestsenddate[ll_i] > DateTime(today(), now()) OR dw_fx_saletaskmx.Object.date_confirm_flag[ll_i] = 0 THEN CONTINUE
  253. dw_fx_saletaskmx.Object.ch[ll_i] = ll_checked
  254. NEXT
  255. end event