📄 sbp_psagacct_dianli.~pas
字号:
ln_cycpfd :=Fieldbyname('ttwage').AsFloat*0.06;
psints_dianli(Fieldbyname('psseno').AsInteger,2000,ln_lypsfd,ln_lypsints,ln_lypscyints,ln_lycpfd,ln_lycpints,ln_lycpcyints,ln_months,db);
if ln_months>0 then
begin
ln_cypsints :=Fieldbyname('rewage').AsFloat*0.05*0.05/12*(25*Fieldbyname('months').AsInteger-Fieldbyname('months').AsInteger*Fieldbyname('months').AsInteger)/2;
ln_cycpints :=Fieldbyname('rewage').AsFloat*0.06*0.05/12*(25*Fieldbyname('months').AsInteger-Fieldbyname('months').AsInteger*Fieldbyname('months').AsInteger)/2;
ls_wgnotes :=Fieldbyname('rewage').AsString+':1-'+Fieldbyname('months').AsString;
ls_ftnotes :=fillchar('★',Fieldbyname('months').AsInteger)+fillchar('-',12-Fieldbyname('months').AsInteger);
end else
begin
ln_cypsints :=Fieldbyname('rewage').AsFloat*0.05*0.05/12*(Fieldbyname('months').AsInteger+Fieldbyname('months').AsInteger*Fieldbyname('months').AsInteger)/2;
ln_cycpints :=Fieldbyname('rewage').AsFloat*0.06*0.05/12*(Fieldbyname('months').AsInteger+Fieldbyname('months').AsInteger*Fieldbyname('months').AsInteger)/2;
ls_wgnotes :=Fieldbyname('rewage').AsString+':'+inttostr(13-Fieldbyname('months').AsInteger)+'-12';
ls_ftnotes :=fillchar('-',12-Fieldbyname('months').AsInteger)+fillchar('★',Fieldbyname('months').AsInteger);
end ;
end ;
if Fieldbyname('yearno').AsInteger=2001 then
begin
ln_cypsfd :=Fieldbyname('ttwage').AsFloat*0.06;
ln_cycpfd :=Fieldbyname('ttwage').AsFloat*0.05;
psints_dianli(Fieldbyname('psseno').AsInteger,2001,ln_lypsfd,ln_lypsints,ln_lypscyints,ln_lycpfd,ln_lycpints,ln_lycpcyints,ln_months,db);
if ln_months>0 then
begin
ln_cypsints :=Fieldbyname('rewage').AsFloat*0.06*0.035/12*(25*Fieldbyname('months').AsInteger-Fieldbyname('months').AsInteger*Fieldbyname('months').AsInteger)/2;
ln_cycpints :=Fieldbyname('rewage').AsFloat*0.05*0.035/12*(25*Fieldbyname('months').AsInteger-Fieldbyname('months').AsInteger*Fieldbyname('months').AsInteger)/2;
ls_wgnotes :=Fieldbyname('rewage').AsString+':1-'+Fieldbyname('months').AsString;
ls_ftnotes :=fillchar('★',Fieldbyname('months').AsInteger)+fillchar('-',12-Fieldbyname('months').AsInteger);
end else
begin
ln_cypsints :=Fieldbyname('rewage').AsFloat*0.06*0.035/12*(Fieldbyname('months').AsInteger+Fieldbyname('months').AsInteger * Fieldbyname('months').AsInteger)/2;
ln_cycpints :=Fieldbyname('rewage').AsFloat*0.05*0.035/12*(Fieldbyname('months').AsInteger+Fieldbyname('months').asinteger *Fieldbyname('months').asinteger)/2;
ls_wgnotes :=Fieldbyname('rewage').AsString+':'+inttostr(13-Fieldbyname('months').AsInteger)+'-12';
ls_ftnotes :=fillchar('-',12-Fieldbyname('months').AsInteger)+fillchar('★',Fieldbyname('months').AsInteger);
end ;
end ;
temp.ParamByName('param1').AsString :=Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param2').AsString :=Query.fieldbyname('yearno').AsString ;
temp.ParamByName('param3').AsString :=formatfloat('0.00',ln_lycpfd);//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param4').AsString :=formatfloat('0.00',ln_lypsfd);//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param5').AsString :=formatfloat('0.00',ln_lycpints);//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param6').AsString :=formatfloat('0.00',ln_lypsints);//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param7').AsString :=Query.fieldbyname('ttwage').AsString ;
temp.ParamByName('param8').AsString :=inttostr(ln_months+Query.fieldbyname('months').AsInteger);//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param9').AsString :=Query.fieldbyname('months').AsString ;
temp.ParamByName('param10').AsString :='0';//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param11').AsString :='0';//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param12').AsString :=formatfloat('0.00',ln_cycpfd);//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param13').AsString :='0';////Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param14').AsString :=formatfloat('0.00',ln_cypsfd);//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param15').AsString :='0';//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param16').AsString :=formatfloat('0.00',ln_cycpfd);//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param17').AsString :='0';//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param18').AsString :='0';//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param19').AsString :='0';//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param20').AsString :=formatfloat('0.00',ln_cypsfd);//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param21').AsString :='0';//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param22').AsString :='0';//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param23').AsString :='0';//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param24').AsString :=formatfloat('0.00',ln_cycpints);//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param25').AsString :=formatfloat('0.00',ln_cypsints);//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param26').AsString :='0';//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param27').AsString :='0';//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param28').AsString :='0';//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param29').AsString :='0';//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param30').AsString :='0';//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param31').AsString :='0';//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param32').AsString :='0';//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param33').AsDate :=strtodate(trim(Query.fieldbyname('yearno').AsString)+'-12-31');//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param34').AsString :='9';//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param35').AsString :='0';//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param36').AsString :='0';//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param37').AsString :='0';//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param38').AsString :=formatfloat('0.00',ln_lycpcyints);//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param39').AsString :=formatfloat('0.00',ln_lypscyints);//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param40').AsString :='0';//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param41').AsString :=ls_wgnotes;//Query.fieldbyname('psseno').AsString ;
temp.ParamByName('param42').AsString :=ls_ftnotes;//Query.fieldbyname('psseno').AsString ;
temp.ExecSQL ;
{INSERT INTO SBDA_PSAGACCT (PRSENO,PSSENO,YEARNO,LYCPPRIN,LYPSPRIN,LYCPINTS,LYPSINTS,CYREWG,
MONTHS,CYMONTHS,LYMONTHS,LYREMONTHS,CYARCPFD,CYRELYCPFD,CYARPSFD,CYRELYPSFD,
CYFTCPFD,CYRELYCPAC,SPLYCPFD,CYCPACMONS,CYPSARAC,CYRELYPSARAC,CYRELYPSAC,CYPSACMONS,
CYCPINTS,CYPSINTS,ACCPINUP,ACPSWGINUP,ACCPINUPINTS,ACPSWGINUPINTS,WGMONUP,DBCPFD,DBPSFD,
CYDATE,PFLAG,DBFD,TOTFD,TOTPSFD,LYCYCPINTS,LYCYPSINTS,PAYIDX,WGNOTES,FTNOTES)
values(sb_prseno.nextval,c_pswgcase.psseno,c_pswgcase.yearno,ln_lycpfd,ln_lypsfd,ln_lycpints,ln_lypsints,c_pswgcase.ttwage,
ln_months+c_pswgcase.months,c_pswgcase.months,0,0,ln_cycpfd,0,ln_cypsfd,0,
ln_cycpfd,0,0,0,ln_cypsfd,0,0,0,
ln_cycpints,ln_cypsints,0,0,0,0,0,0,0,
to_date(c_pswgcase.yearno||'-12-31','yyyy-mm-dd'),'9',0,
0,0,ln_lycpcyints,ln_lypscyints,0,ls_wgnotes,ls_ftnotes)}
next;
end;
end ;
{Db.Commit ;
except
Db.Rollback ;
end;}
////////////////////////////////////////////////
end;
//procedure psints_dianli(an_ps ,an_yearno :integer;var an_lypsprin ,an_lypsints,an_lycypsints ,an_lycpprin ,an_lycpints ,an_lycycpints ,an_months :double;Db:Tdatabase);
procedure psints_dianli(an_ps ,an_yearno :integer;var an_lypsprin ,an_lypsints,an_lycypsints ,an_lycpprin ,an_lycpints ,an_lycycpints:double;var an_months :integer;Db:Tdatabase);
var
Query:TQuery;
begin
//////////////////////////////////////////
try
Query:=TQuery.Create(nil);
Query.DatabaseName :=Db.DatabaseName ;
with Query do
begin
sql.Add('select isnull(lypsprin,0)+isnull(cypsarac,0),isnull(lypsints,0)+isnull(cypsints,0)+isnull(lycypsints,0),');
sql.Add('isnull(lycpprin,0)+isnull(cyftcpfd,0),isnull(lycpints,0)+isnull(cycpints,0)+isnull(lycycpints,0), isnull(lypsprin,0)+isnull(cypsarac,0)+isnull(lypsints,0)+isnull(cypsints,0)+isnull(lycypsints,0),');
sql.Add('isnull(lycpprin,0)+isnull(cyftcpfd,0)+isnull(lycpints,0)+isnull(cycpints,0)+isnull(lycycpints,0), isnull(months,0)');
sql.Add('from sbda_psagacct where psseno='+inttostr(an_ps)+' and yearno='+inttostr(an_yearno-1));
prepare;
open;
an_lypsprin:=Fields[0].AsFloat ;
an_lypsints:=Fields[1].AsFloat ;
an_lycpprin:=Fields[2].AsFloat ;
an_lycpints:=Fields[3].AsFloat ;
an_lycypsints:=Fields[4].AsFloat ;
an_lycycpints:=Fields[5].AsFloat ;
an_months:=Fields[6].AsInteger ;
end;
{select isnull(lypsprin,0)+isnull(cypsarac,0),isnull(lypsints,0)+isnull(cypsints,0)+isnull(lycypsints,0),
isnull(lycpprin,0)+isnull(cyftcpfd,0),isnull(lycpints,0)+isnull(cycpints,0)+isnull(lycycpints,0),
isnull(lypsprin,0)+isnull(cypsarac,0)+isnull(lypsints,0)+isnull(cypsints,0)+isnull(lycypsints,0),
isnull(lycpprin,0)+isnull(cyftcpfd,0)+isnull(lycpints,0)+isnull(cycpints,0)+isnull(lycycpints,0),
isnull(months,0)
into an_lypsprin,an_lypsints,an_lycpprin,an_lycpints,an_lycypsints,an_lycycpints,an_months
from sbda_psagacct where psseno=an_ps and yearno=an_yearno-1; }
if an_yearno=1994 then
begin
an_lycypsints :=an_lycypsints*0.16;
an_lycycpints :=an_lycycpints*0.16;
end ;
if an_yearno=1995 then
begin
an_lycypsints :=an_lycypsints*0.2;
an_lycycpints :=an_lycycpints*0.2;
end ;
if an_yearno=1996 then
begin
an_lycypsints :=an_lycypsints*0.12;
an_lycycpints :=an_lycycpints*0.12;
end ;
if an_yearno=1997 then
begin
an_lycypsints :=an_lycypsints*0.12;
an_lycycpints :=an_lycycpints*0.12;
end ;
if an_yearno=1998 then
begin
an_lycypsints :=an_lycypsints*0.1;
an_lycycpints :=an_lycycpints*0.1;
end ;
if an_yearno=1999 then
begin
an_lycypsints :=an_lycypsints*0.05;
an_lycycpints :=an_lycycpints*0.05;
end ;
if an_yearno=2000 then
begin
an_lycypsints :=an_lycypsints*0.05;
an_lycycpints :=an_lycycpints*0.05;
end ;
if an_yearno=2001 then
begin
an_lycypsints :=an_lycypsints*0.035;
an_lycycpints :=an_lycycpints*0.035;
end ;
except
an_lypsprin :=0;
an_lypsints :=0;
an_lycpprin :=0;
an_lycpints :=0;
an_lycypsints :=0;
an_lycycpints :=0;
an_months :=0;
end;
///////////////////////////////////////////
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -