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

📄 sbp_psagacct_tielao_tl.~pas

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

interface
uses
  SysUtils, Classes, DB, DBTables;

procedure psagacct_tielao_tl(ai_psseno ,ai_year:integer;Db:TDatabase);

implementation

uses sbp_psagacct_tielao, commlist, sbp_psagacct_tielu;
procedure psagacct_tielao_tl(ai_psseno ,ai_year:integer;Db:TDatabase);
var
  ln_mon :integer;
  ln_re :double;
  ln_tt :double;
  ln_yjs :integer;
  ln_yjs1 :integer;
  ln_months :integer;
  ln_months1 :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;
  ls_num :integer;
  Query,Qry,temp:TQuery;
  temp_i :integer;
begin
  ///////////////////////////////////////
  //try
  temp_i:=0;ln_cycpints:=0; ln_cypsints:=0;
   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(':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;
   Qry:=TQuery.Create(nil);
   Qry.DatabaseName :=Db.DatabaseName ;
    
   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>=:param2 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_mon :=0;
ln_re :=0;
ln_tt :=0;
ln_yjs :=0;
ln_yjs1 :=0;
ln_months :=0;
ln_months1 :=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 Fieldbyname('yearno').AsInteger=1996 then
begin
  Qry.SQL.Add('select rewage,ttwage,months  from sbdu_pswgcase  where psseno=:param1  and yearno=1995');
  {select rewage,ttwage,months into ln_re,ln_tt,ln_mon from sbdu_pswgcase
          where psseno=c_pswgcase.psseno  and yearno=1995;}
  Qry.ParamByName('param1').AsInteger :=Fieldbyname('psseno').AsInteger ;
  Qry.Prepare ;
  Qry.Open ;
  ln_re:=Qry.Fields[0].AsFloat ;
  ln_tt:=Qry.Fields[1].AsFloat ;
  ln_mon:=Qry.Fields[2].AsInteger ;
if Fieldbyname('months').AsInteger=12 then
begin
ln_cypsfd :=trunc(Fieldbyname('ttwage').AsFloat/2*0.04*10)/10+trunc(ln_tt*0.04*10)/10;
if ln_mon=1 then  ln_yjs:=7
  else if ln_mon=2 then ln_yjs:=15
  else if ln_mon=3 then ln_yjs:=24
  else if ln_mon=4 then ln_yjs:=34
  else if ln_mon=5 then ln_yjs:=45
  else if ln_mon=6 then ln_yjs:=57;
{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.04*0.0918/6*21+ln_re*0.04*0.0918/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>6) and (Fieldbyname('months').AsInteger<12) then
begin
ln_cypsfd :=trunc((Fieldbyname('ttwage').AsFloat - Fieldbyname('rewage').AsFloat*6)*0.04*10)/10+trunc(ln_tt*0.04*10)/10;
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.04*0.0918/(Fieldbyname('months').AsInteger - 6)*ln_yjs+ln_re*0.04*0.0918/ln_mon*ln_yjs1;
ls_wgnotes :=formatfloat('0.00',ln_re)+':1-'+inttostr(ln_mon)+'----'+Fieldbyname('rewage').AsString+':'+inttostr(19 - Fieldbyname('months').AsInteger)+'-12';
ls_ftnotes :=fillchar('★',ln_mon)+fillchar('-',6 - ln_mon)+fillchar('-',12 - Fieldbyname('months').AsInteger)+fillchar('★',Fieldbyname('months').AsInteger - 6);
ln_months1 :=Fieldbyname('months').AsInteger - 6 + ln_mon;
end else if (Fieldbyname('months').AsInteger>=1) and (Fieldbyname('months').AsInteger<7) then
begin
	  ln_cypsfd :=trunc((Fieldbyname('ttwage').AsFloat)*0.04*10)/10 + trunc(ln_tt*0.04*10)/10;
    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.04*0.0918/(Fieldbyname('months').AsInteger)*ln_yjs+ln_tt*0.04*0.0918/ln_mon*ln_yjs1;
	  ls_wgnotes :=formatfloat('0.00',ln_re)+':1-'+inttostr(ln_mon)+'----'+Fieldbyname('rewage').AsString+':'+inttostr(13 - Fieldbyname('months').AsInteger)+'-12';
          ls_ftnotes :=fillchar('★',ln_mon)+fillchar('-',6 - ln_mon)+fillchar('-',6 - Fieldbyname('months').AsInteger)+fillchar('★',Fieldbyname('months').AsInteger);
          ln_months1 :=Fieldbyname('months').AsInteger + ln_mon;
end ;
end ;
if Fieldbyname('yearno').AsInteger=1997 then
begin
psints_tielu(Fieldbyname('psseno').AsInteger,1997,ln_lypsfd,ln_lypsints,ln_lypscyints,ln_lycpfd,ln_lycpints,ln_lycpcyints,ln_months,db);
Qry.Close ;
Qry.SQL.Clear ;
Qry.SQL.Add('select rewage,ttwage,months into ln_re,ln_tt,ln_mon from sbdu_pswgcase where psseno=:param1  and yearno=1996');
Qry.ParamByName('param1').asinteger:=Fieldbyname('psseno').asinteger;
Qry.Prepare ;
Qry.Open;
{select rewage,ttwage,months into ln_re,ln_tt,ln_mon from sbdu_pswgcase
          where psseno=c_pswgcase.psseno  and yearno=1996;}
ln_re:=Qry.Fields[0].asfloat;
ln_tt:=Qry.Fields[1].asfloat;
ln_mon:=Qry.Fields[2].asinteger;

if ln_mon>6 then
begin
if Fieldbyname('months').AsInteger=12 then
begin
ln_cypsfd :=trunc(Fieldbyname('ttwage').AsFloat/2*0.05*10)/10+trunc(ln_re*6*0.05*10)/10;
ln_cypsints :=Fieldbyname('rewage').AsFloat*0.05*0.0712/6*21+ln_re*0.05*0.0712/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>6) and (Fieldbyname('months').AsInteger<12) then
begin
ln_cypsfd :=trunc((Fieldbyname('ttwage').AsFloat - Fieldbyname('rewage').AsFloat*6)*0.05*10)/10 + trunc(ln_re*(ln_mon - 6)*0.05*10)/10;
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;

⌨️ 快捷键说明

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