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

📄 xstj.pas

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

interface

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

type
  TFrmxstj = class(TForm)
    Panel1: TPanel;
    Label3: TLabel;
    Label4: TLabel;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    DBGrid1: TDBGrid;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    ComboBox_bm: TComboBox;
    ComboBox_ywy: TComboBox;
    SpeedButton1: TSpeedButton;
    Label2: TLabel;
    Edit_khmc: TEdit;
    BitBtn3: TBitBtn;
    Label5: TLabel;
    Label6: TLabel;
    Shape1: TShape;
    BitBtn4: TBitBtn;
    Label7: TLabel;
    Label_je: TLabel;
    Label9: TLabel;
    Label_cb: TLabel;
    Label11: TLabel;
    Label_sj: TLabel;
    Label15: TLabel;
    Label_lr: TLabel;
    Gauge1: TGauge;
    Label8: TLabel;
    Label_count: TLabel;
    ComboBox_ck: TComboBox;
    Query_ckxx: TQuery;
    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_ywy: TQuery;
    Query_ywyywy_bh: TStringField;
    Query_ywyywy_xm: TStringField;
    Query_ywyxb: TStringField;
    Query_ywynl: TStringField;
    Query_ywybm_bh: TStringField;
    Query_ywybm_mc: TStringField;
    Query_bm: TQuery;
    Database: TDatabase;
    Query_xsck_mc: TStringField;
    procedure BitBtn3Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure ComboBox_bmExit(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Query_xsCalcFields(DataSet: TDataSet);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Frmxstj: TFrmxstj;
  butclick:shortint;
  table_name:array[0..25] of string;
  ck_bh:array[0..25] of string;
  bm_bh:array[0..25] of string;

implementation

uses kh, main;

{$R *.DFM}

procedure TFrmxstj.BitBtn3Click(Sender: TObject);
  var
     jetotal,cbtotal,lrtotal,sjtotal:real; //  mltotal
     step:shortint;
begin
   Gauge1.Progress:=0;
   step:=1;
   butclick:=1;
   jetotal:=0.0;
   cbtotal:=0.0;
   lrtotal:=0.0;
   sjtotal:=0.0;
 //  mltotal:=0.0;
   Query_ckxx.close;
  Query_ckxx.UnPrepare;
  Query_ckxx.sql.Clear;
  Query_ckxx.sql.Add('select * from ckxxb');
  Query_ckxx.Prepare;
  Query_ckxx.open;
   Query_xs.DisableControls;
   Query_xs.close;
   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)+'''');
   if combobox_bm.ItemIndex>-1 then
     Query_xs.sql.Add(' and bm_mc='''+combobox_bm.Text+'''');
   if combobox_ywy.ItemIndex>-1  then
     Query_xs.sql.Add(' and ywy_xm='''+combobox_ywy.Text+'''');
   if combobox_ck.ItemIndex>-1  then
     Query_xs.sql.Add(' and ck_bh='''+ck_bh[combobox_ck.Itemindex]+'''');
   if edit_khmc.Text<>'' then
     Query_xs.sql.Add(' and kh_mc='''+edit_khmc.Text+'''');
   Query_xs.sql.Add(' order by xsrq');
   Query_xs.Prepare;
   Query_xs.open;
   Gauge1.MaxValue:=Query_xs.RecordCount;
   Query_xs.First;
   while not Query_xs.Eof do
     begin
       Gauge1.AddProgress(Step);
       jetotal:=jetotal+Query_xs.fieldbyname('je').AsFloat;
       cbtotal:=cbtotal+Query_xs.fieldbyname('cb').AsFloat;
       lrtotal:=lrtotal+Query_xs.fieldbyname('lr').AsFloat;
       sjtotal:=sjtotal+Query_xs.fieldbyname('sj').AsFloat;
     //  mltotal:=sjtotal+Query_xs.fieldbyname('ml').AsFloat;
       Query_xs.Next;
     end;
   label_je.Caption:=format('¥%.2f',[jetotal]);
   label_cb.Caption:=format('¥%.2f',[cbtotal]);
   label_lr.Caption:=format('¥%.2f',[lrtotal]);
   label_sj.Caption:=format('¥%.2f',[sjtotal]);
  // label_ml.Caption:=format('¥%.2f',[mltotal]);
   Label_count.Caption:=inttostr(Query_xs.RecordCount);
   Query_xs.EnableControls;
end;

procedure TFrmxstj.FormCreate(Sender: TObject);
  var i:integer;
begin
  i:=0;
  DateTimePicker1.Date:=Frmmain.GetServerTime;
  DateTimePicker2.Date:=Frmmain.GetServerTime;
  Query_bm.close;
  Query_bm.UnPrepare;
  Query_bm.sql.Clear;
  Query_bm.sql.Add('select * from bmb');
  Query_bm.Prepare;
  Query_bm.open;
  Query_bm.First;
  while not Query_bm.Eof do
   begin
    combobox_bm.Items.Add(Query_bm.fieldbyname('bm_mc').asstring);
    bm_bh[i]:=Query_bm.fieldbyname('bm_bh').asString;
    inc(i);
    Query_bm.Next;
   end;
  i:=0;
  Query_ckxx.close;
  Query_ckxx.UnPrepare;
  Query_ckxx.sql.Clear;
  Query_ckxx.sql.Add('select * from ckxxb');
  Query_ckxx.Prepare;
  Query_ckxx.open;
  Query_ckxx.First;
  while not Query_ckxx.Eof do
   begin
    combobox_ck.Items.Add(Query_ckxx.fieldbyname('ck_mc').asstring);
    ck_bh[i]:=Query_ckxx.fieldbyname('ck_bh').asString;
    inc(i);
    Query_ckxx.Next;
   end;
end;

procedure TFrmxstj.ComboBox_bmExit(Sender: TObject);
begin
   combobox_ywy.Clear;
   Query_ywy.close;
   Query_ywy.UnPrepare;
   Query_ywy.sql.Clear;
   Query_ywy.sql.Add('select * from ywyb');
   Query_ywy.sql.Add(' where bm_bh='''+bm_bh[combobox_bm.itemindex]+'''');
   Query_ywy.Prepare;
   Query_ywy.open;
   while not Query_ywy.Eof do
    begin
     combobox_ywy.Items.Add(Query_ywy.fieldbyname('ywy_xm').asstring);
     Query_ywy.Next;
    end;
end;

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

procedure TFrmxstj.BitBtn4Click(Sender: TObject);
begin
  Self.Close;
end;

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

procedure TFrmxstj.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;
 { Query_ckxx.close;
  Query_ckxx.UnPrepare;
  Query_ckxx.sql.Clear;
  Query_ckxx.sql.Add('select * from ckxxb');
  Query_ckxx.sql.Add(' where ck_bh='''+Query_xs.FieldByName('ck_bh').asstring+'''');
  Query_ckxx.Prepare;
  Query_ckxx.open;}
    if pos('中药',Query_xs.FieldByName('ck_mc').asstring)>0 then
     sj:=Query_xs.FieldByName('je').asfloat/(1+0.13)*0.13
  else
    sj:=Query_xs.FieldByName('je').asfloat/(1+0.17)*0.17;
 // sj:=Query_xs.FieldByName('je').asfloat/(1+Query_ckxx.fieldbyname('sl').asfloat)*Query_ckxx.fieldbyname('sl').asfloat;
  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 + -