unit U_TatPlanCard; 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; type TfrmTatPlanCard = 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; ZhuanQty: TEdit; Label9: TLabel; 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; Tv1Column4: TcxGridDBColumn; Tv1Column5: TcxGridDBColumn; Tv1Column6: TcxGridDBColumn; Tv1Column7: TcxGridDBColumn; Tv1Column8: TcxGridDBColumn; Label5: TLabel; OrderNo: TEdit; Tv1Column9: TcxGridDBColumn; Label6: TLabel; BatchNo: TEdit; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; ToolButton3: TToolButton; Label7: TLabel; PCID: TEdit; ToolButton4: 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 Button1Click(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); private FInt, PFInt: Integer; FFMainID, BPFlag: string; procedure InitGrid(); { Private declarations } public canshu1: string; { Public declarations } end; implementation uses U_DataLink, U_RTFun, U_ZDYHelp, U_LabelPrint, U_TatCardInPut; {$R *.dfm} procedure TfrmTatPlanCard.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; WriteCxGrid('DCG13', Tv1, '坯布生产2'); end; procedure TfrmTatPlanCard.TBCloseClick(Sender: TObject); begin Close; end; procedure TfrmTatPlanCard.InitGrid(); begin FFMainID := ''; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; sql.Clear; sql.Add('select A.*,C.*,D.* '); sql.Add(' from Tat_Plan_Card A '); sql.Add(' inner join Tat_Plan_Sub C on A.SubId=C.SubId'); sql.Add(' inner join Tat_Plan_Main D on A.MainId=D.MainId'); sql.Add(' where isnull(A.status,''0'')=''0'''); case cxTabControl1.TabIndex of 0: begin sql.Add(' and PRTCount=0'); end; 1: begin sql.Add(' and PRTCount>0'); end; 2: begin end; end; Open; end; SCreateCDS(ADOQueryMain, CDS_1); SInitCDSData(ADOQueryMain, CDS_1); finally ADOQueryMain.EnableControls; end; end; procedure TfrmTatPlanCard.N1Click(Sender: TObject); begin SelOKNo(cds_1, true) end; procedure TfrmTatPlanCard.N2Click(Sender: TObject); begin SelOKNo(cds_1, false); end; procedure TfrmTatPlanCard.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmTatPlanCard.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 := 'TatPlanCard'; FFiltration1 := WSql; if ShowModal = 1 then begin Self.InitGrid(); with ADOQueryCmd do begin Close; sql.Clear; sql.Add('update Tat_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 TfrmTatPlanCard.ToolButton2Click(Sender: TObject); begin WriteCxGrid(trim(self.Caption), Tv1, '坯布生产2'); end; procedure TfrmTatPlanCard.ToolButton3Click(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 + ',' + (Trim(CDS_1.fieldbyname('PCID').AsString)); end else begin WSql := (Trim(CDS_1.fieldbyname('PCID').AsString)); end; end; Next; end; end; CDS_1.Locate('SSel', True, []); CDS_1.EnableControls; try ADOQueryCmd.Connection.BeginTrans; // with ADOQueryCmd do // begin // Close; // sql.Clear; // sql.Add('insert into Knit_Need_Up(UOperation,UType,UDataId) values(''检验'',''检验删除'',' + quotedstr(MCIIDS) + ') '); // ExecSQL; // end; with ADOQueryCmd do begin Close; Sql.Clear; Sql.Add('exec P_Tat_Card_Del '); Sql.Add('@PCIDS=' + quotedstr(Trim(WSql))); Sql.Add(',@DCode=' + Quotedstr(DCode)); Sql.Add(',@DName=' + Quotedstr(DName)); Open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then begin raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString))); end; ADOQueryCmd.Connection.CommitTrans; InitGrid(); application.MessageBox('删除成功!', '提示信息'); except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0); end; end; procedure TfrmTatPlanCard.ToolButton4Click(Sender: TObject); begin try frmTatCardInPut := TfrmTatCardInPut.Create(Application); with frmTatCardInPut do begin FMainId := Trim(Self.CDS_1.fieldbyname('MainId').AsString); FSubId := Trim(Self.CDS_1.fieldbyname('SubId').AsString); if ShowModal = 1 then begin InitGrid(); end; end; finally frmTatCardInPut.Free; end; end; procedure TfrmTatPlanCard.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 TfrmTatPlanCard.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); InitGrid(); end; procedure TfrmTatPlanCard.Button1Click(Sender: TObject); begin // if CDS_AnPai.IsEmpty then // Exit; // if CDS_AnPai.Locate('SSel', True, []) = False then // begin // Application.MessageBox('没有选择数据!', '提示', 0); // Exit; // end; // if CDS_AnPai.Locate('SSel;JYFlag', VarArrayOf([True, True]), []) then // begin // Application.MessageBox('已检验不能作废!', '提示', 0); // Exit; // end; // if Application.MessageBox('确定要作废数据吗?', '提示', 32 + 4) <> IDYES then // Exit; // try // ADOQueryCmd.Connection.BeginTrans; // CDS_AnPai.DisableControls; // with CDS_AnPai do // begin // while CDS_AnPai.FieldByName('SSel').AsBoolean = True do // begin // with ADOQueryCmd do // begin // Close; // sql.Clear; // sql.Add('delete Tat_Plan_Card '); // sql.Add(' where APId=''' + Trim(CDS_AnPai.fieldbyname('APID').AsString) + ''''); // sql.Add(' and not exists(select * from Tat_Cloth_Inspect A where A.MJID=Tat_Plan_Card.APID)'); // // 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('作废布票'))); // sql.Add(',' + quotedstr(trim('卷号:' + trim(CDS_AnPai.FieldByName('apid').AsString) + ' 车号:' + trim(CDS_AnPai.FieldByName('carno').AsString) + ' 批号:' + trim(CDS_AnPai.FieldByName('APBatchNo').AsString) + ' MAINID:' + trim(CDS_AnPai.FieldByName('mainid').AsString)))); // sql.Add(',' + quotedstr(trim('成功'))); // sql.Add(')'); // ExecSQL; // end; // CDS_AnPai.Delete; // end; // end; // CDS_AnPai.EnableControls; // // ADOQueryCmd.Connection.CommitTrans; // except // ADOQueryCmd.Connection.RollbackTrans; // CDS_AnPai.EnableControls; // Application.MessageBox('作废失败!', '提示', 0); // Exit; // end; end; procedure TfrmTatPlanCard.cxTabControl1Change(Sender: TObject); begin InitGrid(); end; end.