📄 personalaccount.pas
字号:
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 + -