D7gmYushang/进度统计查询(Statistics.dll)/U_JDOrderProgress.pas
DESKTOP-E401PHE\Administrator 1d94a89439 0
2025-09-24 13:13:14 +08:00

267 lines
7.4 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_JDOrderProgress;
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, cxGridBandedTableView, cxGridDBBandedTableView,
cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, Menus, Clipbrd;
type
TfrmJDOrderProgress = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
ToolButton2: TToolButton;
ToolButton1: TToolButton;
RM1: TRMGridReport;
RMDBHZ: TRMDBDataSet;
cxGridPopupMenu2: TcxGridPopupMenu;
cxGrid1: TcxGrid;
TV1: TcxGridDBBandedTableView;
cxGridLevel2: TcxGridLevel;
CDSPRTHZ: TClientDataSet;
CDSPRTMX: TClientDataSet;
RMDBMX: TRMDBDataSet;
ADOQueryMain: TADOQuery;
DataSource1: TDataSource;
CDS_HZ: TClientDataSet;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
TV1Column6: TcxGridDBBandedColumn;
TV1Column7: TcxGridDBBandedColumn;
TV1Column10: TcxGridDBBandedColumn;
TV1Column11: TcxGridDBBandedColumn;
TV1Column12: TcxGridDBBandedColumn;
TV1Column16: TcxGridDBBandedColumn;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure MPRTCodeNameChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
// procedure cxGridDBBandedColumn35CompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean);
procedure TV1Column6PropertiesEditValueChanged(Sender: TObject);
procedure MPRTCodeKeyPress(Sender: TObject; var Key: Char);
procedure DDTYPEChange(Sender: TObject);
// procedure TV1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
procedure N1Click(Sender: TObject);
private
{ Private declarations }
procedure InitGrid();
public
fkhType: string;
Fmanage, fmainid: string;
canshu1: string;
end;
var
frmJDOrderProgress: TfrmJDOrderProgress;
implementation
uses
U_DataLink, U_Fun, U_ZDYHelp;
{$R *.dfm}
procedure TfrmJDOrderProgress.InitGrid();
var
fwhere, Pwhere: string;
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
SQL.Clear;
SQL.Add('SELECT C.* FROM JyOrder_Main_Jd C ');
sql.Add('where C.PDID=' + QuotedStr(Trim(FMainID)));
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_HZ);
SInitCDSData20(ADOQueryMain, CDS_HZ);
// CDS_HZ.Last;
finally
ADOQueryMain.EnableControls;
end
end;
procedure TfrmJDOrderProgress.FormDestroy(Sender: TObject);
begin
frmjdOrderProgress := nil;
end;
procedure TfrmJDOrderProgress.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmJDOrderProgress.TBCloseClick(Sender: TObject);
begin
WriteCxBandedGrid(trim(self.caption) + '2', Tv1, '<27><><EFBFBD>ȹ<EFBFBD><C8B9><EFBFBD>');
Close;
end;
procedure TfrmJDOrderProgress.FormShow(Sender: TObject);
begin
ReadCxBandedGrid(trim(self.caption) + '2', Tv1, '<27><><EFBFBD>ȹ<EFBFBD><C8B9><EFBFBD>');
InitGrid();
end;
procedure TfrmJDOrderProgress.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmJDOrderProgress.MPRTCodeNameChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmJDOrderProgress.ToolButton1Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
Exit;
TcxGridToExcel(self.Caption, cxgrid1);
end;
procedure TfrmJDOrderProgress.FormCreate(Sender: TObject);
begin
canshu1 := Trim(DParameters1);
end;
procedure TfrmJDOrderProgress.ToolButton3Click(Sender: TObject);
var
fPrintFile, fPrintFile10, FMainID, FKHName, FFPNo: string;
i: Integer;
begin
ExportFtErpFile('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.rmf', ADOQueryTemp);
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.add('exec P_Print_CRJD_HZ ');
sql.add('@MainId=' + quotedstr(Trim(CDS_HZ.fieldbyname('MainId').AsString)));
Open;
end;
SCreateCDS20(ADOQueryTemp, CDSPRTHZ);
SInitCDSData20(ADOQueryTemp, CDSPRTHZ);
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.add('exec P_Print_CRJD_CD ');
sql.add('@MainId=' + quotedstr(Trim(CDS_HZ.fieldbyname('MainId').AsString)));
Open;
end;
RMVariables['HZCD'] := ADOQueryTemp.fieldbyname('HZCD').Value;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.add('exec P_Print_CRJD ');
sql.add('@MainId=' + quotedstr(Trim(CDS_HZ.fieldbyname('MainId').AsString)));
sql.add(',@Falg=''<27><>ϸ''');
Open;
end;
SCreateCDS20(ADOQueryTemp, CDSPRTMX);
SInitCDSData20(ADOQueryTemp, CDSPRTMX);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.rmf';
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD>ҵ<EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
end;
end;
procedure TfrmJDOrderProgress.TV1Column6PropertiesEditValueChanged(Sender: TObject);
var
mvalues, FFieldName: string;
begin
mvalues := TCXTextEdit(Sender).Text;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDS_HZ do
begin
edit;
fieldbyname(FFieldName).Value := mvalues;
post;
end;
tv1.Controller.EditingController.ShowEdit();
// if trim(mvalues) <> '' then
// begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update JYORDER_SUB ');
SQL.Add(' Set ' + FFieldName + '=' + QuotedStr(mvalues));
sql.Add(' where SUBID=''' + Trim(CDS_HZ.fieldbyname('SUBID').AsString) + '''');
sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( ');
sql.Add(' ' + quotedstr(trim(DName)));
sql.Add(',getdate() ');
sql.Add(',' + quotedstr(trim(self.Caption)));
sql.Add(',' + quotedstr(trim('<27>޸Ľ<DEB8><C4BD>ȱ<EFBFBD>ע')));
sql.Add(',' + quotedstr(trim('<27><><EFBFBD><EFBFBD>:' + trim(CDS_HZ.FieldByName('subid').AsString) + ';<3B>ֱ<EFBFBD>ע:' + trim(CDS_HZ.FieldByName('JDNOTE').AsString))));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
ExecSQL;
end;
tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmJDOrderProgress.MPRTCodeKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
InitGrid();
end;
end;
procedure TfrmJDOrderProgress.DDTYPEChange(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmJDOrderProgress.N1Click(Sender: TObject);
var
myclipbrd: TClipboard;
begin
myclipbrd := TClipboard.Create();
myclipbrd.AsText := CDS_HZ.FieldByName('MPRTCode').ASSTRING;
end;
end.