
04/09/2005, 16:05
|
| | Fecha de Ingreso: octubre-2004
Mensajes: 142
Antigüedad: 20 años, 4 meses Puntos: 0 | |
Ok, algunas cosas se que no estan bien pero es la desesperacion la que me ha hecho hacerle de todo
el codigo c#
private void dgMesEmpleado_SelectedIndexChanged(object sender, System.EventArgs e)
{
btnSumaMes.Visible=true;
btnRestaMes.Visible=true;
lblMesElige.Visible=true;
dbManager dbm=new dbManager();
string Asist="exec getFechaInicioFin '"
+ lblFecha.Text +"',"
+ dgMesEmpleado.SelectedItem.Cells[0].Text.ToString(); dbm.FillDataGrid(Asist,dgSemana,"tblSemanaAsistenc ia");
lblAsist.Text=dbm.GetScalar(Asist);
string Ret="exec getAsistenciaCuentaRetardoSemana "
+ lblFecha.Text +","
+ dgMesEmpleado.SelectedItem.Cells[0].Text.ToString();
blRet.Text=dbm.GetScalar(Ret);
int Falta=Convert.ToInt32(6-(Convert.ToInt32(lblAsist.Text)
+Convert.ToInt32(lblRet.Text)));
lblFalta.Text=Convert.ToString(Falta);
dgSemana.Visible=true;
string ini=dbm.Table("tblSemanaAsistencia").Rows[0]["inicio"].ToString();
string fin=dbm.Table("tblSemanaAsistencia").Rows[0]["final"].ToString();
ini=DateTime.Parse(ini).ToString("yyyyMMdd");
fin=DateTime.Parse(fin).ToString("yyyyMMdd");
string getQueryString="exec getAsistenciaCuentaAsisSemana '"
+ini+"','"
+fin+"',"
+dgMesEmpleado.SelectedItem.Cells[0].Text.ToString();
string i=dbm.GetScalar(getQueryString);
dbm.FillDataGrid(getQueryString,dg1,"tblConteo");
}
Este codigo estaba resumido pero es el que estoy usando para las pruebas, ahora el sp general y el especifico
sp General:
ALTER procedure getAsistenciaSemana
@idFechas char(10),
@rfc char(13)
AS
DECLARE @inicio int
DECLARE @fin int
DECLARE @fini datetime
DECLARE @ffin datetime
DECLARE @dia int
declare @asis int
declare @ret int
declare @falta int
declare @idFecha datetime
SET DATEFIRST 7
SET dateformat YMD
/*select @idfecha=CONVERT(VARCHAR(10), @idfechas)*/
select @dia=( SELECT DATEPART(dw,@idfechas) )/*AS DiaSemana*/
SELECT @inicio=(@dia-1)*-1
SELECT @fin=7-@dia
IF @inicio=0
SELECT @fini=@idFechas
ELSE
SELECT @fini=DATEADD(dd,@inicio,@idFechas)
IF @ffin=0
SELECT @ffin=@idFechas
ELSE
SELECT @ffin=DATEADD(dd,@fin,@idFechas)
select @ret=(select count(atiempo) from vasistencias where atiempo=0 and rfc =@rfc)
select @asis=(select count(atiempo) from vasistencias where atiempo=1 and rfc =@rfc)
select @falta=(Select 6-(@ret+@asis))
Select @asis as Asistencias ,@ret as Retardos,@falta as Faltas
update asissemana
set asistencias=@asis,retardo=@ret, falta=@falta
Select * from asissemana
RETURN
el sp especifico
ALTER procedure getAsistenciaCuentaAsisSemana
@fini char(10),
@ffin char(10),
@rfc char(13)
AS
SET dateformat YMD
declare @asis int
select @asis=(select count(atiempo) from vasistencias where atiempo=1 and rfc =@rfc AND idfecha>=@fini and idfecha<=@ffin )
select @asis as asistencias
update asissemana
set asistencias=@asis
Select * from asissemana
RETURN
Espero me puedan ayudar, ya estoy desesperado!!!! |