D7wmguihua/基础资料维护(BaseInfo.dll)/U_ZdyAttachment.pas

258 lines
7.1 KiB
ObjectPascal
Raw Normal View History

2025-01-18 16:22:10 +08:00
unit U_ZdyAttachment;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB,
2025-04-30 16:15:24 +08:00
cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin, StdCtrls,
cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient,
2025-01-18 16:22:10 +08:00
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls,
cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid,
cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common,
RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection,
2025-04-30 16:15:24 +08:00
IdTCPClient, IdFTP, ShellAPI, IniFiles, cxCheckBox, cxCalendar, cxButtonEdit,
cxTextEdit, cxDBLookupComboBox, cxLookAndFeels, cxLookAndFeelPainters,
dxSkinsCore, dxSkinBlack, dxSkinBlue, dxSkinBlueprint, dxSkinCaramel,
dxSkinCoffee, dxSkinDarkRoom, dxSkinDarkSide, dxSkinDevExpressDarkStyle,
dxSkinDevExpressStyle, dxSkinFoggy, dxSkinGlassOceans, dxSkinHighContrast,
dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky,
dxSkinMcSkin, dxSkinMetropolis, dxSkinMetropolisDark, dxSkinMoneyTwins,
dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green,
dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black,
dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinOffice2013DarkGray,
dxSkinOffice2013LightGray, dxSkinOffice2013White, dxSkinPumpkin, dxSkinSeven,
dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver,
dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld,
dxSkinsDefaultPainters, dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint,
dxSkinXmas2008Blue, dxSkinscxPCPainter, cxNavigator;
2025-01-18 16:22:10 +08:00
type
TfrmZdyAttachment = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TDel: 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;
Tadd: TToolButton;
v2Column6: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v2Column2: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v2Column4: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
v2Column7: TcxGridDBColumn;
v2Column8: TcxGridDBColumn;
v2Column9: TcxGridDBColumn;
Label1: TLabel;
ZdyCode: TEdit;
v2Column10: TcxGridDBColumn;
Tedit: TToolButton;
Label2: TLabel;
DEFstr5: TEdit;
v2Column11: TcxGridDBColumn;
v2DEFStr7: TcxGridDBColumn;
v2Column12: TcxGridDBColumn;
v2Column13: TcxGridDBColumn;
v2Column14: TcxGridDBColumn;
DEFStr7: TEdit;
Label4: TLabel;
v2Column15: TcxGridDBColumn;
v2Column16: TcxGridDBColumn;
v2Column17: TcxGridDBColumn;
v2Column18: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure TDelClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ZdyNameChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure TeditClick(Sender: TObject);
procedure TaddClick(Sender: TObject);
private
{ Private declarations }
procedure InitGrid();
public
2025-04-30 16:15:24 +08:00
fkhType: string;
canshu1, canshu2,FParameters4: string;
2025-01-18 16:22:10 +08:00
end;
var
frmZdyAttachment: TfrmZdyAttachment;
implementation
2025-04-30 16:15:24 +08:00
2025-01-18 16:22:10 +08:00
uses
2025-04-30 16:15:24 +08:00
U_DataLink, U_Fun, U_ZDYHelp, U_ZdyAttInput, U_ZdyInput;
2025-01-18 16:22:10 +08:00
{$R *.dfm}
procedure TfrmZdyAttachment.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
2025-04-30 16:15:24 +08:00
Filtered := False;
2025-01-18 16:22:10 +08:00
Close;
SQL.Clear;
sql.Add(' select * from KH_Zdy_Attachment where Type=''KHName'' ');
2025-04-30 16:15:24 +08:00
sql.Add(' and isnull(khType,'''')=' + quotedstr(trim(fkhType)));
2025-01-18 16:22:10 +08:00
Open;
end;
2025-04-30 16:15:24 +08:00
SCreateCDS20(ADOQueryMain, CDS_HZ);
SInitCDSData20(ADOQueryMain, CDS_HZ);
2025-01-18 16:22:10 +08:00
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmZdyAttachment.FormDestroy(Sender: TObject);
begin
2025-04-30 16:15:24 +08:00
frmZdyAttachment := nil;
2025-01-18 16:22:10 +08:00
end;
procedure TfrmZdyAttachment.FormClose(Sender: TObject; var Action: TCloseAction);
begin
2025-04-30 16:15:24 +08:00
Action := caFree;
2025-01-18 16:22:10 +08:00
end;
procedure TfrmZdyAttachment.TBCloseClick(Sender: TObject);
begin
2025-04-30 16:15:24 +08:00
WriteCxGrid('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>', Tv2, '<27>ͻ<EFBFBD><CDBB>Զ<EFBFBD><D4B6><EFBFBD>');
2025-01-18 16:22:10 +08:00
Close;
end;
2025-04-30 16:15:24 +08:00
2025-01-18 16:22:10 +08:00
procedure TfrmZdyAttachment.TDelClick(Sender: TObject);
begin
2025-04-30 16:15:24 +08:00
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
2025-01-18 16:22:10 +08:00
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
2025-04-30 16:15:24 +08:00
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) + '''');
2025-01-18 16:22:10 +08:00
ExecSQL;
end;
end;
CDS_HZ.Delete;
2025-04-30 16:15:24 +08:00
end;
2025-01-18 16:22:10 +08:00
procedure TfrmZdyAttachment.FormShow(Sender: TObject);
begin
2025-04-30 16:15:24 +08:00
ReadCxGrid('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>', Tv2, '<27>ͻ<EFBFBD><CDBB>Զ<EFBFBD><D4B6><EFBFBD>');
// DParameters4:=Trim(DParameters4);
if trim(canshu1) = '<27><>ѯ' then
2025-01-18 16:22:10 +08:00
begin
2025-04-30 16:15:24 +08:00
Tadd.Visible := false;
tedit.Visible := false;
tdel.Visible := false;
2025-01-18 16:22:10 +08:00
end;
2025-04-30 16:15:24 +08:00
2025-01-18 16:22:10 +08:00
InitGrid();
end;
procedure TfrmZdyAttachment.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmZdyAttachment.ToolButton2Click(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
2025-04-30 16:15:24 +08:00
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_HZ);
SInitCDSData20(ADOQueryMain, CDS_HZ);
2025-01-18 16:22:10 +08:00
end;
end;
procedure TfrmZdyAttachment.ZdyNameChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmZdyAttachment.ToolButton1Click(Sender: TObject);
begin
2025-04-30 16:15:24 +08:00
if ADOQueryMain.IsEmpty then
Exit;
TcxGridToExcel(self.Caption, cxgrid2);
2025-01-18 16:22:10 +08:00
// SelExportData(Tv2,ADOQueryMain,'<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>');
end;
procedure TfrmZdyAttachment.TeditClick(Sender: TObject);
begin
2025-04-30 16:15:24 +08:00
if trim(DParameters4) = '<27><>Ȩ<EFBFBD><C8A8>' then
begin
if Trim(CDS_HZ.fieldbyname('Filler').AsString) <> Trim(DName) then
begin
Application.MessageBox('<27><><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
end;
2025-01-18 16:22:10 +08:00
try
2025-04-30 16:15:24 +08:00
frmZdyAttInput := TfrmZdyAttInput.Create(Application);
2025-01-18 16:22:10 +08:00
with frmZdyAttInput do
begin
2025-04-30 16:15:24 +08:00
FCYID := Trim(Self.CDS_HZ.fieldbyname('ATID').AsString);
fkhType := self.fkhType;
if ShowModal = 1 then
2025-01-18 16:22:10 +08:00
begin
TBRafresh.Click;
end;
end;
finally
frmZdyAttInput.Free;
end;
end;
procedure TfrmZdyAttachment.TaddClick(Sender: TObject);
begin
try
2025-04-30 16:15:24 +08:00
frmZdyAttInput := TfrmZdyAttInput.Create(Application);
2025-01-18 16:22:10 +08:00
with frmZdyAttInput do
begin
2025-04-30 16:15:24 +08:00
fkhType := self.fkhType;
canshu1 := self.canshu1;
FParameters4:=Self.FParameters4;
FCYID := '';
if ShowModal = 1 then
2025-01-18 16:22:10 +08:00
begin
TBRafresh.Click;
end;
end;
finally
frmZdyAttInput.Free;
end;
2025-04-30 16:15:24 +08:00
2025-01-18 16:22:10 +08:00
end;
end.