From 0881cdfab4fab719d811b0dee4c488f591e995de Mon Sep 17 00:00:00 2001 From: hongji.li <hongji.a.li@capgemini.com> Date: 星期一, 25 九月 2023 22:19:17 +0800 Subject: [PATCH] Merge branch 'dev_cyy' into dev_realse_cyy --- _Main/BL/Relations/Relation_H_CustomOrder_MacroPlan_MacroPlan_H_CustomOrder.qbl | 23 + _Main/BL/Type_H_OrderForecastRealQty/Attribute_VCode.qbl | 8 _Main/BL/Type_H_FunctionClass/StaticMethod_SM_InitialForcastDataEx.qbl | 95 ++--- _Main/BL/Type_H_OrderForecastRealQty/Attribute_SKUName.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_Frm_TEST/_ROOT_Component_Frm_TEST.def | 5 _Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/_ROOT_Component_FrmOrderForecast.def | 96 ----- _Main/BL/Type_H_FunctionClass/StaticMethod_UpdateOrderForecastRealQty.qbl | 2 _Main/BL/Type_H_OrderForecastRealQty/Attribute_CustomCode.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/Component_PanelSDIP.def | 15 _Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/_ROOT_Component_FormCustomerOrders226.def | 18 + _Main/BL/Type_H_OrderForecastRealQty/Attribute_StockingPointID.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/Component_ListSDIP.def | 20 + _Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/Component_ListSalesDemands.def | 30 + _Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/Response_ListSalesDemands_MenuEdit_OnClick.def | 20 + _Main/BL/Type_H_FunctionClass/StaticMethod_SM_MaterialReverse.qbl | 7 _Main/BL/Type_H_OrderForecastRealQty/Attribute_ForecastQty.qbl | 2 _Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/Component_PanelSalesDemands.def | 12 _Main/BL/Type_H_OrderForecastRealQty/Attribute_SKU.qbl | 2 _Main/BL/Type_H_OrderForecastRealQty/Attribute_Unit.qbl | 2 _Main/BL/Type_H_CustomOrder/_ROOT_Type_H_CustomOrder.qbl | 10 _Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel351.def | 23 + _Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel351_btn_Query_FOF_OnClick.def | 21 + _Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_liH_Forecast.def | 8 _Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_PanelSalesDemands.def | 8 _Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_PanelAllSalesDemands.def | 8 _Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/Component_PanelAllSalesDemands.def | 11 _Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel351_btn_Add_Material_FOF503_OnClick#222.def | 30 _Main/BL/Type_H_FunctionClass/StaticMethod_SM_GetProductInfo#1.qbl | 1 _Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_liH_Forecast_OnDoubleClick.def | 24 _Main/BL/Type_H_OrderForecastRealQty/Attribute_Department.qbl | 8 _Main/BL/Type_H_FunctionClass/StaticMethod_SM_InitialForcastData.qbl | 14 _Main/UI/MacroPlannerWebApp/Component_FrmMaterial/Response_OnCreated.def | 6 _Main/BL/Type_H_OrderForecastRealQty/Attribute_Month.qbl | 2 /dev/null | 25 - _Main/BL/Type_H_FunctionClass/StaticMethod_SM_GetMaterialData.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/Response_ListSalesDemands_MenuCopy_OnClick.def | 19 + _Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_OnCreated.def | 10 _Main/BL/Type_H_FunctionClass/StaticMethod_SM_OrderHedging.qbl | 321 +++++++++------- _Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/_ROOT_Component_FormCustomerOrders.def | 10 _Main/UI/MacroPlannerWebApp/Component_FrmMaterial/Response_List832_OnDoubleClick.def | 44 ++ _Main/BL/Type_CustomerOrder/Attribute_OrderTag.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_ListSalesDemands.def | 14 _Main/BL/Type_H_FunctionClass/StaticMethod_SM_OrderReverseOrAuthorize.qbl | 7 _Main/UI/MacroPlannerWebApp/_ROOT_Project_MacroPlannerWebApp.qp | 2 _Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/Response_ListSalesDemands_MenuCreate_OnClick#715.def | 19 + _Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel351_btn_Add_Order_FOF449_OnClick#880.def | 18 46 files changed, 662 insertions(+), 398 deletions(-) diff --git a/_Main/BL/Relations/Relation_H_CustomOrder_MacroPlan_MacroPlan_H_CustomOrder.qbl b/_Main/BL/Relations/Relation_H_CustomOrder_MacroPlan_MacroPlan_H_CustomOrder.qbl new file mode 100644 index 0000000..6a5b131 --- /dev/null +++ b/_Main/BL/Relations/Relation_H_CustomOrder_MacroPlan_MacroPlan_H_CustomOrder.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation H_CustomOrder_MacroPlan_MacroPlan_H_CustomOrder +{ + #keys: '1[414724.0.177854649]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide MacroPlan + { + #keys: '3[414724.0.177854651][414724.0.177854650][414724.0.177854652]' + Cardinality: '0to1' + ObjectDefinition: H_CustomOrder + OwningSide: 'Reference' + } + RelationSide.RightSide H_CustomOrder + { + #keys: '3[414724.0.177854654][414724.0.177854653][414724.0.177854655]' + Cardinality: '1toN' + ObjectDefinition: MacroPlan + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Type_CustomerOrder/Attribute_OrderTag.qbl b/_Main/BL/Type_CustomerOrder/Attribute_OrderTag.qbl new file mode 100644 index 0000000..4d3e7e6 --- /dev/null +++ b/_Main/BL/Type_CustomerOrder/Attribute_OrderTag.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderTag +{ + #keys: '3[414724.0.177854629][414724.0.177854628][414724.0.177854630]' + Description: '璁㈠崟鐘舵�侊紝鍐插噺鍚庤祴鍊硷紝绾娴�,鏈夐娴嬶紝鏃犻娴嬶紝鍙嶇锛屾巿鏉�' + ValueType: String +} diff --git a/_Main/BL/Type_H_CustomOrder/_ROOT_Type_H_CustomOrder.qbl b/_Main/BL/Type_H_CustomOrder/_ROOT_Type_H_CustomOrder.qbl new file mode 100644 index 0000000..a8c4845 --- /dev/null +++ b/_Main/BL/Type_H_CustomOrder/_ROOT_Type_H_CustomOrder.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type H_CustomOrder +{ + #keys: '5[414724.0.177854646][414724.0.177854644][0.0.0][414724.0.177854645][414724.0.177854647]' + BaseType: Object + Description: '閲嶅缓鍚庣殑璁㈠崟' + StructuredName: 'H_CustomOrders' +} diff --git a/_Main/BL/Type_H_FunctionClass/StaticMethod_NewStaticMethod.qbl b/_Main/BL/Type_H_FunctionClass/StaticMethod_NewStaticMethod.qbl deleted file mode 100644 index 7118da1..0000000 --- a/_Main/BL/Type_H_FunctionClass/StaticMethod_NewStaticMethod.qbl +++ /dev/null @@ -1,10 +0,0 @@ -Quintiq file version 2.0 -#parent: #root -StaticMethod NewStaticMethod () as owning JSON -{ - TextBody: - [* - jResult := JSON::Object().Add( "A","123"); - return jResult.Build(); - *] -} diff --git a/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_GetALlBOM.qbl b/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_GetALlBOM.qbl deleted file mode 100644 index 5ab9f90..0000000 --- a/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_GetALlBOM.qbl +++ /dev/null @@ -1,27 +0,0 @@ -Quintiq file version 2.0 -#parent: #root -StaticMethod SM_GetALlBOM ( - MacroPlan Owner, - MappingBOM Material -) as Number -{ - Description: '鏍规嵁SKU鑾峰彇鏈熸牴閮ㄦ墍鏈夋暟鎹�' - TextBody: - [* - AllMaterials := selectset( Owner,MappingBOM,Obj,Obj.ComponentCode()=Material.ProductCode()) - if( AllMaterials.Size()>0) - { - traverse( AllMaterials,Elements,Obj,not isnull( Obj)) - { - H_FunctionClass::SM_GetALlBOM( Owner,Obj); - } - } - else - { - Owner.H_MaterialInfo(relnew,ID := H_FunctionClass::SM_GenerateID( "BM") - ,MaterialName := Material.ComponentType() ); - - } - return 0; - *] -} diff --git a/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_GetMaterialData.qbl b/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_GetMaterialData.qbl index 3edc063..2850793 100644 --- a/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_GetMaterialData.qbl +++ b/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_GetMaterialData.qbl @@ -34,7 +34,7 @@ StockPoint := ""; NRate:=1.0; NComponentsUsed :=0.0; - ObjBOM := H_FunctionClass::SM_GetBOMBySKU( Owner,ParentSKU); + ObjBOM := H_FunctionClass::SM_GetBOMBySKU(Owner,ParentSKU); if(not isnull( ObjBOM)) { NRate := ObjBOM.ComponentOutputRate(); @@ -56,7 +56,7 @@ // 鐗╂枡绫诲瀷 MaterialType := Obj.ProductType(); // 寰楀埌鐗╂枡淇℃伅 - ObjProduct:= H_FunctionClass::SM_GetProductInfo(Owner, Obj.ProductCode()); + ObjProduct:= H_FunctionClass::SM_GetProductInfo(Owner,Obj.ProductCode()); if( not isnull( ObjProduct)) { MaterialType:= ObjProduct.ProductMajorType(); @@ -87,6 +87,10 @@ ,ID := H_FunctionClass::SM_GenerateID( "MI"),MaterialType := "鍘熸潗鏂�",NeedDate := NDate ,NeedQty := [Number](ProductQty*0.8).Round( 0),Unit := "PCS" ,StockPoint :="娴嬭瘯",MaterialName := "娴嬭瘯鏁版嵁" ); + Owner.H_MaterialInfo(relnew,ParentSKU := ParentSKU,SKU := "SKU_M"+ (nCount+1).AsQUILL() ,ForecastID := ForecastId,OrgCode := "ORG_000",VCode := VCode + ,ID := H_FunctionClass::SM_GenerateID( "MI"),MaterialType := "鍗婃垚鍝�",NeedDate := NDate + ,NeedQty := [Number](ProductQty*0.8).Round( 0),Unit := "PCS" + ,StockPoint :="娴嬭瘯",MaterialName := "娴嬭瘯鏁版嵁" ); } bStatus := true; strMsg :=""; diff --git "a/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_GetProductInfo\0431.qbl" "b/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_GetProductInfo\0431.qbl" index 2b1ed8f..53f30eb 100644 --- "a/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_GetProductInfo\0431.qbl" +++ "b/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_GetProductInfo\0431.qbl" @@ -9,6 +9,7 @@ TextBody: [* // 鏍规嵁SKU鑾峰彇鐗╂枡淇℃伅 + // 娉ㄦ剰锛氱墿鏂欑被鍨嬪彇 ParentID锛� Obj := null( MappingProduct,constcontent ); if( not isnull( Owner) and SKU.Length()>0) { diff --git a/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_InitialForcastData.qbl b/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_InitialForcastData.qbl index edf6c16..d69f3c1 100644 --- a/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_InitialForcastData.qbl +++ b/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_InitialForcastData.qbl @@ -10,7 +10,7 @@ /**********************************鍒濆鍖栬鍗曢娴嬩俊鎭�*************************************** *娉細鏈‘瀹氫笂娓搁娴嬭鍗曟洿鏂伴�昏緫鍜屾暟鎹湁鏁堟�э紝杩欓噷杩涜浜屾澶勭悊锛屾柊鐢熸垚涓�涓垪琛紝閬垮厤涓婃父淇℃伅鍙樺姩涓ラ噸 * 褰卞搷鍔熻兘 - * + *---------------------璇ュ嚱鏁板凡浣滃簾---------------------- *****************************************************************************************/ // 鍒濆鍖栫粨鏋� bStatus := false; @@ -70,25 +70,25 @@ StockingPointID := Obj.StockingPointID(), Department:=DepartMent); // 鍐欏叆棰勬祴瀹炴椂淇℃伅 - ObjOrderRealQty := select( Owner,H_OrderForecastRealQty,ObjO,ObjO.CustomID()=CustomName and ObjO.SKU()=Obj.ProductID() + ObjOrderRealQty := select( Owner,H_OrderForecastRealQty,ObjO,ObjO.CustomCode()=CustomName and ObjO.SKU()=Obj.ProductID() and ObjO.Month().StartOfMonth() = Obj.EndDate().StartOfMonth() ) if( isnull( ObjOrderRealQty)) { - Owner.H_OrderForecastRealQty(relnew,CustomID := CustomName,CustomName := CustomName,ForecatsQty := [Number]Obj.Quantity().Round( 0) + Owner.H_OrderForecastRealQty(relnew,CustomCode := CustomName,CustomName := CustomName,ForecastQty := [Number]Obj.Quantity().Round( 0) ,ForecatsRealQty := [Number]Obj.Quantity().Round( 0),ID := H_FunctionClass::SM_GenerateID( "OR") - ,Month := Obj.EndDate(),OrderCode := strOrderCode,SKU := Obj.ProductID(),Unit := Obj.UnitOfMeasureName()); + ,Month := Obj.EndDate(),SKU := Obj.ProductID(),Unit := Obj.UnitOfMeasureName()); } else { - if( [Number]Obj.Quantity().Round( 0)<> ObjOrderRealQty.ForecatsQty()) + if( [Number]Obj.Quantity().Round( 0)<> ObjOrderRealQty.ForecastQty()) { - RQty := [Number]Obj.Quantity().Round( 0) - ObjOrderRealQty.ForecatsQty(); + RQty := [Number]Obj.Quantity().Round( 0) - ObjOrderRealQty.ForecastQty(); RQty := ObjOrderRealQty.ForecatsRealQty() + RQty; if( RQty<0) { RQty :=0; } - ObjOrderRealQty.ForecatsQty([Number]Obj.Quantity().Round( 0)); + ObjOrderRealQty.ForecastQty([Number]Obj.Quantity().Round( 0)); ObjOrderRealQty.ForecatsRealQty(RQty); } } diff --git a/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_InitialForcastDataEx.qbl b/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_InitialForcastDataEx.qbl index 524b723..b1801df 100644 --- a/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_InitialForcastDataEx.qbl +++ b/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_InitialForcastDataEx.qbl @@ -2,7 +2,8 @@ #parent: #root StaticMethod SM_InitialForcastDataEx ( MacroPlan Owner, - Boolean IsNew + Boolean IsNew, + String VersionCode ) as owning JSON { Description: '鍒濆鍖栬鍗曢娴嬩俊鎭�' @@ -11,36 +12,43 @@ /**********************************鍒濆鍖栬鍗曢娴嬩俊鎭�*************************************** *娉細鏈‘瀹氫笂娓搁娴嬭鍗曟洿鏂伴�昏緫鍜屾暟鎹湁鏁堟�э紝杩欓噷杩涜浜屾澶勭悊锛屾柊鐢熸垚涓�涓垪琛紝閬垮厤涓婃父淇℃伅鍙樺姩涓ラ噸 * 褰卞搷鍔熻兘 - * + *鍙傛暟锛欼sNew 鏄惁鏃跺叏鏂版暟鎹紝鍏ㄦ柊鏁版嵁浼氬皢鏃х殑鏁版嵁娓呴櫎锛岀劧鍚庨噸鏂板~鍏咃紝涓嶆槸鍏ㄦ柊鏁版嵁锛屽皢绱鍜屾洿鏂� *****************************************************************************************/ // 鍒濆鍖栫粨鏋� bStatus := false; strMsg :=""; try{ - // 娓呴櫎鏃ф暟鎹紝閲嶆柊鎷夊彇 - if(Owner.H_Forecast(relget ).Size()>0) + // 20230925 浼樺寲鐨勪笟鍔¢�昏緫,濡傛灉鏃舵柊鏁版嵁锛屽垯棰勬祴鏁版嵁鍏ㄩ儴骞叉帀锛岀劧鍚庨噸鏂扮敓鎴� + if( IsNew) { - traverse( Owner,H_Forecast,Obj,not isnull( Obj)) + if( Owner.H_OrderForecastRealQty(relsize )>0) { - Owner.H_Forecast(reldelete, Obj); + traverse( Owner,H_OrderForecastRealQty,Obj,not isnull( Obj)) + { + Owner.H_OrderForecastRealQty(reldelete, Obj); + } } } // 鑾峰彇棰勬祴璁㈠崟锛氬綋鏈堝拰涔嬪悗鐨�3涓湀棰勬祴鏁版嵁 涓旈娴嬫暟閲�>0鐨� - AllData:= selectset( Owner, Product_MP.SalesDemand.astype( Forecast ),object,object.EndDate().DateTime().Date() >= Date::ActualDate().StartOfMonth() - and object.EndDate().DateTime().Date() <= Date::ActualDate().StartOfNextMonth().StartOfNextMonth().StartOfNextMonth().StartOfNextMonth() + AllData:= selectset( Owner, Product_MP.SalesDemand.astype( Forecast ),object, + object.EndDate().DateTime().Date() >= Date::ActualDate().StartOfMonth() + // 闇�姹傜粰鏈潵4涓湀鐨勬暟鎹紝浣嗗彲鑳藉苟涓嶅噯纭紝鏆傛椂娉ㄩ噴鎺夛紝鍥涗釜鏈堥檺鍒� + //and object.EndDate().DateTime().Date() <= Date::ActualDate().StartOfNextMonth().StartOfNextMonth().StartOfNextMonth().StartOfNextMonth() and object.Quantity()>0 ); CustomName:=""; DepartMent:=""; idx:=0; - strOrderCode:=""; RQty:=0; ObjOrderRealQty:=null( H_OrderForecastRealQty,constcontent ); - // ObjPruduct :=null( MappingProduct,constcontent ); + traverse( AllData,Elements,Obj,not isnull(Obj)) { + // 娌℃湁瀹㈡埛淇℃伅鍜岄儴闂ㄤ俊鎭紝SalesSegmentName=浜嬩笟閮�+鈥�-鈥�+瀹㈡埛鍚嶇О + CustomName := Obj.SalesSegmentName(); + DepartMent := Obj.SalesSegmentName(); // 杩欓噷鐢ㄦ煡鎵惧悗鎴彇锛屽洜涓轰笉纭畾鏈夊嚑涓í绾匡紝浠ョ涓�涓负鍑� idx:=Obj.SalesSegmentName().FindString( "-",0); if(idx>0) @@ -48,61 +56,32 @@ DepartMent:=Obj.SalesSegmentName().SubString( 0,idx); CustomName := Obj.SalesSegmentName().SubString( idx+1, Obj.SalesSegmentName().Length() - (idx+1)); } - else - { - CustomName :=Obj.SalesSegmentName(); - DepartMent := "閮ㄩ棬鏁版嵁鑾峰彇澶辫触锛�" - } - // // 浠庣墿鏂欒〃鑾峰彇鐗╂枡淇℃伅 - // ObjPruduct := H_FunctionClass::SM_GetProductInfo( Owner,Obj.ProductID()); - // if( not isnull( ObjPruduct)) - // { - // - // } - // 鍐欏叆棰勬祴璁㈠崟淇℃伅琛� - strOrderCode:=H_FunctionClass::SM_GenerateID( "OF"); - Owner.H_Forecast(relnew,OrderCode := strOrderCode, - SKU := Obj.ProductID(), - CustomCode := CustomName, - CustomName := CustomName, - Util:=Obj.UnitOfMeasureName(), - NeedTime:=Obj.EndDate(), - ForecastQty:=[Number]Obj.Quantity().Round( 0), - StockingPointID := Obj.StockingPointID(), - Department:=DepartMent); - // 鍐欏叆棰勬祴瀹炴椂淇℃伅 - ObjOrderRealQty := select( Owner,H_OrderForecastRealQty,ObjO,ObjO.CustomID()=CustomName and ObjO.SKU()=Obj.ProductID() + // 鏇存柊棰勬祴淇℃伅锛岄潪鏂版暟鎹洿鏂颁俊鎭�� + ObjOrderRealQty := select( Owner,H_OrderForecastRealQty,ObjO,ObjO.CustomCode()=CustomName and ObjO.SKU()=Obj.ProductID() and ObjO.Month().StartOfMonth() = Obj.EndDate().StartOfMonth() ) - if( isnull( ObjOrderRealQty)) + if( IsNew or isnull( ObjOrderRealQty)) { - Owner.H_OrderForecastRealQty(relnew,CustomID := CustomName,CustomName := CustomName,ForecatsQty := [Number]Obj.Quantity().Round( 0) - ,ForecatsRealQty := [Number]Obj.Quantity().Round( 0),ID := H_FunctionClass::SM_GenerateID( "OR") - ,Month := Obj.EndDate(),OrderCode := strOrderCode,SKU := Obj.ProductID(),Unit := Obj.UnitOfMeasureName()); + Owner.H_OrderForecastRealQty(relnew,CustomCode := CustomName,CustomName := CustomName,ForecastQty := [Number]Obj.Quantity().Round( 0) + ,ForecatsRealQty := [Number]Obj.Quantity().Round( 0),ID := H_FunctionClass::SM_GenerateID( "OR") + ,Month := Obj.EndDate(),SKU := Obj.ProductID(),Unit := Obj.UnitOfMeasureName() + ,Department := DepartMent,VCode := VersionCode); } else { - if( IsNew) - { - ObjOrderRealQty.ForecatsQty([Number]Obj.Quantity().Round( 0)); - ObjOrderRealQty.ForecatsRealQty([Number]Obj.Quantity().Round( 0)); - } - else - { - if( [Number]Obj.Quantity().Round( 0)<> ObjOrderRealQty.ForecatsQty()) - { - RQty := [Number]Obj.Quantity().Round( 0) - ObjOrderRealQty.ForecatsQty(); - RQty := ObjOrderRealQty.ForecatsRealQty() + RQty; - if( RQty<0) - { - RQty :=0; - } - ObjOrderRealQty.ForecatsQty([Number]Obj.Quantity().Round( 0)); - ObjOrderRealQty.ForecatsRealQty(RQty); - } - } + // 鏇存柊浜嗛娴嬫暟鎹紝鍒欒绠楀疄鏃舵暟鎹鍑� + if( [Number]Obj.Quantity().Round( 0)<> ObjOrderRealQty.ForecastQty()) + { + RQty := [Number]Obj.Quantity().Round( 0) - ObjOrderRealQty.ForecastQty(); + RQty := ObjOrderRealQty.ForecatsRealQty() + RQty; + if( RQty<0) + { + RQty :=0; + } + ObjOrderRealQty.ForecastQty([Number]Obj.Quantity().Round( 0)); + ObjOrderRealQty.ForecatsRealQty(RQty); + } } } - bStatus := true; strMsg :="璁㈠崟棰勬祴鍒濆鍖栨垚鍔�!"; diff --git a/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_MaterialReverse.qbl b/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_MaterialReverse.qbl index d096a87..b044a49 100644 --- a/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_MaterialReverse.qbl +++ b/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_MaterialReverse.qbl @@ -39,7 +39,7 @@ nNoHaveForecastQty:=0;//浜旈娴嬫暟閲� // 鑾峰彇棰勬祴鏁伴噺锛堝鎴�+SKU+鏈堜唤 鐞嗚鏄病鏈夌墿鏂欓娴嬶級 OrderForecast := select(Owner, H_OrderForecastRealQty , Obj, Obj.SKU() = SKU - and Obj.CustomID() = CustomerCode + and Obj.CustomCode() = CustomerCode and Obj.Month().Format( "YM2") = Date::ActualDate().Format( "YM2")); if ( not isnull(OrderForecast)) { @@ -195,10 +195,9 @@ { Owner.H_OrderForecastRealQty(relnew,ID := H_FunctionClass::SM_GenerateID( "OF"),SKU := SKU, Month := Date::ActualDate(), - CustomID := CustomerCode, + CustomCode := CustomerCode, CustomName := "瀹㈡埛琛ㄨ幏鍙�", - OrderCode := "-", - ForecatsQty :=0, + ForecastQty := 0, ForecatsRealQty :=nForecastQtyNew, Unit := "SKU 鍒扮墿鏂欒〃鑾峰彇"); } diff --git a/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_OrderHedging.qbl b/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_OrderHedging.qbl index c4c2894..88c8f1d 100644 --- a/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_OrderHedging.qbl +++ b/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_OrderHedging.qbl @@ -26,161 +26,198 @@ if( not isnull( Owner)) { // 鍒濆鍖栭娴嬩俊鎭� - JResult := H_FunctionClass::SM_InitialForcastDataEx( Owner,IsNew); + JResult := H_FunctionClass::SM_InitialForcastDataEx( Owner,IsNew,"--"); + // 棰勬祴鍒濆鍖栧畬鎴� if( JResult.Get( "Status").GetBoolean()) { - traverse( Owner,SalesDemand.astype( CustomerOrder ),ObjOrder,not isnull( ObjOrder)) + nForecastQtyOld := 0; //鍘熼娴嬫暟閲� + nReverseQtyOld :=0; //鍘熷弽绛炬暟閲� + nAuthorizeQtyOld :=0; //鍘熸巿鏉冩暟閲� + nForecastQtyNew :=0; //璁$畻鍚庣殑棰勬祴鏁伴噺 + nReverseQtyNew :=0; //璁$畻鍚庣殑鍙嶇鏁伴噺 + nAuthorizeQtyNew :=0; //璁$畻鍚庣殑鎺堟潈鏁伴噺 + nHaveForecastQty :=0; //鏈夐娴嬫暟閲� + nNoHaveForecastQty:=0;//浜旈娴嬫暟閲� + OrderQuantity := 0; //鍓╀綑璁㈠崟鏁伴噺 + traverse( Owner,SalesDemand.astype( CustomerOrder ),ObjOrder) { - //----------------------------------------浠ヤ笅鍚庡幓棰勬祴 鍙嶇 鎺堟潈鏁版嵁淇℃伅---------------- - nForecastQtyOld := 0; //鍘熼娴嬫暟閲� - nReverseQtyOld :=0; //鍘熷弽绛炬暟閲� - nAuthorizeQtyOld :=0; //鍘熸巿鏉冩暟閲� - nForecastQtyNew :=0; //璁$畻鍚庣殑棰勬祴鏁伴噺 - nReverseQtyNew :=0; //璁$畻鍚庣殑鍙嶇鏁伴噺 - nAuthorizeQtyNew :=0; //璁$畻鍚庣殑鎺堟潈鏁伴噺 - nHaveForecastQty :=0; //鏈夐娴嬫暟閲� - nNoHaveForecastQty:=0;//浜旈娴嬫暟閲� - OrderQuantity := 0; //鍓╀綑璁㈠崟鏁伴噺 - - // 鑾峰彇棰勬祴鏁伴噺锛堝鎴�+SKU+鏈堜唤 鐞嗚鏄病鏈夌墿鏂欓娴嬶級 - OrderForecast := select(Owner, H_OrderForecastRealQty , Obj, Obj.SKU() = ObjOrder.ProductID() - and Obj.CustomID() = ObjOrder.CustomerName() - and Obj.Month().Format( "YM2") =ObjOrder.EndDate().Format( "YM2")); - if ( not isnull(OrderForecast)) + // 鐩存帴鍒犻櫎鏈湀涔嬪墠鐨勮鍗� + if( ObjOrder.EndDate()<Date::ActualDate().StartOfMonth()) { - nForecastQtyOld := OrderForecast.ForecatsRealQty(); - nForecastQtyNew := nForecastQtyOld; - } - - // 鑾峰彇鍙嶇鏁伴噺锛堝彧鍒ゆ柇SKU锛� - ObjReverse := select(Owner, H_ReverseRealQty , Obj, Obj.SKU() = ObjOrder.ProductID()); - if ( not isnull(ObjReverse)) - { - nReverseQtyOld := ObjReverse.ReverseRealQty(); - nReverseQtyNew := nReverseQtyOld; - } - - // 鑾峰彇鎺堟潈鏁伴噺锛堝鎴稩D+SKU锛� - ObjAuthorize := select(Owner, H_AuthorizeRealQty , Obj, Obj.SKU() = ObjOrder.ProductID() - and Obj.CustomID() = ObjOrder.CustomerName()); - if ( not isnull(ObjAuthorize)) - { - nAuthorizeQtyOld := ObjAuthorize.AuthorizeRealQty(); - nAuthorizeQtyNew :=nAuthorizeQtyOld; - } - //-----------------------------浠ヤ笅璁㈠崟鍐插噺-------------------- - // 鎺堟潈璁板綍ID - AQID := H_FunctionClass::SM_GenerateID( "AQ"); - // 璁㈠崟鍓╀綑鏁伴噺 - OrderQuantity := [Number]ObjOrder.Quantity().Round( 0); - // 1 鍏堝啿鎺堟潈 - if( OrderQuantity>0 and nAuthorizeQtyOld>0) - { - OrderQuantity := OrderQuantity-nAuthorizeQtyOld; - nAuthorizeQtyNew :=0; - if( OrderQuantity<0) - { - nAuthorizeQtyNew := abs(OrderQuantity); - OrderQuantity :=0; - } - } - // 2 鍐嶅啿鍙嶇 - if( OrderQuantity>0 and nReverseQtyOld>0) - { - OrderQuantity := OrderQuantity-nReverseQtyOld; - nReverseQtyNew :=0; - if( OrderQuantity<0) - { - nReverseQtyNew := abs(OrderQuantity); - OrderQuantity :=0; - } - } - // 3 鏈�鍚庡啿棰勬祴 - if( OrderQuantity>0 and nForecastQtyOld>0) - { - //榛樿璁㈠崟鏁伴噺>棰勬祴鏁伴噺 - OrderQuantity := OrderQuantity-nForecastQtyOld; - nForecastQtyNew :=0; - nHaveForecastQty := nForecastQtyOld; - nNoHaveForecastQty := OrderQuantity; - if( OrderQuantity<0) - { - nForecastQtyNew := abs(OrderQuantity); - OrderQuantity :=0; - nHaveForecastQty := nForecastQtyOld - nForecastQtyNew; - nNoHaveForecastQty := 0; - } - } - // 璁板綍鍔ㄤ綔 - Owner.H_OrderRecord(relnew, - ID := AQID, - VCode:=VCode, - SKU:=ObjOrder.ProductID(), - ReverseQty := nReverseQtyNew, - CustomerCode := ObjOrder.CustomerName(), - CustomerName := ObjOrder.CustomerName(), - ForecastQty := nForecastQtyNew, - OrderDateTime := ObjOrder.EndDate(), - OrderQty := [Number]ObjOrder.Quantity().Round( 0), - OrderCode:=ObjOrder.OrderID(), - AuthorizeQty := nAuthorizeQtyNew, - ReverseDeductQty := nReverseQtyOld - nReverseQtyNew, - AuthorizeDeductQty := 0, - ForecastHitQty :=nHaveForecastQty, - ForecastNoHitQty :=nNoHaveForecastQty, - OperateType := OperatorType, - Operator := Operator, - Unit := ObjOrder.UnitOfMeasureName(), - OperateQty := [Number]ObjOrder.Quantity().Round( 0), - OperateTime := DateTime::ActualTime()); - - // 鏇存柊褰撳墠鍙嶇鏁伴噺 - if( not isnull( ObjReverse)) - { - ObjReverse.ReverseRealQty(nReverseQtyNew); + ObjOrder.Delete(); } else { - Owner.H_ReverseRealQty(relnew,ID := H_FunctionClass::SM_GenerateID( "RQ"),SKU := ObjOrder.ProductID(),Unit := ObjOrder.UnitOfMeasureName() - ,ReverseRealQty := nReverseQtyNew); - } - // 鏇存柊鎺堟潈 - if( not isnull( ObjAuthorize)) - { - ObjAuthorize.AuthorizeRealQty(nAuthorizeQtyNew); + //----------------------------------------浠ヤ笅鍚庡幓棰勬祴 鍙嶇 鎺堟潈鏁版嵁淇℃伅---------------- + nForecastQtyOld := 0; //鍘熼娴嬫暟閲� + nReverseQtyOld :=0; //鍘熷弽绛炬暟閲� + nAuthorizeQtyOld :=0; //鍘熸巿鏉冩暟閲� + nForecastQtyNew :=0; //璁$畻鍚庣殑棰勬祴鏁伴噺 + nReverseQtyNew :=0; //璁$畻鍚庣殑鍙嶇鏁伴噺 + nAuthorizeQtyNew :=0; //璁$畻鍚庣殑鎺堟潈鏁伴噺 + nHaveForecastQty :=0; //鏈夐娴嬫暟閲� + nNoHaveForecastQty:=0;//浜旈娴嬫暟閲� + OrderQuantity := 0; //鍓╀綑璁㈠崟鏁伴噺 + // 鑾峰彇棰勬祴鏁伴噺锛堝鎴�+SKU+鏈堜唤 鐞嗚鏄病鏈夌墿鏂欓娴嬶級 + OrderForecast := select(Owner, H_OrderForecastRealQty , Obj, Obj.SKU() = ObjOrder.ProductID() + and Obj.CustomCode() = ObjOrder.CustomerName() + and Obj.Month().Format( "YM2") =ObjOrder.EndDate().Format( "YM2")); + if ( not isnull(OrderForecast)) + { + nForecastQtyOld := OrderForecast.ForecatsRealQty(); + nForecastQtyNew := nForecastQtyOld; + } + // 鑾峰彇鍙嶇鏁伴噺锛堝彧鍒ゆ柇SKU锛� + ObjReverse := select(Owner, H_ReverseRealQty , Obj, Obj.SKU() = ObjOrder.ProductID()); + if ( not isnull(ObjReverse)) + { + nReverseQtyOld := ObjReverse.ReverseRealQty(); + nReverseQtyNew := nReverseQtyOld; + } + // 鑾峰彇鎺堟潈鏁伴噺锛堝鎴稩D+SKU锛� + ObjAuthorize := select(Owner, H_AuthorizeRealQty , Obj, Obj.SKU() = ObjOrder.ProductID() + and Obj.CustomID() = ObjOrder.CustomerName()); + if ( not isnull(ObjAuthorize)) + { + nAuthorizeQtyOld := ObjAuthorize.AuthorizeRealQty(); + nAuthorizeQtyNew :=nAuthorizeQtyOld; + } + //-----------------------------浠ヤ笅璁㈠崟鍐插噺-------------------- + // 鎺堟潈璁板綍ID + AQID := H_FunctionClass::SM_GenerateID( "AQ"); + // 璁㈠崟鍓╀綑鏁伴噺 + OrderQuantity := [Number]ObjOrder.Quantity().Round( 0); + // 1 鍏堝啿鎺堟潈 + if( OrderQuantity>0 and nAuthorizeQtyOld>0) + { + OrderQuantity := OrderQuantity-nAuthorizeQtyOld; + nAuthorizeQtyNew :=0; + if( OrderQuantity<0) + { + nAuthorizeQtyNew := abs(OrderQuantity); + OrderQuantity :=0; + } + } + // 2 鍐嶅啿鍙嶇 + if( OrderQuantity>0 and nReverseQtyOld>0) + { + OrderQuantity := OrderQuantity-nReverseQtyOld; + nReverseQtyNew :=0; + if( OrderQuantity<0) + { + nReverseQtyNew := abs(OrderQuantity); + OrderQuantity :=0; + } + } + // 3 鏈�鍚庡啿棰勬祴 + if( OrderQuantity>0) + { + //榛樿璁㈠崟鏁伴噺>棰勬祴鏁伴噺 + OrderQuantity := OrderQuantity-nForecastQtyOld; + nForecastQtyNew :=0; + nHaveForecastQty := nForecastQtyOld; + nNoHaveForecastQty := OrderQuantity; + if( OrderQuantity<0) + { + nForecastQtyNew := abs(OrderQuantity); + OrderQuantity :=0; + nHaveForecastQty := nForecastQtyOld - nForecastQtyNew; + nNoHaveForecastQty := 0; + } + } + // 璁板綍鍔ㄤ綔 + Owner.H_OrderRecord(relnew, + ID := AQID, + VCode:=VCode, + SKU:=ObjOrder.ProductID(), + ReverseQty := nReverseQtyNew, + CustomerCode := ObjOrder.CustomerName(), + CustomerName := ObjOrder.CustomerName(), + ForecastQty := nForecastQtyNew, + OrderDateTime := ObjOrder.EndDate(), + OrderQty := [Number]ObjOrder.Quantity().Round( 0), + OrderCode:=ObjOrder.OrderID(), + AuthorizeQty := nAuthorizeQtyNew, + ReverseDeductQty := nReverseQtyOld - nReverseQtyNew, + AuthorizeDeductQty := 0, + ForecastHitQty :=nHaveForecastQty, + ForecastNoHitQty :=nNoHaveForecastQty, + OperateType := OperatorType, + Operator := Operator, + Unit := ObjOrder.UnitOfMeasureName(), + OperateQty := [Number]ObjOrder.Quantity().Round( 0), + OperateTime := DateTime::ActualTime()); + // 绾娴嬭鍗� + if( nForecastQtyNew>0) + { + FOrder := ObjOrder.Copy(); + FOrder.OrderTag("绾娴�"); + FOrder.Quantity(nForecastQtyNew); + } + // 鏈夐娴嬭鍗� + if(nHaveForecastQty>0) + { + HFOrder := ObjOrder.Copy(); + HFOrder.OrderTag("鏈夐娴�"); + HFOrder.Quantity(nHaveForecastQty); + } + // 鏃犻娴� + if(nNoHaveForecastQty>0) + { + NHFOrder := ObjOrder.Copy(); + NHFOrder.OrderTag("鏃犻娴�"); + NHFOrder.Quantity(nNoHaveForecastQty); + } + // ERP鍙嶇鎺堟潈璁㈠崟-鎺ュ彛鏈彁渚� + + // 鏇存柊褰撳墠鍙嶇鏁伴噺 + if( not isnull( ObjReverse)) + { + ObjReverse.ReverseRealQty(nReverseQtyNew); + } + else + { + Owner.H_ReverseRealQty(relnew,ID := H_FunctionClass::SM_GenerateID( "RQ"),SKU := ObjOrder.ProductID(),Unit := ObjOrder.UnitOfMeasureName() + ,ReverseRealQty := nReverseQtyNew); + } + // 鏇存柊鎺堟潈 + if( not isnull( ObjAuthorize)) + { + ObjAuthorize.AuthorizeRealQty(nAuthorizeQtyNew); + } + else + { + Owner.H_AuthorizeRealQty(relnew,ID := H_FunctionClass::SM_GenerateID( "AR"),SKU := ObjOrder.ProductID(), + Month := ObjOrder.EndDate(), + CustomID := ObjOrder.CustomerName(), + CustomName := ObjOrder.CustomerName(), + OrderCode := "-", + AuthorizeRealQty :=nAuthorizeQtyNew, + Unit := ObjOrder.UnitOfMeasureName()); + } + // 鏇存柊棰勬祴 + if( not isnull( OrderForecast)) + { + OrderForecast.ForecatsRealQty(nForecastQtyNew); + } + else + { + Owner.H_OrderForecastRealQty(relnew,ID := H_FunctionClass::SM_GenerateID( "OF"),SKU := ObjOrder.ProductID(), + Month := ObjOrder.EndDate(), + CustomCode := ObjOrder.CustomerName(), + CustomName := ObjOrder.CustomerName(), + ForecastQty := 0, + ForecatsRealQty :=nForecastQtyNew, + Unit := ObjOrder.UnitOfMeasureName()); + } + ObjOrder.Delete(); } - else - { - Owner.H_AuthorizeRealQty(relnew,ID := H_FunctionClass::SM_GenerateID( "AR"),SKU := ObjOrder.ProductID(), - Month := ObjOrder.EndDate(), - CustomID := ObjOrder.CustomerName(), - CustomName := ObjOrder.CustomerName(), - OrderCode := "-", - AuthorizeRealQty :=nAuthorizeQtyNew, - Unit := ObjOrder.UnitOfMeasureName()); - } - // 鏇存柊棰勬祴 - if( not isnull( OrderForecast)) - { - OrderForecast.ForecatsRealQty(nForecastQtyNew); - } - else - { - Owner.H_OrderForecastRealQty(relnew,ID := H_FunctionClass::SM_GenerateID( "OF"),SKU := ObjOrder.ProductID(), - Month := ObjOrder.EndDate(), - CustomID := ObjOrder.CustomerName(), - CustomName := ObjOrder.CustomerName(), - OrderCode := "-", - ForecatsQty :=0, - ForecatsRealQty :=nForecastQtyNew, - Unit := ObjOrder.UnitOfMeasureName()); - } } } else { strMsg:="棰勬祴璁㈠崟淇℃伅鍔犺浇澶辫触锛岃鑱旂郴绯荤粺绠$悊鍛橈紒"; - } + } } } onerror diff --git a/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_OrderReverseOrAuthorize.qbl b/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_OrderReverseOrAuthorize.qbl index 72a96c0..a74b90f 100644 --- a/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_OrderReverseOrAuthorize.qbl +++ b/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_OrderReverseOrAuthorize.qbl @@ -42,7 +42,7 @@ nNoHaveForecastQty:=0;//浜旈娴嬫暟閲� // 鑾峰彇棰勬祴鏁伴噺锛堝鎴�+SKU+鏈堜唤 鐞嗚鏄病鏈夌墿鏂欓娴嬶級 OrderForecast := select(Owner, H_OrderForecastRealQty , Obj, Obj.SKU() = SKU - and Obj.CustomID() = CustomerCode + and Obj.CustomCode() = CustomerCode and Obj.Month().Format( "YM2") = Date::ActualDate().Format( "YM2")); if ( not isnull(OrderForecast)) { @@ -189,10 +189,9 @@ { Owner.H_OrderForecastRealQty(relnew,ID := H_FunctionClass::SM_GenerateID( "OF"),SKU := SKU, Month := Date::ActualDate(), - CustomID := CustomerCode, + CustomCode := CustomerCode, CustomName := CustomName, - OrderCode := "-", - ForecatsQty :=0, + ForecastQty := 0, ForecatsRealQty :=nForecastQtyNew, Unit := Unit); } diff --git a/_Main/BL/Type_H_FunctionClass/StaticMethod_UpdateOrderForecastRealQty.qbl b/_Main/BL/Type_H_FunctionClass/StaticMethod_UpdateOrderForecastRealQty.qbl index 988d53e..4a0d857 100644 --- a/_Main/BL/Type_H_FunctionClass/StaticMethod_UpdateOrderForecastRealQty.qbl +++ b/_Main/BL/Type_H_FunctionClass/StaticMethod_UpdateOrderForecastRealQty.qbl @@ -24,7 +24,7 @@ for ( x := 1; x <= 10; x := x + 1 ) { Owner.H_OrderForecastRealQty(relnew,ID := "AAAAA_"+ x.AsQUILL(),SKU := "OTN-01-ACC-00"+ x.AsQUILL() , Month := Date::ActualDate(),CustomName := "灏忕背", - CustomID := "XM0001",OrderCode:="OD0001",ForecatsQty:=1000,ForecatsRealQty:=1000, Unit := "PCS"); + CustomCode := "XM0001",ForecastQty := 1000,ForecatsRealQty:=1000, Unit := "PCS"); } } //H_FunctionClass := Owner.H_FunctionClass(relnew,VCode_Material := VCode,UpdateTime_Material := Date::ActualDate()); diff --git a/_Main/BL/Type_H_OrderForecastRealQty/Attribute_CustomCode.qbl b/_Main/BL/Type_H_OrderForecastRealQty/Attribute_CustomCode.qbl new file mode 100644 index 0000000..9cb80f6 --- /dev/null +++ b/_Main/BL/Type_H_OrderForecastRealQty/Attribute_CustomCode.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CustomCode +{ + #keys: '3[414724.0.174571651][414724.0.174571650][414724.0.174571652]' + Description: '瀹㈡埛ID锛屽敮涓�寤轰箣涓�' + ValueType: String +} diff --git a/_Main/BL/Type_H_OrderForecastRealQty/Attribute_CustomID.qbl b/_Main/BL/Type_H_OrderForecastRealQty/Attribute_CustomID.qbl deleted file mode 100644 index f0cb7e7..0000000 --- a/_Main/BL/Type_H_OrderForecastRealQty/Attribute_CustomID.qbl +++ /dev/null @@ -1,8 +0,0 @@ -Quintiq file version 2.0 -#parent: #root -Attribute CustomID -{ - #keys: '3[414724.0.46380328][414724.0.46380327][414724.0.46380329]' - Description: '瀹㈡埛ID' - ValueType: String -} diff --git a/_Main/BL/Type_H_OrderForecastRealQty/Attribute_Department.qbl b/_Main/BL/Type_H_OrderForecastRealQty/Attribute_Department.qbl new file mode 100644 index 0000000..efe5e78 --- /dev/null +++ b/_Main/BL/Type_H_OrderForecastRealQty/Attribute_Department.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Department +{ + #keys: '3[414724.0.174571661][414724.0.174571660][414724.0.174571662]' + Description: '閮ㄩ棬锛屾病鏈変环鍊硷紝鏄剧ず浣跨敤' + ValueType: String +} diff --git a/_Main/BL/Type_H_OrderForecastRealQty/Attribute_ForecatsQty.qbl b/_Main/BL/Type_H_OrderForecastRealQty/Attribute_ForecastQty.qbl similarity index 87% rename from _Main/BL/Type_H_OrderForecastRealQty/Attribute_ForecatsQty.qbl rename to _Main/BL/Type_H_OrderForecastRealQty/Attribute_ForecastQty.qbl index 2edd0bc..bdc2eb0 100644 --- a/_Main/BL/Type_H_OrderForecastRealQty/Attribute_ForecatsQty.qbl +++ b/_Main/BL/Type_H_OrderForecastRealQty/Attribute_ForecastQty.qbl @@ -1,6 +1,6 @@ Quintiq file version 2.0 #parent: #root -Attribute ForecatsQty +Attribute ForecastQty { #keys: '3[414724.0.46380358][414724.0.46380357][414724.0.46380359]' Description: '棰勬祴鏁伴噺' diff --git a/_Main/BL/Type_H_OrderForecastRealQty/Attribute_Month.qbl b/_Main/BL/Type_H_OrderForecastRealQty/Attribute_Month.qbl index cc1224e..8e83213 100644 --- a/_Main/BL/Type_H_OrderForecastRealQty/Attribute_Month.qbl +++ b/_Main/BL/Type_H_OrderForecastRealQty/Attribute_Month.qbl @@ -3,6 +3,6 @@ Attribute Month { #keys: '3[414724.0.46380308][414724.0.46380307][414724.0.46380309]' - Description: '鏈堜唤' + Description: '鏈堜唤锛屽敮涓�閿箣涓�' ValueType: Date } diff --git a/_Main/BL/Type_H_OrderForecastRealQty/Attribute_OrderCode.qbl b/_Main/BL/Type_H_OrderForecastRealQty/Attribute_OrderCode.qbl deleted file mode 100644 index 66e08c7..0000000 --- a/_Main/BL/Type_H_OrderForecastRealQty/Attribute_OrderCode.qbl +++ /dev/null @@ -1,8 +0,0 @@ -Quintiq file version 2.0 -#parent: #root -Attribute OrderCode -{ - #keys: '3[414724.0.46380338][414724.0.46380337][414724.0.46380339]' - Description: '璁㈠崟缂栧彿' - ValueType: String -} diff --git a/_Main/BL/Type_H_OrderForecastRealQty/Attribute_SKU.qbl b/_Main/BL/Type_H_OrderForecastRealQty/Attribute_SKU.qbl index a9eab85..5f2e17f 100644 --- a/_Main/BL/Type_H_OrderForecastRealQty/Attribute_SKU.qbl +++ b/_Main/BL/Type_H_OrderForecastRealQty/Attribute_SKU.qbl @@ -3,6 +3,6 @@ Attribute SKU { #keys: '3[414724.0.46380348][414724.0.46380347][414724.0.46380349]' - Description: 'SKU缂栫爜' + Description: 'SKU缂栫爜锛屽敮涓�閿箣涓�' ValueType: String } diff --git a/_Main/BL/Type_H_OrderForecastRealQty/Attribute_SKUName.qbl b/_Main/BL/Type_H_OrderForecastRealQty/Attribute_SKUName.qbl new file mode 100644 index 0000000..ddbce61 --- /dev/null +++ b/_Main/BL/Type_H_OrderForecastRealQty/Attribute_SKUName.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute SKUName +{ + #keys: '3[414724.0.174572228][414724.0.174572227][414724.0.174572229]' + Description: 'SKU鍚嶇О' + ValueType: String +} diff --git a/_Main/BL/Type_H_OrderForecastRealQty/Attribute_StockingPointID.qbl b/_Main/BL/Type_H_OrderForecastRealQty/Attribute_StockingPointID.qbl new file mode 100644 index 0000000..ebf027f --- /dev/null +++ b/_Main/BL/Type_H_OrderForecastRealQty/Attribute_StockingPointID.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute StockingPointID +{ + #keys: '3[414724.0.174571671][414724.0.174571670][414724.0.174571672]' + Description: '搴撳瓨鐐癸紝娌℃湁浠峰�硷紝鏄剧ず浣跨敤' + ValueType: String +} diff --git a/_Main/BL/Type_H_OrderForecastRealQty/Attribute_Unit.qbl b/_Main/BL/Type_H_OrderForecastRealQty/Attribute_Unit.qbl index 6569ece..eb7052c 100644 --- a/_Main/BL/Type_H_OrderForecastRealQty/Attribute_Unit.qbl +++ b/_Main/BL/Type_H_OrderForecastRealQty/Attribute_Unit.qbl @@ -3,6 +3,6 @@ Attribute Unit { #keys: '3[414724.0.46380378][414724.0.46380377][414724.0.46380379]' - Description: '鍗曚綅' + Description: '鍗曚綅锛屾病鏈変环鍊硷紝鏄剧ず浣跨敤' ValueType: String } diff --git a/_Main/BL/Type_H_OrderForecastRealQty/Attribute_VCode.qbl b/_Main/BL/Type_H_OrderForecastRealQty/Attribute_VCode.qbl new file mode 100644 index 0000000..fb94eeb --- /dev/null +++ b/_Main/BL/Type_H_OrderForecastRealQty/Attribute_VCode.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute VCode +{ + #keys: '3[414724.0.174571641][414724.0.174571640][414724.0.174571642]' + Description: '鐗堟湰鍙凤紝鏆傛椂涓嶉�傜敤锛岄粯璁�-' + ValueType: String +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_ListSalesDemands.def b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_ListSalesDemands.def new file mode 100644 index 0000000..352a599 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_ListSalesDemands.def @@ -0,0 +1,14 @@ +Quintiq file version 2.0 +Component ListSalesDemands #extension +{ + Children: + [ + Component DataSetLevelSalesDemands #extension + { + Properties: + [ + Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeAllConstraint","columnid":"All constraints","title":"All constraints","subtotals":"","tooltip":"","width":1,"display":"shown"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPoint_MP.ID","title":"Stocking point","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"StockingPoint_MP.ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegment_MP.Name","title":"Sales segment","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"SalesSegment_MP.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CustomerName","title":"Customer name","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomerName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CustomerID","title":"Customer ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomerID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderID","title":"Order ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderLineID","title":"Order line ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderLineID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"Order date","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Product_MP.ID","title":"Product","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"Product_MP.ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasure_MP.Name","title":"UoM","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"UnitOfMeasure_MP.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FulfilledQuantity","title":"Fulfilled","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"FulfilledQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeChart","columnid":"Fulfillment","title":"Fulfillment","subtotals":"","tooltip":"","width":-1,"display":"shown","type":"stackbar","relative":true,"attributes":[{"name":"Unfulfilled demand","color":"rgb(232,123,0)","expression":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"Unfulfilled demand","title":"Unfulfilled demand","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"maxvalue( object.Quantity() - object.FulfilledQuantity(), 0.0).Round( 2)"}},{"name":"Fulfilled demand","color":"rgb(87,184,71)","expression":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"Fulfilled demand","title":"Fulfilled demand","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"object.FulfilledQuantity().Round( 2)"}}]}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsFirmed","title":"Is firmed","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsFirmed"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsEligibleForNetting","title":"Is eligible for netting","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsEligibleForNetting"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Price","title":"Price","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Price"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriceUoM","title":"PriceUoM","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"PriceUoM"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderTag","title":"璁㈠崟鏍囩","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderTag"}}]' + ] + } + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_PanelAllSalesDemands.def b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_PanelAllSalesDemands.def new file mode 100644 index 0000000..b6550d1 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_PanelAllSalesDemands.def @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +Component PanelAllSalesDemands #extension +{ + Children: + [ + #child: ListSalesDemands + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_PanelSalesDemands.def b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_PanelSalesDemands.def new file mode 100644 index 0000000..14acdde --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_PanelSalesDemands.def @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +Component PanelSalesDemands #extension +{ + Children: + [ + #child: PanelAllSalesDemands + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/_ROOT_Component_FormCustomerOrders.def b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/_ROOT_Component_FormCustomerOrders.def new file mode 100644 index 0000000..040c94f --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/_ROOT_Component_FormCustomerOrders.def @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: LibMacroPlannerWebUI +OrphanComponent FormCustomerOrders #extension +{ + Children: + [ + #child: PanelSalesDemands + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/Component_ListSDIP.def b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/Component_ListSDIP.def new file mode 100644 index 0000000..b0cbc0a --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/Component_ListSDIP.def @@ -0,0 +1,20 @@ +Quintiq file version 2.0 +Component ListSDIP +{ + #keys: '[134266.1.1970512356]' + BaseType: 'ListSDIP' + IsDerived: true + Children: + [ + Component DataSetLevelSDIP + { + #keys: '[134266.1.1970512358]' + BaseType: 'DataSetLevelSDIP' + IsDerived: true + Properties: + [ + Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeAllConstraint","columnid":"All constraints","title":"All constraints","subtotals":"","tooltip":"","width":1,"display":"shown"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImgIsRestricted","title":"ImgIsRestricted","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ImgIsRestricted"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegmentName","title":"Sales segment","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"SalesSegmentName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"Product","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"Stocking point","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"Start","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"EndDate","title":"End","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"EndDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MasterSalesDemand.UnitOfMeasureName","title":"UoM","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MasterSalesDemand.UnitOfMeasureName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"QuantityInSalesDemandUOM","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"QuantityInSalesDemandUOM"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FulfilledQuantityInSalesDemandUOM","title":"Fulfilled","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"FulfilledQuantityInSalesDemandUOM"}},{"attribute":{"classtype":"WebApiDefinitionAttributeChart","columnid":"Fulfillment","title":"Fulfillment","subtotals":"","tooltip":"","width":-1,"display":"shown","type":"stackbar","relative":true,"attributes":[{"name":"Fulfilled demand","color":"rgb(87,184,71)","expression":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"Fulfilled demand","title":"Fulfilled demand","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"object.FulfilledQuantity().Round( 2)"}},{"name":"Unfulfilled demand","color":"rgb(232,123,0)","expression":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"Unfulfilled demand","title":"Unfulfilled demand","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"maxvalue( object.Quantity()-object.FulfilledQuantity(),0.0)"}}]}}]' + ] + } + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/Component_ListSalesDemands.def b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/Component_ListSalesDemands.def new file mode 100644 index 0000000..0abeb62 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/Component_ListSalesDemands.def @@ -0,0 +1,30 @@ +Quintiq file version 2.0 +Component ListSalesDemands +{ + #keys: '[134266.1.1970507083]' + BaseType: 'ListSalesDemands' + IsDerived: true + Children: + [ + Component DataExtractorSalesDemands + { + #keys: '[134266.1.1970507084]' + BaseType: 'DataExtractorSalesDemands' + IsDerived: true + Properties: + [ + Transformation: 'Elements.astype(CustomerOrder)' + ] + } + Component DataSetLevelSalesDemands + { + #keys: '[134266.1.1970507085]' + BaseType: 'DataSetLevelSalesDemands' + IsDerived: true + Properties: + [ + Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeAllConstraint","columnid":"All constraints","title":"All constraints","subtotals":"","tooltip":"","width":1,"display":"shown"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPoint_MP.ID","title":"Stocking point","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"StockingPoint_MP.ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegment_MP.Name","title":"Sales segment","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"SalesSegment_MP.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CustomerName","title":"Customer name","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomerName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CustomerID","title":"Customer ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomerID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderID","title":"Order ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderLineID","title":"Order line ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderLineID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"Order date","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Product_MP.ID","title":"Product","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"Product_MP.ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasure_MP.Name","title":"UoM","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"UnitOfMeasure_MP.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FulfilledQuantity","title":"Fulfilled","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"FulfilledQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeChart","columnid":"Fulfillment","title":"Fulfillment","subtotals":"","tooltip":"","width":-1,"display":"shown","type":"stackbar","relative":true,"attributes":[{"name":"Unfulfilled demand","color":"rgb(232,123,0)","expression":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"Unfulfilled demand","title":"Unfulfilled demand","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"maxvalue( object.Quantity() - object.FulfilledQuantity(), 0.0).Round( 2)"}},{"name":"Fulfilled demand","color":"rgb(87,184,71)","expression":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"Fulfilled demand","title":"Fulfilled demand","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"object.FulfilledQuantity().Round( 2)"}}]}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsFirmed","title":"Is firmed","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsFirmed"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsEligibleForNetting","title":"Is eligible for netting","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsEligibleForNetting"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Price","title":"Price","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Price"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriceUoM","title":"PriceUoM","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"PriceUoM"}}]' + ] + } + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/Component_PanelAllSalesDemands.def b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/Component_PanelAllSalesDemands.def new file mode 100644 index 0000000..60db013 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/Component_PanelAllSalesDemands.def @@ -0,0 +1,11 @@ +Quintiq file version 2.0 +Component PanelAllSalesDemands +{ + #keys: '[134266.1.1970497658]' + BaseType: 'PanelAllSalesDemands' + IsDerived: true + Children: + [ + #child: ListSalesDemands + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/Component_PanelSDIP.def b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/Component_PanelSDIP.def new file mode 100644 index 0000000..6ddf675 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/Component_PanelSDIP.def @@ -0,0 +1,15 @@ +Quintiq file version 2.0 +Component PanelSDIP +{ + #keys: '[134266.1.1970511019]' + BaseType: 'PanelSDIP' + IsDerived: true + Children: + [ + #child: ListSDIP + ] + Properties: + [ + Title: 'Customer orders at planning level' + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/Component_PanelSalesDemands.def b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/Component_PanelSalesDemands.def new file mode 100644 index 0000000..e90068d --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/Component_PanelSalesDemands.def @@ -0,0 +1,12 @@ +Quintiq file version 2.0 +Component PanelSalesDemands +{ + #keys: '[134266.1.1970506995]' + BaseType: 'PanelSalesDemands' + IsDerived: true + Children: + [ + #child: PanelSDIP + #child: PanelAllSalesDemands + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/Response_ListSalesDemands_MenuCopy_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/Response_ListSalesDemands_MenuCopy_OnClick.def new file mode 100644 index 0000000..e6db580 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/Response_ListSalesDemands_MenuCopy_OnClick.def @@ -0,0 +1,19 @@ +Quintiq file version 2.0 +#parent: ListSalesDemands +Response OnClick () inherited id:Response_ListSalesDemands_MenuCopy_OnClick +{ + #keys: '[136682.1.799924425]' + BaseType: 'Response_ListSalesDemands_MenuCopy_OnClick' + DefinitionID: 'Responsedef_ListSalesDemands_WebMenu_OnClick' + Initiator: 'MenuCopy' + QuillAction + { + Body: + [* + // Copy sales demand + data := selectset( selection, Elements.astype( CustomerOrder ), co, true, true ); + CustomerOrder::Copy( data ); + *] + GroupServerCalls: false + } +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/Response_ListSalesDemands_MenuCreate_OnClick\043715.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/Response_ListSalesDemands_MenuCreate_OnClick\043715.def" new file mode 100644 index 0000000..85a98aa --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/Response_ListSalesDemands_MenuCreate_OnClick\043715.def" @@ -0,0 +1,19 @@ +Quintiq file version 2.0 +#parent: ListSalesDemands +Response OnClick () inherited id:Response_ListSalesDemands_MenuCreate_OnClick_715 +{ + #keys: '[136682.1.803262814]' + BaseType: 'Response_ListSalesDemands_MenuCreate_OnClick_715' + DefinitionID: 'Responsedef_ListSalesDemands_WebMenu_OnClick' + Initiator: 'MenuCreate' + QuillAction + { + Body: + [* + //Create new sales demand + dlg := construct( DialogCreateEditCustomerOrder ); + dlg.New(); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/Response_ListSalesDemands_MenuEdit_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/Response_ListSalesDemands_MenuEdit_OnClick.def new file mode 100644 index 0000000..edf9a16 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/Response_ListSalesDemands_MenuEdit_OnClick.def @@ -0,0 +1,20 @@ +Quintiq file version 2.0 +#parent: ListSalesDemands +Response OnClick () inherited id:Response_ListSalesDemands_MenuEdit_OnClick +{ + #keys: '[136682.1.803135245]' + BaseType: 'Response_ListSalesDemands_MenuEdit_OnClick' + DefinitionID: 'Responsedef_ListSalesDemands_WebMenu_OnClick' + Initiator: 'MenuEdit' + QuillAction + { + Body: + [* + //Edit sales demand + dlg := construct( DialogCreateEditCustomerOrder ); + + data := selectset( selection, Elements.astype( CustomerOrder ), f, true, true ); + dlg.Edit( data ); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/_ROOT_Component_FormCustomerOrders226.def b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/_ROOT_Component_FormCustomerOrders226.def new file mode 100644 index 0000000..4e72e24 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders226/_ROOT_Component_FormCustomerOrders226.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#root +#parent: MacroPlannerWebApp +OrphanComponent FormCustomerOrders226 +{ + #keys: '[414724.0.179160850]' + Accessibility: 'Extensible' + BaseType: 'FormSalesDemands' + Children: + [ + #child: PanelSalesDemands + ] + Properties: + [ + Image: 'SALES_QUOTATION' + Title: 'Customer orders' + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmMaterial/Response_List832_OnDoubleClick.def b/_Main/UI/MacroPlannerWebApp/Component_FrmMaterial/Response_List832_OnDoubleClick.def index b04f7cf..8519bc2 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FrmMaterial/Response_List832_OnDoubleClick.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FrmMaterial/Response_List832_OnDoubleClick.def @@ -13,19 +13,31 @@ [* if( not isnull( selection)) { + // 棰勬祴璁㈠崟鍩烘湰淇℃伅 + CustomCode:=""; + CustomName:=""; + SValueJsonString:=""; + // 鑾峰彇瀹㈡埛鍚嶇О鍜屽鎴稩D + if(txtSaveForecastData_FM.Text().Length()>0) + { + jForecast := JSON::Parse( txtSaveForecastData_FM.Text()); + CustomCode := jForecast.Get( "CustomCode").GetString(); + CustomName := jForecast.Get( "CustomName").GetString(); + } + if(selection.MaterialType()="鍗婃垚鍝�") { - OrderCode:=""; + ForecastID:=""; if( txtSaveForecastData_FM.Text().Length()>0) { - JForecast := JSON::Parse( txtSaveForecastData_FM.Text()); - OrderCode := JForecast.Get( "OrderCode").GetString(); + JForecast := JSON::Parse(txtSaveForecastData_FM.Text()); + ForecastID := JForecast.Get( "ForecastID").GetString(); } - jResult := H_FunctionClass::SM_GetMaterialData( MacroPlan,selection.SKU(),selection.NeedQty(), OrderCode,"-",selection.NeedDate()); + jResult := H_FunctionClass::SM_GetMaterialData( MacroPlan,selection.SKU(),selection.NeedQty(), ForecastID,"-",selection.NeedDate()); if(jResult.Get( "Status").GetBoolean()) { de_dh_FM_ProductMP.FixedFilter( "object.ParentSKU() = " + selection.SKU().AsQUILL() - + " and object.ForecastID() = " + OrderCode.AsQUILL() + + " and object.ForecastID() = " + ForecastID.AsQUILL() ); } else @@ -35,7 +47,27 @@ } else { - // 寮瑰嚭鐗╂枡鍙嶇鎺堟潈 + SelectItem := select( MacroPlan,H_MessagePassing,Obj,Obj.FKey()="FrmMaterial" and Obj.ItemKey()="ListSelect"); + if(not isnull(selection)) + { + SValueJsonString:= JSON::Object().Add( "SKU",selection.SKU()) + .Add( "MaterialName",selection.MaterialName()) + .Add( "MaterialType",selection.MaterialType()) + .Add( "OrgCode",selection.OrgCode()) + .Add( "Unit",selection.Unit()) + .Add( "CustomCode",CustomCode) + .Add( "ParentSKU",lb_SUK_FM.Text()) + .Add( "CustomName",CustomName).Build().AsString(); + } + if(isnull( SelectItem)) + { + MacroPlan.H_MessagePassing(relnew,FKey := "FrmMaterial",ItemKey := "ListSelect", ValueJsonString:=SValueJsonString); + } + else + { + SelectItem.ValueJsonString( SValueJsonString); + } + Application.OpenForm( "FrmAuthorizeAndCountersign_Material","modal"); } } *] diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmMaterial/Response_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FrmMaterial/Response_OnCreated.def index c3a42c1..4529905 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FrmMaterial/Response_OnCreated.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FrmMaterial/Response_OnCreated.def @@ -17,11 +17,11 @@ { if( SelectItem.ValueJsonString().Length()>0) { - txtSaveForecastData_FM.Text( SelectItem.ValueJsonString()); - JSelect := JSON::Parse( SelectItem.ValueJsonString()); + txtSaveForecastData_FM.Text(SelectItem.ValueJsonString()); + JSelect := JSON::Parse(SelectItem.ValueJsonString()); lb_SUK_FM.Text(JSelect.Get( "SKU").GetString()); de_dh_FM_ProductMP.FixedFilter( "object.ParentSKU() = " + JSelect.Get( "SKU").GetString().AsQUILL() - + " and object.ForecastID() = " + JSelect.Get( "OrderCode").GetString().AsQUILL() + + " and object.ForecastID() = " + JSelect.Get( "ForecastID").GetString().AsQUILL() ); } } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel351.def b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel351.def index c6fbad5..130115e 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel351.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel351.def @@ -85,6 +85,29 @@ Taborder: 3 ] } + Component txt_QueryContent_FOF + { + #keys: '[414724.0.172390935]' + BaseType: 'WebEditField' + Properties: + [ + PlaceHolder: '妯$硦鎼滅储' + Taborder: 4 + ] + } + Component btn_Query_FOF + { + #keys: '[414724.0.172390951]' + BaseType: 'WebButton' + Properties: + [ + ButtonSize: 'compact' + Description: '鏌ヨ' + Image: 'VIEW' + Label: '鏌ヨ' + Taborder: 5 + ] + } ] Properties: [ diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel383.def b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel383.def deleted file mode 100644 index ff6b8ad..0000000 --- a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel383.def +++ /dev/null @@ -1,53 +0,0 @@ -Quintiq file version 2.0 -Component Panel383 -{ - #keys: '[414724.0.86151558]' - BaseType: 'WebPanel' - Children: - [ - Component ds_Month_FOF - { - #keys: '[414724.0.86151747]' - BaseType: 'WebDateSelector' - Properties: - [ - DateFormat: 'YMM' - Label: '鏈堜唤' - Taborder: 0 - Visible: false - ] - } - Component txt_QueryContent_FOF - { - #keys: '[414724.0.86151766]' - BaseType: 'WebEditField' - Properties: - [ - PlaceHolder: '妯$硦鎼滅储' - Taborder: 1 - Visible: false - ] - } - Component btn_Query_FOF - { - #keys: '[414724.0.88914059]' - BaseType: 'WebButton' - Properties: - [ - Description: '鏌ヨ' - Image: 'VIEW' - Label: '鏌ヨ' - Taborder: 2 - Visible: false - ] - } - ] - Properties: - [ - FixedSize: true - MinimumColumns: 80 - Orientation: 'horizontal' - Taborder: 0 - Visible: false - ] -} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel647.def b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel647.def deleted file mode 100644 index 7b147ac..0000000 --- a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel647.def +++ /dev/null @@ -1,50 +0,0 @@ -Quintiq file version 2.0 -Component Panel647 -{ - #keys: '[414724.0.86151576]' - BaseType: 'WebPanel' - Children: - [ - Component btn_Add_Order_FOF - { - #keys: '[414724.0.87342042]' - BaseType: 'WebButton' - Properties: - [ - Description: '璁㈠崟鏂板鍙嶇/鎺堟潈' - Label: '璁㈠崟鏂板鍙嶇/鎺堟潈' - Taborder: 1 - ] - } - Component btn_Add_Material_FOF - { - #keys: '[414724.0.86151707]' - BaseType: 'WebButton' - Properties: - [ - Description: '鍘熸枡鏂板鍙嶇/鎺堟潈' - Label: '鍘熸枡鏂板鍙嶇/鎺堟潈' - Taborder: 2 - ] - } - Component btn_InitialData - { - #keys: '[414724.0.93657921]' - BaseType: 'WebButton' - Properties: - [ - Description: '鍔犺浇鏁版嵁锛堝亣鐨勶紝鍚庣画闇�瑕佸鎺ユ暟鎹級' - Label: '鍔犺浇棰勬祴璁㈠崟鏁版嵁' - Taborder: 0 - Visible: false - ] - } - ] - Properties: - [ - Alignment: 'trailing' - FixedSize: true - Orientation: 'horizontal' - Taborder: 1 - ] -} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel849.def b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel849.def deleted file mode 100644 index 35b07f6..0000000 --- a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel849.def +++ /dev/null @@ -1,19 +0,0 @@ -Quintiq file version 2.0 -Component Panel849 -{ - #keys: '[414724.0.87341748]' - BaseType: 'WebPanel' - Children: - [ - #child: Panel383 - #child: Panel647 - ] - Properties: - [ - Description: '宸茬粡闅愯棌锛屾殏鏈娇鐢�' - FixedSize: true - Orientation: 'horizontal' - Taborder: 2 - Visible: false - ] -} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_liH_Forecast.def b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_liH_Forecast.def index e056848..67ab89e 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_liH_Forecast.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_liH_Forecast.def @@ -11,8 +11,8 @@ BaseType: 'WebDataExtractor' Properties: [ - DataType: 'structured[H_Forecast]' - Source: 'dh_FOF_H_Forecast' + DataType: 'structured[H_OrderForecastRealQty]' + Source: 'dh_FOF_H_OrderForecastRealQty' Taborder: 0 Transformation: 'Elements' ] @@ -28,7 +28,7 @@ ] Properties: [ - Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderCode","title":"璁㈠崟缂栧彿","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SKU","title":"SKU缂栫爜","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SKU"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ForecastQty","title":"棰勬祴鏁伴噺","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ForecastQty"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"NeedTime","title":"闇�姹傛椂闂�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"NeedTime"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Util","title":"鍗曚綅","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Util"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CustomName","title":"瀹㈡埛鍚嶇О","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Department","title":"閿�鍞儴闂�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Department"}}]' + Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Month","title":"鏈堜唤","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Month"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CustomName","title":"瀹㈡埛鍚嶇О","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SKU","title":"SKU缂栧彿","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SKU"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ForecatsQty","title":"棰勬祴鏁伴噺","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ForecatsQty"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ForecatsRealQty","title":"绾娴嬫暟閲�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ForecatsRealQty"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Unit","title":"鍗曚綅","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Unit"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Department","title":"閮ㄩ棬","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Department"}}]' ContextMenu: 'listContextMenu367' Taborder: 2 ] @@ -36,6 +36,6 @@ ] Properties: [ - Taborder: 7 + Taborder: 3 ] } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_listActionBarPage963.def b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_listActionBarPage963.def deleted file mode 100644 index 320820a..0000000 --- a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_listActionBarPage963.def +++ /dev/null @@ -1,10 +0,0 @@ -Quintiq file version 2.0 -Component listActionBarPage963 -{ - #keys: '[414724.0.86151897]' - BaseType: 'listActionBarPage' - Properties: - [ - Taborder: 1 - ] -} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_listContextMenu687.def b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_listContextMenu687.def deleted file mode 100644 index 5f3683c..0000000 --- a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_listContextMenu687.def +++ /dev/null @@ -1,10 +0,0 @@ -Quintiq file version 2.0 -Component listContextMenu687 -{ - #keys: '[414724.0.86151902]' - BaseType: 'listContextMenu' - Properties: - [ - Taborder: 0 - ] -} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_list_ForecastView_FOF\043670.def" "b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_list_ForecastView_FOF\043670.def" deleted file mode 100644 index 0c21175..0000000 --- "a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_list_ForecastView_FOF\043670.def" +++ /dev/null @@ -1,43 +0,0 @@ -Quintiq file version 2.0 -Component list_ForecastView_FOF -{ - #keys: '[414724.0.86151894]' - BaseType: 'WebList' - Children: - [ - Component de_list_ForecastView_FOF - { - #keys: '[414724.0.86151895]' - BaseType: 'WebDataExtractor' - Properties: - [ - DataType: 'structured[SalesDemandBase]' - Source: 'dh_FOF_Data' - Taborder: 0 - Transformation: 'Elements.astype(Forecast)' - ] - } - #child: listActionBarPage963 - Component DataSetLevel191 - { - #keys: '[414724.0.86151900]' - BaseType: 'WebDataSetLevel' - Children: - [ - #child: listContextMenu687 - ] - Properties: - [ - Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeAllConstraint","columnid":"All constraints","title":"All constraints","subtotals":"","tooltip":"","width":1,"display":"shown"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImgNotLinkedToPeriod","title":"ImgNotLinkedToPeriod","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ImgNotLinkedToPeriod"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImgIsPostponed","title":"ImgIsPostponed","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ImgIsPostponed"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPoint_MP.ID","title":"Stocking point","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"StockingPoint_MP.ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegment_MP.Name","title":"Sales segment","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"SalesSegment_MP.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Product_MP.ID","title":"Product","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"Product_MP.ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"Start","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"EndDate","title":"End","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"EndDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasure_MP.Name","title":"Quantity UoM","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"UnitOfMeasure_MP.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Original Qty","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"NettedQuantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"NettedQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FulfilledQuantity","title":"Fulfilled","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"FulfilledQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeChart","columnid":"Fulfillment Illustration","title":"Fulfillment","subtotals":"","tooltip":"","width":-1,"display":"shown","type":"stackbar","relative":true,"attributes":[{"name":"Fulfilled demand","color":"rgb(87,184,71)","expression":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"Fulfillment","title":"Fulfilled demand","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"object.FulfilledQuantity().Round(2)"}},{"name":"Unfulfilled demand","color":"rgb(232,123,0)","expression":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"Unfulfilled demand","title":"Unfulfilled demand","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"maxvalue(object.NettedQuantity()-object.FulfilledQuantity(),0.0).Round(2)"}}]}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Price","title":"Price","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Price"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriceUoM","title":"PriceUoM","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"PriceUoM"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Priority.Name","title":"Priority","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"Priority.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DemandUncertaintyPercentage","title":"Uncertainty","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DemandUncertaintyPercentage"}}]' - ContextMenu: 'listContextMenu687' - FixedFilter: 'object.EndDate().DateTime().Date() >= Date::ActualDate().StartOfMonth() and object.EndDate().DateTime().Date() <= Date::ActualDate().StartOfNextMonth().StartOfNextMonth().StartOfNextMonth().StartOfNextMonth()' - Taborder: 2 - ] - } - ] - Properties: - [ - Taborder: 5 - Visible: false - ] -} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_OnCreated.def index 5cb899a..700b61d 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_OnCreated.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_OnCreated.def @@ -9,13 +9,15 @@ { Body: [* - // 鍒濆鍖栨煡璇㈠弬鏁版湀浠� - ds_Month_FOF.Date(Date::ActualDate()); // 鍒濆鍖栭娴嬫暟鎹� - JResult := H_FunctionClass::SM_InitialForcastData( MacroPlan); + JResult := H_FunctionClass::SM_InitialForcastDataEx( MacroPlan,true,"-"); if(not JResult.Get( "Status").GetBoolean()) { - WebMessageBox::Warning( JResult.Get( "Msg").GetString()); + WebMessageBox::Warning( JResult.Get( "Msg").GetString()); + } + else + { + WebMessageBox::Information( JResult.Get( "Msg").GetString()); } *] GroupServerCalls: false diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel351_btn_Add_Material_FOF503_OnClick\043222.def" "b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel351_btn_Add_Material_FOF503_OnClick\043222.def" index 0f50e1f..bda5c5d 100644 --- "a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel351_btn_Add_Material_FOF503_OnClick\043222.def" +++ "b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel351_btn_Add_Material_FOF503_OnClick\043222.def" @@ -1,7 +1,7 @@ Quintiq file version 2.0 #parent: Panel351/btn_Add_Material_FOF503 Response OnClick ( - H_Forecast selection + H_OrderForecastRealQty selection ) id:Response_Panel351_btn_Add_Material_FOF503_OnClick_222 { #keys: '[414724.0.145178766]' @@ -17,28 +17,26 @@ if( isnull( SelectItem)) { MacroPlan.H_MessagePassing(relnew,FKey :="FrmOrderForecast",ItemKey := "ListSelect", - Value := selection.SKU()+";"+selection.Util()+";"+selection.CustomCode()+";"+selection.CustomName(), ValueJsonString := JSON::Object().Add( "SKU",selection.SKU()) - .Add( "Util",selection.Util()) - .Add( "CustomCode",selection.CustomCode()) - .Add( "CustomName",selection.CustomName()) - .Add( "ForecastQty",selection.ForecastQty()) - .Add( "NeedTime",selection.NeedTime().AsQUILL()) - .Add( "OrderCode",selection.OrderCode()).Build().AsString()); + .Add( "Util",selection.Unit()) + .Add( "CustomCode",selection.CustomCode()) + .Add( "CustomName",selection.CustomName()) + .Add( "ForecastQty",selection.ForecastQty()) + .Add( "ForecastID",selection.ID()) + .Add( "NeedTime",selection.Month().AsQUILL()).Build().AsString()); } else { - SelectItem.Value(selection.SKU()+";"+selection.Util()+";"+selection.CustomCode()+";"+selection.CustomName()); SelectItem.ValueJsonString(JSON::Object().Add( "SKU",selection.SKU()) - .Add( "Util",selection.Util()) - .Add( "CustomCode",selection.CustomCode()) - .Add( "CustomName",selection.CustomName()) - .Add( "ForecastQty",selection.ForecastQty()) - .Add( "NeedTime",selection.NeedTime().AsQUILL()) - .Add( "OrderCode",selection.OrderCode()).Build().AsString()); + .Add( "Util",selection.Unit()) + .Add( "CustomCode",selection.CustomCode()) + .Add( "CustomName",selection.CustomName()) + .Add( "ForecastQty",selection.ForecastQty()) + .Add( "ForecastID",selection.ID()) + .Add( "NeedTime",selection.Month().AsQUILL()).Build().AsString()); } - jResult := H_FunctionClass::SM_GetMaterialData( MacroPlan,selection.SKU(),selection.ForecastQty(),selection.OrderCode(),"-",selection.NeedTime()); + jResult := H_FunctionClass::SM_GetMaterialData( MacroPlan,selection.SKU(),selection.ForecastQty(),selection.ID(),"-",selection.Month()); if(jResult.Get( "Status").GetBoolean()) { Application.OpenForm( "FrmMaterial","popout"); diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel351_btn_Add_Order_FOF449_OnClick\043880.def" "b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel351_btn_Add_Order_FOF449_OnClick\043880.def" index bf1f99c..8eb0570 100644 --- "a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel351_btn_Add_Order_FOF449_OnClick\043880.def" +++ "b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel351_btn_Add_Order_FOF449_OnClick\043880.def" @@ -1,7 +1,7 @@ Quintiq file version 2.0 #parent: Panel351/btn_Add_Order_FOF449 Response OnClick ( - H_Forecast selection + H_OrderForecastRealQty selection ) id:Response_Panel351_btn_Add_Order_FOF449_OnClick_880 { #keys: '[414724.0.141244111]' @@ -17,19 +17,17 @@ if( isnull( SelectItem)) { MacroPlan.H_MessagePassing(relnew,FKey :="FrmOrderForecast",ItemKey := "ListSelect", - Value := selection.SKU()+";"+selection.Util()+";"+selection.CustomCode()+";"+selection.CustomName(), - ValueJsonString := JSON::Object().Add( "SKU",selection.SKU()) - .Add( "Util",selection.Util()) - .Add( "CustomCode",selection.CustomCode()) - .Add( "CustomName",selection.CustomName()).Build().AsString()); + ValueJsonString := JSON::Object().Add( "SKU",selection.SKU()) + .Add( "Util",selection.Unit()) + .Add( "CustomCode",selection.CustomCode()) + .Add( "CustomName",selection.CustomName()).Build().AsString()); } else { - SelectItem.Value(selection.SKU()+";"+selection.Util()+";"+selection.CustomCode()+";"+selection.CustomName()); SelectItem.ValueJsonString(JSON::Object().Add( "SKU",selection.SKU()) - .Add( "Util",selection.Util()) - .Add( "CustomCode",selection.CustomCode()) - .Add( "CustomName",selection.CustomName()).Build().AsString()); + .Add( "Util",selection.Unit()) + .Add( "CustomCode",selection.CustomCode()) + .Add( "CustomName",selection.CustomName()).Build().AsString()); } Application.OpenForm( "FrmAuthorizeAndCountersign_Order","modal"); } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel351_btn_Query_FOF_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel351_btn_Query_FOF_OnClick.def new file mode 100644 index 0000000..1b95a1a --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel351_btn_Query_FOF_OnClick.def @@ -0,0 +1,21 @@ +Quintiq file version 2.0 +#parent: Panel351/btn_Query_FOF +Response OnClick () id:Response_Panel351_btn_Query_FOF_OnClick +{ + #keys: '[414724.0.172390950]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + QuillAction + { + Body: + [* + de_dh_FOF_H_Foecast.FixedFilter( "object.SKU().LikeUserLocale( " + txt_QueryContent_FOF.Text().AsQUILL() + " )" + + " or " + "object.CustomName().LikeUserLocale( " + txt_QueryContent_FOF.Text().AsQUILL() + " )" + + " or " + "object.Unit().LikeUserLocale( " + txt_QueryContent_FOF.Text().AsQUILL() + " )" + + " or " + "object.Department().LikeUserLocale( " + txt_QueryContent_FOF.Text().AsQUILL() + " )" + + " or " + "object.StockingPointID().LikeUserLocale( " + txt_QueryContent_FOF.Text().AsQUILL() + " )" + ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel383_btn_Query_FOF_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel383_btn_Query_FOF_OnClick.def deleted file mode 100644 index 41a29a8..0000000 --- a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel383_btn_Query_FOF_OnClick.def +++ /dev/null @@ -1,17 +0,0 @@ -Quintiq file version 2.0 -#parent: Panel383/btn_Query_FOF -Response OnClick () id:Response_Panel383_btn_Query_FOF_OnClick -{ - #keys: '[414724.0.91472695]' - CanBindMultiple: false - DefinitionID: 'Responsedef_WebButton_OnClick' - QuillAction - { - Body: - [* - MacroPlan.H_Forecast(relnew, CustomName := "灏忕背",CustomCode := "XM001",ForecastQty := 100,Department := "閿�鍞�1閮�", - NeedTime := Date::ActualDate(),OrderCode := "00010101",SKU := "ANNDDSSSS",Util := "PCS"); - *] - GroupServerCalls: false - } -} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel647_btn_Add_Material_FOF_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel647_btn_Add_Material_FOF_OnClick.def deleted file mode 100644 index b54e053..0000000 --- a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel647_btn_Add_Material_FOF_OnClick.def +++ /dev/null @@ -1,20 +0,0 @@ -Quintiq file version 2.0 -#parent: Panel647/btn_Add_Material_FOF -Response OnClick () id:Response_Panel647_btn_Add_Material_FOF_OnClick -{ - #keys: '[414724.0.86152486]' - CanBindMultiple: false - DefinitionID: 'Responsedef_WebButton_OnClick' - Precondition: - [* - return not isnull( MacroPlan); - *] - QuillAction - { - Body: - [* - Application.OpenForm( "FrmMaterial","popout"); - *] - GroupServerCalls: false - } -} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel647_btn_Add_Order_FOF_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel647_btn_Add_Order_FOF_OnClick.def deleted file mode 100644 index 82c16f5..0000000 --- a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel647_btn_Add_Order_FOF_OnClick.def +++ /dev/null @@ -1,28 +0,0 @@ -Quintiq file version 2.0 -#parent: Panel647/btn_Add_Order_FOF -Response OnClick () id:Response_Panel647_btn_Add_Order_FOF_OnClick -{ - #keys: '[414724.0.86152095]' - CanBindMultiple: false - DefinitionID: 'Responsedef_WebButton_OnClick' - Precondition: - [* - return not isnull( MacroPlan); - *] - QuillAction - { - Body: - [* - SelectItem := select( MacroPlan,H_MessagePassing,Obj,Obj.FKey()="FrmOrderForecast" and Obj.ItemKey()="ListSelect"); - if(not isnull( SelectItem) and SelectItem.Value().Length()>0) - { - Application.OpenForm( "FrmAuthorizeAndCountersign_Order","popout"); - } - else - { - WebMessageBox::Information( "璇烽�夋嫨涓�椤归娴嬪悗鍐嶇偣鍑绘寜閽紒"); - } - *] - GroupServerCalls: false - } -} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel647_btn_InitialData_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel647_btn_InitialData_OnClick.def deleted file mode 100644 index 1804c2e..0000000 --- a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel647_btn_InitialData_OnClick.def +++ /dev/null @@ -1,39 +0,0 @@ -Quintiq file version 2.0 -#parent: Panel647/btn_InitialData -Response OnClick () id:Response_Panel647_btn_InitialData_OnClick -{ - #keys: '[414724.0.93657952]' - CanBindMultiple: false - DefinitionID: 'Responsedef_WebButton_OnClick' - Precondition: - [* - return not isnull( MacroPlan); - *] - QuillAction - { - Body: - [* - // 娌℃湁鐢ㄧ殑鎸夐挳鍜屽嚱鏁帮紝鍙负浜嗘祴璇曠敓鎴愬亣鏁版嵁銆� - StrCustoms:="XM_2023,灏忕背;HW_2023,鍗庝负;OV_2023,VIVO;OP_2023,OPPO;HX_2023,娴蜂俊;YJ_2023,涓�鍔�;HE_2023,娴峰皵;GL_2023,鏍煎姏;"; - ArrayCustom := StrCustoms.Tokenize( ";"); //8涓鎴� - idx :=0; - for( i:=0;i<20;i:=i+1) - { - idx :=Number::Random( 0,7); - arrCustomInfo := ArrayCustom.Element( idx).Tokenize( ","); - MacroPlan.H_Forecast(relnew, CustomName := arrCustomInfo.Element( 1),CustomCode := arrCustomInfo.Element( 0),ForecastQty := Number::Random( 100,5000), - Department := "閿�鍞�1閮�",NeedTime := Date::ActualDate(),OrderCode := H_FunctionClass::SM_GenerateID( "OF") ,SKU := "SKU-CP-2023-N"+(Number::Random( 1000,9999)).AsQUILL(),Util := "PCS"); - - } - // 鐢熸垚棰勬祴 瀹炴椂鏁版嵁锛屽弽绛炬暟鎹紝鎺堟潈鏁版嵁锛堝弽绛� 鎺堟潈榛樿涓�0锛屽鑷姩鍒涘缓锛岃繖閲屼笉鍐嶆坊鍔狅級 - traverse(MacroPlan,H_Forecast ,Obj,not isnull(Obj) ) - { - MacroPlan.H_OrderForecastRealQty(relnew,CustomID := Obj.CustomCode(),CustomName := Obj.CustomName(),ForecatsQty := Obj.ForecastQty(), - ForecatsRealQty := Obj.ForecastQty(),ID := H_FunctionClass::SM_GenerateID( "OF"),Month := Date::ActualDate(), - OrderCode := Obj.OrderCode(),SKU := Obj.SKU(),Unit := Obj.Util()); - - } - *] - GroupServerCalls: false - } -} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_liH_Forecast_OnDoubleClick.def b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_liH_Forecast_OnDoubleClick.def index 991029e..c178467 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_liH_Forecast_OnDoubleClick.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_liH_Forecast_OnDoubleClick.def @@ -1,7 +1,7 @@ Quintiq file version 2.0 #parent: liH_Forecast Response OnDoubleClick ( - H_Forecast selection + H_OrderForecastRealQty selection ) id:Response_liH_Forecast_OnDoubleClick { #keys: '[414724.0.111761136]' @@ -15,28 +15,26 @@ if( isnull( SelectItem)) { MacroPlan.H_MessagePassing(relnew,FKey :="FrmOrderForecast",ItemKey := "ListSelect", - Value := selection.SKU()+";"+selection.Util()+";"+selection.CustomCode()+";"+selection.CustomName(), ValueJsonString := JSON::Object().Add( "SKU",selection.SKU()) - .Add( "Util",selection.Util()) + .Add( "Util",selection.Unit()) .Add( "CustomCode",selection.CustomCode()) .Add( "CustomName",selection.CustomName()) .Add( "ForecastQty",selection.ForecastQty()) - .Add( "NeedTime",selection.NeedTime().AsQUILL()) - .Add( "OrderCode",selection.OrderCode()).Build().AsString()); + .Add( "ForecastID",selection.ID()) + .Add( "NeedTime",selection.Month().AsQUILL()).Build().AsString()); } else { - SelectItem.Value(selection.SKU()+";"+selection.Util()+";"+selection.CustomCode()+";"+selection.CustomName()); SelectItem.ValueJsonString(JSON::Object().Add( "SKU",selection.SKU()) - .Add( "Util",selection.Util()) - .Add( "CustomCode",selection.CustomCode()) - .Add( "CustomName",selection.CustomName()) - .Add( "ForecastQty",selection.ForecastQty()) - .Add( "NeedTime",selection.NeedTime().AsQUILL()) - .Add( "OrderCode",selection.OrderCode()).Build().AsString()); + .Add( "Util",selection.Unit()) + .Add( "CustomCode",selection.CustomCode()) + .Add( "CustomName",selection.CustomName()) + .Add( "ForecastQty",selection.ForecastQty()) + .Add( "ForecastID",selection.ID()) + .Add( "NeedTime",selection.Month().AsQUILL()).Build().AsString()); } - jResult := H_FunctionClass::SM_GetMaterialData( MacroPlan,selection.SKU(),selection.ForecastQty(),selection.OrderCode(),"-",selection.NeedTime()); + jResult := H_FunctionClass::SM_GetMaterialData( MacroPlan,selection.SKU(),selection.ForecastQty(),selection.ID(),"-",selection.Month()); if(jResult.Get( "Status").GetBoolean()) { Application.OpenForm( "FrmMaterial","popout"); diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_list_ForecastView_FOF_OnDoubleClick.def b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_list_ForecastView_FOF_OnDoubleClick.def deleted file mode 100644 index 3d85f54..0000000 --- a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_list_ForecastView_FOF_OnDoubleClick.def +++ /dev/null @@ -1,30 +0,0 @@ -Quintiq file version 2.0 -#parent: list_ForecastView_FOF -Response OnDoubleClick ( - Forecast selection -) id:Response_list_ForecastView_FOF_OnDoubleClick -{ - #keys: '[414724.0.92081867]' - CanBindMultiple: false - DefinitionID: 'Responsedef_WebList_OnDoubleClick' - GroupServerCalls: true - Precondition: - [* - return not isnull( MacroPlan); - *] - QuillAction - { - Body: - [* - SelectItem := select( MacroPlan,H_MessagePassing,Obj,Obj.FKey()="FrmOrderForecast" and Obj.ItemKey()="ListSelect"); - if( isnull( SelectItem)) - { - MacroPlan.H_MessagePassing(relnew,FKey :="FrmOrderForecast",ItemKey := "ListSelect",Value := ""); - } - CustomID := "NO"; - CustonName :="鏈姄鍙栧埌"; - SelectItem.Value(selection.ProductID()+";"+selection.UnitOfMeasureName()+";"+CustomID+";"+CustonName); - Application.OpenForm( "FrmMaterial","popout"); - *] - } -} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_list_ForecastView_FOF_OnSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_list_ForecastView_FOF_OnSelectionChanged.def deleted file mode 100644 index 582090d..0000000 --- a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_list_ForecastView_FOF_OnSelectionChanged.def +++ /dev/null @@ -1,25 +0,0 @@ -Quintiq file version 2.0 -#parent: list_ForecastView_FOF -Response OnSelectionChanged ( - Forecast selection -) id:Response_list_ForecastView_FOF_OnSelectionChanged -{ - #keys: '[414724.0.91684287]' - CanBindMultiple: false - DefinitionID: 'Responsedef_WebList_OnSelectionChanged' - QuillAction - { - Body: - [* - SelectItem := select( MacroPlan,H_MessagePassing,Obj,Obj.FKey()="FrmOrderForecast" and Obj.ItemKey()="ListSelect"); - if( isnull( SelectItem)) - { - MacroPlan.H_MessagePassing(relnew,FKey :="FrmOrderForecast",ItemKey := "ListSelect",Value := ""); - } - CustomID := "NO"; - CustonName :="鏈姄鍙栧埌"; - SelectItem.Value(selection.ProductID()+";"+selection.UnitOfMeasureName()+";"+CustomID+";"+CustonName); - *] - GroupServerCalls: false - } -} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/_ROOT_Component_FrmOrderForecast.def b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/_ROOT_Component_FrmOrderForecast.def index d6e1cad..3d07f93 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/_ROOT_Component_FrmOrderForecast.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/_ROOT_Component_FrmOrderForecast.def @@ -7,100 +7,12 @@ BaseType: 'WebForm' Children: [ - #child: Panel849 - #child: list_ForecastView_FOF - Component dh_FOF_Data - { - #keys: '[414724.0.86151860]' - BaseType: 'WebDataHolder' - Databinding: 'structured[SalesDemandBase]*' - Children: - [ - Component de_dh_FOF_Data - { - #keys: '[414724.0.86151875]' - BaseType: 'WebDataExtractor' - Properties: - [ - DataType: 'structured[SalesDemandBase]' - Source: 'dh_FOF_ChildrenData' - Taborder: 0 - Transformation: 'Elements' - ] - } - Component DataExtractor819 - { - #keys: '[414724.0.107645127]' - BaseType: 'WebDataExtractor' - Properties: - [ - DataType: 'MacroPlan' - Source: 'MacroPlan' - Taborder: 1 - Transformation: 'SalesDemand' - ] - } - ] - Properties: - [ - Taborder: 4 - ] - } #child: Panel961 - Component dh_FOF_ChildrenData - { - #keys: '[414724.0.106541535]' - BaseType: 'WebDataHolder' - Databinding: 'structured[SalesDemandBase]*' - Children: - [ - Component de_FOF_ChildrenData_0 - { - #keys: '[414724.0.106541577]' - BaseType: 'WebDataExtractor' - Properties: - [ - DataType: 'structured[Product_MP]' - Source: 'ApplicationMacroPlanner.DataHolderProduct' - Taborder: 0 - Transformation: 'Elements.SalesDemand' - ] - } - Component de_FOF_ChildrenData_1 - { - #keys: '[414724.0.106541594]' - BaseType: 'WebDataExtractor' - Properties: - [ - DataType: 'structured[StockingPoint_MP]' - Source: 'ApplicationMacroPlanner.DataHolderStockingPoint' - Taborder: 1 - Transformation: 'Elements.SalesDemand' - ] - } - Component de_FOF_ChildrenData_2 - { - #keys: '[414724.0.106541611]' - BaseType: 'WebDataExtractor' - Properties: - [ - DataType: 'structured[SalesSegment_MP]' - Source: 'ApplicationMacroPlanner.DataHolderSalesSegment' - Taborder: 2 - Transformation: 'Elements.SalesDemand' - ] - } - ] - Properties: - [ - Taborder: 3 - ] - } - Component dh_FOF_H_Forecast + Component dh_FOF_H_OrderForecastRealQty { #keys: '[414724.0.109053093]' BaseType: 'WebDataHolder' - Databinding: 'structured[H_Forecast]*' + Databinding: 'structured[H_OrderForecastRealQty]*' Children: [ Component de_dh_FOF_H_Foecast @@ -112,13 +24,13 @@ DataType: 'MacroPlan' Source: 'MacroPlan' Taborder: 0 - Transformation: 'H_Forecast' + Transformation: 'H_OrderForecastRealQty' ] } ] Properties: [ - Taborder: 6 + Taborder: 2 ] } #child: liH_Forecast diff --git a/_Main/UI/MacroPlannerWebApp/Component_Frm_TEST/_ROOT_Component_Frm_TEST.def b/_Main/UI/MacroPlannerWebApp/Component_Frm_TEST/_ROOT_Component_Frm_TEST.def index 55c933a..356e36c 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_Frm_TEST/_ROOT_Component_Frm_TEST.def +++ b/_Main/UI/MacroPlannerWebApp/Component_Frm_TEST/_ROOT_Component_Frm_TEST.def @@ -44,13 +44,14 @@ Taborder: 0 ] } - Component ButtonERP璁㈠崟 + Component Button687 { #keys: '[414724.0.164341716]' BaseType: 'WebButton' Properties: [ - Label: 'ERP璁㈠崟' + Image: 'HORSE' + Label: '璁㈠崟鍐插噺' Taborder: 3 ] } diff --git a/_Main/UI/MacroPlannerWebApp/_ROOT_Project_MacroPlannerWebApp.qp b/_Main/UI/MacroPlannerWebApp/_ROOT_Project_MacroPlannerWebApp.qp index cb94597..f99dc85 100644 --- a/_Main/UI/MacroPlannerWebApp/_ROOT_Project_MacroPlannerWebApp.qp +++ b/_Main/UI/MacroPlannerWebApp/_ROOT_Project_MacroPlannerWebApp.qp @@ -5,7 +5,7 @@ ProjectProperties { ApplicationComponentName: 'ApplicationMacroPlanner' - BuildVersion: '2022.3.0.32' + BuildVersion: '2022.3.0.33' Description: 'Quintiq Macro Planner' ProjectKind: 'WebClient' } -- Gitblit v1.9.3