D7myChuangpin/创品基础资料维护/U_ZdyAttachment.pas
“ddf” ece69a5ac1 1
2024-07-23 20:18:14 +08:00

459 lines
12 KiB
ObjectPascal
Raw 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_ZdyAttachment;
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, cxDropDownEdit, cxLookAndFeels,
cxLookAndFeelPainters, cxNavigator;
type
TfrmZdyAttachment = 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;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
CDS_HZ: TClientDataSet;
ToolButton3: TToolButton;
Label1: TLabel;
ZdyCode: TEdit;
ToolButton4: TToolButton;
Label2: TLabel;
DEFstr5: TEdit;
DEFStr7: TEdit;
Label4: TLabel;
TBuser: TToolButton;
Label5: TLabel;
KeFu: TEdit;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
v2Column15: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v2Column14: TcxGridDBColumn;
v2ZdyNameYW: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v2Column11: TcxGridDBColumn;
v2Column12: TcxGridDBColumn;
v2Column4: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
v2Column10: TcxGridDBColumn;
v2Column16: TcxGridDBColumn;
v2Column7: TcxGridDBColumn;
v2Column8: TcxGridDBColumn;
v2Column9: TcxGridDBColumn;
v2DefFlt1: TcxGridDBColumn;
v2Column2: TcxGridDBColumn;
v2Column13: TcxGridDBColumn;
v2QQ: TcxGridDBColumn;
v2WeiXin: TcxGridDBColumn;
v2Wangwang: TcxGridDBColumn;
v2Email: TcxGridDBColumn;
v2Note: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
Panel2: TPanel;
cxGrid1: TcxGrid;
TV1: TcxGridDBTableView;
v2KHLXR: TcxGridDBColumn;
v2LXZWu: TcxGridDBColumn;
v2LXTel: TcxGridDBColumn;
v2LXPhone: TcxGridDBColumn;
v2LXFax: TcxGridDBColumn;
v2LXEmail: TcxGridDBColumn;
v2LXNote: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
ToolBar2: TToolBar;
TAdd: TToolButton;
TDel: TToolButton;
DataSource1: TDataSource;
Order_Sub: TClientDataSet;
TSave: TToolButton;
ADOQuery1: TADOQuery;
ToolButton5: TToolButton;
V1MXQQ: TcxGridDBColumn;
V1MXWeiXin: TcxGridDBColumn;
V1WangWang: TcxGridDBColumn;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
cxStyleRepository2: TcxStyleRepository;
cxStyle2: TcxStyle;
cxStyleRepository3: TcxStyleRepository;
cxStyle3: TcxStyle;
v2Column1: TcxGridDBColumn;
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 TBuserClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure TDelClick(Sender: TObject);
procedure TAddClick(Sender: TObject);
procedure TSaveClick(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure Tv2FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
procedure TV1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
private
{ Private declarations }
canshu1: string;
procedure InitGrid();
public
fkhType: string;
end;
var
frmZdyAttachment: TfrmZdyAttachment;
implementation
uses
U_DataLink, U_Fun, U_ZDYHelp, U_ZdyAttInput, U_ZdyInput, U_FjList_RZ;
{$R *.dfm}
procedure TfrmZdyAttachment.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
SQL.Clear;
sql.Add(' select * from KH_Zdy_Attachment where Type=''KHName'' ');
if Trim(canshu1) <> '<27><>Ȩ<EFBFBD><C8A8>' then
begin
sql.Add(' and( Filler=' + quotedstr(trim(DName)));
sql.Add(' Or DEFstr5=' + quotedstr(trim(DName)));
sql.Add(' Or KeFu=' + quotedstr(trim(DName)));
sql.Add(')');
end;
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_HZ);
SInitCDSData20(ADOQueryMain, CDS_HZ);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmZdyAttachment.FormDestroy(Sender: TObject);
begin
frmZdyAttachment := nil;
end;
procedure TfrmZdyAttachment.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmZdyAttachment.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>FM', Tv2, '<27>ͻ<EFBFBD><CDBB>Զ<EFBFBD><D4B6><EFBFBD>');
Close;
end;
procedure TfrmZdyAttachment.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 TfrmZdyAttachment.FormShow(Sender: TObject);
begin
ReadCxGrid('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>FM', Tv2, '<27>ͻ<EFBFBD><CDBB>Զ<EFBFBD><D4B6><EFBFBD>');
InitGrid();
if trim(canshu1) <> '<27><>Ȩ<EFBFBD><C8A8>' then
begin
TBuser.Visible := false;
TBDel.Visible := false;
ToolButton4.Visible := false;
ToolButton1.Visible := false;
TDel.Visible := false;
end;
end;
procedure TfrmZdyAttachment.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmZdyAttachment.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 TfrmZdyAttachment.ZdyNameChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmZdyAttachment.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 TfrmZdyAttachment.ToolButton4Click(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 TfrmZdyAttachment.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 TfrmZdyAttachment.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 TfrmZdyAttachment.FormCreate(Sender: TObject);
begin
canshu1 := Trim(DParameters1);
end;
procedure TfrmZdyAttachment.TDelClick(Sender: TObject);
begin
if Order_Sub.IsEmpty then
exit;
if Order_Sub.FieldByName('ATSID').AsString <> '' then
begin
if application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD>', '<27><>ʾ', 1) = 2 then
exit;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.add('delete from KH_Zdy_Attachment_Sub ');
sql.add('where ATSID=''' + trim(Order_Sub.fieldbyname('ATSID').AsString) + '''');
execsql;
end;
end;
Order_Sub.Delete;
end;
procedure TfrmZdyAttachment.TAddClick(Sender: TObject);
begin
with Order_Sub do
begin
append;
post;
end;
end;
procedure TfrmZdyAttachment.TSaveClick(Sender: TObject);
var
MaxLX: string;
begin
if Order_Sub.IsEmpty then
exit;
if Application.MessageBox(<><C8B7>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 1) = 2 then
exit;
with Order_Sub do
begin
first;
while not eof do
begin
if fieldbyname('ATSID').AsString = '' then
begin
if GetLSNo(ADOQueryCmd, MaxLX, 'AS', 'KH_Zdy_Attachment_Sub', 4, 1) = False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
end
else
MaxLX := trim(fieldbyname('ATSID').AsString);
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('select * from KH_Zdy_Attachment_Sub ');
sql.add('where ATSID=''' + Trim(MaxLX) + '''');
open;
end;
with ADOQuerycmd do
begin
if IsEmpty then
append
else
edit;
fieldbyname('ATSID').Value := trim(MaxLX);
fieldbyname('ATID').Value := trim(CDS_HZ.fieldbyname('ATID').AsString);
fieldbyname('filler').Value := trim(DName);
SSetSaveDataCDS(ADOQuerycmd, TV1, Order_Sub, 'KH_Zdy_Attachment_Sub', 0);
post;
end;
with Order_Sub do
begin
Edit;
FieldByName('ATSID').Value := Trim(MaxLX);
end;
next;
end;
end;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>', '<27><>ʾ');
end;
procedure TfrmZdyAttachment.ToolButton5Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then
Exit;
try
frmFjList_RZ := TfrmFjList_RZ.Create(Application);
with frmFjList_RZ do
begin
fkeyNO := Trim(Self.CDS_HZ.fieldbyname('ATID').AsString);
fType := '<27><>ͬ';
if ShowModal = 1 then
begin
end;
end;
finally
frmFjList_RZ.Free;
end;
end;
procedure TfrmZdyAttachment.Tv2FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
begin
with ADOQuery1 do
begin
close;
sql.Clear;
sql.Add('select * from KH_Zdy_Attachment_Sub ');
sql.Add('where ATID=''' + Trim(CDS_HZ.fieldbyname('ATID').AsString) + '''');
open;
end;
SCreateCDS20(ADOQuery1, Order_Sub);
SInitCDSData20(ADOQuery1, Order_Sub);
end;
procedure TfrmZdyAttachment.TV1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
begin
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.add('select * from KH_Zdy_Attachment_Sub ');
sql.add('where ATSID=''' + trim(Order_Sub.fieldbyname('ATSID').AsString) + '''');
Open;
end;
if not ADOQueryTemp.IsEmpty then
begin
TV1.OptionsSelection.CellSelect := False;
end
else
begin
TV1.OptionsSelection.CellSelect := True;
end;
end;
end.