D7myYunxiang/生产计划单(DyeingFinishingPlan.dll)/U_MCP.pas
DESKTOP-E401PHE\Administrator 1011cb7292 1
2025-01-20 13:04:03 +08:00

863 lines
24 KiB
ObjectPascal
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit U_MCP;
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
TfrmMCP = 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;
ToolButton1: TToolButton;
Panel7: TPanel;
cxDBTreeList1: TcxDBTreeList;
cxDBTreeList1cxDBTreeListColumn2: TcxDBTreeListColumn;
ToolBar3: TToolBar;
cxGridPopupMenu1: TcxGridPopupMenu;
cxGridPopupMenu2: TcxGridPopupMenu;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
cxStyleRepository2: TcxStyleRepository;
cxStyle2: TcxStyle;
BPMF: TEdit;
BPKZ: TEdit;
MXCode: TEdit;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
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;
TV1Column1: TcxGridDBColumn;
Label5: TLabel;
PMHH: TEdit;
Label10: TLabel;
GYSName: TBtnEditC;
TV1Column2: TcxGridDBColumn;
TV1Column3: TcxGridDBColumn;
BPNameM: TComboBox;
ADOQuery1: TADOQuery;
ADOQuery4: TADOQuery;
ADOQuery5: TADOQuery;
IsKC: TCheckBox;
TV1Column4: TcxGridDBColumn;
TV1Column5: TcxGridDBColumn;
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 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 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 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);
procedure TBCopyClick(Sender: TObject);
procedure GYSNameBtnDnClick(Sender: TObject);
procedure TV1DblClick(Sender: TObject);
procedure IsKCClick(Sender: TObject);
private
FBPID, FCPID, FCPNo, FCPName, FGCName: 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, isCopy, sfprice: integer;
{ Public declarations }
end;
var
frmMCP: TfrmMCP;
implementation
uses
U_DataLink, U_Fun10, U_GYSList, U_BPZDY_LRM;
{$R *.dfm}
procedure TfrmMCP.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 M_Tree order by CPlevel,XHInt,CPOrder,CPName');
Open;
end;
SCreateCDS20(ADOQueryTree, Order_Tree);
SInitCDSData20(ADOQueryTree, Order_Tree);
cxDBTreeList1.Items[0].Expand(true);
end;
procedure TfrmMCP.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 TfrmMCP.FormCreate(Sender: TObject);
begin
try
//cxGrid1.Align:=alClient;
with ADOConnection1 do
begin
Connected := false;
ConnectionString := DConString;
//ConnectionString:='';
Connected := true;
end;
except
frmMCP.Free;
end;
canshu1 := Trim(DParameters1);
end;
procedure TfrmMCP.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ToolBar1.SetFocus;
Action := caFree;
end;
procedure TfrmMCP.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
sql.Clear;
sql.Add(' exec P_Select_M2 :Code,:PState,:CYType,:Stats ');
Parameters.ParamByName('Code').Value := '';
Parameters.ParamByName('PState').Value := 0;
Parameters.ParamByName('CYType').Value := Trim(Order_Tree.fieldbyname('CPID').AsString);
if IsKC.Checked then
begin
Parameters.ParamByName('Stats').Value := '1';
end
else
begin
Parameters.ParamByName('Stats').Value := '';
end;
Open;
end;
SCreateCDS20(ADOQueryMain, ClientDataSet1);
SInitCDSData20(ADOQueryMain, ClientDataSet1);
finally
ADOQueryMain.EnableControls;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select distinct(BPName) AS name from M_ZDY where CPID not like ''%CP%'' ');
Open;
end;
BPNameM.Items.Clear; //<2F><><EFBFBD><EFBFBD>
BPNameM.Items.Add(Trim(''));
while not ADOQueryCmd.eof do
begin
BPNameM.Items.Add(ADOQueryCmd.fieldbyname('name').AsString);
ADOQueryCmd.next;
end;
end;
procedure TfrmMCP.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><>'; //trim(FCPName);
MXName.Text := trim(FCPName);
FBPID := '';
MXCode.SetFocus;
Button1.Caption := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
end;
end;
procedure TfrmMCP.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 TfrmMCP.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 TfrmMCP.TBCloseClick(Sender: TObject);
begin
panel1.SetFocus;
WriteCxGrid('<27>Զ<EFBFBD><D4B6><EFBFBD>' + Trim(flag) + '1YX111', TV1, '<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmMCP.FormShow(Sender: TObject);
begin
initTree();
InitGrid();
ReadCxGrid('<27>Զ<EFBFBD><D4B6><EFBFBD>' + Trim(flag) + '1YX111', TV1, '<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
frmMCP.Caption := Trim(flagname);
V1BPPrice.Visible := False;
end;
procedure TfrmMCP.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 TfrmMCP.v1note1PropertiesEditValueChanged(Sender: TObject);
var
mvalue: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
with ClientDataSet1 do
begin
Edit;
FieldByName('BPMiDu').Value := mvalue;
Post;
end;
end;
procedure TfrmMCP.V1BPCodePropertiesEditValueChanged(Sender: TObject);
var
mvalue: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
with ClientDataSet1 do
begin
Edit;
FieldByName('BPCode').Value := mvalue;
end;
end;
procedure TfrmMCP.V1BPNamePropertiesEditValueChanged(Sender: TObject);
var
mvalue: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
with ClientDataSet1 do
begin
Edit;
FieldByName('BPName').Value := mvalue;
end;
end;
procedure TfrmMCP.ToolButton4Click(Sender: TObject);
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><DCB5><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end
else
begin
try
frmMCP := TfrmMCP.Create(Application);
with frmMCP do
begin
TV1Column3.Visible := True;
ToolButton1.Visible := True;
frmMCP.isCopy := 1;
if Self.Caption = '<27><>Ʒ<EFBFBD><C6B7>(<28><>Ȩ<EFBFBD><C8A8>)*' then
begin
sfPrice := 0;
end;
if Self.Caption = '<27><>Ʒ<EFBFBD><C6B7>(<28><>Ȩ<EFBFBD><C8A8>)*' then
begin
sfPrice := 1;
end;
if ShowModal = 1 then
begin
with frmMCP.ClientDataSet1 do
begin
First;
while not Eof do
begin
if Fieldbyname('ssel').AsBoolean then
begin
with ADOQuery3 do
begin
Close;
SQL.Clear;
SQL.Add('exec P_MCopy ');
sql.Add('@BPID=' + quotedstr(Trim(frmMCP.ClientDataSet1.fieldbyname('BPID').AsString)));
sql.Add(',@CPID=' + quotedstr(Trim(Self.FCPID)));
sql.Add(',@CPNo=' + quotedstr(Trim(Self.FCPNo)));
sql.Add(',@CPName=' + quotedstr(Trim(Self.FCPName)));
// ShowMessage(sql.text); ToolButton3
ExecSQL;
end;
end;
Next;
end;
end;
self.InitGrid();
end;
end;
finally
frmMCP.Free;
end;
end;
// 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 TfrmMCP.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 TfrmMCP.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 TfrmMCP.ToolButton1Click(Sender: TObject);
begin
ModalResult := 1;
end;
procedure TfrmMCP.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.FieldByName('PMHH').Value := trim(PMHH.Text);
ADOQueryCmd.FieldByName('GYSName').Value := trim(GYSName.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);
FieldByName('PMHH').Value := Trim(PMHH.Text);
FieldByName('GYSName').Value := Trim(GYSName.Text);
post;
end;
MXCode.Text := '';
MXName.Text := '';
BPMF.Text := '';
BPKZ.Text := '';
PMHH.Text := '';
GYSName.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 TfrmMCP.cxDBTreeList1Click(Sender: TObject);
begin
InitGrid();
Panel5.Visible := False;
if Order_Tree.FieldByName('CPLevel').AsInteger <> 3 then
begin
end
else
begin
FBPID := '';
FCPID := Trim(Order_Tree.fieldbyname('CPID').AsString);
FCPNo := Trim(Order_Tree.fieldbyname('CPNo').AsString);
FCPName := Trim(Order_Tree.fieldbyname('DefStr1').AsString);
FGCName := Trim(Order_Tree.fieldbyname('CPName').AsString);
end;
Label16.Caption := Trim(Order_Tree.fieldbyname('CPNo').AsString);
end;
procedure TfrmMCP.MXCodeKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
MXName.SetFocus;
end;
end;
procedure TfrmMCP.MXNameKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
BPMF.SetFocus;
end;
end;
procedure TfrmMCP.FormDestroy(Sender: TObject);
begin
frmMCP := nil;
end;
procedure TfrmMCP.BPPriceKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
BPNote.SetFocus;
end;
end;
procedure TfrmMCP.BPNoteKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
Button1.SetFocus;
end;
end;
procedure TfrmMCP.BPMFKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
BPKZ.SetFocus;
end;
end;
procedure TfrmMCP.BPKZKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
BPPrice.SetFocus;
end;
end;
procedure TfrmMCP.TBCopyClick(Sender: TObject);
begin
Panel5.Visible := True;
SClearData(Panel5, 2);
BPMF.Text := Trim(ClientDataSet1.fieldbyname('BPMF').AsString);
BPPrice.Text := Trim(ClientDataSet1.fieldbyname('BPPrice').AsString);
BPCF.Text := Trim(ClientDataSet1.fieldbyname('BPCF').AsString);
BPNote.Text := Trim(ClientDataSet1.fieldbyname('BPNote').AsString);
PMHH.Text := Trim(ClientDataSet1.fieldbyname('PMHH').AsString);
GYSName.Text := Trim(ClientDataSet1.fieldbyname('GYSName').AsString);
// MXName.Text := '<27><>';
MXName.Text := trim(FCPName);
FBPID := '';
MXCode.SetFocus;
Button1.Caption := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
end;
procedure TfrmMCP.GYSNameBtnDnClick(Sender: TObject);
begin
TBtnEditC(Sender).Text := '';
TBtnEditC(Sender).TxtCode := '';
end;
procedure TfrmMCP.TV1DblClick(Sender: TObject);
begin
ModalResult := 1;
end;
procedure TfrmMCP.IsKCClick(Sender: TObject);
begin
InitGrid();
end;
end.