📄 uxsd.pas
字号:
unit UXSD;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, GridsEh, DBGridEh, StdCtrls, Buttons, ComCtrls, ExtCtrls,
ToolWin,ADODB;
type
TFXSD = class(TForm)
ToolBar1: TToolBar;
TBTADD: TToolButton;
TBTSAVE: TToolButton;
TBTCANCEL: TToolButton;
ToolButton4: TToolButton;
TBTFIND: TToolButton;
TBTDEL: TToolButton;
ToolButton9: TToolButton;
TBTPRINT: TToolButton;
TBTEXIT: TToolButton;
Panel1: TPanel;
Label1: TLabel;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
Panel5: TPanel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
EdtKHMC: TEdit;
EdtCHDH: TEdit;
EdtBZ: TEdit;
DtTCKRQ: TDateTimePicker;
EdtJE: TEdit;
EdtYF: TEdit;
EdtYSJE: TEdit;
EdtHK: TEdit;
EdtSQK: TEdit;
EdtCZY: TEdit;
SBTFINDKH: TSpeedButton;
BtBADDSP: TBitBtn;
BtBMODIFYSP: TBitBtn;
BtBDELSP: TBitBtn;
DataSource1: TDataSource;
DBGridEh1: TDBGridEh;
EdtKHBH: TEdit;
EdtKHID: TEdit;
EdtKHDH: TEdit;
EdtKHDZ: TEdit;
EdtKHLX: TEdit;
Edtsl: TEdit;
EdtDJID: TEdit;
EdtDel: TEdit;
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure TBTADDClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure SBTFINDKHClick(Sender: TObject);
procedure BtBADDSPClick(Sender: TObject);
procedure BtBMODIFYSPClick(Sender: TObject);
procedure BtBDELSPClick(Sender: TObject);
procedure TBTCANCELClick(Sender: TObject);
procedure TBTSAVEClick(Sender: TObject);
procedure EdtHKKeyPress(Sender: TObject; var Key: Char);
procedure EdtHKExit(Sender: TObject);
procedure TBTFINDClick(Sender: TObject);
procedure TBTDELClick(Sender: TObject);
procedure TBTEXITClick(Sender: TObject);
private
procedure BtBENABLED(strtmp:string);
procedure SETkhvalues(ADOQry_Temp: TADOQuery; strKHID: string);
procedure SumJE;
procedure Findsetvalues(strtDJH:string);
{ Private declarations }
public
{ Public declarations }
end;
var
FXSD: TFXSD;
implementation
USES MAIN,U_dm,UsysPub,UKHXX,UADDXSSP,UCZXSD,UsysConst;
{$R *.dfm}
procedure TFXSD.BtBENABLED(strtmp:string);
begin
if strtmp='kd' then
begin
TBTADD.Enabled:=True;
TBTSAVE.Enabled:=False;
TBTCANCEL.Enabled:=False;
TBTFIND.Enabled:=True;
TBTDEL.Enabled:=False;
TBTPRINT.Enabled:=False;
SBTFINDKH.Enabled:=False;
BtBADDSP.Enabled:=False;
BtBMODIFYSP.Enabled:=False;
BtBDELSP.Enabled:=False;
EdtKHMC.ReadOnly:=True;
EdtBZ.ReadOnly:=True;
DtTCKRQ.Enabled:=False;
EdtHK.ReadOnly:=True;
end
else if strtmp='new' then
begin
TBTADD.Enabled:=False;
TBTSAVE.Enabled:=True;
TBTCANCEL.Enabled:=True;
TBTFIND.Enabled:=False;
TBTDEL.Enabled:=False;
TBTPRINT.Enabled:=False;
SBTFINDKH.Enabled:=True;
BtBADDSP.Enabled:=True;
BtBMODIFYSP.Enabled:=True;
BtBDELSP.Enabled:=True;
EdtKHMC.ReadOnly:=False;
EdtBZ.ReadOnly:=False;
DtTCKRQ.Enabled:=True;
EdtHK.ReadOnly:=False;
end
else if strtmp='save' then
begin
TBTADD.Enabled:=True;
TBTSAVE.Enabled:=False;
TBTCANCEL.Enabled:=False;
TBTFIND.Enabled:=True;
TBTDEL.Enabled:=True;
TBTPRINT.Enabled:=True;
SBTFINDKH.Enabled:=False;
BtBADDSP.Enabled:=False;
BtBMODIFYSP.Enabled:=False;
BtBDELSP.Enabled:=False;
EdtKHMC.ReadOnly:=True;
EdtBZ.ReadOnly:=True;
DtTCKRQ.Enabled:=False;
EdtHK.ReadOnly:=True;
end
else if strtmp='cancel' then
begin
TBTADD.Enabled:=True;
TBTSAVE.Enabled:=False;
TBTCANCEL.Enabled:=False;
TBTFIND.Enabled:=True;
TBTDEL.Enabled:=False;
TBTPRINT.Enabled:=False;
SBTFINDKH.Enabled:=False;
BtBADDSP.Enabled:=False;
BtBMODIFYSP.Enabled:=False;
BtBDELSP.Enabled:=False;
EdtKHMC.ReadOnly:=True;
EdtBZ.ReadOnly:=True;
DtTCKRQ.Enabled:=False;
EdtHK.ReadOnly:=True;
end
else if strtmp='find' then
begin
TBTADD.Enabled:=True;
TBTSAVE.Enabled:=False;
TBTCANCEL.Enabled:=False;
TBTFIND.Enabled:=True;
TBTDEL.Enabled:=True;
TBTPRINT.Enabled:=True;
SBTFINDKH.Enabled:=False;
BtBADDSP.Enabled:=False;
BtBMODIFYSP.Enabled:=False;
BtBDELSP.Enabled:=False;
EdtKHMC.ReadOnly:=True;
EdtBZ.ReadOnly:=True;
DtTCKRQ.Enabled:=False;
EdtHK.ReadOnly:=True;
end
else if strtmp='delete' then
begin
TBTADD.Enabled:=True;
TBTSAVE.Enabled:=False;
TBTCANCEL.Enabled:=False;
TBTFIND.Enabled:=True;
TBTDEL.Enabled:=False;
TBTPRINT.Enabled:=False;
SBTFINDKH.Enabled:=False;
BtBADDSP.Enabled:=False;
BtBMODIFYSP.Enabled:=False;
BtBDELSP.Enabled:=False;
EdtKHMC.ReadOnly:=True;
EdtBZ.ReadOnly:=True;
DtTCKRQ.Enabled:=False;
EdtHK.ReadOnly:=True;
end;
end;
procedure TFXSD.SETkhvalues(ADOQry_Temp: TADOQuery; strKHID: string);
var
strSQL:string;
begin
strSQL:='select * from JG客户信息 where 客户ID='+''''+strKHID+'''';
RunSQL(ADOQry_Temp,strSQL,0);
EdtKHID.Text:=Trim(ADOQry_Temp.fieldbyname('客户ID').AsString);
EdtKHMC.Text:=Trim(ADOQry_Temp.fieldbyname('客户名称').AsString);
EdtKHBH.Text:=Trim(ADOQry_Temp.fieldbyname('客户编号').AsString);
EdtKHDH.Text:=Trim(ADOQry_Temp.fieldbyname('电话').AsString);
EdtKHDZ.Text:=Trim(ADOQry_Temp.fieldbyname('地址').AsString);
EdtKHLX.Text:=Trim(ADOQry_Temp.fieldbyname('客户类型').AsString);
end;
procedure TFXSD.SumJE;
var
strSQL:string;
begin
RunSQL(dm.ADOQ_JGDHCB,strSQL,0);
strSQL:='select sum(数量) as sl,sum(金额) as je,sum(运费) as yf,sum(应收金额) as ysje from JG出库单';
RunSQL(dm.m_clADOQryDB_Temp,strSQL,0);
EdtJE.Text:=Floattostr(dm.m_clADOQryDB_Temp.fieldbyname('je').AsFloat);
EdtYF.Text:=Floattostr(dm.m_clADOQryDB_Temp.fieldbyname('yf').AsFloat);
EdtYSJE.Text:=Floattostr(dm.m_clADOQryDB_Temp.fieldbyname('ysje').AsFloat);
EdtHK.Text:=Floattostr(dm.m_clADOQryDB_Temp.fieldbyname('ysje').AsFloat);
EdtSQK.Text:='0';
EdtSL.Text:=Floattostr(dm.m_clADOQryDB_Temp.fieldbyname('sl').AsFloat);
END;
procedure TFXSD.Findsetvalues(strtDJH:string);
var
strSQL:string;
begin
strSQL:='select * from JG订货单主表 where 订单ID='+''''+strtDJH+'''';
RunSQL(dm.m_clADOQry_Temp,strSQL,0);
EdtKHID.Text:=Trim(dm.m_clADOQry_Temp.fieldbyname('客户ID').AsString);
EdtKHMC.Text:=Trim(dm.m_clADOQry_Temp.fieldbyname('客户名称').AsString);
EdtKHBH.Text:=Trim(dm.m_clADOQry_Temp.fieldbyname('客户编号').AsString);
EdtKHDH.Text:=Trim(dm.m_clADOQry_Temp.fieldbyname('电话').AsString);
EdtKHDZ.Text:=Trim(dm.m_clADOQry_Temp.fieldbyname('地址').AsString);
EdtKHLX.Text:=Trim(dm.m_clADOQry_Temp.fieldbyname('客户类型').AsString);
EdtDJID.Text:=Trim(dm.m_clADOQry_Temp.fieldbyname('订单ID').AsString);
EdtCHDH.Text:=Trim(dm.m_clADOQry_Temp.fieldbyname('订货单号').AsString);
EdtBZ.Text:=Trim(dm.m_clADOQry_Temp.fieldbyname('备注').AsString);
EdtCZY.Text:=Trim(dm.m_clADOQry_Temp.fieldbyname('回单操作员').AsString);
DtTCKRQ.Date:=dm.m_clADOQry_Temp.fieldbyname('回单时间').AsDateTime;
EdtJE.Text:=Floattostr(dm.m_clADOQry_Temp.fieldbyname('金额').AsFloat);
EdtYF.Text:=Floattostr(dm.m_clADOQry_Temp.fieldbyname('运费').AsFloat);
EdtYSJE.Text:=Floattostr(dm.m_clADOQry_Temp.fieldbyname('应收金额').AsFloat);
EdtHK.Text:=Floattostr(dm.m_clADOQry_Temp.fieldbyname('回款金额').AsFloat);
EdtSQK.Text:=Floattostr(dm.m_clADOQry_Temp.fieldbyname('尚欠金额').AsFloat);
EdtDel.Text:=Inttostr(dm.m_clADOQry_Temp.fieldbyname('删除标志').AsInteger);
strSQL:='delete from JG出库单';
RunSQL(DM.m_clADOQryDB_Temp,strSQL,1);
strSQL:='select * from JG订货单次表 where 订单ID='+''''+strtDJH+'''';
RunSQL(dm.m_clADOQry_Temp,strSQL,0);
DM.m_clADOQry_Temp.First;
while not DM.m_clADOQry_Temp.Eof do
begin
strSQL:='Insert Into JG出库单 (订单ID,自动编号,商品编号,品名规格,单位,数量,单价,金额,'
+'运费,应收金额,回瓶,订单类型) Values('
+''''+Trim(dm.m_clADOQry_Temp.fieldbyname('订单ID').AsString)+''''
+','+inttostr(dm.m_clADOQry_Temp.fieldbyname('自动编号').AsInteger)
+','+''''+Trim(dm.m_clADOQry_Temp.fieldbyname('商品编号').AsString)+''''
+','+''''+Trim(dm.m_clADOQry_Temp.fieldbyname('品名规格').AsString)+''''
+','+''''+Trim(dm.m_clADOQry_Temp.fieldbyname('单位').AsString)+''''
+','+Floattostr(dm.m_clADOQry_Temp.fieldbyname('数量').AsFloat)
+','+Floattostr(dm.m_clADOQry_Temp.fieldbyname('单价').AsFloat)
+','+Floattostr(dm.m_clADOQry_Temp.fieldbyname('金额').AsFloat)
+','+Floattostr(dm.m_clADOQry_Temp.fieldbyname('运费').AsFloat)
+','+Floattostr(dm.m_clADOQry_Temp.fieldbyname('应收金额').AsFloat)
+','+BooleantoNumber(dm.m_clADOQry_Temp.fieldbyname('回瓶').AsBoolean)
+','+''''+Trim(dm.m_clADOQry_Temp.fieldbyname('订单类型').AsString)+''''+')';
RunSQL(DM.m_clADOQryDB_Temp,strSQL,1);
dm.m_clADOQry_Temp.Next;
end;
strSQL:='select * from JG出库单';
RunSQL(dm.ADOQ_JGDHCB,strSQL,0);
end;
procedure TFXSD.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if strDJZT='new' then
begin
case messagebox(handle,pchar('单据还没有保存数据,是否真的要退出?'),MsgBxCaption,mb_iconquestion+MB_YESNO) of
ID_yes: canclose:=true;
ID_no: canclose:=false;
END;
end
else
canclose:=true;
end;
procedure TFXSD.FormShow(Sender: TObject);
var
strSQL:String;
begin
strSQL:='delete from JG出库单';
RunSQL(dm.m_clADOQryDB_Temp,strSQL,1);
strSQL:='select * from JG出库单';
RunSQL(dm.ADOQ_JGDHCB,strSQL,0);
BtBENABLED('kd');
end;
procedure TFXSD.TBTADDClick(Sender: TObject);
var
strSQL:string;
begin
strDJZT:='new';
EdtCHDH.Text:=BuildTableDJBH(dm.m_clADOQry_Temp,'JG订货单主表','订货单号',strCZMD);
EdtBZ.Text:='';
DtTCKRQ.Date:=Now();
EdtJE.Text:='';
EdtYF.Text:='';
EdtYSJE.Text:='';
EdtHK.Text:='';
EdtSQK.Text:='';
EdtCZY.Text:=strCZYMC;
EdtKHID.Text:='';
EdtKHMC.Text:='散客';
EdtKHBH.Text:='';
EdtKHDH.Text:='';
EdtKHDZ.Text:='';
EdtKHLX.Text:='散客';
EdtDJID.Text:='';
Edtsl.Text:='';
EdtDJID.Text:='';
EdtDel.Text:='1';
strSQL:='delete from JG出库单';
RunSQL(dm.m_clADOQryDB_Temp,strSQL,1);
strSQL:='select * from JG出库单';
RunSQL(dm.ADOQ_JGDHCB,strSQL,0);
BtBENABLED(strDJZT);
end;
procedure TFXSD.SBTFINDKHClick(Sender: TObject);
var
strTmp:string;
begin
strXZZT:='select';
try
Application.CreateForm(TFKHXX, FKHXX);
FKHXX.ShowModal;
if strXZZT='ok' then
begin
strTmp:=Trim(dm.ADOQ_KHXX.fieldbyname('客户ID').AsString);
strTmpKHID:=strTmp;
SETkhvalues(dm.m_clADOQry_Temp,strTmp);
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -