001// -------------------------------------------------------------------------------- 002// Copyright 2002-2026 Echo Three, LLC 003// 004// Licensed under the Apache License, Version 2.0 (the "License"); 005// you may not use this file except in compliance with the License. 006// You may obtain a copy of the License at 007// 008// http://www.apache.org/licenses/LICENSE-2.0 009// 010// Unless required by applicable law or agreed to in writing, software 011// distributed under the License is distributed on an "AS IS" BASIS, 012// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013// See the License for the specific language governing permissions and 014// limitations under the License. 015// -------------------------------------------------------------------------------- 016 017package com.echothree.control.user.inventory.common; 018 019import com.echothree.control.user.inventory.common.form.*; 020import com.echothree.control.user.inventory.common.result.*; 021import com.echothree.model.data.user.common.pk.UserVisitPK; 022import com.echothree.util.common.command.CommandResult; 023import com.echothree.util.common.command.VoidResult; 024 025public interface InventoryService 026 extends InventoryForms { 027 028 // ------------------------------------------------------------------------- 029 // Testing 030 // ------------------------------------------------------------------------- 031 032 String ping(); 033 034 // ------------------------------------------------------------------------- 035 // Inventory Conditions 036 // ------------------------------------------------------------------------- 037 038 CommandResult<CreateInventoryConditionResult> createInventoryCondition(UserVisitPK userVisitPK, CreateInventoryConditionForm form); 039 040 CommandResult<GetInventoryConditionsResult> getInventoryConditions(UserVisitPK userVisitPK, GetInventoryConditionsForm form); 041 042 CommandResult<GetInventoryConditionResult> getInventoryCondition(UserVisitPK userVisitPK, GetInventoryConditionForm form); 043 044 CommandResult<GetInventoryConditionChoicesResult> getInventoryConditionChoices(UserVisitPK userVisitPK, GetInventoryConditionChoicesForm form); 045 046 CommandResult<VoidResult> setDefaultInventoryCondition(UserVisitPK userVisitPK, SetDefaultInventoryConditionForm form); 047 048 CommandResult<EditInventoryConditionResult> editInventoryCondition(UserVisitPK userVisitPK, EditInventoryConditionForm form); 049 050 CommandResult<VoidResult> deleteInventoryCondition(UserVisitPK userVisitPK, DeleteInventoryConditionForm form); 051 052 // ------------------------------------------------------------------------- 053 // Inventory Condition Descriptions 054 // ------------------------------------------------------------------------- 055 056 CommandResult<VoidResult> createInventoryConditionDescription(UserVisitPK userVisitPK, CreateInventoryConditionDescriptionForm form); 057 058 CommandResult<GetInventoryConditionDescriptionsResult> getInventoryConditionDescriptions(UserVisitPK userVisitPK, GetInventoryConditionDescriptionsForm form); 059 060 CommandResult<EditInventoryConditionDescriptionResult> editInventoryConditionDescription(UserVisitPK userVisitPK, EditInventoryConditionDescriptionForm form); 061 062 CommandResult<VoidResult> deleteInventoryConditionDescription(UserVisitPK userVisitPK, DeleteInventoryConditionDescriptionForm form); 063 064 // -------------------------------------------------------------------------------- 065 // Inventory Condition Use Types 066 // -------------------------------------------------------------------------------- 067 068 CommandResult<VoidResult> createInventoryConditionUseType(UserVisitPK userVisitPK, CreateInventoryConditionUseTypeForm form); 069 070 CommandResult<GetInventoryConditionUseTypeChoicesResult> getInventoryConditionUseTypeChoices(UserVisitPK userVisitPK, GetInventoryConditionUseTypeChoicesForm form); 071 072 CommandResult<GetInventoryConditionUseTypesResult> getInventoryConditionUseTypes(UserVisitPK userVisitPK, GetInventoryConditionUseTypesForm form); 073 074 // -------------------------------------------------------------------------------- 075 // Inventory Condition Use Type Descriptions 076 // -------------------------------------------------------------------------------- 077 078 CommandResult<VoidResult> createInventoryConditionUseTypeDescription(UserVisitPK userVisitPK, CreateInventoryConditionUseTypeDescriptionForm form); 079 080 // -------------------------------------------------------------------------------- 081 // Inventory Condition Uses 082 // -------------------------------------------------------------------------------- 083 084 CommandResult<VoidResult> createInventoryConditionUse(UserVisitPK userVisitPK, CreateInventoryConditionUseForm form); 085 086 CommandResult<GetInventoryConditionUsesResult> getInventoryConditionUses(UserVisitPK userVisitPK, GetInventoryConditionUsesForm form); 087 088 CommandResult<VoidResult> setDefaultInventoryConditionUse(UserVisitPK userVisitPK, SetDefaultInventoryConditionUseForm form); 089 090 CommandResult<VoidResult> deleteInventoryConditionUse(UserVisitPK userVisitPK, DeleteInventoryConditionUseForm form); 091 092 // ------------------------------------------------------------------------- 093 // Inventory Location Groups 094 // ------------------------------------------------------------------------- 095 096 CommandResult<CreateInventoryLocationGroupResult> createInventoryLocationGroup(UserVisitPK userVisitPK, CreateInventoryLocationGroupForm form); 097 098 CommandResult<GetInventoryLocationGroupsResult> getInventoryLocationGroups(UserVisitPK userVisitPK, GetInventoryLocationGroupsForm form); 099 100 CommandResult<GetInventoryLocationGroupResult> getInventoryLocationGroup(UserVisitPK userVisitPK, GetInventoryLocationGroupForm form); 101 102 CommandResult<GetInventoryLocationGroupChoicesResult> getInventoryLocationGroupChoices(UserVisitPK userVisitPK, GetInventoryLocationGroupChoicesForm form); 103 104 CommandResult<VoidResult> setDefaultInventoryLocationGroup(UserVisitPK userVisitPK, SetDefaultInventoryLocationGroupForm form); 105 106 CommandResult<GetInventoryLocationGroupStatusChoicesResult> getInventoryLocationGroupStatusChoices(UserVisitPK userVisitPK, GetInventoryLocationGroupStatusChoicesForm form); 107 108 CommandResult<VoidResult> setInventoryLocationGroupStatus(UserVisitPK userVisitPK, SetInventoryLocationGroupStatusForm form); 109 110 CommandResult<EditInventoryLocationGroupResult> editInventoryLocationGroup(UserVisitPK userVisitPK, EditInventoryLocationGroupForm form); 111 112 CommandResult<VoidResult> deleteInventoryLocationGroup(UserVisitPK userVisitPK, DeleteInventoryLocationGroupForm form); 113 114 // ------------------------------------------------------------------------- 115 // Inventory Location Group Descriptions 116 // ------------------------------------------------------------------------- 117 118 CommandResult<VoidResult> createInventoryLocationGroupDescription(UserVisitPK userVisitPK, CreateInventoryLocationGroupDescriptionForm form); 119 120 CommandResult<GetInventoryLocationGroupDescriptionsResult> getInventoryLocationGroupDescriptions(UserVisitPK userVisitPK, GetInventoryLocationGroupDescriptionsForm form); 121 122 CommandResult<EditInventoryLocationGroupDescriptionResult> editInventoryLocationGroupDescription(UserVisitPK userVisitPK, EditInventoryLocationGroupDescriptionForm form); 123 124 CommandResult<VoidResult> deleteInventoryLocationGroupDescription(UserVisitPK userVisitPK, DeleteInventoryLocationGroupDescriptionForm form); 125 126 // -------------------------------------------------------------------------------- 127 // Inventory Location Group Capacities 128 // -------------------------------------------------------------------------------- 129 130 CommandResult<VoidResult> createInventoryLocationGroupCapacity(UserVisitPK userVisitPK, CreateInventoryLocationGroupCapacityForm form); 131 132 CommandResult<GetInventoryLocationGroupCapacitiesResult> getInventoryLocationGroupCapacities(UserVisitPK userVisitPK, GetInventoryLocationGroupCapacitiesForm form); 133 134 CommandResult<EditInventoryLocationGroupCapacityResult> editInventoryLocationGroupCapacity(UserVisitPK userVisitPK, EditInventoryLocationGroupCapacityForm form); 135 136 CommandResult<VoidResult> deleteInventoryLocationGroupCapacity(UserVisitPK userVisitPK, DeleteInventoryLocationGroupCapacityForm form); 137 138 // -------------------------------------------------------------------------------- 139 // Inventory Location Group Volumes 140 // -------------------------------------------------------------------------------- 141 142 CommandResult<VoidResult> createInventoryLocationGroupVolume(UserVisitPK userVisitPK, CreateInventoryLocationGroupVolumeForm form); 143 144 CommandResult<EditInventoryLocationGroupVolumeResult> editInventoryLocationGroupVolume(UserVisitPK userVisitPK, EditInventoryLocationGroupVolumeForm form); 145 146 CommandResult<VoidResult> deleteInventoryLocationGroupVolume(UserVisitPK userVisitPK, DeleteInventoryLocationGroupVolumeForm form); 147 148 // ------------------------------------------------------------------------- 149 // Lots 150 // ------------------------------------------------------------------------- 151 152 CommandResult<GetLotsResult> getLots(UserVisitPK userVisitPK, GetLotsForm form); 153 154 CommandResult<GetLotResult> getLot(UserVisitPK userVisitPK, GetLotForm form); 155 156 // -------------------------------------------------------------------------------- 157 // Lot Time Types 158 // -------------------------------------------------------------------------------- 159 160 CommandResult<VoidResult> createLotTimeType(UserVisitPK userVisitPK, CreateLotTimeTypeForm form); 161 162 CommandResult<GetLotTimeTypeChoicesResult> getLotTimeTypeChoices(UserVisitPK userVisitPK, GetLotTimeTypeChoicesForm form); 163 164 CommandResult<GetLotTimeTypeResult> getLotTimeType(UserVisitPK userVisitPK, GetLotTimeTypeForm form); 165 166 CommandResult<GetLotTimeTypesResult> getLotTimeTypes(UserVisitPK userVisitPK, GetLotTimeTypesForm form); 167 168 CommandResult<VoidResult> setDefaultLotTimeType(UserVisitPK userVisitPK, SetDefaultLotTimeTypeForm form); 169 170 CommandResult<EditLotTimeTypeResult> editLotTimeType(UserVisitPK userVisitPK, EditLotTimeTypeForm form); 171 172 CommandResult<VoidResult> deleteLotTimeType(UserVisitPK userVisitPK, DeleteLotTimeTypeForm form); 173 174 // -------------------------------------------------------------------------------- 175 // Lot Time Type Descriptions 176 // -------------------------------------------------------------------------------- 177 178 CommandResult<VoidResult> createLotTimeTypeDescription(UserVisitPK userVisitPK, CreateLotTimeTypeDescriptionForm form); 179 180 CommandResult<GetLotTimeTypeDescriptionResult> getLotTimeTypeDescription(UserVisitPK userVisitPK, GetLotTimeTypeDescriptionForm form); 181 182 CommandResult<GetLotTimeTypeDescriptionsResult> getLotTimeTypeDescriptions(UserVisitPK userVisitPK, GetLotTimeTypeDescriptionsForm form); 183 184 CommandResult<EditLotTimeTypeDescriptionResult> editLotTimeTypeDescription(UserVisitPK userVisitPK, EditLotTimeTypeDescriptionForm form); 185 186 CommandResult<VoidResult> deleteLotTimeTypeDescription(UserVisitPK userVisitPK, DeleteLotTimeTypeDescriptionForm form); 187 188 // -------------------------------------------------------------------------------- 189 // Lot Alias Types 190 // -------------------------------------------------------------------------------- 191 192 CommandResult<VoidResult> createLotAliasType(UserVisitPK userVisitPK, CreateLotAliasTypeForm form); 193 194 CommandResult<GetLotAliasTypeChoicesResult> getLotAliasTypeChoices(UserVisitPK userVisitPK, GetLotAliasTypeChoicesForm form); 195 196 CommandResult<GetLotAliasTypeResult> getLotAliasType(UserVisitPK userVisitPK, GetLotAliasTypeForm form); 197 198 CommandResult<GetLotAliasTypesResult> getLotAliasTypes(UserVisitPK userVisitPK, GetLotAliasTypesForm form); 199 200 CommandResult<VoidResult> setDefaultLotAliasType(UserVisitPK userVisitPK, SetDefaultLotAliasTypeForm form); 201 202 CommandResult<EditLotAliasTypeResult> editLotAliasType(UserVisitPK userVisitPK, EditLotAliasTypeForm form); 203 204 CommandResult<VoidResult> deleteLotAliasType(UserVisitPK userVisitPK, DeleteLotAliasTypeForm form); 205 206 // -------------------------------------------------------------------------------- 207 // Lot Alias Type Descriptions 208 // -------------------------------------------------------------------------------- 209 210 CommandResult<VoidResult> createLotAliasTypeDescription(UserVisitPK userVisitPK, CreateLotAliasTypeDescriptionForm form); 211 212 CommandResult<GetLotAliasTypeDescriptionResult> getLotAliasTypeDescription(UserVisitPK userVisitPK, GetLotAliasTypeDescriptionForm form); 213 214 CommandResult<GetLotAliasTypeDescriptionsResult> getLotAliasTypeDescriptions(UserVisitPK userVisitPK, GetLotAliasTypeDescriptionsForm form); 215 216 CommandResult<EditLotAliasTypeDescriptionResult> editLotAliasTypeDescription(UserVisitPK userVisitPK, EditLotAliasTypeDescriptionForm form); 217 218 CommandResult<VoidResult> deleteLotAliasTypeDescription(UserVisitPK userVisitPK, DeleteLotAliasTypeDescriptionForm form); 219 220 // -------------------------------------------------------------------------------- 221 // Lot Aliases 222 // -------------------------------------------------------------------------------- 223 224 CommandResult<VoidResult> createLotAlias(UserVisitPK userVisitPK, CreateLotAliasForm form); 225 226 CommandResult<GetLotAliasResult> getLotAlias(UserVisitPK userVisitPK, GetLotAliasForm form); 227 228 CommandResult<GetLotAliasesResult> getLotAliases(UserVisitPK userVisitPK, GetLotAliasesForm form); 229 230 CommandResult<EditLotAliasResult> editLotAlias(UserVisitPK userVisitPK, EditLotAliasForm form); 231 232 CommandResult<VoidResult> deleteLotAlias(UserVisitPK userVisitPK, DeleteLotAliasForm form); 233 234 // -------------------------------------------------------------------------------- 235 // Party Inventory Levels 236 // -------------------------------------------------------------------------------- 237 238 CommandResult<VoidResult> createPartyInventoryLevel(UserVisitPK userVisitPK, CreatePartyInventoryLevelForm form); 239 240 CommandResult<GetPartyInventoryLevelResult> getPartyInventoryLevel(UserVisitPK userVisitPK, GetPartyInventoryLevelForm form); 241 242 CommandResult<GetPartyInventoryLevelsResult> getPartyInventoryLevels(UserVisitPK userVisitPK, GetPartyInventoryLevelsForm form); 243 244 CommandResult<EditPartyInventoryLevelResult> editPartyInventoryLevel(UserVisitPK userVisitPK, EditPartyInventoryLevelForm form); 245 246 CommandResult<VoidResult> deletePartyInventoryLevel(UserVisitPK userVisitPK, DeletePartyInventoryLevelForm form); 247 248 // -------------------------------------------------------------------------------- 249 // Allocation Priorities 250 // -------------------------------------------------------------------------------- 251 252 CommandResult<CreateAllocationPriorityResult> createAllocationPriority(UserVisitPK userVisitPK, CreateAllocationPriorityForm form); 253 254 CommandResult<GetAllocationPriorityChoicesResult> getAllocationPriorityChoices(UserVisitPK userVisitPK, GetAllocationPriorityChoicesForm form); 255 256 CommandResult<GetAllocationPriorityResult> getAllocationPriority(UserVisitPK userVisitPK, GetAllocationPriorityForm form); 257 258 CommandResult<GetAllocationPrioritiesResult> getAllocationPriorities(UserVisitPK userVisitPK, GetAllocationPrioritiesForm form); 259 260 CommandResult<VoidResult> setDefaultAllocationPriority(UserVisitPK userVisitPK, SetDefaultAllocationPriorityForm form); 261 262 CommandResult<EditAllocationPriorityResult> editAllocationPriority(UserVisitPK userVisitPK, EditAllocationPriorityForm form); 263 264 CommandResult<VoidResult> deleteAllocationPriority(UserVisitPK userVisitPK, DeleteAllocationPriorityForm form); 265 266 // -------------------------------------------------------------------------------- 267 // Allocation Priority Descriptions 268 // -------------------------------------------------------------------------------- 269 270 CommandResult<VoidResult> createAllocationPriorityDescription(UserVisitPK userVisitPK, CreateAllocationPriorityDescriptionForm form); 271 272 CommandResult<GetAllocationPriorityDescriptionResult> getAllocationPriorityDescription(UserVisitPK userVisitPK, GetAllocationPriorityDescriptionForm form); 273 274 CommandResult<GetAllocationPriorityDescriptionsResult> getAllocationPriorityDescriptions(UserVisitPK userVisitPK, GetAllocationPriorityDescriptionsForm form); 275 276 CommandResult<EditAllocationPriorityDescriptionResult> editAllocationPriorityDescription(UserVisitPK userVisitPK, EditAllocationPriorityDescriptionForm form); 277 278 CommandResult<VoidResult> deleteAllocationPriorityDescription(UserVisitPK userVisitPK, DeleteAllocationPriorityDescriptionForm form); 279 280 // ------------------------------------------------------------------------- 281 // Inventory Adjustment Types 282 // ------------------------------------------------------------------------- 283 284 CommandResult<CreateInventoryAdjustmentTypeResult> createInventoryAdjustmentType(UserVisitPK userVisitPK, CreateInventoryAdjustmentTypeForm form); 285 286 CommandResult<GetInventoryAdjustmentTypesResult> getInventoryAdjustmentTypes(UserVisitPK userVisitPK, GetInventoryAdjustmentTypesForm form); 287 288 CommandResult<GetInventoryAdjustmentTypeResult> getInventoryAdjustmentType(UserVisitPK userVisitPK, GetInventoryAdjustmentTypeForm form); 289 290 CommandResult<GetInventoryAdjustmentTypeChoicesResult> getInventoryAdjustmentTypeChoices(UserVisitPK userVisitPK, GetInventoryAdjustmentTypeChoicesForm form); 291 292 CommandResult<VoidResult> setDefaultInventoryAdjustmentType(UserVisitPK userVisitPK, SetDefaultInventoryAdjustmentTypeForm form); 293 294 CommandResult<EditInventoryAdjustmentTypeResult> editInventoryAdjustmentType(UserVisitPK userVisitPK, EditInventoryAdjustmentTypeForm form); 295 296 CommandResult<VoidResult> deleteInventoryAdjustmentType(UserVisitPK userVisitPK, DeleteInventoryAdjustmentTypeForm form); 297 298 // ------------------------------------------------------------------------- 299 // Inventory Adjustment Type Descriptions 300 // ------------------------------------------------------------------------- 301 302 CommandResult<VoidResult> createInventoryAdjustmentTypeDescription(UserVisitPK userVisitPK, CreateInventoryAdjustmentTypeDescriptionForm form); 303 304 CommandResult<GetInventoryAdjustmentTypeDescriptionsResult> getInventoryAdjustmentTypeDescriptions(UserVisitPK userVisitPK, GetInventoryAdjustmentTypeDescriptionsForm form); 305 306 CommandResult<EditInventoryAdjustmentTypeDescriptionResult> editInventoryAdjustmentTypeDescription(UserVisitPK userVisitPK, EditInventoryAdjustmentTypeDescriptionForm form); 307 308 CommandResult<VoidResult> deleteInventoryAdjustmentTypeDescription(UserVisitPK userVisitPK, DeleteInventoryAdjustmentTypeDescriptionForm form); 309 310 // ------------------------------------------------------------------------- 311 // Inventory Transaction Types 312 // ------------------------------------------------------------------------- 313 314 CommandResult<CreateInventoryTransactionTypeResult> createInventoryTransactionType(UserVisitPK userVisitPK, CreateInventoryTransactionTypeForm form); 315 316 CommandResult<GetInventoryTransactionTypesResult> getInventoryTransactionTypes(UserVisitPK userVisitPK, GetInventoryTransactionTypesForm form); 317 318 CommandResult<GetInventoryTransactionTypeResult> getInventoryTransactionType(UserVisitPK userVisitPK, GetInventoryTransactionTypeForm form); 319 320 CommandResult<GetInventoryTransactionTypeChoicesResult> getInventoryTransactionTypeChoices(UserVisitPK userVisitPK, GetInventoryTransactionTypeChoicesForm form); 321 322 CommandResult<VoidResult> setDefaultInventoryTransactionType(UserVisitPK userVisitPK, SetDefaultInventoryTransactionTypeForm form); 323 324 CommandResult<EditInventoryTransactionTypeResult> editInventoryTransactionType(UserVisitPK userVisitPK, EditInventoryTransactionTypeForm form); 325 326 CommandResult<VoidResult> deleteInventoryTransactionType(UserVisitPK userVisitPK, DeleteInventoryTransactionTypeForm form); 327 328 // ------------------------------------------------------------------------- 329 // Inventory Transaction Type Descriptions 330 // ------------------------------------------------------------------------- 331 332 CommandResult<VoidResult> createInventoryTransactionTypeDescription(UserVisitPK userVisitPK, CreateInventoryTransactionTypeDescriptionForm form); 333 334 CommandResult<GetInventoryTransactionTypeDescriptionsResult> getInventoryTransactionTypeDescriptions(UserVisitPK userVisitPK, GetInventoryTransactionTypeDescriptionsForm form); 335 336 CommandResult<EditInventoryTransactionTypeDescriptionResult> editInventoryTransactionTypeDescription(UserVisitPK userVisitPK, EditInventoryTransactionTypeDescriptionForm form); 337 338 CommandResult<VoidResult> deleteInventoryTransactionTypeDescription(UserVisitPK userVisitPK, DeleteInventoryTransactionTypeDescriptionForm form); 339 340}