/
ivan
/
ModMas
Обзор
Документация
Войти
/
ivan
/
ModMas
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
ModuleMaster/demurrage/cont_details.aspx.vb
294 строки
11 KB
i.krivokon
Initial commit
13 мар 2026, 13:49
13 мар 2026, 13:49
00d9fb6
Код
Авторство
О чём код?
Imports System.Data Imports System.Data.SqlClient Imports System.Net Imports sharedClasses.dbFunctions Partial Class Xml_viewTable Inherits System.Web.UI.Page Private sqlf As New sharedClasses.dbFunctions.SqlFunctions Private a As sharedClasses.Auth.auth Private db As New SqlFunctions Private Sub authorize(mode As String) a = New sharedClasses.Auth.auth(mode, IIf(Request.UserHostAddress = "::1", "106.109.72.69", Request.UserHostAddress)) End Sub Private dataUpdateRequest As Boolean = False Private rowIdToUpdate As String = "" Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load Dim userid As String = "" If Not IsNothing(Request.QueryString("OrchUserLogin")) Then userid = Request.QueryString("OrchUserLogin") End If If Not IsNothing(Request.QueryString("u")) Then userid = Request.QueryString("u") End If If userid = "" Then authorize("SSO") userid = a.userId edTableToView.Message = "By SSO: " & a.userId End If Dim viewId As String = "" If Not IsNothing(Request.QueryString("viewid")) Then viewId = Request.QueryString("viewid") End If If Not IsNothing(Request.QueryString("v")) Then viewId = Request.QueryString("v") End If If Not IsNothing(Request.QueryString("d")) Then 'edTableToView.debugMode = (Request.QueryString("d").ToString.ToUpper = "YES") End If If Not IsPostBack Then If Not IsNothing(Request.QueryString("p")) Then If IsNumeric(Request.QueryString("p")) Then edTableToView.PageSize = Request.QueryString("p") End If End If End If edTableToView.IsReadOnly = True edTableToView.UserName = userid.ToUpper If Not IsNothing(Request.QueryString("viewonly")) Then If Request.QueryString("viewonly").ToString.ToUpper = "YES" Then edTableToView.UserName = "" End If End If Try If IsNumeric(viewId) Then edTableToView.ViewID = viewId Else edTableToView.ViewID = -1 End If Catch ex As Exception End Try End Sub Protected Sub Page_PreRender(sender As Object, e As System.EventArgs) Handles Me.PreRender 'ClientScript.RegisterStartupScript(Me.GetType(), "CreateGridHeader", "<script>CreateGridHeader('DataDiv', 'editableGrid1_GridView1', 'HeaderDiv');</script>") If Not IsPostBack Then 'Dim datum As String = DateTime.Now.ToString("yyyy-MM-dd") 'edTableToView.Filters.Add("[PLAN]", " between N'" + datum + "' AND '" + datum + "'") 'BuildList(datum.Replace("-", ""), datum.Replace("-", "")) End If If edTableToView.IsReadOnly Then edTableToView.CollectHeaderColumn(1) End If Title = edTableToView.TableDescription 'If edTableToView.copyFlag Then ' edTableToView.AddFormMode(edTableToView.copyId) 'End If edTableToView.SubReport.Controls.Add(createSubreport(edTableToView.TableId)) Dim script As String = sqlf.GetScalar("SELECT Gridcommand_handler FROM UserModules.dbo.ModuleTables WHERE id=" & edTableToView.TableId) If script <> "" Then gridcommandhandlerscript.Controls.Add(New Literal With {.Text = "<script type=""text/javascript"">" & script & "</script>"}) End If End Sub Private Function createSubreport(tid As String) As GridView Dim gv As New GridView Dim query As String = sqlf.GetScalar("SELECT isnull(SUBREPORT_QUERY,'') from usermodules.dbo.moduletables where id = " & tid) If query <> "" And Not (query.Contains("update") Or query.Contains("delete") Or query.Contains("exec") Or query.Contains("truncate") Or query.Contains("drop")) Then gv.DataSource = sqlf.GetData(query) Try gv.DataBind() Catch ex As Exception Return Nothing End Try End If Return gv End Function Protected Sub UpdateUserInfo(ByRef com As SqlCommand) Handles edTableToView.NewRecordSaving Try com.Parameters("@CHANGED_BY").Value = Request.QueryString("orchuserlogin") Catch ex As Exception End Try End Sub Protected Sub Page_SaveStateComplete(sender As Object, e As EventArgs) Handles Me.SaveStateComplete edTableToView.CreateGroupingText() End Sub Protected Sub edTableToView_PreRender(sender As Object, e As System.EventArgs) Handles edTableToView.PreRender End Sub Protected Sub bUpload_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles bUpload.Click Dim iTotalLines As Integer Dim iInsertedLines As Integer Dim dtStart As DateTime = DateTime.Now UploadCSV(txtDataToUpload.Text, iTotalLines, iInsertedLines) ltrUploadResults.Text = "Duration (sec): " & DateTime.Now.Subtract(dtStart).Seconds txtDataToUpload.Text = "" edTableToView.RefreshData() End Sub Private Sub ActionRequest(ByVal sender As Object, ByVal e As CommandEventArgs) Handles edTableToView.ActionRequest If e.CommandArgument = "UPLOAD" Then 'Dim targetfrom As String = edTableToView.Filters("[PLAN]") 'Dim targetto As String = edTableToView.Filters("[PLAN]") 'If Not IsNothing(targetfrom) Then ' If targetfrom.Contains("AND") Then ' targetfrom = targetfrom.Split("N")(1).Trim("A").Trim().Trim("'").Replace("-", "") ' targetto = targetto.Split("N")(2).Trim("D").Trim().Trim("'").Replace("-", "") ' BuildList(targetfrom, targetto) ' End If 'End If End If End Sub Private Sub RowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs) Handles edTableToView.RowCommand If e.CommandName = "ACT" Then 'rowIdToUpdate = e.CommandArgument 'Dim sql As New StringBuilder 'sql.Clear() 'sql.AppendLine("insert into ") 'sqlf.NonQuery(sql.ToString) End If End Sub Protected Sub RowDataBoundComplete(ByRef row As GridViewRow) Handles edTableToView.RowDataBoundComplete If row.RowType = DataControlRowType.DataRow Then End If End Sub Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control) End Sub Private Sub Xml_viewTable_PreRenderComplete(sender As Object, e As EventArgs) Handles Me.PreRenderComplete 'edTableToView.CollectHeaderColumn(2) 'edTableToView.CollectHeaderColumn(3) 'edTableToView.CollectHeaderColumn(4) 'edTableToView.CollectHeaderColumn(5) End Sub Public Sub UploadCSV(text As String, Optional ByRef TotalLines As Integer = 0, Optional ByRef ProcessedLine As Integer = 0) Dim lines() As String = text.Split(Chr(10)) TotalLines = lines.Count Dim com As New SqlCommand ProcessedLine = 0 Dim sql As New StringBuilder Dim i As Integer = 0 Dim container_excell_column As Integer = 0 Dim type_excell_column As Integer = 1 Dim cargo_excell_column As Integer = 2 Dim material_excell_column As Integer = 3 Dim qty_excell_column As Integer = 4 Dim current_container As String = "" Dim current_cargo As String = "" For Each line As String In lines If line <> "" Then Dim vals() As String = line.Split(vbTab) If vals.Length > 0 Then If vals(container_excell_column).Length > 0 Then current_container = vals(container_excell_column) 'Response.Write("<script>console.log('" & current_destination & " - " & current_division & "')</script>") End If If vals(cargo_excell_column).Length > 0 Then current_cargo = vals(cargo_excell_column) 'Response.Write("<script>console.log('" & current_destination & " - " & current_division & "')</script>") End If If current_container <> "" And current_cargo <> "" Then 'Response.Write("<script>console.log('Перевозчик зарегистрирован в базе')</script>") sql.Clear() sql.AppendLine("SET DATEFORMAT dmy;") sql.AppendLine("declare @tmp as table (create_date varchar(max), container nvarchar(max), [type] nvarchar(max), cargo nvarchar(max), material nvarchar(max), qty nvarchar(max)) ") sql.AppendLine("insert into @tmp (create_date, container, [type], cargo, material, qty) values (CONVERT (nvarCHAR(max), getdate(), 120),'" & current_container & "', '" & vals(type_excell_column) & "', '" & current_cargo & "', '" & vals(material_excell_column) & "', '" & vals(qty_excell_column) & "' ) ") sql.AppendLine(" ") sql.AppendLine("merge [usermodules].[user].[container_details] as trg ") sql.AppendLine("using @tmp as src ") sql.AppendLine("on trg.container collate Cyrillic_General_CI_AS = src.container collate Cyrillic_General_CI_AS ") sql.AppendLine("and trg.material collate Cyrillic_General_CI_AS = src.material collate Cyrillic_General_CI_AS ") sql.AppendLine("when matched then ") sql.AppendLine(" update ") sql.AppendLine(" set trg.[type] = src.[type]") sql.AppendLine(" ,trg.cargo = src.cargo") sql.AppendLine(" ,trg.[qty] = src.[qty] ") sql.AppendLine("when Not matched then ") sql.AppendLine("insert ") sql.AppendLine("(create_date, container, [type], cargo, material, qty) ") sql.AppendLine("values (create_date, container, [type], cargo, material, qty) ") sql.AppendLine("; ") db.NonQuery(sql.ToString) ' Response.Write("<script>console.log('Такой перевозчик не найден в базе')</script>") End If End If End If Next End Sub End Class