/
ivan
/
ModMas
Обзор
Документация
Войти
/
ivan
/
ModMas
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
ModuleMaster/lcm/lts_status.ashx
95 строк
3 KB
i.krivokon
Initial commit
13 мар 2026, 13:49
13 мар 2026, 13:49
00d9fb6
Код
Авторство
О чём код?
<%@ WebHandler Language="VB" Class="LTS_status" %> Imports sharedClasses.dbFunctions Imports System.Data Imports System.Net Imports System.IO Public Class LTS_status : Implements IHttpHandler Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest Dim sqlf As New SqlFunctions Dim lts_status As New DataTable Dim pending_lts_list As New DataTable Dim lts As String Dim requested_qty As Decimal Dim issued_qty As Decimal Dim deletion_flag As Char Dim sql As New StringBuilder sql.AppendLine("select ") sql.AppendLine("ORDER_NUMBER") sql.AppendLine(",lts") sql.AppendLine("from [UserModules].[user].[RMA_SP_ORDER]") sql.AppendLine("where ORDER_STATUS = 24") pending_lts_list = sqlf.GetData(sql.ToString) For Each row As DataRow In pending_lts_list.Rows lts = row.ItemArray(1) 'Try lts_status = GetLTSStatus(lts) If lts_status.Rows.Count > 0 Then requested_qty = Convert.ToDecimal(lts_status.Rows(0).Item("MENGE")) issued_qty = Convert.ToDecimal(lts_status.Rows(0).Item("WAMNG")) deletion_flag = lts_status.Rows(0).Item("LOEKZ") If deletion_flag.Equals("X"c) Then sql.Clear() sql.AppendLine("delete ") sql.AppendLine("[UserModules].[user].[RMA_SP_ORDER]") sql.AppendLine("where lts = '" + lts + "'") sqlf.NonQuery(sql.ToString) Else If requested_qty = issued_qty Then sql.Clear() sql.AppendLine("update ") sql.AppendLine("[UserModules].[user].[RMA_SP_ORDER]") sql.AppendLine("set order_status = 25") sql.AppendLine(", prepared_date = '" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "'") sql.AppendLine("where lts = '" + lts + "'") sqlf.NonQuery(sql.ToString) End If End If End If 'Catch err As Exception 'End Try Next End Sub Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable Get Return False End Get End Property Private Function GetLTSStatus(lts As String) As DataTable Try Dim url As String = "http://serkweb.serk.lan:8080/tools/Handlers/getwmsdata.ashx?fname=Z_RFC_LTS_REQ&req_num=" + lts + "&format=json" Dim o As DataTable = Newtonsoft.Json.JsonConvert.DeserializeObject(Of DataTable)(GetWMSData(url)) Return o Catch ex As Exception Return Nothing End Try End Function Private Function GetWMSData(url As String) As String Try Dim wb As WebRequest wb = WebRequest.Create(url) Dim res As WebResponse = wb.GetResponse Dim sr As New StreamReader(res.GetResponseStream) Return sr.ReadToEnd() Catch ex As Exception Return "" End Try End Function End Class