feature/IO-3255-simplified-parts-management -Cleanup / Docblocks

This commit is contained in:
Dave Richer
2025-07-07 13:19:19 -04:00
parent c71026f22a
commit 91cc12873e
3 changed files with 88 additions and 6 deletions

View File

@@ -11,6 +11,13 @@ const {
DELETE_JOBLINES_BY_IDS
} = require("../partsManagement.queries");
/**
* Finds a job by shop ID and claim number.
* @param shopId
* @param claimNum
* @param logger
* @returns {Promise<*|null>}
*/
const findJob = async (shopId, claimNum, logger) => {
try {
const { jobs } = await client.request(GET_JOB_BY_CLAIM, { shopid: shopId, clm_no: claimNum });
@@ -21,6 +28,11 @@ const findJob = async (shopId, claimNum, logger) => {
}
};
/**
* Extracts updated job data from the request payload.
* @param rq
* @returns {{comment: (number|((comment: Comment, helper: postcss.Helpers) => (Promise<void> | void))|string|null), clm_no: null, status: (*|null), policy_no: (*|null)}}
*/
const extractUpdatedJobData = (rq) => {
const doc = rq.DocumentInfo || {};
const claim = rq.ClaimInfo || {};
@@ -33,6 +45,12 @@ const extractUpdatedJobData = (rq) => {
};
};
/**
* Extracts updated job lines from the request payload.
* @param addsChgs
* @param jobId
* @returns {{jobid: *, line_no: number, unq_seq: number, status, line_desc, part_type, part_qty: number, oem_partno, db_price: number, act_price: number, mod_lbr_ty, mod_lb_hrs: number, lbr_op, lbr_amt: number, notes, manual_line: boolean}[]}
*/
const extractUpdatedJobLines = (addsChgs = {}, jobId) => {
const lines = Array.isArray(addsChgs.DamageLineInfo) ? addsChgs.DamageLineInfo : [addsChgs.DamageLineInfo || []];
@@ -56,12 +74,23 @@ const extractUpdatedJobLines = (addsChgs = {}, jobId) => {
}));
};
/**
* Extracts deletion IDs from the deletions object.
* @param deletions
* @returns {number[]}
*/
const extractDeletions = (deletions = {}) => {
const lines = Array.isArray(deletions.DamageLineInfo) ? deletions.DamageLineInfo : [deletions.DamageLineInfo || []];
return lines.map((line) => parseInt(line.UniqueSequenceNum, 10)).filter((id) => !isNaN(id));
};
/**
* Handles VehicleDamageEstimateChgRq requests.
* @param req
* @param res
* @returns {Promise<*>}
*/
const partsManagementVehicleDamageEstimateChgRq = async (req, res) => {
const { logger } = req;