limj
2023-09-15 e6c0b43a4f21923ceeee5f9c35650314fc783962
Merge branch 'dev' of http://47.101.211.7:10101/r/TIANMA_JITUAN into dev_lmj
已修改27个文件
已添加479个文件
7413 ■■■■■ 文件已修改
_Main/BL/ConfigTemplates.properties 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/EDI/Broker_Broker_OTD_Product.qbl 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/InfoMessages.qbl 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/ContentMapperProcessor_ContentMapperReponse#1.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/ContentMapperProcessor_ContentMapperRequest.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/MessageEnhancerProcessor_MessageHeaderEnhancerProcessor.qbl 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/QuintiqEndpoint_QuintiqEndpoint.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/RestEndpoint_RestEndpointPanelMaterial.qbl 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/_ROOT_IntegratorConfig_PanelMaterialRestServer.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyDataColumn_MatAttrSettingAndPlanStrate.qbl 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyDataRow_MatAttrSettingAndPlanStrategyD.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyDataTable_MatAttrSettingAndPlanStr#458.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyDataTable_MatAttrSettingAndPlanStrateg.qbl 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyDetail_MatAttrSettingAndPlanStrategy_M.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyInputSource_GlobalOTDTable_GlobalOTDTa.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyInputSource_MatAttrSettingAndPlanStrat.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategy_GlobalOTDTable_GlobalOTDTable_MatAttr.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PanelMaterialAll_GlobalOTDTable_GlobalOTDTable_PanelMaterialAll.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PanelMaterialAutomotiveElectronics_PanelMaterialAll_PanelMaterialAl.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PanelMaterialIT_PanelMaterialAll_PanelMaterialAll_PanelMaterialIT.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PanelMaterialSpecializedDisplay_PanelMaterialAll_PanelMaterialAll_P.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PanelMaterialSportsHealth_PanelMaterialAll_PanelMaterialAll_PanelMa.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PanelMaterialTM17_PanelMaterialAll_PanelMaterialAll_PanelMaterialTM.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PanelMaterialTM18_PanelMaterialAll_PanelMaterialAll_PanelMaterialTM.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PanelMaterialTianHua_PanelMaterialAll_PanelMaterialAll_PanelMateria.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PanelMaterialVehicle_PanelMaterialAll_PanelMaterialAll_PanelMateria.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PanelMaterial_MacroPlan_MacroPlan_PanelMaterial.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_WorkOrderType_GlobalOTDTable_GlobalOTDTable_WorkOrderType.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_ActualProductInStockingPointInPeriod/StaticMethod_CreateOrUpdate.qbl 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CustomerOrder/StaticMethod_CreateOrUpdate.qbl 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Forecast/StaticMethod_CreateOrUpdate.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_GlobalDTOTable/Method_InitTestData.qbl 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_GlobalDTOTable/Method_ReceivingPanelMaterials.qbl 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_GlobalDTOTable/Method_RefreshPanelMaterialData.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_GlobalDTOTable/StaticMethod_ReceivingPanelMaterials.qbl 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_InventoryValueAndCost/StaticMethod_CreateOrUpdate.qbl 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_InventoryValueAndCost/StaticMethod_FindById.qbl 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Lane/StaticMethod_CreateLane.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MacroPlan/Method_InitialUnitAndStockingPoint.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MacroPlan/Method_MappingActualPISPIPData.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MacroPlan/Method_MappingExternalSupplyData.qbl 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MacroPlan/Method_MappingInventoryValueAndCostData.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MacroPlan/Method_MappingOperationBOMData.qbl 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MacroPlan/Method_MappingOperationBOMDataRouting#576.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MacroPlan/Method_MappingOperationBOMDataSupplyPurchase.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MacroPlan/Method_MappingOperationCostData.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MacroPlan/Method_MappingOperationData.qbl 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MacroPlan/Method_MappingProductData.qbl 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MacroPlan/Method_MappingProductInLaneData.qbl 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MacroPlan/Method_MappingUnitData.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MacroPlan/StaticMethod_DoSync0.qbl 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Attribute_name.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/DefaultValue_name.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_CheckThePrecedingColumn.qbl 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_CreateOrUpdateData.qbl 149 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_SynchronizeData.qbl 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_VerificationData.qbl 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_VerifyThatTheItemCodeIsNotDuplicated.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_VerifyTheTemplate.qbl 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_parseRows.qbl 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/StaticMethod_doVerify.qbl 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/StaticMethod_expectedHeaders.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/StaticMethod_export.qbl 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/StaticMethod_exportFields.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXML/XMLElementId_Key.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXML/XMLElementId_QuintiqType.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXML/XMLObjectBase_cell.qbl 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXML/XMLObjectBase_column.qbl 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXML/XMLObjectBase_table.qbl 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXML/_ROOT_XML_MatAttrSettingAndPlanStrategyDataTableXML.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXMLHeaders/XMLElementId_Key.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXMLHeaders/XMLElementId_QuintiqType.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXMLHeaders/XMLObjectBase_column.qbl 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXMLHeaders/XMLObjectBase_table.qbl 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXMLHeaders/_ROOT_XML_MatAttrSettingAndPlanStrategyDataTableXMLHeaders.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/_ROOT_Type_MatAttrSettingAndPlanStrategyDataTable.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/Attribute_Comment.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/Attribute_MatCode.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/Attribute_ProductCode.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/Attribute_ProductDesc.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/Attribute_StandardLT.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/Function_CalcMatCode.qbl 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/StaticMethod_CreateIfNotExist.qbl 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyDetail/_ROOT_Type_MatAttrSettingAndPlanStrategyDetail.qbl 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Attribute_base64Str.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Attribute_fileName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Attribute_isXlsx.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Attribute_userName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Method_createTable.qbl 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Method_parseTable.qbl 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/Method_saveData.qbl 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/StaticMethod_VerifyTheFileName.qbl 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/StaticMethod_upload.qbl 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanStrategyInputSource/_ROOT_Type_MatAttrSettingAndPlanStrategyInputSource.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_BusinessType.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_FlagGeneric.qbl 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_FlagLongTerm.qbl 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MatArrivalLT.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MatCode.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MatName.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MatType.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MaximumNumberOfDaysInInventory.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MinProdDeliverLT.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_MinimumNumberOfDaysInStock.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_PlanningStrategyAuto.qbl 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_PlanningStrategyCustom.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_ProductCount.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_SerialNumber.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_UpdateBy.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Attribute_UpdateTime.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Function_CalcMinProdDeliverLT.qbl 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Function_CalcPlanningStrategyAuto.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/Function_CalcProductCount.qbl 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_CreateIfNotExist.qbl 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_DeleteIfExistByMatCode#526.qbl 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_ExportTheFileStream.qbl 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_GeneratesTheSpecifiedXMLColumn.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_SynchronizeInventoryTargets.qbl 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_delete.qbl 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_deleteIfExistByMatCode.qbl 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_getExistByMatCode.qbl 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_update.qbl 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/_ROOT_Type_MatAttrSettingAndPlanStrategy.qbl 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataCell/Attribute_value.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataCell/DefaultValue_value.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataCell/_ROOT_Type_MatAttrSettingAndPlanStrategyDataCell.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataColumn/Attribute_columnIndex.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataColumn/Attribute_name.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataColumn/DefaultValue_columnIndex.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataColumn/DefaultValue_name.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataColumn/Function_CalccolumnIndex.qbl 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataColumn/_ROOT_Type_MatAttrSettingAndPlanStrategyDataColumn.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataRow/Attribute_rowNo.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataRow/DefaultValue_rowNo.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataRow/_ROOT_Type_MatAttrSettingAndPlanStrategyDataRow.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterial/Attribute_DemandQuantity.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterial/Attribute_MaterialDescription.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterial/Attribute_PanelModel.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterial/Attribute_StartDate.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterial/StaticMethod_Send.qbl 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterial/_ROOT_Type_PanelMaterial.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAll/Attribute_BusinessType.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAll/Attribute_ScenarioName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAll/Attribute_releaseDate.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAll/_ROOT_Type_PanelMaterialAll.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_CurrencyID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_Customer.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_CustomerID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_ID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_IsEligibleForNetting.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_IsExcludedFromFulfillmentKPIUser.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_IsFirmed.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_OrderDate.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_OrderID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_OrderLineID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_Price.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_PriorityName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_ProductID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_Quantity.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_SalesSegmentName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_StockingPointID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/Attribute_UnitOfMeasureName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_CurrencyID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_Customer.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_CustomerID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_ID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_IsEligibleForNetting.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_IsFirmed.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_OrderID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_OrderLineID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_Price.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_PriorityName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_ProductID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_Quantity.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_SalesSegmentName.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_StockingPointID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_UnitOfMeasureName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/StaticMethod_ReceiveDataGeneration.qbl 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialAutomotiveElectronics/_ROOT_Type_PanelMaterialAutomotiveElectronics.qbl 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/Attribute_CurrencyID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/Attribute_Customer.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/Attribute_CustomerID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/Attribute_ID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/Attribute_IsEligibleForNetting.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/Attribute_IsExcludedFromFulfillmentKPIUser.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/Attribute_IsFirmed.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/Attribute_OrderDate.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/Attribute_OrderID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/Attribute_OrderLineID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/Attribute_Price.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/Attribute_PriorityName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/Attribute_ProductID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/Attribute_Quantity.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/Attribute_SalesSegmentName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/Attribute_StockingPointID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/Attribute_UnitOfMeasureName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/DefaultValue_CurrencyID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/DefaultValue_Customer.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/DefaultValue_CustomerID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/DefaultValue_ID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/DefaultValue_IsEligibleForNetting.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/DefaultValue_IsFirmed.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/DefaultValue_OrderID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/DefaultValue_OrderLineID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/DefaultValue_Price.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/DefaultValue_PriorityName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/DefaultValue_ProductID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/DefaultValue_Quantity.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/DefaultValue_SalesSegmentName.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/DefaultValue_StockingPointID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/DefaultValue_UnitOfMeasureName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/StaticMethod_ReceiveDataGeneration.qbl 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialIT/_ROOT_Type_PanelMaterialIT.qbl 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_CurrencyID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_Customer.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_CustomerID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_ID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_IsEligibleForNetting.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_IsExcludedFromFulfillmentKPIUser.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_IsFirmed.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_OrderDate.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_OrderID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_OrderLineID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_Price.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_PriorityName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_ProductID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_Quantity.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_SalesSegmentName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_StockingPointID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/Attribute_UnitOfMeasureName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_CurrencyID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_Customer.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_CustomerID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_ID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_IsEligibleForNetting.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_IsFirmed.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_OrderID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_OrderLineID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_Price.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_PriorityName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_ProductID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_Quantity.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_SalesSegmentName.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_StockingPointID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_UnitOfMeasureName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/StaticMethod_ReceiveDataGeneration.qbl 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSpecializedDisplay/_ROOT_Type_PanelMaterialSpecializedDisplay.qbl 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/Attribute_CurrencyID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/Attribute_Customer.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/Attribute_CustomerID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/Attribute_ID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/Attribute_IsEligibleForNetting.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/Attribute_IsExcludedFromFulfillmentKPIUser.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/Attribute_IsFirmed.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/Attribute_OrderDate.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/Attribute_OrderID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/Attribute_OrderLineID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/Attribute_Price.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/Attribute_PriorityName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/Attribute_ProductID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/Attribute_Quantity.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/Attribute_SalesSegmentName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/Attribute_StockingPointID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/Attribute_UnitOfMeasureName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_CurrencyID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_Customer.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_CustomerID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_ID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_IsEligibleForNetting.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_IsFirmed.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_OrderID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_OrderLineID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_Price.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_PriorityName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_ProductID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_Quantity.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_SalesSegmentName.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_StockingPointID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_UnitOfMeasureName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/StaticMethod_ReceiveDataGeneration.qbl 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialSportsHealth/_ROOT_Type_PanelMaterialSportsHealth.qbl 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/Attribute_CurrencyID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/Attribute_Customer.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/Attribute_CustomerID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/Attribute_ID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/Attribute_IsEligibleForNetting.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/Attribute_IsExcludedFromFulfillmentKPIUser.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/Attribute_IsFirmed.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/Attribute_OrderDate.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/Attribute_OrderID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/Attribute_OrderLineID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/Attribute_Price.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/Attribute_PriorityName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/Attribute_ProductID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/Attribute_Quantity.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/Attribute_SalesSegmentName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/Attribute_StockingPointID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/Attribute_UnitOfMeasureName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/DefaultValue_CurrencyID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/DefaultValue_Customer.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/DefaultValue_CustomerID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/DefaultValue_ID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/DefaultValue_IsEligibleForNetting.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/DefaultValue_IsFirmed.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/DefaultValue_OrderID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/DefaultValue_OrderLineID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/DefaultValue_Price.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/DefaultValue_PriorityName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/DefaultValue_ProductID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/DefaultValue_Quantity.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/DefaultValue_SalesSegmentName.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/DefaultValue_StockingPointID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/DefaultValue_UnitOfMeasureName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/StaticMethod_ReceiveDataGeneration.qbl 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM17/_ROOT_Type_PanelMaterialTM17.qbl 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/Attribute_CurrencyID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/Attribute_Customer.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/Attribute_CustomerID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/Attribute_ID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/Attribute_IsEligibleForNetting.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/Attribute_IsExcludedFromFulfillmentKPIUser.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/Attribute_IsFirmed.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/Attribute_OrderDate.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/Attribute_OrderID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/Attribute_OrderLineID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/Attribute_Price.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/Attribute_PriorityName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/Attribute_ProductID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/Attribute_Quantity.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/Attribute_SalesSegmentName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/Attribute_StockingPointID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/Attribute_UnitOfMeasureName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/DefaultValue_CurrencyID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/DefaultValue_Customer.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/DefaultValue_CustomerID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/DefaultValue_ID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/DefaultValue_IsEligibleForNetting.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/DefaultValue_IsFirmed.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/DefaultValue_OrderID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/DefaultValue_OrderLineID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/DefaultValue_Price.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/DefaultValue_PriorityName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/DefaultValue_ProductID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/DefaultValue_Quantity.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/DefaultValue_SalesSegmentName.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/DefaultValue_StockingPointID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/DefaultValue_UnitOfMeasureName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/StaticMethod_ReceiveDataGeneration.qbl 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTM18/_ROOT_Type_PanelMaterialTM18.qbl 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/Attribute_CurrencyID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/Attribute_Customer.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/Attribute_CustomerID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/Attribute_ID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/Attribute_IsEligibleForNetting.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/Attribute_IsExcludedFromFulfillmentKPIUser.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/Attribute_IsFirmed.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/Attribute_OrderDate.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/Attribute_OrderID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/Attribute_OrderLineID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/Attribute_Price.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/Attribute_PriorityName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/Attribute_ProductID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/Attribute_Quantity.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/Attribute_SalesSegmentName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/Attribute_StockingPointID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/Attribute_UnitOfMeasureName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/DefaultValue_CurrencyID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/DefaultValue_Customer.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/DefaultValue_CustomerID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/DefaultValue_ID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/DefaultValue_IsEligibleForNetting.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/DefaultValue_IsFirmed.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/DefaultValue_OrderID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/DefaultValue_OrderLineID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/DefaultValue_Price.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/DefaultValue_PriorityName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/DefaultValue_ProductID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/DefaultValue_Quantity.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/DefaultValue_SalesSegmentName.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/DefaultValue_StockingPointID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/DefaultValue_UnitOfMeasureName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/StaticMethod_ReceiveDataGeneration.qbl 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialTianHua/_ROOT_Type_PanelMaterialTianHua.qbl 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialVehicle/Attribute_CurrencyID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialVehicle/Attribute_Customer.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialVehicle/Attribute_CustomerID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialVehicle/Attribute_ID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialVehicle/Attribute_IsEligibleForNetting.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialVehicle/Attribute_IsExcludedFromFulfillmentKPIUser.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialVehicle/Attribute_IsFirmed.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialVehicle/Attribute_OrderDate.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialVehicle/Attribute_OrderID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialVehicle/Attribute_OrderLineID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialVehicle/Attribute_Price.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialVehicle/Attribute_PriorityName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialVehicle/Attribute_ProductID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialVehicle/Attribute_Quantity.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialVehicle/Attribute_SalesSegmentName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialVehicle/Attribute_StockingPointID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialVehicle/Attribute_UnitOfMeasureName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialVehicle/DefaultValue_CurrencyID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialVehicle/DefaultValue_IsEligibleForNetting.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialVehicle/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialVehicle/DefaultValue_IsFirmed.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialVehicle/DefaultValue_Price.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialVehicle/DefaultValue_PriorityName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialVehicle/DefaultValue_StockingPointID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialVehicle/DefaultValue_UnitOfMeasureName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialVehicle/StaticMethod_ReceiveDataGeneration.qbl 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PanelMaterialVehicle/_ROOT_Type_PanelMaterialVehicle.qbl 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_ProductInLane/StaticMethod_CreateOrUpdate.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Product_MP/Attribute_IsPanelMaterial.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_StockingPoint_MP/StaticMethod_CreateStockingpointFromJson.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_WorkOrderType/Attribute_ID.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_WorkOrderType/Attribute_TypeName.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_WorkOrderType/_ROOT_Type_WorkOrderType.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/Sys/Integration/Brokers/PanelMaterialResponseResult.xml 补丁 | 查看 | 原始文档 | blame | 历史
_Main/Sys/Integration/Mapping/PanelMaterialResponseResult.xml 补丁 | 查看 | 原始文档 | blame | 历史
_Main/Sys/Integration/Structure/PanelMaterialResponseResult_from.xml 补丁 | 查看 | 原始文档 | blame | 历史
_Main/Sys/Integration/Structure/PanelMaterialResponseResult_to.xml 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlanner/Component_FormProducts/Component_ListProduct.def 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlanner/Component_FormProducts/Component_SplitterWnd8.def 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlanner/Component_FormProducts/Response_TIANMA_JITUAN_ListProduct_MenuConvertToPanelMaterial_OnClick.def 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlanner/Component_FormProducts/_ROOT_Component_FormProducts.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlanner/Component_frmStandardAnalysisGlobalOTDTable/Component_swTop.def 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlanner/Component_frmStandardAnalysisGlobalOTDTable/Component_swTopMost.def 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlanner/Component_frmStandardAnalysisGlobalOTDTable/_ROOT_Component_frmStandardAnalysisGlobalOTDTable.def 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_LibSOPImpExp_ContextMenuImport_MenuImportFromCommonIn.def 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Component_pnlActions.def 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Component_pnlContent.def 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Method_Edit.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Method_New.def 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Response_pnlActions_btnCancel_OnClick.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Response_pnlActions_btnOk_OnClick.def 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Response_pnlContent_ddslPanelModel_OnCreated.def 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/_ROOT_Component_DialogCreateEditPanelPullPlanReport.def 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Component_pnlActions.def 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Component_pnlContent.def 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Method_Edit.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Method_NewWorkOrderType.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Response_pnlActions_btnCancel_OnClick.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/Response_pnlActions_btnOk_OnClick.def 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditWorkOrderType/_ROOT_Component_DialogCreateEditWorkOrderType.def 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Component_pnlActions.def 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Component_pnlContent.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Component_pnlGeneral.def 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Method_Edit.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Response_pnlActions_btnCancel_OnClick.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Response_pnlActions_btnOk_OnClick.def 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Response_pnlGeneral_ddslMaterialPlanningPolicyChanges_OnCreated.def 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Response_pnlGeneral_ddslMaterialPlanningPolicyChanges_OnUserSelectionChanged.def 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/_ROOT_Component_DialogCreateEditMaterialLabelingAndPlanningStrategy.def 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_ListChildMaterial.def 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_ListMaterialMaterialLabelingAndPlanningStrategy#880.def 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelChildMaterial#558.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterial.def 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialExportAndImport#136.def 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialLabelingAndPlanningStrategy.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialOperationButton.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listActionBarPageChildMaterial.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listActionBarPageMaterial790#1.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listContextMenuChildMaterial.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listContextMenuMaterial455#1.def 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_MenuDeleteAll_O.def 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_MenuSelectAll_O.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnDoubleClick.def 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnUserCheck#591.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnUserCheckedCh.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonMaterialExportAndExport_OnCl.def 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonMaterialExportAndImport_OnCl.def 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonPullData_OnClick.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonSynchronizeInventoryTargets_.def 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterial_DataHolderCheckedMaterials_OnDataChanged.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/_ROOT_Component_FormMaterialLabelingAndPlanningStrategy.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_ListData.def 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_PanelData#431.def 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_PanelFunctionButtons.def 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_PanelPanelPullPlanReport.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_listActionBarPageData.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_listContextMenuData.def 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuCreate_OnClick.def 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuDelete_OnClick.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuEdit_OnClick.def 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuSelectAll_OnClick.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_PanelFunctionButtons_ButtonRefresh_OnClick.def 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_PanelFunctionButtons_ButtonSend_OnClick.def 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/_ROOT_Component_FormPanelPullPlanReport.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Component_ListWorkOrderType.def 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Component_listActionBarPageWorkOrderType.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Component_listContextMenuWorkOrderType.def 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Response_ListWorkOrderType_MenuCreate_OnClick.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Response_ListWorkOrderType_MenuDelete_OnClick.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Response_ListWorkOrderType_MenuEdit_OnClick.def 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Response_ListWorkOrderType_MenuSelectAll_OnClick.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/_ROOT_Component_FormWorkOrderType.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/_ROOT_Project_MacroPlannerWebApp.qp 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_var/_Main/ModelSettings/Common/Dev-21/_ROOT_Role_Dev-21.properties 532 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_var/_Main/ModelSettings/Common/Development/_ROOT_Role_Development.properties 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_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
_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
_Main/BL/InfoMessages.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,5 @@
Quintiq file version 2.0
#parent: #root
InfoMessages id:#InfoMessages #extension
{
}
_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/ContentMapperProcessor_ContentMapperReponse#1.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
Quintiq file version 2.0
#parent: #root
ContentMapperProcessor ContentMapperReponse
{
  DefaultMappingName: 'PanelMaterialResponseResult'
  PosX: 330
  PosY: 450
  ReplyChannelOutputs: QuintiqEndpoint
}
_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
}
_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'
  }
}
_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'
}
_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'
}
_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/_ROOT_IntegratorConfig_PanelMaterialRestServer.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#root
#parent: #root
IntegratorConfig PanelMaterialRestServer
{
}
_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'
  }
}
_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'
  }
}
_Main/BL/Relations/Relation_MatAttrSettingAndPlanStrategyDataTable_MatAttrSettingAndPlanStr#458.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'
  }
}
_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'
  }
}
_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'
  }
}
_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'
  }
}
_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'
  }
}
_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'
  }
}
_Main/BL/Relations/Relation_PanelMaterialAll_GlobalOTDTable_GlobalOTDTable_PanelMaterialAll.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation PanelMaterialAll_GlobalOTDTable_GlobalOTDTable_PanelMaterialAll
{
  #keys: '1[414702.0.196798981]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide GlobalOTDTable
  {
    #keys: '3[414702.0.196798983][414702.0.196798982][414702.0.196798984]'
    Cardinality: '0to1'
    ObjectDefinition: PanelMaterialAll
    OwningSide: 'Reference'
  }
  RelationSide.RightSide PanelMaterialAll
  {
    #keys: '3[414702.0.196798986][414702.0.196798985][414702.0.196798987]'
    Cardinality: '1toN'
    ObjectDefinition: GlobalOTDTable
    OwningSide: 'Owned'
  }
}
_Main/BL/Relations/Relation_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'
  }
}
_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'
  }
}
_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'
  }
}
_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'
  }
}
_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'
  }
}
_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'
  }
}
_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'
  }
}
_Main/BL/Relations/Relation_PanelMaterialVehicle_PanelMaterialAll_PanelMaterialAll_PanelMateria.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation PanelMaterialVehicle_PanelMaterialAll_PanelMaterialAll_PanelMaterialVehicle
{
  #keys: '1[414702.0.196801391]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide PanelMaterialAll
  {
    #keys: '3[414702.0.196801393][414702.0.196801392][414702.0.196801394]'
    Cardinality: '0to1'
    ObjectDefinition: PanelMaterialVehicle
    OwningSide: 'Reference'
  }
  RelationSide.RightSide PanelMaterialVehicle
  {
    #keys: '3[414702.0.196801396][414702.0.196801395][414702.0.196801397]'
    Cardinality: '1toN'
    ObjectDefinition: PanelMaterialAll
    OwningSide: 'Owned'
  }
}
_Main/BL/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'
  }
}
_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'
  }
}
_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 );
        }
  *]
}
_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;
_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, 
_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, "专用", "短周期" );
  *]
}
_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 );
  *]
}
_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()
                                  );
        }
      }
    }
  *]
}
_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 );
    }
  *]
}
_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;
  *]
}
_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;
  *]
}
_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();
_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, 
_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" );
    
_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);
_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() );
    //    }
    }
  *]
}
_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" );
                // ========处理输出========
_Main/BL/Type_MacroPlan/Method_MappingOperationBOMDataRouting#576.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" );
_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 );
      }
    }
  *]
}
_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();
_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,
_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();
_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() );
_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, 
_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
_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
}
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/DefaultValue_name.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: name
}
_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() );
        }
      }
    }
  *]
}
_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() );
        }
      }
    }
  *]
}
_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 );
  *]
}
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/Method_VerificationData.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
Quintiq file version 2.0
#parent: #root
Method VerificationData (
  GlobalOTDTable globalOTDTable
)
{
  TextBody:
  [*
    info( "策略个数:", globalOTDTable.MatAttrSettingAndPlanStrategy( relsize ) );
    traverse ( globalOTDTable, MatAttrSettingAndPlanStrategy, masaps ) {
      if ( masaps.PlanningStrategyCustom() <> "安全库存" and masaps.PlanningStrategyCustom() <> "JIT" and masaps.PlanningStrategyCustom() <> "M/A" and
           masaps.PlanningStrategyCustom() <> "PO拉料" and masaps.PlanningStrategyCustom() <> "VMI" ) {
        error( "手动设置策略错误:", masaps.MatCode() );
      }
      if ( ( masaps.PlanningStrategyAuto() <> ""   and masaps.PlanningStrategyAuto() = "JIT" )  or
           ( masaps.PlanningStrategyCustom() <> "" and masaps.PlanningStrategyCustom() = "JIT" )
          ) {
        if ( masaps.MinimumNumberOfDaysInStock() > 0 or masaps.MaximumNumberOfDaysInInventory() > 0 ) {
          error( "JIT策略存在最小和最大库存天数:", masaps.MatCode() );
        }
      }
    }
  *]
}
_Main/BL/Type_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 );
      }
    }
  *]
}
_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( "模板解析错误" );
    }
  *]
}
_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;
      }
    }
  *]
}
_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 + "." );
      }
    }
  *]
}
_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;
  *]
}
_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();
  *]
}
_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;
  *]
}
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXML/XMLElementId_Key.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
XMLElementId
{
  XMLAddressType { }
  XMLID Key { }
}
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXML/XMLElementId_QuintiqType.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
XMLElementId
{
  XMLID QuintiqType { }
  XMLQualifierType { }
}
_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 { }
    }
  ]
}
_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 { }
    }
  ]
}
_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 { }
    }
  ]
}
_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
}
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXMLHeaders/XMLElementId_Key.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
XMLElementId
{
  XMLAddressType { }
  XMLID Key { }
}
_Main/BL/Type_MatAttrSettingAndPlanStrategyDataTable/XML_MatAttrSettingAndPlanningStrategyDataTableXMLHeaders/XMLElementId_QuintiqType.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
XMLElementId
{
  XMLID QuintiqType { }
  XMLQualifierType { }
}
_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 { }
    }
  ]
}
_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 { }
    }
  ]
}
_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
}
_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'
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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 );
  *]
}
_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;
  *]
}
_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'
}
_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
}
_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
}
_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
}
_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
}
_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;
  *]
}
_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 );
    }
  *]
}
_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() );
        }
      }
    }
  *]
}
_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( "请上传Excel文件" );
    }
  *]
}
_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;
  *]
}
_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'
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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: '成品最小交付LT(天)'
  ValueType: Real
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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 );
  *]
}
_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 );
  *]
}
_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 );
  *]
}
_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;
  *]
}
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_DeleteIfExistByMatCode#526.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();
      }
    }
  *]
}
_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();
  *]
}
_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 );
      }
    }
  *]
}
_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
                                         );
        }
      }
    }
  *]
}
_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();
    }
  *]
}
_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();
      }
    }
  *]
}
_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;
  *]
}
_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;
  *]
}
_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'
}
_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
}
_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataCell/DefaultValue_value.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: value
}
_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'
}
_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
}
_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
}
_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataColumn/DefaultValue_columnIndex.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: '0'
  TargetAttribute: columnIndex
}
_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataColumn/DefaultValue_name.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: name
}
_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 );
  *]
}
_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'
}
_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
}
_Main/BL/Type_MatAttrSettingAndPlanningStrategyDataRow/DefaultValue_rowNo.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: '0'
  TargetAttribute: rowNo
}
_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'
}
_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
}
_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
}
_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
}
_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
}
_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() );
  *]
}
_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'
}
_Main/BL/Type_PanelMaterialAll/Attribute_BusinessType.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute BusinessType
{
  #keys: '3[414702.0.196801424][414702.0.196801423][414702.0.196801425]'
  ValueType: String
}
_Main/BL/Type_PanelMaterialAll/Attribute_ScenarioName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute ScenarioName
{
  #keys: '3[414702.0.196801434][414702.0.196801433][414702.0.196801435]'
  ValueType: String
}
_Main/BL/Type_PanelMaterialAll/Attribute_releaseDate.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute ReleaseDate
{
  #keys: '3[414702.0.196801411][414702.0.196801410][414702.0.196801412]'
  ValueType: String
}
_Main/BL/Type_PanelMaterialAll/_ROOT_Type_PanelMaterialAll.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
Quintiq file version 2.0
#root
#parent: #DomainModel
Type PanelMaterialAll
{
  #keys: '5[414702.0.196801373][414702.0.196801371][0.0.0][414702.0.196801372][414702.0.196801374]'
  BaseType: Object
  StructuredName: 'PanelMaterialAlls'
}
_Main/BL/Type_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_CurrencyID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'CNY'
  TargetAttribute: CurrencyID
}
_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_Customer.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: Customer
}
_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_CustomerID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: CustomerID
}
_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_ID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: ID
}
_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_IsEligibleForNetting.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'true'
  TargetAttribute: IsEligibleForNetting
}
_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'false'
  TargetAttribute: IsExcludedFromFulfillmentKPIUser
}
_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_IsFirmed.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'true'
  TargetAttribute: IsFirmed
}
_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_OrderID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: OrderID
}
_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_OrderLineID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: OrderLineID
}
_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_Price.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: '0'
  TargetAttribute: Price
}
_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_PriorityName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'Normal'
  TargetAttribute: PriorityName
}
_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_ProductID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: ProductID
}
_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_Quantity.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: Quantity
}
_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_SalesSegmentName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: SalesSegmentName
}
_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_StockingPointID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: '成品仓'
  TargetAttribute: StockingPointID
}
_Main/BL/Type_PanelMaterialAutomotiveElectronics/DefaultValue_UnitOfMeasureName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'SHT'
  TargetAttribute: UnitOfMeasureName
}
_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()
                                                          );
    }
  *]
}
_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'
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_Main/BL/Type_PanelMaterialIT/DefaultValue_CurrencyID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'CNY'
  TargetAttribute: CurrencyID
}
_Main/BL/Type_PanelMaterialIT/DefaultValue_Customer.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: Customer
}
_Main/BL/Type_PanelMaterialIT/DefaultValue_CustomerID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: CustomerID
}
_Main/BL/Type_PanelMaterialIT/DefaultValue_ID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: ID
}
_Main/BL/Type_PanelMaterialIT/DefaultValue_IsEligibleForNetting.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'true'
  TargetAttribute: IsEligibleForNetting
}
_Main/BL/Type_PanelMaterialIT/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'false'
  TargetAttribute: IsExcludedFromFulfillmentKPIUser
}
_Main/BL/Type_PanelMaterialIT/DefaultValue_IsFirmed.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'true'
  TargetAttribute: IsFirmed
}
_Main/BL/Type_PanelMaterialIT/DefaultValue_OrderID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: OrderID
}
_Main/BL/Type_PanelMaterialIT/DefaultValue_OrderLineID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: OrderLineID
}
_Main/BL/Type_PanelMaterialIT/DefaultValue_Price.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: '0'
  TargetAttribute: Price
}
_Main/BL/Type_PanelMaterialIT/DefaultValue_PriorityName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'Normal'
  TargetAttribute: PriorityName
}
_Main/BL/Type_PanelMaterialIT/DefaultValue_ProductID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: ProductID
}
_Main/BL/Type_PanelMaterialIT/DefaultValue_Quantity.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: Quantity
}
_Main/BL/Type_PanelMaterialIT/DefaultValue_SalesSegmentName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: SalesSegmentName
}
_Main/BL/Type_PanelMaterialIT/DefaultValue_StockingPointID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: '成品仓'
  TargetAttribute: StockingPointID
}
_Main/BL/Type_PanelMaterialIT/DefaultValue_UnitOfMeasureName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'SHT'
  TargetAttribute: UnitOfMeasureName
}
_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()
                                       );
    }
  *]
}
_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'
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_CurrencyID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'CNY'
  TargetAttribute: CurrencyID
}
_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_Customer.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: Customer
}
_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_CustomerID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: CustomerID
}
_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_ID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: ID
}
_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_IsEligibleForNetting.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'true'
  TargetAttribute: IsEligibleForNetting
}
_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'false'
  TargetAttribute: IsExcludedFromFulfillmentKPIUser
}
_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_IsFirmed.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'true'
  TargetAttribute: IsFirmed
}
_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_OrderID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: OrderID
}
_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_OrderLineID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: OrderLineID
}
_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_Price.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: '0'
  TargetAttribute: Price
}
_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_PriorityName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'Normal'
  TargetAttribute: PriorityName
}
_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_ProductID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: ProductID
}
_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_Quantity.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: Quantity
}
_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_SalesSegmentName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: SalesSegmentName
}
_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_StockingPointID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: '成品仓'
  TargetAttribute: StockingPointID
}
_Main/BL/Type_PanelMaterialSpecializedDisplay/DefaultValue_UnitOfMeasureName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'SHT'
  TargetAttribute: UnitOfMeasureName
}
_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()
                                                       );
    }
  *]
}
_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'
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_CurrencyID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'CNY'
  TargetAttribute: CurrencyID
}
_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_Customer.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: Customer
}
_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_CustomerID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: CustomerID
}
_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_ID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: ID
}
_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_IsEligibleForNetting.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'true'
  TargetAttribute: IsEligibleForNetting
}
_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'false'
  TargetAttribute: IsExcludedFromFulfillmentKPIUser
}
_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_IsFirmed.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'true'
  TargetAttribute: IsFirmed
}
_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_OrderID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: OrderID
}
_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_OrderLineID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: OrderLineID
}
_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_Price.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: '0'
  TargetAttribute: Price
}
_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_PriorityName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'Normal'
  TargetAttribute: PriorityName
}
_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_ProductID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: ProductID
}
_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_Quantity.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: Quantity
}
_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_SalesSegmentName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: SalesSegmentName
}
_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_StockingPointID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: '成品仓'
  TargetAttribute: StockingPointID
}
_Main/BL/Type_PanelMaterialSportsHealth/DefaultValue_UnitOfMeasureName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'SHT'
  TargetAttribute: UnitOfMeasureName
}
_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()
                                                 );
    }
  *]
}
_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'
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_Main/BL/Type_PanelMaterialTM17/DefaultValue_CurrencyID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'CNY'
  TargetAttribute: CurrencyID
}
_Main/BL/Type_PanelMaterialTM17/DefaultValue_Customer.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: Customer
}
_Main/BL/Type_PanelMaterialTM17/DefaultValue_CustomerID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: CustomerID
}
_Main/BL/Type_PanelMaterialTM17/DefaultValue_ID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: ID
}
_Main/BL/Type_PanelMaterialTM17/DefaultValue_IsEligibleForNetting.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'true'
  TargetAttribute: IsEligibleForNetting
}
_Main/BL/Type_PanelMaterialTM17/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'false'
  TargetAttribute: IsExcludedFromFulfillmentKPIUser
}
_Main/BL/Type_PanelMaterialTM17/DefaultValue_IsFirmed.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'true'
  TargetAttribute: IsFirmed
}
_Main/BL/Type_PanelMaterialTM17/DefaultValue_OrderID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: OrderID
}
_Main/BL/Type_PanelMaterialTM17/DefaultValue_OrderLineID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: OrderLineID
}
_Main/BL/Type_PanelMaterialTM17/DefaultValue_Price.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: '0'
  TargetAttribute: Price
}
_Main/BL/Type_PanelMaterialTM17/DefaultValue_PriorityName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'Normal'
  TargetAttribute: PriorityName
}
_Main/BL/Type_PanelMaterialTM17/DefaultValue_ProductID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: ProductID
}
_Main/BL/Type_PanelMaterialTM17/DefaultValue_Quantity.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: Quantity
}
_Main/BL/Type_PanelMaterialTM17/DefaultValue_SalesSegmentName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: SalesSegmentName
}
_Main/BL/Type_PanelMaterialTM17/DefaultValue_StockingPointID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: '成品仓'
  TargetAttribute: StockingPointID
}
_Main/BL/Type_PanelMaterialTM17/DefaultValue_UnitOfMeasureName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'SHT'
  TargetAttribute: UnitOfMeasureName
}
_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()
                                         );
    }
  *]
}
_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'
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_Main/BL/Type_PanelMaterialTM18/DefaultValue_CurrencyID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'CNY'
  TargetAttribute: CurrencyID
}
_Main/BL/Type_PanelMaterialTM18/DefaultValue_Customer.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: Customer
}
_Main/BL/Type_PanelMaterialTM18/DefaultValue_CustomerID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: CustomerID
}
_Main/BL/Type_PanelMaterialTM18/DefaultValue_ID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: ID
}
_Main/BL/Type_PanelMaterialTM18/DefaultValue_IsEligibleForNetting.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'true'
  TargetAttribute: IsEligibleForNetting
}
_Main/BL/Type_PanelMaterialTM18/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'false'
  TargetAttribute: IsExcludedFromFulfillmentKPIUser
}
_Main/BL/Type_PanelMaterialTM18/DefaultValue_IsFirmed.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'true'
  TargetAttribute: IsFirmed
}
_Main/BL/Type_PanelMaterialTM18/DefaultValue_OrderID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: OrderID
}
_Main/BL/Type_PanelMaterialTM18/DefaultValue_OrderLineID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: OrderLineID
}
_Main/BL/Type_PanelMaterialTM18/DefaultValue_Price.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: '0'
  TargetAttribute: Price
}
_Main/BL/Type_PanelMaterialTM18/DefaultValue_PriorityName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'Normal'
  TargetAttribute: PriorityName
}
_Main/BL/Type_PanelMaterialTM18/DefaultValue_ProductID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: ProductID
}
_Main/BL/Type_PanelMaterialTM18/DefaultValue_Quantity.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: Quantity
}
_Main/BL/Type_PanelMaterialTM18/DefaultValue_SalesSegmentName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: SalesSegmentName
}
_Main/BL/Type_PanelMaterialTM18/DefaultValue_StockingPointID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: '成品仓'
  TargetAttribute: StockingPointID
}
_Main/BL/Type_PanelMaterialTM18/DefaultValue_UnitOfMeasureName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'SHT'
  TargetAttribute: UnitOfMeasureName
}
_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()
                                         );
    }
  *]
}
_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'
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_Main/BL/Type_PanelMaterialTianHua/DefaultValue_CurrencyID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'CNY'
  TargetAttribute: CurrencyID
}
_Main/BL/Type_PanelMaterialTianHua/DefaultValue_Customer.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: Customer
}
_Main/BL/Type_PanelMaterialTianHua/DefaultValue_CustomerID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: CustomerID
}
_Main/BL/Type_PanelMaterialTianHua/DefaultValue_ID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: ID
}
_Main/BL/Type_PanelMaterialTianHua/DefaultValue_IsEligibleForNetting.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'true'
  TargetAttribute: IsEligibleForNetting
}
_Main/BL/Type_PanelMaterialTianHua/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'false'
  TargetAttribute: IsExcludedFromFulfillmentKPIUser
}
_Main/BL/Type_PanelMaterialTianHua/DefaultValue_IsFirmed.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'true'
  TargetAttribute: IsFirmed
}
_Main/BL/Type_PanelMaterialTianHua/DefaultValue_OrderID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: OrderID
}
_Main/BL/Type_PanelMaterialTianHua/DefaultValue_OrderLineID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: OrderLineID
}
_Main/BL/Type_PanelMaterialTianHua/DefaultValue_Price.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: '0'
  TargetAttribute: Price
}
_Main/BL/Type_PanelMaterialTianHua/DefaultValue_PriorityName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'Normal'
  TargetAttribute: PriorityName
}
_Main/BL/Type_PanelMaterialTianHua/DefaultValue_ProductID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: ProductID
}
_Main/BL/Type_PanelMaterialTianHua/DefaultValue_Quantity.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: Quantity
}
_Main/BL/Type_PanelMaterialTianHua/DefaultValue_SalesSegmentName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: SalesSegmentName
}
_Main/BL/Type_PanelMaterialTianHua/DefaultValue_StockingPointID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: '成品仓'
  TargetAttribute: StockingPointID
}
_Main/BL/Type_PanelMaterialTianHua/DefaultValue_UnitOfMeasureName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'SHT'
  TargetAttribute: UnitOfMeasureName
}
_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()
                                            );
    }
  *]
}
_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'
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_Main/BL/Type_PanelMaterialVehicle/Attribute_ProductID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute ProductID
{
  #keys: '3[414702.0.196801332][414702.0.196801331][414702.0.196801333]'
  ValueType: String
}
_Main/BL/Type_PanelMaterialVehicle/Attribute_Quantity.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute Quantity
{
  #keys: '3[414702.0.196801342][414702.0.196801341][414702.0.196801343]'
  ValueType: String
}
_Main/BL/Type_PanelMaterialVehicle/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
}
_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
}
_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
}
_Main/BL/Type_PanelMaterialVehicle/DefaultValue_CurrencyID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'CNY'
  TargetAttribute: CurrencyID
}
_Main/BL/Type_PanelMaterialVehicle/DefaultValue_IsEligibleForNetting.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'true'
  TargetAttribute: IsEligibleForNetting
}
_Main/BL/Type_PanelMaterialVehicle/DefaultValue_IsExcludedFromFulfillmentKPIUser.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'false'
  TargetAttribute: IsExcludedFromFulfillmentKPIUser
}
_Main/BL/Type_PanelMaterialVehicle/DefaultValue_IsFirmed.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'true'
  TargetAttribute: IsFirmed
}
_Main/BL/Type_PanelMaterialVehicle/DefaultValue_Price.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: '0'
  TargetAttribute: Price
}
_Main/BL/Type_PanelMaterialVehicle/DefaultValue_PriorityName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'Normal'
  TargetAttribute: PriorityName
}
_Main/BL/Type_PanelMaterialVehicle/DefaultValue_StockingPointID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: '成品仓'
  TargetAttribute: StockingPointID
}
_Main/BL/Type_PanelMaterialVehicle/DefaultValue_UnitOfMeasureName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'SHT'
  TargetAttribute: UnitOfMeasureName
}
_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()
                                            );
    }
  *]
}
_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'
}
_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 );
        }
    }
  *]
}
_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
}
_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();
    
_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
}
_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
}
_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'
}
_Main/Sys/Integration/Brokers/PanelMaterialResponseResult.xml
Binary files differ
_Main/Sys/Integration/Mapping/PanelMaterialResponseResult.xml
Binary files differ
_Main/Sys/Integration/Structure/PanelMaterialResponseResult_from.xml
Binary files differ
_Main/Sys/Integration/Structure/PanelMaterialResponseResult_to.xml
Binary files differ
_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
        }
      ]
    }
_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
            }
          ]
        }
      ]
    }
  ]
}
_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
      ]
    }
  ]
}
_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'
}
_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
  ]
}
_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'
          ]
        }
      ]
    }
  ]
}
_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
      ]
    }
  ]
}
_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
  ]
}
_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'
_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
  ]
}
_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
  ]
}
_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 );
  *]
}
_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 );
  *]
}
_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();
    *]
  }
}
_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
  }
}
_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
  }
}
_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'
  ]
}
_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
  ]
}
_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
  ]
}
_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 );
  *]
}
_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 );
  *]
}
_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();
    *]
  }
}
_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
  }
}
_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'
  ]
}
_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
  ]
}
_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
  ]
}
_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: '成品最小交付LT(天)'
        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
  ]
}
_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 );
  *]
}
_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();
    *]
  }
}
_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
  }
}
_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Response_pnlGeneral_ddslMaterialPlanningPolicyChanges_OnCreated.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
Quintiq file version 2.0
#parent: pnlGeneral/ddslMaterialPlanningPolicyChanges
Response OnCreated () id:Response_pnlGeneral_ddslMaterialPlanningPolicyChanges_OnCreated
{
  #keys: '[414702.0.199501073]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
  {
    Body:
    [*
      data := DataHolderDialogData.Data();
      if ( data.PlanningStrategyCustom() <> "" and data.PlanningStrategyCustom() = "JIT" ) {
        efTheMinimumNumberOfDaysForAnItemToBeInventoried.Visible( false );
        efTheMaximumNumberOfDaysThatTheItemIsInStock.Visible( false );
      } else if ( data.PlanningStrategyAuto() <> "" and data.PlanningStrategyAuto() = "JIT" ) {
        efTheMinimumNumberOfDaysForAnItemToBeInventoried.Visible( false );
        efTheMaximumNumberOfDaysThatTheItemIsInStock.Visible( false );
      } else {
        efTheMinimumNumberOfDaysForAnItemToBeInventoried.Visible( true );
        efTheMaximumNumberOfDaysThatTheItemIsInStock.Visible( true );
      }
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_DialogMaterialLabelingAndPlanningStrategy/Response_pnlGeneral_ddslMaterialPlanningPolicyChanges_OnUserSelectionChanged.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
Quintiq file version 2.0
#parent: pnlGeneral/ddslMaterialPlanningPolicyChanges
Response OnUserSelectionChanged () id:Response_pnlGeneral_ddslMaterialPlanningPolicyChanges_OnUserSelectionChanged
{
  #keys: '[414702.0.198291344]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebDropDownStringList_OnUserSelectionChanged'
  QuillAction
  {
    Body:
    [*
      if ( selection <> "" and selection = "JIT" ) {
        efTheMinimumNumberOfDaysForAnItemToBeInventoried.Visible( false );
        efTheMaximumNumberOfDaysThatTheItemIsInStock.Visible( false );
      } else if ( selection <> "" and selection = "JIT" ) {
        efTheMinimumNumberOfDaysForAnItemToBeInventoried.Visible( false );
        efTheMaximumNumberOfDaysThatTheItemIsInStock.Visible( false );
      } else {
        efTheMinimumNumberOfDaysForAnItemToBeInventoried.Visible( true );
        efTheMaximumNumberOfDaysThatTheItemIsInStock.Visible( true );
      }
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_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'
  ]
}
_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
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_ListMaterialMaterialLabelingAndPlanningStrategy#880.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()'
        }
      ]
    }
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelChildMaterial#558.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
  ]
}
_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
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialExportAndImport#136.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
  ]
}
_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
  ]
}
_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
  ]
}
_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
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listActionBarPageMaterial790#1.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listActionBarPageMaterial790 id:listActionBarPageMaterial790_1
{
  #keys: '[414702.0.122174687]'
  BaseType: 'listActionBarPage'
  Properties:
  [
    Taborder: 1
  ]
}
_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
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listContextMenuMaterial455#1.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
  ]
}
_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
  }
}
_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
  }
}
_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
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnUserCheck#591.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
  }
}
_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
  }
}
_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
  }
}
_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
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonPullData_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: PanelMaterialExportAndImport_136/ButtonPullData
Response OnClick () id:Response_PanelMaterialExportAndImport_136_ButtonPullData_OnClick
{
  #keys: '[414702.0.198246056]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  QuillAction
  {
    Body:
    [*
      WebMessageBox::Error( "数据湖连接失败", true );
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonSynchronizeInventoryTargets_.def
¶Ô±ÈÐÂÎļþ
@@ -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
  }
}
_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
  }
}
_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: '物料标签&计划策略'
  ]
}
_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()'
        }
      ]
    }
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_PanelData#431.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
Quintiq file version 2.0
Component PanelData
{
  #keys: '[414702.0.153191731]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: ListData
  ]
  Properties:
  [
    Taborder: 1
  ]
}
_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
  ]
}
_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
  ]
}
_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
  ]
}
_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
  ]
}
_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
  }
}
_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
  }
}
_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
  }
}
_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
  }
}
_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
  }
}
_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
  }
}
_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: '面板拉料计划报表'
  ]
}
_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()'
        }
      ]
    }
  ]
}
_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
  ]
}
_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
  ]
}
_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
  }
}
_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
  }
}
_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
  }
}
_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
  }
}
_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: '工单类型维护'
  ]
}
_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'
  }
_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
_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=