459 lines
14 KiB
ObjectPascal
459 lines
14 KiB
ObjectPascal
unit U_AllOrderProgress2023;
|
||
|
||
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,
|
||
RM_e_Xls, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, 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
|
||
TfrmAllOrderProgress2023 = class(TForm)
|
||
ToolBar1: TToolBar;
|
||
TBRafresh: TToolButton;
|
||
TBClose: TToolButton;
|
||
ADOQueryTemp: TADOQuery;
|
||
ADOQueryCmd: TADOQuery;
|
||
Panel1: TPanel;
|
||
ToolButton2: TToolButton;
|
||
ToolButton1: TToolButton;
|
||
RM1: TRMGridReport;
|
||
RMDBHZ: TRMDBDataSet;
|
||
Label3: TLabel;
|
||
MPRTCodeName: TEdit;
|
||
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;
|
||
Label6: TLabel;
|
||
Conno: TEdit;
|
||
ToolButton3: TToolButton;
|
||
CDSPRTHZ: TClientDataSet;
|
||
CDSPRTMX: TClientDataSet;
|
||
RMDBMX: TRMDBDataSet;
|
||
ADOQueryMain: TADOQuery;
|
||
DataSource1: TDataSource;
|
||
CDS_HZ: TClientDataSet;
|
||
V1Column3: TcxGridDBBandedColumn;
|
||
V1Column8: TcxGridDBBandedColumn;
|
||
CDS_PB: TClientDataSet;
|
||
RMDB_PB: TRMDBDataSet;
|
||
RMXLSExport1: TRMXLSExport;
|
||
TV1Column1: TcxGridDBBandedColumn;
|
||
TV1Column2: TcxGridDBBandedColumn;
|
||
TV1Column3: TcxGridDBBandedColumn;
|
||
Panel2: TPanel;
|
||
ToolButton4: TToolButton;
|
||
TV1Column4: TcxGridDBBandedColumn;
|
||
Panel3: TPanel;
|
||
Panel4: TPanel;
|
||
Panel5: TPanel;
|
||
CheckBox1: TCheckBox;
|
||
TV1Column6: TcxGridDBBandedColumn;
|
||
TV1Column7: TcxGridDBBandedColumn;
|
||
TV1Column5: TcxGridDBBandedColumn;
|
||
CheckBox2: TCheckBox;
|
||
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 TV1DblClick(Sender: TObject);
|
||
procedure ToolButton4Click(Sender: TObject);
|
||
procedure TV1Column4CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
|
||
procedure Panel3Click(Sender: TObject);
|
||
procedure Panel4Click(Sender: TObject);
|
||
procedure Panel5Click(Sender: TObject);
|
||
private
|
||
|
||
{ Private declarations }
|
||
canshu1: string;
|
||
procedure InitGrid();
|
||
public
|
||
fkhType: string;
|
||
Fmanage: string;
|
||
end;
|
||
|
||
var
|
||
frmAllOrderProgress2023: TfrmAllOrderProgress2023;
|
||
|
||
implementation
|
||
|
||
uses
|
||
U_DataLink, U_Fun, U_ZDYHelp, U_ZGJBMX;
|
||
|
||
{$R *.dfm}
|
||
|
||
procedure TfrmAllOrderProgress2023.InitGrid();
|
||
begin
|
||
try
|
||
ADOQueryMain.DisableControls;
|
||
with ADOQueryMain do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
if Trim(DName) <> 'ADMIN' then
|
||
begin
|
||
if CheckBox1.Checked = True then
|
||
begin
|
||
sql.Add(' exec P_View_Order_JD_HZ_Filler_copy1 @Begdate=' + quotedstr(trim(FormatDateTime('yyyy-MM-dd', Begdate.DateTime))));
|
||
sql.Add(' ,@enddate=' + quotedstr(trim(FormatDateTime('yyyy-MM-dd', EndDate.DateTime + 1))));
|
||
sql.Add(' ,@Filler=' + quotedstr(trim(DName)));
|
||
if CheckBox2.Checked = True then
|
||
begin
|
||
sql.Add(' ,@PL=''1'' ');
|
||
end
|
||
else
|
||
begin
|
||
sql.Add(' ,@PL=''0'' ');
|
||
end;
|
||
|
||
end
|
||
else
|
||
begin
|
||
sql.Add(' exec P_View_Order_JD_HZ_copy1 @Begdate=' + quotedstr(trim(FormatDateTime('yyyy-MM-dd', Begdate.DateTime))));
|
||
sql.Add(' ,@enddate=' + quotedstr(trim(FormatDateTime('yyyy-MM-dd', EndDate.DateTime + 1))));
|
||
if CheckBox2.Checked = True then
|
||
begin
|
||
sql.Add(' ,@PL=''1'' ');
|
||
end
|
||
else
|
||
begin
|
||
sql.Add(' ,@PL=''0'' ');
|
||
end;
|
||
end;
|
||
|
||
end
|
||
else
|
||
begin
|
||
sql.Add(' exec P_View_Order_JD_HZ_copy1 @Begdate=' + quotedstr(trim(FormatDateTime('yyyy-MM-dd', Begdate.DateTime))));
|
||
sql.Add(' ,@enddate=' + quotedstr(trim(FormatDateTime('yyyy-MM-dd', EndDate.DateTime + 1))));
|
||
if CheckBox2.Checked = True then
|
||
begin
|
||
sql.Add(' ,@PL=''1'' ');
|
||
end
|
||
else
|
||
begin
|
||
sql.Add(' ,@PL=''0'' ');
|
||
end;
|
||
end;
|
||
// ShowMessage(SQL.text);
|
||
Open;
|
||
end;
|
||
SCreateCDS20(ADOQueryMain, CDS_HZ);
|
||
SInitCDSData20(ADOQueryMain, CDS_HZ);
|
||
// CDS_HZ.Last;
|
||
finally
|
||
ADOQueryMain.EnableControls;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmAllOrderProgress2023.FormDestroy(Sender: TObject);
|
||
begin
|
||
frmAllOrderProgress2023 := nil;
|
||
end;
|
||
|
||
procedure TfrmAllOrderProgress2023.FormClose(Sender: TObject; var Action: TCloseAction);
|
||
begin
|
||
Action := caFree;
|
||
end;
|
||
|
||
procedure TfrmAllOrderProgress2023.TBCloseClick(Sender: TObject);
|
||
begin
|
||
WriteCxBandedGrid(trim(self.caption), Tv1, '<27><><EFBFBD>ȹ<EFBFBD><C8B9><EFBFBD>');
|
||
Close;
|
||
end;
|
||
|
||
procedure TfrmAllOrderProgress2023.FormShow(Sender: TObject);
|
||
begin
|
||
ReadCxBandedGrid(trim(self.caption), Tv1, '<27><><EFBFBD>ȹ<EFBFBD><C8B9><EFBFBD>');
|
||
// InitGrid();
|
||
end;
|
||
|
||
procedure TfrmAllOrderProgress2023.TBRafreshClick(Sender: TObject);
|
||
begin
|
||
Panel2.Visible := True;
|
||
Panel2.Refresh;
|
||
InitGrid();
|
||
Panel2.Visible := False;
|
||
end;
|
||
|
||
procedure TfrmAllOrderProgress2023.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 TfrmAllOrderProgress2023.MPRTCodeNameChange(Sender: TObject);
|
||
begin
|
||
ToolButton2.Click;
|
||
end;
|
||
|
||
procedure TfrmAllOrderProgress2023.ToolButton1Click(Sender: TObject);
|
||
begin
|
||
if ADOQueryMain.IsEmpty then
|
||
Exit;
|
||
TcxGridToExcel(self.Caption, cxgrid1);
|
||
end;
|
||
|
||
procedure TfrmAllOrderProgress2023.FormCreate(Sender: TObject);
|
||
var
|
||
FYear: string;
|
||
FMonth: string;
|
||
FDate: TDate;
|
||
begin
|
||
EndDate.Date := SGetServerDate10(ADOQueryTemp);
|
||
BegDate.Date := EndDate.Date - 180;
|
||
// FDate := SGetServerDate10(ADOQueryTemp);
|
||
// FYear := FormatDateTime('yyyy', FDate);
|
||
// FMonth := FormatDateTime('MM', FDate);
|
||
// if StrToInt(FMonth) < 2 then
|
||
// begin
|
||
// BegDate.Date := StrToDate(IntToStr(strtoint(FYear) - 1) + '-02-01');
|
||
// EndDate.Date := StrToDate(FYear + '-01-31');
|
||
// end
|
||
// else
|
||
// begin
|
||
// BegDate.Date := StrToDate(FYear + '-02-01');
|
||
// EndDate.Date := StrToDate(IntToStr(strtoint(FYear) + 1) + '-01-31');
|
||
// end;
|
||
canshu1 := Trim(DParameters1);
|
||
end;
|
||
|
||
procedure TfrmAllOrderProgress2023.ToolButton3Click(Sender: TObject);
|
||
var
|
||
fPrintFile, fPrintFile10, FMainID, FKHName, FFPNo, mfieldName: string;
|
||
i, j, msize: Integer;
|
||
PBRS, PBJZ: Double;
|
||
begin
|
||
if ((CDS_HZ.fieldbyname('DHPS').AsFloat > 0) and (CDS_HZ.fieldbyname('KKSL').AsFloat > 0) and (CDS_HZ.fieldbyname('KKPS').AsFloat > 0)) then
|
||
PBRS := 1 - (CDS_HZ.fieldbyname('KKSL').AsFloat / CDS_HZ.fieldbyname('KKPS').AsFloat) / (CDS_HZ.fieldbyname('DHQty').AsFloat / CDS_HZ.fieldbyname('DHPS').AsFloat)
|
||
else
|
||
PBRS := 0;
|
||
|
||
if CDS_HZ.fieldbyname('DHPS').AsFloat > 0 then
|
||
PBJZ := CDS_HZ.fieldbyname('DHQty').AsFloat / CDS_HZ.fieldbyname('DHPS').AsFloat
|
||
else
|
||
PBJZ := 1;
|
||
|
||
ExportFtErpFile('<27>ܸ<EFBFBD><DCB8><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;
|
||
RMVariables['ZJCD1'] := ADOQueryTemp.fieldbyname('ZJCD1').Value;
|
||
RMVariables['ZJCD2'] := ADOQueryTemp.fieldbyname('ZJCD2').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);
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.add('exec P_Print_CRJD_PB' + quotedstr(Trim(CDS_HZ.fieldbyname('Conno').AsString)));
|
||
// showmessage(SQL.Text);
|
||
Open;
|
||
end;
|
||
SCreateCDS20(ADOQueryTemp, CDS_PB);
|
||
SInitCDSData20(ADOQueryTemp, CDS_PB);
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C>ܸ<EFBFBD><DCB8><EFBFBD><EFBFBD><EFBFBD>.rmf';
|
||
if FileExists(fPrintFile) then
|
||
begin
|
||
RMVariables['PBRS'] := PBRS;
|
||
RMVariables['OrderDetail'] := CDS_HZ.fieldbyname('OrderDetail').Value;
|
||
RM1.LoadFromFile(fPrintFile);
|
||
RM1.ShowReport;
|
||
end
|
||
else
|
||
begin
|
||
Application.MessageBox(PChar('û<><C3BB><EFBFBD>ҵ<EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmAllOrderProgress2023.TV1DblClick(Sender: TObject);
|
||
begin
|
||
if CDS_HZ.IsEmpty then
|
||
Exit;
|
||
Panel2.Visible := True;
|
||
Panel2.Refresh;
|
||
try
|
||
frmZGJBMX := TfrmZGJBMX.Create(Application);
|
||
with frmZGJBMX do
|
||
begin
|
||
FMainID := Trim(Self.CDS_HZ.fieldbyname('MainId').AsString);
|
||
FConNo := Trim(Self.CDS_HZ.fieldbyname('Conno').AsString);
|
||
if ShowModal = 1 then
|
||
begin
|
||
|
||
end;
|
||
end;
|
||
finally
|
||
frmZGJBMX.Free;
|
||
end;
|
||
Panel2.Visible := False;
|
||
end;
|
||
|
||
procedure TfrmAllOrderProgress2023.ToolButton4Click(Sender: TObject);
|
||
begin
|
||
if CDS_HZ.IsEmpty then
|
||
Exit;
|
||
Panel2.Visible := True;
|
||
Panel2.Refresh;
|
||
try
|
||
frmZGJBMX := TfrmZGJBMX.Create(Application);
|
||
with frmZGJBMX do
|
||
begin
|
||
FMainID := Trim(Self.CDS_HZ.fieldbyname('MainId').AsString);
|
||
FConNo := Trim(Self.CDS_HZ.fieldbyname('Conno').AsString);
|
||
if ShowModal = 1 then
|
||
begin
|
||
|
||
end;
|
||
end;
|
||
finally
|
||
frmZGJBMX.Free;
|
||
end;
|
||
Panel2.Visible := False;
|
||
end;
|
||
|
||
procedure TfrmAllOrderProgress2023.TV1Column4CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
|
||
var
|
||
id: Integer;
|
||
Fsunhao10: string;
|
||
Fsunhao: Double;
|
||
begin
|
||
|
||
id := TV1.GetColumnByFieldName('PCBFB').Index;
|
||
|
||
if id < 0 then
|
||
Exit;
|
||
|
||
if AViewInfo.GridRecord.Values[id] = null then
|
||
Exit;
|
||
|
||
Fsunhao10 := AViewInfo.GridRecord.Values[id];
|
||
|
||
Fsunhao := StrToInt(Fsunhao10);
|
||
if Fsunhao >= 15 then
|
||
ACanvas.Brush.Color := $4763FF
|
||
else if (Fsunhao >= 10) and (Fsunhao < 15) then
|
||
begin
|
||
ACanvas.Brush.Color := $00FFFF
|
||
end
|
||
else
|
||
begin
|
||
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmAllOrderProgress2023.Panel3Click(Sender: TObject);
|
||
begin
|
||
CDS_HZ.Filter := ' PCBFBInt>14 ';
|
||
CDS_HZ.Filtered := True;
|
||
end;
|
||
|
||
procedure TfrmAllOrderProgress2023.Panel4Click(Sender: TObject);
|
||
begin
|
||
CDS_HZ.Filter := ' PCBFBInt>10 and PCBFBInt<15 ';
|
||
CDS_HZ.Filtered := True;
|
||
end;
|
||
|
||
procedure TfrmAllOrderProgress2023.Panel5Click(Sender: TObject);
|
||
begin
|
||
CDS_HZ.Filtered := False;
|
||
end;
|
||
|
||
end.
|
||
|