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