520 lines
12 KiB
ObjectPascal
520 lines
12 KiB
ObjectPascal
unit U_CPAdd;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
|
||
cxEdit, DB, cxDBData, ADODB, DBClient, cxGridLevel, cxGridCustomTableView,
|
||
cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView,
|
||
cxGrid, ComCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, cxTextEdit,
|
||
cxButtonEdit, StdCtrls, ExtCtrls, cxCurrencyEdit, cxDropDownEdit, cxCalendar,
|
||
BtnEdit, RM_Class, RM_System, RM_Dataset, RM_Common, RM_GridReport,
|
||
cxLookAndFeels, cxLookAndFeelPainters, cxContainer, cxMemo;
|
||
|
||
type
|
||
TfrmCPAdd = class(TForm)
|
||
ToolBar1: TToolBar;
|
||
ToolButton1: TToolButton;
|
||
TBClose: TToolButton;
|
||
ADOQueryMain: TADOQuery;
|
||
ADOQueryCmd: TADOQuery;
|
||
ADOQueryTemp: TADOQuery;
|
||
Panel1: TPanel;
|
||
CheckBox1: TCheckBox;
|
||
Panel2: TPanel;
|
||
Label1: TLabel;
|
||
Label2: TLabel;
|
||
Label3: TLabel;
|
||
Label4: TLabel;
|
||
Label5: TLabel;
|
||
Label9: TLabel;
|
||
Label10: TLabel;
|
||
Label11: TLabel;
|
||
Label12: TLabel;
|
||
Label13: TLabel;
|
||
Label18: TLabel;
|
||
Label20: TLabel;
|
||
CYNo: TEdit;
|
||
CYSpec: TEdit;
|
||
CYKZ: TEdit;
|
||
CYHX: TEdit;
|
||
KuWei: TEdit;
|
||
CYName: TEdit;
|
||
CYECF: TEdit;
|
||
CYMF: TEdit;
|
||
CYColor: TEdit;
|
||
CYEColor: TEdit;
|
||
Note: TEdit;
|
||
CYCF: TBtnEditC;
|
||
Label6: TLabel;
|
||
CYPO: TEdit;
|
||
Label7: TLabel;
|
||
Label8: TLabel;
|
||
CYFacNO: TEdit;
|
||
Label14: TLabel;
|
||
Label15: TLabel;
|
||
MGNO: TEdit;
|
||
CYPrice: TEdit;
|
||
Label16: TLabel;
|
||
Qty: TEdit;
|
||
ToolButton2: TToolButton;
|
||
ComboBox1: TComboBox;
|
||
RMDB_Main: TRMDBDataSet;
|
||
ADOQueryPrint: TADOQuery;
|
||
RM1: TRMGridReport;
|
||
CYFacName: TBtnEditC;
|
||
Label21: TLabel;
|
||
Edit1: TEdit;
|
||
Label17: TLabel;
|
||
MSKWYS: TcxMemo;
|
||
Label19: TLabel;
|
||
KHorderno: TEdit;
|
||
Label22: TLabel;
|
||
MMF: TEdit;
|
||
procedure FormShow(Sender: TObject);
|
||
procedure TBCloseClick(Sender: TObject);
|
||
procedure ToolButton1Click(Sender: TObject);
|
||
procedure v1Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
|
||
procedure CheckBox1Click(Sender: TObject);
|
||
procedure v1Column46PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
|
||
procedure CYMFExit(Sender: TObject);
|
||
procedure CYKZExit(Sender: TObject);
|
||
procedure CYCFBtnDnClick(Sender: TObject);
|
||
procedure CYCFBtnUpClick(Sender: TObject);
|
||
procedure CYNoKeyPress(Sender: TObject; var Key: Char);
|
||
procedure ToolButton2Click(Sender: TObject);
|
||
procedure CYECFKeyPress(Sender: TObject; var Key: Char);
|
||
procedure CYFacNameBtnUpClick(Sender: TObject);
|
||
private
|
||
canshu1: string;
|
||
Fint: Integer;
|
||
procedure InitSubGrid();
|
||
function SaveData(): Boolean;
|
||
{ Private declarations }
|
||
public
|
||
FCYID, FCPID: string;
|
||
CopyInt: Integer;
|
||
|
||
{ Public declarations }
|
||
end;
|
||
|
||
var
|
||
frmCPAdd: TfrmCPAdd;
|
||
|
||
implementation
|
||
|
||
uses
|
||
U_DataLink, U_Fun, U_iniParam, U_ZDYHelp, U_ZdyAttachGYS;
|
||
|
||
{$R *.dfm}
|
||
|
||
procedure TfrmCPAdd.InitSubGrid();
|
||
begin
|
||
try
|
||
ADOQueryMain.DisableControls;
|
||
with ADOQueryMain do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add(' select * from CP_YDang where CYID=''' + Trim(FCYID) + ''' ');
|
||
Open;
|
||
end;
|
||
SCSHDataNew(ADOQueryMain, Panel2, 0);
|
||
mskwys.Text := ADOQueryMain.fieldbyname('mskwys').AsString;
|
||
finally
|
||
ADOQueryMain.EnableControls;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmCPAdd.FormShow(Sender: TObject);
|
||
begin
|
||
InitSubGrid();
|
||
if CopyInt = 1 then
|
||
begin
|
||
FCYID := '';
|
||
end;
|
||
|
||
if CheckBox1.Checked = True then
|
||
begin
|
||
canshu1 := 'Ӣ<><D3A2>';
|
||
end
|
||
else
|
||
begin
|
||
canshu1 := '';
|
||
end;
|
||
|
||
if FCYID = '' then
|
||
begin
|
||
ToolButton2.Enabled := False;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmCPAdd.TBCloseClick(Sender: TObject);
|
||
begin
|
||
Close;
|
||
end;
|
||
|
||
function TfrmCPAdd.SaveData(): Boolean;
|
||
var
|
||
maxId: string;
|
||
begin
|
||
try
|
||
ADOQueryCmd.Connection.BeginTrans;
|
||
if Trim(FCYID) = '' then
|
||
begin
|
||
if GetLSNo(ADOQueryCmd, maxId, '', 'CP_YDang', 3, 1) = False then
|
||
begin
|
||
Result := False;
|
||
ADOQueryCmd.Connection.RollbackTrans;
|
||
Application.MessageBox('ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
end
|
||
else
|
||
begin
|
||
maxId := Trim(FCYID);
|
||
end;
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
sql.Add('select * from CP_YDang where CYID=''' + Trim(FCYID) + '''');
|
||
Open;
|
||
end;
|
||
with ADOQueryCmd do
|
||
begin
|
||
if Trim(FCYID) = '' then
|
||
begin
|
||
Append;
|
||
FieldByName('CYType').Value := Trim(FCPID);
|
||
FieldByName('CYID').Value := Trim(maxId);
|
||
FieldByName('Filler').Value := Trim(DName);
|
||
end
|
||
else
|
||
begin
|
||
Edit;
|
||
FieldByName('Editer').Value := Trim(DName);
|
||
FieldByName('EditTime').Value := SGetServerDateTime(ADOQueryTemp);
|
||
end;
|
||
|
||
SSetsavedataNew(ADOQueryCmd, 'CP_YDang', Panel2, 0);
|
||
FieldByName('CYCF').Value := Trim(CYCF.Text);
|
||
FieldByName('CYFacName').Value := Trim(CYFacName.Text);
|
||
FieldByName('MSKWYS').Value := MSKWYS.Text;
|
||
Post;
|
||
end;
|
||
// with ADOQueryTemp do
|
||
// begin
|
||
// Close;
|
||
// sql.Clear;
|
||
// sql.Add(' select count(CYNO) as AA from CP_YDang where CYNo=''' + Trim(CYNo.Text) + ''' and Status=''0'' ');
|
||
//// ShowMessage(SQL.text);
|
||
// Open;
|
||
// if FieldByName('AA').AsInteger > 1 then
|
||
// begin
|
||
// ADOQueryCmd.Connection.RollbackTrans;
|
||
// Result := False;
|
||
// Application.MessageBox('<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>', '<27><>ʾ', 0);
|
||
// Exit;
|
||
// end;
|
||
// end;
|
||
ADOQueryCmd.Connection.CommitTrans;
|
||
FCYID := Trim(maxId);
|
||
Result := True;
|
||
except
|
||
ADOQueryCmd.Connection.RollbackTrans;
|
||
Result := False;
|
||
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmCPAdd.ToolButton1Click(Sender: TObject);
|
||
begin
|
||
if (Trim(CYNo.Text) = '') then
|
||
begin
|
||
Application.MessageBox('<27><>Ʒ<EFBFBD><C6B7><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
// if (Trim(CYName.Text) = '') then
|
||
// begin
|
||
// Application.MessageBox('<27><><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>', '<27><>ʾ', 0);
|
||
// Exit;
|
||
// end;
|
||
ToolBar1.SetFocus;
|
||
if SaveData() then
|
||
begin
|
||
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ', 0);
|
||
// ModalResult := 1;
|
||
ToolButton2.Enabled := True;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmCPAdd.v1Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
|
||
begin
|
||
{ try
|
||
frmZDYHelp:=TfrmZDYHelp.Create(Application);
|
||
with frmZDYHelp do
|
||
begin
|
||
flag:='YPName';
|
||
flagname:='<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>';
|
||
if ShowModal=1 then
|
||
begin
|
||
with CDS_Sub do
|
||
begin
|
||
Edit;
|
||
FieldByName('CYName').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
|
||
end;
|
||
end;
|
||
end;
|
||
finally
|
||
frmZDYHelp.Free;
|
||
end;}
|
||
end;
|
||
|
||
procedure TfrmCPAdd.CheckBox1Click(Sender: TObject);
|
||
begin
|
||
if CheckBox1.Checked = True then
|
||
begin
|
||
canshu1 := 'Ӣ<><D3A2>';
|
||
end
|
||
else
|
||
begin
|
||
canshu1 := '';
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmCPAdd.v1Column46PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
|
||
begin
|
||
{ try
|
||
frmZdyAttachGYS:=TfrmZdyAttachGYS.Create(Application);
|
||
with frmZdyAttachGYS do
|
||
begin
|
||
if ShowModal=1 then
|
||
begin
|
||
with CDS_Sub do
|
||
begin
|
||
Edit;
|
||
FieldByName('defstr19').Value:=Trim(CDS_HZ.fieldbyname('ZdyName').AsString);
|
||
end;
|
||
end;
|
||
end;
|
||
finally
|
||
frmZdyAttachGYS.Free;
|
||
end; }
|
||
end;
|
||
|
||
procedure TfrmCPAdd.CYMFExit(Sender: TObject);
|
||
var
|
||
mvalue: string;
|
||
FReal: Double;
|
||
begin
|
||
mvalue := Trim(TcxTextEdit(Sender).EditingText);
|
||
if (TryStrToFloat(mvalue, FReal)) then
|
||
begin
|
||
if Trim(canshu1) = 'Ӣ<><D3A2>' then
|
||
mvalue := mvalue + '"'
|
||
else
|
||
mvalue := mvalue + 'CM';
|
||
end;
|
||
TEdit(Sender).Text := mvalue;
|
||
end;
|
||
|
||
procedure TfrmCPAdd.CYKZExit(Sender: TObject);
|
||
var
|
||
mvalue: string;
|
||
FReal: Double;
|
||
begin
|
||
mvalue := Trim(TcxTextEdit(Sender).EditingText);
|
||
if (TryStrToFloat(mvalue, FReal)) then
|
||
begin
|
||
mvalue := mvalue + 'GSM';
|
||
end;
|
||
TEdit(Sender).Text := mvalue;
|
||
end;
|
||
|
||
procedure TfrmCPAdd.CYCFBtnDnClick(Sender: TObject);
|
||
begin
|
||
TBtnEditC(Sender).Text := '';
|
||
TBtnEditC(Sender).TxtCode := '';
|
||
CYECF.Text := '';
|
||
end;
|
||
|
||
procedure TfrmCPAdd.CYCFBtnUpClick(Sender: TObject);
|
||
var
|
||
i: Integer;
|
||
FieldName: string;
|
||
begin
|
||
// if Trim(CYNo.Text)='' then
|
||
// begin
|
||
// Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD>ţ<EFBFBD>','<27><>ʾ',0);
|
||
// Exit;
|
||
// end;
|
||
//
|
||
// frmCFAdd:=TfrmCFAdd.Create(Application);
|
||
// with frmCFAdd do
|
||
// begin
|
||
// FCYID:='';
|
||
// FCPID:=Trim(CYNo.Text);
|
||
// Label1.Caption:=trim(CYNo.Text);
|
||
// if ShowModal=1 then
|
||
// begin
|
||
// with ADOQueryTemp do
|
||
// begin
|
||
// Close;
|
||
// SQL.Clear;
|
||
// sql.add('exec P_Get_CF :mainid') ;
|
||
// Parameters.ParamByName('mainid').Value:=CYNo.Text;
|
||
// Open;
|
||
// end;
|
||
// CYCF.Text:=ADOQueryTemp.fieldbyname('CF').AsString;
|
||
// CYECF.Text:=ADOQueryTemp.fieldbyname('ECF').AsString;
|
||
// end;
|
||
// end;
|
||
|
||
|
||
end;
|
||
|
||
procedure TfrmCPAdd.CYNoKeyPress(Sender: TObject; var Key: Char);
|
||
begin
|
||
if Key = #13 then
|
||
begin
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
sql.add('select * from CP_YDang where CYNO =''' + cyno.Text + '''');
|
||
Open;
|
||
end;
|
||
|
||
if ADOQueryTemp.IsEmpty then
|
||
begin
|
||
end
|
||
else
|
||
begin
|
||
Application.MessageBox('<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
|
||
Key := #0;
|
||
SelectNext(ActiveControl as TWinControl, True, True);
|
||
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmCPAdd.ToolButton2Click(Sender: TObject);
|
||
var
|
||
fPrintFile, FFCYID: string;
|
||
DPS, i, j: Integer;
|
||
Txt, fImagePath: string;
|
||
Moudle: THandle;
|
||
Makebar: TMakebar;
|
||
Mixtext: TMixtext;
|
||
begin
|
||
CYNo.SetFocus;
|
||
if FCYID = '' then
|
||
Exit;
|
||
|
||
if trim(ComboBox1.Text) = '' then
|
||
begin
|
||
Application.MessageBox('<27><>Ʒ<EFBFBD><C6B7>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
|
||
exit;
|
||
end;
|
||
|
||
if Trim(Edit1.Text) <> '' then
|
||
begin
|
||
if TryStrToInt(Edit1.Text, i) = False then
|
||
begin
|
||
Application.MessageBox('<27><><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
|
||
exit;
|
||
end;
|
||
end;
|
||
|
||
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + trim(ComboBox1.Text) + '.rmf';
|
||
|
||
DPS := 0;
|
||
FFCYID := '';
|
||
i := 1;
|
||
if Trim(Edit1.Text) = '' then
|
||
begin
|
||
j := 1;
|
||
end
|
||
else
|
||
begin
|
||
j := StrToInt(Edit1.Text);
|
||
end;
|
||
|
||
try
|
||
Moudle := LoadLibrary('MakeQRBarcode.dll');
|
||
@Makebar := GetProcAddress(Moudle, 'Make');
|
||
@Mixtext := GetProcAddress(Moudle, 'MixText');
|
||
Txt := Trim(FCYID);
|
||
fImagePath := ExtractFilePath(Application.ExeName) + 'image\temp.bmp';
|
||
if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then
|
||
CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil);
|
||
if FileExists(fImagePath) then
|
||
DeleteFile(fImagePath);
|
||
Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3);
|
||
except
|
||
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
|
||
exit;
|
||
end;
|
||
RMVariables['QRBARCODE'] := fImagePath;
|
||
|
||
with ADOQueryPrint do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select * from CP_YDang where CYID=''' + trim(FCYID) + ''' ');
|
||
open;
|
||
end;
|
||
|
||
for i := 1 to j do
|
||
begin
|
||
if FileExists(fPrintFile) then
|
||
begin
|
||
RM1.LoadFromFile(fPrintFile);
|
||
RM1.PrintReport;
|
||
// RM1.ShowReport;
|
||
end
|
||
else
|
||
begin
|
||
Application.MessageBox(PChar('û<><C3BB><EFBFBD><EFBFBD>' + ExtractFilePath(Application.ExeName) + 'Report\<5C><>Ʒ<EFBFBD><C6B7>ǩ.rmf'), '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
end;
|
||
|
||
end;
|
||
|
||
procedure TfrmCPAdd.CYECFKeyPress(Sender: TObject; var Key: Char);
|
||
begin
|
||
if Key = #13 then
|
||
begin
|
||
Key := #0;
|
||
SelectNext(ActiveControl as TWinControl, True, True);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmCPAdd.CYFacNameBtnUpClick(Sender: TObject);
|
||
begin
|
||
try
|
||
frmZdyAttachGYS := TfrmZdyAttachGYS.Create(Application);
|
||
with frmZdyAttachGYS do
|
||
begin
|
||
if self.canshu1 <> '<27><>Ȩ<EFBFBD><C8A8>' then
|
||
canshu1 := 'ҵ<><D2B5>Ա';
|
||
FZSD := '1';
|
||
if ShowModal = 1 then
|
||
begin
|
||
CYFacName.Text := Trim(CDS_HZ.fieldbyname('ZDYName').AsString);
|
||
// JGFactoryName.TxtCode := Trim(CDS_HZ.fieldbyname('ZDYCode').AsString);
|
||
end;
|
||
end;
|
||
finally
|
||
frmZdyAttachGYS.Free;
|
||
end;
|
||
end;
|
||
|
||
end.
|
||
|