| | |
| | | this.CapacityAndSaleBudgeCompareItemColumn( relflush ); |
| | | // ====汇总所有出现的产品==== |
| | | historyData := selectset( this, Global_MappingAnnualBudgetData, item, true ); |
| | | debuginfo( "historyData : " + [String]historyData.Size() ) |
| | | debuginfo( "historyData : " + [String]historyData.Size() ); |
| | | |
| | | traverse( historyData, Elements, one ) { |
| | | productCode := one.ProductID(); |
| | | Global_MappingOperationBOM::CreateTestData( otdTable, "事业部" + [String](productCode.Length() mod 3), "面板基地" + [String](productCode.Length() mod 4), productCode ); |
| | | boms := selectset( otdTable, Global_MappingOperationBOM, bom, bom.ProductCode() = productCode ); |
| | | if( boms.Size() > 0 ) { |
| | | bom := boms.First(); |
| | | businessType := bom.BusinessType(); |
| | | placeOfProductionOfArray := bom.OrganCode(); |
| | | // Global_MappingOperationBOM::CreateTestData( otdTable, "事业部" + [String](productCode.Length() mod 3), "面板基地" + [String](productCode.Length() mod 4), productCode ); |
| | | // boms := selectset( otdTable, Global_MappingOperationBOM, bom, bom.ProductCode() = productCode ); |
| | | // if( boms.Size() > 0 ) { |
| | | // bom := boms.First(); |
| | | // businessType := bom.BusinessType(); |
| | | // placeOfProductionOfArray := bom.OrganCode(); |
| | | // 相同面板基地和事业部的放一行 |
| | | row := CapacityAndSaleBudgeCompareItemRow::CreateIfNotExist( this, businessType, placeOfProductionOfArray ); |
| | | row := CapacityAndSaleBudgeCompareItemRow::CreateIfNotExist( this, one.BusinessType(), one.OrgCodeFromBom() ); |
| | | // 记录每行包含哪些product |
| | | CapacityAndSaleBudgeCompareItemRowProduct::CreateIfNotExist( row, productCode ); |
| | | } else { |
| | | debuginfo( "no boms for product : " + productCode ); |
| | | } |
| | | // } else { |
| | | // debuginfo( "no boms for product : " + productCode ); |
| | | // } |
| | | } |
| | | debuginfo( "CapacityAndSaleBudgeCompareItemRow : " + [String]selectset( this, CapacityAndSaleBudgeCompareItemRow, item, true ).Size() ); |
| | | // ====从左向右生成列头与内容==== |
| | |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Oct-7-2023 (created) |
| | | productCodeList := selectuniquevalues( macroPlan, Product_MP, item, item.ID() ); |
| | | debuginfo( "productCodeList : " + [String]productCodeList.Size() ); |
| | | |
| | | this.Global_MappingAnnualBudgetData( relflush ); |
| | | if( this.Global_MappingAnnualBudgetData( relsize ) = 0 ) { |
| | | debuginfo( "create Global_MappingAnnualBudgetData test data" ); |
| | | id := 1; |
| | | for( year := Date::ActualDate().Year() - 10; year <= Date::ActualDate().Year() + 5; year := year + 1 ) { |
| | | for( i := 1; i <= productCodeList.Size(); i := i + 1 ) { |
| | | productCode := productCodeList.Element( i - 1 ); |
| | | mappingAnnualBudget := this.Global_MappingAnnualBudgetData( relnew, |
| | | ID := [String]id, |
| | | YearNo := [String]year, |
| | | BusinessType := "事业部" + [String](productCode.Length() mod 3), |
| | | ProductID := productCode); |
| | | id := id + 1; |
| | | for( month := 1; month <= 12; month := month + 1 ) { |
| | | field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlyModCapacity" + [String]month ); |
| | | field.Set( mappingAnnualBudget, [String]Real::Random( 20000.0, 30000.0 ) ); |
| | | field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySheetCapacity" + [String]month ); |
| | | field.Set( mappingAnnualBudget, [String]Real::Random( 20000.0, 30000.0 ) ); |
| | | field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySales" + [String]month ); |
| | | field.Set( mappingAnnualBudget, [String]Real::Random( 20000.0, 30000.0 ) ); |
| | | } |
| | | } |
| | | } |
| | | result2 := selectset( this, Global_MappingAnnualBudgetData, item, true ); |
| | | debuginfo( "test MappingAnnualBudget size : " + [String]result2.Size() ); |
| | | } |
| | | //// yypsybs Oct-7-2023 (created) |
| | | //productCodeList := selectuniquevalues( macroPlan, Product_MP, item, item.ID() ); |
| | | //debuginfo( "productCodeList : " + [String]productCodeList.Size() ); |
| | | // |
| | | //this.Global_MappingAnnualBudgetData( relflush ); |
| | | //if( this.Global_MappingAnnualBudgetData( relsize ) = 0 ) { |
| | | // debuginfo( "create Global_MappingAnnualBudgetData test data" ); |
| | | // id := 1; |
| | | // for( year := Date::ActualDate().Year() - 10; year <= Date::ActualDate().Year() + 5; year := year + 1 ) { |
| | | // for( i := 1; i <= productCodeList.Size(); i := i + 1 ) { |
| | | // productCode := productCodeList.Element( i - 1 ); |
| | | // mappingAnnualBudget := this.Global_MappingAnnualBudgetData( relnew, |
| | | // ID := [String]id, |
| | | // YearNo := [String]year, |
| | | // BusinessType := "事业部" + [String](productCode.Length() mod 3), |
| | | // ProductID := productCode); |
| | | // id := id + 1; |
| | | // for( month := 1; month <= 12; month := month + 1 ) { |
| | | // field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlyModCapacity" + [String]month ); |
| | | // field.Set( mappingAnnualBudget, [String]Real::Random( 20000.0, 30000.0 ) ); |
| | | // field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySheetCapacity" + [String]month ); |
| | | // field.Set( mappingAnnualBudget, [String]Real::Random( 20000.0, 30000.0 ) ); |
| | | // field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySales" + [String]month ); |
| | | // field.Set( mappingAnnualBudget, [String]Real::Random( 20000.0, 30000.0 ) ); |
| | | // } |
| | | // } |
| | | // } |
| | | // result2 := selectset( this, Global_MappingAnnualBudgetData, item, true ); |
| | | // debuginfo( "test MappingAnnualBudget size : " + [String]result2.Size() ); |
| | | //} |
| | | *] |
| | | } |
| | |
| | | TextBody: |
| | | [* |
| | | // yypsybs Oct-7-2023 (created) |
| | | |
| | | traverse( parent, Global_MappingAnnualBudgetData, item ) { |
| | | productCode := item.ProductID(); |
| | | Global_MappingOperationBOM::CreateTestData( parent, "事业部" + [String](productCode.Length() mod 3), "面板基地" + [String](productCode.Length() mod 4), productCode ); |
| | | boms := selectset( parent, Global_MappingOperationBOM, bom, bom.ProductCode() = productCode ); |
| | | if( boms.Size() > 0 ) { |
| | | bom := boms.First(); |
| | | placeOfProductionOfArray := bom.OrganCode(); |
| | | item.OrgCodeFromBom( placeOfProductionOfArray ); |
| | | } else { |
| | | debuginfo( "no boms for product : " + productCode ); |
| | | // productCode := item.ProductID(); |
| | | //// Global_MappingOperationBOM::CreateTestData( parent, "事业部" + [String](productCode.Length() mod 3), "面板基地" + [String](productCode.Length() mod 4), productCode ); |
| | | // boms := selectset( parent, Global_MappingOperationBOM, bom, bom.ProductCode() = productCode ); |
| | | // if( boms.Size() > 0 ) { |
| | | // bom := boms.First(); |
| | | // placeOfProductionOfArray := bom.OrganCode(); |
| | | // item.OrgCodeFromBom( placeOfProductionOfArray ); |
| | | // } else { |
| | | // debuginfo( "no boms for product : " + productCode ); |
| | | item.OrgCodeFromBom( item.OrganCode() ); |
| | | } |
| | | // } |
| | | } |
| | | *] |
| | | } |