unit U_PRTOrderList; 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, cxCheckBox, cxCalendar, cxSplitter, RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls, Menus, RM_DsgGridReport, RM_Designer, cxPC; type TfrmPRTOrderList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBAdd: TToolButton; TBEdit: TToolButton; TBDel: TToolButton; TBPrint: TToolButton; TBClose: TToolButton; Panel1: TPanel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; Label1: TLabel; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; Label3: TLabel; OrderNo: TEdit; TBExport: TToolButton; Order_Main: TClientDataSet; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; Label4: TLabel; KHNO: TEdit; TBView: TToolButton; Label8: TLabel; MPRTCodeName: TEdit; Label10: TLabel; MPRTSpec: TEdit; Label12: TLabel; MPRTKZ: TEdit; Label13: TLabel; MPRTMF: TEdit; ToolButton2: TToolButton; ADOQueryPrint: TADOQuery; CDS_Print: TClientDataSet; ComboBox1: TComboBox; Label9: TLabel; Label2: TLabel; ConNo: TEdit; LiDanPerson: TEdit; RMDBDataSet1: TRMDBDataSet; RM2: TRMGridReport; ToolButton3: TToolButton; RMXLSExport2: TRMXLSExport; cxTabControl1: TcxTabControl; ToolButton1: TToolButton; ToolButton4: TToolButton; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1OrderNo: TcxGridDBColumn; v1OrdDate: TcxGridDBColumn; v1DeliveryDate: TcxGridDBColumn; v1CustomerNoName: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1MPRTCodeName: TcxGridDBColumn; v1MPRTSpec: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1MPRTMF: TcxGridDBColumn; v1MPRTKZ: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column8: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; ToolButton5: TToolButton; ToolButton6: TToolButton; v1Column9: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column11: TcxGridDBColumn; v1Column12: TcxGridDBColumn; ToolButton7: TToolButton; ToolButton8: TToolButton; v1Column13: TcxGridDBColumn; 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 TBViewClick(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure OrderNoKeyPress(Sender: TObject; var Key: Char); procedure ConNoKeyPress(Sender: TObject; var Key: Char); procedure ToolButton3Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure ToolButton5Click(Sender: TObject); procedure ToolButton6Click(Sender: TObject); procedure ToolButton7Click(Sender: TObject); procedure ToolButton8Click(Sender: TObject); private CanShu1,CanShu2:string; DQdate:TDateTime; procedure InitGrid(); procedure InitForm(); function DelData():Boolean; procedure InitGridFH(); { Private declarations } public FFInt,FCloth:Integer; { Public declarations } end; var frmPRTOrderList: TfrmPRTOrderList; implementation uses U_DataLink,U_OrderInPut,U_RTFun, U_ZDYHelp, U_ZDYHelpSel, U_ModuleNote,U_OrderInPutPrice; {$R *.dfm} procedure TfrmPRTOrderList.FormDestroy(Sender: TObject); begin frmPRTOrderList:=nil; end; procedure TfrmPRTOrderList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmPRTOrderList.FormCreate(Sender: TObject); begin cxgrid1.Align:=alClient; CanShu1:=Trim(DParameters1); CanShu2:=Trim(DParameters2); //BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp)-7; //EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp); DQdate:=SGetServerDate(ADOQueryTemp); if Trim(CanShu2)='仓库' then begin TBAdd.Visible:=False; TBDel.Visible:=False; ToolButton2.Visible:=False; end; end; procedure TfrmPRTOrderList.TBCloseClick(Sender: TObject); begin Close; WriteCxGrid('指示单列表',Tv1,'生产指示单管理'); end; procedure TfrmPRTOrderList.InitGrid(); var fsj:string; begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.add('exec P_View_Order :begdate,:enddate,:WSql') ; if cxTabControl1.TabIndex=0 then begin fsj:=' and isnull(A.SChker,'''')='''' '; end else if cxTabControl1.TabIndex=1 then begin fsj:=' and isnull(SChker,'''')<>'''' and ZuoFeiFlag=0 and ChuHuoFinishFlag=0 and isnull(Chker,'''')='''' '; end else if cxTabControl1.TabIndex=2 then begin fsj:=' and isnull(SChker,'''')<>'''' and ZuoFeiFlag=0 and ChuHuoFinishFlag=0 and isnull(Chker,'''')<>'''' '; end else if cxTabControl1.TabIndex=3 then begin fsj:=' and ZuoFeiFlag=1 and ChuHuoFinishFlag=0 '; end else if cxTabControl1.TabIndex=4 then begin fsj:=' and ChuHuoFinishFlag=1 '; end; Parameters.ParamByName('WSql').Value:=fsj; Parameters.ParamByName('begdate').Value:=FormatDateTime('yyyy-MM-dd',BegDate.DateTime); Parameters.ParamByName('enddate').Value:=FormatDateTime('yyyy-MM-dd',enddate.DateTime+1); ExecSQL; Open; end; SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmPRTOrderList.InitGridFH(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add('exec Order_QryList :MainId,:WSql'); Parameters.ParamByName('WSql').Value:=' and FillTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+'''' +' and FillTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''; Open; end; SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmPRTOrderList.InitForm(); begin ReadCxGrid('指示单列表',Tv1,'生产指示单管理'); BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-92; EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select Top 10* from JYOrder_Main Order by FillTime desc'); Open; end; ComboBox1.Clear; with ADOQueryTemp do begin First; while not Eof do begin ComboBox1.Items.Add(Trim(ADOQueryTemp.fieldbyname('OrderNO').AsString)); Next; end; end; //InitGrid(); end; procedure TfrmPRTOrderList.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active=False then Exit; SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); end; procedure TfrmPRTOrderList.TBEditClick(Sender: TObject); begin if Order_Main.IsEmpty then Exit; if cxTabControl1.TabIndex<>0 then Exit; if Trim(CanShu1)<>'高权限' then begin if Trim(Order_Main.fieldbyname('Filler').AsString)<>Trim(DName) then begin Application.MessageBox('不能操作他人的数据!','提示',0); Exit; end; end; try frmOrderInPutPrice:=TfrmOrderInPutPrice.Create(Application); with frmOrderInPutPrice do begin PState:=1; FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); ConSubId:=Trim(Self.Order_Main.fieldbyname('ConSubId').AsString); FOrderNo:=Trim(Self.Order_Main.fieldbyname('OrderNo').AsString); if ShowModal=1 then begin end; end; finally frmOrderInPutPrice.Free; end; RM1.Clear; end; procedure TfrmPRTOrderList.TBDelClick(Sender: TObject); begin if Order_Main.IsEmpty then Exit; if cxTabControl1.TabIndex<>0 then Exit; if Trim(Order_Main.fieldbyname('Filler').AsString)<>Trim(DName) then begin Application.MessageBox('不能操作他人的数据!','提示',0); Exit; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from JYOrder_Main_MD where ORDMainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); Open; end; if ADOQueryTemp.IsEmpty=false then begin Application.MessageBox('已经录入码单不能删除数据!','提示',0); Exit; end; if Application.MessageBox('确定要删除数据吗?','提示',32+4)<>IDYES then Exit; if DelData() then begin Order_Main.Delete; end; end; function TfrmPRTOrderList.DelData():Boolean; begin try Result:=false; ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete JYOrder_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); sql.Add('delete JYOrder_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); ExecSQL; end; {with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from JYOrder_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); Open; if IsEmpty then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete JYOrder_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); ExecSQL; end; end; end; if Trim(Order_Main.fieldbyname('SubId').AsString)='' then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete JYOrder_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); ExecSQL; end; end; } ADOQueryCmd.Connection.CommitTrans; Result:=True; except ADOQueryCmd.Connection.RollbackTrans; Result:=False; Application.MessageBox('数据删除异常!','提示',0); end; end; procedure TfrmPRTOrderList.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; end; procedure TfrmPRTOrderList.TBPrintClick(Sender: TObject); var fPrintFile:string; begin if Order_Main.IsEmpty then Exit; fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\操作指示单.rmf' ; with ADOQueryPrint do begin Close; sql.Clear; sql.Add('select HZ.* '); sql.Add(',Case when HXCount>0 then Cast(HXCount As varchar(20))+''花'' else Cast(null as varchar(20)) end as HX '); sql.Add(',Case when ColorCount>0 then Cast(ColorCount As varchar(20))+''色'' else Cast(null as varchar(20)) end as YS '); sql.Add(' from(select A.* '); sql.Add(',KHType=(select KHType from ZH_KH_Info KH where KH.KHNameJC=A.CustomerNoName)'); sql.Add(',HXCount=(select isnull(Count(*),0) from '); sql.Add(' (select PRTHX from JYOrder_Sub B where B.MainId=A.MainId and isnull(PRTHX,'''')<>'''' group by PRTHX)AA)'); sql.Add(',ColorCount=(select isnull(Count(*),0) from '); sql.Add(' (select PRTColorEng from JYOrder_Sub B where B.MainId=A.MainId and isnull(PRTColorEng,'''')<>'''' group by PRTColorEng)AA)'); sql.Add(' from JYOrder_Main A '); sql.Add(' where A.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''')HZ'); Open; end; SCreateCDS20(ADOQueryPrint,CDS_Print); SInitCDSData20(ADOQueryPrint,CDS_Print); if FileExists(fPrintFile) then begin RMVariables['ZQty']:=Order_Main.fieldbyname('ZQty').Value; RMVariables['OrderUnit']:=Order_Main.fieldbyname('OrderUnit').Value; RM1.LoadFromFile(fPrintFile); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找'+ExtractFilePath(Application.ExeName)+'Report\操作指示单.rmf'),'提示',0); end; end; procedure TfrmPRTOrderList.TBRafreshClick(Sender: TObject); begin InitGrid(); with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select Top 10* from JYOrder_Main Order by FillTime desc'); Open; end; ComboBox1.Clear; with ADOQueryTemp do begin First; while not Eof do begin ComboBox1.Items.Add(Trim(ADOQueryTemp.fieldbyname('OrderNO').AsString)); Next; end; end; end; procedure TfrmPRTOrderList.TBAddClick(Sender: TObject); var maxno:string; begin try frmOrderInPutPrice:=TfrmOrderInPutPrice.Create(Application); with frmOrderInPutPrice do begin PState:=0; FMainId:=''; if ShowModal=1 then begin end; end; finally frmOrderInPutPrice.Free; end; end; procedure TfrmPRTOrderList.OrderNoChange(Sender: TObject); begin if ADOQueryMain.Active=False then Exit; SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); end; procedure TfrmPRTOrderList.FormShow(Sender: TObject); begin InitForm(); end; procedure TfrmPRTOrderList.Tv1CellDblClick( Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin if TBView.Visible=False then Exit; TBView.Click; end; procedure TfrmPRTOrderList.CheckBox1Click(Sender: TObject); begin InitGrid(); end; procedure TfrmPRTOrderList.CheckBox2Click(Sender: TObject); begin TBRafresh.Click; end; procedure TfrmPRTOrderList.Tv1StylesGetContentStyle( Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); var id,id10:Integer; begin {try if Tv1.GroupedItemCount=0 then begin Id:=Tv1.GetColumnByFieldName('DeliveryDate').Index-tv1.GroupedItemCount; Id10:=Tv1.GetColumnByFieldName('SubStatus').Index-tv1.GroupedItemCount; if Trim(VarToStr(ARecord.Values[id]))='' then Exit; if Id<0 then Exit; if ARecord.Values[id10]='完成' then exit; if (ARecord.Values[id]-DQdate)>=4 then Exit; if ((ARecord.Values[id]-DQdate)>=0) and ((ARecord.Values[id]-DQdate)<4) then AStyle:=DataLink_.QHuangSe else if ARecord.Values[id]-DQdate<0 then begin AStyle:=DataLink_OrderManage.FenHongS; end; end else begin end; except end; } end; procedure TfrmPRTOrderList.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]-SGetServerDate10(ADOQueryTemp))>=0) and ((AViewInfo.GridRecord.Values[id]-SGetServerDate(ADOQueryTemp))<4) then ACanvas.Brush.Color:=clYellow else if (AViewInfo.GridRecord.Values[id])-(SGetServerDate10(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 TfrmPRTOrderList.TBViewClick(Sender: TObject); begin if Order_Main.IsEmpty then Exit; try frmOrderInPutPrice:=TfrmOrderInPutPrice.Create(Application); with frmOrderInPutPrice do begin PState:=1; FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); ToolBar2.Visible:=False; //ToolBar3.Visible:=False; ToolBar4.Visible:=False; ToolBar5.Visible:=False; TBSave.Visible:=False; ToolButton4.Visible:=False; ToolButton5.Visible:=False; ToolButton8.Visible:=False; ToolButton10.Visible:=False; ToolButton11.Visible:=False; //ScrollBox1.Enabled:=False; Tv1.OptionsSelection.CellSelect:=False; ToolButton20.Visible:=False; ToolButton21.Visible:=False; if ShowModal=1 then begin end; end; finally frmOrderInPutPrice.Free; end; end; procedure TfrmPRTOrderList.ToolButton2Click(Sender: TObject); begin if Order_Main.IsEmpty then Exit; try frmOrderInPutPrice:=TfrmOrderInPutPrice.Create(Application); with frmOrderInPutPrice do begin PState:=1; CopyInt:=99; FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); if ShowModal=1 then begin end; end; finally frmOrderInPutPrice.Free; end; end; procedure TfrmPRTOrderList.OrderNoKeyPress(Sender: TObject; var Key: Char); var fsj:string; begin if Key=#13 then begin if Length(OrderNo.Text)<3 then Exit; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.add('exec P_View_Order :begdate,:enddate,:WSql') ; if cxTabControl1.TabIndex=0 then begin fsj:=' and isnull(SChker,'''')='''' '; end else if cxTabControl1.TabIndex=1 then begin fsj:=' and isnull(SChker,'''')<>'''' and ZuoFeiFlag=0 and ChuHuoFinishFlag=0 and isnull(Chker,'''')='''' '; end else if cxTabControl1.TabIndex=2 then begin fsj:=' and isnull(SChker,'''')<>'''' and ZuoFeiFlag=0 and ChuHuoFinishFlag=0 and isnull(Chker,'''')<>'''' '; end else if cxTabControl1.TabIndex=3 then begin fsj:=' and ZuoFeiFlag=1 and ChuHuoFinishFlag=0 '; end else if cxTabControl1.TabIndex=4 then begin fsj:=' and ChuHuoFinishFlag=1 '; end; Parameters.ParamByName('WSql').Value:=fsj+' and orderno like '''+'%'+Trim(OrderNo.Text)+'%'+''''; Parameters.ParamByName('begdate').Value:='1899-01-01'; Parameters.ParamByName('enddate').Value:='2050-01-01'; Open; end; SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); finally ADOQueryMain.EnableControls; end; end; end; procedure TfrmPRTOrderList.ConNoKeyPress(Sender: TObject; var Key: Char); var fsj:string; begin if Key=#13 then begin if Length(conno.Text)<3 then Exit; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.add('exec P_View_Order :begdate,:enddate,:WSql') ; if cxTabControl1.TabIndex=0 then begin fsj:=' and isnull(SChker,'''')='''' '; end else if cxTabControl1.TabIndex=1 then begin fsj:=' and isnull(SChker,'''')<>'''' and ZuoFeiFlag=0 and ChuHuoFinishFlag=0 and isnull(Chker,'''')='''' '; end else if cxTabControl1.TabIndex=2 then begin fsj:=' and isnull(SChker,'''')<>'''' and ZuoFeiFlag=0 and ChuHuoFinishFlag=0 and isnull(Chker,'''')<>'''' '; end else if cxTabControl1.TabIndex=3 then begin fsj:=' and ZuoFeiFlag=1 and ChuHuoFinishFlag=0 '; end else if cxTabControl1.TabIndex=4 then begin fsj:=' and ChuHuoFinishFlag=1 '; end; Parameters.ParamByName('WSql').Value:=fsj+' and conno like '''+'%'+Trim(conno.Text)+'%'+''''; Parameters.ParamByName('begdate').Value:='1899-01-01'; Parameters.ParamByName('enddate').Value:='2050-01-01'; ExecSQL; Open; end; SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); finally ADOQueryMain.EnableControls; end; end; end; procedure TfrmPRTOrderList.ToolButton3Click(Sender: TObject); begin try frmModuleNote:=TfrmModuleNote.Create(Application); with frmModuleNote do begin flag:='生产指示单'; if ShowModal=1 then begin end; end; finally frmModuleNote.Free; end; end; procedure TfrmPRTOrderList.ToolButton1Click(Sender: TObject); begin if cxTabControl1.TabIndex<>0 then Exit; if Order_Main.IsEmpty then Exit; if Application.MessageBox('确定要执行此操作吗?','提示',32+4)<>IDYES then exit; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update JYOrder_Main Set SChker='''+Trim(DName)+''''); SQL.Add(',SChkTime=getdate() '); sql.Add(' where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); ExecSQL; end; Order_Main.Delete; end; procedure TfrmPRTOrderList.ToolButton4Click(Sender: TObject); begin if cxTabControl1.TabIndex<>1 then Exit; if Order_Main.IsEmpty then Exit; with ADOQueryTemp do begin Close; sql.Clear; SQL.Add('select * from JYOrder_Main '); sql.Add(' where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); sql.Add(' and isnull(ChkStatus,'''')<>'''' '); Open; end; if ADOQueryTemp.IsEmpty=False then begin Application.MessageBox('已审核通过,不能撤销!','提示',0); Exit; end; if Application.MessageBox('确定要撤销操作吗?','提示',32+4)<>IDYES then exit; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update JYOrder_Main Set SChker=NUll'); SQL.Add(',SChkTime=NUll '); sql.Add(' where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); ExecSQL; end; Order_Main.Delete; end; procedure TfrmPRTOrderList.cxTabControl1Change(Sender: TObject); begin InitGrid(); end; procedure TfrmPRTOrderList.ToolButton5Click(Sender: TObject); begin //if cxTabControl1.TabIndex<>1 then Exit; if cxTabControl1.TabIndex<>2 then begin Application.MessageBox('请在已审核状态下点击作废!','提示',0); Exit; end; if Order_Main.IsEmpty then Exit; with ADOQueryTemp do begin Close; SQL.Clear; SQL.Add('select * from JYOrder_Main where Mainid='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); Open; end; if ADOQueryTemp.FieldByName('PChker').AsString<>'' then Exit; if ADOQueryTemp.FieldByName('ZuoFeiPerson').AsString<>'' then Exit; if ADOQueryTemp.FieldByName('Chker').AsString='' then Exit; if Application.MessageBox('确定要执行此操作吗?','提示',32+4)<>IDYES then exit; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update JYOrder_Main Set ZuoFeiPerson='''+Trim(DName)+''''); SQL.Add(',ZuoFeiTime=getdate(),ZuoFeiFlag=1 '); sql.Add(' where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); ExecSQL; end; Order_Main.Delete; end; procedure TfrmPRTOrderList.ToolButton6Click(Sender: TObject); begin if cxTabControl1.TabIndex<>3 then Exit; if Order_Main.IsEmpty then Exit; with ADOQueryTemp do begin Close; SQL.Clear; SQL.Add('select * from JYOrder_Main where Mainid='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); Open; end; if ADOQueryTemp.FieldByName('PChker').AsString<>'' then begin Application.MessageBox('已经审批通过,不能撤销!','提示',0); Exit; end; if ADOQueryTemp.FieldByName('ZuoFeiPerson').AsString='' then Exit; if Application.MessageBox('确定要执行作废撤销操作吗?','提示',32+4)<>IDYES then exit; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update JYOrder_Main Set ZuoFeiPerson=Null'); SQL.Add(',ZuoFeiTime=Null,ZuoFeiFlag=0 '); sql.Add(' where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); ExecSQL; end; Order_Main.Delete; end; procedure TfrmPRTOrderList.ToolButton7Click(Sender: TObject); begin if cxTabControl1.TabIndex<>2 then begin Application.MessageBox('请在已审核状态下点击完成!','提示',0); Exit; end; if Order_Main.IsEmpty then Exit; if Application.MessageBox('确定要执行此操作吗?','提示',32+4)<>IDYES then exit; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update JYOrder_Main Set ChuHuoFinishPerson='''+Trim(DName)+''''); SQL.Add(',ChuHuoFinishTime=getdate(),ChuHuoFinishFlag=1 '); sql.Add(' where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); ExecSQL; end; Order_Main.Delete; {with Order_Main do begin Edit; FieldByName('ChuHuoFinishFlag').Value:=True; Post; end; } end; procedure TfrmPRTOrderList.ToolButton8Click(Sender: TObject); begin if cxTabControl1.TabIndex<>4 then Exit; if Order_Main.IsEmpty then Exit; if Application.MessageBox('确定要执行完成撤销操作吗?','提示',32+4)<>IDYES then exit; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update JYOrder_Main Set ChuHuoFinishPerson=Null'); SQL.Add(',ChuHuoFinishTime=Null,ChuHuoFinishFlag=0 '); sql.Add(' where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); ExecSQL; end; Order_Main.Delete; {with Order_Main do begin Edit; FieldByName('ChuHuoFinishFlag').Value:=False; Post; end; } end; end.