unit U_PBKcList; 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, RM_Common, RM_Class, RM_GridReport, RM_System, RM_Dataset, MMSystem, Menus, BtnEdit, RM_e_Xls; type TfrmPBKcList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBExport: TToolButton; TBClose: TToolButton; Panel1: TPanel; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1P_CodeName: TcxGridDBColumn; v1Qty: TcxGridDBColumn; v1QtyUnit: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; Label3: TLabel; CodeName: TEdit; ADOQueryCmd: TADOQuery; ADOQueryTmp: TADOQuery; DataSource1: TDataSource; CDS_Main: TClientDataSet; cxGridPopupMenu1: TcxGridPopupMenu; TOk: TToolButton; v1Ssel: TcxGridDBColumn; v1MJXH: TcxGridDBColumn; v1Column1: TcxGridDBColumn; Label7: TLabel; v1Column5: TcxGridDBColumn; TBPrint1: TToolButton; ADOQueryPrint: TADOQuery; RMDB_Main: TRMDBDataSet; RM1: TRMGridReport; v1Column8: TcxGridDBColumn; ADOQueryMain: TADOQuery; Code: TEdit; Label18: TLabel; Label31: TLabel; FactoryName: TEdit; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; ToolButton2: TToolButton; ToolButton1: TToolButton; v1Column2: TcxGridDBColumn; Label9: TLabel; Note: TEdit; EndDate: TDateTimePicker; v1Column7: TcxGridDBColumn; Label1: TLabel; v1Column9: TcxGridDBColumn; ToolButton3: TToolButton; kuwei: TBtnEditA; RMXLSExport1: TRMXLSExport; v1Column3: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column11: TcxGridDBColumn; v1Column12: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column13: TcxGridDBColumn; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormDestroy(Sender: TObject); procedure CodeNameChange(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TOkClick(Sender: TObject); procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure edtKuWeiBtnClick(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure TBPrint1Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure kuweiBtnClick(Sender: TObject); private procedure InitGrid(); procedure SetStatus(); { Private declarations } public fType: integer; fCKName, FZZType: string; { Public declarations } end; //var // frmPBKcList: TfrmPBKcList; implementation uses U_DataLink, U_Fun10, U_ZDYHelp; {$R *.dfm} procedure TfrmPBKcList.SetStatus(); begin TBPrint1.Visible := False; // if Trim(DParameters1)='高权限' then // begin // TBPrint1.Visible:=True; // end; if fType = 10 then begin TOk.Visible := true; v1Ssel.Visible := true; end; end; procedure TfrmPBKcList.InitGrid(); begin try with adoqueryMain do begin close; sql.Clear; sql.Add(' select A.* from CK_PB_KC A '); sql.Add(' where A.Qty<>0 and CKName=''坯布仓库'' '); if trim(FZZType) <> '全部' then sql.Add(' and ZZType=' + quotedstr(trim(FZZType))); open; end; SCreateCDS20(adoqueryMain, CDS_Main); SInitCDSData20(adoqueryMain, CDS_Main); finally end; end; procedure TfrmPBKcList.FormClose(Sender: TObject; var Action: TCloseAction); begin writeCxGrid(self.Caption + tv1.Name, Tv1, '面料仓库1'); if fType = 10 then Action := cahide else Action := cafree; end; procedure TfrmPBKcList.FormDestroy(Sender: TObject); begin // frmPBKcList:=nil; end; procedure TfrmPBKcList.CodeNameChange(Sender: TObject); begin if adoqueryMain.Active = False then Exit; SDofilter(adoqueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(adoqueryMain, CDS_Main); SInitCDSData20(adoqueryMain, CDS_Main); end; procedure TfrmPBKcList.FormShow(Sender: TObject); begin readCxGrid(self.Caption + tv1.Name, Tv1, '面料仓库1'); EndDate.DateTime := SGetServerDate10(ADOQueryTmp); SetStatus(); InitGrid(); end; procedure TfrmPBKcList.TBCloseClick(Sender: TObject); begin close; end; procedure TfrmPBKcList.TBRafreshClick(Sender: TObject); begin initGrid(); end; procedure TfrmPBKcList.TBExportClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; TcxGridToExcel(self.Caption, cxgrid1); end; procedure TfrmPBKcList.TOkClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; ModalResult := 1; end; procedure TfrmPBKcList.Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); begin if AViewInfo.GridRecord.Values[tv1.GetColumnByFieldName('isph').index] = '1' then ACanvas.Brush.Color := clred; end; procedure TfrmPBKcList.N1Click(Sender: TObject); begin SelOKNo(CDS_Main, true); end; procedure TfrmPBKcList.N2Click(Sender: TObject); begin SelOKNo(CDS_Main, false); end; procedure TfrmPBKcList.edtKuWeiBtnClick(Sender: TObject); begin // try // frmCPKWList:=TfrmCPKWList.Create(Application); // with frmCPKWList do // begin // if ShowModal=1 then // begin // edtKuWei.Text:=Trim(CDS_HZ.fieldbyname('ZdyCode').AsString); // edtKuweiName.Text:=Trim(CDS_HZ.fieldbyname('DEFstr1').AsString); // end; // end; // finally // frmCPKWList.Free; // end; end; procedure TfrmPBKcList.ToolButton2Click(Sender: TObject); begin if adoqueryMain.Active = False then Exit; SDofilter(adoqueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(adoqueryMain, CDS_Main); SInitCDSData20(adoqueryMain, CDS_Main); end; procedure TfrmPBKcList.ToolButton1Click(Sender: TObject); begin if Application.MessageBox('确定删除现有库存后重新生成库存么?', '提示', 32 + 4) <> IDYES then Exit; try with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('exec P_Up_FlKcAll '); ExecSQL; end; Application.MessageBox('重新生成库存成功!', '提示信息', 0); except Application.MessageBox('重新生成库存失败!', '提示信息', 0); end; end; procedure TfrmPBKcList.TBPrint1Click(Sender: TObject); var filepath: string; begin // with ADOQueryPrint do // begin // Close; // SQL.Clear; // SQL.Add('exec P_View_JCCWFJG '+quotedstr(Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime)))); // Open; // end; with ADOQueryPrint do begin Close; SQL.Clear; SQL.Add('exec P_View_JCCWFJGY @enddate=' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', EndDate.DateTime)))); SQL.Add(', @KuWei= ' + quotedstr(Trim(kuwei.Text))); SQL.Add(', @ReportFlag=''日'' '); Open; end; try filepath := ExtractFilePath(Application.ExeName) + 'report\外加工库存日报表.rmf'; if not FileExists(Pchar(filepath)) then begin application.MessageBox(pchar('文件[' + filepath + ']不存在!'), '提示信息', MB_IConError); exit; end; RM1.LoadFromFile(filepath); RM1.ShowReport; finally end; end; procedure TfrmPBKcList.ToolButton3Click(Sender: TObject); var filepath: string; begin with ADOQueryPrint do begin Close; SQL.Clear; SQL.Add('exec P_View_JCCWFJGY @enddate=' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', EndDate.DateTime)))); SQL.Add(', @KuWei= ' + quotedstr(Trim(kuwei.Text))); SQL.Add(', @ReportFlag=''月'' '); Open; end; try filepath := ExtractFilePath(Application.ExeName) + 'report\外加工库存月报表.rmf'; if not FileExists(Pchar(filepath)) then begin application.MessageBox(pchar('文件[' + filepath + ']不存在!'), '提示信息', MB_IConError); exit; end; RM1.LoadFromFile(filepath); RM1.ShowReport; finally end; end; procedure TfrmPBKcList.kuweiBtnClick(Sender: TObject); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'kuwei'; flagname := '库位'; if ShowModal = 1 then begin TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); ToolButton2.Click; end; end; finally frmZDYHelp.Free; end; end; end.