D7myYunxiang/云翔生产管理(MYSC.dll)/U_BPZdy_LRPM.pas

994 lines
28 KiB
ObjectPascal
Raw Permalink Normal View History

2025-01-20 13:04:03 +08:00
unit U_BPZdy_LRPM;
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, cxLookAndFeels, cxLookAndFeelPainters,
cxNavigator, cxTLdxBarBuiltInMenu;
type
TfrmBPZDY_LRPM = 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;
V1BPMiDu: TcxGridDBColumn;
V1BPJS: TcxGridDBColumn;
V1CPName: TcxGridDBColumn;
Label5: TLabel;
Label10: TLabel;
BPMiDu: TEdit;
BPJS: TEdit;
Label11: TLabel;
CPName: 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_LRPM: TfrmBPZDY_LRPM;
implementation
uses
U_DataLink, U_Fun10, U_BPZdy_SH, U_BPZdy_HXK, U_CPTypePB, U_CPTypePM;
{$R *.dfm}
procedure TfrmBPZDY_LRPM.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_TypePM order by CPlevel,CPOrder,CPName');
Open;
end;
SCreateCDS20(ADOQueryTree, Order_Tree);
SInitCDSData20(ADOQueryTree, Order_Tree);
cxDBTreeList1.Items[0].Expand(true);
end;
procedure TfrmBPZDY_LRPM.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', 'PM_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 PM_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, 'PM_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 PM_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 PM_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 PM_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 PM_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_LRPM.FormCreate(Sender: TObject);
begin
try
//cxGrid1.Align:=alClient;
with ADOConnection1 do
begin
Connected := false;
ConnectionString := DConString;
//ConnectionString:='';
Connected := true;
end;
except
;
frmBPZDY_LRPM.Free;
end;
canshu1 := Trim(DParameters1);
end;
procedure TfrmBPZDY_LRPM.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ToolBar1.SetFocus;
Action := caFree;
end;
procedure TfrmBPZDY_LRPM.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
sql.Clear;
sql.Add(' exec P_Select_PM :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_LRPM.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';
BPPrice.Text := '0';
MXName.Text := '<27><><EFBFBD><EFBFBD>'; //trim(FCPName);
FBPID := '';
MXCode.SetFocus;
Button1.Caption := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
end;
end;
procedure TfrmBPZDY_LRPM.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_LRPM.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 PM_ZDY where BPID=''' + Trim(ClientDataSet1.fieldbyname('BPID').AsString) + '''');
ExecSQL;
end;
end;
ClientDataSet1.Delete;
SClearData(Panel5, 2);
BPMF.Text := '160';
FBPID := '';
end;
procedure TfrmBPZDY_LRPM.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_LRPM.FormShow(Sender: TObject);
begin
initTree();
InitGrid();
ReadCxGrid('<27>Զ<EFBFBD><D4B6><EFBFBD>' + Trim(flag) + '1YX1', TV1, '<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
frmBPZDY_LRPM.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_LRPM.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);
BPJS.Text := Trim(ClientDataSet1.FieldByName('BPJS').AsString);
BPMiDu.Text := Trim(ClientDataSet1.FieldByName('BPMiDu').AsString);
CPName.Text := Trim(ClientDataSet1.FieldByName('CPName').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_LRPM.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_LRPM.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_LRPM.V1BPCodePropertiesEditValueChanged(Sender: TObject);
var
mvalue: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
with ClientDataSet1 do
begin
Edit;
FieldByName('BPCode').Value := mvalue;
end;
end;
procedure TfrmBPZDY_LRPM.V1BPNamePropertiesEditValueChanged(Sender: TObject);
var
mvalue: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
with ClientDataSet1 do
begin
Edit;
FieldByName('BPName').Value := mvalue;
end;
end;
procedure TfrmBPZDY_LRPM.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_LRPM.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_LRPM.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_LRPM.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 trim(FCPID) <> 'CP2009040003' then
begin
if Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޣ<EFBFBD>ȷ<EFBFBD><C8B7>Ҫ<EFBFBD><D2AA><EFBFBD><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, 'PM', 'PM_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 PM_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 := trim(BPMiDu.Text) + trim(BPJS.Text);
ADOQueryCmd.FieldByName('BPID').Value := Trim(FBPID);
RTSetsavedata(ADOQueryCmd, 'PM_ZDY', panel5, 2);
ADOQueryCmd.FieldByName('BPType').Value := flagName;
ADOQueryCmd.FieldByName('BPFlag').Value := flag;
ADOQueryCmd.FieldByName('valid').Value := 'Y';
if Trim(FCPID) = '' then
begin
FCPID := 'CP2009040003';
end;
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 := 'PM' + trim(BPMiDu.Text) + trim(BPJS.Text);
ADOQueryCmd.FieldByName('BPName').Value := trim(BPMiDu.Text) + trim(BPJS.Text) + trim(MXName.Text);
ADOQueryCmd.Post;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.add('select * from PM_ZDY where BPName=''' + trim(BPMiDu.Text) + trim(BPJS.Text) + 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=''' + 'PM' + trim(BPMiDu.Text) + trim(BPJS.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 := 'PM' + trim(BPMiDu.Text) + trim(BPJS.Text);
FieldByName('BPName').Value := trim(BPMiDu.Text) + trim(BPJS.Text) + 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);
FieldByName('BPMiDu').Value := trim(BPMiDu.Text);
FieldByName('BPJS').Value := trim(BPJS.Text);
FieldByName('CPName').Value := trim(CPName.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_LRPM.TPBLBClick(Sender: TObject);
begin
frmCPTypePM := TfrmCPTypePM.Create(self);
with frmCPTypePM do
begin
if ShowModal = 1 then
begin
end;
free;
end;
initTree();
end;
procedure TfrmBPZDY_LRPM.ToolButton1Click(Sender: TObject);
begin
ToolBar1.SetFocus;
FInt := '1';
ModalResult := 1;
end;
procedure TfrmBPZDY_LRPM.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', 'PM_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 PM_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, 'PM_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 PM_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 PM_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 PM_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 PM_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_LRPM.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_LRPM.MXCodeKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
MXName.SetFocus;
end;
end;
procedure TfrmBPZDY_LRPM.MXNameKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
BPMF.SetFocus;
end;
end;
procedure TfrmBPZDY_LRPM.FormDestroy(Sender: TObject);
begin
frmBPZDY_LRPM := nil;
end;
procedure TfrmBPZDY_LRPM.TV1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
begin
Panel5.Visible := False;
TBAdd.Visible := False;
TBDel.Visible := False;
end;
procedure TfrmBPZDY_LRPM.BPPriceKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
BPNote.SetFocus;
end;
end;
procedure TfrmBPZDY_LRPM.BPNoteKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
Button1.SetFocus;
end;
end;
procedure TfrmBPZDY_LRPM.BPMFKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
BPKZ.SetFocus;
end;
end;
procedure TfrmBPZDY_LRPM.BPKZKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
BPPrice.SetFocus;
end;
end;
end.