unit U_CLManage; 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, cxCheckBox, RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, Menus, cxCalendar, cxButtonEdit, cxTextEdit, cxPC, BtnEdit; type TfrmCLManage = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBExport: TToolButton; TBClose: TToolButton; Panel1: TPanel; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; cxGridPopupMenu1: TcxGridPopupMenu; CDS_Main: TClientDataSet; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; RMXLSExport1: TRMXLSExport; RMDBHZ: TRMDBDataSet; CDS_HZ: TClientDataSet; CDS_PRT: TClientDataSet; TBDel: TToolButton; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; TBAdd: TToolButton; TBEdit: TToolButton; Label4: TLabel; Label5: TLabel; CLName: TEdit; FactoryName: TEdit; Label6: TLabel; CLXNo: TEdit; Label3: TLabel; CheHao: TEdit; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v1DJDate: TcxGridDBColumn; v1CRType: TcxGridDBColumn; v1FactoryName: TcxGridDBColumn; v1CLName: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; v1CLXNo: TcxGridDBColumn; v1JPSpec: TcxGridDBColumn; Label1: TLabel; Label2: TLabel; JPSpec: TEdit; Label7: TLabel; CRType: TEdit; v1CheHao: TcxGridDBColumn; v1CLNote: TcxGridDBColumn; ToolButton1: TToolButton; TSsel: TToolButton; cxTabControl1: TcxTabControl; TCK: TToolButton; v1CKType: TcxGridDBColumn; Panel2: TPanel; Label8: TLabel; CKType: TBtnEditA; v1CPNo: 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 N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure TBDelClick(Sender: TObject); procedure TBAddClick(Sender: TObject); procedure TBEditClick(Sender: TObject); procedure FactoryNameKeyPress(Sender: TObject; var Key: Char); procedure FactoryNameChange(Sender: TObject); procedure SPSpecChange(Sender: TObject); procedure CLNameChange(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure TSselClick(Sender: TObject); procedure TCKClick(Sender: TObject); procedure CKTypeBtnClick(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); private canshu1,canshu2,canshu3:string; procedure InitGrid(); procedure setstatus(); { Private declarations } public { Public declarations } end; var frmCLManage: TfrmCLManage; implementation uses U_DataLink,U_RTFun,U_SXCKInPut, U_JGSXCKInPut,U_CLXX_Sub, U_ZDYHelp; {$R *.dfm} procedure TfrmCLManage.setstatus(); begin end; procedure TfrmCLManage.FormDestroy(Sender: TObject); begin frmCLManage:=nil; end; procedure TfrmCLManage.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmCLManage.FormCreate(Sender: TObject); begin //cxGrid1.Align:=alClient; canshu1:=Trim(DParameters1); canshu2:=Trim(DParameters2); canshu3:=Trim(DParameters3); end; procedure TfrmCLManage.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add(' select A.* '); sql.Add(',MJLCQty=LCQty+isnull((select Sum(GLQty*CLQty) from CK_CP_CR B where B.CPNo=A.CPNo),0)'); sql.Add(' from CLXX_Main A'); if cxTabControl1.TabIndex=0 then sql.Add(' where isnull(CLStatus,'''')='''''); if cxTabControl1.TabIndex=1 then sql.Add(' where isnull(CLStatus,'''')=''1'''); SQL.Add(' order by A.DJDate desc'); Open; end; SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmCLManage.TBRafreshClick(Sender: TObject); begin ToolBar1.SetFocus; InitGrid(); end; procedure TfrmCLManage.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); end; end; procedure TfrmCLManage.TBCloseClick(Sender: TObject); begin WriteCxGrid('车辆列表FM2',Tv1,'车辆仓库'); Close; end; procedure TfrmCLManage.FormShow(Sender: TObject); begin ReadCxGrid('车辆列表FM2',Tv1,'车辆仓库'); //InitGrid(); end; procedure TfrmCLManage.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then exit; TcxGridToExcel('车辆列表',cxGrid2); end; procedure TfrmCLManage.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 TfrmCLManage.N1Click(Sender: TObject); begin SelOKNo(CDS_Main,True); end; procedure TfrmCLManage.N2Click(Sender: TObject); begin SelOKNo(CDS_Main,False); end; procedure TfrmCLManage.TBDelClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; if Application.MessageBox('确定要删除吗?','提示',32+4)<>IDYES then Exit; try ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add(' delete from CLXX_Main where CLID='''+Trim(CDS_Main.fieldbyname('CLID').AsString)+''''); ExecSQL; end; ADOQueryCmd.Connection.CommitTrans; CDS_Main.Delete; except ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('操作异常!','提示',0); end; end; procedure TfrmCLManage.TBAddClick(Sender: TObject); begin try frmCLXX_Sub:=TfrmCLXX_Sub.Create(Application); with frmCLXX_Sub do begin FBCId:=''; if ShowModal=1 then begin Self.InitGrid(); end; end; finally frmCLXX_Sub.Free; end; end; procedure TfrmCLManage.TBEditClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; try frmCLXX_Sub:=TfrmCLXX_Sub.Create(Application); with frmCLXX_Sub do begin FBCId:=Trim(CDS_Main.fieldbyname('CLID').AsString); if ShowModal=1 then begin Self.InitGrid(); end; end; finally frmCLXX_Sub.Free; end; end; procedure TfrmCLManage.FactoryNameKeyPress(Sender: TObject; var Key: Char); begin if Key=#13 then begin end; end; procedure TfrmCLManage.FactoryNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmCLManage.SPSpecChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmCLManage.CLNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmCLManage.ToolButton1Click(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; if cxTabControl1.TabIndex<>1 then exit; if Application.MessageBox('确定要撤销吗?','提示',32+4)<>IDYES then Exit; try ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add(' update CLXX_Main set CLStatus='''',CKType='''',CLDate=NULL where CLID='''+Trim(CDS_Main.fieldbyname('CLID').AsString)+''''); ExecSQL; end; ADOQueryCmd.Connection.CommitTrans; CDS_Main.Delete; except ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('操作异常!','提示',0); end; end; procedure TfrmCLManage.TSselClick(Sender: TObject); begin if CDS_Main.IsEmpty then exit; Modalresult:=1; end; procedure TfrmCLManage.TCKClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; if cxTabControl1.TabIndex<>0 then exit; if CKType.Text='' then begin application.MessageBox('出库类型不能为空','提示'); exit; end; if Application.MessageBox('确定要撤销吗?','提示',32+4)<>IDYES then Exit; try ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add(' update CLXX_Main set CLStatus=''1'',CKType='''+trim(CKType.Text)+''',CLDate=getdate() where CLID='''+Trim(CDS_Main.fieldbyname('CLID').AsString)+''''); ExecSQL; end; ADOQueryCmd.Connection.CommitTrans; CDS_Main.Delete; except ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('操作异常!','提示',0); end; end; procedure TfrmCLManage.CKTypeBtnClick(Sender: TObject); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='CKType'; flagname:='出库类型'; if ShowModal=1 then begin CKType.Text:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmCLManage.cxTabControl1Change(Sender: TObject); begin setstatus(); InitGrid(); end; end.