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

📄 localforretireaccount.~pas

📁 企业端数据申报系统:单位管理模块 单位查询. 业务申报模块 在线数据下载 在线数据上传 在线业务申核 申报业务查询 磁盘数据导出 磁盘数据导入 在线业务模块 在线业务
💻 ~PAS
📖 第 1 页 / 共 5 页
字号:
    Label7: TLabel;
    Label143: TLabel;
    Label144: TLabel;
    FlatButton11: TFlatButton;
    PopupMenu2: TPopupMenu;
    A41: TMenuItem;
    N1: TMenuItem;
    a11: TMenuItem;
    a121: TMenuItem;
    Label147: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure FlatComboBox6Change(Sender: TObject);
    procedure FlatComboBox1Change(Sender: TObject);
    procedure FlatSpeedButton1Click(Sender: TObject);
    procedure FlatButton1Click(Sender: TObject);
    procedure FlatButton5Click(Sender: TObject);
    procedure FlatButton7Click(Sender: TObject);
    procedure FlatEdit15Change(Sender: TObject);
    procedure FlatButton9Click(Sender: TObject);
    procedure FlatEdit1KeyPress(Sender: TObject; var Key: Char);
    procedure FlatComboBox8Change(Sender: TObject);
    procedure FlatButton11Click(Sender: TObject);
    procedure A41Click(Sender: TObject);
    procedure FlatButton2Click(Sender: TObject);
    procedure FlatEdit15KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FlatEdit16KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FlatEdit5KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
     industry:string;
     editchange,computer:boolean;//视同缴费是否变了,
     rtdate:Tdatetime;
     function GetDyearno(industry:string):integer;
     function GetByearno(industry:string):integer;
     function GetDWageIndex(industry:string):double;  //交费工资指数
     function FuckDianLi(psseno:string):double;
     function FuckDianLi_ext(psseno:string):double;
     procedure init();
    { Private declarations }
    //industry: array[1..9] of string;  //行业号
    //C:array[1..9] of integer;         //C年底前缴费年限

  public
    { Public declarations }
  end;

var
  LocalForRetireAccount_frm: TLocalForRetireAccount_frm;
  a1,b1,a2,b2:integer;
implementation

uses datashare, QRforlocal, Main, onlinelogin, imp, PsarchToRtarch,
  PsarchToRtarch0, QRforarchive;

{$R *.dfm}
function TLocalForRetireAccount_frm.FuckDianLi(psseno:string):double;
var
  sum:double;
  rtdate:tdatetime;
  year,month,day:word;
begin
   with DataShare_frm.Query1 do
     begin
       close;
       sql.Clear ;
       sql.Add('select lycpprin+lypsprin+lycpints+lypsints from sbda_psagacct where psseno=:p1 and yearno=1998');
       parambyname('p1').AsString :=psseno;
       prepare;
       open;
       sum:=fields[0].AsFloat ;
       sum:=sum*1.1*1.05*1.035*1.035*1.035*1.035;
       //       98  99   2000  01    02    03

       close;
       sql.Clear ;
       sql.Add('select rtdate from sbdb_rtarch where psseno=:p1');
       parambyname('p1').AsString :=psseno;
       prepare;
       open;
       rtdate:=fields[0].AsDateTime ;
       decodedate(rtdate,year,month,day);

       close;
       sql.Clear ;
       sql.Add('select siinter from sbds_inancons where yearno>2003 and yearno<:p1 and industry=06');
       parambyname('p1').AsInteger :=year-1;
       prepare;
       open;
       first;
       //if recordcount>0 then sum:=sum*Fields[0].AsFloat ;
       while not eof do
         begin
           sum:=sum*(1+Fields[0].AsFloat);
           next;
         end;

       close;
       sql.Clear ;
       sql.Add('select siinter from sbds_inancons where yearno=:p1 and industry='+quotedstr('06'));
       parambyname('p1').AsInteger :=year;
       prepare;
       open;
       if recordcount>0 then sum:=sum+sum*Fields[0].AsFloat*month/12;

       result:=sum;
       //result:=sum/120;
     end;
end;

function  TLocalForRetireAccount_frm.FuckDianLi_ext(psseno:string):double;
var
  sum:double;
  year,month,day:word;
  rtdate:Tdatetime;
begin
  with DataShare_frm.Query1 do
    begin
      close;
      sql.Clear ;
      sql.Add('select cypsarac+cypsints from sbda_psagacct where psseno=:p1 and yearno=:p2');
      parambyname('p1').AsString :=psseno;
      parambyname('p2').AsInteger :=1996;
      prepare;
      open;
      sum:=Fields[0].AsFloat *1.12;

      close;
      parambyname('p1').AsString :=psseno;
      parambyname('p2').AsInteger :=1997;
      prepare;
      open;
      sum:=sum+Fields[0].AsFloat ;

      sum:=sum*1.1*1.05*1.035*1.035*1.035*1.035;
      //       98   99  2000   01    02    03
      close;
       sql.Clear ;
       sql.Add('select rtdate from sbdb_rtarch where psseno=:p1');
       parambyname('p1').AsString :=psseno;
       prepare;
       open;
       rtdate:=fields[0].AsDateTime ;
       decodedate(rtdate,year,month,day);

       close;
       sql.Clear ;
       sql.Add('select siinter from sbds_inancons where yearno>2003 and yearno<:p1 and industry=06');
       parambyname('p1').AsInteger :=year-1;
       prepare;
       open;
       //if recordcount>0 then sum:=sum*Fields[0].AsFloat ;
       while not eof do
         begin
           sum:=sum*(1+Fields[0].AsFloat);
           next;
         end;

       close;
       sql.Clear ;
       sql.Add('select siinter from sbds_inancons where yearno=:p1 and industry='+quotedstr('06'));
       parambyname('p1').AsInteger :=year;
       prepare;
       open;
       if recordcount>0 then sum:=sum+sum*Fields[0].AsFloat*month/12;

       result:=sum;
       //result:=sum/120;
    end;
end;

procedure TLocalForRetireAccount_frm.init();
begin
  v01.Text :='';v02.Text :='';v03.Text :='';v04.Text :='';v05.Text :='';
  v06.Text :='';v07.Text :='';v08.Text :='';v09.Text :='';v10.Text :='';
  v11.Text :='';v12.Text :='';v13.Text :='';v14.Lines.Clear ;v15.Text :='';
  v16.Text :='';v17.Text :='';v18.Text :='';v19.Text :='';v20.Text :='';
  v21.Text :='';v22.Text :='';v23.Text :='';v24.Text :='';v25.Text :='';
  v26.Text :='';v27.Text :='';v28.Text :='';v29.Text :='';v30.Text :='';
  v31.Text :='';v32.Text :='';v33.Text :='';v34.Text :='';v35.Text :='';
  v36.Text :='';v37.Text :='';v38.Text :='';v39.Text :='';v40.Text :='';
  v41.Text :='';v42.Text :='';v43.Text :='';v44.Text :='';v45.Text :='';
  v46.Text :='';v47.Text :='';v48.Text :='';v49.Text :='';v50.Text :='';
  v51.Text :='';v52.Text :='';v53.Text :='';v54.Text :='';v55.Text :='';
  v56.Text :='';v57.Text :='';v58.Text :='';v59.Text :='';v60.Text :='';
  v61.Text :='';v62.Text :='';v63.Text :='';v64.Text :='';v65.Text :='';
  v66.Text :='';v67.Text :='';v68.Text :='';v69.Text :='';v70.Text :='';

  flatedit2.Text :='';flatedit3.Text :='';flatedit4.Text :='';flatedit6.Text :='';
  flatedit7.Text :='';flatedit11.Text :='';flatedit12.Text :='';flatedit32.Text :='';
  flatedit18.Text :='';flatedit20.Text :='';flatedit25.Text :='';flatedit26.Text :='';
  flatedit27.Text :='';flatedit28.Text :='';flatedit30.Text :='';flatedit31.Text :='';
  flatedit13.Text :='';flatedit13.Text :='';
  flatedit5.Text :='';flatedit8.Text :='';flatedit9.Text :='';flatedit10.Text :='';
  flatedit14.Text :='';
  //flatedit1.Text :='';
  rtdate:=0;
  editchange:=false;
  Label147.Visible :=false;
  v34.ReadOnly :=true;
  FlatButton2.Enabled :=false;
  flatbutton6.Enabled :=false;
  flatbutton8.Enabled :=false;
  flatbutton10.Enabled :=false;
end;

function  TLocalForRetireAccount_frm.GetDyearno(industry:string):integer;  //D年问累计缴费年限,返回交的总月份
var
  Ayearno:string;
  i,j,cmcpseno:integer;
begin
   j:=0;
   //2004.7.30日新增,铁劳服属于铁路行业,但计算方法,与铁路计算不一到,真烦呀!
   if industry='12' then
     begin
       with DataShare_frm.Query2 do
         begin
           close;
           sql.Clear ;
           sql.Add('select cmcpseno from sbdb_cparch where cpseno=:p1');
           parambyname('p1').AsString :=Flatcombobox5.Items[Flatcombobox6.ItemIndex];
           prepare;
           open;
           cmcpseno:=Fields[0].AsInteger ;
         end;
     end;
   if (industry='12') and (cmcpseno=4080) then
     with DataShare_frm.Query2 do
     begin
       close;
       sql.Clear ;
       sql.Add('select sum(months) from sbdu_pswgcase where psseno=:param and yearno<=:yearno1 and yearno>=:yearno2');
       parambyname('param').AsString :=Flatcombobox2.Items[Flatcombobox1.itemindex];
       parambyname('yearno1').AsString :='1998';
       parambyname('yearno2').AsString :='1996';
       prepare;
       open;
       j:=Fields[0].AsInteger ;
     end;
   //2004.7.30日新增,铁劳服属于铁路行业,但计算方法,与铁路计算不一到,真烦呀!
   if ((industry='12') and (cmcpseno<>4080) and (Flatcombobox5.Items[Flatcombobox6.ItemIndex]<>'4054')) then
     with DataShare_frm.Query2 do
     begin
       close;
       sql.Clear ;
       sql.Add('select sum(months) from sbdu_pswgcase where psseno=:param and yearno<=:yearno1 and yearno>=:yearno2');
       parambyname('param').AsString :=Flatcombobox2.Items[Flatcombobox1.itemindex];
       parambyname('yearno1').AsString :='1998';
       parambyname('yearno2').AsString :='1994';
       prepare;
       open;
       j:=Fields[0].AsInteger ;
     end;

   if ((industry='12') and (cmcpseno<>4080) and (Flatcombobox5.Items[Flatcombobox6.ItemIndex]='4054')) then
     with DataShare_frm.Query2 do
     begin
       close;
       sql.Clear ;
       sql.Add('select sum(months) from sbdu_pswgcase where psseno=:param and yearno<=:yearno1 and yearno>=:yearno2');
       parambyname('param').AsString :=Flatcombobox2.Items[Flatcombobox1.itemindex];
       parambyname('yearno1').AsString :='1998';
       parambyname('yearno2').AsString :='1996';
       prepare;
       open;
       j:=Fields[0].AsInteger ;
     end;
           // (industry='10')or
   if    (industry='13') or (industry='06') or  //or ((industry='12') and (cmcpseno<>4080))
   ((industry='01')  and (trim(Flatcombobox5.Items[Flatcombobox6.Itemindex])<>'1001')) then
   with DataShare_frm.Query2 do
     begin
       close;
       sql.Clear ;
       sql.Add('select sum(months) from sbdu_pswgcase where psseno=:param and yearno<=:yearno1 and yearno>=:yearno2');
       parambyname('param').AsString :=Flatcombobox2.Items[Flatcombobox1.itemindex];
       parambyname('yearno1').AsString :='1997';
       parambyname('yearno2').AsString :='1993';
       prepare;
       open;
       j:=Fields[0].AsInteger ;
     end;
  //--------------------------------20041104---------------------------------------------
 if (industry='10') then
    with DataShare_frm.Query2 do
     begin
       close;
       sql.Clear ;
       sql.Add('select sum(months) from sbdu_pswgcase where  psseno=:param and yearno<=:yearno1 and yearno>=:yearno2');
       parambyname('param').AsString :=Flatcombobox2.Items[Flatcombobox1.itemindex];
       parambyname('yearno1').AsString :='1997';
       parambyname('yearno2').AsString :='1995';
       prepare;
       open;
       j:=Fields[0].AsInteger ;

       close;
       sql.Clear ;
       sql.Add('select case when rewage>0 then 12 else 0 end from sbdu_pswgcase where psseno=:param and yearno=:yearno1' );
       parambyname('param').AsString :=Flatcombobox2.Items[Flatcombobox1.itemindex];
       parambyname('yearno1').AsString :='1993';
       prepare;
       open;
       j:=fields[0].AsInteger+j;

       close;
       parambyname('param').AsString :=Flatcombobox2.Items[Flatcombobox1.itemindex];
       parambyname('yearno1').AsString :='1994';
       prepare;
       open;
       j:=j+fields[0].AsInteger ;
    end;
  //--------------------------------20041104---------------------------------------------

   if (industry='02') or ((industry='01')  and (trim(Flatcombobox5.Items[Flatcombobox6.Itemindex])<>'1001')) then
   with DataShare_frm.Query2 do
     begin
       close;
       sql.Clear ;
       sql.Add('select sum(months) from sbdu_pswgcase where psseno=:param and yearno<=:yearno1 and yearno>=:yearno2');
       parambyname('param').AsString :=Flatcombobox2.Items[Flatcombobox1.itemindex];
       parambyname('yearno1').AsString :='1997';
       parambyname('yearno2').AsString :='1994';
       prepare;
       open;
       j:=Fields[0].AsInteger ;
     end;

   if (industry='09') then
   with DataShare_frm.Query2 do
     begin
       close;
       sql.Clear ;
       sql.Add('select sum(months) from sbdu_pswgcase where psseno=:param and yearno<=:yearno1 and yearno>=:yearno2');
       parambyname('param').AsString :=Flatcombobox2.Items[Flatcombobox1.itemindex];
       parambyname('yearno1').AsString :='1995';
       parambyname('yearno2').AsString :='1994';
       prepare;
       open;
       j:=Fields[0].AsInteger;

       close;
       sql.Clear ;
       sql.Add('select sum(months) from sbdu_pswgcase where psseno=:param and yearno=:yearno');
       parambyname('param').AsString :=Flatcombobox2.Items[Flatcombobox1.itemindex];
       parambyname('yearno').AsString :='1996';
       prepare;
       open;
       i:=Fields[0].AsInteger ;
       if i>6 then i:=i-6 else i:=0;
       j:=j+i;
     end;

  if (industry='05')  then
   with DataShare_frm.Query2 do
     begin
       close;
       sql.Clear ;
       sql.Add('select sum(months) from sbdu_pswgcase where psseno=:param and yearno<=:yearno1 and yearno>=:yearno2');
       parambyname('param').AsString :=Flatcombobox2.Items[Flatcombobox1.itemindex];
       parambyname('yearno1').AsString :='1995';
       parambyname('yearno2').AsString :='1993';

⌨️ 快捷键说明

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