From e6c0b43a4f21923ceeee5f9c35650314fc783962 Mon Sep 17 00:00:00 2001 From: limj <limj@taizhitech.com> Date: 星期五, 15 九月 2023 17:08:16 +0800 Subject: [PATCH] Merge branch 'dev' of http://47.101.211.7:10101/r/TIANMA_JITUAN into dev_lmj --- _Main/BL/Type_PanelMaterialIT/Attribute_CurrencyID.qbl | 7 _Main/BL/Type_PanelMaterialIT/DefaultValue_PriorityName.qbl | 7 _Main/BL/Type_PanelMaterialTM18/Attribute_ID.qbl | 7 _Main/BL/Type_PanelMaterialTM17/DefaultValue_IsEligibleForNetting.qbl | 7 _Main/BL/Type_PanelMaterialTM17/DefaultValue_Quantity.qbl | 6 _Main/BL/Type_PanelMaterialVehicle/DefaultValue_CurrencyID.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_LibSOPImpExp_ContextMenuImport_MenuImportFromCommonIn.def | 1 _Main/BL/Type_PanelMaterialTianHua/DefaultValue_PriorityName.qbl | 7 _Main/BL/EDI/Broker_Broker_OTD_Product.qbl | 1 _Main/BL/Type_ActualProductInStockingPointInPeriod/StaticMethod_CreateOrUpdate.qbl | 4 _Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl | 7 _Main/BL/Type_PanelMaterialIT/DefaultValue_ProductID.qbl | 6 _Main/BL/Type_PanelMaterialTM17/Attribute_OrderID.qbl | 7 _Main/BL/Type_PanelMaterialTianHua/Attribute_CustomerID.qbl | 7 _Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/Attribute_ProductCode.qbl | 8 _Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_UnitOfMeasureName.qbl | 7 _Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_OrderLineID.qbl | 6 _Main/BL/Type_Lane/StaticMethod_CreateLane.qbl | 2 _Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Method_saveData.qbl | 16 _Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_IsEligibleForNetting.qbl | 7 _Main/BL/Type_PanelMaterialAutomotiveElectronics/_ROOT_Type_PanelMaterialAutomotiveElectronics.qbl | 10 _Main/BL/Type_PanelMaterialTianHua/Attribute_Price.qbl | 7 _Main/BL/Type_PanelMaterialTianHua/Attribute_Quantity.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanningStrategyDataColumn/DefaultValue_columnIndex.qbl | 7 _Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_IsEligibleForNetting.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanningStrategy/_ROOT_Type_MatAttrSettingAndPlanStrategy.qbl | 10 _Main/BL/Type_PanelMaterialIT/Attribute_IsExcludedFromFulfillmentKPIUser.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Response_ListWorkOrderType_MenuEdit_OnClick.def | 20 _Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/QuintiqEndpoint_QuintiqEndpoint.qbl | 8 _Main/BL/Type_PanelMaterialTM18/DefaultValue_Price.qbl | 7 _Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_Customer.qbl | 7 _Main/BL/Type_PanelMaterialIT/_ROOT_Type_PanelMaterialIT.qbl | 10 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Method_Edit.def | 16 _Main/BL/Type_PanelMaterialTM18/Attribute_IsFirmed.qbl | 7 _Main/BL/Type_PanelMaterialTM17/Attribute_UnitOfMeasureName.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanningStrategy/Function_CalcMinProdDeliverLT.qbl | 17 _Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_getExistByMatCode.qbl | 14 _Main/UI/MacroPlanner/Component_frmStandardAnalysisGlobalOTDTable/Component_swTop.def | 29 _Main/BL/Type_PanelMaterialTianHua/DefaultValue_StockingPointID.qbl | 7 _Main/BL/Type_PanelMaterialSportsHealth/Attribute_OrderLineID.qbl | 7 _Main/BL/Type_PanelMaterialTianHua/Attribute_Customer.qbl | 7 _Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_UnitOfMeasureName.qbl | 7 _Main/BL/Type_PanelMaterialIT/DefaultValue_IsFirmed.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listActionBarPageChildMaterial.def | 10 _Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialLabelingAndPlanningStrategy.def | 15 _Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MinProdDeliverLT.qbl | 8 _Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyDataRow_MatAttrSettingAndPlanStrategyD.qbl | 23 _Main/BL/Type_PanelMaterialTM17/Attribute_SalesSegmentName.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Method_Edit.def | 17 _Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/RestEndpoint_RestEndpointPanelMaterial.qbl | 10 _Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_OrderID.qbl | 6 _Main/BL/Type_PanelMaterialTianHua/Attribute_StockingPointID.qbl | 7 _Main/BL/Type_PanelMaterialVehicle/Attribute_Quantity.qbl | 7 _Main/BL/Type_PanelMaterialIT/Attribute_ProductID.qbl | 7 _Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_IsFirmed.qbl | 7 _Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_IsEligibleForNetting.qbl | 7 _Main/UI/MacroPlanner/Component_FormProducts/Component_ListProduct.def | 42 _Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_listContextMenuData.def | 62 _Main/BL/Type_PanelMaterialTM17/Attribute_Customer.qbl | 7 _Main/BL/Type_PanelMaterialTM18/Attribute_IsExcludedFromFulfillmentKPIUser.qbl | 7 _Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_OrderID.qbl | 6 _Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_OrderLineID.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Response_pnlActions_btnCancel_OnClick.def | 15 _Main/BL/Type_PanelMaterialTianHua/_ROOT_Type_PanelMaterialTianHua.qbl | 10 _Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listActionBarPageMaterial790#1.def | 10 _Main/BL/Type_PanelMaterialTianHua/DefaultValue_ID.qbl | 6 _Main/BL/Type_PanelMaterialIT/Attribute_CustomerID.qbl | 7 _Main/BL/Type_PanelMaterialIT/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_DeleteIfExistByMatCode#526.qbl | 18 _Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/_ROOT_Component_FormPanelPullPlanReport.def | 17 _Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_PriorityName.qbl | 7 _Main/BL/Type_PanelMaterialTM17/DefaultValue_Customer.qbl | 6 _Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_OrderLineID.qbl | 7 _Main/BL/Type_PanelMaterialIT/DefaultValue_Price.qbl | 7 _Main/BL/Type_MacroPlan/Method_MappingProductData.qbl | 4 _Main/BL/Type_PanelMaterialVehicle/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl | 7 _Main/BL/Type_PanelMaterialSportsHealth/Attribute_UnitOfMeasureName.qbl | 7 _Main/BL/Type_PanelMaterialVehicle/Attribute_PriorityName.qbl | 7 _Main/BL/Type_PanelMaterialAll/Attribute_releaseDate.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanningStrategyDataCell/DefaultValue_value.qbl | 6 _Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_SalesSegmentName.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_PanelData#431.def | 14 _Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnDoubleClick.def | 19 _Main/BL/Relations/Relation_PanelMaterialVehicle_PanelMaterialAll_PanelMaterialAll_PanelMateria.qbl | 23 _Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Component_pnlActions.def | 40 _Main/BL/Relations/Relation_PanelMaterialIT_PanelMaterialAll_PanelMaterialAll_PanelMaterialIT.qbl | 23 _Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Component_listContextMenuWorkOrderType.def | 62 _Main/BL/Relations/Relation_PanelMaterialTM18_PanelMaterialAll_PanelMaterialAll_PanelMaterialTM.qbl | 23 _Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/StaticMethod_export.qbl | 66 _Main/BL/Type_PanelMaterialSportsHealth/Attribute_Customer.qbl | 7 _Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_IsEligibleForNetting.qbl | 7 _Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_CurrencyID.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_PanelFunctionButtons_ButtonRefresh_OnClick.def | 24 _Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_PanelPanelPullPlanReport.def | 15 _Main/BL/Type_PanelMaterialTianHua/StaticMethod_ReceiveDataGeneration.qbl | 65 _Main/BL/Type_InventoryValueAndCost/StaticMethod_FindById.qbl | 5 _Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_ProductID.qbl | 6 _Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_Customer.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MinimumNumberOfDaysInStock.qbl | 8 _Main/BL/Type_PanelMaterialTM18/Attribute_PriorityName.qbl | 7 _Main/BL/Type_MacroPlan/Method_MappingOperationBOMData.qbl | 15 _Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_UpdateTime.qbl | 8 _Main/BL/Type_PanelMaterialTianHua/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl | 7 _Main/BL/Type_GlobalDTOTable/Method_InitTestData.qbl | 19 _Main/BL/ConfigTemplates.properties | 4 _Main/BL/Type_PanelMaterialVehicle/Attribute_IsExcludedFromFulfillmentKPIUser.qbl | 7 _Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_Price.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Response_pnlGeneral_ddslMaterialPlanningPolicyChanges_OnUserSelectionChanged.def | 25 _Main/BL/Type_WorkOrderType/Attribute_ID.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Method_Edit.def | 18 _Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/Function_CalcMatCode.qbl | 13 _Main/BL/Type_PanelMaterialAll/_ROOT_Type_PanelMaterialAll.qbl | 9 _Main/BL/Type_PanelMaterialTM18/DefaultValue_Customer.qbl | 6 _Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/StaticMethod_doVerify.qbl | 34 _Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_IsExcludedFromFulfillmentKPIUser.qbl | 7 _Main/BL/Type_GlobalDTOTable/StaticMethod_ReceivingPanelMaterials.qbl | 13 _Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/StaticMethod_VerifyTheFileName.qbl | 15 _Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_IsFirmed.qbl | 7 _Main/BL/Type_StockingPoint_MP/StaticMethod_CreateStockingpointFromJson.qbl | 2 _Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuDelete_OnClick.def | 18 _Main/BL/InfoMessages.qbl | 5 _Main/BL/Type_MacroPlan/Method_MappingExternalSupplyData.qbl | 5 _Main/BL/Type_PanelMaterialTianHua/DefaultValue_ProductID.qbl | 6 _Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_SynchronizeInventoryTargets.qbl | 41 _Main/BL/Type_PanelMaterialTianHua/DefaultValue_CurrencyID.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_CreateIfNotExist.qbl | 35 _Main/BL/Type_MatAttrSettingAndPlanningStrategyDataRow/Attribute_rowNo.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Response_pnlActions_btnOk_OnClick.def | 35 _Main/BL/Type_PanelMaterialTM18/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl | 7 _Main/BL/Type_PanelMaterialTianHua/Attribute_OrderLineID.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MatCode.qbl | 8 _Main/BL/Type_PanelMaterialTM18/Attribute_Customer.qbl | 7 _Main/BL/Type_PanelMaterialTianHua/Attribute_OrderID.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_CheckThePrecedingColumn.qbl | 37 _Main/BL/Type_Forecast/StaticMethod_CreateOrUpdate.qbl | 2 _Main/BL/Type_PanelMaterialSportsHealth/Attribute_Price.qbl | 7 _Main/BL/Type_PanelMaterialIT/DefaultValue_StockingPointID.qbl | 7 _Main/BL/Type_PanelMaterialSportsHealth/Attribute_StockingPointID.qbl | 7 _Main/BL/Type_MacroPlan/StaticMethod_DoSync0.qbl | 20 _Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_PriorityName.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuEdit_OnClick.def | 20 _Main/BL/Type_PanelMaterial/Attribute_PanelModel.qbl | 8 _Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/DefaultValue_name.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuCreate_OnClick.def | 22 _Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXML/XMLObjectBase_table.qbl | 27 _Main/BL/Relations/Relation_PanelMaterialSpecializedDisplay_PanelMaterialAll_PanelMaterialAll_P.qbl | 23 _Main/BL/Type_PanelMaterial/Attribute_DemandQuantity.qbl | 8 _Main/BL/Type_InventoryValueAndCost/StaticMethod_CreateOrUpdate.qbl | 34 _Main/BL/Type_MacroPlan/Method_MappingActualPISPIPData.qbl | 2 _Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_CustomerID.qbl | 7 _Main/BL/Relations/Relation_WorkOrderType_GlobalOTDTable_GlobalOTDTable_WorkOrderType.qbl | 23 _Main/BL/Type_PanelMaterialIT/Attribute_Customer.qbl | 7 _Main/BL/Type_PanelMaterialVehicle/Attribute_OrderID.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanningStrategy/Function_CalcPlanningStrategyAuto.qbl | 23 _Main/BL/Type_PanelMaterialSportsHealth/Attribute_PriorityName.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanningStrategyDataRow/DefaultValue_rowNo.qbl | 7 _Main/BL/Type_PanelMaterialTM18/Attribute_Price.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_ListMaterialMaterialLabelingAndPlanningStrategy#880.def | 60 _Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_SalesSegmentName.qbl | 6 _Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyDataColumn_MatAttrSettingAndPlanStrate.qbl | 26 _Main/BL/Type_PanelMaterialTM18/Attribute_SalesSegmentName.qbl | 7 _Main/BL/Type_PanelMaterialIT/Attribute_Quantity.qbl | 7 _Main/BL/Type_PanelMaterialVehicle/Attribute_StockingPointID.qbl | 7 _Main/UI/MacroPlanner/Component_FormProducts/Component_SplitterWnd8.def | 14 _Main/BL/Type_MatAttrSettingAndPlanningStrategyDataRow/_ROOT_Type_MatAttrSettingAndPlanStrategyDataRow.qbl | 9 _Main/BL/Type_PanelMaterialTM18/DefaultValue_OrderID.qbl | 6 _Main/BL/Type_MacroPlan/Method_MappingInventoryValueAndCostData.qbl | 23 _Main/BL/Type_PanelMaterialVehicle/Attribute_Customer.qbl | 7 _Main/BL/Type_PanelMaterialIT/DefaultValue_ID.qbl | 6 _Main/BL/Type_CustomerOrder/StaticMethod_CreateOrUpdate.qbl | 22 _Main/BL/Type_PanelMaterialVehicle/Attribute_ProductID.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/StaticMethod_CreateIfNotExist.qbl | 22 _Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_PanelFunctionButtons_ButtonSend_OnClick.def | 24 _Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/Attribute_MatCode.qbl | 8 _Main/BL/Type_PanelMaterialTianHua/Attribute_IsEligibleForNetting.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_VerifyThatTheItemCodeIsNotDuplicated.qbl | 23 _Main/BL/Type_PanelMaterialTianHua/Attribute_PriorityName.qbl | 7 _Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyDataTable_MatAttrSettingAndPlanStr#458.qbl | 23 _Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_Customer.qbl | 6 _Main/BL/Type_PanelMaterialSportsHealth/Attribute_IsExcludedFromFulfillmentKPIUser.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterial_DataHolderCheckedMaterials_OnDataChanged.def | 18 _Main/BL/Type_MatAttrSettingAndPlanningStrategyDataColumn/Attribute_columnIndex.qbl | 7 _Main/BL/Type_PanelMaterialSportsHealth/Attribute_ID.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXMLHeaders/XMLObjectBase_column.qbl | 17 _Main/BL/Type_PanelMaterialSportsHealth/Attribute_ProductID.qbl | 7 _Main/BL/Type_PanelMaterialIT/Attribute_SalesSegmentName.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/_ROOT_Type_MatAttrSettingAndPlanStrategyDetail.qbl | 10 _Main/BL/Type_PanelMaterialVehicle/Attribute_IsEligibleForNetting.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Response_pnlActions_btnCancel_OnClick.def | 15 _Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_OrderDate.qbl | 7 _Main/BL/Type_MacroPlan/Method_MappingOperationBOMDataSupplyPurchase.qbl | 23 _Main/BL/Type_PanelMaterialIT/Attribute_StockingPointID.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Component_pnlActions.def | 40 _Main/BL/Type_PanelMaterialVehicle/Attribute_UnitOfMeasureName.qbl | 7 _Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_Quantity.qbl | 6 _Main/BL/Type_PanelMaterialVehicle/StaticMethod_ReceiveDataGeneration.qbl | 65 _Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/Attribute_StandardLT.qbl | 7 _Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_OrderLineID.qbl | 7 _Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_UnitOfMeasureName.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_ProductCount.qbl | 8 _Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXMLHeaders/XMLObjectBase_table.qbl | 27 _Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_SalesSegmentName.qbl | 7 _Main/BL/Type_PanelMaterialTianHua/Attribute_CurrencyID.qbl | 7 _Main/BL/Type_Product_MP/Attribute_IsPanelMaterial.qbl | 8 _Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_IsFirmed.qbl | 7 _Main/BL/Type_PanelMaterialVehicle/_ROOT_Type_PanelMaterialVehicle.qbl | 10 _Main/BL/Type_PanelMaterialSportsHealth/Attribute_OrderID.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanningStrategyDataColumn/Function_CalccolumnIndex.qbl | 11 _Main/BL/Type_MacroPlan/Method_MappingOperationBOMDataRouting#576.qbl | 2 _Main/BL/Type_PanelMaterialTM18/DefaultValue_IsEligibleForNetting.qbl | 7 _Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_OrderDate.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_UpdateBy.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialExportAndImport#136.def | 61 _Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyInputSource_GlobalOTDTable_GlobalOTDTa.qbl | 23 _Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MatArrivalLT.qbl | 8 _Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXMLHeaders/_ROOT_XML_MatAttrSettingAndPlanStrategyDataTableXMLHeaders.qbl | 8 _Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_UnitOfMeasureName.qbl | 7 _Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_UnitOfMeasureName.qbl | 7 _Main/BL/Type_PanelMaterialTM17/DefaultValue_ProductID.qbl | 6 _Main/BL/Relations/Relation_PanelMaterialTM17_PanelMaterialAll_PanelMaterialAll_PanelMaterialTM.qbl | 23 _Main/BL/Relations/Relation_PanelMaterial_MacroPlan_MacroPlan_PanelMaterial.qbl | 23 _Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_OrderID.qbl | 7 _Main/BL/Type_PanelMaterialIT/Attribute_OrderLineID.qbl | 7 _Main/BL/Type_PanelMaterialIT/Attribute_IsFirmed.qbl | 7 _Main/BL/Type_PanelMaterialTM18/Attribute_IsEligibleForNetting.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterial.def | 26 _Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/StaticMethod_exportFields.qbl | 23 _Main/BL/Type_WorkOrderType/Attribute_TypeName.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/_ROOT_Component_DialogCreateEditWorkOrderType.def | 41 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/_ROOT_Component_DialogCreateEditPanelPullPlanReport.def | 31 _Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Attribute_fileName.qbl | 7 _Main/BL/Type_PanelMaterialTM17/Attribute_ProductID.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXML/_ROOT_XML_MatAttrSettingAndPlanStrategyDataTableXML.qbl | 8 _Main/BL/Type_PanelMaterial/_ROOT_Type_PanelMaterial.qbl | 9 _Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Attribute_name.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listContextMenuMaterial455#1.def | 46 _Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_parseRows.qbl | 41 _Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyDetail_MatAttrSettingAndPlanStrategy_M.qbl | 23 _Main/BL/Type_PanelMaterialIT/DefaultValue_IsEligibleForNetting.qbl | 7 _Main/BL/Type_PanelMaterialTM17/DefaultValue_SalesSegmentName.qbl | 6 _Main/BL/Type_PanelMaterialTM17/DefaultValue_StockingPointID.qbl | 7 _Main/BL/Type_PanelMaterialTM17/Attribute_StockingPointID.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Response_pnlActions_btnOk_OnClick.def | 23 _Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Method_parseTable.qbl | 25 _Main/BL/Type_MatAttrSettingAndPlanningStrategyDataColumn/DefaultValue_name.qbl | 6 _Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_OrderID.qbl | 7 _Main/BL/Type_PanelMaterialVehicle/Attribute_IsFirmed.qbl | 7 _Main/BL/Type_PanelMaterialTM18/Attribute_CustomerID.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_SerialNumber.qbl | 8 _Main/BL/Type_PanelMaterial/Attribute_StartDate.qbl | 8 _Main/BL/Type_PanelMaterialIT/DefaultValue_UnitOfMeasureName.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonMaterialExportAndImport_OnCl.def | 42 _Main/BL/Type_PanelMaterialTM18/DefaultValue_SalesSegmentName.qbl | 6 _Main/Sys/Integration/Structure/PanelMaterialResponseResult_from.xml | 0 _Main/BL/Type_PanelMaterialTM17/DefaultValue_CustomerID.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Method_NewWorkOrderType.def | 18 _Main/BL/Type_PanelMaterialTM17/DefaultValue_IsFirmed.qbl | 7 _Main/BL/Type_PanelMaterialTM17/DefaultValue_OrderID.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelChildMaterial#558.def | 15 _Main/BL/Type_PanelMaterialVehicle/Attribute_CustomerID.qbl | 7 _Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_CurrencyID.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_update.qbl | 69 _Main/BL/Type_PanelMaterialIT/DefaultValue_SalesSegmentName.qbl | 6 _Main/BL/Type_PanelMaterialIT/Attribute_PriorityName.qbl | 7 _Main/BL/Type_ProductInLane/StaticMethod_CreateOrUpdate.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listContextMenuChildMaterial.def | 10 _Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyInputSource_MatAttrSettingAndPlanStrat.qbl | 23 _Main/BL/Type_PanelMaterialTianHua/DefaultValue_Customer.qbl | 6 _Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_Customer.qbl | 6 _Main/BL/Type_PanelMaterialSportsHealth/_ROOT_Type_PanelMaterialSportsHealth.qbl | 10 _Main/BL/Type_PanelMaterialTM17/Attribute_OrderLineID.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_MenuDeleteAll_O.def | 21 _Main/BL/Type_PanelMaterialTianHua/Attribute_ProductID.qbl | 7 _Main/BL/Type_PanelMaterialTM18/Attribute_UnitOfMeasureName.qbl | 7 _Main/UI/MacroPlannerWebApp/_ROOT_Project_MacroPlannerWebApp.qp | 2 _Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_StockingPointID.qbl | 7 _Main/BL/Type_PanelMaterialTianHua/Attribute_IsFirmed.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Component_pnlActions.def | 40 _Main/BL/Type_PanelMaterialTM17/Attribute_PriorityName.qbl | 7 _Main/BL/Type_PanelMaterialTianHua/DefaultValue_IsEligibleForNetting.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_BusinessType.qbl | 8 _Main/BL/Type_PanelMaterialSportsHealth/Attribute_IsFirmed.qbl | 7 _Main/BL/Type_PanelMaterialTM18/DefaultValue_ProductID.qbl | 6 _Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/_ROOT_Type_MatAttrSettingAndPlanStrategyInputSource.qbl | 9 _Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_StockingPointID.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Component_ListWorkOrderType.def | 59 _Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_PlanningStrategyAuto.qbl | 12 _Main/BL/Type_PanelMaterialTianHua/Attribute_OrderDate.qbl | 7 _Main/BL/Type_GlobalDTOTable/Method_RefreshPanelMaterialData.qbl | 23 _Main/BL/Type_MacroPlan/Method_MappingUnitData.qbl | 7 _Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_CurrencyID.qbl | 7 _Main/BL/Type_PanelMaterialSportsHealth/StaticMethod_ReceiveDataGeneration.qbl | 65 _Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl | 7 _Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_CustomerID.qbl | 7 _Main/BL/Type_PanelMaterialIT/Attribute_OrderID.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Component_pnlContent.def | 58 _Main/BL/Type_MacroPlan/Method_MappingProductInLaneData.qbl | 4 _Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_IsFirmed.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/Attribute_Comment.qbl | 8 _Main/BL/Type_PanelMaterialVehicle/Attribute_SalesSegmentName.qbl | 7 _Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_Quantity.qbl | 6 _Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_CustomerID.qbl | 6 _Main/BL/Type_PanelMaterialTM17/DefaultValue_CurrencyID.qbl | 7 _Main/BL/Type_PanelMaterialVehicle/DefaultValue_Price.qbl | 7 _Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_ID.qbl | 7 _Main/BL/Type_PanelMaterialTM17/Attribute_IsEligibleForNetting.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanningStrategyDataCell/Attribute_value.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Response_pnlActions_btnCancel_OnClick.def | 15 _Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonPullData_OnClick.def | 16 _Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def | 4 _Main/BL/Type_PanelMaterialTianHua/DefaultValue_CustomerID.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/_ROOT_Component_FormMaterialLabelingAndPlanningStrategy.def | 18 _Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/_ROOT_Component_FormWorkOrderType.def | 17 _Main/BL/Type_PanelMaterialTM17/Attribute_ID.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/Attribute_ProductDesc.qbl | 8 _Main/BL/Type_PanelMaterialIT/Attribute_Price.qbl | 7 _Main/BL/Type_WorkOrderType/_ROOT_Type_WorkOrderType.qbl | 9 _Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_CustomerID.qbl | 6 _Main/BL/Type_MatAttrSettingAndPlanningStrategyDataColumn/_ROOT_Type_MatAttrSettingAndPlanStrategyDataColumn.qbl | 9 _Main/BL/Type_PanelMaterialIT/Attribute_ID.qbl | 7 _Main/BL/Type_MacroPlan/Method_MappingOperationCostData.qbl | 2 _Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_SalesSegmentName.qbl | 6 _Main/BL/Type_PanelMaterialTM18/DefaultValue_IsFirmed.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/_ROOT_Type_MatAttrSettingAndPlanStrategyDataTable.qbl | 9 _Main/BL/Type_PanelMaterialVehicle/DefaultValue_IsFirmed.qbl | 7 _Main/BL/Type_PanelMaterialIT/DefaultValue_OrderLineID.qbl | 6 _Main/BL/Type_PanelMaterialAll/Attribute_ScenarioName.qbl | 7 _Main/BL/Type_PanelMaterialAll/Attribute_BusinessType.qbl | 7 _Main/BL/Type_PanelMaterialTM18/Attribute_Quantity.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXML/XMLObjectBase_column.qbl | 27 _Main/BL/Type_PanelMaterialTianHua/Attribute_SalesSegmentName.qbl | 7 _Main/UI/MacroPlanner/Component_frmStandardAnalysisGlobalOTDTable/Component_swTopMost.def | 20 _Main/BL/Type_PanelMaterialTM18/Attribute_StockingPointID.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanningStrategy/Function_CalcProductCount.qbl | 13 _Main/Sys/Integration/Structure/PanelMaterialResponseResult_to.xml | 0 _Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnUserCheck#591.def | 16 _Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_CreateOrUpdateData.qbl | 149 + _Main/BL/Type_PanelMaterialTM18/Attribute_ProductID.qbl | 7 _Main/BL/Type_PanelMaterialTM18/DefaultValue_StockingPointID.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Method_createTable.qbl | 18 _Main/BL/Type_PanelMaterialTM18/Attribute_OrderLineID.qbl | 7 _Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyDataTable_MatAttrSettingAndPlanStrateg.qbl | 26 _Main/BL/Type_PanelMaterialTianHua/Attribute_ID.qbl | 7 _Main/BL/Type_PanelMaterialTianHua/DefaultValue_OrderID.qbl | 6 _Main/BL/Type_PanelMaterialTM18/Attribute_OrderDate.qbl | 7 _Main/UI/MacroPlanner/Component_frmStandardAnalysisGlobalOTDTable/_ROOT_Component_frmStandardAnalysisGlobalOTDTable.def | 19 _Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonMaterialExportAndExport_OnCl.def | 21 _Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Component_listActionBarPageWorkOrderType.def | 10 _Main/BL/Type_PanelMaterialIT/DefaultValue_Quantity.qbl | 6 _Main/BL/Type_PanelMaterialVehicle/Attribute_OrderLineID.qbl | 7 _Main/BL/Type_PanelMaterialTM18/DefaultValue_PriorityName.qbl | 7 _Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_PriorityName.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_listActionBarPageData.def | 10 _Main/BL/Type_PanelMaterialTM17/DefaultValue_ID.qbl | 6 _Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_SynchronizeData.qbl | 17 _Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_CurrencyID.qbl | 7 _Main/BL/Type_PanelMaterialIT/Attribute_UnitOfMeasureName.qbl | 7 _Main/BL/Type_PanelMaterialIT/DefaultValue_CurrencyID.qbl | 7 _Main/BL/Type_PanelMaterialVehicle/Attribute_CurrencyID.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_deleteIfExistByMatCode.qbl | 18 _Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_ExportTheFileStream.qbl | 42 _Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuSelectAll_OnClick.def | 17 _Main/BL/Type_PanelMaterialTM18/Attribute_CurrencyID.qbl | 7 _Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_CustomerID.qbl | 6 _Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_CurrencyID.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnUserCheckedCh.def | 18 _Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_VerifyTheTemplate.qbl | 24 _Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_IsEligibleForNetting.qbl | 7 _Main/BL/Type_PanelMaterialTM17/_ROOT_Type_PanelMaterialTM17.qbl | 10 _Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Response_ListWorkOrderType_MenuCreate_OnClick.def | 18 _Main/BL/Type_PanelMaterialTM18/DefaultValue_ID.qbl | 6 _Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MaximumNumberOfDaysInInventory.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_MenuSelectAll_O.def | 17 _Main/Sys/Integration/Brokers/PanelMaterialResponseResult.xml | 0 _Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/ContentMapperProcessor_ContentMapperRequest.qbl | 8 _Main/BL/Type_PanelMaterialVehicle/Attribute_OrderDate.qbl | 7 _Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategy_GlobalOTDTable_GlobalOTDTable_MatAttr.qbl | 23 _Main/BL/Type_PanelMaterialSportsHealth/Attribute_CustomerID.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanningStrategyDataColumn/Attribute_name.qbl | 7 _Main/BL/Type_PanelMaterialIT/DefaultValue_Customer.qbl | 6 _Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Attribute_base64Str.qbl | 7 _Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_StockingPointID.qbl | 7 _Main/BL/Type_PanelMaterialTM18/Attribute_OrderID.qbl | 7 _var/_Main/ModelSettings/Common/Development/_ROOT_Role_Development.properties | 46 _Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonSynchronizeInventoryTargets_.def | 28 _Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Attribute_userName.qbl | 7 _Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_IsExcludedFromFulfillmentKPIUser.qbl | 7 _Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_ID.qbl | 6 _Main/BL/Type_PanelMaterialTianHua/DefaultValue_UnitOfMeasureName.qbl | 7 _Main/UI/MacroPlanner/Component_FormProducts/_ROOT_Component_FormProducts.def | 10 _Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXMLHeaders/XMLElementId_QuintiqType.qbl | 7 _Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/_ROOT_IntegratorConfig_PanelMaterialRestServer.qbl | 6 _Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/StaticMethod_upload.qbl | 24 _Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_SalesSegmentName.qbl | 6 _Main/BL/Type_PanelMaterialVehicle/DefaultValue_IsEligibleForNetting.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_GeneratesTheSpecifiedXMLColumn.qbl | 23 _Main/BL/Type_PanelMaterialVehicle/Attribute_ID.qbl | 7 _Main/BL/Type_GlobalDTOTable/Method_ReceivingPanelMaterials.qbl | 92 _Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/StaticMethod_expectedHeaders.qbl | 23 _Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_Quantity.qbl | 6 _Main/BL/Type_PanelMaterialTM17/DefaultValue_UnitOfMeasureName.qbl | 7 _Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_Quantity.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Response_pnlGeneral_ddslMaterialPlanningPolicyChanges_OnCreated.def | 26 _Main/BL/Type_PanelMaterialAutomotiveElectronics/StaticMethod_ReceiveDataGeneration.qbl | 65 _Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_ID.qbl | 6 _Main/BL/Type_PanelMaterialVehicle/DefaultValue_StockingPointID.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_FlagLongTerm.qbl | 12 _Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MatName.qbl | 8 _Main/BL/Type_PanelMaterialTM18/DefaultValue_CurrencyID.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Response_ListWorkOrderType_MenuSelectAll_OnClick.def | 17 _Main/BL/Type_PanelMaterialVehicle/DefaultValue_PriorityName.qbl | 7 _Main/BL/Type_PanelMaterialTM17/Attribute_CustomerID.qbl | 7 _Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_StockingPointID.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Component_pnlGeneral.def | 133 + _var/_Main/ModelSettings/Common/Dev-21/_ROOT_Role_Dev-21.properties | 532 ++++ _Main/BL/Type_PanelMaterialIT/DefaultValue_CustomerID.qbl | 6 _Main/BL/Type_PanelMaterialTM17/DefaultValue_Price.qbl | 7 _Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_Price.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_delete.qbl | 14 _Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_ListData.def | 59 _Main/BL/Type_PanelMaterialTianHua/Attribute_IsExcludedFromFulfillmentKPIUser.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Component_pnlContent.def | 36 _Main/BL/Type_PanelMaterialTianHua/DefaultValue_IsFirmed.qbl | 7 _Main/BL/Type_PanelMaterialTianHua/Attribute_UnitOfMeasureName.qbl | 7 _Main/BL/Type_PanelMaterialSpecializedDisplay/_ROOT_Type_PanelMaterialSpecializedDisplay.qbl | 10 _Main/BL/Type_PanelMaterialSportsHealth/Attribute_SalesSegmentName.qbl | 7 _Main/BL/Type_PanelMaterialTM17/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanningStrategyDataCell/_ROOT_Type_MatAttrSettingAndPlanStrategyDataCell.qbl | 9 _Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_ListChildMaterial.def | 42 _Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_OrderLineID.qbl | 6 _Main/BL/Type_MacroPlan/Method_MappingOperationData.qbl | 19 _Main/BL/Relations/Relation_PanelMaterialTianHua_PanelMaterialAll_PanelMaterialAll_PanelMateria.qbl | 23 _Main/BL/Type_PanelMaterialTM17/Attribute_Quantity.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_FlagGeneric.qbl | 12 _Main/BL/Type_PanelMaterialTM18/DefaultValue_OrderLineID.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/_ROOT_Component_DialogCreateEditMaterialLabelingAndPlanningStrategy.def | 31 _Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_StockingPointID.qbl | 7 _Main/BL/Type_PanelMaterialTianHua/DefaultValue_SalesSegmentName.qbl | 6 _Main/UI/MacroPlanner/Component_FormProducts/Response_TIANMA_JITUAN_ListProduct_MenuConvertToPanelMaterial_OnClick.def | 14 _Main/BL/Type_PanelMaterialIT/Attribute_IsEligibleForNetting.qbl | 7 _Main/BL/Relations/Relation_PanelMaterialAutomotiveElectronics_PanelMaterialAll_PanelMaterialAl.qbl | 23 _Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXML/XMLObjectBase_cell.qbl | 17 _Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_ProductID.qbl | 7 _Main/BL/Type_PanelMaterialTM17/DefaultValue_OrderLineID.qbl | 6 _Main/BL/Type_PanelMaterialTM18/_ROOT_Type_PanelMaterialTM18.qbl | 10 _Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Component_pnlContent.def | 15 _Main/BL/Type_PanelMaterialTM17/StaticMethod_ReceiveDataGeneration.qbl | 65 _Main/BL/Type_PanelMaterialTM17/Attribute_IsExcludedFromFulfillmentKPIUser.qbl | 7 _Main/BL/Type_PanelMaterialTM17/Attribute_OrderDate.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXMLHeaders/XMLElementId_Key.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MatType.qbl | 8 _Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_OrderID.qbl | 6 _Main/BL/Type_PanelMaterialVehicle/Attribute_Price.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Response_pnlActions_btnOk_OnClick.def | 48 _Main/BL/Type_PanelMaterialTM17/Attribute_Price.qbl | 7 _Main/BL/Type_PanelMaterial/Attribute_MaterialDescription.qbl | 8 _Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_Price.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXML/XMLElementId_Key.qbl | 7 _Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/MessageEnhancerProcessor_MessageHeaderEnhancerProcessor.qbl | 25 _Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialOperationButton.def | 15 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Response_pnlContent_ddslPanelModel_OnCreated.def | 22 _Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_Price.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Attribute_isXlsx.qbl | 7 _Main/BL/Type_PanelMaterialIT/Attribute_OrderDate.qbl | 7 _Main/BL/Type_PanelMaterialTM17/Attribute_IsFirmed.qbl | 7 _Main/BL/Type_PanelMaterialTianHua/DefaultValue_Price.qbl | 7 _Main/BL/Relations/Relation_PanelMaterialAll_GlobalOTDTable_GlobalOTDTable_PanelMaterialAll.qbl | 23 _Main/BL/Type_PanelMaterialIT/DefaultValue_OrderID.qbl | 6 _Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_ProductID.qbl | 6 _Main/BL/Type_PanelMaterialSportsHealth/Attribute_CurrencyID.qbl | 7 _Main/BL/Type_PanelMaterialSportsHealth/Attribute_IsEligibleForNetting.qbl | 7 _Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_Quantity.qbl | 7 _Main/BL/Type_PanelMaterialTianHua/DefaultValue_Quantity.qbl | 6 _Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_PriorityName.qbl | 7 _Main/BL/Type_PanelMaterialTianHua/DefaultValue_OrderLineID.qbl | 6 _Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_IsFirmed.qbl | 7 _Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_VerificationData.qbl | 25 _Main/Sys/Integration/Mapping/PanelMaterialResponseResult.xml | 0 _Main/BL/Type_PanelMaterialSportsHealth/Attribute_Quantity.qbl | 7 _Main/BL/Type_PanelMaterialTM18/DefaultValue_CustomerID.qbl | 6 _Main/BL/Relations/Relation_PanelMaterialSportsHealth_PanelMaterialAll_PanelMaterialAll_PanelMa.qbl | 23 _Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_ID.qbl | 6 _Main/BL/Type_PanelMaterialSpecializedDisplay/StaticMethod_ReceiveDataGeneration.qbl | 65 _Main/BL/Type_PanelMaterialTM18/DefaultValue_UnitOfMeasureName.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Response_ListWorkOrderType_MenuDelete_OnClick.def | 18 _Main/BL/Type_MacroPlan/Method_InitialUnitAndStockingPoint.qbl | 2 _Main/BL/Type_PanelMaterialTM18/StaticMethod_ReceiveDataGeneration.qbl | 65 _Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_Price.qbl | 7 _Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_Customer.qbl | 6 _Main/BL/Type_PanelMaterialIT/StaticMethod_ReceiveDataGeneration.qbl | 65 _Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_ProductID.qbl | 6 _Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/ContentMapperProcessor_ContentMapperReponse#1.qbl | 9 _Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_PlanningStrategyCustom.qbl | 8 _Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_ID.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_PanelFunctionButtons.def | 60 _Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXML/XMLElementId_QuintiqType.qbl | 7 _Main/BL/Type_PanelMaterialTM18/DefaultValue_Quantity.qbl | 6 _Main/BL/Type_PanelMaterialVehicle/DefaultValue_UnitOfMeasureName.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Method_New.def | 14 _Main/BL/Type_PanelMaterialTM17/DefaultValue_PriorityName.qbl | 7 _Main/BL/Type_PanelMaterialTM17/Attribute_CurrencyID.qbl | 7 _Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_ProductID.qbl | 7 _Main/BL/Type_PanelMaterialSportsHealth/Attribute_OrderDate.qbl | 7 _Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_PriorityName.qbl | 7 _Main/BL/Type_PanelMaterial/StaticMethod_Send.qbl | 37 506 files changed, 7,315 insertions(+), 98 deletions(-) diff --git a/_Main/BL/ConfigTemplates.properties b/_Main/BL/ConfigTemplates.properties index aeac723..5ff9151 100644 --- a/_Main/BL/ConfigTemplates.properties +++ b/_Main/BL/ConfigTemplates.properties @@ -115,7 +115,11 @@ domainmodel.historicaltransactioncontrol=template:domainmodel.historicaltransactioncontrol domainmodel.httphandlergroupdefinition.quantus=template:domainmodel.httphandlergroupdefinition domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint=template:domainmodel.integratorconfig.dsendpoint +domainmodel.integratorconfig.quintiqendpoint.jtmbrestserver_quintiqendpoint=template:domainmodel.integratorconfig.quintiqendpoint +domainmodel.integratorconfig.quintiqendpoint.panelmaterialrestserver_quintiqendpoint=template:domainmodel.integratorconfig.quintiqendpoint domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint=template:domainmodel.integratorconfig.quintiqendpoint +domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver=template:domainmodel.integratorconfig.restendpoint +domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial=template:domainmodel.integratorconfig.restendpoint domainmodel.mdsstoragedefinitionmanager=template:domainmodel.mdsstoragedefinitionmanager domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients=template:domainmodel.soapclientinterfacedefinition domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces=template:domainmodel.soapclientinterfacedefinition diff --git a/_Main/BL/EDI/Broker_Broker_OTD_Product.qbl b/_Main/BL/EDI/Broker_Broker_OTD_Product.qbl index 3da4e20..15ca8ab 100644 --- a/_Main/BL/EDI/Broker_Broker_OTD_Product.qbl +++ b/_Main/BL/EDI/Broker_Broker_OTD_Product.qbl @@ -38,6 +38,7 @@ OthersMayFlushTable: true OthersMayInsertRow: true Parameters: '/owner="TIANMA"' + PrimaryKeyColumns: BUSINESSTYPE PrimaryKeyColumns: ID RecordModificationHintStrategy: 'None' EDIODBCLinkColumn BUSINESSTYPE diff --git a/_Main/BL/InfoMessages.qbl b/_Main/BL/InfoMessages.qbl new file mode 100644 index 0000000..d3fc0df --- /dev/null +++ b/_Main/BL/InfoMessages.qbl @@ -0,0 +1,5 @@ +Quintiq file version 2.0 +#parent: #root +InfoMessages id:#InfoMessages #extension +{ +} diff --git "a/_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/ContentMapperProcessor_ContentMapperReponse\0431.qbl" "b/_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/ContentMapperProcessor_ContentMapperReponse\0431.qbl" new file mode 100644 index 0000000..3692157 --- /dev/null +++ "b/_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/ContentMapperProcessor_ContentMapperReponse\0431.qbl" @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#parent: #root +ContentMapperProcessor ContentMapperReponse +{ + DefaultMappingName: 'PanelMaterialResponseResult' + PosX: 330 + PosY: 450 + ReplyChannelOutputs: QuintiqEndpoint +} diff --git a/_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/ContentMapperProcessor_ContentMapperRequest.qbl b/_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/ContentMapperProcessor_ContentMapperRequest.qbl new file mode 100644 index 0000000..959d606 --- /dev/null +++ b/_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/ContentMapperProcessor_ContentMapperRequest.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +ContentMapperProcessor ContentMapperRequest +{ + PosX: 430 + PosY: 200 + RequestChannelInputs: QuintiqEndpoint +} diff --git a/_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/MessageEnhancerProcessor_MessageHeaderEnhancerProcessor.qbl b/_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/MessageEnhancerProcessor_MessageHeaderEnhancerProcessor.qbl new file mode 100644 index 0000000..28845d0 --- /dev/null +++ b/_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/MessageEnhancerProcessor_MessageHeaderEnhancerProcessor.qbl @@ -0,0 +1,25 @@ +Quintiq file version 2.0 +#parent: #root +MessageEnhancerProcessor MessageHeaderEnhancerProcessor +{ + PosX: 205 + PosY: 200 + RequestChannelInputs: ContentMapperRequest + MessageEnhancerSet + { + Property: '_QI.IsRequest' + Type: 'String' + } + MessageEnhancerSet + { + Property: '_QI.Method' + Type: 'String' + Value: 'ReceivingPanelMaterials' + } + MessageEnhancerSet + { + Property: '_QI.Type' + Type: 'String' + Value: 'GlobalOTDTable' + } +} diff --git a/_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/QuintiqEndpoint_QuintiqEndpoint.qbl b/_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/QuintiqEndpoint_QuintiqEndpoint.qbl new file mode 100644 index 0000000..3c79c51 --- /dev/null +++ b/_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/QuintiqEndpoint_QuintiqEndpoint.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +QuintiqEndpoint QuintiqEndpoint +{ + PosX: 605 + PosY: 325 + SettingsEngineLink: 'domainmodel.integratorconfig.quintiqendpoint.panelmaterialrestserver_quintiqendpoint' +} diff --git a/_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/RestEndpoint_RestEndpointPanelMaterial.qbl b/_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/RestEndpoint_RestEndpointPanelMaterial.qbl new file mode 100644 index 0000000..de114e4 --- /dev/null +++ b/_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/RestEndpoint_RestEndpointPanelMaterial.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#parent: #root +RestEndpoint RestEndpointPanelMaterial +{ + PosX: 30 + PosY: 325 + ReplyChannelOutputs: ContentMapperReponse + RequestChannelInputs: MessageHeaderEnhancerProcessor + SettingsEngineLink: 'domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial' +} diff --git a/_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/_ROOT_IntegratorConfig_PanelMaterialRestServer.qbl b/_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/_ROOT_IntegratorConfig_PanelMaterialRestServer.qbl new file mode 100644 index 0000000..b91eb27 --- /dev/null +++ b/_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/_ROOT_IntegratorConfig_PanelMaterialRestServer.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#root +#parent: #root +IntegratorConfig PanelMaterialRestServer +{ +} diff --git a/_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyDataColumn_MatAttrSettingAndPlanStrate.qbl b/_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyDataColumn_MatAttrSettingAndPlanStrate.qbl new file mode 100644 index 0000000..a723b60 --- /dev/null +++ b/_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyDataColumn_MatAttrSettingAndPlanStrate.qbl @@ -0,0 +1,26 @@ +Quintiq file version 2.0 +#parent: #root +Relation MatAttrSettingAndPlanStrategyDataColumn_MatAttrSettingAndPlanStrategyDataCell_MatAttrSettingAndPlanStrategyDataCell_MatAttrSettingAndPlanStrategyDataColumn +{ + #keys: '1[414384.0.763764789]' + ProceduralSequenceRelationStrategy + { + #keys: '13[0.0.0][414384.0.763764811][414384.0.763764805][414384.0.763764812][414384.0.763764806][414384.0.763764813][414384.0.763764807][414384.0.763764814][414384.0.763764808][414384.0.763764815][414384.0.763764809][414384.0.763764816][414384.0.763764810]' + SequenceElementSuffix: 'CellInColumn' + SequenceSuffix: 'CellInColumn' + } + RelationSide.LeftSide MatAttrSettingAndPlanStrategyDataCell + { + #keys: '3[414384.0.763764791][414384.0.763764790][414384.0.763764792]' + Cardinality: '1toN' + ObjectDefinition: MatAttrSettingAndPlanStrategyDataColumn + OwningSide: 'Owned' + } + RelationSide.RightSide MatAttrSettingAndPlanStrategyDataColumn + { + #keys: '3[414384.0.763764794][414384.0.763764793][414384.0.763764795]' + Cardinality: '0to1' + ObjectDefinition: MatAttrSettingAndPlanStrategyDataCell + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyDataRow_MatAttrSettingAndPlanStrategyD.qbl b/_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyDataRow_MatAttrSettingAndPlanStrategyD.qbl new file mode 100644 index 0000000..ccedde2 --- /dev/null +++ b/_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyDataRow_MatAttrSettingAndPlanStrategyD.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation MatAttrSettingAndPlanStrategyDataRow_MatAttrSettingAndPlanStrategyDataCell_MatAttrSettingAndPlanStrategyDataCell_MatAttrSettingAndPlanStrategyDataRow +{ + #keys: '1[414384.0.763764825]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide MatAttrSettingAndPlanStrategyDataCell + { + #keys: '3[414384.0.763764827][414384.0.763764826][414384.0.763764828]' + Cardinality: '1toN' + ObjectDefinition: MatAttrSettingAndPlanStrategyDataRow + OwningSide: 'Reference' + } + RelationSide.RightSide MatAttrSettingAndPlanStrategyDataRow + { + #keys: '3[414384.0.763764830][414384.0.763764829][414384.0.763764831]' + Cardinality: '0to1' + ObjectDefinition: MatAttrSettingAndPlanStrategyDataCell + OwningSide: 'Reference' + } +} diff --git "a/_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyDataTable_MatAttrSettingAndPlanStr\043458.qbl" "b/_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyDataTable_MatAttrSettingAndPlanStr\043458.qbl" new file mode 100644 index 0000000..7f1d910 --- /dev/null +++ "b/_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyDataTable_MatAttrSettingAndPlanStr\043458.qbl" @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation MatAttrSettingAndPlanStrategyDataTable_MatAttrSettingAndPlanStrategyDataRow_MatAttrSettingAndPlanStrategyDataRow_MatAttrSettingAndPlanStrategyDataTable +{ + #keys: '1[414384.0.763764737]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide MatAttrSettingAndPlanStrategyDataRow + { + #keys: '3[414384.0.763764739][414384.0.763764738][414384.0.763764740]' + Cardinality: '1toN' + ObjectDefinition: MatAttrSettingAndPlanStrategyDataTable + OwningSide: 'Owned' + } + RelationSide.RightSide MatAttrSettingAndPlanStrategyDataTable + { + #keys: '3[414384.0.763764742][414384.0.763764741][414384.0.763764743]' + Cardinality: '0to1' + ObjectDefinition: MatAttrSettingAndPlanStrategyDataRow + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyDataTable_MatAttrSettingAndPlanStrateg.qbl b/_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyDataTable_MatAttrSettingAndPlanStrateg.qbl new file mode 100644 index 0000000..b765f35 --- /dev/null +++ b/_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyDataTable_MatAttrSettingAndPlanStrateg.qbl @@ -0,0 +1,26 @@ +Quintiq file version 2.0 +#parent: #root +Relation MatAttrSettingAndPlanStrategyDataTable_MatAttrSettingAndPlanStrategyDataColumn_MatAttrSettingAndPlanStrategyDataColumn_MatAttrSettingAndPlanStrategyDataTable +{ + #keys: '1[414384.0.763764753]' + ProceduralSequenceRelationStrategy + { + #keys: '13[0.0.0][414384.0.763764775][414384.0.763764769][414384.0.763764776][414384.0.763764770][414384.0.763764777][414384.0.763764771][414384.0.763764778][414384.0.763764772][414384.0.763764779][414384.0.763764773][414384.0.763764780][414384.0.763764774]' + SequenceElementSuffix: 'ColumnInTable' + SequenceSuffix: 'ColumnInTable' + } + RelationSide.LeftSide MatAttrSettingAndPlanStrategyDataColumn + { + #keys: '3[414384.0.763764755][414384.0.763764754][414384.0.763764756]' + Cardinality: '1toN' + ObjectDefinition: MatAttrSettingAndPlanStrategyDataTable + OwningSide: 'Owned' + } + RelationSide.RightSide MatAttrSettingAndPlanStrategyDataTable + { + #keys: '3[414384.0.763764758][414384.0.763764757][414384.0.763764759]' + Cardinality: '0to1' + ObjectDefinition: MatAttrSettingAndPlanStrategyDataColumn + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyDetail_MatAttrSettingAndPlanStrategy_M.qbl b/_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyDetail_MatAttrSettingAndPlanStrategy_M.qbl new file mode 100644 index 0000000..b1fc594 --- /dev/null +++ b/_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyDetail_MatAttrSettingAndPlanStrategy_M.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation MatAttrSettingAndPlanStrategyDetail_MatAttrSettingAndPlanStrategy_MatAttrSettingAndPlanStrategy_MatAttrSettingAndPlanStrategyDetail +{ + #keys: '1[414384.0.766881387]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide MatAttrSettingAndPlanStrategy + { + #keys: '3[414384.0.766881389][414384.0.766881388][414384.0.766881390]' + Cardinality: '0to1' + ObjectDefinition: MatAttrSettingAndPlanStrategyDetail + OwningSide: 'Reference' + } + RelationSide.RightSide MatAttrSettingAndPlanStrategyDetail + { + #keys: '3[414384.0.766881392][414384.0.766881391][414384.0.766881393]' + Cardinality: '1toN' + ObjectDefinition: MatAttrSettingAndPlanStrategy + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyInputSource_GlobalOTDTable_GlobalOTDTa.qbl b/_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyInputSource_GlobalOTDTable_GlobalOTDTa.qbl new file mode 100644 index 0000000..970e5b3 --- /dev/null +++ b/_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyInputSource_GlobalOTDTable_GlobalOTDTa.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation MatAttrSettingAndPlanStrategyInputSource_GlobalOTDTable_GlobalOTDTable_MatAttrSettingAndPlanStrategyInputSource +{ + #keys: '1[414384.0.763764705]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide GlobalOTDTable + { + #keys: '3[414384.0.763764707][414384.0.763764706][414384.0.763764708]' + Cardinality: '0to1' + ObjectDefinition: MatAttrSettingAndPlanStrategyInputSource + OwningSide: 'Reference' + } + RelationSide.RightSide MatAttrSettingAndPlanStrategyInputSource + { + #keys: '3[414384.0.763764710][414384.0.763764709][414384.0.763764711]' + Cardinality: '1toN' + ObjectDefinition: GlobalOTDTable + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyInputSource_MatAttrSettingAndPlanStrat.qbl b/_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyInputSource_MatAttrSettingAndPlanStrat.qbl new file mode 100644 index 0000000..bc9b481 --- /dev/null +++ b/_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyInputSource_MatAttrSettingAndPlanStrat.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation MatAttrSettingAndPlanStrategyInputSource_MatAttrSettingAndPlanStrategyDataTable_MatAttrSettingAndPlanStrategyDataTable_MatAttrSettingAndPlanStrategyInputSource +{ + #keys: '1[414384.0.763764721]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide MatAttrSettingAndPlanStrategyDataTable + { + #keys: '3[414384.0.763764723][414384.0.763764722][414384.0.763764724]' + Cardinality: '1toN' + ObjectDefinition: MatAttrSettingAndPlanStrategyInputSource + OwningSide: 'Owned' + } + RelationSide.RightSide MatAttrSettingAndPlanStrategyInputSource + { + #keys: '3[414384.0.763764726][414384.0.763764725][414384.0.763764727]' + Cardinality: '0to1' + ObjectDefinition: MatAttrSettingAndPlanStrategyDataTable + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategy_GlobalOTDTable_GlobalOTDTable_MatAttr.qbl b/_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategy_GlobalOTDTable_GlobalOTDTable_MatAttr.qbl new file mode 100644 index 0000000..cedbcb8 --- /dev/null +++ b/_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategy_GlobalOTDTable_GlobalOTDTable_MatAttr.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation MatAttrSettingAndPlanStrategy_GlobalOTDTable_GlobalOTDTable_MatAttrSettingAndPlanStrategy +{ + #keys: '1[414384.0.763764622]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide GlobalOTDTable + { + #keys: '3[414384.0.763764624][414384.0.763764623][414384.0.763764625]' + Cardinality: '0to1' + ObjectDefinition: MatAttrSettingAndPlanStrategy + OwningSide: 'Reference' + } + RelationSide.RightSide MatAttrSettingAndPlanStrategy + { + #keys: '3[414384.0.763764627][414384.0.763764626][414384.0.763764628]' + Cardinality: '1toN' + ObjectDefinition: GlobalOTDTable + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_PanelMaterialAll_GlobalOTDTable_GlobalOTDTable_PanelMaterialAll.qbl b/_Main/BL/Relations/Relation_PanelMaterialAll_GlobalOTDTable_GlobalOTDTable_PanelMaterialAll.qbl new file mode 100644 index 0000000..f2cc83e --- /dev/null +++ b/_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' + } +} diff --git a/_Main/BL/Relations/Relation_PanelMaterialAutomotiveElectronics_PanelMaterialAll_PanelMaterialAl.qbl b/_Main/BL/Relations/Relation_PanelMaterialAutomotiveElectronics_PanelMaterialAll_PanelMaterialAl.qbl new file mode 100644 index 0000000..dfdd092 --- /dev/null +++ b/_Main/BL/Relations/Relation_PanelMaterialAutomotiveElectronics_PanelMaterialAll_PanelMaterialAl.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation PanelMaterialAutomotiveElectronics_PanelMaterialAll_PanelMaterialAll_PanelMaterialAutomotiveElectronics +{ + #keys: '1[414702.0.203680165]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide PanelMaterialAll + { + #keys: '3[414702.0.203680167][414702.0.203680166][414702.0.203680168]' + Cardinality: '0to1' + ObjectDefinition: PanelMaterialAutomotiveElectronics + OwningSide: 'Reference' + } + RelationSide.RightSide PanelMaterialAutomotiveElectronics + { + #keys: '3[414702.0.203680170][414702.0.203680169][414702.0.203680171]' + Cardinality: '1toN' + ObjectDefinition: PanelMaterialAll + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_PanelMaterialIT_PanelMaterialAll_PanelMaterialAll_PanelMaterialIT.qbl b/_Main/BL/Relations/Relation_PanelMaterialIT_PanelMaterialAll_PanelMaterialAll_PanelMaterialIT.qbl new file mode 100644 index 0000000..40a8aba --- /dev/null +++ b/_Main/BL/Relations/Relation_PanelMaterialIT_PanelMaterialAll_PanelMaterialAll_PanelMaterialIT.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation PanelMaterialIT_PanelMaterialAll_PanelMaterialAll_PanelMaterialIT +{ + #keys: '1[414702.0.203680281]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide PanelMaterialAll + { + #keys: '3[414702.0.203680283][414702.0.203680282][414702.0.203680284]' + Cardinality: '0to1' + ObjectDefinition: PanelMaterialIT + OwningSide: 'Reference' + } + RelationSide.RightSide PanelMaterialIT + { + #keys: '3[414702.0.203680286][414702.0.203680285][414702.0.203680287]' + Cardinality: '1toN' + ObjectDefinition: PanelMaterialAll + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_PanelMaterialSpecializedDisplay_PanelMaterialAll_PanelMaterialAll_P.qbl b/_Main/BL/Relations/Relation_PanelMaterialSpecializedDisplay_PanelMaterialAll_PanelMaterialAll_P.qbl new file mode 100644 index 0000000..630692f --- /dev/null +++ b/_Main/BL/Relations/Relation_PanelMaterialSpecializedDisplay_PanelMaterialAll_PanelMaterialAll_P.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation PanelMaterialSpecializedDisplay_PanelMaterialAll_PanelMaterialAll_PanelMaterialSpecializedDisplay +{ + #keys: '1[414702.0.203671496]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide PanelMaterialAll + { + #keys: '3[414702.0.203671498][414702.0.203671497][414702.0.203671499]' + Cardinality: '0to1' + ObjectDefinition: PanelMaterialSpecializedDisplay + OwningSide: 'Reference' + } + RelationSide.RightSide PanelMaterialSpecializedDisplay + { + #keys: '3[414702.0.203671501][414702.0.203671500][414702.0.203671502]' + Cardinality: '1toN' + ObjectDefinition: PanelMaterialAll + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_PanelMaterialSportsHealth_PanelMaterialAll_PanelMaterialAll_PanelMa.qbl b/_Main/BL/Relations/Relation_PanelMaterialSportsHealth_PanelMaterialAll_PanelMaterialAll_PanelMa.qbl new file mode 100644 index 0000000..08521bd --- /dev/null +++ b/_Main/BL/Relations/Relation_PanelMaterialSportsHealth_PanelMaterialAll_PanelMaterialAll_PanelMa.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation PanelMaterialSportsHealth_PanelMaterialAll_PanelMaterialAll_PanelMaterialSportsHealth +{ + #keys: '1[414702.0.203680203]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide PanelMaterialAll + { + #keys: '3[414702.0.203680205][414702.0.203680204][414702.0.203680206]' + Cardinality: '0to1' + ObjectDefinition: PanelMaterialSportsHealth + OwningSide: 'Reference' + } + RelationSide.RightSide PanelMaterialSportsHealth + { + #keys: '3[414702.0.203680208][414702.0.203680207][414702.0.203680209]' + Cardinality: '1toN' + ObjectDefinition: PanelMaterialAll + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_PanelMaterialTM17_PanelMaterialAll_PanelMaterialAll_PanelMaterialTM.qbl b/_Main/BL/Relations/Relation_PanelMaterialTM17_PanelMaterialAll_PanelMaterialAll_PanelMaterialTM.qbl new file mode 100644 index 0000000..611fa89 --- /dev/null +++ b/_Main/BL/Relations/Relation_PanelMaterialTM17_PanelMaterialAll_PanelMaterialAll_PanelMaterialTM.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation PanelMaterialTM17_PanelMaterialAll_PanelMaterialAll_PanelMaterialTM17 +{ + #keys: '1[414702.0.203671572]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide PanelMaterialAll + { + #keys: '3[414702.0.203671574][414702.0.203671573][414702.0.203671575]' + Cardinality: '0to1' + ObjectDefinition: PanelMaterialTM17 + OwningSide: 'Reference' + } + RelationSide.RightSide PanelMaterialTM17 + { + #keys: '3[414702.0.203671577][414702.0.203671576][414702.0.203671578]' + Cardinality: '1toN' + ObjectDefinition: PanelMaterialAll + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_PanelMaterialTM18_PanelMaterialAll_PanelMaterialAll_PanelMaterialTM.qbl b/_Main/BL/Relations/Relation_PanelMaterialTM18_PanelMaterialAll_PanelMaterialAll_PanelMaterialTM.qbl new file mode 100644 index 0000000..88f9dbc --- /dev/null +++ b/_Main/BL/Relations/Relation_PanelMaterialTM18_PanelMaterialAll_PanelMaterialAll_PanelMaterialTM.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation PanelMaterialTM18_PanelMaterialAll_PanelMaterialAll_PanelMaterialTM18 +{ + #keys: '1[414702.0.203680361]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide PanelMaterialAll + { + #keys: '3[414702.0.203680363][414702.0.203680362][414702.0.203680364]' + Cardinality: '0to1' + ObjectDefinition: PanelMaterialTM18 + OwningSide: 'Reference' + } + RelationSide.RightSide PanelMaterialTM18 + { + #keys: '3[414702.0.203680366][414702.0.203680365][414702.0.203680367]' + Cardinality: '1toN' + ObjectDefinition: PanelMaterialAll + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_PanelMaterialTianHua_PanelMaterialAll_PanelMaterialAll_PanelMateria.qbl b/_Main/BL/Relations/Relation_PanelMaterialTianHua_PanelMaterialAll_PanelMaterialAll_PanelMateria.qbl new file mode 100644 index 0000000..cb988d9 --- /dev/null +++ b/_Main/BL/Relations/Relation_PanelMaterialTianHua_PanelMaterialAll_PanelMaterialAll_PanelMateria.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation PanelMaterialTianHua_PanelMaterialAll_PanelMaterialAll_PanelMaterialTianHua +{ + #keys: '1[414702.0.203671469]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide PanelMaterialAll + { + #keys: '3[414702.0.203671471][414702.0.203671470][414702.0.203671472]' + Cardinality: '0to1' + ObjectDefinition: PanelMaterialTianHua + OwningSide: 'Reference' + } + RelationSide.RightSide PanelMaterialTianHua + { + #keys: '3[414702.0.203671474][414702.0.203671473][414702.0.203671475]' + Cardinality: '1toN' + ObjectDefinition: PanelMaterialAll + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_PanelMaterialVehicle_PanelMaterialAll_PanelMaterialAll_PanelMateria.qbl b/_Main/BL/Relations/Relation_PanelMaterialVehicle_PanelMaterialAll_PanelMaterialAll_PanelMateria.qbl new file mode 100644 index 0000000..97ca6e2 --- /dev/null +++ b/_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' + } +} diff --git a/_Main/BL/Relations/Relation_PanelMaterial_MacroPlan_MacroPlan_PanelMaterial.qbl b/_Main/BL/Relations/Relation_PanelMaterial_MacroPlan_MacroPlan_PanelMaterial.qbl new file mode 100644 index 0000000..fd1e173 --- /dev/null +++ b/_Main/BL/Relations/Relation_PanelMaterial_MacroPlan_MacroPlan_PanelMaterial.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation PanelMaterial_MacroPlan_MacroPlan_PanelMaterial +{ + #keys: '1[414702.0.162969760]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide MacroPlan + { + #keys: '3[414702.0.162969762][414702.0.162969761][414702.0.162969763]' + Cardinality: '0to1' + ObjectDefinition: PanelMaterial + OwningSide: 'Reference' + } + RelationSide.RightSide PanelMaterial + { + #keys: '3[414702.0.162969765][414702.0.162969764][414702.0.162969766]' + Cardinality: '1toN' + ObjectDefinition: MacroPlan + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_WorkOrderType_GlobalOTDTable_GlobalOTDTable_WorkOrderType.qbl b/_Main/BL/Relations/Relation_WorkOrderType_GlobalOTDTable_GlobalOTDTable_WorkOrderType.qbl new file mode 100644 index 0000000..2a94ff2 --- /dev/null +++ b/_Main/BL/Relations/Relation_WorkOrderType_GlobalOTDTable_GlobalOTDTable_WorkOrderType.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation WorkOrderType_GlobalOTDTable_GlobalOTDTable_WorkOrderType +{ + #keys: '1[414702.0.144781477]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide GlobalOTDTable + { + #keys: '3[414702.0.144781479][414702.0.144781478][414702.0.144781480]' + Cardinality: '0to1' + ObjectDefinition: WorkOrderType + OwningSide: 'Reference' + } + RelationSide.RightSide WorkOrderType + { + #keys: '3[414702.0.144781482][414702.0.144781481][414702.0.144781483]' + Cardinality: '1toN' + ObjectDefinition: GlobalOTDTable + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Type_ActualProductInStockingPointInPeriod/StaticMethod_CreateOrUpdate.qbl b/_Main/BL/Type_ActualProductInStockingPointInPeriod/StaticMethod_CreateOrUpdate.qbl index 0c2492f..95d364e 100644 --- a/_Main/BL/Type_ActualProductInStockingPointInPeriod/StaticMethod_CreateOrUpdate.qbl +++ b/_Main/BL/Type_ActualProductInStockingPointInPeriod/StaticMethod_CreateOrUpdate.qbl @@ -12,7 +12,7 @@ TextBody: [* // Administrator Sep-6-2023 (created) - date := Date :: Today(); + date := owner.StartOfPlanning().Date()-1; actualpispip := ActualProductInStockingPointInPeriod::FindActualProductInStockingPointInPeriodTypeIndex( productid, stockingpointid, date, manufactureddate ); if( isnull( actualpispip ) ){ @@ -25,7 +25,7 @@ manufactureddate, true); }else{ - actualpispip.Update( actualinventorylevelend, description, true ); + actualpispip.Update( actualinventorylevelend+actualpispip.ActualInventoryLevelEnd(), description, true ); } *] } diff --git a/_Main/BL/Type_CustomerOrder/StaticMethod_CreateOrUpdate.qbl b/_Main/BL/Type_CustomerOrder/StaticMethod_CreateOrUpdate.qbl index d1d98d9..e885859 100644 --- a/_Main/BL/Type_CustomerOrder/StaticMethod_CreateOrUpdate.qbl +++ b/_Main/BL/Type_CustomerOrder/StaticMethod_CreateOrUpdate.qbl @@ -27,7 +27,7 @@ product := Product_MP::FindById( macroPlan, productId ); salesSegment := SalesSegment_MP::FindByName( macroPlan, salesSegmentName ); stockingPoint := StockingPoint_MP::FindById( macroPlan, stockingPointId ); - currency := Currency_MP::FindById( macroPlan, currencyId ); + //currency := Currency_MP::FindById( macroPlan, currencyId ); unitOfMeasure := null( UnitOfMeasure_MP ) priority := null( Priority ); if( unitOfMeasureName <> "" ) { @@ -38,32 +38,32 @@ } // 妫�鏌ヤ緷璧栭」 if( isnull( product) ) { - error( "product not found" ); + info( "product not found" ); } if( isnull( salesSegment) ) { - error( "sales segment not found" ); + info( "sales segment not found" ); } if( isnull( stockingPoint) ) { - error( "stock point not found" ); + info( "stock point not found" ); } - if( isnull( currency) ) { - error( "currency not found" ); - } + //if( isnull( currency) ) { + // error( "currency not found" ); + //} if( unitOfMeasureName <> "" and isnull( unitOfMeasure) ) { - error( "unit of measure not found" ); + info( "unit of measure not found" ); } if( priorityName <> "" and isnull( stockingPoint) ) { - error( "priority not found" ); + info( "priority not found" ); } // 鏂板/鏇存柊 result := CustomerOrder::FindById( macroPlan, id ); if( isnull( result ) ) { CustomerOrder::Create( product, stockingPoint, id, orderDate, quantity, price, - priorityName, salesSegmentName, currency.Name(), unitOfMeasureName, + priorityName, salesSegmentName, currencyId, unitOfMeasureName, false, customerName, customerId, orderId, orderLineId, true, true, true ); } else { result.Update( product, stockingPoint, orderDate, quantity, price, - priorityName, salesSegmentName, currency.Name(), unitOfMeasureName, + priorityName, salesSegmentName, currencyId, unitOfMeasureName, false, customerName, customerId, orderId, orderLineId, true, true, true ); } return result; diff --git a/_Main/BL/Type_Forecast/StaticMethod_CreateOrUpdate.qbl b/_Main/BL/Type_Forecast/StaticMethod_CreateOrUpdate.qbl index 3c09ae6..a5c8eb8 100644 --- a/_Main/BL/Type_Forecast/StaticMethod_CreateOrUpdate.qbl +++ b/_Main/BL/Type_Forecast/StaticMethod_CreateOrUpdate.qbl @@ -55,7 +55,7 @@ if( isnull( result) ) { result := Forecast::Create( product, stockingPoint, id, startDate, endDate, quantity, price, - priorityName, salesSegmentName, guard( currency.Name(), "" ), unitOfMeasureName, + priorityName, salesSegmentName, currencyId, unitOfMeasureName, 0.0, false, true ); } else { result.Update( product, stockingPoint, diff --git a/_Main/BL/Type_GlobalDTOTable/Method_InitTestData.qbl b/_Main/BL/Type_GlobalDTOTable/Method_InitTestData.qbl new file mode 100644 index 0000000..6f10cf9 --- /dev/null +++ b/_Main/BL/Type_GlobalDTOTable/Method_InitTestData.qbl @@ -0,0 +1,19 @@ +Quintiq file version 2.0 +#parent: #root +Method InitTestData +{ + TextBody: + [* + //this.MatAttrSettingAndPlanStrategy( relflush ); + + // yypsybs Sep-8-2023 (created) + mat1 := MatAttrSettingAndPlanStrategy::CreateIfNotExist( this, 1, "鎵嬫満浜嬩笟閮�", "MAT_1", "MAT_1", "TYPE_1", 233.0, "閫氱敤", "闀垮懆鏈�" ); + MatAttrSettingAndPlanStrategyDetail::CreateIfNotExist( mat1, "PROD_1", 666.0, "PROD_1_DESC" ); + MatAttrSettingAndPlanStrategyDetail::CreateIfNotExist( mat1, "PROD_2", 777.0, "PROD_2_DESC" ); + mat2 := MatAttrSettingAndPlanStrategy::CreateIfNotExist( this, 2, "鎵嬫満浜嬩笟閮�", "MAT_2", "MAT_2", "TYPE_2", 233.0, "涓撶敤", "闀垮懆鏈�" ); + MatAttrSettingAndPlanStrategyDetail::CreateIfNotExist( mat2, "PROD_1", 1666.0, "PROD_1_DESC" ); + MatAttrSettingAndPlanStrategyDetail::CreateIfNotExist( mat2, "PROD_2", 1777.0, "PROD_2_DESC" ); + MatAttrSettingAndPlanStrategy::CreateIfNotExist( this, 3, "鎵嬫満浜嬩笟閮�", "MAT_3", "MAT_3", "TYPE_1", 233.0, "閫氱敤", "鐭懆鏈�" ); + MatAttrSettingAndPlanStrategy::CreateIfNotExist( this, 4, "鎵嬫満浜嬩笟閮�", "MAT_4", "MAT_4", "TYPE_2", 233.0, "涓撶敤", "鐭懆鏈�" ); + *] +} diff --git a/_Main/BL/Type_GlobalDTOTable/Method_ReceivingPanelMaterials.qbl b/_Main/BL/Type_GlobalDTOTable/Method_ReceivingPanelMaterials.qbl new file mode 100644 index 0000000..7a92a12 --- /dev/null +++ b/_Main/BL/Type_GlobalDTOTable/Method_ReceivingPanelMaterials.qbl @@ -0,0 +1,92 @@ +Quintiq file version 2.0 +#parent: #root +Method ReceivingPanelMaterials ( + NamedValueTree requestnvt +) as stream[NamedValueTree] +{ + TextBody: + [* + logfile( "--------------------------------------1------------------------------------------------" ); + nameValue := requestnvt.Root(); + + bodyHandle := requestnvt.GetHandle( "Body" ); + restHandle := requestnvt.GetHandle( "Rest" ); + restPayloadHandle := requestnvt.GetHandle( "RestPayload" ); + + bodyNameValue := nameValue.Child( bodyHandle ); + restNameValue := bodyNameValue.Child( restHandle ); + restPayloadNameValue := restNameValue.Child( restPayloadHandle ); + + businessTypeHandle := requestnvt.GetHandle( "businessType" ); + businessTypeNameValue := restPayloadNameValue.Child( businessTypeHandle ); + + businessType := businessTypeNameValue.GetValueAsString(); + + if ( businessType = "杞﹁浇" ) { + PanelMaterialVehicle::ReceiveDataGeneration( this, requestnvt ); + } else if ( businessType = "姹借溅鐢靛瓙" ) { + PanelMaterialAutomotiveElectronics::ReceiveDataGeneration( this, requestnvt ); + } else if ( businessType = "澶╁崕" ) { + PanelMaterialTianHua::ReceiveDataGeneration( this, requestnvt ); + } else if ( businessType = "杩愬姩鍋ュ悍" ) { + PanelMaterialSportsHealth::ReceiveDataGeneration( this, requestnvt ); + } else if ( businessType = "涓撴樉" ) { + PanelMaterialSpecializedDisplay::ReceiveDataGeneration( this, requestnvt ); + } else if ( businessType = "IT" ) { + PanelMaterialIT::ReceiveDataGeneration( this, requestnvt ); + } else if ( businessType = "TM17" ) { + PanelMaterialTM17::ReceiveDataGeneration( this, requestnvt ); + } else if ( businessType = "TM18" ) { + PanelMaterialTM18::ReceiveDataGeneration( this, requestnvt ); + } + + + info( "---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------" ); + + + replynvt := LibInt_MessageAccessor::CreateEmptyMessage(); + LibInt_MessageAccessor::SetHeaderProperty( replynvt, "Content-Type", "application/json" ); + + rootNamedValue := replynvt.Root(); + bodyHandle := replynvt.GetHandle( "Body" ); + petHandle := replynvt.GetHandle( "Pet" ); + bodyNamedValue := rootNamedValue.Child( bodyHandle ); + petNamedValue := bodyNamedValue.AddChild( petHandle ); + categoryHandle := replynvt.GetHandle( "Category" ); + categoryNamedValue := petNamedValue.AddChild( categoryHandle ); + categoryIDHandle := replynvt.GetHandle( "Id" ); + categoryIDNamedValue := categoryNamedValue.AddChild( categoryIDHandle ); + categoryIDNamedValue.SetValue( 3 ); + categoryNameHandle := replynvt.GetHandle( "Name" ); + categoryNameNamedValue := categoryNamedValue.AddChild( categoryNameHandle ); + categoryNameNamedValue.SetValue( "Cat" ); + petNameHandle := replynvt.GetHandle( "Name" ); + petNameValue := petNamedValue.AddChild( petNameHandle ); + petNameValue.SetValue( "Pet1" ); + petIdHandle := replynvt.GetHandle( "PetId" ); + petIdNameValue := petNamedValue.AddChild( petIdHandle ); + petIdNameValue.SetValue( 1 ); + + photoUrlHandle := replynvt.GetHandle( "PhotoUrl" ); + photoUrlNameValue := petNamedValue.AddChild( photoUrlHandle ); + urlHandle := replynvt.GetHandle( "Url" ); + photoUrlNameValue.AddChild( urlHandle, "url1" ); + + statusHandle := replynvt.GetHandle( "Status" ); + statusNameValue := petNamedValue.AddChild( statusHandle ); + statusNameValue.SetValue( "available" ); + + tagHandle := replynvt.GetHandle( "Tag" ); + tagNameValue := petNamedValue.AddChild( tagHandle ); + tagIdHandle := replynvt.GetHandle( "Id" ); + tagNameValue.AddChild( tagIdHandle, 123 ); + tagNameHandle := replynvt.GetHandle( "Name" ); + tagNameValue.AddChild( tagNameHandle, "tag1" ); + + + info( replynvt.ToString() ); + + + return emit( replynvt ); + *] +} diff --git a/_Main/BL/Type_GlobalDTOTable/Method_RefreshPanelMaterialData.qbl b/_Main/BL/Type_GlobalDTOTable/Method_RefreshPanelMaterialData.qbl new file mode 100644 index 0000000..6c98026 --- /dev/null +++ b/_Main/BL/Type_GlobalDTOTable/Method_RefreshPanelMaterialData.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Method RefreshPanelMaterialData ( + MacroPlan macroPlan +) +{ + TextBody: + [* + traverse ( macroPlan, Unit.Operation.PeriodTaskOperation, pto, true ) { + traverse ( pto, DependentDemand, dd, true ) { + product_MP := dd.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Product_MP(); + if ( product_MP.IsPanelMaterial() ) { + macroPlan.PanelMaterial( relnew, + PanelModel := product_MP.ID(), + MaterialDescription := product_MP.ID(), + StartDate := dd.Start().Date(), + DemandQuantity := dd.Quantity() + ); + } + } + } + *] +} diff --git a/_Main/BL/Type_GlobalDTOTable/StaticMethod_ReceivingPanelMaterials.qbl b/_Main/BL/Type_GlobalDTOTable/StaticMethod_ReceivingPanelMaterials.qbl new file mode 100644 index 0000000..ad3eacc --- /dev/null +++ b/_Main/BL/Type_GlobalDTOTable/StaticMethod_ReceivingPanelMaterials.qbl @@ -0,0 +1,13 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod ReceivingPanelMaterials ( + NamedValueTree requestnvt +) as stream[NamedValueTree] +{ + TextBody: + [* + MDSGlobalOTDTable::Find( DatasetFindOptions::Construct("GlobalOTDTable")) -> ( c ) { + return c.ReceivingPanelMaterials( requestnvt ); + } + *] +} diff --git a/_Main/BL/Type_InventoryValueAndCost/StaticMethod_CreateOrUpdate.qbl b/_Main/BL/Type_InventoryValueAndCost/StaticMethod_CreateOrUpdate.qbl index 4c0470e..4116cce 100644 --- a/_Main/BL/Type_InventoryValueAndCost/StaticMethod_CreateOrUpdate.qbl +++ b/_Main/BL/Type_InventoryValueAndCost/StaticMethod_CreateOrUpdate.qbl @@ -23,23 +23,27 @@ product := Product_MP::FindById( macroPlan, productId ); stockingPoint := StockingPoint_MP::FindById( macroPlan, stockingPointId ); account := Account_MP::FindByName( macroPlan, accountName ); - if( isnull( product ) ) { - error( "product not found" ); - } - if( isnull( stockingPoint ) ) { - error( "stocking point not found" ); - } - if( isnull( account ) ) { - error( "account not found" ); - } - result := InventoryValueAndCost::FindById( macroPlan, id ); - if( isnull( result ) ) { + //if( isnull( product ) ) { + // error( "product not found" ); + //} + //if( isnull( stockingPoint ) ) { + // error( "stocking point not found" ); + //} + //if( isnull( account ) ) { + // error( "account not found" ); + //} + result := InventoryValueAndCost::FindById( macroPlan, stockingPointId,productId,start,id ); + if( not isnull( product) and not isnull( stockingPoint) and not isnull( account)){ + if( isnull( result ) ) { result := InventoryValueAndCost::Create( id, product, stockingPoint, account, costDriver, start, cost, true ).astype( InventoryValueAndCost ); - } else if( result.ProductID() <> productId ) { - error( "cannot change product of inventory value and cost" ) - } else { - result.Update( account, costDriver, start, account.DefaultTimeUnit(), account.DefaultLengthOfTime(), cost, true ); + } else if( result.ProductID() <> productId ) { + info( "cannot change product of inventory value and cost" ) + } + // else { + // result.Update( account, costDriver, start, account.DefaultTimeUnit(), account.DefaultLengthOfTime(), cost, true ); + // } } + return result; *] } diff --git a/_Main/BL/Type_InventoryValueAndCost/StaticMethod_FindById.qbl b/_Main/BL/Type_InventoryValueAndCost/StaticMethod_FindById.qbl index b0dc53e..133145d 100644 --- a/_Main/BL/Type_InventoryValueAndCost/StaticMethod_FindById.qbl +++ b/_Main/BL/Type_InventoryValueAndCost/StaticMethod_FindById.qbl @@ -2,13 +2,16 @@ #parent: #root StaticMethod FindById ( MacroPlan macroPlan, + String productId, + String stockPointId, + Date start, String id ) as InventoryValueAndCost { TextBody: [* // yypsybs Aug-16-2023 (created) - value := select( macroPlan, Product_MP.InventoryValueAndCost, item, true, item.ID() = id ); + value := select( macroPlan, Product_MP.InventoryValueAndCost, item, true, item.ProductID()=productId and item.StockingPointID() = stockPointId and item.Start() = start ); return value; *] } diff --git a/_Main/BL/Type_Lane/StaticMethod_CreateLane.qbl b/_Main/BL/Type_Lane/StaticMethod_CreateLane.qbl index d78931a..64c72eb 100644 --- a/_Main/BL/Type_Lane/StaticMethod_CreateLane.qbl +++ b/_Main/BL/Type_Lane/StaticMethod_CreateLane.qbl @@ -12,7 +12,7 @@ [* // Administrator Jul-12-2023 (created) //Set default value - isenabled := false; + isenabled := true; datestart := Date::Construct(1900, 1, 1) ; dateend := Date::Construct(9999, 12, 31); standardleadtime := Duration::Zero(); diff --git a/_Main/BL/Type_MacroPlan/Method_InitialUnitAndStockingPoint.qbl b/_Main/BL/Type_MacroPlan/Method_InitialUnitAndStockingPoint.qbl index b8b0705..d030255 100644 --- a/_Main/BL/Type_MacroPlan/Method_InitialUnitAndStockingPoint.qbl +++ b/_Main/BL/Type_MacroPlan/Method_InitialUnitAndStockingPoint.qbl @@ -11,7 +11,7 @@ currencyid := "CNY"; startdate := Date::Date( 1900, 1, 1 ); enddate := Date::Date( 9999, 12, 31 ); - capacitytype := "Infinite"; + capacitytype := "Transport quantity"; if( isnull( Unit::FindById( this, "绌鸿繍" ) ) ){ this.Unit( relnew, diff --git a/_Main/BL/Type_MacroPlan/Method_MappingActualPISPIPData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingActualPISPIPData.qbl index 87cbdf3..f9cd042 100644 --- a/_Main/BL/Type_MacroPlan/Method_MappingActualPISPIPData.qbl +++ b/_Main/BL/Type_MacroPlan/Method_MappingActualPISPIPData.qbl @@ -9,7 +9,7 @@ [* // renhao Aug-14-2023 (created) date := Date :: Today(); - listtodeal := selectset( this,MappingActualPISPIP,actual,not isnull( Product_MP::FindById( this, actual.ProductID() ) ) ); + listtodeal := selectset( this,MappingActualPISPIP,actual,true ); totalcount := listtodeal.Size(); info( "ActualPISPIP has " + totalcount.AsQUILL() + " rows in total" ); diff --git a/_Main/BL/Type_MacroPlan/Method_MappingExternalSupplyData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingExternalSupplyData.qbl index 7295bad..ea2ad61 100644 --- a/_Main/BL/Type_MacroPlan/Method_MappingExternalSupplyData.qbl +++ b/_Main/BL/Type_MacroPlan/Method_MappingExternalSupplyData.qbl @@ -9,15 +9,14 @@ [* // renhao Aug-14-2023 (created) - listtodeal := selectset( this,MappingExternalSupply,externalSupply, - not isnull( StockingPoint_MP::FindById( this, externalSupply.StockingPointID() ) ) and not isnull( Product_MP::FindById( this, externalSupply.ProductID() ) ) ); + listtodeal := selectset( this,MappingExternalSupply,externalSupply, true ); totalcount := listtodeal.Size(); info( "ExternalSupply has " + totalcount.AsQUILL() + " rows in total" ); count := 0; traverse( listtodeal,Elements,externalSupply){ count := count + 1; - if( count - [Number](count/100) * 100 = 0 or count = totalcount ){ + if( count - [Number](count/1000) * 1000 = 0 or count = totalcount ){ info( "Now is dealing with the " + count.AsQUILL() + "ExternalSupply " + "( " + count.AsQUILL() + "/" + totalcount.AsQUILL() + " ) " + (count/totalcount*100).Round( 1 ).AsQUILL() + "%" ); } product := select( this,MappingProduct,product,product.ID() = externalSupply.ProductID() and product.KeyProduct() = nuclear,true); diff --git a/_Main/BL/Type_MacroPlan/Method_MappingInventoryValueAndCostData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingInventoryValueAndCostData.qbl index 2138aae..0789263 100644 --- a/_Main/BL/Type_MacroPlan/Method_MappingInventoryValueAndCostData.qbl +++ b/_Main/BL/Type_MacroPlan/Method_MappingInventoryValueAndCostData.qbl @@ -5,23 +5,26 @@ TextBody: [* // yypsybs Aug-15-2023 (created) - listtodeal := selectset( this,MappingInventoryValueAndCost,item,not isnull( Product_MP::FindById( this, item.ProductID() ) ), not isnull( StockingPoint_MP::FindById( this, item.StockingPointID() ) ) ); + listtodeal := selectset( this,MappingInventoryValueAndCost,item,true ); totalcount := listtodeal.Size(); + info( "InventoryCost has " + totalcount.AsQUILL() + " rows in total" ); count := 0; traverse( listtodeal, Elements, item ) { - count := count + 1; - if( count - [Number](count/100) * 100 = 0 or count = totalcount ){ - info( "Now is dealing with the " + count.AsQUILL() + "InventoryCost " + "( " + count.AsQUILL() + "/" + totalcount.AsQUILL() + " ) " + (count/totalcount*100).Round( 1 ).AsQUILL() + "%" ); + count := count + 1; + if( count - [Number](count/1000) * 1000 = 0 or count = totalcount ){ + info( "Now is dealing with the " + count.AsQUILL() + "InventoryCost " + "( " + count.AsQUILL() + "/" + totalcount.AsQUILL() + " ) " + (count/totalcount*100).Round( 1 ).AsQUILL() + "%" ); } - if( not isnull( Product_MP::FindById( this, item.ProductID() ) ) ){ - InventoryValueAndCost::CreateOrUpdate( this, item.ID(), item.ProductID(), + + InventoryValueAndCost::CreateOrUpdate( this, item.ID(), item.ProductID(), item.StockingPointID(), - item.AccountName(), item.CostDriver(), item.Start(), item.Cost() ); - }else{ - info( "invaild product: " + item.ProductID().AsQUILL() ); - } + item.AccountName(), item.CostDriver(), item.Start(), item.Cost()); + // if( not isnull( Product_MP::FindProductTypeIndex( item.ProductID() ) ) and not isnull( StockingPoint_MP :: FindStockingPointTypeIndex( item.StockingPointID()))){ + // + // }else{ + // info( "invaild product: " + item.ProductID().AsQUILL() ); + // } } *] } diff --git a/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMData.qbl index 93b5707..892f5ef 100644 --- a/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMData.qbl +++ b/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMData.qbl @@ -17,7 +17,8 @@ bomList := selectsortedset( this, MappingBOM, item, ifexpr( isnull( businessTypes ) or businessTypes.Size() = 0, true, - businessTypes.Difference( businessTypes.Difference( item.BusinessType().Tokenize( ", " ) ) ).Size() > 0 ) + // businessTypes.Difference( businessTypes.Difference( item.BusinessType().Tokenize( ", " ) ) ).Size() > 0 ) + businessTypes.Find( item.BusinessType() ) >= 0 ) and ifexpr( isKeyProduct, keyProductList.Size() > 0 and keyProductList.Find( item.ComponentCode() ) >= 0, true ), @@ -28,19 +29,19 @@ routingRows := selectset( bomList, Elements, item, true, routingId = item.OrganCode() + "_" + item.ProductCode() ); if( routingRows.Size() > 0 ) { firstRow := routingRows.Element( 0 ); - stockingPointId := firstRow.OrganCode() + "_" + firstRow.ProductType() + "_STOCK"; - inputStockingPointId := firstRow.OrganCode() + "_" + firstRow.ComponentType() + "_STOCK"; + stockingPointId := firstRow.OrganCode() + "_" + firstRow.ProductType() + "_Stock"; + inputStockingPointId := firstRow.OrganCode() + "_" + firstRow.ComponentType() + "_Stock"; // ========妫�鏌�======== - product := Product_MP::FindById( this, firstRow.ProductCode() ); + product := Product_MP::FindProductTypeIndex( firstRow.ProductCode() ); if( not isnull( product ) ) { // error( "product : " + firstRow.ProductCode() + " not found" ); - stockingPoint := StockingPoint_MP::FindById( this, stockingPointId ); - inputStockingPoint := StockingPoint_MP::FindById( this, inputStockingPointId ); + stockingPoint := StockingPoint_MP::FindStockingPointTypeIndex( stockingPointId ); + inputStockingPoint := StockingPoint_MP::FindStockingPointTypeIndex( inputStockingPointId ); // info( stockingPointId.AsQUILL() ); // if( isnull( stockingPoint ) ) { // error( "stockingPoint : " + stockingPointId + " not found" ); // } - routing := Routing::FindById( this, routingId ); + routing := Routing::FindRoutingTypeIndex( routingId ); if( not isnull( routing ) ) { // error( "routing : " + routingId + " not found" ); // ========澶勭悊杈撳嚭======== diff --git "a/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMDataRouting\043576.qbl" "b/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMDataRouting\043576.qbl" index 03a3858..059c6c9 100644 --- "a/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMDataRouting\043576.qbl" +++ "b/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMDataRouting\043576.qbl" @@ -67,7 +67,7 @@ alterProd := Product_MP::FindById( this, alterRow.AlternativeMaterialCode() ); if( not isnull( alterProd ) ) { // error( "alterProd : " + alterRow.AlternativeMaterialCode() + " not found" ); - stockingPointIdAlter := alterRow.OrganCode() + "_" + alterRow.ProductType() + "_STOCK"; + stockingPointIdAlter := alterRow.OrganCode() + "_" + alterRow.ProductType() + "_Stock"; stockingPointAlter := StockingPoint_MP::FindById( this, stockingPointIdAlter ); if( isnull( stockingPointAlter ) ) { error( "stockingPoint : " + stockingPointIdAlter + " not found" ); diff --git a/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMDataSupplyPurchase.qbl b/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMDataSupplyPurchase.qbl index ab499a8..6a24698 100644 --- a/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMDataSupplyPurchase.qbl +++ b/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMDataSupplyPurchase.qbl @@ -18,28 +18,35 @@ routingStep := RoutingStep::Create( routing, routingStepName, "", true ); product := Product_MP::FindById( this, productId ); if( isnull( product ) ) { - error( "product : " + productId + " not found" ); + info( "product : " + productId + " not found" ); } stockingPointId := orgCode + "_" + productType + "_Stock"; stockingPoint := StockingPoint_MP::FindById( this, stockingPointId ); if( isnull( stockingPoint ) ) { - error( "stockingPoint : " + stockingPointId + " not found" ); + info( "stockingPoint : " + stockingPointId + " not found" ); } - unit := Unit::FindById( this, unitId ); - if( isnull( unit ) ) { + + if( not isnull( product) and not isnull( stockingPoint)){ + unit := Unit::FindById( this, unitId ); + if( isnull( unit ) ) { unit := this.Unit( relnew, ID := unitId, Name := unitId, CapacityType := "Infinite", DefaultGridX := 0, DefaultGridY := 0, IsManuallyConfigured := false, Currency_MP := this.BaseCurrency(), UnitOfMeasure_MP := this.DefaultUnitOfMeasure() ); - } + } // Operation - operation := Operation::Create( operationId, unit, operationId, routingStep, + operation := Operation::FindOperationTypeIndex( operationId); + if( isnull( operation)){ + operation := Operation::Create( operationId, unit, operationId, routingStep, Duration::Zero(), Duration::Zero(), 1.0, false, Real::MinReal(), false, Real::MaxReal(), 0.0, 0.0, false, true ); // OperaionBom - operation.CreateOperationBOM( product, stockingPoint, false, true ); - operation.GetOperationBOM( product.ID(), stockingPoint.ID(), false ).Quantity( 1 ); + operation.CreateOperationBOM( product, stockingPoint, false, true ); + operation.GetOperationBOM( product.ID(), stockingPoint.ID(), false ).Quantity( 1 ); + } + + } *] } diff --git a/_Main/BL/Type_MacroPlan/Method_MappingOperationCostData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingOperationCostData.qbl index 3a315d0..98be129 100644 --- a/_Main/BL/Type_MacroPlan/Method_MappingOperationCostData.qbl +++ b/_Main/BL/Type_MacroPlan/Method_MappingOperationCostData.qbl @@ -38,7 +38,7 @@ // Get the operation cost data traverse( listtodealwithmaxsn, Elements, item ){ count := count + 1; - if( count - [Number](count/100) * 100 = 0 or count = totalcount ){ + if( count - [Number](count/1000) * 1000 = 0 or count = totalcount ){ info( "Now is dealing with the " + count.AsQUILL() + "OperationCost " + "( " + count.AsQUILL() + "/" + totalcount.AsQUILL() + " ) " + (count/totalcount*100).Round( 1 ).AsQUILL() + "%" ); } id := item.OrganCode() + "_" + item.ProductID() + "_" + item.ProcessSection() + "_" + item.Line(); diff --git a/_Main/BL/Type_MacroPlan/Method_MappingOperationData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingOperationData.qbl index a3a19ed..07e9838 100644 --- a/_Main/BL/Type_MacroPlan/Method_MappingOperationData.qbl +++ b/_Main/BL/Type_MacroPlan/Method_MappingOperationData.qbl @@ -11,8 +11,8 @@ toDealList := construct( MappingOperations ); if( not isnull( businessTypes ) and businessTypes.Size() > 0 ) { toDealList := selectsortedset( this, MappingOperation, item, - // businessTypes.Find( item.BusinessType() ) >= 0, - businessTypes.Difference( businessTypes.Difference( item.BusinessType().Tokenize( ", " ) ) ).Size() > 0, + businessTypes.Find( item.BusinessType() ) >= 0, + // businessTypes.Difference( businessTypes.Difference( item.BusinessType().Tokenize( ", " ) ) ).Size() > 0, item.SequenceNumber() ); } else { toDealList := selectsortedset( this, MappingOperation, item, @@ -26,7 +26,7 @@ routingId := item.OrganCode() + "_" + item.ProductID(); unitId := item.OrganCode() + "_" + item.PlantName() + "_" + item.ProcessSection(); routingStepName := item.ProcessSection() + "_" + [String]item.SequenceNumber(); - operationId := item.OrganCode() + "_" + item.ProductID() + "_" + item.ProcessSection(); + operationId := item.OrganCode() + "_" + item.ProductID() + "_" + item.ProcessSection()+"_" + [String]item.SequenceNumber(); // info( "========" ) // info( "routingId:" + routingId ); // info( "unitId:" + unitId ); @@ -51,15 +51,16 @@ if( isnull( routingStep ) ) { routingStep := RoutingStep::Create( routing, routingStepName, "", true ); } - // UnitOfMeasure - unitOfMeasure := UnitOfMeasure_MP::FindByName( this, item.UnitOfMeasureName() ); - if( isnull( unitOfMeasure ) ) { - error( "unit of measure [" + item.UnitOfMeasureName() + "] not found for routing [" + routingId + "]" ); - } + // Unit unit := Unit::FindById( this, unitId ); if( isnull( unit ) ) { - unit := this.Unit( relnew, + // UnitOfMeasure + unitOfMeasure := UnitOfMeasure_MP::FindByName( this, item.UnitOfMeasureName() ); + if( isnull( unitOfMeasure ) ) { + info( "unit of measure [" + item.UnitOfMeasureName() + "] not found for routing [" + routingId + "]" ); + } + unit := this.Unit( relnew, ID := unitId, Name := unitId, CapacityType := "Infinite", DefaultGridX := 0, DefaultGridY := 0, IsManuallyConfigured := false, diff --git a/_Main/BL/Type_MacroPlan/Method_MappingProductData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingProductData.qbl index cb6a99d..fa5aa3b 100644 --- a/_Main/BL/Type_MacroPlan/Method_MappingProductData.qbl +++ b/_Main/BL/Type_MacroPlan/Method_MappingProductData.qbl @@ -22,10 +22,10 @@ } } else { if( iskeyproduct = true ){ - listToDeal := selectset( this, MappingProduct, item, item.KeyProduct() = true, businesstypes.Difference( businesstypes.Difference( item.BusinessType().Tokenize( ", " ) ) ).Size() > 0 ); + listToDeal := selectset( this, MappingProduct, item, item.KeyProduct() = true, businesstypes.Find( item.BusinessType()) > 0 ); } else{ - listToDeal := selectset( this, MappingProduct, item, businesstypes.Difference( businesstypes.Difference( item.BusinessType().Tokenize( ", " ) ) ).Size() > 0 ); + listToDeal := selectset( this, MappingProduct, item, businesstypes.Find( item.BusinessType()) > 0 ); } } totalcount := listToDeal.Size(); diff --git a/_Main/BL/Type_MacroPlan/Method_MappingProductInLaneData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingProductInLaneData.qbl index 2bd20a4..2d63310 100644 --- a/_Main/BL/Type_MacroPlan/Method_MappingProductInLaneData.qbl +++ b/_Main/BL/Type_MacroPlan/Method_MappingProductInLaneData.qbl @@ -7,7 +7,7 @@ [* // Administrator Aug-17-2023 (created) // list to deal - listtodeal := selectset( this, MappingProductInLane, item, not isnull( Product_MP::FindById( this, item.ProductID() ) ), not isnull( Lane::FindLaneTypeIndex( item.LineID() ) ) ); + listtodeal := selectset( this, MappingProductInLane, item ,true ); totalcount := listtodeal.Size(); info( "ProductInLane has " + totalcount.AsQUILL() + " rows in total" ); @@ -15,7 +15,7 @@ // Create ProductInLane traverse( listtodeal, Elements, item ){ count := count + 1; - if( count - [Number](count/100) * 100 = 0 or count = totalcount ){ + if( count - [Number](count/1000) * 1000 = 0 or count = totalcount ){ info( "Now is dealing with the " + count.AsQUILL() + "ProductInLane " + "( " + count.AsQUILL() + "/" + totalcount.AsQUILL() + " ) " + (count/totalcount*100).Round( 1 ).AsQUILL() + "%" ); } ProductInLane::CreateOrUpdate( this, item.ProductID(), item.LineID() ); diff --git a/_Main/BL/Type_MacroPlan/Method_MappingUnitData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingUnitData.qbl index fa613b6..b5618c6 100644 --- a/_Main/BL/Type_MacroPlan/Method_MappingUnitData.qbl +++ b/_Main/BL/Type_MacroPlan/Method_MappingUnitData.qbl @@ -15,13 +15,14 @@ listtodeal := selectset( this, MappingOperation, item, true ); } else { listtodeal := selectset( this, MappingOperation, item, - businesstypes.Difference( businesstypes.Difference( item.BusinessType().Tokenize( ", " ) ) ).Size() > 0 - ); + // businesstypes.Difference( businesstypes.Difference( item.BusinessType().Tokenize( ", " ) ) ).Size() > 0 + businesstypes.Find( item.BusinessType() ) >= 0 + ); } //Set the Default values unitofmeasurename := "PCS"; - capacitytype := "Infinite"; + capacitytype := "Transport quantity"; // Get the root data Unit::CreateOrUpdate( this, diff --git a/_Main/BL/Type_MacroPlan/StaticMethod_DoSync0.qbl b/_Main/BL/Type_MacroPlan/StaticMethod_DoSync0.qbl index dc5d8d6..fe4e7a1 100644 --- a/_Main/BL/Type_MacroPlan/StaticMethod_DoSync0.qbl +++ b/_Main/BL/Type_MacroPlan/StaticMethod_DoSync0.qbl @@ -67,7 +67,7 @@ macroPlan.Broker_OTD_Product().Execute(); info( "Product Data Broker Finished, Start Product Mapping" ); //testproduct := construct( Strings ); - macroPlan.MappingProductData( businessTypes, false ); + macroPlan.MappingProductData( businessTypes, isKeyProduct ); //鍗曚綅杞崲-7 BaseConversionFactor::DoSync( macroPlan ); @@ -107,31 +107,31 @@ data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody ); macroPlan.ApiLaneLegsData( data ); - //// 渚涘簲缃戠粶锛堣溅閬擄級-12 - //info( "Get Lanelegs From Api Finished, Start ProductInLane Data Broker" ); - //macroPlan.Broker_OTD_ProductInLane().Execute(); - //info( "ProductInLane Data Broker Finished, Start ProductInLane Mapping" ); - //macroPlan.MappingProductInLaneData(); + // 渚涘簲缃戠粶锛堣溅閬擄級-12 + info( "Get Lanelegs From Api Finished, Start ProductInLane Data Broker" ); + macroPlan.Broker_OTD_ProductInLane().Execute(); + info( "ProductInLane Data Broker Finished, Start ProductInLane Mapping" ); + macroPlan.MappingProductInLaneData(); // 鍦ㄥ簱搴撳瓨鏁版嵁-13 info( "ProductInLane Finished, Start ActualPISPIP Data Broker" ); macroPlan.Broker_OTD_ActualPISPIP().Execute(); info( "ActualPISPIP Data Broker Finished, Start ActualPISPIP Mapping" ); //macroPlan.MappingActualPISPIPData( businessTypes, true ); - macroPlan.MappingActualPISPIPData( businessTypes, false ); + macroPlan.MappingActualPISPIPData( businessTypes, isKeyProduct ); // 鍦ㄩ�斿簱瀛�-14 info( "ActualPISPIP Finished, Start ExternalSupply Data Broker" ); macroPlan.Broker_OTD_ExternalSupply().Execute(); //macroPlan.MappingExternalSupplyData( businessTypes, true ); info( "ExternalSupply Data Broker Finished, Start ExternalSupply Mapping" ); - macroPlan.MappingExternalSupplyData( businessTypes, false ); + macroPlan.MappingExternalSupplyData( businessTypes, isKeyProduct ); // 搴撳瓨鎴愭湰-15 InventoryValueAndCost::DoSync( macroPlan ); - //// todo 鍒堕�犳垚鏈�-16 - //info( "InventoryCost Finished, Start OperationCost Mapping" ); + // todo 鍒堕�犳垚鏈�-16 + info( "InventoryCost Finished, Start OperationCost Mapping" ); //macroPlan.MappingOperationCostData( businessTypes ); // 璁㈠崟棰勬祴-17 diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Attribute_name.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Attribute_name.qbl new file mode 100644 index 0000000..c6601dd --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Attribute_name.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute name +{ + #keys: '3[414384.0.763764688][414384.0.763764687][414384.0.763764689]' + ValueType: String +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/DefaultValue_name.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/DefaultValue_name.qbl new file mode 100644 index 0000000..4c149cf --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/DefaultValue_name.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: name +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_CheckThePrecedingColumn.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_CheckThePrecedingColumn.qbl new file mode 100644 index 0000000..915e044 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_CheckThePrecedingColumn.qbl @@ -0,0 +1,37 @@ +Quintiq file version 2.0 +#parent: #root +Method CheckThePrecedingColumn ( + GlobalOTDTable globalOTDTable +) +{ + TextBody: + [* + traverse ( this, MatAttrSettingAndPlanStrategyDataRow, masapsdr ) { + itemCode := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "鐗╂枡缂栫爜" ); + targetMatAttrSettingAndPlanStrategy := select( globalOTDTable, 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(); + itemClassification := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "鐗╂枡鍒嗙被" ).value(); + LTTimeDays := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "LT鏃堕棿锛堝ぉ锛�" ).value(); + numberOfFinishedSKUs := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "鎴愬搧SKU鏁伴噺" ).value(); + 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(); + if ( businessType <> targetMatAttrSettingAndPlanStrategy.BusinessType() or + nameOfMaterial <> targetMatAttrSettingAndPlanStrategy.MatName() or + itemClassification <> targetMatAttrSettingAndPlanStrategy.MatType() or + [Real]LTTimeDays <> targetMatAttrSettingAndPlanStrategy.MatArrivalLT() or + [Real]numberOfFinishedSKUs <> targetMatAttrSettingAndPlanStrategy.ProductCount() or + [Real]finishedProductDeliveryMinLTDays <> targetMatAttrSettingAndPlanStrategy.MinProdDeliverLT() or + longAndShortCycleLabels <> targetMatAttrSettingAndPlanStrategy.FlagLongTerm() or + genericSpecialLabels <> targetMatAttrSettingAndPlanStrategy.FlagGeneric() or + automaticMaterialPlanningPolicies <> targetMatAttrSettingAndPlanStrategy.PlanningStrategyAuto() ) + { + error( "瀵煎叆澶辫触锛屼笌褰撳墠绯荤粺瀛楁涓嶄竴鑷达細", targetMatAttrSettingAndPlanStrategy.MatCode() ); + } + } + } + *] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_CreateOrUpdateData.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_CreateOrUpdateData.qbl new file mode 100644 index 0000000..15d22df --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_CreateOrUpdateData.qbl @@ -0,0 +1,149 @@ +Quintiq file version 2.0 +#parent: #root +Method CreateOrUpdateData ( + GlobalOTDTable globalOTDTable +) +{ + TextBody: + [* + traverse ( this, MatAttrSettingAndPlanStrategyDataRow, masapsdr ) { + itemCode := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "鐗╂枡缂栫爜" ); + targetMatAttrSettingAndPlanStrategy := select( globalOTDTable, 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(); + try { + targetMatAttrSettingAndPlanStrategy.MinimumNumberOfDaysInStock( [Number]minimumNumberOfDaysInStock ); + targetMatAttrSettingAndPlanStrategy.MaximumNumberOfDaysInInventory( [Number]maximumNumberOfDaysInInventory ); + targetMatAttrSettingAndPlanStrategy.UpdateBy( QuintiqUser::CurrentUser().Username() ); + targetMatAttrSettingAndPlanStrategy.UpdateTime( DateTime::ActualTime() ); + } onerror { + error( "搴撳瓨鏈�灏忓ぉ鏁版垨搴撳瓨鏈�澶уぉ鏁板繀椤讳负鏁存暟锛�", targetMatAttrSettingAndPlanStrategy.MatCode() ); + } + } else { + businessType := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "涓氬姟绫诲瀷" ).value(); + createItemCode := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "鐗╂枡缂栫爜" ).value(); + nameOfMaterial := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "鐗╂枡鍚嶇О" ).value(); + itemClassification := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "鐗╂枡鍒嗙被" ).value(); + LTTimeDays := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "LT鏃堕棿锛堝ぉ锛�" ).value(); + // numberOfFinishedSKUs := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "鎴愬搧SKU鏁伴噺" ).value(); + // 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(); + 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, + 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 ); + } onerror { + error( "搴撳瓨鏈�灏忓ぉ鏁版垨搴撳瓨鏈�澶уぉ鏁板繀椤讳负鏁存暟锛�", targetMatAttrSettingAndPlanStrategy.MatCode() ); + } + } + } + *] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_SynchronizeData.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_SynchronizeData.qbl new file mode 100644 index 0000000..624f54f --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_SynchronizeData.qbl @@ -0,0 +1,17 @@ +Quintiq file version 2.0 +#parent: #root +Method SynchronizeData +{ + TextBody: + [* + this.VerifyThatTheItemCodeIsNotDuplicated(); + + globalOTDTable := this.MatAttrSettingAndPlanStrategyInputSource().GlobalOTDTable(); + + this.CheckThePrecedingColumn( globalOTDTable ); + + this.CreateOrUpdateData( globalOTDTable ); + + this.VerificationData( globalOTDTable ); + *] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_VerificationData.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_VerificationData.qbl new file mode 100644 index 0000000..d09c337 --- /dev/null +++ b/_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() ); + } + } + } + *] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_VerifyThatTheItemCodeIsNotDuplicated.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_VerifyThatTheItemCodeIsNotDuplicated.qbl new file mode 100644 index 0000000..cebf23b --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_VerifyThatTheItemCodeIsNotDuplicated.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Method VerifyThatTheItemCodeIsNotDuplicated +{ + TextBody: + [* + itemCodes := selectuniquevalues( this, + MatAttrSettingAndPlanStrategyDataColumn.MatAttrSettingAndPlanStrategyDataCell, + tempMASAPSDC, + tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "鐗╂枡缂栫爜", + tempMASAPSDC.value() ); + + traverse ( itemCodes, Elements, ic ) { + icTotal := selectset( this, + MatAttrSettingAndPlanStrategyDataColumn.MatAttrSettingAndPlanStrategyDataCell, + tempMASAPSDC, + tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "鐗╂枡缂栫爜" and tempMASAPSDC.value() = ic ); + if ( icTotal.Size() > 1 ) { + error( "瀛樺湪閲嶅鐗╂枡缂栫爜锛�", ic ); + } + } + *] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_VerifyTheTemplate.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_VerifyTheTemplate.qbl new file mode 100644 index 0000000..c17b3d6 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_VerifyTheTemplate.qbl @@ -0,0 +1,24 @@ +Quintiq file version 2.0 +#parent: #root +Method VerifyTheTemplate +{ + TextBody: + [* + if ( select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 0 ).name() <> "涓氬姟绫诲瀷" or + select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 1 ).name() <> "鐗╂枡缂栫爜" or + select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 2 ).name() <> "鐗╂枡鍚嶇О" or + select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 3 ).name() <> "鐗╂枡鍒嗙被" or + select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 4 ).name() <> "LT鏃堕棿锛堝ぉ锛�" or + select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 5 ).name() <> "鎴愬搧SKU鏁伴噺" or + select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 6 ).name() <> "鎴愬搧浜や粯Min-LT锛堝ぉ锛�" or + select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 7 ).name() <> "闀跨煭鍛ㄦ湡鏍囩" or + select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 8 ).name() <> "閫氱敤涓撶敤鏍囩" or + select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 9 ).name() <> "鑷姩鐗╂枡璁″垝绛栫暐" or + select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 10 ).name() <> "鐢ㄦ埛鎵嬪姩璁″垝绛栫暐" or + select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 11 ).name() <> "搴撳瓨鏈�灏忓ぉ鏁�" or + select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 12 ).name() <> "搴撳瓨鏈�澶уぉ鏁�" + ) { + error( "妯℃澘瑙f瀽閿欒" ); + } + *] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_parseRows.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_parseRows.qbl new file mode 100644 index 0000000..c10da83 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_parseRows.qbl @@ -0,0 +1,41 @@ +Quintiq file version 2.0 +#parent: #root +Method ParseRows +{ + TextBody: + [* + // yypsybs Jul-1-2023 (created) + totalRows := 0; + totalColumns := this.MatAttrSettingAndPlanStrategyDataColumn( relsize ); + + if ( totalColumns > 0 ) { + columnLongestList := maxset( this, MatAttrSettingAndPlanStrategyDataColumn, column, true, column.MatAttrSettingAndPlanStrategyDataCell( relsize ) ); + columnLongest := columnLongestList.First(); + totalRows := columnLongest.MatAttrSettingAndPlanStrategyDataCell( relsize ); + + this.MatAttrSettingAndPlanStrategyDataRow( relflush ); + + cells := construct( structured[MatAttrSettingAndPlanStrategyDataCell] ); + traverse ( this, MatAttrSettingAndPlanStrategyDataColumn, column ) { + cells.Add( column.FirstCellInColumn() ); + } + + for ( i := 0; i < totalRows; i++ ) { + assert( selectvalues( cells, Elements, c, true, c.MatAttrSettingAndPlanStrategyDataColumn().columnIndex() ).ToString( "" ) = + selectvalues( selectsortedset( cells, Elements, c, true, c.MatAttrSettingAndPlanStrategyDataColumn().columnIndex() ), Elements, c, true, c.MatAttrSettingAndPlanStrategyDataColumn().columnIndex() ).ToString( "" ), + "Assertion error in MatAttrSettingAndPlanningStrategyDataTable::parseRows: Cells not sorted by column index" ); + row := this.MatAttrSettingAndPlanStrategyDataRow( relnew, rowNo := i ); + + newCells := construct( structured[MatAttrSettingAndPlanStrategyDataCell] ); + + traverse ( cells, Elements, c ) { + row.MatAttrSettingAndPlanStrategyDataCell( relinsert, c ); + + newCells.Add( c.NextCellInColumn() ); + } + + cells := &newCells; + } + } + *] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/StaticMethod_doVerify.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/StaticMethod_doVerify.qbl new file mode 100644 index 0000000..3a85db8 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/StaticMethod_doVerify.qbl @@ -0,0 +1,34 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod DoVerify ( + MatAttrSettingAndPlanStrategyDataTable toVerify +) +{ + TextBody: + [* + // yypsybs Jun-30-2023 (created) + + // for test + columns := selectsortedset( toVerify, MatAttrSettingAndPlanStrategyDataColumn, column, true, column.columnIndex() ); + //traverse( columns, Elements, column ) { + // info( "column header of " + [String]( column.columnIndex() + 1 ) + " is " + column.name() ); + //} + //rows := toVerify.MatAttrSettingAndPlanningStrategyDataRow( relget ); + //traverse( rows, Elements.MatAttrSettingAndPlanningStrategyDataCell, cell ) { + // info( cell.MatAttrSettingAndPlanningStrategyDataColumn().name() + " of row " + [String]cell.MatAttrSettingAndPlanningStrategyDataRow().rowNo() + " is " + cell.value() ); + //} + // for test end + + expectedHeaders := MatAttrSettingAndPlanStrategyDataTable::ExpectedHeaders(); + traverse( columns, Elements, column ) { + columnActualName := column.name(); + if( column.columnIndex() > expectedHeaders.Size() ) { + error( "unexpected head " + columnActualName + " of column " + [String]column.columnIndex() + "." ); + } + expectedHeader := expectedHeaders.Element( column.columnIndex() ); + if( expectedHeader <> columnActualName ) { + error( "expected head is " + expectedHeader + " of column " + [String]column.columnIndex() + ", but found " + columnActualName + "." ); + } + } + *] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/StaticMethod_expectedHeaders.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/StaticMethod_expectedHeaders.qbl new file mode 100644 index 0000000..477f603 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/StaticMethod_expectedHeaders.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod ExpectedHeaders () as owning Strings +{ + TextBody: + [* + // yypsybs Jun-30-2023 (created) + value := construct( structured[String] ); + value.Add( "鐗╂枡缂栫爜" ); + value.Add( "鐗╂枡鍚嶇О" ); + value.Add( "鐗╂枡鍒嗙被" ); + value.Add( "LT鏃堕棿锛堝ぉ锛�" ); + value.Add( "鎴愬憳SKU鏁伴噺" ); + value.Add( "鎴愬搧浜や粯MinLT锛堝ぉ锛�" ); + value.Add( "闀跨煭鍛ㄦ湡鏍囩" ); + value.Add( "閫氱敤涓撶敤鏍囩" ); + value.Add( "鏅鸿兘鐗╂枡璁″垝绛栫暐" ); + value.Add( "鐢ㄦ埛鍐崇瓥璁″垝绛栫暐" ); + value.Add( "淇敼浜�" ); + value.Add( "淇敼鏃堕棿" ); + return &value; + *] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/StaticMethod_export.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/StaticMethod_export.qbl new file mode 100644 index 0000000..126e66e --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/StaticMethod_export.qbl @@ -0,0 +1,66 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod Export ( + GlobalOTDTable parent +) as String +{ + TextBody: + [* + // yypsybs Jul-1-2023 (created) + xmlTemplate := '<?xml version="1.0" encoding="UTF-16"?> + <table> + <name>MatAttrSettingAndPlanStrategy</name> + '; + //--------------------------------------------------------------------------------------------- + exportFields := MatAttrSettingAndPlanStrategyDataTable::ExportFields(); + exportHeaders := MatAttrSettingAndPlanStrategyDataTable::ExpectedHeaders(); + if( exportFields.Size() <> exportHeaders.Size() ) { + error( "fields and headers not match" ); + } + for( i := 0; i < exportFields.Size() ; i++ ) { + header := exportHeaders.Element( i ); + columnStr := "<column><name>" + header + "</name><type>String</type>"; + traverse( parent, MatAttrSettingAndPlanStrategy, oldRecord ) { + fieldName := exportFields.Element( i ); + field := Reflection::FindAttribute( "MatAttrSettingAndPlanStrategy", fieldName); + if( not isnull( field ) ) { + fieldValue := ""; + if( fieldValue = "" ) { + fieldValue := guard( field.GetString( oldRecord ), "" ); + } + if( fieldValue = "" ) { + fieldValue := guard( [String]field.GetNumber( oldRecord ), "" ); + } + if( fieldValue = "" ) { + fieldValue := guard( [String]field.GetReal( oldRecord ), "" ); + } + if( fieldValue = "" ) { + fileDateValue := guard( field.GetDate( oldRecord ), Date::MinDate() ); + if( fileDateValue <> Date::MinDate() ) { + conv := DateTimeToString::StandardConverter(); + conv.SetCustomConversion(); + conv.CustomFormatString( 'yyyyMMdd' ); + fieldValue := conv.Convert( fileDateValue.DateTime() ); + } + } + cellStr := '<cell value="' + fieldValue + '"/>'; + + columnStr := columnStr + cellStr; + } else { + error( "no field " + fieldName + " in type MatAttrSettingAndPlanStrategy"); + } + } + columnStr := columnStr + "</column>"; + xmlTemplate := xmlTemplate + columnStr; + } + //--------------------------------------------------------------------------------------------- + xmlTemplate := xmlTemplate + "</table>"; + info( xmlTemplate ); + tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlTemplate ) ); + XLS::SaveTable( tableHandle, OS::TempPath() + "MatAttrSettingAndPlanStrategy.xlsx" ); + file := OSFile::Construct(); + file.Open( OS::TempPath() + "MatAttrSettingAndPlanStrategy.xlsx", "Read", true ); + data := file.ReadBinary() + return data.AsBase64EncodedString(); + *] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/StaticMethod_exportFields.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/StaticMethod_exportFields.qbl new file mode 100644 index 0000000..d45757b --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/StaticMethod_exportFields.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod ExportFields () as owning Strings +{ + TextBody: + [* + // yypsybs Jun-30-2023 (created) + value := construct( structured[String] ); + value.Add( "MatCode" ); + value.Add( "MatName" ); + value.Add( "MatType" ); + value.Add( "MatArrivalLT" ); + value.Add( "ProductCount" ); + value.Add( "MinProdDeliverLT" ); + value.Add( "FlagLongTerm" ); + value.Add( "FlagGeneric" ); + value.Add( "PlanningStrategyAuto" ); + value.Add( "PlanningStrategyCustom" ); + value.Add( "UpdateBy" ); + value.Add( "UpdateTime" ); + return &value; + *] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXML/XMLElementId_Key.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXML/XMLElementId_Key.qbl new file mode 100644 index 0000000..4f408a0 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXML/XMLElementId_Key.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +XMLElementId +{ + XMLAddressType { } + XMLID Key { } +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXML/XMLElementId_QuintiqType.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXML/XMLElementId_QuintiqType.qbl new file mode 100644 index 0000000..7468757 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXML/XMLElementId_QuintiqType.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +XMLElementId +{ + XMLID QuintiqType { } + XMLQualifierType { } +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXML/XMLObjectBase_cell.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXML/XMLObjectBase_cell.qbl new file mode 100644 index 0000000..9a0e46e --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXML/XMLObjectBase_cell.qbl @@ -0,0 +1,17 @@ +Quintiq file version 2.0 +#parent: #root +XMLObjectBase.ObjectDefinitions +{ + IdField: Key + ObjectTypeField: QuintiqType + TargetType: MatAttrSettingAndPlanStrategyDataCell + XMLID cell { } + Attributes: + [ + XMLAttribute + { + Attribute: value + XMLID value { } + } + ] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXML/XMLObjectBase_column.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXML/XMLObjectBase_column.qbl new file mode 100644 index 0000000..dd6ba85 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXML/XMLObjectBase_column.qbl @@ -0,0 +1,27 @@ +Quintiq file version 2.0 +#parent: #root +XMLObjectBase.ObjectDefinitions +{ + IdField: Key + ObjectTypeField: QuintiqType + TargetType: MatAttrSettingAndPlanStrategyDataColumn + XMLID column { } + Aggregates: + [ + XMLAggregate + { + ElementDefinition: cell + GenerateOutput: false + Relation: MatAttrSettingAndPlanStrategyDataCell + XMLID MatAttrSettingAndPlanningStrategyDataCell { } + } + ] + Attributes: + [ + XMLAttribute + { + Attribute: name + XMLID name { } + } + ] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXML/XMLObjectBase_table.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXML/XMLObjectBase_table.qbl new file mode 100644 index 0000000..badb838 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXML/XMLObjectBase_table.qbl @@ -0,0 +1,27 @@ +Quintiq file version 2.0 +#parent: #root +XMLObjectBase.ObjectDefinitions +{ + IdField: Key + ObjectTypeField: QuintiqType + TargetType: MatAttrSettingAndPlanStrategyDataTable + XMLID table { } + Aggregates: + [ + XMLAggregate + { + ElementDefinition: column + GenerateOutput: false + Relation: MatAttrSettingAndPlanStrategyDataColumn + XMLID MatAttrSettingAndPlanningStrategyDataColumn { } + } + ] + Attributes: + [ + XMLAttribute + { + Attribute: name + XMLID name { } + } + ] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXML/_ROOT_XML_MatAttrSettingAndPlanStrategyDataTableXML.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXML/_ROOT_XML_MatAttrSettingAndPlanStrategyDataTableXML.qbl new file mode 100644 index 0000000..76a9e0d --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXML/_ROOT_XML_MatAttrSettingAndPlanStrategyDataTableXML.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#root +#parent: #root +XML MatAttrSettingAndPlanStrategyDataTableXML +{ + Direction: 'ImportExport' + Root: table +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXMLHeaders/XMLElementId_Key.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXMLHeaders/XMLElementId_Key.qbl new file mode 100644 index 0000000..4f408a0 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXMLHeaders/XMLElementId_Key.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +XMLElementId +{ + XMLAddressType { } + XMLID Key { } +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXMLHeaders/XMLElementId_QuintiqType.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXMLHeaders/XMLElementId_QuintiqType.qbl new file mode 100644 index 0000000..7468757 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXMLHeaders/XMLElementId_QuintiqType.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +XMLElementId +{ + XMLID QuintiqType { } + XMLQualifierType { } +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXMLHeaders/XMLObjectBase_column.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXMLHeaders/XMLObjectBase_column.qbl new file mode 100644 index 0000000..320992a --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXMLHeaders/XMLObjectBase_column.qbl @@ -0,0 +1,17 @@ +Quintiq file version 2.0 +#parent: #root +XMLObjectBase.ObjectDefinitions +{ + IdField: Key + ObjectTypeField: QuintiqType + TargetType: MatAttrSettingAndPlanStrategyDataColumn + XMLID column { } + Attributes: + [ + XMLAttribute + { + Attribute: name + XMLID name { } + } + ] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXMLHeaders/XMLObjectBase_table.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXMLHeaders/XMLObjectBase_table.qbl new file mode 100644 index 0000000..badb838 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXMLHeaders/XMLObjectBase_table.qbl @@ -0,0 +1,27 @@ +Quintiq file version 2.0 +#parent: #root +XMLObjectBase.ObjectDefinitions +{ + IdField: Key + ObjectTypeField: QuintiqType + TargetType: MatAttrSettingAndPlanStrategyDataTable + XMLID table { } + Aggregates: + [ + XMLAggregate + { + ElementDefinition: column + GenerateOutput: false + Relation: MatAttrSettingAndPlanStrategyDataColumn + XMLID MatAttrSettingAndPlanningStrategyDataColumn { } + } + ] + Attributes: + [ + XMLAttribute + { + Attribute: name + XMLID name { } + } + ] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXMLHeaders/_ROOT_XML_MatAttrSettingAndPlanStrategyDataTableXMLHeaders.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXMLHeaders/_ROOT_XML_MatAttrSettingAndPlanStrategyDataTableXMLHeaders.qbl new file mode 100644 index 0000000..24c966b --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXMLHeaders/_ROOT_XML_MatAttrSettingAndPlanStrategyDataTableXMLHeaders.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#root +#parent: #root +XML MatAttrSettingAndPlanStrategyDataTableXMLHeaders +{ + Direction: 'ImportExport' + Root: table +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/_ROOT_Type_MatAttrSettingAndPlanStrategyDataTable.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/_ROOT_Type_MatAttrSettingAndPlanStrategyDataTable.qbl new file mode 100644 index 0000000..597fe5e --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/_ROOT_Type_MatAttrSettingAndPlanStrategyDataTable.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type MatAttrSettingAndPlanStrategyDataTable +{ + #keys: '5[414384.0.763764685][414384.0.763764683][0.0.0][414384.0.763764684][414384.0.763764686]' + BaseType: Object + StructuredName: 'MatAttrSettingAndPlanStrategyDataTables' +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/Attribute_Comment.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/Attribute_Comment.qbl new file mode 100644 index 0000000..29e121e --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/Attribute_Comment.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Comment +{ + #keys: '3[414384.0.766881447][414384.0.766881446][414384.0.766881448]' + Description: '澶囨敞' + ValueType: String +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/Attribute_MatCode.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/Attribute_MatCode.qbl new file mode 100644 index 0000000..7ee0a19 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/Attribute_MatCode.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute MatCode +{ + #keys: '3[414384.0.766881404][414384.0.766881403][414384.0.766881405]' + Description: '鐗╂枡缂栫爜' + ValueType: String +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/Attribute_ProductCode.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/Attribute_ProductCode.qbl new file mode 100644 index 0000000..d55171e --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/Attribute_ProductCode.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ProductCode +{ + #keys: '3[414384.0.766881414][414384.0.766881413][414384.0.766881415]' + Description: '鎴愬搧缂栫爜' + ValueType: String +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/Attribute_ProductDesc.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/Attribute_ProductDesc.qbl new file mode 100644 index 0000000..0993c0f --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/Attribute_ProductDesc.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ProductDesc +{ + #keys: '3[414384.0.766881437][414384.0.766881436][414384.0.766881438]' + Description: '鎴愬搧鎻忚堪' + ValueType: String +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/Attribute_StandardLT.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/Attribute_StandardLT.qbl new file mode 100644 index 0000000..5fce24d --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/Attribute_StandardLT.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute StandardLT +{ + #keys: '3[414384.0.766881424][414384.0.766881423][414384.0.766881425]' + ValueType: Real +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/Function_CalcMatCode.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/Function_CalcMatCode.qbl new file mode 100644 index 0000000..0b3b836 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/Function_CalcMatCode.qbl @@ -0,0 +1,13 @@ +Quintiq file version 2.0 +#parent: #root +Function CalcMatCode +{ + TextBody: + [* + // yypsybs Sep-8-2023 (created) + + value := this.MatAttrSettingAndPlanStrategy().MatCode(); + + this.MatCode( value ); + *] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/StaticMethod_CreateIfNotExist.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/StaticMethod_CreateIfNotExist.qbl new file mode 100644 index 0000000..44625cb --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/StaticMethod_CreateIfNotExist.qbl @@ -0,0 +1,22 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod CreateIfNotExist ( + MatAttrSettingAndPlanStrategy parent, + String productCode, + Real standardLT, + String productDesc +) as MatAttrSettingAndPlanStrategyDetail +{ + TextBody: + [* + // yypsybs Sep-8-2023 (created) + value := select( parent, MatAttrSettingAndPlanStrategyDetail, item, item.ProductCode() = productCode ); + if( isnull( value ) ) { + value := parent.MatAttrSettingAndPlanStrategyDetail( relnew, + ProductCode := productCode, + StandardLT := standardLT, + ProductDesc := productDesc ); + } + return value; + *] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/_ROOT_Type_MatAttrSettingAndPlanStrategyDetail.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/_ROOT_Type_MatAttrSettingAndPlanStrategyDetail.qbl new file mode 100644 index 0000000..ea00f4b --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/_ROOT_Type_MatAttrSettingAndPlanStrategyDetail.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type MatAttrSettingAndPlanStrategyDetail +{ + #keys: '5[414384.0.766881384][414384.0.766881382][0.0.0][414384.0.766881383][414384.0.766881385]' + BaseType: Object + Description: '鐗╂枡灞炴�ф爣绛捐瀹�&鐗╂枡璁″垝绛栫暐鏄庣粏' + StructuredName: 'MatAttrSettingAndPlanStrategyDetails' +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Attribute_base64Str.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Attribute_base64Str.qbl new file mode 100644 index 0000000..c4af056 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Attribute_base64Str.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Base64Str +{ + #keys: '3[414384.0.763764696][414384.0.763764695][414384.0.763764697]' + ValueType: String +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Attribute_fileName.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Attribute_fileName.qbl new file mode 100644 index 0000000..f02d671 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Attribute_fileName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute FileName +{ + #keys: '3[414384.0.763764699][414384.0.763764698][414384.0.763764700]' + ValueType: String +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Attribute_isXlsx.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Attribute_isXlsx.qbl new file mode 100644 index 0000000..e39af74 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Attribute_isXlsx.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsXlsx +{ + #keys: '3[414384.0.763764702][414384.0.763764701][414384.0.763764703]' + ValueType: Boolean +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Attribute_userName.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Attribute_userName.qbl new file mode 100644 index 0000000..3ad1938 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Attribute_userName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute UserName +{ + #keys: '3[414384.0.775080571][414384.0.775080570][414384.0.775080572]' + ValueType: String +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Method_createTable.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Method_createTable.qbl new file mode 100644 index 0000000..1729ebf --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Method_createTable.qbl @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: #root +Method CreateTable ( + String sheetName +) as MatAttrSettingAndPlanStrategyDataTable +{ + TextBody: + [* + // yypsybs Jul-1-2023 (created) + sheet := select( this, MatAttrSettingAndPlanStrategyDataTable, table, table.name() = sheetName ); + + if ( isnull( sheet ) ) { + sheet := this.MatAttrSettingAndPlanStrategyDataTable( relnew, name := sheetName ); + } + + return sheet; + *] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Method_parseTable.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Method_parseTable.qbl new file mode 100644 index 0000000..20d7fd4 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Method_parseTable.qbl @@ -0,0 +1,25 @@ +Quintiq file version 2.0 +#parent: #root +Method ParseTable +{ + TextBody: + [* + tableGroupHandle := TableGroupHandle::Create( this.FileName() ); + tableGroupHandle := XLS::LoadTableGroupFromBinaryData( BinaryData::FromBase64EncodedString( this.Base64Str() ), tableGroupHandle, true, this.IsXlsx() ); + + sheets := tableGroupHandle.TableNames(); + + traverse ( sheets, Elements, sheetName, sheetName = "鐗╂枡鏍囩" ) { + tableHandle := tableGroupHandle.Table( sheetName ); + tableXML := TableHandle::ExportXML( tableHandle ); + + MatAttrSettingAndPlanStrategyDataTable::XMLImportMatAttrSettingAndPlanStrategyDataTableXMLHeaders( tableXML ); + matAttrSettingAndPlanStrategyDataTable := MatAttrSettingAndPlanStrategyDataTable::XMLImportMatAttrSettingAndPlanStrategyDataTableXML( tableXML ); + + matAttrSettingAndPlanStrategyDataTable.ParseRows(); + + matAttrSettingAndPlanStrategyDataTable.name( sheetName ); + this.MatAttrSettingAndPlanStrategyDataTable( relinsert, &matAttrSettingAndPlanStrategyDataTable ); + } + *] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Method_saveData.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Method_saveData.qbl new file mode 100644 index 0000000..362f5dd --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Method_saveData.qbl @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: #root +Method SaveData +{ + TextBody: + [* + // yypsybs Jul-1-2023 (created) + if( this.MatAttrSettingAndPlanStrategyDataTable( relsize ) > 0 ) { + traverse( this, MatAttrSettingAndPlanStrategyDataTable, table ) { + traverse( table, MatAttrSettingAndPlanStrategyDataRow, row ) { + MatAttrSettingAndPlanStrategy::Update( this.GlobalOTDTable(), row, this.UserName() ); + } + } + } + *] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/StaticMethod_VerifyTheFileName.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/StaticMethod_VerifyTheFileName.qbl new file mode 100644 index 0000000..e5127f4 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/StaticMethod_VerifyTheFileName.qbl @@ -0,0 +1,15 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod VerifyTheFileName ( + JSON uploadJson +) +{ + TextBody: + [* + fileNames := uploadJson.Get( "name" ).GetString().Tokenize( "." ); + fileNameSuffix := fileNames.Element( fileNames.Size() - 1 ); + if ( fileNameSuffix <> "xlsx" and fileNameSuffix <> "xls" ) { + error( "璇蜂笂浼燛xcel鏂囦欢" ); + } + *] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/StaticMethod_upload.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/StaticMethod_upload.qbl new file mode 100644 index 0000000..16be5bb --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/StaticMethod_upload.qbl @@ -0,0 +1,24 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod Upload ( + GlobalOTDTable globalOTDTable, + String filePath, + String base64Str, + String userName +) as MatAttrSettingAndPlanStrategyInputSource +{ + TextBody: + [* + globalOTDTable.MatAttrSettingAndPlanStrategyInputSource( relflush ); + + fileName := filePath.Tokenize( "\" ).Element( filePath.Tokenize( "\" ).Size() - 1 ); + + inputSource := globalOTDTable.MatAttrSettingAndPlanStrategyInputSource( relnew, + FileName := fileName, + Base64Str := base64Str, + IsXlsx := fileName.EndsWith( "xlsx" ), + UserName := userName ); + + return inputSource; + *] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/_ROOT_Type_MatAttrSettingAndPlanStrategyInputSource.qbl b/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/_ROOT_Type_MatAttrSettingAndPlanStrategyInputSource.qbl new file mode 100644 index 0000000..5cc6e21 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/_ROOT_Type_MatAttrSettingAndPlanStrategyInputSource.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type MatAttrSettingAndPlanStrategyInputSource +{ + #keys: '5[414384.0.763764693][414384.0.763764691][0.0.0][414384.0.763764692][414384.0.763764694]' + BaseType: Object + StructuredName: 'MatAttrSettingAndPlanStrategyInputSources' +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_BusinessType.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_BusinessType.qbl new file mode 100644 index 0000000..5d9d3ba --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_BusinessType.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute BusinessType +{ + #keys: '3[414702.0.129575801][414702.0.129575800][414702.0.129575802]' + Description: '涓氬姟绫诲瀷' + ValueType: String +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_FlagGeneric.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_FlagGeneric.qbl new file mode 100644 index 0000000..acdc390 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_FlagGeneric.qbl @@ -0,0 +1,12 @@ +Quintiq file version 2.0 +#parent: #root +Attribute FlagGeneric +{ + #keys: '3[414384.0.763764895][414384.0.763764894][414384.0.763764896]' + Description: + [* + 鏄惁閫氱敤 + 涓撶敤 & 閫氱敤 + *] + ValueType: String +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_FlagLongTerm.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_FlagLongTerm.qbl new file mode 100644 index 0000000..bf68daa --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_FlagLongTerm.qbl @@ -0,0 +1,12 @@ +Quintiq file version 2.0 +#parent: #root +Attribute FlagLongTerm +{ + #keys: '3[414384.0.763764885][414384.0.763764884][414384.0.763764886]' + Description: + [* + 鏄惁闀挎湡 + 闀垮懆鏈� & 鐭懆鏈� + *] + ValueType: String +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MatArrivalLT.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MatArrivalLT.qbl new file mode 100644 index 0000000..9dc43ad --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MatArrivalLT.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute MatArrivalLT +{ + #keys: '3[414384.0.759444630][414384.0.759444629][414384.0.759444631]' + Description: '鐗╂枡鍒拌揣LT锛堝ぉ锛�' + ValueType: Real +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MatCode.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MatCode.qbl new file mode 100644 index 0000000..9e9785e --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MatCode.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute MatCode +{ + #keys: '3[414384.0.759431251][414384.0.759431250][414384.0.759431252]' + Description: '鐗╂枡缂栫爜' + ValueType: String +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MatName.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MatName.qbl new file mode 100644 index 0000000..c0de400 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MatName.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute MatName +{ + #keys: '3[414384.0.759431286][414384.0.759431285][414384.0.759431287]' + Description: '鐗╂枡鍚嶇О' + ValueType: String +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MatType.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MatType.qbl new file mode 100644 index 0000000..907d2a5 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MatType.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute MatType +{ + #keys: '3[414384.0.759444677][414384.0.759444676][414384.0.759444678]' + Description: '鎴愬搧SKU绫诲瀷' + ValueType: String +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MaximumNumberOfDaysInInventory.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MaximumNumberOfDaysInInventory.qbl new file mode 100644 index 0000000..d15fda5 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MaximumNumberOfDaysInInventory.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute MaximumNumberOfDaysInInventory +{ + #keys: '3[414702.0.129559419][414702.0.129559418][414702.0.129559420]' + Description: '搴撳瓨鏈�澶уぉ鏁�' + ValueType: Number +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MinProdDeliverLT.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MinProdDeliverLT.qbl new file mode 100644 index 0000000..65b0de6 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MinProdDeliverLT.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute MinProdDeliverLT +{ + #keys: '3[414384.0.759444667][414384.0.759444666][414384.0.759444668]' + Description: '鎴愬搧鏈�灏忎氦浠楲T锛堝ぉ锛�' + ValueType: Real +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MinimumNumberOfDaysInStock.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MinimumNumberOfDaysInStock.qbl new file mode 100644 index 0000000..b1b5700 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MinimumNumberOfDaysInStock.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute MinimumNumberOfDaysInStock +{ + #keys: '3[414702.0.129559409][414702.0.129559408][414702.0.129559410]' + Description: '搴撳瓨鏈�灏忓ぉ鏁�' + ValueType: Number +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_PlanningStrategyAuto.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_PlanningStrategyAuto.qbl new file mode 100644 index 0000000..2c9ba97 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_PlanningStrategyAuto.qbl @@ -0,0 +1,12 @@ +Quintiq file version 2.0 +#parent: #root +Attribute PlanningStrategyAuto +{ + #keys: '3[414384.0.759444687][414384.0.759444686][414384.0.759444688]' + Description: + [* + 鑷姩璁″垝绛栫暐 + JIT & 瀹夊叏搴撳瓨 & VMI + *] + ValueType: String +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_PlanningStrategyCustom.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_PlanningStrategyCustom.qbl new file mode 100644 index 0000000..4f66c38 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_PlanningStrategyCustom.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute PlanningStrategyCustom +{ + #keys: '3[414384.0.759444697][414384.0.759444696][414384.0.759444698]' + Description: '鎵嬪姩閰嶇疆鐨勮鍒掔瓥鐣�' + ValueType: String +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_ProductCount.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_ProductCount.qbl new file mode 100644 index 0000000..e7a798c --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_ProductCount.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ProductCount +{ + #keys: '3[414384.0.763750063][414384.0.763750062][414384.0.763750064]' + Description: '鎴愬憳SKU鏁伴噺' + ValueType: Number +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_SerialNumber.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_SerialNumber.qbl new file mode 100644 index 0000000..3efd0ad --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_SerialNumber.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute SerialNumber +{ + #keys: '3[414702.0.129544801][414702.0.129544800][414702.0.129544802]' + Description: '搴忓彿' + ValueType: Number +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_UpdateBy.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_UpdateBy.qbl new file mode 100644 index 0000000..6789918 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_UpdateBy.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute UpdateBy +{ + #keys: '3[414384.0.763764908][414384.0.763764907][414384.0.763764909]' + Description: '淇敼浜�' + ValueType: String +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_UpdateTime.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_UpdateTime.qbl new file mode 100644 index 0000000..83ca47c --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_UpdateTime.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute UpdateTime +{ + #keys: '3[414384.0.763764921][414384.0.763764920][414384.0.763764922]' + Description: '淇敼鏃堕棿' + ValueType: DateTime +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Function_CalcMinProdDeliverLT.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Function_CalcMinProdDeliverLT.qbl new file mode 100644 index 0000000..c02ef61 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Function_CalcMinProdDeliverLT.qbl @@ -0,0 +1,17 @@ +Quintiq file version 2.0 +#parent: #root +Function CalcMinProdDeliverLT +{ + TextBody: + [* + // yypsybs Sep-8-2023 (created) + + value := 0.0; + + if( this.MatAttrSettingAndPlanStrategyDetail( relsize ) <> 0 ) { + value := guard( min( this, MatAttrSettingAndPlanStrategyDetail, detail, detail.StandardLT() ) , 0.0 ); + } + + this.MinProdDeliverLT( value ); + *] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Function_CalcPlanningStrategyAuto.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Function_CalcPlanningStrategyAuto.qbl new file mode 100644 index 0000000..74fd0ee --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Function_CalcPlanningStrategyAuto.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Function CalcPlanningStrategyAuto +{ + TextBody: + [* + // yypsybs Sep-8-2023 (created) + + value := ""; + + if( this.FlagLongTerm() = "闀垮懆鏈�" and this.FlagGeneric() = "涓撶敤" ) { + value := "JIT"; + } else if ( this.FlagLongTerm() = "闀垮懆鏈�" and this.FlagGeneric() = "閫氱敤" ) { + value := "瀹夊叏搴撳瓨"; + } else if ( this.FlagLongTerm() = "鐭懆鏈�" and this.FlagGeneric() = "涓撶敤" ) { + value := "JIT"; + } else if ( this.FlagLongTerm() = "鐭懆鏈�" and this.FlagGeneric() = "閫氱敤" ) { + value := "VMI"; + } + + this.PlanningStrategyAuto( value ); + *] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Function_CalcProductCount.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Function_CalcProductCount.qbl new file mode 100644 index 0000000..e03f766 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Function_CalcProductCount.qbl @@ -0,0 +1,13 @@ +Quintiq file version 2.0 +#parent: #root +Function CalcProductCount +{ + TextBody: + [* + // yypsybs Sep-8-2023 (created) + + value := counter( this, MatAttrSettingAndPlanStrategyDetail, item, true ); + + this.ProductCount( value ); + *] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_CreateIfNotExist.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_CreateIfNotExist.qbl new file mode 100644 index 0000000..8e647b2 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_CreateIfNotExist.qbl @@ -0,0 +1,35 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod CreateIfNotExist ( + GlobalOTDTable parent, + Number serialNumber, + String businessType, + String matCode, + String matName, + String matType, + Real matArrivalLT, + String flagGeneric, + String flagLongTerm +) as MatAttrSettingAndPlanStrategy +{ + TextBody: + [* + // yypsybs Sep-8-2023 (created) + value := MatAttrSettingAndPlanStrategy::GetExistByMatCode( parent, matCode ); + if( isnull( value ) ) { + value := parent.MatAttrSettingAndPlanStrategy( relnew, + SerialNumber := serialNumber, + BusinessType := businessType, + MatCode := matCode, + MatName := matName, + MatType := matType, + MatArrivalLT := matArrivalLT, + FlagGeneric := flagGeneric, + FlagLongTerm := flagLongTerm, + PlanningStrategyCustom := "", + UpdateBy := "", + UpdateTime := DateTime::MinDateTime() ); + } + return value; + *] +} diff --git "a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_DeleteIfExistByMatCode\043526.qbl" "b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_DeleteIfExistByMatCode\043526.qbl" new file mode 100644 index 0000000..7d84d24 --- /dev/null +++ "b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_DeleteIfExistByMatCode\043526.qbl" @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod DeleteIfExistByMatCode ( + GlobalOTDTable parent, + Strings matCode +) +{ + TextBody: + [* + // yypsybs Jul-2-2023 (created) + toDels := selectset( parent, MatAttrSettingAndPlanStrategy, item, true, matCode.Find( item.MatCode() ) >= 0 ); + if( toDels.Size() > 0 ) { + traverse( toDels, Elements, toDel ) { + toDel.Delete(); + } + } + *] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_ExportTheFileStream.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_ExportTheFileStream.qbl new file mode 100644 index 0000000..4b41017 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_ExportTheFileStream.qbl @@ -0,0 +1,42 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod ExportTheFileStream ( + MatAttrSettingAndPlanStrategys masapss +) as BinaryValue +{ + TextBody: + [* + text:= '<?xml version="1.0" encoding="utf-8" standalone="yes"?><table><name>鐗╂枡鏍囩</name><column><name>涓氬姟绫诲瀷</name><type>String</type></column><column><name>鐗╂枡缂栫爜</name><type>String</type></column><column><name>鐗╂枡鍚嶇О</name><type>String</type></column><column><name>鐗╂枡鍒嗙被</name><type>String</type></column><column><name>LT鏃堕棿锛堝ぉ锛�</name><type>Number</type></column><column><name>鎴愬搧SKU鏁伴噺</name><type>Number</type></column><column><name>鎴愬搧浜や粯Min-LT锛堝ぉ锛�</name><type>Number</type></column><column><name>闀跨煭鍛ㄦ湡鏍囩</name><type>String</type></column><column><name>閫氱敤涓撶敤鏍囩</name><type>String</type></column><column><name>鑷姩鐗╂枡璁″垝绛栫暐</name><type>String</type></column><column><name>鐢ㄦ埛鎵嬪姩璁″垝绛栫暐</name><type>String</type></column><column><name>搴撳瓨鏈�灏忓ぉ鏁�</name><type>Number</type></column><column><name>搴撳瓨鏈�澶уぉ鏁�</name><type>Number</type></column></table>'; + xmlDOMImplementation := XMLDOMImplementation::Create(); + xmlDOMDocument := xmlDOMImplementation.CreateDocumentFromString( text ); + + masapss := selectsortedset( masapss, Elements, tempMASAPS, true, tempMASAPS.MatCode() ); + tableElement:= xmlDOMDocument.GetElementByTagName( "table", 0 ); + + traverse ( masapss, Elements, masaps ) { + MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, masaps.BusinessType(), "涓氬姟绫诲瀷" ); + MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, masaps.MatCode(), "鐗╂枡缂栫爜" ); + MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, masaps.MatName(), "鐗╂枡鍚嶇О" ); + MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, masaps.MatType(), "鐗╂枡鍒嗙被" ); + MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]masaps.MatArrivalLT(), "LT鏃堕棿锛堝ぉ锛�" ); + MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]masaps.ProductCount(), "鎴愬搧SKU鏁伴噺" ); + MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]masaps.MinProdDeliverLT(), "鎴愬搧浜や粯Min-LT锛堝ぉ锛�" ); + MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, masaps.FlagLongTerm(), "闀跨煭鍛ㄦ湡鏍囩" ); + MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, masaps.FlagGeneric(), "閫氱敤涓撶敤鏍囩" ); + MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, masaps.PlanningStrategyAuto(), "鑷姩鐗╂枡璁″垝绛栫暐" ); + MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, masaps.PlanningStrategyCustom(), "鐢ㄦ埛鎵嬪姩璁″垝绛栫暐" ); + MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]masaps.MinimumNumberOfDaysInStock(), "搴撳瓨鏈�灏忓ぉ鏁�" ); + MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]masaps.MaximumNumberOfDaysInInventory(), "搴撳瓨鏈�澶уぉ鏁�" ); + } + + xmlDOMSerializer := xmlDOMImplementation.CreateSerializer(); + xmlTableString := xmlDOMSerializer.WriteToString( xmlDOMDocument ); + + tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlTableString ) ); + tableGroupHandle := TableGroupHandle::Create( "鐗╂枡鏍囩" ); + tableGroupHandle.Add( tableHandle ); + tableBinaryData := XLS::SaveTableGroupToBinaryData( tableGroupHandle, true ); + + return tableBinaryData.AsBinaryValue(); + *] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_GeneratesTheSpecifiedXMLColumn.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_GeneratesTheSpecifiedXMLColumn.qbl new file mode 100644 index 0000000..f40c634 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_GeneratesTheSpecifiedXMLColumn.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GeneratesTheSpecifiedXMLColumn ( + XMLDOMDocument xmlDOMDocument, + XMLDOMElement tableElement, + String value, + String columnName +) +{ + TextBody: + [* + columnElements := tableElement.GetElementsByTagName( "column" ); + + traverse ( columnElements, Elements, ce ) { + nameElement := ce.GetElementByTagName( "name", 0 ); + if ( nameElement.TextContent() = columnName ) { + cell := xmlDOMDocument.CreateElement( "cell" ); + cell.SetAttribute( "value", value ); + ce.AppendChild( cell ); + } + } + *] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_SynchronizeInventoryTargets.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_SynchronizeInventoryTargets.qbl new file mode 100644 index 0000000..17e144a --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_SynchronizeInventoryTargets.qbl @@ -0,0 +1,41 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod SynchronizeInventoryTargets ( + GlobalOTDTable globalOTDTable, + MacroPlan macroPlan +) +{ + TextBody: + [* + traverse ( globalOTDTable, MatAttrSettingAndPlanStrategy, masaps ) { + hasMaxLevel := masaps.MaximumNumberOfDaysInInventory() <> 0; + product_MP := select( macroPlan, Product_MP, tempPMP, tempPMP.ID() = masaps.MatCode() ); + if ( not isnull( product_MP ) ) { + traverse ( product_MP, ProductInStockingPoint_MP, pispmp ) { + targetInventorySpecification := select( product_MP, InventorySpecification, tempIS, tempIS.ProductID() = product_MP.ID() and + tempIS.StockingPointID() = pispmp.StockingPointID() and + tempIS.Start() = macroPlan.StartOfPlanning().Date() ); + if ( not isnull( targetInventorySpecification ) ) { + targetInventorySpecification.Delete(); + } + InventorySpecification::Create( product_MP, + pispmp.StockingPoint_MP(), + macroPlan.StartOfPlanning().Date(), + false, + 0.0, + 0.0, + true, + [Real]masaps.MinimumNumberOfDaysInStock(), + 0.0, + hasMaxLevel, + true, + [Real]masaps.MaximumNumberOfDaysInInventory(), + 0.0, + false, + false + ); + } + } + } + *] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_delete.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_delete.qbl new file mode 100644 index 0000000..3c9e3f1 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_delete.qbl @@ -0,0 +1,14 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod Delete ( + MatAttrSettingAndPlanStrategys toDels +) +{ + TextBody: + [* + // yypsybs Jun-30-2023 (created) + traverse( toDels, Elements, toDel ){ + toDel.Delete(); + } + *] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_deleteIfExistByMatCode.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_deleteIfExistByMatCode.qbl new file mode 100644 index 0000000..4cd01e5 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_deleteIfExistByMatCode.qbl @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod DeleteIfExistByMatCode ( + GlobalOTDTable parent, + String matCode +) +{ + TextBody: + [* + // yypsybs Jul-2-2023 (created) + toDels := selectset( parent, MatAttrSettingAndPlanStrategy, item, true, matCode = item.MatCode() ); + if( toDels.Size() > 0 ) { + traverse( toDels, Elements, toDel ) { + toDel.Delete(); + } + } + *] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_getExistByMatCode.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_getExistByMatCode.qbl new file mode 100644 index 0000000..c0e174e --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_getExistByMatCode.qbl @@ -0,0 +1,14 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetExistByMatCode ( + GlobalOTDTable parent, + String matCode +) as MatAttrSettingAndPlanStrategy +{ + TextBody: + [* + // yypsybs Jul-3-2023 (created) + value := select( parent, MatAttrSettingAndPlanStrategy, item, true, matCode = item.MatCode() ); + return value; + *] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_update.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_update.qbl new file mode 100644 index 0000000..44ea303 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_update.qbl @@ -0,0 +1,69 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod Update ( + GlobalOTDTable parent, + MatAttrSettingAndPlanStrategyDataRow excelRow, + String userName +) as MatAttrSettingAndPlanStrategy +{ + TextBody: + [* + fields := MatAttrSettingAndPlanStrategyDataTable::ExportFields(); + headers := MatAttrSettingAndPlanStrategyDataTable::ExpectedHeaders(); + //info( "--------SaveData--------" ); + // 鎵惧緟鏇存柊璁板綍 + toUpdate := null( MatAttrSettingAndPlanStrategy ); + matCode := ""; + for( i := 0; i < fields.Size(); i++ ) { + 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 ); + 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 ); + cell := excelRow.MatAttrSettingAndPlanStrategyDataCell( relget ).Element( i ); + fieldName := fields.Element( i ); + 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" ) { + // do nothing + } else if( fieldName = "MatArrivalLT" or fieldName = "ProductCount" or fieldName = "MinProdDeliverLT" ) { + // do nothing + } else if( fieldName = "PlanningStrategyCustom" ) { + 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 { + FeedbackObject::LocalFeedback().AddHard( "no record with matCode : " + matCode ); + error( "no record with matCode : " + matCode ); + } + + return toUpdate; + *] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/_ROOT_Type_MatAttrSettingAndPlanStrategy.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/_ROOT_Type_MatAttrSettingAndPlanStrategy.qbl new file mode 100644 index 0000000..d5d2220 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/_ROOT_Type_MatAttrSettingAndPlanStrategy.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type MatAttrSettingAndPlanStrategy +{ + #keys: '5[414384.0.759431201][414384.0.759431199][0.0.0][414384.0.759431200][414384.0.759431202]' + BaseType: Object + Description: '鐗╂枡灞炴�ф爣绛捐瀹�&鐗╂枡璁″垝绛栫暐' + StructuredName: 'MatAttrSettingAndPlanStrategys' +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataCell/Attribute_value.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataCell/Attribute_value.qbl new file mode 100644 index 0000000..f306adb --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataCell/Attribute_value.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute value +{ + #keys: '3[414384.0.763764661][414384.0.763764660][414384.0.763764662]' + ValueType: String +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataCell/DefaultValue_value.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataCell/DefaultValue_value.qbl new file mode 100644 index 0000000..753f2bd --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataCell/DefaultValue_value.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: value +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataCell/_ROOT_Type_MatAttrSettingAndPlanStrategyDataCell.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataCell/_ROOT_Type_MatAttrSettingAndPlanStrategyDataCell.qbl new file mode 100644 index 0000000..d61449b --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataCell/_ROOT_Type_MatAttrSettingAndPlanStrategyDataCell.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type MatAttrSettingAndPlanStrategyDataCell +{ + #keys: '5[414384.0.763764658][414384.0.763764656][0.0.0][414384.0.763764657][414384.0.763764659]' + BaseType: Object + StructuredName: 'MatAttrSettingAndPlanStrategyDataCells' +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataColumn/Attribute_columnIndex.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataColumn/Attribute_columnIndex.qbl new file mode 100644 index 0000000..cd949d2 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataColumn/Attribute_columnIndex.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute columnIndex +{ + #keys: '3[414384.0.763764669][414384.0.763764668][414384.0.763764670]' + ValueType: Number +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataColumn/Attribute_name.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataColumn/Attribute_name.qbl new file mode 100644 index 0000000..e1ffaf2 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataColumn/Attribute_name.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute name +{ + #keys: '3[414384.0.763764672][414384.0.763764671][414384.0.763764673]' + ValueType: String +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataColumn/DefaultValue_columnIndex.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataColumn/DefaultValue_columnIndex.qbl new file mode 100644 index 0000000..8e1a40d --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataColumn/DefaultValue_columnIndex.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: '0' + TargetAttribute: columnIndex +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataColumn/DefaultValue_name.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataColumn/DefaultValue_name.qbl new file mode 100644 index 0000000..4c149cf --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataColumn/DefaultValue_name.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: name +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataColumn/Function_CalccolumnIndex.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataColumn/Function_CalccolumnIndex.qbl new file mode 100644 index 0000000..de381a6 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataColumn/Function_CalccolumnIndex.qbl @@ -0,0 +1,11 @@ +Quintiq file version 2.0 +#parent: #root +Function CalccolumnIndex +{ + TextBody: + [* + value := ifexpr( isnull( this.PreviousColumnInTable() ), 0, this.PreviousColumnInTable().columnIndex() + 1 ); + + this.columnIndex( value ); + *] +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataColumn/_ROOT_Type_MatAttrSettingAndPlanStrategyDataColumn.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataColumn/_ROOT_Type_MatAttrSettingAndPlanStrategyDataColumn.qbl new file mode 100644 index 0000000..8a33ee1 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataColumn/_ROOT_Type_MatAttrSettingAndPlanStrategyDataColumn.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type MatAttrSettingAndPlanStrategyDataColumn +{ + #keys: '5[414384.0.763764666][414384.0.763764664][0.0.0][414384.0.763764665][414384.0.763764667]' + BaseType: Object + StructuredName: 'MatAttrSettingAndPlanStrategyDataColumns' +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataRow/Attribute_rowNo.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataRow/Attribute_rowNo.qbl new file mode 100644 index 0000000..10d4f32 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataRow/Attribute_rowNo.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute rowNo +{ + #keys: '3[414384.0.763764680][414384.0.763764679][414384.0.763764681]' + ValueType: Number +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataRow/DefaultValue_rowNo.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataRow/DefaultValue_rowNo.qbl new file mode 100644 index 0000000..b6bfb38 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataRow/DefaultValue_rowNo.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: '0' + TargetAttribute: rowNo +} diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataRow/_ROOT_Type_MatAttrSettingAndPlanStrategyDataRow.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataRow/_ROOT_Type_MatAttrSettingAndPlanStrategyDataRow.qbl new file mode 100644 index 0000000..c85f904 --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataRow/_ROOT_Type_MatAttrSettingAndPlanStrategyDataRow.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type MatAttrSettingAndPlanStrategyDataRow +{ + #keys: '5[414384.0.763764677][414384.0.763764675][0.0.0][414384.0.763764676][414384.0.763764678]' + BaseType: Object + StructuredName: 'MatAttrSettingAndPlanStrategyDataRows' +} diff --git a/_Main/BL/Type_PanelMaterial/Attribute_DemandQuantity.qbl b/_Main/BL/Type_PanelMaterial/Attribute_DemandQuantity.qbl new file mode 100644 index 0000000..50633e7 --- /dev/null +++ b/_Main/BL/Type_PanelMaterial/Attribute_DemandQuantity.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute DemandQuantity +{ + #keys: '3[414702.0.155922013][414702.0.155922012][414702.0.155922014]' + Description: '闇�姹傛暟閲�' + ValueType: Real +} diff --git a/_Main/BL/Type_PanelMaterial/Attribute_MaterialDescription.qbl b/_Main/BL/Type_PanelMaterial/Attribute_MaterialDescription.qbl new file mode 100644 index 0000000..1acc53a --- /dev/null +++ b/_Main/BL/Type_PanelMaterial/Attribute_MaterialDescription.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute MaterialDescription +{ + #keys: '3[414702.0.155921990][414702.0.155921989][414702.0.155921991]' + Description: '鐗╂枡鎻忚堪' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterial/Attribute_PanelModel.qbl b/_Main/BL/Type_PanelMaterial/Attribute_PanelModel.qbl new file mode 100644 index 0000000..68fdbb0 --- /dev/null +++ b/_Main/BL/Type_PanelMaterial/Attribute_PanelModel.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute PanelModel +{ + #keys: '3[414702.0.155921977][414702.0.155921976][414702.0.155921978]' + Description: '闈㈡澘鍨嬪彿' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterial/Attribute_StartDate.qbl b/_Main/BL/Type_PanelMaterial/Attribute_StartDate.qbl new file mode 100644 index 0000000..faaa2a9 --- /dev/null +++ b/_Main/BL/Type_PanelMaterial/Attribute_StartDate.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute StartDate +{ + #keys: '3[414702.0.155922000][414702.0.155921999][414702.0.155922001]' + Description: '寮�濮嬫椂闂�' + ValueType: Date +} diff --git a/_Main/BL/Type_PanelMaterial/StaticMethod_Send.qbl b/_Main/BL/Type_PanelMaterial/StaticMethod_Send.qbl new file mode 100644 index 0000000..d1dcf3b --- /dev/null +++ b/_Main/BL/Type_PanelMaterial/StaticMethod_Send.qbl @@ -0,0 +1,37 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod Send ( + MacroPlan macroPlan, + Scenario scenario, + String businessType, + String address +) +{ + TextBody: + [* + info( "鐗堟湰鍙凤細", scenario.Name(), " 浜嬩笟閮細", businessType ); + + jsonBuilder := JSON::Object(); + + jsonBuilder.Add( "releaseDate", Date::ActualDate().Format( "Y-M2-D2" ) ); + jsonBuilder.Add( "businessType", businessType ); + jsonBuilder.Add( "scenarioName", scenario.Name() ); + + jsonBuilderPanelMaterials := JSON::Array(); + traverse ( macroPlan, PanelMaterial, pm, true ) { + jsonBuilderPanelMaterial := JSON::Object(); + + jsonBuilderPanelMaterial.Add( "productID", pm.PanelModel() ); + jsonBuilderPanelMaterial.Add( "productDescription", pm.MaterialDescription() ); + jsonBuilderPanelMaterial.Add( "startDate", pm.StartDate().Format( "Y-M2-D2" ) ); + jsonBuilderPanelMaterial.Add( "quantity", pm.DemandQuantity() ); + + jsonBuilderPanelMaterials.Add( jsonBuilderPanelMaterial ); + } + jsonBuilder.Add( "panelMaterials", jsonBuilderPanelMaterials ); + + json := jsonBuilder.Build(); + + info( json.AsPrettyString() ); + *] +} diff --git a/_Main/BL/Type_PanelMaterial/_ROOT_Type_PanelMaterial.qbl b/_Main/BL/Type_PanelMaterial/_ROOT_Type_PanelMaterial.qbl new file mode 100644 index 0000000..8fdb774 --- /dev/null +++ b/_Main/BL/Type_PanelMaterial/_ROOT_Type_PanelMaterial.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type PanelMaterial +{ + #keys: '5[414702.0.155354979][414702.0.155354977][0.0.0][414702.0.155354978][414702.0.155354980]' + BaseType: Object + StructuredName: 'PanelMaterials' +} diff --git a/_Main/BL/Type_PanelMaterialAll/Attribute_BusinessType.qbl b/_Main/BL/Type_PanelMaterialAll/Attribute_BusinessType.qbl new file mode 100644 index 0000000..f22c4f3 --- /dev/null +++ b/_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 +} diff --git a/_Main/BL/Type_PanelMaterialAll/Attribute_ScenarioName.qbl b/_Main/BL/Type_PanelMaterialAll/Attribute_ScenarioName.qbl new file mode 100644 index 0000000..e737a6c --- /dev/null +++ b/_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 +} diff --git a/_Main/BL/Type_PanelMaterialAll/Attribute_releaseDate.qbl b/_Main/BL/Type_PanelMaterialAll/Attribute_releaseDate.qbl new file mode 100644 index 0000000..2e6a274 --- /dev/null +++ b/_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 +} diff --git a/_Main/BL/Type_PanelMaterialAll/_ROOT_Type_PanelMaterialAll.qbl b/_Main/BL/Type_PanelMaterialAll/_ROOT_Type_PanelMaterialAll.qbl new file mode 100644 index 0000000..b1b5b06 --- /dev/null +++ b/_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' +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_CurrencyID.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_CurrencyID.qbl new file mode 100644 index 0000000..fc74b78 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_CurrencyID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CurrencyID +{ + #keys: '3[414702.0.203680160][414702.0.203680159][414702.0.203680161]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_Customer.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_Customer.qbl new file mode 100644 index 0000000..d9269fa --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_Customer.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Customer +{ + #keys: '3[414702.0.203680121][414702.0.203680120][414702.0.203680122]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_CustomerID.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_CustomerID.qbl new file mode 100644 index 0000000..13c1686 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_CustomerID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CustomerID +{ + #keys: '3[414702.0.203680130][414702.0.203680129][414702.0.203680131]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_ID.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_ID.qbl new file mode 100644 index 0000000..58841e2 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_ID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ID +{ + #keys: '3[414702.0.203680118][414702.0.203680117][414702.0.203680119]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_IsEligibleForNetting.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_IsEligibleForNetting.qbl new file mode 100644 index 0000000..5f38c00 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_IsEligibleForNetting.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsEligibleForNetting +{ + #keys: '3[414702.0.203680148][414702.0.203680147][414702.0.203680149]' + ValueType: Boolean +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_IsExcludedFromFulfillmentKPIUser.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_IsExcludedFromFulfillmentKPIUser.qbl new file mode 100644 index 0000000..a2238f1 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_IsExcludedFromFulfillmentKPIUser.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsExcludedFromFulfillmentKPIUser +{ + #keys: '3[414702.0.203680157][414702.0.203680156][414702.0.203680158]' + ValueType: Boolean +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_IsFirmed.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_IsFirmed.qbl new file mode 100644 index 0000000..26ca570 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_IsFirmed.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsFirmed +{ + #keys: '3[414702.0.203680127][414702.0.203680126][414702.0.203680128]' + ValueType: Boolean +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_OrderDate.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_OrderDate.qbl new file mode 100644 index 0000000..85de69d --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_OrderDate.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderDate +{ + #keys: '3[414702.0.203680136][414702.0.203680135][414702.0.203680137]' + ValueType: Date +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_OrderID.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_OrderID.qbl new file mode 100644 index 0000000..a0e0c47 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_OrderID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderID +{ + #keys: '3[414702.0.203680142][414702.0.203680141][414702.0.203680143]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_OrderLineID.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_OrderLineID.qbl new file mode 100644 index 0000000..8d3d87b --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_OrderLineID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderLineID +{ + #keys: '3[414702.0.203680151][414702.0.203680150][414702.0.203680152]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_Price.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_Price.qbl new file mode 100644 index 0000000..7bf7192 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_Price.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Price +{ + #keys: '3[414702.0.203680133][414702.0.203680132][414702.0.203680134]' + ValueType: Real +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_PriorityName.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_PriorityName.qbl new file mode 100644 index 0000000..daed52a --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_PriorityName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute PriorityName +{ + #keys: '3[414702.0.203680154][414702.0.203680153][414702.0.203680155]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_ProductID.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_ProductID.qbl new file mode 100644 index 0000000..ce2771f --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_ProductID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ProductID +{ + #keys: '3[414702.0.203680112][414702.0.203680111][414702.0.203680113]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_Quantity.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_Quantity.qbl new file mode 100644 index 0000000..6496814 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_Quantity.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Quantity +{ + #keys: '3[414702.0.203680115][414702.0.203680114][414702.0.203680116]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_SalesSegmentName.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_SalesSegmentName.qbl new file mode 100644 index 0000000..561bb1c --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_SalesSegmentName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute SalesSegmentName +{ + #keys: '3[414702.0.203680145][414702.0.203680144][414702.0.203680146]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_StockingPointID.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_StockingPointID.qbl new file mode 100644 index 0000000..e980d9b --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_StockingPointID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute StockingPointID +{ + #keys: '3[414702.0.203680139][414702.0.203680138][414702.0.203680140]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_UnitOfMeasureName.qbl new file mode 100644 index 0000000..313af13 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_UnitOfMeasureName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute UnitOfMeasureName +{ + #keys: '3[414702.0.203680124][414702.0.203680123][414702.0.203680125]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_CurrencyID.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_CurrencyID.qbl new file mode 100644 index 0000000..9a0e812 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_CurrencyID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'CNY' + TargetAttribute: CurrencyID +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_Customer.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_Customer.qbl new file mode 100644 index 0000000..e02a336 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_Customer.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Customer +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_CustomerID.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_CustomerID.qbl new file mode 100644 index 0000000..66ae438 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_CustomerID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: CustomerID +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_ID.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_ID.qbl new file mode 100644 index 0000000..049abc0 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_ID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: ID +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_IsEligibleForNetting.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_IsEligibleForNetting.qbl new file mode 100644 index 0000000..8b36496 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_IsEligibleForNetting.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'true' + TargetAttribute: IsEligibleForNetting +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl new file mode 100644 index 0000000..d0e348d --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'false' + TargetAttribute: IsExcludedFromFulfillmentKPIUser +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_IsFirmed.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_IsFirmed.qbl new file mode 100644 index 0000000..0f7ae4c --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_IsFirmed.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'true' + TargetAttribute: IsFirmed +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_OrderID.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_OrderID.qbl new file mode 100644 index 0000000..05c5cf1 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_OrderID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: OrderID +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_OrderLineID.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_OrderLineID.qbl new file mode 100644 index 0000000..01ff2bf --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_OrderLineID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: OrderLineID +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_Price.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_Price.qbl new file mode 100644 index 0000000..577db4c --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_Price.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: '0' + TargetAttribute: Price +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_PriorityName.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_PriorityName.qbl new file mode 100644 index 0000000..7c6efaa --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_PriorityName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'Normal' + TargetAttribute: PriorityName +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_ProductID.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_ProductID.qbl new file mode 100644 index 0000000..98649b2 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_ProductID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: ProductID +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_Quantity.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_Quantity.qbl new file mode 100644 index 0000000..9e759b3 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_Quantity.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Quantity +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_SalesSegmentName.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_SalesSegmentName.qbl new file mode 100644 index 0000000..521966d --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_SalesSegmentName.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: SalesSegmentName +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_StockingPointID.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_StockingPointID.qbl new file mode 100644 index 0000000..6110bce --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_StockingPointID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: '鎴愬搧浠�' + TargetAttribute: StockingPointID +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_UnitOfMeasureName.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_UnitOfMeasureName.qbl new file mode 100644 index 0000000..7f9ab5e --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_UnitOfMeasureName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'SHT' + TargetAttribute: UnitOfMeasureName +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/StaticMethod_ReceiveDataGeneration.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/StaticMethod_ReceiveDataGeneration.qbl new file mode 100644 index 0000000..2d21864 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/StaticMethod_ReceiveDataGeneration.qbl @@ -0,0 +1,65 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod ReceiveDataGeneration ( + GlobalOTDTable globalOTDTable, + NamedValueTree requestnvt +) +{ + TextBody: + [* + nameValue := requestnvt.Root(); + + bodyHandle := requestnvt.GetHandle( "Body" ); + restHandle := requestnvt.GetHandle( "Rest" ); + restPayloadHandle := requestnvt.GetHandle( "RestPayload" ); + + bodyNameValue := nameValue.Child( bodyHandle ); + restNameValue := bodyNameValue.Child( restHandle ); + restPayloadNameValue := restNameValue.Child( restPayloadHandle ); + + releaseDateHandle := requestnvt.GetHandle( "releaseDate" ); + businessTypeHandle := requestnvt.GetHandle( "businessType" ); + scenarioNameHandle := requestnvt.GetHandle( "scenarioName" ); + + releaseDateNameValue := restPayloadNameValue.Child( releaseDateHandle ); + 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(); + productIDHandle := requestnvt.GetHandle( "productID" ); + 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() ); + panelMaterialAll.PanelMaterialAutomotiveElectronics( 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() + ); + } + *] +} diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/_ROOT_Type_PanelMaterialAutomotiveElectronics.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/_ROOT_Type_PanelMaterialAutomotiveElectronics.qbl new file mode 100644 index 0000000..c63be50 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/_ROOT_Type_PanelMaterialAutomotiveElectronics.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type PanelMaterialAutomotiveElectronics +{ + #keys: '5[414702.0.203680106][414702.0.203680104][0.0.0][414702.0.203680105][414702.0.203680107]' + BaseType: Object + Description: '姹借溅鐢靛瓙' + StructuredName: 'PanelMaterialAutomotiveElectronicss' +} diff --git a/_Main/BL/Type_PanelMaterialIT/Attribute_CurrencyID.qbl b/_Main/BL/Type_PanelMaterialIT/Attribute_CurrencyID.qbl new file mode 100644 index 0000000..e3c8994 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/Attribute_CurrencyID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CurrencyID +{ + #keys: '3[414702.0.203680339][414702.0.203680338][414702.0.203680340]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialIT/Attribute_Customer.qbl b/_Main/BL/Type_PanelMaterialIT/Attribute_Customer.qbl new file mode 100644 index 0000000..555bae6 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/Attribute_Customer.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Customer +{ + #keys: '3[414702.0.203680306][414702.0.203680305][414702.0.203680307]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialIT/Attribute_CustomerID.qbl b/_Main/BL/Type_PanelMaterialIT/Attribute_CustomerID.qbl new file mode 100644 index 0000000..3ba73d5 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/Attribute_CustomerID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CustomerID +{ + #keys: '3[414702.0.203680330][414702.0.203680329][414702.0.203680331]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialIT/Attribute_ID.qbl b/_Main/BL/Type_PanelMaterialIT/Attribute_ID.qbl new file mode 100644 index 0000000..5653f06 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/Attribute_ID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ID +{ + #keys: '3[414702.0.203680318][414702.0.203680317][414702.0.203680319]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialIT/Attribute_IsEligibleForNetting.qbl b/_Main/BL/Type_PanelMaterialIT/Attribute_IsEligibleForNetting.qbl new file mode 100644 index 0000000..816b1ac --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/Attribute_IsEligibleForNetting.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsEligibleForNetting +{ + #keys: '3[414702.0.203680309][414702.0.203680308][414702.0.203680310]' + ValueType: Boolean +} diff --git a/_Main/BL/Type_PanelMaterialIT/Attribute_IsExcludedFromFulfillmentKPIUser.qbl b/_Main/BL/Type_PanelMaterialIT/Attribute_IsExcludedFromFulfillmentKPIUser.qbl new file mode 100644 index 0000000..149a11e --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/Attribute_IsExcludedFromFulfillmentKPIUser.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsExcludedFromFulfillmentKPIUser +{ + #keys: '3[414702.0.203680342][414702.0.203680341][414702.0.203680343]' + ValueType: Boolean +} diff --git a/_Main/BL/Type_PanelMaterialIT/Attribute_IsFirmed.qbl b/_Main/BL/Type_PanelMaterialIT/Attribute_IsFirmed.qbl new file mode 100644 index 0000000..03c684f --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/Attribute_IsFirmed.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsFirmed +{ + #keys: '3[414702.0.203680333][414702.0.203680332][414702.0.203680334]' + ValueType: Boolean +} diff --git a/_Main/BL/Type_PanelMaterialIT/Attribute_OrderDate.qbl b/_Main/BL/Type_PanelMaterialIT/Attribute_OrderDate.qbl new file mode 100644 index 0000000..4ffafb0 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/Attribute_OrderDate.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderDate +{ + #keys: '3[414702.0.203680297][414702.0.203680296][414702.0.203680298]' + ValueType: Date +} diff --git a/_Main/BL/Type_PanelMaterialIT/Attribute_OrderID.qbl b/_Main/BL/Type_PanelMaterialIT/Attribute_OrderID.qbl new file mode 100644 index 0000000..2bf9636 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/Attribute_OrderID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderID +{ + #keys: '3[414702.0.203680303][414702.0.203680302][414702.0.203680304]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialIT/Attribute_OrderLineID.qbl b/_Main/BL/Type_PanelMaterialIT/Attribute_OrderLineID.qbl new file mode 100644 index 0000000..138cf52 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/Attribute_OrderLineID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderLineID +{ + #keys: '3[414702.0.203680327][414702.0.203680326][414702.0.203680328]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialIT/Attribute_Price.qbl b/_Main/BL/Type_PanelMaterialIT/Attribute_Price.qbl new file mode 100644 index 0000000..3a5f704 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/Attribute_Price.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Price +{ + #keys: '3[414702.0.203680300][414702.0.203680299][414702.0.203680301]' + ValueType: Real +} diff --git a/_Main/BL/Type_PanelMaterialIT/Attribute_PriorityName.qbl b/_Main/BL/Type_PanelMaterialIT/Attribute_PriorityName.qbl new file mode 100644 index 0000000..4779ec2 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/Attribute_PriorityName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute PriorityName +{ + #keys: '3[414702.0.203680345][414702.0.203680344][414702.0.203680346]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialIT/Attribute_ProductID.qbl b/_Main/BL/Type_PanelMaterialIT/Attribute_ProductID.qbl new file mode 100644 index 0000000..2699c22 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/Attribute_ProductID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ProductID +{ + #keys: '3[414702.0.203680312][414702.0.203680311][414702.0.203680313]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialIT/Attribute_Quantity.qbl b/_Main/BL/Type_PanelMaterialIT/Attribute_Quantity.qbl new file mode 100644 index 0000000..497c494 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/Attribute_Quantity.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Quantity +{ + #keys: '3[414702.0.203680321][414702.0.203680320][414702.0.203680322]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialIT/Attribute_SalesSegmentName.qbl b/_Main/BL/Type_PanelMaterialIT/Attribute_SalesSegmentName.qbl new file mode 100644 index 0000000..5fce212 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/Attribute_SalesSegmentName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute SalesSegmentName +{ + #keys: '3[414702.0.203680324][414702.0.203680323][414702.0.203680325]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialIT/Attribute_StockingPointID.qbl b/_Main/BL/Type_PanelMaterialIT/Attribute_StockingPointID.qbl new file mode 100644 index 0000000..dacd3b8 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/Attribute_StockingPointID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute StockingPointID +{ + #keys: '3[414702.0.203680336][414702.0.203680335][414702.0.203680337]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialIT/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_PanelMaterialIT/Attribute_UnitOfMeasureName.qbl new file mode 100644 index 0000000..036c2b3 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/Attribute_UnitOfMeasureName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute UnitOfMeasureName +{ + #keys: '3[414702.0.203680315][414702.0.203680314][414702.0.203680316]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialIT/DefaultValue_CurrencyID.qbl b/_Main/BL/Type_PanelMaterialIT/DefaultValue_CurrencyID.qbl new file mode 100644 index 0000000..9a0e812 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/DefaultValue_CurrencyID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'CNY' + TargetAttribute: CurrencyID +} diff --git a/_Main/BL/Type_PanelMaterialIT/DefaultValue_Customer.qbl b/_Main/BL/Type_PanelMaterialIT/DefaultValue_Customer.qbl new file mode 100644 index 0000000..e02a336 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/DefaultValue_Customer.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Customer +} diff --git a/_Main/BL/Type_PanelMaterialIT/DefaultValue_CustomerID.qbl b/_Main/BL/Type_PanelMaterialIT/DefaultValue_CustomerID.qbl new file mode 100644 index 0000000..66ae438 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/DefaultValue_CustomerID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: CustomerID +} diff --git a/_Main/BL/Type_PanelMaterialIT/DefaultValue_ID.qbl b/_Main/BL/Type_PanelMaterialIT/DefaultValue_ID.qbl new file mode 100644 index 0000000..049abc0 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/DefaultValue_ID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: ID +} diff --git a/_Main/BL/Type_PanelMaterialIT/DefaultValue_IsEligibleForNetting.qbl b/_Main/BL/Type_PanelMaterialIT/DefaultValue_IsEligibleForNetting.qbl new file mode 100644 index 0000000..8b36496 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/DefaultValue_IsEligibleForNetting.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'true' + TargetAttribute: IsEligibleForNetting +} diff --git a/_Main/BL/Type_PanelMaterialIT/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl b/_Main/BL/Type_PanelMaterialIT/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl new file mode 100644 index 0000000..d0e348d --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'false' + TargetAttribute: IsExcludedFromFulfillmentKPIUser +} diff --git a/_Main/BL/Type_PanelMaterialIT/DefaultValue_IsFirmed.qbl b/_Main/BL/Type_PanelMaterialIT/DefaultValue_IsFirmed.qbl new file mode 100644 index 0000000..0f7ae4c --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/DefaultValue_IsFirmed.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'true' + TargetAttribute: IsFirmed +} diff --git a/_Main/BL/Type_PanelMaterialIT/DefaultValue_OrderID.qbl b/_Main/BL/Type_PanelMaterialIT/DefaultValue_OrderID.qbl new file mode 100644 index 0000000..05c5cf1 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/DefaultValue_OrderID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: OrderID +} diff --git a/_Main/BL/Type_PanelMaterialIT/DefaultValue_OrderLineID.qbl b/_Main/BL/Type_PanelMaterialIT/DefaultValue_OrderLineID.qbl new file mode 100644 index 0000000..01ff2bf --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/DefaultValue_OrderLineID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: OrderLineID +} diff --git a/_Main/BL/Type_PanelMaterialIT/DefaultValue_Price.qbl b/_Main/BL/Type_PanelMaterialIT/DefaultValue_Price.qbl new file mode 100644 index 0000000..577db4c --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/DefaultValue_Price.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: '0' + TargetAttribute: Price +} diff --git a/_Main/BL/Type_PanelMaterialIT/DefaultValue_PriorityName.qbl b/_Main/BL/Type_PanelMaterialIT/DefaultValue_PriorityName.qbl new file mode 100644 index 0000000..7c6efaa --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/DefaultValue_PriorityName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'Normal' + TargetAttribute: PriorityName +} diff --git a/_Main/BL/Type_PanelMaterialIT/DefaultValue_ProductID.qbl b/_Main/BL/Type_PanelMaterialIT/DefaultValue_ProductID.qbl new file mode 100644 index 0000000..98649b2 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/DefaultValue_ProductID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: ProductID +} diff --git a/_Main/BL/Type_PanelMaterialIT/DefaultValue_Quantity.qbl b/_Main/BL/Type_PanelMaterialIT/DefaultValue_Quantity.qbl new file mode 100644 index 0000000..9e759b3 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/DefaultValue_Quantity.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Quantity +} diff --git a/_Main/BL/Type_PanelMaterialIT/DefaultValue_SalesSegmentName.qbl b/_Main/BL/Type_PanelMaterialIT/DefaultValue_SalesSegmentName.qbl new file mode 100644 index 0000000..521966d --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/DefaultValue_SalesSegmentName.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: SalesSegmentName +} diff --git a/_Main/BL/Type_PanelMaterialIT/DefaultValue_StockingPointID.qbl b/_Main/BL/Type_PanelMaterialIT/DefaultValue_StockingPointID.qbl new file mode 100644 index 0000000..6110bce --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/DefaultValue_StockingPointID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: '鎴愬搧浠�' + TargetAttribute: StockingPointID +} diff --git a/_Main/BL/Type_PanelMaterialIT/DefaultValue_UnitOfMeasureName.qbl b/_Main/BL/Type_PanelMaterialIT/DefaultValue_UnitOfMeasureName.qbl new file mode 100644 index 0000000..7f9ab5e --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/DefaultValue_UnitOfMeasureName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'SHT' + TargetAttribute: UnitOfMeasureName +} diff --git a/_Main/BL/Type_PanelMaterialIT/StaticMethod_ReceiveDataGeneration.qbl b/_Main/BL/Type_PanelMaterialIT/StaticMethod_ReceiveDataGeneration.qbl new file mode 100644 index 0000000..195adab --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/StaticMethod_ReceiveDataGeneration.qbl @@ -0,0 +1,65 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod ReceiveDataGeneration ( + GlobalOTDTable globalOTDTable, + NamedValueTree requestnvt +) +{ + TextBody: + [* + nameValue := requestnvt.Root(); + + bodyHandle := requestnvt.GetHandle( "Body" ); + restHandle := requestnvt.GetHandle( "Rest" ); + restPayloadHandle := requestnvt.GetHandle( "RestPayload" ); + + bodyNameValue := nameValue.Child( bodyHandle ); + restNameValue := bodyNameValue.Child( restHandle ); + restPayloadNameValue := restNameValue.Child( restPayloadHandle ); + + releaseDateHandle := requestnvt.GetHandle( "releaseDate" ); + businessTypeHandle := requestnvt.GetHandle( "businessType" ); + scenarioNameHandle := requestnvt.GetHandle( "scenarioName" ); + + releaseDateNameValue := restPayloadNameValue.Child( releaseDateHandle ); + 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(); + productIDHandle := requestnvt.GetHandle( "productID" ); + 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() ); + panelMaterialAll.PanelMaterialIT( 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() + ); + } + *] +} diff --git a/_Main/BL/Type_PanelMaterialIT/_ROOT_Type_PanelMaterialIT.qbl b/_Main/BL/Type_PanelMaterialIT/_ROOT_Type_PanelMaterialIT.qbl new file mode 100644 index 0000000..9e43a52 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialIT/_ROOT_Type_PanelMaterialIT.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type PanelMaterialIT +{ + #keys: '5[414702.0.203680278][414702.0.203680276][0.0.0][414702.0.203680277][414702.0.203680279]' + BaseType: Object + Description: 'IT' + StructuredName: 'PanelMaterialITs' +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_CurrencyID.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_CurrencyID.qbl new file mode 100644 index 0000000..8dd0c12 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_CurrencyID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CurrencyID +{ + #keys: '3[414702.0.203671554][414702.0.203671553][414702.0.203671555]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_Customer.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_Customer.qbl new file mode 100644 index 0000000..4feca35 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_Customer.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Customer +{ + #keys: '3[414702.0.203671521][414702.0.203671520][414702.0.203671522]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_CustomerID.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_CustomerID.qbl new file mode 100644 index 0000000..f3ff58f --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_CustomerID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CustomerID +{ + #keys: '3[414702.0.203671545][414702.0.203671544][414702.0.203671546]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_ID.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_ID.qbl new file mode 100644 index 0000000..243d94b --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_ID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ID +{ + #keys: '3[414702.0.203671533][414702.0.203671532][414702.0.203671534]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_IsEligibleForNetting.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_IsEligibleForNetting.qbl new file mode 100644 index 0000000..192c647 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_IsEligibleForNetting.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsEligibleForNetting +{ + #keys: '3[414702.0.203671524][414702.0.203671523][414702.0.203671525]' + ValueType: Boolean +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_IsExcludedFromFulfillmentKPIUser.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_IsExcludedFromFulfillmentKPIUser.qbl new file mode 100644 index 0000000..0ec007c --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_IsExcludedFromFulfillmentKPIUser.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsExcludedFromFulfillmentKPIUser +{ + #keys: '3[414702.0.203671557][414702.0.203671556][414702.0.203671558]' + ValueType: Boolean +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_IsFirmed.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_IsFirmed.qbl new file mode 100644 index 0000000..a7b488f --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_IsFirmed.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsFirmed +{ + #keys: '3[414702.0.203671548][414702.0.203671547][414702.0.203671549]' + ValueType: Boolean +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_OrderDate.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_OrderDate.qbl new file mode 100644 index 0000000..385b4cd --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_OrderDate.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderDate +{ + #keys: '3[414702.0.203671512][414702.0.203671511][414702.0.203671513]' + ValueType: Date +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_OrderID.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_OrderID.qbl new file mode 100644 index 0000000..70937cf --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_OrderID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderID +{ + #keys: '3[414702.0.203671518][414702.0.203671517][414702.0.203671519]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_OrderLineID.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_OrderLineID.qbl new file mode 100644 index 0000000..6d6f80a --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_OrderLineID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderLineID +{ + #keys: '3[414702.0.203671542][414702.0.203671541][414702.0.203671543]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_Price.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_Price.qbl new file mode 100644 index 0000000..06ea926 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_Price.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Price +{ + #keys: '3[414702.0.203671515][414702.0.203671514][414702.0.203671516]' + ValueType: Real +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_PriorityName.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_PriorityName.qbl new file mode 100644 index 0000000..65441bd --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_PriorityName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute PriorityName +{ + #keys: '3[414702.0.203671560][414702.0.203671559][414702.0.203671561]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_ProductID.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_ProductID.qbl new file mode 100644 index 0000000..a0b2ab2 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_ProductID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ProductID +{ + #keys: '3[414702.0.203671527][414702.0.203671526][414702.0.203671528]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_Quantity.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_Quantity.qbl new file mode 100644 index 0000000..65e10f2 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_Quantity.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Quantity +{ + #keys: '3[414702.0.203671536][414702.0.203671535][414702.0.203671537]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_SalesSegmentName.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_SalesSegmentName.qbl new file mode 100644 index 0000000..fba40f3 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_SalesSegmentName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute SalesSegmentName +{ + #keys: '3[414702.0.203671539][414702.0.203671538][414702.0.203671540]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_StockingPointID.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_StockingPointID.qbl new file mode 100644 index 0000000..f2917a8 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_StockingPointID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute StockingPointID +{ + #keys: '3[414702.0.203671551][414702.0.203671550][414702.0.203671552]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_UnitOfMeasureName.qbl new file mode 100644 index 0000000..9b9e6ed --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_UnitOfMeasureName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute UnitOfMeasureName +{ + #keys: '3[414702.0.203671530][414702.0.203671529][414702.0.203671531]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_CurrencyID.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_CurrencyID.qbl new file mode 100644 index 0000000..9a0e812 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_CurrencyID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'CNY' + TargetAttribute: CurrencyID +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_Customer.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_Customer.qbl new file mode 100644 index 0000000..e02a336 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_Customer.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Customer +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_CustomerID.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_CustomerID.qbl new file mode 100644 index 0000000..66ae438 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_CustomerID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: CustomerID +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_ID.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_ID.qbl new file mode 100644 index 0000000..049abc0 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_ID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: ID +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_IsEligibleForNetting.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_IsEligibleForNetting.qbl new file mode 100644 index 0000000..8b36496 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_IsEligibleForNetting.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'true' + TargetAttribute: IsEligibleForNetting +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl new file mode 100644 index 0000000..d0e348d --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'false' + TargetAttribute: IsExcludedFromFulfillmentKPIUser +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_IsFirmed.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_IsFirmed.qbl new file mode 100644 index 0000000..0f7ae4c --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_IsFirmed.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'true' + TargetAttribute: IsFirmed +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_OrderID.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_OrderID.qbl new file mode 100644 index 0000000..05c5cf1 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_OrderID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: OrderID +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_OrderLineID.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_OrderLineID.qbl new file mode 100644 index 0000000..01ff2bf --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_OrderLineID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: OrderLineID +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_Price.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_Price.qbl new file mode 100644 index 0000000..577db4c --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_Price.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: '0' + TargetAttribute: Price +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_PriorityName.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_PriorityName.qbl new file mode 100644 index 0000000..7c6efaa --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_PriorityName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'Normal' + TargetAttribute: PriorityName +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_ProductID.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_ProductID.qbl new file mode 100644 index 0000000..98649b2 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_ProductID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: ProductID +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_Quantity.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_Quantity.qbl new file mode 100644 index 0000000..9e759b3 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_Quantity.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Quantity +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_SalesSegmentName.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_SalesSegmentName.qbl new file mode 100644 index 0000000..521966d --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_SalesSegmentName.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: SalesSegmentName +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_StockingPointID.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_StockingPointID.qbl new file mode 100644 index 0000000..6110bce --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_StockingPointID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: '鎴愬搧浠�' + TargetAttribute: StockingPointID +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_UnitOfMeasureName.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_UnitOfMeasureName.qbl new file mode 100644 index 0000000..7f9ab5e --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_UnitOfMeasureName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'SHT' + TargetAttribute: UnitOfMeasureName +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/StaticMethod_ReceiveDataGeneration.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/StaticMethod_ReceiveDataGeneration.qbl new file mode 100644 index 0000000..ddb0119 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/StaticMethod_ReceiveDataGeneration.qbl @@ -0,0 +1,65 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod ReceiveDataGeneration ( + GlobalOTDTable globalOTDTable, + NamedValueTree requestnvt +) +{ + TextBody: + [* + nameValue := requestnvt.Root(); + + bodyHandle := requestnvt.GetHandle( "Body" ); + restHandle := requestnvt.GetHandle( "Rest" ); + restPayloadHandle := requestnvt.GetHandle( "RestPayload" ); + + bodyNameValue := nameValue.Child( bodyHandle ); + restNameValue := bodyNameValue.Child( restHandle ); + restPayloadNameValue := restNameValue.Child( restPayloadHandle ); + + releaseDateHandle := requestnvt.GetHandle( "releaseDate" ); + businessTypeHandle := requestnvt.GetHandle( "businessType" ); + scenarioNameHandle := requestnvt.GetHandle( "scenarioName" ); + + releaseDateNameValue := restPayloadNameValue.Child( releaseDateHandle ); + 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(); + productIDHandle := requestnvt.GetHandle( "productID" ); + 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() ); + panelMaterialAll.PanelMaterialSpecializedDisplay( 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() + ); + } + *] +} diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/_ROOT_Type_PanelMaterialSpecializedDisplay.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/_ROOT_Type_PanelMaterialSpecializedDisplay.qbl new file mode 100644 index 0000000..483a567 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/_ROOT_Type_PanelMaterialSpecializedDisplay.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type PanelMaterialSpecializedDisplay +{ + #keys: '5[414702.0.203671493][414702.0.203671491][0.0.0][414702.0.203671492][414702.0.203671494]' + BaseType: Object + Description: '涓撴樉' + StructuredName: 'PanelMaterialSpecializedDisplays' +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_CurrencyID.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_CurrencyID.qbl new file mode 100644 index 0000000..c6ac9c1 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_CurrencyID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CurrencyID +{ + #keys: '3[414702.0.203680261][414702.0.203680260][414702.0.203680262]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_Customer.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_Customer.qbl new file mode 100644 index 0000000..16ba69e --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_Customer.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Customer +{ + #keys: '3[414702.0.203680228][414702.0.203680227][414702.0.203680229]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_CustomerID.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_CustomerID.qbl new file mode 100644 index 0000000..b8c149a --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_CustomerID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CustomerID +{ + #keys: '3[414702.0.203680252][414702.0.203680251][414702.0.203680253]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_ID.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_ID.qbl new file mode 100644 index 0000000..3ad1519 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_ID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ID +{ + #keys: '3[414702.0.203680240][414702.0.203680239][414702.0.203680241]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_IsEligibleForNetting.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_IsEligibleForNetting.qbl new file mode 100644 index 0000000..c1f2e29 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_IsEligibleForNetting.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsEligibleForNetting +{ + #keys: '3[414702.0.203680231][414702.0.203680230][414702.0.203680232]' + ValueType: Boolean +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_IsExcludedFromFulfillmentKPIUser.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_IsExcludedFromFulfillmentKPIUser.qbl new file mode 100644 index 0000000..eae8b92 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_IsExcludedFromFulfillmentKPIUser.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsExcludedFromFulfillmentKPIUser +{ + #keys: '3[414702.0.203680264][414702.0.203680263][414702.0.203680265]' + ValueType: Boolean +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_IsFirmed.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_IsFirmed.qbl new file mode 100644 index 0000000..d9180af --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_IsFirmed.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsFirmed +{ + #keys: '3[414702.0.203680255][414702.0.203680254][414702.0.203680256]' + ValueType: Boolean +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_OrderDate.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_OrderDate.qbl new file mode 100644 index 0000000..b67fd64 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_OrderDate.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderDate +{ + #keys: '3[414702.0.203680219][414702.0.203680218][414702.0.203680220]' + ValueType: Date +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_OrderID.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_OrderID.qbl new file mode 100644 index 0000000..917dbd5 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_OrderID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderID +{ + #keys: '3[414702.0.203680225][414702.0.203680224][414702.0.203680226]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_OrderLineID.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_OrderLineID.qbl new file mode 100644 index 0000000..ba6e8fa --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_OrderLineID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderLineID +{ + #keys: '3[414702.0.203680249][414702.0.203680248][414702.0.203680250]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_Price.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_Price.qbl new file mode 100644 index 0000000..8952ea0 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_Price.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Price +{ + #keys: '3[414702.0.203680222][414702.0.203680221][414702.0.203680223]' + ValueType: Real +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_PriorityName.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_PriorityName.qbl new file mode 100644 index 0000000..6142149 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_PriorityName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute PriorityName +{ + #keys: '3[414702.0.203680267][414702.0.203680266][414702.0.203680268]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_ProductID.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_ProductID.qbl new file mode 100644 index 0000000..ef4fa53 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_ProductID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ProductID +{ + #keys: '3[414702.0.203680234][414702.0.203680233][414702.0.203680235]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_Quantity.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_Quantity.qbl new file mode 100644 index 0000000..b5c0fe2 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_Quantity.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Quantity +{ + #keys: '3[414702.0.203680243][414702.0.203680242][414702.0.203680244]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_SalesSegmentName.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_SalesSegmentName.qbl new file mode 100644 index 0000000..a2b09be --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_SalesSegmentName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute SalesSegmentName +{ + #keys: '3[414702.0.203680246][414702.0.203680245][414702.0.203680247]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_StockingPointID.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_StockingPointID.qbl new file mode 100644 index 0000000..423aada --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_StockingPointID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute StockingPointID +{ + #keys: '3[414702.0.203680258][414702.0.203680257][414702.0.203680259]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_UnitOfMeasureName.qbl new file mode 100644 index 0000000..b2fd490 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/Attribute_UnitOfMeasureName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute UnitOfMeasureName +{ + #keys: '3[414702.0.203680237][414702.0.203680236][414702.0.203680238]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_CurrencyID.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_CurrencyID.qbl new file mode 100644 index 0000000..9a0e812 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_CurrencyID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'CNY' + TargetAttribute: CurrencyID +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_Customer.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_Customer.qbl new file mode 100644 index 0000000..e02a336 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_Customer.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Customer +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_CustomerID.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_CustomerID.qbl new file mode 100644 index 0000000..66ae438 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_CustomerID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: CustomerID +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_ID.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_ID.qbl new file mode 100644 index 0000000..049abc0 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_ID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: ID +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_IsEligibleForNetting.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_IsEligibleForNetting.qbl new file mode 100644 index 0000000..8b36496 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_IsEligibleForNetting.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'true' + TargetAttribute: IsEligibleForNetting +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl new file mode 100644 index 0000000..d0e348d --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'false' + TargetAttribute: IsExcludedFromFulfillmentKPIUser +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_IsFirmed.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_IsFirmed.qbl new file mode 100644 index 0000000..0f7ae4c --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_IsFirmed.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'true' + TargetAttribute: IsFirmed +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_OrderID.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_OrderID.qbl new file mode 100644 index 0000000..05c5cf1 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_OrderID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: OrderID +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_OrderLineID.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_OrderLineID.qbl new file mode 100644 index 0000000..01ff2bf --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_OrderLineID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: OrderLineID +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_Price.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_Price.qbl new file mode 100644 index 0000000..577db4c --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_Price.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: '0' + TargetAttribute: Price +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_PriorityName.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_PriorityName.qbl new file mode 100644 index 0000000..7c6efaa --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_PriorityName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'Normal' + TargetAttribute: PriorityName +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_ProductID.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_ProductID.qbl new file mode 100644 index 0000000..98649b2 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_ProductID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: ProductID +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_Quantity.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_Quantity.qbl new file mode 100644 index 0000000..9e759b3 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_Quantity.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Quantity +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_SalesSegmentName.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_SalesSegmentName.qbl new file mode 100644 index 0000000..521966d --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_SalesSegmentName.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: SalesSegmentName +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_StockingPointID.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_StockingPointID.qbl new file mode 100644 index 0000000..6110bce --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_StockingPointID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: '鎴愬搧浠�' + TargetAttribute: StockingPointID +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_UnitOfMeasureName.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_UnitOfMeasureName.qbl new file mode 100644 index 0000000..7f9ab5e --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_UnitOfMeasureName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'SHT' + TargetAttribute: UnitOfMeasureName +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/StaticMethod_ReceiveDataGeneration.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/StaticMethod_ReceiveDataGeneration.qbl new file mode 100644 index 0000000..4ccf91b --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/StaticMethod_ReceiveDataGeneration.qbl @@ -0,0 +1,65 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod ReceiveDataGeneration ( + GlobalOTDTable globalOTDTable, + NamedValueTree requestnvt +) +{ + TextBody: + [* + nameValue := requestnvt.Root(); + + bodyHandle := requestnvt.GetHandle( "Body" ); + restHandle := requestnvt.GetHandle( "Rest" ); + restPayloadHandle := requestnvt.GetHandle( "RestPayload" ); + + bodyNameValue := nameValue.Child( bodyHandle ); + restNameValue := bodyNameValue.Child( restHandle ); + restPayloadNameValue := restNameValue.Child( restPayloadHandle ); + + releaseDateHandle := requestnvt.GetHandle( "releaseDate" ); + businessTypeHandle := requestnvt.GetHandle( "businessType" ); + scenarioNameHandle := requestnvt.GetHandle( "scenarioName" ); + + releaseDateNameValue := restPayloadNameValue.Child( releaseDateHandle ); + 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(); + productIDHandle := requestnvt.GetHandle( "productID" ); + 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() ); + panelMaterialAll.PanelMaterialSportsHealth( 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() + ); + } + *] +} diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/_ROOT_Type_PanelMaterialSportsHealth.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/_ROOT_Type_PanelMaterialSportsHealth.qbl new file mode 100644 index 0000000..1ac291b --- /dev/null +++ b/_Main/BL/Type_PanelMaterialSportsHealth/_ROOT_Type_PanelMaterialSportsHealth.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type PanelMaterialSportsHealth +{ + #keys: '5[414702.0.203680200][414702.0.203680198][0.0.0][414702.0.203680199][414702.0.203680201]' + BaseType: Object + Description: '杩愬姩鍋ュ悍' + StructuredName: 'PanelMaterialSportsHealths' +} diff --git a/_Main/BL/Type_PanelMaterialTM17/Attribute_CurrencyID.qbl b/_Main/BL/Type_PanelMaterialTM17/Attribute_CurrencyID.qbl new file mode 100644 index 0000000..20cd108 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/Attribute_CurrencyID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CurrencyID +{ + #keys: '3[414702.0.203671609][414702.0.203671608][414702.0.203671610]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTM17/Attribute_Customer.qbl b/_Main/BL/Type_PanelMaterialTM17/Attribute_Customer.qbl new file mode 100644 index 0000000..bee172b --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/Attribute_Customer.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Customer +{ + #keys: '3[414702.0.203671594][414702.0.203671593][414702.0.203671595]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTM17/Attribute_CustomerID.qbl b/_Main/BL/Type_PanelMaterialTM17/Attribute_CustomerID.qbl new file mode 100644 index 0000000..e689c52 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/Attribute_CustomerID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CustomerID +{ + #keys: '3[414702.0.203671621][414702.0.203671620][414702.0.203671622]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTM17/Attribute_ID.qbl b/_Main/BL/Type_PanelMaterialTM17/Attribute_ID.qbl new file mode 100644 index 0000000..63b5c99 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/Attribute_ID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ID +{ + #keys: '3[414702.0.203671615][414702.0.203671614][414702.0.203671616]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTM17/Attribute_IsEligibleForNetting.qbl b/_Main/BL/Type_PanelMaterialTM17/Attribute_IsEligibleForNetting.qbl new file mode 100644 index 0000000..5b15de6 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/Attribute_IsEligibleForNetting.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsEligibleForNetting +{ + #keys: '3[414702.0.203671612][414702.0.203671611][414702.0.203671613]' + ValueType: Boolean +} diff --git a/_Main/BL/Type_PanelMaterialTM17/Attribute_IsExcludedFromFulfillmentKPIUser.qbl b/_Main/BL/Type_PanelMaterialTM17/Attribute_IsExcludedFromFulfillmentKPIUser.qbl new file mode 100644 index 0000000..63575af --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/Attribute_IsExcludedFromFulfillmentKPIUser.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsExcludedFromFulfillmentKPIUser +{ + #keys: '3[414702.0.203671603][414702.0.203671602][414702.0.203671604]' + ValueType: Boolean +} diff --git a/_Main/BL/Type_PanelMaterialTM17/Attribute_IsFirmed.qbl b/_Main/BL/Type_PanelMaterialTM17/Attribute_IsFirmed.qbl new file mode 100644 index 0000000..f311335 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/Attribute_IsFirmed.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsFirmed +{ + #keys: '3[414702.0.203671591][414702.0.203671590][414702.0.203671592]' + ValueType: Boolean +} diff --git a/_Main/BL/Type_PanelMaterialTM17/Attribute_OrderDate.qbl b/_Main/BL/Type_PanelMaterialTM17/Attribute_OrderDate.qbl new file mode 100644 index 0000000..f83a64f --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/Attribute_OrderDate.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderDate +{ + #keys: '3[414702.0.203671630][414702.0.203671629][414702.0.203671631]' + ValueType: Date +} diff --git a/_Main/BL/Type_PanelMaterialTM17/Attribute_OrderID.qbl b/_Main/BL/Type_PanelMaterialTM17/Attribute_OrderID.qbl new file mode 100644 index 0000000..3fe99f4 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/Attribute_OrderID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderID +{ + #keys: '3[414702.0.203671606][414702.0.203671605][414702.0.203671607]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTM17/Attribute_OrderLineID.qbl b/_Main/BL/Type_PanelMaterialTM17/Attribute_OrderLineID.qbl new file mode 100644 index 0000000..f20d582 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/Attribute_OrderLineID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderLineID +{ + #keys: '3[414702.0.203671636][414702.0.203671635][414702.0.203671637]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTM17/Attribute_Price.qbl b/_Main/BL/Type_PanelMaterialTM17/Attribute_Price.qbl new file mode 100644 index 0000000..3234d7d --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/Attribute_Price.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Price +{ + #keys: '3[414702.0.203671588][414702.0.203671587][414702.0.203671589]' + ValueType: Real +} diff --git a/_Main/BL/Type_PanelMaterialTM17/Attribute_PriorityName.qbl b/_Main/BL/Type_PanelMaterialTM17/Attribute_PriorityName.qbl new file mode 100644 index 0000000..3ecd304 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/Attribute_PriorityName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute PriorityName +{ + #keys: '3[414702.0.203671627][414702.0.203671626][414702.0.203671628]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTM17/Attribute_ProductID.qbl b/_Main/BL/Type_PanelMaterialTM17/Attribute_ProductID.qbl new file mode 100644 index 0000000..a2edc37 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/Attribute_ProductID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ProductID +{ + #keys: '3[414702.0.203671600][414702.0.203671599][414702.0.203671601]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTM17/Attribute_Quantity.qbl b/_Main/BL/Type_PanelMaterialTM17/Attribute_Quantity.qbl new file mode 100644 index 0000000..3f43e48 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/Attribute_Quantity.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Quantity +{ + #keys: '3[414702.0.203671624][414702.0.203671623][414702.0.203671625]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTM17/Attribute_SalesSegmentName.qbl b/_Main/BL/Type_PanelMaterialTM17/Attribute_SalesSegmentName.qbl new file mode 100644 index 0000000..e4979c4 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/Attribute_SalesSegmentName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute SalesSegmentName +{ + #keys: '3[414702.0.203671633][414702.0.203671632][414702.0.203671634]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTM17/Attribute_StockingPointID.qbl b/_Main/BL/Type_PanelMaterialTM17/Attribute_StockingPointID.qbl new file mode 100644 index 0000000..0c70a04 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/Attribute_StockingPointID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute StockingPointID +{ + #keys: '3[414702.0.203671618][414702.0.203671617][414702.0.203671619]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTM17/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_PanelMaterialTM17/Attribute_UnitOfMeasureName.qbl new file mode 100644 index 0000000..f2df14f --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/Attribute_UnitOfMeasureName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute UnitOfMeasureName +{ + #keys: '3[414702.0.203671597][414702.0.203671596][414702.0.203671598]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTM17/DefaultValue_CurrencyID.qbl b/_Main/BL/Type_PanelMaterialTM17/DefaultValue_CurrencyID.qbl new file mode 100644 index 0000000..9a0e812 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/DefaultValue_CurrencyID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'CNY' + TargetAttribute: CurrencyID +} diff --git a/_Main/BL/Type_PanelMaterialTM17/DefaultValue_Customer.qbl b/_Main/BL/Type_PanelMaterialTM17/DefaultValue_Customer.qbl new file mode 100644 index 0000000..e02a336 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/DefaultValue_Customer.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Customer +} diff --git a/_Main/BL/Type_PanelMaterialTM17/DefaultValue_CustomerID.qbl b/_Main/BL/Type_PanelMaterialTM17/DefaultValue_CustomerID.qbl new file mode 100644 index 0000000..66ae438 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/DefaultValue_CustomerID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: CustomerID +} diff --git a/_Main/BL/Type_PanelMaterialTM17/DefaultValue_ID.qbl b/_Main/BL/Type_PanelMaterialTM17/DefaultValue_ID.qbl new file mode 100644 index 0000000..049abc0 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/DefaultValue_ID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: ID +} diff --git a/_Main/BL/Type_PanelMaterialTM17/DefaultValue_IsEligibleForNetting.qbl b/_Main/BL/Type_PanelMaterialTM17/DefaultValue_IsEligibleForNetting.qbl new file mode 100644 index 0000000..8b36496 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/DefaultValue_IsEligibleForNetting.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'true' + TargetAttribute: IsEligibleForNetting +} diff --git a/_Main/BL/Type_PanelMaterialTM17/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl b/_Main/BL/Type_PanelMaterialTM17/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl new file mode 100644 index 0000000..d0e348d --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'false' + TargetAttribute: IsExcludedFromFulfillmentKPIUser +} diff --git a/_Main/BL/Type_PanelMaterialTM17/DefaultValue_IsFirmed.qbl b/_Main/BL/Type_PanelMaterialTM17/DefaultValue_IsFirmed.qbl new file mode 100644 index 0000000..0f7ae4c --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/DefaultValue_IsFirmed.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'true' + TargetAttribute: IsFirmed +} diff --git a/_Main/BL/Type_PanelMaterialTM17/DefaultValue_OrderID.qbl b/_Main/BL/Type_PanelMaterialTM17/DefaultValue_OrderID.qbl new file mode 100644 index 0000000..05c5cf1 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/DefaultValue_OrderID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: OrderID +} diff --git a/_Main/BL/Type_PanelMaterialTM17/DefaultValue_OrderLineID.qbl b/_Main/BL/Type_PanelMaterialTM17/DefaultValue_OrderLineID.qbl new file mode 100644 index 0000000..01ff2bf --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/DefaultValue_OrderLineID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: OrderLineID +} diff --git a/_Main/BL/Type_PanelMaterialTM17/DefaultValue_Price.qbl b/_Main/BL/Type_PanelMaterialTM17/DefaultValue_Price.qbl new file mode 100644 index 0000000..577db4c --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/DefaultValue_Price.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: '0' + TargetAttribute: Price +} diff --git a/_Main/BL/Type_PanelMaterialTM17/DefaultValue_PriorityName.qbl b/_Main/BL/Type_PanelMaterialTM17/DefaultValue_PriorityName.qbl new file mode 100644 index 0000000..7c6efaa --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/DefaultValue_PriorityName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'Normal' + TargetAttribute: PriorityName +} diff --git a/_Main/BL/Type_PanelMaterialTM17/DefaultValue_ProductID.qbl b/_Main/BL/Type_PanelMaterialTM17/DefaultValue_ProductID.qbl new file mode 100644 index 0000000..98649b2 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/DefaultValue_ProductID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: ProductID +} diff --git a/_Main/BL/Type_PanelMaterialTM17/DefaultValue_Quantity.qbl b/_Main/BL/Type_PanelMaterialTM17/DefaultValue_Quantity.qbl new file mode 100644 index 0000000..9e759b3 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/DefaultValue_Quantity.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Quantity +} diff --git a/_Main/BL/Type_PanelMaterialTM17/DefaultValue_SalesSegmentName.qbl b/_Main/BL/Type_PanelMaterialTM17/DefaultValue_SalesSegmentName.qbl new file mode 100644 index 0000000..521966d --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/DefaultValue_SalesSegmentName.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: SalesSegmentName +} diff --git a/_Main/BL/Type_PanelMaterialTM17/DefaultValue_StockingPointID.qbl b/_Main/BL/Type_PanelMaterialTM17/DefaultValue_StockingPointID.qbl new file mode 100644 index 0000000..6110bce --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/DefaultValue_StockingPointID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: '鎴愬搧浠�' + TargetAttribute: StockingPointID +} diff --git a/_Main/BL/Type_PanelMaterialTM17/DefaultValue_UnitOfMeasureName.qbl b/_Main/BL/Type_PanelMaterialTM17/DefaultValue_UnitOfMeasureName.qbl new file mode 100644 index 0000000..7f9ab5e --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/DefaultValue_UnitOfMeasureName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'SHT' + TargetAttribute: UnitOfMeasureName +} diff --git a/_Main/BL/Type_PanelMaterialTM17/StaticMethod_ReceiveDataGeneration.qbl b/_Main/BL/Type_PanelMaterialTM17/StaticMethod_ReceiveDataGeneration.qbl new file mode 100644 index 0000000..9f7f71a --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/StaticMethod_ReceiveDataGeneration.qbl @@ -0,0 +1,65 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod ReceiveDataGeneration ( + GlobalOTDTable globalOTDTable, + NamedValueTree requestnvt +) +{ + TextBody: + [* + nameValue := requestnvt.Root(); + + bodyHandle := requestnvt.GetHandle( "Body" ); + restHandle := requestnvt.GetHandle( "Rest" ); + restPayloadHandle := requestnvt.GetHandle( "RestPayload" ); + + bodyNameValue := nameValue.Child( bodyHandle ); + restNameValue := bodyNameValue.Child( restHandle ); + restPayloadNameValue := restNameValue.Child( restPayloadHandle ); + + releaseDateHandle := requestnvt.GetHandle( "releaseDate" ); + businessTypeHandle := requestnvt.GetHandle( "businessType" ); + scenarioNameHandle := requestnvt.GetHandle( "scenarioName" ); + + releaseDateNameValue := restPayloadNameValue.Child( releaseDateHandle ); + 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(); + productIDHandle := requestnvt.GetHandle( "productID" ); + 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() ); + panelMaterialAll.PanelMaterialTM17( 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() + ); + } + *] +} diff --git a/_Main/BL/Type_PanelMaterialTM17/_ROOT_Type_PanelMaterialTM17.qbl b/_Main/BL/Type_PanelMaterialTM17/_ROOT_Type_PanelMaterialTM17.qbl new file mode 100644 index 0000000..54c85a7 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM17/_ROOT_Type_PanelMaterialTM17.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type PanelMaterialTM17 +{ + #keys: '5[414702.0.203671569][414702.0.203671567][0.0.0][414702.0.203671568][414702.0.203671570]' + BaseType: Object + Description: 'TM17' + StructuredName: 'PanelMaterialTM17s' +} diff --git a/_Main/BL/Type_PanelMaterialTM18/Attribute_CurrencyID.qbl b/_Main/BL/Type_PanelMaterialTM18/Attribute_CurrencyID.qbl new file mode 100644 index 0000000..9fa6c69 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/Attribute_CurrencyID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CurrencyID +{ + #keys: '3[414702.0.203680386][414702.0.203680385][414702.0.203680387]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTM18/Attribute_Customer.qbl b/_Main/BL/Type_PanelMaterialTM18/Attribute_Customer.qbl new file mode 100644 index 0000000..afffc3c --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/Attribute_Customer.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Customer +{ + #keys: '3[414702.0.203680395][414702.0.203680394][414702.0.203680396]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTM18/Attribute_CustomerID.qbl b/_Main/BL/Type_PanelMaterialTM18/Attribute_CustomerID.qbl new file mode 100644 index 0000000..05564f1 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/Attribute_CustomerID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CustomerID +{ + #keys: '3[414702.0.203680413][414702.0.203680412][414702.0.203680414]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTM18/Attribute_ID.qbl b/_Main/BL/Type_PanelMaterialTM18/Attribute_ID.qbl new file mode 100644 index 0000000..37d4aed --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/Attribute_ID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ID +{ + #keys: '3[414702.0.203680401][414702.0.203680400][414702.0.203680402]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTM18/Attribute_IsEligibleForNetting.qbl b/_Main/BL/Type_PanelMaterialTM18/Attribute_IsEligibleForNetting.qbl new file mode 100644 index 0000000..d994032 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/Attribute_IsEligibleForNetting.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsEligibleForNetting +{ + #keys: '3[414702.0.203680416][414702.0.203680415][414702.0.203680417]' + ValueType: Boolean +} diff --git a/_Main/BL/Type_PanelMaterialTM18/Attribute_IsExcludedFromFulfillmentKPIUser.qbl b/_Main/BL/Type_PanelMaterialTM18/Attribute_IsExcludedFromFulfillmentKPIUser.qbl new file mode 100644 index 0000000..0868269 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/Attribute_IsExcludedFromFulfillmentKPIUser.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsExcludedFromFulfillmentKPIUser +{ + #keys: '3[414702.0.203680419][414702.0.203680418][414702.0.203680420]' + ValueType: Boolean +} diff --git a/_Main/BL/Type_PanelMaterialTM18/Attribute_IsFirmed.qbl b/_Main/BL/Type_PanelMaterialTM18/Attribute_IsFirmed.qbl new file mode 100644 index 0000000..157903f --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/Attribute_IsFirmed.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsFirmed +{ + #keys: '3[414702.0.203680380][414702.0.203680379][414702.0.203680381]' + ValueType: Boolean +} diff --git a/_Main/BL/Type_PanelMaterialTM18/Attribute_OrderDate.qbl b/_Main/BL/Type_PanelMaterialTM18/Attribute_OrderDate.qbl new file mode 100644 index 0000000..fcd19b6 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/Attribute_OrderDate.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderDate +{ + #keys: '3[414702.0.203680407][414702.0.203680406][414702.0.203680408]' + ValueType: Date +} diff --git a/_Main/BL/Type_PanelMaterialTM18/Attribute_OrderID.qbl b/_Main/BL/Type_PanelMaterialTM18/Attribute_OrderID.qbl new file mode 100644 index 0000000..867df94 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/Attribute_OrderID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderID +{ + #keys: '3[414702.0.203680392][414702.0.203680391][414702.0.203680393]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTM18/Attribute_OrderLineID.qbl b/_Main/BL/Type_PanelMaterialTM18/Attribute_OrderLineID.qbl new file mode 100644 index 0000000..61afc1f --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/Attribute_OrderLineID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderLineID +{ + #keys: '3[414702.0.203680398][414702.0.203680397][414702.0.203680399]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTM18/Attribute_Price.qbl b/_Main/BL/Type_PanelMaterialTM18/Attribute_Price.qbl new file mode 100644 index 0000000..2446765 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/Attribute_Price.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Price +{ + #keys: '3[414702.0.203680389][414702.0.203680388][414702.0.203680390]' + ValueType: Real +} diff --git a/_Main/BL/Type_PanelMaterialTM18/Attribute_PriorityName.qbl b/_Main/BL/Type_PanelMaterialTM18/Attribute_PriorityName.qbl new file mode 100644 index 0000000..57ab630 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/Attribute_PriorityName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute PriorityName +{ + #keys: '3[414702.0.203680422][414702.0.203680421][414702.0.203680423]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTM18/Attribute_ProductID.qbl b/_Main/BL/Type_PanelMaterialTM18/Attribute_ProductID.qbl new file mode 100644 index 0000000..976c946 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/Attribute_ProductID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ProductID +{ + #keys: '3[414702.0.203680377][414702.0.203680376][414702.0.203680378]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTM18/Attribute_Quantity.qbl b/_Main/BL/Type_PanelMaterialTM18/Attribute_Quantity.qbl new file mode 100644 index 0000000..f7d8717 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/Attribute_Quantity.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Quantity +{ + #keys: '3[414702.0.203680425][414702.0.203680424][414702.0.203680426]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTM18/Attribute_SalesSegmentName.qbl b/_Main/BL/Type_PanelMaterialTM18/Attribute_SalesSegmentName.qbl new file mode 100644 index 0000000..deeb9c2 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/Attribute_SalesSegmentName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute SalesSegmentName +{ + #keys: '3[414702.0.203680404][414702.0.203680403][414702.0.203680405]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTM18/Attribute_StockingPointID.qbl b/_Main/BL/Type_PanelMaterialTM18/Attribute_StockingPointID.qbl new file mode 100644 index 0000000..b98b82a --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/Attribute_StockingPointID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute StockingPointID +{ + #keys: '3[414702.0.203680383][414702.0.203680382][414702.0.203680384]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTM18/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_PanelMaterialTM18/Attribute_UnitOfMeasureName.qbl new file mode 100644 index 0000000..4c162ed --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/Attribute_UnitOfMeasureName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute UnitOfMeasureName +{ + #keys: '3[414702.0.203680410][414702.0.203680409][414702.0.203680411]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTM18/DefaultValue_CurrencyID.qbl b/_Main/BL/Type_PanelMaterialTM18/DefaultValue_CurrencyID.qbl new file mode 100644 index 0000000..9a0e812 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/DefaultValue_CurrencyID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'CNY' + TargetAttribute: CurrencyID +} diff --git a/_Main/BL/Type_PanelMaterialTM18/DefaultValue_Customer.qbl b/_Main/BL/Type_PanelMaterialTM18/DefaultValue_Customer.qbl new file mode 100644 index 0000000..e02a336 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/DefaultValue_Customer.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Customer +} diff --git a/_Main/BL/Type_PanelMaterialTM18/DefaultValue_CustomerID.qbl b/_Main/BL/Type_PanelMaterialTM18/DefaultValue_CustomerID.qbl new file mode 100644 index 0000000..66ae438 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/DefaultValue_CustomerID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: CustomerID +} diff --git a/_Main/BL/Type_PanelMaterialTM18/DefaultValue_ID.qbl b/_Main/BL/Type_PanelMaterialTM18/DefaultValue_ID.qbl new file mode 100644 index 0000000..049abc0 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/DefaultValue_ID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: ID +} diff --git a/_Main/BL/Type_PanelMaterialTM18/DefaultValue_IsEligibleForNetting.qbl b/_Main/BL/Type_PanelMaterialTM18/DefaultValue_IsEligibleForNetting.qbl new file mode 100644 index 0000000..8b36496 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/DefaultValue_IsEligibleForNetting.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'true' + TargetAttribute: IsEligibleForNetting +} diff --git a/_Main/BL/Type_PanelMaterialTM18/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl b/_Main/BL/Type_PanelMaterialTM18/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl new file mode 100644 index 0000000..d0e348d --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'false' + TargetAttribute: IsExcludedFromFulfillmentKPIUser +} diff --git a/_Main/BL/Type_PanelMaterialTM18/DefaultValue_IsFirmed.qbl b/_Main/BL/Type_PanelMaterialTM18/DefaultValue_IsFirmed.qbl new file mode 100644 index 0000000..0f7ae4c --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/DefaultValue_IsFirmed.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'true' + TargetAttribute: IsFirmed +} diff --git a/_Main/BL/Type_PanelMaterialTM18/DefaultValue_OrderID.qbl b/_Main/BL/Type_PanelMaterialTM18/DefaultValue_OrderID.qbl new file mode 100644 index 0000000..05c5cf1 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/DefaultValue_OrderID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: OrderID +} diff --git a/_Main/BL/Type_PanelMaterialTM18/DefaultValue_OrderLineID.qbl b/_Main/BL/Type_PanelMaterialTM18/DefaultValue_OrderLineID.qbl new file mode 100644 index 0000000..01ff2bf --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/DefaultValue_OrderLineID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: OrderLineID +} diff --git a/_Main/BL/Type_PanelMaterialTM18/DefaultValue_Price.qbl b/_Main/BL/Type_PanelMaterialTM18/DefaultValue_Price.qbl new file mode 100644 index 0000000..577db4c --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/DefaultValue_Price.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: '0' + TargetAttribute: Price +} diff --git a/_Main/BL/Type_PanelMaterialTM18/DefaultValue_PriorityName.qbl b/_Main/BL/Type_PanelMaterialTM18/DefaultValue_PriorityName.qbl new file mode 100644 index 0000000..7c6efaa --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/DefaultValue_PriorityName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'Normal' + TargetAttribute: PriorityName +} diff --git a/_Main/BL/Type_PanelMaterialTM18/DefaultValue_ProductID.qbl b/_Main/BL/Type_PanelMaterialTM18/DefaultValue_ProductID.qbl new file mode 100644 index 0000000..98649b2 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/DefaultValue_ProductID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: ProductID +} diff --git a/_Main/BL/Type_PanelMaterialTM18/DefaultValue_Quantity.qbl b/_Main/BL/Type_PanelMaterialTM18/DefaultValue_Quantity.qbl new file mode 100644 index 0000000..9e759b3 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/DefaultValue_Quantity.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Quantity +} diff --git a/_Main/BL/Type_PanelMaterialTM18/DefaultValue_SalesSegmentName.qbl b/_Main/BL/Type_PanelMaterialTM18/DefaultValue_SalesSegmentName.qbl new file mode 100644 index 0000000..521966d --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/DefaultValue_SalesSegmentName.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: SalesSegmentName +} diff --git a/_Main/BL/Type_PanelMaterialTM18/DefaultValue_StockingPointID.qbl b/_Main/BL/Type_PanelMaterialTM18/DefaultValue_StockingPointID.qbl new file mode 100644 index 0000000..6110bce --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/DefaultValue_StockingPointID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: '鎴愬搧浠�' + TargetAttribute: StockingPointID +} diff --git a/_Main/BL/Type_PanelMaterialTM18/DefaultValue_UnitOfMeasureName.qbl b/_Main/BL/Type_PanelMaterialTM18/DefaultValue_UnitOfMeasureName.qbl new file mode 100644 index 0000000..7f9ab5e --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/DefaultValue_UnitOfMeasureName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'SHT' + TargetAttribute: UnitOfMeasureName +} diff --git a/_Main/BL/Type_PanelMaterialTM18/StaticMethod_ReceiveDataGeneration.qbl b/_Main/BL/Type_PanelMaterialTM18/StaticMethod_ReceiveDataGeneration.qbl new file mode 100644 index 0000000..9145c77 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/StaticMethod_ReceiveDataGeneration.qbl @@ -0,0 +1,65 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod ReceiveDataGeneration ( + GlobalOTDTable globalOTDTable, + NamedValueTree requestnvt +) +{ + TextBody: + [* + nameValue := requestnvt.Root(); + + bodyHandle := requestnvt.GetHandle( "Body" ); + restHandle := requestnvt.GetHandle( "Rest" ); + restPayloadHandle := requestnvt.GetHandle( "RestPayload" ); + + bodyNameValue := nameValue.Child( bodyHandle ); + restNameValue := bodyNameValue.Child( restHandle ); + restPayloadNameValue := restNameValue.Child( restPayloadHandle ); + + releaseDateHandle := requestnvt.GetHandle( "releaseDate" ); + businessTypeHandle := requestnvt.GetHandle( "businessType" ); + scenarioNameHandle := requestnvt.GetHandle( "scenarioName" ); + + releaseDateNameValue := restPayloadNameValue.Child( releaseDateHandle ); + 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(); + productIDHandle := requestnvt.GetHandle( "productID" ); + 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() ); + panelMaterialAll.PanelMaterialTM18( 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() + ); + } + *] +} diff --git a/_Main/BL/Type_PanelMaterialTM18/_ROOT_Type_PanelMaterialTM18.qbl b/_Main/BL/Type_PanelMaterialTM18/_ROOT_Type_PanelMaterialTM18.qbl new file mode 100644 index 0000000..75ea3ae --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTM18/_ROOT_Type_PanelMaterialTM18.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type PanelMaterialTM18 +{ + #keys: '5[414702.0.203680356][414702.0.203680354][0.0.0][414702.0.203680355][414702.0.203680357]' + BaseType: Object + Description: 'TM18' + StructuredName: 'PanelMaterialTM18s' +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/Attribute_CurrencyID.qbl b/_Main/BL/Type_PanelMaterialTianHua/Attribute_CurrencyID.qbl new file mode 100644 index 0000000..3733f5b --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/Attribute_CurrencyID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CurrencyID +{ + #keys: '3[414702.0.203671460][414702.0.203671459][414702.0.203671461]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/Attribute_Customer.qbl b/_Main/BL/Type_PanelMaterialTianHua/Attribute_Customer.qbl new file mode 100644 index 0000000..9f58ae5 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/Attribute_Customer.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Customer +{ + #keys: '3[414702.0.203671427][414702.0.203671426][414702.0.203671428]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/Attribute_CustomerID.qbl b/_Main/BL/Type_PanelMaterialTianHua/Attribute_CustomerID.qbl new file mode 100644 index 0000000..c563be0 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/Attribute_CustomerID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CustomerID +{ + #keys: '3[414702.0.203671451][414702.0.203671450][414702.0.203671452]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/Attribute_ID.qbl b/_Main/BL/Type_PanelMaterialTianHua/Attribute_ID.qbl new file mode 100644 index 0000000..1cebdcf --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/Attribute_ID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ID +{ + #keys: '3[414702.0.203671439][414702.0.203671438][414702.0.203671440]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/Attribute_IsEligibleForNetting.qbl b/_Main/BL/Type_PanelMaterialTianHua/Attribute_IsEligibleForNetting.qbl new file mode 100644 index 0000000..99eb60c --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/Attribute_IsEligibleForNetting.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsEligibleForNetting +{ + #keys: '3[414702.0.203671430][414702.0.203671429][414702.0.203671431]' + ValueType: Boolean +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/Attribute_IsExcludedFromFulfillmentKPIUser.qbl b/_Main/BL/Type_PanelMaterialTianHua/Attribute_IsExcludedFromFulfillmentKPIUser.qbl new file mode 100644 index 0000000..4efa43a --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/Attribute_IsExcludedFromFulfillmentKPIUser.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsExcludedFromFulfillmentKPIUser +{ + #keys: '3[414702.0.203671463][414702.0.203671462][414702.0.203671464]' + ValueType: Boolean +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/Attribute_IsFirmed.qbl b/_Main/BL/Type_PanelMaterialTianHua/Attribute_IsFirmed.qbl new file mode 100644 index 0000000..0603138 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/Attribute_IsFirmed.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsFirmed +{ + #keys: '3[414702.0.203671454][414702.0.203671453][414702.0.203671455]' + ValueType: Boolean +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/Attribute_OrderDate.qbl b/_Main/BL/Type_PanelMaterialTianHua/Attribute_OrderDate.qbl new file mode 100644 index 0000000..87acd44 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/Attribute_OrderDate.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderDate +{ + #keys: '3[414702.0.203671418][414702.0.203671417][414702.0.203671419]' + ValueType: Date +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/Attribute_OrderID.qbl b/_Main/BL/Type_PanelMaterialTianHua/Attribute_OrderID.qbl new file mode 100644 index 0000000..ecf37e0 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/Attribute_OrderID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderID +{ + #keys: '3[414702.0.203671424][414702.0.203671423][414702.0.203671425]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/Attribute_OrderLineID.qbl b/_Main/BL/Type_PanelMaterialTianHua/Attribute_OrderLineID.qbl new file mode 100644 index 0000000..c0a4a24 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/Attribute_OrderLineID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderLineID +{ + #keys: '3[414702.0.203671448][414702.0.203671447][414702.0.203671449]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/Attribute_Price.qbl b/_Main/BL/Type_PanelMaterialTianHua/Attribute_Price.qbl new file mode 100644 index 0000000..05e48bd --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/Attribute_Price.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Price +{ + #keys: '3[414702.0.203671421][414702.0.203671420][414702.0.203671422]' + ValueType: Real +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/Attribute_PriorityName.qbl b/_Main/BL/Type_PanelMaterialTianHua/Attribute_PriorityName.qbl new file mode 100644 index 0000000..a11a6ca --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/Attribute_PriorityName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute PriorityName +{ + #keys: '3[414702.0.203671466][414702.0.203671465][414702.0.203671467]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/Attribute_ProductID.qbl b/_Main/BL/Type_PanelMaterialTianHua/Attribute_ProductID.qbl new file mode 100644 index 0000000..1148598 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/Attribute_ProductID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ProductID +{ + #keys: '3[414702.0.203671433][414702.0.203671432][414702.0.203671434]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/Attribute_Quantity.qbl b/_Main/BL/Type_PanelMaterialTianHua/Attribute_Quantity.qbl new file mode 100644 index 0000000..458dd84 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/Attribute_Quantity.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Quantity +{ + #keys: '3[414702.0.203671442][414702.0.203671441][414702.0.203671443]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/Attribute_SalesSegmentName.qbl b/_Main/BL/Type_PanelMaterialTianHua/Attribute_SalesSegmentName.qbl new file mode 100644 index 0000000..748894c --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/Attribute_SalesSegmentName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute SalesSegmentName +{ + #keys: '3[414702.0.203671445][414702.0.203671444][414702.0.203671446]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/Attribute_StockingPointID.qbl b/_Main/BL/Type_PanelMaterialTianHua/Attribute_StockingPointID.qbl new file mode 100644 index 0000000..8c31b00 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/Attribute_StockingPointID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute StockingPointID +{ + #keys: '3[414702.0.203671457][414702.0.203671456][414702.0.203671458]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_PanelMaterialTianHua/Attribute_UnitOfMeasureName.qbl new file mode 100644 index 0000000..f3ecefc --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/Attribute_UnitOfMeasureName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute UnitOfMeasureName +{ + #keys: '3[414702.0.203671436][414702.0.203671435][414702.0.203671437]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_CurrencyID.qbl b/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_CurrencyID.qbl new file mode 100644 index 0000000..9a0e812 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_CurrencyID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'CNY' + TargetAttribute: CurrencyID +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_Customer.qbl b/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_Customer.qbl new file mode 100644 index 0000000..e02a336 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_Customer.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Customer +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_CustomerID.qbl b/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_CustomerID.qbl new file mode 100644 index 0000000..66ae438 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_CustomerID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: CustomerID +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_ID.qbl b/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_ID.qbl new file mode 100644 index 0000000..049abc0 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_ID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: ID +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_IsEligibleForNetting.qbl b/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_IsEligibleForNetting.qbl new file mode 100644 index 0000000..8b36496 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_IsEligibleForNetting.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'true' + TargetAttribute: IsEligibleForNetting +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl b/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl new file mode 100644 index 0000000..d0e348d --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'false' + TargetAttribute: IsExcludedFromFulfillmentKPIUser +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_IsFirmed.qbl b/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_IsFirmed.qbl new file mode 100644 index 0000000..0f7ae4c --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_IsFirmed.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'true' + TargetAttribute: IsFirmed +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_OrderID.qbl b/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_OrderID.qbl new file mode 100644 index 0000000..05c5cf1 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_OrderID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: OrderID +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_OrderLineID.qbl b/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_OrderLineID.qbl new file mode 100644 index 0000000..01ff2bf --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_OrderLineID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: OrderLineID +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_Price.qbl b/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_Price.qbl new file mode 100644 index 0000000..577db4c --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_Price.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: '0' + TargetAttribute: Price +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_PriorityName.qbl b/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_PriorityName.qbl new file mode 100644 index 0000000..7c6efaa --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_PriorityName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'Normal' + TargetAttribute: PriorityName +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_ProductID.qbl b/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_ProductID.qbl new file mode 100644 index 0000000..98649b2 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_ProductID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: ProductID +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_Quantity.qbl b/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_Quantity.qbl new file mode 100644 index 0000000..9e759b3 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_Quantity.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Quantity +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_SalesSegmentName.qbl b/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_SalesSegmentName.qbl new file mode 100644 index 0000000..521966d --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_SalesSegmentName.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: SalesSegmentName +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_StockingPointID.qbl b/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_StockingPointID.qbl new file mode 100644 index 0000000..6110bce --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_StockingPointID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: '鎴愬搧浠�' + TargetAttribute: StockingPointID +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_UnitOfMeasureName.qbl b/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_UnitOfMeasureName.qbl new file mode 100644 index 0000000..7f9ab5e --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/DefaultValue_UnitOfMeasureName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'SHT' + TargetAttribute: UnitOfMeasureName +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/StaticMethod_ReceiveDataGeneration.qbl b/_Main/BL/Type_PanelMaterialTianHua/StaticMethod_ReceiveDataGeneration.qbl new file mode 100644 index 0000000..042dc4a --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/StaticMethod_ReceiveDataGeneration.qbl @@ -0,0 +1,65 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod ReceiveDataGeneration ( + GlobalOTDTable globalOTDTable, + NamedValueTree requestnvt +) +{ + TextBody: + [* + nameValue := requestnvt.Root(); + + bodyHandle := requestnvt.GetHandle( "Body" ); + restHandle := requestnvt.GetHandle( "Rest" ); + restPayloadHandle := requestnvt.GetHandle( "RestPayload" ); + + bodyNameValue := nameValue.Child( bodyHandle ); + restNameValue := bodyNameValue.Child( restHandle ); + restPayloadNameValue := restNameValue.Child( restPayloadHandle ); + + releaseDateHandle := requestnvt.GetHandle( "releaseDate" ); + businessTypeHandle := requestnvt.GetHandle( "businessType" ); + scenarioNameHandle := requestnvt.GetHandle( "scenarioName" ); + + releaseDateNameValue := restPayloadNameValue.Child( releaseDateHandle ); + 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(); + productIDHandle := requestnvt.GetHandle( "productID" ); + 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() ); + panelMaterialAll.PanelMaterialTianHua( 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() + ); + } + *] +} diff --git a/_Main/BL/Type_PanelMaterialTianHua/_ROOT_Type_PanelMaterialTianHua.qbl b/_Main/BL/Type_PanelMaterialTianHua/_ROOT_Type_PanelMaterialTianHua.qbl new file mode 100644 index 0000000..d2d2fa2 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialTianHua/_ROOT_Type_PanelMaterialTianHua.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type PanelMaterialTianHua +{ + #keys: '5[414702.0.203671414][414702.0.203671412][0.0.0][414702.0.203671413][414702.0.203671415]' + BaseType: Object + Description: '澶╄姳' + StructuredName: 'PanelMaterialTianHuas' +} diff --git a/_Main/BL/Type_PanelMaterialVehicle/Attribute_CurrencyID.qbl b/_Main/BL/Type_PanelMaterialVehicle/Attribute_CurrencyID.qbl new file mode 100644 index 0000000..8f3b50c --- /dev/null +++ b/_Main/BL/Type_PanelMaterialVehicle/Attribute_CurrencyID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CurrencyID +{ + #keys: '3[414702.0.185221293][414702.0.185221292][414702.0.185221294]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialVehicle/Attribute_Customer.qbl b/_Main/BL/Type_PanelMaterialVehicle/Attribute_Customer.qbl new file mode 100644 index 0000000..e6bc6a9 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialVehicle/Attribute_Customer.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Customer +{ + #keys: '3[414702.0.185221308][414702.0.185221307][414702.0.185221309]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialVehicle/Attribute_CustomerID.qbl b/_Main/BL/Type_PanelMaterialVehicle/Attribute_CustomerID.qbl new file mode 100644 index 0000000..6395618 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialVehicle/Attribute_CustomerID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CustomerID +{ + #keys: '3[414702.0.185221318][414702.0.185221317][414702.0.185221319]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialVehicle/Attribute_ID.qbl b/_Main/BL/Type_PanelMaterialVehicle/Attribute_ID.qbl new file mode 100644 index 0000000..6156649 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialVehicle/Attribute_ID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ID +{ + #keys: '3[414702.0.185221328][414702.0.185221327][414702.0.185221329]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialVehicle/Attribute_IsEligibleForNetting.qbl b/_Main/BL/Type_PanelMaterialVehicle/Attribute_IsEligibleForNetting.qbl new file mode 100644 index 0000000..5641056 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialVehicle/Attribute_IsEligibleForNetting.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsEligibleForNetting +{ + #keys: '3[414702.0.185221338][414702.0.185221337][414702.0.185221339]' + ValueType: Boolean +} diff --git a/_Main/BL/Type_PanelMaterialVehicle/Attribute_IsExcludedFromFulfillmentKPIUser.qbl b/_Main/BL/Type_PanelMaterialVehicle/Attribute_IsExcludedFromFulfillmentKPIUser.qbl new file mode 100644 index 0000000..146d5c0 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialVehicle/Attribute_IsExcludedFromFulfillmentKPIUser.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsExcludedFromFulfillmentKPIUser +{ + #keys: '3[414702.0.185221353][414702.0.185221352][414702.0.185221354]' + ValueType: Boolean +} diff --git a/_Main/BL/Type_PanelMaterialVehicle/Attribute_IsFirmed.qbl b/_Main/BL/Type_PanelMaterialVehicle/Attribute_IsFirmed.qbl new file mode 100644 index 0000000..9c8c56e --- /dev/null +++ b/_Main/BL/Type_PanelMaterialVehicle/Attribute_IsFirmed.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsFirmed +{ + #keys: '3[414702.0.185221448][414702.0.185221447][414702.0.185221449]' + ValueType: Boolean +} diff --git a/_Main/BL/Type_PanelMaterialVehicle/Attribute_OrderDate.qbl b/_Main/BL/Type_PanelMaterialVehicle/Attribute_OrderDate.qbl new file mode 100644 index 0000000..e903396 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialVehicle/Attribute_OrderDate.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderDate +{ + #keys: '3[414702.0.185221371][414702.0.185221370][414702.0.185221372]' + ValueType: Date +} diff --git a/_Main/BL/Type_PanelMaterialVehicle/Attribute_OrderID.qbl b/_Main/BL/Type_PanelMaterialVehicle/Attribute_OrderID.qbl new file mode 100644 index 0000000..c204400 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialVehicle/Attribute_OrderID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderID +{ + #keys: '3[414702.0.185221381][414702.0.185221380][414702.0.185221382]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialVehicle/Attribute_OrderLineID.qbl b/_Main/BL/Type_PanelMaterialVehicle/Attribute_OrderLineID.qbl new file mode 100644 index 0000000..3821ce7 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialVehicle/Attribute_OrderLineID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderLineID +{ + #keys: '3[414702.0.185221391][414702.0.185221390][414702.0.185221392]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialVehicle/Attribute_Price.qbl b/_Main/BL/Type_PanelMaterialVehicle/Attribute_Price.qbl new file mode 100644 index 0000000..463684f --- /dev/null +++ b/_Main/BL/Type_PanelMaterialVehicle/Attribute_Price.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Price +{ + #keys: '3[414702.0.185221401][414702.0.185221400][414702.0.185221402]' + ValueType: Real +} diff --git a/_Main/BL/Type_PanelMaterialVehicle/Attribute_PriorityName.qbl b/_Main/BL/Type_PanelMaterialVehicle/Attribute_PriorityName.qbl new file mode 100644 index 0000000..7d354ca --- /dev/null +++ b/_Main/BL/Type_PanelMaterialVehicle/Attribute_PriorityName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute PriorityName +{ + #keys: '3[414702.0.185221422][414702.0.185221421][414702.0.185221423]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialVehicle/Attribute_ProductID.qbl b/_Main/BL/Type_PanelMaterialVehicle/Attribute_ProductID.qbl new file mode 100644 index 0000000..647a657 --- /dev/null +++ b/_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 +} diff --git a/_Main/BL/Type_PanelMaterialVehicle/Attribute_Quantity.qbl b/_Main/BL/Type_PanelMaterialVehicle/Attribute_Quantity.qbl new file mode 100644 index 0000000..1a67884 --- /dev/null +++ b/_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 +} diff --git a/_Main/BL/Type_PanelMaterialVehicle/Attribute_SalesSegmentName.qbl b/_Main/BL/Type_PanelMaterialVehicle/Attribute_SalesSegmentName.qbl new file mode 100644 index 0000000..d10a137 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialVehicle/Attribute_SalesSegmentName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute SalesSegmentName +{ + #keys: '3[414702.0.185221438][414702.0.185221437][414702.0.185221439]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialVehicle/Attribute_StockingPointID.qbl b/_Main/BL/Type_PanelMaterialVehicle/Attribute_StockingPointID.qbl new file mode 100644 index 0000000..cb09362 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialVehicle/Attribute_StockingPointID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute StockingPointID +{ + #keys: '3[414702.0.185221463][414702.0.185221462][414702.0.185221464]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialVehicle/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_PanelMaterialVehicle/Attribute_UnitOfMeasureName.qbl new file mode 100644 index 0000000..e8dbcc8 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialVehicle/Attribute_UnitOfMeasureName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute UnitOfMeasureName +{ + #keys: '3[414702.0.185221478][414702.0.185221477][414702.0.185221479]' + ValueType: String +} diff --git a/_Main/BL/Type_PanelMaterialVehicle/DefaultValue_CurrencyID.qbl b/_Main/BL/Type_PanelMaterialVehicle/DefaultValue_CurrencyID.qbl new file mode 100644 index 0000000..9a0e812 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialVehicle/DefaultValue_CurrencyID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'CNY' + TargetAttribute: CurrencyID +} diff --git a/_Main/BL/Type_PanelMaterialVehicle/DefaultValue_IsEligibleForNetting.qbl b/_Main/BL/Type_PanelMaterialVehicle/DefaultValue_IsEligibleForNetting.qbl new file mode 100644 index 0000000..8b36496 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialVehicle/DefaultValue_IsEligibleForNetting.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'true' + TargetAttribute: IsEligibleForNetting +} diff --git a/_Main/BL/Type_PanelMaterialVehicle/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl b/_Main/BL/Type_PanelMaterialVehicle/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl new file mode 100644 index 0000000..d0e348d --- /dev/null +++ b/_Main/BL/Type_PanelMaterialVehicle/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'false' + TargetAttribute: IsExcludedFromFulfillmentKPIUser +} diff --git a/_Main/BL/Type_PanelMaterialVehicle/DefaultValue_IsFirmed.qbl b/_Main/BL/Type_PanelMaterialVehicle/DefaultValue_IsFirmed.qbl new file mode 100644 index 0000000..0f7ae4c --- /dev/null +++ b/_Main/BL/Type_PanelMaterialVehicle/DefaultValue_IsFirmed.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'true' + TargetAttribute: IsFirmed +} diff --git a/_Main/BL/Type_PanelMaterialVehicle/DefaultValue_Price.qbl b/_Main/BL/Type_PanelMaterialVehicle/DefaultValue_Price.qbl new file mode 100644 index 0000000..577db4c --- /dev/null +++ b/_Main/BL/Type_PanelMaterialVehicle/DefaultValue_Price.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: '0' + TargetAttribute: Price +} diff --git a/_Main/BL/Type_PanelMaterialVehicle/DefaultValue_PriorityName.qbl b/_Main/BL/Type_PanelMaterialVehicle/DefaultValue_PriorityName.qbl new file mode 100644 index 0000000..7c6efaa --- /dev/null +++ b/_Main/BL/Type_PanelMaterialVehicle/DefaultValue_PriorityName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'Normal' + TargetAttribute: PriorityName +} diff --git a/_Main/BL/Type_PanelMaterialVehicle/DefaultValue_StockingPointID.qbl b/_Main/BL/Type_PanelMaterialVehicle/DefaultValue_StockingPointID.qbl new file mode 100644 index 0000000..6110bce --- /dev/null +++ b/_Main/BL/Type_PanelMaterialVehicle/DefaultValue_StockingPointID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: '鎴愬搧浠�' + TargetAttribute: StockingPointID +} diff --git a/_Main/BL/Type_PanelMaterialVehicle/DefaultValue_UnitOfMeasureName.qbl b/_Main/BL/Type_PanelMaterialVehicle/DefaultValue_UnitOfMeasureName.qbl new file mode 100644 index 0000000..7f9ab5e --- /dev/null +++ b/_Main/BL/Type_PanelMaterialVehicle/DefaultValue_UnitOfMeasureName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'SHT' + TargetAttribute: UnitOfMeasureName +} diff --git a/_Main/BL/Type_PanelMaterialVehicle/StaticMethod_ReceiveDataGeneration.qbl b/_Main/BL/Type_PanelMaterialVehicle/StaticMethod_ReceiveDataGeneration.qbl new file mode 100644 index 0000000..3174738 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialVehicle/StaticMethod_ReceiveDataGeneration.qbl @@ -0,0 +1,65 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod ReceiveDataGeneration ( + GlobalOTDTable globalOTDTable, + NamedValueTree requestnvt +) +{ + TextBody: + [* + nameValue := requestnvt.Root(); + + bodyHandle := requestnvt.GetHandle( "Body" ); + restHandle := requestnvt.GetHandle( "Rest" ); + restPayloadHandle := requestnvt.GetHandle( "RestPayload" ); + + bodyNameValue := nameValue.Child( bodyHandle ); + restNameValue := bodyNameValue.Child( restHandle ); + restPayloadNameValue := restNameValue.Child( restPayloadHandle ); + + releaseDateHandle := requestnvt.GetHandle( "releaseDate" ); + businessTypeHandle := requestnvt.GetHandle( "businessType" ); + scenarioNameHandle := requestnvt.GetHandle( "scenarioName" ); + + releaseDateNameValue := restPayloadNameValue.Child( releaseDateHandle ); + 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(); + productIDHandle := requestnvt.GetHandle( "productID" ); + 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() ); + 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() + ); + } + *] +} diff --git a/_Main/BL/Type_PanelMaterialVehicle/_ROOT_Type_PanelMaterialVehicle.qbl b/_Main/BL/Type_PanelMaterialVehicle/_ROOT_Type_PanelMaterialVehicle.qbl new file mode 100644 index 0000000..345f7a9 --- /dev/null +++ b/_Main/BL/Type_PanelMaterialVehicle/_ROOT_Type_PanelMaterialVehicle.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type PanelMaterialVehicle +{ + #keys: '5[414702.0.185221272][414702.0.185221270][0.0.0][414702.0.185221271][414702.0.185221273]' + BaseType: Object + Description: '杞﹁浇' + StructuredName: 'PanelMaterialVehicles' +} diff --git a/_Main/BL/Type_ProductInLane/StaticMethod_CreateOrUpdate.qbl b/_Main/BL/Type_ProductInLane/StaticMethod_CreateOrUpdate.qbl index 0db749e..0359b3f 100644 --- a/_Main/BL/Type_ProductInLane/StaticMethod_CreateOrUpdate.qbl +++ b/_Main/BL/Type_ProductInLane/StaticMethod_CreateOrUpdate.qbl @@ -17,12 +17,14 @@ product := Product_MP::FindById( owner, productid ); line := Lane::FindLaneTypeIndex( lineid ); - productinline := ProductInLane::FindProductInLaneTypeIndex( lineid, productid ); + if( not isnull( product) and not isnull( line)){ + productinline := ProductInLane::FindProductInLaneTypeIndex( lineid, productid ); - if( isnull( productinline ) ){ + if( isnull( productinline ) ){ ProductInLane::Create( product, line, isexcluded, isfromdb ); }else{ - productinline.Update( productid, lineid, isexcluded, isfromdb ); + productinline.Update( productid, lineid, isexcluded, isfromdb ); } + } *] } diff --git a/_Main/BL/Type_Product_MP/Attribute_IsPanelMaterial.qbl b/_Main/BL/Type_Product_MP/Attribute_IsPanelMaterial.qbl new file mode 100644 index 0000000..461f519 --- /dev/null +++ b/_Main/BL/Type_Product_MP/Attribute_IsPanelMaterial.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsPanelMaterial +{ + #keys: '3[414702.0.155922090][414702.0.155922089][414702.0.155922091]' + Description: '鏄惁涓洪潰鏉跨墿鏂�' + ValueType: Boolean +} diff --git a/_Main/BL/Type_StockingPoint_MP/StaticMethod_CreateStockingpointFromJson.qbl b/_Main/BL/Type_StockingPoint_MP/StaticMethod_CreateStockingpointFromJson.qbl index 1859d28..e4dae0e 100644 --- a/_Main/BL/Type_StockingPoint_MP/StaticMethod_CreateStockingpointFromJson.qbl +++ b/_Main/BL/Type_StockingPoint_MP/StaticMethod_CreateStockingpointFromJson.qbl @@ -9,7 +9,7 @@ TextBody: [* // Administrator Jul-7-2023 (created) - id := datarow.Get( "id" ).GetString()+"_STOCK"; + id := datarow.Get( "id" ).GetString(); unitid := datarow.Get( "unitid" ).GetString(); name := datarow.Get( "name" ).GetString(); diff --git a/_Main/BL/Type_WorkOrderType/Attribute_ID.qbl b/_Main/BL/Type_WorkOrderType/Attribute_ID.qbl new file mode 100644 index 0000000..9a6c41f --- /dev/null +++ b/_Main/BL/Type_WorkOrderType/Attribute_ID.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ID +{ + #keys: '3[414702.0.144781493][414702.0.144781492][414702.0.144781494]' + Description: '宸ュ崟ID' + ValueType: String +} diff --git a/_Main/BL/Type_WorkOrderType/Attribute_TypeName.qbl b/_Main/BL/Type_WorkOrderType/Attribute_TypeName.qbl new file mode 100644 index 0000000..36bf622 --- /dev/null +++ b/_Main/BL/Type_WorkOrderType/Attribute_TypeName.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute TypeName +{ + #keys: '3[414702.0.144781503][414702.0.144781502][414702.0.144781504]' + Description: '宸ュ崟绫诲瀷鍚嶇О' + ValueType: String +} diff --git a/_Main/BL/Type_WorkOrderType/_ROOT_Type_WorkOrderType.qbl b/_Main/BL/Type_WorkOrderType/_ROOT_Type_WorkOrderType.qbl new file mode 100644 index 0000000..866ac32 --- /dev/null +++ b/_Main/BL/Type_WorkOrderType/_ROOT_Type_WorkOrderType.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type WorkOrderType +{ + #keys: '5[414702.0.144781471][414702.0.144781469][0.0.0][414702.0.144781470][414702.0.144781472]' + BaseType: Object + StructuredName: 'WorkOrderTypes' +} diff --git a/_Main/Sys/Integration/Brokers/PanelMaterialResponseResult.xml b/_Main/Sys/Integration/Brokers/PanelMaterialResponseResult.xml new file mode 100644 index 0000000..78d17af --- /dev/null +++ b/_Main/Sys/Integration/Brokers/PanelMaterialResponseResult.xml Binary files differ diff --git a/_Main/Sys/Integration/Mapping/PanelMaterialResponseResult.xml b/_Main/Sys/Integration/Mapping/PanelMaterialResponseResult.xml new file mode 100644 index 0000000..a2b6fc7 --- /dev/null +++ b/_Main/Sys/Integration/Mapping/PanelMaterialResponseResult.xml Binary files differ diff --git a/_Main/Sys/Integration/Structure/PanelMaterialResponseResult_from.xml b/_Main/Sys/Integration/Structure/PanelMaterialResponseResult_from.xml new file mode 100644 index 0000000..54bd566 --- /dev/null +++ b/_Main/Sys/Integration/Structure/PanelMaterialResponseResult_from.xml Binary files differ diff --git a/_Main/Sys/Integration/Structure/PanelMaterialResponseResult_to.xml b/_Main/Sys/Integration/Structure/PanelMaterialResponseResult_to.xml new file mode 100644 index 0000000..b381552 --- /dev/null +++ b/_Main/Sys/Integration/Structure/PanelMaterialResponseResult_to.xml Binary files differ diff --git a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def b/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def index 6055329..51fa4f0 100644 --- a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def +++ b/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def @@ -78,6 +78,8 @@ ] } Component MenuDoSync { #keys: '[414384.0.605664172]' BaseType: 'Menu' Properties: [ Image: 'CLOUD_DOWNLOAD' Text: 'DoSync' ] } + Component menuSeparator506 { #keys: '[414702.0.137524309]' BaseType: 'Menu' Properties: [ Separator: true ] } + Component ComponentMenuAnalysisGlobalOTDTable { #keys: '[414702.0.137524953]' BaseType: 'ComponentMenu' Properties: [ ComponentType: 'frmStandardAnalysisGlobalOTDTable' Text: '' ] } ] Properties: [ @@ -94,6 +96,8 @@ c: Menu8 c: MenuSelectDemoDataset c: MenuDoSync + c: menuSeparator506 + c: ComponentMenuAnalysisGlobalOTDTable } ] } diff --git a/_Main/UI/MacroPlanner/Component_FormProducts/Component_ListProduct.def b/_Main/UI/MacroPlanner/Component_FormProducts/Component_ListProduct.def new file mode 100644 index 0000000..f74c93c --- /dev/null +++ b/_Main/UI/MacroPlanner/Component_FormProducts/Component_ListProduct.def @@ -0,0 +1,42 @@ +Quintiq file version 2.0 +Component ListProduct #extension +{ + Children: + [ + Component popupListProduct #extension + { + Children: + [ + Component PopupParent #extension + { + Children: + [ + Component menuSeparator631 { #keys: '[414702.0.157554503]' BaseType: 'Menu' Properties: [ Separator: true ] } + Component MenuConvertToPanelMaterial { #keys: '[414702.0.157554555]' BaseType: 'Menu' Properties: [ Image: 'PLASMA-TV' Text: '杞崲涓洪潰鏉跨墿鏂�' ] } + ] + Properties: + [ + ModeledStringList ChildOrdering + { + c: MenuActions + c: MenuFilter + c: menuListQuintiqSetQuantor + c: MenuSeparator + c: MenuNewProduct + c: MenuEditProduct + c: MenuDeleteProduct + c: MenuCopyIncludingSP + c: Menu3 + c: MenuSmartPlan1 + c: Menu49 + c: MenuEditDisplayIndex + c: MenuEditVisualization2 + c: menuSeparator631 + c: MenuConvertToPanelMaterial + } + ] + } + ] + } + ] +} diff --git a/_Main/UI/MacroPlanner/Component_FormProducts/Component_SplitterWnd8.def b/_Main/UI/MacroPlanner/Component_FormProducts/Component_SplitterWnd8.def new file mode 100644 index 0000000..a925236 --- /dev/null +++ b/_Main/UI/MacroPlanner/Component_FormProducts/Component_SplitterWnd8.def @@ -0,0 +1,14 @@ +Quintiq file version 2.0 +Component SplitterWnd8 #extension +{ + Children: + [ + Component SplitterPane #extension + { + Children: + [ + #child: ListProduct + ] + } + ] +} diff --git a/_Main/UI/MacroPlanner/Component_FormProducts/Response_TIANMA_JITUAN_ListProduct_MenuConvertToPanelMaterial_OnClick.def b/_Main/UI/MacroPlanner/Component_FormProducts/Response_TIANMA_JITUAN_ListProduct_MenuConvertToPanelMaterial_OnClick.def new file mode 100644 index 0000000..fc90953 --- /dev/null +++ b/_Main/UI/MacroPlanner/Component_FormProducts/Response_TIANMA_JITUAN_ListProduct_MenuConvertToPanelMaterial_OnClick.def @@ -0,0 +1,14 @@ +Quintiq file version 2.0 +#parent: ListProduct +Response OnClick ( + Product_MP selection +) id:Response_TIANMA_JITUAN_ListProduct_MenuConvertToPanelMaterial_OnClick +{ + #keys: '[414702.0.157554653]' + Body: + [* + selection.IsPanelMaterial( not selection.IsPanelMaterial() ); + *] + DefinitionID => //ListProduct/Responsedef_ListProduct_Menu_OnClick + Initiator: 'MenuConvertToPanelMaterial' +} diff --git a/_Main/UI/MacroPlanner/Component_FormProducts/_ROOT_Component_FormProducts.def b/_Main/UI/MacroPlanner/Component_FormProducts/_ROOT_Component_FormProducts.def new file mode 100644 index 0000000..a83580c --- /dev/null +++ b/_Main/UI/MacroPlanner/Component_FormProducts/_ROOT_Component_FormProducts.def @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: LibMacroPlannerTCUI +OrphanComponent FormProducts #extension +{ + Children: + [ + #child: SplitterWnd8 + ] +} diff --git a/_Main/UI/MacroPlanner/Component_frmStandardAnalysisGlobalOTDTable/Component_swTop.def b/_Main/UI/MacroPlanner/Component_frmStandardAnalysisGlobalOTDTable/Component_swTop.def new file mode 100644 index 0000000..89fbbad --- /dev/null +++ b/_Main/UI/MacroPlanner/Component_frmStandardAnalysisGlobalOTDTable/Component_swTop.def @@ -0,0 +1,29 @@ +Quintiq file version 2.0 +Component swTop +{ + #keys: '[530.0.3531806]' + BaseType: 'swTop' + IsDerived: true + Children: + [ + Component spTopLeft + { + #keys: '[530.0.3531807]' + BaseType: 'spTopLeft' + IsDerived: true + Children: + [ + Component Analysis + { + #keys: '[530.0.3532065]' + BaseType: 'Analysis' + IsDerived: true + Properties: + [ + GlobalInstance: 'GlobalOTDTable' + ] + } + ] + } + ] +} diff --git a/_Main/UI/MacroPlanner/Component_frmStandardAnalysisGlobalOTDTable/Component_swTopMost.def b/_Main/UI/MacroPlanner/Component_frmStandardAnalysisGlobalOTDTable/Component_swTopMost.def new file mode 100644 index 0000000..8a8fcd7 --- /dev/null +++ b/_Main/UI/MacroPlanner/Component_frmStandardAnalysisGlobalOTDTable/Component_swTopMost.def @@ -0,0 +1,20 @@ +Quintiq file version 2.0 +Component swTopMost +{ + #keys: '[530.0.3531801]' + BaseType: 'swTopMost' + IsDerived: true + Children: + [ + Component SplitterPane1 + { + #keys: '[530.0.3531802]' + BaseType: 'SplitterPane1' + IsDerived: true + Children: + [ + #child: swTop + ] + } + ] +} diff --git a/_Main/UI/MacroPlanner/Component_frmStandardAnalysisGlobalOTDTable/_ROOT_Component_frmStandardAnalysisGlobalOTDTable.def b/_Main/UI/MacroPlanner/Component_frmStandardAnalysisGlobalOTDTable/_ROOT_Component_frmStandardAnalysisGlobalOTDTable.def new file mode 100644 index 0000000..587a278 --- /dev/null +++ b/_Main/UI/MacroPlanner/Component_frmStandardAnalysisGlobalOTDTable/_ROOT_Component_frmStandardAnalysisGlobalOTDTable.def @@ -0,0 +1,19 @@ +Quintiq file version 2.0 +#root +#parent: MacroPlanner +OrphanComponent frmStandardAnalysisGlobalOTDTable +{ + #keys: '[414702.0.137524322]' + BaseType: 'frmStandardAnalysis' + Children: + [ + #child: swTopMost + ] + Properties: + [ + Height: 601 + Image: 'BIRD' + Title: 'Analysis GlobalOTDTable' + Width: 783 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_LibSOPImpExp_ContextMenuImport_MenuImportFromCommonIn.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_LibSOPImpExp_ContextMenuImport_MenuImportFromCommonIn.def index b948d58..d927b55 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_LibSOPImpExp_ContextMenuImport_MenuImportFromCommonIn.def +++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_LibSOPImpExp_ContextMenuImport_MenuImportFromCommonIn.def @@ -2,7 +2,6 @@ #parent: LibSOPImpExp_ContextMenuImport/MenuImportFromCommonInformationModel Response OnClick () id:Response_TIANMA_JITUAN_LibSOPImpExp_ContextMenuImport_MenuImportFromCommonInformationModel_OnClick { - #warning 103647: "Identifier 'Response_MacroPlanner_LibSOPImpExp_ContextMenuImport_MenuImportFromCommonInformationModel_OnClick' is not unique in the scope of 'LibSOPImpExp_ContextMenuImport' component on 'ApplicationMacroPlanner'. The reason can be a recently added ModeledResponse. A unique identifier was generated automatically." #keys: '[146140.2.683371355]' CanBindMultiple: false DefinitionID: 'Responsedef_WebMenu_OnClick' diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Component_pnlActions.def new file mode 100644 index 0000000..f0a3335 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Component_pnlActions.def @@ -0,0 +1,40 @@ +Quintiq file version 2.0 +Component pnlActions +{ + #keys: '[414702.0.157903684]' + BaseType: 'WebPanel' + Children: + [ + Component btnOk + { + #keys: '[414702.0.157903688]' + BaseType: 'WebButton' + Properties: + [ + Label: 'OK' + Taborder: 0 + ] + } + Component btnCancel + { + #keys: '[414702.0.157903690]' + BaseType: 'WebButton' + Properties: + [ + Label: 'Cancel' + Taborder: 1 + ] + } + ] + Properties: + [ + Alignment: 'trailing' + Border: true + ExcludeFromActiveComponent: true + FixedSize: true + Orientation: 'horizontal' + Padding: 'true' + Style: 'footer' + Taborder: 2 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Component_pnlContent.def new file mode 100644 index 0000000..d7beca4 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Component_pnlContent.def @@ -0,0 +1,58 @@ +Quintiq file version 2.0 +Component pnlContent +{ + #keys: '[414702.0.157903682]' + BaseType: 'WebPanel' + Children: + [ + Component dsStartDate + { + #keys: '[414702.0.158296102]' + BaseType: 'WebDateSelector' + Properties: + [ + DataBinding: 'DataHolderDialogData.Data.StartDate' + Label: '寮�濮�' + Taborder: 2 + ] + } + Component npDemandQuantity + { + #keys: '[414702.0.158296123]' + BaseType: 'WebNumberPicker' + Properties: + [ + DataBinding: 'DataHolderDialogData.Data.DemandQuantity' + Label: '闇�姹傛暟閲�' + Taborder: 3 + ] + } + Component efMaterialDescription + { + #keys: '[414702.0.157412917]' + BaseType: 'WebEditField' + Properties: + [ + DataBinding: 'DataHolderDialogData.Data.MaterialDescription' + Label: '鐗╂枡鎻忚堪' + Taborder: 1 + ] + } + Component ddslPanelModel + { + #keys: '[414702.0.157757933]' + BaseType: 'WebDropDownStringList' + Properties: + [ + DataBinding: 'DataHolderDialogData.Data.PanelModel' + Label: '闈㈡澘鍨嬪彿' + Taborder: 0 + ] + } + ] + Properties: + [ + Padding: 'true' + Taborder: 1 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Method_Edit.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Method_Edit.def new file mode 100644 index 0000000..5a8abdf --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Method_Edit.def @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: #root +Method Edit ( + PanelMaterial selection +) id:Method_DialogCreateEditPanelPullPlanReport_Edit +{ + #keys: '[414702.0.158677121]' + Body: + [* + data := shadow( selection ); + + DataHolderDialogData.Data( &data ); + info( "hello world" ); + ApplicationMacroPlanner.ShowFormModal( this ); + *] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Method_New.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Method_New.def new file mode 100644 index 0000000..7832386 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Method_New.def @@ -0,0 +1,14 @@ +Quintiq file version 2.0 +#parent: #root +Method New () id:Method_DialogCreateEditPanelPullPlanReport_New +{ + #keys: '[414702.0.158084611]' + Body: + [* + panelMaterial := MacroPlan.PanelMaterial( relshadow ); + + DataHolderDialogData.Data( &panelMaterial ); + + ApplicationMacroPlanner.ShowFormModal( this ); + *] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Response_pnlActions_btnCancel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Response_pnlActions_btnCancel_OnClick.def new file mode 100644 index 0000000..a98c7de --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Response_pnlActions_btnCancel_OnClick.def @@ -0,0 +1,15 @@ +Quintiq file version 2.0 +#parent: pnlActions/btnCancel +Response OnClick () id:Response_pnlActions_btnCancel_OnClick +{ + #keys: '[414702.0.157903694]' + DefinitionID: 'Responsedef_WebButton_OnClick' + GroupServerCalls: true + QuillAction + { + Body: + [* + Form.Close(); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Response_pnlActions_btnOk_OnClick.def new file mode 100644 index 0000000..555058d --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Response_pnlActions_btnOk_OnClick.def @@ -0,0 +1,35 @@ +Quintiq file version 2.0 +#parent: pnlActions/btnOk +Response OnClick () id:Response_pnlActions_btnOk_OnClick +{ + #keys: '[414702.0.157903693]' + DefinitionID: 'Responsedef_WebButton_OnClick' + QuillAction + { + Body: + [* + Form.ApplyChanges(); + + //Form.OnOK(); + Form.ApplyChanges(); + + data := DataHolderDialogData.Data(); + panelMaterial := data.WrappedInstance(); + if ( isnull( panelMaterial ) ) { + MacroPlan.PanelMaterial( relnew, + PanelModel := ddslPanelModel.Text(), + MaterialDescription := efMaterialDescription.Text(), + StartDate := dsStartDate.Date(), + DemandQuantity := npDemandQuantity.Number() ); + } else { + panelMaterial.PanelModel( ddslPanelModel.Text() ); + panelMaterial.MaterialDescription( efMaterialDescription.Text() ); + panelMaterial.StartDate( dsStartDate.Date() ); + panelMaterial.DemandQuantity( npDemandQuantity.Number() ); + } + + Form.Close(); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Response_pnlContent_ddslPanelModel_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Response_pnlContent_ddslPanelModel_OnCreated.def new file mode 100644 index 0000000..e8f83be --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Response_pnlContent_ddslPanelModel_OnCreated.def @@ -0,0 +1,22 @@ +Quintiq file version 2.0 +#parent: pnlContent/ddslPanelModel +Response OnCreated () id:Response_pnlContent_ddslPanelModel_OnCreated +{ + #keys: '[414702.0.158297623]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebComponent_OnCreated' + Precondition: + [* + return not isnull( MacroPlan ); + *] + QuillAction + { + Body: + [* + ids := selectvalues( MacroPlan, Product_MP, tempPMP, tempPMP.IsPanelMaterial(), tempPMP.ID() ); + info( ids.Concatenate( ";" ) ); + this.Strings( ids.Concatenate( ";" ) ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/_ROOT_Component_DialogCreateEditPanelPullPlanReport.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/_ROOT_Component_DialogCreateEditPanelPullPlanReport.def new file mode 100644 index 0000000..53e5083 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/_ROOT_Component_DialogCreateEditPanelPullPlanReport.def @@ -0,0 +1,31 @@ +Quintiq file version 2.0 +#root +#parent: MacroPlannerWebApp +OrphanComponent DialogCreateEditPanelPullPlanReport +{ + #keys: '[414702.0.157903680]' + BaseType: 'WebForm' + Children: + [ + #child: pnlContent + #child: pnlActions + Component DataHolderDialogData + { + #keys: '[414702.0.156384742]' + BaseType: 'WebDataHolder' + Databinding: 'shadow[PanelMaterial]*' + Properties: + [ + Taborder: 0 + ] + } + ] + Properties: + [ + Alignment: 'trailing' + EnterButton: 'btnOk' + EscapeButton: 'btnCancel' + ExcludeFromActiveComponent: true + Padding: 'false' + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Component_pnlActions.def new file mode 100644 index 0000000..b309d6f --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Component_pnlActions.def @@ -0,0 +1,40 @@ +Quintiq file version 2.0 +Component pnlActions +{ + #keys: '[414702.0.145521963]' + BaseType: 'WebPanel' + Children: + [ + Component btnOk + { + #keys: '[414702.0.145521967]' + BaseType: 'WebButton' + Properties: + [ + Label: 'OK' + Taborder: 0 + ] + } + Component btnCancel + { + #keys: '[414702.0.145521969]' + BaseType: 'WebButton' + Properties: + [ + Label: 'Cancel' + Taborder: 1 + ] + } + ] + Properties: + [ + Alignment: 'trailing' + Border: true + ExcludeFromActiveComponent: true + FixedSize: true + Orientation: 'horizontal' + Padding: 'true' + Style: 'footer' + Taborder: 3 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Component_pnlContent.def new file mode 100644 index 0000000..8016c0b --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Component_pnlContent.def @@ -0,0 +1,36 @@ +Quintiq file version 2.0 +Component pnlContent +{ + #keys: '[414702.0.145521961]' + BaseType: 'WebPanel' + Children: + [ + Component efID + { + #keys: '[414702.0.145552802]' + BaseType: 'WebEditField' + Properties: + [ + DataBinding: 'DataHolderDialogData.Data.ID' + Label: 'ID' + Taborder: 0 + ] + } + Component efTypeName + { + #keys: '[414702.0.145552821]' + BaseType: 'WebEditField' + Properties: + [ + DataBinding: 'DataHolderDialogData.Data.TypeName' + Label: '宸ュ崟绫诲瀷' + Taborder: 1 + ] + } + ] + Properties: + [ + Padding: 'true' + Taborder: 2 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Method_Edit.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Method_Edit.def new file mode 100644 index 0000000..ae005f8 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Method_Edit.def @@ -0,0 +1,17 @@ +Quintiq file version 2.0 +#parent: #root +Method Edit ( + WorkOrderType selection +) id:Method_DialogCreateEditWorkOrderType_Edit +{ + #keys: '[414702.0.148405777]' + Body: + [* + // Edit + data := shadow( selection ); + + DataHolderDialogData.Data( &data ); + + ApplicationMacroPlanner.ShowFormModal( this ); + *] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Method_NewWorkOrderType.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Method_NewWorkOrderType.def new file mode 100644 index 0000000..d805656 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Method_NewWorkOrderType.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: #root +Method NewWorkOrderType ( + FormWorkOrderType formWorkOrderType +) id:Method_DialogCreateEditWorkOrderType_NewWorkOrderType +{ + #keys: '[414702.0.145493830]' + Body: + [* + workOrderType := GlobalOTDTable.WorkOrderType( relshadow ); + + DataHolderForm.Data( formWorkOrderType ); + + DataHolderDialogData.Data( &workOrderType ); + + ApplicationMacroPlanner.ShowFormModal( this ); + *] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Response_pnlActions_btnCancel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Response_pnlActions_btnCancel_OnClick.def new file mode 100644 index 0000000..445c198 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Response_pnlActions_btnCancel_OnClick.def @@ -0,0 +1,15 @@ +Quintiq file version 2.0 +#parent: pnlActions/btnCancel +Response OnClick () id:Response_pnlActions_btnCancel_OnClick +{ + #keys: '[414702.0.145521973]' + DefinitionID: 'Responsedef_WebButton_OnClick' + GroupServerCalls: true + QuillAction + { + Body: + [* + Form.Close(); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Response_pnlActions_btnOk_OnClick.def new file mode 100644 index 0000000..e5f4159 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Response_pnlActions_btnOk_OnClick.def @@ -0,0 +1,48 @@ +Quintiq file version 2.0 +#parent: pnlActions/btnOk +Response OnClick () id:Response_pnlActions_btnOk_OnClick +{ + #keys: '[414702.0.145521972]' + DefinitionID: 'Responsedef_WebButton_OnClick' + Precondition: + [* + flag := true; + + data := DataHolderDialogData.Data(); + 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() ); + + if ( idExists or typeNameExists ) { + feedback := "ID鎴栫被鍨嬪悕绉伴噸澶�"; + flag := false; + } else if ( id = "" or typeName = "" ) { + feedback := "ID鎴栫被鍨嬪悕绉颁笉鑳戒负绌�"; + flag := false; + } + + return flag; + *] + QuillAction + { + Body: + [* + //Form.OnOK(); + Form.ApplyChanges(); + + data := DataHolderDialogData.Data(); + workOrderType := data.WrappedInstance(); + if ( isnull( workOrderType ) ) { + GlobalOTDTable.WorkOrderType( relnew, ID := data.ID(), TypeName := data.TypeName() ); + } else { + workOrderType.ID( data.ID() ); + workOrderType.TypeName( data.TypeName() ); + } + + Form.Close(); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/_ROOT_Component_DialogCreateEditWorkOrderType.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/_ROOT_Component_DialogCreateEditWorkOrderType.def new file mode 100644 index 0000000..24d0a68 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/_ROOT_Component_DialogCreateEditWorkOrderType.def @@ -0,0 +1,41 @@ +Quintiq file version 2.0 +#root +#parent: MacroPlannerWebApp +OrphanComponent DialogCreateEditWorkOrderType +{ + #keys: '[414702.0.145521959]' + BaseType: 'WebForm' + Children: + [ + #child: pnlContent + #child: pnlActions + Component DataHolderDialogData + { + #keys: '[414702.0.145552868]' + BaseType: 'WebDataHolder' + Databinding: 'shadow[WorkOrderType]*' + Properties: + [ + Taborder: 0 + ] + } + Component DataHolderForm + { + #keys: '[414702.0.147371367]' + BaseType: 'WebDataHolder' + Databinding: 'FormWorkOrderType' + Properties: + [ + Taborder: 1 + ] + } + ] + Properties: + [ + Alignment: 'trailing' + EnterButton: 'btnOk' + EscapeButton: 'btnCancel' + ExcludeFromActiveComponent: true + Padding: 'false' + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Component_pnlActions.def new file mode 100644 index 0000000..adcf81f --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Component_pnlActions.def @@ -0,0 +1,40 @@ +Quintiq file version 2.0 +Component pnlActions +{ + #keys: '[414702.0.131771244]' + BaseType: 'WebPanel' + Children: + [ + Component btnOk + { + #keys: '[414702.0.131771248]' + BaseType: 'WebButton' + Properties: + [ + Label: 'OK' + Taborder: 0 + ] + } + Component btnCancel + { + #keys: '[414702.0.131771250]' + BaseType: 'WebButton' + Properties: + [ + Label: 'Cancel' + Taborder: 1 + ] + } + ] + Properties: + [ + Alignment: 'trailing' + Border: true + ExcludeFromActiveComponent: true + FixedSize: true + Orientation: 'horizontal' + Padding: 'true' + Style: 'footer' + Taborder: 2 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Component_pnlContent.def new file mode 100644 index 0000000..9155690 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Component_pnlContent.def @@ -0,0 +1,15 @@ +Quintiq file version 2.0 +Component pnlContent +{ + #keys: '[414702.0.131771242]' + BaseType: 'WebPanel' + Children: + [ + #child: pnlGeneral + ] + Properties: + [ + Padding: 'true' + Taborder: 1 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Component_pnlGeneral.def b/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Component_pnlGeneral.def new file mode 100644 index 0000000..a034ddf --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Component_pnlGeneral.def @@ -0,0 +1,133 @@ +Quintiq file version 2.0 +Component pnlGeneral +{ + #keys: '[414702.0.139154801]' + BaseType: 'WebPanel' + Children: + [ + Component efBusinessType + { + #keys: '[414702.0.139035752]' + BaseType: 'WebEditField' + Properties: + [ + DataBinding: 'DataHolderDialogData.Data.BusinessType' + Enabled: false + Label: '涓氬姟绫诲瀷' + Taborder: 0 + ] + } + Component efItemCode + { + #keys: '[414702.0.139035772]' + BaseType: 'WebEditField' + Properties: + [ + DataBinding: 'DataHolderDialogData.Data.MatCode' + Enabled: false + Label: '鐗╂枡缂栫爜' + Taborder: 1 + ] + } + Component efNameOfMaterial + { + #keys: '[414702.0.139035784]' + BaseType: 'WebEditField' + Properties: + [ + DataBinding: 'DataHolderDialogData.Data.MatName' + Enabled: false + Label: '鐗╂枡鍚嶇О' + Taborder: 2 + ] + } + Component efMaterialArrivalLTDays + { + #keys: '[414702.0.139035796]' + BaseType: 'WebEditField' + Properties: + [ + DataBinding: 'DataHolderDialogData.Data.MatArrivalLT' + Description: 'Finished product minimum delivery LT (days)' + Enabled: false + Label: '鐗╂枡鍒拌揣LT锛堝ぉ锛�' + Taborder: 3 + ] + } + Component efFinishedProductMinimumDeliveryLTDays + { + #keys: '[414702.0.139035809]' + BaseType: 'WebEditField' + Properties: + [ + DataBinding: 'DataHolderDialogData.Data.MinProdDeliverLT' + Enabled: false + Label: '鎴愬搧鏈�灏忎氦浠楲T锛堝ぉ锛�' + Taborder: 4 + ] + } + Component efFinishedSKUType + { + #keys: '[414702.0.139035821]' + BaseType: 'WebEditField' + Properties: + [ + DataBinding: 'DataHolderDialogData.Data.ProductCount' + Enabled: false + Label: '鎴愬搧SKU绉嶇被' + Taborder: 5 + ] + } + Component efTheSystemAutomaticallySchedulesPolicies + { + #keys: '[414702.0.139035834]' + BaseType: 'WebEditField' + Properties: + [ + DataBinding: 'DataHolderDialogData.Data.PlanningStrategyAuto' + Enabled: false + Label: '绯荤粺鑷姩璁″垝绛栫暐' + Taborder: 6 + ] + } + Component ddslMaterialPlanningPolicyChanges + { + #keys: '[414702.0.139877037]' + BaseType: 'WebDropDownStringList' + Properties: + [ + AllowEmpty: true + DataBinding: 'DataHolderDialogData.Data.PlanningStrategyCustom' + Label: '鐗╂枡璁″垝绛栫暐鍙樻洿' + Strings: 'JIT;VMI;M/A;瀹夊叏搴撳瓨;PO鎷夋枡' + Taborder: 7 + ] + } + Component efTheMinimumNumberOfDaysForAnItemToBeInventoried + { + #keys: '[414702.0.139969846]' + BaseType: 'WebEditField' + Properties: + [ + DataBinding: 'DataHolderDialogData.Data.MinimumNumberOfDaysInStock' + Label: '鐗╂枡搴撳瓨鏈�灏忓ぉ鏁�' + Taborder: 8 + ] + } + Component efTheMaximumNumberOfDaysThatTheItemIsInStock + { + #keys: '[414702.0.139969907]' + BaseType: 'WebEditField' + Properties: + [ + DataBinding: 'DataHolderDialogData.Data.MaximumNumberOfDaysInInventory' + Label: '鐗╂枡搴撳瓨鏈�澶уぉ鏁�' + Taborder: 9 + ] + } + ] + Properties: + [ + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Method_Edit.def b/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Method_Edit.def new file mode 100644 index 0000000..78dd14b --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Method_Edit.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: #root +Method Edit ( + MatAttrSettingAndPlanStrategy selection +) id:Method_DialogCreateEditMaterialLabelingAndPlanningStrategy_Edit +{ + #keys: '[414702.0.137732159]' + Body: + [* + //data := shadow( selection ); + DataHolderDialogData.Data( selection ); + + selection.UpdateBy( QuintiqUser::CurrentUser().Username() ); + selection.UpdateTime( DateTime::ActualTime() ); + + ApplicationMacroPlanner.ShowFormModal( this ); + *] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Response_pnlActions_btnCancel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Response_pnlActions_btnCancel_OnClick.def new file mode 100644 index 0000000..e03c477 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Response_pnlActions_btnCancel_OnClick.def @@ -0,0 +1,15 @@ +Quintiq file version 2.0 +#parent: pnlActions/btnCancel +Response OnClick () id:Response_pnlActions_btnCancel_OnClick +{ + #keys: '[414702.0.131771254]' + DefinitionID: 'Responsedef_WebButton_OnClick' + GroupServerCalls: true + QuillAction + { + Body: + [* + Form.Close(); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Response_pnlActions_btnOk_OnClick.def new file mode 100644 index 0000000..f8d2a3d --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Response_pnlActions_btnOk_OnClick.def @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: pnlActions/btnOk +Response OnClick () id:Response_pnlActions_btnOk_OnClick +{ + #keys: '[414702.0.131771253]' + DefinitionID: 'Responsedef_WebButton_OnClick' + QuillAction + { + Body: + [* + Form.ApplyChanges(); + + data := DataHolderDialogData.Data(); + if ( data.PlanningStrategyCustom() = "JIT" ) { + data.MinimumNumberOfDaysInStock( 0 ); + data.MaximumNumberOfDaysInInventory( 0 ); + } + + Form.Close(); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Response_pnlGeneral_ddslMaterialPlanningPolicyChanges_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Response_pnlGeneral_ddslMaterialPlanningPolicyChanges_OnCreated.def new file mode 100644 index 0000000..215ed5c --- /dev/null +++ b/_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 + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Response_pnlGeneral_ddslMaterialPlanningPolicyChanges_OnUserSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Response_pnlGeneral_ddslMaterialPlanningPolicyChanges_OnUserSelectionChanged.def new file mode 100644 index 0000000..eaf8b6a --- /dev/null +++ b/_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 + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/_ROOT_Component_DialogCreateEditMaterialLabelingAndPlanningStrategy.def b/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/_ROOT_Component_DialogCreateEditMaterialLabelingAndPlanningStrategy.def new file mode 100644 index 0000000..78c4c93 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/_ROOT_Component_DialogCreateEditMaterialLabelingAndPlanningStrategy.def @@ -0,0 +1,31 @@ +Quintiq file version 2.0 +#root +#parent: MacroPlannerWebApp +OrphanComponent DialogCreateEditMaterialLabelingAndPlanningStrategy +{ + #keys: '[414702.0.131771240]' + BaseType: 'WebForm' + Children: + [ + #child: pnlContent + #child: pnlActions + Component DataHolderDialogData + { + #keys: '[414702.0.139153395]' + BaseType: 'WebDataHolder' + Databinding: 'MatAttrSettingAndPlanStrategy' + Properties: + [ + Taborder: 0 + ] + } + ] + Properties: + [ + Alignment: 'trailing' + EnterButton: 'btnOk' + EscapeButton: 'btnCancel' + ExcludeFromActiveComponent: true + Padding: 'false' + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_ListChildMaterial.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_ListChildMaterial.def new file mode 100644 index 0000000..40e2efd --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_ListChildMaterial.def @@ -0,0 +1,42 @@ +Quintiq file version 2.0 +Component ListChildMaterial +{ + #keys: '[414702.0.122536770]' + BaseType: 'WebList' + Children: + [ + Component DataExtractorChildMaterial + { + #keys: '[414702.0.122536771]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'MatAttrSettingAndPlanStrategy' + ExtractionMode: 'Selected' + Source: 'PanelMaterial.ListMaterialMaterialLabelingAndPlanningStrategy' + Taborder: 0 + Transformation: 'MatAttrSettingAndPlanStrategyDetail' + ] + } + #child: listActionBarPageChildMaterial + Component DataSetLevelChildMaterial + { + #keys: '[414702.0.122536776]' + BaseType: 'WebDataSetLevel' + Children: + [ + #child: listContextMenuChildMaterial + ] + Properties: + [ + Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MatCode","title":"MatCode","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"MatCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductCode","title":"ProductCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StandardLT","title":"StandardLT","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StandardLT"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductDesc","title":"ProductDesc","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductDesc"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Comment","title":"Comment","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Comment"}}]' + ContextMenu: 'listContextMenuChildMaterial' + Taborder: 2 + ] + } + ] + Properties: + [ + Taborder: 0 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_ListMaterialMaterialLabelingAndPlanningStrategy\043880.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_ListMaterialMaterialLabelingAndPlanningStrategy\043880.def" new file mode 100644 index 0000000..698efbd --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_ListMaterialMaterialLabelingAndPlanningStrategy\043880.def" @@ -0,0 +1,60 @@ +Quintiq file version 2.0 +Component ListMaterialMaterialLabelingAndPlanningStrategy id:ListMaterialMaterialLabelingAndPlanningStrategy_880 +{ + #keys: '[414702.0.122174685]' + BaseType: 'WebList' + Children: + [ + Component DataExtractorMaterial367 + { + #keys: '[414702.0.122174686]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'GlobalOTDTable' + Source: 'GlobalOTDTable' + Taborder: 0 + Transformation: 'MatAttrSettingAndPlanStrategy' + ] + } + #child: listActionBarPageMaterial790_1 + Component DataSetLevelMaterial679 + { + #keys: '[414702.0.122174688]' + BaseType: 'WebDataSetLevel' + Children: + [ + #child: listContextMenuMaterial455_1 + ] + Properties: + [ + Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SerialNumber","title":"SerialNumber","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SerialNumber"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"BusinessType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MatCode","title":"MatCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MatCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MatName","title":"MatName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MatName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MatType","title":"MatType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MatType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MatArrivalLT","title":"MatArrivalLT","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MatArrivalLT"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductCount","title":"ProductCount","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ProductCount"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MinProdDeliverLT","title":"MinProdDeliverLT","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"MinProdDeliverLT"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FlagLongTerm","title":"FlagLongTerm","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"FlagLongTerm"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FlagGeneric","title":"FlagGeneric","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"FlagGeneric"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PlanningStrategyAuto","title":"PlanningStrategyAuto","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"PlanningStrategyAuto"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PlanningStrategyCustom","title":"PlanningStrategyCustom","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PlanningStrategyCustom"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UpdateBy","title":"UpdateBy","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UpdateBy"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UpdateTime","title":"UpdateTime","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UpdateTime"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MinimumNumberOfDaysInStock","title":"MinimumNumberOfDaysInStock","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MinimumNumberOfDaysInStock"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MaximumNumberOfDaysInInventory","title":"MaximumNumberOfDaysInInventory","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MaximumNumberOfDaysInInventory"}},{"attribute":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"1","title":"1","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"VALUE( object.UpdateTime() )"}}]' + ContextMenu: 'listContextMenuMaterial455' + Taborder: 2 + ] + } + ] + Properties: + [ + SelectionCheckboxes: true + Taborder: 1 + ] + ResponseDefinitions: + [ + DelegatedResponseDefinition OnClick id:Responsedef_ListMaterialMaterialLabelingAndPlanningStrategy_880_WebMenu_OnClick + { + #keys: '[414702.0.132706551]' + Initiator: 'WebMenu' + IsInherited: false + ResponseType: 'OnClick' + Arguments: + [ + ResponseDefinitionArgument selection + { + #keys: '[319.0.80354936]' + Binding: 'this.Selection()' + } + ] + } + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelChildMaterial\043558.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelChildMaterial\043558.def" new file mode 100644 index 0000000..8e0ce39 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelChildMaterial\043558.def" @@ -0,0 +1,15 @@ +Quintiq file version 2.0 +Component PanelChildMaterial +{ + #keys: '[414702.0.121452333]' + BaseType: 'WebPanel' + Children: + [ + #child: ListChildMaterial + ] + Properties: + [ + Border: true + Taborder: 1 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterial.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterial.def new file mode 100644 index 0000000..7232995 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterial.def @@ -0,0 +1,26 @@ +Quintiq file version 2.0 +Component PanelMaterial +{ + #keys: '[414702.0.121452322]' + BaseType: 'WebPanel' + Children: + [ + #child: ListMaterialMaterialLabelingAndPlanningStrategy_880 + #child: PanelMaterialOperationButton + Component DataHolderCheckedMaterials + { + #keys: '[414702.0.136936641]' + BaseType: 'WebDataHolder' + Databinding: 'structured[MatAttrSettingAndPlanStrategy]*' + Properties: + [ + Taborder: 2 + ] + } + ] + Properties: + [ + Border: true + Taborder: 0 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialExportAndImport\043136.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialExportAndImport\043136.def" new file mode 100644 index 0000000..7519c89 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialExportAndImport\043136.def" @@ -0,0 +1,61 @@ +Quintiq file version 2.0 +Component PanelMaterialExportAndImport id:PanelMaterialExportAndImport_136 +{ + #keys: '[414702.0.130101487]' + BaseType: 'WebPanel' + Children: + [ + Component ButtonMaterialExportAndExport + { + #keys: '[414702.0.130101488]' + BaseType: 'WebButton' + Properties: + [ + Image: 'EXPORT1' + Label: '鏁版嵁瀵煎嚭' + Taborder: 2 + ] + } + Component ButtonMaterialExportAndImport + { + #keys: '[414702.0.130101489]' + BaseType: 'WebButton' + Properties: + [ + Image: 'IMPORT1' + Label: '鏁版嵁瀵煎叆' + Taborder: 3 + ] + } + Component ButtonSynchronizeInventoryTargets + { + #keys: '[414702.0.142124169]' + BaseType: 'WebButton' + Properties: + [ + Image: 'CLOUD_REFRESH' + Label: '鍚屾搴撳瓨鐩爣' + Taborder: 0 + ] + } + Component ButtonPullData + { + #keys: '[414702.0.199743004]' + BaseType: 'WebButton' + Properties: + [ + Image: 'TRACTOR' + Label: '鎷夊彇鏁版嵁' + Taborder: 1 + ] + } + ] + Properties: + [ + Alignment: 'trailing' + FixedSize: true + MinimumColumns: 25 + Orientation: 'horizontal' + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialLabelingAndPlanningStrategy.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialLabelingAndPlanningStrategy.def new file mode 100644 index 0000000..97be3df --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialLabelingAndPlanningStrategy.def @@ -0,0 +1,15 @@ +Quintiq file version 2.0 +Component PanelMaterialLabelingAndPlanningStrategy +{ + #keys: '[414702.0.121452301]' + BaseType: 'WebPanel' + Children: + [ + #child: PanelChildMaterial + #child: PanelMaterial + ] + Properties: + [ + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialOperationButton.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialOperationButton.def new file mode 100644 index 0000000..3099403 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialOperationButton.def @@ -0,0 +1,15 @@ +Quintiq file version 2.0 +Component PanelMaterialOperationButton +{ + #keys: '[414702.0.130161515]' + BaseType: 'WebPanel' + Children: + [ + #child: PanelMaterialExportAndImport_136 + ] + Properties: + [ + FixedSize: true + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listActionBarPageChildMaterial.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listActionBarPageChildMaterial.def new file mode 100644 index 0000000..a4bbf6c --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listActionBarPageChildMaterial.def @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component listActionBarPageChildMaterial +{ + #keys: '[414702.0.122536773]' + BaseType: 'listActionBarPage' + Properties: + [ + Taborder: 1 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listActionBarPageMaterial790\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listActionBarPageMaterial790\0431.def" new file mode 100644 index 0000000..7c30238 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listActionBarPageMaterial790\0431.def" @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component listActionBarPageMaterial790 id:listActionBarPageMaterial790_1 +{ + #keys: '[414702.0.122174687]' + BaseType: 'listActionBarPage' + Properties: + [ + Taborder: 1 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listContextMenuChildMaterial.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listContextMenuChildMaterial.def new file mode 100644 index 0000000..e87ec5b --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listContextMenuChildMaterial.def @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component listContextMenuChildMaterial +{ + #keys: '[414702.0.122536778]' + BaseType: 'listContextMenu' + Properties: + [ + Taborder: 0 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listContextMenuMaterial455\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listContextMenuMaterial455\0431.def" new file mode 100644 index 0000000..fe19274 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listContextMenuMaterial455\0431.def" @@ -0,0 +1,46 @@ +Quintiq file version 2.0 +Component listContextMenuMaterial455 id:listContextMenuMaterial455_1 +{ + #keys: '[414702.0.122174689]' + BaseType: 'listContextMenu' + Children: + [ + Component MenuSeparator + { + #keys: '[121142.1.1147171519]' + BaseType: 'MenuSeparator' + IsDerived: true + Properties: + [ + Taborder: 2 + ] + } + Component MenuDeleteAll + { + #keys: '[414702.0.141671580]' + BaseType: 'WebMenu' + Properties: + [ + Image: 'DELETE' + Taborder: 3 + Title: '鍒犻櫎' + ] + } + Component MenuSelectAll + { + #keys: '[414702.0.141943188]' + BaseType: 'WebMenu' + Properties: + [ + Image: 'PIG' + Shortcut: 'Ctrl+A' + Taborder: 4 + Title: '鍏ㄩ��' + ] + } + ] + Properties: + [ + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_MenuDeleteAll_O.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_MenuDeleteAll_O.def new file mode 100644 index 0000000..a921721 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_MenuDeleteAll_O.def @@ -0,0 +1,21 @@ +Quintiq file version 2.0 +#parent: ListMaterialMaterialLabelingAndPlanningStrategy_880 +Response OnClick ( + structured[MatAttrSettingAndPlanStrategy] selection +) id:Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_MenuDeleteAll_OnClick +{ + #keys: '[414702.0.141854066]' + CanBindMultiple: false + DefinitionID => /ListMaterialMaterialLabelingAndPlanningStrategy_880/Responsedef_ListMaterialMaterialLabelingAndPlanningStrategy_880_WebMenu_OnClick + Initiator: 'MenuDeleteAll' + QuillAction + { + Body: + [* + traverse ( selection, Elements, s ) { + s.Delete(); + } + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_MenuSelectAll_O.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_MenuSelectAll_O.def new file mode 100644 index 0000000..23b4c6a --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_MenuSelectAll_O.def @@ -0,0 +1,17 @@ +Quintiq file version 2.0 +#parent: ListMaterialMaterialLabelingAndPlanningStrategy_880 +Response OnClick () id:Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_MenuSelectAll_OnClick +{ + #keys: '[414702.0.141794738]' + CanBindMultiple: false + DefinitionID => /ListMaterialMaterialLabelingAndPlanningStrategy_880/Responsedef_ListMaterialMaterialLabelingAndPlanningStrategy_880_WebMenu_OnClick + Initiator: 'MenuSelectAll' + QuillAction + { + Body: + [* + this.SelectAll(); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnDoubleClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnDoubleClick.def new file mode 100644 index 0000000..a91ec9c --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnDoubleClick.def @@ -0,0 +1,19 @@ +Quintiq file version 2.0 +#parent: ListMaterialMaterialLabelingAndPlanningStrategy_880 +Response OnDoubleClick ( + MatAttrSettingAndPlanStrategy selection +) id:Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnDoubleClick +{ + #keys: '[414702.0.137732025]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebList_OnDoubleClick' + QuillAction + { + Body: + [* + dlg := construct( DialogCreateEditMaterialLabelingAndPlanningStrategy ); + dlg.Edit( selection ); + *] + GroupServerCalls: false + } +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnUserCheck\043591.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnUserCheck\043591.def" new file mode 100644 index 0000000..4eb4da0 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnUserCheck\043591.def" @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: ListMaterialMaterialLabelingAndPlanningStrategy_880 +Response OnUserCheckedChanged () id:Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnUserCheckedChanged_591 +{ + #keys: '[414702.0.136206065]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebList_OnUserCheckedChanged' + QuillAction + { + Body: + [* + DataHolderCheckedMaterials.Data().Flush(); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnUserCheckedCh.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnUserCheckedCh.def new file mode 100644 index 0000000..9c7c2b3 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnUserCheckedCh.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: ListMaterialMaterialLabelingAndPlanningStrategy_880 +Response OnUserCheckedChanged ( + structured[MatAttrSettingAndPlanStrategy] checkeditems +) id:Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnUserCheckedChanged +{ + #keys: '[414702.0.136757090]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebList_OnUserCheckedChanged' + QuillAction + { + Body: + [* + DataHolderCheckedMaterials.Data( checkeditems.Copy() ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonMaterialExportAndExport_OnCl.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonMaterialExportAndExport_OnCl.def new file mode 100644 index 0000000..b909d65 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonMaterialExportAndExport_OnCl.def @@ -0,0 +1,21 @@ +Quintiq file version 2.0 +#parent: PanelMaterialExportAndImport_136/ButtonMaterialExportAndExport +Response OnClick () id:Response_PanelMaterialExportAndImport_136_ButtonMaterialExportAndExport_OnClick +{ + #keys: '[414702.0.133071932]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + Precondition: + [* + return not isnull( GlobalOTDTable ); + *] + QuillAction + { + Body: + [* + tableBinaryData := MatAttrSettingAndPlanStrategy::ExportTheFileStream( DataHolderCheckedMaterials.Data() ).AsBinaryData(); + Application.Download( "MaterialLabelingAndPlanningStrategy.xlsx", tableBinaryData ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonMaterialExportAndImport_OnCl.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonMaterialExportAndImport_OnCl.def new file mode 100644 index 0000000..ce5035b --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonMaterialExportAndImport_OnCl.def @@ -0,0 +1,42 @@ +Quintiq file version 2.0 +#parent: PanelMaterialExportAndImport_136/ButtonMaterialExportAndImport +Response OnClick () id:Response_PanelMaterialExportAndImport_136_ButtonMaterialExportAndImport_OnClick +{ + #keys: '[414702.0.134451163]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + Precondition: + [* + return not isnull( GlobalOTDTable ); + *] + QuillAction + { + Body: + [* + try { + uploadJsonString := Application.GetFile(); + if ( uploadJsonString <> "" ) { + uploadJson := JSON::Parse( uploadJsonString ); + + MatAttrSettingAndPlanStrategyInputSource::VerifyTheFileName( uploadJson ); + + fileName := uploadJson.Get( "name" ).GetString(); + base64String := uploadJson.Get( "data" ).GetString(); + matAttrSettingAndPlanStrategyInputSource := MatAttrSettingAndPlanStrategyInputSource::Upload( GlobalOTDTable, fileName, base64String, ApplicationMacroPlanner.GetUserName() ); + + matAttrSettingAndPlanStrategyInputSource.ParseTable(); + + matAttrSettingAndPlanStrategyDataTable := select( matAttrSettingAndPlanStrategyInputSource, MatAttrSettingAndPlanStrategyDataTable, tempMASAPSDT, tempMASAPSDT.name() = "鐗╂枡鏍囩" ); + matAttrSettingAndPlanStrategyDataTable.VerifyTheTemplate(); + + matAttrSettingAndPlanStrategyDataTable.SynchronizeData(); + + WebMessageBox::Success( "涓婁紶鎴愬姛", true ); + } + } onerror { + WebMessageBox::Error( e.GeneralInformation(), true ); + } + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonPullData_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonPullData_OnClick.def new file mode 100644 index 0000000..b0f98a4 --- /dev/null +++ b/_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 + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonSynchronizeInventoryTargets_.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonSynchronizeInventoryTargets_.def new file mode 100644 index 0000000..5b1c51b --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonSynchronizeInventoryTargets_.def @@ -0,0 +1,28 @@ +Quintiq file version 2.0 +#parent: PanelMaterialExportAndImport_136/ButtonSynchronizeInventoryTargets +Response OnClick () id:Response_PanelMaterialExportAndImport_136_ButtonSynchronizeInventoryTargets_OnClick +{ + #keys: '[414702.0.141615322]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + Precondition: + [* + flag := not isnull( GlobalOTDTable ) and not isnull( MacroPlan ); + + if ( not flag ) { + feedback := "褰撳墠娌℃湁婵�娲荤殑鐗堟湰"; + } + + return flag; + *] + QuillAction + { + Body: + [* + MatAttrSettingAndPlanStrategy::SynchronizeInventoryTargets( GlobalOTDTable, MacroPlan ); + + WebMessageBox::Success( "搴撳瓨鐩爣鍚屾鎴愬姛", true ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterial_DataHolderCheckedMaterials_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterial_DataHolderCheckedMaterials_OnDataChanged.def new file mode 100644 index 0000000..380ad59 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterial_DataHolderCheckedMaterials_OnDataChanged.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: PanelMaterial/DataHolderCheckedMaterials +Response OnDataChanged () id:Response_PanelMaterial_DataHolderCheckedMaterials_OnDataChanged +{ + #keys: '[414702.0.136147695]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebComponent_OnDataChanged' + QuillAction + { + Body: + [* + //traverse ( this.Data(), Elements, e ) { + // info( "閫変腑鐨勭墿鏂欏彿锛�", e.MatCode() ); + //} + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/_ROOT_Component_FormMaterialLabelingAndPlanningStrategy.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/_ROOT_Component_FormMaterialLabelingAndPlanningStrategy.def new file mode 100644 index 0000000..06483a1 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/_ROOT_Component_FormMaterialLabelingAndPlanningStrategy.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#root +#parent: MacroPlannerWebApp +OrphanComponent FormMaterialLabelingAndPlanningStrategy +{ + #keys: '[414702.0.120950329]' + BaseType: 'WebForm' + Children: + [ + #child: PanelMaterialLabelingAndPlanningStrategy + ] + Properties: + [ + Description: '鐗╂枡鏍囩&璁″垝绛栫暐琛ㄥ崟' + Image: 'PAPER_ROLL' + Title: '鐗╂枡鏍囩&璁″垝绛栫暐' + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_ListData.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_ListData.def new file mode 100644 index 0000000..1b59d94 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_ListData.def @@ -0,0 +1,59 @@ +Quintiq file version 2.0 +Component ListData +{ + #keys: '[414702.0.156121812]' + BaseType: 'WebList' + Children: + [ + Component DataExtractorData + { + #keys: '[414702.0.156121813]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'MacroPlan' + Source: 'MacroPlan' + Taborder: 0 + Transformation: 'PanelMaterial' + ] + } + #child: listActionBarPageData + Component DataSetLevelData + { + #keys: '[414702.0.156121818]' + BaseType: 'WebDataSetLevel' + Children: + [ + #child: listContextMenuData + ] + Properties: + [ + Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PanelModel","title":"PanelModel","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PanelModel"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MaterialDescription","title":"MaterialDescription","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MaterialDescription"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"StartDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DemandQuantity","title":"DemandQuantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DemandQuantity"}}]' + ContextMenu: 'listContextMenuData' + Taborder: 2 + ] + } + ] + Properties: + [ + Taborder: 0 + ] + ResponseDefinitions: + [ + DelegatedResponseDefinition OnClick id:Responsedef_ListData_WebMenu_OnClick + { + #keys: '[414702.0.158084176]' + Initiator: 'WebMenu' + IsInherited: false + ResponseType: 'OnClick' + Arguments: + [ + ResponseDefinitionArgument selection + { + #keys: '[359.0.59836272]' + Binding: 'this.Selection()' + } + ] + } + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_PanelData\043431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_PanelData\043431.def" new file mode 100644 index 0000000..1e7ba58 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_PanelData\043431.def" @@ -0,0 +1,14 @@ +Quintiq file version 2.0 +Component PanelData +{ + #keys: '[414702.0.153191731]' + BaseType: 'WebPanel' + Children: + [ + #child: ListData + ] + Properties: + [ + Taborder: 1 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_PanelFunctionButtons.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_PanelFunctionButtons.def new file mode 100644 index 0000000..59898ad --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_PanelFunctionButtons.def @@ -0,0 +1,60 @@ +Quintiq file version 2.0 +Component PanelFunctionButtons +{ + #keys: '[414702.0.153162120]' + BaseType: 'WebPanel' + Children: + [ + Component ButtonRefresh + { + #keys: '[414702.0.153101807]' + BaseType: 'WebButton' + Properties: + [ + Image: 'ARROW_CIRCLE2' + Label: '鍒锋柊' + Taborder: 0 + ] + } + Component ButtonSend + { + #keys: '[414702.0.153101827]' + BaseType: 'WebButton' + Properties: + [ + Image: 'ANTENNA' + Label: '鍙戦��' + Taborder: 1 + ] + } + Component DropDownStringListBusinessType + { + #keys: '[414702.0.170431848]' + BaseType: 'WebDropDownStringList' + Properties: + [ + Label: '浜嬩笟閮ㄩ�夋嫨' + Strings: '澶╁崕;涓撴樉;IT;杞﹁浇;TM17;TM18;杩愬姩鍋ュ悍;姹借溅鐢靛瓙' + Taborder: 2 + ] + } + Component EditFieldAddress + { + #keys: '[414702.0.203870768]' + BaseType: 'WebEditField' + Properties: + [ + Label: '鍙戦�佸湴鍧�' + Taborder: 3 + ] + } + ] + Properties: + [ + FixedSize: true + MinimumColumns: 1 + MinimumRows: 1 + Orientation: 'horizontal' + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_PanelPanelPullPlanReport.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_PanelPanelPullPlanReport.def new file mode 100644 index 0000000..1cf39fa --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_PanelPanelPullPlanReport.def @@ -0,0 +1,15 @@ +Quintiq file version 2.0 +Component PanelPanelPullPlanReport +{ + #keys: '[414702.0.153130397]' + BaseType: 'WebPanel' + Children: + [ + #child: PanelData + #child: PanelFunctionButtons + ] + Properties: + [ + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_listActionBarPageData.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_listActionBarPageData.def new file mode 100644 index 0000000..8aeee1c --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_listActionBarPageData.def @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component listActionBarPageData +{ + #keys: '[414702.0.156121815]' + BaseType: 'listActionBarPage' + Properties: + [ + Taborder: 1 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_listContextMenuData.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_listContextMenuData.def new file mode 100644 index 0000000..e25d70c --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_listContextMenuData.def @@ -0,0 +1,62 @@ +Quintiq file version 2.0 +Component listContextMenuData +{ + #keys: '[414702.0.156121820]' + BaseType: 'listContextMenu' + Children: + [ + Component MenuCreate + { + #keys: '[414702.0.156370994]' + BaseType: 'WebMenu' + Properties: + [ + Image: 'ADD2' + Shortcut: 'Ins' + Taborder: 3 + Title: 'Create...' + ] + } + Component MenuEdit + { + #keys: '[414702.0.156371015]' + BaseType: 'WebMenu' + Properties: + [ + BindOnDoubleClick: true + Image: 'PENCIL' + Shortcut: 'Enter' + Taborder: 4 + Title: 'Edit' + ] + } + Component MenuDelete + { + #keys: '[414702.0.156371036]' + BaseType: 'WebMenu' + Properties: + [ + Image: 'DELETE' + Shortcut: 'Del' + Taborder: 5 + Title: 'Delete' + ] + } + Component MenuSelectAll + { + #keys: '[414702.0.157843652]' + BaseType: 'WebMenu' + Properties: + [ + Image: 'DOCUMENT_SELECTION' + Shortcut: 'Ctrl+A' + Taborder: 6 + Title: '鍏ㄩ��' + ] + } + ] + Properties: + [ + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuCreate_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuCreate_OnClick.def new file mode 100644 index 0000000..4e4e76b --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuCreate_OnClick.def @@ -0,0 +1,22 @@ +Quintiq file version 2.0 +#parent: ListData +Response OnClick () id:Response_ListData_MenuCreate_OnClick +{ + #keys: '[414702.0.157756457]' + CanBindMultiple: false + DefinitionID => /ListData/Responsedef_ListData_WebMenu_OnClick + Initiator: 'MenuCreate' + Precondition: + [* + return not isnull( MacroPlan ); + *] + QuillAction + { + Body: + [* + dlg := construct( DialogCreateEditPanelPullPlanReport ); + dlg.New(); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuDelete_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuDelete_OnClick.def new file mode 100644 index 0000000..1961a06 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuDelete_OnClick.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: ListData +Response OnClick ( + PanelMaterial selection +) id:Response_ListData_MenuDelete_OnClick +{ + #keys: '[414702.0.156337739]' + DefinitionID => /ListData/Responsedef_ListData_WebMenu_OnClick + Initiator: 'MenuDelete' + QuillAction + { + Body: + [* + selection.Delete(); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuEdit_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuEdit_OnClick.def new file mode 100644 index 0000000..988dd2d --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuEdit_OnClick.def @@ -0,0 +1,20 @@ +Quintiq file version 2.0 +#parent: ListData +Response OnClick ( + PanelMaterial selection +) id:Response_ListData_MenuEdit_OnClick +{ + #keys: '[414702.0.158297460]' + CanBindMultiple: false + DefinitionID => /ListData/Responsedef_ListData_WebMenu_OnClick + Initiator: 'MenuEdit' + QuillAction + { + Body: + [* + dlg := construct( DialogCreateEditPanelPullPlanReport ); + dlg.Edit( selection ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuSelectAll_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuSelectAll_OnClick.def new file mode 100644 index 0000000..2bfc384 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuSelectAll_OnClick.def @@ -0,0 +1,17 @@ +Quintiq file version 2.0 +#parent: ListData +Response OnClick () id:Response_ListData_MenuSelectAll_OnClick +{ + #keys: '[414702.0.158466175]' + CanBindMultiple: false + DefinitionID => /ListData/Responsedef_ListData_WebMenu_OnClick + Initiator: 'MenuSelectAll' + QuillAction + { + Body: + [* + this.SelectAll(); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_PanelFunctionButtons_ButtonRefresh_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_PanelFunctionButtons_ButtonRefresh_OnClick.def new file mode 100644 index 0000000..7b93559 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_PanelFunctionButtons_ButtonRefresh_OnClick.def @@ -0,0 +1,24 @@ +Quintiq file version 2.0 +#parent: PanelFunctionButtons/ButtonRefresh +Response OnClick () id:Response_PanelFunctionButtons_ButtonRefresh_OnClick +{ + #keys: '[414702.0.156301340]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + Precondition: + [* + return not isnull( GlobalOTDTable ) and not isnull( MacroPlan ); + *] + QuillAction + { + Body: + [* + MacroPlan.PanelMaterial( relflush ); + + GlobalOTDTable.RefreshPanelMaterialData( MacroPlan ); + + WebMessageBox::Success( "鍒锋柊鎴愬姛锛�", true ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_PanelFunctionButtons_ButtonSend_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_PanelFunctionButtons_ButtonSend_OnClick.def new file mode 100644 index 0000000..c52a5f6 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_PanelFunctionButtons_ButtonSend_OnClick.def @@ -0,0 +1,24 @@ +Quintiq file version 2.0 +#parent: PanelFunctionButtons/ButtonSend +Response OnClick () id:Response_PanelFunctionButtons_ButtonSend_OnClick +{ + #keys: '[414702.0.168500044]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + Precondition: + [* + return not isnull( MacroPlan ) and not isnull( DataHolderActiveScenario.Data() ); + *] + QuillAction + { + Body: + [* + scenario := DataHolderActiveScenario.Data(); + + PanelMaterial::Send( MacroPlan, scenario, DropDownStringListBusinessType.Text(), EditFieldAddress.Text() ); + + WebMessageBox::Success( "鍙戦�佹垚鍔燂紒", true ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/_ROOT_Component_FormPanelPullPlanReport.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/_ROOT_Component_FormPanelPullPlanReport.def new file mode 100644 index 0000000..99e3212 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/_ROOT_Component_FormPanelPullPlanReport.def @@ -0,0 +1,17 @@ +Quintiq file version 2.0 +#root +#parent: MacroPlannerWebApp +OrphanComponent FormPanelPullPlanReport +{ + #keys: '[414702.0.142531280]' + BaseType: 'WebForm' + Children: + [ + #child: PanelPanelPullPlanReport + ] + Properties: + [ + Image: 'TABLET_COMPUTER' + Title: '闈㈡澘鎷夋枡璁″垝鎶ヨ〃' + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Component_ListWorkOrderType.def b/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Component_ListWorkOrderType.def new file mode 100644 index 0000000..033d744 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Component_ListWorkOrderType.def @@ -0,0 +1,59 @@ +Quintiq file version 2.0 +Component ListWorkOrderType +{ + #keys: '[414702.0.144971549]' + BaseType: 'WebList' + Children: + [ + Component DataExtractorWorkOrderType + { + #keys: '[414702.0.144971550]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'GlobalOTDTable' + Source: 'GlobalOTDTable' + Taborder: 0 + Transformation: 'WorkOrderType' + ] + } + #child: listActionBarPageWorkOrderType + Component DataSetLevelWorkOrderType + { + #keys: '[414702.0.144971555]' + BaseType: 'WebDataSetLevel' + Children: + [ + #child: listContextMenuWorkOrderType + ] + Properties: + [ + Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ID","title":"ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"TypeName","title":"TypeName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"TypeName"}}]' + ContextMenu: 'listContextMenuWorkOrderType' + Taborder: 2 + ] + } + ] + Properties: + [ + Taborder: 0 + ] + ResponseDefinitions: + [ + DelegatedResponseDefinition OnClick id:Responsedef_ListWorkOrderType_WebMenu_OnClick + { + #keys: '[414702.0.145643479]' + Initiator: 'WebMenu' + IsInherited: false + ResponseType: 'OnClick' + Arguments: + [ + ResponseDefinitionArgument selection + { + #keys: '[335.0.42781215]' + Binding: 'this.Selection()' + } + ] + } + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Component_listActionBarPageWorkOrderType.def b/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Component_listActionBarPageWorkOrderType.def new file mode 100644 index 0000000..9a65131 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Component_listActionBarPageWorkOrderType.def @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component listActionBarPageWorkOrderType +{ + #keys: '[414702.0.144971552]' + BaseType: 'listActionBarPage' + Properties: + [ + Taborder: 1 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Component_listContextMenuWorkOrderType.def b/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Component_listContextMenuWorkOrderType.def new file mode 100644 index 0000000..3afe0f9 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Component_listContextMenuWorkOrderType.def @@ -0,0 +1,62 @@ +Quintiq file version 2.0 +Component listContextMenuWorkOrderType +{ + #keys: '[414702.0.144971557]' + BaseType: 'listContextMenu' + Children: + [ + Component MenuCreate + { + #keys: '[414702.0.142551037]' + BaseType: 'WebMenu' + Properties: + [ + Image: 'ADD2' + Shortcut: 'Ins' + Taborder: 3 + Title: 'Create...' + ] + } + Component MenuEdit + { + #keys: '[414702.0.142551058]' + BaseType: 'WebMenu' + Properties: + [ + BindOnDoubleClick: true + Image: 'PENCIL' + Shortcut: 'Enter' + Taborder: 4 + Title: 'Edit' + ] + } + Component MenuDelete + { + #keys: '[414702.0.142511388]' + BaseType: 'WebMenu' + Properties: + [ + Image: 'DELETE' + Shortcut: 'Del' + Taborder: 5 + Title: 'Delete' + ] + } + Component MenuSelectAll + { + #keys: '[414702.0.148555263]' + BaseType: 'WebMenu' + Properties: + [ + Image: 'DOCUMENT_SELECTION' + Shortcut: 'Ctrl+A' + Taborder: 6 + Title: '鍏ㄩ��' + ] + } + ] + Properties: + [ + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Response_ListWorkOrderType_MenuCreate_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Response_ListWorkOrderType_MenuCreate_OnClick.def new file mode 100644 index 0000000..a192d2b --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Response_ListWorkOrderType_MenuCreate_OnClick.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: ListWorkOrderType +Response OnClick () id:Response_ListWorkOrderType_MenuCreate_OnClick +{ + #keys: '[414702.0.142563927]' + CanBindMultiple: false + DefinitionID => /ListWorkOrderType/Responsedef_ListWorkOrderType_WebMenu_OnClick + Initiator: 'MenuCreate' + QuillAction + { + Body: + [* + dlg := construct( DialogCreateEditWorkOrderType ); + dlg.NewWorkOrderType( FormWorkOrderType ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Response_ListWorkOrderType_MenuDelete_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Response_ListWorkOrderType_MenuDelete_OnClick.def new file mode 100644 index 0000000..95fa342 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Response_ListWorkOrderType_MenuDelete_OnClick.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: ListWorkOrderType +Response OnClick ( + WorkOrderType selection +) id:Response_ListWorkOrderType_MenuDelete_OnClick +{ + #keys: '[414702.0.147250862]' + DefinitionID => /ListWorkOrderType/Responsedef_ListWorkOrderType_WebMenu_OnClick + Initiator: 'MenuDelete' + QuillAction + { + Body: + [* + selection.Delete(); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Response_ListWorkOrderType_MenuEdit_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Response_ListWorkOrderType_MenuEdit_OnClick.def new file mode 100644 index 0000000..a95b2f0 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Response_ListWorkOrderType_MenuEdit_OnClick.def @@ -0,0 +1,20 @@ +Quintiq file version 2.0 +#parent: ListWorkOrderType +Response OnClick ( + WorkOrderType selection +) id:Response_ListWorkOrderType_MenuEdit_OnClick +{ + #keys: '[414702.0.148314929]' + CanBindMultiple: false + DefinitionID => /ListWorkOrderType/Responsedef_ListWorkOrderType_WebMenu_OnClick + Initiator: 'MenuEdit' + QuillAction + { + Body: + [* + dlg := construct( DialogCreateEditWorkOrderType ); + dlg.Edit( selection ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Response_ListWorkOrderType_MenuSelectAll_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Response_ListWorkOrderType_MenuSelectAll_OnClick.def new file mode 100644 index 0000000..71dd8bd --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Response_ListWorkOrderType_MenuSelectAll_OnClick.def @@ -0,0 +1,17 @@ +Quintiq file version 2.0 +#parent: ListWorkOrderType +Response OnClick () id:Response_ListWorkOrderType_MenuSelectAll_OnClick +{ + #keys: '[414702.0.147527888]' + CanBindMultiple: false + DefinitionID => /ListWorkOrderType/Responsedef_ListWorkOrderType_WebMenu_OnClick + Initiator: 'MenuSelectAll' + QuillAction + { + Body: + [* + this.SelectAll(); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/_ROOT_Component_FormWorkOrderType.def b/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/_ROOT_Component_FormWorkOrderType.def new file mode 100644 index 0000000..93e4dc2 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/_ROOT_Component_FormWorkOrderType.def @@ -0,0 +1,17 @@ +Quintiq file version 2.0 +#root +#parent: MacroPlannerWebApp +OrphanComponent FormWorkOrderType +{ + #keys: '[414702.0.144971495]' + BaseType: 'WebForm' + Children: + [ + #child: ListWorkOrderType + ] + Properties: + [ + Image: 'HOUSE' + Title: '宸ュ崟绫诲瀷缁存姢' + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/_ROOT_Project_MacroPlannerWebApp.qp b/_Main/UI/MacroPlannerWebApp/_ROOT_Project_MacroPlannerWebApp.qp index cb94597..27e4778 100644 --- a/_Main/UI/MacroPlannerWebApp/_ROOT_Project_MacroPlannerWebApp.qp +++ b/_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' } diff --git a/_var/_Main/ModelSettings/Common/Dev-21/_ROOT_Role_Dev-21.properties b/_var/_Main/ModelSettings/Common/Dev-21/_ROOT_Role_Dev-21.properties new file mode 100644 index 0000000..5bf9674 --- /dev/null +++ b/_var/_Main/ModelSettings/Common/Dev-21/_ROOT_Role_Dev-21.properties @@ -0,0 +1,532 @@ +#The properties belonging to _meta and _self groups are reserved. Please do not change them. Comments on these properties will not be preserved. +_meta.application=server +_meta.kind=Quintiq Property File +_meta.type=model +_meta.version.config=1.3 +_self.configsettype=Role +_self.description=IT +_self.name=Dev-21 +domainmodel.ediremotedatasourcedefinition.remotestorage.destination=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.destination.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.destination.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.destination.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.exportcim=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.exportcim.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.exportcim.maxcolumnnamelength=0 +domainmodel.ediremotedatasourcedefinition.remotestorage.exportcim.maxtablenamelength=0 +domainmodel.ediremotedatasourcedefinition.remotestorage.exportcim.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.exportcim.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.importcim=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.importcim.connection=DBODBC1 +domainmodel.ediremotedatasourcedefinition.remotestorage.importcim.maxcolumnnamelength=0 +domainmodel.ediremotedatasourcedefinition.remotestorage.importcim.maxtablenamelength=0 +domainmodel.ediremotedatasourcedefinition.remotestorage.importcim.parameters=/datasource=CIM_Carco /owner=dbo /user=quintiq +domainmodel.ediremotedatasourcedefinition.remotestorage.importcim.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputcampaignsfromexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputcampaignsfromexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputcampaignsfromexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputcampaignsfromexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfromexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfromexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfromexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfromexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfrommodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfrommodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfrommodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfrommodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfromexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfromexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfromexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfromexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfrommodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfrommodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfrommodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfrommodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfromexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfromexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfromexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfromexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfrommodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfrommodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfrommodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfrommodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfromexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfromexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfromexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfromexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfrommodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfrommodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfrommodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfrommodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfromexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfromexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfromexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfromexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfrommodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfrommodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfrommodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfrommodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfromexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfromexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfromexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfromexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfrommodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfrommodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfrommodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfrommodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfromexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfromexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfromexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfromexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfrommodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfrommodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfrommodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfrommodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputperioddefinitionsfromexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputperioddefinitionsfromexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputperioddefinitionsfromexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputperioddefinitionsfromexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputpostponementsandfulfillmentsfromexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputpostponementsandfulfillmentsfromexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputpostponementsandfulfillmentsfromexcel.maxcolumnnamelength=0 +domainmodel.ediremotedatasourcedefinition.remotestorage.inputpostponementsandfulfillmentsfromexcel.maxtablenamelength=0 +domainmodel.ediremotedatasourcedefinition.remotestorage.inputpostponementsandfulfillmentsfromexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputpostponementsandfulfillmentsfromexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfromexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfromexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfromexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfromexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfrommodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfrommodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfrommodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfrommodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfromexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfromexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfromexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfromexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfrommodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfrommodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfrommodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfrommodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputrecipesfromexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputrecipesfromexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputrecipesfromexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputrecipesfromexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfromexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfromexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfromexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfromexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfrommodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfrommodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfrommodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfrommodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfromexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfromexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfromexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfromexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfrommodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfrommodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfrommodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfrommodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfromexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfromexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfromexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfromexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfrommodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfrommodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfrommodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfrommodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfromexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfromexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfromexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfromexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfrommodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfrommodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfrommodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfrommodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfromexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfromexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfromexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfromexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfrommodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfrommodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfrommodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfrommodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfromexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfromexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfromexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfromexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfrommodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfrommodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfrommodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfrommodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfromexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfromexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfromexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfromexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfrommodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfrommodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfrommodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfrommodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfromexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfromexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfromexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfromexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfrommodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfrommodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfrommodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfrommodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcalendarelementsfrommodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcalendarelementsfrommodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcalendarelementsfrommodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcalendarelementsfrommodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcapacitiesfromexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcapacitiesfromexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcapacitiesfromexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcapacitiesfromexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfromexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfromexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfromexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfromexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfrommodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfrommodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfrommodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfrommodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfromexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfromexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfromexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfromexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfrommodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfrommodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfrommodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfrommodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.maxcolumnnamelength=0 +domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.maxtablenamelength=0 +domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.oracle=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.oracle.connection=dbodbc1 +domainmodel.ediremotedatasourcedefinition.remotestorage.oracle.maxcolumnnamelength=0 +domainmodel.ediremotedatasourcedefinition.remotestorage.oracle.maxtablenamelength=0 +domainmodel.ediremotedatasourcedefinition.remotestorage.oracle.parameters=/datasource=otd /owner=OTD /chardatatypeforstring /characterencoding=UTF-8 /appdatatypeforstring=wchar +domainmodel.ediremotedatasourcedefinition.remotestorage.oracle.password=1 A205E2668CFBD9365E030C36BB0A4297 730524bf-f9c9-426f-94a0-953687be1178 +domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignsfrommodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignsfrommodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignsfrommodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignsfrommodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstoexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstoexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstoexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstoexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstomodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstomodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstomodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstomodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestoexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestoexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestoexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestoexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestomodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestomodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestomodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestomodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststoexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststoexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststoexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststoexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststomodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststomodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststomodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputforecaststoexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputforecaststoexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputforecaststoexcel.maxcolumnnamelength=0 +domainmodel.ediremotedatasourcedefinition.remotestorage.outputforecaststoexcel.maxtablenamelength=0 +domainmodel.ediremotedatasourcedefinition.remotestorage.outputforecaststoexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputforecaststoexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparameterstomodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparameterstomodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparameterstomodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparameterstomodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparamterstoexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparamterstoexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparamterstoexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparamterstoexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstoexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstoexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstoexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstoexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstomodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstomodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstomodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstomodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstoexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstoexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstoexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstoexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstomodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstomodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstomodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstomodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestoexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestoexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestoexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestoexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestomodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestomodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestomodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestomodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestoexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestoexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestoexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestoexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestomodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestomodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestomodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestomodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionsfrommodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionsfrommodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionsfrommodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionsfrommodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstoexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstoexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstoexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstoexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstomodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstomodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstomodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstomodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputpostponementsandfulfillmentstomodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputpostponementsandfulfillmentstomodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputpostponementsandfulfillmentstomodel.maxcolumnnamelength=0 +domainmodel.ediremotedatasourcedefinition.remotestorage.outputpostponementsandfulfillmentstomodel.maxtablenamelength=0 +domainmodel.ediremotedatasourcedefinition.remotestorage.outputpostponementsandfulfillmentstomodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputpostponementsandfulfillmentstomodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestoexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestoexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestoexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestoexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestomodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestomodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestomodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestomodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstoexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstoexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstoexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstoexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstomodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstomodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstomodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstomodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipesfrommodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipesfrommodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipesfrommodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipesfrommodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestoexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestoexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestoexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestoexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestomodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestomodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestomodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestomodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstoexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstoexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstoexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstoexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstomodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstomodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstomodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstomodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstoexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstoexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstoexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstoexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstomodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstomodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstomodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstomodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstoexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstoexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstoexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstoexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstomodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstomodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstomodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstomodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstoexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstoexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstoexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstoexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstomodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstomodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstomodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstomodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestoexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestoexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestoexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestoexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestomodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestomodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestomodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestomodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstoexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstoexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstoexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstoexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstomodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstomodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstomodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstomodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstoexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstoexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstoexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstoexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstomodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstomodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstomodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstomodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiesfrommodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiesfrommodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiesfrommodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiesfrommodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiestoexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiestoexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiestoexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiestoexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestoexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestoexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestoexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestoexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestomodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestomodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestomodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestomodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcalendarelementstoexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcalendarelementstoexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcalendarelementstoexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcalendarelementstoexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiesfrommodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiesfrommodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiesfrommodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiesfrommodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestoexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestoexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestoexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestoexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestomodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestomodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestomodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestomodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestoexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestoexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestoexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestoexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestomodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestomodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestomodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestomodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstoexcel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstoexcel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstoexcel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstoexcel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstomodel=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstomodel.connection= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstomodel.parameters= +domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstomodel.password= +domainmodel.ediremotedatasourcedefinition.remotestorage.syncobject=template:domainmodel.ediremotedatasourcedefinition +domainmodel.ediremotedatasourcedefinition.remotestorage.syncobject.parameters=/datasource=MPERPIntegrationDataSource /owner=dbo /user=quintiq +domainmodel.fileprovider.qdrive=template:domainmodel.fileprovider.qdrive +domainmodel.fileprovider.qdrive.enabled=true +domainmodel.fileprovider.qdrive.readonly=false +domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint=template:domainmodel.integratorconfig.dsendpoint +domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.connectiontimeout=0 +domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.dspassword=1 D27640F00F09F1085D52409202B71B4E 2a9f48ef-2467-4394-afcb-75e45a1c40d9 +domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.dsserviceurl=https://vdemopro1342dsy.extranet.3ds.com/3DSpace/resources/v1/model/ +domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.dsuser=Push +domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.maxconnections=10 +domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.receivecontentcharset=ASCII +domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.requesttimeout=60 +domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.sendingcontentcharset=UTF-8 +domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.sockettimeout=0 +domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.trustmanagername=Q3DSpace +domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint=template:domainmodel.integratorconfig.quintiqendpoint +domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint.connectiongroupname=SERVER +domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint.integratorid=Q3DSpace +domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint.outboundrequesttimeout=60 +domainmodel.mdsstoragedefinitionmanager=template:domainmodel.mdsstoragedefinitionmanager +domainmodel.mdsstoragedefinitionmanager.audittrailenabled=false +domainmodel.mdsstoragedefinitionmanager.audittraillocation= +domainmodel.mdsstoragedefinitionmanager.databaseenabled=false +domainmodel.mdsstoragedefinitionmanager.datasetstoredatasource=MacroPlanner +domainmodel.mdsstoragedefinitionmanager.datasetstoreenabled=true +domainmodel.mdsstoragedefinitionmanager.datasetstoreislocal=false +domainmodel.mdsstoragedefinitionmanager.dbformat=Legacy +domainmodel.mdsstoragedefinitionmanager.defaultencryptioncertificate= +#domainmodel.mdsstoragedefinitionmanager.defaultencryptioncertificate= +domainmodel.mdsstoragedefinitionmanager.driver=OCI +domainmodel.mdsstoragedefinitionmanager.dssfilesystemenabled=false +domainmodel.mdsstoragedefinitionmanager.maxcolumnname=0 +domainmodel.mdsstoragedefinitionmanager.maxtablename=0 +domainmodel.mdsstoragedefinitionmanager.name=dbodbc1 +domainmodel.mdsstoragedefinitionmanager.ociconnectionbasichost=10.110.14.50 +domainmodel.mdsstoragedefinitionmanager.ociconnectionbasicport=1521 +domainmodel.mdsstoragedefinitionmanager.ociconnectionbasicservice=totddb_it +domainmodel.mdsstoragedefinitionmanager.ociconnectiontnsname= +domainmodel.mdsstoragedefinitionmanager.ociconnectiontype=Basic +domainmodel.mdsstoragedefinitionmanager.parameters=/datasource=MacroPlannerInternalDB /user=otdit +domainmodel.mdsstoragedefinitionmanager.password=1 2A801D084589485925DA39115D5C7855 b91e3007-e230-4ef5-833e-a07edfc8903c +domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients=template:domainmodel.soapclientinterfacedefinition +domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.datasetkind= +domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.datasetname= +domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.endpoint= +domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.groupname= +domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.hostname= +domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.idescription= +domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.password= +domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.sslkeystore= +domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.timeout= +domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.username= +domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces=template:domainmodel.soapclientinterfacedefinition +domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.endpoint= +domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.groupname= +domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.idescription= +domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.password= +domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.sslkeystore= +domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.timeout= +domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.username= +domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients=template:domainmodel.soapclientinterfacedefinition +domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients.endpoint= +domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients.groupname= +domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients.idescription= +domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients.password= +domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients.sslkeystore= +domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients.username= +domainmodel.soapserverinterfacedefinition.interface.libdef_soapserver=template:domainmodel.soapserverinterfacedefinition +domainmodel.soapserverinterfacedefinition.interface.libdef_soapserver.groupname= +domainmodel.soapserverinterfacedefinition.interface.libdef_soapserver.idescription= +domainmodel.soapserverinterfacedefinition.interface.libdef_soapserver.url= +domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap=template:domainmodel.soapserverinterfacedefinition +domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.encodingstrategy=UseSameAsRequest +domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.exporttzoffset=false +domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.forssl=false +domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.groupname= +domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.idescription= +domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.securecommunication.protocols=TLSv1,TLSv1.1,TLSv1.2 +domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.timezone=GMT +domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.useoslocaltimezone=true +domainmodel.soapserverinterfacedefinition.interface.sopdsscserverinterface=template:domainmodel.soapserverinterfacedefinition +domainmodel.soapserverinterfacedefinition.interface.sopdsscserverinterface.groupname= +domainmodel.soapserverinterfacedefinition.interface.sopdsscserverinterface.idescription= +domainmodel.soapserverinterfacedefinition.interface.sopdsscserverinterface.url= +domainmodel.soapserverinterfacedefinition.interface.sopworkflowserver=template:domainmodel.soapserverinterfacedefinition +domainmodel.soapserverinterfacedefinition.interface.sopworkflowserver.groupname= +domainmodel.soapserverinterfacedefinition.interface.sopworkflowserver.idescription= +domainmodel.soapserverinterfacedefinition.interface.sopworkflowserver.url= +domainmodel.soapserverinterfacedefinition.interface.utf=template:domainmodel.soapserverinterfacedefinition +domainmodel.soapserverinterfacedefinition.interface.utf.groupname= +domainmodel.soapserverinterfacedefinition.interface.utf.idescription= +user=template:user +user.increasestartofplanning=false +user.sizingparameter=false \ No newline at end of file diff --git a/_var/_Main/ModelSettings/Common/Development/_ROOT_Role_Development.properties b/_var/_Main/ModelSettings/Common/Development/_ROOT_Role_Development.properties index 2463c24..b756608 100644 --- a/_var/_Main/ModelSettings/Common/Development/_ROOT_Role_Development.properties +++ b/_var/_Main/ModelSettings/Common/Development/_ROOT_Role_Development.properties @@ -454,10 +454,50 @@ domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.sendingcontentcharset=UTF-8 domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.sockettimeout=0 domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.trustmanagername=Q3DSpace +domainmodel.integratorconfig.quintiqendpoint.jtmbrestserver_quintiqendpoint=template:domainmodel.integratorconfig.quintiqendpoint +domainmodel.integratorconfig.quintiqendpoint.jtmbrestserver_quintiqendpoint.connectiongroupname=SERVER +domainmodel.integratorconfig.quintiqendpoint.jtmbrestserver_quintiqendpoint.outboundrequesttimeout=60 +domainmodel.integratorconfig.quintiqendpoint.panelmaterialrestserver_quintiqendpoint=template:domainmodel.integratorconfig.quintiqendpoint +domainmodel.integratorconfig.quintiqendpoint.panelmaterialrestserver_quintiqendpoint.connectiongroupname=SERVER +domainmodel.integratorconfig.quintiqendpoint.panelmaterialrestserver_quintiqendpoint.outboundrequesttimeout=60 domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint=template:domainmodel.integratorconfig.quintiqendpoint domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint.connectiongroupname=SERVER domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint.integratorid=Q3DSpace domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint.outboundrequesttimeout=60 +domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver=template:domainmodel.integratorconfig.restendpoint +domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.authenticationparam1= +domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.authenticationparam2= +domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.authenticationtype=None +domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.connectiontimeout=0 +domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.contenttype=JSON +domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.enablehttpmessagelogging=true +domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.includerawcontent=false +domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.maxconnections=10 +domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.passonvalidationerrors=false +domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.portnumber=8080 +domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.proxyportnumber=0 +domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.receivecontentcharset=ASCII +domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.requesttimeout=60 +domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.restschemaurl="C:\\Users\\hongjli\\Desktop\\integratorrestexample\\openapi.yaml" +domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.sendingcontentcharset=utf-8 +domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.sockettimeout=0 +domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial=template:domainmodel.integratorconfig.restendpoint +domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.authenticationparam1= +domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.authenticationparam2= +domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.authenticationtype=None +domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.connectiontimeout=0 +domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.contenttype=JSON +domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.enablehttpmessagelogging=false +domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.includerawcontent=false +domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.maxconnections=10 +domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.passonvalidationerrors=false +domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.portnumber=8080 +domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.proxyportnumber=0 +domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.receivecontentcharset=ASCII +domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.requesttimeout=60 +domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.restschemaurl="C:\\Users\\hongjli\\Desktop\\integratorrestexample\\openapi.yaml" +domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.sendingcontentcharset=utf-8 +domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.sockettimeout=0 domainmodel.mdsstoragedefinitionmanager=template:domainmodel.mdsstoragedefinitionmanager domainmodel.mdsstoragedefinitionmanager.audittrailenabled=false domainmodel.mdsstoragedefinitionmanager.audittraillocation= @@ -475,11 +515,11 @@ domainmodel.mdsstoragedefinitionmanager.name=dbodbc1 domainmodel.mdsstoragedefinitionmanager.ociconnectionbasichost=10.110.14.50 domainmodel.mdsstoragedefinitionmanager.ociconnectionbasicport=1521 -domainmodel.mdsstoragedefinitionmanager.ociconnectionbasicservice=totddb +domainmodel.mdsstoragedefinitionmanager.ociconnectionbasicservice=totddb_jtmb domainmodel.mdsstoragedefinitionmanager.ociconnectiontnsname=totddb domainmodel.mdsstoragedefinitionmanager.ociconnectiontype=Basic -domainmodel.mdsstoragedefinitionmanager.parameters=/datasource=MacroPlannerInternalDB /user=otd -domainmodel.mdsstoragedefinitionmanager.password=1 65BA9039C6C6A82BFEAA7408A8F96867 d5a0fc9a-a372-4807-9f03-34bcf85e582d +domainmodel.mdsstoragedefinitionmanager.parameters=/datasource=MacroPlannerInternalDB /user=OTDJTMBUSER +domainmodel.mdsstoragedefinitionmanager.password=1 463752FBAC1C9172263ADBF875F4CBF3 d5a0fc9a-a372-4807-9f03-34bcf85e582d domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients=template:domainmodel.soapclientinterfacedefinition domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.datasetkind= domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.datasetname= -- Gitblit v1.9.3