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

📄 gzjfh_un.pas

📁 手机进销存系统Delphi源码,管理手机的进货还有销售方面的功能
💻 PAS
字号:
unit gzjfh_un;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, sjrcbase, ADODB, DB, ActnList, bsMessages, bsSkinData,
  BusinessSkinForm, bsSkinCtrls, bsSkinGrids, bsDBGrids, bsdbctrls,
  StdCtrls, Mask, bsSkinBoxCtrls, ExtCtrls,math,StrUtils;

type
  Tgzjfh_frm = class(Tsjycbase_frm)
    bsSkinGroupBox3: TbsSkinGroupBox;
    bsSkinDBGrid1: TbsSkinDBGrid;
    bsSkinScrollBar3: TbsSkinScrollBar;
    bsSkinScrollBar4: TbsSkinScrollBar;
    bsSkinPanel3: TbsSkinPanel;
    bsSkinPanel4: TbsSkinPanel;
    bsSkinPanel2: TbsSkinPanel;
    bsSkinSpeedButton5: TbsSkinSpeedButton;
    bsSkinSpeedButton6: TbsSkinSpeedButton;
    bsSkinSpeedButton7: TbsSkinSpeedButton;
    bsSkinSpeedButton8: TbsSkinSpeedButton;
    bsSkinCheckRadioBox1: TbsSkinCheckRadioBox;
    bsSkinStdLabel13: TbsSkinStdLabel;
    ds_hyd: TDataSource;
    ADOTable1: TADOQuery;
    bsSkinDBLookupComboBox11: TbsSkinDBLookupComboBox;
    bsSkinDBLookupComboBox10: TbsSkinDBLookupComboBox;
    sp_bs: TADOStoredProc;
    ds_bs: TDataSource;
    bsSkinStdLabel14: TbsSkinStdLabel;
    bsSkinNumericEdit1: TbsSkinNumericEdit;
    sp_hhddview: TADOStoredProc;
    bsSkinTextLabel1: TbsSkinTextLabel;
    bsSkinCheckRadioBox2: TbsSkinCheckRadioBox;
    bsSkinMemo1: TbsSkinMemo;
    bsSkinCheckRadioBox3: TbsSkinCheckRadioBox;
    procedure bsSkinCheckRadioBox1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure acSaveExecute(Sender: TObject);
    procedure ds_bsDataChange(Sender: TObject; Field: TField);
    procedure sp_bsAfterOpen(DataSet: TDataSet);
    procedure bsSkinSpeedButton5Click(Sender: TObject);
    procedure bsSkinSpeedButton6Click(Sender: TObject);
    procedure bsSkinSpeedButton7Click(Sender: TObject);
    procedure bsSkinSpeedButton8Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure acNewExecute(Sender: TObject);
    procedure bsSkinNumericEdit1Change(Sender: TObject);
    procedure acModifyExecute(Sender: TObject);
    procedure acDeleteExecute(Sender: TObject);
    procedure bsSkinCheckRadioBox2Click(Sender: TObject);
    procedure bsSkinCheckRadioBox3Click(Sender: TObject);
  private
    s:Integer;
    lx:integer;//数据增加时1为换货等待2为退货
    mlx:integer;//数据修改时1为换货等待2为退货
    { Private declarations }
  public
    { Public declarations }
  end;

var
  gzjfh_frm: Tgzjfh_frm;

implementation
 uses data_un;
{$R *.dfm}

procedure Tgzjfh_frm.bsSkinCheckRadioBox1Click(Sender: TObject);
begin
  inherited;
bsSkinPanel2.Enabled:=not bsSkinCheckRadioBox1.Checked;
bsSkinDBGrid1.Enabled:=not  bsSkinCheckRadioBox1.Checked;
acNew.Enabled:=   bsSkinCheckRadioBox1.Checked;
acNewExecute(Self);
bsSkinCheckRadioBox3.Checked:=False;
//bsSkinCheckRadioBox2.Enabled:=bsSkinCheckRadioBox1.Checked;

  if sp_bs.active then
    if sp_bs.RecordCount>0 then
    begin
    bsSkinStdLabel13.Caption:=sp_bs.FieldValues['fbsid'];
    if LeftStr(sp_bs.FieldValues['pubid'],2)='HD' then
    begin
    lx:=1;  //换机等待情况
       bsSkinStdLabel14.Caption:='需要补差价:';
       bsSkinNumericEdit1.Visible:=false;
       bsSkinMemo1.Lines.Clear;
       bsSkinMemo1.Lines.Add('    此机为客户由于技术原因退货,正在换机等待当中,如果没有进行补价行为,推荐进行0价入库,如有补价行为,则在新机进货价处填上补价') ;
       bsSkinCheckRadioBox2.Visible:=true;

    end ;
     if LeftStr(sp_bs.FieldValues['pubid'],2)='KT' then
    begin
    lx:=2;  //退货重新入库
       bsSkinStdLabel14.Caption:='新机进价:';
       bsSkinNumericEdit1.Visible:=true;
       bsSkinMemo1.Lines.Clear;
       bsSkinMemo1.Lines.Add('    此机为因技术原因而产生的退货,已换了其它类型的机子,新机重新入库时为避免利润重复,基价是原退货价,请新机进货价格处填上进货价钱');
       bsSkinCheckRadioBox2.Visible:=false;
       bsSkinCheckRadioBox2.Checked:=false;
    end

    end;

end;

procedure Tgzjfh_frm.FormCreate(Sender: TObject);
begin
bsSkinStdLabel13.Caption:='';
bsSkinMemo1.Clear;
hylx:='CF';
hyd:='厂家返回';
if not ADOTable1.Active then
ADOTable1.Open;
if not sp_bs.Active then
sp_bs.Open;
  inherited;

end;

procedure Tgzjfh_frm.acSaveExecute(Sender: TObject);
begin
hydid:=ADOTable1.FieldValues['fid'];
vbsid:=bsSkinStdLabel13.Caption;

  inherited;

acNew.Enabled:=false;
bsSkinNumericEdit1.Clear;
sp_bs.Close;
sp_bs.Open;

end;

procedure Tgzjfh_frm.ds_bsDataChange(Sender: TObject; Field: TField);
begin
  inherited;
  if sp_bs.active then
    if sp_bs.RecordCount>0 then
    begin
    bsSkinStdLabel13.Caption:=sp_bs.FieldValues['fbsid'];
    if LeftStr(sp_bs.FieldValues['pubid'],2)='HD' then
    begin
    lx:=1;  //换机等待情况
       bsSkinStdLabel14.Caption:='需要补差价:';
       bsSkinNumericEdit1.Visible:=false;
       bsSkinMemo1.Lines.Clear;
       bsSkinMemo1.Lines.Add('    此机为客户由于技术原因退货,正在换机等待当中,如果没有进行补价行为,推荐进行0价入库,如有补价行为,则在新机进货价处填上补价') ;
       bsSkinCheckRadioBox2.Visible:=true;

    end ;
     if LeftStr(sp_bs.FieldValues['pubid'],2)='KT' then
    begin
    lx:=2;  //退货重新入库
       bsSkinStdLabel14.Caption:='新机进价:';
       bsSkinNumericEdit1.Visible:=true;
       bsSkinMemo1.Lines.Clear;
       bsSkinMemo1.Lines.Add('    此机为因技术原因而产生的退货,已换了其它类型的机子,新机重新入库时为避免利润重复,基价是原退货价,请新机进货价格处填上进货价钱');
       bsSkinCheckRadioBox2.Visible:=false;
       bsSkinCheckRadioBox2.Checked:=false;
    end

    end;

end;

procedure Tgzjfh_frm.sp_bsAfterOpen(DataSet: TDataSet);
begin
  inherited;
if sp_bs.Active then
if sp_bs.RecordCount>0 then
begin
bsSkinPanel2.Enabled:=true ;
bsSkinCheckRadioBox1.Enabled:=true;
end
else
begin
bsSkinPanel2.Enabled:=false;
bsSkinCheckRadioBox1.Enabled:=False;
end;
end;


procedure Tgzjfh_frm.bsSkinSpeedButton5Click(Sender: TObject);
begin
  inherited;
sp_bs.First;

end;

procedure Tgzjfh_frm.bsSkinSpeedButton6Click(Sender: TObject);
begin
  inherited;
sp_bs.Prior;
end;

procedure Tgzjfh_frm.bsSkinSpeedButton7Click(Sender: TObject);
begin
  inherited;
sp_bs.Next;
end;

procedure Tgzjfh_frm.bsSkinSpeedButton8Click(Sender: TObject);
begin
  inherited;
sp_bs.Last;
end;

procedure Tgzjfh_frm.FormShow(Sender: TObject);
begin
  inherited;
acNew.Enabled:=false;
end;

procedure Tgzjfh_frm.acNewExecute(Sender: TObject);
begin
  inherited;
bsSkinDBLookupComboBox7.KeyValue:=sp_bs.FieldValues['fcolorid'];
bsSkinDBLookupComboBox5.KeyValue:=sp_bs.FieldValues['fsjcsid'] ;
bsSkinDBLookupComboBox6.KeyValue:=sp_bs.FieldValues['fsjxhid'];
bsSkinDBLookupComboBox8.KeyValue:=sp_bs.FieldValues['fjbpzid'];
bsSkinDBLookupComboBox10.KeyValue:=sp_bs.FieldValues['fhydid'];
s:=1;
bsSkinNumericEdit1.Clear;
bsSkinEdit2.Enabled:=true;


end;

procedure Tgzjfh_frm.bsSkinNumericEdit1Change(Sender: TObject);
var a,b,c:Integer;
t:string;
begin
  inherited;
a:=StrToInt( FloatToStr( bsSkinNumericEdit1.Value));
if s=1 then
    begin
        b:=StrToInt(sp_bs.FieldValues['fmon']);
        c:=StrToInt(sp_bs.FieldValues['fsalemon']) ;
        if lx=2 then //退货情况
          begin
              bsSkinEdit3.Text:=IntToStr(c+(a-b)) ;
              vcmon:=a-b;
              bsSkinEdit4.Text:='串号为:'+sp_bs.FieldValues['fno']+'退货,进价差额是:'+IntToStr(a-b)+'元';
          end ;
         if lx=1 then  //换货情况
          begin

            bsSkinEdit3.Text:=IntToStr(a); //补差价,客户取这台机子的时候,还应补多少差价
            vcmon:=a;
            bsSkinEdit4.Text:='串号为:'+sp_bs.FieldValues['fno']+'换货,补换货差价:'+IntToStr(a)+'元';
          end  ;
vomon:=b;

end;

if s=2 then
begin
        b:=strtoint(spdisp.FieldValues['fomon']);
        c:=StrToInt(spdisp.FieldValues['fmon'])-StrToInt(spdisp.FieldValues['fcmon']);
        t:= spdisp.FieldValues['fmemo']  ;
     if mlx=2 then
     begin
       bsSkinEdit3.Text:=IntToStr(c+(a-b));
       vcmon:=a-b;
       bsSkinEdit4.Text:=leftstr(t,29)+IntToStr(a-b)+'元'
     end  ;
    if mlx=1 then        //换货情况
    begin
       bsSkinEdit3.Text:=IntToStr(a);
       vcmon:=a;
       bsSkinEdit4.Text:=leftstr(t,29)+IntToStr(a)+'元'  ;
 end;




end;
end;

procedure Tgzjfh_frm.acModifyExecute(Sender: TObject);
begin
  inherited;
s:=2;
bsSkinNumericEdit1.Clear;
bsSkinDBLookupComboBox10.KeyValue:=bsSkinDBLookupComboBox11.KeyValue;
//if spdisp.Active then
if spdisp.RecordCount>0 then
begin
  sp_hhddview.Close;
  sp_hhddview.Parameters.ParamValues['@fhrxx']:=bsSkinDBText2.Caption;
  sp_hhddview.Open;
   if sp_hhddview.Active then
     if sp_hhddview.RecordCount>0 then
      mlx:=1
      else
      mlx:=2;
     
end;

if mlx=1 then
begin
       bsSkinStdLabel14.Caption:='需补差价:';
       bsSkinNumericEdit1.Visible:=false;
       bsSkinMemo1.Lines.Clear;
       bsSkinMemo1.Lines.Add('    此机为客户由于技术原因退货,在换机等待,如果没有进行补价行为,推荐进行0价入库,如有补价行为,则在新机进货价处填上补价') ;
       bsSkinCheckRadioBox2.Visible:=true;
end;
if mlx=2 then
begin
       bsSkinStdLabel14.Caption:='新机进价:';
       bsSkinNumericEdit1.Visible:=true;
       bsSkinMemo1.Lines.Clear;
       bsSkinMemo1.Lines.Add('    此机为因技术原因而产生的退货,已换了其它类型的机子,新机重新入库时为避免利润重复,基价是原退货价,请新机进货价格处填上进货价钱');
       bsSkinCheckRadioBox2.Visible:=false;
       bsSkinCheckRadioBox2.Checked:=false;
end;
end;

procedure Tgzjfh_frm.acDeleteExecute(Sender: TObject);
begin
spsave.Parameters.ParamValues['@VHylx']:=hylx;
  inherited;
sp_bs.Close;
sp_bs.Open;
bsSkinNumericEdit1.Clear;
end;

procedure Tgzjfh_frm.bsSkinCheckRadioBox2Click(Sender: TObject);
begin
  inherited;
  if    bsSkinCheckRadioBox2.Visible then
    bsSkinNumericEdit1.Visible:=bsSkinCheckRadioBox2.Checked;
end;

procedure Tgzjfh_frm.bsSkinCheckRadioBox3Click(Sender: TObject);
begin
  inherited;
if bsSkinCheckRadioBox3.Checked=True then
  begin
    if lx=1 then //换机等待
        if bsSkinMessage1.MessageDlg('请仔细检查,'+#13+'本功能只适合于退机后,'+#13+'又没有故障,'+#13+'客户需要领原来的机子情况,'+#13+'删除后只能重新报损'+#13+'请慎重!!!!请慎重!!!!'+#13+'此种情况属于极特殊性情况'+#13+'一旦操作将不能恢复',mtInformation,[mbYes,mbNo],0)=mryes then
           begin
            bsSkinCheckRadioBox2.Enabled:=false;
            bsSkinEdit2.Text:=sp_bs.FieldValues['fno'];
            bsSkinEdit2.Enabled:=false;
          end
        else bsSkinCheckRadioBox3.Checked:=false;



    if lx=2 then  //退货机重新入库
        if bsSkinMessage1.MessageDlg('请仔细检查,'+#13+'本功能只适合于退机后,'+#13+'又没有故障,'+#13+'以原来的机子重新入库的情况,'+#13+'删除后只能重新报损'+#13+'请慎重!!!!请慎重!!!!'+#13+'此种情况属于极特殊性情况'+#13+'一旦操作将不能恢复',mtInformation,[mbYes,mbNo],0)=mryes then
            begin
             bsSkinEdit2.Text:=sp_bs.FieldValues['fno'];
             bsSkinEdit2.Enabled:=false;
             bsSkinNumericEdit1.Value:=sp_bs.FieldValues['fmon'];
            end
            else bsSkinCheckRadioBox3.Checked:=false;
    end;
end;
end.

⌨️ 快捷键说明

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