yypsybs
2023-10-17 019f70bf90f944008fd04471d9471cd28c1154d6
转移中间数据至globalOtdSop
已重命名3个文件
已添加12个文件
已修改57个文件
已删除22个文件
1285 ■■■■ 文件已修改
_Main/BL/Relations/Relation_CapacityAndSaleBudgeChartElement_GlobalOTDSOP_GlobalOTDSOP_Capacity.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_CapacityAndSaleBudgeChartElement_GlobalOTDTable_GlobalOTDTable_Capa.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_CapacityAndSaleBudgeChartRow_GlobalOTDSOP_GlobalOTDSOP_CapacityAndS.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_CapacityAndSaleBudgeChartRow_GlobalOTDTable_GlobalOTDTable_Capacity.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_CapacityAndSaleBudgeCompareItemColumn_GlobalOTDSOP_GlobalOTDSOP_Cap.qbl 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_CapacityAndSaleBudgeCompareItemColumn_GlobalOTDTable_GlobalOTDTable.qbl 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_CapacityAndSaleBudgeCompareItemRow_GlobalOTDSOP_GlobalOTDSOP_Capaci.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_CapacityAndSaleBudgeCompareItemRow_GlobalOTDTable_GlobalOTDTable_Ca.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterBusinessType_GlobalOTDSOP_GlobalOTDSOP_Ca.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterBusinessType_GlobalOTDTable_GlobalOTDTabl.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterItem_GlobalOTDSOP_GlobalOTDSOP_CapacityAn.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterItem_GlobalOTDTable_GlobalOTDTable_Capaci.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterMonth_GlobalOTDSOP_GlobalOTDSOP_CapacityA.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterMonth_GlobalOTDTable_GlobalOTDTable_Capac.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray_GlobalOTDSOP_Glo.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray_GlobalOTDTable_G.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterYear_GlobalOTDSOP_GlobalOTDSOP_CapacityAn.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterYear_GlobalOTDTable_GlobalOTDTable_Capaci.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PRHistoryData_GlobalOTDSOP_GlobalOTDSOP_PRHistoryData.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PRHistoryData_GlobalOTDTable_GlobalOTDTable_PRHistoryData.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_YuxTest_MPSync_MPSync_YuxTest.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_TestData.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CapacityAndSaleBudgeChartRow/StaticMethod_CreateIfNotExist.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/StaticMethod_CreateIfNotExist.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CapacityAndSaleBudgeCompareItemRow/StaticMethod_CreateIfNotExist.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CapacityAndSaleBudgeFilterBusinessType/StaticMethod_CreateIfNotExist.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CapacityAndSaleBudgeFilterItem/StaticMethod_CreateIfNotExist.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CapacityAndSaleBudgeFilterItem/StaticMethod_Initial.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CapacityAndSaleBudgeFilterMonth/StaticMethod_Initial.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray/StaticMethod_CreateIfNotExist.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CapacityAndSaleBudgeFilterYear/StaticMethod_Initial.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_GlobalDTOTable/Method_RefreshCapacityAndSaleBudgeFilter.qbl 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeChart.qbl 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeCompare.qbl 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeCompareExport.qbl 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_GlobalOTDSOP/StaticMethod_RefreshCapacityAndSaleBudgeFilter.qbl 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Method_GetCapacityInPCSInYear.qbl 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Method_GetCapacityInSheetInHalfYear.qbl 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Method_GetCapacityInSheetInSeason.qbl 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Method_GetCapacityInSheetInYear.qbl 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Method_GetSaleAmountInHalfYear.qbl 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Method_GetSaleAmountInSeason#000.qbl 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Method_GetSaleAmountInYear.qbl 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_GetSaleByHalfYear.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_GetSaleByMonth.qbl 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_GetSaleBySeason.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_GetSaleByYear.qbl 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_GetSheetByHalfYear.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_GetSheetByMonth.qbl 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_GetSheetBySeason.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_GetSheetByYear.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingForecast/StaticMethod_GetQuantityByMonth.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingForecast/StaticMethod_GetQuantityByYear.qbl 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingOperation/StaticMethod_GetByProductId.qbl 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProduct_MP/StaticMethod_GetByProductId.qbl 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProviderCapacity/StaticMethod_GetByProductId.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_GetByMatCode.qbl 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRData/Method_DoCall.qbl 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRData/Method_PrintCall.qbl 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRData/StaticMethod_DoCall.qbl 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRData/StaticMethod_FromSupplyPlanning#662.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRHistoryData/Method_PrintCall.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRHistoryData/Method_Recall.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRHistoryData/StaticMethod_Export.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_YuxTest/Attribute_TestBoolean.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_YuxTest/Attribute_TestDate.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_YuxTest/Attribute_TestDateTime.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_YuxTest/Attribute_TestNumber.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_YuxTest/Attribute_TestReal.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_YuxTest/Attribute_TestString.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_YuxTest/StaticMethod_Export.qbl 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_YuxTest/StaticMethod_ExportTest#887.qbl 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_YuxTest/_ROOT_Type_YuxTest.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_MenuCall_OnClick.def 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_MenuPrintRequest_OnClick#623.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_Form633/Response_PanelPRDataButton_ButtonSendPR_OnClick.def 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Component_ListCapacityAndSaleBudge.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_ButtonExportTest_OnClick.def 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_ButtonGenerateTestData_OnClick.def 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/_ROOT_Component_FormCapacityAndSaleBudge.def 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Component_ChartCapacityAndSaleBudgeChart.def 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Response_ButtonCapacityAndSaleBudgeChartTest_OnClick.def 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Component_MatrixEditorCapacityAndSaleBudgeCompare.def 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_ButtonCapacityAndSaleBudgeCompare_OnClick.def 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_ButtonExportCompare_OnClick.def 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Component_ListCapacityAndSaleBudgeFilterBusinessType.def 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Response_listContextMenuCapacityAndSaleBudgeFilterYear_1_MenuRefresh_OnClick.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterItem/Component_ListCapacityAndSaleBudgeFilterItem.def 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterMonth/Component_ListCapacityAndSaleBudgeFilterMonth.def 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Component_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.def 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Response_listContextMenuCapacityAndSaleBudgeFilterYear_1_MenuRefresh_OnC#663.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterYear/Component_ListCapacityAndSaleBudgeFilterYear.def 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPRHistoryData/Component_ListPRHistoryData#844.def 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPRHistoryData/Response_PanelPRHistoryButton_ButtonExportPRHistory_OnClick.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_CapacityAndSaleBudgeChartElement_GlobalOTDSOP_GlobalOTDSOP_Capacity.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation CapacityAndSaleBudgeChartElement_GlobalOTDSOP_GlobalOTDSOP_CapacityAndSaleBudgeChartElement
{
  #keys: '1[414384.0.999194645]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide GlobalOTDSOP
  {
    #keys: '3[414384.0.999194647][414384.0.999194646][414384.0.999194648]'
    Cardinality: '0to1'
    ObjectDefinition: CapacityAndSaleBudgeChartElement
    OwningSide: 'Reference'
  }
  RelationSide.RightSide CapacityAndSaleBudgeChartElement
  {
    #keys: '3[414384.0.999194650][414384.0.999194649][414384.0.999194651]'
    Cardinality: '1toN'
    ObjectDefinition: GlobalOTDSOP
    OwningSide: 'Owned'
  }
}
_Main/BL/Relations/Relation_CapacityAndSaleBudgeChartElement_GlobalOTDTable_GlobalOTDTable_Capa.qbl
ÎļþÒÑɾ³ý
_Main/BL/Relations/Relation_CapacityAndSaleBudgeChartRow_GlobalOTDSOP_GlobalOTDSOP_CapacityAndS.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation CapacityAndSaleBudgeChartRow_GlobalOTDSOP_GlobalOTDSOP_CapacityAndSaleBudgeChartRow
{
  #keys: '1[414384.0.996881297]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide GlobalOTDSOP
  {
    #keys: '3[414384.0.996881299][414384.0.996881298][414384.0.996881300]'
    Cardinality: '0to1'
    ObjectDefinition: CapacityAndSaleBudgeChartRow
    OwningSide: 'Reference'
  }
  RelationSide.RightSide CapacityAndSaleBudgeChartRow
  {
    #keys: '3[414384.0.996881302][414384.0.996881301][414384.0.996881303]'
    Cardinality: '1toN'
    ObjectDefinition: GlobalOTDSOP
    OwningSide: 'Owned'
  }
}
_Main/BL/Relations/Relation_CapacityAndSaleBudgeChartRow_GlobalOTDTable_GlobalOTDTable_Capacity.qbl
ÎļþÒÑɾ³ý
_Main/BL/Relations/Relation_CapacityAndSaleBudgeCompareItemColumn_GlobalOTDSOP_GlobalOTDSOP_Cap.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
Quintiq file version 2.0
#parent: #root
Relation CapacityAndSaleBudgeCompareItemColumn_GlobalOTDSOP_GlobalOTDSOP_CapacityAndSaleBudgeCompareItemColumn
{
  #keys: '1[414384.0.996881443]'
  ProceduralSequenceRelationStrategy
  {
    #keys: '13[0.0.0][414384.0.996881465][414384.0.996881459][414384.0.996881466][414384.0.996881460][414384.0.996881467][414384.0.996881461][414384.0.996881468][414384.0.996881462][414384.0.996881469][414384.0.996881463][414384.0.996881470][414384.0.996881464]'
  }
  RelationSide.LeftSide GlobalOTDSOP
  {
    #keys: '3[414384.0.996881445][414384.0.996881444][414384.0.996881446]'
    Cardinality: '0to1'
    ObjectDefinition: CapacityAndSaleBudgeCompareItemColumn
    OwningSide: 'Reference'
  }
  RelationSide.RightSide CapacityAndSaleBudgeCompareItemColumn
  {
    #keys: '3[414384.0.996881448][414384.0.996881447][414384.0.996881449]'
    Cardinality: '1toN'
    ObjectDefinition: GlobalOTDSOP
    OwningSide: 'Owned'
  }
}
_Main/BL/Relations/Relation_CapacityAndSaleBudgeCompareItemColumn_GlobalOTDTable_GlobalOTDTable.qbl
ÎļþÒÑɾ³ý
_Main/BL/Relations/Relation_CapacityAndSaleBudgeCompareItemRow_GlobalOTDSOP_GlobalOTDSOP_Capaci.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation CapacityAndSaleBudgeCompareItemRow_GlobalOTDSOP_GlobalOTDSOP_CapacityAndSaleBudgeCompareItemRow
{
  #keys: '1[414384.0.996881317]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide GlobalOTDSOP
  {
    #keys: '3[414384.0.996881319][414384.0.996881318][414384.0.996881320]'
    Cardinality: '0to1'
    ObjectDefinition: CapacityAndSaleBudgeCompareItemRow
    OwningSide: 'Reference'
  }
  RelationSide.RightSide CapacityAndSaleBudgeCompareItemRow
  {
    #keys: '3[414384.0.996881322][414384.0.996881321][414384.0.996881323]'
    Cardinality: '1toN'
    ObjectDefinition: GlobalOTDSOP
    OwningSide: 'Owned'
  }
}
_Main/BL/Relations/Relation_CapacityAndSaleBudgeCompareItemRow_GlobalOTDTable_GlobalOTDTable_Ca.qbl
ÎļþÒÑɾ³ý
_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterBusinessType_GlobalOTDSOP_GlobalOTDSOP_Ca.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation CapacityAndSaleBudgeFilterBusinessType_GlobalOTDSOP_GlobalOTDSOP_CapacityAndSaleBudgeFilterBusinessType
{
  #keys: '1[414384.0.996881340]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide GlobalOTDSOP
  {
    #keys: '3[414384.0.996881342][414384.0.996881341][414384.0.996881343]'
    Cardinality: '0to1'
    ObjectDefinition: CapacityAndSaleBudgeFilterBusinessType
    OwningSide: 'Reference'
  }
  RelationSide.RightSide CapacityAndSaleBudgeFilterBusinessType
  {
    #keys: '3[414384.0.996881345][414384.0.996881344][414384.0.996881346]'
    Cardinality: '1toN'
    ObjectDefinition: GlobalOTDSOP
    OwningSide: 'Owned'
  }
}
_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterBusinessType_GlobalOTDTable_GlobalOTDTabl.qbl
ÎļþÒÑɾ³ý
_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterItem_GlobalOTDSOP_GlobalOTDSOP_CapacityAn.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation CapacityAndSaleBudgeFilterItem_GlobalOTDSOP_GlobalOTDSOP_CapacityAndSaleBudgeFilterItem
{
  #keys: '1[414384.0.996881358]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide GlobalOTDSOP
  {
    #keys: '3[414384.0.996881360][414384.0.996881359][414384.0.996881361]'
    Cardinality: '0to1'
    ObjectDefinition: CapacityAndSaleBudgeFilterItem
    OwningSide: 'Reference'
  }
  RelationSide.RightSide CapacityAndSaleBudgeFilterItem
  {
    #keys: '3[414384.0.996881363][414384.0.996881362][414384.0.996881364]'
    Cardinality: '1toN'
    ObjectDefinition: GlobalOTDSOP
    OwningSide: 'Owned'
  }
}
_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterItem_GlobalOTDTable_GlobalOTDTable_Capaci.qbl
ÎļþÒÑɾ³ý
_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterMonth_GlobalOTDSOP_GlobalOTDSOP_CapacityA.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation CapacityAndSaleBudgeFilterMonth_GlobalOTDSOP_GlobalOTDSOP_CapacityAndSaleBudgeFilterMonth
{
  #keys: '1[414384.0.996881381]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide GlobalOTDSOP
  {
    #keys: '3[414384.0.996881383][414384.0.996881382][414384.0.996881384]'
    Cardinality: '0to1'
    ObjectDefinition: CapacityAndSaleBudgeFilterMonth
    OwningSide: 'Reference'
  }
  RelationSide.RightSide CapacityAndSaleBudgeFilterMonth
  {
    #keys: '3[414384.0.996881386][414384.0.996881385][414384.0.996881387]'
    Cardinality: '1toN'
    ObjectDefinition: GlobalOTDSOP
    OwningSide: 'Owned'
  }
}
_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterMonth_GlobalOTDTable_GlobalOTDTable_Capac.qbl
ÎļþÒÑɾ³ý
_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray_GlobalOTDSOP_Glo.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation CapacityAndSaleBudgeFilterPlaceOfProductionOfArray_GlobalOTDSOP_GlobalOTDSOP_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray
{
  #keys: '1[414384.0.996881401]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide GlobalOTDSOP
  {
    #keys: '3[414384.0.996881403][414384.0.996881402][414384.0.996881404]'
    Cardinality: '0to1'
    ObjectDefinition: CapacityAndSaleBudgeFilterPlaceOfProductionOfArray
    OwningSide: 'Reference'
  }
  RelationSide.RightSide CapacityAndSaleBudgeFilterPlaceOfProductionOfArray
  {
    #keys: '3[414384.0.996881406][414384.0.996881405][414384.0.996881407]'
    Cardinality: '1toN'
    ObjectDefinition: GlobalOTDSOP
    OwningSide: 'Owned'
  }
}
_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray_GlobalOTDTable_G.qbl
ÎļþÒÑɾ³ý
_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterYear_GlobalOTDSOP_GlobalOTDSOP_CapacityAn.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation CapacityAndSaleBudgeFilterYear_GlobalOTDSOP_GlobalOTDSOP_CapacityAndSaleBudgeFilterYear
{
  #keys: '1[414384.0.996881421]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide GlobalOTDSOP
  {
    #keys: '3[414384.0.996881423][414384.0.996881422][414384.0.996881424]'
    Cardinality: '0to1'
    ObjectDefinition: CapacityAndSaleBudgeFilterYear
    OwningSide: 'Reference'
  }
  RelationSide.RightSide CapacityAndSaleBudgeFilterYear
  {
    #keys: '3[414384.0.996881426][414384.0.996881425][414384.0.996881427]'
    Cardinality: '1toN'
    ObjectDefinition: GlobalOTDSOP
    OwningSide: 'Owned'
  }
}
_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterYear_GlobalOTDTable_GlobalOTDTable_Capaci.qbl
ÎļþÒÑɾ³ý
_Main/BL/Relations/Relation_PRHistoryData_GlobalOTDSOP_GlobalOTDSOP_PRHistoryData.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation PRHistoryData_GlobalOTDSOP_GlobalOTDSOP_PRHistoryData
{
  #keys: '1[414384.0.999194777]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide GlobalOTDSOP
  {
    #keys: '3[414384.0.999194779][414384.0.999194778][414384.0.999194780]'
    Cardinality: '0to1'
    ObjectDefinition: PRHistoryData
    OwningSide: 'Reference'
  }
  RelationSide.RightSide PRHistoryData
  {
    #keys: '3[414384.0.999194782][414384.0.999194781][414384.0.999194783]'
    Cardinality: '1toN'
    ObjectDefinition: GlobalOTDSOP
    OwningSide: 'Owned'
  }
}
_Main/BL/Relations/Relation_PRHistoryData_GlobalOTDTable_GlobalOTDTable_PRHistoryData.qbl
ÎļþÒÑɾ³ý
_Main/BL/Relations/Relation_YuxTest_MPSync_MPSync_YuxTest.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_TestData.qbl
@@ -1,7 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod TestData (
  GlobalOTDTable parent
  GlobalOTDSOP parent
)
{
  Description: '生成测试数据'
@@ -12,7 +12,6 @@
    info( "生成年度产销预算报表测试数据" )
    
    parent.CapacityAndSaleBudgeChartElement( relflush );
    for( sc := 0; sc < 4; sc := sc + 1 ) {
      scenarioName := "SC" + [String]sc;
      for( i := 0; i < 4; i := i + 1 ) {
@@ -20,9 +19,9 @@
        for( j := 1; j <= 12; j := j + 1 ) {
          monthString := "MONTH" + ifexpr( j < 10, "0" + [String]j, [String]j );
          parent.CapacityAndSaleBudgeChartElement( relnew, 
                                                            BusinessTypeOrPlaceOfProductionOfArray := businessTypeString,
                                                            TimeStringAndScenarioName := monthString + " - " + scenarioName,
                                                            Quantity := Real::Random( 20.0, 30.0 ) );
                                                   BusinessTypeOrPlaceOfProductionOfArray := businessTypeString,
                                                   TimeStringAndScenarioName := monthString + " - " + scenarioName,
                                                   Quantity := Real::Random( 20.0, 30.0 ) );
        }
      }
    }
_Main/BL/Type_CapacityAndSaleBudgeChartRow/StaticMethod_CreateIfNotExist.qbl
@@ -1,7 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateIfNotExist (
  GlobalOTDTable parent,
  GlobalOTDSOP parent,
  String businessType,
  String placeOfProductionOfArray
) as CapacityAndSaleBudgeChartRow
_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/StaticMethod_CreateIfNotExist.qbl
@@ -1,7 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateIfNotExist (
  GlobalOTDTable parent,
  GlobalOTDSOP parent,
  String columnName
) as CapacityAndSaleBudgeCompareItemColumn
{
_Main/BL/Type_CapacityAndSaleBudgeCompareItemRow/StaticMethod_CreateIfNotExist.qbl
@@ -1,7 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateIfNotExist (
  GlobalOTDTable parent,
  GlobalOTDSOP parent,
  String businessType,
  String placeOfProductionOfArray
) as CapacityAndSaleBudgeCompareItemRow
_Main/BL/Type_CapacityAndSaleBudgeFilterBusinessType/StaticMethod_CreateIfNotExist.qbl
@@ -1,7 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateIfNotExist (
  GlobalOTDTable parent,
  GlobalOTDSOP parent,
  String value
)
{
_Main/BL/Type_CapacityAndSaleBudgeFilterItem/StaticMethod_CreateIfNotExist.qbl
@@ -1,7 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateIfNotExist (
  GlobalOTDTable parent,
  GlobalOTDSOP parent,
  String itemName
)
{
_Main/BL/Type_CapacityAndSaleBudgeFilterItem/StaticMethod_Initial.qbl
@@ -1,7 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod Initial (
  GlobalOTDTable parent
  GlobalOTDSOP parent
)
{
  Description: '初始化对比项'
_Main/BL/Type_CapacityAndSaleBudgeFilterMonth/StaticMethod_Initial.qbl
@@ -1,7 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod Initial (
  GlobalOTDTable parent
  GlobalOTDSOP parent
)
{
  Description: '初始化年份'
_Main/BL/Type_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray/StaticMethod_CreateIfNotExist.qbl
@@ -1,7 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateIfNotExist (
  GlobalOTDTable parent,
  GlobalOTDSOP parent,
  String value
)
{
_Main/BL/Type_CapacityAndSaleBudgeFilterYear/StaticMethod_Initial.qbl
@@ -1,7 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod Initial (
  GlobalOTDTable parent
  GlobalOTDSOP parent
)
{
  Description: '初始化年份'
_Main/BL/Type_GlobalDTOTable/Method_RefreshCapacityAndSaleBudgeFilter.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeChart.qbl
_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeCompare.qbl
ÎļþÃû´Ó _Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgeCompare.qbl ÐÞ¸Ä
@@ -5,7 +5,7 @@
  CapacityAndSaleBudgeFilterItems items,
  CapacityAndSaleBudgeFilterYears years,
  CapacityAndSaleBudgeFilterMonths months,
  GlobalOTDTable otdTable
  const GlobalOTDTable otdTable
)
{
  Description: 'todo : mappingParent改为mpSync, random删了'
@@ -35,7 +35,7 @@
    this.CapacityAndSaleBudgeCompareItemRow( relflush );
    this.CapacityAndSaleBudgeCompareItemColumn( relflush );
    // ====汇总所有出现的产品====
    historyData := selectset( this, Global_MappingAnnualBudgetData, item, true );
    historyData := selectset( otdTable, Global_MappingAnnualBudgetData, item, true );
    debuginfo( "historyData : " + [String]historyData.Size() );
    
    traverse( historyData, Elements, one ) {
@@ -77,14 +77,14 @@
        traverse( months, Elements, month ) {
          columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "面板分配量-" + [String]year.YearNo() + "å¹´-" + [String]month.MonthNo() + "月-年度预算" );
          traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
            cellReal := Global_MappingForecast::GetQuantityByMonth( row.GetProductCodes(), this, DateTime::Now().Year(), month.MonthNo() );
            cellReal := Global_MappingForecast::GetQuantityByMonth( row.GetProductCodes(), otdTable, DateTime::Now().Year(), month.MonthNo() );
            cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
            cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
          }
        }
        columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "面板分配量-" + [String]year.YearNo() + "å¹´-total-年度预算" );
        traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
          cellReal := Global_MappingForecast::GetQuantityByYear( row.GetProductCodes(), this, year.YearNo() );
          cellReal := Global_MappingForecast::GetQuantityByYear( row.GetProductCodes(), otdTable, year.YearNo() );
          cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
          cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
        }
@@ -120,14 +120,14 @@
        traverse( months, Elements, month ) {
          columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "对外销售额-" + [String]year.YearNo() + "å¹´-" + [String]month.MonthNo() + "月-年度预算" );
          traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
            cellReal := Global_MappingAnnualBudgetData::GetSaleByMonth( row.GetProductCodes(), this, year.YearNo(), month.MonthNo() );
            cellReal := Global_MappingAnnualBudgetData::GetSaleByMonth( row.GetProductCodes(), otdTable, year.YearNo(), month.MonthNo() );
            cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
            cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
          }
        }
        columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "对外销售额-" + [String]year.YearNo() + "å¹´-年度预算" );
        traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
          cellReal := Global_MappingAnnualBudgetData::GetSaleByYear( row.GetProductCodes(), this, year.YearNo() );
          cellReal := Global_MappingAnnualBudgetData::GetSaleByYear( row.GetProductCodes(), otdTable, year.YearNo() );
          cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
          cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
        }
_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeCompareExport.qbl
_Main/BL/Type_GlobalOTDSOP/StaticMethod_RefreshCapacityAndSaleBudgeFilter.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
Quintiq file version 2.0
#parent: #root
StaticMethod RefreshCapacityAndSaleBudgeFilter (
  Boolean deleteBeforeCreate,
  const GlobalOTDTable otdTable,
  GlobalOTDSOP otdSop
)
{
  TextBody:
  [*
    // yypsybs Oct-17-2023 (created)
    if( deleteBeforeCreate ) {
      otdSop.CapacityAndSaleBudgeFilterBusinessType( relflush );
      otdSop.CapacityAndSaleBudgeFilterPlaceOfProductionOfArray( relflush );
    }
    // yypsybs Sep-21-2023 (created)
    debuginfo( "=====RefreshCapacityAndSaleBudgeFilter====" );
    businessTypes := selectuniquevalues( otdTable, Global_MappingAnnualBudgetData, item, item.BusinessType() );
    debuginfo( [String]businessTypes.Size() );
    traverse( businessTypes, Elements, businessType ) {
      CapacityAndSaleBudgeFilterBusinessType::CreateIfNotExist( otdSop, businessType );
    }
    placeOfProductionOfArrays := selectuniquevalues( otdTable, Global_MappingAnnualBudgetData, item, item.OrgCodeFromBom() );
    debuginfo( [String]placeOfProductionOfArrays.Size() );
    traverse( placeOfProductionOfArrays, Elements, placeOfProductionOfArray ) {
      CapacityAndSaleBudgeFilterPlaceOfProductionOfArray::CreateIfNotExist( otdSop, placeOfProductionOfArray );
    }
  *]
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Method_GetCapacityInPCSInYear.qbl
@@ -1,15 +1,23 @@
Quintiq file version 2.0
#parent: #root
Method GetCapacityInPCSInYear () as Real
Method GetCapacityInPCSInYear () const as Real
{
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    result := 0.0;
    for( i := 1; i <= 12; i := i + 1 ) {
      field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlyModCapacity" + [String]i );
      result := result + [Real]field.GetString( this );
    }
    result := result + [Real]this.MonthlyModCapacity1();
    result := result + [Real]this.MonthlyModCapacity2();
    result := result + [Real]this.MonthlyModCapacity3();
    result := result + [Real]this.MonthlyModCapacity4();
    result := result + [Real]this.MonthlyModCapacity5();
    result := result + [Real]this.MonthlyModCapacity6();
    result := result + [Real]this.MonthlyModCapacity7();
    result := result + [Real]this.MonthlyModCapacity8();
    result := result + [Real]this.MonthlyModCapacity9();
    result := result + [Real]this.MonthlyModCapacity10();
    result := result + [Real]this.MonthlyModCapacity11();
    result := result + [Real]this.MonthlyModCapacity12();
    return result;
  *]
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Method_GetCapacityInSheetInHalfYear.qbl
@@ -2,17 +2,27 @@
#parent: #root
Method GetCapacityInSheetInHalfYear (
  Number halfNo
) as Real
) const as Real
{
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    result := 0.0;
    fromMonth := 1 + ( halfNo - 1 ) * 6;
    toMonth := 6 + ( halfNo - 1 ) * 6;
    for( i := fromMonth; i <= toMonth; i := i + 1 ) {
      field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySheetCapacity" + [String]i );
      result := result + [Real]field.GetString( this );
    if( halfNo = 1 ) {
      result := result + [Real]this.MonthlySheetCapacity1();
      result := result + [Real]this.MonthlySheetCapacity2();
      result := result + [Real]this.MonthlySheetCapacity3();
      result := result + [Real]this.MonthlySheetCapacity4();
      result := result + [Real]this.MonthlySheetCapacity5();
      result := result + [Real]this.MonthlySheetCapacity6();
    }
    if( halfNo = 2 ) {
      result := result + [Real]this.MonthlySheetCapacity7();
      result := result + [Real]this.MonthlySheetCapacity8();
      result := result + [Real]this.MonthlySheetCapacity9();
      result := result + [Real]this.MonthlySheetCapacity10();
      result := result + [Real]this.MonthlySheetCapacity11();
      result := result + [Real]this.MonthlySheetCapacity12();
    }
    return result;
  *]
_Main/BL/Type_Global_MappingAnnualBudgetData/Method_GetCapacityInSheetInSeason.qbl
@@ -2,17 +2,31 @@
#parent: #root
Method GetCapacityInSheetInSeason (
  Number seasonNo
) as Real
) const as Real
{
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    result := 0.0;
    fromMonth := 1 + ( seasonNo - 1 ) * 3;
    toMonth := 3 + ( seasonNo - 1 ) * 3;
    for( i := fromMonth; i <= toMonth; i := i + 1 ) {
      field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySheetCapacity" + [String]i );
      result := result + [Real]field.GetString( this );
    if( seasonNo = 1 ) {
      result := result + [Real]this.MonthlySheetCapacity1();
      result := result + [Real]this.MonthlySheetCapacity2();
      result := result + [Real]this.MonthlySheetCapacity3();
    }
    if( seasonNo = 2 ) {
      result := result + [Real]this.MonthlySheetCapacity4();
      result := result + [Real]this.MonthlySheetCapacity5();
      result := result + [Real]this.MonthlySheetCapacity6();
    }
    if( seasonNo = 3 ) {
      result := result + [Real]this.MonthlySheetCapacity7();
      result := result + [Real]this.MonthlySheetCapacity8();
      result := result + [Real]this.MonthlySheetCapacity9();
    }
    if( seasonNo = 4 ) {
      result := result + [Real]this.MonthlySheetCapacity10();
      result := result + [Real]this.MonthlySheetCapacity11();
      result := result + [Real]this.MonthlySheetCapacity12();
    }
    return result;
  *]
_Main/BL/Type_Global_MappingAnnualBudgetData/Method_GetCapacityInSheetInYear.qbl
@@ -1,15 +1,23 @@
Quintiq file version 2.0
#parent: #root
Method GetCapacityInSheetInYear () as Real
Method GetCapacityInSheetInYear () const as Real
{
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    result := 0.0;
    for( i := 1; i <= 12; i := i + 1 ) {
      field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySheetCapacity" + [String]i );
      result := result + [Real]field.GetString( this );
    }
    result := result + [Real]this.MonthlySheetCapacity1();
    result := result + [Real]this.MonthlySheetCapacity2();
    result := result + [Real]this.MonthlySheetCapacity3();
    result := result + [Real]this.MonthlySheetCapacity4();
    result := result + [Real]this.MonthlySheetCapacity5();
    result := result + [Real]this.MonthlySheetCapacity6();
    result := result + [Real]this.MonthlySheetCapacity7();
    result := result + [Real]this.MonthlySheetCapacity8();
    result := result + [Real]this.MonthlySheetCapacity9();
    result := result + [Real]this.MonthlySheetCapacity10();
    result := result + [Real]this.MonthlySheetCapacity11();
    result := result + [Real]this.MonthlySheetCapacity12();
    return result;
  *]
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Method_GetSaleAmountInHalfYear.qbl
@@ -2,17 +2,27 @@
#parent: #root
Method GetSaleAmountInHalfYear (
  Number halfNo
) as Real
) const as Real
{
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    result := 0.0;
    fromMonth := 1 + ( halfNo - 1 ) * 6;
    toMonth := 6 + ( halfNo - 1 ) * 6;
    for( i := fromMonth; i <= toMonth; i := i + 1 ) {
      field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySales" + [String]i );
      result := result + [Real]field.GetString( this );
    if( halfNo = 1 ) {
      result := result + [Real]this.MonthlySales1();
      result := result + [Real]this.MonthlySales2();
      result := result + [Real]this.MonthlySales3();
      result := result + [Real]this.MonthlySales4();
      result := result + [Real]this.MonthlySales5();
      result := result + [Real]this.MonthlySales6();
    }
    if( halfNo = 2 ) {
      result := result + [Real]this.MonthlySales7();
      result := result + [Real]this.MonthlySales8();
      result := result + [Real]this.MonthlySales9();
      result := result + [Real]this.MonthlySales10();
      result := result + [Real]this.MonthlySales11();
      result := result + [Real]this.MonthlySales12();
    }
    return result;
  *]
_Main/BL/Type_Global_MappingAnnualBudgetData/Method_GetSaleAmountInSeason#000.qbl
@@ -2,17 +2,31 @@
#parent: #root
Method GetSaleAmountInSeason (
  Number seasonNo
) as Real
) const as Real
{
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    result := 0.0;
    fromMonth := 1 + ( seasonNo - 1 ) * 3;
    toMonth := 3 + ( seasonNo - 1 ) * 3;
    for( i := fromMonth; i <= toMonth; i := i + 1 ) {
      field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySales" + [String]i );
      result := result + [Real]field.GetString( this );
    if( seasonNo = 1 ) {
      result := result + [Real]this.MonthlySales1();
      result := result + [Real]this.MonthlySales2();
      result := result + [Real]this.MonthlySales3();
    }
    if( seasonNo = 2 ) {
      result := result + [Real]this.MonthlySales4();
      result := result + [Real]this.MonthlySales5();
      result := result + [Real]this.MonthlySales6();
    }
    if( seasonNo = 3 ) {
      result := result + [Real]this.MonthlySales7();
      result := result + [Real]this.MonthlySales8();
      result := result + [Real]this.MonthlySales9();
    }
    if( seasonNo = 4 ) {
      result := result + [Real]this.MonthlySales10();
      result := result + [Real]this.MonthlySales11();
      result := result + [Real]this.MonthlySales12();
    }
    return result;
  *]
_Main/BL/Type_Global_MappingAnnualBudgetData/Method_GetSaleAmountInYear.qbl
@@ -1,15 +1,23 @@
Quintiq file version 2.0
#parent: #root
Method GetSaleAmountInYear () as Real
Method GetSaleAmountInYear () const as Real
{
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    result := 0.0;
    for( i := 1; i <= 12; i := i + 1 ) {
      field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySales" + [String]i );
      result := result + [Real]field.GetString( this );
    }
    result := result + [Real]this.MonthlySales1();
    result := result + [Real]this.MonthlySales2();
    result := result + [Real]this.MonthlySales3();
    result := result + [Real]this.MonthlySales4();
    result := result + [Real]this.MonthlySales5();
    result := result + [Real]this.MonthlySales6();
    result := result + [Real]this.MonthlySales7();
    result := result + [Real]this.MonthlySales8();
    result := result + [Real]this.MonthlySales9();
    result := result + [Real]this.MonthlySales10();
    result := result + [Real]this.MonthlySales11();
    result := result + [Real]this.MonthlySales12();
    return result;
  *]
}
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_GetSaleByHalfYear.qbl
@@ -5,7 +5,7 @@
  GlobalOTDTable parent,
  Number yearNo,
  Number halfNo
) as Real
) const as Real
{
  Description: '产能 - å®žæ•°å¤§å¼ '
  TextBody:
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_GetSaleByMonth.qbl
@@ -2,21 +2,100 @@
#parent: #root
StaticMethod GetSaleByMonth (
  Strings productNo,
  GlobalOTDTable parent,
  const GlobalOTDTable parent,
  Number yearNo,
  Number monthNo
) as Real
) const as Real
{
  Description: '销售额(W)'
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySales" + [String]monthNo );
    value := sum( parent,
                  Global_MappingAnnualBudgetData,
                  item,
                  item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                  [Real]field.GetString( item ) );
    value := 0.0;
    if( monthNo = 1 ) {
      value := sum( parent,
                    Global_MappingAnnualBudgetData,
                    item,
                    item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                    [Real]item.MonthlySales1() );
    }
    if( monthNo = 2 ) {
      value := sum( parent,
                    Global_MappingAnnualBudgetData,
                    item,
                    item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                    [Real]item.MonthlySales2() );
    }
    if( monthNo = 3 ) {
      value := sum( parent,
                    Global_MappingAnnualBudgetData,
                    item,
                    item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                    [Real]item.MonthlySales3() );
    }
    if( monthNo = 4 ) {
      value := sum( parent,
                    Global_MappingAnnualBudgetData,
                    item,
                    item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                    [Real]item.MonthlySales4() );
    }
    if( monthNo = 5 ) {
      value := sum( parent,
                    Global_MappingAnnualBudgetData,
                    item,
                    item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                    [Real]item.MonthlySales5() );
    }
    if( monthNo = 6 ) {
      value := sum( parent,
                    Global_MappingAnnualBudgetData,
                    item,
                    item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                    [Real]item.MonthlySales6() );
    }
    if( monthNo = 7 ) {
      value := sum( parent,
                    Global_MappingAnnualBudgetData,
                    item,
                    item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                    [Real]item.MonthlySales7() );
    }
    if( monthNo = 8 ) {
      value := sum( parent,
                    Global_MappingAnnualBudgetData,
                    item,
                    item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                    [Real]item.MonthlySales8() );
    }
    if( monthNo = 9 ) {
      value := sum( parent,
                    Global_MappingAnnualBudgetData,
                    item,
                    item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                    [Real]item.MonthlySales9() );
    }
    if( monthNo = 10 ) {
      value := sum( parent,
                    Global_MappingAnnualBudgetData,
                    item,
                    item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                    [Real]item.MonthlySales10() );
    }
    if( monthNo = 11 ) {
      value := sum( parent,
                    Global_MappingAnnualBudgetData,
                    item,
                    item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                    [Real]item.MonthlySales11() );
    }
    if( monthNo = 12 ) {
      value := sum( parent,
                    Global_MappingAnnualBudgetData,
                    item,
                    item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                    [Real]item.MonthlySales12() );
    }
    return value;
  *]
}
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_GetSaleBySeason.qbl
@@ -5,7 +5,7 @@
  GlobalOTDTable parent,
  Number yearNo,
  Number seasonNo
) as Real
) const as Real
{
  Description: '产能 - å®žæ•°å¤§å¼ '
  TextBody:
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_GetSaleByYear.qbl
@@ -2,9 +2,9 @@
#parent: #root
StaticMethod GetSaleByYear (
  Strings productNo,
  GlobalOTDTable parent,
  const GlobalOTDTable parent,
  Number yearNo
) as Real
) const as Real
{
  Description: '销售额(W)'
  TextBody:
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_GetSheetByHalfYear.qbl
@@ -5,7 +5,7 @@
  GlobalOTDTable parent,
  Number yearNo,
  Number halfNo
) as Real
) const as Real
{
  Description: '产能 - å®žæ•°å¤§å¼ '
  TextBody:
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_GetSheetByMonth.qbl
@@ -5,18 +5,97 @@
  GlobalOTDTable parent,
  Number yearNo,
  Number monthNo
) as Real
) const as Real
{
  Description: '产能-实数大张'
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySheetCapacity" + [String]monthNo );
    value := sum( parent,
                  Global_MappingAnnualBudgetData,
                  item,
                  item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                  [Real]field.GetString( item ) );
    value := 0.0;
    if( monthNo = 1 ) {
      value := sum( parent,
                    Global_MappingAnnualBudgetData,
                    item,
                    item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                    [Real]item.MonthlySheetCapacity1() );
    }
    if( monthNo = 2 ) {
      value := sum( parent,
                    Global_MappingAnnualBudgetData,
                    item,
                    item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                    [Real]item.MonthlySheetCapacity2() );
    }
    if( monthNo = 3 ) {
      value := sum( parent,
                    Global_MappingAnnualBudgetData,
                    item,
                    item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                    [Real]item.MonthlySheetCapacity3() );
    }
    if( monthNo = 4 ) {
      value := sum( parent,
                    Global_MappingAnnualBudgetData,
                    item,
                    item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                    [Real]item.MonthlySheetCapacity4() );
    }
    if( monthNo = 5 ) {
      value := sum( parent,
                    Global_MappingAnnualBudgetData,
                    item,
                    item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                    [Real]item.MonthlySheetCapacity5() );
    }
    if( monthNo = 6 ) {
      value := sum( parent,
                    Global_MappingAnnualBudgetData,
                    item,
                    item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                    [Real]item.MonthlySheetCapacity6() );
    }
    if( monthNo = 7 ) {
      value := sum( parent,
                    Global_MappingAnnualBudgetData,
                    item,
                    item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                    [Real]item.MonthlySheetCapacity7() );
    }
    if( monthNo = 8 ) {
      value := sum( parent,
                    Global_MappingAnnualBudgetData,
                    item,
                    item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                    [Real]item.MonthlySheetCapacity8() );
    }
    if( monthNo = 9 ) {
      value := sum( parent,
                    Global_MappingAnnualBudgetData,
                    item,
                    item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                    [Real]item.MonthlySheetCapacity9() );
    }
    if( monthNo = 10 ) {
      value := sum( parent,
                    Global_MappingAnnualBudgetData,
                    item,
                    item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                    [Real]item.MonthlySheetCapacity10() );
    }
    if( monthNo = 11 ) {
      value := sum( parent,
                    Global_MappingAnnualBudgetData,
                    item,
                    item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                    [Real]item.MonthlySheetCapacity11() );
    }
    if( monthNo = 12 ) {
      value := sum( parent,
                    Global_MappingAnnualBudgetData,
                    item,
                    item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                    [Real]item.MonthlySheetCapacity12() );
    }
    return value;
  *]
}
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_GetSheetBySeason.qbl
@@ -5,7 +5,7 @@
  GlobalOTDTable parent,
  Number yearNo,
  Number seasonNo
) as Real
) const as Real
{
  Description: '产能 - å®žæ•°å¤§å¼ '
  TextBody:
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_GetSheetByYear.qbl
@@ -4,7 +4,7 @@
  Strings productNo,
  GlobalOTDTable parent,
  Number yearNo
) as Real
) const as Real
{
  Description: '产能 - å®žæ•°å¤§å¼ '
  TextBody:
_Main/BL/Type_Global_MappingForecast/StaticMethod_GetQuantityByMonth.qbl
@@ -2,7 +2,7 @@
#parent: #root
StaticMethod GetQuantityByMonth (
  Strings productCodes,
  GlobalOTDTable parent,
  const GlobalOTDTable parent,
  Number yearNo,
  Number monthNo
) as Real
_Main/BL/Type_Global_MappingForecast/StaticMethod_GetQuantityByYear.qbl
@@ -2,11 +2,10 @@
#parent: #root
StaticMethod GetQuantityByYear (
  Strings productCodes,
  GlobalOTDTable parent,
  const GlobalOTDTable parent,
  Number yearNo
) as Real
{
  Description: ''
  TextBody:
  [*
    // yypsybs Sep-19-2023 (created)
_Main/BL/Type_Global_MappingOperation/StaticMethod_GetByProductId.qbl
@@ -1,9 +1,9 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetByProductId (
  GlobalOTDTable otdTable,
  const GlobalOTDTable otdTable,
  String productId
) as Global_MappingOperation
) as const Global_MappingOperation
{
  TextBody:
  [*
_Main/BL/Type_Global_MappingProduct_MP/StaticMethod_GetByProductId.qbl
@@ -1,9 +1,9 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetByProductId (
  GlobalOTDTable parent,
  const GlobalOTDTable parent,
  String productId
) as Global_MappingProduct_MP
) as const Global_MappingProduct_MP
{
  Description: '根据料号查记录'
  TextBody:
_Main/BL/Type_Global_MappingProviderCapacity/StaticMethod_GetByProductId.qbl
@@ -1,13 +1,14 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetByProductId (
  GlobalOTDTable parent,
  const GlobalOTDTable parent,
  String productId
) as Global_MappingProviderCapacity
) as const Global_MappingProviderCapacity
{
  TextBody:
  [*
    // yypsybs Oct-10-2023 (created)
    return select( parent, Global_MappingProviderCapacity, item, item.ProductID() = productId );
    value := select( parent, Global_MappingProviderCapacity, item, item.ProductID() = productId )
    return value;
  *]
}
_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_GetByMatCode.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetByMatCode (
  const GlobalOTDTable parent,
  String matCode
) as const MatAttrSettingAndPlanStrategy
{
  Description: '获取无法修改的'
  TextBody:
  [*
    // yypsybs Oct-17-2023 (created)
    value := select( parent, MatAttrSettingAndPlanStrategy, item, true, matCode = item.MatCode() );
    return value;
  *]
}
_Main/BL/Type_PRData/Method_DoCall.qbl
@@ -1,7 +1,8 @@
Quintiq file version 2.0
#parent: #root
Method DoCall (
  GlobalOTDTable globalData,
  const GlobalOTDTable globalData,
  GlobalOTDSOP otdSop,
  String callBy
) as PRHistoryData
{
@@ -9,7 +10,7 @@
  TextBody:
  [*
    // yypsybs Sep-11-2023 (created)
    result := globalData.PRHistoryData( relnew );
    result := otdSop.PRHistoryData( relnew );
    
    // ç…§æ¬éƒ¨åˆ†
    result.AuthorizationStatus( this.AuthorizationStatus() );
_Main/BL/Type_PRData/Method_PrintCall.qbl
@@ -1,14 +1,15 @@
Quintiq file version 2.0
#parent: #root
Method PrintCall (
  GlobalOTDTable globalData,
  const GlobalOTDTable globalData,
  GlobalOTDSOP otdSop,
  String callBy
) as String
{
  TextBody:
  [*
    // yypsybs Sep-11-2023 (created)
    result := globalData.PRHistoryData( relnew );
    result := otdSop.PRHistoryData( relnew );
    
    // ç…§æ¬éƒ¨åˆ†
    result.AuthorizationStatus( this.AuthorizationStatus() );
_Main/BL/Type_PRData/StaticMethod_DoCall.qbl
@@ -1,7 +1,8 @@
Quintiq file version 2.0
#parent: #root
StaticMethod DoCall (
  GlobalOTDTable globalData,
  const GlobalOTDTable globalData,
  GlobalOTDSOP otdSop,
  PRDatas toCalls,
  String callBy
)
@@ -13,7 +14,7 @@
    nowNo := 1;
    traverse( toCalls, Elements, toCall, toCall.PRReleaseStatus() = "" ) {
      info ( "DoCall " + [String]nowNo + "/" + [String]toCalls.Size() + " PR" );
      toCall.DoCall( globalData, callBy );
      toCall.DoCall( globalData, otdSop, callBy );
      nowNo := nowNo + 1;
    }
  *]
_Main/BL/Type_PRData/StaticMethod_FromSupplyPlanning#662.qbl
@@ -1,7 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod FromSupplyPlanning (
  GlobalOTDTable otdTable,
  const GlobalOTDTable otdTable,
  MacroPlan macroPlan,
  ProductInStockingPointInPeriod pispip,
  String userId
@@ -22,7 +22,9 @@
    mappingOperation := Global_MappingOperation::GetByProductId( otdTable, product.ID() );
    // QID15
    mappingProviderCapacity := Global_MappingProviderCapacity::GetByProductId( otdTable, product.ID() );
    matAttrSetting := MatAttrSettingAndPlanStrategy::GetExistByMatCode( otdTable, product.ID() );
    // ç‰©æ–™æ ‡ç­¾è®¾ç½®
    matAttrSetting := MatAttrSettingAndPlanStrategy::GetByMatCode( otdTable, product.ID() );
    
    // æ ¹æ®pispip
    result.MRPCalverNo( ifexpr( pispip.MRPCalverNo() = "", "暂无", pispip.MRPCalverNo() ) );
_Main/BL/Type_PRHistoryData/Method_PrintCall.qbl
@@ -7,7 +7,7 @@
  TextBody:
  [*
    // yypsybs Sep-20-2023 (created)
    result := this.GlobalOTDTable().PRHistoryData( relcopy, this );
    result := this.GlobalOTDSOP().PRHistoryData( relcopy, this );
    
    // æ›´æ–°éƒ¨åˆ†
    result.PRDataReleaseDate( Date::Today() );
_Main/BL/Type_PRHistoryData/Method_Recall.qbl
@@ -8,7 +8,7 @@
  TextBody:
  [*
    // yypsybs Sep-11-2023 (created)
    result := this.GlobalOTDTable().PRHistoryData( relcopy, this );
    result := this.GlobalOTDSOP().PRHistoryData( relcopy, this );
    
    // æ›´æ–°éƒ¨åˆ†
    result.PRDataReleaseDate( Date::Today() );
_Main/BL/Type_PRHistoryData/StaticMethod_Export.qbl
@@ -1,7 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod Export (
  GlobalOTDTable parent
  GlobalOTDSOP parent
) as String
{
  TextBody:
_Main/BL/Type_YuxTest/Attribute_TestBoolean.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_YuxTest/Attribute_TestDate.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_YuxTest/Attribute_TestDateTime.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_YuxTest/Attribute_TestNumber.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_YuxTest/Attribute_TestReal.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_YuxTest/Attribute_TestString.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_YuxTest/StaticMethod_Export.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_YuxTest/StaticMethod_ExportTest#887.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_YuxTest/_ROOT_Type_YuxTest.qbl
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_MenuCall_OnClick.def
@@ -19,10 +19,10 @@
      productIdsOver14Days := PRData::ProductIdOver14Days( selection );
      if( productIdsOver14Days <> "" ) {
        if( WebMessageBox::Question( "该批次中的物料号" + productIdsOver14Days + "订单应该在2周后释放,请确认是否现在释放?(已释放的将被跳过)" ) = 0 ) {
          PRData::DoCall( GlobalOTDTable, selection, ApplicationMacroPlanner.GetUserName() );
          PRData::DoCall( GlobalOTDTable, GlobalOTDSOP, selection, ApplicationMacroPlanner.GetUserName() );
        }
      } else if( WebMessageBox::Question( "是否发送选中的数据?(已释放的将被跳过)" ) = 0 ) {
        PRData::DoCall( GlobalOTDTable, selection, ApplicationMacroPlanner.GetUserName() );
        PRData::DoCall( GlobalOTDTable, GlobalOTDSOP, selection, ApplicationMacroPlanner.GetUserName() );
      }
    *]
    GroupServerCalls: false
_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_MenuPrintRequest_OnClick#623.def
@@ -12,7 +12,7 @@
  {
    Body:
    [*
      info( selection.PrintCall( GlobalOTDTable, ApplicationMacroPlanner.GetUserName() ) )
      info( selection.PrintCall( GlobalOTDTable, GlobalOTDSOP, ApplicationMacroPlanner.GetUserName() ) )
    *]
    GroupServerCalls: false
  }
_Main/UI/MacroPlannerWebApp/Component_Form633/Response_PanelPRDataButton_ButtonSendPR_OnClick.def
@@ -16,10 +16,10 @@
      productIdsOver14Days := PRData::ProductIdOver14Days( DataHolderChecked.Data() );
      if( productIdsOver14Days <> "" ) {
        if( WebMessageBox::Question( "该批次中的物料号" + productIdsOver14Days + "订单应该在2周后释放,请确认是否现在释放?(已释放的将被跳过)" ) = 0 ) {
          PRData::DoCall( GlobalOTDTable, DataHolderChecked.Data(), ApplicationMacroPlanner.GetUserName() );
          PRData::DoCall( GlobalOTDTable, GlobalOTDSOP, DataHolderChecked.Data(), ApplicationMacroPlanner.GetUserName() );
        }
      } else if( WebMessageBox::Question( "是否发送选中的数据?(已释放的将被跳过)" ) = 0 ) {
        PRData::DoCall( GlobalOTDTable, DataHolderChecked.Data(), ApplicationMacroPlanner.GetUserName() );
        PRData::DoCall( GlobalOTDTable, GlobalOTDSOP, DataHolderChecked.Data(), ApplicationMacroPlanner.GetUserName() );
      }
    *]
    GroupServerCalls: false
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Component_ListCapacityAndSaleBudge.def
@@ -38,6 +38,6 @@
  ]
  Properties:
  [
    Taborder: 3
    Taborder: 2
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_ButtonExportTest_OnClick.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_ButtonGenerateTestData_OnClick.def
@@ -15,10 +15,10 @@
    [*
      GlobalOTDTable.InitTestDataByYear( MacroPlan, DataHolderCapacityAndSaleBudgeFilterYear.Data() );
      Global_MappingAnnualBudgetData::SetOrgCodeFromForecast( GlobalOTDTable );
      GlobalOTDTable.RefreshCapacityAndSaleBudgeFilter( true );
      CapacityAndSaleBudgeFilterItem::Initial( GlobalOTDTable );
      CapacityAndSaleBudgeFilterYear::Initial( GlobalOTDTable );
      CapacityAndSaleBudgeFilterMonth::Initial( GlobalOTDTable );
      GlobalOTDSOP::RefreshCapacityAndSaleBudgeFilter( true, GlobalOTDTable, GlobalOTDSOP );
      CapacityAndSaleBudgeFilterItem::Initial( GlobalOTDSOP );
      CapacityAndSaleBudgeFilterYear::Initial( GlobalOTDSOP );
      CapacityAndSaleBudgeFilterMonth::Initial( GlobalOTDSOP );
    *]
    GroupServerCalls: false
  }
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/_ROOT_Component_FormCapacityAndSaleBudge.def
@@ -19,18 +19,6 @@
        Taborder: 1
      ]
    }
    Component ButtonExportTest
    {
      #keys: '[414384.0.914711826]'
      BaseType: 'WebButton'
      Properties:
      [
        Image: 'EXPORT1'
        Label: '导出测试'
        Taborder: 2
        Visible: false
      ]
    }
    Component ButtonGenerateTestData
    {
      #keys: '[414384.0.971540693]'
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Component_ChartCapacityAndSaleBudgeChart.def
@@ -17,8 +17,8 @@
          BaseType: 'WebDataExtractor'
          Properties:
          [
            DataType: 'GlobalOTDTable'
            Source: 'GlobalOTDTable'
            DataType: 'GlobalOTDSOP'
            Source: 'GlobalOTDSOP'
            Taborder: 0
            Transformation: 'CapacityAndSaleBudgeChartElement'
          ]
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Response_ButtonCapacityAndSaleBudgeChartTest_OnClick.def
@@ -12,15 +12,15 @@
    [*
      //CapacityAndSaleBudgeChartElement::TestData( GlobalOTDTable );
      
      GlobalOTDTable.CapacityAndSaleBudgeChart( DataHolderMacroPlansForScenarioComparison.Data(),
                                                DropDownSaleOrCapacity.Text(),
                                                DropDownTimeGroup.Text(),
                                                DropDownByBusinessTypeOrByOrgCode.Text(),
                                                DataHolderCapacityAndSaleBudgeFilterBusinessType.Data(),
                                                DataHolderCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.Data(),
                                                DataHolderCapacityAndSaleBudgeFilterYear.Data(),
                                                DataHolderCapacityAndSaleBudgeFilterMonth.Data(),
                                                GlobalOTDTable );
      GlobalOTDSOP.CapacityAndSaleBudgeChart( DataHolderMacroPlansForScenarioComparison.Data(),
                                              DropDownSaleOrCapacity.Text(),
                                              DropDownTimeGroup.Text(),
                                              DropDownByBusinessTypeOrByOrgCode.Text(),
                                              DataHolderCapacityAndSaleBudgeFilterBusinessType.Data(),
                                              DataHolderCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.Data(),
                                              DataHolderCapacityAndSaleBudgeFilterYear.Data(),
                                              DataHolderCapacityAndSaleBudgeFilterMonth.Data(),
                                              GlobalOTDTable );
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Component_MatrixEditorCapacityAndSaleBudgeCompare.def
@@ -17,8 +17,8 @@
          BaseType: 'WebDataExtractor'
          Properties:
          [
            DataType: 'GlobalOTDTable'
            Source: 'GlobalOTDTable'
            DataType: 'GlobalOTDSOP'
            Source: 'GlobalOTDSOP'
            Taborder: 0
            Transformation: 'CapacityAndSaleBudgeCompareItemColumn.CapacityAndSaleBudgeCompareItemCell'
          ]
@@ -44,8 +44,8 @@
          BaseType: 'WebDataExtractor'
          Properties:
          [
            DataType: 'GlobalOTDTable'
            Source: 'GlobalOTDTable'
            DataType: 'GlobalOTDSOP'
            Source: 'GlobalOTDSOP'
            Taborder: 0
            Transformation: 'CapacityAndSaleBudgeCompareItemRow'
          ]
@@ -70,8 +70,8 @@
          BaseType: 'WebDataExtractor'
          Properties:
          [
            DataType: 'GlobalOTDTable'
            Source: 'GlobalOTDTable'
            DataType: 'GlobalOTDSOP'
            Source: 'GlobalOTDSOP'
            Taborder: 0
            Transformation: 'CapacityAndSaleBudgeCompareItemColumn'
          ]
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_ButtonCapacityAndSaleBudgeCompare_OnClick.def
@@ -14,11 +14,11 @@
      info( DataHolderCapacityAndSaleBudgeFilterItem.Data().Size() );
      info( DataHolderCapacityAndSaleBudgeFilterYear.Data().Size() );
      info( DataHolderCapacityAndSaleBudgeFilterMonth.Data().Size() );
      GlobalOTDTable.CapacityAndSaleBudgeCompare( DataHolderMacroPlansForScenarioComparison.Data(),
                                                  DataHolderCapacityAndSaleBudgeFilterItem.Data(),
                                                  DataHolderCapacityAndSaleBudgeFilterYear.Data(),
                                                  DataHolderCapacityAndSaleBudgeFilterMonth.Data(),
                                                  GlobalOTDTable );
      GlobalOTDSOP.CapacityAndSaleBudgeCompare( DataHolderMacroPlansForScenarioComparison.Data(),
                                                DataHolderCapacityAndSaleBudgeFilterItem.Data(),
                                                DataHolderCapacityAndSaleBudgeFilterYear.Data(),
                                                DataHolderCapacityAndSaleBudgeFilterMonth.Data(),
                                                GlobalOTDTable );
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_ButtonExportCompare_OnClick.def
@@ -13,8 +13,7 @@
  {
    Body:
    [*
      tableBinaryData := GlobalOTDTable.CapacityAndSaleBudgeCompareExport().AsBinaryData();
      Application.Download( "年度产销预算对比.xlsx", tableBinaryData );
      Application.Download( "年度产销预算对比.xlsx", GlobalOTDSOP.CapacityAndSaleBudgeCompareExport().AsBinaryData() );
    *]
    GroupServerCalls: false
  }
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Component_ListCapacityAndSaleBudgeFilterBusinessType.def
@@ -11,8 +11,8 @@
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'GlobalOTDTable'
        Source: 'GlobalOTDTable'
        DataType: 'GlobalOTDSOP'
        Source: 'GlobalOTDSOP'
        Taborder: 0
        Transformation: 'CapacityAndSaleBudgeFilterBusinessType'
      ]
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Response_listContextMenuCapacityAndSaleBudgeFilterYear_1_MenuRefresh_OnClick.def
@@ -10,7 +10,7 @@
  {
    Body:
    [*
      GlobalOTDTable.RefreshCapacityAndSaleBudgeFilter( true );
      GlobalOTDSOP::RefreshCapacityAndSaleBudgeFilter( true, GlobalOTDTable, GlobalOTDSOP );
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterItem/Component_ListCapacityAndSaleBudgeFilterItem.def
@@ -11,8 +11,8 @@
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'GlobalOTDTable'
        Source: 'GlobalOTDTable'
        DataType: 'GlobalOTDSOP'
        Source: 'GlobalOTDSOP'
        Taborder: 0
        Transformation: 'CapacityAndSaleBudgeFilterItem'
      ]
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterMonth/Component_ListCapacityAndSaleBudgeFilterMonth.def
@@ -11,8 +11,8 @@
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'GlobalOTDTable'
        Source: 'GlobalOTDTable'
        DataType: 'GlobalOTDSOP'
        Source: 'GlobalOTDSOP'
        Taborder: 0
        Transformation: 'CapacityAndSaleBudgeFilterMonth'
      ]
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Component_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.def
@@ -11,8 +11,8 @@
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'GlobalOTDTable'
        Source: 'GlobalOTDTable'
        DataType: 'GlobalOTDSOP'
        Source: 'GlobalOTDSOP'
        Taborder: 0
        Transformation: 'CapacityAndSaleBudgeFilterPlaceOfProductionOfArray'
      ]
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Response_listContextMenuCapacityAndSaleBudgeFilterYear_1_MenuRefresh_OnC#663.def
@@ -10,7 +10,7 @@
  {
    Body:
    [*
      GlobalOTDTable.RefreshCapacityAndSaleBudgeFilter( true );
      GlobalOTDSOP::RefreshCapacityAndSaleBudgeFilter( true, GlobalOTDTable, GlobalOTDSOP );
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterYear/Component_ListCapacityAndSaleBudgeFilterYear.def
@@ -11,8 +11,8 @@
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'GlobalOTDTable'
        Source: 'GlobalOTDTable'
        DataType: 'GlobalOTDSOP'
        Source: 'GlobalOTDSOP'
        Taborder: 0
        Transformation: 'CapacityAndSaleBudgeFilterYear'
      ]
_Main/UI/MacroPlannerWebApp/Component_FormPRHistoryData/Component_ListPRHistoryData#844.def
@@ -11,8 +11,8 @@
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'GlobalOTDTable'
        Source: 'GlobalOTDTable'
        DataType: 'GlobalOTDSOP'
        Source: 'GlobalOTDSOP'
        Taborder: 0
        Transformation: 'PRHistoryData'
      ]
_Main/UI/MacroPlannerWebApp/Component_FormPRHistoryData/Response_PanelPRHistoryButton_ButtonExportPRHistory_OnClick.def
@@ -13,7 +13,7 @@
  {
    Body:
    [*
      Application.Download( "PRHistoryData.xlsx", PRHistoryData::Export( GlobalOTDTable ) );
      Application.Download( "PRHistoryData.xlsx", PRHistoryData::Export( GlobalOTDSOP ) );
    *]
    GroupServerCalls: false
  }