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

📄 uorder.~pas

📁 相关的销售服务管理行业的一个软件
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
unit Uorder;

interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, DBCtrls, StdCtrls, Buttons, Mask, Grids, DBGrids,
  ComCtrls, AppEvnts, ExtDlgs,jpeg,db, ADODB, Menus, EHGrids,QRCTRLS, DBGridEh,
  ToolWin;

type
   www=(add,updat,delt,browse);
  Tfrmorder = class(TForm)
    Panel1: TPanel;      Panel2: TPanel;    Label14: TLabel;    Label15: TLabel;
    Label16: TLabel;   Label19: TLabel;    Label20: TLabel;      DBNavigator1: TDBNavigator;   Panel3: TPanel;        GroupBox1: TGroupBox; Label25: TLabel;
    Label26: TLabel;
    Label27: TLabel;
    DBEdit1_1: TDBEdit;
    DBEdit1_2: TDBEdit;
    DTP1: TDateTimePicker;
    Label4: TLabel;
    Label6: TLabel;
    OpenPictureDialog1: TOpenPictureDialog;
    DBImage2: TDBImage;
    OpenPictureDialog2: TOpenPictureDialog;
    myAdo: TADOQuery;
    Label22: TLabel;
    DataSourceDD4: TDataSource;
    DSDD2: TDataSource;
    ADOQueryNDD2: TADOQuery;
    DataSourceDD3: TDataSource;
    DataSourceDD1: TDataSource;
    ADOQueryNDD1: TADOQuery;
    DSkh: TDataSource;
    ADOSPdelorder: TADOStoredProc;
    DSks: TDataSource;
    DSxx: TDataSource;
    DScolor: TDataSource;
    ADOQkh: TADOQuery;
    ADOcolor: TADOQuery;
    ADOQks: TADOQuery;
    DSorder4: TDataSource;
    ADOQorder4: TADOQuery;
    ADOSPcal: TADOStoredProc;
    ADOQuerydy: TADOQuery;
    ToolBar1: TToolBar;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn15: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn7: TBitBtn;
    BitBtn8: TBitBtn;
    BitBtn4: TBitBtn;
    BitBtn5: TBitBtn;
    BitBtn12: TBitBtn;
    BitBtn9: TBitBtn;
    BitBtn10: TBitBtn;
    BitBtn16: TBitBtn;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    DBGridEh2: TDBGridEh;
    ToolButton4: TToolButton;
    BitBtn17: TBitBtn;
    Label21: TLabel;
    DBEdit2_8: TDBEdit;
    BitBtn13: TBitBtn;
    ToolButton5: TToolButton;
    ADOQueryNDD1OrderNo: TWideStringField;
    ADOQueryNDD1OrderDate: TDateTimeField;
    ADOQueryNDD1CoName: TWideStringField;
    ADOQueryNDD1CgOverDate: TDateTimeField;
    ADOQueryNDD1Amount: TIntegerField;
    ADOQueryNDD1InPerson: TWideStringField;
    ADOQueryNDD2OrderNo: TWideStringField;
    ADOQueryNDD2R_name: TWideStringField;
    ADOQueryNDD2Make: TWideStringField;
    ADOQueryNDD2Amount: TIntegerField;
    ADOQueryNDD2Face: TWideStringField;
    ADOQueryNDD2Brand: TBlobField;
    ADOQueryNDD2Model: TWideStringField;
    ADOQueryNDD2Overdate: TDateTimeField;
    ADOQueryNDD2InPerson: TWideStringField;
    ADOQueryNDD2Picture: TBlobField;
    ADOQueryNDD2ZlDate: TDateTimeField;
    ADOQueryNDD2ScDate: TDateTimeField;
    ADOQueryNDD2SendDate: TDateTimeField;
    ADOQueryNDD2SCOverdate: TDateTimeField;
    ADOQueryNDD2MadePlanning: TBooleanField;
    DBGridEh4: TDBGridEh;
    GroupBox2: TGroupBox;
    DBGridEh1: TDBGridEh;
    ADOTable1: TADOTable;
    ADOTable1OrderNo: TWideStringField;
    ADOTable1R_name: TWideStringField;
    ADOTable1ShoesNo: TWideStringField;
    ADOTable1Color: TWideStringField;
    ADOTable1Face: TWideStringField;
    ADOTable1Size: TWideStringField;
    ADOTable1Amount: TIntegerField;
    ADOcolorCo_name: TWideStringField;
    ADOcolorStyle_num: TWideStringField;
    ADOcolorshoes_num: TWideStringField;
    ADOcolorCo_short: TWideStringField;
    ADOTable1coname: TStringField;
    Panel5: TPanel;
    DBImage1: TDBImage;
    ADOTable2: TADOTable;
    DBComboBox1: TDBComboBox;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BitBtn1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure BitBtn12Click(Sender: TObject);
    procedure BitBtn8Click(Sender: TObject);
    procedure BitBtn11Click(Sender: TObject);
    procedure BitBtn10Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure BitBtn9Click(Sender: TObject);
    procedure DBEdit3_3KeyPress(Sender: TObject; var Key: Char);
    procedure BitBtn15Click(Sender: TObject);
    procedure BitBtn16Click(Sender: TObject);
    procedure BitBtn7Click(Sender: TObject);
    procedure ADOTable1NewRecord(DataSet: TDataSet);
    procedure DBGridEh4ColEnter(Sender: TObject);
    procedure DBGridEh2EditButtonClick(Sender: TObject);
    procedure DBGridEh2ColEnter(Sender: TObject);
    procedure DSxxDataChange(Sender: TObject; Field: TField);
    procedure ADOQorder4BeforePost(DataSet: TDataSet);
    procedure ADOQueryNDD2NewRecord(DataSet: TDataSet);
    procedure BitBtn17Click(Sender: TObject);
    procedure DBEdit1_1Change(Sender: TObject);
    procedure DBGridEh2ColExit(Sender: TObject);
    procedure DBGridEh4CellClick(Column: TColumnEh);
    procedure BitBtn13Click(Sender: TObject);
    procedure DSDD2DataChange(Sender: TObject; Field: TField);
    procedure DBComboBox1DropDown(Sender: TObject);
    procedure DBImage2DblClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
     Flag:Boolean;
    { Private declarations }
  public
    procedure opendata(id1: string);
    { Public declarations }
  end;

var
  bl:string;
  frmorder: Tfrmorder;
  ks:string;
  FlagDD,flagpop1:boolean;
  RecNodd4: Integer;
  FlagSJ, strxy:string;
  act:www;
implementation
uses umain,U_DM, U_MXD, Udata, U_BZHFF, Uselorder, XS_PDingDan, js_cailiao,
  Ufunction, UJhMaterialName;
{$R *.DFM}

procedure Tfrmorder.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  DM.ADOQueryDD2.Active:=false;
  DM.ADOQueryDD3.Active:=false;
  ADOcolor.close;

  Frmmain.Outlook1.Visible :=true;
  frmmain.Panel1.Visible:=true;
  Frmmain.Panel2.Visible:=True;
  frmmain.LTitle.Caption:='';
  frmorder:=nil;
  action:=cafree;
end;

procedure Tfrmorder.BitBtn1Click(Sender: TObject);
const
   w: array [0..13]of boolean=(true,false,false,false,false,true,true,true,true,true,true,true,true,false);
begin
   act:=add;


   if ADOQueryNDD1.Active =false then
   ADOQueryNDD1.open;
   ADOQueryNDD1.Edit;
   ADOQueryNDD1.Append;
   DBEdit1_1.Text :=MyGetCode(40,false);
   DBEdit2_8.text:=Username;
   if ADOQkh.active=false then
    ADOQkh.open;
   if ADOTable2.active=false then
    ADOTable2.open;

   dbGrideh2.ReadOnly :=false;
   dbGrideh4.ReadOnly :=false;
   DBComboBox1.Enabled :=true;
   DTP1.Enabled:=true;
   DBImage2.Enabled :=true;
   ButEnabled(toolbar1,w);


end;

procedure Tfrmorder.FormShow(Sender: TObject);
begin
  frmmain.Outlook1.Visible:=False;
  frmmain.Panel1.Visible:=true;
  frmmain.Panel2.Visible:=false;
end;

procedure Tfrmorder.BitBtn3Click(Sender: TObject);
const
   w: array [0..13]of boolean=(true,true,true,true,true,false,false,false,false,false,false,false,false,true);
var
i:integer;
begin
  if Trim(DBEdit1_1.text) = '' then
  begin
    Application.MessageBox('请输入订单编号!','提示',64);
    DBEdit1_1.SetFocus;
    exit;
  end;

  if DBComboBox1.text = '' then
  begin
    Application.MessageBox('请输入订单公司!','提示',64);
    DbComboBox1.SetFocus ;
    exit;
  end;
  dm.ADOConnection.BeginTrans ;
    try
      if (adoqorder4.RecordCount<=0) then
      begin
          Application.MessageBox('请汇总数量!','提示',64);
          dm.ADOConnection.RollbackTrans ;
          exit;
      end;
      ADOQorder4.Edit;
      ADOQorder4.UpdateBatch ;
      adoqueryndd2.First;
      for i:=0 to  adoqueryndd2.RecordCount-1 do
      begin
         ADOTable1.UpdateBatch ;
         adoqueryndd2.Next;
      end;
      ADOQueryNDD2.updatebatch;
      ADOQueryNDD1.edit;
      ADOQueryNDD1.FieldByname('OrderDate').AsDatetime:=DTP1.Date ;
      ADOQueryNDD1.UpdateBatch ;

      dm.ADOConnection.CommitTrans ;
      ButEnabled(toolbar1,w);
      MyGetCode(40,true);
      dbgrideh2.readonly:=true;
      dbgrideh4.readonly:=true;
      DBImage2.Enabled :=false;
      DBComboBox1.Enabled :=false;
      DTP1.enabled:=false;
      Application.MessageBox('保存数据成功!','提示',MB_OK+MB_ICONQUESTION);
    except
      Application.MessageBox('保存数据失败!','错误',0+16);
      dm.ADOConnection.RollbackTrans ;
    end;
end;

procedure Tfrmorder.BitBtn4Click(Sender: TObject);
begin
   ADOQueryNDD2.Append ;
end;

procedure Tfrmorder.BitBtn2Click(Sender: TObject);
begin
  If DBEdit1_1.text='' then  exit;
  if Application.MessageBox('确定删除该订单全部资料吗?','确认',MB_YESNO+MB_ICONQUESTION) = IDYES then
    begin
      ADOSPdelorder.Close;
      ADOSPdelorder.Parameters[1].Value:=DBEdit1_1.text;
      ADOSPdelorder.ExecProc;
     // ADOQueryNDD1.Delete;
     DBEdit1_1.Text:='';
    end;
end;

procedure Tfrmorder.BitBtn5Click(Sender: TObject);
begin
    ADOQueryNDD2.Delete;
end;

procedure Tfrmorder.BitBtn12Click(Sender: TObject);
begin
   adoqueryndd2.refresh;
  if ADOQueryNDD2.RecordCount >0 then
  begin
    if not AdoTable1.Active then  AdoTable1.Open;
    AdoTable1.Append;
 end;
//-----------------------------------------------------------------------------
end;

procedure Tfrmorder.BitBtn8Click(Sender: TObject);
begin
  close;
end;

procedure Tfrmorder.BitBtn11Click(Sender: TObject);
var
 rect:trect;
 externname:string;
 jpg:tjpegimage;
  pnh, pnw: Integer;
  pch, pcw: Integer;
begin
 try
  if OpenPictureDialog1.Execute then
   begin
      externname:=ExtractFileExt(OpenPictureDialog1.FileName);
      if StrComp(pchar(uppercase(externname)),pchar(uppercase('.bmp')))=0 then
      begin
          dbimage1.Picture.LoadFromFile(OpenPictureDialog1.filename);
      end
      else
         if StrComp(pchar(uppercase(externname)),pchar(uppercase('.jpg')))=0 then
         begin
          jpg:=tjpegimage.create;
          jpg.LoadFromFile(OpenPictureDialog1.filename);
          dbimage1.Picture.Graphic.Assign (jpg);
          end;
    end;

  pnh := Panel5.Height-4;
  pnw := Panel5.Width-4;
  pch := DBImage1.Picture.Height;
  pcw := DBImage1.Picture.Width;

  with DBImage1 do
  begin
    if (pcw <= pnw) and (pch <= pnh) then
    begin
      Left := 2 + (pnw-pcw) div 2 ;
      Top := 2 + (pnh-pch) div 2;
      Height := pch;
      Width := pcw;
      Exit;
    end;

    if pnh/pnw >= pch/pcw then
    begin
      Left := 2;
      Width := pnw;
      Height := pch * pnw div pcw;
      Top := 2 + (pnh - Height) div 2;
    end
    else begin
      Top := 2;
      Height := pnh;
      Width := pnh * pcw div pch;
      Left := 2 + (pnw -Width) div 2;
    end;
  end;

except
    messagebox(handle,'此文件格式无效!','错误',mb_ok+mb_iconerror);
end;
end;

procedure Tfrmorder.BitBtn10Click(Sender: TObject);
var
  I:integer;
  j,amount:integer;
  shoesno,csize,color,r_name:string;
  tempquery:Tadoquery;
begin
 dm.ADOConnection.BeginTrans ;
 tempquery:=Tadoquery.create(nil);
 tempquery.Connection :=dm.ADOConnection ;
 try
  with tempquery do
  begin
           close;
           sql.clear;
           sql.add('delete from xs_order4 where orderno='+''''+trim(DBEdit1_1.text)+'''');
           execsql;
  end;
 adoqorder4.first;
 for j:=0 to adoqorder4.recordcount-1 do
 begin
    adoqorder4.delete;
    adoqorder4.next;
 end;
 adoqorder4.close ;
 adoqorder4.open;

 ADOQueryNDD2.first;
 for i:=0 to ADOQueryNDD2.recordcount-1 do
 begin
     with tempquery do
     begin
           close;
           sql.clear;
           sql.add('delete from xs_temp');
           execsql;
     end;
     adotable1.first;
     for j:=0 to adotable1.RecordCount-1 do
     begin
           shoesno:=adotable1.FieldByName('shoesno').AsString;
           csize:=adotable1.fieldbyname('size').AsString;
           amount:=adotable1.fieldbyname('amount').Asinteger ;
           r_name:=adotable1.fieldbyname('r_name').AsString ;
           color:=adotable1.fieldbyname('color').AsString ;
           with tempquery do
           begin
               close;
               sql.clear;
               sql.add('insert into xs_temp  (shoesno,csize,amount,color,r_name) values ('+''''+shoesno+''''+','+csize+','+IntToStr(amount)+','+''''+color+''''+','+''''+r_name+''''+')');
               execsql;
           end;
           adotable1.next;
     end;
     with  tempquery do
     begin
         close;
         sql.Clear ;
         sql.add('select shoesno,sum(amount)  As ww ,color,r_name from xs_temp group by shoesno,color,r_name');
         open;
     end;
     tempquery.first;
     for j:=0 to tempquery.RecordCount-1 do
     begin
         adoqorder4.Append ;
         ADOQorder4.FieldByName('R_name').AsString:=tempquery.fieldbyname('r_name').AsString;
         ADOQorder4.FieldByName('Total').AsString:=tempquery.fieldbyname('ww').AsString;
         ADOQorder4.FieldByName('Color').AsString:=tempquery.fieldbyname('color').AsString;
         ADOQorder4.FieldByName('ShoesNo').AsString:=tempquery.fieldbyname('shoesno').AsString;
         adoqorder4.post;
         tempquery.next;
     end;
     ADOQueryNDD2.next;
 end;
 tempquery.Free;
 dm.ADOConnection.CommitTrans ;
 except
   Application.MessageBox('数据计算失败!','错误',0+16);
   tempquery.Free;

⌨️ 快捷键说明

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