From 0b84c9999f07bc46275f5947c4b8ebf5ce0c25cf Mon Sep 17 00:00:00 2001 From: 陈清红 <420599804@qq.com> Date: 星期一, 14 四月 2025 15:51:58 +0800 Subject: [PATCH] BUG&优化项 --- _Main/BL/Type_NewAssemblyOnlinePlanCell/StaticMethod_DetectingNegativeValues.qbl | 29 + _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelPeriod_71_bSynchronizeActualInventory_OnClick.def | 18 _Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterfaceForSAPGet.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Response_lstRight590_71_OnCheckedChanged#338.def | 19 _Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_Publish.qbl | 16 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_PanelScenarioSelection.def | 14 _Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Response_lstRight590_71_OnCreated.def | 28 + _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuPublishSAP_mAPIMS64ProductRelation_OnClick.def | 16 _Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Component_lstRight590.def | 2 _Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_listContextMenu519.def | 24 _Main/BL/Relations/Relation_APIRMS64ProductRelation_InterfaceDataset_InterfaceDataset_APIRMS64P.qbl | 23 _Main/UI/MacroPlannerWebApp/Component_FormActualDailyProduction/Component_ListActualDailyProduction.def | 2 _Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Response_List391_bPush_OnClick.def | 2 _Main/BL/Type_OfflinePlanArchiveVersionCell/StaticMethod_SynchronizeActualProduction.qbl | 51 + _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_MatrixEditorTable#384.def | 20 _Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Response_pHeader_bCreate_OnClick.def | 18 _Main/UI/MacroPlannerWebApp/Component_FormInventoryPointSelection/Component_ListInventoryPointSelection.def | 2 _Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_pnlRight#836.def | 25 _Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_pHeader.def | 47 + _Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Component_pHeader.def | 10 _Main/BL/Type_NewOfflinePlanCell/StaticMethod_DetectingNegativeValues.qbl | 31 + _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelPeriod#71.def | 11 _Main/BL/Type_InventoryPlanArchiveRow/Method_SetQuantity.qbl | 14 _Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/_ROOT_Component_FormAPIRMS64ProductRelation.def | 13 _Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GenerateData.qbl | 7 _Main/BL/Type_APIRMS64ProductRelation/_ROOT_Type_APIRMS64ProductRelation.qbl | 9 _Main/BL/Type_InventoryPlanArchiveCell/StaticMethod_SynchronizeActualInventory.qbl | 51 + _Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_pnlContent.def | 2 _Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Response_pHeader_ddslProduct_OnCreated.def | 18 _Main/BL/Type_InventoryInterfaceData/StaticMethod_UpdateInventoryQuantity.qbl | 41 + _Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_pContent.def | 14 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelPeriod_ButtonPeriod_OnClick.def | 18 _Main/BL/Type_APIRMS64ProductRelation/Attribute_Factory.qbl | 13 _Main/BL/Type_InventoryPlanArchiveVersion/StaticMethod_GenerateData.qbl | 134 +++- _Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Response_pnlLeft_88_ddslFactory_OnSelectionChanged.def | 28 + _Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Response_pHeader_bWriteBackTheTransferPlan_OnClick.def | 22 _Main/BL/Dataset_InterfaceDataset/Daemon_ActualDailyProductionInterface.qbl | 2 _Main/BL/Type_APIRMS64ProductRelation/Attribute_Product.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormInventoryInterfaceData/Response_pHeader_bFilter_OnClick.def | 3 _Main/BL/Type_TransferPlanCell/StaticMethod_WriteBackTheTransferPlan.qbl | 52 + _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuPublishSAP.def | 10 _Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_List920.def | 59 ++ _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelTable#881.def | 27 _Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_cmRight681#1.def | 10 _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelTable#273.def | 27 _Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_pHeader#136.def | 10 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelTable.def | 2 _Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_pHeader.def | 10 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupScenarioSelection.def | 8 _Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_abpRight481#1.def | 10 _Main/BL/Dataset_InterfaceDataset/Daemon_FinishedEngineInventoryInterface#0.qbl | 2 _Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_listActionBarPage590.def | 10 _Main/BL/Dataset_InterfaceDataset/Daemon_MachineStockInterface.qbl | 2 _Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Response_lstRight590_OnCreated.def | 28 + _Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Method_OnOk.def | 6 _Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Response_List920_mDelete_OnClick.def | 18 _Main/UI/MacroPlannerWebApp/Views/APIMS64ProductRelation.vw | 307 ++++++++++ _Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_lstRight590#71.def | 44 + _Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Response_pnlLeft_ddslFactory_OnSelectionChanged.def | 30 + _Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Response_pHeader_136_bDetectingNegativeValues_OnClick#812.def | 18 _Main/BL/Type_AOnlineAndMOfflinePlanMS64/StaticMethod_GenerateData.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageScenarioSelection.def | 4 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelPeriod.def | 11 _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_MatrixEditorTable#791.def | 20 _Main/BL/Dataset_InterfaceDataset/Daemon_ShippingActualInterface.qbl | 2 _Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Response_lstRight590_71_OnCheckedChanged.def | 16 _Main/UI/MacroPlannerWebApp/Views/Inventory_plan_archive_report.vw | 57 + _Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Method_OnOk.def | 3 _Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_pnlLeft.def | 1 _Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Response_pHeader_bDetectingNegativeValues_OnClick.def | 18 70 files changed, 1,552 insertions(+), 88 deletions(-) diff --git a/_Main/BL/Dataset_InterfaceDataset/Daemon_ActualDailyProductionInterface.qbl b/_Main/BL/Dataset_InterfaceDataset/Daemon_ActualDailyProductionInterface.qbl index ecc498d..accd1d8 100644 --- a/_Main/BL/Dataset_InterfaceDataset/Daemon_ActualDailyProductionInterface.qbl +++ b/_Main/BL/Dataset_InterfaceDataset/Daemon_ActualDailyProductionInterface.qbl @@ -5,7 +5,7 @@ Frequency: P1DT0H0M0S Priority: 'Default' StartDate: 2020-01-01 - StartTimeOfDay: P0DT10H0M0S + StartTimeOfDay: P0DT9H30M0S Text: [* options := DatasetFindOptions::Construct( 'InterfaceDataset' ).IncludeOffline( true ); //to load we must search offline datasets. diff --git "a/_Main/BL/Dataset_InterfaceDataset/Daemon_FinishedEngineInventoryInterface\0430.qbl" "b/_Main/BL/Dataset_InterfaceDataset/Daemon_FinishedEngineInventoryInterface\0430.qbl" index 60fb321..fe6de8e 100644 --- "a/_Main/BL/Dataset_InterfaceDataset/Daemon_FinishedEngineInventoryInterface\0430.qbl" +++ "b/_Main/BL/Dataset_InterfaceDataset/Daemon_FinishedEngineInventoryInterface\0430.qbl" @@ -5,7 +5,7 @@ Frequency: P1DT0H0M0S Priority: 'Default' StartDate: 2024-07-19 - StartTimeOfDay: P0DT10H0M0S + StartTimeOfDay: P0DT9H30M0S Text: [* options := DatasetFindOptions::Construct( 'InterfaceDataset' ).IncludeOffline( true ); //to load we must search offline datasets. diff --git a/_Main/BL/Dataset_InterfaceDataset/Daemon_MachineStockInterface.qbl b/_Main/BL/Dataset_InterfaceDataset/Daemon_MachineStockInterface.qbl index 7f710f2..a89df67 100644 --- a/_Main/BL/Dataset_InterfaceDataset/Daemon_MachineStockInterface.qbl +++ b/_Main/BL/Dataset_InterfaceDataset/Daemon_MachineStockInterface.qbl @@ -5,7 +5,7 @@ Frequency: P1DT0H0M0S Priority: 'Default' StartDate: 2024-07-19 - StartTimeOfDay: P0DT10H0M0S + StartTimeOfDay: P0DT9H30M0S Text: [* options := DatasetFindOptions::Construct( 'InterfaceDataset' ).IncludeOffline( true ); //to load we must search offline datasets. diff --git a/_Main/BL/Dataset_InterfaceDataset/Daemon_ShippingActualInterface.qbl b/_Main/BL/Dataset_InterfaceDataset/Daemon_ShippingActualInterface.qbl index a2bfd9f..1992c36 100644 --- a/_Main/BL/Dataset_InterfaceDataset/Daemon_ShippingActualInterface.qbl +++ b/_Main/BL/Dataset_InterfaceDataset/Daemon_ShippingActualInterface.qbl @@ -5,7 +5,7 @@ Frequency: P1DT0H0M0S Priority: 'Default' StartDate: 2024-07-19 - StartTimeOfDay: P0DT10H0M0S + StartTimeOfDay: P0DT9H30M0S Text: [* options := DatasetFindOptions::Construct( 'InterfaceDataset' ).IncludeOffline( true ); //to load we must search offline datasets. diff --git a/_Main/BL/Relations/Relation_APIRMS64ProductRelation_InterfaceDataset_InterfaceDataset_APIRMS64P.qbl b/_Main/BL/Relations/Relation_APIRMS64ProductRelation_InterfaceDataset_InterfaceDataset_APIRMS64P.qbl new file mode 100644 index 0000000..9749331 --- /dev/null +++ b/_Main/BL/Relations/Relation_APIRMS64ProductRelation_InterfaceDataset_InterfaceDataset_APIRMS64P.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation APIRMS64ProductRelation_InterfaceDataset_InterfaceDataset_APIRMS64ProductRelation +{ + #keys: '1[730572.0.162835510]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide InterfaceDataset + { + #keys: '3[730572.0.162835512][730572.0.162835511][730572.0.162835513]' + Cardinality: '0to1' + ObjectDefinition: APIRMS64ProductRelation + OwningSide: 'Reference' + } + RelationSide.RightSide APIRMS64ProductRelation + { + #keys: '3[730572.0.162835515][730572.0.162835514][730572.0.162835516]' + Cardinality: '1toN' + ObjectDefinition: InterfaceDataset + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Type_AOnlineAndMOfflinePlanMS64/StaticMethod_GenerateData.qbl b/_Main/BL/Type_AOnlineAndMOfflinePlanMS64/StaticMethod_GenerateData.qbl index 9c1fd0a..5e661f1 100644 --- a/_Main/BL/Type_AOnlineAndMOfflinePlanMS64/StaticMethod_GenerateData.qbl +++ b/_Main/BL/Type_AOnlineAndMOfflinePlanMS64/StaticMethod_GenerateData.qbl @@ -41,11 +41,13 @@ , VersionTo := versionto, IsActive := versionflag ); loginfo.AOnlineAndMOfflinePlanMS64( relinsert, ms64 ); traverse( products, Elements, product, product.IsLeaf() ){ + productID := ifexpr( product.ParentID() = "MLB" or product.ParentID() = "MQB", product.Notes(), product.ID() ); + //productID := ifexpr( product.Notes().TrimBoth() <> "", product.Notes(), product.ID() ); if( werk = 'All' ){ - ms64.MS64Data( relnew, Product := product.ID(), Werk := '8200' ); - ms64.MS64Data( relnew, Product := product.ID(), Werk := '8201' ); + ms64.MS64Data( relnew, Product := productID, Werk := '8200' ); + ms64.MS64Data( relnew, Product := productID, Werk := '8201' ); }else{ - ms64.MS64Data( relnew, Product := product.ID(), Werk := ms64.Werk() ); + ms64.MS64Data( relnew, Product := productID, Werk := ms64.Werk() ); } } diff --git a/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GenerateData.qbl b/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GenerateData.qbl index e9ed573..8b2192b 100644 --- a/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GenerateData.qbl +++ b/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GenerateData.qbl @@ -9,7 +9,8 @@ Date enddate, String executor, String feedback, - Boolean isPush + Boolean isPush, + Product_MPs products ) as InterfaceLoginfo { TextBody: @@ -60,7 +61,7 @@ traverse( owner, OfflinePlanArchiveVersion, table, not table.IsShow() ){ traverse( table, Column, column, column.StartDate() >= startdate and column.StartDate() <= enddate ){//column.TimeUnit() = Translations::MP_GlobalParameters_Day() and traverse( column, Cell, cell, ( werk = 'All' or cell.Row().Unit().FindString( werk, 0 ) > -1 ) - and ( cell.Row().ProductionLine() <> 'DL_MOMO' or cell.Row().ProductionLine() <> 'CC_MOMO' ) ){ + and ( cell.Row().ProductionLine() <> 'DL MoMo' and cell.Row().ProductionLine() <> 'CC MoMo' and cell.Row().ProductionLine() <> 'DL ZKM' ) ){ row := cell.Row(); rowwerk := ifexpr( row.ProductionLine().FindString( "CC", 0 ) > -1, AOnlineAndMOfflinePlanPIR::GetWerk( FinancialProductionReport::GetDefaultCCUnit() ), AOnlineAndMOfflinePlanPIR::GetWerk( FinancialProductionReport::GetDefaultDLUnit() ) ); if( not exists( productids, Elements, e, e = row.ProductID() ) ){ @@ -94,7 +95,7 @@ loginfo.TotalRow( pir.PIRData( relsize ) ); if ( isPush ) { - feedback := AOnlineAndMOfflinePlanPIR::Publish( owner, loginfo ); + feedback := AOnlineAndMOfflinePlanPIR::Publish( owner, loginfo, products ); } return loginfo; diff --git a/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_Publish.qbl b/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_Publish.qbl index 1703e66..d5d2b37 100644 --- a/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_Publish.qbl +++ b/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_Publish.qbl @@ -2,7 +2,8 @@ #parent: #root StaticMethod Publish ( InterfaceDataset owner, - InterfaceLoginfo loginfo + InterfaceLoginfo loginfo, + Product_MPs products ) as String { TextBody: @@ -12,7 +13,8 @@ traverse( loginfo, AOnlineAndMOfflinePlanPIR, pir ){ jsonarray := JSON::Array();//.Add( "dto", JSON::Object().Add( "dday", date.Format( "Y-M2-D2" ) ).Add( "fac", "" ) ).Build(); - traverse( pir, PIRData, pirdata ){ + traverse( pir, PIRData, pirdata, exists( products, Elements, tempP, + ifexpr( tempP.ParentID() = "MLB" or tempP.ParentID() = "MQB", tempP.Notes(), tempP.ID() ) = pirdata.Product() ) ){ pirjson := JSON::Object().Add( "product", pirdata.Product() ) .Add( "planningDate", pirdata.PlanningDate().Format( 'YM2D2' ) )//"2024-10-01" ) .Add( "planningQty", pirdata.PlanningQty() ) @@ -27,10 +29,16 @@ .Add( 'dataList', jsonarray ); } - loginfo.RequestBody( jsondata.Build().AsString() ); - //info( loginfo.RequestBody() ); + // 璁剧疆璇锋眰浣� + requestBody := jsondata.Build().AsString(); + loginfo.RequestBody( requestBody ); + + info( loginfo.RequestBody() ); data := InterfaceLoginfo::CallInterfaceForSAPGet( owner, loginfo ); + //info( '----------------', data ); + //data := "Test"; + return data; *] } diff --git a/_Main/BL/Type_APIRMS64ProductRelation/Attribute_Factory.qbl b/_Main/BL/Type_APIRMS64ProductRelation/Attribute_Factory.qbl new file mode 100644 index 0000000..38903e0 --- /dev/null +++ b/_Main/BL/Type_APIRMS64ProductRelation/Attribute_Factory.qbl @@ -0,0 +1,13 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Factory +{ + #keys: '3[730572.0.162836302][730572.0.162836301][730572.0.162836303]' + Description: + [* + 宸ュ巶 + VWED CC + VWED DL + *] + ValueType: String +} diff --git a/_Main/BL/Type_APIRMS64ProductRelation/Attribute_Product.qbl b/_Main/BL/Type_APIRMS64ProductRelation/Attribute_Product.qbl new file mode 100644 index 0000000..efad231 --- /dev/null +++ b/_Main/BL/Type_APIRMS64ProductRelation/Attribute_Product.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Product +{ + #keys: '3[730572.0.162836325][730572.0.162836324][730572.0.162836326]' + ValueType: String +} diff --git a/_Main/BL/Type_APIRMS64ProductRelation/_ROOT_Type_APIRMS64ProductRelation.qbl b/_Main/BL/Type_APIRMS64ProductRelation/_ROOT_Type_APIRMS64ProductRelation.qbl new file mode 100644 index 0000000..4b8360f --- /dev/null +++ b/_Main/BL/Type_APIRMS64ProductRelation/_ROOT_Type_APIRMS64ProductRelation.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type APIRMS64ProductRelation +{ + #keys: '5[730572.0.162835490][730572.0.162835488][0.0.0][730572.0.162835489][730572.0.162835491]' + BaseType: Object + StructuredName: 'APIRMS64ProductRelations' +} diff --git a/_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterfaceForSAPGet.qbl b/_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterfaceForSAPGet.qbl index 26a316c..9147f1f 100644 --- a/_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterfaceForSAPGet.qbl +++ b/_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterfaceForSAPGet.qbl @@ -10,9 +10,9 @@ [* // 鐢勫叞楦� Jul-22-2024 (created) address := Translations::InterfaceDataset_SAP_Address(); - httpinterface := HTTPInterface::Create( address,8080); // 娴嬭瘯 + //httpinterface := HTTPInterface::Create( address,8080); // 娴嬭瘯 - //httpinterface := HTTPInterface::Create( "10.120.76.32",8080); // 鐢熶骇 + httpinterface := HTTPInterface::Create( "10.120.76.32",8080); // 鐢熶骇 httpinterface.PostMethod( true ); ; httpinterface.MediaType( Translations::InterfaceDataset_ContentType() ); @@ -69,7 +69,7 @@ feedback := feedback.Concat( '浜у搧' ).Concat( failproduct.Concatenate( '銆�' ) ).Concat( '鍥犱负' ).Concat( failmsg ).Concat( '鎺ㄩ�佸け璐�' ).Concat( '锛�' ); } } - feedback := feedback.Replace( feedback.Length() - 1, 1, '銆�' ); + // feedback := feedback.Replace( feedback.Length() - 1, 1, '銆�' ); // 杩欒鎶ラ敊 } return feedback; diff --git a/_Main/BL/Type_InventoryInterfaceData/StaticMethod_UpdateInventoryQuantity.qbl b/_Main/BL/Type_InventoryInterfaceData/StaticMethod_UpdateInventoryQuantity.qbl new file mode 100644 index 0000000..87736e3 --- /dev/null +++ b/_Main/BL/Type_InventoryInterfaceData/StaticMethod_UpdateInventoryQuantity.qbl @@ -0,0 +1,41 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod UpdateInventoryQuantity ( + InterfaceDataset interfaceDataset, + Date startDate, + Date endDate +) +{ + TextBody: + [* + if ( ( endDate - startDate ) <= 10 ) { + while ( startDate <= endDate ) { + feis := selectset( interfaceDataset, InterfaceLoginfo.FinishedEngineInventory, tempFEI, tempFEI.DDay() = startDate ); + + msds := selectset( interfaceDataset, InterfaceLoginfo.MachineStockData, tempMSD, tempMSD.DDay() = startDate ); + + iids := selectset( interfaceDataset, InventoryInterfaceData, tempIID, tempIID.Date() = startDate ); + traverse ( iids, Elements, iid ) { + traverse ( iid, InventoryInterfaceDataDetail, iidd ) { + iidd.Quantity( sum( feis, Elements, tempFEI, + tempFEI.DDay() = iidd.Date() and + tempFEI.FourCode() = iidd.PartNumber() and + tempFEI.BIPlace() = iidd.InventoryPoint() and + tempFEI.Fac() = iidd.Fac(), + tempFEI.Total() ) ); + + total := sum( msds, Elements, tempMSD, + tempMSD.DDay() = iidd.Date() and + tempMSD.MaterialNo() = iidd.PartNumber() and + tempMSD.Lgort() = iidd.InventoryPoint() and + tempMSD.Fac() = iidd.Fac(), + tempMSD.Total() ); + iidd.Quantity( ifexpr( total > 0, total, iidd.Quantity() ) ); + } + } + + startDate := startDate + 1; + } + } + *] +} diff --git a/_Main/BL/Type_InventoryPlanArchiveCell/StaticMethod_SynchronizeActualInventory.qbl b/_Main/BL/Type_InventoryPlanArchiveCell/StaticMethod_SynchronizeActualInventory.qbl new file mode 100644 index 0000000..d9aef53 --- /dev/null +++ b/_Main/BL/Type_InventoryPlanArchiveCell/StaticMethod_SynchronizeActualInventory.qbl @@ -0,0 +1,51 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod SynchronizeActualInventory ( + InterfaceDataset interfaceDataset, + Archive archive +) +{ + TextBody: + [* + //opv := select( interfaceDataset, InventoryPlanArchiveVersion, tempOPAV, not tempOPAV.IsShow() ); + // + //mindate := minselect( opv, Column, tempC, true, tempC.StartDate() ).StartDate(); + //maxdate := maxselect( opv, Column, tempC, true, tempC.StartDate() ).StartDate(); + // + ////info( "鏈�灏忔椂闂达細", mindate.Format( "Y-M2-D2" ), " 鏈�澶ф椂闂达細", maxdate.Format( "Y-M2-D2" ) ); + // + //adpds := selectsortedset( archive, ActualDailyProductionData, tempADPD, + // tempADPD.ProductionDate() >= mindate and + // tempADPD.ProductionDate() <= maxdate, + // tempADPD.ProductionDate() ); + // + ////info( "瀹為檯鐢熶骇鐨勪釜鏁帮細", adpds.Size() ); + // + //products := construct( Strings ); + // + //traverse ( adpds, Elements, adpd + //// ,( adpd.Fac() + " " + adpd.LineName() + "_" + adpd.ProductNo() ) = "CC MoMo_6909" and adpd.ProductionDate() = Date::Construct( 2025, 4, 1 ) + // ) { + //// info( "宸ュ巶锛�", adpd.Fac(), " 浜у搧锛�", adpd.ProductNo(), " 浜х嚎锛�", adpd.LineName() ); + // + // // 浜х嚎澶勭悊 + // productLine := adpd.Fac() + " " + adpd.LineName() + "_" + adpd.ProductNo(); + // + //// info( "name锛�", productLine, " 鐢熸垚鏃ユ湡锛�", adpd.ProductionDate().Format( "Y-M2-D2" ), " 鏁伴噺锛�", adpd.ActualOut() ); + // + // row := select( opv, Row, tempR, tempR.ShowName().TrimBoth() = productLine.TrimBoth() ); + // cell := select( row, Cell, tempC, tempC.Column().StartDate() = adpd.ProductionDate() ); + // + // // 娓�0閲嶆柊璧嬪�� + // if ( not isnull( cell ) and not exists( products, Elements, p, p = cell.Key().AsQUILL() ) ) { + // cell.ActualProductionQty( 0 ); + // + // products.Add( cell.Key().AsQUILL() ); + // } + // + // if ( not isnull( cell ) ) { + // cell.ActualProductionQty( cell.ActualProductionQty() + adpd.ActualOut() ); + // } + //} + *] +} diff --git a/_Main/BL/Type_InventoryPlanArchiveRow/Method_SetQuantity.qbl b/_Main/BL/Type_InventoryPlanArchiveRow/Method_SetQuantity.qbl index 8fad06d..193e0db 100644 --- a/_Main/BL/Type_InventoryPlanArchiveRow/Method_SetQuantity.qbl +++ b/_Main/BL/Type_InventoryPlanArchiveRow/Method_SetQuantity.qbl @@ -3,7 +3,8 @@ Method SetQuantity ( InventoryPlanArchiveColumn column, Real planqty, - Real actualaty + Real actualaty, + NamedValueTree resetNVT ) { TextBody: @@ -15,7 +16,16 @@ column.Cell( relinsert, cell ); } + + // 鍒ゆ柇鏄惁閲嶇疆涓�0 + resetH := resetNVT.GetHandle( this.ShowName() + column.StartDate().Format( "Y-M2-D2" ) ); + if ( guard( isnull( resetNVT.Root().Child( resetH ) ), true ) ) { + cell.PlanQuantity( 0 ); + + resetNVT.Root().AddChild( resetH ); + } + cell.PlanQuantity( cell.PlanQuantity() + planqty ); - cell.ActualQuantity( cell.ActualQuantity() + actualaty ); + cell.ActualQuantity( actualaty ); *] } diff --git a/_Main/BL/Type_InventoryPlanArchiveVersion/StaticMethod_GenerateData.qbl b/_Main/BL/Type_InventoryPlanArchiveVersion/StaticMethod_GenerateData.qbl index c3446fa..510f0a4 100644 --- a/_Main/BL/Type_InventoryPlanArchiveVersion/StaticMethod_GenerateData.qbl +++ b/_Main/BL/Type_InventoryPlanArchiveVersion/StaticMethod_GenerateData.qbl @@ -9,63 +9,125 @@ TextBody: [* //interfaceDataset.InventoryPlanArchiveVersion( relflush ); - info( '-------------------------Start---------------------'); - machineproductparent := MachiningPipelineReport::GetDefaultProductParent(); - engineproductparent := EnginePipelineReport::GetDefaultProductParent(); - allunit := AssemblyOnlinePlanVersion::GetDefaultAllUnit(); - name := InventoryPlanArchiveVersion::GetDefaultName();//search := - interfaceDataset.InventoryPlanArchiveVersionSearch( relnew, Product := allunit, Unit := allunit, StartDate := Date::MinDate(), EndDate := Date::MaxDate() );//, TimeUnit := Translations::MP_GlobalParameters_Day() + info( '-------------------------Start---------------------' ); + //machineproductparent := MachiningPipelineReport::GetDefaultProductParent(); // 鏈哄姞浠� + //engineproductparent := EnginePipelineReport::GetDefaultProductParent(); // 鍙戝姩鏈� + allunit := AssemblyOnlinePlanVersion::GetDefaultAllUnit(); // <All> + name := InventoryPlanArchiveVersion::GetDefaultName(); // Inventory plan archive + interfaceDataset.InventoryPlanArchiveVersionSearch( relnew, + Product := allunit, + Unit := allunit, + StartDate := Date::MinDate(), + EndDate := Date::MaxDate() );//, TimeUnit := Translations::MP_GlobalParameters_Day() + + // 鍒涘缓鏄剧ず琛ㄦ牸 table := selectobject( interfaceDataset, InventoryPlanArchiveVersion, version, not version.IsShow() ); if( isnull( table ) ){ table := interfaceDataset.InventoryPlanArchiveVersion( relnew, ID := name, Name := name ); } + //showtable := selectobject( interfaceDataset, InventoryPlanArchiveVersion, version, version.IsShow() ); //if( isnull( showtable ) ){ // showtable := interfaceDataset.InventoryPlanArchiveVersion( relnew, ID := name, Name := name, IsShow := true ); //} + + // 鍒涘缓涓嶅瓨鍦ㄥ垪 periods := selectuniquevalues( macroPlan, Period_MP, period, not period.IsHistorical() and period.TimeUnit() = Translations::MP_GlobalParameters_Day() and not exists( table, Column, column, column.StartDate() = period.StartDate() ), period.StartDate() );//column.TimeUnit() = Translations::MP_GlobalParameters_Day() and if( periods.Size() > 0 ){ table.GenerateColumn( periods, false ); } + + // 鏈�灏忔椂闂� + minDate := minselect( table, Column, tempC, true, tempC.StartDate() ).StartDate(); + maxDate := maxselect( table, Column, tempC, true, tempC.StartDate() ).StartDate(); + info( "鏈�灏忔椂闂达細", minDate.Format( "Y-M2-D2" ), " 鏈�澶ф椂闂达細", maxDate.Format( "Y-M2-D2" ) ); + actinventorytree := NamedValueTree::Create(); - inventoryqrys := construct( Reals ); - inventoryindex := 0; - traverse( interfaceDataset,InterfaceLoginfo.MachineStockData, actinventory ){ - inventoryqrys.Add( actinventory.Total() ); - actinventoryKey := actinventory.MaterialNo() + actinventory.DDay().AsQUILL(); + // 鏈哄姞瀹為檯搴撳瓨 + traverse ( interfaceDataset,InterfaceLoginfo.MachineStockData, actinventory, + // actinventory.Fac() = "CC" and actinventory.MaterialNo() = "06U105101A" and actinventory.DDay() = Date::Construct( 2025, 4, 9 ) and// 娴嬭瘯杩囨护锛堢敓浜ч渶瑕佹敞閲婏級 + actinventory.DDay() >= minDate and actinventory.DDay() <= maxDate ) { + // 搴撲綅鏄惁缁戝畾搴撳瓨鐐� + iid := select( interfaceDataset, InventoryInterfaceData, tempIID, tempIID.Date() = actinventory.DDay() and + tempIID.PartNumber() = actinventory.MaterialNo() ); + iidd := select( iid, InventoryInterfaceDataDetail, tempIIDD, tempIIDD.InventoryPoint() = actinventory.Lgort() and + tempIIDD.Fac() = actinventory.Fac() ); + flag := guard( iidd.InventoryPointSelection().IsIncluded(), false ); + // info( "鏄惁琚簱瀛樼偣閫夋嫨锛�", flag, " 鏁伴噺锛�", actinventory.Total() ); + actinventoryKey := ifexpr( actinventory.Fac() = "DL", FinancialProductionReport::GetDefaultDLUnit(), FinancialProductionReport::GetDefaultCCUnit() ) + + actinventory.MaterialNo() + + actinventory.DDay().Format( "Y-M2-D2" ); actinventoryhandle := actinventorytree.GetHandle( actinventoryKey ); - actinventorytree.Root().AddChild( actinventoryhandle,inventoryindex ); - inventoryindex := inventoryindex + 1; - } - traverse( interfaceDataset,InterfaceLoginfo.FinishedEngineInventory,actinventory ){ - product := selectobject( macroPlan, Product_MP, product, product.Notes() = actinventory.FourCode() ); - if( not isnull( product ) ){ - inventoryqrys.Add( actinventory.Total() ); - actinventoryKey := actinventory.FourCode() + actinventory.DDay().AsQUILL(); - actinventoryhandle := actinventorytree.GetHandle( actinventoryKey ); - actinventorytree.Root().AddChild( actinventoryhandle,inventoryindex ); - inventoryindex := inventoryindex + 1; + if ( guard( actinventorytree.Root().Child( actinventoryhandle ).GetValueAsReal() > 0, false ) ) { // 鍒ゆ柇鏄惁瀛樺湪锛屽瓨鍦� + if ( flag ) { + targetNV := actinventorytree.Root().Child( actinventoryhandle ); + targetNV.SetValue( targetNV.GetValueAsReal() + actinventory.Total() ); + } + } else { // 涓嶅瓨鍦� + if ( flag ) { + actinventorytree.Root().AddChild( actinventoryhandle, actinventory.Total() ); + } } } - traverse( macroPlan, Product_MP, product, exists( product.GetAllParent(), Elements, e, e.ID() = machineproductparent or e.ID() = engineproductparent ) ){ + // 鍙戝姩鏈哄疄闄呭簱瀛� + traverse ( interfaceDataset, InterfaceLoginfo.FinishedEngineInventory, actinventory, + // actinventory.Fac() = "CC" and actinventory.FourCode() = "6908" and actinventory.DDay() = Date::Construct( 2025, 4, 2 ) and// 娴嬭瘯杩囨护锛堢敓浜ч渶瑕佹敞閲婏級 + actinventory.DDay() >= minDate and actinventory.DDay() <= maxDate ) { + // 搴撲綅鏄惁缁戝畾搴撳瓨鐐� + iid := select( interfaceDataset, InventoryInterfaceData, tempIID, tempIID.Date() = actinventory.DDay() and + tempIID.PartNumber() = actinventory.FourCode() ); + iidd := select( iid, InventoryInterfaceDataDetail, tempIIDD, tempIIDD.InventoryPoint() = actinventory.BIPlace() and + tempIIDD.Fac() = actinventory.Fac() ); + flag := guard( iidd.InventoryPointSelection().IsIncluded(), false ); + + product := selectobject( macroPlan, Product_MP, product, product.ID() = actinventory.FourCode() ); + if ( not isnull( product ) ) { + actinventoryKey := ifexpr( actinventory.Fac() = "DL", FinancialProductionReport::GetDefaultDLUnit(), FinancialProductionReport::GetDefaultCCUnit() ) + + actinventory.FourCode() + + actinventory.DDay().Format( "Y-M2-D2" ); + actinventoryhandle := actinventorytree.GetHandle( actinventoryKey ); + if ( guard( actinventorytree.Root().Child( actinventoryhandle ).GetValueAsReal() > 0, false ) ) { // 鍒ゆ柇鏄惁瀛樺湪锛屽瓨鍦� + if ( flag ) { + targetNV := actinventorytree.Root().Child( actinventoryhandle ); + targetNV.SetValue( targetNV.GetValueAsReal() + actinventory.Total() ); + } + } else { // 涓嶅瓨鍦� + if ( flag ) { + actinventorytree.Root().AddChild( actinventoryhandle, actinventory.Total() ); + } + } + } + } + + //handle := actinventorytree.GetHandle( "VWED CC06U105101A2025-04-09" ); + //info( "鏁伴噺锛�", guard( actinventorytree.Root().Child( handle ).GetValueAsReal(), 0 ) ); + + // 淇濆瓨宸查噸缃�0鐨勪骇鍝� + resetNVT := NamedValueTree::Create(); + + traverse ( macroPlan, Product_MP, product + // ,product.ID() = "6909" + ) { traverse ( product, ProductInStockingPoint_MP, pispmp, not pispmp.IsSystem() and pispmp.IsLeaf() ) { - unit := ifexpr( pispmp.StockingPointID().Regex( "澶ц繛" ) or pispmp.StockingPointID().Regex( "DL" ), FinancialProductionReport::GetDefaultDLUnit(), FinancialProductionReport::GetDefaultCCUnit() ); - inventoryrow := table.GetRowByUnit( pispmp.Product_MP(), unit ); - traverse ( pispmp, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ), pispippl, not pispippl.IsPeriodFrozen() ) { + unit := ifexpr( pispmp.StockingPointID().Regex( "澶ц繛" ) or pispmp.StockingPointID().Regex( "DL" ), + FinancialProductionReport::GetDefaultDLUnit(), + FinancialProductionReport::GetDefaultCCUnit() ); // 宸ュ巶 + inventoryrow := table.GetRowByUnit( pispmp.Product_MP(), unit ); // 鍒涘缓搴撳瓨瀛樻。琛� + // info( pispmp.Name() ); + + traverse ( pispmp, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ), pispippl, + // pispmp.ProductID() = "6909" and pispippl.Start().Date() = Date::Construct( 2025, 3, 31 ) and // 娴嬭瘯杩囨护锛堢敓浜ч渶瑕佹敞閲婏級 + not pispippl.IsPeriodFrozen() ) { startdate := pispippl.Start().Date(); - daycolumn := table.GetColumnByTimeUnit( Translations::MP_GlobalParameters_Day(), startdate ); + daycolumn := table.GetColumnByTimeUnit( Translations::MP_GlobalParameters_Day(), startdate ); // 鑾峰彇搴撳瓨瀛樻。鍒� // weekcolumn := table.GetColumnByTimeUnit( Translations::MP_GlobalParameters_Week(), startdate ); // monthcolumn := table.GetColumnByTimeUnit( Translations::MP_GlobalParameters_Month(), startdate ); - actinventoryKey := pispmp.ProductID() + startdate.AsQUILL(); + actinventoryKey := unit + pispmp.ProductID() + startdate.Format( "Y-M2-D2" ); actinventoryhandle := actinventorytree.GetHandle( actinventoryKey ); - actinventoryindex := guard( actinventorytree.Root().Child( actinventoryhandle ),null( NamedValue )); - - actinventoryqty := 0.0; - if( not isnull( actinventoryindex )){ - actinventoryqty := inventoryqrys.Element( actinventoryindex.GetValueAsNumber() ); - } - inventoryrow.SetQuantity( daycolumn, pispippl.InventoryLevelEnd(), actinventoryqty ); + actinventoryQty := guard( actinventorytree.Root().Child( actinventoryhandle ).GetValueAsReal(), 0 ); + // info( "鏁伴噺锛�", actinventoryQty ); + inventoryrow.SetQuantity( daycolumn, pispippl.InventoryLevelEnd(), actinventoryQty, resetNVT ); // inventoryrow.SetQuantity( weekcolumn, pispippl.InventoryLevelEnd(), actinventoryqty ); // inventoryrow.SetQuantity( monthcolumn, pispippl.InventoryLevelEnd(), actinventoryqty ); @@ -73,7 +135,7 @@ } } - info( '-------------------------End---------------------'); + info( '-------------------------End---------------------' ); //productids := selectuniquevalues( table, Row, row, row.Name() ); //productlines := selectuniquevalues( table, Row, row, row.Unit() ); //showtable.Generate( search, productids, productlines ); diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanCell/StaticMethod_DetectingNegativeValues.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanCell/StaticMethod_DetectingNegativeValues.qbl new file mode 100644 index 0000000..7d050a3 --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanCell/StaticMethod_DetectingNegativeValues.qbl @@ -0,0 +1,29 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod DetectingNegativeValues ( + MacroPlan macroPlan +) as String +{ + Description: '妫�娴嬭礋鍊�' + TextBody: + [* + res := ""; + + // 寰幆閬嶅巻鏄庣粏鏁版嵁 + traverse ( macroPlan, NewAssemblyOnlinePlanRow, naopr, naopr.Type() = "1" ) { + traverse ( naopr, NewAssemblyOnlinePlanCell, naopcell, naopcell.Quantity() < 0 ) { + res := res + + "浜х嚎锛�" + naopr.ProductionLine() + " " + + "浜у搧锛�" + naopr.ProductID() + " " + + "鏃堕棿锛�" + naopcell.NewAssemblyOnlinePlanColumn().StartDate().Format( "Y-M2-D2" ) + " " + + "鏁伴噺锛�" + [String]naopcell.Quantity() + "\n"; + } + } + + if ( res = "" ) { + res := "鏆傛湭鍑虹幇璐熷��"; + } + + return res; + *] +} diff --git a/_Main/BL/Type_NewOfflinePlanCell/StaticMethod_DetectingNegativeValues.qbl b/_Main/BL/Type_NewOfflinePlanCell/StaticMethod_DetectingNegativeValues.qbl new file mode 100644 index 0000000..2e1a735 --- /dev/null +++ b/_Main/BL/Type_NewOfflinePlanCell/StaticMethod_DetectingNegativeValues.qbl @@ -0,0 +1,31 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod DetectingNegativeValues ( + MacroPlan macroPlan +) as String +{ + Description: '妫�娴嬭礋鍊�' + TextBody: + [* + nopt := maxselect( macroPlan, NewOfflinePlanTable, tempOPT, true, tempOPT.SaveDateTime() ); + + res := ""; + + // 寰幆閬嶅巻鏄庣粏鏁版嵁 + traverse ( nopt, NewOfflinePlanRow, npr, npr.Type() = "1" ) { + traverse ( npr, NewOfflinePlanCell, npcell, npcell.Quantity() < 0 ) { + res := res + + "浜х嚎锛�" + npr.ProductionLine() + " " + + "浜у搧锛�" + npr.ProductID() + " " + + "鏃堕棿锛�" + npcell.NewOfflinePlanColumn().StartDate().Format( "Y-M2-D2" ) + " " + + "鏁伴噺锛�" + [String]npcell.Quantity() + "\n"; + } + } + + if ( res = "" ) { + res := "鏆傛湭鍑虹幇璐熷��"; + } + + return res; + *] +} diff --git a/_Main/BL/Type_OfflinePlanArchiveVersionCell/StaticMethod_SynchronizeActualProduction.qbl b/_Main/BL/Type_OfflinePlanArchiveVersionCell/StaticMethod_SynchronizeActualProduction.qbl new file mode 100644 index 0000000..47b85b0 --- /dev/null +++ b/_Main/BL/Type_OfflinePlanArchiveVersionCell/StaticMethod_SynchronizeActualProduction.qbl @@ -0,0 +1,51 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod SynchronizeActualProduction ( + InterfaceDataset interfaceDataset, + Archive archive +) +{ + TextBody: + [* + opv := select( interfaceDataset, OfflinePlanArchiveVersion, tempOPAV, not tempOPAV.IsShow() ); + + mindate := minselect( opv, Column, tempC, true, tempC.StartDate() ).StartDate(); + maxdate := maxselect( opv, Column, tempC, true, tempC.StartDate() ).StartDate(); + + //info( "鏈�灏忔椂闂达細", mindate.Format( "Y-M2-D2" ), " 鏈�澶ф椂闂达細", maxdate.Format( "Y-M2-D2" ) ); + + adpds := selectsortedset( archive, ActualDailyProductionData, tempADPD, + tempADPD.ProductionDate() >= mindate and + tempADPD.ProductionDate() <= maxdate, + tempADPD.ProductionDate() ); + + //info( "瀹為檯鐢熶骇鐨勪釜鏁帮細", adpds.Size() ); + + products := construct( Strings ); + + traverse ( adpds, Elements, adpd + // ,( adpd.Fac() + " " + adpd.LineName() + "_" + adpd.ProductNo() ) = "CC MoMo_6909" and adpd.ProductionDate() = Date::Construct( 2025, 4, 1 ) + ) { + // info( "宸ュ巶锛�", adpd.Fac(), " 浜у搧锛�", adpd.ProductNo(), " 浜х嚎锛�", adpd.LineName() ); + + // 浜х嚎澶勭悊 + productLine := adpd.Fac() + " " + adpd.LineName() + "_" + adpd.ProductNo(); + + // info( "name锛�", productLine, " 鐢熸垚鏃ユ湡锛�", adpd.ProductionDate().Format( "Y-M2-D2" ), " 鏁伴噺锛�", adpd.ActualOut() ); + + row := select( opv, Row, tempR, tempR.ShowName().TrimBoth() = productLine.TrimBoth() ); + cell := select( row, Cell, tempC, tempC.Column().StartDate() = adpd.ProductionDate() ); + + // 娓�0閲嶆柊璧嬪�� + if ( not isnull( cell ) and not exists( products, Elements, p, p = cell.Key().AsQUILL() ) ) { + cell.ActualProductionQty( 0 ); + + products.Add( cell.Key().AsQUILL() ); + } + + if ( not isnull( cell ) ) { + cell.ActualProductionQty( cell.ActualProductionQty() + adpd.ActualOut() ); + } + } + *] +} diff --git a/_Main/BL/Type_TransferPlanCell/StaticMethod_WriteBackTheTransferPlan.qbl b/_Main/BL/Type_TransferPlanCell/StaticMethod_WriteBackTheTransferPlan.qbl new file mode 100644 index 0000000..cccb0bb --- /dev/null +++ b/_Main/BL/Type_TransferPlanCell/StaticMethod_WriteBackTheTransferPlan.qbl @@ -0,0 +1,52 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod WriteBackTheTransferPlan ( + MacroPlan macroPlan, + Product_MPs selectedProducts +) +{ + TextBody: + [* + traverse ( selectedProducts, Elements, p, p.IsLeaf() and exists( macroPlan, TransferPlanRow, tempTPR, tempTPR.ProductID() = p.ID() ) ) { + tprs := selectset( macroPlan, TransferPlanRow, tempTPR, tempTPR.ProductID() = p.ID() ); + + traverse ( tprs, Elements, tpr ) { + tpcells := selectsortedset( tpr, TransferPlanCell, tempTPCell, guard( [Number]tempTPCell.Value(), 0 ) >= 0.0, tempTPCell.TransferPlanColumn().ColumnDate() ); + traverse ( tpcells, Elements, tpcell + // , tpcell.TransferPlanColumn().ColumnDate() = Date::Construct( 2025, 1, 11 ) + ) { + // info( "鏃堕棿锛�", tpcell.TransferPlanColumn().ColumnName(), " ", + // tpcell.TransferPlanRow().SourceStockpoingPointID() + " To " + tpcell.TransferPlanRow().TargetStockpoingPointID(), " ", + // tpcell.Value() ); + + // selecte trip plan + unitName := tpcell.TransferPlanRow().SourceStockpoingPointID() + " " + "to" + " " + tpcell.TransferPlanRow().TargetStockpoingPointID() + " " + tpcell.TransferPlanRow().Category() + " " + "Transport" + pit := select( macroPlan, Unit.Lane.LaneLeg.Trip.ProductInTrip, tempPIT, + tempPIT.Trip().Departure().Date() = tpcell.TransferPlanColumn().ColumnDate() and + tempPIT.Trip().LaneLeg().Lane().Unit().Name() = unitName and + tempPIT.ProductID() = tpr.ProductID() + ); + if ( not isnull( pit ) ) { // 鏈塗rip鎯呭喌 + // info( pit.Quantity() ); + if ( [Number]pit.Quantity() <> [Number]tpcell.Value() ) { + pit.Update( [Real]tpcell.Value(), true ); + } + } else { // 鏃燭rip鎯呭喌 + // error( "no trip" ); + // info( tpr.ProductID(), " 鏁伴噺锛�", [Number]tpcell.Value() ); + // + // t := select( macroPlan, Unit.Lane.LaneLeg.Trip, tempP, + // tempP.LaneLeg().Lane().Unit().Name() = unitName and + // tempP.Departure().Date() = tpcell.TransferPlanColumn().ColumnDate() ); + // p := select( macroPlan, Product_MP, tempPMP, tempPMP.ID() = tpr.ProductID() ); + // info( not isnull( t ) ); + // if ( [Number]tpcell.Value() > 0 and not isnull( t ) and not isnull( p ) ) { + // ProductInTrip::CreateOrUpdateForTrip( t, p, [Real]tpcell.Value() ); + // Transaction::Transaction().PropagateAll(); + // } + } + } + } + } + *] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupScenarioSelection.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupScenarioSelection.def new file mode 100644 index 0000000..c8a46d0 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupScenarioSelection.def @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +Component ActionBarGroupScenarioSelection #extension +{ + Children: + [ + #child: PanelScenarioSelection + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageScenarioSelection.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageScenarioSelection.def index 024119c..18ff83a 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageScenarioSelection.def +++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageScenarioSelection.def @@ -1,6 +1,10 @@ Quintiq file version 2.0 Component ActionBarPageScenarioSelection #extension { + Children: + [ + #child: ActionBarGroupScenarioSelection + ] Properties: [ Taborder: 22 diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuPublishSAP.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuPublishSAP.def index 87434ae..b2c6de5 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuPublishSAP.def +++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuPublishSAP.def @@ -25,6 +25,16 @@ Title: 'SAP MS64' ] } + Component mAPIMS64ProductRelation + { + #keys: '[730572.0.167360055]' + BaseType: 'WebMenu' + Properties: + [ + Taborder: 2 + Title: '宸ュ巶浜у搧瀵瑰簲鍏崇郴' + ] + } ] Properties: [ diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_PanelScenarioSelection.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_PanelScenarioSelection.def new file mode 100644 index 0000000..4df0cd4 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_PanelScenarioSelection.def @@ -0,0 +1,14 @@ +Quintiq file version 2.0 +Component PanelScenarioSelection #extension +{ + Children: + [ + Component DropDownListScenario id:DropDownListScenario_886 #extension + { + Properties: + [ + NumberOfColumns: 40 + ] + } + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuPublishSAP_mAPIMS64ProductRelation_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuPublishSAP_mAPIMS64ProductRelation_OnClick.def new file mode 100644 index 0000000..e5dbfe4 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuPublishSAP_mAPIMS64ProductRelation_OnClick.def @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: ContextMenuPublishSAP/mAPIMS64ProductRelation +Response OnClick () id:Response_MacroPlanner_ContextMenuPublishSAP_mAPIMS64ProductRelation_OnClick +{ + #keys: '[730572.0.167360231]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebMenu_OnClick' + QuillAction + { + Body: + [* + ApplicationScope.ViewManager().ResetUserViewById( "APIMS64ProductRelation", true ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Component_lstRight590.def b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Component_lstRight590.def index 375b58a..85538ec 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Component_lstRight590.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Component_lstRight590.def @@ -11,7 +11,7 @@ BaseType: 'WebDataExtractor' Properties: [ - DataType: 'external[MacroPlan]' + DataType: 'MacroPlan' Source: 'MacroPlan' Taborder: 0 Transformation: 'Product_MP' diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Method_OnOk.def b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Method_OnOk.def index 28ea388..704d831 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Method_OnOk.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Method_OnOk.def @@ -16,7 +16,8 @@ if( sucproduct.Size() = loginfo.SAPResponseLoginfo( relsize ) ){ WebMessageBox::Success( ApplicationMacroPlanner, '鎺ㄩ�佹垚鍔�' ); }else{ - WebMessageBox::Warning( ApplicationMacroPlanner, msg, 'Yes|No' ); + // WebMessageBox::Warning( ApplicationMacroPlanner, msg, 'Yes|No' ); + WebMessageBox::Success( ApplicationMacroPlanner, Translations::A_VWED_Success() ); } } Form.Close(); diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Response_lstRight590_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Response_lstRight590_OnCreated.def new file mode 100644 index 0000000..c6cda36 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Response_lstRight590_OnCreated.def @@ -0,0 +1,28 @@ +Quintiq file version 2.0 +#parent: lstRight590 +Response OnCreated () id:Response_lstRight590_OnCreated +{ + #keys: '[730572.0.167230490]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebComponent_OnCreated' + QuillAction + { + Body: + [* + this.CheckAll(); + + apims64pr := selectset( InterfaceDataset, APIRMS64ProductRelation, tempAPIMS64PR, + ifexpr( ddslFactory.Text() = "All", true, tempAPIMS64PR.Factory() = ddslFactory.Text() ) ); + + pmps := selectset( MacroPlan, Product_MP, tempPMP, + tempPMP.IsLeaf() and + not exists( apims64pr, Elements, tempAPIMS64PR, tempAPIMS64PR.Product() = tempPMP.ID() ) + ); + + traverse ( pmps, Elements, pmp ) { + this.UnCheckByKey( pmp.Key() ); + } + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Response_pnlLeft_88_ddslFactory_OnSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Response_pnlLeft_88_ddslFactory_OnSelectionChanged.def new file mode 100644 index 0000000..008d7b9 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Response_pnlLeft_88_ddslFactory_OnSelectionChanged.def @@ -0,0 +1,28 @@ +Quintiq file version 2.0 +#parent: pnlLeft_88/ddslFactory +Response OnSelectionChanged () id:Response_pnlLeft_88_ddslFactory_OnSelectionChanged +{ + #keys: '[730572.0.167230570]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged' + QuillAction + { + Body: + [* + lstRight590.CheckAll(); + + apims64pr := selectset( InterfaceDataset, APIRMS64ProductRelation, tempAPIMS64PR, + ifexpr( this.Text() = "All", true, tempAPIMS64PR.Factory() = this.Text() ) ); + + pmps := selectset( MacroPlan, Product_MP, tempPMP, + tempPMP.IsLeaf() and + not exists( apims64pr, Elements, tempAPIMS64PR, tempAPIMS64PR.Product() = tempPMP.ID() ) + ); + + traverse ( pmps, Elements, pmp ) { + lstRight590.UnCheckByKey( pmp.Key() ); + } + *] + GroupServerCalls: false + } +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_abpRight481\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_abpRight481\0431.def" new file mode 100644 index 0000000..d47c1b4 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_abpRight481\0431.def" @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component abpRight481 id:abpRight481_1 +{ + #keys: '[730572.0.145570670]' + BaseType: 'listActionBarPage' + Properties: + [ + Taborder: 1 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_cmRight681\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_cmRight681\0431.def" new file mode 100644 index 0000000..d2cc0e4 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_cmRight681\0431.def" @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component cmRight681 id:cmRight681_1 +{ + #keys: '[730572.0.145570672]' + BaseType: 'listContextMenu' + Properties: + [ + Taborder: 0 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_lstRight590\04371.def" "b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_lstRight590\04371.def" new file mode 100644 index 0000000..f794292 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_lstRight590\04371.def" @@ -0,0 +1,44 @@ +Quintiq file version 2.0 +Component lstRight590 id:lstRight590_71 +{ + #keys: '[730572.0.145570668]' + BaseType: 'WebList' + Children: + [ + Component deRight862 + { + #keys: '[730572.0.145570669]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'MacroPlan' + Source: 'MacroPlan' + Taborder: 0 + Transformation: 'Product_MP' + ] + } + #child: abpRight481_1 + Component dslRight661 + { + #keys: '[730572.0.145570671]' + BaseType: 'WebDataSetLevel' + Children: + [ + #child: cmRight681_1 + ] + Properties: + [ + Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ID","title":"ID","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ID"}}]' + ContextMenu: 'cmRight681' + FixedFilter: "object.IsLeaf() and object.ParentID() <> '绱х己浠�'" + SortCriteria: 'ID' + Taborder: 2 + ] + } + ] + Properties: + [ + SelectionCheckboxes: true + Taborder: 1 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_pnlContent.def index f1a2cd6..9aab117 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_pnlContent.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_pnlContent.def @@ -6,9 +6,11 @@ Children: [ #child: pnlLeft + #child: pnlRight_836 ] Properties: [ + Orientation: 'horizontal' Padding: 'true' Taborder: 0 ] diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_pnlLeft.def b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_pnlLeft.def index 68c7490..7767ba2 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_pnlLeft.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_pnlLeft.def @@ -50,6 +50,7 @@ ] Properties: [ + Border: true Taborder: 0 ] } diff --git "a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_pnlRight\043836.def" "b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_pnlRight\043836.def" new file mode 100644 index 0000000..afeba25 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_pnlRight\043836.def" @@ -0,0 +1,25 @@ +Quintiq file version 2.0 +Component pnlRight id:pnlRight_836 +{ + #keys: '[730572.0.145570666]' + BaseType: 'WebPanel' + Children: + [ + Component dhProducts + { + #keys: '[730572.0.145570667]' + BaseType: 'WebDataHolder' + Databinding: 'structured[Product_MP]*' + Properties: + [ + Taborder: 0 + ] + } + #child: lstRight590_71 + ] + Properties: + [ + Taborder: 1 + Title: '浜у搧' + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Method_OnOk.def b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Method_OnOk.def index 659b1a1..181cb35 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Method_OnOk.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Method_OnOk.def @@ -16,12 +16,14 @@ dsEndDate.Date(), QuintiqUser::CurrentUser().DisplayName(), msg, - InterfaceDataset.IsPushSAP_PIR() ); + InterfaceDataset.IsPushSAP_PIR(), + dhProducts.Data() ); sucproduct := selectuniquevalues( loginfo, SAPResponseLoginfo, e, e.IsSuccess(), e.Msg_v1() ); if( sucproduct.Size() = loginfo.SAPResponseLoginfo( relsize ) ){ WebMessageBox::Success( ApplicationMacroPlanner, '鎺ㄩ�佹垚鍔�' ); }else{ - WebMessageBox::Warning( ApplicationMacroPlanner, msg, 'Yes|No' ); + // WebMessageBox::Warning( ApplicationMacroPlanner, msg, 'Yes|No' ); + WebMessageBox::Success( ApplicationMacroPlanner, Translations::A_VWED_Success() ); } } Form.Close(); diff --git "a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Response_lstRight590_71_OnCheckedChanged\043338.def" "b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Response_lstRight590_71_OnCheckedChanged\043338.def" new file mode 100644 index 0000000..a7c60a9 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Response_lstRight590_71_OnCheckedChanged\043338.def" @@ -0,0 +1,19 @@ +Quintiq file version 2.0 +#parent: lstRight590_71 +Response OnCheckedChanged ( + structured[Product_MP] checkeditems +) id:Response_lstRight590_71_OnCheckedChanged_338 +{ + #keys: '[730572.0.145570662]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebList_OnCheckedChanged' + QuillAction + { + Body: + [* + products := checkeditems.Copy(); + dhProducts.Data( &products ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Response_lstRight590_71_OnCheckedChanged.def b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Response_lstRight590_71_OnCheckedChanged.def new file mode 100644 index 0000000..2327d59 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Response_lstRight590_71_OnCheckedChanged.def @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: lstRight590_71 +Response OnCheckedChanged () id:Response_lstRight590_71_OnCheckedChanged +{ + #keys: '[730572.0.145570663]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebList_OnCheckedChanged' + QuillAction + { + Body: + [* + dhProducts.Data().Flush(); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Response_lstRight590_71_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Response_lstRight590_71_OnCreated.def new file mode 100644 index 0000000..18fbe6d --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Response_lstRight590_71_OnCreated.def @@ -0,0 +1,28 @@ +Quintiq file version 2.0 +#parent: lstRight590_71 +Response OnCreated () id:Response_lstRight590_71_OnCreated +{ + #keys: '[730572.0.166121446]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebComponent_OnCreated' + QuillAction + { + Body: + [* + this.CheckAll(); + + apims64pr := selectset( InterfaceDataset, APIRMS64ProductRelation, tempAPIMS64PR, + ifexpr( ddslFactory.Text() = "All", true, tempAPIMS64PR.Factory() = ddslFactory.Text() ) ); + + pmps := selectset( MacroPlan, Product_MP, tempPMP, + tempPMP.IsLeaf() and + not exists( apims64pr, Elements, tempAPIMS64PR, tempAPIMS64PR.Product() = tempPMP.ID() ) + ); + + traverse ( pmps, Elements, pmp ) { + this.UnCheckByKey( pmp.Key() ); + } + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Response_pnlLeft_ddslFactory_OnSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Response_pnlLeft_ddslFactory_OnSelectionChanged.def new file mode 100644 index 0000000..d5a2d35 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Response_pnlLeft_ddslFactory_OnSelectionChanged.def @@ -0,0 +1,30 @@ +Quintiq file version 2.0 +#parent: pnlLeft/ddslFactory_424 +Response OnSelectionChanged () id:Response_pnlLeft_ddslFactory_OnSelectionChanged +{ + #keys: '[730572.0.167280424]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged' + QuillAction + { + Body: + [* + lstRight590.CheckAll(); + + apims64pr := selectset( InterfaceDataset, APIRMS64ProductRelation, tempAPIMS64PR, + ifexpr( this.Text() = "All", true, tempAPIMS64PR.Factory() = this.Text() ) ); + + pmps := selectset( MacroPlan, Product_MP, tempPMP, + tempPMP.IsLeaf() and + not exists( apims64pr, Elements, tempAPIMS64PR, tempAPIMS64PR.Product() = tempPMP.ID() ) + ); + + //info( pmps.Size() ); + + traverse ( pmps, Elements, pmp ) { + lstRight590.UnCheckByKey( pmp.Key() ); + } + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_List920.def b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_List920.def new file mode 100644 index 0000000..bda7a09 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_List920.def @@ -0,0 +1,59 @@ +Quintiq file version 2.0 +Component List920 +{ + #keys: '[730572.0.166102291]' + BaseType: 'WebList' + Children: + [ + Component DataExtractor376 + { + #keys: '[730572.0.166102292]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'InterfaceDataset' + Source: 'InterfaceDataset' + Taborder: 0 + Transformation: 'APIRMS64ProductRelation' + ] + } + #child: listActionBarPage590 + Component DataSetLevel195 + { + #keys: '[730572.0.166102297]' + BaseType: 'WebDataSetLevel' + Children: + [ + #child: listContextMenu519 + ] + Properties: + [ + Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Factory","title":"Factory","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Factory"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Product","title":"Product","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Product"}}]' + ContextMenu: 'listContextMenu519' + Taborder: 2 + ] + } + ] + Properties: + [ + Taborder: 0 + ] + ResponseDefinitions: + [ + DelegatedResponseDefinition OnClick id:Responsedef_List920_WebMenu_OnClick + { + #keys: '[730572.0.167350332]' + Initiator: 'WebMenu' + IsInherited: false + ResponseType: 'OnClick' + Arguments: + [ + ResponseDefinitionArgument selection + { + #keys: '[207.0.11974633]' + Binding: 'this.Selection()' + } + ] + } + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_listActionBarPage590.def b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_listActionBarPage590.def new file mode 100644 index 0000000..2536bc6 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_listActionBarPage590.def @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component listActionBarPage590 +{ + #keys: '[730572.0.166102294]' + BaseType: 'listActionBarPage' + Properties: + [ + Taborder: 1 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_listContextMenu519.def b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_listContextMenu519.def new file mode 100644 index 0000000..a08b591 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_listContextMenu519.def @@ -0,0 +1,24 @@ +Quintiq file version 2.0 +Component listContextMenu519 +{ + #keys: '[730572.0.166102299]' + BaseType: 'listContextMenu' + Children: + [ + Component mDelete + { + #keys: '[730572.0.167350446]' + BaseType: 'WebMenu' + Properties: + [ + Image: 'DELETE' + Taborder: 3 + Title: 'Delete' + ] + } + ] + Properties: + [ + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_pContent.def b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_pContent.def new file mode 100644 index 0000000..fcb87cc --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_pContent.def @@ -0,0 +1,14 @@ +Quintiq file version 2.0 +Component pContent +{ + #keys: '[730572.0.166102177]' + BaseType: 'WebPanel' + Children: + [ + #child: List920 + ] + Properties: + [ + Taborder: 1 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_pHeader.def b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_pHeader.def new file mode 100644 index 0000000..316e7d7 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_pHeader.def @@ -0,0 +1,47 @@ +Quintiq file version 2.0 +Component pHeader +{ + #keys: '[730572.0.166102162]' + BaseType: 'WebPanel' + Children: + [ + Component ddslFactory + { + #keys: '[730572.0.166102447]' + BaseType: 'WebDropDownStringList' + Properties: + [ + Label: '宸ュ巶' + Strings: 'VWED CC;VWED DL' + Taborder: 0 + ] + } + Component ddslProduct + { + #keys: '[730572.0.166102507]' + BaseType: 'WebDropDownStringList' + Properties: + [ + Label: '浜у搧' + Taborder: 1 + ] + } + Component bCreate + { + #keys: '[730572.0.167350289]' + BaseType: 'WebButton' + Properties: + [ + Image: 'ADD2' + Taborder: 2 + ] + } + ] + Properties: + [ + Border: true + FixedSize: true + Orientation: 'horizontal' + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Response_List920_mDelete_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Response_List920_mDelete_OnClick.def new file mode 100644 index 0000000..4377551 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Response_List920_mDelete_OnClick.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: List920 +Response OnClick ( + APIRMS64ProductRelation selection +) id:Response_List920_mDelete_OnClick +{ + #keys: '[730572.0.167350349]' + DefinitionID => /List920/Responsedef_List920_WebMenu_OnClick + Initiator: 'mDelete' + QuillAction + { + Body: + [* + selection.Delete(); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Response_pHeader_bCreate_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Response_pHeader_bCreate_OnClick.def new file mode 100644 index 0000000..a41b389 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Response_pHeader_bCreate_OnClick.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: pHeader/bCreate +Response OnClick () id:Response_pHeader_bCreate_OnClick +{ + #keys: '[730572.0.167350572]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + QuillAction + { + Body: + [* + InterfaceDataset.APIRMS64ProductRelation( relnew, + Factory := ddslFactory.Text(), + Product := ddslProduct.Text() ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Response_pHeader_ddslProduct_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Response_pHeader_ddslProduct_OnCreated.def new file mode 100644 index 0000000..d7b04fb --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Response_pHeader_ddslProduct_OnCreated.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: pHeader/ddslProduct +Response OnCreated () id:Response_pHeader_ddslProduct_OnCreated +{ + #keys: '[730572.0.167390234]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebComponent_OnCreated' + QuillAction + { + Body: + [* + ids := selectuniquevalues( MacroPlan, Product_MP, tempPMP, tempPMP.IsLeaf(), tempPMP.ID() ); + + this.Strings( ids.Concatenate( ";" ) ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/_ROOT_Component_FormAPIRMS64ProductRelation.def b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/_ROOT_Component_FormAPIRMS64ProductRelation.def new file mode 100644 index 0000000..8b92b1c --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/_ROOT_Component_FormAPIRMS64ProductRelation.def @@ -0,0 +1,13 @@ +Quintiq file version 2.0 +#root +#parent: MacroPlannerWebApp +OrphanComponent FormAPIRMS64ProductRelation +{ + #keys: '[730572.0.166101908]' + BaseType: 'WebForm' + Children: + [ + #child: pHeader + #child: pContent + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormActualDailyProduction/Component_ListActualDailyProduction.def b/_Main/UI/MacroPlannerWebApp/Component_FormActualDailyProduction/Component_ListActualDailyProduction.def index d2910b8..7b2123b 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormActualDailyProduction/Component_ListActualDailyProduction.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormActualDailyProduction/Component_ListActualDailyProduction.def @@ -11,7 +11,7 @@ BaseType: 'WebDataExtractor' Properties: [ - DataType: 'external[Archive]' + DataType: 'Archive' Source: 'Archive' Taborder: 0 Transformation: 'ActualDailyProductionData' diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_MatrixEditorTable\043384.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_MatrixEditorTable\043384.def" index 37837b4..901e355 100644 --- "a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_MatrixEditorTable\043384.def" +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_MatrixEditorTable\043384.def" @@ -17,10 +17,10 @@ BaseType: 'WebDataExtractor' Properties: [ - DataType: 'InterfaceDataset' - Source: 'InterfaceDataset' + DataType: 'structured[AssemblyOnlinePlanVersionRow]' + Source: 'dhRows' Taborder: 0 - Transformation: 'AssemblyOnlinePlanVersion.Row.Cell' + Transformation: 'Elements.Cell' ] } ] @@ -44,12 +44,10 @@ BaseType: 'WebDataExtractor' Properties: [ - DataType: 'InterfaceDataset' - FilterArguments: 'units:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderUnit;products:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderProduct' - FixedFilter: '( units.Size() = 0 or exists( units, Elements, unit, unit.ID() = object.ProductionLine() ) ) and ( products.Size() = 0 or exists( products, Elements, product, product.ID() = object.Name() ) )' - Source: 'InterfaceDataset' + DataType: 'structured[AssemblyOnlinePlanVersionRow]' + Source: 'dhRows' Taborder: 0 - Transformation: 'AssemblyOnlinePlanVersion.Row' + Transformation: 'Elements' ] } ] @@ -72,13 +70,13 @@ BaseType: 'WebDataExtractor' Properties: [ - DataType: 'InterfaceDataset' + DataType: 'structured[AssemblyOnlinePlanVersionRow]' Description: '( search.StartDate().IsMinInfinity() or object.StartDate() >= search.StartDate() ) and ( search.EndDate().IsMaxInfinity() or object.StartDate() <= search.EndDate() )' FilterArguments: 'search:QMacroPlanner::FormAssemblyOnlinePlanVersion.dhSearch' FixedFilter: 'object.Filter( search )' - Source: 'InterfaceDataset' + Source: 'dhRows' Taborder: 0 - Transformation: 'AssemblyOnlinePlanVersion.Column' + Transformation: 'Elements.Cell.Column' ] } ] diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelTable\043273.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelTable\043273.def" index 3db3b8c..424feff 100644 --- "a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelTable\043273.def" +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelTable\043273.def" @@ -6,6 +6,33 @@ Children: [ #child: MatrixEditorTable_384 + Component dhRows + { + #keys: '[730572.0.144480758]' + BaseType: 'WebDataHolder' + Databinding: 'structured[AssemblyOnlinePlanVersionRow]*' + Children: + [ + Component deRows + { + #keys: '[730572.0.144480804]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'InterfaceDataset' + FilterArguments: 'units:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderUnit;products:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderProduct' + FixedFilter: 'not object.Version().IsShow() and ( units.Size() = 0 or exists( units, Elements, unit, unit.ID() = object.ProductionLine() ) ) and ( products.Size() = 0 or exists( products, Elements, product, product.ID() = object.Name() ) )' + Source: 'InterfaceDataset' + Taborder: 0 + Transformation: 'AssemblyOnlinePlanVersion.Row' + ] + } + ] + Properties: + [ + Taborder: 1 + ] + } ] Properties: [ diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryInterfaceData/Response_pHeader_bFilter_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryInterfaceData/Response_pHeader_bFilter_OnClick.def index a36cf44..4af384d 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryInterfaceData/Response_pHeader_bFilter_OnClick.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryInterfaceData/Response_pHeader_bFilter_OnClick.def @@ -9,6 +9,9 @@ { Body: [* + // 鏇存柊搴撳瓨 + InventoryInterfaceData::UpdateInventoryQuantity( InterfaceDataset, dsStart.Date(), dsEnd.Date() ); + dhStartDate.Data( dsStart.Date().Format( "YM2D2" ) ) dhEndDate.Data( dsEnd.Date().Format( "YM2D2" ) ); *] diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_MatrixEditorTable\043791.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_MatrixEditorTable\043791.def" index bb0a572..fb2dbde 100644 --- "a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_MatrixEditorTable\043791.def" +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_MatrixEditorTable\043791.def" @@ -17,10 +17,10 @@ BaseType: 'WebDataExtractor' Properties: [ - DataType: 'InterfaceDataset' - Source: 'InterfaceDataset' + DataType: 'structured[InventoryPlanArchiveRow]' + Source: 'dhRows' Taborder: 0 - Transformation: 'InventoryPlanArchiveVersion.Row.Cell' + Transformation: 'Elements.Cell' ] } ] @@ -44,12 +44,10 @@ BaseType: 'WebDataExtractor' Properties: [ - DataType: 'InterfaceDataset' - FilterArguments: 'units:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderUnit;products:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderProduct' - FixedFilter: '( units.Size() = 0 or exists( units, Elements, unit, unit.ID() = object.Unit() ) ) and ( products.Size() = 0 or exists( products, Elements, product, product.ID() = object.Name() ) )' - Source: 'InterfaceDataset' + DataType: 'structured[InventoryPlanArchiveRow]' + Source: 'dhRows' Taborder: 0 - Transformation: 'InventoryPlanArchiveVersion.Row' + Transformation: 'Elements' ] } ] @@ -72,13 +70,13 @@ BaseType: 'WebDataExtractor' Properties: [ - DataType: 'InterfaceDataset' + DataType: 'structured[InventoryPlanArchiveRow]' Description: '( search.StartDate().IsMinInfinity() or object.StartDate() >= search.StartDate() ) and ( search.EndDate().IsMaxInfinity() or object.StartDate() <= search.EndDate() )' FilterArguments: 'search:QMacroPlanner::FormInventoryPlanArchive.dhSearch' FixedFilter: 'object.Filter( search )' - Source: 'InterfaceDataset' + Source: 'dhRows' Taborder: 0 - Transformation: 'InventoryPlanArchiveVersion.Column' + Transformation: 'Elements.Cell.Column' ] } ] diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelPeriod\04371.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelPeriod\04371.def" index f1e7c43..8bc5af4 100644 --- "a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelPeriod\04371.def" +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelPeriod\04371.def" @@ -26,6 +26,17 @@ Taborder: 1 ] } + Component bSynchronizeActualInventory + { + #keys: '[730572.0.167441650]' + BaseType: 'WebButton' + Properties: + [ + Label: '鍚屾瀹為檯搴撳瓨' + Taborder: 2 + Visible: false + ] + } ] Properties: [ diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelTable\043881.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelTable\043881.def" index e265e3f..c75cd20 100644 --- "a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelTable\043881.def" +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelTable\043881.def" @@ -6,6 +6,33 @@ Children: [ #child: MatrixEditorTable_791 + Component dhRows + { + #keys: '[730572.0.172650978]' + BaseType: 'WebDataHolder' + Databinding: 'structured[InventoryPlanArchiveRow]*' + Children: + [ + Component deRows + { + #keys: '[730572.0.172651057]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'InterfaceDataset' + FilterArguments: 'units:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderUnit;products:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderProduct' + FixedFilter: 'not object.Version().IsShow() and ( units.Size() = 0 or exists( units, Elements, unit, unit.ID() = object.Unit() ) ) and ( products.Size() = 0 or exists( products, Elements, product, product.ID() = object.Name() ) )' + Source: 'InterfaceDataset' + Taborder: 0 + Transformation: 'InventoryPlanArchiveVersion.Row' + ] + } + ] + Properties: + [ + Taborder: 1 + ] + } ] Properties: [ diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelPeriod_71_bSynchronizeActualInventory_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelPeriod_71_bSynchronizeActualInventory_OnClick.def new file mode 100644 index 0000000..2b84b3e --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelPeriod_71_bSynchronizeActualInventory_OnClick.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: PanelPeriod_71/bSynchronizeActualInventory +Response OnClick () id:Response_PanelPeriod_71_bSynchronizeActualInventory_OnClick +{ + #keys: '[730572.0.167291731]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + QuillAction + { + Body: + [* + InventoryPlanArchiveCell::SynchronizeActualInventory( InterfaceDataset, Archive ); + + WebMessageBox::Success( Translations::A_VWED_Success(), true ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPointSelection/Component_ListInventoryPointSelection.def b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPointSelection/Component_ListInventoryPointSelection.def index 6cb9c14..f3d542d 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPointSelection/Component_ListInventoryPointSelection.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPointSelection/Component_ListInventoryPointSelection.def @@ -29,7 +29,7 @@ ] Properties: [ - Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImgIsIncluded","title":"ImgIsIncluded","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ImgIsIncluded"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"ProductID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"InventoryPoint","title":"InventoryPoint","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"InventoryPoint"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockpoingPoint","title":"StockpoingPoint","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockpoingPoint"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Fac","title":"Fac","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Fac"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Dtype","title":"Dtype","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Dtype"}}]' + Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImgIsIncluded","title":"ImgIsIncluded","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ImgIsIncluded"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"ProductID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"InventoryPoint","title":"InventoryPoint","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"InventoryPoint"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockpoingPoint","title":"StockingPoint","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockpoingPoint"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Fac","title":"Fac","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Fac"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Dtype","title":"Dtype","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Dtype"}}]' ContextMenu: 'listContextMenuInventoryPointSelection' Taborder: 2 ] diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_pHeader\043136.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_pHeader\043136.def" index 4c7dcdd..6c04f80 100644 --- "a/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_pHeader\043136.def" +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_pHeader\043136.def" @@ -35,6 +35,16 @@ Taborder: 0 ] } + Component bDetectingNegativeValues id:bDetectingNegativeValues_791 + { + #keys: '[730572.0.159950553]' + BaseType: 'WebButton' + Properties: + [ + Label: 'Detecting negative values' + Taborder: 3 + ] + } ] Properties: [ diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Response_pHeader_136_bDetectingNegativeValues_OnClick\043812.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Response_pHeader_136_bDetectingNegativeValues_OnClick\043812.def" new file mode 100644 index 0000000..1d3bbbf --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Response_pHeader_136_bDetectingNegativeValues_OnClick\043812.def" @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: pHeader_136/bDetectingNegativeValues_791 +Response OnClick () id:Response_pHeader_bDetectingNegativeValues_OnClick_812 +{ + #keys: '[730572.0.159950552]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + QuillAction + { + Body: + [* + res := NewAssemblyOnlinePlanCell::DetectingNegativeValues( MacroPlan ); + + WebMessageBox::Success( res, true ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_pHeader.def b/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_pHeader.def index 2858b6f..77cee8c 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_pHeader.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_pHeader.def @@ -75,6 +75,16 @@ Taborder: 6 ] } + Component bDetectingNegativeValues + { + #keys: '[730572.0.159670034]' + BaseType: 'WebButton' + Properties: + [ + Label: 'Detecting negative values' + Taborder: 7 + ] + } ] Properties: [ diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Response_pHeader_bDetectingNegativeValues_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Response_pHeader_bDetectingNegativeValues_OnClick.def new file mode 100644 index 0000000..97ecb8f --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Response_pHeader_bDetectingNegativeValues_OnClick.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: pHeader/bDetectingNegativeValues +Response OnClick () id:Response_pHeader_bDetectingNegativeValues_OnClick +{ + #keys: '[730572.0.159870568]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + QuillAction + { + Body: + [* + res := NewOfflinePlanCell::DetectingNegativeValues( MacroPlan ); + + WebMessageBox::Success( res, true ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelPeriod.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelPeriod.def index dda4554..ff2928f 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelPeriod.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelPeriod.def @@ -26,6 +26,17 @@ Taborder: 1 ] } + Component ButtonPeriod + { + #keys: '[730572.0.144413017]' + BaseType: 'WebButton' + Properties: + [ + Image: 'ARROW_CIRCLE2' + Label: '鍚屾瀹為檯浜ч噺' + Taborder: 2 + ] + } ] Properties: [ diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelTable.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelTable.def index 8388d74..7a23f47 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelTable.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelTable.def @@ -21,7 +21,7 @@ [ DataType: 'InterfaceDataset' FilterArguments: 'units:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderUnit;products:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderProduct' - FixedFilter: '( units.Size() = 0 or exists( units, Elements, unit, unit.ID() = object.ProductionLine() ) ) and ( products.Size() = 0 or exists( products, Elements, product, product.ID() = object.Name() ) )' + FixedFilter: 'not object.Version().IsShow() and ( units.Size() = 0 or exists( units, Elements, unit, unit.ID() = object.ProductionLine() ) ) and ( products.Size() = 0 or exists( products, Elements, product, product.ID() = object.Name() ) )' Source: 'InterfaceDataset' Taborder: 0 Transformation: 'OfflinePlanArchiveVersion.Row' diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelPeriod_ButtonPeriod_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelPeriod_ButtonPeriod_OnClick.def new file mode 100644 index 0000000..c3d67a9 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelPeriod_ButtonPeriod_OnClick.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: PanelPeriod/ButtonPeriod +Response OnClick () id:Response_PanelPeriod_ButtonPeriod_OnClick +{ + #keys: '[730572.0.156334897]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + QuillAction + { + Body: + [* + OfflinePlanArchiveCell::SynchronizeActualProduction( InterfaceDataset, Archive ); + + WebMessageBox::Success( Translations::A_VWED_Success() ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Response_List391_bPush_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Response_List391_bPush_OnClick.def index 4dbe266..f379cbc 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Response_List391_bPush_OnClick.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Response_List391_bPush_OnClick.def @@ -12,7 +12,7 @@ { Body: [* - AOnlineAndMOfflinePlanPIR::Publish( InterfaceDataset, selection.InterfaceLoginfo() ); + //AOnlineAndMOfflinePlanPIR::Publish( InterfaceDataset, selection.InterfaceLoginfo() ); *] GroupServerCalls: false } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Component_pHeader.def b/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Component_pHeader.def index 74595a4..1bdd3af 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Component_pHeader.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Component_pHeader.def @@ -35,6 +35,16 @@ Taborder: 2 ] } + Component bWriteBackTheTransferPlan + { + #keys: '[730572.0.154074820]' + BaseType: 'WebButton' + Properties: + [ + Label: 'Write back' + Taborder: 3 + ] + } ] Properties: [ diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Response_pHeader_bWriteBackTheTransferPlan_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Response_pHeader_bWriteBackTheTransferPlan_OnClick.def new file mode 100644 index 0000000..7b7c6b9 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Response_pHeader_bWriteBackTheTransferPlan_OnClick.def @@ -0,0 +1,22 @@ +Quintiq file version 2.0 +#parent: pHeader/bWriteBackTheTransferPlan +Response OnClick () id:Response_pHeader_bWriteBackTheTransferPlan_OnClick +{ + #keys: '[730572.0.154074898]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + Precondition: + [* + return not isnull( MacroPlan ); + *] + QuillAction + { + Body: + [* + TransferPlanCell::WriteBackTheTransferPlan( MacroPlan, DataHolderCheckedProduct.Data() ); + + WebMessageBox::Success( Translations::A_VWED_Success() ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Views/APIMS64ProductRelation.vw b/_Main/UI/MacroPlannerWebApp/Views/APIMS64ProductRelation.vw new file mode 100644 index 0000000..5a5187c --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Views/APIMS64ProductRelation.vw @@ -0,0 +1,307 @@ +Quintiq file version 2.0 +{ + viewcontents + { + forms + { + form_FormAPIRMS64ProductRelation + { + title: 'QMacroPlanner::FormAPIRMS64ProductRelation' + shown: true + componentID: 'QMacroPlanner::FormAPIRMS64ProductRelation' + layout + { + mode: 'open' + rowPosition: 1 + rowSpan: 13 + columnPosition: 1 + columnSpan: 12 + } + components + { + FormAPIRMS64ProductRelation_pHeader + { + sizeRatio: 1 + } + FormAPIRMS64ProductRelation_pContent + { + sizeRatio: 1 + } + FormAPIRMS64ProductRelation_List920 + { + } + FormAPIRMS64ProductRelation_DataSetLevel195 + { + groupDepth: -1 + column_Factory + { + columnId: 'Factory' + dataPath: 'Factory' + dataType: 'string' + index: 0 + subtotals: '' + width: 252 + } + column_Product + { + columnId: 'Product' + dataPath: 'Product' + dataType: 'string' + index: 1 + subtotals: '' + width: 239 + } + } + } + } + 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: 'Name' + index: 1 + subtotals: '' + width: 109 + } + column_Description + { + columnId: 'Description' + dataPath: 'Description' + dataType: 'string' + title: 'Description' + index: 2 + subtotals: '' + width: 207 + } + } + } + } + form_FormSanityCheck + { + title: 'Sanity Check' + shown: false + componentID: 'FormSanityCheck' + layout + { + mode: 'dockright' + index: 1 + } + components + { + FormSanityCheck_PanelSanityCheckToolbar + { + sizeRatio: 1 + } + FormSanityCheck_PanelSanityCheckContent + { + sizeRatio: 1 + } + FormSanityCheck_PanelSanityCheckGroup + { + sizeRatio: 4 + } + FormSanityCheck_ListSanityCheckGroup + { + } + FormSanityCheck_DataSetLevelSanityCheckGroup + { + groupDepth: -1 + sort: 'DESC:IsShown,DESC:SanityCheckHighestCategory,DESC:_Expr3' + column_All_constraints + { + columnId: 'All constraints' + dataPath: 'All constraints' + dataType: 'string' + index: 0 + subtotals: '' + width: 31 + } + column_Show + { + columnId: 'Show' + dataPath: 'Show' + dataType: 'string' + index: 1 + subtotals: '' + width: 31 + } + column_Category + { + columnId: 'Category' + dataPath: 'Category' + dataType: 'string' + index: 2 + subtotals: '' + width: 31 + } + column_Group + { + columnId: 'Group' + dataPath: 'Group' + dataType: 'string' + index: 3 + subtotals: '' + width: 235 + } + column__Expr3 + { + columnId: '_Expr3' + dataPath: '_Expr3' + dataType: 'number' + index: 4 + subtotals: '' + width: 85 + } + } + FormSanityCheck_PanelSanityCheckMessage + { + sizeRatio: 5 + } + FormSanityCheck_ListSanityCheckMessage + { + } + FormSanityCheck_DataSetLevelSanityCheckMessage + { + groupDepth: -1 + sort: 'DESC:IsShown,SanityCheckGroup.Type,SanityCheckGroup.Group,Description' + column_All_constraints + { + columnId: 'All constraints' + dataPath: 'All constraints' + dataType: 'string' + index: 0 + subtotals: '' + width: 31 + } + column_Show + { + columnId: 'Show' + dataPath: 'Show' + dataType: 'string' + index: 1 + subtotals: '' + width: 31 + } + column_Category + { + columnId: 'Category' + dataPath: 'Category' + dataType: 'string' + index: 2 + subtotals: '' + width: 31 + } + column_Messages + { + columnId: 'Messages' + dataPath: 'Messages' + dataType: 'string' + index: 3 + subtotals: '' + width: 31 + } + column_Description + { + columnId: 'Description' + dataPath: 'Description' + dataType: 'string' + index: 4 + subtotals: '' + width: 505 + } + } + } + } + form_FormOptimizerStrategiesSlideIn + { + title: 'Optimizer Strategies' + shown: true + componentID: 'FormOptimizerStrategiesSlideIn' + layout + { + mode: 'dockright' + index: 2 + } + components + { + FormOptimizerStrategiesSlideIn_ListOptimizerStrategiesSlideIn + { + } + FormOptimizerStrategiesSlideIn_DataSetLevelOptimizerStrategiesSlideIn + { + groupDepth: -1 + column_All_constraints + { + columnId: 'All constraints' + dataPath: 'All constraints' + dataType: 'string' + index: 0 + subtotals: '' + width: 32 + } + column_ImgIsValid + { + columnId: 'ImgIsValid' + dataPath: 'ImgIsValid' + dataType: 'string' + index: 1 + subtotals: '' + width: 32 + } + column_Name + { + columnId: 'Name' + dataPath: 'Name' + dataType: 'string' + index: 2 + subtotals: '' + width: 270 + } + } + } + } + } + userconfigurableinformation + { + } + page: '' + group: '' + index: 0 + image: 'BEAR' + description: '' + } + formatversion: 2 + id: 'APIMS64ProductRelation' + name: 'APIMS64ProductRelation' + isglobal: false + isroot: true +} diff --git a/_Main/UI/MacroPlannerWebApp/Views/Inventory_plan_archive_report.vw b/_Main/UI/MacroPlannerWebApp/Views/Inventory_plan_archive_report.vw index a8856d6..54be4ee 100644 --- a/_Main/UI/MacroPlannerWebApp/Views/Inventory_plan_archive_report.vw +++ b/_Main/UI/MacroPlannerWebApp/Views/Inventory_plan_archive_report.vw @@ -23,11 +23,19 @@ { sizeRatio: 1 } + FormInventoryPlanArchive_PanelRowSearch + { + sizeRatio: 1 + } FormInventoryPlanArchive_PanelUnit { sizeRatio: 1 } FormInventoryPlanArchive_PanelProduct + { + sizeRatio: 1 + } + FormInventoryPlanArchive_PanelColumnSearch { sizeRatio: 1 } @@ -49,13 +57,56 @@ } FormInventoryPlanArchive_MatrixEditorTable { - totalHeaderWidth: 200 + gridColor: '#c4c4c4' + totalHeaderWidth: 378 attributeHeaderWidthRatio: 0.6 nameHeaderWidthRatio: 0.4 columnWidth: 100 horizontalGrid: true verticalGrid: true - gridColor: '#c4c4c4' + backendState + { + componentId: 'QMacroPlanner::FormInventoryPlanArchive.MatrixEditorTable' + state + { + cells + { + attributes + { + attribute_PlanQuantity + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 0 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'PlanQuantity' + } + attribute_ActualQuantity + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 1 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'ActualQuantity' + } + } + } + columns + { + sorting + { + criteria: "datamember:'StartDate'" + } + } + rows + { + sorting + { + criteria: "datamember:'Name'" + } + } + } + } } } } @@ -65,7 +116,7 @@ } page: '' group: '' - index: 31 + index: 0 image: 'WAREHOUSE' description: '' } -- Gitblit v1.9.3