1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636 |
- $PBExportHeader$uo_income_expenses.sru
- forward
- global type uo_income_expenses from nonvisualobject
- end type
- end forward
- global type uo_income_expenses from nonvisualobject
- end type
- global uo_income_expenses uo_income_expenses
- type variables
- Public ProtectedWrite Long billid
- Public ProtectedWrite String billcode
- Public ProtectedWrite String auditemp
- Public ProtectedWrite DateTime auditdate
- Public ProtectedWrite Int flag
- Public ProtectedWrite Int secflag
- Public ProtectedWrite String Opemp
- Public ProtectedWrite DateTime Opdate
- Public ProtectedWrite String ModEmp
- Public ProtectedWrite DateTime ModDate
- Long scid
- String credencecode
- Long banktypeid
- Decimal amt
- Long accountsid
- DateTime outdate,viewdate
- String Descrp
- String rep
- Long rapmoneyid
- Long itemid
- Long relid
- Int billtype //0-其它收入支出,1-借款,2-还款
- Long empid
- Long deptid
- Int itemflag
- Long relrapid
- long moneyid
- Transaction commit_transaction //数据commit事务
- Int cwauditingflag = 0 //总账审核标记
- DateTime cwauditingdate //总账审核时间
- String cwauditingrep //总账审核操作员
- Private:
- Boolean IT_NEWBEGIN = False //新建标志
- Boolean IT_UPDATEBEGIN = False //修改标志
- Long it_mxbt = 0
- s_income_expenses_mx incomemx[]
- //int sys_option_income_secaudit
- end variables
- forward prototypes
- public function integer p_reset ()
- public function integer newbegin (ref string arg_msg)
- public function integer cancelpermit (long arg_billid, ref string arg_msg, boolean arg_ifcommit)
- public function integer cancel (long arg_billid, ref string arg_msg, boolean arg_ifcommit)
- public function integer p_getinfo (long arg_billid, ref string arg_msg)
- public function integer permit (long arg_billid, string arg_emp, ref string arg_msg, boolean arg_ifcommit)
- public function integer updatebegin (long arg_billid, ref string arg_msg)
- public function integer save (string arg_operator, ref string arg_msg, boolean arg_ifcommit)
- public function integer add_dscrp (long arg_billid, string arg_newdescppart, ref string arg_msg, boolean arg_ifcommit)
- public function integer cancelpermit2 (long arg_billid, ref string arg_msg, boolean arg_ifcommit)
- public function integer permit2 (long arg_billid, string arg_emp, ref string arg_msg, boolean arg_ifcommit)
- public function integer add_dscrp (long arg_billid, string arg_newdescppart, ref string arg_msg)
- public function integer p_clearmx ()
- public function integer getinfo (long arg_billid, ref string arg_msg)
- public function integer acceptmx (long arg_itemid, decimal arg_amt, long arg_deptid, integer arg_buildtype, long arg_relscid, long arg_relbillid, string arg_relbillcode, string arg_useemp, string arg_mxdscrp, ref string arg_msg)
- public function integer audit_subject (long arg_scid, long arg_billid, boolean arg_ifcommit, ref string arg_msg)
- public function integer c_audit_subject (long arg_scid, long arg_billid, boolean arg_ifcommit, ref string arg_msg)
- end prototypes
- public function integer p_reset ();
- billid = 0
- billcode = ''
- credencecode = ''
- banktypeid = 0
- amt = 0
- accountsid = 0
- setnull(outdate)
- Descrp = ''
- rep = ''
- relid = 0
- rapmoneyid = 0
- moneyid = 0
- empid = 0
- billtype = 0
- itemid = 0
- deptid = 0
- flag = 0
- Opemp = ''
- setnull(Opdate)
- setnull(ModDate)
- ModEmp = ''
- auditemp = ''
- setnull(auditdate)
- it_newbegin=FALSE
- it_updatebegin=FALSE
- p_clearmx()
- RETURN 1
- end function
- public function integer newbegin (ref string arg_msg);//newbegin()
- //从置对象,设定业务类型,准备建立新单
- //0 fail 1 success
- LONG RSLT=1
- p_reset()
- it_newbegin=TRUE
- it_updatebegin=FALSE
- return RSLT
- end function
- public function integer cancelpermit (long arg_billid, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- DateTime nulldate
- Long ll_i
- SetNull(nulldate)
- IF sys_option_income_secaudit = -1000 THEN
- rslt = 0
- arg_msg = '选项:[328]其它收入支出单使用二级审核,读取初始默认值失败,操作取消!'
- GOTO ext
- END IF
- uo_iteminput uo_item
- uo_item = Create uo_iteminput
- uo_item.ib_CreateRapmoneyid = false
- //uo_item.commit_transaction = commit_transaction
- uo_empinfo uo_emptake
- uo_emptake = Create uo_empinfo
- uo_rapmoney uo_money
- uo_money = Create uo_rapmoney
- uo_money.commit_transaction = commit_transaction
- IF arg_billid <= 0 THEN
- rslt = 0
- arg_msg = '错误单据唯一码'
- GOTO ext
- END IF
- IF getinfo(arg_billid,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- IF flag <> 1 THEN
- rslt = 0
- arg_msg = "单据只有在已审核状态才可以执行撤消审核,请核对"
- GOTO ext
- END IF
- IF secflag = 1 THEN
- rslt = 0
- arg_msg = "单据已财务确认,不能执行撤消审核,请核对"
- GOTO ext
- END IF
- IF sys_option_income_secaudit = 0 THEN
- FOR ll_i = 1 To it_mxbt
- IF incomemx[ll_i].itemid = 0 THEN CONTINUE
- IF uo_item.del_iteminput(incomemx[ll_i].itemid,incomemx[ll_i].rel_dateint,1,arg_msg,False) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- NEXT
- END IF
- UPDATE U_income_expenses_mx
- SET rel_dateint = 0
- Where billid = :arg_billid Using commit_transaction ;
- IF commit_transaction.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "更新单据明细操作失败"+"~n"+commit_transaction.SQLErrText
- GOTO ext
- END IF
- IF uo_money.del_raprec(relrapid,accountsid,1,arg_msg,False) = 0 THEN
- arg_msg = '删除出纳明细帐失败!~n' + arg_msg
- rslt = 0
- GOTO ext
- END IF
- UPDATE U_income_expenses
- SET flag = 0,
- auditemp = '',
- auditdate = :nulldate,
- relrapid = 0
- WHERE U_income_expenses.billid = :arg_billid
- AND flag = 1
- Using commit_transaction ;
- IF commit_transaction.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "单据撤消审核操作失败"+"~n"+commit_transaction.SQLErrText
- GOTO ext
- END IF
- IF billtype = 1 THEN
- // IF uo_emptake.uof_del_emptake(empid,billid,rapmoneyid,billcode,0,False,arg_msg) = 0 THEN
- // rslt = 0
- // GOTO ext
- // END IF
- ELSEIF billtype = 2 THEN
- // IF uo_emptake.uof_del_emptake(empid,billid,rapmoneyid,billcode,1,False,arg_msg) = 0 THEN
- // rslt = 0
- // GOTO ext
- // END IF
- END IF
- it_newbegin = False
- it_updatebegin = False
- ext:
- IF rslt = 0 THEN
- ROLLBACK Using commit_transaction;
- ELSEIF rslt = 1 And arg_ifcommit THEN
- COMMIT Using commit_transaction;
- END IF
- p_reset()
- Destroy uo_item
- Destroy uo_emptake
- Destroy uo_money
- Return (rslt)
- end function
- public function integer cancel (long arg_billid, ref string arg_msg, boolean arg_ifcommit);
- //0 FAIL, 1 SUCCESS
- Int rslt = 1
- IF arg_billid <= 0 THEN
- rslt = 0
- ARG_MSG = '错误单据唯一码'
- GOTO ext
- END IF
- IF p_getinfo(arg_billid,ARG_MSG) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- IF flag <> 0 THEN
- rslt = 0
- ARG_MSG = "单据已经审核,不可以删除"
- GOTO ext
- END IF
- DELETE FROM U_income_expenses
- Where U_income_expenses.billid = :arg_billid USING commit_transaction ;
- IF commit_transaction.SQLCode <> 0 THEN
- rslt = 0
- ARG_MSG = "删除单据操作失败"+"~n"+commit_transaction.SQLErrText
- GOTO ext
- END IF
- DELETE FROM U_income_expenses_mx
- Where U_income_expenses_mx.billid = :arg_billid USING commit_transaction;
- IF commit_transaction.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "删除单据明细操作失败"+"~n"+commit_transaction.SQLErrText
- ROLLBACK USING commit_transaction;
- GOTO ext
- END IF
- it_newbegin = FALSE
- it_updatebegin = FALSE
- ext:
- IF rslt = 0 THEN
- ROLLBACK USING commit_transaction;
- ELSEIF arg_ifcommit AND rslt = 1 THEN
- COMMIT USING commit_transaction;
- END IF
- p_reset()
- Return (rslt)
- end function
- public function integer p_getinfo (long arg_billid, ref string arg_msg);Int rslt = 1
- SELECT U_income_expenses.billid,
- U_income_expenses.billcode,
- U_income_expenses.credencecode,
- U_income_expenses.banktypeid,
- U_income_expenses.amt,
- U_income_expenses.accountsid,
- U_income_expenses.outdate,
- U_income_expenses.viewdate,
- U_income_expenses.Descrp,
- U_income_expenses.rep,
- U_income_expenses.rapmoneyid,
- U_income_expenses.itemid,
- U_income_expenses.flag,
- U_income_expenses.secflag,
- U_income_expenses.Opemp,
- U_income_expenses.Opdate,
- U_income_expenses.ModDate,
- U_income_expenses.ModEmp,
- U_income_expenses.auditemp,
- U_income_expenses.auditdate,
- U_income_expenses.relid,
- U_income_expenses.billtype,
- U_income_expenses.empid,
- U_income_expenses.deptid,
- U_income_expenses.relrapid,
- U_income_expenses.itemflag,
- U_income_expenses.scid,
- U_income_expenses.moneyid,
- U_income_expenses.cwauditingflag,
- U_income_expenses.cwauditingrep,
- U_income_expenses.cwauditingdate
- INTO :billid,
- :billcode,
- :credencecode,
- :banktypeid,
- :amt,
- :accountsid,
- :outdate,
- :viewdate,
- :Descrp,
- :rep,
- :rapmoneyid,
- :itemid,
- :flag,
- :secflag,
- :Opemp,
- :Opdate,
- :ModDate,
- :ModEmp,
- :auditemp,
- :auditdate,
- :relid,
- :billtype,
- :empid,
- :deptid,
- :relrapid,
- :itemflag,
- :scid,
- :moneyid,
- :cwauditingflag,
- :cwauditingrep,
- :cwauditingdate
- FROM U_income_expenses
- Where ( U_income_expenses.billid = :arg_billid ) ;
-
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "查询其他收入支出单操作失败"+sqlca.SQLErrText
- GOTO ext
- END IF
- ext:
- RETURN rslt
- end function
- public function integer permit (long arg_billid, string arg_emp, ref string arg_msg, boolean arg_ifcommit);
- Int rslt = 1
- Long cnt = 0,ll_i
- Long ref_dateint
- string mxdscrp_str,ll_itemname
- uo_iteminput uo_item
- uo_item = Create uo_iteminput
- uo_item.ib_CreateRapmoneyid = false
- uo_empinfo uo_emptake
- uo_emptake = Create uo_empinfo
- uo_rapmoney uo_money
- uo_money = Create uo_rapmoney
- uo_money.commit_transaction = commit_transaction
- IF sys_option_income_secaudit = -1000 THEN
- rslt = 0
- arg_msg = '选项:[328]其它收入支出单使用二级审核,读取初始默认值失败,操作取消!'
- GOTO ext
- END IF
- IF arg_billid <= 0 THEN
- rslt = 0
- arg_msg = '错误其他收入支出单唯一码'
- GOTO ext
- END IF
- IF getinfo(arg_billid,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- IF flag <> 0 THEN
- rslt = 0
- arg_msg = "单据已经审核,操作取消"
- GOTO ext
- END IF
- cnt = 0
- SELECT count(*) INTO :cnt
- FROM u_user
- Where username = :arg_emp Using commit_transaction;
- IF commit_transaction.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "查询操作失败,操作员!"
- GOTO ext
- END IF
- IF cnt = 0 THEN
- rslt = 0
- arg_msg = "操作员姓名未登记或已取消!"
- GOTO ext
- END IF
- IF sys_option_income_secaudit = 0 THEN
- s_iteminput s_input
-
-
- FOR ll_i = 1 To it_mxbt
- s_input.itemid = incomemx[ll_i].itemid
- s_input.dateint = 0
- s_input.outdate = outdate
- s_input.dscrp = Descrp + ' ' + incomemx[ll_i].mxdscrp
- s_input.outamt = incomemx[ll_i].amt
- s_input.accountsid = accountsid
- s_input.banktypeid = banktypeid
- s_input.billcode = billcode
- s_input.relcode = credencecode
- s_input.buildtype = 1
- s_input.opemp = publ_operator
- s_input.relrep = rep
- s_input.scid = scid
- s_input.moneyid = moneyid
-
- select itemname into :ll_itemname from u_itemdef where itemid = :s_input.itemid;
-
- if mxdscrp_str <> '' then mxdscrp_str = mxdscrp_str +"|"
- mxdscrp_str = mxdscrp_str +ll_itemname + "," + incomemx[ll_i].mxdscrp
-
-
- IF uo_item.add_iteminput(s_input,arg_msg,False) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- ref_dateint = uo_item.ref_dateint
-
- UPDATE U_income_expenses_mx
- SET rel_dateint = :ref_dateint
- WHERE billid = :arg_billid
- And printid = :incomemx[ll_i].printid Using commit_transaction;
- IF commit_transaction.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "更单据明细相关信息失败 ~n"+commit_transaction.SQLErrText
- GOTO ext
- END IF
- NEXT
- END IF
- //加出纳帐
- Decimal ld_msttakeamt,ld_takeamt
- Long ref_rapid
- IF itemflag = 1 THEN
- ld_msttakeamt = amt
- ld_takeamt = 0
- ELSE
- ld_msttakeamt = 0
- ld_takeamt = amt
- END IF
- s_rap_money s_rap
- s_rap.accountsid = accountsid
- if sys_option_cusamt_dftdate = 0 then
- s_rap.takedate = outdate
- else
- s_rap.takedate = viewdate
- end if
- s_rap.inrep = rep
- if Descrp <> '' then
- s_rap.dscrp = Descrp
- else
- s_rap.dscrp = mxdscrp_str
- end if
- s_rap.msttakeamt = ld_msttakeamt
- s_rap.takeamt = ld_takeamt
- s_rap.billcode = billcode
- s_rap.relcode = credencecode
- s_rap.buildtype = 1
- s_rap.dcflag = 0
- s_rap.relid = 0
- s_rap.opemp = opemp
- s_rap.banktypeid = banktypeid
- s_rap.scid = scid
- IF uo_money.add_raprec(s_rap,arg_msg,False) = 0 THEN
- arg_msg = '增加出纳明细帐失败!~n' + arg_msg
- rslt = 0
- GOTO ext
- END IF
- ref_rapid = uo_money.ref_rapid
- IF ref_rapid = 0 THEN
- arg_msg = '增加出纳明细帐失败!'
- rslt = 0
- GOTO ext
- END IF
- UPDATE U_income_expenses
- SET auditemp = :arg_emp ,
- auditdate = getdate(),
- flag = 1,
- relrapid = :ref_rapid
- WHERE billid = :arg_billid
- AND flag = 0
- Using commit_transaction;
- IF commit_transaction.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "更单据审核操作失败 ~n"+commit_transaction.SQLErrText
- GOTO ext
- END IF
- IF billtype = 1 THEN
- // IF uo_emptake.uof_add_emptake(empid,billid,rapmoneyid,billcode,&
- // outdate,amt,Descrp,0,False,arg_msg) = 0 THEN
- // rslt = 0
- // GOTO ext
- // END IF
- //ELSEIF billtype = 2 THEN
- // IF uo_emptake.uof_add_emptake(empid,billid,rapmoneyid,billcode,&
- // outdate,amt,Descrp,1,False,arg_msg) = 0 THEN
- // rslt = 0
- // GOTO ext
- // END IF
- END IF
- it_newbegin = False
- it_updatebegin = False
- ext:
- IF rslt = 0 THEN
- ROLLBACK Using commit_transaction;
- ELSEIF rslt = 1 And arg_ifcommit THEN
- COMMIT Using commit_transaction;
- END IF
- p_reset()
- Destroy uo_item
- Destroy uo_money
- Destroy uo_emptake
- Return (rslt)
- end function
- public function integer updatebegin (long arg_billid, ref string arg_msg);//UPDATEbegin(long arg_taskid,ref string arg_msg)
- //从置对象,设定业务类型与关联ID,准备更新进仓单
- //0 fail 1 success
- Long rslt = 1,CNT = 0
- IF sys_option_income_secaudit = -1000 THEN
- rslt = 0
- arg_msg = '选项:[328]其它收入支出单使用二级审核,读取初始默认值失败,操作取消!'
- GOTO ext
- END IF
- IF arg_billid <= 0 THEN
- rslt = 0
- arg_msg = '错误其他收入支出单唯一码'
- GOTO ext
- END IF
- IF p_getinfo(arg_billid,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- IF sys_option_income_secaudit = 0 THEN
- IF flag <> 0 THEN
- rslt = 0
- arg_msg = '已经处于审核或完成等状态,不可以修改,如果其他收入支出单未完成并要修改请先撤销审核'
- GOTO ext
- END IF
- ELSE
- IF secflag <> 0 THEN
- rslt = 0
- arg_msg = '已经处于财务确认状态,不可以修改,如果其他收入支出单未完成并要修改请先撤销财务确认'
- GOTO ext
- END IF
- END IF
- it_newbegin = False
- it_updatebegin = True
- p_clearmx() //清除明细
- amt = 0
- ext:
- IF rslt = 0 THEN p_reset()
- RETURN rslt
- end function
- public function integer save (string arg_operator, ref string arg_msg, boolean arg_ifcommit);
- Integer rslt = 1,cnt = 0,i
- Long ls_newid
- DateTime server_datetime
- Long ll_id
- String ls_sccode
- IF IsNull(credencecode) THEN credencecode = ''
- IF IsNull(banktypeid) THEN banktypeid = 0
- IF IsNull(amt) THEN amt = 0
- IF IsNull(accountsid) THEN accountsid = 0
- IF IsNull(Descrp) THEN Descrp = ''
- IF IsNull(rep) THEN rep = ''
- IF IsNull(arg_operator) THEN arg_operator = ''
- IF IsNull(rapmoneyid) THEN rapmoneyid = 0
- IF IsNull(itemid) THEN itemid = 0
- IF IsNull(deptid) THEN deptid = 0
- IF IsNull(scid) THEN scid = 0
- IF IsNull(itemflag) THEN itemflag = 1
- IF IsNull(moneyid) THEN moneyid = 0
- IF it_newbegin = False And it_updatebegin = False THEN
- rslt = 0
- arg_msg = "非编辑状态不可以提交"
- GOTO ext
- END IF
- IF it_mxbt = 0 THEN
- rslt = 0
- arg_msg = '没有明细内容'
- GOTO ext
- END IF
- amt = 0
- FOR i = 1 To it_mxbt
- amt = amt + incomemx[i].amt
- NEXT
- IF amt = 0 THEN
- rslt = 0
- arg_msg = "请输入金额"
- GOTO ext
- END IF
- IF f_check_inoutdate(0,outdate,False,arg_msg) = 0 THEN
- rslt = 0
- arg_msg = "该单据超出指定日期范围(单据限制录入天数)"
- GOTO ext
- END IF
- IF billtype = 1 Or billtype = 2 THEN
- IF empid = 0 THEN
- arg_msg = '请选择员工'
- rslt = 0
- GOTO ext
- END IF
-
- IF itemid = 0 THEN
- rslt = 0
- arg_msg = "请选择收支项目"
- GOTO ext
- END IF
-
- cnt = 0
- SELECT count(*) INTO :cnt
- FROM u_itemdef
- WHERE itemid = :itemid
- Using commit_transaction;
- IF commit_transaction.SQLCode <> 0 THEN
- arg_msg = '查询项目资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- END IF
- IF rep = '' THEN
- rslt = 0
- arg_msg = "请输入经手人"
- GOTO ext
- END IF
- IF banktypeid = 0 THEN
- rslt = 0
- arg_msg = "请选择结算方式"
- GOTO ext
- END IF
- IF accountsid = 0 THEN
- rslt = 0
- arg_msg = "请选择银行帐号"
- GOTO ext
- END IF
- SELECT moneyid
- INTO :rapmoneyid
- FROM u_accounts
- WHERE u_accounts.accountsid = :accountsid
- Using commit_transaction;
- IF commit_transaction.SQLCode <> 0 THEN
- arg_msg = '查询当前的出纳帐号币种失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- moneyid = rapmoneyid
- cnt = 0
- SELECT count(*)
- INTO :cnt
- FROM cw_currency
- WHERE cw_currency.moneyid = :moneyid
- USING commit_transaction;
- IF commit_transaction.SQLCode <> 0 THEN
- arg_msg = '查询币种失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- IF cnt <> 1 THEN
- arg_msg = '账号的币种重复或不存在!'
- rslt = 0
- GOTO ext
- END IF
- //IF credencecode = '' THEN
- // rslt = 0
- // arg_msg = "请输入相关号"
- // GOTO ext
- //END IF
- SELECT Top 1 getdate() Into :server_datetime From u_user Using commit_transaction ;
- IF commit_transaction.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "查询操作失败,日期 "
- GOTO ext
- END IF
- cnt = 0
- SELECT count(*) INTO :cnt
- FROM u_user
- Where username = :arg_operator Using commit_transaction ;
- IF commit_transaction.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "查询操作失败,操作员!"
- GOTO ext
- END IF
- IF cnt = 0 THEN
- rslt = 0
- arg_msg = "操作员姓名未登记或已取消!"
- GOTO ext
- END IF
- opdate = server_datetime //填写单据建立时间(最近修改时间)
- ////////////////////////////////////////////// //开始区分:新建/更新 处理
- IF billid = 0 THEN //新建
- ll_id = f_sys_scidentity(0,"U_income_expenses","billid",arg_msg,True,id_sqlca)
- IF ll_id <= 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- //取分部代号
- IF f_get_sccode(scid,commit_transaction,ls_sccode,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- IF billtype = 0 THEN
- billcode = getid(0,ls_sccode + 'SZ',Date(server_datetime),False,commit_transaction)
- ELSEIF billtype = 1 THEN
- billcode = getid(0,ls_sccode + 'JH',Date(server_datetime),False,commit_transaction)
- ELSEIF billtype = 2 THEN
- billcode = getid(0,ls_sccode + 'HH',Date(server_datetime),False,commit_transaction)
- END IF
-
- IF billcode = "err" THEN
- billcode = ''
- rslt = 0
- arg_msg = "无法获取单据编号"+"~n"+sqlca.SQLErrText
- GOTO ext
- END IF
-
- //读取新taskid
- billid = ll_id
- INSERT INTO U_income_expenses
- ( billid,
- billcode,
- credencecode,
- banktypeid,
- amt,
- accountsid,
- outdate,
- viewdate,
- Descrp,
- rep,
- rapmoneyid,
- itemid,
- billtype,
- empid,
- Opemp,
- Opdate,
- deptid,
- itemflag,
- scid,
- moneyid)
- VALUES
- (
- :billid,
- :billcode,
- :credencecode,
- :banktypeid,
- :amt,
- :accountsid,
- :outdate,
- :viewdate,
- :Descrp,
- :rep,
- :rapmoneyid,
- :itemid,
- :billtype,
- :empid,
- :arg_operator,
- :opdate,
- :deptid,
- :itemflag,
- :scid,
- :moneyid) Using commit_transaction ;
- IF commit_transaction.SQLCode <> 0 THEN
- if it_newbegin then billid = 0
- rslt = 0
- arg_msg = "插入其他收入支出单操作失败"+"~n"+commit_transaction.SQLErrText
- GOTO ext
- END IF
-
- // FOR i = 1 To it_mxbt
- // INSERT INTO U_income_expenses_mx
- // (billid,
- // printid,
- // itemid,
- // amt,
- // deptid,
- // buildtype,
- // relscid,
- // relbillid,
- // relbillcode,
- // useemp,
- // mxdscrp)
- // VALUES (:billid,
- // :incomemx[i].printid,
- // :incomemx[i].itemid,
- // :incomemx[i].amt,
- // :incomemx[i].deptid,
- // :incomemx[i].buildtype,
- // :incomemx[i].relscid,
- // :incomemx[i].relbillid,
- // :incomemx[i].relbillcode,
- // :incomemx[i].useemp,
- // :incomemx[i].mxdscrp) Using commit_transaction ;
- // IF commit_transaction.SQLCode <> 0 THEN
- // rslt = 0
- // arg_msg = "插入其他收入支出单明细操作失败"+"~n"+commit_transaction.SQLErrText
- // GOTO ext
- // END IF
- // NEXT
-
- ELSE //////////////////////////////////////////////// //更新
-
- UPDATE U_income_expenses
- SET
- billcode = :billcode,
- credencecode = :credencecode,
- banktypeid = :banktypeid,
- amt = :amt,
- accountsid = :accountsid,
- outdate = :outdate,
- viewdate= :viewdate,
- Descrp = :Descrp,
- rep = :rep,
- empid = :empid,
- rapmoneyid = :rapmoneyid,
- itemid = :itemid,
- ModDate = getdate(),
- ModEmp = :arg_operator,
- deptid = :deptid,
- itemflag = :itemflag,
- scid = :scid,
- moneyid = :moneyid
- WHERE U_income_expenses.billID = :billID
- Using commit_transaction;
- IF commit_transaction.SQLCode <> 0 Or commit_transaction.SQLNRows <= 0 THEN
- rslt = 0
- arg_msg = "更新其他收入支出单操作失败"+"~n"+commit_transaction.SQLErrText
- GOTO ext
- END IF
-
- DELETE FROM U_income_expenses_mx
- Where U_income_expenses_mx.billid = :billid Using commit_transaction;
- IF commit_transaction.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "删除旧有明细操作失败"+"~n"+commit_transaction.SQLErrText
- GOTO ext
- END IF
-
- // FOR i = 1 To it_mxbt
- // INSERT INTO U_income_expenses_mx
- // (billid,
- // printid,
- // itemid,
- // amt,
- // deptid,
- // buildtype,
- // relscid,
- // relbillid,
- // relbillcode,
- // useemp,
- // mxdscrp)
- // VALUES (:billid,
- // :incomemx[i].printid,
- // :incomemx[i].itemid,
- // :incomemx[i].amt,
- // :incomemx[i].deptid,
- // :incomemx[i].buildtype,
- // :incomemx[i].relscid,
- // :incomemx[i].relbillid,
- // :incomemx[i].relbillcode,
- // :incomemx[i].useemp,
- // :incomemx[i].mxdscrp) Using commit_transaction ;
- // IF commit_transaction.SQLCode <> 0 THEN
- // rslt = 0
- // arg_msg = "插入其他收入支出单明细操作失败"+"~n"+commit_transaction.SQLErrText
- // GOTO ext
- // END IF
- // NEXT
- END IF
- FOR i = 1 To it_mxbt
- INSERT INTO U_income_expenses_mx
- (billid,
- printid,
- itemid,
- amt,
- deptid,
- buildtype,
- relscid,
- relbillid,
- relbillcode,
- useemp,
- mxdscrp)
- VALUES (:billid,
- :incomemx[i].printid,
- :incomemx[i].itemid,
- :incomemx[i].amt,
- :incomemx[i].deptid,
- :incomemx[i].buildtype,
- :incomemx[i].relscid,
- :incomemx[i].relbillid,
- :incomemx[i].relbillcode,
- :incomemx[i].useemp,
- :incomemx[i].mxdscrp) Using commit_transaction ;
- IF commit_transaction.SQLCode <> 0 THEN
- if it_newbegin then billid = 0
- rslt = 0
- arg_msg = "插入其他收入支出单明细操作失败"+"~n"+commit_transaction.SQLErrText
- GOTO ext
- END IF
- NEXT
- it_newbegin = False
- it_updatebegin = False
- ext:
- IF rslt = 0 THEN
- ROLLBACK Using commit_transaction;
- p_clearmx()
- ELSEIF arg_ifcommit And rslt = 1 THEN
- COMMIT Using commit_transaction;
- END IF
- RETURN rslt
- end function
- public function integer add_dscrp (long arg_billid, string arg_newdescppart, ref string arg_msg, boolean arg_ifcommit);//add_dscrp(string arg_newdescppart)
- //0 fail 1 SUCCESS
- Int rslt = 1
- arg_newdescppart = Trim(arg_newdescppart)
- IF it_updatebegin Or it_newbegin THEN
- rslt = 0
- arG_MSG = "编辑状态下不可用"
- GOTO ext
- END IF
- IF arg_newdescppart = '' THEN
- rslt = 0
- arG_MSG = "要添加内容为空,操作取消"
- GOTO ext
- END IF
- IF p_getinfo(arg_billid,arG_MSG) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- IF flag <> 1 THEN
- rslt = 0
- arG_MSG = "待审核状态下不可用"
- GOTO ext
- END IF
- UPDATE U_income_expenses
- SET descrp = ltrim(rtrim(descrp))+' '+:arg_newdescppart
- Where U_income_expenses.billid = :arg_billid Using commit_transaction;
- IF commit_transaction.SQLCode <> 0 THEN
- rslt = 0
- arG_MSG = "添加单据备注操作失败"+"~n"+commit_transaction.SQLErrText
- ROLLBACK Using commit_transaction;
- GOTO ext
- END IF
- IF relrapid > 0 THEN
- UPDATE u_rap_money
- SET dscrp = ltrim(rtrim(dscrp)) + ' '+:arg_newdescppart
- Where rapmoneyid = :relrapid Using commit_transaction;
- IF commit_transaction.SQLCode <> 0 THEN
- rslt = 0
- arG_MSG = "添加相关出纳帐备注操作失败"+"~n"+commit_transaction.SQLErrText
- ROLLBACK Using commit_transaction;
- GOTO ext
- END IF
- END IF
- descrp = descrp+' '+arg_newdescppart
- it_newbegin = False
- it_updatebegin = False
- ext:
- IF arg_ifcommit And rslt = 1 THEN
- COMMIT Using commit_transaction;
- END IF
- p_reset()
- Return (rslt)
- end function
- public function integer cancelpermit2 (long arg_billid, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- Long ll_i
- DateTime nulldate
- SetNull(nulldate)
- IF sys_option_income_secaudit = -1000 THEN
- rslt = 0
- arg_msg = '选项:[328]其它收入支出单使用二级审核,读取初始默认值失败,操作取消!'
- GOTO ext
- END IF
- uo_iteminput uo_item
- uo_item = Create uo_iteminput
- uo_item.ib_CreateRapmoneyid = false
- IF arg_billid <= 0 THEN
- rslt = 0
- arg_msg = '错误单据唯一码'
- GOTO ext
- END IF
- IF getinfo(arg_billid,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- IF secflag = 0 THEN
- rslt = 0
- arg_msg = "单据未财务确认,请检查"
- GOTO ext
- END IF
- IF sys_option_income_secaudit = 1 THEN
- FOR ll_i = 1 To it_mxbt
- IF incomemx[ll_i].itemid = 0 THEN CONTINUE
- IF uo_item.del_iteminput(incomemx[ll_i].itemid,incomemx[ll_i].rel_dateint,1,arg_msg,False) = 0 THEN
- MessageBox('系统提示',arg_msg)
- rslt = 0
- GOTO ext
- END IF
- NEXT
- END IF
- UPDATE U_income_expenses
- SET secflag = 0,
- secauditemp = '',
- secauditdate = :nulldate
- WHERE U_income_expenses.billid = :arg_billid
- AND secflag = 1
- Using commit_transaction ;
- IF commit_transaction.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "单据财务反确认操作失败"+"~n"+commit_transaction.SQLErrText
- GOTO ext
- END IF
- it_newbegin = False
- it_updatebegin = False
- ext:
- IF rslt = 0 THEN
- ROLLBACK Using commit_transaction;
- ELSEIF rslt = 1 And arg_ifcommit THEN
- COMMIT Using commit_transaction;
- END IF
- p_reset()
- Return (rslt)
- end function
- public function integer permit2 (long arg_billid, string arg_emp, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- Long cnt = 0
- Long ll_i
- Long ref_dateint
- uo_iteminput uo_item
- uo_item = Create uo_iteminput
- uo_item.ib_CreateRapmoneyid = false
- IF arg_billid <= 0 THEN
- rslt = 0
- ARG_MSG = '错误单据唯一码'
- GOTO ext
- END IF
- IF sys_option_income_secaudit = -1000 THEN
- rslt = 0
- ARG_MSG = '选项:[328]其它收入支出单使用二级审核,读取初始默认值失败,操作取消!'
- GOTO ext
- END IF
- IF getinfo(arg_billid,ARG_MSG) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- IF flag = 0 THEN
- rslt = 0
- ARG_MSG = "单据未审核,不能进行财务确认"
- GOTO ext
- END IF
- IF secflag = 1 THEN
- rslt = 0
- ARG_MSG = "单据已财务确认,请检查"
- GOTO ext
- END IF
- cnt = 0
- SELECT count(*) INTO :cnt
- FROM u_user
- Where username = :arg_emp Using commit_transaction;
- IF commit_transaction.SQLCode <> 0 THEN
- rslt = 0
- ARG_MSG = "查询操作失败,操作员!"
- GOTO ext
- END IF
- IF cnt = 0 THEN
- rslt = 0
- ARG_MSG = "操作员姓名未登记或已取消!"
- GOTO ext
- END IF
- IF sys_option_income_secaudit = 1 THEN
- s_iteminput s_input
-
-
- FOR ll_i = 1 To it_mxbt
- s_input.itemid = incomemx[ll_i].itemid
- s_input.dateint = 0
- s_input.outdate = outdate
- s_input.dscrp = Descrp + ' ' + incomemx[ll_i].mxdscrp
- s_input.outamt = incomemx[ll_i].amt
- s_input.accountsid = accountsid
- s_input.banktypeid = banktypeid
- s_input.billcode = billcode
- s_input.relcode = credencecode
- s_input.buildtype = 1
- s_input.opemp = publ_operator
- s_input.relrep = rep
- s_input.scid = scid
-
- IF uo_item.add_iteminput(s_input,ARG_MSG,False) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- ref_dateint = uo_item.ref_dateint
-
- UPDATE U_income_expenses_mx
- SET rel_dateint = :ref_dateint
- WHERE billid = :arg_billid
- And printid = :incomemx[ll_i].printid Using commit_transaction;
- IF commit_transaction.SQLCode <> 0 THEN
- rslt = 0
- ARG_MSG = "更单据明细相关信息失败 ~n"+commit_transaction.SQLErrText
- GOTO ext
- END IF
- NEXT
- END IF
- UPDATE U_income_expenses
- SET secauditemp = :arg_emp ,
- secauditdate = getdate(),
- U_income_expenses.secflag = 1
- WHERE U_income_expenses.billid = :arg_billid
- AND U_income_expenses.secflag = 0
- AND U_income_expenses.flag = 1
- Using commit_transaction;
- IF commit_transaction.SQLCode <> 0 THEN
- rslt = 0
- ARG_MSG = "更单据审核操作失败"+"~n"+commit_transaction.SQLErrText
- GOTO ext
- END IF
- it_newbegin = False
- it_updatebegin = False
- ext:
- IF rslt = 0 THEN
- ROLLBACK Using commit_transaction;
- ELSEIF rslt = 1 And arg_ifcommit THEN
- COMMIT Using commit_transaction;
- END IF
- p_reset()
- Return (rslt)
- end function
- public function integer add_dscrp (long arg_billid, string arg_newdescppart, ref string arg_msg);return add_dscrp(arg_billid, arg_newdescppart, arg_msg, true)
- //Int rslt = 1
- //s_rap_money_transfer arg_s_rap_money_transfer
- //
- //IF arg_billid <= 0 THEN
- // rslt = 0
- // arg_msg = '错误单据唯一码'
- // GOTO ext
- //END IF
- //
- //IF arg_newdescppart = '' THEN
- // rslt = 0
- // arg_msg = "要添加内容为空,操作取消"
- // GOTO ext
- //END IF
- //
- //IF p_getinfo(arg_billid,arg_msg) = 0 THEN
- // rslt = 0
- // GOTO ext
- //END IF
- //
- //IF flag = 0 THEN
- // rslt = 0
- // arg_msg = '单据未审核,不可以增加备注'
- // GOTO ext
- //END IF
- //
- //UPDATE U_income_expenses
- // SET DSCRP = ltrim(rtrim(DSCRP))+' '+:arg_newdescppart
- // WHERE U_income_expenses.billid = :arg_billid
- // And flag = 1;
- //IF SQLCA.SQLCode <> 0 THEN
- // rslt = 0
- // arg_msg = "添加备注操作失败"+"~n"+SQLCA.SQLErrText
- // GOTO ext
- //END IF
- //
- //ext:
- //IF rslt = 1 THEN
- // COMMIT;
- //ELSE
- // ROLLBACK;
- //END IF
- //
- //Return (rslt)
- end function
- public function integer p_clearmx ();it_mxbt = 0
- return 1
- end function
- public function integer getinfo (long arg_billid, ref string arg_msg);Int rslt = 1
- Long i = 1 ,no_mxcheck
- IF arg_billid <= 0 THEN
- rslt = 0
- arg_msg = '错误单据唯一码'
- GOTO ext
- END IF
- IF p_getinfo(arg_billid,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- DECLARE cur_mx CURSOR FOR
- SELECT billid,printid, itemid, amt, deptid, buildtype, relscid, relbillid, relbillcode,rel_dateint,useemp,mxdscrp
- FROM U_income_expenses_mx
- Where billid = :arg_billid Using commit_transaction;
-
- OPEN cur_mx;
- FETCH cur_mx INTO :incomemx[i].billid,
- :incomemx[i].printid,
- :incomemx[i].itemid,
- :incomemx[i].amt,
- :incomemx[i].deptid,
- :incomemx[i].buildtype,
- :incomemx[i].relscid,
- :incomemx[i].relbillid,
- :incomemx[i].relbillcode,
- :incomemx[i].rel_dateint,
- :incomemx[i].useemp,
- :incomemx[i].mxdscrp;
-
- DO WHILE sqlca.SQLCode = 0
- i++
- FETCH cur_mx INTO :incomemx[i].billid,
- :incomemx[i].printid,
- :incomemx[i].itemid,
- :incomemx[i].amt,
- :incomemx[i].deptid,
- :incomemx[i].buildtype,
- :incomemx[i].relscid,
- :incomemx[i].relbillid,
- :incomemx[i].relbillcode,
- :incomemx[i].rel_dateint,
- :incomemx[i].useemp,
- :incomemx[i].mxdscrp;
-
- LOOP
- CLOSE cur_mx;
- SELECT count(*) INTO :no_mxcheck
- FROM U_income_expenses_mx
- Where billid = :arg_billid Using commit_transaction;
- IF commit_transaction.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "查询操作失败,收入支出单明细数量"
- GOTO ext
- END IF
- IF i <> (no_mxcheck+1) THEN
- rslt = 0
- arg_msg = "查询操作失败,收入支出单明细"
- GOTO ext
- END IF
- it_mxbt = i - 1
- it_newbegin = False
- it_updatebegin = False
- ext:
- IF rslt = 0 THEN p_reset()
- RETURN rslt
- end function
- public function integer acceptmx (long arg_itemid, decimal arg_amt, long arg_deptid, integer arg_buildtype, long arg_relscid, long arg_relbillid, string arg_relbillcode, string arg_useemp, string arg_mxdscrp, ref string arg_msg);Int rslt = 1
- Long cnt
- Int li_ifdepart,li_ifemp
- IF it_newbegin = False And it_updatebegin = False THEN
- rslt = 0
- arg_msg = "非编辑状态不可以使用,操作取消"
- GOTO ext
- END IF
- it_mxbt++
- IF arg_itemid = 0 THEN
- rslt = 0
- arg_msg = "明细第"+String(it_mxbt)+"行,请选择收支项目"
- GOTO ext
- END IF
- SELECT ifdepart,ifemp
- INTO :li_ifdepart,:li_ifemp
- FROM u_itemdef
- WHERE itemid = :arg_itemid
- Using commit_transaction;
- IF commit_transaction.SQLCode <> 0 THEN
- arg_msg = "明细第"+String(it_mxbt)+"行,查询项目资料失败,"+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- IF arg_buildtype = 0 THEN
- arg_relscid = 0
- arg_relbillid = 0
- //arg_relbillcode = ''
-
- IF li_ifdepart = 1 And arg_deptid = 0 THEN
- arg_msg = "明细第"+String(it_mxbt)+"行,收支项目限制必须选择部门,请选择"
- rslt = 0
- GOTO ext
- END IF
-
- IF li_ifemp = 1 And Trim(arg_useemp) = '' THEN
- arg_msg = "明细第"+String(it_mxbt)+"行,收支项目限制必须填写使用人"
- rslt = 0
- GOTO ext
- END IF
- END IF
- incomemx[it_mxbt].itemid = arg_itemid
- incomemx[it_mxbt].deptid = arg_deptid
- incomemx[it_mxbt].relscid = arg_relscid
- incomemx[it_mxbt].relbillid = arg_relbillid
- incomemx[it_mxbt].buildtype = arg_buildtype
- incomemx[it_mxbt].relbillcode = arg_relbillcode
- incomemx[it_mxbt].printid = it_mxbt
- incomemx[it_mxbt].amt = arg_amt
- incomemx[it_mxbt].useemp = arg_useemp
- incomemx[it_mxbt].mxdscrp = arg_mxdscrp
- ext:
- IF rslt = 0 THEN p_clearmx()
- RETURN rslt
- end function
- public function integer audit_subject (long arg_scid, long arg_billid, boolean arg_ifcommit, ref string arg_msg);
- Int rslt = 1,cnt = 0
- IF arg_billid = 0 THEN
- rslt = 0
- arg_msg = "没有审核对象"
- GOTO ext
- END IF
- IF p_getinfo(arg_billid,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- IF flag = 0 THEN
- rslt = 0
- arg_msg = "单据没有审核"
- GOTO ext
- END IF
- IF cwauditingflag = 1 THEN
- rslt = 0
- arg_msg = "单据已经总账审核"
- GOTO ext
- END IF
- UPDATE u_income_expenses
- SET cwauditingflag = 1,
- cwauditingdate = getdate(),
- cwauditingrep = :publ_operator
- WHERE ( u_income_expenses.billid = :arg_billid ) AND
- ( u_income_expenses.scid = :arg_scid) Using commit_transaction;
-
- IF commit_transaction.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "因网络或其它原因导致总账审核操作失败"+"~n"+commit_transaction.SQLErrText
- ROLLBACK Using commit_transaction;
- GOTO ext
- END IF
- ext:
- IF arg_ifcommit And rslt = 1 THEN
- COMMIT Using commit_transaction;
- END IF
- Return (rslt)
- end function
- public function integer c_audit_subject (long arg_scid, long arg_billid, boolean arg_ifcommit, ref string arg_msg);
- Int rslt = 1,cnt = 0
- IF arg_billid = 0 THEN
- rslt = 0
- arg_msg = "没有审核对象"
- GOTO ext
- END IF
- IF p_getinfo(arg_billid,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- IF cwauditingflag = 0 THEN
- rslt = 0
- arg_msg = "单据没有总账审核"
- GOTO ext
- END IF
- UPDATE u_income_expenses
- SET cwauditingflag = 0,
- cwauditingdate = NULL,
- cwauditingrep = ''
- WHERE ( u_income_expenses.billid = :arg_billid ) AND
- ( u_income_expenses.scid = :arg_scid) Using commit_transaction;
-
- IF commit_transaction.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "因网络或其它原因导致总账撤审操作失败"+"~n"+commit_transaction.SQLErrText
- ROLLBACK Using commit_transaction;
- GOTO ext
- END IF
- ext:
- IF arg_ifcommit And rslt = 1 THEN
- COMMIT Using commit_transaction;
- END IF
- Return (rslt)
- end function
- on uo_income_expenses.create
- call super::create
- TriggerEvent( this, "constructor" )
- end on
- on uo_income_expenses.destroy
- TriggerEvent( this, "destructor" )
- call super::destroy
- end on
- event constructor;String str_optionvalue,arg_msg
- //f_get_sys_option_value('328',str_optionvalue,arg_msg)
- //sys_option_income_secaudit = Long(str_optionvalue)
- end event
|