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

📄 inv410_01.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 SVN-BASE
字号:
unit Inv410_01;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Bas200_03, dxExEdtr, StdCtrls, wwdbdatetimepicker, Buttons,
  ActnList, DB, ADODB, Menus, dxCntner, dxTL, dxDBCtrl, dxDBGrid, ExtCtrls,
  ComCtrls, ToolWin;

type
  TInv410_01Form = class(TBas200_03Form)
    lblDate: TLabel;
    sbSearch: TSpeedButton;
    lblWhs: TLabel;
    edtFromDate: TwwDBDateTimePicker;
    edtToDate: TwwDBDateTimePicker;
    cbWhs: TComboBox;
    ADOQuery1I150_001: TAutoIncField;
    ADOQuery1I150_002: TWideStringField;
    ADOQuery1I150_003: TWideStringField;
    ADOQuery1I150_004: TWideStringField;
    ADOQuery1I140_003: TWideStringField;
    ADOQuery1FOpen: TFloatField;
    ADOQuery1FIn: TFloatField;
    ADOQuery1FOut: TFloatField;
    ADOQuery1FBalance: TFloatField;
    dxDBGrid1I150_002: TdxDBGridColumn;
    dxDBGrid1I150_003: TdxDBGridColumn;
    dxDBGrid1I150_004: TdxDBGridColumn;
    dxDBGrid1I140_003: TdxDBGridColumn;
    dxDBGrid1FOpen: TdxDBGridMaskColumn;
    dxDBGrid1FOut: TdxDBGridMaskColumn;
    dxDBGrid1FBalance: TdxDBGridMaskColumn;
    dxDBGrid1FTims: TdxDBGridColumn;
    ADOQuery1FTimes: TFloatField;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure sbSearchClick(Sender: TObject);
    procedure ADOQuery1CalcFields(DataSet: TDataSet);
  private
    { Private declarations }
  public
    procedure SetInterface; override;
    procedure BrowseEvent; override;
    procedure ReportGetValue(const ParName: String; var ParValue: Variant); override;
    { Public declarations }
  end;

var
  Inv410_01Form: TInv410_01Form;

implementation

uses SYSDATA, CommFun, InvComm;

{$R *.dfm}

procedure TInv410_01Form.SetInterface;
begin
  inherited;
  Caption:=GetDBString('INV41001001');  //周转次数分析
  lblWhs.Caption:=GetDBString('INV41001002');  //仓库
  lblDate.Caption:=GetDBString('INV41001003');  //日期
  sbSearch.Caption:=GetDBString('INV41001004');  //查询

  ADOQuery1.FieldByName('I150_002').DisplayLabel:=GetDBString('INV41001005');  //料品编号
  ADOQuery1.FieldByName('I150_003').DisplayLabel:=GetDBString('INV41001006');  //料品名称
  ADOQuery1.FieldByName('I150_004').DisplayLabel:=GetDBString('INV41001007');  //规格型号
  ADOQuery1.FieldByName('I140_003').DisplayLabel:=GetDBString('INV41001008');  //计量单位
  ADOQuery1.FieldByName('FOpen').DisplayLabel:=GetDBString('INV41001009');  //期初数量
  ADOQuery1.FieldByName('FOut').DisplayLabel:=GetDBString('INV41001010');  //出库数量
  ADOQuery1.FieldByName('FBalance').DisplayLabel:=GetDBString('INV41001011');  //库存数量
  ADOQuery1.FieldByName('FTimes').DisplayLabel:=GetDBString('INV41001012');  //周转次数

  GetAllWhs(cbWhs);
end;

procedure TInv410_01Form.FormCreate(Sender: TObject);
var
  ADate:TDateTime;
begin
  inherited;
  ADate:=GetServerDate;
  edtFromDate.Date:=GetMonthFirstDate(ADate);
  edtToDate.Date:=GetMonthEndDate(ADate);
  sbSearch.Click;
end;

procedure TInv410_01Form.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
//
end;

procedure TInv410_01Form.sbSearchClick(Sender: TObject);
var
  AFromDate,AToDate:TDateTime;
  AWhsNo:Integer;
begin
  inherited;
  if (edtFromDate.Text='') or (edtToDate.Text='') then
  begin
    ShowMsg('UMS10000319');  //起止日期不可为空
    if edtFromDate.Text='' then edtFromDate.SetFocus else edtToDate.SetFocus;
    Abort;
  end;
  if edtFromDate.Date>edtToDate.Date then
  begin
    ShowMsg('UMS10000320');  //结束日期不能小于起始日期
    edtToDate.SetFocus;
    Abort;
  end;
  AFromDate:=edtFromDate.Date;
  AToDate:=edtToDate.Date;

  SYSDM.qryQuery.Close;
  SYSDM.qryQuery.SQL.Clear;
  SYSDM.qryQuery.SQL.Add('select I100_001 from INV100 where ''[''+I100_002+'']''+I100_003='+''''+cbWhs.Text+'''');
  SYSDM.qryQuery.Open;
  AWhsNo:=SYSDM.qryQuery.Fields[0].AsInteger;

  //取得所有物料的出入数量及库存数量
  GetAllItemInvBalance(ADOQuery1,AWhsNo,0,AFromDate,AToDate);
  ARecordCount:=GetDataSetCount(ADOQuery1);
end;

procedure TInv410_01Form.BrowseEvent;
begin
  inherited;

end;

procedure TInv410_01Form.ReportGetValue(const ParName: String;
  var ParValue: Variant);
begin
  inherited;

end;

procedure TInv410_01Form.ADOQuery1CalcFields(DataSet: TDataSet);
var
  AValue:Double;
begin
  inherited;
  //周转次数:周转次数 = 出库总数 / 平均库存 = (出库总数 * 2 ) / (期初库存 + 期末库存)
  AValue:=ADOQuery1FOpen.AsFloat+ADOQuery1FBalance.AsFloat;
  if AValue=0 then
    ADOQuery1FTimes.Value:=0
  else
    ADOQuery1FTimes.Value:=(ADOQuery1FOut.AsFloat*2)/AValue;
end;

initialization
  RegisterClass(TInv410_01Form);

finalization
  UnRegisterClass(TInv410_01Form);

end.

⌨️ 快捷键说明

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