/
ivan
/
ModMas
Обзор
Документация
Войти
/
ivan
/
ModMas
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
ModuleMaster/ga/transport.aspx.vb
245 строк
10 KB
i.krivokon
Initial commit
13 мар 2026, 13:49
13 мар 2026, 13:49
00d9fb6
Код
Авторство
О чём код?
Imports sharedClasses.dbFunctions Partial Class GA_transport Inherits System.Web.UI.Page Private sqlf As New SqlFunctions Private a As sharedClasses.Auth.auth Private Sub authorize(mode As String) a = New sharedClasses.Auth.auth(mode, IIf(Request.UserHostAddress = "::1", "106.109.72.69", Request.UserHostAddress)) End Sub Protected Sub Page_PreLoad(sender As Object, e As EventArgs) Handles Me.PreLoad Try Auth1.currentUser = Session("UserName") Catch ex As Exception End Try End Sub Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load If Auth1.currentUser <> "" Then authorize("SESSION") Else authorize("SSO") End If edgDriversDaily.Message = "" edgDriversDaily.UserName = a.userId edgCarsDaily.UserName = a.userId edgDriversMaster.UserName = a.userId edgRoutes.UserName = a.userId edgWorkingDays.UserName = a.userId If IsPostBack Then edgDriversDaily.gridNotice.Visible = False edgCarsDaily.gridNotice.Visible = False edgDriversMaster.gridNotice.Visible = False edgRoutes.gridNotice.Visible = False End If End Sub Private Sub formLogout() Handles Auth1.Logout authorize("SSO") edgDriversDaily.UserName = a.userId edgCarsDaily.UserName = a.userId edgDriversMaster.UserName = a.userId edgRoutes.UserName = a.userId edgWorkingDays.UserName = a.userId edgDriversDaily.RefreshData() edgCarsDaily.RefreshData() edgDriversMaster.RefreshData() edgRoutes.RefreshData() End Sub Protected Sub Page_SaveStateComplete(sender As Object, e As EventArgs) Handles Me.SaveStateComplete edgDriversDaily.CreateGroupingText() edgCarsDaily.CreateGroupingText() edgDriversMaster.CreateGroupingText() End Sub Protected Sub UpdateTimeFromV2(sender As Object, e As CommandEventArgs) Handles edgDriversDaily.ActionRequest If e.CommandArgument = "GET_V2_TIME" Then Dim sql As New StringBuilder sql.AppendLine(" WITH V2 as( ") sql.AppendLine("select ") sql.AppendLine("dd.[date] ") sql.AppendLine(",dd.Driver_name ") sql.AppendLine(",dl.CARD_No ") sql.AppendLine(", MIN(ATT.START) as [START] ") sql.AppendLine(", MAX(ATT.FINISH) as [FINISH]") sql.AppendLine(", MAX(cast(RS.regdate as time(0))) as lunch_time ") sql.AppendLine("from UserModules.[user].DRIVER_DAILY dd ") sql.AppendLine("left join UserModules.[user].DRIVERS_LIST dl ") sql.AppendLine("on dd.DRIVER_NAME = dl.NAME ") sql.AppendLine("left join ( ") sql.AppendLine("select ") sql.AppendLine("work_date, cardno, ") sql.AppendLine("convert(varchar,min(regdate), 108) as START, ") sql.AppendLine("convert(varchar,max(regdate),108) as FINISH ") sql.AppendLine("from hr.dbo.CHECK_CARD_LOG ") sql.AppendLine("where factoryname = 'karaxanyan' and work_date > '" & Date.Today.AddDays(-28).ToString("yyyy-MM-dd") & "' ") sql.AppendLine("group by work_date, cardno ") sql.AppendLine(") ATT ") sql.AppendLine("on dd.[date] = ATT.work_date collate Cyrillic_General_CI_AI ") sql.AppendLine("and dl.CARD_No = ATT.cardno collate Cyrillic_General_CI_AI ") sql.AppendLine("left join [UserModules].[user].[RESTAURANT_STATISTICS] RS ") sql.AppendLine("on dl.CARD_No = RS.CARDNO ") sql.AppendLine("and dd.[DATE] = cast(RS.regdate as date) ") sql.AppendLine("where dd.[DATE] > '" & Date.Today.AddDays(-28).ToString("yyyy-MM-dd") & "' and dl.ACTIVE_194 = 'Y' ") sql.AppendLine("GROUP BY dd.[date], dd.Driver_name, dl.CARD_No ) ") sql.AppendLine(" ") sql.AppendLine("MERGE UserModules.[user].DRIVER_DAILY AS TARGET ") sql.AppendLine("USING V2 AS SRC ") sql.AppendLine("ON TARGET.[DATE] = SRC.[DATE] ") sql.AppendLine("AND TARGET.DRIVER_NAME LIKE '%' + SRC.DRIVER_NAME + '%' ") sql.AppendLine("AND TARGET.DATE > '" & Date.Today.AddDays(-28).ToString("yyyy-MM-dd") & "' ") sql.AppendLine("WHEN MATCHED THEN ") sql.AppendLine(" UPDATE SET TARGET.ACTUAL_START = SRC.START, ") sql.AppendLine(" TARGET.ACTUAL_END = SRC.FINISH, ") sql.AppendLine(" target.LUNCH_TIME = src.lunch_time ; ") sql.AppendLine(" ") 'sql.AppendLine("WHERE TARGET.DATE > ''" & Date.Today.AddDays(-7).ToString("yyyy-MM-dd") & "' ; ") edgDriversDaily.Message = "Updated: " & sqlf.NonQuery(sql.ToString) edgDriversDaily.RefreshData() End If End Sub Protected Sub UpdateCarsDailyStat(sender As Object, e As CommandEventArgs) Handles edgCarsDaily.ActionRequest If e.CommandArgument = "GET_STAT" Then Dim sql As New StringBuilder sql.AppendLine("with stat as ( ") sql.AppendLine("SELECT ") sql.AppendLine("[date], car_number, ") sql.AppendLine("min(start_odo) as start_odo, ") sql.AppendLine("max(end_odo) as end_odo, ") sql.AppendLine("max(end_odo) - min(start_odo) as mileage, ") sql.AppendLine("sum(fuel) as fuel ") sql.AppendLine("from UserModules.[user].ROUTES_DAILY ") sql.AppendLine("group by [date], car_number) ") sql.AppendLine("MERGE UserModules.[user].Car_daily as trg ") sql.AppendLine("USING stat as src ") sql.AppendLine("ON trg.[date] = src.[date] and trg.car_number = src.car_number ") sql.AppendLine("WHEN MATCHED THEN ") sql.AppendLine("UPDATE SET trg.start_odo = src.start_odo, ") sql.AppendLine("trg.end_odo = src.end_odo, ") sql.AppendLine("trg.mileage = src.mileage, ") sql.AppendLine("trg.fuel_liters = src.fuel ") sql.AppendLine("WHEN NOT MATCHED THEN ") sql.AppendLine("INSERT ([date], CAR_NUMBER, START_ODO, END_ODO, MILEAGE, FUEL_LITERS) ") sql.AppendLine("VALUES (src.[date], src.CAR_NUMBER, src.START_ODO, src.END_ODO, src.MILEAGE, src.FUEL); ") edgCarsDaily.Message = "Updated: " & sqlf.NonQuery(sql.ToString) edgCarsDaily.RefreshData() End If End Sub Protected Sub checkingApprovalStatus(ByRef row As GridViewRow, ByRef isReadonly As Boolean) Handles edgDriversDaily.RowDataBinding 'Try If row.RowType = DataControlRowType.DataRow Then Dim rowView As Data.DataRowView = CType(row.DataItem, Data.DataRowView) If Not IsDBNull(rowView("OPERATOR_APPROVE")) Then If rowView("OPERATOR_APPROVE") = "Y" Or rowView("OPERATOR_APPROVE") = "true" Then isReadonly = True End If End If If Not IsDBNull(rowView("MANAGER_APPROVE")) Then If rowView("MANAGER_APPROVE") = "Y" Or rowView("MANAGER_APPROVE") = "true" Then isReadonly = True End If End If End If 'Catch ex As Exception 'End Try End Sub Protected Sub enableApprovalDecisionChange(ByRef row As GridViewRow) Handles edgDriversDaily.RowDataBoundComplete If row.RowType = DataControlRowType.DataRow Then Dim rowView As Data.DataRowView = CType(row.DataItem, Data.DataRowView) Dim managerApprove As Boolean If Not IsDBNull(rowView("MANAGER_APPROVE")) Then If rowView("MANAGER_APPROVE") = "Y" Or rowView("MANAGER_APPROVE") = "true" Then managerApprove = True Else managerApprove = False End If Else managerApprove = False End If Dim approve As Boolean If Not IsDBNull(rowView("OPERATOR_APPROVE")) Then If rowView("OPERATOR_APPROVE") = "Y" Or rowView("OPERATOR_APPROVE") = "true" Then approve = True Else approve = False End If Else approve = False End If 'edgDriversDaily.Message = edgDriversDaily.fields If managerApprove Then row.Style.Add("background-color", "lightgreen") If edgDriversDaily.fields.Contains("MANAGER_APPROVE") Then row.Cells(row.Cells.Count - 2).CssClass &= " ajaxedit click" End If row.Cells(row.Cells.Count - 3).CssClass = "" Else If approve Then row.Style.Add("background-color", "lightyellow") If edgDriversDaily.fields.Contains("MANAGER_APPROVE") Then row.Cells(row.Cells.Count - 2).CssClass &= " ajaxedit click" End If If edgDriversDaily.fields.Contains("OPERATOR_APPROVE") Then row.Cells(row.Cells.Count - 3).CssClass &= " ajaxedit click" End If Else row.Cells(row.Cells.Count - 2).CssClass = "" If edgDriversDaily.fields.Contains("OPERATOR_APPROVE") Then row.Cells(row.Cells.Count - 3).CssClass &= " ajaxedit click" End If End If End If End If End Sub Private copyFlag As Boolean = False Private copyId As Integer = -1 Protected Sub rowCommand(sender As Object, e As GridViewCommandEventArgs) Handles edgRoutes.RowCommand If e.CommandName = "COPY_ROW" Then If IsNumeric(e.CommandArgument) Then copyFlag = True copyId = Convert.ToInt16(e.CommandArgument) End If End If End Sub Protected Sub Page_PreRender(sender As Object, e As EventArgs) Handles Me.PreRender If copyFlag Then edgRoutes.AddFormMode(copyId) End If End Sub Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control) End Sub Private Sub GA_transport_AbortTransaction(sender As Object, e As EventArgs) Handles Me.AbortTransaction End Sub End Class