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

📄 inesiiscontinue.~pas

📁 企业端数据申报系统:单位管理模块 单位查询. 业务申报模块 在线数据下载 在线数据上传 在线业务申核 申报业务查询 磁盘数据导出 磁盘数据导入 在线业务模块 在线业务
💻 ~PAS
📖 第 1 页 / 共 3 页
字号:
      date_change:=false;
      Flatedit11.Text:=Fieldbyname('notes').AsString ;
      close;
    end;
    with DataShare_frm.Query2 do
    begin
      close;
      params.Clear ;
      sql.Clear ;
      sql.Add('select A.iscode,A.psname,A.psseno,B.yearno,B.ttwage,B.months,B.rewage ,B.stwg,C.industry from sbdb_psarch A,sbdu_pswgcase B ,sbdb_cparch C');
      sql.Add(' where A.psseno=B.psseno and  A.psseno=:param and b.yearno<2004 and A.cpseno=C.cpseno order by B.yearno');
      parambyname('param').AsString :=Flatcombobox2.Items[Flatcombobox1.itemindex];
      prepare;
      open;
      if recordcount<1 then exit;
      if Fields[8].AsInteger<>12 then
         begin
           Dbgrid1.Columns[7].Visible :=false ;
           Dbgrid1.Columns[7].ReadOnly :=true;
         end
         else begin
              Dbgrid1.Columns[7].Visible :=true;
              Dbgrid1.Columns[7].ReadOnly :=false;
              Dbgrid1.Columns[7].Width :=110;
           end;
      RMD.DisableControls ;
      while not eof do
      begin
        RMD.AppendRecord([Fields[0].asstring,Fields[1].asstring,Fields[2].asstring,Fields[3].asstring,
                             Fields[4].asstring,Fields[5].asstring,Fields[6].asstring,Fields[7].asstring,Fields[8].asstring]);
        next;
      end;
      RMD.First ;
      RMD.EnableControls ;
    end;
    with DataShare_frm.Query3 do
    begin
      close;
      sql.Clear ;
      sql.Add('select accpinup+acpswginup from sbda_psagacct where psseno=:param and yearno=2003');
      parambyname('param').AsString :=Flatcombobox2.Items[Flatcombobox1.itemindex];
      prepare;
      open;
      flatedit4.Text :=formatfloat('0.00',Fields[0].asfloat);
    end;
end;

procedure TInEsiisContinue_frm.SaveData ;
var
lypsprin,lypsints,cypsints,lycypsints,cypsarac:double;//个人部分
lycpprin,lycpints,cycpints,lycycpints,cyftcpfd:double;//企业部分
interest:double;
i:integer;
year,month,day:word;
begin
  RMD.First ;
  while not RMD.Eof do
    begin
      if (RMD.FieldByName('yearno').AsInteger=1994) and (RMD.FieldByName('nextyearjs').AsFloat>983) then
          begin
           application.MessageBox('1994年的月缴费基数不能超过983元!','恩普软件',mb_iconerror+mb_ok);
           exit;
         end;
       if (RMD.FieldByName('yearno').AsInteger=1995) and (RMD.FieldByName('nextyearjs').AsFloat>1400) then
          begin
           application.MessageBox('1995年的月缴费基数不能超过1440元!','恩普软件',mb_iconerror+mb_ok);
           exit;
         end;
       if (RMD.FieldByName('yearno').AsInteger=1996) and (RMD.FieldByName('nextyearjs').AsFloat>1655) then
          begin
           application.MessageBox('1996年的月缴费基数不能超过1655元!','恩普软件',mb_iconerror+mb_ok);
           exit;
         end;
       if (RMD.FieldByName('yearno').AsInteger=1997) and (RMD.FieldByName('nextyearjs').AsFloat>1854) then
          begin
           application.MessageBox('1997年的月缴费基数不能超过1854元!','恩普软件',mb_iconerror+mb_ok);
           exit;
         end;
       if (RMD.FieldByName('yearno').AsInteger=1998) and (RMD.FieldByName('nextyearjs').AsFloat>2097) then
          begin
           application.MessageBox('1998年的月缴费基数不能超过2097元!','恩普软件',mb_iconerror+mb_ok);
           exit;
         end;
      if (RMD.FieldByName('cymonths').AsInteger<0) or (RMD.FieldByName('cymonths').AsInteger>13) then
      begin
         application.MessageBox('本年缴费总月数的值只能在0-12之间','恩普软件',mb_iconerror+mb_ok);
         exit;
      end;
      RMD.Next ;
    end;
  if Del_Record.Items.Count>0 then
  begin
    with DataShare_frm.Query9 do
      begin
        close;
        sql.Clear ;
        sql.Add('delete from sbdu_pswgcase where psseno=:param1 and yearno=:param2');

        for i:=0 to Del_Record.Items.Count-1 do
        begin
          close;
          parambyname('param1').AsString :=Flatcombobox2.Items[index0];
          parambyname('param2').AsString :=Del_Record.Items[i];
          prepare;
          execsql;
        end;
      end;
  end;

  if Add_Record.RecordCount>0 then
  begin
    Add_Record.First ;
    while not Add_Record.Eof do
    begin
    with DataShare_frm.Query9 do
          begin
            close;
            sql.Clear ;
            sql.Add('insert into sbdu_pswgcase(cpseno,psseno,yearno,ttwage,months,rewage,opdate,opcode)');
            sql.Add('values(:param1,:param2,:param3,:param4,:param5,:param6,:param7,:param8)');
            parambyname('param1').AsString:=Flatcombobox5.Items[index1];
            parambyname('param2').AsString:=Flatcombobox2.Items[index0];
            parambyname('param3').AsString:=Add_Record.fieldbyname('yearno').AsString ;
            parambyname('param4').AsString:=formatfloat('0.00',Add_Record.fieldbyname('cpsum').AsFloat);
            parambyname('param5').AsString:=Add_Record.fieldbyname('cymonths').AsString ;
            if Add_Record.FieldByName('cymonths').AsInteger=0 then
            parambyname('param6').AsInteger:=0 else
            parambyname('param6').AsString:=formatfloat('0.00',Add_Record.fieldbyname('cpsum').AsFloat/Add_Record.fieldbyname('cymonths').AsInteger);
            parambyname('param7').AsString:=datetimetostr(now);
            parambyname('param8').AsString:=main_frm.user.OPNAME;
            prepare;
            execsql;
          end;
    Add_Record.Next ;       
    end;
  end;
  
  //----------------------------------20040929-----铁路增加按月缴费基数计算并轨养老金---无奈这样程序只能越写越烂--
   with DataShare_frm.Query11 do
     begin
       close;
       sql.Clear ;
       sql.Add('update sbdu_pswgcase set stwg=:p1 where psseno=:p2 and yearno=:p3');
     end;
   RMD.First;
   DataShare_frm.Query2.First ;
   try
   //DataShare_frm.Dbs.StartTransaction ;
   while not RMD.Eof do
     if (RMD.Fields[3].AsInteger<1999) and (RMD.Fields[3].AsInteger=DataShare_frm.Query2.Fields[3].AsInteger) and
       (formatfloat('0.00',RMD.Fields[7].AsFloat)=formatfloat('0.00',DataShare_frm.Query2.fields[7].AsFloat)) then
        begin
          DataShare_frm.Query2.Next ;
          RMD.Next ;
        end else
       with DataShare_frm.Query11 do
         begin
           close;
           parambyname('p1').AsString  :=formatfloat('0.00',RMD.Fields[7].AsFloat);
           parambyname('p2').AsString :=RMD.fields[2].AsString ;
           parambyname('p3').AsInteger :=RMD.Fields[3].AsInteger ;
           prepare;
           execsql;
           DataShare_frm.Query2.Next ;
           RMD.Next ;
         end;
   //DataShare_frm.Dbs.Commit ;
   except
     //DataShare_frm.Dbs.Rollback ;
     application.MessageBox('更新月缴费基数出现异常!','恩普软件',mb_iconerror+mb_ok);
     exit;
   end;
  //----------------------------------20040929----

  RMD.First ;
  DataShare_frm.Query2.Close ;
  DecodeDate(Dateedit3.Date,year,month,day);
  with DataShare_frm.Common_Query do
    begin
    close;
    sql.Clear ;                                                      //---------20040607 REWAGE=:param5
    sql.Add('update  sbdu_pswgcase set TTWAGE=:param1,MONTHS=:param2,REWAGE=:param5 where PSSENO=:param3 and yearno=:param4');
  end;
  with DataShare_frm.Query4  do  //写入上传表sbdz_pswgcase记录
    begin
      Close ;
      SQL.Clear ;
      SQL.Add('insert into sbdz_pswgcase(psseno,psname,iscode,yearno,months,rewage,ttwage,upflag,opcode,opdate,PROCFLG,stwg)');
      SQL.Add('values(:param1,:param2,:param3,:param4,:param5,:param6,:param7,:param8,:param9,:param10,:param11,:param12)');
    end;
  with DataShare_frm.Query5 do
    begin
      close;
      sql.Clear ;
      params.Clear ;
      sql.Add('update sbda_psagacct  set siinter=:param1,lycycpints=:param2,lycypsints=:param3,');
      sql.Add('lypsprin=:param6,lycpprin=:param7,lypsints=:param8,lycpints=:param9 ');
      sql.Add(' where yearno=:param4 and psseno=:param5');
    end;

  with DataShare_frm.Query7 do
    begin
      close;
      sql.Clear ;
      params.Clear ;
      sql.Add('select lypsprin,lypsints,cypsints,');
      sql.Add('lycpprin,lycpints,cycpints,cypsarac,');
      sql.Add('cyftcpfd,lycypsints,lycycpints from sbda_psagacct ');
      sql.Add('where psseno=:param1 and yearno=:param2');
    end;
  with DataShare_frm.Query8 do
    begin
      close;
      sql.Clear ;
      sql.Add('select siinter from sbds_inancons where industry=:param1 and yearno=:param2');
    end;
    
   while (RMD.FieldByName('yearno').AsInteger<year) and (not RMD.Eof) do//转入之前的缴费记录
     begin
       with DataShare_frm.Common_Query do
         begin
           close;
           ParamByName('param1').AsFloat :=RMD.Fields[4].AsFloat ;     //本年缴费总额
           ParamByName('param2').AsInteger :=RMD.Fields[5].AsInteger ; //缴费月数
           ParamByName('param3').AsInteger :=RMD.Fields[2].AsInteger ; //人员编号
           ParamByName('param4').AsInteger :=Rmd.Fields[3].AsInteger ; //年份
           if  RMD.Fields[5].AsInteger>0 then                                                     //月平均缴费数据
             ParamByName('param5').AsString :=formatfloat('0.00',RMD.Fields[4].AsFloat/RMD.Fields[5].AsInteger)
           else
             ParamByName('param5').AsString :='0';
           Prepare ;
           ExecSQL ;
         end;
       with DataShare_frm.Query4 do
         begin
           close;
           ParamByName('param1').AsString :=RMD.Fields[2].AsString ;  // /*人员内码*/
           ParamByName('param2').AsString :=RMD.Fields[1].AsString ;  // /*姓名*/
           ParamByName('param3').AsString :=RMD.Fields[0].AsString ;  // /*社会保障号*/
           ParamByName('param4').AsString :=RMD.Fields[3].AsString ;  // /*年份*/
           ParamByName('param5').AsString :=RMD.Fields[5].AsString ;  //   /*缴费月数 */
           if RMD.Fields[5].AsInteger =0 then
             ParamByName('param6').AsString :='0'
           else
             ParamByName('param6').AsString :=formatfloat('0.00',RMD.Fields[4].AsFloat/RMD.Fields[5].AsInteger);//   /*月缴费工资*/
           ParamByName('param7').AsString :=RMD.Fields[4].AsString ; //  /*年缴费工资*/
           ParamByName('param8').AsString :='3'; //  /*上传标志,1个人帐户数据整理,2固定职工和合同制职工缴费后建帐前数据,3原异地转入人员数据未处理,4原异地转入人员数据已处理*/
           ParamByName('param9').AsString :=main_frm.user.OPNAME ;
           ParamByName('param10').AsString :=datetimetostr(now);
           ParamByName('param11').AsString :='1';//审核标志 1待审报,2已申报 4 申报通过 6不通过
           //parambyname('param12').AsString :=formatfloat('0.00',RMD.Fields[7].AsFloat);
           parambyname('param12').asstring :=formatfloat('0.00',RMD.fieldbyname('nextyearjs').asfloat);
           Prepare ;
           ExecSQL ;
         end;
       RMD.Next ;
     end;
  if RMD.Eof  then exit;
  begin
    with DataShare_frm.Query6 do  //把上一年未的累计储存额放入表sbda_psagacct,这样下年的计利息 ,计利息完了这后,删除
      begin
        close;
        sql.Clear ;
        sql.Add('delete from  sbda_psagacct where psseno=:p1 and yearno=:p2');
        parambyname('p1').AsString :=Flatcombobox2.Items[index0];
        parambyname('p2').AsInteger :=year-1;
        prepare;
        execsql;

        close;
        sql.Clear ;
        sql.Add('insert into sbda_psagacct(psseno,yearno,lycpprin,lypsprin) values(:p1,:p2,:p3,:p4)');
        parambyname('p1').AsString :=Flatcombobox2.Items[index0];
        parambyname('p2').AsInteger :=year-1;
        parambyname('p3').AsString :=formatfloat('0.00',strtofloat(flatedit17.Text)-strtofloat(flatedit18.Text));
        parambyname('p4').AsString :=formatfloat('0.00',strtofloat(flatedit18.Text));
        prepare;
        execsql;
      end;
  end;
  while not RMD.Eof do  //对转入本社保机构每年缴费记录进行计利息
    begin
      with DataShare_frm.Common_Query do
        begin
          Close ;
          ParamByName('param1').AsFloat :=RMD.Fields[4].AsFloat ;
          ParamByName('param2').AsInteger :=RMD.Fields[5].AsInteger ;
          ParamByName('param3').AsInteger :=RMD.Fields[2].AsInteger ;
          ParamByName('param4').AsInteger :=Rmd.Fields[3].AsInteger ;
          if  RMD.Fields[5].AsInteger>0 then
          ParamByName('param5').AsString :=formatfloat('0.00',RMD.Fields[4].AsFloat/RMD.Fields[5].AsInteger)
          else
            ParamByName('param5').AsString :='0';
          Prepare ;
          ExecSQL ;
        end;

      with DataShare_frm.Query4 do
        begin
          close;
          ParamByName('param1').AsString :=RMD.Fields[2].AsString ;  // /*人员内码*/
          ParamByName('param2').AsString :=RMD.Fields[1].AsString ;  // /*姓名*/
          ParamByName('param3').AsString :=RMD.Fields[0].AsString ;  // /*社会保障号*/
          ParamByName('param4').AsString :=RMD.Fields[3].AsString ;  // /*年份*/
          ParamByName('param5').AsString :=RMD.Fields[5].AsString ;  //   /*缴费月数 */
          if RMD.Fields[5].AsInteger=0 then
            ParamByName('param6').AsString :='0'
          else
            ParamByName('param6').AsString :=formatfloat('0.00',RMD.Fields[4].AsFloat/RMD.Fields[5].AsInteger);//   /*月缴费工资*/
          ParamByName('param7').AsString :=RMD.Fields[4].AsString ; //  /*年缴费工资*/
          ParamByName('param8').AsString :='3'; //  /*上传标志,1个人帐户数据整理,2固定职工和合同制职工缴费后建帐前数据,3原异地转入人员数据未处理,4原异地转入人员数据已处理*/
          ParamByName('param9').AsString :=main_frm.user.OPNAME ;
          ParamByName('param10').AsString :=datetimetostr(now);
          ParamByName('param11').AsString :='1';//审核标志 1待审报,2已申报 4 申报通过 6不通过
          //parambyname('param12').AsString :=formatfloat('0.00',RMD.Fields[7].AsFloat);
          parambyname('param12').asstring :=formatfloat('0.00',RMD.fieldbyname('nextyearjs').asfloat);
          Prepare ;
          ExecSQL ;
        end;

      if RMD.Fields[3].AsInteger<2002 then
        psagacct_all(RMD.Fields[2].AsInteger,RMD.Fields[3].AsInteger,DataShare_frm.Dbs)  //2001年以前结息
      else
      begin
        lypsprin:=0;lypsints:=0;cypsints:=0;lypsints:=0;lycycpints:=0;cypsarac:=0;//个人部分
        lycpprin:=0;lycpints:=0;cycpints:=0;lycpints:=0;lycypsints:=0;cyftcpfd:=0;//企业部分
        with DataShare_frm.Query8 do
          begin
            close;
            parambyname('param1').AsString :=Flatcombobox6.Items[index1];
            parambyname('param2').AsInteger :=RMD.Fields[3].AsInteger;
            prepare;
            open;
            if recordcount>0 then interest:=Fields[0].AsFloat else  interest:=0;
          end;
        with DataShare_frm.Query7 do
            begin
              close;
              ParamByName('param1').AsString :=RMD.Fields[2].AsString ;
              ParamByName('param2').AsInteger:=RMD.Fields[3].AsInteger-1 ;  //上一年数据
              Prepare ;
              Open ;
            if RecordCount>0 then
               begin
                 lypsprin:=Fieldbyname('lypsprin').AsFloat;
                 cypsints:=Fieldbyname('cypsints').AsFloat;

⌨️ 快捷键说明

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