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

📄 wm_tk.pas

📁 汽配前台收费,一个具有详细功能的小系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit wm_tk;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls, Buttons, Grids, DBGrids, Printers, Db, DBTables, Mask;

type
  Tfrm_wm_tk = class(TForm)
    pe_bh: TPanel;
    Label1: TLabel;
    Label8: TLabel;
    combo_p: TComboBox;
    txt_zj: TStaticText;
    pe_info: TPanel;
    DBGrid1: TDBGrid;
    Panel1: TPanel;
    cmd_edit: TBitBtn;
    cmd_save: TBitBtn;
    cmd_cancel: TBitBtn;
    cmd_print: TBitBtn;
    pe_edit: TPanel;
    Label2: TLabel;
    txt_sum: TEdit;
    Label3: TLabel;
    txt_jj: TEdit;
    qe_wm: TQuery;
    ds_wm: TDataSource;
    txt_bh: TMaskEdit;
    qe_sum: TQuery;
    qe_sum1: TQuery;
    sp_update_wm_gl: TStoredProc;
    Label7: TLabel;
    sp_up_pj_ck: TStoredProc;
    qe_jy: TQuery;
    sp_insert_into_day: TStoredProc;
    lst_kind: TListBox;
    lst_gg: TListBox;
    lst_name: TListBox;
    lst_sum: TListBox;
    sp_insert_into_sj: TStoredProc;
    txt_dw: TEdit;
    qe_sum1wm_id: TIntegerField;
    qe_sum1wm_bh: TStringField;
    qe_sum1wm_year: TSmallintField;
    qe_sum1wm_month: TSmallintField;
    qe_sum1wm_day: TSmallintField;
    qe_sum1wm_date: TStringField;
    qe_sum1pj_kind_id: TStringField;
    qe_sum1pj_kind: TStringField;
    qe_sum1pj_gg_id: TStringField;
    qe_sum1pj_gg: TStringField;
    qe_sum1pj_id: TStringField;
    qe_sum1pj_name: TStringField;
    qe_sum1pj_ck_sum: TFloatField;
    qe_sum1pj_fk_sum: TFloatField;
    qe_sum1pj_unit: TStringField;
    qe_sum1pj_dj: TFloatField;
    qe_sum1pj_jj: TFloatField;
    qe_sum1pj_ghdw: TStringField;
    qe_sum1pj_czr: TStringField;
    qe_sum1pj_other: TFloatField;
    qe_sum1pj_other1: TFloatField;
    qe_sum1edit_type: TSmallintField;
    qe_sum1pj_print: TSmallintField;
    qe_sum1wm_zf_bs: TSmallintField;
    qe_sum1pj_fk: TFloatField;
    procedure controlKeyPress2(Sender: TObject; var Key: Char);
    procedure controlKeyPress1(Sender: TObject; var Key: Char);
    procedure ControlChange(Sender: TObject);
    procedure cmd_saveClick(Sender: TObject);
    procedure cmd_cancelClick(Sender: TObject);
    procedure cmd_printClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure FormShow(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure cmd_editClick(Sender: TObject);
    procedure qe_sum1CalcFields(DataSet: TDataSet);
  private
    { Private declarations }
    cur_dj: Double;
    cur_ck_sum: Double;
    cur_fk_sum: Double;
    cur_dw: string;
    WM_BH: string;
    //
    procedure EnabledComponent(intState: TDataSetState);
    procedure controlSetFocus(intpos: integer);
    procedure EditInit;
    procedure SaveInit;
    procedure CancelInit;
    function RuleCheck: integer;
    procedure ExportInit;
    //
    function SetNewBH1(intKind: integer): string;
  public
    { Public declarations }
    cur_bh: string;
  end;

var
  frm_wm_tk: Tfrm_wm_tk;

implementation

{$R *.DFM}

uses
  log, main, print;

function Tfrm_wm_tk.SetNewBH1(intKind: integer): string;
var
  intR_m, intR_d: integer;
  stryear, strmonth, strday: string;
  year1, month1, day1: Word;
  strm, strd: string;
  strResult: string;
begin
  DecodeDate(Now, year1, month1, day1);
  stryear := IntToStr(year1);
  strmonth := Format('%2.2d', [month1]);
  strday := Format('%2.2d', [day1]);
  //
  qe_jy.Close;
  qe_jy.SQL.Clear;
  qe_jy.SQL.Add('SELECT * FROM SJ_SUM WHERE SJ_YEAR = ' + IntToStr(year1) + ' AND SJ_MONTH = ' + IntToStr(month1) + ' AND SJ_DAY = ' + IntToStr(day1) + ' AND SJ_KIND = ' + IntToStr(intKind) + ' ');
  qe_jy.Open;
  qe_jy.Last;
  intR_d := qe_jy.RecordCount;
  //
  qe_jy.Close;
  qe_jy.SQL.Clear;
  qe_jy.SQL.Add('SELECT * FROM SJ_SUM WHERE SJ_YEAR = ' + IntToStr(year1) + ' AND SJ_MONTH = ' + IntToStr(month1) + ' AND SJ_KIND = ' + IntToStr(intKind) + ' ');
  qe_jy.Open;
  qe_jy.Last;
  intR_m := qe_jy.RecordCount;
  qe_jy.Close;
  //
  if (intR_m = 0) and (intR_d = 0) then begin
    strResult := stryear + strmonth + strday + '-' + '001' + '-' + '001';
  end else if intR_m = 0 then begin
    strResult := stryear + strmonth + strday + '-' + '001' + '-' + '001';
  end else if intR_d = 0 then begin
    intR_m := intR_m + 1;
    strm := Format('%3.3d', [intR_m]);
    strResult := stryear + strmonth + strday + '-' + strm + '-' + '001';
  end else begin
    intR_m := intR_m + 1;
    intR_d := intR_d + 1;
    strm := Format('%3.3d', [intR_m]);
    strd := Format('%3.3d', [intR_d]);
    strResult := stryear + strmonth + strday + '-' + strm + '-' + strd;
  end;
  //
  sp_insert_into_sj.ParamByName('@iyear').Value := year1;
  sp_insert_into_sj.ParamByName('@imonth').Value := month1;
  sp_insert_into_sj.ParamByName('@iday').Value := day1;
  sp_insert_into_sj.ParamByName('@ikind').Value := intKind;
  sp_insert_into_sj.ExecProc;
  //
  Result := strResult;
end;

procedure Tfrm_wm_tk.ExportInit;
var
  intXSum: Double;
  strKind, strGg, strName: string;
  i: integer;
begin
  qe_sum1.Close;
  qe_sum1.ParamByName('ibh').Value := cur_bh;
  qe_sum1.Open;
  qe_sum1.First;
  if (qe_sum1.Bof) and (qe_sum1.Eof) then begin
    MessageBox(Handle, '没有退货配件,不能进行结算', '沈阳信德', MB_ICONQUESTION or MB_OK);
    qe_sum1.Close;
    Exit;
  end else begin
    lst_kind.Clear;
    lst_gg.Clear;
    lst_name.Clear;
    lst_sum.Clear;
    //
    while not qe_sum1.Eof do begin
      intXSum := qe_sum1.FieldByName('pj_fk_sum').Value;
      strKind := Trim(qe_sum1.FieldByName('pj_kind_id').AsString);
      strGg := Trim(qe_sum1.FieldByName('pj_gg_id').AsString);
      strName := Trim(qe_sum1.FieldByName('pj_id').AsString);
      //
      lst_kind.Items.Add(strKind);
      lst_gg.Items.Add(strGg);
      lst_name.Items.Add(strName);
      lst_sum.Items.Add(FloatToStr(intXSum));
      //
      qe_sum1.Next;
    end;
    //
    for i := 0 to lst_kind.Items.Count - 1 do begin
      sp_up_pj_ck.ParamByName('@ipos').Value := 2;
      sp_up_pj_ck.ParamByName('@ipj_kind_id').Value := lst_kind.Items[i];
      sp_up_pj_ck.ParamByName('@ipj_gg_id').Value := lst_gg.Items[i];
      sp_up_pj_ck.ParamByName('@ipj_id').Value := lst_name.Items[i];
      sp_up_pj_ck.ParamByName('@ipj_sum').Value := StrToFloat(lst_sum.Items[i]);
      sp_up_pj_ck.ExecProc;
    end;
    //
    sp_insert_into_day.ParamByName('@idate').Value := frm_log.controlDate(DateToStr(Date()));
    sp_insert_into_day.ParamByName('@izy').Value := '(配件销售)-' + cur_dw + '付款';
    sp_insert_into_day.ParamByName('@ikm').Value := '现金';
    sp_insert_into_day.ParamByName('@ijf').Value := 0;
    sp_insert_into_day.ParamByName('@izy_id').Value := 10;
    sp_insert_into_day.ParamByName('@idj_bh').Value := '';
    sp_insert_into_day.ParamByName('@idf').Value := StrToFloat(Trim(txt_zj.Caption));
    sp_insert_into_day.ExecProc;
    //
    WM_BH := SetNewBH1(3);
    frm_print.pc_main.ActivePageIndex := 10;
    frm_print.lbl_cap10.Caption := frm_log.cur_gs_name;
    frm_print.lbl_dw0.Caption := cur_dw;
    frm_print.lbl_zj0.Caption := Trim(txt_zj.Caption);
    frm_print.lbl_date0.Caption := frm_log.controlDate(DateToStr(Date()));
    frm_print.lbl_bh0.Caption := 'HK' + WM_BH;
    frm_print.lbl_zcr0.Caption := frm_main.user_name;
    frm_print.qr_wm_tk.DataSet := qe_sum1;
    frm_print.txt_kind0.DataSet := qe_sum1;
    frm_print.txt_gg0.DataSet := qe_sum1;
    frm_print.txt_name0.DataSet := qe_sum1;
    frm_print.txt_sum0.DataSet := qe_sum1;
    frm_print.txt_unit0.DataSet := qe_sum1;
    frm_print.txt_dj0.DataSet := qe_sum1;
    frm_print.txt_id0.DataSet := qe_sum1;
    frm_print.qr_wm_tk.Print;
    qe_sum1.Close;
    //
    sp_update_wm_gl.ParamByName('@ibh').Value := cur_bh;
    sp_update_wm_gl.ExecProc;
    //
    qe_wm.Close;
    qe_wm.Open;
    qe_wm.First;
    //
    txt_zj.Caption := '0';
  end;
end;

procedure Tfrm_wm_tk.CancelInit;
begin
  qe_wm.Cancel;
  //
  txt_sum.Text := '';
  txt_jj.Text := '';
  //
  pe_edit.Enabled := False;
  //
  pe_info.Enabled := True;
  pe_bh.Enabled := True;
  //
  EnabledComponent(dsBrowse);  
end;

procedure Tfrm_wm_tk.SaveInit;
var
  v: Double;
begin
  txt_sum.Text := '';
  txt_jj.Text := '';
  //
  pe_edit.Enabled := False;
  //
  pe_info.Enabled := True;
  pe_bh.Enabled := True;
  //
  EnabledComponent(dsBrowse);
  //
  qe_sum.Close;
  qe_sum.ParamByName('ibh').Value := cur_bh;
  qe_sum.Open;
  qe_sum.First;
  //
  if (qe_sum.Eof) and (qe_sum.Bof) then
    txt_zj.Caption := '0'
  else begin
    v := qe_sum.FieldByName('pj_zj').Value;
    v:= Int(v) + Round((Frac(v)*100))/100;

⌨️ 快捷键说明

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