add summary & change full import check condition

This commit is contained in:
Pakin 2025-10-16 09:57:44 +07:00
parent 05a593351d
commit 93c9a9fc54
2 changed files with 195 additions and 5 deletions

View file

@ -604,9 +604,11 @@ pub fn generate_recipe_sheet_table(country_name: &str, into_version: usize) {
/// - Topping
///
pub fn full_import_data(source: Recipe, mut import_target: Recipe) -> Recipe {
let mut target_summary = import_target.get_recipe_data_summary();
// import menus
source.Recipe01.iter().for_each(|r01| {
if !import_target.Recipe01.contains(r01) {
if !target_summary.recipe01_contains(r01.clone().productCode) {
import_target.Recipe01.push(r01.clone());
println!(
"recipe >> {} {}",
@ -618,7 +620,7 @@ pub fn full_import_data(source: Recipe, mut import_target: Recipe) -> Recipe {
// import materials
source.MaterialSetting.iter().for_each(|ms| {
if !import_target.MaterialSetting.contains(ms) {
if !target_summary.materialSetting_contains(ms.id.clone()) {
import_target.MaterialSetting.push(ms.clone());
println!(
"mat_set >> {:?} {}",
@ -629,7 +631,7 @@ pub fn full_import_data(source: Recipe, mut import_target: Recipe) -> Recipe {
});
source.MaterialCode.iter().for_each(|mc| {
if !import_target.MaterialCode.contains(mc) {
if !target_summary.materialCode_contains(mc.materialID.clone()) {
import_target.MaterialCode.push(mc.clone());
println!("mat_code >> {:?}", mc.materialID);
}
@ -637,7 +639,7 @@ pub fn full_import_data(source: Recipe, mut import_target: Recipe) -> Recipe {
// import new toppings
source.Topping.ToppingList.iter().for_each(|tpl| {
if !import_target.Topping.ToppingList.contains(tpl) {
if !target_summary.toppingList_contains(tpl.id.clone()) {
import_target.Topping.ToppingList.push(tpl.clone());
println!(
"topping_list >> {:?} {}",
@ -647,7 +649,7 @@ pub fn full_import_data(source: Recipe, mut import_target: Recipe) -> Recipe {
}
});
source.Topping.ToppingGroup.iter().for_each(|tg| {
if !import_target.Topping.ToppingGroup.contains(tg) {
if !target_summary.toppingGroup_contains(tg.groupID.clone()) {
import_target.Topping.ToppingGroup.push(tg.clone());
println!("topping_group >> {:?} {}", tg.groupID, tg.name);
}