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

📄 personalaccount.pas

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

procedure TPersonalAccount_frm.FlatEdit30KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  //if key=vk_return then   FlatSpeedbutton1.Click ;
  if (key=vk_tab) or (key=vk_return) then
    FlatSpeedButton1.Click ;
end;

procedure TPersonalAccount_frm.FormCreate(Sender: TObject);
var
  i:integer;
begin
  {if not assigned(Datashare_frm) then DataShare_frm:=TDataShare_frm.Create(nil);
  if not DataShare_frm.Dbs.Connected then
     try
        DataShare_frm.Dbs.Connected:=true;
     except
       application.MessageBox('数据库连接异常!','恩普软件开',mb_iconerror+mb_ok);
       exit;
     end; }
  inherited;
  SetWindowLong(Flatedit30.Handle, GWL_STYLE,  GetWindowLong(FlatEdit30.Handle, GWL_STYLE) or ES_NUMBER);
  Date_change:=false;
  RMD_Record_Count:=0;
  Add_Delete:=false;
  RMD.Active :=true ;
  FlatButton5.Enabled :=false;
  FlatButton6.Enabled :=false;
  FlatButton2.Enabled :=false;
  FlatButton1.Enabled :=false;
  FlatButton7.Enabled :=false; 
  with DataShare_frm.PersonalAccount_Query  do
    begin
      close;
      sql.Clear ;
      sql.Add('select cpseno,cpname,industry from sbdb_cparch');
      prepare;
      open;
      Flatcombobox3.Items.Clear ; //记录单位名称
      FlatCombobox5.Items.Clear ; //记录单位编号
      FlatCombobox6.Items.Clear ; //行业代号,用于读取对应的行业利息
      while not eof do
        begin
          Flatcombobox3.Items.Add(Fieldbyname('cpname').AsString);
          Flatcombobox5.Items.Add(Fieldbyname('cpseno').AsString);
          Flatcombobox6.Items.Add(Fieldbyname('industry').AsString);
          next;
        end;
        close;
    end;

  Scaled:=true;
   if screen.Width<>screenwidth then
   begin
     //height:=longint(height)*longint(screen.height) div screenheight;
     //width:=longint(width)*longint(screen.width) div screenwidth;
     scaleby(screen.Width,screenwidth);
     {for i:=0 to componentcount-1 do
     with components[i] do
     begin
       if GetPropInfo(ClassInfo, 'font') <> nil  then
        font.size := (screen.Width  DIV screenWidth) * font.size;
     end; }
     for i:=0 to self.ControlCount-1 do
     begin
       controls[i].Width:=longint(controls[i].Width)*longint(screen.width) div screenwidth;
       controls[i].Height:=longint(controls[i].Height)*longint(screen.height) div screenheight;
     end;
   end;
end;

procedure TPersonalAccount_frm.FlatSpeedButton1Click(Sender: TObject);
begin
  if trim(Flatedit30.text)<>'' then
    begin
      if Flatcombobox4.Items.IndexOf(Flatedit30.Text)<0 then
        begin
          application.MessageBox('没有该职工的相关记录,请检查输入是否有误!','恩普软件',mb_iconinformation+mb_ok);
          exit;
        end;
     Flatcombobox1.ItemIndex:=Flatcombobox4.Items.IndexOf(Flatedit30.Text);
     Flatcombobox1.Text :=Flatcombobox1.Items[Flatcombobox4.Items.IndexOf(Flatedit30.Text)];
     Flatcombobox1change(nil);
    end else
    application.messagebox('请正确输入职工的身分证号!','恩普软件',mb_iconinformation+mb_ok);
    Flatedit30.Text :='';
end;

procedure TPersonalAccount_frm.FlatComboBox1Change(Sender: TObject);
var
  b:boolean;
begin
//数据是否改动
  self.Cursor :=crhourglass;

  {if (RMD.State=dsEdit) then
    begin
      RMD.First ;
      DataShare_frm.Query2.First ;
      with  DataShare_frm.Query2 do
        begin
        while (formatfloat('0.00',RMD.Fields[4].AsFloat)=formatfloat('0.00',Fields[1].asfloat)) and (RMD.Fields[5].AsInteger=Fields[2].AsInteger) do
          begin
            RMD.Next ;
            next;
          end;
          if eof then exit;
          if  application.MessageBox('数据已改动,是否保存?','恩普软件',mb_iconquestion+mb_okcancel)=id_cancel then  exit;
          with DataShare_frm.Common_Query do
            begin
              close;
              sql.Clear ;
              sql.Add('update  sbdu_pswgcase set TTWAGE=:param1,MONTHS=:param2 where PSSENO=:param3 and yearno=:param4');
            end;
          try
          DataShare_frm.Dbs.StartTransaction ;

          DataShare_frm.Common_Query.ParamByName('param1').AsFloat :=RMD.Fields[4].AsFloat ;     //本年缴费总额
          DataShare_frm.Common_Query.ParamByName('param2').AsInteger :=RMD.Fields[5].AsInteger ; //缴费月数
          DataShare_frm.Common_Query.ParamByName('param3').AsInteger :=RMD.Fields[2].AsInteger ; //人员编号
          DataShare_frm.Common_Query.ParamByName('param4').AsInteger :=Rmd.Fields[3].AsInteger ; //年份
          DataShare_frm.Common_Query.Prepare ;
          DataShare_frm.Common_Query.ExecSQL ;

          DataShare_frm.Query3.Close ;  //清除上传表sbdz_pswgcase的相应记录
          DataShare_frm.Query3.SQL.Clear ;
          DataShare_frm.Query3.SQL.Add('delete from sbdz_pswgcase where PSSENO=:param' );
          DataShare_frm.Query3.ParamByName('param').AsString :=RMD.Fields[2].AsString ;
          DataShare_frm.Query3.Prepare ;
          DataShare_frm.Query3.ExecSQL ;

          DataShare_frm.Query4.Close ;  //写入上传表sbdz_pswgcase记录
          DataShare_frm.Query4.SQL.Clear ;
          DataShare_frm.Query4.SQL.Add('insert into sbdz_pswgcase(psseno,psname,iscode,yearno,months,rewage,ttwage,upflag)');
          DataShare_frm.Query4.SQL.Add('values(:param1,:param2,:param3,:param4,:param5,:param6,:param7,:param8)');
          DataShare_frm.Query4.ParamByName('param1').AsString :=RMD.Fields[2].AsString ;  // /*人员内码*/
          DataShare_frm.Query4.ParamByName('param2').AsString :=RMD.Fields[1].AsString ;  // /*姓名*/
          DataShare_frm.Query4.ParamByName('param3').AsString :=RMD.Fields[0].AsString ;  // /*社会保障号*/
          DataShare_frm.Query4.ParamByName('param4').AsString :=RMD.Fields[3].AsString ;  // /*年份*/
          DataShare_frm.Query4.ParamByName('param5').AsString :=RMD.Fields[5].AsString ;  //   /*缴费月数 */
          DataShare_frm.Query4.ParamByName('param6').AsString :=formatfloat('0.00',RMD.Fields[4].AsFloat/RMD.Fields[5].AsInteger);//   /*月缴费工资*/
          DataShare_frm.Query4.ParamByName('param7').AsString :=RMD.Fields[6].AsString ; //  /*年缴费工资*/
          DataShare_frm.Query4.ParamByName('param8').AsString :='1'; //  /*上传标志,1个人帐户数据整理,2固定职工和合同制职工缴费后建帐前数据,3原异地转入人员数据未处理,4原异地转入人员数据已处理*/
          DataShare_frm.Query4.Prepare ;
          DataShare_frm.Query4.ExecSQL ;

          psagacct_all(RMD.Fields[2].AsInteger,RMD.Fields[3].AsInteger,DataShare_frm.Dbs);  //结息
          next; RMD.Next ;
          while not eof do
            begin
              DataShare_frm.Common_Query.ParamByName('param1').AsFloat :=RMD.Fields[4].AsFloat ;
              DataShare_frm.Common_Query.ParamByName('param2').AsInteger :=RMD.Fields[5].AsInteger ;
              DataShare_frm.Common_Query.ParamByName('param3').AsInteger :=RMD.Fields[2].AsInteger ;
              DataShare_frm.Common_Query.ParamByName('param4').AsInteger :=Rmd.Fields[3].AsInteger ;
              DataShare_frm.Common_Query.Prepare ;
              DataShare_frm.Common_Query.ExecSQL ;

              DataShare_frm.Query4.ParamByName('param1').AsString :=RMD.Fields[2].AsString ;  // /*人员内码*/
              DataShare_frm.Query4.ParamByName('param2').AsString :=RMD.Fields[1].AsString ;  // /*姓名*/
              DataShare_frm.Query4.ParamByName('param3').AsString :=RMD.Fields[0].AsString ;  // /*社会保障号*/
              DataShare_frm.Query4.ParamByName('param4').AsString :=RMD.Fields[3].AsString ;  // /*年份*/
              DataShare_frm.Query4.ParamByName('param5').AsString :=RMD.Fields[5].AsString ;  //   /*缴费月数 */
              DataShare_frm.Query4.ParamByName('param6').AsString :=formatfloat('0.00',RMD.Fields[4].AsFloat/RMD.Fields[5].AsInteger);//   /*月缴费工资*/
              DataShare_frm.Query4.ParamByName('param7').AsString :=RMD.Fields[6].AsString ; //  /*年缴费工资*/
              DataShare_frm.Query4.ParamByName('param8').AsString :='1'; //  /*上传标志,1个人帐户数据整理,2固定职工和合同制职工缴费后建帐前数据,3原异地转入人员数据未处理,4原异地转入人员数据已处理*/
              DataShare_frm.Query4.Prepare ;
              DataShare_frm.Query4.ExecSQL ;

              psagacct_all(RMD.Fields[2].AsInteger,RMD.Fields[3].AsInteger,DataShare_frm.Dbs);  //结息
              next; RMD.Next ;
            end;
          DataShare_frm.Query3.Close ;  //清除上传表sbdz_psagacct的相应记录
          DataShare_frm.Query3.SQL.Clear ;
          DataShare_frm.Query3.SQL.Add('delete from sbdz_psagacct where PSSENO=:param' );
          DataShare_frm.Query3.ParamByName('param').AsString :=RMD.Fields[2].AsString ;
          DataShare_frm.Query3.Prepare ;
          DataShare_frm.Query3.ExecSQL ;

          DataShare_frm.PersonalAccount_Query.Close ;  //写入上传表sbdz_psagacct记录
          Datashare_frm.PersonalAccount_Query.SQL.Clear ;
          DataShare_frm.PersonalAccount_Query.SQL.Add('insert into sbdz_psagacct select * from sbda_psagacct where PSSENO=:param' );
          DataShare_frm.PersonalAccount_Query.ParamByName('param').AsString  :=RMD.Fields[2].AsString ;
          DataShare_frm.PersonalAccount_Query.Prepare ;
          DataShare_frm.PersonalAccount_Query.ExecSQL ;


          DataShare_frm.Dbs.Commit ;
          except
            DataShare_frm.Dbs.Rollback ;
            application.MessageBox('数据更新异常!','恩普软件',mb_iconerror+mb_ok);
          end;
        end;
    end; }
    b:=whetherchanged;
    if (b) or (date_change) then
      if  application.MessageBox('数据已改动,是否保存?','恩普软件',mb_iconquestion+mb_okcancel)=id_ok then
        begin
         if b then  savedata;
         if date_change then Save_sbdb_psarch;
         date_change:=false;
        end;
    init;
    showdata;
    FlatButton5.Enabled :=true;
    FlatButton6.Enabled :=true;
    FlatButton2.Enabled :=true;
    FlatButton1.Enabled :=true;
    FlatButton7.Enabled :=true;
    index2:=FlatCombobox1.ItemIndex ;    // showmessage(inttostr(index2));
    self.Cursor :=crdefault;
end;

procedure TPersonalAccount_frm.ShowData ;
var
  interest:double;  //利率
  lysum,lyints:double; //历年缴费总额,历年利息
  lycycpints,lycypsints:double;//上年末单位划转部分本息本年利息,上年末个人划转部分本息本年利息
begin
  RMD.Close ;
  RMD.Active :=true;
  Dbgrid1.Columns[4].ReadOnly :=false;
  Dbgrid1.Columns[5].ReadOnly :=false;
  Add_Record.Close ;
  Add_Record.Open ;
  Del_Record.Items.Clear ;
  index2:=FlatCombobox1.ItemIndex ;
  
  with DataShare_frm.Query1 do
    begin
      close;
      Params.Clear ;
      sql.Clear ;                   //decode(sex,'+Quotedstr('0')+','+Quotedstr('女')+','+Quotedstr('1')+','+Quotedstr('男')+') as TT
      sql.Add('select psseno,psname,sex,nacode,bdate,iscode,identity,wkdate,wkattr,household,status,joindate,notes from sbdb_psarch ');
      sql.Add(' where psseno=:param') ;
      ParamByName('param').AsString:=Flatcombobox2.Items[Flatcombobox1.itemindex];
      prepare;
      open;

      Flatedit1.Text :=Fieldbyname('psseno').AsString ; Flatedit2.Text :=Fieldbyname('psname').AsString ;
      
      if trim(Fieldbyname('sex').AsString)='0' then   Flatedit3.Text :='女' else Flatedit3.Text:='男' ; //[0 女 1男]

      if trim(Fieldbyname('identity').AsString)='1' then Flatedit12.Text:='企业长期和合同工(一年以上)'   //1企业长期和合同工(一年以上)2企业短期合同工(一年以下)3个体工商户4自由职业者5机关事业职工6机关事业职工参加企业7军转文职参加企业9其他
      else if trim(Fieldbyname('identity').AsString)='2'  then Flatedit12.Text:='企业短期合同工(一年以下)'
      else if trim(Fieldbyname('identity').AsString)='3'  then Flatedit12.Text:='个体工商户'
      else if trim(Fieldbyname('identity').AsString)='4'  then Flatedit12.Text:='自由职业者'
      else if trim(Fieldbyname('identity').AsString)='5'  then Flatedit12.Text:='机关事业职工'
      else if trim(Fieldbyname('identity').AsString)='6'  then Flatedit12.Text:='机关事业职工参加企业'
      else if trim(Fieldbyname('identity').AsString)='7'  then Flatedit12.Text:='军转文职参加企业'
      else if trim(Fieldbyname('identity').AsString)='9'  then Flatedit12.Text:='其他'  ;

      if trim(Fieldbyname('wkattr').AsString)='0' then     Flatedit8.Text :='固定工'    //[0 固定工.1 合同工.2 临时工.3 农民工]
      else if trim(Fieldbyname('wkattr').AsString)='1' then     Flatedit8.Text :='合同工'
      else if trim(Fieldbyname('wkattr').AsString)='2' then     Flatedit8.Text :='临时工'
      else if trim(Fieldbyname('wkattr').AsString)='3' then     Flatedit8.Text :='农民工';

      if trim(Fieldbyname('household').AsString)='0' then   Flatedit9.Text :='城镇'    //[0 城镇.1 农村]
      else  Flatedit9.Text :='农村';

      if trim(Fieldbyname('status').AsString)='1' then Flatedit13.Text :='在保'      //[1在保.2中断.3终止.4离退休退职.5异地转出.6工伤退休.7工伤转正常退休.8养老死亡.9工伤死亡]
      else if trim(Fieldbyname('status').AsString)='2' then Flatedit13.Text:='中断'
      else if trim(Fieldbyname('status').AsString)='3' then Flatedit13.Text:='终止'
      else if trim(Fieldbyname('status').AsString)='4' then Flatedit13.Text:='离退休退职'
      else if trim(Fieldbyname('status').AsString)='5' then Flatedit13.Text:='异地转出'
      else if trim(Fieldbyname('status').AsString)='6' then Flatedit13.Text:='工伤退休'
      else if trim(Fieldbyname('status').AsString)='7' then Flatedit13.Text:='工伤转正常退休'
      else if trim(Fieldbyname('status').AsString)='8' then Flatedit13.Text:='养老死亡'

⌨️ 快捷键说明

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