Merge branch 'release/2021-10-15' into test
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
<babeledit_project version="1.2" be_version="2.7.1">
|
<babeledit_project be_version="2.7.1" version="1.2">
|
||||||
<!--
|
<!--
|
||||||
|
|
||||||
BabelEdit project file
|
BabelEdit project file
|
||||||
@@ -16878,6 +16878,27 @@
|
|||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
<concept_node>
|
||||||
|
<name>prt_dsmk_m</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>prt_dsmk_p</name>
|
<name>prt_dsmk_p</name>
|
||||||
<definition_loaded>false</definition_loaded>
|
<definition_loaded>false</definition_loaded>
|
||||||
|
|||||||
@@ -162,7 +162,11 @@ export function JobLinesComponent({
|
|||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
render: (text, record) => (
|
render: (text, record) => (
|
||||||
<>
|
<>
|
||||||
<CurrencyFormatter>{record.act_price}</CurrencyFormatter>
|
<CurrencyFormatter>
|
||||||
|
{record.db_ref === "900510" || record.db_ref === "900511"
|
||||||
|
? record.prt_dsmk_m
|
||||||
|
: record.act_price}
|
||||||
|
</CurrencyFormatter>
|
||||||
{record.prt_dsmk_p && record.prt_dsmk_p !== 0 ? (
|
{record.prt_dsmk_p && record.prt_dsmk_p !== 0 ? (
|
||||||
<span
|
<span
|
||||||
style={{ marginLeft: ".2rem" }}
|
style={{ marginLeft: ".2rem" }}
|
||||||
|
|||||||
@@ -498,6 +498,12 @@ async function CheckTaxRates(estData, bodyshop) {
|
|||||||
) {
|
) {
|
||||||
estData.joblines.data[index].tax_part = jl.lbr_tax;
|
estData.joblines.data[index].tax_part = jl.lbr_tax;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Set markup lines and tax lines as taxable.
|
||||||
|
//900510 is a mark up. 900510 is a discount.
|
||||||
|
if (jl.db_ref === "900510") {
|
||||||
|
estData.joblines.data[index].tax_part = true;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
//}
|
//}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ export function JobsCloseLines({ bodyshop, job, jobRO }) {
|
|||||||
<th>{t("joblines.fields.line_desc")}</th>
|
<th>{t("joblines.fields.line_desc")}</th>
|
||||||
<th>{t("joblines.fields.part_type")}</th>
|
<th>{t("joblines.fields.part_type")}</th>
|
||||||
<th>{t("joblines.fields.act_price")}</th>
|
<th>{t("joblines.fields.act_price")}</th>
|
||||||
|
<th>{t("joblines.fields.prt_dsmk_m")}</th>
|
||||||
<th>{t("joblines.fields.op_code_desc")}</th>
|
<th>{t("joblines.fields.op_code_desc")}</th>
|
||||||
<th>{t("joblines.fields.mod_lbr_ty")}</th>
|
<th>{t("joblines.fields.mod_lbr_ty")}</th>
|
||||||
<th>{t("joblines.fields.mod_lb_hrs")}</th>
|
<th>{t("joblines.fields.mod_lb_hrs")}</th>
|
||||||
@@ -70,6 +71,16 @@ export function JobsCloseLines({ bodyshop, job, jobRO }) {
|
|||||||
<ReadOnlyFormItem type="currency" />
|
<ReadOnlyFormItem type="currency" />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
</td>
|
</td>
|
||||||
|
<td>
|
||||||
|
<Form.Item
|
||||||
|
span={2}
|
||||||
|
// label={t("joblines.fields.prt_dsmk_m")}
|
||||||
|
key={`${index}prt_dsmk_m`}
|
||||||
|
name={[field.name, "prt_dsmk_m"]}
|
||||||
|
>
|
||||||
|
<ReadOnlyFormItem type="currency" />
|
||||||
|
</Form.Item>
|
||||||
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<Form.Item
|
<Form.Item
|
||||||
span={2}
|
span={2}
|
||||||
@@ -108,7 +119,9 @@ export function JobsCloseLines({ bodyshop, job, jobRO }) {
|
|||||||
labelCol={{ span: 0 }}
|
labelCol={{ span: 0 }}
|
||||||
rules={[
|
rules={[
|
||||||
{
|
{
|
||||||
required: !!job.joblines[index].act_price,
|
required:
|
||||||
|
!!job.joblines[index].act_price ||
|
||||||
|
!!job.joblines[index].prt_dsmk_m,
|
||||||
//message: t("general.validation.required"),
|
//message: t("general.validation.required"),
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
|
|||||||
@@ -1769,7 +1769,7 @@ export const QUERY_JOB_CLOSE_DETAILS = gql`
|
|||||||
actual_in
|
actual_in
|
||||||
kmin
|
kmin
|
||||||
kmout
|
kmout
|
||||||
joblines(where: { removed: { _eq: false } }) {
|
joblines(where: { removed: { _eq: false } }, order_by: { line_no: asc }) {
|
||||||
id
|
id
|
||||||
removed
|
removed
|
||||||
tax_part
|
tax_part
|
||||||
|
|||||||
@@ -1053,7 +1053,8 @@
|
|||||||
},
|
},
|
||||||
"profitcenter_labor": "Profit Center: Labor",
|
"profitcenter_labor": "Profit Center: Labor",
|
||||||
"profitcenter_part": "Profit Center: Part",
|
"profitcenter_part": "Profit Center: Part",
|
||||||
"prt_dsmk_p": "Line Markup %",
|
"prt_dsmk_m": "Line Discount/Markup $",
|
||||||
|
"prt_dsmk_p": "Line Discount/Markup %",
|
||||||
"status": "Status",
|
"status": "Status",
|
||||||
"tax_part": "Tax Part",
|
"tax_part": "Tax Part",
|
||||||
"total": "Total",
|
"total": "Total",
|
||||||
|
|||||||
@@ -1053,6 +1053,7 @@
|
|||||||
},
|
},
|
||||||
"profitcenter_labor": "",
|
"profitcenter_labor": "",
|
||||||
"profitcenter_part": "",
|
"profitcenter_part": "",
|
||||||
|
"prt_dsmk_m": "",
|
||||||
"prt_dsmk_p": "",
|
"prt_dsmk_p": "",
|
||||||
"status": "Estado",
|
"status": "Estado",
|
||||||
"tax_part": "",
|
"tax_part": "",
|
||||||
|
|||||||
@@ -1053,6 +1053,7 @@
|
|||||||
},
|
},
|
||||||
"profitcenter_labor": "",
|
"profitcenter_labor": "",
|
||||||
"profitcenter_part": "",
|
"profitcenter_part": "",
|
||||||
|
"prt_dsmk_m": "",
|
||||||
"prt_dsmk_p": "",
|
"prt_dsmk_p": "",
|
||||||
"status": "Statut",
|
"status": "Statut",
|
||||||
"tax_part": "",
|
"tax_part": "",
|
||||||
|
|||||||
47
logs/oAuthClient-log.log
Normal file
47
logs/oAuthClient-log.log
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
2021-10-14T18:14:19.821Z info: Create Token response is : {
|
||||||
|
"token": {
|
||||||
|
"realmId": "4620816365180784050",
|
||||||
|
"token_type": "bearer",
|
||||||
|
"access_token": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiZGlyIn0..dRa330Va1FympcUMjnlbkw.W1_-IFux2NF5wqk48iEyYCPEToNm0KA5OQPOOk0kB75xOQrl-ewYSv3ZPmM56c4p8rzlNUr1V3lF3fcpKcZWSgShNX-dYAQ5WfhaBVz27wI0eXE3RUNbsuUwWc4pKtdU3pFlI2Bz94m9zVY8DKlw1Pm4CFGhqf41IqCcgn6VxYE-uRC2L5VLXyddEGwJoTpAWeA0JEtUc0DoTMVPFnOb6zUEgP5MGj5w81eHludNfl9QxGcitwpqrAHk1UDK0GfgvROZDmfrgvZ0r0SQ9aiI1_XWisZjnqzzcr4fMzQq85CoujnYfgAzi4-En3YgP0D6q_OnUSY5NjFzUsU_4ikganeFx5WgRv9jJDDwcDsSnkoJFSdgEoj_oWwTtYr-9RXjKBdothgXySicLEA5J_PdCGXZJ_rxQ_hW6RndVLMSrlADCWPpKGhT_PV96UB-EO_m0kFvnCOqAuvAcSRC46OmJh9sedTqC5pMHPgOwnosQzHdR-9jKxEivfw8A49IucMhl9pJzPDKPVSdw-e9vlt4OMo_fBcYHb14QxoxJNPZQV6KUe4aSqxjjK0-bFOOk33sNGr-IHZgor1FZyYDK5OBgROLQx98Sm6suJ-GVuG_s0O7VwsqXRSYY9UpWcg4xKfLG6WXFSANa2kc41G4zAsB-4eQJS654t3ycl2Qh50VNKMrPusRhFpMJVvLn0zEiWTjZKswk559Q_1-NpSxUbquatbERDKu9keY7nL5mjWEJUDl8o7e7GpzY05KATWvjjz39OCYUjVhT_kMEho9td7TUjltakgmx-Go8VDbBYqyrPaPdasZfS59w1QhZUJPLFPmRA0H1jxc8qu841eHDBi4kw.vsfZZv3p2rLJWnM9SWbJzg",
|
||||||
|
"refresh_token": "AB11642961656aZhy8GyGhOImeMq6hd5q3j8S9FJGT4MppS92Y",
|
||||||
|
"expires_in": 3600,
|
||||||
|
"x_refresh_token_expires_in": 8726400,
|
||||||
|
"id_token": "eyJraWQiOiJPUElDUFJEMDkxODIwMTQiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiI1ODYwNzMxZC0yZmQ1LTQ3YTMtOTgxNi0wYzE5N2NkZDk1NjIiLCJhdWQiOlsiQUJnY01pUkZvNmdWZWZtOFBCZkZwZkxQdzFoUzZCekluMFduUlZLR1A5R05SWm1neHQiXSwicmVhbG1pZCI6IjQ2MjA4MTYzNjUxODA3ODQwNTAiLCJhdXRoX3RpbWUiOjE2MzQyMzUyNTAsImlzcyI6Imh0dHBzOlwvXC9vYXV0aC5wbGF0Zm9ybS5pbnR1aXQuY29tXC9vcFwvdjEiLCJleHAiOjE2MzQyMzg4NTYsImlhdCI6MTYzNDIzNTI1Nn0.ZMNPsFfYqnyilp0fFrW5RvMht6Eb1MFTY2X_zx3dcuoH2sAK5EYaKgtm9EZq5VeH_mQ4qGQLGgl70v3v_2I0ElmFOZeSGUO1Q5UcXxaK5-A_8Wed5qr_qpQWGWpc2pkWNM1Q2hQfDVfX9J45Ob2qumYlJ49V_p5Sm6WuqyIrfTQ",
|
||||||
|
"latency": 60000,
|
||||||
|
"createdAt": 1634235259820,
|
||||||
|
"state": "patrick@imex.dev"
|
||||||
|
},
|
||||||
|
"response": {
|
||||||
|
"url": "https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer",
|
||||||
|
"headers": {
|
||||||
|
"date": "Thu, 14 Oct 2021 18:14:16 GMT",
|
||||||
|
"content-type": "application/json;charset=utf-8",
|
||||||
|
"content-length": "1684",
|
||||||
|
"connection": "close",
|
||||||
|
"intuit_tid": "1-61687378-07987874613592c04a0e3709",
|
||||||
|
"x-spanid": "ebcfa726-ad39-401b-8fb5-ad018bdce8a1",
|
||||||
|
"x-amzn-trace-id": "Root=1-61687378-07987874613592c04a0e3709",
|
||||||
|
"x-content-type-options": "nosniff",
|
||||||
|
"server": "envoy",
|
||||||
|
"cache-control": "no-cache, no-store",
|
||||||
|
"pragma": "no-cache",
|
||||||
|
"x-frame-options": "SAMEORIGIN",
|
||||||
|
"x-xss-protection": "1; mode=block",
|
||||||
|
"x-envoy-upstream-service-time": "76",
|
||||||
|
"strict-transport-security": "max-age=31536000"
|
||||||
|
},
|
||||||
|
"body": "{\"x_refresh_token_expires_in\":8726400,\"refresh_token\":\"AB11642961656aZhy8GyGhOImeMq6hd5q3j8S9FJGT4MppS92Y\",\"access_token\":\"eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiZGlyIn0..dRa330Va1FympcUMjnlbkw.W1_-IFux2NF5wqk48iEyYCPEToNm0KA5OQPOOk0kB75xOQrl-ewYSv3ZPmM56c4p8rzlNUr1V3lF3fcpKcZWSgShNX-dYAQ5WfhaBVz27wI0eXE3RUNbsuUwWc4pKtdU3pFlI2Bz94m9zVY8DKlw1Pm4CFGhqf41IqCcgn6VxYE-uRC2L5VLXyddEGwJoTpAWeA0JEtUc0DoTMVPFnOb6zUEgP5MGj5w81eHludNfl9QxGcitwpqrAHk1UDK0GfgvROZDmfrgvZ0r0SQ9aiI1_XWisZjnqzzcr4fMzQq85CoujnYfgAzi4-En3YgP0D6q_OnUSY5NjFzUsU_4ikganeFx5WgRv9jJDDwcDsSnkoJFSdgEoj_oWwTtYr-9RXjKBdothgXySicLEA5J_PdCGXZJ_rxQ_hW6RndVLMSrlADCWPpKGhT_PV96UB-EO_m0kFvnCOqAuvAcSRC46OmJh9sedTqC5pMHPgOwnosQzHdR-9jKxEivfw8A49IucMhl9pJzPDKPVSdw-e9vlt4OMo_fBcYHb14QxoxJNPZQV6KUe4aSqxjjK0-bFOOk33sNGr-IHZgor1FZyYDK5OBgROLQx98Sm6suJ-GVuG_s0O7VwsqXRSYY9UpWcg4xKfLG6WXFSANa2kc41G4zAsB-4eQJS654t3ycl2Qh50VNKMrPusRhFpMJVvLn0zEiWTjZKswk559Q_1-NpSxUbquatbERDKu9keY7nL5mjWEJUDl8o7e7GpzY05KATWvjjz39OCYUjVhT_kMEho9td7TUjltakgmx-Go8VDbBYqyrPaPdasZfS59w1QhZUJPLFPmRA0H1jxc8qu841eHDBi4kw.vsfZZv3p2rLJWnM9SWbJzg\",\"id_token\":\"eyJraWQiOiJPUElDUFJEMDkxODIwMTQiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiI1ODYwNzMxZC0yZmQ1LTQ3YTMtOTgxNi0wYzE5N2NkZDk1NjIiLCJhdWQiOlsiQUJnY01pUkZvNmdWZWZtOFBCZkZwZkxQdzFoUzZCekluMFduUlZLR1A5R05SWm1neHQiXSwicmVhbG1pZCI6IjQ2MjA4MTYzNjUxODA3ODQwNTAiLCJhdXRoX3RpbWUiOjE2MzQyMzUyNTAsImlzcyI6Imh0dHBzOlwvXC9vYXV0aC5wbGF0Zm9ybS5pbnR1aXQuY29tXC9vcFwvdjEiLCJleHAiOjE2MzQyMzg4NTYsImlhdCI6MTYzNDIzNTI1Nn0.ZMNPsFfYqnyilp0fFrW5RvMht6Eb1MFTY2X_zx3dcuoH2sAK5EYaKgtm9EZq5VeH_mQ4qGQLGgl70v3v_2I0ElmFOZeSGUO1Q5UcXxaK5-A_8Wed5qr_qpQWGWpc2pkWNM1Q2hQfDVfX9J45Ob2qumYlJ49V_p5Sm6WuqyIrfTQ\",\"token_type\":\"bearer\",\"expires_in\":3600}",
|
||||||
|
"status": 200,
|
||||||
|
"statusText": "OK"
|
||||||
|
},
|
||||||
|
"body": "{\"x_refresh_token_expires_in\":8726400,\"refresh_token\":\"AB11642961656aZhy8GyGhOImeMq6hd5q3j8S9FJGT4MppS92Y\",\"access_token\":\"eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiZGlyIn0..dRa330Va1FympcUMjnlbkw.W1_-IFux2NF5wqk48iEyYCPEToNm0KA5OQPOOk0kB75xOQrl-ewYSv3ZPmM56c4p8rzlNUr1V3lF3fcpKcZWSgShNX-dYAQ5WfhaBVz27wI0eXE3RUNbsuUwWc4pKtdU3pFlI2Bz94m9zVY8DKlw1Pm4CFGhqf41IqCcgn6VxYE-uRC2L5VLXyddEGwJoTpAWeA0JEtUc0DoTMVPFnOb6zUEgP5MGj5w81eHludNfl9QxGcitwpqrAHk1UDK0GfgvROZDmfrgvZ0r0SQ9aiI1_XWisZjnqzzcr4fMzQq85CoujnYfgAzi4-En3YgP0D6q_OnUSY5NjFzUsU_4ikganeFx5WgRv9jJDDwcDsSnkoJFSdgEoj_oWwTtYr-9RXjKBdothgXySicLEA5J_PdCGXZJ_rxQ_hW6RndVLMSrlADCWPpKGhT_PV96UB-EO_m0kFvnCOqAuvAcSRC46OmJh9sedTqC5pMHPgOwnosQzHdR-9jKxEivfw8A49IucMhl9pJzPDKPVSdw-e9vlt4OMo_fBcYHb14QxoxJNPZQV6KUe4aSqxjjK0-bFOOk33sNGr-IHZgor1FZyYDK5OBgROLQx98Sm6suJ-GVuG_s0O7VwsqXRSYY9UpWcg4xKfLG6WXFSANa2kc41G4zAsB-4eQJS654t3ycl2Qh50VNKMrPusRhFpMJVvLn0zEiWTjZKswk559Q_1-NpSxUbquatbERDKu9keY7nL5mjWEJUDl8o7e7GpzY05KATWvjjz39OCYUjVhT_kMEho9td7TUjltakgmx-Go8VDbBYqyrPaPdasZfS59w1QhZUJPLFPmRA0H1jxc8qu841eHDBi4kw.vsfZZv3p2rLJWnM9SWbJzg\",\"id_token\":\"eyJraWQiOiJPUElDUFJEMDkxODIwMTQiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiI1ODYwNzMxZC0yZmQ1LTQ3YTMtOTgxNi0wYzE5N2NkZDk1NjIiLCJhdWQiOlsiQUJnY01pUkZvNmdWZWZtOFBCZkZwZkxQdzFoUzZCekluMFduUlZLR1A5R05SWm1neHQiXSwicmVhbG1pZCI6IjQ2MjA4MTYzNjUxODA3ODQwNTAiLCJhdXRoX3RpbWUiOjE2MzQyMzUyNTAsImlzcyI6Imh0dHBzOlwvXC9vYXV0aC5wbGF0Zm9ybS5pbnR1aXQuY29tXC9vcFwvdjEiLCJleHAiOjE2MzQyMzg4NTYsImlhdCI6MTYzNDIzNTI1Nn0.ZMNPsFfYqnyilp0fFrW5RvMht6Eb1MFTY2X_zx3dcuoH2sAK5EYaKgtm9EZq5VeH_mQ4qGQLGgl70v3v_2I0ElmFOZeSGUO1Q5UcXxaK5-A_8Wed5qr_qpQWGWpc2pkWNM1Q2hQfDVfX9J45Ob2qumYlJ49V_p5Sm6WuqyIrfTQ\",\"token_type\":\"bearer\",\"expires_in\":3600}",
|
||||||
|
"json": {
|
||||||
|
"x_refresh_token_expires_in": 8726400,
|
||||||
|
"refresh_token": "AB11642961656aZhy8GyGhOImeMq6hd5q3j8S9FJGT4MppS92Y",
|
||||||
|
"access_token": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiZGlyIn0..dRa330Va1FympcUMjnlbkw.W1_-IFux2NF5wqk48iEyYCPEToNm0KA5OQPOOk0kB75xOQrl-ewYSv3ZPmM56c4p8rzlNUr1V3lF3fcpKcZWSgShNX-dYAQ5WfhaBVz27wI0eXE3RUNbsuUwWc4pKtdU3pFlI2Bz94m9zVY8DKlw1Pm4CFGhqf41IqCcgn6VxYE-uRC2L5VLXyddEGwJoTpAWeA0JEtUc0DoTMVPFnOb6zUEgP5MGj5w81eHludNfl9QxGcitwpqrAHk1UDK0GfgvROZDmfrgvZ0r0SQ9aiI1_XWisZjnqzzcr4fMzQq85CoujnYfgAzi4-En3YgP0D6q_OnUSY5NjFzUsU_4ikganeFx5WgRv9jJDDwcDsSnkoJFSdgEoj_oWwTtYr-9RXjKBdothgXySicLEA5J_PdCGXZJ_rxQ_hW6RndVLMSrlADCWPpKGhT_PV96UB-EO_m0kFvnCOqAuvAcSRC46OmJh9sedTqC5pMHPgOwnosQzHdR-9jKxEivfw8A49IucMhl9pJzPDKPVSdw-e9vlt4OMo_fBcYHb14QxoxJNPZQV6KUe4aSqxjjK0-bFOOk33sNGr-IHZgor1FZyYDK5OBgROLQx98Sm6suJ-GVuG_s0O7VwsqXRSYY9UpWcg4xKfLG6WXFSANa2kc41G4zAsB-4eQJS654t3ycl2Qh50VNKMrPusRhFpMJVvLn0zEiWTjZKswk559Q_1-NpSxUbquatbERDKu9keY7nL5mjWEJUDl8o7e7GpzY05KATWvjjz39OCYUjVhT_kMEho9td7TUjltakgmx-Go8VDbBYqyrPaPdasZfS59w1QhZUJPLFPmRA0H1jxc8qu841eHDBi4kw.vsfZZv3p2rLJWnM9SWbJzg",
|
||||||
|
"id_token": "eyJraWQiOiJPUElDUFJEMDkxODIwMTQiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiI1ODYwNzMxZC0yZmQ1LTQ3YTMtOTgxNi0wYzE5N2NkZDk1NjIiLCJhdWQiOlsiQUJnY01pUkZvNmdWZWZtOFBCZkZwZkxQdzFoUzZCekluMFduUlZLR1A5R05SWm1neHQiXSwicmVhbG1pZCI6IjQ2MjA4MTYzNjUxODA3ODQwNTAiLCJhdXRoX3RpbWUiOjE2MzQyMzUyNTAsImlzcyI6Imh0dHBzOlwvXC9vYXV0aC5wbGF0Zm9ybS5pbnR1aXQuY29tXC9vcFwvdjEiLCJleHAiOjE2MzQyMzg4NTYsImlhdCI6MTYzNDIzNTI1Nn0.ZMNPsFfYqnyilp0fFrW5RvMht6Eb1MFTY2X_zx3dcuoH2sAK5EYaKgtm9EZq5VeH_mQ4qGQLGgl70v3v_2I0ElmFOZeSGUO1Q5UcXxaK5-A_8Wed5qr_qpQWGWpc2pkWNM1Q2hQfDVfX9J45Ob2qumYlJ49V_p5Sm6WuqyIrfTQ",
|
||||||
|
"token_type": "bearer",
|
||||||
|
"expires_in": 3600
|
||||||
|
},
|
||||||
|
"intuit_tid": "1-61687378-07987874613592c04a0e3709"
|
||||||
|
}
|
||||||
@@ -31,9 +31,9 @@ exports.default = function ({
|
|||||||
hasMashLine = true;
|
hasMashLine = true;
|
||||||
}
|
}
|
||||||
//Parts Lines Mappings.
|
//Parts Lines Mappings.
|
||||||
if (jobline.profitcenter_part && jobline.act_price) {
|
if (jobline.profitcenter_part) {
|
||||||
let DineroAmount = Dinero({
|
let DineroAmount = Dinero({
|
||||||
amount: Math.round(jobline.act_price * 100),
|
amount: Math.round((jobline.act_price || 0) * 100),
|
||||||
}).multiply(jobline.part_qty || 1);
|
}).multiply(jobline.part_qty || 1);
|
||||||
|
|
||||||
if (
|
if (
|
||||||
|
|||||||
@@ -284,39 +284,54 @@ function CalculatePartsTotals(jobLines) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
default:
|
default:
|
||||||
if (!value.part_type) return acc;
|
if (
|
||||||
|
!value.part_type &&
|
||||||
|
value.db_ref !== "900510" &&
|
||||||
|
value.db_ref !== "900511"
|
||||||
|
)
|
||||||
|
return acc;
|
||||||
return {
|
return {
|
||||||
...acc,
|
...acc,
|
||||||
parts: {
|
parts: {
|
||||||
...acc.parts,
|
...acc.parts,
|
||||||
prt_dsmk_total: acc.parts.prt_dsmk_total.add(
|
prt_dsmk_total: acc.parts.prt_dsmk_total.add(
|
||||||
value.prt_dsmk_m && value.prt_dsmk_m !== 0
|
value.prt_dsmk_m && value.prt_dsmk_m !== 0
|
||||||
? Dinero({ amount: Math.round(value.prt_dsmk_m * 100) })
|
? Dinero({ amount: Math.round(value.prt_dsmk_m * 100) })
|
||||||
: Dinero({
|
: Dinero({
|
||||||
amount: Math.round(value.act_price * 100),
|
amount: Math.round(value.act_price * 100),
|
||||||
})
|
})
|
||||||
.multiply(value.part_qty || 0)
|
.multiply(value.part_qty || 0)
|
||||||
.percentage(Math.abs(value.prt_dsmk_p || 0))
|
.percentage(Math.abs(value.prt_dsmk_p || 0))
|
||||||
.multiply(value.prt_dsmk_p > 0 ? 1 : -1)
|
.multiply(value.prt_dsmk_p > 0 ? 1 : -1)
|
||||||
),
|
),
|
||||||
list: {
|
...(value.part_type
|
||||||
...acc.parts.list,
|
? {
|
||||||
[value.part_type]:
|
list: {
|
||||||
acc.parts.list[value.part_type] &&
|
...acc.parts.list,
|
||||||
acc.parts.list[value.part_type].total
|
[value.part_type]:
|
||||||
? {
|
acc.parts.list[value.part_type] &&
|
||||||
total: acc.parts.list[value.part_type].total.add(
|
acc.parts.list[value.part_type].total
|
||||||
Dinero({
|
? {
|
||||||
amount: Math.round((value.act_price || 0) * 100),
|
total: acc.parts.list[
|
||||||
}).multiply(value.part_qty || 0)
|
value.part_type
|
||||||
),
|
].total.add(
|
||||||
}
|
Dinero({
|
||||||
: {
|
amount: Math.round(
|
||||||
total: Dinero({
|
(value.act_price || 0) * 100
|
||||||
amount: Math.round((value.act_price || 0) * 100),
|
),
|
||||||
}).multiply(value.part_qty || 0),
|
}).multiply(value.part_qty || 0)
|
||||||
},
|
),
|
||||||
},
|
}
|
||||||
|
: {
|
||||||
|
total: Dinero({
|
||||||
|
amount: Math.round(
|
||||||
|
(value.act_price || 0) * 100
|
||||||
|
),
|
||||||
|
}).multiply(value.part_qty || 0),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
: {}),
|
||||||
subtotal: acc.parts.subtotal
|
subtotal: acc.parts.subtotal
|
||||||
.add(
|
.add(
|
||||||
Dinero({
|
Dinero({
|
||||||
@@ -325,13 +340,13 @@ function CalculatePartsTotals(jobLines) {
|
|||||||
)
|
)
|
||||||
.add(
|
.add(
|
||||||
value.prt_dsmk_m && value.prt_dsmk_m !== 0
|
value.prt_dsmk_m && value.prt_dsmk_m !== 0
|
||||||
? Dinero({ amount: Math.round(value.prt_dsmk_m * 100) })
|
? Dinero({ amount: Math.round(value.prt_dsmk_m * 100) })
|
||||||
: Dinero({
|
: Dinero({
|
||||||
amount: Math.round(value.act_price * 100),
|
amount: Math.round(value.act_price * 100),
|
||||||
})
|
})
|
||||||
.multiply(value.part_qty || 0)
|
.multiply(value.part_qty || 0)
|
||||||
.percentage(Math.abs(value.prt_dsmk_p || 0))
|
.percentage(Math.abs(value.prt_dsmk_p || 0))
|
||||||
.multiply(value.prt_dsmk_p > 0 ? 1 : -1)
|
.multiply(value.prt_dsmk_p > 0 ? 1 : -1)
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@@ -465,13 +480,13 @@ function CalculateTaxesTotals(job, otherTotals) {
|
|||||||
.multiply(val.part_qty || 0)
|
.multiply(val.part_qty || 0)
|
||||||
.add(
|
.add(
|
||||||
val.prt_dsmk_m && val.prt_dsmk_m !== 0
|
val.prt_dsmk_m && val.prt_dsmk_m !== 0
|
||||||
? Dinero({ amount: Math.round(val.prt_dsmk_m * 100) })
|
? Dinero({ amount: Math.round(val.prt_dsmk_m * 100) })
|
||||||
: Dinero({
|
: Dinero({
|
||||||
amount: Math.round(val.act_price * 100),
|
amount: Math.round(val.act_price * 100),
|
||||||
})
|
})
|
||||||
.multiply(val.part_qty || 0)
|
.multiply(val.part_qty || 0)
|
||||||
.percentage(Math.abs(val.prt_dsmk_p || 0))
|
.percentage(Math.abs(val.prt_dsmk_p || 0))
|
||||||
.multiply(val.prt_dsmk_p > 0 ? 1 : -1)
|
.multiply(val.prt_dsmk_p > 0 ? 1 : -1)
|
||||||
)
|
)
|
||||||
.percentage(
|
.percentage(
|
||||||
((job.parts_tax_rates &&
|
((job.parts_tax_rates &&
|
||||||
@@ -481,6 +496,10 @@ function CalculateTaxesTotals(job, otherTotals) {
|
|||||||
val.part_type.startsWith("PAG") &&
|
val.part_type.startsWith("PAG") &&
|
||||||
BackupGlassTax &&
|
BackupGlassTax &&
|
||||||
BackupGlassTax.prt_tax_rt) ||
|
BackupGlassTax.prt_tax_rt) ||
|
||||||
|
(!val.part_type &&
|
||||||
|
val.db_ref === "900510" &&
|
||||||
|
job.parts_tax_rates["PAN"] &&
|
||||||
|
job.parts_tax_rates["PAN"].prt_tax_rt) ||
|
||||||
0) * 100
|
0) * 100
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user