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

📄 xspj.pas

📁 本系统前端界面采用WINDOWS 窗口风格
💻 PAS
字号:
unit xspj;

interface

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

type
  TFrmxspj = class(TForm)
    Panel1: TPanel;
    Label3: TLabel;
    Label4: TLabel;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    BitBtn3: TBitBtn;
    ListBox1: TListBox;
    DBGrid1: TDBGrid;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Edit_ckdh: TEdit;
    SpeedButton2: TSpeedButton;
    Label1: TLabel;
    Label_khmc: TLabel;
    Label5: TLabel;
    Label7: TLabel;
    Label_kprq: TLabel;
    Label9: TLabel;
    Label_czy: TLabel;
    Shape1: TShape;
    Label_ywy: TLabel;
    Label2: TLabel;
    Edit_khmc: TEdit;
    SpeedButton1: TSpeedButton;
    Panel2: TPanel;
    Label6: TLabel;
    wpbm_Edit: TEdit;
    Query_xs: TQuery;
    Query_xsxs_bh: TStringField;
    Query_xswp_bm: TStringField;
    Query_xskh_mc: TStringField;
    Query_xspm: TStringField;
    Query_xsdw: TStringField;
    Query_xsgg: TStringField;
    Query_xsjj: TFloatField;
    Query_xsdj: TFloatField;
    Query_xssl: TFloatField;
    Query_xsje: TFloatField;
    Query_xsfp_ph: TStringField;
    Query_xscb: TFloatField;
    Query_xssj: TFloatField;
    Query_xsml: TFloatField;
    Query_xslr: TFloatField;
    Query_xsph: TStringField;
    Query_xsxsrq: TDateTimeField;
    Query_xsck_bh: TStringField;
    Query_xsbm_mc: TStringField;
    Query_xsywy_xm: TStringField;
    Query_xscd: TStringField;
    Query_xssb: TStringField;
    Query_xspzwh: TStringField;
    DataSource_xs: TDataSource;
    Query_ckd: TQuery;
    Query_ckxx: TQuery;
    Database: TDatabase;
    Query_xsck_mc: TStringField;
    Query_tmp: TQuery;
    Query_xsyxq: TFloatField;
    CheckBox1: TCheckBox;
    procedure FormCreate(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure wpbm_EditChange(Sender: TObject);
    procedure Query_xsCalcFields(DataSet: TDataSet);
  private
    { Private declarations }
  public
    { Public declarations }

  end;

var
  Frmxspj: TFrmxspj;
  ckjetotal:real;
  
implementation

uses  kh, main, repxs, xsrep;



{$R *.DFM}

procedure TFrmxspj.FormCreate(Sender: TObject);
begin
  DateTimePicker1.Date:=Frmmain.GetServerTime ;
  DateTimePicker2.Date:=Frmmain.GetServerTime;
  Query_ckxx.close;
  Query_ckxx.UnPrepare;
  Query_ckxx.sql.Clear;
  Query_ckxx.sql.Add('select * from ckxxb ');
  Query_ckxx.Prepare;
  Query_ckxx.open;
  Query_ckd.close;
  Query_ckd.UnPrepare;
  Query_ckd.sql.Clear;
  Query_ckd.sql.Add('select * from fpxxb');
  Query_ckd.sql.Add(' where kprq<='''+datetostr(DateTimePicker2.date)+'''');
  Query_ckd.sql.Add(' and kprq>='''+datetostr(DateTimePicker1.date)+'''');
  Query_ckd.Prepare;
  Query_ckd.open;
  while not Query_ckd.Eof do
    begin
      listbox1.Items.Add(Query_ckd.fieldbyname('fp_ph').asstring);
      Query_ckd.Next;
    end;
  listbox1.ItemIndex:=0;
  listbox1click(self);
end;

procedure TFrmxspj.ListBox1Click(Sender: TObject);
begin
   ckjetotal:=0.00;
   if listbox1.ItemIndex=-1 then  exit;
   Query_xs.DisableControls;
   Query_xs.close;
   Query_xs.UnPrepare;
   Query_xs.sql.Clear;
   Query_xs.sql.Add('select * from xsxxb ');
   Query_xs.sql.Add(' where fp_ph ='''+listbox1.Items[listbox1.itemindex]+'''');
   Query_xs.sql.Add(' order by ck_bh,pm');
   Query_xs.Prepare;
   Query_xs.open;
   Query_xs.First;
   while not Query_xs.Eof do
     begin
       ckjetotal:=ckjetotal+Query_xs.fieldbyname('je').asfloat;
       Query_xs.Next;
     end;
   Query_xs.EnableControls;
   Query_ckd.close;
   Query_ckd.UnPrepare;
   Query_ckd.sql.Clear;
   Query_ckd.sql.Add('select * from fpxxb');
   Query_ckd.sql.Add(' where fp_ph='''+listbox1.Items[listbox1.itemindex]+'''');
   Query_ckd.Prepare;
   Query_ckd.Open;
   Label_khmc.Caption:=Query_ckd.fieldbyname('kh_mc').asstring;
   Label_ywy.Caption:=Query_ckd.fieldbyname('ywy_xm').asstring;
   Label_kprq.Caption:=Formatdatetime('yyyy-mm-dd',Query_ckd.fieldbyname('kprq').asdatetime);
   Label_czy.Caption:=Query_ckd.fieldbyname('czy_xm').asstring;
end;

procedure TFrmxspj.BitBtn3Click(Sender: TObject);
begin
  listbox1.Clear;
  Query_ckd.close;
  Query_ckd.UnPrepare;
  Query_ckd.sql.Clear;
  Query_ckd.sql.Add('select * from fpxxb');
  Query_ckd.sql.Add(' where kprq<='''+datetostr(DateTimePicker2.date)+'''');
  Query_ckd.sql.Add(' and kprq>='''+datetostr(DateTimePicker1.date)+'''');
  if Edit_khmc.Text<>'' then
    Query_ckd.sql.Add(' and kh_mc='''+Edit_khmc.Text+'''');
  Query_ckd.Prepare;
  Query_ckd.open;
  while not Query_ckd.Eof do
    begin
      listbox1.Items.Add(Query_ckd.fieldbyname('fp_ph').asstring);
      Query_ckd.Next;
    end;
  listbox1.ItemIndex:=0;
  if listbox1.ItemIndex=-1 then exit;
  listbox1click(self);
end;

procedure TFrmxspj.BitBtn2Click(Sender: TObject);
begin
  Self.Close;
end;

procedure TFrmxspj.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action:=CaFree;
end;

procedure TFrmxspj.SpeedButton2Click(Sender: TObject);
begin
  listbox1.Clear;
  Query_ckd.close;
  Query_ckd.UnPrepare;
  Query_ckd.sql.Clear;
  Query_ckd.sql.Add('select * from fpxxb');
  Query_ckd.sql.Add(' where fp_ph='''+Edit_ckdh.Text+'''');
  Query_ckd.Prepare;
  Query_ckd.open;
  Query_ckd.First;
  while not Query_ckd.Eof do
    begin
      listbox1.Items.Add(Query_ckd.fieldbyname('fp_ph').asstring);
      Query_ckd.Next;
    end;
end;

procedure TFrmxspj.SpeedButton1Click(Sender: TObject);
begin
  Frmkh:=TFrmkh.create(Self);
  Frmmain.pubedit:=Edit_khmc;
  Frmkh.ShowModal;
end;

procedure TFrmxspj.BitBtn1Click(Sender: TObject);
  var hjje:real;
begin
  if not (Query_xs.Bof and  Query_xs.Eof) then
    begin
      if checkbox1.Checked then begin
        if listbox1.ItemIndex=-1 then begin
           application.MessageBox('没有票据可以打印!','提示',mb_ok+mb_iconinformation);
           exit;
        end;
        Query_xs.DisableControls;
        Query_ckxx.First;
        while not Query_ckxx.Eof do
         begin
           Query_xs.close;
           Query_xs.UnPrepare;
           Query_xs.sql.Clear;
           Query_xs.sql.Add('select * from xsxxb');
           Query_xs.sql.Add(' where ck_bh='''+Query_ckxx.fieldbyname('ck_bh').asstring+'''');
           Query_xs.sql.Add(' and fp_ph ='''+listbox1.Items[listbox1.itemindex]+'''');
           Query_xs.Prepare;
           Query_xs.open;
           if  not Query_xs.Eof then
             begin
               hjje:=0.00;
               Query_xs.First;
               while not query_xs.Eof do
                 begin
                   hjje:=hjje+query_xs.fieldbyname('je').asfloat;
                   query_xs.Next;
                 end;
               Frmreport.quickrep1.DataSet:=Query_xs;
               Frmreport.QRDBText_cd.DataSet:=Query_xs;
               Frmreport.QRDBText_pm.DataSet:=Query_xs;
               Frmreport.QRDBText_gg.DataSet:=Query_xs;
               Frmreport.QRDBText_dw.DataSet:=Query_xs;
               Frmreport.QRDBText_sl.DataSet:=Query_xs;
               Frmreport.QRDBText_dj.DataSet:=Query_xs;
               Frmreport.QRDBText_je.DataSet:=Query_xs;
               Frmreport.QRDBText_ph.DataSet:=Query_xs;
               Frmreport.QRDBText_pzwh.DataSet:=Query_xs;
               Frmreport.QRDBText_yxq.DataSet:=Query_xs;
               Frmreport.QRDBText_js.DataSet:=Query_xs;
               Frmreport.QRlabel_ghdw.Caption:=Query_xs.fieldbyname('kh_mc').asstring;
               Frmreport.QRlabel_ck.Caption:=Query_ckxx.fieldbyname('ck_mc').asstring;
               Frmreport.QRlabel_xsrq.Caption:=formatdatetime('yyyy-mm-dd',Query_xs.fieldbyname('xsrq').asdatetime);
               Frmreport.QRLabel_ph.Caption:=Listbox1.Items[Listbox1.itemindex];
               Frmreport.QRlabel_bm.Caption:='';
               Frmreport.QRlabel_ywy.Caption:=Label_ywy.Caption;
               Frmreport.QRlabel_czy.Caption:=Label_czy.Caption;
               Frmreport.QRlabel_hj.Caption:=format('¥%2f',[hjje]);
               Frmreport.QRlabel_zje.Caption:=format('¥%.2f',[ckjetotal]);

               Frmreport.QuickRep1.page.Length:=197+Query_xs.RecordCount*28;
               Frmreport.QuickRep1.Prepare;
             //  Frmreport.QuickRep1.Preview;
               Frmreport.QuickRep1.print;
             end;
           Query_ckxx.Next;
         end;
        Query_xs.EnableControls;
      end else begin
        Query_xs.First;
        if  not Query_xs.Eof then
             begin
               hjje:=0.00;
               Query_xs.First;
               while not query_xs.Eof do
                 begin
                   hjje:=hjje+query_xs.fieldbyname('je').asfloat;
                   query_xs.Next;
                 end;
               Frmxsrep.quickrep1.DataSet:=Query_xs;
               Frmxsrep.QRDBText_cd.DataSet:=Query_xs;
               Frmxsrep.QRDBText_pm.DataSet:=Query_xs;
               Frmxsrep.QRDBText_gg.DataSet:=Query_xs;
               Frmxsrep.QRDBText_dw.DataSet:=Query_xs;
               Frmxsrep.QRDBText_sl.DataSet:=Query_xs;
               Frmxsrep.QRDBText_dj.DataSet:=Query_xs;
               Frmxsrep.QRDBText_je.DataSet:=Query_xs;
               Frmxsrep.QRDBText_ph.DataSet:=Query_xs;
               Frmxsrep.QRDBText_pzwh.DataSet:=Query_xs;
               Frmxsrep.QRDBText_yxq.DataSet:=Query_xs;
               Frmxsrep.QRDBText_js.DataSet:=Query_xs;
               Frmxsrep.QRlabel_zje.Caption:=format('¥%.2f',[ckjetotal]);

               Frmxsrep.QuickRep1.page.Length:=112+Query_xs.RecordCount*28;
               Frmxsrep.QuickRep1.Prepare;
             //  Frmreport.QuickRep1.Preview;
               Frmxsrep.QuickRep1.print;
             end;
           end;  

   end;
end;

procedure TFrmxspj.wpbm_EditChange(Sender: TObject);
begin
   ckjetotal:=0.00;
   Query_xs.DisableControls;
   Query_xs.close;
   Query_xs.UnPrepare;
   Query_xs.sql.Clear;
   Query_xs.sql.Add('select * from xsxxb ');
   Query_xs.sql.Add(' where xsrq<='''+datetostr(DateTimePicker2.date)+'''');
   Query_xs.sql.Add(' and xsrq>='''+datetostr(DateTimePicker1.date)+'''');
   Query_xs.sql.Add(' and wp_bm like'+''''+wpbm_edit.Text+'%'+'''');
   Query_xs.sql.Add(' order by ck_bh,pm');
   Query_xs.Prepare;
   Query_xs.open;
   Query_xs.First;
   while not Query_xs.Eof do
     begin
       ckjetotal:=ckjetotal+Query_xs.fieldbyname('je').asfloat;
       Query_xs.Next;
     end;
   Query_xs.EnableControls;
end;

procedure TFrmxspj.Query_xsCalcFields(DataSet: TDataSet);
  var cb,sj:real;
begin
  cb:=Query_xs.FieldByName('jj').asfloat*Query_xs.FieldByName('sl').asfloat;
  Query_xs.FieldByName('cb').asfloat:=cb;
//  Query_xs.FieldByName('ml').asfloat:=Query_xs.FieldByName('je').asfloat-cb;
  if pos('中药',Query_xs.FieldByName('ck_mc').asstring)>0 then
     sj:=Query_xs.FieldByName('je').asfloat/1.13*0.13
  else
    sj:=Query_xs.FieldByName('je').asfloat/1.17*0.17;
  Query_xs.FieldByName('sj').asfloat:=sj;
  Query_xs.FieldByName('lr').asfloat:=Query_xs.FieldByName('je').asfloat-cb-sj;
end;

end.

⌨️ 快捷键说明

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