From 67ff28f43d635a3728bb7d39364a9c6f8345912b Mon Sep 17 00:00:00 2001
From: hongji.li <hongji.a.li@capgemini.com>
Date: 星期四, 07 九月 2023 11:34:34 +0800
Subject: [PATCH] Merge branch 'dev' of http://47.101.211.7:10101/r/TIANMA_JITUAN into dev_lhj
---
_Main/BL/Type_MacroPlan/Method_MappingExternalSupplyData.qbl | 61 +++++++++++--------
_Main/BL/Type_InventorySupply/StaticMethod_CreateOrUpdate.qbl | 31 ++++++++++
_Main/BL/Type_MacroPlan/Method_InitialUnitAndStockingPoint.qbl | 21 ++++--
_Main/BL/Type_MacroPlan/Method_MappingActualPISPIPData.qbl | 20 ++++--
_Main/BL/Type_ActualProductInStockingPointInPeriod/_ROOT_Type_ActualProductInStockingPointInPeriod.qbl | 6 ++
_Main/BL/Type_InventorySupply/_ROOT_Type_InventorySupply.qbl | 6 ++
_Main/BL/Type_ActualProductInStockingPointInPeriod/StaticMethod_CreateOrUpdate.qbl | 31 ++++++++++
7 files changed, 136 insertions(+), 40 deletions(-)
diff --git a/_Main/BL/Type_ActualProductInStockingPointInPeriod/StaticMethod_CreateOrUpdate.qbl b/_Main/BL/Type_ActualProductInStockingPointInPeriod/StaticMethod_CreateOrUpdate.qbl
new file mode 100644
index 0000000..0c2492f
--- /dev/null
+++ b/_Main/BL/Type_ActualProductInStockingPointInPeriod/StaticMethod_CreateOrUpdate.qbl
@@ -0,0 +1,31 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateOrUpdate (
+ MacroPlan owner,
+ String productid,
+ String stockingpointid,
+ String description,
+ Real actualinventorylevelend,
+ Date manufactureddate
+)
+{
+ TextBody:
+ [*
+ // Administrator Sep-6-2023 (created)
+ date := Date :: Today();
+ actualpispip := ActualProductInStockingPointInPeriod::FindActualProductInStockingPointInPeriodTypeIndex( productid, stockingpointid, date, manufactureddate );
+
+ if( isnull( actualpispip ) ){
+ ActualProductInStockingPointInPeriod::Create( owner,
+ productid,
+ stockingpointid,
+ description,
+ actualinventorylevelend,
+ date,
+ manufactureddate,
+ true);
+ }else{
+ actualpispip.Update( actualinventorylevelend, description, true );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_ActualProductInStockingPointInPeriod/_ROOT_Type_ActualProductInStockingPointInPeriod.qbl b/_Main/BL/Type_ActualProductInStockingPointInPeriod/_ROOT_Type_ActualProductInStockingPointInPeriod.qbl
new file mode 100644
index 0000000..f7f3c21
--- /dev/null
+++ b/_Main/BL/Type_ActualProductInStockingPointInPeriod/_ROOT_Type_ActualProductInStockingPointInPeriod.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+TypeSpecialization ActualProductInStockingPointInPeriod #extension
+{
+}
diff --git a/_Main/BL/Type_InventorySupply/StaticMethod_CreateOrUpdate.qbl b/_Main/BL/Type_InventorySupply/StaticMethod_CreateOrUpdate.qbl
new file mode 100644
index 0000000..14114a8
--- /dev/null
+++ b/_Main/BL/Type_InventorySupply/StaticMethod_CreateOrUpdate.qbl
@@ -0,0 +1,31 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateOrUpdate (
+ String id,
+ Product_MP productmp,
+ StockingPoint_MP stockingpoint,
+ Date date,
+ Date manufacturedate,
+ Real userquantity,
+ String description
+)
+{
+ TextBody:
+ [*
+ // Administrator Sep-6-2023 (created)
+ inventorysupply := InventorySupply::FindInventorySupplyTypeIndex( id );
+
+ if( isnull( inventorysupply ) ){
+ InventorySupply::Create(id,
+ productmp,
+ stockingpoint,
+ date,
+ manufacturedate,
+ userquantity,
+ description,
+ true);
+ }else{
+ inventorysupply.Update( userquantity );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_InventorySupply/_ROOT_Type_InventorySupply.qbl b/_Main/BL/Type_InventorySupply/_ROOT_Type_InventorySupply.qbl
new file mode 100644
index 0000000..71216fe
--- /dev/null
+++ b/_Main/BL/Type_InventorySupply/_ROOT_Type_InventorySupply.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+TypeSpecialization InventorySupply #extension
+{
+}
diff --git a/_Main/BL/Type_MacroPlan/Method_InitialUnitAndStockingPoint.qbl b/_Main/BL/Type_MacroPlan/Method_InitialUnitAndStockingPoint.qbl
index e3f3545..b8b0705 100644
--- a/_Main/BL/Type_MacroPlan/Method_InitialUnitAndStockingPoint.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_InitialUnitAndStockingPoint.qbl
@@ -90,16 +90,21 @@
isfromdb );
}
- Currency_MP::CreateCurrency( this, "CNY", "CNY", "", true );
- currency := Currency_MP::FindById( this, "EUR" );
- currency.IsBase(false);
- Transaction::Transaction().Propagate();
+ existcurrency := Currency_MP::FindById( this, "CNY" );
+ if( isnull( existcurrency ) ){
+ Currency_MP::CreateCurrency( this, "CNY", "CNY", "", true );
+ currency := Currency_MP::FindById( this, "EUR" );
+ currency.IsBase(false);
+ Transaction::Transaction().Propagate();
+ }
isproductcatagory := false;
isfromdb := false;
-
- ProductLevel_MP::Create( "1", isproductcatagory, this, isfromdb );
- ProductLevel_MP::Create( "2", isproductcatagory, this, isfromdb );
- ProductLevel_MP::Create( "3", isproductcatagory, this, isfromdb );
+ existproductlevel := ProductLevel_MP::FindProductLevelTypeIndex( "2" );
+ if( isnull( existproductlevel ) ){
+ ProductLevel_MP::Create( "1", isproductcatagory, this, isfromdb );
+ ProductLevel_MP::Create( "2", isproductcatagory, this, isfromdb );
+ ProductLevel_MP::Create( "3", isproductcatagory, this, isfromdb );
+ }
*]
}
diff --git a/_Main/BL/Type_MacroPlan/Method_MappingActualPISPIPData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingActualPISPIPData.qbl
index d4b8493..87cbdf3 100644
--- a/_Main/BL/Type_MacroPlan/Method_MappingActualPISPIPData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_MappingActualPISPIPData.qbl
@@ -9,12 +9,12 @@
[*
// renhao Aug-14-2023 (created)
date := Date :: Today();
- listtodeal := selectset( this,MappingActualPISPIP,actual,true );
+ listtodeal := selectset( this,MappingActualPISPIP,actual,not isnull( Product_MP::FindById( this, actual.ProductID() ) ) );
totalcount := listtodeal.Size();
info( "ActualPISPIP has " + totalcount.AsQUILL() + " rows in total" );
count := 0;
- traverse( this,MappingActualPISPIP,actual){
+ traverse( listtodeal,Elements,actual){
count := count + 1;
if( count - [Number](count/100) * 100 = 0 or count = totalcount ){
info( "Now is dealing with the " + count.AsQUILL() + "ActualPISPIP " + "( " + count.AsQUILL() + "/" + totalcount.AsQUILL() + " ) " + (count/totalcount*100).Round( 1 ).AsQUILL() + "%" );
@@ -26,14 +26,22 @@
for( i :=0 ;i < businessTypes.Size();i++ ){
businessType := businessTypes.Element( i);
if( product.BusinessType() = businessType and not product.IsCommon()){
- ActualProductInStockingPointInPeriod::Create( this,actual.ProductID(),actual.StockingPointID(),actual.Description(),actual.ActualInventoryLevelEnd(),
- date,actual.ManufacturedDate(),true);
+ ActualProductInStockingPointInPeriod::CreateOrUpdate( this,
+ actual.ProductID(),
+ actual.StockingPointID(),
+ actual.Description(),
+ actual.ActualInventoryLevelEnd(),
+ actual.ManufacturedDate());
}
}
}else{
- ActualProductInStockingPointInPeriod::Create( this,actual.ProductID(),actual.StockingPointID(),actual.Description(),actual.ActualInventoryLevelEnd(),
- date,actual.ManufacturedDate(),true);
+ ActualProductInStockingPointInPeriod::CreateOrUpdate( this,
+ actual.ProductID(),
+ actual.StockingPointID(),
+ actual.Description(),
+ actual.ActualInventoryLevelEnd(),
+ actual.ManufacturedDate());
}
}
diff --git a/_Main/BL/Type_MacroPlan/Method_MappingExternalSupplyData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingExternalSupplyData.qbl
index c30b6bc..7295bad 100644
--- a/_Main/BL/Type_MacroPlan/Method_MappingExternalSupplyData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_MappingExternalSupplyData.qbl
@@ -9,7 +9,8 @@
[*
// renhao Aug-14-2023 (created)
- listtodeal := selectset( this,MappingExternalSupply,externalSupply, not isnull( StockingPoint_MP::FindById( this, externalSupply.StockingPointID() ) ) );
+ listtodeal := selectset( this,MappingExternalSupply,externalSupply,
+ not isnull( StockingPoint_MP::FindById( this, externalSupply.StockingPointID() ) ) and not isnull( Product_MP::FindById( this, externalSupply.ProductID() ) ) );
totalcount := listtodeal.Size();
info( "ExternalSupply has " + totalcount.AsQUILL() + " rows in total" );
@@ -19,32 +20,40 @@
if( count - [Number](count/100) * 100 = 0 or count = totalcount ){
info( "Now is dealing with the " + count.AsQUILL() + "ExternalSupply " + "( " + count.AsQUILL() + "/" + totalcount.AsQUILL() + " ) " + (count/totalcount*100).Round( 1 ).AsQUILL() + "%" );
}
- // product := select( this,MappingProduct,product,product.ID() = externalSupply.ProductID() and product.KeyProduct() = nuclear,true);
- //
- // if( not isnull( product)){
- // productMP := select( this,Product_MP,productMP,productMP.ID() = externalSupply.ProductID() ,true);
- // stockingpoint := select( this,StockingPoint_MP,st,st.ID() = externalSupply.StockingPointID(),true);
- // if( not isnull(businessTypes)){
- //
- // for( i :=0 ;i < businessTypes.Size();i++ ){
- // businessType := businessTypes.Element( i);
- // if( product.BusinessType() = businessType and not product.IsCommon()){
- // InventorySupply::Create(externalSupply.ID(),productMP,stockingpoint,externalSupply.Date(),externalSupply.ManufacturedDate(),externalSupply.UserQuantity(),"鍦ㄩ�斿湪鍒�",true);
- // }
- // }
- //
- // }else{
- productMP := Product_MP::FindById( this, externalSupply.ProductID() );
- stockingpoint := StockingPoint_MP::FindById( this, externalSupply.StockingPointID() );
- if( not isnull( stockingpoint) and not isnull( productMP)){
- InventorySupply::Create(externalSupply.ID(),productMP,stockingpoint,externalSupply.Date(),externalSupply.ManufacturedDate(),externalSupply.UserQuantity(),"鍦ㄩ�斿湪鍒�",true);
- }
+ product := select( this,MappingProduct,product,product.ID() = externalSupply.ProductID() and product.KeyProduct() = nuclear,true);
- // }
- //
- // }else{
- // info( "Invaild product" );
- // }
+ if( not isnull( product)){
+ productMP := select( this,Product_MP,productMP,productMP.ID() = externalSupply.ProductID() ,true);
+ stockingpoint := select( this,StockingPoint_MP,st,st.ID() = externalSupply.StockingPointID(),true);
+ if( not isnull(businessTypes)){
+
+ for( i :=0 ;i < businessTypes.Size();i++ ){
+ businessType := businessTypes.Element( i);
+ if( product.BusinessType() = businessType and not product.IsCommon()){
+ InventorySupply::CreateOrUpdate( externalSupply.ID(),
+ productMP,
+ stockingpoint,
+ externalSupply.Date(),
+ externalSupply.ManufacturedDate(),
+ externalSupply.UserQuantity(),"鍦ㄩ�斿湪鍒�");
+ }
+ }
+
+ }else{
+ if( not isnull( stockingpoint) and not isnull( productMP)){
+ InventorySupply::CreateOrUpdate( externalSupply.ID(),
+ productMP,
+ stockingpoint,
+ externalSupply.Date(),
+ externalSupply.ManufacturedDate(),
+ externalSupply.UserQuantity(),"鍦ㄩ�斿湪鍒�");
+ }
+
+ }
+
+ }else{
+ info( "Invaild product" );
+ }
}
*]
}
--
Gitblit v1.9.3