D7myYunxiang/样品新云翔(YPGLBOM.dll)/U_BPZdy_LRXH_M.pas

1164 lines
32 KiB
ObjectPascal
Raw Permalink Normal View History

2025-01-20 13:04:03 +08:00
unit U_BPZdy_LRXH_M;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, ToolWin, ComCtrls,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGridLevel,
cxClasses, cxControls, cxGridCustomView, cxGrid, DBClient, ADODB, ImgList,
StdCtrls, ExtCtrls, cxTextEdit, cxGridCustomPopupMenu, cxGridPopupMenu,
cxButtonEdit, BtnEdit, cxTL, cxMaskEdit, cxInplaceContainer, cxDBTL,Math, Menus,
cxTLData, cxContainer, cxCurrencyEdit, cxCheckBox, cxSplitter,jpeg,ShellAPI,
IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdFTP,IniFiles;
type
TfrmBPZDY_XHPB_M = class(TForm)
ToolBar1: TToolBar;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
DataSource1: TDataSource;
ClientDataSet1: TClientDataSet;
TBClose: TToolButton;
ADOConnection1: TADOConnection;
ThreeImgList: TImageList;
DataSource2: TDataSource;
ML_GYS: TClientDataSet;
DataSource3: TDataSource;
ML_GX: TClientDataSet;
ADOQuery6: TADOQuery;
ADOQuery2: TADOQuery;
ADOQuery3: TADOQuery;
Panel4: TPanel;
Panel5: TPanel;
Label6: TLabel;
Label7: TLabel;
MXName: TEdit;
Label10: TLabel;
MBPGYSName: TEdit;
Button1: TButton;
DataSource4: TDataSource;
ADOQueryTree: TADOQuery;
Order_Tree: TClientDataSet;
Panel6: TPanel;
cxGrid1: TcxGrid;
TV1: TcxGridDBTableView;
V1BPCode: TcxGridDBColumn;
V1BPName: TcxGridDBColumn;
v1MBPGYSName: TcxGridDBColumn;
V1BPID: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
ToolBar2: TToolBar;
TBAdd: TToolButton;
TBDel: TToolButton;
ToolButton1: TToolButton;
Panel7: TPanel;
cxDBTreeList1: TcxDBTreeList;
cxDBTreeList1cxDBTreeListColumn2: TcxDBTreeListColumn;
ToolBar3: TToolBar;
ToolPBLE: TToolButton;
cxGridPopupMenu1: TcxGridPopupMenu;
cxGridPopupMenu2: TcxGridPopupMenu;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
cxStyleRepository2: TcxStyleRepository;
cxStyle2: TcxStyle;
MXCode: TEdit;
Label13: TLabel;
MNo: TEdit;
V1MNo: TcxGridDBColumn;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
BPNameM: TEdit;
BPCodeM: TEdit;
V1BPNote: TcxGridDBColumn;
Label14: TLabel;
BPNote: TEdit;
V1BPPrice: TcxGridDBColumn;
Label15: TLabel;
BPPrice: TEdit;
Label16: TLabel;
V1BPNameQC: TcxGridDBColumn;
Label3: TLabel;
BPNameQC: TEdit;
V1BPHXST: TcxGridDBColumn;
ToolButton2: TToolButton;
Label4: TLabel;
BPHXST: TEdit;
VIFSC: TcxGridDBColumn;
V1YHType: TcxGridDBColumn;
Label5: TLabel;
YHType: TEdit;
ODPat: TOpenDialog;
IdFTP1: TIdFTP;
SaveDialog1: TSaveDialog;
Image2: TImage;
TXZTP: TToolButton;
Panel16: TPanel;
ADOQueryFile: TADOQuery;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBAddClick(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TV1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure BPNamehange(Sender: TObject);
procedure V1NotePropertiesEditValueChanged(Sender: TObject);
procedure V1HelpTypePropertiesEditValueChanged(Sender: TObject);
procedure v1note1PropertiesEditValueChanged(Sender: TObject);
procedure V1BPCodePropertiesEditValueChanged(Sender: TObject);
procedure V1BPNamePropertiesEditValueChanged(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure BPCodeMChange(Sender: TObject);
procedure Tv3CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure Button1Click(Sender: TObject);
procedure TPBLBClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure cxDBTreeList1Click(Sender: TObject);
procedure MXCodeKeyPress(Sender: TObject; var Key: Char);
procedure CYNoKeyPress(Sender: TObject; var Key: Char);
procedure MNoKeyPress(Sender: TObject; var Key: Char);
procedure FormDestroy(Sender: TObject);
procedure TV1FocusedRecordChanged(Sender: TcxCustomGridTableView;
APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord;
ANewItemRecordFocusingChanged: Boolean);
procedure BPPriceKeyPress(Sender: TObject; var Key: Char);
procedure BPNoteKeyPress(Sender: TObject; var Key: Char);
procedure ToolButton2Click(Sender: TObject);
procedure TXZTPClick(Sender: TObject);
private
FBPID,FCPID,FCPNo,FCPName:string;
lstPat: TStringList;
AJpeg: TJPEGImage;
procedure InitGrid();
procedure SaveData();
procedure initTree();
procedure ReadINIFile10();
procedure CreThumb(AJPeg:TJPEGImage;Image1:TImage;Width, Height: Integer);
{ Private declarations }
public
flag,flagname,snote,MainType,FGYName,Fint,canshu1:string;
fnote,fnote1,forderno,fZdyFlag,ViewFlag,fHelpType:Boolean;
PPSTE:integer;
{ Public declarations }
end;
var
frmBPZDY_XHPB_M: TfrmBPZDY_XHPB_M;
implementation
uses
U_DataLink,U_Fun10,U_BPZdy_SH, U_BPZdy_HXK,U_CPTypePB,U_CPTypePB_M,U_FileUp_TPSH,U_CPTypeXH_M;
{$R *.dfm}
procedure TfrmBPZDY_XHPB_M.initTree();
begin
with ADOQueryTree do
begin
Close;
SQL.Clear;
SQL.Add('select *');
sql.Add(', Case when isnull(CPNo,'''')<>'''' and CPlevel=2 then RTrim(CPNo)+CPName else CPName end as CP ');
SQL.Add('from CP_TypeXH_M order by CPlevel,CPOrder,CPName');
Open;
end;
SCreateCDS20(ADOQueryTree,Order_Tree);
SInitCDSData20(ADOQueryTree,Order_Tree);
cxDBTreeList1.Items[0].Expand(true);
end;
procedure TfrmBPZDY_XHPB_M.SaveData();
var maxno:string;
begin
if FGYName<>'' then exit;
try
ADOQueryCmd.Connection.BeginTrans;
ClientDataSet1.DisableControls;
with ClientDataSet1 do
begin
First;
while not eof do
begin
if Trim(ClientDataSet1.FieldByName('BPID').AsString)='' then
begin
if GetLSNo(ADOQueryTemp,maxno,'BP','BP_ZDY_XH',3,1)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
ClientDataSet1.EnableControls;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
end
else
begin
maxno:=Trim(ClientDataSet1.fieldbyname('BPID').AsString);
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from BP_ZDY_XH where BPID='''+Trim(maxno)+'''');
Open;
end;
if ADOQueryCmd.IsEmpty then
begin
ADOQueryCmd.Append;
end
else
begin
ADOQueryCmd.Edit;
end;
ADOQueryCmd.FieldByName('BPID').Value:=Trim(maxno);
SSetSaveDataCDSNew(ADOQueryCmd,Tv1,ClientDataSet1,'BP_ZDY_XH',3);
ADOQueryCmd.FieldByName('BPType').Value:=flagName;
ADOQueryCmd.FieldByName('BPFlag').Value:=flag;
ADOQueryCmd.FieldByName('valid').Value:='Y';
ADOQueryCmd.Post;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.add('select * from BP_ZDY_XH where BPCode='''+Trim(ClientDataSet1.fieldbyname('BPCode').AsString)+'''');
sql.Add(' and BPFlag='''+trim(flag)+'''');
Open;
end;
if ADOQueryTemp.IsEmpty=False then
begin
if ADOQueryTemp.RecordCount>1 then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
SQL.Add('delete BP_ZDY_XH where BPID='''+Trim(ClientDataSet1.fieldbyname('BPID').AsString)+'''');
ExecSQL;
end;
ADOQueryCmd.Connection.RollbackTrans;
ClientDataSet1.EnableControls;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>','<27><>ʾ',0);
Exit;
end;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.add('select * from BP_ZDY_XH where BPName='''+Trim(ClientDataSet1.fieldbyname('BPName').AsString)+'''');
sql.Add(' and BPFlag='''+trim(flag)+'''');
Open;
end;
if ADOQueryTemp.IsEmpty=False then
begin
if ADOQueryTemp.RecordCount>1 then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
SQL.Add('delete BP_ZDY_XH where BPID='''+Trim(ClientDataSet1.fieldbyname('BPID').AsString)+'''');
ExecSQL;
end;
ADOQueryCmd.Connection.RollbackTrans;
ClientDataSet1.EnableControls;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>','<27><>ʾ',0);
Exit;
end;
end;
ClientDataSet1.Edit;
ClientDataSet1.FieldByName('BPID').Value:=Trim(maxno);
//ClientDataSet1.Post;
Next;
end;
ClientDataSet1.EnableControls;
end;
TV1.OptionsData.Editing:=false;
TV1.OptionsSelection.CellSelect:=false;
ADOQueryCmd.Connection.CommitTrans;
except;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
end;
end;
procedure TfrmBPZDY_XHPB_M.FormCreate(Sender: TObject);
begin
try
//cxGrid1.Align:=alClient;
with ADOConnection1 do
begin
Connected:=false;
ConnectionString:=DConString;
//ConnectionString:='';
Connected:=true;
end;
except;
frmBPZDY_XHPB_M.Free;
end;
lstPat := TStringList.Create;
canshu1:=Trim(DParameters1);
end;
procedure TfrmBPZDY_XHPB_M.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
ToolBar1.SetFocus;
Action:=caFree;
end;
procedure TfrmBPZDY_XHPB_M.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
sql.Clear;
sql.Add(' exec P_Select_XH_M :Code,:PState,:CYType,:Stats ');
Parameters.ParamByName('Code').Value:='';
Parameters.ParamByName('PState').Value:=0;
Parameters.ParamByName('CYType').Value:=Trim(Order_Tree.fieldbyname('CPID').AsString);
Parameters.ParamByName('Stats').Value:='';
Open;
end;
SCreateCDS20(ADOQueryMain,ClientDataSet1);
SInitCDSData20(ADOQueryMain,ClientDataSet1);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmBPZDY_XHPB_M.TBAddClick(Sender: TObject);
var
i:Integer;
begin
if Order_Tree.FieldByName('CPLevel').AsInteger<3 then
begin
Panel5.Visible:=False;
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end else
begin
Panel5.Visible:=True;
SClearData(Panel5,2);
FBPID:='';
MXCode.SetFocus;
Button1.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
end;
end;
procedure TfrmBPZDY_XHPB_M.TBSaveClick(Sender: TObject);
var
maxno:string;
begin
if ClientDataSet1.IsEmpty then Exit;
Toolbar1.SetFocus;
if ClientDataSet1.Locate('BPCode',null,[]) then
begin
Application.MessageBox('<27><><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
if ClientDataSet1.Locate('BPCode','',[]) then
begin
Application.MessageBox('<27><><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
if ClientDataSet1.Locate('BPName',null,[]) then
begin
Application.MessageBox('<27><><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
if ClientDataSet1.Locate('BPName','',[]) then
begin
Application.MessageBox('<27><><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
SaveData();
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>','<27><>ʾ',0);
end;
procedure TfrmBPZDY_XHPB_M.TBDelClick(Sender: TObject);
begin
MXCode.SetFocus;
if ClientDataSet1.IsEmpty then Exit;
if Trim(ClientDataSet1.FieldByName('BPID').AsString)<>'' then
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from ML_Manage_PB where isnull(BPID,'''')='''+Trim(FBPID)+'''');
Open;
end;
if ADOQueryTemp.IsEmpty=False then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
if application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD>?','<27><>ʾ<EFBFBD><CABE>Ϣ',1)=2 then exit;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete BP_ZDY_XH where BPID='''+Trim(ClientDataSet1.fieldbyname('BPID').AsString)+'''');
ExecSQL;
end;
end;
ClientDataSet1.Delete;
SClearData(Panel5,2);
FBPID:='';
end;
procedure TfrmBPZDY_XHPB_M.TBCloseClick(Sender: TObject);
begin
panel1.SetFocus;
WriteCxGrid('<27>Զ<EFBFBD><D4B6><EFBFBD>'+Trim(flag)+'1YX1',TV1,'<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmBPZDY_XHPB_M.FormShow(Sender: TObject);
begin
initTree();
InitGrid();
ReadCxGrid('<27>Զ<EFBFBD><D4B6><EFBFBD>'+Trim(flag)+'1YX1',TV1,'<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
if ViewFlag=True then
begin
TBAdd.Visible:=False;
TBDel.Visible:=False;
ToolButton1.Visible:=true;
end;
if canshu1='<27><>ѯ' then
begin
ToolBar3.Visible:=False;
ToolBar2.Visible:=false;
Button1.Visible:=false;
Panel4.Align:=alClient;
V1BPNote.Visible:=False;
V1BPPrice.Visible:=false;
Label15.Visible:=false;
BPPrice.Visible:=false;
Label14.Visible:=false;
BPNote.Visible:=false;
end
else
begin
ToolBar3.Visible:=true;
ToolBar2.Visible:=true;
Button1.Visible:=true;
Panel4.Align:=alLeft;
V1BPNote.Visible:=true;
V1BPPrice.Visible:=true;
Label15.Visible:=true;
BPPrice.Visible:=true;
Label14.Visible:=true;
BPNote.Visible:=true;
end;
end;
procedure TfrmBPZDY_XHPB_M.TV1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
var i:integer;
begin
if ToolButton1.Visible=true then
begin
Fint:='1';
ModalResult:=1;
end else
begin
ToolBar1.SetFocus;
if ClientDataSet1.IsEmpty then exit;
MBPGYSName.Text:=Trim(ClientDataSet1.fieldbyname('MBPGYSName').AsString);
MNo.Text:=Trim(ClientDataSet1.fieldbyname('MNo').AsString);
YHType.Text:=Trim(ClientDataSet1.fieldbyname('YHType').AsString);
BPHXST.Text:=Trim(ClientDataSet1.fieldbyname('BPHXST').AsString);
MXCode.Text:=Trim(ClientDataSet1.FieldByName('MXCode').AsString);
MXName.Text:=Trim(ClientDataSet1.FieldByName('MXName').AsString);
BPNameQC.Text:=Trim(ClientDataSet1.FieldByName('BPNameQC').AsString);
BPPrice.Text:=Trim(ClientDataSet1.FieldByName('BPPrice').AsString);
BPNote.Text:=Trim(ClientDataSet1.FieldByName('BPNote').AsString);
FBPID:=Trim(ClientDataSet1.fieldbyname('BPID').AsString);
FCPID:=Trim(ClientDataSet1.fieldbyname('CPID').AsString);
FCPNo:=Trim(ClientDataSet1.fieldbyname('CPNo').AsString);
FCPName:=Trim(ClientDataSet1.fieldbyname('CPName').AsString);
Panel5.Visible:=True;
Button1.Caption:='<27>޸ı<DEB8><C4B1><EFBFBD>';
TBDel.Visible:=True;
end;
end;
procedure TfrmBPZDY_XHPB_M.BPNamehange(Sender: TObject);
var
fsj:String;
begin
if Trim(BPNameM.Text)<>'' then
begin
fsj:=' BPName like '''+'%'+Trim(BPNameM.Text)+'%'+'''';
end;
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain,fsj);
SCreateCDS20(ADOQueryMain,ClientDataSet1);
SInitCDSData20(ADOQueryMain,ClientDataSet1);
end;
end;
procedure TfrmBPZDY_XHPB_M.V1NotePropertiesEditValueChanged(Sender: TObject);
var
mvalue:string;
begin
mvalue:=TcxTextEdit(Sender).EditingText;
with ClientDataSet1 do
begin
Edit;
FieldByName('BPKZ').Value:=mvalue;
//Post;
end;
end;
procedure TfrmBPZDY_XHPB_M.V1HelpTypePropertiesEditValueChanged(
Sender: TObject);
var
mvalue:string;
begin
mvalue:=TcxTextEdit(Sender).EditingText;
with ClientDataSet1 do
begin
Edit;
FieldByName('BPWS').Value:=mvalue;
Post;
end;
{with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('Update KH_Zdy Set HelpType='''+Trim(mvalue)+'''');
sql.Add(' where ZdyNo='''+Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString)+'''');
ExecSQL;
end;}
end;
procedure TfrmBPZDY_XHPB_M.v1note1PropertiesEditValueChanged(Sender: TObject);
var
mvalue:string;
begin
mvalue:=TcxTextEdit(Sender).EditingText;
with ClientDataSet1 do
begin
Edit;
FieldByName('BPMiDu').Value:=mvalue;
Post;
end;
end;
procedure TfrmBPZDY_XHPB_M.V1BPCodePropertiesEditValueChanged(Sender: TObject);
var
mvalue:string;
begin
mvalue:=TcxTextEdit(Sender).EditingText;
with ClientDataSet1 do
begin
Edit;
FieldByName('BPCode').Value:=mvalue;
end;
end;
procedure TfrmBPZDY_XHPB_M.V1BPNamePropertiesEditValueChanged(Sender: TObject);
var
mvalue:string;
begin
mvalue:=TcxTextEdit(Sender).EditingText;
with ClientDataSet1 do
begin
Edit;
FieldByName('BPName').Value:=mvalue;
end;
end;
procedure TfrmBPZDY_XHPB_M.ToolButton4Click(Sender: TObject);
begin
ToolBar1.SetFocus;
if ClientDataSet1.IsEmpty then exit;
if ClientDataSet1.FieldByName('BPID').AsString='' then
begin
application.MessageBox('<27><EFBFBD><EBB1A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ','<27><>ʾ');
exit;
end;
with ML_GYS do
begin
Append;
post;
end;
end;
procedure TfrmBPZDY_XHPB_M.BPCodeMChange(Sender: TObject);
var
fsj:String;
begin
if Trim(BPCodeM.Text)<>'' then
begin
fsj:=' BPCode like '''+'%'+Trim(BPCodeM.Text)+'%'+'''';
end;
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain,fsj);
SCreateCDS20(ADOQueryMain,ClientDataSet1);
SInitCDSData20(ADOQueryMain,ClientDataSet1);
end;
end;
procedure TfrmBPZDY_XHPB_M.Tv3CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
var i:Integer;
begin
if ML_GX.IsEmpty then exit;
ML_GX.Delete;
i:=1;
ML_GX.DisableControls;
with ML_GX do
begin
first;
while not eof do
begin
Edit;
FieldByName('BPMiDu').Value:=i;
i:=i+1;
next;
end;
end;
ML_GX.EnableControls;
end;
procedure TfrmBPZDY_XHPB_M.Button1Click(Sender: TObject);
var
maxno,FCPMiDu:string;
FInt,GS:Integer;
FReal:Double;
begin
if Button1.Caption='<27>޸ı<DEB8><C4B1><EFBFBD>' then
begin
if Application.MessageBox(<><C8B7>Ҫ<EFBFBD>޸ı<DEB8><C4B1><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',1)=2 then exit;
end;
if Button1.Caption='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
begin
if Label16.Caption='' then
begin
application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ');
exit;
end;
end;
if MXCode.Text='' then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD><EBB2BB>Ϊ<EFBFBD><CEAA>','<27><>ʾ');
exit;
end;
if Length(MXCode.Text)>4 then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD>ܳ<EFBFBD><DCB3><EFBFBD><34><CEBB>','<27><>ʾ');
exit;
end;
if TryStrToInt(MXCode.Text,FInt)=False then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
if Trim(BPPrice.Text)<>'' then
begin
if TryStrToFloat(BPPrice.Text,FReal)=False then
begin
Application.MessageBox('<27><><EFBFBD>۷Ƿ<DBB7><C7B7><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
end;
{if Trim(MNo.Text)<>'' then
begin
Application.MessageBox(<><C4A4><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;}
if Trim(Button1.Caption)<>'<27>޸ı<DEB8><C4B1><EFBFBD>' then
begin
if Order_Tree.FieldByName('CPLevel').AsInteger=1 then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ');
exit;
end;
end;
try
ADOQueryCmd.Connection.BeginTrans;
if FBPID='' then
begin
if GetLSNo(ADOQueryTemp,FBPID,'BP','BP_ZDY_XH',3,1)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from BP_ZDY_XH where BPID='''+Trim(FBPID)+'''');
Open;
end;
if ADOQueryCmd.IsEmpty then
begin
ADOQueryCmd.Append;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.add('select count(*) GS from BP_ZDY_XH where MNo='''+Trim(MNo.Text)+'''');
sql.Add(' and BPFlag='''+trim(flag)+'''');
Open;
end;
GS:=ADOQueryTemp.fieldbyname('GS').AsInteger;
end
else
begin
ADOQueryCmd.Edit;
end;
ADOQueryCmd.FieldByName('BPID').Value:=Trim(FBPID);
RTSetsavedata(ADOQueryCmd,'BP_ZDY_XH',panel5,2);
ADOQueryCmd.FieldByName('BPType').Value:=flagName;
ADOQueryCmd.FieldByName('BPFlag').Value:=flag;
ADOQueryCmd.FieldByName('valid').Value:='Y';
ADOQueryCmd.FieldByName('CPID').Value:=trim(FCPID);
ADOQueryCmd.FieldByName('CPNo').Value:=trim(FCPNo);
ADOQueryCmd.FieldByName('CPName').Value:=trim(FCPName);
if Trim(BPPrice.Text)<>'' then
ADOQueryCmd.FieldByName('BPPrice').Value:=BPPrice.Text
else
ADOQueryCmd.FieldByName('BPPrice').Value:=Null;
ADOQueryCmd.FieldByName('BPNote').Value:=Trim(BPNote.Text);
if GS<>0 then
ADOQueryCmd.FieldByName('BPCode').Value:=trim(FCPNo)+trim(MXCode.Text)+'-'+IntToStr(GS)
else
ADOQueryCmd.FieldByName('BPCode').Value:=trim(FCPNo)+trim(MXCode.Text);
ADOQueryCmd.FieldByName('BPName').Value:=trim(MXName.Text);
ADOQueryCmd.Post;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.add('select * from BP_ZDY_XH where BPCode='''+Trim(trim(FCPNo)+trim(MXCode.Text))+'''');
sql.Add(' and BPFlag='''+trim(flag)+'''');
Open;
end;
if ADOQueryTemp.RecordCount>1 then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>','<27><>ʾ',0);
Exit;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.add('select * from BP_ZDY_XH where MNo+BPHXST+YHType='''+Trim(trim(MNo.Text)+trim(BPHXST.Text)+trim(YHType.Text))+'''');
sql.Add(' and BPFlag='''+trim(flag)+'''');
Open;
end;
if ADOQueryTemp.RecordCount>1 then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><EFBFBD><E5BBA8><EFBFBD><EFBFBD><EFBFBD>ͱ<EFBFBD><CDB1><EFBFBD><><CDB7>+<2B><><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>','<27><>ʾ',0);
Exit;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.add('select * from BP_ZDY_XH where BPName='''+Trim(trim(FCPName)+trim(MXName.Text))+'''');
sql.Add(' and BPFlag='''+trim(flag)+'''');
Open;
end;
if ADOQueryTemp.RecordCount>1 then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><>Ϣ<EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>','<27><>ʾ',0);
Exit;
end;
with ClientDataSet1 do
begin
if Button1.Caption<>'<27>޸ı<DEB8><C4B1><EFBFBD>' then
Append
else
edit;
FieldByName('BPID').Value:=Trim(FBPID);
FieldByName('BPCode').Value:=trim(FCPNo)+Trim(MXCode.Text);
FieldByName('BPName').Value:=Trim(MXName.Text);
FieldByName('MBPGYSName').Value:=Trim(MBPGYSName.Text);
FieldByName('BPNameQC').Value:=Trim(BPNameQC.Text);
FieldByName('MNo').Value:=Trim(MNo.Text);
FieldByName('YHType').Value:=Trim(YHType.Text);
FieldByName('BPHXST').Value:=Trim(BPHXST.Text);
FieldByName('MXCode').Value:=Trim(MXCode.Text);
FieldByName('MXName').Value:=Trim(MXName.Text);
if Trim(BPPrice.Text)<>'' then
FieldByName('BPPrice').Value:=BPPrice.Text
else
FieldByName('BPPrice').Value:=Null;
FieldByName('BPNote').Value:=Trim(BPNote.Text);
post;
end;
SClearData(Panel5,2);
FBPID:='';
Button1.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
Panel5.Visible:=false;
TBDel.Visible:=False;
ADOQueryCmd.Connection.CommitTrans;
except;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
end;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>','<27><>ʾ');
end;
procedure TfrmBPZDY_XHPB_M.TPBLBClick(Sender: TObject);
begin
frmCPTypeXH_M:=TfrmCPTypeXH_M.Create(self);
with frmCPTypeXH_M do
begin
if ShowModal=1 then
begin
end;
free;
end;
initTree();
end;
procedure TfrmBPZDY_XHPB_M.ToolButton1Click(Sender: TObject);
begin
ToolBar1.SetFocus;
Fint:='1';
ModalResult:=1;
end;
procedure TfrmBPZDY_XHPB_M.cxDBTreeList1Click(Sender: TObject);
begin
InitGrid();
TBDel.Visible:=False;
Panel5.Visible:=False;
if Order_Tree.FieldByName('CPLevel').AsInteger<3 then
begin
TBAdd.Visible:=False;
end else
begin
FBPID:='';
FCPID:=Trim(Order_Tree.fieldbyname('CPID').AsString);
FCPNo:=Trim(Order_Tree.fieldbyname('CPNo').AsString);
FCPName:=Trim(Order_Tree.fieldbyname('CPName').AsString);
TBAdd.Visible:=True;
end;
Label16.Caption:=Trim(Order_Tree.fieldbyname('CPNo').AsString);
end;
procedure TfrmBPZDY_XHPB_M.MXCodeKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
MXName.SetFocus;
end;
end;
procedure TfrmBPZDY_XHPB_M.CYNoKeyPress(Sender: TObject; var Key: Char);
var CPID:string;
begin
end;
procedure TfrmBPZDY_XHPB_M.MNoKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
BPPrice.SetFocus;
end;
end;
procedure TfrmBPZDY_XHPB_M.FormDestroy(Sender: TObject);
begin
frmBPZDY_XHPB_M:=nil;
end;
procedure TfrmBPZDY_XHPB_M.TV1FocusedRecordChanged(
Sender: TcxCustomGridTableView; APrevFocusedRecord,
AFocusedRecord: TcxCustomGridRecord;
ANewItemRecordFocusingChanged: Boolean);
begin
Panel5.Visible:=False;
TBAdd.Visible:=False;
TBDel.Visible:=False;
end;
procedure TfrmBPZDY_XHPB_M.BPPriceKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
BPNote.SetFocus;
end;
end;
procedure TfrmBPZDY_XHPB_M.BPNoteKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
Button1.SetFocus;
end;
end;
procedure TfrmBPZDY_XHPB_M.CreThumb(AJPeg:TJPEGImage;Image1:TImage;Width, Height: Integer);
var
Bitmap: TBitmap;
Ratio: Double;
ARect: TRect;
AHeight, AHeightOffset: Integer;
AWidth, AWidthOffset: Integer;
begin
Bitmap := TBitmap.Create;
try
Ratio := AJPeg.Width /AJPeg.Height;
if Ratio > 1.333 then
begin
AHeight := Round(Width / Ratio);
AHeightOffset := (Height - AHeight) div 2;
AWidth := Width;
AWidthOffset := 0;
end
else
begin
AWidth := Round(Height * Ratio);
AWidthOffset := (Width - AWidth) div 2;
AHeight := Height;
AHeightOffset := 0;
end;
Bitmap.Width := Width;
Bitmap.Height := Height;
Bitmap.Canvas.Brush.Color := clBtnFace;
Bitmap.Canvas.FillRect(Rect(0, 0, Width, Height));
ARect := Rect(AWidthOffset, AHeightOffset, AWidth + AWidthOffset, AHeight + AHeightOffset);
Bitmap.Canvas.StretchDraw(ARect, AJPeg);
Image1.Picture.Assign(BitMap);
finally
Bitmap.Free;
end;
end;
procedure TfrmBPZDY_XHPB_M.ReadINIFile10();
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 TfrmBPZDY_XHPB_M.ToolButton2Click(Sender: TObject);
var
i,j: Integer;
PatFile,CYID: String;
FTPPath,FConNo,MaxNo:string;
AJpeg: TJPEGImage;
myStream: TADOBlobStream;
begin
lstPat.Clear;
if ODPat.Execute then
begin
lstPat.AddStrings(ODPat.Files);
end;
if lstPat.Count > 0 then
begin
try
ReadINIFile10();
server:=ReadINIFileStr('SYSTEMSET.INI','SERVER','<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ','127.0.0.1');
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;
end;
Panel16.Visible:=True;
Panel16.Refresh;
with ADOQueryTemp do
begin
Close;
SQL.Clear;
SQL.Add('select Count(*) MM from XD_File where CYNO='''+Trim(self.ClientDataSet1.fieldbyname('BPID').AsString)+'''');
SQL.Add('and filetype=''YP''');
Open;
j:=fieldbyname('MM').AsInteger;
end;
try
AJpeg:=TJpegImage.Create();
ADOQueryCmd.Connection.BeginTrans;
for i := 0 to lstPat.Count - 1 do
begin
PatFile := ExtractFileName(lstPat[i]);
PatFile:=Copy(PatFile,(Pos('.',PatFile)+1),(Length(PatFile)-Pos('.',PatFile)) );
if GetLSNo(ADOQueryCmd,FConNo,'S','XD_File',3,0)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('ȡͼƬ<CDBC><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
PatFile:=Trim(self.ClientDataSet1.fieldbyname('BPID').AsString)+Trim(FConNo)+'.'+PatFile;
AJpeg.LoadFromFile(ExtractFileName(lstPat[i]));
CreThumb(AJpeg,Image2,160, 120);
if IdFTP1.Connected then
begin
IdFTP1.Put(lstPat[i], 'YP'+'\'+Trim(PatFile));
if GetLSNo(ADOQueryCmd,CYID,'H','XD_File',4,1)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('ȡͼƬ<CDBC><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
with ADOQueryTemp do
begin
Close;
SQL.Clear;
SQL.Add('select * from XD_File where CYID='''+Trim(CYID)+'''');
SQL.Add(' and filename='''+Trim(PatFile)+'''');
SQL.Add(' and filetype=''YP''');
Open;
if not IsEmpty then
begin
Panel16.Visible:=False;
Application.MessageBox(PChar('<27>ļ<EFBFBD><'+Trim(PatFile)+'><3E>ظ<EFBFBD>,'+inttostr(i)+'<27><><EFBFBD>ļ<EFBFBD><C4BC>ϴ<EFBFBD><CFB4>ɹ<EFBFBD><C9B9><EFBFBD>'),'<27><>ʾ',0);
Exit;
end;
end;
if GetLSNo(ADOQueryCmd,MaxNo,'SS','XD_File',4,1)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('ȡͼƬ<CDBC><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add('select * from XD_File where 1=2');
Open;
end;
with ADOQueryCmd do
begin
Append;
FieldByName('XFID').Value:=Trim(MaxNo);
FieldByName('CYID').Value:=Trim(CYID);
FieldByName('CYNO').Value:=Trim(self.ClientDataSet1.fieldbyname('BPID').AsString);
FieldByName('SKID').Value:=Trim(self.ClientDataSet1.fieldbyname('BPID').AsString);
FieldByName('filename').Value:=Trim(PatFile);
FieldByName('FileDate').Value:=SGetServerDate(ADOQueryTemp);
fieldbyname('FileType').value:=Trim('YP');
Post;
end;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add(' select * from TP_File where TFID='''+Trim(MaxNo)+'''');
//ShowMessage(sql.Text);
open;
end;
with ADOQueryCmd do
begin
if ADOQueryCmd.IsEmpty then
begin
Append;
FieldByName('Filler').Value:=Trim(DName);
end
else
begin
Edit;
FieldByName('Editer').Value:=Trim(DName);
FieldByName('EditTime').Value:=SGetServerDateTime(ADOQueryTemp);
end;
FieldByName('TFID').Value:=Trim(MaxNo);
FieldByName('WBID').Value:=Trim(CYID);
FieldByName('TFType').Value:='<27><>Ʒ';
myStream := TADOBlobStream.Create(TBlobField(ADOQueryCmd.FieldByName('FilesOther')), bmWrite);
AJpeg.Assign(Image2.Picture.Graphic);
AJpeg.SaveToStream(myStream);
myStream.Free;
Post;
end;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('ͼƬ<CDBC>ϴ<EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
end;
if IdFTP1.Connected then IdFTP1.Quit;
with ADOQueryFile do
begin
Close;
SQL.Clear;
SQL.Add('select * from XD_File where CYNo='''+Trim(self.ClientDataSet1.fieldbyname('BPID').AsString)+'''');
open;
end;
Panel16.Visible:=False;
if i>0 then
Application.MessageBox(PChar(inttostr(i)+'<27><><EFBFBD>ļ<EFBFBD><C4BC>ϴ<EFBFBD><CFB4>ɹ<EFBFBD><C9B9><EFBFBD>'),'<27><>ʾ',0);
InitGrid();
end;
procedure TfrmBPZDY_XHPB_M.TXZTPClick(Sender: TObject);
var
IdFTP1: TIdFTP;
FPath,FFName:string;
FInt:integer;
maxno:string;
j,i:Integer;
begin
try
IdFTP1:=TIdFTP.Create(self);
IdFTP1.Host :=PicSvr;
IdFTP1.Username := 'three';
IdFTP1.Password := '641010';
IdFTP1.Connect();
except
IdFTP1.Quit;
IdFTP1.Free;
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(ClientDataSet1.fieldbyname('FileName').AsString);
FFName:=FPath+FFName;
if DirectoryExists(ExtractFileDir(FFName)) then
DeleteFile(FFName);
if FileExists(FFName) then
begin
FInt:=1;
end;
if FInt<>1 then
IdFTP1.Get('YP\'+ClientDataSet1.fieldbyname('FileName').AsString,FFName);
if IdFTP1.Connected then
begin
IdFTP1.Quit;
IdFTP1.Free;
end;
ShellExecute(Handle, 'open',PChar(FFName),'', '', SW_SHOWNORMAL);
end;
end.