📄 bdegreso.~pas.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 + -