D7myYunxiang/基础资料维护(BaseInfo.dll)/U_ZdyAttachmentX.pas
DESKTOP-E401PHE\Administrator 1011cb7292 1
2025-01-20 13:04:03 +08:00

628 lines
16 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_ZdyAttachmentX;
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, cxDBLookupComboBox, cxPC;
type
TfrmZdyAttachmentX = 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;
v2Column8: TcxGridDBColumn;
v2Column9: TcxGridDBColumn;
Label1: TLabel;
zjm: TEdit;
v2Column10: TcxGridDBColumn;
TBedit: TToolButton;
Label2: TLabel;
DEFstr5: TEdit;
v2Column11: TcxGridDBColumn;
v2DEFStr7: TcxGridDBColumn;
v2Column12: TcxGridDBColumn;
v2Column13: TcxGridDBColumn;
v2Column14: TcxGridDBColumn;
DEFStr7: TEdit;
Label4: TLabel;
v2Column15: TcxGridDBColumn;
v2Column16: TcxGridDBColumn;
TBuser: TToolButton;
v2Column17: TcxGridDBColumn;
cxTabControl1: TcxTabControl;
CheckBox1: TCheckBox;
v2Column19: TcxGridDBColumn;
Tchk: TToolButton;
TNochk: TToolButton;
v2Column18: TcxGridDBColumn;
v2Column20: TcxGridDBColumn;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
v2Column21: TcxGridDBColumn;
ToolButton6: TToolButton;
v2Column22: TcxGridDBColumn;
ToolButton7: TToolButton;
Panel2: TPanel;
Panel3: TPanel;
cxGrid1: TcxGrid;
TV1: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
cxGridDBColumn2: TcxGridDBColumn;
cxGridDBColumn3: TcxGridDBColumn;
cxGridDBColumn4: TcxGridDBColumn;
cxGridDBColumn11: TcxGridDBColumn;
cxGridDBColumn12: TcxGridDBColumn;
cxGridDBColumn13: TcxGridDBColumn;
cxGridDBColumn14: TcxGridDBColumn;
cxGridDBColumn15: TcxGridDBColumn;
cxGridDBColumn16: TcxGridDBColumn;
cxGridDBColumn20: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
cxGridPopupMenu3: TcxGridPopupMenu;
CDS_HZ2: TClientDataSet;
DS_HZ2: TDataSource;
ADOQueryMain2: TADOQuery;
DS_HZ3: TDataSource;
ADOQueryMain3: TADOQuery;
CDS_HZ3: TClientDataSet;
cxGridPopupMenu4: TcxGridPopupMenu;
cxGrid3: TcxGrid;
TV3: TcxGridDBTableView;
V1Column1: TcxGridDBColumn;
cxGridDBColumn6: TcxGridDBColumn;
cxGridDBColumn10: TcxGridDBColumn;
V1Column3: TcxGridDBColumn;
cxGridDBColumn9: TcxGridDBColumn;
cxGridDBColumn8: TcxGridDBColumn;
V1Column2: TcxGridDBColumn;
cxGridDBColumn5: TcxGridDBColumn;
cxGridDBColumn7: TcxGridDBColumn;
cxGridDBColumn17: TcxGridDBColumn;
V1Column4: TcxGridDBColumn;
cxGridLevel3: TcxGridLevel;
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 TBeditClick(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure TBuserClick(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure TchkClick(Sender: TObject);
procedure TNochkClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure ToolButton7Click(Sender: TObject);
procedure Tv2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
procedure InitGrid();
procedure setstatus();
public
fkhType:string;
canshu1:string;
end;
var
frmZdyAttachmentX: TfrmZdyAttachmentX;
implementation
uses
U_DataLink,U_Fun,U_ZDYHelp,U_ZdyAttInput,U_ZdyInput, U_FjList_RZ;
{$R *.dfm}
procedure TfrmZdyAttachmentX.setstatus();
begin
TBedit.Visible:=false;
TBdel.Visible:=false;
tchk.Visible:=false;
tnochk.Visible:=false;
TBuser.Visible:=false;
ToolButton7.Visible:=false;
IF trim(canshu1)=''then
begin
case cxTabControl1.TabIndex of
0:begin
TBedit.Visible:=true;
TBdel.Visible:=true;
end;
1:begin
end;
end;
end
else IF trim(canshu1)='<27><>Ȩ<EFBFBD><C8A8>'then
begin
TBuser.Visible:=True;
ToolButton7.Visible:=True;
case cxTabControl1.TabIndex of
0:begin
TBedit.Visible:=true;
tbdel.Visible:=True;
tchk.Visible:=True;
end;
1:begin
tNochk.Visible:=True;
end;
end;
end;
// InitGrid();
end;
procedure TfrmZdyAttachmentX.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
SQL.Clear;
sql.Add(' select *,zjm=dbo.getpinyin(ZdyName) from KH_Zdy_Attachment where Type=''KHName'' ');
// sql.Add(' and isnull(khType,'''')='+quotedstr(trim(fkhType)));
IF trim(canshu1)<>'<27><>Ȩ<EFBFBD><C8A8>'then
begin
sql.Add(' and (DEFstr5='+quotedstr(trim(DName)));
SQL.Add(' or filler='+quotedstr(trim(DName))+')');
end;
if cxTabControl1.TabIndex<2 then
sql.Add(' and status='''+inttostr(cxTabControl1.TabIndex)+''' ');
// ShowMessage(sql.Text);
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_HZ);
SInitCDSData20(ADOQueryMain,CDS_HZ);
//2<><32>
ADOQueryMain2.DisableControls;
with ADOQueryMain2 do
begin
Filtered:=False;
Close;
SQL.Clear;
sql.Add('select * from GYS_ZHXX where ATID='''+Trim(CDS_HZ.fieldbyname('ATID').asstring)+'''');
Open;
end;
SCreateCDS20(ADOQueryMain2,CDS_HZ2);
SInitCDSData20(ADOQueryMain2,CDS_HZ2);
///3<><33>
ADOQueryMain3.DisableControls;
with ADOQueryMain3 do
begin
Close;
sql.Clear;
sql.Add('select * from KH_Zdy_Att_Sub where ATID='''+Trim(CDS_HZ.fieldbyname('ATID').asstring)+'''');
//ShowMessage(sql.Text);
Open;
end;
SCreateCDS20(ADOQueryMain3,CDS_HZ3);
SInitCDSData20(ADOQueryMain3,CDS_HZ3);
finally
ADOQueryMain.EnableControls;
ADOQueryMain2.EnableControls;
ADOQueryMain3.EnableControls;
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmZdyAttachmentX.FormDestroy(Sender: TObject);
begin
frmZdyAttachment:=nil;
end;
procedure TfrmZdyAttachmentX.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmZdyAttachmentX.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>',Tv2,'<27>ͻ<EFBFBD><CDBB>Զ<EFBFBD><D4B6><EFBFBD>');
Close;
end;
procedure TfrmZdyAttachmentX.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_Att_Sub where ATID='''+Trim(CDS_HZ.fieldbyname('ATID').AsString)+''' and Type=''KHName'' ');
sql.Add('delete KH_Zdy where ZdyNo='''+Trim(CDS_HZ.fieldbyname('ATID').AsString)+'''');
sql.Add('delete from KH_ZHXX where ATID='''+Trim(CDS_HZ.fieldbyname('ATID').AsString)+'''');
ExecSQL;
end;
end;
CDS_HZ.Delete;
InitGrid();
end;
procedure TfrmZdyAttachmentX.FormShow(Sender: TObject);
begin
ReadCxGrid('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>',Tv2,'<27>ͻ<EFBFBD><CDBB>Զ<EFBFBD><D4B6><EFBFBD>');
setstatus();
InitGrid();
end;
procedure TfrmZdyAttachmentX.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmZdyAttachmentX.ToolButton2Click(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,CDS_HZ);
SInitCDSData20(ADOQueryMain,CDS_HZ);
end;
end;
procedure TfrmZdyAttachmentX.ZdyNameChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmZdyAttachmentX.ToolButton1Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then Exit;
TcxGridToExcel(self.Caption,cxgrid2);
// SelExportData(Tv2,ADOQueryMain,'<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>');
end;
procedure TfrmZdyAttachmentX.TBeditClick(Sender: TObject);
begin
IF CDS_HZ.IsEmpty then exit;
try
frmZdyAttInput:=TfrmZdyAttInput.Create(Application);
with frmZdyAttInput do
begin
FCYID:=Trim(Self.CDS_HZ.fieldbyname('ATID').AsString);
fkhType:=self.fkhType;
if ShowModal=1 then
begin
TBRafresh.Click;
end;
end;
finally
frmZdyAttInput.Free;
end;
end;
procedure TfrmZdyAttachmentX.ToolButton3Click(Sender: TObject);
begin
try
frmZdyAttInput:=TfrmZdyAttInput.Create(Application);
with frmZdyAttInput do
begin
fkhType:=self.fkhType;
FCYID:='';
if ShowModal=1 then
begin
TBRafresh.Click;
end;
end;
finally
frmZdyAttInput.Free;
end;
end;
procedure TfrmZdyAttachmentX.TBuserClick(Sender: TObject);
var
FuserName:string;
begin
IF CDS_HZ.IsEmpty then exit;
frmZDYHelp:=TfrmZDYHelp.Create(self);
with frmZDYHelp do
begin
flag:='UserName';
FlagName:='<27><><EFBFBD><EFBFBD>Ա';
IF showmodal=1 then
begin
FuserName:=ClientDataSet1.fieldbyname('zdyName').AsString;
end;
free;
end;
IF trim(FuserName)<>'' then
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update KH_Zdy_Attachment SET filler='''+trim(FuserName)+''' where ATID='''+Trim(CDS_HZ.fieldbyname('ATID').AsString)+'''');
ExecSQL;
end;
TBRafresh.Click;
end;
end;
procedure TfrmZdyAttachmentX.CheckBox1Click(Sender: TObject);
begin
SelOKNo(CDS_HZ,CheckBox1.Checked);
end;
procedure TfrmZdyAttachmentX.TchkClick(Sender: TObject);
begin
if CDS_HZ.IsEmpty then exit;
if CDS_HZ.Locate('ssel',true,[])=false then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
try
with CDS_HZ do
begin
DisableControls;
First;
while not eof do
begin
iF fieldbyname('ssel').AsBoolean then
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update KH_Zdy_Attachment SET status=1,chker='''+trim(DName)+''',chkTime=getdate() ');
sql.Add('where ATID='+quotedstr(trim(CDS_HZ.fieldbyname('ATID').AsString)));
execsql;
end;
end;
next;
end;
First;
EnableControls;
end;
application.MessageBox('<27><><EFBFBD>˳ɹ<CBB3><C9B9><EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ');
TBRafresh.Click;
except
CDS_HZ.EnableControls;
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
end;
end;
procedure TfrmZdyAttachmentX.TNochkClick(Sender: TObject);
begin
if CDS_HZ.IsEmpty then exit;
if CDS_HZ.Locate('ssel',true,[])=false then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
try
with CDS_HZ do
begin
DisableControls;
First;
while not eof do
begin
iF fieldbyname('ssel').AsBoolean then
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update KH_Zdy_Attachment SET status=0,chker='''',chkTime=null ');
sql.Add('where ATID='+quotedstr(trim(CDS_HZ.fieldbyname('ATID').AsString)));
execsql;
end;
end;
next;
end;
First;
EnableControls;
end;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳ɹ<CBB3><C9B9><EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ');
TBRafresh.Click;
except
CDS_HZ.EnableControls;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
end;
end;
procedure TfrmZdyAttachmentX.FormCreate(Sender: TObject);
begin
canshu1:=trim(DParameters1);
end;
procedure TfrmZdyAttachmentX.cxTabControl1Change(Sender: TObject);
begin
setstatus();
InitGrid();
end;
procedure TfrmZdyAttachmentX.ToolButton4Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then Exit;
try
frmFjList_RZ:=TfrmFjList_RZ.Create(Application);
with frmFjList_RZ do
begin
// PState:=1;
// if Trim(DParameters1)<>'<27><>Ȩ<EFBFBD><C8A8>' then cxButton1.Visible:=false;
fkeyNO:=Trim(Self.CDS_HZ.fieldbyname('ATID').AsString);
fType:='<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>';
if ShowModal=1 then
begin
end;
end;
finally
frmFjList_RZ.Free;
end;
end;
procedure TfrmZdyAttachmentX.ToolButton5Click(Sender: TObject);
begin
IF CDS_HZ.IsEmpty then exit;
try
frmZdyAttInput:=TfrmZdyAttInput.Create(Application);
with frmZdyAttInput do
begin
TBsave.Visible:=false;
ToolBar2.Visible:=false;
FCYID:=Trim(Self.CDS_HZ.fieldbyname('ATID').AsString);
fkhType:=self.fkhType;
if ShowModal=1 then
begin
TBRafresh.Click;
end;
end;
finally
frmZdyAttInput.Free;
end;
end;
procedure TfrmZdyAttachmentX.ToolButton6Click(Sender: TObject);
var
fPrintFile:string;
Txt,fImagePath:string;
Moudle: THandle;
Makebar:TMakebar;
Mixtext:TMixtext;
begin
IF CDS_HZ.IsEmpty then exit;
try
Moudle:=LoadLibrary('MakeQRBarcode.dll');
@Makebar:=GetProcAddress(Moudle,'Make');
@Mixtext:=GetProcAddress(Moudle,'MixText');
Txt:=Trim(CDS_HZ.fieldbyname('ZDYCODE').AsString);
fImagePath:=ExtractFilePath(Application.ExeName)+'image\temp.bmp' ;
if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName)+'image')) then
CreateDirectory(pchar(ExtractFilePath(Application.ExeName)+'image'),nil);
if FileExists(fImagePath) then DeleteFile(fImagePath);
Makebar(pchar(Txt),Length(Txt),3,3,0,PChar(fImagePath),3);
except
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',MB_ICONERROR);
exit;
end;
fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\<5C>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ.rmf' ;
if FileExists(fPrintFile) then
begin
RMVariables['QRBARCODE']:=fImagePath;
RM1.LoadFromFile(fPrintFile);
// Rm2.DefaultCopies:=strtointdef(trim(ComboBox1.Text),1);
// RM1.ShowReport;
RM1.PrintReport;
end
else
Application.MessageBox(PChar(<><C3BB><EFBFBD>ҵ<EFBFBD><D2B5>ļ<EFBFBD>'+fPrintFile),'<27><>ʾ',0);
end;
procedure TfrmZdyAttachmentX.ToolButton7Click(Sender: TObject);
var
FuserName:string;
begin
IF CDS_HZ.IsEmpty then exit;
frmZDYHelp:=TfrmZDYHelp.Create(self);
with frmZDYHelp do
begin
flag:='YWY';
FlagName:=<><D2B5>Ա';
IF showmodal=1 then
begin
FuserName:=ClientDataSet1.fieldbyname('zdyName').AsString;
end;
free;
end;
IF trim(FuserName)<>'' then
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update KH_Zdy_Attachment SET DEFstr5='''+trim(FuserName)+''' where ATID='''+Trim(CDS_HZ.fieldbyname('ATID').AsString)+'''');
ExecSQL;
end;
TBRafresh.Click;
end;
end;
procedure TfrmZdyAttachmentX.Tv2MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
with ADOQueryMain2 do
begin
Close;
sql.Clear;
sql.Add('select * from KH_ZHXX where ATID='''+Trim(CDS_HZ.fieldbyname('ATID').asstring)+'''');
Open;
end;
SCreateCDS20(ADOQueryMain2,CDS_HZ2);
SInitCDSData20(ADOQueryMain2,CDS_HZ2);
with ADOQueryMain3 do
begin
Close;
sql.Clear;
sql.Add('select * from KH_Zdy_Att_Sub where ATID='''+Trim(CDS_HZ2.fieldbyname('ATID').asstring)+'''');
Open;
end;
SCreateCDS20(ADOQueryMain3,CDS_HZ3);
SInitCDSData20(ADOQueryMain3,CDS_HZ3);
end;
end.