This commit is contained in:
@@ -190,11 +190,19 @@ todo: Changes to allow in place updates of server:
|
||||
|
||||
CURRENTLY DOING: Contract
|
||||
|
||||
todo: both rates need contract checkbox so they only appear in conjunction with a contract also the picklists need updating for rates with variants to take contract into consideration
|
||||
add to ui
|
||||
default to false (is required)
|
||||
Picklists supply contractid with variant so that the server knows which list to produce
|
||||
|
||||
|
||||
|
||||
Contract general notes / changes
|
||||
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
||||
Overview
|
||||
V7 contracts did this:
|
||||
Limit rates that can be selected
|
||||
Limit rates that can be selected to only those selected in contract and which are set to "Contract rate" in themselves
|
||||
or just offer those contract rates in addition to regular rates
|
||||
apply a discount to all parts selected for that contract in effect
|
||||
|
||||
V8 contracts need to do this:
|
||||
@@ -207,11 +215,20 @@ Overview
|
||||
Special notes field kind of like popup notes but it doesn't popup, instead displays on workorder statically somewhere as a reminder.
|
||||
perhaps a contract in effect section with a ui affordance to open for more details or perhaps not.
|
||||
I can imagine the first time people would need to read it but after the thousandth it's just taking up space.
|
||||
|
||||
Response time duration control for notification purposes, overrides default response time globally set
|
||||
if a unit has one and customer has one the shortest one applies as this is an entire workorder issue
|
||||
User can make seperate workorders to work around this if it's an issue
|
||||
|
||||
|
||||
Contracts are never tied directly to an object they affect other than the Customer or Headoffice with a foreign key link
|
||||
workorders should never be reliant on the existance of a contract but rather just have a contract applied to them for example
|
||||
|
||||
Contracts *are* tied to objects that use them like Client, HeadOffice, Unit
|
||||
|
||||
Which contract to apply
|
||||
In order of least to most specific: Headoffice, Customer, Unit
|
||||
so Unit contract overrides any above contract
|
||||
|
||||
|
||||
Need rates picklists to support criteria of contract rates only for selection
|
||||
perhaps server supplies which contract id is in effect and limit to rates
|
||||
@@ -229,7 +246,7 @@ Contract affected fields
|
||||
without breaking anything
|
||||
|
||||
Contract applied field
|
||||
objects with contract that affects then should seperately have a contract name field for contract applie
|
||||
objects with contract that affects then should seperately have a contract name field for contract applied
|
||||
this supports not directly linking the contract but rather seeing it as an object that is applied to another object,
|
||||
not linked to it. Can apply, unapply, delete contract and no affect on primary wo or other object
|
||||
|
||||
@@ -239,15 +256,25 @@ TAGS
|
||||
Contract needs selectable tags for any aspect to apply
|
||||
Discount / markup etc parts / rates
|
||||
So, in practice like in v7 you set a discount for all parts but then you can also on the same line restrict it to specific part tags and select tags right there
|
||||
The server then applies the discount based on whether the parts are tagged or not if that's the case in it's bizactions
|
||||
|
||||
|
||||
|
||||
If any items have tags then there can be no "all Items" item? Or do they contradict each other in some way
|
||||
i.e. a discount for all but a special discount if it's tagged this (could be zero percent so no change if tagged that way as a way to Exclude certain items)
|
||||
The server then applies the discount based on whether the parts are tagged or not if that's the case in it's bizactions
|
||||
then the picklist can be supplied the variant for contract id which pulls the contract, finds the tags and then populates the picklist with the extra tag search
|
||||
|
||||
MULTIPLE discount / markup ITEMS
|
||||
Can have ONE default for all box
|
||||
Can have multiple tagged ones (tag is REQUIRED)
|
||||
Not two can have same tags in them, that's a biz rule / error
|
||||
Algorithm:
|
||||
Default item applied normally UNLESS tagged item which is more specific overrides it
|
||||
|
||||
|
||||
|
||||
Objects:
|
||||
Contract
|
||||
ContractRates (rateid,contractid)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user