已重命名5个文件
已修改10个文件
已添加24个文件
已删除1个文件
| | |
| | | #keys: '3[413988.0.1296697094][413988.0.1296697093][413988.0.1296697095]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: OfflinePlanColumn |
| | | OwningSide: 'Owned' |
| | | OwningSide: 'Reference' |
| | | } |
| | | } |
| | |
| | | #keys: '3[413988.0.1296697107][413988.0.1296697106][413988.0.1296697108]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: OfflinePlanRow |
| | | OwningSide: 'Reference' |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation OfflinePlanImportData_MacroPlan_MacroPlan_OfflinePlanImportData |
| | | { |
| | | #keys: '1[413988.0.1558681405]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide MacroPlan |
| | | { |
| | | #keys: '3[413988.0.1558681407][413988.0.1558681406][413988.0.1558681408]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: OfflinePlanImportData |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide OfflinePlanImportData |
| | | { |
| | | #keys: '3[413988.0.1558681410][413988.0.1558681409][413988.0.1558681411]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: MacroPlan |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute IsQuantity |
| | | { |
| | | #keys: '3[413988.0.1565814440][413988.0.1565814439][413988.0.1565814441]' |
| | | ValueType: Boolean |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Function CalcIsQuantity |
| | | { |
| | | TextBody: |
| | | [* |
| | | // lihongji Sep-27-2024 (created) |
| | | |
| | | value := ifexpr( this.OfflinePlanRow().Type() = "1" and this.OfflinePlanColumn().ColumnIndex() > 1 and this.Quantity() > 0, true, false ); |
| | | |
| | | this.IsQuantity( value ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Function CalcQuantity |
| | | { |
| | | TextBody: |
| | | [* |
| | | // lihongji Sep-27-2024 (created) |
| | | |
| | | value := ifexpr( ( this.OfflinePlanRow().Type() = "1" or this.OfflinePlanRow().Type() = "2" ) and this.OfflinePlanColumn().ColumnIndex() > 1, |
| | | guard( [Number]this.Value(), 0 ), 0 ); |
| | | |
| | | this.Quantity( value ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method QuantityGreaterThan0 ( |
| | | String type, |
| | | String pl |
| | | ) as Boolean |
| | | { |
| | | TextBody: 'return this.OfflinePlanRow().Type() = type and this.OfflinePlanRow().ProductionLine() = pl and this.Quantity() > 0.0;' |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Download ( |
| | | MacroPlan macroPlan |
| | | MacroPlan macroPlan, |
| | | OfflinePlanRows selectedOPRs |
| | | ) as BinaryValue |
| | | { |
| | | TextBody: |
| | |
| | | |
| | | opt := maxselect( macroPlan, OfflinePlanTable, tempOPT, true, tempOPT.SaveDateTime() ); |
| | | opcs := selectsortedset( opt, OfflinePlanColumn, tempOPC, true, tempOPC.ColumnDate() ); |
| | | oprs := selectsortedset( opt, OfflinePlanRow, tempOPR, true, tempOPR.ProductionLine(), tempOPR.ProductID(), tempOPR.Type() ); |
| | | oprs := selectsortedset( selectedOPRs, Elements, tempOPR, true, tempOPR.ProductionLine(), tempOPR.ProductID(), tempOPR.Type() ); |
| | | traverse ( opcs, Elements, opc ) { |
| | | column := xmlDOM.CreateElement( "column" ); |
| | | name := xmlDOM.CreateElement( "name" ); |
| | | type := xmlDOM.CreateElement( "type" ); |
| | | name.TextContent( ifexpr( opc.ColumnDate() < macroPlan.StartOfPlanning().Date(), "", opc.ColumnDate().Format( "Y/M2/D2" ) ) ); |
| | | name.TextContent( ifexpr( opc.ColumnDate() < macroPlan.StartOfPlanning().Date(), "*", opc.ColumnDate().Format( "Y/M2/D2" ) ) ); |
| | | type.TextContent( "String" ); |
| | | column.AppendChild( name ); |
| | | column.AppendChild( type ); |
| | |
| | | } |
| | | |
| | | // èµå¼åå
æ ¼ |
| | | cellQuantity := opc.OfflinePlanCell( relnew, Value := [String]ns.Quantity().Round( 0 ), Shift := ns.PeriodTask_MP().UnitPeriod().astype( UnitPeriodTimeBase ).ShiftPattern().Name(), Quantity := ns.Quantity() ); |
| | | cellQuantity.OfflinePlanRow( relset, oprQuantity ); |
| | | cellOrder := opc.OfflinePlanCell( relnew, Value := "åå·" + [String]ns.Quantity().Round( 0 ) + "_" + [String]( ns.ProductInStockingPointInPeriodPlanningLeaf().InventoryLevelEnd() - ns.ProductInStockingPointInPeriodPlanningLeaf().MinInventoryLevel() ), |
| | | Quantity := ns.Quantity(), |
| | | InventoryWeight := ns.ProductInStockingPointInPeriodPlanningLeaf().InventoryLevelEnd() - ns.ProductInStockingPointInPeriodPlanningLeaf().MinInventoryLevel() ); |
| | | cellOrder.OfflinePlanRow( relset, oprOrder ); |
| | | cellQuantity := oprQuantity.OfflinePlanCell( relnew, Value := [String]ns.Quantity().Round( 0 ), Shift := ns.PeriodTask_MP().UnitPeriod().astype( UnitPeriodTimeBase ).ShiftPattern().Name() ); |
| | | cellQuantity.OfflinePlanColumn( relset, opc ); |
| | | cellOrder := oprOrder.OfflinePlanCell( relnew, |
| | | // Value := "åå·" + [String]ns.Quantity().Round( 0 ) + "_" + [String]( ns.ProductInStockingPointInPeriodPlanningLeaf().InventoryLevelEnd() - ns.ProductInStockingPointInPeriodPlanningLeaf().MinInventoryLevel() ), |
| | | Value := [String]ns.Quantity().Round( 0 ), |
| | | InventoryWeight := ns.ProductInStockingPointInPeriodPlanningLeaf().InventoryLevelEnd() - ns.ProductInStockingPointInPeriodPlanningLeaf().MinInventoryLevel() ); |
| | | cellOrder.OfflinePlanColumn( relset, opc ); |
| | | } |
| | | } |
| | | |
| | |
| | | typeOPC := opt.OfflinePlanColumn( relnew, ColumnDate := macroPlan.StartOfPlanning().Date() - 1 ); |
| | | traverse ( opt, OfflinePlanRow, opr ) { |
| | | if ( opr.Type() = "0" ) { |
| | | productLineCell := productOPC.OfflinePlanCell( relnew, Value := opr.ProductionLine() ); |
| | | productLineCell.OfflinePlanRow( relset, opr ); |
| | | productLineCell := opr.OfflinePlanCell( relnew, Value := opr.ProductionLine() ); |
| | | productLineCell.OfflinePlanColumn( relset, productOPC ); |
| | | } else if( opr.Type() = "1" ) { |
| | | productCell := productOPC.OfflinePlanCell( relnew, Value := opr.ProductID() + ifexpr( opr.Notes() = "", "", "-" + opr.Notes() ) ); |
| | | productCell.OfflinePlanRow( relset, opr ); |
| | | typeCell := typeOPC.OfflinePlanCell( relnew, Value := "Quantity" ); |
| | | typeCell.OfflinePlanRow( relset, opr ); |
| | | productCell := opr.OfflinePlanCell( relnew, Value := opr.ProductID() + ifexpr( opr.Notes() = "", "", "-" + opr.Notes() ) ); |
| | | productCell.OfflinePlanColumn( relset, productOPC ); |
| | | typeCell := opr.OfflinePlanCell( relnew, Value := "Quantity" ); |
| | | typeCell.OfflinePlanColumn( relset, typeOPC ); |
| | | } else if ( opr.Type() = "2" ) { |
| | | typeCell := typeOPC.OfflinePlanCell( relnew, Value := "Order" ); |
| | | typeCell.OfflinePlanRow( relset, opr ); |
| | | typeCell := opr.OfflinePlanCell( relnew, Value := "Order" ); |
| | | typeCell.OfflinePlanColumn( relset, typeOPC ); |
| | | } else if ( opr.Type() = "3" ) { |
| | | totalCell := productOPC.OfflinePlanCell( relnew, Value := "å计" ); |
| | | totalCell.OfflinePlanRow( relset, opr ); |
| | | totalCell := typeOPC.OfflinePlanCell( relnew, Value := "æ»é" ); |
| | | totalCell.OfflinePlanRow( relset, opr ); |
| | | totalCell := opr.OfflinePlanCell( relnew, Value := "å计" ); |
| | | totalCell.OfflinePlanColumn( relset, productOPC ); |
| | | totalCell := opr.OfflinePlanCell( relnew, Value := "æ»é" ); |
| | | totalCell.OfflinePlanColumn( relset, typeOPC ); |
| | | } else if ( opr.Type() = "4" ) { |
| | | shiftCell := typeOPC.OfflinePlanCell( relnew, Value := "çæ¬¡" ); |
| | | shiftCell.OfflinePlanRow( relset, opr ); |
| | | shiftCell := opr.OfflinePlanCell( relnew, Value := "çæ¬¡" ); |
| | | shiftCell.OfflinePlanColumn( relset, typeOPC ); |
| | | } else if ( opr.Type() = "5" ) { |
| | | shiftStartDateCell := typeOPC.OfflinePlanCell( relnew, Value := "çæ¬¡å¼å§æ¶é´" ); |
| | | shiftStartDateCell.OfflinePlanRow( relset, opr ); |
| | | shiftStartDateCell := opr.OfflinePlanCell( relnew, Value := "çæ¬¡å¼å§æ¶é´" ); |
| | | shiftStartDateCell.OfflinePlanColumn( relset, typeOPC ); |
| | | } else if ( opr.Type() = "6" ) { |
| | | shiftEndDateCell := typeOPC.OfflinePlanCell( relnew, Value := "çæ¬¡ç»ææ¶é´" ); |
| | | shiftEndDateCell.OfflinePlanRow( relset, opr ); |
| | | shiftEndDateCell := opr.OfflinePlanCell( relnew, Value := "çæ¬¡ç»ææ¶é´" ); |
| | | shiftEndDateCell.OfflinePlanColumn( relset, typeOPC ); |
| | | } |
| | | } |
| | | |
| | |
| | | // è¡¥å
¨æ»é |
| | | traverse ( totalOPRs, Elements, totalOPR ) { |
| | | total := sum( opc, OfflinePlanCell, tempOPC, tempOPC.OfflinePlanRow().ProductionLine() = totalOPR.ProductionLine() and tempOPC.OfflinePlanRow().Type() = "1", [Real]tempOPC.Value() ); |
| | | totalCell := opc.OfflinePlanCell( relnew, Value := [String]total ); |
| | | totalCell.OfflinePlanRow( relset, totalOPR ); |
| | | totalCell := totalOPR.OfflinePlanCell( relnew, Value := [String]total ); |
| | | totalCell.OfflinePlanColumn( relset, opc ); |
| | | } |
| | | |
| | | // &çæ¬¡ |
| | | traverse ( shiftOPRs, Elements, shiftOPR ) { |
| | | shift := select( opc, OfflinePlanCell, tempOPC, tempOPC.OfflinePlanRow().ProductionLine() = shiftOPR.ProductionLine() and tempOPC.OfflinePlanRow().Type() = "1" ); |
| | | if ( not isnull( shift ) ) { |
| | | shiftCell := opc.OfflinePlanCell( relnew, Value := shift.Shift() ); |
| | | shiftCell.OfflinePlanRow( relset, shiftOPR ); |
| | | shiftCell := shiftOPR.OfflinePlanCell( relnew, Value := shift.Shift() ); |
| | | shiftCell.OfflinePlanColumn( relset, opc ); |
| | | } |
| | | } |
| | | |
| | |
| | | shift := select( opc, OfflinePlanCell, tempOPC, tempOPC.OfflinePlanRow().ProductionLine() = ssdOPR.ProductionLine() and tempOPC.OfflinePlanRow().Type() = "1" ); |
| | | if ( not isnull( shift ) ) { |
| | | startDate := guard( minselect( macroPlan, ShiftPattern.ShiftDayTime, tempSDT, tempSDT.ShiftPattern().Name() = shift.Shift(), tempSDT.Sequence() ).StartDateTime().Format( "H:m" ), "" ); |
| | | startDateCell := opc.OfflinePlanCell( relnew, Value := startDate ); |
| | | startDateCell.OfflinePlanRow( relset, ssdOPR ); |
| | | startDateCell := ssdOPR.OfflinePlanCell( relnew, Value := startDate ); |
| | | startDateCell.OfflinePlanColumn( relset, opc ); |
| | | } |
| | | } |
| | | |
| | |
| | | shift := select( opc, OfflinePlanCell, tempOPC, tempOPC.OfflinePlanRow().ProductionLine() = sedOPR.ProductionLine() and tempOPC.OfflinePlanRow().Type() = "1" ); |
| | | if ( not isnull( shift ) ) { |
| | | endDate := guard( maxselect( macroPlan, ShiftPattern.ShiftDayTime, tempSDT, tempSDT.ShiftPattern().Name() = shift.Shift(), tempSDT.Sequence() ).EndDateTIme().Format( "H:m" ), "" ); |
| | | endDateCell := opc.OfflinePlanCell( relnew, Value := endDate ); |
| | | endDateCell.OfflinePlanRow( relset, sedOPR ); |
| | | endDateCell := sedOPR.OfflinePlanCell( relnew, Value := endDate ); |
| | | endDateCell.OfflinePlanColumn( relset, opc ); |
| | | } |
| | | } |
| | | } |
| | |
| | | traverse ( opt, OfflinePlanColumn, opc ) { |
| | | cell := select( opr, OfflinePlanCell, tempOPC, tempOPC.OfflinePlanColumn() = opc ); |
| | | if ( isnull( cell ) ) { |
| | | cell := opc.OfflinePlanCell( relnew, Value := "" ); |
| | | cell.OfflinePlanRow( relset, opr ); |
| | | cell := opr.OfflinePlanCell( relnew, Value := "" ); |
| | | cell.OfflinePlanColumn( relset, opc ); |
| | | } |
| | | } |
| | | } |
| | | |
| | | Transaction::Transaction().Propagate( attribute( OfflinePlanCell, Quantity ) ); |
| | | Transaction::Transaction().PropagateAll(); |
| | | |
| | | // 设置çäº§é¡ºåº |
| | |
| | | nextColumn := indexColumn.NextColumn(); |
| | | |
| | | while ( not isnull( indexColumn.NextColumn() ) |
| | | // and indexColumn.ColumnDate() <= Date::Construct( 2024, 4, 16 ) // æµè¯å®é
åºæ¯æ¶å¯ä»¥è¿æ»¤ |
| | | // and indexColumn.ColumnDate() <= Date::Construct( 2020, 4, 1 ) // æµè¯å®é
åºæ¯æ¶å¯ä»¥è¿æ»¤ |
| | | ) { |
| | | productionSerialNumber := 1; |
| | | opcs := selectsortedset( indexColumn, OfflinePlanCell, tempOPC, tempOPC.FindType( "2", pl ), tempOPC.InventoryWeight() ); |
| | | initialSize := opcs.Size(); |
| | | if ( opcs.Size() > 0 ) { |
| | | info( "计åå¼å§æ¶é´ï¼", macroPlan.StartOfPlanning().Date().Format( "Y-M2-D2" ), " ç´¢å¼æ¶é´ï¼", indexDate.Format( "Y-M2-D2" ), " 个æ°ï¼", opcs.Size() ); |
| | | if ( opcs.Size() > 0 ) { |
| | | // å¤å®1 |
| | | previousOPC := maxselect( previousColumn, OfflinePlanCell, tempOPC, tempOPC.FindType( "2", pl ), tempOPC.ProductionSerialNumber() ); |
| | | if ( isnull( previousOPC ) or indexColumn.ColumnDate() = macroPlan.StartOfPlanning().Date() ) { |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute IsShow |
| | | { |
| | | #keys: '3[413988.0.1565821671][413988.0.1565821670][413988.0.1565821672]' |
| | | ValueType: Boolean |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | ISOValue: 'true' |
| | | TargetAttribute: IsShow |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Function CalcColumnIndex |
| | | { |
| | | TextBody: |
| | | [* |
| | | // lihongji Sep-27-2024 (created) |
| | | |
| | | value := guard( this.PreviousColumn().ColumnIndex() + 1, 0 ) |
| | | |
| | | this.ColumnIndex( value ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Date |
| | | { |
| | | #keys: '3[413988.0.1558681449][413988.0.1558681448][413988.0.1558681450]' |
| | | ValueType: Date |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Order |
| | | { |
| | | #keys: '3[413988.0.1558681429][413988.0.1558681428][413988.0.1558681430]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ProductID |
| | | { |
| | | #keys: '3[413988.0.1558681419][413988.0.1558681418][413988.0.1558681420]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Quantity |
| | | { |
| | | #keys: '3[413988.0.1558681439][413988.0.1558681438][413988.0.1558681440]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod UpdateCell ( |
| | | GeneralExcelImportAndExportDataTable table, |
| | | GeneralExcelImportAndExportDataRow row, |
| | | OfflinePlanTable opt, |
| | | OfflinePlanRow opr |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | traverse ( table, GeneralExcelImportAndExportDataColumn, column ) { |
| | | if ( column.ColumnIndex() = 0 ) { |
| | | cell := select( column, GeneralExcelImportAndExportDataCell, tempColumn, tempColumn.GeneralExcelImportAndExportDataRow() = row ); |
| | | opc := select( opt, OfflinePlanColumn, tempOPC, tempOPC.ColumnIndex() = 0 ); |
| | | opcell := opr.OfflinePlanCell( relnew, Value := cell.Value() ); |
| | | opcell.OfflinePlanColumn( relset, opc ); |
| | | } else if ( column.ColumnIndex() = 1 ) { |
| | | cell := select( column, GeneralExcelImportAndExportDataCell, tempColumn, tempColumn.GeneralExcelImportAndExportDataRow() = row ); |
| | | opc := select( opt, OfflinePlanColumn, tempOPC, tempOPC.ColumnIndex() = 1 ); |
| | | opcell := opr.OfflinePlanCell( relnew, Value := cell.Value() ); |
| | | opcell.OfflinePlanColumn( relset, opc ); |
| | | } else { |
| | | cell := select( column, GeneralExcelImportAndExportDataCell, tempColumn, tempColumn.GeneralExcelImportAndExportDataRow() = row ); |
| | | opc := select( opt, OfflinePlanColumn, tempOPC, tempOPC.ColumnName() = column.Name() ); |
| | | opcell := opr.OfflinePlanCell( relnew, Value := cell.Value() ); |
| | | opcell.OfflinePlanColumn( relset, opc ); |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Upload ( |
| | | MacroPlan macroPlan, |
| | | OfflinePlanTable opt, |
| | | GeneralExcelImportAndExportDataTable table |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | indexUnitID := ""; |
| | | indexProductID := ""; |
| | | |
| | | traverse ( table, GeneralExcelImportAndExportDataRow, row ) { |
| | | firstColumn := select( table, GeneralExcelImportAndExportDataColumn, tempC, tempC.ColumnIndex() = 0 ); |
| | | secondColumn := select( table, GeneralExcelImportAndExportDataColumn, tempC, tempC.ColumnIndex() = 1 ); |
| | | |
| | | firstCell := select( row, GeneralExcelImportAndExportDataCell, tempC, tempC.GeneralExcelImportAndExportDataColumn() = firstColumn ); |
| | | u := select( macroPlan, Unit, tempU, tempU.ID() = firstCell.Value() ); |
| | | product := select( macroPlan, Product_MP, tempPMP, tempPMP.ID() = firstCell.Value() ); |
| | | |
| | | secondCell := select( row, GeneralExcelImportAndExportDataCell, tempC, tempC.GeneralExcelImportAndExportDataColumn() = secondColumn ); |
| | | |
| | | if ( not isnull( u ) and secondCell.Value() = "" ) { |
| | | indexUnitID := u.ID(); |
| | | opr := select( opt, OfflinePlanRow, tempOPR, tempOPR.ProductionLine() = indexUnitID and tempOPR.ProductID() = "" and tempOPR.Type() = "0" ); |
| | | opr.OfflinePlanCell( relflush ); |
| | | |
| | | OfflinePlanImportData::UpdateCell( table, row, opt, opr ); |
| | | } else if ( not isnull( product ) and secondCell.Value() = "Quantity" ) { |
| | | indexProductID := product.ID(); |
| | | opr := select( opt, OfflinePlanRow, tempOPR, tempOPR.ProductionLine() = indexUnitID and tempOPR.ProductID() = indexProductID and tempOPR.Type() = "1" ); |
| | | opr.OfflinePlanCell( relflush ); |
| | | |
| | | OfflinePlanImportData::UpdateCell( table, row, opt, opr ); |
| | | } else if ( isnull( product ) and secondCell.Value() = "Order" ) { |
| | | opr := select( opt, OfflinePlanRow, tempOPR, tempOPR.ProductionLine() = indexUnitID and tempOPR.ProductID() = indexProductID and tempOPR.Type() = "2" ); |
| | | opr.OfflinePlanCell( relflush ); |
| | | |
| | | OfflinePlanImportData::UpdateCell( table, row, opt, opr ); |
| | | } else if ( firstCell.Value() = "å计" and secondCell.Value() = "æ»é" ) { |
| | | opr := select( opt, OfflinePlanRow, tempOPR, tempOPR.ProductionLine() = indexUnitID and tempOPR.ProductID() = "Z" and tempOPR.Type() = "3" ); |
| | | opr.OfflinePlanCell( relflush ); |
| | | |
| | | OfflinePlanImportData::UpdateCell( table, row, opt, opr ); |
| | | } else if ( firstCell.Value() = "" and secondCell.Value() = "çæ¬¡" ) { |
| | | opr := select( opt, OfflinePlanRow, tempOPR, tempOPR.ProductionLine() = indexUnitID and tempOPR.ProductID() = "Z" and tempOPR.Type() = "4" ); |
| | | opr.OfflinePlanCell( relflush ); |
| | | |
| | | OfflinePlanImportData::UpdateCell( table, row, opt, opr ); |
| | | } else if ( firstCell.Value() = "" and secondCell.Value() = "çæ¬¡å¼å§æ¶é´" ) { |
| | | opr := select( opt, OfflinePlanRow, tempOPR, tempOPR.ProductionLine() = indexUnitID and tempOPR.ProductID() = "Z" and tempOPR.Type() = "5" ); |
| | | opr.OfflinePlanCell( relflush ); |
| | | |
| | | OfflinePlanImportData::UpdateCell( table, row, opt, opr ); |
| | | } else if ( firstCell.Value() = "" and secondCell.Value() = "çæ¬¡ç»ææ¶é´" ) { |
| | | opr := select( opt, OfflinePlanRow, tempOPR, tempOPR.ProductionLine() = indexUnitID and tempOPR.ProductID() = "Z" and tempOPR.Type() = "6" ); |
| | | opr.OfflinePlanCell( relflush ); |
| | | |
| | | OfflinePlanImportData::UpdateCell( table, row, opt, opr ); |
| | | } else { |
| | | error( "导å
¥å¤±è´¥ï¼æ°æ®å¼å¸¸" ); |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type OfflinePlanImportData |
| | | { |
| | | #keys: '5[413988.0.1558681402][413988.0.1558681400][0.0.0][413988.0.1558681401][413988.0.1558681403]' |
| | | BaseType: Object |
| | | StructuredName: 'OfflinePlanImportDatas' |
| | | } |
| | |
| | | Attribute Notes |
| | | { |
| | | #keys: '3[415754.0.180041713][415754.0.180041712][415754.0.180041714]' |
| | | Description: '4ä½ç ' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | TypeRepresentation OfflinePlanCell |
| | | { |
| | | AttributeRepresentation Value |
| | | { |
| | | AttributeKey: '[413988.0.1296697079]' |
| | | Conditional: |
| | | [ |
| | | DataRepresentation.Conditional |
| | | { |
| | | BackgroundColor: '$FF3399' |
| | | ConditionBody: 'object.IsQuantity()' |
| | | ConversionBody: '' |
| | | DefaultBackgroundColor: false |
| | | InheritConversion: false |
| | | } |
| | | ] |
| | | } |
| | | RelationRepresentation OfflinePlanColumn { RelationKey: '[413988.0.1296697090]' Visibility: 'Normal' } |
| | | } |
| | |
| | | Component ComponentMenu702 { #keys: '[413988.0.1234424010]' BaseType: 'ComponentMenu' Properties: [ ComponentType: 'frmStandardAnalysis822' Text: 'Interface Dataset' ] } |
| | | Component menuSeparator891 { #keys: '[413988.0.1263894630]' BaseType: 'Menu' Properties: [ Separator: true ] } |
| | | Component MenuWholeShift { #keys: '[413988.0.1263894682]' BaseType: 'Menu' Properties: [ Image: 'FISH_BOWL' Text: 'æµè¯æ´ç' ] } |
| | | Component menuSeparator604 { #keys: '[413988.0.1559834087]' BaseType: 'Menu' Properties: [ Separator: true ] } |
| | | Component ComponentMenu710 { #keys: '[413988.0.1559834106]' BaseType: 'ComponentMenu' Properties: [ ComponentType: 'frmStandardAnalysis627' Text: '' ] } |
| | | ] |
| | | Properties: |
| | | [ |
| | |
| | | c: ComponentMenu469 |
| | | c: ComponentMenu357 |
| | | c: ComponentMenu702 |
| | | c: ComponentMenu710 |
| | | c: menuSeparator222 |
| | | c: ComponentMenu347 |
| | | c: menuSeparator891 |
| | | c: MenuWholeShift |
| | | c: menuSeparator604 |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component swTop |
| | | { |
| | | #keys: '[530.0.3531806]' |
| | | BaseType: 'swTop' |
| | | IsDerived: true |
| | | Children: |
| | | [ |
| | | Component spTopLeft |
| | | { |
| | | #keys: '[530.0.3531807]' |
| | | BaseType: 'spTopLeft' |
| | | IsDerived: true |
| | | Children: |
| | | [ |
| | | Component Analysis |
| | | { |
| | | #keys: '[530.0.3532065]' |
| | | BaseType: 'Analysis' |
| | | IsDerived: true |
| | | Properties: |
| | | [ |
| | | GlobalInstance: 'RecycleBin' |
| | | ] |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component swTopMost |
| | | { |
| | | #keys: '[530.0.3531801]' |
| | | BaseType: 'swTopMost' |
| | | IsDerived: true |
| | | Children: |
| | | [ |
| | | Component SplitterPane1 |
| | | { |
| | | #keys: '[530.0.3531802]' |
| | | BaseType: 'SplitterPane1' |
| | | IsDerived: true |
| | | Children: |
| | | [ |
| | | #child: swTop |
| | | ] |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlanner |
| | | OrphanComponent frmStandardAnalysis627 |
| | | { |
| | | #keys: '[413988.0.1559834123]' |
| | | BaseType: 'frmStandardAnalysis' |
| | | Children: |
| | | [ |
| | | #child: swTopMost |
| | | ] |
| | | Properties: |
| | | [ |
| | | Title: 'RecycleBin' |
| | | ] |
| | | } |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'OfflinePlanTable' |
| | | FilterArguments: 'entities:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderCheckedEntities' |
| | | FixedFilter: 'object.Filter( entities )' |
| | | Source: 'dhOfflinePlanTable' |
| | | DataType: 'structured[OfflinePlanRow]' |
| | | Source: 'dhSelectedOfflinePlanRow' |
| | | Taborder: 0 |
| | | Transformation: 'OfflinePlanRow' |
| | | Transformation: 'Elements' |
| | | ] |
| | | } |
| | | ] |
| | |
| | | Properties: |
| | | [ |
| | | DataType: 'OfflinePlanTable' |
| | | FixedFilter: 'object.IsShow()' |
| | | Source: 'dhOfflinePlanTable' |
| | | Taborder: 0 |
| | | Transformation: 'OfflinePlanColumn' |
| | |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component dhSelectedOfflinePlanRow |
| | | { |
| | | #keys: '[413988.0.1557550767]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[OfflinePlanRow]*' |
| | | Children: |
| | | [ |
| | | Component deSelectedOfflinePlanRow |
| | | { |
| | | #keys: '[413988.0.1557550817]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'OfflinePlanTable' |
| | | FilterArguments: 'entities:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderCheckedEntities' |
| | | FixedFilter: 'object.Filter( entities )' |
| | | Source: 'dhOfflinePlanTable' |
| | | Taborder: 0 |
| | | Transformation: 'OfflinePlanRow' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | |
| | | Quintiq file version 2.0 |
| | | Component pHeader |
| | | { |
| | | #keys: '[413988.0.1296872680]' |
| | | #keys: '[413988.0.1568330469]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component bRefresh |
| | | { |
| | | #keys: '[413988.0.1296860898]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'REFRESH' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component bDownload |
| | | { |
| | | #keys: '[413988.0.1296875316]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Download' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component bDeductionOfReplacementLoss |
| | | { |
| | | #keys: '[413988.0.1297911732]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Deduction of replacement loss' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component bRestore |
| | | { |
| | | #keys: '[413988.0.1297911774]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Restore' |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component bSaveAsDraft |
| | | { |
| | | #keys: '[413988.0.1297973728]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Save as draft' |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | Component bConfirm |
| | | { |
| | | #keys: '[413988.0.1297973782]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Confirm' |
| | | Taborder: 5 |
| | | ] |
| | | } |
| | | #child: pHeader1_799 |
| | | #child: pHeader2 |
| | | ] |
| | | Properties: |
| | | [ |
| | | Border: true |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component pHeader1 id:pHeader1_799 |
| | | { |
| | | #keys: '[413988.0.1568330588]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component bRefresh |
| | | { |
| | | #keys: '[413988.0.1568330589]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'REFRESH' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component bDownload |
| | | { |
| | | #keys: '[413988.0.1568330590]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Download' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component bDeductionOfReplacementLoss |
| | | { |
| | | #keys: '[413988.0.1568330591]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Deduction of replacement loss' |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component bRestore |
| | | { |
| | | #keys: '[413988.0.1568330592]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Restore' |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | Component bSaveAsDraft |
| | | { |
| | | #keys: '[413988.0.1568330593]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Save as draft' |
| | | Taborder: 5 |
| | | ] |
| | | } |
| | | Component bConfirm |
| | | { |
| | | #keys: '[413988.0.1568330594]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Confirm' |
| | | Taborder: 6 |
| | | ] |
| | | } |
| | | Component bImport |
| | | { |
| | | #keys: '[413988.0.1568330595]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Import' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component pHeader2 |
| | | { |
| | | #keys: '[413988.0.1568330735]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component sDateFilter |
| | | { |
| | | #keys: '[413988.0.1567271085]' |
| | | BaseType: 'WebSlider' |
| | | Properties: |
| | | [ |
| | | NumberOfColumns: 100 |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Taborder: 1 |
| | | ] |
| | | } |
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader_bConfirm_OnClick.def ÐÞ¸Ä |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pHeader/bConfirm |
| | | Response OnClick () id:Response_pHeader_bConfirm_OnClick |
| | | #parent: pHeader1_799/bConfirm |
| | | Response OnClick () id:Response_pHeader1_799_bConfirm_OnClick |
| | | { |
| | | #keys: '[413988.0.1297974240]' |
| | | #keys: '[413988.0.1568330582]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | Precondition: |
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader_bDeductionOfReplacementLoss_OnClick.def ÐÞ¸Ä |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pHeader/bDeductionOfReplacementLoss |
| | | Response OnClick () id:Response_pHeader_bDeductionOfReplacementLoss_OnClick |
| | | #parent: pHeader1_799/bDeductionOfReplacementLoss |
| | | Response OnClick () id:Response_pHeader1_799_bDeductionOfReplacementLoss_OnClick |
| | | { |
| | | #keys: '[413988.0.1297973984]' |
| | | #keys: '[413988.0.1568330585]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | Precondition: |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pHeader1_799/bDownload |
| | | Response OnClick () id:Response_pHeader1_799_bDownload_OnClick |
| | | { |
| | | #keys: '[413988.0.1568330586]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | Precondition: |
| | | [* |
| | | return not isnull( MacroPlan ); |
| | | *] |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | binaryValue := OfflinePlanCell::Download( MacroPlan, dhSelectedOfflinePlanRow.Data() ); |
| | | |
| | | Application.Download( "Offline plan.xlsx", binaryValue.AsBinaryData() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pHeader1_799/bImport |
| | | Response OnClick () id:Response_pHeader1_799_bImport_OnClick |
| | | { |
| | | #keys: '[413988.0.1568330581]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | Precondition: |
| | | [* |
| | | return not isnull( MacroPlan ); |
| | | *] |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | try { |
| | | uploadJsonString := Application.GetFile(); |
| | | if ( uploadJsonString <> "" ) { |
| | | uploadJson := JSON::Parse( uploadJsonString ); |
| | | Archive::VerifyTheFileName( uploadJson ); |
| | | |
| | | fileName := uploadJson.Get( "name" ).GetString(); |
| | | base64String := uploadJson.Get( "data" ).GetString(); |
| | | |
| | | webFileBinaryData := BinaryData::FromBase64EncodedString( base64String ).AsBinaryValue(); |
| | | |
| | | generalExcelImportAndExportDataSource := GeneralExcelImportAndExportDataSource::Upload( RecycleBin, webFileBinaryData, fileName ); |
| | | generalExcelImportAndExportDataSource.ReadStructure(); |
| | | |
| | | selection := select( generalExcelImportAndExportDataSource, GeneralExcelImportAndExportDataTable, tempGEIAEDT, tempGEIAEDT.Name() = "Sheet1" ); |
| | | |
| | | OfflinePlanImportData::Upload( MacroPlan, dhOfflinePlanTable.Data(), selection ); |
| | | |
| | | // åç»å é¤ |
| | | // generalExcelImportAndExportDataSource.Delete(); |
| | | |
| | | WebMessageBox::Success( Translations::A_VWED_Success() ); |
| | | } |
| | | } onerror { |
| | | WebMessageBox::Error( e.GeneralInformation() ); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader_bRefresh_OnClick.def ÐÞ¸Ä |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pHeader/bRefresh |
| | | Response OnClick () id:Response_pHeader_bRefresh_OnClick |
| | | #parent: pHeader1_799/bRefresh |
| | | Response OnClick () id:Response_pHeader1_799_bRefresh_OnClick |
| | | { |
| | | #keys: '[413988.0.1297973814]' |
| | | #keys: '[413988.0.1568330587]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | Precondition: |
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader_bRestore_OnClick.def ÐÞ¸Ä |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pHeader/bRestore |
| | | Response OnClick () id:Response_pHeader_bRestore_OnClick |
| | | #parent: pHeader1_799/bRestore |
| | | Response OnClick () id:Response_pHeader1_799_bRestore_OnClick |
| | | { |
| | | #keys: '[413988.0.1297974069]' |
| | | #keys: '[413988.0.1568330584]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | Precondition: |
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader_bSaveAsDraft_OnClick.def ÐÞ¸Ä |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pHeader/bSaveAsDraft |
| | | Response OnClick () id:Response_pHeader_bSaveAsDraft_OnClick |
| | | #parent: pHeader1_799/bSaveAsDraft |
| | | Response OnClick () id:Response_pHeader1_799_bSaveAsDraft_OnClick |
| | | { |
| | | #keys: '[413988.0.1297974155]' |
| | | #keys: '[413988.0.1568330583]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | Precondition: |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pHeader2/sDateFilter |
| | | Response OnUserChanged () id:Response_pHeader2_sDateFilter_OnUserChanged |
| | | { |
| | | #keys: '[413988.0.1568579788]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebSlider_OnUserChanged' |
| | | Precondition: |
| | | [* |
| | | return not isnull( MacroPlan ); |
| | | *] |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | traverse ( dhOfflinePlanTable.Data(), OfflinePlanColumn, opc ) { |
| | | opc.IsShow( true ); |
| | | |
| | | if ( opc.ColumnIndex() > 1 and opc.ColumnIndex() < this.EndReal() ) { |
| | | opc.IsShow( false ); |
| | | } |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | BaseType: 'WebForm' |
| | | Children: |
| | | [ |
| | | #child: pHeader |
| | | #child: pContent |
| | | #child: pHeader |
| | | ] |
| | | Properties: |
| | | [ |