D7wmhengming/坯布码单待检(PBMDDJ.dll)/U_YPCKKCList.pas
DESKTOP-E401PHE\Administrator 8f2f47d8f5 ~
2025-04-16 09:11:01 +08:00

293 lines
7.8 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_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:='ÔÊÐí¸üб¸×¢'
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('ÑùÆ·¿â´æÁбíAS',Tv1,'ÑùÆ·²Ö¿â');
Close;
end;
procedure TfrmYPCKKCList.FormShow(Sender: TObject);
begin
ReadCxGrid('ÑùÆ·¿â´æÁбíAS',Tv1,'ÑùÆ·²Ö¿â');
//InitGrid();
if Trim(DParameters2)='ÔÊÐí¸üб¸×¢' 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('¿â´æÁбí',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; //ÅäÖÃÎļþÃû
FileName:string;
begin
FileName:=ExtractFilePath(Paramstr(0))+'SYSTEMSET.INI';
programIni:=Tinifile.create(FileName);
server:=programIni.ReadString('SERVER','·þÎñÆ÷µØÖ·','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=''ÑùÆ·'' ');
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.