D7wmhengming/坯布码单待检(PBMDDJ.dll)/U_YPCKKCList.pas

293 lines
7.8 KiB
ObjectPascal
Raw Normal View History

2025-04-16 09:11:01 +08:00
unit U_YPCKKCList;
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, Menus,
IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdFTP,ShellAPI,IniFiles,
cxTextEdit, cxButtonEdit,jpeg;
//DParameters2:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD>ע'
type
TfrmYPCKKCList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBExport: TToolButton;
TBPrint: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
cxGridPopupMenu1: TcxGridPopupMenu;
CDS_Main: TClientDataSet;
CheckBox1: TCheckBox;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column3: TcxGridDBColumn;
v1Column15: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v1P_ChnName: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Quantity: TcxGridDBColumn;
v1UnitName: TcxGridDBColumn;
VKCNote: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
Label1: TLabel;
Label5: TLabel;
Label3: TLabel;
Label7: TLabel;
Label9: TLabel;
Label10: TLabel;
CYName: TEdit;
CYSpec: TEdit;
CYNO: TEdit;
CYKZ: TEdit;
CYECF: TEdit;
CYMF: TEdit;
Label2: TLabel;
v1Column1: TcxGridDBColumn;
v1Column18: TcxGridDBColumn;
Image2: TImage;
CYType: TEdit;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBRafreshClick(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure MPRTCodeNameChange(Sender: TObject);
procedure CYNoChange(Sender: TObject);
procedure VKCNotePropertiesEditValueChanged(Sender: TObject);
procedure CYSpecChange(Sender: TObject);
procedure Tv1CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
private
procedure InitGrid();
procedure ReadINIFile();
procedure InitImage(FFCYID:string);
{ Private declarations }
public
{ Public declarations }
end;
var
frmYPCKKCList: TfrmYPCKKCList;
implementation
uses
U_DataLink,U_RTFun;
{$R *.dfm}
procedure TfrmYPCKKCList.FormDestroy(Sender: TObject);
begin
frmYPCKKCList:=nil;
end;
procedure TfrmYPCKKCList.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmYPCKKCList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
SQL.Add('select A.CRID,A.BCID,A.KCQty,A.KCQtyUnit,A.CYColor,A.KCNote,A.CYType ');
sql.Add(' ,A.CRPrice,A.BZTYpe,A.PBFactory,A.RCFactory,A.HJGFactory,A.CYID,A.WeiZhi,A.MiLenNote');
SQL.Add(',B.CYNO,B.CYName,B.CYMF,B.CYKZ,B.CYSpec,B.CYCF,B.CYHX,B.CYEName,B.CYECF,B.CYColorEng');
sql.Add(',MLen=dbo.F_Get_MLen(A.CYID)');
sql.Add(' from CK_YP_KC A ');
sql.Add(' left join CP_YDang B on A.CYID=B.CYID ');
if CheckBox1.Checked=False then
sql.add('where A.KCQty>0')
else
sql.Add('where 1=1 ');
{SQL.Add(' order by ');
sql.Add(' substring(WeiZhi,1,1),Cast(substring(WeiZhi,2,charindex(''-'',WeiZhi)-2) as Int)');
sql.Add(',Cast(substring(WeiZhi,charindex(''-'',WeiZhi)+1,len(WeiZhi)-charindex(''-'',WeiZhi)) as Int)'); }
//ShowMessage(SQL.Text);
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmYPCKKCList.TBRafreshClick(Sender: TObject);
begin
CYNo.SetFocus;
InitGrid();
end;
procedure TfrmYPCKKCList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>AS',Tv1,'<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
Close;
end;
procedure TfrmYPCKKCList.FormShow(Sender: TObject);
begin
ReadCxGrid('<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>AS',Tv1,'<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
//InitGrid();
if Trim(DParameters2)='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD>ע' then
begin
VKCNote.Options.Focusing:=True;
end else
begin
VKCNote.Options.Focusing:=False;
end;
end;
procedure TfrmYPCKKCList.TBExportClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then exit;
TcxGridToExcel('<27><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>',cxGrid1);
end;
procedure TfrmYPCKKCList.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 TfrmYPCKKCList.MPRTCodeNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmYPCKKCList.ReadINIFile();
var
programIni:Tinifile; //<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
FileName:string;
begin
FileName:=ExtractFilePath(Paramstr(0))+'SYSTEMSET.INI';
programIni:=Tinifile.create(FileName);
server:=programIni.ReadString('SERVER','<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ','127.0.0.1');
programIni.Free;
end;
procedure TfrmYPCKKCList.CYNoChange(Sender: TObject);
begin
if Trim(CYNO.Text)<>'' then
begin
if Length(CYNo.Text)<3 then Exit;
end;
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
end;
end;
procedure TfrmYPCKKCList.VKCNotePropertiesEditValueChanged(
Sender: TObject);
var
mvalue:string;
begin
mvalue:=TcxTextEdit(Sender).EditingText;
with CDS_Main do
begin
Edit;
FieldByName('KCNote').Value:=Trim(mvalue);
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPdate CK_YP_KC set KCNote='''+Trim(mvalue)+'''');
sql.Add(' where CRID='+Cds_Main.fieldbyname('CRID').AsString);
ExecSQL;
end;
end;
procedure TfrmYPCKKCList.CYSpecChange(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 TfrmYPCKKCList.Tv1CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
if CDS_Main.IsEmpty then Exit;
InitImage(Trim(CDS_Main.fieldbyname('CYID').AsString));
end;
procedure TfrmYPCKKCList.InitImage(FFCYID:string);
var
jpg:TJpegImage;
myStream:TADOBlobStream;
begin
if Trim(FFCYID)='' then Exit;
// if cxPageControl1.ActivePageIndex=6 then
begin
Image2.Picture.Assign(nil);
try
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add(' select * from TP_File A where A.WBID='''+Trim(FFCYID)+'''');
sql.Add(' and TFType=''<27><>Ʒ'' ');
open;
if RecordCount>0 then
begin
if trim(ADOQueryTemp.fieldbyname('FilesOther').AsString)<>'' then
begin
myStream:=tadoblobstream.Create(tblobfield(ADOQueryTemp.fieldbyname('FilesOther')),bmread);
if myStream=nil then exit;
jpg:=TJPEGImage.Create;
jpg.LoadFromStream(myStream);
Image2.Picture.Assign(jpg);
end;
end;
end;
finally
jpg.Free;
myStream.Free;
end;
end;
end;
end.