uo_loanwage.sru 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831
  1. $PBExportHeader$uo_loanwage.sru
  2. forward
  3. global type uo_loanwage from nonvisualobject
  4. end type
  5. end forward
  6. global type uo_loanwage from nonvisualobject
  7. end type
  8. global uo_loanwage uo_loanwage
  9. type variables
  10. public protectedwrite long billid //计件单自动增量id
  11. public protectedwrite string billcode //计件单的唯一编号
  12. public protectedwrite long wagemth //工资月份
  13. public protectedwrite datetime opdate //建立时间,自动
  14. public protectedwrite string opemp //建立人
  15. public protectedwrite datetime moddate //修改时间,自动
  16. public protectedwrite string modemp //修改人
  17. public protectedwrite int flag=0 //审核标志
  18. public protectedwrite datetime auditingdate //审核时间
  19. public protectedwrite string auditingrep //审核操作员
  20. long empid //人员ID
  21. datetime billdate //计件日期
  22. decimal loanamt //金额
  23. long wageid //工资项目id
  24. string loanreason //原因
  25. string cardcode //证件号
  26. string dscrp='' //备注
  27. long returndate //还款日
  28. Int cwauditingflag = 0 //总账审核标记
  29. DateTime cwauditingdate //总账审核时间
  30. String cwauditingrep //总账审核操作员
  31. uo_wage u_wage
  32. private:
  33. boolean it_newbegin=false //新建标志
  34. boolean it_updatebegin=false//修改标志
  35. end variables
  36. forward prototypes
  37. public function integer p_reset ()
  38. public function integer newbegin (ref string arg_msg)
  39. public function integer updatebegin (long arg_billid, ref string arg_msg)
  40. public function integer c_auditing (long arg_wageid, long arg_wagemth, ref string arg_msg, boolean arg_ifcommit)
  41. public function integer save (ref string arg_msg, boolean arg_ifcommit)
  42. public function integer del (long arg_billid, ref string arg_msg)
  43. public function integer add_dscrp (long arg_billid, string arg_newdescppart, ref string arg_msg)
  44. public function integer auditing (long arg_wageid, long arg_wagemth, ref string arg_msg, boolean arg_ifcommit)
  45. public function integer audit_subject (long arg_scid, long arg_billid, boolean arg_ifcommit, ref string arg_msg)
  46. public function integer c_audit_subject (long arg_scid, long arg_billid, boolean arg_ifcommit, ref string arg_msg)
  47. end prototypes
  48. public function integer p_reset ();//INT p_RESET()
  49. //清除对象及其明细
  50. billid=0
  51. billcode=''
  52. opemp=''
  53. auditingrep=''
  54. flag=0
  55. empid=0
  56. loanamt=0
  57. loanreason=''
  58. wageid=0
  59. returndate=0
  60. dscrp=''
  61. cardcode=''
  62. it_newbegin=FALSE
  63. it_updatebegin=FALSE
  64. RETURN 1
  65. end function
  66. public function integer newbegin (ref string arg_msg);p_reset()
  67. it_newbegin=TRUE
  68. it_updatebegin=FALSE
  69. return 1
  70. end function
  71. public function integer updatebegin (long arg_billid, ref string arg_msg);//====================================================================
  72. // Function: updatebegin(arg_billid,arg_msg)
  73. //--------------------------------------------------------------------
  74. // Description:
  75. //--------------------------------------------------------------------
  76. // Arguments:
  77. // value long arg_billid
  78. // reference string arg_msg
  79. //--------------------------------------------------------------------
  80. // Returns: integer
  81. //--------------------------------------------------------------------
  82. // Author: yyx Date: 2003.11.21
  83. //--------------------------------------------------------------------
  84. // Modify History:
  85. //
  86. //====================================================================
  87. int rslt = 1
  88. if arg_billid <= 0 then
  89. billid = 0
  90. arg_msg = '错误的单据ID'
  91. goto ext
  92. end if
  93. select
  94. u_gz_loanwage.billcode,
  95. u_gz_loanwage.billdate,
  96. u_gz_loanwage.wagemth,
  97. u_gz_loanwage.wageid,
  98. u_gz_loanwage.empid,
  99. u_gz_loanwage.loanamt,
  100. u_gz_loanwage.loanreason,
  101. u_gz_loanwage.cardcode,
  102. u_gz_loanwage.returndate,
  103. u_gz_loanwage.dscrp,
  104. u_gz_loanwage.flag
  105. into
  106. :billcode,
  107. :billdate,
  108. :wagemth,
  109. :wageid,
  110. :empid,
  111. :loanamt,
  112. :loanreason,
  113. :cardcode,
  114. :returndate,
  115. :dscrp,
  116. :flag
  117. from u_gz_loanwage where u_gz_loanwage.billid = :arg_billid;
  118. if sqlca.sqlcode <> 0 then
  119. rslt = 0
  120. if pos(lower(sqlca.SQLErrText),'more than') > 0 then
  121. arg_msg = '查询操作失败,查询数据返回值多于一个'
  122. else
  123. arg_msg = '查询数据操作失败(错误单据唯一码)'
  124. end if
  125. goto ext
  126. end if
  127. if flag = 1 then
  128. rslt = 0
  129. arg_msg = '单据已经审核,不可以修改'
  130. goto ext
  131. end if
  132. billid = arg_billid
  133. it_newbegin = false
  134. it_updatebegin = true
  135. ext:
  136. if rslt = 0 then p_reset()
  137. arg_msg = '借支单,'+ arg_msg
  138. return rslt
  139. end function
  140. public function integer c_auditing (long arg_wageid, long arg_wagemth, ref string arg_msg, boolean arg_ifcommit);
  141. long cnt=0,i
  142. int rslt=1
  143. datetime null_server_dt
  144. setnull(null_server_dt)
  145. select count(*) into :cnt
  146. from u_gz_loanwage
  147. where wagemth=:arg_wagemth
  148. and wageid = :arg_wageid
  149. and flag = 1;
  150. if sqlca.sqlcode<>0 then
  151. rslt=0
  152. arg_msg='查询借支单失败'
  153. goto ext
  154. end if
  155. if cnt=0 then
  156. rslt=0
  157. arg_msg='该月的借支单未审核,不用撤审!'
  158. goto ext
  159. end if
  160. select count(*) into :cnt from u_gz_wage
  161. where wagemth=:arg_wagemth and Auditingflag=1;
  162. if sqlca.sqlcode<>0 then
  163. rslt=0
  164. arg_msg='查询工资表失败'
  165. goto ext
  166. end if
  167. if cnt>0 then
  168. rslt=0
  169. arg_msg='该月的工资表已审核,不能撤审!'
  170. goto ext
  171. end if
  172. cnt=0
  173. select count(*) into :cnt from u_gz_wageitem where useflag=1 and wageid=:arg_wageid;
  174. if sqlca.sqlcode<>0 then
  175. rslt=0
  176. arg_msg='查询工资项目失败'
  177. goto ext
  178. end if
  179. if cnt=0 then
  180. rslt=0
  181. arg_msg='不存在该工资项目'
  182. goto ext
  183. end if
  184. SELECT flag,cwauditingflag Into :flag,:cwauditingflag From u_gz_loanwage where wagemth=:arg_wagemth
  185. and wageid = :arg_wageid;
  186. IF cwauditingflag = 1 THEN
  187. rslt = 0
  188. arg_msg = "单据已经总账审核,不能撤审!"
  189. GOTO ext
  190. END IF
  191. update u_gz_loanwage set
  192. flag=0,
  193. Auditrep='',
  194. Auditdate=:null_server_dt,
  195. wagemth=0
  196. where wagemth=:arg_wagemth and flag=1 and wageid=:arg_wageid;
  197. if sqlca.sqlcode<>0 then
  198. ARG_msg='更新借支单失败,原因:'+sqlca.sqlerrtext
  199. rslt=0
  200. goto ext
  201. end if
  202. update u_gz_wagemx set wageamt=0 where wageid=:arg_wageid and wagemth=:arg_wagemth;
  203. if sqlca.sqlcode<>0 then
  204. rslt=0
  205. arg_Msg='更新工资表失败!原因:'+sqlca.sqlerrtext
  206. goto ext
  207. end if
  208. ext:
  209. if rslt=0 then
  210. rollback;
  211. elseif rslt=1 and arg_ifcommit then
  212. commit;
  213. end if
  214. arg_msg = '借支单,'+ arg_msg
  215. return rslt
  216. end function
  217. public function integer save (ref string arg_msg, boolean arg_ifcommit);//====================================================================
  218. // Function: save(arg_msg,arg_ifcommit)
  219. //--------------------------------------------------------------------
  220. // Description:
  221. //--------------------------------------------------------------------
  222. // Arguments:
  223. // reference string arg_msg
  224. // value boolean arg_ifcommit
  225. //--------------------------------------------------------------------
  226. // Returns: integer
  227. //--------------------------------------------------------------------
  228. // Author: yyx Date: 2003.11.21
  229. //--------------------------------------------------------------------
  230. // Modify History:
  231. //
  232. //====================================================================
  233. integer rslt = 1,cnt = 0,i
  234. datetime server_dt
  235. long ls_newid
  236. if isnull(empid) then empid = 0
  237. if isnull(loanamt) then loanamt = 0
  238. if isnull(wageid) then wageid = 0
  239. if isnull(loanreason) then loanreason = ''
  240. if isnull(cardcode) then cardcode = ''
  241. if isnull(dscrp) then dscrp = ''
  242. if isnull(returndate) then returndate = 0
  243. if it_newbegin = false and it_updatebegin = false then
  244. rslt = 0
  245. arg_msg = "非编辑状态不可以提交"
  246. goto ext
  247. end if
  248. select count(*) into :cnt
  249. from u_rs_empinfo
  250. where empid = :empid;
  251. if sqlca.sqlcode <> 0 then
  252. arg_msg = '查询人员资料失败'
  253. rslt = 0
  254. goto ext
  255. end if
  256. if cnt = 0 then
  257. arg_msg = '人员资料不存在'
  258. rslt = 0
  259. goto ext
  260. end if
  261. cnt = 0
  262. select count(*) into :cnt
  263. from u_gz_wageitem
  264. where wageid = :wageid;
  265. if sqlca.sqlcode <> 0 then
  266. arg_msg = '查询工资项目资料失败'
  267. rslt = 0
  268. goto ext
  269. end if
  270. if cnt > 1 then
  271. arg_msg = '工资项目重复'
  272. rslt = 0
  273. goto ext
  274. end if
  275. if loanamt <= 0 then
  276. arg_msg = '请输入正确的借款金额'
  277. rslt = 0
  278. goto ext
  279. end if
  280. select top 1 getdate() into :server_dt from u_user;
  281. //取得系统时间,借用操作员表
  282. if sqlca.sqlcode <> 0 then
  283. rslt = 0
  284. arg_msg = "查询操作失败,日期 "
  285. goto ext
  286. end if
  287. if year(date(billdate)) < 2000 or isnull(billdate) then
  288. rslt = 0
  289. arg_msg = "时间不合理"
  290. goto ext
  291. end if
  292. if returndate <= 0 then
  293. rslt = 0
  294. arg_msg = '还款月份输入错误'
  295. goto ext
  296. end if
  297. ////////////////////////////////////////////////开始区分:新建/更新 处理
  298. if billid = 0 then //新建
  299. ls_newid = f_sys_scidentity(0,"u_gz_loanwage","billid",arg_msg,true,sqlca)
  300. if ls_newid <= 0 then
  301. rslt = 0
  302. goto ext
  303. end if
  304. billcode = getid(0,"JZ",date(server_dt),true,sqlca) //取得新单据编号
  305. if billcode = "err" then
  306. billcode = ''
  307. rslt = 0
  308. arg_msg = "无法获取借支单编号"
  309. goto ext
  310. end if
  311. insert into u_gz_loanwage (
  312. billid,
  313. billcode,
  314. billdate,
  315. Wagemth,
  316. wageid,
  317. empid,
  318. loanamt,
  319. loanreason,
  320. cardcode,
  321. returndate,
  322. dscrp,
  323. opdate,
  324. opemp)
  325. values (
  326. :ls_newid,
  327. :billcode,
  328. :billdate,
  329. :Wagemth,
  330. :wageid,
  331. :empid,
  332. :loanamt,
  333. :loanreason,
  334. :cardcode,
  335. :returndate,
  336. :dscrp,
  337. :server_dt,
  338. :publ_operator);
  339. if sqlca.sqlcode <> 0 then
  340. rslt = 0
  341. if pos(lower(sqlca.SQLErrText),'pk_u_gz_loanwage') > 0 then
  342. arg_msg = '插入操作失败,关键字单据ID重复'
  343. elseif pos(lower(sqlca.SQLErrText),'ix_u_gz_loanwage') > 0 then
  344. arg_msg = '插入操作失败,单据编号重复'
  345. else
  346. arg_msg = "因网络或其它原因导致插入操作失败>>"+"~n"+sqlca.sqlerrtext
  347. end if
  348. goto ext
  349. end if
  350. billid = ls_newid
  351. else //////////////////////////////////////////////////更新
  352. update u_gz_loanwage
  353. set billdate = :billdate,
  354. wageid = :wageid,
  355. empid = :empid,
  356. loanamt = :loanamt,
  357. loanreason = :loanreason,
  358. cardcode = :cardcode,
  359. returndate = :returndate,
  360. moddate = :server_dt,
  361. modemp = :modemp,
  362. dscrp = :dscrp
  363. where u_gz_loanwage.billid = :billid
  364. and flag = 0;
  365. if sqlca.sqlcode <> 0 or sqlca.sqlnrows <= 0 then
  366. rslt = 0
  367. if pos(lower(sqlca.SQLErrText),'pk_u_gz_loanwage') > 0 then
  368. arg_msg = '插入操作失败,关键字单据ID重复'
  369. elseif pos(lower(sqlca.SQLErrText),'ix_u_gz_loanwage') > 0 then
  370. arg_msg = '插入操作失败,单据编号重复'
  371. else
  372. arg_msg = "因网络或其它原因导致插入操作失败>>"+"~n"+sqlca.sqlerrtext
  373. end if
  374. goto ext
  375. end if
  376. end if
  377. it_newbegin = false
  378. it_updatebegin = false
  379. ext:
  380. if rslt = 0 then
  381. rollback;
  382. elseif rslt=1 and arg_ifcommit then
  383. commit;
  384. end if
  385. arg_msg = '借支单,'+ arg_msg
  386. return(rslt)
  387. end function
  388. public function integer del (long arg_billid, ref string arg_msg);//====================================================================
  389. // Function: del(arg_billid,arg_msg)
  390. //--------------------------------------------------------------------
  391. // Description:
  392. //--------------------------------------------------------------------
  393. // Arguments:
  394. // value long arg_billid
  395. // reference string arg_msg
  396. //--------------------------------------------------------------------
  397. // Returns: integer
  398. //--------------------------------------------------------------------
  399. // Author: yyx Date: 2003.11.21
  400. //--------------------------------------------------------------------
  401. // Modify History:
  402. //
  403. //====================================================================
  404. int rslt = 1
  405. if arg_billid <= 0 then
  406. rslt = 0
  407. arg_msg = "没有删除对象,操作取消"
  408. goto ext
  409. end if
  410. if it_newbegin or it_updatebegin then
  411. rslt=0
  412. arg_msg="编辑状态下不可以执行,操作取消"
  413. goto ext
  414. end if
  415. select u_gz_loanwage.flag
  416. into :flag
  417. from u_gz_loanwage
  418. where u_gz_loanwage.billid = :arg_billid;
  419. if sqlca.sqlcode <> 0 then
  420. rslt = 0
  421. arg_msg = '查询借支单操作失败'
  422. goto ext
  423. end if
  424. if flag = 1 then
  425. rslt = 0
  426. arg_msg = "单据已经审核,不可以删除"
  427. goto ext
  428. end if
  429. delete from u_gz_loanwage where u_gz_loanwage.billid = :arg_billid;
  430. if sqlca.sqlcode <> 0 then
  431. rslt = 0
  432. arg_msg = "删除借支单操作失败"+"~n"+sqlca.sqlerrtext
  433. goto ext
  434. end if
  435. commit;
  436. it_newbegin = false
  437. it_updatebegin = false
  438. ext:
  439. if rslt = 0 then
  440. rollback;
  441. p_reset()
  442. end if
  443. arg_msg = '借支单,'+ arg_msg
  444. return (rslt)
  445. end function
  446. public function integer add_dscrp (long arg_billid, string arg_newdescppart, ref string arg_msg);//====================================================================
  447. // Function: add_dscrp(arg_billid,arg_newdescppart,arg_msg)
  448. //--------------------------------------------------------------------
  449. // Description:
  450. //--------------------------------------------------------------------
  451. // Arguments:
  452. // value long arg_billid
  453. // value string arg_newdescppart
  454. // reference string arg_msg
  455. //--------------------------------------------------------------------
  456. // Returns: integer
  457. //--------------------------------------------------------------------
  458. // Author: yyx Date: 2003.11.21
  459. //--------------------------------------------------------------------
  460. // Modify History:
  461. //
  462. //====================================================================
  463. int rslt = 1
  464. arg_newdescppart = trim(arg_newdescppart)
  465. if arg_billid <= 0 then
  466. rslt = 0
  467. arg_msg = "没有删除对象,操作取消"
  468. goto ext
  469. end if
  470. if it_newbegin or it_updatebegin then
  471. rslt=0
  472. arg_msg="编辑状态下不可以执行,操作取消"
  473. goto ext
  474. end if
  475. select u_gz_loanwage.flag
  476. into :flag
  477. from u_gz_loanwage
  478. where u_gz_loanwage.billid = :arg_billid;
  479. if sqlca.sqlcode <> 0 then
  480. rslt = 0
  481. if pos(lower(sqlca.SQLErrText),'more than') > 0 then
  482. arg_msg = '查询操作失败,查询数据返回值多于一个'
  483. else
  484. arg_msg = '查询借支单操作失败(错误单据唯一码)'
  485. end if
  486. goto ext
  487. end if
  488. if flag = 0 then
  489. rslt = 0
  490. arg_msg = "非审核状态下不可用"
  491. goto ext
  492. end if
  493. update u_gz_loanwage
  494. set dscrp = dscrp+' '+:arg_newdescppart
  495. where u_gz_loanwage.billid = :billid;
  496. if sqlca.sqlcode <> 0 then
  497. rollback ;
  498. rslt = 0
  499. arg_msg = "因网络或其它原因导致添加单据备注操作失败"+"~n"+sqlca.sqlerrtext
  500. goto ext
  501. end if
  502. commit;
  503. dscrp = dscrp+' '+arg_newdescppart
  504. ext:
  505. arg_msg = '借支单,'+ arg_msg
  506. return (rslt)
  507. end function
  508. public function integer auditing (long arg_wageid, long arg_wagemth, ref string arg_msg, boolean arg_ifcommit);//====================================================================
  509. // Function: auditing()
  510. //--------------------------------------------------------------------
  511. // Description:
  512. //--------------------------------------------------------------------
  513. // Arguments:
  514. // value long arg_wageid
  515. // value long arg_wagemth
  516. // value datetime arg_enddate
  517. // reference string arg_msg
  518. // value boolean arg_ifcommit
  519. //--------------------------------------------------------------------
  520. // Returns: integer
  521. //--------------------------------------------------------------------
  522. // Author: yyx Date: 2004.10.19
  523. //--------------------------------------------------------------------
  524. // Modify History:
  525. //
  526. //====================================================================
  527. long cnt=0,i
  528. int rslt=1
  529. decimal ls_emp_sumwage
  530. datastore ds_emp_sumloanwage
  531. cnt=0
  532. select count(*) into :cnt
  533. from u_gz_loanwage
  534. where wagemth=:arg_wagemth
  535. and wageid = :arg_wageid
  536. and flag=1;
  537. if sqlca.sqlcode<>0 then
  538. rslt=0
  539. arg_msg='查询借支单明细失败!'
  540. goto ext
  541. end if
  542. if cnt>0 then
  543. rslt=0
  544. arg_msg='该月的借支单已审核,审核前请先执行撤审!'
  545. goto ext
  546. end if
  547. cnt=0
  548. select count(*) into :cnt
  549. from u_gz_wageitem where useflag=1 and wageid=:arg_wageid;
  550. if sqlca.sqlcode<>0 then
  551. rslt=0
  552. arg_msg='查询工资项目失败!'
  553. goto ext
  554. end if
  555. if cnt=0 then
  556. rslt=0
  557. arg_msg='不存在该工资项目!'
  558. goto ext
  559. end if
  560. ds_emp_sumloanwage=create datastore
  561. ds_emp_sumloanwage.dataobject='dw_emp_sumloanwage'
  562. ds_emp_sumloanwage.settransobject(sqlca)
  563. if ds_emp_sumloanwage.retrieve(arg_wagemth,arg_wageid)<=0 then
  564. rslt=0
  565. arg_msg='本月没有借支单可审核或查询借支单失败'
  566. goto ext
  567. end if
  568. for i= 1 to ds_emp_sumloanwage.rowcount()
  569. ls_emp_sumwage=0.00
  570. ls_emp_sumwage=ds_emp_sumloanwage.object.sumwage[i]
  571. if u_wage.f_setwagemxdata(arg_wagemth,ds_emp_sumloanwage.object.empid[i],arg_wageid,ls_emp_sumwage,arg_msg,false)=0 then
  572. rslt=0
  573. goto ext
  574. end if
  575. next
  576. update u_gz_loanwage set
  577. flag=1,
  578. auditrep=:publ_operator,
  579. Auditdate=getdate(),
  580. wagemth=:arg_wagemth
  581. where returndate = :arg_wagemth and
  582. wageid = :arg_wageid and
  583. flag = 0;
  584. if sqlca.sqlcode<>0 then
  585. ARG_msg='更新借支单失败,原因>>'+sqlca.sqlerrtext
  586. rslt=0
  587. goto ext
  588. end if
  589. ext:
  590. if rslt=0 then
  591. rollback;
  592. elseif rslt=1 and arg_ifcommit then
  593. commit;
  594. end if
  595. arg_msg = '借支单,'+ arg_msg
  596. return rslt
  597. end function
  598. public function integer audit_subject (long arg_scid, long arg_billid, boolean arg_ifcommit, ref string arg_msg);
  599. Int rslt = 1,cnt = 0
  600. IF arg_billid = 0 THEN
  601. rslt = 0
  602. arg_msg = "没有审核对象"
  603. GOTO ext
  604. END IF
  605. //IF p_getinfo(arg_scid,arg_billid,arg_msg) = 0 THEN
  606. // rslt = 0
  607. // GOTO ext
  608. //END IF
  609. SELECT flag,cwauditingflag Into :flag,:cwauditingflag From u_gz_loanwage Where billid = :arg_billid;
  610. IF flag = 0 THEN
  611. rslt = 0
  612. arg_msg = "单据没有审核"
  613. GOTO ext
  614. END IF
  615. IF cwauditingflag = 1 THEN
  616. rslt = 0
  617. arg_msg = "单据已经总账审核"
  618. GOTO ext
  619. END IF
  620. UPDATE u_gz_loanwage
  621. SET cwauditingflag = 1,
  622. cwauditingdate = getdate(),
  623. cwauditingrep = :publ_operator
  624. WHERE ( u_gz_loanwage.billid = :arg_billid ) Using sqlca;
  625. IF sqlca.SQLCode <> 0 THEN
  626. rslt = 0
  627. arg_msg = "因网络或其它原因导致总账审核操作失败"+"~n"+sqlca.SQLErrText
  628. ROLLBACK Using sqlca;
  629. GOTO ext
  630. END IF
  631. ext:
  632. IF arg_ifcommit And rslt = 1 THEN
  633. COMMIT Using sqlca;
  634. END IF
  635. Return (rslt)
  636. end function
  637. public function integer c_audit_subject (long arg_scid, long arg_billid, boolean arg_ifcommit, ref string arg_msg);
  638. Int rslt = 1,cnt = 0
  639. IF arg_billid = 0 THEN
  640. rslt = 0
  641. arg_msg = "没有审核对象"
  642. GOTO ext
  643. END IF
  644. //IF p_getinfo(arg_scid,arg_billid,arg_msg) = 0 THEN
  645. // rslt = 0
  646. // GOTO ext
  647. //END IF
  648. SELECT flag,cwauditingflag Into :flag,:cwauditingflag From u_gz_loanwage Where billid = :arg_billid;
  649. IF cwauditingflag = 0 THEN
  650. rslt = 0
  651. arg_msg = "单据没有总账审核"
  652. GOTO ext
  653. END IF
  654. UPDATE u_gz_loanwage
  655. SET cwauditingflag = 0,
  656. cwauditingdate =null,
  657. cwauditingrep = ''
  658. WHERE ( u_gz_loanwage.billid = :arg_billid ) Using sqlca;
  659. IF sqlca.SQLCode <> 0 THEN
  660. rslt = 0
  661. arg_msg = "因网络或其它原因导致总账撤审操作失败"+"~n"+sqlca.SQLErrText
  662. ROLLBACK Using sqlca;
  663. GOTO ext
  664. END IF
  665. ext:
  666. IF arg_ifcommit And rslt = 1 THEN
  667. COMMIT Using sqlca;
  668. END IF
  669. Return (rslt)
  670. end function
  671. on uo_loanwage.create
  672. call super::create
  673. TriggerEvent( this, "constructor" )
  674. end on
  675. on uo_loanwage.destroy
  676. TriggerEvent( this, "destructor" )
  677. call super::destroy
  678. end on
  679. event constructor; u_wage=create uo_wage
  680. end event
  681. event destructor;DESTROY u_wage
  682. end event