import { Defaults, Guid } from "~/defaults"; import { ReportTemplate } from "~/types"; /** * Logistiek settings */ export class SettingsDomainLogistiekSettings { /** * The CMR report that is used by default */ defaultCMRReport?: ReportTemplate = new ReportTemplate(); /** * The pakbon report that is used by default */ defaultPakbonReport?: ReportTemplate = new ReportTemplate(); /** * The public id of the CMR report that is used by default */ defaultCMRReportPublicId?: Guid; /** * The public id of the pakbon report that is used by default */ defaultPakbonReportPublicId?: Guid; /** * Whether two order pickers can work on the same order at the same time */ collaborateOnPickOrder: boolean = Defaults.Boolean; /** * The pick modes that are available */ pickModes: PickMode[] = [PickMode.Pick]; /** * The pick level of a recipe article */ recipeArticlePickLevel: RecipeArticlePickLevel = RecipeArticlePickLevel.Highest; /** * Whether to split the order line when picking traceability */ traceabilitySplitOrderLines: boolean = Defaults.Boolean; /** * A list of default emballages that will be created automatically when a new pick order is created */ defaultEmballages: Guid[] = []; /** * Which pick view to show by default */ defaultPickView: PickView = PickView.AllLines; /** * A list of columns that the rows are grouped on. The order of the columns is the order of the grouping */ defaultGroupingPickOrders: string[] = []; /** * This field will be used to filter the pick orders on the pick date. Can be both a database field or a free field definition id. */ pickDateField: string = Defaults.String; /** * The default pipeline for pick orders */ defaultPickOrderPipelineId: Guid = Defaults.Guid; /** * The default pipeline for pick order lines */ defaultPickOrderLinePipelineId: Guid = Defaults.Guid; /** * The type of scanner to use */ scanMode: ScanMode = ScanMode.Scanner; /** * The unpickable articles */ unpickableArticles: Guid[] = []; } /** * The pick mode */ export enum PickMode { /** Pick mode */ Pick = 1, /** Check mode */ Check = 2, /** Collect mode */ Collect = 3, /** Sample mode */ Sample = 4, /** Traceability mode */ Traceability = 5, } /** * The recipe article pick level */ export enum RecipeArticlePickLevel { /** Get the highest available level of the recipe */ Highest = 1, /** Get the lowest available level of the recipe. E.g. if you have a computer recipe, you will get the lowest level of the recipe, which is the screws, cables, etc. */ Lowest = 2, } /** * The pick view */ export enum PickView { /** All order lines */ AllLines = 1, /** Picking per order */ PerOrder = 2, } /** * The scan mode */ export enum ScanMode { /** Using a scanner */ Scanner = 1, /** Using the device's camera */ Camera = 2, }