GANT csesztetése

This commit is contained in:
2018-06-25 20:15:36 +02:00
parent 5bc4185d1f
commit 51be4568d2
9 changed files with 368 additions and 426 deletions
@@ -8,6 +8,8 @@ Imports DevExpress.Xpo
Imports DevExpress.Data.Filtering
Imports DevExpress.ExpressApp.SystemModule
Imports DevExpress.ExpressApp.Model
Imports DevExpress.Xpo.DB
Imports System.Globalization
Public Class ProductsGant_VC
Inherits Nuvolar.Module.ProductsGant_VC
@@ -86,6 +88,175 @@ Public Class ProductsGant_VC
AddHandler _GanttControl.SelectionChanged, AddressOf _GanttControl_SelectionChanged
Frame.GetController(Of ProductsGant_VC).aProductsGant_Refresh.DoExecute()
End Sub
Private Sub GenerateData(_ProductsGant As ProductsGant, _onew As Xpo.XPObjectSpace)
Dim _SQL As String
_SQL = "SELECT t1.Customers,t1.`Products`,IFNULL(t2.`CalculatedRotation`,0) AS CW16,"
_SQL += " IFNULL(t3.`CalculatedRotation`,0) AS CW52"
_SQL += " FROM vv_Gant_Base t1 LEFT JOIN vv_CalculatedRotation12Month t2 ON"
_SQL += " t1.`Customers`=t2.`Customers` AND t1.`Products`=t2.`Products` LEFT JOIN vv_CalculatedRotation16Week t3 ON"
_SQL += " t1.`Customers`=t3.`Customers` AND t1.`Products`=t3.`Products`"
'Ideiglenes !!!
'_SQL += " where t1.Products ='81ed2085-6bf7-4c77-9906-d7165d0cbb8b'"
Dim _SelectedData As SelectedData = _onew.Session.ExecuteQuery(_SQL)
'Try
_WaitFormClass.Initwork(1, 1, _SelectedData.ResultSet(0).Rows.Length)
For Each row As SelectStatementResultRow In _SelectedData.ResultSet(0).Rows
_WaitFormClass.DoWork()
If row.Values(0) IsNot Nothing Then
Dim _ProductsGantRows As ProductsGantRows =
_onew.FindObject(Of ProductsGantRows)(CriteriaOperator.Parse("Products.Oid = ? AND Customers.Oid= ? AND ProductsGant.Oid= ?", row.Values(1), row.Values(0), _ProductsGant.Oid))
If _ProductsGantRows Is Nothing Then
_SQL = "insert ProductsGantRows (Oid,ProductsGant,Customers,Products,CalculatedRotation,ManualRotation,CalculatedRotationW52,QTT_Minimum,QTT_Critical)"
_SQL += " select "
_SQL += " UUID(), "
_SQL += "'" & _ProductsGant.Oid.ToString() & "',"
_SQL += "'" & row.Values(0) & "',"
_SQL += "'" & row.Values(1) & "',"
_SQL += Double.Parse(row.Values(2)).ToString("F", CultureInfo.InvariantCulture) & ","
_SQL += "0,"
_SQL += Double.Parse(row.Values(3)).ToString("F", CultureInfo.InvariantCulture) & ","
_SQL += "0,0"
_onew.Session.ExecuteNonQuery(_SQL)
Else
_SQL = " update ProductsGantRows set CalculatedRotation = " & Double.Parse(row.Values(2)).ToString("F", CultureInfo.InvariantCulture) & ","
_SQL += " CalculatedRotationW52 = " & Double.Parse(row.Values(3)).ToString("F", CultureInfo.InvariantCulture)
_SQL += " where Oid='" & _ProductsGantRows.Oid.ToString & "'"
_onew.Session.ExecuteNonQuery(_SQL)
End If
If _ProductsGantRows IsNot Nothing Then
Dim _Item As Long = _GanttControl.Items.get_FindItem(_ProductsGantRows.Oid.ToString, 0)
'Most le kéne generálni a GANTROWSBAR elemeket is .....
_SQL = " select t1.QTT,t1.DateExecution"
_SQL += " from productsgantcustomersreport t1"
_SQL += " where t1.Products='" & row.Values(1) & "'"
_SQL += " AND t1.Customers='" & row.Values(0) & "'"
_SQL += " AND t1.GCRecord is null"
_SQL += " order by t1.DateExecution DESC"
Dim _SelectedData2 As SelectedData = _onew.Session.ExecuteQuery(_SQL)
For Each row2 As SelectStatementResultRow In _SelectedData2.ResultSet(0).Rows
Dim _AD As Double = 1
If Double.Parse(row.Values(2)) <> 0 Then
_AD = row2.Values(0) * 7 / Double.Parse(row.Values(2))
End If
If _ProductsGantRows IsNot Nothing Then
If _ProductsGantRows.ManualRotation > 0 Then
_AD = row2.Values(0) * 7 / _ProductsGantRows.ManualRotation
End If
End If
Dim _Key As String = Guid.NewGuid.ToString
_GanttControl.Items.AddBar(CInt(_Item), "Reported", row2.Values(1), DateTime.Parse(row2.Values(1)).AddDays(_AD), _Key, row2.Values(0))
_GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanResize, False)
_GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanMove, False)
_GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanStartLink, False)
_GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanBeLinked, False)
_GanttControl.Items.set_BarHAlignCaption(CInt(_Item), _Key, AlignmentEnum.LeftAlignment)
Exit For
Next
_SQL = " select sum(t1.QTT),DATE_FORMAT(t2.DateExecution,'%Y-%m-%d')"
_SQL += " from OrderInRows t1 join OrderInHeader t2 on t1.OrderInHeader=t2.Oid"
_SQL += " where t1.Products='" & row.Values(1) & "' AND t1.QTT > t1.QTT_Invoiced "
_SQL += " AND t2.Customers='" & row.Values(0) & "'"
_SQL += " AND t1.GCRecord is null and t2.GCRecord is null"
_SQL += " GROUP BY DATE_FORMAT(t2.DateExecution,'%Y-%m-%d')"
_SQL += " order by DATE_FORMAT(t2.DateExecution,'%Y-%m-%d') DESC"
_SelectedData2 = _onew.Session.ExecuteQuery(_SQL)
For Each row2 As SelectStatementResultRow In _SelectedData2.ResultSet(0).Rows
Dim _AD As Double = 1
If Double.Parse(row.Values(2)) <> 0 Then
_AD = row2.Values(0) * 7 / Double.Parse(row.Values(2))
End If
If _ProductsGantRows IsNot Nothing Then
If _ProductsGantRows.ManualRotation > 0 Then
_AD = row2.Values(0) * 7 / _ProductsGantRows.ManualRotation
End If
End If
Dim _Key As String = Guid.NewGuid.ToString
_GanttControl.Items.AddBar(CInt(_Item), "Ordered", row2.Values(1), DateTime.Parse(row2.Values(1)).AddDays(_AD), _Key, row2.Values(0))
_GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanResize, False)
_GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanMove, False)
_GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanStartLink, False)
_GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanBeLinked, False)
_GanttControl.Items.set_BarHAlignCaption(CInt(_Item), _Key, AlignmentEnum.LeftAlignment)
Next
_SQL = " select sum(t1.QTT),DATE_FORMAT(t2.DateExecution,'%Y-%m-%d')"
_SQL += " from InvoiceRows t1 join InvoiceHeader t2 on t1.InvoiceHeader=t2.Oid"
_SQL += " left join OrderInRows t3 on t1.OrderInRows=t3.Oid"
_SQL += " where t3.Products='" & row.Values(1) & "'"
_SQL += " AND t2.Customers='" & row.Values(0) & "'"
_SQL += " AND t1.GCRecord is null and t2.GCRecord is null AND t2.IsEditable=0"
_SQL += " GROUP BY DATE_FORMAT(t2.DateExecution,'%Y-%m-%d')"
_SQL += " order by DATE_FORMAT(t2.DateExecution,'%Y-%m-%d') DESC"
_SelectedData2 = _onew.Session.ExecuteQuery(_SQL)
For Each row2 As SelectStatementResultRow In _SelectedData2.ResultSet(0).Rows
Dim _AD As Double = 1
If Double.Parse(row.Values(2)) <> 0 Then
_AD = row2.Values(0) * 7 / Double.Parse(row.Values(2))
End If
If _ProductsGantRows IsNot Nothing Then
If _ProductsGantRows.ManualRotation > 0 Then
_AD = row2.Values(0) * 7 / _ProductsGantRows.ManualRotation
End If
End If
Dim _Key As String = Guid.NewGuid.ToString
_GanttControl.Items.AddBar(CInt(_Item), "Accounted", row2.Values(1), DateTime.Parse(row2.Values(1)).AddDays(_AD), _Key, row2.Values(0))
_GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanResize, False)
_GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanMove, False)
_GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanStartLink, False)
_GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanBeLinked, False)
_GanttControl.Items.set_BarHAlignCaption(CInt(_Item), _Key, AlignmentEnum.LeftAlignment)
Next
End If
End If
Next row
'Catch ex As Exception
' Throw New Exception(ex.Message)
'Finally
_WaitFormClass.FinalWork()
'End Try
End Sub
Private Sub aProductsGant_Refresh_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aProductsGant_Refresh.Execute
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
@@ -94,40 +265,42 @@ Public Class ProductsGant_VC
_ProductsGant = TryCast(TryCast(TryCast(View, ListView).CollectionSource, PropertyCollectionSource).MasterObject, ProductsGant)
End If
Dim _ProductsGantRowsBar_Collection As New XPCollection(Of ProductsGantRowsBar)(_onew.Session, CriteriaOperator.Parse("BarType=3"))
'GenerateData(_ProductsGant, _onew)
If _ProductsGantRowsBar_Collection.Count > 0 Then
For Each _ProductsGantRowsBar As ProductsGantRowsBar In _ProductsGantRowsBar_Collection
With _ProductsGantRowsBar
.FromDate = GetSQLTime(_onew.Session).Date
If .ProductsGantRows.Products.CustomersOrderPriority.Count > 0 Then
.ProductsGantRows.Products.CustomersOrderPriority.Sorting.Add(New SortProperty("RowIndex", DB.SortingDirection.Ascending))
'Dim _ProductsGantRowsBar_Collection As New XPCollection(Of ProductsGantRowsBar)(_onew.Session, CriteriaOperator.Parse("BarType=3"))
.ToDate = .FromDate.AddDays(.ProductsGantRows.Products.CustomersOrderPriority(0).DeadlineWeek * 7)
Else
.ToDate = .FromDate
End If
End With
'If _ProductsGantRowsBar_Collection.Count > 0 Then
' For Each _ProductsGantRowsBar As ProductsGantRowsBar In _ProductsGantRowsBar_Collection
' With _ProductsGantRowsBar
' .FromDate = GetSQLTime(_onew.Session).Date
' If .ProductsGantRows.Products.CustomersOrderPriority.Count > 0 Then
' .ProductsGantRows.Products.CustomersOrderPriority.Sorting.Add(New SortProperty("RowIndex", DB.SortingDirection.Ascending))
Next
End If
_ProductsGantRowsBar_Collection = New XPCollection(Of ProductsGantRowsBar)(_onew.Session, CriteriaOperator.Parse("BarType=0"))
' .ToDate = .FromDate.AddDays(.ProductsGantRows.Products.CustomersOrderPriority(0).DeadlineWeek * 7)
' Else
' .ToDate = .FromDate
' End If
' End With
If _ProductsGantRowsBar_Collection.Count > 0 Then
For Each _ProductsGantRowsBar As ProductsGantRowsBar In _ProductsGantRowsBar_Collection
With _ProductsGantRowsBar
If _ProductsGantRowsBar.ProductsGantRows.ManualRotation > 0 Then
.ToDate = .FromDate.AddDays(_ProductsGantRowsBar.ProductsGantRows.ManualRotation * 7)
ElseIf _ProductsGantRowsBar.ProductsGantRows.CalculatedRotation > 0 Then
.ToDate = .FromDate.AddDays(_ProductsGantRowsBar.ProductsGantRows.CalculatedRotation * 7)
Else
.ToDate = .FromDate.AddDays(1)
' Next
'End If
'_ProductsGantRowsBar_Collection = New XPCollection(Of ProductsGantRowsBar)(_onew.Session, CriteriaOperator.Parse("BarType=0"))
End If
End With
Next
End If
_onew.CommitChanges()
'If _ProductsGantRowsBar_Collection.Count > 0 Then
' For Each _ProductsGantRowsBar As ProductsGantRowsBar In _ProductsGantRowsBar_Collection
' With _ProductsGantRowsBar
' If _ProductsGantRowsBar.ProductsGantRows.ManualRotation > 0 Then
' .ToDate = .FromDate.AddDays(_ProductsGantRowsBar.ProductsGantRows.ManualRotation * 7)
' ElseIf _ProductsGantRowsBar.ProductsGantRows.CalculatedRotation > 0 Then
' .ToDate = .FromDate.AddDays(_ProductsGantRowsBar.ProductsGantRows.CalculatedRotation * 7)
' Else
' .ToDate = .FromDate.AddDays(1)
' End If
' End With
' Next
'End If
'_onew.CommitChanges()
Dim _DetailView As DetailView = TryCast(View, DetailView)
Dim _ProductsGantRowsViewItem As ListPropertyEditor = _DetailView.FindItem("ProductsGantRows")
@@ -193,17 +366,19 @@ Public Class ProductsGant_VC
.HistogramPattern = PatternEnum.exPatternBox + PatternEnum.exPatternDot + PatternEnum.exPatternShadow
.HistogramColor = Drawing.Color.Yellow
.OverlaidType = OverlaidBarsTypeEnum.exOverlaidBarsStack
.OverlaidGroup = "Reported,Ordered,Accounted"
End With
With .Copy("Task", "Ordered")
.Color = Drawing.Color.Black
.Shape = ShapeBarEnum.exShapeSolid
.StartColor = Drawing.Color.LightPink
.EndColor = Drawing.Color.Pink
.EndColor = Drawing.Color.LightPink
.Pattern = PatternEnum.exPatternBox + PatternEnum.exPatternDot + PatternEnum.exPatternShadow
.Height = 18
.HistogramPattern = PatternEnum.exPatternBox + PatternEnum.exPatternDot + PatternEnum.exPatternShadow
.HistogramColor = Drawing.Color.Pink
.OverlaidType = OverlaidBarsTypeEnum.exOverlaidBarsStack
.OverlaidGroup = "Reported,Ordered,Accounted"
End With
With .Copy("Summary", "Reported")
.Color = Drawing.Color.DarkGray
@@ -211,13 +386,14 @@ Public Class ProductsGant_VC
.StartShape = ShapeCornerEnum.exShapeIconUp3
.EndShape = ShapeCornerEnum.exShapeIconDown3
.HistogramRulerLinesColor = Drawing.Color.Black
.StartColor = Drawing.Color.DarkGreen
.StartColor = Drawing.Color.LightGreen
.EndColor = Drawing.Color.LightGreen
.Pattern = PatternEnum.exPatternBox + PatternEnum.exPatternDot + PatternEnum.exPatternShadow + PatternEnum.exPatternEmpty
.Height = 18
.HistogramPattern = PatternEnum.exPatternBox + PatternEnum.exPatternDot + PatternEnum.exPatternShadow + PatternEnum.exPatternEmpty
.HistogramColor = Drawing.Color.Green
.OverlaidType = OverlaidBarsTypeEnum.exOverlaidBarsStack
.OverlaidGroup = "Reported,Ordered,Accounted"
End With
With .Copy("Milestone", "OrderArrive")
.StartShape = ShapeCornerEnum.exShapeIconVBar
@@ -412,6 +588,7 @@ Public Class ProductsGant_VC
_GantItemColumn_Array.Clear()
_GantChange = True
End With
GenerateData(_ProductsGant, _onew)
End If
End Sub
Private Sub SetItemBars(_item As Long, _ProductsGantRows As ProductsGantRows)
@@ -497,8 +674,12 @@ Public Class ProductsGant_VC
Select Case _G2Column.Key
Case "ManualRotation"
_ProductsGantRows.ManualRotation = _GanttControl.Items.get_CellValue(_GanttControl.Items.get_SelectedItem(0), _G2Column.Index)
'Case "CalculatedRotation"
' _ProductsGantRows.CalculatedRotation = _GanttControl.Items.get_CellValue(_GanttControl.Items.get_SelectedItem(0), _G2Column.Index)
'Case "CalculatedRotation"
' _ProductsGantRows.CalculatedRotation = _GanttControl.Items.get_CellValue(_GanttControl.Items.get_SelectedItem(0), _G2Column.Index)
Case "QTT_Critical"
_ProductsGantRows.QTT_Critical = _GanttControl.Items.get_CellValue(_GanttControl.Items.get_SelectedItem(0), _G2Column.Index)
Case "QTT_Minimum"
_ProductsGantRows.QTT_Minimum = _GanttControl.Items.get_CellValue(_GanttControl.Items.get_SelectedItem(0), _G2Column.Index)
End Select
Next
@@ -579,17 +760,24 @@ Public Class ProductsGant_VC
With _ProductsGantRowsBar
.ProductsGantRows = _ProductsGantRows
.FromDate = _ProductsGantCustomersReport.DateExecution
If _ProductsGantRowsBar.ProductsGantRows.Products.CustomersOrderPriority.Count > 0 Then
.ProductsGantRows.Products.CustomersOrderPriority.Sorting.Add(New SortProperty("RowIndex", DB.SortingDirection.Ascending))
.ToDate = .FromDate.AddDays(.ProductsGantRows.Products.CustomersOrderPriority(0).DeadlineWeek * 7)
'If _ProductsGantRowsBar.ProductsGantRows.Products.CustomersOrderPriority.Count > 0 Then
' .ProductsGantRows.Products.CustomersOrderPriority.Sorting.Add(New SortProperty("RowIndex", DB.SortingDirection.Ascending))
' .ToDate = .FromDate.AddDays(.ProductsGantRows.Products.CustomersOrderPriority(0).DeadlineWeek * 7)
'Else
' If _ProductsGantRowsBar.ProductsGantRows.CalculatedRotation > 0 Then
' .ToDate = .FromDate.AddDays(_ProductsGantRowsBar.ProductsGantRows.CalculatedRotation * 7)
' ElseIf _ProductsGantRowsBar.ProductsGantRows.ManualRotation > 0 Then
' .ToDate = .FromDate.AddDays(.ProductsGantRows.ManualRotation * 7)
' Else
' .ToDate = .FromDate.AddDays(1) 'temp
' End If
'End If
If _ProductsGantRowsBar.ProductsGantRows.CalculatedRotation > 0 Then
.ToDate = .FromDate.AddDays(_ProductsGantCustomersReport_New.QTT / _ProductsGantRowsBar.ProductsGantRows.CalculatedRotation)
ElseIf _ProductsGantRowsBar.ProductsGantRows.ManualRotation > 0 Then
.ToDate = .FromDate.AddDays(_ProductsGantCustomersReport_New.QTT / .ProductsGantRows.ManualRotation)
Else
If _ProductsGantRowsBar.ProductsGantRows.CalculatedRotation > 0 Then
.ToDate = .FromDate.AddDays(_ProductsGantRowsBar.ProductsGantRows.CalculatedRotation * 7)
ElseIf _ProductsGantRowsBar.ProductsGantRows.ManualRotation > 0 Then
.ToDate = .FromDate.AddDays(.ProductsGantRows.ManualRotation * 7)
Else
.ToDate = .FromDate.AddDays(1) 'temp
End If
.ToDate = .FromDate.AddDays(1) 'temp
End If
.BarType = eBarType.eReported
.Caption = _ProductsGantCustomersReport_New.QTT.ToString
@@ -597,17 +785,24 @@ Public Class ProductsGant_VC
Else
With _ProductsGantRowsBar
.FromDate = _ProductsGantCustomersReport.DateExecution
If _ProductsGantRowsBar.ProductsGantRows.Products.CustomersOrderPriority.Count > 0 Then
.ProductsGantRows.Products.CustomersOrderPriority.Sorting.Add(New SortProperty("RowIndex", DB.SortingDirection.Ascending))
.ToDate = .FromDate.AddDays(.ProductsGantRows.Products.CustomersOrderPriority(0).DeadlineWeek * 7)
'If _ProductsGantRowsBar.ProductsGantRows.Products.CustomersOrderPriority.Count > 0 Then
' .ProductsGantRows.Products.CustomersOrderPriority.Sorting.Add(New SortProperty("RowIndex", DB.SortingDirection.Ascending))
' .ToDate = .FromDate.AddDays(.ProductsGantRows.Products.CustomersOrderPriority(0).DeadlineWeek * 7)
'Else
' If _ProductsGantRowsBar.ProductsGantRows.CalculatedRotation > 0 Then
' .ToDate = .FromDate.AddDays(_ProductsGantRowsBar.ProductsGantRows.CalculatedRotation * 7)
' ElseIf _ProductsGantRowsBar.ProductsGantRows.ManualRotation > 0 Then
' .ToDate = .FromDate.AddDays(.ProductsGantRows.ManualRotation * 7)
' Else
' .ToDate = .FromDate.AddDays(1) 'temp
' End If
'End If
If _ProductsGantRowsBar.ProductsGantRows.CalculatedRotation > 0 Then
.ToDate = .FromDate.AddDays(_ProductsGantCustomersReport_New.QTT / _ProductsGantRowsBar.ProductsGantRows.CalculatedRotation)
ElseIf _ProductsGantRowsBar.ProductsGantRows.ManualRotation > 0 Then
.ToDate = .FromDate.AddDays(_ProductsGantCustomersReport_New.QTT / .ProductsGantRows.ManualRotation)
Else
If _ProductsGantRowsBar.ProductsGantRows.CalculatedRotation > 0 Then
.ToDate = .FromDate.AddDays(_ProductsGantRowsBar.ProductsGantRows.CalculatedRotation * 7)
ElseIf _ProductsGantRowsBar.ProductsGantRows.ManualRotation > 0 Then
.ToDate = .FromDate.AddDays(.ProductsGantRows.ManualRotation * 7)
Else
.ToDate = .FromDate.AddDays(1) 'temp
End If
.ToDate = .FromDate.AddDays(1) 'temp
End If
.Caption = _ProductsGantCustomersReport_New.QTT.ToString
End With
@@ -665,6 +860,10 @@ Public Class ProductsGant_VC
' _ProductsGantRows.CalculatedRotation = CType(NewValue, Double)
Case "ManualRotation"
_ProductsGantRows.ManualRotation = CType(NewValue, Double)
Case "QTT_Critical"
_ProductsGantRows.QTT_Critical = CType(NewValue, Double)
Case "QTT_Minimum"
_ProductsGantRows.QTT_Minimum = CType(NewValue, Double)
End Select
_onew.CommitChanges()
@@ -686,16 +885,18 @@ Public Class ProductsGant_VC
Private Sub GanttControl_LayoutChanged(sender As Object)
If _GantChange Then
Dim _DetailView As DetailView = TryCast(View, DetailView)
Dim _ProductsGantRowsViewItem As ListPropertyEditor = _DetailView.FindItem("ProductsGantRows")
Dim _IModelListView As IModelListView = Application.Model.Views.GetNode("ProductsGant_ProductsGantRows_ListView")
For Each _Column In _IModelListView.Columns
For Each _G2Column As exontrol.EXG2ANTTLib.Column In _GanttControl.Columns
If _Column.Id = _G2Column.Key Then
_Column.Width = _G2Column.Width
End If
If _DetailView IsNot Nothing Then
Dim _ProductsGantRowsViewItem As ListPropertyEditor = _DetailView.FindItem("ProductsGantRows")
Dim _IModelListView As IModelListView = Application.Model.Views.GetNode("ProductsGant_ProductsGantRows_ListView")
For Each _Column In _IModelListView.Columns
For Each _G2Column As exontrol.EXG2ANTTLib.Column In _GanttControl.Columns
If _Column.Id = _G2Column.Key Then
_Column.Width = _G2Column.Width
End If
Next
Next
Next
Application.SaveModelChanges()
Application.SaveModelChanges()
End If
End If
End Sub
Private Sub SetItemsAndItemData(_Item As Long, _ProductsGantRows As ProductsGantRows)
@@ -711,44 +912,55 @@ Public Class ProductsGant_VC
If _ProductsGantRows.CalculatedRotation > 0 Then
_GanttControl.Items.set_CellValue(_Item, _G2Column.Index, _ProductsGantRows.CalculatedRotation)
End If
Case "CalculatedRotationW52"
If _ProductsGantRows.CalculatedRotation > 0 Then
_GanttControl.Items.set_CellValue(_Item, _G2Column.Index, _ProductsGantRows.CalculatedRotationW52)
End If
Case "ManualRotation"
If _ProductsGantRows.ManualRotation > 0 Then
_GanttControl.Items.set_CellValue(_Item, _G2Column.Index, _ProductsGantRows.ManualRotation)
End If
Case "QTT_Minimum"
If _ProductsGantRows.QTT_Minimum > 0 Then
_GanttControl.Items.set_CellValue(_Item, _G2Column.Index, _ProductsGantRows.QTT_Minimum)
End If
Case "QTT_Critical"
If _ProductsGantRows.QTT_Critical > 0 Then
_GanttControl.Items.set_CellValue(_Item, _G2Column.Index, _ProductsGantRows.QTT_Critical)
End If
End Select
Next
For Each _ProductsGantRowsBar As ProductsGantRowsBar In _ProductsGantRows.ProductsGantRowsBar
Dim _Key As String = Guid.NewGuid.ToString
Select Case _ProductsGantRowsBar.BarType
Case eBarType.eAccounted
_GanttControl.Items.AddBar(CInt(_Item), "Accounted", _ProductsGantRowsBar.FromDate, _ProductsGantRowsBar.ToDate, _Key, _ProductsGantRowsBar.Caption)
_GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanResize, False)
_GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanMove, False)
_GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanStartLink, False)
_GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanBeLinked, False)
Case eBarType.eOrdered
_GanttControl.Items.AddBar(CInt(_Item), "Ordered", _ProductsGantRowsBar.FromDate, _ProductsGantRowsBar.ToDate, _Key, _ProductsGantRowsBar.Caption)
_GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanResize, False)
_GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanMove, False)
_GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanStartLink, False)
_GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanBeLinked, False)
Case eBarType.eReported
_GanttControl.Items.AddBar(CInt(_Item), "Reported", _ProductsGantRowsBar.FromDate, _ProductsGantRowsBar.ToDate, _Key, _ProductsGantRowsBar.Caption)
_GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanResize, False)
_GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanMove, False)
_GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanStartLink, False)
_GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanBeLinked, False)
Case eBarType.eOrderArrive
_GanttControl.Items.AddBar(CInt(_Item), "OrderArrive", _ProductsGantRowsBar.ToDate, _ProductsGantRowsBar.ToDate, _Key, _ProductsGantRowsBar.Caption)
_GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanResize, False)
_GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanMove, False)
_GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanStartLink, False)
_GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanBeLinked, False)
End Select
Next
'For Each _ProductsGantRowsBar As ProductsGantRowsBar In _ProductsGantRows.ProductsGantRowsBar
' Dim _Key As String = Guid.NewGuid.ToString
' Select Case _ProductsGantRowsBar.BarType
' Case eBarType.eAccounted
' _GanttControl.Items.AddBar(CInt(_Item), "Accounted", _ProductsGantRowsBar.FromDate, _ProductsGantRowsBar.ToDate, _Key, _ProductsGantRowsBar.Caption)
' _GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanResize, False)
' _GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanMove, False)
' _GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanStartLink, False)
' _GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanBeLinked, False)
' Case eBarType.eOrdered
' _GanttControl.Items.AddBar(CInt(_Item), "Ordered", _ProductsGantRowsBar.FromDate, _ProductsGantRowsBar.ToDate, _Key, _ProductsGantRowsBar.Caption)
' _GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanResize, False)
' _GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanMove, False)
' _GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanStartLink, False)
' _GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanBeLinked, False)
' Case eBarType.eReported
' _GanttControl.Items.AddBar(CInt(_Item), "Reported", _ProductsGantRowsBar.FromDate, _ProductsGantRowsBar.ToDate, _Key, _ProductsGantRowsBar.Caption)
' _GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanResize, False)
' _GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanMove, False)
' _GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanStartLink, False)
' _GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanBeLinked, False)
' Case eBarType.eOrderArrive
' _GanttControl.Items.AddBar(CInt(_Item), "OrderArrive", _ProductsGantRowsBar.ToDate, _ProductsGantRowsBar.ToDate, _Key, _ProductsGantRowsBar.Caption)
' _GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanResize, False)
' _GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanMove, False)
' _GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanStartLink, False)
' _GanttControl.Items.set_ItemBar(CInt(_Item), _Key, exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCanBeLinked, False)
' End Select
'Next
End Sub
Private Sub _GanttControl_SelectionChanged(sender As Object)