Partkeepr: 项目运行中不包括批号

创建于 2020-09-17  ·  12评论  ·  资料来源: partkeepr/PartKeepr

如何重现:

  1. 在“编辑>项目”下创建一个新项目
  2. 添加零件并将“批号”字段填写为“12345”,然后单击“保存项目”。
  3. 在“查看 > 项目报告”下生成项目报告,选择项目并将数量设置为 1,然后单击创建报告。
  4. 单击“从库存中移除零件”
  5. 转到“查看 > 项目运行”并查看上次运行。

会发生什么:“批号字段为空”
预期结果:批号应为“12345”。

解决这个问题并获得赏金

Backend Bug Low Priority

最有用的评论

你好! 我在 bountysource 上看到了这个问题,所以我查看了代码。

我能够重现该错误。 通过检查http://partkeepr.local/api/project_run_parts/1我看到lotNumber设置在项目内部的部分中,但未设置在顶层部分中。 基于此,我认为这只是一个显示问题,而不是lotNumber值消失,实际上lotNumber被复制到massRemoveStockActionsrc/PartKeepr/PartBundle/Controller/PartController.php

以下修复程序看起来如何? https://github.com/partkeepr/PartKeepr/pull/1153

所有12条评论

我可以确认这个问题。

我刚刚从 firefox创建了一个massRemoveStock ,批号似乎没有转移,如果我没看错的话。 因此,它需要在项目运行中实施(在单击“从库存中移除零件”时出现)。

你好! 我在 bountysource 上看到了这个问题,所以我查看了代码。

我能够重现该错误。 通过检查http://partkeepr.local/api/project_run_parts/1我看到lotNumber设置在项目内部的部分中,但未设置在顶层部分中。 基于此,我认为这只是一个显示问题,而不是lotNumber值消失,实际上lotNumber被复制到massRemoveStockActionsrc/PartKeepr/PartBundle/Controller/PartController.php

以下修复程序看起来如何? https://github.com/partkeepr/PartKeepr/pull/1153

很高兴确认您的 PR 完全解决了这个问题!

我尝试实施更改,但似乎没有任何效果。 我只实施了更改并重新运行了 /setup 页面。 我还需要运行任何 composer 命令吗?

我认为必须删除前端 javascript 文件的缓存才能应用此更改。 我只是删除了它们然后重新设置,但后来我发现这些命令可能更好用https://wiki.partkeepr.org/wiki/Running_PartKeepr_from_GIT#Console_commands

@ed-commits 我对这种环境完全是个菜鸟,很抱歉我的愚蠢问题。 但是删除前端 javascript 缓存是指运行rm -rf app/cache/*命令吗? 在运行设置之前,我已经尝试过这个,但我仍然无法让它在项目运行中包含批号。 您能否向我提供您用来验证补丁的确切程序,以便我可以重现?

我这样做了,也可以尝试rm -rf web/js/compiledrm -rf web/js/packages/extjs6 。 然后重新运行安装程序。 那么更改应该适用。

@ed-commits 我现在也试过了,但不幸的是,我看不出这种变化有什么不同。 其他人是否能够确认这解决了问题?

我现在可以确认 #1153 解决了这个问题。 似乎某处的缓存在一段时间后被重置。 但是,不建议删除已编译和 extjs6。 它会使整个系统变砖,使其卡在加载页面,并且设置页面被留空。 一旦修复程序合并到主版本,就可以关闭此问题。

编辑:Obs,我现在看到如果项目更改(在编辑-> 项目下),项目运行中的批号将更改。 这是不正确的。 项目运行后,批号不应更改。 所以不直接链接到项目,如果有道理的话。

我认为问题确实出在 massremovestock 行动中
在这里: https :

或者更确切地说, $removal->lotNumber字段是空的。 所以更特别的是在 json 请求中的某个地方
https://github.com/partkeepr/PartKeepr/blob/e39c5f87f9ad44c7b7d4ffb521178f492761320d/src/PartKeepr/PartBundle/Controller/PartController.php#L33

我猜它设置在这里的某个地方:
https://github.com/partkeepr/PartKeepr/blob/7dd3ef8f2395097b3659bbe0587eac70b6ff7671/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Project/ProjectReportResultGrid.js#L357

以防万一有用,
我注意到将零件导入项目时,“保存项目”按钮存在某种逻辑问题。
完成所有过程(读取 CSV 文件,单击“执行导入”)成功将部件列表添加到项目后,表 ProjectPart 已正确完成,即使关闭导入窗口仍然正确,但是当您单击“保存项目”按钮,它释放/恢复更改(?)
在本页的末尾解释了用户如何规避这一点
https://readthedocs.web.cern.ch/display/PARTK/07a+-+Creating+Projects+and+BOM+Imports

本期开头提到的“保存项目”以及所描述的行为似乎与我所描述的相似。
问候

亲爱的 JoarGjersund 和 ed-commits
如果我在运行http://localhost/web/app_dev.php时理解正确
https://readthedocs.web.cern.ch/display/PARTK/Setup+for+Debug+and+Verbose+mode
你不关心缓存,你执行的都是直接完成的。
问候

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

Gasman2014 picture Gasman2014  ·  26评论

FinalHopee picture FinalHopee  ·  32评论

integralmedia picture integralmedia  ·  4评论

kgabryszewska picture kgabryszewska  ·  8评论

Drachenkaetzchen picture Drachenkaetzchen  ·  11评论