yypsybs
2023-10-17 9ddc6a9215c98af29ec989b2a0f6cd69f06ff2f5
Merge remote-tracking branch 'origin/dev' into dev

# Conflicts:
# _Main/BL/Type_PRData/StaticMethod_FromSupplyPlanning#662.qbl
已添加3个文件
已修改25个文件
已删除3个文件
269 ■■■■ 文件已修改
_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyInputSource_GlobalOTDSOP_GlobalOTDSOP_.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyInputSource_GlobalOTDTable_GlobalOTDTa.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategy_GlobalOTDSOP_GlobalOTDSOP_MatAttrSett.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategy_GlobalOTDTable_GlobalOTDTable_MatAttr.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_WorkOrderType_GlobalOTDSOP_GlobalOTDSOP_WorkOrderType.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_WorkOrderType_GlobalOTDTable_GlobalOTDTable_WorkOrderType.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_GlobalDTOTable/_ROOT_Type_GlobalOTDTable.qbl 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_CheckThePrecedingColumn.qbl 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_CreateOrUpdateData.qbl 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_SynchronizeData.qbl 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_VerificationData.qbl 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/StaticMethod_export.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Method_saveData.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/StaticMethod_upload.qbl 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_CreateIfNotExist.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_DeleteIfExistByMatCode#526.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_SynchronizeInventoryTargets.qbl 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_deleteIfExistByMatCode.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_getExistByMatCode.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_update.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRData/StaticMethod_FromSupplyPlanning#662.qbl 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditIssueWorkOrder/Component_pnlContent.def 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditIssueWorkOrder/Response_pnlContent_ddlWorkOrderType_OnCreated.def 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Method_NewWorkOrderType.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Response_pnlActions_btnOk_OnClick.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_listContextMenuInterfaceTest.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_ListInterfaceTest_MenuCreateShowData_OnClick.def 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_ListMaterialMaterialLabelingAndPlanningStrategy#880.def 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonMaterialExportAndImport_OnCl.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonSynchronizeInventoryTargets_.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Component_ListWorkOrderType.def 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyInputSource_GlobalOTDSOP_GlobalOTDSOP_.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation MatAttrSettingAndPlanStrategyInputSource_GlobalOTDSOP_GlobalOTDSOP_MatAttrSettingAndPlanStrategyInputSource
{
  #keys: '1[414702.1.128364612]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide GlobalOTDSOP
  {
    #keys: '3[414702.1.128364614][414702.1.128364613][414702.1.128364615]'
    Cardinality: '0to1'
    ObjectDefinition: MatAttrSettingAndPlanStrategyInputSource
    OwningSide: 'Reference'
  }
  RelationSide.RightSide MatAttrSettingAndPlanStrategyInputSource
  {
    #keys: '3[414702.1.128364617][414702.1.128364616][414702.1.128364618]'
    Cardinality: '1toN'
    ObjectDefinition: GlobalOTDSOP
    OwningSide: 'Owned'
  }
}
_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyInputSource_GlobalOTDTable_GlobalOTDTa.qbl
ÎļþÒÑɾ³ý
_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategy_GlobalOTDSOP_GlobalOTDSOP_MatAttrSett.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation MatAttrSettingAndPlanStrategy_GlobalOTDSOP_GlobalOTDSOP_MatAttrSettingAndPlanStrategy
{
  #keys: '1[414702.1.130145519]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide GlobalOTDSOP
  {
    #keys: '3[414702.1.130145521][414702.1.130145520][414702.1.130145522]'
    Cardinality: '0to1'
    ObjectDefinition: MatAttrSettingAndPlanStrategy
    OwningSide: 'Reference'
  }
  RelationSide.RightSide MatAttrSettingAndPlanStrategy
  {
    #keys: '3[414702.1.130145524][414702.1.130145523][414702.1.130145525]'
    Cardinality: '1toN'
    ObjectDefinition: GlobalOTDSOP
    OwningSide: 'Owned'
  }
}
_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategy_GlobalOTDTable_GlobalOTDTable_MatAttr.qbl
ÎļþÒÑɾ³ý
_Main/BL/Relations/Relation_WorkOrderType_GlobalOTDSOP_GlobalOTDSOP_WorkOrderType.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation WorkOrderType_GlobalOTDSOP_GlobalOTDSOP_WorkOrderType
{
  #keys: '1[414702.1.128394598]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide GlobalOTDSOP
  {
    #keys: '3[414702.1.128394600][414702.1.128394599][414702.1.128394601]'
    Cardinality: '0to1'
    ObjectDefinition: WorkOrderType
    OwningSide: 'Reference'
  }
  RelationSide.RightSide WorkOrderType
  {
    #keys: '3[414702.1.128394603][414702.1.128394602][414702.1.128394604]'
    Cardinality: '1toN'
    ObjectDefinition: GlobalOTDSOP
    OwningSide: 'Owned'
  }
}
_Main/BL/Relations/Relation_WorkOrderType_GlobalOTDTable_GlobalOTDTable_WorkOrderType.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_GlobalDTOTable/_ROOT_Type_GlobalOTDTable.qbl
@@ -5,17 +5,5 @@
{
  #keys: '5[414702.0.83354588][414702.0.83354586][0.0.0][414702.0.83354587][414702.0.83354589]'
  BaseType: Object
  OnCreate:
  [*
    this.BusinessType( relnew, BusinessTypeName := "手机事业部OLED" );
    this.BusinessType( relnew, BusinessTypeName := "专业显示事业部" );
    this.BusinessType( relnew, BusinessTypeName := "外卖CELLOLED" );
    this.BusinessType( relnew, BusinessTypeName := "手机事业部" );
    this.BusinessType( relnew, BusinessTypeName := "汽车电子事业部" );
    this.BusinessType( relnew, BusinessTypeName := "特种显示" );
    this.BusinessType( relnew, BusinessTypeName := "运动健康事业部" );
    this.BusinessType( relnew, BusinessTypeName := "车载显示事业部" );
    this.BusinessType( relnew, BusinessTypeName := "IT事业部" );
  *]
  StructuredName: 'GlobalOTDTables'
}
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_CheckThePrecedingColumn.qbl
@@ -1,14 +1,14 @@
Quintiq file version 2.0
#parent: #root
Method CheckThePrecedingColumn (
  GlobalOTDTable globalOTDTable
  GlobalOTDSOP globalOTDSOP
)
{
  TextBody:
  [*
    traverse ( this, MatAttrSettingAndPlanStrategyDataRow, masapsdr ) {
      itemCode := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "物料编码" );
      targetMatAttrSettingAndPlanStrategy := select( globalOTDTable, MatAttrSettingAndPlanStrategy, tempMASAPS, tempMASAPS.MatCode() = itemCode.value() );
      targetMatAttrSettingAndPlanStrategy := select( globalOTDSOP, MatAttrSettingAndPlanStrategy, tempMASAPS, tempMASAPS.MatCode() = itemCode.value() );
      if ( not isnull( targetMatAttrSettingAndPlanStrategy ) ) {
        businessType                      := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "业务类型" ).value();
        nameOfMaterial                    := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "物料名称" ).value();
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_CreateOrUpdateData.qbl
@@ -1,14 +1,14 @@
Quintiq file version 2.0
#parent: #root
Method CreateOrUpdateData (
  GlobalOTDTable globalOTDTable
  GlobalOTDSOP globalOTDSOP
)
{
  TextBody:
  [*
    traverse ( this, MatAttrSettingAndPlanStrategyDataRow, masapsdr ) {
      itemCode := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "物料编码" );
      targetMatAttrSettingAndPlanStrategy := select( globalOTDTable, MatAttrSettingAndPlanStrategy, tempMASAPS, tempMASAPS.MatCode() = itemCode.value() );
      targetMatAttrSettingAndPlanStrategy := select( globalOTDSOP, MatAttrSettingAndPlanStrategy, tempMASAPS, tempMASAPS.MatCode() = itemCode.value() );
      if ( not isnull( targetMatAttrSettingAndPlanStrategy ) ) {
        minimumNumberOfDaysInStock     := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "库存最小天数" ).value();
        maximumNumberOfDaysInInventory := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "库存最大天数" ).value();
@@ -122,24 +122,24 @@
          }
        }
        try {
          matAttrSettingAndPlanStrategy := globalOTDTable.MatAttrSettingAndPlanStrategy( relnew,
                                                                                         BusinessType := businessType,
                                                                                         MatCode := createItemCode,
                                                                                         MatName := nameOfMaterial,
                                                                                         MatType := itemClassification,
                                                                                         MatArrivalLT := [Number]LTTimeDays,
    //                                                                                     ProductCount := [Number]numberOfFinishedSKUs,
    //                                                                                     MinProdDeliverLT := [Number]finishedProductDeliveryMinLTDays,
                                                                                         FlagLongTerm := longAndShortCycleLabels,
                                                                                         FlagGeneric := genericSpecialLabels,
    //                                                                                     PlanningStrategyAuto := automaticMaterialPlanningPolicies,
                                                                                         PlanningStrategyCustom := usersManuallySchedulePolicies,
                                                                                         MinimumNumberOfDaysInStock := [Number]minimumNumberOfDaysInStock,
                                                                                         MaximumNumberOfDaysInInventory := [Number]maximumNumberOfDaysInInventory
          matAttrSettingAndPlanStrategy := globalOTDSOP.MatAttrSettingAndPlanStrategy( relnew,
                                                                                       BusinessType := businessType,
                                                                                       MatCode := createItemCode,
                                                                                       MatName := nameOfMaterial,
                                                                                       MatType := itemClassification,
                                                                                       MatArrivalLT := [Number]LTTimeDays,
    //                                                                                   ProductCount := [Number]numberOfFinishedSKUs,
    //                                                                                   MinProdDeliverLT := [Number]finishedProductDeliveryMinLTDays,
                                                                                       FlagLongTerm := longAndShortCycleLabels,
                                                                                       FlagGeneric := genericSpecialLabels,
    //                                                                                   PlanningStrategyAuto := automaticMaterialPlanningPolicies,
                                                                                       PlanningStrategyCustom := usersManuallySchedulePolicies,
                                                                                       MinimumNumberOfDaysInStock := [Number]minimumNumberOfDaysInStock,
                                                                                       MaximumNumberOfDaysInInventory := [Number]maximumNumberOfDaysInInventory
                                                                                        );
          matAttrSettingAndPlanStrategy.UpdateBy( QuintiqUser::CurrentUser().Username() );   
          matAttrSettingAndPlanStrategy.UpdateTime( DateTime::ActualTime() );
          matAttrSettingAndPlanStrategy.SerialNumber( maxselect( globalOTDTable, MatAttrSettingAndPlanStrategy, tempMASAPS, tempMASAPS.SerialNumber() ).SerialNumber() + 1 );
          matAttrSettingAndPlanStrategy.SerialNumber( maxselect( globalOTDSOP, MatAttrSettingAndPlanStrategy, tempMASAPS, tempMASAPS.SerialNumber() ).SerialNumber() + 1 );
        } onerror {
          error( "库存最小天数或库存最大天数必须为整数:", targetMatAttrSettingAndPlanStrategy.MatCode() );
        }
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_SynchronizeData.qbl
@@ -6,12 +6,12 @@
  [*
    this.VerifyThatTheItemCodeIsNotDuplicated();
    
    globalOTDTable := this.MatAttrSettingAndPlanStrategyInputSource().GlobalOTDTable();
    globalOTDSOP := this.MatAttrSettingAndPlanStrategyInputSource().GlobalOTDSOP();
    
    this.CheckThePrecedingColumn( globalOTDTable );
    this.CheckThePrecedingColumn( globalOTDSOP );
    
    this.CreateOrUpdateData( globalOTDTable );
    this.CreateOrUpdateData( globalOTDSOP );
    
    this.VerificationData( globalOTDTable );
    this.VerificationData( globalOTDSOP );
  *]
}
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_VerificationData.qbl
@@ -1,13 +1,13 @@
Quintiq file version 2.0
#parent: #root
Method VerificationData (
  GlobalOTDTable globalOTDTable
  GlobalOTDSOP globalOTDSOP
)
{
  TextBody:
  [*
    info( "策略个数:", globalOTDTable.MatAttrSettingAndPlanStrategy( relsize ) );
    traverse ( globalOTDTable, MatAttrSettingAndPlanStrategy, masaps ) {
    info( "策略个数:", globalOTDSOP.MatAttrSettingAndPlanStrategy( relsize ) );
    traverse ( globalOTDSOP, MatAttrSettingAndPlanStrategy, masaps ) {
      if ( masaps.PlanningStrategyCustom() <> "安全库存" and masaps.PlanningStrategyCustom() <> "JIT" and masaps.PlanningStrategyCustom() <> "M/A" and
           masaps.PlanningStrategyCustom() <> "PO拉料" and masaps.PlanningStrategyCustom() <> "VMI" ) {
        error( "手动设置策略错误:", masaps.MatCode() );     
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/StaticMethod_export.qbl
@@ -1,7 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod Export (
  GlobalOTDTable parent
  GlobalOTDSOP parent
) as String
{
  TextBody:
_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Method_saveData.qbl
@@ -8,7 +8,7 @@
    if( this.MatAttrSettingAndPlanStrategyDataTable( relsize ) > 0 ) {
      traverse( this, MatAttrSettingAndPlanStrategyDataTable, table ) {
        traverse( table, MatAttrSettingAndPlanStrategyDataRow, row ) {
          MatAttrSettingAndPlanStrategy::Update( this.GlobalOTDTable(), row, this.UserName() );
          MatAttrSettingAndPlanStrategy::Update( this.GlobalOTDSOP(), row, this.UserName() );
        }  
      }  
    }
_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/StaticMethod_upload.qbl
@@ -1,7 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod Upload (
  GlobalOTDTable globalOTDTable,
  GlobalOTDSOP globalOTDSOP,
  String filePath,
  String base64Str,
  String userName
@@ -9,15 +9,15 @@
{
  TextBody:
  [*
    globalOTDTable.MatAttrSettingAndPlanStrategyInputSource( relflush );
    globalOTDSOP.MatAttrSettingAndPlanStrategyInputSource( relflush );
    
    fileName := filePath.Tokenize( "\" ).Element( filePath.Tokenize( "\" ).Size() - 1 );
    
    inputSource := globalOTDTable.MatAttrSettingAndPlanStrategyInputSource( relnew,
                                                                            FileName  := fileName,
                                                                            Base64Str := base64Str,
                                                                            IsXlsx    := fileName.EndsWith( "xlsx" ),
                                                                            UserName  := userName );
    inputSource := globalOTDSOP.MatAttrSettingAndPlanStrategyInputSource( relnew,
                                                                          FileName  := fileName,
                                                                          Base64Str := base64Str,
                                                                          IsXlsx    := fileName.EndsWith( "xlsx" ),
                                                                          UserName  := userName );
    
    return inputSource;
  *]
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_CreateIfNotExist.qbl
@@ -1,7 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateIfNotExist (
  GlobalOTDTable parent,
  GlobalOTDSOP parent,
  Number serialNumber,
  String businessType,
  String matCode,
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_DeleteIfExistByMatCode#526.qbl
@@ -1,7 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod DeleteIfExistByMatCode (
  GlobalOTDTable parent,
  GlobalOTDSOP parent,
  Strings matCode
)
{
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_SynchronizeInventoryTargets.qbl
@@ -1,13 +1,13 @@
Quintiq file version 2.0
#parent: #root
StaticMethod SynchronizeInventoryTargets (
  GlobalOTDTable globalOTDTable,
  GlobalOTDSOP globalOTDSOP,
  MacroPlan macroPlan
)
{
  TextBody:
  [*
    traverse ( globalOTDTable, MatAttrSettingAndPlanStrategy, masaps ) {
    traverse ( globalOTDSOP, MatAttrSettingAndPlanStrategy, masaps ) {
      hasMaxLevel := masaps.MaximumNumberOfDaysInInventory() <> 0;
      product_MP := select( macroPlan, Product_MP, tempPMP, tempPMP.ID() = masaps.MatCode() );
      if ( not isnull( product_MP ) ) {
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_deleteIfExistByMatCode.qbl
@@ -1,7 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod DeleteIfExistByMatCode (
  GlobalOTDTable parent,
  GlobalOTDSOP parent,
  String matCode
)
{
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_getExistByMatCode.qbl
@@ -1,7 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetExistByMatCode (
  GlobalOTDTable parent,
  GlobalOTDSOP parent,
  String matCode
) as MatAttrSettingAndPlanStrategy
{
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_update.qbl
@@ -1,7 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod Update (
  GlobalOTDTable parent,
  GlobalOTDSOP parent,
  MatAttrSettingAndPlanStrategyDataRow excelRow,
  String userName
) as MatAttrSettingAndPlanStrategy
_Main/BL/Type_PRData/StaticMethod_FromSupplyPlanning#662.qbl
@@ -22,9 +22,7 @@
    mappingOperation := Global_MappingOperation::GetByProductId( otdTable, product.ID() );
    // QID15
    mappingProviderCapacity := Global_MappingProviderCapacity::GetByProductId( otdTable, product.ID() );
    // ç‰©æ–™æ ‡ç­¾è®¾ç½®
    matAttrSetting := MatAttrSettingAndPlanStrategy::GetByMatCode( otdTable, product.ID() );
    matAttrSetting := null( MatAttrSettingAndPlanStrategy )/*MatAttrSettingAndPlanStrategy::GetExistByMatCode( otdTable, product.ID() )*/;
    
    // æ ¹æ®pispip
    result.MRPCalverNo( ifexpr( pispip.MRPCalverNo() = "", "暂无", pispip.MRPCalverNo() ) );
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditIssueWorkOrder/Component_pnlContent.def
@@ -77,8 +77,8 @@
          BaseType: 'WebDataExtractor'
          Properties:
          [
            DataType: 'GlobalOTDTable'
            Source: 'GlobalOTDTable'
            DataType: 'GlobalOTDSOP'
            Source: 'GlobalOTDSOP'
            Taborder: 0
            Transformation: 'WorkOrderType'
          ]
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditIssueWorkOrder/Response_pnlContent_ddlWorkOrderType_OnCreated.def
@@ -10,11 +10,11 @@
    Body:
    [*
      if ( not isnull( DataHolderDialogData.Data() ) ) {
        targetWorkOrderType := select( GlobalOTDTable, WorkOrderType, tempWOT, tempWOT.TypeName() = DataHolderDialogData.Data().WorkOrderType() );
        targetWorkOrderType := select( GlobalOTDSOP, WorkOrderType, tempWOT, tempWOT.TypeName() = DataHolderDialogData.Data().WorkOrderType() );
        if ( not isnull( targetWorkOrderType ) ) {
          this.Data( targetWorkOrderType );
        } else {
          this.Data( select( GlobalOTDTable, WorkOrderType, tempWOT, true ) );
          this.Data( select( GlobalOTDSOP, WorkOrderType, tempWOT, true ) );
        }
      }
    *]
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Method_NewWorkOrderType.def
@@ -7,7 +7,7 @@
  #keys: '[414702.0.145493830]'
  Body:
  [*
    workOrderType := GlobalOTDTable.WorkOrderType( relshadow );
    workOrderType := GlobalOTDSOP.WorkOrderType( relshadow );
    
    DataHolderForm.Data( formWorkOrderType );
    
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Response_pnlActions_btnOk_OnClick.def
@@ -12,8 +12,8 @@
    id := efID.Text();
    typeName := efTypeName.Text();
    
    idExists := exists( GlobalOTDTable, WorkOrderType, tempWOT, tempWOT.ID() = id and tempWOT.ID() <> data.ID() );
    typeNameExists := exists( GlobalOTDTable, WorkOrderType, tempWOT, tempWOT.TypeName() = typeName and tempWOT.TypeName() <> data.TypeName() );
    idExists := exists( GlobalOTDSOP, WorkOrderType, tempWOT, tempWOT.ID() = id and tempWOT.ID() <> data.ID() );
    typeNameExists := exists( GlobalOTDSOP, WorkOrderType, tempWOT, tempWOT.TypeName() = typeName and tempWOT.TypeName() <> data.TypeName() );
    
    if ( idExists or typeNameExists ) {
      feedback := "ID或类型名称重复";
@@ -35,7 +35,7 @@
      data := DataHolderDialogData.Data();
      workOrderType := data.WrappedInstance();
      if ( isnull( workOrderType ) ) {
        GlobalOTDTable.WorkOrderType( relnew, ID := data.ID(), TypeName := data.TypeName() );
        GlobalOTDSOP.WorkOrderType( relnew, ID := data.ID(), TypeName := data.TypeName() );
      } else {
        workOrderType.ID( data.ID() );
        workOrderType.TypeName( data.TypeName() );
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_listContextMenuInterfaceTest.def
@@ -13,7 +13,7 @@
      [
        Image: 'VIEW'
        Taborder: 3
        Title: '显示数据'
        Title: '测试'
      ]
    }
    Component MenuDelete
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_ListInterfaceTest_MenuCreateShowData_OnClick.def
@@ -27,6 +27,7 @@
      //GlobalOTDTable.Global_ShowCell( relflush );
      //
      //Global_ShowCell::ShowData( GlobalOTDTable, selection );
      WebMessageBox::Information( "此按钮用于测试", true );
    *]
    GroupServerCalls: false
  }
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_ListMaterialMaterialLabelingAndPlanningStrategy#880.def
@@ -11,8 +11,8 @@
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'GlobalOTDTable'
        Source: 'GlobalOTDTable'
        DataType: 'GlobalOTDSOP'
        Source: 'GlobalOTDSOP'
        Taborder: 0
        Transformation: 'MatAttrSettingAndPlanStrategy'
      ]
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonMaterialExportAndImport_OnCl.def
@@ -22,7 +22,7 @@
          
          fileName := uploadJson.Get( "name" ).GetString();
          base64String := uploadJson.Get( "data" ).GetString();
          matAttrSettingAndPlanStrategyInputSource := MatAttrSettingAndPlanStrategyInputSource::Upload( GlobalOTDTable, fileName, base64String, ApplicationMacroPlanner.GetUserName() );
          matAttrSettingAndPlanStrategyInputSource := MatAttrSettingAndPlanStrategyInputSource::Upload( GlobalOTDSOP, fileName, base64String, ApplicationMacroPlanner.GetUserName() );
          
          matAttrSettingAndPlanStrategyInputSource.ParseTable();
          
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonSynchronizeInventoryTargets_.def
@@ -19,7 +19,7 @@
  {
    Body:
    [*
      MatAttrSettingAndPlanStrategy::SynchronizeInventoryTargets( GlobalOTDTable, MacroPlan );
      MatAttrSettingAndPlanStrategy::SynchronizeInventoryTargets( GlobalOTDSOP, MacroPlan );
      
      WebMessageBox::Success( "库存目标同步成功", true );
    *]
_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Component_ListWorkOrderType.def
@@ -11,8 +11,8 @@
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'GlobalOTDTable'
        Source: 'GlobalOTDTable'
        DataType: 'GlobalOTDSOP'
        Source: 'GlobalOTDSOP'
        Taborder: 0
        Transformation: 'WorkOrderType'
      ]