unit U_DyeOutputList; 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, RM_System, RM_Common, RM_Class, RM_GridReport, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, dxBarBuiltInMenu, U_BaseList, dxScrollbarAnnotations; type TfrmDyeOutputList = class(TfrmBaseList) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBExport: TToolButton; TBPrint: TToolButton; TBClose: TToolButton; Panel1: TPanel; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; cxGridPopupMenu1: TcxGridPopupMenu; Label3: TLabel; Lckid: TEdit; Label1: TLabel; Label2: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; CDS_Main: TClientDataSet; Tv1: TcxGridDBTableView; cxGrid2Level1: TcxGridLevel; cxGrid2: TcxGrid; v2Column1: TcxGridDBColumn; v1Column1: TcxGridDBColumn; Label5: TLabel; orderNo: TEdit; MovePanel2: TMovePanel; Label10: TLabel; RMGridReport1: TRMGridReport; Label16: TLabel; v1Column2: TcxGridDBColumn; customerNoName: TEdit; Label13: TLabel; v1Column9: TcxGridDBColumn; ywy: TEdit; Label17: TLabel; Tv1Column1: TcxGridDBColumn; Tv1Column2: TcxGridDBColumn; Tv1Column5: TcxGridDBColumn; Tv1Column6: TcxGridDBColumn; Tv1Column8: TcxGridDBColumn; Tv1Column9: TcxGridDBColumn; Tv1Column10: TcxGridDBColumn; Tv1Column11: TcxGridDBColumn; Tv1Column12: TcxGridDBColumn; C_Color: TEdit; Label4: TLabel; C_ColorNo: TEdit; Label6: TLabel; lbHx: TEdit; Label7: TLabel; TBdel: TToolButton; GlideName: TComboBox; StaffName: TEdit; Label9: TLabel; Tv1Column15: TcxGridDBColumn; begtime: TDateTimePicker; endTime: TDateTimePicker; ToolButton1: TToolButton; Tv1Column3: TcxGridDBColumn; Tv1Column4: TcxGridDBColumn; Tv1Column7: TcxGridDBColumn; Tv1Column13: TcxGridDBColumn; Tv1Column14: TcxGridDBColumn; ToolButton2: TToolButton; Panel2: TPanel; Label8: TLabel; Button1: TButton; Button2: TButton; Edit1: TEdit; 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 LckidChange(Sender: TObject); procedure PRTColorChange(Sender: TObject); procedure TBdelClick(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); private FLeft, FTop: Integer; procedure InitGrid(); { Private declarations } public fsyrName, canshu1: string; { Public declarations } end; var frmDyeOutputList: TfrmDyeOutputList; implementation uses U_DataLink, U_RTFun, U_ZDYHelp; {$R *.dfm} procedure TfrmDyeOutputList.FormDestroy(Sender: TObject); begin inherited; frmDyeOutputList := nil; end; procedure TfrmDyeOutputList.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; end; procedure TfrmDyeOutputList.FormCreate(Sender: TObject); begin inherited; EndDate.DateTime := SGetServerDateTime(ADOQueryTemp); BegDate.DateTime := EndDate.DateTime; fsyrName := trim(DdataBase); canshu1 := trim(DParameters1); SInitComBoxBySql(ADOQueryTemp, GlideName, false, 'select PSName as Name from Dye_Process'); end; procedure TfrmDyeOutputList.InitGrid(); var Msql, mbegdate, menddate: string; begin Msql := ''; if SGetFilters(Panel1, 1, 2) <> '' then Msql := Msql + ' and ' + SGetFilters(Panel1, 1, 2); mbegdate := FormatDateTime('yyyy-MM-dd', begdate.Date) + ' ' + FormatDateTime('HH:nn', begTime.Time); menddate := FormatDateTime('yyyy-MM-dd', enddate.Date) + ' ' + FormatDateTime('HH:nn', endTime.Time); try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; sql.Clear; Filtered := False; sql.Add('select ORDERNO,GOID,A.GlideName,C.*,Qty,rollnum,groupName,B.*,a.filler as filler2,a.filltime as filltime2,gotime,QtyUnit,StaffName from Dye_Plan_Glide_OutPut A '); sql.Add('inner join PB_LCK B on A.PCID=B.LCKID '); sql.Add('inner join Knit_Plan_Sub C on B.SUBID=C.SUBID '); sql.Add('inner join Knit_Plan_MAIN D on D.MAINID=B.MAINID '); sql.add('where A.GOTime>=''' + trim(mbegdate) + ''' '); sql.Add('and A.GOTime<''' + trim(menddate) + ''' '); sql.Add(Msql); // showmessage(sql.Text); Open; end; SCreateCDS(ADOQueryMain, CDS_Main); SInitCDSData(ADOQueryMain, CDS_Main); finally ADOQueryMain.EnableControls; end; TBFind.Click; end; procedure TfrmDyeOutputList.TBRafreshClick(Sender: TObject); begin MovePanel2.Visible := True; MovePanel2.Refresh; InitGrid(); MovePanel2.Visible := False; end; procedure TfrmDyeOutputList.ToolButton1Click(Sender: TObject); begin WriteCxGrid(self.Caption + tv1.Name, Tv1, '��Ʒ�ֿ�'); end; procedure TfrmDyeOutputList.ToolButton2Click(Sender: TObject); begin inherited; if canshu1 <> '��' then exit; Panel2.Visible := TRUE; end; procedure TfrmDyeOutputList.Button1Click(Sender: TObject); var FReal: Double; begin if CDS_Main.IsEmpty then exit; if TryStrToFloat(EDIT1.Text, FReal) = False then Exit; try ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin close; sql.Clear; sql.Add('update Dye_Plan_Glide_OutPut SET QTY=' + (edit1.text)); sql.Add('where GOID=' + quotedstr(trim(CDS_Main.fieldbyname('GOID').AsString))); sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('�IJ���'))); sql.Add(',' + quotedstr('���ţ�' + trim(CDS_Main.FieldByName('GOID').AsString) + 'ԭ����' + trim(CDS_Main.FieldByName('qty').AsString) + ';�� ' + trim(edit1.Text))); sql.Add(',' + quotedstr(trim('�ɹ�'))); sql.Add(')'); execsql; end; with ADOQueryTemp do begin close; sql.Clear; SQL.Add('SELECT maxglideno =MAX(GlideNo) FROM Dye_Plan_Glide A where PCID= ' + quotedstr(trim(CDS_Main.fieldbyname('pcid').AsString))); open; end; if (CDS_Main.FieldByName('GlideNo').AsString = ADOQueryTemp.FieldByName('maxGlideNo').AsString) then begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('exec P_Dye_Card_CRCP @PCID=' + QuotedStr(CDS_Main.fieldbyname('pcid').AsString)); execsql; end; end; application.MessageBox('�ijɹ���', '��ʾ��Ϣ'); ADOQueryCmd.Connection.CommitTrans; PANEL2.Visible := FALSE; TBRafresh.Click; except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('��ʧ�ܣ�', '��ʾ��Ϣ', 0); end; end; procedure TfrmDyeOutputList.Button2Click(Sender: TObject); begin inherited; panel2.Visible := false; end; procedure TfrmDyeOutputList.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); end; end; procedure TfrmDyeOutputList.TBCloseClick(Sender: TObject); begin Close; end; procedure TfrmDyeOutputList.FormShow(Sender: TObject); begin inherited; ReadCxGrid(self.Caption + tv1.Name, Tv1, '��Ʒ�ֿ�'); canshu1 := self.fParameters1; initgrid(); end; procedure TfrmDyeOutputList.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then exit; // SelExportData(tv1,ADOQueryMain,self.Caption); TcxGridToExcel(self.Caption, cxGrid2); end; procedure TfrmDyeOutputList.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 TfrmDyeOutputList.LckidChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmDyeOutputList.PRTColorChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmDyeOutputList.TBdelClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; if Application.MessageBox('ȷ��Ҫɾ��������', '��ʾ', 32 + 4) <> IDYES then Exit; try with ADOQueryCmd do begin Close; sql.Clear; sql.Add('insert into Dye_Need_Up(UType,UDataId) values(''��̨ˢ��'',' + quotedstr(Trim(CDS_Main.fieldbyname('GOID').AsString)) + ') '); sql.Add('delete Dye_Plan_Glide_OutPut where GOID=''' + Trim(CDS_Main.fieldbyname('GOID').AsString) + ''''); ExecSQL; end; ////////////////// ���½��� ////////////////// ////////////////// ���½��� ////////////////// CDS_Main.Delete; except application.MessageBox('ɾ��ʧ�ܣ�', '��ʾ��Ϣ', 0); end; end; end.