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

📄 zcfzmain.pas

📁 本程序功能是将银行系统的月计表转换为所需要的资产负债表
💻 PAS
📖 第 1 页 / 共 2 页
字号:
    ZCFZ_Qry.SQL.Clear;
    ZCFZ_Qry.SQL.Add('select * from zcfzHsyjb order by kmdh');
    ZCFZ_Qry.Active := True;
    ZCFZ_Qry1.SQL.Clear;
    ZCFZ_Qry1.SQL.Add('select sum(sqyejf) as sqyejf, sum(sqyedf) as sqyedf,' +
      'sum(bqfsejf) as bqfsejf,sum(bqfsedf) as bqfsedf, ' +
      'sum(bqyejf) as bqyejf,sum(bqyedf) as bqyedf from zcfzHsyjb  ' +
      'where left(kmdh,1)<>''6'' and length(kmdh)<=3 ');
    ZCFZ_Qry1.Active := True;
    ZCFZ_Qry2.SQL.Clear;
    ZCFZ_Qry2.SQL.Add('select sum(sqyejf) as sqyejf, sum(sqyedf) as sqyedf,' +
      'sum(bqfsejf) as bqfsejf,sum(bqfsedf) as bqfsedf, ' +
      'sum(bqyejf) as bqyejf,sum(bqyedf) as bqyedf from zcfzHsyjb  ' +
      'where left(kmdh,1)=''6'' and length(kmdh)<=3 ');
    ZCFZ_Qry2.Active := True;
    RMVariables['BT'] := Format('%s%d年%2.2d月营业月计表', [WorkDwm,
      Year,
        Month]);
    ZCFZ_QryEdit.SQL.Clear;
    ZCFZ_QryEdit.SQL.Add('select * from yjb_hj');
    ZCFZ_QryEdit.Active := True;
    i:=1;
    while not ZCFZ_Qry.Eof do
    begin
      if ZCFZ_Qry['kmdh'] <> null then
      begin
        if Copy(ZCFZ_Qry['kmdh'], 1, 1) <> '6' then
        begin
          ZCFZ_QryEdit.Insert;
          ZCFZ_QryEdit['kmdh'] := ZCFZ_Qry['kmdh'];
          ZCFZ_QryEdit['sqyejf'] := ZCFZ_Qry['sqyejf'];
          ZCFZ_QryEdit['sqyedf'] := ZCFZ_Qry['sqyedf'];
          ZCFZ_QryEdit['bqfsejf'] := ZCFZ_Qry['bqfsejf'];
          ZCFZ_QryEdit['bqfsedf'] := ZCFZ_Qry['bqfsedf'];
          ZCFZ_QryEdit['bqyejf'] := ZCFZ_Qry['bqyejf'];
          ZCFZ_QryEdit['bqyedf'] := ZCFZ_Qry['bqyedf'];
          ZCFZ_QryEdit.Post;
        end
        else
        begin
          if i=1 then
          begin
            ZCFZ_QryEdit.Insert;
            ZCFZ_QryEdit['sqyejf'] := ZCFZ_Qry1['sqyejf'];
            ZCFZ_QryEdit['sqyedf'] := ZCFZ_Qry1['sqyedf'];
            ZCFZ_QryEdit['bqfsejf'] := ZCFZ_Qry1['bqfsejf'];
            ZCFZ_QryEdit['bqfsedf'] := ZCFZ_Qry1['bqfsedf'];
            ZCFZ_QryEdit['bqyejf'] := ZCFZ_Qry1['bqyejf'];
            ZCFZ_QryEdit['bqyedf'] := ZCFZ_Qry1['bqyedf'];
            ZCFZ_QryEdit.Post;
            i:=i+1;
          end;
          ZCFZ_QryEdit.Insert;
          ZCFZ_QryEdit['kmdh'] := ZCFZ_Qry['kmdh'];
          ZCFZ_QryEdit['sqyejf'] := ZCFZ_Qry['sqyejf'];
          ZCFZ_QryEdit['sqyedf'] := ZCFZ_Qry['sqyedf'];
          ZCFZ_QryEdit['bqfsejf'] := ZCFZ_Qry['bqfsejf'];
          ZCFZ_QryEdit['bqfsedf'] := ZCFZ_Qry['bqfsedf'];
          ZCFZ_QryEdit['bqyejf'] := ZCFZ_Qry['bqyejf'];
          ZCFZ_QryEdit['bqyedf'] := ZCFZ_Qry['bqyedf'];
          ZCFZ_QryEdit.Post;
        end;
        if ZCFZ_Qry['kmdh'] = '670' then
        begin
          ZCFZ_QryEdit.Insert;
          ZCFZ_QryEdit['sqyejf'] := ZCFZ_Qry2['sqyejf'];
          ZCFZ_QryEdit['sqyedf'] := ZCFZ_Qry2['sqyedf'];
          ZCFZ_QryEdit['bqfsejf'] := ZCFZ_Qry2['bqfsejf'];
          ZCFZ_QryEdit['bqfsedf'] := ZCFZ_Qry2['bqfsedf'];
          ZCFZ_QryEdit['bqyejf'] := ZCFZ_Qry2['bqyejf'];
          ZCFZ_QryEdit['bqyedf'] := ZCFZ_Qry2['bqyedf'];
          ZCFZ_QryEdit.Post;
        end;
      end;
      ZCFZ_Qry.Next;
    end;
    ZCFZ_Qry.SQL.Clear;
    ZCFZ_Qry.SQL.Add('select * from yjb_hj');
    ZCFZ_Qry.Active := True;
    RMDBDataSet1.DataSet := ZCFZ_Qry;
    s := ExtractFilePath(application.ExeName) + 'zcfzkmb.rmf';
    RMReport1.LoadFromFile(s);
    RMReport1.PrepareReport;
    RMReport1.ShowReport; // PrintReport;
  end;
end;

procedure TZCFZMainFrm.mniDaYinKeMuFaShengEClick(Sender: TObject);
var
  i:Integer;
begin
  with ZCFZ_DM do
  begin
    ZCFZ_SQLPrc.Script.Text := 'delete from yjb_hj';
    ZCFZ_SQLPrc.Execute;
    ZCFZ_Qry.SQL.Clear;
    ZCFZ_Qry.SQL.Add('select * from gkk_yjb order by kmdh');
    ZCFZ_Qry.Active := True;
    ZCFZ_Qry1.SQL.Clear;
    ZCFZ_Qry1.SQL.Add('select sum(sqyejf) as sqyejf, sum(sqyedf) as sqyedf,' +
      'sum(bqfsejf) as bqfsejf,sum(bqfsedf) as bqfsedf, ' +
      'sum(bqyejf) as bqyejf,sum(bqyedf) as bqyedf from gkk_yjb  ' +
      'where left(kmdh,1)<>''6'' and length(kmdh)<=3 ');
    ZCFZ_Qry1.Active := True;
    ZCFZ_Qry2.SQL.Clear;
    ZCFZ_Qry2.SQL.Add('select sum(sqyejf) as sqyejf, sum(sqyedf) as sqyedf,' +
      'sum(bqfsejf) as bqfsejf,sum(bqfsedf) as bqfsedf, ' +
      'sum(bqyejf) as bqyejf,sum(bqyedf) as bqyedf from gkk_yjb  ' +
      'where left(kmdh,1)=''6'' and length(kmdh)<=3 ');
    ZCFZ_Qry2.Active := True;
    RMVariables['BT'] := Format('%s%d年%2.2d月国库月计表', [WorkDwm,
      Year,
        Month]);
    ZCFZ_QryEdit.SQL.Clear;
    ZCFZ_QryEdit.SQL.Add('select * from yjb_hj');
    ZCFZ_QryEdit.Active := True;
    i:=1;
    while not ZCFZ_Qry.Eof do
    begin
      if ZCFZ_Qry['kmdh'] <> null then
      begin
        if Copy(ZCFZ_Qry['kmdh'], 1, 1) <> '6' then
        begin
          ZCFZ_QryEdit.Insert;
          ZCFZ_QryEdit['kmdh'] := ZCFZ_Qry['kmdh'];
          ZCFZ_QryEdit['sqyejf'] := ZCFZ_Qry['sqyejf'];
          ZCFZ_QryEdit['sqyedf'] := ZCFZ_Qry['sqyedf'];
          ZCFZ_QryEdit['bqfsejf'] := ZCFZ_Qry['bqfsejf'];
          ZCFZ_QryEdit['bqfsedf'] := ZCFZ_Qry['bqfsedf'];
          ZCFZ_QryEdit['bqyejf'] := ZCFZ_Qry['bqyejf'];
          ZCFZ_QryEdit['bqyedf'] := ZCFZ_Qry['bqyedf'];
          ZCFZ_QryEdit.Post;
        end
        else
        begin
          if i=1 then
          begin
            ZCFZ_QryEdit.Insert;
            ZCFZ_QryEdit['sqyejf'] := ZCFZ_Qry1['sqyejf'];
            ZCFZ_QryEdit['sqyedf'] := ZCFZ_Qry1['sqyedf'];
            ZCFZ_QryEdit['bqfsejf'] := ZCFZ_Qry1['bqfsejf'];
            ZCFZ_QryEdit['bqfsedf'] := ZCFZ_Qry1['bqfsedf'];
            ZCFZ_QryEdit['bqyejf'] := ZCFZ_Qry1['bqyejf'];
            ZCFZ_QryEdit['bqyedf'] := ZCFZ_Qry1['bqyedf'];
            ZCFZ_QryEdit.Post;
            i:=i+1;
          end;
          ZCFZ_QryEdit.Insert;
          ZCFZ_QryEdit['kmdh'] := ZCFZ_Qry['kmdh'];
          ZCFZ_QryEdit['sqyejf'] := ZCFZ_Qry['sqyejf'];
          ZCFZ_QryEdit['sqyedf'] := ZCFZ_Qry['sqyedf'];
          ZCFZ_QryEdit['bqfsejf'] := ZCFZ_Qry['bqfsejf'];
          ZCFZ_QryEdit['bqfsedf'] := ZCFZ_Qry['bqfsedf'];
          ZCFZ_QryEdit['bqyejf'] := ZCFZ_Qry['bqyejf'];
          ZCFZ_QryEdit['bqyedf'] := ZCFZ_Qry['bqyedf'];
          ZCFZ_QryEdit.Post;
        end;
        if ZCFZ_Qry['kmdh'] = '670' then
        begin
          ZCFZ_QryEdit.Insert;
          ZCFZ_QryEdit['sqyejf'] := ZCFZ_Qry2['sqyejf'];
          ZCFZ_QryEdit['sqyedf'] := ZCFZ_Qry2['sqyedf'];
          ZCFZ_QryEdit['bqfsejf'] := ZCFZ_Qry2['bqfsejf'];
          ZCFZ_QryEdit['bqfsedf'] := ZCFZ_Qry2['bqfsedf'];
          ZCFZ_QryEdit['bqyejf'] := ZCFZ_Qry2['bqyejf'];
          ZCFZ_QryEdit['bqyedf'] := ZCFZ_Qry2['bqyedf'];
          ZCFZ_QryEdit.Post;
        end;
      end;
      ZCFZ_Qry.Next;
    end;
    ZCFZ_Qry.SQL.Clear;
    ZCFZ_Qry.SQL.Add('select * from yjb_hj');
    ZCFZ_Qry.Active := True;
    RMDBDataSet1.DataSet := ZCFZ_Qry;
    s := ExtractFilePath(application.ExeName) + 'zcfzkmb.rmf';
    RMReport1.LoadFromFile(s);
    RMReport1.PrepareReport;
    RMReport1.ShowReport; // PrintReport;
  end;
end;

procedure TZCFZMainFrm.N11Click(Sender: TObject);
begin
  ZCFZSjScFrm := TZCFZSjScFrm.Create(application);
  ZCFZSjScFrm.ShowModal;
  ZCFZSjScFrm.Free;
end;

procedure TZCFZMainFrm.N31Click(Sender: TObject);
var
  s, s1: string;
begin
  with ZCFZ_DM do
  begin
    repeat
      s := '';
      s := bsknptdlg1.InputBox('输入日期', '输入要恢复数据的年月(YYYYMM)', s);
    until (length(s) = 6) and IsIntStr(s);
    ZCFZ_Qry.SQL.Clear;
    ZCFZ_Qry.SQL.Add(Format('select * from zcfzxmb_bak where ny=''%s''', [s]));
    ZCFZ_Qry.Active := True;
    if ZCFZ_Qry.Eof then //本月的数据没有历史备份
    begin
      bsSkinMessage1.MessageDlg(Format('没有%s年%s月历史数据',
        [copy(s, 1, 4), copy(s, 5, 2)]), mtWarning, [mbOk], 0);
      Exit;
    end;
    year := StrToInt(Copy(s, 1, 4));
    Month := StrToInt(Copy(s, 5, 2));
    s1 := Format('现在处理的是%d年%2.2d月数据', [Year, month]);
    SetWindowText(Handle, PChar(s1));
    //将zcfzxmb清空
    s1 := 'delete from zcfzxmb';
    ZCFZ_SQLPrc.Script.Text := s1;
    ZCFZ_SQLPrc.Execute;
    //将历史库资产负债表转当前资产负债表中
    s1 := Format('INSERT INTO zcfzxmb (hh, xmdh, xmmc, xmfl,' +
      'sjye, bjzje, bjye) ' +
      'SELECT hh, xmdh, xmmc, xmfl,' +
      'sjye, bjzje, bjye FROM zcfzxmb_bak ' +
      'where ny=''%s''', [s]);
    ZCFZ_SQLPrc.Script.Text := s1;
    ZCFZ_SQLPrc.Execute;
    //将yjb清空
    s1 := 'delete from yjb';
    ZCFZ_SQLPrc.Script.Text := s1;
    ZCFZ_SQLPrc.Execute;
    //将历史库月计表转入当前表中
    s1 := Format('INSERT INTO yjb (bh, kmdh, sqyeJF, sqyeDF,' +
      'bqfseJF, bqfseDF, bqyeJF, bqyeDF) ' +
      'SELECT bh, kmdh, sqyeJF, sqyeDF,' +
      'bqfseJF, bqfseDF, bqyeJF, bqyeDF FROM yjb_bak ' +
      'where ny=''%s''', [s]);
    ZCFZ_SQLPrc.Script.Text := s1;
    ZCFZ_SQLPrc.Execute;

    //将gkk_yjb清空
    s1 := 'delete from gkk_yjb';
    ZCFZ_SQLPrc.Script.Text := s1;
    ZCFZ_SQLPrc.Execute;

    //将历史库国库月计表转入当前表中
    s1 := Format('INSERT INTO gkk_yjb (zw, kmdh, sqyeJF, sqyeDF,' +
      'bqfseJF, bqfseDF, bqyeJF, bqyeDF) ' +
      'SELECT zw, kmdh, sqyeJF, sqyeDF,' +
      'bqfseJF, bqfseDF, bqyeJF, bqyeDF FROM gkk_yjb_bak ' +
      'where ny=''%s''', [s]);
    ZCFZ_SQLPrc.Script.Text := s1;
    ZCFZ_SQLPrc.Execute;
    //将zcfzHSyjb清空
    s1 := 'delete from zcfzhsyjb';
    ZCFZ_SQLPrc.Script.Text := s1;
    ZCFZ_SQLPrc.Execute;

    //将营业月计表转和历史库
    s1 := Format('INSERT INTO zcfzhsyjb (zw, kmdh, sqyeJF, sqyeDF,' +
      'bqfseJF, bqfseDF, bqyeJF, bqyeDF) ' +
      'SELECT zw, kmdh, sqyeJF, sqyeDF,' +
      'bqfseJF, bqfseDF, bqyeJF, bqyeDF FROM zcfzhsyjb_bak ' +
      'where ny=''%s''', [s]);
    ZCFZ_SQLPrc.Script.Text := s1;
    ZCFZ_SQLPrc.Execute;
  end;
end;

procedure TZCFZMainFrm.N32Click(Sender: TObject);
var
  i:Integer;
begin
  with ZCFZ_DM do
  begin
    ZCFZ_SQLPrc.Script.Text := 'delete from yjb_hj';
    ZCFZ_SQLPrc.Execute;
    ZCFZ_Qry.SQL.Clear;
    ZCFZ_Qry.SQL.Add('select * from yjb order by kmdh');
    ZCFZ_Qry.Active := True;
    ZCFZ_Qry1.SQL.Clear;
    ZCFZ_Qry1.SQL.Add('select sum(sqyejf) as sqyejf, sum(sqyedf) as sqyedf,' +
      'sum(bqfsejf) as bqfsejf,sum(bqfsedf) as bqfsedf, ' +
      'sum(bqyejf) as bqyejf,sum(bqyedf) as bqyedf from yjb  ' +
      'where left(kmdh,1)<>''6'' and length(kmdh)<=3 ');
    ZCFZ_Qry1.Active := True;
    ZCFZ_Qry2.SQL.Clear;
    ZCFZ_Qry2.SQL.Add('select sum(sqyejf) as sqyejf, sum(sqyedf) as sqyedf,' +
      'sum(bqfsejf) as bqfsejf,sum(bqfsedf) as bqfsedf, ' +
      'sum(bqyejf) as bqyejf,sum(bqyedf) as bqyedf from yjb  ' +
      'where left(kmdh,1)=''6'' and length(kmdh)<=3 ');
    ZCFZ_Qry2.Active := True;
    RMVariables['BT'] := Format('%s%d年%2.2d月国库营业汇总月计表', [WorkDwm,
      Year,
        Month]);
    ZCFZ_QryEdit.SQL.Clear;
    ZCFZ_QryEdit.SQL.Add('select * from yjb_hj');
    ZCFZ_QryEdit.Active := True;
    i:=1;
    while not ZCFZ_Qry.Eof do
    begin
      if ZCFZ_Qry['kmdh'] <> null then
      begin
        if Copy(ZCFZ_Qry['kmdh'], 1, 1) <> '6' then
        begin
          ZCFZ_QryEdit.Insert;
          ZCFZ_QryEdit['zw'] := ZCFZ_Qry['bh'];
          ZCFZ_QryEdit['kmdh'] := ZCFZ_Qry['kmdh'];
          ZCFZ_QryEdit['sqyejf'] := ZCFZ_Qry['sqyejf'];
          ZCFZ_QryEdit['sqyedf'] := ZCFZ_Qry['sqyedf'];
          ZCFZ_QryEdit['bqfsejf'] := ZCFZ_Qry['bqfsejf'];
          ZCFZ_QryEdit['bqfsedf'] := ZCFZ_Qry['bqfsedf'];
          ZCFZ_QryEdit['bqyejf'] := ZCFZ_Qry['bqyejf'];
          ZCFZ_QryEdit['bqyedf'] := ZCFZ_Qry['bqyedf'];
          ZCFZ_QryEdit.Post;
        end
        else
        begin
          if i=1 then
          begin
            ZCFZ_QryEdit.Insert;
            ZCFZ_QryEdit['sqyejf'] := ZCFZ_Qry1['sqyejf'];
            ZCFZ_QryEdit['sqyedf'] := ZCFZ_Qry1['sqyedf'];
            ZCFZ_QryEdit['bqfsejf'] := ZCFZ_Qry1['bqfsejf'];
            ZCFZ_QryEdit['bqfsedf'] := ZCFZ_Qry1['bqfsedf'];
            ZCFZ_QryEdit['bqyejf'] := ZCFZ_Qry1['bqyejf'];
            ZCFZ_QryEdit['bqyedf'] := ZCFZ_Qry1['bqyedf'];
            ZCFZ_QryEdit.Post;
            i:=i+1;
          end;
          ZCFZ_QryEdit.Insert;
          ZCFZ_QryEdit['zw'] := ZCFZ_Qry['bh'];
          ZCFZ_QryEdit['kmdh'] := ZCFZ_Qry['kmdh'];
          ZCFZ_QryEdit['sqyejf'] := ZCFZ_Qry['sqyejf'];
          ZCFZ_QryEdit['sqyedf'] := ZCFZ_Qry['sqyedf'];
          ZCFZ_QryEdit['bqfsejf'] := ZCFZ_Qry['bqfsejf'];
          ZCFZ_QryEdit['bqfsedf'] := ZCFZ_Qry['bqfsedf'];
          ZCFZ_QryEdit['bqyejf'] := ZCFZ_Qry['bqyejf'];
          ZCFZ_QryEdit['bqyedf'] := ZCFZ_Qry['bqyedf'];
          ZCFZ_QryEdit.Post;
        end;
        if ZCFZ_Qry['kmdh'] = '670' then
        begin
          ZCFZ_QryEdit.Insert;
          ZCFZ_QryEdit['sqyejf'] := ZCFZ_Qry2['sqyejf'];
          ZCFZ_QryEdit['sqyedf'] := ZCFZ_Qry2['sqyedf'];
          ZCFZ_QryEdit['bqfsejf'] := ZCFZ_Qry2['bqfsejf'];
          ZCFZ_QryEdit['bqfsedf'] := ZCFZ_Qry2['bqfsedf'];
          ZCFZ_QryEdit['bqyejf'] := ZCFZ_Qry2['bqyejf'];
          ZCFZ_QryEdit['bqyedf'] := ZCFZ_Qry2['bqyedf'];
          ZCFZ_QryEdit.Post;
        end;
      end;
      ZCFZ_Qry.Next;
    end;
    ZCFZ_Qry.SQL.Clear;
    ZCFZ_Qry.SQL.Add('select * from yjb_hj');
    ZCFZ_Qry.Active := True;
    RMDBDataSet1.DataSet := ZCFZ_Qry;
    s := ExtractFilePath(application.ExeName) + 'zcfzkmb.rmf';
    RMReport1.LoadFromFile(s);
    RMReport1.PrepareReport;
    RMReport1.ShowReport; // PrintReport;
  end;
end;

end.

⌨️ 快捷键说明

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