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

428 lines
12 KiB
ObjectPascal
Raw Normal View History

2025-05-27 14:08:09 +08:00
unit U_CKProductCPOutListHZ;
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
TfrmCKProductCPOutListHZ = 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
frmCKProductCPOutListHZ: TfrmCKProductCPOutListHZ;
implementation
uses
U_DataLink, U_RTFun, U_CKProductBCPOutListHZFS;
{$R *.dfm}
procedure TfrmCKProductCPOutListHZ.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 TfrmCKProductCPOutListHZ.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmCKProductCPOutListHZ.FormCreate(Sender: TObject);
begin
inherited;
EndDate.DateTime := SGetServerDateTime(ADOQueryTemp);
BegDate.DateTime := EndDate.DateTime - 20;
end;
procedure TfrmCKProductCPOutListHZ.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><>Ʒ'' ');
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 TfrmCKProductCPOutListHZ.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmCKProductCPOutListHZ.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmCKProductCPOutListHZ.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(trim(self.Caption), Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
Close;
end;
procedure TfrmCKProductCPOutListHZ.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 TfrmCKProductCPOutListHZ.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
// SelExportData(Tv1, ADOQueryMain, '');
end;
procedure TfrmCKProductCPOutListHZ.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmCKProductCPOutListHZ.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
procedure TfrmCKProductCPOutListHZ.orderNoKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
CurrentPage := 1;
InitGrid();
end;
end;
procedure TfrmCKProductCPOutListHZ.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 TfrmCKProductCPOutListHZ.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
FLeft := X;
FTop := Y;
end;
procedure TfrmCKProductCPOutListHZ.CPTypeChange(Sender: TObject);
begin
CurrentPage := 1;
InitGrid();
end;
procedure TfrmCKProductCPOutListHZ.CRTypeChange(Sender: TObject);
begin
CurrentPage := 1;
InitGrid();
end;
procedure TfrmCKProductCPOutListHZ.edtSMNOKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
end;
end;
procedure TfrmCKProductCPOutListHZ.FormDestroy(Sender: TObject);
begin
inherited;
frmCKProductCPOutListHZ := nil;
end;
procedure TfrmCKProductCPOutListHZ.ToolButton1Click(Sender: TObject);
begin
PrintMD('Report');
end;
procedure TfrmCKProductCPOutListHZ.ToolButton2Click(Sender: TObject);
begin
PrintMD('Excel');
end;
end.