| | |
| | | TextBody: |
| | | [* |
| | | // 甄兰鸽 Jun-25-2024 (created) |
| | | startyearmonth := search.MacroPlan().StartOfPlanning().StartOfMonth().Date(); |
| | | //startyearmonth := search.MacroPlan().StartOfPlanning().StartOfMonth().Date(); |
| | | table := selectobject( this, Source.Report, report, not report.IsShow() ); |
| | | //清空之前存储的显示数据 |
| | | this.Clear( search.TimeUnit(), search.StartDate(), search.EndDate() ); |
| | |
| | | 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 ); |
| | | beCCinventoryqty := 0.0; |
| | | beDLinventoryqty := 0.0; |
| | | if( not isnull( beforeinventory ) ){ |
| | | beCCinventoryqty := beforeinventory.CCInventoryQty(); |
| | | beDLinventoryqty := beforeinventory.DLInventoryQty(); |
| | | } |
| | | ccinventoryqty := beCCinventoryqty + maxinventory.CCProductionQty() - maxinventory.CCToDLDepartureQty() + maxinventory.DLToCCArrivalQty() - maxinventory.CCAssemblyPlanQty(); |
| | | dlinventoryqty := beDLinventoryqty + maxinventory.DLProductionQty() - maxinventory.DLToCCDepartureQty() + maxinventory.DLToCCDepartureQty() - maxinventory.DLAssemblyPlanQty(); |
| | | } |
| | | sumcell := selectobject( column, Cell, c, c.Row() = sumrow ); |
| | | if( isnull( sumcell ) ){ |
| | | sumcell := column.Cell( relnew, CCAssemblyPlanQty := 0, |
| | |
| | | showcell := column.Cell( relnew, CCAssemblyPlanQty := ccassemblyplanqty, |
| | | CCProductionQty := ccproductionqty, |
| | | CCTransferQty := cctransferqty, |
| | | CCInventoryQty := ccinventoryqty, |
| | | CCInventoryQty := maxinventory.CCInventoryQty(), |
| | | DLAssemblyPlanQty := dlassemblyplanqty, |
| | | DLProductionQty := dlproductionqty, |
| | | DLTransferQty := dltransferqty, |
| | | DLInventoryQty := dlinventoryqty ); |
| | | DLInventoryQty := maxinventory.DLInventoryQty() ); |
| | | showrow.Cell( relinsert, showcell ); |
| | | |
| | | sumcell.Add( showcell ); |
| | |
| | | // 甄兰鸽 Jun-24-2024 (created) |
| | | owner.FinancialProductionSource( relflush ); |
| | | startinventorydate := owner.StartOfPlanning() - Duration::Days( 1 ); |
| | | startyearmonth := owner.StartOfPlanning().StartOfMonth().Date(); |
| | | productparent := MachiningPipelineReport::GetDefaultProductParent(); |
| | | source := owner.MachiningPipelineSource( relnew, Name := MachiningPipelineReport::GetDefaultName() ); |
| | | table := source.Report( relnew, ID := source.Name(), Name := source.Name() ); |
| | |
| | | } |
| | | } |
| | | |
| | | //rows := selectsortedset( table, Row, row, row.Name() ); |
| | | //i := 0; |
| | | //traverse( rows, Elements, e ){ |
| | | // e.RowNr( i ); |
| | | // i := i + 1; |
| | | //} |
| | | traverse( table, Row, row ){ |
| | | traverse( table, Column, column, column.TimeUnit() = Translations::MP_GlobalParameters_Day() ){ |
| | | maxinventory := selectobject( row, Cell, cell, cell.Column() = column ); |
| | | ccinventoryqty := 0.0; |
| | | 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( row, Cell, c, c.Column() = beforecolumn ); |
| | | beCCinventoryqty := 0.0; |
| | | beDLinventoryqty := 0.0; |
| | | if( not isnull( beforeinventory ) ){ |
| | | beCCinventoryqty := beforeinventory.CCInventoryQty(); |
| | | beDLinventoryqty := beforeinventory.DLInventoryQty(); |
| | | } |
| | | ccinventoryqty := beCCinventoryqty + maxinventory.CCProductionQty() - maxinventory.CCToDLDepartureQty() + maxinventory.DLToCCArrivalQty() - maxinventory.CCAssemblyPlanQty(); |
| | | dlinventoryqty := beDLinventoryqty + maxinventory.DLProductionQty() - maxinventory.DLToCCDepartureQty() + maxinventory.CCToDLArrivalQty() - maxinventory.DLAssemblyPlanQty(); |
| | | } |
| | | maxinventory.CCInventoryQty( ccinventoryqty ); |
| | | maxinventory.DLInventoryQty( dlinventoryqty ); |
| | | } |
| | | } |
| | | showtable.Generate( search, products ); |
| | | *] |
| | | } |