unit U_ClothContractListSX; 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; type TfrmClothContractListSX = 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; Label2: TLabel; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; Label3: TLabel; ConNoM: TEdit; Label5: TLabel; C_CodeNameM: TEdit; TBExport: TToolButton; Order_Main: TClientDataSet; Label4: TLabel; C_Spec: TEdit; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; RMXLSExport1: TRMXLSExport; CDS_PRT: TClientDataSet; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1OrderNo: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1DeliveryDate: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1FactoryNo1Name: TcxGridDBColumn; v1PRTSpec: TcxGridDBColumn; v1Qty1: TcxGridDBColumn; v1PRTOrderQty: TcxGridDBColumn; v1OrderUnit: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1PRTUnit: TcxGridDBColumn; v1PRTQty: TcxGridDBColumn; v1Column4: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; 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 ConNoMChange(Sender: TObject); procedure FormShow(Sender: TObject); procedure conPress(Sender: TObject; var Key: Char); private FInt,PFInt:Integer; procedure InitGrid(); procedure InitForm(); function DelData():Boolean; { Private declarations } public { Public declarations } end; var frmClothContractListSX: TfrmClothContractListSX; implementation uses U_DataLink,U_ClothContractInPutSX,U_Fun,U_ProductOrderList,U_ZDYHelp; {$R *.dfm} procedure TfrmClothContractListSX.FormDestroy(Sender: TObject); begin frmClothContractListSX:=nil; end; procedure TfrmClothContractListSX.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmClothContractListSX.FormCreate(Sender: TObject); begin //BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp)-7; //EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp); end; procedure TfrmClothContractListSX.TBCloseClick(Sender: TObject); begin Close; WriteCxGrid('坯布合同订单列表SX',Tv1,'指示单管理'); end; procedure TfrmClothContractListSX.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add('exec ClothContractSX_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 TfrmClothContractListSX.InitForm(); begin ReadCxGrid('坯布合同订单列表SX',Tv1,'指示单管理'); if Trim(DParameters1)='1' then begin TBPrint.Visible:=False; v1Column1.Visible:=False; v1Column1.Hidden:=True; v1PRTUnit.Visible:=False; v1PRTUnit.Hidden:=True; v1PRTQty.Visible:=False; v1PRTQty.Hidden:=True; end else begin v1Column1.Visible:=True; v1Column1.Hidden:=False; v1PRTUnit.Visible:=True; v1PRTUnit.Hidden:=False; v1PRTQty.Visible:=True; v1PRTQty.Hidden:=False; TBPrint.Visible:=True; end; BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-7; EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); InitGrid(); end; procedure TfrmClothContractListSX.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 TfrmClothContractListSX.TBEditClick(Sender: TObject); begin if Order_Main.IsEmpty then Exit; try frmClothContractInPutSX:=TfrmClothContractInPutSX.Create(Application); with frmClothContractInPutSX do begin PState:=1; FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); FConNo:=Trim(Self.Order_Main.fieldbyname('ConNoM').AsString); if ShowModal=1 then begin end; end; finally frmClothContractInPutSX.Free; end; end; procedure TfrmClothContractListSX.TBDelClick(Sender: TObject); begin if Order_Main.IsEmpty then Exit; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from ContractSX_Sub_MX B inner join Contract_Sub C on B.SubId=C.SubId '); sql.Add(' where C.Mainid='''+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 //TBRafresh.Click; //TBFind.Click; Order_Main.Delete; end; end; function TfrmClothContractListSX.DelData():Boolean; begin try Result:=false; ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete ContractSX_Sub where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); ExecSQL; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from ContractSX_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); Open; end; if ADOQueryTemp.IsEmpty then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete ContractSX_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); ExecSQL; end; end; if Trim(Order_Main.fieldbyname('SubId').AsString)='' then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete ContractSX_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 TfrmClothContractListSX.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; TcxGridToExcel('坯布合同订单列表',cxGrid1); end; procedure TfrmClothContractListSX.TBPrintClick(Sender: TObject); var fPrintFile,FConNoM:string; begin if Order_Main.IsEmpty then Exit; fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\纱线订购合同.rmf' ; with ADOQueryTemp do begin Filtered:=False; Close; sql.Clear; sql.Add('exec ClothContractSX_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))+''''; Parameters.ParamByName('MainId').Value:=Trim(Order_Main.fieldbyname('MainId').AsString); Parameters.ParamByName('WSql').Value:=''; Open; end; SCreateCDS20(ADOQueryTemp,CDS_PRT); SInitCDSData20(ADOQueryTemp,CDS_PRT); FConNoM:=Trim(CDS_PRT.fieldbyname('ConNoM').AsString); //SDofilter(ADOQueryMain,' ConNoM='''+Trim(Order_Main.fieldbyname('ConNoM').AsString)+''''); //SCreateCDS20(ADOQueryMain,Order_Main); //SInitCDSData20(ADOQueryMain,Order_Main); if FileExists(fPrintFile) then begin //RMVariables['begindate']:=begindate.DateTime; //RMVariables['enddate']:=enddate.DateTime; //RMVariables['printtime']:=Now; //RMVariables['printer']:=Trim(gUserName); RM1.LoadFromFile(fPrintFile); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找'+ExtractFilePath(Application.ExeName)+'Report\纱线订购合同.rmf'),'提示',0); end; end; procedure TfrmClothContractListSX.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmClothContractListSX.TBAddClick(Sender: TObject); begin try frmClothContractInPutSX:=TfrmClothContractInPutSX.Create(Application); with frmClothContractInPutSX do begin PState:=0; FMainId:=''; if ShowModal=1 then begin end; end; finally frmClothContractInPutSX.Free; end; end; procedure TfrmClothContractListSX.ConNoMChange(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 TfrmClothContractListSX.FormShow(Sender: TObject); begin InitForm(); end; procedure TfrmClothContractListSX.conPress(Sender: TObject; var Key: Char); begin if Key=#13 then begin if Length(Trim(ConNoM.Text))<3 then Exit; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add('exec ClothContractSX_QryList :MainId,:WSql'); Parameters.ParamByName('WSql').Value:=' and OM.conNo like '''+'%'+Trim(ConNoM.Text)+'%'+''''; Open; end; SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); finally ADOQueryMain.EnableControls; end; end; end; end.