unit U_KnitPlanCardOFF; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid, DBClient, cxCalendar, cxButtonEdit, cxSplitter, RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, cxTextEdit, cxCheckBox, BtnEdit, RM_BarCode, cxPC, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, dxBarBuiltInMenu, U_BaseList, Vcl.Menus, dxSkinBasic, dxSkinBlack, dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkroom, dxSkinDarkSide, dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy, dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis, dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray, dxSkinOffice2013White, dxSkinOffice2016Colorful, dxSkinOffice2016Dark, dxSkinOffice2019Black, dxSkinOffice2019Colorful, dxSkinOffice2019DarkGray, dxSkinOffice2019White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringtime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinTheBezier, dxSkinValentine, dxSkinVisualStudio2013Blue, dxSkinVisualStudio2013Dark, dxSkinVisualStudio2013Light, dxSkinVS2010, dxSkinWhiteprint, dxSkinWXI, dxSkinXmas2008Blue, dxScrollbarAnnotations; type TfrmKnitPlanCardOFF = class(TfrmBaseList) ToolBar1: TToolBar; TBRafresh: TToolButton; TBClose: TToolButton; Panel1: TPanel; GPM_1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; Label3: TLabel; ConNo: TEdit; ADOQueryPrint: TADOQuery; CarNo: TEdit; Label1: TLabel; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; cxGridLevel2: TcxGridLevel; v3Column1: TcxGridDBColumn; v3Column2: TcxGridDBColumn; Label2: TLabel; C_Name: TEdit; DS_1: TDataSource; CDS_1: TClientDataSet; Label4: TLabel; C_Code: TEdit; v3Column6: TcxGridDBColumn; v3Column8: TcxGridDBColumn; v3Column14: TcxGridDBColumn; v3Column15: TcxGridDBColumn; v3Column16: TcxGridDBColumn; cxTabControl1: TcxTabControl; Tv1Column1: TcxGridDBColumn; Tv1Column2: TcxGridDBColumn; Tv1Column3: TcxGridDBColumn; ToolButton1: TToolButton; ToolButton2: TToolButton; Tv1Column7: TcxGridDBColumn; Tv1Column8: TcxGridDBColumn; Label5: TLabel; OrderNo: TEdit; Tv1Column9: TcxGridDBColumn; Label6: TLabel; BatchNo: TEdit; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; Tv1Column10: TcxGridDBColumn; Tv1Column11: TcxGridDBColumn; Tv1Column12: TcxGridDBColumn; Tv1Column13: TcxGridDBColumn; Tv1Column14: TcxGridDBColumn; Tv1Column15: TcxGridDBColumn; Tv1Column16: TcxGridDBColumn; Tv1Column17: TcxGridDBColumn; Tv1Column18: TcxGridDBColumn; Tv1Column19: TcxGridDBColumn; Tv1Column20: TcxGridDBColumn; Tv1Column21: TcxGridDBColumn; Label7: TLabel; Label8: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; ToolButton3: TToolButton; Tv1Column4: TcxGridDBColumn; Tv1Column5: TcxGridDBColumn; ToolButton4: TToolButton; ToolButton5: TToolButton; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ConNoChange(Sender: TObject); procedure FormShow(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure ToolButton5Click(Sender: TObject); private FInt, PFInt: Integer; FFMainID, BPFlag, FFPCID: string; procedure InitGrid(); { Private declarations } public canshu1: string; { Public declarations } end; implementation uses U_DataLink, U_RTFun, U_ZDYHelp, U_LabelPrint; {$R *.dfm} procedure TfrmKnitPlanCardOFF.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; WriteCxGrid('DCG13', Tv1, '��������2'); end; procedure TfrmKnitPlanCardOFF.TBCloseClick(Sender: TObject); begin Close; end; procedure TfrmKnitPlanCardOFF.InitGrid(); begin FFMainID := ''; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; sql.Clear; sql.Add('select isnull(IsOffMachine,''��'') AS IsOffMachine '); sql.Add(' ,A.*,C.*,D.*,ISJY=cast(A.Status AS bit)'); sql.Add(' from Knit_Plan_Card A '); sql.Add(' inner join knit_Plan_Sub C on A.SubId=C.SubId'); sql.Add(' inner join knit_Plan_Main D on A.MainId=D.MainId'); sql.Add(' where 1=1 AND ISNULL(IsOffMachine,''��'')=''��'' '); //A.Status = ''0'' sql.Add(' and A.offTIme>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)) + ''''); sql.Add(' and A.offTIme<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.DateTime + 1)) + ''''); // case cxTabControl1.TabIndex of // 0: // begin // sql.Add(' and PRTCount=0'); // sql.Add(' Order by A.Filltime Desc'); // end; // 1: // begin // sql.Add(' and PRTCount>0'); // sql.Add(' Order by A.PRTDate Desc'); // end; // 2: // begin // sql.Add(' Order by A.PRTDate Desc,A.Filltime Desc'); // end; // end; // ShowMessage(sql.text); Open; end; SCreateCDS(ADOQueryMain, CDS_1); SInitCDSData(ADOQueryMain, CDS_1); finally ADOQueryMain.EnableControls; end; end; procedure TfrmKnitPlanCardOFF.N1Click(Sender: TObject); begin SelOKNo(cds_1, true) end; procedure TfrmKnitPlanCardOFF.N2Click(Sender: TObject); begin SelOKNo(cds_1, false); end; procedure TfrmKnitPlanCardOFF.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmKnitPlanCardOFF.ToolButton1Click(Sender: TObject); var WSql: string; begin if CDS_1.IsEmpty then Exit; Tv1.OnFocusedRecordChanged := nil; if CDS_1.Locate('SSel', True, []) = False then begin Application.MessageBox('û��ѡ������!', '��ʾ', 0); Exit; end; WSql := ''; CDS_1.DisableControls; with CDS_1 do begin First; while not Eof do begin if CDS_1.fieldbyname('SSel').AsBoolean then begin if WSql <> '' then begin WSql := WSql + ',' + QuotedStr(Trim(CDS_1.fieldbyname('PCID').AsString)); end else begin WSql := QuotedStr(Trim(CDS_1.fieldbyname('PCID').AsString)); end; end; Next; end; end; CDS_1.Locate('SSel', True, []); CDS_1.EnableControls; try frmLabelPrint := TfrmLabelPrint.Create(Application); with frmLabelPrint do begin FPreviewPrint := False; FLMType := 'KnitPlanCard'; FFiltration1 := WSql; if ShowModal = 1 then begin // Self.InitGrid(); with ADOQueryCmd do begin Close; sql.Clear; sql.Add('update Knit_Plan_Card '); sql.Add('set PRTer=' + quotedstr(DName)); sql.Add(', PRTCount=PRTCount+1'); sql.Add(', PRTDate=getdate()'); sql.Add(' where PCID in (' + WSql + ')'); ExecSQL; end; end; end; finally frmLabelPrint.Free; end; end; procedure TfrmKnitPlanCardOFF.ToolButton2Click(Sender: TObject); begin WriteCxGrid(trim(self.Caption), Tv1, '��������2'); end; procedure TfrmKnitPlanCardOFF.ToolButton3Click(Sender: TObject); begin if CDS_1.IsEmpty then Exit; TcxGridToExcel('��Ʊ�»���', cxGrid1); end; procedure TfrmKnitPlanCardOFF.ToolButton4Click(Sender: TObject); begin if CDS_1.IsEmpty then exit; if not CDS_1.Locate('SSel', True, []) then begin application.MessageBox('��ѡ������', '��ʾ'); Exit; end; // if CDS_3.IsEmpty then // Exit; if Application.MessageBox('ȷ��Ҫ�����»���', '��ʾ', 32 + 4) <> IDYES then Exit; with CDS_1 do begin DisableControls; First; while not eof do begin if fieldbyname('SSel').AsBoolean then begin with ADOQueryTemp do begin Close; sql.Clear; SQL.Add(' update Knit_Plan_Card SET ZHUANQTY=0,IsOffMachine=NULL,Offer=NULL,OffTime=NULL'); sql.Add(' where PCID=''' + Trim(CDS_1.fieldbyname('PCID').AsString) + ''''); ExecSQL; end; end; next; end; EnableControls; application.MessageBox('�����ɹ���', '��ʾ��Ϣ'); end; end; procedure TfrmKnitPlanCardOFF.ToolButton5Click(Sender: TObject); var sInput: string; iLoopCount: double; begin if not InputQuery('���뵥��', '�����뵥�ۣ�', sInput) then Exit; // �û����ȡ�� if not TryStrToFloat(sInput, iLoopCount) then begin ShowMessage('��������Ч�����֣�'); Exit; end; try with CDS_1 do begin First; while not Eof do begin if CDS_1.fieldbyname('SSel').AsBoolean then begin with ADOQueryCmd do begin close; sql.Clear; SQL.Add('update Knit_Plan_Card set price=' + trim(sInput)); sql.Add(',money=zhuanqty*' + trim(sInput)); sql.Add(' where pcid=' + quotedstr(trim(CDS_1.fieldbyname('pcid').AsString))); execsql; end; end; Next; end; end; application.MessageBox('�����ɹ���', '��ʾ��Ϣ'); InitGrid(); // TBRafresh.Click; except application.MessageBox('����ʧ�ܣ�', '��ʾ��Ϣ', 0); end; end; procedure TfrmKnitPlanCardOFF.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 TfrmKnitPlanCardOFF.FormShow(Sender: TObject); begin inherited; ReadCxGrid(trim(self.Caption), Tv1, '��������2'); // fsj := 'select distinct Code=Null,Name=MCCJ from Machine Group by MCCJ '; // SInitComBoxBySql(ADOQueryTemp, CheJian, False, fsj); BegDate.DateTime := SGetServerDate(ADOQueryTemp) - 30; EndDate.DateTime := SGetServerDate(ADOQueryTemp); InitGrid(); end; procedure TfrmKnitPlanCardOFF.cxTabControl1Change(Sender: TObject); begin InitGrid(); end; end.