Merged in release/AIO/2024-04-19 (pull request #1420)
Resolve CCC supplement with UNQ_SEQ.
This commit is contained in:
@@ -15,23 +15,43 @@ export const GetSupplementDelta = async (client, jobId, newLines) => {
|
||||
const linesToUpdate = [];
|
||||
|
||||
newLines.forEach((newLine) => {
|
||||
const matchingIndex = existingLines.findIndex((eL) => eL.unq_seq === newLine.unq_seq);
|
||||
const matchingIndexLines = [];
|
||||
existingLines.forEach((eL, index) => {
|
||||
if (eL.unq_seq === newLine.unq_seq) {
|
||||
matchingIndexLines.push({ index, record: eL });
|
||||
}
|
||||
});
|
||||
|
||||
//Should do a check to make sure there is only 1 matching unq sequence number.
|
||||
|
||||
if (matchingIndex >= 0) {
|
||||
//Found a relevant matching line. Add it to lines to update.
|
||||
linesToUpdate.push({
|
||||
id: existingLines[matchingIndex].id,
|
||||
newData: { ...newLine, removed: false, act_price_before_ppc: null }
|
||||
});
|
||||
|
||||
//Splice out item we found for performance.
|
||||
existingLines.splice(matchingIndex, 1);
|
||||
} else {
|
||||
if (matchingIndexLines.length === 0) {
|
||||
//Didn't find a match. Must be a new line.
|
||||
linesToInsert.push(newLine);
|
||||
}
|
||||
//If we find only 1, we can use the old logic.
|
||||
else if (matchingIndexLines.length === 1) {
|
||||
//Found a relevant matching line. Add it to lines to update.
|
||||
linesToUpdate.push({
|
||||
id: matchingIndexLines[0].record.id,
|
||||
newData: { ...newLine, removed: false, act_price_before_ppc: null }
|
||||
});
|
||||
//Splice out item we found for performance.
|
||||
existingLines.splice(matchingIndexLines[0].index, 1);
|
||||
} else if (matchingIndexLines.length === 2) {
|
||||
//if we find 2, we need to separate it out by the non-refinish lines and splice one out.
|
||||
//Find the mathcing one depending on whether this is the refiniish one or not.
|
||||
const matchingLine = matchingIndexLines.find((i) =>
|
||||
newLine.mod_lbr_ty === "LAR" ? i.record.mod_lbr_ty === "LAR" : i.record.mod_lbr_ty !== "LAR"
|
||||
);
|
||||
|
||||
linesToUpdate.push({
|
||||
id: matchingLine.record.id,
|
||||
newData: { ...newLine, removed: false, act_price_before_ppc: null }
|
||||
});
|
||||
//Splice out item we found for performance.
|
||||
existingLines.splice(matchingLine.index, 1);
|
||||
} else {
|
||||
//We found more than 2 matching lines. We should never get here. Throw a warning and back out!
|
||||
throw new Error("Too many matching lines found. Ensure EMS file is valid.");
|
||||
}
|
||||
});
|
||||
|
||||
//Wahtever is left in the existing lines, are lines that should be removed.
|
||||
|
||||
@@ -1 +1,8 @@
|
||||
[ ]
|
||||
- name: Task Reminders
|
||||
webhook: '{{HASURA_API_URL}}/tasks-remind-handler'
|
||||
schedule: '*/15 * * * *'
|
||||
include_in_metadata: true
|
||||
payload: {}
|
||||
headers:
|
||||
- name: event-secret
|
||||
value_from_env: EVENT_SECRET
|
||||
|
||||
@@ -5797,6 +5797,29 @@
|
||||
- active:
|
||||
_eq: true
|
||||
check: null
|
||||
event_triggers:
|
||||
- name: tasks_assigned_changed
|
||||
definition:
|
||||
enable_manual: false
|
||||
insert:
|
||||
columns: '*'
|
||||
update:
|
||||
columns:
|
||||
- assigned_to
|
||||
retry_conf:
|
||||
interval_sec: 10
|
||||
num_retries: 3
|
||||
timeout_sec: 60
|
||||
webhook_from_env: HASURA_API_URL
|
||||
headers:
|
||||
- name: event-secret
|
||||
value_from_env: EVENT_SECRET
|
||||
request_transform:
|
||||
method: POST
|
||||
query_params: {}
|
||||
template_engine: Kriti
|
||||
url: '{{$base_url}}/tasks-assigned-handler'
|
||||
version: 2
|
||||
- table:
|
||||
name: timetickets
|
||||
schema: public
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
-- Could not auto-generate a down migration.
|
||||
-- Please write an appropriate down migration for the SQL below:
|
||||
-- alter table "public"."tasks" add column "remind_at_sent" timestamptz
|
||||
-- null;
|
||||
@@ -0,0 +1,2 @@
|
||||
alter table "public"."tasks" add column "remind_at_sent" timestamptz
|
||||
null;
|
||||
Reference in New Issue
Block a user