Merge branch 'dev' of http://47.101.211.7:10101/r/VWED into dev
已添加26个文件
已修改17个文件
已删除39个文件
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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 ) { |
| | | |
| | | 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() = "é¿æ¥å·¥å" ); |
| | | 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() = "é¿æ¥å·¥å" ); |
| | | lcmr := select( macroPlan, LogisticsCostMaterialRack, tempLCMR, tempLCMR.Factory() = "é¿æ¥å·¥å" |
| | | and tempLCMR.StartDate() <= ccerc.StartDate() and tempLCMR.EndDate() >= ccerc.StartDate().StartOfNextMonth() ); |
| | | |
| | | traverse ( macroPlan, CC_EngineRackColumn, ccerc ) { |
| | | // è¿è¾ææ¬åæ° |
| | | lct := select( macroPlan, LogisticsCostTransport, tempLCT, tempLCT.Product() = "å卿º" and tempLCT.Origin() = "CC åå
åº" and tempLCT.Destination() = "é¿æ¥å¤ç§åº" ); |
| | | |
| | | // å½åææ«æåä¸å¤©æ¥æ |
| | | 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 |
| | | 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.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.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() |
| | | ); |
| | | 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 ); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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 ); |
| | | } |
| | | } |
| | | *] |
| | |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-25-2024 (created) |
| | | startofplanning := owner.StartOfPlanning(); |
| | | startofyear := startofplanning.StartOfYear().Date(); |
| | | startofendyear := startofplanning.StartOfNextYear().Date(); |
| | | //æ¥è¯¢æ¥æè¿åéè¦å¨è®¡åæ¥æä¹å
|
| | | weekstart := owner.StartOfPlanning().Date(); |
| | | traverse( owner, Period_MP, period, not period.IsHistorical() and period.TimeUnit() = Translations::MP_GlobalParameters_Day() ){ |
| | | if( timeunit = 'All' or timeunit = Translations::MP_GlobalParameters_Day() ){ |
| | | periodtime := period.StartDate(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | |
| | | this.Column( relnew, Name := periodname, StartDate := periodtime, EndDate := periodtime, TimeUnit := Translations::MP_GlobalParameters_Day() ); |
| | | if( startdate < startofendyear and enddate > startofyear ){ |
| | | if( startdate < startofyear ){ |
| | | startdate := startofyear; |
| | | } |
| | | |
| | | if( enddate > startofendyear ){ |
| | | enddate := startofendyear; |
| | | } |
| | | if( timeunit = 'All' or timeunit = Translations::MP_GlobalParameters_Day() ){ |
| | | for( start := startdate; start <= enddate; start := start.DateTime().StartOfNextDay().Date() ){ |
| | | periodname := start.Format( "M2/D2/Y" ); |
| | | this.Column( relnew, Name := periodname, StartDate := start, EndDate := start, TimeUnit := Translations::MP_GlobalParameters_Day() ); |
| | | } |
| | | } |
| | | if( timeunit = 'All' or timeunit = Translations::MP_GlobalParameters_Week() ){ |
| | | if( period.StartDate() = weekstart ){ |
| | | weekperiodname := weekstart.Format( "M2/D2/Y" ); |
| | | this.Column( relnew, Name := weekperiodname, StartDate := weekstart, EndDate := ( weekstart + Duration::Days( 6 ) ).Date(), TimeUnit := Translations::MP_GlobalParameters_Week() ); |
| | | weekstart := ( weekstart + Duration::Days( 7 ) ).Date(); |
| | | for( start := startdate; start <= enddate; start := start.StartOfNextWeek() ){ |
| | | periodname := start.Format( "M2/D2/Y" ); |
| | | weekend := ( start.StartOfNextWeek() - Duration::Days( 1 ) ).Date(); |
| | | |
| | | this.Column( relnew, Name := periodname, StartDate := start, EndDate := weekend, TimeUnit := Translations::MP_GlobalParameters_Week() ); |
| | | } |
| | | } |
| | | } |
| | |
| | | traverse( stockingpoint, ProductInStockingPoint_MP, pisp, pisp.Product_MP().IsLeaf() and not pisp.IsSystem() |
| | | and exists( pisp.Product_MP().GetAllParent(), Elements, e, e.ID() = productparent ) |
| | | and exists( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day() and ( pispip.NewSupplyQuantity() <> 0 or pispip.PlannedInventoryLevelEnd() <> 0 ) ) ){ |
| | | weekstart := owner.StartOfPlanning().Date(); |
| | | pispips := selectsortedset( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() |
| | | and pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day(), pispip.Start() ); |
| | | row := table.GetRow( pisp.ProductID() ); |
| | |
| | | //åºåéè¦åæåä¸å¤© |
| | | row.SetCellInventoryValue( daycolumn, [Real]inventoryquantity ); |
| | | |
| | | if( pispip.Start() = weekstart + Duration::Days( 6 ) or pispip.Period_MP() = endperiod ){ |
| | | weekstart := ( weekstart + Duration::Days( 7 ) ).Date(); |
| | | if( pispip.Start().Date() = weekcolumn.EndDate() or pispip.Period_MP() = endperiod ){ |
| | | |
| | | row.SetCellInventoryValue( weekcolumn, [Real]inventoryquantity ); |
| | | } |
| | |
| | | , MLBMQB := product.MQBMLB() |
| | | , Power := product.Power() |
| | | , Product := product.ID() |
| | | , InventoryDate := column.Period() |
| | | , InventoryDate := column.StartDate() |
| | | , InventoryEndQty := cell.EndingInventory() |
| | | , InventoryMinQty := cell.MinimumInventory() |
| | | , InventoryMaxQty := cell.MaximumInventory() |
| | |
| | | } |
| | | }else if( timeunit = Translations::MP_GlobalParameters_Week() ){ |
| | | for( start := starttime; start <= endtime; start := start.StartOfNextWeek() ){ |
| | | periodtime := start.Date(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | weekend := ( start.StartOfNextWeek() - Duration::Days( 1 ) ).Date(); |
| | | |
| | | this.InventorySummaryColumn( relnew, Name := periodname, StartDate := periodtime, EndaDate := weekend, TimeUnit := Translations::MP_GlobalParameters_Week() ); |
| | | this.InventorySummaryColumn( relnew, Name := weekend.Format( "M2/D2/Y" ), StartDate := start.Date(), EndaDate := weekend, TimeUnit := Translations::MP_GlobalParameters_Week() ); |
| | | } |
| | | }else if( timeunit = Translations::MP_GlobalParameters_Month() ){ |
| | | for( start := starttime; start <= endtime; start := start.StartOfNextMonth() ){ |
| | | periodtime := start.Date(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | monthend := ( start.StartOfNextMonth() - Duration::Days( 1 ) ).Date(); |
| | | |
| | | this.InventorySummaryColumn( relnew, Name := periodname, StartDate := periodtime, EndaDate := monthend, TimeUnit := Translations::MP_GlobalParameters_Month() ); |
| | | this.InventorySummaryColumn( relnew, Name := monthend.Format( "M2/D2/Y" ), StartDate := start.Date(), EndaDate := monthend, TimeUnit := Translations::MP_GlobalParameters_Month() ); |
| | | } |
| | | } |
| | | } |
| | |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | |
| | | //天ï¼éæ©æ¥é¢ç²åº¦æ¶ï¼ææ«åºåï¼æå°åºåï¼æå¤§åºååå¹³ååºåçæ°å¼ä¿æä¸è´ |
| | | daycolumn := selectobject( table, InventorySummaryColumn, column, column.Name() = periodname, column.Period() = periodtime, column.TimeUnit() = Translations::MP_GlobalParameters_Day() ); |
| | | daycolumn := selectobject( table, InventorySummaryColumn, column, column.Name() = periodname, column.StartDate() = periodtime, column.TimeUnit() = Translations::MP_GlobalParameters_Day() ); |
| | | quantity := ifexpr( pispip.Period_MP().IsHistorical(), [Number]pispip.ActualInventoryLevelEnd(), [Number]pispip.PlannedInventoryLevelEnd() ); |
| | | factoryrow.SetCellValue( daycolumn, quantity ); |
| | | allrow.SetCellValue( daycolumn, quantity ); |
| | |
| | | selections := selectset( interface, InventoryPointSelection, selection, allsps.Find( selection.StockpoingPoint() ) >= 0 and selection.IsIncluded() ); |
| | | productids := selectuniquevalues( selections, Elements, selection, selection.ProductID() ); |
| | | //æåå°è¿äºåºä½ä¸é¶ä»¶å·çæ°éè¿è¡å æ» |
| | | traverse( table, InventorySummaryColumn, column, column.TimeUnit() = Translations::MP_GlobalParameters_Day() and column.Period() < startofplanning.Date() ){ |
| | | traverse( table, InventorySummaryColumn, column, column.TimeUnit() = Translations::MP_GlobalParameters_Day() and column.StartDate() < startofplanning.Date() ){ |
| | | traverse( productids, Elements, productid ){ |
| | | column.GenerateCell( selections, ccsps, dlsps, table, column.Period(), column.Period(), productid, allunit, ccunit, dlunit ); |
| | | column.GenerateCell( selections, ccsps, dlsps, table, column.StartDate(), column.EndaDate(), productid, allunit, ccunit, dlunit ); |
| | | } |
| | | } |
| | | |
| | |
| | | [* |
| | | // çå
°é¸½ Jun-25-2024 (created) |
| | | //æ¥è¯¢æ¥æè¿åéè¦å¨è®¡åæ¥æä¹å
|
| | | weekstart := owner.StartOfPlanning().Date(); |
| | | traverse( owner, Period_MP, period, not period.IsHistorical() and period.TimeUnit() = Translations::MP_GlobalParameters_Day() ){ |
| | | if( timeunit = 'All' or timeunit = Translations::MP_GlobalParameters_Day() ){ |
| | | periodtime := period.StartDate(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | |
| | | this.Column( relnew, Name := periodname, StartDate := periodtime, EndDate := periodtime, TimeUnit := Translations::MP_GlobalParameters_Day() ); |
| | | startofplanning := owner.StartOfPlanning(); |
| | | startofyear := startofplanning.StartOfYear().Date(); |
| | | startofendyear := startofplanning.StartOfNextYear().Date(); |
| | | //æ¥è¯¢æ¥æè¿åéè¦å¨è®¡åæ¥æä¹å
|
| | | if( startdate < startofendyear and enddate > startofyear ){ |
| | | if( startdate < startofyear ){ |
| | | startdate := startofyear; |
| | | } |
| | | |
| | | if( enddate > startofendyear ){ |
| | | enddate := startofendyear; |
| | | } |
| | | if( timeunit = 'All' or timeunit = Translations::MP_GlobalParameters_Day() ){ |
| | | for( start := startdate; start <= enddate; start := start.DateTime().StartOfNextDay().Date() ){ |
| | | periodname := start.Format( "M2/D2/Y" ); |
| | | this.Column( relnew, Name := periodname, StartDate := start, EndDate := start, TimeUnit := Translations::MP_GlobalParameters_Day() ); |
| | | } |
| | | } |
| | | if( timeunit = 'All' or timeunit = Translations::MP_GlobalParameters_Week() ){ |
| | | if( period.StartDate() = weekstart ){ |
| | | weekperiodname := weekstart.Format( "M2/D2/Y" ); |
| | | this.Column( relnew, Name := weekperiodname, StartDate := weekstart, EndDate := ( weekstart + Duration::Days( 6 ) ).Date(), TimeUnit := Translations::MP_GlobalParameters_Week() ); |
| | | weekstart := ( weekstart + Duration::Days( 7 ) ).Date(); |
| | | for( start := startdate; start <= enddate; start := start.StartOfNextWeek() ){ |
| | | periodname := start.Format( "M2/D2/Y" ); |
| | | weekend := ( start.StartOfNextWeek() - Duration::Days( 1 ) ).Date(); |
| | | |
| | | this.Column( relnew, Name := periodname, StartDate := start, EndDate := weekend, TimeUnit := Translations::MP_GlobalParameters_Week() ); |
| | | } |
| | | } |
| | | } |
| | |
| | | // çå
°é¸½ Jun-24-2024 (created) |
| | | owner.FinancialProductionSource( relflush ); |
| | | productparent := MachiningPipelineReport::GetDefaultProductParent(); |
| | | //ccunit := MachiningPipelineReport::GetDefaultCCUnit(); |
| | | //dlunit := MachiningPipelineReport::GetDefaultDLUnit(); |
| | | //allunit := EnginePipelineReport::GetDefaultAllUnit(); |
| | | source := owner.MachiningPipelineSource( relnew, Name := MachiningPipelineReport::GetDefaultName() ); |
| | | table := source.Report( relnew, ID := source.Name(), Name := source.Name() ); |
| | | showtable := source.Report( relnew, ID := source.Name() + 'Show', Name := source.Name(), IsShow := true ); |
| | |
| | | iscc := stockingpoint.ID().StartsWith( 'CC' ) or unit.ID().StartsWith( 'CC' ) or exists( parentunits, Elements, punit, punit.ID().StartsWith( 'CC' ) );//unit.ID() = ccunit or exists( parentunits, Elements, punit, punit.ID() = ccunit ); |
| | | //æ¯å¦å±äºå¤§è¿å·¥å |
| | | isdl := stockingpoint.ID().StartsWith( 'DL' ) or unit.ID().StartsWith( 'DL' ) or exists( parentunits, Elements, punit, punit.ID().StartsWith( 'DL' ) );//unit.ID() = dlunit or exists( parentunits, Elements, punit, punit.ID() = dlunit ); |
| | | //æ¯å¦å±äºé¿æ¥è£
é
线CCåå
åº |
| | | // isccassemnly := stockingpoint.ID().EndsWith( 'åå
åº' ) and ( stockingpoint.ID().StartsWith( 'CC' ) or stockingpoint.ID().StartsWith( 'é¿æ¥' ) );//unit.ID() = MachiningPipelineReport::GetDefaultCCAssemnlyUnit() or exists( parentunits, Elements, punit, punit.ID() = MachiningPipelineReport::GetDefaultCCAssemnlyUnit() ); |
| | | //æ¯å¦å±äºå¤§è¿è£
é
线DLåå
åº |
| | | // isdlassemnly := stockingpoint.ID().EndsWith( 'åå
åº' ) and ( stockingpoint.ID().StartsWith( 'DL' ) or stockingpoint.ID().StartsWith( '大è¿' ) );//unit.ID() = MachiningPipelineReport::GetDefaultDLAssemnlyUnit() or exists( parentunits, Elements, punit, punit.ID() = MachiningPipelineReport::GetDefaultDLAssemnlyUnit() ); |
| | | //æ¯å¦å±äºé¿æ¥æºå 产线 |
| | | isccproduction := stockingpoint.ID().EndsWith( '线边åº' ) and ( stockingpoint.ID().StartsWith( 'CC' ) or stockingpoint.ID().StartsWith( 'é¿æ¥' ) );//unit.ID() = MachiningPipelineReport::GetDefaultCCProductionUnit() or exists( parentunits, Elements, punit, punit.ID() = MachiningPipelineReport::GetDefaultCCProductionUnit() ); |
| | | //æ¯å¦å±äºå¤§è¿æºå 产线 |
| | | isdlproduction := unit.ID().EndsWith( 'MoMo' ) and unit.ID().StartsWith( 'DL' );//unit.ID() = MachiningPipelineReport::GetDefaultDLProductionUnit() or exists( parentunits, Elements, punit, punit.ID() = MachiningPipelineReport::GetDefaultDLProductionUnit() ); |
| | | if( iscc or isdl ){ |
| | | traverse( stockingpoint, ProductInStockingPoint_MP, pisp, pisp.Product_MP().IsLeaf() and not pisp.IsSystem() |
| | | traverse( stockingpoint, ProductInStockingPoint_MP, pisp, pisp.Product_MP().IsLeaf() and not pisp.IsSystem()// and pisp.ProductID() = '06K103011CM' |
| | | and exists( pisp.Product_MP().GetAllParent(), Elements, e, e.ID() = productparent ) |
| | | and exists( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day() and ( pispip.NewSupplyQuantity() <> 0 or pispip.PlannedInventoryLevelEnd() <> 0 or pispip.DependentDemandAndSalesDemandQuantity() <> 0 ) ) ){ |
| | | isccassemnly := stockingpoint.ID().EndsWith( pisp.Product_MP().ParentID() + '线边åº' ) and ( stockingpoint.ID().StartsWith( 'CC' ) or stockingpoint.ID().StartsWith( 'é¿æ¥' ) ); |
| | | isdlassemnly := stockingpoint.ID().EndsWith( pisp.Product_MP().ParentID() ) and ( stockingpoint.ID().StartsWith( 'DL' ) or stockingpoint.ID().StartsWith( '大è¿' ) ); |
| | | pispips := selectsortedset( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() |
| | | and pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day() and ( pispip.NewSupplyQuantity() <> 0 or pispip.PlannedInventoryLevelEnd() <> 0 or pispip.DependentDemandAndSalesDemandQuantity() <> 0 ), pispip.Start() ); |
| | | traverse( pispips, Elements, pispip ){ |
| | | traverse( pispips, Elements, pispip){//, pispip.Start().Month() = 1 and pispip.Start().Day() = 2 |
| | | products.Add( pisp.Product_MP() ); |
| | | |
| | | //天 |
| | |
| | | |
| | | row := table.GetRow( pisp.ProductID() ); |
| | | |
| | | //è£
é
线 |
| | | if( isccassemnly or isdlassemnly ){ |
| | | quantity := [Number]pispip.DependentDemandAndSalesDemandQuantity();//åèäºå
¥ |
| | | row.SetCellProductionValue( daycolumn, isccassemnly, [Real]quantity ); |
| | | row.SetCellProductionValue( weekcolumn, isccassemnly, [Real]quantity ); |
| | | } |
| | | |
| | | //æºå 线 |
| | | if( isccproduction or isdlproduction ){ |
| | | if( isccassemnly or isdlassemnly ){ |
| | | //è£
é
线 |
| | | quantity := [Number]pispip.DependentDemandAndSalesDemandQuantity();//åèäºå
¥ |
| | | row.SetAssemblyPlanValue( daycolumn, isccassemnly, [Real]quantity ); |
| | | row.SetAssemblyPlanValue( weekcolumn, isccassemnly, [Real]quantity ); |
| | | //ç产 |
| | | supplyqty := [Number]pispip.NewSupplyQuantity();//åèäºå
¥ |
| | | row.SetCellProductionValue( daycolumn, isccproduction, [Real]supplyqty ); |
| | | row.SetCellProductionValue( weekcolumn, isccproduction, [Real]supplyqty ); |
| | | // info( '****************', quantity, supplyqty ); |
| | | row.SetCellProductionValue( daycolumn, isccassemnly, [Real]supplyqty ); |
| | | row.SetCellProductionValue( weekcolumn, isccassemnly, [Real]supplyqty ); |
| | | } |
| | | |
| | | //åºå |
| | |
| | | |
| | | // è·åæå¤§å
è£
æ°é |
| | | maxPackageReflection := Reflection::FindAttribute( "PackagingPlanCapability", ppc.PackagingPlanRow().FactoryAbbreviation() + "_" + ppc.PackagingPlanRow().Category() + "_Package" ); |
| | | maxPackageQuantity := maxPackageReflection.GetNumber( macroPlan.PackagingPlanCapability() ); |
| | | // maxPackageQuantity := maxPackageReflection.GetNumber( macroPlan.PackagingPlanCapability() ); // æ¤å¤éè¦ä¿®æ¹ |
| | | maxPackageQuantity := 100000; |
| | | |
| | | // è·åæç»å
è£
æ°é |
| | | finalPackagingQuantity := minvalue( ceil( needPackagingQuantity / ppls.LotSize() ), ceil( ( maxPackageQuantity - prePPC.Package() ) / ppls.LotSize() ) ) * ppls.LotSize(); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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: '导å
¥' |
| | | Label: '导åº' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Maximum quantity' |
| | | Label: 'Maximum unpackaged quantity' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | if ( isnull( MacroPlan.PackagingPlanCapability() ) ) { |
| | | MacroPlan.PackagingPlanCapability( relnew ); |
| | | } |
| | | |
| | | |
| | | dlg := construct( DialogPackagingPlanCapability ); |
| | | |
| | | dlg.Opne( MacroPlan.PackagingPlanCapability() ); |
| | | dlg.Opne(); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |