?? xspj.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 + -