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

📄 uordergoods.pas

📁 适合行业为眼镜业
💻 PAS
📖 第 1 页 / 共 2 页
字号:
  end;
   if cbmstorage.Checked then
  begin
    str1:=' (';
    i:=pos('仓库', trim(cmbmstorage.Text));
    if i>0 then
    begin
      str1:=str1+''''+copy(trim(cmbmstorage.Text),i+4,length(trim(cmbmstorage.Text)))+''''+',';
    end else
    begin
      str1:=str1+''''+trim(cmbmstorage.Text)+''''+',';
    end;
    zt:=true;
  end ;
  if cbstorages.Checked then
  begin
    if trim(cmbstorages.Text)<>'全部仓库' then
    begin
      if not zt then str1:=' (';
      str1:=str1+''''+trim(cmbstorages.Text)+''''+',';
    end else
    begin
      if not cbmstorage.Checked then str1:=' (';
      for j:=0 to cmbstorages.Items.Count-2 do
      begin
        i:=pos('仓库', trim(cmbstorages.Items.Strings[j]));
        if i>0 then
        begin
          str1:=str1+''''+copy(trim(cmbstorages.Items.Strings[j]),i+4,length(trim(cmbstorages.Items.Strings[j])))+''''+',';
        end else
        begin
          str1:=str1+''''+trim(cmbstorages.Items.Strings[j])+''''+',';
        end;
      end;
    end;
  end;
  if trim(str1)<>'' then
  begin
    str1:=copy(str1,1,length(str1)-1);
    str1:=str1+')';
    tj:=tj+'and storage_no in '+trim(str1);
  end;
  if ckbtype.Checked then tj:=tj+'and type='+''''+trim(cbtype.Text)+'''';
  if ckbbrand.Checked then tj:=tj+'and brand='+''''+trim(cbbrand.Text)+'''';
  if ckbbreed.Checked then tj:=tj+'and breed='+''''+trim(cbbreed.Text)+'''';
  if cbamount.Checked then tj:=tj+'and goods_no='+''''+trim(edtamount.Text)+'''';
  if cbball.Checked then tj:=tj+' and dball<='+trim(edtbbegin.Text)+' and dball>='+trim(edtbend.Text);
  if cbpoll.Checked then tj:=tj+' and dpoll<='+trim(edtpbegin.Text)+' and dpoll>='+trim(edtpend.Text);
  if cbnroms.Checked then tj:=tj+' and norms_type='+''''+trim(edtnorms.Text)+'''';
  if ckbnewdate.Checked then Qdate:=' and copy_date>='+''''+trim(formatdatetime('yyyy-mm-dd',dtpbegin.Date))+''''+' and copy_date <='+''''+trim(formatdatetime('yyyy-mm-dd',dtpend.Date))+'''';
  screen.Cursor :=  crHourGlass;
  if trim(qdate)<> '' then
  begin
    tables:='a.id,a.barcode,a.stock_amount,a.Base_Unit,a.provider, a.goods_no,a.goods_name,a.type,a.brand,a.breed,b.orderamount,a.dball,a.dpoll,a.norms_type,a.storage_no,a.storage_name from vselectgoods as a inner join'+
   '(select sum(a.goods_amount) as OrderAmount ,a.GOODS_NO from stock_contract_detail as a,stock_contract as b where  a.contract_no=b.contract_no'+Qdate+' group by a.goods_no) as b on b.goods_no=a.goods_no';
  end ;
  temp:=tempsql+tables+tj;
  try
    datas:=adisp.GetRecord(temp);
  except
    application.MessageBox('服务器发生故障!',pchar(application.Title),mb_iconwarning);
    screen.Cursor :=  crdefault;
    exit;
  end;
     ////////////////////////////////
  if  not varisnull(datas) then
  begin
  cdssort.Data:=datas;
  cdssort.Open;
  datas:=null;
  cdssort.Last;
  LocalCount := GetKeyFieldValue('id',cdssort);   //传入具体字段
  btnpagedown.Enabled:=true;
  with cdssort.IndexDefs.AddIndexDef do
  begin
    Fields := 'goods_no';  //
    Options := [];
  end;
  cdssort.IndexDefs.Update;
  cdssort.Open;
  //if trim(str1)<>'' then tj:=tj+str1;
  stringgrid1.Visible:=false;
  dbgrid1.Visible:=true;
  setdbgrid(dbgrid1,3);
  end;
  screen.Cursor :=  crdefault;
end;

procedure TfmOrderQuery.btnpagedownClick(Sender: TObject);
var
  temp:widestring;
  datas:oleVariant;
begin
  inherited;
  if not cdssort.Active then exit;
    screen.Cursor := crhourglass;
   cdssort.DisableControls;
  try
  temp:=tempsql+tables+tj+' and id>'+inttostr(localcount);
  datas:=null;
  try
  datas:=adisp.GetRecord(temp);
  except
    application.MessageBox('服务器发生故障!',pchar(application.Title),mb_iconwarning);
    screen.Cursor :=  crdefault;
    exit;
  end;
  if not varisnull(datas) then
  begin
    cdssort.Close;
    cdssort.Open;
    cdssort.AppendData(datas,true);
    datas:=null;
    cdssort.Last;
     LocalCount := GetKeyFieldValue('id',cdssort);   //传入具体字段
     ////////////////////////////////
    with cdssort.IndexDefs.AddIndexDef do
    begin
      Fields := 'goods_no';  //
      Options := [];
    end;
    cdssort.IndexDefs.Update;
    cdssort.Open;
  //////////////////////////////////////       dmmain.cdsquery.Last;
    //重新打开
      cdssort.EnableControls;
     setdbgrid(dbgrid1,3);
    end else
    begin
       //不再有数据
        cdssort.EnableControls;        //ydy  必须要
       btnpagedown.Enabled := false;
       screen.Cursor :=  crdefault;
      exit;
    end;
  except
  end;
  if stringgrid1.Visible then
  begin
    stringgrid1.RowCount:=2;
    redata;
  end;
  screen.Cursor :=  crdefault;
  btnpagedown.Enabled:=true;

end;

procedure TfmOrderQuery.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 TfmOrderQuery.BitBtn3Click(Sender: TObject);
var
 p:Tpoint;
begin
  inherited;
  GetCursorPos(P);
  BitBtn3MouseDown(sender,mbLeft,[ssLeft],p.X,p.Y);

end;

procedure TfmOrderQuery.N3Click(Sender: TObject);
begin
  inherited;
  dbgrid1.Visible:=true;
  stringgrid1.Visible:=false;
end;

procedure TfmOrderQuery.N4Click(Sender: TObject);
begin
  inherited;
  if not cdssort.Active then
  begin
     application.MessageBox('请先查询数据!',pchar(application.Title),mb_iconinformation);
     bitbtn1.SetFocus;
     exit;
  end;
  dbgrid1.Visible:=false;
  stringgrid1.Visible:=true;
  inistringgrid(true);
end;

procedure TfmOrderQuery.BitBtn7Click(Sender: TObject);
begin
  inherited;
  close;
end;

procedure TfmOrderQuery.StringGrid1DrawCell(Sender: TObject; ACol,
  ARow: Integer; Rect: TRect; State: TGridDrawState);
var
  s:string;
  r:TRect;
begin       
  inherited ;
  with Sender as Tstringgrid do
  begin
  if gdSelected in State then
  Canvas.Brush.Color:= clTeal; //clyellow;//clRed;
  Canvas.TextRect(Rect,Rect.Left,Rect.Top,' '+Cells[ACol,ARow]);
  if gdFocused in State then
  Canvas.DrawFocusRect(Rect);
  end;
  with Sender as Tstringgrid do
  begin
    Canvas.FillRect(Rect);
    s:=Cells[ACol,ARow];
    r:=Rect;
    DrawText(Canvas.Handle,PChar(s),Length(s),r,DT_CENTER or DT_SINGLELINE or DT_VCENTER);
  end;
  with sender as tstringgrid do
  begin
    FixedCols:=1;
  end;

end;

procedure TfmOrderQuery.cmbmstorageChange(Sender: TObject);
var
  t_sql:string;
begin
  inherited;
  t_sql:='select storageid from stock_manager where managerid='+''''+trim(copy(trim(cmbmstorage.Text),pos('仓库',trim(cmbmstorage.Text))+4,length(trim(cmbmstorage.Text))))+'''';
  GetDataToComBoX(cmbstorages,t_sql,'storageid');
  cmbstorages.Items.Add('全部仓库');
  cmbstorages.ItemIndex:=-1;

end;

procedure TfmOrderQuery.CBTypeChange(Sender: TObject);
var
  t_sql:string;
begin
  inherited;
  //if dmmain.cDSquery.Active then dmmain.cDSquery.Close;
  //调品牌
  t_sql:='select  distinct brand from  [goods_code] where type ='+''''+trim(cbtype.text)+'''';
  GetDataToComBoX(cbBrand,t_sql,'brand');
  cbBrand.ItemIndex := -1;
  cbbreed.Clear;

end;

procedure TfmOrderQuery.cbBrandChange(Sender: TObject);
var
  t_sql:string;
begin
  inherited;
  //调品种
  //if dmmain.cDSquery.Active then dmmain.cDSquery.Close;
  if cbtype.Text = '' then exit;
  t_sql:='select distinct breed  from  [goods_code] where brand ='+''''+trim(cbbrand.text)+'''' +' and type =' +''''+trim(cbtype.text)+'''';
  GetDataToComBoX(cbBreed,t_sql,'breed');
  cbBreed.ItemIndex := -1;

end;

procedure TfmOrderQuery.ckbtypeClick(Sender: TObject);
begin
  inherited;
  ckbcmb(ckbtype,cbtype);
  CBTypeChange(cbtype);
end;

procedure TfmOrderQuery.ckbbrandClick(Sender: TObject);
begin
  inherited;
   ckbcmb(ckbbrand,cbbrand);
   cbbrandchange(cbbrand);
end;

procedure TfmOrderQuery.ckbbreedClick(Sender: TObject);
begin
  inherited;
  ckbcmb(ckbbreed,cbbreed);
end;

procedure TfmOrderQuery.CbmstorageClick(Sender: TObject);
begin
  inherited;
   ckbcmb(cbmstorage,cmbmstorage);
end;

procedure TfmOrderQuery.cbstoragesClick(Sender: TObject);
begin
  inherited;
   ckbcmb(cbstorages,cmbstorages);
end;

procedure TfmOrderQuery.cbballClick(Sender: TObject);
begin
  inherited;
  ckbedits(cbball,EDTBBEGIN,edtbend);
end;

procedure TfmOrderQuery.cbamountClick(Sender: TObject);
begin
  inherited;
  ckbedit(cbamount,edtamount);
end;

procedure TfmOrderQuery.cbpollClick(Sender: TObject);
begin
  inherited;
  ckbedits(cbpoll,EDTpBEGIN,edtpend);
end;

procedure TfmOrderQuery.cbnromsClick(Sender: TObject);
begin
  inherited;
  ckbedit(cbnroms,edtnorms);
end;

procedure TfmOrderQuery.ckbnewDateClick(Sender: TObject);
begin
  inherited;
  ckbDtps(ckbnewdate,dtpbegin,dtpend);
end;

procedure TfmOrderQuery.btnprintClick(Sender: TObject);
begin
  inherited;
  if trim(stringgrid1.Cells[1,stringgrid1.RowCount-1])<>'' then
  begin
    fastrepxf:=tfastrepxf.Create(self);
    fastrepxf.filenames:='OrderGoods.ini';
    GetCopyGrid(fastrepxf.SGridData,stringgrid1);
    fastrepxf.SGridData.Enabled:=true;
    fastrepxf.ShowModal;
    fastrepxf.Free;
  end;
end;

procedure TfmOrderQuery.DBGrid1TitleClick(Column: TColumn);
begin
  inherited;
  if (not dbgrid1.DataSource.DataSet.Active ) then exit;
   if trim(column.Field.AsString)='' then exit;
   sortgrid(column.Field.FieldName,cdssort,dbgrid1,column);
end;

end.

⌨️ 快捷键说明

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