📄 breakadd.~pas
字号:
var
lypsprin,lypsints,cypsints,lycypsints,cypsarac:double;//个人部分
lycpprin,lycpints,cycpints,lycycpints,cyftcpfd:double;//企业部分
interest:double;
datetimestr:string;
i:integer;
begin
if RMD0.RecordCount<1 then exit;
RMD.Close ;
RMD.Open ;
RMD0.First ; //排序
RMD.InsertRecord([RMD0.FieldByName('iscode').AsString ,Flatedit2.Text ,
Flatedit1.Text,RMD0.FieldByName('yearno').AsString,
RMD0.FieldByName('cpsum').AsString,RMD0.FieldByName('cymonths').AsString,
0,RMD0.FieldByName('nextyearjs').AsFloat]);
RMD0.Next ;
while not RMD0.Eof do
begin
RMD.First ;
while (RMD0.FieldByName('yearno').AsInteger>RMD.FieldByName('yearno').AsInteger) and (not RMD.Eof) do
RMD.Next ;
RMD.InsertRecord([RMD0.FieldByName('iscode').AsString ,Flatedit2.Text ,
Flatedit1.Text,RMD0.FieldByName('yearno').AsString,
RMD0.FieldByName('cpsum').AsString,RMD0.FieldByName('cymonths').AsString,
0,RMD0.FieldByName('nextyearjs').AsFloat]);
RMD0.Next ;
end;
with DataShare_frm.Query9 do
begin
close;
sql.Clear ;
sql.Add('insert into sbdu_pswgcase(cpseno,psseno,yearno,ttwage,months,rewage,opdate,opcode,stwg)');
sql.Add('values(:param1,:param2,:param3,:param4,:param5,:param6,:param7,:param8,:param9)');
end;
with DataShare_frm.Query10 do
begin
close;
sql.Clear ;
sql.Add('insert into sbdz_pswgcase(iscode,psseno,yearno,ttwage,months,rewage,opdate,opcode,psname,upflag,PROCFLG,notes,stwg)');
sql.Add('values(:param1,:param2,:param3,:param4,:param5,:param6,:param7,:param8,:param9,:param10,:param11,:param12,:param13)');
end;
RMD.First ;
while not RMD.Eof do
begin
with DataShare_frm.Query9 do
begin
close;
parambyname('param1').AsString:=Flatcombobox7.Items[Flatcombobox6.itemindex];
parambyname('param2').AsString:=Flatedit1.Text ;
parambyname('param3').AsString:=RMD.fieldbyname('yearno').AsString ;
parambyname('param4').AsString:=formatfloat('0.00',RMD.fieldbyname('cpsum').AsFloat);
parambyname('param5').AsString:=RMD.fieldbyname('cymonths').AsString ;
if RMD.FieldByName('cymonths').AsInteger=0 then
parambyname('param6').AsInteger:=0 else
parambyname('param6').AsString:=formatfloat('0.00',RMD.fieldbyname('cpsum').AsFloat/RMD.fieldbyname('cymonths').AsInteger);
parambyname('param7').AsString:=datetimetostr(now);
parambyname('param8').AsString:=main_frm.user.OPNAME;
parambyname('param9').AsString :=formatfloat('0.00',RMD.fieldbyname('nextyearjs').AsFloat);
prepare;
execsql;
end;
with DataShare_frm.Query10 do
begin
close;
parambyname('param1').AsString:=Flatedit3.Text ;
parambyname('param2').AsString:=Flatedit1.Text ;
parambyname('param3').AsString:=RMD.fieldbyname('yearno').AsString ;
parambyname('param4').AsString:=formatfloat('0.00',RMD.fieldbyname('cpsum').AsFloat);
parambyname('param5').AsString:=RMD.fieldbyname('cymonths').AsString ;
if RMD.FieldByName('cymonths').AsInteger=0 then
parambyname('param6').AsInteger:=0 else
parambyname('param6').AsString:=formatfloat('0.00',RMD.fieldbyname('cpsum').AsFloat/RMD.fieldbyname('cymonths').AsInteger);
parambyname('param7').AsString:=datetimetostr(now);
parambyname('param8').AsString:=main_frm.user.OPNAME;
parambyname('param9').AsString :=Flatedit2.Text ;
parambyname('param10').AsString :='4'; // /*上传标志,1个人帐户数据整理,2固定职工和合同制职工缴费后建帐前数据,3原异地转入人员数据未处理,4原异地转入人员数据已处理*/
parambyname('param11').AsString :='1';
parambyname('param12').AsString :=Flatedit7.Text ;
parambyname('param13').asstring :=formatfloat('0.00',RMD.fieldbyname('nextyearjs').asfloat);
prepare;
execsql;
end;
RMD.Next ;
end;
RMD.First ;
with DataShare_frm.Query5 do
begin
close;
sql.Clear ;
params.Clear ;
sql.add('insert into sbda_psagacct(siinter,lycycpints,lycypsints,yearno,psseno,lypsprin,lycpprin,lypsints ,lycpints)');
sql.add(' values(:param1,:param2 , :param3, :param4,:param5, param6,:param7,:param8 ,:param9)');
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;
//---------------读取利率----------------------
if RMD.Fields[3].AsInteger<2002 then
psagacct_all(RMD.Fields[2].AsInteger,RMD.Fields[3].AsInteger,DataShare_frm.Dbs) //结息
else
begin
lypsprin:=0;lypsints:=0;cypsints:=0;lypsints:=0;lycycpints:=0;cyftcpfd:=0;//个人部分
lycpprin:=0;lycpints:=0;cycpints:=0;lycpints:=0;lycypsints:=0;cypsarac:=0;//企业部分
with DataShare_frm.Query8 do
begin
close;
parambyname('param1').AsString :=Flatcombobox7.Items[Flatcombobox6.itemindex]; //Flatcombobox11存放的是行业代号
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;
lypsints:=Fieldbyname('lypsints').AsFloat;
lycpprin:=Fieldbyname('lycpprin').AsFloat;
lycpints:=Fieldbyname('lycpints').AsFloat;
cycpints:=Fieldbyname('cycpints').AsFloat;
cypsarac:=Fieldbyname('cypsarac').AsFloat;
cyftcpfd:=Fieldbyname('cyftcpfd').AsFloat;
lycypsints:=Fieldbyname('lycypsints').AsFloat;
lycycpints:=Fieldbyname('lycycpints').AsFloat;
end;
end;
lypsprin:=lypsprin+cypsarac;
lycpprin:=lycpprin+cyftcpfd;
lypsints:=lypsints+cypsints+lycypsints;
lycpints:=lycpints+cycpints+lycycpints;
lycycpints:=(lycpprin+lycpints)*interest;
lycypsints:=(lypsprin+lypsints)*interest;
with DataShare_frm.Query5 do
begin
close;
ParamByName('param1').AsString:=formatfloat('0.0000',interest);
ParamByName('param2').AsString :=formatfloat('0.00',lycycpints);
ParamByName('param3').AsString :=formatfloat('0.00',lycypsints);
paramByname('param4').AsInteger:=RMD.Fields[3].AsInteger ;
parambyname('param5').AsString :=RMD.Fields[2].AsString ;
parambyname('param6').AsString :=formatfloat('0.00',lypsprin);
parambyname('param7').AsString :=formatfloat('0.00',lycpprin);
parambyname('param8').AsString :=formatfloat('0.00',lypsints);
parambyname('param9').AsString :=formatfloat('0.00',lycpints);
prepare;
execsql;
end;
end;
RMD.Next;
while not RMD.Eof do
begin
if RMD.Fields[3].AsInteger<2002 then
psagacct_all(RMD.Fields[2].AsInteger,RMD.Fields[3].AsInteger,DataShare_frm.Dbs) //结息
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 :=Flatcombobox7.Items[Flatcombobox6.itemindex];
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;
lypsints:=Fieldbyname('lypsints').AsFloat;
lycpprin:=Fieldbyname('lycpprin').AsFloat;
lycpints:=Fieldbyname('lycpints').AsFloat;
cycpints:=Fieldbyname('cycpints').AsFloat;
cypsarac:=Fieldbyname('cypsarac').AsFloat;
cyftcpfd:=Fieldbyname('cyftcpfd').AsFloat;
lycypsints:=Fieldbyname('lycypsints').AsFloat;
lycycpints:=Fieldbyname('lycycpints').AsFloat;
end;
end;
lypsprin:=lypsprin+cypsarac;
lycpprin:=lycpprin+cyftcpfd;
lypsints:=lypsints+cypsints+lycypsints;
lycpints:=lycpints+cycpints+lycycpints;
lycycpints:=(lycpprin+lycpints)*interest;
lycypsints:=(lypsprin+lypsints)*interest;
with DataShare_frm.Query5 do
begin
close;
ParamByName('param1').AsString:=formatfloat('0.0000',interest);
ParamByName('param2').AsString :=formatfloat('0.00',lycycpints);
ParamByName('param3').AsString :=formatfloat('0.00',lycypsints);
paramByname('param4').AsInteger:=RMD.Fields[3].AsInteger ;
parambyname('param5').AsString :=RMD.Fields[2].AsString ;
parambyname('param6').AsString :=formatfloat('0.00',lypsprin);
parambyname('param7').AsString :=formatfloat('0.00',lycpprin);
parambyname('param8').AsString :=formatfloat('0.00',lypsints);
parambyname('param9').AsString :=formatfloat('0.00',lycpints);
//-------------20040806----------------
//RMD.Next ;
//-------------20040806----------------
prepare;
execsql;
end;
end;
RMD.Next;
end;
DataShare_frm.PersonalAccount_Query.Close ; //写入上传表sbdz_psagacct记录
Datashare_frm.PersonalAccount_Query.SQL.Clear ;
DataShare_frm.Query6.SQL.Add('insert into sbdz_psagacct(');
DataShare_frm.Query6.SQL.Add('PSSENO,YEARNO,LYCPPRIN,LYPSPRIN,LYCPINTS,LYPSINTS,CYREWG,MONTHS,CYMONTHS,');
DataShare_frm.Query6.SQL.Add('PAYIDX,LYMONTHS,LYREMONTHS,CYARCPFD,CYRELYCPFD,CYARPSFD,CYRELYPSFD,CYFTCPFD,');
DataShare_frm.Query6.SQL.Add('CYRELYCPAC,SPLYCPFD,CYCPACMONS,CYPSARAC,CYRELYPSARAC,CYRELYPSAC,CYPSACMONS,');
DataShare_frm.Query6.SQL.Add('CYCPINTS,CYPSINTS,ACCPINUPINTS,ACCPINUP,ACPSWGINUP,ACPSWGINUPINTS,WGMONUP,');
DataShare_frm.Query6.SQL.Add('DBCPFD,DBPSFD,CYDATE,PFLAG,DBFD,WGNOTES,FTNOTES,TOTFD,TOTPSFD,LYCYCPINTS,');
DataShare_frm.Query6.SQL.Add('LYCYPSINTS,NOTES,CYACMONS,PSRATE,CPRATE,SIINTER,OPCODE,OPDATE,PROCFLG)');
DataShare_frm.Query6.SQL.Add('select PSSENO,YEARNO,LYCPPRIN,LYPSPRIN,LYCPINTS,LYPSINTS,CYREWG,MONTHS,CYMONTHS,');
DataShare_frm.Query6.SQL.Add('PAYIDX,LYMONTHS,LYREMONTHS,CYARCPFD,CYRELYCPFD,CYARPSFD,CYRELYPSFD,CYFTCPFD,');
DataShare_frm.Query6.SQL.Add('CYRELYCPAC,SPLYCPFD,CYCPACMONS,CYPSARAC,CYRELYPSARAC,CYRELYPSAC,CYPSACMONS,');
DataShare_frm.Query6.SQL.Add('CYCPINTS,CYPSINTS,ACCPINUPINTS,ACCPINUP,ACPSWGINUP,ACPSWGINUPINTS,WGMONUP,');
DataShare_frm.Query6.SQL.Add('DBCPFD,DBPSFD,CYDATE,PFLAG,DBFD,WGNOTES,FTNOTES,TOTFD,TOTPSFD,LYCYCPINTS,');
DataShare_frm.Query6.SQL.Add('LYCYPSINTS,NOTES,CYACMONS,PSRATE,CPRATE,SIINTER,');
DataShare_frm.Query6.SQL.Add(Quotedstr(main_frm.user.OPNAME)+','+Quotedstr(datetimetostr(now))+',1'+' from sbda_psagacct where PSSENO=:param' );
DataShare_frm.Query6.ParamByName('param').AsString :=RMD.Fields[2].AsString ;
DataShare_frm.Query6.Prepare ;
DataShare_frm.Query6.ExecSQL ;
end;
procedure TBreakAdd_frm.FormCreate(Sender: TObject);
begin
inherited;
with DataShare_frm.Query1 do
begin
close;
sql.Clear ;
sql.Add('select cpseno,cpname,industry from sbdb_cparch');
prepare;
open;
Flatcombobox6.Items.Clear ;
FlatCombobox7.Items.Clear ;
Flatcombobox8.Items.Clear ;
while not eof do
begin
Flatcombobox6.Items.Add(Fieldbyname('cpname').AsString);
Flatcombobox7.Items.Add(Fieldbyname('cpseno').AsString);
Flatcombobox8.Items.Add(Fieldbyname('industry').AsString);
next;
end;
end;
RMD0.Close ;
RMD0.Open ;
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;}
end;
end;
procedure TBreakAdd_frm.FlatButton1Click(Sender: TObject);
var
str:string;
begin
inherited;
case (sender as TControl).Tag of
1: if validate_data then
begin
try
Screen.Cursor :=crhourglass;
msg:=fecho.getNewPsseno ;
if msg.msgCode<>1 then
begin
screen.Cursor :=crdefault;
application.MessageBox(pchar(string(msg.msgText)),'恩普软件',mb_iconerror+mb_ok);
exit;
end;
except
screen.Cursor :=crdefault;
application.MessageBox('网络连接异常!','恩普软件',mb_iconerror+mb_ok);
exit;
end;
try
Flatedit1.Text :=msg.msgText ;
DataShare_frm.Dbs.StartTransaction ;
saveinfo;
save_sbdu_pswgcase;
DataShare_frm.Dbs.Commit ;
screen.Cursor :=crdefault;
application.MessageBox('数据已经保存成功!','恩普软件',mb_iconinformation+mb_ok);
init;
except
on e:exception do
begin
screen.Cursor :=crdefault;
DataShare_frm.Dbs.Rollback ;
str:='数据更新出现异常!'+e.Message ;
application.MessageBox(pansichar(str),'恩普软件',mb_iconerror+mb_ok);
exit;
end;
end;
end;
2: init;
end;
end;
procedure TBreakAdd_frm.RMD0NewRecord(DataSet: TDataSet);
begin
inherited;
RMD0.FieldByName('iscode').AsString :=Flatedit3.Text ;
RMD0.FieldByName('psname').AsString :=Flatedit2.Text ;
RMD.FieldByName('psseno').AsString :=Flatedit1.Text ;
end;
procedure TBreakAdd_frm.FlatButton8Click(Sender: TObject);
begin
inherited;
init;
FlatEdit2.SetFocus ;
end;
procedure TBreakAdd_frm.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if key=chr(vk_return) then RMD0.Append ;
end;
procedure TBreakAdd_frm.FlatComboBox6Change(Sender: TObject);
begin
inherited;
if flatcombobox8.Items[flatcombobox6.ItemIndex]='12' then
Dbgrid1.Columns[7].Visible :=true
else Dbgrid1.Columns[7].Visible :=false;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -