123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605 |
- $PBExportHeader$uo_reexam.sru
- forward
- global type uo_reexam from nonvisualobject
- end type
- end forward
- global type uo_reexam from nonvisualobject
- end type
- global uo_reexam uo_reexam
- type variables
- Long reexamid
- String reexamcode
- String employname
- String duty
- Long departmentid
- DateTime reexamdate
- String emptel
- String firsttestor
- String consultor
- String result
- String workidea
- String deptidea
- String manageridea
- Long flag
- String opemp
- DateTime opdate
- String modemp
- DateTime moddate
- String auditrep
- DateTime auditdate
- String dscrp
- Long addempid
- Int ifemploy
- Boolean it_newbegin = False //新建标志
- Boolean it_updatebegin = False //修改标志
- end variables
- forward prototypes
- public function integer p_reset ()
- public function integer p_getinfo (long arg_reexamid, ref string arg_msg)
- public function integer newbegin ()
- public function integer updatebegin (long arg_reexamid, ref string arg_msg)
- public function integer save (ref string arg_msg, boolean arg_ifcommit)
- public function integer del (long arg_reexamid, ref string arg_msg)
- public function integer auditing (long arg_reexamid, ref string arg_msg, boolean arg_ifcommit)
- public function integer c_auditing (long arg_reexamid, ref string arg_msg, boolean arg_ifcommit)
- public function integer add_workidea (long arg_reexamid, string arg_newidea, ref string arg_msg)
- public function integer add_deptidea (long arg_reexamid, string arg_newidea, ref string arg_msg)
- public function integer add_manageridea (long arg_reexamid, string arg_newidea, ref string arg_msg)
- public function integer add_result (long arg_reexamid, string arg_newidea, ref string arg_msg)
- end prototypes
- public function integer p_reset ();reexamid = 0
- reexamcode = ''
- employname = ''
- departmentid = 0
- duty = ''
- firsttestor = ''
- consultor = ''
- result = ''
- workidea = ''
- deptidea = ''
- manageridea = ''
- flag = 0
- dscrp = ''
-
- it_newbegin=false
- it_updatebegin=false
- return 1
- end function
- public function integer p_getinfo (long arg_reexamid, ref string arg_msg);long rslt = 1
- SELECT u_reexam.employname,
- u_reexam.duty,
- u_reexam.departmentid,
- u_reexam.reexamdate,
- u_reexam.firsttestor,
- u_reexam.consultor,
- u_reexam.result,
- u_reexam.workidea,
- u_reexam.deptidea,
- u_reexam.manageridea,
- u_reexam.reexamcode,
- u_reexam.flag,
- u_reexam.opemp,
- u_reexam.opdate,
- u_reexam.modemp,
- u_reexam.moddate,
- u_reexam.auditrep,
- u_reexam.auditdate ,
- u_reexam.dscrp
- INTO :employname,
- :duty,
- :departmentid,
- :reexamdate,
- :firsttestor,
- :consultor,
- :result,
- :workidea,
- :deptidea,
- :manageridea,
- :reexamcode,
- :flag,
- :opemp,
- :opdate,
- :modemp,
- :moddate,
- :auditrep,
- :auditdate,
- :dscrp
- FROM u_reexam
- WHERE u_reexam.reexamid = :arg_reexamid ;
-
- if sqlca.sqlcode <> 0 then
- rslt = 0
- arg_msg = '查询复试通知失败(错误单据唯一码)'+sqlca.sqlerrtext
- goto ext
- end if
-
- reexamid = arg_reexamid
-
- 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_reexamid, ref string arg_msg);int rslt = 1
- if arg_reexamid < 0 then
- rslt = 0
- arg_msg = '错误的复试通知单唯一码'
- goto ext
- end if
- if p_getinfo(arg_reexamid,arg_msg) = 0 then
- rslt = 0
- goto ext
- end if
- if flag = 1 then
- rslt = 0
- arg_msg = "该复试通知单已审核,不能修改"
- goto ext
- end if
- reexamid = arg_reexamid
- 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(reexamcode) THEN reexamcode = ''
- IF IsNull(employname) THEN employname = ''
- IF IsNull(duty) THEN duty = ''
- IF IsNull(departmentid) THEN departmentid = 0
- IF IsNull(addempid) THEN addempid = 0
- IF IsNull(ifemploy) THEN ifemploy = 0
- IF IsNull(firsttestor) THEN firsttestor = ''
- IF IsNull(consultor) THEN consultor = ''
- IF IsNull(result) THEN result = ''
- IF IsNull(workidea) THEN workidea = ''
- IF IsNull(deptidea) THEN deptidea = ''
- IF IsNull(manageridea) THEN manageridea = ''
- IF IsNull(emptel) THEN emptel = ''
- IF IsNull(dscrp) THEN dscrp = ''
- 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 reexamid = 0 THEN
- ls_newid = f_sys_scidentity(0,"u_reexam","reexamid",arg_msg,False,sqlca)
- IF ls_newid < 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- reexamcode = getid(0,"FZ",Date(server_dt),False,sqlca) //取得新单据编号
- IF reexamcode = "err" THEN
- reexamcode = ''
- rslt = 0
- arg_msg = "无法获取复试通知单编号"
- GOTO ext
- END IF
-
- INSERT INTO u_reexam(
- u_reexam.reexamid,
- u_reexam.reexamcode,
- u_reexam.employname,
- u_reexam.duty,
- u_reexam.departmentid,
- u_reexam.reexamdate,
- u_reexam.emptel,
- u_reexam.firsttestor,
- u_reexam.consultor,
- u_reexam.flag,
- u_reexam.opemp,
- u_reexam.opdate,
- u_reexam.dscrp,
- u_reexam.addempid,
- u_reexam.ifemploy)
- VALUES ( :ls_newid,
- :reexamcode,
- :employname,
- :duty,
- :departmentid,
- :reexamdate,
- :emptel,
- :firsttestor,
- :consultor,
- 0,
- :publ_operator,
- :server_dt,
- :dscrp,
- :addempid,
- :ifemploy);
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "因网络或其它原因导致插入操作失败>>"+"~n"+sqlca.SQLErrText
- GOTO ext
- END IF
-
- reexamid = ls_newid
-
- ELSE
- UPDATE u_reexam
- SET employname = :employname,
- duty = :duty,
- departmentid = :departmentid,
- reexamdate = :reexamdate,
- emptel = :emptel,
- firsttestor = :firsttestor,
- consultor = :consultor,
- modemp = :publ_operator,
- moddate = :server_dt,
- dscrp = :dscrp,
- addempid = :addempid ,
- ifemploy = :ifemploy
- WHERE u_reexam.reexamid = :reexamid AND
- u_reexam.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_reexamid, ref string arg_msg);long rslt = 1
- if arg_reexamid <= 0 then
- rslt = 0
- arg_msg = '没有删除对象'
- goto ext
- end if
- if p_getinfo(arg_reexamid,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_reexam where u_reexam.reexamid = :arg_reexamid ;
- 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_reexamid, ref string arg_msg, boolean arg_ifcommit);long rslt = 1 ,cnt
- if arg_reexamid <= 0 then
- rslt = 0
- arg_msg = "错误复试通知单唯一码"
- goto ext
- end if
- if p_getinfo(arg_reexamid,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_reexam
- set u_reexam.flag = 1,
- u_reexam.auditrep = :publ_operator,
- u_reexam.auditdate = getdate()
- where u_reexam.reexamid = :arg_reexamid ;
- 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_reexamid, ref string arg_msg, boolean arg_ifcommit);long rslt = 1,cnt = 0
- datetime null_dt
- setnull(null_dt)
- if arg_reexamid <= 0 then
- rslt = 0
- arg_msg = "错误复试通知单唯一码"
- goto ext
- end if
- if p_getinfo(arg_reexamid,arg_msg) = 0 then
- rslt = 0
- goto ext
- end if
- if flag = 0 then
- rslt = 0
- arg_msg = "该复试通知单还未审核,操作取消"
- goto ext
- end if
- update u_reexam
- set u_reexam.flag = 0,
- u_reexam.auditrep = '',
- u_reexam.auditdate = :null_dt
- where u_reexam.reexamid = :arg_reexamid;
- 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
- public function integer add_workidea (long arg_reexamid, string arg_newidea, ref string arg_msg);Int rslt = 1
- arg_newidea = Trim(arg_newidea)
- IF arg_reexamid <= 0 THEN
- rslt = 0
- arg_msg = "错误的复试通知单唯一码"
- GOTO ext
- END IF
- IF p_getinfo(arg_reexamid,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- IF flag = 0 THEN
- rslt = 0
- arg_msg = "非审核状态下不可用"
- GOTO ext
- END IF
- UPDATE u_reexam
- SET workidea = ltrim(rtrim(workidea))+' '+:arg_newidea
- Where u_reexam.reexamid = :arg_reexamid;
-
- IF sqlca.SQLCode <> 0 THEN
- ROLLBACK ;
- rslt = 0
- arg_msg = "因网络或其它原因导致添加科/车间主管意见操作失败"+"~n"+sqlca.SQLErrText
- GOTO ext
- END IF
- COMMIT;
- workidea = workidea+' '+arg_newidea
- ext:
- RETURN rslt
- end function
- public function integer add_deptidea (long arg_reexamid, string arg_newidea, ref string arg_msg);Int rslt = 1
- arg_newidea = Trim(arg_newidea)
- IF arg_reexamid <= 0 THEN
- rslt = 0
- arg_msg = "错误的复试通知单唯一码"
- GOTO ext
- END IF
- IF p_getinfo(arg_reexamid,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- IF flag = 0 THEN
- rslt = 0
- arg_msg = "非审核状态下不可用"
- GOTO ext
- END IF
- UPDATE u_reexam
- SET deptidea = ltrim(rtrim(deptidea))+' '+:arg_newidea
- Where u_reexam.reexamid = :arg_reexamid;
-
- IF sqlca.SQLCode <> 0 THEN
- ROLLBACK ;
- rslt = 0
- arg_msg = "因网络或其它原因导致添加部门经理意见操作失败"+"~n"+sqlca.SQLErrText
- GOTO ext
- END IF
- COMMIT;
- deptidea = deptidea+' '+arg_newidea
- ext:
- RETURN rslt
- end function
- public function integer add_manageridea (long arg_reexamid, string arg_newidea, ref string arg_msg);Int rslt = 1
- arg_newidea = Trim(arg_newidea)
- IF arg_reexamid <= 0 THEN
- rslt = 0
- arg_msg = "错误的复试通知单唯一码"
- GOTO ext
- END IF
- IF p_getinfo(arg_reexamid,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- IF flag = 0 THEN
- rslt = 0
- arg_msg = "非审核状态下不可用"
- GOTO ext
- END IF
- UPDATE u_reexam
- SET manageridea = ltrim(rtrim(manageridea))+' '+:arg_newidea
- Where u_reexam.reexamid = :arg_reexamid;
-
- IF sqlca.SQLCode <> 0 THEN
- ROLLBACK ;
- rslt = 0
- arg_msg = "因网络或其它原因导致添加副总/总经理意见操作失败"+"~n"+sqlca.SQLErrText
- GOTO ext
- END IF
- COMMIT;
- manageridea = manageridea+' '+arg_newidea
- ext:
- RETURN rslt
- end function
- public function integer add_result (long arg_reexamid, string arg_newidea, ref string arg_msg);Int rslt = 1
- arg_newidea = Trim(arg_newidea)
- IF arg_reexamid <= 0 THEN
- rslt = 0
- arg_msg = "错误的复试通知单唯一码"
- GOTO ext
- END IF
- IF p_getinfo(arg_reexamid,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- IF flag = 0 THEN
- rslt = 0
- arg_msg = "非审核状态下不可用"
- GOTO ext
- END IF
- UPDATE u_reexam
- SET u_reexam.result = ltrim(rtrim(u_reexam.result)) + ' ' + :arg_newidea
- Where u_reexam.reexamid = :arg_reexamid;
-
- IF sqlca.SQLCode <> 0 THEN
- ROLLBACK ;
- rslt = 0
- arg_msg = "因网络或其它原因导致添加复试情况操作失败"+"~n"+sqlca.SQLErrText
- GOTO ext
- END IF
- COMMIT;
- result = result+' '+arg_newidea
- ext:
- RETURN rslt
- end function
- on uo_reexam.create
- call super::create
- TriggerEvent( this, "constructor" )
- end on
- on uo_reexam.destroy
- TriggerEvent( this, "destructor" )
- call super::destroy
- end on
|