unit U_JYOrderZJList; //78 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, cxButtonEdit, cxDropDownEdit, cxPC; type TfrmJYOrderZJList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBAdd: TToolButton; TBEdit: TToolButton; TBDel: TToolButton; TBClose: TToolButton; Tv1: TcxGridDBTableView; cxGrid1Level1: TcxGridLevel; cxGrid1: TcxGrid; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; TBExport: TToolButton; Order_Main: TClientDataSet; ToolButton1: TToolButton; Panel1: TPanel; Label9: TLabel; OrderNo: TEdit; v1Column2: TcxGridDBColumn; v1Column6: TcxGridDBColumn; Label2: TLabel; FactoryName: TEdit; v1Column1: TcxGridDBColumn; Label34: TLabel; v1Column7: TcxGridDBColumn; v1Column9: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column11: TcxGridDBColumn; ZJName: TEdit; v1Column4: TcxGridDBColumn; Label1: TLabel; v1Column5: TcxGridDBColumn; v1Column12: TcxGridDBColumn; v1Column13: TcxGridDBColumn; Label3: TLabel; Label4: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; ZJStatus: TComboBox; ToolButton2: TToolButton; ToolButton3: TToolButton; cxTabControl1: TcxTabControl; ToolButton4: TToolButton; v1Column3: TcxGridDBColumn; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; RMXLSExport2: TRMXLSExport; CDS_PRT: TClientDataSet; ToolButton5: TToolButton; v1Column8: 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 TBRafreshClick(Sender: TObject); procedure TBAddClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure CheckBox2Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure CustomerNoNameChange(Sender: TObject); procedure N2Click(Sender: TObject); procedure N1Click(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure ZJStatusChange(Sender: TObject); procedure OrderNoKeyPress(Sender: TObject; var Key: Char); procedure ToolButton3Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure ToolButton5Click(Sender: TObject); private canshu1:string; DQdate:TDateTime; procedure InitGrid(); procedure InitForm(); function DelData():Boolean; { Private declarations } public FFInt,FCloth:Integer; { Public declarations } end; var frmJYOrderZJList: TfrmJYOrderZJList; implementation uses U_DataLink,U_RTFun, U_ZJInPut,U_FjList_RZ; {$R *.dfm} procedure TfrmJYOrderZJList.FormDestroy(Sender: TObject); begin frmJYOrderZJList:=nil; end; procedure TfrmJYOrderZJList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmJYOrderZJList.FormCreate(Sender: TObject); begin cxgrid1.Align:=alClient; end; procedure TfrmJYOrderZJList.TBCloseClick(Sender: TObject); begin WriteCxGrid('质检记录',Tv1,'指示单管理'); Close; end; procedure TfrmJYOrderZJList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add('select A.* '); sql.Add(',Case when isnull((select count(*) from TP_File where WBID=A.ZJID),0)>0 then Cast(1 as bit) else Cast(0 as bit) end as FJFlag'); sql.Add(' from JYOrder_ZhiJian A '); sql.Add(' where 1=1 '); if cxTabControl1.TabIndex=0 then begin sql.Add(' and isnull(SChker,'''')='''' '); end else begin sql.Add(' and ZJDate>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date))+''''); sql.Add(' and ZJDate<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.Date+1))+''''); if cxTabControl1.TabIndex=1 then begin sql.Add(' and isnull(SChker,'''')<>'''' and isnull(Chker,'''')='''' '); end else if cxTabControl1.TabIndex=2 then begin sql.Add(' and isnull(Chker,'''')<>'''' '); end; end; Open; end; SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmJYOrderZJList.InitForm(); begin BegDate.Date:=SGetServerDateMBeg(ADOQueryTemp); EndDate.Date:=SGetServerDate(ADOQueryTemp); ReadCxGrid('质检记录',Tv1,'指示单管理'); InitGrid(); end; procedure TfrmJYOrderZJList.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 TfrmJYOrderZJList.TBEditClick(Sender: TObject); begin if Order_Main.IsEmpty then Exit; if cxTabControl1.TabIndex<>0 then Exit; try frmZJInPut:=TfrmZJInPut.Create(Application); with frmZJInPut do begin PState:=1; FMainId:=Trim(Self.Order_Main.fieldbyname('ZJId').AsString); if ShowModal=1 then begin end; end; finally frmZJInPut.Free; end; end; procedure TfrmJYOrderZJList.TBDelClick(Sender: TObject); begin if Order_Main.IsEmpty then Exit; if cxTabControl1.TabIndex<>0 then Exit; if Order_Main.Locate('SSel',True,[])=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 TfrmJYOrderZJList.DelData():Boolean; begin try Result:=false; ADOQueryCmd.Connection.BeginTrans; Order_Main.DisableControls; with Order_Main do begin First; while Order_Main.Locate('SSel',True,[]) do begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Delete JYOrder_ZhiJian where ZJId='''+Trim(Order_Main.fieldbyname('ZJId').AsString)+''''); ExecSQL; end; Order_Main.Delete; end; end; Order_Main.EnableControls; ADOQueryCmd.Connection.CommitTrans; Result:=True; except ADOQueryCmd.Connection.RollbackTrans; Result:=False; Application.MessageBox('数据删除异常!','提示',0); end; end; procedure TfrmJYOrderZJList.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; TcxGridToExcel('质检信息列表',cxGrid1); end; procedure TfrmJYOrderZJList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmJYOrderZJList.TBAddClick(Sender: TObject); var maxno:string; begin try frmZJInPut:=TfrmZJInPut.Create(Application); with frmZJInPut do begin PState:=0; FMainId:=''; if ShowModal=1 then begin end; end; finally frmZJInPut.Free; end; end; procedure TfrmJYOrderZJList.FormShow(Sender: TObject); begin InitForm(); end; procedure TfrmJYOrderZJList.CheckBox1Click(Sender: TObject); begin InitGrid(); end; procedure TfrmJYOrderZJList.CheckBox2Click(Sender: TObject); begin TBRafresh.Click; end; procedure TfrmJYOrderZJList.ToolButton1Click(Sender: TObject); begin if Order_Main.IsEmpty then Exit; try frmZJInPut:=TfrmZJInPut.Create(Application); with frmZJInPut do begin PState:=1; FMainId:=Trim(Self.Order_Main.fieldbyname('ZJId').AsString); TBSave.Visible:=False; if ShowModal=1 then begin end; end; finally frmZJInPut.Free; end; end; procedure TfrmJYOrderZJList.CustomerNoNameChange(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 TfrmJYOrderZJList.N2Click(Sender: TObject); begin SelOKNo(Order_Main,True); end; procedure TfrmJYOrderZJList.N1Click(Sender: TObject); begin SelOKNo(Order_Main,False); end; procedure TfrmJYOrderZJList.cxTabControl1Change(Sender: TObject); begin InitGrid(); end; procedure TfrmJYOrderZJList.ZJStatusChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmJYOrderZJList.OrderNoKeyPress(Sender: TObject; var Key: Char); begin if Key=#13 then begin if Trim(OrderNo.Text)='' then Exit; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add('select A.* '); sql.Add(',Case when isnull((select count(*) from TP_File where WBID=A.ZJID),0)>0 then Cast(1 as bit) else Cast(0 as bit) end as FJFlag'); sql.Add(' from JYOrder_ZhiJian A '); sql.Add(' where orderNo like '''+'%'+Trim(OrderNo.Text)+'%'+''''); if cxTabControl1.TabIndex=0 then begin sql.Add(' and isnull(SChker,'''')='''' '); end else begin if cxTabControl1.TabIndex=1 then begin sql.Add(' and isnull(SChker,'''')<>'''' and isnull(Chker,'''')='''' '); end else if cxTabControl1.TabIndex=2 then begin sql.Add(' and isnull(Chker,'''')<>'''' '); end; end; Open; end; SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); finally ADOQueryMain.EnableControls; end; end; end; procedure TfrmJYOrderZJList.ToolButton3Click(Sender: TObject); begin if Order_Main.IsEmpty then Exit; if cxTabControl1.TabIndex<>0 then Exit; if Order_Main.Locate('SSel',True,[])=False then begin Application.MessageBox('没有选择数据!','提示',0); Exit; end; if Application.MessageBox('确定要执行此操作吗?','提示',32+4)<>IDYES then Exit; try ADOQueryCmd.Connection.BeginTrans; Order_Main.DisableControls; with Order_Main do begin First; while Locate('SSel',True,[])=True do begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate JYOrder_ZhiJian Set Status=''已送审'',SChktime=getdate(),SChker='''+Trim(DName)+''''); sql.Add(' where ZJID='''+Trim(Order_Main.fieldbyname('ZJID').AsString)+''''); ExecSQL; end; Order_Main.Delete; end; end; Order_Main.EnableControls; ADOQueryCmd.Connection.CommitTrans; except Order_Main.EnableControls; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('操作异常!','提示',0); end; end; procedure TfrmJYOrderZJList.ToolButton2Click(Sender: TObject); begin if Order_Main.IsEmpty then Exit; if cxTabControl1.TabIndex<>1 then Exit; if Order_Main.Locate('SSel',True,[])=False then begin Application.MessageBox('没有选择数据!','提示',0); Exit; end; Order_Main.DisableControls; with Order_Main do begin First; while not Eof do begin if Order_Main.FieldByName('SSel').AsBoolean=True then begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from JYOrder_ZhiJian'); sql.Add(' where ZJID='''+Trim(Order_Main.fieldbyname('ZJID').AsString)+''''); Open; end; if Trim(ADOQueryTemp.fieldbyname('Chker').AsString)<>'' then begin Order_Main.EnableControls; Application.MessageBox('已审批不能撤销!','提示',0); Exit; end; end; Next; end; end; Order_Main.EnableControls; if Application.MessageBox('确定要执行此操作吗?','提示',32+4)<>IDYES then Exit; try ADOQueryCmd.Connection.BeginTrans; Order_Main.DisableControls; with Order_Main do begin First; while Locate('SSel',True,[])=True do begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate JYOrder_ZhiJian Set Status=Null,SChktime=Null,SChker=Null'); sql.Add(' where ZJID='''+Trim(Order_Main.fieldbyname('ZJID').AsString)+''''); ExecSQL; end; Order_Main.Delete; end; end; Order_Main.EnableControls; ADOQueryCmd.Connection.CommitTrans; except Order_Main.EnableControls; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('操作异常!','提示',0); end; end; procedure TfrmJYOrderZJList.ToolButton4Click(Sender: TObject); var fPrintFile:string; begin if Order_Main.IsEmpty then Exit; fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\质检报告.rmf'; RMXLSExport2:= TRMXLSExport.Create(RMXLSExport2); with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from JYOrder_ZhiJian where ZJId='''+Trim(Order_Main.fieldbyname('ZJId').AsString)+''''); Open; end; SCreateCDS20(ADOQueryTemp,CDS_PRT); SInitCDSData20(ADOQueryTemp,CDS_PRT); if FileExists(fPrintFile) then begin //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 TfrmJYOrderZJList.ToolButton5Click(Sender: TObject); begin {if Order_Main.IsEmpty then Exit; try frmFjList_RZ:=TfrmFjList_RZ.Create(Application); with frmFjList_RZ do begin fkeyNO:=Trim(Self.Order_Main.fieldbyname('ZJId').AsString); fType:='质量检验'; if ShowModal=1 then begin end; end; finally frmFjList_RZ.Free; end; } end; end.