<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%> Insert - Update Event <% CheckSecurity(1) Dim idInt Dim DateInt Dim CustInt Dim idEmpl Dim FullDay Dim BeginTime Dim EndTime Dim JobDescription Dim FlagDebut Dim FlagFin Dim BTH Dim BTM Dim ETH Dim ETM idInt = 0 DateInt = "" CustInt = "" idEmpl = 0 BeginTime = "" EndTime = "" JobDescription = "" FlagDebut = "" FlagFin = "" BTH = 0 BTM = 0 ETH = 0 ETM = 0 idInt = GetParam("IDInt") Set rs_original_int = Server.CreateObject("ADODB.Recordset") sql_original_int = "SELECT * FROM reldatelieupers_2 WHERE id='" & idInt & "'" openrs rs_original_int, sql_original_int While not rs_original_int.eof Original_CustInt = rs_original_int("CustInt") Original_idEmpl = rs_original_int("idEmpl") Original_FlagDebut = rs_original_int("FlagDebut") Original_FlagFin = rs_original_int("FlagFin") Original_BeginTime = rs_original_int("BeginTime") Original_EndTime = rs_original_int("EndTime") rs_original_int.movenext Wend rs_original_int.close set rs_original_int = nothing dayOriginalFlagDebut = day(Original_FlagDebut) monthOriginalFlagDebut = month(Original_FlagDebut) yearOriginalFlagDebut = year(Original_FlagDebut) Original_FlagDebutToSql = yearOriginalFlagDebut & "-" & monthOriginalFlagDebut & "-" & dayOriginalFlagDebut dayOriginalFlagFin = day(Original_FlagFin) monthOriginalFlagFin = month(Original_FlagFin) yearOriginalFlagFin = year(Original_FlagFin) Original_FlagFinToSql = yearOriginalFlagFin & "-" & monthOriginalFlagFin & "-" & dayOriginalFlagFin DateInt = GetParam("DateInt") WeekNumInt = DatePart("ww",DateInt,2,3) CustInt = GetParam("CustInt") IdEmpl = GetParam("IdEmpl") FullDay = GetParam("FullDay") BTH = GetParam("BeginTimeHour") BTM = GetParam("BeginTimeMinutes") ETH = GetParam("EndTimeHour") ETM = GetParam("EndTimeMinutes") JobDescription = GetParam("JobDescription") FlagDebut = FormatDateTime(GetParam("FlagDebut"),2) dayFlagDebut = day(FlagDebut) monthFlagDebut = month(FlagDebut) yearFlagDebut = year(FlagDebut) FlagDebutToSql = yearFlagDebut & "-" & monthFlagDebut & "-" & dayFlagDebut FlagFin = FormatDateTime(GetParam("CalOutputElm"),2) dayFlagFin = day(FlagFin) monthFlagFin = month(FlagFin) yearFlagFin = year(FlagFin) FlagFinToSql = yearFlagFin & "-" & monthFlagFin & "-" & dayFlagFin Sameday = 0 If FlagDebutToSql = FlagFinToSql then SameDay = 1 end if If FullDay = "on" then FullDay = 1 BeginTime = "00:00" EndTime = "23:59" else FullDay = 0 BeginTime = BTH & ":" & BTM If CStr(ETH) = "24" AND Cstr(ETM) = "0" then EndTime = "23:59" else EndTime = ETH & ":" & ETM end if If IsDate(BeginTime) AND IsDate(EndTime) then BeginTime = FormatDateTime(BeginTime,4) EndTime = FormatDateTime(EndTime,4) else Response.Redirect("EBModifyEvent.asp?DateInt=" & DateInt & "&idEmpl=" & idEmpl & "&BTH=" & BTH & "&BTM=" & BTM & "Ð=" & ETH & "&ETM=" & ETM & "&FullDay=" & FullDay & "&CustInt=" & CustInt & "&JobDescription=" & JobDescription & "&FlagDebut=" & FlagDebut & "&CalOutputElm=" & FlagFin & "&IDInt=" & idInt & "&Mess=4") end if end if DateCalcul = DateDiff("n",BeginTime,EndTime) If DateCalcul < 0 then RecordBeginTime = EndTime RecordEndTime = BeginTime else RecordBeginTime = BeginTime RecordEndTime = EndTime end if RecordBeginTime = RecordBeginTime & ":00" RecordEndTime = RecordEndTime & ":00" wrong_date_check = DateDiff("d",Original_FlagDebut,FlagFin) If wrong_date_check < 0 then Response.Redirect("EBModifyEvent.asp?DateInt=" & DateInt & "&idEmpl=" & idEmpl & "&BTH=" & BTH & "&BTM=" & BTM & "Ð=" & ETH & "&ETM=" & ETM & "&FullDay=" & FullDay & "&CustInt=" & CustInt & "&JobDescription=" & JobDescription & "&FlagDebut=" & FlagDebut & "&CalOutputElm=" & FlagFin & "&IDInt=" & idInt & "&Mess=5") end if '''''''''''''''''''''''''''''''''''''' ' Mise à jour des éléments existants ' '''''''''''''''''''''''''''''''''''''' set rs_list_event = Server.CreateObject("ADODB.recordset") sql_list_event = "SELECT * FROM reldatelieupers_2 where CustInt=" & ToSQL(Original_CustInt, "Text") & " AND idEmpl=" & Original_idEmpl & " AND FlagDebut='" & Original_FlagDebutToSql & "' AND FlagFin='" & Original_FlagFinToSql & "'" If SameDay = 1 then sql_list_event = sql_list_event & " AND BeginTime='" & Original_BeginTime & "' AND EndTime='" & Original_EndTime & "'" end if openrs rs_list_event, sql_list_event cptdays = 0 while not rs_list_event.eof tmpRecordTime = Dateserial(yearOriginalFlagDebut,monthOriginalFlagDebut,dayOriginalFlagDebut+cptdays) tmpRecordDay = day(tmpRecordTime) tmpRecordMonth = month(tmpRecordTime) tmpRecordYear = year(tmpRecordTime) tmpRecordTime = tmpRecordYear & "-" & tmpRecordMonth & "-" & tmpRecordDay set rs_update = Server.CreateObject("ADODB.recordset") sql_update = "update reldatelieupers_2 set " & _ "CustInt=" & ToSQL(CustInt, "Text") & _ ",idEmpl=" & ToSQL(idEmpl, "Number") & _ ",FullDay=" & ToSQL(FullDay, "Number") & _ ",BeginTime=" & ToSQL(RecordBeginTime, "Text") & _ ",EndTime=" & ToSQL(RecordEndTime, "Text") & _ ",JobDescription=" & ToSQL(JobDescription, "Text") & _ ",FlagDebut=" & ToSQL(FlagDebutToSql, "Text") & _ ",FlagFin=" & ToSQL(FlagFinToSql, "Text") & _ " where id=" & rs_list_event("id") 'Response.Write("sql_update : " & sql_update & "
") openrs rs_update, sql_update cptdays = cptdays + 1 rs_list_event.movenext wend rs_list_event.close set rs_list_event = nothing ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Analyse et insetion / suppression des éléments sortant des daters d'origine ' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' same_end_date_check = DateDiff("d",Original_FlagFin,FlagFin) if same_end_date_check < 0 then 'Response.Write("same_end_date_check : " & same_end_date_check & "
") real_end_date = Dateserial(yearOriginalFlagFin,monthOriginalFlagFin,dayOriginalFlagFin+same_end_date_check) 'Response.Write("real_end_date : " & real_end_date & "
") same_end_date_check = same_end_date_check + 1 For cptdays = 0 to same_end_date_check Step -1 'Response.Write("cptdays : " & cptdays & "
") tmpRecordTime = Dateserial(yearOriginalFlagFin,monthOriginalFlagFin,dayOriginalFlagFin+cptdays) tmpRecordDay = day(tmpRecordTime) tmpRecordMonth = month(tmpRecordTime) tmpRecordYear = year(tmpRecordTime) tmpRecordTime = tmpRecordYear & "-" & tmpRecordMonth & "-" & tmpRecordDay 'Response.Write("tmpRecordTime : " & tmpRecordTime & "
") set rs_delete = Server.CreateObject("ADODB.recordset") sql_delete = "delete from reldatelieupers_2 where DateInt='" & tmpRecordTime & "'AND CustInt=" & ToSQL(CustInt, "Text") & " AND idEmpl=" & idEmpl & " AND FullDay=" & FullDay & " AND BeginTime='" & RecordBeginTime & "' AND EndTime='" & RecordEndTime & "' AND FlagDebut='" & FlagDebutToSql & "' AND FlagFin='" & FlagFinToSql & "'" 'Response.Write(sql_delete & "
") openrs rs_delete, sql_delete next elseif same_end_date_check > 0 then 'Response.Write("same_end_date_check : " & same_end_date_check & "
") real_end_date = Dateserial(yearOriginalFlagFin,monthOriginalFlagFin,dayOriginalFlagFin+same_end_date_check) 'Response.Write("tmpRecordTime : " & real_end_date & "
") For cptdays = 1 to same_end_date_check tmpRecordTime = Dateserial(yearOriginalFlagFin,monthOriginalFlagFin,dayOriginalFlagFin+cptdays) tmpRecordDay = day(tmpRecordTime) tmpRecordMonth = month(tmpRecordTime) tmpRecordYear = year(tmpRecordTime) tmpRecordTime = tmpRecordYear & "-" & tmpRecordMonth & "-" & tmpRecordDay set rs_insert = Server.CreateObject("ADODB.recordset") SQL_insert = "insert into reldatelieupers_2 (" & _ "DateInt," & _ "CustInt," & _ "idEmpl," & _ "FullDay," & _ "BeginTime," & _ "EndTime," & _ "JobDescription," & _ "FlagDebut," & _ "FlagFin)" & _ " values (" & _ ToSQL(tmpRecordTime, "Text") & "," & _ ToSQL(CustInt, "Text") & "," & _ ToSQL(idEmpl, "Number") & "," & _ ToSQL(FullDay, "Number") & "," & _ ToSQL(RecordBeginTime, "Text") & "," & _ ToSQL(RecordEndTime, "Text") & "," & _ ToSQL(JobDescription, "Text") & "," & _ ToSQL(FlagDebutToSql, "Text") & "," & _ ToSQL(FlagFinToSql, "Text") & _ ")" 'Response.Write(SQL_insert & "
") openrs rs_insert, SQL_insert next end if Response.Redirect("EBAgenda.asp?Semaine=" & WeekNumInt & "") %>