From 6a2cca9e802a0c7ed5716fea396911871deb4306 Mon Sep 17 00:00:00 2001 From: renhao <renhui.hao@capgemini.com> Date: 星期二, 24 十月 2023 16:47:22 +0800 Subject: [PATCH] 在异步场景分发数据时 1 createPurchase参数创建判断逻辑 2 SOP场景的Product只取关键物料 3 unit的工艺段默认无限产能 4 运输单元修改层级 --- _Main/BL/Type_MacroPlan/Method_DoASyncMappingProductData.qbl | 4 ++-- _Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMData.qbl | 11 +++++++++-- _Main/BL/Type_MacroPlan/Method_DoASyncMappingUnitData.qbl | 6 +++--- _Main/BL/Type_Lane/StaticMethod_CreateLaneFromJson.qbl | 17 ++++++++--------- 4 files changed, 22 insertions(+), 16 deletions(-) diff --git a/_Main/BL/Type_Lane/StaticMethod_CreateLaneFromJson.qbl b/_Main/BL/Type_Lane/StaticMethod_CreateLaneFromJson.qbl index 0c19698..060eabc 100644 --- a/_Main/BL/Type_Lane/StaticMethod_CreateLaneFromJson.qbl +++ b/_Main/BL/Type_Lane/StaticMethod_CreateLaneFromJson.qbl @@ -16,7 +16,6 @@ processingtime := Duration::Zero(); unitofmeasurename := "PCS"; - currencyid := "CNY"; startdate := Date::Date( 1900, 1, 1 ); enddate := Date::Date( 9999, 12, 31 ); capacitytype := "Transport quantity"; @@ -31,14 +30,14 @@ unit := Unit::FindUnitTypeIndex( unitid ); if( isnull( unit)){ - unit :=macroplan.Unit( relnew, - ID := unitid, - Name := unitid, - UnitOfMeasureName := unitofmeasurename, - CurrencyID := currencyid, - StartDate := startdate, - EndDate := enddate, - CapacityType := capacitytype ); + unit := macroplan.Unit( relnew, ID := unitid, + Name := unitid, + ParentUnitID := "杩愯緭", + CapacityType := capacitytype, + UnitOfMeasureName := unitofmeasurename, + CurrencyID := macroplan.BaseCurrency().ID(), + StartDate := startdate, + EndDate := enddate ); } result := Lane::CreateLane( unit, id, name, processingtime); diff --git a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMData.qbl b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMData.qbl index 8c1a8e4..c7fe0d5 100644 --- a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMData.qbl +++ b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMData.qbl @@ -13,7 +13,7 @@ // yypsybs Aug-21-2023 (created) keyProductList := construct( Strings ); if( isKeyProduct ) { - keyProductList := selectuniquevalues( globalOTDTable, Global_MappingProduct_MP, item, item.ProductMajorType()="鎴愬搧" or item.ProductMajorType()="鍗婃垚鍝�", item.ID() ); + keyProductList := selectuniquevalues( globalOTDTable, Global_MappingProduct_MP, item, item.ProductMajorType()="鎴愬搧" or item.ProductMajorType()="鍗婃垚鍝�", item.ID() ); } bomList := selectsortedset( globalOTDTable, Global_MappingOperationBOM, item, ifexpr( isnull( businessTypes ) or businessTypes.Size() = 0, @@ -75,8 +75,15 @@ } } if( createPurchaseSupplyMaterial ) { - toCreateBomList := selectuniquevalues( bomList, Elements, item, + toCreateBomList := construct( Strings ); + if( isKeyProduct){ + toCreateBomList := selectuniquevalues( bomList, Elements, item, item.ComponentType() = "P" and keyProductList.Find( item.ComponentCode())>=0, item.OrganCode() + item.ComponentCode()); + }else{ + toCreateBomList := selectuniquevalues( bomList, Elements, item, + item.ComponentType() = "P" , item.OrganCode() + item.ComponentCode()); + + } traverse( toCreateBomList, Elements, key ) { boms := selectset( bomList, Elements, item, item.ComponentType() = "P" and item.OrganCode() + item.ComponentCode() = key ); bom := boms.First(); diff --git a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingProductData.qbl b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingProductData.qbl index 55562f4..8b44c13 100644 --- a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingProductData.qbl +++ b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingProductData.qbl @@ -16,14 +16,14 @@ if( isnull( businesstypes ) or businesstypes.Size() = 0 ) { if( iskeyproduct = true ){ - listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, item.KeyProduct() = true ); + listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, item.ProductMajorType()="鎴愬搧" or item.ProductMajorType()="鍗婃垚鍝�" ); } else{ listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, true ); } } else { if( iskeyproduct = true ){ - listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, item.KeyProduct() = true and businesstypes.Find( item.BusinessType() ) >= 0 ); + listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, (item.ProductMajorType()="鎴愬搧" or item.ProductMajorType()="鍗婃垚鍝�") and businesstypes.Find( item.BusinessType() ) >= 0 ); } else{ listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, businesstypes.Find( item.BusinessType() ) >= 0 ); diff --git a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingUnitData.qbl b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingUnitData.qbl index 171448e..1407447 100644 --- a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingUnitData.qbl +++ b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingUnitData.qbl @@ -53,8 +53,8 @@ supplyunit.IsSupplier(true); Unit::CreateOrUpdate( this, - "鏁磋溅杩愯緭", - "鏁磋溅杩愯緭", + "杩愯緭", + "杩愯緭", "澶╅┈闆嗗洟", capacitytype, unitofmeasurename ); @@ -88,7 +88,7 @@ thirdlevelid, thirdlevelid, secondlevelid, - "Time", + infinite, item.UnitOfMeasureName() ); //Get the last level unit -- Gitblit v1.9.3