unit U_GYSOrderCX; 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, cxPC; type TfrmGYSOrderCX = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: 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; Label5: TLabel; MPRTCodeName: TEdit; TBExport: TToolButton; Order_Main: TClientDataSet; Label4: TLabel; MPRTSpec: TEdit; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; RMXLSExport1: TRMXLSExport; CDS_PRT: TClientDataSet; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1OrderNo: TcxGridDBColumn; v1MPRTCodeName: TcxGridDBColumn; v1ToFactoryName: TcxGridDBColumn; v1MPRTSpec: TcxGridDBColumn; v1SumPS: TcxGridDBColumn; v1SumQty: TcxGridDBColumn; v1QtyUnit: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; v1OrdDate: TcxGridDBColumn; v1JGCKQty: TcxGridDBColumn; v1JGCKPS: TcxGridDBColumn; Label2: TLabel; ConNoHZ: TEdit; v1ConNOHZ: TcxGridDBColumn; Label6: TLabel; ToFactoryName: TEdit; v1JGWCPS: TcxGridDBColumn; v1JGWCQty: TcxGridDBColumn; v1KCPS: TcxGridDBColumn; v1KCQty: TcxGridDBColumn; v1SHQty: TcxGridDBColumn; v1SHLv: TcxGridDBColumn; JGCRK: TToolButton; ToolButton1: TToolButton; ToolButton2: TToolButton; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure OrderNOChange(Sender: TObject); procedure FormShow(Sender: TObject); procedure cxPageControl1Change(Sender: TObject); procedure OrderNOKeyPress(Sender: TObject; var Key: Char); procedure JGCRKClick(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); private FInt,PFInt:Integer; procedure InitGrid(); procedure InitForm(); function DelData():Boolean; { Private declarations } public { Public declarations } end; var frmGYSOrderCX: TfrmGYSOrderCX; implementation uses U_DataLink,U_ClothContractInPutSX,U_Fun,U_ProductOrderList,U_ZDYHelp,U_ClothContractInPutSXMX ,U_ClothContractInPutHZ,U_ClothContractInPutPB,U_SXCKNewList_CX,U_SXCKOutList_CX,U_DJBRKList_CX; {$R *.dfm} procedure TfrmGYSOrderCX.FormDestroy(Sender: TObject); begin frmGYSOrderCX:=nil; end; procedure TfrmGYSOrderCX.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmGYSOrderCX.TBCloseClick(Sender: TObject); begin Close; WriteCxGrid('供应商汇总',Tv1,'指示单管理'); end; procedure TfrmGYSOrderCX.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; sql.Clear; sql.Add('exec P_Get_GYSSH :begdate,:enddate,:FOrderNO'); Parameters.ParamByName('begdate').Value:=FormatDateTime('yyyy-MM-dd',BegDate.Date); Parameters.ParamByName('enddate').Value:=FormatDateTime('yyyy-MM-dd',EndDate.Date+1); Parameters.ParamByName('FOrderNo').Value:=Trim(Self.OrderNO.Text); Open; end; SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); finally; ADOQueryMain.EnableControls; end; end; procedure TfrmGYSOrderCX.InitForm(); begin ReadCxGrid('供应商汇总',Tv1,'指示单管理'); BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-7; EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); InitGrid(); end; procedure TfrmGYSOrderCX.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; function TfrmGYSOrderCX.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 TfrmGYSOrderCX.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; TcxGridToExcel('坯布合同订单列表',cxGrid1); end; procedure TfrmGYSOrderCX.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmGYSOrderCX.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 TfrmGYSOrderCX.FormShow(Sender: TObject); begin InitForm(); end; procedure TfrmGYSOrderCX.cxPageControl1Change(Sender: TObject); begin InitGrid(); end; procedure TfrmGYSOrderCX.OrderNOKeyPress(Sender: TObject; var Key: Char); begin if Key=#13 then begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; sql.Clear; sql.Add('exec P_Get_GYSSH :begdate,:enddate,:FOrderNO'); Parameters.ParamByName('begdate').Value:='2010-01-01'; Parameters.ParamByName('enddate').Value:='2010-01-01'; Parameters.ParamByName('FOrderNo').Value:=Trim(Self.OrderNO.Text); Open; end; SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); finally; ADOQueryMain.EnableControls; end; end; end; procedure TfrmGYSOrderCX.JGCRKClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; frmSXCKNewListCX:=TfrmSXCKNewListCX.create(self); with frmSXCKNewListCX do begin FToFactoryName:=Trim(Order_Main.fieldbyname('ToFactoryName').AsString); FOrderNo:=Trim(Order_Main.fieldbyname('OrderNo').AsString); if ShowModal=1 then begin end; free; end; end; procedure TfrmGYSOrderCX.ToolButton1Click(Sender: TObject); begin if Order_Main.IsEmpty then exit; frmSXCKOutListCX:=TfrmSXCKOutListCX.create(self); with frmSXCKOutListCX do begin FToFactoryName:=Trim(Order_Main.fieldbyname('ToFactoryName').AsString); FOrderNo:=Trim(Order_Main.fieldbyname('OrderNo').AsString); if ShowModal=1 then begin end; free; end; end; procedure TfrmGYSOrderCX.ToolButton2Click(Sender: TObject); begin frmDJBRKList_CX:=TfrmDJBRKList_CX.create(self); with frmDJBRKList_CX do begin FFactoryName:=trim(Order_Main.fieldbyname('ToFactoryName').AsString); FOrderNo:=Trim(Order_Main.fieldbyname('OrderNo').AsString); if ShowModal=1 then begin end; free; end; end; end.