⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uaddxssp.pas

📁 已经投入使用的商业级管理系统:液化气管理系统。 附带全部源码
💻 PAS
字号:
unit UADDXSSP;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls;

type
  TFADDXSSP = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    EdtSPBH: TEdit;
    EdtPMGG: TEdit;
    EdtDJ: TEdit;
    EdtSL: TEdit;
    EdtJE: TEdit;
    EdtYF: TEdit;
    EdtYSJE: TEdit;
    ChkHP: TCheckBox;
    Panel1: TPanel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Label8: TLabel;
    EdtDW: TEdit;
    BitBtn3: TBitBtn;
    procedure EdtDJKeyPress(Sender: TObject; var Key: Char);
    procedure EdtYFKeyPress(Sender: TObject; var Key: Char);
    procedure EdtSLKeyPress(Sender: TObject; var Key: Char);
    procedure EdtDJExit(Sender: TObject);
    procedure EdtSLExit(Sender: TObject);
    procedure EdtYFExit(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure BitBtn1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
  private
    procedure SJYSJE;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FADDXSSP: TFADDXSSP;

implementation
  uses U_dm,UsysPub,USPXX,UsysConst;
{$R *.dfm}

procedure TFADDXSSP.SJYSJE;
begin
  EdtJE.Text:=Floattostr(strtoFloat(EdtDJ.Text)*strtoFloat(EdtSL.Text));
  EdtYSJE.Text:=Floattostr(strtoFloat(EdtDJ.Text)*strtoFloat(EdtSL.Text)+strtoFloat(EdtYF.Text));
end;

procedure TFADDXSSP.EdtDJKeyPress(Sender: TObject; var Key: Char);
begin
  if (not (key in['0'..'9',#8,#9,#14,#23,#24,#25,#26,#27,#28,#30,#13,'.'])) then
    key:=#0;
end;

procedure TFADDXSSP.EdtYFKeyPress(Sender: TObject; var Key: Char);
begin
  if (not (key in['0'..'9',#8,#9,#14,#23,#24,#25,#26,#27,#28,#30,#13,'.'])) then
    key:=#0;
end;

procedure TFADDXSSP.EdtSLKeyPress(Sender: TObject; var Key: Char);
begin
  if (not (key in['0'..'9',#8,#9,#14,#23,#24,#25,#26,#27,#28,#30,#13,'.'])) then
    key:=#0;
end;

procedure TFADDXSSP.EdtDJExit(Sender: TObject);
begin
  if Trim(EdtDJ.Text)='' then
  begin
    EdtDJ.Text:='0';
    abort;
  end;
  if TryIsFloat(Trim(EdtDJ.Text))=False then
  begin
    Application.MessageBox('非法数值!',MsgBxCaption,MB_OK+MB_ICONWARNING);
    EdtDJ.SetFocus;
    abort;
  end;
  EdtJE.Text:=Floattostr(strtoFloat(EdtDJ.Text)*strtoFloat(EdtSL.Text));
  EdtYSJE.Text:=Floattostr(strtoFloat(EdtDJ.Text)*strtoFloat(EdtSL.Text)+strtoFloat(EdtYF.Text));
end;

procedure TFADDXSSP.EdtSLExit(Sender: TObject);
begin
  if Trim(EdtSL.Text)='' then
  begin
    EdtSL.Text:='0';
    abort;
  end;
  if TryIsFloat(Trim(EdtSL.Text))=False then
  begin
    Application.MessageBox('非法数值!',MsgBxCaption,MB_OK+MB_ICONWARNING);
    EdtSL.SetFocus;
    abort;
  end;
  EdtJE.Text:=Floattostr(strtoFloat(EdtDJ.Text)*strtoFloat(EdtSL.Text));
  EdtYSJE.Text:=Floattostr(strtoFloat(EdtDJ.Text)*strtoFloat(EdtSL.Text)+strtoFloat(EdtYF.Text));
end;

procedure TFADDXSSP.EdtYFExit(Sender: TObject);
begin
  if Trim(EdtYF.Text)='' then
  begin
    EdtYF.Text:='0';
    abort;
  end;
  if TryIsFloat(Trim(EdtYF.Text))=False then
  begin
    Application.MessageBox('非法数值!',MsgBxCaption,MB_OK+MB_ICONWARNING);
    EdtYF.SetFocus;
    abort;
  end;
  EdtJE.Text:=Floattostr(strtoFloat(EdtDJ.Text)*strtoFloat(EdtSL.Text));
  EdtYSJE.Text:=Floattostr(strtoFloat(EdtDJ.Text)*strtoFloat(EdtSL.Text)+strtoFloat(EdtYF.Text));
end;

procedure TFADDXSSP.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    EnterToChangeFocus(self,key);
end;

procedure TFADDXSSP.BitBtn1Click(Sender: TObject);
var
  strspbh,strpmgg,strdw,strdj,strsl,strje,stryf,strysje,strhp:string;
  strSQL,strtmp:string;
  ntmp,nid:integer;
begin
  screen.Cursor:=crhourglass;
  strspbh:=Trim(EdtSPBH.Text);
  strpmgg:=Trim(EdtPMGG.Text);
  strdw:=Trim(EdtDW.Text);
  strdj:=NontoNumber(Trim(EdtDJ.Text));
  strsl:=NontoNumber(Trim(EdtSL.Text));
  strje:=NontoNumber(Trim(EdtJE.Text));
  stryf:=NontoNumber(Trim(EdtYF.Text));
  strysje:=NontoNumber(Trim(EdtYSJE.Text));
  strhp:=BooleantoNumber(ChkHP.Checked);
  IF strspbh='' THEN
  begin
    Application.MessageBox('请选择商品!',MsgBxCaption,MB_OK+MB_ICONWARNING);
    screen.Cursor:=crdefault;
    abort;
  end;
  IF strDJADDZT='ADD' THEN
  begin
  strSQL:='select max(自动编号) as xh from JG出库单';
  if RunSQL(DM.m_clADOQryDB_Temp,strSQL,0) then
  begin
    ntmp:=DM.m_clADOQryDB_Temp.fieldbyname('xh').AsInteger+1;
  end
  else
  begin
    Application.MessageBox('保存数据失败!',MsgBxCaption,MB_OK);
    screen.Cursor:=crdefault;
    abort;
  end;
  strSQL:='Insert Into JG出库单 (订单ID,自动编号,商品编号,品名规格,单位,数量,单价,金额,运费,应收金额,回瓶,订单类型) Values('
             +''''+' '+''''
             +','+inttostr(ntmp)
             +','+''''+strspbh+''''
             +','+''''+strpmgg+''''
             +','+''''+strdw+''''
             +','+strsl+','+strdj+','+strje
             +','+stryf+','+strysje
             +','+strhp+','+''''+'销售单'+''''+')';
  if RunSQL(DM.m_clADOQryDB_Temp,strSQL,1) then
  begin
    screen.Cursor:=crdefault;
    strSQL:='select * from JG出库单';
    RunSQL(dm.ADOQ_JGDHCB,strSQL,0);
    self.Close;
  end
  else
  begin
    Application.MessageBox('保存数据失败!',MsgBxCaption,MB_OK);
    screen.Cursor:=crdefault;
  end;
  end
  else
  begin
  nid:=dm.ADOQ_JGDHCB.fieldbyname('ID').AsInteger;
  strSQL:='update JG出库单 set 商品编号='
             +''''+strspbh+''''
             +',品名规格='+''''+strpmgg+''''
             +',单位='+''''+strdw+''''
             +',数量='+strsl+',单价='+strdj+',金额='+strje
             +',运费='+stryf+',应收金额='+strysje
             +',回瓶='+strhp+' where id='+inttostr(nid);
  if RunSQL(DM.m_clADOQryDB_Temp,strSQL,1) then
  begin
    screen.Cursor:=crdefault;
    strSQL:='select * from JG出库单';
    RunSQL(dm.ADOQ_JGDHCB,strSQL,0);
    self.Close;
  end
  else
  begin
    Application.MessageBox('保存数据失败!',MsgBxCaption,MB_OK);
    screen.Cursor:=crdefault;
  end;
  end;
end;


procedure TFADDXSSP.FormShow(Sender: TObject);
begin
  IF strDJADDZT='MODIFY' THEN
  BEGIN
    self.Caption:='修改商品';
    EdtSPBH.Text:=Trim(dm.ADOQ_JGDHCB.fieldbyname('商品编号').AsString);
    EdtPMGG.Text:=Trim(dm.ADOQ_JGDHCB.fieldbyname('品名规格').AsString);
    EdtDW.Text:=Trim(dm.ADOQ_JGDHCB.fieldbyname('单位').AsString);
    EdtDJ.Text:=Floattostr(dm.ADOQ_JGDHCB.fieldbyname('单价').AsFloat);
    EdtYF.Text:=Floattostr(dm.ADOQ_JGDHCB.fieldbyname('运费').AsFloat);
    EdtSL.Text:=Floattostr(dm.ADOQ_JGDHCB.fieldbyname('数量').AsFloat);
    EdtJE.Text:=Floattostr(dm.ADOQ_JGDHCB.fieldbyname('金额').AsFloat);
    EdtYSJE.Text:=Floattostr(dm.ADOQ_JGDHCB.fieldbyname('应收金额').AsFloat);
    ChkHP.Checked:=dm.ADOQ_JGDHCB.fieldbyname('回瓶').AsBoolean;
    BitBtn3.SetFocus;
  END
  else
  begin
    BitBtn3.SetFocus;
  end;
end;

procedure TFADDXSSP.BitBtn3Click(Sender: TObject);
var
  strSQL,strTmp,strTemp:string;
  rDJ,RYF:real;
begin
  strXZZT:='select';
  try
    Application.CreateForm(TFSPXX, FSPXX);
    FSPXX.ShowModal;
    if strXZZT='ok' then
    begin
      strSQL:='select * from JG客户信息 where 客户ID='+''''+strTmpKHID+'''';
      RunSQL(dm.m_clADOQry_Temp,strSQL,0);
      strTmp:=Trim(dm.m_clADOQry_Temp.fieldbyname('分类编号').AsString);
      strTemp:=Trim(dm.ADOQ_SP.fieldbyname('商品编号').AsString);
      strSQL:='select * from JG商品优惠 where (分类编号='+''''+strTmpKHID+''''
             +') and (商品编号='+''''+strTemp+''''+') and (门店编号='
             +''''+strCZMD+''''+')';
      RunSQL(dm.m_clADOQry_Temp,strSQL,0);
      rDJ:=dm.m_clADOQry_Temp.fieldbyname('单价优惠').AsFloat;
      RYF:=dm.m_clADOQry_Temp.fieldbyname('运费优惠').AsFloat;
      EdtSPBH.Text:=Trim(dm.ADOQ_SP.fieldbyname('商品编号').AsString);
      EdtPMGG.Text:=Trim(dm.ADOQ_SP.fieldbyname('品名规格').AsString);
      EdtDW.Text:=Trim(dm.ADOQ_SP.fieldbyname('单位').AsString);
      EdtDJ.Text:=Floattostr(dm.ADOQ_SP.fieldbyname('单价').AsFloat);
      EdtYF.Text:=Floattostr(dm.ADOQ_SP.fieldbyname('运费').AsFloat);
      EdtSL.Text:='1';
      EdtJE.Text:=Floattostr(dm.ADOQ_SP.fieldbyname('单价').AsFloat);
      EdtYSJE.Text:=Floattostr(dm.ADOQ_SP.fieldbyname('单价').AsFloat+dm.ADOQ_SP.fieldbyname('运费').AsFloat-rDJ-RYF);
      ChkHP.Checked:=dm.ADOQ_SP.fieldbyname('回瓶').AsBoolean;
      EdtDJ.SelectAll;
      EdtDJ.SetFocus;
    end;
  finally
    FSPXX.Free;
  end;
end;

procedure TFADDXSSP.BitBtn2Click(Sender: TObject);
begin
  self.Close;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -