D7DJYPhuifeng/样品/U_CPManage.pas
DESKTOP-E401PHE\Administrator 82b11f5c96 ~
2025-04-30 19:49:32 +08:00

1089 lines
29 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_CPManage;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB,
cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin,
StdCtrls, cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls,
cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid,
cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common,
RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdFTP,ShellAPI,IniFiles, cxCheckBox,jpeg,U_SLT, RM_e_Xls,
cxLookAndFeels, cxLookAndFeelPainters, cxTLdxBarBuiltInMenu, cxNavigator;
type
TfrmCPManage = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBAdd: TToolButton;
TBDel: TToolButton;
TBClose: TToolButton;
DataSource1: TDataSource;
ADOQueryTree20: TADOQuery;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
cxGridPopupMenu1: TcxGridPopupMenu;
Tv1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
cxSplitter1: TcxSplitter;
Panel1: TPanel;
Label2: TLabel;
CYID: TEdit;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
Label1: TLabel;
CYName: TEdit;
Label4: TLabel;
DefStr6: TEdit;
Label5: TLabel;
defnote5: TEdit;
v1Column1: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v1Column11: TcxGridDBColumn;
DataSource2: TDataSource;
ADOQueryMain: TADOQuery;
CDS_Main: TClientDataSet;
v1Column12: TcxGridDBColumn;
ToolButton1: TToolButton;
ToolButton4: TToolButton;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
ODPat: TOpenDialog;
IdFTP1: TIdFTP;
SaveDialog1: TSaveDialog;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
v1Column14: TcxGridDBColumn;
v1Column15: TcxGridDBColumn;
Label3: TLabel;
CYNO: TEdit;
v1Column16: TcxGridDBColumn;
ToolButton7: TToolButton;
Panel2: TPanel;
v1Column19: TcxGridDBColumn;
DSCYNO: TDataSource;
CDS_CYNO: TClientDataSet;
Edit1: TEdit;
Label6: TLabel;
Label7: TLabel;
CYKZ: TEdit;
Label8: TLabel;
Label9: TLabel;
CYCF: TEdit;
CYECF: TEdit;
Label10: TLabel;
CYMF: TEdit;
v1Column42: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
ADOQueryTree: TClientDataSet;
Panel5: TPanel;
cxDBTreeList1: TcxDBTreeList;
cxDBTreeList1cxDBTreeListColumn2: TcxDBTreeListColumn;
Label11: TLabel;
Label12: TLabel;
v1Column17: TcxGridDBColumn;
v1Column18: TcxGridDBColumn;
v1Column20: TcxGridDBColumn;
v1Column21: TcxGridDBColumn;
v1Column24: TcxGridDBColumn;
v1Column25: TcxGridDBColumn;
defstr1: TEdit;
Label13: TLabel;
v1Column26: TcxGridDBColumn;
v1Column27: TcxGridDBColumn;
v1Column28: TcxGridDBColumn;
v1Column29: TcxGridDBColumn;
v1Column30: TcxGridDBColumn;
v1Column31: TcxGridDBColumn;
DefStr2: TEdit;
Label14: TLabel;
defstr7: TEdit;
Label15: TLabel;
defnote3: TEdit;
Label16: TLabel;
v1Column32: TcxGridDBColumn;
v1Column33: TcxGridDBColumn;
ComboBox1: TComboBox;
Panel3: TPanel;
GroupBox1: TGroupBox;
ScrollBox1: TScrollBox;
adoqueryPicture: TADOQuery;
ToolButton8: TToolButton;
v1Column22: TcxGridDBColumn;
v1Column23: TcxGridDBColumn;
v1Column34: TcxGridDBColumn;
v1Column35: TcxGridDBColumn;
v1Column36: TcxGridDBColumn;
v1Column37: TcxGridDBColumn;
v1Column38: TcxGridDBColumn;
v1Column39: TcxGridDBColumn;
v1Column40: TcxGridDBColumn;
v1Column41: TcxGridDBColumn;
v1Column43: TcxGridDBColumn;
v1Column44: TcxGridDBColumn;
Label18: TLabel;
CYSpec: TEdit;
v1Column45: TcxGridDBColumn;
v1Column46: TcxGridDBColumn;
v1Column47: TcxGridDBColumn;
v1Column48: TcxGridDBColumn;
CheckBox1: TCheckBox;
v1Column49: TcxGridDBColumn;
v1Column50: TcxGridDBColumn;
ToolButton9: TToolButton;
RMDBDataSet1: TRMDBDataSet;
ADOQueryPrint: TADOQuery;
RMXLSExport1: TRMXLSExport;
ToolButton10: TToolButton;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure cxDBTreeList1DblClick(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure CYIDKeyPress(Sender: TObject; var Key: Char);
procedure CYNoChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure Tv1CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Tv1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ToolButton7Click(Sender: TObject);
procedure v1Column19PropertiesChange(Sender: TObject);
procedure CYMFChange(Sender: TObject);
procedure CYNameChange(Sender: TObject);
procedure CYNOKeyPress(Sender: TObject; var Key: Char);
procedure ToolButton8Click(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure ToolButton9Click(Sender: TObject);
procedure ToolButton10Click(Sender: TObject);
private
{ Private declarations }
CPID:string;
PState:Integer;
FCPID,FTopID:String;
procedure InitTree();
procedure InitGrid();
procedure ReadINIFile();
procedure InitImage();
procedure TJGS();
public
{ Public declarations }
end;
var
frmCPManage: TfrmCPManage;
Mach: array of TfrmSlt;
implementation
uses
U_DataLink,U_Fun,U_CPAdd,U_FileUp,U_YPCR, U_YPTypeHelp;
{$R *.dfm}
procedure TfrmCPManage.InitTree();
var
i:Integer;
begin
with ADOQueryTree20 do
begin
Close;
SQL.Clear;
SQL.Add('select * from CP_Type order by CPlevel,CPOrder,CPName');
Open;
end;
SCreateCDS20(ADOQueryTree20,ADOQueryTree);
SInitCDSData20(ADOQueryTree20,ADOQueryTree);
cxDBTreeList1.Items[0].Expand(false);
//cxDBTreeList1.Items[1].Expand(False);
end;
procedure TfrmCPManage.InitGrid();
begin
Panel2.Visible:=True;
Panel2.Refresh;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
SQL.Clear;
SQL.Add('exec P_Select_CP_YDang :Code,:PState,:CYType');
Parameters.ParamByName('Code').Value:='';
Parameters.ParamByName('PState').Value:=0;
Parameters.ParamByName('CYType').Value:=Trim(ADOQueryTree.fieldbyname('CPID').AsString);
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
Panel2.Visible:=False;
end;
procedure TfrmCPManage.TJGS();
var
i,j:Integer;
begin
{ i:=0;
j:=0;
CDS_Main.DisableControls;
with CDS_Main do
begin
first;
while not Eof do
begin
if FieldByName('CYPriceKg').Value=0 then
begin
i:=i+1;
end else
begin
j:=j+1;
end;
Next;
end;
end;
CDS_Main.EnableControls; }
// Label11.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>:'+Trim(IntToStr(j));
// Label12.Caption:='δ<><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>:'+Trim(IntToStr(i));
end;
procedure TfrmCPManage.FormDestroy(Sender: TObject);
begin
frmCPManage:=nil;
end;
procedure TfrmCPManage.FormClose(Sender: TObject; var Action: TCloseAction);
var
i,j:integer;
begin
j:=length(Mach);
if j>0 then
begin
for i:=0 to j-1 do
begin
Mach[i].free;
end;
end;
SetLength(Mach, 0);
// writeCxGrid(self.Caption+tv1.Name,tv1);
// Application := mainApplication;
action:=cafree;
end;
procedure TfrmCPManage.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(self.Caption,Tv1,'<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>');
if DirectoryExists(ExtractFileDir('D:\Right1209')) then
winexec('cmd /c rd /s /q D:\Right1209',sw_hide);
Close;
end;
procedure TfrmCPManage.TBDelClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then Exit;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
if Trim(CDS_Main.fieldbyname('CYID').AsString)<>'' then
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('delete CP_YDang where CYID='''+Trim(CDS_Main.fieldbyname('CYID').AsString)+'''');
ExecSQL;
end;
end;
CDS_Main.Delete;
end;
procedure TfrmCPManage.FormShow(Sender: TObject);
begin
Panel3.Align:=alclient;
InitTree();
ReadCxGrid(self.Caption,Tv1,'<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>');
if DParameters1='1' then
begin
TBAdd.Visible:=False;
TBDel.Visible:=False;
ToolButton3.Visible:=False;
ToolButton5.Visible:=False;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select CYID='''' ');
Open;
end;
SCreateCDS20(ADOQueryTemp,CDS_CYNO);
SInitCDSData20(ADOQueryTemp,CDS_CYNO);
with ADOQueryMain do
begin
Filtered:=False;
Close;
SQL.Clear;
SQL.Add('exec P_Select_CP_YDang :Code,:PState,:CYType');
Parameters.ParamByName('Code').Value:='';
Parameters.ParamByName('PState').Value:=0;
Parameters.ParamByName('CYType').Value:='XXXXXXX';
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
CDS_CYNO.Delete;
end;
procedure TfrmCPManage.cxDBTreeList1DblClick(Sender: TObject);
begin
InitGrid();
TJGS();
end;
procedure TfrmCPManage.TBAddClick(Sender: TObject);
var
i:Integer;
FieldName:String;
begin
try
frmCPAdd:=TfrmCPAdd.Create(Application);
with frmCPAdd do
begin
CopyInt:=0;
FCYID:='';
FCPID:=Trim(Self.ADOQueryTree.fieldbyname('CPID').AsString);
FCPNo:=Trim(Self.ADOQueryTree.fieldbyname('CPNo').AsString);
if ShowModal=1 then
begin
self.InitGrid();
{
Self.CDS_Main.Append;
for i:=0 to frmCPAdd.Tv1.ColumnCount-1 do
begin
FieldName:=frmCPAdd.Tv1.Columns[i].DataBinding.FilterFieldName;
if Trim(FieldName)<>'' then
begin
Self.CDS_Main.FieldByName(FieldName).Value:=frmCPAdd.CDS_Sub.FieldByName(FieldName).Value;
end;
end;
CDS_Main.FieldByName('CPName').Value:=Trim(ADOQueryTree.fieldbyname('CPName').AsString);
CDS_Main.FieldByName('CYID').Value:=CDS_Sub.fieldbyname('CYID').Value;
CDS_Main.FieldByName('CYType').Value:=CDS_Sub.fieldbyname('CYType').Value;
Self.CDS_Main.Post; }
end;
self.CDS_Main.Locate('CYID',FCYID,[]);
end;
finally
frmCPAdd.Free;
end;
end;
procedure TfrmCPManage.TBRafreshClick(Sender: TObject);
begin
InitTree();
InitGrid();
TJGS();
end;
procedure TfrmCPManage.ToolButton3Click(Sender: TObject);
var
i:Integer;
FieldName:String;
begin
try
frmCPAdd:=TfrmCPAdd.Create(Application);
with frmCPAdd do
begin
CopyInt:=0;
FCYID:=Trim(Self.CDS_Main.fieldbyname('CYID').AsString);
FCPID:=Trim(Self.ADOQueryTree.fieldbyname('CPID').AsString);
FCPNo:=Trim(Self.ADOQueryTree.fieldbyname('CPNo').AsString);
if ShowModal=1 then
begin
self.InitGrid();
{ Self.CDS_Main.Edit;
for i:=0 to frmCPAdd.Tv1.ColumnCount-1 do
begin
FieldName:=frmCPAdd.Tv1.Columns[i].DataBinding.FilterFieldName;
if Trim(FieldName)<>'' then
begin
Self.CDS_Main.FieldByName(FieldName).Value:=frmCPAdd.CDS_Sub.FieldByName(FieldName).Value;
end;
end;
CDS_Main.FieldByName('CPName').Value:=Trim(ADOQueryTree.fieldbyname('CPName').AsString);
CDS_Main.FieldByName('CYID').Value:=CDS_Sub.fieldbyname('CYID').Value;
CDS_Main.FieldByName('CYType').Value:=CDS_Sub.fieldbyname('CYType').Value;
Self.CDS_Main.Post; }
end;
self.CDS_Main.Locate('CYID',trim(FCYID),[]);
end;
finally
frmCPAdd.Free;
end;
end;
procedure TfrmCPManage.ToolButton2Click(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
TJGS();
end;
end;
procedure TfrmCPManage.CYIDKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
if Trim(CYID.Text)='' then Exit;
with ADOQueryMain do
begin
Close;
Filtered:=False;
sql.Clear;
sql.Add('exec P_Select_CP_YDang :Code,1,'''' ');
Parameters.ParamByName('Code').Value:=Trim(CYID.Text);
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
CYID.Text:='';
ADOQueryTree.Locate('CPID',CPID,[]);
end;
end;
procedure TfrmCPManage.CYNoChange(Sender: TObject);
begin
//if Length(Trim(TEdit(Sender).Text))<4 then Exit;
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
TJGS();
end;
end;
procedure TfrmCPManage.ToolButton1Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then Exit;
TcxGridToExcel('<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>1',cxGrid1);
end;
procedure TfrmCPManage.ToolButton4Click(Sender: TObject);
var
fPrintFile,FFCYID:string;
DPS,i,j:Integer;
Txt,fImagePath:string;
Moudle: THandle;
Makebar:TMakebar;
Mixtext:TMixtext;
begin
CYID.SetFocus;
if CDS_Main.IsEmpty then Exit;
IF trim(ComboBox1.Text)='' then
begin
Application.MessageBox('<27><>Ʒ<EFBFBD><C6B7>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
exit;
end;
if Trim(Edit1.Text)<>'' then
begin
if TryStrToInt(Edit1.Text,i)=False then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
exit;
end;
end;
fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\'+trim(ComboBox1.Text)+'.rmf';
CDS_Main.DisableControls;
DPS:=0;
FFCYID:='';
with CDS_Main do
begin
First;
while not Eof do
begin
if CDS_Main.FieldByName('SSel').AsBoolean then
begin
sleep(200);
try
Moudle:=LoadLibrary('MakeQRBarcode.dll');
@Makebar:=GetProcAddress(Moudle,'Make');
@Mixtext:=GetProcAddress(Moudle,'MixText');
Txt:=Trim(CDS_Main.fieldbyname('CYID').AsString);
fImagePath:=ExtractFilePath(Application.ExeName)+'image\temp.bmp';
if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName)+'image')) then
CreateDirectory(pchar(ExtractFilePath(Application.ExeName)+'image'),nil);
if FileExists(fImagePath) then DeleteFile(fImagePath);
Makebar(pchar(Txt),Length(Txt),3,3,0,PChar(fImagePath),3);
except
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',MB_ICONERROR);
exit;
end;
RMVariables['QRBARCODE']:=fImagePath;
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
RM1.DefaultCopies:=strtointdef(trim(Edit1.Text),1);
RM1.PrintReport;
// RM1.ShowReport;
end else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>'+trim(fPrintFile)),'<27><>ʾ',0);
Exit;
end;
if DPS=0 then
begin
FFCYID:=Trim(CDS_Main.fieldbyname('CYID').AsString);
end;
end;
Next;
end;
end;
CDS_Main.EnableControls;
CDS_Main.Locate('CYID',FFCYID,[]);
Edit1.Text:='1';
end;
procedure TfrmCPManage.ToolButton5Click(Sender: TObject);
begin
try
frmFileUp:=TfrmFileUp.Create(Application);
with frmFileUp do
begin
Code.Text:=Trim(Self.CDS_Main.fieldbyname('CYNO').AsString);
CYID:=Trim(Self.CDS_Main.fieldbyname('CYID').AsString);
if ShowModal=1 then
begin
Self.InitGrid();
Self.CDS_Main.Locate('CYID',CYID,[]);
end;
end;
finally
frmFileUp.Free;
end;
end;
procedure TfrmCPManage.ToolButton6Click(Sender: TObject);
var
fHandle:THandle;
FInt:Integer;
FFName,FPath:String;
begin
{FPath:='C:\HTTP1209\';
if DirectoryExists(ExtractFileDir(FPath)) then
winexec('cmd /c rd /s /q C:\HTTP1209',sw_hide);}
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add('select * from XD_File where CYNO='''+Trim(CDS_Main.fieldbyname('CYNO').AsString)+'''');
Open;
if IsEmpty then
begin
Application.MessageBox('<27><>ƷͼƬδ<C6AC>ϴ<EFBFBD><CFB4><EFBFBD>','<27><>ʾ',0);
Exit;
end;
end;
try
ReadINIFile();
server:=ReadINIFileStr('SYSTEMSET.INI','SERVER','<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ','127.0.0.1');
if Length(server)<6 then
begin
server:='127.0.0.1';
end;
IdFTP1.Host :=server;//PicSvr;
IdFTP1.Username := 'three';
IdFTP1.Password := '641010';
IdFTP1.Connect();
except
IdFTP1.Quit;
Application.MessageBox('<27>޷<EFBFBD><DEB7><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飡', '<27><>ʾ', MB_ICONWARNING);
Exit;
end;
FPath:='D:\Right1209\';
if not DirectoryExists(ExtractFileDir(FPath)) then
CreateDir(ExtractFileDir(FPath));
FFName:=Trim(ADOQueryTemp.fieldbyname('FileName').AsString);
FFName:=FPath+FFName;
if FileExists(FFName) then
begin
FInt:=1;
end;
if FInt<>1 then
IdFTP1.Get('YP\'+Trim(ADOQueryTemp.fieldbyname('FileName').AsString),
FPath+Trim(ADOQueryTemp.fieldbyname('FileName').AsString)
);
if IdFTP1.Connected then IdFTP1.Quit;
ShellExecute(Handle, 'open',PChar(FPath+Trim(ADOQueryTemp.fieldbyname('FileName').AsString)),'', '', SW_SHOWNORMAL);
end;
procedure TfrmCPManage.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 TfrmCPManage.Tv1CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
if CDS_Main.IsEmpty then Exit;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from CP_YDang where CYID='''+Trim(CDS_Main.fieldbyname('CYID').asstring)+'''');
Open;
end;
CPID:=Trim(ADOQueryTemp.fieldbyname('CYType').AsString);
ADOQueryTree.Locate('CPID',CPID,[]);
InitImage();
end;
procedure TfrmCPManage.InitImage();
var
i,j:integer;
jpg:TJpegImage;
myStream: TADOBlobStream;
begin
j:=length(Mach);
if j>0 then
begin
for i:=0 to j-1 do
begin
Mach[i].free;
end;
end;
SetLength(Mach, 0);
IF CDS_Main.IsEmpty then exit;
try
with adoqueryPicture do
begin
close;
sql.Clear;
sql.Add(' select A.TFID,A.WBID,A.FilesOther,B.FileName from TP_File A,XD_File B where A.TFID =B.XFID and A.WBID='+quotedstr(trim(CDS_Main.fieldbyname('CYID').AsString)));
open;
end;
j:=adoqueryPicture.RecordCount;
if j<1 then exit;
adoqueryPicture.DisableControls;
adoqueryPicture.First;
SetLength(Mach, j);
jpg:=TJpegImage.Create();
for i:=0 to j-1 do
begin
if triM(adoqueryPicture.fieldbyname('FilesOther').AsString)<>'' then
begin
myStream:=tadoblobstream.Create(tblobfield(adoqueryPicture.fieldbyname('FilesOther')),bmread);
jpg.LoadFromStream(myStream);
Mach[i] := TfrmSlt.Create(Self);
Mach[i].Name:=trim(adoqueryPicture.fieldbyname('TFID').AsString);
Mach[i].Parent := ScrollBox1;
Mach[I].Left:=0+i*165;
Mach[i].Init(adoqueryPicture.fieldbyname('TFID').AsString,adoqueryPicture.fieldbyname('FileName').AsString,jpg);
end;
adoqueryPicture.Next;
end;
adoqueryPicture.EnableControls;
finally
jpg.free;
application.ProcessMessages;
end;
end;
procedure TfrmCPManage.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
{if Key= then
begin
if CDS_Main.IsEmpty then Exit;
if Application.MessageBox('ȷ<><C8B7>6666Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
if Trim(CDS_Main.fieldbyname('CYID').AsString)<>'' then
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('delete CP_YDang where CYID='''+Trim(CDS_Main.fieldbyname('CYID').AsString)+'''');
ExecSQL;
end;
end;
CDS_Main.Delete;
end; }
end;
procedure TfrmCPManage.Tv1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=46 then
begin
TBDel.Click;
end;
end;
procedure TfrmCPManage.ToolButton7Click(Sender: TObject);
var
i:Integer;
FieldName:String;
begin
try
frmCPAdd:=TfrmCPAdd.Create(Application);
with frmCPAdd do
begin
CopyInt:=1;
// TBADD.Visible:=false;
// TBdel.Visible:=false;
FCYID:=Trim(Self.CDS_Main.fieldbyname('CYID').AsString);
FCPID:=Trim(Self.ADOQueryTree.fieldbyname('CPID').AsString);
FCPNo:=Trim(Self.ADOQueryTree.fieldbyname('CPNo').AsString);
if ShowModal=1 then
begin
self.InitGrid();
{ Self.CDS_Main.Append;
for i:=0 to frmCPAdd.Tv1.ColumnCount-1 do
begin
FieldName:=frmCPAdd.Tv1.Columns[i].DataBinding.FilterFieldName;
if Trim(FieldName)<>'' then
begin
Self.CDS_Main.FieldByName(FieldName).Value:=frmCPAdd.CDS_Sub.FieldByName(FieldName).Value;
end;
end;
CDS_Main.FieldByName('CPName').Value:=Trim(ADOQueryTree.fieldbyname('CPName').AsString);
CDS_Main.FieldByName('CYID').Value:=CDS_Sub.fieldbyname('CYID').Value;
CDS_Main.FieldByName('CYType').Value:=CDS_Sub.fieldbyname('CYType').Value;
Self.CDS_Main.Post; }
end;
self.CDS_Main.Locate('CYID',FCYID,[]);
end;
finally
frmCPAdd.Free;
end;
end;
procedure TfrmCPManage.v1Column19PropertiesChange(Sender: TObject);
var
mvalue:Boolean;
begin
{ mvalue:=TcxCheckBox(Sender).EditingValue;
if mvalue=True then
begin
with CDS_CYNO do
begin
if Locate('CYID',Trim(CDS_Main.fieldbyname('CYID').AsString),[])=False then
begin
Append;
FieldByName('CYID').Value:=Trim(CDS_Main.fieldbyname('CYID').AsString);
Post;
end;
end;
end else
begin
//with CDS_CYNO do
//begin
CDS_CYNO.Locate('CYID',Trim(CDS_Main.fieldbyname('CYID').AsString),[]);
CDS_CYNO.Delete;
//end;
end; }
end;
procedure TfrmCPManage.CYMFChange(Sender: TObject);
begin
//if Length(Trim(TEdit(Sender).Text))<2 then Exit;
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
TJGS();
end;
end;
procedure TfrmCPManage.CYNameChange(Sender: TObject);
begin
//if Length(Trim(TEdit(Sender).Text))<2 then Exit;
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
TJGS();
end;
end;
procedure TfrmCPManage.CYNOKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
if Trim(CYNO.Text)='' then Exit;
if Length(Trim(CYNO.Text))<4 then Exit;
with ADOQueryMain do
begin
Close;
Filtered:=False;
sql.Clear;
sql.Add('exec P_Select_CP_YDang :Code,2,'''' ');
Parameters.ParamByName('Code').Value:='%'+Trim(CYNO.Text)+'%';
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
CYID.Text:='';
ADOQueryTree.Locate('CPID',CPID,[]);
TJGS();
end;
end;
procedure TfrmCPManage.ToolButton8Click(Sender: TObject);
var
fPrintFile,FFCYID:string;
DPS,i,j:Integer;
Txt,fImagePath:string;
Moudle: THandle;
Makebar:TMakebar;
Mixtext:TMixtext;
begin
CYID.SetFocus;
if CDS_Main.IsEmpty then Exit;
IF trim(ComboBox1.Text)='' then
begin
Application.MessageBox('<27><>Ʒ<EFBFBD><C6B7>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
exit;
end;
//if CDS_CYNO.IsEmpty then Exit;
if Trim(Edit1.Text)<>'' then
begin
if TryStrToInt(Edit1.Text,i)=False then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
exit;
end;
end;
fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\'+trim(ComboBox1.Text)+'.rmf';
CDS_Main.DisableControls;
DPS:=0;
FFCYID:='';
with CDS_Main do
begin
First;
while not Eof do
begin
if CDS_Main.FieldByName('SSel').AsBoolean then
begin
sleep(200);
try
Moudle:=LoadLibrary('MakeQRBarcode.dll');
@Makebar:=GetProcAddress(Moudle,'Make');
@Mixtext:=GetProcAddress(Moudle,'MixText');
Txt:=Trim(CDS_Main.fieldbyname('CYID').AsString);
fImagePath:=ExtractFilePath(Application.ExeName)+'image\temp.bmp';
if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName)+'image')) then
CreateDirectory(pchar(ExtractFilePath(Application.ExeName)+'image'),nil);
if FileExists(fImagePath) then DeleteFile(fImagePath);
Makebar(pchar(Txt),Length(Txt),3,3,0,PChar(fImagePath),3);
except
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',MB_ICONERROR);
exit;
end;
RMVariables['QRBARCODE']:=fImagePath;
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
RM1.DefaultCopies:=strtointdef(trim(Edit1.Text),1);
// RM1.PrintReport;
RM1.ShowReport;
end else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>'+trim(fPrintFile)),'<27><>ʾ',0);
Exit;
end;
if DPS=0 then
begin
FFCYID:=Trim(CDS_Main.fieldbyname('CYID').AsString);
end;
end;
//CDS_Main.Locate('CYID',Trim(CDS_CYNO.fieldbyname('CYID').AsString),[]);
Next;
end;
end;
CDS_Main.EnableControls;
CDS_Main.Locate('CYID',FFCYID,[]);
Edit1.Text:='1';
end;
procedure TfrmCPManage.CheckBox1Click(Sender: TObject);
begin
SelOKNo(CDS_Main,checkbox1.Checked);
end;
procedure TfrmCPManage.ToolButton9Click(Sender: TObject);
var
fPrintFile:string;
begin
if CDS_Main.IsEmpty then Exit;
if CDS_Main.Locate('SSel',True,[])=False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete TBSubID where DName='''+Trim(DCode)+'''');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('SELECT * FROM TBSubID where 1=2 ');
open;
end;
CDS_Main.DisableControls;
try
ADOQueryCmd.Connection.BeginTrans;
with CDS_Main do
begin
First;
while not Eof do
begin
If Fieldbyname('Ssel').AsBoolean then
begin
ADOQueryCmd.append;
ADOQueryCmd.fieldbyname('SubId').Value:=Trim(CDS_Main.fieldbyname('CYID').AsString);
ADOQueryCmd.fieldbyname('Dname').Value:=Trim(DCode);
ADOQueryCmd.post;
end;
Next;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
end;
CDS_Main.EnableControls;
fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\<5C><>Ʒ<EFBFBD><C6B7>Ϣ<EFBFBD><CFA2>.rmf' ;
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.Add('select A.*, ');
sql.Add('FileOthers=(select Top 1 FilesOther from TP_File X1 where X1.WBID=A.CYID ) ');
sql.Add('from CP_YDang A ');
sql.Add('where exists(select subID from TBSubID X where X.subID=A.CYID and X.Dname='''+trim(DCode)+''')');
Open;
end;
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>'+trim(fPrintFile)),'<27><>ʾ',0);
exit;
end;
end;
procedure TfrmCPManage.ToolButton10Click(Sender: TObject);
var
flb:string;
begin
if CDS_Main.IsEmpty then Exit;
if not CDS_Main.Locate('ssel',true,[]) then
begin
application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
exit;
end;
if Application.MessageBox(<><C8B7>Ҫ<EFBFBD>޸<EFBFBD><DEB8><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
flb:='';
frmYPTypeHelp:=TfrmYPTypeHelp.create(self);
with frmYPTypeHelp do
begin
if showmodal=1 then
begin
flb:=trim(ADOQueryHelp.fieldbyname('CPID').AsString);
end;
free;
end;
if trim(flb)='' then exit;
with CDS_Main do
begin
DisableControls;
First;
while not Eof do
begin
if CDS_Main.FieldByName('SSel').AsBoolean=True then
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update CP_YDang SET CYType='''+trim(flb)+''' where CYID='''+Trim(CDS_Main.fieldbyname('CYID').AsString)+'''');
ExecSQL;
end;
end;
Next;
end;
EnableControls;
end;
InitGrid();
end;
end.