123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426 |
- $PBExportHeader$uo_employ.sru
- forward
- global type uo_employ from nonvisualobject
- end type
- end forward
- global type uo_employ from nonvisualobject
- end type
- global uo_employ uo_employ
- type variables
- Long employid
- String employcode
- String employname
- String duty
- DateTime employdate
- String firsttestor
- String retestor
- Long ifemploy
- String employway
- string dscrp
- Long flag
- String opemp
- DateTime opdate
- String modemp
- DateTime moddate
- String auditrep
- DateTime auditdate
- string dscrp2
- Long addempid
- Boolean it_newbegin = False //新建标志
- Boolean it_updatebegin = False //修改标志
- end variables
- forward prototypes
- public function integer p_reset ()
- public function integer p_getinfo (long arg_employid, ref string arg_msg)
- public function integer newbegin ()
- public function integer updatebegin (long arg_employid, ref string arg_msg)
- public function integer save (ref string arg_msg, boolean arg_ifcommit)
- public function integer del (long arg_employid, ref string arg_msg)
- public function integer auditing (long arg_employid, ref string arg_msg, boolean arg_ifcommit)
- public function integer c_auditing (long arg_employid, ref string arg_msg, boolean arg_ifcommit)
- end prototypes
- public function integer p_reset ();employid = 0
- employcode = ''
- employname = ''
- duty = ''
- firsttestor = ''
- retestor = ''
- ifemploy = 0
- employway = ''
- flag = 0
- dscrp2 = ''
- dscrp = ''
- it_newbegin=false
- it_updatebegin=false
- return 1
- end function
- public function integer p_getinfo (long arg_employid, ref string arg_msg);long rslt = 1
- SELECT u_employ.employname,
- u_employ.duty,
- u_employ.employdate,
- u_employ.employway,
- u_employ.firsttestor,
- u_employ.retestor,
- u_employ.ifemploy,
- u_employ.employcode,
- u_employ.flag,
- u_employ.opemp,
- u_employ.opdate,
- u_employ.modemp,
- u_employ.moddate,
- u_employ.auditrep,
- u_employ.auditdate ,
- u_employ.dscrp2
- INTO :employname,
- :duty,
- :employdate,
- :employway,
- :firsttestor,
- :retestor,
- :ifemploy,
- :employcode,
- :flag,
- :opemp,
- :opdate,
- :modemp,
- :moddate,
- :auditrep,
- :auditdate,
- :dscrp2
- FROM u_employ
- WHERE u_employ.employid = :arg_employid ;
-
- if sqlca.sqlcode <> 0 then
- rslt = 0
- arg_msg = '查询应聘人员登记表失败(错误单据唯一码)'+sqlca.sqlerrtext
- goto ext
- end if
-
- employid = arg_employid
-
- ext:
- return rslt
- end function
- public function integer newbegin ();p_reset()
- it_newbegin = true
- it_updatebegin = false
- return 1
- end function
- public function integer updatebegin (long arg_employid, ref string arg_msg);int rslt = 1
- if arg_employid < 0 then
- rslt = 0
- arg_msg = '错误的应聘人员登记表唯一码'
- goto ext
- end if
- if p_getinfo(arg_employid,arg_msg) = 0 then
- rslt = 0
- goto ext
- end if
- if flag = 1 then
- rslt = 0
- arg_msg = "该应聘人员登记表已审核,不能修改"
- goto ext
- end if
- employid = arg_employid
- it_newbegin = false
- it_updatebegin = true
- ext:
- if rslt = 0 then p_reset()
- return rslt
- end function
- public function integer save (ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- DateTime server_dt
- Long ls_newid
- IF IsNull(employname) THEN employname = ''
- IF IsNull(duty) THEN duty = ''
- IF IsNull(firsttestor) THEN firsttestor = ''
- IF IsNull(retestor) THEN retestor = ''
- IF IsNull(ifemploy) THEN ifemploy = 0
- IF IsNull(employway) THEN employway = ''
- IF IsNull(dscrp) THEN dscrp = ''
- IF IsNull(dscrp2) THEN dscrp2 = ''
- IF it_newbegin = False And it_updatebegin = False THEN
- rslt = 0
- arg_msg = "非编辑状态不可以提交"
- GOTO ext
- END IF
- SELECT Top 1 getdate() Into :server_dt From u_user;
- //取得系统时间,借用操作员表
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "查询操作失败,日期 "
- GOTO ext
- END IF
- IF addempid = 0 THEN
- rslt = 0
- arg_msg = '请选择人员增补申请单'
- GOTO ext
- END IF
- IF employid = 0 THEN //新建
- ls_newid = f_sys_scidentity(0,"u_employ","employid",arg_msg,True,id_sqlca)
- IF ls_newid < 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- employcode = getid(0,"YP",Date(server_dt),False,sqlca) //取得新单据编号
- IF employcode = "err" THEN
- employcode = ''
- rslt = 0
- arg_msg = "无法获取应聘人员登记表编号"
- GOTO ext
- END IF
-
- INSERT INTO u_employ(
- u_employ.employid,
- u_employ.employcode,
- u_employ.employname,
- u_employ.duty,
- u_employ.employdate,
- u_employ.firsttestor,
- u_employ.retestor,
- u_employ.ifemploy,
- u_employ.dscrp,
- u_employ.employway,
- u_employ.flag,
- u_employ.opemp,
- u_employ.opdate,
- u_employ.dscrp2,
- u_employ.addempid)
- VALUES ( :ls_newid,
- :employcode,
- :employname,
- :duty,
- :employdate,
- :firsttestor,
- :retestor,
- :ifemploy,
- :dscrp,
- :employway,
- 0,
- :publ_operator,
- :server_dt,
- :dscrp2,
- :addempid);
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "因网络或其它原因导致插入操作失败>>"+"~n"+sqlca.SQLErrText
- GOTO ext
- END IF
-
- employid = ls_newid
-
- ELSE //////// //更新
- UPDATE u_employ
- SET employname = :employname,
- duty = :duty,
- employdate = :employdate,
- firsttestor = :firsttestor,
- retestor = :retestor,
- ifemploy = :ifemploy,
- employway = :employway,
- dscrp = :dscrp,
- modemp = :publ_operator,
- moddate = :server_dt,
- dscrp2 = :dscrp2,
- addempid = :addempid
- WHERE u_employ.employid = :employid AND
- u_employ.flag = 0 ;
- IF sqlca.SQLCode <> 0 Or sqlca.SQLNRows <= 0 THEN
- rslt = 0
- arg_msg = "因网络或其它原因导致更新单据操作失败"+"~n"+sqlca.SQLErrText
- GOTO ext
- END IF
- END IF
- it_newbegin = False
- it_updatebegin = False
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSEIF rslt = 1 And arg_ifcommit THEN
- COMMIT;
- END IF
- Return(rslt)
- end function
- public function integer del (long arg_employid, ref string arg_msg);long rslt = 1
- if arg_employid <= 0 then
- rslt = 0
- arg_msg = '没有删除对象'
- goto ext
- end if
- if p_getinfo(arg_employid,arg_msg) = 0 then
- rslt = 0
- goto ext
- end if
- if flag = 1 then
- rslt = 0
- arg_msg = "该应聘人员登记表已经审核,不能删除"
- goto ext
- end if
- if it_newbegin or it_updatebegin then
- rslt=0
- arg_msg="编辑状态下不可以执行,操作取消"
- goto ext
- end if
- delete from u_employ where u_employ.employid = :arg_employid ;
- if sqlca.sqlcode <> 0 then
- rslt = 0
- arg_msg = "删除人员登记表操作失败"+"~n"+sqlca.sqlerrtext
- goto ext
- end if
- commit;
- it_newbegin = false
- it_updatebegin = false
- if rslt = 0 then
- rollback;
- p_reset()
- end if
- ext:
- return (rslt)
- end function
- public function integer auditing (long arg_employid, ref string arg_msg, boolean arg_ifcommit);long rslt = 1 ,cnt
- if arg_employid <= 0 then
- rslt = 0
- arg_msg = "错误应聘人员登记表唯一码"
- goto ext
- end if
- if p_getinfo(arg_employid,arg_msg) = 0 then
- rslt = 0
- goto ext
- end if
- if flag = 1 then
- rslt = 0
- arg_msg = "该应聘人员登记表已经审核,操作取消"
- goto ext
- end if
- cnt=0
- SELECT count(*) INTO :cnt
- FROM u_user
- WHERE username=:publ_operator using sqlca;
- if sqlca.sqlcode<>0 then
- rslt=0
- arG_MSG="查询操作失败,操作员!"
- goto ext
- end if
- if cnt=0 then
- rslt=0
- arG_MSG="操作员姓名未登记或已取消!"
- goto ext
- end if
- update u_employ
- set u_employ.flag = 1,
- u_employ.auditrep = :publ_operator,
- u_employ.auditdate = getdate()
- where u_employ.employid = :arg_employid ;
- if sqlca.sqlcode<>0 then
- ARG_msg='更新应聘人员登记表审核状态失败,原因>>'+sqlca.sqlerrtext
- rslt=0
- goto ext
- end if
- ext:
- if rslt=0 then
- rollback;
- elseif rslt=1 and arg_ifcommit then
- commit;
- end if
- return rslt
- end function
- public function integer c_auditing (long arg_employid, ref string arg_msg, boolean arg_ifcommit);long rslt = 1,cnt = 0
- datetime null_dt
- setnull(null_dt)
- if arg_employid <= 0 then
- rslt = 0
- arg_msg = "错误应聘人员登记表唯一码"
- goto ext
- end if
- if p_getinfo(arg_employid,arg_msg) = 0 then
- rslt = 0
- goto ext
- end if
- if flag = 0 then
- rslt = 0
- arg_msg = "该应聘人员登记表还未审核,操作取消"
- goto ext
- end if
- update u_employ
- set u_employ.flag = 0,
- u_employ.auditrep = '',
- u_employ.auditdate = :null_dt
- where u_employ.employid = :arg_employid;
- if sqlca.sqlcode<>0 then
- rslt=0
- arg_Msg='更新应聘人员登记表状态失败!原因:'+sqlca.sqlerrtext
- goto ext
- end if
- ext:
- if rslt=0 then
- rollback;
- elseif rslt=1 and arg_ifcommit then
- commit;
- end if
- return rslt
- end function
- on uo_employ.create
- call super::create
- TriggerEvent( this, "constructor" )
- end on
- on uo_employ.destroy
- TriggerEvent( this, "destructor" )
- call super::destroy
- end on
|