unit U_ContractListSel; 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, cxPC, cxButtonEdit, cxDropDownEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, dxSkinsCore, dxSkinsDefaultPainters, dxSkinscxPCPainter; type TfrmContractListSel = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBClose: TToolButton; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; Order_Main: TClientDataSet; RM1: TRMGridReport; RMDBDataSet1: TRMDBDataSet; RMXLSExport1: TRMXLSExport; PopupMenu1: TPopupMenu; N2: TMenuItem; ADOQueryPrint: TADOQuery; Panel1: TPanel; Label1: TLabel; Label4: TLabel; Label5: TLabel; Label8: TLabel; Label9: TLabel; Label12: TLabel; Label13: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; BuyName: TEdit; Salesman: TEdit; MPRTCodeName: TEdit; ConNo: TEdit; MPRTKZ: TEdit; MPRTMF: TEdit; cxGrid1: TcxGrid; TV1: TcxGridDBTableView; cxGridDBColumn1: TcxGridDBColumn; v1Column5: TcxGridDBColumn; cxGridDBColumn2: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column3: TcxGridDBColumn; cxGridDBColumn4: TcxGridDBColumn; v1OrderUnit: TcxGridDBColumn; cxGridDBColumn6: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; Label2: TLabel; BuyConNo: TEdit; Label3: TLabel; V2Column4: TcxGridDBColumn; V2Column2: TcxGridDBColumn; V2Column3: TcxGridDBColumn; V2Column5: TcxGridDBColumn; N1: TMenuItem; V1Column1: TcxGridDBColumn; ToolButton2: TToolButton; cxTabControl1: TcxTabControl; V1Column2: TcxGridDBColumn; V1Column4: TcxGridDBColumn; V1Column8: TcxGridDBColumn; V1Column9: TcxGridDBColumn; Label6: TLabel; P_Code: TEdit; cxStyleRepository1: TcxStyleRepository; cxStyle1: TcxStyle; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBTPClick(Sender: TObject); 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 BuyNameChange(Sender: TObject); procedure ConNoKeyPress(Sender: TObject; var Key: Char); procedure cxTabControl1Change(Sender: TObject); procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); procedure N2Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); private DQdate: TDateTime; fuserName: string; procedure InitGrid(); procedure InitForm(); function DelData(): Boolean; { Private declarations } public FFInt, FCloth: Integer; canshu1, FConNo, FGSTT: string; { Public declarations } end; var frmContractListSel: TfrmContractListSel; implementation uses U_DataLink, U_Fun, U_ZDYHelp, U_FjList_RZ; {$R *.dfm} procedure TfrmContractListSel.FormDestroy(Sender: TObject); begin frmContractListSel := nil; end; procedure TfrmContractListSel.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmContractListSel.FormCreate(Sender: TObject); begin cxgrid1.Align := alClient; DQdate := SGetServerDate(ADOQueryTemp); canshu1 := trim(DParameters1); end; procedure TfrmContractListSel.TBCloseClick(Sender: TObject); begin Close; writeCxGrid(self.Caption + tv1.Name, Tv1, '合同管理'); end; procedure TfrmContractListSel.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add('select A.* ,B.* '); sql.Add(' from Contract_Main A inner join Contract_Sub B on A.ConMainId=B.ConMainId '); SQL.Add('where A.ConDate>=''' + FormatDateTime('yyyy-MM-dd', BegDate.DateTime) + ''''); SQL.Add('and A.ConDate<''' + FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1) + ''''); // SQL.Add(' and isnull(A.status,''0'')=''1'' '); SQL.Add('and isnull(ISZJXS,'''')<>''是'''); if trim(FConNo) <> '' then SQL.Add(' and A.ConNo=' + quotedstr(trim(FConNo))); case cxTabControl1.TabIndex of 0: begin SQL.Add('AND NOT EXISTS ( select X.MainId from PD_Plan_Sub X where X.ConSubId=B.ConSubId ) '); end; 1: begin SQL.Add('AND EXISTS ( select X.MainId from PD_Plan_Sub X where X.ConSubId=B.ConSubId ) '); end; end; Open; end; SCreateCDS20(ADOQueryMain, Order_Main); SInitCDSData20(ADOQueryMain, Order_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmContractListSel.InitForm(); begin readCxGrid(self.Caption + tv1.Name, Tv1, '合同管理'); EndDate.DateTime := SGetServerDate10(ADOQueryTemp); BegDate.DateTime := EndDate.DateTime - 90; InitGrid(); end; procedure TfrmContractListSel.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 TfrmContractListSel.DelData(): Boolean; begin try Result := false; ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete JYOrderCon_Sub where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + ''''); ExecSQL; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete JYOrderCon_Main where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + ''''); ExecSQL; end; ADOQueryCmd.Connection.CommitTrans; Result := True; except ADOQueryCmd.Connection.RollbackTrans; Result := False; Application.MessageBox('数据删除异常!', '提示', 0); end; end; procedure TfrmContractListSel.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmContractListSel.FormShow(Sender: TObject); begin InitForm(); end; procedure TfrmContractListSel.TBTPClick(Sender: TObject); var FQty, FQty1, FMxQty, FPQty, FMxQtyS, FPQtyS: string; begin end; procedure TfrmContractListSel.CheckBox1Click(Sender: TObject); begin InitGrid(); end; procedure TfrmContractListSel.CheckBox2Click(Sender: TObject); begin TBRafresh.Click; end; procedure TfrmContractListSel.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 TfrmContractListSel.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 TfrmContractListSel.N1Click(Sender: TObject); begin SelOKNo(Order_Main, false); end; procedure TfrmContractListSel.BuyNameChange(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 TfrmContractListSel.ConNoKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin InitGrid(); TBFind.Click(); end; end; procedure TfrmContractListSel.cxTabControl1Change(Sender: TObject); begin TBRafresh.Click; end; procedure TfrmContractListSel.Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); begin if AViewInfo.GridRecord.Values[tv1.GetColumnByFieldName('status').Index] = '2' then ACanvas.Brush.Color := clLime; end; procedure TfrmContractListSel.N2Click(Sender: TObject); begin SelOKNo(Order_Main, true); end; procedure TfrmContractListSel.ToolButton2Click(Sender: TObject); begin if Order_Main.IsEmpty then Exit; ModalResult := 1; end; end.