yypsybs
2023-10-17 9ddc6a9215c98af29ec989b2a0f6cd69f06ff2f5
_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() );
        }