From be9f3270a50b9f5318beff37bd4d70fa5632657a Mon Sep 17 00:00:00 2001 From: yypsybs <yypsybs@foxmail.com> Date: 星期五, 08 九月 2023 17:31:05 +0800 Subject: [PATCH] 4.11.物料属性标签设定&物料计划策略 --- _Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_update.qbl | 51 +++++++++++++++++++++++++++++++++------------------ 1 files changed, 33 insertions(+), 18 deletions(-) diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_update.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_update.qbl index 8294a1c..44ea303 100644 --- a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_update.qbl +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_update.qbl @@ -1,14 +1,16 @@ Quintiq file version 2.0 #parent: #root -StaticMethod update ( +StaticMethod Update ( GlobalOTDTable parent, - MatAttrSettingAndPlanStrategyDataRow excelRow + MatAttrSettingAndPlanStrategyDataRow excelRow, + String userName ) as MatAttrSettingAndPlanStrategy { TextBody: [* - fields := MatAttrSettingAndPlanStrategyDataTable::exportFields(); - headers := MatAttrSettingAndPlanStrategyDataTable::expectedHeaders(); + fields := MatAttrSettingAndPlanStrategyDataTable::ExportFields(); + headers := MatAttrSettingAndPlanStrategyDataTable::ExpectedHeaders(); + //info( "--------SaveData--------" ); // 鎵惧緟鏇存柊璁板綍 toUpdate := null( MatAttrSettingAndPlanStrategy ); matCode := ""; @@ -16,37 +18,50 @@ header := headers.Element( i ); cell := excelRow.MatAttrSettingAndPlanStrategyDataCell( relget ).Element( i ); if( cell.MatAttrSettingAndPlanStrategyDataColumn().name() <> header ) { + FeedbackObject::LocalFeedback().AddHard( "the column with index " + [String]i + " should be " + header + ", but found " + cell.MatAttrSettingAndPlanStrategyDataColumn().name() ); error( "the column with index " + [String]i + " should be " + header + ", but found " + cell.MatAttrSettingAndPlanStrategyDataColumn().name() ); } if( cell.MatAttrSettingAndPlanStrategyDataColumn().name() = "鐗╂枡缂栫爜" and cell.value() <> "") { matCode := cell.value(); - toUpdate := MatAttrSettingAndPlanStrategy::getExistByMatCode( parent, matCode ); + toUpdate := MatAttrSettingAndPlanStrategy::GetExistByMatCode( parent, matCode ); + if( isnull( toUpdate ) ) { + FeedbackObject::LocalFeedback().AddHard( "get MatAttrSettingAndPlanStrategy by matCode [" + matCode + "] failed" ); + error( "get MatAttrSettingAndPlanStrategy by matCode [" + matCode + "] failed" ); + } } } if( not isnull( toUpdate ) ) { // 瀵规瘮宸紓 for( i := 0; i < fields.Size(); i++ ) { - header := headers.Element( i ); + // header := headers.Element( i ); cell := excelRow.MatAttrSettingAndPlanStrategyDataCell( relget ).Element( i ); fieldName := fields.Element( i ); - field := Reflection::FindAttribute( "MatAttrSettingAndPlanningStrategy", fieldName); + field := Reflection::FindAttribute( "MatAttrSettingAndPlanStrategy", fieldName); + if( isnull( field ) ) { + FeedbackObject::LocalFeedback().AddHard( "MatAttrSettingAndPlanStrategy does not have field " + fieldName ); + error( "MatAttrSettingAndPlanStrategy does not have field " + fieldName ); + } + // info( "========header:" + header + "========" ) + // info( "========fieldName:" + fieldName + "========" ) + // info( "========cell:" + cell.value() + "========" ) if( fieldName = "MatName" or fieldName = "MatType" or fieldName = "FlagLongTerm" or fieldName = "FlagGeneric" or fieldName = "PlanningStrategyAuto" ) { - fieldValue := guard( field.GetString( toUpdate ), "" ); - if( fieldValue <> cell.value() ) { - error( "column " + header + " does not support to be changed" ); - } + // do nothing } else if( fieldName = "MatArrivalLT" or fieldName = "ProductCount" or fieldName = "MinProdDeliverLT" ) { - fieldRealValue := guard( field.GetReal( toUpdate ), 0.0 ); - if( fieldRealValue <> [Real]cell.value() ) { - error( "column " + header + " does not support to be changed" ); - } + // do nothing } else if( fieldName = "PlanningStrategyCustom" ) { - fieldValue := guard( field.GetString( toUpdate ), "" ); - toUpdate.PlanningStrategyCustom( fieldValue ); + if( cell.value() <> "VMI" and cell.value() <> "瀹夊叏搴撳瓨" and cell.value() <> "VIT" ) { + FeedbackObject::LocalFeedback().AddHard( "unsupported PlanningStrategyCustom : " + cell.value() ); + error( "unsupported PlanningStrategyCustom : " + cell.value() ); + } else if( cell.value() <> toUpdate.PlanningStrategyCustom() ) { + toUpdate.PlanningStrategyCustom( cell.value() ); + toUpdate.UpdateBy( userName ); + toUpdate.UpdateTime( DateTime::Now() ); + } } } } else { - error( "no record with matCode : " + matCode ) + FeedbackObject::LocalFeedback().AddHard( "no record with matCode : " + matCode ); + error( "no record with matCode : " + matCode ); } return toUpdate; -- Gitblit v1.9.3