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

📄 urc.pas

📁 一个地方税务征收管理系统
💻 PAS
字号:
unit urc;

interface

uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
  Buttons, ExtCtrls, dialogs, Grids, DBGridEh, Menus, ComCtrls, Mask,
  DBCtrlsEh, DBLookupEh, DBCtrls, ActnList;

type
  Trc = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    b_find: TBitBtn;
    b_select: TButton;
    DBLookupComboboxEh1: TDBLookupComboboxEh;
    Label15: TLabel;
    Label6: TLabel;
    DBText2: TDBText;
    DBText1: TDBText;
    Label7: TLabel;
    Label8: TLabel;
    DBText3: TDBText;
    Label17: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    DBText4: TDBText;
    DBText5: TDBText;
    DBText6: TDBText;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    DBText9: TDBText;
    DBText10: TDBText;
    DBText11: TDBText;
    L_b: TLabel;
    GroupBox5: TGroupBox;
    DBGridEh2: TDBGridEh;
    b_save: TBitBtn;
    b_cancel: TBitBtn;
    Label16: TLabel;
    GroupBox1: TGroupBox;
    Label23: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Edit9: TEdit;
    Edit10: TEdit;
    Label11: TLabel;
    Edit11: TEdit;
    Label12: TLabel;
    Edit12: TEdit;
    GroupBox3: TGroupBox;
    Label24: TLabel;
    Label25: TLabel;
    Label26: TLabel;
    l_count: TLabel;
    Label27: TLabel;
    Label28: TLabel;
    Edit4: TEdit;
    l_zq: TLabel;
    DBText7: TDBText;
    Label29: TLabel;
    DBText8: TDBText;
    Label13: TLabel;
    Label14: TLabel;
    Edit13: TEdit;
    Edit14: TEdit;
    DateTimePicker1: TDateTimePicker;
    Label30: TLabel;
    ActionList1: TActionList;
    a_cancel: TAction;
    procedure CancelBtnClick(Sender: TObject);
    procedure b_findClick(Sender: TObject);
    procedure b_saveClick(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure Edit2Change(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure b_selectClick(Sender: TObject);
    procedure Edit9Enter(Sender: TObject);
    procedure Edit9Exit(Sender: TObject);
    procedure Edit4Change(Sender: TObject);
    procedure Edit9Change(Sender: TObject);
    procedure Edit11Change(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
    procedure Edit9KeyPress(Sender: TObject; var Key: Char);
    procedure Edit11KeyPress(Sender: TObject; var Key: Char);
    procedure a_cancelExecute(Sender: TObject);
    procedure a_cancelUpdate(Sender: TObject);
  private
    { Private declarations }
  public
    procedure Save_fp;
    { Public declarations }
  end;

var
  rc: Trc;

implementation

uses DB, u_dm, ADODB, u_main, RICH_SYS;

{$R *.dfm}

procedure Trc.CancelBtnClick(Sender: TObject);
begin
  close;
end;

procedure Trc.b_findClick(Sender: TObject);
var
  s: string;
begin
  with dm1.A_person_find do
  begin
    close;
    if Edit1.Text = '' then
      Parameters.ParamByName('pno').Value := ''
    else
      Parameters.ParamByName('pno').Value := edit1.Text;
    if edit2.Text = '' then
      Parameters.ParamByName('py').Value := ''
    else
      Parameters.ParamByName('py').Value := trim(edit2.Text);
    Open;

    DBLookupComboboxEh1.Visible := recordcount > 1;
    b_select.Visible := recordcount > 1;

    if recordcount < 1 then
    begin
      edit1.SelectAll;
      edit1.SetFocus;
      exit;
    end;
    if recordcount = 1 then
    begin
      with dm1.A_rc_item do
      begin
        close;
        Parameters.ParamByName('person_id').Value :=
          dm1.A_person_find.fieldbyname('person_id').AsInteger;
        open;
      end;

      with dm1.A_rc_sum do
      begin
        close;
        Parameters.ParamByName('@acount_id').Value :=
          strtoint(main.Acount_id);
        open;
        Locate('person_id',
          dm1.A_person_find.fieldbyname('person_id').AsInteger,
          []);

        str((FieldByName('y_count').AsFloat /
          FieldByName('r_count').AsFloat * 100): 7: 2, s);
        L_b.Caption := '已完成任务:' + s + '%';
        edit9.SelectAll;
        Edit9.SetFocus;
      end;
    end;
  end;
  b_save.Enabled := DBText2.Caption <> '';
end;

procedure Trc.b_saveClick(Sender: TObject);
var
  s: string;
begin
  if ((Edit9.Text = '') or (edit11.Text = '')) then exit;
  if ((Edit9.Text = '0') and (edit11.Text = '0')) then exit;
  if edit13.Text = '' then
  begin
    MessageDlg('对不起,你没有输入收款人姓名,操作已被取消!', mtWarning,
      [mbok], 0);
    edit13.SetFocus;
    exit;
  end;

  if edit14.Text = '' then
  begin
    MessageDlg('对不起,你没有输入操作员姓名,操作已被取消!', mtWarning,
      [mbok], 0);
    edit14.SetFocus;
    exit;
  end;

  if ((Edit9.Text <> '0') and (edit11.Text <> '0')) then
  begin
    s :=
      'insert into rc(acount_id,person_id,rc_date,s1,s2,s1_no,s2_no,user_name,m_name) values(';
    s := s + main.Acount_id + ',' +
      dm1.A_person_find.fieldbyname('person_id').AsString + ',' +
      string_sqlText(DateToStr(DateTimePicker1.Date)) + ',' +
      edit9.Text + ',' +
      edit11.Text + ',' +
      string_sqlText(edit10.Text) + ',' +
      string_sqlText(edit12.Text) + ',' +
      string_sqlText(edit14.Text) + ',' +
      string_sqlText(edit13.Text) + ')';

  end;

  if ((Edit9.Text <> '0') and (edit11.Text = '0')) then
  begin
    s :=
      'insert into rc(acount_id,person_id,rc_date,s1,s1_no,user_name,m_name) values(';
    s := s + main.Acount_id + ',' +
      dm1.A_person_find.fieldbyname('person_id').AsString + ',' +
      string_sqlText(DateToStr(DateTimePicker1.Date)) + ',' +
      edit9.Text + ',' +
      string_sqlText(edit10.Text) + ',' +
      string_sqlText(edit14.Text) + ',' +
      string_sqlText(edit13.Text) + ')';
  end;

  if ((Edit9.Text = '0') and (edit11.Text <> '0')) then
  begin
    s :=
      'insert into rc(acount_id,person_id,rc_date,s2,s2_no,user_name,m_name) values(';
    s := s + main.Acount_id + ',' +
      dm1.A_person_find.fieldbyname('person_id').AsString + ',' +
      string_sqlText(DateToStr(DateTimePicker1.Date)) + ',' +
      edit11.Text + ',' +
      string_sqlText(edit12.Text) + ',' +
      string_sqlText(edit14.Text) + ',' +
      string_sqlText(edit13.Text) + ')';
  end;

  dm1.EXE_SQL(s);

  dm1.A_rc_item.Requery();
  dm1.A_rc_sum.Requery();

  with dm1.A_rc_sum do
  begin
    Locate('person_id',
      dm1.A_person_find.fieldbyname('person_id').AsInteger,
      []);
  end;
  //保存发票号
  Save_fp;
  a_cancel.Execute;
  MessageDlg('入库成功!', mtWarning, [mbok], 0);
  edit1.SelectAll;
  edit1.SetFocus;
end;

procedure Trc.Edit1Change(Sender: TObject);
begin
  if edit2.Text <> '' then edit2.Text := '';
end;

procedure Trc.Edit2Change(Sender: TObject);
begin
  if edit1.Text <> '' then edit1.Text := '';
end;

procedure Trc.FormCreate(Sender: TObject);
begin
  edit13.Text := main.User_name;
  edit14.Text := main.User_name;
  DateTimePicker1.Date := Date;
  dm1.A_rc_item.Close;
  
end;

procedure Trc.b_selectClick(Sender: TObject);
begin
  if Trim(DBLookupComboboxEh1.Text) = '' then exit;
  dm1.A_person_find.Locate('person_id',
    strtoint(Trim(DBLookupComboboxEh1.Text)), []);

  with dm1.A_rc_item do
  begin
    close;
    Parameters.ParamByName('person_id').Value :=
      dm1.A_person_find.fieldbyname('person_id').AsInteger;
    open;
  end;

  with dm1.A_rc_sum do
  begin
    close;
    Parameters.ParamByName('@acount_id').Value :=
      strtoint(main.Acount_id);
    open;
    Locate('person_id', dm1.A_person_find.fieldbyname('person_id').AsInteger,
      []);
  end;
  b_select.Visible := false;
  DBLookupComboboxEh1.Visible := false;
  edit9.SelectAll;
  Edit9.SetFocus;
end;

procedure Trc.Edit9Enter(Sender: TObject);
begin
  (Sender as tedit).Color := clAqua;

end;

procedure Trc.Edit9Exit(Sender: TObject);
begin
  (Sender as tedit).Color := clWhite;
end;

procedure Trc.Edit4Change(Sender: TObject);
begin
  try
    l_zq.Caption := '应找人民币:' + CurrToStr(StrToCurr(edit4.Text) -
      StrToCurr(l_count.Caption)) + '元';
  except
    exit;
  end;
end;

procedure Trc.Edit9Change(Sender: TObject);
begin
  if edit10.Text = '' then
    edit10.Text := main.F_s1;
  try
    l_count.Caption := CurrToStr(StrToCurr(edit9.Text) +
      StrToCurr(Edit11.Text));
  except
    edit9.SetFocus;
  end;
end;

procedure Trc.Edit11Change(Sender: TObject);
begin
  if edit12.Text = '' then
    Edit12.Text := main.F_s2;
  try
    l_count.Caption := CurrToStr(StrToCurr(edit9.Text) +
      StrToCurr(Edit11.Text));
  except
    edit9.SetFocus;
  end;
end;

procedure Trc.Save_fp;
var
  s: string;
begin
  //保存发票号
  s := '';
  if main.F_s1 <> '' then
  begin
    if edit10.Text <> '' then
      s := 'update cw_dict set d_values=' + string_sqlText(Edit10.Text) +
        ' where d_key=' + string_sqlText('f_s1');
  end
  else
    s := 'insert into cw_dict (d_key,d_values) values(' +
      string_sqlText('f_s1') + ',' + string_sqlText(Edit10.Text) + ')';
  if s <> '' then
  begin
    dm1.EXE_SQL(s);

    main.F_s1 := Edit10.Text;
    Edit9.Text := '0';
    main.F_s1 := incno(main.F_s1, 1);
  end;

  s := '';
  if main.F_s2 <> '' then
  begin
    if edit12.Text <> '' then
      s := 'update cw_dict set d_values=' + string_sqlText(Edit12.Text) +
        ' where d_key=' + string_sqlText('f_s2');
  end
  else
    s := 'insert into cw_dict (d_key,d_values) values(' +
      string_sqlText('f_s2') + ',' + string_sqlText(Edit12.Text) + ')';
  if s <> '' then
  begin
    dm1.EXE_SQL(s);
    main.F_s2 := Edit12.Text;
    Edit10.Text := '0';
    main.F_s2 := incno(main.F_s2, 1);
  end;
end;

procedure Trc.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if key = #13 then
  begin
    b_find.Click;
  end;
end;

procedure Trc.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
  if key = #13 then
  begin
    b_find.Click;
  end;
end;

procedure Trc.Edit9KeyPress(Sender: TObject; var Key: Char);
begin
  if key = #13 then
  begin
    edit11.SelectAll;
    edit11.SetFocus;
  end;
end;

procedure Trc.Edit11KeyPress(Sender: TObject; var Key: Char);
begin
  if key = #13 then
  begin
    b_save.SetFocus;
  end;
end;

procedure Trc.a_cancelExecute(Sender: TObject);
begin
  edit9.Text := '0';
  edit11.Text := '0';
  edit10.Text := '';
  edit12.Text := '';
  edit9.SetFocus;
end;

procedure Trc.a_cancelUpdate(Sender: TObject);
begin
  a_cancel.Enabled := b_save.Enabled;
end;

end.

⌨️ 快捷键说明

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