D7FZaideng/基础资料维护(BaseInfo.dll)/U_ZdyAttachGYS.pas
DESKTOP-E401PHE\Administrator 82c6347dad ~
2025-04-30 16:21:22 +08:00

386 lines
10 KiB
ObjectPascal
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit U_ZdyAttachGYS;
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, cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls,
cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid,
cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common,
RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdFTP,ShellAPI,IniFiles, cxCheckBox, cxCalendar,
cxButtonEdit, cxTextEdit, cxLookAndFeels, cxLookAndFeelPainters,
cxNavigator;
type
TfrmZdyAttachGYS = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBDel: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
ToolButton2: TToolButton;
ADOQueryMain: TADOQuery;
ToolButton1: TToolButton;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
Label3: TLabel;
ZdyName: TEdit;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridLevel1: TcxGridLevel;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
CDS_HZ: TClientDataSet;
ToolButton3: TToolButton;
v2Column6: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v2Column2: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v2Column4: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
v2Column7: TcxGridDBColumn;
v2Column9: TcxGridDBColumn;
Label1: TLabel;
ZdyCode: TEdit;
ToolButton4: TToolButton;
v2Column8: TcxGridDBColumn;
Label2: TLabel;
v2Column10: TcxGridDBColumn;
v2Column11: TcxGridDBColumn;
v2Column12: TcxGridDBColumn;
v2Column13: TcxGridDBColumn;
DEFStr7: TEdit;
Label4: TLabel;
v2Column14: TcxGridDBColumn;
defstr5: TEdit;
Panel2: TPanel;
ToolBar2: TToolBar;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
cxGrid1: TcxGrid;
TV3: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
cxGridDBColumn2: TcxGridDBColumn;
cxGridDBColumn12: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
TV3Column1: TcxGridDBColumn;
TV3Column2: TcxGridDBColumn;
DSsub: TDataSource;
CDSsub: TClientDataSet;
ADOQuerysub: TADOQuery;
ToolButton5: TToolButton;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ZdyNameChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton8Click(Sender: TObject);
procedure ToolButton9Click(Sender: TObject);
procedure ToolButton7Click(Sender: TObject);
procedure cxGridDBColumn1PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure ToolButton5Click(Sender: TObject);
procedure Tv2CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
private
{ Private declarations }
procedure InitGrid();
procedure Initsub();
public
fDEFstr5:string;
end;
var
frmZdyAttachGYS: TfrmZdyAttachGYS;
implementation
uses
U_DataLink,U_Fun,U_ZDYHelp,U_ZdyAttInputGYS, U_ZdyAttachCP10_help;
{$R *.dfm}
procedure TfrmZdyAttachGYS.Initsub();
begin
if cdssub.Active then CDSsub.EmptyDataSet;
IF CDS_hz.IsEmpty then exit;
try
with ADOQuerysub do
begin
Close;
SQL.Clear;
sql.Add(' select * from KH_Zdy_CPCB where ATID='''+trim(cds_hz.fieldbyname('ATID').AsString)+''' and CBType=''GYSYSCP'' ');
Open;
end;
SCreateCDS20(ADOQuerysub,CDSsub);
SInitCDSData20(ADOQuerysub,CDSsub);
tv3.OptionsData.Editing:=false;
finally
end;
end;
procedure TfrmZdyAttachGYS.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
SQL.Clear;
sql.Add(' select * from KH_Zdy_Attachment where Type=''GYS'' ');
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_HZ);
SInitCDSData20(ADOQueryMain,CDS_HZ);
finally
ADOQueryMain.EnableControls;
end;
ToolButton2.Click;
Initsub();
end;
procedure TfrmZdyAttachGYS.FormDestroy(Sender: TObject);
begin
frmZdyAttachGYS:=nil;
end;
procedure TfrmZdyAttachGYS.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmZdyAttachGYS.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27><>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',Tv2,'<27>ͻ<EFBFBD><CDBB>Զ<EFBFBD><D4B6><EFBFBD>');
Close;
end;
procedure TfrmZdyAttachGYS.TBDelClick(Sender: TObject);
begin
if CDS_HZ.IsEmpty then Exit;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
if Trim(CDS_HZ.fieldbyname('ATID').AsString)<>'' then
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('delete KH_Zdy_Attachment where ATID='''+Trim(CDS_HZ.fieldbyname('ATID').AsString)+'''');
sql.Add('delete KH_Zdy where ZdyNo='''+Trim(CDS_HZ.fieldbyname('ATID').AsString)+'''');
ExecSQL;
end;
end;
CDS_HZ.Delete;
end;
procedure TfrmZdyAttachGYS.FormShow(Sender: TObject);
begin
ReadCxGrid('<27><>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',Tv2,'<27>ͻ<EFBFBD><CDBB>Զ<EFBFBD><D4B6><EFBFBD>');
IF trim(fDEFstr5)<>'' then
begin
DEFstr5.Text:=trim(fDEFstr5);
DEFstr5.Enabled:=false;
end;
InitGrid();
end;
procedure TfrmZdyAttachGYS.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmZdyAttachGYS.ToolButton2Click(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,CDS_HZ);
SInitCDSData20(ADOQueryMain,CDS_HZ);
Initsub();
end;
end;
procedure TfrmZdyAttachGYS.ZdyNameChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmZdyAttachGYS.ToolButton1Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then Exit;
TcxGridToExcel(self.Caption,cxgrid2);
// SelExportData(Tv2,ADOQueryMain,'<27><>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>');
end;
procedure TfrmZdyAttachGYS.ToolButton4Click(Sender: TObject);
begin
try
frmZdyAttInputGYS:=TfrmZdyAttInputGYS.Create(Application);
with frmZdyAttInputGYS do
begin
FCYID:=Trim(Self.CDS_HZ.fieldbyname('ATID').AsString);
fDEFstr5:=self.fDEFstr5;
if ShowModal=1 then
begin
TBRafresh.Click;
end;
end;
finally
frmZdyAttInputGYS.Free;
end;
end;
procedure TfrmZdyAttachGYS.ToolButton3Click(Sender: TObject);
begin
try
frmZdyAttInputGYS:=TfrmZdyAttInputGYS.Create(Application);
with frmZdyAttInputGYS do
begin
FCYID:='';
fDEFstr5:=self.fDEFstr5;
if ShowModal=1 then
begin
TBRafresh.Click;
end;
end;
finally
frmZdyAttInputGYS.Free;
end;
end;
procedure TfrmZdyAttachGYS.ToolButton8Click(Sender: TObject);
begin
IF cdssub.IsEmpty then exit;
tv3.OptionsData.Editing:=true;
end;
procedure TfrmZdyAttachGYS.ToolButton9Click(Sender: TObject);
begin
if CDSsub.IsEmpty then Exit;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
if Trim(CDSsub.fieldbyname('CBID').AsString)<>'' then
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('delete KH_Zdy_CPCB where CBID='''+Trim(CDSsub.fieldbyname('CBID').AsString)+'''');
ExecSQL;
end;
end;
CDSsub.Delete;
end;
procedure TfrmZdyAttachGYS.ToolButton7Click(Sender: TObject);
begin
tv3.OptionsData.Editing:=true;
CDSsub.Append;
cdsSub.Post;
end;
procedure TfrmZdyAttachGYS.cxGridDBColumn1PropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
begin
frmZdyAttachCP10_help:=TfrmZdyAttachCP10_help.create(self);
with frmZdyAttachCP10_help do
begin
if showmodal=1 then
begin
cdssub.Edit;
cdssub.FieldByName('zdyCode').Value:=trim(cds_hz.fieldbyname('zdyCode').AsString);
cdssub.FieldByName('zdyName').Value:=trim(cds_hz.fieldbyname('zdyName').AsString);
cdssub.FieldByName('defstr1').Value:=trim(cds_hz.fieldbyname('defstr1').AsString);
cdssub.FieldByName('defstr2').Value:=trim(cds_hz.fieldbyname('defstr2').AsString);
cdssub.Post;
end;
free;
end;
tv3.Controller.EditingController.ShowEdit();
end;
procedure TfrmZdyAttachGYS.ToolButton5Click(Sender: TObject);
var
maxId:string;
begin
if CDSsub.IsEmpty then exit;
try
with CDSsub do
begin
first;
while not eof do
begin
IF trim(fieldbyname('CBID').AsString)='' then
begin
if GetLSNo(ADOQueryCmd,maxId,'CY','KH_Zdy_CPCB',4,1)=False then
begin
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
end
else
maxId:=trim(fieldbyname('CBID').AsString);
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('select * from KH_Zdy_CPCB where CBID='''+Trim(maxId)+'''');
open;
if ADOQueryCmd.IsEmpty then
begin
Append;
FieldByName('Filler').Value:=Trim(DName);
end
else
begin
Edit;
FieldByName('Editer').Value:=Trim(DName);
FieldByName('Edittime').Value:=now();
end;
FieldByName('CBID').Value:=Trim(maxId);
FieldByName('ATID').Value:=Trim(CDS_HZ.fieldbyname('ATID').AsString);
FieldByName('ZdyCode').Value:=Trim(cdssub.fieldbyname('ZdyCode').AsString);
FieldByName('ZdyName').Value:=Trim(cdssub.fieldbyname('ZdyName').AsString);
FieldByName('defstr1').Value:=Trim(cdssub.fieldbyname('defstr1').AsString);
FieldByName('defstr2').Value:=Trim(cdssub.fieldbyname('defstr2').AsString);
FieldByName('note').Value:=Trim(cdssub.fieldbyname('note').AsString);
FieldByName('CBType').Value:='GYSYSCP';
post;
end;
next;
end;
end;
application.MessageBox('<27><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ');
tv3.OptionsData.Editing:=false;
except
application.MessageBox('<27><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',MB_ICONERROR);
end;
end;
procedure TfrmZdyAttachGYS.Tv2CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
Initsub();
end;
end.