diff --git a/tkpurchase/api/controllers/scheduleController.js b/tkpurchase/api/controllers/scheduleController.js index 26d3820..ba1ac98 100644 --- a/tkpurchase/api/controllers/scheduleController.js +++ b/tkpurchase/api/controllers/scheduleController.js @@ -3,8 +3,9 @@ const scheduleModel = require('../models/scheduleModel'); // 일정 목록 async function list(req, res) { try { - const { company_id, date_from, date_to, status, project_id, page, limit } = req.query; + const { company, company_id, date_from, date_to, status, project_id, page, limit } = req.query; const rows = await scheduleModel.findAll({ + company: company || undefined, company_id: company_id ? parseInt(company_id) : undefined, date_from, date_to, diff --git a/tkpurchase/api/models/scheduleModel.js b/tkpurchase/api/models/scheduleModel.js index 66cfcd8..20de57a 100644 --- a/tkpurchase/api/models/scheduleModel.js +++ b/tkpurchase/api/models/scheduleModel.js @@ -1,6 +1,6 @@ const { getPool } = require('./partnerModel'); -async function findAll({ company_id, date_from, date_to, status, project_id, page = 1, limit = 50 } = {}) { +async function findAll({ company, company_id, date_from, date_to, status, project_id, page = 1, limit = 50 } = {}) { const db = getPool(); let sql = `SELECT ps.*, pc.company_name, su.name AS registered_by_name, p.project_name, p.job_no @@ -10,6 +10,7 @@ async function findAll({ company_id, date_from, date_to, status, project_id, pag LEFT JOIN projects p ON ps.project_id = p.project_id WHERE 1=1`; const params = []; + if (company) { sql += ' AND pc.company_name LIKE ?'; params.push('%' + company + '%'); } if (company_id) { sql += ' AND ps.company_id = ?'; params.push(company_id); } if (date_from) { sql += ' AND ps.end_date >= ?'; params.push(date_from); } if (date_to) { sql += ' AND ps.start_date <= ?'; params.push(date_to); }