12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361 |
- $PBExportHeader$uo_wage.sru
- forward
- global type uo_wage from nonvisualobject
- end type
- end forward
- global type uo_wage from nonvisualobject
- end type
- global uo_wage uo_wage
- forward prototypes
- public function integer f_delone (long arg_mth, long arg_empid, ref string arg_msg, boolean arg_ifcommit)
- public function integer f_setwagemxdata (long arg_mth, long arg_empid, long arg_wageid, decimal arg_wageamt, ref string arg_msg, boolean arg_ifcommit)
- public function integer f_addemp (long arg_wagemth, long arg_empid, ref string arg_msg, boolean arg_ifcommit)
- public function integer f_delemp (long arg_wagemth, long arg_empid, ref string arg_msg, boolean arg_ifcommit)
- public function integer f_init_wagemx_0 (long arg_scid, long arg_mth, long arg_wageid, ref string arg_msg, boolean arg_ifcommit)
- public function integer f_uninit (long arg_scid, long arg_mth, ref string arg_msg)
- public function integer f_auditing (long arg_mth, long arg_scid, long arg_empid, string arg_ademp, ref string arg_msg)
- public function integer f_wage_cmpl (long arg_scid, long arg_mth, ref string arg_msg, boolean arg_ifcommit)
- public function integer f_unauditing (long arg_mth, long arg_scid, long arg_empid, string arg_ademp, ref string arg_msg)
- public function integer f_init (long arg_scid, long arg_mth, integer arg_ifall, ref string arg_msg)
- public function integer f_wage_clear (long arg_wageid, long arg_wagemth, ref string arg_msg, boolean arg_ifcommit)
- public function integer f_check_noaudit (long arg_wagemth, long arg_scid, long arg_empid, ref string arg_msg)
- end prototypes
- public function integer f_delone (long arg_mth, long arg_empid, ref string arg_msg, boolean arg_ifcommit);//f_delone
- //1,删除一工资记录
- //2.删除对应工资明细记录
- long rslt=1,cnt
- string ls_msg
- select count(*)
- into :cnt
- from u_gz_wage
- where u_gz_wage.wagemth=:arg_mth
- and Auditingflag = 0 and empid=:arg_empid;
- if sqlca.sqlcode<>0 then
- ls_msg=sqlca.sqlerrtext
- rslt=0
- arg_msg="查询工资记录是否已经审核失败>>"+ls_msg
- goto ext
- end if
- if cnt=0 then
- rslt=0
- arg_msg="目标工资记录已经审核!"
- goto ext
- end if
-
- //1,删除一工资记录
- delete u_gz_wage where wagemth=:arg_mth and empid=:arg_empid;
- if sqlca.sqlcode<>0 then
- ls_msg=sqlca.sqlerrtext
- rslt=0
- arg_msg="删除个人工资记录失败>>"+ls_msg
- goto ext
- end if
- //2.删除工资明细记录
- delete u_gz_wagemx where wagemth=:arg_mth and empid=:arg_empid ;
- if sqlca.sqlcode<>0 then
- ls_msg=sqlca.sqlerrtext
- rslt=0
- arg_msg="删除个人工资对应项目明细记录失败>>"+ls_msg
- goto ext
- end if
- ext:
- if rslt=0 then
- rollback;
- else
- if arg_ifcommit then
- commit;
- end if
- end if
- return rslt
- end function
- public function integer f_setwagemxdata (long arg_mth, long arg_empid, long arg_wageid, decimal arg_wageamt, ref string arg_msg, boolean arg_ifcommit);//f_setwagemxdata(arg_mth,arg_empid,arg_wageid,arg_wageamt,arg_msg,arg_ifcommit)
- //审核检查
- //删除旧的
- //插入新的
- Long rslt = 1,cnt,ls_wagetype
- String ls_msg,ls_wagename
- String ls_empcode,ls_empname
- SELECT empcode,Empname INTO :ls_empcode,:ls_empname
- FROM u_rs_empinfo
- Where empid = :arg_empid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询员工资料失败:'+String(arg_empid)
- GOTO ext
- END IF
- SELECT count(*)
- INTO :cnt
- FROM u_gz_wage
- WHERE u_gz_wage.wagemth = :arg_mth
- AND Auditingflag = 0 AND empid = :arg_empid;
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- rslt = 0
- arg_msg = "查询员工:"+String(ls_empcode+ls_empname)+"月份:"+String(arg_mth)+"工资记录是否已经审核失败>>"+ls_msg
- GOTO ext
- END IF
- IF cnt = 0 THEN
- rslt = 0
- arg_msg = "员工:"+String(ls_empcode+ls_empname)+"月份:"+String(arg_mth)+"目标工资记录已经审核或还没有初始化!"
- GOTO ext
- END IF
- SELECT u_gz_wageitem.wagetype,u_gz_wageitem.wagename
- INTO :ls_wagetype,:ls_wagename
- FROM u_gz_wageitem
- Where u_gz_wageitem.wageid = :arg_wageid ;
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- rslt = 0
- arg_msg = "查询工资项目增减类型失败>>"+ls_msg
- GOTO ext
- END IF
- UPDATE u_gz_wagemx
- SET Wagename = :ls_wagename,
- wagetype = :ls_wagetype,
- Wageamt = Wageamt + :arg_wageamt
- Where wageid = :arg_wageid AND empid = :arg_empid AND wagemth = :arg_mth ;
- IF sqlca.SQLCode = 0 AND sqlca.SQLNRows = 0 THEN
- INSERT INTO u_gz_wagemx
- ( wageid,
- empid,
- wagemth,
- Wagename,
- wagetype,
- Wageamt )
- VALUES ( :arg_wageid,
- :arg_empid,
- :arg_mth,
- :ls_wagename,
- :ls_wagetype,
- :arg_wageamt ) ;
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- rslt = 0
- arg_msg = "插入新工资明细数据记录失败>>"+ls_msg
- GOTO ext
- END IF
- ELSEIF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- rslt = 0
- arg_msg = "删除旧更新工资明细数据记录失败>>"+ls_msg
- GOTO ext
- END IF
- //delete from u_gz_wagemx
- // where wageid=:arg_wageid and empid=:arg_empid and wagemth=:arg_mth ;
- // if sqlca.sqlcode<>0 then
- // ls_msg=sqlca.sqlerrtext
- // rslt=0
- // arg_msg="删除旧工资明细数据记录失败>>"+ls_msg
- // goto ext
- // end if
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSE
- IF arg_ifcommit THEN
- COMMIT;
- END IF
- END IF
- RETURN rslt
- end function
- public function integer f_addemp (long arg_wagemth, long arg_empid, ref string arg_msg, boolean arg_ifcommit);//f_addemp(long wagemth,long empid,ref string arg_msg,boolean arg_ifcommit)
- //在工资表中追加人员
- Int cnt = 0
- Int rslt = 1
- Long ll_deptid,ll_flag = 0
- String ls_empcode,ls_empname,ls_name
- SELECT empcode,empname
- INTO :ls_empcode,:ls_empname
- FROM u_rs_empinfo
- Where empid = :arg_empid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询员工资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- ls_name = ls_empcode + ' ' + ls_empname
- SELECT Top 1 Auditingflag INTO :ll_flag FROM u_gz_wage Where wagemth = :arg_wagemth;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询工资表失败,原因:'+sqlca.SQLErrText
- GOTO ext
- END IF
- IF ll_flag = 1 THEN
- rslt = 0
- arg_msg = '该月工资表已审核,不能增加员工!'
- GOTO ext
- END IF
- SELECT count(*) INTO :cnt
- FROM u_gz_wage Where wagemth = :arg_wagemth
- AND empid = :arg_empid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询员工:'+ls_name+',工资表失败,原因:'+sqlca.SQLErrText
- GOTO ext
- END IF
- IF cnt > 0 THEN
- rslt = 0
- arg_msg = '该员工:'+ls_name+',已在该月工资表中存在,不能增加!'
- GOTO ext
- END IF
- SELECT deptid INTO :ll_deptid
- FROM u_rs_empinfo Where empid = :arg_empid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询员工:'+ls_name+',部门失败,原因:'+sqlca.SQLErrText
- GOTO ext
- END IF
- IF ll_deptid <= 0 THEN
- rslt = 0
- arg_msg = '非法部门唯一码'
- GOTO ext
- END IF
- INSERT INTO u_gz_wage
- (wagemth,
- empid,
- deptid)
- VALUES (:arg_wagemth,
- :arg_empid,
- :ll_deptid);
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '员工:'+ls_name+',插入工资表失败,原因:'+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 f_delemp (long arg_wagemth, long arg_empid, ref string arg_msg, boolean arg_ifcommit);int rslt=1
- long ll_flag=0,cnt=0
- select top 1 Auditingflag into :ll_flag from u_gz_wage where wagemth=:arg_wagemth;
- if sqlca.sqlcode<>0 then
- rslt=0
- arg_msg='查询工资表失败,原因:'+sqlca.sqlerrtext
- goto ext
- end if
- if ll_flag=1 then
- rslt=0
- arg_msg='该月工资表已审核,不能增加员工!'
- goto ext
- end if
- select count(*) into :cnt from u_sc_taskworkmx,u_sc_taskwork
- where u_sc_taskworkmx.billid = u_sc_taskwork.billid
- and ( u_sc_taskwork.Wagemth = :arg_wagemth
- or u_sc_taskwork.wagemth = 0 )
- and empid=:arg_empid;
- if sqlca.sqlcode<>0 then
- rslt=0
- arg_msg='查询计件明细失败'+sqlca.sqlerrtext
- goto ext
- end if
- if cnt>0 then
- rslt=0
- arg_msg='该员工在该月的计件单中存在,不能删除!'
- goto ext
- end if
- delete from u_gz_wagemx where wagemth=:arg_wagemth and empid=:arg_empid;
- if sqlca.sqlcode<>0 then
- rslt=0
- arg_msg='删除失败!原因:'+sqlca.sqlerrtext
- goto ext
- end if
- delete from u_gz_wage where wagemth=:arg_wagemth and empid=:arg_empid;
- 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 f_init_wagemx_0 (long arg_scid, long arg_mth, long arg_wageid, ref string arg_msg, boolean arg_ifcommit);//f_init_wagemx_0(arg_mth,arg_wageid,arg_msg,arg_ifcommit)
- //1,补充生成工资明细0项目记录
- //2.删除废弃记录
- Long rslt = 1
- String ls_msg
- //1 补充生成工资明细0项目记录
- INSERT INTO u_gz_wagemx
- ( wageid,
- empid,
- wagemth,
- Wagename,
- wagetype,
- Wageamt )
- SELECT u_gz_wageitem.wageid,
- u_gz_wage.empid,
- u_gz_wage.wagemth,
- u_gz_wageitem.Wagename,
- u_gz_wageitem.wagetype,
- 0 as amt
- FROM u_gz_wage,
- u_gz_wageitem,
- u_rs_empinfo
- WHERE ( u_gz_wageitem.useflag = 1 ) AND
- ( u_rs_empinfo.scid = :arg_scid ) AND
- ( u_rs_empinfo.empid = u_gz_wage.empid ) AND
- ( u_gz_wage.wagemth = :arg_mth ) AND
- ( u_gz_wageitem.wageid = :arg_wageid) AND
- ( u_gz_wage.empid NOT IN
- ( SELECT u_gz_wagemx.empid FROM u_gz_wagemx
- WHERE u_gz_wagemx.wagemth = :arg_mth AND
- u_gz_wagemx.wageid = :arg_wageid)) ;
-
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- rslt = 0
- arg_msg = "初始化工资[月直接输入]明细项目记录失败>"+String(arg_wageid)+">>"+ls_msg
- GOTO ext
- END IF
- DELETE FROM u_gz_wagemx WHERE
- u_gz_wagemx.wagemth = :arg_mth AND
- u_gz_wagemx.wageid = :arg_wageid AND
- u_gz_wagemx.empid NOT IN
- (SELECT u_gz_wage.empid FROM u_gz_wage WHERE
- ( u_gz_wage.wagemth = :arg_mth ) );
-
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- rslt = 0
- arg_msg = "删除无效工资[月直接输入]明细项目记录失败>"+String(arg_wageid)+">>"+ls_msg
- 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 f_uninit (long arg_scid, long arg_mth, ref string arg_msg);//f_uninit
- //1,删除工资记录
- //2.删除工资明细记录
- Long rslt = 1,cnt
- String ls_msg
- cnt = 0
- select count(*) into :cnt
- from u_scdef
- where scid = :arg_scid;
- if sqlca.sqlcode <> 0 then
- arg_msg = '查询分部资料失败,可能分部不存在'
- rslt = 0
- goto ext
- end if
- if cnt <> 1 then
- arg_msg = '查询分部资料失败,可能分部不存在'
- rslt = 0
- goto ext
- end if
- cnt = 0
- SELECT count(*)
- INTO :cnt
- FROM u_gz_wage,u_rs_empinfo
- WHERE u_gz_wage.wagemth = :arg_mth
- AND u_gz_wage.empid = u_rs_empinfo.empid
- AND u_rs_empinfo.scid = :arg_scid
- AND Auditingflag = 1;
- //有已经审核的记录即认为是已经审核,不可以反初始化
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- rslt = 0
- arg_msg = "查询工资表是否已经审核失败>>"+ls_msg
- GOTO ext
- END IF
- IF cnt > 0 THEN
- rslt = 0
- arg_msg = String(arg_mth)+"工资表已经审核,不可以反初始化"
- GOTO ext
- END IF
- //1,删除工资记录
- DELETE u_gz_wage
- FROM u_gz_wage,u_rs_empinfo
- WHERE wagemth = :arg_mth
- AND u_gz_wage.empid = u_rs_empinfo.empid
- AND u_rs_empinfo.scid = :arg_scid;
-
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- rslt = 0
- arg_msg = "删除"+String(arg_mth)+"工资记录失败>>"+ls_msg
- GOTO ext
- END IF
- //2.删除工资明细记录
- DELETE u_gz_wagemx
- FROM u_gz_wagemx,u_rs_empinfo
- WHERE u_gz_wagemx.wagemth = :arg_mth
- AND u_gz_wagemx.empid = u_rs_empinfo.empid
- AND u_rs_empinfo.scid = :arg_scid;
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- rslt = 0
- arg_msg = "删除"+String(arg_mth)+"工资项目明细记录失败>>"+ls_msg
- GOTO ext
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSE
- COMMIT;
- END IF
- RETURN rslt
- end function
- public function integer f_auditing (long arg_mth, long arg_scid, long arg_empid, string arg_ademp, ref string arg_msg);//f_auditing
- //
- //1.计算工资金额
- //3.查询是否已经审核:if arg_empid=0,全月[部门]审核; else 单条审核
- //4.
- Long rslt = 1,i, cnt = 0
- String ls_msg
- DateTime ldt_billdate
- Decimal lde_wageamt
- Long ll_moneyid_native, ll_empid
- uo_empinfo uo_ep
- uo_ep = Create uo_empinfo
- datastore ds
- ds = Create datastore
- ds.DataObject = 'ds_mthwage_emp'
- ds.SetTransObject(sqlca)
- SELECT count(*) INTO :cnt
- FROM u_scdef
- Where scid = :arg_scid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询分部资料失败,可能分部不存在'
- rslt = 0
- GOTO ext
- END IF
- IF cnt <> 1 THEN
- arg_msg = '查询分部资料失败,可能分部不存在'
- rslt = 0
- GOTO ext
- END IF
- IF arg_empid < 0 Or arg_mth < 200001 THEN
- rslt = 0
- arg_msg = '参数错误'
- END IF
- rslt = f_wage_cmpl(arg_scid,arg_mth,arg_msg,False)
- IF rslt = 0 THEN
- GOTO ext
- END IF
- //更新人员部门ID
- UPDATE u_gz_wage
- SET u_gz_wage.Deptid = isnull(u_rs_empinfo.Deptid,0)
- FROM u_gz_wage,
- u_rs_empinfo
- WHERE ( u_gz_wage.empid = u_rs_empinfo.empid ) AND
- ( u_rs_empinfo.scid = :arg_scid ) AND
- ( u_gz_wage.wagemth = :arg_mth ) ;
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- rslt = 0
- arg_msg = "更新工资数据人员部门信息失败>>"+ls_msg
- GOTO ext
- END IF
- IF f_check_noaudit(arg_mth,arg_scid,arg_empid,arg_msg) = 0 THEN
- rslt = 0
- arg_msg = arg_msg + ',不能审核工资表'
- GOTO ext
- END IF
- ldt_billdate = DateTime(Today(),Now())
- SELECT moneyid INTO :ll_moneyid_native
- FROM cw_currency
- Where native = 1;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询本位币资料失败'
- rslt = 0
- GOTO ext
- END IF
- IF arg_empid = 0 THEN //全月数据审核[部门审核]
- cnt = 0
- SELECT count(*)
- INTO :cnt
- FROM u_gz_wage,u_rs_empinfo
- WHERE u_gz_wage.wagemth = :arg_mth
- AND u_gz_wage.empid = u_rs_empinfo.empid
- AND u_rs_empinfo.scid = :arg_scid
- And Auditingflag = 0 ;
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- rslt = 0
- arg_msg = "查询工资表是否已经审核失败>>"+ls_msg
- GOTO ext
- END IF
- IF cnt = 0 THEN
- rslt = 0
- arg_msg = String(arg_mth)+"工资表已经全部审核!"
- GOTO ext
- END IF
-
- //增加工资应付帐
- cnt = ds.Retrieve(arg_scid, arg_mth, 0)
-
- FOR i = 1 To cnt
- ll_empid = ds.Object.u_gz_wage_empid[i]
- lde_wageamt = ds.Object.uv_getnew_tolwageamt_tolwageamt[i]
- IF IsNull(lde_wageamt) THEN lde_wageamt = 0
-
- //增加工资应付帐
- IF lde_wageamt <> 0 THEN
- IF uo_ep.uof_add_emppay(ll_empid,0,ll_moneyid_native,String(arg_mth)+'工资',&
- ldt_billdate,lde_wageamt,String(arg_mth)+'工资',0,False,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- END IF
- NEXT
-
- UPDATE u_gz_wage
- SET Auditingdate = getdate(),
- Auditingemp = :arg_ademp,
- Auditingflag = 1
- FROM u_gz_wage,u_rs_empinfo
- WHERE u_gz_wage.wagemth = :arg_mth
- AND u_gz_wage.empid = u_rs_empinfo.empid
- AND u_rs_empinfo.scid = :arg_scid
- And Auditingflag = 0 ;
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- rslt = 0
- arg_msg = "审核"+String(arg_mth)+"工资表失败>>"+ls_msg
- GOTO ext
- END IF
- rslt = sqlca.SQLNRows
-
-
-
- ELSE //单记录审核
- cnt = 0
- SELECT count(*)
- INTO :cnt
- FROM u_gz_wage,u_rs_empinfo
- WHERE u_gz_wage.wagemth = :arg_mth
- AND u_gz_wage.empid = u_rs_empinfo.empid
- AND u_rs_empinfo.scid = :arg_scid
- AND Auditingflag = 0
- And u_gz_wage.empid = :arg_empid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "查询工资记录是否已经审核失败,"+sqlca.SQLErrText
- GOTO ext
- END IF
-
- IF cnt = 0 THEN
- rslt = 0
- arg_msg = "目标工资记录已经审核!"
- GOTO ext
- END IF
-
- SELECT uv_getnew_Tolwageamt.Tolwageamt
- INTO :lde_wageamt
- FROM u_gz_wage INNER JOIN
- u_rs_empinfo ON u_gz_wage.empid = u_rs_empinfo.empid INNER JOIN
- uv_getnew_Tolwageamt ON
- u_rs_empinfo.empid = uv_getnew_Tolwageamt.empid AND
- u_gz_wage.wagemth = uv_getnew_Tolwageamt.wagemth
- WHERE u_gz_wage.wagemth = :arg_mth
- AND u_rs_empinfo.scid = :arg_scid
- And u_gz_wage.empid = :arg_empid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "查询员工工资额失败,"+sqlca.SQLErrText
- GOTO ext
- END IF
- IF IsNull(lde_wageamt) THEN lde_wageamt = 0
-
- //增加工资应付帐
- IF lde_wageamt <> 0 THEN
- IF uo_ep.uof_add_emppay(arg_empid,0,ll_moneyid_native,String(arg_mth)+'工资',&
- ldt_billdate,lde_wageamt,String(arg_mth)+'工资',0,False,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- END IF
-
- UPDATE u_gz_wage
- SET Auditingdate = getdate(),
- Auditingemp = :arg_ademp,
- Auditingflag = 1
- FROM u_gz_wage,u_rs_empinfo
- WHERE u_gz_wage.wagemth = :arg_mth
- AND u_gz_wage.empid = u_rs_empinfo.empid
- AND u_rs_empinfo.scid = :arg_scid
- AND Auditingflag = 0
- And u_gz_wage.empid = :arg_empid;
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- rslt = 0
- arg_msg = "审核个人的工资记录失败!>>"+ls_msg
- GOTO ext
- END IF
- rslt = sqlca.SQLNRows
-
- END IF
- ext:
- Destroy uo_ep
- Destroy ds
- IF rslt = 0 THEN
- ROLLBACK;
- ELSE
- COMMIT;
- END IF
- RETURN rslt
- end function
- public function integer f_wage_cmpl (long arg_scid, long arg_mth, ref string arg_msg, boolean arg_ifcommit);//f_wage_cmpl
- Long rslt = 1
- String ls_msg
- UPDATE u_gz_wage
- SET u_gz_wage.Tolwageamt = uv_getnew_Tolwageamt .Tolwageamt
- FROM u_gz_wage,
- u_rs_empinfo,
- uv_getnew_Tolwageamt
- WHERE u_gz_wage.empid = uv_getnew_Tolwageamt.empid AND
- u_gz_wage.empid = u_rs_empinfo.empid AND
- u_rs_empinfo.scid = :arg_scid AND
- u_gz_wage.wagemth = uv_getnew_Tolwageamt.wagemth AND
- u_gz_wage.wagemth = :arg_mth AND
- u_gz_wage.Auditingflag = 0;
-
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- rslt = 0
- arg_msg = "计算"+String(arg_mth)+"工资金额记录失败>>"+ls_msg
- GOTO ext
- END IF
- if rslt = 0 then
- rollback;
- elseIF rslt = 1 and arg_ifcommit THEN
- COMMIT;
- END IF
- ext:
- RETURN rslt
- end function
- public function integer f_unauditing (long arg_mth, long arg_scid, long arg_empid, string arg_ademp, ref string arg_msg);//f_unauditing
- //2.查询是否已经审核:if arg_empid=0,全月[部门]审核; else 单条审核
- //3.
- //4.
- Long rslt = 1, i,cnt = 0
- String ls_msg
- Long ll_moneyid_native
- Long ll_empid
- Dec lde_wageamt
- uo_empinfo uo_ep
- uo_ep = Create uo_empinfo
- datastore ds
- ds = Create datastore
- ds.DataObject = 'ds_mthwage_emp'
- ds.SetTransObject(sqlca)
- SELECT count(*) INTO :cnt
- FROM u_scdef
- Where scid = :arg_scid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询分部资料失败,可能分部不存在'
- rslt = 0
- GOTO ext
- END IF
- IF cnt <> 1 THEN
- arg_msg = '查询分部资料失败,可能分部不存在'
- rslt = 0
- GOTO ext
- END IF
- IF arg_empid < 0 Or arg_mth < 200001 THEN
- rslt = 0
- arg_msg = '参数错误'
- END IF
- SELECT moneyid INTO :ll_moneyid_native
- FROM cw_currency
- Where native = 1;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询本位币资料失败'
- rslt = 0
- GOTO ext
- END IF
- IF arg_empid = 0 THEN //全月数据撤销审核[单部门]
- cnt = 0
- SELECT count(*)
- INTO :cnt
- FROM u_gz_wage,u_rs_empinfo
- WHERE u_gz_wage.wagemth = :arg_mth
- AND u_gz_wage.empid = u_rs_empinfo.empid
- AND u_rs_empinfo.scid = :arg_scid
- And Auditingflag = 1 ;
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- rslt = 0
- arg_msg = "查询工资表是否已经审核失败>>"+ls_msg
- GOTO ext
- END IF
- IF cnt = 0 THEN
- rslt = 0
- arg_msg = String(arg_mth)+"工资表全部未经审核!"
- GOTO ext
- END IF
-
- //增加工资应付帐
- cnt = ds.Retrieve(arg_scid, arg_mth, 1)
-
- FOR i = 1 To cnt
- ll_empid = ds.Object.u_gz_wage_empid[i]
- lde_wageamt = ds.Object.uv_getnew_tolwageamt_tolwageamt[i]
- IF IsNull(lde_wageamt) THEN lde_wageamt = 0
-
-
- IF lde_wageamt <> 0 THEN
- IF uo_ep.uof_del_emppay(ll_empid,0,ll_moneyid_native,String(arg_mth)+'工资',0,False,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- END IF
- NEXT
-
- UPDATE u_gz_wage
- SET Auditingdate = getdate(),
- Auditingemp = :arg_ademp,
- Auditingflag = 0
- FROM u_gz_wage,u_rs_empinfo
- WHERE u_gz_wage.wagemth = :arg_mth
- AND u_gz_wage.empid = u_rs_empinfo.empid
- AND u_rs_empinfo.scid = :arg_scid
- And Auditingflag = 1 ;
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- rslt = 0
- arg_msg = "撤审"+String(arg_mth)+"工资表失败>>"+ls_msg
- GOTO ext
- END IF
- rslt = sqlca.SQLNRows
-
- ELSE //单记录撤销审核
- cnt = 0
- SELECT count(*)
- INTO :cnt
- FROM u_gz_wage,u_rs_empinfo
- WHERE u_gz_wage.wagemth = :arg_mth
- AND u_gz_wage.empid = u_rs_empinfo.empid
- AND u_rs_empinfo.scid = :arg_scid
- AND u_gz_wage.Auditingflag = 1
- And u_gz_wage.empid = :arg_empid;
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- rslt = 0
- arg_msg = "查询工资记录是否已经审核失败>>"+ls_msg
- GOTO ext
- END IF
- IF cnt = 0 THEN
- rslt = 0
- arg_msg = "目标工资记录未经审核!"
- GOTO ext
- END IF
-
- IF uo_ep.uof_del_emppay(arg_empid,0,ll_moneyid_native,String(arg_mth)+'工资',0,False,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- UPDATE u_gz_wage
- SET Auditingdate = getdate(),
- Auditingemp = :arg_ademp,
- Auditingflag = 0
- FROM u_gz_wage,u_rs_empinfo
- WHERE u_gz_wage.wagemth = :arg_mth
- AND u_gz_wage.empid = u_rs_empinfo.empid
- AND u_rs_empinfo.scid = :arg_scid
- AND u_gz_wage.Auditingflag = 1
- And u_gz_wage.empid = :arg_empid;
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- rslt = 0
- arg_msg = "撤销审核个人的工资记录失败!>>"+ls_msg
- GOTO ext
- END IF
- rslt = sqlca.SQLNRows
- END IF
- ext:
- Destroy uo_ep
- Destroy ds
- IF rslt = 0 THEN
- ROLLBACK;
- ELSE
- COMMIT;
- END IF
- RETURN rslt
- end function
- public function integer f_init (long arg_scid, long arg_mth, integer arg_ifall, ref string arg_msg);//f_init
- //更新人员部门ID
- //1,补充生成工资记录
- //2.更新离职人员工资标记
- Long rslt = 1
- String ls_msg
- Long a_wageid[],p_wageid,ls_i
- Long cnt
- SELECT count(*) INTO :cnt
- FROM u_scdef
- Where scid = :arg_scid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询分部资料失败,可能分部不存在'
- rslt = 0
- GOTO ext
- END IF
- IF cnt <> 1 THEN
- arg_msg = '查询分部资料失败,可能分部不存在'
- rslt = 0
- GOTO ext
- END IF
- DateTime ld_lastdate,ld_firstdate
- Long ll_month
- ll_month = Long(Right(String(arg_mth),2))
- IF Not (ll_month >= 1 AND ll_month <= 12) THEN
- arg_msg = '非法的工资月份'
- rslt = 0
- GOTO ext
- END IF
- IF arg_ifall = 0 THEN
- IF f_get_month_day(arg_mth,0,ld_firstdate,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- IF f_get_month_day(arg_mth,1,ld_lastdate,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- END IF
- //1 补充生成工资记录
- INSERT INTO u_gz_wage
- ( empid,
- wagemth,
- deptid,
- Tolwageamt,
- Havpaywageamt,
- Payflag,
- ispay,
- Dscrp,
- Auditingflag,
- Auditingemp,
- leaveflag)
- SELECT u_rs_empinfo.empid,:arg_mth,u_rs_empinfo.deptid,0,0,0,0,'',0,'',0
- FROM u_rs_empinfo
- WHERE u_rs_empinfo.status = 1 AND
- u_rs_empinfo.scid = :arg_scid AND
- ( u_rs_empinfo.joindate <= :ld_lastdate AND :arg_ifall = 0 OR :arg_ifall = 1) AND
- u_rs_empinfo.empid NOT IN
- (SELECT empid FROM u_gz_wage Where wagemth = :arg_mth) ;
-
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- rslt = 0
- arg_msg = "补充插入在职新工资数据记录失败>>"+ls_msg
- GOTO ext
- END IF
- INSERT INTO u_gz_wage
- ( empid,
- wagemth,
- deptid,
- Tolwageamt,
- Havpaywageamt,
- Payflag,
- ispay,
- Dscrp,
- Auditingflag,
- Auditingemp,
- leaveflag)
- SELECT u_rs_empinfo.empid,:arg_mth,u_rs_empinfo.deptid,0,0,0,0,'',0,'',0
- FROM u_rs_empinfo INNER join uv_get_dimissiondate on
- u_rs_empinfo.empid = uv_get_dimissiondate.empid
- WHERE u_rs_empinfo.status = 0 AND
- u_rs_empinfo.scid = :arg_scid AND
- ( uv_get_dimissiondate.movedate >= :ld_firstdate AND :arg_ifall = 0 ) AND
- u_rs_empinfo.empid NOT IN
- (SELECT empid FROM u_gz_wage Where wagemth = :arg_mth) ;
-
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- rslt = 0
- arg_msg = "补充插入离职新工资数据记录失败>>"+ls_msg
- GOTO ext
- END IF
- //2.更新离职人员工资标记
- UPDATE u_gz_wage
- SET leaveflag = 1
- FROM u_gz_wage,
- u_rs_empinfo
- WHERE ( u_gz_wage.empid = u_rs_empinfo.empid ) AND
- ( u_rs_empinfo.status = 0 ) AND
- ( u_rs_empinfo.scid = :arg_scid ) AND
- ( u_gz_wage.wagemth = :arg_mth ) ;
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- rslt = 0
- arg_msg = "更新离职人员工资标记录失败>>"+ls_msg
- GOTO ext
- END IF
- COMMIT;
- //工资记录初始化成功则提交
- //游标查询全部的 项目
- String ls_wageitem = ''
- Int li_ifint = 0
- SELECT count(*) INTO :cnt
- FROM u_gz_wagemx
- Where wagemth = :arg_mth;
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- rslt = 0
- arg_msg = "查询是否首次初始化失败>>"+ls_msg
- GOTO ext
- END IF
- IF cnt = 0 THEN li_ifint = 1
- DECLARE wageitem_cur CURSOR FOR
- SELECT u_gz_wageitem.Wageid
- FROM u_gz_wageitem
- Where ( u_gz_wageitem.useflag = 1 ) ;
-
- OPEN wageitem_cur;
- p_wageid = 1
- FETCH wageitem_cur INTO :a_wageid[p_wageid];
- DO WHILE sqlca.SQLCode = 0
- p_wageid++
- FETCH wageitem_cur INTO :a_wageid[p_wageid];
- LOOP
- CLOSE wageitem_cur;
- p_wageid = p_wageid - 1
- IF p_wageid = 0 THEN
- arg_msg = '工资项目未定义,请检查'
- rslt = 0
- GOTO ext
- END IF
- FOR ls_i = 1 TO p_wageid //循环初始化项目 ,直接提交
- rslt = f_init_wagemx_0(arg_scid,arg_mth,a_wageid[ls_i],arg_msg,FALSE)
- IF rslt = 0 THEN
- GOTO ext
- END IF
- NEXT
- IF li_ifint = 1 THEN
- UPDATE u_gz_wagemx
- SET u_gz_wagemx.Wageamt = u_rs_wagemx.wageamt
- FROM u_gz_wagemx INNER JOIN
- u_rs_wagemx ON u_gz_wagemx.empid = u_rs_wagemx.empid AND
- u_gz_wagemx.wageid = u_rs_wagemx.wageid
- Where u_gz_wagemx.wagemth = :arg_mth;
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = sqlca.SQLErrText
- rslt = 0
- arg_msg = "导入员工薪酬失败>>"+ls_msg
- GOTO ext
- END IF
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSE
- COMMIT;
- END IF
- RETURN rslt
- end function
- public function integer f_wage_clear (long arg_wageid, long arg_wagemth, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- Long cnt
- SELECT count(*)
- INTO :cnt
- FROM u_gz_wage
- WHERE wagemth = :arg_wagemth
- AND Auditingflag = 1;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询工资表失败,原因>>'+sqlca.SQLErrText
- GOTO ext
- END IF
- IF cnt > 0 THEN
- rslt = 0
- arg_msg = '该月的工资表已审核,不能撤审!'
- GOTO ext
- END IF
- UPDATE u_gz_wagemx
- SET wageamt = 0
- WHERE wageid = :arg_wageid
- AND wagemth = :arg_wagemth;
- 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 f_check_noaudit (long arg_wagemth, long arg_scid, long arg_empid, ref string arg_msg);Int rslt = 1
- Long cnt
- Long li_year,li_month
- li_year = Long(Left(String(arg_wagemth),4))
- li_month = Long(Right(String(arg_wagemth),2))
- //其它计件单
- SELECT count(*)
- INTO :cnt
- FROM u_sc_abnormity INNER JOIN
- u_sc_abnormitymx ON u_sc_abnormity.billid = u_sc_abnormitymx.billid
- and u_sc_abnormity.scid = u_sc_abnormitymx.scid
- WHERE ( u_sc_abnormity.wagemth = :arg_wagemth )
- AND ( u_sc_abnormitymx.empid = :arg_empid OR :arg_empid = 0 )
- AND ( u_sc_abnormity.scid = :arg_scid OR :arg_scid = -1 )
- And ( u_sc_abnormity.Auditingflag = 0 );
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询当月是否有未审核其它计件单失败,'+sqlca.SQLErrText
- GOTO ext
- END IF
- IF cnt > 0 THEN
- rslt = 0
- arg_msg = '当月有未审核其它计件单'
- GOTO ext
- END IF
- //奖罚单
- SELECT count(*)
- INTO :cnt
- FROM u_gz_award_punish
- WHERE ( u_gz_award_punish.wagemth = :arg_wagemth )
- AND ( u_gz_award_punish.empid = :arg_empid OR :arg_empid = 0 )
- And ( u_gz_award_punish.flag = 0 );
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询当月是否有未审核奖罚单失败,'+sqlca.SQLErrText
- GOTO ext
- END IF
- IF cnt > 0 THEN
- rslt = 0
- arg_msg = '当月有未审核奖罚单'
- GOTO ext
- END IF
- //借支单
- SELECT count(*)
- INTO :cnt
- FROM u_gz_loanwage
- WHERE ( u_gz_loanwage.returndate = :arg_wagemth )
- AND ( u_gz_loanwage.empid = :arg_empid OR :arg_empid = 0 )
- And ( u_gz_loanwage.flag = 0 );
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询当月是否有未审核借支单失败,'+sqlca.SQLErrText
- GOTO ext
- END IF
- IF cnt > 0 THEN
- rslt = 0
- arg_msg = '当月有未审核借支单'
- GOTO ext
- END IF
- //扣费品领用单
- SELECT count(*)
- INTO :cnt
- FROM u_outware
- WHERE ( year(u_outware.outdate) = :li_year )
- AND ( month(u_outware.outdate) = :li_month )
- AND ( u_outware.flag = 1 )
- AND ( u_outware.secflag = 0 )
- AND ( u_outware.cusid = :arg_empid )
- And ( u_outware.billtype = 10 );
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询当月是否有未审核扣费品领用单失败,'+sqlca.SQLErrText
- GOTO ext
- END IF
- IF cnt > 0 THEN
- rslt = 0
- arg_msg = '当月有未审核扣费品领用单'
- GOTO ext
- END IF
- //个人产品计件单
- SELECT count(*)
- INTO :cnt
- FROM u_scwg_taskwork_2,u_scwg_taskwork_2_mx
- WHERE ( u_scwg_taskwork_2.wagemth = :arg_wagemth )
- AND ( u_scwg_taskwork_2.flag = 0 )
- AND ( u_scwg_taskwork_2.billid = u_scwg_taskwork_2_mx.billid )
- AND ( u_scwg_taskwork_2.billtype = 1 )
- AND ( u_scwg_taskwork_2.wrkGrpid = :arg_empid OR :arg_empid = 0 )
- And (u_scwg_taskwork_2.scid = :arg_scid Or :arg_scid = -1);
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询当月是否有未审核个人产品计件单失败,'+sqlca.SQLErrText
- GOTO ext
- END IF
- IF cnt > 0 THEN
- rslt = 0
- arg_msg = '当月有未审核个人产品计件单'
- GOTO ext
- END IF
- //工作中心产品日分配计件单
- SELECT count(*) INTO :cnt
- FROM u_scwg_taskwork_day,u_scwg_taskwork_day_mx_emp
- WHERE ( u_scwg_taskwork_day.wagemth = :arg_wagemth )
- AND ( u_scwg_taskwork_day.flag = 0 )
- AND ( u_scwg_taskwork_day.billid = u_scwg_taskwork_day_mx_emp.billid )
- AND ( u_scwg_taskwork_day_mx_emp.empid = :arg_empid OR :arg_empid = 0 )
- AND ( u_scwg_taskwork_day.scid = :arg_scid OR :arg_scid = -1)
- And (u_scwg_taskwork_day.billtype = 0 );
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询当月是否有未审核工作中心产品日分配计件单失败,'+sqlca.SQLErrText
- GOTO ext
- END IF
- IF cnt > 0 THEN
- rslt = 0
- arg_msg = '当月有未审核工作中心产品日分配计件单'
- GOTO ext
- END IF
- //工作中心日分配异常计件单
- SELECT count(*)
- INTO :cnt
- FROM u_scwg_taskwork_day,u_scwg_taskwork_day_mx_emp
- WHERE ( u_scwg_taskwork_day.wagemth = :arg_wagemth )
- AND ( u_scwg_taskwork_day.flag = 0 )
- AND ( u_scwg_taskwork_day.billid = u_scwg_taskwork_day_mx_emp.billid )
- AND ( u_scwg_taskwork_day_mx_emp.empid = :arg_empid OR :arg_empid = 0 )
- AND ( u_scwg_taskwork_day.scid = :arg_scid OR :arg_scid = -1 )
- And (u_scwg_taskwork_day.billtype = 1 );
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询当月是否有未审核工作中心日分配异常计件单失败,'+sqlca.SQLErrText
- GOTO ext
- END IF
- IF cnt > 0 THEN
- rslt = 0
- arg_msg = '当月有未审核工作中心日分配异常计件单'
- GOTO ext
- END IF
- //产品个人计件单
- SELECT count(*)
- INTO :cnt
- FROM u_sc_taskwork INNER JOIN
- u_sc_taskworkmx ON u_sc_taskwork.billid = u_sc_taskworkmx.billid
- WHERE ( u_sc_taskwork.wagemth = :arg_wagemth )
- AND ( u_sc_taskwork.Auditingflag = 0 )
- AND ( u_sc_taskworkmx.Empid = :arg_empid OR :arg_empid = 0 )
- And ( u_sc_taskwork.scid = :arg_scid Or :arg_scid = -1 );
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询当月是否有未审核产品个人计件单失败,'+sqlca.SQLErrText
- GOTO ext
- END IF
- IF cnt > 0 THEN
- rslt = 0
- arg_msg = '当月有未审核产品个人计件单'
- GOTO ext
- END IF
- //工作中心计件工资分配
- SELECT count(*)
- INTO :cnt
- FROM u_scwg_taskwork_money
- WHERE ( u_scwg_taskwork_money.wagemth = :arg_wagemth )
- AND ( u_scwg_taskwork_money.Auditingflag = 0 )
- And ( u_scwg_taskwork_money.empid = :arg_empid Or :arg_empid = 0 );
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询当月是否有未审核工作中心计件工资分配失败,'+sqlca.SQLErrText
- GOTO ext
- END IF
- IF cnt > 0 THEN
- rslt = 0
- arg_msg = '当月有未审核工作中心计件工资分配'
- GOTO ext
- END IF
- ext:
- RETURN rslt
- end function
- on uo_wage.create
- call super::create
- TriggerEvent( this, "constructor" )
- end on
- on uo_wage.destroy
- TriggerEvent( this, "destructor" )
- call super::destroy
- end on
|