D7szChenfeng/坯布码单待检(PBMDDJ.dll)/U_PBCKKCList.pas

327 lines
9.2 KiB
ObjectPascal
Raw Normal View History

2025-07-22 15:51:47 +08:00
unit U_PBCKKCList;
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, cxCheckBox, RM_Common, RM_Class, RM_e_Xls, RM_Dataset,
RM_System, RM_GridReport, Menus, cxCalendar, cxButtonEdit, cxTextEdit,
cxCurrencyEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
dxSkinsCore, dxSkinsDefaultPainters, dxSkinscxPCPainter, 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, dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint,
dxSkinXmas2008Blue;
type
TfrmPBCKKCList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
cxGridPopupMenu1: TcxGridPopupMenu;
CDS_Main: TClientDataSet;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
ToolButton1: TToolButton;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column6: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column15: TcxGridDBColumn;
v1Column14: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column11: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
Label7: TLabel;
OrderNo: TEdit;
v1Column16: TcxGridDBColumn;
ToolButton2: TToolButton;
Label14: TLabel;
SPCode: TEdit;
v1Column17: TcxGridDBColumn;
v1Column18: TcxGridDBColumn;
v1Column19: TcxGridDBColumn;
v1Column20: TcxGridDBColumn;
v1Column21: TcxGridDBColumn;
ToolButton3: TToolButton;
PopupMenu2: TPopupMenu;
MenuItem1: TMenuItem;
MenuItem2: TMenuItem;
ADOQueryPrint: TADOQuery;
CDS_Print: TClientDataSet;
v1Column24: TcxGridDBColumn;
v1Column25: TcxGridDBColumn;
v1Column22: TcxGridDBColumn;
Label1: TLabel;
SPName: TEdit;
Tv1Column1: TcxGridDBColumn;
Label2: TLabel;
CustomerNoName: TEdit;
Tv1Column2: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBRafreshClick(Sender: TObject);
procedure ConNoMChange(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure MPRTCodeNameChange(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure SXBatchNOChange(Sender: TObject);
procedure FactoryNameChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
private
procedure InitGrid();
{ Private declarations }
public
canshu1: string;
{ Public declarations }
end;
var
frmPBCKKCList: TfrmPBCKKCList;
implementation
uses
U_DataLink, U_RTFun, U_SXCKInPut;
{$R *.dfm}
procedure TfrmPBCKKCList.FormDestroy(Sender: TObject);
begin
frmPBCKKCList := nil;
end;
procedure TfrmPBCKKCList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmPBCKKCList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' select CustomerNoName, SPCode,spname,FactoryName,QtyUnit,ToFactoryName,sum(MXKCPiQty)MXKCPiQty,sum(MXKCQty)MXKCQty,note ');
sql.Add(' from CK_SXPB_CR A where isnull(CKName,'''')=''<27><><EFBFBD><EFBFBD>'' ');
SQL.Add(' and A.CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
sql.Add('group by CustomerNoName,SPCode,spname,FactoryName,ToFactoryName,QtyUnit,note');
SQL.ADD('HAVING sum(MXKCPiQty)>0 AND sum(MXKCQty)>0');
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmPBCKKCList.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmPBCKKCList.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmPBCKKCList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>0326');
Close;
end;
procedure TfrmPBCKKCList.FormShow(Sender: TObject);
begin
// CANSHU1 := DParameters1;
ReadCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>0326');
// if canshu1 <> '<27><><EFBFBD><EFBFBD>' then
// begin
// FILLER.Text := Trim(DName);
// end;
InitGrid();
end;
procedure TfrmPBCKKCList.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
end;
end;
procedure TfrmPBCKKCList.MPRTCodeNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmPBCKKCList.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmPBCKKCList.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
procedure TfrmPBCKKCList.SXBatchNOChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmPBCKKCList.FactoryNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmPBCKKCList.ToolButton1Click(Sender: TObject);
begin
ModalResult := 1;
end;
procedure TfrmPBCKKCList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
ModalResult := 1;
end;
procedure TfrmPBCKKCList.ToolButton2Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
TcxGridToExcel('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', cxGrid2);
end;
procedure TfrmPBCKKCList.ToolButton3Click(Sender: TObject);
var
fPrintFile: string;
Porderno, LBName, SYRName: string;
i, j: Integer;
OrderKg: Double;
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>/Please choose!', '<27><>ʾ', 0);
Exit;
end;
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;
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('SPNAME').AsString);
ADOQueryCmd.fieldbyname('Dname').Value := Trim(DCode);
ADOQueryCmd.post;
end;
Next;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
end;
CDS_Main.EnableControls;
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.Add(' select SPCode,spname,FactoryName,QtyUnit,ToFactoryName,sum(MXKCPiQty)MXKCPiQty,sum(MXKCQty)MXKCQty ');
sql.Add(' from CK_SXPB_CR A where isnull(CKName,'''')=''<27><><EFBFBD><EFBFBD>'' ');
sql.add(' and A.spname in (SELECT distinct SubId FROM TBSubID where Dname=' + quotedstr(Trim(DCode)) + ')');
SQL.Add(' and A.CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
sql.Add('group by SPCode,spname,FactoryName,ToFactoryName,QtyUnit');
SQL.ADD('HAVING sum(MXKCPiQty)>0 AND sum(MXKCQty)>0');
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS20(ADOQueryPrint, CDS_Print);
SInitCDSData20(ADOQueryPrint, CDS_Print);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>.rmf';
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
// RMVariables['SYRName']:=Trim(SYRName);
RM1.ShowReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>Report\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>.rmf'), '<27><>ʾ', 0);
end;
end;
end.