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

📄 uxsd.pas

📁 已经投入使用的商业级管理系统:液化气管理系统。 附带全部源码
💻 PAS
📖 第 1 页 / 共 2 页
字号:
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 + -