D7gmYongjin/成品仓库(FinishedClothWarehouse.dll)/U_CPKCHZList.pas
DESKTOP-E401PHE\Administrator 8452f471f5 新建3-04
2026-03-04 09:51:44 +08:00

550 lines
15 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_CPKCHZList;
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, MovePanel, cxButtonEdit, cxPC, RM_Common, RM_Class, RM_e_Xls,
RM_Dataset, RM_System, RM_GridReport, cxCheckBox, cxTextEdit,
cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu,StrUtils;
type
TfrmCPKCHZList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBExport: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
cxGridPopupMenu1: TcxGridPopupMenu;
Label3: TLabel;
Label4: TLabel;
MPRTCodeName: TEdit;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
CDS_Main: TClientDataSet;
Tv1: TcxGridDBTableView;
cxGrid2Level1: TcxGridLevel;
cxGrid2: TcxGrid;
v2Column1: TcxGridDBColumn;
cxgrdPRTColor: TcxGridDBColumn;
VC_KGQty: TcxGridDBColumn;
VC_Qty: TcxGridDBColumn;
v1orderNo: TcxGridDBColumn;
Label6: TLabel;
MJID: TEdit;
VC_JQty: TcxGridDBColumn;
v1MPRTMF: TcxGridDBColumn;
v1MPRTKZ: TcxGridDBColumn;
Label8: TLabel;
MPRTKZ: TEdit;
Label9: TLabel;
MPRTMF: TEdit;
Label7: TLabel;
CPType10: TComboBox;
v1Column3: TcxGridDBColumn;
VC_NetKGQty: TcxGridDBColumn;
Label10: TLabel;
v1ConNo: TcxGridDBColumn;
v1lidan: TcxGridDBColumn;
v1ywy: TcxGridDBColumn;
Label11: TLabel;
Label12: TLabel;
lidan: TEdit;
ywy: TEdit;
VC_ganghao: TcxGridDBColumn;
Label14: TLabel;
ganghao: TEdit;
Panel2: TPanel;
Panel3: TPanel;
cxTabControl1: TcxTabControl;
Panel6: TPanel;
Label16: TLabel;
LBCPAP: TLabel;
BTLP: TButton;
BTNP: TButton;
TCBNOR: TComboBox;
PRTColor: TEdit;
ToolButton1: TToolButton;
RM1: TRMGridReport;
RMDBPRT: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
VC_TJDate: TcxGridDBColumn;
VC_ISHj: TcxGridDBColumn;
chkwhj: TCheckBox;
chkyhj: TCheckBox;
CheckBox1: TCheckBox;
VC_JYF: TcxGridDBColumn;
MovePanel2: TPanel;
Tv1Column1: TcxGridDBColumn;
CPType: TEdit;
ConNo: TEdit;
procedure FormDestroy(Sender: TObject);
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 TBFindClick(Sender: TObject);
procedure PRTColorChange(Sender: TObject);
procedure Tv1DblClick(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure chkwhjClick(Sender: TObject);
procedure chkyhjClick(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure CPType10Change(Sender: TObject);
procedure ganghaoChange(Sender: TObject);
private
procedure InitGrid();
procedure SetStatus();
function SGetFiltersZH(TMPanel:TPanel;EquTag,LikeTag:Integer):string;
{ Private declarations }
public
canshu1: string;
{ Public declarations }
end;
var
frmCPKCHZList: TfrmCPKCHZList;
implementation
uses
U_DataLink, U_Fun, U_ZDYHelp,U_RTFun;
{$R *.dfm}
procedure TfrmCPKCHZList.SetStatus();
var
i: Integer;
begin
case cxTabControl1.TabIndex of
0:
begin
ClearOrHideControls(Panel1, '0', True, True);
ClearOrHideControls(Panel1, '1', True, False);
ClearOrHideControls(Panel1, '2', True, False);
for i := 0 to tv1.ColumnCount - 1 do
begin
tv1.Columns[i].Visible := false;
end;
IsVisibleTV(Panel1, TV1, '0', True);
v1ywy.Visible:=True;
v1lidan.Visible:=True;
end;
1:
begin
ClearOrHideControls(Panel1, '0', False, True);
ClearOrHideControls(Panel1, '1', True, True);
ClearOrHideControls(Panel1, '2', True, False);
for i := 0 to tv1.ColumnCount - 1 do
begin
tv1.Columns[i].Visible := True;
end;
ClearOrHideControls(Panel1, '0', False, True);
ClearOrHideControls(Panel1, '1', False, True);
ClearOrHideControls(Panel1, '2', True, True);
end;
2:
begin
ClearOrHideControls(Panel1, '0', False, True);
ClearOrHideControls(Panel1, '1', False, True);
ClearOrHideControls(Panel1, '2', False, True);
for i := 0 to tv1.ColumnCount - 1 do
begin
tv1.Columns[i].Visible := True;
end;
end;
3:
begin
ClearOrHideControls(Panel1, '0', True, True);
ClearOrHideControls(Panel1, '1', True, False);
ClearOrHideControls(Panel1, '2', True, False);
for i := 0 to tv1.ColumnCount - 1 do
begin
tv1.Columns[i].Visible := false;
end;
IsVisibleTV(Panel1, TV1, '0', True);
v1ConNo.Visible:=False;
v1orderNo.Visible:=False;
v1MPRTMF.Visible:=False;
v1MPRTKZ.Visible:=False;
v1lidan.Visible:=False;
v1ywy.Visible:=False;
end;
end;
VC_JQty.Visible := True;
VC_KGQty.Visible := True;
VC_NetKGQty.Visible := True;
VC_Qty.Visible := True;
v2Column1.Visible:=True;
VC_ISHj.Visible := True;
if cxTabControl1.TabIndex<>3 then
begin
VC_JYF.Visible:=True;
VC_TJDate.Visible := True;
v1ConNo.Visible:=True;
end;
end;
procedure TfrmCPKCHZList.FormDestroy(Sender: TObject);
begin
frmCPKCHZList := nil;
end;
procedure TfrmCPKCHZList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmCPKCHZList.FormCreate(Sender: TObject);
begin
//cxGrid1.Align:=alClient;
BegDate.DateTime := SGetServerDateTime(ADOQueryTemp);
EndDate.DateTime := SGetServerDateTime(ADOQueryTemp)
end;
procedure TfrmCPKCHZList.InitGrid();
var
Pwhere, fwhere: string;
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
case cxTabControl1.TabIndex of
0: /////////////////////////<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>//////////////////////////////
begin
Pwhere := SGetFiltersZH(Panel1, 1, 2);
if trim(Pwhere) <> '' then
fwhere := fwhere + ' and ' + trim(Pwhere);
if trim(Pwhere) <> '' then
begin
if chkyhj.Checked then
begin
fwhere := fwhere + ' and ISHj=1 ';
end;
if chkwhj.Checked then
begin
fwhere := fwhere + ' and ISHj=0 ';
end;
end;
sql.Add('exec P_View_FinshHZKCWKL @HZType=''<27><><EFBFBD><EFBFBD>'' ');
sql.Add(', @criteria=' + quotedstr(Trim(fwhere)));
end;
1: /////////////////////////<2F><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>//////////////////////////////
begin
Pwhere := SGetFiltersZH(Panel1, 1, 2);
if trim(Pwhere) <> '' then
fwhere := fwhere + ' and ' + trim(Pwhere);
if trim(Pwhere) <> '' then
begin
if chkyhj.Checked then
begin
fwhere := fwhere + ' and ISHj=1 ';
end;
if chkwhj.Checked then
begin
fwhere := fwhere + ' and ISHj=0 ';
end;
end;
sql.Add('exec P_View_FinshHZKCWKL @HZType=''<27><>ɫ'' ');
sql.Add(', @criteria=' + quotedstr(Trim(fwhere)));
end;
2: /////////////////////////<2F>׺Ż<D7BA><C5BB><EFBFBD>//////////////////////////////
begin
Pwhere := SGetFiltersZH(Panel1, 1, 2);
if trim(Pwhere) <> '' then
fwhere := fwhere + ' and ' + trim(Pwhere);
if trim(Pwhere) <> '' then
begin
if chkyhj.Checked then
begin
fwhere := fwhere + ' and ISHj=1 ';
end;
if chkwhj.Checked then
begin
fwhere := fwhere + ' and ISHj=0 ';
end;
end;
sql.Add('exec P_View_FinshHZKCWKL @HZType=''<27>׺<EFBFBD>'' ');
sql.Add(', @criteria =' + quotedstr(Trim(fwhere)));
end;
3: /////////////////////////<2F><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>//////////////////////////////
begin
Pwhere := SGetFiltersZH(Panel1, 1, 2);
if trim(Pwhere) <> '' then
fwhere := fwhere + ' and ' + trim(Pwhere);
if trim(Pwhere) <> '' then
begin
if chkyhj.Checked then
begin
fwhere := fwhere + ' and ISHj=1 ';
end;
if chkwhj.Checked then
begin
fwhere := fwhere + ' and ISHj=0 ';
end;
end;
sql.Add('exec P_View_FinshHZKCWKL @HZType=''<27><>Ʒ'' ');
sql.Add(', @criteria=' + quotedstr(Trim(fwhere)));
end;
end;
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmCPKCHZList.TBRafreshClick(Sender: TObject);
begin
SetStatus();
//BegDate.SetFocus;
MovePanel2.Visible := True;
MovePanel2.Refresh;
InitGrid();
MovePanel2.Visible := False;
end;
procedure TfrmCPKCHZList.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmCPKCHZList.TBCloseClick(Sender: TObject);
begin
if Trim(DName)='ADMIN' then
begin
WriteCxGridAll(trim(self.Caption)+'1', Tv1,ADOQueryCmd,ADOQueryTemp);
end;
Close;
end;
procedure TfrmCPKCHZList.FormShow(Sender: TObject);
begin
ReadCxGridAll(trim(self.Caption)+'1', Tv1);
end;
procedure TfrmCPKCHZList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
TcxGridToExcel('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', cxGrid2);
end;
procedure TfrmCPKCHZList.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 3, 4));
//SDofilter(ADOQueryMain, ' and '+SGetFiltersZH(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
end;
end;
function TfrmCPKCHZList.SGetFiltersZH(TMPanel:TPanel;EquTag,LikeTag:Integer):string;
var
i,j,k:Integer;
fsj,fsj1:String;
begin
Result:='';
with TMPanel do
begin
for i:=0 to ControlCount-1 do
begin
if Controls[i] is TLabel then Continue;
if Controls[i] is TEdit then
begin
if Trim(TEdit(Controls[i]).Text)<>'' then
begin
if Controls[i].Tag=EquTag then
Result:=Result+' and '+Controls[i].Hint+'='+QuotedStr(Trim(TEdit(Controls[i]).Text))
else if Controls[i].Tag=LikeTag then
begin
j:=Pos(' ',Trim(TEdit(Controls[i]).Text));
if j>0 then
begin
Result:=Result+' and ('+Controls[i].Hint+' like '+QuotedStr('%'+Copy(Trim(TEdit(Controls[i]).Text),1,j-1 )+'%');
fsj1:=Copy(Trim(TEdit(Controls[i]).Text),j+1,Length(Trim(TEdit(Controls[i]).Text)));
while Trim(fsj1)<>'' do
begin
j:=Pos(' ',Trim(fsj1));
if j>0 then
begin
Result:=Result+' or '+Controls[i].Hint+' like '+QuotedStr('%'+Copy(Trim(fsj1),1,j-1 )+'%');
fsj1:=Copy(Trim(fsj1),j+1,Length(Trim(fsj1)));
end else
begin
Result:=Result+' or '+Controls[i].Hint+' like '+QuotedStr('%'+Trim(fsj1)+'%');
fsj1:='';
end;
end;
Result:=Result+')'
end else
Result:=Result+' and '+Controls[i].Hint+' like '+QuotedStr('%'+Trim(TEdit(Controls[i]).Text)+'%');
end;
end;
end;
end;
end;
if Trim(Result)<>'' then
Result:=Trim(RightBStr(Result,Length(Result)-4));
end;
procedure TfrmCPKCHZList.PRTColorChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCPKCHZList.Tv1DblClick(Sender: TObject);
var
Tabint: integer;
begin
Tabint := cxTabControl1.TabIndex;
case Tabint of
0:
begin
AssignmentControls(Panel1, CDS_Main, '0');
cxTabControl1.TabIndex := 1;
end;
1:
begin
AssignmentControls(Panel1, CDS_Main, '1');
cxTabControl1.TabIndex := 2;
end;
end;
end;
procedure TfrmCPKCHZList.cxTabControl1Change(Sender: TObject);
begin
SetStatus();
InitGrid();
end;
procedure TfrmCPKCHZList.ToolButton1Click(Sender: TObject);
var
fPrintFile: string;
begin
if CDS_Main.IsEmpty then
EXIT;
case cxTabControl1.TabIndex of
0:
begin
ExportFtErpFile('<27><>Ʒ<EFBFBD><C6B7><EFBFBD>ܶ<EFBFBD><DCB6><EFBFBD><EFBFBD>뵥.rmf', ADOQueryTemp);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><>Ʒ<EFBFBD><C6B7><EFBFBD>ܶ<EFBFBD><DCB6><EFBFBD><EFBFBD>뵥.rmf';
end;
1:
begin
ExportFtErpFile('<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD>뵥.rmf', ADOQueryTemp);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD>뵥.rmf';
end;
2:
begin
ExportFtErpFile('<27><>Ʒ<EFBFBD><C6B7><EFBFBD>ܸ׺<DCB8><D7BA>뵥.rmf', ADOQueryTemp);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><>Ʒ<EFBFBD><C6B7><EFBFBD>ܸ׺<DCB8><D7BA>뵥.rmf';
end;
end;
if FileExists(fPrintFile) then
begin
// RM1.DefaultCopies := 2;
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
end;
end;
procedure TfrmCPKCHZList.chkwhjClick(Sender: TObject);
begin
if chkwhj.Checked then
begin
chkyhj.Checked := False;
end;
InitGrid();
end;
procedure TfrmCPKCHZList.chkyhjClick(Sender: TObject);
begin
if chkyhj.Checked then
begin
chkwhj.Checked := False;
end;
InitGrid();
end;
procedure TfrmCPKCHZList.CheckBox1Click(Sender: TObject);
var
i:Integer;
begin
with Panel1 do
begin
for i:=0 to ControlCount-1 do
begin
if CheckBox1.Checked=True then
Controls[i].Tag:=1
else
Controls[i].Tag:=2;
end;
end;
TBFind.Click;
end;
procedure TfrmCPKCHZList.CPType10Change(Sender: TObject);
begin
CPType.Text:=Trim(CPType10.Text);
InitGrid();
end;
procedure TfrmCPKCHZList.ganghaoChange(Sender: TObject);
begin
TBFind.Click;
end;
end.