112 lines
5.6 KiB
VB.net
112 lines
5.6 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
|
|
Imports DevExpress.Data.Filtering
|
|
Imports DevExpress.ExpressApp.SystemModule
|
|
|
|
Public Class OrderOutStockVC
|
|
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()
|
|
|
|
'This call is required by the Component Designer.
|
|
InitializeComponent()
|
|
RegisterActions(components)
|
|
|
|
End Sub
|
|
|
|
Private Sub aGenerateOrderOutStock_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aGenerateOrderOutStock.Execute
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
|
|
Dim _OrderOutStockHeader As OrderOutStockHeader = _uow.GetObjectByKey(Of OrderOutStockHeader)(TryCast(View.SelectedObjects(0), OrderOutStockHeader).Oid)
|
|
Dim _OrderOutStockRows As OrderOutStockRows
|
|
Dim I As Long = 0
|
|
_uow.Delete(_OrderOutStockHeader.OrderOutStockRows)
|
|
|
|
If _OrderOutStockHeader.OrderOutStockQueryType = eOrderOutStockQueryType.eProduct Then
|
|
Dim _Products_Collection As New XPCollection(Of Products)(_uow, CriteriaOperator.Parse("1=1"))
|
|
Dim _Products As Products
|
|
_Products_Collection.Criteria = _uow.ParseCriteria(_OrderOutStockHeader.Criterion)
|
|
|
|
RaiseEvent InitWork(1, 1, _Products_Collection.Count)
|
|
For Each _Products In _Products_Collection
|
|
RaiseEvent DoWork()
|
|
_OrderOutStockRows = New OrderOutStockRows(_uow)
|
|
_OrderOutStockRows.OrderOutStockHeader = _OrderOutStockHeader
|
|
_OrderOutStockRows.Products = _Products
|
|
For Each _COP In _OrderOutStockRows.Products.CustomersOrderPriority
|
|
If _COP.RowIndex = 1 Then
|
|
_OrderOutStockRows.CustomersOrderPriority1 = _COP
|
|
End If
|
|
If _COP.RowIndex = 2 Then
|
|
_OrderOutStockRows.CustomersOrderPriority2 = _COP
|
|
End If
|
|
Next
|
|
I += 1
|
|
If I Mod 1000 Then _uow.CommitChanges()
|
|
Next
|
|
_uow.CommitChanges()
|
|
RaiseEvent FinalWork
|
|
End If
|
|
|
|
If _OrderOutStockHeader.OrderOutStockQueryType = eOrderOutStockQueryType.eStorageComputed Then
|
|
Dim _StorageComputed_Collection As New XPCollection(Of StorageComputed)(_uow, CriteriaOperator.Parse("1=1"))
|
|
Dim _StorageComputed As StorageComputed
|
|
|
|
_StorageComputed_Collection.Criteria = _uow.ParseCriteria(_OrderOutStockHeader.Criterion)
|
|
|
|
RaiseEvent InitWork(1, 1, _StorageComputed_Collection.Count)
|
|
For Each _StorageComputed In _StorageComputed_Collection
|
|
RaiseEvent DoWork()
|
|
_OrderOutStockRows = New OrderOutStockRows(_uow)
|
|
_OrderOutStockRows.OrderOutStockHeader = _OrderOutStockHeader
|
|
_OrderOutStockRows.Products = _StorageComputed.Products
|
|
_OrderOutStockRows.StorageComputed = _StorageComputed
|
|
_OrderOutStockRows.StorageOutCirculation_CurrentYear = _uow.FindObject(Of StorageOutCirculation)(_uow.ParseCriteria("Products=? and YearExecution=?", _StorageComputed.Products, Year(GetSQLTime(_uow))))
|
|
_OrderOutStockRows.StorageOutCirculation_CurrentYear = _uow.FindObject(Of StorageOutCirculation)(_uow.ParseCriteria("Products=? and YearExecution=?", _StorageComputed.Products, Year(GetSQLTime(_uow)) - 1))
|
|
For Each _COP In _OrderOutStockRows.Products.CustomersOrderPriority
|
|
If _COP.RowIndex = 0 Then
|
|
_OrderOutStockRows.CustomersOrderPriority1 = _COP
|
|
End If
|
|
If _COP.RowIndex = 1 Then
|
|
_OrderOutStockRows.CustomersOrderPriority2 = _COP
|
|
End If
|
|
Next
|
|
I += 1
|
|
If I Mod 1000 Then _uow.CommitChanges()
|
|
Next
|
|
_uow.CommitChanges()
|
|
RaiseEvent FinalWork
|
|
End If
|
|
|
|
|
|
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
|
|
|
|
End Sub
|
|
|
|
Private Sub aCreateOrderfromOrderOutStock_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aCreateOrderfromOrderOutStock.Execute
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
End Sub
|
|
|
|
Private Sub aViewStorageMoveInfo_OrderOutStockRows_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aViewStorageMoveInfo_OrderOutStockRows.Execute
|
|
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
|
|
Dim _OrderOutStockRows As OrderOutStockRows = TryCast(View.SelectedObjects(0), OrderOutStockRows)
|
|
Dim _StorageMoveInfo As StorageMoveInfo
|
|
If _OrderOutStockRows IsNot Nothing Then
|
|
_StorageMoveInfo = _onew.CreateObject(Of StorageMoveInfo)()
|
|
_StorageMoveInfo.Products = _onew.GetObject(_OrderOutStockRows.Products)
|
|
e.ShowViewParameters.CreatedView = Application.CreateDetailView(_onew, "StorageMoveInfo_DetailView", False, _StorageMoveInfo)
|
|
End If
|
|
End Sub
|
|
End Class
|