inventree / InvenTree

Open Source Inventory Management System
https://docs.inventree.org
MIT License
4.32k stars 781 forks source link

Suggest adding support for location QR codes in the menu. #7761

Open zly20129 opened 3 months ago

zly20129 commented 3 months ago

Please verify that this feature request has NOT been suggested before.

Problem statement

For example: if I need to move an inventory item from location A to location B, then all I need to do is scan the QR code label of item A to open its interface. And then, I need to click on the Transfer Inventory button and it will open a menu screen where I can set where I want to move the item to. If I have an unusually large number of stock locations, then it means that I need to do a lot of work to find the right location, which is very annoying. For example: I have a number of drawer-type inventory spaces that are named [1 row and 1 column] through [3 rows and 6 columns]. And each drawer is further divided into [Inside] [Center] [Outside]. This results in a very long list of location choices, while the search function only searches a certain level itself. If I search for [1 row and 1 column], then it will only show [1 row and 1 column] itself, but not the [1 row and 1 column] subordinate to the [inside] [center] [outside], then I must first select [1 row and 1 column], and then re-select the [inside] [center] [outside], that is, I need to take at least two steps in order to find the location I need. If I directly search for [Inside], [Center] or [Outside], then it will list all the locations with this name, and the list is still very long, requiring a lot of effort and time to select and confirm to ensure that the location is correct. For this case, the burden and the probability of possible errors can be greatly reduced if the location list supports quick location determination via QR codes. (I tried scanning the QR code corresponding to the location with a scanning gun in the search box of the location selection, but it would only populate the first location in the list instead of locating the place I needed)

I am attaching the original Chinese text below to avoid errors created by translation software. If there are any inaccuracies or hard-to-understand parts of the above English content, please use your familiar translation software to translate the original text below. 为避免翻译软件造成的错误,我将中文原文附在下面。如果上述英文内容有任何不准确或难以理解的地方,请使用您熟悉的翻译软件翻译以下原文。

例如:如果我需要将库存物品从位置 A 转移到位置 B,那么我只需扫描物品 A 的二维码标签,即可打开其界面。 然后,我需要点击 "转移库存 "按钮,它就会打开一个菜单界面,在这里我可以设置要把物品转移到哪里。 如果我的库存位置异常多,那就意味着我需要做很多工作才能找到正确的位置,这非常麻烦。 例如:我有很多个抽屉型的库存空间,它们被命名为【1行1列】到【3行6列】。而每个抽屉又分为【里侧】【中侧】【外侧】。 这就会使位置选择列表非常长,而搜索功能却只能搜索到某一级本身。 如果我搜索【1行1列】,那么它只会显示【1行1列】本身,而不会显示属于【1行1列】下属的【里侧】【中侧】【外侧】,这时就必须先选择【1行1列】,而后再重新选择【里侧】【中侧】【外侧】,也就是说我需要至少两个步骤才能找到我需要的位置。 而如果我直接搜索【里侧】、【中侧】或【外侧】,那么它会把所有具有这个名字位置的都列出来,这个列表依旧很长,需要大量的精力和时间来选择及确认以保证位置是正确的。 对于这种情况,如果位置列表支持通过二维码来快速确定位置,则可以极大程度的减小负担和可能出错的概率。(我尝试在位置选择的搜索框内用扫码枪扫描对应位置的二维码,但它只会将列表的第一个位置填入,而不是定位到我需要的地方)

Suggested solution

Add QR code support for location selection in menus, e.g. using a scan gun will enter stocklo... :NN, then the system will automatically confirm the corresponding storage location based on the number.

为菜单中的地点选择增加二维码支持,比如使用扫码枪会输入stocklo...:NN,这时系统会自动根据编号确认对应的仓储地点。

Describe alternatives you've considered

Preferably, both barcodes and QR codes are supported.

Examples of other systems

None.

Do you want to develop this?

SchrodingersGat commented 3 months ago

@zly20129 thanks for the issue. This would be a great addition to the new user interface (react based) where we will be introducing a lot of new barcode feature support.

zly20129 commented 3 months ago

@zly20129 thanks for the issue. This would be a great addition to the new user interface (react based) where we will be introducing a lot of new barcode feature support.

Another very annoying problem I encountered regarding the new UI: I couldn't find any place to scan barcodes. The scan gun is basic keyboard input in the new PUI (I think that's what it's called?). interface, I didn't find a menu that would support a physical sweep gun. The camera scanning method supported by the PUI is also not available due to my inability to set up the server for HTTPS access.

zly20129 commented 3 months ago

@zly20129 thanks for the issue. This would be a great addition to the new user interface (react based) where we will be introducing a lot of new barcode feature support.

By the way, some words from the heart: I really like the InvenTree system, which I personally think is currently the best open source warehouse management system. As an electronics hobbyist, this system can greatly help me to reduce the cost and effort required to manage a wide variety of components. I'm looking forward to the new features, which will definitely take the user experience to the next level! Of course, all of the above could not be done without the hard work of the development team, hats off to you!

顺便说一些心里话:我真的很喜欢InvenTree系统,这是我个人认为目前最好的开源仓库管理系统。 作为一名电子爱好者,这款系统可以极大的帮助我减轻管理繁多种类元器件所需要付出的成本和精力。 我期待着新功能的上线,这一定会让用户体验更上一个台阶! 当然,以上都离不开开发组大佬的辛勤努力,向你们致敬!

zly20129 commented 3 months ago

@zly20129 thanks for the issue. This would be a great addition to the new user interface (react based) where we will be introducing a lot of new barcode feature support.

I have some pictures here for you to check out. 我这里有一些图片,请您查看。 These pictures should give you an idea of the problems I am having with the new PUI interface. 这些图片您应该能理解我在新的PUI界面所遇到的问题。

As shown in the previous four pictures, I can't find a menu in the PUI interface that can support a physical sweep gun, and the camera doesn't work, with an error message in the UI interface. 如前面的四张图所示,我在PUI界面找不到可以支持物理扫码枪的菜单,而摄像头也用不了,UI界面有报错信息。 屏幕截图 2024-07-31 140037 屏幕截图 2024-07-31 140109 屏幕截图 2024-07-31 140130 屏幕截图 2024-07-31 140216

This image demonstrates one of the issues I've raised, the search function doesn't list subpaths. 这张图片演示了我所提出的问题之一,搜索功能不能列出子路径。 屏幕截图 2024-07-31 140247

In the two images below, I want to convey a contrast in user experience. 以下的两张图片,我想表达一种用户体验上的对比。 In the old UI interface, the location selection is much clearer than the PUI, it will list the whole paths all together, not just the sub-paths with corresponding names like the PUI, for example, like this one in the picture, I can't tell which location it belongs to at all, because the names are all the same. 在老的UI界面中,位置选择要比PUI清晰很多,它会将整个路径全部罗列出来,而不是像PUI一样只列出对应名字的子路径,比如图片中这种,我根本无法分辨它属于哪个位置,因为名字都是一样的。 屏幕截图 2024-07-31 140331 屏幕截图 2024-07-31 140544 If one wants to ask me why I wrote them all with the same name and notes, then the reason is also simple. 如果想要问我为什么把它们的名字和备注全写成一样的,那原因也很简单。 --Because there is no batch create location function, each location needs me to manually go to select and then determine the generation, if each one of them is written in detail, it will take too much time and energy to do extremely mechanized work. ——因为没有批量创建位置功能,每一个位置都需要我手动去选择然后确定生成,如果每一个都详细写明,那需要花费太多的时间和精力去做极其机械化的工作。 Let me briefly describe my application scenario: I purchased the drawer organizer model F6 and put it in my cabinet to organize electronic components. 我简述下我的应用场景:我购买了型号为F6的抽屉式收纳盒,放在我的柜里收纳电子元器件使用。 And my cabinet up and down there are 6 layers, each layer can put 18 F6 drawer organizer, horizontal 3 rows vertical 6 columns, that is to say a cabinet will need to create 6 18 = 108 positions, plus each layer also need to create a position, that is, 108 + 6 = 114 positions, which need to be created manually. 而我的柜子上下有6层,每层可以放18个F6抽屉收纳盒,横着3行竖着6列,也就是说一个柜子就需要创建618=108个位置,加上每一层也需要创建一个位置,那就是108+6=114个位置,这都需要我手动创建。 For the cabinet layer, I named [1 layer] to [6 layers], and each layer of the drawer position I will name it [1 row and 1 column] to [3 rows and 6 columns], the name of each position and the description of the text, need to manually change the number, which requires a lot of energy and time. 对于柜子的层,我命名为【1层】到【6层】,而每层的抽屉位置我将它命名为【1行1列】到【3行6列】,每一个位置的名字还有描述文本,都需要手动的改变数字,这需要非常多的精力和时间。 Then. 然后。 Inside each drawer you can put two flaps, so that each drawer will be subdivided into three spaces again, which I named [Inside] [Center] and [Outside]. 每个抽屉里边可以放两个挡板,这样每个抽屉又会被细分为三个空间,我将其命名为【里侧】【中侧】和【外侧】。 The reason for naming them this way is that when I create a location I can choose whether or not to create a new location based on existing information. 如此命名是因为我在创建位置的时候可以选择是否根据现有信息来创建一个新位置。 If I choose, for example, when I'm creating the [Inside] of all the drawers, then I just need to select the locations one by one, without changing the text. 如果选择,比如我在创建所有抽屉的【里侧】的时候,那只需要一个一个选择位置就可以了,而不需要改变文本。 Otherwise, if I write all the [Inside], [Center], and [Outside] positions as, for example, [1 level, 1 column, inside], then I would not only have to select the correct position in a long list each time I create it, but also have to manually change the numbers one by one to indicate the detailed position. 否则,如果我将所有【里侧】【中侧】和【外侧】的位置都写成例如【1层1列里侧】这种形式,那我则在每次创建时,不仅要在长长的列表中选择正确的位置,还要去一个一个手动改变数字来指示详细的位置。 With 3 sub-positions per drawer that need to be typed in, and 108 drawers per cabinet, 3108 = 324 positions that need to be manually typed in and created, this exponential increase in workload is horrendous. 每个抽屉有3个子位置需要打字改变,而每个柜子有108个抽屉,3108=324个需要手动打字创建的位置,这种指数级的工作量增长是很可怕的。 These are the reasons why I set the labels inside all the drawers to be the same. 以上就是为什么我将所有抽屉内标签都设置成一样的原因。

I'm not sure if I'm overlooking the batch creation feature, or if it doesn't exist. I'm also not sure if I need to raise another issue based on this, so please answer it for me! @SchrodingersGat 我不确定是否是我忽略了批量创建功能,亦或者是并没有这项功能。 也不确定是否需要据此再提出一个issue,请您为我解答! @SchrodingersGat