277 lines
7.1 KiB
ObjectPascal
277 lines
7.1 KiB
ObjectPascal
|
|
unit U_SYDeptView_PF;
|
|||
|
|
|
|||
|
|
interface
|
|||
|
|
|
|||
|
|
uses
|
|||
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|||
|
|
Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB,
|
|||
|
|
cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin,
|
|||
|
|
StdCtrls, ExtCtrls, DBClient, cxFilter, cxData, cxDataStorage, cxEdit,
|
|||
|
|
cxDBData, cxGridLevel, cxGridCustomTableView, cxGridTableView,
|
|||
|
|
cxGridDBTableView, cxClasses, cxGridCustomView, cxGrid,comobj,
|
|||
|
|
cxLookAndFeels, cxLookAndFeelPainters, cxTLdxBarBuiltInMenu, cxNavigator;
|
|||
|
|
|
|||
|
|
type
|
|||
|
|
TfrmSYDeptView_PF = class(TForm)
|
|||
|
|
ToolBar1: TToolBar;
|
|||
|
|
TBRafresh: TToolButton;
|
|||
|
|
TBAdd: TToolButton;
|
|||
|
|
TBDel: TToolButton;
|
|||
|
|
TBClose: TToolButton;
|
|||
|
|
cxDBTreeList1: TcxDBTreeList;
|
|||
|
|
cxDBTreeList1cxDBTreeListColumn2: TcxDBTreeListColumn;
|
|||
|
|
DataSource1: TDataSource;
|
|||
|
|
ADOQueryTree: TADOQuery;
|
|||
|
|
ToolButton1: TToolButton;
|
|||
|
|
ADOQueryTemp: TADOQuery;
|
|||
|
|
ADOQueryCmd: TADOQuery;
|
|||
|
|
CDS_Tree: TClientDataSet;
|
|||
|
|
cxGrid4: TcxGrid;
|
|||
|
|
Tv4: TcxGridDBTableView;
|
|||
|
|
TVPFYDian: TcxGridDBColumn;
|
|||
|
|
TVPFMNum: TcxGridDBColumn;
|
|||
|
|
cxGridLevel2: TcxGridLevel;
|
|||
|
|
CDS_User: TClientDataSet;
|
|||
|
|
DSUser: TDataSource;
|
|||
|
|
ToolButton3: TToolButton;
|
|||
|
|
v4PFType: TcxGridDBColumn;
|
|||
|
|
TDR: TToolButton;
|
|||
|
|
OpenDialog1: TOpenDialog;
|
|||
|
|
procedure FormDestroy(Sender: TObject);
|
|||
|
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
|||
|
|
procedure TBRafreshClick(Sender: TObject);
|
|||
|
|
procedure TBCloseClick(Sender: TObject);
|
|||
|
|
procedure TBAddClick(Sender: TObject);
|
|||
|
|
procedure ToolButton1Click(Sender: TObject);
|
|||
|
|
procedure TBDelClick(Sender: TObject);
|
|||
|
|
procedure FormShow(Sender: TObject);
|
|||
|
|
procedure ToolButton3Click(Sender: TObject);
|
|||
|
|
procedure cxDBTreeList1Click(Sender: TObject);
|
|||
|
|
procedure cxDBTreeList1DblClick(Sender: TObject);
|
|||
|
|
procedure TDRClick(Sender: TObject);
|
|||
|
|
private
|
|||
|
|
{ Private declarations }
|
|||
|
|
PState:Integer;
|
|||
|
|
FCPID,FTopID:String;
|
|||
|
|
procedure InitTree();
|
|||
|
|
|
|||
|
|
public
|
|||
|
|
{ Public declarations }
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
var
|
|||
|
|
frmSYDeptView_PF: TfrmSYDeptView_PF;
|
|||
|
|
|
|||
|
|
implementation
|
|||
|
|
uses
|
|||
|
|
U_DataLink,U_RTFun;
|
|||
|
|
|
|||
|
|
{$R *.dfm}
|
|||
|
|
|
|||
|
|
procedure TfrmSYDeptView_PF.InitTree();
|
|||
|
|
var
|
|||
|
|
i:Integer;
|
|||
|
|
begin
|
|||
|
|
try
|
|||
|
|
ADOQueryTree.DisableControls;
|
|||
|
|
with ADOQueryTree do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
SQL.Clear;
|
|||
|
|
SQL.Add('select * from SY_Dept order by DPlevel,DPOrder,DPName');
|
|||
|
|
Open;
|
|||
|
|
end;
|
|||
|
|
SCreateCDS20(ADOQueryTree,CDS_Tree);
|
|||
|
|
SInitCDSData20(ADOQueryTree,CDS_Tree);
|
|||
|
|
//cxDBTreeList1.Items[0].Expand(false);
|
|||
|
|
cxDBTreeList1.Items[0].Expand(True);
|
|||
|
|
with ADOQueryTemp do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
SQL.Clear;
|
|||
|
|
SQL.Add('select * from PF_User ');
|
|||
|
|
sql.Add('where DPID='''+trim(CDS_Tree.fieldbyname('DPID').AsString)+'''');
|
|||
|
|
Open;
|
|||
|
|
end;
|
|||
|
|
SCreateCDS20(ADOQueryTemp,CDS_User);
|
|||
|
|
SInitCDSData20(ADOQueryTemp,CDS_User);
|
|||
|
|
finally
|
|||
|
|
ADOQueryTree.EnableControls;
|
|||
|
|
end;
|
|||
|
|
//cxDBTreeList1.Items[1].Expand(False);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmSYDeptView_PF.FormDestroy(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
frmSYDeptView_pf:=nil;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmSYDeptView_PF.FormClose(Sender: TObject; var Action: TCloseAction);
|
|||
|
|
begin
|
|||
|
|
Action:=caFree;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmSYDeptView_PF.TBRafreshClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
InitTree();
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmSYDeptView_PF.TBCloseClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmSYDeptView_PF.TBAddClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
with CDS_User do
|
|||
|
|
begin
|
|||
|
|
Append;
|
|||
|
|
FieldByName('DPID').AsString:=Trim(CDS_Tree.fieldbyname('DPID').AsString);
|
|||
|
|
post;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmSYDeptView_PF.ToolButton1Click(Sender: TObject);
|
|||
|
|
var
|
|||
|
|
maxId:String;
|
|||
|
|
begin
|
|||
|
|
ToolBar1.SetFocus;
|
|||
|
|
if CDS_User.IsEmpty then Exit;
|
|||
|
|
with CDS_User do
|
|||
|
|
begin
|
|||
|
|
First;
|
|||
|
|
while not Eof do
|
|||
|
|
begin
|
|||
|
|
if CDS_User.FieldByName('PUID').AsString='' then
|
|||
|
|
begin
|
|||
|
|
if GetLSNo(ADOQueryCmd,maxId,'PU','PF_User',3,1)=False then
|
|||
|
|
begin
|
|||
|
|
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
end
|
|||
|
|
else
|
|||
|
|
begin
|
|||
|
|
maxId:=Trim(CDS_User.FieldByName('PUID').AsString);
|
|||
|
|
end;
|
|||
|
|
with ADOQueryCmd do
|
|||
|
|
begin
|
|||
|
|
close;
|
|||
|
|
sql.Clear;
|
|||
|
|
SQL.Add('select * from PF_User where PUID='''+trim(Maxid)+'''');
|
|||
|
|
open;
|
|||
|
|
if ADOQueryCmd.IsEmpty then
|
|||
|
|
begin
|
|||
|
|
Append;
|
|||
|
|
end
|
|||
|
|
else
|
|||
|
|
edit;
|
|||
|
|
FieldByName('PUID').Value:=trim(Maxid);
|
|||
|
|
FieldByName('PFYDian').Value:=Trim(CDS_User.FieldByName('PFYDian').AsString);
|
|||
|
|
FieldByName('PFMNum').Value:=CDS_User.FieldByName('PFMNum').AsFloat;
|
|||
|
|
FieldByName('DPID').Value:=Trim(CDS_User.fieldbyname('DPID').AsString);
|
|||
|
|
FieldByName('PFType').Value:=Trim(CDS_User.fieldbyname('PFType').AsString);
|
|||
|
|
post;
|
|||
|
|
end;
|
|||
|
|
Next;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!','<27><>ʾ',0);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmSYDeptView_PF.TBDelClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
if CDS_User.IsEmpty then exit;
|
|||
|
|
if Application.MessageBox('ȷ<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
|
|||
|
|
with ADOQueryCmd do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
SQL.Clear;
|
|||
|
|
sql.Add('delete from PF_User where PUID='''+Trim(CDS_User.fieldbyname('PUID').AsString)+'''');
|
|||
|
|
ExecSQL;
|
|||
|
|
end;
|
|||
|
|
CDS_User.Delete;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmSYDeptView_PF.FormShow(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
if PState<>1 then
|
|||
|
|
begin
|
|||
|
|
ToolButton3.Visible:=False;
|
|||
|
|
TBAdd.Visible:=True;
|
|||
|
|
TBDel.Visible:=True;
|
|||
|
|
ToolButton1.Visible:=True;
|
|||
|
|
end
|
|||
|
|
else
|
|||
|
|
begin
|
|||
|
|
ToolButton3.Visible:=True;
|
|||
|
|
TBAdd.Visible:=False;
|
|||
|
|
TBDel.Visible:=False;
|
|||
|
|
ToolButton1.Visible:=False;
|
|||
|
|
end;
|
|||
|
|
InitTree();
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmSYDeptView_PF.ToolButton3Click(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
ModalResult:=1;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmSYDeptView_PF.cxDBTreeList1Click(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
with ADOQueryTemp do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
SQL.Clear;
|
|||
|
|
SQL.Add('select * from PF_User ');
|
|||
|
|
sql.Add('where DPID='''+trim(CDS_Tree.fieldbyname('DPID').AsString)+'''');
|
|||
|
|
Open;
|
|||
|
|
end;
|
|||
|
|
SCreateCDS20(ADOQueryTemp,CDS_User);
|
|||
|
|
SInitCDSData20(ADOQueryTemp,CDS_User);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmSYDeptView_PF.cxDBTreeList1DblClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
if PState=1 then
|
|||
|
|
begin
|
|||
|
|
with ADOQueryTemp do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
SQL.Clear;
|
|||
|
|
SQL.Add('select * from PF_User ');
|
|||
|
|
sql.Add('where DPID='''+trim(CDS_Tree.fieldbyname('DPID').AsString)+'''');
|
|||
|
|
Open;
|
|||
|
|
end;
|
|||
|
|
SCreateCDS20(ADOQueryTemp,CDS_User);
|
|||
|
|
SInitCDSData20(ADOQueryTemp,CDS_User);
|
|||
|
|
ModalResult:=1;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmSYDeptView_PF.TDRClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
{try
|
|||
|
|
OpenDialog1.Filter:='xls(*.xls)|*.xls|ȫ<><C8AB>(*.*)|*.*';
|
|||
|
|
OpenDialog1.Options:=[ofOverwritePrompt];
|
|||
|
|
OpenDialog1.FileName:='<27><>֯<EFBFBD><D6AF><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>';
|
|||
|
|
if OpenDialog1.Execute then
|
|||
|
|
if Assigned(cxGrid4) then
|
|||
|
|
begin
|
|||
|
|
try
|
|||
|
|
ExportGrid4ToExcel(OpenDialog1.FileName,cxGrid4);
|
|||
|
|
except
|
|||
|
|
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>,Դ<>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ܴ<EFBFBD><DCB4>ڱ༭״̬!','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
|
|||
|
|
exit;
|
|||
|
|
end;
|
|||
|
|
application.MessageBox('<27>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
|
|||
|
|
end
|
|||
|
|
else
|
|||
|
|
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
|
|||
|
|
finally
|
|||
|
|
OpenDialog1.Free;
|
|||
|
|
end;}
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
end.
|