IO-1981 Add Sublet Order.
This commit is contained in:
@@ -34539,6 +34539,27 @@
|
|||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
<concept_node>
|
||||||
|
<name>order_type</name>
|
||||||
|
<definition_loaded>false</definition_loaded>
|
||||||
|
<description></description>
|
||||||
|
<comment></comment>
|
||||||
|
<default_text></default_text>
|
||||||
|
<translations>
|
||||||
|
<translation>
|
||||||
|
<language>en-US</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>es-MX</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>fr-CA</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
</translations>
|
||||||
|
</concept_node>
|
||||||
<concept_node>
|
<concept_node>
|
||||||
<name>orderhistory</name>
|
<name>orderhistory</name>
|
||||||
<definition_loaded>false</definition_loaded>
|
<definition_loaded>false</definition_loaded>
|
||||||
@@ -34560,6 +34581,27 @@
|
|||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
<concept_node>
|
||||||
|
<name>parts_order</name>
|
||||||
|
<definition_loaded>false</definition_loaded>
|
||||||
|
<description></description>
|
||||||
|
<comment></comment>
|
||||||
|
<default_text></default_text>
|
||||||
|
<translations>
|
||||||
|
<translation>
|
||||||
|
<language>en-US</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>es-MX</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>fr-CA</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
</translations>
|
||||||
|
</concept_node>
|
||||||
<concept_node>
|
<concept_node>
|
||||||
<name>parts_orders</name>
|
<name>parts_orders</name>
|
||||||
<definition_loaded>false</definition_loaded>
|
<definition_loaded>false</definition_loaded>
|
||||||
@@ -34665,6 +34707,27 @@
|
|||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
<concept_node>
|
||||||
|
<name>sublet_order</name>
|
||||||
|
<definition_loaded>false</definition_loaded>
|
||||||
|
<description></description>
|
||||||
|
<comment></comment>
|
||||||
|
<default_text></default_text>
|
||||||
|
<translations>
|
||||||
|
<translation>
|
||||||
|
<language>en-US</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>es-MX</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>fr-CA</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
</translations>
|
||||||
|
</concept_node>
|
||||||
</children>
|
</children>
|
||||||
</folder_node>
|
</folder_node>
|
||||||
<folder_node>
|
<folder_node>
|
||||||
@@ -37474,6 +37537,27 @@
|
|||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
<concept_node>
|
||||||
|
<name>sublet_order</name>
|
||||||
|
<definition_loaded>false</definition_loaded>
|
||||||
|
<description></description>
|
||||||
|
<comment></comment>
|
||||||
|
<default_text></default_text>
|
||||||
|
<translations>
|
||||||
|
<translation>
|
||||||
|
<language>en-US</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>es-MX</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>fr-CA</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
</translations>
|
||||||
|
</concept_node>
|
||||||
<concept_node>
|
<concept_node>
|
||||||
<name>supplement_request</name>
|
<name>supplement_request</name>
|
||||||
<definition_loaded>false</definition_loaded>
|
<definition_loaded>false</definition_loaded>
|
||||||
@@ -38090,6 +38174,27 @@
|
|||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
<concept_node>
|
||||||
|
<name>sublet_order</name>
|
||||||
|
<definition_loaded>false</definition_loaded>
|
||||||
|
<description></description>
|
||||||
|
<comment></comment>
|
||||||
|
<default_text></default_text>
|
||||||
|
<translations>
|
||||||
|
<translation>
|
||||||
|
<language>en-US</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>es-MX</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>fr-CA</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
</translations>
|
||||||
|
</concept_node>
|
||||||
</children>
|
</children>
|
||||||
</folder_node>
|
</folder_node>
|
||||||
</children>
|
</children>
|
||||||
|
|||||||
@@ -134,6 +134,18 @@ export function PartsOrderModalComponent({
|
|||||||
<Checkbox />
|
<Checkbox />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
)}
|
)}
|
||||||
|
<Form.Item
|
||||||
|
name="order_type"
|
||||||
|
initialValue="parts_order"
|
||||||
|
label={t("parts_orders.labels.order_type")}
|
||||||
|
>
|
||||||
|
<Radio.Group>
|
||||||
|
<Radio value={"parts_order"}>
|
||||||
|
{t("parts_orders.labels.parts_order")}
|
||||||
|
</Radio>
|
||||||
|
<Radio value={"sublet"}>{t("parts_orders.labels.sublet")}</Radio>
|
||||||
|
</Radio.Group>
|
||||||
|
</Form.Item>
|
||||||
</LayoutFormRow>
|
</LayoutFormRow>
|
||||||
<Divider orientation="left">
|
<Divider orientation="left">
|
||||||
{t("parts_orders.labels.inthisorder")}
|
{t("parts_orders.labels.inthisorder")}
|
||||||
|
|||||||
@@ -94,6 +94,7 @@ export function PartsOrderModalContainer({
|
|||||||
const [updateJob] = useMutation(UPDATE_JOB);
|
const [updateJob] = useMutation(UPDATE_JOB);
|
||||||
|
|
||||||
const handleFinish = async ({
|
const handleFinish = async ({
|
||||||
|
order_type,
|
||||||
removefrompartsqueue,
|
removefrompartsqueue,
|
||||||
is_quote,
|
is_quote,
|
||||||
...values
|
...values
|
||||||
@@ -102,47 +103,46 @@ export function PartsOrderModalContainer({
|
|||||||
setSaving(true);
|
setSaving(true);
|
||||||
let insertResult;
|
let insertResult;
|
||||||
|
|
||||||
insertResult = await insertPartOrder({
|
insertResult = await insertPartOrder({
|
||||||
variables: {
|
variables: {
|
||||||
po: [
|
po: [
|
||||||
{
|
{
|
||||||
...values,
|
...values,
|
||||||
order_date: moment().format("YYYY-MM-DD"),
|
order_date: moment().format("YYYY-MM-DD"),
|
||||||
orderedby: currentUser.email,
|
orderedby: currentUser.email,
|
||||||
jobid: jobId,
|
jobid: jobId,
|
||||||
user_email: currentUser.email,
|
user_email: currentUser.email,
|
||||||
return: isReturn,
|
return: isReturn,
|
||||||
status: is_quote
|
status: is_quote
|
||||||
? bodyshop.md_order_statuses.default_quote || "Quote"
|
? bodyshop.md_order_statuses.default_quote || "Quote"
|
||||||
: bodyshop.md_order_statuses.default_ordered || "Ordered*",
|
: bodyshop.md_order_statuses.default_ordered || "Ordered*",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
refetchQueries: ["QUERY_PARTS_BILLS_BY_JOBID"],
|
refetchQueries: ["QUERY_PARTS_BILLS_BY_JOBID"],
|
||||||
|
});
|
||||||
|
if (!!insertResult.errors) {
|
||||||
|
notification["error"]({
|
||||||
|
message: t("parts_orders.errors.creating"),
|
||||||
|
description: JSON.stringify(insertResult.errors),
|
||||||
});
|
});
|
||||||
if (!!insertResult.errors) {
|
return;
|
||||||
notification["error"]({
|
}
|
||||||
message: t("parts_orders.errors.creating"),
|
notification["success"]({
|
||||||
description: JSON.stringify(insertResult.errors),
|
message: values.isReturn
|
||||||
});
|
? t("parts_orders.successes.return_created")
|
||||||
return;
|
: t("parts_orders.successes.created"),
|
||||||
}
|
});
|
||||||
notification["success"]({
|
insertAuditTrail({
|
||||||
message: values.isReturn
|
jobid: jobId,
|
||||||
? t("parts_orders.successes.return_created")
|
operation: isReturn
|
||||||
: t("parts_orders.successes.created"),
|
? AuditTrailMapping.jobspartsreturn(
|
||||||
});
|
insertResult.data.insert_parts_orders.returning[0].order_number
|
||||||
insertAuditTrail({
|
)
|
||||||
jobid: jobId,
|
: AuditTrailMapping.jobspartsorder(
|
||||||
operation: isReturn
|
insertResult.data.insert_parts_orders.returning[0].order_number
|
||||||
? AuditTrailMapping.jobspartsreturn(
|
),
|
||||||
insertResult.data.insert_parts_orders.returning[0].order_number
|
});
|
||||||
)
|
|
||||||
: AuditTrailMapping.jobspartsorder(
|
|
||||||
insertResult.data.insert_parts_orders.returning[0].order_number
|
|
||||||
),
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
const jobLinesResult = await updateJobLines({
|
const jobLinesResult = await updateJobLines({
|
||||||
variables: {
|
variables: {
|
||||||
@@ -228,7 +228,9 @@ export function PartsOrderModalContainer({
|
|||||||
{
|
{
|
||||||
name: isReturn
|
name: isReturn
|
||||||
? Templates.parts_return_slip.key
|
? Templates.parts_return_slip.key
|
||||||
: Templates.parts_order.key,
|
: order_type === "parts_order"
|
||||||
|
? Templates.parts_order.key
|
||||||
|
: Templates.sublet_order.key,
|
||||||
variables: {
|
variables: {
|
||||||
id: insertResult.data.insert_parts_orders.returning[0].id,
|
id: insertResult.data.insert_parts_orders.returning[0].id,
|
||||||
},
|
},
|
||||||
@@ -238,7 +240,9 @@ export function PartsOrderModalContainer({
|
|||||||
replyTo: bodyshop.email,
|
replyTo: bodyshop.email,
|
||||||
subject: isReturn
|
subject: isReturn
|
||||||
? Templates.parts_return_slip.subject
|
? Templates.parts_return_slip.subject
|
||||||
: Templates.parts_order.subject,
|
: order_type === "parts_order"
|
||||||
|
? Templates.parts_order.subject
|
||||||
|
: Templates.sublet_order.subject,
|
||||||
},
|
},
|
||||||
"e",
|
"e",
|
||||||
jobId
|
jobId
|
||||||
@@ -248,7 +252,9 @@ export function PartsOrderModalContainer({
|
|||||||
{
|
{
|
||||||
name: isReturn
|
name: isReturn
|
||||||
? Templates.parts_return_slip.key
|
? Templates.parts_return_slip.key
|
||||||
: Templates.parts_order.key,
|
: order_type === "parts_order"
|
||||||
|
? Templates.parts_order.key
|
||||||
|
: Templates.sublet_order.key,
|
||||||
variables: {
|
variables: {
|
||||||
id: insertResult.data.insert_parts_orders.returning[0].id,
|
id: insertResult.data.insert_parts_orders.returning[0].id,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -2042,12 +2042,15 @@
|
|||||||
"newpartsorder": "New Parts Order",
|
"newpartsorder": "New Parts Order",
|
||||||
"notyetordered": "This part has not yet been ordered.",
|
"notyetordered": "This part has not yet been ordered.",
|
||||||
"oec": "Order via OEC",
|
"oec": "Order via OEC",
|
||||||
|
"order_type": "Order Type",
|
||||||
"orderhistory": "Order History",
|
"orderhistory": "Order History",
|
||||||
|
"parts_order": "Parts Order",
|
||||||
"parts_orders": "Parts Orders",
|
"parts_orders": "Parts Orders",
|
||||||
"print": "Show Printed Form",
|
"print": "Show Printed Form",
|
||||||
"receive": "Receive Parts Order",
|
"receive": "Receive Parts Order",
|
||||||
"removefrompartsqueue": "Remove from Parts Queue?",
|
"removefrompartsqueue": "Remove from Parts Queue?",
|
||||||
"returnpartsorder": "Return Parts Order"
|
"returnpartsorder": "Return Parts Order",
|
||||||
|
"sublet_order": "Sublet Order"
|
||||||
},
|
},
|
||||||
"successes": {
|
"successes": {
|
||||||
"created": "Parts order created successfully. ",
|
"created": "Parts order created successfully. ",
|
||||||
@@ -2217,6 +2220,7 @@
|
|||||||
"sgi_certificate_of_repairs": "SGI - Certificate of Repairs",
|
"sgi_certificate_of_repairs": "SGI - Certificate of Repairs",
|
||||||
"sgi_windshield_auth": "SGI - Windshield Authorization",
|
"sgi_windshield_auth": "SGI - Windshield Authorization",
|
||||||
"stolen_recovery_checklist": "Stolen Recovery Checklist",
|
"stolen_recovery_checklist": "Stolen Recovery Checklist",
|
||||||
|
"sublet_order": "Sublet Order",
|
||||||
"supplement_request": "Supplement Request",
|
"supplement_request": "Supplement Request",
|
||||||
"thank_you_ro": "Thank You Letter",
|
"thank_you_ro": "Thank You Letter",
|
||||||
"thirdpartypayer": "Third Party Payer",
|
"thirdpartypayer": "Third Party Payer",
|
||||||
@@ -2255,7 +2259,8 @@
|
|||||||
},
|
},
|
||||||
"subjects": {
|
"subjects": {
|
||||||
"jobs": {
|
"jobs": {
|
||||||
"parts_order": "Parts Order PO: {{ro_number}} - {{name}}"
|
"parts_order": "Parts Order PO: {{ro_number}} - {{name}}",
|
||||||
|
"sublet_order": "Sublet Order PO: {{ro_number}} - {{name}}"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"vendors": {
|
"vendors": {
|
||||||
|
|||||||
@@ -2042,12 +2042,15 @@
|
|||||||
"newpartsorder": "",
|
"newpartsorder": "",
|
||||||
"notyetordered": "",
|
"notyetordered": "",
|
||||||
"oec": "",
|
"oec": "",
|
||||||
|
"order_type": "",
|
||||||
"orderhistory": "Historial de pedidos",
|
"orderhistory": "Historial de pedidos",
|
||||||
|
"parts_order": "",
|
||||||
"parts_orders": "",
|
"parts_orders": "",
|
||||||
"print": "Mostrar formulario impreso",
|
"print": "Mostrar formulario impreso",
|
||||||
"receive": "",
|
"receive": "",
|
||||||
"removefrompartsqueue": "",
|
"removefrompartsqueue": "",
|
||||||
"returnpartsorder": ""
|
"returnpartsorder": "",
|
||||||
|
"sublet_order": ""
|
||||||
},
|
},
|
||||||
"successes": {
|
"successes": {
|
||||||
"created": "Pedido de piezas creado con éxito.",
|
"created": "Pedido de piezas creado con éxito.",
|
||||||
@@ -2217,6 +2220,7 @@
|
|||||||
"sgi_certificate_of_repairs": "",
|
"sgi_certificate_of_repairs": "",
|
||||||
"sgi_windshield_auth": "",
|
"sgi_windshield_auth": "",
|
||||||
"stolen_recovery_checklist": "",
|
"stolen_recovery_checklist": "",
|
||||||
|
"sublet_order": "",
|
||||||
"supplement_request": "",
|
"supplement_request": "",
|
||||||
"thank_you_ro": "",
|
"thank_you_ro": "",
|
||||||
"thirdpartypayer": "",
|
"thirdpartypayer": "",
|
||||||
@@ -2255,7 +2259,8 @@
|
|||||||
},
|
},
|
||||||
"subjects": {
|
"subjects": {
|
||||||
"jobs": {
|
"jobs": {
|
||||||
"parts_order": ""
|
"parts_order": "",
|
||||||
|
"sublet_order": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"vendors": {
|
"vendors": {
|
||||||
|
|||||||
@@ -2042,12 +2042,15 @@
|
|||||||
"newpartsorder": "",
|
"newpartsorder": "",
|
||||||
"notyetordered": "",
|
"notyetordered": "",
|
||||||
"oec": "",
|
"oec": "",
|
||||||
|
"order_type": "",
|
||||||
"orderhistory": "Historique des commandes",
|
"orderhistory": "Historique des commandes",
|
||||||
|
"parts_order": "",
|
||||||
"parts_orders": "",
|
"parts_orders": "",
|
||||||
"print": "Afficher le formulaire imprimé",
|
"print": "Afficher le formulaire imprimé",
|
||||||
"receive": "",
|
"receive": "",
|
||||||
"removefrompartsqueue": "",
|
"removefrompartsqueue": "",
|
||||||
"returnpartsorder": ""
|
"returnpartsorder": "",
|
||||||
|
"sublet_order": ""
|
||||||
},
|
},
|
||||||
"successes": {
|
"successes": {
|
||||||
"created": "Commande de pièces créée avec succès.",
|
"created": "Commande de pièces créée avec succès.",
|
||||||
@@ -2217,6 +2220,7 @@
|
|||||||
"sgi_certificate_of_repairs": "",
|
"sgi_certificate_of_repairs": "",
|
||||||
"sgi_windshield_auth": "",
|
"sgi_windshield_auth": "",
|
||||||
"stolen_recovery_checklist": "",
|
"stolen_recovery_checklist": "",
|
||||||
|
"sublet_order": "",
|
||||||
"supplement_request": "",
|
"supplement_request": "",
|
||||||
"thank_you_ro": "",
|
"thank_you_ro": "",
|
||||||
"thirdpartypayer": "",
|
"thirdpartypayer": "",
|
||||||
@@ -2255,7 +2259,8 @@
|
|||||||
},
|
},
|
||||||
"subjects": {
|
"subjects": {
|
||||||
"jobs": {
|
"jobs": {
|
||||||
"parts_order": ""
|
"parts_order": "",
|
||||||
|
"sublet_order": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"vendors": {
|
"vendors": {
|
||||||
|
|||||||
@@ -551,6 +551,20 @@ export const TemplateList = (type, context) => {
|
|||||||
}),
|
}),
|
||||||
disabled: false,
|
disabled: false,
|
||||||
},
|
},
|
||||||
|
sublet_order: {
|
||||||
|
title: i18n.t("printcenter.jobs.sublet_order"),
|
||||||
|
description: "Parts Order",
|
||||||
|
key: "sublet_order",
|
||||||
|
subject: i18n.t("printcenter.subjects.jobs.sublet_order", {
|
||||||
|
ro_number: context && context.job && context.job.ro_number,
|
||||||
|
name: (
|
||||||
|
(context && context.job && context.job.ownr_ln) ||
|
||||||
|
(context && context.job && context.job.ownr_co_nm) ||
|
||||||
|
""
|
||||||
|
).trim(),
|
||||||
|
}),
|
||||||
|
disabled: false,
|
||||||
|
},
|
||||||
parts_return_slip: {
|
parts_return_slip: {
|
||||||
title: i18n.t("printcenter.jobs.parts_return_slip"),
|
title: i18n.t("printcenter.jobs.parts_return_slip"),
|
||||||
subject: i18n.t("printcenter.jobs.parts_return_slip"),
|
subject: i18n.t("printcenter.jobs.parts_return_slip"),
|
||||||
|
|||||||
Reference in New Issue
Block a user