Merge branch 'dev' of http://47.101.211.7:10101/r/VWED into dev
| | |
| | | RelationSide.RightSide FinancialProductionRow |
| | | { |
| | | #keys: '3[415136.0.992900299][415136.0.992900298][415136.0.992900300]' |
| | | Cardinality: '0to1' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: Product_MP |
| | | OwningSide: 'Reference' |
| | | } |
| | |
| | | RelationSide.RightSide FinancialSalesRow |
| | | { |
| | | #keys: '3[415136.0.993115881][415136.0.993115880][415136.0.993115882]' |
| | | Cardinality: '0to1' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: Product_MP |
| | | OwningSide: 'Reference' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation InterfacePlanInventoryDataPush_InterfaceDataset_InterfaceDataset_InterfacePlanInventoryDataPush |
| | | { |
| | | #keys: '1[413988.0.1493874639]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide InterfaceDataset |
| | | { |
| | | #keys: '3[413988.0.1493874641][413988.0.1493874640][413988.0.1493874642]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: InterfacePlanInventoryDataPush |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide InterfacePlanInventoryDataPush |
| | | { |
| | | #keys: '3[413988.0.1493874644][413988.0.1493874643][413988.0.1493874645]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: InterfaceDataset |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
| | |
| | | traverse( owner, FinancialProductionSource, source, not source.IsImport() ){//è´¢å¡äº§éæ¥è¡¨é导å
¥ |
| | | traverse( source, FinancialProductionReport, report, not report.IsShow() ){//è´¢å¡äº§éæ¥è¡¨ä¸æ¾ç¤º |
| | | traverse( report, FinancialProductionRow, row, row.Unit() = ccunit and exists( row, FinancialProductionCell, cell, cell.Value() <> '0' ) ){//è´¢å¡äº§éæ¥è¡¨éçé¿æ¥äº§é, ä¸ä¸º0 |
| | | ccrow := table.GetRow( row.Name() ); |
| | | product := row.Product_MP(); |
| | | productparents := product.GetAllParent(); |
| | | if( exists( productparents, Elements, e, e.ID() = produtparent ) ){//æ¥è¯¢äº§åç±»åæ¯å卿º |
| | | //æ¥è¯¢å¯¹åºçå卿ºææ¬ |
| | | enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation() = product.Generation() |
| | | enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation().ToLower() = product.Generation().ToLower() |
| | | and engine.MLB_MQB() = product.MQBMLB() |
| | | and engine.Factory() = ccunit |
| | | and exists( productparents, Elements, e, e.ID() = engine.Product() ) ); |
| | | and engine.Factory() = ccunit ); |
| | | if( not isnull( enginecost ) ){ |
| | | ccrow := table.GetRow( row.Name() ); |
| | | products.Add( product ); |
| | | traverse( row, FinancialProductionCell, cell, cell.Value() <> '0' ){ |
| | | //å
¥åºé/å
è£
容é*å
¥åºåä»·ï¼å
¥åºéçäºé¿æ¥äº§é |
| | |
| | | traverse( owner, FinancialSalesSource, source, not source.IsImport() ){//è´¢å¡ééæ¥è¡¨é导å
¥ |
| | | traverse( source, FinancialSalesReport, report, not report.IsShow() ){//è´¢å¡ééæ¥è¡¨ä¸æ¾ç¤º |
| | | traverse( report, FinancialSalesRow, row, row.Unit() = ccunit and exists( row, FinancialSalesCell, cell, cell.Value() <> '0' ) ){//è´¢å¡ééæ¥è¡¨éçé¿æ¥äº§é, ä¸ä¸º0 |
| | | ccrow := table.GetRow( row.Name() ); |
| | | product := row.Product_MP(); |
| | | productparents := product.GetAllParent(); |
| | | if( exists( productparents, Elements, e, e.ID() = produtparent ) ){//æ¥è¯¢äº§åç±»åæ¯å卿º |
| | | //æ¥è¯¢å¯¹åºçå卿ºææ¬ |
| | | enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation() = product.Generation() |
| | | enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation().ToLower() = product.Generation().ToLower() |
| | | and engine.MLB_MQB() = product.MQBMLB() |
| | | and engine.Factory() = ccunit |
| | | and exists( productparents, Elements, e, e.ID() = engine.Product() ) ); |
| | | and engine.Factory() = ccunit ); |
| | | if( not isnull( enginecost ) ){ |
| | | ccrow := table.GetRow( row.Name() ); |
| | | products.Add( product ); |
| | | traverse( row, FinancialSalesCell, cell, cell.Value() <> '0' ){ |
| | | //åºåºé/å
è£
容é*åºåºåä»·ï¼å
¥åºéçäºé¿æ¥éé |
| | |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | |
| | | column := selectobject( table, Column, column, column.Name() = periodname and column.StartDate() = periodtime ); |
| | | traverse( trip, ProductInTrip, pit, pit.Quantity() = 0 ){ |
| | | row := table.GetRow( pit.ProductID() ); |
| | | traverse( trip, ProductInTrip, pit, pit.Quantity() <> 0 ){ |
| | | product := pit.Product_MP(); |
| | | productparents := product.GetAllParent(); |
| | | if( exists( productparents, Elements, e, e.ID() = produtparent ) ){////æ¥è¯¢äº§åç±»åæ¯å卿º |
| | | //å¨å卿ºææ¬åæ°è¡¨æ¾å°å¯¹åºçå
è£
容é |
| | | enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation() = product.Generation() |
| | | enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation().ToLower() = product.Generation().ToLower() |
| | | and engine.MLB_MQB() = product.MQBMLB() |
| | | and engine.Factory() = ccunit |
| | | and exists( productparents, Elements, e, e.ID() = engine.Product() ) ); |
| | | and engine.Factory() = ccunit ); |
| | | //å¨è¿è¾ææ¬åæ°è¡¨éæ¾å°å卿ºå¯¹åºè¿è¾åä»·åè£
载容é |
| | | transcost := selectobject( owner, LogisticsCostTransport, trans, trans.Origin() = ccline |
| | | and trans.Destination() = ccrent |
| | | and exists( productparents, Elements, e, e.ID() = trans.Product() ) ); |
| | | and exists( productparents, Elements, e, ifexpr( trans.Product().FindString( 'å卿º', 0 ) >= 0, e.ID() = produtparent, e.ID() = trans.Product() ) ) ); |
| | | if( not isnull( enginecost ) and not isnull( transcost ) ){ |
| | | row := table.GetRow( pit.ProductID() ); |
| | | products.Add( product ); |
| | | //è¿è¾æ°é/å
è£
容é/è£
载容é*è¿è¾åä»· |
| | | quantity := ceil( ceil( [Number]pit.Quantity() / enginecost.PackagingCapacity() ) / transcost.LoadingCapacity() ) * transcost.TransportPrice();//åèäºå
¥ |
| | |
| | | //æ¯å¦å±äºé¿æ¥å¤ç§åº |
| | | isccrent := table.IsInUnit( stockingpoint, ccrent ); |
| | | if( isccrent ){ |
| | | traverse( stockingpoint, ProductInStockingPoint_MP, pisp, pisp.Product_MP().IsLeaf() ){ |
| | | traverse( stockingpoint, ProductInStockingPoint_MP, pisp, pisp.Product_MP().IsLeaf() |
| | | and exists( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().StartDate() < startofnextyear and pispip.NewSupplyQuantity() <> 0 ) ){ |
| | | //è·åè¡ |
| | | product := pisp.Product_MP(); |
| | | productparents := product.GetAllParent(); |
| | | row := table.GetRow( pisp.ProductID() ); |
| | | if( exists( productparents, Elements, e, e.ID() = produtparent ) ){////æ¥è¯¢äº§åç±»åæ¯å卿º |
| | | //æ¥è¯¢å¯¹åºçå卿ºææ¬ |
| | | enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation() = product.Generation() |
| | | enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation().ToLower() = product.Generation().ToLower() |
| | | and engine.MLB_MQB() = product.MQBMLB() |
| | | and engine.Factory() = ccunit |
| | | and exists( productparents, Elements, e, e.ID() = engine.Product() ) ); |
| | | and engine.Factory() = ccunit ); |
| | | if( not isnull( enginecost ) ){ |
| | | row := table.GetRow( pisp.ProductID() ); |
| | | products.Add( product ); |
| | | //å½product planningçæ¥æåºé´å¨éè¦çæ¥æåºé´å
|
| | | traverse( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().StartDate() < startofnextyear |
| | | ){ |
| | | traverse( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().StartDate() < startofnextyear and pispip.NewSupplyQuantity() <> 0 ){ |
| | | periodtime := pispip.Start().StartOfMonth().Date(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | quantity := ceil( [Number]pispip.NewSupplyQuantity() / enginecost.PackagingCapacity() ) * enginecost.StoragePrice();//åèäºå
¥ |
| | |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | |
| | | column := selectobject( table, Column, column, column.Name() = periodname and column.StartDate() = periodtime ); |
| | | traverse( trip, ProductInTrip, pit, pit.Quantity() = 0 and exists( pit.Product_MP().GetAllParent(), Elements, e, e.ID() = produtparent ) ){//æ¥è¯¢äº§åç±»åæ¯å卿º |
| | | traverse( trip, ProductInTrip, pit, pit.Quantity() <> 0 and not isnull( column ) and exists( pit.Product_MP().GetAllParent(), Elements, e, e.ID() = produtparent ) ){//æ¥è¯¢äº§åç±»åæ¯å卿º |
| | | quantity := [Number]pit.Quantity(); |
| | | row := table.GetRow( pit.ProductID() ); |
| | | product := pit.Product_MP(); |
| | | productparents := product.GetAllParent(); |
| | | if( isccrent ){//ç®çå°æ¯é¿æ¥å¤ç§åº |
| | | //å¨å卿ºææ¬åæ°è¡¨æ¾å°å¯¹åºçå
è£
容é |
| | | enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation() = product.Generation() |
| | | enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation().ToLower() = product.Generation().ToLower() |
| | | and engine.MLB_MQB() = product.MQBMLB() |
| | | and engine.Factory() = ccunit |
| | | and exists( productparents, Elements, e, e.ID() = engine.Product() ) ); |
| | | and engine.Factory() = ccunit ); |
| | | if( not isnull( enginecost ) ){ |
| | | products.Add( product ); |
| | | cell := selectobject( row, Cell, cell, cell.Column() = column ); |
| | |
| | | } |
| | | if( isdlrent ){//ç®çå°æ¯å¤§è¿å¤ç§åº |
| | | //å¨å卿ºææ¬åæ°è¡¨æ¾å°å¯¹åºçå
è£
容é |
| | | enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation() = product.Generation() |
| | | enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation().ToLower() = product.Generation().ToLower() |
| | | and engine.MLB_MQB() = product.MQBMLB() |
| | | and engine.Factory() = dlunit |
| | | and exists( productparents, Elements, e, e.ID() = engine.Product() ) ); |
| | | and engine.Factory() = dlunit ); |
| | | //å¨è¿è¾ææ¬åæ°è¡¨éæ¾å°å卿ºå¯¹åºè¿è¾åä»·åè£
载容é |
| | | transcost := selectobject( owner, LogisticsCostTransport, trans, trans.Origin() = dlline |
| | | and trans.Destination() = dlrent |
| | | and exists( productparents, Elements, e, e.ID() = trans.Product() ) ); |
| | | transcost := selectobject( owner, LogisticsCostTransport, trans, trans.Origin() = laneleg.OriginStockingPointID() |
| | | and trans.Destination() = laneleg.DestinationStockingPointID() |
| | | and exists( productparents, Elements, e, ifexpr( trans.Product().FindString( 'å卿º', 0 ) >= 0, e.ID() = produtparent, e.ID() = trans.Product() ) ) ); |
| | | if( not isnull( enginecost ) and not isnull( transcost ) ){ |
| | | products.Add( product ); |
| | | cell := selectobject( row, Cell, cell, cell.Column() = column ); |
| | |
| | | traverse( owner, FinancialProductionSource, source, not source.IsImport() ){//è´¢å¡äº§éæ¥è¡¨é导å
¥ |
| | | traverse( source, FinancialProductionReport, report, not report.IsShow() ){//è´¢å¡äº§éæ¥è¡¨ä¸æ¾ç¤º |
| | | traverse( report, FinancialProductionRow, row, row.Unit() = dlunit and exists( row, FinancialProductionCell, cell, cell.Value() <> '0' ) ){//è´¢å¡äº§éæ¥è¡¨éç大è¿äº§é, ä¸ä¸º0 |
| | | ccrow := table.GetRow( row.Name() ); |
| | | product := row.Product_MP(); |
| | | products.Add( product ); |
| | | productparents := product.GetAllParent(); |
| | | if( exists( productparents, Elements, e, e.ID() = produtparent ) ){//æ¥è¯¢äº§åç±»åæ¯å卿º |
| | | //æ¥è¯¢å¯¹åºçå卿ºææ¬ |
| | | enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation() = product.Generation() |
| | | enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation().ToLower() = product.Generation().ToLower() |
| | | and engine.MLB_MQB() = product.MQBMLB() |
| | | and engine.Factory() = dlunit |
| | | and exists( productparents, Elements, e, e.ID() = engine.Product() ) ); |
| | | and engine.Factory() = dlunit ); |
| | | if( not isnull( enginecost ) ){ |
| | | ccrow := table.GetRow( row.Name() ); |
| | | traverse( row, FinancialProductionCell, cell, cell.Value() <> '0' ){ |
| | | column := selectobject( table, Column, column, column.Name() = cell.FinancialProductionColumn().Name() ); |
| | | //大è¿å¤ç§åºå
¥åºè´¹ç¨ |
| | |
| | | traverse( owner, FinancialSalesSource, source, not source.IsImport() ){//è´¢å¡ééæ¥è¡¨é导å
¥ |
| | | traverse( source, FinancialSalesReport, report, not report.IsShow() ){//è´¢å¡ééæ¥è¡¨ä¸æ¾ç¤º |
| | | traverse( report, FinancialSalesRow, row, row.Unit() = ccunit and exists( row, FinancialSalesCell, cell, cell.Value() <> '0' ) ){//è´¢å¡ééæ¥è¡¨éç大è¿äº§é, ä¸ä¸º0 |
| | | ccrow := table.GetRow( row.Name() ); |
| | | product := row.Product_MP(); |
| | | productparents := product.GetAllParent(); |
| | | if( exists( productparents, Elements, e, e.ID() = produtparent ) ){//æ¥è¯¢äº§åç±»åæ¯å卿º |
| | | products.Add( product ); |
| | | //æ¥è¯¢å¯¹åºçå卿ºææ¬ |
| | | enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation() = product.Generation() |
| | | enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation().ToLower() = product.Generation().ToLower() |
| | | and engine.MLB_MQB() = product.MQBMLB() |
| | | and engine.Factory() = dlunit |
| | | and exists( productparents, Elements, e, e.ID() = engine.Product() ) ); |
| | | and engine.Factory() = dlunit ); |
| | | if( not isnull( enginecost ) ){ |
| | | ccrow := table.GetRow( row.Name() ); |
| | | traverse( row, FinancialSalesCell, cell, cell.Value() <> '0' ){ |
| | | column := selectobject( table, Column, column, column.Name() = cell.FinancialSalesColumn().Name() ); |
| | | //大è¿å¤ç§åºåºåºè´¹ç¨ |
| | |
| | | iscc := table.IsInUnit( destisp, ccunit ); |
| | | if( isdl and iscc ){ |
| | | //æ¥è¯¢å¯¹åºçå卿ºææ¬ |
| | | enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation() = product.Generation() |
| | | enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation().ToLower() = product.Generation().ToLower() |
| | | and engine.MLB_MQB() = product.MQBMLB() |
| | | and engine.Factory() = ccunit |
| | | and exists( productparents, Elements, e, e.ID() = engine.Product() ) ); |
| | | and engine.Factory() = ccunit ); |
| | | //å¨è¿è¾ææ¬åæ°è¡¨éæ¾å°å卿ºå¯¹åºè¿è¾åä»·åè£
载容é |
| | | transcost := selectobject( owner, LogisticsCostTransport, trans, trans.Origin() = dlline |
| | | and trans.Destination() = dlrent |
| | | and exists( productparents, Elements, e, e.ID() = trans.Product() ) ); |
| | | transcost := selectobject( owner, LogisticsCostTransport, trans, trans.Origin() = tprow.SourceStockpoingPointID() |
| | | and trans.Destination() = tprow.TargetStockpoingPointID() |
| | | and exists( productparents, Elements, e, ifexpr( trans.Product().FindString( 'å卿º', 0 ) >= 0, e.ID() = produtparent, e.ID() = trans.Product() ) ) ); |
| | | if( not isnull( enginecost ) and not isnull( transcost ) ){ |
| | | row := table.GetRow( product.ID() ); |
| | | products.Add( product ); |
| | | traverse( tprow,TransferPlanCell, tpcell, tpcell.TransferPlanColumn().ColumnDate() <> Date::MinDate() ){ |
| | | traverse( tprow,TransferPlanCell, tpcell, tpcell.TransferPlanColumn().ColumnDate() <> Date::MinDate() and [Number]tpcell.Value() > 0){ |
| | | periodtime := tpcell.TransferPlanColumn().ColumnDate().StartOfMonth(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | column := selectobject( table, Column, column, column.Name() = periodname and column.StartDate() = periodtime ); |
| | |
| | | } |
| | | } |
| | | //é¿æ¥çéè¿è¾è´¹ç¨ï¼å®¢æ·éæ±æ°é/å
è£
容é/è£
载容é*è¿è¾åä»·ï¼å®¢æ·éæ±æ°éåèªforecastésales segmentä¸ºé¿æ¥çæ°éæ±æ»ï¼åç¨å
¬å¼è®¡ç®ï¼æåº¦è¿è¡æ±æ»ï¼å客æ·éæ±æ°éæ¢ç®æè½¦æ¬¡ï¼ |
| | | traverse( owner, SalesDemand.astype( Forecast ), forecast, not isnull( forecast.SalesSegment_MP() ) and forecast.StartDate() < startofnextyear ){ |
| | | traverse( owner, SalesDemand.astype( Forecast ), forecast, forecast.Quantity() > 0 and not isnull( forecast.SalesSegment_MP() ) and forecast.StartDate() < startofnextyear ){ |
| | | salessegment := forecast.SalesSegment_MP(); |
| | | parentsalessegments := salessegment.GetAllParent(); |
| | | //æ¯å¦å±äºé¿æ¥ |
| | |
| | | product := forecast.Product_MP(); |
| | | productparents := product.GetAllParent(); |
| | | if( exists( productparents, Elements, e, e.ID() = produtparent ) ){//æ¥è¯¢äº§åç±»åæ¯å卿º |
| | | row := table.GetRow( forecast.ProductID() ); |
| | | products.Add( forecast.Product_MP() ); |
| | | |
| | | //æ¥è¯¢å¯¹åºçå卿ºææ¬ |
| | | enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation() = product.Generation() |
| | | enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation().ToLower() = product.Generation().ToLower() |
| | | and engine.MLB_MQB() = product.MQBMLB() |
| | | and engine.Factory() = ccunit |
| | | and exists( productparents, Elements, e, e.ID() = engine.Product() ) ); |
| | | and engine.Factory() = ccunit ); |
| | | if( not isnull( enginecost ) ){ |
| | | traverse( forecast, PlanningSalesDemandInPeriod, psdip ){ |
| | | row := table.GetRow( forecast.ProductID() ); |
| | | traverse( forecast, PlanningSalesDemandInPeriod, psdip, psdip.Quantity() > 0 ){ |
| | | periodtime := psdip.StartDate().StartOfMonth(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | // info( '-------------------------', periodname, periodtime ); |
| | |
| | | //æ¯å¦å±äºå¤§è¿å¤ç§åº |
| | | isdlrent := stockingpoint.ID() = dlrent or unit.ID() = dlrent or exists( parentunits, Elements, punit, punit.ID() = dlrent ); |
| | | if( isccrent or isdlrent ){ |
| | | traverse( stockingpoint, ProductInStockingPoint_MP, pisp, pisp.Product_MP().IsLeaf() ){ |
| | | traverse( stockingpoint, ProductInStockingPoint_MP, pisp, pisp.Product_MP().IsLeaf() |
| | | and exists( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().StartDate() < startofnextyear and pispip.NewSupplyQuantity() <> 0 ) ){ |
| | | //è·åè¡ |
| | | product := pisp.Product_MP(); |
| | | productparents := product.GetAllParent(); |
| | | if( exists( productparents, Elements, e, e.ID() = produtparent ) ){//æ¥è¯¢äº§åç±»åæ¯å卿º |
| | | row := table.GetRow( pisp.ProductID() ); |
| | | products.Add( pisp.Product_MP() ); |
| | | traverse( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().StartDate() < startofnextyear ){ |
| | | traverse( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().StartDate() < startofnextyear and pispip.NewSupplyQuantity() <> 0 ){ |
| | | periodtime := pispip.Start().StartOfMonth().Date(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | column := selectobject( table, Column, column, column.Name() = periodname and column.StartDate() = periodtime ); |
| | |
| | | |
| | | if( isccrent ){ |
| | | //å¨å卿ºææ¬åæ°è¡¨æ¾å°å¯¹åºçå
è£
容é |
| | | enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation() = product.Generation() |
| | | enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation().ToLower() = product.Generation().ToLower() |
| | | and engine.MLB_MQB() = product.MQBMLB() |
| | | and engine.Factory() = ccunit |
| | | and exists( productparents, Elements, e, e.ID() = engine.Product() ) ); |
| | | and engine.Factory() = ccunit ); |
| | | if( not isnull( enginecost ) ){ |
| | | cost := ceil( [Number]pispip.NewSupplyQuantity() / enginecost.PackagingCapacity() ) * enginecost.StoragePrice();//åèäºå
¥ |
| | | cell.CCRentStorageCost( cell.CCRentStorageCost() + cost ); |
| | | } |
| | | } else { |
| | | //å¨å卿ºææ¬åæ°è¡¨æ¾å°å¯¹åºçå
è£
容é |
| | | enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation() = product.Generation() |
| | | enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation().ToLower() = product.Generation().ToLower() |
| | | and engine.MLB_MQB() = product.MQBMLB() |
| | | and engine.Factory() = dlunit |
| | | and exists( productparents, Elements, e, e.ID() = engine.Product() ) ); |
| | | and engine.Factory() = dlunit ); |
| | | if( not isnull( enginecost ) ){ |
| | | cost := ceil( [Number]pispip.NewSupplyQuantity() / enginecost.PackagingCapacity() ) * enginecost.StoragePrice();//åèäºå
¥ |
| | | cell.DLRentStorageCost( cell.DLRentStorageCost() + cost );; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Fac |
| | | { |
| | | #keys: '3[413988.0.1493874711][413988.0.1493874710][413988.0.1493874712]' |
| | | Description: 'å·¥åç®å' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute FactoryName |
| | | { |
| | | #keys: '3[413988.0.1493874701][413988.0.1493874700][413988.0.1493874702]' |
| | | Description: 'å·¥ååç§°' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute InventoryDate |
| | | { |
| | | #keys: '3[413988.0.1493874665][413988.0.1493874664][413988.0.1493874666]' |
| | | Description: 'åºåæ¥æ' |
| | | ValueType: Date |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute PlanningInventory |
| | | { |
| | | #keys: '3[413988.0.1493874681][413988.0.1493874680][413988.0.1493874682]' |
| | | Description: 'å¯¹åºæ¥æç计ååºåæ°é' |
| | | ValueType: Number |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Product |
| | | { |
| | | #keys: '3[413988.0.1493874655][413988.0.1493874654][413988.0.1493874656]' |
| | | Description: 'ç©æå·' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute VersionName |
| | | { |
| | | #keys: '3[413988.0.1493874691][413988.0.1493874690][413988.0.1493874692]' |
| | | Description: 'çæ¬åç§°' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GenerateData ( |
| | | MacroPlan macroPlan, |
| | | InterfaceDataset interfaceDataset |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | interfaceDataset.InterfacePlanInventoryDataPush( relflush ); |
| | | |
| | | traverse ( macroPlan, Product_MP.ProductInStockingPoint_MP, pispmp, not pispmp.IsSystem() and pispmp.IsLeaf() ) { |
| | | traverse ( pispmp, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ), pispippl, not pispippl.IsPeriodFrozen() ) { |
| | | interfaceDataset.InterfacePlanInventoryDataPush( relnew, |
| | | Product := pispmp.ProductID(), |
| | | InventoryDate := pispippl.Start().Date(), |
| | | PlanningInventory := [Number]pispippl.InventoryLevelEnd(), |
| | | VersionName := macroPlan.ScenarioName(), |
| | | FactoryName := ifexpr( pispmp.StockingPointID().Regex( "大è¿" ) or pispmp.StockingPointID().Regex( "DL" ), "大è¿å·¥å", "é¿æ¥å·¥å" ), |
| | | Fac := ifexpr( pispmp.StockingPointID().Regex( "大è¿" ) or pispmp.StockingPointID().Regex( "DL" ), "DL", "CC" ) |
| | | ); |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type InterfacePlanInventoryDataPush |
| | | { |
| | | #keys: '5[413988.0.1493874636][413988.0.1493874634][0.0.0][413988.0.1493874635][413988.0.1493874637]' |
| | | BaseType: Object |
| | | StructuredName: 'InterfacePlanInventoryDataPushs' |
| | | } |
| | |
| | | traverse ( u, Lane.LaneLeg.Trip, t ) { |
| | | traverse ( t, ProductInTrip, pit, pit.Quantity() > 0.0 ) { |
| | | // æ¾è¡ |
| | | tpr := TransferPlanRow::FindTransferPlanRowTypeIndex( t.LaneLeg().AsOriginStockingPointLeg().StockingPoint_MP().Name(), |
| | | t.LaneLeg().AsDestinationStockingPointLeg().StockingPoint_MP().Name(), |
| | | tpr := TransferPlanRow::FindTransferPlanRowTypeIndex( TransferPlanRow::IdentifyTheFactory( t.LaneLeg().AsOriginStockingPointLeg().StockingPoint_MP() ), |
| | | TransferPlanRow::IdentifyTheFactory( t.LaneLeg().AsDestinationStockingPointLeg().StockingPoint_MP() ), |
| | | pit.Product_MP().ID() ); |
| | | if ( isnull( tpr ) ) { |
| | | tpr := macroPlan.TransferPlanRow( relnew, |
| | | RowNr := rowNr, |
| | | SourceStockpoingPointID := t.LaneLeg().AsOriginStockingPointLeg().StockingPoint_MP().Name(), |
| | | TargetStockpoingPointID := t.LaneLeg().AsDestinationStockingPointLeg().StockingPoint_MP().Name(), |
| | | SourceStockpoingPointID := TransferPlanRow::IdentifyTheFactory( t.LaneLeg().AsOriginStockingPointLeg().StockingPoint_MP() ), |
| | | TargetStockpoingPointID := TransferPlanRow::IdentifyTheFactory( t.LaneLeg().AsDestinationStockingPointLeg().StockingPoint_MP() ), |
| | | ProductID := pit.Product_MP().ID() ); |
| | | } |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod IdentifyTheFactory ( |
| | | StockingPoint_MP spmp |
| | | ) as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | factory := ""; |
| | | |
| | | if ( spmp.Name().Regex( "é¿æ¥" ) or spmp.Name().Regex( "CC" ) ) { |
| | | factory := "CC"; |
| | | } else if ( spmp.Name().Regex( "大è¿" ) or spmp.Name().Regex( "DL" ) ) { |
| | | factory := "DL"; |
| | | } else { |
| | | factory := "æ¾ä¸å°å±äºåªä¸ªå·¥å"; |
| | | } |
| | | |
| | | return factory; |
| | | *] |
| | | } |
| | |
| | | Taborder: 6 |
| | | ] |
| | | } |
| | | Component bMachineLogisticsCostReport |
| | | { |
| | | #keys: '[413988.0.1467117990]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'LOCATION_PIN' |
| | | Label: 'æºå ç©æµææ¬æ¥è¡¨' |
| | | Taborder: 7 |
| | | ] |
| | | } |
| | | Component ButtonScenarioComparisonDemandComparison id:ButtonScenarioComparisonDemandComparison_256 |
| | | { |
| | | #keys: '[412672.1.90201789]' |
| | |
| | | [ |
| | | Image: 'EQUALS' |
| | | Label: '鿱坹æ¯' |
| | | Taborder: 8 |
| | | Taborder: 7 |
| | | ] |
| | | } |
| | | Component ButtonScheduleSummaryReport |
| | |
| | | Taborder: 9 |
| | | ] |
| | | } |
| | | Component bCC_EngineRackReport |
| | | { |
| | | #keys: '[413988.0.1477120930]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'SATELLITE' |
| | | Label: 'é¿æ¥å卿ºææ¶æ¥è¡¨' |
| | | Taborder: 10 |
| | | ] |
| | | } |
| | | Component bDL_EngineRackReport |
| | | { |
| | | #keys: '[413988.0.1488511896]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'EARTH_LOCATION' |
| | | Label: '大è¿å卿ºææ¶æ¥è¡¨' |
| | | Taborder: 11 |
| | | ] |
| | | } |
| | | Component ButtonEngineLogisticsCostReport |
| | | { |
| | | #keys: '[415136.0.989557433]' |
| | |
| | | [ |
| | | Image: 'MONEY2' |
| | | Label: 'å卿ºç©æµææ¬æ¥è¡¨' |
| | | Taborder: 12 |
| | | Taborder: 10 |
| | | ] |
| | | } |
| | | Component ButtonAnnualPlanReport |
| | |
| | | [ |
| | | Image: 'DOCUMENT_HEART' |
| | | Label: 'å
¨å¹´è®¡åæ¥è¡¨' |
| | | Taborder: 13 |
| | | Taborder: 11 |
| | | ] |
| | | } |
| | | ] |
| | |
| | | Properties: |
| | | [ |
| | | Description: 'CC engine logistics cost report' |
| | | Image: 'MONEY2' |
| | | Taborder: 0 |
| | | Image: 'MONEY_COINS2' |
| | | Taborder: 1 |
| | | Title: 'é¿æ¥å卿ºç©æµææ¬æ¥è¡¨' |
| | | ] |
| | | } |
| | |
| | | Properties: |
| | | [ |
| | | Description: 'DL engine logistics cost report' |
| | | Image: 'MONEY2' |
| | | Taborder: 1 |
| | | Image: 'PIGGY_BANK' |
| | | Taborder: 2 |
| | | Title: '大è¿å卿ºç©æµææ¬æ¥è¡¨' |
| | | ] |
| | | } |
| | | Component mMachineLogisticsCostReport |
| | | { |
| | | #keys: '[413988.0.1492770837]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'LOCATION_PIN' |
| | | Taborder: 0 |
| | | Title: 'æºå ç©æµææ¬æ¥è¡¨' |
| | | ] |
| | | } |
| | | Component mCC_EngineRackReport |
| | | { |
| | | #keys: '[413988.0.1492701081]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'SATELLITE' |
| | | Taborder: 3 |
| | | Title: 'é¿æ¥å卿ºææ¶æ¥è¡¨' |
| | | ] |
| | | } |
| | | Component mDL_EngineRackReport |
| | | { |
| | | #keys: '[413988.0.1492780876]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'EARTH_LOCATION' |
| | | Taborder: 4 |
| | | Title: '大è¿å卿ºææ¶æ¥è¡¨' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | |
| | | Title: 'Finished engine inventory' |
| | | ] |
| | | } |
| | | Component mInterfacePlanInventoryDataPush |
| | | { |
| | | #keys: '[413988.0.1495640230]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Taborder: 3 |
| | | Title: '计ååºåæ°æ®æ¨éæ¥å£æµè¯' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ContextMenuEngineLogisticsCostReport/mCC_EngineRackReport |
| | | Response OnClick () id:Response_MacroPlanner_ContextMenuEngineLogisticsCostReport_mCC_EngineRackReport_OnClick |
| | | { |
| | | #keys: '[413988.0.1494079933]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebMenu_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | ApplicationScope.ViewManager().ResetUserViewById( "CCEngineRackReport", true); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ContextMenuEngineLogisticsCostReport/mDL_EngineRackReport |
| | | Response OnClick () id:Response_MacroPlanner_ContextMenuEngineLogisticsCostReport_mDL_EngineRackReport_OnClick |
| | | { |
| | | #keys: '[413988.0.1494298669]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebMenu_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | ApplicationScope.ViewManager().ResetUserViewById( "DLEngineRackReport", true); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ContextMenuEngineLogisticsCostReport/mMachineLogisticsCostReport |
| | | Response OnClick () id:Response_MacroPlanner_ContextMenuEngineLogisticsCostReport_mMachineLogisticsCostReport_OnClick |
| | | { |
| | | #keys: '[413988.0.1492720600]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebMenu_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | ApplicationScope.ViewManager().ResetUserViewById( "MachineLogisticsCostReport", true); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ContextMenuInterface/mInterfacePlanInventoryDataPush |
| | | Response OnClick () id:Response_MacroPlanner_ContextMenuInterface_mInterfacePlanInventoryDataPush_OnClick |
| | | { |
| | | #keys: '[413988.0.1495640258]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebMenu_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | InterfacePlanInventoryDataPush::GenerateData( MacroPlan, InterfaceDataset ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |