_Main/BL/Relations/Relation_PanelMaterialAll_GlobalOTDTable_GlobalOTDTable_PanelMaterialAll.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ Quintiq file version 2.0 #parent: #root Relation PanelMaterialAll_GlobalOTDTable_GlobalOTDTable_PanelMaterialAll { #keys: '1[414702.0.196798981]' DefaultRelationStrategy { } RelationSide.LeftSide GlobalOTDTable { #keys: '3[414702.0.196798983][414702.0.196798982][414702.0.196798984]' Cardinality: '0to1' ObjectDefinition: PanelMaterialAll OwningSide: 'Reference' } RelationSide.RightSide PanelMaterialAll { #keys: '3[414702.0.196798986][414702.0.196798985][414702.0.196798987]' Cardinality: '1toN' ObjectDefinition: GlobalOTDTable OwningSide: 'Owned' } } _Main/BL/Relations/Relation_PanelMaterialVehicle_GlobalOTDTable_GlobalOTDTable_PanelMaterialVeh.qbl
ÎļþÒÑɾ³ý _Main/BL/Relations/Relation_PanelMaterialVehicle_PanelMaterialAll_PanelMaterialAll_PanelMateria.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ Quintiq file version 2.0 #parent: #root Relation PanelMaterialVehicle_PanelMaterialAll_PanelMaterialAll_PanelMaterialVehicle { #keys: '1[414702.0.196801391]' DefaultRelationStrategy { } RelationSide.LeftSide PanelMaterialAll { #keys: '3[414702.0.196801393][414702.0.196801392][414702.0.196801394]' Cardinality: '0to1' ObjectDefinition: PanelMaterialVehicle OwningSide: 'Reference' } RelationSide.RightSide PanelMaterialVehicle { #keys: '3[414702.0.196801396][414702.0.196801395][414702.0.196801397]' Cardinality: '1toN' ObjectDefinition: PanelMaterialAll OwningSide: 'Owned' } } _Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_CreateOrUpdateData.qbl
@@ -30,10 +30,97 @@ // finishedProductDeliveryMinLTDays := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "æå交ä»Min-LTï¼å¤©ï¼" ).value(); longAndShortCycleLabels := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "é¿ç卿æ ç¾" ).value(); genericSpecialLabels := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "éç¨ä¸ç¨æ ç¾" ).value(); // automaticMaterialPlanningPolicies := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "èªå¨ç©æè®¡åçç¥" ).value(); automaticMaterialPlanningPolicies := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "èªå¨ç©æè®¡åçç¥" ).value(); usersManuallySchedulePolicies := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "ç¨æ·æå¨è®¡åçç¥" ).value(); minimumNumberOfDaysInStock := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "åºåæå°å¤©æ°" ).value(); maximumNumberOfDaysInInventory := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "åºåæå¤§å¤©æ°" ).value(); if ( businessType = "éå¢é¢æ¿" ) { if ( createItemCode.StartsWith( "103" ) ) { if( longAndShortCycleLabels = "é¿å¨æ" ) { if ( genericSpecialLabels = "ä¸ç¨" ) { if ( automaticMaterialPlanningPolicies <> "JIT" ) { error( "å¯¼å ¥çèªå¨è®¡åçç¥å¼åºéï¼", createItemCode ); } } else if ( genericSpecialLabels = "éç¨" ) { if ( automaticMaterialPlanningPolicies <> "å®å ¨åºå" ) { error( "å¯¼å ¥çèªå¨è®¡åçç¥å¼åºéï¼", createItemCode ); } } else { error( "ä¸éç¨æ ç¾çå¼åºéï¼", createItemCode ); } } else if ( longAndShortCycleLabels = "ç卿" ) { if ( genericSpecialLabels = "ä¸ç¨" ) { if ( automaticMaterialPlanningPolicies <> "JIT" ) { error( "å¯¼å ¥çèªå¨è®¡åçç¥å¼åºéï¼", createItemCode ); } } else if ( genericSpecialLabels = "éç¨" ) { if ( automaticMaterialPlanningPolicies <> "å®å ¨åºå" ) { error( "å¯¼å ¥çèªå¨è®¡åçç¥å¼åºéï¼", createItemCode ); } } else { error( "ä¸éç¨æ ç¾çå¼åºéï¼", createItemCode ); } } else { error( "é¿ç卿çå¼åºéï¼", createItemCode ); } } else { if( longAndShortCycleLabels = "é¿å¨æ" ) { if ( genericSpecialLabels = "ä¸ç¨" ) { if ( automaticMaterialPlanningPolicies <> "JIT" ) { error( "å¯¼å ¥çèªå¨è®¡åçç¥å¼åºéï¼", createItemCode ); } } else if ( genericSpecialLabels = "éç¨" ) { if ( automaticMaterialPlanningPolicies <> "JIT" ) { error( "å¯¼å ¥çèªå¨è®¡åçç¥å¼åºéï¼", createItemCode ); } } else { error( "ä¸éç¨æ ç¾çå¼åºéï¼", createItemCode ); } } else if ( longAndShortCycleLabels = "ç卿" ) { if ( genericSpecialLabels = "ä¸ç¨" ) { if ( automaticMaterialPlanningPolicies <> "JIT" ) { error( "å¯¼å ¥çèªå¨è®¡åçç¥å¼åºéï¼", createItemCode ); } } else if ( genericSpecialLabels = "éç¨" ) { if ( automaticMaterialPlanningPolicies <> "JIT" ) { error( "å¯¼å ¥çèªå¨è®¡åçç¥å¼åºéï¼", createItemCode ); } } else { error( "ä¸éç¨æ ç¾çå¼åºéï¼", createItemCode ); } } else { error( "é¿ç卿çå¼åºéï¼", createItemCode ); } } } else { if( longAndShortCycleLabels = "é¿å¨æ" ) { if ( genericSpecialLabels = "ä¸ç¨" ) { if ( automaticMaterialPlanningPolicies <> "JIT" ) { error( "å¯¼å ¥çèªå¨è®¡åçç¥å¼åºéï¼", createItemCode ); } } else if ( genericSpecialLabels = "éç¨" ) { if ( automaticMaterialPlanningPolicies <> "å®å ¨åºå" ) { error( "å¯¼å ¥çèªå¨è®¡åçç¥å¼åºéï¼", createItemCode ); } } else { error( "ä¸éç¨æ ç¾çå¼åºéï¼", createItemCode ); } } else if ( longAndShortCycleLabels = "ç卿" ) { if ( genericSpecialLabels = "ä¸ç¨" ) { if ( automaticMaterialPlanningPolicies <> "JIT" ) { error( "å¯¼å ¥çèªå¨è®¡åçç¥å¼åºéï¼", createItemCode ); } } else if ( genericSpecialLabels = "éç¨" ) { if ( automaticMaterialPlanningPolicies <> "VMI" ) { error( "å¯¼å ¥çèªå¨è®¡åçç¥å¼åºéï¼", createItemCode ); } } else { error( "ä¸éç¨æ ç¾çå¼åºéï¼", createItemCode ); } } else { error( "é¿ç卿çå¼åºéï¼", createItemCode ); } } try { matAttrSettingAndPlanStrategy := globalOTDTable.MatAttrSettingAndPlanStrategy( relnew, BusinessType := businessType, _Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_SynchronizeData.qbl
@@ -11,5 +11,7 @@ this.CheckThePrecedingColumn( globalOTDTable ); this.CreateOrUpdateData( globalOTDTable ); this.VerificationData( globalOTDTable ); *] } _Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_VerificationData.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,25 @@ Quintiq file version 2.0 #parent: #root Method VerificationData ( GlobalOTDTable globalOTDTable ) { TextBody: [* info( "çç¥ä¸ªæ°ï¼", globalOTDTable.MatAttrSettingAndPlanStrategy( relsize ) ); traverse ( globalOTDTable, 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() ); } if ( ( masaps.PlanningStrategyAuto() <> "" and masaps.PlanningStrategyAuto() = "JIT" ) or ( masaps.PlanningStrategyCustom() <> "" and masaps.PlanningStrategyCustom() = "JIT" ) ) { if ( masaps.MinimumNumberOfDaysInStock() > 0 or masaps.MaximumNumberOfDaysInInventory() > 0 ) { error( "JITçç¥å卿å°åæå¤§åºå天æ°ï¼", masaps.MatCode() ); } } } *] } _Main/BL/Type_PanelMaterialAll/Attribute_BusinessType.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,7 @@ Quintiq file version 2.0 #parent: #root Attribute BusinessType { #keys: '3[414702.0.196801424][414702.0.196801423][414702.0.196801425]' ValueType: String } _Main/BL/Type_PanelMaterialAll/Attribute_ScenarioName.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,7 @@ Quintiq file version 2.0 #parent: #root Attribute ScenarioName { #keys: '3[414702.0.196801434][414702.0.196801433][414702.0.196801435]' ValueType: String } _Main/BL/Type_PanelMaterialAll/Attribute_releaseDate.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,7 @@ Quintiq file version 2.0 #parent: #root Attribute ReleaseDate { #keys: '3[414702.0.196801411][414702.0.196801410][414702.0.196801412]' ValueType: String } _Main/BL/Type_PanelMaterialAll/_ROOT_Type_PanelMaterialAll.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,9 @@ Quintiq file version 2.0 #root #parent: #DomainModel Type PanelMaterialAll { #keys: '5[414702.0.196801373][414702.0.196801371][0.0.0][414702.0.196801372][414702.0.196801374]' BaseType: Object StructuredName: 'PanelMaterialAlls' } _Main/BL/Type_PanelMaterialVehicle/Attribute_ProductID.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,7 @@ Quintiq file version 2.0 #parent: #root Attribute ProductID { #keys: '3[414702.0.196801332][414702.0.196801331][414702.0.196801333]' ValueType: String } _Main/BL/Type_PanelMaterialVehicle/Attribute_Quantity.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,7 @@ Quintiq file version 2.0 #parent: #root Attribute Quantity { #keys: '3[414702.0.196801342][414702.0.196801341][414702.0.196801343]' ValueType: String } _Main/BL/Type_PanelMaterialVehicle/StaticMethod_ReceiveDataGeneration.qbl
@@ -25,6 +25,16 @@ businessTypeNameValue := restPayloadNameValue.Child( businessTypeHandle ); scenarioNameNameValue := restPayloadNameValue.Child( scenarioNameHandle ); panelMaterialAll := select( globalOTDTable, PanelMaterialAll, tempPMA, tempPMA.ScenarioName() = scenarioNameNameValue.GetValueAsString() ); if ( not isnull( panelMaterialAll ) ) { panelMaterialAll.Delete(); } panelMaterialAll := globalOTDTable.PanelMaterialAll( relnew, ReleaseDate := releaseDateNameValue.GetValueAsString(), BusinessType := businessTypeNameValue.GetValueAsString(), ScenarioName := scenarioNameNameValue.GetValueAsString() ); panelMaterialsHandle := requestnvt.GetHandle( "panelMaterials" ); panelMaterialsNameValue := restPayloadNameValue.Child( panelMaterialsHandle ); childPanelMaterialsNameValue := panelMaterialsNameValue.Children(); @@ -32,17 +42,24 @@ productDescriptionHandle := requestnvt.GetHandle( "productDescription" ); startDateHandle := requestnvt.GetHandle( "startDate" ); quantityHandle := requestnvt.GetHandle( "quantity" ); cnv2 := StringToDate::StandardConverter(); cnv2.SetCustomConversion(); cnv2.CustomFormatString( 'yyyy-MM-dd' ); traverse ( childPanelMaterialsNameValue, Elements, cpmnv ) { info( "产åï¼", cpmnv.Child( productIDHandle ).GetValueAsString() ); info( "产åæè¿°ï¼", cpmnv.Child( productDescriptionHandle ).GetValueAsString() ); info( "å¼å§æ¶é´ï¼", cpmnv.Child( startDateHandle ).GetValueAsString() ); info( "æ°éï¼", cpmnv.Child( quantityHandle ).GetValueAsString() ); // globalOTDTable.PanelMaterialVehicle( relnew, // Customer := businessTypeNameValue.GetValueAsString(), // ID := OS::GenerateGUIDAsString(), // OrderDate := cpmnv.Child( startDateHandle ).GetValueAsString(), panelMaterialAll.PanelMaterialVehicle( relnew, Customer := businessTypeNameValue.GetValueAsString(), ID := OS::GenerateGUIDAsString(), OrderDate := cnv2.Convert( cpmnv.Child( startDateHandle ).GetValueAsString() ), ProductID := cpmnv.Child( productIDHandle ).GetValueAsString(), Quantity := cpmnv.Child( quantityHandle ).GetValueAsString(), SalesSegmentName := businessTypeNameValue.GetValueAsString() ); } *] } _Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Response_pnlActions_btnOk_OnClick.def
@@ -4,13 +4,20 @@ { #keys: '[414702.0.131771253]' DefinitionID: 'Responsedef_WebButton_OnClick' GroupServerCalls: true QuillAction { Body: [* Form.ApplyChanges(); data := DataHolderDialogData.Data(); if ( data.PlanningStrategyCustom() = "JIT" ) { data.MinimumNumberOfDaysInStock( 0 ); data.MaximumNumberOfDaysInInventory( 0 ); } Form.Close(); *] GroupServerCalls: false } } _Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Response_pnlGeneral_ddslMaterialPlanningPolicyChanges_OnCreated.def
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,26 @@ Quintiq file version 2.0 #parent: pnlGeneral/ddslMaterialPlanningPolicyChanges Response OnCreated () id:Response_pnlGeneral_ddslMaterialPlanningPolicyChanges_OnCreated { #keys: '[414702.0.199501073]' CanBindMultiple: false DefinitionID: 'Responsedef_WebComponent_OnCreated' QuillAction { Body: [* data := DataHolderDialogData.Data(); if ( data.PlanningStrategyCustom() <> "" and data.PlanningStrategyCustom() = "JIT" ) { efTheMinimumNumberOfDaysForAnItemToBeInventoried.Visible( false ); efTheMaximumNumberOfDaysThatTheItemIsInStock.Visible( false ); } else if ( data.PlanningStrategyAuto() <> "" and data.PlanningStrategyAuto() = "JIT" ) { efTheMinimumNumberOfDaysForAnItemToBeInventoried.Visible( false ); efTheMaximumNumberOfDaysThatTheItemIsInStock.Visible( false ); } else { efTheMinimumNumberOfDaysForAnItemToBeInventoried.Visible( true ); efTheMaximumNumberOfDaysThatTheItemIsInStock.Visible( true ); } *] GroupServerCalls: false } } _Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Response_pnlGeneral_ddslMaterialPlanningPolicyChanges_OnUserSelectionChanged.def
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,25 @@ Quintiq file version 2.0 #parent: pnlGeneral/ddslMaterialPlanningPolicyChanges Response OnUserSelectionChanged () id:Response_pnlGeneral_ddslMaterialPlanningPolicyChanges_OnUserSelectionChanged { #keys: '[414702.0.198291344]' CanBindMultiple: false DefinitionID: 'Responsedef_WebDropDownStringList_OnUserSelectionChanged' QuillAction { Body: [* if ( selection <> "" and selection = "JIT" ) { efTheMinimumNumberOfDaysForAnItemToBeInventoried.Visible( false ); efTheMaximumNumberOfDaysThatTheItemIsInStock.Visible( false ); } else if ( selection <> "" and selection = "JIT" ) { efTheMinimumNumberOfDaysForAnItemToBeInventoried.Visible( false ); efTheMaximumNumberOfDaysThatTheItemIsInStock.Visible( false ); } else { efTheMinimumNumberOfDaysForAnItemToBeInventoried.Visible( true ); efTheMaximumNumberOfDaysThatTheItemIsInStock.Visible( true ); } *] GroupServerCalls: false } } _Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialExportAndImport#136.def
@@ -13,7 +13,7 @@ [ Image: 'EXPORT1' Label: 'æ°æ®å¯¼åº' Taborder: 1 Taborder: 2 ] } Component ButtonMaterialExportAndImport @@ -24,7 +24,7 @@ [ Image: 'IMPORT1' Label: 'æ°æ®å¯¼å ¥' Taborder: 2 Taborder: 3 ] } Component ButtonSynchronizeInventoryTargets @@ -38,6 +38,17 @@ Taborder: 0 ] } Component ButtonPullData { #keys: '[414702.0.199743004]' BaseType: 'WebButton' Properties: [ Image: 'TRACTOR' Label: 'æåæ°æ®' Taborder: 1 ] } ] Properties: [ _Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonPullData_OnClick.def
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,16 @@ Quintiq file version 2.0 #parent: PanelMaterialExportAndImport_136/ButtonPullData Response OnClick () id:Response_PanelMaterialExportAndImport_136_ButtonPullData_OnClick { #keys: '[414702.0.198246056]' CanBindMultiple: false DefinitionID: 'Responsedef_WebButton_OnClick' QuillAction { Body: [* WebMessageBox::Error( "æ°æ®æ¹è¿æ¥å¤±è´¥", true ); *] GroupServerCalls: false } } _Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonSynchronizeInventoryTargets_.def
@@ -7,7 +7,13 @@ DefinitionID: 'Responsedef_WebButton_OnClick' Precondition: [* return not isnull( GlobalOTDTable ) and not isnull( MacroPlan ); flag := not isnull( GlobalOTDTable ) and not isnull( MacroPlan ); if ( not flag ) { feedback := "å½åæ²¡ææ¿æ´»ççæ¬"; } return flag; *] QuillAction { _Main/UI/MacroPlannerWebApp/_ROOT_Project_MacroPlannerWebApp.qp
@@ -5,7 +5,7 @@ ProjectProperties { ApplicationComponentName: 'ApplicationMacroPlanner' BuildVersion: '2022.3.0.32' BuildVersion: '2022.3.0.52' Description: 'Quintiq Macro Planner' ProjectKind: 'WebClient' }