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

📄 frmdxunit.pas

📁 根据客户对销售人员回款返利和业绩返利的功能需求所开发
💻 PAS
字号:
unit frmDXUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, frmBaseUnit, DB, StdCtrls, Buttons, ExtCtrls, ADODB,
  wwdbdatetimepicker, Mask, wwdbedit, wwdblook, Wwdbdlg, Grids, Wwdbigrd,
  Wwdbgrid;

type
  TfrmDX = class(TfrmBase)
    qryDX: TADOQuery;
    qryDXDXDH: TStringField;
    qryDXSAL_NO: TStringField;
    qryDXDXDATE: TDateTimeField;
    qryDXOS_NO: TStringField;
    qryDXYQTY: TBCDField;
    qryDXRate: TBCDField;
    qryDXQTY: TBCDField;
    Label1: TLabel;
    wwDBEdit1: TwwDBEdit;
    Label2: TLabel;
    Label3: TLabel;
    wwDBDateTimePicker1: TwwDBDateTimePicker;
    Label4: TLabel;
    wwDBLookupComboDlg1: TwwDBLookupComboDlg;
    qrySO: TADOQuery;
    qrySOoS_NO: TStringField;
    qrySOCUS_NO: TStringField;
    qrySOOS_DD: TDateTimeField;
    qrySOSAL_NO: TStringField;
    Label5: TLabel;
    wwDBLookupComboDlg2: TwwDBLookupComboDlg;
    qrySAL_NAME: TADOQuery;
    qrySAL_NAMESAL_NO: TStringField;
    qrySAL_NAMENAME: TStringField;
    Label6: TLabel;
    Label7: TLabel;
    wwDBEdit3: TwwDBEdit;
    Label8: TLabel;
    wwDBEdit4: TwwDBEdit;
    Label9: TLabel;
    wwDBEdit5: TwwDBEdit;
    wwDBEdit2: TwwDBEdit;
    wwDBGrid1: TwwDBGrid;
    qryDXSAL_NAME: TStringField;
    qryCUS_NO: TADOQuery;
    qryCUS_NOcus_no: TStringField;
    qryCUS_NOname: TStringField;
    Label10: TLabel;
    ww1: TwwDBLookupComboDlg;
    qrySAL_NAME2: TADOQuery;
    StringField1: TStringField;
    StringField2: TStringField;
    ww3: TwwDBLookupComboDlg;
    Label11: TLabel;
    ww4: TwwDBLookupComboDlg;
    Label12: TLabel;
    qrySO2: TADOQuery;
    StringField3: TStringField;
    DateTimeField1: TDateTimeField;
    StringField4: TStringField;
    StringField5: TStringField;
    ww5: TwwDBLookupComboDlg;
    ww6: TwwDBLookupComboDlg;
    Button1: TButton;
    ww2: TwwDBLookupComboDlg;
    qryDXQTY1: TBCDField;
    qryDXQTY2: TBCDField;
    qryDXQTY3: TBCDField;
    qryDXQTY4: TBCDField;
    Label13: TLabel;
    wwDBEdit6: TwwDBEdit;
    Label14: TLabel;
    wwDBEdit7: TwwDBEdit;
    Label15: TLabel;
    wwDBEdit8: TwwDBEdit;
    Label16: TLabel;
    wwDBEdit9: TwwDBEdit;
    procedure btn_InsertClick(Sender: TObject);
    procedure wwDBLookupComboDlg1Change(Sender: TObject);
    procedure btn_EditClick(Sender: TObject);
    procedure btn_DeleteClick(Sender: TObject);
    procedure btn_PrintClick(Sender: TObject);
    procedure btn_SaveClick(Sender: TObject);
    procedure btn_CloseClick(Sender: TObject);
    procedure btn_SearchClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure wwDBEdit1Enter(Sender: TObject);
    procedure wwDBEdit2Exit(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    vFORMDX:TFORM;
    { Public declarations }
  end;

var
  frmDX: TfrmDX;

implementation

uses dmUnit;

{$R *.dfm}

procedure TfrmDX.btn_InsertClick(Sender: TObject);
begin
  inherited;
  if qryDX.State in [dsInsert] then exit;
  qryDX.Append;
  qryDXDXDate.AsString:=FormatDatetime('YYYY-MM-DD',now);
   wwDBEdit1.SetFocus;
end;

procedure TfrmDX.wwDBLookupComboDlg1Change(Sender: TObject);
var
  q1,q2,q3,q4:double; //
  sql:string;
begin
  inherited;
  if qryDX.State in [dsBrowse] then exit;
  if qryDX.FieldByName('OS_NO').AsString='' then exit;
  qryDX.FieldByName('SAL_NO').AsString:=qrySO.FieldByname('SAL_NO').AsString;
  sql:='select A.OS_NO,QTY=sum(isnull(A.QTY,0)*isnull(A.UP,0)) from TF_POS A '
      +' where A.OS_NO='''+qryDXOS_NO.asstring+''' group by A.OS_NO ';
  dm.getQuery(sql);
  q1:=dm.qryQuery.Fields[1].AsFloat; //  订单金额
  qryDX.FieldByName('qty1').AsFloat:=q1;
  sql:='select A.OS_NO,QTY=sum(isnull(A.QTY_PRE,0)*isnull(A.UP,0)) from TF_POS A '
      +'  where A.OS_NO='''+qryDXOS_NO.asstring+''' group by A.OS_NO ';
  dm.getQuery(sql);
  q2:=dm.qryQuery.Fields[1].AsFloat;  //订单退回金额
  qryDX.FieldByName('qty2').AsFloat:=q2;

  sql:='select A.OS_NO,QTY=sum((isnull(A.QTY,0)-isnull(A.qty_PRE,0))*isnull(B.A,0)) '
       +' from TF_POS A,TF_POS_Z B where A.OS_NO=B.OS_NO AND A.EST_ITM=B.ITM '
       +' and A.OS_NO='''+qryDXOS_NO.asstring+'''  group by A.OS_NO   ';
  dm.getQuery(sql);
  q3:=dm.qryQuery.Fields[1].AsFloat;       //底价金额
  qryDX.FieldByName('qty3').AsFloat:=q3;

  sql:='select OS_NO,qty=sum(isnull(qty,0)) from fyList where '
       +' OS_NO='''+qryDXOS_NO.AsString+''' group by os_no ';
  dm.getQuery(sql);
  q4:=dm.qryQuery.Fields[1].AsFloat;       //费用合计
  qryDX.FieldByName('qty4').AsFloat:=q4;
  
  qryDXYQTY.AsFloat:=q1-q2-q3-q4;
  

end;

procedure TfrmDX.btn_EditClick(Sender: TObject);
begin
  inherited;
  qryDX.Edit;
end;

procedure TfrmDX.btn_DeleteClick(Sender: TObject);
begin
  inherited;
  qryDX.Delete;
end;

procedure TfrmDX.btn_PrintClick(Sender: TObject);
begin
  inherited;
   wwDBGrid1.ExportOptions.FileName:=fSave.FileName+'.csv';
   wwDBGrid1.ExportOptions.Save;
end;

procedure TfrmDX.btn_SaveClick(Sender: TObject);
begin
  inherited;
  if qryDX.State in [dsEdit,dsInsert] then qryDX.Post;
end;

procedure TfrmDX.btn_CloseClick(Sender: TObject);
begin
  inherited;
  close;
end;

procedure TfrmDX.btn_SearchClick(Sender: TObject);
begin
  inherited;
  dm.getSearch(vFORMDX,qryDX,'select * from dx where 1=1 ','dxDate','dxDate','兑现表','DXDATE','兑现日期','OS_NO','受订单号');
end;

procedure TfrmDX.FormShow(Sender: TObject);
begin
  inherited;
  qryDX.Active:=True;
  qrySO.Active:=True;
  qrySAL_NAME.Active:=True;
  qrySO2.Active:=True;
  qrySAL_NAME2.Active:=True;
  qryCUS_NO.Active:=True;
end;

procedure TfrmDX.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  inherited;
  action:=caFree;
  frmDX:=nil;
end;

procedure TfrmDX.wwDBEdit1Enter(Sender: TObject);
begin
  inherited;
    if ((qryDX.State in [dsInsert]) and (qryDX.FieldByName('DXDH').AsString='')) then
    begin
      qryDX.FieldByname('DXDH').asstring:=dm.GetAutoNo('DX','DXDH','DX'+FormatDateTIME('YYMMDD',now));
    end;

end;

procedure TfrmDX.wwDBEdit2Exit(Sender: TObject);
begin
  inherited;
  if qryDX.State in [dsBrowse] then exit;
  if (qryDX.FieldByName('Rate').AsString<>'') and  (qryDX.FieldByName('YQTY').AsString<>'') then
     qryDXQTY.AsFloat:=(qryDXRate.AsFloat*qryDXYQTY.AsFloat)/100.00;

end;

procedure TfrmDX.Button1Click(Sender: TObject);
var
  sql:string;
begin
  inherited;
  sql:='select * from dx where 1=1 ';
  if ww1.Text<>'' then
     sql:=sql+' and os_no in (select os_no from mf_pos where CUS_NO>='''+ww1.Text+''') ';
  if ww2.Text<>'' then
     sql:=sql+' and os_no in (select os_no from mf_pos where CUS_NO<='''+ww2.Text+''') ';
  if ww3.Text<>'' then
    sql:=sql+' and SAL_NO>='''+ww3.Text+'''';
  if ww4.Text<>'' then
    sql:=sql+' and SAL_NO<='''+ww4.Text+'''';
  if ww5.Text<>'' then
    sql:=sql+' and OS_NO>='''+ww5.Text+'''';
  if ww6.Text<>'' then
     sql:=sql+' and OS_no<='''+ww6.Text+'''';
  qryDX.Active:=False;
  qryDX.SQL.Clear;
  qryDX.SQL.Add(sql);
  qryDX.Active:=True;         
end;

end.

⌨️ 快捷键说明

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