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