/
ivan
/
ModMas
Обзор
Документация
Войти
/
ivan
/
ModMas
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
ModuleMaster/fi/fifo.aspx.vb
171 строка
7 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 System.IO Partial Class fifo Inherits System.Web.UI.Page Private sqlf As New sharedClasses.dbFunctions.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 Dim tableId 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 edTableToView.Message = "-" End If If Not IsNothing(Request.QueryString("tableId")) Then tableId = Request.QueryString("tableId") End If If Not IsNothing(Request.QueryString("t")) Then tableId = Request.QueryString("t") End If edTableToView.IsReadOnly = True edTableToView.UserName = userid.ToUpper If IsNumeric(tableId) Then edTableToView.TableId = tableId End If edTableToView.SubReport.Controls.Add(createSubreport(tableId)) End Sub Protected Sub Page_PreRender(sender As Object, e As System.EventArgs) Handles Me.PreRender lnkGraphView.Visible = False If edTableToView.IsReadOnly Then edTableToView.CollectHeaderColumn(1) End If Title = edTableToView.TableDescription edTableToView.HeaderRow.Cells(edTableToView.HeaderRow.Cells.Count - 2).Controls.Add(New CheckBox With {.ID = "selectall", .ClientIDMode = UI.ClientIDMode.Static, .ToolTip = "@@@"}) End Sub Private Function createSubreport(tid As String) As GridView Dim gv As New GridView Dim sqlf As New sharedClasses.dbFunctions.SqlFunctions 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 Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control) End Sub Protected Sub AddCheckbox(ByRef r As GridViewRow) Handles edTableToView.RowDataBoundComplete If r.RowType = DataControlRowType.DataRow Then r.Cells(r.Cells.Count - 2).Controls.Add(New CheckBox With {.ID = r.Cells(0).Text, .ClientIDMode = UI.ClientIDMode.Static, .CssClass = "check", .ToolTip = "Check to print this row"}) End If End Sub Protected Sub printAction(sender As Object, e As CommandEventArgs) Handles edTableToView.ActionRequest Select Case e.CommandArgument Case "GET_MODEL" UpdateModelByPO() Case "PRINT_GR" Print("fifo_m4") Case "PRINT_GI" Print("fifo_giform") Case "PRINT_FG" Print("fifo_mx18") End Select 'Print(e.CommandArgument) End Sub Private Sub Print(whatToPring As String) Dim printList As String = "" For Each dr As GridViewRow In edTableToView.rows If dr.RowType = DataControlRowType.DataRow Then Dim c As TableCell = dr.Cells(dr.Cells.Count - 2) Try If CType(c.Controls(1), CheckBox).Checked Then 'edTableToView.Message &= CType(c.Controls(1), CheckBox).ID & ";" If printList <> "" Then printList &= ";" printList &= CType(c.Controls(1), CheckBox).ID ' CType(c.Controls(1), CheckBox).ID.Split("_")(1) End If Catch ex As Exception End Try End If Next If printList <> "" Then Dim params As Hashtable If IsNothing(Session("params")) Then params = New Hashtable Else params = Session("params") End If Dim paramId As String = Guid.NewGuid.ToString params.Add(paramId, printList) Session.Add("params", params) 'edTableToView.Message &= printList 'ClientScript.RegisterStartupScript(Me.GetType, "a", "<script>window.open('prntl.aspx?form=" & whatToPring & "¶mid=" & paramId & "')</script>") Response.Redirect("fifo_prntl.aspx?form=" & whatToPring & "¶mid=" & paramId) End If End Sub Private Sub UpdateModelByPO() Dim dt As DataTable = sqlf.GetData("SELECT id, UserModules.[dbo].f_pad_left(production_order,12,'0') as po " & _ "FROM UserModules.[user].GERP_MB_51_FOR_GTD WHERE isnull(fg_model,'')='' AND isnull(production_order,'')<>'' ") Dim sql As New StringBuilder sql.AppendLine("with source as ( ") sql.AppendLine("select MODEL_NUMBER, max(WORK_DATE) as work_Date, max(PLAN_QTY) as plan_qty, po_number ") sql.AppendLine("from GMESData.DBO.TB_VWP_QMS_MDL_PLAN ") sql.AppendLine("group by model_number, po_number) ") sql.AppendLine("MERGE UserMOdules.[user].[GERP_MB_51_FOR_GTD] target ") sql.AppendLine("using source ") sql.AppendLine("on '0'+target.production_order collate Cyrillic_General_CI_AI ") sql.AppendLine("= source.po_number collate Cyrillic_General_CI_AI ") sql.AppendLine("when matched then ") sql.AppendLine("update set ") sql.AppendLine("target.FG_model = source.MODEL_NUMBER, ") sql.AppendLine("target.PRODUCTION_ORDER_DATE = source.WORK_DATE, ") sql.AppendLine("target.PRODUCTION_ORDER_QUANTITY = source.PLAN_QTY; ") sqlf.NonQuery(sql.ToString) End Sub End Class