Commit Graph

1807 Commits

Author SHA1 Message Date
marination
7e41d84a11 chore: get_valuation_rate sider fixes
- Use qb instead of db.sql
- Don't use `args` as argument for function
- Cleaner variable names
2022-06-08 14:01:04 +05:30
marination
9f2793ccf1 test: Fix test_update_bom_cost_in_all_boms
- Use base_rate for assertions as rate is subject to change due to conversion factor (USD)
2022-06-08 11:18:53 +05:30
Marica
ff0a6b7cbd
Merge branch 'develop' into perf-bom-update-tool 2022-06-07 14:49:59 +05:30
marination
6bde1bb5d2 test: Util to update cost in all BOMs
- Utility to update cost in all BOMs without cron jobs or background jobs (run immediately)
- Re-use util wherever all bom costs are to be updated
- Skip explicit commits if in test
- Specify company in test records (dirty data sometimes, company wh mismatch)
- Skip background jobs queueing if in test
2022-06-07 14:44:00 +05:30
Rohit Waghchaure
d94ff3ede8 test: test cases to cover batch, serialized raw materials 2022-06-06 17:57:52 +05:30
marination
15101190a6 chore: get_valuation_rate in bom.py must always return float & goto Item master if no bins 2022-06-06 17:54:13 +05:30
marination
934db57fdd chore: Miscellanous fixes/enhancements
- `get_valuation_rate`: if no bins are found return 0, SLEs do not exist either
- `get_valuation_rate`: Compute average valuation rate via query
- `get_rm_rate_map`: set order_by as None to avoid creating sort index (modified) each time query runs (seen in process list)
- BOM Update Batch: add status field and hide `boms_updated` so that  users can see progress without loading all updated boms (too much data)
- BOM Update Batch: set batch row status to completed after job runs
- BOM Update Log: remove `parent_boms` field (just pass parent boms to processing function) & remove Paused state (not used)
- Move job to long queue to avoid choking default queue
- `update_cost_in_boms`: use `get_doc` as each BOM is accessed only once. Use `for_update` to lock BOM row
- Commit after every 100 BOMs
2022-06-06 17:01:51 +05:30
Ankush Menat
ee5bc58e9b
fix(job card): only hold during draft state (#31243) 2022-06-06 16:27:25 +05:30
s-aga-r
992ba974e2 Merge branch 'develop' into subcontracting 2022-06-03 13:25:49 +05:30
marination
62857e3e08 feat: Track progress in Log Batch/Job wise
- This was done due to stale reads while the background jobs tried updating status of the log
- Added a table where all bom jobs within log will be tracked with what level they are processing
- Cron job will check if table jobs are all processed every 5 mins
- If yes, it will prepare parents and call `process_boms_cost_level_wise` to start next level
- If pending jobs, do nothing
- Current BOM Level is being tracked that helps adding rows to the table
- Individual bom cost jobs (that are queued) will process and update boms > will update BOM Update Batch table row with list of updated BOMs
2022-06-02 13:35:30 +05:30
Deepesh Garg
167cf7b49d fix: Remove domain restrcition from Manufacturing Workspace 2022-06-01 09:04:53 +05:30
marination
a62bc9b6c9 chore: Limit Update Cost jobs & db_update only if changed values
- If `Update Cost` job is ongoing, then block creation of new ones since all BOMs are updated
- `db_update` in `calculate_rm_cost` only if changed values to reduce redundant row updates
- Misc: Use variable for batch size
2022-05-31 16:00:29 +05:30
Ankush Menat
954dac88a8 fix: allow non-explosive recrusive BOMs
Recursion should be allowed as long as child item is not "exploded"
further by a BOM.
2022-05-30 10:40:13 +05:30
Ankush Menat
d224bf1d34 fix: only erase BOM when do_not_explode is set 2022-05-30 10:40:13 +05:30
Ankush Menat
b170cec2fe fix(ux): "New Version" button BOM
"duplicate" technically creates a new version but that's not intuitive
at all.
2022-05-30 10:40:12 +05:30
Ankush Menat
933434c3ea chore: format 2022-05-29 22:09:32 +05:30
marination
978ba5238f fix: Safe cast row.rate (in case of faulty exploded items, edge case but oh well) 2022-05-27 21:59:59 +05:30
marination
2de2491e17 perf: get_next_higher_level_boms
- Separate getting dependants and checking if they are valid (loop within loop led to redundant processing that slowed down function)
- Adding to above, the same dependant(parent) was repeatedly processed as many children shared it. Expensive.
- Use a parent-child map similar to child-parent map to check if all children are resolved
- `map.get()` reduced time: 10 mins -> 0.9s~1 second (as compared to `get_cached_doc` or query)
- Total time: 17 seconds to process 6599 leaf boms and 4.2L parent boms
- Previous Total time: >10 mins (I terminated it due to not wanting to waste time XD)
2022-05-27 20:33:14 +05:30
MOHAMMED NIYAS
7ff8acac51
fix: date filter on quality inspection report (#31148)
* fix: date filter

fix from date to to date filter btw those days

* fix: remove unnecessary conditions

Co-authored-by: Ankush Menat <ankushmenat@gmail.com>
2022-05-27 17:13:14 +05:30
marination
5949946265 chore: Change BOM Progress field types to Long Text 2022-05-27 17:04:21 +05:30
marination
eabd8290d4 feat: Only update exploded items rate and amount
- Generate RM-Rate map from Items table (will include subassembly items with rate)
- Function to reset exploded item rate from above map
- `db_update` exploded item rate only if rate is changed
- Via Update Cost, only update exploded items rate, do not regenerate table again
- Exploded Items are regenerated on Save and Replace BOM job
- `calculate_exploded_cost` is run only via non doc events (Update Cost button, Update BOMs Cost Job)
2022-05-27 14:32:58 +05:30
Sagar Sharma
61296a0658 fix: Subcontracting through Production Plan 2022-05-26 15:08:16 +05:30
Sagar Sharma
4ff734c25a
Merge branch 'develop' into subcontracting 2022-05-25 12:32:33 +05:30
marination
9f5f18e94d style: Update docstrings and fix/add type hints + Collapsible progress section in Log 2022-05-25 11:22:13 +05:30
marination
ab2d95a74d feat: Level-wise BOM cost updation
- Process BOMs level wise and Pause after level is complete
- Cron job will resume Paused jobs, which will again process the new level and pause at the end
- This will go on until all BOMs are updated
- Added Progress section with fields to track updated BOMs in Log
- Cleanup: Add BOM Updation utils file to contain helper functions/sub-functions
- Cleanup: BOM Update Log file will only contain functions that are in direct context of the Log

Co-authored-by: Gavin D'souza <gavin18d@gmail.com>
2022-05-25 11:21:01 +05:30
Sagar Sharma
6e5effc1b0
Merge branch 'develop' into subcontracting 2022-05-23 11:35:50 +05:30
marination
9f6e10663b chore: Run _validate_over_transfer only if excess transfer is blocked in settings 2022-05-23 11:05:55 +05:30
Ankush Menat
1a58b788e5 Merge branch 'develop' into jc-excess-transfer-config 2022-05-21 14:32:44 +05:30
Ankush Menat
66cf9aa344 fix: creation of corrective job card fails
This used to fail because sub_operations is a child table that's not
initalized by default till v13, in develop branch we init tables with
empty list.
2022-05-21 14:01:30 +05:30
Ankush Menat
e625394488 test: simplify job card tests 2022-05-21 14:01:28 +05:30
Sagar Sharma
213113bc00 Merge branch 'develop' into subcontracting 2022-05-20 12:13:13 +05:30
Sagar Sharma
92625902ad refactor!: BOM 2022-05-20 10:45:34 +05:30
Sagar Sharma
409df263e8 refactor!: change "is_subcontracted" field type from "Select" to "Check" 2022-05-20 10:45:33 +05:30
marination
90d4dc0cd6 fix: test_work_order_with_non_stock_item
- Use the right price list and currency to avoid rate conversion (1000/62.9), since rates are reset correctly now
- Use RM rate based on Price List in BOM. Non stock item has no valuation
2022-05-20 03:12:42 +05:30
marination
dd99c00eb6 fix: Get fresh RM rate in calculate_rm_cost 2022-05-19 21:48:24 +05:30
marination
9a7e9d902d perf: Use cached doc instead of get_doc
- Doc is only used to iterate over items(which wont change) and change rate/amount of rows
- These changes are inserted in db via `db_update`, so no harm
- Tested locally: refetching cached doc after db update, reflects fresh data.
2022-05-19 21:24:31 +05:30
marination
9dc3083088 fix: Call calculate_cost for Draft BOM and typo in argument 2022-05-19 20:33:48 +05:30
marination
5932e9d78a fix: DB update child items, remove redundancy, fix perf
- Move `get_boms_in_bottom_up_order` in bom update tool’s file
- Remove repeated rm cost update from `update_cost`. `calculate_cost` handles RM cost update
- db_update children in `calculate_cost` optionally
- Don’t call `update_exploded_items` and regenerate exploded items in `update_cost`. They will stay the same (except cost)
2022-05-19 20:22:13 +05:30
Ankush Menat
1de6b14d15
fix: remove "scrap %" field (#31069)
This does nothing, there's scrap items table below that's actually used
for specifying scrap.
2022-05-19 14:25:16 +05:30
marination
b6e46eea80 perf: get_boms_in_bottom_up_order
- Create child-parent map once and fetch value from child key to get parents
- Get parents recursively for a leaf node (get all ancestors)
- Approx. 44 secs for 4lakh 70k boms
2022-05-18 13:00:00 +05:30
marination
e07ce6efe0 fix: Job Card excess transfer behaviour
- Block excess transfer of items if not allowed in settings
- Behaviour made consistent with js behaviour (button disappears if not pending and not allowed in settings)
- Test for same case
2022-05-17 17:39:45 +05:30
marination
90a8e924f5 fix: set_missing_values in SE and re-use the same on all SE mappings
- `set_missing_values` in SE will set actual qty, transfer qty and calculate rate/amount
- Re-use `set_missing_values` wherever SE is doc is being mapped
2022-05-11 14:54:22 +05:30
Rushabh Mehta
548afba8bb
fix(minor): update frappe.error_log to new API (#30864)
* fix(minor): update frappe.error_log to new API

* refactor: changes for updated log_error api

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-05-02 15:04:26 +05:30
Ankush Menat
7d2587c0a9 fix: nullish check and table name 2022-04-26 11:03:32 +05:30
HENRY Florian
143786aaa0
fix: Must not be able to start Job Card if it is related to Work Order that is not started yet (#29072)
* fix: Cannot start Job strat if related to Work Order not started yet

* fix: Cannot start Job strat if related to Work Order not started yet

* test

* test

* fix siders

* PR review

* chore: Code cleanup

- Better short circuit for if condition (make it such that both conditions dont always have to be computed)
- Remove `r.message` extraction by avoiding `then()`

* chore: Remove unnecessary json change

Co-authored-by: marination <maricadsouza221197@gmail.com>
2022-04-20 12:29:52 +05:30
marination
6315acc450 fix: Map correct company to PO made via Prod Plan (subcontract) 2022-04-13 11:47:58 +05:30
marination
2777c5c67c fix: Map Production Plan company in subassembly WO created from it 2022-04-12 14:30:01 +05:30
marination
5aa60bb651 test: Multiple RM transfer in separate Stock Entries
- Added test and acceptance of 0 as For Quantity in test helper
2022-04-11 16:44:55 +05:30
marination
be2e5ce966 style: Missing Semicolon 2022-04-11 15:32:57 +05:30
marination
dfff4beaf4 fix: Handle multiple item transfer in separate SEs against WO
- Check for pending qty in child items to show/hide "Start" button
- If no qty needed to transfer (FG qty is fulfilled), but RM qty pending: map pending in SE with For Quantity = 0
2022-04-11 14:10:57 +05:30
Ankush Menat
49560d20bc
fix: remove bad defaults from BOM operation (#30644)
[skip ci]
2022-04-08 11:23:02 +05:30
Ankush Menat
8e425252c4 chore: typo 2022-04-06 18:27:41 +05:30
Ankush Menat
eebcf2a9f1
fix: only trigger onload checks on saved docs (#30603) 2022-04-06 18:13:55 +05:30
Ankush Menat
52eb0a93bb
Merge pull request #30528 from s-aga-r/is-subcontracted-fieldtype
refactor!: change "is_subcontracted" field type from "Select" to "Check"
2022-04-04 14:01:20 +05:30
Ankush Menat
a896895a9e fix: bulk fix (~330) missing translations 2022-04-04 13:59:51 +05:30
Sagar Sharma
d074c93ac7 refactor!: change "is_subcontracted" field type from "Select" to "Check" 2022-04-01 13:22:44 +05:30
marination
2fece523f6 chore: Added BOM std filters and update type in List View 2022-03-31 12:55:48 +05:30
Marica
f482b184a0
Merge branch 'develop' into bom-update-tool 2022-03-31 12:42:56 +05:30
marination
a945484af4 test: Added test for 2 more validations
- Covers full validate function
2022-03-30 18:20:54 +05:30
marination
620575a901 fix: Type Annotations, Redundancy, etc.
- Renamed public function`update_new_bom` to `update_new_bom_in_bom_items`
- Replaced `get_cached_doc` with `get_doc`
- Removed click progress bar (drive through update log)
- Removed `bom_obj.update_new_bom()`, was redundant. Did same job as `update_new_bom_in_bom_items`
- Removed `update_new_bom()` in `bom.py`, unused.
- Prettier query formatting
- `update_type` annotated as non optional Literal
- Removed redundant use of JobTimeoutException
- Corrected type annotations in `create_bom_update_log()`
2022-03-30 18:03:52 +05:30
mergify[bot]
89a9afab94
fix: cast array slice index integer while splitting serial_nos array (#30468) (#30496)
(cherry picked from commit 3f3717952c94af428c3d4c919aceb6b8cbae7679)

Co-authored-by: Anoop <anoop@earthianslive.com>
2022-03-30 17:00:28 +05:30
marination
ebf00946c9 fix: Semgrep
- Explain explicit commits and skip semgrep
- Format client side translated string correctly
2022-03-30 13:22:29 +05:30
marination
79495679e2 fix: Auto format bom_update_log.py 2022-03-30 13:08:58 +05:30
marination
1d1e925bcf test: API hit via BOM Update Tool
- test creation of log and it's impact
2022-03-30 13:01:01 +05:30
marination
b5ad626d23 fix: Linter 2022-03-30 10:22:05 +05:30
marination
fa3b953cf7 test: idx mapping correctness 2022-03-29 13:54:14 +05:30
marination
639d380c1f chore: Remove redundant idx query and value setting
- idx can be removed from `select_columns` as it is already in the main query
- setting idx to '' is not required as it is not used further
2022-03-28 21:00:00 +05:30
Ankush Menat
63d892454b Merge branch 'develop' into bom-update-tool 2022-03-28 20:28:21 +05:30
Ankush Menat
494bd9ef78 style: format code with black 2022-03-28 18:52:46 +05:30
Ankush Menat
8dff4d66a4
fix: bom valuation - handle lack of LPP (#30454) 2022-03-28 18:18:23 +05:30
Ankush Menat
0534cf6c9c
fix: show subassembly table always (#30422)
[skip ci]
2022-03-25 19:03:33 +05:30
Ankush Menat
d4ee31dc8f fix: consider all existing PO items
When this is sent from API/client side doesn't send temporary_name it
can be flaky. Hence, use all available names for validation.
2022-03-24 17:58:22 +05:30
Ankush Menat
5b1d6055e6 fix: subassembly items linked to temporary name
Production Plan tables for po_items and sub_assembly_items are prepared
client side so both dont exist at time of first save or modifying and
hence any "links" created are invalid. This change retains temporary
name so it can be relinked server side after naming is performed.

Co-Authored-By: Marica <maricadsouza221197@gmail.com>
2022-03-24 15:00:05 +05:30
Ankush Menat
3d43c437ad fix: only validate qty for main non-subassy items 2022-03-24 15:00:05 +05:30
Ankush Menat
6418dc1606 fix: make auto created job cards "Open" 2022-03-23 15:50:46 +05:30
Ankush Menat
e1f5620654 fix: material transfer status should be before WIP 2022-03-23 15:50:46 +05:30
Raffael Meyer
0a015b7f70
refactor: remove redundant if-statement (#30311) 2022-03-20 19:29:41 +05:30
marination
f3715ab382 fix: Test, Sider and Added button to access log from Tool 2022-03-17 17:43:12 +05:30
marination
3e3af95712 fix: Sider and Linter 2022-03-17 15:03:20 +05:30
marination
8aff75f8e8 feat: List View indicators for Log and Error Log link in log 2022-03-17 12:58:09 +05:30
marination
cff91558d4 chore: Polish error handling and code sepration
- Added Typing
- Moved all job business logic to bom update log
- Added `run_bom_job` that handles errors and runs either of two methods
- UX: Replace button disabled until both inputs are filled
- Show log creation message on UI for correctness
- APIs return log document as result
- Converted raw sql to QB
2022-03-17 12:32:37 +05:30
marination
4283a13e5a feat: BOM Update Log
- Created BOM Update Log that will handle queued job status and failures
- Moved validation and BG job to thus new doctype
- BOM Update Tool only works as an endpoint
2022-03-16 19:47:25 +05:30
mergify[bot]
e8310c6dec
fix: Job Card sub operations status and list view (backport #30243) (#30256)
* fix: show status in job card list view in Draft mode

(cherry picked from commit fa32fc3c832196004154055ac1b2334d6202c261)

* fix: job card - sub operations table status misbehaviour on pause / resume Job Card

(cherry picked from commit 7b8723445ee695e88590bb833f60a0c4731106fa)

Co-authored-by: Anoop Kurungadam <anoop@earthianslive.com>
2022-03-15 15:48:15 +05:30
Ankush Menat
8e559f01c8 test: refactor BOM quality template test 2022-03-14 18:28:08 +05:30
Florian HENRY
9415229e8d fix: BOM - clear Quality Inspection Template according to Inspection Quality Required
Squashed commit of the following:

commit b73fa210b234d2c8067db2c32f94f362b89afe5a
Author: Florian HENRY <florian.henry@open-concept.pro>
Date:   Mon Mar 14 08:30:24 2022 +0100

    add json tes

commit 984d015a7d9aceb6ea64be7ed9f1cc0caa356714
Author: Florian HENRY <florian.henry@open-concept.pro>
Date:   Mon Mar 14 08:30:06 2022 +0100

    better test

commit 42061146658598da02eda7cb781bd2cf44c8ca34
Author: Florian HENRY <florian.henry@open-concept.pro>
Date:   Fri Mar 11 16:12:57 2022 +0100

    update test

commit 6259c0957566600b044fcd4a5e14e69cdff71020
Author: Florian HENRY <florian.henry@open-concept.pro>
Date:   Fri Mar 11 13:59:13 2022 +0100

    update test

commit cbc4ad9566f6f7f01dd622651458fea309d80954
Merge: faa44b3fdd 94d0f8d4e7
Author: Florian HENRY <florian.henry@open-concept.pro>
Date:   Fri Mar 11 12:46:48 2022 +0100

    Merge branch 'develop' of https://github.com/frappe/erpnext into dev_fix_30190

commit faa44b3fdd983adfc04bbf04a7ebfef114501bb3
Author: Florian HENRY <florian.henry@open-concept.pro>
Date:   Fri Mar 11 12:03:35 2022 +0100

    fix: clear Quality Inspection Template according to Inspection Quality Required
2022-03-14 18:25:00 +05:30
Sagar Sharma
884cd814bc test: add test for planned_qty
(cherry picked from commit b22bdc5ff762d41242c742bb3f6fda64eb98fd2e)
2022-03-14 11:31:52 +00:00
Sagar Sharma
3b86d6c73c fix: max_qty validation condition
(cherry picked from commit d198c488a4071d13d0891d87f790562febd44b3e)
2022-03-14 11:31:52 +00:00
Ankush Menat
6ee904d641 test: dont resubmit work order 2022-03-14 15:13:37 +05:30
Ankush Menat
1af13ca4bf fix(ux): remove get item buttons from submitted production plan 2022-03-14 14:15:43 +05:30
Ankush Menat
941ea1ec74 fix(ux): skip items without batch series 2022-03-14 10:25:18 +05:30
Ankush Menat
94d0f8d4e7 test: actual bom naming test 2022-03-11 17:11:22 +05:30
Rohan Bansal
67d8a7ba86 fix: cancelled document check 2022-03-11 17:11:22 +05:30
Ankush Menat
6b58d53403 refactor: split versioning code for testability 2022-03-11 17:11:22 +05:30
Rohan Bansal
7f2670941c fix: improve bom autoname logic 2022-03-11 17:11:22 +05:30
Ankush Menat
e2c99e02a9 test: bom for item_code that is >VARCHAR_LEN 2022-03-11 17:11:22 +05:30
Rohan Bansal
d9c91748f4 fix: if an item code is too long, truncate before setting BOM name 2022-03-11 17:11:22 +05:30
Ankush Menat
362102e802 fix: dont hardcode hour rate precision 2022-03-10 17:23:50 +05:30
Ankush Menat
18e2a33a9b fix: fetch new fields in bom from routing 2022-03-10 17:23:50 +05:30
marination
f57725f8fa refactor: Add exception handling in background job within BOM Update Tool 2022-03-09 19:03:07 +05:30
Ankush Menat
9ef35ef773 fix: dont hardcode precision in routing
Co-Authored-By: Suraj Shetty <surajshetty3416@gmail.com>
2022-03-02 18:27:22 +05:30
Ankush Menat
f8ac4c082a fix: remove dead dashboard links 2022-03-02 18:27:22 +05:30
marination
1d1d586d4d test: Included sub assembly non-merging in test case 2022-03-01 15:42:34 +05:30
marination
ffbb2c8311 fix: Assert False for test that is anticipating an empty table and remove second arg to assertTrue 2022-03-01 12:57:09 +05:30
marination
25fa6344a6 test: Adjust test as per teardown
- make tests use multi level bom in WO, as BOM at setup is used
- earlier, an intermediate BOM made in a test would override the BOM at setup
2022-03-01 12:24:45 +05:30
Marica
5fe8c48ba8
Merge branch 'develop' into prod-plan-sub-items-aggregate 2022-02-28 17:38:14 +05:30
Ankush Menat
b0d1e6db54 test(refactor): use FrappeTestCase 2022-02-28 17:23:32 +05:30
marination
292fe370db test: combine sub assembly items and make Production Plan tests atomic 2022-02-28 16:35:20 +05:30
Marica
b8593188f3
Merge branch 'develop' into prod-plan-sub-items-aggregate 2022-02-28 15:08:21 +05:30
Ankush Menat
1d1203d5ec fix: dont fetch draft/cancelled BOMs 2022-02-28 13:14:16 +05:30
mergify[bot]
96e87fe3c9
fix: validate Work Order qty against Production Plan (#29721) (#30003)
* fix: validate Work Order qty against Production Plan

* chore: err msg when max_qty is 0

* test: add test for overproduction

* fix: CI

(cherry picked from commit 067ede76ea0851a29e270e150f482368e0afa194)

Co-authored-by: Sagar Sharma <sagarsharma.s312@gmail.com>
2022-02-26 12:54:13 +05:30
marination
6d72aa377f feat: Combine Sub-assembly items in Production Plan
- Combine subassembly rows if same Item, Warehouse, Inhouse/Outhouse Manu.g, BOM No.
2022-02-24 15:20:18 +05:30
Ankush Menat
5d403449bd
test: move report tests to subttest (#29945)
Basically failfast=False but for sub-tests
2022-02-22 19:24:49 +05:30
Sagar Sharma
e4c4dc402e
fix: JobCard TimeLog to_date (#29872) 2022-02-21 19:49:19 +05:30
Ankush Menat
db93f26f20 fix: production plan status should consider qty + WO status 2022-02-17 14:48:32 +05:30
rohitwaghchaure
0da39950d8
Merge pull request #29836 from rohitwaghchaure/minor-item-name-in-excel-sheet
feat (minor): added item name in the excel sheet
2022-02-17 14:37:51 +05:30
Rohit Waghchaure
02e77029fa fix: added item name in the excel sheet 2022-02-16 18:15:57 +05:30
Marica
599f4b1412
Merge pull request #29705 from marination/pending-qty-in-prod-plan
fix: Set Pending Qty in Prod Plan after updating Work Order
2022-02-14 23:01:51 +05:30
marination
e46a1bc80f fix: Server Tests and sider 2022-02-14 21:00:51 +05:30
rohitwaghchaure
ce79434a9b
Merge pull request #29736 from rohitwaghchaure/performance-issue-while-making-wo
fix: time out error while making work orders from production plan
2022-02-11 16:12:21 +05:30
marination
86ca41b14a test: Production Plan Pending Qty impact tests
- Two tests to check impact on pending qty: From SO and independent Prod Plan
- Added docstring to each test case for brief summary
- Changed helper function args to fallback to 0 instead of 1 if no arg is passed
- Removed unnecessary `get_doc()`
- Made helper function actions optional depending on args passed
2022-02-10 20:14:28 +05:30
Rohit Waghchaure
eec2f87088 fix: time out error while making work orders from prodcution plan 2022-02-10 12:30:41 +05:30
Ankush Menat
2abc1c244e
Merge pull request #29715 from aaronmenezes/fix_reserved_for_production_calc
fix: Reserved for Production calculation considered closed work orders
2022-02-09 15:59:52 +05:30
Ankush Menat
a8bf3a3f0d refactor: move reserve quantity computation to work order 2022-02-09 11:26:03 +05:30
Ankush Menat
d2cc5f2482 test: remove dependency on other tests 2022-02-09 11:19:01 +05:30
aaronmenezes
6a8b7eeffe fix: Reserved for Production calculation considered closed work orders 2022-02-08 19:25:49 +05:30
marination
eaccef6116 fix: Initialise pending qty as planned qty for independent item rows in Prod Plan
- Rows that are not fetched from MR or SO, had pending qty 0 throughout
- Initialise pending qty on save only.
- After submit this field will be updated by work order/stock entry
- Bring functions in `validate()` closer to the top
2022-02-08 17:55:38 +05:30
Ankush Menat
bb105a33b2 test: validate on save instead of on creation
(cherry picked from commit 0efd5577bd9bdc0bb900d4d23d85aa86fd09929a)
2022-02-08 14:01:41 +05:30
marination
7116d7ae0e fix: Set Pending Qty in Prod Plan after updating Work Order 2022-02-08 12:40:33 +05:30
Ritwik Puri
72a812f18b
fix: use item_code instead of parent field in bom_stock_calculated report (#29684) 2022-02-07 19:43:29 +05:30
Ankush Menat
6459ceaea1 fix: dont show cancelled PO items in plan report 2022-02-06 19:05:12 +05:30
Ankush Menat
9b60e3f187
fix: default qty if not found 2022-02-03 15:26:57 +05:30
Sagar Sharma
be09551cfa test: add test case for multiple WO
(cherry picked from commit 36609c50c0332498ee088e6f44759f7c2747c733)
2022-02-03 09:50:08 +00:00
Sagar Sharma
360a06b9ba fix: ordered_qty for production-plan-item
(cherry picked from commit 4e58c1da3ac1649d64377d53aec68e489a4a9d41)
2022-02-03 09:50:07 +00:00
Ankush Menat
a3a05c0c23
fix: don't show "create" on cancelled BOMs (#29570) 2022-02-01 17:40:06 +05:30
Ankush Menat
d38fd8635c fix(ux): sort multi-production item plans correctly 2022-01-30 22:58:30 +05:30
Ankush Menat
157b4b33fe refactor!: dynamically compute bom_level 2022-01-30 22:06:24 +05:30
aaronmenezes
0f7c2a19de
fix: cost of poor quality report time filters not working (#28958)
* fix: cost of poor quality report time filters not working

* chore:update cost of poor quality report to use query builder

* fix: linter warnings

* chore: updated report query

* chore: added test filters

* fix : cleared linter warnings

* chore: formatting

* refactor: query generation

- optionally apply date filters
- join instead of expensive sub-query
- return as dictionary

* test: simplify test

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-01-30 20:22:39 +05:30
Ankush Menat
43bd88e741 fix: work order serial no allows storing whitespace 2022-01-29 14:01:21 +05:30
Ankush Menat
28994c0e76 test: delete data after running test 2022-01-28 13:50:57 +05:30
Ankush Menat
86efa0dbfd fix: ensure correct-ish transfer against 2022-01-28 13:22:47 +05:30
rohitwaghchaure
b75b00fefc
feat: provision to exclude exploded items in the BOM (#29450) 2022-01-27 12:44:01 +05:30
Ankush Menat
b8fbfed096
fix: fetch "transfer material against" from BOM (#29435) 2022-01-24 21:45:51 +05:30
rohitwaghchaure
19b1b7f8cc
Merge pull request #29419 from rohitwaghchaure/fix-incorrect-rm-qty-in-stock-entry
fix: incorrect raw materials quantity in manufacture stock entry
2022-01-24 12:13:54 +05:30
Rohit Waghchaure
f8d232ac26 fix: incorrect raw materials quantity in manufacture stock entry 2022-01-24 11:35:06 +05:30
Marica
180f06dae2
Merge pull request #29375 from marination/bom-ops-report
fix: (enhance) BOM Operations Report
2022-01-20 14:54:31 +05:30
Ankush Menat
7e407bcc42
fix: show stock UOM for material transfers (#29376) 2022-01-20 14:49:39 +05:30
marination
af734298c8 fix: Allow only BOM with ops in BOM ID filter & add total row to report 2022-01-20 14:29:18 +05:30
marination
3c7b772112 fix: Sider (unused imports) and Linter(add extra empty line) 2022-01-20 14:19:08 +05:30
marination
a9ff1fc52e fix: (enhance) BOM Operations Report
- Added filters in the Report for BOM ID, Item Code and Workstation
- Converted Raw SQL to frappe.qb and added method to get filtered data
- Changed fieldtype of 'Time in mins' from Int to Float
- Get BOM wise grouped data to  keep order and accurate grouping in report
2022-01-20 13:36:46 +05:30
Ankush Menat
48f3d53556
fix: cover case when all material needs to be bought (#29326)
When material request is to be made for purchase qty should be converted
to purchase UOM
2022-01-17 22:14:42 +05:30
Maxwell Morais
9cd26fbb6a
fix: purchase to Stock UOM conversion on Production Plan #28570
fix: purchase to Stock UOM conversion on Production Plan
2022-01-17 21:50:18 +05:30
Ankush Menat
3db8d908dc
Merge pull request #29278 from shariquerik/update-workspace-json
fix: Updating public workspace json based on new design
2022-01-17 13:25:16 +05:30
Anupam Kumar
4d48035828
fix: show work order progress bar even it is closed (#29312) 2022-01-17 11:49:57 +05:30
Shariq Ansari
bc187c121a fix: updated standard workspace json files 2022-01-13 19:24:11 +05:30
rohitwaghchaure
71466c6456
Merge pull request #29179 from rohitwaghchaure/fixed-incorrect-scrap-qty-in-manufacture
fix: incorrect scrap item qty
2022-01-12 13:13:30 +05:30
Rohit Waghchaure
8f0b2fa90e fix: incorrect scrap item qty 2022-01-12 11:30:20 +05:30
Ankush Menat
754596dfc1
fix: "update cost" should ignore overridden routing times #29154
fix: "update cost" should ignore overridden routing times
2022-01-11 14:20:44 +05:30
Ankush Menat
2bb7bca464 test: bin qty on backdated SR 2021-12-20 20:05:49 +05:30
Ankush Menat
f5d5281119 chore: drop deprecated qunit tests 2021-12-20 17:03:10 +05:30
DeeMysterio
2be62c279f
feat: provision to have limited parameters for in-process quality ins… (#28549)
* feat: provision to have limited parameters for in-process quality inspection

* chore: formatting
2021-12-15 19:41:30 +05:30
HENRY Florian
29f6852c13
feat: Manufacturing : in BOM Operation time can be fix (#27063)
* feat: Operation time can be fixed

* better coding without duplicate code

* change modified date foir doctype

* undo change

* fix varmixing

* fix varmixing

* fix: remove f-string that's not required anymore

* refactor: use ORM instead of raw query

* fix: improve description

* test: basic test for fixed time

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-12-15 15:08:31 +05:30
Ankush Menat
96ef88d935
test: remove commits from tests (#27939)
* test: remove commits from tests in selling module

* test: remove commits from manufacturing module

* test: remove commits from accounts module tests

* test: remove commits from controller tests

* test: keep commits in accounting dimension test

* Revert "test: remove commits from controller tests"

This reverts commit f5cfbee5da844f8b2bffeee907ac602754f16ff4.

* Revert "test: remove commits from accounts module tests"

This reverts commit df4c27efddf355e2731a18e8871e54d18590f219.
2021-12-14 17:36:35 +05:30
Ankush Menat
80f1a8c645
fix: incorrect logic for "Reserved Qty for Production" (#28880)
* fix: reservation for production incorrect

The query uses case to decide what fields to compute reservation on,
this case is outermost case hence the very first Work order's "Skip
transfer" is considered for ALL work orders.

Solution: move the case inside Sum.

Steps to reproduce:
1. Make work order for more than 1 qty (with | without skip transfer)
2. Create manufacture and transfer entries.
3. Keep checking reserved quantities during this process.

* test: use default warehouse for testing reservation
2021-12-14 17:02:42 +05:30
Noah Jacob
cc8c0595e2
fix(UX): hide RM table(Job Card) if material transfer is against work order (#28746) 2021-12-14 12:20:04 +05:30
Rucha Mahabal
bb97309e2e fix: tests
- specify sorting order in employee exits query

- rollback after work order tests
2021-12-12 23:20:04 +05:30
Noah Jacob
f1c0190f02
feat: added QI link in Job Card Dashboard (#28643) 2021-12-09 20:21:17 +05:30
Ankush Menat
445966ab80
test: timeout certain tests in work order to avoid stuck tests (#28666)
[skip ci]
2021-12-01 16:34:05 +05:30
rohitwaghchaure
f872878638
Merge pull request #28500 from rohitwaghchaure/feat-report-to-view-consumed-materials
feat: report to see the consumed materials against the work order
2021-11-29 17:53:44 +05:30
rohitwaghchaure
3d2efb76d3
fix: linters issue 2021-11-29 17:52:55 +05:30
Rohit Waghchaure
7fac9b8e9c fix: changed fieldtype from int to float for the field Batch Size in the work order 2021-11-29 16:40:55 +05:30
rohitwaghchaure
570ae422a8
Update work_order_consumed_materials.py 2021-11-29 16:25:30 +05:30
Ankush Menat
f862339024 fix: use get_all instead of get_list for child tables 2021-11-29 13:04:29 +05:30
Noah Jacob
73bfd59846
fix: checkbox triggers get_items and sub_assembly buttons (#28558) 2021-11-26 11:53:35 +05:30
Marica
ffdf32b5b3
Merge branch 'develop' into cost-of-poor-quality 2021-11-25 13:29:40 +05:30
marination
42395af22a fix: Remove commented code 2021-11-25 13:28:52 +05:30
Mohammed Yusuf Shaikh
8d2abc4b86
fix: fixes in work order doctype (#28217)
* fix: fixes in work order doctype

* fix: sider issues and disabled set only once property

* fix: set default qty to manufacture

* fix: dont manually collapse sections

* fix: remove unnecessary messages

* fix: make dependent fields read only

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-11-24 16:23:12 +05:30
mergify[bot]
34d1fec7de
fix: broken bom tree view and remove duplicate button (#28512) (#28527)
* fix: broken bom tree view and remove duplicate button

(cherry picked from commit 7ae1369d64ecaa829965d89915475fbd3211b5c2)

Co-authored-by: Bhavesh Maheshwari <34086262+bhavesh95863@users.noreply.github.com>
Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-11-23 17:53:26 +05:30
Rohit Waghchaure
db9bd5b912 feat: report to see the consumed materials against the work order 2021-11-22 18:01:20 +05:30
Sagar Sharma
aa689874e3
fix: Closed status error in Work Order Summary (#28460)
* fix: Closed status error in Work Order Summary

* chore: use get_meta to get status options

* refactor: simplify code

Co-authored-by: Ankush Menat <ankush@frappe.io>
2021-11-22 13:06:59 +05:30
Anupam Kumar
44303f93cc
Merge branch 'develop' into manufacturing-work-order-closed 2021-11-22 10:36:02 +05:30
Sagar Sharma
488d34af1f
fix: unchecking the "With Operations" in BOM clears operations table #28446 2021-11-18 13:57:13 +05:30
Ankush Menat
8102e4a210
chore: remove manual collapsing of section (#28435) 2021-11-17 17:05:07 +05:30
Anupam Kumar
37aa2cb271
Merge branch 'develop' into manufacturing-work-order-closed 2021-11-16 19:35:20 +05:30
marination
c192c135d4 Merge branch 'develop' of https://github.com/frappe/erpnext into cost-of-poor-quality 2021-11-16 19:15:47 +05:30
Marica
612bb5c749
Merge branch 'develop' into se-required-items-from-jc 2021-11-16 18:03:40 +05:30
marination
a5f8274d79 fix: test_job_card_partial_material_transfer test
- Use a specific BOM for JC tests
- Utility to create said BOM
- Sider: unused variable
2021-11-16 15:13:19 +05:30
Ahmed Shareef
952fc87c99
refactor: fix help section background in dark mode (#28406) 2021-11-16 14:30:13 +05:30
marination
bb561ba7a8 fix: Server side test
- make `tests_that_skip_setup` a tuple (added comma)
- remove manual teardown in `test_job_card_material_transfer_correctness` to avoid premature committing
- transfer_material_against = "Job Card" while making BOM with mulitple operations
2021-11-15 15:21:20 +05:30
Sagar Sharma
a424310581
fix: Collapse Scrap Items in Job Card (#28362) 2021-11-12 13:50:30 +05:30
Marica
18f9e3558e
Merge branch 'develop' into se-required-items-from-jc 2021-11-11 11:14:37 +05:30
Anupam
1a7851b1ad fix: error message 2021-11-10 14:55:13 +05:30
Anupam
68dc42fb1f fix: function name [is_work_order_stopped -> is_work_order_closed] 2021-11-10 10:12:29 +05:30
marination
1eb3ca2b86 fix: (travis) Production Plan Summary Report breaks if no WO
- `get_cached_value` throws a DoesNotExistError if non-existent value, used `get_value` instead
- accomodate production plan items that dont have WO/PO against them as well (blank values)
- added some None value handling to avoid AttributeError
2021-11-09 23:07:28 +05:30
Ankush Menat
37799fe3dd fix: use completion qty instead of transfer quantity for JC status 2021-11-09 18:04:50 +05:30
Marica
031178224f
Merge branch 'develop' into se-required-items-from-jc 2021-11-09 17:33:20 +05:30
marination
e8d0c25dff fix: Partial Trabsfers against JC
- Fixed transferred qty not back updating on JC if partial transfer
- Partial transfer not mapping pending qty from JC correctly in SE
- tests for above cases
- minor code cleanup
2021-11-09 17:29:29 +05:30
Anupam Kumar
092936d8ba
Merge branch 'develop' into manufacturing-work-order-stop 2021-11-09 10:51:09 +05:30
Anupam
27709a1c71 fix: test cases 2021-11-09 09:56:58 +05:30
Ankush Menat
8fe5feb6a4 chore: remove all six compat code 2021-11-05 11:16:29 +05:30
Ankush Menat
6098e92ba9 chore: remove utf-8 compat code 2021-11-05 11:16:29 +05:30
marination
0aa237f38c test: Stock Entry from JC correctness (items mapping and qty) 2021-11-04 20:14:28 +05:30
Anupam
7044ae5e39 fix: testcases: 2021-11-03 17:41:04 +05:30
Noah Jacob
cb064b06ad
fix: added job_card_item link in material request (#28222)
* fix: added job_card_item links in material request

* fix: add no copy to row references
2021-11-03 11:53:57 +00:00
Anupam
cc15cf6ae2 fix: linter isuue 2021-11-03 13:54:46 +05:30
Anupam Kumar
8ebc412e8b
Merge branch 'develop' into manufacturing-work-order-stop 2021-11-03 13:41:37 +05:30
Anupam
ba47bd02b6 fix: sider isuue 2021-11-03 13:41:22 +05:30
Anupam
9b4c7e4796 fix: validate job card 2021-11-03 13:27:50 +05:30
Anupam
9c0906f1b5 fix: test cases 2021-11-02 20:43:00 +05:30
Anupam
e36da4d137 fix: linter issues 2021-11-02 12:53:00 +05:30
Anupam
59e4fd980c fix: linter issues 2021-11-02 12:46:00 +05:30
Anupam
530a0f481e fix: added testcase 2021-11-02 12:39:13 +05:30
Anupam
264b0df9ff fix: sider issue 2021-10-31 16:11:11 +05:30
Anupam
55e97dce8a fix: sider issue 2021-10-31 14:45:36 +05:30
Anupam
e290fe0721 fix: sider issue 2021-10-31 14:42:10 +05:30
Anupam
5d4c5652af feat: added confirm dialog on closing of workorder 2021-10-31 14:20:03 +05:30
Anupam
23af036894 feat: provision to close the Work Order 2021-10-29 17:27:17 +05:30
Marica
292419bc9e
fix: Skip empty rows while updating unsaved BOM cost (#28136)
- Dont try to get valuation rate if row has no item code
- Dont try to add exploded items if row has no item code
2021-10-29 13:49:27 +05:30
marination
8502ccb5b2 chore: Add comment hinting to reason 2021-10-28 16:53:45 +05:30
marination
27236b7e9e fix: Remove RM Cost column as cost is not retrievable from Job card 2021-10-28 16:45:23 +05:30
Ankush Menat
d81b87d9b3 fix(ux): make qty 1 by default in WO 2021-10-27 19:46:06 +05:30
Ankush Menat
5f9bd9b8e9 fix: remove bad hardcoded max value 2021-10-27 19:46:06 +05:30
Ankush Menat
e0cf45e7ec
fix(ux): misleading label for image fields (#28107) 2021-10-27 15:27:33 +05:30
Alan
05831b18ad
fix: update production plan status #27567
fix: update production plan status
2021-10-27 11:36:37 +05:30
Alan
2849297471
refactor: move process loss report to manufacturing (#28043)
* refactor: move process loss report to manufacturing

* test: fix process loss report test

Co-authored-by: Ankush Menat <ankush@iwebnotes.com>
2021-10-21 11:07:47 +05:30
Rohit Waghchaure
311bafb23b fix: incorrect fieldname 2021-10-20 20:51:57 +05:30
Ankush Menat
da3635b94f test: execute manufacturing reports 2021-10-20 20:35:11 +05:30
Ankush Menat
126ba16740 fix: remove debug from query 2021-10-20 20:35:11 +05:30
Ankush Menat
8221e7e01f fix: remove employee_name from job card summary
This field doesn't exist and it's moved on individual line level logs.
2021-10-20 20:35:11 +05:30
Shariq Ansari
790c1cda6f
fix: Removing unused fields from workspace JSON files #27612
fix: Removing unused fields from workspace JSON files
2021-10-13 16:18:20 +05:30
Ankush Menat
0a3dd3e954
fix: bom item query #27890
fix: bom item query
2021-10-11 12:10:33 +05:30
Alan
ece446ffe5
fix: update variant qty in BOM, Create Work Order dialog (#27686) 2021-10-01 20:32:13 +05:30
Noah Jacob
5c249decbb
fix(ux): added exception of template item in filters (#27560) 2021-09-27 22:34:27 +05:30
Frappe PR Bot
2af6ea68ae
fix: remove unknown field employee_name from query (bp #27634)
* fix: remove unknown field employee_name from query

* fix: remove unknown fieldname

Co-authored-by: root <root@vultr.guest>
Co-authored-by: Ankush Menat <ankushmenat@gmail.com>
(cherry picked from commit 9ebabb86b3d28e2c94eb2761f1864c88b6eb1e59)

Co-authored-by: Bhavesh Maheshwari <34086262+bhavesh95863@users.noreply.github.com>
2021-09-21 20:33:09 +05:30
Marica
9110223341
fix: (ux) Use subassembly schedule date while making WO from Prod Plan (#27628)
- Set subassemply WO's planned start date from Production Plan
2021-09-21 16:50:14 +05:30
Ankush Menat
78fe92542c
fix(ProdPlan): Get SubAssy Items does not work (#27537)
* fix(ProdPlan): Get SubAssy Items does not work

This button wasn't working unless the document was saved already.

* fix: make form dirty when subassy item are fetched
2021-09-16 15:34:50 +05:30
rohitwaghchaure
c5a77f60ed
feat: provision to add scrap item in job card (#27483) 2021-09-15 16:45:57 +05:30
rohitwaghchaure
2e2985e4f1
fix: calculate operating cost based on BOM Quantity (#27464)
* fix: calculate operating cost based on BOM Quantity

* fix: added test cases
2021-09-15 00:37:41 +05:30
Ankush Menat
fea51f4082
chore: isort
[skip ci]
2021-09-14 19:04:47 +05:30
marination
469bb8d977 test: Work Order Material Transfer against Job Card
- Tests for multiple items transfer and excess transfer against JC
- Remove unused __future__ imports
- Changed Copyright year
- Sider: (js) Added space before if
2021-09-14 16:27:39 +05:30
marination
9520215e2b feat: Handle Excess/Multiple Item Transfer against Job Card
- Hide MR/Material Transfer buttons in JC if cancelled
- Show MR/Material transfer buttons if pending to transfer or excess transfer allowed
- Renamed ‘Transferred Qty’ to ‘FG Qty from Transferred Raw Materials’ in JC
- Set status to Completed in JC in case of excess transfer too
- During excess transfer against JC, avoid negative ‘For Quantity’. Set to 0 instead
- Job card section and excess transfer allowance checkbox in Manufacturing Settings
- Renamed ’Allow Multiple Material Consumption’ to ‘Allow Continuous Material Consumption’ (fiedname is same)
- Secured denominator variables in `get_transfered_raw_materials` to avoid ZeroDivisionError
2021-09-14 12:33:21 +05:30
Ankush Menat
678335f8ac
fix: job card overlap unknown column jc.employee (#27403)
* fix: incorrect query for job card overlap

* test: employee overlap in job cards

* test: simplify/refactor job card tests
2021-09-09 12:24:23 +05:30
rohitwaghchaure
295020451f
fix: added delivery date filters to get sales orders in production plan (#27367) 2021-09-08 19:28:30 +05:30
Alan
81d3524d27
fix: auto complete sales order rows in production plan (#27352)
* fix: auto complete sales order rows in production plan

* fix: sider
2021-09-08 16:48:42 +05:30
Chillar Anand
915b34391c
chore: Clean up imports (#27302)
* chore: Added isort to pre-commit config

* chore: Sort imports with isort

* chore: Clean up imports with pycln

* chore: Sort imports with isort

* chore: Fix import issues

* chore: Clean up sider issues

* chore: Remove import errors from flake8 ignore list

* chore: Clean up lint issues
2021-09-02 16:44:59 +05:30
Ankush Menat
81eb6fde07
Merge pull request #27288 from ankush/strict_linting
chore: cleanup linting errors and introduce strict linting checks
2021-09-01 19:32:49 +05:30
rohitwaghchaure
2a8cd05b44
fix: production plan UX and validation message (#27278) 2021-09-01 19:16:03 +05:30
Ankush Menat
b147b85e6a
chore: whitespace / eof fixes 2021-09-01 16:57:21 +05:30
Ankush Menat
010060d92e
chore: correct indentation 2021-09-01 15:02:29 +05:30
rohitwaghchaure
e6799d78ef
fix: operation time auto set to zero (#27188) 2021-08-27 10:46:45 +05:30
Frappe PR Bot
a1737c9a0c
fix: Production Plan: load document defaults for plan items & remove name column from listview (#26584) (#27184)
(cherry picked from commit 69d88a921273c9e0ea29d7131232686a0be7bb78)

Co-authored-by: Richard Case <64409021+casesolved-co-uk@users.noreply.github.com>
2021-08-26 23:04:54 +05:30