D7snShanfengT/山峰基础资料维护/U_CPManage_BJ.pas
DESKTOP-E401PHE\Administrator c363cb75a7 调整之后的山凤水泥厂
2026-02-26 09:41:35 +08:00

608 lines
16 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_CPManage_BJ;
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;
type
TfrmCPManage_BJ = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
DataSource1: TDataSource;
ADOQueryTree20: TADOQuery;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
cxGridPopupMenu1: TcxGridPopupMenu;
Tv1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
Panel1: TPanel;
ToolButton2: TToolButton;
Label1: TLabel;
CYName: TEdit;
Label4: TLabel;
CYEName: TEdit;
Label5: TLabel;
CYSpec: 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;
RMDB_Main: TRMDBDataSet;
Label3: TLabel;
CYNO: TEdit;
v1Column16: TcxGridDBColumn;
Panel2: TPanel;
DSCYNO: TDataSource;
CDS_CYNO: TClientDataSet;
Label7: TLabel;
CYKZ: TEdit;
Label8: TLabel;
Label9: TLabel;
CYCF: TEdit;
CYECF: TEdit;
Label10: TLabel;
CYMF: TEdit;
v1Column42: TcxGridDBColumn;
ADOQueryTree: TClientDataSet;
v1Column17: TcxGridDBColumn;
v1Column18: TcxGridDBColumn;
v1Column22: TcxGridDBColumn;
v1Column23: TcxGridDBColumn;
defstr1: TEdit;
Label13: TLabel;
v1Column26: TcxGridDBColumn;
v1Column27: TcxGridDBColumn;
v1Column28: TcxGridDBColumn;
v1Column31: TcxGridDBColumn;
DefStr2: TEdit;
Label14: TLabel;
defnote2: TEdit;
Label15: TLabel;
defnote3: TEdit;
Label16: TLabel;
ToolButton1: TToolButton;
ToolButton5: TToolButton;
IdFTP1: TIdFTP;
ODPat: TOpenDialog;
SaveDialog1: TSaveDialog;
Panel3: TPanel;
Image2: TImage;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure FormShow(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 Tv1CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure ToolButton7Click(Sender: TObject);
procedure CYSpecChange(Sender: TObject);
procedure v1Column19PropertiesChange(Sender: TObject);
procedure CYMFChange(Sender: TObject);
procedure CYNameChange(Sender: TObject);
procedure CYNOKeyPress(Sender: TObject; var Key: Char);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure ToolButton5Click(Sender: TObject);
procedure CYSpecKeyPress(Sender: TObject; var Key: Char);
procedure CYNameKeyPress(Sender: TObject; var Key: Char);
procedure defstr1KeyPress(Sender: TObject; var Key: Char);
procedure CYCFKeyPress(Sender: TObject; var Key: Char);
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_BJ: TfrmCPManage_BJ;
implementation
uses
U_DataLink,U_Fun,U_FileUp;
{$R *.dfm}
procedure TfrmCPManage_BJ.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_BJ.InitGrid();
begin
Panel2.Visible:=True;
Panel2.Refresh;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
SQL.Clear;
SQL.Add('select A.*,B.CPName,TP.WBID,TP.FilesOther from CP_YDang A inner join CP_Type B On A.CYType=B.CPID ');
sql.Add('left join TP_File TP on TP.WBID=A.CYID ');
sql.add('where 1=1');
if CYNO.Text<>'' then
sql.add(' and A.CYNO like '''+'%'+trim(CYNO.Text)+'%'+'''');
if CYSpec.Text<>'' then
sql.add(' and A.CYSpec like '''+'%'+trim(CYSpec.Text)+'%'+'''');
if CYName.Text<>'' then
sql.add(' and A.CYName like '''+'%'+trim(CYName.Text)+'%'+'''');
if defstr1.Text<>'' then
sql.add(' and A.defstr1 like '''+'%'+trim(defstr1.Text)+'%'+'''');
if CYCF.Text<>'' then
sql.add(' and A.CYCF like '''+'%'+trim(CYCF.Text)+'%'+'''');
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
Panel2.Visible:=False;
end;
procedure TfrmCPManage_BJ.TJGS();
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_BJ.FormDestroy(Sender: TObject);
begin
frmCPManage_BJ:=nil;
end;
procedure TfrmCPManage_BJ.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmCPManage_BJ.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27><>Ʒ<EFBFBD>б<EFBFBD>YT',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_BJ.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_BJ.FormShow(Sender: TObject);
begin
ReadCxGrid('<27><>Ʒ<EFBFBD>б<EFBFBD>YT',Tv1,'<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>');
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_BJ.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmCPManage_BJ.ToolButton3Click(Sender: TObject);
var
i:Integer;
FieldName:String;
begin
{ry
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.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;
end;
finally
frmCPAdd.Free;
end;}
end;
procedure TfrmCPManage_BJ.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_BJ.CYIDKeyPress(Sender: TObject; var Key: Char);
begin
{f 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_BJ.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);
end;
end;
procedure TfrmCPManage_BJ.ToolButton1Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then exit;
ModalResult:=1;
end;
procedure TfrmCPManage_BJ.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_BJ.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_BJ.InitImage();
var
jpg:TJpegImage;
myStream:TADOBlobStream;
begin
if CDS_Main.IsEmpty then Exit;
if Trim(CDS_Main.fieldbyname('CYID').AsString)='' then
begin
Exit;
end;
// 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(CDS_Main.fieldbyname('CYID').AsString)+'''');
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
else
Image2.Picture.Assign(nil);
end;
finally
jpg.Free;
myStream.Free;
end;
end;
end;
procedure TfrmCPManage_BJ.ToolButton7Click(Sender: TObject);
var
i:Integer;
FieldName:String;
begin
{try
frmCPAdd:=TfrmCPAdd.Create(Application);
with frmCPAdd do
begin
CopyInt:=1;
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.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;
end;
finally
frmCPAdd.Free;
end;}
end;
procedure TfrmCPManage_BJ.CYSpecChange(Sender: TObject);
begin
if Length(Trim(CYSpec.Text))<3 then Exit;
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
end;
end;
procedure TfrmCPManage_BJ.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_BJ.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_BJ.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_BJ.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;
initgrid();
end;
end;
procedure TfrmCPManage_BJ.Tv1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
ModalResult:=1;
end;
procedure TfrmCPManage_BJ.ToolButton5Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then exit;
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_BJ.CYSpecKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
Initgrid();
end;
end;
procedure TfrmCPManage_BJ.CYNameKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
Initgrid();
end;
end;
procedure TfrmCPManage_BJ.defstr1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
Initgrid();
end;
end;
procedure TfrmCPManage_BJ.CYCFKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
Initgrid();
end;
end;
end.