900 lines
24 KiB
ObjectPascal
900 lines
24 KiB
ObjectPascal
unit U_SDMANAGEINPUT;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, ComCtrls, ToolWin, DB, ADODB, cxControls, cxContainer, cxEdit,
|
||
cxTextEdit, cxCurrencyEdit, BtnEdit, StdCtrls, ExtCtrls, cxStyles,
|
||
cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxDBData,
|
||
cxButtonEdit, cxGridLevel, cxGridCustomTableView, cxGridTableView,
|
||
cxGridDBTableView, cxClasses, cxGridCustomView, cxGrid, cxGridCustomPopupMenu,
|
||
cxGridPopupMenu, DBClient, cxDropDownEdit, Menus, cxLookAndFeelPainters,
|
||
strUtils, cxButtons, cxImage, cxDBEdit, IdBaseComponent, IdComponent,
|
||
IdTCPConnection, IdTCPClient, ShellAPI, IdFTP, cxLookAndFeels, cxNavigator;
|
||
|
||
type
|
||
TfrmSDMANAGEINPUT = class(TForm)
|
||
ToolBar1: TToolBar;
|
||
TSAVE: TToolButton;
|
||
Tclose: TToolButton;
|
||
ADOQueryTMP: TADOQuery;
|
||
ADOQueryCMD: TADOQuery;
|
||
cxStyleRepository1: TcxStyleRepository;
|
||
cxStyle1: TcxStyle;
|
||
cxGridPopupMenu2: TcxGridPopupMenu;
|
||
CDS_HZ: TClientDataSet;
|
||
ADOQueryMain: TADOQuery;
|
||
DS_HZ: TDataSource;
|
||
ADOQueryImage: TADOQuery;
|
||
DataSource1: TDataSource;
|
||
Panel1: TPanel;
|
||
Label1: TLabel;
|
||
Label3: TLabel;
|
||
Label5: TLabel;
|
||
Label6: TLabel;
|
||
Label9: TLabel;
|
||
Label2: TLabel;
|
||
Label10: TLabel;
|
||
Label12: TLabel;
|
||
Label17: TLabel;
|
||
Label13: TLabel;
|
||
Label14: TLabel;
|
||
ZWBFY: TEdit;
|
||
ZSKP: TEdit;
|
||
ZYJ: TEdit;
|
||
ZGNKF: TEdit;
|
||
ZQITA: TEdit;
|
||
CRTime: TDateTimePicker;
|
||
SDNO: TEdit;
|
||
money: TEdit;
|
||
BZType: TComboBox;
|
||
factoryName: TBtnEditA;
|
||
Label7: TLabel;
|
||
Note: TMemo;
|
||
ToolBar2: TToolBar;
|
||
ToolButton2: TToolButton;
|
||
ToolButton3: TToolButton;
|
||
cxGrid1: TcxGrid;
|
||
Tv1: TcxGridDBTableView;
|
||
v1Column13: TcxGridDBColumn;
|
||
v1Column5: TcxGridDBColumn;
|
||
v1Column20: TcxGridDBColumn;
|
||
v1Column14: TcxGridDBColumn;
|
||
Tv1Column1: TcxGridDBColumn;
|
||
Tv1Column2: TcxGridDBColumn;
|
||
v1YSKeZhong: TcxGridDBColumn;
|
||
cxGrid1Level1: TcxGridLevel;
|
||
wxfpno: TEdit;
|
||
Tv1Column3: TcxGridDBColumn;
|
||
ToolButton1: TToolButton;
|
||
Label4: TLabel;
|
||
DZMONEY: TEdit;
|
||
Tv1Column4: TcxGridDBColumn;
|
||
Tv1Column5: TcxGridDBColumn;
|
||
Tv1Column6: TcxGridDBColumn;
|
||
Tv1Column7: TcxGridDBColumn;
|
||
Tv1Column8: TcxGridDBColumn;
|
||
Label8: TLabel;
|
||
ToolButton4: TToolButton;
|
||
Tv1Column9: TcxGridDBColumn;
|
||
ToolButton5: TToolButton;
|
||
ADOQuery1: TADOQuery;
|
||
Tv1Column10: TcxGridDBColumn;
|
||
ToolButton6: TToolButton;
|
||
Label11: TLabel;
|
||
TZmoney: TEdit;
|
||
Tv1Column11: TcxGridDBColumn;
|
||
procedure TcloseClick(Sender: TObject);
|
||
procedure TSAVEClick(Sender: TObject);
|
||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||
procedure FormDestroy(Sender: TObject);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure QtyKeyPress(Sender: TObject; var Key: Char);
|
||
procedure factoryNameBtnClick(Sender: TObject);
|
||
procedure WXFPNOBtnClick(Sender: TObject);
|
||
procedure WXFPNOBtnUpClick(Sender: TObject);
|
||
procedure WXFPNOBtnDnClick(Sender: TObject);
|
||
procedure ToolButton2Click(Sender: TObject);
|
||
procedure v1Column13PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
|
||
procedure Tv1Column1PropertiesChange(Sender: TObject);
|
||
procedure Tv1Column1PropertiesEditValueChanged(Sender: TObject);
|
||
procedure ToolButton3Click(Sender: TObject);
|
||
procedure ToolButton1Click(Sender: TObject);
|
||
procedure moneyChange(Sender: TObject);
|
||
procedure v1Column14PropertiesEditValueChanged(Sender: TObject);
|
||
procedure ToolButton4Click(Sender: TObject);
|
||
procedure ToolButton5Click(Sender: TObject);
|
||
procedure ToolButton6Click(Sender: TObject);
|
||
procedure v1Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
|
||
procedure Tv1Column11PropertiesEditValueChanged(Sender: TObject);
|
||
private
|
||
procedure savedata();
|
||
procedure initdata();
|
||
procedure HJJE();
|
||
procedure DZJE();
|
||
{ Private declarations }
|
||
public
|
||
fkeyNo: string;
|
||
fflag: integer;
|
||
fSYRName: string;
|
||
canshu1: string;
|
||
fFlileFlag: string;
|
||
{ Public declarations }
|
||
end;
|
||
|
||
var
|
||
frmSDMANAGEINPUT: TfrmSDMANAGEINPUT;
|
||
|
||
implementation
|
||
|
||
uses
|
||
U_DataLink, U_Fun, U_ZDYHelp, U_ZDYHelpSel, U_ZdyAttachment, U_ZdyAttachGYS,
|
||
U_CHListsel, U_JHDMAKELISTSEL, U_ProductOrderListSel;
|
||
|
||
{$R *.dfm}
|
||
|
||
procedure TfrmSDMANAGEINPUT.HJJE();
|
||
var
|
||
FMoney, FHuiLv, FBBMoney: double;
|
||
begin
|
||
if TV1.DataController.Summary.FooterSummaryValues[9] <> NULL then
|
||
FMoney := TV1.DataController.Summary.FooterSummaryValues[9]
|
||
else
|
||
FMoney := 0;
|
||
|
||
zskp.Text := floattostr(FMoney);
|
||
|
||
end;
|
||
|
||
procedure TfrmSDMANAGEINPUT.DZJE();
|
||
var
|
||
FMoney, FYJ, FWBFY, FQITA, FGNKF, FSKP, fhjhx: double;
|
||
JL: Integer;
|
||
begin
|
||
FMoney := StrToFloatDef(money.TEXT, 0);
|
||
FGNKF := StrToFloatDef(ZGNKF.TEXT, 0);
|
||
FYJ := StrToFloatDef(ZYJ.TEXT, 0);
|
||
FWBFY := StrToFloatDef(ZWBFY.TEXT, 0);
|
||
FQITA := StrToFloatDef(ZQITA.TEXT, 0);
|
||
FSKP := StrToFloatDef(ZSKP.TEXT, 0);
|
||
DZMONEY.TEXT := FLOATTOSTR(FMoney - FYJ - FGNKF - FWBFY - FQITA - FSKP);
|
||
fhjhx := 0;
|
||
if TV1.DataController.Summary.FooterSummaryValues[8] <> null then
|
||
begin
|
||
fhjhx := TV1.DataController.Summary.FooterSummaryValues[8];
|
||
end;
|
||
if CDS_HZ.IsEmpty = FALSE then
|
||
begin
|
||
JL := CDS_HZ.RecordCount;
|
||
|
||
with CDS_HZ do
|
||
begin
|
||
First;
|
||
while not Eof do
|
||
begin
|
||
Edit;
|
||
if FGNKF <> 0 then
|
||
begin
|
||
fieldbyname('GNKFMONEY').VALUE := FGNKF / JL;
|
||
end;
|
||
if FWBFY <> 0 then
|
||
begin
|
||
fieldbyname('WBFYMONEY').VALUE := FWBFY / JL;
|
||
end;
|
||
if FQITA <> 0 then
|
||
begin
|
||
fieldbyname('QTMONEY').VALUE := FQITA / JL;
|
||
end;
|
||
if FYJ <> 0 then
|
||
begin
|
||
fieldbyname('YJMONEY').VALUE := FYJ / JL;
|
||
// fieldbyname('YJMONEY').VALUE := StrToFloatDef(fieldbyname('HXNUM').ASSTRING, 0) / 100 * FYJ;
|
||
end;
|
||
if DZMONEY.TEXT <> '' then
|
||
begin
|
||
|
||
fieldbyname('ZDZJE').VALUE := StrToFloatDef(fieldbyname('HXNUM').ASSTRING, 0) - StrToFloatDef(fieldbyname('SPK').ASSTRING, 0) - StrToFloatDef(fieldbyname('GNKFMONEY').ASSTRING, 0) - StrToFloatDef(fieldbyname('WBFYMONEY').ASSTRING, 0) - StrToFloatDef(fieldbyname('QTMONEY').ASSTRING, 0) - StrToFloatDef(fieldbyname('YJMONEY').ASSTRING, 0) - StrToFloatDef(fieldbyname('SUBTZMONEY').ASSTRING, 0);
|
||
end;
|
||
|
||
Post;
|
||
Next;
|
||
end;
|
||
end;
|
||
end;
|
||
// if fhjhx <> 0 then
|
||
// begin
|
||
// ShowMessage(FloatToStr(fhjhx));
|
||
fhjhx := RoundFloat((StrToFloatdef(money.Text, 0) - fhjhx), 2);
|
||
label8.Caption := 'δ<><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' + Trim(FloatToStr(fhjhx));
|
||
// end;
|
||
|
||
end;
|
||
|
||
procedure TfrmSDMANAGEINPUT.initdata();
|
||
begin
|
||
with ADOQueryTmp do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select * from YF_Money_CR A where A.YFID=' + quotedstr(trim(fkeyNo)));
|
||
// ShowMessage(sql.Text);
|
||
open;
|
||
end;
|
||
if ADOQueryTmp.isempty = False then
|
||
begin
|
||
SCSHDataNew(ADOQueryTmp, Panel1, 1);
|
||
SCSHDataNew(ADOQueryTmp, Panel1, 2);
|
||
end
|
||
else
|
||
begin
|
||
ZGNKF.Text := '0';
|
||
ZWBFY.Text := '0';
|
||
ZQITA.Text := '0';
|
||
|
||
ZYJ.Text := '0';
|
||
money.Text := '0';
|
||
ZSKP.Text := '0';
|
||
CRTime.DateTime := SGetServerDate(ADOQueryTmp);
|
||
end;
|
||
|
||
with ADOQueryTmp do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select * ');
|
||
SQL.Add(',DHXMONEY=MXMONEY-(SELECT SUM(HXNUM) FROM YF_MONEY_CR_SUB D WHERE D.SUBWXFPNO=A.SUBWXFPNO AND D.MXORDERNO=A.MXORDERNO)');
|
||
SQL.Add(',YHXMONEY=(SELECT SUM(HXNUM) FROM YF_MONEY_CR_SUB D WHERE D.SUBWXFPNO=A.SUBWXFPNO AND D.MXORDERNO=A.MXORDERNO)');
|
||
SQL.Add(' from YF_Money_CR_Sub A where YFID=''' + trim(fkeyNo) + '''');
|
||
open;
|
||
end;
|
||
SCreateCDS20(ADOQueryTmp, CDS_HZ);
|
||
SInitCDSData20(ADOQueryTmp, CDS_HZ);
|
||
end;
|
||
|
||
procedure TfrmSDMANAGEINPUT.savedata();
|
||
var
|
||
MaxYFSID, MaxYFID: string;
|
||
begin
|
||
ADOQueryCmd.Connection.BeginTrans;
|
||
try
|
||
if trim(fkeyNo) = '' then
|
||
begin
|
||
if GetLSNo(ADOQueryTmp, MaxYFID, 'SK', 'YF_Money_CR', 4, 1) = False then
|
||
begin
|
||
Application.MessageBox('ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
|
||
end
|
||
else
|
||
begin
|
||
MaxYFID := trim(fkeyNo);
|
||
|
||
end;
|
||
with ADOQueryCmd do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.add('select * from YF_Money_CR where YFID=' + quotedstr(fkeyNo));
|
||
open;
|
||
end;
|
||
with ADOQueryCmd do
|
||
begin
|
||
if trim(fkeyNo) = '' then
|
||
begin
|
||
append;
|
||
Fieldbyname('YFID').value := trim(MaxYFID);
|
||
FieldByName('CRType').Value := '<27>տ<EFBFBD><D5BF>Ǽ<EFBFBD>';
|
||
FieldByName('CRFlag').Value := 'Ӧ<><D3A6><EFBFBD><EFBFBD>';
|
||
FieldByName('QtyFlag').Value := -1;
|
||
FieldByName('BBMONEY').Value := money.Text;
|
||
FieldByName('status').Value := '0';
|
||
FieldByName('Filler').Value := Trim(DName);
|
||
Fieldbyname('SKtype').value := 'ˮ<><CBAE>';
|
||
|
||
end
|
||
else
|
||
begin
|
||
edit;
|
||
FieldByName('Editer').Value := Trim(DName);
|
||
FieldByName('EditTime').Value := SGetServerDateTime(ADOQueryTmp);
|
||
end;
|
||
Fieldbyname('wxfpno').value := Trim(wxfpno.Text);
|
||
SSetsaveSqlnew(ADOQueryCmd, 'YF_Money_CR', Self.panel1, 1);
|
||
post;
|
||
end;
|
||
////<2F><><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD>
|
||
with ADOQueryTMP do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.add('select count(*) as AA from YF_Money_CR where sdno=' + quotedstr(Trim(SDNO.Text)));
|
||
Open;
|
||
if FieldByName('AA').AsInteger > 1 then
|
||
begin
|
||
ADOQueryCmd.Connection.RollbackTrans;
|
||
|
||
Application.MessageBox('ˮ<><CBAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
end;
|
||
|
||
with CDS_HZ do
|
||
begin
|
||
first;
|
||
while not eof do
|
||
begin
|
||
if fieldbyname('YFSID').AsString = '' then
|
||
begin
|
||
if GetLSNo(ADOQueryTmp, MaxYFSID, 'SKS', 'YF_Money_CR_Sub', 4, 1) = False then
|
||
begin
|
||
Application.MessageBox('ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
end
|
||
else
|
||
begin
|
||
MaxYFSID := CDS_HZ.fieldbyname('YFSID').AsString;
|
||
end;
|
||
with ADOQueryCmd do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.add('select * from YF_Money_CR_Sub where YFSID=' + Quotedstr(trim(MaxYFSID)));
|
||
open;
|
||
end;
|
||
if ADOQueryCmd.IsEmpty then
|
||
begin
|
||
ADOQueryCmd.append;
|
||
ADOQueryCmd.Fieldbyname('YFSID').value := trim(MaxYFSID);
|
||
ADOQueryCmd.Fieldbyname('YFID').value := trim(MaxYFID);
|
||
end
|
||
else
|
||
begin
|
||
ADOQueryCmd.edit;
|
||
end;
|
||
ADOQueryCmd.Fieldbyname('qty').value := 0;
|
||
ADOQueryCmd.Fieldbyname('price').value := 0;
|
||
ADOQueryCmd.Fieldbyname('kxtype').value := 'ˮ<><CBAE>';
|
||
SSetSaveDataCDSNew(ADOQueryCmd, Tv1, CDS_HZ, 'YF_Money_CR_Sub', 0);
|
||
ADOQueryCmd.Post;
|
||
next;
|
||
end;
|
||
end;
|
||
|
||
ADOQueryCmd.Connection.CommitTrans;
|
||
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ');
|
||
fkeyNo := MaxYFID;
|
||
Modalresult := 1;
|
||
except
|
||
ADOQueryCmd.Connection.RollbackTrans;
|
||
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', MB_ICONERROR);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmSDMANAGEINPUT.TcloseClick(Sender: TObject);
|
||
begin
|
||
Close;
|
||
end;
|
||
|
||
procedure TfrmSDMANAGEINPUT.TSAVEClick(Sender: TObject);
|
||
var
|
||
FREAL: Double;
|
||
FMONEY1: Double;
|
||
begin
|
||
if CDS_HZ.IsEmpty then
|
||
begin
|
||
application.MessageBox('<27><>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>', '<27><>ʾ');
|
||
exit;
|
||
end;
|
||
if trim(SDNO.Text) = '' then
|
||
begin
|
||
application.MessageBox('ˮ<><CBAE><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>', '<27><>ʾ');
|
||
exit;
|
||
end;
|
||
// if Trim(wxfpno.Text) = '' then
|
||
// begin
|
||
// application.MessageBox('<27><>Ʊ<EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>', '<27><>ʾ');
|
||
// exit;
|
||
// end;
|
||
if Trim(factoryName.Text) = '' then
|
||
begin
|
||
application.MessageBox('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>', '<27><>ʾ');
|
||
exit;
|
||
end;
|
||
FMONEY1 := StrToFloatDef(money.Text, 0) - StrToFloatDef(tzmoney.Text, 0);
|
||
// if TV1.DataController.Summary.FooterSummaryValues[7] <> null then
|
||
// begin
|
||
// if TV1.DataController.Summary.FooterSummaryValues[7] < FMONEY1 then
|
||
// begin
|
||
// application.MessageBox('<27>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD><DCB4>ڷ<EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>', '<27><>ʾ');
|
||
// exit;
|
||
// end;
|
||
//
|
||
// end;
|
||
// if TV1.DataController.Summary.FooterSummaryValues[8] <> null then
|
||
// begin
|
||
// if TV1.DataController.Summary.FooterSummaryValues[8] < FMONEY1 then
|
||
// begin
|
||
// application.MessageBox('<27>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD><DCB4>ں<EFBFBD><DABA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ');
|
||
// exit;
|
||
// end;
|
||
//
|
||
// end;
|
||
|
||
savedata();
|
||
end;
|
||
|
||
procedure TfrmSDMANAGEINPUT.FormClose(Sender: TObject; var Action: TCloseAction);
|
||
begin
|
||
Action := cahide;
|
||
end;
|
||
|
||
procedure TfrmSDMANAGEINPUT.FormDestroy(Sender: TObject);
|
||
begin
|
||
frmSDMANAGEINPUT := nil;
|
||
end;
|
||
|
||
procedure TfrmSDMANAGEINPUT.FormShow(Sender: TObject);
|
||
begin
|
||
ToolBar1.SetFocus();
|
||
SClearData(Panel1, 0);
|
||
CRTime.DateTime := SGetServerDate10(adoqueryTmp);
|
||
|
||
initData();
|
||
DZJE();
|
||
end;
|
||
|
||
procedure TfrmSDMANAGEINPUT.QtyKeyPress(Sender: TObject; var Key: Char);
|
||
begin
|
||
if not (Key in ['0'..'9', '.', '-', #8]) then
|
||
Key := #0;
|
||
if (Key = '.') and (Pos('.', Tedit(Sender).Text) > 0) then
|
||
Key := #0;
|
||
end;
|
||
|
||
procedure TfrmSDMANAGEINPUT.factoryNameBtnClick(Sender: TObject);
|
||
begin
|
||
try
|
||
frmZdyAttachment := TfrmZdyAttachment.Create(Application);
|
||
with frmZdyAttachment do
|
||
begin
|
||
if ShowModal = 1 then
|
||
begin
|
||
FactoryName.Text := Trim(CDS_HZ.fieldbyname('CoName').AsString);
|
||
|
||
end;
|
||
end;
|
||
finally
|
||
frmZdyAttachment.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmSDMANAGEINPUT.WXFPNOBtnClick(Sender: TObject);
|
||
begin
|
||
try
|
||
frmCHListsel := TfrmCHListsel.Create(Application);
|
||
with frmCHListsel do
|
||
begin
|
||
if ShowModal = 1 then
|
||
begin
|
||
WXFPNO.Text := Trim(CDS_Main.fieldbyname('A4FPNO').AsString);
|
||
|
||
end;
|
||
end;
|
||
finally
|
||
frmCHListsel.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmSDMANAGEINPUT.WXFPNOBtnUpClick(Sender: TObject);
|
||
begin
|
||
try
|
||
frmCHListsel := TfrmCHListsel.Create(Application);
|
||
with frmCHListsel do
|
||
begin
|
||
if ShowModal = 1 then
|
||
begin
|
||
while CDS_Main.Locate('SSel', true, []) do
|
||
begin
|
||
if WXFPNO.Text = '' then
|
||
begin
|
||
WXFPNO.Text := Trim(CDS_Main.fieldbyname('A4FPNO').AsString) + ';';
|
||
end
|
||
else
|
||
begin
|
||
WXFPNO.Text := Trim(WXFPNO.Text) + Trim(CDS_Main.fieldbyname('A4FPNO').AsString) + ';';
|
||
end;
|
||
|
||
CDS_Main.Delete;
|
||
end;
|
||
end;
|
||
end;
|
||
finally
|
||
frmCHListsel.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmSDMANAGEINPUT.WXFPNOBtnDnClick(Sender: TObject);
|
||
begin
|
||
WXFPNO.Text := '';
|
||
end;
|
||
|
||
procedure TfrmSDMANAGEINPUT.ToolButton2Click(Sender: TObject);
|
||
var
|
||
AA: array[0..100] of string;
|
||
i, J, K, Count: Integer;
|
||
begin
|
||
|
||
try
|
||
frmJHDMAKEListsel := TfrmJHDMAKEListsel.Create(Application);
|
||
with frmJHDMAKEListsel do
|
||
begin
|
||
if ShowModal = 1 then
|
||
begin
|
||
while CDS_Main.Locate('SSel', true, []) do
|
||
begin
|
||
|
||
WXFPNO.Text := WXFPNO.Text + CDS_Main.fieldbyname('A4FPNO').AsString + ';';
|
||
if factoryName.Text = '' then
|
||
begin
|
||
factoryName.Text := CDS_Main.fieldbyname('KHName').AsString;
|
||
end;
|
||
|
||
with ADOQueryTMP do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
sql.Add('SELECT ORDERNO,DDHXNUM,(C7BGMoney+(CASE WHEN DDGS>0 THEN ROUND(ADDMONEY/DDGS,2) ELSE 0 END ))C7BGMoney FROM ( ');
|
||
SQL.Add('select (sum(C7BGMoney)+sum(isnull(CYFEE,0))) C7BGMoney,orderno ');
|
||
SQL.Add(',DDGS=(select count(distinct OrderNo) from JHD_SUB b where B.SVALID=''Y'' AND b.jhid=' + QuotedStr(Trim(CDS_Main.fieldbyname('jhid').AsString)));
|
||
SQL.Add(')');
|
||
sql.Add(',DDHXNUM=ISNULL((SELECT SUM(HXNUM) FROM YF_MONEY_CR_SUB D WHERE D.SUBWXFPNO=B.A4FPNO AND D.MXORDERNO=A.ORDERNO),0)');
|
||
SQL.Add(',ADDMONEY=(SELECT isnull(jsmoney,0)-isnull(jmmoney,0) FROM JHD_Main B where b.VALID=''Y'' and b.jhid=' + QuotedStr(Trim(CDS_Main.fieldbyname('jhid').AsString)));
|
||
SQL.Add(')from jhd_SUB a INNER JOIN JHD_MAIN B ON A.JHID=B.JHID');
|
||
SQL.Add('where A.JHID=' + QuotedStr(Trim(CDS_Main.fieldbyname('jhid').AsString)));
|
||
SQL.Add('AND B.VALID=''Y'' AND A.SVALID=''Y''');
|
||
sql.Add('GROUP BY ORDERNO,A4FPNO )AA ORDER BY ORDERNO');
|
||
// ShowMessage(SQL.Text);
|
||
Open;
|
||
end;
|
||
|
||
with ADOQueryTMP do
|
||
begin
|
||
First;
|
||
while not Eof do
|
||
begin
|
||
with self.CDS_HZ do
|
||
begin
|
||
append;
|
||
FieldByName('SUBWXFPNO').Value := CDS_Main.fieldbyname('A4FPNO').AsString;
|
||
FieldByName('MXORDERNO').Value := ADOQueryTMP.fieldbyname('orderno').AsString;
|
||
|
||
FieldByName('YHXMONEY').Value := ADOQueryTMP.fieldbyname('DDHXNUM').AsString;
|
||
FieldByName('mxmoney').Value := ADOQueryTMP.fieldbyname('C7BGMoney').AsString;
|
||
FieldByName('DHXMONEY').Value := StrToFloatDEF(ADOQueryTMP.fieldbyname('C7BGMoney').AsString, 0) - StrToFloatDEF(ADOQueryTMP.fieldbyname('DDHXNUM').AsString, 0);
|
||
FieldByName('kxtype').Value := '<27><><EFBFBD><EFBFBD>';
|
||
Post;
|
||
end;
|
||
Next;
|
||
end;
|
||
end;
|
||
|
||
CDS_Main.Delete;
|
||
end;
|
||
end;
|
||
end;
|
||
finally
|
||
frmJHDMAKEListsel.Free;
|
||
end;
|
||
DZJE();
|
||
|
||
// with CDS_HZ do
|
||
// begin
|
||
// First;
|
||
// i := 0;
|
||
// while not Eof do
|
||
// begin
|
||
// AA[i] := Trim(fieldbyname('SUBWXFPNO').AsString);
|
||
// i := i + 1;
|
||
// Next;
|
||
// end;
|
||
// end;
|
||
// Count := Length(N);
|
||
// for i := 0 to Count - 1 do
|
||
// begin
|
||
// for J := i + 1 to Count - 1 do
|
||
// begin
|
||
// if N[i] = N[J] then
|
||
// begin
|
||
// K := J + 1;
|
||
// while K < Count do
|
||
// begin
|
||
// N[K - 1] := N[K];
|
||
// Inc(K);
|
||
// Dec(Count);
|
||
// end;
|
||
// end;
|
||
// if J >= Count then
|
||
// Break;
|
||
// end;
|
||
// if i >= Count then
|
||
// Break;
|
||
//
|
||
// end;
|
||
|
||
end;
|
||
|
||
procedure TfrmSDMANAGEINPUT.v1Column13PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
|
||
begin
|
||
try
|
||
frmJHDMAKEListsel := TfrmJHDMAKEListsel.Create(Application);
|
||
with frmJHDMAKEListsel do
|
||
begin
|
||
if ShowModal = 1 then
|
||
begin
|
||
with self.CDS_HZ do
|
||
begin
|
||
Edit;
|
||
FieldByName('SUBWXFPNO').Value := CDS_Main.fieldbyname('A4FPNO').AsString;
|
||
// FieldByName('MXORDERNO').Value := CDS_Main.fieldbyname('hZORDERNO').AsString;
|
||
end;
|
||
end;
|
||
end;
|
||
finally
|
||
frmJHDMAKEListsel.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmSDMANAGEINPUT.Tv1Column1PropertiesChange(Sender: TObject);
|
||
begin
|
||
HJJE();
|
||
end;
|
||
|
||
procedure TfrmSDMANAGEINPUT.Tv1Column1PropertiesEditValueChanged(Sender: TObject);
|
||
var
|
||
mvalue, FFieldName: string;
|
||
FQty, FPrice, FMxMoney: double;
|
||
begin
|
||
mvalue := TcxTextEdit(Sender).EditingText;
|
||
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
|
||
if Trim(mvalue) = '' then
|
||
begin
|
||
mvalue := '0';
|
||
end;
|
||
with CDS_HZ do
|
||
begin
|
||
Edit;
|
||
FieldByName(FFieldName).Value := Trim(mvalue);
|
||
Post;
|
||
end;
|
||
|
||
tv1.Controller.EditingController.ShowEdit();
|
||
HJJE();
|
||
end;
|
||
|
||
procedure TfrmSDMANAGEINPUT.ToolButton3Click(Sender: TObject);
|
||
begin
|
||
if CDS_HZ.IsEmpty then
|
||
exit;
|
||
if application.MessageBox('ȷ<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD>', '<27><>ʾ', 1) = 2 then
|
||
exit;
|
||
if trim(CDS_HZ.fieldbyname('YFSID').asstring) = '' then
|
||
begin
|
||
CDS_HZ.delete;
|
||
HJJE();
|
||
end
|
||
else
|
||
begin
|
||
with ADOQueryCmd do
|
||
begin
|
||
close;
|
||
sql.clear;
|
||
sql.add('delete from YF_Money_CR_Sub where YFSID=''' + trim(CDS_HZ.fieldbyname('YFSID').asstring) + ''' ');
|
||
execsql;
|
||
end;
|
||
CDS_HZ.delete;
|
||
HJJE();
|
||
|
||
end;
|
||
with CDS_HZ do
|
||
begin
|
||
WXFPNO.TEXT := '';
|
||
First;
|
||
while not Eof do
|
||
begin
|
||
WXFPNO.Text := WXFPNO.Text + CDS_HZ.fieldbyname('SUBWXFPNO').AsString + ';';
|
||
Next;
|
||
end;
|
||
end;
|
||
DZJE();
|
||
end;
|
||
|
||
procedure TfrmSDMANAGEINPUT.ToolButton1Click(Sender: TObject);
|
||
begin
|
||
with self.CDS_HZ do
|
||
begin
|
||
append;
|
||
// FieldByName('SUBWXFPNO').Value := CDS_Main.fieldbyname('A4FPNO').AsString;
|
||
// FieldByName('MXORDERNO').Value := ADOQueryTMP.fieldbyname('orderno').AsString;
|
||
FieldByName('mxmoney').Value := 0;
|
||
FieldByName('kxtype').Value := '<27><><EFBFBD><EFBFBD>';
|
||
Post;
|
||
end;
|
||
DZJE();
|
||
end;
|
||
|
||
procedure TfrmSDMANAGEINPUT.moneyChange(Sender: TObject);
|
||
begin
|
||
DZJE();
|
||
end;
|
||
|
||
procedure TfrmSDMANAGEINPUT.v1Column14PropertiesEditValueChanged(Sender: TObject);
|
||
var
|
||
mvalue, FFieldName: string;
|
||
FQty, FPrice, FMxMoney: double;
|
||
begin
|
||
mvalue := TcxTextEdit(Sender).EditingText;
|
||
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
|
||
if Trim(mvalue) = '' then
|
||
begin
|
||
mvalue := '0';
|
||
end;
|
||
with CDS_HZ do
|
||
begin
|
||
Edit;
|
||
FieldByName(FFieldName).Value := Trim(mvalue);
|
||
Post;
|
||
end;
|
||
FQty := StrToFloatDef(ZYJ.Text, 0);
|
||
with CDS_HZ do
|
||
begin
|
||
Edit;
|
||
|
||
FPrice := FieldByName('HXNUM').AsFloat;
|
||
Post;
|
||
end;
|
||
FMxMoney := strtofloat(format('%.2f', [FPrice * FQty / 100]));
|
||
with CDS_HZ do
|
||
begin
|
||
Edit;
|
||
FieldByName(FFieldName).Value := Trim(mvalue);
|
||
FieldbyName('YJMONEY').Value := FMxMoney;
|
||
Post;
|
||
end;
|
||
tv1.Controller.EditingController.ShowEdit();
|
||
|
||
dzje();
|
||
end;
|
||
|
||
procedure TfrmSDMANAGEINPUT.ToolButton4Click(Sender: TObject);
|
||
var
|
||
FMONEY: Double;
|
||
begin
|
||
|
||
if money.Text <> '' then
|
||
begin
|
||
FMONEY := StrToFloatDEF(money.Text, 0) ; //- StrToFloatDEF(TZmoney.Text, 0)
|
||
with CDS_HZ do
|
||
begin
|
||
First;
|
||
while not Eof do
|
||
begin
|
||
Edit;
|
||
CDS_HZ.FieldByName('HXNUM').value := 0;
|
||
CDS_HZ.FieldByName('DHXMONEY').value := CDS_HZ.FieldByName('MXMONEY').value - CDS_HZ.FieldByName('yhxmoney').value;
|
||
Next;
|
||
end;
|
||
end;
|
||
with CDS_HZ do
|
||
begin
|
||
First;
|
||
while not Eof do
|
||
begin
|
||
FMONEY := FMONEY - CDS_HZ.FieldByName('DHXMONEY').AsFloat;
|
||
if FMONEY > 0 then
|
||
begin
|
||
Edit;
|
||
CDS_HZ.FieldByName('HXNUM').value := StrToFloatdef(CDS_HZ.FieldByName('HXNUM').AsString, 0) + CDS_HZ.FieldByName('DHXMONEY').AsFloat;
|
||
CDS_HZ.FieldByName('DHXMONEY').value := 0;
|
||
Post;
|
||
end
|
||
else
|
||
begin
|
||
Edit;
|
||
CDS_HZ.FieldByName('HXNUM').value := StrToFloatdef(CDS_HZ.FieldByName('HXNUM').AsString, 0) + FMONEY + CDS_HZ.FieldByName('DHXMONEY').AsFloat;
|
||
CDS_HZ.FieldByName('DHXMONEY').value := CDS_HZ.FieldByName('DHXMONEY').value - CDS_HZ.FieldByName('HXNUM').value;
|
||
Post;
|
||
Break;
|
||
end;
|
||
|
||
Next;
|
||
end;
|
||
end;
|
||
end;
|
||
DZJE();
|
||
end;
|
||
|
||
procedure TfrmSDMANAGEINPUT.ToolButton5Click(Sender: TObject);
|
||
begin
|
||
with CDS_HZ do
|
||
begin
|
||
First;
|
||
while not Eof do
|
||
begin
|
||
Edit;
|
||
FieldByName('HXNUM').AsString := '';
|
||
FieldByName('DHXMONEY').AsString := FieldByName('MXMONEY').AsString;
|
||
Post;
|
||
Next;
|
||
end;
|
||
end;
|
||
|
||
end;
|
||
|
||
procedure TfrmSDMANAGEINPUT.ToolButton6Click(Sender: TObject);
|
||
begin
|
||
with self.CDS_HZ do
|
||
begin
|
||
append;
|
||
// FieldByName('SUBWXFPNO').Value := CDS_Main.fieldbyname('A4FPNO').AsString;
|
||
// FieldByName('MXORDERNO').Value := ADOQueryTMP.fieldbyname('orderno').AsString;
|
||
FieldByName('mxmoney').Value := 0;
|
||
FieldByName('kxtype').Value := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
|
||
Post;
|
||
end;
|
||
DZJE();
|
||
end;
|
||
|
||
procedure TfrmSDMANAGEINPUT.v1Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
|
||
begin
|
||
try
|
||
frmProductOrderListSel := TfrmProductOrderListSel.Create(Application);
|
||
with frmProductOrderListSel do
|
||
begin
|
||
if ShowModal = 1 then
|
||
begin
|
||
with CDS_HZ do
|
||
begin
|
||
Edit;
|
||
fieldbyname('mxorderno').AsString := Trim(frmProductOrderListSel.Order_Main.fieldbyname('orderno').AsString);
|
||
end;
|
||
|
||
end;
|
||
end;
|
||
finally
|
||
frmProductOrderListSel.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmSDMANAGEINPUT.Tv1Column11PropertiesEditValueChanged(Sender: TObject);
|
||
var
|
||
mvalue, FFieldName: string;
|
||
FQty, FPrice, FMxMoney, FMoney: double;
|
||
begin
|
||
mvalue := TcxTextEdit(Sender).EditingText;
|
||
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
|
||
if Trim(mvalue) = '' then
|
||
begin
|
||
mvalue := '0';
|
||
end;
|
||
with CDS_HZ do
|
||
begin
|
||
Edit;
|
||
FieldByName(FFieldName).Value := Trim(mvalue);
|
||
Post;
|
||
end;
|
||
|
||
tv1.Controller.EditingController.ShowEdit();
|
||
if TV1.DataController.Summary.FooterSummaryValues[16] <> NULL then
|
||
FMoney := TV1.DataController.Summary.FooterSummaryValues[16]
|
||
else
|
||
FMoney := 0;
|
||
|
||
TZmoney.Text := floattostr(FMoney);
|
||
end;
|
||
|
||
end.
|
||
|