⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sbp_psagacct_leibo .~pas

📁 企业端数据申报系统:单位管理模块 单位查询. 业务申报模块 在线数据下载 在线数据上传 在线业务申核 申报业务查询 磁盘数据导出 磁盘数据导入 在线业务模块 在线业务
💻 ~PAS
字号:
unit sbp_psagacct_leibo ;

interface
uses
  SysUtils, Classes, DB, DBTables;

procedure psagacct_leibo(ai_psseno  ,ai_year :integer;Db:Tdatabase);
//procedure 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);
implementation

uses commlist, sbp_psagacct_jiaotong;

procedure psagacct_leibo(ai_psseno  ,ai_year :integer;Db:Tdatabase);
var
  ln_months :integer;
  ln_cypsfd :double;
  ln_cypsints :double;
  ln_lypscyints :double;
  ln_lypsfd :double;
  ln_lypsints :double;
  ln_cycpfd :double;
  ln_cycpints :double;
  ln_lycpcyints :double;
  ln_lycpfd :double;
  ln_lycpints :double;
  ln_year :integer;
  ls_wgnotes :widestring;
  ls_ftnotes :widestring;
  Query,temp:TQuery;
begin
  ////////////////////////////////////////
   //try
   temp:=TQuery.Create(nil);
   //Db.StartTransaction ;
   with temp do
     begin
       Databasename:=db.DatabaseName ;
       sql.Add('INSERT INTO SBDA_PSAGACCT (PSSENO,YEARNO,LYCPPRIN,LYPSPRIN,LYCPINTS,LYPSINTS,CYREWG,');
       sql.Add('MONTHS,CYMONTHS,LYMONTHS,LYREMONTHS,CYARCPFD,CYRELYCPFD,CYARPSFD,CYRELYPSFD,');
       sql.Add('CYFTCPFD,CYRELYCPAC,SPLYCPFD,CYCPACMONS,CYPSARAC,CYRELYPSARAC,CYRELYPSAC,CYPSACMONS,');
       sql.Add('CYCPINTS,CYPSINTS,ACCPINUP,ACPSWGINUP,ACCPINUPINTS,ACPSWGINUPINTS,WGMONUP,DBCPFD,DBPSFD,');
       sql.Add('CYDATE,PFLAG,DBFD,TOTFD,TOTPSFD,LYCYCPINTS,LYCYPSINTS,PAYIDX,WGNOTES,FTNOTES)');
       sql.Add('values(');
       sql.Add(':param1,:param2,:param3,:param4,:param5,:param6,:param7,:param8,:param9,:param10');
       sql.Add(',:param11,:param12,:param13,:param14,:param15,:param16,:param17,:param18,:param19,:param20');
       sql.Add(',:param21,:param22,:param23,:param24,:param25,:param26,:param27,:param28,:param29,:param30');
       sql.Add(',:param31,:param32,:param33,:param34,:param35,:param36,:param37,:param38,:param39,:param40');
       sql.Add(',:param41,:param42 ');
       sql.Add(')');
     end;
   Query:=TQuery.Create(nil);
   with Query do
     begin
       Databasename:=db.DatabaseName ;
       sql.Add('select psseno,yearno,rewage,ttwage,months from sbdu_pswgcase  where psseno=:param1 and yearno>=:parm2 and yearno>=1996 and yearno<=2001');
       parambyname('param1').AsInteger :=ai_psseno;
       parambyname('param2').AsInteger :=ai_year;
       prepare;
       open;
       {cursor cur_pswgcase(al_psseno number,al_year number) is
select psseno,yearno,rewage,ttwage,months from sbdu_pswgcase
          where psseno=al_psseno and yearno>=al_year and yearno>=1996 and yearno<=2001;}
        while not eof do
          begin
            ln_months :=0;
ln_cypsfd :=0;
ln_cypsints :=0;
ln_lypscyints :=0;
ln_lypsfd :=0;
ln_lypsints :=0;
ln_cycpfd :=0;
ln_cycpints :=0;
ln_lycpcyints :=0;
ln_lycpfd :=0;
ln_lycpints :=0;
ln_year :=0;
ls_wgnotes :='';
ls_ftnotes :='';
//-----------第一年向后靠
{/*if c_pswgcase.yearno=1996 then

   if c_pswgcase.months>=6 then
      ln_cypsfd :=c_pswgcase.rewage*c_pswgcase.months*0.03;
      ln_cycpfd :=c_pswgcase.rewage*6*0.09;
      ln_cypsints :=c_pswgcase.rewage*c_pswgcase.months*0.03*0.1098/2*c_pswgcase.months/12;
      ln_cycpints :=c_pswgcase.rewage*6*0.09*0.1098/2*6/12;
      ls_wgnotes :=c_pswgcase.rewage||':'||to_char(13-c_pswgcase.months)||'-'||12;
      ls_ftnotes :=fillchar('-',12-c_pswgcase.months)||fillchar('★',c_pswgcase.months);

   else
      ln_cypsfd :=c_pswgcase.rewage*c_pswgcase.months*0.03;
      ln_cycpfd :=c_pswgcase.rewage*c_pswgcase.months*0.09;
      ln_cypsints :=c_pswgcase.rewage*c_pswgcase.months*0.03*0.1098/2*c_pswgcase.months/12;
      ln_cycpints :=c_pswgcase.rewage*c_pswgcase.months*0.09*0.1098/2*c_pswgcase.months/12/2;
      ls_wgnotes :=c_pswgcase.rewage||':'||to_char(13-c_pswgcase.months)||'-'||12;
      ls_ftnotes :=fillchar('-',12-c_pswgcase.months)||fillchar('★',c_pswgcase.months);
   end if;
end if;
if c_pswgcase.yearno=1997 then
ln_cypsfd :=c_pswgcase.ttwage*0.04;
ln_cycpfd :=c_pswgcase.ttwage*0.08;
ln_cypsints :=c_pswgcase.ttwage*0.04*0.0747/2*c_pswgcase.months/12;
ln_cycpints :=c_pswgcase.ttwage*0.08*0.0747/2*c_pswgcase.months/12;
sbp_psints_jiaotong(c_pswgcase.psseno,1997,ln_lypsfd,ln_lypsints,ln_lypscyints,ln_lycpfd,ln_lycpints,ln_lycpcyints,ln_months);
      if ln_months>0 then
         ls_wgnotes :=c_pswgcase.rewage||':'||1||'-'||c_pswgcase.months;
         ls_ftnotes :=fillchar('★',c_pswgcase.months)||fillchar('-',12-c_pswgcase.months);
      else
         ls_wgnotes :=c_pswgcase.rewage||':'||to_char(13-c_pswgcase.months)||'-'||12;
         ls_ftnotes :=fillchar('-',12-c_pswgcase.months)||fillchar('★',c_pswgcase.months);
      end if;
end if;
-----------因为累积缴费从98起算,置ln_months:=0
if c_pswgcase.yearno=1998 then
ln_cypsfd :=c_pswgcase.ttwage*0.04;
ln_cycpfd :=c_pswgcase.ttwage*0.07;
ln_cypsints :=c_pswgcase.ttwage*0.04*0.0567/2*c_pswgcase.months/12;
ln_cycpints :=c_pswgcase.ttwage*0.07*0.0567/2*c_pswgcase.months/12;
sbp_psints_jiaotong(c_pswgcase.psseno,1998,ln_lypsfd,ln_lypsints,ln_lypscyints,ln_lycpfd,ln_lycpints,ln_lycpcyints,ln_months);
      if ln_months>0 then
         ls_wgnotes :=c_pswgcase.rewage||':'||1||'-'||c_pswgcase.months;
         ls_ftnotes :=fillchar('★',c_pswgcase.months)||fillchar('-',12-c_pswgcase.months);
      else
         ls_wgnotes :=c_pswgcase.rewage||':'||to_char(13-c_pswgcase.months)||'-'||12;
         ls_ftnotes :=fillchar('-',12-c_pswgcase.months)||fillchar('★',c_pswgcase.months);
      end if;
end if;
ln_months :=0;
if c_pswgcase.yearno=1999 then
ln_cypsfd :=c_pswgcase.ttwage*0.04;
ln_cycpfd :=c_pswgcase.ttwage*0.07;
sbp_psints_jiaotong(c_pswgcase.psseno,1999,ln_lypsfd,ln_lypsints,ln_lypscyints,ln_lycpfd,ln_lycpints,ln_lycpcyints,ln_months);
     if ln_months>0 then
     ln_cypsints :=c_pswgcase.rewage*0.04*0.05/12*(25*c_pswgcase.months-c_pswgcase.months*c_pswgcase.months)/2;
     ln_cycpints :=c_pswgcase.rewage*0.07*0.05/12*(25*c_pswgcase.months-c_pswgcase.months*c_pswgcase.months)/2;
     ls_wgnotes :=c_pswgcase.rewage||':'||1||'-'||c_pswgcase.months;
     ls_ftnotes :=fillchar('★',c_pswgcase.months)||fillchar('-',12-c_pswgcase.months);
     else
     ln_cypsints :=c_pswgcase.rewage*0.04*0.05/12*(c_pswgcase.months+c_pswgcase.months*c_pswgcase.months)/2;
     ln_cycpints :=c_pswgcase.rewage*0.07*0.05/12*(c_pswgcase.months+c_pswgcase.months*c_pswgcase.months)/2;
     ls_wgnotes :=c_pswgcase.rewage||':'||to_char(13-c_pswgcase.months)||'-'||12;
     ls_ftnotes :=fillchar('-',12-c_pswgcase.months)||fillchar('★',c_pswgcase.months);
     end if;
end if;
if c_pswgcase.yearno=2000 then
ln_cypsfd :=c_pswgcase.ttwage*0.05;
ln_cycpfd :=c_pswgcase.ttwage*0.06;
sbp_psints_jiaotong(c_pswgcase.psseno,2000,ln_lypsfd,ln_lypsints,ln_lypscyints,ln_lycpfd,ln_lycpints,ln_lycpcyints,ln_months);
     if ln_months>0 then
     ln_cypsints :=c_pswgcase.rewage*0.05*0.05/12*(25*c_pswgcase.months-c_pswgcase.months*c_pswgcase.months)/2;
     ln_cycpints :=c_pswgcase.rewage*0.06*0.05/12*(25*c_pswgcase.months-c_pswgcase.months*c_pswgcase.months)/2;
     ls_wgnotes :=c_pswgcase.rewage||':'||1||'-'||c_pswgcase.months;
     ls_ftnotes :=fillchar('★',c_pswgcase.months)||fillchar('-',12-c_pswgcase.months);
     else
     ln_cypsints :=c_pswgcase.rewage*0.05*0.05/12*(c_pswgcase.months+c_pswgcase.months*c_pswgcase.months)/2;
     ln_cycpints :=c_pswgcase.rewage*0.06*0.05/12*(c_pswgcase.months+c_pswgcase.months*c_pswgcase.months)/2;
     ls_wgnotes :=c_pswgcase.rewage||':'||to_char(13-c_pswgcase.months)||'-'||12;
     ls_ftnotes :=fillchar('-',12-c_pswgcase.months)||fillchar('★',c_pswgcase.months);
     end if;
end if;*/   }
if Fieldbyname('yearno').AsInteger=2001 then
begin
ln_cypsfd :=Fieldbyname('ttwage').AsFloat*0.06;
ln_cycpfd :=Fieldbyname('ttwage').AsFloat*0.05;     
psints_jiaotong(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 :=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 ;
 {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;


end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -