Merge branch 'dev' of http://47.101.211.7:10101/r/VWED into dev
已重命名2个文件
已添加144个文件
已修改58个文件
已删除19个文件
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation AssemblyOnlinePlanVersionSearch_InterfaceDataset_InterfaceDataset_AssemblyOnlinePlanVersionSearch |
| | | { |
| | | #keys: '1[415136.0.1184120209]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide InterfaceDataset |
| | | { |
| | | #keys: '3[415136.0.1184120211][415136.0.1184120210][415136.0.1184120212]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: AssemblyOnlinePlanVersionSearch |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide AssemblyOnlinePlanVersionSearch |
| | | { |
| | | #keys: '3[415136.0.1184120214][415136.0.1184120213][415136.0.1184120215]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: InterfaceDataset |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation AssemblyOnlinePlanVersion_Column_AssemblyOnlinePlanVersionColumn_Version |
| | | { |
| | | #keys: '1[415136.0.1184171015]' |
| | | DeclarativeSequenceRelationStrategy |
| | | { |
| | | #keys: '13[0.0.0][415136.0.1184171034][415136.0.1184171028][415136.0.1184171035][415136.0.1184171029][415136.0.1184171036][415136.0.1184171030][415136.0.1184171037][415136.0.1184171031][415136.0.1184171038][415136.0.1184171032][415136.0.1184171039][415136.0.1184171033]' |
| | | SequenceElementSuffix: 'VersionColumn' |
| | | SequenceSuffix: 'VersionColumn' |
| | | } |
| | | RelationSide.LeftSide Column |
| | | { |
| | | #keys: '3[415136.0.1184171017][415136.0.1184171016][415136.0.1184171018]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: AssemblyOnlinePlanVersion |
| | | OwningSide: 'Owned' |
| | | } |
| | | RelationSide.RightSide Version |
| | | { |
| | | #keys: '3[415136.0.1184171020][415136.0.1184171019][415136.0.1184171021]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: AssemblyOnlinePlanVersionColumn |
| | | OwningSide: 'Reference' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation AssemblyOnlinePlanVersion_InterfaceDataset_InterfaceDataset_AssemblyOnlinePlanVersion |
| | | { |
| | | #keys: '1[415136.0.1184171001]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide InterfaceDataset |
| | | { |
| | | #keys: '3[415136.0.1184171003][415136.0.1184171002][415136.0.1184171004]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: AssemblyOnlinePlanVersion |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide AssemblyOnlinePlanVersion |
| | | { |
| | | #keys: '3[415136.0.1184171006][415136.0.1184171005][415136.0.1184171007]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: InterfaceDataset |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation AssemblyOnlinePlanVersion_Row_AssemblyOnlinePlanVersionRow_Version |
| | | { |
| | | #keys: '1[415136.0.1184170985]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide Row |
| | | { |
| | | #keys: '3[415136.0.1184170987][415136.0.1184170986][415136.0.1184170988]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: AssemblyOnlinePlanVersion |
| | | OwningSide: 'Owned' |
| | | } |
| | | RelationSide.RightSide Version |
| | | { |
| | | #keys: '3[415136.0.1184170990][415136.0.1184170989][415136.0.1184170991]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: AssemblyOnlinePlanVersionRow |
| | | OwningSide: 'Reference' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation Factory_MacroPlan_MacroPlan_Factory |
| | | { |
| | | #keys: '1[415136.0.1188465634]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide MacroPlan |
| | | { |
| | | #keys: '3[415136.0.1188465636][415136.0.1188465635][415136.0.1188465637]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: Factory |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide Factory |
| | | { |
| | | #keys: '3[415136.0.1188465639][415136.0.1188465638][415136.0.1188465640]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: MacroPlan |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation InterfaceNewOfflinePlanDetailData_InterfaceNewOfflinePlanVersion_InterfaceNewOfflinePlanVersion_InterfaceNewOfflinePlanDetailData |
| | | { |
| | | #keys: '1[413988.0.1635820084]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide InterfaceNewOfflinePlanVersion |
| | | { |
| | | #keys: '3[413988.0.1635820086][413988.0.1635820085][413988.0.1635820087]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: InterfaceNewOfflinePlanDetailData |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide InterfaceNewOfflinePlanDetailData |
| | | { |
| | | #keys: '3[413988.0.1635820089][413988.0.1635820088][413988.0.1635820090]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: InterfaceNewOfflinePlanVersion |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation InterfaceNewOfflinePlanVersion_InterfaceDataset_InterfaceDataset_InterfaceNewOfflinePlanVersion |
| | | { |
| | | #keys: '1[413988.0.1635820033]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide InterfaceDataset |
| | | { |
| | | #keys: '3[413988.0.1635820035][413988.0.1635820034][413988.0.1635820036]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: InterfaceNewOfflinePlanVersion |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide InterfaceNewOfflinePlanVersion |
| | | { |
| | | #keys: '3[413988.0.1635820038][413988.0.1635820037][413988.0.1635820039]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: InterfaceDataset |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation NewOfflinePlanCell_Detailed_NewOfflinePlanCell_Total |
| | | { |
| | | #keys: '1[413988.0.1603460432]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide Detailed |
| | | { |
| | | #keys: '3[413988.0.1603460434][413988.0.1603460433][413988.0.1603460435]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: NewOfflinePlanCell |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide Total |
| | | { |
| | | #keys: '3[413988.0.1603460437][413988.0.1603460436][413988.0.1603460438]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: NewOfflinePlanCell |
| | | OwningSide: 'Reference' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation NewOfflinePlanCell_NewOfflinePlanColumn_NewOfflinePlanColumn_NewOfflinePlanCell |
| | | { |
| | | #keys: '1[413988.0.1603460144]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide NewOfflinePlanColumn |
| | | { |
| | | #keys: '3[413988.0.1603460146][413988.0.1603460145][413988.0.1603460147]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: NewOfflinePlanCell |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide NewOfflinePlanCell |
| | | { |
| | | #keys: '3[413988.0.1603460149][413988.0.1603460148][413988.0.1603460150]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: NewOfflinePlanColumn |
| | | OwningSide: 'Reference' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation NewOfflinePlanRow_NewOfflinePlanCell_NewOfflinePlanCell_NewOfflinePlanRow |
| | | { |
| | | #keys: '1[413988.0.1603460131]' |
| | | DeclarativeSequenceRelationStrategy |
| | | { |
| | | #keys: '13[0.0.0][413988.0.1603460275][413988.0.1603460269][413988.0.1603460276][413988.0.1603460270][413988.0.1603460277][413988.0.1603460271][413988.0.1603460278][413988.0.1603460272][413988.0.1603460279][413988.0.1603460273][413988.0.1603460280][413988.0.1603460274]' |
| | | SequenceElementSuffix: 'NOPCell' |
| | | SequenceSuffix: 'NOPCell' |
| | | SortAttributes: |
| | | [ |
| | | DeclarativeSequenceRelationSortAttribute |
| | | { |
| | | #keys: '1[413988.0.1603460282]' |
| | | Attribute: 'StartDate' |
| | | } |
| | | ] |
| | | } |
| | | RelationSide.LeftSide NewOfflinePlanCell |
| | | { |
| | | #keys: '3[413988.0.1603460133][413988.0.1603460132][413988.0.1603460134]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: NewOfflinePlanRow |
| | | OwningSide: 'Owned' |
| | | } |
| | | RelationSide.RightSide NewOfflinePlanRow |
| | | { |
| | | #keys: '3[413988.0.1603460136][413988.0.1603460135][413988.0.1603460137]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: NewOfflinePlanCell |
| | | OwningSide: 'Reference' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation NewOfflinePlanTable_MacroPlan_MacroPlan_NewOfflinePlanTable |
| | | { |
| | | #keys: '1[413988.0.1603460049]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide MacroPlan |
| | | { |
| | | #keys: '3[413988.0.1603460051][413988.0.1603460050][413988.0.1603460052]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: NewOfflinePlanTable |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide NewOfflinePlanTable |
| | | { |
| | | #keys: '3[413988.0.1603460054][413988.0.1603460053][413988.0.1603460055]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: MacroPlan |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation NewOfflinePlanTable_NewOfflinePlanColumn_NewOfflinePlanColumn_NewOfflinePlanTable |
| | | { |
| | | #keys: '1[413988.0.1603460118]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide NewOfflinePlanColumn |
| | | { |
| | | #keys: '3[413988.0.1603460120][413988.0.1603460119][413988.0.1603460121]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: NewOfflinePlanTable |
| | | OwningSide: 'Owned' |
| | | } |
| | | RelationSide.RightSide NewOfflinePlanTable |
| | | { |
| | | #keys: '3[413988.0.1603460123][413988.0.1603460122][413988.0.1603460124]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: NewOfflinePlanColumn |
| | | OwningSide: 'Reference' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation NewOfflinePlanTable_NewOfflinePlanRow_NewOfflinePlanRow_NewOfflinePlanTable |
| | | { |
| | | #keys: '1[413988.0.1603460091]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide NewOfflinePlanRow |
| | | { |
| | | #keys: '3[413988.0.1603460093][413988.0.1603460092][413988.0.1603460094]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: NewOfflinePlanTable |
| | | OwningSide: 'Owned' |
| | | } |
| | | RelationSide.RightSide NewOfflinePlanTable |
| | | { |
| | | #keys: '3[413988.0.1603460096][413988.0.1603460095][413988.0.1603460097]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: NewOfflinePlanRow |
| | | OwningSide: 'Reference' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation ProductGeneration_MacroPlan_MacroPlan_ProductGeneration |
| | | { |
| | | #keys: '1[415136.0.1188500009]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide MacroPlan |
| | | { |
| | | #keys: '3[415136.0.1188500011][415136.0.1188500010][415136.0.1188500012]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: ProductGeneration |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide ProductGeneration |
| | | { |
| | | #keys: '3[415136.0.1188500014][415136.0.1188500013][415136.0.1188500015]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: MacroPlan |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation ProductMLBMQB_MacroPlan_MacroPlan_ProductMLBMQB |
| | | { |
| | | #keys: '1[415136.0.1188500048]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide MacroPlan |
| | | { |
| | | #keys: '3[415136.0.1188500050][415136.0.1188500049][415136.0.1188500051]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: ProductMLBMQB |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide ProductMLBMQB |
| | | { |
| | | #keys: '3[415136.0.1188500053][415136.0.1188500052][415136.0.1188500054]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: MacroPlan |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation ProductPower_MacroPlan_MacroPlan_ProductPower |
| | | { |
| | | #keys: '1[415136.0.1188465592]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide MacroPlan |
| | | { |
| | | #keys: '3[415136.0.1188465594][415136.0.1188465593][415136.0.1188465595]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: ProductPower |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide ProductPower |
| | | { |
| | | #keys: '3[415136.0.1188465597][415136.0.1188465596][415136.0.1188465598]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: MacroPlan |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
| | |
| | | StaticMethod GenerateData ( |
| | | InterfaceDataset owner, |
| | | String werk, |
| | | const MacroPlan macroplan, |
| | | String version, |
| | | Date startdate, |
| | | Date enddate, |
| | | String executor |
| | |
| | | , ReturnMsg := 'Success' |
| | | , Success := true |
| | | ); |
| | | pir := owner.AOnlineAndMOfflinePlanPIR( relnew, ZPPPSCode := OS::GenerateGUIDAsString(), Werk := werk, Version := macroplan.ScenarioName(), StartDate := startdate, EndDate := enddate ); |
| | | pir := owner.AOnlineAndMOfflinePlanPIR( relnew, ZPPPSCode := OS::GenerateGUIDAsString(), Werk := werk, Version := version, StartDate := startdate, EndDate := enddate ); |
| | | loginfo.AOnlineAndMOfflinePlanPIR( relinsert, pir ); |
| | | traverse( macroplan, AssemblyOnlinePlanColumn, column, column.ColumnDate() >= startdate and column.ColumnDate() <= enddate ){ |
| | | traverse( column, AssemblyOnlinePlanCell, cell, ( werk = 'All' or cell.AssemblyOnlinePlanRow().ProductionLine().FindString( werk, 0 ) > -1 ) |
| | | and cell.AssemblyOnlinePlanRow().Type() = '1' ){ |
| | | quantityrow := cell.AssemblyOnlinePlanRow(); |
| | | if( not exists( productids, Elements, e, e = quantityrow.ProductID() ) ){ |
| | | productids.Add( quantityrow.ProductID() ); |
| | | } |
| | | |
| | | pir.PIRData( relnew, Product := quantityrow.ProductID() |
| | | , PlanningDate := column.ColumnDate() |
| | | , PlanningQty := [Number]cell.Value()); |
| | | } |
| | | } |
| | | |
| | | traverse( macroplan, OfflinePlanTable, table ){ |
| | | traverse( table, OfflinePlanColumn, column, column.ColumnDate() >= startdate and column.ColumnDate() <= enddate ){ |
| | | traverse( column, OfflinePlanCell, cell, ( werk = 'All' or cell.OfflinePlanRow().ProductionLine().FindString( werk, 0 ) > -1 ) |
| | | and ( cell.OfflinePlanRow().ProductionLine() <> 'DL_MOMO' or cell.OfflinePlanRow().ProductionLine() <> 'CC_MOMO' ) |
| | | and cell.OfflinePlanRow().Type() = '1' ){ |
| | | row := cell.OfflinePlanRow(); |
| | | if( not exists( productids, Elements, e, e = row.ProductID() ) ){ |
| | | productids.Add( row.ProductID() ); |
| | | traverse( owner, AssemblyOnlinePlanVersion, verison, not verison.IsShow() ){ |
| | | traverse( verison, Column, column, column.TimeUnit() = Translations::MP_GlobalParameters_Day() and column.StartDate() >= startdate and column.StartDate() <= enddate ){ |
| | | traverse( column, Cell, cell, ( werk = 'All' or cell.Row().ProductionLine().FindString( werk, 0 ) > -1 ) |
| | | and cell.Row().Type() = '1' ){ |
| | | quantityrow := cell.Row(); |
| | | if( not exists( productids, Elements, e, e = quantityrow.ProductID() ) ){ |
| | | productids.Add( quantityrow.ProductID() ); |
| | | } |
| | | pirdata := selectobject( pir, PIRData, pirdata, pirdata.Product() = row.ProductID() and pirdata.PlanningDate() = column.ColumnDate() ); |
| | | if( isnull( pirdata ) ){ |
| | | pirdata := pir.PIRData( relnew, Product := row.ProductID() |
| | | , PlanningDate := column.ColumnDate() |
| | | , PlanningQty := 0 ); |
| | | } |
| | | pirdata.PlanningQty( pirdata.PlanningQty() + [Number]cell.Value() ); |
| | | |
| | | pir.PIRData( relnew, Product := quantityrow.ProductID() |
| | | , PlanningDate := column.StartDate() |
| | | , PlanningQty := [Number]cell.Value()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //traverse( version, OfflinePlanTable, table ){ |
| | | // traverse( table, OfflinePlanColumn, column, column.ColumnDate() >= startdate and column.ColumnDate() <= enddate ){ |
| | | // traverse( column, OfflinePlanCell, cell, ( werk = 'All' or cell.OfflinePlanRow().ProductionLine().FindString( werk, 0 ) > -1 ) |
| | | // and ( cell.OfflinePlanRow().ProductionLine() <> 'DL_MOMO' or cell.OfflinePlanRow().ProductionLine() <> 'CC_MOMO' ) |
| | | // and cell.OfflinePlanRow().Type() = '1' ){ |
| | | // row := cell.OfflinePlanRow(); |
| | | // if( not exists( productids, Elements, e, e = row.ProductID() ) ){ |
| | | // productids.Add( row.ProductID() ); |
| | | // } |
| | | // pirdata := selectobject( pir, PIRData, pirdata, pirdata.Product() = row.ProductID() and pirdata.PlanningDate() = column.ColumnDate() ); |
| | | // if( isnull( pirdata ) ){ |
| | | // pirdata := pir.PIRData( relnew, Product := row.ProductID() |
| | | // , PlanningDate := column.ColumnDate() |
| | | // , PlanningQty := 0 ); |
| | | // } |
| | | // pirdata.PlanningQty( pirdata.PlanningQty() + [Number]cell.Value() ); |
| | | // } |
| | | // } |
| | | //} |
| | | traverse( productids, Elements, e ){ |
| | | for( date := startdate.StartOfWeek(); date <= enddate; date := ( date + Duration::Days( 1 ) ).Date() ){ |
| | | if( not exists( pir, PIRData, pirdata, pirdata.Product() = e and pirdata.PlanningDate() = date ) ){ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute EndDate |
| | | { |
| | | #keys: '3[415136.0.1184120166][415136.0.1184120165][415136.0.1184120167]' |
| | | ValueType: Date |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute StartDate |
| | | { |
| | | #keys: '3[415136.0.1184120156][415136.0.1184120155][415136.0.1184120157]' |
| | | ValueType: Date |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute TimeUnit |
| | | { |
| | | #keys: '3[415136.0.1184120146][415136.0.1184120145][415136.0.1184120147]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ID |
| | | { |
| | | #keys: '3[415136.0.1184170976][415136.0.1184170975][415136.0.1184170977]' |
| | | IsReadOnly: true |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute IsShow |
| | | { |
| | | #keys: '3[415136.0.1184120223][415136.0.1184120222][415136.0.1184120224]' |
| | | ValueType: Boolean |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Name |
| | | { |
| | | #keys: '3[415136.0.1184170979][415136.0.1184170978][415136.0.1184170980]' |
| | | Description: 'åç§°' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: ID |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: Name |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method GenerateColumn ( |
| | | Dates periods, |
| | | String timeunit, |
| | | Date starttime, |
| | | Date endtime |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-25-2024 (created) |
| | | mindate := min( periods, Elements, period, period ); |
| | | maxdate := max( periods, Elements, period, period ); |
| | | //æ¥è¯¢æ¥æè¿åéè¦å¨è®¡åæ¥æä¹å
|
| | | if( starttime < mindate and endtime > maxdate ){ |
| | | if( starttime < mindate ){ |
| | | starttime := mindate; |
| | | } |
| | | if( endtime > maxdate ){ |
| | | endtime := maxdate; |
| | | } |
| | | if( timeunit = Translations::MP_GlobalParameters_Day() ){ |
| | | for( start := starttime; start <= endtime; start := start.DateTime().StartOfNextDay().Date() ){ |
| | | periodname := start.Format( "M2/D2/Y" ); |
| | | if( not exists( this, Column, column, column.StartDate() = start ) ){ |
| | | this.Column( relnew, ColumnName := periodname, StartDate := start, EndDate := start, TimeUnit := Translations::MP_GlobalParameters_Day() ); |
| | | } |
| | | } |
| | | }else if( timeunit = Translations::MP_GlobalParameters_Week() ){ |
| | | // weekstartstr := ' KW'; |
| | | for( start := starttime; start <= endtime; start := start.StartOfNextWeek() ){ |
| | | weekend := ( start.StartOfNextWeek() - Duration::Days( 1 ) ).Date();//.Concat( weekstartstr.Concat( weekend.Week().Format( 'N(LPad0(2))' ) ) ) |
| | | |
| | | this.Column( relnew, ColumnName := weekend.Format( "M2/D2/Y" ), StartDate := start, EndDate := weekend, TimeUnit := Translations::MP_GlobalParameters_Week() ); |
| | | } |
| | | }else if( timeunit = Translations::MP_GlobalParameters_Month() ){ |
| | | for( start := starttime; start <= endtime; start := start.StartOfNextMonth() ){ |
| | | monthend := ( start.StartOfNextMonth() - Duration::Days( 1 ) ).Date();//.Concat( ' ' ).Concat( monthend.Format( "MM", us_locale ).Concat( '/').Concat( [String]monthend.Month() ).Concat( 'æ' ) ) |
| | | // us_locale := Locale::Construct( 'en_us' ); |
| | | this.Column( relnew, ColumnName := monthend.Format( "M2/D2/Y" ), StartDate := start, EndDate := monthend, TimeUnit := Translations::MP_GlobalParameters_Month() ); |
| | | } |
| | | } |
| | | } |
| | | //weekstart := periods.Element( 0 ); |
| | | //monthstart := periods.Element( 0 ); |
| | | //traverse( periods, Elements, periodtime ){ |
| | | // periodname := periodtime.Format( "M2/D2/Y" ); |
| | | // |
| | | // this.Column( relnew, Name := periodname, StartDate := periodtime, EndDate := periodtime, TimeUnit := Translations::MP_GlobalParameters_Day() ); |
| | | // |
| | | // if( periodtime = 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(); |
| | | // } |
| | | // if( periodtime = monthstart ){ |
| | | // monthperiodname := monthstart.Format( "M2/D2/Y" ); |
| | | // enddate := ( monthstart.StartOfNextMonth() - Duration::Days( 1 ) ).Date(); |
| | | // this.Column( relnew, Name := monthperiodname, StartDate := monthstart, EndDate := enddate, TimeUnit := Translations::MP_GlobalParameters_Month() ); |
| | | // monthstart := monthstart.StartOfNextMonth(); |
| | | // } |
| | | //} |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method GetColumnByTimeUnit ( |
| | | String unit, |
| | | Date period |
| | | ) as AssemblyOnlinePlanVersionColumn |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Aug-7-2024 (created) |
| | | |
| | | column := selectobject( this, Column, column, column.StartDate() <= period and column.EndDate() >= period and column.TimeUnit() = unit ); |
| | | |
| | | return column; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method GetRow ( |
| | | const AssemblyOnlinePlanRow aoprow |
| | | ) as AssemblyOnlinePlanVersionRow |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Oct-11-2024 (created) |
| | | row := selectobject( this, Row, row, row.ProductID() = aoprow.ProductID() and row.ProductionLine() = aoprow.ProductionLine() and row.Type() = aoprow.Type() ); |
| | | |
| | | if( isnull( row ) ){ |
| | | row := this.Row( relnew, ProductID := aoprow.ProductID(), ProductionLine := aoprow.ProductionLine(), Type := aoprow.Type() ); |
| | | //åå§ååå
æ ¼ |
| | | row.InitializeCell(); |
| | | } |
| | | |
| | | return row; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GenerateData ( |
| | | InterfaceDataset interface, |
| | | RecycleBin recycle, |
| | | const Archive archive |
| | | ) |
| | | { |
| | | Description: 'çæå¯ä»¥ä¸åç客æ·éæ±ï¼PPA+IDSï¼æ°æ®' |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Aug-20-2024 (created) |
| | | interface.CustomerDemandIDS( relflush ); |
| | | interface.CustomerDemandIDSSearch( relflush ); |
| | | allunit := CustomerDemandIDS::GetDefaultAllUnit(); |
| | | interface.CustomerDemandIDSSearch( relnew, Generation := allunit, MqbMlb := allunit, Power := allunit, TimeUnit := Translations::MP_GlobalParameters_Day(), Unit := allunit ); |
| | | idstable := interface.CustomerDemandIDS( relnew, ID := '客æ·éæ±', Name := '客æ·éæ±' ); |
| | | binaryValue := TemplateManager::GetIDSFullTable( archive, Date::ActualDate().Year() ); |
| | | source := GeneralExcelImportAndExportDataSource::Upload( recycle, binaryValue, OS::TempPath() + "template.xlsx" ); |
| | | source.ReadStructure(); |
| | | Transaction::Transaction().Propagate( attribute( GeneralExcelImportAndExportDataColumn, ColumnIndex ) ); |
| | | cnv2 := StringToDate::StandardConverter(); |
| | | cnv2.SetCustomConversion(); |
| | | cnv2.CustomFormatString( "yyyy/MM/dd" ); |
| | | idsdates := selectuniquevalues( source, GeneralExcelImportAndExportDataTable.GeneralExcelImportAndExportDataColumn, column, column.ColumnIndex() > 2, cnv2.Convert( column.Name() ) ); |
| | | ppadates := selectuniquevalues( interface, InterfaceForecast, forecast, forecast.Origin() = 'PPA', forecast.Date() ); |
| | | //ppadates := construct( Dates ); |
| | | //traverse( macroplan, SalesDemand.astype( Forecast ), forecast, forecast.Origin() = 'PPA' ){ |
| | | // ppadates := ppadates.Union( selectuniquevalues( forecast, PlanningSalesDemandInPeriod, salesdemand, salesdemand.StartDate() ) ); |
| | | //} |
| | | periods := idsdates.Union( ppadates ); |
| | | periods := selectuniquevalues( periods, Elements, e, e ); |
| | | idstable.GenerateColumn( periods.Sort() ); |
| | | traverse( recycle, GeneralExcelImportAndExportDataSource.GeneralExcelImportAndExportDataTable, table ){ |
| | | traverse( table, GeneralExcelImportAndExportDataRow, row ){ |
| | | productcell := selectobject( row, GeneralExcelImportAndExportDataCell, cell, cell.GeneralExcelImportAndExportDataColumn().ColumnIndex() = 2 ); |
| | | factorycell := selectobject( row, GeneralExcelImportAndExportDataCell, cell, cell.GeneralExcelImportAndExportDataColumn().ColumnIndex() = 0 ); |
| | | idsrow := idstable.GetRowByUnit( productcell.Value(), factorycell.Value() ); |
| | | traverse( row, GeneralExcelImportAndExportDataCell, cell, cell.GeneralExcelImportAndExportDataColumn().ColumnIndex() > 2 ){ |
| | | period := cnv2.Convert( cell.GeneralExcelImportAndExportDataColumn().Name() ); |
| | | daycolumn := idstable.GetColumnByTimeUnit( Translations::MP_GlobalParameters_Day(), period ); |
| | | weekcolumn := idstable.GetColumnByTimeUnit( Translations::MP_GlobalParameters_Week(), period ); |
| | | monthcolumn := idstable.GetColumnByTimeUnit( Translations::MP_GlobalParameters_Month(), period ); |
| | | idsrow.SetCellValue( daycolumn, [Number]cell.Value() ); |
| | | idsrow.SetCellValue( weekcolumn, [Number]cell.Value() ); |
| | | idsrow.SetCellValue( monthcolumn, [Number]cell.Value() ); |
| | | } |
| | | } |
| | | } |
| | | traverse( interface, InterfaceForecast, forecast, forecast.Origin() = 'PPA' ){ |
| | | idsrow := idstable.GetRowByUnit( forecast.PartNumber(), forecast.Factory() ); |
| | | daycolumn := idstable.GetColumnByTimeUnit( Translations::MP_GlobalParameters_Day(), forecast.Date() ); |
| | | weekcolumn := idstable.GetColumnByTimeUnit( Translations::MP_GlobalParameters_Week(), forecast.Date() ); |
| | | monthcolumn := idstable.GetColumnByTimeUnit( Translations::MP_GlobalParameters_Month(), forecast.Date() ); |
| | | idsrow.SetCellValue( daycolumn, [Number]forecast.Quantity() ); |
| | | idsrow.SetCellValue( weekcolumn, [Number]forecast.Quantity() ); |
| | | idsrow.SetCellValue( monthcolumn, [Number]forecast.Quantity() ); |
| | | } |
| | | |
| | | source.Delete(); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetDefaultAllUnit () const declarative as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-25-2024 (created) |
| | | return '<All>'; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetDefaultName () const declarative as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-25-2024 (created) |
| | | return 'è£
é
ä¸çº¿è®¡åå
¨é表'; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod RefreshData ( |
| | | InterfaceDataset interface, |
| | | const MacroPlan macroPlan |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | //æ ¹æ®å½åçæ¬çè£
é
ä¸çº¿è®¡å |
| | | allunit := AssemblyOnlinePlanVersion::GetDefaultAllUnit(); |
| | | name := AssemblyOnlinePlanVersion::GetDefaultName(); |
| | | search := interface.AssemblyOnlinePlanVersionSearch( relnew, Product := allunit, ProductionLine := allunit, TimeUnit := Translations::MP_GlobalParameters_Day(), Unit := allunit, StartDate := Date::MinDate(), EndDate := Date::MaxDate() ); |
| | | table := selectobject( interface, AssemblyOnlinePlanVersion, version, not version.IsShow() ); |
| | | if( isnull( table ) ){ |
| | | table := interface.AssemblyOnlinePlanVersion( relnew, ID := name, Name := name ); |
| | | } |
| | | showtable := selectobject( interface, AssemblyOnlinePlanVersion, version, version.IsShow() ); |
| | | if( isnull( table ) ){ |
| | | showtable := interface.AssemblyOnlinePlanVersion( relnew, ID := name, Name := name, IsShow := true ); |
| | | } |
| | | aopcolumns := selectuniquevalues( macroPlan, AssemblyOnlinePlanColumn, aopcolumn, not exists( table, Column, column, column.TimeUnit() = Translations::MP_GlobalParameters_Day() and column.StartDate() = aopcolumn.ColumnDate() ), aopcolumn.ColumnDate() ); |
| | | table.GenerateColumn( aopcolumns, search.TimeUnit(), search.StartDate(), search.EndDate() ); |
| | | traverse( macroPlan, AssemblyOnlinePlanRow, aoprow ){ |
| | | row := table.GetRow( aoprow ); |
| | | traverse( aoprow, AssemblyOnlinePlanCell, aopcell ){ |
| | | column := selectobject( table, Column, column, column.TimeUnit() = Translations::MP_GlobalParameters_Day() and column.StartDate() = aopcell.AssemblyOnlinePlanColumn().ColumnDate() ); |
| | | cell := selectobject( row, Cell, cell, cell.Column() = column ); |
| | | cell.InventoryWeight( aopcell.InventoryWeight() ); |
| | | cell.ProductionSerialNumber( aopcell.ProductionSerialNumber() ); |
| | | cell.Quantity( aopcell.Quantity() ); |
| | | cell.Shift( aopcell.Shift() ); |
| | | cell.Value( aopcell.Value() ); |
| | | } |
| | | } |
| | | //showtable.Generate( search, products ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type AssemblyOnlinePlanVersion |
| | | { |
| | | #keys: '5[415136.0.1184170973][415136.0.1184170971][0.0.0][415136.0.1184170972][415136.0.1184170974]' |
| | | BaseType: Object |
| | | Description: 'è£
é
ä¸çº¿è®¡åå
¨è¡¨æ°æ®' |
| | | StructuredName: 'AssemblyOnlinePlanVersions' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method Initialize ( |
| | | AssemblyOnlinePlanVersionColumn column |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-24-2024 (created) |
| | | cell := column.Cell( relnew, InventoryWeight := 0, ProductionSerialNumber := 0, Quantity := 0, Shift := '', Value := '' ); |
| | | |
| | | this.Cell( relinsert, cell ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method InitializeCell |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-28-2024 (created) |
| | | traverse( this.Version(), Column, column ){ |
| | | this.Initialize( column ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute EndDate |
| | | { |
| | | #keys: '3[415136.0.1184120182][415136.0.1184120181][415136.0.1184120183]' |
| | | ValueType: Date |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Product |
| | | { |
| | | #keys: '3[415136.0.1184120194][415136.0.1184120193][415136.0.1184120195]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ProductionLine |
| | | { |
| | | #keys: '3[415136.0.1184120240][415136.0.1184120239][415136.0.1184120241]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute StartDate |
| | | { |
| | | #keys: '3[415136.0.1184120197][415136.0.1184120196][415136.0.1184120198]' |
| | | ValueType: Date |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute TimeUnit |
| | | { |
| | | #keys: '3[415136.0.1184120200][415136.0.1184120199][415136.0.1184120201]' |
| | | Description: 'æ¥æç±»å' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Unit |
| | | { |
| | | #keys: '3[415136.0.1184120203][415136.0.1184120202][415136.0.1184120204]' |
| | | Description: '产线' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: Product |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: TimeUnit |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: Unit |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type AssemblyOnlinePlanVersionSearch |
| | | { |
| | | #keys: '5[415136.0.1184120179][415136.0.1184120177][0.0.0][415136.0.1184120178][415136.0.1184120180]' |
| | | BaseType: Object |
| | | Description: 'æ¥è¯¢ç±»' |
| | | StructuredName: 'AssemblyOnlinePlanVersionSearchs' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute CoefficientValue |
| | | { |
| | | #keys: '3[415136.0.1188511347][415136.0.1188511346][415136.0.1188511348]' |
| | | Description: 'ç³»æ°' |
| | | ValueType: String |
| | | } |
| | |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Aug-12-2024 (created) |
| | | value := this.EstimateTotalCost() * this.Coefficient(); |
| | | value := this.EstimateTotalCost() * [Real]this.CoefficientValue(); |
| | | |
| | | this.AllCost( value ); |
| | | *] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute CoefficientValue |
| | | { |
| | | #keys: '3[415136.0.1188511356][415136.0.1188511355][415136.0.1188511357]' |
| | | Description: 'ç³»æ°' |
| | | ValueType: String |
| | | } |
| | |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Aug-12-2024 (created) |
| | | value := this.EstimateTotalCost() * this.Coefficient(); |
| | | value := this.EstimateTotalCost() * [Real]this.CoefficientValue(); |
| | | |
| | | this.AllCost( value ); |
| | | *] |
| | |
| | | allunit := '<All>'; |
| | | //æ¸
空ä¹ååå¨çæ¾ç¤ºæ°æ® |
| | | this.Clear(); |
| | | //å¹´æ±æ» |
| | | yearcolumn := this.Column( relnew, Name := 'æ±æ»', StartDate := search.MacroPlan().StartOfPlanning().StartOfNextYear().Date() ); |
| | | //è¿æ»¤åç产åid |
| | | productids := selectuniquevalues( products, Elements, product, ( search.Generation() = allunit or product.Generation() = search.Generation() ) |
| | | and ( search.MqbMlb() = allunit or product.MQBMLB() = search.MqbMlb() ) |
| | | and ( search.Power() = allunit or product.Power() = search.Power() ), product.ID() ); |
| | | sumrow := this.Row( relnew, Name := 'SUM', RowNr := table.Row( relsize ) ); |
| | | sumyearcell := sumrow.Initialize( yearcolumn ); |
| | | traverse( table, Row, row ){ |
| | | productid := construct( Strings ); |
| | | productid.Add( row.Name() ); |
| | | |
| | | if( productids.ContainsAll( productid ) ){ |
| | | showrow := this.Row( relnew, Name := row.Name(), RowNr := row.RowNr() ); |
| | | yearcell := showrow.Initialize( yearcolumn ); |
| | | |
| | | traverse( row, Cell, cell ){ |
| | | column := selectobject( this, Column, column, column.Name() = cell.Column().Name() ); |
| | | |
| | | sumcell := selectobject( column, Cell, c, c.Row() = sumrow ); |
| | | if( isnull( sumcell ) ){ |
| | | sumcell := sumrow.Cell( relnew, RentInCost := 0 |
| | | , RentOutOfCost := 0 |
| | | , WerkToRentTransCost := 0 |
| | | , RentStorCost := 0 ); |
| | | column.Cell( relinsert, sumcell ); |
| | | sumcell := sumrow.Initialize( column ); |
| | | } |
| | | |
| | | //æ¾ç¤ºæåå
æ ¼ |
| | | showcell := showrow.Cell( relnew, RentInCost := cell.RentInCost(), RentOutOfCost := cell.RentOutOfCost(), WerkToRentTransCost := cell.WerkToRentTransCost(), RentStorCost := cell.RentStorCost() ); |
| | | column.Cell( relinsert, showcell ); |
| | | //æ¾ç¤ºå¹´åå
æ ¼ |
| | | yearcell.RentInCost( cell.RentInCost() + yearcell.RentInCost() ); |
| | | yearcell.RentOutOfCost( cell.RentOutOfCost() + yearcell.RentOutOfCost() ); |
| | | yearcell.WerkToRentTransCost( cell.WerkToRentTransCost() + yearcell.WerkToRentTransCost() ); |
| | | yearcell.RentStorCost( cell.RentStorCost() + yearcell.RentStorCost() ); |
| | | //æ¾ç¤ºå计年åå
æ ¼ |
| | | sumyearcell.RentInCost( cell.RentInCost() + sumyearcell.RentInCost() ); |
| | | sumyearcell.RentOutOfCost( cell.RentOutOfCost() + sumyearcell.RentOutOfCost() ); |
| | | sumyearcell.WerkToRentTransCost( cell.WerkToRentTransCost() + sumyearcell.WerkToRentTransCost() ); |
| | | sumyearcell.RentStorCost( cell.RentStorCost() + sumyearcell.RentStorCost() ); |
| | | //æ¾ç¤ºå计æåå
æ ¼ |
| | | sumcell.RentInCost( cell.RentInCost() + sumcell.RentInCost() ); |
| | | sumcell.RentOutOfCost( cell.RentOutOfCost() + sumcell.RentOutOfCost() ); |
| | | sumcell.WerkToRentTransCost( cell.WerkToRentTransCost() + sumcell.WerkToRentTransCost() ); |
| | |
| | | columnelement.AppendChild( estimatedtotalcostcellElement ); |
| | | //ç³»æ° |
| | | coefficientcellElement := xmlDOM.CreateElement( "cell" ); |
| | | coefficientcellElement.SetAttribute( "value", c.Coefficient().Format( 'N(Dec)' ) ); |
| | | coefficientcellElement.SetAttribute( "value", c.CoefficientValue() ); |
| | | columnelement.AppendChild( coefficientcellElement ); |
| | | //æ»è´¹ç¨ |
| | | totalcostcellElement := xmlDOM.CreateElement( "cell" ); |
| | |
| | | // cell.EstimatedTotalCost( [Number]valuecell.Value() ); |
| | | // } |
| | | else if( attricell.Value() = 'ç³»æ°' ){ |
| | | cell.Coefficient( [Number]valuecell.Value() ); |
| | | cell.CoefficientValue( valuecell.Value() ); |
| | | } |
| | | // else if( attricell.Value() = 'æ»è´¹ç¨' ){ |
| | | // cell.TotalCost( [Number]valuecell.Value() ); |
| | |
| | | enginecost := selectobject( enginecosts, Elements, engine, engine.StartDate() <= cellcolumn.Period() and engine.EndDate() >= cellcolumn.Period() ); |
| | | if( not isnull( enginecost ) ){ |
| | | //å
¥åºé/å
è£
容é*å
¥åºåä»·ï¼å
¥åºéçäºé¿æ¥äº§é |
| | | quantity := ceil( cell.Quantity() / enginecost.PackagingCapacity() ) * enginecost.WarehousingPrice(); |
| | | column := selectobject( table, Column, column, column.Name() = cell.FinancialProductionColumn().Name() ); |
| | | quantity := ceil( cell.Quantity() / enginecost.PackagingCapacity() ) * enginecost.WarehousingPrice(); |
| | | column := selectobject( table, Column, column, column.Name() = cell.FinancialProductionColumn().Name() ); |
| | | //å¤ç§åºå
¥åºè´¹ç¨ |
| | | ccrow.SetRentEnterCost( column, quantity ); |
| | | } |
| | |
| | | destisp := selectobject( owner, StockingPoint_MP, sp, sp.ID() = laneleg.DestinationStockingPointID() ); |
| | | isccrent := table.IsInUnit( destisp, ccrent ); |
| | | if( isccspline and isccrent ){ |
| | | traverse( laneleg, Trip, trip, trip.Arrival().Date() < startofnextyear ){ |
| | | periodtime := trip.Arrival().StartOfMonth().Date(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | |
| | | column := selectobject( table, Column, column, column.Name() = periodname and column.StartDate() = periodtime ); |
| | | enginecosts := selectset( owner, LogisticsCostEngine, engine, engine.PackagingCapacity() <> 0 and engine.StartDate() <= trip.Arrival().Date() and engine.EndDate() >= trip.Arrival().Date() ); |
| | | transcosts := selectset( owner, LogisticsCostTransport, trans, trans.LoadingCapacity() <> 0 and trans.StartDate() <= trip.Arrival().Date() and trans.EndDate() >= trip.Arrival().Date() ); |
| | | traverse( table, Column, column ){ |
| | | alltrips := selectset( laneleg, Trip, trip, trip.Arrival().Date() < column.StartDate().StartOfNextMonth() and trip.Arrival().Date() >= column.StartDate() ); |
| | | enginecosts := selectset( owner, LogisticsCostEngine, engine, engine.PackagingCapacity() <> 0 and engine.StartDate() <= column.StartDate() and engine.EndDate() >= column.StartDate() ); |
| | | transcosts := selectset( owner, LogisticsCostTransport, trans, trans.LoadingCapacity() <> 0 and trans.StartDate() <= column.StartDate() and trans.EndDate() >= column.StartDate() ); |
| | | if( not isnull( enginecosts ) and enginecosts.Size() > 0 and not isnull( transcosts ) and transcosts.Size() > 0 ){ |
| | | traverse( trip, ProductInTrip, pit, pit.Quantity() <> 0 ){ |
| | | product := pit.Product_MP(); |
| | | productparents := product.GetAllParent(); |
| | | if( exists( productparents, Elements, e, e.ID() = produtparent ) ){////æ¥è¯¢äº§åç±»åæ¯å卿º |
| | | //å¨å卿ºææ¬åæ°è¡¨æ¾å°å¯¹åºçå
è£
容é |
| | | enginecost := selectobject( enginecosts, Elements, engine, engine.Generation().ToLower() = product.Generation().ToLower() |
| | | and engine.MLB_MQB() = product.MQBMLB() |
| | | and engine.Factory() = ccfactory ); |
| | | //å¨è¿è¾ææ¬åæ°è¡¨éæ¾å°å卿ºå¯¹åºè¿è¾åä»·åè£
载容é |
| | | transcost := selectobject( transcosts, Elements, trans, trans.Origin() = 'CC åå
åº' |
| | | and trans.Destination() = ccrent |
| | | 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();//åèäºå
¥ |
| | | |
| | | row.SetFactoryToRentTransCost( column, quantity ); |
| | | } |
| | | producttrips := selectuniquevalues( alltrips, Elements.ProductInTrip, pit, pit.Quantity() <> 0 and exists( pit.Product_MP().GetAllParent(), Elements, e, e.ID() = produtparent ), pit.ProductID() ); |
| | | traverse( producttrips, Elements, producttrip ){ |
| | | row := table.GetRow( producttrip ); |
| | | product := selectobject( owner, Product_MP, product, product.ID() = producttrip ); |
| | | products.Add( product ); |
| | | quantity := sum( alltrips, Elements.ProductInTrip, pit, pit.Product_MP() = product, pit.Quantity() ); |
| | | enginecost := selectobject( enginecosts, Elements, engine, engine.Generation().ToLower() = product.Generation().ToLower() and engine.MLB_MQB() = product.MQBMLB() and engine.Factory() = ccfactory ); |
| | | //å¨è¿è¾ææ¬åæ°è¡¨éæ¾å°å卿ºå¯¹åºè¿è¾åä»·åè£
载容é |
| | | transcost := selectobject( transcosts, Elements, trans, trans.Origin() = 'CC åå
åº' and trans.Destination() = ccrent and exists( product.GetAllParent(), Elements, e, ifexpr( trans.Product().FindString( 'å卿º', 0 ) >= 0, e.ID() = produtparent, e.ID() = trans.Product() ) ) ); |
| | | if( not isnull( enginecost ) and not isnull( transcost ) ){ |
| | | cost := ceil( ceil( quantity / enginecost.PackagingCapacity() ) / transcost.LoadingCapacity() ) * transcost.TransportPrice();//åèäºå
¥ |
| | | row.SetFactoryToRentTransCost( column, cost ); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | //å¤ç§åºä»å¨è´¹ç¨ï¼ä»å¨æ°é/å
è£
容é*ä»å¨åä»·ï¼å¨Actual inventorieséåå°é¿æ¥å¤ç§åºè¯¥å卿ºçä»å¨éï¼æ ¹æ®å卿ºå·æ¾å°å¯¹åºçGeneration 忍ªçºµå¶ï¼å¨å卿ºææ¬åæ°è¡¨éæ¾å°å¯¹åºçä»å¨åä»·åå
è£
容éï¼ç¨å
¬å¼è®¡ç®ï¼æåº¦è¿è¡æ±æ» |
| | | traverse( owner, StockingPoint_MP, stockingpoint ){ |
| | | //æ¯å¦å±äºé¿æ¥å¤ç§åº |
| | | isccrent := table.IsInUnit( stockingpoint, ccrent ); |
| | | if( isccrent ){ |
| | | 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 ) ){////æ¥è¯¢äº§åç±»åæ¯å卿º |
| | | //æ¥è¯¢å¯¹åºçå卿ºææ¬ |
| | | enginecosts := selectset( owner, LogisticsCostEngine, engine, engine.PackagingCapacity() <> 0 and engine.Generation().ToLower() = product.Generation().ToLower() |
| | | and engine.MLB_MQB() = product.MQBMLB() |
| | | and engine.Factory() = ccfactory ); |
| | | if( not isnull( enginecosts ) and enginecosts.Size() > 0 ){ |
| | | 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 and pispip.NewSupplyQuantity() <> 0 ){ |
| | | enginecost := selectobject( enginecosts, Elements, engine, engine.StartDate() <= pispip.Start().Date() and engine.EndDate() >= pispip.Start().Date() ); |
| | | if( not isnull( enginecost ) ){ |
| | | periodtime := pispip.Start().StartOfMonth().Date(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | quantity := ceil( [Number]pispip.PlannedInventoryLevelEnd() / enginecost.PackagingCapacity() ) * enginecost.StoragePrice();//åèäºå
¥ |
| | | traverse( owner, StockingPoint_MP, stockingpoint, table.IsInUnit( stockingpoint, ccrent ) ){//æ¯å¦å±äºé¿æ¥å¤ç§åº |
| | | traverse( stockingpoint, ProductInStockingPoint_MP, pisp, pisp.Product_MP().IsLeaf() and exists( pisp.Product_MP().GetAllParent(), Elements, e, e.ID() = produtparent )//æ¥è¯¢äº§åç±»åæ¯å卿º |
| | | and exists( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().StartDate() < startofnextyear and pispip.PlannedInventoryLevelEnd() <> 0 ) ){ |
| | | //è·åè¡ |
| | | product := pisp.Product_MP(); |
| | | //æ¥è¯¢å¯¹åºçå卿ºææ¬ |
| | | enginecosts := selectset( owner, LogisticsCostEngine, engine, engine.PackagingCapacity() <> 0 and engine.Generation().ToLower() = product.Generation().ToLower() and engine.MLB_MQB() = product.MQBMLB()and engine.Factory() = ccfactory ); |
| | | if( not isnull( enginecosts ) and enginecosts.Size() > 0 ){ |
| | | row := table.GetRow( pisp.ProductID() ); |
| | | products.Add( product ); |
| | | //å½product planningçæ¥æåºé´å¨éè¦çæ¥æåºé´å
|
| | | // traverse( table, Column, column ){ |
| | | // pispips := selectset( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.PlannedInventoryLevelEnd() <> 0 |
| | | // and pispip.Start().Date() < column.StartDate().StartOfNextMonth() and pispip.Start().Date() >= column.StartDate() ); |
| | | |
| | | traverse( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().StartDate() < startofnextyear and pispip.PlannedInventoryLevelEnd() <> 0 ){ |
| | | enginecost := selectobject( enginecosts, Elements, engine, engine.StartDate() <= pispip.Start().Date() and engine.EndDate() >= pispip.Start().Date() ); |
| | | if( not isnull( enginecost ) ){ |
| | | periodtime := pispip.Start().StartOfMonth().Date(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | quantity := ceil( pispip.PlannedInventoryLevelEnd() / enginecost.PackagingCapacity() ) * enginecost.StoragePrice();//åèäºå
¥ |
| | | |
| | | column := selectobject( table, Column, column, column.Name() = periodname and column.StartDate() = periodtime ); |
| | | column := selectobject( table, Column, column, column.Name() = periodname and column.StartDate() = periodtime ); |
| | | |
| | | row.SetRentStorageCost( column, quantity ); |
| | | } |
| | | } |
| | | row.SetRentStorageCost( column, quantity ); |
| | | } |
| | | } |
| | | } |
| | |
| | | allunit := '<All>'; |
| | | //æ¸
空ä¹ååå¨çæ¾ç¤ºæ°æ® |
| | | this.Clear(); |
| | | //å¹´æ±æ» |
| | | yearcolumn := this.Column( relnew, Name := 'æ±æ»', StartDate := search.MacroPlan().StartOfPlanning().StartOfNextYear().Date() ); |
| | | //è¿æ»¤åç产åid |
| | | productids := selectuniquevalues( products, Elements, product, ( search.Generation() = allunit or product.Generation() = search.Generation() ) |
| | | and ( search.MqbMlb() = allunit or product.MQBMLB() = search.MqbMlb() ) |
| | | and ( search.Power() = allunit or product.Power() = search.Power() ), product.ID() ); |
| | | sumrow := this.Row( relnew, Name := 'SUM', RowNr := table.Row( relsize ) ); |
| | | sumyearcell := sumrow.Initialize( yearcolumn ); |
| | | traverse( table, Row, row ){ |
| | | productid := construct( Strings ); |
| | | productid.Add( row.Name() ); |
| | | |
| | | if( productids.ContainsAll( productid ) ){ |
| | | showrow := this.Row( relnew, Name := row.Name(), RowNr := row.RowNr() ); |
| | | yearcell := showrow.Initialize( yearcolumn ); |
| | | |
| | | traverse( row, Cell, cell ){ |
| | | column := selectobject( this, Column, column, column.Name() = cell.Column().Name() ); |
| | | |
| | | sumcell := selectobject( column, Cell, c, c.Row() = sumrow ); |
| | | if( isnull( sumcell ) ){ |
| | | sumcell := sumrow.Cell( relnew, CCRentInCost := 0 |
| | | , CCRentOutOfCost := 0 |
| | | , CCLongTransCost := 0 |
| | | , CCShorTransCost := 0 |
| | | , CCRentStorCost := 0 |
| | | , DLRentInCost := 0 |
| | | , DLRentOutOfCost := 0 |
| | | , WerkToDLRentTransCost := 0 |
| | | , DLRentStorCost := 0 ); |
| | | column.Cell( relinsert, sumcell ); |
| | | sumcell := sumrow.Initialize( column ); |
| | | } |
| | | |
| | | //æ¾ç¤ºæåå
æ ¼ |
| | | showcell := showrow.Cell( relnew, CCRentInCost := cell.CCRentInCost() |
| | | , CCRentOutOfCost := cell.CCRentOutOfCost() |
| | | , CCLongTransCost := cell.CCLongTransCost() |
| | |
| | | , WerkToDLRentTransCost := cell.WerkToDLRentTransCost() |
| | | , DLRentStorCost := cell.DLRentStorCost() ); |
| | | column.Cell( relinsert, showcell ); |
| | | //æ¾ç¤ºå¹´åå
æ ¼ |
| | | yearcell.CCRentInCost( cell.CCRentInCost() + yearcell.CCRentInCost() ); |
| | | yearcell.CCRentOutOfCost( cell.CCRentOutOfCost() + yearcell.CCRentOutOfCost() ); |
| | | yearcell.CCLongTransCost( cell.CCLongTransCost() + yearcell.CCLongTransCost() ); |
| | | yearcell.CCShorTransCost( cell.CCShorTransCost() + yearcell.CCShorTransCost() ); |
| | | yearcell.CCRentStorCost( cell.CCRentStorCost() + yearcell.CCRentStorCost() ); |
| | | yearcell.DLRentInCost( cell.DLRentInCost() + yearcell.DLRentInCost() ); |
| | | yearcell.DLRentOutOfCost( cell.DLRentOutOfCost() + yearcell.DLRentOutOfCost() ); |
| | | yearcell.WerkToDLRentTransCost( cell.WerkToDLRentTransCost() + yearcell.WerkToDLRentTransCost() ); |
| | | yearcell.DLRentStorCost( cell.DLRentStorCost() + yearcell.DLRentStorCost() ); |
| | | //æ¾ç¤ºå计年åå
æ ¼ |
| | | sumyearcell.CCRentInCost( cell.CCRentInCost() + sumyearcell.CCRentInCost() ); |
| | | sumyearcell.CCRentOutOfCost( cell.CCRentOutOfCost() + sumyearcell.CCRentOutOfCost() ); |
| | | sumyearcell.CCLongTransCost( cell.CCLongTransCost() + sumyearcell.CCLongTransCost() ); |
| | | sumyearcell.CCShorTransCost( cell.CCShorTransCost() + sumyearcell.CCShorTransCost() ); |
| | | sumyearcell.CCRentStorCost( cell.CCRentStorCost() + sumyearcell.CCRentStorCost() ); |
| | | sumyearcell.DLRentInCost( cell.DLRentInCost() + sumyearcell.DLRentInCost() ); |
| | | sumyearcell.DLRentOutOfCost( cell.DLRentOutOfCost() + sumyearcell.DLRentOutOfCost() ); |
| | | sumyearcell.WerkToDLRentTransCost( cell.WerkToDLRentTransCost() + sumyearcell.WerkToDLRentTransCost() ); |
| | | sumyearcell.DLRentStorCost( cell.DLRentStorCost() + sumyearcell.DLRentStorCost() ); |
| | | //æ¾ç¤ºå计æåå
æ ¼ |
| | | sumcell.CCRentInCost( cell.CCRentInCost() + sumcell.CCRentInCost() ); |
| | | sumcell.CCRentOutOfCost( cell.CCRentOutOfCost() + sumcell.CCRentOutOfCost() ); |
| | | sumcell.CCLongTransCost( cell.CCLongTransCost() + sumcell.CCLongTransCost() ); |
| | |
| | | columnelement.AppendChild( estimatedtotalcostcellElement ); |
| | | //ç³»æ° |
| | | coefficientcellElement := xmlDOM.CreateElement( "cell" ); |
| | | coefficientcellElement.SetAttribute( "value", c.Coefficient().Format( 'N(Dec)' ) ); |
| | | coefficientcellElement.SetAttribute( "value", c.CoefficientValue() ); |
| | | columnelement.AppendChild( coefficientcellElement ); |
| | | //æ»è´¹ç¨ |
| | | totalcostcellElement := xmlDOM.CreateElement( "cell" ); |
| | |
| | | // cell.EstimatedTotalCost( [Number]valuecell.Value() ); |
| | | // } |
| | | else if( attricell.Value() = 'ç³»æ°' ){ |
| | | cell.Coefficient( [Number]valuecell.Value() ); |
| | | cell.CoefficientValue( valuecell.Value() ); |
| | | } |
| | | // else if( attricell.Value() = 'æ»è´¹ç¨' ){ |
| | | // cell.TotalCost( [Number]valuecell.Value() ); |
| | |
| | | produtparent := DLEngineLogisticsCostReport::GetDefaultProductParent(); |
| | | name := DLEngineLogisticsCostReport::GetDefaultName(); |
| | | allunit := DLEngineLogisticsCostReport::GetDefaultAllUnit(); |
| | | ccunit := DLEngineLogisticsCostReport::GetDefaultCCUnit(); |
| | | dlunit := DLEngineLogisticsCostReport::GetDefaultDLUnit(); |
| | | ccfactory := DLEngineLogisticsCostReport::GetCCFactory(); |
| | | dlfactory := DLEngineLogisticsCostReport::GetDLFactory(); |
| | | //dlline := DLEngineLogisticsCostReport::GetStockingPointDLLine(); |
| | | //ccrent := DLEngineLogisticsCostReport::GetStockingPointCCRent(); |
| | | //dlrent := DLEngineLogisticsCostReport::GetStockingPointCCRent(); |
| | | |
| | | startofplanning := owner.StartOfPlanning().Date(); |
| | | //startofyear := startofplanning.StartOfYear(); |
| | | startofnextyear := startofplanning.StartOfNextYear(); |
| | | |
| | | table := owner.DLEngineLogisticsCostReport( relnew, ID := name, Name := name ); |
| | |
| | | //å¤ç§åºä»å¨è´¹ç¨ï¼ä»å¨æ°é/å
è£
容é*ä»å¨åä»·ï¼å¨Actual inventorieséåå°é¿æ¥å¤ç§åº/大è¿å¤ç§åºè¯¥å卿ºçä»å¨éï¼æ ¹æ®å卿ºå·æ¾å°å¯¹åºçGeneration 忍ªçºµå¶ï¼å¨å卿ºææ¬åæ°è¡¨éæ¾å°å¯¹åºçä»å¨åä»·åå
è£
容éï¼ç¨å
¬å¼è®¡ç®ï¼æåº¦è¿è¡æ±æ» |
| | | //é¿æ¥å¤ç§åºå
¥åº/åºåºè´¹ç¨ï¼å¤§è¿å卿ºçé¿æ¥å¤ç§åºçNew supply |
| | | traverse( owner, StockingPoint_MP, stockingpoint, stockingpoint.ID().EndsWith( 'å¤ç§åº' ) ){ |
| | | // unit := stockingpoint.Unit(); |
| | | // parentunits := unit.GetAllParent(); |
| | | //æ¯å¦å±äºé¿æ¥å¤ç§åºç¨äºé¿æ¥å¤ç§åºä»å¨è´¹ç¨ |
| | | isccrent := stockingpoint.ID().StartsWith( 'é¿æ¥' ) or stockingpoint.ID().StartsWith( 'CC' ); |
| | | //æ¯å¦å±äºå¤§è¿å卿ºçé¿æ¥å¤ç§åºç¨äºé¿æ¥å
¥åº/åºåºè´¹ç¨ |
| | | isdltoccrent := stockingpoint.ID().StartsWith( '大è¿å卿ºçé¿æ¥' ); |
| | | //æ¯å¦å±äºå¤§è¿å¤ç§åºç¨äºå¤§è¿å¤ç§åºä»å¨è´¹ç¨ |
| | | isdlrent := stockingpoint.ID().StartsWith( '大è¿' ) or stockingpoint.ID().StartsWith( 'DL' ); |
| | | if( isccrent or isdlrent ){ |
| | | 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 ) ){ |
| | | isdlrent := not isdltoccrent and stockingpoint.ID().StartsWith( '大è¿' ) or stockingpoint.ID().StartsWith( 'DL' ); |
| | | if( isdlrent or isdltoccrent){ |
| | | 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 or pispip.PlannedInventoryLevelEnd() <> 0 ) ) ){ |
| | | //è·åè¡ |
| | | product := pisp.Product_MP(); |
| | | productparents := product.GetAllParent(); |
| | | if( exists( productparents, Elements, e, e.ID() = produtparent ) ){//æ¥è¯¢äº§åç±»åæ¯å卿º |
| | | row := table.GetRow( pisp.ProductID() ); |
| | | enginecosts := selectset( owner, LogisticsCostEngine, engine, engine.PackagingCapacity() <> 0 and engine.Generation().ToLower() = product.Generation().ToLower() and engine.MLB_MQB() = product.MQBMLB() ); |
| | | transcosts := selectset( owner, LogisticsCostTransport, trans, trans.LoadingCapacity() <> 0 and exists( productparents, Elements, e, ifexpr( trans.Product().FindString( 'å卿º', 0 ) >= 0, e.ID() = produtparent, e.ID() = trans.Product() ) ) ); |
| | | if( not isnull( enginecosts ) and enginecosts.Size() > 0 ){ |
| | | products.Add( pisp.Product_MP() ); |
| | | traverse( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().StartDate() < startofnextyear and pispip.NewSupplyQuantity() <> 0 ){ |
| | | traverse( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().StartDate() < startofnextyear |
| | | and ( pispip.NewSupplyQuantity() <> 0 or pispip.PlannedInventoryLevelEnd() <> 0 ) ){ |
| | | periodtime := pispip.Start().StartOfMonth().Date(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | column := selectobject( table, Column, column, column.Name() = periodname and column.StartDate() = periodtime ); |
| | | cell := selectobject( row, Cell, cell, cell.Column() = column ); |
| | | |
| | | if( isccrent or isdltoccrent){ |
| | | if( isdltoccrent){ |
| | | //å¨å卿ºææ¬åæ°è¡¨æ¾å°å¯¹åºçå
è£
容é |
| | | enginecost := selectobject( enginecosts, Elements, engine, engine.StartDate() <= pispip.Start().Date() and engine.EndDate() >= pispip.Start().Date() |
| | | and engine.Factory() = ccfactory ); |
| | | if( not isnull( enginecost ) ){ |
| | | if( isccrent ){ |
| | | cost := ceil( pispip.PlannedInventoryLevelEnd() / enginecost.PackagingCapacity() ) * enginecost.StoragePrice();//åèäºå
¥ |
| | | cell.CCRentStorCost( cell.CCRentStorCost() + cost );//é¿æ¥å¤ç§åºä»å¨è´¹ç¨ |
| | | }else{ |
| | | cell.CCRentQty( cell.CCRentQty() + pispip.NewSupplyQuantity() ); |
| | | //é¿æ¥å¤ç§åºå
¥åºè´¹ç¨ï¼å
¥åºé/å
è£
容é*å
¥åºåä»· |
| | | entercost := ceil( pispip.NewSupplyQuantity() / enginecost.PackagingCapacity() ) * enginecost.WarehousingPrice(); |
| | | //é¿æ¥å¤ç§åºåºåºè´¹ç¨: åºåºé/å
è£
容é*åºåºåä»· |
| | | outcost := ceil( pispip.NewSupplyQuantity() / enginecost.PackagingCapacity() ) * enginecost.OutboundPrice(); |
| | | cell.CCRentInCost( cell.CCRentInCost() + entercost ); |
| | | cell.CCRentOutOfCost( cell.CCRentOutOfCost() + outcost ); |
| | | } |
| | | } |
| | | cell.CCRentQty( cell.CCRentQty() + pispip.NewSupplyQuantity() ); |
| | | //é¿æ¥å¤ç§åºå
¥åºè´¹ç¨ï¼å
¥åºé/å
è£
容é*å
¥åºåä»· |
| | | entercost := ceil( pispip.NewSupplyQuantity() / enginecost.PackagingCapacity() ) * enginecost.WarehousingPrice(); |
| | | //é¿æ¥å¤ç§åºåºåºè´¹ç¨: åºåºé/å
è£
容é*åºåºåä»· |
| | | outcost := ceil( pispip.NewSupplyQuantity() / enginecost.PackagingCapacity() ) * enginecost.OutboundPrice(); |
| | | cell.CCRentInCost( cell.CCRentInCost() + entercost ); |
| | | cell.CCRentOutOfCost( cell.CCRentOutOfCost() + outcost ); |
| | | cost := ceil( pispip.PlannedInventoryLevelEnd() / enginecost.PackagingCapacity() ) * enginecost.StoragePrice();//åèäºå
¥ |
| | | cell.CCRentStorCost( cell.CCRentStorCost() + cost );//é¿æ¥å¤ç§åºä»å¨è´¹ç¨ |
| | | transcost := selectobject( transcosts, Elements, trans, trans.StartDate() <= column.StartDate() and trans.EndDate() >= column.StartDate() and trans.Origin() = 'é¿æ¥å¤ç§åº' and trans.Destination() = '客æ·åº' ); |
| | | if( not isnull( transcost ) ){ |
| | | cost := ceil( ceil( pispip.NewSupplyQuantity() / enginecost.PackagingCapacity() ) / transcost.LoadingCapacity() ) * transcost.TransportPrice(); |
| | | cell.CCShorTransCost( cell.CCShorTransCost() + cost );//é¿æ¥çéè¿è¾è´¹ç¨ |
| | | } |
| | | } else { |
| | | //å¨å卿ºææ¬åæ°è¡¨æ¾å°å¯¹åºçå
è£
容é |
| | | enginecost := selectobject( enginecosts, Elements, engine, engine.StartDate() <= pispip.Start().Date() and engine.EndDate() >= pispip.Start().Date() |
| | | enginecost := selectobject( enginecosts, Elements, engine, engine.StartDate() <= pispip.Start().Date() and engine.EndDate() >= pispip.Start().Date() |
| | | and engine.Factory() = dlfactory ); |
| | | if( not isnull( enginecost ) ){ |
| | | cost := ceil( [Number]pispip.PlannedInventoryLevelEnd() / enginecost.PackagingCapacity() ) * enginecost.StoragePrice();//åèäºå
¥ |
| | | cell.DLRentStorCost( cell.DLRentStorCost() + cost );//大è¿å¤ç§åºä»å¨è´¹ç¨ |
| | | } |
| | | if( not isnull( enginecost ) ){ |
| | | cost := ceil( pispip.PlannedInventoryLevelEnd() / enginecost.PackagingCapacity() ) * enginecost.StoragePrice();//åèäºå
¥ |
| | | cell.DLRentStorCost( cell.DLRentStorCost() + cost );//大è¿å¤ç§åºä»å¨è´¹ç¨ |
| | | row.SetDLRentEnterCost( column, enginecost, pispip.NewSupplyQuantity() );//大è¿å¤ç§åºå
¥åºè´¹ç¨ |
| | | transcost := selectobject( transcosts, Elements, trans, trans.StartDate() <= pispip.Start().Date() and trans.EndDate() >= pispip.Start().Date() and trans.Origin() = '大è¿åå
åº' and trans.Destination() = '大è¿å¤ç§åº' ); |
| | | if( not isnull( transcost ) ){ |
| | | cost := ceil( ceil( pispip.NewSupplyQuantity() / enginecost.PackagingCapacity() ) / transcost.LoadingCapacity() ) * transcost.TransportPrice();//åèäºå
¥ |
| | | row.SetFactoryToRentTransCost( column, cost ); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | } |
| | | //å¨ trip planéæ¾å°å¤§è¿è£
é
线边åºå°å¤§è¿å¤ç§åºçè¿è¾æ°é//大è¿åå
åºå°å¤ç§åº |
| | | traverse( owner, Unit.Lane.LaneLeg, laneleg ){ |
| | | //èµ·å§åºåç¹æ¯å¦æ¯å¤§è¿è£
é
çº¿è¾¹åº |
| | | isdlspline := laneleg.OriginStockingPointID().EndsWith( 'åå
åº' ) and ( laneleg.OriginStockingPointID().StartsWith( '大è¿' ) or laneleg.OriginStockingPointID().StartsWith( 'DL' ) ); |
| | | //ç®çå°æ¯å¦æ¯å¤§è¿å¤ç§åº |
| | | isdlrent := laneleg.DestinationStockingPointID().EndsWith( 'å¤ç§åº' ) and ( laneleg.DestinationStockingPointID().StartsWith( '大è¿' ) or laneleg.DestinationStockingPointID().StartsWith( 'DL' ) ); |
| | | if( isdlspline and isdlrent ){ |
| | | traverse( laneleg, Trip, trip, trip.Departure().Date() < startofnextyear ){//ç±äºéè¦èè产åè¿è¾lead timeï¼æ¯ä¸ªæçæ±æ»æ°æ®éè¦æ¨è¿ä¸¤å¤©è¿è¡è®¡ç® |
| | | periodtime := trip.Departure().StartOfMonth().Date(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | |
| | | column := selectobject( table, Column, column, column.Name() = periodname and column.StartDate() = periodtime ); |
| | | enginecosts := selectset( owner, LogisticsCostEngine, engine, engine.PackagingCapacity() <> 0 and engine.StartDate() <= trip.Departure().Date() and engine.EndDate() >= trip.Departure().Date() ); |
| | | transcosts := selectset( owner, LogisticsCostTransport, trans, trans.LoadingCapacity() <> 0 and trans.StartDate() <= trip.Departure().Date() and trans.EndDate() >= trip.Departure().Date() ); |
| | | if( not isnull( enginecosts ) and enginecosts.Size() > 0 and not isnull( transcosts ) and transcosts.Size() > 0 ){ |
| | | 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(); |
| | | |
| | | //å¨å卿ºææ¬åæ°è¡¨æ¾å°å¯¹åºçå
è£
容é |
| | | enginecost := selectobject( enginecosts, Elements, engine, engine.Generation().ToLower() = product.Generation().ToLower() |
| | | and engine.MLB_MQB() = product.MQBMLB() |
| | | and engine.Factory() = dlfactory ); |
| | | //å¨è¿è¾ææ¬åæ°è¡¨éæ¾å°å卿ºå¯¹åºè¿è¾åä»·åè£
载容é |
| | | transcost := selectobject( transcosts, Elements, 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 ); |
| | | //è¿è¾æ°é/å
è£
容é/è£
载容é*è¿è¾åä»· |
| | | cost := ceil( ceil( quantity / enginecost.PackagingCapacity() ) / transcost.LoadingCapacity() ) * transcost.TransportPrice();//åèäºå
¥ |
| | | cell.WerkToDLRentTransCost( cell.WerkToDLRentTransCost() + cost ); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | //大è¿å¤ç§åºå
¥åºè´¹ç¨ï¼å
¥åºé/å
è£
容é*å
¥åºåä»·ï¼å
¥åºéçäºå¤§è¿å·¥å该产å产éåå»åå¾é¿æ¥(大è¿çé¿æ¥å¤ç§åºï¼çæ°é-newSupply |
| | | 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' and not cell.FinancialProductionColumn().IsDay() ) ){//è´¢å¡äº§éæ¥è¡¨éç大è¿äº§é, ä¸ä¸º0 |
| | | product := row.Product_MP(); |
| | | productparents := product.GetAllParent(); |
| | | if( exists( productparents, Elements, e, e.ID() = produtparent ) ){//æ¥è¯¢äº§åç±»åæ¯å卿º |
| | | //æ¥è¯¢å¯¹åºçå卿ºææ¬ |
| | | enginecosts := selectset( owner, LogisticsCostEngine, engine, engine.PackagingCapacity() <> 0 and engine.Generation().ToLower() = product.Generation().ToLower() |
| | | and engine.MLB_MQB() = product.MQBMLB() |
| | | and engine.Factory() = dlfactory ); |
| | | if( not isnull( enginecosts ) and enginecosts.Size() > 0 ){ |
| | | products.Add( product ); |
| | | ccrow := table.GetRow( row.Name() ); |
| | | traverse( row, FinancialProductionCell, cell, cell.Value() <> '0' and not cell.FinancialProductionColumn().IsDay() ){ |
| | | cellcolumn := cell.FinancialProductionColumn(); |
| | | enginecost := selectobject( enginecosts, Elements, engine, engine.StartDate() <= cellcolumn.Period() and engine.EndDate() >= cellcolumn.Period() ); |
| | | if( not isnull( enginecost ) ){ |
| | | column := selectobject( table, Column, column, column.Name() = cell.FinancialProductionColumn().Name() ); |
| | | //大è¿å¤ç§åºå
¥åºè´¹ç¨ |
| | | ccrow.SetDLRentEnterCost( column, enginecost, cell ); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | //大è¿å¤ç§åºåºåºè´¹ç¨ï¼åºåºé/å
è£
容é*åºåºåä»·ï¼åºåºéçäºå¤§è¿å·¥å该产åééåå»åå¾é¿æ¥çæ°é-newSupply, 大è¿åå
åºï¼å¤§è¿å¤ç§åº |
| | | 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' and not cell.FinancialSalesColumn().IsDay() ) ){//è´¢å¡ééæ¥è¡¨éç大è¿äº§é, ä¸ä¸º0 |
| | | product := row.Product_MP(); |
| | | productparents := product.GetAllParent(); |
| | | if( exists( productparents, Elements, e, e.ID() = produtparent ) ){//æ¥è¯¢äº§åç±»åæ¯å卿º |
| | | //æ¥è¯¢å¯¹åºçå卿ºææ¬ |
| | | enginecosts := selectset( owner, LogisticsCostEngine, engine, engine.PackagingCapacity() <> 0 and engine.Generation().ToLower() = product.Generation().ToLower() |
| | | and engine.MLB_MQB() = product.MQBMLB() |
| | | and engine.Factory() = dlfactory ); |
| | | if( not isnull( enginecosts ) and enginecosts.Size() > 0 ){ |
| | | products.Add( product ); |
| | | ccrow := table.GetRow( row.Name() ); |
| | | traverse( row, FinancialSalesCell, cell, cell.Value() <> '0' and not cell.FinancialSalesColumn().IsDay() ){ |
| | | cellcolumn := cell.FinancialSalesColumn(); |
| | | enginecost := selectobject( enginecosts, Elements, engine, engine.StartDate() <= cellcolumn.Period() and engine.EndDate() >= cellcolumn.Period() ); |
| | | if( not isnull( enginecost ) ){ |
| | | column := selectobject( table, Column, column, column.Name() = cell.FinancialSalesColumn().Name() ); |
| | | //大è¿å¤ç§åºåºåºè´¹ç¨ |
| | | ccrow.SetDLRentOutCost( column, enginecost, cell ); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | //é¿æ¥é¿éè¿è¾è´¹ç¨ï¼è°æ¨æ°é/å
è£
容é/è£
载容é*è¿è¾åä»·ï¼è°æ¨è®¡åéæ¾å°è¯¥äº§åä»DLå°CCçè°æ¨æ°éï¼å³èµ·å§å°å¤§è¿è£
é
线边åºï¼ç®çå°ä¸ºé¿æ¥å¤ç§åºå¯¹åºçè¿è¾æ°éï¼å¨å卿ºææ¬åæ°è¡¨æ¾å°å¯¹åºçå
è£
容éï¼å¨è¿è¾ææ¬åæ°è¡¨éæ¾å°å卿ºå¯¹åºè¿è¾åä»·åè£
载容éï¼ç¨å
¬å¼è®¡ç®å¾åºç»æï¼æåº¦è¿è¡æ±æ» |
| | | traverse( owner, TransferPlanRow, tprow ){ |
| | | product := selectobject( owner, Product_MP, product, product.ID() = tprow.ProductID() ); |
| | | productparents := product.GetAllParent(); |
| | | if( exists( productparents, Elements, e, e.ID() = produtparent ) ){//æ¥è¯¢äº§åç±»åæ¯å卿º |
| | | //èµ·å§åºåç¹æ¯å¦æ¯å¤§è¿(大è¿åå
åºï¼ |
| | | isdl := tprow.SourceStockpoingPointID().EndsWith( 'åå
åº' ) and ( tprow.TargetStockpoingPointID().StartsWith( '大è¿' ) or tprow.TargetStockpoingPointID().StartsWith( 'DL' ) ); |
| | | //ç®çå°åºåç¹æ¯å¦æ¯é¿æ¥ï¼é¿æ¥å¤ç§åºï¼ |
| | | iscc := tprow.TargetStockpoingPointID().EndsWith( 'å¤ç§åº' ) and ( tprow.TargetStockpoingPointID().StartsWith( 'é¿æ¥' ) or tprow.TargetStockpoingPointID().StartsWith( 'CC' ) ); |
| | | traverse( owner, Unit.Lane.LaneLeg, laneleg ){ |
| | | //èµ·å§åºåç¹æ¯å¦æ¯å¤§è¿(大è¿åå
åºï¼ |
| | | isdl := laneleg.OriginStockingPointID().EndsWith( 'åå
åº' ) and ( laneleg.OriginStockingPointID().StartsWith( '大è¿' ) or laneleg.OriginStockingPointID().StartsWith( 'DL' ) ); |
| | | //ç®çå°åºåç¹æ¯å¦æ¯é¿æ¥ï¼é¿æ¥å¤ç§åºï¼ |
| | | iscc := laneleg.DestinationStockingPointID() = '大è¿å卿ºçé¿æ¥å¤ç§åº'; |
| | | if( isdl and iscc ){ |
| | | //æ¥è¯¢å¯¹åºçå卿ºææ¬ |
| | | enginecosts := selectset( owner, LogisticsCostEngine, engine, engine.PackagingCapacity() <> 0 and engine.Generation().ToLower() = product.Generation().ToLower() |
| | | and engine.MLB_MQB() = product.MQBMLB() |
| | | and engine.Factory() = ccfactory ); |
| | | //å¨è¿è¾ææ¬åæ°è¡¨éæ¾å°å卿ºå¯¹åºè¿è¾åä»·åè£
载容é |
| | | transcosts := selectset( owner, LogisticsCostTransport, trans, trans.LoadingCapacity() <> 0 and 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() ) ) ); |
| | | traverse( table, Column, column){//, column.StartDate().Month() = 1 |
| | | alltrips := selectset( laneleg, Trip, trip, trip.Arrival().Date() < column.StartDate().StartOfNextMonth() and trip.Arrival().Date() >= column.StartDate() ); |
| | | enginecosts := selectset( owner, LogisticsCostEngine, engine, engine.PackagingCapacity() <> 0 and engine.StartDate() <= column.StartDate() and engine.EndDate() >= column.StartDate() ); |
| | | transcosts := selectset( owner, LogisticsCostTransport, trans, trans.LoadingCapacity() <> 0 and trans.StartDate() <= column.StartDate() and trans.EndDate() >= column.StartDate() ); |
| | | if( not isnull( enginecosts ) and enginecosts.Size() > 0 and not isnull( transcosts ) and transcosts.Size() > 0 ){ |
| | | row := table.GetRow( product.ID() ); |
| | | products.Add( product ); |
| | | traverse( tprow,TransferPlanCell, tpcell, tpcell.TransferPlanColumn().ColumnDate() <> Date::MinDate() and [Number]tpcell.Value() > 0){ |
| | | tpcolumndate := tpcell.TransferPlanColumn().ColumnDate(); |
| | | enginecost := selectobject( enginecosts, Elements, engine, engine.StartDate() <= tpcolumndate and engine.EndDate() >= tpcolumndate ); |
| | | transcost := selectobject( transcosts, Elements, trans, trans.StartDate() <= tpcolumndate and trans.EndDate() >= tpcolumndate ); |
| | | if( not isnull( enginecost ) and not isnull( transcost ) ){ |
| | | periodtime := tpcolumndate.StartOfMonth(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | column := selectobject( table, Column, column, column.Name() = periodname and column.StartDate() = periodtime ); |
| | | |
| | | cost := ceil( ceil( [Number]tpcell.Value() / enginecost.PackagingCapacity() ) / transcost.LoadingCapacity() ) * transcost.TransportPrice(); |
| | | cell := selectobject( row, Cell, cell, cell.Column() = column ); |
| | | cell.CCLongTransCost( cell.CCLongTransCost() + cost ); |
| | | } |
| | | producttrips := selectuniquevalues( alltrips, Elements.ProductInTrip, pit, pit.Quantity() <> 0 and exists( pit.Product_MP().GetAllParent(), Elements, e, e.ID() = produtparent ), pit.ProductID() ); |
| | | traverse( producttrips, Elements, producttrip ){//, producttrip = '6912' |
| | | |
| | | row := table.GetRow( producttrip ); |
| | | product := selectobject( owner, Product_MP, product, product.ID() = producttrip ); |
| | | products.Add( product ); |
| | | quantity := sum( alltrips, Elements.ProductInTrip, pit, pit.Product_MP() = product, pit.Quantity() ); |
| | | enginecost := selectobject( enginecosts, Elements, engine, engine.Generation().ToLower() = product.Generation().ToLower() |
| | | and engine.MLB_MQB() = product.MQBMLB() |
| | | and engine.Factory() = ccfactory ); |
| | | //å¨è¿è¾ææ¬åæ°è¡¨éæ¾å°å卿ºå¯¹åºè¿è¾åä»·åè£
载容é |
| | | transcost := selectobject( transcosts, Elements, trans, trans.Origin() = laneleg.OriginStockingPointID() |
| | | and trans.Destination() = laneleg.DestinationStockingPointID() |
| | | and exists( product.GetAllParent(), Elements, e, ifexpr( trans.Product().FindString( 'å卿º', 0 ) >= 0, e.ID() = produtparent, e.ID() = trans.Product() ) ) ); |
| | | |
| | | if( not isnull( enginecost ) and not isnull( transcost ) ){ |
| | | cost := ceil( ceil( quantity / enginecost.PackagingCapacity() ) / transcost.LoadingCapacity() ) * transcost.TransportPrice();//åèäºå
¥ |
| | | cell := selectobject( row, Cell, cell, cell.Column() = column ); |
| | | cell.CCLongTransCost( cell.CCLongTransCost() + cost ) |
| | | } |
| | | } |
| | | } |
| | | } |
| | | //traverse( owner, TransferPlanRow, tprow ){ |
| | | // product := selectobject( owner, Product_MP, product, product.ID() = tprow.ProductID() ); |
| | | // productparents := product.GetAllParent(); |
| | | // if( exists( productparents, Elements, e, e.ID() = produtparent ) ){//æ¥è¯¢äº§åç±»åæ¯å卿º |
| | | // //èµ·å§åºåç¹æ¯å¦æ¯å¤§è¿(大è¿åå
åºï¼ |
| | | // isdl := tprow.SourceStockpoingPointID().EndsWith( 'åå
åº' ) and ( tprow.TargetStockpoingPointID().StartsWith( '大è¿' ) or tprow.TargetStockpoingPointID().StartsWith( 'DL' ) ); |
| | | // //ç®çå°åºåç¹æ¯å¦æ¯é¿æ¥ï¼é¿æ¥å¤ç§åºï¼ |
| | | // iscc := tprow.TargetStockpoingPointID().EndsWith( 'å¤ç§åº' ) and ( tprow.TargetStockpoingPointID().StartsWith( 'é¿æ¥' ) or tprow.TargetStockpoingPointID().StartsWith( 'CC' ) ); |
| | | // if( isdl and iscc ){ |
| | | // //æ¥è¯¢å¯¹åºçå卿ºææ¬ |
| | | // enginecosts := selectset( owner, LogisticsCostEngine, engine, engine.PackagingCapacity() <> 0 and engine.Generation().ToLower() = product.Generation().ToLower() |
| | | // and engine.MLB_MQB() = product.MQBMLB() |
| | | // and engine.Factory() = ccfactory ); |
| | | // //å¨è¿è¾ææ¬åæ°è¡¨éæ¾å°å卿ºå¯¹åºè¿è¾åä»·åè£
载容é |
| | | // transcosts := selectset( owner, LogisticsCostTransport, trans, trans.LoadingCapacity() <> 0 and 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( enginecosts ) and enginecosts.Size() > 0 and not isnull( transcosts ) and transcosts.Size() > 0 ){ |
| | | // row := table.GetRow( product.ID() ); |
| | | // products.Add( product ); |
| | | // traverse( tprow,TransferPlanCell, tpcell, tpcell.TransferPlanColumn().ColumnDate() <> Date::MinDate() and [Number]tpcell.Value() > 0){ |
| | | // tpcolumndate := tpcell.TransferPlanColumn().ColumnDate(); |
| | | // enginecost := selectobject( enginecosts, Elements, engine, engine.StartDate() <= tpcolumndate and engine.EndDate() >= tpcolumndate ); |
| | | // transcost := selectobject( transcosts, Elements, trans, trans.StartDate() <= tpcolumndate and trans.EndDate() >= tpcolumndate ); |
| | | // if( not isnull( enginecost ) and not isnull( transcost ) ){ |
| | | // periodtime := tpcolumndate.StartOfMonth(); |
| | | // periodname := periodtime.Format( "M2/D2/Y" ); |
| | | // column := selectobject( table, Column, column, column.Name() = periodname and column.StartDate() = periodtime ); |
| | | // |
| | | // cost := ceil( ceil( [Number]tpcell.Value() / enginecost.PackagingCapacity() ) / transcost.LoadingCapacity() ) * transcost.TransportPrice(); |
| | | // cell := selectobject( row, Cell, cell, cell.Column() = column ); |
| | | // cell.CCLongTransCost( cell.CCLongTransCost() + cost ); |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | } |
| | | } |
| | | //é¿æ¥çéè¿è¾è´¹ç¨ï¼å®¢æ·éæ±æ°é/å
è£
容é/è£
载容é*è¿è¾åä»·ï¼å®¢æ·éæ±æ°éåèªforecastésales segmentä¸ºé¿æ¥çæ°éæ±æ»ï¼åç¨å
¬å¼è®¡ç®ï¼æåº¦è¿è¡æ±æ»ï¼å客æ·éæ±æ°éæ¢ç®æè½¦æ¬¡ï¼ |
| | | 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(); |
| | | //æ¯å¦å±äºé¿æ¥ |
| | | iscc := salessegment.Name().StartsWith( 'Changchun' ) or exists( parentsalessegments, Elements, psalessegment, psalessegment.Name().StartsWith( 'Changchun' ) ); |
| | | if( iscc ){ |
| | | product := forecast.Product_MP(); |
| | | productparents := product.GetAllParent(); |
| | | if( exists( productparents, Elements, e, e.ID() = produtparent ) ){//æ¥è¯¢äº§åç±»åæ¯å卿º |
| | | //æ¥è¯¢å¯¹åºçå卿ºææ¬ |
| | | allforecast := selectset( owner, SalesDemand.astype( Forecast ), forecast, forecast.Quantity() > 0 and not isnull( forecast.SalesSegment_MP() ) and forecast.StartDate() < startofnextyear and //forecast.ProductID() = '6912' and forecast.StartDate().Month() = 1 and |
| | | // ( forecast.SalesSegment_MP().Name().StartsWith( 'Changchun' ) or exists( forecast.SalesSegment_MP().GetAllParent(), Elements, psalessegment, psalessegment.Name().StartsWith( 'Changchun' ) ) or |
| | | ( forecast.SalesSegment_MP().Name().StartsWith( 'Foshan' ) or forecast.SalesSegment_MP().Name().StartsWith( 'Tianjin' ) |
| | | or exists( forecast.SalesSegment_MP().GetAllParent(), Elements, psalessegment, psalessegment.Name().StartsWith( 'Foshan' ) or psalessegment.Name().StartsWith( 'Tianjin' ) ) ) |
| | | and exists( forecast.Product_MP().GetAllParent(), Elements, e, e.ID() = produtparent ) ); |
| | | //ccforecasts := selectset( allforecast, Elements, forecast, forecast.SalesSegment_MP().Name().StartsWith( 'Changchun' ) or exists( forecast.SalesSegment_MP().GetAllParent(), Elements, psalessegment, psalessegment.Name().StartsWith( 'Changchun' ) ) ); |
| | | //ccproducts := selectuniquevalues( ccforecasts, Elements, forecast, forecast.ProductID() ); |
| | | dlforecasts := selectset( allforecast, Elements, forecast, forecast.SalesSegment_MP().Name().StartsWith( 'Foshan' ) or forecast.SalesSegment_MP().Name().StartsWith( 'Tianjin' ) |
| | | or exists( forecast.SalesSegment_MP().GetAllParent(), Elements, psalessegment, psalessegment.Name().StartsWith( 'Foshan' ) or psalessegment.Name().StartsWith( 'Tianjin' ) ) ); |
| | | dlproducts := selectuniquevalues( dlforecasts, Elements, forecast, forecast.ProductID() );; |
| | | //traverse( ccproducts, Elements, ccproduct){ |
| | | // product := selectobject( owner, Product_MP, product, product.ID() = ccproduct ); |
| | | //// info( '************', product.ID(), exists( ccforecasts, Elements, forecast, forecast.Quantity() > 0 )); |
| | | // //æ¥è¯¢å¯¹åºçå卿ºææ¬ |
| | | // enginecosts := selectset( owner, LogisticsCostEngine, engine, engine.PackagingCapacity() <> 0 and engine.Generation().ToLower() = product.Generation().ToLower() |
| | | // and engine.MLB_MQB() = product.MQBMLB()and engine.Factory() = ccfactory ); |
| | | // //å¨è¿è¾ææ¬åæ°è¡¨éæ¾å°å卿ºå¯¹åºè¿è¾åä»·åè£
载容é |
| | | // transcosts := selectset( owner, LogisticsCostTransport, trans, trans.LoadingCapacity() <> 0 and trans.Origin() = 'é¿æ¥å¤ç§åº' |
| | | // and trans.Destination() = '客æ·åº' |
| | | // and exists( product.GetAllParent(), Elements, e, ifexpr( trans.Product().FindString( 'å卿º', 0 ) >= 0, e.ID() = produtparent, e.ID() = trans.Product() ) ) ); |
| | | // if( not isnull( enginecosts ) and enginecosts.Size() > 0 and not isnull( transcosts ) and transcosts.Size() > 0 ){ |
| | | // row := table.GetRow( ccproduct ) |
| | | // products.Add( product ); |
| | | // traverse( table, Column, column ){ |
| | | // allpsdips := selectset( ccforecasts, Elements.PlanningSalesDemandInPeriod, psdip, psdip.ProductID() = ccproduct and psdip.Quantity() > 0 and psdip.StartDate() < column.StartDate().StartOfNextMonth() and psdip.StartDate() >= column.StartDate() ); |
| | | // enginecost := selectobject( enginecosts, Elements, engine, engine.StartDate() <= column.StartDate() and engine.EndDate() >= column.StartDate() ); |
| | | // transcost := selectobject( transcosts, Elements, trans, trans.StartDate() <= column.StartDate() and trans.EndDate() >= column.StartDate() ); |
| | | // if( not isnull( enginecost ) and not isnull( transcost ) ){ |
| | | // quantity := sum( allpsdips, Elements, psdip, psdip.Quantity() ); |
| | | // cost := ceil( ceil( quantity / enginecost.PackagingCapacity() ) / transcost.LoadingCapacity() ) * transcost.TransportPrice(); |
| | | // cell := selectobject( row, Cell, cell, cell.Column() = column ); |
| | | // cell.CCShorTransCost( cell.CCShorTransCost() + cost ); |
| | | // } |
| | | // } |
| | | // } |
| | | //} |
| | | traverse( dlproducts, Elements, ccproduct){ |
| | | |
| | | row := table.GetRow( ccproduct ) |
| | | product := selectobject( owner, Product_MP, product, product.ID() = ccproduct ); |
| | | //æ¥è¯¢å¯¹åºçå卿ºææ¬ |
| | | enginecosts := selectset( owner, LogisticsCostEngine, engine, engine.PackagingCapacity() <> 0 and engine.Generation().ToLower() = product.Generation().ToLower() |
| | | and engine.MLB_MQB() = product.MQBMLB() |
| | | and engine.Factory() = ccfactory ); |
| | | //å¨è¿è¾ææ¬åæ°è¡¨éæ¾å°å卿ºå¯¹åºè¿è¾åä»·åè£
载容é |
| | | transcosts := selectset( owner, LogisticsCostTransport, trans, trans.LoadingCapacity() <> 0 and trans.Origin() = 'é¿æ¥å¤ç§åº' |
| | | and trans.Destination() = '客æ·åº' |
| | | and exists( productparents, Elements, e, ifexpr( trans.Product().FindString( 'å卿º', 0 ) >= 0, e.ID() = produtparent, e.ID() = trans.Product() ) ) ); |
| | | if( not isnull( enginecosts ) and enginecosts.Size() > 0 ){ |
| | | products.Add( forecast.Product_MP() ); |
| | | row := table.GetRow( forecast.ProductID() ); |
| | | traverse( forecast, PlanningSalesDemandInPeriod, psdip, psdip.Quantity() > 0 ){ |
| | | enginecost := selectobject( enginecosts, Elements, engine, engine.StartDate() <= psdip.StartDate() and engine.EndDate() >= psdip.StartDate() ); |
| | | transcost := selectobject( transcosts, Elements, trans, trans.StartDate() <= psdip.StartDate() and trans.EndDate() >= psdip.StartDate() ); |
| | | if( not isnull( enginecost ) ){ |
| | | periodtime := psdip.StartDate().StartOfMonth(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | // info( '-------------------------', periodname, periodtime ); |
| | | column := selectobject( table, Column, column, column.Name() = periodname and column.StartDate() = periodtime ); |
| | | // info( '-------------------------', column.Name() ); |
| | | cost := ceil( ceil( [Number]psdip.Quantity() / enginecost.PackagingCapacity() ) / transcost.LoadingCapacity() ) * transcost.TransportPrice(); |
| | | cell := selectobject( row, Cell, cell, cell.Column() = column ); |
| | | cell.CCShorTransCost( cell.CCShorTransCost() + cost ); |
| | | } |
| | | } |
| | | and engine.MLB_MQB() = product.MQBMLB()and engine.Factory() = dlfactory ); |
| | | if( not isnull( enginecosts ) and enginecosts.Size() > 0 ){ |
| | | traverse( table, Column, column ){ |
| | | allpsdips := selectset( dlforecasts, Elements.PlanningSalesDemandInPeriod, psdip, psdip.ProductID() = ccproduct and psdip.Quantity() > 0 and psdip.StartDate() < column.StartDate().StartOfNextMonth() and psdip.StartDate() >= column.StartDate() ); |
| | | enginecost := selectobject( enginecosts, Elements, engine, engine.StartDate() <= column.StartDate() and engine.EndDate() >= column.StartDate() ); |
| | | if( not isnull( enginecost ) ){ |
| | | products.Add( product ); |
| | | quantity := sum( allpsdips, Elements, psdip, psdip.Quantity() ); |
| | | |
| | | cost := ceil( quantity / enginecost.PackagingCapacity() ) * enginecost.OutboundPrice(); |
| | | row.SetDLRentOutCost( column, cost ); |
| | | } |
| | | } |
| | | } |
| | |
| | | #parent: #root |
| | | Method Initialize ( |
| | | CCEngineLogisticsCostColumn column |
| | | ) |
| | | ) as CCEngineLogisticsCostCell |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-24-2024 (created) |
| | | cell := this.Cell( relnew, RentInCost := 0 |
| | | , RentOutOfCost := 0 |
| | | , WerkToRentTransCost := 0 |
| | | , RentStorCost := 0 ); |
| | | , RentOutOfCost := 0 |
| | | , WerkToRentTransCost := 0 |
| | | , RentStorCost := 0 |
| | | , CoefficientValue := '1.05' ); |
| | | |
| | | column.Cell( relinsert, cell ); |
| | | return cell; |
| | | *] |
| | | } |
| | |
| | | #parent: #root |
| | | Method Initialize ( |
| | | DLEngineLogisticsCostColumn column |
| | | ) |
| | | ) as DLEngineLogisticsCostCell |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-24-2024 (created) |
| | | cell := this.Cell( relnew, CCRentInCost := 0 |
| | | , CCRentOutOfCost := 0 |
| | | , CCLongTransCost := 0 |
| | | , CCShorTransCost := 0 |
| | | , CCRentStorCost := 0 |
| | | , DLRentInCost := 0 |
| | | , DLRentOutOfCost := 0 |
| | | , WerkToDLRentTransCost := 0 |
| | | , DLRentStorCost := 0 ); |
| | | , CCRentOutOfCost := 0 |
| | | , CCLongTransCost := 0 |
| | | , CCShorTransCost := 0 |
| | | , CCRentStorCost := 0 |
| | | , DLRentInCost := 0 |
| | | , DLRentOutOfCost := 0 |
| | | , WerkToDLRentTransCost := 0 |
| | | , DLRentStorCost := 0 |
| | | , CoefficientValue := '1.05'); |
| | | |
| | | column.Cell( relinsert, cell ); |
| | | return cell; |
| | | *] |
| | | } |
| | |
| | | Method SetDLRentEnterCost ( |
| | | DLEngineLogisticsCostColumn column, |
| | | LogisticsCostEngine enginecost, |
| | | FinancialProductionCell fpcell |
| | | Real quantity |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-24-2024 (created) |
| | | cell := selectobject( this, Cell, cell, cell.Column() = column ); |
| | | quantity := fpcell.Quantity() - cell.CCRentQty(); |
| | | //å
¥åºé/å
è£
容é*å
¥åºåä»·ï¼å
¥åºéçäºé¿æ¥äº§é |
| | | cost := ceil( quantity / enginecost.PackagingCapacity() ) * enginecost.WarehousingPrice(); |
| | | othercost := ceil( quantity / enginecost.PackagingCapacity() ) * enginecost.OtherPrice(); |
| | |
| | | #parent: #root |
| | | Method SetDLRentOutCost ( |
| | | DLEngineLogisticsCostColumn column, |
| | | LogisticsCostEngine enginecost, |
| | | FinancialSalesCell fscell |
| | | Real quantity |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-24-2024 (created) |
| | | cell := selectobject( this, Cell, cell, cell.Column() = column ); |
| | | quantity := [Number]fscell.Value() - cell.CCRentQty(); |
| | | //å
¥åºé/å
è£
容é*å
¥åºåä»·ï¼å
¥åºéçäºé¿æ¥äº§é |
| | | cost := ceil( quantity / enginecost.PackagingCapacity() ) * enginecost.WarehousingPrice(); |
| | | |
| | | value := cell.DLRentOutOfCost() + cost; |
| | | value := cell.DLRentOutOfCost() + quantity; |
| | | cell.DLRentOutOfCost( value ); |
| | | *] |
| | | } |
| | |
| | | //è¿æ»¤åç产åid |
| | | productids := selectuniquevalues( products, Elements, product, true, product.ID() ); |
| | | rows := selectsortedset( table, Row, row, row.RowNr() ); |
| | | //æ¾ç¤ºå |
| | | productcolumn := selectobject( this, Column, column, column.Index() = 0 ); |
| | | attricolumn := selectobject( this, Column, column, column.Index() = 1 ); |
| | | models := selectuniquevalues( table, Column.Cell.Demand, demand, demand.Model() ); |
| | | cellnr := 5 + models.Size(); |
| | | //åè®¡è¡ |
| | | sumrowproduction := EnginePipelineRow::CraeteCellValueForRow( this, productcolumn, attricolumn, 'SUM', 'æ»äº§é', rows.Size() * cellnr, true ); |
| | | sumrowdlproduction := EnginePipelineRow::CraeteCellValueForRow( this, productcolumn, attricolumn, 'SUM', '大è¿äº§é', sumrowproduction.RowNr() + 1, false ); |
| | | sumrowccproduction := EnginePipelineRow::CraeteCellValueForRow( this, productcolumn, attricolumn, 'SUM', 'é¿æ¥äº§é', sumrowproduction.RowNr() + 2, false ); |
| | | sumrowdemand := EnginePipelineRow::CraeteCellValueForRow( this, productcolumn, attricolumn, 'SUM', 'æ»éæ±', sumrowproduction.RowNr() + 3, false ); |
| | | sumname := 'SUM'; |
| | | sumstr := sumname.Format( 'S(Len(10))' ); |
| | | sumrowproduction := EnginePipelineRow::CraeteCellValueForRow( this, sumstr.Concat( 'æ»äº§é' ), sumname, '', rows.Size() * cellnr ); |
| | | sumrowdlproduction := EnginePipelineRow::CraeteCellValueForRow( this, sumstr.Concat( '大è¿äº§é' ), sumname, '', sumrowproduction.RowNr() + 1 ); |
| | | sumrowccproduction := EnginePipelineRow::CraeteCellValueForRow( this, sumstr.Concat( 'é¿æ¥äº§é' ), sumname, '', sumrowproduction.RowNr() + 2 ); |
| | | sumrowdemand := EnginePipelineRow::CraeteCellValueForRow( this, sumstr.Concat( 'æ»éæ±' ), sumname, '', sumrowproduction.RowNr() + 3 ); |
| | | rowno := sumrowproduction.RowNr() + 4; |
| | | traverse( models, Elements, model ){ |
| | | EnginePipelineRow::CraeteCellValueForRow( this, productcolumn, attricolumn, 'SUM', model.Concat( 'éæ±' ), rowno, false ); |
| | | EnginePipelineRow::CraeteCellValueForRow( this, sumstr.Concat( model.Concat( 'éæ±' ) ), sumname, model, rowno ); |
| | | rowno := rowno + 1; |
| | | } |
| | | sumrowinventory := EnginePipelineRow::CraeteCellValueForRow( this, productcolumn, attricolumn, 'SUM', 'åºå', rowno, false ); |
| | | sumrowinventory := EnginePipelineRow::CraeteCellValueForRow( this, sumstr.Concat( 'åºå' ), sumname, '', rowno ); |
| | | |
| | | //è¡è®¡æ° |
| | | rownr := 0; |
| | | traverse( rows, Elements, row, productids.Find( row.Name() ) >= 0 ){ |
| | | |
| | | showrowproduction := EnginePipelineRow::CraeteCellValueForRow( this, productcolumn, attricolumn, row.Name(), 'æ»ç产', rownr, true );; |
| | | showrowdlproduction := EnginePipelineRow::CraeteCellValueForRow( this, productcolumn, attricolumn, row.Name(), '大è¿äº§é', rownr + 1, false ); |
| | | showrowccproduction := EnginePipelineRow::CraeteCellValueForRow( this, productcolumn, attricolumn, row.Name(), 'é¿æ¥äº§é', rownr + 2, false ); |
| | | showrowdemand := EnginePipelineRow::CraeteCellValueForRow( this, productcolumn, attricolumn, row.Name(), 'æ»éæ±', rownr + 3, false ); |
| | | rowname := row.Name().Format( 'S(Len(10))' ); |
| | | showrowproduction := EnginePipelineRow::CraeteCellValueForRow( this, rowname.Concat( 'æ»äº§é' ), row.Name(), '', rownr ); |
| | | showrowdlproduction := EnginePipelineRow::CraeteCellValueForRow( this, rowname.Concat( '大è¿äº§é' ), row.Name(), '', rownr + 1 ); |
| | | showrowccproduction := EnginePipelineRow::CraeteCellValueForRow( this, rowname.Concat( 'é¿æ¥äº§é' ), row.Name(), '', rownr + 2 ); |
| | | showrowdemand := EnginePipelineRow::CraeteCellValueForRow( this, rowname.Concat( 'æ»éæ±' ), row.Name(), '', rownr + 3 ); |
| | | rownr := rownr + 4; |
| | | modelsnr := rownr + 3; |
| | | models := construct( Strings ); |
| | |
| | | traverse( uniquemodels, Elements, e ){ |
| | | |
| | | if( rownr < modelsnr ){ |
| | | EnginePipelineRow::CraeteCellValueForRow( this, productcolumn, attricolumn, row.Name(), e.Concat( 'éæ±' ), rownr, false ); |
| | | EnginePipelineRow::CraeteCellValueForRow( this, rowname.Concat( e.Concat( 'éæ±' ) ), row.Name(), e, rownr ); |
| | | models.Add( e ); |
| | | rownr := rownr + 1; |
| | | } |
| | |
| | | |
| | | for( rownr := rownr; rownr < modelsnr; rownr ++ ){ |
| | | |
| | | EnginePipelineRow::CraeteCellValueForRow( this, productcolumn, attricolumn, row.Name(), '', rownr, false ); |
| | | EnginePipelineRow::CraeteCellValueForRow( this, rowname.Concat( '' ), row.Name(), '', rownr ); |
| | | } |
| | | showrowinventory := EnginePipelineRow::CraeteCellValueForRow( this, productcolumn, attricolumn, row.Name(), 'åºå', rownr, false ); |
| | | showrowinventory := EnginePipelineRow::CraeteCellValueForRow( this, rowname.Concat( 'åºå' ), row.Name(), '', rownr ); |
| | | |
| | | traverse( row, Cell, cell, cell.Column().TimeUnit() = search.TimeUnit() ){ |
| | | |
| | |
| | | sumdemand.Value( [String]( [Real]sumdemand.Value() + cell.DemandQuantity() ) ); |
| | | |
| | | traverse( cell, Demand, demand, exists( models, Elements, model, model = demand.Model() ) ){ |
| | | demandrow := selectobject( this, Row, r, r.Name() = row.Name() and exists( r, CellValue, cv, cv.Column() = attricolumn and cv.Value() = demand.Model().Concat( 'éæ±' ) ) ); |
| | | sumdemandrow := selectobject( this, Row, r, r.Name() = 'SUM' and exists( r, CellValue, cv, cv.Column() = attricolumn and cv.Value() = demand.Model().Concat( 'éæ±' ) ) ); |
| | | demandrow := selectobject( this, Row, r, r.Product() = row.Name() and r.Demand() = demand.Model() ); |
| | | sumdemandrow := selectobject( this, Row, r, r.Name() = sumname and r.Demand() = demand.Model() ); |
| | | |
| | | if( not isnull( demandrow ) ){ |
| | | demandcell := column.CellValue( relnew, Value := [String]demand.Quantity() ); |
| | |
| | | } |
| | | traverse( this, Column, column ){ |
| | | for( demandr := sumrowdemand.RowNr() + 1; demandr < sumrowinventory.RowNr(); demandr := demandr + 1 ){ |
| | | demandrow := selectobject( this, Row, r, r.RowNr() = demandr and r.Name() = 'SUM' ); |
| | | demandrow := selectobject( this, Row, r, r.RowNr() = demandr and r.Name() = sumname ); |
| | | // info( '------------------14----------------' ); |
| | | if( not isnull( demandrow ) and not exists( demandrow, CellValue, cv, cv.Column() = column ) ){ |
| | | demandcell := column.CellValue( relnew, Value := '' ); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Demand |
| | | { |
| | | #keys: '3[415136.0.1188490188][415136.0.1188490187][415136.0.1188490189]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Product |
| | | { |
| | | #keys: '3[415136.0.1188500276][415136.0.1188500275][415136.0.1188500277]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: Product |
| | | } |
| | |
| | | #parent: #root |
| | | StaticMethod CraeteCellValueForRow ( |
| | | EnginePipelineReport table, |
| | | EnginePipelineColumn productcolumn, |
| | | EnginePipelineColumn attricolumn, |
| | | String productname, |
| | | String attriname, |
| | | Number rownr, |
| | | Boolean isfirst |
| | | String name, |
| | | String product, |
| | | String demand, |
| | | Number rownr |
| | | ) as EnginePipelineRow |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jul-11-2024 (created) |
| | | row := table.Row( relnew, Name := productname, RowNr := rownr ); |
| | | if( not isfirst ){ |
| | | productname := ''; |
| | | } |
| | | pcell := productcolumn.CellValue( relnew, Value := productname ); |
| | | acell := attricolumn.CellValue( relnew, Value := attriname ); |
| | | row.CellValue( relinsert, pcell ); |
| | | row.CellValue( relinsert, acell ); |
| | | traverse( table, Column, column, column.Index() > 1 ){ |
| | | row := table.Row( relnew, Name := name, RowNr := rownr, Product := product, Demand := demand ); |
| | | traverse( table, Column, column ){ |
| | | cell := column.CellValue( relnew, Value := '0' ); |
| | | row.CellValue( relinsert, cell ); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ID |
| | | { |
| | | #keys: '3[415136.0.1188465615][415136.0.1188465614][415136.0.1188465616]' |
| | | IsReadOnly: true |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Name |
| | | { |
| | | #keys: '3[415136.0.1188465625][415136.0.1188465624][415136.0.1188465626]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Initilize ( |
| | | MacroPlan owner |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Oct-12-2024 (created) |
| | | owner.Factory( relflush ); |
| | | owner.Factory( relnew, ID := "<All>", Name := 'All' ); |
| | | owner.Factory( relnew, ID := InventorySummaryReport::GetDefaultCCUnit(), Name := InventorySummaryReport::GetDefaultCCUnit() ); |
| | | owner.Factory( relnew, ID := InventorySummaryReport::GetDefaultDLUnit(), Name := InventorySummaryReport::GetDefaultDLUnit() ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type Factory |
| | | { |
| | | #keys: '5[415136.0.1188465611][415136.0.1188465609][0.0.0][415136.0.1188465610][415136.0.1188465612]' |
| | | BaseType: Object |
| | | Description: 'æ¥è¯¢å·¥å' |
| | | StructuredName: 'Factorys' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute IsUpdate |
| | | { |
| | | #keys: '3[415136.0.1188550030][415136.0.1188550029][415136.0.1188550031]' |
| | | Description: 'æ¯å¦è¢«æ´æ°' |
| | | ValueType: Boolean |
| | | } |
| | |
| | | [* |
| | | // çå
°é¸½ Jun-24-2024 (created) |
| | | allunit := FinancialProductionReport::GetDefaultAllUnit(); |
| | | table := selectobject( this.MacroPlan(), FinancialProductionSource.FinancialProductionReport, table, not table.IsImport() and not table.IsShow() ); |
| | | //info( '--------------------------', table.Name() ); |
| | | //æ¥è¯¢éè¦å¯¼å
¥çæ¥è¡¨ |
| | | table := selectobject( this.MacroPlan(), FinancialProductionSource.FinancialProductionReport, table, not table.IsImport() and not table.IsShow() ); |
| | | cnv2 := StringToDate::StandardConverter(); |
| | | cnv2.SetCustomConversion(); |
| | | cnv2.CustomFormatString( "M2/D2/Y" ); |
| | | traverse( this, FinancialProductionReport, report ){ |
| | | productcolumn := selectobject( report, FinancialProductionColumn, column, column.Name() = 'Product' ); |
| | | unitcolumn := selectobject( report, FinancialProductionColumn, column, column.Name() = 'Unit' ); |
| | | // info( '----------------------1-----------------', productcolumn.Name(), unitcolumn.Name() ); |
| | | |
| | | //è·å导å
¥ç产åååå·¥åå |
| | | productcolumn := selectobject( report, FinancialProductionColumn, column, column.Name() = 'Product' ); |
| | | unitcolumn := selectobject( report, FinancialProductionColumn, column, column.Name() = 'Unit' ); |
| | | //è¯»åæ¯ä¸è¡ |
| | | traverse( report, FinancialProductionRow, row ){ |
| | | product := selectobject( row, FinancialProductionCell, cell, cell.FinancialProductionColumn() = productcolumn ); |
| | | unit := selectobject( row, FinancialProductionCell, cell, cell.FinancialProductionColumn() = unitcolumn ); |
| | | // info( '----------------------2-----------------', product.Value(), unit.Value() ); |
| | | //è·å产ååå·¥å |
| | | product := selectobject( row, FinancialProductionCell, cell, cell.FinancialProductionColumn() = productcolumn ); |
| | | unit := selectobject( row, FinancialProductionCell, cell, cell.FinancialProductionColumn() = unitcolumn ); |
| | | |
| | | //è·å被导å
¥æ¥è¡¨çå·¥åè¡ |
| | | unitrow := selectobject( table, FinancialProductionRow, unitrow, unitrow.Name() = product.Value() and unitrow.Unit() = unit.Value() ); |
| | | if( isnull( unitrow ) ){ |
| | | unitrow := table.FinancialProductionRow( relnew, Name := product.Value(), Unit := unit.Value() ); |
| | | } |
| | | allrow := selectobject( table, FinancialProductionRow, allrow, allrow.Name() = product.Value() and allrow.Unit() = allunit ); |
| | | // info( '----------------------3-----------------', unitrow.Name(), unitrow.Unit() ); |
| | | // and product.Value() = '120 kW Rotor' and unit.Value() = 'Assembly Plant (Spain)' |
| | | if( isnull( unitrow ) ){ |
| | | allrow := table.FinancialProductionRow( relnew, Name := product.Value(), Unit := allunit ); |
| | | } |
| | | |
| | | //è¯»åæ¯ä¸è¡çåå
æ ¼ |
| | | traverse( row, FinancialProductionCell, cell, cell.FinancialProductionColumn() <> productcolumn and cell.FinancialProductionColumn() <> unitcolumn ){ |
| | | column := cell.FinancialProductionColumn(); |
| | | unitcell := selectobject( unitrow, FinancialProductionCell, unitcell, unitcell.FinancialProductionColumn().Name() = column.Name() ); |
| | | allcell := selectobject( allrow, FinancialProductionCell, allcell, allcell.FinancialProductionColumn().Name() = column.Name() ); |
| | | // info( isnull( unitcell ), isnull( allcell ), cell.Value(), unitcell.Value(), allcell.Value() ); |
| | | if( not isnull( unitcell ) ){ |
| | | // unitcell.Value( cell.Value() ); |
| | | unitcell.Quantity( [Real]cell.Value() ); |
| | | //è·å被导å
¥æ¥è¡¨çæ¥æå |
| | | tablecolumn := selectobject( table, FinancialProductionColumn, column, not column.IsDay() and column.Name() = cell.FinancialProductionColumn().Name() ); |
| | | if( isnull( tablecolumn ) ){ |
| | | tablecolumn := table.FinancialProductionColumn( relnew, Name := cell.FinancialProductionColumn().Name(), Period := cnv2.Convert( cell.FinancialProductionColumn().Name() ) ); |
| | | } |
| | | if( not isnull( allcell ) ){ |
| | | // value := [Real]cell.Value() + [Real]allcell.Value(); |
| | | // allcell.Value( [String]value ); |
| | | allcell.Quantity( allcell.Quantity() + [Real]allcell.Value() ); |
| | | //è·å被导å
¥æ¥è¡¨çåå
æ ¼ |
| | | unitcell := selectobject( unitrow, FinancialProductionCell, unitcell, unitcell.FinancialProductionColumn() = tablecolumn ); |
| | | if( isnull( unitcell ) ){ |
| | | unitcell := tablecolumn.FinancialProductionCell( relnew, IsUpdate := true, Quantity := [Real]cell.Value(), Value := cell.Value() ); |
| | | unitrow.FinancialProductionCell( relinsert, unitcell ); |
| | | }else{ |
| | | if( unitcell.Quantity() <> [Real]cell.Value() ){ |
| | | unitcell.Quantity( [Real]cell.Value() ); |
| | | unitcell.IsUpdate( true ); |
| | | } |
| | | } |
| | | allcell := selectobject( allrow, FinancialProductionCell, allcell, allcell.FinancialProductionColumn() = tablecolumn ); |
| | | if( isnull( unitcell ) ){ |
| | | allcell := tablecolumn.FinancialProductionCell( relnew, Quantity := [Real]cell.Value(), Value := cell.Value() ); |
| | | allrow.FinancialProductionCell( relinsert, allcell ); |
| | | }else{ |
| | | if( allcell.Quantity() <> [Real]cell.Value() ){ |
| | | allcell.Quantity( [Real]cell.Value() ); |
| | | allcell.IsUpdate( true ); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | owner.FPImportData( relflush ); |
| | | ccunit := FinancialProductionReport::GetDefaultCCUnit(); |
| | | dlunit := FinancialProductionReport::GetDefaultDLUnit(); |
| | | //ccalineunit := FinancialProductionReport::GetDefaultCCALineUnit(); |
| | | //dlalienunit := FinancialProductionReport::GetDefaultDLALineUnit() |
| | | //ccmplineunit := FinancialProductionReport::GetDefaultCCMPLineUnit() |
| | | //dlmplineunit := FinancialProductionReport::GetDefaultDLMPLineUnit(); |
| | | allunit := FinancialProductionReport::GetDefaultAllUnit(); |
| | | source := owner.FinancialProductionSource( relnew, IsImport := false, Name := FinancialProductionReport::GetDefaultName() ); |
| | | table := source.FinancialProductionReport( relnew, ID := source.Name(), Name := source.Name(), IsImport := false ); |
| | |
| | | search := owner.FinancialProductionSearch( relnew, Unit := allunit, Generation := allunit, MqbMlb := allunit, Power := allunit ); |
| | | |
| | | products := construct( Product_MPs ); |
| | | //éè¦çæ¥æåºé´ï¼ å¨å天çåªéè¦å½åæ |
| | | //periods := selectset( owner, Period_MP, period, not period.IsHistorical() |
| | | // and period.StartDate() < startofnextmonth |
| | | // and period.TimeUnit() <> Translations::MP_GlobalParameters_Quarter() |
| | | // ); |
| | | //è·åå½åæéè¦çPeriod |
| | | //currentperiods := table.GetCurrentPeriod( startofplanning, periods ); |
| | | table.GenerateColumn( owner ); |
| | | //åå½åçæ¬çproduct planningénew supplyåæ®µï¼å大è¿åé¿æ¥å·¥åç产线ï¼è¿è¡å æ» |
| | | //traverse( owner, StockingPoint_MP, stockingpoint ){ |
| | | traverse( owner, StockingPoint_MP, stockingpoint, stockingpoint.ID().EndsWith( 'åå
åº' ) or stockingpoint.ID() = '大è¿å¤ç§åº' ){ |
| | | iscc := stockingpoint.ID().StartsWith( 'CC' ) or stockingpoint.ID().StartsWith( 'é¿æ¥' ); |
| | | isdl := stockingpoint.ID().StartsWith( 'DL' ) or stockingpoint.ID().StartsWith( '大è¿' ); |
| | | // unit := stockingpoint.Unit(); |
| | | // parentunits := unit.GetAllParent(); |
| | | //æ¯å¦å±äºé¿æ¥å·¥å |
| | | // iscc := unit.ID() = ccalineunit or unit.ID() = ccmplineunit or exists( parentunits, Elements, punit, punit.ID() = ccalineunit or punit.ID() = ccmplineunit ); |
| | | //æ¯å¦å±äºå¤§è¿å·¥å |
| | | // isdl := unit.ID() = dlalienunit or unit.ID() = dlmplineunit or exists( parentunits, Elements, punit, punit.ID() = dlalienunit or punit.ID() = dlmplineunit ); |
| | | |
| | | if( iscc or isdl ){ |
| | | traverse( stockingpoint, ProductInStockingPoint_MP, pisp, pisp.Product_MP().IsLeaf() |
| | | and exists( pisp, ProductInStockingPointInPeriod, pispip, pispip.Period_MP().StartDate() >= startofyear and pispip.Period_MP().StartDate() < startofnextyear and pispip.NewSupplyQuantity() <> 0 ) ){ |
| | |
| | | cumulantcolumn := table.FinancialWeeklyColumn( relnew, Name := '累计é' ); |
| | | proportioncolumn := table.FinancialWeeklyColumn( relnew, Name := 'å æ¯' ); |
| | | //SUM |
| | | totalpcellsum := sumcolumn.FinancialWeeklyCell( relnew, Value := [String]totalpvaluesum ); |
| | | totalpcellsum := sumcolumn.FinancialWeeklyCell( relnew, Value := [String]( [Number]totalpvaluesum ) ); |
| | | totalproduction.FinancialWeeklyCell( relinsert, totalpcellsum ); |
| | | dlpcellsum := sumcolumn.FinancialWeeklyCell( relnew, Value := [String]dlpvaluesum ); |
| | | dlpcellsum := sumcolumn.FinancialWeeklyCell( relnew, Value := [String]( [Number]dlpvaluesum ) ); |
| | | dlproduction.FinancialWeeklyCell( relinsert, dlpcellsum ); |
| | | ccpcellsum := sumcolumn.FinancialWeeklyCell( relnew, Value := [String]ccpvaluesum ); |
| | | ccpcellsum := sumcolumn.FinancialWeeklyCell( relnew, Value := [String]( [Number]ccpvaluesum ) ); |
| | | ccproduction.FinancialWeeklyCell( relinsert, ccpcellsum ); |
| | | totalscellsum := sumcolumn.FinancialWeeklyCell( relnew, Value := [String]totalsvaluesum ); |
| | | totalsales.FinancialWeeklyCell( relinsert, totalscellsum ); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Order |
| | | { |
| | | #keys: '3[413988.0.1635820128][413988.0.1635820127][413988.0.1635820129]' |
| | | Description: 'ç产顺åºï¼Stringï¼' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute OrderNr |
| | | { |
| | | #keys: '3[413988.0.1635820138][413988.0.1635820137][413988.0.1635820139]' |
| | | Description: 'ç产顺åºï¼Numberï¼' |
| | | ValueType: Number |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ProductID |
| | | { |
| | | #keys: '3[413988.0.1635820181][413988.0.1635820180][413988.0.1635820182]' |
| | | Description: '产åID' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ProductionLine |
| | | { |
| | | #keys: '3[413988.0.1635820098][413988.0.1635820097][413988.0.1635820099]' |
| | | Description: '产线å' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Quantity |
| | | { |
| | | #keys: '3[413988.0.1635820108][413988.0.1635820107][413988.0.1635820109]' |
| | | Description: 'æ°é' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ShiftPatternEnd |
| | | { |
| | | #keys: '3[413988.0.1635820171][413988.0.1635820170][413988.0.1635820172]' |
| | | Description: 'çæ¬¡ç»ææ¶é´' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ShiftPatternName |
| | | { |
| | | #keys: '3[413988.0.1635820151][413988.0.1635820150][413988.0.1635820152]' |
| | | Description: 'çæ¬¡å' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ShiftPatternStart |
| | | { |
| | | #keys: '3[413988.0.1635820161][413988.0.1635820160][413988.0.1635820162]' |
| | | Description: 'çæ¬¡å¼å§æ¶é´' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute StartDate |
| | | { |
| | | #keys: '3[413988.0.1635820118][413988.0.1635820117][413988.0.1635820119]' |
| | | Description: 'å¼å§æ¶é´' |
| | | ValueType: Date |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type InterfaceNewOfflinePlanDetailData |
| | | { |
| | | #keys: '5[413988.0.1635820064][413988.0.1635820062][0.0.0][413988.0.1635820063][413988.0.1635820065]' |
| | | BaseType: Object |
| | | Description: 'ä¸çº¿è®¡åæ¯ä¸ªçæ¬è¯¦ç»æ°æ®' |
| | | StructuredName: 'InterfaceNewOfflinePlanDetailDatas' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ScenarioName |
| | | { |
| | | #keys: '3[413988.0.1635820050][413988.0.1635820049][413988.0.1635820051]' |
| | | Description: 'çæ¬å' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type InterfaceNewOfflinePlanVersion |
| | | { |
| | | #keys: '5[413988.0.1635820030][413988.0.1635820028][0.0.0][413988.0.1635820029][413988.0.1635820031]' |
| | | BaseType: Object |
| | | Description: 'ä¸çº¿è®¡åçæ¬åæ¡£æ°æ®' |
| | | StructuredName: 'InterfaceNewOfflinePlanVersions' |
| | | } |
| | |
| | | #parent: #root |
| | | Method Generate ( |
| | | InventorySummarySearch search, |
| | | Product_MPs products |
| | | Factorys factorys, |
| | | Strings productids |
| | | ) |
| | | { |
| | | TextBody: |
| | |
| | | //æ¥è¯¢æ¥æè¿åéè¦å¨è®¡åæ¥æä¹å
|
| | | if( search.StartDate().DateTime() < startofendyear and search.EndDate().DateTime() > startofyear ){ |
| | | table := selectobject( this, InventorySummarySource.InventorySummaryReport, report, not report.IsShow() ); |
| | | allunit := '<All>'; |
| | | //æ¸
空ä¹ååå¨çæ¾ç¤ºæ°æ® |
| | | this.Clear( search.Category(), search.StartDate().DateTime(), search.EndDate().DateTime() ); |
| | | //è¿æ»¤åç产åid |
| | | productids := selectuniquevalues( products, Elements, product, ( search.Generation() = allunit or product.Generation() = search.Generation() ) |
| | | and ( search.MqbMlb() = allunit or product.MQBMLB() = search.MqbMlb() ) |
| | | and ( search.Power() = allunit or product.Power() = search.Power() ), product.ID() ); |
| | | sumrow := this.InventroySummaryRow( relnew, Name := 'SUM', Unit := search.Unit(), RowNr := table.InventroySummaryRow( relsize ) ); |
| | | sumrow.InitializeCell( this ); |
| | | traverse( table, InventroySummaryRow, row, row.Unit() = search.Unit() ){ |
| | | productid := construct( Strings ); |
| | | productid.Add( row.Name() ); |
| | | |
| | | if( productids.ContainsAll( productid ) ){ |
| | | showrow := this.InventroySummaryRow( relnew, Name := row.Name(), Unit := row.Unit(), RowNr := row.RowNr() ); |
| | | traverse( this, InventorySummaryColumn, column ){ |
| | | sumcell := selectobject( column, InventorySummaryCell, c, c.InventroySummaryRow() = sumrow ); |
| | | daycells := selectset( row, InventorySummaryCell, cell, cell.InventorySummaryColumn().TimeUnit() = Translations::MP_GlobalParameters_Day() and |
| | | cell.InventorySummaryColumn().StartDate() >= column.StartDate() and |
| | | cell.InventorySummaryColumn().StartDate() <= column.EndaDate() ); |
| | | |
| | | endinginventory := maxobject( daycells, Elements, e, e.InventorySummaryColumn().StartDate() ).EndingInventory(); |
| | | minimuminventory := min( daycells, Elements, e, e.MinimumInventory() ); |
| | | maximuminventory := max( daycells, Elements, e, e.MaximumInventory() ); |
| | | averageinventory := [Number]average( daycells, Elements, e, e.AverageInventory() ); |
| | | |
| | | showcell := column.InventorySummaryCell( relnew, EndingInventory := endinginventory, MinimumInventory := minimuminventory, MaximumInventory := maximuminventory, AverageInventory := averageinventory ); |
| | | showrow.InventorySummaryCell( relinsert, showcell ); |
| | | |
| | | sumcell.EndingInventory( sumcell.EndingInventory() + endinginventory ); |
| | | sumcell.MinimumInventory( sumcell.MinimumInventory() + minimuminventory ); |
| | | sumcell.MaximumInventory( sumcell.MaximumInventory() + maximuminventory); |
| | | sumcell.AverageInventory( sumcell.AverageInventory() + averageinventory ); |
| | | } |
| | | } |
| | | traverse( factorys, Elements, factory ){ |
| | | this.GenerateShow( table, productids, factory.ID() ); |
| | | } |
| | | |
| | | rows := selectsortedset( this, InventroySummaryRow, row, row.Name() ); |
| | | i := 0; |
| | | traverse( rows, Elements, e ){ |
| | | e.RowNr( i ); |
| | | i := i + 1; |
| | | } |
| | | } |
| | | *] |
| | |
| | | }else if( timeunit = Translations::MP_GlobalParameters_Month() ){ |
| | | for( start := starttime; start <= endtime; start := start.StartOfNextMonth() ){ |
| | | monthend := ( start.StartOfNextMonth() - Duration::Days( 1 ) ).Date(); |
| | | |
| | | this.InventorySummaryColumn( relnew, Name := monthend.Format( "M2/D2/Y" ).Concat( ' ' ).Concat( monthend.Format( "MM" ).Concat( '/').Concat( [String]monthend.Month() ).Concat( 'æ' ) ), StartDate := start.Date(), EndaDate := monthend, TimeUnit := Translations::MP_GlobalParameters_Month() ); |
| | | us_locale := Locale::Construct( 'en_us' ); |
| | | this.InventorySummaryColumn( relnew, Name := monthend.Format( "M2/D2/Y" ).Concat( ' ' ).Concat( monthend.Format( "MM", us_locale ).Concat( '/').Concat( [String]monthend.Month() ).Concat( 'æ' ) ), StartDate := start.Date(), EndaDate := monthend, TimeUnit := Translations::MP_GlobalParameters_Month() ); |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method GenerateShow ( |
| | | InventorySummaryReport table, |
| | | Strings productids, |
| | | String factory |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Oct-12-2024 (created) |
| | | sumrow := this.InventroySummaryRow( relnew, Name := factory.Format( 'S(Len(10))' ).Concat( 'SUM' ), Unit := factory ); |
| | | sumrow.InitializeCell( this ); |
| | | traverse( table, InventroySummaryRow, row, row.Unit() = factory ){ |
| | | productid := construct( Strings ); |
| | | productid.Add( row.Name() ); |
| | | |
| | | if( productids.ContainsAll( productid ) ){ |
| | | showrow := this.InventroySummaryRow( relnew, Name := factory.Format( 'S(Len(10))' ).Concat( row.Name() ), Unit := row.Unit(), RowNr := row.RowNr() ); |
| | | traverse( this, InventorySummaryColumn, column ){ |
| | | sumcell := selectobject( column, InventorySummaryCell, c, c.InventroySummaryRow() = sumrow ); |
| | | daycells := selectset( row, InventorySummaryCell, cell, cell.InventorySummaryColumn().TimeUnit() = Translations::MP_GlobalParameters_Day() and |
| | | cell.InventorySummaryColumn().StartDate() >= column.StartDate() and |
| | | cell.InventorySummaryColumn().StartDate() <= column.EndaDate() ); |
| | | |
| | | endinginventory := maxobject( daycells, Elements, e, e.InventorySummaryColumn().StartDate() ).EndingInventory(); |
| | | minimuminventory := min( daycells, Elements, e, e.MinimumInventory() ); |
| | | maximuminventory := max( daycells, Elements, e, e.MaximumInventory() ); |
| | | averageinventory := [Number]average( daycells, Elements, e, e.AverageInventory() ); |
| | | |
| | | showcell := column.InventorySummaryCell( relnew, EndingInventory := endinginventory, MinimumInventory := minimuminventory, MaximumInventory := maximuminventory, AverageInventory := averageinventory ); |
| | | showrow.InventorySummaryCell( relinsert, showcell ); |
| | | |
| | | sumcell.EndingInventory( sumcell.EndingInventory() + endinginventory ); |
| | | sumcell.MinimumInventory( sumcell.MinimumInventory() + minimuminventory ); |
| | | sumcell.MaximumInventory( sumcell.MaximumInventory() + maximuminventory); |
| | | sumcell.AverageInventory( sumcell.AverageInventory() + averageinventory ); |
| | | } |
| | | } |
| | | } |
| | | *] |
| | | } |
| | |
| | | [* |
| | | // çå
°é¸½ Jun-24-2024 (created) |
| | | owner.InventorySummarySource( relflush ); |
| | | products := construct( Product_MPs ); |
| | | productids := construct( Strings ); |
| | | allunit := InventorySummaryReport::GetDefaultAllUnit(); |
| | | ccunit := InventorySummaryReport::GetDefaultCCUnit(); |
| | | dlunit := InventorySummaryReport::GetDefaultDLUnit(); |
| | |
| | | isdl := exists( parentunits, Elements, punit, punit.ID().StartsWith( 'VWED DL' ) ); |
| | | if( iscc or isdl ){ |
| | | traverse( stockingpoint, ProductInStockingPoint_MP, pisp, pisp.Product_MP().IsLeaf() ){ |
| | | productids.Add( pisp.ProductID() ); |
| | | //è·åå·¥åè¡ |
| | | factoryrow := table.GetRow( ifexpr( iscc, ccunit, dlunit ), pisp.ProductID() ); |
| | | //è·ååè®¡è¡ |
| | |
| | | and pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day(), pispip.Start() ); |
| | | |
| | | traverse( pispips, Elements, pispip ){ |
| | | products.Add( pisp.Product_MP() ); |
| | | period := pispip.Period_MP(); |
| | | periodtime := period.Start().Date(); |
| | | // periodname := periodtime.Format( "M2/D2/Y" ); |
| | |
| | | } |
| | | //åå¨åºåæ´æ°çåçé¢åºåç¹éæ©ä¸æ¾å°è¿äºåºåç¹æå
³èçå·²å¾éåºä½ |
| | | selections := selectset( interface, InventoryPointSelection, selection, allsps.Find( selection.StockpoingPoint() ) >= 0 and selection.IsIncluded() ); |
| | | productids := selectuniquevalues( selections, Elements, selection, selection.ProductID() ); |
| | | productidset := selectuniquevalues( selections, Elements, selection, selection.ProductID() ); |
| | | //æåå°è¿äºåºä½ä¸é¶ä»¶å·çæ°éè¿è¡å æ» |
| | | traverse( table, InventorySummaryColumn, column, column.TimeUnit() = Translations::MP_GlobalParameters_Day() and column.StartDate() < startofplanning.Date() ){ |
| | | traverse( productids, Elements, productid ){ |
| | | traverse( productidset, Elements, productid ){ |
| | | productids.Add( productid ); |
| | | column.GenerateCell( selections, ccsps, dlsps, table, column.StartDate(), column.EndaDate(), productid, allunit, ccunit, dlunit ); |
| | | } |
| | | } |
| | |
| | | e.Delete(); |
| | | } |
| | | } |
| | | showtable.Generate( search, products ); |
| | | |
| | | factorys := selectset( owner, Factory, factory, factory.ID() = FinancialProductionReport::GetDefaultAllUnit() ); |
| | | showtable.Generate( search, factorys, productids ); |
| | | *] |
| | | } |
| | |
| | | } |
| | | table := selectobject( owner, InventorySummarySource.InventorySummaryReport, table, table.IsShow() ); |
| | | if( not isnull( table ) ){ |
| | | products := selectset( owner, Product_MP, product, true ); |
| | | table.Generate( search, products ); |
| | | factorys := selectset( owner, Factory, factory, factory.ID() = FinancialProductionReport::GetDefaultAllUnit() ); |
| | | productids := selectuniquevalues( table, InventroySummaryRow, row, row.Name() ); |
| | | table.Generate( search, factorys, productids ); |
| | | } |
| | | return table; |
| | | *] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute EndDate |
| | | { |
| | | #keys: '3[413988.0.1603460249][413988.0.1603460248][413988.0.1603460250]' |
| | | ValueType: Date |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute InventoryWeight |
| | | { |
| | | #keys: '3[413988.0.1606610060][413988.0.1606610059][413988.0.1606610061]' |
| | | Description: 'å©ä½åºå - æå°åºå' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Order |
| | | { |
| | | #keys: '3[413988.0.1603460357][413988.0.1603460356][413988.0.1603460358]' |
| | | Description: 'ç产顺åºï¼Stringï¼' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute OrderNr |
| | | { |
| | | #keys: '3[413988.0.1607288352][413988.0.1607288351][413988.0.1607288353]' |
| | | Description: 'ç产顺åºï¼Numberï¼' |
| | | ValueType: Number |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Quantity |
| | | { |
| | | #keys: '3[413988.0.1603460347][413988.0.1603460346][413988.0.1603460348]' |
| | | Description: 'æ°é' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ShiftPatternEnd |
| | | { |
| | | #keys: '3[413988.0.1603460415][413988.0.1603460414][413988.0.1603460416]' |
| | | Description: 'çæ¬¡ç»ææ¶é´' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ShiftPatternName |
| | | { |
| | | #keys: '3[413988.0.1603460389][413988.0.1603460388][413988.0.1603460390]' |
| | | Description: 'çæ¬¡å' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ShiftPatternStart |
| | | { |
| | | #keys: '3[413988.0.1603460402][413988.0.1603460401][413988.0.1603460403]' |
| | | Description: 'çæ¬¡å¼å§æ¶é´' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute StartDate |
| | | { |
| | | #keys: '3[413988.0.1603460239][413988.0.1603460238][413988.0.1603460240]' |
| | | ValueType: Date |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute TotalQuantity |
| | | { |
| | | #keys: '3[413988.0.1603460379][413988.0.1603460378][413988.0.1603460380]' |
| | | Description: 'å计' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Function CalcEndDate |
| | | { |
| | | TextBody: |
| | | [* |
| | | // lihongji Oct-11-2024 (created) |
| | | |
| | | value := guard( this.NewOfflinePlanColumn().EndDate(), Date::MinDate() ); |
| | | |
| | | this.EndDate( value ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Function CalcStartDate |
| | | { |
| | | TextBody: |
| | | [* |
| | | // lihongji Oct-11-2024 (created) |
| | | |
| | | value := guard( this.NewOfflinePlanColumn().StartDate(), Date::MinDate() ); |
| | | |
| | | this.StartDate( value ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Function CalcTotalQuantity |
| | | { |
| | | TextBody: |
| | | [* |
| | | // lihongji Oct-11-2024 (created) |
| | | |
| | | value := sum( this, Detailed, tempNOPC, true, tempNOPC.Quantity() ); |
| | | |
| | | this.TotalQuantity( value ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod RefreshOfflinePlan ( |
| | | MacroPlan macroPlan |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | macroPlan.NewOfflinePlanTable( relflush ); |
| | | |
| | | nopt := macroPlan.NewOfflinePlanTable( relnew, SaveDateTime := DateTime::ActualTime() ); |
| | | |
| | | // çæä¸çº¿è®¡å表ã䏿¡äº§çº¿å¨åä¸å¤©ä¸ä¼äº§ç两次ç¸å产åç卿任å¡ã |
| | | traverse ( macroPlan, Unit, u, u.HasCapacityTypeTime() |
| | | // and u.Name() = "eMotor Assy (France)" // æµè¯æ¬å°åºæ¯æ¶å¯ä»¥è¿æ»¤ |
| | | // and u.Name() = "DL-MoMo" // æµè¯å®é
åºæ¯æ¶å¯ä»¥è¿æ»¤ |
| | | ) |
| | | { |
| | | // 循ç¯éå卿任å¡çNewSupplyãçææç»ä¸çº¿è®¡åã |
| | | traverse ( u, Operation, o ) { |
| | | traverse ( o, PeriodTaskOperation.NewSupply, ns ) { |
| | | // ProductInStockingPoint_MP |
| | | pisp := ns.AsProductionSupply().ProductInStockingPoint_MP(); |
| | | // ProductInStockingPointInPeriodPlanningLeaf |
| | | pispippl := ns.ProductInStockingPointInPeriodPlanningLeaf(); |
| | | // Period_MP |
| | | pmp := pispippl.Period_MP(); |
| | | // ShiftPattern |
| | | sp := ns.PeriodTask_MP().UnitPeriod().astype( UnitPeriodTimeBase ).ShiftPattern(); |
| | | // ShiftDayTime |
| | | sdt := select( sp, ShiftDayTime, tempSDT, tempSDT.Name() = tempSDT.ShiftPattern().Name() ); |
| | | |
| | | // çæä¸çº¿è®¡åã产线æç»ãè¡ |
| | | detailedNOPR := select( nopt, NewOfflinePlanRow, tempNOPR, tempNOPR.ProductionLine() = u.ID() and tempNOPR.ProductID() = pisp.ProductID() and tempNOPR.Type() = "1" ); |
| | | if ( isnull( detailedNOPR ) ) { |
| | | detailedNOPR := nopt.NewOfflinePlanRow( relnew, ProductionLine := u.ID(), ProductID := pisp.ProductID(), Type := "1" ); |
| | | } |
| | | |
| | | // çæä¸çº¿è®¡åå |
| | | nopc := select( nopt, NewOfflinePlanColumn, tempNOPC, tempNOPC.StartDate() = pmp.StartDate() and tempNOPC.EndDate() = pmp.EndDate() ); |
| | | if ( isnull( nopc ) ) { |
| | | nopc := nopt.NewOfflinePlanColumn( relnew, StartDate := pmp.StartDate(), EndDate := pmp.EndDate() ); |
| | | } |
| | | |
| | | // çæä¸çº¿è®¡åã产线æç»ãåå
æ ¼ |
| | | detaileNOPCell := select( detailedNOPR, NewOfflinePlanCell, tempNOPCell, tempNOPCell.NewOfflinePlanColumn() = nopc ); |
| | | if ( isnull ( detaileNOPCell ) ) { |
| | | detaileNOPCell := detailedNOPR.NewOfflinePlanCell( relnew, |
| | | Quantity := ns.Quantity().Round( 0 ), |
| | | InventoryWeight := pispippl.InventoryLevelEnd() - pispippl.MinInventoryLevel(), |
| | | ShiftPatternName := guard( sdt.Name(), "" ), |
| | | ShiftPatternStart := guard( sdt.StartDateTime().Format( "H:m" ), "" ), |
| | | ShiftPatternEnd := guard( sdt.EndDateTIme().Format( "H:m" ), "" ) ); |
| | | detaileNOPCell.NewOfflinePlanColumn( relset, nopc ); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 设置ç产顺åºã对ä¸çº¿è®¡åæç»çæã |
| | | |
| | | |
| | | // ãçæå计ä¸çº¿è®¡åã |
| | | totalNOPR := nopt.NewOfflinePlanRow( relnew, ProductID := "All", ProductionLine := u.ID(), Type := "2" ); |
| | | detailNOPRs := selectset( nopt, NewOfflinePlanRow, tempNOPR, tempNOPR.ProductionLine() = u.ID() and tempNOPR.Type() = "1" ); |
| | | traverse ( detailNOPRs, Elements, detailNOPR ) { |
| | | traverse ( detailNOPR, NewOfflinePlanCell, detailNOPCell ) { |
| | | // ç产ä¸çº¿è®¡åã产线å计ãåå
æ ¼ |
| | | totalNOPRCell := select( totalNOPR, NewOfflinePlanCell, tempNOPCell, tempNOPCell.NewOfflinePlanColumn() = detailNOPCell.NewOfflinePlanColumn() ); |
| | | if ( isnull( totalNOPRCell ) ) { |
| | | totalNOPRCell := totalNOPR.NewOfflinePlanCell( relnew ); |
| | | totalNOPRCell.NewOfflinePlanColumn( relset, detailNOPCell.NewOfflinePlanColumn() ); // 设置å |
| | | // å°æç»åå
æ ¼å
³èå°å计åå
æ ¼ |
| | | totalNOPRCell.Detailed( relinsert, detailNOPCell ); |
| | | } else { |
| | | // å°æç»åå
æ ¼å
³èå°å计åå
æ ¼ |
| | | totalNOPRCell.Detailed( relinsert, detailNOPCell ); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // è¡¥é½ç©ºæ ¼å |
| | | traverse ( nopt, NewOfflinePlanRow, nopr ) { |
| | | traverse ( nopt, NewOfflinePlanColumn, nopc ) { |
| | | cell := select( nopr, NewOfflinePlanCell, tempNOPCell, tempNOPCell.NewOfflinePlanColumn() = nopc ); |
| | | if ( isnull( cell ) ) { |
| | | cell := nopr.NewOfflinePlanCell( relnew ); |
| | | cell.NewOfflinePlanColumn( relset, nopc ); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type NewOfflinePlanCell |
| | | { |
| | | #keys: '5[413988.0.1603460079][413988.0.1603460077][0.0.0][413988.0.1603460078][413988.0.1603460080]' |
| | | BaseType: Object |
| | | Description: 'ä¸çº¿è®¡ååå
æ ¼' |
| | | StructuredName: 'NewOfflinePlanCells' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute EndDate |
| | | { |
| | | #keys: '3[413988.0.1603460170][413988.0.1603460169][413988.0.1603460171]' |
| | | ValueType: Date |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute StartDate |
| | | { |
| | | #keys: '3[413988.0.1603460160][413988.0.1603460159][413988.0.1603460161]' |
| | | ValueType: Date |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type NewOfflinePlanColumn |
| | | { |
| | | #keys: '5[413988.0.1603460074][413988.0.1603460072][0.0.0][413988.0.1603460073][413988.0.1603460075]' |
| | | BaseType: Object |
| | | Description: 'ä¸çº¿è®¡åå' |
| | | StructuredName: 'NewOfflinePlanColumns' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Name |
| | | { |
| | | #keys: '3[413988.0.1607288491][413988.0.1607288490][413988.0.1607288492]' |
| | | Description: 'æ¾ç¤ºå' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ProductID |
| | | { |
| | | #keys: '3[413988.0.1603460321][413988.0.1603460320][413988.0.1603460322]' |
| | | Description: '产åID' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ProductionLine |
| | | { |
| | | #keys: '3[413988.0.1603460311][413988.0.1603460310][413988.0.1603460312]' |
| | | Description: '产线å' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Type |
| | | { |
| | | #keys: '3[413988.0.1603460334][413988.0.1603460333][413988.0.1603460335]' |
| | | Description: |
| | | [* |
| | | 1ï¼æç»æ¾ç¤º |
| | | |
| | | 2ï¼å计æ¾ç¤º |
| | | *] |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Function CalcName |
| | | { |
| | | TextBody: |
| | | [* |
| | | // lihongji Oct-12-2024 (created) |
| | | |
| | | value := this.ProductionLine() + ifexpr( this.ProductID() = "All", "", "_" + this.ProductID() ); |
| | | |
| | | this.Name( value ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method Filter ( |
| | | Entitys entitys |
| | | ) declarative remote as Boolean |
| | | { |
| | | TextBody: |
| | | [* |
| | | flag := false; |
| | | |
| | | traverse ( entitys, Elements.astype( Unit ), u, not flag ) { |
| | | flag := u.Name() = this.ProductionLine(); |
| | | } |
| | | |
| | | return flag; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type NewOfflinePlanRow |
| | | { |
| | | #keys: '5[413988.0.1603460069][413988.0.1603460067][0.0.0][413988.0.1603460068][413988.0.1603460070]' |
| | | BaseType: Object |
| | | Description: 'ä¸çº¿è®¡åè¡' |
| | | StructuredName: 'NewOfflinePlanRows' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute SaveDateTime |
| | | { |
| | | #keys: '3[413988.0.1603460037][413988.0.1603460036][413988.0.1603460038]' |
| | | Description: 'ä¿åèç¨¿çæ¶é´' |
| | | ValueType: DateTime |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type NewOfflinePlanTable |
| | | { |
| | | #keys: '5[413988.0.1603460031][413988.0.1603460029][0.0.0][413988.0.1603460030][413988.0.1603460032]' |
| | | BaseType: Object |
| | | StructuredName: 'NewOfflinePlanTables' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Generation |
| | | { |
| | | #keys: '3[415136.0.1188500025][415136.0.1188500024][415136.0.1188500026]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Initilize ( |
| | | MacroPlan owner |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Oct-12-2024 (created) |
| | | owner.ProductGeneration( relflush ); |
| | | generations := selectuniquevalues( owner, Product_MP, product, product.Generation() ); |
| | | traverse( generations, Elements, e, e <> '' ){ |
| | | owner.ProductGeneration( relnew, Generation := e ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type ProductGeneration |
| | | { |
| | | #keys: '5[415136.0.1188500006][415136.0.1188500004][0.0.0][415136.0.1188500005][415136.0.1188500007]' |
| | | BaseType: Object |
| | | Description: '产åGeneration' |
| | | StructuredName: 'ProductGenerations' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute MLBMQB |
| | | { |
| | | #keys: '3[415136.0.1188500042][415136.0.1188500041][415136.0.1188500043]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Initilize ( |
| | | MacroPlan owner |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Oct-12-2024 (created) |
| | | owner.ProductMLBMQB( relflush ); |
| | | mlbmqbs := selectuniquevalues( owner, Product_MP, product, product.MQBMLB() ); |
| | | traverse( mlbmqbs, Elements, e, e <> '' ){ |
| | | owner.ProductMLBMQB( relnew, MLBMQB := e ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type ProductMLBMQB |
| | | { |
| | | #keys: '5[415136.0.1188500039][415136.0.1188500037][0.0.0][415136.0.1188500038][415136.0.1188500040]' |
| | | BaseType: Object |
| | | Description: '产åMLBMQB' |
| | | StructuredName: 'ProductMLBMQBs' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Power |
| | | { |
| | | #keys: '3[415136.0.1188465582][415136.0.1188465581][415136.0.1188465583]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Initilize ( |
| | | MacroPlan owner |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Oct-12-2024 (created) |
| | | owner.ProductPower( relflush ); |
| | | powers := selectuniquevalues( owner, Product_MP, product, product.Power() ); |
| | | traverse( powers, Elements, e, e <> '' ){ |
| | | owner.ProductPower( relnew, Power := e ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type ProductPower |
| | | { |
| | | #keys: '5[415136.0.1188465579][415136.0.1188465577][0.0.0][415136.0.1188465578][415136.0.1188465580]' |
| | | BaseType: Object |
| | | Description: '产åPower' |
| | | StructuredName: 'ProductPowers' |
| | | } |
| | |
| | | AttributeKey: '[415136.0.1160240044]' |
| | | Synonym: 'æ»è´¹ç¨' |
| | | } |
| | | AttributeRepresentation Coefficient |
| | | AttributeRepresentation CoefficientValue |
| | | { |
| | | AttributeKey: '[415136.0.986844757]' |
| | | AttributeKey: '[415136.0.1188511346]' |
| | | Synonym: 'ç³»æ°' |
| | | } |
| | | AttributeRepresentation EstimateTotalCost |
| | |
| | | AttributeKey: '[415136.0.1160164779]' |
| | | Synonym: 'é¿æ¥çéè¿è¾è´¹ç¨' |
| | | } |
| | | AttributeRepresentation Coefficient |
| | | AttributeRepresentation CoefficientValue |
| | | { |
| | | AttributeKey: '[415136.0.992900035]' |
| | | AttributeKey: '[415136.0.1188511355]' |
| | | Synonym: 'ç³»æ°' |
| | | } |
| | | AttributeRepresentation DLRentInCost |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | TypeRepresentation FinancialProductionCell |
| | | { |
| | | AttributeRepresentation Value |
| | | { |
| | | AttributeKey: '[415136.0.834715166]' |
| | | Conditional: |
| | | [ |
| | | DataRepresentation.Conditional |
| | | { |
| | | BackgroundColor: '$FF6666' |
| | | ConditionBody: 'object.IsUpdate()' |
| | | ConversionBody: '' |
| | | DefaultBackgroundColor: false |
| | | InheritConversion: false |
| | | } |
| | | ] |
| | | } |
| | | RelationRepresentation AsFirstCellInColumn { RelationKey: '[415136.0.834715218]' Visibility: 'Normal' } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | TypeRepresentation NewOfflinePlanCell |
| | | { |
| | | AttributeRepresentation ShiftPatternEnd |
| | | { |
| | | AttributeKey: '[413988.0.1603460414]' |
| | | Synonym: 'çæ¬¡ç»ææ¶é´' |
| | | } |
| | | AttributeRepresentation ShiftPatternName |
| | | { |
| | | AttributeKey: '[413988.0.1603460388]' |
| | | Synonym: 'çæ¬¡' |
| | | } |
| | | AttributeRepresentation ShiftPatternStart |
| | | { |
| | | AttributeKey: '[413988.0.1603460401]' |
| | | Synonym: 'çæ¬¡å¼å§æ¶é´' |
| | | } |
| | | AttributeRepresentation TotalQuantity |
| | | { |
| | | AttributeKey: '[413988.0.1603460378]' |
| | | Synonym: 'æ»é' |
| | | } |
| | | RelationRepresentation AsFirstNOPCell { RelationKey: '[413988.0.1603460270]' Visibility: 'Normal' } |
| | | } |
| | |
| | | InheritFormatting: false |
| | | } |
| | | } |
| | | RelationRepresentation ActualPISPIPAsWithinPeriod { RelationKey: '[137118.0.348745522]' Visibility: 'Normal' } |
| | | } |
| | |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Taborder: 5 |
| | | Taborder: 6 |
| | | ] |
| | | } |
| | | Component bOfflinePlan |
| | |
| | | Description: 'AssemblyOnlinePlan' |
| | | Image: 'PALM_TREE' |
| | | Label: 'Filing plan' |
| | | Taborder: 2 |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component bPackagingPlan |
| | |
| | | [ |
| | | Image: 'SIXPACK_BEER' |
| | | Label: 'Packaging plan' |
| | | Taborder: 3 |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | Component bShippingActualData |
| | |
| | | [ |
| | | Image: 'TABLE_CONNECTION' |
| | | Label: 'Shipping data' |
| | | Taborder: 4 |
| | | Taborder: 5 |
| | | ] |
| | | } |
| | | Component bNewOfflinePlan |
| | | { |
| | | #keys: '[413988.0.1607471411]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'LIGHTBULB' |
| | | Label: 'Output plan' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: abgSecondDevelopmentPlan/bNewOfflinePlan |
| | | Response OnClick () id:Response_MacroPlanner_abgSecondDevelopmentPlan_bNewOfflinePlan_OnClick |
| | | { |
| | | #keys: '[413988.0.1607471572]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | ApplicationScope.ViewManager().ResetUserViewById( "NewOfflinePlan", true ); |
| | | *] |
| | | } |
| | | } |
| | |
| | | [ |
| | | Checked: true |
| | | Label: 'æ¯å¦æ¿æ´»çæ¬' |
| | | Taborder: 8 |
| | | ] |
| | | } |
| | | Component ddlOriginMacroPlan |
| | | { |
| | | #keys: '[415136.0.1043064647]' |
| | | BaseType: 'WebDropDownList' |
| | | Databinding: 'ScenarioMP' |
| | | Children: |
| | | [ |
| | | Component deMacroPlan id:deMacroPlan_640 |
| | | { |
| | | #keys: '[415136.0.1043064648]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'ScenarioManager' |
| | | Source: 'ScenarioManager' |
| | | Taborder: 0 |
| | | Transformation: 'ScenarioMP' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | DisplayField: 'Name' |
| | | Label: 'ä»çæ¬' |
| | | Taborder: 4 |
| | | Visible: false |
| | | ] |
| | | } |
| | | Component ddlDestinationMacroPlan |
| | | { |
| | | #keys: '[415136.0.1043064790]' |
| | | BaseType: 'WebDropDownList' |
| | | Databinding: 'ScenarioMP' |
| | | Children: |
| | | [ |
| | | Component deMacroPlan950 |
| | | { |
| | | #keys: '[415136.0.1043064791]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'ScenarioManager' |
| | | Source: 'ScenarioManager' |
| | | Taborder: 0 |
| | | Transformation: 'ScenarioMP' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | DisplayField: 'Name' |
| | | Label: 'å°çæ¬' |
| | | Taborder: 6 |
| | | Visible: false |
| | | ] |
| | | } |
| | | Component efVersionFrom |
| | |
| | | Properties: |
| | | [ |
| | | Label: 'ä»çæ¬' |
| | | Taborder: 5 |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | Component efVersionTo |
| | |
| | | Properties: |
| | | [ |
| | | Label: 'å°çæ¬' |
| | | Taborder: 7 |
| | | Taborder: 5 |
| | | ] |
| | | } |
| | | Component ddslFactory |
| | |
| | | BaseType: 'WebDropDownStringList' |
| | | Properties: |
| | | [ |
| | | InitialValue: 'all;8200;8201' |
| | | Label: 'å·¥å代ç ' |
| | | Strings: 'All;DL;CC' |
| | | Taborder: 1 |
| | |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | Component ddlMacroPlan |
| | | { |
| | | #keys: '[415136.0.1043063334]' |
| | | BaseType: 'WebDropDownList' |
| | | Databinding: 'ScenarioMP' |
| | | Children: |
| | | [ |
| | | Component deMacroPlan |
| | | { |
| | | #keys: '[415136.0.1043063336]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'ScenarioManager' |
| | | Source: 'ScenarioManager' |
| | | Taborder: 0 |
| | | Transformation: 'ScenarioMP' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | DisplayField: 'Name' |
| | | Label: 'çæ¬' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component ddslFactory id:ddslFactory_424 |
| | | { |
| | | #keys: '[415136.0.1047641312]' |
| | | BaseType: 'WebDropDownStringList' |
| | | Properties: |
| | | [ |
| | | InitialValue: 'all;8200;8201' |
| | | Label: 'å·¥å代ç ' |
| | | Strings: 'All;DL;CC' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component efVersion |
| | | { |
| | | #keys: '[415136.0.1184400599]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | Label: 'çæ¬' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | |
| | | Body: |
| | | [* |
| | | Form.ApplyChanges(); |
| | | componentmds := ApplicationScope.ComponentMDS(); |
| | | mdsinstance := select( componentmds, ComponentMDSKinds.ComponentMDSInstances, m, m.MDSID().MDSKey() = ddlMacroPlan.Data().DatasetMDSID() ); |
| | | handle := mdsinstance.GetMDSHandle() |
| | | macroplan := handle.AsMacroPlan(); |
| | | AOnlineAndMOfflinePlanPIR::GenerateData( InterfaceDataset, ddslFactory.Text(), macroplan, dsStartDate.Date(), dsEndDate.Date(), QuintiqUser::CurrentUser().DisplayName() ); |
| | | AOnlineAndMOfflinePlanPIR::GenerateData( InterfaceDataset, ddslFactory.Text(), efVersion.Text(), dsStartDate.Date(), dsEndDate.Date(), QuintiqUser::CurrentUser().DisplayName() ); |
| | | WebMessageBox::Success( "æ¨éæåï¼" ); |
| | | Form.Close(); |
| | | *] |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | Attributes: 'RentInCost;RentOutOfCost;WerkToRentTransCost;RentStorCost;EstimateTotalCost;Coefficient;AllCost' |
| | | Attributes: 'RentInCost;RentOutOfCost;WerkToRentTransCost;RentStorCost;EstimateTotalCost;CoefficientValue;AllCost' |
| | | Column: 'Column' |
| | | Row: 'Row' |
| | | Taborder: 0 |
| | |
| | | CCEngineLogisticsCostRow row, |
| | | CCEngineLogisticsCostColumn column, |
| | | CCEngineLogisticsCostCell cell, |
| | | Number value, |
| | | Number oldvalue |
| | | String value, |
| | | String oldvalue |
| | | ) id:Response_MatrixEditorTable_358_OnUpdateValue |
| | | { |
| | | #keys: '[415136.0.989501207]' |
| | |
| | | Body: |
| | | [* |
| | | table := selectobject( MacroPlan, CCEngineLogisticsCostReport, report, not report.IsShow() ); |
| | | cell.Coefficient( value ); |
| | | cell.CoefficientValue( value ); |
| | | traverse( table, Row, trow, trow.Name() = row.Name() ){ |
| | | traverse( trow, Cell, tcel, tcel.Column().Name() = column.Name() ){ |
| | | tcel.RentInCost( cell.RentInCost() ); |
| | | tcel.RentOutOfCost( cell.RentOutOfCost() ); |
| | | tcel.WerkToRentTransCost( cell.WerkToRentTransCost() ); |
| | | tcel.RentStorCost( cell.RentStorCost() ); |
| | | tcel.Coefficient( cell.Coefficient() ); |
| | | tcel.CoefficientValue( cell.CoefficientValue() ); |
| | | } |
| | | } |
| | | *] |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | if( not isnull( DataHolderTable.Data() ) ){ |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | Attributes: 'CCRentInCost;CCRentOutOfCost;CCLongTransCost;CCShorTransCost;CCRentStorCost;DLRentInCost;DLRentOutOfCost;WerkToDLRentTransCost;DLRentStorCost;DLRentOtherCost;EstimateTotalCost;Coefficient;AllCost' |
| | | Attributes: 'CCRentInCost;CCRentOutOfCost;CCLongTransCost;CCShorTransCost;CCRentStorCost;DLRentInCost;DLRentOutOfCost;WerkToDLRentTransCost;DLRentStorCost;DLRentOtherCost;EstimateTotalCost;CoefficientValue;AllCost' |
| | | Column: 'Column' |
| | | Row: 'Row' |
| | | Taborder: 0 |
| | |
| | | DLEngineLogisticsCostRow row, |
| | | DLEngineLogisticsCostColumn column, |
| | | DLEngineLogisticsCostCell cell, |
| | | Number value, |
| | | Number oldvalue |
| | | String value, |
| | | String oldvalue |
| | | ) id:Response_MatrixEditorTable_OnUpdateValue |
| | | { |
| | | #keys: '[415136.0.992750480]' |
| | |
| | | Body: |
| | | [* |
| | | table := selectobject( MacroPlan, DLEngineLogisticsCostReport, report, not report.IsShow() ); |
| | | info( focusedattribute ); |
| | | //cell.Coefficient( value ); |
| | | //traverse( table, Row, trow, trow.Name() = row.Name() ){ |
| | | // traverse( trow, Cell, tcel, tcel.Column().Name() = column.Name() ){ |
| | | // tcel.RentEnterCost( cell.RentEnterCost() ); |
| | | // tcel.RentOutCost( cell.RentOutCost() ); |
| | | // tcel.FactoryToRentTransCost( cell.FactoryToRentTransCost() ); |
| | | // tcel.RentStorageCost( cell.RentStorageCost() ); |
| | | // tcel.Coefficient( cell.Coefficient() ); |
| | | // } |
| | | //} |
| | | //info( focusedattribute ); |
| | | cell.CoefficientValue( value ); |
| | | traverse( table, Row, trow, trow.Name() = row.Name() ){ |
| | | traverse( trow, Cell, tcel, tcel.Column().Name() = column.Name() ){ |
| | | tcel.CCRentInCost( cell.CCRentInCost() ); |
| | | tcel.CCRentOutOfCost( cell.CCRentOutOfCost() ); |
| | | tcel.CCLongTransCost( cell.CCLongTransCost() ); |
| | | tcel.CCRentStorCost( cell.CCRentStorCost() ); |
| | | tcel.CCShorTransCost( cell.CCShorTransCost() ); |
| | | tcel.DLRentInCost( cell.DLRentInCost() ); |
| | | tcel.DLRentOutOfCost( cell.DLRentOutOfCost() ); |
| | | tcel.DLRentOtherCost( cell.DLRentOtherCost() ); |
| | | tcel.DLRentStorCost( cell.DLRentStorCost() ); |
| | | tcel.WerkToDLRentTransCost( cell.WerkToDLRentTransCost() ); |
| | | tcel.CoefficientValue( cell.CoefficientValue() ); |
| | | } |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | if( not isnull( DataHolderTable.Data() ) ){ |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | if( not isnull( DataHolderTable.Data() ) ){ |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | if( not isnull( DataHolderTable.Data() ) ){ |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component ListFactory |
| | | { |
| | | #keys: '[415136.0.1190101823]' |
| | | BaseType: 'WebList' |
| | | Children: |
| | | [ |
| | | Component DataExtractorFactory |
| | | { |
| | | #keys: '[415136.0.1190101824]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'MacroPlan' |
| | | Source: 'MacroPlan' |
| | | Taborder: 0 |
| | | Transformation: 'Factory' |
| | | ] |
| | | } |
| | | #child: listActionBarPageFactory |
| | | Component DataSetLevelFactory |
| | | { |
| | | #keys: '[415136.0.1190101829]' |
| | | BaseType: 'WebDataSetLevel' |
| | | Children: |
| | | [ |
| | | #child: listContextMenuFactory |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Name","title":"Name","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Name"}}]' |
| | | ContextMenu: 'listContextMenuFactory' |
| | | SortCriteria: 'ID' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | SelectionCheckboxes: true |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component ListGeneration |
| | | { |
| | | #keys: '[415136.0.1191359025]' |
| | | BaseType: 'WebList' |
| | | Children: |
| | | [ |
| | | Component DataExtractorGeneration |
| | | { |
| | | #keys: '[415136.0.1191359026]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'MacroPlan' |
| | | Source: 'MacroPlan' |
| | | Taborder: 0 |
| | | Transformation: 'ProductGeneration' |
| | | ] |
| | | } |
| | | #child: listActionBarPageGeneration |
| | | Component DataSetLevelGeneration |
| | | { |
| | | #keys: '[415136.0.1191359031]' |
| | | BaseType: 'WebDataSetLevel' |
| | | Children: |
| | | [ |
| | | #child: listContextMenuGeneration |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Generation","title":"Generation","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Generation"}}]' |
| | | ContextMenu: 'listContextMenuGeneration' |
| | | SortCriteria: 'Generation' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | SelectionCheckboxes: true |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component ListMQBMLB |
| | | { |
| | | #keys: '[415136.0.1191359783]' |
| | | BaseType: 'WebList' |
| | | Children: |
| | | [ |
| | | Component DataExtractorMQBMLB |
| | | { |
| | | #keys: '[415136.0.1191359784]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'external[MacroPlan]' |
| | | Source: 'MacroPlan' |
| | | Taborder: 0 |
| | | Transformation: 'ProductMLBMQB' |
| | | ] |
| | | } |
| | | #child: listActionBarPageMQBMLB |
| | | Component DataSetLevelMQBMLB |
| | | { |
| | | #keys: '[415136.0.1191359789]' |
| | | BaseType: 'WebDataSetLevel' |
| | | Children: |
| | | [ |
| | | #child: listContextMenuMQBMLB |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MLBMQB","title":"MLBMQB","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MLBMQB"}}]' |
| | | ContextMenu: 'listContextMenuMQBMLB' |
| | | SortCriteria: 'MLBMQB' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | SelectionCheckboxes: true |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component ListPower |
| | | { |
| | | #keys: '[415136.0.1191390143]' |
| | | BaseType: 'WebList' |
| | | Children: |
| | | [ |
| | | Component DataExtractorPower |
| | | { |
| | | #keys: '[415136.0.1191390144]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'external[MacroPlan]' |
| | | Source: 'MacroPlan' |
| | | Taborder: 0 |
| | | Transformation: 'ProductPower' |
| | | ] |
| | | } |
| | | #child: listActionBarPagePower |
| | | Component DataSetLevelPower |
| | | { |
| | | #keys: '[415136.0.1191390149]' |
| | | BaseType: 'WebDataSetLevel' |
| | | Children: |
| | | [ |
| | | #child: listContextMenuPower |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Power","title":"Power","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Power"}}]' |
| | | ContextMenu: 'listContextMenuPower' |
| | | SortCriteria: 'Power' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | SelectionCheckboxes: true |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | Component MatrixEditorTable |
| | | { |
| | | #keys: '[415136.0.864612253]' |
| | | #keys: '[415136.0.1191390605]' |
| | | BaseType: 'WebMatrixEditor' |
| | | Children: |
| | | [ |
| | | Component MatrixEditorCellTable |
| | | { |
| | | #keys: '[415136.0.864612254]' |
| | | #keys: '[415136.0.1191390606]' |
| | | BaseType: 'WebMatrixEditorCell' |
| | | Children: |
| | | [ |
| | | Component DataExtractorCell |
| | | { |
| | | #keys: '[415136.0.864612255]' |
| | | #keys: '[415136.0.1191390607]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | |
| | | } |
| | | Component MatrixEditorRowsTable |
| | | { |
| | | #keys: '[415136.0.864612256]' |
| | | #keys: '[415136.0.1191390608]' |
| | | BaseType: 'WebMatrixEditorHeaderLevel' |
| | | Children: |
| | | [ |
| | | Component DataExtractorRow |
| | | { |
| | | #keys: '[415136.0.864612257]' |
| | | #keys: '[415136.0.1191390609]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | |
| | | } |
| | | Component MatrixEditorColumnsTable |
| | | { |
| | | #keys: '[415136.0.864612258]' |
| | | #keys: '[415136.0.1191390610]' |
| | | BaseType: 'WebMatrixEditorHeaderLevel' |
| | | Children: |
| | | [ |
| | | Component DataExtractorColumn |
| | | { |
| | | #keys: '[415136.0.864612259]' |
| | | #keys: '[415136.0.1191390611]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelCategory |
| | | { |
| | | #keys: '[415136.0.862221867]' |
| | | #keys: '[415136.0.1191390575]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component RadioButtonGroupUseForPlanning id:RadioButtonGroupUseForPlanning_545 |
| | | Component RadioButtonGroupUseForPlanning |
| | | { |
| | | #keys: '[415136.0.862222092]' |
| | | #keys: '[415136.0.1191390576]' |
| | | BaseType: 'WebRadioButtonGroup' |
| | | Properties: |
| | | [ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelExport |
| | | { |
| | | #keys: '[415136.0.862221896]' |
| | | #keys: '[415136.0.1191390571]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component ButtonSummaryExport |
| | | { |
| | | #keys: '[415136.0.862221939]' |
| | | #keys: '[415136.0.1191390572]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component ButtonSearch id:ButtonSearch_612 |
| | | Component ButtonSearch |
| | | { |
| | | #keys: '[415136.0.972100788]' |
| | | #keys: '[415136.0.1191390573]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component bRefresh id:bRefresh_509 |
| | | Component bRefresh |
| | | { |
| | | #keys: '[415136.0.1153803172]' |
| | | #keys: '[415136.0.1191390574]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelFactory |
| | | { |
| | | #keys: '[415136.0.1189939584]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: ListFactory |
| | | Component dhFactorys |
| | | { |
| | | #keys: '[415136.0.1190170634]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[Factory]*' |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | Title: 'Unit' |
| | | ] |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelGeneration |
| | | { |
| | | #keys: '[415136.0.864612093]' |
| | | #keys: '[415136.0.1189909383]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component ddslGeneration |
| | | #child: ListGeneration |
| | | Component dhGenerations |
| | | { |
| | | #keys: '[415136.0.864612094]' |
| | | BaseType: 'WebDropDownStringList' |
| | | #keys: '[415136.0.1190170676]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[ProductGeneration]*' |
| | | Properties: |
| | | [ |
| | | Label: 'Generation' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Orientation: 'horizontal' |
| | | Taborder: 1 |
| | | Title: 'Generation' |
| | | ] |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelInventorySummaryColumnSearch |
| | | { |
| | | #keys: '[415136.0.864612101]' |
| | | #keys: '[415136.0.1191390567]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: PanelPeriod |
| | | #child: PanelExport |
| | | #child: PanelCategory |
| | | #child: PanelExport |
| | | #child: PanelPeriod |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Taborder: 1 |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelInventorySummaryReport |
| | | { |
| | | #keys: '[415136.0.1189939411]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: Panelleft_847 |
| | | #child: PanelRight |
| | | ] |
| | | Properties: |
| | | [ |
| | | Orientation: 'horizontal' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelMQBMLB |
| | | { |
| | | #keys: '[415136.0.864612095]' |
| | | #keys: '[415136.0.1191359549]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component ddslMQBMLB |
| | | #child: ListMQBMLB |
| | | Component dhMQBMLBs |
| | | { |
| | | #keys: '[415136.0.864612096]' |
| | | BaseType: 'WebDropDownStringList' |
| | | #keys: '[415136.0.1191538373]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[ProductMLBMQB]*' |
| | | Properties: |
| | | [ |
| | | Label: 'MQB/MLB' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Orientation: 'horizontal' |
| | | Taborder: 2 |
| | | Title: 'MLB/MQB' |
| | | ] |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelPeriod |
| | | { |
| | | #keys: '[415136.0.862221329]' |
| | | #keys: '[415136.0.1191390568]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component DateSelectorStart |
| | | { |
| | | #keys: '[415136.0.862221355]' |
| | | #keys: '[415136.0.1191390569]' |
| | | BaseType: 'WebDateSelector' |
| | | Properties: |
| | | [ |
| | |
| | | } |
| | | Component DateSelectorEnd |
| | | { |
| | | #keys: '[415136.0.862221609]' |
| | | #keys: '[415136.0.1191390570]' |
| | | BaseType: 'WebDateSelector' |
| | | Properties: |
| | | [ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelPower |
| | | { |
| | | #keys: '[415136.0.864612097]' |
| | | #keys: '[415136.0.1191390095]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component ddslPower |
| | | #child: ListPower |
| | | Component dhPowers |
| | | { |
| | | #keys: '[415136.0.864612098]' |
| | | BaseType: 'WebDropDownStringList' |
| | | #keys: '[415136.0.1191538402]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[ProductPower]*' |
| | | Properties: |
| | | [ |
| | | Label: 'Power' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Orientation: 'horizontal' |
| | | Taborder: 3 |
| | | Title: 'Power' |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelRight |
| | | { |
| | | #keys: '[415136.0.1191390495]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: PanelInventorySummaryColumnSearch |
| | | #child: PanelTable |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelTable |
| | | { |
| | | #keys: '[415136.0.864612252]' |
| | | #keys: '[415136.0.1191390604]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 3 |
| | | Taborder: 1 |
| | | ] |
| | | } |
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Component_PanelInventorySummaryProductSearch.def ÐÞ¸Ä |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelInventorySummaryProductSearch |
| | | Component Panelleft id:Panelleft_847 |
| | | { |
| | | #keys: '[415136.0.864612090]' |
| | | #keys: '[415136.0.1189939498]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: PanelUnit |
| | | #child: PanelFactory |
| | | #child: PanelGeneration |
| | | #child: PanelMQBMLB |
| | | #child: PanelPower |
| | |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | MinimumColumns: 20 |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listActionBarPageFactory |
| | | { |
| | | #keys: '[415136.0.1190101826]' |
| | | BaseType: 'listActionBarPage' |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listActionBarPageGeneration |
| | | { |
| | | #keys: '[415136.0.1191359028]' |
| | | BaseType: 'listActionBarPage' |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listActionBarPageMQBMLB |
| | | { |
| | | #keys: '[415136.0.1191359786]' |
| | | BaseType: 'listActionBarPage' |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listActionBarPagePower |
| | | { |
| | | #keys: '[415136.0.1191390146]' |
| | | BaseType: 'listActionBarPage' |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listContextMenuFactory |
| | | { |
| | | #keys: '[415136.0.1190101831]' |
| | | BaseType: 'listContextMenu' |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listContextMenuGeneration |
| | | { |
| | | #keys: '[415136.0.1191359033]' |
| | | BaseType: 'listContextMenu' |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listContextMenuMQBMLB |
| | | { |
| | | #keys: '[415136.0.1191359791]' |
| | | BaseType: 'listContextMenu' |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listContextMenuPower |
| | | { |
| | | #keys: '[415136.0.1191390151]' |
| | | BaseType: 'listContextMenu' |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | Component matrixEditorActionBarPageTable |
| | | { |
| | | #keys: '[415136.0.864612260]' |
| | | #keys: '[415136.0.1191390612]' |
| | | BaseType: 'matrixEditorActionBarPage' |
| | | Properties: |
| | | [ |
| | |
| | | Quintiq file version 2.0 |
| | | Component matrixeditorContextMenuTable |
| | | { |
| | | #keys: '[415136.0.864612261]' |
| | | #keys: '[415136.0.1191390613]' |
| | | BaseType: 'matrixeditorContextMenu' |
| | | Properties: |
| | | [ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListFactory |
| | | Response OnCheckedChanged () id:Response_ListFactory_OnCheckedChanged_618 |
| | | { |
| | | #keys: '[415136.0.1191538923]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebList_OnCheckedChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | selections := selectset( MacroPlan, Factory, factory, factory.ID() = FinancialProductionReport::GetDefaultAllUnit() ); |
| | | dhFactorys.Data( &selections ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListFactory |
| | | Response OnCheckedChanged ( |
| | | structured[Factory] checkeditems |
| | | ) id:Response_ListFactory_OnCheckedChanged |
| | | { |
| | | #keys: '[415136.0.1191538454]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebList_OnCheckedChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | selections := checkeditems.Copy(); |
| | | dhFactorys.Data( &selections ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListGeneration |
| | | Response OnCheckedChanged () id:Response_ListGeneration_OnCheckedChanged_568 |
| | | { |
| | | #keys: '[415136.0.1190170961]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebList_OnCheckedChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | selections := selectset( MacroPlan, ProductGeneration, generation, true ); |
| | | dhGenerations.Data( &selections ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListGeneration |
| | | Response OnCheckedChanged ( |
| | | structured[ProductGeneration] checkeditems |
| | | ) id:Response_ListGeneration_OnCheckedChanged |
| | | { |
| | | #keys: '[415136.0.1190170872]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebList_OnCheckedChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | selections := checkeditems.Copy(); |
| | | dhGenerations.Data( &selections ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListMQBMLB |
| | | Response OnCheckedChanged () id:Response_ListMQBMLB_OnCheckedChanged_393 |
| | | { |
| | | #keys: '[415136.0.1190171384]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebList_OnCheckedChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | selections := selectset( MacroPlan, ProductMLBMQB, generation, true ); |
| | | dhMQBMLBs.Data( &selections ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListMQBMLB |
| | | Response OnCheckedChanged ( |
| | | structured[ProductMLBMQB] checkeditems |
| | | ) id:Response_ListMQBMLB_OnCheckedChanged |
| | | { |
| | | #keys: '[415136.0.1190171046]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebList_OnCheckedChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | selections := checkeditems.Copy(); |
| | | dhMQBMLBs.Data( &selections ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListPower |
| | | Response OnCheckedChanged () id:Response_ListPower_OnCheckedChanged_925 |
| | | { |
| | | #keys: '[415136.0.1190171465]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebList_OnCheckedChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | selections := selectset( MacroPlan, ProductPower, generation, true ); |
| | | dhPowers.Data( &selections ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListPower |
| | | Response OnCheckedChanged ( |
| | | structured[ProductPower] checkeditems |
| | | ) id:Response_ListPower_OnCheckedChanged |
| | | { |
| | | #keys: '[415136.0.1190171144]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebList_OnCheckedChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | selections := checkeditems.Copy(); |
| | | dhPowers.Data( &selections ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | Body: |
| | | [* |
| | | table := InventorySummarySource::InitiateSearch( MacroPlan ); |
| | | Factory::Initilize( MacroPlan ); |
| | | ProductGeneration::Initilize( MacroPlan ); |
| | | ProductPower::Initilize( MacroPlan ); |
| | | ProductMLBMQB::Initilize( MacroPlan ); |
| | | //table := selectobject( MacroPlan, InventorySummarySource.InventorySummaryReport, table, table.IsShow() ); |
| | | //info( '------------------2----------------', table.IsShow() ); |
| | | DataHolderTable.Data( table ); |
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Response_PanelCategory_RadioButtonGroupUseForPlanning_OnChanged#847.def ÐÞ¸Ä |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelCategory/RadioButtonGroupUseForPlanning_545 |
| | | Response OnChanged () id:Response_PanelPeriods_RadioButtonGroupUseForPlanning_OnChanged_847 |
| | | #parent: PanelCategory/RadioButtonGroupUseForPlanning |
| | | Response OnChanged () id:Response_PanelCategory_RadioButtonGroupUseForPlanning_OnChanged |
| | | { |
| | | #keys: '[415136.0.862222091]' |
| | | #keys: '[415136.0.1191390561]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebRadioButtonGroup_OnChanged' |
| | | QuillAction |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelCategory/RadioButtonGroupUseForPlanning_545 |
| | | #parent: PanelCategory/RadioButtonGroupUseForPlanning |
| | | Response OnCreated () id:Response_PanelCategory_RadioButtonGroupUseForPlanning_OnCreated |
| | | { |
| | | #keys: '[415136.0.875614032]' |
| | | #keys: '[415136.0.1191390560]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | QuillAction |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelExport/ButtonSearch |
| | | Response OnClick () id:Response_PanelExport_ButtonSearch_OnClick |
| | | { |
| | | #keys: '[415136.0.1191390563]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | c := 'VWED CC'; |
| | | info( c.Format( 'S(Len(10),AlignRight)' ), c.Format( 'S(Len(10))' ) ); |
| | | a := 'All'; |
| | | info( a.Format( 'S(Len(10),AlignRight)' ), a.Format( 'S(Len(10))' ) ); |
| | | if( not isnull( DataHolderTable.Data() ) ){ |
| | | productids := selectuniquevalues( DataHolderProduct.Data(), Elements, product, exists( dhGenerations.Data(), Elements, e, e.Generation() = product.Generation() ) |
| | | and exists( dhMQBMLBs.Data(), Elements, e, e.MLBMQB() = product.MQBMLB() ) |
| | | and exists( dhPowers.Data(), Elements, e, e.Power() = product.Power() ), product.ID() ); |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), dhFactorys.Data(), productids ); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | #parent: PanelExport/ButtonSummaryExport |
| | | Response OnClick () id:Response_PanelExport_ButtonSummaryExport_OnClick |
| | | { |
| | | #keys: '[415136.0.862221938]' |
| | | #keys: '[415136.0.1191390564]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | Precondition: |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelExport/bRefresh_509 |
| | | Response OnClick () id:Response_PanelExport_545_bRefresh_OnClick |
| | | #parent: PanelExport/bRefresh |
| | | Response OnClick () id:Response_PanelExport_bRefresh_OnClick |
| | | { |
| | | #keys: '[415136.0.1153803171]' |
| | | #keys: '[415136.0.1191390562]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | Precondition: |
| | |
| | | #parent: PanelPeriod/DateSelectorEnd |
| | | Response OnChanged () id:Response_PanelPeriod_DateSelectorEnd_OnChanged |
| | | { |
| | | #keys: '[415136.0.862221640]' |
| | | #keys: '[415136.0.1191390565]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged' |
| | | QuillAction |
| | |
| | | #parent: PanelPeriod/DateSelectorStart |
| | | Response OnChanged () id:Response_PanelPeriod_DateSelectorStart_OnChanged |
| | | { |
| | | #keys: '[415136.0.862221461]' |
| | | #keys: '[415136.0.1191390566]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged' |
| | | QuillAction |
| | |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | #child: PanelInventorySummaryHeader |
| | | #child: PanelTable |
| | | #child: PanelInventorySummaryReport |
| | | ] |
| | | Properties: |
| | | [ |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | if( not isnull( DataHolderTable.Data() ) ){ |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component MatrixEditor515 |
| | | { |
| | | #keys: '[413988.0.1607432871]' |
| | | BaseType: 'WebMatrixEditor' |
| | | Children: |
| | | [ |
| | | Component MatrixEditorCell568 |
| | | { |
| | | #keys: '[413988.0.1607432872]' |
| | | BaseType: 'WebMatrixEditorCell' |
| | | Children: |
| | | [ |
| | | Component DataExtractor802 |
| | | { |
| | | #keys: '[413988.0.1607432873]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'structured[NewOfflinePlanRow]' |
| | | Source: 'dhSelectedDetailNewOfflinePlanRow' |
| | | Taborder: 0 |
| | | Transformation: 'Elements.NewOfflinePlanCell' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Attributes: 'Quantity;Order' |
| | | Column: 'NewOfflinePlanColumn' |
| | | Row: 'NewOfflinePlanRow' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component MatrixEditorRows710 |
| | | { |
| | | #keys: '[413988.0.1607432876]' |
| | | BaseType: 'WebMatrixEditorHeaderLevel' |
| | | Children: |
| | | [ |
| | | Component DataExtractor206 |
| | | { |
| | | #keys: '[413988.0.1607432877]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'structured[NewOfflinePlanRow]' |
| | | Source: 'dhSelectedDetailNewOfflinePlanRow' |
| | | Taborder: 0 |
| | | Transformation: 'Elements' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Legend: 'Name' |
| | | SortCriteria: 'ProductionLine;ProductID' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component MatrixEditorColumns748 |
| | | { |
| | | #keys: '[413988.0.1607432880]' |
| | | BaseType: 'WebMatrixEditorHeaderLevel' |
| | | Children: |
| | | [ |
| | | Component DataExtractor675 |
| | | { |
| | | #keys: '[413988.0.1607432881]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'NewOfflinePlanTable' |
| | | Source: 'dhNewOfflinePlanTable' |
| | | Taborder: 0 |
| | | Transformation: 'NewOfflinePlanColumn' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Legend: 'StartDate' |
| | | SortCriteria: 'StartDate' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | #child: matrixEditorActionBarPage623 |
| | | #child: matrixeditorContextMenu229 |
| | | ] |
| | | Properties: |
| | | [ |
| | | AllowAttributeConfiguration: true |
| | | AllowMultipleAttributes: true |
| | | Columns: 'MatrixEditorColumns748' |
| | | ContextMenu: 'matrixeditorContextMenu229' |
| | | Rows: 'MatrixEditorRows710' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component MatrixEditor583 |
| | | { |
| | | #keys: '[413988.0.1607432902]' |
| | | BaseType: 'WebMatrixEditor' |
| | | Children: |
| | | [ |
| | | Component MatrixEditorCell950 |
| | | { |
| | | #keys: '[413988.0.1607432903]' |
| | | BaseType: 'WebMatrixEditorCell' |
| | | Children: |
| | | [ |
| | | Component DataExtractor782 |
| | | { |
| | | #keys: '[413988.0.1607432904]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'structured[NewOfflinePlanRow]' |
| | | Source: 'dhSelectedTotalNewOfflinePlanRow' |
| | | Taborder: 0 |
| | | Transformation: 'Elements.NewOfflinePlanCell' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Attributes: 'TotalQuantity;ShiftPatternName;ShiftPatternStart;ShiftPatternEnd' |
| | | Column: 'NewOfflinePlanColumn' |
| | | Row: 'NewOfflinePlanRow' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component MatrixEditorRows569 |
| | | { |
| | | #keys: '[413988.0.1607432907]' |
| | | BaseType: 'WebMatrixEditorHeaderLevel' |
| | | Children: |
| | | [ |
| | | Component DataExtractor195 |
| | | { |
| | | #keys: '[413988.0.1607432908]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'structured[NewOfflinePlanRow]' |
| | | Source: 'dhSelectedTotalNewOfflinePlanRow' |
| | | Taborder: 0 |
| | | Transformation: 'Elements' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Legend: 'Name' |
| | | SortCriteria: 'ProductionLine;ProductID' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component MatrixEditorColumns473 |
| | | { |
| | | #keys: '[413988.0.1607432911]' |
| | | BaseType: 'WebMatrixEditorHeaderLevel' |
| | | Children: |
| | | [ |
| | | Component DataExtractor526 |
| | | { |
| | | #keys: '[413988.0.1607432912]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'NewOfflinePlanTable' |
| | | Source: 'dhNewOfflinePlanTable' |
| | | Taborder: 0 |
| | | Transformation: 'NewOfflinePlanColumn' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Legend: 'StartDate' |
| | | SortCriteria: 'StartDate' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | #child: matrixEditorActionBarPage338 |
| | | #child: matrixeditorContextMenu267 |
| | | ] |
| | | Properties: |
| | | [ |
| | | AllowMultipleAttributes: true |
| | | Columns: 'MatrixEditorColumns473' |
| | | ContextMenu: 'matrixeditorContextMenu267' |
| | | Rows: 'MatrixEditorRows569' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component matrixEditorActionBarPage338 |
| | | { |
| | | #keys: '[413988.0.1607432915]' |
| | | BaseType: 'matrixEditorActionBarPage' |
| | | Properties: |
| | | [ |
| | | Taborder: 3 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component matrixEditorActionBarPage623 |
| | | { |
| | | #keys: '[413988.0.1607432884]' |
| | | BaseType: 'matrixEditorActionBarPage' |
| | | Properties: |
| | | [ |
| | | Taborder: 3 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component matrixeditorContextMenu229 |
| | | { |
| | | #keys: '[413988.0.1607432887]' |
| | | BaseType: 'matrixeditorContextMenu' |
| | | Properties: |
| | | [ |
| | | Taborder: 4 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component matrixeditorContextMenu267 |
| | | { |
| | | #keys: '[413988.0.1607432918]' |
| | | BaseType: 'matrixeditorContextMenu' |
| | | Properties: |
| | | [ |
| | | Taborder: 4 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component pDetail |
| | | { |
| | | #keys: '[413988.0.1607470703]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: MatrixEditor515 |
| | | ] |
| | | Properties: |
| | | [ |
| | | Border: true |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component pHeader |
| | | { |
| | | #keys: '[413988.0.1607470685]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component bRefresh |
| | | { |
| | | #keys: '[413988.0.1607470932]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Refresh' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Border: true |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component pTotal |
| | | { |
| | | #keys: '[413988.0.1607470720]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: MatrixEditor583 |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 2 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: dhNewOfflinePlanTable |
| | | Response OnCreated () id:Response_FormNewOfflinePlan_dhNewOfflinePlanTable_OnCreated |
| | | { |
| | | #keys: '[413988.0.1612870517]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | Precondition: |
| | | [* |
| | | return not isnull( MacroPlan ); |
| | | *] |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | nopt := maxselect( MacroPlan, NewOfflinePlanTable, tempOPT, true, tempOPT.SaveDateTime() ); |
| | | |
| | | this.Data( nopt ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pHeader/bRefresh |
| | | Response OnClick () id:Response_pHeader_bRefresh_OnClick |
| | | { |
| | | #keys: '[413988.0.1607471065]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | Precondition: |
| | | [* |
| | | return not isnull( MacroPlan ); |
| | | *] |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | NewOfflinePlanCell::RefreshOfflinePlan( MacroPlan ); |
| | | |
| | | nopt := maxselect( MacroPlan, NewOfflinePlanTable, tempNOPT, true, tempNOPT.SaveDateTime() ); |
| | | dhNewOfflinePlanTable.Data( nopt ); |
| | | |
| | | WebMessageBox::Success( Translations::A_VWED_Success() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlannerWebApp |
| | | OrphanComponent FormNewOfflinePlan |
| | | { |
| | | #keys: '[413988.0.1606778977]' |
| | | BaseType: 'WebForm' |
| | | Children: |
| | | [ |
| | | #child: pTotal |
| | | #child: pHeader |
| | | #child: pDetail |
| | | Component dhNewOfflinePlanTable |
| | | { |
| | | #keys: '[413988.0.1607471150]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'NewOfflinePlanTable' |
| | | Properties: |
| | | [ |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component dhSelectedDetailNewOfflinePlanRow |
| | | { |
| | | #keys: '[413988.0.1607433222]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[NewOfflinePlanRow]*' |
| | | Children: |
| | | [ |
| | | Component deSelectedNewOfflinePlanRow |
| | | { |
| | | #keys: '[413988.0.1608510877]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'NewOfflinePlanTable' |
| | | FilterArguments: 'entities:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderCheckedEntities' |
| | | FixedFilter: 'object.Filter( entities ) and object.Type() = "1"' |
| | | Source: 'dhNewOfflinePlanTable' |
| | | Taborder: 0 |
| | | Transformation: 'NewOfflinePlanRow' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | Component dhSelectedTotalNewOfflinePlanRow |
| | | { |
| | | #keys: '[413988.0.1609979741]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[NewOfflinePlanRow]*' |
| | | Children: |
| | | [ |
| | | Component deSelectedNewOfflinePlanRow681 |
| | | { |
| | | #keys: '[413988.0.1609979742]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'NewOfflinePlanTable' |
| | | FilterArguments: 'entities:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderCheckedEntities' |
| | | FixedFilter: 'object.Filter( entities ) and object.Type() = "2"' |
| | | Source: 'dhNewOfflinePlanTable' |
| | | Taborder: 0 |
| | | Transformation: 'NewOfflinePlanRow' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 5 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Description: 'æ°è£
é
ä¸çº¿è®¡å' |
| | | Image: 'WIND_ENGINE_OFFSHORE' |
| | | Title: 'Output plan' |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | HighlightRules |
| | | { |
| | | HighlightRule |
| | | { |
| | | #keys: '1[413988.0.1616240421]' |
| | | Bidirectional: true |
| | | ContinueHighlighting: true |
| | | Description: 'ä¸çº¿è®¡åæ ¹æ®ç»åçªåºæ¾ç¤ºå计' |
| | | Groups: Default |
| | | HighlightPathString: 'Total' |
| | | StartTypeString: 'NewOfflinePlanCell' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | { |
| | | viewcontents |
| | | { |
| | | forms |
| | | { |
| | | form_FormNewOfflinePlan |
| | | { |
| | | title: 'QMacroPlanner::FormNewOfflinePlan' |
| | | shown: true |
| | | componentID: 'QMacroPlanner::FormNewOfflinePlan' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 1 |
| | | rowSpan: 14 |
| | | columnPosition: 1 |
| | | columnSpan: 12 |
| | | } |
| | | components |
| | | { |
| | | FormNewOfflinePlan_pHeader |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormNewOfflinePlan_pDetail |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormNewOfflinePlan_MatrixEditor515 |
| | | { |
| | | gridColor: '#c4c4c4' |
| | | totalHeaderWidth: 511 |
| | | attributeHeaderWidthRatio: 0.6 |
| | | nameHeaderWidthRatio: 0.4 |
| | | columnWidth: 100 |
| | | horizontalGrid: true |
| | | verticalGrid: true |
| | | backendState |
| | | { |
| | | componentId: 'QMacroPlanner::FormNewOfflinePlan.MatrixEditor515' |
| | | state |
| | | { |
| | | cells |
| | | { |
| | | attributes |
| | | { |
| | | attribute_Quantity |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 0 |
| | | rowsubtotal: '' |
| | | columnsubtotal: 'sum' |
| | | attribute: 'Quantity' |
| | | } |
| | | attribute_Order |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 1 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'Order' |
| | | } |
| | | } |
| | | } |
| | | columns |
| | | { |
| | | sorting |
| | | { |
| | | criteria: "datamember:'StartDate'" |
| | | } |
| | | } |
| | | rows |
| | | { |
| | | sorting |
| | | { |
| | | criteria: "datamember:'ProductionLine';datamember:'ProductID'" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | FormNewOfflinePlan_pTotal |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormNewOfflinePlan_MatrixEditor583 |
| | | { |
| | | gridColor: '#c4c4c4' |
| | | totalHeaderWidth: 510 |
| | | attributeHeaderWidthRatio: 0.6 |
| | | nameHeaderWidthRatio: 0.4 |
| | | columnWidth: 100 |
| | | horizontalGrid: true |
| | | verticalGrid: true |
| | | backendState |
| | | { |
| | | componentId: 'QMacroPlanner::FormNewOfflinePlan.MatrixEditor583' |
| | | state |
| | | { |
| | | cells |
| | | { |
| | | attributes |
| | | { |
| | | attribute_TotalQuantity |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 0 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'TotalQuantity' |
| | | } |
| | | attribute_ShiftPatternName |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 1 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'ShiftPatternName' |
| | | } |
| | | attribute_ShiftPatternStart |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 2 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'ShiftPatternStart' |
| | | } |
| | | attribute_ShiftPatternEnd |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 3 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'ShiftPatternEnd' |
| | | } |
| | | } |
| | | } |
| | | columns |
| | | { |
| | | sorting |
| | | { |
| | | criteria: "datamember:'StartDate'" |
| | | } |
| | | } |
| | | rows |
| | | { |
| | | sorting |
| | | { |
| | | criteria: "datamember:'ProductionLine';datamember:'ProductID'" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormGeneralSettings |
| | | { |
| | | title: 'General Settings' |
| | | shown: true |
| | | componentID: 'FormGeneralSettings' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 0 |
| | | } |
| | | components |
| | | { |
| | | FormGeneralSettings_PanelContent |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormGeneralSettings_PanelGeneralParameter |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormGeneralSettings_PanelLeadTimeDependent |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormGeneralSettings_PanelShelfLife |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormGeneralSettings_PanelSustainability |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormGeneralSettings_PanelForecastNetting |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormGeneralSettings_PanelActions |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | userconfigurableinformation |
| | | { |
| | | } |
| | | page: '' |
| | | group: '' |
| | | index: 0 |
| | | image: 'CHART_DONUT' |
| | | description: '' |
| | | } |
| | | formatversion: 2 |
| | | id: 'NewOfflinePlan' |
| | | name: 'NewOfflinePlan' |
| | | isglobal: false |
| | | isroot: true |
| | | } |