D7YPbaoying/样品仓库/U_BpJylist.pas
DESKTOP-E401PHE\Administrator e505f1d7a5 ~
2025-04-30 16:02:03 +08:00

251 lines
6.1 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_BpJylist;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, StdCtrls, ExtCtrls, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData,
cxButtonEdit, cxDropDownEdit, cxGridLevel, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxClasses, cxControls,
cxGridCustomView, cxGrid, DBClient, ADODB, cxGridCustomPopupMenu,
cxGridPopupMenu, cxCheckBox;
type
TfrmBpJylist = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBExport: TToolButton;
TBPrint: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
Label1: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1P_CodeName: TcxGridDBColumn;
v1P_SPEC: TcxGridDBColumn;
v1P_MF: TcxGridDBColumn;
v1P_KZ: TcxGridDBColumn;
v1RollNum: TcxGridDBColumn;
v1Qty: TcxGridDBColumn;
v1QtyUnit: TcxGridDBColumn;
v1Note: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
v1CRTime: TcxGridDBColumn;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
MJstr7: TEdit;
MPrtSpec: TEdit;
CRType: TComboBox;
Label5: TLabel;
ADOQueryCmd: TADOQuery;
ADOQueryTmp: TADOQuery;
DataSource1: TDataSource;
CDS_Main: TClientDataSet;
cxGridPopupMenu1: TcxGridPopupMenu;
TOk: TToolButton;
v1Ssel: TcxGridDBColumn;
CheckBox1: TCheckBox;
v1MJID: TcxGridDBColumn;
v1MJXH: TcxGridDBColumn;
v1CPType: TcxGridDBColumn;
ckName: TComboBox;
Label6: TLabel;
v1P_Color: TcxGridDBColumn;
v1P_Code: TcxGridDBColumn;
Label7: TLabel;
MPrtCode: TEdit;
begTime: TDateTimePicker;
endTime: TDateTimePicker;
CheckBox2: TCheckBox;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure MJstr7Change(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure TBPrintClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TOkClick(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
private
procedure InitGrid();
procedure SetComboBox();
{ Private declarations }
public
fType:integer;
fCKName:string;
{ Public declarations }
end;
var
frmBpJylist: TfrmBpJylist;
implementation
uses
U_DataLink,U_Fun10,U_ZDYHelp, U_BpRk;
{$R *.dfm}
procedure TfrmBpJylist.SetComboBox();
begin
ckName.Items.Clear;
with adoQueryTmp do
begin
close;
sql.Clear;
sql.Add('select * from KH_ZDY where Type=''CPCK'' ');
if trim(fCKName)<>'' then
sql.Add('and zdyName='+quotedstr(trim(fCKName)));
open;
while not eof do
begin
ckName.Items.Add(trim(fieldbyname('zdyName').AsString));
next;
end;
end;
if ckName.Items.Count>0 then ckName.ItemIndex:=0;
CRType.Items.Clear;
CRType.Items.Add('');
with adoQueryTmp do
begin
close;
sql.Clear;
sql.Add('select * from KH_ZDY where Type=''CPRKTYPE''');
if trim(fCKName)<>'' then
sql.Add('and note='+quotedstr(trim(fCKName)));
open;
while not eof do
begin
CRType.Items.Add(trim(fieldbyname('zdyName').AsString));
next;
end;
end;
if CRType.Items.Count>0 then CRType.ItemIndex:=0;
end;
procedure TfrmBpJylist.InitGrid();
var
mBegdate,mEnddate:string;
begin
mbegdate:=FormatDateTime('yyyy-MM-dd',begdate.Date)+' '+FormatDateTime('HH:nn',begTime.Time);
menddate:=FormatDateTime('yyyy-MM-dd',enddate.Date)+' '+FormatDateTime('HH:nn',endTime.Time);
try
with adoqueryTmp do
begin
close;
sql.Clear;
sql.Add('select A.*,B.MPrtCode,MPrtCodeName=A.MJStr7,B.MPrtSpec from WFB_MJJY A');
sql.Add('INNER JOIN JYOrder_main B on B.MainID=A.mainID ');
sql.Add('where A.MJstr2='<><CEB4><EFBFBD><EFBFBD>''');
if begdate.Checked then
sql.Add('and A.FillTime>='''+trim(mbegdate)+''' ');
if enddate.Checked then
sql.Add('and A.FillTime<'''+trim(menddate)+''' ');
if not CheckBox1.Checked then
// sql.Add('and (RollNum<>0 or qty<>0 ) ');
{ if trim(FckName)<>'' then
sql.Add('and ckName='+quotedstr(trim(FckName)) ); }
open;
end;
SCreateCDS20(adoqueryTmp,CDS_Main);
SInitCDSData20(adoqueryTmp,CDS_Main);
finally
end;
end;
procedure TfrmBpJylist.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
writeCxGrid(self.Caption,Tv1,'<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
if fType=10 then Action:=cahide
else Action:=cafree;
end;
procedure TfrmBpJylist.FormDestroy(Sender: TObject);
begin
frmBpJylist:=nil;
end;
procedure TfrmBpJylist.MJstr7Change(Sender: TObject);
begin
if ADOQueryTmp.Active=False then Exit;
SDofilter(ADOQueryTmp,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryTmp,CDS_Main);
SInitCDSData20(ADOQueryTmp,CDS_Main);
end;
procedure TfrmBpJylist.FormShow(Sender: TObject);
begin
if fType=10 then
begin
TOk.Visible:=true;
v1Ssel.Visible:=true;
end;
TOk.Visible:=true;
v1Ssel.Visible:=true;
readCxGrid(self.Caption,Tv1,'<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
SetComboBox();
InitGrid();
end;
procedure TfrmBpJylist.FormCreate(Sender: TObject);
begin
BegDate.Date:=DServerDate-7;
EndDate.Date:=DServerDate;
cxGrid1.Align:=alclient;
end;
procedure TfrmBpJylist.TBCloseClick(Sender: TObject);
begin
close;
end;
procedure TfrmBpJylist.TBRafreshClick(Sender: TObject);
begin
initGrid();
end;
procedure TfrmBpJylist.TBPrintClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then Exit;
TcxGridToExcel(self.Caption,cxgrid1);
end;
procedure TfrmBpJylist.TBExportClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then Exit;
TcxGridToExcel(self.Caption,cxgrid1);
end;
procedure TfrmBpJylist.TOkClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then Exit;
ModalResult:=1;
end;
procedure TfrmBpJylist.CheckBox2Click(Sender: TObject);
begin
with CDS_Main do
begin
DisableControls;
First;
while not eof do
begin
edit;
fieldbyname('Ssel').Value:=checkbox2.Checked;
post;
next;
end;
First;
EnableControls;
end;
end;
end.