D10myYicheng/成品仓库(FinishedClothWarehouse.dll)/U_CKProductBCPOutListHZ.pas

428 lines
12 KiB
ObjectPascal
Raw Permalink Normal View History

2025-05-27 14:08:09 +08:00
unit U_CKProductBCPOutListHZ;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView,
cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses,
cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls,
ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient,
cxDropDownEdit, RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System,
RM_GridReport, cxCheckBox, Menus, MovePanel, cxCalendar, Math, Clipbrd,
cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxSkinsCore,
dxSkinsDefaultPainters, dxDateRanges, dxBarBuiltInMenu, U_BaseList;
type
TfrmCKProductBCPOutListHZ = class(TFrmBaseList)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBExport: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
Label3: TLabel;
MPRTCodeName: TEdit;
Label2: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
CDS_Main: TClientDataSet;
Tv1: TcxGridDBTableView;
cxGrid2Level1: TcxGridLevel;
cxGrid2: TcxGrid;
v2Column1: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
Label5: TLabel;
orderNo: TEdit;
v1Column8: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
RMXLSExport1: TRMXLSExport;
v1Column4: TcxGridDBColumn;
Label10: TLabel;
CkOrdNo: TEdit;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
MovePanel2: TMovePanel;
DS_JuanPRT: TDataSource;
cxGridPopupMenu2: TcxGridPopupMenu;
v1Column15: TcxGridDBColumn;
v1Column19: TcxGridDBColumn;
conNo: TEdit;
Label15: TLabel;
begtime: TDateTimePicker;
endTime: TDateTimePicker;
ADOQueryPrint: TADOQuery;
RMDB_Main: TRMDBDataSet;
RM3: TRMGridReport;
v1Column24: TcxGridDBColumn;
Label22: TLabel;
KHName: TEdit;
Label24: TLabel;
v1Column13: TcxGridDBColumn;
Label1: TLabel;
CRType: TComboBox;
v1Column5: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
ToolButton1: TToolButton;
ComboBox1: TComboBox;
CDS_Label: TClientDataSet;
v1Column14: TcxGridDBColumn;
Label9: TLabel;
MPRTCode: TEdit;
ToolButton2: TToolButton;
v1Column1: TcxGridDBColumn;
ADOQuery1: TADOQuery;
RMDBHZ: TRMDBDataSet;
CDS_HZ: TClientDataSet;
CDS_PRT: TClientDataSet;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ConNoMChange(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure orderNoKeyPress(Sender: TObject; var Key: Char);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure CPTypeChange(Sender: TObject);
procedure CRTypeChange(Sender: TObject);
procedure edtSMNOKeyPress(Sender: TObject; var Key: Char);
procedure FormDestroy(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
private
FLeft, FTop: Integer;
CurrentPage, RecordsNumber: Integer;
procedure InitGrid();
procedure PrintMD(MStatus: string);
{ Private declarations }
public
canshu1: string;
{ Public declarations }
end;
var
frmCKProductBCPOutListHZ: TfrmCKProductBCPOutListHZ;
implementation
uses
U_DataLink, U_RTFun, U_CKProductBCPOutListHZFS;
{$R *.dfm}
procedure TfrmCKProductBCPOutListHZ.PrintMD(MStatus: string);
var
fImagePath2, fPrintFile, fPrintFile10, FMainID, FKHName, FFPNo: string;
begin
if CDS_Main.IsEmpty then
Exit;
ExportFtErpFile(trim(ComboBox1.Text) + '.rmf', ADOQueryTemp);
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete TBSubID where DName=''' + Trim(DCode) + '''');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('SELECT * FROM TBSubID where 1=2 ');
open;
end;
with ADOQuery1 do
begin
Close;
sql.Clear;
sql.Add('select * ');
sql.Add(' from CK_BanCP_CR A ');
sql.Add(' where A.CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
sql.Add('and crflag=''<27><><EFBFBD><EFBFBD>'' and CKOrdNo=' + quotedstr(Trim(CDS_Main.fieldbyname('CKOrdNo').AsString)));
sql.Add('and SQCKCS=' + quotedstr(trim(CDS_Main.fieldbyname('SQCKCS').asstring)));
open;
end;
FMainID := '';
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQuery1 do
begin
First;
while not Eof do
begin
ADOQueryCmd.append;
ADOQueryCmd.fieldbyname('SubId').Value := Trim(ADOQuery1.fieldbyname('MJID').AsString);
ADOQueryCmd.fieldbyname('Dname').Value := Trim(DCode);
ADOQueryCmd.post;
ADOQuery1.NEXT;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
end;
if CDS_Label.Locate('LMName', trim(ComboBox1.Text), []) then
begin
// with ADOQueryPrint do
// begin
// Close;
// sql.Clear;
// sql.add('exec ' + trim(CDS_Label.fieldbyname('LMSql').AsString) + ' @Code=' + quotedstr(Trim(DCode)));
//// ShowMessage(SQL.Text);
// Open;
// end;
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.add('exec ' + trim(CDS_Label.fieldbyname('LMSql').AsString) + ' @CKOrdNo=' + quotedstr(Trim(CDS_Main.fieldbyname('CKZDH').AsString)));
Open;
end;
SCreateCDS(ADOQueryPrint, CDS_PRT);
SInitCDSData(ADOQueryPrint, CDS_PRT);
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.add('exec P_Print_CKMD_DXHZ @code=' + quotedstr(Trim(DCode)));
// ShowMessage(sql.Text);
Open;
end;
SCreateCDS(ADOQueryPrint, CDS_HZ);
SInitCDSData(ADOQueryPrint, CDS_HZ);
end;
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ComboBox1.Text) + '.rmf';
if FileExists(fPrintFile) then
begin
if MStatus = 'Excel' then
begin
RM3.LoadFromFile(fPrintFile);
fImagePath2 := ExtractFilePath(Application.ExeName) + 'image\label0001.xls';
if FileExists(fImagePath2) then
DeleteFile(fImagePath2);
fImagePath2 := ExtractFilePath(Application.ExeName) + 'image\label.xls';
RM3.PrepareReport;
RM3.ExportTo(RMXLSExport1, fImagePath2);
end
else
begin
RM3.LoadFromFile(fPrintFile);
RMVariables['ZDR'] := trim(DName);
RM3.ShowReport;
end;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD>ҵ<EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
end;
end;
procedure TfrmCKProductBCPOutListHZ.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmCKProductBCPOutListHZ.FormCreate(Sender: TObject);
begin
inherited;
EndDate.DateTime := SGetServerDateTime(ADOQueryTemp);
BegDate.DateTime := EndDate.DateTime - 20;
end;
procedure TfrmCKProductBCPOutListHZ.InitGrid();
var
fwhere, Pwhere: string;
begin
MovePanel2.Left := (self.Width - MovePanel2.Width) div 2;
MovePanel2.Visible := True;
MovePanel2.Refresh;
Pwhere := SGetFilters(Panel1, 1, 2);
if trim(Pwhere) <> '' then
fwhere := fwhere + ' where ' + trim(Pwhere);
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
sql.Clear;
sql.Add(' select AAA.* ');
sql.Add(' ,CKZDH=AAA.CKOrdNo+''-''+ISNULL(cast(AAA.SQCKCS as varchar(10)),'''') ');
sql.Add(' ,GuiXing=(select GuiXing from FHSQ_Main X where X.fsid=AAA.CKOrdNo) ');
sql.Add(' from ( ');
sql.Add(' select AA.* ');
sql.Add(' ,B.orderNo,C.MPRTCode,C.MPRTCodeName,C.MPRTMF,C.MPRTKZ,C.conNo,B.KHconNo,B.lidan,B.ywy ');
sql.Add(' from ( ');
sql.Add(' select count(A.MJID) PS,SUM(A.NETKGQty) NETKGQty,SUM(A.KGQty) KGQty, SUM(A.Qty) Qty, SUM(A.MJYLen) MJYLen,A.CKOrdNo,A.SQCKCS,A.MainId ,A.SUBID ');
sql.Add(' ,convert(varchar(10),A.CRTime,120) CRTime,A.CRType,A.CDDanwei');
sql.Add(' from CK_BanCP_CR A ');
sql.Add(' where A.CRFlag=''<27><><EFBFBD><EFBFBD>'' and A.ClothDegree=''<27><><EFBFBD><EFBFBD>Ʒ'' ');
sql.Add(' and A.CRTime>=' + quotedstr(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)));
sql.Add(' and A.CRTime<' + quotedstr(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1)));
sql.Add(' GROUP BY A.CKOrdNo,A.SQCKCS,A.MainId,A.SUBID,A.CDDanwei,convert(varchar(10),A.CRTime,120),A.CRType,A.CDDanwei ) AA ');
sql.Add(' inner join JYOrder_Main B on AA.MainId=B.MainId ');
sql.Add(' inner join JYOrder_Sub C on AA.SUBID=C.SUBID ');
sql.Add(' ) AAA ');
sql.Add(fwhere);
Open;
end;
SCreateCDS(ADOQueryMain, CDS_Main);
SInitCDSData(ADOQueryMain, CDS_Main);
MovePanel2.Visible := false;
finally
ADOQueryMain.EnableControls;
MovePanel2.Visible := false;
end;
end;
procedure TfrmCKProductBCPOutListHZ.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmCKProductBCPOutListHZ.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmCKProductBCPOutListHZ.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(trim(self.Caption), Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
Close;
end;
procedure TfrmCKProductBCPOutListHZ.FormShow(Sender: TObject);
var
fsj: string;
begin
inherited;
ReadCxGrid(trim(self.Caption), Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
fsj := 'select distinct(LMName) name from Lbael_Map where LMType=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB5A5><EFBFBD><EFBFBD>'' ';
SInitComBoxBySql(ADOQueryCmd, ComboBox1, true, fsj);
with ADOQueryTemp do
begin
Filtered := False;
Close;
sql.Clear;
Sql.Add('select * from Lbael_Map where LMType=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB5A5><EFBFBD><EFBFBD>''');
Open;
end;
SCreateCDS(ADOQueryTemp, CDS_Label);
SInitCDSData(ADOQueryTemp, CDS_Label);
end;
procedure TfrmCKProductBCPOutListHZ.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
// SelExportData(Tv1, ADOQueryMain, '');
end;
procedure TfrmCKProductBCPOutListHZ.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmCKProductBCPOutListHZ.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
procedure TfrmCKProductBCPOutListHZ.orderNoKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
CurrentPage := 1;
InitGrid();
end;
end;
procedure TfrmCKProductBCPOutListHZ.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
try
frmCKProductBCPOutListHZFS := TfrmCKProductBCPOutListHZFS.Create(Application);
with frmCKProductBCPOutListHZFS do
begin
FCKOrdNo := Self.CDS_Main.fieldbyname('CKOrdNo').AsString;
if ShowModal = 1 then
begin
InitGrid();
end;
end;
finally
frmCKProductBCPOutListHZFS.Free;
end;
end;
procedure TfrmCKProductBCPOutListHZ.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
FLeft := X;
FTop := Y;
end;
procedure TfrmCKProductBCPOutListHZ.CPTypeChange(Sender: TObject);
begin
CurrentPage := 1;
InitGrid();
end;
procedure TfrmCKProductBCPOutListHZ.CRTypeChange(Sender: TObject);
begin
CurrentPage := 1;
InitGrid();
end;
procedure TfrmCKProductBCPOutListHZ.edtSMNOKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
end;
end;
procedure TfrmCKProductBCPOutListHZ.FormDestroy(Sender: TObject);
begin
inherited;
frmCKProductBCPOutListHZ := nil;
end;
procedure TfrmCKProductBCPOutListHZ.ToolButton1Click(Sender: TObject);
begin
PrintMD('Report');
end;
procedure TfrmCKProductBCPOutListHZ.ToolButton2Click(Sender: TObject);
begin
PrintMD('Excel');
end;
end.