D7myYunxiang/合同管理(Contract.dll)/U_BPZdy_LRM.pas

958 lines
26 KiB
ObjectPascal
Raw Normal View History

2025-01-20 13:04:03 +08:00
unit U_BPZdy_LRM;
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,
cxTLData, cxContainer, cxCurrencyEdit, cxCheckBox, cxSplitter;
type
TfrmBPZDY_LRM = 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;
Label8: TLabel;
Label9: TLabel;
Button1: TButton;
DataSource4: TDataSource;
ADOQueryTree: TADOQuery;
Order_Tree: TClientDataSet;
Panel6: TPanel;
cxGrid1: TcxGrid;
TV1: TcxGridDBTableView;
V1BPCode: TcxGridDBColumn;
V1BPName: TcxGridDBColumn;
V1BPMF1: TcxGridDBColumn;
V1BPKZ: 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;
BPMF: TEdit;
BPKZ: TEdit;
MXCode: TEdit;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
BPNameM: TEdit;
BPCodeM: TEdit;
V1BPNote: TcxGridDBColumn;
Label14: TLabel;
BPNote: TEdit;
V1BPPrice: TcxGridDBColumn;
Label15: TLabel;
BPPrice: TEdit;
Label16: TLabel;
Label3: TLabel;
MXName: TEdit;
V1BPCF: TcxGridDBColumn;
Label4: TLabel;
BPCF: TEdit;
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 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 Button1KeyPress(Sender: TObject; var Key: Char);
procedure cxDBTreeList1Click(Sender: TObject);
procedure MXCodeKeyPress(Sender: TObject; var Key: Char);
procedure MXNameKeyPress(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 BPMFKeyPress(Sender: TObject; var Key: Char);
procedure BPKZKeyPress(Sender: TObject; var Key: Char);
private
FBPID,FCPID,FCPNo,FCPName:string;
procedure InitGrid();
procedure SaveData();
procedure initTree();
{ 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_LRM: TfrmBPZDY_LRM;
implementation
uses
U_DataLink,U_Fun10,U_BPZdy_SH, U_BPZdy_HXK,U_CPTypePB,U_CPTypeM;
{$R *.dfm}
procedure TfrmBPZDY_LRM.initTree();
begin
with ADOQueryTree do
begin
Close;
SQL.Clear;
SQL.Add('select *');
sql.Add(', Case when isnull(CPNo,'''')<>'''' then RTrim(CPNo)+''/''+CPName else CPName end as CP ');
SQL.Add('from CP_TypeM order by CPlevel,CPOrder,CPName');
Open;
end;
SCreateCDS20(ADOQueryTree,Order_Tree);
SInitCDSData20(ADOQueryTree,Order_Tree);
cxDBTreeList1.Items[0].Expand(true);
end;
procedure TfrmBPZDY_LRM.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','M_ZDY',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 M_ZDY 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,'M_ZDY',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 M_ZDY 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 M_ZDY 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 M_ZDY where BPName='''+Trim(ClientDataSet1.fieldbyname('BPName').AsString)+'''');
sql.add(' and isnull(BPMF,'''')='''+Trim(ClientDataSet1.fieldbyname('BPMF').AsString)+'''');
sql.add(' and isnull(BPKZ,'''')='''+Trim(ClientDataSet1.fieldbyname('BPKZ').AsString)+'''');
sql.add(' and isnull(BPJS,'''')='''+Trim(ClientDataSet1.fieldbyname('BPJS').AsString)+'''');
sql.add(' and isnull(BPWS,'''')='''+Trim(ClientDataSet1.fieldbyname('BPWS').AsString)+'''');
sql.add(' and isnull(BPMiDu,'''')='''+Trim(ClientDataSet1.fieldbyname('BPMiDu').AsString)+'''');
sql.add(' and isnull(BPUnit,'''')='''+Trim(ClientDataSet1.fieldbyname('BPUnit').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 M_ZDY where BPID='''+Trim(ClientDataSet1.fieldbyname('BPID').AsString)+'''');
ExecSQL;
end;
ADOQueryCmd.Connection.RollbackTrans;
ClientDataSet1.EnableControls;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ŷ<EFBFBD><C5B7><EFBFBD><EFBFBD>ؾ<EFBFBD>ɴγɴ<CEB3>ظ<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_LRM.FormCreate(Sender: TObject);
begin
try
//cxGrid1.Align:=alClient;
with ADOConnection1 do
begin
Connected:=false;
ConnectionString:=DConString;
//ConnectionString:='';
Connected:=true;
end;
except;
frmBPZDY_LRM.Free;
end;
canshu1:=Trim(DParameters1);
end;
procedure TfrmBPZDY_LRM.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
ToolBar1.SetFocus;
Action:=caFree;
end;
procedure TfrmBPZDY_LRM.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
sql.Clear;
sql.Add(' exec P_Select_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_LRM.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);
BPMF.Text:='151';
MXName.Text:='<27><>';//trim(FCPName);
FBPID:='';
MXCode.SetFocus;
Button1.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
end;
end;
procedure TfrmBPZDY_LRM.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_LRM.TBDelClick(Sender: TObject);
begin
MXCode.SetFocus;
if ClientDataSet1.IsEmpty then Exit;
if Trim(ClientDataSet1.FieldByName('BPID').AsString)<>'' then
begin
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 M_ZDY where BPID='''+Trim(ClientDataSet1.fieldbyname('BPID').AsString)+'''');
ExecSQL;
end;
end;
ClientDataSet1.Delete;
SClearData(Panel5,2);
BPMF.Text:='160';
FBPID:='';
end;
procedure TfrmBPZDY_LRM.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_LRM.FormShow(Sender: TObject);
begin
initTree();
InitGrid();
ReadCxGrid('<27>Զ<EFBFBD><D4B6><EFBFBD>'+Trim(flag)+'1YX1',TV1,'<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
frmBPZDY_LRM.Caption:=Trim(flagname);
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_LRM.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;
BPMF.Text:=Trim(ClientDataSet1.fieldbyname('BPMF').AsString);
BPKZ.Text:=Trim(ClientDataSet1.fieldbyname('BPKZ').AsString);
BPCF.Text:=Trim(ClientDataSet1.fieldbyname('BPCF').AsString);
MXCode.Text:=Trim(ClientDataSet1.FieldByName('MXCode').AsString);
MXName.Text:=Trim(ClientDataSet1.FieldByName('MXName').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_LRM.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_LRM.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_LRM.V1BPCodePropertiesEditValueChanged(Sender: TObject);
var
mvalue:string;
begin
mvalue:=TcxTextEdit(Sender).EditingText;
with ClientDataSet1 do
begin
Edit;
FieldByName('BPCode').Value:=mvalue;
end;
end;
procedure TfrmBPZDY_LRM.V1BPNamePropertiesEditValueChanged(Sender: TObject);
var
mvalue:string;
begin
mvalue:=TcxTextEdit(Sender).EditingText;
with ClientDataSet1 do
begin
Edit;
FieldByName('BPName').Value:=mvalue;
end;
end;
procedure TfrmBPZDY_LRM.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_LRM.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_LRM.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_LRM.Button1Click(Sender: TObject);
var
maxno,FCPMiDu:string;
FInt: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 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(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;
if Trim(BPMF.Text)<>'' then
begin
if TryStrToInt(BPMF.Text,FInt)=False then
begin
Application.MessageBox('<27>ŷ<EFBFBD><C5B7>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
end;
if Trim(BPKZ.Text)<>'' then
begin
if TryStrToInt(BPKZ.Text,FInt)=False then
begin
Application.MessageBox('<27><><EFBFBD>طǷ<D8B7><C7B7><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
end;
try
ADOQueryCmd.Connection.BeginTrans;
if FBPID='' then
begin
if GetLSNo(ADOQueryTemp,FBPID,'BP','M_ZDY',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 M_ZDY where BPID='''+Trim(FBPID)+'''');
Open;
end;
if ADOQueryCmd.IsEmpty then
begin
ADOQueryCmd.Append;
end
else
begin
ADOQueryCmd.Edit;
end;
if MXCode.Text='' then
MXCode.Text:=BPKZ.Text;
ADOQueryCmd.FieldByName('BPID').Value:=Trim(FBPID);
RTSetsavedata(ADOQueryCmd,'M_ZDY',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);
ADOQueryCmd.FieldByName('BPCode').Value:='M'+trim(MXCode.Text)+trim(FCPNo);
ADOQueryCmd.FieldByName('BPName').Value:=trim(BPKZ.Text)+'G'+trim(MXName.Text);
ADOQueryCmd.Post;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.add('select * from M_ZDY where BPName='''+trim(BPKZ.Text)+'G'+trim(MXName.Text)+'''');
sql.add(' and isnull(BPMF,'''')='''+Trim(BPMF.Text)+'''');
sql.add(' and isnull(BPKZ,'''')='''+Trim(BPKZ.Text)+'''');
sql.add(' and isnull(BPCF,'''')='''+Trim(BPCF.Text)+'''');
SQL.Add(' and BPCode='''+'M'+trim(MXCode.Text)+trim(FCPNo)+'''');
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:='M'+trim(MXCode.Text)+trim(FCPNo);
FieldByName('BPName').Value:=trim(BPKZ.Text)+'G'+trim(MXName.Text);
FieldByName('BPMF').Value:=Trim(BPMF.Text);
FieldByName('BPKZ').Value:=Trim(BPKZ.Text);
FieldByName('BPCF').Value:=Trim(BPCF.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);
BPMF.Text:='151';
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_LRM.TPBLBClick(Sender: TObject);
begin
frmCPTypeM:=TfrmCPTypeM.Create(self);
with frmCPTypeM do
begin
if ShowModal=1 then
begin
end;
free;
end;
initTree();
end;
procedure TfrmBPZDY_LRM.ToolButton1Click(Sender: TObject);
begin
ToolBar1.SetFocus;
Fint:='1';
ModalResult:=1;
end;
procedure TfrmBPZDY_LRM.Button1KeyPress(Sender: TObject; var Key: Char);
var maxno:string;
begin
if key=#13 then
begin
if MXCode.Text='' then
begin
application.MessageBox('<27><>ϸ<EFBFBD><CFB8><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>','<27><>ʾ');
exit;
end;
try
ADOQueryCmd.Connection.BeginTrans;
if FBPID='' then
begin
if GetLSNo(ADOQueryTemp,FBPID,'BP','M_ZDY',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 M_ZDY where BPID='''+Trim(FBPID)+'''');
Open;
end;
if ADOQueryCmd.IsEmpty then
begin
ADOQueryCmd.Append;
end
else
begin
ADOQueryCmd.Edit;
end;
ADOQueryCmd.FieldByName('BPID').Value:=Trim(FBPID);
SSetsaveSqlNew(ADOQueryCmd,'M_ZDY',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);
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 M_ZDY where BPCode='''+Trim(trim(FCPNo)+trim(MXCode.Text))+'''');
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 M_ZDY where BPID='''+Trim(FBPID)+'''');
ExecSQL;
end;
ADOQueryCmd.Connection.RollbackTrans;
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 M_ZDY where BPName='''+Trim(trim(FCPName)+trim(MXName.Text))+'''');
sql.add(' and isnull(BPMF,'''')='''+Trim(BPMF.Text)+'''');
sql.add(' and isnull(BPKZ,'''')='''+Trim(BPKZ.Text)+'''');
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 M_ZDY where BPID='''+Trim(FBPID)+'''');
ExecSQL;
end;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ŷ<EFBFBD><C5B7><EFBFBD><EFBFBD>ؾ<EFBFBD>ɴγɴ<CEB3>ظ<EFBFBD><D8B8><EFBFBD>','<27><>ʾ',0);
Exit;
end;
end;
with ClientDataSet1 do
begin
if Button1.Caption<><><C8B7><EFBFBD>޸<EFBFBD>' then
Append
else
edit;
FieldByName('BPID').Value:=Trim(FBPID);
FieldByName('BPCode').Value:=Trim(MXCode.Text);
FieldByName('BPName').Value:=Trim(MXName.Text);
FieldByName('BPMF').Value:=Trim(BPMF.Text);
FieldByName('BPKZ').Value:=Trim(BPKZ.Text);
FieldByName('MXCode').Value:=Trim(MXCode.Text);
FieldByName('MXName').Value:=Trim(MXName.Text);
post;
end;
MXCode.Text:='';
MXName.Text:='';
BPMF.Text:='';
BPKZ.Text:='';
FBPID:='';
MXCode.SetFocus;
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;
end;
procedure TfrmBPZDY_LRM.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_LRM.MXCodeKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
MXName.SetFocus;
end;
end;
procedure TfrmBPZDY_LRM.MXNameKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
BPMF.SetFocus;
end;
end;
procedure TfrmBPZDY_LRM.FormDestroy(Sender: TObject);
begin
frmBPZDY_LRM:=nil;
end;
procedure TfrmBPZDY_LRM.TV1FocusedRecordChanged(
Sender: TcxCustomGridTableView; APrevFocusedRecord,
AFocusedRecord: TcxCustomGridRecord;
ANewItemRecordFocusingChanged: Boolean);
begin
Panel5.Visible:=False;
TBAdd.Visible:=False;
TBDel.Visible:=False;
end;
procedure TfrmBPZDY_LRM.BPPriceKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
BPNote.SetFocus;
end;
end;
procedure TfrmBPZDY_LRM.BPNoteKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
Button1.SetFocus;
end;
end;
procedure TfrmBPZDY_LRM.BPMFKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
BPKZ.SetFocus;
end;
end;
procedure TfrmBPZDY_LRM.BPKZKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
BPPrice.SetFocus;
end;
end;
end.