D7gmYushang/进度统计查询(Statistics.dll)/U_OrderProgress.pas

481 lines
15 KiB
ObjectPascal
Raw Normal View History

2025-09-24 13:13:14 +08:00
unit U_OrderProgress;
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
TfrmOrderProgress = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
ToolButton2: TToolButton;
ToolButton1: TToolButton;
RM1: TRMGridReport;
RMDBHZ: TRMDBDataSet;
cxGridPopupMenu2: TcxGridPopupMenu;
Label1: TLabel;
MPRTCode: TEdit;
EndDate: TDateTimePicker;
Label4: TLabel;
Label5: TLabel;
Begdate: TDateTimePicker;
cxGrid1: TcxGrid;
TV1: TcxGridDBBandedTableView;
cxGridDBBandedColumn35: TcxGridDBBandedColumn;
cxGridDBBandedColumn42: TcxGridDBBandedColumn;
cxGridDBBandedColumn51: TcxGridDBBandedColumn;
cxGridDBBandedColumn52: TcxGridDBBandedColumn;
cxGridDBBandedColumn56: TcxGridDBBandedColumn;
cxGridDBBandedColumn57: TcxGridDBBandedColumn;
cxGridDBBandedColumn59: TcxGridDBBandedColumn;
cxGridDBBandedColumn60: TcxGridDBBandedColumn;
cxGridDBBandedColumn61: TcxGridDBBandedColumn;
cxGridDBBandedColumn62: TcxGridDBBandedColumn;
cxGridDBBandedColumn63: TcxGridDBBandedColumn;
cxGridDBBandedColumn64: TcxGridDBBandedColumn;
cxGridDBBandedColumn77: TcxGridDBBandedColumn;
cxGridDBBandedColumn79: TcxGridDBBandedColumn;
cxGridDBBandedColumn81: TcxGridDBBandedColumn;
cxGridDBBandedColumn87: TcxGridDBBandedColumn;
cxGridDBBandedColumn91: TcxGridDBBandedColumn;
V1Column1: TcxGridDBBandedColumn;
V1Column2: TcxGridDBBandedColumn;
V1Column6: TcxGridDBBandedColumn;
cxGridLevel2: TcxGridLevel;
V1Column25: TcxGridDBBandedColumn;
V1Column26: TcxGridDBBandedColumn;
V1Column27: TcxGridDBBandedColumn;
V1Column28: TcxGridDBBandedColumn;
Label2: TLabel;
OrderNoX: TEdit;
V1Column4: TcxGridDBBandedColumn;
V1Column5: TcxGridDBBandedColumn;
V1Column7: TcxGridDBBandedColumn;
ToolButton3: TToolButton;
CDSPRTHZ: TClientDataSet;
CDSPRTMX: TClientDataSet;
RMDBMX: TRMDBDataSet;
ADOQueryMain: TADOQuery;
DataSource1: TDataSource;
CDS_HZ: TClientDataSet;
Label7: TLabel;
DDTYPE: TComboBox;
TV1Column1: TcxGridDBBandedColumn;
TV1Column2: TcxGridDBBandedColumn;
TV1Column3: TcxGridDBBandedColumn;
Label8: TLabel;
wcstatus: TComboBox;
TV1Column4: TcxGridDBBandedColumn;
TV1Column5: TcxGridDBBandedColumn;
TV1Column6: TcxGridDBBandedColumn;
TV1Column7: TcxGridDBBandedColumn;
Label3: TLabel;
Label6: TLabel;
PBCODE: TEdit;
JGFactoryName: TEdit;
TV1Column8: TcxGridDBBandedColumn;
Label9: TLabel;
Label10: TLabel;
YWY: TEdit;
khname: TEdit;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
ToolButton4: TToolButton;
TV1Column9: TcxGridDBBandedColumn;
TV1Column10: TcxGridDBBandedColumn;
TV1Column11: TcxGridDBBandedColumn;
TV1Column12: TcxGridDBBandedColumn;
Label11: TLabel;
PRTCOLOR: TEdit;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ToolButton2Click(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);
procedure ToolButton4Click(Sender: TObject);
procedure TV1Column10PropertiesEditValueChanged(Sender: TObject);
private
{ Private declarations }
procedure InitGrid();
public
fkhType: string;
Fmanage: string;
canshu1: string;
end;
var
frmOrderProgress: TfrmOrderProgress;
implementation
uses
U_DataLink, U_Fun, U_ZDYHelp, U_PDOrderProgress;
{$R *.dfm}
procedure TfrmOrderProgress.InitGrid();
var
fwhere, Pwhere: string;
begin
Pwhere := SGetFilters(Panel1, 1, 2);
begin
if trim(Pwhere) <> '' then
fwhere := fwhere + ' and ' + trim(Pwhere);
end;
if wcstatus.Text <> '' then
begin
if wcstatus.Text = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
begin
fwhere := fwhere + 'and status=''2'''
end;
if wcstatus.Text = <><CEB4><EFBFBD><EFBFBD>' then
begin
fwhere := fwhere + 'and status<>''2'''
end;
end;
ToolBar1.SetFocus;
if canshu1 = '<27><><EFBFBD><EFBFBD>' then
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
SQL.Clear;
sql.Add(' exec P_View_OrderProgress_MX_CS @Begdate=' + quotedstr(trim(FormatDateTime('yyyy-MM-dd', Begdate.DateTime))));
sql.Add(' ,@enddate=' + quotedstr(trim(FormatDateTime('yyyy-MM-dd', EndDate.DateTime + 1))));
sql.Add(' ,@dname=' + QuotedStr(Trim(YWY.Text)));
sql.Add(' ,@orderno=' + QuotedStr(OrderNoX.Text));
sql.Add(' ,@MPRTCODE=' + QuotedStr(MPRTCODE.Text));
sql.Add(' ,@ddtype=' + QuotedStr(ddtype.Text));
sql.Add(' ,@wcstatus=' + QuotedStr(wcstatus.Text));
sql.Add(' ,@JGFactoryName=' + QuotedStr(JGFactoryName.Text));
sql.Add(' ,@PBCODE=' + QuotedStr(PBCODE.Text));
sql.Add(' ,@khname=' + QuotedStr(khname.Text));
sql.Add(' ,@color=' + QuotedStr(PRTCOLOR.Text));
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_HZ);
SInitCDSData20(ADOQueryMain, CDS_HZ);
// CDS_HZ.Last;
finally
ADOQueryMain.EnableControls;
end;
end
else
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
SQL.Clear;
sql.Add(' exec P_View_OrderProgress_MX_CS @Begdate=' + quotedstr(trim(FormatDateTime('yyyy-MM-dd', Begdate.DateTime))));
sql.Add(' ,@enddate=' + quotedstr(trim(FormatDateTime('yyyy-MM-dd', EndDate.DateTime + 1))));
sql.Add(' ,@dname=' + QuotedStr(Trim(DNAME)));
sql.Add(' ,@orderno=' + QuotedStr(OrderNoX.Text));
sql.Add(' ,@MPRTCODE=' + QuotedStr(MPRTCODE.Text));
sql.Add(' ,@ddtype=' + QuotedStr(ddtype.Text));
sql.Add(' ,@wcstatus=' + QuotedStr(wcstatus.Text));
sql.Add(' ,@JGFactoryName=' + QuotedStr(JGFactoryName.Text));
sql.Add(' ,@PBCODE=' + QuotedStr(PBCODE.Text));
sql.Add(' ,@khname=' + QuotedStr(khname.Text));
sql.Add(' ,@color=' + QuotedStr(PRTCOLOR.Text));
// sql.Add(' exec P_View_OrderProgress_MX2 @Begdate=' + quotedstr(trim(FormatDateTime('yyyy-MM-dd', Begdate.DateTime))));
// sql.Add(' ,@enddate=' + quotedstr(trim(FormatDateTime('yyyy-MM-dd', EndDate.DateTime + 1))));
// sql.Add(',@DNAME=' + QuotedStr(Trim(DName)));
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_HZ);
SInitCDSData20(ADOQueryMain, CDS_HZ);
// CDS_HZ.Last;
finally
ADOQueryMain.EnableControls;
end;
end;
end;
procedure TfrmOrderProgress.FormDestroy(Sender: TObject);
begin
frmOrderProgress := nil;
end;
procedure TfrmOrderProgress.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmOrderProgress.TBCloseClick(Sender: TObject);
begin
WriteCxBandedGrid(trim(self.caption), Tv1, '<27><><EFBFBD>ȹ<EFBFBD><C8B9><EFBFBD>99');
Close;
end;
procedure TfrmOrderProgress.FormShow(Sender: TObject);
begin
ReadCxBandedGrid(trim(self.caption), Tv1, '<27><><EFBFBD>ȹ<EFBFBD><C8B9><EFBFBD>99');
if canshu1 <> '<27><><EFBFBD><EFBFBD>' then
begin
YWY.Text := Trim(DName);
YWY.Enabled := False;
end;
// InitGrid();
end;
procedure TfrmOrderProgress.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmOrderProgress.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 TfrmOrderProgress.MPRTCodeNameChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmOrderProgress.ToolButton1Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
Exit;
TcxGridToExcel(self.Caption, cxgrid1);
end;
procedure TfrmOrderProgress.FormCreate(Sender: TObject);
begin
canshu1 := Trim(DParameters1);
EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
BegDate.DateTime := EndDate.DateTime - 90;
end;
procedure TfrmOrderProgress.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 TfrmOrderProgress.cxGridDBBandedColumn35CompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean);
begin
if (ARow1.Values[TV1Column3.Index] = ARow2.Values[TV1Column3.Index]) then
AAreEqual := True
else
AAreEqual := False;
end;
procedure TfrmOrderProgress.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 TfrmOrderProgress.MPRTCodeKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
InitGrid();
end;
end;
procedure TfrmOrderProgress.DDTYPEChange(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmOrderProgress.TV1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
if (AViewInfo.GridRecord.Values[TcxGridDBTableView(Sender).GetColumnByFieldName('chk').Index]) = 0 then
begin
ACanvas.FONT.Color := CLRED;
end;
end;
procedure TfrmOrderProgress.N1Click(Sender: TObject);
var
myclipbrd: TClipboard;
begin
myclipbrd := TClipboard.Create();
myclipbrd.AsText := CDS_HZ.FieldByName('MPRTCode').ASSTRING;
end;
procedure TfrmOrderProgress.ToolButton4Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then
exit;
try
frmPDOrderProgress := TfrmPDOrderProgress.Create(Application);
with frmPDOrderProgress do
begin
FMainID := Trim(Self.CDS_HZ.fieldbyname('MainId').AsString);
if ShowModal = 1 then
begin
end;
end;
finally
frmPDOrderProgress.Free;
end;
end;
procedure TfrmOrderProgress.TV1Column10PropertiesEditValueChanged(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>޸<EFBFBD>Ⱦ<EFBFBD><C8BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>')));
sql.Add(',' + quotedstr(trim('<27><><EFBFBD><EFBFBD>:' + trim(CDS_HZ.FieldByName('subid').AsString) + ';<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:' + trim(CDS_HZ.FieldByName('RCYPQTY').AsString))));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
ExecSQL;
end;
tv1.Controller.EditingController.ShowEdit();
end;
end.