hongji.li
2023-11-05 2713c338a98325cad21ebec2085802a5e49a98ef
Pegging&年度产销优化
已复制3个文件
已重命名5个文件
已添加104个文件
已修改19个文件
3086 ■■■■ 文件已修改
_Main/BL/Relations/Relation_ModulePanelCorrespondence_GlobalOTDSOP_GlobalOTDSOP_ModulePanelCorr.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_ModulePanelCorrespondence_Panel_ModulePanelCorrespondence_Module.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PeggingProductInStockingPoint_MP_PeggingProduct_MP_PeggingProduct_M.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PeggingResultProductInStockingPoint_MP_AllChild_PeggingResultProduc.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PeggingResultProductInStockingPoint_MP_Child_PeggingResultProductIn.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PeggingResultProductInStockingPoint_MP_PeggingProductInStockingPoin.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_GenerateBasicDataBasedOnFilteringCriteria.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeChart.qbl 254 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeCompare.qbl 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_ModulePanelCorrespondence/Attribute_IsModule.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_ModulePanelCorrespondence/Attribute_ModuleProductID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_ModulePanelCorrespondence/Attribute_ModuleStockingPointID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_ModulePanelCorrespondence/Attribute_PanelProductID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_ModulePanelCorrespondence/Attribute_PanelStockingPointID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_ModulePanelCorrespondence/StaticMethod_CreateModule.qbl 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_ModulePanelCorrespondence/StaticMethod_CreatePanel.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_ModulePanelCorrespondence/StaticMethod_DeleteModule.qbl 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_ModulePanelCorrespondence/StaticMethod_DeletePanel.qbl 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_ModulePanelCorrespondence/_ROOT_Type_ModulePanelCorrespondence.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingProductInStockingPoint_MP/Attribute_ProductID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingProductInStockingPoint_MP/Attribute_StartDate.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingProductInStockingPoint_MP/Attribute_StockingPointID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingProductInStockingPoint_MP/_ROOT_Type_PeggingProductInStockingPoint_MP.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingProduct_MP/StaticMethod_Create.qbl 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingProduct_MP/StaticMethod_CreateData.qbl 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingProduct_MP/StaticMethod_CreateDataForProductInStocking_MP.qbl 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingProduct_MP/StaticMethod_CreateDataForSalesDemandBase.qbl 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResult/StaticMethod_GenerateNewSupply.qbl 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResult/StaticMethod_GeneratePeggingResult.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_ActualFulfillmentQuantity.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_FulfillmentQuantity.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_NumberOfPlies.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_ProductID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_StartDate.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_StockingPointID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_SupplyQuantity.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_SupplyType.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_UnitOfMeasurementName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_Create.qbl 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_CreateAllChildRelation.qbl 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_CreateData.qbl 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_GenerateInventorySupply.qbl 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_GenerateNewSupply.qbl 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_GeneratePeggingResult.qbl 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_SetAllChildRelation.qbl 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_SetParentChildRelationship.qbl 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/_ROOT_Type_PeggingResultProductInStockingPoint_MP.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmTestAttempt.def 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnModulePanelCorrespondence_OnClick.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_pButton_ButtonGenerateTestData_OnClick#19.def 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Component_pButton.def 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Method_CreateCapacityAndSaleBudgeCompareData.def 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_pButton_ButtonCapacityAndSaleBudgeCompare_OnClick#231.def 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterItem/Response_OnCreated.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterMonth/Response_OnCreated.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterYear/Response_OnCreated.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_ListModuleCorrespondence.def 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_ListModulePanelCorrespondence#612.def 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_Panel655.def 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_PanelModule.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_PanelModule116.def 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_PanelPanel.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_listActionBarPageModuleCorrespondence.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_listActionBarPageModulePanelCorrespondence#1.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_listContextMenuModuleCorrespondence.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_listContextMenuModulePanelCorrespondence#1.def 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_ListModulePanelCorrespondence_612_MenuSelectAll_OnClick.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_ListModulePanelCorrespondence_612_bAddPanel_OnClick.def 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_ListModulePanelCorrespondence_612_bDeletePanel_OnClick.def 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_PanelModule116_bAddModule_OnClick#61.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_PanelModule116_bDeleteModule_OnClick#462.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/_ROOT_Component_FormModulePanelCorrespondence.def 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_ListPeggingProductInSalesDemandBase#886.def 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_ListStockingPoint.def 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_PanelContent.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_PanelSalesDemand.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_PanelStockingPoint.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listActionBarPagePeggingProductInSalesDemandBase#1.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listActionBarPageStockingPoint.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listContextMenuPeggingProductInSalesDemandBase#1.def 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listContextMenuStockingPoint.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_886_MenuSelectionAll_OnClick.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_886_mGeneratePeggingResult_OnCl.def 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/_ROOT_Component_FormPeggingProductInSalesDemandBase.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_pButton_bCreate_OnClick.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingAllResult#103.def 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingAllResultProductInStockingPoint_MP.def 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingProductInSalesDemandBase.def 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingProduct_MP#34.def 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingResult.def 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingResultProductInStockingPoint_MP.def 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListStockingPoint#140.def 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelAbove.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelBelow.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelContent#807.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelLeft#865.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelPeggingResult570.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelRight#520.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelSalesDemand#411.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelStockingPoint#569.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPageBelow.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingAllResult#1.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingProductInSalesDemandBase.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingProduct_MP#1.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingResult.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPageRight.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPageStockingPoint#1.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuBelow.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingAllResult#1.def 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingProductInSalesDemandBase.def 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingProduct_MP#1.def 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingResult.def 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuRight.def 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuStockingPoint#1.def 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_pButton#407.def 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingAllResult_103_MenuSelectAll_OnClick.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingProductInSalesDemandBase_MenuSelectionAll508_OnClick.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingProductInSalesDemandBase_mGeneratePeggingResult_OnClick.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingProduct_MP_34_MenuSelectionAll852_OnClick.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingResultProductInStockingPoint_MP_MenuSelectionAll666_OnCl.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingResult_MenuSelectionAll_OnClick.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListStockingPoint_140_MenuSelectionAll506_OnClick.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListStockingPoint_140_mGeneratePeggingResult266_OnClick.def 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_PanelSalesDemand_411_OnActivate.def 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_PanelStockingPoint_569_OnActivate.def 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_pButton_407_bCreate_OnClick.def 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_pButton_407_bRunPeggingAlgorithm_OnClick.def 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/_ROOT_Component_FormPeggingResult.def 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Views/Pegging分析.vw 311 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Views/模组_面板关系.vw 194 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_var/_Main/ProjSettings/MacroPlanner/Views/X_分析视图_[414702.1.50321581].vw 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_ModulePanelCorrespondence_GlobalOTDSOP_GlobalOTDSOP_ModulePanelCorr.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation ModulePanelCorrespondence_GlobalOTDSOP_GlobalOTDSOP_ModulePanelCorrespondence
{
  #keys: '1[414702.1.376546995]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide GlobalOTDSOP
  {
    #keys: '3[414702.1.376546997][414702.1.376546996][414702.1.376546998]'
    Cardinality: '0to1'
    ObjectDefinition: ModulePanelCorrespondence
    OwningSide: 'Reference'
  }
  RelationSide.RightSide ModulePanelCorrespondence
  {
    #keys: '3[414702.1.376547000][414702.1.376546999][414702.1.376547001]'
    Cardinality: '1toN'
    ObjectDefinition: GlobalOTDSOP
    OwningSide: 'Owned'
  }
}
_Main/BL/Relations/Relation_ModulePanelCorrespondence_Panel_ModulePanelCorrespondence_Module.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation ModulePanelCorrespondence_Panel_ModulePanelCorrespondence_Module
{
  #keys: '1[414702.1.376547033]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide Panel
  {
    #keys: '3[414702.1.376547035][414702.1.376547034][414702.1.376547036]'
    Cardinality: '1toN'
    ObjectDefinition: ModulePanelCorrespondence
    OwningSide: 'Reference'
  }
  RelationSide.RightSide Module
  {
    #keys: '3[414702.1.376547038][414702.1.376547037][414702.1.376547039]'
    Cardinality: '0to1'
    ObjectDefinition: ModulePanelCorrespondence
    OwningSide: 'Reference'
  }
}
_Main/BL/Relations/Relation_PeggingProductInStockingPoint_MP_PeggingProduct_MP_PeggingProduct_M.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation PeggingProductInStockingPoint_MP_PeggingProduct_MP_PeggingProduct_MP_PeggingProductInStockingPoint_MP
{
  #keys: '1[414702.1.364041917]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide PeggingProduct_MP
  {
    #keys: '3[414702.1.364041919][414702.1.364041918][414702.1.364041920]'
    Cardinality: '0to1'
    ObjectDefinition: PeggingProductInStockingPoint_MP
    OwningSide: 'Reference'
  }
  RelationSide.RightSide PeggingProductInStockingPoint_MP
  {
    #keys: '3[414702.1.364041922][414702.1.364041921][414702.1.364041923]'
    Cardinality: '1toN'
    ObjectDefinition: PeggingProduct_MP
    OwningSide: 'Owned'
  }
}
_Main/BL/Relations/Relation_PeggingResultProductInStockingPoint_MP_AllChild_PeggingResultProduc.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation PeggingResultProductInStockingPoint_MP_AllChild_PeggingResultProductInStockingPoint_MP_AllParent
{
  #keys: '1[414702.1.364041995]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide AllChild
  {
    #keys: '3[414702.1.364041997][414702.1.364041996][414702.1.364041998]'
    Cardinality: '1toN'
    ObjectDefinition: PeggingResultProductInStockingPoint_MP
    OwningSide: 'Reference'
  }
  RelationSide.RightSide AllParent
  {
    #keys: '3[414702.1.364042000][414702.1.364041999][414702.1.364042001]'
    Cardinality: '0to1'
    ObjectDefinition: PeggingResultProductInStockingPoint_MP
    OwningSide: 'Reference'
  }
}
_Main/BL/Relations/Relation_PeggingResultProductInStockingPoint_MP_Child_PeggingResultProductIn.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation PeggingResultProductInStockingPoint_MP_Child_PeggingResultProductInStockingPoint_MP_Parent
{
  #keys: '1[414702.1.364041982]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide Child
  {
    #keys: '3[414702.1.364041984][414702.1.364041983][414702.1.364041985]'
    Cardinality: '1toN'
    ObjectDefinition: PeggingResultProductInStockingPoint_MP
    OwningSide: 'Reference'
  }
  RelationSide.RightSide Parent
  {
    #keys: '3[414702.1.364041987][414702.1.364041986][414702.1.364041988]'
    Cardinality: '0to1'
    ObjectDefinition: PeggingResultProductInStockingPoint_MP
    OwningSide: 'Reference'
  }
}
_Main/BL/Relations/Relation_PeggingResultProductInStockingPoint_MP_PeggingProductInStockingPoin.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation PeggingResultProductInStockingPoint_MP_PeggingProductInStockingPoint_MP_PeggingProductInStockingPoint_MP_PeggingResultProductInStockingPoint_MP
{
  #keys: '1[414702.1.364041967]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide PeggingProductInStockingPoint_MP
  {
    #keys: '3[414702.1.364041969][414702.1.364041968][414702.1.364041970]'
    Cardinality: '0to1'
    ObjectDefinition: PeggingResultProductInStockingPoint_MP
    OwningSide: 'Reference'
  }
  RelationSide.RightSide PeggingResultProductInStockingPoint_MP
  {
    #keys: '3[414702.1.364041972][414702.1.364041971][414702.1.364041973]'
    Cardinality: '1toN'
    ObjectDefinition: PeggingProductInStockingPoint_MP
    OwningSide: 'Owned'
  }
}
_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_GenerateBasicDataBasedOnFilteringCriteria.qbl
@@ -15,7 +15,7 @@
    
    rowNr := 0;
    
    info( "组织基地个数:", casbfpopoas.Size(), "    äº‹ä¸šéƒ¨ä¸ªæ•°ï¼š", casbfbts.Size() );
    //info( "组织基地个数:", casbfpopoas.Size(), "    äº‹ä¸šéƒ¨ä¸ªæ•°ï¼š", casbfbts.Size() );
    
    traverse ( casbfpopoas, Elements, casbfpopoa ) {
      traverse ( casbfbts, Elements, casbfbt ) {
_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeChart.qbl
@@ -22,259 +22,5 @@
    casbcirs := CapacityAndSaleBudgeChartElement::SelectGenerateChartRows( this, &items, &placeOfProductionOfArrays, &businessTypes, &years, &months );
    
    CapacityAndSaleBudgeChartElement::CreateData( this, macroPlans, casbcirs, popoa, groupBy, saleOrCapacity, years, months );
    //// å¹´ä»½ä¸é€‰æ—¶å…¨é€‰
    //if ( years.Size() = 0 ) {
    //  years := selectset( this, CapacityAndSaleBudgeFilterYear, tempCASBFY, tempCASBFY.YearNo() = Date::ActualDate().Year() );
    //}
    //// æœˆä»½ä¸é€‰æ—¶å…¨é€‰
    //if ( months.Size() = 0 ) {
    //  months := selectsortedset( this, CapacityAndSaleBudgeFilterMonth, item, true, item.MonthNo() );
    //}
    //
    //// ====清理旧数据====
    //
    //// ====按面板基地和事业部对产品进行筛选分组====
    //targeGlobal_MappingAnnualBudgetDatas := selectset( otdTable, Global_MappingAnnualBudgetData, tempGMABD, true );
    //if ( businessTypes.Size() > 0 ) {
    //  businessTypeStrings := selectuniquevalues( businessTypes, Elements, item, true, item.BusinessType() );
    //  targeGlobal_MappingAnnualBudgetDatas := selectset( targeGlobal_MappingAnnualBudgetDatas, Elements, item, businessTypeStrings.Find( item.BusinessType() ) > -1 );
    //}
    //if ( placeOfProductionOfArrays.Size() > 0 ) {
    //  placeOfProductionOfArrayStrings := selectuniquevalues( placeOfProductionOfArrays, Elements, item, true, item.PlaceOfProductionOfArray() );
    //  targeGlobal_MappingAnnualBudgetDatas := selectset( targeGlobal_MappingAnnualBudgetDatas, Elements, item, placeOfProductionOfArrayStrings.Find( item.OrganCode() ) > -1 );
    //}
    ////info( "选中的个数:", targeGlobal_MappingAnnualBudgetDatas.Size() );
    //
    //traverse ( targeGlobal_MappingAnnualBudgetDatas, Elements, gmabd ) {
    //  row := CapacityAndSaleBudgeChartRow::CreateIfNotExist( this, gmabd.BusinessType(), gmabd.OrganCode() );
    //  // è®°å½•每行包含哪些product
    //  CapacityAndSaleBudgeChartRowProduct::CreateIfNotExist( row, gmabd.ProductID() );
    //}
    //
    //rows := selectset( this, CapacityAndSaleBudgeChartRow, item, true );
    //placeOfProductionOfArrayList := selectuniquevalues( targeGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, tempGMABD.OrganCode() );
    //businessTypeList := selectuniquevalues( targeGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, tempGMABD.BusinessType() );
    //
    //// ç”Ÿæˆå›¾è¡¨å…ƒç´ 
    //traverse ( years, Elements, year ) {
    //  if ( popoa = "面板基地" and groupBy = "å¹´" ) {
    //    // ç›®æ ‡
    //    traverse ( placeOfProductionOfArrayList, Elements, placeOfProductionOfArray ) {
    //      productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray );
    //      this.CapacityAndSaleBudgeChartElement( relnew,
    //                                             TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-目标",
    //                                             BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
    //                                             Quantity := ifexpr( saleOrCapacity = "销售额",
    //                                                                 Global_MappingAnnualBudgetData::GetSaleByYear( productCodeList, otdTable, year.YearNo() ),
    //                                                                 Global_MappingForecast::GetQuantityByYear( productCodeList, otdTable, year.YearNo() ) )
    //                                            );
    //      // S&OP
    //      traverse ( macroPlans, Elements, macroPlan ) {
    //        this.CapacityAndSaleBudgeChartElement( relnew,
    //                                               TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-" + macroPlan.ScenarioName(),
    //                                               BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
    //                                               Quantity := ifexpr( saleOrCapacity = "销售额",
    //                                                                   Forecast::GetFulfilledBalanceByYear( productCodeList, macroPlan, year.YearNo() ),
    //                                                                   Product_MP::GetNewSupplyByYear( productCodeList, macroPlan, year.YearNo() )
    //                                                                   )
    //                                               );
    //      }
    //    }
    //  }
    //  if ( popoa = "面板基地" and groupBy = "半年" ) {
    //    for( halfNo := 1; halfNo <= 2; halfNo := halfNo + 1 ) {
    //      traverse( placeOfProductionOfArrayList, Elements, placeOfProductionOfArray ) {
    //        productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray );
    //        this.CapacityAndSaleBudgeChartElement( relnew,
    //                                               TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-" + ifexpr( halfNo = 1, "上", "下" ) + "半年-目标",
    //                                               BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
    //                                               Quantity := ifexpr( saleOrCapacity = "销售额",
    //                                                                   Global_MappingAnnualBudgetData::GetSaleByHalfYear( productCodeList, otdTable, year.YearNo(), halfNo ),
    //                                                                   Global_MappingForecast::GetQuantityByHalfYear( productCodeList, otdTable, year.YearNo(), halfNo ) )
    //                                               );
    //        // S&OP
    //        traverse( macroPlans, Elements, macroPlan ) {
    //          this.CapacityAndSaleBudgeChartElement( relnew,
    //                                                 TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-" + ifexpr( halfNo = 1, "上", "下" ) + "半年-" + macroPlan.ScenarioName(),
    //                                                 BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
    //                                                 Quantity := ifexpr( saleOrCapacity = "销售额",
    //                                                                     Forecast::GetFulfilledBalanceByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo ),
    //                                                                     Product_MP::GetNewSupplyByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo )
    //                                                                     )
    //                                                 );
    //        }
    //      }
    //    }
    //  }
    //  if ( popoa = "面板基地" and groupBy = "季度" ) {
    //    for( seasonNo := 1; seasonNo <= 4; seasonNo := seasonNo + 1 ) {
    //      traverse( placeOfProductionOfArrayList, Elements, placeOfProductionOfArray ) {
    //        productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray );
    //        this.CapacityAndSaleBudgeChartElement( relnew,
    //                                               TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-第" + [String]seasonNo + "季度-目标",
    //                                               BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
    //                                               Quantity := ifexpr( saleOrCapacity = "销售额",
    //                                                                   Global_MappingAnnualBudgetData::GetSaleBySeason( productCodeList, otdTable, year.YearNo(), seasonNo ),
    //                                                                   Global_MappingForecast::GetQuantityBySeason( productCodeList, otdTable, year.YearNo(), seasonNo ) )
    //                                               );
    //  //      info( "productCodeList : " + [String]productCodeList.Size() );
    //        // S&OP
    //        traverse( macroPlans, Elements, macroPlan ) {
    //          this.CapacityAndSaleBudgeChartElement( relnew,
    //                                                 TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-第" + [String]seasonNo + "季度-" + macroPlan.ScenarioName(),
    //                                                 BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
    //                                                 Quantity := ifexpr( saleOrCapacity = "销售额",
    //                                                                     Forecast::GetFulfilledBalanceBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo ) ,
    //                                                                     Product_MP::GetNewSupplyBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo )
    //                                                                     )
    //                                                 );
    //        }
    //      }
    //    }
    //  }
    //  if ( popoa = "面板基地" and groupBy = "月" ) {
    //    traverse( months, Elements, month ) {
    ////      info( "process month start : " + [String]month.MonthNo() );
    //      monthNoString := ifexpr( month.MonthNo() <= 9, "0" + [String]month.MonthNo(), [String]month.MonthNo() );
    //      traverse( placeOfProductionOfArrayList, Elements, placeOfProductionOfArray ) {
    //        productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray );
    //        this.CapacityAndSaleBudgeChartElement( relnew,
    //                                               TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-第" + monthNoString + "月-目标",
    //                                               BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
    //                                               Quantity := ifexpr( saleOrCapacity = "销售额",
    //                                                                   Global_MappingAnnualBudgetData::GetSaleByMonth( productCodeList, otdTable, year.YearNo(), month.MonthNo() ),
    //                                                                   Global_MappingForecast::GetQuantityByMonth( productCodeList, otdTable, year.YearNo(), month.MonthNo() ) )
    //                                               );
    //        // S&OP
    //        traverse( macroPlans, Elements, macroPlan ) {
    //          this.CapacityAndSaleBudgeChartElement( relnew,
    //                                                 TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-第" + monthNoString + "月-" + macroPlan.ScenarioName(),
    //                                                 BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
    //                                                 Quantity := ifexpr( saleOrCapacity = "销售额",
    //                                                                     Forecast::GetFulfilledBalanceByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() ),
    //                                                                     Product_MP::GetNewSupplyByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() )
    //                                                                     )
    //                                                 );
    //        }
    //      }
    ////      info( "process month end : " + [String]month.MonthNo() );
    //    }
    //  }
    //  if( popoa = "事业部" and groupBy = "å¹´" ) {
    //    // ç›®æ ‡
    //    traverse( businessTypeList, Elements, businessType ) {
    //      productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType );
    //      this.CapacityAndSaleBudgeChartElement( relnew,
    //                                             TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-目标",
    //                                             BusinessTypeOrPlaceOfProductionOfArray := businessType,
    //                                             Quantity := ifexpr( saleOrCapacity = "销售额",
    //                                                                 Global_MappingAnnualBudgetData::GetSaleByYear( productCodeList, otdTable, year.YearNo() ),
    //                                                                 Global_MappingForecast::GetQuantityByYear( productCodeList, otdTable, year.YearNo() ) )
    //                                             );
    //      // S&OP
    //      traverse( macroPlans, Elements, macroPlan ) {
    //        this.CapacityAndSaleBudgeChartElement( relnew,
    //                                               TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-" + macroPlan.ScenarioName(),
    //                                               BusinessTypeOrPlaceOfProductionOfArray := businessType,
    //                                               Quantity := ifexpr( saleOrCapacity = "销售额",
    //                                                                   Forecast::GetFulfilledBalanceByYear( productCodeList, macroPlan, year.YearNo() ) ,
    //                                                                   Product_MP::GetNewSupplyByYear( productCodeList, macroPlan, year.YearNo() )
    //                                                                   )
    //                                               );
    //      }
    //    }
    //  }
    //  if ( popoa = "事业部" and groupBy = "半年" ) {
    //    for( halfNo := 1; halfNo <= 2; halfNo := halfNo + 1 ) {
    //      traverse( businessTypeList, Elements, businessType ) {
    //        productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType );
    //        this.CapacityAndSaleBudgeChartElement( relnew,
    //                                               TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-" + ifexpr( halfNo = 1, "上", "下" ) + "半年-目标",
    //                                               BusinessTypeOrPlaceOfProductionOfArray := businessType,
    //                                               Quantity := ifexpr( saleOrCapacity = "销售额",
    //                                                                   Global_MappingAnnualBudgetData::GetSaleByHalfYear( productCodeList, otdTable, year.YearNo(), halfNo ),
    //                                                                   Global_MappingForecast::GetQuantityByHalfYear( productCodeList, otdTable, year.YearNo(), halfNo ) )
    //                                               );
    //        // S&OP
    //        traverse( macroPlans, Elements, macroPlan ) {
    //          this.CapacityAndSaleBudgeChartElement( relnew,
    //                                                 TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-" + ifexpr( halfNo = 1, "上", "下" ) + "半年-" + macroPlan.ScenarioName(),
    //                                                 BusinessTypeOrPlaceOfProductionOfArray := businessType,
    //                                                 Quantity := ifexpr( saleOrCapacity = "销售额",
    //                                                                     Forecast::GetFulfilledBalanceByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo ) ,
    //                                                                     Product_MP::GetNewSupplyByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo )
    //                                                                     )
    //                                                 );
    //        }
    //      }
    //    }
    //  }
    //  if ( popoa = "事业部" and groupBy = "季度" ) {
    //    for( seasonNo := 1; seasonNo <= 4; seasonNo := seasonNo + 1 ) {
    ////      debuginfo( "process season start : " + [String]seasonNo );
    //      traverse( businessTypeList, Elements, businessType ) {
    //        productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType );
    //        this.CapacityAndSaleBudgeChartElement( relnew,
    //                                               TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-第" + [String]seasonNo + "季度-目标",
    //                                               BusinessTypeOrPlaceOfProductionOfArray := businessType,
    //                                               Quantity := ifexpr( saleOrCapacity = "销售额",
    //                                                                   Global_MappingAnnualBudgetData::GetSaleBySeason( productCodeList, otdTable, year.YearNo(), seasonNo ),
    //                                                                   Global_MappingForecast::GetQuantityBySeason( productCodeList, otdTable, year.YearNo(), seasonNo ) )
    //                                               );
    //        // S&OP
    //        traverse( macroPlans, Elements, macroPlan ) {
    //          this.CapacityAndSaleBudgeChartElement( relnew,
    //                                                 TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-第" + [String]seasonNo + "季度-" + macroPlan.ScenarioName(),
    //                                                 BusinessTypeOrPlaceOfProductionOfArray := businessType,
    //                                                 Quantity := ifexpr( saleOrCapacity = "销售额",
    //                                                                     Forecast::GetFulfilledBalanceBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo ),
    //                                                                     Product_MP::GetNewSupplyBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo )
    //                                                                     )
    //                                                 );
    //        }
    //      }
    ////      info( "process season end : " + [String]seasonNo );
    //    }
    //  }
    //  if ( popoa = "事业部" and groupBy = "月" ) {
    //    traverse( months, Elements, month ) {
    ////      debuginfo( "process month start : " + [String]month.MonthNo() );
    //      monthNoString := ifexpr( month.MonthNo() <= 9, "0" + [String]month.MonthNo(), [String]month.MonthNo() );
    //      traverse( businessTypeList, Elements, businessType ) {
    //        productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType );
    //        this.CapacityAndSaleBudgeChartElement( relnew,
    //                                               TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-第" + monthNoString + "月-目标",
    //                                               BusinessTypeOrPlaceOfProductionOfArray := businessType,
    //                                               Quantity := ifexpr( saleOrCapacity = "销售额",
    //                                                                   Global_MappingAnnualBudgetData::GetSaleByMonth( productCodeList, otdTable, year.YearNo(), month.MonthNo() ),
    //                                                                   Global_MappingForecast::GetQuantityByMonth( productCodeList, otdTable, year.YearNo(), month.MonthNo() ) )
    //                                               );
    //        // S&OP
    //        traverse( macroPlans, Elements, macroPlan ) {
    //          this.CapacityAndSaleBudgeChartElement( relnew,
    //                                                 TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-第" + monthNoString + "月-" + macroPlan.ScenarioName(),
    //                                                 BusinessTypeOrPlaceOfProductionOfArray := businessType,
    //                                                 Quantity := ifexpr( saleOrCapacity = "销售额",
    //                                                                     Forecast::GetFulfilledBalanceByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() ) ,
    //                                                                     Product_MP::GetNewSupplyByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() )
    //                                                                     )
    //                                                 );
    //        }
    //      }
    ////      debuginfo( "process month end : " + [String]month.MonthNo() );
    //    }
    //  }
    //}
    ////info( "CapacityAndSaleBudgeChartElement : " + [String]selectset( this, CapacityAndSaleBudgeChartElement, item, true ).Size() );
    ////traverse( this, CapacityAndSaleBudgeChartRow, row ) {
    ////  info( "==↓==" );
    ////  info( row.BusinessType() );
    ////  info( row.PlaceOfProductionOfArray() );
    ////  elements := selectset( row, CapacityAndSaleBudgeChartRowProduct, cell, true );
    ////  info( elements.Size() );
    ////  info( row.GetProductCodes().Concatenate( " | " ) );
    ////  info( "==↑==" );
    ////}
  *]
}
_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeCompare.qbl
@@ -23,68 +23,5 @@
    CapacityAndSaleBudgeCompareItemCell::CreateSalesVolumeData( macroPlans, globalOTDTable, this, items, years, months );
    
    CapacityAndSaleBudgeCompareItemCell::CreatePanelAllocation( macroPlans, globalOTDTable, this, items, years, months );
    //if ( CapacityAndSaleBudgeFilterItem::Contains( items, "面板分配量" ) ) {
    //  traverse ( years, Elements, year ) {
    //    CapacityAndSaleBudgeCompareItemCell::CreatePanelAllocationBudget( this, months, year, globalOTDTable );
    //    CapacityAndSaleBudgeCompareItemCell::CreatePanelAllocationByScenario( macroPlans, this, months, year );
    //  }
    //}
    //
    //if ( CapacityAndSaleBudgeFilterItem::Contains( items, "销售额" ) ) {
    //  traverse ( years, Elements, year ) {
    //    CapacityAndSaleBudgeCompareItemCell::CreateSalesVolume( this, months, year, globalOTDTable );
    //    CapacityAndSaleBudgeCompareItemCell::CreateSalesVolumeByScenario( macroPlans, this, months, year );
    //  }
    //}
    // å¤§å¼ ç›ˆåˆ©é¢
    //traverse ( years, Elements, year ) {
    //  // åŽ†å²æ•°æ®
    //  columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "大张盈利额-" + [String]year.YearNo() + "å¹´-年度预算" );
    //  traverse ( this, CapacityAndSaleBudgeCompareItemRow, row ) {
    //    cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]Number::Random( 0, 0 ) );
    //    cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
    //  }
    //  // S&OP数据
    //  traverse( macroPlans, Elements, macroPlan ) {
    //    columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "大张盈利额-" + [String]year.YearNo() + "å¹´-" + macroPlan.ScenarioName() );
    //    traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
    //      cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]Number::Random( 0, 0 ) );
    //      cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
    //    }
    //  }
    //}
    //// äº§å“ç›ˆåˆ©é¢
    //traverse ( years, Elements, year ) {
    //  // åŽ†å²æ•°æ®
    //  columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "产品盈利额-" + [String]year.YearNo() + "å¹´-年度预算" );
    //  traverse ( this, CapacityAndSaleBudgeCompareItemRow, row ) {
    //    cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]Number::Random( 0, 0 ) );
    //    cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
    //  }
    //  // S&OP数据
    //  traverse ( macroPlans, Elements, macroPlan ) {
    //    columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "产品盈利额-" + [String]year.YearNo() + "å¹´-" + macroPlan.ScenarioName() );
    //    traverse ( this, CapacityAndSaleBudgeCompareItemRow, row ) {
    //      // todo
    //      cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]Number::Random( 0, 0 ) );
    //      cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
    //    }
    //  }
    //}
    // è®¾ç½®rowNo和columnNo
    //rowNo := 1;
    //rowSorted := selectsortedset( this, CapacityAndSaleBudgeCompareItemRow, item, item.PlaceOfProductionOfArray() + "_" + item.BusinessType() );
    //traverse( rowSorted, Elements, item ) {
    //  item.RowNo( rowNo );
    //  rowNo := rowNo + 1;
    //}
    //columnNo := 1;
    //traverse( this, CapacityAndSaleBudgeCompareItemColumn, item ) {
    //  item.ColumnNo( columnNo );
    //  columnNo := columnNo + 1;
    //}
  *]
}
_Main/BL/Type_ModulePanelCorrespondence/Attribute_IsModule.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute IsModule
{
  #keys: '3[414702.1.376024042][414702.1.376024041][414702.1.376024043]'
  ValueType: Boolean
}
_Main/BL/Type_ModulePanelCorrespondence/Attribute_ModuleProductID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute ModuleProductID
{
  #keys: '3[414702.1.376547011][414702.1.376547010][414702.1.376547012]'
  ValueType: String
}
_Main/BL/Type_ModulePanelCorrespondence/Attribute_ModuleStockingPointID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute ModuleStockingPointID
{
  #keys: '3[414702.1.376547021][414702.1.376547020][414702.1.376547022]'
  ValueType: String
}
_Main/BL/Type_ModulePanelCorrespondence/Attribute_PanelProductID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute PanelProductID
{
  #keys: '3[414702.1.376547074][414702.1.376547073][414702.1.376547075]'
  ValueType: String
}
_Main/BL/Type_ModulePanelCorrespondence/Attribute_PanelStockingPointID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute PanelStockingPointID
{
  #keys: '3[414702.1.376547084][414702.1.376547083][414702.1.376547085]'
  ValueType: String
}
_Main/BL/Type_ModulePanelCorrespondence/StaticMethod_CreateModule.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateModule (
  GlobalOTDSOP globalOTDSOP,
  ProductInStockingPoint_MPs pisps
)
{
  TextBody:
  [*
    traverse ( pisps, Elements, pisp ) {
      targetModulePanelCorrespondence := select( globalOTDSOP, ModulePanelCorrespondence, tempMPC,
                                                 tempMPC.ModuleProductID() = pisp.ProductID() and
                                                 tempMPC.ModuleStockingPointID() = pisp.StockingPointID() );
      if ( isnull( targetModulePanelCorrespondence ) ) {
        globalOTDSOP.ModulePanelCorrespondence( relnew, ModuleProductID := pisp.ProductID(), ModuleStockingPointID := pisp.StockingPointID(), IsModule := true );
      }
    }
  *]
}
_Main/BL/Type_ModulePanelCorrespondence/StaticMethod_CreatePanel.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreatePanel (
  GlobalOTDSOP globalOTDSOP,
  ModulePanelCorrespondences modulePanelCorrespondences,
  ProductInStockingPoint_MPs pisps
)
{
  TextBody:
  [*
    traverse ( modulePanelCorrespondences, Elements, mpc ) {
      traverse ( pisps, Elements, pisp ) {
        targetPanel := select( mpc, Panel, tempP,
                               tempP.PanelProductID() = pisp.ProductID() and
                               tempP.PanelStockingPointID() = pisp.StockingPointID() );
        if ( isnull( targetPanel ) ) {
          targetPanel := globalOTDSOP.ModulePanelCorrespondence( relnew, PanelProductID := pisp.ProductID(), PanelStockingPointID := pisp.StockingPointID() );
          targetPanel.Module( relset, mpc );
        }
      }
    }
  *]
}
_Main/BL/Type_ModulePanelCorrespondence/StaticMethod_DeleteModule.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
Quintiq file version 2.0
#parent: #root
StaticMethod DeleteModule (
  GlobalOTDSOP globalOTDSOP,
  ProductInStockingPoint_MPs pisps
)
{
  TextBody:
  [*
    traverse ( pisps, Elements, pisp ) {
      targetModulePanelCorrespondence := select( globalOTDSOP, ModulePanelCorrespondence, tempMPC,
                                                 tempMPC.ModuleProductID() = pisp.ProductID() and
                                                 tempMPC.ModuleStockingPointID() = pisp.StockingPointID() and
                                                 tempMPC.IsModule() );
      if ( not isnull( targetModulePanelCorrespondence ) ) {
        targetModulePanelCorrespondence.Delete();
      }
    }
  *]
}
_Main/BL/Type_ModulePanelCorrespondence/StaticMethod_DeletePanel.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
Quintiq file version 2.0
#parent: #root
StaticMethod DeletePanel (
  ModulePanelCorrespondences modulePanelCorrespondences,
  ProductInStockingPoint_MPs pisps
)
{
  TextBody:
  [*
    traverse ( modulePanelCorrespondences, Elements, mpc ) {
      traverse ( pisps, Elements, pisp ) {
        targetPanel := select( mpc, Panel, tempP,
                               tempP.PanelProductID() = pisp.ProductID() and
                               tempP.PanelStockingPointID() = pisp.StockingPointID() );
        if ( not isnull( targetPanel ) ) {
          targetPanel.Delete();
        }
      }
    }
  *]
}
_Main/BL/Type_ModulePanelCorrespondence/_ROOT_Type_ModulePanelCorrespondence.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
Quintiq file version 2.0
#root
#parent: #DomainModel
Type ModulePanelCorrespondence
{
  #keys: '5[414702.1.376546992][414702.1.376546990][0.0.0][414702.1.376546991][414702.1.376546993]'
  BaseType: Object
  StructuredName: 'ModulePanelCorrespondences'
}
_Main/BL/Type_PeggingProductInStockingPoint_MP/Attribute_ProductID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute ProductID
{
  #keys: '3[414702.1.364041933][414702.1.364041932][414702.1.364041934]'
  ValueType: String
}
_Main/BL/Type_PeggingProductInStockingPoint_MP/Attribute_StartDate.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute StartDate
{
  #keys: '3[414702.1.364041953][414702.1.364041952][414702.1.364041954]'
  ValueType: Date
}
_Main/BL/Type_PeggingProductInStockingPoint_MP/Attribute_StockingPointID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute StockingPointID
{
  #keys: '3[414702.1.364041943][414702.1.364041942][414702.1.364041944]'
  ValueType: String
}
_Main/BL/Type_PeggingProductInStockingPoint_MP/_ROOT_Type_PeggingProductInStockingPoint_MP.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
Quintiq file version 2.0
#root
#parent: #DomainModel
Type PeggingProductInStockingPoint_MP
{
  #keys: '5[414702.1.364041911][414702.1.364041909][0.0.0][414702.1.364041910][414702.1.364041912]'
  BaseType: Object
  StructuredName: 'PeggingProductInStockingPoint_MPs'
}
_Main/BL/Type_PeggingProduct_MP/StaticMethod_Create.qbl
@@ -2,24 +2,17 @@
#parent: #root
StaticMethod Create (
  GlobalOTDSOP globalOTDSOP,
  Product_MPs product_MPs
)
  String productID
) as PeggingProduct_MP
{
  TextBody:
  [*
    globalOTDSOP.PeggingProduct_MP( relflush );
    targetPeggingProduct_MP := select( globalOTDSOP, PeggingProduct_MP, tempPPMP, tempPPMP.ProductID() = productID );
    
    product_MPs := selectset( product_MPs, Elements, tempPMP, tempPMP.IsLeaf() );
    traverse ( product_MPs, Elements, pmp ) {
      targetPeggingProduct_MP := globalOTDSOP.PeggingProduct_MP( relnew, ProductID := pmp.ID() );
      traverse ( pmp, SalesDemand, sd ) {
        targetPeggingProduct_MP.PeggingProductInSalesDemandBase( relnew,
                                                                 StockingPointID   := sd.StockingPointID(),
                                                                 SalesDemandBaseID := sd.ID(),
                                                                 Quantity          := sd.Quantity(),
                                                                 StartDate         := sd.StartDate() );
      }
    if ( isnull( targetPeggingProduct_MP ) ) {
      targetPeggingProduct_MP := globalOTDSOP.PeggingProduct_MP( relnew, ProductID := productID );
    }
    return targetPeggingProduct_MP;
  *]
}
_Main/BL/Type_PeggingProduct_MP/StaticMethod_CreateData.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateData (
  GlobalOTDSOP globalOTDSOP,
  Product_MPs product_MPs
)
{
  TextBody:
  [*
    globalOTDSOP.PeggingProduct_MP( relflush );
    product_MPs := selectset( product_MPs, Elements, tempPMP, tempPMP.IsLeaf() );
    PeggingProduct_MP::CreateDataForSalesDemandBase( globalOTDSOP, product_MPs );
    PeggingProduct_MP::CreateDataForProductInStocking_MP( globalOTDSOP, product_MPs );
  *]
}
_Main/BL/Type_PeggingProduct_MP/StaticMethod_CreateDataForProductInStocking_MP.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateDataForProductInStocking_MP (
  GlobalOTDSOP globalOTDSOP,
  Product_MPs product_MPs
)
{
  TextBody:
  [*
    traverse ( product_MPs, Elements.ProductInStockingPoint_MP, pisp ) {
      targetPeggingProduct_MP := PeggingProduct_MP::Create( globalOTDSOP, pisp.ProductID() );
    //  traverse ( pisp, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ), pispippl, not pispippl.IsPeriodFrozen() ) {
        targetPeggingProduct_MP.PeggingProductInStockingPoint_MP( relnew,
                                                                  ProductID       := pisp.ProductID(),
                                                                  StockingPointID := pisp.StockingPointID()
    //                                                              StartDate       := pispippl.Start().Date()
                                                                 );
    //  }
    }
  *]
}
_Main/BL/Type_PeggingProduct_MP/StaticMethod_CreateDataForSalesDemandBase.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateDataForSalesDemandBase (
  GlobalOTDSOP globalOTDSOP,
  Product_MPs product_MPs
)
{
  TextBody:
  [*
    traverse ( product_MPs, Elements, pmp ) {
      targetPeggingProduct_MP := PeggingProduct_MP::Create( globalOTDSOP, pmp.ID() );
      traverse ( pmp, SalesDemand, sd ) {
        targetPeggingProduct_MP.PeggingProductInSalesDemandBase( relnew,
                                                                 StockingPointID   := sd.StockingPointID(),
                                                                 SalesDemandBaseID := sd.ID(),
                                                                 Quantity          := sd.Quantity(),
                                                                 StartDate         := sd.StartDate() );
      }
    }
  *]
}
_Main/BL/Type_PeggingResult/StaticMethod_GenerateNewSupply.qbl
@@ -11,7 +11,7 @@
{
  TextBody:
  [*
    info( "供应类型(NewSupply)", "    ä¾›åº”量:", ns.Quantity(), "    æ»¡è¶³ï¼š", fulfillmentQuantity );
    //info( "供应类型(NewSupply)", "    ä¾›åº”量:", ns.Quantity(), "    æ»¡è¶³ï¼š", fulfillmentQuantity );
    
    pisp := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP();
    
@@ -30,8 +30,8 @@
    ontype ( ns.PeriodTask_MP() ) {
      PeriodTaskOperation as pto : {
        childPeggingResult.SupplyType( "产线供应" );
        info( "操作周期任务    ", "供应时间:", ns.Start().Format( "Y-M2-D2" ), "    å‘¨æœŸä»»åŠ¡KEY:", pto.Key(), "    ",
              ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name() );
    //    info( "操作周期任务    ", "供应时间:", ns.Start().Format( "Y-M2-D2" ), "    å‘¨æœŸä»»åŠ¡KEY:", pto.Key(), "    ",
    //          ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name() );
        traverse ( pto, DependentDemand, dd, dd.Quantity() > 0 ) {
          traverse ( dd, Fulfillment, f ) {
            fulfillmentQuantity := ( dd.Quantity() / ns.Quantity() ) * fulfillmentQuantity;
@@ -40,7 +40,7 @@
            actualFulfillmentQuantity := f.Quantity();
            smp1 := f.Supply_MP();
            numberOfPlies++;
            info( "--------------------------------------------------------------" );
    //        info( "--------------------------------------------------------------" );
            PeggingResult::GeneratePeggingResult( peggingProductInSalesDemandBase, numberOfPlies, smp1, actualFulfillmentQuantity, orderFulfillmentQuantity, childPeggingResult );
            numberOfPlies--;
          }
@@ -52,15 +52,15 @@
        targetDependentDemand := select( ptll, DependentDemand, dd, 
                                         dd.ProcessInput().ProductInStockingPoint_MP().ProductID() = ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID() and
                                         dd.Quantity() = ns.Quantity() );
        info( "车道周期任务    ", "供应时间:", ns.Start().Format( "Y-M2-D2" ), "    å‘¨æœŸä»»åŠ¡KEY:", ptll.Key(), "    ",
              ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name() );
    //    info( "车道周期任务    ", "供应时间:", ns.Start().Format( "Y-M2-D2" ), "    å‘¨æœŸä»»åŠ¡KEY:", ptll.Key(), "    ",
    //          ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name() );
        traverse ( targetDependentDemand, Fulfillment, f ) {
          totalSupply := sum( targetDependentDemand, Fulfillment, tempF, tempF.Quantity() );
          orderFulfillmentQuantity := ( f.Quantity() / totalSupply ) * fulfillmentQuantity;
          actualFulfillmentQuantity := f.Quantity();
          smp1 := f.Supply_MP();
          numberOfPlies++;
          info( "--------------------------------------------------------------" );
    //      info( "--------------------------------------------------------------" );
          PeggingResult::GeneratePeggingResult( peggingProductInSalesDemandBase, numberOfPlies, smp1, actualFulfillmentQuantity, orderFulfillmentQuantity, childPeggingResult );
          numberOfPlies--;
        }
_Main/BL/Type_PeggingResult/StaticMethod_GeneratePeggingResult.qbl
@@ -11,7 +11,7 @@
{
  TextBody:
  [*
    info( "层数:", numberOfPlies );
    //info( "层数:", numberOfPlies );
    ontype ( smp ) {
      NewSupply as ns : {
        PeggingResult::GenerateNewSupply( peggingProductInSalesDemandBase, numberOfPlies, ns, actualFulfillmentQuantity, fulfillmentQuantity, parentPeggingResult );
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_ActualFulfillmentQuantity.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute ActualFulfillmentQuantity
{
  #keys: '3[414702.1.362210027][414702.1.362210026][414702.1.362210028]'
  Description: '实际满足数量'
  ValueType: Real
}
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_FulfillmentQuantity.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute FulfillmentQuantity
{
  #keys: '3[414702.1.362210037][414702.1.362210036][414702.1.362210038]'
  Description: '实际需要满足的数量'
  ValueType: Real
}
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_NumberOfPlies.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute NumberOfPlies
{
  #keys: '3[414702.1.362210053][414702.1.362210052][414702.1.362210054]'
  ValueType: Number
}
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_ProductID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute ProductID
{
  #keys: '3[414702.1.362210063][414702.1.362210062][414702.1.362210064]'
  ValueType: String
}
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_StartDate.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute StartDate
{
  #keys: '3[414702.1.362210073][414702.1.362210072][414702.1.362210074]'
  ValueType: Date
}
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_StockingPointID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute StockingPointID
{
  #keys: '3[414702.1.362210083][414702.1.362210082][414702.1.362210084]'
  ValueType: String
}
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_SupplyQuantity.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute SupplyQuantity
{
  #keys: '3[414702.1.362210096][414702.1.362210095][414702.1.362210097]'
  ValueType: Real
}
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_SupplyType.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute SupplyType
{
  #keys: '3[414702.1.362210106][414702.1.362210105][414702.1.362210107]'
  ValueType: String
}
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_UnitOfMeasurementName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute UnitOfMeasurementName
{
  #keys: '3[414702.1.362210116][414702.1.362210115][414702.1.362210117]'
  ValueType: String
}
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_Create.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
Quintiq file version 2.0
#parent: #root
StaticMethod Create (
  PeggingProductInStockingPoint_MP peggingProductInStockingPoint_MP,
  String productID,
  String stockingPointID,
  Date startDate,
  Real supplyQuantity,
  Real actualFulfillmentQuantity,
  Real fulfillmentQuantity,
  String supplyType,
  Number numberOfPlies,
  String unitOfMeasurementName
) as PeggingResultProductInStockingPoint_MP
{
  TextBody:
  [*
    peggingResult := peggingProductInStockingPoint_MP.PeggingResultProductInStockingPoint_MP( relnew,
                                                                                              ProductID                 := productID,
                                                                                              StockingPointID           := stockingPointID,
                                                                                              StartDate                 := startDate,
                                                                                              SupplyQuantity            := supplyQuantity,
                                                                                              ActualFulfillmentQuantity := actualFulfillmentQuantity,
                                                                                              FulfillmentQuantity       := fulfillmentQuantity,
                                                                                              SupplyType                := supplyType,
                                                                                              NumberOfPlies             := numberOfPlies,
                                                                                              UnitOfMeasurementName     := unitOfMeasurementName
                                                                                             );
    return peggingResult;
  *]
}
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_CreateAllChildRelation.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateAllChildRelation (
  PeggingProductInStockingPoint_MP ppisp
)
{
  TextBody:
  [*
    targetPeggingResults := selectset( ppisp, PeggingResultProductInStockingPoint_MP, tempPRPISP, tempPRPISP.NumberOfPlies() = 0 );
    traverse ( targetPeggingResults, Elements, pr ) {
      parentPeggingResult := pr;
      childPeggingResult  := pr;
      PeggingResultProductInStockingPoint_MP::SetAllChildRelation( ppisp, parentPeggingResult, childPeggingResult );
    }
  *]
}
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_CreateData.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,32 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateData (
  PeggingProductInStockingPoint_MPs peggingProductInStockingPoint_MPs,
  const MacroPlan macroPlan
)
{
  TextBody:
  [*
    traverse ( peggingProductInStockingPoint_MPs, Elements, ppispmp ) {
      ppispmp.PeggingResultProductInStockingPoint_MP( relflush );
      targetPISP := select( macroPlan, Product_MP.ProductInStockingPoint_MP, tempPISP,
                            tempPISP.ProductID() = ppispmp.ProductID() and
                            tempPISP.StockingPointID() = ppispmp.StockingPointID()
                           );
      traverse ( targetPISP, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ), pispippl,
                 not pispippl.IsPeriodFrozen() and pispippl.Supply_MP( relsize ) > 0 ) {
        traverse ( pispippl, Supply_MP, smp, smp.Quantity() > 0 ) {
          PeggingResultProductInStockingPoint_MP::GeneratePeggingResult( ppispmp,
                                                                         0,
                                                                         smp,
                                                                         smp.Quantity(),
                                                                         smp.Quantity(),
                                                                         null( PeggingResultProductInStockingPoint_MP ) );
        }
      }
      PeggingResultProductInStockingPoint_MP::CreateAllChildRelation( ppispmp );
    }
  *]
}
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_GenerateInventorySupply.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GenerateInventorySupply (
  PeggingProductInStockingPoint_MP peggingProductInStockingPoint_MP,
  Number numberOfPlies,
  const InventorySupply is,
  Real actualFulfillmentQuantity,
  Real fulfillmentQuantity,
  PeggingResultProductInStockingPoint_MP parentPeggingResultProductInStockingPoint_MP
)
{
  TextBody:
  [*
    //info( "供应类型(InventorySupply)    ", "供应时间:", is.Date().Format( "Y-M2-D2" ), "    ä¾›åº”量:", is.Quantity(),
    //      "    å®žé™…用量:", fulfillmentQuantity, "    ", is.ProductInStockingPoint_MP().Name() );
    pisp := is.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP();
    childPeggingResultProductInStockingPoint_MP := PeggingResultProductInStockingPoint_MP::Create( peggingProductInStockingPoint_MP,
                                                                                                   pisp.ProductID(),
                                                                                                   pisp.StockingPointID(),
                                                                                                   is.Date(),
                                                                                                   is.Quantity(),
                                                                                                   actualFulfillmentQuantity,
                                                                                                   fulfillmentQuantity,
                                                                                                   "库存供应",
                                                                                                   numberOfPlies,
                                                                                                   pisp.UnitOfMeasureName()
                                                                                                  );
    PeggingResultProductInStockingPoint_MP::SetParentChildRelationship( parentPeggingResultProductInStockingPoint_MP, childPeggingResultProductInStockingPoint_MP );
  *]
}
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_GenerateNewSupply.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,70 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GenerateNewSupply (
  PeggingProductInStockingPoint_MP peggingProductInStockingPoint_MP,
  Number numberOfPlies,
  const NewSupply ns,
  Real actualFulfillmentQuantity,
  Real fulfillmentQuantity,
  PeggingResultProductInStockingPoint_MP parentPeggingResultProductInStockingPoint_MP
)
{
  TextBody:
  [*
    //info( "供应类型(NewSupply)", "    ä¾›åº”量:", ns.Quantity(), "    æ»¡è¶³ï¼š", fulfillmentQuantity );
    pisp := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP();
    childPeggingResultProductInStockingPoint_MP := PeggingResultProductInStockingPoint_MP::Create( peggingProductInStockingPoint_MP,
                                                                                                   pisp.ProductID(),
                                                                                                   pisp.StockingPointID(),
                                                                                                   ns.Start().Date(),
                                                                                                   ns.Quantity(),
                                                                                                   actualFulfillmentQuantity,
                                                                                                   fulfillmentQuantity,
                                                                                                   "",
                                                                                                   numberOfPlies,
                                                                                                   pisp.UnitOfMeasureName() );
    PeggingResultProductInStockingPoint_MP::SetParentChildRelationship( parentPeggingResultProductInStockingPoint_MP, childPeggingResultProductInStockingPoint_MP );
    ontype ( ns.PeriodTask_MP() ) {
      PeriodTaskOperation as pto : {
        childPeggingResultProductInStockingPoint_MP.SupplyType( "产线供应" );
    //    info( "操作周期任务    ", "供应时间:", ns.Start().Format( "Y-M2-D2" ), "    å‘¨æœŸä»»åŠ¡KEY:", pto.Key(), "    ",
    //          ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name() );
        traverse ( pto, DependentDemand, dd, dd.Quantity() > 0 ) {
          traverse ( dd, Fulfillment, f ) {
            fulfillmentQuantity := ( dd.Quantity() / ns.Quantity() ) * fulfillmentQuantity;
            totalSupply := sum( dd, Fulfillment, tempF, tempF.Quantity() );
            orderFulfillmentQuantity := ( f.Quantity() / totalSupply ) * fulfillmentQuantity;
            actualFulfillmentQuantity := f.Quantity();
            smp1 := f.Supply_MP();
            numberOfPlies++;
    //        info( "--------------------------------------------------------------" );
            PeggingResultProductInStockingPoint_MP::GeneratePeggingResult( peggingProductInStockingPoint_MP, numberOfPlies, smp1, actualFulfillmentQuantity, orderFulfillmentQuantity, childPeggingResultProductInStockingPoint_MP );
            numberOfPlies--;
          }
        }
      }
      PeriodTaskLaneLeg as ptll : {
        childPeggingResultProductInStockingPoint_MP.SupplyType( "车道供应" );
        targetDependentDemand := select( ptll, DependentDemand, dd,
                                         dd.ProcessInput().ProductInStockingPoint_MP().ProductID() = ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID() and
                                         dd.Quantity() = ns.Quantity() );
    //    info( "车道周期任务    ", "供应时间:", ns.Start().Format( "Y-M2-D2" ), "    å‘¨æœŸä»»åŠ¡KEY:", ptll.Key(), "    ",
    //          ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name() );
        traverse ( targetDependentDemand, Fulfillment, f ) {
          totalSupply := sum( targetDependentDemand, Fulfillment, tempF, tempF.Quantity() );
          orderFulfillmentQuantity := ( f.Quantity() / totalSupply ) * fulfillmentQuantity;
          actualFulfillmentQuantity := f.Quantity();
          smp1 := f.Supply_MP();
          numberOfPlies++;
    //      info( "--------------------------------------------------------------" );
          PeggingResultProductInStockingPoint_MP::GeneratePeggingResult( peggingProductInStockingPoint_MP, numberOfPlies, smp1, actualFulfillmentQuantity, orderFulfillmentQuantity, childPeggingResultProductInStockingPoint_MP );
          numberOfPlies--;
        }
      }
    }
  *]
}
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_GeneratePeggingResult.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GeneratePeggingResult (
  PeggingProductInStockingPoint_MP peggingProductInStockingPoint_MP,
  Number numberOfPlies,
  const Supply_MP smp,
  Real actualFulfillmentQuantity,
  Real fulfillmentQuantity,
  PeggingResultProductInStockingPoint_MP parentPeggingResultProductInStockingPoint_MP
)
{
  TextBody:
  [*
    //info( "层数:", numberOfPlies );
    ontype ( smp ) {
      NewSupply as ns : {
        PeggingResultProductInStockingPoint_MP::GenerateNewSupply( peggingProductInStockingPoint_MP, numberOfPlies, ns, actualFulfillmentQuantity, fulfillmentQuantity, parentPeggingResultProductInStockingPoint_MP );
      }
      InventorySupply as is : {
        PeggingResultProductInStockingPoint_MP::GenerateInventorySupply( peggingProductInStockingPoint_MP, numberOfPlies, is, actualFulfillmentQuantity, fulfillmentQuantity, parentPeggingResultProductInStockingPoint_MP );
      }
    }
  *]
}
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_SetAllChildRelation.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
Quintiq file version 2.0
#parent: #root
StaticMethod SetAllChildRelation (
  PeggingProductInStockingPoint_MP peggingProductInStockingPoint_MP,
  PeggingResultProductInStockingPoint_MP parentPeggingResultProductInStockingPoint_MP,
  PeggingResultProductInStockingPoint_MP childPeggingResultProductInStockingPoint_MP
)
{
  TextBody:
  [*
    if ( childPeggingResultProductInStockingPoint_MP.Child( relsize ) = 0 ) {
      childPeggingResultProductInStockingPoint_MP.AllParent( relset, parentPeggingResultProductInStockingPoint_MP );
    }
    traverse ( childPeggingResultProductInStockingPoint_MP, Child, pr ) {
      pr.AllParent( relset, parentPeggingResultProductInStockingPoint_MP );
      PeggingResultProductInStockingPoint_MP::SetAllChildRelation( peggingProductInStockingPoint_MP, parentPeggingResultProductInStockingPoint_MP, pr );
    }
  *]
}
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_SetParentChildRelationship.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
Quintiq file version 2.0
#parent: #root
StaticMethod SetParentChildRelationship (
  PeggingResultProductInStockingPoint_MP parentPeggingResultProductInStockingPoint_MP,
  PeggingResultProductInStockingPoint_MP childPeggingResultProductInStockingPoint_MP
)
{
  TextBody:
  [*
    if ( not isnull( parentPeggingResultProductInStockingPoint_MP ) and not isnull( childPeggingResultProductInStockingPoint_MP ) ) {
      childPeggingResultProductInStockingPoint_MP.Parent( relset, parentPeggingResultProductInStockingPoint_MP );
    }
  *]
}
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/_ROOT_Type_PeggingResultProductInStockingPoint_MP.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
Quintiq file version 2.0
#root
#parent: #DomainModel
Type PeggingResultProductInStockingPoint_MP
{
  #keys: '5[414702.1.364041964][414702.1.364041962][0.0.0][414702.1.364041963][414702.1.364041965]'
  BaseType: Object
  StructuredName: 'PeggingResultProductInStockingPoint_MPs'
}
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmTestAttempt.def
@@ -103,6 +103,17 @@
        Title: 'Pegging分析'
      ]
    }
    Component mnModulePanelCorrespondence
    {
      #keys: '[414702.1.378230928]'
      BaseType: 'WebMenu'
      Properties:
      [
        Image: 'APPLE'
        Taborder: 9
        Title: '模组&面板关系'
      ]
    }
  ]
  Properties:
  [
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnModulePanelCorrespondence_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: cmTestAttempt/mnModulePanelCorrespondence
Response OnClick () id:Response_TIANMA_JITUAN_cmTestAttempt_mnModulePanelCorrespondence_OnClick
{
  #keys: '[414702.1.378281115]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebMenu_OnClick'
  GroupServerCalls: true
  QuillAction
  {
    Body:
    [*
      ApplicationScope.ViewManager().ResetUserViewById( "模组_面板关系", true );
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_pButton_ButtonGenerateTestData_OnClick#19.def
@@ -13,9 +13,6 @@
  {
    Body:
    [*
      CapacityAndSaleBudgeFilterItem::InitializedData( GlobalOTDSOP );
      CapacityAndSaleBudgeFilterYear::InitializedData( GlobalOTDSOP );
      CapacityAndSaleBudgeFilterMonth::InitializedData( GlobalOTDSOP );
      CapacityAndSaleBudgeFilterBusinessType::InitializedData( GlobalOTDSOP, GlobalOTDTable );
      CapacityAndSaleBudgeFilterPlaceOfProductionOfArray::InitializedData( GlobalOTDSOP, GlobalOTDTable );
    *]
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Component_pButton.def
@@ -27,6 +27,17 @@
        Taborder: 1
      ]
    }
    Component Image116
    {
      #keys: '[414702.1.375948796]'
      BaseType: 'WebImage'
      Properties:
      [
        Image: 'CHECK'
        Taborder: 2
        Visible: false
      ]
    }
  ]
  Properties:
  [
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Method_CreateCapacityAndSaleBudgeCompareData.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,32 @@
Quintiq file version 2.0
#parent: #root
Method CreateCapacityAndSaleBudgeCompareData () id:Method_FormCapacityAndSaleBudgeCompare_CreateCapacityAndSaleBudgeCompareData
{
  #keys: '[414702.1.376413209]'
  Body:
  [*
    targetCapacityAndSaleBudgeFilterItem := selectset( GlobalOTDSOP, CapacityAndSaleBudgeFilterItem, tempCASBFI,
                                                       exists( DataHolderCapacityAndSaleBudgeFilterItem.Data(), Elements, tempCASBFI1, tempCASBFI1 = tempCASBFI ) );
    targetCapacityAndSaleBudgeFilterPlaceOfProductionOfArray := selectset( GlobalOTDSOP, CapacityAndSaleBudgeFilterPlaceOfProductionOfArray, tempCASBFPOPOA,
                                                       exists( DataHolderCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.Data(), Elements, tempCASBFPOPOA1, tempCASBFPOPOA1 = tempCASBFPOPOA ) );
    targetCapacityAndSaleBudgeFilterBusinessType := selectset( GlobalOTDSOP, CapacityAndSaleBudgeFilterBusinessType, tempCASBFBT,
                                                       exists( DataHolderCapacityAndSaleBudgeFilterBusinessType.Data(), Elements, tempCASBFBT1, tempCASBFBT1 = tempCASBFBT ) );
    targetCapacityAndSaleBudgeFilterYear := selectset( GlobalOTDSOP, CapacityAndSaleBudgeFilterYear, tempCASBFY,
                                                       exists( DataHolderCapacityAndSaleBudgeFilterYear.Data(), Elements, tempCASBFY1, tempCASBFY1 = tempCASBFY ) );
    targetCapacityAndSaleBudgeFilterMonth := selectset( GlobalOTDSOP, CapacityAndSaleBudgeFilterMonth, tempCASBFM,
                                                       exists( DataHolderCapacityAndSaleBudgeFilterMonth.Data(), Elements, tempCASBFM1, tempCASBFM1 = tempCASBFM ) );
    GlobalOTDSOP.CapacityAndSaleBudgeCompare( DataHolderMacroPlansForScenarioComparison.Data(),
                                              &targetCapacityAndSaleBudgeFilterItem,
                                              &targetCapacityAndSaleBudgeFilterPlaceOfProductionOfArray,
                                              &targetCapacityAndSaleBudgeFilterBusinessType,
                                              &targetCapacityAndSaleBudgeFilterYear,
                                              &targetCapacityAndSaleBudgeFilterMonth,
                                              GlobalOTDTable );
  *]
}
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_pButton_ButtonCapacityAndSaleBudgeCompare_OnClick#231.def
@@ -9,29 +9,13 @@
  {
    Body:
    [*
      targetCapacityAndSaleBudgeFilterItem := selectset( GlobalOTDSOP, CapacityAndSaleBudgeFilterItem, tempCASBFI,
                                                         exists( DataHolderCapacityAndSaleBudgeFilterItem.Data(), Elements, tempCASBFI1, tempCASBFI1 = tempCASBFI ) );
      GlobalOTDSOP.CapacityAndSaleBudgeRunStatus( relflush );
      GlobalOTDSOP.CapacityAndSaleBudgeRunStatus( relnew, RunStatus := 1 );
      
      targetCapacityAndSaleBudgeFilterPlaceOfProductionOfArray := selectset( GlobalOTDSOP, CapacityAndSaleBudgeFilterPlaceOfProductionOfArray, tempCASBFPOPOA,
                                                         exists( DataHolderCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.Data(), Elements, tempCASBFPOPOA1, tempCASBFPOPOA1 = tempCASBFPOPOA ) );
      Form.CreateCapacityAndSaleBudgeCompareData();
      
      targetCapacityAndSaleBudgeFilterBusinessType := selectset( GlobalOTDSOP, CapacityAndSaleBudgeFilterBusinessType, tempCASBFBT,
                                                         exists( DataHolderCapacityAndSaleBudgeFilterBusinessType.Data(), Elements, tempCASBFBT1, tempCASBFBT1 = tempCASBFBT ) );
      targetCapacityAndSaleBudgeFilterYear := selectset( GlobalOTDSOP, CapacityAndSaleBudgeFilterYear, tempCASBFY,
                                                         exists( DataHolderCapacityAndSaleBudgeFilterYear.Data(), Elements, tempCASBFY1, tempCASBFY1 = tempCASBFY ) );
      targetCapacityAndSaleBudgeFilterMonth := selectset( GlobalOTDSOP, CapacityAndSaleBudgeFilterMonth, tempCASBFM,
                                                         exists( DataHolderCapacityAndSaleBudgeFilterMonth.Data(), Elements, tempCASBFM1, tempCASBFM1 = tempCASBFM ) );
      GlobalOTDSOP.CapacityAndSaleBudgeCompare( DataHolderMacroPlansForScenarioComparison.Data(),
                                                &targetCapacityAndSaleBudgeFilterItem,
                                                &targetCapacityAndSaleBudgeFilterPlaceOfProductionOfArray,
                                                &targetCapacityAndSaleBudgeFilterBusinessType,
                                                &targetCapacityAndSaleBudgeFilterYear,
                                                &targetCapacityAndSaleBudgeFilterMonth,
                                                GlobalOTDTable );
      //GlobalOTDSOP.CapacityAndSaleBudgeRunStatus( relflush );
      //GlobalOTDSOP.CapacityAndSaleBudgeRunStatus( relnew, RunStatus := 0 );
    *]
    GroupServerCalls: false
  }
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterItem/Response_OnCreated.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: #root
Response OnCreated () id:Response_FormCapacityAndSaleBudgeFilterItem_OnCreated
{
  #keys: '[414702.1.353022415]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
  {
    Body:
    [*
      CapacityAndSaleBudgeFilterItem::InitializedData( GlobalOTDSOP );
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterMonth/Response_OnCreated.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: #root
Response OnCreated () id:Response_FormCapacityAndSaleBudgeFilterMonth_OnCreated
{
  #keys: '[414702.1.353022171]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
  {
    Body:
    [*
      CapacityAndSaleBudgeFilterMonth::InitializedData( GlobalOTDSOP );
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterYear/Response_OnCreated.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: #root
Response OnCreated () id:Response_FormCapacityAndSaleBudgeFilterYear_OnCreated
{
  #keys: '[414702.1.353022002]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
  {
    Body:
    [*
      CapacityAndSaleBudgeFilterYear::InitializedData( GlobalOTDSOP );
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_ListModuleCorrespondence.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,42 @@
Quintiq file version 2.0
Component ListModuleCorrespondence
{
  #keys: '[414702.1.377958446]'
  BaseType: 'WebList'
  Children:
  [
    Component DataExtractorModuleCorrespondence
    {
      #keys: '[414702.1.377958447]'
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'ModulePanelCorrespondence'
        ExtractionMode: 'Selected'
        Source: 'ListModulePanelCorrespondence'
        Taborder: 0
        Transformation: 'Panel'
      ]
    }
    #child: listActionBarPageModuleCorrespondence
    Component DataSetLevelModuleCorrespondence
    {
      #keys: '[414702.1.377958452]'
      BaseType: 'WebDataSetLevel'
      Children:
      [
        #child: listContextMenuModuleCorrespondence
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PanelProductID","title":"面板产品ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PanelProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PanelStockingPointID","title":"面板库存点ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PanelStockingPointID"}}]'
        ContextMenu: 'listContextMenuModuleCorrespondence'
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_ListModulePanelCorrespondence#612.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,75 @@
Quintiq file version 2.0
Component ListModulePanelCorrespondence id:ListModulePanelCorrespondence_612
{
  #keys: '[414702.1.376801881]'
  BaseType: 'WebList'
  Children:
  [
    Component DataExtractorModulePanelCorrespondence
    {
      #keys: '[414702.1.376801882]'
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'GlobalOTDSOP'
        FixedFilter: 'object.IsModule()'
        Source: 'GlobalOTDSOP'
        Taborder: 0
        Transformation: 'ModulePanelCorrespondence'
      ]
    }
    #child: listActionBarPageModulePanelCorrespondence_1
    Component DataSetLevelModulePanelCorrespondence
    {
      #keys: '[414702.1.376801884]'
      BaseType: 'WebDataSetLevel'
      Children:
      [
        #child: listContextMenuModulePanelCorrespondence_1
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ModuleProductID","title":"模组产品ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ModuleProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ModuleStockingPointID","title":"模组库存点ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ModuleStockingPointID"}}]'
        ContextMenu: 'listContextMenuModulePanelCorrespondence'
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
    Taborder: 1
  ]
  ResponseDefinitions:
  [
    DelegatedResponseDefinition OnClick id:Responsedef_ListModulePanelCorrespondence_612_WebButton_OnClick
    {
      #keys: '[414702.1.379607377]'
      Initiator: 'WebButton'
      IsInherited: false
      ResponseType: 'OnClick'
      Arguments:
      [
        ResponseDefinitionArgument selection
        {
          #keys: '[749.0.26546720]'
          Binding: 'this.Selection()'
        }
      ]
    }
    DelegatedResponseDefinition OnClick id:Responsedef_ListModulePanelCorrespondence_612_WebMenu_OnClick
    {
      #keys: '[414702.1.379530536]'
      Initiator: 'WebMenu'
      IsInherited: false
      ResponseType: 'OnClick'
      Arguments:
      [
        ResponseDefinitionArgument selection
        {
          #keys: '[749.0.41950766]'
          Binding: 'this.Selection()'
        }
      ]
    }
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_Panel655.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,37 @@
Quintiq file version 2.0
Component Panel655
{
  #keys: '[414702.1.380172392]'
  BaseType: 'WebPanel'
  Children:
  [
    Component bAddPanel id:bAddPanel_662
    {
      #keys: '[414702.1.381249855]'
      BaseType: 'WebButton'
      Properties:
      [
        Image: 'ADD'
        Label: '添加面板'
        Taborder: 0
      ]
    }
    Component bDeletePanel id:bDeletePanel_254
    {
      #keys: '[414702.1.381203006]'
      BaseType: 'WebButton'
      Properties:
      [
        Image: 'DELETE2'
        Label: '删除模组'
        Taborder: 1
      ]
    }
  ]
  Properties:
  [
    FixedSize: true
    Orientation: 'horizontal'
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_PanelModule.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
Quintiq file version 2.0
Component PanelModule
{
  #keys: '[414702.1.377900594]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: ListModulePanelCorrespondence_612
    #child: PanelModule116
  ]
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_PanelModule116.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,37 @@
Quintiq file version 2.0
Component PanelModule116
{
  #keys: '[414702.1.380132983]'
  BaseType: 'WebPanel'
  Children:
  [
    Component bAddModule id:bAddModule_100
    {
      #keys: '[414702.1.381202718]'
      BaseType: 'WebButton'
      Properties:
      [
        Image: 'ADD'
        Label: '添加模组'
        Taborder: 0
      ]
    }
    Component bDeleteModule id:bDeleteModule_801
    {
      #keys: '[414702.1.381202749]'
      BaseType: 'WebButton'
      Properties:
      [
        Image: 'DELETE2'
        Label: '删除模组'
        Taborder: 1
      ]
    }
  ]
  Properties:
  [
    FixedSize: true
    Orientation: 'horizontal'
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_PanelPanel.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
Quintiq file version 2.0
Component PanelPanel
{
  #keys: '[414702.1.376861496]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: ListModuleCorrespondence
    #child: Panel655
  ]
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_listActionBarPageModuleCorrespondence.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listActionBarPageModuleCorrespondence
{
  #keys: '[414702.1.377958449]'
  BaseType: 'listActionBarPage'
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_listActionBarPageModulePanelCorrespondence#1.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listActionBarPageModulePanelCorrespondence id:listActionBarPageModulePanelCorrespondence_1
{
  #keys: '[414702.1.376801883]'
  BaseType: 'listActionBarPage'
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_listContextMenuModuleCorrespondence.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listContextMenuModuleCorrespondence
{
  #keys: '[414702.1.377958454]'
  BaseType: 'listContextMenu'
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_listContextMenuModulePanelCorrespondence#1.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
Quintiq file version 2.0
Component listContextMenuModulePanelCorrespondence id:listContextMenuModulePanelCorrespondence_1
{
  #keys: '[414702.1.376801885]'
  BaseType: 'listContextMenu'
  Children:
  [
    Component MenuSelectAll id:MenuSelectAll_958
    {
      #keys: '[414702.1.379687162]'
      BaseType: 'WebMenu'
      Properties:
      [
        Image: 'SELECTION'
        Shortcut: 'Ctrl+A'
        Taborder: 3
        Title: '全选'
      ]
    }
  ]
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_ListModulePanelCorrespondence_612_MenuSelectAll_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
Quintiq file version 2.0
#parent: ListModulePanelCorrespondence_612
Response OnClick () id:Response_ListModulePanelCorrespondence_612_MenuSelectAll_OnClick
{
  #keys: '[414702.1.378245513]'
  CanBindMultiple: false
  DefinitionID => /ListModulePanelCorrespondence_612/Responsedef_ListModulePanelCorrespondence_612_WebMenu_OnClick
  Initiator: 'MenuSelectAll'
  QuillAction
  {
    Body:
    [*
      this.SelectAll();
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_ListModulePanelCorrespondence_612_bAddPanel_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
Quintiq file version 2.0
#parent: ListModulePanelCorrespondence_612
Response OnClick (
  structured[ModulePanelCorrespondence] selection
) id:Response_ListModulePanelCorrespondence_612_bAddPanel_OnClick
{
  #keys: '[414702.1.379686642]'
  CanBindMultiple: false
  DefinitionID => /ListModulePanelCorrespondence_612/Responsedef_ListModulePanelCorrespondence_612_WebButton_OnClick
  Initiator: 'bAddPanel'
  QuillAction
  {
    Body:
    [*
      ModulePanelCorrespondence::CreatePanel( GlobalOTDSOP, selection, DataHolderSelectedProductInStocking_MP.Data() );
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_ListModulePanelCorrespondence_612_bDeletePanel_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
Quintiq file version 2.0
#parent: ListModulePanelCorrespondence_612
Response OnClick (
  structured[ModulePanelCorrespondence] selection
) id:Response_ListModulePanelCorrespondence_612_bDeletePanel_OnClick
{
  #keys: '[414702.1.381349481]'
  CanBindMultiple: false
  DefinitionID => /ListModulePanelCorrespondence_612/Responsedef_ListModulePanelCorrespondence_612_WebButton_OnClick
  Initiator: 'bDeletePanel'
  QuillAction
  {
    Body:
    [*
      ModulePanelCorrespondence::DeletePanel( selection, DataHolderSelectedProductInStocking_MP.Data() );
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_PanelModule116_bAddModule_OnClick#61.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: PanelModule116/bAddModule_100
Response OnClick () id:Response_PanelModule_bAddModule_OnClick_61
{
  #keys: '[414702.1.381202717]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  QuillAction
  {
    Body:
    [*
      ModulePanelCorrespondence::CreateModule( GlobalOTDSOP, DataHolderSelectedProductInStocking_MP.Data() );
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_PanelModule116_bDeleteModule_OnClick#462.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: PanelModule116/bDeleteModule_801
Response OnClick () id:Response_PanelModule_bDeleteModule_OnClick_462
{
  #keys: '[414702.1.381202748]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  QuillAction
  {
    Body:
    [*
      ModulePanelCorrespondence::DeleteModule( GlobalOTDSOP, DataHolderSelectedProductInStocking_MP.Data() );
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/_ROOT_Component_FormModulePanelCorrespondence.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,44 @@
Quintiq file version 2.0
#root
#parent: MacroPlannerWebApp
OrphanComponent FormModulePanelCorrespondence
{
  #keys: '[414702.1.377988264]'
  BaseType: 'WebForm'
  Children:
  [
    #child: PanelModule
    #child: PanelPanel
    Component DataHolderSelectedProductInStocking_MP
    {
      #keys: '[414702.1.378291666]'
      BaseType: 'WebDataHolder'
      Databinding: 'structured[ProductInStockingPoint_MP]*'
      Children:
      [
        Component DataExtractor666
        {
          #keys: '[414702.1.378291704]'
          BaseType: 'WebDataExtractor'
          Properties:
          [
            DataType: 'ProductInStockingPoint_MP'
            ExtractionMode: 'Selected'
            Source: 'FormProductInStockingPoints.ListProductInStockingPointsForProductsView'
            Taborder: 0
          ]
        }
      ]
      Properties:
      [
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
    Image: 'BRUSH2'
    Orientation: 'horizontal'
    Title: '模组&面板对应关系'
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_ListPeggingProductInSalesDemandBase#886.def
copy from _Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_ListPeggingProductInSalesDemandBase.def copy to "_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_ListPeggingProductInSalesDemandBase\043886.def"
Îļþ´Ó _Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_ListPeggingProductInSalesDemandBase.def ¸´ÖÆ
@@ -1,13 +1,13 @@
Quintiq file version 2.0
Component ListPeggingProductInSalesDemandBase
Component ListPeggingProductInSalesDemandBase id:ListPeggingProductInSalesDemandBase_886
{
  #keys: '[414702.1.294477745]'
  #keys: '[414702.1.361001747]'
  BaseType: 'WebList'
  Children:
  [
    Component DataExtractorPeggingProductInSalesDemandBase
    {
      #keys: '[414702.1.294477746]'
      #keys: '[414702.1.361001748]'
      BaseType: 'WebDataExtractor'
      Properties:
      [
@@ -18,14 +18,14 @@
        Transformation: 'PeggingProductInSalesDemandBase'
      ]
    }
    #child: listActionBarPagePeggingProductInSalesDemandBase
    #child: listActionBarPagePeggingProductInSalesDemandBase_1
    Component DataSetLevelPeggingProductInSalesDemandBase
    {
      #keys: '[414702.1.294477751]'
      #keys: '[414702.1.361001750]'
      BaseType: 'WebDataSetLevel'
      Children:
      [
        #child: listContextMenuPeggingProductInSalesDemandBase
        #child: listContextMenuPeggingProductInSalesDemandBase_1
      ]
      Properties:
      [
@@ -41,9 +41,9 @@
  ]
  ResponseDefinitions:
  [
    DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingProductInSalesDemandBase_WebMenu_OnClick
    DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingProductInSalesDemandBase_886_WebMenu_OnClick
    {
      #keys: '[414702.1.298881590]'
      #keys: '[414702.1.361001742]'
      Initiator: 'WebMenu'
      IsInherited: false
      ResponseType: 'OnClick'
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_ListStockingPoint.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,42 @@
Quintiq file version 2.0
Component ListStockingPoint
{
  #keys: '[414702.1.361033206]'
  BaseType: 'WebList'
  Children:
  [
    Component DataExtractorStockingPoint
    {
      #keys: '[414702.1.361033207]'
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'PeggingProduct_MP'
        ExtractionMode: 'Selected'
        Source: 'FormPeggingProduct_MP.ListPeggingProduct_MP'
        Taborder: 0
        Transformation: 'PeggingProductInStockingPoint_MP'
      ]
    }
    #child: listActionBarPageStockingPoint
    Component DataSetLevelStockingPoint
    {
      #keys: '[414702.1.361033212]'
      BaseType: 'WebDataSetLevel'
      Children:
      [
        #child: listContextMenuStockingPoint
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"产品ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"库存点","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"开始时间","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}}]'
        ContextMenu: 'listContextMenuStockingPoint'
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_PanelContent.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
Component PanelContent
{
  #keys: '[414702.1.361001581]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: PanelSalesDemand
    #child: PanelStockingPoint
  ]
  Properties:
  [
    Orientation: 'tab'
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_PanelSalesDemand.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
Quintiq file version 2.0
Component PanelSalesDemand
{
  #keys: '[414702.1.361001594]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: ListPeggingProductInSalesDemandBase_886
  ]
  Properties:
  [
    Taborder: 0
    Title: '订单'
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_PanelStockingPoint.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
Quintiq file version 2.0
Component PanelStockingPoint
{
  #keys: '[414702.1.361001613]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: ListStockingPoint
  ]
  Properties:
  [
    Taborder: 1
    Title: '库存点'
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listActionBarPagePeggingProductInSalesDemandBase#1.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listActionBarPagePeggingProductInSalesDemandBase id:listActionBarPagePeggingProductInSalesDemandBase_1
{
  #keys: '[414702.1.361001749]'
  BaseType: 'listActionBarPage'
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listActionBarPageStockingPoint.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listActionBarPageStockingPoint
{
  #keys: '[414702.1.361033209]'
  BaseType: 'listActionBarPage'
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listContextMenuPeggingProductInSalesDemandBase#1.def
copy from _Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listContextMenuPeggingProductInSalesDemandBase.def copy to "_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listContextMenuPeggingProductInSalesDemandBase\0431.def"
Îļþ´Ó _Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listContextMenuPeggingProductInSalesDemandBase.def ¸´ÖÆ
@@ -1,13 +1,13 @@
Quintiq file version 2.0
Component listContextMenuPeggingProductInSalesDemandBase
Component listContextMenuPeggingProductInSalesDemandBase id:listContextMenuPeggingProductInSalesDemandBase_1
{
  #keys: '[414702.1.294477753]'
  #keys: '[414702.1.361001751]'
  BaseType: 'listContextMenu'
  Children:
  [
    Component mGeneratePeggingResult
    {
      #keys: '[414702.1.298700850]'
      #keys: '[414702.1.361001752]'
      BaseType: 'WebMenu'
      Properties:
      [
@@ -18,7 +18,7 @@
    }
    Component MenuSelectionAll
    {
      #keys: '[414702.1.300701803]'
      #keys: '[414702.1.361001753]'
      BaseType: 'WebMenu'
      Properties:
      [
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listContextMenuStockingPoint.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listContextMenuStockingPoint
{
  #keys: '[414702.1.361033214]'
  BaseType: 'listContextMenu'
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_886_MenuSelectionAll_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
Quintiq file version 2.0
#parent: ListPeggingProductInSalesDemandBase_886
Response OnClick () id:Response_ListPeggingProductInSalesDemandBase_886_MenuSelectionAll_OnClick
{
  #keys: '[414702.1.361001745]'
  CanBindMultiple: false
  DefinitionID => /ListPeggingProductInSalesDemandBase_886/Responsedef_ListPeggingProductInSalesDemandBase_886_WebMenu_OnClick
  Initiator: 'MenuSelectionAll'
  QuillAction
  {
    Body:
    [*
      this.SelectAll();
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_886_mGeneratePeggingResult_OnCl.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: ListPeggingProductInSalesDemandBase_886
Response OnClick (
  structured[PeggingProductInSalesDemandBase] selection
) id:Response_ListPeggingProductInSalesDemandBase_886_mGeneratePeggingResult_OnClick
{
  #keys: '[414702.1.361001744]'
  CanBindMultiple: false
  DefinitionID => /ListPeggingProductInSalesDemandBase_886/Responsedef_ListPeggingProductInSalesDemandBase_886_WebMenu_OnClick
  Initiator: 'mGeneratePeggingResult'
  Precondition:
  [*
    return not isnull( MacroPlan );
  *]
  QuillAction
  {
    Body:
    [*
      PeggingResult::CreateData( selection, MacroPlan );
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/_ROOT_Component_FormPeggingProductInSalesDemandBase.def
@@ -7,7 +7,7 @@
  BaseType: 'WebForm'
  Children:
  [
    #child: ListPeggingProductInSalesDemandBase
    #child: PanelContent
  ]
  Properties:
  [
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_pButton_bCreate_OnClick.def
@@ -16,7 +16,7 @@
      form := construct( FormNavigationPanel );
      form.ShowDockLeft();
      
      PeggingProduct_MP::Create( GlobalOTDSOP, DataHolderCheckedProduct.Data() );
      PeggingProduct_MP::CreateData( GlobalOTDSOP, DataHolderCheckedProduct.Data() );
    *]
    GroupServerCalls: false
  }
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingAllResult#103.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,60 @@
Quintiq file version 2.0
Component ListPeggingAllResult id:ListPeggingAllResult_103
{
  #keys: '[414702.1.368006795]'
  BaseType: 'WebList'
  Children:
  [
    Component DataExtractorPeggingAllResult
    {
      #keys: '[414702.1.368006796]'
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'PeggingResult'
        ExtractionMode: 'Selected'
        Source: 'ListPeggingResult'
        Taborder: 0
        Transformation: 'AllChild'
      ]
    }
    #child: listActionBarPagePeggingAllResult_1
    Component DataSetLevelPeggingAllResult
    {
      #keys: '[414702.1.368006798]'
      BaseType: 'WebDataSetLevel'
      Children:
      [
        #child: listContextMenuPeggingAllResult_1
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PeggingProductInSalesDemandBase.SalesDemandBaseID","title":"订单ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PeggingProductInSalesDemandBase.SalesDemandBaseID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"产品ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"库存点ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"开始时间","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SupplyQuantity","title":"供应数量","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SupplyQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ActualFulfillmentQuantity","title":"实际需要数量","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ActualFulfillmentQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FulfillmentQuantity","title":"订单需要数量","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"FulfillmentQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SupplyType","title":"供应类型","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SupplyType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasurementName","title":"单位","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasurementName"}}]'
        ContextMenu: 'listContextMenuPeggingAllResult'
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
    Taborder: 0
  ]
  ResponseDefinitions:
  [
    DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingAllResult_103_WebMenu_OnClick
    {
      #keys: '[414702.1.368006791]'
      Initiator: 'WebMenu'
      IsInherited: false
      ResponseType: 'OnClick'
      Arguments:
      [
        ResponseDefinitionArgument selection
        {
          #keys: '[639.0.20605876]'
          Binding: 'this.Selection()'
        }
      ]
    }
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingAllResultProductInStockingPoint_MP.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,42 @@
Quintiq file version 2.0
Component ListPeggingAllResultProductInStockingPoint_MP
{
  #keys: '[414702.1.369986051]'
  BaseType: 'WebList'
  Children:
  [
    Component DataExtractorBelow
    {
      #keys: '[414702.1.369986052]'
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'PeggingResultProductInStockingPoint_MP'
        ExtractionMode: 'Selected'
        Source: 'ListPeggingResultProductInStockingPoint_MP'
        Taborder: 0
        Transformation: 'AllChild'
      ]
    }
    #child: listActionBarPageBelow
    Component DataSetLevelBelow
    {
      #keys: '[414702.1.369986057]'
      BaseType: 'WebDataSetLevel'
      Children:
      [
        #child: listContextMenuBelow
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"产品ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"库存点ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"开始时间","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SupplyQuantity","title":"供应数量","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SupplyQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ActualFulfillmentQuantity","title":"实际需要数量","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ActualFulfillmentQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FulfillmentQuantity","title":"供应需要数量","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"FulfillmentQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SupplyType","title":"供应类型","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SupplyType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasurementName","title":"单位","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasurementName"}}]'
        ContextMenu: 'listContextMenuBelow'
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingProductInSalesDemandBase.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_ListPeggingProductInSalesDemandBase.def ÐÞ¸Ä
@@ -1,19 +1,19 @@
Quintiq file version 2.0
Component ListPeggingProductInSalesDemandBase
{
  #keys: '[414702.1.294477745]'
  #keys: '[414702.1.367969253]'
  BaseType: 'WebList'
  Children:
  [
    Component DataExtractorPeggingProductInSalesDemandBase
    {
      #keys: '[414702.1.294477746]'
      #keys: '[414702.1.367969254]'
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'PeggingProduct_MP'
        ExtractionMode: 'Selected'
        Source: 'FormPeggingProduct_MP.ListPeggingProduct_MP'
        Source: 'ListPeggingProduct_MP'
        Taborder: 0
        Transformation: 'PeggingProductInSalesDemandBase'
      ]
@@ -21,7 +21,7 @@
    #child: listActionBarPagePeggingProductInSalesDemandBase
    Component DataSetLevelPeggingProductInSalesDemandBase
    {
      #keys: '[414702.1.294477751]'
      #keys: '[414702.1.367969256]'
      BaseType: 'WebDataSetLevel'
      Children:
      [
@@ -43,7 +43,7 @@
  [
    DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingProductInSalesDemandBase_WebMenu_OnClick
    {
      #keys: '[414702.1.298881590]'
      #keys: '[414702.1.367969244]'
      Initiator: 'WebMenu'
      IsInherited: false
      ResponseType: 'OnClick'
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingProduct_MP#34.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,59 @@
Quintiq file version 2.0
Component ListPeggingProduct_MP id:ListPeggingProduct_MP_34
{
  #keys: '[414702.1.367969270]'
  BaseType: 'WebList'
  Children:
  [
    Component DataExtractorPeggingProduct_MP
    {
      #keys: '[414702.1.367969271]'
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'GlobalOTDSOP'
        Source: 'GlobalOTDSOP'
        Taborder: 0
        Transformation: 'PeggingProduct_MP'
      ]
    }
    #child: listActionBarPagePeggingProduct_MP_1
    Component DataSetLevelPeggingProduct_MP
    {
      #keys: '[414702.1.367969273]'
      BaseType: 'WebDataSetLevel'
      Children:
      [
        #child: listContextMenuPeggingProduct_MP_1
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"产品ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"库存点ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}}]'
        ContextMenu: 'listContextMenuPeggingProduct_MP'
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
    Taborder: 1
  ]
  ResponseDefinitions:
  [
    DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingProduct_MP_34_WebMenu_OnClick
    {
      #keys: '[414702.1.367969235]'
      Initiator: 'WebMenu'
      IsInherited: false
      ResponseType: 'OnClick'
      Arguments:
      [
        ResponseDefinitionArgument selection
        {
          #keys: '[645.0.18569723]'
          Binding: 'this.Selection()'
        }
      ]
    }
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingResult.def
@@ -1,20 +1,20 @@
Quintiq file version 2.0
Component ListPeggingResult
{
  #keys: '[414702.1.296178342]'
  #keys: '[414702.1.367969368]'
  BaseType: 'WebList'
  Children:
  [
    Component DataExtractorPeggingResult
    {
      #keys: '[414702.1.296178343]'
      #keys: '[414702.1.367969369]'
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'PeggingProductInSalesDemandBase'
        ExtractionMode: 'Selected'
        FixedFilter: 'object.NumberOfPlies() = 0'
        Source: 'FormPeggingProductInSalesDemandBase.ListPeggingProductInSalesDemandBase'
        Source: 'ListPeggingProductInSalesDemandBase'
        Taborder: 0
        Transformation: 'PeggingResult'
      ]
@@ -22,7 +22,7 @@
    #child: listActionBarPagePeggingResult
    Component DataSetLevelPeggingResult
    {
      #keys: '[414702.1.296178348]'
      #keys: '[414702.1.367969371]'
      BaseType: 'WebDataSetLevel'
      Children:
      [
@@ -46,7 +46,7 @@
  [
    DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingResult_WebMenu_OnClick
    {
      #keys: '[414702.1.302148620]'
      #keys: '[414702.1.367969363]'
      Initiator: 'WebMenu'
      IsInherited: false
      ResponseType: 'OnClick'
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingResultProductInStockingPoint_MP.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,63 @@
Quintiq file version 2.0
Component ListPeggingResultProductInStockingPoint_MP
{
  #keys: '[414702.1.369908729]'
  BaseType: 'WebList'
  Children:
  [
    Component DataExtractorRight
    {
      #keys: '[414702.1.369908730]'
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'PeggingProductInStockingPoint_MP'
        ExtractionMode: 'Selected'
        FixedFilter: 'object.NumberOfPlies() = 0'
        Source: 'ListStockingPoint'
        Taborder: 0
        Transformation: 'PeggingResultProductInStockingPoint_MP'
      ]
    }
    #child: listActionBarPageRight
    Component DataSetLevelRight
    {
      #keys: '[414702.1.369908735]'
      BaseType: 'WebDataSetLevel'
      Children:
      [
        #child: listContextMenuRight
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"产品ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"库存点ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"开始时间","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SupplyQuantity","title":"供应数量","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SupplyQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ActualFulfillmentQuantity","title":"实际需要数量","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ActualFulfillmentQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FulfillmentQuantity","title":"供应需要数量","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"FulfillmentQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SupplyType","title":"供应类型","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SupplyType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasurementName","title":"单位","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasurementName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"NumberOfPlies","title":"层数","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"NumberOfPlies"}}]'
        ContextMenu: 'listContextMenuRight'
        RelationFromParent: 'Child'
        RelationRepeating: 'Child'
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
    Taborder: 1
  ]
  ResponseDefinitions:
  [
    DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingResultProductInStockingPoint_MP_WebMenu_OnClick
    {
      #keys: '[414702.1.372190299]'
      Initiator: 'WebMenu'
      IsInherited: false
      ResponseType: 'OnClick'
      Arguments:
      [
        ResponseDefinitionArgument selection
        {
          #keys: '[743.0.10232769]'
          Binding: 'this.Selection()'
        }
      ]
    }
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListStockingPoint#140.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,60 @@
Quintiq file version 2.0
Component ListStockingPoint id:ListStockingPoint_140
{
  #keys: '[414702.1.367969261]'
  BaseType: 'WebList'
  Children:
  [
    Component DataExtractorStockingPoint
    {
      #keys: '[414702.1.367969262]'
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'PeggingProduct_MP'
        ExtractionMode: 'Selected'
        Source: 'ListPeggingProduct_MP'
        Taborder: 0
        Transformation: 'PeggingProductInStockingPoint_MP'
      ]
    }
    #child: listActionBarPageStockingPoint_1
    Component DataSetLevelStockingPoint
    {
      #keys: '[414702.1.367969264]'
      BaseType: 'WebDataSetLevel'
      Children:
      [
        #child: listContextMenuStockingPoint_1
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"产品ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"库存点","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"开始时间","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}}]'
        ContextMenu: 'listContextMenuStockingPoint'
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
    Taborder: 0
  ]
  ResponseDefinitions:
  [
    DelegatedResponseDefinition OnClick id:Responsedef_ListStockingPoint_140_WebMenu_OnClick
    {
      #keys: '[414702.1.371828990]'
      Initiator: 'WebMenu'
      IsInherited: false
      ResponseType: 'OnClick'
      Arguments:
      [
        ResponseDefinitionArgument selection
        {
          #keys: '[739.0.19241406]'
          Binding: 'this.Selection()'
        }
      ]
    }
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelAbove.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
Component PanelAbove
{
  #keys: '[414702.1.367522096]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: PanelLeft_865
    #child: PanelRight_520
  ]
  Properties:
  [
    Orientation: 'horizontal'
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelBelow.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
Component PanelBelow
{
  #keys: '[414702.1.367522127]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: ListPeggingAllResult_103
    #child: ListPeggingAllResultProductInStockingPoint_MP
  ]
  Properties:
  [
    Border: true
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelContent#807.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
Component PanelContent id:PanelContent_807
{
  #keys: '[414702.1.367969251]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: PanelSalesDemand_411
    #child: PanelStockingPoint_569
  ]
  Properties:
  [
    Orientation: 'tab'
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelLeft#865.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
Quintiq file version 2.0
Component PanelLeft id:PanelLeft_865
{
  #keys: '[414702.1.367969250]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: PanelPeggingResult570
    #child: PanelContent_807
  ]
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelPeggingResult570.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
Quintiq file version 2.0
Component PanelPeggingResult570
{
  #keys: '[414702.1.367969266]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: pButton_407
    #child: ListPeggingProduct_MP_34
  ]
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelRight#520.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
Component PanelRight id:PanelRight_520
{
  #keys: '[414702.1.367969367]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: ListPeggingResult
    #child: ListPeggingResultProductInStockingPoint_MP
  ]
  Properties:
  [
    Border: true
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelSalesDemand#411.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
Quintiq file version 2.0
Component PanelSalesDemand id:PanelSalesDemand_411
{
  #keys: '[414702.1.367969252]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: ListPeggingProductInSalesDemandBase
  ]
  Properties:
  [
    Taborder: 0
    Title: '订单'
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelStockingPoint#569.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
Quintiq file version 2.0
Component PanelStockingPoint id:PanelStockingPoint_569
{
  #keys: '[414702.1.367969260]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: ListStockingPoint_140
  ]
  Properties:
  [
    Taborder: 1
    Title: '库存点'
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPageBelow.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listActionBarPageBelow
{
  #keys: '[414702.1.369986054]'
  BaseType: 'listActionBarPage'
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingAllResult#1.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listActionBarPagePeggingAllResult id:listActionBarPagePeggingAllResult_1
{
  #keys: '[414702.1.368006797]'
  BaseType: 'listActionBarPage'
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingProductInSalesDemandBase.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listActionBarPagePeggingProductInSalesDemandBase.def ÐÞ¸Ä
@@ -1,7 +1,7 @@
Quintiq file version 2.0
Component listActionBarPagePeggingProductInSalesDemandBase
{
  #keys: '[414702.1.294477748]'
  #keys: '[414702.1.367969255]'
  BaseType: 'listActionBarPage'
  Properties:
  [
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingProduct_MP#1.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listActionBarPagePeggingProduct_MP id:listActionBarPagePeggingProduct_MP_1
{
  #keys: '[414702.1.367969272]'
  BaseType: 'listActionBarPage'
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingResult.def
@@ -1,7 +1,7 @@
Quintiq file version 2.0
Component listActionBarPagePeggingResult
{
  #keys: '[414702.1.296178345]'
  #keys: '[414702.1.367969370]'
  BaseType: 'listActionBarPage'
  Properties:
  [
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPageRight.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listActionBarPageRight
{
  #keys: '[414702.1.369908732]'
  BaseType: 'listActionBarPage'
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPageStockingPoint#1.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listActionBarPageStockingPoint id:listActionBarPageStockingPoint_1
{
  #keys: '[414702.1.367969263]'
  BaseType: 'listActionBarPage'
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuBelow.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listContextMenuBelow
{
  #keys: '[414702.1.369986059]'
  BaseType: 'listContextMenu'
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingAllResult#1.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
Quintiq file version 2.0
Component listContextMenuPeggingAllResult id:listContextMenuPeggingAllResult_1
{
  #keys: '[414702.1.368006799]'
  BaseType: 'listContextMenu'
  Children:
  [
    Component MenuSelectAll
    {
      #keys: '[414702.1.368006800]'
      BaseType: 'WebMenu'
      Properties:
      [
        Image: 'DOCUMENT_SELECTION'
        Shortcut: 'Ctrl+A'
        Taborder: 3
        Title: '全选'
      ]
    }
  ]
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingProductInSalesDemandBase.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listContextMenuPeggingProductInSalesDemandBase.def ÐÞ¸Ä
@@ -1,13 +1,13 @@
Quintiq file version 2.0
Component listContextMenuPeggingProductInSalesDemandBase
{
  #keys: '[414702.1.294477753]'
  #keys: '[414702.1.367969257]'
  BaseType: 'listContextMenu'
  Children:
  [
    Component mGeneratePeggingResult
    {
      #keys: '[414702.1.298700850]'
      #keys: '[414702.1.367969258]'
      BaseType: 'WebMenu'
      Properties:
      [
@@ -16,9 +16,9 @@
        Title: '生成Pegging结果'
      ]
    }
    Component MenuSelectionAll
    Component MenuSelectionAll508
    {
      #keys: '[414702.1.300701803]'
      #keys: '[414702.1.367969259]'
      BaseType: 'WebMenu'
      Properties:
      [
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingProduct_MP#1.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
Quintiq file version 2.0
Component listContextMenuPeggingProduct_MP id:listContextMenuPeggingProduct_MP_1
{
  #keys: '[414702.1.367969274]'
  BaseType: 'listContextMenu'
  Children:
  [
    Component MenuSelectionAll852
    {
      #keys: '[414702.1.367969275]'
      BaseType: 'WebMenu'
      Properties:
      [
        Image: 'SELECTION'
        Shortcut: 'Ctrl+A'
        Taborder: 3
        Title: '全选'
      ]
    }
  ]
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingResult.def
@@ -1,13 +1,13 @@
Quintiq file version 2.0
Component listContextMenuPeggingResult
{
  #keys: '[414702.1.296178350]'
  #keys: '[414702.1.367969372]'
  BaseType: 'listContextMenu'
  Children:
  [
    Component MenuSelectionAll
    {
      #keys: '[414702.1.302117859]'
      #keys: '[414702.1.367969373]'
      BaseType: 'WebMenu'
      Properties:
      [
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuRight.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
Quintiq file version 2.0
Component listContextMenuRight
{
  #keys: '[414702.1.369908737]'
  BaseType: 'listContextMenu'
  Children:
  [
    Component MenuSelectionAll666
    {
      #keys: '[414702.1.372161014]'
      BaseType: 'WebMenu'
      Properties:
      [
        Image: 'SELECTION'
        Shortcut: 'Ctrl+A'
        Taborder: 3
        Title: '全选'
      ]
    }
  ]
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuStockingPoint#1.def
copy from _Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listContextMenuPeggingProductInSalesDemandBase.def copy to "_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuStockingPoint\0431.def"
Îļþ´Ó _Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listContextMenuPeggingProductInSalesDemandBase.def ¸´ÖÆ
@@ -1,13 +1,13 @@
Quintiq file version 2.0
Component listContextMenuPeggingProductInSalesDemandBase
Component listContextMenuStockingPoint id:listContextMenuStockingPoint_1
{
  #keys: '[414702.1.294477753]'
  #keys: '[414702.1.367969265]'
  BaseType: 'listContextMenu'
  Children:
  [
    Component mGeneratePeggingResult
    Component mGeneratePeggingResult266
    {
      #keys: '[414702.1.298700850]'
      #keys: '[414702.1.370691806]'
      BaseType: 'WebMenu'
      Properties:
      [
@@ -16,9 +16,9 @@
        Title: '生成Pegging结果'
      ]
    }
    Component MenuSelectionAll
    Component MenuSelectionAll506
    {
      #keys: '[414702.1.300701803]'
      #keys: '[414702.1.370691827]'
      BaseType: 'WebMenu'
      Properties:
      [
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_pButton#407.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,37 @@
Quintiq file version 2.0
Component pButton id:pButton_407
{
  #keys: '[414702.1.367969267]'
  BaseType: 'WebPanel'
  Children:
  [
    Component bCreate
    {
      #keys: '[414702.1.367969268]'
      BaseType: 'WebButton'
      Properties:
      [
        Image: 'BOMB'
        Label: '创建Pegging产品'
        Taborder: 1
      ]
    }
    Component bRunPeggingAlgorithm
    {
      #keys: '[414702.1.367969269]'
      BaseType: 'WebButton'
      Properties:
      [
        Image: 'TREE'
        Label: '运行Pegging算法'
        Taborder: 0
      ]
    }
  ]
  Properties:
  [
    FixedSize: true
    Orientation: 'horizontal'
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingAllResult_103_MenuSelectAll_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
Quintiq file version 2.0
#parent: ListPeggingAllResult_103
Response OnClick () id:Response_ListPeggingAllResult_103_MenuSelectAll_OnClick
{
  #keys: '[414702.1.368006793]'
  CanBindMultiple: false
  DefinitionID => /ListPeggingAllResult_103/Responsedef_ListPeggingAllResult_103_WebMenu_OnClick
  Initiator: 'MenuSelectAll'
  QuillAction
  {
    Body:
    [*
      this.SelectAll();
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingProductInSalesDemandBase_MenuSelectionAll508_OnClick.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_MenuSelectionAll_OnClick.def ÐÞ¸Ä
@@ -1,11 +1,11 @@
Quintiq file version 2.0
#parent: ListPeggingProductInSalesDemandBase
Response OnClick () id:Response_ListPeggingProductInSalesDemandBase_MenuSelectionAll_OnClick
Response OnClick () id:Response_ListPeggingProductInSalesDemandBase_MenuSelectionAll508_OnClick
{
  #keys: '[414702.1.300762760]'
  #keys: '[414702.1.367969247]'
  CanBindMultiple: false
  DefinitionID => /ListPeggingProductInSalesDemandBase/Responsedef_ListPeggingProductInSalesDemandBase_WebMenu_OnClick
  Initiator: 'MenuSelectionAll'
  Initiator: 'MenuSelectionAll508'
  QuillAction
  {
    Body:
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingProductInSalesDemandBase_mGeneratePeggingResult_OnClick.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_mGeneratePeggingResult_OnClick.def ÐÞ¸Ä
@@ -4,7 +4,7 @@
  structured[PeggingProductInSalesDemandBase] selection
) id:Response_ListPeggingProductInSalesDemandBase_mGeneratePeggingResult_OnClick
{
  #keys: '[414702.1.298700997]'
  #keys: '[414702.1.367969246]'
  CanBindMultiple: false
  DefinitionID => /ListPeggingProductInSalesDemandBase/Responsedef_ListPeggingProductInSalesDemandBase_WebMenu_OnClick
  Initiator: 'mGeneratePeggingResult'
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingProduct_MP_34_MenuSelectionAll852_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
Quintiq file version 2.0
#parent: ListPeggingProduct_MP_34
Response OnClick () id:Response_ListPeggingProduct_MP_34_MenuSelectionAll852_OnClick
{
  #keys: '[414702.1.367969239]'
  CanBindMultiple: false
  DefinitionID => /ListPeggingProduct_MP_34/Responsedef_ListPeggingProduct_MP_34_WebMenu_OnClick
  Initiator: 'MenuSelectionAll852'
  QuillAction
  {
    Body:
    [*
      this.SelectAll();
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingResultProductInStockingPoint_MP_MenuSelectionAll666_OnCl.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
Quintiq file version 2.0
#parent: ListPeggingResultProductInStockingPoint_MP
Response OnClick () id:Response_ListPeggingResultProductInStockingPoint_MP_MenuSelectionAll666_OnClick
{
  #keys: '[414702.1.372190318]'
  CanBindMultiple: false
  DefinitionID => /ListPeggingResultProductInStockingPoint_MP/Responsedef_ListPeggingResultProductInStockingPoint_MP_WebMenu_OnClick
  Initiator: 'MenuSelectionAll666'
  QuillAction
  {
    Body:
    [*
      this.SelectAll();
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingResult_MenuSelectionAll_OnClick.def
@@ -2,7 +2,7 @@
#parent: ListPeggingResult
Response OnClick () id:Response_ListPeggingResult_MenuSelectionAll_OnClick
{
  #keys: '[414702.1.302148638]'
  #keys: '[414702.1.367969365]'
  CanBindMultiple: false
  DefinitionID => /ListPeggingResult/Responsedef_ListPeggingResult_WebMenu_OnClick
  Initiator: 'MenuSelectionAll'
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListStockingPoint_140_MenuSelectionAll506_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
Quintiq file version 2.0
#parent: ListStockingPoint_140
Response OnClick () id:Response_ListStockingPoint_140_MenuSelectionAll506_OnClick
{
  #keys: '[414702.1.371829177]'
  CanBindMultiple: false
  DefinitionID => /ListStockingPoint_140/Responsedef_ListStockingPoint_140_WebMenu_OnClick
  Initiator: 'MenuSelectionAll506'
  QuillAction
  {
    Body:
    [*
      this.SelectAll();
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListStockingPoint_140_mGeneratePeggingResult266_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
Quintiq file version 2.0
#parent: ListStockingPoint_140
Response OnClick (
  structured[PeggingProductInStockingPoint_MP] selection
) id:Response_ListStockingPoint_140_mGeneratePeggingResult266_OnClick
{
  #keys: '[414702.1.370662191]'
  CanBindMultiple: false
  DefinitionID => /ListStockingPoint_140/Responsedef_ListStockingPoint_140_WebMenu_OnClick
  Initiator: 'mGeneratePeggingResult266'
  QuillAction
  {
    Body:
    [*
      PeggingResultProductInStockingPoint_MP::CreateData( selection, MacroPlan );
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_PanelSalesDemand_411_OnActivate.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
Quintiq file version 2.0
#parent: PanelSalesDemand_411
Response OnActivate () id:Response_PanelSalesDemand_411_OnActivate
{
  #keys: '[414702.1.367969238]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebPanel_OnActivate'
  QuillAction
  {
    Body:
    [*
      ListPeggingResultProductInStockingPoint_MP.Visible( false );
      ListPeggingAllResultProductInStockingPoint_MP.Visible( false );
      ListPeggingResult.Visible( true );
      ListPeggingAllResult.Visible( true );
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_PanelStockingPoint_569_OnActivate.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
Quintiq file version 2.0
#parent: PanelStockingPoint_569
Response OnActivate () id:Response_PanelStockingPoint_569_OnActivate
{
  #keys: '[414702.1.367969237]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebPanel_OnActivate'
  QuillAction
  {
    Body:
    [*
      ListPeggingResult.Visible( false );
      ListPeggingAllResult.Visible( false );
      ListPeggingResultProductInStockingPoint_MP.Visible( true );
      ListPeggingAllResultProductInStockingPoint_MP.Visible( true );
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_pButton_407_bCreate_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: pButton_407/bCreate
Response OnClick () id:Response_pButton_407_bCreate_OnClick
{
  #keys: '[414702.1.367969242]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  Precondition:
  [*
    return not isnull( GlobalOTDSOP ) and not isnull( MacroPlan );
  *]
  QuillAction
  {
    Body:
    [*
      form := construct( FormNavigationPanel );
      form.ShowDockLeft();
      PeggingProduct_MP::CreateData( GlobalOTDSOP, DataHolderCheckedProduct.Data() );
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_pButton_407_bRunPeggingAlgorithm_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
Quintiq file version 2.0
#parent: pButton_407/bRunPeggingAlgorithm
Response OnClick () id:Response_pButton_407_bRunPeggingAlgorithm_OnClick
{
  #keys: '[414702.1.367969241]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  Precondition:
  [*
    return not isnull( MacroPlan );
  *]
  QuillAction
  {
    Body:
    [*
      MacroPlan.RunPeggingAlgorithm();
      WebMessageBox::Success( "运行成功!", true );
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/_ROOT_Component_FormPeggingResult.def
@@ -7,11 +7,13 @@
  BaseType: 'WebForm'
  Children:
  [
    #child: ListPeggingResult
    #child: PanelAbove
    #child: PanelBelow
  ]
  Properties:
  [
    Image: 'CUP'
    SizeableChildren: true
    Title: 'Pegging结果'
  ]
}
_Main/UI/MacroPlannerWebApp/Views/Pegging·ÖÎö.vw
@@ -4,29 +4,41 @@
  {
    forms
    {
      form_FormPeggingProduct_MP
      form_FormPeggingResult
      {
        title: 'QTIANMA_JITUAN::FormPeggingProduct_MP'
        title: 'QTIANMA_JITUAN::FormPeggingResult'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormPeggingProduct_MP'
        componentID: 'QTIANMA_JITUAN::FormPeggingResult'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 7
          rowSpan: 26
          columnPosition: 1
          columnSpan: 3
          columnSpan: 12
        }
        components
        {
          FormPeggingProduct_MP_pButton
          FormPeggingResult_PanelAbove
          {
            sizeRatio: 0.956634174600973
          }
          FormPeggingResult_PanelLeft
          {
            sizeRatio: 0.432843330645635
          }
          FormPeggingResult_PanelPeggingResult570
          {
            sizeRatio: 1
          }
          FormPeggingProduct_MP_ListPeggingProduct_MP
          FormPeggingResult_pButton
          {
            sizeRatio: 1
          }
          FormPeggingResult_ListPeggingProduct_MP
          {
          }
          FormPeggingProduct_MP_DataSetLevelPeggingProduct_MP
          FormPeggingResult_DataSetLevelPeggingProduct_MP
          {
            groupDepth: -1
            sort: 'ProductID'
@@ -40,27 +52,19 @@
              width: 150
            }
          }
        }
      }
      form_FormPeggingProductInSalesDemandBase_1
      {
        title: 'QTIANMA_JITUAN::FormPeggingProductInSalesDemandBase'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormPeggingProductInSalesDemandBase'
        layout
        {
          mode: 'open'
          rowPosition: 8
          rowSpan: 6
          columnPosition: 1
          columnSpan: 3
        }
        components
        {
          FormPeggingProductInSalesDemandBase_ListPeggingProductInSalesDemandBase
          FormPeggingResult_PanelContent
          {
            sizeRatio: 1
            activeChild: 'PanelSalesDemand'
          }
          FormPeggingResult_PanelSalesDemand
          {
            sizeRatio: 1
          }
          FormPeggingResult_ListPeggingProductInSalesDemandBase
          {
          }
          FormPeggingProductInSalesDemandBase_DataSetLevelPeggingProductInSalesDemandBase
          FormPeggingResult_DataSetLevelPeggingProductInSalesDemandBase
          {
            groupDepth: -1
            sort: 'StartDate'
@@ -71,7 +75,7 @@
              dataType: 'string'
              index: 0
              subtotals: 'count'
              width: 61
              width: 62
            }
            column_StockingPointID
            {
@@ -80,7 +84,7 @@
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 94
              width: 74
            }
            column_Quantity
            {
@@ -89,7 +93,7 @@
              dataType: 'real'
              index: 2
              subtotals: 'sum'
              width: 59
              width: 50
            }
            column_StartDate
            {
@@ -98,26 +102,43 @@
              dataType: 'date'
              index: 3
              subtotals: ''
              width: 82
              width: 83
            }
          }
        }
      }
      form_FormPeggingResult
      {
        title: 'QTIANMA_JITUAN::FormPeggingResult'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormPeggingResult'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 13
          columnPosition: 4
          columnSpan: 9
        }
        components
        {
          FormPeggingResult_PanelStockingPoint
          {
            sizeRatio: 1
          }
          FormPeggingResult_ListStockingPoint
          {
          }
          FormPeggingResult_DataSetLevelStockingPoint
          {
            groupDepth: -1
            sort: 'ProductID,StockingPointID'
            column_ProductID
            {
              columnId: 'ProductID'
              dataPath: 'ProductID'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 141
            }
            column_StockingPointID
            {
              columnId: 'StockingPointID'
              dataPath: 'StockingPointID'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 113
            }
          }
          FormPeggingResult_PanelRight
          {
            sizeRatio: 1.56715666935437
          }
          FormPeggingResult_ListPeggingResult
          {
          }
@@ -216,27 +237,103 @@
              width: 56
            }
          }
        }
      }
      form_FormPeggingAllResult
      {
        title: 'QTIANMA_JITUAN::FormPeggingAllResult'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormPeggingAllResult'
        layout
        {
          mode: 'open'
          rowPosition: 14
          rowSpan: 12
          columnPosition: 1
          columnSpan: 12
        }
        components
        {
          FormPeggingAllResult_ListPeggingAllResult
          FormPeggingResult_ListPeggingResultProductInStockingPoint_MP
          {
          }
          FormPeggingAllResult_DataSetLevelPeggingAllResult
          FormPeggingResult_DataSetLevelRight
          {
            groupDepth: -1
            sort: 'ProductID,StockingPointID,StartDate'
            column_ProductID
            {
              columnId: 'ProductID'
              dataPath: 'ProductID'
              dataType: 'string'
              index: 0
              subtotals: 'count'
              width: 150
            }
            column_StockingPointID
            {
              columnId: 'StockingPointID'
              dataPath: 'StockingPointID'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_StartDate
            {
              columnId: 'StartDate'
              dataPath: 'StartDate'
              dataType: 'date'
              index: 2
              subtotals: ''
              width: 117
            }
            column_SupplyQuantity
            {
              columnId: 'SupplyQuantity'
              dataPath: 'SupplyQuantity'
              dataType: 'real'
              index: 3
              subtotals: 'sum'
              width: 95
            }
            column_ActualFulfillmentQuantity
            {
              columnId: 'ActualFulfillmentQuantity'
              dataPath: 'ActualFulfillmentQuantity'
              dataType: 'real'
              index: 4
              subtotals: ''
              width: 109
            }
            column_FulfillmentQuantity
            {
              columnId: 'FulfillmentQuantity'
              dataPath: 'FulfillmentQuantity'
              dataType: 'real'
              index: 5
              subtotals: 'sum'
              width: 137
            }
            column_SupplyType
            {
              columnId: 'SupplyType'
              dataPath: 'SupplyType'
              dataType: 'string'
              index: 6
              subtotals: ''
              width: 93
            }
            column_UnitOfMeasurementName
            {
              columnId: 'UnitOfMeasurementName'
              dataPath: 'UnitOfMeasurementName'
              dataType: 'string'
              index: 7
              subtotals: ''
              width: 57
            }
            column_NumberOfPlies
            {
              columnId: 'NumberOfPlies'
              dataPath: 'NumberOfPlies'
              dataType: 'number'
              index: 8
              subtotals: ''
              width: 56
            }
          }
          FormPeggingResult_PanelBelow
          {
            sizeRatio: 1.04336582539903
          }
          FormPeggingResult_ListPeggingAllResult
          {
          }
          FormPeggingResult_DataSetLevelPeggingAllResult
          {
            groupDepth: 2
            sort: 'ProductID,StockingPointID,StartDate'
@@ -322,6 +419,86 @@
              width: 150
            }
          }
          FormPeggingResult_ListPeggingAllResultProductInStockingPoint_MP
          {
          }
          FormPeggingResult_DataSetLevelBelow
          {
            groupDepth: 2
            sort: 'ProductID,StockingPointID,StartDate'
            column_ProductID
            {
              columnId: 'ProductID'
              dataPath: 'ProductID'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_StockingPointID
            {
              columnId: 'StockingPointID'
              dataPath: 'StockingPointID'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_StartDate
            {
              columnId: 'StartDate'
              dataPath: 'StartDate'
              dataType: 'date'
              index: 2
              subtotals: ''
              width: 150
            }
            column_SupplyQuantity
            {
              columnId: 'SupplyQuantity'
              dataPath: 'SupplyQuantity'
              dataType: 'real'
              index: 3
              subtotals: 'max'
              width: 150
            }
            column_ActualFulfillmentQuantity
            {
              columnId: 'ActualFulfillmentQuantity'
              dataPath: 'ActualFulfillmentQuantity'
              dataType: 'real'
              index: 4
              subtotals: ''
              width: 150
            }
            column_FulfillmentQuantity
            {
              columnId: 'FulfillmentQuantity'
              dataPath: 'FulfillmentQuantity'
              dataType: 'real'
              index: 5
              subtotals: 'sum'
              width: 150
            }
            column_SupplyType
            {
              columnId: 'SupplyType'
              dataPath: 'SupplyType'
              dataType: 'string'
              index: 6
              subtotals: ''
              width: 150
            }
            column_UnitOfMeasurementName
            {
              columnId: 'UnitOfMeasurementName'
              dataPath: 'UnitOfMeasurementName'
              dataType: 'string'
              index: 7
              subtotals: ''
              width: 150
            }
          }
        }
      }
    }
_Main/UI/MacroPlannerWebApp/Views/Ä£×é_Ãæ°å¹ØÏµ.vw
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,194 @@
Quintiq file version 2.0
{
  viewcontents
  {
    forms
    {
      form_legacy_3
      {
        title: 'Products'
        shown: true
        componentID: 'FormProducts'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 6
          columnPosition: 1
          columnSpan: 3
        }
        components
        {
          FormProducts_PanelList
          {
            sizeRatio: 1
          }
          FormProducts_ListProduct
          {
          }
          FormProducts_DataSetLevelRootProduct
          {
            groupDepth: -1
            sort: 'Name'
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 0
              subtotals: ''
              width: 271
            }
          }
          FormProducts_DataSetLevelChildProduct
          {
            groupDepth: -1
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 0
              subtotals: ''
              width: 202
            }
          }
        }
      }
      form_FormProductInStockingPoints_1
      {
        title: 'Assigned to stocking points'
        shown: true
        componentID: 'FormProductInStockingPoints'
        layout
        {
          mode: 'open'
          rowPosition: 7
          rowSpan: 6
          columnPosition: 1
          columnSpan: 3
        }
        components
        {
          FormProductInStockingPoints_ListProductInStockingPointsForProductsView
          {
          }
          FormProductInStockingPoints_ListProductInStockingPointsForProductsView_DataSetLevelProductInStockingPoints
          {
            groupDepth: -1
            column_Product_MP_Name
            {
              columnId: 'Product_MP.Name'
              dataPath: 'Product_MP.Name'
              dataType: 'string'
              title: 'Product name'
              index: 0
              subtotals: ''
              width: 134
            }
            column_StockingPoint_MP_Name
            {
              columnId: 'StockingPoint_MP.Name'
              dataPath: 'StockingPoint_MP.Name'
              dataType: 'string'
              title: 'Stocking point name'
              index: 1
              subtotals: ''
              width: 150
            }
          }
        }
      }
      form_FormModulePanelCorrespondence
      {
        title: 'QTIANMA_JITUAN::FormModulePanelCorrespondence'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormModulePanelCorrespondence'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 12
          columnPosition: 4
          columnSpan: 9
        }
        components
        {
          FormModulePanelCorrespondence_PanelModule
          {
            sizeRatio: 1
          }
          FormModulePanelCorrespondence_ListModulePanelCorrespondence
          {
          }
          FormModulePanelCorrespondence_DataSetLevelModulePanelCorrespondence
          {
            groupDepth: -1
            column_ModuleProductID
            {
              columnId: 'ModuleProductID'
              dataPath: 'ModuleProductID'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_ModuleStockingPointID
            {
              columnId: 'ModuleStockingPointID'
              dataPath: 'ModuleStockingPointID'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
          }
          FormModulePanelCorrespondence_PanelPanel
          {
            sizeRatio: 1
          }
          FormModulePanelCorrespondence_ListModuleCorrespondence
          {
          }
          FormModulePanelCorrespondence_DataSetLevelModuleCorrespondence
          {
            groupDepth: -1
            column_PanelProductID
            {
              columnId: 'PanelProductID'
              dataPath: 'PanelProductID'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_PanelStockingPointID
            {
              columnId: 'PanelStockingPointID'
              dataPath: 'PanelStockingPointID'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
          }
        }
      }
    }
    userconfigurableinformation
    {
    }
    page: ''
    group: ''
    index: 0
    image: 'LAPTOP'
    description: ''
  }
  formatversion: 2
  id: '模组_面板关系'
  name: '模组_面板关系'
  isglobal: false
  isroot: true
}
_var/_Main/ProjSettings/MacroPlanner/Views/X_·ÖÎöÊÓͼ_[414702.1.50321581].vw
@@ -16,7 +16,7 @@
  CREATIONUSER 'quintiq/hongjli'
  UPDATEDATETIME '2023-11-01T11:42:14'
  UPDATEUSER 'quintiq/hongjli'
  LASTACCESSDATE '2023-11-03'
  LASTACCESSDATE '2023-11-05'
  VIEWSCOPE 0
}
AUTHORIZATIONS