761 lines
42 KiB
VB.net
761 lines
42 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 System.Linq
|
|
Imports System.Linq.Expressions
|
|
Imports DevExpress.Xpo
|
|
Imports DevExpress.Data.Filtering
|
|
|
|
Public Class ProjectPlanVC
|
|
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 aProjectPlanViewContract_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aProjectPlanViewContract.Execute
|
|
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
|
|
Dim _ProjectPlanRows As ProjectPlanRows = _onew.GetObject(TryCast(View.SelectedObjects(0), ProjectPlanRows))
|
|
|
|
|
|
Dim _ContractRows_Controlling As New CollectionSource(_onew, GetType(ContractRows))
|
|
Dim _ContractRows As ContractRows
|
|
|
|
'_ContractRows.GLHeader.DateExecution.Date
|
|
|
|
_ContractRows_Controlling.BeginUpdateCriteria()
|
|
'_ContractRows_Controlling.Criteria("Plan1") = CriteriaOperator.Parse("(DebitChartOfAccounts.AccountNumber=? or CreditChartOfAccounts.AccountNumber=?)", _ProjectPlanRows.AccountNumber, _ProjectPlanRows.AccountNumber)
|
|
If _ProjectPlanRows.Controlling Is Nothing Then
|
|
_ContractRows_Controlling.Criteria("Controlling") = CriteriaOperator.Parse("isnull(Controlling)=True")
|
|
Else
|
|
_ContractRows_Controlling.Criteria("Controlling") = CriteriaOperator.Parse("Controlling=?", _ProjectPlanRows.Controlling)
|
|
End If
|
|
If _ProjectPlanRows.CostHolder Is Nothing Then
|
|
_ContractRows_Controlling.Criteria("CostHolder") = CriteriaOperator.Parse("isnull(CostHolder)=True")
|
|
Else
|
|
_ContractRows_Controlling.Criteria("CostHolder") = CriteriaOperator.Parse("CostHolder=?", _ProjectPlanRows.CostHolder)
|
|
End If
|
|
If _ProjectPlanRows.CostPlace Is Nothing Then
|
|
_ContractRows_Controlling.Criteria("CostPlace") = CriteriaOperator.Parse("isnull(CostPlace)=True")
|
|
Else
|
|
_ContractRows_Controlling.Criteria("CostPlace") = CriteriaOperator.Parse("CostPlace=?", _ProjectPlanRows.CostPlace)
|
|
End If
|
|
If _ProjectPlanRows.JobNumberObjects Is Nothing Then
|
|
_ContractRows_Controlling.Criteria("JobNumberObjects") = CriteriaOperator.Parse("isnull(JobNumberObjects)=True")
|
|
Else
|
|
_ContractRows_Controlling.Criteria("JobNumberObjects") = CriteriaOperator.Parse("JobNumberObjects=?", _ProjectPlanRows.JobNumberObjects)
|
|
End If
|
|
If _ProjectPlanRows.UniqueObjects Is Nothing Then
|
|
_ContractRows_Controlling.Criteria("UniqueObjects") = CriteriaOperator.Parse("isnull(UniqueObjects)=True")
|
|
Else
|
|
_ContractRows_Controlling.Criteria("UniqueObjects") = CriteriaOperator.Parse("UniqueObjects=?", _ProjectPlanRows.UniqueObjects)
|
|
End If
|
|
|
|
_ContractRows_Controlling.Criteria("DateExecution") = CriteriaOperator.Parse("GetYear(DateExecution)=? and GetMonth(DateExecution)=? and Contracts.CustomersFrom=?", _
|
|
_ProjectPlanRows.DateYear, _ProjectPlanRows.DateMonth, _ProjectPlanRows.ProjectPlan.CustomersFrom)
|
|
_ContractRows_Controlling.EndUpdateCriteria()
|
|
|
|
|
|
e.ShowViewParameters.CreatedView = Application.CreateListView("ContractRows_ListView_ProjectPlan", _ContractRows_Controlling, True)
|
|
End Sub
|
|
|
|
Private Sub aProjectPlanGenerateFact_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aProjectPlanGenerateFact.Execute
|
|
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
|
|
Dim _uow As New UnitOfWork(_onew.Session.DataLayer)
|
|
Dim _ProjectPlan As ProjectPlan = _uow.GetObjectByKey(Of ProjectPlan)(TryCast(View.SelectedObjects(0), ProjectPlan).Oid)
|
|
Dim _ProjectPlanRows As ProjectPlanRows
|
|
Dim _SQL As String
|
|
|
|
Select Case GLOBAL_SQLType
|
|
Case eSQLType.PostgreSQL
|
|
_SQL = "Update ""ProjectPlanRows"" set "
|
|
_SQL += " ""DebitAmountFactHUF""=0,""CreditAmountFactHUF""=0, "
|
|
_SQL += " ""DebitAmountContractHUF""=0,""CreditAmountContractHUF""=0 "
|
|
_SQL += " Where ""ProjectPlan""='" & _ProjectPlan.Oid.ToString & "'"
|
|
Case Else
|
|
_SQL = "Update ProjectPlanRows set "
|
|
_SQL += " DebitAmountFactHUF=0,CreditAmountFactHUF=0, "
|
|
_SQL += " DebitAmountContractHUF=0,CreditAmountContractHUF=0 "
|
|
_SQL += " Where ProjectPlan='" & _ProjectPlan.Oid.ToString & "'"
|
|
End Select
|
|
_onew.Session.ExecuteNonQuery(_SQL)
|
|
|
|
_onew.CommitChanges()
|
|
|
|
Dim _ChartOfAccounts As ChartOfAccounts
|
|
Dim _AccountNumber As String = ""
|
|
Dim _Customers As Customers
|
|
Dim _Controlling As Controlling
|
|
Dim _VAT As VAT
|
|
Dim _GLRows_xpquery = New XPQuery(Of GLRows)(_uow)
|
|
Dim query As System.Linq.IQueryable(Of Object)
|
|
|
|
Dim _criteria As String = ""
|
|
'// Tartozik láb alapján
|
|
query = From _glrows In _GLRows_xpquery
|
|
Where _glrows.GLHeader.IsEditable = False And _
|
|
_glrows.GLHeader.DateExecution.Date >= _ProjectPlan.DateFrom.Date And _
|
|
_glrows.GLHeader.DateExecution.Date < _ProjectPlan.DateTo.Date And _
|
|
_glrows.GLHeader IsNot Nothing And _
|
|
_glrows.GLHeader.CustomersFrom.Oid = _ProjectPlan.CustomersFrom.Oid _
|
|
Group _glrows By _glrows.DebitChartOfAccounts.AccountNumber, _
|
|
_glrows.GLHeader.DateExecution.Date.Year, _
|
|
_glrows.GLHeader.DateExecution.Date.Month, _
|
|
_glrows.Controlling, _
|
|
_glrows.CostHolder, _
|
|
_glrows.CostPlace, _
|
|
_glrows.UniqueObjects, _
|
|
_glrows.JobNumberObjects Into g = Group _
|
|
Select New With {Key .AccountNumber = AccountNumber, _
|
|
Key .DateYear = Year, _
|
|
Key .DateMonth = Month, _
|
|
Key .Controlling = Controlling, _
|
|
Key .CostHolder = CostHolder, _
|
|
Key .CostPlace = CostPlace, _
|
|
Key .UniqueObjects = UniqueObjects, _
|
|
Key .JobNumberObjects = JobNumberObjects, _
|
|
Key .AmountNettoHUF = g.Sum(Function(inv) (inv.AmountHUF))}
|
|
|
|
RaiseEvent InitWork(1, 1, query.Count)
|
|
For Each item In query
|
|
RaiseEvent DoWork()
|
|
|
|
'//-------------------------------------------------------------------------------------------------------------
|
|
_criteria = " AccountNumber='" & item.AccountNumber & "' and"
|
|
_criteria += " DateYear=" & item.DateYear & " and "
|
|
_criteria += " DateMonth=" & item.DateMonth & " and "
|
|
If item.Controlling Is Nothing Then
|
|
_criteria += "isnull(Controlling)=True and "
|
|
Else
|
|
_criteria += " Controlling.Oid='" & item.Controlling.Oid.ToString & "' and "
|
|
End If
|
|
If item.CostHolder Is Nothing Then
|
|
_criteria += " isnull(CostHolder)=True and "
|
|
Else
|
|
_criteria += " CostHolder.Oid='" & item.CostHolder.Oid.ToString & "' and "
|
|
End If
|
|
If item.CostPlace Is Nothing Then
|
|
_criteria += " isnull(CostPlace)=True and "
|
|
Else
|
|
_criteria += " CostPlace.Oid='" & item.CostPlace.Oid.ToString & "' and "
|
|
End If
|
|
If item.UniqueObjects Is Nothing Then
|
|
_criteria += " isnull(UniqueObjects)=True and "
|
|
Else
|
|
_criteria += " UniqueObjects.Oid='" & item.UniqueObjects.Oid.ToString & "' and "
|
|
End If
|
|
If item.JobNumberObjects Is Nothing Then
|
|
_criteria += " isnull(JobNumberObjects)=True "
|
|
Else
|
|
_criteria += " JobNumberObjects.Oid='" & item.JobNumberObjects.Oid.ToString & "' "
|
|
End If
|
|
|
|
_ProjectPlanRows = _uow.FindObject(Of ProjectPlanRows)(PersistentCriteriaEvaluationBehavior.InTransaction, CriteriaOperator.Parse(_criteria))
|
|
If _ProjectPlanRows Is Nothing Then
|
|
_ProjectPlanRows = New ProjectPlanRows(_uow)
|
|
End If
|
|
_ProjectPlanRows.ProjectPlan = _ProjectPlan
|
|
_ProjectPlanRows.DebitAmountFactHUF += item.AmountNettoHUF
|
|
|
|
_ChartOfAccounts = _uow.FindObject(Of ChartOfAccounts)(CriteriaOperator.Parse("AccountNumber=?", item.AccountNumber))
|
|
If _ChartOfAccounts IsNot Nothing Then
|
|
_ProjectPlanRows.ChartOfAccountsName = _ChartOfAccounts.Name
|
|
End If
|
|
_ProjectPlanRows.AccountNumber = item.AccountNumber
|
|
_ProjectPlanRows.Controlling = item.Controlling
|
|
_ProjectPlanRows.CostHolder = item.CostHolder
|
|
_ProjectPlanRows.DateYear = item.DateYear
|
|
_ProjectPlanRows.DateMonth = item.DateMonth
|
|
_ProjectPlanRows.JobNumberObjects = item.JobNumberObjects
|
|
_ProjectPlanRows.UniqueObjects = item.UniqueObjects
|
|
_uow.CommitTransaction()
|
|
Next
|
|
_uow.CommitTransaction()
|
|
RaiseEvent FinalWork
|
|
|
|
'// Követel láb alapján
|
|
query = From _glrows In _GLRows_xpquery
|
|
Where _glrows.GLHeader.IsEditable = False And _
|
|
_glrows.GLHeader.DateExecution.Date >= _ProjectPlan.DateFrom.Date And _
|
|
_glrows.GLHeader.DateExecution.Date < _ProjectPlan.DateTo.Date And _
|
|
_glrows.GLHeader IsNot Nothing And _
|
|
_glrows.GLHeader.CustomersFrom.Oid = _ProjectPlan.CustomersFrom.Oid _
|
|
Group _glrows By _glrows.CreditChartOfAccounts.AccountNumber, _
|
|
_glrows.GLHeader.DateExecution.Date.Year, _
|
|
_glrows.GLHeader.DateExecution.Date.Month, _
|
|
_glrows.Controlling, _
|
|
_glrows.CostHolder, _
|
|
_glrows.CostPlace, _
|
|
_glrows.UniqueObjects, _
|
|
_glrows.JobNumberObjects Into g = Group _
|
|
Select New With {Key .AccountNumber = AccountNumber, _
|
|
Key .DateYear = Year, _
|
|
Key .DateMonth = Month, _
|
|
Key .Controlling = Controlling, _
|
|
Key .CostHolder = CostHolder, _
|
|
Key .CostPlace = CostPlace, _
|
|
Key .UniqueObjects = UniqueObjects, _
|
|
Key .JobNumberObjects = JobNumberObjects, _
|
|
Key .AmountNettoHUF = g.Sum(Function(inv) (inv.AmountHUF))}
|
|
|
|
RaiseEvent InitWork(1, 1, query.Count)
|
|
For Each item In query
|
|
RaiseEvent DoWork()
|
|
|
|
'//-------------------------------------------------------------------------------------------------------------
|
|
_criteria = " AccountNumber='" & item.AccountNumber & "' and"
|
|
_criteria += " DateYear=" & item.DateYear & " and "
|
|
_criteria += " DateMonth=" & item.DateMonth & " and "
|
|
If item.Controlling Is Nothing Then
|
|
_criteria += "isnull(Controlling)=True and "
|
|
Else
|
|
_criteria += " Controlling.Oid='" & item.Controlling.Oid.ToString & "' and "
|
|
End If
|
|
If item.CostHolder Is Nothing Then
|
|
_criteria += " isnull(CostHolder)=True and "
|
|
Else
|
|
_criteria += " CostHolder.Oid='" & item.CostHolder.Oid.ToString & "' and "
|
|
End If
|
|
If item.CostPlace Is Nothing Then
|
|
_criteria += " isnull(CostPlace)=True and "
|
|
Else
|
|
_criteria += " CostPlace.Oid='" & item.CostPlace.Oid.ToString & "' and "
|
|
End If
|
|
If item.UniqueObjects Is Nothing Then
|
|
_criteria += " isnull(UniqueObjects)=True and "
|
|
Else
|
|
_criteria += " UniqueObjects.Oid='" & item.UniqueObjects.Oid.ToString & "' and "
|
|
End If
|
|
If item.JobNumberObjects Is Nothing Then
|
|
_criteria += " isnull(JobNumberObjects)=True "
|
|
Else
|
|
_criteria += " JobNumberObjects.Oid='" & item.JobNumberObjects.Oid.ToString & "' "
|
|
End If
|
|
|
|
_ProjectPlanRows = _uow.FindObject(Of ProjectPlanRows)(PersistentCriteriaEvaluationBehavior.InTransaction, CriteriaOperator.Parse(_criteria))
|
|
If _ProjectPlanRows Is Nothing Then
|
|
_ProjectPlanRows = New ProjectPlanRows(_uow)
|
|
End If
|
|
_ProjectPlanRows.ProjectPlan = _ProjectPlan
|
|
_ProjectPlanRows.CreditAmountFactHUF += item.AmountNettoHUF
|
|
|
|
_ChartOfAccounts = _uow.FindObject(Of ChartOfAccounts)(CriteriaOperator.Parse("AccountNumber=?", item.AccountNumber))
|
|
If _ChartOfAccounts IsNot Nothing Then
|
|
_ProjectPlanRows.ChartOfAccountsName = _ChartOfAccounts.Name
|
|
End If
|
|
_ProjectPlanRows.AccountNumber = item.AccountNumber
|
|
_ProjectPlanRows.Controlling = item.Controlling
|
|
_ProjectPlanRows.CostHolder = item.CostHolder
|
|
_ProjectPlanRows.DateYear = item.DateYear
|
|
_ProjectPlanRows.DateMonth = item.DateMonth
|
|
_ProjectPlanRows.JobNumberObjects = item.JobNumberObjects
|
|
_ProjectPlanRows.UniqueObjects = item.UniqueObjects
|
|
_uow.CommitTransaction()
|
|
Next
|
|
_uow.CommitTransaction()
|
|
RaiseEvent FinalWork
|
|
|
|
'// Most a vevõi szerzõdési sorok jönnek
|
|
Dim _ContractRows_xpquery = New XPQuery(Of ContractRows)(_uow)
|
|
|
|
query = From _ContractRows In _ContractRows_xpquery
|
|
Where _ContractRows.Contracts.State = State.Signed And _
|
|
_ContractRows.Contracts.ContractTemplate.PartnerType = ePartnerType.eReceivables And _
|
|
_ContractRows.DateExecution.Date >= _ProjectPlan.DateFrom.Date And _
|
|
_ContractRows.DateExecution.Date < _ProjectPlan.DateTo.Date And _
|
|
_ContractRows.Contracts IsNot Nothing And _
|
|
_ContractRows.Contracts.CustomersFrom.Oid = _ProjectPlan.CustomersFrom.Oid _
|
|
Group _ContractRows By _ContractRows.DateExecution.Date.Year, _
|
|
_ContractRows.DateExecution.Date.Month, _
|
|
_ContractRows.Controlling, _
|
|
_ContractRows.CostHolder, _
|
|
_ContractRows.CostPlace, _
|
|
_ContractRows.UniqueObjects, _
|
|
_ContractRows.Contracts.Customers, _
|
|
_ContractRows.VAT, _
|
|
_ContractRows.JobNumberObjects Into g = Group _
|
|
Select New With {Key .DateYear = Year, _
|
|
Key .DateMonth = Month, _
|
|
Key .Controlling = Controlling, _
|
|
Key .CostHolder = CostHolder, _
|
|
Key .CostPlace = CostPlace, _
|
|
Key .UniqueObjects = UniqueObjects, _
|
|
Key .JobNumberObjects = JobNumberObjects, _
|
|
Key .VAT = VAT,
|
|
Key .Customers = Customers,
|
|
Key .AmountNettoHUF = g.Sum(Function(inv) (inv.QTT * inv.NettoPriceHUF))}
|
|
|
|
RaiseEvent InitWork(1, 1, query.Count)
|
|
For Each item In query
|
|
RaiseEvent DoWork()
|
|
_Customers = item.Customers
|
|
_ChartOfAccounts = _Customers.CustomersGLParameters.GetChartOfAccounts(item.DateYear, eVATMode.eOut)
|
|
If _ChartOfAccounts IsNot Nothing Then
|
|
_AccountNumber = _ChartOfAccounts.AccountNumber
|
|
End If
|
|
|
|
'//Bruttó sor tartozikba -------------------
|
|
'//-------------------------------------------------------------------------------------------------------------
|
|
_criteria = " AccountNumber='" & _AccountNumber & "' and"
|
|
_criteria += " DateYear=" & item.DateYear & " and "
|
|
_criteria += " DateMonth=" & item.DateMonth & " and "
|
|
If item.Controlling Is Nothing Then
|
|
_criteria += "isnull(Controlling)=True and "
|
|
Else
|
|
_criteria += " Controlling.Oid='" & item.Controlling.Oid.ToString & "' and "
|
|
End If
|
|
If item.CostHolder Is Nothing Then
|
|
_criteria += " isnull(CostHolder)=True and "
|
|
Else
|
|
_criteria += " CostHolder.Oid='" & item.CostHolder.Oid.ToString & "' and "
|
|
End If
|
|
If item.CostPlace Is Nothing Then
|
|
_criteria += " isnull(CostPlace)=True and "
|
|
Else
|
|
_criteria += " CostPlace.Oid='" & item.CostPlace.Oid.ToString & "' and "
|
|
End If
|
|
If item.UniqueObjects Is Nothing Then
|
|
_criteria += " isnull(UniqueObjects)=True and "
|
|
Else
|
|
_criteria += " UniqueObjects.Oid='" & item.UniqueObjects.Oid.ToString & "' and "
|
|
End If
|
|
If item.JobNumberObjects Is Nothing Then
|
|
_criteria += " isnull(JobNumberObjects)=True "
|
|
Else
|
|
_criteria += " JobNumberObjects.Oid='" & item.JobNumberObjects.Oid.ToString & "' "
|
|
End If
|
|
|
|
_ProjectPlanRows = _uow.FindObject(Of ProjectPlanRows)(PersistentCriteriaEvaluationBehavior.InTransaction, CriteriaOperator.Parse(_criteria))
|
|
If _ProjectPlanRows Is Nothing Then
|
|
_ProjectPlanRows = New ProjectPlanRows(_uow)
|
|
End If
|
|
_ProjectPlanRows.ProjectPlan = _ProjectPlan
|
|
_VAT = item.VAT
|
|
If _VAT IsNot Nothing Then
|
|
_ProjectPlanRows.DebitAmountContractHUF += Math.Round(item.AmountNettoHUF * (1 + _VAT.KeyValue), 0, MidpointRounding.AwayFromZero)
|
|
Else
|
|
_ProjectPlanRows.DebitAmountContractHUF += item.AmountNettoHUF
|
|
End If
|
|
|
|
|
|
_ChartOfAccounts = _uow.FindObject(Of ChartOfAccounts)(CriteriaOperator.Parse("AccountNumber=?", _AccountNumber))
|
|
If _ChartOfAccounts IsNot Nothing Then
|
|
_ProjectPlanRows.ChartOfAccountsName = _ChartOfAccounts.Name
|
|
End If
|
|
_ProjectPlanRows.AccountNumber = _AccountNumber
|
|
_ProjectPlanRows.Controlling = item.Controlling
|
|
_ProjectPlanRows.CostHolder = item.CostHolder
|
|
_ProjectPlanRows.DateYear = item.DateYear
|
|
_ProjectPlanRows.DateMonth = item.DateMonth
|
|
_ProjectPlanRows.JobNumberObjects = item.JobNumberObjects
|
|
_ProjectPlanRows.UniqueObjects = item.UniqueObjects
|
|
_uow.CommitTransaction()
|
|
|
|
'//Nettó sor követelbe --------------------------
|
|
_Controlling = item.Controlling
|
|
If _Controlling IsNot Nothing Then
|
|
_ChartOfAccounts = _Controlling.GetChartOfAccounts(item.DateYear, False)
|
|
If _ChartOfAccounts IsNot Nothing Then
|
|
_AccountNumber = _ChartOfAccounts.AccountNumber
|
|
'//-------------------------------------------------------------------------------------------------------------
|
|
_criteria = " AccountNumber='" & _AccountNumber & "' and"
|
|
_criteria += " DateYear=" & item.DateYear & " and "
|
|
_criteria += " DateMonth=" & item.DateMonth & " and "
|
|
If item.Controlling Is Nothing Then
|
|
_criteria += "isnull(Controlling)=True and "
|
|
Else
|
|
_criteria += " Controlling.Oid='" & item.Controlling.Oid.ToString & "' and "
|
|
End If
|
|
If item.CostHolder Is Nothing Then
|
|
_criteria += " isnull(CostHolder)=True and "
|
|
Else
|
|
_criteria += " CostHolder.Oid='" & item.CostHolder.Oid.ToString & "' and "
|
|
End If
|
|
If item.CostPlace Is Nothing Then
|
|
_criteria += " isnull(CostPlace)=True and "
|
|
Else
|
|
_criteria += " CostPlace.Oid='" & item.CostPlace.Oid.ToString & "' and "
|
|
End If
|
|
If item.UniqueObjects Is Nothing Then
|
|
_criteria += " isnull(UniqueObjects)=True and "
|
|
Else
|
|
_criteria += " UniqueObjects.Oid='" & item.UniqueObjects.Oid.ToString & "' and "
|
|
End If
|
|
If item.JobNumberObjects Is Nothing Then
|
|
_criteria += " isnull(JobNumberObjects)=True "
|
|
Else
|
|
_criteria += " JobNumberObjects.Oid='" & item.JobNumberObjects.Oid.ToString & "' "
|
|
End If
|
|
|
|
_ProjectPlanRows = _uow.FindObject(Of ProjectPlanRows)(PersistentCriteriaEvaluationBehavior.InTransaction, CriteriaOperator.Parse(_criteria))
|
|
If _ProjectPlanRows Is Nothing Then
|
|
_ProjectPlanRows = New ProjectPlanRows(_uow)
|
|
End If
|
|
_ProjectPlanRows.ProjectPlan = _ProjectPlan
|
|
_ProjectPlanRows.CreditAmountContractHUF += item.AmountNettoHUF
|
|
_ChartOfAccounts = _uow.FindObject(Of ChartOfAccounts)(CriteriaOperator.Parse("AccountNumber=?", _AccountNumber))
|
|
If _ChartOfAccounts IsNot Nothing Then
|
|
_ProjectPlanRows.ChartOfAccountsName = _ChartOfAccounts.Name
|
|
End If
|
|
_ProjectPlanRows.AccountNumber = _AccountNumber
|
|
_ProjectPlanRows.Controlling = item.Controlling
|
|
_ProjectPlanRows.CostHolder = item.CostHolder
|
|
_ProjectPlanRows.DateYear = item.DateYear
|
|
_ProjectPlanRows.DateMonth = item.DateMonth
|
|
_ProjectPlanRows.JobNumberObjects = item.JobNumberObjects
|
|
_ProjectPlanRows.UniqueObjects = item.UniqueObjects
|
|
_uow.CommitTransaction()
|
|
End If
|
|
End If
|
|
'//ÁFA követelbe -------------------------------
|
|
If _VAT IsNot Nothing Then
|
|
_ChartOfAccounts = _VAT.GetChartOfAccounts(item.DateYear, eVATMode.eOut)
|
|
If _ChartOfAccounts IsNot Nothing Then
|
|
_AccountNumber = _ChartOfAccounts.AccountNumber
|
|
'//-------------------------------------------------------------------------------------------------------------
|
|
_criteria = " AccountNumber='" & _AccountNumber & "' and"
|
|
_criteria += " DateYear=" & item.DateYear & " and "
|
|
_criteria += " DateMonth=" & item.DateMonth & " and "
|
|
If item.Controlling Is Nothing Then
|
|
_criteria += "isnull(Controlling)=True and "
|
|
Else
|
|
_criteria += " Controlling.Oid='" & item.Controlling.Oid.ToString & "' and "
|
|
End If
|
|
If item.CostHolder Is Nothing Then
|
|
_criteria += " isnull(CostHolder)=True and "
|
|
Else
|
|
_criteria += " CostHolder.Oid='" & item.CostHolder.Oid.ToString & "' and "
|
|
End If
|
|
If item.CostPlace Is Nothing Then
|
|
_criteria += " isnull(CostPlace)=True and "
|
|
Else
|
|
_criteria += " CostPlace.Oid='" & item.CostPlace.Oid.ToString & "' and "
|
|
End If
|
|
If item.UniqueObjects Is Nothing Then
|
|
_criteria += " isnull(UniqueObjects)=True and "
|
|
Else
|
|
_criteria += " UniqueObjects.Oid='" & item.UniqueObjects.Oid.ToString & "' and "
|
|
End If
|
|
If item.JobNumberObjects Is Nothing Then
|
|
_criteria += " isnull(JobNumberObjects)=True "
|
|
Else
|
|
_criteria += " JobNumberObjects.Oid='" & item.JobNumberObjects.Oid.ToString & "' "
|
|
End If
|
|
|
|
_ProjectPlanRows = _uow.FindObject(Of ProjectPlanRows)(PersistentCriteriaEvaluationBehavior.InTransaction, CriteriaOperator.Parse(_criteria))
|
|
If _ProjectPlanRows Is Nothing Then
|
|
_ProjectPlanRows = New ProjectPlanRows(_uow)
|
|
End If
|
|
_ProjectPlanRows.ProjectPlan = _ProjectPlan
|
|
_ProjectPlanRows.CreditAmountContractHUF += Math.Round(item.AmountNettoHUF * _VAT.KeyValue, 0, MidpointRounding.AwayFromZero)
|
|
_ChartOfAccounts = _uow.FindObject(Of ChartOfAccounts)(CriteriaOperator.Parse("AccountNumber=?", _AccountNumber))
|
|
If _ChartOfAccounts IsNot Nothing Then
|
|
_ProjectPlanRows.ChartOfAccountsName = _ChartOfAccounts.Name
|
|
End If
|
|
_ProjectPlanRows.AccountNumber = _AccountNumber
|
|
_ProjectPlanRows.Controlling = item.Controlling
|
|
_ProjectPlanRows.CostHolder = item.CostHolder
|
|
_ProjectPlanRows.DateYear = item.DateYear
|
|
_ProjectPlanRows.DateMonth = item.DateMonth
|
|
_ProjectPlanRows.JobNumberObjects = item.JobNumberObjects
|
|
_ProjectPlanRows.UniqueObjects = item.UniqueObjects
|
|
_uow.CommitTransaction()
|
|
End If
|
|
End If
|
|
Next
|
|
_uow.CommitTransaction()
|
|
RaiseEvent FinalWork
|
|
|
|
'// Most a Szállítói szerzõdési sorok jönnek
|
|
|
|
query = From _ContractRows In _ContractRows_xpquery
|
|
Where _ContractRows.Contracts.State = State.Signed And _
|
|
_ContractRows.Contracts.ContractTemplate.PartnerType = ePartnerType.ePayabels And _
|
|
_ContractRows.DateExecution.Date >= _ProjectPlan.DateFrom.Date And _
|
|
_ContractRows.DateExecution.Date < _ProjectPlan.DateTo.Date And _
|
|
_ContractRows.Contracts IsNot Nothing And _
|
|
_ContractRows.Contracts.CustomersFrom.Oid = _ProjectPlan.CustomersFrom.Oid _
|
|
Group _ContractRows By _ContractRows.DateExecution.Date.Year, _
|
|
_ContractRows.DateExecution.Date.Month, _
|
|
_ContractRows.Controlling, _
|
|
_ContractRows.CostHolder, _
|
|
_ContractRows.CostPlace, _
|
|
_ContractRows.UniqueObjects, _
|
|
_ContractRows.Contracts.Customers, _
|
|
_ContractRows.VAT, _
|
|
_ContractRows.JobNumberObjects Into g = Group _
|
|
Select New With {Key .DateYear = Year, _
|
|
Key .DateMonth = Month, _
|
|
Key .Controlling = Controlling, _
|
|
Key .CostHolder = CostHolder, _
|
|
Key .CostPlace = CostPlace, _
|
|
Key .UniqueObjects = UniqueObjects, _
|
|
Key .JobNumberObjects = JobNumberObjects, _
|
|
Key .VAT = VAT,
|
|
Key .Customers = Customers,
|
|
Key .AmountNettoHUF = g.Sum(Function(inv) (inv.QTT * inv.NettoPriceHUF))}
|
|
|
|
RaiseEvent InitWork(1, 1, query.Count)
|
|
For Each item In query
|
|
RaiseEvent DoWork()
|
|
_Customers = item.Customers
|
|
_ChartOfAccounts = _Customers.CustomersGLParameters.GetChartOfAccounts(item.DateYear, eVATMode.eIn)
|
|
If _ChartOfAccounts IsNot Nothing Then
|
|
_AccountNumber = _ChartOfAccounts.AccountNumber
|
|
End If
|
|
|
|
'//Bruttó sor követel -------------------
|
|
'//-------------------------------------------------------------------------------------------------------------
|
|
_criteria = " AccountNumber='" & _AccountNumber & "' and"
|
|
_criteria += " DateYear=" & item.DateYear & " and "
|
|
_criteria += " DateMonth=" & item.DateMonth & " and "
|
|
If item.Controlling Is Nothing Then
|
|
_criteria += "isnull(Controlling)=True and "
|
|
Else
|
|
_criteria += " Controlling.Oid='" & item.Controlling.Oid.ToString & "' and "
|
|
End If
|
|
If item.CostHolder Is Nothing Then
|
|
_criteria += " isnull(CostHolder)=True and "
|
|
Else
|
|
_criteria += " CostHolder.Oid='" & item.CostHolder.Oid.ToString & "' and "
|
|
End If
|
|
If item.CostPlace Is Nothing Then
|
|
_criteria += " isnull(CostPlace)=True and "
|
|
Else
|
|
_criteria += " CostPlace.Oid='" & item.CostPlace.Oid.ToString & "' and "
|
|
End If
|
|
If item.UniqueObjects Is Nothing Then
|
|
_criteria += " isnull(UniqueObjects)=True and "
|
|
Else
|
|
_criteria += " UniqueObjects.Oid='" & item.UniqueObjects.Oid.ToString & "' and "
|
|
End If
|
|
If item.JobNumberObjects Is Nothing Then
|
|
_criteria += " isnull(JobNumberObjects)=True "
|
|
Else
|
|
_criteria += " JobNumberObjects.Oid='" & item.JobNumberObjects.Oid.ToString & "' "
|
|
End If
|
|
|
|
_ProjectPlanRows = _uow.FindObject(Of ProjectPlanRows)(PersistentCriteriaEvaluationBehavior.InTransaction, CriteriaOperator.Parse(_criteria))
|
|
If _ProjectPlanRows Is Nothing Then
|
|
_ProjectPlanRows = New ProjectPlanRows(_uow)
|
|
End If
|
|
_ProjectPlanRows.ProjectPlan = _ProjectPlan
|
|
_VAT = item.VAT
|
|
If _VAT IsNot Nothing Then
|
|
_ProjectPlanRows.CreditAmountContractHUF += Math.Round(item.AmountNettoHUF * (1 + _VAT.KeyValue), 0, MidpointRounding.AwayFromZero)
|
|
Else
|
|
_ProjectPlanRows.CreditAmountContractHUF += item.AmountNettoHUF
|
|
End If
|
|
|
|
|
|
_ChartOfAccounts = _uow.FindObject(Of ChartOfAccounts)(CriteriaOperator.Parse("AccountNumber=?", _AccountNumber))
|
|
If _ChartOfAccounts IsNot Nothing Then
|
|
_ProjectPlanRows.ChartOfAccountsName = _ChartOfAccounts.Name
|
|
End If
|
|
_ProjectPlanRows.AccountNumber = _AccountNumber
|
|
_ProjectPlanRows.Controlling = item.Controlling
|
|
_ProjectPlanRows.CostHolder = item.CostHolder
|
|
_ProjectPlanRows.DateYear = item.DateYear
|
|
_ProjectPlanRows.DateMonth = item.DateMonth
|
|
_ProjectPlanRows.JobNumberObjects = item.JobNumberObjects
|
|
_ProjectPlanRows.UniqueObjects = item.UniqueObjects
|
|
_uow.CommitTransaction()
|
|
|
|
'//Nettó sor tartozikba --------------------------
|
|
_Controlling = item.Controlling
|
|
If _Controlling IsNot Nothing Then
|
|
_ChartOfAccounts = _Controlling.GetChartOfAccounts(item.DateYear, False)
|
|
If _ChartOfAccounts IsNot Nothing Then
|
|
_AccountNumber = _ChartOfAccounts.AccountNumber
|
|
'//-------------------------------------------------------------------------------------------------------------
|
|
_criteria = " AccountNumber='" & _AccountNumber & "' and"
|
|
_criteria += " DateYear=" & item.DateYear & " and "
|
|
_criteria += " DateMonth=" & item.DateMonth & " and "
|
|
If item.Controlling Is Nothing Then
|
|
_criteria += "isnull(Controlling)=True and "
|
|
Else
|
|
_criteria += " Controlling.Oid='" & item.Controlling.Oid.ToString & "' and "
|
|
End If
|
|
If item.CostHolder Is Nothing Then
|
|
_criteria += " isnull(CostHolder)=True and "
|
|
Else
|
|
_criteria += " CostHolder.Oid='" & item.CostHolder.Oid.ToString & "' and "
|
|
End If
|
|
If item.CostPlace Is Nothing Then
|
|
_criteria += " isnull(CostPlace)=True and "
|
|
Else
|
|
_criteria += " CostPlace.Oid='" & item.CostPlace.Oid.ToString & "' and "
|
|
End If
|
|
If item.UniqueObjects Is Nothing Then
|
|
_criteria += " isnull(UniqueObjects)=True and "
|
|
Else
|
|
_criteria += " UniqueObjects.Oid='" & item.UniqueObjects.Oid.ToString & "' and "
|
|
End If
|
|
If item.JobNumberObjects Is Nothing Then
|
|
_criteria += " isnull(JobNumberObjects)=True "
|
|
Else
|
|
_criteria += " JobNumberObjects.Oid='" & item.JobNumberObjects.Oid.ToString & "' "
|
|
End If
|
|
|
|
_ProjectPlanRows = _uow.FindObject(Of ProjectPlanRows)(PersistentCriteriaEvaluationBehavior.InTransaction, CriteriaOperator.Parse(_criteria))
|
|
If _ProjectPlanRows Is Nothing Then
|
|
_ProjectPlanRows = New ProjectPlanRows(_uow)
|
|
End If
|
|
_ProjectPlanRows.ProjectPlan = _ProjectPlan
|
|
_ProjectPlanRows.DebitAmountContractHUF += item.AmountNettoHUF
|
|
_ChartOfAccounts = _uow.FindObject(Of ChartOfAccounts)(CriteriaOperator.Parse("AccountNumber=?", _AccountNumber))
|
|
If _ChartOfAccounts IsNot Nothing Then
|
|
_ProjectPlanRows.ChartOfAccountsName = _ChartOfAccounts.Name
|
|
End If
|
|
_ProjectPlanRows.AccountNumber = _AccountNumber
|
|
_ProjectPlanRows.Controlling = item.Controlling
|
|
_ProjectPlanRows.CostHolder = item.CostHolder
|
|
_ProjectPlanRows.DateYear = item.DateYear
|
|
_ProjectPlanRows.DateMonth = item.DateMonth
|
|
_ProjectPlanRows.JobNumberObjects = item.JobNumberObjects
|
|
_ProjectPlanRows.UniqueObjects = item.UniqueObjects
|
|
_uow.CommitTransaction()
|
|
End If
|
|
End If
|
|
'//ÁFA követelbe -------------------------------
|
|
If _VAT IsNot Nothing Then
|
|
_ChartOfAccounts = _VAT.GetChartOfAccounts(item.DateYear, eVATMode.eIn)
|
|
If _ChartOfAccounts IsNot Nothing Then
|
|
_AccountNumber = _ChartOfAccounts.AccountNumber
|
|
'//-------------------------------------------------------------------------------------------------------------
|
|
_criteria = " AccountNumber='" & _AccountNumber & "' and"
|
|
_criteria += " DateYear=" & item.DateYear & " and "
|
|
_criteria += " DateMonth=" & item.DateMonth & " and "
|
|
If item.Controlling Is Nothing Then
|
|
_criteria += "isnull(Controlling)=True and "
|
|
Else
|
|
_criteria += " Controlling.Oid='" & item.Controlling.Oid.ToString & "' and "
|
|
End If
|
|
If item.CostHolder Is Nothing Then
|
|
_criteria += " isnull(CostHolder)=True and "
|
|
Else
|
|
_criteria += " CostHolder.Oid='" & item.CostHolder.Oid.ToString & "' and "
|
|
End If
|
|
If item.CostPlace Is Nothing Then
|
|
_criteria += " isnull(CostPlace)=True and "
|
|
Else
|
|
_criteria += " CostPlace.Oid='" & item.CostPlace.Oid.ToString & "' and "
|
|
End If
|
|
If item.UniqueObjects Is Nothing Then
|
|
_criteria += " isnull(UniqueObjects)=True and "
|
|
Else
|
|
_criteria += " UniqueObjects.Oid='" & item.UniqueObjects.Oid.ToString & "' and "
|
|
End If
|
|
If item.JobNumberObjects Is Nothing Then
|
|
_criteria += " isnull(JobNumberObjects)=True "
|
|
Else
|
|
_criteria += " JobNumberObjects.Oid='" & item.JobNumberObjects.Oid.ToString & "' "
|
|
End If
|
|
|
|
_ProjectPlanRows = _uow.FindObject(Of ProjectPlanRows)(PersistentCriteriaEvaluationBehavior.InTransaction, CriteriaOperator.Parse(_criteria))
|
|
If _ProjectPlanRows Is Nothing Then
|
|
_ProjectPlanRows = New ProjectPlanRows(_uow)
|
|
End If
|
|
_ProjectPlanRows.ProjectPlan = _ProjectPlan
|
|
_ProjectPlanRows.DebitAmountContractHUF += Math.Round(item.AmountNettoHUF * _VAT.KeyValue, 0, MidpointRounding.AwayFromZero)
|
|
_ChartOfAccounts = _uow.FindObject(Of ChartOfAccounts)(CriteriaOperator.Parse("AccountNumber=?", _AccountNumber))
|
|
If _ChartOfAccounts IsNot Nothing Then
|
|
_ProjectPlanRows.ChartOfAccountsName = _ChartOfAccounts.Name
|
|
End If
|
|
_ProjectPlanRows.AccountNumber = _AccountNumber
|
|
_ProjectPlanRows.Controlling = item.Controlling
|
|
_ProjectPlanRows.CostHolder = item.CostHolder
|
|
_ProjectPlanRows.DateYear = item.DateYear
|
|
_ProjectPlanRows.DateMonth = item.DateMonth
|
|
_ProjectPlanRows.JobNumberObjects = item.JobNumberObjects
|
|
_ProjectPlanRows.UniqueObjects = item.UniqueObjects
|
|
_uow.CommitTransaction()
|
|
End If
|
|
End If
|
|
Next
|
|
_uow.CommitTransaction()
|
|
|
|
_SQL = " Delete from ""ProjectPlanRows"" "
|
|
_SQL += " Where ""DebitAmountPlanHUF""=0 and "
|
|
_SQL += " ""CreditAmountPlanHUF""=0 and "
|
|
_SQL += " ""DebitAmountFactHUF""=0 and "
|
|
_SQL += " ""CreditAmountFactHUF""=0 and "
|
|
_SQL += " ""DebitAmountContractHUF""=0 and "
|
|
_SQL += " ""CreditAmountContractHUF""=0 "
|
|
_onew.Session.ExecuteNonQuery(_SQL)
|
|
|
|
RaiseEvent FinalWork
|
|
|
|
End Sub
|
|
|
|
Private Sub aProjectPlanGeneratePlan_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aProjectPlanEditPlan.Execute
|
|
|
|
End Sub
|
|
|
|
Private Sub aProjectPlanShowPlan_Execute(sender As Object, e As SimpleActionExecuteEventArgs)
|
|
|
|
End Sub
|
|
|
|
Private Sub aProjectPlanViewFact_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aProjectPlanViewFact.Execute
|
|
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
|
|
Dim _ProjectPlanRows As ProjectPlanRows = _onew.GetObject(TryCast(View.SelectedObjects(0), ProjectPlanRows))
|
|
|
|
|
|
Dim _GLRows_Controlling As New CollectionSource(_onew, GetType(GLRows))
|
|
Dim _GLRows As GLRows
|
|
|
|
'_GLRows.GLHeader.DateExecution.Date
|
|
|
|
_GLRows_Controlling.BeginUpdateCriteria()
|
|
_GLRows_Controlling.Criteria("Plan1") = CriteriaOperator.Parse("(DebitChartOfAccounts.AccountNumber=? or CreditChartOfAccounts.AccountNumber=?)", _
|
|
_ProjectPlanRows.AccountNumber, _ProjectPlanRows.AccountNumber)
|
|
If _ProjectPlanRows.Controlling Is Nothing Then
|
|
_GLRows_Controlling.Criteria("Controlling") = CriteriaOperator.Parse("isnull(Controlling)=True")
|
|
Else
|
|
_GLRows_Controlling.Criteria("Controlling") = CriteriaOperator.Parse("Controlling=?", _ProjectPlanRows.Controlling)
|
|
End If
|
|
If _ProjectPlanRows.CostHolder Is Nothing Then
|
|
_GLRows_Controlling.Criteria("CostHolder") = CriteriaOperator.Parse("isnull(CostHolder)=True")
|
|
Else
|
|
_GLRows_Controlling.Criteria("CostHolder") = CriteriaOperator.Parse("CostHolder=?", _ProjectPlanRows.CostHolder)
|
|
End If
|
|
If _ProjectPlanRows.CostPlace Is Nothing Then
|
|
_GLRows_Controlling.Criteria("CostPlace") = CriteriaOperator.Parse("isnull(CostPlace)=True")
|
|
Else
|
|
_GLRows_Controlling.Criteria("CostPlace") = CriteriaOperator.Parse("CostPlace=?", _ProjectPlanRows.CostPlace)
|
|
End If
|
|
If _ProjectPlanRows.JobNumberObjects Is Nothing Then
|
|
_GLRows_Controlling.Criteria("JobNumberObjects") = CriteriaOperator.Parse("isnull(JobNumberObjects)=True")
|
|
Else
|
|
_GLRows_Controlling.Criteria("JobNumberObjects") = CriteriaOperator.Parse("JobNumberObjects=?", _ProjectPlanRows.JobNumberObjects)
|
|
End If
|
|
If _ProjectPlanRows.UniqueObjects Is Nothing Then
|
|
_GLRows_Controlling.Criteria("UniqueObjects") = CriteriaOperator.Parse("isnull(UniqueObjects)=True")
|
|
Else
|
|
_GLRows_Controlling.Criteria("UniqueObjects") = CriteriaOperator.Parse("UniqueObjects=?", _ProjectPlanRows.UniqueObjects)
|
|
End If
|
|
_GLRows_Controlling.Criteria("DateExecution") = CriteriaOperator.Parse("GetYear(GLHeader.DateExecution)=? and GetMonth(GLHeader.DateExecution)=? and GLHeader.IsEditable=False and GLHeader.CustomersFrom=?", _
|
|
_ProjectPlanRows.DateYear, _ProjectPlanRows.DateMonth, _ProjectPlanRows.ProjectPlan.CustomersFrom)
|
|
_GLRows_Controlling.EndUpdateCriteria()
|
|
|
|
|
|
e.ShowViewParameters.CreatedView = Application.CreateListView("GLRows_ListView_ProjectPlan", _GLRows_Controlling, True)
|
|
|
|
|
|
End Sub
|
|
End Class
|