import and modify inventory handling
This commit is contained in:
		
							parent
							
								
									7af901fcc9
								
							
						
					
					
						commit
						12e4576463
					
				
					 1 changed files with 124 additions and 0 deletions
				
			
		
							
								
								
									
										124
									
								
								src/main/java/tech/iBeans/POSware/Lite/inventory.java
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										124
									
								
								src/main/java/tech/iBeans/POSware/Lite/inventory.java
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,124 @@ | ||||||
|  | /* | ||||||
|  |  * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license | ||||||
|  |  * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template | ||||||
|  |  */ | ||||||
|  | package tech.iBeans.POSware.Lite; | ||||||
|  | import tech.iBeans.POSware.Lite.data_test.*; | ||||||
|  | 
 | ||||||
|  | import java.util.*; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * | ||||||
|  |  * @author eleven | ||||||
|  |  */ | ||||||
|  | public class inventory { | ||||||
|  |      | ||||||
|  |     public static Dictionary<String, Dictionary> items = new Hashtable<>(); | ||||||
|  |      | ||||||
|  |     public static boolean refresh() { | ||||||
|  |         /* Refresh the inventory.  | ||||||
|  |          | ||||||
|  |         Returns: (bool) the refresh state | ||||||
|  |         */ | ||||||
|  |         // Pull the sample items.  | ||||||
|  |         items = data_test.fake_items; | ||||||
|  |         return (true); | ||||||
|  |     }; | ||||||
|  |      | ||||||
|  |      | ||||||
|  |     public static Object get(String SKU, String PROPERTY) { | ||||||
|  |         /* Get the information of a particular SKU.  | ||||||
|  |          | ||||||
|  |         Parameters:  | ||||||
|  |             (String) SKU: the SKU of the product to look for | ||||||
|  |             (String) PROPERTY: the property in search | ||||||
|  |         Returns: (Object) the corresponding value | ||||||
|  |         */ | ||||||
|  |          | ||||||
|  |         Dictionary<String, Boolean> PROPERTY_EXISTS = new Hashtable<>(); | ||||||
|  |          | ||||||
|  |         // Find the SKU. This isn't the most efficient method but will do for the purposes of lab.  | ||||||
|  |         Enumeration<String> items_SKU = items.keys(); | ||||||
|  |         PROPERTY_EXISTS.put("SKU", false); | ||||||
|  |         do { | ||||||
|  |             String item_SKU = items_SKU.nextElement(); | ||||||
|  |             PROPERTY_EXISTS.put("SKU", item_SKU.equals(SKU)); | ||||||
|  |         } while (items_SKU.hasMoreElements() && (!(PROPERTY_EXISTS.get("SKU")))); | ||||||
|  |          | ||||||
|  |         // Stop when the SKU is not found.  | ||||||
|  |         if (!PROPERTY_EXISTS.get("SKU")) { | ||||||
|  |             return (null); | ||||||
|  |         }; | ||||||
|  |          | ||||||
|  |         // Find the property within the element.  | ||||||
|  |         Enumeration<String> item_properties = items.get(SKU).keys(); | ||||||
|  |         do { | ||||||
|  |             String item_property = item_properties.nextElement();  | ||||||
|  |             PROPERTY_EXISTS.put("Property", item_property.equals(PROPERTY)); | ||||||
|  |             if (PROPERTY_EXISTS.get("Property")) { | ||||||
|  |                 break; | ||||||
|  |             }; | ||||||
|  |         } while (item_properties.hasMoreElements()); | ||||||
|  |          | ||||||
|  |         if (PROPERTY_EXISTS.get("Property")) { | ||||||
|  |             return (items.get(SKU)).get(PROPERTY); | ||||||
|  |         }; | ||||||
|  |          | ||||||
|  |         return (null); | ||||||
|  |     }; | ||||||
|  |      | ||||||
|  |     public static ArrayList<String> list() { | ||||||
|  |         /* List all inventory items. | ||||||
|  |          | ||||||
|  |         Returns: (ArrayList<String>) The array list | ||||||
|  |         */ | ||||||
|  |          | ||||||
|  |         ArrayList<String> items_SKU = new ArrayList<>(); | ||||||
|  |         Enumeration<String> items_SKU_raw = items.keys(); | ||||||
|  |         do { | ||||||
|  |             String item_SKU = items_SKU_raw.nextElement(); | ||||||
|  |             items_SKU.add(item_SKU); | ||||||
|  |         } while (items_SKU_raw.hasMoreElements()); | ||||||
|  |          | ||||||
|  |         return(items_SKU); | ||||||
|  |     }; | ||||||
|  |      | ||||||
|  |     public static ArrayList list(String PROPERTY) { | ||||||
|  |         ArrayList<Object> items_data = new ArrayList<>(); | ||||||
|  |         ArrayList<String> items_SKU = list(); | ||||||
|  |          | ||||||
|  |         for (String item_SKU : items_SKU) { | ||||||
|  |             Object item_data = ""; | ||||||
|  |             try { | ||||||
|  |                 item_data = items.get(item_SKU).get(PROPERTY); | ||||||
|  |             } catch (Exception e) {System.out.println("Exception occurred: " + e.getMessage());}; | ||||||
|  |              | ||||||
|  |             if (item_data == null) {item_data = "";}; | ||||||
|  |             items_data.add(item_data); | ||||||
|  |         }; | ||||||
|  |          | ||||||
|  |         return(items_data); | ||||||
|  |     }; | ||||||
|  |      | ||||||
|  |     public static ArrayList<String> collate() { | ||||||
|  |         /* Collate the names, replacing unknown names with their SKU.  | ||||||
|  |          | ||||||
|  |         Returns: (ArrayList<String>) the array list of names | ||||||
|  |         */ | ||||||
|  |          | ||||||
|  |         ArrayList<String> items_names_display = list("Name"); | ||||||
|  |         ArrayList<String> items_SKU = list(); | ||||||
|  |         for (int item_rank = 0; item_rank < items_names_display.size(); item_rank++) { | ||||||
|  |             if (items_names_display.get(item_rank).isBlank()) { | ||||||
|  |                 items_names_display.set(item_rank, items_SKU.get(item_rank)); | ||||||
|  |             }; | ||||||
|  |         }; | ||||||
|  |          | ||||||
|  |         return(items_names_display); | ||||||
|  |          | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |     static { | ||||||
|  |         refresh(); | ||||||
|  |     } | ||||||
|  | }; | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue