unit U_TradeSalesContractSel2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ToolWin, ComCtrls, U_BaseHelp, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGrid, DBClient, ADODB, ImgList, StdCtrls, ExtCtrls, cxTextEdit, cxGridCustomPopupMenu, cxGridPopupMenu, cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore, dxSkinsDefaultPainters, cxNavigator, dxDateRanges, dxBarBuiltInMenu, System.ImageList, U_BaseInput, cxButtonEdit, cxDropDownEdit, cxCheckBox, Vcl.Menus; type TfrmTradeSalesContractSel2 = class(TfrmBaseHelp) ToolBar1: TToolBar; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; DS_1: TDataSource; CDS_1: TClientDataSet; TBSave: TToolButton; TBClose: TToolButton; ToolButton1: TToolButton; ADOConnection1: TADOConnection; Panel1: TPanel; Label1: TLabel; ConNo: TEdit; GPM_1: TcxGridPopupMenu; ImageList1: TImageList; cxStyleRepository1: TcxStyleRepository; cxStyle1: TcxStyle; cxGrid1: TcxGrid; TV1: TcxGridDBTableView; VC_SCSCode: TcxGridDBColumn; cxGridDBColumn2: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; cxGridDBColumn4: TcxGridDBColumn; cxGridDBColumn5: TcxGridDBColumn; cxGridDBColumn6: TcxGridDBColumn; cxGridDBColumn7: TcxGridDBColumn; cxGridDBColumn8: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1PRTOrderQty: TcxGridDBColumn; v1OrderUnit: TcxGridDBColumn; v1Column2: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; TV1Column1: TcxGridDBColumn; TV1Column3: TcxGridDBColumn; TV1Column5: TcxGridDBColumn; TV1Column6: TcxGridDBColumn; ThreeColorBase: TcxStyleRepository; SHuangSe: TcxStyle; SkyBlue: TcxStyle; Default: TcxStyle; QHuangSe: TcxStyle; Red: TcxStyle; FontBlue: TcxStyle; TextSHuangSe: TcxStyle; FonePurple: TcxStyle; FoneClMaroon: TcxStyle; FoneRed: TcxStyle; RowColor: TcxStyle; handBlack: TcxStyle; cxBlue: TcxStyle; SHuangSeCu: TcxStyle; TV1Column7: TcxGridDBColumn; PM_1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; Label2: TLabel; C_Name: TEdit; Label3: TLabel; BuyName: TEdit; TV1Column2: TcxGridDBColumn; TV1Column4: TcxGridDBColumn; TV1Column8: TcxGridDBColumn; Label4: TLabel; Label5: TLabel; SellName: TEdit; BuyConNo: TEdit; Label6: TLabel; C_Code: TEdit; Label7: TLabel; Edit1: TEdit; Label8: TLabel; C_Color: TEdit; Label9: TLabel; C_KnitGramWeight: TEdit; Label10: TLabel; C_GramWeight: TEdit; Label11: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; Label12: TLabel; ToolButton2: TToolButton; TV1Column9: TcxGridDBColumn; procedure FormCreate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormShow(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure TBSaveClick(Sender: TObject); procedure TV1DblClick(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure ConNoChange(Sender: TObject); procedure ToolButton2Click(Sender: TObject); private procedure InitGrid(); { Private declarations } public FCoType, FAuthority, FLenUnit, FGrade, FBuyName: string; { Public declarations } end; var frmTradeSalesContractSel2: TfrmTradeSalesContractSel2; implementation uses U_DataLink, U_RTFun; {$R *.dfm} procedure TfrmTradeSalesContractSel2.FormCreate(Sender: TObject); begin inherited; try with ADOConnection1 do begin Connected := false; ConnectionString := DConString; Connected := true; end; ADOQueryBaseCmd.Connection := ADOConnection1; ADOQueryBaseTemp.Connection := ADOConnection1; except application.MessageBox('网络连接失败!', '提示信息'); end; end; procedure TfrmTradeSalesContractSel2.ConNoChange(Sender: TObject); begin if ADOQueryMain.Active = False then Exit; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, CDS_1); SInitCDSData(ADOQueryMain, CDS_1); end; procedure TfrmTradeSalesContractSel2.FormClose(Sender: TObject; var Action: TCloseAction); begin ConNo.SetFocus; Action := cahide; end; procedure TfrmTradeSalesContractSel2.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; sql.Clear; sql.Add('select A.*,B.* '); sql.Add(',KCPS=(select count(*) from Trade_Cloth_Stock X where X.StkExists =1 and X.ConSId = B.ConSID ) '); if trim(FLenUnit) = 'M' then begin sql.Add(',KCQty=(select sum(StkMeter) from Trade_Cloth_Stock X where X.StkExists =1 and X.ConSId = B.ConSID) '); end else if trim(FLenUnit) = 'Y' then begin sql.Add(',KCQty=(select sum(StkYardage) from Trade_Cloth_Stock X where X.StkExists =1 and X.ConSId = B.ConSID) '); end else if trim(FLenUnit) = 'KG' then begin sql.Add(',KCQty=(select sum(StkYardage) from Trade_Cloth_Stock X where X.StkExists =1 and X.ConSId = B.ConSID) '); end else if trim(FLenUnit) = 'Roll' then begin sql.Add(',KCQty=(select count(*) from Trade_Cloth_Stock X where X.StkExists =1 and X.ConSId = B.ConSID) '); end; sql.Add('from BS_Contract_Main A inner join BS_Contract_Sub B on A.ConMId=B.ConMId '); sql.Add(' where isnull(A.status,''0'')=''9'' and ConUnit =''' + trim(FLenUnit) + ''''); sql.Add(' and ConDate>=''' + FormatDateTime('yyyy-MM-dd', begdate.DateTime) + ''' '); sql.Add(' and ConDate<''' + FormatDateTime('yyyy-MM-dd', Enddate.DateTime + 1) + ''' '); if trim(FAuthority) <> '管理' then begin sql.Add(' and A.Saleser=''' + trim(DName) + ''''); end; // ShowMessage(sql.text); Open; end; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, CDS_1); SInitCDSData(ADOQueryMain, CDS_1); finally ADOQueryMain.EnableControls; end; end; procedure TfrmTradeSalesContractSel2.N1Click(Sender: TObject); begin SelOKNo(CDS_1, True); end; procedure TfrmTradeSalesContractSel2.N2Click(Sender: TObject); begin SelOKNo(CDS_1, False); end; procedure TfrmTradeSalesContractSel2.FormShow(Sender: TObject); begin inherited; EndDate.DateTime := SGetServerDate(ADOQueryTemp); BegDate.DateTime := EndDate.DateTime - 60; InitGrid(); ReadCxGrid(Trim(self.Caption), TV1, '自定义数据'); end; procedure TfrmTradeSalesContractSel2.TBCloseClick(Sender: TObject); begin inherited; Close; end; procedure TfrmTradeSalesContractSel2.TBSaveClick(Sender: TObject); begin WriteCxGrid(Trim(self.Caption), TV1, '自定义数据'); end; procedure TfrmTradeSalesContractSel2.ToolButton1Click(Sender: TObject); begin ConNo.SetFocus; FBuyName := ''; with CDS_1 do begin CDS_1.Locate('SSel', true, []); FBuyName := Trim(CDS_1.fieldbyname('BuyName').AsString); while not Eof do begin if CDS_1.FieldByName('SSel').AsBoolean = True then begin if FBuyName <> Trim(CDS_1.fieldbyname('BuyName').AsString) then begin Application.MessageBox('不能选择多个客户!', '提示', 0); exit; end; end; CDS_1.Next; end; end; ModalResult := 1; end; procedure TfrmTradeSalesContractSel2.ToolButton2Click(Sender: TObject); begin InitGrid(); end; procedure TfrmTradeSalesContractSel2.TV1DblClick(Sender: TObject); begin ModalResult := 1; end; procedure TfrmTradeSalesContractSel2.FormDestroy(Sender: TObject); begin inherited; frmTradeSalesContractSel2 := nil; end; end.