unit U_BpJylist; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, ToolWin, StdCtrls, ExtCtrls, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxButtonEdit, cxDropDownEdit, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, DBClient, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, cxCheckBox; type TfrmBpJylist = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBExport: TToolButton; TBPrint: TToolButton; TBClose: TToolButton; Panel1: TPanel; Label1: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1P_CodeName: TcxGridDBColumn; v1P_SPEC: TcxGridDBColumn; v1P_MF: TcxGridDBColumn; v1P_KZ: TcxGridDBColumn; v1RollNum: TcxGridDBColumn; v1Qty: TcxGridDBColumn; v1QtyUnit: TcxGridDBColumn; v1Note: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; v1CRTime: TcxGridDBColumn; Label2: TLabel; Label3: TLabel; Label4: TLabel; MJstr7: TEdit; MPrtSpec: TEdit; CRType: TComboBox; Label5: TLabel; ADOQueryCmd: TADOQuery; ADOQueryTmp: TADOQuery; DataSource1: TDataSource; CDS_Main: TClientDataSet; cxGridPopupMenu1: TcxGridPopupMenu; TOk: TToolButton; v1Ssel: TcxGridDBColumn; CheckBox1: TCheckBox; v1MJID: TcxGridDBColumn; v1MJXH: TcxGridDBColumn; v1CPType: TcxGridDBColumn; ckName: TComboBox; Label6: TLabel; v1P_Color: TcxGridDBColumn; v1P_Code: TcxGridDBColumn; Label7: TLabel; MPrtCode: TEdit; begTime: TDateTimePicker; endTime: TDateTimePicker; CheckBox2: TCheckBox; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormDestroy(Sender: TObject); procedure MJstr7Change(Sender: TObject); procedure FormShow(Sender: TObject); procedure FormCreate(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure TBPrintClick(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TOkClick(Sender: TObject); procedure CheckBox2Click(Sender: TObject); private procedure InitGrid(); procedure SetComboBox(); { Private declarations } public fType:integer; fCKName:string; { Public declarations } end; var frmBpJylist: TfrmBpJylist; implementation uses U_DataLink,U_Fun10,U_ZDYHelp, U_BpRk; {$R *.dfm} procedure TfrmBpJylist.SetComboBox(); begin ckName.Items.Clear; with adoQueryTmp do begin close; sql.Clear; sql.Add('select * from KH_ZDY where Type=''CPCK'' '); if trim(fCKName)<>'' then sql.Add('and zdyName='+quotedstr(trim(fCKName))); open; while not eof do begin ckName.Items.Add(trim(fieldbyname('zdyName').AsString)); next; end; end; if ckName.Items.Count>0 then ckName.ItemIndex:=0; CRType.Items.Clear; CRType.Items.Add(''); with adoQueryTmp do begin close; sql.Clear; sql.Add('select * from KH_ZDY where Type=''CPRKTYPE'''); if trim(fCKName)<>'' then sql.Add('and note='+quotedstr(trim(fCKName))); open; while not eof do begin CRType.Items.Add(trim(fieldbyname('zdyName').AsString)); next; end; end; if CRType.Items.Count>0 then CRType.ItemIndex:=0; end; procedure TfrmBpJylist.InitGrid(); var mBegdate,mEnddate:string; begin mbegdate:=FormatDateTime('yyyy-MM-dd',begdate.Date)+' '+FormatDateTime('HH:nn',begTime.Time); menddate:=FormatDateTime('yyyy-MM-dd',enddate.Date)+' '+FormatDateTime('HH:nn',endTime.Time); try with adoqueryTmp do begin close; sql.Clear; sql.Add('select A.*,B.MPrtCode,MPrtCodeName=A.MJStr7,B.MPrtSpec from WFB_MJJY A'); sql.Add('INNER JOIN JYOrder_main B on B.MainID=A.mainID '); sql.Add('where A.MJstr2=''未入库'''); if begdate.Checked then sql.Add('and A.FillTime>='''+trim(mbegdate)+''' '); if enddate.Checked then sql.Add('and A.FillTime<'''+trim(menddate)+''' '); if not CheckBox1.Checked then // sql.Add('and (RollNum<>0 or qty<>0 ) '); { if trim(FckName)<>'' then sql.Add('and ckName='+quotedstr(trim(FckName)) ); } open; end; SCreateCDS20(adoqueryTmp,CDS_Main); SInitCDSData20(adoqueryTmp,CDS_Main); finally end; end; procedure TfrmBpJylist.FormClose(Sender: TObject; var Action: TCloseAction); begin writeCxGrid(self.Caption,Tv1,'成品仓库'); if fType=10 then Action:=cahide else Action:=cafree; end; procedure TfrmBpJylist.FormDestroy(Sender: TObject); begin frmBpJylist:=nil; end; procedure TfrmBpJylist.MJstr7Change(Sender: TObject); begin if ADOQueryTmp.Active=False then Exit; SDofilter(ADOQueryTmp,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryTmp,CDS_Main); SInitCDSData20(ADOQueryTmp,CDS_Main); end; procedure TfrmBpJylist.FormShow(Sender: TObject); begin if fType=10 then begin TOk.Visible:=true; v1Ssel.Visible:=true; end; TOk.Visible:=true; v1Ssel.Visible:=true; readCxGrid(self.Caption,Tv1,'成品仓库'); SetComboBox(); InitGrid(); end; procedure TfrmBpJylist.FormCreate(Sender: TObject); begin BegDate.Date:=DServerDate-7; EndDate.Date:=DServerDate; cxGrid1.Align:=alclient; end; procedure TfrmBpJylist.TBCloseClick(Sender: TObject); begin close; end; procedure TfrmBpJylist.TBRafreshClick(Sender: TObject); begin initGrid(); end; procedure TfrmBpJylist.TBPrintClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; TcxGridToExcel(self.Caption,cxgrid1); end; procedure TfrmBpJylist.TBExportClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; TcxGridToExcel(self.Caption,cxgrid1); end; procedure TfrmBpJylist.TOkClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; ModalResult:=1; end; procedure TfrmBpJylist.CheckBox2Click(Sender: TObject); begin with CDS_Main do begin DisableControls; First; while not eof do begin edit; fieldbyname('Ssel').Value:=checkbox2.Checked; post; next; end; First; EnableControls; end; end; end.