Merge branch 'dev' of http://47.101.211.7:10101/r/VWED into dev
已重命名1个文件
已修改22个文件
已添加8个文件
已删除1个文件
| | |
| | | RelationSide.LeftSide MS64Data |
| | | { |
| | | #keys: '3[415136.0.1039640178][415136.0.1039640177][415136.0.1039640179]' |
| | | Cardinality: '0to1' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: AOnlineAndMOfflinePlanMS64 |
| | | OwningSide: 'Owned' |
| | | } |
| | |
| | | allunit := DLEngineLogisticsCostReport::GetDefaultAllUnit(); |
| | | search := owner.CCEngineLogisticsCostSearch(); |
| | | if( isnull( search ) ){ |
| | | owner.CCEngineLogisticsCostSearch( relnew, Generation := allunit, MqbMlb := allunit, Power := allunit ); |
| | | search := owner.CCEngineLogisticsCostSearch( relnew, Generation := allunit, MqbMlb := allunit, Power := allunit ); |
| | | }else{ |
| | | search := owner.CCEngineLogisticsCostSearch(); |
| | | search.Generation( allunit ); |
| | |
| | | allunit := DLEngineLogisticsCostReport::GetDefaultAllUnit(); |
| | | search := owner.DLEngineLogisticsCostSearch(); |
| | | if( isnull( search ) ){ |
| | | owner.DLEngineLogisticsCostSearch( relnew, Generation := allunit, MqbMlb := allunit, Power := allunit ); |
| | | search := owner.DLEngineLogisticsCostSearch( relnew, Generation := allunit, MqbMlb := allunit, Power := allunit ); |
| | | }else{ |
| | | search := owner.DLEngineLogisticsCostSearch(); |
| | | search.Generation( allunit ); |
| | |
| | | transportationQuantity := sum( macroPlan, Unit.Lane.LaneLeg.Trip.ProductInTrip, tempPIT, |
| | | tempPIT.Product_MP().Generation() = ccerr.Generation() and |
| | | tempPIT.Product_MP().MQBMLB() = ccerr.MLB_MQB() and |
| | | tempPIT.Trip().Departure().Date() >= ccerc.StartDate() and |
| | | tempPIT.Trip().Arrival().Date() <= lastDayOfThisMonth and |
| | | tempPIT.Trip().Departure().Date().Year() = ccerc.StartDate().Year() and |
| | | tempPIT.Trip().Departure().Date().Month() = ccerc.StartDate().Month() and |
| | | tempPIT.Trip().LaneLeg().AsOriginStockingPointLeg().StockingPoint_MP().ID() = "CC åå
åº" and |
| | | tempPIT.Trip().LaneLeg().AsDestinationStockingPointLeg().StockingPoint_MP().ID() = "é¿æ¥å¤ç§åº", |
| | | tempPIT.Quantity() |
| | |
| | | tempMRTCell.MaterialRackTotalRow().Generation() = dlerr.Generation() and |
| | | tempMRTCell.MaterialRackTotalRow().MLB_MQB() = dlerr.MLB_MQB() and |
| | | tempMRTCell.MaterialRackColumn().Month() = dlerc.StartDate().Month() ); |
| | | if ( dlerr.Generation() = "350bar" and dlerr.MLB_MQB() = "MQB" ) { |
| | | cell.TotalQuantityOfMaterialRacks( mrtcell.Quantity() ); |
| | | } |
| | | |
| | | // 大è¿å¤ç§åºç©ºææ¶æ°éï¼ã350bar MQBææ¶æ»æ°é - ææ350bar MQBæ»åºå / å
è£
容é - 客æ·åºææ¶æ°éã* 大è¿å¤ç§åºç©ºææ¶æ¯ä¾ |
| | | plannedInventory := sum( macroPlan, Product_MP.ProductInStockingPoint_MP.ProductInStockingPointInPeriod, tempPISPIP, |
| | |
| | | tempF.StartDate().Year() = dlerc.StartDate().Year() and |
| | | tempF.StartDate().Month() = dlerc.StartDate().Month(), |
| | | tempF.FulfilledQuantity() ); |
| | | info( "æ¶é´ï¼", dlerc.StartDate().Format( "Y-M2-D2" ), " å
¥åºæ°éï¼", transportationQuantity1, " å
è£
容éï¼", guard( lce.PackagingCapacity(), 0 ), |
| | | " å
¥åºåä»·ï¼", guard( lcmrCC.WarehousingPrice(), 0 ) ); // æµè¯è¾åº |
| | | // info( "æ¶é´ï¼", dlerc.StartDate().Format( "Y-M2-D2" ), " å
¥åºæ°éï¼", transportationQuantity1, " å
è£
容éï¼", guard( lce.PackagingCapacity(), 0 ), |
| | | // " å
¥åºåä»·ï¼", guard( lcmrCC.WarehousingPrice(), 0 ) ); // æµè¯è¾åº |
| | | cell.CCStorageFeesForRentedWarehouses( [Number] ( guard( transportationQuantity1 / lce.PackagingCapacity(), 0 ) * lcmrCC.WarehousingPrice() ) ); |
| | | |
| | | // CCå¤ç§åºåºåºè´¹ç¨ï¼å卿ºéé / å
è£
容éï¼åä¸åæ´ï¼* ææ¶åºåºåä»· |
| | |
| | | transportationQuantity2 := sum( macroPlan, Unit.Lane.LaneLeg.Trip.ProductInTrip, tempPIT, |
| | | tempPIT.Product_MP().Generation() = dlerr.Generation() and |
| | | tempPIT.Product_MP().MQBMLB() = dlerr.MLB_MQB() and |
| | | tempPIT.Trip().Departure().Date() >= dlerc.StartDate() and |
| | | tempPIT.Trip().Arrival().Date() <= lastDayOfThisMonth and |
| | | tempPIT.Trip().Departure().Date().Year() = dlerc.StartDate().Year() and |
| | | tempPIT.Trip().Departure().Date().Month() = dlerc.StartDate().Month() and |
| | | tempPIT.Trip().LaneLeg().AsOriginStockingPointLeg().StockingPoint_MP().ID() = "大è¿åå
åº" and |
| | | tempPIT.Trip().LaneLeg().AsDestinationStockingPointLeg().StockingPoint_MP().ID() = "大è¿å卿ºçé¿æ¥å¤ç§åº", |
| | | tempPIT.Quantity() |
| | | ); |
| | | // info( "æ°éï¼", transportationQuantity2 ); |
| | | cell.CCLineHaulCost( [Number] ( guard( transportationQuantity2 / lce.PackagingCapacity() / lct1.LoadingCapacity(), 0 ) * guard( lct1.TransportPrice(), 1 ) ) ); |
| | | |
| | | // CCçéè¿è¾è´¹ç¨ï¼è°æ¨æ°é / å
è£
容é / è£
载容é * ææ¶è¿è¾åä»· |
| | |
| | | cell.DLOutboundExpensesForRentedWarehouses( [Number] ( guard( outboundQuantity / lce.PackagingCapacity(), 0 ) * guard( lcmrDL.OutboundPrice(), 1 ) ) ); |
| | | |
| | | // DLå¤ç§åºè¿è¾è´¹ç¨ï¼å卿ºè¿è¾é / å
è£
容é / è£
载容éï¼åä¸åæ´ï¼* ææ¶è¿è¾åä»· |
| | | cell.DLExternalRentalWarehouseTransportationCosts( [Number] ( guard( inventoryQuantity / lce.PackagingCapacity() / lct2.LoadingCapacity(), 0 ) * guard( lct2.TransportPrice(), 1 ) ) ); |
| | | outboundQuantity1 := sum( macroPlan, Product_MP.ProductInStockingPoint_MP.ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ), tempPISPIPPL, |
| | | tempPISPIPPL.ProductInStockingPoint_MP().Product_MP().Generation() = dlerr.Generation() and |
| | | tempPISPIPPL.ProductInStockingPoint_MP().Product_MP().MQBMLB() = dlerr.MLB_MQB() and |
| | | tempPISPIPPL.ProductInStockingPoint_MP().StockingPointID() = "大è¿å¤ç§åº" and |
| | | tempPISPIPPL.Start().Date() >= dlerc.StartDate() and |
| | | tempPISPIPPL.End().Date() <= lastDayOfThisMonth, |
| | | tempPISPIPPL.NewSupplyQuantity() ); |
| | | cell.DLExternalRentalWarehouseTransportationCosts( [Number] ( guard( outboundQuantity1 / lce.PackagingCapacity() / lct2.LoadingCapacity(), 0 ) * guard( lct2.TransportPrice(), 1 ) ) ); |
| | | |
| | | // 大è¿å¤ç§åºä»å¨è´¹ç¨ï¼ã350bar MQBææ¶æ»æ°é-ææ350bar MQBæ»åºå/å
è£
容é-客æ·åºææ¶æ°éã*大è¿å¤ç§åºç©ºææ¶æ¯ä¾ |
| | | // DLå¤ç§åºä»å¨è´¹ç¨ï¼ææ¶æ»æ°é - å卿ºåºå / å
è£
容éï¼åä¸åæ´ï¼* ç©ºææ¶ä»å¨åä»· |
| | |
| | | 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; |
| | | sumrowccproduction := EnginePipelineRow::CraeteCellValueForRow( this, sumstr.Concat( 'é¿æ¥äº§é' ), sumname, '', sumrowdlproduction.RowNr() + 1 ); |
| | | sumrowdemand := EnginePipelineRow::CraeteCellValueForRow( this, sumstr.Concat( 'æ»éæ±' ), sumname, '', sumrowccproduction.RowNr() + 1 ); |
| | | sumdemandrows := construct( EnginePipelineRows ); |
| | | rowno := sumrowdemand.RowNr() + 1; |
| | | traverse( models, Elements, model ){ |
| | | EnginePipelineRow::CraeteCellValueForRow( this, sumstr.Concat( model.Concat( 'éæ±' ) ), sumname, model, rowno ); |
| | | sumdemandrows.Add( EnginePipelineRow::CraeteCellValueForRow( this, sumstr.Concat( model.Concat( 'éæ±' ) ), sumname, model, rowno ) ); |
| | | rowno := rowno + 1; |
| | | } |
| | | sumrowinventory := EnginePipelineRow::CraeteCellValueForRow( this, sumstr.Concat( 'åºå' ), sumname, '', rowno ); |
| | |
| | | traverse( rows, Elements, row, productids.Find( row.Name() ) >= 0 ){ |
| | | 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 ); |
| | | showrowdlproduction := EnginePipelineRow::CraeteCellValueForRow( this, rowname.Concat( '大è¿äº§é' ), row.Name(), '', showrowproduction.RowNr() + 1 ); |
| | | showrowccproduction := EnginePipelineRow::CraeteCellValueForRow( this, rowname.Concat( 'é¿æ¥äº§é' ), row.Name(), '', showrowdlproduction.RowNr() + 1 ); |
| | | showrowdemand := EnginePipelineRow::CraeteCellValueForRow( this, rowname.Concat( 'æ»éæ±' ), row.Name(), '', showrowccproduction.RowNr() + 1 ); |
| | | rownr := showrowdemand.RowNr() + 1; |
| | | modelsnr := showrowdemand.RowNr() + 4; |
| | | uniquemodels := selectuniquevalues( row, Cell.Demand, demand, true, demand.Model() ); |
| | | |
| | | demandrows := construct( EnginePipelineRows ); |
| | | traverse( uniquemodels, Elements, e ){ |
| | | |
| | | if( rownr < modelsnr ){ |
| | | EnginePipelineRow::CraeteCellValueForRow( this, rowname.Concat( e.Concat( 'éæ±' ) ), row.Name(), e, rownr ); |
| | | models.Add( e ); |
| | | demandrows.Add( EnginePipelineRow::CraeteCellValueForRow( this, rowname.Concat( e.Concat( 'éæ±' ) ), row.Name(), e, rownr ) ); |
| | | rownr := rownr + 1; |
| | | } |
| | | } |
| | | |
| | | for( rownr := rownr; rownr < modelsnr; rownr ++ ){ |
| | | |
| | | EnginePipelineRow::CraeteCellValueForRow( this, rowname.Concat( '' ), row.Name(), '', rownr ); |
| | | demandrows.Add( EnginePipelineRow::CraeteCellValueForRow( this, rowname.Concat( '' ), row.Name(), '', rownr ) ); |
| | | } |
| | | showrowinventory := EnginePipelineRow::CraeteCellValueForRow( this, rowname.Concat( 'åºå' ), row.Name(), '', rownr ); |
| | | |
| | | traverse( row, Cell, cell, cell.Column().TimeUnit() = search.TimeUnit() ){ |
| | | |
| | | column := selectobject( this, Column, column, column.StartDate() = cell.Column().StartDate() and column.TimeUnit() = search.TimeUnit() ); |
| | | |
| | | if( not isnull( column ) ){ |
| | | traverse( this, Column, column ){ |
| | | daycells := selectset( row, Cell, cell, cell.Column().TimeUnit() = Translations::MP_GlobalParameters_Day() and |
| | | cell.Column().StartDate() >= column.StartDate() and |
| | | cell.Column().StartDate() <= column.EndDate() ); |
| | | |
| | | //ç产 |
| | | production := column.CellValue( relnew, Value := [String]cell.ProductionQuantity() ); |
| | | showrowproduction.CellValue( relinsert, production ); |
| | | productionqty := [Number]sum( daycells, Elements, cell, cell.ProductionQuantity() ); |
| | | production := selectobject( column, CellValue, c, c.Row() = showrowproduction ); |
| | | production.Value( [String]productionqty ); |
| | | sumproduction := selectobject( column, CellValue, c, c.Row() = sumrowproduction ); |
| | | |
| | | if( isnull( sumproduction ) ){ |
| | | sumproduction := column.CellValue( relnew, Value := [String]0 ); |
| | | sumrowproduction.CellValue( relinsert, sumproduction ); |
| | | } |
| | | sumproduction.Value( [String]( [Real]sumproduction.Value() + cell.ProductionQuantity() ) ); |
| | | |
| | | sumproduction.Value( [String]( [Real]sumproduction.Value() + productionqty ) ); |
| | | //大è¿äº§é |
| | | dlproductionquantity := guard( cell.Production().DLProduction(), 0 ); |
| | | dlproduction := column.CellValue( relnew, Value := [String]dlproductionquantity ); |
| | | showrowdlproduction.CellValue( relinsert, dlproduction ); |
| | | dlproductionqty := [Number]sum( daycells, Elements.Production, cellproduction, cellproduction.DLProduction() ); |
| | | dlproduction := selectobject( column, CellValue, c, c.Row() = showrowdlproduction ); |
| | | dlproduction.Value( [String]dlproductionqty ); |
| | | sumdlproduction := selectobject( column, CellValue, c, c.Row() = sumrowdlproduction ); |
| | | |
| | | if( isnull( sumdlproduction ) ){ |
| | | sumdlproduction := column.CellValue( relnew, Value := [String]0 ); |
| | | sumrowdlproduction.CellValue( relinsert, sumdlproduction ); |
| | | } |
| | | sumdlproduction.Value( [String]( [Real]sumdlproduction.Value() + dlproductionquantity ) ); |
| | | |
| | | sumdlproduction.Value( [String]( [Real]sumdlproduction.Value() + dlproductionqty ) ); |
| | | //é¿æ¥äº§é |
| | | ccproductionquantity := guard( cell.Production().CCProduction(), 0 ); |
| | | ccproduction := column.CellValue( relnew, Value := [String]ccproductionquantity ); |
| | | showrowccproduction.CellValue( relinsert, ccproduction ); |
| | | ccproductionqty := [Number]sum( daycells, Elements.Production, cellproduction, cellproduction.CCProduction() ); |
| | | ccproduction := selectobject( column, CellValue, c, c.Row() = showrowccproduction ); |
| | | ccproduction.Value( [String]ccproductionqty ); |
| | | sumccproduction := selectobject( column, CellValue, c, c.Row() = sumrowccproduction ); |
| | | |
| | | if( isnull( sumccproduction ) ){ |
| | | sumccproduction := column.CellValue( relnew, Value := [String]0 ); |
| | | sumrowccproduction.CellValue( relinsert, sumccproduction ); |
| | | } |
| | | sumccproduction.Value( [String]( [Real]sumccproduction.Value() + ccproductionquantity ) ); |
| | | |
| | | sumccproduction.Value( [String]( [Real]sumccproduction.Value() + ccproductionqty ) ); |
| | | //éæ± |
| | | totaldemand := column.CellValue( relnew, Value := [String]cell.DemandQuantity() ); |
| | | showrowdemand.CellValue( relinsert, totaldemand ); |
| | | totaldemandqty := [Number]sum( daycells, Elements, cell, cell.DemandQuantity() ); |
| | | totaldemand := selectobject( column, CellValue, c, c.Row() = showrowdemand ); |
| | | totaldemand.Value( [String]totaldemandqty ); |
| | | sumdemand := selectobject( column, CellValue, c, c.Row() = sumrowdemand ); |
| | | if( isnull( sumdemand ) ){ |
| | | sumdemand := column.CellValue( relnew, Value := [String]0 ); |
| | | sumrowdemand.CellValue( relinsert, sumdemand ); |
| | | } |
| | | 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.Product() = row.Name() and r.Demand() = demand.Model() ); |
| | | sumdemandrow := selectobject( this, Row, r, r.Product() = sumname and r.Demand() = demand.Model() ); |
| | | |
| | | if( not isnull( demandrow ) ){ |
| | | demandcell := column.CellValue( relnew, Value := [String]demand.Quantity() ); |
| | | demandrow.CellValue( relinsert, demandcell ); |
| | | } |
| | | sumdemand.Value( [String]( [Real]sumdemand.Value() + totaldemandqty ) ); |
| | | //å
·ä½éæ± |
| | | traverse( demandrows, Elements, demandrow ){ |
| | | demandqty := [Number]sum( daycells, Elements.Demand, celldemand, celldemand.Model() = demandrow.Demand(), celldemand.Quantity() ); |
| | | demandcell := selectobject( column, CellValue, c, c.Row() = demandrow ); |
| | | demandcell.Value( [String]demandqty ); |
| | | sumdemandrow := selectobject( sumdemandrows, Elements, r, r.Demand() = demandrow.Demand() ); |
| | | if( not isnull( sumdemandrow ) ){ |
| | | sumdemandcell := selectobject( column, CellValue, c, c.Row() = sumdemandrow ); |
| | | if( isnull( sumdemandcell ) ){ |
| | | sumdemandcell := column.CellValue( relnew, Value := [String]0 ); |
| | | sumdemandrow.CellValue( relinsert, sumdemandcell ); |
| | | } |
| | | sumdemandcell.Value( [String]( [Real]sumdemandcell.Value() + demand.Quantity() ) ); |
| | | sumdemandcell.Value( [String]( [Real]sumdemandcell.Value() + demandqty ) ); |
| | | } |
| | | } |
| | | |
| | | for( demandr := showrowdemand.RowNr() + 1; demandr < showrowinventory.RowNr(); demandr := demandr + 1 ){ |
| | | demandrow := selectobject( this, Row, r, r.RowNr() = demandr and r.Name() = row.Name() ); |
| | | if( not isnull( demandrow ) and not exists( demandrow, CellValue, cv, cv.Column() = column ) ){ |
| | | demandcell := column.CellValue( relnew, Value := '' ); |
| | | demandrow.CellValue( relinsert, demandcell ); |
| | | } |
| | | } |
| | | |
| | | |
| | | //åºå |
| | | inventory := column.CellValue( relnew, Value := [String]cell.InventoryQuantity() ); |
| | | showrowinventory.CellValue( relinsert, inventory ); |
| | | inventroyqty := [Number]maxobject( daycells, Elements, e, e.Column().StartDate() ).InventoryQuantity(); |
| | | inventory := selectobject( column, CellValue, c, c.Row() = showrowinventory ); |
| | | inventory.Value( [String]inventroyqty ); |
| | | suminventory := selectobject( column, CellValue, c, c.Row() = sumrowinventory ); |
| | | if( isnull( suminventory ) ){ |
| | | suminventory := column.CellValue( relnew, Value := [String]0 ); |
| | | sumrowinventory.CellValue( relinsert, suminventory ); |
| | | } |
| | | suminventory.Value( [String]( [Real]suminventory.Value() + cell.InventoryQuantity() ) ); |
| | | |
| | | } |
| | | suminventory.Value( [String]( [Real]suminventory.Value() + inventroyqty ) ); |
| | | } |
| | | } |
| | | traverse( this, Column, column ){ |
| | |
| | | [* |
| | | // çå
°é¸½ Jul-11-2024 (created) |
| | | 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 ); |
| | | //} |
| | | traverse( table, Column, column ){ |
| | | cell := column.CellValue( relnew, Value := '0' ); |
| | | row.CellValue( relinsert, cell ); |
| | | } |
| | | return row; |
| | | *] |
| | | } |
| | |
| | | |
| | | products := construct( Product_MPs ); |
| | | //åå§åå |
| | | table.GenerateColumn( owner, 'All', search.StartDate(), search.EndDate() ); |
| | | table.GenerateColumn( owner, Translations::MP_GlobalParameters_Day(), search.StartDate(), search.EndDate() ); |
| | | endperiod := maxobject( owner, Period_MP, period, not period.IsHistorical() and period.TimeUnit() = Translations::MP_GlobalParameters_Day(), period.StartDate() ); |
| | | |
| | | //çæç产ååºåæ°æ® |
| | | traverse( owner, StockingPoint_MP, stockingpoint ){ |
| | | unit := stockingpoint.Unit(); |
| | | parentunits := unit.GetAllParent(); |
| | | //æ¯å¦å±äºé¿æ¥å·¥å |
| | | iscc := ( stockingpoint.ID().StartsWith( 'CC' ) or stockingpoint.ID().StartsWith( 'é¿æ¥' ) ) and stockingpoint.ID().EndsWith( 'åå
åº' ); |
| | | iscc := stockingpoint.ID().StartsWith( 'CC' ) or unit.ID().StartsWith( 'CC' ) or exists( parentunits, Elements, punit, punit.ID().StartsWith( 'CC' ) ); |
| | | //æ¯å¦å±äºå¤§è¿å·¥å |
| | | isdl := ( ( stockingpoint.ID().StartsWith( 'DL' ) or stockingpoint.ID().StartsWith( '大è¿' ) ) and stockingpoint.ID().EndsWith( 'åå
åº' ) ) or stockingpoint.ID() = '大è¿å¤ç§åº'; |
| | | |
| | | isdl := stockingpoint.ID().StartsWith( 'DL' ) or unit.ID().StartsWith( 'DL' ) or exists( parentunits, Elements, punit, punit.ID().StartsWith( 'DL' ) ); |
| | | //æ¯å¦å±äºé¿æ¥äº§é |
| | | isccproduction := iscc and stockingpoint.ID().EndsWith( 'åå
åº' ); |
| | | //æ¯å¦å±äºå¤§è¿äº§é |
| | | isdlproduction := isdl and stockingpoint.ID().EndsWith( 'åå
åº' ) or stockingpoint.ID() = '大è¿å¤ç§åº'; |
| | | if( isccproduction or isdlproduction ){ |
| | | traverse( stockingpoint, ProductInStockingPoint_MP, pisp, pisp.Product_MP().IsLeaf() and not pisp.IsSystem() |
| | | and exists( pisp.Product_MP().GetAllParent(), Elements, e, e.ID() = productparent ) |
| | | and exists( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day() and ( pispip.NewSupplyQuantity() <> 0 or pispip.PlannedInventoryLevelEnd() <> 0 ) ) ){ |
| | | pispips := selectsortedset( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() |
| | | and pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day(), pispip.Start() ); |
| | | and pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day() and ( pispip.NewSupplyQuantity() <> 0 or pispip.PlannedInventoryLevelEnd() <> 0 ), pispip.Start() ); |
| | | row := table.GetRow( pisp.ProductID() ); |
| | | products.Add( pisp.Product_MP() ); |
| | | traverse( pispips, Elements, pispip ){ |
| | | //天 |
| | | daycolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Day(), pispip.Start().Date() ); |
| | | //å¨ |
| | | weekcolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Week(), pispip.Start().Date() ); |
| | | supplyquantity := [Number]pispip.NewSupplyQuantity();//åèäºå
¥ |
| | | inventoryquantity := [Number]pispip.PlannedInventoryLevelEnd();//åèäºå
¥ |
| | | // weekcolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Week(), pispip.Start().Date() ); |
| | | supplyquantity := pispip.NewSupplyQuantity();//åèäºå
¥ |
| | | inventoryquantity := pispip.PlannedInventoryLevelEnd(); |
| | | //äº§éæ¯å æ» |
| | | if( iscc or isdl ){ |
| | | row.SetCellProductionValue( daycolumn, iscc, [Real]supplyquantity ); |
| | | row.SetCellProductionValue( weekcolumn, iscc, [Real]supplyquantity ); |
| | | if( isccproduction or isdlproduction ){ |
| | | row.SetCellProductionValue( daycolumn, iscc, supplyquantity ); |
| | | // row.SetCellProductionValue( weekcolumn, iscc, supplyquantity ); |
| | | } |
| | | //åºåéè¦åæåä¸å¤© |
| | | row.SetCellInventoryValue( daycolumn, [Real]inventoryquantity ); |
| | | |
| | | if( pispip.Start().Date() = weekcolumn.EndDate() or pispip.Period_MP() = endperiod ){ |
| | | |
| | | row.SetCellInventoryValue( weekcolumn, [Real]inventoryquantity ); |
| | | // if( pispip.Start().Date() = weekcolumn.EndDate() or pispip.Period_MP() = endperiod ){ |
| | | // |
| | | // row.SetCellInventoryValue( weekcolumn, [Real]inventoryquantity ); |
| | | // } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | //çæéæ±æ°æ® |
| | | traverse( owner, SalesDemand.astype( Forecast ), forecast, not isnull( forecast.SalesSegment_MP() ) and forecast.StartDate() < endperiod.StartDate() and forecast.Quantity() <> 0 |
| | | and exists( forecast.Product_MP().GetAllParent(), Elements, e, e.ID() = productparent ) |
| | |
| | | //天 |
| | | daycolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Day(), psdip.StartDate() ); |
| | | //å¨ |
| | | weekcolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Week(), psdip.StartDate() ); |
| | | // weekcolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Week(), psdip.StartDate() ); |
| | | |
| | | if( not isnull( daycolumn ) ){ |
| | | row.SetCellDemandValue( daycolumn, forecast.SalesSegmentName(), forecast.Quantity() ); |
| | | } |
| | | if( not isnull( weekcolumn ) ){ |
| | | row.SetCellDemandValue( weekcolumn, forecast.SalesSegmentName(), forecast.Quantity() ); |
| | | } |
| | | // if( not isnull( weekcolumn ) ){ |
| | | // row.SetCellDemandValue( weekcolumn, forecast.SalesSegmentName(), forecast.Quantity() ); |
| | | // } |
| | | // if( psdip.StartDate() = ( weekstart + Duration::Days( 6 ) ).Date() or psdip.PeriodStart() = endperiod.StartDate() ){ |
| | | // weekstart := ( weekstart + Duration::Days( 7 ) ).Date(); |
| | | // } |
| | | } |
| | | } |
| | | |
| | | rows := selectsortedset( table, Row, row, row.Name() ); |
| | | i := 0; |
| | | traverse( rows, Elements, e ){ |
| | | e.RowNr( i ); |
| | | i := i + 1; |
| | | } |
| | | //rows := selectsortedset( table, Row, row, row.Name() ); |
| | | //i := 0; |
| | | //traverse( rows, Elements, e ){ |
| | | // e.RowNr( i ); |
| | | // i := i + 1; |
| | | //} |
| | | showtable.Generate( search, products ); |
| | | *] |
| | | } |
| | |
| | | // çå
°é¸½ Sep-29-2024 (created) |
| | | search := owner.EnginePipelineSearch(); |
| | | if( isnull( search ) ){ |
| | | owner.EnginePipelineSearch( relnew, StartDate := Date::MinDate(), EndDate := Date::MaxDate(), TimeUnit := Translations::MP_GlobalParameters_Day() ); |
| | | search := owner.EnginePipelineSearch( relnew, StartDate := Date::MinDate(), EndDate := Date::MaxDate(), TimeUnit := Translations::MP_GlobalParameters_Day() ); |
| | | }else{ |
| | | search := owner.EnginePipelineSearch(); |
| | | search.TimeUnit( Translations::MP_GlobalParameters_Day() ); |
| | |
| | | allunit := FinancialProductionReport::GetDefaultAllUnit(); |
| | | search := owner.FinancialProductionSearch(); |
| | | if( isnull( owner.FinancialProductionSearch() ) ){ |
| | | owner.FinancialProductionSearch( relnew, Unit := allunit, Generation := allunit, MqbMlb := allunit, Power := allunit ); |
| | | search := owner.FinancialProductionSearch( relnew, Unit := allunit, Generation := allunit, MqbMlb := allunit, Power := allunit ); |
| | | }else{ |
| | | search := owner.FinancialProductionSearch(); |
| | | search.Unit( allunit ); |
| | |
| | | allunit := FinancialSalesReport::GetDefaultAllUnit(); |
| | | search := owner.FinancialSalesSearch(); |
| | | if( isnull( search ) ){ |
| | | owner.FinancialSalesSearch( relnew, Unit := allunit, Generation := allunit, MqbMlb := allunit, Power := allunit ); |
| | | search := owner.FinancialSalesSearch( relnew, Unit := allunit, Generation := allunit, MqbMlb := allunit, Power := allunit ); |
| | | }else{ |
| | | search := owner.FinancialSalesSearch(); |
| | | search.Unit( allunit ); |
| | |
| | | brand := guard( item.Get( "brand").GetString(),""); |
| | | bi_place := guard( item.Get( "bi_place").GetString(),""); |
| | | price := guard( item.Get( "price").GetString(),""); |
| | | total := guard( item.Get( "total").GetReal(),0); |
| | | amount := guard( item.Get( "amount").GetReal(),0); |
| | | total := [Real]guard( item.Get( "total").GetString(),""); |
| | | amount := [Real]guard( item.Get( "amount").GetString(),""); |
| | | dtype := guard( item.Get( "dtype").GetString(),""); |
| | | fac := guard( item.Get( "fac").GetString(),""); |
| | | dday := guard( item.Get( "dday").GetString(),""); |
| | |
| | | allunit := InventorySummaryReport::GetDefaultAllUnit(); |
| | | search := owner.InventorySummarySearch(); |
| | | if( isnull( search ) ){ |
| | | owner.InventorySummarySearch( relnew, Unit := allunit, Generation := allunit, MqbMlb := allunit, Power := allunit, Category := Translations::MP_GlobalParameters_Day(), StartDate := Date::MinDate(), EndDate := Date::MaxDate() ); |
| | | search := owner.InventorySummarySearch( relnew, Unit := allunit, Generation := allunit, MqbMlb := allunit, Power := allunit, Category := Translations::MP_GlobalParameters_Day(), StartDate := Date::MinDate(), EndDate := Date::MaxDate() ); |
| | | }else{ |
| | | search := owner.InventorySummarySearch(); |
| | | search.Unit( allunit ); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute CCToDLArrivalQty |
| | | { |
| | | #keys: '3[415136.0.1262801280][415136.0.1262801279][415136.0.1262801281]' |
| | | Description: 'CC to DL å°è¾¾æ°é' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute CCToDLDepartureQty |
| | | { |
| | | #keys: '3[415136.0.1262801270][415136.0.1262801269][415136.0.1262801271]' |
| | | Description: 'CC to DLç¦»åºæ°é' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute DLToCCArrivalQty |
| | | { |
| | | #keys: '3[415136.0.1262801300][415136.0.1262801299][415136.0.1262801301]' |
| | | Description: 'DL to CC å°è¾¾æ°é' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute DLToCCDepartureQty |
| | | { |
| | | #keys: '3[415136.0.1262801290][415136.0.1262801289][415136.0.1262801291]' |
| | | Description: 'DL to CCç¦»åºæ°é' |
| | | ValueType: Real |
| | | } |
| | |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-25-2024 (created) |
| | | startyearmonth := search.MacroPlan().StartOfPlanning().StartOfMonth().Date(); |
| | | table := selectobject( this, Source.Report, report, not report.IsShow() ); |
| | | //æ¸
空ä¹ååå¨çæ¾ç¤ºæ°æ® |
| | | this.Clear( search.TimeUnit(), search.StartDate(), search.EndDate() ); |
| | |
| | | sumrow := this.Row( relnew, Name := 'SUM', RowNr := table.Row( relsize ) ); |
| | | traverse( table, Row, row, productids.Find( row.Name() ) >= 0 ){ |
| | | showrow := this.Row( relnew, Name := row.Name(), RowNr := row.RowNr() ); |
| | | |
| | | traverse( row, Cell, cell, cell.Column().TimeUnit() = search.TimeUnit() ){ |
| | | column := selectobject( this, Column, column, column.StartDate() = cell.Column().StartDate() and column.TimeUnit() = search.TimeUnit() ); |
| | | |
| | | if( not isnull( column ) ){ |
| | | traverse( this, Column, column ){ |
| | | daycells := selectset( row, Cell, cell, cell.Column().TimeUnit() = Translations::MP_GlobalParameters_Day() and |
| | | cell.Column().StartDate() >= column.StartDate() and |
| | | cell.Column().StartDate() <= column.EndDate() ); |
| | | maxinventory := maxobject( daycells, Elements, e, e.Column().StartDate() ); |
| | | ccassemblyplanqty := sum( daycells, Elements, cell, cell.CCAssemblyPlanQty() ); |
| | | ccproductionqty := sum( daycells, Elements, cell, cell.CCProductionQty() ); |
| | | cctransferqty := sum( daycells, Elements, cell, cell.CCTransferQty() ); |
| | | ccinventoryqty := 0.0; |
| | | dlassemblyplanqty := sum( daycells, Elements, cell, cell.DLAssemblyPlanQty() ); |
| | | dlproductionqty := sum( daycells, Elements, cell, cell.DLProductionQty() ); |
| | | dltransferqty := sum( daycells, Elements, cell, cell.DLTransferQty() ); |
| | | dlinventoryqty := 0.0; |
| | | if( column.StartDate() = startyearmonth ){//彿¥ææ¯è®¡åå¼å§ç¬¬ä¸ä¸ªææ¶ï¼è®¡ç®åºåæ¯å®é
åºå |
| | | ccinventoryqty := row.CCInventoryQty() + maxinventory.CCProductionQty() - maxinventory.CCToDLDepartureQty() + maxinventory.DLToCCArrivalQty() - maxinventory.CCAssemblyPlanQty(); |
| | | dlinventoryqty := row.DLInventoryQty() + maxinventory.DLProductionQty() - maxinventory.DLToCCDepartureQty() + maxinventory.CCToDLArrivalQty() - maxinventory.DLAssemblyPlanQty(); |
| | | }else{ |
| | | beforecolumn := column.PreviousColumn(); |
| | | beforeinventory := selectobject( showrow, Cell, c, c.Column() = beforecolumn ); |
| | | ccinventoryqty := beforeinventory.CCInventoryQty() + maxinventory.CCProductionQty() - maxinventory.CCToDLDepartureQty() + maxinventory.DLToCCArrivalQty() - maxinventory.CCAssemblyPlanQty(); |
| | | dlinventoryqty := beforeinventory.DLInventoryQty() + maxinventory.DLProductionQty() - maxinventory.DLToCCDepartureQty() + maxinventory.DLToCCDepartureQty() - maxinventory.DLAssemblyPlanQty(); |
| | | } |
| | | sumcell := selectobject( column, Cell, c, c.Row() = sumrow ); |
| | | if( isnull( sumcell ) ){ |
| | | sumcell := MachiningPipelineCell::Initialize( column ); |
| | | sumcell := column.Cell( relnew, CCAssemblyPlanQty := 0, |
| | | CCProductionQty := 0, |
| | | CCTransferQty := 0, |
| | | CCInventoryQty := 0, |
| | | DLAssemblyPlanQty := 0, |
| | | DLProductionQty := 0, |
| | | DLTransferQty := 0, |
| | | DLInventoryQty := 0 ); |
| | | sumrow.Cell( relinsert, sumcell ); |
| | | } |
| | | |
| | | showcell := cell.Copy( column ); |
| | | showcell := column.Cell( relnew, CCAssemblyPlanQty := ccassemblyplanqty, |
| | | CCProductionQty := ccproductionqty, |
| | | CCTransferQty := cctransferqty, |
| | | CCInventoryQty := ccinventoryqty, |
| | | DLAssemblyPlanQty := dlassemblyplanqty, |
| | | DLProductionQty := dlproductionqty, |
| | | DLTransferQty := dltransferqty, |
| | | DLInventoryQty := dlinventoryqty ); |
| | | showrow.Cell( relinsert, showcell ); |
| | | |
| | | sumcell.Add( cell ); |
| | | |
| | | sumcell.Add( showcell ); |
| | | } |
| | | } |
| | | rows := selectsortedset( this, Row, row, row.Name(), row.RowNr() ); |
| | | i := 0; |
| | | traverse( rows, Elements, e ){ |
| | | e.RowNr( i ); |
| | | i := i + 1; |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute CCInventoryQty |
| | | { |
| | | #keys: '3[415136.0.1262801322][415136.0.1262801321][415136.0.1262801323]' |
| | | Description: 'CCå®é
åºåæ°æ®' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute DLInventoryQty |
| | | { |
| | | #keys: '3[415136.0.1262801338][415136.0.1262801337][415136.0.1262801339]' |
| | | Description: 'DLå®é
åºåæ°æ®' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method SetDepartureAndArrivalValue ( |
| | | MachiningPipelineColumn column, |
| | | Boolean iscctodl, |
| | | Real departureqty, |
| | | Real arriveqty |
| | | ) |
| | | { |
| | | Description: '设置离åå°è¾¾æ°é' |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-24-2024 (created) |
| | | cell := selectobject( this, Cell, cell, cell.Column() = column ); |
| | | |
| | | if( iscctodl ){ |
| | | cell.CCToDLDepartureQty( cell.CCToDLDepartureQty() + departureqty ); |
| | | cell.CCToDLArrivalQty( cell.CCToDLArrivalQty() + arriveqty ); |
| | | } else { |
| | | cell.DLToCCDepartureQty( cell.DLToCCDepartureQty() + departureqty ); |
| | | cell.DLToCCArrivalQty( cell.DLToCCArrivalQty() + arriveqty ); |
| | | } |
| | | *] |
| | | } |
| | |
| | | //Attribute |
| | | //é¿æ¥è£
é
计å |
| | | ccaqcellElement := xmlDOM.CreateElement( "cell" ); |
| | | ccaqcellElement.SetAttribute( "value", 'é¿æ¥è£
é
计å' );//CCAssemblyPlanQty |
| | | ccaqcellElement.SetAttribute( "value", 'CCè£
é
计å' );//CCAssemblyPlanQty |
| | | attricolumnelement.AppendChild( ccaqcellElement ); |
| | | //é¿æ¥ç产计å |
| | | ccpqcellElement := xmlDOM.CreateElement( "cell" ); |
| | | ccpqcellElement.SetAttribute( "value", 'é¿æ¥ç产计å' );//CCProductionQty |
| | | ccpqcellElement.SetAttribute( "value", 'CCæºå 计å' );//CCProductionQty |
| | | attricolumnelement.AppendChild( ccpqcellElement ); |
| | | //é¿æ¥è°æ¨è®¡å |
| | | cctqcellElement := xmlDOM.CreateElement( "cell" ); |
| | | cctqcellElement.SetAttribute( "value", 'é¿æ¥è°æ¨è®¡å' );//CCTransferQty |
| | | cctqcellElement.SetAttribute( "value", 'CC to DL' );//CCTransferQty |
| | | attricolumnelement.AppendChild( cctqcellElement ); |
| | | //é¿æ¥åºå |
| | | cciqcellElement := xmlDOM.CreateElement( "cell" ); |
| | | cciqcellElement.SetAttribute( "value", 'é¿æ¥åºå' );//CCInventoryQty |
| | | cciqcellElement.SetAttribute( "value", 'CCåºå' );//CCInventoryQty |
| | | attricolumnelement.AppendChild( cciqcellElement ); |
| | | //大è¿è£
é
计å |
| | | dlaqcellElement := xmlDOM.CreateElement( "cell" ); |
| | | dlaqcellElement.SetAttribute( "value", '大è¿è£
é
计å' );//DLAssemblyPlanQty |
| | | dlaqcellElement.SetAttribute( "value", 'DLè£
é
计å' );//DLAssemblyPlanQty |
| | | attricolumnelement.AppendChild( dlaqcellElement ); |
| | | //大è¿ç产计å |
| | | dlpqcellElement := xmlDOM.CreateElement( "cell" ); |
| | | dlpqcellElement.SetAttribute( "value", '大è¿ç产计å' );//DLProductionQty |
| | | dlpqcellElement.SetAttribute( "value", 'DLæºå 计å' );//DLProductionQty |
| | | attricolumnelement.AppendChild( dlpqcellElement ); |
| | | //大è¿è°æ¨è®¡å |
| | | dltqcellElement := xmlDOM.CreateElement( "cell" ); |
| | | dltqcellElement.SetAttribute( "value", '大è¿è°æ¨è®¡å' );//DLTransferQty |
| | | dltqcellElement.SetAttribute( "value", 'DL to CC' );//DLTransferQty |
| | | attricolumnelement.AppendChild( dltqcellElement ); |
| | | //大è¿åºå |
| | | dliqcellElement := xmlDOM.CreateElement( "cell" ); |
| | | dliqcellElement.SetAttribute( "value", '大è¿åºå' );//DLInventoryQty |
| | | dliqcellElement.SetAttribute( "value", 'DLåºå' );//DLInventoryQty |
| | | attricolumnelement.AppendChild( dliqcellElement ); |
| | | //é¿æ¥ + å¤§è¿ åºå |
| | | tiqcellElement := xmlDOM.CreateElement( "cell" ); |
| | | tiqcellElement.SetAttribute( "value", 'é¿æ¥ + 大è¿åºå' );//TotalInventoryQty |
| | | tiqcellElement.SetAttribute( "value", 'CC + DLåºå' );//TotalInventoryQty |
| | | attricolumnelement.AppendChild( tiqcellElement ); |
| | | } |
| | | //é¿æ¥è£
é
计å |
| | |
| | | [* |
| | | // çå
°é¸½ Jun-24-2024 (created) |
| | | owner.FinancialProductionSource( relflush ); |
| | | startinventorydate := owner.StartOfPlanning() - Duration::Days( 1 ); |
| | | productparent := MachiningPipelineReport::GetDefaultProductParent(); |
| | | source := owner.MachiningPipelineSource( relnew, Name := MachiningPipelineReport::GetDefaultName() ); |
| | | table := source.Report( relnew, ID := source.Name(), Name := source.Name() ); |
| | |
| | | products := construct( Product_MPs ); |
| | | //åå§åå |
| | | table.GenerateColumn( owner, 'All', search.StartDate(), search.EndDate() ); |
| | | endperiod := maxobject( owner, Period_MP, period, not period.IsHistorical() and period.TimeUnit() = Translations::MP_GlobalParameters_Day(), period.StartDate() ); |
| | | //endperiod := maxobject( owner, Period_MP, period, not period.IsHistorical() and period.TimeUnit() = Translations::MP_GlobalParameters_Day(), period.StartDate() ); |
| | | |
| | | //çæè£
é
(é¿å
åº)ãç产ï¼çDLååºåæ°æ® |
| | | traverse( owner, StockingPoint_MP, stockingpoint ){ |
| | |
| | | if( iscc or isdl ){ |
| | | traverse( stockingpoint, ProductInStockingPoint_MP, pisp, pisp.Product_MP().IsLeaf() and not pisp.IsSystem()// and pisp.ProductID() = '06K103011CM' |
| | | and exists( pisp.Product_MP().GetAllParent(), Elements, e, e.ID() = productparent ) |
| | | and exists( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day() and ( pispip.NewSupplyQuantity() <> 0 or pispip.PlannedInventoryLevelEnd() <> 0 or pispip.DependentDemandAndSalesDemandQuantity() <> 0 ) ) ){ |
| | | and exists( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day() and ( pispip.NewSupplyQuantity() <> 0 or pispip.DependentDemandAndSalesDemandQuantity() <> 0 ) ) ){ |
| | | isccassemnly := stockingpoint.ID().EndsWith( pisp.Product_MP().ParentID() + '线边åº' ) and ( stockingpoint.ID().StartsWith( 'CC' ) or stockingpoint.ID().StartsWith( 'é¿æ¥' ) ); |
| | | isdlassemnly := stockingpoint.ID().EndsWith( pisp.Product_MP().ParentID() ) and ( stockingpoint.ID().StartsWith( 'DL' ) or stockingpoint.ID().StartsWith( '大è¿' ) ); |
| | | pispips := selectsortedset( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() |
| | | and pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day() and ( pispip.NewSupplyQuantity() <> 0 or pispip.PlannedInventoryLevelEnd() <> 0 or pispip.DependentDemandAndSalesDemandQuantity() <> 0 ), pispip.Start() ); |
| | | traverse( pispips, Elements, pispip){//, pispip.Start().Month() = 1 and pispip.Start().Day() = 2 |
| | | and pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day() and ( pispip.NewSupplyQuantity() <> 0 or pispip.DependentDemandAndSalesDemandQuantity() <> 0 ), pispip.Start() ); |
| | | products.Add( pisp.Product_MP() ); |
| | | row := table.GetRow( pisp.ProductID() ); |
| | | inventoryqty := sum( pisp, ProductInStockingPointInPeriod, pispip, pispip.Start() = startinventorydate and pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day() and pispip.ActualInventoryLevelEnd() <> 0, pispip.ActualInventoryLevelEnd() ); |
| | | if( isccassemnly ){ |
| | | row.CCInventoryQty( row.CCInventoryQty() + inventoryqty ); |
| | | } |
| | | if( isdlassemnly ){ |
| | | row.DLInventoryQty( row.DLInventoryQty() + inventoryqty ); |
| | | } |
| | | traverse( pispips, Elements, pispip){//, pispip.Start().Month() = 1 and pispip.Start().Day() = 2 |
| | | |
| | | //天 |
| | | daycolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Day(), pispip.Start().Date() ); |
| | | //å¨ |
| | | weekcolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Week(), pispip.Start().Date() ); |
| | | |
| | | row := table.GetRow( pisp.ProductID() ); |
| | | |
| | | // weekcolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Week(), pispip.Start().Date() ); |
| | | |
| | | if( isccassemnly or isdlassemnly ){ |
| | | //è£
é
线 |
| | | quantity := [Number]pispip.DependentDemandAndSalesDemandQuantity();//åèäºå
¥ |
| | | row.SetAssemblyPlanValue( daycolumn, isccassemnly, [Real]quantity ); |
| | | row.SetAssemblyPlanValue( weekcolumn, isccassemnly, [Real]quantity ); |
| | | // row.SetAssemblyPlanValue( weekcolumn, isccassemnly, [Real]quantity ); |
| | | //ç产 |
| | | supplyqty := [Number]pispip.NewSupplyQuantity();//åèäºå
¥ |
| | | // info( '****************', quantity, supplyqty ); |
| | | row.SetCellProductionValue( daycolumn, isccassemnly, [Real]supplyqty ); |
| | | row.SetCellProductionValue( weekcolumn, isccassemnly, [Real]supplyqty ); |
| | | // row.SetCellProductionValue( weekcolumn, isccassemnly, [Real]supplyqty ); |
| | | } |
| | | |
| | | //åºå |
| | | if( iscc or isdl ){ |
| | | inventoryqty := [Number]pispip.PlannedInventoryLevelEnd();//åèäºå
¥ |
| | | row.SetCellInventoryValue( daycolumn, iscc, [Real]inventoryqty ); |
| | | if( weekcolumn.EndDate() = pispip.Start().Date() or pispip.Period_MP() = endperiod ){ |
| | | row.SetCellInventoryValue( weekcolumn, iscc, [Real]inventoryqty ); |
| | | // if( iscc or isdl ){ |
| | | // inventoryqty := [Number]pispip.PlannedInventoryLevelEnd();//åèäºå
¥ |
| | | // row.SetCellInventoryValue( daycolumn, iscc, [Real]inventoryqty ); |
| | | // if( weekcolumn.EndDate() = pispip.Start().Date() or pispip.Period_MP() = endperiod ){ |
| | | // row.SetCellInventoryValue( weekcolumn, iscc, [Real]inventoryqty ); |
| | | // } |
| | | // } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | //çæè°æ¨æ°æ® |
| | | traverse( owner, Unit.Lane.LaneLeg, laneleg ){ |
| | | originspid := laneleg.OriginStockingPointID(); |
| | | destinationspid := laneleg.DestinationStockingPointID(); |
| | | //CC to DL é¿æ¥åå
åºå°å¤§è¿å¤ç§åº |
| | | iscctodl := originspid.EndsWith( 'åå
åº' ) and ( originspid.StartsWith( 'é¿æ¥' ) or originspid.StartsWith( 'CC' ) ) and destinationspid = '大è¿å¤ç§åº'; |
| | | //DL to CC 大è¿åå
åºå°å¤§è¿å卿ºçé¿æ¥å¤ç§åº |
| | | isdltocc := originspid.EndsWith( 'åå
åº' ) and ( originspid.StartsWith( '大è¿' ) or originspid.StartsWith( 'DL' ) ) and destinationspid = '大è¿å卿ºçé¿æ¥å¤ç§åº'; |
| | | if( iscctodl and isdltocc ){ |
| | | 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() ) |
| | | or ( trip.Departure().Date() < column.StartDate().StartOfNextMonth() and trip.Departure().Date() >= column.StartDate() ) ); |
| | | producttrips := selectuniquevalues( alltrips, Elements.ProductInTrip, pit, pit.Quantity() <> 0 and exists( pit.Product_MP().GetAllParent(), Elements, e, e.ID() = productparent ), pit.ProductID() ); |
| | | traverse( producttrips, Elements, producttrip ){//, producttrip = '6912' |
| | | row := table.GetRow( producttrip ); |
| | | product := selectobject( owner, Product_MP, product, product.ID() = producttrip ); |
| | | products.Add( product ); |
| | | departureqty := sum( alltrips, Elements.ProductInTrip, pit, ( pit.Trip().Departure().Date() < column.StartDate().StartOfNextMonth() and pit.Trip().Departure().Date() >= column.StartDate() ) and pit.Product_MP() = product, pit.Quantity() ); |
| | | arrivalqty := sum( alltrips, Elements.ProductInTrip, pit, ( pit.Trip().Arrival().Date() < column.StartDate().StartOfNextMonth() and pit.Trip().Arrival().Date() >= column.StartDate() ) and pit.Product_MP() = product, pit.Quantity() ); |
| | | row.SetDepartureAndArrivalValue( column, iscctodl, departureqty, arrivalqty ); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | //çæè°æ¨æ°æ® |
| | | traverse( owner, TransferPlanRow, tprow ){ |
| | | product := selectobject( owner, Product_MP, product, product.ID() = tprow.ProductID() ); |
| | |
| | | //天 |
| | | daycolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Day(), tpcell.TransferPlanColumn().ColumnDate() ); |
| | | //å¨ |
| | | weekcolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Week(), tpcell.TransferPlanColumn().ColumnDate() ); |
| | | // weekcolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Week(), tpcell.TransferPlanColumn().ColumnDate() ); |
| | | quantity := [Real]tpcell.Value();//åèäºå
¥ |
| | | if( not isnull( daycolumn ) ){ |
| | | row.SetCellTransferValue( daycolumn, ( originiscc and destiisdl ), quantity ); |
| | | } |
| | | if( not isnull( weekcolumn ) ){ |
| | | row.SetCellTransferValue( weekcolumn, ( originiscc and destiisdl ), quantity ); |
| | | } |
| | | // if( not isnull( weekcolumn ) ){ |
| | | // row.SetCellTransferValue( weekcolumn, ( originiscc and destiisdl ), quantity ); |
| | | // } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | rows := selectsortedset( table, Row, row, row.Name() ); |
| | | i := 0; |
| | | traverse( rows, Elements, e ){ |
| | | e.RowNr( i ); |
| | | i := i + 1; |
| | | } |
| | | //rows := selectsortedset( table, Row, row, row.Name() ); |
| | | //i := 0; |
| | | //traverse( rows, Elements, e ){ |
| | | // e.RowNr( i ); |
| | | // i := i + 1; |
| | | //} |
| | | showtable.Generate( search, products ); |
| | | *] |
| | | } |
| | |
| | | // çå
°é¸½ Sep-29-2024 (created) |
| | | search := owner.MachiningPipelineSearch(); |
| | | if( isnull( search ) ){ |
| | | owner.MachiningPipelineSearch( relnew, StartDate := Date::MinDate(), EndDate := Date::MaxDate(), TimeUnit := Translations::MP_GlobalParameters_Day() ); |
| | | search := owner.MachiningPipelineSearch( relnew, StartDate := Date::MinDate(), EndDate := Date::MaxDate(), TimeUnit := Translations::MP_GlobalParameters_Day() ); |
| | | }else{ |
| | | search := owner.MachiningPipelineSearch(); |
| | | search.TimeUnit( Translations::MP_GlobalParameters_Day() ); |
| | |
| | | allProductionLines := selectuniquevalues( newNOPT, NewOfflinePlanRow, tempNOPR, true, tempNOPR.ProductionLine() ); |
| | | |
| | | traverse ( allProductionLines, Elements, pl |
| | | // , pl = "eMotor Assy (France)" |
| | | // , pl = "CC MoMo" |
| | | ) |
| | | { |
| | | // ä¸çº¿è®¡åå½å产线ä¸çè¡ |
| | |
| | | preNOPCell := null( NewOfflinePlanCell ); |
| | | |
| | | traverse ( newNOPT, NewOfflinePlanColumn, nopc |
| | | // , nopc.StartDate() >= macroPlan.StartOfPlanning().Date() and nopc.StartDate() <= Date::Construct( 2024, 4, 17 ) // æµè¯æ¶å¯ä»¥è¿æ»¤æ¶é´ |
| | | // , nopc.StartDate() >= macroPlan.StartOfPlanning().Date() and nopc.StartDate() <= Date::Construct( 2025, 1, 16 ) // æµè¯æ¶å¯ä»¥è¿æ»¤æ¶é´ |
| | | ) |
| | | { |
| | | for ( i := 1; i < 10; i++ ) { |
| | | nopcell := select( noprs, Elements.NewOfflinePlanCell, tempNOPC, tempNOPC.NewOfflinePlanColumn() = nopc and tempNOPC.OrderNr() = i ); |
| | | nopcell := select( noprs, Elements.NewOfflinePlanCell, tempNOPC, tempNOPC.NewOfflinePlanColumn() = nopc and tempNOPC.OrderNr() = i and tempNOPC.Order() <> "" ); |
| | | |
| | | // æ¢åæå¤±åæ° |
| | | cls := select( macroPlan, ChangeLossSetting, tempCLS, |
| | | tempCLS.ProductFirst().ID() = guard( preNOPCell.NewOfflinePlanRow().ProductID(), "" ) and |
| | |
| | | |
| | | // æ£åæ¢åæå¤± |
| | | if ( not isnull( preNOPCell ) and not isnull( nopcell ) and not isnull( cls ) ) { |
| | | preNOPCell.Quantity( preNOPCell.Quantity() - cls.ChangeLossNumber() ); |
| | | // info( "å½å产ååºå·ï¼", nopcell.OrderNr(), " ", nopcell.Order(), " ", i ); |
| | | // info( "å½ååæ¶é´ï¼", nopc.StartDate().Format( "Y-M2-D2" ), |
| | | // " ä¸ä¸ä¸ªäº§åå½ååºå·ï¼", preNOPCell.Order(), " ä¸ä¸ä¸ªäº§åæ°éï¼", preNOPCell.Quantity(), " ä¸ä¸ä¸ªäº§ååï¼", preNOPCell.NewOfflinePlanRow().ProductID(), |
| | | // " å½å产ååºå·ï¼" , nopcell.Order() , " å½åäº§åæ°éï¼" , nopcell.Quantity(), " å½å产ååï¼" , nopcell.NewOfflinePlanRow().ProductID() ); |
| | | // " å½å产ååºå·ï¼" , nopcell.Order() , " å½åäº§åæ°éï¼" , nopcell.Quantity(), " å½å产ååï¼" , nopcell.NewOfflinePlanRow().ProductID(), |
| | | // " éè¦æ£åçæ°éï¼", cls.ChangeLossNumber() ); |
| | | preNOPCell.Quantity( preNOPCell.Quantity() - cls.ChangeLossNumber() ); |
| | | } |
| | | |
| | | // 设置ä¸ä¸ä¸ªç产ç产åCell |
| | |
| | | PackagingPlanCell::CalculationPackagingPlanProperties(); |
| | | Transaction::Transaction().Propagate( relation( PackagingPlanCell, Next ) ); |
| | | |
| | | // 设置å
è£
&æå
-æ°é |
| | | PackagingPlanCell::SetPackagingAndUnpackingValues( macroPlan ); |
| | | // 设置å
è£
&æå
-æ°éï¼å¤§è¿å·¥åï¼ |
| | | PackagingPlanCell::SetPackagingAndUnpackingValuesDL( macroPlan ); |
| | | // 设置å
è£
&æå
-æ°éï¼é¿æ¥å·¥åï¼ |
| | | PackagingPlanCell::SetPackagingAndUnpackingValuesCC( macroPlan ); |
| | | //traverse ( macroPlan, PackagingPlanRow, ppr, ( ppr.ProductID() = "Windshield" and ppr.StockingPointID() = "Bosch" ) or ( ppr.ProductID() = "Windshield" and ppr.StockingPointID() = "Components (Spain)" ) ) { |
| | | // traverse ( ppr, PackagingPlanCell, ppc/*, ppc.StartDate() = Date::Construct( 2020, 4, 1 )*/ ) { |
| | | // // 设置å
è£
æ°é |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod SetPackagingAndUnpackingValuesCC ( |
| | | MacroPlan macroPlan |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | traverse ( macroPlan, PackagingPlanRow, ppr, ppr.Factory() = "é¿æ¥å·¥å" /*and ppr.ProductID() = "06K103011CM"*/ ) { |
| | | traverse ( ppr, PackagingPlanCell, ppcell/*, ppcell.StartDate() <= Date::Construct( 2025, 1, 4 )*/ ) { |
| | | unpackagedQuantity := sum( macroPlan, Unit.Lane.LaneLeg.Trip.ProductInTrip, tempPIT, |
| | | tempPIT.ProductID() = ppcell.PackagingPlanRow().ProductID() and |
| | | tempPIT.Trip().Departure().Date() = ppcell.StartDate() and |
| | | tempPIT.Trip().LaneLeg().AsOriginStockingPointLeg().StockingPoint_MP().ID().Regex( "å¤ç§åº" ) and |
| | | tempPIT.Trip().LaneLeg().AsDestinationStockingPointLeg().StockingPoint_MP().ID().Regex( "线边åº" ), |
| | | tempPIT.Quantity() |
| | | ); |
| | | ppcell.Unpacking( unpackagedQuantity ); |
| | | |
| | | packagedQuantity := sum( macroPlan, Unit.Lane.LaneLeg.Trip.ProductInTrip, tempPIT, |
| | | tempPIT.ProductID() = ppcell.PackagingPlanRow().ProductID() and |
| | | tempPIT.Trip().Departure().Date() = ppcell.StartDate() and |
| | | tempPIT.Trip().LaneLeg().AsOriginStockingPointLeg().StockingPoint_MP().ID().Regex( "线边åº" ) and |
| | | tempPIT.Trip().LaneLeg().AsDestinationStockingPointLeg().StockingPoint_MP().ID().Regex( "å¤ç§åº" ), |
| | | tempPIT.Quantity() |
| | | ); |
| | | ppcell.Package( packagedQuantity ); |
| | | } |
| | | } |
| | | *] |
| | | } |
ÎļþÃû´Ó _Main/BL/Type_PackagingPlanCell/StaticMethod_SetPackagingAndUnpackingValues.qbl ÐÞ¸Ä |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod SetPackagingAndUnpackingValues ( |
| | | StaticMethod SetPackagingAndUnpackingValuesDL ( |
| | | MacroPlan macroPlan |
| | | ) |
| | | { |
| | |
| | | plannedStartDate := macroPlan.StartOfPlanning().Date(); |
| | | |
| | | // 设置å
è£
å¼ï¼ç¬¦ålotsizeå䏿¥æå¤§å
è£
éï¼ |
| | | traverse ( macroPlan, PackagingPlanRow, ppr/*, ppr.Factory() = "大è¿å·¥å" and ppr.ProductID() = "06K103011CM"*/ ) { |
| | | traverse ( macroPlan, PackagingPlanRow, ppr, ppr.Factory() = "大è¿å·¥å" /*and ppr.ProductID() = "06K103011CM"*/ ) { |
| | | traverse ( ppr, PackagingPlanCell, ppcell/*, ppcell.StartDate() <= Date::Construct( 2025, 1, 4 )*/ ) { |
| | | // Product_MP |
| | | pmp := select( macroPlan, Product_MP, tempPMP, tempPMP.IsLeaf() and tempPMP.ID() = ppr.ProductID() ); |
| | |
| | | } |
| | | |
| | | // 设置æå
å¼ï¼ç¬¦ålotsizeå䏿¥æå¤§å
è£
éï¼ |
| | | traverse ( macroPlan, PackagingPlanRow, ppr/*, ppr.Factory() = "大è¿å·¥å" and ppr.ProductID() = "06K103011CM"*/ ) { |
| | | traverse ( macroPlan, PackagingPlanRow, ppr, ppr.Factory() = "大è¿å·¥å" /*and ppr.ProductID() = "06K103011CM"*/ ) { |
| | | traverse ( ppr, PackagingPlanCell, ppcell/*, ppcell.StartDate() <= Date::Construct( 2025, 1, 4 )*/ ) { |
| | | // Product_MP |
| | | pmp := select( macroPlan, Product_MP, tempPMP, tempPMP.IsLeaf() and tempPMP.ID() = ppr.ProductID() ); |
| | |
| | | { |
| | | AttributeKey: '[415136.0.886711533]' |
| | | Synonym: 'CCåºå' |
| | | Conditional: |
| | | [ |
| | | DataRepresentation.Conditional |
| | | { |
| | | BackgroundColor: '$FF9999' |
| | | ConditionBody: 'object.CCInventoryQty() < 0' |
| | | ConversionBody: '' |
| | | DefaultBackgroundColor: false |
| | | InheritConversion: false |
| | | } |
| | | ] |
| | | } |
| | | AttributeRepresentation CCProductionQty |
| | | { |
| | |
| | | { |
| | | AttributeKey: '[415136.0.894481161]' |
| | | Synonym: 'DLåºå' |
| | | Conditional: |
| | | [ |
| | | DataRepresentation.Conditional |
| | | { |
| | | BackgroundColor: '$FF9999' |
| | | ConditionBody: 'object.DLInventoryQty() < 0' |
| | | ConversionBody: '' |
| | | DefaultBackgroundColor: false |
| | | InheritConversion: false |
| | | } |
| | | ] |
| | | } |
| | | AttributeRepresentation DLProductionQty |
| | | { |
| | |
| | | { |
| | | AttributeKey: '[415136.0.894481168]' |
| | | Synonym: 'CC+DLæ»åºå' |
| | | Conditional: |
| | | [ |
| | | DataRepresentation.Conditional |
| | | { |
| | | BackgroundColor: '$FF9999' |
| | | ConditionBody: 'object.TotalInventoryQty() < 0' |
| | | ConversionBody: '' |
| | | DefaultBackgroundColor: false |
| | | InheritConversion: false |
| | | } |
| | | ] |
| | | } |
| | | RelationRepresentation AsFirstCellInColumn { RelationKey: '[415136.0.894469842]' Visibility: 'Normal' } |
| | | } |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MaterialNo","title":"MaterialNo","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MaterialNo"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MaterialName","title":"MaterialName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MaterialName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Fac","title":"Fac","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Fac"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FacName","title":"FacName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"FacName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"LineType","title":"LineType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"LineType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DDay","title":"DDay","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DDay"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Total","title":"Total","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Total"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"AllTotal","title":"AllTotal","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"AllTotal"}}]' |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MaterialNo","title":"MaterialNo","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MaterialNo"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"LineType","title":"LineType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"LineType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DDay","title":"DDay","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DDay"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Total","title":"Total","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Total"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Lgort","title":"Lgort","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Lgort"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Fac","title":"Fac","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Fac"}}]' |
| | | ContextMenu: 'listContextMenuMachineStockData' |
| | | SortCriteria: 'desc:DDay' |
| | | Taborder: 2 |
| | |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_MaterialName |
| | | { |
| | | columnId: 'MaterialName' |
| | | dataPath: 'MaterialName' |
| | | dataType: 'string' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Fac |
| | | { |
| | | columnId: 'Fac' |
| | | dataPath: 'Fac' |
| | | dataType: 'string' |
| | | index: 2 |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_FacName |
| | | column_Lgort |
| | | { |
| | | columnId: 'FacName' |
| | | dataPath: 'FacName' |
| | | columnId: 'Lgort' |
| | | dataPath: 'Lgort' |
| | | dataType: 'string' |
| | | index: 3 |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | |
| | | columnId: 'LineType' |
| | | dataPath: 'LineType' |
| | | dataType: 'string' |
| | | index: 4 |
| | | index: 3 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | |
| | | columnId: 'DDay' |
| | | dataPath: 'DDay' |
| | | dataType: 'date' |
| | | index: 5 |
| | | index: 4 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | |
| | | columnId: 'Total' |
| | | dataPath: 'Total' |
| | | dataType: 'real' |
| | | index: 6 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_AllTotal |
| | | { |
| | | columnId: 'AllTotal' |
| | | dataPath: 'AllTotal' |
| | | dataType: 'real' |
| | | index: 7 |
| | | index: 5 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |