1180 lines
79 KiB
VB.net
1180 lines
79 KiB
VB.net
Imports System
|
|
Imports System.ComponentModel
|
|
Imports System.Collections.Generic
|
|
Imports System.Diagnostics
|
|
Imports System.Text
|
|
Imports DevExpress.ExpressApp
|
|
Imports DevExpress.ExpressApp.Actions
|
|
Imports DevExpress.Persistent.Base
|
|
Imports DevExpress.Xpo.Session
|
|
Imports DevExpress.Data.Filtering
|
|
Imports DevExpress.Xpo
|
|
Imports DevExpress.ExpressApp.Editors
|
|
Imports DevExpress.ExpressApp.SystemModule
|
|
Imports DevExpress.Persistent.Validation
|
|
Imports DevExpress.Persistent.BaseImpl
|
|
Imports DevExpress.ExpressApp.Utils
|
|
Imports System.Linq
|
|
Imports System.Linq.Expressions
|
|
|
|
|
|
Public Class StorageTransactionsInVC
|
|
Inherits DevExpress.ExpressApp.ViewController
|
|
Public Event InitWork(ByVal _Minimum As Long, ByVal _Step As Long, ByVal _Maximum As Long)
|
|
Public Event DoWork()
|
|
Public Event FinalWork
|
|
|
|
Public Sub New()
|
|
MyBase.New()
|
|
InitializeComponent()
|
|
RegisterActions(components)
|
|
End Sub
|
|
Protected Overrides Sub OnActivated()
|
|
MyBase.OnActivated()
|
|
|
|
Frame.GetController(Of StorageTransactionsInVC)().aToTable_StorageIn.Active.SetItemValue("", False) ' -- Betárolási biz. sor hozzáadása
|
|
Frame.GetController(Of StorageTransactionsInVC)().aFinalizeAndNew_StorageIn.Active.SetItemValue("", False) ' -- Betárolási biz. véglegesítése és új nyitása
|
|
Frame.GetController(Of StorageTransactionsInVC)().aToTableD_SIH.Active.SetItemValue("", False) ' -- Sor törlése Betárolási biz ról
|
|
Frame.GetController(Of StorageTransactionsInVC)().aDown_StorageIn.Active.SetItemValue("", False) ' -- Betárolási sor lejebb
|
|
Frame.GetController(Of StorageTransactionsInVC)().aUp_StorageIn.Active.SetItemValue("", False) ' -- Betárolási sor feljebb
|
|
Frame.GetController(Of StorageTransactionsInVC)().aBackToEdit_StorageInHeader.Active.SetItemValue("", False)
|
|
Frame.GetController(Of StorageTransactionsInVC)().aStorageInStorno.Active.SetItemValue("", False)
|
|
Frame.GetController(Of StorageTransactionsInVC)().aStorageInFromPdaCollection.Active.SetItemValue("", False)
|
|
'Frame.GetController(Of StorageTransactionsInVC)().aStorageInHeader_InsertInventoryTransfer.Active.SetItemValue("", False)
|
|
|
|
If View.Id = "StorageOutRows_ListView_Overstored" Then
|
|
Frame.GetController(Of NewObjectViewController)?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of CloneObject.CloneObjectViewController)?.Active.SetItemValue("", False)
|
|
End If
|
|
|
|
If View.Id Like "Storage*Header_*View" Then '--Anyagmozgást ne lehessen törölni---
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DeleteObjectsViewController)()?.Active.SetItemValue("", False)
|
|
End If
|
|
If View.Id Like "Products*" Then
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DeleteObjectsViewController)()?.Active.SetItemValue("", False)
|
|
End If
|
|
|
|
'------------------------------------------ LISTVIEWS --------------------------------------------------------------------------------------------------------
|
|
If View.Id = "StorageInHeader_ListView" Then
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)()?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DeleteObjectsViewController)()?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)()?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of StorageTransactionsInVC)().aBackToEdit_StorageInHeader.Active.SetItemValue("", True)
|
|
Frame.GetController(Of StorageTransactionsInPrint)().aStorageTransactionsInPrint.Active.SetItemValue("", False)
|
|
Frame.GetController(Of StorageTransactionsInVC)().aStorageInStorno.Active.SetItemValue("", True)
|
|
|
|
|
|
|
|
AddHandler View.SelectionChanged, AddressOf StorageInHeader_ListView_View_SelectionChanged
|
|
End If
|
|
If View.Id = "StorageInHeader_ListView_Editable" Then
|
|
Frame.GetController(Of StorageTransactionsInPrint)().aStorageTransactionsInPrint.Active.SetItemValue("", False)
|
|
Frame.GetController(Of StorageTransactionsInVC)().aStorageInStorno.Active.SetItemValue("", False)
|
|
Frame.GetController(Of DeleteObjectsViewController)?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of CloneObject.CloneObjectViewController)?.Active.SetItemValue("", False)
|
|
End If
|
|
If View.Id = "StorageInHeader_StorageInRows_ListView" Then
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)()?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)()?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DeleteObjectsViewController)()?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)()?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)()?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of StorageTransactionsInVC)().aUp_StorageIn.Active.SetItemValue("", True)
|
|
Frame.GetController(Of StorageTransactionsInVC)().aDown_StorageIn.Active.SetItemValue("", True)
|
|
End If
|
|
If View.Id = "StorageInRows_ListView_Order" Then
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)()?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DeleteObjectsViewController)()?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)()?.Active.SetItemValue("", False)
|
|
End If
|
|
If View.Id = "StorageInRows_ListView" Then
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)()?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)()?.Active.SetItemValue("", False)
|
|
End If
|
|
If View.Id = "StorageInRowsFromPDACollectionPopup_ListView" Then
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)()?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DeleteObjectsViewController)()?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)()?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)()?.Active.SetItemValue("", False)
|
|
End If
|
|
If View.Id = "StorageInRowsFromPDACollectionPopup_StoragePDACollectionRows_ListView" Then
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)()?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)()?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DeleteObjectsViewController)()?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)()?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)()?.Active.SetItemValue("", False)
|
|
End If
|
|
'------------------------------------------ DETAILVIEWS ------------------------------------------------------------------------------------------------------
|
|
'-- Ne lehessen stornózni, ha stornózott ---------
|
|
If View.Id = "StorageInHeader_DetailView" Then
|
|
|
|
Dim _StorageInHeader As StorageInHeader
|
|
_StorageInHeader = View.SelectedObjects(0)
|
|
If _StorageInHeader Is Nothing Then
|
|
Else
|
|
If _StorageInHeader.IsStorno = True Or _StorageInHeader.IsEditable = True Then
|
|
Frame.GetController(Of StorageTransactionsInVC)().aStorageInStorno.Active.SetItemValue("", False)
|
|
End If
|
|
If _StorageInHeader.IsStorno = False And _StorageInHeader.IsEditable = False Then
|
|
Frame.GetController(Of StorageTransactionsInVC)().aStorageInStorno.Active.SetItemValue("", True)
|
|
End If
|
|
If _StorageInHeader.IsEditable = False Then
|
|
Frame.GetController(Of StorageTransactionsInVC)().aFinalize_StorageIn.Active.SetItemValue("", False)
|
|
Frame.GetController(Of StorageTransactionsInVC)().aFinalizeAndNew_StorageIn.Active.SetItemValue("", False)
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ModificationsController)()?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of StorageTransactionsInVC)().aStorageInStorno.Active.SetItemValue("", False)
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)()?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)()?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of StorageTransactionsInPrint)().aStorageTransactionsInPrint.Active.SetItemValue("", False)
|
|
Else
|
|
Frame.GetController(Of StorageTransactionsInVC)().aFinalizeAndNew_StorageIn.Active.SetItemValue("", True)
|
|
Frame.GetController(Of StorageTransactionsInVC)().aFinalize_StorageIn.Active.SetItemValue("", True)
|
|
Frame.GetController(Of StorageTransactionsInVC)().aToTable_StorageIn.Active.SetItemValue("", True)
|
|
Frame.GetController(Of StorageTransactionsInVC)().aToTableD_SIH.Active.SetItemValue("", True)
|
|
Frame.GetController(Of StorageTransactionsInVC)().aStorageInFromPdaCollection.Active.SetItemValue("", True)
|
|
Frame.GetController(Of StorageTransactionsInPrint)().aStorageTransactionsInPrint.Active.SetItemValue("", False)
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)()?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)()?.Active.SetItemValue("", False)
|
|
End If
|
|
End If
|
|
End If
|
|
If View.Id = "StorageInRows_Split_PopUp_DetailView" Then
|
|
AddHandler Frame.GetController(Of DialogController)().AcceptAction.Executing, AddressOf StorageInRows_Split_PopUp_DetailView_AcceptAction_Executing
|
|
End If
|
|
If View.Id = "StorageOutRowsInRows_ListView_Overstored" Then
|
|
AddHandler Frame.GetController(Of DialogController)().AcceptAction.Executing, AddressOf StorageOutRowsInRows_ListView_Overstored_AcceptAction_Executing
|
|
End If
|
|
End Sub
|
|
Protected Overrides Sub OnDeactivated()
|
|
MyBase.OnDeactivated()
|
|
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)()?.Active.SetItemValue("", True)
|
|
'------------------------------------------ LISTVIEWS --------------------------------------------------------------------------------------------------------
|
|
If View.Id = "StorageInHeader_ListView" Then
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)()?.Active.SetItemValue("", True)
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DeleteObjectsViewController)()?.Active.SetItemValue("", True)
|
|
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)()?.Active.SetItemValue("", True)
|
|
|
|
RemoveHandler View.SelectionChanged, AddressOf StorageInHeader_ListView_View_SelectionChanged
|
|
End If
|
|
If View.Id = "StorageInHeader_StorageInRows_ListView" Then
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)()?.Active.SetItemValue("", True)
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)()?.Active.SetItemValue("", True)
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DeleteObjectsViewController)()?.Active.SetItemValue("", True)
|
|
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)()?.Active.SetItemValue("", True)
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)()?.Active.SetItemValue("", True)
|
|
End If
|
|
If View.Id = "StorageInHeader_ListView_Editable" Then
|
|
Frame.GetController(Of DeleteObjectsViewController)?.Active.SetItemValue("", True)
|
|
Frame.GetController(Of CloneObject.CloneObjectViewController)?.Active.SetItemValue("", True)
|
|
End If
|
|
|
|
If View.Id = "StorageInRows_ListView" Then
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)()?.Active.SetItemValue("", True)
|
|
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)()?.Active.SetItemValue("", True)
|
|
End If
|
|
If View.Id = "StorageInRowsFromPDACollectionPopup_ListView" Then
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)()?.Active.SetItemValue("", True)
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DeleteObjectsViewController)()?.Active.SetItemValue("", True)
|
|
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)()?.Active.SetItemValue("", True)
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)()?.Active.SetItemValue("", True)
|
|
End If
|
|
If View.Id = "StorageInRowsFromPDACollectionPopup_StoragePDACollectionRows_ListView" Then
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)()?.Active.SetItemValue("", True)
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)()?.Active.SetItemValue("", True)
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DeleteObjectsViewController)()?.Active.SetItemValue("", True)
|
|
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)()?.Active.SetItemValue("", True)
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)()?.Active.SetItemValue("", True)
|
|
End If
|
|
'------------------------------------------ DETAILVIEWS ------------------------------------------------------------------------------------------------------
|
|
If View.Id = "StorageInRows_Split_PopUp_DetailView" Then
|
|
RemoveHandler Frame.GetController(Of DialogController)().AcceptAction.Executing, AddressOf StorageInRows_Split_PopUp_DetailView_AcceptAction_Executing
|
|
End If
|
|
End Sub
|
|
Private Sub aFinalize_StorageIn_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aFinalize_StorageIn.Execute
|
|
'-- Betárolás véglegesítése
|
|
|
|
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
|
|
Dim _uow As New UnitOfWork(_onew.Session.DataLayer)
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _uow_lock As New UnitOfWork(_onew.Session.DataLayer)
|
|
Dim _User As User = _onew.GetObject(TryCast(SecuritySystem.CurrentUser, User))
|
|
Dim _StorageInHeader As StorageInHeader = _onew.GetObjectByKey(Of StorageInHeader)(TryCast(e.SelectedObjects(0), StorageInHeader).Oid)
|
|
Try
|
|
If _StorageInHeader.Storage IsNot Nothing And _StorageInHeader.StorageInRows.Count = 0 Then _
|
|
Throw New Exception("*Nem lehet véglegesíteni a betárolási bizonylatot!" & vbNewLine & vbNewLine & _
|
|
"Kérem ellenőrizze, hogy be lett-e állítva raktár, illetve" & vbNewLine & _
|
|
"definiált-e betárolási sorokat!")
|
|
|
|
If Not LockingModule.LockObject(_uow_lock, GetType(StorageComputed), "-", _User) Then
|
|
Dim _LockingObject As LockingObject = _onew.FindObject(Of LockingObject)(CriteriaOperator.Parse("TableName=?", GetType(StorageComputed).Name + "-" + "-"))
|
|
|
|
Dim _Prompt As String = DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\StorageComputed", "CanNotStorageInByLocking")
|
|
Dim _Title As String = DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxError")
|
|
MsgBox(String.Format(_Prompt, _LockingObject.User.FullName, _LockingObject.ObjectCreated), MsgBoxStyle.Information + MsgBoxStyle.OkOnly, _Title)
|
|
|
|
Exit Sub
|
|
Else
|
|
If _StorageInHeader.IsFinalized Then
|
|
For Each _StorageInRows As StorageInRows In _StorageInHeader.StorageInRows
|
|
|
|
|
|
Dim _StorageComputed As StorageComputed = _onew.FindObject(Of StorageComputed)(CriteriaOperator.Parse("Products=? and Storage=?", _
|
|
_onew.GetObject(_StorageInRows.Products), _onew.GetObject(_StorageInHeader.Storage)))
|
|
Dim _StorageMoveEvents_Collection As New XPCollection(Of StorageMoveEvents)(_onew.Session, CriteriaOperator.Parse("StorageInRows=?", _onew.GetObject(_StorageInRows)))
|
|
_StorageMoveEvents_Collection.Sorting.Add(New SortProperty("ObjectCreated", DB.SortingDirection.Descending))
|
|
|
|
Dim _StorageMoveEvents As New StorageMoveEvents(_onew.Session)
|
|
If _StorageInRows.QTT_Will > 0 Then
|
|
_StorageInRows.QTT = _StorageInRows.QTT_Will
|
|
_StorageComputed.QTTFree += _StorageInRows.QTT_Will
|
|
_StorageComputed.QTTReservedIn -= _StorageInRows.QTT_Will
|
|
|
|
If _StorageMoveEvents_Collection.Count < 0 Then
|
|
_StorageMoveEvents.StorageInRows = _onew.GetObject(_StorageMoveEvents_Collection(0).StorageInRows)
|
|
_StorageMoveEvents.QTT_Free_Before = _StorageMoveEvents_Collection(0).QTT_Free_After
|
|
Else
|
|
_StorageMoveEvents.StorageInRows = _onew.GetObject(_StorageInRows)
|
|
_StorageMoveEvents.QTT_Free_Before = 0
|
|
End If
|
|
|
|
_StorageMoveEvents.QTT = _StorageInRows.QTT_Will
|
|
_StorageMoveEvents.QTT_Free_After = _StorageMoveEvents.QTT_Free_Before + _StorageMoveEvents.QTT
|
|
_StorageMoveEvents.MoveEventsType = eMoveEventsType.StorageInFinal
|
|
_StorageMoveEvents.ExecutionDate = GetSQLTime(_ocur.Session)
|
|
|
|
_StorageInRows.QTT_Will = 0
|
|
End If
|
|
|
|
|
|
Next
|
|
_StorageInHeader.IsEditable = False
|
|
|
|
_onew.CommitChanges()
|
|
|
|
Dim _ReportData As ReportData = _onew.FindObject(Of ReportData)(CriteriaOperator.Parse("Oid=?", _StorageInHeader.Storage.ReportIn.Oid), True)
|
|
If _ReportData Is Nothing Or _StorageInHeader Is Nothing Then
|
|
Else
|
|
Frame.GetController(Of Reports.ReportServiceController).ShowPreview(_ReportData, CriteriaOperator.Parse("StorageInHeader.DocumentNumber =?", _StorageInHeader.DocumentNumber), True)
|
|
End If
|
|
If Frame.GetController(Of RefreshController).RefreshAction.Enabled Then
|
|
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
|
|
End If
|
|
View.Close()
|
|
Else
|
|
For Each _StorageInRows As StorageInRows In _StorageInHeader.StorageInRows
|
|
|
|
Dim _StorageComputed As StorageComputed = _onew.FindObject(Of StorageComputed)(CriteriaOperator.Parse("Products=? and Storage=?", _
|
|
_onew.GetObject(_StorageInRows.Products), _onew.GetObject(_StorageInHeader.Storage)))
|
|
Dim _StorageMoveEvents As New StorageMoveEvents(_onew.Session)
|
|
If _StorageInRows.QTT_Will > 0 Then
|
|
_StorageInRows.QTT = _StorageInRows.QTT_Will
|
|
_StorageComputed.QTTFree += _StorageInRows.QTT_Will
|
|
_StorageComputed.QTTReservedIn -= _StorageInRows.QTT_Will
|
|
|
|
_StorageMoveEvents.StorageInRows = _onew.GetObject(_StorageInRows)
|
|
_StorageMoveEvents.QTT = _StorageInRows.QTT_Will
|
|
_StorageMoveEvents.QTT_Free_After = _StorageComputed.QTTFree
|
|
_StorageMoveEvents.QTT_Free_Before = _StorageMoveEvents.QTT_Free_After - _StorageMoveEvents.QTT
|
|
_StorageMoveEvents.MoveEventsType = eMoveEventsType.StorageInFinal
|
|
_StorageMoveEvents.ExecutionDate = _StorageInRows.StorageInHeader.CreateDate
|
|
|
|
_StorageInRows.QTT_Will = 0
|
|
End If
|
|
|
|
'_StorageInRows.StorageInRowsFrom.QTT_Overstored_Will -= _StorageInRows.QTT
|
|
'_StorageInRows.StorageInRowsFrom.QTT_Overstored += _StorageInRows.QTT_Overstored
|
|
'_StorageInRows.StorageInRowsFrom.QTT_Overstor_Will = _StorageInRows.QTT
|
|
|
|
Next
|
|
|
|
_StorageInHeader.IsEditable = False
|
|
_StorageInHeader.IsFinalized = True
|
|
_onew.CommitChanges()
|
|
|
|
If _StorageInHeader.StorageMoveType.MoveType = eMoveType.InventoryTransfer Then
|
|
CheckInventoryTransferStorageInRows(_uow, _StorageInHeader.StorageInRows)
|
|
End If
|
|
|
|
Dim _ReportData As ReportData = _onew.FindObject(Of ReportData)(CriteriaOperator.Parse("Oid=?", _StorageInHeader.Storage.ReportIn.Oid), True)
|
|
If _ReportData Is Nothing Or _StorageInHeader Is Nothing Then
|
|
Else
|
|
Frame.GetController(Of Reports.ReportServiceController).ShowPreview(_ReportData, CriteriaOperator.Parse("StorageInHeader.DocumentNumber =?", _StorageInHeader.DocumentNumber), True)
|
|
End If
|
|
If Frame.GetController(Of RefreshController).RefreshAction.Enabled Then
|
|
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
|
|
End If
|
|
View.Close()
|
|
End If
|
|
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, "Hiba")
|
|
Finally
|
|
LockingModule.UnLockObject(_uow_lock, GetType(StorageComputed), "-", _User)
|
|
End Try
|
|
End Sub
|
|
Private Sub aToTable_StorageIn_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aToTable_StorageIn.Execute
|
|
Dim _ocur As Xpo.XPObjectSpace = View.ObjectSpace
|
|
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
|
|
Dim _uow As New UnitOfWork(_onew.Session.DataLayer)
|
|
Dim _uow_lock As New UnitOfWork(_ocur.Session.DataLayer)
|
|
Dim _user_lock As User = _uow_lock.GetObjectByKey(Of User)(SecuritySystem.CurrentUserId)
|
|
Dim _StorageInHeader As StorageInHeader = TryCast(e.SelectedObjects(0), StorageInHeader)
|
|
Try
|
|
|
|
'// Objektum zárolása adott oid-re !
|
|
If Not LockObject(_uow_lock, GetType(StorageComputed), _StorageInHeader.row_Products.Oid.ToString, _user_lock) Then
|
|
Dim _LockingObject As LockingObject = _onew.FindObject(Of LockingObject)(CriteriaOperator.Parse("TableName=?", GetType(StorageComputed).Name + "-" + "-"))
|
|
|
|
Dim _Prompt As String = DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\StorageComputed", "CanNotStorageInByLocking")
|
|
Dim _Title As String = DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxError")
|
|
MsgBox(String.Format(_Prompt, _LockingObject.User.FullName, _LockingObject.ObjectCreated, MsgBoxStyle.Information + MsgBoxStyle.OkOnly, _Title))
|
|
|
|
Exit Sub
|
|
Else
|
|
Dim _StorageInRows As StorageInRows = _ocur.CreateObject(Of StorageInRows)()
|
|
Dim _StorageComputed As StorageComputed = _ocur.FindObject(Of StorageComputed)(CriteriaOperator.Parse("Products=? and Storage=?", _
|
|
_StorageInHeader.row_Products, _StorageInHeader.Storage))
|
|
|
|
If _StorageComputed Is Nothing Then
|
|
_StorageComputed = _ocur.CreateObject(Of StorageComputed)()
|
|
_StorageComputed.Storage = _StorageInHeader.Storage
|
|
_StorageComputed.Products = _StorageInHeader.row_Products
|
|
_StorageComputed.QTTReservedIn = _StorageInHeader.row_QTT_WILL
|
|
Else
|
|
_StorageComputed.QTTReservedIn += _StorageInHeader.row_QTT_WILL
|
|
End If
|
|
|
|
_StorageInRows.AddRows(_StorageInHeader)
|
|
|
|
_ocur.CommitChanges()
|
|
If _StorageInHeader.StorageMoveType.MoveType = eMoveType.InventoryTransfer Then
|
|
CheckInventoryTransferStorageInRows(_uow, _StorageInHeader.StorageInRows)
|
|
End If
|
|
|
|
_StorageInHeader.row_Products = Nothing
|
|
_StorageInHeader.row_QTT_WILL = 0
|
|
_StorageInHeader.row_Weight = 0
|
|
_StorageInHeader.row_PacketNumber = ""
|
|
_StorageInHeader.row_SerialNumber = ""
|
|
|
|
View.Refresh()
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
|
|
Finally
|
|
If Not ReleaseAllLocking(_uow_lock, _user_lock) Then _
|
|
Throw New Exception("*Váratlan hiba történt a(z) " + _StorageInHeader.row_Products.ShortName + " termék zárolását nem lehet feoldani! Kérem, forduljon a rendszergazdához!")
|
|
End Try
|
|
End Sub
|
|
Private Sub aFinalizeAndNew_StorageIn_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aFinalizeAndNew_StorageIn.Execute
|
|
Try
|
|
Dim _ocur As Xpo.XPObjectSpace = View.ObjectSpace
|
|
Dim _StorageInHeader As StorageInHeader = TryCast(e.SelectedObjects(0), StorageInHeader)
|
|
|
|
If _StorageInHeader.Storage IsNot Nothing And _StorageInHeader.StorageInRows.Count > 0 Then Throw New Exception("*Nem lehet véglegesíteni a betárolási bizonylatot!" & vbNewLine & vbNewLine & _
|
|
"Kérem ellenőrizze, hogy be lett-e állítva raktár, illetve" & vbNewLine & _
|
|
"definiált-e betárolási sorokat!")
|
|
|
|
Frame.GetController(Of StorageTransactionsInVC).aFinalize_StorageIn.DoExecute()
|
|
|
|
Frame.GetController(Of NewObjectViewController)().NewObjectAction.DoExecute(Frame.GetController(Of NewObjectViewController)().NewObjectAction.Items(0))
|
|
View.Close(False)
|
|
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
|
|
End Try
|
|
End Sub
|
|
Private Sub aStorageInStorno_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aStorageInStorno.Execute
|
|
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
|
|
Dim _uow_lock As New UnitOfWork(_onew.Session.DataLayer)
|
|
Dim _User As User = _onew.GetObject(TryCast(SecuritySystem.CurrentUser, User))
|
|
|
|
Try
|
|
' Ellenőrzések
|
|
'__________________________________________________________________________
|
|
Dim _StorageInHeader As StorageInHeader = _onew.GetObject(TryCast(View.SelectedObjects(0), StorageInHeader))
|
|
If _StorageInHeader Is Nothing Then Throw New Exception("*Váratlan hiba történt a folyamat megszakadt!")
|
|
If _StorageInHeader.IsEditable = True Or
|
|
_StorageInHeader.IsStorno = True Then Throw New Exception(String.Format("A {0} számú betárolási bizonylatot nem lehet stornírozni, mert", _StorageInHeader.DocumentNumber) + _
|
|
vbNewLine + "még nem lett véglegesítve, vagy már stornózásra kerűlt!" + vbNewLine + "Kérem, ellenőrizze!")
|
|
|
|
Dim _StorageInRowsError_Collection As New ArrayList
|
|
For Each _StorageInRows As StorageInRows In _StorageInHeader.StorageInRows
|
|
If _StorageInRows.QTT_Out > 0 Then _
|
|
_StorageInRowsError_Collection.Add(_StorageInRows)
|
|
Next
|
|
|
|
If _StorageInRowsError_Collection.Count > 0 Then
|
|
Dim _ErrorMessage As String = "Probléma merült fel a következő betárolási sorokkal:" + vbNewLine
|
|
For Each _StorageInRows As StorageInRows In _StorageInRowsError_Collection
|
|
_ErrorMessage += _StorageInRows.RowIndex + " " + _StorageInRows.Products.ShortName _
|
|
+ " " + _StorageInRows.QTT + vbNewLine
|
|
Next
|
|
_ErrorMessage += "Valószínűleg történt már kitárolás a betárolási sorról."
|
|
_ErrorMessage += "Kérem, ellenőrizze!"
|
|
|
|
Throw New Exception(_ErrorMessage)
|
|
End If
|
|
' StorageComputed zárolás
|
|
'__________________________________________________________________________
|
|
If Not LockingModule.LockObject(_uow_lock, GetType(StorageComputed), "-", _User) Then
|
|
Dim _LockingObject As LockingObject = _onew.FindObject(Of LockingObject)(CriteriaOperator.Parse("TableName=?", GetType(StorageComputed).Name + "-" + "-"))
|
|
|
|
Dim _Prompt As String = DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\StorageComputed", "CanNotStorageInByLocking")
|
|
Dim _Title As String = DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxError")
|
|
MsgBox(String.Format(_Prompt, _LockingObject.User.FullName, _LockingObject.ObjectCreated), MsgBoxStyle.Information + MsgBoxStyle.OkOnly, _Title)
|
|
|
|
Exit Sub
|
|
Else
|
|
' Betárolás stornózás
|
|
'__________________________________________________________________________
|
|
Dim _StorageInHeaderNew As New StorageInHeader(_onew.Session)
|
|
With _StorageInHeaderNew
|
|
.Storage = _StorageInHeader.Storage
|
|
.StorageMoveType = _StorageInHeader.StorageMoveType
|
|
.Active = False
|
|
.IsStorno = True
|
|
.IsEditable = False
|
|
.IsFinalized = False
|
|
.CreateDate = GetSQLTime(_onew.Session)
|
|
End With
|
|
|
|
_StorageInHeader.IsStorno = True
|
|
_StorageInHeader.Active = False
|
|
_StorageInHeader.IsEditable = False
|
|
|
|
For Each _StorageInRows As StorageInRows In _StorageInHeader.StorageInRows
|
|
Dim _StorageInRowsNew As New StorageInRows(_onew.Session)
|
|
With _StorageInRowsNew
|
|
.StorageInHeader = _StorageInHeaderNew
|
|
.RowIndex = _StorageInHeaderNew.StorageInRows.Count
|
|
.Products = _StorageInRows.Products
|
|
.QTT = _StorageInRows.QTT * (-1)
|
|
.QTT_Will = 0
|
|
.QTT_Out = 0
|
|
.QTT_Out_Will = 0
|
|
.Active = False
|
|
.OnStorno = True
|
|
.PacketNumber = _StorageInRows.PacketNumber
|
|
.SerialNumber = _StorageInRows.SerialNumber
|
|
.Storage = _StorageInHeaderNew.Storage
|
|
.Weight = _StorageInRows.Weight
|
|
If _StorageInRows.DeliveryNoteInRows IsNot Nothing Then
|
|
.DeliveryNoteInRows = _StorageInRows.DeliveryNoteInRows
|
|
End If
|
|
End With
|
|
Dim _StorageComputed As StorageComputed = _onew.FindObject(Of StorageComputed)(CriteriaOperator.Parse("Storage=? AND Products=?", _StorageInHeader.Storage, _StorageInRows.Products))
|
|
|
|
_StorageComputed.QTTFree -= _StorageInRows.QTT
|
|
|
|
Dim _StorageMoveEvents_Collection As New XPCollection(Of StorageMoveEvents)(_onew.Session, CriteriaOperator.Parse("StorageInRows=?", _StorageInRows), _
|
|
New SortProperty("ObjectCreated", DB.SortingDirection.Descending))
|
|
|
|
Dim _StorageMoveEvents As New StorageMoveEvents(_onew.Session)
|
|
With _StorageMoveEvents
|
|
.StorageInRows = _StorageInRows
|
|
.QTT = (-1) * _StorageInRows.QTT
|
|
.QTT_Free_Before = _StorageMoveEvents_Collection(0).QTT_Free_After
|
|
.QTT_Free_After = _StorageMoveEvents.QTT_Free_Before + _StorageMoveEvents.QTT
|
|
.MoveEventsType = eMoveEventsType.StorageInStorno
|
|
.ObjectCreated = GetSQLTime(_onew.Session)
|
|
End With
|
|
Next
|
|
End If
|
|
|
|
_onew.CommitChanges()
|
|
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
|
|
Finally
|
|
LockingModule.UnLockObject(_uow_lock, GetType(StorageComputed), "-", _User)
|
|
End Try
|
|
End Sub
|
|
Private Sub aToTableD_SIH_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aToTableD_SIH.Execute
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
|
|
Dim _uow As New UnitOfWork(_onew.Session.DataLayer)
|
|
Dim _StorageInHeader As StorageInHeader = TryCast(View.SelectedObjects(0), StorageInHeader)
|
|
Dim _uow_lock As New UnitOfWork(_ocur.Session.DataLayer)
|
|
Dim _User As User = _uow_lock.GetObjectByKey(Of User)(SecuritySystem.CurrentUserId)
|
|
Dim _StorageInHeader_ListEditor As ListPropertyEditor = TryCast(View, DetailView).FindItem("StorageInRows")
|
|
Try
|
|
|
|
Dim _StorageInRows As StorageInRows
|
|
Dim _StorageInRows_Collection As New ArrayList
|
|
|
|
If Not LockingModule.LockObject(_uow_lock, GetType(StorageComputed), "-", _User) Then
|
|
Dim _LockingObject As LockingObject = _onew.FindObject(Of LockingObject)(CriteriaOperator.Parse("TableName=?", GetType(StorageComputed).Name + "-" + "-"))
|
|
|
|
Dim _Prompt As String = DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\StorageComputed", "CanNotStorageInByLocking")
|
|
Dim _Title As String = DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxError")
|
|
MsgBox(String.Format(_Prompt, _LockingObject.User.FullName, _LockingObject.ObjectCreated), MsgBoxStyle.Information + MsgBoxStyle.OkOnly, _Title)
|
|
|
|
Exit Sub
|
|
Else
|
|
For Each _StorageInRows In _StorageInHeader_ListEditor.ListView.SelectedObjects
|
|
_StorageInRows.RemoveRows()
|
|
Dim _StorageComputed As StorageComputed = _ocur.FindObject(Of StorageComputed)(CriteriaOperator.Parse("Storage=? AND Products=?", _
|
|
_StorageInHeader.Storage, _StorageInRows.Products))
|
|
|
|
If _StorageComputed Is Nothing Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
|
|
_StorageComputed.QTTReservedIn -= _StorageInRows.QTT_Will
|
|
|
|
'If _StorageComputed.QTTFree = 0 And _
|
|
' _StorageComputed.QTTReserved = 0 And _
|
|
' _StorageComputed.QTTReservedIn = 0 And _
|
|
' _StorageComputed.QTTReservedOut = 0 Then
|
|
' _StorageComputed.Delete()
|
|
'End If
|
|
If _StorageInHeader.StorageMoveType.MoveType = eMoveType.InventoryTransfer Then
|
|
_StorageInRows.StorageInRowsFrom.QTT_Overstored -= _StorageInRows.QTT_Will
|
|
_StorageInRows.StorageInRowsFrom = Nothing
|
|
End If
|
|
_StorageInRows_Collection.Add(_StorageInRows)
|
|
Next
|
|
|
|
_ocur.Delete(_StorageInRows_Collection)
|
|
_ocur.CommitChanges()
|
|
If _StorageInHeader.StorageMoveType.MoveType = eMoveType.InventoryTransfer Then
|
|
CheckInventoryTransferStorageInRows(_uow, _StorageInHeader.StorageInRows)
|
|
End If
|
|
View.Refresh()
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
|
|
Finally
|
|
LockingModule.UnLockObject(_uow_lock, GetType(StorageComputed), "-", _User)
|
|
End Try
|
|
End Sub
|
|
Private Sub aUp_StorageIn_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aUp_StorageIn.Execute
|
|
Try
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _StorageInHeader As StorageInHeader = TryCast(View.SelectedObjects(0), StorageInRows).StorageInHeader
|
|
Dim _StorageInRowsMinus As StorageInRows = Nothing
|
|
Dim _StorageInRowsSelected As StorageInRows = TryCast(View.SelectedObjects(0), StorageInRows)
|
|
If _StorageInRowsSelected Is Nothing Then Throw New Exception("*Nincs sor kiválasztva, vagy nem a sor kijelölése az aktív!")
|
|
|
|
If _StorageInRowsSelected.RowIndex > 0 Then
|
|
For Each _StorageInrows As StorageInRows In _StorageInHeader.StorageInRows
|
|
If _StorageInrows.RowIndex = _StorageInRowsSelected.RowIndex - 1 Then
|
|
_StorageInRowsMinus = _StorageInrows
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
If _StorageInRowsMinus IsNot Nothing Then
|
|
_StorageInRowsSelected.RowIndex -= 1
|
|
_StorageInRowsMinus.RowIndex += 1
|
|
End If
|
|
End If
|
|
_ocur.CommitChanges()
|
|
View.Refresh()
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
|
|
End Try
|
|
End Sub
|
|
Private Sub aDown_StorageIn_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aDown_StorageIn.Execute
|
|
Try
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _StorageInHeader As StorageInHeader = TryCast(View.SelectedObjects(0), StorageInRows).StorageInHeader
|
|
Dim _StorageInRowsPlus As StorageInRows = Nothing
|
|
Dim _StorageInRowsSelected As StorageInRows = TryCast(View.SelectedObjects(0), StorageInRows) ' Kiveszi a kijelölt sorok közül az elsőt
|
|
If _StorageInRowsSelected Is Nothing Then Throw New Exception("*Nincs sor kiválasztva, vagy nem a sor kijelölése az aktív!")
|
|
|
|
If _StorageInRowsSelected.RowIndex < _StorageInHeader.StorageInRows.Count - 1 Then
|
|
For Each _StorageInrows As StorageInRows In _StorageInHeader.StorageInRows
|
|
If _StorageInrows.RowIndex = _StorageInRowsSelected.RowIndex + 1 Then
|
|
_StorageInRowsPlus = _StorageInrows
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
If _StorageInRowsPlus IsNot Nothing Then
|
|
_StorageInRowsSelected.RowIndex += 1
|
|
_StorageInRowsPlus.RowIndex -= 1
|
|
End If
|
|
End If
|
|
_ocur.CommitChanges()
|
|
View.Refresh()
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
|
|
End Try
|
|
End Sub
|
|
'Private Sub sis_SIFinal(ByVal p_StorageInHeader As StorageInHeader, ByVal _p_ocur As Xpo.XPObjectSpace)
|
|
' For Each _StorageInRows As StorageInRows In p_StorageInHeader.StorageInRows
|
|
' Dim _StorageComputed As StorageComputed = _p_ocur.FindObject(Of StorageComputed)(CriteriaOperator.Parse("Products=? and Storage=?", _StorageInRows.Products, p_StorageInHeader.Storage))
|
|
' Dim _StorageMoveEvents As StorageMoveEvents = _p_ocur.CreateObject(Of StorageMoveEvents)()
|
|
' If _StorageInRows.QTT_Will > 0 Then
|
|
' _StorageInRows.QTT = _StorageInRows.QTT_Will
|
|
' _StorageComputed.QTTFree += _StorageInRows.QTT_Will
|
|
' _StorageComputed.QTTReservedIn -= _StorageInRows.QTT_Will
|
|
|
|
' _StorageMoveEvents.StorageInRows = _StorageInRows
|
|
' _StorageMoveEvents.QTT = _StorageInRows.QTT_Will
|
|
' _StorageMoveEvents.QTT_Free_After = _StorageComputed.QTTFree
|
|
' _StorageMoveEvents.QTT_Free_Before = _StorageMoveEvents.QTT_Free_After - _StorageMoveEvents.QTT
|
|
' _StorageMoveEvents.MoveEventsType = eMoveEventsType.StorageInFinal
|
|
' _StorageMoveEvents.ExecutionDate = GetSQLTime(_p_ocur.Session)
|
|
|
|
' _StorageInRows.QTT_Will = 0
|
|
' End If
|
|
' Next
|
|
' p_StorageInHeader.IsEditable = False
|
|
' p_StorageInHeader.IsFinalized = True
|
|
' _p_ocur.CommitChanges()
|
|
'End Sub
|
|
Private Sub aBackToEdit_StorageInHeader_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aBackToEdit_StorageInHeader.Execute
|
|
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _uow_lock As New UnitOfWork(_onew.Session.DataLayer)
|
|
Dim _User As User = _onew.GetObject(TryCast(SecuritySystem.CurrentUser, User))
|
|
Dim _StorageInHeader As StorageInHeader = _onew.FindObject(Of StorageInHeader)(CriteriaOperator.Parse("Oid=?", TryCast(View.SelectedObjects(0), StorageInHeader).Oid))
|
|
|
|
Try
|
|
If _StorageInHeader.Storage IsNot Nothing And _StorageInHeader.StorageInRows.Count = 0 Then _
|
|
Throw New Exception("*Nem lehet véglegesíteni a betárolási bizonylatot!" & vbNewLine & vbNewLine & _
|
|
"Kérem ellenőrizze, hogy be lett-e állítva raktár, illetve" & vbNewLine & _
|
|
"definiált-e betárolási sorokat!")
|
|
|
|
If Not LockingModule.LockObject(_uow_lock, GetType(StorageComputed), "-", _User) Then
|
|
Dim _LockingObject As LockingObject = _onew.FindObject(Of LockingObject)(CriteriaOperator.Parse("TableName=?", GetType(StorageComputed).Name + "-" + "-"))
|
|
|
|
Dim _Prompt As String = DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\StorageComputed", "CanNotStorageInByLocking")
|
|
Dim _Title As String = DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxError")
|
|
MsgBox(String.Format(_Prompt, _LockingObject.User.FullName, _LockingObject.ObjectCreated), MsgBoxStyle.Information + MsgBoxStyle.OkOnly, _Title)
|
|
|
|
Exit Sub
|
|
Else
|
|
If _StorageInHeader.Active = True Then
|
|
Dim _AllowBackToEdit As Boolean = False
|
|
For Each _StorageInRows As StorageInRows In _StorageInHeader.StorageInRows
|
|
If _StorageInRows.QTT_Out = 0 Then
|
|
_AllowBackToEdit = True
|
|
Exit For
|
|
End If
|
|
Next
|
|
If _AllowBackToEdit = True Then
|
|
_StorageInHeader.IsEditable = True
|
|
|
|
|
|
For Each _StorageInRows As StorageInRows In _StorageInHeader.StorageInRows
|
|
Dim _StorageComputed As StorageComputed = _onew.FindObject(Of StorageComputed)(CriteriaOperator.Parse("Storage=? AND Products=?", _
|
|
_onew.GetObject(_StorageInRows.StorageInHeader.Storage), _onew.GetObject(_StorageInRows.Products)))
|
|
_StorageComputed.QTTFree -= _StorageInRows.QTT
|
|
_StorageComputed.QTTReservedIn += _StorageInRows.QTT
|
|
|
|
Dim _StorageMoveEvents_Collection As New XPCollection(Of StorageMoveEvents)(_onew.Session, CriteriaOperator.Parse("StorageInRows=?", _onew.GetObject(_StorageInRows)))
|
|
_StorageMoveEvents_Collection.Sorting.Add(New SortProperty("ObjectCreated", DB.SortingDirection.Descending))
|
|
|
|
_StorageInRows.QTT_Will = _StorageInRows.QTT
|
|
_StorageInRows.QTT = 0
|
|
|
|
Dim _StorageMoveEvents As New StorageMoveEvents(_onew.Session)
|
|
_StorageMoveEvents.StorageInRows = _onew.GetObject(_StorageMoveEvents_Collection(0).StorageInRows)
|
|
_StorageMoveEvents.StorageOutRows = _onew.GetObject(_StorageMoveEvents_Collection(0).StorageOutRows)
|
|
_StorageMoveEvents.QTT_Free_Before = _StorageMoveEvents_Collection(0).QTT_Free_After
|
|
_StorageMoveEvents.QTT = (-1) * _StorageInRows.QTT_Will
|
|
_StorageMoveEvents.QTT_Free_After = _StorageMoveEvents.QTT_Free_Before + _StorageMoveEvents.QTT
|
|
_StorageMoveEvents.MoveEventsType = eMoveEventsType.StorageInBackToEdit
|
|
_StorageMoveEvents.ExecutionDate = GetSQLTime(_ocur.Session)
|
|
|
|
Next
|
|
_onew.CommitChanges()
|
|
End If
|
|
End If
|
|
If Frame.GetController(Of RefreshController).RefreshAction.Enabled Then
|
|
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
|
|
End If
|
|
End If
|
|
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, "Hiba")
|
|
|
|
Finally
|
|
LockingModule.UnLockObject(_uow_lock, GetType(StorageComputed), "-", _User)
|
|
End Try
|
|
End Sub
|
|
Private Sub StorageInHeader_ListView_View_SelectionChanged(sender As Object, e As EventArgs)
|
|
If View.SelectedObjects.Count = 1 Then
|
|
Dim _StorageInHeader As StorageInHeader = TryCast(View.SelectedObjects(0), StorageInHeader)
|
|
If _StorageInHeader IsNot Nothing Then
|
|
If _StorageInHeader.IsStorno = False Then
|
|
Frame.GetController(Of StorageTransactionsInVC)().aStorageInStorno.Enabled.SetItemValue("", True)
|
|
Frame.GetController(Of StorageTransactionsInVC)().aBackToEdit_StorageInHeader.Enabled.SetItemValue("", True)
|
|
Else
|
|
Frame.GetController(Of StorageTransactionsInVC)().aStorageInStorno.Enabled.SetItemValue("", False)
|
|
Frame.GetController(Of StorageTransactionsInVC)().aBackToEdit_StorageInHeader.Enabled.SetItemValue("", False)
|
|
End If
|
|
End If
|
|
End If
|
|
End Sub
|
|
Private Sub aStorageInFromPdaCollection_CustomizePopupWindowParams(sender As Object, e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aStorageInFromPdaCollection.CustomizePopupWindowParams
|
|
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
|
|
Dim _StoragePDACollectionHeader_Collection As New XPCollection(Of StoragePDACollectionHeader)(_onew.Session, CriteriaOperator.Parse("StoragePDACollectionHeaderStatus=0 " _
|
|
+ "AND StoragePDACollectionRows.Count>0"))
|
|
|
|
Dim _CS As New CollectionSource(_onew, GetType(StorageInRowsFromPDACollectionPopup))
|
|
|
|
For Each _StoragePDACollectionHeader As StoragePDACollectionHeader In _StoragePDACollectionHeader_Collection
|
|
Dim _StorageInRowsFromPDACollectionPopup As StorageInRowsFromPDACollectionPopup = _onew.CreateObject(Of StorageInRowsFromPDACollectionPopup)()
|
|
_StorageInRowsFromPDACollectionPopup.StoragePDACollectionHeader = _StoragePDACollectionHeader
|
|
|
|
_CS.Add(_StorageInRowsFromPDACollectionPopup)
|
|
Next
|
|
|
|
e.View = Application.CreateListView("StorageInRowsFromPDACollectionPopup_ListView", _CS, False)
|
|
End Sub
|
|
Private Sub aStorageInFromPdaCollection_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aStorageInFromPdaCollection.Execute
|
|
Try
|
|
If e.PopupWindow.View.SelectedObjects.Count = 0 Then Throw New Exception("*Nincs kiválasztva egyetlen kollekció sem!" + vbNewLine _
|
|
+ "A művelet megszakadt.")
|
|
Dim _ocur As Xpo.XPObjectSpace = View.ObjectSpace
|
|
Dim _StorageInHeader As StorageInHeader = TryCast(View.SelectedObjects(0), StorageInHeader)
|
|
For Each _StorageInRowsFromPDACollectionPopup As StorageInRowsFromPDACollectionPopup In e.PopupWindow.View.SelectedObjects
|
|
If _StorageInRowsFromPDACollectionPopup.StoragePDACollectionHeader.StoragePDACollectionRows.Count > 0 Then
|
|
_StorageInRowsFromPDACollectionPopup.StoragePDACollectionHeader.StoragePDACollectionHeaderStatus = 1
|
|
For Each _StoragePDACollectionRows As StoragePDACollectionRows In _StorageInRowsFromPDACollectionPopup.StoragePDACollectionHeader.StoragePDACollectionRows
|
|
_StorageInHeader.row_Products = _ocur.GetObjectByKey(Of Products)(_StoragePDACollectionRows.Products.Oid)
|
|
_StorageInHeader.row_QTT_WILL = _StoragePDACollectionRows.QTT
|
|
Frame.GetController(Of StorageTransactionsInVC).aToTable_StorageIn.DoExecute()
|
|
Next
|
|
End If
|
|
Next
|
|
_ocur.CommitChanges()
|
|
Catch ext As Exception
|
|
MsgBox(ext.Message)
|
|
End Try
|
|
End Sub
|
|
Private Sub aGenerateStorageInPDACollection_CustomizePopupWindowParams(sender As Object, e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aGenerateStorageInPDACollection.CustomizePopupWindowParams
|
|
Try
|
|
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
|
|
Dim _GenerateStorageInPDALocationCollection As GenerateStorageInPDALocationCollection = _onew.CreateObject(Of GenerateStorageInPDALocationCollection)()
|
|
e.View = Application.CreateDetailView(_onew, "GenerateStorageInPDALocationCollection_DetailView", False, _GenerateStorageInPDALocationCollection)
|
|
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message, MsgBoxStyle.OkOnly)
|
|
End Try
|
|
End Sub
|
|
Private Sub aGenerateStorageInPDACollection_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aGenerateStorageInPDACollection.Execute
|
|
Try
|
|
Dim _ocur As Xpo.XPObjectSpace = View.ObjectSpace
|
|
Dim _StorageInHeader As StorageInHeader = TryCast(View.SelectedObjects(0), StorageInHeader)
|
|
Dim _GenerateStorageInPDALocationCollection As GenerateStorageInPDALocationCollection = TryCast(e.PopupWindow.View.SelectedObjects(0), GenerateStorageInPDALocationCollection)
|
|
If _StorageInHeader Is Nothing Then Throw New Exception("*Nincs kijelölve egyetlen véglegesített betárolás sem!")
|
|
|
|
Dim _StoragePDACollectionHeader As StoragePDACollectionHeader = _ocur.CreateObject(Of StoragePDACollectionHeader)()
|
|
_StoragePDACollectionHeader.StoragePDACollectionHeaderStatus = eStoragePDACollectionHeaderStatus.eOpen
|
|
_StoragePDACollectionHeader.StorageCollectionType = eStoragePDACollectionType.eIsLocationIn
|
|
_StoragePDACollectionHeader.StoragePDAParameters = _ocur.GetObjectByKey(Of StoragePDAParameters)(_GenerateStorageInPDALocationCollection.StoragePDAParameters.Oid)
|
|
_StoragePDACollectionHeader.StorageInHeader = _StorageInHeader
|
|
_StoragePDACollectionHeader.CustomersFrom = _ocur.GetObject(_GenerateStorageInPDALocationCollection.StoragePDAParameters.CustomersFrom)
|
|
|
|
If _StorageInHeader.StorageInRows.Count > 0 Then
|
|
For Each _StorageInRows As StorageInRows In _StorageInHeader.StorageInRows
|
|
Dim _StoragePDACollectionRows As StoragePDACollectionRows = _ocur.CreateObject(Of StoragePDACollectionRows)()
|
|
_StoragePDACollectionRows.StoragePDACollectionHeader = _StoragePDACollectionHeader
|
|
_StoragePDACollectionRows.Products = _StorageInRows.Products
|
|
_StoragePDACollectionRows.QTT = _StorageInRows.QTT
|
|
_StoragePDACollectionRows.DateModified = GetSQLTime(_ocur.Session)
|
|
_StoragePDACollectionRows.SerialNumber = _StorageInRows.SerialNumber
|
|
_StoragePDACollectionRows.PacketNumber = _StorageInRows.PacketNumber
|
|
_StoragePDACollectionRows.ConnectOid = _StorageInRows.Oid 'A kötés miatt kell !!!
|
|
If _StorageInRows.Products.ProductsBarcodes.Count > 0 Then
|
|
_StoragePDACollectionRows.Barcode = _StorageInRows.Products.ProductsBarcodes(0).Barcode
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
_ocur.CommitChanges()
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message, MsgBoxStyle.OkOnly)
|
|
End Try
|
|
End Sub
|
|
Private Sub aStorageInHeader_InsertInventoryTransfer_CustomizePopupWindowParams(sender As Object, e As CustomizePopupWindowParamsEventArgs) Handles aStorageInHeader_InsertInventoryTransfer.CustomizePopupWindowParams
|
|
Try
|
|
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
|
|
Dim _StorageInHeader As StorageInHeader = TryCast(View.SelectedObjects(0), StorageInHeader)
|
|
Dim _StorageInRows_InTable As StorageInRows
|
|
Dim _StorageInRowsFrom_Collection As New XPCollection(Of StorageInRows)(_onew.Session, CriteriaOperator.Parse("1=2"))
|
|
Dim _StorageOutHeader_Collection As New XPCollection(Of StorageOutHeader)(_onew.Session, CriteriaOperator.Parse("IsEditable=False AND StorageTo=? AND Storage=?", _
|
|
_onew.GetObject(_StorageInHeader.Storage), _onew.GetObject(_StorageInHeader.StorageFrom)))
|
|
|
|
Dim _StorageOutRows_CollectionSource As New CollectionSource(_onew, GetType(StorageOutRows))
|
|
Dim _Filter As String = "Oid in("
|
|
Dim _StorageOutRowsInRows As StorageOutRowsInRows
|
|
For Each _StorageOutHeader As StorageOutHeader In _StorageOutHeader_Collection
|
|
For Each _StorageOutRows As StorageOutRows In _StorageOutHeader.StorageOutRows
|
|
Dim _Need As Boolean = True
|
|
For Each _StorageOutRowsInRows In _StorageOutRows.StorageOutRowsInRows
|
|
If _StorageOutRowsInRows.StorageInRows.QTT_Overstored < _StorageOutRowsInRows.StorageInRows.QTT_Out Then
|
|
|
|
For Each _StorageInRows_InTable In _StorageInHeader.StorageInRows
|
|
If _StorageOutRowsInRows.StorageInRows.Oid = _StorageInRows_InTable.StorageInRowsFrom.Oid Then
|
|
_Need = False
|
|
Exit For
|
|
End If
|
|
Next
|
|
Else
|
|
_Need = False
|
|
End If
|
|
Next
|
|
If _need Then
|
|
_Filter += "'" + _StorageOutRows.Oid.ToString + "',"
|
|
End If
|
|
Next
|
|
|
|
Next
|
|
|
|
_Filter = _Filter.Remove(_Filter.Length - 1, 1)
|
|
_Filter += ")"
|
|
_StorageOutRows_CollectionSource.BeginUpdateCriteria()
|
|
_StorageOutRows_CollectionSource.Criteria.Clear()
|
|
If _Filter.Length > 8 Then
|
|
_StorageOutRows_CollectionSource.Criteria("Filter") = CriteriaOperator.Parse(_Filter)
|
|
Else
|
|
_StorageOutRows_CollectionSource.Criteria.Add("1", CriteriaOperator.Parse("1=2"))
|
|
End If
|
|
_StorageOutRows_CollectionSource.EndUpdateCriteria()
|
|
|
|
e.View = Application.CreateListView("StorageOutRows_ListView_Overstored", _StorageOutRows_CollectionSource, False)
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
|
|
End Try
|
|
End Sub
|
|
Private Sub aStorageInHeader_InsertInventoryTransfer_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aStorageInHeader_InsertInventoryTransfer.Execute
|
|
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _uow_lock As New UnitOfWork(_onew.Session.DataLayer)
|
|
Dim _User As User = _onew.GetObject(TryCast(SecuritySystem.CurrentUser, User))
|
|
|
|
Try
|
|
If Not LockingModule.LockObject(_uow_lock, GetType(StorageComputed), "-", _User) Then
|
|
Dim _LockingObject As LockingObject = _onew.FindObject(Of LockingObject)(CriteriaOperator.Parse("TableName=?", GetType(StorageComputed).Name + "-" + "-"))
|
|
|
|
Dim _Prompt As String = DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\StorageComputed", "CanNotStorageInByLocking")
|
|
Dim _Title As String = DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxError")
|
|
MsgBox(String.Format(_Prompt, _LockingObject.User.FullName, _LockingObject.ObjectCreated), MsgBoxStyle.Information + MsgBoxStyle.OkOnly, _Title)
|
|
|
|
Exit Sub
|
|
Else
|
|
Dim _StorageInHeader As StorageInHeader = TryCast(View.SelectedObjects(0), StorageInHeader)
|
|
For Each _StorageOutRows As StorageOutRows In e.PopupWindow.View.SelectedObjects
|
|
For Each _StorageOutRowsInRows As StorageOutRowsInRows In _StorageOutRows.StorageOutRowsInRows
|
|
_StorageOutRowsInRows = _ocur.GetObject(_StorageOutRowsInRows)
|
|
|
|
Dim _StorageComputed As StorageComputed = _ocur.FindObject(Of StorageComputed)(CriteriaOperator.Parse("Products=? and Storage=?", _
|
|
_ocur.GetObject(_StorageOutRowsInRows.StorageInRows.Products), _ocur.GetObject(_StorageInHeader.Storage)))
|
|
|
|
If _StorageComputed Is Nothing Then
|
|
_StorageComputed = _ocur.CreateObject(Of StorageComputed)()
|
|
_StorageComputed.Storage = _StorageInHeader.Storage
|
|
_StorageComputed.Products = _ocur.GetObject(_StorageOutRowsInRows.StorageInRows.Products)
|
|
_StorageComputed.QTTReservedIn = _StorageOutRowsInRows.QTT
|
|
Else
|
|
_StorageComputed.QTTReservedIn += _StorageOutRowsInRows.QTT
|
|
End If
|
|
|
|
Dim _StorageInRows As New StorageInRows(_ocur.Session)
|
|
With _StorageInRows
|
|
.StorageInHeader = _StorageInHeader
|
|
.Products = _ocur.GetObject(_StorageOutRowsInRows.StorageInRows.Products)
|
|
.QTT_Will = _StorageOutRowsInRows.QTT
|
|
.PacketNumber = _StorageOutRowsInRows.StorageInRows.PacketNumber
|
|
.SerialNumber = _StorageOutRowsInRows.StorageInRows.SerialNumber
|
|
.WeightMode = _StorageOutRowsInRows.StorageInRows.WeightMode
|
|
.Weight = .QTT_Will * (_StorageOutRowsInRows.StorageInRows.Weight / _StorageOutRowsInRows.StorageInRows.QTT)
|
|
.RowIndex = _StorageInHeader.StorageInRows.Count
|
|
.StorageInRowsFrom = _StorageOutRowsInRows.StorageInRows
|
|
.DeliveryNoteInRows = _ocur.GetObject(_StorageOutRowsInRows.StorageInRows.DeliveryNoteInRows)
|
|
End With
|
|
_StorageOutRowsInRows.StorageInRows.QTT_Overstored += _StorageOutRowsInRows.QTT
|
|
Next
|
|
Next
|
|
_ocur.CommitChanges()
|
|
|
|
End If
|
|
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
|
|
Finally
|
|
LockingModule.UnLockObject(_uow_lock, GetType(StorageComputed), "-", _User)
|
|
End Try
|
|
End Sub
|
|
Private Sub aStorageInRows_Split_CustomizePopupWindowParams(sender As Object, e As CustomizePopupWindowParamsEventArgs) Handles aStorageInRows_Split.CustomizePopupWindowParams
|
|
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
|
|
Dim _StorageInRows As StorageInRows = TryCast(View.SelectedObjects(0), StorageInRows)
|
|
Dim _StorageInRows_Split_PopUp As New StorageInRows_Split_PopUp(_onew.Session)
|
|
|
|
_StorageInRows_Split_PopUp.QTT_Max = _StorageInRows.QTT - _StorageInRows.QTT_Out
|
|
_StorageInRows_Split_PopUp.StorageInRows = _onew.GetObject(_StorageInRows)
|
|
|
|
e.View = Application.CreateDetailView(_onew, "StorageInRows_Split_PopUp_DetailView", False, _StorageInRows_Split_PopUp)
|
|
End Sub
|
|
Private Sub aStorageInRows_Split_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aStorageInRows_Split.Execute
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _StorageInRows As StorageInRows = TryCast(View.SelectedObjects(0), StorageInRows)
|
|
|
|
Dim _QTT_Max As Double = TryCast(e.PopupWindow.View.SelectedObjects(0), StorageInRows_Split_PopUp).QTT_Max
|
|
|
|
If _QTT_Max > 0 And _QTT_Max < _StorageInRows.QTT Then
|
|
Dim _StorageInRows_New As New StorageInRows(_ocur.Session)
|
|
With _StorageInRows_New
|
|
.StorageInHeader = _StorageInRows.StorageInHeader
|
|
.Products = _StorageInRows.Products
|
|
.QTT = _QTT_Max
|
|
.QTT_Will = 0
|
|
.QTT_Out = 0
|
|
.QTT_Out_Will = 0
|
|
.QTT_Overstored = 0
|
|
.Active = _StorageInRows.Active
|
|
.DeliveryNoteInRows = _StorageInRows.DeliveryNoteInRows
|
|
.PacketNumber = _StorageInRows.PacketNumber
|
|
.SerialNumber = _StorageInRows.SerialNumber
|
|
.Weight = _StorageInRows.Weight
|
|
.WeightMode = _StorageInRows.WeightMode
|
|
.Storage = _StorageInRows.Storage
|
|
.StorageInRowsFrom = _StorageInRows.StorageInRowsFrom
|
|
.AveragePriceInHUF = _StorageInRows.AveragePriceInHUF
|
|
End With
|
|
|
|
_StorageInRows.QTT -= _QTT_Max
|
|
|
|
Dim _StorageMoveEvents As StorageMoveEvents = _ocur.FindObject(Of StorageMoveEvents)(CriteriaOperator.Parse("StorageInRows=? AND MoveEventsType=0", _StorageInRows))
|
|
With _StorageMoveEvents
|
|
.QTT -= _QTT_Max
|
|
.QTT_Free_After -= _QTT_Max
|
|
End With
|
|
|
|
Dim _StorageMoveEvents_New As New StorageMoveEvents(_ocur.Session)
|
|
With _StorageMoveEvents_New
|
|
.StorageInRows = _StorageInRows_New
|
|
.QTT = _StorageInRows_New.QTT
|
|
.QTT_Free_Before = _StorageMoveEvents.QTT_Free_After
|
|
.QTT_Free_After = .QTT_Free_Before + .QTT
|
|
.ExecutionDate = _StorageMoveEvents.ExecutionDate
|
|
.MoveEventsType = eMoveEventsType.StorageInFinal
|
|
End With
|
|
|
|
_ocur.CommitChanges()
|
|
End If
|
|
End Sub
|
|
Private Sub StorageInRows_Split_PopUp_DetailView_AcceptAction_Executing(sender As Object, e As CancelEventArgs)
|
|
Try
|
|
Dim _StorageInRows_Split_PopUp As StorageInRows_Split_PopUp = TryCast(View.SelectedObjects(0), StorageInRows_Split_PopUp)
|
|
|
|
If _StorageInRows_Split_PopUp.StorageInRows.QTT < _StorageInRows_Split_PopUp.QTT_Max Then Throw New Exception("*A beírt érték meghaladja a maximális értéket!")
|
|
If _StorageInRows_Split_PopUp.QTT_Max = 0 Then Throw New Exception("*Nulla mennyiséggel nem lehet sort bontani!")
|
|
If _StorageInRows_Split_PopUp.QTT_Max < 0 Then Throw New Exception("*Negatív mennyiséggel nem lehet sort bontani!")
|
|
If _StorageInRows_Split_PopUp.QTT_Max - _StorageInRows_Split_PopUp.StorageInRows.QTT = 0 Then Throw New Exception("*Nem maradhat nulla értékű sor a sorbontás után!")
|
|
Catch ex As Exception
|
|
e.Cancel = True
|
|
MsgBox(ex.Message, MsgBoxStyle.OkOnly)
|
|
End Try
|
|
End Sub
|
|
Private Sub aStorageInHeader_InsertInventoryTransfer_FIFO_CustomizePopupWindowParams(sender As Object, e As CustomizePopupWindowParamsEventArgs) Handles aStorageInHeader_InsertInventoryTransfer_FIFO.CustomizePopupWindowParams
|
|
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
|
|
Dim _StorageOutRowsInRows_Collection As New CollectionSource(_onew, GetType(StorageOutRowsInRows))
|
|
Dim _StorageInHeader As StorageInHeader = TryCast(View.SelectedObjects(0), StorageInHeader)
|
|
Dim _StorageOutRowsInRows As StorageOutRowsInRows = Nothing
|
|
|
|
_StorageOutRowsInRows_Collection.BeginUpdateCriteria()
|
|
_StorageOutRowsInRows_Collection.Criteria("ByNotOverstored") = CriteriaOperator.Parse("StorageOutRows.StorageOutHeader.StorageTo.Oid=? and " _
|
|
+ "[StorageOutRows.StorageOutHeader.IsStorno] = False and [StorageOutRows.StorageOutHeader.IsEditable] = False And" _
|
|
+ "[StorageOutRows.StorageOutHeader.StorageMoveType.MoveType] = ##Enum#Nuvolar.Module.eMoveType,InventoryTransfer# And " _
|
|
+ "Round([StorageInRows.QTT_Overstor], 4) > Round([StorageInRows.QTT_Overstored], 4)", _
|
|
_StorageInHeader.Storage.Oid)
|
|
_StorageOutRowsInRows_Collection.EndUpdateCriteria()
|
|
|
|
|
|
e.View = Application.CreateListView("StorageOutRowsInRows_ListView_Overstored", _StorageOutRowsInRows_Collection, False)
|
|
End Sub
|
|
Private Sub aStorageInHeader_InsertInventoryTransfer_FIFO_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aStorageInHeader_InsertInventoryTransfer_FIFO.Execute
|
|
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
|
|
Dim _uow As New UnitOfWork(_onew.Session.DataLayer)
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _uow_lock As New UnitOfWork(_onew.Session.DataLayer)
|
|
Dim _User As User = _onew.GetObject(TryCast(SecuritySystem.CurrentUser, User))
|
|
|
|
Try
|
|
If Not LockingModule.LockObject(_uow_lock, GetType(StorageComputed), "-", _User) Then
|
|
Dim _LockingObject As LockingObject = _onew.FindObject(Of LockingObject)(CriteriaOperator.Parse("TableName=?", GetType(StorageComputed).Name + "-" + "-"))
|
|
|
|
Dim _Prompt As String = DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\StorageComputed", "CanNotStorageInByLocking")
|
|
Dim _Title As String = DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxError")
|
|
MsgBox(String.Format(_Prompt, _LockingObject.User.FullName, _LockingObject.ObjectCreated), MsgBoxStyle.Information + MsgBoxStyle.OkOnly, _Title)
|
|
|
|
Exit Sub
|
|
Else
|
|
Dim _StorageInHeader As StorageInHeader = TryCast(View.SelectedObjects(0), StorageInHeader)
|
|
If _StorageInHeader Is Nothing Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
|
|
|
|
For Each _StorageOutRowsInRows As StorageOutRowsInRows In e.PopupWindow.View.SelectedObjects
|
|
If _StorageOutRowsInRows.QTT_Will > 0 Then
|
|
Dim _QTT_Will As Double = _StorageOutRowsInRows.QTT_Will
|
|
_StorageOutRowsInRows = _ocur.GetObject(_StorageOutRowsInRows)
|
|
|
|
Dim _StorageComputed As StorageComputed = _ocur.FindObject(Of StorageComputed)(CriteriaOperator.Parse("Products=? and Storage=?", _
|
|
_ocur.GetObject(_StorageOutRowsInRows.StorageInRows.Products), _ocur.GetObject(_StorageInHeader.Storage)))
|
|
|
|
If _StorageComputed Is Nothing Then
|
|
_StorageComputed = _ocur.CreateObject(Of StorageComputed)()
|
|
_StorageComputed.Storage = _StorageInHeader.Storage
|
|
_StorageComputed.Products = _ocur.GetObject(_StorageOutRowsInRows.StorageInRows.Products)
|
|
_StorageComputed.QTTReservedIn = _QTT_Will
|
|
Else
|
|
_StorageComputed.QTTReservedIn += _QTT_Will
|
|
End If
|
|
|
|
Dim _StorageInRows As New StorageInRows(_ocur.Session)
|
|
With _StorageInRows
|
|
.StorageInHeader = _StorageInHeader
|
|
.Products = _ocur.GetObject(_StorageOutRowsInRows.StorageInRows.Products)
|
|
.QTT_Will = _QTT_Will
|
|
.PacketNumber = _StorageOutRowsInRows.StorageInRows.PacketNumber
|
|
.SerialNumber = _StorageOutRowsInRows.StorageInRows.SerialNumber
|
|
.WeightMode = _StorageOutRowsInRows.StorageInRows.WeightMode
|
|
.Weight = .QTT_Will * (_StorageOutRowsInRows.StorageInRows.Weight / _StorageOutRowsInRows.StorageInRows.QTT)
|
|
.RowIndex = _StorageInHeader.StorageInRows.Count
|
|
If _StorageOutRowsInRows.StorageInRows.StorageInRowsFrom Is Nothing Then
|
|
.StorageInRowsFrom = _StorageOutRowsInRows.StorageInRows
|
|
Else
|
|
.StorageInRowsFrom = _StorageOutRowsInRows.StorageInRows.StorageInRowsFrom
|
|
End If
|
|
|
|
.DeliveryNoteInRows = _ocur.GetObject(_StorageOutRowsInRows.StorageInRows.DeliveryNoteInRows)
|
|
|
|
End With
|
|
|
|
End If
|
|
Next
|
|
|
|
_ocur.CommitChanges()
|
|
If _StorageInHeader.StorageMoveType.MoveType = eMoveType.InventoryTransfer Then
|
|
CheckInventoryTransferStorageInRows(_uow, _StorageInHeader.StorageInRows)
|
|
End If
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
|
|
Finally
|
|
LockingModule.UnLockObject(_uow_lock, GetType(StorageComputed), "-", _User)
|
|
End Try
|
|
End Sub
|
|
Private Sub aCheckInventoryTransfer_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aCheckInventoryTransfer.Execute
|
|
CheckInventoryTransfer()
|
|
End Sub
|
|
Private Sub StorageOutRowsInRows_ListView_Overstored_AcceptAction_Executing(sender As Object, e As CancelEventArgs)
|
|
For Each _StorageOutRowsInRows As StorageOutRowsInRows In View.SelectedObjects
|
|
If _StorageOutRowsInRows.QTT_Will > 0 Then
|
|
If _StorageOutRowsInRows.QTT < (_StorageOutRowsInRows.StorageInRows.QTT_Overstored_Will + _StorageOutRowsInRows.StorageInRows.QTT_Overstored + _StorageOutRowsInRows.QTT_Will) Then
|
|
e.Cancel = True
|
|
MsgBox("A fogadni kívánt mennyiség meghaladja a maximálisan fogadható mennyiséget!")
|
|
End If
|
|
End If
|
|
Next
|
|
End Sub
|
|
|
|
Public Sub CheckInventoryTransfer()
|
|
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
|
|
|
|
Select Case GLOBAL_SQLType
|
|
Case eSQLType.MSSQL, eSQLType.MySQL
|
|
_onew.Session.ExecuteNonQuery("update StorageInRows set QTT_Overstor=0,QTT_Overstor_Will=0,QTT_Overstored=0,QTT_Overstored_Will=0")
|
|
|
|
Case eSQLType.PostgreSQL
|
|
_onew.Session.ExecuteNonQuery("update ""StorageInRows"" set ""QTT_Overstor""=0,""QTT_Overstor_Will""=0,""QTT_Overstored""=0,""QTT_Overstored_Will""=0")
|
|
End Select
|
|
_onew.CommitChanges()
|
|
|
|
Dim _StorageOutRowsInRows_XPQuery As New XPQuery(Of StorageOutRowsInRows)(_onew.Session)
|
|
|
|
Dim query = From _StorageOutRowsInRows In _StorageOutRowsInRows_XPQuery
|
|
Where _StorageOutRowsInRows.StorageOutRows.StorageOutHeader.StorageMoveType.MoveType = eMoveType.InventoryTransfer And
|
|
_StorageOutRowsInRows.StorageOutRows.StorageOutHeader.IsEditable = False And
|
|
String.IsNullOrEmpty(_StorageOutRowsInRows.StorageOutRows.StorageOutHeader.DocumentNumber) = False And
|
|
_StorageOutRowsInRows.StorageOutRows.StorageOutHeader IsNot Nothing
|
|
Group _StorageOutRowsInRows By _StorageOutRowsInRows.StorageInRows.Oid Into g = Group
|
|
Select New With {.StorageInRows = Oid,
|
|
.QTT_Sum = g.Sum(Function(inv) inv.QTT)}
|
|
|
|
|
|
RaiseEvent InitWork(1, 1, query.Count)
|
|
For Each item In query
|
|
RaiseEvent DoWork()
|
|
Dim _StorageInRows As StorageInRows = _onew.FindObject(Of StorageInRows)(CriteriaOperator.Parse("Oid=?", item.StorageInRows.ToString))
|
|
|
|
If _StorageInRows IsNot Nothing Then
|
|
_StorageInRows.QTT_Overstor = item.QTT_Sum
|
|
_onew.CommitChanges()
|
|
End If
|
|
Next
|
|
RaiseEvent FinalWork
|
|
|
|
query = From _StorageOutRowsInRows In _StorageOutRowsInRows_XPQuery
|
|
Where _StorageOutRowsInRows.StorageOutRows.StorageOutHeader.StorageMoveType.MoveType = eMoveType.InventoryTransfer And
|
|
_StorageOutRowsInRows.StorageOutRows.StorageOutHeader.IsEditable = True And
|
|
_StorageOutRowsInRows.StorageOutRows.StorageOutHeader IsNot Nothing
|
|
Group _StorageOutRowsInRows By _StorageOutRowsInRows.StorageInRows.Oid Into g = Group
|
|
Select New With {.StorageInRows = Oid,
|
|
.QTT_Sum = g.Sum(Function(inv) inv.QTT_Will)}
|
|
|
|
|
|
RaiseEvent InitWork(1, 1, query.Count)
|
|
For Each item In query
|
|
RaiseEvent DoWork()
|
|
Dim _StorageInRows As StorageInRows = _onew.FindObject(Of StorageInRows)(CriteriaOperator.Parse("Oid=?", item.StorageInRows.ToString))
|
|
|
|
If _StorageInRows IsNot Nothing Then
|
|
_StorageInRows.QTT_Overstor_Will = item.QTT_Sum
|
|
_onew.CommitChanges()
|
|
End If
|
|
Next
|
|
RaiseEvent FinalWork
|
|
|
|
|
|
'__Overstored renberakása
|
|
Dim _StorageInRows_XPQuery As New XPQuery(Of StorageInRows)(_onew.Session)
|
|
Dim query1 = From _StorageInRows In _StorageInRows_XPQuery
|
|
Where _StorageInRows.StorageInHeader IsNot Nothing And
|
|
String.IsNullOrEmpty(_StorageInRows.StorageInHeader.DocumentNumber) = False And
|
|
_StorageInRows.StorageInHeader.StorageMoveType.MoveType = eMoveType.InventoryTransfer And
|
|
_StorageInRows.StorageInHeader.IsEditable = False
|
|
Group _StorageInRows By _StorageInRows.StorageInRowsFrom.Oid Into g = Group
|
|
Select New With {.StorageInRows = Oid,
|
|
.QTT_Sum = g.Sum(Function(inv) inv.QTT)}
|
|
RaiseEvent InitWork(1, 1, query1.Count)
|
|
For Each item In query1
|
|
RaiseEvent DoWork()
|
|
Dim _StorageInRows As StorageInRows = _onew.FindObject(Of StorageInRows)(CriteriaOperator.Parse("Oid=?", item.StorageInRows.ToString))
|
|
|
|
If _StorageInRows IsNot Nothing Then
|
|
_StorageInRows.QTT_Overstored = item.QTT_Sum
|
|
_onew.CommitChanges()
|
|
End If
|
|
Next
|
|
RaiseEvent FinalWork
|
|
|
|
query1 = From _StorageInRows In _StorageInRows_XPQuery
|
|
Where _StorageInRows.StorageInHeader IsNot Nothing And
|
|
String.IsNullOrEmpty(_StorageInRows.StorageInHeader.DocumentNumber) = False And
|
|
_StorageInRows.StorageInHeader.StorageMoveType.MoveType = eMoveType.InventoryTransfer And
|
|
_StorageInRows.StorageInHeader.IsEditable = True
|
|
Group _StorageInRows By _StorageInRows.StorageInRowsFrom.Oid Into g = Group
|
|
Select New With {.StorageInRows = Oid,
|
|
.QTT_Sum = g.Sum(Function(inv) inv.QTT_Will)}
|
|
RaiseEvent InitWork(1, 1, query1.Count)
|
|
For Each item In query1
|
|
RaiseEvent DoWork()
|
|
Dim _StorageInRows As StorageInRows = _onew.FindObject(Of StorageInRows)(CriteriaOperator.Parse("Oid=?", item.StorageInRows.ToString))
|
|
|
|
If _StorageInRows IsNot Nothing Then
|
|
_StorageInRows.QTT_Overstored_Will = item.QTT_Sum
|
|
_onew.CommitChanges()
|
|
End If
|
|
Next
|
|
RaiseEvent FinalWork
|
|
|
|
|
|
End Sub
|
|
End Class
|