Merge remote-tracking branch 'refs/remotes/origin/dev'
已重命名1个文件
已添加30个文件
已修改20个文件
已删除1个文件
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation GlobalParameters_GlobalOTDTable_GlobalOTDTable_GlobalParameters |
| | | { |
| | | #keys: '1[412960.0.369930029]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide GlobalOTDTable |
| | | { |
| | | #keys: '3[412960.0.369930031][412960.0.369930030][412960.0.369930032]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: GlobalParameters |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide GlobalParameters |
| | | { |
| | | #keys: '3[412960.0.369930034][412960.0.369930033][412960.0.369930035]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: GlobalOTDTable |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
| | |
| | | Global_MappingOperationCost::SynchronizeMacroPlanData( this, macroPlan, executionUser, businessTypes, organcodelist ); |
| | | } |
| | | |
| | | //if ( isDOI_DSI ) { |
| | | // Global_MappingDOI_DSI::SynchronizeInterfaceData( this, executionUser, "GlobalOTDTable_DOI_DSI" ); |
| | | //} |
| | | // |
| | | //if ( isCustomerGrade ) { |
| | | // Global_MappingCustomerGrade::SynchronizeInterfaceData( this, executionUser, "GlobalOTDTable_CustomerGrade" ); |
| | | //} |
| | | |
| | | if ( isStockingPoint_MP ) { |
| | | Global_MappingStockingPoint_MP::SynchronizeMacroPlanData( this, macroPlan, executionUser ); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Address |
| | | { |
| | | #keys: '3[412960.0.369930086][412960.0.369930085][412960.0.369930087]' |
| | | Description: 'Api使ç¨çå°å' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute AttributeName |
| | | { |
| | | #keys: '3[412960.0.369930046][412960.0.369930045][412960.0.369930047]' |
| | | Description: 'åéåç§°' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute AttributeValue |
| | | { |
| | | #keys: '3[412960.0.369930056][412960.0.369930055][412960.0.369930057]' |
| | | Description: 'åéå¼' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Port |
| | | { |
| | | #keys: '3[412960.0.369930066][412960.0.369930065][412960.0.369930067]' |
| | | Description: 'Api使ç¨ç端å£' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute PostRequestBody |
| | | { |
| | | #keys: '3[412960.0.369930076][412960.0.369930075][412960.0.369930077]' |
| | | Description: 'Api使ç¨çpost body' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod TestForApiRequest ( |
| | | GlobalOTDTable owner |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // Administrator Oct-26-2023 (created) |
| | | //info( "Sales Segment Finished, Start Get StockingPoint From Api" ) |
| | | //bodynumber := "2"; |
| | | //postrequestbody := JSON::Object() |
| | | // .Add( "serviceInterfaceCode", "ESBOTDH000" + bodynumber ) |
| | | // .Add( "fromSystemCode", "OTDH000" + bodynumber ) |
| | | // .Add( "toInterfaceCode", "QIDH000" + bodynumber ) |
| | | // .Add( "ouZone", "OU_TMSH" ) |
| | | // .Add( "uuid", "1617355496bb588e353e80147eea5f45" ) |
| | | // .Add( "requestTime", DateTime::Now().Format( "Y-M2-D2 H:m:s" ) ) |
| | | // .Add( "dataType", "JSON" ) |
| | | // .Add( "data", JSON::Object() |
| | | // .Add( "pageIndex", "1" ) ).Build(); |
| | | // |
| | | //info( DateTime::Now().Format( "Y-M2-D2 H:m:s" ) ); |
| | | //postrequestbodystring := postrequestbody.AsString(); |
| | | //info( postrequestbodystring ); |
| | | // |
| | | //parameter := select( owner, GlobalParameters, param, param.AttributeName() = "test" ); |
| | | //body := parameter.PostRequestBody(); |
| | | //address := parameter.Address(); |
| | | //url := parameter.AttributeValue(); |
| | | //port := [Number]parameter.Port(); |
| | | // |
| | | //// for HTTPS requests: |
| | | //i := HTTPInterface::Create( address, port); |
| | | ////i := HTTPInterface::Create( address ,443); |
| | | //info( address, url, port, body ); |
| | | // |
| | | //i.URL(url); |
| | | //i.SSL(false); |
| | | ////i.SSL(true); |
| | | ////i.SSLKeystore('MyKeystore'); // created in the Config Utility |
| | | // |
| | | //i.PostMethod(true); //it's a POST method |
| | | // |
| | | //i.Call(body); // Call's argument is for POST method's content. |
| | | //htmlresult := i.Result(); |
| | | //info( htmlresult ); |
| | | // |
| | | //htmlresponse := JSON::Parse( htmlresult ); |
| | | //info( htmlresponse ); |
| | | |
| | | info( "Init StockingPoint For Api" ) |
| | | existparameter := select( owner, GlobalParameters, param, param.AttributeName() = "StockingPoint" ); |
| | | if( not isnull( existparameter ) ){ |
| | | existparameter.Delete(); |
| | | } |
| | | spparameter := owner.GlobalParameters( relnew ); |
| | | spparameter.AttributeName( "StockingPoint" ); |
| | | spparameter.AttributeValue( "/otdService/https/GetStockingPointsInfo" ); |
| | | spparameter.Address( "api-uat-sgc.tianma.cn" ); |
| | | spparameter.Port( "443" ); |
| | | bodynumber := "2"; |
| | | postrequestbody := JSON::Object() |
| | | .Add( "serviceInterfaceCode", "ESBOTDH000" + bodynumber ) |
| | | .Add( "fromSystemCode", "OTDH000" + bodynumber ) |
| | | .Add( "toInterfaceCode", "QIDH000" + bodynumber ) |
| | | .Add( "ouZone", "OU_TMSH" ) |
| | | .Add( "uuid", "1617355496bb588e353e80147eea5f45" ) |
| | | .Add( "requestTime", DateTime::Now().Format( "Y-M2-D2 H:m:s" ) ) |
| | | .Add( "dataType", "JSON" ) |
| | | .Add( "data", JSON::Object() |
| | | .Add( "pageIndex", "1" ) ).Build(); |
| | | postrequestbodystring := postrequestbody.AsString(); |
| | | spparameter.PostRequestBody( postrequestbodystring ); |
| | | |
| | | info( "Init CurrencyInfo For Api" ) |
| | | existparameter := select( owner, GlobalParameters, param, param.AttributeName() = "CurrencyInfo" ); |
| | | if( not isnull( existparameter ) ){ |
| | | existparameter.Delete(); |
| | | } |
| | | ciparameter := owner.GlobalParameters( relnew ); |
| | | ciparameter.AttributeName( "CurrencyInfo" ); |
| | | ciparameter.AttributeValue( "/otdService/https/GetCurrenciesInfo" ); |
| | | ciparameter.Address( "api-uat-sgc.tianma.cn" ); |
| | | ciparameter.Port( "443" ); |
| | | bodynumber := "1"; |
| | | postrequestbody := JSON::Object() |
| | | .Add( "serviceInterfaceCode", "ESBOTDH000" + bodynumber ) |
| | | .Add( "fromSystemCode", "OTDH000" + bodynumber ) |
| | | .Add( "toInterfaceCode", "QIDH000" + bodynumber ) |
| | | .Add( "ouZone", "OU_TMSH" ) |
| | | .Add( "uuid", "1617355496bb588e353e80147eea5f45" ) |
| | | .Add( "requestTime", DateTime::Now().Format( "Y-M2-D2 H:m:s" ) ) |
| | | .Add( "dataType", "JSON" ) |
| | | .Add( "data", JSON::Object() |
| | | .Add( "pageIndex", "1" ) ).Build(); |
| | | postrequestbodystring := postrequestbody.AsString(); |
| | | ciparameter.PostRequestBody( postrequestbodystring ); |
| | | |
| | | info( "Init CurrencyRates For Api" ) |
| | | existparameter := select( owner, GlobalParameters, param, param.AttributeName() = "CurrencyRates" ); |
| | | if( not isnull( existparameter ) ){ |
| | | existparameter.Delete(); |
| | | } |
| | | crparameter := owner.GlobalParameters( relnew ); |
| | | crparameter.AttributeName( "CurrencyRates" ); |
| | | crparameter.AttributeValue( "/otdService/https/GetCurrencyRatesInfo" ); |
| | | crparameter.Address( "api-uat-sgc.tianma.cn" ); |
| | | crparameter.Port( "443" ); |
| | | bodynumber := "5"; |
| | | postrequestbody := JSON::Object() |
| | | .Add( "serviceInterfaceCode", "ESBOTDH000" + bodynumber ) |
| | | .Add( "fromSystemCode", "OTDH000" + bodynumber ) |
| | | .Add( "toInterfaceCode", "QIDH000" + bodynumber ) |
| | | .Add( "ouZone", "OU_TMSH" ) |
| | | .Add( "uuid", "1617355496bb588e353e80147eea5f45" ) |
| | | .Add( "requestTime", DateTime::Now().Format( "Y-M2-D2 H:m:s" ) ) |
| | | .Add( "dataType", "JSON" ) |
| | | .Add( "data", JSON::Object() |
| | | .Add( "pageIndex", "1" ) ).Build(); |
| | | postrequestbodystring := postrequestbody.AsString(); |
| | | crparameter.PostRequestBody( postrequestbodystring ); |
| | | |
| | | info( "Init Lanes For Api" ) |
| | | existparameter := select( owner, GlobalParameters, param, param.AttributeName() = "Lanes" ); |
| | | if( not isnull( existparameter ) ){ |
| | | existparameter.Delete(); |
| | | } |
| | | lparameter := owner.GlobalParameters( relnew ); |
| | | lparameter.AttributeName( "Lanes" ); |
| | | lparameter.AttributeValue( "/otdService/https/GetLanesInfo" ); |
| | | lparameter.Address( "api-uat-sgc.tianma.cn" ); |
| | | lparameter.Port( "443" ); |
| | | bodynumber := "3"; |
| | | postrequestbody := JSON::Object() |
| | | .Add( "serviceInterfaceCode", "ESBOTDH000" + bodynumber ) |
| | | .Add( "fromSystemCode", "OTDH000" + bodynumber ) |
| | | .Add( "toInterfaceCode", "QIDH000" + bodynumber ) |
| | | .Add( "ouZone", "OU_TMSH" ) |
| | | .Add( "uuid", "1617355496bb588e353e80147eea5f45" ) |
| | | .Add( "requestTime", DateTime::Now().Format( "Y-M2-D2 H:m:s" ) ) |
| | | .Add( "dataType", "JSON" ) |
| | | .Add( "data", JSON::Object() |
| | | .Add( "pageIndex", "1" ) ).Build(); |
| | | postrequestbodystring := postrequestbody.AsString(); |
| | | lparameter.PostRequestBody( postrequestbodystring ); |
| | | |
| | | info( "Init LaneLegs For Api" ) |
| | | existparameter := select( owner, GlobalParameters, param, param.AttributeName() = "LaneLegs" ); |
| | | if( not isnull( existparameter ) ){ |
| | | existparameter.Delete(); |
| | | } |
| | | llparameter := owner.GlobalParameters( relnew ); |
| | | llparameter.AttributeName( "LaneLegs" ); |
| | | llparameter.AttributeValue( "/otdService/https/GetLaneLegsInfo" ); |
| | | llparameter.Address( "api-uat-sgc.tianma.cn" ); |
| | | llparameter.Port( "443" ); |
| | | bodynumber := "4"; |
| | | postrequestbody := JSON::Object() |
| | | .Add( "serviceInterfaceCode", "ESBOTDH000" + bodynumber ) |
| | | .Add( "fromSystemCode", "OTDH000" + bodynumber ) |
| | | .Add( "toInterfaceCode", "QIDH000" + bodynumber ) |
| | | .Add( "ouZone", "OU_TMSH" ) |
| | | .Add( "uuid", "1617355496bb588e353e80147eea5f45" ) |
| | | .Add( "requestTime", DateTime::Now().Format( "Y-M2-D2 H:m:s" ) ) |
| | | .Add( "dataType", "JSON" ) |
| | | .Add( "data", JSON::Object() |
| | | .Add( "pageIndex", "1" ) ).Build(); |
| | | postrequestbodystring := postrequestbody.AsString(); |
| | | llparameter.PostRequestBody( postrequestbodystring ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type GlobalParameters |
| | | { |
| | | #keys: '5[412960.0.369930026][412960.0.369930024][0.0.0][412960.0.369930025][412960.0.369930027]' |
| | | BaseType: Object |
| | | Description: 'å
¨å±åæ°' |
| | | StructuredName: 'GlobalParameterss' |
| | | } |
| | |
| | | [* |
| | | globalOTDTable.Global_MappingCurrencyRate_MP( relflush ); |
| | | |
| | | bodynumber := "5"; |
| | | postrequestbody := globalOTDTable.ApiBuildPostRequestBody( bodynumber ); |
| | | address := "api-uat-sgc.tianma.cn"; |
| | | url := "/otdService/https/GetCurrencyRatesInfo"; |
| | | port := 443; |
| | | parameter := select( globalOTDTable, GlobalParameters, param, param.AttributeName() = "CurrencyRates" ); |
| | | postrequestbody := parameter.PostRequestBody(); |
| | | address := parameter.Address(); |
| | | url := parameter.AttributeValue(); |
| | | port := [Number]parameter.Port(); |
| | | i := HTTPInterface::Create( address, port); |
| | | i.URL( url ); |
| | | i.SSL( true ); |
| | |
| | | [* |
| | | globalOTDTable.Global_MappingCurrency_MP( relflush ); |
| | | |
| | | bodynumber := "1"; |
| | | postrequestbody := globalOTDTable.ApiBuildPostRequestBody( bodynumber ); |
| | | address := "api-uat-sgc.tianma.cn"; |
| | | url := "/otdService/https/GetCurrenciesInfo"; |
| | | port := 443; |
| | | parameter := select( globalOTDTable, GlobalParameters, param, param.AttributeName() = "CurrencyInfo" ); |
| | | postrequestbody := parameter.PostRequestBody(); |
| | | address := parameter.Address(); |
| | | url := parameter.AttributeValue(); |
| | | port := [Number]parameter.Port(); |
| | | i := HTTPInterface::Create( address, port); |
| | | i.URL( url ); |
| | | i.SSL( true ); |
| | |
| | | [* |
| | | globalOTDTable.Global_MappingLane( relflush ); |
| | | |
| | | bodynumber := "3"; |
| | | postrequestbody := globalOTDTable.ApiBuildPostRequestBody( bodynumber ); |
| | | address := "api-uat-sgc.tianma.cn"; |
| | | url := "/otdService/https/GetLanesInfo"; |
| | | port := 443; |
| | | parameter := select( globalOTDTable, GlobalParameters, param, param.AttributeName() = "Lanes" ); |
| | | postrequestbody := parameter.PostRequestBody(); |
| | | address := parameter.Address(); |
| | | url := parameter.AttributeValue(); |
| | | port := [Number]parameter.Port(); |
| | | i := HTTPInterface::Create( address, port); |
| | | i.URL( url ); |
| | | i.SSL( true ); |
| | |
| | | [* |
| | | globalOTDTable.Global_MappingLaneLeg( relflush ); |
| | | |
| | | bodynumber := "4"; |
| | | postrequestbody := globalOTDTable.ApiBuildPostRequestBody( bodynumber ); |
| | | address := "api-uat-sgc.tianma.cn"; |
| | | url := "/otdService/https/GetLaneLegsInfo"; |
| | | port := 443; |
| | | parameter := select( globalOTDTable, GlobalParameters, param, param.AttributeName() = "LaneLegs" ); |
| | | postrequestbody := parameter.PostRequestBody(); |
| | | address := parameter.Address(); |
| | | url := parameter.AttributeValue(); |
| | | port := [Number]parameter.Port(); |
| | | i := HTTPInterface::Create( address, port); |
| | | i.URL( url ); |
| | | i.SSL( true ); |
| | |
| | | [* |
| | | globalOTDTable.Global_MappingStockingPoint_MP( relflush ); |
| | | |
| | | bodynumber := "2"; |
| | | postrequestbody := globalOTDTable.ApiBuildPostRequestBody( bodynumber ); |
| | | address := "api-uat-sgc.tianma.cn"; |
| | | url := "/otdService/https/GetStockingPointsInfo"; |
| | | port := 443; |
| | | parameter := select( globalOTDTable, GlobalParameters, param, param.AttributeName() = "StockingPoint" ); |
| | | postrequestbody := parameter.PostRequestBody(); |
| | | address := parameter.Address(); |
| | | url := parameter.AttributeValue(); |
| | | port := [Number]parameter.Port(); |
| | | i := HTTPInterface::Create( address, port); |
| | | i.URL( url ); |
| | | i.SSL( true ); |
| | |
| | | StaticMethod DoASync ( |
| | | MacroPlan macroPlan, |
| | | const GlobalOTDTable globalOTDTable, |
| | | String businessTypeName |
| | | Strings businessTypeNames |
| | | ) |
| | | { |
| | | TextBody: |
| | |
| | | //info( "ActualPISPIP Finished, Start InventoryCost Data Broker" ); |
| | | //macroPlan.Broker_OTD_InventoryCost().Execute(); |
| | | info( "InventoryCost Data Broker Finished, Start InventoryCost Mapping" ); |
| | | macroPlan.DoASyncMappingInventoryValueAndCostData(globalOTDTable,businessTypeName); |
| | | macroPlan.DoASyncMappingInventoryValueAndCostData(globalOTDTable,businessTypeNames); |
| | | *] |
| | | } |
| | |
| | | // renhao Aug-14-2023 (created) |
| | | listtodeal := construct( Global_MappingActualProductInStockingPointInPeriods, constcontent ); |
| | | if ( businessTypes.Size() > 0 ) { |
| | | businessTypeName := businessTypes.Element( 0 ); |
| | | targetGlobal_ProductCategory := select( globalOTDTable, Global_ProductCategory, tempGPC, tempGPC.BusinessTypeName() = businessTypeName ); |
| | | listtodeal := selectset( targetGlobal_ProductCategory, Global_MappingProduct_MP.Global_MAPISPIPCategory.Global_MappingActualProductInStockingPointInPeriod, |
| | | targetGlobal_ProductCategory := selectset( globalOTDTable, Global_ProductCategory, tempGPC, |
| | | exists( businessTypes, Elements, tempBTN, tempBTN = tempGPC.BusinessTypeName() ) ); |
| | | listtodeal := selectset( targetGlobal_ProductCategory, |
| | | Elements.Global_MappingProduct_MP.Global_MAPISPIPCategory.Global_MappingActualProductInStockingPointInPeriod, |
| | | tempGMPIL, |
| | | ( tempGMPIL.ActualInventoryLevelEnd() > 0 ) and |
| | | ( organcodelist.Find( tempGMPIL.StockingPointID().SubString( 0, 3 ) ) >= 0 ) ); |
| | |
| | | |
| | | listtodeal := construct( Global_MappingInventorySupplys, constcontent ); |
| | | if ( businessTypes.Size() > 0 ) { |
| | | businessTypeName := businessTypes.Element( 0 ); |
| | | targetGlobal_ProductCategory := select( globalOTDTable, Global_ProductCategory, tempGPC, tempGPC.BusinessTypeName() = businessTypeName ); |
| | | listtodeal := selectset( targetGlobal_ProductCategory, Global_MappingProduct_MP.Global_InventorySupplyCategory.Global_MappingInventorySupply, |
| | | targetGlobal_ProductCategory := selectset( globalOTDTable, Global_ProductCategory, tempGPC, |
| | | exists( businessTypes, Elements, tempBTN, tempBTN = tempGPC.BusinessTypeName() ) ); |
| | | listtodeal := selectset( targetGlobal_ProductCategory, |
| | | Elements.Global_MappingProduct_MP.Global_InventorySupplyCategory.Global_MappingInventorySupply, |
| | | tempGMIS, |
| | | ( tempGMIS.UserQuantity()>0 ) and |
| | | ( tempGMIS.Date() >= queryStartDate ) and |
| | |
| | | #parent: #root |
| | | Method DoASyncMappingInventoryValueAndCostData ( |
| | | const GlobalOTDTable globalOTDTable, |
| | | String businessTypeName |
| | | Strings businessTypeNames |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Aug-15-2023 (created) |
| | | listtodeal := construct( Global_MappingStockingPointCosts, constcontent ); |
| | | if ( businessTypeName = "" ) { |
| | | if ( businessTypeNames.Size() = 0 ) { |
| | | listtodeal := selectset( globalOTDTable,Global_MappingStockingPointCost,item,true ); |
| | | } else { |
| | | targetGlobal_ProductCategory := select( globalOTDTable, Global_ProductCategory, tempGPC, tempGPC.BusinessTypeName() = businessTypeName ); |
| | | listtodeal := selectset( targetGlobal_ProductCategory, Global_MappingProduct_MP.Global_StockingPointCostCategory.Global_MappingStockingPointCost, tempGMPIL, true ); |
| | | targetGlobal_ProductCategory := selectset( globalOTDTable, Global_ProductCategory, tempGPC, |
| | | exists( businessTypeNames, Elements, tempBTN, tempBTN = tempGPC.BusinessTypeName() ) ); |
| | | listtodeal := selectset( targetGlobal_ProductCategory, |
| | | Elements.Global_MappingProduct_MP.Global_StockingPointCostCategory.Global_MappingStockingPointCost, |
| | | tempGMPIL, |
| | | true ); |
| | | } |
| | | totalcount := listtodeal.Size(); |
| | | |
| | |
| | | true, trash ); |
| | | mainBOM.Quantity( firstAlterRow.UnitUsageOfComponents() / firstAlterRow.ComponentOutputRate() ); |
| | | mainBOM.MaxQuantityInGroup( firstAlterRow.UnitUsageOfComponents() / firstAlterRow.ComponentOutputRate() ); |
| | | mainBOM.MinQuantityInGroup(0); |
| | | mainQty := mainBOM.Quantity(); |
| | | Transaction::Transaction().Propagate(); |
| | | |
| | | altersize := alterRows.Size(); |
| | | // æ·»å è¾
æ |
| | | traverse( alterRows, Elements, alterRow ) { |
| | | alterProd := Product_MP::FindById( this, alterRow.AlternativeMaterialCode() ); |
| | |
| | | trash := construct( OperationBOMs ); |
| | | if( not isnull( mainInput ) ) { |
| | | alterBom := mainInput.Operation().LinkPISP( pispAlter, true, mainInput.OperationLinkGroupID(), trash ); |
| | | alterBom.Quantity( mainBOM.MaxQuantityInGroup() * alterRow.AlternativeRate() ); |
| | | //alterBom.Quantity( mainBOM.MaxQuantityInGroup() * alterRow.AlternativeRate() ); |
| | | //alterBom.MaxQuantityInGroup( mainBOM.MaxQuantityInGroup() ); |
| | | alterBom.Quantity( mainBOM.MaxQuantityInGroup() / altersize ); |
| | | alterBom.MaxQuantityInGroup( mainBOM.MaxQuantityInGroup() ); |
| | | alterBom.MinQuantityInGroup(0); |
| | | // info( "Quantity" + [String]alterBom.Quantity() ) |
| | | // info( "MaxQuantityInGroup" + [String]alterBom.MaxQuantityInGroup() ) |
| | | mainQty := mainQty - alterBom.Quantity(); |
| | | } |
| | | } |
| | | mainBOM.Quantity( mainQty ); |
| | | |
| | | Transaction::Transaction().Propagate( relation( OperationBOM, OperationInputGroup)); |
| | | if( not isnull( mainBOM.OperationInputGroup())){ |
| | | mainBOM.OperationInputGroup().InputGroupQuantity(mainBOM.MaxQuantityInGroup()); |
| | | mainBOM.Quantity( mainBOM.MaxQuantityInGroup() / altersize ); |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | |
| | | #parent: #root |
| | | Method DoASyncMappingProductInLaneData ( |
| | | const GlobalOTDTable globalOTDTable, |
| | | String businessTypeName |
| | | Strings businessTypeNames |
| | | ) |
| | | { |
| | | Description: 'Get Product In Line data' |
| | |
| | | // Administrator Aug-17-2023 (created) |
| | | // list to deal |
| | | listtodeal := construct( Global_MappingProductInLanes, constcontent ); |
| | | if ( businessTypeName = "" ) { |
| | | if ( businessTypeNames.Size() = 0 ) { |
| | | listtodeal := selectset( globalOTDTable, Global_MappingProductInLane, item ,true ); |
| | | } else { |
| | | targetGlobal_ProductCategory := select( globalOTDTable, Global_ProductCategory, tempGPC, tempGPC.BusinessTypeName() = businessTypeName ); |
| | | listtodeal := selectset( targetGlobal_ProductCategory, Global_MappingProduct_MP.Global_ProductInLineCategory.Global_MappingProductInLane, tempGMPIL, true ); |
| | | targetGlobal_ProductCategory := selectset( globalOTDTable, Global_ProductCategory, tempGPC, |
| | | exists( businessTypeNames, Elements, tempBTN, tempBTN = tempGPC.BusinessTypeName() ) ); |
| | | listtodeal := selectset( targetGlobal_ProductCategory, |
| | | Elements.Global_MappingProduct_MP.Global_ProductInLineCategory.Global_MappingProductInLane, |
| | | tempGMPIL, |
| | | true ); |
| | | } |
| | | totalcount := listtodeal.Size(); |
| | | info( "ProductInLane has " + totalcount.AsQUILL() + " rows in total" ); |
| | |
| | | |
| | | // åºåç¹-3 |
| | | info( "Sales Segment Finished, Start Get StockingPoint From Api" ) |
| | | bodynumber := "2"; |
| | | postrequestbody := macroPlan.ApiBuildPostRequestBody( bodynumber ); |
| | | address := "api-uat-sgc.tianma.cn"; |
| | | url := "/otdService/https/GetStockingPointsInfo"; |
| | | port := 443; |
| | | parameter := select( globalOTDTable, GlobalParameters, param, param.AttributeName() = "StockingPoint" ); |
| | | postrequestbody := parameter.PostRequestBody(); |
| | | address := parameter.Address(); |
| | | url := parameter.AttributeValue(); |
| | | port := [Number]parameter.Port(); |
| | | data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody ); |
| | | macroPlan.ApiStockingPointData( data ); |
| | | |
| | | // è´§å¸ä¿¡æ¯-4 |
| | | info( "Get StockingPoint From Api Finished, Start Get CurrencyInfo From Api" ) |
| | | bodynumber := "1"; |
| | | postrequestbody := macroPlan.ApiBuildPostRequestBody( bodynumber ); |
| | | address := "api-uat-sgc.tianma.cn"; |
| | | url := "/otdService/https/GetCurrenciesInfo"; |
| | | port := 443; |
| | | parameter := select( globalOTDTable, GlobalParameters, param, param.AttributeName() = "CurrencyInfo" ); |
| | | postrequestbody := parameter.PostRequestBody(); |
| | | address := parameter.Address(); |
| | | url := parameter.AttributeValue(); |
| | | port := [Number]parameter.Port(); |
| | | data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody ); |
| | | macroPlan.ApiCurenciesData( data ); |
| | | |
| | | //è´§å¸æ±çä¿¡æ¯-5 |
| | | info( "Get CurrencyInfo From Api Finished, Start Get CurrencyRates From Api" ) |
| | | bodynumber := "5"; |
| | | postrequestbody := macroPlan.ApiBuildPostRequestBody( bodynumber ); |
| | | address := "api-uat-sgc.tianma.cn"; |
| | | url := "/otdService/https/GetCurrencyRatesInfo"; |
| | | port := 443; |
| | | parameter := select( globalOTDTable, GlobalParameters, param, param.AttributeName() = "CurrencyRates" ); |
| | | postrequestbody := parameter.PostRequestBody(); |
| | | address := parameter.Address(); |
| | | url := parameter.AttributeValue(); |
| | | port := [Number]parameter.Port(); |
| | | data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody ); |
| | | macroPlan.ApiCurencyRatesData( data ); |
| | | |
| | |
| | | |
| | | //车éä¿¡æ¯-10 |
| | | info( "BOM Finished, Start Get Lanes From Api" ); |
| | | bodynumber := "3"; |
| | | postrequestbody := macroPlan.ApiBuildPostRequestBody( bodynumber ); |
| | | address := "api-uat-sgc.tianma.cn"; |
| | | url := "/otdService/https/GetLanesInfo"; |
| | | port := 443; |
| | | parameter := select( globalOTDTable, GlobalParameters, param, param.AttributeName() = "Lanes" ); |
| | | postrequestbody := parameter.PostRequestBody(); |
| | | address := parameter.Address(); |
| | | url := parameter.AttributeValue(); |
| | | port := [Number]parameter.Port(); |
| | | data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody ); |
| | | macroPlan.ApiLanesData( data ); |
| | | |
| | | //车éè¿è¾æ®µ-11 |
| | | info( "Get Lanes From Api Finished, Start Get LaneLegs From Api" ); |
| | | bodynumber := "4"; |
| | | postrequestbody := macroPlan.ApiBuildPostRequestBody( bodynumber ); |
| | | address := "api-uat-sgc.tianma.cn"; |
| | | url := "/otdService/https/GetLaneLegsInfo"; |
| | | port := 443; |
| | | parameter := select( globalOTDTable, GlobalParameters, param, param.AttributeName() = "LaneLegs" ); |
| | | postrequestbody := parameter.PostRequestBody(); |
| | | address := parameter.Address(); |
| | | url := parameter.AttributeValue(); |
| | | port := [Number]parameter.Port(); |
| | | data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody ); |
| | | macroPlan.ApiLaneLegsData( data ); |
| | | |
| | |
| | | //info( "Get Lanelegs From Api Finished, Start ProductInLane Data Broker" ); |
| | | //macroPlan.Broker_OTD_ProductInLane().Execute(); |
| | | info( "ProductInLane Data Broker Finished, Start ProductInLane Mapping" ); |
| | | macroPlan.DoASyncMappingProductInLaneData(globalOTDTable,guard( businessTypeName.Element( 0 ), "" )); |
| | | macroPlan.DoASyncMappingProductInLaneData( globalOTDTable,businessTypeName ); |
| | | |
| | | // å¨åºåºåæ°æ®-13 |
| | | //info( "ProductInLane Finished, Start ActualPISPIP Data Broker" ); |
| | |
| | | macroPlan.DoASyncMappingExternalSupplyData( businessTypeName, isKeyProduct ,globalOTDTable, organcodelist ); |
| | | |
| | | // åºåææ¬-15 |
| | | InventoryValueAndCost::DoASync( macroPlan,globalOTDTable,guard( businessTypeName.Element( 0 ), "" ) ); |
| | | InventoryValueAndCost::DoASync( macroPlan,globalOTDTable,businessTypeName ); |
| | | |
| | | // todo å¶é ææ¬-16 |
| | | info( "InventoryCost Finished, Start OperationCost Mapping" ); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod ExportTheFileStream ( |
| | | PRDatas toExportList |
| | | ) as BinaryValue |
| | | { |
| | | TextBody: |
| | | [* |
| | | text:= '<?xml version="1.0" encoding="utf-8" standalone="yes"?><table><name>PR</name><column><name>ç©æç¼ç </name><type>String</type></column><column><name>ç©æåç§°</name><type>String</type></column><column><name>颿¿ç©ææ è¯</name><type>String</type></column><column><name>äº¤è´§æ¥æ</name><type>String</type></column><column><name>PRå»ºè®®æ¥æ</name><type>String</type></column><column><name>交货æ°é</name><type>Number</type></column><column><name>MRP计ç®çæ¬å·</name><type>String</type></column><column><name>ä¸å¡ç±»å</name><type>String</type></column><column><name>ç»ç»ç¼ç </name><type>String</type></column><column><name>æ¯å¦é¿å¨æ</name><type>String</type></column><column><name>æ¯å¦ä¸ç¨æ</name><type>String</type></column><column><name>ç©æè®¡åçç¥</name><type>String</type></column><column><name>æåæ</name><type>Number</type></column><column><name>ä¾åºå代ç </name><type>String</type></column><column><name>ä¾åºååç§°</name><type>String</type></column><column><name>æ¶è´§åºåç¹</name><type>String</type></column><column><name>计éåä½</name><type>String</type></column><column><name>PRæ°æ®åéç¶æ</name><type>String</type></column><column><name>åéæ¶é´</name><type>String</type></column><column><name>åé人</name><type>String</type></column></table>'; |
| | | |
| | | sc := DateToString::StandardConverter(); |
| | | sc.SetCustomConversion(); |
| | | sc.CustomFormatString( 'yyyy-MM-dd' ); |
| | | |
| | | xmlDOMImplementation := XMLDOMImplementation::Create(); |
| | | xmlDOMDocument := xmlDOMImplementation.CreateDocumentFromString( text ); |
| | | |
| | | tableElement:= xmlDOMDocument.GetElementByTagName( "table", 0 ); |
| | | |
| | | traverse ( toExportList, Elements, prd ) { |
| | | PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.ProductID(), "ç©æç¼ç " ); |
| | | PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.ProductName(), "ç©æåç§°" ); |
| | | PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.IsPanelMaterial(), "颿¿ç©ææ è¯" ); |
| | | PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, sc.Convert( prd.DeliveryDate() ), "äº¤è´§æ¥æ" ); |
| | | PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, sc.Convert( prd.PRSuggestionDate() ), "PRå»ºè®®æ¥æ" ); |
| | | PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]( prd.Quantity().Round( 0 ) ), "交货æ°é" ); |
| | | PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.MRPCalverNo(), "MRP计ç®çæ¬å·" ); |
| | | PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.BusinessType(), "ä¸å¡ç±»å" ); |
| | | PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.OrganCode(), "ç»ç»ç¼ç " ); |
| | | PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.IsLongLeadItem(), "æ¯å¦é¿å¨æ" ); |
| | | PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.IsGenericMaterial(), "æ¯å¦ä¸ç¨æ" ); |
| | | PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.MaterialMRPType(), "ç©æè®¡åçç¥" ); |
| | | PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]prd.LeadTime(), "æåæ" ); |
| | | PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.ProviderCode(), "ä¾åºå代ç " ); |
| | | PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.ProviderName(), "ä¾åºååç§°" ); |
| | | PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.StockingPointID(), "æ¶è´§åºåç¹" ); |
| | | PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.UnitOfMeasure(), "计éåä½" ); |
| | | PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.PRReleaseStatus(), "PRæ°æ®åéç¶æ" ); |
| | | PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.CreateTimeString(), "åéæ¶é´" ); |
| | | PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.CreateBy(), "åé人" ); |
| | | } |
| | | |
| | | xmlDOMSerializer := xmlDOMImplementation.CreateSerializer(); |
| | | xmlTableString := xmlDOMSerializer.WriteToString( xmlDOMDocument ); |
| | | |
| | | tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlTableString ) ); |
| | | tableGroupHandle := TableGroupHandle::Create( "PR" ); |
| | | tableGroupHandle.Add( tableHandle ); |
| | | tableBinaryData := XLS::SaveTableGroupToBinaryData( tableGroupHandle, true ); |
| | | |
| | | return tableBinaryData.AsBinaryValue(); |
| | | *] |
| | | } |
| | |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | Component dsPlanningStart |
| | | { |
| | | #keys: '[414702.1.259278858]' |
| | | BaseType: 'WebDateSelector' |
| | | Properties: |
| | | [ |
| | | Label: '计åå¼å§æ¶é´' |
| | | Taborder: 8 |
| | | ] |
| | | } |
| | | ] |
| | | } |
| | |
| | | macroPlanNew.IsKeyProduct( data.IsKeyProduct() ); |
| | | macroPlanNew.CreatePurchaseSupplyMaterial( data.CreatePurchaseSupplyMaterial() ); |
| | | |
| | | MacroPlan.UpdateStartOfPlanning( dsPlanningStart.Date().DateTime() ); |
| | | |
| | | this.Close(); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelGeneral_549/dsPlanningStart |
| | | Response OnCreated () id:Response_TIANMA_JITUAN_PanelGeneral_549_dsPlanningStart_OnCreated |
| | | { |
| | | #keys: '[414702.1.259420402]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | this.Date( Date::ActualDate() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component pnlActions |
| | | { |
| | | #keys: '[412960.0.370310585]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component btnOk |
| | | { |
| | | #keys: '[412960.0.370310589]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'OK' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component btnCancel |
| | | { |
| | | #keys: '[412960.0.370310591]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Cancel' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Alignment: 'trailing' |
| | | Border: true |
| | | ExcludeFromActiveComponent: true |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Padding: 'true' |
| | | Style: 'footer' |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component pnlContent |
| | | { |
| | | #keys: '[412960.0.370310583]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component editAttributeName |
| | | { |
| | | #keys: '[412960.0.370311392]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderGlobalParameters.Data.AttributeName' |
| | | Label: 'åæ°åç§°' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component editAttributeValue |
| | | { |
| | | #keys: '[412960.0.370311429]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderGlobalParameters.Data.AttributeValue' |
| | | Label: 'åæ°å¼' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component editAddress |
| | | { |
| | | #keys: '[412960.0.370311489]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderGlobalParameters.Data.Address' |
| | | Label: 'Apiå°å' |
| | | Taborder: 3 |
| | | Visible: false |
| | | ] |
| | | } |
| | | Component editPort |
| | | { |
| | | #keys: '[412960.0.370311527]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderGlobalParameters.Data.Port' |
| | | Label: 'Api端å£å·' |
| | | Taborder: 4 |
| | | Visible: false |
| | | ] |
| | | } |
| | | Component editPostRequestBody |
| | | { |
| | | #keys: '[412960.0.370311577]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderGlobalParameters.Data.PostRequestBody' |
| | | Label: 'Api请æ±ä¸»ä½' |
| | | Taborder: 5 |
| | | Visible: false |
| | | ] |
| | | } |
| | | Component IsApi |
| | | { |
| | | #keys: '[412960.0.370311617]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Description: 'æ¯å¦ä¸ºAPIç¸å
³åæ°' |
| | | Label: 'APIé
ç½®' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Padding: 'true' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method ClickBtnOk () id:Method_DialogGlobalParameters_ClickBtnOk |
| | | { |
| | | #keys: '[412960.0.370310978]' |
| | | Body: |
| | | [* |
| | | // Disabled button to prevent the possibility of multiple firing |
| | | |
| | | btnOk.Enabled(false,''); |
| | | |
| | | // OnOk |
| | | this.ApplyChanges(); |
| | | |
| | | DataHolderGlobalParameters.Data().Commit(); |
| | | |
| | | this.Close(); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method Edit ( |
| | | GlobalParameters selection |
| | | ) id:Method_DialogGlobalParameters_Edit |
| | | { |
| | | #keys: '[412960.0.370310979]' |
| | | Body: |
| | | [* |
| | | // Edits assumption |
| | | data := shadow( selection ); |
| | | |
| | | DataHolderGlobalParameters.Data( &data ); |
| | | |
| | | ApplicationMacroPlanner.ShowFormModal( this ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method New ( |
| | | GlobalOTDTable owner |
| | | ) id:Method_DialogGlobalParameters_New |
| | | { |
| | | #keys: '[412960.0.370310981]' |
| | | Body: |
| | | [* |
| | | data := owner.GlobalParameters(relshadow); |
| | | DataHolderGlobalParameters.Data( &data); |
| | | |
| | | ApplicationMacroPlanner.ShowFormModal( this ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pnlActions/btnCancel |
| | | Response OnClick () id:Response_pnlActions_btnCancel_OnClick |
| | | { |
| | | #keys: '[412960.0.370310595]' |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | Form.Close(); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pnlActions/btnOk |
| | | Response OnClick () id:Response_pnlActions_btnOk_OnClick |
| | | { |
| | | #keys: '[412960.0.370310594]' |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | Form.ClickBtnOk() |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pnlContent/IsApi |
| | | Response OnChanged () id:Response_pnlContent_IsApi_OnChanged |
| | | { |
| | | #keys: '[412960.0.370311653]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebCheckbox_OnChanged' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | editAddress.Visible( this.Checked() ); |
| | | editPort.Visible( this.Checked() ); |
| | | editPostRequestBody.Visible( this.Checked() ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlannerWebApp |
| | | OrphanComponent DialogGlobalParameters |
| | | { |
| | | #keys: '[412960.0.370310581]' |
| | | BaseType: 'WebForm' |
| | | Children: |
| | | [ |
| | | #child: pnlContent |
| | | #child: pnlActions |
| | | Component DataHolderGlobalParameters |
| | | { |
| | | #keys: '[412960.0.370311111]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'shadow[GlobalParameters]*' |
| | | Properties: |
| | | [ |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Alignment: 'trailing' |
| | | EnterButton: 'btnOk' |
| | | EscapeButton: 'btnCancel' |
| | | ExcludeFromActiveComponent: true |
| | | Padding: 'false' |
| | | ] |
| | | } |
| | |
| | | #parent: ListBusinessType |
| | | Response OnClick () id:Response_ListBusinessType_MenuNew_OnClick |
| | | { |
| | | #keys: '[414382.0.377975353]' |
| | | #keys: '[412960.0.373110863]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListBusinessType/Responsedef_ListBusinessType_WebMenu_OnClick |
| | | GroupServerCalls: true |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | |
| | | #keys: '[414384.0.798051611]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebList_OnUserCheckedChanged' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | info( "checked 0 PRs" ); |
| | | DataHolderChecked.Data().Flush(); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | #keys: '[414384.0.798051163]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebList_OnUserCheckedChanged' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | info( "checked " + [String]checkeditems.Size() + " PRs" ); |
| | | DataHolderChecked.Data( checkeditems.Copy() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | Application.Download( "PRData.xlsx", PRData::Export( MacroPlan ) ); |
| | | Application.Download( "PRData.xlsx", PRData::ExportTheFileStream( DataHolderChecked.Data() ).AsBinaryData() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component ListGlobalParameters |
| | | { |
| | | #keys: '[412960.0.370311764]' |
| | | BaseType: 'WebList' |
| | | Children: |
| | | [ |
| | | Component DataExtractorGlobalParameters |
| | | { |
| | | #keys: '[412960.0.370311765]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | Taborder: 0 |
| | | Transformation: 'GlobalParameters' |
| | | ] |
| | | } |
| | | #child: listActionBarPageGlobalParameters |
| | | Component DataSetLevelGlobalParameters |
| | | { |
| | | #keys: '[412960.0.370311770]' |
| | | BaseType: 'WebDataSetLevel' |
| | | Children: |
| | | [ |
| | | #child: listContextMenuGlobalParameters |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"AttributeName","title":"AttributeName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"AttributeName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"AttributeValue","title":"AttributeValue","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"AttributeValue"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Address","title":"Address","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Address"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Port","title":"Port","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Port"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PostRequestBody","title":"PostRequestBody","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PostRequestBody"}}]' |
| | | ContextMenu: 'listContextMenuGlobalParameters' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | ResponseDefinitions: |
| | | [ |
| | | DelegatedResponseDefinition OnClick id:Responsedef_ListGlobalParameters_WebMenu_OnClick |
| | | { |
| | | #keys: '[412960.0.373111120]' |
| | | Initiator: 'WebMenu' |
| | | IsInherited: false |
| | | ResponseType: 'OnClick' |
| | | Arguments: |
| | | [ |
| | | ResponseDefinitionArgument selection |
| | | { |
| | | #keys: '[693.0.13162755]' |
| | | Binding: 'this.Selection()' |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelGlobalParameters |
| | | { |
| | | #keys: '[412960.0.370311750]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: ListGlobalParameters |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listActionBarPageGlobalParameters |
| | | { |
| | | #keys: '[412960.0.370311767]' |
| | | BaseType: 'listActionBarPage' |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listContextMenuGlobalParameters |
| | | { |
| | | #keys: '[412960.0.370311772]' |
| | | BaseType: 'listContextMenu' |
| | | Children: |
| | | [ |
| | | Component MenuNew id:MenuNew_21 |
| | | { |
| | | #keys: '[412960.0.370312224]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'ADD2' |
| | | Taborder: 3 |
| | | Title: 'New' |
| | | ] |
| | | } |
| | | Component MenuEdit id:MenuEdit_368 |
| | | { |
| | | #keys: '[412960.0.370312277]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'PENCIL' |
| | | Taborder: 4 |
| | | Title: 'Edit' |
| | | ] |
| | | } |
| | | Component MenuDelete id:MenuDelete_832 |
| | | { |
| | | #keys: '[412960.0.370312355]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'DELETE' |
| | | Taborder: 5 |
| | | Title: 'Delete' |
| | | ] |
| | | } |
| | | Component MenuInitial |
| | | { |
| | | #keys: '[412960.0.376011203]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'ARROW_LOOP3' |
| | | Taborder: 6 |
| | | Title: 'Init Api' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListGlobalParameters |
| | | Response OnClick ( |
| | | GlobalParameters selection |
| | | ) id:Response_ListGlobalParameters_MenuDelete_OnClick |
| | | { |
| | | #keys: '[412960.0.373113087]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListGlobalParameters/Responsedef_ListGlobalParameters_WebMenu_OnClick |
| | | GroupServerCalls: true |
| | | Initiator: 'MenuDelete' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | selection.Delete(); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListGlobalParameters |
| | | Response OnClick ( |
| | | GlobalParameters selection |
| | | ) id:Response_ListGlobalParameters_MenuEdit_OnClick |
| | | { |
| | | #keys: '[412960.0.373112994]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListGlobalParameters/Responsedef_ListGlobalParameters_WebMenu_OnClick |
| | | GroupServerCalls: true |
| | | Initiator: 'MenuEdit' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | dlg := construct( DialogGlobalParameters ); |
| | | dlg.Edit( selection ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListGlobalParameters |
| | | Response OnClick () id:Response_ListGlobalParameters_MenuNew_OnClick |
| | | { |
| | | #keys: '[412960.0.373111139]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListGlobalParameters/Responsedef_ListGlobalParameters_WebMenu_OnClick |
| | | GroupServerCalls: true |
| | | Initiator: 'MenuNew' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | dlg := construct( DialogGlobalParameters ); |
| | | dlg.New( GlobalOTDTable ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: listContextMenuGlobalParameters/MenuInitial |
| | | Response OnClick () id:Response_listContextMenuGlobalParameters_MenuInitial_OnClick |
| | | { |
| | | #keys: '[412960.0.376011242]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebMenu_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | GlobalParameters::TestForApiRequest( GlobalOTDTable ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlannerWebApp |
| | | OrphanComponent FormGlobalParameters |
| | | { |
| | | #keys: '[412960.0.367611841]' |
| | | BaseType: 'WebForm' |
| | | Children: |
| | | [ |
| | | #child: PanelGlobalParameters |
| | | ] |
| | | Properties: |
| | | [ |
| | | Description: 'åæ¾åç±»å
¨å±åæ°ï¼ç®åä»
å
å«APIç¸å
³' |
| | | Image: 'EARTH2' |
| | | Title: 'Global Parameters' |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | { |
| | | viewcontents |
| | | { |
| | | forms |
| | | { |
| | | form_FormPRHistoryData |
| | | { |
| | | title: 'QTIANMA_JITUAN::FormPRHistoryData' |
| | | shown: true |
| | | componentID: 'QTIANMA_JITUAN::FormPRHistoryData' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 1 |
| | | rowSpan: 15 |
| | | columnPosition: 5 |
| | | columnSpan: 8 |
| | | } |
| | | components |
| | | { |
| | | FormPRHistoryData_PanelPRHistoryButton |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormPRHistoryData_ListPRHistoryData |
| | | { |
| | | } |
| | | FormPRHistoryData_DataSetLevelPRHistoryData |
| | | { |
| | | groupDepth: -1 |
| | | column_BusinessType |
| | | { |
| | | columnId: 'BusinessType' |
| | | dataPath: 'BusinessType' |
| | | dataType: 'string' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_MRPCalverNo |
| | | { |
| | | columnId: 'MRPCalverNo' |
| | | dataPath: 'MRPCalverNo' |
| | | dataType: 'string' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_OrganCode |
| | | { |
| | | columnId: 'OrganCode' |
| | | dataPath: 'OrganCode' |
| | | dataType: 'string' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_ProductID |
| | | { |
| | | columnId: 'ProductID' |
| | | dataPath: 'ProductID' |
| | | dataType: 'string' |
| | | index: 3 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_StockingPointID |
| | | { |
| | | columnId: 'StockingPointID' |
| | | dataPath: 'StockingPointID' |
| | | dataType: 'string' |
| | | index: 4 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Quantity |
| | | { |
| | | columnId: 'Quantity' |
| | | dataPath: 'Quantity' |
| | | dataType: 'real' |
| | | index: 5 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_SendStatus |
| | | { |
| | | columnId: 'SendStatus' |
| | | dataPath: 'SendStatus' |
| | | dataType: 'string' |
| | | index: 6 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_ReleaseBy |
| | | { |
| | | columnId: 'ReleaseBy' |
| | | dataPath: 'ReleaseBy' |
| | | dataType: 'string' |
| | | index: 7 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_ReceiveStatus |
| | | { |
| | | columnId: 'ReceiveStatus' |
| | | dataPath: 'ReceiveStatus' |
| | | dataType: 'string' |
| | | index: 8 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_ReceiveError |
| | | { |
| | | columnId: 'ReceiveError' |
| | | dataPath: 'ReceiveError' |
| | | dataType: 'string' |
| | | index: 9 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormPRData |
| | | { |
| | | title: 'QTIANMA_JITUAN::FormPRData' |
| | | shown: true |
| | | componentID: 'QTIANMA_JITUAN::FormPRData' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 1 |
| | | rowSpan: 15 |
| | | columnPosition: 1 |
| | | columnSpan: 4 |
| | | } |
| | | components |
| | | { |
| | | FormPRData_PanelPRDataButton |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormPRData_ListPRData |
| | | { |
| | | } |
| | | FormPRData_DataSetLevelPRData |
| | | { |
| | | groupDepth: -1 |
| | | column_MRPCalverNo |
| | | { |
| | | columnId: 'MRPCalverNo' |
| | | dataPath: 'MRPCalverNo' |
| | | dataType: 'string' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_ProductID |
| | | { |
| | | columnId: 'ProductID' |
| | | dataPath: 'ProductID' |
| | | dataType: 'string' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_StockingPointID |
| | | { |
| | | columnId: 'StockingPointID' |
| | | dataPath: 'StockingPointID' |
| | | dataType: 'string' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_Quantity |
| | | { |
| | | columnId: 'Quantity' |
| | | dataPath: 'Quantity' |
| | | dataType: 'real' |
| | | index: 3 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | userconfigurableinformation |
| | | { |
| | | } |
| | | page: 'ActionBarPageData' |
| | | group: '' |
| | | index: 0 |
| | | image: 'BEAR' |
| | | description: 'PRç³è¯·' |
| | | } |
| | | formatversion: 2 |
| | | id: 'PR_DATA' |
| | | name: 'PR_DATA' |
| | | isglobal: false |
| | | isroot: true |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | { |
| | | viewcontents |
| | | { |
| | | forms |
| | | { |
| | | form_legacy_1 |
| | | { |
| | | title: 'Scenario manager' |
| | | shown: true |
| | | componentID: 'FormScenarioManager' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 1 |
| | | rowSpan: 8 |
| | | columnPosition: 1 |
| | | columnSpan: 5 |
| | | } |
| | | components |
| | | { |
| | | FormScenarioManager_ListScenario |
| | | { |
| | | } |
| | | FormScenarioManager_DataSetLevelScenario |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 90 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 277 |
| | | } |
| | | column_ChangedBy |
| | | { |
| | | columnId: 'ChangedBy' |
| | | dataPath: 'ChangedBy' |
| | | dataType: 'string' |
| | | title: 'Changed by' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 106 |
| | | } |
| | | column_ChangedOn |
| | | { |
| | | columnId: 'ChangedOn' |
| | | dataPath: 'ChangedOn' |
| | | dataType: 'datetime' |
| | | title: 'Changed on' |
| | | index: 3 |
| | | subtotals: '' |
| | | width: 99 |
| | | } |
| | | column_StorageMode |
| | | { |
| | | columnId: 'StorageMode' |
| | | dataPath: 'StorageMode' |
| | | dataType: 'string' |
| | | title: 'StorageMode' |
| | | index: 4 |
| | | subtotals: '' |
| | | width: 40 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_legacy_2 |
| | | { |
| | | title: 'Assumptions' |
| | | shown: true |
| | | componentID: 'FormAssumptions' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 9 |
| | | rowSpan: 8 |
| | | columnPosition: 1 |
| | | columnSpan: 5 |
| | | } |
| | | components |
| | | { |
| | | FormAssumptions_ListAssumptions |
| | | { |
| | | } |
| | | FormAssumptions_DataSetLevelAssumptions |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Category |
| | | { |
| | | columnId: 'Category' |
| | | dataPath: 'Category' |
| | | dataType: 'string' |
| | | title: 'ç±»å«' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 108 |
| | | } |
| | | column_Importance |
| | | { |
| | | columnId: 'Importance' |
| | | dataPath: 'Importance' |
| | | dataType: 'string' |
| | | title: 'éè¦æ§' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 110 |
| | | } |
| | | column_Title |
| | | { |
| | | columnId: 'Title' |
| | | dataPath: 'Title' |
| | | dataType: 'string' |
| | | title: 'æ é¢' |
| | | index: 3 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_ChangedBy |
| | | { |
| | | columnId: 'ChangedBy' |
| | | dataPath: 'ChangedBy' |
| | | dataType: 'string' |
| | | title: 'Changed by' |
| | | index: 4 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | column_CreatedOn |
| | | { |
| | | columnId: 'CreatedOn' |
| | | dataPath: 'CreatedOn' |
| | | dataType: 'datetime' |
| | | title: 'Created on' |
| | | index: 5 |
| | | subtotals: '' |
| | | width: 150 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormScenariosKPIsComparison |
| | | { |
| | | title: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison' |
| | | shown: true |
| | | componentID: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 1 |
| | | rowSpan: 16 |
| | | columnPosition: 6 |
| | | columnSpan: 7 |
| | | } |
| | | components |
| | | { |
| | | FormScenariosKPIsComparison_MatrixEditorFinancialKPIs |
| | | { |
| | | gridColor: '#c4c4c4' |
| | | totalHeaderWidth: 200 |
| | | attributeHeaderWidthRatio: 0.6 |
| | | nameHeaderWidthRatio: 0.4 |
| | | columnWidth: 100 |
| | | horizontalGrid: true |
| | | verticalGrid: true |
| | | backendState |
| | | { |
| | | componentId: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison.MatrixEditorFinancialKPIs' |
| | | state |
| | | { |
| | | cells |
| | | { |
| | | attributes |
| | | { |
| | | attribute_DisplayValue |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 0 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'DisplayValue' |
| | | } |
| | | } |
| | | } |
| | | columns |
| | | { |
| | | sorting |
| | | { |
| | | criteria: '' |
| | | } |
| | | } |
| | | rows |
| | | { |
| | | sorting |
| | | { |
| | | criteria: "datamember:'KPISetting.DisplayIndex'" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormOptimizerPuzzles |
| | | { |
| | | title: 'Optimizer Puzzles' |
| | | shown: false |
| | | componentID: 'FormOptimizerPuzzles' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 0 |
| | | } |
| | | components |
| | | { |
| | | FormOptimizerPuzzles_ListOptimizerPuzzles |
| | | { |
| | | } |
| | | FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 109 |
| | | } |
| | | column_Description |
| | | { |
| | | columnId: 'Description' |
| | | dataPath: 'Description' |
| | | dataType: 'string' |
| | | title: 'æè¿°' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 207 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormKPI |
| | | { |
| | | title: 'KPI Dashboard' |
| | | shown: true |
| | | componentID: 'FormKPI' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 1 |
| | | } |
| | | components |
| | | { |
| | | FormKPI_PanelKPI |
| | | { |
| | | sizeRatio: 1 |
| | | activeChild: 'PanelKPISelection' |
| | | } |
| | | FormKPI_PanelKPIDashboard |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_PanelKPISelection |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_ListKPISelection |
| | | { |
| | | QuillViewData |
| | | { |
| | | Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume' |
| | | } |
| | | } |
| | | FormKPI_DataSetLevelKPISelection |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'åç§°' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 200 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | userconfigurableinformation |
| | | { |
| | | } |
| | | page: 'applicationDevelopmentActionBarPageDef' |
| | | group: '' |
| | | index: 4 |
| | | image: 'EARTH2' |
| | | description: '' |
| | | } |
| | | formatversion: 2 |
| | | id: 'å
¨å±åæ°' |
| | | name: 'å
¨å±åæ°' |
| | | isglobal: false |
| | | isroot: true |
| | | } |