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

📄 bdegreso.~pas.svn-base

📁 example delphi with database
💻 SVN-BASE
字号:
unit BDEgreso;

interface
uses TDataConexion,ADODB,DB,SysUtils,Variants;
type
   TEgreso = class
    private
    idegreso : integer;
    codbarra : string;
    fecha_egreso : string;
    cantidad : integer;
    precio_venta : real;
    tipo : string;
    idusuario : integer;
    Query : TADOQuery;
    StoredProc: TADOStoredProc;
    public
    constructor Create();
    destructor Destroy; override;
    function Insertar():integer;
    procedure setIdEgreso(id:integer);
    procedure setIdArticulo(id:string);
    procedure setFecha(fecha:string);
    procedure setCantidad(cant:string);
    procedure setPrecio(precio:string);
    procedure setTipo(tipo:string);
    procedure setIdUsuario(id:integer);
    function getIdEgreso():integer;
    function getIdArticulo():string;
    function getFecha():string;
    function getCantidad():string;
    function getPrecio():real;
    function getTipo():string;
    function getIdUsuario():integer;
    function InformeVentas(fechaDesde:string;fechaHasta:string):boolean;
   end;

implementation
constructor TEgreso.Create();
begin
   inherited Create;
   Query:=TADOQuery.Create(nil);
   Query.Connection:=Database.Conexion;
   StoredProc:=TADOStoredProc.Create(nil) ;
   StoredProc.Connection:=Database.Conexion;
   idegreso := -1;
   codbarra := '';
   fecha_egreso :='';
   cantidad :=0;
   precio_venta:=0;
   idusuario :=-1;
   tipo := '';
end;

destructor TEgreso.Destroy();
begin
       StoredProc.Connection:=Nil;
       StoredProc.Free;
       inherited Destroy;
end;



function TEgreso.Insertar():integer;
var resultado:integer;
begin
      StoredProc.ProcedureName:='alta_egreso';
      StoredProc.Parameters.CreateParameter('@icantidad',ftInteger,pdInput,1,cantidad);
      StoredProc.Parameters.CreateParameter('@ccod_barra',ftString,pdInput,100,codBarra);
      StoredProc.Parameters.CreateParameter('@cfecha',ftString,pdInput,10,fecha_egreso);
      StoredProc.Parameters.CreateParameter('@iusuario',ftInteger,pdInput,1,idusuario);
      StoredProc.Parameters.CreateParameter('@ctipo',ftString,pdInput,1,tipo);
      StoredProc.Parameters.CreateParameter('@fprecio',ftFloat,pdInput,1,precio_venta);
      StoredProc.Parameters.CreateParameter('@retorno',ftInteger,pdInputOutput,0,0);
      StoredProc.Prepared:=True;
      StoredProc.ExecProc;
      resultado:=StoredProc.Parameters.ParamValues['@retorno'];
      StoredProc.Parameters.Clear;
      Insertar:=resultado;
end;


procedure TEgreso.setIdEgreso(id:integer);
begin
       self.idegreso := id;
end;

procedure TEgreso.setIdArticulo(id:string);
begin
     self.codbarra := id;
end;

procedure TEgreso.setFecha(fecha:string);
begin
   self.fecha_egreso := fecha;
end;


procedure TEgreso.setCantidad(cant:string);
begin
      self.cantidad :=StrToInt(cant);

end;

procedure TEgreso.setPrecio(precio:string);
var code:integer;
begin
     Val(precio,self.precio_venta,code);
end;

procedure TEgreso.setTipo(tipo:string);
begin
     self.tipo:=tipo;
end;

procedure TEgreso.setIdUsuario(id:integer);
begin
   self.idusuario := id;
end;

function TEgreso.getIdEgreso():integer;
begin
    getIdEgreso := self.idegreso
end;

function TEgreso.getIdArticulo():string;
begin
     getIdarticulo := self.codbarra;
end;

function TEgreso.getFecha():string;
begin
    getFecha := self.fecha_egreso;
end;

function TEgreso.getCantidad():string;
begin
   getCantidad :=IntToStr(self.cantidad);
end;

function TEgreso.getPrecio():real;
begin
   getPrecio := self.precio_venta;
end;

function TEgreso.getTipo():string;
begin
   getTipo := self.tipo;
end;

function TEgreso.getIdUsuario():integer;
begin
   getIdUsuario := self.idusuario
end;

function TEgreso.InformeVentas(fechaDesde:string;fechaHasta:string):boolean;
begin
     Query.Close;
     Query.SQL.Clear;
     Query.Parameters.Clear;
     Query.Parameters.CreateParameter('fechaDesde',ftString,pdInput,10,fechaDesde);
     Query.Parameters.CreateParameter('fechaHasta',ftString,pdInput,10,fechaHasta);
     Query.SQL.Add('select fecha_egreso ,sum(cantidad) as cantidad,' +
                   'sum(precio_venta*cantidad) as total ' +
                   'from egreso group by fecha_egreso '+
                   'having fecha_egreso between :fechaDesde and :fechaHasta');
     Query.Prepared:=True;
     Query.Open;
     if not Query.IsEmpty then
     begin
          Query.Parameters.Clear;
          Database.DSource.DataSet := Query;  //no debo liberar el query
          InformeVentas:=True;
     end
     else
         begin
                Query.Parameters.Clear;
                InformeVentas:=False;
         end;
end;

end.

⌨️ 快捷键说明

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