D7gmYongjin/进度统计查询(Statistics.dll)/U_JTSCTJList.pas

379 lines
9.4 KiB
ObjectPascal
Raw Permalink Normal View History

2026-03-04 09:51:44 +08:00
unit U_JTSCTJList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView,
cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses,
cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls,
ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient,
cxDropDownEdit, cxCheckBox, RM_Common, RM_Class, RM_e_Xls, RM_Dataset,
RM_System, RM_GridReport, Menus, cxCalendar, cxButtonEdit, cxTextEdit, BtnEdit,
cxPC, DateUtils;
type
TfrmJTSCTJList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBExport: TToolButton;
TBClose: TToolButton;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
cxGridPopupMenu1: TcxGridPopupMenu;
CDS_Main: TClientDataSet;
RM1: TRMGridReport;
RMDBMain: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
RMDBHZ: TRMDBDataSet;
CDS_PRT: TClientDataSet;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
ADOQueryPrint: TADOQuery;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column21: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v1Column15: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
Panel1: TPanel;
Label2: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
Label4: TLabel;
cxTabControl1: TcxTabControl;
pnlX: TPanel;
pnlS: TPanel;
pnlZ: TPanel;
XZNDate: TDateTimePicker;
Label1: TLabel;
ToolButton1: TToolButton;
v1Column1: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
tbISHZ: TToolButton;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ConNoMChange(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure SPIDKeyPress(Sender: TObject; var Key: Char);
procedure SPIDChange(Sender: TObject);
procedure SPSpecChange(Sender: TObject);
procedure FactoryNameChange(Sender: TObject);
procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
procedure cxTabControl1Change(Sender: TObject);
procedure pnlXClick(Sender: TObject);
procedure pnlSClick(Sender: TObject);
procedure pnlZClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure XZNDateClick(Sender: TObject);
procedure tbISHZClick(Sender: TObject);
private
SZX: string;
ISHZ: string;
procedure SetStatus();
procedure SetCXDate();
procedure InitGrid(KLScope: string);
{ Private declarations }
public
canshu1: string;
{ Public declarations }
end;
implementation
uses
U_DataLink, U_RTFun, U_ZDYHelp;
{$R *.dfm}
procedure TfrmJTSCTJList.SetCXDate();
begin
BegDate.Date := StrToDate(FormatDateTime('yyyy-', XZNDate.DateTime) + IntToStr(cxTabControl1.TabIndex + 1) + '-01');
if SZX = '<27><>Ѯ' then
begin
EndDate.Date := BegDate.Date + 9;
end;
if SZX = '<27><>Ѯ' then
begin
BegDate.Date := BegDate.Date + 10;
EndDate.Date := BegDate.Date + 9;
end;
if SZX = '<27><>Ѯ' then
begin
BegDate.Date := BegDate.Date + 20;
EndDate.Date := EndOfTheMonth(BegDate.Date);
end;
end;
procedure TfrmJTSCTJList.SetStatus();
begin
end;
procedure TfrmJTSCTJList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmJTSCTJList.FormCreate(Sender: TObject);
begin
EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
BegDate.DateTime := EndDate.DateTime;
XZNDate.DateTime := EndDate.DateTime;
ISHZ := '<27><>ϸ';
end;
procedure TfrmJTSCTJList.InitGrid(KLScope: string);
var
WSql: string;
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
sql.Clear;
if ISHZ = '<27><><EFBFBD><EFBFBD>' then
sql.Add(' exec P_View_JTSCTJHZ ')
else
sql.Add(' exec P_View_JTSCTJ ');
sql.Add(quotedstr(trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime))));
sql.Add(' ,' + quotedstr(trim(FormatDateTime('yyyy-MM-dd', EndDate.DateTime + 1))));
// showmessage(sql.text);
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmJTSCTJList.TBRafreshClick(Sender: TObject);
begin
InitGrid('');
end;
procedure TfrmJTSCTJList.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmJTSCTJList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(trim(self.Caption), Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmJTSCTJList.FormShow(Sender: TObject);
begin
SZX := '<27><>Ѯ';
pnlS.Color := clLime;
pnlZ.Color := clYellow;
pnlX.Color := clYellow;
SetCXDate();
SetStatus();
ReadCxGrid(trim(self.Caption), Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
InitGrid('');
end;
procedure TfrmJTSCTJList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
TcxGridToExcel('<27><><EFBFBD><EFBFBD><ECB2BC><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', cxGrid2);
end;
procedure TfrmJTSCTJList.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
end;
end;
procedure TfrmJTSCTJList.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmJTSCTJList.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
procedure TfrmJTSCTJList.SPIDKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
{if Length(Trim(SPID.Text))<4 then Exit;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add(' select A.* ');
sql.Add(',ConNo=(select ConNo from Contract_Main CM where CM.MainId=A.CGMainId)');
//sql.Add(' ,ConNo=(select ConNo from Contract_Main CM where CM.MainId=A.CGMainId )');
sql.Add(' from CK_SXPB_CR A');
sql.add(' where SPID like :SXID');
Parameters.ParamByName('SXID').Value:='%'+Trim(SXID.Text)+'%';
Open;
//ShowMessage(SQL.Text);
end;
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
finally
ADOQueryMain.EnableControls;
end; }
end;
end;
procedure TfrmJTSCTJList.SPIDChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmJTSCTJList.SPSpecChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmJTSCTJList.FactoryNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmJTSCTJList.Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
var
FKuLin: double;
begin
// <20><><EFBFBD><EFBFBD> <20><>15<31><35> <20><>15<31><35>30<33><30> <20><>30<33><30>45<34><35> <20><>45<34><35>60<36><30> <20><>60<36><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
// if AViewInfo.GridRecord.Values[TcxGridDBTableView(Sender).GetColumnByFieldName('PJKuLin').Index] = null then
// Exit;
// FKuLin := AViewInfo.GridRecord.Values[TcxGridDBTableView(Sender).GetColumnByFieldName('PJKuLin').Index];
//
// if ((FKuLin < 30) and (FKuLin >= 15)) then
// begin
// ACanvas.Brush.Color := $00FF00;
// end;
// if ((FKuLin < 45) and (FKuLin >= 30)) then
// begin
// ACanvas.Brush.Color := $ED9564;
// end;
// if ((FKuLin < 60) and (FKuLin >= 45)) then
// begin
// ACanvas.Brush.Color := $00FFFF;
// end;
// if FKuLin >= 60 then
// begin
// ACanvas.Brush.Color := $4763FF;
// end;
end;
procedure TfrmJTSCTJList.cxTabControl1Change(Sender: TObject);
begin
SetCXDate();
end;
procedure TfrmJTSCTJList.pnlXClick(Sender: TObject);
begin
SZX := '<27><>Ѯ';
pnlS.Color := clYellow;
pnlZ.Color := clYellow;
pnlX.Color := clLime;
SetCXDate();
end;
procedure TfrmJTSCTJList.pnlSClick(Sender: TObject);
begin
SZX := '<27><>Ѯ';
pnlS.Color := clLime;
pnlZ.Color := clYellow;
pnlX.Color := clYellow;
SetCXDate();
end;
procedure TfrmJTSCTJList.pnlZClick(Sender: TObject);
begin
SZX := '<27><>Ѯ';
pnlS.Color := clYellow;
pnlZ.Color := clLime;
pnlX.Color := clYellow;
SetCXDate();
end;
procedure TfrmJTSCTJList.ToolButton1Click(Sender: TObject);
begin
if cxTabControl1.Visible = True then
begin
cxTabControl1.Visible := false;
Panel1.Visible := True;
end
else
begin
cxTabControl1.Visible := True;
Panel1.Visible := false;
end;
end;
procedure TfrmJTSCTJList.XZNDateClick(Sender: TObject);
begin
SetCXDate();
end;
procedure TfrmJTSCTJList.tbISHZClick(Sender: TObject);
begin
if ISHZ = '<27><><EFBFBD><EFBFBD>' then
begin
ISHZ := '<27><>ϸ';
tbISHZ.Caption := '<27><>ϸ';
v1Column1.Visible := True;
v1Column2.Visible := True;
v2Column1.Visible := True;
end
else
begin
ISHZ := '<27><><EFBFBD><EFBFBD>';
tbISHZ.Caption := '<27><><EFBFBD><EFBFBD>';
v1Column1.Visible := False;
v1Column2.Visible := False;
v2Column1.Visible := False;
end;
end;
end.