unit U_DJBRKList; 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, BtnEdit, cxPC; type TfrmDJBRKList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBExport: 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; 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; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label8: TLabel; SPName: TEdit; FactoryName: TEdit; SPID: TEdit; SPSpec: TEdit; Label6: TLabel; SPCF: TEdit; Label7: TLabel; OrderNo: TEdit; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v1Column6: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column13: TcxGridDBColumn; v1Column14: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column11: TcxGridDBColumn; v1Column9: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1Column16: TcxGridDBColumn; v1Column12: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; Label12: TLabel; CRType: TComboBox; v1Column19: TcxGridDBColumn; Label11: TLabel; RCGangNo: TEdit; ADOQueryPrint: TADOQuery; v1Column21: TcxGridDBColumn; v1Column22: TcxGridDBColumn; Label16: TLabel; PBFactoryName: TEdit; v1Column5: TcxGridDBColumn; v1Column15: TcxGridDBColumn; Label9: TLabel; conno: TEdit; Label10: TLabel; SPColor: TEdit; 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 SPIDKeyPress(Sender: TObject; var Key: Char); procedure SPIDChange(Sender: TObject); procedure SPSpecChange(Sender: TObject); procedure FactoryNameChange(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); private procedure SetStatus(); procedure InitGrid(); { Private declarations } public canshu1:string; { Public declarations } end; //var // frmDJBRKList: TfrmDJBRKList; implementation uses U_DataLink,U_RTFun,U_DJBRKInPut, U_ZDYHelp, U_ZdyAttachGYS; {$R *.dfm} procedure TfrmDJBRKList.SetStatus(); begin TBAdd.Visible:=False; TBDel.Visible:=False; TBEdit.Visible:=False; if Trim(canshu1)='录入' then begin TBAdd.Visible:=True; end; if Trim(canshu1)='管理' then begin TBAdd.Visible:=True; TBDel.Visible:=True; TBEdit.Visible:=True; end; end; procedure TfrmDJBRKList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmDJBRKList.FormCreate(Sender: TObject); begin EndDate.DateTime:=SGetServerDate(ADOQueryTemp); BegDate.DateTime:=EndDate.DateTime; end; procedure TfrmDJBRKList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; sql.Clear; sql.add('select A.* from CK_SXPB_CR A ') ; sql.add(' where A.CKName=''待检布'' and A.CRFlag=''入库'' and A.CRType=''布匹回仓'''); sql.add(' and A.CRTime>='+quotedstr(trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime)))); sql.add(' and A.CRTime<'+quotedstr(trim(FormatDateTime('yyyy-MM-dd',enddate.DateTime+1)))); Open; end; SCreateCDS(ADOQueryMain,CDS_Main); SInitCDSData(ADOQueryMain,CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmDJBRKList.TBRafreshClick(Sender: TObject); begin BegDate.SetFocus; InitGrid(); end; procedure TfrmDJBRKList.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); end; end; procedure TfrmDJBRKList.TBCloseClick(Sender: TObject); begin WriteCxGrid(trim(self.Caption),Tv1,'开卡管理'); Close; end; procedure TfrmDJBRKList.FormShow(Sender: TObject); begin SetStatus(); ReadCxGrid(trim(self.Caption),Tv1,'开卡管理'); InitGrid(); end; procedure TfrmDJBRKList.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then exit; TcxGridToExcel('待检布入库列表',cxGrid2); end; procedure TfrmDJBRKList.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS(ADOQueryMain,CDS_Main); SInitCDSData(ADOQueryMain,CDS_Main); end; end; procedure TfrmDJBRKList.N1Click(Sender: TObject); begin SelOKNo(CDS_Main,True); end; procedure TfrmDJBRKList.N2Click(Sender: TObject); begin SelOKNo(CDS_Main,False); end; procedure TfrmDJBRKList.TBDelClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from WFB_MJJY where APID='''+Trim(CDS_Main.fieldbyname('SPID').AsString)+''''); Open; end; if ADOQueryTemp.IsEmpty=False then begin Application.MessageBox('已有打卷记录,不能删除!','提示',0); Exit; end; if Trim(CDS_Main.fieldbyname('SPID').AsString)<>'' then begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from CK_SXPB_CR where FZSPID='''+Trim(CDS_Main.fieldbyname('SPID').AsString)+''''); sql.Add(' and CRQtyFlag=-1'); Open; end; if ADOQueryTemp.IsEmpty=False then begin Application.MessageBox('已有出库记录,不能删除!','提示',0); Exit; end; if Application.MessageBox('确定要删除数据吗?','提示',32+4)<>IDYES then Exit; try ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add(' delete CK_SXPB_CR where SPID='''+Trim(CDS_Main.fieldbyname('SPID').AsString)+''''); ExecSQL; end; ADOQueryCmd.Connection.CommitTrans; CDS_Main.Delete; except ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('删除异常!','提示',0); end; end else begin CDS_Main.Delete; end; end; procedure TfrmDJBRKList.TBAddClick(Sender: TObject); begin try frmDJBRKInPut:=TfrmDJBRKInPut.Create(Application); with frmDJBRKInPut do begin FBCId:=''; if ShowModal=1 then begin Self.InitGrid(); end; end; finally frmDJBRKInPut.Free; end; end; procedure TfrmDJBRKList.TBEditClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; try frmDJBRKInPut:=TfrmDJBRKInPut.Create(Application); with frmDJBRKInPut do begin FBCId:=Trim(CDS_Main.fieldbyname('SPID').AsString); TBDel.Visible:=False; TBAdd.Visible:=False; if ShowModal=1 then begin Self.InitGrid(); end; end; finally frmDJBRKInPut.Free; end; end; procedure TfrmDJBRKList.SPIDKeyPress(Sender: TObject; var Key: Char); begin if Key=#13 then begin {if Length(Trim(SPID.Text))<4 then Exit; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add(' select A.* '); sql.Add(',ConNo=(select ConNo from Contract_Main CM where CM.MainId=A.CGMainId)'); //sql.Add(' ,ConNo=(select ConNo from Contract_Main CM where CM.MainId=A.CGMainId )'); sql.Add(' from CK_SXPB_CR A'); sql.add(' where SPID like :SXID'); Parameters.ParamByName('SXID').Value:='%'+Trim(SXID.Text)+'%'; Open; //ShowMessage(SQL.Text); end; SCreateCDS(ADOQueryMain,CDS_Main); SInitCDSData(ADOQueryMain,CDS_Main); finally ADOQueryMain.EnableControls; end; } end; end; procedure TfrmDJBRKList.SPIDChange(Sender: TObject); begin if Length(Trim(SPID.Text))<4 then begin if Trim(SPID.Text)<>'' then Exit; end; TBFind.Click; end; procedure TfrmDJBRKList.SPSpecChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmDJBRKList.FactoryNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmDJBRKList.cxTabControl1Change(Sender: TObject); begin InitGrid(); end; end.