Merge branch 'dev' of http://47.101.211.7:10101/r/VWED into dev-zlg
已添加42个文件
已修改23个文件
已删除38个文件
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation PackagingPlanNewCapability_MacroPlan_MacroPlan_PackagingPlanNewCapability |
| | | { |
| | | #keys: '1[413988.0.1594771453]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide MacroPlan |
| | | { |
| | | #keys: '3[413988.0.1594771455][413988.0.1594771454][413988.0.1594771456]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: PackagingPlanNewCapability |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide PackagingPlanNewCapability |
| | | { |
| | | #keys: '3[413988.0.1594771458][413988.0.1594771457][413988.0.1594771459]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: MacroPlan |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
| | |
| | | // æ¾è£
é
çº¿è¡ |
| | | oprs := selectsortedset( opt, OfflinePlanRow, tempOPR, |
| | | tempOPR.ProductionLine() = "DL MoMo" |
| | | // or tempOPR.ProductionLine() = "CC MoMo" or tempOPR.ProductionLine() = "DL ZKM" |
| | | or |
| | | tempOPR.ProductionLine() = "CC MoMo" |
| | | or |
| | | tempOPR.ProductionLine() = "DL ZKM" |
| | | , |
| | | tempOPR.ProductionLine(), tempOPR.ProductID(), tempOPR.Type() ); |
| | | opcs := selectsortedset( opt, OfflinePlanColumn, tempOPC, true, tempOPC.ColumnDate() ); |
| | |
| | | ); |
| | | |
| | | u := select( macroPlan, Unit, tempU, tempU.ID() = pl ); |
| | | drainPs := selectset( u, UnitCalendar.Participation, tempP, guard( tempP.Event().Subject() = "æç©º", false ) ); |
| | | lineLyingPs := selectset( u, UnitCalendar.Participation, tempP, guard( tempP.Event().Subject() = "éºçº¿", false ) ); |
| | | drainPs := selectset( u, UnitCalendar.Participation, tempP, guard( tempP.Event().Subject().Regex( "æç©º" ), false ) ); |
| | | lineLyingPs := selectset( u, UnitCalendar.Participation, tempP, guard( tempP.Event().Subject().Regex( "éºçº¿" ), false ) ); |
| | | |
| | | // å¤çæç©º |
| | | info( "å½å产线ï¼", pl, " å¤çæç©º--------------------------" ); |
| | | info( "å½å产线ï¼", pl, " å¤çæç©º--------------------------" ); |
| | | traverse ( drainPs, Elements, p ) { |
| | | traverse ( p, ExplicitTimeInterval, eti ) { |
| | | info( "å¼å§æ¶é´ï¼", eti.Start().Format( "Y-M2-D2" ), " ç»ææ¶é´ï¼", eti.End().Format( "Y-M2-D2" ) ); |
| | | // åä¸å¤©æ¥å |
| | | aopc := select( macroPlan, AssemblyOnlinePlanColumn, tempAOPC, tempAOPC.ColumnDate() = ( eti.Start().Date() - 1 ) ); |
| | | info( "éè¦æç©ºçä¸çº¿è®¡åæ¶é´ï¼", aopc.ColumnDate().Format( "Y-M2-D2" ) ); |
| | | info( "éè¦æç©ºçä¸çº¿è®¡åæ¶é´ï¼", aopc.ColumnDate().Format( "Y-M2-D2" ) ); |
| | | aoprs := selectset( macroPlan, AssemblyOnlinePlanRow, tempAOPR, tempAOPR.ProductionLine() = pl and tempAOPR.Type() = "2" and |
| | | exists( tempAOPR, AssemblyOnlinePlanCell, tempAOPC, tempAOPC.AssemblyOnlinePlanColumn() = aopc and tempAOPC.Value() <> "" ) ); |
| | | aopr := maxselect( aoprs, Elements.AssemblyOnlinePlanCell, tempAOPC, tempAOPC.AssemblyOnlinePlanColumn() = aopc, |
| | |
| | | traverse ( lineLyingPs, Elements, p ) { |
| | | traverse ( p, ExplicitTimeInterval, eti ) { |
| | | info( "å¼å§æ¶é´ï¼", eti.Start().Format( "Y-M2-D2" ), " ç»ææ¶é´ï¼", eti.End().Format( "Y-M2-D2" ) ); |
| | | info( "éè¦éºçº¿çä¸çº¿è®¡åæ¶é´ï¼", eti.Start().Format( "Y-M2-D2" ) ); |
| | | aopc := select( macroPlan, AssemblyOnlinePlanColumn, tempAOPC, tempAOPC.ColumnDate() = eti.Start().Date() ); |
| | | aoprs := selectset( macroPlan, AssemblyOnlinePlanRow, tempAOPR, tempAOPR.ProductionLine() = pl and tempAOPR.Type() = "2" and |
| | | exists( tempAOPR, AssemblyOnlinePlanCell, tempAOPC, tempAOPC.AssemblyOnlinePlanColumn() = aopc and tempAOPC.Value() <> "" ) ); |
| | | aopr := minselect( aoprs, Elements.AssemblyOnlinePlanCell, tempAOPC, tempAOPC.AssemblyOnlinePlanColumn() = aopc, |
| | | [Number]tempAOPC.Value().ReplaceAll( "#0", "" ) ); |
| | | cell := select( macroPlan, AssemblyOnlinePlanRow.AssemblyOnlinePlanCell, tempAOPC, tempAOPC.AssemblyOnlinePlanRow().ProductionLine() = pl and tempAOPC.AssemblyOnlinePlanColumn() = aopc and |
| | | tempAOPC.AssemblyOnlinePlanRow().Type() = "1" and tempAOPC.AssemblyOnlinePlanRow().ProductID() = aopr.AssemblyOnlinePlanRow().ProductID() ); |
| | | cell.Value( [String] ( [Number]cell.Value() + targetQuantity ) ); |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Function CalcEstimatedTotalCost |
| | | { |
| | | TextBody: |
| | | [* |
| | | // lihongji Oct-9-2024 (created) |
| | | |
| | | value := this.StorageFeesForRentedWarehouses() + |
| | | this.OutboundExpensesForRentedWarehouses() + |
| | | this.ExternalRentalWarehouseTransportationCosts() + |
| | | this.RentalWarehouseStorageFees() + |
| | | this.CleaningCost() |
| | | |
| | | this.EstimatedTotalCost( value ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Function CalcTotalCost |
| | | { |
| | | TextBody: |
| | | [* |
| | | // lihongji Oct-9-2024 (created) |
| | | |
| | | value := this.EstimatedTotalCost() * this.Coefficient(); |
| | | |
| | | this.TotalCost( value ); |
| | | *] |
| | | } |
| | |
| | | // åå»ºè¡ |
| | | genrations := selectuniquevalues( macroPlan, Product_MP, tempPMP, tempPMP.Generation().TrimBoth() <> "", tempPMP.Generation() ); |
| | | mqbmlbs := selectuniquevalues( macroPlan, Product_MP, tempPMP, tempPMP.MQBMLB().TrimBoth() <> "", tempPMP.MQBMLB() ); |
| | | traverse ( genrations, Elements, g, g.ToUpper() = "EVO5" or g.ToUpper() = "GEN3" ) { |
| | | traverse ( mqbmlbs, Elements, m, m.ToUpper() = "MLB" or m.ToUpper() = "MQB" ) { |
| | | traverse ( genrations, Elements, g ) { |
| | | traverse ( mqbmlbs, Elements, m ) { |
| | | macroPlan.CC_EngineRackRow( relnew, Generation := g, MLB_MQB := m ); |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | // å建åå
æ ¼ |
| | | traverse ( macroPlan, CC_EngineRackRow, ccerr ) { |
| | | |
| | | // å卿ºææ¬åæ° |
| | | lce := select( macroPlan, LogisticsCostEngine, tempLCE, tempLCE.Generation() = ccerr.Generation() and tempLCE.MLB_MQB() = ccerr.MLB_MQB() and tempLCE.Factory() = "é¿æ¥å·¥å" ); |
| | | |
| | | // ææ¶ææ¬åæ° |
| | | lcmr := select( macroPlan, LogisticsCostMaterialRack, tempLCMR, tempLCMR.Factory() = "é¿æ¥å·¥å" ); |
| | | |
| | | traverse ( macroPlan, CC_EngineRackColumn, ccerc ) { |
| | | traverse ( macroPlan, CC_EngineRackRow, ccerr ) { // 循ç¯è¡ |
| | | info( "å½åéåçè¡ï¼", ccerr.Generation(), " ", ccerr.MLB_MQB() ); |
| | | traverse ( macroPlan, CC_EngineRackColumn, ccerc ) { // 循ç¯å |
| | | // å卿ºææ¬åæ° |
| | | lce := select( macroPlan, LogisticsCostEngine, tempLCE, tempLCE.Generation() = ccerr.Generation() and tempLCE.MLB_MQB() = ccerr.MLB_MQB() and tempLCE.Factory() = "é¿æ¥å·¥å" |
| | | and tempLCE.StartDate() <= ccerc.StartDate() and tempLCE.EndDate() >= ccerc.StartDate().StartOfNextMonth() ); |
| | | |
| | | // ææ¶ææ¬åæ° |
| | | lcmr := select( macroPlan, LogisticsCostMaterialRack, tempLCMR, tempLCMR.Factory() = "é¿æ¥å·¥å" |
| | | and tempLCMR.StartDate() <= ccerc.StartDate() and tempLCMR.EndDate() >= ccerc.StartDate().StartOfNextMonth() ); |
| | | |
| | | // è¿è¾ææ¬åæ° |
| | | lct := select( macroPlan, LogisticsCostTransport, tempLCT, tempLCT.Product() = "å卿ºææ¶" and tempLCT.Origin() = "é¿æ¥å¤ç§åº" and tempLCT.Destination() = "CC åå
åº" ); |
| | | |
| | | // å½åææ«æåä¸å¤©æ¥æ |
| | | lastDayOfThisMonth := ccerc.StartDate().StartOfNextMonth() - 1; |
| | | |
| | | cell := ccerr.CC_EngineRackCell( relnew ); |
| | | |
| | | // ç©ºææ¶æ°éï¼é¿æ¥å该产åçææ¶æ»æ°é - å卿ºåºå / å
è£
容é ï¼ |
| | | lastDayOfThisMonth := ccerc.StartDate().StartOfNextMonth() - 1; |
| | | plannedInventory := sum( macroPlan, Product_MP.ProductInStockingPoint_MP.ProductInStockingPointInPeriod, tempPISPIP, |
| | | tempPISPIP.ProductInStockingPoint_MP().Product_MP().IsLeaf() and |
| | | tempPISPIP.ProductInStockingPoint_MP().Product_MP().ParentID() = "产æå" and |
| | | tempPISPIP.ProductInStockingPoint_MP().StockingPointID() = "é¿æ¥å¤ç§åº" and |
| | | tempPISPIP.ProductInStockingPoint_MP().Product_MP().Generation() = ccerr.Generation() and |
| | | tempPISPIP.ProductInStockingPoint_MP().Product_MP().MQBMLB() = ccerr.MLB_MQB() and |
| | | tempPISPIP.Start().Date() = lastDayOfThisMonth, |
| | | tempPISPIP.ProductInStockingPoint_MP().Product_MP().IsLeaf() and |
| | | exists( tempPISPIP.ProductInStockingPoint_MP().Product_MP(), AllParent.AsParent, tempPMP, tempPMP.ID() = "å卿º" ) and |
| | | tempPISPIP.ProductInStockingPoint_MP().StockingPointID() = "é¿æ¥å¤ç§åº" and |
| | | tempPISPIP.ProductInStockingPoint_MP().Product_MP().Generation() = ccerr.Generation() and |
| | | tempPISPIP.ProductInStockingPoint_MP().Product_MP().MQBMLB() = ccerr.MLB_MQB() and |
| | | tempPISPIP.Start().Date() = lastDayOfThisMonth, |
| | | tempPISPIP.PlannedInventoryLevelEnd() ); |
| | | cell.PackagingCapacity( guard( lce.PackagingCapacity(), 0 ) ); |
| | | cell.PackagingCapacity( guard( lce.PackagingCapacity(), 1 ) ); |
| | | cell.PlannedInventory( plannedInventory ); |
| | | |
| | | // å¤ç§åºå
¥åºè´¹ç¨ï¼å卿ºéé / å
è£
容é[åä¸åæ´] * ææ¶å
¥åºåä»·ï¼ |
| | | engineSales := sum( macroPlan, FSImportData, tempFSID, |
| | | tempFSID.Unit() = "é¿æ¥å·¥å" and |
| | | tempFSID.Generation() = ccerr.Generation() and |
| | | tempFSID.MqbMlb() = ccerr.MLB_MQB() and |
| | | tempFSID.StartDate().Year() = ccerc.StartDate().Year() and |
| | | tempFSID.Unit() = FinancialProductionReport::GetDefaultCCUnit() and |
| | | tempFSID.Generation() = ccerr.Generation() and |
| | | tempFSID.MqbMlb() = ccerr.MLB_MQB() and |
| | | tempFSID.StartDate().Year() = ccerc.StartDate().Year() and |
| | | tempFSID.StartDate().Month() = ccerc.StartDate().Month(), |
| | | tempFSID.Quantity() ); |
| | | cell.StorageFeesForRentedWarehouses( guard( [Number] ( engineSales / guard( lce.PackagingCapacity(), 0 ) ) * guard( lcmr.WarehousingPrice(), 0 ), 0 ) ); |
| | | |
| | | cell.StorageFeesForRentedWarehouses( [Number] ( engineSales / guard( lce.PackagingCapacity(), 1 ) * guard( lcmr.WarehousingPrice(), 1 ) ) ); |
| | | |
| | | // å¤ç§åºåºåºè´¹ç¨ï¼å卿ºäº§é / å
è£
容é[åä¸åæ´] * ææ¶åºåºåä»·ï¼ |
| | | engineProductions := sum( macroPlan, FPImportData, tempFPID, |
| | | tempFPID.Unit() = "é¿æ¥å·¥å" and |
| | | tempFPID.Generation() = ccerr.Generation() and |
| | | tempFPID.MqbMlb() = ccerr.MLB_MQB() and |
| | | tempFPID.StartDate().Year() = ccerc.StartDate().Year() and |
| | | tempFPID.Unit() = FinancialProductionReport::GetDefaultCCUnit() and |
| | | tempFPID.Generation() = ccerr.Generation() and |
| | | tempFPID.MqbMlb() = ccerr.MLB_MQB() and |
| | | tempFPID.StartDate().Year() = ccerc.StartDate().Year() and |
| | | tempFPID.StartDate().Month() = ccerc.StartDate().Month(), |
| | | tempFPID.Quantity() ); |
| | | cell.OutboundExpensesForRentedWarehouses( guard( [Number] ( engineProductions / guard( lce.PackagingCapacity(), 0 ) ) * guard( lcmr.OutboundPrice(), 0 ), 0 ) ); |
| | | cell.OutboundExpensesForRentedWarehouses( [Number] ( engineProductions / guard( lce.PackagingCapacity(), 1 ) ) * guard( lcmr.OutboundPrice(), 1 ) ); |
| | | |
| | | // å¤ç§åºè¿è¾è´¹ç¨ï¼å卿ºè¿è¾é / å
è£
容é / è£
载容éï¼åä¸åæ´ï¼ * ææ¶è¿è¾åä»· |
| | | |
| | | |
| | | transportationQuantity := sum( macroPlan, Unit.Lane.LaneLeg.Trip.ProductInTrip, tempPIT, |
| | | tempPIT.Product_MP().Generation() = ccerr.Generation() and |
| | | tempPIT.Product_MP().MQBMLB() = ccerr.MLB_MQB() and |
| | | tempPIT.Trip().Departure().Date() >= ccerc.StartDate() and |
| | | tempPIT.Trip().Arrival().Date() <= lastDayOfThisMonth and |
| | | tempPIT.Trip().LaneLeg().AsOriginStockingPointLeg().StockingPoint_MP().ID() = "CC åå
åº" and |
| | | tempPIT.Trip().LaneLeg().AsDestinationStockingPointLeg().StockingPoint_MP().ID() = "é¿æ¥å¤ç§åº", |
| | | tempPIT.Quantity() |
| | | ); |
| | | // info( "æ¶é´ï¼", ccerc.StartDate().Format( "Y-M2-D2" ), " è¿è¾æ°æ®ï¼", transportationQuantity, " è¿è¾åä»·ï¼", lct.TransportPrice() ); |
| | | cell.ExternalRentalWarehouseTransportationCosts( transportationQuantity / guard( lce.PackagingCapacity(), 1 ) / guard( lct.LoadingCapacity(), 1 ) * guard( lct.TransportPrice(), 1 ) ); |
| | | |
| | | // å¤ç§åºä»å¨è´¹ç¨ï¼ææ¶æ»æ°é - å卿ºåºå / å
è£
容éï¼åä¸åæ´ï¼ï¼åä¹ä»¥ç©ºææ¶ä»å¨åä»·å¾å°ç©ºææ¶ä»å¨è´¹ç¨ãå卿ºåºååActual inventorieséåå°é¿æ¥å¤ç§åºè¯¥å卿ºçä»å¨éï¼ææ¶æ»æ°ééè¦æå¨ç»´æ¤ã |
| | | cell.UnitPriceOfEmptyShelfStorage( lcmr.StoragePrice() ); |
| | | |
| | | // æ¸
æ´è´¹ç¨ï¼å卿ºå
¥åºé / å
è£
容é * ææ¶æ¸
æ´åä»·ãå卿ºå
¥åºéåå卿ºééï¼å
è£
容éåèªå卿ºææ¬è¡¨ãææ¶æ¸
æ´åä»·åææ¶ææ¬è¡¨ã |
| | | cell.CleaningCost( guard( engineSales / guard( lce.PackagingCapacity(), 0 ) * lcmr.CleanPrice(), 0 ) ); |
| | | cell.CleaningCost( engineSales / guard( lce.PackagingCapacity(), 1 ) * lcmr.CleanPrice() ); |
| | | |
| | | cell.CC_EngineRackColumn( relset, ccerc ); |
| | | } |
| | |
| | | firstColumn := xmlDOM.CreateElement( "column" ); |
| | | firstName := xmlDOM.CreateElement( "name" ); |
| | | firstType := xmlDOM.CreateElement( "type" ); |
| | | firstName.TextContent( "" ); |
| | | firstName.TextContent( "*" ); |
| | | firstType.TextContent( "String" ); |
| | | firstColumn.AppendChild( firstName ); |
| | | firstColumn.AppendChild( firstType ); |
| | |
| | | secondColumn := xmlDOM.CreateElement( "column" ); |
| | | secondName := xmlDOM.CreateElement( "name" ); |
| | | secondType := xmlDOM.CreateElement( "type" ); |
| | | secondName.TextContent( "" ); |
| | | secondName.TextContent( "*" ); |
| | | secondType.TextContent( "String" ); |
| | | secondColumn.AppendChild( secondName ); |
| | | secondColumn.AppendChild( secondType ); |
| | |
| | | cells := selectsortedset( cerc, CC_EngineRackCell, tempCELL, true, tempCELL.CC_EngineRackRow().Name() ); |
| | | traverse ( cells, Elements, c ) { |
| | | cell := xmlDOM.CreateElement( "cell" ); |
| | | cell.SetAttribute( "value", [String]c.TotalQuantityOfMaterialRacks() ); // ææ¶æ»æ°é |
| | | cell.SetAttribute( "value", [String]c.TotalQuantityOfMaterialRacks().Round( 0 ) ); // ææ¶æ»æ°é |
| | | cellColumn.AppendChild( cell ); |
| | | |
| | | cell := xmlDOM.CreateElement( "cell" ); |
| | | cell.SetAttribute( "value", [String]c.NumberOfEmptyShelves() ); // ç©ºææ¶æ°é |
| | | cell.SetAttribute( "value", [String]c.NumberOfEmptyShelves().Round( 0 ) ); // ç©ºææ¶æ°é |
| | | cellColumn.AppendChild( cell ); |
| | | |
| | | cell := xmlDOM.CreateElement( "cell" ); |
| | | cell.SetAttribute( "value", [String]c.StorageFeesForRentedWarehouses() ); // å¤ç§åºå
¥åºè´¹ç¨ |
| | | cell.SetAttribute( "value", [String]c.StorageFeesForRentedWarehouses().Round( 0 ) ); // å¤ç§åºå
¥åºè´¹ç¨ |
| | | cellColumn.AppendChild( cell ); |
| | | |
| | | cell := xmlDOM.CreateElement( "cell" ); |
| | | cell.SetAttribute( "value", [String]c.OutboundExpensesForRentedWarehouses() ); // å¤ç§åºåºåºè´¹ç¨ |
| | | cell.SetAttribute( "value", [String]c.OutboundExpensesForRentedWarehouses().Round( 0 ) ); // å¤ç§åºåºåºè´¹ç¨ |
| | | cellColumn.AppendChild( cell ); |
| | | |
| | | cell := xmlDOM.CreateElement( "cell" ); |
| | | cell.SetAttribute( "value", [String]c.ExternalRentalWarehouseTransportationCosts() ); // å¤ç§åºè¿è¾è´¹ç¨ |
| | | cell.SetAttribute( "value", [String]c.ExternalRentalWarehouseTransportationCosts().Round( 0 ) ); // å¤ç§åºè¿è¾è´¹ç¨ |
| | | cellColumn.AppendChild( cell ); |
| | | |
| | | cell := xmlDOM.CreateElement( "cell" ); |
| | | cell.SetAttribute( "value", [String]c.RentalWarehouseStorageFees() ); // å¤ç§åºä»å¨è´¹ç¨ |
| | | cell.SetAttribute( "value", [String]c.RentalWarehouseStorageFees().Round( 0 ) ); // å¤ç§åºä»å¨è´¹ç¨ |
| | | cellColumn.AppendChild( cell ); |
| | | |
| | | cell := xmlDOM.CreateElement( "cell" ); |
| | | cell.SetAttribute( "value", [String]c.CleaningCost() ); // æ¸
æ´è´¹ç¨ |
| | | cell.SetAttribute( "value", [String]c.CleaningCost().Round( 0 ) ); // æ¸
æ´è´¹ç¨ |
| | | cellColumn.AppendChild( cell ); |
| | | |
| | | cell := xmlDOM.CreateElement( "cell" ); |
| | | cell.SetAttribute( "value", [String]c.EstimatedTotalCost() ); // é¢è®¡æ»è´¹ç¨ |
| | | cell.SetAttribute( "value", [String]c.EstimatedTotalCost().Round( 0 ) ); // é¢è®¡æ»è´¹ç¨ |
| | | cellColumn.AppendChild( cell ); |
| | | |
| | | cell := xmlDOM.CreateElement( "cell" ); |
| | | cell.SetAttribute( "value", [String]c.Coefficient() ); // ç³»æ° |
| | | cell.SetAttribute( "value", [String]c.Coefficient().Round( 0 ) ); // ç³»æ° |
| | | cellColumn.AppendChild( cell ); |
| | | |
| | | cell := xmlDOM.CreateElement( "cell" ); |
| | | cell.SetAttribute( "value", [String]c.TotalCost() ); // æ»è´¹ç¨ |
| | | cell.SetAttribute( "value", [String]c.TotalCost().Round( 0 ) ); // æ»è´¹ç¨ |
| | | cellColumn.AppendChild( cell ); |
| | | } |
| | | tableElement.AppendChild( cellColumn ); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Import ( |
| | | MacroPlan macroPlan, |
| | | GeneralExcelImportAndExportDataTable table |
| | | ) |
| | | { |
| | | TextBody: '//traverse (' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute PackagingCapacity |
| | | { |
| | | #keys: '3[413988.0.1594771571][413988.0.1594771570][413988.0.1594771572]' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute PlannedInventory |
| | | { |
| | | #keys: '3[413988.0.1594771558][413988.0.1594771557][413988.0.1594771559]' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Function CalcNumberOfEmptyShelves |
| | | { |
| | | TextBody: |
| | | [* |
| | | // lihongji Oct-9-2024 (created) |
| | | |
| | | value := guard( this.TotalQuantityOfMaterialRacks() - ( this.PlannedInventory() / this.PackagingCapacity() ), 0 ); |
| | | |
| | | this.NumberOfEmptyShelves( value ); |
| | | *] |
| | | } |
| | |
| | | macroPlan.DL_EngineRackRow( relflush ); |
| | | macroPlan.DL_EngineRackColumn( relflush ); |
| | | |
| | | // å建è¡EVO5 MLB, EVO5 MQB, GEN3 MLB, GEN3 MQB |
| | | macroPlan.DL_EngineRackRow( relnew, Generation := "EVO5", MLB_MQB := "MLB" ); |
| | | macroPlan.DL_EngineRackRow( relnew, Generation := "EVO5", MLB_MQB := "MQB" ); |
| | | macroPlan.DL_EngineRackRow( relnew, Generation := "GEN3", MLB_MQB := "MLB" ); |
| | | macroPlan.DL_EngineRackRow( relnew, Generation := "GEN3", MLB_MQB := "MQB" ); |
| | | // åå»ºè¡ |
| | | genrations := selectuniquevalues( macroPlan, Product_MP, tempPMP, tempPMP.Generation().TrimBoth() <> "", tempPMP.Generation() ); |
| | | mqbmlbs := selectuniquevalues( macroPlan, Product_MP, tempPMP, tempPMP.MQBMLB().TrimBoth() <> "", tempPMP.MQBMLB() ); |
| | | traverse ( genrations, Elements, g ) { |
| | | traverse ( mqbmlbs, Elements, m ) { |
| | | macroPlan.DL_EngineRackRow( relnew, Generation := g, MLB_MQB := m ); |
| | | } |
| | | } |
| | | |
| | | // å建å |
| | | indexDate := macroPlan.StartOfPlanning().Date().StartOfMonth(); |
| | |
| | | } |
| | | |
| | | // å建åå
æ ¼ |
| | | traverse ( macroPlan, DL_EngineRackRow, dlerr ) { |
| | | traverse ( macroPlan, DL_EngineRackColumn, dlerc ) { |
| | | traverse ( macroPlan, DL_EngineRackRow, dlerr ) { // 循ç¯è¡ |
| | | info( "å½åéåçè¡ï¼", dlerr.Generation(), " ", dlerr.MLB_MQB() ); |
| | | traverse ( macroPlan, DL_EngineRackColumn, dlerc ) { // 循ç¯å |
| | | // å卿ºææ¬åæ° |
| | | lce := select( macroPlan, LogisticsCostEngine, tempLCE, tempLCE.Generation() = dlerr.Generation() and tempLCE.MLB_MQB() = dlerr.MLB_MQB() and tempLCE.Factory() = "大è¿å·¥å" |
| | | and tempLCE.StartDate() <= dlerc.StartDate() and tempLCE.EndDate() >= dlerc.StartDate().StartOfNextMonth() ); |
| | | |
| | | // å½åææ«æåä¸å¤©æ¥æ |
| | | lastDayOfThisMonth := dlerc.StartDate().StartOfNextMonth() - 1; |
| | | |
| | | cell := dlerr.DL_EngineRackCell( relnew ); |
| | | |
| | | // å¤ç§åºå
¥åºè´¹ç¨ï¼å卿ºéé / å
è£
容é[åä¸åæ´] * ææ¶å
¥åºåä»·ï¼ |
| | | // ç©ºææ¶æ°éï¼å¤§è¿å该产åçææ¶æ»æ°é - å卿ºåºå / å
è£
容éï¼åä¸åæ´ï¼ |
| | | plannedInventory := sum( macroPlan, Product_MP.ProductInStockingPoint_MP.ProductInStockingPointInPeriod, tempPISPIP, |
| | | tempPISPIP.ProductInStockingPoint_MP().Product_MP().IsLeaf() and |
| | | exists( tempPISPIP.ProductInStockingPoint_MP().Product_MP(), AllParent.AsParent, tempPMP, tempPMP.ID() = "å卿º" ) and |
| | | tempPISPIP.ProductInStockingPoint_MP().StockingPointID() = "大è¿å¤ç§åº" and |
| | | tempPISPIP.ProductInStockingPoint_MP().Product_MP().Generation() = dlerr.Generation() and |
| | | tempPISPIP.ProductInStockingPoint_MP().Product_MP().MQBMLB() = dlerr.MLB_MQB() and |
| | | tempPISPIP.Start().Date() = lastDayOfThisMonth, |
| | | tempPISPIP.PlannedInventoryLevelEnd() ); |
| | | cell.PackagingCapacity( guard( lce.PackagingCapacity(), 1 ) ); |
| | | cell.PlannedInventory( plannedInventory ); |
| | | |
| | | // å¤ç§åºåºåºè´¹ç¨ï¼å卿ºäº§é / å
è£
容é[åä¸åæ´] * ææ¶åºåºåä»·ï¼ |
| | | // CCå¤ç§åºå
¥åºè´¹ç¨ï¼å卿ºéé / å
è£
容éï¼åä¸åæ´ï¼* ææ¶å
¥åºåä»· |
| | | |
| | | // CCå¤ç§åºåºåºè´¹ç¨ï¼å卿ºéé / å
è£
容éï¼åä¸åæ´ï¼* ææ¶åºåºåä»· |
| | | |
| | | cell.DL_EngineRackColumn( relset, dlerc ); |
| | | } |
| | | } |
| | | *] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute CC_PackagingInventory |
| | | { |
| | | #keys: '3[415754.0.351286657][415754.0.351286656][415754.0.351286658]' |
| | | Description: 'é¿æ¥å·¥åå
è£
åºå' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute CC_UnpackagedInventory |
| | | { |
| | | #keys: '3[415754.0.351197962][415754.0.351197961][415754.0.351197963]' |
| | | Description: 'é¿æ¥å·¥åéå
è£
åºå' |
| | | ValueType: Real |
| | | } |
| | |
| | | [* |
| | | // lihongji Jul-26-2024 (created) |
| | | |
| | | value := this.InitialPackagingInventory() + guard( this.Previous().PackagingInventory() + |
| | | guard( this.Previous().Package(), 0.0 ) - |
| | | value := ifexpr( this.PackagingPlanRow().Factory() = "é¿æ¥å·¥å", this.CC_PackagingInventory(), |
| | | this.InitialPackagingInventory() + guard( this.Previous().PackagingInventory() + |
| | | guard( this.Package(), 0.0 ) - |
| | | ifexpr( this.TransferIn() > 0.0, 0, this.Unpacking() ), |
| | | 0.0 ) |
| | | - this.Out(); |
| | | - this.Out() |
| | | ); |
| | | |
| | | this.PackagingInventory( value ); |
| | | *] |
| | |
| | | [* |
| | | // lihongji Jul-24-2024 (created) |
| | | |
| | | value := guard( this.EndingInventory() - this.PackagingInventory(), 0.0 ); |
| | | value := ifexpr( this.PackagingPlanRow().Factory() = "é¿æ¥å·¥å", this.CC_UnpackagedInventory(), |
| | | guard( this.EndingInventory() - this.PackagingInventory(), 0.0 ) ); |
| | | |
| | | this.UnpackagedInventory( value ); |
| | | *] |
| | |
| | | planPre := macroPlan.PackagingPlanColumn( relnew, StartDate := macroPlan.StartOfPlanning().Date() - 1 ); |
| | | |
| | | // çææ¥è¡¨ |
| | | traverse ( macroPlan, Product_MP.ProductInStockingPoint_MP, pisp, pisp.IsLeaf() and not pisp.IsSystem() ) { |
| | | traverse ( macroPlan, Product_MP.ProductInStockingPoint_MP, pisp, pisp.IsLeaf() and not pisp.IsSystem() and |
| | | ( pisp.StockingPointID().Regex( "CC" ) or pisp.StockingPointID().Regex( "DL" ) or pisp.StockingPointID().Regex( "大è¿" ) or pisp.StockingPointID().Regex( "é¿æ¥" ) ) ) { |
| | | // å½åpispæå¤å°ç¹ |
| | | factory := ifexpr( pisp.StockingPointID().Regex( "CC" ) or pisp.StockingPointID().Regex( "é¿æ¥" ), "é¿æ¥å·¥å", "大è¿å·¥å" ); |
| | | factoryAbbreviation := ifexpr( pisp.StockingPointID().Regex( "CC" ) or pisp.StockingPointID().Regex( "é¿æ¥" ), "CC", "DL" ); |
| | | |
| | | // åå»ºè¡ |
| | | ppr := select( macroPlan, PackagingPlanRow, tempPPR, tempPPR.ProductID() = pisp.ProductID() and tempPPR.StockingPointID() = pisp.StockingPointID() ); |
| | | ppr := select( macroPlan, PackagingPlanRow, tempPPR, tempPPR.ProductID() = pisp.ProductID() and tempPPR.Factory() = factory ); |
| | | if ( isnull( ppr ) ) { |
| | | ppr := macroPlan.PackagingPlanRow( relnew, ProductID := pisp.ProductID(), StockingPointID := pisp.StockingPointID(), Factory := "大è¿å·¥å", Category := "ZKG" ); |
| | | ppr := macroPlan.PackagingPlanRow( relnew, ProductID := pisp.ProductID(), StockingPointID := pisp.StockingPointID(), Factory := factory, Category := guard( pisp.Product_MP().ParentID(), "" ) ); |
| | | } |
| | | |
| | | // å建计ååä¸å¤©æ ¼å |
| | | planPreCell := ppr.PackagingPlanCell( relnew, PackagingPlanColumn := planPre, InitialPackagingInventory := 200 ); |
| | | |
| | | // åºåå°åºåç¹Trip |
| | | originTrips := selectset( macroPlan, Unit.Lane.LaneLeg.Trip, tempT, tempT.LaneLeg().AsOriginStockingPointLeg().StockingPoint_MP().ID() = pisp.StockingPointID() ); |
| | | originTrips := selectset( macroPlan, Unit.Lane.LaneLeg.Trip, tempT, tempT.LaneLeg().AsOriginStockingPointLeg().StockingPoint_MP().ID().Regex( factoryAbbreviation ) and |
| | | TransferPlanRow::IdentifyTheFactory( tempT.LaneLeg().AsOriginStockingPointLeg().StockingPoint_MP() ) <> TransferPlanRow::IdentifyTheFactory( tempT.LaneLeg().AsDestinationStockingPointLeg().StockingPoint_MP() ) ); |
| | | // ç®çå°åºåç¹Trip |
| | | destinationTrips := selectset( macroPlan, Unit.Lane.LaneLeg.Trip, tempT, tempT.LaneLeg().AsDestinationStockingPointLeg().StockingPoint_MP().ID() = pisp.StockingPointID() ); |
| | | destinationTrips := selectset( macroPlan, Unit.Lane.LaneLeg.Trip, tempT, tempT.LaneLeg().AsDestinationStockingPointLeg().StockingPoint_MP().ID().Regex( factoryAbbreviation ) and |
| | | TransferPlanRow::IdentifyTheFactory( tempT.LaneLeg().AsOriginStockingPointLeg().StockingPoint_MP() ) <> TransferPlanRow::IdentifyTheFactory( tempT.LaneLeg().AsDestinationStockingPointLeg().StockingPoint_MP() ) ); |
| | | |
| | | // 循ç¯pispippl |
| | | traverse ( pisp, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ), pispipl, not pispipl.IsPeriodFrozen() ) { |
| | | // å建å |
| | | ppc := select( macroPlan, PackagingPlanColumn, tempPPC, tempPPC.StartDate() = pispipl.Start().Date() ); |
| | |
| | | // å建åå
æ ¼ |
| | | cell := select( ppr, PackagingPlanCell, tempPPCell, tempPPCell.PackagingPlanColumn() = ppc ); |
| | | if ( isnull( cell ) ) { |
| | | cell := ppr.PackagingPlanCell( relnew, NetDemand := pispipl.DependentDemandAndSalesDemandQuantity() - pispipl.NewSupplyQuantity(), EndingInventory := pispipl.InventoryLevelEnd() ); |
| | | cell := ppr.PackagingPlanCell( relnew ); |
| | | cell.NetDemand( pispipl.DependentDemandAndSalesDemandQuantity() - pispipl.NewSupplyQuantity() ); |
| | | cell.EndingInventory( pispipl.InventoryLevelEnd() ); |
| | | cell.PackagingPlanColumn( relset, ppc ); |
| | | } else { |
| | | cell.NetDemand( cell.NetDemand() + ( pispipl.DependentDemandAndSalesDemandQuantity() - pispipl.NewSupplyQuantity() ) ); |
| | | cell.EndingInventory( cell.EndingInventory() + pispipl.InventoryLevelEnd() ); |
| | | } |
| | | |
| | | // 设置è°åº&è°è¿ |
| | | // 设置è°åº |
| | | outs := selectset( originTrips, Elements, tempT, tempT.Departure().Date() = pispipl.Start().Date() ); |
| | | traverse ( outs, Elements, out ) { |
| | | cell.Out( cell.Out() + out.Quantity() ); |
| | | traverse ( outs, Elements.ProductInTrip, outPIT, outPIT.ProductID() = pisp.ProductID() ) { |
| | | cell.Out( cell.Out() + outPIT.Quantity() ); |
| | | } |
| | | |
| | | // 设置è°è¿ |
| | | transferIns := selectset( destinationTrips, Elements, tempT, tempT.Arrival().Date() = pispipl.Start().Date() ); |
| | | traverse ( transferIns, Elements, ti ) { |
| | | cell.TransferIn( cell.TransferIn() + ti.Quantity() ); |
| | | traverse ( transferIns, Elements.ProductInTrip, tiPIT, tiPIT.ProductID() = pisp.ProductID() ) { |
| | | cell.TransferIn( cell.TransferIn() + tiPIT.Quantity() ); |
| | | } |
| | | |
| | | // é¿æ¥å·¥åç¹æ®æ
åµè®¾ç½®å
è£
åºååéå
è£
åºå |
| | | if ( factory = "é¿æ¥å·¥å" ) { |
| | | if ( pisp.StockingPointID().Regex( "å¤ç§åº" ) ) { |
| | | cell.CC_PackagingInventory( pispipl.InventoryLevelEnd() ); |
| | | } else if ( pisp.StockingPointID().Regex( "线边åº" ) ) { |
| | | cell.CC_UnpackagedInventory( pispipl.InventoryLevelEnd() ); |
| | | } |
| | | } |
| | | |
| | | // 设置åä¸å¤©åºå |
| | | if ( pispipl.Start().Date() = macroPlan.StartOfPlanning().Date() ) { |
| | | // prePISPIPL := pispipl.PreviousPlanningPISPIP().astype( ProductInStockingPointInPeriodPlanningLeaf ); |
| | | planPreCell.EndingInventory( 2000 ); |
| | | prePISPIPL := pispipl.PreviousPlanningPISPIP().astype( ProductInStockingPointInPeriodPlanningLeaf ); // åä¸ä¸ªpispippl |
| | | // å建计ååä¸å¤©æ ¼å |
| | | preCell := select( ppr, PackagingPlanCell, tempPPCell, tempPPCell.PackagingPlanColumn() = planPre ); |
| | | if ( isnull( preCell ) ) { |
| | | preCell := ppr.PackagingPlanCell( relnew ); |
| | | preCell.EndingInventory( prePISPIPL.InventoryLevelEnd() ); |
| | | preCell.PackagingPlanColumn( relset, planPre ); |
| | | } else { |
| | | preCell.EndingInventory( preCell.EndingInventory() + prePISPIPL.InventoryLevelEnd() ); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | Transaction::Transaction().Propagate( relation( PackagingPlanCell, Next ) ); |
| | | |
| | | // 设置å
è£
&æå
-æ°é |
| | | traverse ( macroPlan, PackagingPlanRow, ppr, ( ppr.ProductID() = "Windshield" and ppr.StockingPointID() = "Bosch" ) or ( ppr.ProductID() = "Windshield" and ppr.StockingPointID() = "Components (Spain)" ) ) { |
| | | traverse ( ppr, PackagingPlanCell, ppc/*, ppc.StartDate() = Date::Construct( 2020, 4, 1 )*/ ) { |
| | | // 设置å
è£
æ°é |
| | | if ( ppc.PackagingInventory() < ppc.Out() ) { // å
è£
åºåæ¯å¦å°äºè°åº |
| | | prePPC := ppc.Previous(); |
| | | needPackagingQuantity := ppc.Out() - prePPC.PackagingInventory(); |
| | | while ( not isnull( prePPC ) and needPackagingQuantity > 0.0 ) { |
| | | // è·åå
è£
lotsize |
| | | ppls := select( macroPlan, PackagingPlanLotSize, tempPPLS, tempPPLS.Factory() = ppc.PackagingPlanRow().Factory() and |
| | | tempPPLS.ProductID() = ppc.PackagingPlanRow().ProductID() ); |
| | | |
| | | // è·åæå¤§å
è£
æ°é |
| | | maxPackageReflection := Reflection::FindAttribute( "PackagingPlanCapability", ppc.PackagingPlanRow().FactoryAbbreviation() + "_" + ppc.PackagingPlanRow().Category() + "_Package" ); |
| | | maxPackageQuantity := maxPackageReflection.GetNumber( macroPlan.PackagingPlanCapability() ); |
| | | |
| | | // è·åæç»å
è£
æ°é |
| | | finalPackagingQuantity := minvalue( ceil( needPackagingQuantity / ppls.LotSize() ), ceil( ( maxPackageQuantity - prePPC.Package() ) / ppls.LotSize() ) ) * ppls.LotSize(); |
| | | needPackagingQuantity := needPackagingQuantity - finalPackagingQuantity; |
| | | |
| | | // 设置å
è£
å¼ |
| | | prePPC.Package( prePPC.Package() + finalPackagingQuantity ); |
| | | |
| | | //debuginfo( "éè¦å
è£
æ°éï¼", needPackagingQuantity, " lotsize: ", ppls.LotSize(), " æå¤§å
è£
æ°éï¼", maxPackageQuantity, " æç»è¡¥çæ°éï¼", finalPackagingQuantity ); |
| | | PackagingPlanCell::CalculationPackagingPlanProperties(); |
| | | |
| | | prePPC := prePPC.Previous(); |
| | | } |
| | | } |
| | | |
| | | // 设置æå
æ°é |
| | | if ( ppc.TransferIn() > 0.0 ) { // æè°å
¥æ°é |
| | | // è·åå
è£
lotsize |
| | | ppls := select( macroPlan, PackagingPlanLotSize, tempPPLS, tempPPLS.Factory() = ppc.PackagingPlanRow().Factory() and |
| | | tempPPLS.ProductID() = ppc.PackagingPlanRow().ProductID() ); |
| | | |
| | | // 设置æå
å¼ |
| | | ppc.Unpacking( ppc.TransferIn() ); |
| | | } |
| | | } |
| | | } |
| | | //traverse ( macroPlan, PackagingPlanRow, ppr, ( ppr.ProductID() = "Windshield" and ppr.StockingPointID() = "Bosch" ) or ( ppr.ProductID() = "Windshield" and ppr.StockingPointID() = "Components (Spain)" ) ) { |
| | | // traverse ( ppr, PackagingPlanCell, ppc/*, ppc.StartDate() = Date::Construct( 2020, 4, 1 )*/ ) { |
| | | // // 设置å
è£
æ°é |
| | | // if ( ppc.PackagingInventory() < ppc.Out() ) { // å
è£
åºåæ¯å¦å°äºè°åº |
| | | // prePPC := ppc.Previous(); |
| | | // needPackagingQuantity := ppc.Out() - prePPC.PackagingInventory(); |
| | | // while ( not isnull( prePPC ) and needPackagingQuantity > 0.0 ) { |
| | | // // è·åå
è£
lotsize |
| | | // ppls := select( macroPlan, PackagingPlanLotSize, tempPPLS, tempPPLS.Factory() = ppc.PackagingPlanRow().Factory() and |
| | | // tempPPLS.ProductID() = ppc.PackagingPlanRow().ProductID() ); |
| | | // |
| | | // // è·åæå¤§å
è£
æ°é |
| | | // maxPackageReflection := Reflection::FindAttribute( "PackagingPlanCapability", ppc.PackagingPlanRow().FactoryAbbreviation() + "_" + ppc.PackagingPlanRow().Category() + "_Package" ); |
| | | //// maxPackageQuantity := maxPackageReflection.GetNumber( macroPlan.PackagingPlanCapability() ); // æ¤å¤éè¦ä¿®æ¹ |
| | | // maxPackageQuantity := 100000; |
| | | // |
| | | // // è·åæç»å
è£
æ°é |
| | | // finalPackagingQuantity := minvalue( ceil( needPackagingQuantity / ppls.LotSize() ), ceil( ( maxPackageQuantity - prePPC.Package() ) / ppls.LotSize() ) ) * ppls.LotSize(); |
| | | // needPackagingQuantity := needPackagingQuantity - finalPackagingQuantity; |
| | | // |
| | | // // 设置å
è£
å¼ |
| | | // prePPC.Package( prePPC.Package() + finalPackagingQuantity ); |
| | | // |
| | | // //debuginfo( "éè¦å
è£
æ°éï¼", needPackagingQuantity, " lotsize: ", ppls.LotSize(), " æå¤§å
è£
æ°éï¼", maxPackageQuantity, " æç»è¡¥çæ°éï¼", finalPackagingQuantity ); |
| | | // PackagingPlanCell::CalculationPackagingPlanProperties(); |
| | | // |
| | | // prePPC := prePPC.Previous(); |
| | | // } |
| | | // } |
| | | // |
| | | // // 设置æå
æ°é |
| | | // if ( ppc.TransferIn() > 0.0 ) { // æè°å
¥æ°é |
| | | // // è·åå
è£
lotsize |
| | | // ppls := select( macroPlan, PackagingPlanLotSize, tempPPLS, tempPPLS.Factory() = ppc.PackagingPlanRow().Factory() and |
| | | // tempPPLS.ProductID() = ppc.PackagingPlanRow().ProductID() ); |
| | | // |
| | | // // 设置æå
å¼ |
| | | // ppc.Unpacking( ppc.TransferIn() ); |
| | | // } |
| | | // } |
| | | //} |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute MaximumDailyPackagingQuantity |
| | | { |
| | | #keys: '3[413988.0.1594771467][413988.0.1594771466][413988.0.1594771468]' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute MaximumDailyUnpackingQuantity |
| | | { |
| | | #keys: '3[413988.0.1594771477][413988.0.1594771476][413988.0.1594771478]' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ProductionLine |
| | | { |
| | | #keys: '3[413988.0.1594771444][413988.0.1594771443][413988.0.1594771445]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type PackagingPlanNewCapability |
| | | { |
| | | #keys: '5[413988.0.1594210998][413988.0.1594210996][0.0.0][413988.0.1594210997][413988.0.1594210999]' |
| | | BaseType: Object |
| | | StructuredName: 'PackagingPlanNewCapabilitys' |
| | | } |
| | |
| | | [* |
| | | // lihongji Jul-24-2024 (created) |
| | | |
| | | value := guard( this.ProductID() + " in " + this.StockingPointID(), this.ProductID() ); |
| | | value := guard( this.ProductID(), "" ); |
| | | |
| | | this.Name( value ); |
| | | *] |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method FilterProduct ( |
| | | Product_MPs products |
| | | Product_MPs products, |
| | | String factory |
| | | ) declarative remote as Boolean |
| | | { |
| | | TextBody: |
| | | [* |
| | | flag := exists( products, Elements, tempP, tempP.ID() = this.ProductID() ); |
| | | flag := exists( products, Elements, tempP, tempP.ID() = this.ProductID() ) and this.Factory() = factory; |
| | | |
| | | return flag; |
| | | *] |
| | |
| | | // çæè°æ¨è®¡å |
| | | traverse ( macroPlan, Unit, u, u.HasCapacityTypeTransportQuantity() ) { |
| | | traverse ( u, Lane.LaneLeg.Trip, t ) { |
| | | traverse ( t, ProductInTrip, pit, pit.Quantity() > 0.0 and exists( pit.Product_MP(), AllParent.AsParent, tempP, tempP.ID() = "æºå ä»¶" ) ) { |
| | | originFactory := TransferPlanRow::IdentifyTheFactory( t.LaneLeg().AsOriginStockingPointLeg().StockingPoint_MP() ); // èµ·å§å·¥å |
| | | destinationFactory := TransferPlanRow::IdentifyTheFactory( t.LaneLeg().AsDestinationStockingPointLeg().StockingPoint_MP() ); // ç®æ å·¥å |
| | | traverse ( t, ProductInTrip, pit, pit.Quantity() > 0.0 and // æ°é大äº0 |
| | | exists( pit.Product_MP(), AllParent.AsParent, tempP, tempP.ID() = "æºå ä»¶" ) and // åªåæºå ä»¶ |
| | | originFactory <> destinationFactory // èµ·å§å·¥åä¸è½åç®æ å·¥åä¸è´ |
| | | ) { |
| | | // æ¾è¡ |
| | | tpr := TransferPlanRow::FindTransferPlanRowTypeIndex( TransferPlanRow::IdentifyTheFactory( t.LaneLeg().AsOriginStockingPointLeg().StockingPoint_MP() ), |
| | | TransferPlanRow::IdentifyTheFactory( t.LaneLeg().AsDestinationStockingPointLeg().StockingPoint_MP() ), |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: dhSelectedFactory |
| | | Response OnCreated () id:Response_MacroPlanner_ApplicationMacroPlanner_dhSelectedFactory_OnCreated |
| | | { |
| | | #keys: '[415754.0.350439844]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | this.Data( "大è¿å·¥å" ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | Taborder: 58 |
| | | ] |
| | | } |
| | | Component dhSelectedFactory |
| | | { |
| | | #keys: '[415754.0.350439827]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'String*' |
| | | Properties: |
| | | [ |
| | | Description: 'å
è£
计åæéå·¥å' |
| | | Taborder: 59 |
| | | ] |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component pnlActions |
| | | { |
| | | #keys: '[413988.0.1596179622]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component btnOk |
| | | { |
| | | #keys: '[413988.0.1596179626]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'OK' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component btnCancel |
| | | { |
| | | #keys: '[413988.0.1596179628]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Cancel' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Alignment: 'trailing' |
| | | Border: true |
| | | ExcludeFromActiveComponent: true |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Padding: 'true' |
| | | Style: 'footer' |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component pnlContent |
| | | { |
| | | #keys: '[413988.0.1596179620]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component ddslProductionLine |
| | | { |
| | | #keys: '[413988.0.1596148502]' |
| | | BaseType: 'WebDropDownStringList' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderDialogData.Data.ProductionLine' |
| | | Label: 'Production line' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component npMaximumDailyPackagingQuantity |
| | | { |
| | | #keys: '[413988.0.1596148605]' |
| | | BaseType: 'WebNumberPicker' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderDialogData.Data.MaximumDailyPackagingQuantity' |
| | | Label: 'Maximum daily packaging quantity' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component npMaximumDailyUnpackingQuantity |
| | | { |
| | | #keys: '[413988.0.1596148618]' |
| | | BaseType: 'WebNumberPicker' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderDialogData.Data.MaximumDailyUnpackingQuantity' |
| | | Label: 'Maximum daily unpacking quantity' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Padding: 'true' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method Edit ( |
| | | PackagingPlanNewCapability selection |
| | | ) id:Method_DialogCreateEditPackagingPlanNewCapability_Edit |
| | | { |
| | | #keys: '[413988.0.1596179841]' |
| | | Body: |
| | | [* |
| | | data := shadow( selection ); |
| | | |
| | | DataHolderDialogData.Data( &data ); |
| | | |
| | | ApplicationMacroPlanner.ShowFormModal( this ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method New () id:Method_DialogCreateEditPackagingPlanNewCapability_New |
| | | { |
| | | #keys: '[413988.0.1596179843]' |
| | | Body: |
| | | [* |
| | | data := MacroPlan.PackagingPlanNewCapability( relshadow ); |
| | | |
| | | DataHolderDialogData.Data( &data ); |
| | | |
| | | ApplicationMacroPlanner.ShowFormModal( this ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method OnOK () id:Method_DialogCreateEditPackagingPlanNewCapability_OnOK |
| | | { |
| | | #keys: '[413988.0.1596179844]' |
| | | Body: |
| | | [* |
| | | // On ok |
| | | Form.ApplyChanges(); |
| | | |
| | | data := DataHolderDialogData.Data(); |
| | | |
| | | data.Commit(); |
| | | |
| | | Form.Close(); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pnlActions/btnCancel |
| | | Response OnClick () id:Response_pnlActions_btnCancel_OnClick |
| | | { |
| | | #keys: '[413988.0.1596179632]' |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | Form.Close(); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pnlActions/btnOk |
| | | Response OnClick () id:Response_pnlActions_btnOk_OnClick |
| | | { |
| | | #keys: '[413988.0.1596179631]' |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | Form.OnOK(); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pnlContent/ddslProductionLine |
| | | Response OnCreated () id:Response_pnlContent_ddslProductionLine_OnCreated |
| | | { |
| | | #keys: '[413988.0.1596148773]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | Precondition: |
| | | [* |
| | | return not isnull( MacroPlan ); |
| | | *] |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | uids := selectuniquevalues( MacroPlan, Unit, tempU, true, tempU.ID() ); |
| | | |
| | | this.Strings( uids.Concatenate( ";" ) ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlannerWebApp |
| | | OrphanComponent DialogCreateEditPackagingPlanNewCapability |
| | | { |
| | | #keys: '[413988.0.1596179618]' |
| | | BaseType: 'WebForm' |
| | | Children: |
| | | [ |
| | | #child: pnlContent |
| | | #child: pnlActions |
| | | Component DataHolderDialogData id:DataHolderDialogData_915 |
| | | { |
| | | #keys: '[413988.0.1596179977]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'shadow[PackagingPlanNewCapability]*' |
| | | Properties: |
| | | [ |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Alignment: 'trailing' |
| | | EnterButton: 'btnOk' |
| | | EscapeButton: 'btnCancel' |
| | | ExcludeFromActiveComponent: true |
| | | Padding: 'false' |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component abpContent |
| | | { |
| | | #keys: '[413988.0.1594809024]' |
| | | BaseType: 'listActionBarPage' |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component cmContent |
| | | { |
| | | #keys: '[413988.0.1594809029]' |
| | | BaseType: 'listContextMenu' |
| | | Children: |
| | | [ |
| | | Component MenuSeparator |
| | | { |
| | | #keys: '[121142.1.1147171519]' |
| | | BaseType: 'MenuSeparator' |
| | | IsDerived: true |
| | | Properties: |
| | | [ |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component mSelectAll |
| | | { |
| | | #keys: '[413988.0.1596149028]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'SELECTION_VIEW' |
| | | Shortcut: 'Ctrl+A' |
| | | Taborder: 2 |
| | | Title: 'Select all' |
| | | ] |
| | | } |
| | | Component mNew |
| | | { |
| | | #keys: '[413988.0.1596149298]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'ADD2' |
| | | Taborder: 4 |
| | | Title: 'New' |
| | | ] |
| | | } |
| | | Component mEdit |
| | | { |
| | | #keys: '[413988.0.1596149554]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | BindOnDoubleClick: true |
| | | Image: 'PENCIL' |
| | | Taborder: 5 |
| | | Title: 'Edit' |
| | | ] |
| | | } |
| | | Component mDelete |
| | | { |
| | | #keys: '[413988.0.1596149809]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'DELETE' |
| | | Taborder: 6 |
| | | Title: 'Delete' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component lstContent |
| | | { |
| | | #keys: '[413988.0.1594809021]' |
| | | BaseType: 'WebList' |
| | | Children: |
| | | [ |
| | | Component deContent |
| | | { |
| | | #keys: '[413988.0.1594809022]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'MacroPlan' |
| | | Source: 'MacroPlan' |
| | | Taborder: 0 |
| | | Transformation: 'PackagingPlanNewCapability' |
| | | ] |
| | | } |
| | | #child: abpContent |
| | | Component dslContent |
| | | { |
| | | #keys: '[413988.0.1594809027]' |
| | | BaseType: 'WebDataSetLevel' |
| | | Children: |
| | | [ |
| | | #child: cmContent |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductionLine","title":"ProductionLine","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductionLine"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MaximumDailyPackagingQuantity","title":"MaximumDailyPackagingQuantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MaximumDailyPackagingQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MaximumDailyUnpackingQuantity","title":"MaximumDailyUnpackingQuantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MaximumDailyUnpackingQuantity"}}]' |
| | | ContextMenu: 'cmContent' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | ResponseDefinitions: |
| | | [ |
| | | DelegatedResponseDefinition OnClick id:Responsedef_lstContent_WebMenu_OnClick |
| | | { |
| | | #keys: '[413988.0.1596148973]' |
| | | Initiator: 'WebMenu' |
| | | IsInherited: false |
| | | ResponseType: 'OnClick' |
| | | Arguments: |
| | | [ |
| | | ResponseDefinitionArgument selection |
| | | { |
| | | #keys: '[3777.0.12953454]' |
| | | Binding: 'this.Selection()' |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
| | |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: p_DL_ZKG |
| | | #child: p_DL_ZKM |
| | | #child: p_DL_ZK |
| | | #child: p_DL_PL |
| | | #child: p_DL_KW |
| | | #child: p_DL_AGW12 |
| | | #child: p_DL_AGW3 |
| | | #child: p_CC_ZKG |
| | | #child: p_CC_ZKM |
| | | #child: p_CC_PL |
| | | #child: p_CC_KW1 |
| | | #child: p_CC_KW2 |
| | | #child: lstContent |
| | | ] |
| | | Properties: |
| | | [ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method Opne ( |
| | | PackagingPlanCapability ppc |
| | | ) id:Method_DialogPackagingPlanCapability_Opne |
| | | Method Opne () id:Method_DialogPackagingPlanCapability_Opne |
| | | { |
| | | #keys: '[413988.0.1402004588]' |
| | | Body: |
| | | [* |
| | | DataHolderDialog.Data( ppc ); |
| | | |
| | | ApplicationMacroPlanner.ShowFormModal( this ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: lstContent |
| | | Response OnClick ( |
| | | structured[PackagingPlanNewCapability] selection |
| | | ) id:Response_lstContent_mDelete_OnClick |
| | | { |
| | | #keys: '[413988.0.1596149948]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /lstContent/Responsedef_lstContent_WebMenu_OnClick |
| | | Initiator: 'mDelete' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | MacroPlan::DeleteObjects( selection ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: lstContent |
| | | Response OnClick ( |
| | | PackagingPlanNewCapability selection |
| | | ) id:Response_lstContent_mEdit_OnClick |
| | | { |
| | | #keys: '[413988.0.1596149701]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /lstContent/Responsedef_lstContent_WebMenu_OnClick |
| | | Initiator: 'mEdit' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | dlg := construct( DialogCreateEditPackagingPlanNewCapability ); |
| | | |
| | | dlg.Edit( selection ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: lstContent |
| | | Response OnClick () id:Response_lstContent_mNew_OnClick |
| | | { |
| | | #keys: '[413988.0.1596149457]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /lstContent/Responsedef_lstContent_WebMenu_OnClick |
| | | Initiator: 'mNew' |
| | | Precondition: |
| | | [* |
| | | return not isnull( MacroPlan ); |
| | | *] |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | dlg := construct( DialogCreateEditPackagingPlanNewCapability ); |
| | | |
| | | dlg.New(); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: lstContent |
| | | Response OnClick () id:Response_lstContent_mSelectAll_OnClick |
| | | { |
| | | #keys: '[413988.0.1596149206]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /lstContent/Responsedef_lstContent_WebMenu_OnClick |
| | | Initiator: 'mSelectAll' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | this.SelectAll(); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | [ |
| | | #child: pnlContent |
| | | #child: pnlActions |
| | | Component DataHolderDialog |
| | | { |
| | | #keys: '[413988.0.1402317641]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'PackagingPlanCapability' |
| | | Properties: |
| | | [ |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | |
| | | EnterButton: 'btnOk' |
| | | EscapeButton: 'btnCancel' |
| | | ExcludeFromActiveComponent: true |
| | | MinimumColumns: 100 |
| | | MinimumRows: 30 |
| | | Padding: 'false' |
| | | Title: 'Packaging Plan Capability' |
| | | ] |
| | |
| | | EnterButton: 'btnOk' |
| | | EscapeButton: 'btnCancel' |
| | | ExcludeFromActiveComponent: true |
| | | MinimumColumns: 100 |
| | | MinimumRows: 30 |
| | | Padding: 'false' |
| | | Title: 'Packaging Plan Lot Size' |
| | |
| | | Properties: |
| | | [ |
| | | Image: 'EXPORT1' |
| | | Label: '导åº' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component bImport |
| | | { |
| | | #keys: '[415754.0.345743565]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'IMPORT1' |
| | | Label: '导å
¥' |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pHeader/bImport |
| | | Response OnClick () id:Response_pHeader_bImport_OnClick |
| | | { |
| | | #keys: '[415754.0.345782016]' |
| | | 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" ); |
| | | |
| | | CC_EngineRackCell::Import( MacroPlan, selection ); |
| | | |
| | | // åç»å é¤ |
| | | generalExcelImportAndExportDataSource.Delete(); |
| | | |
| | | WebMessageBox::Success( Translations::A_VWED_Success() ); |
| | | } |
| | | } onerror { |
| | | WebMessageBox::Error( e.GeneralInformation() ); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | Taborder: 6 |
| | | ] |
| | | } |
| | | Component ButtonClearFilter id:ButtonClearFilter_474 |
| | | { |
| | | #keys: '[414996.1.116558838]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Clear' |
| | | Taborder: 8 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelFilter/ButtonClearFilter_474 |
| | | Response OnClick () id:Response_PanelFilter_119_ButtonClearFilter_OnClick_799 |
| | | { |
| | | #keys: '[414996.1.116558837]' |
| | | 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()); |
| | | } |
| | |
| | | Taborder: 6 |
| | | ] |
| | | } |
| | | Component ButtonClearFilter |
| | | { |
| | | #keys: '[414996.1.115030257]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Clear' |
| | | Taborder: 8 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelFilter_119/ButtonClearFilter |
| | | Response OnClick () id:Response_PanelFilter_119_ButtonClearFilter_OnClick |
| | | { |
| | | #keys: '[414996.1.115030293]' |
| | | 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()); |
| | | } |
| | |
| | | Properties: |
| | | [ |
| | | DataType: 'MacroPlan' |
| | | FilterArguments: 'products:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderCheckedProduct' |
| | | FixedFilter: 'object.FilterProduct( products )' |
| | | FilterArguments: 'products:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderCheckedProduct;factory:QLibMacroPlannerWebUI::ApplicationMacroPlanner.dhSelectedFactory' |
| | | FixedFilter: 'object.FilterProduct( products, factory )' |
| | | Source: 'MacroPlan' |
| | | Taborder: 0 |
| | | Transformation: 'PackagingPlanRow' |
| | |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Maximum quantity' |
| | | Label: 'Maximum unpackaged quantity' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | |
| | | BaseType: 'WebDropDownStringList' |
| | | Properties: |
| | | [ |
| | | InitialValue: '大è¿å·¥å' |
| | | Label: 'å·¥å' |
| | | Sorting: 'none' |
| | | Strings: '大è¿å·¥å;é¿æ¥å·¥å' |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | if ( isnull( MacroPlan.PackagingPlanCapability() ) ) { |
| | | MacroPlan.PackagingPlanCapability( relnew ); |
| | | } |
| | | |
| | | |
| | | dlg := construct( DialogPackagingPlanCapability ); |
| | | |
| | | dlg.Opne( MacroPlan.PackagingPlanCapability() ); |
| | | dlg.Opne(); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pHeader/ddslFactorySelection |
| | | Response OnUserSelectionChanged () id:Response_pHeader_ddslFactorySelection_OnUserSelectionChanged |
| | | { |
| | | #keys: '[415754.0.350720104]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebDropDownStringList_OnUserSelectionChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | dhSelectedFactory.Data( this.Text() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component ListUnit id:ListUnit_963 |
| | | { |
| | | #keys: '[414996.1.116589421]' |
| | | BaseType: 'WebList' |
| | | Children: |
| | | [ |
| | | Component DataExtractorProductionLineBatchSetShiftPattern |
| | | { |
| | | #keys: '[414996.1.116589422]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'MacroPlan' |
| | | Source: 'MacroPlan' |
| | | Taborder: 0 |
| | | Transformation: 'Unit' |
| | | ] |
| | | } |
| | | #child: listActionBarPageProductionLineBatchSetShiftPattern_1 |
| | | Component DataSetLevelProductionLineBatchSetShiftPattern |
| | | { |
| | | #keys: '[414996.1.116589424]' |
| | | BaseType: 'WebDataSetLevel' |
| | | Children: |
| | | [ |
| | | #child: listContextMenuProductionLineBatchSetShiftPattern_1 |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Name","title":"Name","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Name"}}]' |
| | | ContextMenu: 'listContextMenuProductionLineBatchSetShiftPattern' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelLeft |
| | | { |
| | | #keys: '[414996.1.116589353]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: ListUnit_963 |
| | | Component dhSelectUnit |
| | | { |
| | | #keys: '[414996.1.116470420]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'Unit' |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelProductionLineBatchSetShiftPattern |
| | | { |
| | | #keys: '[414996.1.115082785]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: PanelLeft |
| | | #child: PanelRight |
| | | ] |
| | | Properties: |
| | | [ |
| | | Orientation: 'horizontal' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelRight |
| | | { |
| | | #keys: '[414996.1.116589373]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component cbMonday |
| | | { |
| | | #keys: '[414996.1.116589495]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component cbTuesday |
| | | { |
| | | #keys: '[414996.1.116589517]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | Component cbWednesday |
| | | { |
| | | #keys: '[414996.1.116589519]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Taborder: 5 |
| | | ] |
| | | } |
| | | Component cbThursday |
| | | { |
| | | #keys: '[414996.1.116589521]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Taborder: 6 |
| | | ] |
| | | } |
| | | Component cbFriday |
| | | { |
| | | #keys: '[414996.1.116589523]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Taborder: 7 |
| | | ] |
| | | } |
| | | Component cbSaturday |
| | | { |
| | | #keys: '[414996.1.116589525]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Taborder: 8 |
| | | ] |
| | | } |
| | | Component cbSunday |
| | | { |
| | | #keys: '[414996.1.116589527]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Taborder: 9 |
| | | ] |
| | | } |
| | | Component dsStartDate |
| | | { |
| | | #keys: '[414996.1.116589712]' |
| | | BaseType: 'WebDateSelector' |
| | | Properties: |
| | | [ |
| | | Label: 'Start' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component dsEndDate |
| | | { |
| | | #keys: '[414996.1.116589740]' |
| | | BaseType: 'WebDateSelector' |
| | | Properties: |
| | | [ |
| | | Label: 'End' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component LabelSelectUnit |
| | | { |
| | | #keys: '[414996.1.116470348]' |
| | | BaseType: 'WebLabel' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'dhSelectUnit.Data.Name' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component bApply |
| | | { |
| | | #keys: '[414996.1.116470621]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Apply' |
| | | Taborder: 10 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listActionBarPageProductionLineBatchSetShiftPattern id:listActionBarPageProductionLineBatchSetShiftPattern_1 |
| | | { |
| | | #keys: '[414996.1.116589423]' |
| | | BaseType: 'listActionBarPage' |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listContextMenuProductionLineBatchSetShiftPattern id:listContextMenuProductionLineBatchSetShiftPattern_1 |
| | | { |
| | | #keys: '[414996.1.116589425]' |
| | | BaseType: 'listContextMenu' |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListUnit_963 |
| | | Response OnUserSelectionChanged ( |
| | | Unit selection |
| | | ) id:Response_ListUnit_963_OnUserSelectionChanged |
| | | { |
| | | #keys: '[414996.1.116470476]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebList_OnUserSelectionChanged' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | dhSelectUnit.Data( selection ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlannerWebApp |
| | | OrphanComponent FormProductionLineBatchSetShiftPattern |
| | | { |
| | | #keys: '[414996.1.115000748]' |
| | | BaseType: 'WebForm' |
| | | Children: |
| | | [ |
| | | #child: PanelProductionLineBatchSetShiftPattern |
| | | ] |
| | | Properties: |
| | | [ |
| | | Description: 'FormProductionLineBatchData' |
| | | ] |
| | | } |