w_ljmail_revmsg.srw 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304
  1. $PBExportHeader$w_ljmail_revmsg.srw
  2. forward
  3. global type w_ljmail_revmsg from w_publ_base
  4. end type
  5. type dw_1 from u_dw_rbtnfilter within w_ljmail_revmsg
  6. end type
  7. type cb_rev from uo_imflatbutton within w_ljmail_revmsg
  8. end type
  9. type cb_refresh from uo_imflatbutton within w_ljmail_revmsg
  10. end type
  11. type r_bar from rectangle within w_ljmail_revmsg
  12. end type
  13. type ln_bar from line within w_ljmail_revmsg
  14. end type
  15. type ln_bar2 from line within w_ljmail_revmsg
  16. end type
  17. end forward
  18. global type w_ljmail_revmsg from w_publ_base
  19. integer width = 3168
  20. integer height = 2060
  21. string title = "接收龙嘉邮件"
  22. event ue_retrieve ( )
  23. dw_1 dw_1
  24. cb_rev cb_rev
  25. cb_refresh cb_refresh
  26. r_bar r_bar
  27. ln_bar ln_bar
  28. ln_bar2 ln_bar2
  29. end type
  30. global w_ljmail_revmsg w_ljmail_revmsg
  31. type variables
  32. Transaction Commit_Tran
  33. Transaction fj_tran
  34. end variables
  35. event ue_retrieve();Int rslt = 1
  36. String arg_msg
  37. String ls_ljmail
  38. uo_ljmail_msg uo_ljmail
  39. uo_ljmail = Create uo_ljmail_msg
  40. uo_ljmail.commit_transaction = fj_tran
  41. IF uo_ljmail.uf_getljmail(ls_ljmail, arg_msg) <> 1 THEN
  42. rslt = 0
  43. GOTO ext
  44. END IF
  45. dw_1.Retrieve(ls_ljmail)
  46. Long i
  47. String ls_id
  48. String htmlbody
  49. Long Len
  50. Long cnt
  51. FOR i = 1 To dw_1.RowCount()
  52. ls_id = dw_1.Object.ljfieb_packet_serialnum[i]
  53. SELECT count(0)
  54. INTO :cnt
  55. FROM LJFIEB_ljmail_fj
  56. WHERE SerialNum = :ls_id
  57. Using fj_tran;
  58. IF fj_tran.SQLCode <> 0 THEN
  59. rslt = 0
  60. arg_msg = '查询附件数失败,' + fj_tran.SQLErrText
  61. GOTO ext
  62. END IF
  63. dw_1.Object.fjcnt[i] = cnt
  64. SELECT datalength(htmlbody)
  65. INTO :Len
  66. FROM LJFIEB_ljmail_msg
  67. WHERE SerialNum = :ls_id
  68. Using fj_tran;
  69. IF fj_tran.SQLCode <> 0 THEN
  70. rslt = 0
  71. arg_msg = '查询正文长度失败,' + fj_tran.SQLErrText
  72. GOTO ext
  73. END IF
  74. SELECT substring(htmlbody, 1, 100)
  75. INTO :htmlbody
  76. FROM LJFIEB_ljmail_msg
  77. WHERE SerialNum = :ls_id
  78. Using fj_tran;
  79. IF fj_tran.SQLCode <> 0 THEN
  80. rslt = 0
  81. arg_msg = '查询正文失败,' + fj_tran.SQLErrText
  82. GOTO ext
  83. END IF
  84. IF Len > 100 THEN
  85. htmlbody = htmlbody + '...'
  86. END IF
  87. dw_1.Object.htmlbody[i] = htmlbody
  88. NEXT
  89. ext:
  90. Destroy uo_ljmail
  91. IF rslt = 0 THEN
  92. MessageBox('系统错误', arg_msg, stopsign!)
  93. END IF
  94. end event
  95. on w_ljmail_revmsg.create
  96. int iCurrent
  97. call super::create
  98. this.dw_1=create dw_1
  99. this.cb_rev=create cb_rev
  100. this.cb_refresh=create cb_refresh
  101. this.r_bar=create r_bar
  102. this.ln_bar=create ln_bar
  103. this.ln_bar2=create ln_bar2
  104. iCurrent=UpperBound(this.Control)
  105. this.Control[iCurrent+1]=this.dw_1
  106. this.Control[iCurrent+2]=this.cb_rev
  107. this.Control[iCurrent+3]=this.cb_refresh
  108. this.Control[iCurrent+4]=this.r_bar
  109. this.Control[iCurrent+5]=this.ln_bar
  110. this.Control[iCurrent+6]=this.ln_bar2
  111. end on
  112. on w_ljmail_revmsg.destroy
  113. call super::destroy
  114. destroy(this.dw_1)
  115. destroy(this.cb_rev)
  116. destroy(this.cb_refresh)
  117. destroy(this.r_bar)
  118. destroy(this.ln_bar)
  119. destroy(this.ln_bar2)
  120. end on
  121. event resize;call super::resize;r_bar.Width = This.Width
  122. ln_bar.EndX = This.Width
  123. ln_bar2.EndX = This.Width
  124. dw_1.Width = This.WorkSpaceWidth() - dw_1.X
  125. dw_1.Height = This.WorkSpaceHeight() - dw_1.Y
  126. end event
  127. event open;call super::open;Long ll_ConnectionID
  128. String arg_msg
  129. Commit_Tran = sqlca
  130. IF sys_email_sqlca.DBHandle() > 0 THEN
  131. fj_tran = sys_email_sqlca
  132. ELSE
  133. MessageBox('系统提示','要使用邮件功能,请先定义邮件数据库')
  134. cb_exit.PostEvent(Clicked!)
  135. RETURN
  136. END IF
  137. dw_1.SetTransObject(fj_tran)
  138. end event
  139. type cb_func from w_publ_base`cb_func within w_ljmail_revmsg
  140. boolean visible = false
  141. end type
  142. type cb_exit from w_publ_base`cb_exit within w_ljmail_revmsg
  143. integer x = 311
  144. integer width = 151
  145. integer height = 164
  146. integer picsize = 16
  147. toolbaralignment pic_align = alignattop!
  148. boolean border = false
  149. end type
  150. type dw_1 from u_dw_rbtnfilter within w_ljmail_revmsg
  151. integer y = 184
  152. integer width = 3378
  153. integer height = 952
  154. integer taborder = 40
  155. boolean bringtotop = true
  156. string dataobject = "dw_ljmail_revmsg"
  157. boolean hscrollbar = true
  158. boolean vscrollbar = true
  159. boolean hsplitscroll = true
  160. boolean rbutton_filter_use = true
  161. end type
  162. event clicked;call super::clicked;IF row <= 0 THEN RETURN
  163. This.SetRow(row)
  164. end event
  165. event rowfocuschanged;call super::rowfocuschanged;This.SelectRow(0, False)
  166. IF currentrow > 0 THEN
  167. This.SelectRow(currentrow, True)
  168. END IF
  169. end event
  170. type cb_rev from uo_imflatbutton within w_ljmail_revmsg
  171. integer width = 151
  172. integer height = 164
  173. integer taborder = 100
  174. boolean bringtotop = true
  175. string text = "接收"
  176. string normalpicname = "OPEN.BMP"
  177. integer picsize = 16
  178. toolbaralignment pic_align = alignattop!
  179. boolean border = false
  180. end type
  181. event clicked;call super::clicked;Int rslt = 1
  182. Long ll_row
  183. String arg_msg
  184. uo_ljmail_msg uo_ljmail
  185. uo_ljmail = Create uo_ljmail_msg
  186. uo_ljmail.commit_transaction = fj_tran
  187. ll_row = dw_1.GetRow()
  188. IF ll_row <= 0 THEN
  189. rslt = 0
  190. arg_msg = '请选择接收对象'
  191. GOTO ext
  192. END IF
  193. String ls_id
  194. ls_id = dw_1.Object.ljfieb_packet_serialnum[ll_row]
  195. IF uo_ljmail.uf_rev_msg(ls_id, arg_msg) <> 1 THEN
  196. rslt = 0
  197. GOTO ext
  198. END IF
  199. dw_1.DeleteRow(ll_row)
  200. ext:
  201. Destroy uo_ljmail
  202. IF rslt = 0 THEN
  203. MessageBox('系统提示', arg_msg)
  204. END IF
  205. end event
  206. type cb_refresh from uo_imflatbutton within w_ljmail_revmsg
  207. integer x = 155
  208. integer width = 151
  209. integer height = 164
  210. integer taborder = 110
  211. boolean bringtotop = true
  212. string text = "刷新"
  213. string normalpicname = "refresh.BMP"
  214. integer picsize = 16
  215. toolbaralignment pic_align = alignattop!
  216. boolean border = false
  217. end type
  218. event clicked;call super::clicked;parent.TriggerEvent('ue_retrieve')
  219. end event
  220. type r_bar from rectangle within w_ljmail_revmsg
  221. long linecolor = 16777215
  222. integer linethickness = 4
  223. long fillcolor = 1073741824
  224. integer x = 791
  225. integer width = 146
  226. integer height = 68
  227. end type
  228. event constructor;this.fillcolor = 14215660
  229. this.linecolor = 14215660
  230. this.x = -1
  231. this.y = -1
  232. this.height = ln_bar.beginy - 5
  233. end event
  234. type ln_bar from line within w_ljmail_revmsg
  235. long linecolor = 268435456
  236. integer linethickness = 4
  237. integer beginy = 168
  238. integer endx = 2007
  239. integer endy = 168
  240. end type
  241. type ln_bar2 from line within w_ljmail_revmsg
  242. long linecolor = 16777215
  243. integer linethickness = 4
  244. integer beginy = 172
  245. integer endx = 2039
  246. integer endy = 172
  247. end type