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.
|
|||
|
|