This commit is contained in:
2021-06-02 21:56:57 +00:00
parent 9c05174203
commit b334fa9685
2 changed files with 96 additions and 112 deletions

View File

@@ -358,30 +358,58 @@ todo: many biz objects are not using new PUT methodology
CURRENTLY DOING: workorder round two electric boogaloo
basics first then increasingly esoteric features
basics first then increasingly esoteric features
Biggies
todo 3: actual inventory (see below)
1961 / 3752- auto remove from inventory immediately when wo saved and re-instate if changed
see PO back end for example of exactly this
todo: No inventory setting *IMPORTANT* must test with inventory turned off for this and for PO system as well or whatever is necessary
make it work like v7
todo 3: service bank (see below)
todo 3: notification (see below)
todo 3: signature: report helper display signature and form ui control to capture /display signature
for both tech and customer
case 3682 implies code to steal to make signatures better so look into that
case 2052 is this one
case 3673 also directly related
3720 3: BUMPABLE CASE I THINK prevent double booking a tech (some kind of warning)
availability feature??? maybe bump as a new availablity feature where user picks from a popup schedule for that tech?
if not maybe a alert from the workorder itself when they save saying double booked??
Searching time series and userid is a bit slow maybe or needs custom query not ef able??
3873 3: subtree woitem lists implement
must be some planning on this, forget what I decided exactly
Do these things, check each one against the list of cases here too as there is some overlap of items
todo 2-3: test and confirm can duplicate workorder and it works properly
inventory affecting items are handled how? Because duplicate happens AT the server so it can't just do the same exact items and serials and quantities etc
Or maybe it just doesn't replicate serials and acts like it was entered as is and they can reverse what they don't need (or quantities default to zero to start??)
todo: LoanUnit edit form add "*Cost" fields to UI
todo: part request
link to open po, delete button in grid? both?
needs custom button template for po column
delete / undelete
po opener
todo 2-3: cases 3501 / 3867 both - bulk add units by tag
Do this as a separate popup dialog accessible from woitemunits list menu
It will do a search by tag for units and create a woitemunit record for each one found
ideally in some kind of order so it's easy to find them and remove any they don't want
also it should have a sane limit of some kind so 10,000 units aren't added accidentally to a workorder
Do at client so user can just not save if they fuck it up
todo: actual inventory (see below)
todo: service bank (see below)
todo: notification (see below)
TODO: V7 features on wo I haven't coded yet
TODO 2 (all 2's): V7 features on wo I haven't coded yet
WOItem selected
3374 - be able to move woitem to any customer's open workorders not just the same customer.
not sure of the use of this, it's couched like a template issue which is what template is for, but since we no longer force
a fixed customer per workorder there's no reason I can see not to do this when implementing the Move woItem feature
Move woitem to new wo
Copy woitem to new wo
Insert current date and time (not sure if this is worth it / doable)
Sched user selected
Convert sched user to labor
Tasks
3445 - copy selected tasks to a labor record
it says selected but I wonder about just doing all and they can simply edit out the ones they don't want?
(otherwise need checkboxes and whole selection thing but I guess if it's doable...)
Unit
warranty display static info
Unit's warranty expired Wednesday, July 1, 2009
@@ -394,97 +422,68 @@ TODO: V7 features on wo I haven't coded yet
Generate unit from selected part (already a v7 feature, didn't even realize)
UPC select by UPC (just confirm this)
todo 2: workorder main data lists, flesh out, finish links from related objects
todo: workorder main data lists, flesh out, finish links from related objects
todo: "DispatchFull" and "DispatchLimited" roles MUST be renamed to "ServiceFull" and "ServiceLimited" to match other roles and intent
todo 1: "DispatchFull" and "DispatchLimited" roles MUST be renamed to "ServiceFull" and "ServiceLimited" to match other roles and intent
dispatch is a subset of a service manager job
Rename at both ends and all translations and docs as well.
todo 2: New wo link from related objects like Customer, Unit etc replicates v7 feature from grid
todo: test and confirm can duplicate workorder and it works properly
todo 1: reporting - need to add pre-caching code (for the few ENUM lists there are) and populate *Viz throughout graph to workorder before testing printing code.
todo: New wo link from related objects like Customer, Unit etc replicates v7 feature from grid
todo: r4eporting - need to add pre-caching code (for the few ENUM lists there are) and populate *Viz throughout graph to workorder before testing printing code.
todo: biz rules like date precedence etc
todo 2: biz rules
Go over v7 rules for each level and object and mirror to v8 plus new
like date precedence etc
mirrored at server end too
todo: all backend workorder stuff
Inventory (or not if turned off)
1961 - auto remove from inventory immediately when wo saved and re-instate if changed
see PO back end for example of exactly this
Notification
todo: subcontractor not seeing prices but still able to make workorder case (not determined how this would work yet as do not want user being able to look at network traffic and see costs etc)
todo 2:
1465 - several subcontractor / tech limited restriction features in this case
subcontractor not seeing prices but still able to make workorder case (not determined how this would work yet as do not want user being able to look at network traffic and see costs etc)
HOLD off on this until hit the cases where it's mentioned so working with exact specs not speculation (HA!)
leaning toward a different model perhaps as it may only be a particular subset???
(Or, if it's just hiding cost fields then just don't populate viz them. Viz fields can be safely set to anything really)
DON"T SEND AND ALSO AT CLIENT DON"T SHOW THOSE FIELDS IF SUBCONTRACTOR
todo: signature: report helper display signature and form ui control to capture /display signature
for both tech and customer
case 3682 implies code to steal to make signatures better so look into that
case 2052 is this one
case 3673 also directly related
TODO 1: Test address / units select alternate when have units working
TODO: Test address / units select alternate when have units working
TODO: Sequence field sb hidden by default, most won't want it I'm guessing
really need to pin down some default form customization for wo
it's got an overwhelming number of fields in it,
really will need that simple or complex mode trial data seeding feature talked about
todo: IMPORT workorders FROM V7 needs to be coded once the cases are completed
note that v7 wostatus needs to be dual imported into both new wostate and new woitemstatus separately
TODO 2: //MIGRATE_OUTSTANDING comment tag
A bunch of items that are show all workorders for source object
3709 1: Project to have list all workorders button
also this is the point to make sure that is working with all the other list all workorders previously added in stubbed form like Customer, Unit etc
CASES TODO:
Some initial workorder cases to do
583 - add unit address fields to viz populate but only show them when reportdata selected as UI doesn't consume them
1362 - convert scheduled user to labor (case is to do en-masse but also I need to implement this individually as well)
1465 - several subcontractor / tech limited restriction features in this case
1467 - text1,text2 etc to show in "Warranty" area of Unit display info (however I have not coded or even thought of / decided on any v7 style warranty info section yet so double case here)
1746 - Turn a Part on a workorder into a Unit for the customer in one click (not necesarilly for that workorder, but for future [it's not clear])
1908 - set new durationtocompleted field on wo header upon setting to a closed status, also show it in the main data list
1961 / 3752 both - auto remove from inventory immediately when wo saved and re-instate if changed
see PO back end for example of exactly this
3374 - be able to move woitem to any customer's open workorders not just the same customer.
not sure of the use of this, it's couched like a template issue which is what template is for, but since we no longer force
a fixed customer per workorder there's no reason I can see not to do this when implementing the Move woItem feature
3445 - copy selected tasks to a labor record
it says selected but I wonder about just doing all and they can simply edit out the ones they don't want?
(otherwise need checkboxes and whole selection thing but I guess if it's doable...)
3500 - implemented but needs the docs and seed data to illustrate the feature
583 1: add unit address fields to viz populate but only show them when reportdata selected as UI doesn't consume them
1362 2: convert scheduled user to labor (case is to do en-masse but also I need to implement this individually as well)
1467 2: text1,text2 etc to show in "Warranty" area of Unit display info (however I have not coded or even thought of / decided on any v7 style warranty info section yet so double case here)
1746 2: Turn a Part on a workorder into a Unit for the customer in one click (not necesarilly for that workorder, but for future [it's not clear])
1908 1: set new durationtocompleted field on wo header upon setting to a closed status, also show it in the main data list
3500 1: implemented but needs the docs and seed data to illustrate the feature
make a shadow units customer in seeder sample data
make units under shadow units customer
assign some loan items to those shadow units
3501 / 3867 both - bulk add units by tag
Do this as a separate popup dialog accessible from woitemunits list menu
It will do a search by tag for units and create a woitemunit record for each one found
ideally in some kind of order so it's easy to find them and remove any they don't want
also it should have a sane limit of some kind so 10,000 units aren't added accidentally to a workorder
Do at client so user can just not save if they fuck it up
assign some loan items to those shadow units
3709 - Project to have list all workorders button
also this is the point to make sure that is working with all the other list all workorders previously added in stubbed form like Customer, Unit etc
3720 - prevent double booking a tech (some kind of warning)
availability feature??? maybe bump as a new availablity feature where user picks from a popup schedule for that tech?
if not maybe a alert from the workorder itself when they save saying double booked??
3721 - make labor rate mandatory on workorderitemlabor record and import v7 with some kind of dummy rate if not filled in there
3763 - mark all tasks as completed at once with a single click
3769 - if public FromQuoteId, FromPMId or FromCSRId are set on wo header then it should surface a button or menu option to open the related object(s)
3721 1: make labor rate mandatory on workorderitemlabor record and import v7 with some kind of dummy rate if not filled in there
3763 1: mark all tasks as completed at once with a single click
3769 2: if public FromQuoteId, FromPMId or FromCSRId are set on wo header then it should surface a button or menu option to open the related object(s)
I think a menu option would be cleanest as you wouldn't always want to see it in your face but have it available
3839 / 3845 both - pick serial numbers quickly from serialized part selection (ui affordance popup dialog likely with offer of available sn, probably already something in PO similar), see cases for more deets
3843 - prevent negative amounts on woitempart.quantity (rule I guess)
3868 - be able to select any unit on wo, needs to be implemented at the UI as it should default to only this customers units (but not reject if customer changed)
3839 / 3845 both 2: pick serial numbers quickly from serialized part selection (ui affordance popup dialog likely with offer of available sn, probably already something in PO similar), see cases for more deets
3843 1: prevent negative amounts on woitempart.quantity (rule I guess)
3868 2: be able to select any unit on wo, needs to be implemented at the UI as it should default to only this customers units (but not reject if customer changed)
and also test this out to see if it works properly
3873 - subtree woitem lists implement
AFTER ABOVE ITEMS AND HAVE SUBSTANTIALLY COMPLETED WO
todo: IMPORT workorders FROM V7 needs to be coded once the cases are completed
note that v7 wostatus needs to be dual imported into both new wostate and new woitemstatus separately
TODO: Need stress test for client that can generate workorders in parallel for load testing

View File

@@ -57,6 +57,12 @@
disabled
></v-simple-checkbox>
</template>
<template v-slot:[`item.purchaseOrderViz`]="{ item }">
<div class="subtitle-1" @click="openPO(item)">
<a href="javascript:"> {{ item.purchaseOrderViz }}</a>
</div>
</template>
</v-data-table>
</v-col>
</template>
@@ -142,39 +148,18 @@ export default {
}
},
methods: {
// warehouseChange(newName) {
// this.value.items[this.activeWoItemIndex].partRequests[
// this.activeItemIndex
// ].partWarehouseViz = newName;
// },
// partChange(newName) {
// this.value.items[this.activeWoItemIndex].partRequests[
// this.activeItemIndex
// ].partViz = newName;
// },
// newItem() {
// let newIndex = this.value.items[this.activeWoItemIndex].partRequests
// .length;
// this.value.items[this.activeWoItemIndex].partRequests.push({
// id: 0,
// concurrency: 0,
// userId: null,
// description: null,
// serials: null,
// partId: null,
// partWarehouseId: null,
// quantity: 1,
// received: null,
// purchaseOrderItemId: null,
// isDirty: true,
// workOrderItemId: this.value.items[this.activeWoItemIndex].id,
// uid: Date.now() //used for error tracking / display
// });
// this.$emit("change");
// this.selectedRow = [{ index: newIndex }];
// this.activeItemIndex = newIndex;
// },
openPO(item) {
if (
item != null &&
item.purchaseOrderIdViz != null &&
item.purchaseOrderIdViz != 0
) {
window.$gz.eventBus.$emit("openobject", {
type: window.$gz.type.PurchaseOrder,
id: item.purchaseOrderIdViz
});
}
},
unDeleteItem() {
this.value.items[this.activeWoItemIndex].partRequests[
this.activeItemIndex