123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387 |
- $PBExportHeader$uo_ljmail_box.sru
- forward
- global type uo_ljmail_box from nonvisualobject
- end type
- end forward
- global type uo_ljmail_box from nonvisualobject
- end type
- global uo_ljmail_box uo_ljmail_box
- forward prototypes
- public function integer uf_getchildboxs (long arg_parentid, ref s_ljmail_box arg_child[], ref string arg_msg)
- public function integer uf_save (ref s_ljmail_box s_box, ref string arg_msg)
- public function integer uf_getinfo (long arg_boxid, ref s_ljmail_box arg_s_box, ref string arg_msg)
- public function integer uf_rename (long arg_boxid, string arg_newname, ref string arg_msg)
- public function long uf_getboxid (long arg_empid, long arg_boxtype, ref string arg_msg)
- public function integer uf_initbox (long arg_empid, ref string arg_msg, boolean if_commit)
- public function integer uf_getparentid (long arg_boxid, ref long arg_parentid, ref string arg_msg)
- public function integer uf_getboxtype (long arg_boxid, ref long arg_boxtype, ref string arg_msg)
- end prototypes
- public function integer uf_getchildboxs (long arg_parentid, ref s_ljmail_box arg_child[], ref string arg_msg);Int rslt = 1
- s_ljmail_box arg_rslt[]
- Long ll_cnt = 0
- Long ll_boxid
- String ls_boxname
- Long ll_boxtype
- DECLARE cur1 Cursor FOR SELECT boxid, boxname, boxtype From u_ljmail_box Where empid = :sys_empid And parentid = :arg_parentid;
- OPEN cur1;
- FETCH cur1 Into :ll_boxid, :ls_boxname, :ll_boxtype;
- DO WHILE sqlca.SQLCode = 0
- ll_cnt++
- arg_rslt[ll_cnt].boxid = ll_boxid
- arg_rslt[ll_cnt].boxname = ls_boxname
- arg_rslt[ll_cnt].empid = sys_empid
- arg_rslt[ll_cnt].parentid = arg_parentid
- arg_rslt[ll_cnt].boxtype = ll_boxtype
- FETCH cur1 Into :ll_boxid, :ls_boxname, :ll_boxtype;
- LOOP
- CLOSE cur1;
- arg_child = arg_rslt
- RETURN rslt
- end function
- public function integer uf_save (ref s_ljmail_box s_box, ref string arg_msg);Int rslt = 1
- IF s_box.boxid = 0 THEN
- Long ll_boxid
- ll_boxid = f_sys_scidentity(0,"u_ljmail_box","boxid",arg_msg,True,id_sqlca)
- IF ll_boxid <= 0 THEN
- rslt = 0
- GOTO ext
- END IF
- INSERT INTO u_ljmail_box(boxid,
- boxname,
- empid,
- parentid,
- boxtype)
- VALUES(:ll_boxid,
- :s_box.boxname,
- :s_box.empid,
- :s_box.parentid,
- :s_box.boxtype);
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '插入LE邮箱失败,' + sqlca.SQLErrText
- GOTO ext
- END IF
-
- s_box.boxid = ll_boxid
-
- ELSE
-
- UPDATE u_ljmail_box SET
- boxname = :s_box.boxname,
- empid = :s_box.empid,
- parentid = :s_box.parentid,
- boxtype = :s_box.boxtype
- Where boxid = :s_box.boxid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '更改LE邮箱失败,' + sqlca.SQLErrText
- GOTO ext
- END IF
-
- IF sqlca.SQLNRows = 0 THEN
- rslt = 0
- arg_msg = 'LE邮箱已经被删除,请刷新后再试'
- GOTO ext
- END IF
-
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSE
- COMMIT;
- END IF
- RETURN rslt
- end function
- public function integer uf_getinfo (long arg_boxid, ref s_ljmail_box arg_s_box, ref string arg_msg);Int rslt = 1
- Long ll_cnt
- SELECT COUNT(0)
- INTO :ll_cnt
- FROM u_ljmail_box
- Where boxid = :arg_boxid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询LE邮箱失败,' + sqlca.SQLErrText
- GOTO ext
- END IF
- IF ll_cnt = 0 THEN
- rslt = 0
- arg_msg = 'LE邮箱不存在,请刷新后再试'
- GOTO ext
- END IF
- SELECT boxid, boxname, empid, parentid, boxtype
- INTO :arg_s_box.boxid, :arg_s_box.boxname, :arg_s_box.empid, :arg_s_box.parentid, :arg_s_box.boxtype
- From u_ljmail_box Where boxid = :arg_boxid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询LE邮箱失败,' + sqlca.SQLErrText
- GOTO ext
- END IF
- ext:
- RETURN rslt
- end function
- public function integer uf_rename (long arg_boxid, string arg_newname, ref string arg_msg);Int rslt = 1
- Long ll_cnt
- SELECT COUNT(0)
- INTO :ll_cnt
- FROM u_ljmail_box
- Where boxid = :arg_boxid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询LE邮箱失败,' + sqlca.SQLErrText
- GOTO ext
- END IF
- IF ll_cnt = 0 THEN
- rslt = 0
- arg_msg = 'LE邮箱不存在,请刷新后再试'
- GOTO ext
- END IF
- UPDATE u_ljmail_box Set boxname = :arg_newname Where boxid = :arg_boxid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '更新LE邮箱失败,' + sqlca.SQLErrText
- GOTO ext
- END IF
- ext:
- IF rslt = 1 THEN
- COMMIT;
- ELSE
- ROLLBACK;
- END IF
- RETURN rslt
- end function
- public function long uf_getboxid (long arg_empid, long arg_boxtype, ref string arg_msg);Long ll_boxid = 0
- Long ll_cnt
- SELECT count(0)
- INTO :ll_cnt
- FROM u_ljmail_box
- WHERE empid = :arg_empid
- AND parentid = 0
- And boxtype = :arg_boxtype;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询龙嘉邮件箱失败,' + sqlca.SQLErrText
- GOTO ext
- END IF
- IF ll_cnt <= 0 THEN
- arg_msg = '帐号龙嘉邮件箱未初始化'
- GOTO ext
- END IF
- SELECT top 1 boxid
- INTO :ll_boxid
- FROM u_ljmail_box
- WHERE empid = :arg_empid
- AND parentid = 0
- And boxtype = :arg_boxtype;
- IF sqlca.SQLCode <> 0 THEN
- ll_boxid = 0
- arg_msg = '查询龙嘉邮箱失败,' + sqlca.SQLErrText
- GOTO ext
- END IF
- ext:
- RETURN ll_boxid
- end function
- public function integer uf_initbox (long arg_empid, ref string arg_msg, boolean if_commit);Int rslt = 1
- Long ll_cnt
- SELECT count(0)
- INTO :ll_cnt
- FROM u_ljmail_box
- WHERE empid = :arg_empid
- And parentid = 0;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询龙嘉邮件箱失败,' + sqlca.SQLErrText
- GOTO ext
- END IF
- Long ll_boxid
- IF ll_cnt = 0 THEN
-
- // 收件箱
- ll_boxid = f_sys_scidentity(0,"u_ljmail_box","boxid",arg_msg,True,id_sqlca)
- IF ll_boxid <= 0 THEN
- rslt = 0
- GOTO ext
- END IF
- INSERT INTO u_ljmail_box(boxid,
- boxname,
- empid,
- parentid,
- boxtype)
- VALUES(:ll_boxid,
- '收件箱',
- :arg_empid,
- 0,
- 1);
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '初始化收件箱失败,' + sqlca.SQLErrText
- GOTO ext
- END IF
-
- // 发件箱
- ll_boxid = f_sys_scidentity(0,"u_ljmail_box","boxid",arg_msg,True,id_sqlca)
- IF ll_boxid <= 0 THEN
- rslt = 0
- GOTO ext
- END IF
- INSERT INTO u_ljmail_box(boxid,
- boxname,
- empid,
- parentid,
- boxtype)
- VALUES(:ll_boxid,
- '发件箱',
- :arg_empid,
- 0,
- 2);
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '初始化发件箱失败,' + sqlca.SQLErrText
- GOTO ext
- END IF
-
- // 已发件箱
- ll_boxid = f_sys_scidentity(0,"u_ljmail_box","boxid",arg_msg,True,id_sqlca)
- IF ll_boxid <= 0 THEN
- rslt = 0
- GOTO ext
- END IF
- INSERT INTO u_ljmail_box(boxid,
- boxname,
- empid,
- parentid,
- boxtype)
- VALUES(:ll_boxid,
- '已发件箱',
- :arg_empid,
- 0,
- 3);
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '初始化已发件箱失败,' + sqlca.SQLErrText
- GOTO ext
- END IF
-
- // 废件箱
- ll_boxid = f_sys_scidentity(0,"u_ljmail_box","boxid",arg_msg,True,id_sqlca)
- IF ll_boxid <= 0 THEN
- rslt = 0
- GOTO ext
- END IF
- INSERT INTO u_ljmail_box(boxid,
- boxname,
- empid,
- parentid,
- boxtype)
- VALUES(:ll_boxid,
- '废件箱',
- :arg_empid,
- 0,
- 4);
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '初始化废件箱失败,' + sqlca.SQLErrText
- GOTO ext
- END IF
-
- END IF
- ext:
- IF if_commit THEN
- IF rslt = 1 THEN
- COMMIT;
- ELSE
- ROLLBACK;
- END IF
- END IF
- RETURN rslt
- end function
- public function integer uf_getparentid (long arg_boxid, ref long arg_parentid, ref string arg_msg);Int rslt = 1
- SELECT parentid
- INTO :arg_parentid
- FROM u_ljmail_box
- Where boxid = :arg_boxid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询父邮箱失败,ID:' + String(arg_boxid) + sqlca.SQLErrText
- GOTO ext
- END IF
- ext:
- RETURN rslt
- end function
- public function integer uf_getboxtype (long arg_boxid, ref long arg_boxtype, ref string arg_msg);Int rslt = 1
- SELECT boxtype
- INTO :arg_boxtype
- FROM u_ljmail_box
- Where boxid = :arg_boxid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询邮箱类型失败,ID:' + String(arg_boxid) + sqlca.SQLErrText
- GOTO ext
- END IF
- ext:
- RETURN rslt
- end function
- on uo_ljmail_box.create
- call super::create
- TriggerEvent( this, "constructor" )
- end on
- on uo_ljmail_box.destroy
- TriggerEvent( this, "destructor" )
- call super::destroy
- end on
|