unit U_DyePlanList; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, cxMemo, cxRichEdit, ComCtrls, cxContainer, cxTextEdit, cxMaskEdit, cxButtonEdit, StdCtrls, ToolWin, DBClient, ADODB, ExtCtrls, BtnEdit, cxCalendar, StrUtils, cxCurrencyEdit, cxImage, cxDBEdit, Menus, RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, cxGridCustomPopupMenu, cxGridPopupMenu, cxPC, cxSplitter, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdFTP, ShellAPI, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, IdExplicitTLSClientServerBase, U_BaseList, cxCheckBox, cxDropDownEdit; type TfrmDyePlanList = class(TfrmBaseList) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBAdd: TToolButton; TBEdit: TToolButton; TBDel: TToolButton; TBPrint: TToolButton; TBClose: TToolButton; Panel1: TPanel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; Label1: TLabel; Tv1: TcxGridDBTableView; cxGrid1Level1: TcxGridLevel; cxGrid1: TcxGrid; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; Label3: TLabel; OrderNo: TEdit; TBExport: TToolButton; v1OrderNo: TcxGridDBColumn; v1OrdDate: TcxGridDBColumn; v1DeliveryDate: TcxGridDBColumn; v1ConNo: TcxGridDBColumn; v1MPRTSpec: TcxGridDBColumn; Order_Main: TClientDataSet; v1CustomerNoName: TcxGridDBColumn; Label4: TLabel; CustName: TEdit; v1MPRTCodeName: TcxGridDBColumn; v1MPRTMF: TcxGridDBColumn; PM_1: TPopupMenu; N2: TMenuItem; ToolButton1: TToolButton; Label8: TLabel; C_Name: TEdit; Label9: TLabel; ConNo: TEdit; v1MPRTKZ: TcxGridDBColumn; Label10: TLabel; C_Spec: TEdit; Label11: TLabel; C_Code: TEdit; Label12: TLabel; MPRTKZ: TEdit; TBcopy: TToolButton; v1Column1: TcxGridDBColumn; v1Column2: TcxGridDBColumn; cxSplitter1: TcxSplitter; DS_2: TDataSource; cxTabControl1: TcxTabControl; Tchk: TToolButton; Tnochk: TToolButton; TWC: TToolButton; TNowc: TToolButton; v1Column6: TcxGridDBColumn; Panel2: TPanel; ADOQueryImage: TADOQuery; DSImage: TDataSource; IdFTP1: TIdFTP; v1Column4: TcxGridDBColumn; v1Column5: TcxGridDBColumn; cxGridPopupMenu2: TcxGridPopupMenu; Tv1Column8: TcxGridDBColumn; Tv1Column14: TcxGridDBColumn; Tv1Column16: TcxGridDBColumn; Tv1Column17: TcxGridDBColumn; ToolButton2: TToolButton; N1: TMenuItem; CDS_2: TClientDataSet; cxGrid2: TcxGrid; TV2: TcxGridDBTableView; Tv1Column1: TcxGridDBColumn; v1SOrddefstr1: TcxGridDBColumn; v1PRTColor: TcxGridDBColumn; v1PRTORDQTY: TcxGridDBColumn; v1OrderUnit: TcxGridDBColumn; cxGridDBColumn1: TcxGridDBColumn; cxGridDBColumn2: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; Tv1Column3: TcxGridDBColumn; cxGridDBColumn4: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; Tv1Column2: TcxGridDBColumn; ToolButton3: TToolButton; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure TBEditClick(Sender: TObject); procedure TBDelClick(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TBPrintClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure TBAddClick(Sender: TObject); procedure OrderNoChange(Sender: TObject); procedure FormShow(Sender: TObject); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure CheckBox1Click(Sender: TObject); procedure CheckBox2Click(Sender: TObject); procedure Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); procedure v1DeliveryDateCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure TBcopyClick(Sender: TObject); procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); procedure cxTabControl1Change(Sender: TObject); procedure TchkClick(Sender: TObject); procedure TnochkClick(Sender: TObject); procedure TWCClick(Sender: TObject); procedure TNowcClick(Sender: TObject); procedure Picture4DblClick(Sender: TObject); procedure Label3DblClick(Sender: TObject); procedure Label9DblClick(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); private DQdate: TDateTime; procedure InitGrid(); function DelData(): Boolean; procedure InitSub(); procedure SetStatus(); procedure InitImage(fwbid: string); { Private declarations } public FFInt, FCloth: Integer; canshu1, canshu2, FWorkshop: string; fFlileFlag: string; { Public declarations } end; var frmDyePlanList: TfrmDyePlanList; implementation uses U_DataLink, U_DyePlanInPut, U_RTFun, U_LabelPrint, U_DyeInspSet; {$R *.dfm} procedure TfrmDyePlanList.InitImage(fwbid: string); begin ADOQueryImage.close; if fwbid = '' then exit; with ADOQueryImage do begin close; sql.Clear; sql.Add('select * from TP_File A'); sql.Add('where WBID=' + quotedstr(trim(fwbid))); open; end; end; procedure TfrmDyePlanList.SetStatus(); begin TBadd.Enabled := false; //新增 tbedit.Enabled := false; //修改 tbdel.Enabled := false; //删除 TBcopy.Enabled := false; //复制 tchk.Enabled := false; //审核 tnochk.Enabled := false; //撤销审核 twc.Enabled := false; //完成 tNOwc.Enabled := false; //撤销完成 if Trim(canshu1) = '管理' then begin TBadd.Enabled := true; TBcopy.Enabled := true; case cxTabControl1.TabIndex of 0: begin tbedit.Enabled := true; tbdel.Enabled := true; tchk.Enabled := true; end; 1: begin twc.Enabled := true; tnochk.Enabled := true; end; 2: begin tNOwc.Enabled := true; end; 3: begin end; end; end; if Trim(canshu1) = '录入' then begin TBadd.Enabled := true; TBcopy.Enabled := true; case cxTabControl1.TabIndex of 0: begin // tchk.Visible:=true; tbedit.Enabled := true; tbdel.Enabled := true; // TBQX.Visible:=true; end; 1: begin // tnochk.Visible:=true; end; 2: begin end; 3: begin // TBNOQX.Visible:=true; end; end; end; end; procedure TfrmDyePlanList.InitSub(); begin if Order_Main.IsEmpty then exit; with ADOQueryTemp do begin close; sql.Clear; sql.Add('select * from Dye_Plan_Sub '); sql.Add('where mainID =' + quotedstr((Order_Main.fieldbyname('mainID').AsString))); open; end; SCreateCDS(ADOQueryTemp, CDS_2); SInitCDSData(ADOQueryTemp, CDS_2); end; procedure TfrmDyePlanList.Label3DblClick(Sender: TObject); var I: Integer; Column: TcxGridDBColumn; FieldNames: TStringList; begin FieldNames := TStringList.Create; try for I := 0 to Tv1.ColumnCount - 1 do begin Column := Tv1.Columns[I]; FieldNames.Add(Column.Caption + ':' + Column.DataBinding.FieldName); end; ShowMessage(FieldNames.Text); finally FieldNames.Free; end; end; procedure TfrmDyePlanList.Label9DblClick(Sender: TObject); var I: Integer; Column: TcxGridDBColumn; FieldNames: TStringList; begin FieldNames := TStringList.Create; try for I := 0 to Tv2.ColumnCount - 1 do begin Column := Tv2.Columns[I]; FieldNames.Add(Column.Caption + ':' + Column.DataBinding.FieldName); end; ShowMessage(FieldNames.Text); finally FieldNames.Free; end; end; procedure TfrmDyePlanList.FormDestroy(Sender: TObject); begin inherited; frmDyePlanList := nil; end; procedure TfrmDyePlanList.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; end; procedure TfrmDyePlanList.FormCreate(Sender: TObject); begin inherited; cxgrid1.Align := alClient; DQdate := SGetServerDate(ADOQueryTemp); canshu1 := trim(Self.fParameters1); canshu2 := trim(Self.fParameters2); FWorkshop := trim(Self.fParameters3); end; procedure TfrmDyePlanList.TBCloseClick(Sender: TObject); begin Close; end; procedure TfrmDyePlanList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; Filtered := False; sql.Clear; sql.Add('select A.*, B.*'); sql.Add('from Dye_Plan_MAIN A'); sql.Add('inner join Dye_Plan_Sub B on B.MainId=A.MainId'); sql.Add(' where 1=1'); case cxTabControl1.TabIndex of 0: begin sql.Add(' and isnull(A.status,''0'')=''0'' '); end; 1: begin sql.Add(' and isnull(A.status,''0'')=''9'' '); end; 2: begin sql.Add(' and isnull(A.status,''0'')=''10'' '); end; end; sql.Add(' and OrdDate>=''' + FormatDateTime('yyyy-MM-dd', begdate.DateTime) + ''' '); sql.Add(' and OrdDate<''' + FormatDateTime('yyyy-MM-dd', Enddate.DateTime + 1) + ''' '); sql.Add(' and A.Workshop=''' + trim(FWorkshop) + ''' '); if Trim(canshu1) = '录入' then sql.Add('and Filler=' + QuotedStr(Trim(DName))); // ShowMessage(sql.Text); Open; end; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, Order_Main); SInitCDSData(ADOQueryMain, Order_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmDyePlanList.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active = False then Exit; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, Order_Main); SInitCDSData(ADOQueryMain, Order_Main); end; procedure TfrmDyePlanList.TBEditClick(Sender: TObject); begin if Order_Main.IsEmpty then Exit; { if Trim(Order_Main.fieldbyname('Filler').AsString)<>Trim(DName) then begin Application.MessageBox('不能操作他人的数据!','提示',0); Exit; end; } try frmDyePlanInPut := TfrmDyePlanInPut.Create(Application); with frmDyePlanInPut do begin PState := 1; FMainId := Trim(Self.Order_Main.fieldbyname('MainId').AsString); FOrderNo := Trim(Self.Order_Main.fieldbyname('OrderNo').AsString); canshu1 := self.canshu1; canshu2 := self.canshu2; FWorkshop := self.FWorkshop; conNo.Enabled := false; if ShowModal = 1 then begin end; end; finally frmDyePlanInPut.Free; end; end; procedure TfrmDyePlanList.TBDelClick(Sender: TObject); begin if Order_Main.IsEmpty then Exit; if not Order_Main.Locate('SSel', True, []) then begin application.MessageBox('请选择数据!', '提示信息', 0); Exit; end; if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then Exit; while Order_Main.Locate('SSel', True, []) do begin if (Trim(Order_Main.fieldbyname('Filler').AsString) <> Trim(DName)) and (dname <> 'ADMIN') then begin Application.MessageBox('不能操作他人的数据!', '提示', 0); Exit; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from Dye_Plan_Card where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + ''''); Open; end; if not ADOQueryTemp.IsEmpty then begin Application.MessageBox('已开卡不能删除数据!', '提示', 0); Exit; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from Dye_Cloth_Inspect where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + ''''); Open; end; if ADOQueryTemp.IsEmpty = False then begin Application.MessageBox('已检验不能删除数据!', '提示', 0); Exit; end; if DelData() then begin end; Order_Main.Delete; end; end; function TfrmDyePlanList.DelData(): Boolean; begin try Result := false; ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete Dye_Plan_Main where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + ''''); sql.Add('delete Dye_Plan_Sub where MainId=''' + Trim(Order_Main.fieldbyname('MainId').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('指示单删除'))); sql.Add(',' + quotedstr(trim('指示单号:' + trim(Order_Main.FieldByName('OrderNO').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); ExecSQL; end; ADOQueryCmd.Connection.CommitTrans; Result := True; except ADOQueryCmd.Connection.RollbackTrans; Result := False; Application.MessageBox('数据删除异常!', '提示', 0); end; end; procedure TfrmDyePlanList.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; // SelExportData(Tv1,ADOQueryMain,self.Caption); end; procedure TfrmDyePlanList.TBPrintClick(Sender: TObject); var WSql: string; begin if Order_Main.IsEmpty then Exit; WSql := QuotedStr(Trim(Order_Main.fieldbyname('MainId').AsString)); try frmLabelPrint := TfrmLabelPrint.Create(Application); with frmLabelPrint do begin FLMType := 'DyePlanPrint'; FFiltration1 := WSql; if ShowModal = 1 then begin // Self.InitGrid(); end; end; finally frmLabelPrint.Free; end; end; procedure TfrmDyePlanList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmDyePlanList.TBAddClick(Sender: TObject); var maxno: string; begin try frmDyePlanInPut := TfrmDyePlanInPut.Create(Application); with frmDyePlanInPut do begin PState := 0; FMainId := ''; canshu1 := self.canshu1; canshu2 := self.canshu2; FWorkshop := self.FWorkshop; if ShowModal = 1 then begin InitGrid(); end; end; finally frmDyePlanInPut.Free; end; end; procedure TfrmDyePlanList.OrderNoChange(Sender: TObject); begin if ADOQueryMain.Active = False then Exit; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, Order_Main); SInitCDSData(ADOQueryMain, Order_Main); end; procedure TfrmDyePlanList.FormShow(Sender: TObject); begin inherited; fFlileFlag := UserDataFlag + 'HX'; canshu1 := self.fParameters1; canshu2 := self.fParameters2; FWorkshop := self.fParameters3; BegDate.DateTime := SGetServerDate(ADOQueryTemp) - 15; EndDate.DateTime := SGetServerDate(ADOQueryTemp); ReadCxGrid(self.Caption + 'TV1', Tv1, '生产指示单管理'); ReadCxGrid(self.Caption + 'TV2', Tv2, '生产指示单管理'); SetStatus(); InitGrid(); end; procedure TfrmDyePlanList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin if ToolButton1.Visible = False then Exit; TBPrint.Click; end; procedure TfrmDyePlanList.CheckBox1Click(Sender: TObject); begin InitGrid(); end; procedure TfrmDyePlanList.CheckBox2Click(Sender: TObject); begin TBRafresh.Click; end; procedure TfrmDyePlanList.Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); var id, id10: Integer; begin end; procedure TfrmDyePlanList.v1DeliveryDateCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); begin { Id:=TV1.GetColumnByFieldName('DeliveryDate').Index;//;-TV1.GroupedItemCount; Id10:=TV1.GetColumnByFieldName('SubStatus').Index; if Id<0 then Exit; if AViewInfo.GridRecord.Values[Id10]='完成' then Exit; if AViewInfo.GridRecord.Values[Id]-SGetServerDate(ADOQueryTemp)>=4 then Exit; if ((AViewInfo.GridRecord.Values[id]-SGetServerDate(ADOQueryTemp))>=0) and ((AViewInfo.GridRecord.Values[id]-SGetServerDate(ADOQueryTemp))<4) then ACanvas.Brush.Color:=clYellow else if (AViewInfo.GridRecord.Values[id])-(SGetServerDate(ADOQueryTemp)<0) then begin ACanvas.Brush.Color:=clRed; end; begin ACanvas.Brush.Color:=clRed; end else if AViewInfo.GridRecord.Values[Id]='Purple' then begin ACanvas.Brush.Color:=clPurple; end else if AViewInfo.GridRecord.Values[Id]='Olive' then begin ACanvas.Brush.Color:=clOlive; end else if AViewInfo.GridRecord.Values[Id]='Teal' then begin ACanvas.Brush.Color:=clTeal; end else if AViewInfo.GridRecord.Values[Id]='Background' then begin ACanvas.Brush.Color:=clBackground; end; } end; procedure TfrmDyePlanList.N1Click(Sender: TObject); begin SelOKNoFiler(Tv1, false); end; procedure TfrmDyePlanList.N2Click(Sender: TObject); begin SelOKNoFiler(Tv1, true); end; procedure TfrmDyePlanList.ToolButton1Click(Sender: TObject); begin if Order_Main.IsEmpty then Exit; try frmDyePlanInPut := TfrmDyePlanInPut.Create(Application); with frmDyePlanInPut do begin PState := 1; FMainId := Trim(Self.Order_Main.fieldbyname('MainId').AsString); ToolBar2.Visible := False; TBSave.Visible := False; ScrollBox1.Enabled := False; Tv1.OptionsSelection.CellSelect := False; FWorkshop := self.FWorkshop; if ShowModal = 1 then begin end; end; finally frmDyePlanInPut.Free; end; end; procedure TfrmDyePlanList.ToolButton2Click(Sender: TObject); begin WriteCxGrid(self.Caption + 'TV1', Tv1, '生产指示单管理'); WriteCxGrid(self.Caption + 'TV2', Tv2, '生产指示单管理'); end; procedure TfrmDyePlanList.ToolButton3Click(Sender: TObject); begin try frmDyeInspSet := TfrmDyeInspSet.Create(Application); with frmDyeInspSet do begin FDataID := Trim(Self.Order_Main.fieldbyname('MainId').AsString); if ShowModal = 1 then begin end; end; finally frmDyeInspSet.Free; end; end; procedure TfrmDyePlanList.TBcopyClick(Sender: TObject); begin if Order_Main.IsEmpty then Exit; try frmDyePlanInPut := TfrmDyePlanInPut.Create(Application); with frmDyePlanInPut do begin PState := 1; CopyInt := 99; FMainId := Trim(Self.Order_Main.fieldbyname('MainId').AsString); canshu1 := self.canshu1; canshu2 := self.canshu2; FWorkshop := self.FWorkshop; if ShowModal = 1 then begin end; end; finally frmDyePlanInPut.Free; end; end; procedure TfrmDyePlanList.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); begin InitSub(); end; procedure TfrmDyePlanList.cxTabControl1Change(Sender: TObject); begin SetStatus(); InitGrid(); end; procedure TfrmDyePlanList.TchkClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; if not Order_Main.Locate('SSel', True, []) then begin application.MessageBox('请选择数据!', '提示信息', 0); Exit; end; try while Order_Main.Locate('SSel', True, []) do begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('update Dye_Plan_Main SET status=''9'' '); sql.Add('where mainID=' + quotedstr(trim(Order_Main.fieldbyname('mainID').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('订单审核'))); sql.Add(',' + quotedstr(trim('订单号:' + trim(Order_Main.FieldByName('orderNO').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); execsql; end; Order_Main.Delete; end; application.MessageBox('订单审核成功!', '提示信息'); TBRafresh.Click; except application.MessageBox('订单审核失败!', '提示信息', 0); end; end; procedure TfrmDyePlanList.TnochkClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; if not Order_Main.Locate('SSel', True, []) then begin application.MessageBox('请选择数据!', '提示信息', 0); Exit; end; try while Order_Main.Locate('SSel', True, []) do begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('update Dye_Plan_Main SET status=''0'' '); sql.Add('where mainID=' + quotedstr(trim(Order_Main.fieldbyname('mainID').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('订单撤销审核'))); sql.Add(',' + quotedstr(trim('订单号:' + trim(Order_Main.FieldByName('orderNO').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); execsql; end; Order_Main.Delete; end; application.MessageBox('订单撤销审核成功!', '提示信息'); TBRafresh.Click; except application.MessageBox('订单撤销审核失败!', '提示信息', 0); end; end; procedure TfrmDyePlanList.TWCClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; if not Order_Main.Locate('SSel', True, []) then begin application.MessageBox('请选择数据!', '提示信息', 0); Exit; end; try while Order_Main.Locate('SSel', True, []) do begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('update Dye_Plan_Main SET status=''10'' '); sql.Add('where mainID=' + quotedstr(trim(Order_Main.fieldbyname('mainID').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('订单完成'))); sql.Add(',' + quotedstr(trim('订单号:' + trim(Order_Main.FieldByName('orderNO').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); execsql; end; Order_Main.Delete; end; application.MessageBox('订单完成成功!', '提示信息'); TBRafresh.Click; except application.MessageBox('订单完成失败!', '提示信息', 0); end; end; procedure TfrmDyePlanList.TNowcClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; if not Order_Main.Locate('SSel', True, []) then begin application.MessageBox('请选择数据!', '提示信息', 0); Exit; end; try while Order_Main.Locate('SSel', True, []) do begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('update Dye_Plan_Main SET status=''9'' '); sql.Add('where mainID=' + quotedstr(trim(Order_Main.fieldbyname('mainID').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('订单撤销完成'))); sql.Add(',' + quotedstr(trim('订单号:' + trim(Order_Main.FieldByName('orderNO').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); execsql; end; Order_Main.Delete; end; application.MessageBox('订单撤销完成成功!', '提示信息'); TBRafresh.Click; except application.MessageBox('订单撤销完成失败!', '提示信息', 0); end; end; //procedure TfrmDyePlanList.TV2FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); //begin // initImage(ADOQuerySub.fieldbyname('HXFile').AsString); //end; procedure TfrmDyePlanList.Picture4DblClick(Sender: TObject); var sFieldName: string; fileName: string; // ff: TADOBlobStream; // FJStream : TMemoryStream; begin // if Picture4.Picture.Height = 0 then // exit; sFieldName := leftbstr(ExtractFilePath(Application.ExeName), 1) + ':\图片查看'; if not DirectoryExists(pchar(sFieldName)) then CreateDirectory(pchar(sFieldName), nil); // fileName := ADOQuerySub.fieldbyname('hxFile').AsString; sFieldName := sFieldName + '\' + trim(fileName); try IdFTP1.Host := ReadINIFileStr('SYSTEMSET.INI', 'SERVER', '服务器地址', '127.0.0.1'); IdFTP1.Username := 'three'; IdFTP1.Password := '641010'; IdFTP1.Connect(); except ; end; if IdFTP1.Connected then begin application.ProcessMessages; try IdFTP1.Get(fFlileFlag + '\' + Trim(fileName), sFieldName, true, false); except Application.MessageBox('客户图样文件不存在', '提示', MB_ICONWARNING); IdFTP1.Quit; Exit; end; end else begin Application.MessageBox('无法连接文件服务器', '提示', MB_ICONWARNING); IdFTP1.Quit; Exit; end; if IdFTP1.Connected then IdFTP1.Quit; ShellExecute(Handle, 'open', PChar(sFieldName), '', '', SW_SHOWNORMAL); end; end.