Merge branch 'dev' of http://47.101.211.7:10101/r/VWED into dev
| | |
| | | Frequency: P1DT0H0M0S |
| | | Priority: 'Default' |
| | | StartDate: 2024-07-19 |
| | | StartTimeOfDay: P0DT9H0M0S |
| | | StartTimeOfDay: P0DT10H0M0S |
| | | Text: |
| | | [* |
| | | options := DatasetFindOptions::Construct( 'InterfaceDataset' ).IncludeOffline( true ); //to load we must search offline datasets. |
| | |
| | | Frequency: P1DT0H0M0S |
| | | Priority: 'Default' |
| | | StartDate: 2024-07-19 |
| | | StartTimeOfDay: P0DT9H0M0S |
| | | StartTimeOfDay: P0DT10H0M0S |
| | | Text: |
| | | [* |
| | | options := DatasetFindOptions::Construct( 'InterfaceDataset' ).IncludeOffline( true ); //to load we must search offline datasets. |
| | |
| | | Frequency: P1DT0H0M0S |
| | | Priority: 'Default' |
| | | StartDate: 2024-07-19 |
| | | StartTimeOfDay: P0DT9H0M0S |
| | | StartTimeOfDay: P0DT10H0M0S |
| | | Text: |
| | | [* |
| | | options := DatasetFindOptions::Construct( 'InterfaceDataset' ).IncludeOffline( true ); //to load we must search offline datasets. |
| | |
| | | { |
| | | DefaultText: 'application/json' |
| | | } |
| | | InfoMessage InterfaceDataset_CustomerDemandPPAIDS_Name |
| | | { |
| | | DefaultText: 'Customer demand(PPA + IDS)' |
| | | } |
| | | InfoMessage InterfaceDataset_FinishedEngineInventory_Name |
| | | { |
| | | DefaultText: 'Finished engine inventory' |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation CustomerDemandPPAIDS_InterfaceDataset_InterfaceDataset_CustomerDemandPPAIDS |
| | | { |
| | | #keys: '1[415136.0.1024850018]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide InterfaceDataset |
| | | { |
| | | #keys: '3[415136.0.1024850020][415136.0.1024850019][415136.0.1024850021]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: CustomerDemandPPAIDS |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide CustomerDemandPPAIDS |
| | | { |
| | | #keys: '3[415136.0.1024850023][415136.0.1024850022][415136.0.1024850024]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: InterfaceDataset |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation CustomerDemandPPAIDS_InterfaceLoginfo_InterfaceLoginfo_CustomerDemandPPAIDS |
| | | { |
| | | #keys: '1[415136.0.1027064726]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide InterfaceLoginfo |
| | | { |
| | | #keys: '3[415136.0.1027064728][415136.0.1027064727][415136.0.1027064729]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: CustomerDemandPPAIDS |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide CustomerDemandPPAIDS |
| | | { |
| | | #keys: '3[415136.0.1027064731][415136.0.1027064730][415136.0.1027064732]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: InterfaceLoginfo |
| | | OwningSide: 'Reference' |
| | | } |
| | | } |
| | |
| | | //Attribute |
| | | //å¤ç§åºå
¥åºè´¹ç¨ |
| | | rententercostcellElement := xmlDOM.CreateElement( "cell" ); |
| | | rententercostcellElement.SetAttribute( "value", 'RentEnterCost' ); |
| | | rententercostcellElement.SetAttribute( "value", 'å¤ç§åºå
¥åºè´¹ç¨' );//RentEnterCost |
| | | attricolumnelement.AppendChild( rententercostcellElement ); |
| | | //å¤ç§åºåºåºè´¹ç¨ |
| | | rentoutcostcellElement := xmlDOM.CreateElement( "cell" ); |
| | | rentoutcostcellElement.SetAttribute( "value", 'RentOutCost' ); |
| | | rentoutcostcellElement.SetAttribute( "value", 'å¤ç§åºåºåºè´¹ç¨' );//RentOutCost |
| | | attricolumnelement.AppendChild( rentoutcostcellElement ); |
| | | //åå
å°å¤ç§åºè¿è¾è´¹ç¨ |
| | | factorytorenttranscostcellElement := xmlDOM.CreateElement( "cell" ); |
| | | factorytorenttranscostcellElement.SetAttribute( "value", 'FactoryToRentTransCost' ); |
| | | factorytorenttranscostcellElement.SetAttribute( "value", 'åå
å°å¤ç§åºè¿è¾è´¹ç¨' );//FactoryToRentTransCost |
| | | attricolumnelement.AppendChild( factorytorenttranscostcellElement ); |
| | | //å¤ç§åºä»å¨è´¹ç¨ |
| | | rentstoragecostcellElement := xmlDOM.CreateElement( "cell" ); |
| | | rentstoragecostcellElement.SetAttribute( "value", 'RentStorageCost' ); |
| | | rentstoragecostcellElement.SetAttribute( "value", 'å¤ç§åºä»å¨è´¹ç¨' );//RentStorageCost |
| | | attricolumnelement.AppendChild( rentstoragecostcellElement ); |
| | | //é¢è®¡æ»è´¹ç¨ |
| | | estimatedtotalcostcellElement := xmlDOM.CreateElement( "cell" ); |
| | | estimatedtotalcostcellElement.SetAttribute( "value", 'EstimatedTotalCost' ); |
| | | estimatedtotalcostcellElement.SetAttribute( "value", 'é¢è®¡æ»è´¹ç¨' );//EstimatedTotalCost |
| | | attricolumnelement.AppendChild( estimatedtotalcostcellElement ); |
| | | //ç³»æ° |
| | | coefficientcellElement := xmlDOM.CreateElement( "cell" ); |
| | | coefficientcellElement.SetAttribute( "value", 'Coefficient' ); |
| | | coefficientcellElement.SetAttribute( "value", 'ç³»æ°' );//Coefficient |
| | | attricolumnelement.AppendChild( coefficientcellElement ); |
| | | //æ»è´¹ç¨ |
| | | totalcostcellElement := xmlDOM.CreateElement( "cell" ); |
| | | totalcostcellElement.SetAttribute( "value", 'TotalCost' ); |
| | | totalcostcellElement.SetAttribute( "value", 'æ»è´¹ç¨' );//TotalCost |
| | | attricolumnelement.AppendChild( totalcostcellElement ); |
| | | } |
| | | //å¤ç§åºå
¥åºè´¹ç¨ |
| | |
| | | //Attribute |
| | | //é¿æ¥å¤ç§åºå
¥åºè´¹ç¨ |
| | | ccrententercostcellElement := xmlDOM.CreateElement( "cell" ); |
| | | ccrententercostcellElement.SetAttribute( "value", 'CCRentEnterCost' ); |
| | | ccrententercostcellElement.SetAttribute( "value", 'é¿æ¥å¤ç§åºå
¥åºè´¹ç¨' );//CCRentEnterCost |
| | | attricolumnelement.AppendChild( ccrententercostcellElement ); |
| | | //é¿æ¥å¤ç§åºåºåºè´¹ç¨ |
| | | ccrentoutcostcellElement := xmlDOM.CreateElement( "cell" ); |
| | | ccrentoutcostcellElement.SetAttribute( "value", 'CCRentOutCost' ); |
| | | ccrentoutcostcellElement.SetAttribute( "value", 'é¿æ¥å¤ç§åºåºåºè´¹ç¨' );//CCRentOutCost |
| | | attricolumnelement.AppendChild( ccrentoutcostcellElement ); |
| | | //é¿æ¥é¿éè¿è¾è´¹ç¨ |
| | | cclongtranscostcellElement := xmlDOM.CreateElement( "cell" ); |
| | | cclongtranscostcellElement.SetAttribute( "value", 'CCLongTransCost' ); |
| | | cclongtranscostcellElement.SetAttribute( "value", 'é¿æ¥é¿éè¿è¾è´¹ç¨' );//CCLongTransCost |
| | | attricolumnelement.AppendChild( cclongtranscostcellElement ); |
| | | //é¿æ¥çéè¿è¾è´¹ç¨ |
| | | ccshorttranscostcellElement := xmlDOM.CreateElement( "cell" ); |
| | | ccshorttranscostcellElement.SetAttribute( "value", 'CCShortTransCost' ); |
| | | ccshorttranscostcellElement.SetAttribute( "value", 'é¿æ¥çéè¿è¾è´¹ç¨' );//CCShortTransCost |
| | | attricolumnelement.AppendChild( ccshorttranscostcellElement ); |
| | | //é¿æ¥å¤ç§åºä»å¨è´¹ç¨ |
| | | ccrentstoragecostcellElement := xmlDOM.CreateElement( "cell" ); |
| | | ccrentstoragecostcellElement.SetAttribute( "value", 'CCRentStorageCost' ); |
| | | ccrentstoragecostcellElement.SetAttribute( "value", 'é¿æ¥å¤ç§åºä»å¨è´¹ç¨' );//CCRentStorageCost |
| | | attricolumnelement.AppendChild( ccrentstoragecostcellElement ); |
| | | //大è¿å¤ç§åºå
¥åºè´¹ç¨ |
| | | dlrententercostcellElement := xmlDOM.CreateElement( "cell" ); |
| | | dlrententercostcellElement.SetAttribute( "value", 'DLRentEnterCost' ); |
| | | dlrententercostcellElement.SetAttribute( "value", '大è¿å¤ç§åºå
¥åºè´¹ç¨' );//DLRentEnterCost |
| | | attricolumnelement.AppendChild( dlrententercostcellElement ); |
| | | //大è¿å¤ç§åºåºåºè´¹ç¨ |
| | | dlrentoutcostcellElement := xmlDOM.CreateElement( "cell" ); |
| | | dlrentoutcostcellElement.SetAttribute( "value", 'DLRentOutCost' ); |
| | | dlrentoutcostcellElement.SetAttribute( "value", '大è¿å¤ç§åºåºåºè´¹ç¨' );//DLRentOutCost |
| | | attricolumnelement.AppendChild( dlrentoutcostcellElement ); |
| | | //åå
å°å¤ç§åºè¿è¾è´¹ç¨ |
| | | factorytorenttranscostcellElement := xmlDOM.CreateElement( "cell" ); |
| | | factorytorenttranscostcellElement.SetAttribute( "value", 'FactoryToRentTransCost' ); |
| | | factorytorenttranscostcellElement.SetAttribute( "value", 'åå
å°å¤ç§åºè¿è¾è´¹ç¨' );//FactoryToRentTransCost |
| | | attricolumnelement.AppendChild( factorytorenttranscostcellElement ); |
| | | //大è¿å¤ç§åºä»å¨è´¹ç¨ |
| | | dlrentstoragecostcellElement := xmlDOM.CreateElement( "cell" ); |
| | | dlrentstoragecostcellElement.SetAttribute( "value", 'DLRentStorageCost' ); |
| | | dlrentstoragecostcellElement.SetAttribute( "value", '大è¿å¤ç§åºä»å¨è´¹ç¨' );//DLRentStorageCost |
| | | attricolumnelement.AppendChild( dlrentstoragecostcellElement ); |
| | | //é¢è®¡æ»è´¹ç¨ |
| | | estimatedtotalcostcellElement := xmlDOM.CreateElement( "cell" ); |
| | | estimatedtotalcostcellElement.SetAttribute( "value", 'EstimatedTotalCost' ); |
| | | estimatedtotalcostcellElement.SetAttribute( "value", 'é¢è®¡æ»è´¹ç¨' );//EstimatedTotalCost |
| | | attricolumnelement.AppendChild( estimatedtotalcostcellElement ); |
| | | //ç³»æ° |
| | | coefficientcellElement := xmlDOM.CreateElement( "cell" ); |
| | | coefficientcellElement.SetAttribute( "value", 'Coefficient' ); |
| | | coefficientcellElement.SetAttribute( "value", 'ç³»æ°' );//Coefficient |
| | | attricolumnelement.AppendChild( coefficientcellElement ); |
| | | //æ»è´¹ç¨ |
| | | totalcostcellElement := xmlDOM.CreateElement( "cell" ); |
| | | totalcostcellElement.SetAttribute( "value", 'TotalCost' ); |
| | | totalcostcellElement.SetAttribute( "value", 'æ»è´¹ç¨' );//TotalCost |
| | | attricolumnelement.AppendChild( totalcostcellElement ); |
| | | } |
| | | //é¿æ¥å¤ç§åºå
¥åºè´¹ç¨ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute PackagingCapacity |
| | | { |
| | | #keys: '3[415754.0.111003142][415754.0.111003141][415754.0.111003143]' |
| | | Description: 'å
è£
容é' |
| | | ValueType: Number |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute PlannedInventory |
| | | { |
| | | #keys: '3[415754.0.111003178][415754.0.111003177][415754.0.111003179]' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Function CalcNumberOfEmptyShelves |
| | | { |
| | | TextBody: |
| | | [* |
| | | // vwedadmin Aug-20-2024 (created) |
| | | |
| | | value := guard( [Number] ( this.TotalQuantityOfMaterialRacks() - ( this.PlannedInventory() / this.PackagingCapacity() ) ), 0 ); |
| | | |
| | | this.NumberOfEmptyShelves( value ); |
| | | *] |
| | | } |
| | |
| | | macroPlan.CC_EngineRackRow( relflush ); |
| | | macroPlan.CC_EngineRackColumn( relflush ); |
| | | |
| | | // å建è¡EVO5 MLB, EVO5 MQB, GEN3 MLB, GEN3 MQB |
| | | macroPlan.CC_EngineRackRow( relnew, Generation := "EVO5", MLB_MQB := "MLB" ); |
| | | macroPlan.CC_EngineRackRow( relnew, Generation := "EVO5", MLB_MQB := "MQB" ); |
| | | macroPlan.CC_EngineRackRow( relnew, Generation := "GEN3", MLB_MQB := "MLB" ); |
| | | macroPlan.CC_EngineRackRow( relnew, Generation := "GEN3", MLB_MQB := "MQB" ); |
| | | // åå»ºè¡ |
| | | genrations := selectuniquevalues( macroPlan, Product_MP, tempPMP, tempPMP.Generation().TrimBoth() <> "", tempPMP.Generation() ); |
| | | mqbmlbs := selectuniquevalues( macroPlan, Product_MP, tempPMP, tempPMP.MQBMLB().TrimBoth() <> "", tempPMP.MQBMLB() ); |
| | | traverse ( genrations, Elements, g, g.ToUpper() = "EVO5" or g.ToUpper() = "GEN3" ) { |
| | | traverse ( mqbmlbs, Elements, m, m.ToUpper() = "MLB" or m.ToUpper() = "MQB" ) { |
| | | macroPlan.CC_EngineRackRow( relnew, Generation := g, MLB_MQB := m ); |
| | | } |
| | | } |
| | | |
| | | // å建å |
| | | indexDate := macroPlan.StartOfPlanning().Date().StartOfMonth(); |
| | |
| | | |
| | | // å建åå
æ ¼ |
| | | traverse ( macroPlan, CC_EngineRackRow, ccerr ) { |
| | | |
| | | // å卿ºææ¬åæ° |
| | | lce := select( macroPlan, LogisticsCostEngine, tempLCE, tempLCE.Generation() = ccerr.Generation() and tempLCE.MLB_MQB() = ccerr.MLB_MQB() and tempLCE.Factory() = "é¿æ¥å·¥å" ); |
| | | |
| | | // ææ¶ææ¬åæ° |
| | | lcmr := select( macroPlan, LogisticsCostMaterialRack, tempLCMR, tempLCMR.Factory() = "é¿æ¥å·¥å" ); |
| | | |
| | | traverse ( macroPlan, CC_EngineRackColumn, ccerc ) { |
| | | cell := ccerr.CC_EngineRackCell( relnew ); |
| | | |
| | | // ç©ºææ¶æ°éï¼é¿æ¥å该产åçææ¶æ»æ°é - å卿ºåºå / å
è£
容é ï¼ |
| | | lastDayOfThisMonth := ccerc.StartDate().StartOfNextMonth() - 1; |
| | | plannedInventory := sum( macroPlan, Product_MP.ProductInStockingPoint_MP.ProductInStockingPointInPeriod, tempPISPIP, |
| | | tempPISPIP.ProductInStockingPoint_MP().Product_MP().IsLeaf() and |
| | | tempPISPIP.ProductInStockingPoint_MP().Product_MP().ParentID() = "产æå" and |
| | | tempPISPIP.ProductInStockingPoint_MP().StockingPointID() = "é¿æ¥å¤ç§åº" and |
| | | tempPISPIP.ProductInStockingPoint_MP().Product_MP().Generation() = ccerr.Generation() and |
| | | tempPISPIP.ProductInStockingPoint_MP().Product_MP().MQBMLB() = ccerr.MLB_MQB() and |
| | | tempPISPIP.Start().Date() = lastDayOfThisMonth, |
| | | tempPISPIP.PlannedInventoryLevelEnd() ); |
| | | cell.PackagingCapacity( guard( lce.PackagingCapacity(), 0 ) ); |
| | | cell.PlannedInventory( plannedInventory ); |
| | | |
| | | // å¤ç§åºå
¥åºè´¹ç¨ï¼å卿ºéé / å
è£
容é[åä¸åæ´] * ææ¶å
¥åºåä»·ï¼ |
| | | engineSales := sum( macroPlan, FSImportData, tempFSID, |
| | | tempFSID.Unit() = "é¿æ¥å·¥å" and |
| | | tempFSID.Generation() = ccerr.Generation() and |
| | | tempFSID.MqbMlb() = ccerr.MLB_MQB() and |
| | | tempFSID.StartDate().Year() = ccerc.StartDate().Year() and |
| | | tempFSID.StartDate().Month() = ccerc.StartDate().Month(), |
| | | tempFSID.Quantity() ); |
| | | cell.StorageFeesForRentedWarehouses( guard( [Number] ( engineSales / guard( lce.PackagingCapacity(), 0 ) ) * guard( lcmr.WarehousingPrice(), 0 ), 0 ) ); |
| | | |
| | | // å¤ç§åºåºåºè´¹ç¨ï¼å卿ºäº§é / å
è£
容é[åä¸åæ´] * ææ¶åºåºåä»·ï¼ |
| | | engineProductions := sum( macroPlan, FPImportData, tempFPID, |
| | | tempFPID.Unit() = "é¿æ¥å·¥å" and |
| | | tempFPID.Generation() = ccerr.Generation() and |
| | | tempFPID.MqbMlb() = ccerr.MLB_MQB() and |
| | | tempFPID.StartDate().Year() = ccerc.StartDate().Year() and |
| | | tempFPID.StartDate().Month() = ccerc.StartDate().Month(), |
| | | tempFPID.Quantity() ); |
| | | cell.OutboundExpensesForRentedWarehouses( guard( [Number] ( engineProductions / guard( lce.PackagingCapacity(), 0 ) ) * guard( lcmr.OutboundPrice(), 0 ), 0 ) ); |
| | | |
| | | // å¤ç§åºè¿è¾è´¹ç¨ï¼å卿ºè¿è¾é/å
è£
容é/è£
载容éï¼åä¸åæ´ï¼*ææ¶è¿è¾åä»· |
| | | // å¤ç§åºä»å¨è´¹ç¨ï¼ææ¶æ»æ°é-å卿ºåºå/å
è£
容éï¼åä¸åæ´ï¼ï¼åä¹ä»¥ç©ºææ¶ä»å¨åä»·å¾å°ç©ºææ¶ä»å¨è´¹ç¨ãå卿ºåºååActual inventorieséåå°é¿æ¥å¤ç§åºè¯¥å卿ºçä»å¨éï¼ææ¶æ»æ°ééè¦æå¨ç»´æ¤ã |
| | | // æ¸
æ´è´¹ç¨ï¼å卿ºå
¥åºé/å
è£
容é*ææ¶æ¸
æ´åä»·ãå卿ºå
¥åºéåå卿ºééï¼å
è£
容éåèªå卿ºææ¬è¡¨ãææ¶æ¸
æ´åä»·åææ¶ææ¬è¡¨ã |
| | | |
| | | cell.CC_EngineRackColumn( relset, ccerc ); |
| | | } |
| | | } |
| | | *] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute DemandDate |
| | | { |
| | | #keys: '3[415136.0.1022289854][415136.0.1022289853][415136.0.1022289855]' |
| | | Description: 'éæ±æ¥æ' |
| | | ValueType: Date |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute DemandQty |
| | | { |
| | | #keys: '3[415136.0.1022289864][415136.0.1022289863][415136.0.1022289865]' |
| | | Description: 'éæ±æ°é' |
| | | ValueType: Number |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Fac |
| | | { |
| | | #keys: '3[415136.0.1022289894][415136.0.1022289893][415136.0.1022289895]' |
| | | Description: 'å·¥åç®å' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute FactoryName |
| | | { |
| | | #keys: '3[415136.0.1022289884][415136.0.1022289883][415136.0.1022289885]' |
| | | Description: 'å·¥ååç§°' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute InterfaceTime |
| | | { |
| | | #keys: '3[415136.0.1022289904][415136.0.1022289903][415136.0.1022289905]' |
| | | Description: 'æ¥å£æ¶é´' |
| | | ValueType: DateTime |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Product |
| | | { |
| | | #keys: '3[415136.0.1022289844][415136.0.1022289843][415136.0.1022289845]' |
| | | Description: 'ç©æå·' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute VersionFlag |
| | | { |
| | | #keys: '3[415136.0.1022289914][415136.0.1022289913][415136.0.1022289915]' |
| | | Description: 'çæ¬æ è¯' |
| | | ValueType: Boolean |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute VersionName |
| | | { |
| | | #keys: '3[415136.0.1022289874][415136.0.1022289873][415136.0.1022289875]' |
| | | Description: 'çæ¬åç§°' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GenerateData ( |
| | | const MacroPlan macroplan, |
| | | InterfaceDataset interfaceDataset, |
| | | String executor, |
| | | Boolean versionflag |
| | | ) |
| | | { |
| | | Description: 'çæå¯ä»¥ä¸åç客æ·éæ±ï¼PPA+IDSï¼æ°æ®' |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Aug-20-2024 (created) |
| | | cdlast := maxobject( interfaceDataset, CustomerDemandPPAIDS, cd, cd.InterfaceTime(), cd.DemandDate(), cd.Product() ); |
| | | if( not isnull( cdlast ) ){ |
| | | loginfo := cdlast.InterfaceLoginfo(); |
| | | if( not loginfo.IsShow() ){ |
| | | loginfo.Delete(); |
| | | }else{ |
| | | loginfo.Last( false ); |
| | | } |
| | | interfaceDataset.CustomerDemandPPAIDS( relflush ); |
| | | } |
| | | nowdate := DateTime::ActualTime(); |
| | | loginfo := interfaceDataset.InterfaceLoginfo( relnew, ExecuteUser := executor |
| | | , Name := Translations::InterfaceDataset_CustomerDemandPPAIDS_Name() |
| | | , InterfaceDateTime := DateTime::ActualTime() |
| | | , Message := '客æ·éæ±ï¼PPA+IDSï¼æ°æ®æ¨é' |
| | | , IsShow := false |
| | | , Last := true |
| | | , ReturnSuccess := true |
| | | , ReturnMsg := 'Success' |
| | | , Success := true |
| | | ); |
| | | traverse( macroplan, SalesDemand.astype( Forecast ), forecast ){ |
| | | cd :=interfaceDataset.CustomerDemandPPAIDS( relnew, Product := forecast.ProductID() |
| | | , DemandDate := forecast.StartDate() |
| | | , DemandQty := [Number]forecast.Quantity() |
| | | , VersionName := macroplan.ScenarioName() |
| | | , InterfaceTime := nowdate |
| | | , VersionFlag := versionflag |
| | | ); |
| | | loginfo.CustomerDemandPPAIDS( relinsert, cd ); |
| | | } |
| | | loginfo.TotalRow( loginfo.CustomerDemandPPAIDS( relsize ) ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type CustomerDemandPPAIDS |
| | | { |
| | | #keys: '5[415136.0.1022289840][415136.0.1022289838][0.0.0][415136.0.1022289839][415136.0.1022289841]' |
| | | BaseType: Object |
| | | Description: '客æ·éæ±ï¼PPA+IDSï¼' |
| | | StructuredName: 'CustomerDemandPPAIDSs' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute IsShow |
| | | { |
| | | #keys: '3[415136.0.1027064712][415136.0.1027064711][415136.0.1027064713]' |
| | | Description: 'æ¯å¦æ¾ç¤º' |
| | | ValueType: Boolean |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | ISOValue: 'true' |
| | | TargetAttribute: IsShow |
| | | } |
| | |
| | | |
| | | if( loginfo.Success() ){ |
| | | resultJson := JSON::Parse( loginfo.Response() ); |
| | | code := resultJson.Get( "code" ).AsString(); |
| | | msg := resultJson.Get( "message" ).AsString(); |
| | | code := resultJson.Get( "code" ).GetString(); |
| | | msg := resultJson.Get( "message" ).GetString(); |
| | | data := resultJson.Get( "data" ); |
| | | |
| | | loginfo.ReturnMsg( msg ); |
| | |
| | | //Attribute |
| | | //ææ«åºå |
| | | endcellElement := xmlDOM.CreateElement( "cell" ); |
| | | endcellElement.SetAttribute( "value", 'EndingInventory' ); |
| | | endcellElement.SetAttribute( "value", 'ææ«åºå' );//EndingInventory |
| | | attricolumnelement.AppendChild( endcellElement ); |
| | | //æå°åºå |
| | | mincellElement := xmlDOM.CreateElement( "cell" ); |
| | | mincellElement.SetAttribute( "value", 'MinimumInventory' ); |
| | | mincellElement.SetAttribute( "value", 'æå°åºå' );//MinimumInventory |
| | | attricolumnelement.AppendChild( mincellElement ); |
| | | //æå¤§åºå |
| | | maxcellElement := xmlDOM.CreateElement( "cell" ); |
| | | maxcellElement.SetAttribute( "value", 'MaximumInventory' ); |
| | | maxcellElement.SetAttribute( "value", 'æå¤§åºå' );//MaximumInventory |
| | | attricolumnelement.AppendChild( maxcellElement ); |
| | | //å¹³ååºå |
| | | avecellElement := xmlDOM.CreateElement( "cell" ); |
| | | avecellElement.SetAttribute( "value", 'AverageInventory' ); |
| | | avecellElement.SetAttribute( "value", 'å¹³ååºå' );//AverageInventory |
| | | attricolumnelement.AppendChild( avecellElement ); |
| | | } |
| | | //ææ«åºå |
| | |
| | | //Attribute |
| | | //é¿æ¥è£
é
计å |
| | | ccaqcellElement := xmlDOM.CreateElement( "cell" ); |
| | | ccaqcellElement.SetAttribute( "value", 'CCAssemblyPlanQty' ); |
| | | ccaqcellElement.SetAttribute( "value", 'é¿æ¥è£
é
计å' );//CCAssemblyPlanQty |
| | | attricolumnelement.AppendChild( ccaqcellElement ); |
| | | //é¿æ¥ç产计å |
| | | ccpqcellElement := xmlDOM.CreateElement( "cell" ); |
| | | ccpqcellElement.SetAttribute( "value", 'CCProductionQty' ); |
| | | ccpqcellElement.SetAttribute( "value", 'é¿æ¥ç产计å' );//CCProductionQty |
| | | attricolumnelement.AppendChild( ccpqcellElement ); |
| | | //é¿æ¥è°æ¨è®¡å |
| | | cctqcellElement := xmlDOM.CreateElement( "cell" ); |
| | | cctqcellElement.SetAttribute( "value", 'CCTransferQty' ); |
| | | cctqcellElement.SetAttribute( "value", 'é¿æ¥è°æ¨è®¡å' );//CCTransferQty |
| | | attricolumnelement.AppendChild( cctqcellElement ); |
| | | //é¿æ¥åºå |
| | | cciqcellElement := xmlDOM.CreateElement( "cell" ); |
| | | cciqcellElement.SetAttribute( "value", 'CCInventoryQty' ); |
| | | cciqcellElement.SetAttribute( "value", 'é¿æ¥åºå' );//CCInventoryQty |
| | | attricolumnelement.AppendChild( cciqcellElement ); |
| | | //大è¿è£
é
计å |
| | | dlaqcellElement := xmlDOM.CreateElement( "cell" ); |
| | | dlaqcellElement.SetAttribute( "value", 'DLAssemblyPlanQty' ); |
| | | dlaqcellElement.SetAttribute( "value", '大è¿è£
é
计å' );//DLAssemblyPlanQty |
| | | attricolumnelement.AppendChild( dlaqcellElement ); |
| | | //大è¿ç产计å |
| | | dlpqcellElement := xmlDOM.CreateElement( "cell" ); |
| | | dlpqcellElement.SetAttribute( "value", 'DLProductionQty' ); |
| | | dlpqcellElement.SetAttribute( "value", '大è¿ç产计å' );//DLProductionQty |
| | | attricolumnelement.AppendChild( dlpqcellElement ); |
| | | //大è¿è°æ¨è®¡å |
| | | dltqcellElement := xmlDOM.CreateElement( "cell" ); |
| | | dltqcellElement.SetAttribute( "value", 'DLTransferQty' ); |
| | | dltqcellElement.SetAttribute( "value", '大è¿è°æ¨è®¡å' );//DLTransferQty |
| | | attricolumnelement.AppendChild( dltqcellElement ); |
| | | //大è¿åºå |
| | | dliqcellElement := xmlDOM.CreateElement( "cell" ); |
| | | dliqcellElement.SetAttribute( "value", 'DLInventoryQty' ); |
| | | dliqcellElement.SetAttribute( "value", '大è¿åºå' );//DLInventoryQty |
| | | attricolumnelement.AppendChild( dliqcellElement ); |
| | | //é¿æ¥ + å¤§è¿ åºå |
| | | tiqcellElement := xmlDOM.CreateElement( "cell" ); |
| | | tiqcellElement.SetAttribute( "value", 'TotalInventoryQty' ); |
| | | tiqcellElement.SetAttribute( "value", 'é¿æ¥ + 大è¿åºå' );//TotalInventoryQty |
| | | attricolumnelement.AppendChild( tiqcellElement ); |
| | | } |
| | | //é¿æ¥è£
é
计å |
| | |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Taborder: 3 |
| | | Taborder: 4 |
| | | Title: '计ååºåæ°æ®æ¨éæ¥å£æµè¯' |
| | | ] |
| | | } |
| | | Component MenuInterface367 |
| | | { |
| | | #keys: '[415136.0.1024980241]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Separator: true |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component MenuCustomerDemandPPAIDS |
| | | { |
| | | #keys: '[415136.0.1024980263]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'FLAG_AMBER' |
| | | Taborder: 5 |
| | | Title: 'Customer demand(PPA + IDS)' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ContextMenuInterface/MenuCustomerDemandPPAIDS |
| | | Response OnClick () id:Response_MacroPlanner_ContextMenuInterface_MenuCustomerDemandPPAIDS_OnClick |
| | | { |
| | | #keys: '[415136.0.1024980283]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebMenu_OnClick' |
| | | Precondition: |
| | | [* |
| | | return not isnull( MacroPlan ) and not isnull( InterfaceDataset ); |
| | | *] |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | |
| | | dlg := construct( DialogCustomerDemandPPAIDS ); |
| | | dlg.Title( Translations::InterfaceDataset_CustomerDemandPPAIDS_Name() ); |
| | | dlg.New( Translations::InterfaceDataset_CustomerDemandPPAIDS_Name() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component pnlActions |
| | | { |
| | | #keys: '[415136.0.1022501788]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component btnOk |
| | | { |
| | | #keys: '[415136.0.1022501792]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'OK' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component btnCancel |
| | | { |
| | | #keys: '[415136.0.1022501794]' |
| | | 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: '[415136.0.1022501786]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component rbgVersionFlag |
| | | { |
| | | #keys: '[415136.0.1022501839]' |
| | | BaseType: 'WebRadioButtonGroup' |
| | | Properties: |
| | | [ |
| | | ButtonLabels: 'åå¸çæ¬;æ±æ¥çæ¬' |
| | | ButtonValues: 'true;false' |
| | | Taborder: 0 |
| | | Title: 'çæ¬æ è¯' |
| | | ] |
| | | } |
| | | Component efInterfacename |
| | | { |
| | | #keys: '[415136.0.1022501890]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | Label: 'æ¥å£åç§°' |
| | | Taborder: 1 |
| | | Visible: false |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Padding: 'true' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method New ( |
| | | String name |
| | | ) id:Method_DialogCustomerDemandPPAIDS_New |
| | | { |
| | | #keys: '[415136.0.1022502059]' |
| | | Body: |
| | | [* |
| | | // Edit Product(s) |
| | | efInterfacename.Text( name ); |
| | | |
| | | ApplicationMacroPlanner.ShowFormModal( this ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method OnOK () id:Method_DialogCustomerDemandPPAIDS_OnOK |
| | | { |
| | | #keys: '[415136.0.1022502154]' |
| | | Body: |
| | | [* |
| | | // On ok |
| | | Form.ApplyChanges(); |
| | | |
| | | if( efInterfacename.Text() = Translations::InterfaceDataset_CustomerDemandPPAIDS_Name() ){ |
| | | CustomerDemandPPAIDS::GenerateData( MacroPlan, InterfaceDataset, QuintiqUser::CurrentUser().DisplayName(), ifexpr( rbgVersionFlag.BoundValue() = "true", true, false ) ); |
| | | } |
| | | |
| | | Form.Close(); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pnlActions/btnCancel |
| | | Response OnClick () id:Response_pnlActions_btnCancel_OnClick |
| | | { |
| | | #keys: '[415136.0.1022501798]' |
| | | 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: '[415136.0.1022501797]' |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | Form.OnOK(); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlannerWebApp |
| | | OrphanComponent DialogCustomerDemandPPAIDS |
| | | { |
| | | #keys: '[415136.0.1022501784]' |
| | | BaseType: 'WebForm' |
| | | Children: |
| | | [ |
| | | #child: pnlContent |
| | | #child: pnlActions |
| | | ] |
| | | Properties: |
| | | [ |
| | | Alignment: 'trailing' |
| | | EnterButton: 'btnOk' |
| | | EscapeButton: 'btnCancel' |
| | | ExcludeFromActiveComponent: true |
| | | Image: 'FLAG_AMBER' |
| | | Padding: 'false' |
| | | Title: 'Customer demand(PPA + IDS)' |
| | | ] |
| | | } |
| | |
| | | Body: |
| | | [* |
| | | CC_EngineRackCell::CreateData( MacroPlan ); |
| | | |
| | | WebMessageBox::Success( Translations::A_VWED_Success() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | FormCC_EngineRackReport_MatrixEditor531 |
| | | { |
| | | gridColor: '#c4c4c4' |
| | | totalHeaderWidth: 200 |
| | | totalHeaderWidth: 500 |
| | | attributeHeaderWidthRatio: 0.6 |
| | | nameHeaderWidthRatio: 0.4 |
| | | columnWidth: 100 |