D7YPbaoying/样品仓库/U_ZdyAttachmentBJ.pas
DESKTOP-E401PHE\Administrator e505f1d7a5 ~
2025-04-30 16:02:03 +08:00

534 lines
14 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_ZdyAttachmentBJ;
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, RM_e_Xls, RM_E_llPDF, cxPC, cxLookAndFeels,
cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, 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;
type
TfrmZdyAttachmentCB = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBDel: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
ToolButton2: TToolButton;
ADOQueryMain: TADOQuery;
ToolButton1: TToolButton;
Label3: TLabel;
custNo: TEdit;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridLevel1: TcxGridLevel;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_Main: TDataSource;
CDS_Main: TClientDataSet;
TBADD: TToolButton;
v2Column6: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v2Column2: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
v2Column7: TcxGridDBColumn;
v2Column8: TcxGridDBColumn;
v2Column9: TcxGridDBColumn;
v2Column10: TcxGridDBColumn;
TBedit: TToolButton;
v2Column11: TcxGridDBColumn;
v2DEFStr7: TcxGridDBColumn;
v2Column12: TcxGridDBColumn;
v2Column13: TcxGridDBColumn;
Label5: TLabel;
begdate: TDateTimePicker;
Label6: TLabel;
enddate: TDateTimePicker;
v2Column4: TcxGridDBColumn;
custName: TEdit;
Label2: TLabel;
ToolButton5: TToolButton;
ADOQueryPrint: TADOQuery;
RM1: TRMGridReport;
// RMllPDFExport1: TRMllPDFExport;
RMXLSExport1: TRMXLSExport;
RMDBDataSet1: TRMDBDataSet;
v2Column19: TcxGridDBColumn;
v2Column14: TcxGridDBColumn;
v2Column16: TcxGridDBColumn;
v2Column17: TcxGridDBColumn;
v2Column20: TcxGridDBColumn;
v2Column21: TcxGridDBColumn;
v2Column22: TcxGridDBColumn;
v2Column28: TcxGridDBColumn;
Tchk: TToolButton;
Tnochk: TToolButton;
cxTabControl1: TcxTabControl;
v2Column23: TcxGridDBColumn;
P_spec: TEdit;
Label1: TLabel;
v2Column24: TcxGridDBColumn;
P_Code: TEdit;
Label4: TLabel;
ToolButton3: TToolButton;
v2Column18: TcxGridDBColumn;
Tv2Column1: TcxGridDBColumn;
Tv2Column2: TcxGridDBColumn;
Tv2Column3: TcxGridDBColumn;
Tv2Column4: TcxGridDBColumn;
Tv2Column5: TcxGridDBColumn;
Tv2Column6: TcxGridDBColumn;
ToolButton4: TToolButton;
Tv2Column7: 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 custNoChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure TBeditClick(Sender: TObject);
procedure TBADDClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure TchkClick(Sender: TObject);
procedure TnochkClick(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
private
{ Private declarations }
procedure InitGrid();
procedure SetStatus();
procedure SelExportData(FTv: TcxGridDBTableView; FAdoQry: TADOQuery; FTile: string);
public
fkhType: string;
Fmanage: string;
canshu1: string;
end;
var
frmZdyAttachmentCB: TfrmZdyAttachmentCB;
implementation
uses
U_DataLink, U_Fun10, U_ZDYHelp, U_ZdyAttachmentBJ_Edit, U_SelExportField;
{$R *.dfm}
procedure TfrmZdyAttachmentCB.SelExportData(FTv: TcxGridDBTableView; FAdoQry: TADOQuery; FTile: string);
var
i, j: Integer;
fsj: string;
begin
if FAdoQry.IsEmpty then
Exit;
try
frmSelExportField := TfrmSelExportField.Create(Application);
with frmSelExportField do
begin
with frmSelExportField.ExpGrid do
begin
ExpGrid.ClearItems;
frmSelExportField.IniName := FTile;
ExpGrid.OptionsView.Footer := FTv.OptionsView.Footer;
for i := 0 to FTv.ColumnCount - 1 do
begin
begin
ExpGrid.CreateColumn;
j := ExpGrid.ColumnCount - 1;
ExpGrid.Columns[j].Caption := FTv.Columns[i].Caption;
ExpGrid.Columns[i].Visible := FTv.Columns[i].Visible;
ExpGrid.Columns[j].DataBinding.FieldName := FTv.Columns[i].DataBinding.FieldName;
ExpGrid.Columns[j].Width := FTv.Columns[i].Width;
ExpGrid.Columns[i].Summary.FooterKind := FTv.Columns[i].Summary.FooterKind;
end;
end;
end;
ExportDataSource.DataSet := FAdoQry;
FAdoQry.Open;
if ShowModal = 1 then
begin
end;
end;
frmSelExportField.Free;
except
end;
end;
procedure TfrmZdyAttachmentCB.SetStatus();
begin
TBedit.Visible := false;
Tbdel.Visible := false;
Tchk.Visible := false;
Tnochk.Visible := false;
if trim(canshu1) = <><D2B5>Ա' then
begin
case cxTabControl1.TabIndex of
0:
begin
TBedit.Visible := true;
Tbdel.Visible := true;
end;
1:
begin
// tbcdel.Visible:=true;
end;
end;
end
else
begin
case cxTabControl1.TabIndex of
0:
begin
TBedit.Visible := true;
Tbdel.Visible := true;
Tchk.Visible := true;
end;
1:
begin
Tnochk.Visible := true;
end;
end;
end;
end;
procedure TfrmZdyAttachmentCB.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
Filtered := False;
SQL.Clear;
sql.Add('select A.* from KH_CP_BJ A');
sql.Add(' where A.CRTime>=''' + formatdateTime('yyyy-MM-dd', begdate.DateTime) + '''');
sql.Add(' and A.CRTime<''' + formatdateTime('yyyy-MM-dd', enddate.DateTime + 1) + '''');
if trim(canshu1) = <><D2B5>Ա' then
sql.Add(' and A.Filler=' + quotedstr(trim(DName)));
if cxTabControl1.TabIndex < 2 then
sql.Add('and A.status=''' + inttostr(cxTabControl1.TabIndex) + ''' ');
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmZdyAttachmentCB.FormDestroy(Sender: TObject);
begin
frmZdyAttachmentCB := nil;
end;
procedure TfrmZdyAttachmentCB.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmZdyAttachmentCB.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(self.Caption + '1', Tv2, '<27>ͻ<EFBFBD><CDBB>Զ<EFBFBD><D4B6><EFBFBD>');
Close;
end;
procedure TfrmZdyAttachmentCB.TBDelClick(Sender: TObject);
begin
if CDS_Main.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 KH_CP_BJ where BJNO=''' + Trim(CDS_Main.fieldbyname('BJNO').AsString) + '''');
ExecSQL;
end;
initgrid();
end;
procedure TfrmZdyAttachmentCB.FormShow(Sender: TObject);
begin
ReadCxGrid(self.Caption + '1', Tv2, '<27>ͻ<EFBFBD><CDBB>Զ<EFBFBD><D4B6><EFBFBD>');
SetStatus();
InitGrid();
end;
procedure TfrmZdyAttachmentCB.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmZdyAttachmentCB.ToolButton2Click(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
end;
end;
procedure TfrmZdyAttachmentCB.custNoChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmZdyAttachmentCB.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 TfrmZdyAttachmentCB.TBeditClick(Sender: TObject);
begin
if CDS_main.IsEmpty then
exit;
try
frmZdyAttachmentBJ_Edit := TfrmZdyAttachmentBJ_Edit.Create(Application);
with frmZdyAttachmentBJ_Edit do
begin
fkeyNo := self.cds_main.fieldbyname('BJNO').asstring;
fType := 1;
canshu1 := self.canshu1;
if ShowModal = 1 then
begin
TBRafresh.Click;
end;
end;
finally
frmZdyAttachmentBJ_Edit.Free;
end;
end;
procedure TfrmZdyAttachmentCB.TBADDClick(Sender: TObject);
begin
try
frmZdyAttachmentBJ_Edit := TfrmZdyAttachmentBJ_Edit.Create(Application);
with frmZdyAttachmentBJ_Edit do
begin
fkeyNO := '';
fType := 0;
canshu1 := self.canshu1;
if ShowModal = 1 then
begin
TBRafresh.Click;
end;
end;
finally
frmZdyAttachmentBJ_Edit.Free;
end;
end;
procedure TfrmZdyAttachmentCB.FormCreate(Sender: TObject);
begin
enddate.Date := date();
begdate.Date := strtodate(formatdateTime('yyyy-MM', enddate.Date) + '-01');
canshu1 := trim(DParameters2);
end;
procedure TfrmZdyAttachmentCB.ToolButton5Click(Sender: TObject);
var
fPrintFile: string;
Porderno: string;
i, j: Integer;
begin
if CDS_Main.IsEmpty then
Exit;
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>.rmf';
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.Add('select A.*, ');
sql.Add('FileOthers=(select Top 1 FilesOther from TP_File X1,CP_YDang X2 where X1.WBID=X2.CYID and X2.CYNo=A.P_Code) ');
sql.Add('from KH_CP_BJ A ');
sql.Add('Where A.BJNO=''' + Trim(CDS_Main.fieldbyname('BJNO').AsString) + '''');
Open;
end;
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + trim(fPrintFile)), '<27><>ʾ', 0);
exit;
end;
end;
procedure TfrmZdyAttachmentCB.TchkClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
try
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update KH_CP_BJ SET status=''1'' ');
sql.Add('where BJNO=' + quotedstr(trim(CDS_Main.fieldbyname('BJNO').AsString)));
execsql;
end;
application.MessageBox('<27><><EFBFBD>˳ɹ<CBB3><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
TBRafresh.Click;
except
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmZdyAttachmentCB.TnochkClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
try
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update KH_CP_BJ SET status=''0'' ');
sql.Add('where BJNO=' + quotedstr(trim(CDS_Main.fieldbyname('BJNO').AsString)));
execsql;
end;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳ɹ<CBB3><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
TBRafresh.Click;
except
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmZdyAttachmentCB.cxTabControl1Change(Sender: TObject);
begin
SetStatus();
InitGrid();
end;
procedure TfrmZdyAttachmentCB.ToolButton3Click(Sender: TObject);
begin
if CDS_main.IsEmpty then
exit;
try
frmZdyAttachmentBJ_Edit := TfrmZdyAttachmentBJ_Edit.Create(Application);
with frmZdyAttachmentBJ_Edit do
begin
fkeyNo := self.cds_main.fieldbyname('BJNO').asstring;
fType := 2;
canshu1 := self.canshu1;
if ShowModal = 1 then
begin
TBRafresh.Click;
end;
end;
finally
frmZdyAttachmentBJ_Edit.Free;
end;
end;
procedure TfrmZdyAttachmentCB.ToolButton4Click(Sender: TObject);
var
MSQL, MSID: string;
begin
if ADOQueryMain.IsEmpty then
Exit;
if CDS_Main.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
MSQL := '';
MSID := '';
CDS_Main.DisableControls;
with CDS_Main do
begin
First;
while CDS_Main.Locate('SSel', True, []) do
begin
if MSQL <> '' then
begin
MSQL := MSQL + ',' + QuotedStr(Trim(CDS_Main.fieldbyname('BJNO').AsString));
MSID := MSID + ',' + QuotedStr(Trim(CDS_Main.fieldbyname('BJID').AsString));
end
else
begin
MSQL := QuotedStr(Trim(CDS_Main.fieldbyname('BJNO').AsString));
MSID := QuotedStr(Trim(CDS_Main.fieldbyname('BJID').AsString));
end;
Edit;
FieldByName('SSel').Value := False;
Post;
end;
end;
CDS_Main.EnableControls;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
Filtered := False;
SQL.Clear;
sql.Add('select A.* from KH_CP_BJ A');
sql.Add(' where A.CRTime>=''' + formatdateTime('yyyy-MM-dd', begdate.DateTime) + '''');
sql.Add(' and A.CRTime<''' + formatdateTime('yyyy-MM-dd', enddate.DateTime + 1) + '''');
if trim(canshu1) = <><D2B5>Ա' then
sql.Add(' and A.Filler=' + quotedstr(trim(DName)));
if cxTabControl1.TabIndex < 2 then
sql.Add('and A.status=''' + inttostr(cxTabControl1.TabIndex) + ''' ');
sql.Add('and BJNO in ( ' + MSQL + ')');
sql.Add(' and BJID in ( ' + MSID + ') ');
// ShowMessage(sql.text);
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
SelExportData(Tv2, ADOQueryMain, '<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>');
InitGrid();
end;
end.