uo_ljmail_msg.sru 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383
  1. $PBExportHeader$uo_ljmail_msg.sru
  2. forward
  3. global type uo_ljmail_msg from nonvisualobject
  4. end type
  5. type ps_cus_ljmail from structure within uo_ljmail_msg
  6. end type
  7. end forward
  8. type ps_cus_ljmail from structure
  9. long commid
  10. string ljmails[]
  11. end type
  12. global type uo_ljmail_msg from nonvisualobject
  13. end type
  14. global uo_ljmail_msg uo_ljmail_msg
  15. type variables
  16. Transaction commit_transaction //数据commit事务
  17. end variables
  18. forward prototypes
  19. public function integer uf_save (ref s_ljmail_msg arg_s_msg, ref string arg_msg)
  20. public function integer uf_getinfo (long arg_msgid, ref s_ljmail_msg arg_s_msg, ref string arg_msg, boolean arg_if_main, boolean arg_if_mx, boolean arg_if_fj, boolean arg_if_withblob)
  21. public function integer uf_get_msgmx (string arg_ljmail, ref s_ljmail_msgmx arg_msgmx, ref string arg_msg)
  22. public function integer uf_del (long arg_msgid, ref string arg_msg)
  23. public function integer uf_get_boxtype (long arg_msgid, ref long arg_boxtype, ref string arg_msg)
  24. public function integer uf_get_html (long arg_msgid, ref string arg_html, ref string arg_msg)
  25. public function integer uf_send (long arg_msgid, ref string arg_msg)
  26. public function integer uf_getljmail (ref string arg_ljmail, ref string arg_msg)
  27. public function integer uf_rev_msg (string arg_id, ref string arg_msg)
  28. public function integer uf_setread (long arg_msgid, long arg_ifread, ref string arg_msg)
  29. end prototypes
  30. public function integer uf_save (ref s_ljmail_msg arg_s_msg, ref string arg_msg);Int rslt = 1
  31. Long ll_i
  32. Boolean oldAutoCommit
  33. oldAutoCommit = commit_transaction.AutoCommit
  34. IF arg_s_msg.sendflag <> 2 And arg_s_msg.sendflag <> 3 THEN
  35. rslt = 0
  36. arg_msg = '只能保存草稿与收件'
  37. GOTO ext
  38. END IF
  39. Long ll_cnt
  40. SELECT COUNT(0)
  41. INTO :ll_cnt
  42. FROM u_ljmail_box
  43. WHERE boxid = :arg_s_msg.boxid;
  44. IF sqlca.SQLCode <> 0 THEN
  45. rslt = 0
  46. arg_msg = '查询所属邮箱失败,' + sqlca.SQLErrText
  47. GOTO ext
  48. END IF
  49. IF ll_cnt = 0 THEN
  50. rslt = 0
  51. arg_msg = '所属邮箱不存在,ID:' + String(arg_s_msg.boxid)
  52. GOTO ext
  53. END IF
  54. DateTime dt_server
  55. SELECT TOP 1 GETDATE()
  56. INTO :dt_server
  57. FROM u_user
  58. Using sqlca;
  59. IF sqlca.SQLCode <> 0 THEN
  60. rslt = 0
  61. arg_msg = '获取服务器时间失败,' + sqlca.SQLErrText
  62. GOTO ext
  63. END IF
  64. IF arg_s_msg.msgid = 0 THEN
  65. Long ll_msgid
  66. ll_msgid = f_sys_scidentity(0, "u_ljmail_msg", "msgid", arg_msg, True, id_sqlca)
  67. IF ll_msgid <= 0 THEN
  68. rslt = 0
  69. GOTO ext
  70. END IF
  71. INSERT INTO u_ljmail_msg(msgid,
  72. boxid,
  73. sendcomid,
  74. sendcomname,
  75. sendflag,
  76. opemp,
  77. opdate,
  78. subject,
  79. htmlbody,
  80. reltype,
  81. relid,
  82. ljmail)
  83. VALUES(:ll_msgid,
  84. :arg_s_msg.boxid,
  85. :arg_s_msg.sendcomid,
  86. :arg_s_msg.sendcomname,
  87. :arg_s_msg.sendflag,
  88. :publ_operator,
  89. :dt_server,
  90. :arg_s_msg.subject,
  91. :arg_s_msg.htmlbody,
  92. :arg_s_msg.reltype,
  93. :arg_s_msg.relid,
  94. :arg_s_msg.ljmail)
  95. Using commit_transaction;
  96. IF commit_transaction.SQLCode <> 0 THEN
  97. rslt = 0
  98. arg_msg = '插入LE邮件失败,' + commit_transaction.SQLErrText
  99. GOTO ext
  100. END IF
  101. // 插入接收明细
  102. FOR ll_i = 1 To UpperBound(arg_s_msg.mx)
  103. INSERT INTO u_ljmail_msgmx(msgid,
  104. printid,
  105. comid,
  106. comname,
  107. empid,
  108. empname,
  109. reltype,
  110. relid,
  111. ljmail)
  112. VALUES(:ll_msgid,
  113. :ll_i,
  114. :arg_s_msg.mx[ll_i].comid,
  115. :arg_s_msg.mx[ll_i].comname,
  116. :arg_s_msg.mx[ll_i].empid,
  117. :arg_s_msg.mx[ll_i].empname,
  118. :arg_s_msg.mx[ll_i].reltype,
  119. :arg_s_msg.mx[ll_i].relid,
  120. :arg_s_msg.mx[ll_i].ljmail)
  121. Using commit_transaction;
  122. IF commit_transaction.SQLCode <> 0 THEN
  123. rslt = 0
  124. arg_msg = '插入接收明细失败,' + commit_transaction.SQLErrText
  125. GOTO ext
  126. END IF
  127. arg_s_msg.mx[ll_i].msgid = ll_msgid
  128. arg_s_msg.mx[ll_i].printid = ll_i
  129. NEXT
  130. // 插入附件
  131. FOR ll_i = 1 To UpperBound(arg_s_msg.fj)
  132. INSERT INTO u_ljmail_fj(msgid,
  133. printid,
  134. filename)
  135. VALUES(:ll_msgid,
  136. :ll_i,
  137. :arg_s_msg.fj[ll_i].filename)
  138. Using commit_transaction;
  139. IF commit_transaction.SQLCode <> 0 THEN
  140. rslt = 0
  141. arg_msg = '插入LE附件失败,' + commit_transaction.SQLErrText
  142. GOTO ext
  143. END IF
  144. arg_s_msg.fj[ll_i].msgid = ll_msgid
  145. arg_s_msg.fj[ll_i].printid = ll_i
  146. NEXT
  147. arg_s_msg.msgid = ll_msgid
  148. arg_s_msg.opemp = publ_operator
  149. arg_s_msg.opdate = dt_server
  150. ELSE
  151. UPDATE u_ljmail_msg
  152. SET boxid = :arg_s_msg.boxid,
  153. sendcomid = :arg_s_msg.sendcomid,
  154. sendcomname = :arg_s_msg.sendcomname,
  155. sendempid = :arg_s_msg.sendempid,
  156. sendempname = :arg_s_msg.sendempname,
  157. sendflag = :arg_s_msg.sendflag,
  158. modemp = :publ_operator,
  159. moddate = :dt_server,
  160. subject = :arg_s_msg.subject,
  161. htmlbody = :arg_s_msg.htmlbody,
  162. reltype = :arg_s_msg.reltype,
  163. relid = :arg_s_msg.relid,
  164. ljmail = :arg_s_msg.ljmail
  165. WHERE msgid = :arg_s_msg.msgid
  166. Using commit_transaction;
  167. IF commit_transaction.SQLCode <> 0 THEN
  168. rslt = 0
  169. arg_msg = '更新龙嘉邮件信息失败,' + commit_transaction.SQLErrText
  170. GOTO ext
  171. END IF
  172. DELETE FROM u_ljmail_msgmx
  173. WHERE msgid = :arg_s_msg.msgid
  174. Using commit_transaction;
  175. IF commit_transaction.SQLCode <> 0 THEN
  176. rslt = 0
  177. arg_msg = '删除旧龙嘉邮件明细失败,' + commit_transaction.SQLErrText
  178. GOTO ext
  179. END IF
  180. // 插入接收明细
  181. FOR ll_i = 1 To UpperBound(arg_s_msg.mx)
  182. INSERT INTO u_ljmail_msgmx(msgid,
  183. printid,
  184. comid,
  185. comname,
  186. empid,
  187. empname,
  188. reltype,
  189. relid,
  190. ljmail)
  191. VALUES(:arg_s_msg.msgid,
  192. :ll_i,
  193. :arg_s_msg.mx[ll_i].comid,
  194. :arg_s_msg.mx[ll_i].comname,
  195. :arg_s_msg.mx[ll_i].empid,
  196. :arg_s_msg.mx[ll_i].empname,
  197. :arg_s_msg.mx[ll_i].reltype,
  198. :arg_s_msg.mx[ll_i].relid,
  199. :arg_s_msg.mx[ll_i].ljmail)
  200. Using commit_transaction;
  201. IF commit_transaction.SQLCode <> 0 THEN
  202. rslt = 0
  203. arg_msg = '插入接收明细失败,' + commit_transaction.SQLErrText
  204. GOTO ext
  205. END IF
  206. arg_s_msg.mx[ll_i].msgid = arg_s_msg.msgid
  207. arg_s_msg.mx[ll_i].printid = ll_i
  208. NEXT
  209. DELETE FROM u_ljmail_fj
  210. WHERE msgid = :arg_s_msg.msgid
  211. Using commit_transaction;
  212. IF commit_transaction.SQLCode <> 0 THEN
  213. rslt = 0
  214. arg_msg = '删除旧龙嘉邮件附件失败,' + commit_transaction.SQLErrText
  215. GOTO ext
  216. END IF
  217. // 插入附件
  218. FOR ll_i = 1 To UpperBound(arg_s_msg.fj)
  219. INSERT INTO u_ljmail_fj(msgid,
  220. printid,
  221. filename)
  222. VALUES(:arg_s_msg.msgid,
  223. :ll_i,
  224. :arg_s_msg.fj[ll_i].filename)
  225. Using commit_transaction;
  226. IF commit_transaction.SQLCode <> 0 THEN
  227. rslt = 0
  228. arg_msg = '插入LE附件失败,' + commit_transaction.SQLErrText
  229. GOTO ext
  230. END IF
  231. arg_s_msg.fj[ll_i].msgid = arg_s_msg.msgid
  232. arg_s_msg.fj[ll_i].printid = ll_i
  233. NEXT
  234. arg_s_msg.modemp = publ_operator
  235. arg_s_msg.moddate = dt_server
  236. END IF
  237. COMMIT Using commit_transaction;
  238. commit_transaction.AutoCommit = True
  239. FOR ll_i = 1 To UpperBound(arg_s_msg.fj)
  240. UpdateBlob u_ljmail_fj
  241. Set fileblob = :arg_s_msg.fj[ll_i].fileblob
  242. Where msgid = :arg_s_msg.msgid
  243. And printid = :arg_s_msg.fj[ll_i].printid
  244. Using commit_transaction;
  245. IF commit_transaction.SQLCode <> 0 THEN
  246. rslt = 0
  247. arg_msg = '更新LE附件失败,' + commit_transaction.SQLErrText
  248. GOTO ext
  249. END IF
  250. NEXT
  251. ext:
  252. IF rslt = 1 THEN
  253. COMMIT Using commit_transaction;
  254. ELSE
  255. ROLLBACK Using commit_transaction;
  256. END IF
  257. commit_transaction.AutoCommit = oldAutoCommit
  258. RETURN rslt
  259. end function
  260. public function integer uf_getinfo (long arg_msgid, ref s_ljmail_msg arg_s_msg, ref string arg_msg, boolean arg_if_main, boolean arg_if_mx, boolean arg_if_fj, boolean arg_if_withblob);Int rslt = 1
  261. IF arg_if_main THEN
  262. SELECT boxid,
  263. sendcomid,
  264. sendcomname,
  265. sendempid,
  266. sendempname,
  267. sendflag,
  268. opemp,
  269. opdate,
  270. modemp,
  271. moddate,
  272. subject,
  273. htmlbody,
  274. reltype,
  275. relid,
  276. sendtime,
  277. ljmail,
  278. ifread
  279. INTO :arg_s_msg.boxid,
  280. :arg_s_msg.sendcomid,
  281. :arg_s_msg.sendcomname,
  282. :arg_s_msg.sendempid,
  283. :arg_s_msg.sendempname,
  284. :arg_s_msg.sendflag,
  285. :arg_s_msg.opemp,
  286. :arg_s_msg.opdate,
  287. :arg_s_msg.modemp,
  288. :arg_s_msg.moddate,
  289. :arg_s_msg.subject,
  290. :arg_s_msg.htmlbody,
  291. :arg_s_msg.reltype,
  292. :arg_s_msg.relid,
  293. :arg_s_msg.sendtime,
  294. :arg_s_msg.ljmail,
  295. :arg_s_msg.ifread
  296. FROM u_ljmail_msg
  297. WHERE msgid = :arg_msgid
  298. Using commit_transaction;
  299. IF commit_transaction.SQLCode <> 0 THEN
  300. rslt = 0
  301. arg_msg = '查询龙嘉邮件信息失败,' + commit_transaction.SQLErrText
  302. GOTO ext
  303. END IF
  304. arg_s_msg.msgid = arg_msgid
  305. END IF
  306. Long ll_cnt = 0
  307. s_ljmail_msgmx arr_mx[]
  308. Long mxl_msgid
  309. Long mxl_printid
  310. Long mxl_comid
  311. String mxs_comname
  312. Long mxl_empid
  313. String mxs_empname
  314. Long mxl_reltype
  315. Long mxl_relid
  316. String mxs_ljmail
  317. IF arg_if_mx THEN
  318. DECLARE cur1 CURSOR FOR
  319. SELECT msgid, printid, comid, comname, empid, empname, reltype, relid, ljmail
  320. FROM u_ljmail_msgmx
  321. WHERE msgid = :arg_msgid
  322. Using commit_transaction;
  323. OPEN cur1;
  324. FETCH cur1 INTO :mxl_msgid,
  325. :mxl_printid,
  326. :mxl_comid,
  327. :mxs_comname,
  328. :mxl_empid,
  329. :mxs_empname,
  330. :mxl_reltype,
  331. :mxl_relid,
  332. :mxs_ljmail;
  333. DO WHILE commit_transaction.SQLCode = 0
  334. ll_cnt++
  335. arr_mx[ll_cnt].msgid = mxl_msgid
  336. arr_mx[ll_cnt].printid = mxl_printid
  337. arr_mx[ll_cnt].comid = mxl_comid
  338. arr_mx[ll_cnt].comname = mxs_comname
  339. arr_mx[ll_cnt].empid = mxl_empid
  340. arr_mx[ll_cnt].empname = mxs_empname
  341. arr_mx[ll_cnt].reltype = mxl_reltype
  342. arr_mx[ll_cnt].relid = mxl_relid
  343. arr_mx[ll_cnt].ljmail = mxs_ljmail
  344. FETCH cur1 INTO :mxl_msgid,
  345. :mxl_printid,
  346. :mxl_comid,
  347. :mxs_comname,
  348. :mxl_empid,
  349. :mxs_empname,
  350. :mxl_reltype,
  351. :mxl_relid,
  352. :mxs_ljmail;
  353. LOOP
  354. CLOSE cur1;
  355. arg_s_msg.mx = arr_mx
  356. END IF
  357. s_ljmail_fj arr_fj[]
  358. Long fjl_msgid
  359. Long fjl_printid
  360. String fjs_filename
  361. Blob fjb_fileblob
  362. Long i
  363. IF arg_if_fj THEN
  364. ll_cnt = 0
  365. DECLARE cur2 CURSOR FOR
  366. SELECT msgid, printid, filename
  367. FROM u_ljmail_fj
  368. WHERE msgid = :arg_msgid
  369. Using commit_transaction;
  370. OPEN cur2;
  371. FETCH cur2 Into :fjl_msgid, :fjl_printid, :fjs_filename;
  372. DO WHILE commit_transaction.SQLCode = 0
  373. ll_cnt++
  374. arr_fj[ll_cnt].msgid = fjl_msgid
  375. arr_fj[ll_cnt].printid = fjl_printid
  376. arr_fj[ll_cnt].Filename = fjs_filename
  377. FETCH cur2 Into :fjl_msgid, :fjl_printid, :fjs_filename;
  378. LOOP
  379. CLOSE cur2;
  380. arg_s_msg.fj = arr_fj
  381. IF arg_if_withblob THEN
  382. FOR i = 1 To ll_cnt
  383. SelectBlob fileblob
  384. Into :arg_s_msg.fj[i].fileblob
  385. From u_ljmail_fj
  386. Where msgid = :arg_s_msg.fj[i].msgid
  387. And printid = :arg_s_msg.fj[i].printid
  388. Using commit_transaction;
  389. IF commit_transaction.SQLCode <> 0 THEN
  390. rslt = 0
  391. arg_msg = '获取附件内容失败,' + commit_transaction.SQLErrText
  392. GOTO ext
  393. END IF
  394. NEXT
  395. END IF
  396. END IF
  397. ext:
  398. RETURN rslt
  399. end function
  400. public function integer uf_get_msgmx (string arg_ljmail, ref s_ljmail_msgmx arg_msgmx, ref string arg_msg);Int rslt = 1
  401. /*
  402. * 1: 客户
  403. * 2: 供应商
  404. * 3: 手动
  405. * 4: 客户联系人
  406. * 5: 供应商联系人
  407. * 6: 员工
  408. */
  409. Long ll_pos
  410. ll_pos = Pos(arg_ljmail, '@@')
  411. IF ll_pos <= 0 THEN
  412. rslt = 0
  413. arg_msg = ''
  414. GOTO ext
  415. END IF
  416. String ls_repname
  417. String ls_cuscode
  418. String ls_comname
  419. ls_repname = Mid(arg_ljmail, 1, ll_pos - 1)
  420. ls_cuscode = Mid(arg_ljmail, ll_pos + 2)
  421. Long ll_cnt
  422. Long ll_cusid
  423. Long ll_relid
  424. //====================================================================
  425. // 客户
  426. //====================================================================
  427. SELECT top 1 cusid, cusname
  428. INTO :ll_cusid, :ls_comname
  429. FROM u_cust
  430. Where commcode = :ls_cuscode And ifecomm = 1;
  431. IF sqlca.SQLCode = 0 THEN
  432. SELECT count(0)
  433. INTO :ll_cnt
  434. FROM u_cust
  435. Where cusid = :ll_cusid And rep = :ls_repname;
  436. IF sqlca.SQLCode <> 0 THEN
  437. rslt = 0
  438. arg_msg = '查询客户联系人失败,' + sqlca.SQLErrText
  439. GOTO ext
  440. END IF
  441. IF ll_cnt > 0 THEN
  442. arg_msgmx.reltype = 1
  443. arg_msgmx.relid = ll_cusid
  444. arg_msgmx.ljmail = arg_ljmail
  445. arg_msgmx.empname = ls_repname
  446. arg_msgmx.comname = ls_comname
  447. GOTO ext
  448. ELSE
  449. SELECT top 1 repid
  450. INTO :ll_relid
  451. FROM u_cust_rep
  452. Where cusid = :ll_cusid And repname = :ls_repname;
  453. IF sqlca.SQLCode = 0 THEN
  454. arg_msgmx.reltype = 4
  455. arg_msgmx.relid = ll_relid
  456. arg_msgmx.ljmail = arg_ljmail
  457. arg_msgmx.empname = ls_repname
  458. arg_msgmx.comname = ls_comname
  459. GOTO ext
  460. END IF
  461. END IF
  462. END IF
  463. //====================================================================
  464. // 供应商
  465. //====================================================================
  466. Long ll_sptid
  467. SELECT top 1 sptid, name
  468. INTO :ll_sptid, :ls_comname
  469. FROM u_spt
  470. Where commcode = :ls_cuscode And ifecomm = 1;
  471. IF sqlca.SQLCode = 0 THEN
  472. SELECT count(0)
  473. INTO :ll_cnt
  474. FROM u_spt
  475. Where sptid = :ll_sptid And rep = :ls_repname;
  476. IF sqlca.SQLCode <> 0 THEN
  477. rslt = 0
  478. arg_msg = '查询供应商联系人失败,' + sqlca.SQLErrText
  479. GOTO ext
  480. END IF
  481. IF ll_cnt > 0 THEN
  482. arg_msgmx.reltype = 2
  483. arg_msgmx.relid = ll_sptid
  484. arg_msgmx.ljmail = arg_ljmail
  485. arg_msgmx.empname = ls_repname
  486. arg_msgmx.comname = ls_comname
  487. GOTO ext
  488. ELSE
  489. SELECT top 1 repid
  490. INTO :ll_relid
  491. FROM u_spt_cus
  492. Where sptid = :ll_sptid And repname = :ls_repname;
  493. IF sqlca.SQLCode = 0 THEN
  494. arg_msgmx.reltype = 5
  495. arg_msgmx.relid = ll_relid
  496. arg_msgmx.ljmail = arg_ljmail
  497. arg_msgmx.empname = ls_repname
  498. arg_msgmx.comname = ls_comname
  499. GOTO ext
  500. END IF
  501. END IF
  502. END IF
  503. //====================================================================
  504. // 员工
  505. //====================================================================
  506. Long ll_custype
  507. Long ll_commid
  508. ls_comname = ''
  509. SELECT top 1 CusCommID, CusType, CusName
  510. INTO :ll_commid, :ll_custype, :ls_comname
  511. FROM LJFIEB_CusComm
  512. Where CusCode = :ls_cuscode Using commit_transaction;
  513. IF commit_transaction.SQLCode = 0 THEN
  514. IF ll_custype = 0 THEN
  515. SELECT top 1 empid
  516. INTO :ll_relid
  517. FROM u_rs_empinfo
  518. Where empname = :ls_repname;
  519. IF sqlca.SQLCode = 0 THEN
  520. arg_msgmx.reltype = 6
  521. arg_msgmx.relid = ll_relid
  522. arg_msgmx.ljmail = arg_ljmail
  523. arg_msgmx.empname = ls_repname
  524. arg_msgmx.comname = ls_comname
  525. GOTO ext
  526. END IF
  527. END IF
  528. END IF
  529. //====================================================================
  530. // 手动
  531. //====================================================================
  532. arg_msgmx.reltype = 3
  533. arg_msgmx.relid = 0
  534. arg_msgmx.ljmail = arg_ljmail
  535. arg_msgmx.empname = ls_repname
  536. arg_msgmx.comname = ls_comname
  537. IF ls_comname = '' THEN
  538. arg_msgmx.comname = ls_cuscode
  539. END IF
  540. ext:
  541. RETURN rslt
  542. end function
  543. public function integer uf_del (long arg_msgid, ref string arg_msg);Int rslt = 1
  544. uo_ljmail_box uo_box
  545. uo_box = Create uo_ljmail_box
  546. Long ll_boxtype
  547. IF uf_get_boxtype(arg_msgid, Ref ll_boxtype, Ref arg_msg) <> 1 THEN
  548. rslt = 0
  549. GOTO ext
  550. END IF
  551. IF ll_boxtype = 4 THEN
  552. DELETE From u_ljmail_fj Where msgid = :arg_msgid Using commit_transaction;
  553. IF commit_transaction.SQLCode <> 0 THEN
  554. rslt = 0
  555. arg_msg = '删除龙嘉邮件附件失败,' + commit_transaction.SQLErrText
  556. GOTO ext
  557. END IF
  558. DELETE From u_ljmail_msgmx Where msgid = :arg_msgid Using commit_transaction;
  559. IF commit_transaction.SQLCode <> 0 THEN
  560. rslt = 0
  561. arg_msg = '删除龙嘉邮件发送明细失败,' + commit_transaction.SQLErrText
  562. GOTO ext
  563. END IF
  564. DELETE From u_ljmail_msg Where msgid = :arg_msgid Using commit_transaction;
  565. IF commit_transaction.SQLCode <> 0 THEN
  566. rslt = 0
  567. arg_msg = '删除龙嘉邮件信息失败,' + commit_transaction.SQLErrText
  568. GOTO ext
  569. END IF
  570. ELSE
  571. Long ll_boxid
  572. ll_boxid = uo_box.uf_getboxid(sys_empid, 4, arg_msg)
  573. IF ll_boxid = 0 THEN
  574. rslt = 0
  575. GOTO ext
  576. END IF
  577. UPDATE u_ljmail_msg Set boxid = :ll_boxid Where msgid = :arg_msgid Using commit_transaction;
  578. IF commit_transaction.SQLCode <> 0 THEN
  579. rslt = 0
  580. arg_msg = '将邮件移到废件夹失败,' + commit_transaction.SQLErrText
  581. GOTO ext
  582. END IF
  583. END IF
  584. ext:
  585. Destroy uo_box
  586. IF rslt = 1 THEN
  587. COMMIT Using commit_transaction;
  588. ELSE
  589. ROLLBACK Using commit_transaction;
  590. END IF
  591. RETURN rslt
  592. end function
  593. public function integer uf_get_boxtype (long arg_msgid, ref long arg_boxtype, ref string arg_msg);uo_ljmail_box uo_box
  594. uo_box = Create uo_ljmail_box
  595. int rslt = 1
  596. Long ll_boxtype = 0
  597. Long ll_boxid = 0
  598. SELECT boxid
  599. INTO :ll_boxid
  600. FROM u_ljmail_msg
  601. WHERE msgid = :arg_msgid
  602. Using commit_transaction;
  603. IF commit_transaction.SQLCode <> 0 THEN
  604. rslt = 0
  605. arg_msg = '查询邮件所属邮箱失败,' + commit_transaction.SQLErrText
  606. GOTO ext
  607. END IF
  608. Long ll_pboxid
  609. IF uo_box.uf_getparentid(ll_boxid, Ref ll_pboxid, Ref arg_msg) <> 1 THEN
  610. rslt = 0
  611. GOTO ext
  612. END IF
  613. DO WHILE ll_pboxid <> 0
  614. ll_boxid = ll_pboxid
  615. IF uo_box.uf_getparentid(ll_boxid, Ref ll_pboxid, Ref arg_msg) <> 1 THEN
  616. rslt = 0
  617. GOTO ext
  618. END IF
  619. LOOP
  620. IF uo_box.uf_getboxtype(ll_boxid, Ref ll_boxtype, Ref arg_msg) <> 1 THEN
  621. rslt = 0
  622. GOTO ext
  623. END IF
  624. if ll_boxtype = 0 then
  625. rslt = 0
  626. arg_msg = '未定义邮箱类型:0'
  627. goto ext
  628. end if
  629. arg_boxtype = ll_boxtype
  630. ext:
  631. Destroy uo_box
  632. RETURN rslt
  633. end function
  634. public function integer uf_get_html (long arg_msgid, ref string arg_html, ref string arg_msg);Int rslt = 1
  635. Long Len
  636. Blob lb
  637. SELECT DATALENGTH(htmlbody) INTO :Len FROM u_ljmail_msg
  638. Where msgid = :arg_msgid Using commit_transaction;
  639. IF commit_transaction.SQLCode <> 0 THEN
  640. rslt = 0
  641. arg_msg = '查询html长度失败,' + commit_transaction.SQLErrText
  642. GOTO ext
  643. END IF
  644. IF Len > 2048 THEN
  645. SelectBlob htmlbody Into :lb From u_ljmail_msg
  646. Where msgid = :arg_msgid Using commit_transaction;
  647. IF commit_transaction.SQLCode <> 0 THEN
  648. rslt = 0
  649. arg_msg = '查询html失败,' + commit_transaction.SQLErrText
  650. GOTO ext
  651. END IF
  652. arg_html = String(lb)
  653. ELSE
  654. SELECT htmlbody INTO :arg_html FROM u_ljmail_msg
  655. Where msgid = :arg_msgid Using commit_transaction;
  656. IF commit_transaction.SQLCode <> 0 THEN
  657. rslt = 0
  658. arg_msg = '查询html失败,' + commit_transaction.SQLErrText
  659. GOTO ext
  660. END IF
  661. END IF
  662. ext:
  663. RETURN rslt
  664. end function
  665. public function integer uf_send (long arg_msgid, ref string arg_msg);Int rslt = 1
  666. uo_ljmail_box uo_box
  667. uo_box = Create uo_ljmail_box
  668. Long ll_sendflag
  669. SELECT sendflag
  670. INTO :ll_sendflag
  671. FROM u_ljmail_msg
  672. WHERE msgid = :arg_msgid
  673. Using commit_transaction;
  674. IF commit_transaction.SQLCode <> 0 THEN
  675. rslt = 0
  676. arg_msg = '查询邮件状态失败,' + commit_transaction.SQLErrText
  677. GOTO ext
  678. END IF
  679. IF ll_sendflag <> 2 THEN
  680. rslt = 0
  681. arg_msg = '邮件不是草稿,不能发送'
  682. GOTO ext
  683. END IF
  684. Long ll_boxid
  685. ll_boxid = uo_box.uf_getboxid(sys_empid, 3, arg_msg)
  686. IF ll_boxid = 0 THEN
  687. rslt = 0
  688. GOTO ext
  689. END IF
  690. UPDATE u_ljmail_msg
  691. SET sendflag = 1,
  692. boxid = :ll_boxid
  693. WHERE msgid = :arg_msgid
  694. AND sendflag = 2
  695. Using commit_transaction;
  696. IF commit_transaction.SQLCode <> 0 THEN
  697. rslt = 0
  698. arg_msg = '更新邮件状态失败' + commit_transaction.SQLErrText
  699. GOTO ext
  700. END IF
  701. IF commit_transaction.SQLNRows = 0 THEN
  702. rslt = 0
  703. arg_msg = '更新邮件状态失败,邮件已经发送或被删除'
  704. GOTO ext
  705. END IF
  706. s_ljmail_msg s_msg
  707. IF uf_getinfo(arg_msgid, Ref s_msg, arg_msg, False, True, False, False) <> 1 THEN
  708. rslt = 0
  709. GOTO ext
  710. END IF
  711. Long i, j
  712. String ls_repname
  713. String ls_cuscode
  714. Long ll_pos
  715. Long ll_commid
  716. ps_cus_ljmail arr_custs[]
  717. Boolean lb_find = False
  718. FOR i = 1 To UpperBound(s_msg.mx)
  719. ll_pos = Pos(s_msg.mx[i].ljmail, '@@')
  720. IF ll_pos <= 0 THEN
  721. rslt = 0
  722. arg_msg = '非法龙嘉邮件地址:' + s_msg.mx[i].ljmail
  723. GOTO ext
  724. END IF
  725. ls_repname = Mid(s_msg.mx[i].ljmail, 1, ll_pos - 1)
  726. ls_cuscode = Mid(s_msg.mx[i].ljmail, ll_pos + 2)
  727. SELECT CusCommID
  728. INTO :ll_commid
  729. FROM LJFIEB_CusComm
  730. WHERE CusCode = :ls_cuscode
  731. Using commit_transaction;
  732. IF commit_transaction.SQLCode <> 0 THEN
  733. rslt = 0
  734. arg_msg = '解析龙嘉邮件地址[' + s_msg.mx[i].ljmail + ']失败,' + commit_transaction.SQLErrText
  735. GOTO ext
  736. END IF
  737. lb_find = False
  738. FOR j = 1 To UpperBound(arr_custs)
  739. IF arr_custs[j].commid = ll_commid THEN
  740. lb_find = True
  741. EXIT
  742. END IF
  743. NEXT
  744. IF lb_find THEN
  745. arr_custs[j].ljmails[UpperBound(arr_custs[j].ljmails) + 1] = s_msg.mx[i].ljmail
  746. ELSE
  747. arr_custs[j].commid = ll_commid
  748. arr_custs[j].ljmails[1] = s_msg.mx[i].ljmail
  749. END IF
  750. NEXT
  751. Long ll_curcommid
  752. SELECT top 1 CusCommID
  753. INTO :ll_curcommid
  754. FROM LJFIEB_CusComm
  755. Where CusType = 0 Using commit_transaction;
  756. IF commit_transaction.SQLCode <> 0 THEN
  757. rslt = 0
  758. arg_msg = '查询本企业ID失败,' + commit_transaction.SQLErrText
  759. GOTO ext
  760. END IF
  761. String ls_id
  762. FOR i = 1 To UpperBound(arr_custs)
  763. SELECT top 1 newid()
  764. INTO :ls_id
  765. From u_user;
  766. IF sqlca.SQLCode <> 0 THEN
  767. rslt = 0
  768. arg_msg = '获取ID失败,' + sqlca.SQLErrText
  769. GOTO ext
  770. END IF
  771. INSERT INTO LJFIEB_packet
  772. (SerialNum,
  773. TableName,
  774. SendCusCommID,
  775. SendSCcode,
  776. AddUser,
  777. AddTime,
  778. ReceiveCusCommID,
  779. ReceiveSCcode,
  780. ReceiveUser,
  781. Status,
  782. BillType,
  783. SendTime)
  784. VALUES
  785. (:ls_id,
  786. 'LJFIEB_ljmail_msg,LJFIEB_ljmail_msgmx,LJFIEB_ljmail_fj',
  787. :ll_curcommid,
  788. '',
  789. :publ_operator,
  790. GETDATE(),
  791. :arr_custs[i].commid,
  792. '',
  793. '',
  794. 0,
  795. 22,
  796. GETDATE())
  797. Using commit_transaction;
  798. IF commit_transaction.SQLCode <> 0 THEN
  799. rslt = 0
  800. arg_msg = '插入同步数据失败,' + commit_transaction.SQLErrText
  801. GOTO ext
  802. END IF
  803. INSERT INTO LJFIEB_ljmail_msg
  804. (msgid,
  805. boxid,
  806. sendcomid,
  807. sendcomname,
  808. sendempid,
  809. sendempname,
  810. sendflag,
  811. opemp,
  812. opdate,
  813. modemp,
  814. moddate,
  815. subject,
  816. htmlbody,
  817. reltype,
  818. relid,
  819. sendtime,
  820. ljmail,
  821. SerialNum)
  822. SELECT msgid,
  823. boxid,
  824. sendcomid,
  825. sendcomname,
  826. sendempid,
  827. sendempname,
  828. sendflag,
  829. opemp,
  830. opdate,
  831. modemp,
  832. moddate,
  833. subject,
  834. htmlbody,
  835. reltype,
  836. relid,
  837. sendtime,
  838. ljmail, :ls_id
  839. FROM u_ljmail_msg
  840. WHERE (msgid = :arg_msgid)
  841. Using commit_transaction;
  842. IF commit_transaction.SQLCode <> 0 THEN
  843. rslt = 0
  844. arg_msg = '复制龙嘉邮件失败,' + commit_transaction.SQLErrText
  845. GOTO ext
  846. END IF
  847. INSERT INTO LJFIEB_ljmail_msgmx
  848. (SerialNum,
  849. msgid,
  850. printid,
  851. comid,
  852. comname,
  853. empid,
  854. empname,
  855. reltype,
  856. relid,
  857. ljmail)
  858. SELECT :ls_id,
  859. msgid,
  860. printid,
  861. comid,
  862. comname,
  863. empid,
  864. empname,
  865. reltype,
  866. relid,
  867. ljmail
  868. FROM u_ljmail_msgmx
  869. WHERE (msgid = :arg_msgid)
  870. Using commit_transaction;
  871. IF commit_transaction.SQLCode <> 0 THEN
  872. rslt = 0
  873. arg_msg = '复制龙嘉邮件发送明细失败,' + commit_transaction.SQLErrText
  874. GOTO ext
  875. END IF
  876. INSERT INTO LJFIEB_ljmail_fj
  877. (SerialNum,
  878. msgid,
  879. printid,
  880. filename,
  881. fileblob)
  882. SELECT :ls_id,
  883. msgid,
  884. printid,
  885. filename,
  886. fileblob
  887. FROM u_ljmail_fj
  888. WHERE (msgid = :arg_msgid)
  889. Using commit_transaction;
  890. IF commit_transaction.SQLCode <> 0 THEN
  891. rslt = 0
  892. arg_msg = '复制龙嘉邮件附件失败,' + commit_transaction.SQLErrText
  893. GOTO ext
  894. END IF
  895. NEXT
  896. GOTO ext
  897. ext:
  898. Destroy uo_box
  899. IF rslt = 1 THEN
  900. COMMIT Using commit_transaction;
  901. ELSE
  902. ROLLBACK Using commit_transaction;
  903. END IF
  904. RETURN rslt
  905. end function
  906. public function integer uf_getljmail (ref string arg_ljmail, ref string arg_msg);Int rslt = 1
  907. String ls_repname
  908. String ls_cuscode
  909. ls_repname = publ_operator
  910. SELECT top 1 CusCode
  911. INTO :ls_cuscode
  912. FROM LJFIEB_CusComm
  913. WHERE CusType = 0
  914. Using commit_transaction;
  915. IF commit_transaction.SQLCode <> 0 THEN
  916. rslt = 0
  917. arg_msg = '查询本企业代号失败,' + commit_transaction.SQLErrText
  918. GOTO ext
  919. END IF
  920. arg_ljmail = ls_repname + '@@' + ls_cuscode
  921. ext:
  922. RETURN rslt
  923. end function
  924. public function integer uf_rev_msg (string arg_id, ref string arg_msg);Int rslt = 1
  925. uo_ljmail_box uo_box
  926. uo_box = Create uo_ljmail_box
  927. Long ll_status
  928. Long ll_billtype
  929. SELECT status, billtype
  930. INTO :ll_status, :ll_billtype
  931. FROM LJFIEB_packet
  932. WHERE SerialNum = :arg_id
  933. Using commit_transaction;
  934. IF commit_transaction.SQLCode <> 0 THEN
  935. rslt = 0
  936. arg_msg = '查询龙嘉邮件状态失败,' + commit_transaction.SQLErrText
  937. GOTO ext
  938. END IF
  939. IF ll_billtype <> 22 THEN
  940. rslt = 0
  941. arg_msg = '接收的内容不是龙嘉邮件'
  942. GOTO ext
  943. END IF
  944. IF ll_status <> 5 THEN
  945. rslt = 0
  946. arg_msg = '龙嘉邮件不在未处理状态'
  947. GOTO ext
  948. END IF
  949. UPDATE LJFIEB_packet
  950. SET status = 6
  951. WHERE SerialNum = :arg_id
  952. AND status = 5
  953. Using commit_transaction;
  954. IF commit_transaction.SQLCode <> 0 THEN
  955. rslt = 0
  956. arg_msg = '更新龙嘉邮件状态失败,' + commit_transaction.SQLErrText
  957. GOTO ext
  958. END IF
  959. IF commit_transaction.SQLNRows = 0 THEN
  960. rslt = 0
  961. arg_msg = '龙嘉邮件正在处理,请稍候再试'
  962. GOTO ext
  963. END IF
  964. String ls_mycuscode
  965. SELECT top 1 CusCode
  966. INTO :ls_mycuscode
  967. FROM LJFIEB_CusComm
  968. WHERE CusType = 0
  969. Using commit_transaction;
  970. IF commit_transaction.SQLCode <> 0 THEN
  971. rslt = 0
  972. arg_msg = '查询本企业代号失败,' + commit_transaction.SQLErrText
  973. GOTO ext
  974. END IF
  975. Long arr_empid[]
  976. String arr_empname[]
  977. Long ll_cnt = 0
  978. String ls_ljmail
  979. String ls_empname, ls_cuscode
  980. Long ll_empid
  981. Long ll_pos
  982. Long i
  983. DECLARE cur1 CURSOR FOR
  984. SELECT ljmail
  985. FROM LJFIEB_ljmail_msgmx
  986. WHERE SerialNum = :arg_id
  987. Using commit_transaction;
  988. OPEN cur1;
  989. FETCH cur1 Into :ls_ljmail;
  990. DO WHILE commit_transaction.SQLCode = 0
  991. ll_pos = Pos(ls_ljmail, '@@')
  992. IF ll_pos <= 0 THEN
  993. GOTO _next
  994. END IF
  995. ls_empname = Mid(ls_ljmail, 1, ll_pos - 1)
  996. ls_cuscode = Mid(ls_ljmail, ll_pos + 2)
  997. IF ls_cuscode <> ls_mycuscode THEN
  998. GOTO _next
  999. END IF
  1000. FOR i = 1 To UpperBound(arr_empname)
  1001. IF ls_empname = arr_empname[i] THEN
  1002. GOTO _next
  1003. END IF
  1004. NEXT
  1005. SELECT top 1 empid
  1006. INTO :ll_empid
  1007. FROM u_rs_empinfo
  1008. Where empname = ls_empname;
  1009. IF sqlca.SQLCode <> 0 THEN
  1010. GOTO _next
  1011. END IF
  1012. ll_cnt++
  1013. arr_empid[ll_cnt] = ll_empid
  1014. arr_empname[ll_cnt] = ls_empname
  1015. _next:
  1016. FETCH cur1 Into :ls_ljmail;
  1017. LOOP
  1018. CLOSE cur1;
  1019. Boolean hassuper = False
  1020. FOR i = 1 To ll_cnt
  1021. IF arr_empid[i] = 0 THEN
  1022. hassuper = True
  1023. EXIT
  1024. END IF
  1025. NEXT
  1026. IF Not hassuper THEN
  1027. ll_cnt++
  1028. arr_empid[ll_cnt] = 0
  1029. arr_empname[ll_cnt] = sys_super_name
  1030. END IF
  1031. Long ll_boxid
  1032. Long ll_msgid
  1033. FOR i = 1 To ll_cnt
  1034. IF uo_box.uf_initbox(arr_empid[i], arg_msg, True) <> 1 THEN
  1035. rslt = 0
  1036. GOTO ext
  1037. END IF
  1038. ll_boxid = uo_box.uf_getboxid(arr_empid[i], 1, arg_msg)
  1039. IF ll_boxid <= 0 THEN
  1040. rslt = 0
  1041. GOTO ext
  1042. END IF
  1043. ll_msgid = f_sys_scidentity(0, "u_ljmail_msg", "msgid", arg_msg, True, id_sqlca)
  1044. IF ll_msgid <= 0 THEN
  1045. rslt = 0
  1046. GOTO ext
  1047. END IF
  1048. INSERT INTO u_ljmail_msg
  1049. (msgid,
  1050. boxid,
  1051. sendcomid,
  1052. sendcomname,
  1053. sendempid,
  1054. sendempname,
  1055. sendflag,
  1056. opemp,
  1057. opdate,
  1058. modemp,
  1059. moddate,
  1060. subject,
  1061. htmlbody,
  1062. reltype,
  1063. relid,
  1064. sendtime,
  1065. ljmail)
  1066. SELECT :ll_msgid,
  1067. :ll_boxid,
  1068. sendcomid,
  1069. sendcomname,
  1070. sendempid,
  1071. sendempname,
  1072. 3,
  1073. opemp,
  1074. opdate,
  1075. modemp,
  1076. moddate,
  1077. subject,
  1078. htmlbody,
  1079. reltype,
  1080. relid,
  1081. sendtime,
  1082. ljmail
  1083. FROM LJFIEB_ljmail_msg
  1084. WHERE (SerialNum = :arg_id)
  1085. Using commit_transaction;
  1086. IF commit_transaction.SQLCode <> 0 THEN
  1087. rslt = 0
  1088. arg_msg = '接收邮件失败,' + commit_transaction.SQLErrText
  1089. GOTO ext
  1090. END IF
  1091. INSERT INTO u_ljmail_msgmx
  1092. (msgid,
  1093. printid,
  1094. comid,
  1095. comname,
  1096. empid,
  1097. empname,
  1098. reltype,
  1099. relid,
  1100. ljmail)
  1101. SELECT :ll_msgid,
  1102. printid,
  1103. comid,
  1104. comname,
  1105. empid,
  1106. empname,
  1107. reltype,
  1108. relid,
  1109. ljmail
  1110. FROM LJFIEB_ljmail_msgmx
  1111. WHERE (SerialNum = :arg_id)
  1112. Using commit_transaction;
  1113. IF commit_transaction.SQLCode <> 0 THEN
  1114. rslt = 0
  1115. arg_msg = '接收邮件明细失败,' + commit_transaction.SQLErrText
  1116. GOTO ext
  1117. END IF
  1118. INSERT INTO u_ljmail_fj
  1119. (msgid,
  1120. printid,
  1121. filename,
  1122. fileblob)
  1123. SELECT :ll_msgid,
  1124. printid,
  1125. filename,
  1126. fileblob
  1127. FROM LJFIEB_ljmail_fj
  1128. WHERE (SerialNum = :arg_id)
  1129. Using commit_transaction;
  1130. IF commit_transaction.SQLCode <> 0 THEN
  1131. rslt = 0
  1132. arg_msg = '接收邮件附件失败,' + commit_transaction.SQLErrText
  1133. GOTO ext
  1134. END IF
  1135. NEXT
  1136. GOTO ext
  1137. ext:
  1138. Destroy uo_box
  1139. IF rslt = 1 THEN
  1140. COMMIT Using commit_transaction;
  1141. ELSE
  1142. ROLLBACK Using commit_transaction;
  1143. END IF
  1144. RETURN rslt
  1145. end function
  1146. public function integer uf_setread (long arg_msgid, long arg_ifread, ref string arg_msg);Int rslt = 1
  1147. UPDATE u_ljmail_msg
  1148. SET ifread = :arg_ifread
  1149. WHERE msgid = :arg_msgid
  1150. Using commit_transaction;
  1151. IF commit_transaction.SQLCode <> 0 THEN
  1152. rslt = 0
  1153. arg_msg = '更新邮件已经标记失败,' + commit_transaction.SQLErrText
  1154. GOTO ext
  1155. END IF
  1156. IF commit_transaction.SQLNRows = 0 THEN
  1157. rslt = 0
  1158. arg_msg = '邮件已经被删除,请刷新后再试'
  1159. GOTO ext
  1160. END IF
  1161. ext:
  1162. IF rslt = 1 THEN
  1163. COMMIT Using commit_transaction;
  1164. ELSE
  1165. ROLLBACK Using commit_transaction;
  1166. END IF
  1167. RETURN rslt
  1168. end function
  1169. on uo_ljmail_msg.create
  1170. call super::create
  1171. TriggerEvent( this, "constructor" )
  1172. end on
  1173. on uo_ljmail_msg.destroy
  1174. TriggerEvent( this, "destructor" )
  1175. call super::destroy
  1176. end on