const checklistModel = require('../models/checklistModel'); exports.getAllChecks = async (req, res) => { try { const checks = await checklistModel.getAllChecks(); res.json({ success: true, data: checks }); } catch (err) { console.error('체크리스트 조회 오류:', err); res.status(500).json({ success: false, error: '체크리스트 조회 실패' }); } }; exports.getCheckById = async (req, res) => { try { const check = await checklistModel.getCheckById(req.params.id); if (!check) return res.status(404).json({ success: false, error: '항목을 찾을 수 없습니다' }); res.json({ success: true, data: check }); } catch (err) { console.error('체크리스트 항목 조회 오류:', err); res.status(500).json({ success: false, error: '조회 실패' }); } }; exports.createCheck = async (req, res) => { try { if (!req.body.item_content && !req.body.check_item) return res.status(400).json({ success: false, error: '점검 항목 내용은 필수입니다' }); const checkId = await checklistModel.createCheck(req.body); res.status(201).json({ success: true, message: '항목이 추가되었습니다', data: { check_id: checkId } }); } catch (err) { console.error('체크리스트 항목 추가 오류:', err); res.status(500).json({ success: false, error: '추가 실패' }); } }; exports.updateCheck = async (req, res) => { try { const result = await checklistModel.updateCheck(req.params.id, req.body); if (result.affectedRows === 0) return res.status(404).json({ success: false, error: '항목을 찾을 수 없습니다' }); res.json({ success: true, message: '항목이 수정되었습니다' }); } catch (err) { console.error('체크리스트 항목 수정 오류:', err); res.status(500).json({ success: false, error: '수정 실패' }); } }; exports.deleteCheck = async (req, res) => { try { const result = await checklistModel.deleteCheck(req.params.id); if (result.affectedRows === 0) return res.status(404).json({ success: false, error: '항목을 찾을 수 없습니다' }); res.json({ success: true, message: '항목이 삭제되었습니다' }); } catch (err) { console.error('체크리스트 항목 삭제 오류:', err); res.status(500).json({ success: false, error: '삭제 실패' }); } }; exports.getWeatherConditions = async (req, res) => { try { const conditions = await checklistModel.getWeatherConditions(); res.json({ success: true, data: conditions }); } catch (err) { console.error('날씨 조건 조회 오류:', err); res.status(500).json({ success: false, error: '조회 실패' }); } }; exports.getWorkTypes = async (req, res) => { try { const types = await checklistModel.getWorkTypes(); res.json({ success: true, data: types }); } catch (err) { console.error('공정 조회 오류:', err); res.status(500).json({ success: false, error: '조회 실패' }); } }; exports.getTasksByWorkType = async (req, res) => { try { const tasks = await checklistModel.getTasksByWorkType(req.params.workTypeId); res.json({ success: true, data: tasks }); } catch (err) { console.error('작업 목록 조회 오류:', err); res.status(500).json({ success: false, error: '조회 실패' }); } };