unit U_CKProductCKHZList; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView, cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient, cxDropDownEdit, MovePanel, cxButtonEdit, cxCalendar; type TfrmCKProductCKHZList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBExport: TToolButton; TBPrint: TToolButton; TBClose: TToolButton; Panel1: TPanel; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; cxGridPopupMenu1: TcxGridPopupMenu; Label1: TLabel; Label2: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; CDS_Main: TClientDataSet; Label8: TLabel; MPRTKZ: TEdit; Label9: TLabel; MPRTMF: TEdit; Label7: TLabel; CPType: TComboBox; MovePanel2: TMovePanel; Label10: TLabel; Label11: TLabel; Label12: TLabel; YWY: TEdit; OrdPerson1: TEdit; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v1Column3: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column12: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v2Column5: TcxGridDBColumn; v1Column11: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; orderNo: TEdit; Label5: TLabel; Label3: TLabel; MPRTCodeName: TEdit; Label6: TLabel; PRTColor: TEdit; Label13: TLabel; MJstr4: TEdit; Panel4: TPanel; Label4: TLabel; Panel10: TPanel; Image2: TImage; RichEdit1: TRichEdit; v1Column2: TcxGridDBColumn; conNo: TEdit; Label14: TLabel; v1ConNO: TcxGridDBColumn; v1Column10: TcxGridDBColumn; KHCONNO: TEdit; Label15: TLabel; v1Column9: TcxGridDBColumn; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ConNoMChange(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure MPRTCodeNameChange(Sender: TObject); procedure v1Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure PRTColorChange(Sender: TObject); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image2Click(Sender: TObject); private FLeft,FTop:Integer; procedure InitGrid(); { Private declarations } public { Public declarations } end; var frmCKProductCKHZList: TfrmCKProductCKHZList; implementation uses U_DataLink,U_Fun,U_ZDYHelp; {$R *.dfm} procedure TfrmCKProductCKHZList.FormDestroy(Sender: TObject); begin frmCKProductCKHZList:=nil; end; procedure TfrmCKProductCKHZList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmCKProductCKHZList.FormCreate(Sender: TObject); begin //cxGrid1.Align:=alClient; BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp); EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp) end; procedure TfrmCKProductCKHZList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; sql.Clear; Filtered:=False; sql.Add('select convert(char(10),A.CRTime,120) as CRTime,A.CPType,A.MainId,A.QtyUnit,B.Mjstr4,C.OrderNo,C.conNO,C.MPRTCodeName,D.PrtColor,D.PrtHX,D.SOrddefstr4, '); sql.Add('count(A.MainId) as JQty,SUM(A.Qty) as Qty,SUM(A.KGQty) as KGQty,SUM(B.MJQty4) as MJQty4,'); sql.Add('khconNO=(select top 1 khconNo from JYOrderCon_Main X where X.conNO=C.conNO)'); sql.Add('from CK_BanCP_CR A '); sql.Add('inner join WFB_MJJY B on B.MJID=A.MJID'); sql.Add('inner join JYOrder_Main C on C.MainId=A.MainId '); sql.Add('inner join JYOrder_sub D on D.subID=A.subID '); Sql.add('where A.CRTime>='''+formatdateTime('yyyy-MM-dd',begdate.Date)+''' '); Sql.add('and A.CRTime<'''+formatdateTime('yyyy-MM-dd',enddate.Date+1)+''' '); Sql.add('and A.CRFlag=''出库'' '); Sql.add('group by convert(char(10),A.CRTime,120),A.CPType,A.MainId,A.QtyUnit,B.Mjstr4,C.OrderNo,C.conNO,C.MPRTCodeName,D.PrtColor,D.PrtHX,D.SOrddefstr4'); Open; //ShowMessage(SQL.Text); end; SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmCKProductCKHZList.TBRafreshClick(Sender: TObject); begin //BegDate.SetFocus; MovePanel2.Visible:=True; MovePanel2.Refresh; InitGrid(); MovePanel2.Visible:=False; end; procedure TfrmCKProductCKHZList.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); end; end; procedure TfrmCKProductCKHZList.TBCloseClick(Sender: TObject); begin WriteCxGrid(self.Caption+tv1.Name,Tv1,'成品仓库'); Close; end; procedure TfrmCKProductCKHZList.FormShow(Sender: TObject); begin ReadCxGrid(self.Caption+tv1.Name,Tv1,'成品仓库'); if Trim(DParameters2)='管理' then begin //v1Column5.Options.Focusing:=True; end else begin //v1Column5.Options.Focusing:=False; end; //InitGrid(); end; procedure TfrmCKProductCKHZList.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then exit; TcxGridToExcel('库存汇总列表',cxGrid2); end; procedure TfrmCKProductCKHZList.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); end; end; procedure TfrmCKProductCKHZList.MPRTCodeNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmCKProductCKHZList.v1Column5PropertiesButtonClick( Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='SOrdDefStr10'; flagname:='库存存放地点'; if ShowModal=1 then begin with CDS_Main do begin Edit; FieldByName('SOrdDefStr10').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update JYOrder_Sub Set SOrdDefStr10='''+Trim(ClientDataSet1.fieldbyname('ZdyName').AsString)+''''); sql.Add(' where SubId='''+Trim(Self.CDS_Main.fieldbyname('SubId').AsString)+''''); ExecSQL; end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmCKProductCKHZList.PRTColorChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmCKProductCKHZList.Tv1CellDblClick( Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin Panel4.Left:=FLeft; Panel4.Top:=FTop+110; Panel4.Visible:=True; Panel10.Caption:=Trim(TV1.Controller.FocusedColumn.Caption); RichEdit1.Text:=CDS_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString; application.ProcessMessages; end; procedure TfrmCKProductCKHZList.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin FLeft:=X; FTop:=Y; end; procedure TfrmCKProductCKHZList.Image2Click(Sender: TObject); begin Panel4.Visible:=False; end; end.