D7YPbaoying/样品仓库/U_ZdyAttachmentBJ_Edit.pas
DESKTOP-E401PHE\Administrator e505f1d7a5 ~
2025-04-30 16:02:03 +08:00

568 lines
16 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_ZdyAttachmentBJ_Edit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, cxPC, cxControls, ComCtrls, ToolWin, StdCtrls, Menus,
cxTextEdit, cxCurrencyEdit, BtnEdit, cxContainer, cxEdit, cxImage, DB,
ADODB, cxDBEdit, cxLookAndFeelPainters, cxButtons, IdBaseComponent,
IdComponent, IdTCPConnection, IdTCPClient, IdFTP,ShellAPI, cxStyles,
cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxDBData,
cxGridLevel, cxClasses, cxGridCustomView, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxGrid, DBClient, cxButtonEdit,
cxGridCustomPopupMenu, cxGridPopupMenu, cxDropDownEdit, cxLookAndFeels,
cxNavigator;
type
TfrmZdyAttachmentBJ_Edit = class(TForm)
ToolBar1: TToolBar;
Tsave: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label6: TLabel;
custName: TEdit;
Label17: TLabel;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
ADOQueryCmd: TADOQuery;
ADOQueryTmp: TADOQuery;
ADOQuerymain: TADOQuery;
Label12: TLabel;
Label39: TLabel;
FromPlace: TEdit;
custphone: TEdit;
Label4: TLabel;
Label5: TLabel;
note: TMemo;
Label7: TLabel;
priceNote: TComboBox;
Panel2: TPanel;
Panel3: TPanel;
ToolBar2: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
TV1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
CDS1: TClientDataSet;
Label9: TLabel;
DS1: TDataSource;
CRTime: TDateTimePicker;
DlyDate: TDateTimePicker;
V1Column1: TcxGridDBColumn;
V1Column2: TcxGridDBColumn;
V1Column3: TcxGridDBColumn;
V1Column4: TcxGridDBColumn;
Label8: TLabel;
Priceunit: TComboBox;
custNo: TBtnEditA;
cxGridPopupMenu1: TcxGridPopupMenu;
huilv: TcxCurrencyEdit;
V1Column8: TcxGridDBColumn;
ToPlace: TEdit;
Label11: TLabel;
Label13: TLabel;
custCountry: TBtnEditA;
V1Column7: TcxGridDBColumn;
V1Column9: TcxGridDBColumn;
V1Column10: TcxGridDBColumn;
V1Column15: TcxGridDBColumn;
CYID: TEdit;
V1Column5: TcxGridDBColumn;
V1Column6: TcxGridDBColumn;
V1Column11: TcxGridDBColumn;
TV1Column1: TcxGridDBColumn;
TV1Column2: TcxGridDBColumn;
TV1Column3: TcxGridDBColumn;
TV1Column4: TcxGridDBColumn;
TV1Column5: TcxGridDBColumn;
TV1Column6: TcxGridDBColumn;
TV1Column7: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure TsaveClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure cxDBImage1DblClick(Sender: TObject);
procedure FileNameClick(Sender: TObject);
procedure MTypeBtnDnClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure custNoBtnClick(Sender: TObject);
procedure PriceunitChange(Sender: TObject);
procedure V1Column8PropertiesEditValueChanged(Sender: TObject);
procedure huilvPropertiesEditValueChanged(Sender: TObject);
procedure custCountryBtnClick(Sender: TObject);
procedure CYIDKeyPress(Sender: TObject; var Key: Char);
private
function savedata():Boolean;
procedure InitGrid();
procedure InitImage();
{ Private declarations }
public
fkeyNo:string;
FType:integer;
canshu1:string;
{ Public declarations }
end;
var
frmZdyAttachmentBJ_Edit: TfrmZdyAttachmentBJ_Edit;
implementation
uses
U_DataLink,U_Fun10, U_ZDYHelp, U_CPManageSel, U_ZdyAttachment;
{$R *.dfm}
function TfrmZdyAttachmentBJ_Edit.savedata():Boolean;
var
Filler,fmxType:string;
FillTime:TdateTime;
begin
result:=false;
ADOQueryCmd.Connection.BeginTrans;
try
IF FType=0 then
begin
fmxType:='BJ'+uppercase(formatdateTime('yyyyMMdd',DServerDate));
if GetLSNo(ADOQueryTmp,fkeyNo,fmxType,'KH_CP_BJ',3,0)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
Filler:=DName;
FillTime:=SGetServerDateTime(adoqueryTmp);
end
else
begin
with ADOQueryTmp do
begin
Close;
SQL.Clear;
sql.Add('select * from KH_CP_BJ where BJNO='''+Trim(fkeyNo)+'''');
Open;
end;
Filler:=adoqueryTmp.fieldbyname('Filler').AsString;
FillTime:=adoqueryTmp.fieldbyname('FillTime').AsDateTime;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('delete from KH_CP_BJ where BJNO='''+Trim(fkeyNo)+'''');
execsql;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from KH_CP_BJ where BJNO='''+Trim(fkeyNo)+'''');
Open;
end;
with cds1 do
begin
DisableControls;
First;
while not eof do
begin
ADOQueryCmd.Append;
SSetsaveSqlNew(ADOQueryCmd,'KH_CP_BJ',GroupBox1,2);
RTSetSaveDataCDS(ADOQueryCmd,Tv1,cds1,'KH_CP_BJ',0);
ADOQueryCmd.FieldByName('BJNO').Value:=trim(fkeyNO);
ADOQueryCmd.FieldByName('BJID').Value:=recNo;
ADOQueryCmd.FieldByName('Filler').Value:=Trim(Filler);
ADOQueryCmd.FieldByName('FillTime').Value:=FillTime;
ADOQueryCmd.FieldByName('CRTime').Value:=formatdateTime('yyyy-MM-dd',CRTime.DateTime);
ADOQueryCmd.FieldByName('DlyDate').Value:=formatdateTime('yyyy-MM-dd',DlyDate.DateTime);
ADOQueryCmd.FieldByName('FillTime').Value:=FillTime;
ADOQueryCmd.FieldByName('Qty').Value:=cds1.fieldbyname('Qty').AsFloat;
ADOQueryCmd.FieldByName('price').Value:=cds1.fieldbyname('price').AsFloat;
ADOQueryCmd.FieldByName('price1').Value:=cds1.fieldbyname('price1').AsFloat;
ADOQueryCmd.FieldByName('price2').Value:=cds1.fieldbyname('price2').AsFloat;
ADOQueryCmd.FieldByName('price3').Value:=cds1.fieldbyname('price3').AsFloat;
ADOQueryCmd.FieldByName('BJQty1').Value:=cds1.fieldbyname('BJQty1').AsFloat;
if FType=1 then
begin
ADOQueryCmd.FieldByName('editer').Value:=trim(dName);
ADOQueryCmd.FieldByName('editTime').Value:=SGetServerDateTime(adoqueryTmp);
end;
ADOQueryCmd.Post;
next;
end;
EnableControls;
end;
result:=true;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
end;
end;
procedure TfrmZdyAttachmentBJ_Edit.InitGrid();
begin
with ADOQueryMain do
begin
close;
sql.Clear;
sql.Add('select A.* from KH_CP_BJ A');
sql.Add('where BJNO='+quotedstr(trim(fkeyNo)));
open;
end;
IF not ADOQueryMain.IsEmpty then
begin
SCSHDataNew(ADOQueryMain,GroupBox1,2);
end;
SCreateCDS20(ADOQueryMain,CDS1);
SInitCDSData20(ADOQueryMain,CDS1);
IF fType=2 then
begin
fType:=0;
fkeyNo:='';
end;
end;
procedure TfrmZdyAttachmentBJ_Edit.InitImage();
begin
{ with ADOQueryImage do
begin
close;
sql.Clear;
sql.Add('select * from TP_File A');
sql.Add('where TFid='+quotedstr(trim(zdyCode.Text)));
open;
end; }
end;
procedure TfrmZdyAttachmentBJ_Edit.FormDestroy(Sender: TObject);
begin
frmZdyAttachmentBJ_Edit:=nil;
end;
procedure TfrmZdyAttachmentBJ_Edit.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(self.Caption+'1',Tv1);
close;
end;
procedure TfrmZdyAttachmentBJ_Edit.FormCreate(Sender: TObject);
begin
Panel1.Align:=alclient;
clearControl(GroupBox1,2);
huilv.Text:='1';
end;
procedure TfrmZdyAttachmentBJ_Edit.TsaveClick(Sender: TObject);
begin
// zdyName.SetFocus;
cxgrid1.SetFocus;
if cds1.IsEmpty then exit;
IF trim(custName.Text)='' then
begin
application.MessageBox('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',MB_ICONERROR);
exit;
end;
try
IF not savedata() then
begin
application.MessageBox('<27><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',MB_ICONERROR);
end
else
begin
application.MessageBox('<27><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ');
self.ModalResult:=1;
end;
except
end;
end;
procedure TfrmZdyAttachmentBJ_Edit.FormShow(Sender: TObject);
begin
readCxGrid(self.Caption+'1',Tv1);
InitGrid();
end;
procedure TfrmZdyAttachmentBJ_Edit.cxDBImage1DblClick(Sender: TObject);
var
sFieldName:string;
fileName:string;
begin
{
IF TcxDBImage(Sender).Picture.Height=0 then exit;
sFieldName:='D:\ͼƬ<CDBC>鿴';
if not DirectoryExists(pchar(sFieldName)) then
CreateDirectory(pchar(sFieldName),nil);
fileName:=adoqueryImage.fieldbyname(TcxDBImage(Sender).Hint).asstring;
sFieldName:=sFieldName+'\'+trim(fileName);
try
IdFTP1.Host := PicSvr;
IdFTP1.Username := 'three';
IdFTP1.Password := '641010';
IdFTP1.Connect();
except
;
end;
if IdFTP1.Connected then
begin
try
IdFTP1.Get('TP\'+ Trim(fileName), sFieldName,false, true);
except
Application.MessageBox('<27>ͻ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', MB_ICONWARNING);
IdFTP1.Quit;
Exit;
end;
end
else
begin
Application.MessageBox('<27>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', MB_ICONWARNING);
IdFTP1.Quit;
Exit;
end;
if IdFTP1.Connected then IdFTP1.Quit;
ShellExecute(Handle, 'open',PChar(sFieldName),'', '', SW_SHOWNORMAL); }
end;
procedure TfrmZdyAttachmentBJ_Edit.FileNameClick(Sender: TObject);
begin
{IF trim(custNo.Text)='' then
begin
application.MessageBox('<27><>Ʒ<EFBFBD><C6B7><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',MB_ICONERROR);
exit;
end;
try
FormGetPic := TFormGetPic.Create(Application);
with FormGetPic do
begin
fkeyNO:=trim(zdyCode.Text);
pat1:=TCXbutton(Sender).Name;
pic1:=TCXbutton(Sender).Hint;
FTFType:='<27><>Ʒ';
// pat1:='PatFile1';
// pic1:='Picture1';
IF ShowModal = 1 then
begin
// self.Timage(Tbutton(Sender).Hint).Picture.Assign(FormGetPic.Image2.Picture.Bitmap);
zdycode.Enabled:=false;
end;
Release;
end;
Initimage();
except
if FormGetPic<>nil then FormGetPic.Release;
end;}
end;
procedure TfrmZdyAttachmentBJ_Edit.MTypeBtnDnClick(Sender: TObject);
begin
TBtnEditC(Sender).Text:='';
TBtnEditC(Sender).TxtCode:='';
end;
procedure TfrmZdyAttachmentBJ_Edit.ToolButton2Click(Sender: TObject);
begin
IF CDS1.IsEmpty then exit;
CDS1.Delete;
end;
procedure TfrmZdyAttachmentBJ_Edit.ToolButton1Click(Sender: TObject);
begin
frmCPManageSel:=TfrmCPManageSel.create(self);
with frmCPManageSel do
begin
IF showmodal=1 then
begin
cds_main.DisableControls;
cds_main.first;
while not cds_main.Eof do
begin
if cds_main.FieldByName('ssel').AsBoolean then
begin
cds1.append;
cds1.FieldByName('P_Code').Value:=trim(cds_main.fieldbyname('CYNo').AsString);
cds1.FieldByName('P_CodeName').Value:=trim(cds_main.fieldbyname('CYName').AsString);
cds1.FieldByName('P_CodeNameE').Value:=trim(cds_main.fieldbyname('CYEName').AsString);
cds1.FieldByName('P_spec').Value:=trim(cds_main.fieldbyname('CYSpec').AsString);
cds1.FieldByName('P_cf').Value:=trim(cds_main.fieldbyname('CYECF').AsString);
cds1.FieldByName('P_MF').Value:=trim(cds_main.fieldbyname('CYMF').AsString);
cds1.FieldByName('P_KZ').Value:=trim(cds_main.fieldbyname('CYKZ').AsString);
cds1.FieldByName('BJstr7').Value:=trim(cds_main.fieldbyname('defstr14').AsString);
cds1.FieldByName('Finish').Value:=trim(cds_main.fieldbyname('Finish').AsString);
cds1.FieldByName('Price').Value:=cds_main.fieldbyname('Price6').AsFloat;
cds1.FieldByName('BJQty1').Value:=cds_main.fieldbyname('kcQty').AsFloat;
cds1.Post;
end;
cds_main.next;
end;
cds_main.EnableControls;
end;
free;
end;
tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmZdyAttachmentBJ_Edit.custNoBtnClick(Sender: TObject);
begin
// frmZdyAttachment:=TfrmZdyAttachment.create(self);
// with frmZdyAttachment do
// begin
// if canshu1='ҵ<><D2B5>Ա' then fywy:=DName;
// if showmodal=1 then
// begin
// custNo.Text:=trim(cds_hz.fieldbyname('zdyCode').AsString);
// custName.Text:=trim(cds_hz.fieldbyname('zdyName').AsString);
// custCountry.Text:=trim(cds_hz.fieldbyname('DEFStr7').AsString);
// custphone.Text:=trim(cds_hz.fieldbyname('DEFstr1').AsString);
// end;
// free;
// end;
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='custno';
flagname:='<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>';
if ShowModal=1 then
begin
custno.Text:=Trim(ClientDataSet1.fieldbyname('zdyName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmZdyAttachmentBJ_Edit.PriceunitChange(Sender: TObject);
begin
IF trim(huilv.Text)='' then
begin
huilv.Text:='1';
end;
end;
procedure TfrmZdyAttachmentBJ_Edit.V1Column8PropertiesEditValueChanged(
Sender: TObject);
var
mvalue,FFieldName:string;
begin
{ mvalue:=TcxTextEdit(Sender).EditingText;
if Trim(mvalue)='' then
begin
mvalue:='0';
end;
FFieldName:=Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDS1 do
begin
Edit;
FieldByName(FFieldName).Value:=Trim(mvalue);
FieldByName('Price').Value:=format('%.2f',[fieldbyname('Price1').AsFloat * strtofloatdef(trim(huilv.Text),1)]);
Post;
end;
tv1.Controller.EditingController.ShowEdit();}
end;
procedure TfrmZdyAttachmentBJ_Edit.huilvPropertiesEditValueChanged(
Sender: TObject);
var
mvalue,FFieldName:string;
begin
mvalue:=TcxCurrencyEdit(Sender).EditingText;
if Trim(mvalue)='' then
begin
mvalue:='1';
end;
huilv.Text:= mvalue;
IF not cds1.Active then exit;
IF cds1.IsEmpty then exit;
with cds1 do
begin
DisableControls;
first;
while not eof do
begin
Edit;
FieldByName('Price').Value:=format('%.2f',[fieldbyname('Price1').AsFloat * strtofloatdef(trim(huilv.Text),1)]);
Post;
next;
end;
EnableControls;
end;
tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmZdyAttachmentBJ_Edit.custCountryBtnClick(Sender: TObject);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='custCountry';
flagname:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
if ShowModal=1 then
begin
custCountry.Text:=Trim(ClientDataSet1.fieldbyname('zdyName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmZdyAttachmentBJ_Edit.CYIDKeyPress(Sender: TObject;
var Key: Char);
begin
IF key=#13 then
begin
with ADOQueryTmp do
begin
close;
sql.Clear;
sql.Add('select * from CP_YDang where CYID='''+trim(CYID.Text)+''' ');
open;
end;
IF not ADOQueryTmp.IsEmpty then
begin
cds1.append;
cds1.FieldByName('P_Code').Value:=trim(ADOQueryTmp.fieldbyname('CYNo').AsString);
cds1.FieldByName('P_CodeName').Value:=trim(ADOQueryTmp.fieldbyname('CYName').AsString);
cds1.FieldByName('P_CodeNameE').Value:=trim(ADOQueryTmp.fieldbyname('CYEName').AsString);
cds1.FieldByName('P_spec').Value:=trim(ADOQueryTmp.fieldbyname('CYSpec').AsString);
cds1.FieldByName('P_cf').Value:=trim(ADOQueryTmp.fieldbyname('CYCF').AsString);
cds1.FieldByName('P_MF').Value:=trim(ADOQueryTmp.fieldbyname('CYMF').AsString);
cds1.FieldByName('P_KZ').Value:=trim(ADOQueryTmp.fieldbyname('CYKZ').AsString);
cds1.FieldByName('BJstr7').Value:=trim(ADOQueryTmp.fieldbyname('defstr14').AsString);
cds1.FieldByName('Price').Value:=ADOQueryTmp.fieldbyname('Price6').AsFloat;
// cds1.FieldByName('BJQty1').Value:=ADOQueryTmp.fieldbyname('kcQty').AsFloat;
cds1.Post;
CYID.Text:='';
end
else
begin
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',MB_ICONERROR);
CYID.Text:='';
end;
end;
end;
end.