Merge branch 'dev' of http://47.101.211.7:10101/r/VWED into dev-zlg
已重命名4个文件
已添加33个文件
已修改51个文件
已删除46个文件
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation ArchiveFile_Archive_Archive_ArchiveFile |
| | | { |
| | | #keys: '1[414996.1.137244656]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide Archive |
| | | { |
| | | #keys: '3[414996.1.137244658][414996.1.137244657][414996.1.137244659]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: ArchiveFile |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide ArchiveFile |
| | | { |
| | | #keys: '3[414996.1.137244661][414996.1.137244660][414996.1.137244662]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: Archive |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
| | |
| | | filePath := archiveFileJSON.Get( "fileFullPath" ).GetString(); |
| | | |
| | | if ( archiveType = "PR" ) { |
| | | apr := select( archive, ArchivePR, tempAPR, tempAPR.Name() = fileName ); |
| | | apr := select( archive, ArchiveFile.astype( ArchivePR ), tempAPR, tempAPR.Name() = fileName ); |
| | | if ( not isnull( apr ) ) { |
| | | apr.FilePath( filePath ); |
| | | } else { |
| | | archive.ArchivePR( relnew, Name := fileName, FilePath := filePath ); |
| | | archive.ArchiveFile( relnew,ArchivePR, Name := fileName, FilePath := filePath ); |
| | | } |
| | | } else if ( archiveType = "PP" ) { |
| | | app := select( archive, ArchivePP, tempAPP, tempAPP.Name() = fileName ); |
| | | app := select( archive, ArchiveFile.astype( ArchivePP ), tempAPP, tempAPP.Name() = fileName ); |
| | | if ( not isnull( app ) ) { |
| | | app.FilePath( filePath ); |
| | | } else { |
| | | archive.ArchivePP( relnew, Name := fileName, FilePath := filePath ); |
| | | archive.ArchiveFile( relnew,ArchivePP, Name := fileName, FilePath := filePath ); |
| | | } |
| | | } else if ( archiveType = "Budget" ) { |
| | | ab := select( archive, ArchiveBudget, tempAB, tempAB.Name() = fileName ); |
| | | ab := select( archive, ArchiveFile.astype( ArchiveBudget ), tempAB, tempAB.Name() = fileName ); |
| | | if ( not isnull( ab ) ) { |
| | | ab.FilePath( filePath ); |
| | | } else { |
| | | archive.ArchiveBudget( relnew, Name := fileName, FilePath := filePath ); |
| | | archive.ArchiveFile( relnew,ArchiveBudget, Name := fileName, FilePath := filePath ); |
| | | } |
| | | } else if ( archiveType = "PPA" ) { |
| | | // åæ¡£PPA |
| | | appa := select( archive, ArchivePPA, tempAPPA, tempAPPA.Name() = fileName ); |
| | | appa := select( archive, ArchiveFile.astype( ArchivePPA ), tempAPPA, tempAPPA.Name() = fileName ); |
| | | if ( not isnull( appa ) ) { |
| | | appa.FilePath( filePath ); |
| | | appa.SourceFileBinaryValue( ppaBinaryValue ); |
| | | } else { |
| | | archive.ArchivePPA( relnew, Name := fileName, FilePath := filePath, SourceFileBinaryValue := ppaBinaryValue ); |
| | | archive.ArchiveFile( relnew,ArchivePPA, Name := fileName, FilePath := filePath, SourceFileBinaryValue := ppaBinaryValue ); |
| | | } |
| | | |
| | | // åæ¡£Curve |
| | | ac := select( archive, ArchiveCurve, tempAC, true ); |
| | | ac := select( archive, ArchiveFile.astype( ArchiveCurve ), tempAC, true ); |
| | | if ( not isnull( ac ) ) { |
| | | ac.Delete(); |
| | | } |
| | | archive.ArchiveCurve( relnew, Name := "å§ç»åªåä¸ç.xlsx", FilePath := curveFileName, SourceFileBinaryValue := curveBinaryValue ); |
| | | archive.ArchiveFile( relnew,ArchiveCurve, Name := "å§ç»åªåä¸ç.xlsx", FilePath := curveFileName, SourceFileBinaryValue := curveBinaryValue ); |
| | | } |
| | | } |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type ArchiveBudget |
| | | TypeSpecialization ArchiveBudget |
| | | { |
| | | #keys: '5[413988.0.1193510071][413988.0.1193510069][0.0.0][413988.0.1193510070][413988.0.1193510072]' |
| | | BaseType: Object |
| | | #keys: '2[414996.1.137364727][413988.0.1193510069]' |
| | | Parent: ArchiveFile |
| | | StructuredName: 'ArchiveBudgets' |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type ArchiveCurve |
| | | TypeSpecialization ArchiveCurve |
| | | { |
| | | #keys: '5[413988.0.1193510144][413988.0.1193510142][0.0.0][413988.0.1193510143][413988.0.1193510145]' |
| | | BaseType: Object |
| | | #keys: '2[414996.1.137364732][413988.0.1193510142]' |
| | | Parent: ArchiveFile |
| | | StructuredName: 'ArchiveCurves' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute DateTime |
| | | { |
| | | #keys: '3[414996.1.137244673][414996.1.137244672][414996.1.137244674]' |
| | | ValueType: DateTime |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute FilePath |
| | | { |
| | | #keys: '3[414996.1.137244676][414996.1.137244675][414996.1.137244677]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Name |
| | | { |
| | | #keys: '3[414996.1.137244679][414996.1.137244678][414996.1.137244680]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute UserName |
| | | { |
| | | #keys: '3[414996.1.137244670][414996.1.137244669][414996.1.137244671]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type ArchiveFile |
| | | { |
| | | #keys: '5[414996.1.137244653][414996.1.137244651][0.0.0][414996.1.137244652][414996.1.137244654]' |
| | | BaseType: Object |
| | | OnCreate: 'this.DateTime( DateTime::Now() );' |
| | | OnDelete: |
| | | [* |
| | | OS::RemoveFile( this.FilePath() ); |
| | | *] |
| | | StructuredName: 'ArchiveFiles' |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type ArchiveIDS |
| | | TypeSpecialization ArchiveIDS |
| | | { |
| | | #keys: '5[413988.0.1193510179][413988.0.1193510177][0.0.0][413988.0.1193510178][413988.0.1193510180]' |
| | | BaseType: Object |
| | | #keys: '2[414996.1.137364717][413988.0.1193510177]' |
| | | Parent: ArchiveFile |
| | | StructuredName: 'ArchiveIDSs' |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type ArchivePP |
| | | TypeSpecialization ArchivePP |
| | | { |
| | | #keys: '5[413988.0.1193510109][413988.0.1193510107][0.0.0][413988.0.1193510108][413988.0.1193510110]' |
| | | BaseType: Object |
| | | #keys: '2[414996.1.137364707][413988.0.1193510107]' |
| | | Parent: ArchiveFile |
| | | StructuredName: 'ArchivePPs' |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type ArchivePPA |
| | | TypeSpecialization ArchivePPA |
| | | { |
| | | #keys: '5[413988.0.1174013542][413988.0.1174013540][0.0.0][413988.0.1174013541][413988.0.1174013543]' |
| | | BaseType: Object |
| | | #keys: '2[414996.1.137364700][413988.0.1174013540]' |
| | | Parent: ArchiveFile |
| | | StructuredName: 'ArchivePPAs' |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type ArchivePR |
| | | TypeSpecialization ArchivePR |
| | | { |
| | | #keys: '5[413988.0.1179741542][413988.0.1179741540][0.0.0][413988.0.1179741541][413988.0.1179741543]' |
| | | BaseType: Object |
| | | #keys: '2[414996.1.137244682][413988.0.1179741540]' |
| | | Parent: ArchiveFile |
| | | StructuredName: 'ArchivePRs' |
| | | } |
| | |
| | | OS::CreateDirectory( filePath ); |
| | | |
| | | macroPlan := salesSegment.MacroPlan(); |
| | | ac := select( archive, ArchiveCurve, tempAC, true ); |
| | | ac := select( archive, ArchiveFile.astype( ArchiveCurve ), tempAC, true ); |
| | | |
| | | pathCurve := filePath + ac.Name(); |
| | | Archive::WriteTempFile( pathCurve, ac.SourceFileBinaryValue() ); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod ComparedNew ( |
| | | RecycleBin recycleBin, |
| | | const NewOfflinePlanTable baseOfflinePlan, |
| | | const NewOfflinePlanTable compareOfflinePlan |
| | | ) as LocalTable |
| | | { |
| | | TextBody: |
| | | [* |
| | | // rislai Jun-20-2024 (created) |
| | | table := recycleBin.LocalTable( relnew,Name := LocalCell_OfflinePlanComparison::GetTableName()); |
| | | |
| | | localColumns := construct( LocalColumns ); |
| | | localColumnIndexTree := NamedValueTree::Create(); |
| | | traverse( baseOfflinePlan,NewOfflinePlanColumn,column,column.StartDate() >= baseOfflinePlan.MacroPlan().StartOfPlanning().Date()){ |
| | | localColumnHandle := localColumnIndexTree.GetHandle( column.StartDate().AsQUILL() ); |
| | | localColumnIndex := guard( localColumnIndexTree.Root().Child( localColumnHandle ),null( NamedValue )); |
| | | if( isnull( localColumnIndex )){ |
| | | localColumn := table.LocalColumn( relnew,CustomDate := column.StartDate()); |
| | | localColumns.Add( localColumn ); |
| | | localColumnIndexTree.Root().AddChild( localColumnHandle,localColumns.Size() - 1 ); |
| | | } |
| | | } |
| | | traverse( compareOfflinePlan,NewOfflinePlanColumn,column,column.StartDate() >= compareOfflinePlan.MacroPlan().StartOfPlanning().Date()){ |
| | | localColumnHandle := localColumnIndexTree.GetHandle( column.StartDate().AsQUILL() ); |
| | | localColumnIndex := guard( localColumnIndexTree.Root().Child( localColumnHandle ),null( NamedValue )); |
| | | if( isnull( localColumnIndex )){ |
| | | localColumn := table.LocalColumn( relnew,CustomDate := column.StartDate()); |
| | | localColumns.Add( localColumn ); |
| | | localColumnIndexTree.Root().AddChild( localColumnHandle,localColumns.Size() - 1 ); |
| | | } |
| | | } |
| | | |
| | | baseOfflinePlanCells := construct( NewOfflinePlanCells, constcontent ); |
| | | baseOfflinePlanCellIndexTree := NamedValueTree::Create(); |
| | | compareOfflinePlanCells := construct( NewOfflinePlanCells, constcontent ); |
| | | compareOfflinePlanCellIndexTree := NamedValueTree::Create(); |
| | | |
| | | localRows := construct( LocalRows ); |
| | | localRowIndexTree := NamedValueTree::Create(); |
| | | |
| | | traverse( baseOfflinePlan,NewOfflinePlanRow,row,row.Type() = "1" ){ |
| | | rowKey := row.ProductID() + "@$#" + row.ProductionLine()+ "@$#"; |
| | | localRowHandle := localRowIndexTree.GetHandle( rowKey ); |
| | | localRowIndex := guard( localRowIndexTree.Root().Child( localRowHandle ),null( NamedValue )); |
| | | if( isnull( localRowIndex )){ |
| | | localRow := table.LocalRow( relnew,Index := table.GetRowIndexCache(),CustomName := row.ProductID(),Remark := rowKey ); |
| | | localRows.Add( localRow ); |
| | | localRowIndexTree.Root().AddChild( localRowHandle,localRows.Size() - 1 ); |
| | | } |
| | | traverse( row,NewOfflinePlanCell,cell ){ |
| | | columnKey := cell.NewOfflinePlanColumn().StartDate().AsQUILL(); |
| | | cellKey := rowKey + columnKey; |
| | | cellHandle := baseOfflinePlanCellIndexTree.GetHandle( cellKey ); |
| | | baseOfflinePlanCells.Add( cell ); |
| | | baseOfflinePlanCellIndexTree.Root().AddChild( cellHandle,baseOfflinePlanCells.Size() - 1 ); |
| | | } |
| | | } |
| | | traverse( compareOfflinePlan,NewOfflinePlanRow,row,row.Type() = "1" ){ |
| | | rowKey := row.ProductID() + "@$#" + row.ProductionLine()+ "@$#"; |
| | | localRowHandle := localRowIndexTree.GetHandle( rowKey ); |
| | | localRowIndex := guard( localRowIndexTree.Root().Child( localRowHandle ),null( NamedValue )); |
| | | if( isnull( localRowIndex )){ |
| | | localRow := table.LocalRow( relnew,Index := table.GetRowIndexCache(),CustomName := row.ProductID(),Remark := rowKey ); |
| | | localRows.Add( localRow ); |
| | | localRowIndexTree.Root().AddChild( localRowHandle,localRows.Size() - 1 ); |
| | | } |
| | | traverse( row,NewOfflinePlanCell,cell ){ |
| | | columnKey := cell.NewOfflinePlanColumn().StartDate().AsQUILL(); |
| | | cellHandle := compareOfflinePlanCellIndexTree.GetHandle( rowKey + columnKey ); |
| | | compareOfflinePlanCells.Add( cell ); |
| | | compareOfflinePlanCellIndexTree.Root().AddChild( cellHandle,compareOfflinePlanCells.Size() - 1 ); |
| | | } |
| | | } |
| | | |
| | | traverse( localRows,Elements,localRow ){ |
| | | rowKey := localRow.Remark(); |
| | | traverse( localColumns,Elements,localColumn ){ |
| | | columnKey := localColumn.CustomDate().AsQUILL(); |
| | | cellKey := rowKey + columnKey; |
| | | |
| | | baseOfflinePlanCell := constnull( NewOfflinePlanCell ); |
| | | compareOfflinePlanCell := constnull( NewOfflinePlanCell ); |
| | | baseOfflinePlanCellIndex := guard( baseOfflinePlanCellIndexTree.Root().Child( baseOfflinePlanCellIndexTree.GetHandle( cellKey ) ),null( NamedValue )); |
| | | compareOfflinePlanCellIndex := guard( compareOfflinePlanCellIndexTree.Root().Child( compareOfflinePlanCellIndexTree.GetHandle( cellKey ) ),null( NamedValue )); |
| | | if( not isnull( baseOfflinePlanCellIndex )){ |
| | | baseOfflinePlanCell := baseOfflinePlanCells.Element( baseOfflinePlanCellIndex.GetValueAsNumber() ); |
| | | } |
| | | if( not isnull( compareOfflinePlanCellIndex )){ |
| | | compareOfflinePlanCell := compareOfflinePlanCells.Element( compareOfflinePlanCellIndex.GetValueAsNumber() ); |
| | | } |
| | | |
| | | localRow.LocalCell( relnew,LocalCell_OfflinePlanComparison,LocalColumn := localColumn, |
| | | BaseVersion := ifexpr( isnull( baseOfflinePlanCell),0.0,baseOfflinePlanCell.Quantity()), |
| | | CompareVersion := ifexpr( isnull( compareOfflinePlanCell),0.0,compareOfflinePlanCell.Quantity())); |
| | | } |
| | | } |
| | | traverse( table,LocalColumn,column ){ |
| | | if( column.LocalCell( relsize ) = 0 ){ |
| | | column.Delete(); |
| | | } |
| | | } |
| | | |
| | | return table; |
| | | *] |
| | | } |
| | |
| | | ShiftPattern shiftPattern, |
| | | Date startDate, |
| | | Date endDate, |
| | | Numbers weekdays |
| | | Numbers weekdays, |
| | | Number skipWeek |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // Akari Oct-10-2024 (created) |
| | | owner := unit.MacroPlan(); |
| | | |
| | | saveDays := construct( Dates ); |
| | | flag := startDate.StartOfNextWeek(); |
| | | for( i := startDate; i<endDate; i := i + 1 ){ |
| | | if( i < flag ){ |
| | | saveDays.Add( i ); |
| | | }else{ |
| | | temp := skipWeek - 1; |
| | | while( temp > 0 ){ |
| | | i := flag; |
| | | flag := i.StartOfNextWeek(); |
| | | temp--; |
| | | |
| | | info( i.Format( "Y-M2-D2") ); |
| | | info( flag.Format( "Y-M2-D2") ); |
| | | } |
| | | } |
| | | } |
| | | |
| | | info( "----------------------------"); |
| | | |
| | | traverse( saveDays,Elements,element ){ |
| | | info( element.Format( "Y-M2-D2")); |
| | | } |
| | | |
| | | dayPeriod_MPs := selectsortedset( owner,Period_MP,period_MP, |
| | | period_MP.TimeUnit() = 'Day' and |
| | | period_MP.StartDate() >= startDate and |
| | |
| | | period_MP.StartDate() >= startDate and |
| | | period_MP.EndDate() <= endDate and exists( weekdays, Elements,dayOfWeek,dayOfWeek = period_MP.StartDate().DayOfWeek() ),period_MP.StartDate()); |
| | | |
| | | |
| | | if( dayPeriod_MPs.Size() > 0 ){ |
| | | unitPeriodTimes := selectset( unit,UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,exists( dayPeriod_MPs,Elements,period_MP,period_MP = unitPeriodTime.Period_MP()) and not isnull( unitPeriodTime.UnitAvailability())); |
| | | unitPeriodTimes := selectset( unit,UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,exists( dayPeriod_MPs,Elements,period_MP,period_MP = unitPeriodTime.Period_MP())); |
| | | if( unitPeriodTimes.Size() > 0 ){ |
| | | LocalTool::SetUnitShiftPattern( owner,unitPeriodTimes,shiftPattern ); |
| | | } |
| | | |
| | | } |
| | | if( weekPeriod_MPs.Size() <> 0 ){ |
| | | traverse( weekPeriod_MPs,Elements,period_MP ){ |
| | | unitPeriodTimes := selectset( unit,UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,period_MP = unitPeriodTime.Period_MP() and not isnull( unitPeriodTime.UnitAvailability())); |
| | | unitPeriodTimes := selectset( unit,UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,period_MP = unitPeriodTime.Period_MP()); |
| | | if( unitPeriodTimes.Size() > 0 ){ |
| | | LocalTool::SetUnitShiftPattern( owner,unitPeriodTimes,shiftPattern ); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod BatchSetUnitShiftPattern ( |
| | | Unit unit, |
| | | ShiftPattern shiftPattern, |
| | | Date startDate, |
| | | Date endDate, |
| | | Number skipDay |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // Akari Oct-10-2024 (created) |
| | | owner := unit.MacroPlan(); |
| | | |
| | | saveDays := construct( Dates ); |
| | | for( i := startDate; i < endDate; i := i + skipDay ){ |
| | | saveDays.Add( i ); |
| | | } |
| | | |
| | | |
| | | dayPeriod_MPs := selectsortedset( owner,Period_MP,period_MP, |
| | | period_MP.TimeUnit() = 'Day' and |
| | | period_MP.StartDate() >= startDate and |
| | | period_MP.EndDate() <= endDate and exists( saveDays, Elements,day,day = period_MP.StartDate()) ,period_MP.StartDate()); |
| | | weekPeriod_MPs := selectsortedset( owner,Period_MP,period_MP, |
| | | period_MP.TimeUnit() = 'Week' and |
| | | period_MP.StartDate() >= startDate and |
| | | period_MP.EndDate() <= endDate and exists( saveDays, Elements,day,day = period_MP.StartDate()) ,period_MP.StartDate()); |
| | | |
| | | |
| | | if( dayPeriod_MPs.Size() > 0 ){ |
| | | unitPeriodTimes := selectset( unit,UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,exists( dayPeriod_MPs,Elements,period_MP,period_MP = unitPeriodTime.Period_MP())); |
| | | if( unitPeriodTimes.Size() > 0 ){ |
| | | info( unitPeriodTimes.Size() ); |
| | | LocalTool::SetUnitShiftPattern( owner,unitPeriodTimes,shiftPattern ); |
| | | } |
| | | } |
| | | if( weekPeriod_MPs.Size() <> 0 ){ |
| | | unitPeriodTimes := selectset( unit,UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,exists( weekPeriod_MPs,Elements,period_MP,period_MP = unitPeriodTime.Period_MP())); |
| | | if( unitPeriodTimes.Size() > 0 ){ |
| | | LocalTool::SetUnitShiftPattern( owner,unitPeriodTimes,shiftPattern ); |
| | | } |
| | | } |
| | | *] |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | traverse( unitPeriodTimes,Elements,unitPeriodTime,isnull( unitPeriodTime.UnitAvailability())){ |
| | | // UnitAvailability::Create( unitPeriodTime.Unit(), |
| | | // unitPeriodTime.Start(), |
| | | // timeunit, |
| | | // maintenance, |
| | | // efficiency, |
| | | // allocation, |
| | | // shiftPattern, |
| | | // maxloadpercentage, |
| | | // nrofunitopen, |
| | | // minloadthreshold, |
| | | // true ); |
| | | unitPeriodTime.CalcUnitAvailability(); |
| | | } |
| | | |
| | | isbatchedit := unitPeriodTimes.Size() > 1; |
| | | UnitAvailability::CreateOrUpdateForUnitPeriodTimes( unitPeriodTimes, |
| | | not isbatchedit or false, |
| | |
| | | not isbatchedit or false, |
| | | minloadthreshold |
| | | ); |
| | | //UnitAvailability::CreateOrUpdateForUnitPeriodTimes( unitPeriodTimes, |
| | | // not isbatchedit or CheckBoxBatchEditMaintenance.Checked(), |
| | | // data.TimeUnit(), |
| | | // data.Maintenance(), |
| | | // not isbatchedit or CheckBoxBatchEditEfficiency.Checked(), |
| | | // data.Efficiency(), |
| | | // false, |
| | | // data.Allocation(), |
| | | // not isbatchedit or CheckBoxBatchEditShiftPattern.Checked(), |
| | | // data.ShiftPattern(), |
| | | // not isbatchedit or CheckBoxBatchEditMaxLoadPercentage.Checked(), |
| | | // data.MaximumLoadPercentage(), |
| | | // not isbatchedit or CheckBoxBatchEditNrOfUnitsOpen.Checked(), |
| | | // data.NrOfUnitsOpen(), |
| | | // DataHolderFromThisPeriodOnward.Data(), |
| | | // not isbatchedit or CheckBoxBatchEditMinimumLoadThreshold.Checked(), |
| | | // data.MinimumLoadThreshold() |
| | | // ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method GetNewOfflinePlanMatrixTooltip () declarative remote as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | tooltip := '<table>'; |
| | | |
| | | tooltip := tooltip |
| | | + '<tr><td><b>æ»éï¼</b></td><td>' + [String]this.Total().TotalQuantity() + '</td></tr>' |
| | | + '<tr><td><b>çæ¬¡åï¼</b></td><td>' + this.Total().ShiftPatternName() + '</td></tr>' |
| | | + '<tr><td><b>çæ¬¡å¼å§æ¶é´ï¼</b></td><td>' + this.Total().ShiftPatternStart() + '</td></tr>' |
| | | + '<tr><td><b>çæ¬¡ç»ææ¶é´ï¼</b></td><td>' + this.Total().ShiftPatternEnd() + '</td></tr>'; |
| | | |
| | | tooltip := tooltip + '</table>'; |
| | | |
| | | return tooltip; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod DeductionOfReplacementLoss ( |
| | | MacroPlan macroPlan, |
| | | NewOfflinePlanTable nopt |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // ä¿åä¸ä¸ä»½åæ¡£ |
| | | newNOPT := NewOfflinePlanCell::SaveAsDraft( macroPlan, nopt ); |
| | | |
| | | // æ§è¡æ¢åæå¤± |
| | | allProductionLines := selectuniquevalues( newNOPT, NewOfflinePlanRow, tempNOPR, true, tempNOPR.ProductionLine() ); |
| | | |
| | | traverse ( allProductionLines, Elements, pl |
| | | // , pl = "eMotor Assy (France)" |
| | | ) |
| | | { |
| | | // ä¸çº¿è®¡åå½å产线ä¸çè¡ |
| | | noprs := selectset( newNOPT, NewOfflinePlanRow, tempNOPR, tempNOPR.ProductionLine() = pl and tempNOPR.Type() = "1" ); |
| | | |
| | | // ä¸ä¸ä¸ªç产ç产åCell |
| | | preNOPCell := null( NewOfflinePlanCell ); |
| | | |
| | | traverse ( newNOPT, NewOfflinePlanColumn, nopc |
| | | // , nopc.StartDate() >= macroPlan.StartOfPlanning().Date() and nopc.StartDate() <= Date::Construct( 2024, 4, 17 ) // æµè¯æ¶å¯ä»¥è¿æ»¤æ¶é´ |
| | | ) |
| | | { |
| | | for ( i := 1; i < 10; i++ ) { |
| | | nopcell := select( noprs, Elements.NewOfflinePlanCell, tempNOPC, tempNOPC.NewOfflinePlanColumn() = nopc and tempNOPC.OrderNr() = i ); |
| | | // æ¢åæå¤±åæ° |
| | | cls := select( macroPlan, ChangeLossSetting, tempCLS, |
| | | tempCLS.ProductFirst().ID() = guard( preNOPCell.NewOfflinePlanRow().ProductID(), "" ) and |
| | | tempCLS.ProductSecond().ID() = guard( nopcell.NewOfflinePlanRow().ProductID(), "" ) and |
| | | tempCLS.StartDate() <= nopc.StartDate() and |
| | | tempCLS.EndDate() >= nopc.StartDate() |
| | | ); |
| | | |
| | | // æ£åæ¢åæå¤± |
| | | if ( not isnull( preNOPCell ) and not isnull( nopcell ) and not isnull( cls ) ) { |
| | | preNOPCell.Quantity( preNOPCell.Quantity() - cls.ChangeLossNumber() ); |
| | | // info( "å½ååæ¶é´ï¼", nopc.StartDate().Format( "Y-M2-D2" ), |
| | | // " ä¸ä¸ä¸ªäº§åå½ååºå·ï¼", preNOPCell.Order(), " ä¸ä¸ä¸ªäº§åæ°éï¼", preNOPCell.Quantity(), " ä¸ä¸ä¸ªäº§ååï¼", preNOPCell.NewOfflinePlanRow().ProductID(), |
| | | // " å½å产ååºå·ï¼" , nopcell.Order() , " å½åäº§åæ°éï¼" , nopcell.Quantity(), " å½å产ååï¼" , nopcell.NewOfflinePlanRow().ProductID() ); |
| | | } |
| | | |
| | | // 设置ä¸ä¸ä¸ªç产ç产åCell |
| | | if ( not isnull( nopcell ) ) { |
| | | preNOPCell := nopcell; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | *] |
| | | } |
| | |
| | | // çæä¸çº¿è®¡åã产线æç»ãè¡ |
| | | detailedNOPR := select( nopt, NewOfflinePlanRow, tempNOPR, tempNOPR.ProductionLine() = u.ID() and tempNOPR.ProductID() = pisp.ProductID() and tempNOPR.Type() = "1" ); |
| | | if ( isnull( detailedNOPR ) ) { |
| | | detailedNOPR := nopt.NewOfflinePlanRow( relnew, ProductionLine := u.ID(), ProductID := pisp.ProductID(), Type := "1" ); |
| | | detailedNOPR := nopt.NewOfflinePlanRow( relnew, ProductionLine := u.ID(), ProductID := pisp.ProductID(), Type := "1", OperationID := o.ID() ); |
| | | } |
| | | |
| | | // çæä¸çº¿è®¡åå |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod SynchronizeToNewSupply ( |
| | | MacroPlan macroPlan, |
| | | NewOfflinePlanTable nopt |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | traverse ( nopt, NewOfflinePlanRow.NewOfflinePlanCell, cell, |
| | | cell.NewOfflinePlanRow().Type() = "1" and cell.Quantity() > 0.0 |
| | | // and cell.NewOfflinePlanRow().ProductionLine() = "eMotor Assy (France)" and cell.NewOfflinePlanColumn().StartDate() = Date::Construct( 2020, 4, 4 ) |
| | | ) |
| | | { |
| | | pto := select( macroPlan, Unit.Operation.PeriodTaskOperation, tempPTO, |
| | | exists( tempPTO, NewSupply, tempNS, tempNS.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID() = cell.NewOfflinePlanRow().ProductID() ) and |
| | | tempPTO.Operation().UnitID() = cell.NewOfflinePlanRow().ProductionLine() and |
| | | tempPTO.Start().Date() = cell.NewOfflinePlanColumn().StartDate() ); |
| | | if ( isnull( pto ) ) { |
| | | o := select( macroPlan, Unit.Operation, tempO, tempO.ID() = cell.NewOfflinePlanRow().OperationID() ); |
| | | up := select( macroPlan, Unit.UnitPeriod, tempUP, tempUP.UnitID() = cell.NewOfflinePlanRow().ProductionLine() and tempUP.StartDate() = cell.NewOfflinePlanColumn().StartDate() ); |
| | | if ( not isnull( o ) and not isnull( up ) ) { |
| | | PeriodTaskOperation::Create( o, up, cell.Quantity(), false ); |
| | | } |
| | | } else { |
| | | if ( [Number]cell.Quantity() <> [Number]pto.Quantity() ) { |
| | | pto.Update( cell.Quantity(), false ); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute OperationID |
| | | { |
| | | #keys: '3[413988.0.1695608112][413988.0.1695608111][413988.0.1695608113]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method Comparison ( |
| | | RecycleBin recycleBin, |
| | | const Archive archive |
| | | ) as LocalTable |
| | | { |
| | | TextBody: |
| | | [* |
| | | // rislai Jul-17-2024 (created) |
| | | macroPlan := this.MacroPlan(); |
| | | table := recycleBin.LocalTable( relnew,Name := LocalCell_ProductionComparison::GetTableName()); |
| | | |
| | | actualDailyProductionDatas := selectset( archive,ActualDailyProductionData,data,true ); |
| | | actualDailyProductionDataIndexTree := NamedValueTree::Create(); |
| | | for( i := 0; i< actualDailyProductionDatas.Size(); i++ ){ |
| | | actualDailyProductionData := actualDailyProductionDatas.Element( i ); |
| | | actualDailyProductionDataKey := actualDailyProductionData.ProductNo() + actualDailyProductionData.ProductionDate().AsQUILL(); |
| | | actualDailyProductionDataHandle := actualDailyProductionDataIndexTree.GetHandle( actualDailyProductionDataKey ); |
| | | actualDailyProductionDataIndexTree.Root().AddChild( actualDailyProductionDataHandle,i ); |
| | | } |
| | | |
| | | localColumns := construct( LocalColumns ); |
| | | localColumnIndexTree := NamedValueTree::Create(); |
| | | traverse( this,NewOfflinePlanColumn,column,column.StartDate() >= macroPlan.StartOfPlanning().Date()){ |
| | | localColumn := table.LocalColumn( relnew,CustomDate := column.StartDate()); |
| | | localColumnHandle := localColumnIndexTree.GetHandle( column.StartDate().AsQUILL() ); |
| | | localColumns.Add( localColumn ); |
| | | localColumnIndexTree.Root().AddChild( localColumnHandle,localColumns.Size() - 1 ); |
| | | } |
| | | |
| | | traverse( this,NewOfflinePlanRow,row,row.Type() = "1" ){ |
| | | productID := row.ProductID(); |
| | | // productLine := row.ProductionLine(); |
| | | localRow := table.LocalRow( relnew,Index := table.GetRowIndexCache(),CustomName := productID ); |
| | | traverse( row,NewOfflinePlanCell,cell,cell.NewOfflinePlanColumn().StartDate() >= macroPlan.StartOfPlanning().Date() ){ |
| | | localColumnHandle := localColumnIndexTree.GetHandle( cell.NewOfflinePlanColumn().StartDate().AsQUILL() ); |
| | | localColumnIndex := guard( localColumnIndexTree.Root().Child( localColumnHandle ),null( NamedValue )); |
| | | if( not isnull( localColumnIndex )){ |
| | | actualDailyProductionDataKey := productID + cell.NewOfflinePlanColumn().StartDate().AsQUILL(); |
| | | actualDailyProductionDataHandle := actualDailyProductionDataIndexTree.GetHandle( actualDailyProductionDataKey ); |
| | | actualDailyProductionDataIndex := guard( actualDailyProductionDataIndexTree.Root().Child( actualDailyProductionDataHandle ),null( NamedValue )); |
| | | |
| | | actualDailyProductionVolume := 0.0; |
| | | if( not isnull( actualDailyProductionDataIndex )){ |
| | | actualDailyProductionData := actualDailyProductionDatas.Element( actualDailyProductionDataIndex.GetValueAsNumber() ); |
| | | actualDailyProductionVolume := actualDailyProductionData.ActualOut(); |
| | | } |
| | | localColumn := localColumns.Element( localColumnIndex.GetValueAsNumber() ); |
| | | localRow.LocalCell( relnew,LocalCell_ProductionComparison ,LocalColumn := localColumn, |
| | | Plan := cell.Quantity(),Actual := actualDailyProductionVolume ); |
| | | } |
| | | } |
| | | } |
| | | traverse( table,LocalColumn,column ){ |
| | | if( column.LocalCell( relsize ) = 0 ){ |
| | | column.Delete(); |
| | | } |
| | | } |
| | | // maxCellCount := table.LocalRow( relsize ); |
| | | |
| | | //traverse( table,LocalColumn,column ){ |
| | | // cellIndexTree := NamedValueTree::Create(); |
| | | // columnKey := column.CustomDate().AsQUILL(); |
| | | // count := 0; |
| | | // traverse( column,LocalCell,cell ){ |
| | | // rowKey := cell.LocalRow().CustomName(); |
| | | // cellHandle := cellIndexTree.GetHandle( rowKey + columnKey ); |
| | | // cellIndexTree.Root().AddChild( cellHandle,count ); |
| | | // count++; |
| | | // } |
| | | // traverse( table,LocalRow,row ){ |
| | | // rowKey := row.CustomName(); |
| | | // cellHandle := cellIndexTree.GetHandle( rowKey + columnKey ); |
| | | // cellCount := guard( cellIndexTree.Root().Child( cellHandle ),null( NamedValue )); |
| | | // if( isnull( cellCount )){ |
| | | // row.LocalCell( relnew,LocalCell_ProductionComparison ,LocalColumn := column, |
| | | // Plan := 0,Actual := 0 ); |
| | | // } |
| | | // } |
| | | //} |
| | | |
| | | traverse( table,LocalRow,row ){ |
| | | cellCountTree := NamedValueTree::Create(); |
| | | traverse( row,LocalCell,cell ){ |
| | | cellHandle := cellCountTree.GetHandle( cell.LocalColumn().CustomDate().AsQUILL()); |
| | | cellCountTree.Root().AddChild( cellHandle,0 ); |
| | | } |
| | | traverse( table,LocalColumn,column ){ |
| | | cellHandle := cellCountTree.GetHandle( column.CustomDate().AsQUILL()); |
| | | cell := guard( cellCountTree.Root().Child( cellHandle ),null( NamedValue )); |
| | | if( isnull( cell )){ |
| | | row.LocalCell( relnew,LocalCell_ProductionComparison ,LocalColumn := column,Plan := 0,Actual := 0 ); |
| | | } |
| | | } |
| | | } |
| | | |
| | | return table; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Function CalcTableName |
| | | { |
| | | TextBody: |
| | | [* |
| | | // Akari Oct-15-2024 (created) |
| | | |
| | | value := this.TableSaveTime().Format( "Y-M2-D2 H:m:s" ) |
| | | |
| | | this.TableName( value ); |
| | | *] |
| | | } |
| | |
| | | name := macroPlan.MDSMacroPlan().Description(); |
| | | |
| | | traverse( macroPlan,OfflinePlanTable,offlinePlanTable ){ |
| | | owner.OfflinePlanTableInfo( relnew,MacroPlanName := name,TableName := offlinePlanTable.SaveDateTime().Format( "Y-M2-D2 H:m:s" ),MacroPlanMDSID := mdsid ,TableSaveTime := offlinePlanTable.SaveDateTime()); |
| | | owner.OfflinePlanTableInfo( relnew,MacroPlanName := name,MacroPlanMDSID := mdsid ,TableSaveTime := offlinePlanTable.SaveDateTime()); |
| | | } |
| | | } |
| | | info( owner.OfflinePlanTableInfo( relsize ) ); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CreateNew ( |
| | | const constcontent MacroPlans macroPlans, |
| | | RecycleBin owner |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // Akari Oct-14-2024 (created) |
| | | owner.OfflinePlanTableInfo( relflush ); |
| | | info( macroPlans.Size() ); |
| | | traverse( macroPlans,Elements,macroPlan ){ |
| | | mdsid := macroPlan.MDSID(); |
| | | name := macroPlan.MDSMacroPlan().Description(); |
| | | |
| | | traverse( macroPlan,NewOfflinePlanTable,offlinePlanTable ){ |
| | | owner.OfflinePlanTableInfo( relnew,MacroPlanName := name,MacroPlanMDSID := mdsid ,TableSaveTime := offlinePlanTable.SaveDateTime()); |
| | | } |
| | | } |
| | | info( owner.OfflinePlanTableInfo( relsize ) ); |
| | | *] |
| | | } |
| | |
| | | TextBody: |
| | | [* |
| | | // rislai Jun-9-2024 (created) |
| | | firstElement := minselect( unitPeriodTimes, Elements, e, true, e.Start() ); |
| | | |
| | | start := this.MacroPlan().Start(); |
| | | timeunit := this.MacroPlan().StartOfPlanningPeriod().TimeUnit(); |
| | | maintenance := Duration::Zero(); |
| | | efficiency := 1.0; |
| | | allocation := 1.0; |
| | | |
| | | maxloadpercentage := this.MacroPlan().GlobalParameters_MP().DefaultMaxLoadPercentage(); |
| | | nrofunitopen := 1; |
| | | minloadthreshold := 0.0; |
| | | |
| | | if( not isnull( firstElement ) ){ |
| | | // To inherit the value from last unit availability while creating a new unit availability |
| | | unitavailability := firstElement.UnitAvailability(); |
| | | start := firstElement.Start(); |
| | | |
| | | if( not isnull( unitavailability ) ){ |
| | | timeunit := unitavailability.TimeUnit(); |
| | | maintenance := unitavailability.Maintenance(); |
| | | efficiency := unitavailability.Efficiency(); |
| | | allocation := unitavailability.Allocation(); |
| | | |
| | | maxloadpercentage := unitavailability.MaximumLoadPercentage(); |
| | | nrofunitopen := unitavailability.NrOfUnitsOpen(); |
| | | minloadthreshold := unitavailability.MinimumLoadThreshold(); |
| | | }else{ |
| | | timeunit := firstElement.Period_MP().TimeUnit(); |
| | | maintenance := firstElement.Maintenance(); |
| | | efficiency := firstElement.Efficiency(); |
| | | allocation := firstElement.Allocation(); |
| | | |
| | | maxloadpercentage := firstElement.MaximumLoadPercentage(); |
| | | nrofunitopen := firstElement.NrOfOpen(); |
| | | minloadthreshold := firstElement.MinimumLoadThreshold(); |
| | | } |
| | | } |
| | | |
| | | isbatchedit := unitPeriodTimes.Size() > 1; |
| | | UnitAvailability::CreateOrUpdateForUnitPeriodTimes( unitPeriodTimes, |
| | | not isbatchedit or false, |
| | | timeunit, |
| | | maintenance, |
| | | not isbatchedit or false, |
| | | efficiency, |
| | | false, |
| | | allocation, |
| | | not isbatchedit or true, |
| | | shiftPattern, |
| | | not isbatchedit or false, |
| | | maxloadpercentage, |
| | | not isbatchedit or false, |
| | | nrofunitopen, |
| | | false, |
| | | not isbatchedit or false, |
| | | minloadthreshold |
| | | ); |
| | | |
| | | //UnitAvailability::CreateOrUpdateForUnitPeriodTimes( unitPeriodTimes, |
| | | // not isbatchedit or CheckBoxBatchEditMaintenance.Checked(), |
| | | // data.TimeUnit(), |
| | | // data.Maintenance(), |
| | | // not isbatchedit or CheckBoxBatchEditEfficiency.Checked(), |
| | | // data.Efficiency(), |
| | | // false, |
| | | // data.Allocation(), |
| | | // not isbatchedit or CheckBoxBatchEditShiftPattern.Checked(), |
| | | // data.ShiftPattern(), |
| | | // not isbatchedit or CheckBoxBatchEditMaxLoadPercentage.Checked(), |
| | | // data.MaximumLoadPercentage(), |
| | | // not isbatchedit or CheckBoxBatchEditNrOfUnitsOpen.Checked(), |
| | | // data.NrOfUnitsOpen(), |
| | | // DataHolderFromThisPeriodOnward.Data(), |
| | | // not isbatchedit or CheckBoxBatchEditMinimumLoadThreshold.Checked(), |
| | | // data.MinimumLoadThreshold() |
| | | // ); |
| | | LocalTool::SetUnitShiftPattern( this.MacroPlan(),unitPeriodTimes,shiftPattern ); |
| | | *] |
| | | } |
| | |
| | | RowNr := rowNr, |
| | | SourceStockpoingPointID := TransferPlanRow::IdentifyTheFactory( t.LaneLeg().AsOriginStockingPointLeg().StockingPoint_MP() ), |
| | | TargetStockpoingPointID := TransferPlanRow::IdentifyTheFactory( t.LaneLeg().AsDestinationStockingPointLeg().StockingPoint_MP() ), |
| | | ProductID := pit.Product_MP().ID() ); |
| | | ProductID := pit.Product_MP().ID(), |
| | | Category := pit.Product_MP().ParentID() ); |
| | | } |
| | | |
| | | // æ¾å |
| | |
| | | minDateTPC := macroPlan.TransferPlanColumn( relnew, |
| | | ColumnDate := Date::MinDate() ); |
| | | traverse ( macroPlan, TransferPlanRow, tpr ) { |
| | | productCell := minDateTPC.TransferPlanCell( relnew, Value := tpr.ProductID() ); |
| | | productCell := minDateTPC.TransferPlanCell( relnew, Value := tpr.Category() + "_" + tpr.ProductID() ); |
| | | productCell.TransferPlanRow( relset, tpr ); |
| | | } |
| | | |
| | |
| | | Title: 'Inventory report' |
| | | ] |
| | | } |
| | | Component mOfflinePlanInterface |
| | | { |
| | | #keys: '[413988.0.1697411489]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'WIND_ENGINE_OFFSHORE' |
| | | Taborder: 11 |
| | | Title: 'ä¸çº¿è®¡å' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | |
| | | Image: 'LIGHTBULB' |
| | | Label: 'Output plan' |
| | | Taborder: 1 |
| | | Visible: false |
| | | ] |
| | | } |
| | | Component bAssemblyOnlinePlan |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ContextMenuInterface/mOfflinePlanInterface |
| | | Response OnClick () id:Response_MacroPlanner_ContextMenuInterface_mOfflinePlanInterface_OnClick |
| | | { |
| | | #keys: '[413988.0.1697411525]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebMenu_OnClick' |
| | | Precondition: |
| | | [* |
| | | return not isnull( MacroPlan ) and not isnull( InterfaceDataset ); |
| | | *] |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | // åæ¡£ |
| | | NewOfflinePlanCell::InterfaceArchive( MacroPlan, InterfaceDataset ); |
| | | |
| | | WebMessageBox::Success( Translations::A_VWED_Success() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | DataType: 'Archive' |
| | | Source: 'Archive' |
| | | Taborder: 0 |
| | | Transformation: 'ArchivePPA' |
| | | Transformation: 'ArchiveFile.astype( ArchivePPA )' |
| | | ] |
| | | } |
| | | ] |
| | |
| | | dhLocalOriginalFileNameCurve.Data( guard( dhOriginalFileNameCurve.Data(), "" ) ); |
| | | |
| | | // æ¿æ¢å
¨å±Curve为ä¸ä¸çCurve |
| | | previousAC := select( Archive, ArchiveCurve, tempAC, true ); |
| | | previousAC := select( Archive, ArchiveFile.astype( ArchiveCurve ), tempAC, true ); |
| | | dhBinaryDataCurve.Data( BinaryData::FromBase64EncodedString( previousAC.SourceFileBinaryValue().AsBase64EncodedString() ) ); |
| | | dhOriginalFileNameCurve.Data( previousAC.Name() ); |
| | | } else { |
| | |
| | | Taborder: 6 |
| | | ] |
| | | } |
| | | Component ButtonClearFilter id:ButtonClearFilter_414 |
| | | { |
| | | #keys: '[414996.1.137702887]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Clear' |
| | | Taborder: 8 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'structured[OfflinePlanTableInfo]' |
| | | Source: 'dhOfflinePlanTables' |
| | | DataType: 'RecycleBin' |
| | | Source: 'RecycleBin' |
| | | Taborder: 0 |
| | | Transformation: 'Elements' |
| | | Transformation: 'OfflinePlanTableInfo' |
| | | ] |
| | | } |
| | | ] |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'structured[OfflinePlanTableInfo]' |
| | | Source: 'dhOfflinePlanTables' |
| | | DataType: 'RecycleBin' |
| | | Source: 'RecycleBin' |
| | | Taborder: 0 |
| | | Transformation: 'Elements' |
| | | Transformation: 'OfflinePlanTableInfo' |
| | | ] |
| | | } |
| | | ] |
| | |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component dhOfflinePlanTables |
| | | { |
| | | #keys: '[414996.1.103241339]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[OfflinePlanTableInfo]*' |
| | | Children: |
| | | [ |
| | | Component deOfflinePlanTables |
| | | { |
| | | #keys: '[414996.1.124700546]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'RecycleBin' |
| | | Source: 'RecycleBin' |
| | | Taborder: 0 |
| | | Transformation: 'OfflinePlanTableInfo' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | Component bExport |
| | | { |
| | | #keys: '[414996.1.104721685]' |
| | |
| | | Properties: |
| | | [ |
| | | Image: 'EXPORT1' |
| | | Taborder: 5 |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component dhXMLDataListener |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 6 |
| | | ] |
| | | } |
| | | Component ButtonRibbon |
| | | { |
| | | #keys: '[414996.1.125429607]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Taborder: 3 |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | ] |
| | |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | macroPlans := ApplicationMacroPlanner.GetMacroPlans(); |
| | | OfflinePlanTableInfo::CreateNew( macroPlans,RecycleBin ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelFilter/ButtonClearFilter_414 |
| | | Response OnClick () id:Response_PanelFilter_119_ButtonClearFilter_OnClick_466 |
| | | { |
| | | #keys: '[414996.1.137702886]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | ddslGeneration.Text( "<All>" ); |
| | | ddslMQBMLB.Text( "<All>" ); |
| | | ddslPower.Text( "<All>" ) |
| | | dhFinelProduct.Data( DataHolderProduct.Data().Copy() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | products := dhCheckedProduct.Data().Copy(); |
| | | products := dhFinelProduct.Data().Copy(); |
| | | if( ddslGeneration.Text() <> "<All>" ){ |
| | | products := selectset( products,Elements,element,element.Generation() <> ddslGeneration.Text()); |
| | | products := selectset( products,Elements,element,element.Generation() = ddslGeneration.Text()); |
| | | } |
| | | if( ddslMQBMLB.Text() <> "<All>" ){ |
| | | products := selectset( products,Elements,element,element.MQBMLB() <> ddslMQBMLB.Text()); |
| | | products := selectset( products,Elements,element,element.MQBMLB() = ddslMQBMLB.Text()); |
| | | } |
| | | if( ddslPower.Text() <> "<All>" ){ |
| | | products := selectset( products,Elements,element,element.Power() <> ddslPower.Text()); |
| | | products := selectset( products,Elements,element,element.Power() = ddslPower.Text()); |
| | | } |
| | | dhFinelProduct.Data( &products ); |
| | | *] |
| | |
| | | [* |
| | | baseOfflineTableInfo := ddlBaseOfflinePlanTable.Data(); |
| | | baseMacroPlan := ApplicationMacroPlanner.GetMacroPlanByMDSID( baseOfflineTableInfo ); |
| | | baseVersion := select( baseMacroPlan ,OfflinePlanTable,table,table.SaveDateTime() = baseOfflineTableInfo.TableSaveTime() ); |
| | | baseVersion := select( baseMacroPlan ,NewOfflinePlanTable,table,table.SaveDateTime() = baseOfflineTableInfo.TableSaveTime() ); |
| | | |
| | | compareOfflineTableInfo := ddlCompareOfflinePlanTable.Data(); |
| | | compareMacroPlan := ApplicationMacroPlanner.GetMacroPlanByMDSID( compareOfflineTableInfo ); |
| | | compareVersion := select( compareMacroPlan ,OfflinePlanTable,table,table.SaveDateTime() = compareOfflineTableInfo.TableSaveTime() ); |
| | | compareVersion := select( compareMacroPlan ,NewOfflinePlanTable,table,table.SaveDateTime() = compareOfflineTableInfo.TableSaveTime() ); |
| | | |
| | | dhTable.Data( LocalCell_OfflinePlanComparison::Compared( RecycleBin,baseVersion,compareVersion )); |
| | | dhTable.Data( LocalCell_OfflinePlanComparison::ComparedNew( RecycleBin,baseVersion,compareVersion )); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | Properties: |
| | | [ |
| | | Label: 'å¼å§å¯¹æ¯' |
| | | Taborder: 3 |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component dhXMLDataListener id:dhXMLDataListener_906 |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 2 |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component bExport id:bExport_98 |
| | |
| | | Image: 'EXPORT1' |
| | | Label: '导åº' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component bDownload id:bDownload_352 |
| | | { |
| | | #keys: '[412672.0.1109203542]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'DOWNLOAD' |
| | | Label: 'ä¸è½½' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | #child: pVersionInfomation |
| | |
| | | DataType: 'Archive' |
| | | Source: 'Archive' |
| | | Taborder: 0 |
| | | Transformation: 'ArchiveBudget' |
| | | Transformation: 'ArchiveFile.astype( ArchiveBudget )' |
| | | ] |
| | | } |
| | | ] |
| | |
| | | FixedFilter: 'object.Filter( baseSelection,dateUnit )' |
| | | Source: 'Archive' |
| | | Taborder: 0 |
| | | Transformation: 'ArchiveBudget' |
| | | Transformation: 'ArchiveFile.astype( ArchiveBudget )' |
| | | ] |
| | | } |
| | | ] |
| | |
| | | DataType: 'Archive' |
| | | Source: 'Archive' |
| | | Taborder: 0 |
| | | Transformation: 'ArchiveCurve' |
| | | Transformation: 'ArchiveFile.astype(ArchiveCurve)' |
| | | ] |
| | | } |
| | | ] |
| | |
| | | FixedFilter: 'object <> baseSelection' |
| | | Source: 'Archive' |
| | | Taborder: 0 |
| | | Transformation: 'ArchiveCurve' |
| | | Transformation: 'ArchiveFile.astype( ArchiveCurve )' |
| | | ] |
| | | } |
| | | ] |
| | |
| | | DataType: 'Archive' |
| | | Source: 'Archive' |
| | | Taborder: 0 |
| | | Transformation: 'ArchiveIDS' |
| | | Transformation: 'ArchiveFile.astype( ArchiveIDS )' |
| | | ] |
| | | } |
| | | ] |
| | |
| | | FixedFilter: 'object <> baseSelection' |
| | | Source: 'Archive' |
| | | Taborder: 0 |
| | | Transformation: 'ArchiveIDS' |
| | | Transformation: 'ArchiveFile.astype( ArchiveIDS )' |
| | | ] |
| | | } |
| | | ] |
| | |
| | | DataType: 'Archive' |
| | | Source: 'Archive' |
| | | Taborder: 0 |
| | | Transformation: 'ArchivePP' |
| | | Transformation: 'ArchiveFile.astype( ArchivePP )' |
| | | ] |
| | | } |
| | | ] |
| | |
| | | FixedFilter: 'object.Filter( baseSelection,dateUnit )' |
| | | Source: 'Archive' |
| | | Taborder: 0 |
| | | Transformation: 'ArchivePP' |
| | | Transformation: 'ArchiveFile.astype( ArchivePP )' |
| | | ] |
| | | } |
| | | ] |
| | |
| | | DataType: 'Archive' |
| | | Source: 'Archive' |
| | | Taborder: 0 |
| | | Transformation: 'ArchivePPA' |
| | | Transformation: 'ArchiveFile.astype( ArchivePPA )' |
| | | ] |
| | | } |
| | | ] |
| | |
| | | FixedFilter: 'object <> baseSelection' |
| | | Source: 'Archive' |
| | | Taborder: 0 |
| | | Transformation: 'ArchivePPA' |
| | | Transformation: 'ArchiveFile.astype( ArchivePPA )' |
| | | ] |
| | | } |
| | | ] |
| | |
| | | DataType: 'Archive' |
| | | Source: 'Archive' |
| | | Taborder: 0 |
| | | Transformation: 'ArchivePR' |
| | | Transformation: 'ArchiveFile.astype(ArchivePR)' |
| | | ] |
| | | } |
| | | ] |
| | |
| | | FixedFilter: 'object <> baseSelection' |
| | | Source: 'Archive' |
| | | Taborder: 0 |
| | | Transformation: 'ArchivePR' |
| | | Transformation: 'ArchiveFile.astype(ArchivePR)' |
| | | ] |
| | | } |
| | | ] |
| | |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component dhBaseVersionPath id:dhBaseVersionPath_640 |
| | | #child: pVersionInfomationBase |
| | | #child: pVersionInfomationCompare |
| | | Component dhCompareVersion |
| | | { |
| | | #keys: '[412672.0.1119852775]' |
| | | #keys: '[414996.1.137780879]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'String*' |
| | | Properties: |
| | | [ |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component dhCompareVersionPath id:dhCompareVersionPath_582 |
| | | { |
| | | #keys: '[412672.0.1119852802]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'String*' |
| | | Databinding: 'ArchiveFile' |
| | | Properties: |
| | | [ |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component lBaseVersionName |
| | | Component dhBaseVersion |
| | | { |
| | | #keys: '[412672.0.1119853064]' |
| | | BaseType: 'WebLabel' |
| | | #keys: '[414996.1.137780892]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'ArchiveFile' |
| | | Properties: |
| | | [ |
| | | Label: 'åºåéæ±çæ¬ï¼' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component lCompareVersionName |
| | | { |
| | | #keys: '[412672.0.1119853066]' |
| | | BaseType: 'WebLabel' |
| | | Properties: |
| | | [ |
| | | Label: '对æ¯éæ±çæ¬ï¼' |
| | | Taborder: 1 |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 4 |
| | | Taborder: 3 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component pVersionInfomationBase |
| | | { |
| | | #keys: '[414996.1.137700459]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component lBaseVersionName id:lBaseVersionName_774 |
| | | { |
| | | #keys: '[414996.1.137700529]' |
| | | BaseType: 'WebLabel' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'dhBaseVersion.Data.Name' |
| | | Label: 'åºåéæ±çæ¬ï¼' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component ButtonDelete |
| | | { |
| | | #keys: '[414996.1.137420506]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'DELETE' |
| | | Label: 'Delete' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component pVersionInfomationCompare |
| | | { |
| | | #keys: '[414996.1.137700548]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component lCompareVersionName id:lCompareVersionName_456 |
| | | { |
| | | #keys: '[414996.1.137700586]' |
| | | BaseType: 'WebLabel' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'dhCompareVersion.Data.Name' |
| | | Label: '对æ¯éæ±çæ¬ï¼' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component ButtonDelete2 |
| | | { |
| | | #keys: '[414996.1.137740415]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'DELETE' |
| | | Label: 'Delete' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | |
| | | [* |
| | | products := dhFinelProduct.Data().Copy(); |
| | | if( ddslGeneration.Text() <> "<All>" ){ |
| | | products := selectset( products,Elements,element,element.Generation() <> ddslGeneration.Text()); |
| | | products := selectset( products,Elements,element,element.Generation() = ddslGeneration.Text()); |
| | | } |
| | | if( ddslMQBMLB.Text() <> "<All>" ){ |
| | | products := selectset( products,Elements,element,element.MQBMLB() <> ddslMQBMLB.Text()); |
| | | products := selectset( products,Elements,element,element.MQBMLB() = ddslMQBMLB.Text()); |
| | | } |
| | | if( ddslPower.Text() <> "<All>" ){ |
| | | products := selectset( products,Elements,element,element.Power() <> ddslPower.Text()); |
| | | products := selectset( products,Elements,element,element.Power() = ddslPower.Text()); |
| | | } |
| | | dhFinelProduct.Data( &products ); |
| | | *] |
| | |
| | | #keys: '[412672.0.1111643148]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | Precondition: |
| | | [* |
| | | return isnull( dhBaseVersion.Data() ) or isnull( dhCompareVersion.Data() ); |
| | | *] |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | |
| | | table := LocalCell_DemandComparison::Compared( RecycleBin,MacroPlan, dhBaseVersionPath.Data(),dhCompareVersionPath.Data(),lBaseVersionName.Text(),lCompareVersionName.Text() ); |
| | | table := LocalCell_DemandComparison::Compared( RecycleBin,MacroPlan, dhBaseVersion.Data().FilePath(),dhCompareVersion.Data().FilePath(),lBaseVersionName.Text(),lCompareVersionName.Text() ); |
| | | dhComparisonData.Data( table ); |
| | | *] |
| | | GroupServerCalls: false |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelOperation_568/dhXMLDataListener_906 |
| | | Response OnDataChanged () id:Response_PanelOperation_568_dhXMLDataListener_OnDataChanged |
| | | { |
| | | #keys: '[414996.1.135031114]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnDataChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | binaryValue := dhXMLDataListener.Data( ).Export(); |
| | | |
| | | Application.Download( LocalCell_DemandComparison::GetTableName() + "_" + DateTime::Now().Format( "YM2D2H2mmss" ) + ".xlsx", binaryValue.AsBinaryData() ); |
| | | |
| | | dhXMLDataListener.Data( ).Delete(); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | Body: |
| | | [* |
| | | if( CheckboxBudget.Checked() ){ |
| | | dhBaseVersionPath.Data( DropDownListBaseVersionBudget.Data().FilePath() ); |
| | | lBaseVersionName.Text( DropDownListBaseVersionBudget.Data().Name() ); |
| | | dhCompareVersionPath.Data( DropDownListCompareVersionBudget.Data().FilePath() ); |
| | | lCompareVersionName.Text( DropDownListCompareVersionBudget.Data().Name() ); |
| | | dhBaseVersion.Data( DropDownListBaseVersionBudget.Data() ); |
| | | dhCompareVersion.Data( DropDownListCompareVersionBudget.Data() ); |
| | | } |
| | | *] |
| | | } |
| | |
| | | Body: |
| | | [* |
| | | if( CheckboxCurve.Checked() ){ |
| | | dhBaseVersionPath.Data( DropDownListBaseVersionCurve.Data().FilePath() ); |
| | | lBaseVersionName.Text( DropDownListBaseVersionCurve.Data().Name() ); |
| | | dhCompareVersionPath.Data( DropDownListCompareVersionCurve.Data().FilePath() ); |
| | | lCompareVersionName.Text( DropDownListCompareVersionCurve.Data().Name() ); |
| | | dhBaseVersion.Data( DropDownListBaseVersionCurve.Data() ); |
| | | dhCompareVersion.Data( DropDownListCompareVersionCurve.Data() ); |
| | | } |
| | | *] |
| | | } |
| | |
| | | Body: |
| | | [* |
| | | if( CheckboxIDS.Checked() ){ |
| | | dhBaseVersionPath.Data( DropDownListBaseVersionIDS.Data().FilePath() ); |
| | | lBaseVersionName.Text( DropDownListBaseVersionIDS.Data().Name() ); |
| | | dhCompareVersionPath.Data( DropDownListCompareVersionIDS.Data().FilePath() ); |
| | | lCompareVersionName.Text( DropDownListCompareVersionIDS.Data().Name() ); |
| | | dhBaseVersion.Data( DropDownListBaseVersionIDS.Data() ); |
| | | dhCompareVersion.Data( DropDownListCompareVersionIDS.Data() ); |
| | | } |
| | | *] |
| | | } |
| | |
| | | Body: |
| | | [* |
| | | if( CheckboxPPA.Checked() ){ |
| | | dhBaseVersionPath.Data( DropDownListBaseVersionPPA.Data().FilePath() ); |
| | | lBaseVersionName.Text( DropDownListBaseVersionPPA.Data().Name() ); |
| | | dhCompareVersionPath.Data( DropDownListCompareVersionPPA.Data().FilePath() ); |
| | | lCompareVersionName.Text( DropDownListCompareVersionPPA.Data().Name() ); |
| | | dhBaseVersion.Data( DropDownListBaseVersionPPA.Data() ); |
| | | dhCompareVersion.Data( DropDownListCompareVersionPPA.Data() ); |
| | | } |
| | | *] |
| | | } |
| | |
| | | Body: |
| | | [* |
| | | if( CheckboxPP.Checked() ){ |
| | | dhBaseVersionPath.Data( DropDownListBaseVersionPP.Data().FilePath() ); |
| | | lBaseVersionName.Text( DropDownListBaseVersionPP.Data().Name() ); |
| | | dhCompareVersionPath.Data( DropDownListCompareVersionPP.Data().FilePath() ); |
| | | lCompareVersionName.Text( DropDownListCompareVersionPP.Data().Name() ); |
| | | dhBaseVersion.Data( DropDownListBaseVersionPP.Data() ); |
| | | dhCompareVersion.Data( DropDownListCompareVersionPP.Data() ); |
| | | } |
| | | *] |
| | | } |
| | |
| | | Body: |
| | | [* |
| | | if( CheckboxPR.Checked() ){ |
| | | dhBaseVersionPath.Data( DropDownListBaseVersionPR.Data().FilePath() ); |
| | | lBaseVersionName.Text( DropDownListBaseVersionPR.Data().Name() ); |
| | | dhCompareVersionPath.Data( DropDownListCompareVersionPR.Data().FilePath() ); |
| | | lCompareVersionName.Text( DropDownListCompareVersionPR.Data().Name() ); |
| | | dhBaseVersion.Data( DropDownListBaseVersionPR.Data() ); |
| | | dhCompareVersion.Data( DropDownListCompareVersionPR.Data() ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pVersionInfomationBase/ButtonDelete |
| | | Response OnClick () id:Response_pVersionInfomationBase_ButtonDelete_OnClick |
| | | { |
| | | #keys: '[414996.1.137612795]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | if( WebMessageBox::Question( Translations::MessageBox_ConfirmDeletion( dhBaseVersion.Name() ),Translations::MessageBox_YesNo() ) = 0 ){ |
| | | dhBaseVersion.Data().Delete(); |
| | | } |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pVersionInfomationCompare/ButtonDelete2 |
| | | Response OnClick () id:Response_pVersionInfomationCompare_ButtonDelete2_OnClick |
| | | { |
| | | #keys: '[414996.1.137612881]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | if( WebMessageBox::Question( Translations::MessageBox_ConfirmDeletion( dhBaseVersion.Name() ),Translations::MessageBox_YesNo() ) = 0 ){ |
| | | dhCompareVersion.Data().Delete(); |
| | | } |
| | | *] |
| | | } |
| | | } |
| | |
| | | } |
| | | #child: matrixEditorActionBarPage623 |
| | | #child: matrixeditorContextMenu229 |
| | | Component UserConfigurableInformation675 |
| | | { |
| | | #keys: '[413988.0.1697329605]' |
| | | BaseType: 'WebUserConfigurableInformation' |
| | | Properties: |
| | | [ |
| | | ObjectType: 'NewOfflinePlanCell' |
| | | Taborder: 5 |
| | | Tooltip: 'VALUE( object.GetNewOfflinePlanMatrixTooltip() )' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | // åæ¡£ |
| | | NewOfflinePlanCell::InterfaceArchive( MacroPlan, InterfaceDataset ); |
| | | // 忥å°å¨æä»»å¡ |
| | | NewOfflinePlanCell::SynchronizeToNewSupply( MacroPlan, dhNewOfflinePlanTable.Data() ); |
| | | |
| | | // 设置æé®ï¼é¤ä¸è½½ï¼ä¸å¯ç¨ |
| | | MacroPlan.A_PreviousScenaioName( MacroPlan.ScenarioName() ); |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | NewOfflinePlanCell::DeductionOfReplacementLoss( MacroPlan, dhNewOfflinePlanTable.Data() ); |
| | | |
| | | opt := maxselect( MacroPlan, NewOfflinePlanTable, tempNOPT, true, tempNOPT.SaveDateTime() ); |
| | | dhNewOfflinePlanTable.Data( opt ); |
| | | |
| | | WebMessageBox::Success( Translations::A_VWED_Success() ); |
| | | *] |
| | | GroupServerCalls: false |
| | |
| | | { |
| | | #keys: '[412672.1.64850982]' |
| | | BaseType: 'WebDropDownList' |
| | | Databinding: 'OfflinePlanTable' |
| | | Databinding: 'OfflinePlanTableInfo' |
| | | Children: |
| | | [ |
| | | Component DataExtractorRibbon |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'MacroPlan' |
| | | Source: 'MacroPlan' |
| | | DataType: 'RecycleBin' |
| | | Source: 'RecycleBin' |
| | | Taborder: 0 |
| | | Transformation: 'OfflinePlanTable' |
| | | Transformation: 'OfflinePlanTableInfo' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | DisplayField: 'SaveDateTime' |
| | | DisplayField: 'TableName' |
| | | Label: 'ä¸çº¿è®¡å:' |
| | | Taborder: 0 |
| | | ] |
| | |
| | | Properties: |
| | | [ |
| | | DataBinding: 'ddlOfflinePlanTable.Data.SaveDateTime' |
| | | Taborder: 2 |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | Component bExport id:bExport_298 |
| | |
| | | Properties: |
| | | [ |
| | | Image: 'EXPORT1' |
| | | Taborder: 3 |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component dhXMLDataListener id:dhXMLDataListener_273 |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 4 |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | ] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Response OnCreated () id:Response_FormOfflinePlanComparison_OnCreated |
| | | { |
| | | #keys: '[414996.1.137702202]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | macroPlans := ApplicationMacroPlanner.GetMacroPlans(); |
| | | OfflinePlanTableInfo::CreateNew( macroPlans,RecycleBin ); |
| | | *] |
| | | } |
| | | } |
| | |
| | | [* |
| | | products := dhFinelProduct.Data().Copy(); |
| | | if( ddslGeneration.Text() <> "<All>" ){ |
| | | products := selectset( products,Elements,element,element.Generation() <> ddslGeneration.Text()); |
| | | products := selectset( products,Elements,element,element.Generation() = ddslGeneration.Text()); |
| | | } |
| | | if( ddslMQBMLB.Text() <> "<All>" ){ |
| | | products := selectset( products,Elements,element,element.MQBMLB() <> ddslMQBMLB.Text()); |
| | | products := selectset( products,Elements,element,element.MQBMLB() = ddslMQBMLB.Text()); |
| | | } |
| | | if( ddslPower.Text() <> "<All>" ){ |
| | | products := selectset( products,Elements,element,element.Power() <> ddslPower.Text()); |
| | | products := selectset( products,Elements,element,element.Power() = ddslPower.Text()); |
| | | } |
| | | dhFinelProduct.Data( &products ); |
| | | *] |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | opt := ddlOfflinePlanTable.Data(); |
| | | offlineTableInfo := ddlOfflinePlanTable.Data(); |
| | | macroPlan := ApplicationMacroPlanner.GetMacroPlanByMDSID( offlineTableInfo ); |
| | | opt := select( macroPlan ,NewOfflinePlanTable,table,table.SaveDateTime() = offlineTableInfo.TableSaveTime() ); |
| | | |
| | | |
| | | dhTable.Data( opt.Comparison( RecycleBin,Archive )); |
| | | *] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelDaily id:PanelDaily_478 |
| | | { |
| | | #keys: '[414996.1.127440897]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: PanelDaily819 |
| | | Component bApply568 id:bApply568_478 |
| | | { |
| | | #keys: '[414996.1.127821084]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Apply' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | Title: 'Daily' |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelDaily819 |
| | | { |
| | | #keys: '[414996.1.126333417]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component efDaily |
| | | { |
| | | #keys: '[414996.1.126333418]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | Label: 'Recur every ' |
| | | Taborder: 0 |
| | | Text: '1' |
| | | ] |
| | | } |
| | | Component LabelDaily |
| | | { |
| | | #keys: '[414996.1.126333419]' |
| | | BaseType: 'WebLabel' |
| | | Properties: |
| | | [ |
| | | Label: 'day(s)' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component bApply |
| | | { |
| | | #keys: '[414996.1.116470621]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Apply' |
| | | Taborder: 11 |
| | | ] |
| | | } |
| | | Component ddlShiftPattern |
| | | { |
| | | #keys: '[414996.1.116430349]' |
| | |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component cbMonday |
| | | { |
| | | #keys: '[414996.1.117120493]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'Monday' |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | Component cbTuesday |
| | | { |
| | | #keys: '[414996.1.117120516]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'Tuesday' |
| | | Taborder: 5 |
| | | ] |
| | | } |
| | | Component cbWednesday |
| | | { |
| | | #keys: '[414996.1.117120539]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'Wednesday' |
| | | Taborder: 6 |
| | | ] |
| | | } |
| | | Component cbThursday |
| | | { |
| | | #keys: '[414996.1.117120576]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'Thursday' |
| | | Taborder: 7 |
| | | ] |
| | | } |
| | | Component cbFriday |
| | | { |
| | | #keys: '[414996.1.117120599]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'Friday' |
| | | Taborder: 8 |
| | | ] |
| | | } |
| | | Component cbSaturday id:cbSaturday_682 |
| | | { |
| | | #keys: '[414996.1.117120636]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'Saturday' |
| | | Taborder: 9 |
| | | ] |
| | | } |
| | | Component cbSunday |
| | | { |
| | | #keys: '[414996.1.117120659]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'Sunday' |
| | | Taborder: 10 |
| | | ] |
| | | } |
| | | #child: PanelRight445 |
| | | ] |
| | | Properties: |
| | | [ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelRight445 |
| | | { |
| | | #keys: '[414996.1.127440860]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: PanelDaily_478 |
| | | #child: PanelWeekly_791 |
| | | ] |
| | | Properties: |
| | | [ |
| | | Orientation: 'tab-top' |
| | | Taborder: 4 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelWeekly id:PanelWeekly_791 |
| | | { |
| | | #keys: '[414996.1.127440920]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component cbMonday |
| | | { |
| | | #keys: '[414996.1.127440921]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'Monday' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component cbTuesday |
| | | { |
| | | #keys: '[414996.1.127440922]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'Tuesday' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component cbWednesday |
| | | { |
| | | #keys: '[414996.1.127440923]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'Wednesday' |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component cbThursday |
| | | { |
| | | #keys: '[414996.1.127440924]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'Thursday' |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | Component cbFriday |
| | | { |
| | | #keys: '[414996.1.127440925]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'Friday' |
| | | Taborder: 5 |
| | | ] |
| | | } |
| | | Component cbSaturday |
| | | { |
| | | #keys: '[414996.1.127440926]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'Saturday' |
| | | Taborder: 6 |
| | | ] |
| | | } |
| | | Component cbSunday |
| | | { |
| | | #keys: '[414996.1.127440927]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Label: 'Sunday' |
| | | Taborder: 7 |
| | | ] |
| | | } |
| | | #child: PanelWeekly996 |
| | | Component bApply |
| | | { |
| | | #keys: '[414996.1.127910499]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Apply' |
| | | Taborder: 8 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | Title: 'Weekly' |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelWeekly996 |
| | | { |
| | | #keys: '[414996.1.127820590]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component efWeekly id:efWeekly_637 |
| | | { |
| | | #keys: '[414996.1.127820639]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | Label: 'Recur every ' |
| | | Taborder: 0 |
| | | Text: '1' |
| | | ] |
| | | } |
| | | Component LabelWeekly |
| | | { |
| | | #keys: '[414996.1.127820645]' |
| | | BaseType: 'WebLabel' |
| | | Properties: |
| | | [ |
| | | Label: 'week(s)' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelDaily_478/bApply568_478 |
| | | Response OnClick () id:Response_PanelDaily819_bApply568_OnClick_952 |
| | | { |
| | | #keys: '[414996.1.127821083]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | |
| | | skipDay := [Number]efDaily.Text(); |
| | | LocalTool::BatchSetUnitShiftPattern( dhSelectUnit.Data(),ddlShiftPattern.Data(),dsStartDate.Date(),dsEndDate.Date() ,skipDay ); |
| | | WebMessageBox::Success( "Success"); |
| | | *] |
| | | } |
| | | } |
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormProductionLineBatchSetShiftPattern/Response_PanelRight_bApply_OnClick.def ÐÞ¸Ä |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelRight/bApply |
| | | Response OnClick () id:Response_PanelRight_bApply_OnClick |
| | | #parent: PanelWeekly_791/bApply |
| | | Response OnClick () id:Response_PanelWeekly996_bApply_OnClick |
| | | { |
| | | #keys: '[414996.1.117189721]' |
| | | #keys: '[414996.1.127910498]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | |
| | | if( cbSunday.Checked() ){ |
| | | weekdays.Add( 7 ); |
| | | } |
| | | LocalTool::BatchSetUnitShiftPattern( dhSelectUnit.Data(),ddlShiftPattern.Data(),dsStartDate.Date(),dsEndDate.Date(),weekdays ); |
| | | skipWeek := [Number]efWeekly.Text(); |
| | | LocalTool::BatchSetUnitShiftPattern( dhSelectUnit.Data(),ddlShiftPattern.Data(),dsStartDate.Date(),dsEndDate.Date(),weekdays ,skipWeek ); |
| | | WebMessageBox::Success( "Success"); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component MatrixEditorPISPIP #extension |
| | | { |
| | | Children: |
| | | [ |
| | | Component UserConfigurableInformationMatrixEditorPISPIP #extension |
| | | { |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelMatrix #extension |
| | | { |
| | | Children: |
| | | [ |
| | | #child: MatrixEditorPISPIP |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: LibMacroPlannerWebUI |
| | | OrphanComponent FormProductionPlan #extension |
| | | { |
| | | Children: |
| | | [ |
| | | #child: PanelMatrix |
| | | ] |
| | | } |
| | |
| | | { |
| | | forms |
| | | { |
| | | form_legacy_2 |
| | | { |
| | | title: 'Time Capacities' |
| | | shown: true |
| | | componentID: 'FormTimeCapacities' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 13 |
| | | rowSpan: 10 |
| | | columnPosition: 1 |
| | | columnSpan: 12 |
| | | } |
| | | components |
| | | { |
| | | FormTimeCapacities_PanelMatrix |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormTimeCapacities_MatrixEditorTimeCapacities |
| | | { |
| | | gridColor: '#c4c4c4' |
| | | totalHeaderWidth: 449 |
| | | attributeHeaderWidthRatio: 0.6 |
| | | nameHeaderWidthRatio: 0.4 |
| | | columnWidth: 100 |
| | | horizontalGrid: true |
| | | verticalGrid: true |
| | | backendState |
| | | { |
| | | componentId: 'QLibMacroPlannerWebUI::FormTimeCapacities.MatrixEditorTimeCapacities' |
| | | state |
| | | { |
| | | cells |
| | | { |
| | | attributes |
| | | { |
| | | attribute_ShiftPatternName |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 0 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'ShiftPatternName' |
| | | } |
| | | attribute_Efficiency |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 1 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'Efficiency' |
| | | } |
| | | attribute_TotalAvailableCapacity |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 2 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'TotalAvailableCapacity' |
| | | } |
| | | } |
| | | } |
| | | columns |
| | | { |
| | | sorting |
| | | { |
| | | criteria: "datamember:'StartDate'" |
| | | } |
| | | } |
| | | rows |
| | | { |
| | | sorting |
| | | { |
| | | criteria: "datamember:'DisplayIndex'" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormProductionLineBatchSetShiftPattern |
| | | { |
| | | title: 'QMacroPlanner::FormProductionLineBatchSetShiftPattern' |
| | |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 1 |
| | | rowSpan: 23 |
| | | rowSpan: 12 |
| | | columnPosition: 1 |
| | | columnSpan: 9 |
| | | columnSpan: 10 |
| | | } |
| | | components |
| | | { |
| | |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormProductionLineBatchSetShiftPattern_PanelRight445 |
| | | { |
| | | sizeRatio: 1 |
| | | activeChild: 'PanelWeekly' |
| | | } |
| | | FormProductionLineBatchSetShiftPattern_PanelDaily |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormProductionLineBatchSetShiftPattern_PanelDaily819 |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormProductionLineBatchSetShiftPattern_PanelWeekly |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormProductionLineBatchSetShiftPattern_PanelWeekly996 |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | } |
| | | } |
| | | form_FormKPI |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | { |
| | | viewcontents |
| | | { |
| | | forms |
| | | { |
| | | form_legacy_1 |
| | | { |
| | | components |
| | | { |
| | | FormForecasts_DataSetLevelSalesDemands |
| | | { |
| | | column_Differnce |
| | | { |
| | | columnId: 'Differnce' |
| | | dataPath: 'Differnce' |
| | | dataType: 'real' |
| | | index: 15 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Origin |
| | | { |
| | | columnId: 'Origin' |
| | | dataPath: 'Origin' |
| | | dataType: 'string' |
| | | index: 14 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | sort: 'DESC:Origin' |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | formatversion: 2 |
| | | id: 'Forecasts' |
| | | name: 'Forecasts' |
| | | isglobal: false |
| | | isroot: false |
| | | } |
| | |
| | | FormNewOfflinePlan_MatrixEditor515 |
| | | { |
| | | gridColor: '#c4c4c4' |
| | | totalHeaderWidth: 511 |
| | | totalHeaderWidth: 507 |
| | | attributeHeaderWidthRatio: 0.6 |
| | | nameHeaderWidthRatio: 0.4 |
| | | columnWidth: 100 |
| | |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 0 |
| | | rowsubtotal: '' |
| | | columnsubtotal: 'sum' |
| | | columnsubtotal: '' |
| | | attribute: 'Quantity' |
| | | } |
| | | attribute_Order |
| | |
| | | FormNewOfflinePlan_MatrixEditor583 |
| | | { |
| | | gridColor: '#c4c4c4' |
| | | totalHeaderWidth: 510 |
| | | totalHeaderWidth: 509 |
| | | attributeHeaderWidthRatio: 0.6 |
| | | nameHeaderWidthRatio: 0.4 |
| | | columnWidth: 100 |
| | |
| | | } |
| | | } |
| | | } |
| | | form_FormGeneralSettings |
| | | { |
| | | title: 'General Settings' |
| | | shown: true |
| | | componentID: 'FormGeneralSettings' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 0 |
| | | } |
| | | components |
| | | { |
| | | FormGeneralSettings_PanelContent |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormGeneralSettings_PanelGeneralParameter |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormGeneralSettings_PanelLeadTimeDependent |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormGeneralSettings_PanelShelfLife |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormGeneralSettings_PanelSustainability |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormGeneralSettings_PanelForecastNetting |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormGeneralSettings_PanelActions |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | userconfigurableinformation |
| | | { |
| | |
| | | page: '' |
| | | group: '' |
| | | index: 0 |
| | | image: 'CHART_DONUT' |
| | | image: 'BEAR' |
| | | description: '' |
| | | } |
| | | formatversion: 2 |
| | |
| | | FormProductionLineBatchData_DataSetLevelProductionLineBatchData |
| | | { |
| | | groupDepth: -1 |
| | | sort: 'StartDate' |
| | | sort: 'DESC:Unit3.Name' |
| | | column_ImageIsEnable |
| | | { |
| | | columnId: 'ImageIsEnable' |
| | |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Unit3_Name |
| | | { |
| | | columnId: 'Unit3.Name' |
| | | dataPath: 'Unit3.Name' |
| | | dataType: 'string' |
| | | index: 5 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_ShiftPattern1_Name |
| | | { |
| | | columnId: 'ShiftPattern1.Name' |
| | | dataPath: 'ShiftPattern1.Name' |
| | | dataType: 'string' |
| | | index: 5 |
| | | index: 6 |
| | | subtotals: '' |
| | | width: 112 |
| | | } |
| | |
| | | columnId: 'ShiftPattern2.Name' |
| | | dataPath: 'ShiftPattern2.Name' |
| | | dataType: 'string' |
| | | index: 6 |
| | | index: 7 |
| | | subtotals: '' |
| | | width: 112 |
| | | } |
| | | column_ShiftPattern3_Name |
| | | { |
| | | columnId: 'ShiftPattern3.Name' |
| | | dataPath: 'ShiftPattern3.Name' |
| | | dataType: 'string' |
| | | index: 8 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | columnPosition: 1 |
| | | columnSpan: 12 |
| | | } |
| | | components: null |
| | | components |
| | | { |
| | | FormTransferPlan_pHeader |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormTransferPlan_pContent |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormTransferPlan_MatrixEditor872 |
| | | { |
| | | gridColor: '#c4c4c4' |
| | | totalHeaderWidth: 200 |
| | | attributeHeaderWidthRatio: 0.6 |
| | | nameHeaderWidthRatio: 0.4 |
| | | columnWidth: 144 |
| | | horizontalGrid: true |
| | | verticalGrid: true |
| | | backendState |
| | | { |
| | | componentId: 'QMacroPlanner::FormTransferPlan.MatrixEditor872' |
| | | state |
| | | { |
| | | cells |
| | | { |
| | | attributes |
| | | { |
| | | attribute_Value |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 0 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'Value' |
| | | } |
| | | } |
| | | } |
| | | columns |
| | | { |
| | | sorting |
| | | { |
| | | criteria: "datamember:'ColumnDate'" |
| | | } |
| | | } |
| | | rows |
| | | { |
| | | sorting |
| | | { |
| | | criteria: "datamember:'SourceStockpoingPointID';datamember:'TargetStockpoingPointID';datamember:'ProductID'" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormOptimizerPuzzles |
| | | { |