D10DJkaimengwenshang/项目代码/wenshangkm/G03贸易布匹检验/U_BillPrintList.pas
DESKTOP-E401PHE\Administrator 74d01e92e1 ~
2025-09-27 14:24:10 +08:00

329 lines
9.3 KiB
ObjectPascal
Raw 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_BillPrintList;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls, Vcl.ToolWin, cxGraphics,
cxControls, cxLookAndFeels, cxLookAndFeelPainters,
cxStyles, cxCustomData, cxFilter, cxData,
cxDataStorage, cxEdit, cxNavigator, dxDateRanges, dxScrollbarAnnotations,
Data.DB, cxDBData, cxTextEdit, cxCheckBox, cxGridLevel, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxClasses, cxGridCustomView,U_BaseList, cxGrid,
Data.Win.ADODB, cxDropDownEdit, Vcl.StdCtrls, Vcl.ExtCtrls, cxContainer, cxGroupBox, cxRadioGroup,
cxProgressBar;
type
TfrmBillPrintList = class(TfrmBaseList)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TgroupAdd: TToolButton;
TgroupMdy: TToolButton;
TBDel: TToolButton;
TBClose: TToolButton;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
tv1direction: TcxGridDBColumn;
tv1billType: TcxGridDBColumn;
tv1procedureName: TcxGridDBColumn;
tv1pageRow: TcxGridDBColumn;
Tv1PageCol: TcxGridDBColumn;
tv1billLayoutPageField: TcxGridDBColumn;
Tv1note: TcxGridDBColumn;
tv1isValid: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
ToolButton1: TToolButton;
ADOQueryMain: TADOQuery;
DataSource1: TDataSource;
ToolButton2: TToolButton;
Tv1billName: TcxGridDBColumn;
Tgetresult: TToolButton;
tv2: TcxGridDBTableView;
cxGrid2Level1: TcxGridLevel;
cxGrid2: TcxGrid;
DataSource2: TDataSource;
ADOQueryResult: TADOQuery;
Tv1procedureName2: TcxGridDBColumn;
ToolButton3: TToolButton;
Tmdgs: TToolButton;
RzGroupBox1: TcxGroupBox;
cxRadioGroup1: TcxRadioGroup;
procedure TBCloseClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure TgroupAddClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TgetresultClick(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure TmdgsClick(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject);
procedure cxRadioGroup1Click(Sender: TObject);
private
procedure DoQuery();
public
fuseSystem:string;
FLMType:string;
FFiltration1,FFiltration2,FFiltration3:string ;
end;
var
frmBillPrintList: TfrmBillPrintList;
implementation
uses
U_DataLink, U_RTfun,U_globalVar , U_MdPrint;
{$R *.dfm}
procedure TfrmBillPrintList.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
Action:=caFree;
end;
procedure TfrmBillPrintList.FormCreate(Sender: TObject);
begin
inherited;
cxGrid1.Align:=alClient;
fuseSystem:=fParameters1;
end;
procedure TfrmBillPrintList.FormDestroy(Sender: TObject);
begin
inherited;
frmBillPrintList:=nil;
end;
procedure TfrmBillPrintList.FormShow(Sender: TObject);
begin
inherited;
DoQuery();
readCxGrid('码单格式管理列表T1', Tv1, gDllFileName);
end;
procedure TfrmBillPrintList.RadioGroup1Click(Sender: TObject);
begin
TBRafresh.Click;
end;
procedure TfrmBillPrintList.TBCloseClick(Sender: TObject);
begin
close;
end;
procedure TfrmBillPrintList.TBDelClick(Sender: TObject);
begin
inherited;
ADOQueryMain.Delete ;
end;
procedure TfrmBillPrintList.TBRafreshClick(Sender: TObject);
begin
inherited;
DoQuery();
end;
procedure TfrmBillPrintList.TgetresultClick(Sender: TObject);
begin
if trim(ADOQueryMain.FieldByName('procedureName').AsString)='' then
begin
Application.MessageBox('明细存储过程名称不能为空!','提示信息',0);
exit;
end;
try
with ADOQueryBaseTemp do
begin
close;
Filtered:=False;
Sql.Clear;
sql.Add('select max(ciid) as ciid from Trade_Cloth_Inspect');
// if Pos('<27><><EFBFBD>',trim(ADOQueryMain.FieldByName('billType').AsString),1)>=0 then
// sql.Add('where ioflag='+QuotedStr('<27><><EFBFBD>') )
// else
// sql.Add('where ioflag='+QuotedStr(' <20><><EFBFBD><EFBFBD>'));
open;
end;
TV2.BeginUpdate() ;
ADOQueryResult.DisableControls;
with ADOQueryResult do
begin
Close;
Filtered:=False;
SQL.Clear;
sql.Add('exec '+trim(ADOQueryMain.FieldByName('procedureName').AsString));
if not ADOQueryBaseTemp.IsEmpty then
sql.Add('@Filtration='+quotedstr(FFiltration1)) // Trim(ADOQueryBaseTemp.FieldByName('ciid').AsString)
else
sql.Add('@Filtration='+quotedstr('92405270001'));
Open;
end;
TV2.ClearItems; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
(TV2.DataController as IcxCustomGridDataController).DeleteAllItems; //ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
(TV2.DataController as IcxCustomGridDataController).CreateAllItems(false); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
finally
ADOQueryResult.EnableControls ;
TV2.EndUpdate ;
TV2.BeginBestFitUpdate ;
TV2.ApplyBestFit; //<2F><><EFBFBD>п<EFBFBD><D0BF><EFBFBD><EFBFBD><EFBFBD>Ӧ .BestFitMaxWidth;
TV2.EndBestFitUpdate ;
end;
end;
procedure TfrmBillPrintList.TgroupAddClick(Sender: TObject);
begin
inherited;
ADOQueryMain.Append;
ADOQueryMain.FieldByName('billType').Value:='<27><><EFBFBD><EFBFBD>뵥';
ADOQueryMain.FieldByName('billName').Value:='';
ADOQueryMain.FieldByName('direction').Value:='<27><>';
ADOQueryMain.FieldByName('procedureName').Value:='';
ADOQueryMain.FieldByName('pageRow').Value:=10;
ADOQueryMain.FieldByName('PageCol').Value:=10;
ADOQueryMain.FieldByName('useSystem').Value:=fuseSystem;
ADOQueryMain.FieldByName('valid').Value:=1;
end;
procedure TfrmBillPrintList.TmdgsClick(Sender: TObject);
begin
inherited;
with ADOQueryBaseTemp do
begin
close;
Filtered:=False;
Sql.Clear;
sql.Add('select max(ciid) as ciid from Trade_Cloth_Inspect');
open;
end;
try
frmMdPrint := TfrmMdPrint.Create(Application);
with frmMdPrint do
begin
FLMType := '入库码单';
FFiltration1 := Trim(self.ADOQueryBaseTemp.FieldByName('ciid').AsString) ;
FFiltration2 := Trim(self.ADOQueryBaseTemp.FieldByName('ciid').AsString) ;
if ShowModal = 1 then
begin
// Self.InitGrid();
end;
end;
finally
frmMdPrint.Free;
end;
end;
procedure TfrmBillPrintList.ToolButton1Click(Sender: TObject);
begin
inherited;
try
if ADOQueryMain.Locate('billName','',[]) then
begin
Application.MessageBox('码单名称不能为空!','提示信息',0);
exit;
end;
if ADOQueryMain.Locate('procedureName','',[]) then
begin
Application.MessageBox('存储过程名称不能为空!','提示信息',0);
exit;
end;
ADOQueryMain.UpdateBatch();
Application.MessageBox('保存成功!','提示信息',0);
except
Application.MessageBox('保存失败!','警告信息',0);
end;
end;
procedure TfrmBillPrintList.ToolButton2Click(Sender: TObject);
begin
inherited;
WriteCxGrid('码单格式管理列表T1', Tv1, gDllFileName);
end;
procedure TfrmBillPrintList.ToolButton3Click(Sender: TObject);
begin
if trim(ADOQueryMain.FieldByName('procedureName2').AsString)='' then
begin
Application.MessageBox('汇总存储过程名称不能为空!','提示信息',0);
exit;
end;
try
with ADOQueryBaseTemp do
begin
close;
Filtered:=False;
Sql.Clear;
sql.Add('select max(ciid) as ciid from Trade_Cloth_Inspect');
//if Pos('<27><><EFBFBD>',trim(ADOQueryMain.FieldByName('billType').AsString),1)>=0 then
// sql.Add('where ioflag='+QuotedStr('<27><><EFBFBD>') )
//else
//sql.Add('where ioflag='+QuotedStr(' <20><><EFBFBD><EFBFBD>'));
open;
end;
TV2.BeginUpdate() ;
ADOQueryResult.DisableControls;
with ADOQueryResult do
begin
Close;
Filtered:=False;
SQL.Clear;
sql.Add('exec '+trim(ADOQueryMain.FieldByName('procedureName2').AsString));
if not ADOQueryBaseTemp.IsEmpty then
sql.Add('@Filtration='+quotedstr(FFiltration2))
else
sql.Add('@Filtration='+quotedstr('92405270001'));
Open;
end;
TV2.ClearItems; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
(TV2.DataController as IcxCustomGridDataController).DeleteAllItems; //ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
(TV2.DataController as IcxCustomGridDataController).CreateAllItems(false); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
finally
ADOQueryResult.EnableControls ;
TV2.EndUpdate ;
TV2.BeginBestFitUpdate ;
TV2.ApplyBestFit; //<2F><><EFBFBD>п<EFBFBD><D0BF><EFBFBD><EFBFBD><EFBFBD>Ӧ .BestFitMaxWidth;
TV2.EndBestFitUpdate ;
end;
end;
procedure TfrmBillPrintList.cxRadioGroup1Click(Sender: TObject);
begin
TBRafresh.click;
end;
procedure TfrmBillPrintList.DoQuery();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
SQL.Clear;
sql.Add('select * from SD_BillPrint ');
if cxRadioGroup1.ItemIndex=0 then
sql.Add('where valid=1 ')
else if cxRadioGroup1.ItemIndex=1 then
sql.Add('where valid=0')
else
sql.Add('where 1=1') ;
// if FLMType<>'' then
sql.Add('and billtype=' + QuotedStr(TRIM(FLMType)));
sql.Add('order by recid');
Open;
end;
finally
ADOQueryMain.EnableControls;
end;
end;
end.