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

📄 untwldwstaff.pas

📁 适合行业为眼镜业
💻 PAS
📖 第 1 页 / 共 3 页
字号:
//往来单位决策分析
//5-26;
unit UntWldwStaff;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, fm_Base, StdCtrls, Buttons, Grids, ExtCtrls, DB, DBClient,
  DBGrids, Menus, ComCtrls, ImgList, Edit1;

type
  TfmWldwStaff = class(TfmBase)
    PageC1: TPageControl;
    TabGoods: TTabSheet;
    PopupMenu2: TPopupMenu;
    N3: TMenuItem;
    N4: TMenuItem;
    Panel3: TPanel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    btnpagedown: TBitBtn;
    BitBtn7: TBitBtn;
    Panel2: TPanel;
    Gridbase: TStringGrid;
    DBGrid1: TDBGrid;
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    cmbtop: TComboBox;
    Panel4: TPanel;
    CBType: TComboBox;
    cbBrand: TComboBox;
    CbBreed: TComboBox;
    ckbtype: TCheckBox;
    ckbbreed: TCheckBox;
    ckbbrand: TCheckBox;
    cbwldw: TCheckBox;
    edtwldw: TEdit;
    Cbmstorage: TCheckBox;
    cmbmstorage: TComboBox;
    cbstorages: TCheckBox;
    cmbstorages: TComboBox;
    dsview: TDataSource;
    cdssoft: TClientDataSet;
    cdspart: TClientDataSet;
    TabBackGoods: TTabSheet;
    TabFinace: TTabSheet;
    Panel5: TPanel;
    Label4: TLabel;
    Label5: TLabel;
    Panel6: TPanel;
    Cmbtype: TComboBox;
    Cmbbrand: TComboBox;
    Cmbbreed: TComboBox;
    Chbtype: TCheckBox;
    ChBbreed: TCheckBox;
    Chbbrand: TCheckBox;
    Chbwldw: TCheckBox;
    Edtgeher: TEdit;
    ChbMstorage: TCheckBox;
    CmbBmstorage: TComboBox;
    Chbstorage: TCheckBox;
    CmbbStorage: TComboBox;
    Panel7: TPanel;
    GridBack: TStringGrid;
    DBGrid2: TDBGrid;
    Panel8: TPanel;
    BitBtn4: TBitBtn;
    BitBtn5: TBitBtn;
    BitBtn6: TBitBtn;
    BitBtn8: TBitBtn;
    BitBtn9: TBitBtn;
    ImageList1: TImageList;
    TabSheet1: TTabSheet;
    Panel9: TPanel;
    BitBtn10: TBitBtn;
    BitBtn11: TBitBtn;
    BitBtn12: TBitBtn;
    BitBtn13: TBitBtn;
    Panel10: TPanel;
    StringGrid1: TStringGrid;
    DBGrid3: TDBGrid;
    Panel11: TPanel;
    Label6: TLabel;
    Label7: TLabel;
    Panel12: TPanel;
    Chbcode: TCheckBox;
    Edtcode: TEdit;
    ChbName: TCheckBox;
    Edtname: TEdit;
    ChbtotalYs: TCheckBox;
    ChbTotalYf: TCheckBox;
    ChBXY: TCheckBox;
    EdtTotalYS: TEdit1;
    EdTTotalYf: TEdit1;
    Edtxy: TEdit1;
    Panel13: TPanel;
    Panel14: TPanel;
    BitBtn14: TBitBtn;
    BitBtn15: TBitBtn;
    BitBtn16: TBitBtn;
    BitBtn17: TBitBtn;
    Panel15: TPanel;
    Label8: TLabel;
    Panel16: TPanel;
    Cbname: TCheckBox;
    EdTSup_no: TEdit;
    SpeedButton1: TSpeedButton;
    Label9: TLabel;
    Label10: TLabel;
    ckbnewDate: TCheckBox;
    dtpBegin: TDateTimePicker;
    dtpEnd: TDateTimePicker;
    RB1: TRadioButton;
    RB2: TRadioButton;
    DBGrid4: TDBGrid;
    btnprint: TBitBtn;
    BitBtn18: TBitBtn;
    Label11: TLabel;
    Label12: TLabel;
    CBinput: TCheckBox;
    dtpinputB: TDateTimePicker;
    dtpinputE: TDateTimePicker;
    Label13: TLabel;
    Label14: TLabel;
    cbcancel: TCheckBox;
    dtpcancelB: TDateTimePicker;
    dtpcancelE: TDateTimePicker;
    procedure BitBtn7Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn3MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure BitBtn5Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure GridbaseDrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
    procedure DBGrid1TitleClick(Column: TColumn);
    procedure DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
      Field: TField; State: TGridDrawState);
    procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure BitBtn1Click(Sender: TObject);
    procedure cbwldwClick(Sender: TObject);
    procedure ckbtypeClick(Sender: TObject);
    procedure CBTypeChange(Sender: TObject);
    procedure ckbbrandClick(Sender: TObject);
    procedure cbBrandChange(Sender: TObject);
    procedure ckbbreedClick(Sender: TObject);
    procedure CbmstorageClick(Sender: TObject);
    procedure cbstoragesClick(Sender: TObject);
    procedure cmbmstorageChange(Sender: TObject);
    procedure btnpagedownClick(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure ChbtypeClick(Sender: TObject);
    procedure ChbbrandClick(Sender: TObject);
    procedure ChBbreedClick(Sender: TObject);
    procedure ChbMstorageClick(Sender: TObject);
    procedure ChbstorageClick(Sender: TObject);
    procedure ChbwldwClick(Sender: TObject);
    procedure CmbtypeChange(Sender: TObject);
    procedure CmbbrandChange(Sender: TObject);
    procedure CmbBmstorageChange(Sender: TObject);
    procedure DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure DBGrid2DrawDataCell(Sender: TObject; const Rect: TRect;
      Field: TField; State: TGridDrawState);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure DBGrid2TitleClick(Column: TColumn);
    procedure BitBtn10Click(Sender: TObject);
    procedure ChbcodeClick(Sender: TObject);
    procedure ChbNameClick(Sender: TObject);
    procedure ChbtotalYsClick(Sender: TObject);
    procedure ChbTotalYfClick(Sender: TObject);
    procedure ChBXYClick(Sender: TObject);
    procedure DBGrid3TitleClick(Column: TColumn);
    procedure DBGrid3DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure DBGrid3DrawDataCell(Sender: TObject; const Rect: TRect;
      Field: TField; State: TGridDrawState);
    procedure PageC1Change(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure ckbnewDateClick(Sender: TObject);
    procedure CbnameClick(Sender: TObject);
    procedure BitBtn14Click(Sender: TObject);
    procedure DBGrid4TitleClick(Column: TColumn);
    procedure DBGrid4DrawDataCell(Sender: TObject; const Rect: TRect;
      Field: TField; State: TGridDrawState);
    procedure DBGrid4DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure btnprintClick(Sender: TObject);
    procedure CBinputClick(Sender: TObject);
    procedure cbcancelClick(Sender: TObject);
    procedure BitBtn12Click(Sender: TObject);
  private
    { Private declarations }
    vbegin,vend,Iflag:string;
    NO:STRING;
    ps:boolean;
    LocalCount:integer;
    procedure inistringgrid(Gridbases: TStringGrid;db:TDBGrid;visible:boolean);
    procedure readdata(gridbases:tstringgrid;dbgrids:tdbgrid);//库存分布;
    procedure cleardata(gridbases:tstringgrid);
    procedure PrintGrid(Sgrid:tstringgrid);

    //procedure redata; //销售分布
  public
    { Public declarations }
    tj:string;
    tempsql,tables:string;
  end;

var
  fmWldwStaff: TfmWldwStaff;

implementation

uses func, untdatadm,fm_SetColumn, Supply_Monad, Unitreportxf;

{$R *.dfm}
/////////////////自定义函数
procedure TfmWldwStaff.readdata(gridbases:tstringgrid;dbgrids:tdbgrid);
var
  i,p,t,m,j,d,c:integer;
  f:boolean;
begin
  m:=gridbases.RowCount-1;
  gridbases.RowCount:=cdssoft.RecordCount+1;
  t:=gridbases.RowCount-1;
  i:=1;
  cdssoft.First;
  while not cdssoft.Eof do
  begin
    f:=true;
    if  trim(gridbases.Cells[1,m-1])=trim(cdssoft.fieldbyname('goods_no').AsString) then
    begin
      c:=0;
      j:= gridbases.ColCount;
      for d:=1 to j do
      begin
        if trim(gridbases.Cells[d,0])=trim(cdssoft.fieldbyname('storage_no').AsString+'仓库') then
        begin
          c:=d;
        end;
      end;
      if c=0 then
      begin
        gridbases.ColCount:=gridbase.ColCount+1;
        gridbases.ColWidths[gridbase.ColCount-1]:=60;
        gridbases.Cols[gridbase.ColCount-1].Add(trim(cdssoft.fieldbyname('storage_no').AsString+'仓库'));
        gridbases.Cells[gridbase.ColCount-1,m-1]:=trim(cdssoft.fieldbyname('countamount').AsString );
      end else
      begin
        gridbases.Cells[c,m-1]:=trim(cdssoft.fieldbyname('stock_amount').AsString );
      end;
      f:=false;
    end;
    if f then
    begin
      for p:=1 to dbgrids.FieldCount-1 do
      begin
        j:=gridbases.ColCount-1;
        c:=0;
        if (trim(Gridbases.Cells[1,m])<>'') and (trim(Gridbases.Cells[2,m])<>'') and (trim(Gridbases.Cells[3,m])<>'') and (trim(gridbases.Cells[4,m])<>'') then
        begin
          for d:=1 to j do
          begin
            if trim(Gridbases.Cells[d,0])=trim(cdssoft.fieldbyname('storage_no').AsString+'仓库') then
            begin
              c:=d;
            end;
          end;
        end;
        if c=0 then
        begin
         c:=p;
        end ;
        Gridbases.Cells[c,m]:=trim(dbgrids.Fields[p].AsString);
      end;
      inc(m);
    end;
   cdssoft.Next;
  end;
  //////////////////////////////
  m:=0; //清除空白项
  for i:=1 to gridbases.RowCount-1 do
  begin
    if trim(gridbases.Cells[1,i])='' then inc(m);
  end;
  gridbases.RowCount:=gridbases.RowCount-m;

end;

procedure tfmWldwStaff.inistringgrid(Gridbases: TStringGrid;db:tdbgrid;visible:boolean);
var
  i:integer;
begin
  if visible then
  begin
    cleardata(Gridbases);
  end;
  Gridbase.Visible:=visible;
  if gridbases.ColCount<= db.Columns.Count then
  begin
    gridbases.ColCount:=db.Columns.Count;
  end;
  gridbases.ColWidths[0]:=-1;
  for i:=1 to db.Columns.Count-1 do
  begin
    if  dbgrid1.Columns[i].Visible then
    begin
      gridbases.ColWidths[i]:=db.Columns[i].Width;
    end else
    begin
      gridbases.ColWidths[i]:=-1;
    end;
    if trim(db.Columns.Items[i].Title.Caption)<>'商品数量' then
    begin
      gridbases.cells[i,0]:=trim(db.Columns[i].Title.Caption);
    end else
    begin
      gridbases.cells[i,0]:=trim(cdssoft.fieldbyname('storage_no').AsString)+'仓库';
    end;
  end;
  readdata(Gridbases,db);
end;


procedure TfmWldwStaff.cleardata(gridbases:tstringgrid);
var
  i:integer;
begin
  for i:=1 to Gridbases.RowCount-1 do
  begin
    Gridbases.Rows[i].Clear;
  end;
  Gridbases.RowCount:=2;
  for i:=0 to Gridbases.ColCount-1 do
  begin
    Gridbases.cols[i].Clear;
  end;
  Gridbases.ColCount:=2;
end;

procedure TfmWldwStaff.PrintGrid(Sgrid:tstringgrid);
begin
  if trim(Sgrid.Cells[1,Sgrid.RowCount-1])<>'' then
  begin
    fastrepxf:=tfastrepxf.Create(self);
    fastrepxf.filenames:='GeherGoods.ini';
    //fastrepxf.RepSGrid.RangeEnd := reCount;
    GetCopyGrid(fastrepxf.SGridData,Sgrid);
    fastrepxf.SGridData.Enabled:=true;
    fastrepxf.ShowModal;
    fastrepxf.Free;
  end;
end;
/////////////////////////////////
procedure TfmWldwStaff.BitBtn7Click(Sender: TObject);
begin
  inherited;
  close;
end;

procedure TfmWldwStaff.BitBtn2Click(Sender: TObject);
begin
  inherited;
   with TfmSetColumn.Create(Self) do
  try
    showmodal;
  finally
    free;
  end;
  if pagec1.ActivePageIndex=0 then
  begin
    if gridbase.Visible then
    begin
      inistringgrid(gridbase,dbgrid1,true);
    end;
  end;
  if pagec1.ActivePageIndex=1 then
  begin
    if gridback.Visible then
    begin
      inistringgrid(gridback,dbgrid2,true);
    end;
  end;
end;

procedure TfmWldwStaff.BitBtn3Click(Sender: TObject);
var
 p:Tpoint;
begin
  inherited;
  GetCursorPos(P);
  BitBtn3MouseDown(sender,mbLeft,[ssLeft],p.X,p.Y);
end;

procedure TfmWldwStaff.BitBtn3MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
 p:Tpoint;
begin
  inherited;
  GetCursorPos(P);
  PopupMenu2.Popup(P.x,P.y);

end;

procedure TfmWldwStaff.BitBtn5Click(Sender: TObject);
begin
  inherited;
  label2.Caption:='---销售分布';
end;

procedure TfmWldwStaff.N3Click(Sender: TObject);
var
  sql:widestring;
  datas:olevariant;
begin
  inherited;
  IF PAGEC1.ActivePageIndex =0 THEN
  BEGIN
    dbgCur:=dbgrid1;
    if gridbase.Visible then
    begin
      gridbase.Visible:=false;
      dbgrid1.Visible:=true;
    end else
    begin
      gridbase.Visible:=false;
      dbgrid1.Visible:=true;
    end;
  END;
  IF PAGEC1.ActivePageIndex =1 THEN
  BEGIN
    dbgCur:=dbgrid2;
    if gridbaCK.Visible then
    begin
      gridbACK.Visible:=false;
      dbgrid2.Visible:=true;
    end else
    begin
      gridbaCK.Visible:=false;
      dbgrid2.Visible:=true;
    end;
  END;
end;

procedure TfmWldwStaff.FormShow(Sender: TObject);
var
  t_sql:string;
  datas:olevariant;
begin
  inherited;
  t_sql:='select * from  [goods_type]';
  GetDataToComBoX(cbtype,t_sql,'type');
  cmbtype.Items:=cbtype.Items;//
  cbtype.ItemIndex := -1;
  cmbtop.ItemIndex:=0;
  if TabGoods.TabVisible then
  begin
    pagec1.ActivePageIndex:=0;
  end else
  begin
    dbgCur:=dbgrid3;
  end;
  dtpbegin.Date:=date-30;
  dtpend.Date:=date;
  dtpinputb.Date:= dtpbegin.Date;
  dtpinpute.Date:= dtpend.Date;
  dtpcancelb.Date:= dtpbegin.Date;
  dtpcancele.Date:= dtpend.Date;
  tempsql:=' select top '+trim(cmbtop.Text);
 ///////////////////////////////
  cmbmstorage.Items.Add('本仓库'+shopid);
   ////////////////是否为总仓库

⌨️ 快捷键说明

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