unit U_Bpkcsumlist; 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 TfrmBpkcsumlist = 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; cxGrid1Level1: TcxGridLevel; Label2: TLabel; Label3: TLabel; Label4: TLabel; P_Code: TEdit; P_spec: TEdit; CRType: TComboBox; Label5: TLabel; ADOQueryCmd: TADOQuery; ADOQueryTmp: TADOQuery; DataSource1: TDataSource; CDS_Main: TClientDataSet; cxGridPopupMenu1: TcxGridPopupMenu; TOk: TToolButton; v1Ssel: TcxGridDBColumn; CheckBox1: TCheckBox; ckName: TComboBox; Label6: TLabel; v1Column1: TcxGridDBColumn; v1P_Code: TcxGridDBColumn; P_CodeName: TEdit; Label7: TLabel; kuwei: TEdit; Label8: TLabel; v1Column3: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column2: TcxGridDBColumn; Label9: TLabel; Edit1: TEdit; Label10: TLabel; v1factoryName: TcxGridDBColumn; v1defnote5: TcxGridDBColumn; CheckBox2: TCheckBox; v1kuwei: TcxGridDBColumn; ToolButton1: TToolButton; P_Color: TEdit; Label11: TLabel; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormDestroy(Sender: TObject); procedure P_CodeChange(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 CheckBox1Click(Sender: TObject); procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); procedure CheckBox2Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); private procedure InitGrid(); procedure SetComboBox(); { Private declarations } public fType:integer; fCKName:string; canshu2:string; { Public declarations } end; var frmBpkcsumlist: TfrmBpkcsumlist; implementation uses U_DataLink,U_Fun10,U_ZDYHelp, U_BpRk; {$R *.dfm} procedure TfrmBpkcsumlist.SetComboBox(); begin ckName.Items.Clear; with adoQueryTmp do begin close; sql.Clear; sql.Add('select * from KH_ZDY where Type=''YPCK'' '); 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=''YPRKTYPE'''); 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; with adoqueryCmd do begin close; sql.Clear; sql.Add('select * from KH_Zdy where Type=''YPKCJYFLAG'''); open; IF not IsEmpty then Edit1.Text:=trim(fieldbyname('zdyName').AsString); end; end; procedure TfrmBpkcsumlist.InitGrid(); begin try with adoqueryTmp do begin close; sql.Clear; sql.Add('exec P_View_YpKc '); sql.Add('@begdate='''+formatdateTime('yyyy-MM-dd',begdate.DateTime)+''''); sql.Add(',@enddate='''+formatdateTime('yyyy-MM-dd',enddate.DateTime+1)+''''); if CheckBox1.Checked then sql.Add(',@iskc=''1'' ') else sql.Add(',@iskc=''0'' '); IF CheckBox2. Checked then sql.Add(',@isyj=''1'' ') else sql.Add(',@isyj=''0'' '); sql.Add(',@yjNum='''+trim(Edit1.text)+''' '); open; end; SCreateCDS20(adoqueryTmp,CDS_Main); SInitCDSData20(adoqueryTmp,CDS_Main); finally end; end; procedure TfrmBpkcsumlist.FormClose(Sender: TObject; var Action: TCloseAction); begin writeCxGrid(self.Caption,Tv1,'成品仓库'); if fType=10 then Action:=cahide else Action:=cafree; end; procedure TfrmBpkcsumlist.FormDestroy(Sender: TObject); begin frmBpkcsumlist:=nil; end; procedure TfrmBpkcsumlist.P_CodeChange(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 TfrmBpkcsumlist.FormShow(Sender: TObject); begin readCxGrid(self.Caption,Tv1,'成品仓库'); if fType=10 then begin TOk.Visible:=true; v1Ssel.Visible:=true; end; IF canshu2='业务员'then begin v1factoryName.Visible:=false; v1factoryName.Hidden:=true; end else begin v1factoryName.Visible:=true; v1factoryName.Hidden:=false; end; SetComboBox(); InitGrid(); end; procedure TfrmBpkcsumlist.FormCreate(Sender: TObject); begin BegDate.Date:=DServerDate-7; EndDate.Date:=DServerDate; cxGrid1.Align:=alclient; end; procedure TfrmBpkcsumlist.TBCloseClick(Sender: TObject); begin close; end; procedure TfrmBpkcsumlist.TBRafreshClick(Sender: TObject); begin initGrid(); end; procedure TfrmBpkcsumlist.TBPrintClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; TcxGridToExcel(self.Caption,cxgrid1); end; procedure TfrmBpkcsumlist.TBExportClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; TcxGridToExcel(self.Caption,cxgrid1); end; procedure TfrmBpkcsumlist.TOkClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; ModalResult:=1; end; procedure TfrmBpkcsumlist.CheckBox1Click(Sender: TObject); begin initgrid(); end; procedure TfrmBpkcsumlist.Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); begin IF AViewInfo.GridRecord.Values[tv1.GetColumnByFieldName('kcQty').Index]