D7myzhenyong/成品仓库(FinishedClothWarehouse.dll)/U_CKProductBCPinListHZ.pas
DESKTOP-E401PHE\Administrator 237de1c308 0
2025-08-26 15:25:51 +08:00

421 lines
12 KiB
ObjectPascal
Raw Permalink 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_CKProductBCPinListHZ;
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, RM_E_llPDF, cxCalendar, Math,
Clipbrd, 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
TfrmCKProductBCPinListHZ = class(TForm)
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;
RKOrdID: 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;
v1Column24: TcxGridDBColumn;
Label1: TLabel;
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;
Tv1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
RM1: TRMGridReport;
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
frmCKProductBCPinListHZ: TfrmCKProductBCPinListHZ;
implementation
uses
U_DataLink, U_Fun, U_SysLogHelp, U_CKProductBCPinListHZFS;
{$R *.dfm}
procedure TfrmCKProductBCPinListHZ.PrintMD(MStatus: string);
var
fImagePath2, fPrintFile, fPrintFile10, FMainID, FKHName, FFPNo: string;
begin
if CDS_Main.IsEmpty then
Exit;
if CDS_Main.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
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;
FMainID := '';
CDS_Main.DisableControls;
try
ADOQueryCmd.Connection.BeginTrans;
with CDS_Main do
begin
First;
while not Eof do
begin
if Fieldbyname('Ssel').AsBoolean then
begin
ADOQueryCmd.append;
ADOQueryCmd.fieldbyname('SubId').Value := Trim(CDS_Main.fieldbyname('RKOrdID').AsString);
ADOQueryCmd.fieldbyname('Dname').Value := Trim(DCode);
ADOQueryCmd.post;
end;
Next;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
end;
CDS_Main.EnableControls;
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) + ' @ckordno=' + quotedstr(Trim(DCode)));
Open;
end;
SCreateCDS20(ADOQueryPrint, CDS_PRT);
SInitCDSData20(ADOQueryPrint, CDS_PRT);
if ComboBox1.Text = <><D3A1><EFBFBD><EFBFBD><EFBFBD>뵥(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)' then
begin
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.add('exec P_Print_CKMD_DXHZ3 @code=' + quotedstr(Trim(DCode)));
Open;
end;
SCreateCDS20(ADOQueryPrint, CDS_HZ);
SInitCDSData20(ADOQueryPrint, CDS_HZ);
end
else
begin
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.add('exec P_Print_CKMD_DXHZ @code=' + quotedstr(Trim(DCode)));
Open;
end;
SCreateCDS20(ADOQueryPrint, CDS_HZ);
SInitCDSData20(ADOQueryPrint, CDS_HZ);
end;
end;
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ComboBox1.Text) + '.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 TfrmCKProductBCPinListHZ.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmCKProductBCPinListHZ.FormCreate(Sender: TObject);
begin
EndDate.DateTime := SGetServerDateTime(ADOQueryTemp);
BegDate.DateTime := EndDate.DateTime - 20;
end;
procedure TfrmCKProductBCPinListHZ.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(' from ( ');
sql.Add(' select AA.* ');
sql.Add(' ,B.orderNo,B.MPRTCode,B.MPRTCodeName,B.MPRTMF,B.MPRTKZ,B.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.RKOrdID,A.MainId,KuangHao ');
sql.Add(' , CRTime,A.CRType ,bs=(select COUNT(DISTINCT BAOID) FROM CK_BanCP_CR D WHERE D.MAINID=A.MAINID');
SQL.Add(' AND A.RKOrdID=D.RKOrdID AND convert(varchar(10),A.CRTime,120)=convert(varchar(10),D.CRTime,120)AND D.CRFlag=''<27><><EFBFBD><EFBFBD>''');
SQL.Add(' AND A.CRType=D.CRType )');
sql.Add(' from CK_BanCP_CR A ');
sql.Add(' where A.CRFlag=''<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.RKOrdID,A.MainId ,crtime,A.CRType,KuangHao ) AA ');
sql.Add(' inner join JYOrder_Main B on AA.MainId=B.MainId ');
sql.Add(' ) AAA ');
sql.Add(fwhere);
SQL.ADD('ORDER BY CRTIME DESC');
// ShowMessage(sql.Text);
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
MovePanel2.Visible := false;
finally
ADOQueryMain.EnableControls;
MovePanel2.Visible := false;
end;
end;
procedure TfrmCKProductBCPinListHZ.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmCKProductBCPinListHZ.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmCKProductBCPinListHZ.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(trim(self.Caption), Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
Close;
end;
procedure TfrmCKProductBCPinListHZ.FormShow(Sender: TObject);
var
fsj: string;
begin
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;
SCreateCDS20(ADOQueryTemp, CDS_Label);
SInitCDSData20(ADOQueryTemp, CDS_Label);
end;
procedure TfrmCKProductBCPinListHZ.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
SelExportData(Tv1, ADOQueryMain, '');
end;
procedure TfrmCKProductBCPinListHZ.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmCKProductBCPinListHZ.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
procedure TfrmCKProductBCPinListHZ.orderNoKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
CurrentPage := 1;
InitGrid();
end;
end;
procedure TfrmCKProductBCPinListHZ.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
try
frmCKProductBCPinListHZFS := TfrmCKProductBCPinListHZFS.Create(Application);
with frmCKProductBCPinListHZFS do
begin
FCKOrdNo := Self.CDS_Main.fieldbyname('RKOrdID').AsString;
if ShowModal = 1 then
begin
InitGrid();
end;
end;
finally
frmCKProductBCPinListHZFS.Free;
end;
end;
procedure TfrmCKProductBCPinListHZ.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
FLeft := X;
FTop := Y;
end;
procedure TfrmCKProductBCPinListHZ.CPTypeChange(Sender: TObject);
begin
CurrentPage := 1;
InitGrid();
end;
procedure TfrmCKProductBCPinListHZ.CRTypeChange(Sender: TObject);
begin
CurrentPage := 1;
InitGrid();
end;
procedure TfrmCKProductBCPinListHZ.edtSMNOKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
end;
end;
procedure TfrmCKProductBCPinListHZ.FormDestroy(Sender: TObject);
begin
frmCKProductBCPinListHZ := nil;
end;
procedure TfrmCKProductBCPinListHZ.ToolButton1Click(Sender: TObject);
begin
PrintMD('Report');
end;
procedure TfrmCKProductBCPinListHZ.ToolButton2Click(Sender: TObject);
begin
PrintMD('Excel');
end;
end.