tosip

Prev

Nov 19th, 2022
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. exports.searchFiltering = async (req, res) => {
  2.   let query = `SELECT DISTINCT case_tasks.case_task_id,case_tasks.case_no,case_tasks.hearing_prev_date,case_tasks.hearing_next_date,case_tasks.court_type_id,case_tasks.court_id,case_tasks.status,case_tasks.against,courts.district_name,case_assign_task_details.assigne_id
  3.     FROM case_tasks
  4.     INNER JOIN courts ON case_tasks.court_id=courts.court_id
  5.     INNER JOIN case_workflows ON case_workflows.case_task_id=case_tasks.case_task_id
  6.     INNER JOIN case_assign_task_details ON case_assign_task_details.case_workflow_id=case_workflows.case_workflow_id
  7.     WHERE ((case_tasks.case_no=:case_no AND case_tasks.is_deleted=0) OR :case_no IS NULL)
  8.     AND
  9.     ((case_tasks.hearing_prev_date>=:from_date AND case_tasks.is_deleted=0) OR :from_date IS NULL)
  10.     AND
  11.     ((case_tasks.hearing_next_date<=:to_date AND case_tasks.is_deleted=0) OR :to_date IS NULL)
  12.     AND
  13.     ((case_tasks.court_type_id=:court_type_id AND case_tasks.is_deleted=0) OR :court_type_id IS NULL)
  14.     AND
  15.     ((case_tasks.court_id=:court_id AND case_tasks.is_deleted=0) OR :court_id IS NULL)
  16.     AND
  17.     ((case_tasks.status=:status AND case_tasks.is_deleted=0) OR :status IS NULL)
  18.     AND
  19.     ((case_tasks.against=:against AND case_tasks.is_deleted=0) OR :against IS NULL)
  20.     AND
  21.     ((courts.district_name=:district_name AND courts.is_deleted=0) OR :district_name IS NULL)
  22.     AND
  23.     ((case_assign_task_details.assigne_id=:assignee_name AND case_assign_task_details.is_deleted=0) OR :assignee_name IS NULL)`;
  24.  
  25.   const cases = await db.sequelize
  26.     .query(query, {
  27.       replacements: {
  28.         case_no: req.body.case_no,
  29.         from_date: req.body.from_date,
  30.         to_date: req.body.to_date,
  31.         court_type_id: req.body.court_type_id,
  32.         court_id: req.body.court_id,
  33.         status: req.body.status,
  34.         against: req.body.against,
  35.         district_name: req.body.district_name,
  36.         assignee_name: req.body.assignee_id,
  37.       },
  38.       type: QueryTypes.SELECT,
  39.       mapToModel: true,
  40.     })
  41.     .then((cases) => {
  42.       console.log(cases);
  43.       if (cases.length > 0) {
  44.         res.status(200).send({ data: cases });
  45.       } else {
  46.         return res.status(404).send('No case found');
  47.       }
  48.     })
  49.     .catch((err) => {
  50.       res.status(500).send({ message: err.message });
  51.     });
  52. };
Add Comment
Please, Sign In to add comment