📄 sbp_psagacct_tielao_tl.~pas
字号:
// psints_tielao(an_ps ,an_yearno :integer;var an_lypsprin ,an_lypsints,an_lycypsints,an_lycpprin ,an_lycpints,an_lycycpints,an_months :double;Db :TDatabase);
Qry.Close ;
Qry.SQL.Clear ;
Qry.SQL.Add('select rewage,ttwage,months from sbdu_pswgcase where psseno=:param1 and yearno=:param2') ;
Qry.ParamByName('param1').AsInteger :=Fieldbyname('psseno').AsInteger;
Qry.ParamByName('param2').AsInteger := 1998;
{select rewage,ttwage,months into ln_re,ln_tt,ln_mon from sbdu_pswgcase
where psseno=c_pswgcase.psseno and yearno=1998; }
Qry.Prepare ;
Qry.Open ;
ln_re:=Fields[0].AsFloat ;
ln_tt:=Fields[1].AsFloat ;
ln_mon:=Fields[2].AsInteger ;
if ln_mon>6 then
begin
if Fieldbyname('months').AsInteger=6 then
begin
ln_cypsfd :=trunc(Fieldbyname('ttwage').AsFloat*0.05*10)/10+trunc(ln_re*6*0.05*10)/10;
ln_cycpfd :=Fieldbyname('ttwage').AsFloat*0.06+ln_re*6*0.06;
ln_cypsints :=Fieldbyname('rewage').AsFloat*0.05*0.05/6*21+ln_re*0.05*0.05/6*57;
ln_cycpints :=Fieldbyname('rewage').AsFloat*0.06*0.05/6*21+ln_re*0.06*0.05/6*57;
ls_wgnotes :=formatfloat('0.00',ln_re)+':1-6----'+Fieldbyname('rewage').AsString+':7-12';
ls_ftnotes :=fillchar('★',12);
ln_months1 :=12;
end else if (Fieldbyname('months').AsInteger>1) and (Fieldbyname('months').AsInteger<6) then
begin
ln_cypsfd :=trunc(Fieldbyname('ttwage').AsFloat*0.05*10)/10 + trunc(ln_re*(ln_mon - 6)*0.05*10)/10;
ln_cycpfd :=Fieldbyname('ttwage').AsFloat*0.06 + ln_re*(ln_mon - 6)*0.06;
temp_i:=Fieldbyname('months').AsInteger-6;
case temp_i of
1: ln_yjs:=1;
2: ln_yjs:=3;
3: ln_yjs:=6;
4: ln_yjs:=10;
5: ln_yjs:=15;
end;
case temp_i of
1: ln_yjs1:=7;
2: ln_yjs1:=15;
3: ln_yjs1:=24;
4: ln_yjs1:=34;
5: ln_yjs1:=45;
6: ln_yjs1:=57;
end;
{select decode(c_pswgcase.months - 6,1,1,2,3,3,6,4,10,5,15) into ln_yjs from dual;
select decode(c_pswgcase.months - 6,1,7,2,15,3,24,4,34,5,45,6,57) into ln_yjs1 from dual; }
ln_cypsints :=Fieldbyname('rewage').AsFloat*0.05*0.05/Fieldbyname('months').AsInteger*ln_yjs+ln_re*0.05*0.05/(ln_mon - 6)*ln_yjs1;
ln_cycpints :=Fieldbyname('rewage').AsFloat*0.06*0.05/Fieldbyname('months').AsInteger*ln_yjs+ln_re*0.06*0.05/(ln_mon - 6)*ln_yjs1;
ls_wgnotes :=formatfloat('0.00',ln_re)+':1-'+inttostr(ln_mon - 6)+'----'+Fieldbyname('rewage').AsString+':'+inttostr(13 -Fieldbyname('months').AsInteger)+'-12';
ls_ftnotes :=fillchar('★',ln_mon - 6)+fillchar('-',12 - ln_mon)+fillchar('-',6 - Fieldbyname('months').asinteger)+fillchar('★',Fieldbyname('months').asinteger);
ln_months1 :=Fieldbyname('months').AsInteger + ln_mon - 6;
end
else
if Fieldbyname('months').AsInteger=6 then
begin
ln_cypsfd :=trunc(Fieldbyname('ttwage').AsFloat*0.05*10)/10+trunc(ln_re*ln_mon*0.05*10)/10;
ln_cycpfd :=Fieldbyname('ttwage').AsFloat*0.06+ln_re*6*0.06;
case ln_mon of
1: ln_yjs:=7;
2: ln_yjs:=15;
3: ln_yjs:=24;
4: ln_yjs:=34;
5: ln_yjs:=45;
6: ln_yjs:=57;
end;
{select decode(ln_mon,1,7,2,15,3,24,4,34,5,45,6,57) into ln_yjs from dual;}
ln_cypsints :=Fieldbyname('rewage').AsFloat*0.05*0.05/6*21+ln_re*0.05*0.05/ln_mon*ln_yjs;
ln_cycpints :=Fieldbyname('rewage').AsFloat*0.06*0.05/6*21+ln_re*0.06*0.05/ln_mon*ln_yjs;
ls_wgnotes :=formatfloat('0.00',ln_re)+':'+inttostr(7 - ln_mon)+'-6----'+Fieldbyname('rewage').AsString+':7-12';
ls_ftnotes :=fillchar('-',6 - ln_mon)+fillchar('★',6 + ln_mon);
ln_months1 :=6 + ln_mon;
end else if (Fieldbyname('months').AsInteger>1) and (Fieldbyname('months').AsInteger<6) then
begin
ln_cypsfd :=trunc(Fieldbyname('ttwage').AsFloat*0.05*10)/10;
ln_cycpfd :=Fieldbyname('ttwage').AsInteger*0.06;
temp_i:=Fieldbyname('months').AsInteger-6;
case temp_i of
1: ln_yjs:=1;
2: ln_yjs:=3;
3: ln_yjs:=6;
4: ln_yjs:=10;
5: ln_yjs:=15;
end;
{select decode(c_pswgcase.months - 6,1,1,2,3,3,6,4,10,5,15) into ln_yjs from dual; }
ln_cypsints :=Fieldbyname('rewage').AsFloat*0.05*0.05/(Fieldbyname('months').AsInteger - 6)*ln_yjs;
ln_cycpints :=Fieldbyname('rewage').AsFloat*0.06*0.05/(Fieldbyname('months').AsInteger - 6)*ln_yjs;
ls_wgnotes :=Fieldbyname('rewage').AsString+':'+inttostr(13 - Fieldbyname('months').AsInteger)+'-12';
ls_ftnotes :=fillchar('-',12 - Fieldbyname('months').asinteger)+fillchar('★',Fieldbyname('months').asinteger);
ln_months1 :=Fieldbyname('months').AsInteger;
end ;
end ;
end ;
if Fieldbyname('yearno').AsInteger=2000 then
begin
ln_cypsfd :=trunc(Fieldbyname('ttwage').AsFloat/12*10*0.05)*12/10;
ln_cycpfd :=trunc(Fieldbyname('ttwage').AsFloat/12*10*0.06)*12/10;
{--ln_cypsfd := ceil(ln_cypsfd*10)/10;
--ln_cycpfd := ceil(ln_cycpfd*10)/10; }
psints_tielao(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 :=trunc(Fieldbyname('rewage').AsFloat*0.05*10)/10*0.05/12*(25*Fieldbyname('months').AsInteger-Fieldbyname('months').AsInteger*Fieldbyname('months').AsInteger)/2;
ln_cycpints :=trunc(Fieldbyname('rewage').AsFloat*0.06*10)/10*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 :=trunc(Fieldbyname('rewage').AsFloat*0.05*10)/10*0.05/12*(Fieldbyname('months').AsInteger+Fieldbyname('months').AsInteger*Fieldbyname('months').AsInteger)/2;
ln_cycpints :=trunc(Fieldbyname('rewage').AsFloat*0.06*10)/10*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 :=trunc(Fieldbyname('ttwage').AsFloat/12*10*0.06)*12/10;
ln_cycpfd :=trunc(Fieldbyname('ttwage').AsFloat/12*10*0.05)*12/10;
{--ln_cypsfd := ceil(ln_cypsfd*10)/10;
--ln_cycpfd := ceil(ln_cycpfd*10)/10; }
psints_tielao(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 :=trunc(Fieldbyname('rewage').AsFloat*0.06*10)/10*0.035/12*(25*Fieldbyname('months').AsInteger-Fieldbyname('months').AsInteger*Fieldbyname('months').AsInteger)/2;
ln_cycpints :=trunc(Fieldbyname('rewage').AsFloat*0.05*10)/10*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 :=trunc(Fieldbyname('rewage').AsFloat*0.06*10)/10*0.035/12*(Fieldbyname('months').AsInteger+Fieldbyname('months').AsInteger*Fieldbyname('months').AsInteger)/2;
ln_cycpints :=trunc(Fieldbyname('rewage').AsFloat*0.05*10)/10*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 :=Fieldbyname('psseno').AsString ;
temp.ParamByName('param2').AsString :=Fieldbyname('yearno').AsString ;
temp.ParamByName('param3').AsString :=formatfloat('0.00',ln_lycpfd);
temp.ParamByName('param4').AsString :=formatfloat('0.00',ln_lypsfd);
temp.ParamByName('param5').AsString :=formatfloat('0.00',ln_lycpints);
temp.ParamByName('param6').AsString :=formatfloat('0.00',ln_lypsints);
temp.ParamByName('param7').AsString :=Fieldbyname('ttwage').AsString ;
temp.ParamByName('param8').AsString :=inttostr(ln_months+Fieldbyname('months').AsInteger);
temp.ParamByName('param9').AsString :=Fieldbyname('months').AsString ;
temp.ParamByName('param10').AsString :='0';
temp.ParamByName('param11').AsString :='0';
temp.ParamByName('param12').AsString :=formatfloat('0.00',ln_cycpfd);
temp.ParamByName('param13').AsString :='0';
temp.ParamByName('param14').AsString :=formatfloat('0.00',ln_cypsfd);
temp.ParamByName('param15').AsString :='0';
temp.ParamByName('param16').AsString :=formatfloat('0.00', ln_cycpfd);
temp.ParamByName('param17').AsString :='0';
temp.ParamByName('param18').AsString :='0';
temp.ParamByName('param19').AsString :='0';
temp.ParamByName('param20').AsString :=formatfloat('0.00',ln_cypsfd);
temp.ParamByName('param21').AsString :='0';
temp.ParamByName('param22').AsString :='0';
temp.ParamByName('param23').AsString :='0';
temp.ParamByName('param24').AsString :=formatfloat('0.00',ln_cycpints);
temp.ParamByName('param25').AsString :=formatfloat('0.00',ln_cypsints);
temp.ParamByName('param26').AsString :='0';
temp.ParamByName('param27').AsString :='0';
temp.ParamByName('param28').AsString :='0';
temp.ParamByName('param29').AsString :='0';
temp.ParamByName('param30').AsString :='0';
temp.ParamByName('param31').AsString :='0';
temp.ParamByName('param32').AsString :='0';
temp.ParamByName('param33').AsDate :=strtodate(trim(Fieldbyname('yearno').AsString)+'-12-31');
temp.ParamByName('param34').AsString :='9';
temp.ParamByName('param35').AsString :='0';
temp.ParamByName('param36').AsString :='0';
temp.ParamByName('param37').AsString :='0';
temp.ParamByName('param38').AsString :=formatfloat('0.00',ln_lycpcyints);
temp.ParamByName('param39').AsString :=formatfloat('0.00',ln_lypscyints);
temp.ParamByName('param40').AsString :='0';
temp.ParamByName('param41').AsString :=ls_wgnotes;
temp.ParamByName('param42').AsString :=ls_ftnotes;
temp.Prepare ;
temp.ExecSQL ;
{--update SBDA_PSAGACCT set LYCPPRIN=ln_lycpfd,LYPSPRIN=ln_lypsfd,LYCPINTS=ln_lycpints,LYPSINTS=ln_lypsints,CYREWG=c_pswgcase.ttwage
-- where psseno=c_pswgcase.psseno and yearno=c_pswgcase.yearno;
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,
isnull(ln_cycpints,0),isnull(ln_cypsints,0),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;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -