#!/bin/sh
# ============================================================
#  移除 8 個停用欄位 + 勞工主任模組
#  （職位編號／批文日期／批文結束日期／批文人工／申請日期／刊登報紙／交勞固會／勞工主任）
#  適用：154.94.239.207 (BT Panel)
#  請以 root 執行（寶塔面板「終端機」內貼上）
# ============================================================
set -e

PROJ=/www/wwwroot/faithfulness
SRC=/home/wing/wkr_tmp/extract_fields

echo "=== [1/6] 備份資料庫 ==="
export MYSQL_PWD=$(grep '^DB_PASSWORD=' $PROJ/.env | cut -d= -f2)
DB_USER=$(grep '^DB_USERNAME=' $PROJ/.env | cut -d= -f2)
DB_NAME=$(grep '^DB_DATABASE=' $PROJ/.env | cut -d= -f2)
mkdir -p /home/wing/wkr_tmp/backup
/www/server/mysql/bin/mysqldump -h 127.0.0.1 -u "$DB_USER" --single-transaction "$DB_NAME" > /home/wing/wkr_tmp/backup/db_before_remove_fields_$(date +%Y%m%d).sql 2>/dev/null || /www/server/mysql/bin/mysqldump -h 127.0.0.1 -u "$DB_USER" --single-transaction "$DB_NAME" 2>/dev/null > /home/wing/wkr_tmp/backup/db_before_remove_fields_$(date +%Y%m%d).sql
ls -la /home/wing/wkr_tmp/backup/
echo "備份完成"

echo "=== [2/6] 備份將刪除/覆蓋的檔案 ==="
mkdir -p /home/wing/wkr_tmp/backup/files
for f in app/Models/Worker.php app/Models/LaborOfficer.php app/Http/Requests/WorkerRequest.php app/Http/Requests/LaborOfficerRequest.php app/Http/Controllers/WorkerController.php app/Http/Controllers/LaborOfficerController.php app/Imports/WorkersImport.php app/Exports/WorkerImportTemplateExport.php app/Services/ContractTemplateService.php app/Services/DemoDataService.php app/Providers/AppServiceProvider.php app/Observers/AuditableObserver.php routes/web.php resources/views/labor_officers.blade.php resources/views/labor_officers_edit.blade.php public/css/pages/labor_officers.css; do
  if [ -f "$PROJ/$f" ]; then
    mkdir -p /home/wing/wkr_tmp/backup/files/$(dirname $f)
    cp -a "$PROJ/$f" /home/wing/wkr_tmp/backup/files/$f
  fi
done
echo "檔案備份完成"

echo "=== [3/6] 刪除勞工主任模組檔案 ==="
rm -f $PROJ/app/Models/LaborOfficer.php
rm -f $PROJ/app/Http/Controllers/LaborOfficerController.php
rm -f $PROJ/app/Http/Requests/LaborOfficerRequest.php
rm -f $PROJ/resources/views/labor_officers.blade.php
rm -f $PROJ/resources/views/labor_officers_edit.blade.php
rm -f $PROJ/public/css/pages/labor_officers.css
echo "刪除完成"

echo "=== [4/6] 複製新檔案 ==="
cd $SRC
cp -a app/Models/Worker.php $PROJ/app/Models/
cp -a app/Http/Requests/WorkerRequest.php $PROJ/app/Http/Requests/
cp -a app/Http/Controllers/WorkerController.php $PROJ/app/Http/Controllers/
cp -a app/Imports/WorkersImport.php $PROJ/app/Imports/
cp -a app/Exports/WorkerImportTemplateExport.php $PROJ/app/Exports/
cp -a app/Services/ContractTemplateService.php $PROJ/app/Services/
cp -a app/Services/DemoDataService.php $PROJ/app/Services/
cp -a app/Services/ManualService.php $PROJ/app/Services/
cp -a app/Providers/AppServiceProvider.php $PROJ/app/Providers/
cp -a app/Observers/AuditableObserver.php $PROJ/app/Observers/
cp -a routes/web.php $PROJ/routes/
cp -a resources/views/workers_create.blade.php $PROJ/resources/views/
cp -a resources/views/workers_edit.blade.php $PROJ/resources/views/
cp -a resources/views/workers_show.blade.php $PROJ/resources/views/
cp -a resources/views/layouts/admin.blade.php $PROJ/resources/views/layouts/
cp -a resources/views/import.blade.php $PROJ/resources/views/
mkdir -p $PROJ/database/migrations
cp -a database/migrations/*.php $PROJ/database/migrations/
mkdir -p $PROJ/tests/Feature
cp -a tests/Feature/*.php $PROJ/tests/Feature/ 2>/dev/null || true
echo "複製完成"

echo "=== [5/6] 修正權限 + migration + 清快取 ==="
chown -R www:www $PROJ/app $PROJ/routes $PROJ/resources $PROJ/database $PROJ/tests
cd $PROJ
sudo -u www /usr/bin/php artisan migrate --force
sudo -u www /usr/bin/php artisan optimize:clear

echo "=== [6/6] 驗證 ==="
sudo -u www /usr/bin/php artisan migrate:status 2>/dev/null | tail -3
ls $PROJ/app/Models/LaborOfficer.php 2>/dev/null && echo "OFFICER_MODEL_STILL_EXISTS (BAD)" || echo "OFFICER_MODEL_REMOVED (OK)"
sudo -u www /usr/bin/php artisan route:list 2>/dev/null | grep -c labor_officers || echo "labor_officers routes: 0 (OK)"
echo "=== 全部完成，請重新匯入 Excel 測試 ==="
