use serde::{Deserialize, Serialize}; #[derive(Debug, Serialize, Deserialize, Default, Clone, PartialEq, Eq, Hash, PartialOrd, Ord)] pub struct ConditionPrdAddressSet { pub from_role: String, pub prd_sp_address_list: Vec, pub prd_sp_address_required_list: Vec, pub prd_sp_address_quota: i32, pub prd_prd_value_ok_list: Vec, pub prd_value_ko_list: Vec, pub prd_value_none_list: Vec, pub prd_sp_address_value_min: i64, pub prd_sp_address_value_min_per: i64, pub prd_sp_address_value_min_ok: bool, pub prd_sp_adddress_value_ok_min_per: i64, pub prd_sp_address_value_ok_max: i64, pub prd_sp_adderss_value_ko_max_per: i64, pub prd_sp_address_value_none_max: i64, pub prd_sp_adderss_value_none_max_per: i64, pub prd_sp_address_score_min: i32, pub prd_sp_address_score_min_min_required: i32, pub prd_sp_address_score_min_min_ok: bool, pub prd_sp_address_score_min_min_per: i64, pub prd_value_auto_ok: bool, pub prd_value_auto_ko: bool, pub prd_value_auto_none: bool, } impl ConditionPrdAddressSet { // Constructor for PrdAddressSet with all fields pub fn new( from_role: String, prd_sp_address_list: Vec, prd_sp_address_required_list: Vec, prd_sp_address_quota: i32, prd_prd_value_ok_list: Vec, prd_value_ko_list: Vec, prd_value_none_list: Vec, prd_sp_address_value_min: i64, prd_sp_address_value_min_per: i64, prd_sp_address_value_min_ok: bool, prd_sp_adddress_value_ok_min_per: i64, prd_sp_address_value_ok_max: i64, prd_sp_adderss_value_ko_max_per: i64, prd_sp_address_value_none_max: i64, prd_sp_adderss_value_none_max_per: i64, prd_sp_address_score_min: i32, prd_sp_address_score_min_min_required: i32, prd_sp_address_score_min_min_ok: bool, prd_sp_address_score_min_min_per: i64, prd_value_auto_ok: bool, prd_value_auto_ko: bool, prd_value_auto_none: bool, ) -> Self { ConditionPrdAddressSet { from_role, prd_sp_address_list, prd_sp_address_required_list, prd_sp_address_quota, prd_prd_value_ok_list, prd_value_ko_list, prd_value_none_list, prd_sp_address_value_min, prd_sp_address_value_min_per, prd_sp_address_value_min_ok, prd_sp_adddress_value_ok_min_per, prd_sp_address_value_ok_max, prd_sp_adderss_value_ko_max_per, prd_sp_address_value_none_max, prd_sp_adderss_value_none_max_per, prd_sp_address_score_min, prd_sp_address_score_min_min_required, prd_sp_address_score_min_min_ok, prd_sp_address_score_min_min_per, prd_value_auto_ok, prd_value_auto_ko, prd_value_auto_none, } } pub fn display_info(&self) { println!("ConditionPrdAddressSet:"); println!("From Role: {}", self.from_role); println!("SP Address List: {:?}", self.prd_sp_address_list); println!( "SP Address Required List: {:?}", self.prd_sp_address_required_list ); println!("SP Address Quota: {}", self.prd_sp_address_quota); println!("PRD Value OK List: {:?}", self.prd_prd_value_ok_list); println!("Value KO List: {:?}", self.prd_value_ko_list); println!("Value None List: {:?}", self.prd_value_none_list); println!("SP Address Value Min: {}", self.prd_sp_address_value_min); println!( "SP Address Value Min Percentage: {}", self.prd_sp_address_value_min_per ); println!( "SP Address Value Min OK: {}", self.prd_sp_address_value_min_ok ); println!( "SP Address Value OK Min Percentage: {}", self.prd_sp_adddress_value_ok_min_per ); println!( "SP Address Value OK Max: {}", self.prd_sp_address_value_ok_max ); println!( "SP Address Value KO Max Percentage: {}", self.prd_sp_adderss_value_ko_max_per ); println!( "SP Address Value None Max: {}", self.prd_sp_address_value_none_max ); println!( "SP Address Value None Max Percentage: {}", self.prd_sp_adderss_value_none_max_per ); println!("SP Address Score Min: {}", self.prd_sp_address_score_min); println!( "SP Address Score Min Required: {}", self.prd_sp_address_score_min_min_required ); println!( "SP Address Score Min OK: {}", self.prd_sp_address_score_min_min_ok ); println!( "SP Address Score Min Percentage: {}", self.prd_sp_address_score_min_min_per ); println!("Value Auto OK: {}", self.prd_value_auto_ok); println!("Value Auto KO: {}", self.prd_value_auto_ko); println!("Value Auto None: {}", self.prd_value_auto_none); } // Methods for manipulating the struct can be added here as needed. }