unit U_StopWorkList; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxCalendar, cxTimeEdit, cxButtonEdit, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, ADODB, DBClient, cxGridCustomPopupMenu, cxGridPopupMenu, cxGridBandedTableView, cxGridDBBandedTableView, cxDropDownEdit; type TfrmStopWorkList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBDel: TToolButton; TBClose: TToolButton; Panel1: TPanel; Label1: TLabel; Label3: TLabel; Label5: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; cxGrid5: TcxGrid; cxGridLevel4: TcxGridLevel; ToolButton1: TToolButton; ToolButton2: TToolButton; Label4: TLabel; DataSource1: TDataSource; cxGridPopupMenu1: TcxGridPopupMenu; CDS_Main: TClientDataSet; ADOTemp: TADOQuery; ADOCmd: TADOQuery; ADOQuery1: TADOQuery; Tv1: TcxGridDBBandedTableView; v1Column1: TcxGridDBBandedColumn; v1Column2: TcxGridDBBandedColumn; v1Column3: TcxGridDBBandedColumn; v1Column5: TcxGridDBBandedColumn; v1Column7: TcxGridDBBandedColumn; v1Column8: TcxGridDBBandedColumn; cxStyleRepository1: TcxStyleRepository; cxStyle1: TcxStyle; cxStyle2: TcxStyle; cxStyle3: TcxStyle; cxStyle4: TcxStyle; SWPersonBZ: TComboBox; SWPerson: TComboBox; SWReason: TComboBox; ADOQueryMain: TADOQuery; ToolButton3: TToolButton; ToolButton4: TToolButton; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure FormShow(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure v1Column7PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure TBCloseClick(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure TBDelClick(Sender: TObject); procedure SWPersonBZChange(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); private { Private declarations } procedure ComboxData(v1Column310:TcxGridDBBandedColumn;ii:Integer); procedure InitGrid(); public { Public declarations } end; var frmStopWorkList: TfrmStopWorkList; implementation uses U_DataLink,U_Fun,U_ZDYHelp; {$R *.dfm} procedure TfrmStopWorkList.FormDestroy(Sender: TObject); begin frmStopWorkList:=nil; end; procedure TfrmStopWorkList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmStopWorkList.FormCreate(Sender: TObject); begin cxGrid5.Align:=alClient; end; procedure TfrmStopWorkList.FormShow(Sender: TObject); begin EndDate.DateTime:=SGetServerDate(ADOQuery1); BegDate.DateTime:=EndDate.DateTime-7; ReadCxBandedGrid('停机记录',Tv1,'无纺布订单'); InitGrid(); end; procedure TfrmStopWorkList.InitGrid(); var sql:string; begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; SQL.Add('select SWDate10=(Convert(varchar(10),A.SWBegTime,120)), A.* from WFB_StopWorkList A where SWBegTime>=:begdate and SWBegTime<:enddate'); Parameters.ParamByName('begdate').Value:=FormatDateTime('yyyy-MM-dd',BegDate.DateTime); Parameters.ParamByName('enddate').Value:=FormatDateTime('yyyy-MM-dd',enddate.DateTime+1); Open; end; SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); finally ADOQueryMain.EnableControls; end; sql:='select distinct(SWPersonBZ) Name from WFB_StopWorkList where SWBegTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+'''' +'and SWBegTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''; SInitComBoxBySql(ADOTemp,SWPersonBZ,False,sql); sql:='select distinct(SWPerson) Name from WFB_StopWorkList where SWBegTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+'''' +'and SWBegTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''; SInitComBoxBySql(ADOTemp,SWPerson,False,sql); sql:='select distinct(SWReason) Name from WFB_StopWorkList where SWBegTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+'''' +'and SWBegTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''; SInitComBoxBySql(ADOTemp,SWReason,False,sql); end; procedure TfrmStopWorkList.ComboxData(v1Column310:TcxGridDBBandedColumn;ii:Integer); var i:Integer; j:string; begin (v1Column310.Properties as TcxComboBoxProperties).Items.Clear; for i:=0 to ii do begin if i<10 then j:='0'+trim(IntToStr(i)) else j:=Trim(IntToStr(i)); (v1Column310.Properties as TcxComboBoxProperties).Items.Add(Trim(j)); end; end; procedure TfrmStopWorkList.ToolButton1Click(Sender: TObject); begin with CDS_Main do begin Append; FieldByName('SWDate').Value:=SGetServerDate(ADOTemp); FieldByName('SWPerson').Value:=Trim(DName); with ADOQuery1 do begin Close; sql.Clear; sql.Add('select * from SY_User where UserId='''+Trim(DCode)+''''); Open; end; FieldByName('SWPersonBZ').Value:=Trim(ADOQuery1.fieldbyname('UDept').AsString); Post; end; end; procedure TfrmStopWorkList.v1Column7PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='SWReason'; flagname:='停机原因'; if ShowModal=1 then begin Self.CDS_Main.Edit; Self.CDS_Main.FieldByName('SWReason').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString) end; end; finally frmZDYHelp.Free; end; end; procedure TfrmStopWorkList.TBCloseClick(Sender: TObject); begin Close; WriteCxBandedGrid('停机记录',Tv1,'无纺布订单'); end; procedure TfrmStopWorkList.ToolButton2Click(Sender: TObject); var maxno:string; begin BegDate.SetFocus; if CDS_Main.IsEmpty then Exit; try ADOCmd.Connection.BeginTrans; with ADOCmd do begin Close; sql.Clear; sql.Add('Update WFB_StopWorkList Set SWReason='''+Trim(CDS_Main.fieldbyname('SWReason').AsString)+''''); sql.Add(' where SWID='''+Trim(CDS_Main.fieldbyname('SWID').AsString)+''''); ExecSQL; end; ADOCmd.Connection.CommitTrans; Application.MessageBox('保存成功!','提示',0); Exit; except ADOCmd.Connection.RollbackTrans; Application.MessageBox('保存失败!','提示',0); Exit; end; end; procedure TfrmStopWorkList.TBDelClick(Sender: TObject); begin if Trim(CDS_Main.fieldbyname('SWID').AsString)<>'' then begin if Trim(DCode)<>'ADMIN' then begin if Trim(DName)<>Trim(CDS_Main.fieldbyname('SWPerson').AsString) then begin Application.MessageBox('不能删除他人记录!','提示',0); Exit; end; end; if Application.MessageBox('确定要删除记录吗?','提示',32+4)<>IDYES then Exit; with ADOCmd do begin Close; sql.Clear; sql.Add('delete WFB_StopWorkList where SWID='''+Trim(CDS_Main.fieldbyname('SWID').AsString)+''''); ExecSQL; end; end; CDS_Main.Delete; end; procedure TfrmStopWorkList.SWPersonBZChange(Sender: TObject); begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); end; procedure TfrmStopWorkList.TBRafreshClick(Sender: TObject); begin BegDate.SetFocus; InitGrid(); end; procedure TfrmStopWorkList.ToolButton3Click(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; TcxGridToExcel('停机记录',cxGrid5); end; procedure TfrmStopWorkList.ToolButton4Click(Sender: TObject); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='SWReason'; flagname:='停机原因'; if ShowModal=1 then begin end; end; finally frmZDYHelp.Free; end; end; end.