test_tech_gm_cell_amount.sh 2.78 KB
#!/bin/bash

echo "=== 测试科技部总经理Cell金额计算 ==="
echo ""

# 1. 获取Token
echo "1. 获取Token..."
TOKEN=$(curl -s -X POST "http://localhost:2011/api/oauth/Login" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "account=admin&password=e10adc3949ba59abbe56e057f20f883e" | \
  python3 -c "import sys, json; data = json.load(sys.stdin); print(data.get('data', {}).get('token', ''))")

if [ -z "$TOKEN" ]; then
  echo "❌ 获取Token失败"
  exit 1
fi
echo "✅ Token获取成功"
echo ""

# 2. 查询计算前的数据
echo "2. 查询计算前的数据..."
BEFORE_CELL=$(mysql -h127.0.0.1 -uroot -p123456 lqerp_dev -sN -e \
  "SELECT F_CellAmount FROM lq_tech_general_manager_salary_statistics WHERE F_EmployeeName LIKE '%夏萍%' AND F_StatisticsMonth = '202512'")
BEFORE_UPDATE_TIME=$(mysql -h127.0.0.1 -uroot -p123456 lqerp_dev -sN -e \
  "SELECT F_UpdateTime FROM lq_tech_general_manager_salary_statistics WHERE F_EmployeeName LIKE '%夏萍%' AND F_StatisticsMonth = '202512'")
echo "计算前 Cell金额: $BEFORE_CELL"
echo "计算前 UpdateTime: $BEFORE_UPDATE_TIME"
echo ""

# 3. 调用计算接口
echo "3. 调用计算接口..."
RESULT=$(curl -s -X POST "http://localhost:2011/api/Extend/lqtechgeneralmanagersalary/calculate/tech-general-manager?year=2025&month=12" \
  -H "Authorization: $TOKEN")
echo "响应: $RESULT"
echo ""

# 4. 等待2秒
echo "4. 等待2秒..."
sleep 2
echo ""

# 5. 查询计算后的数据
echo "5. 查询计算后的数据..."
AFTER_CELL=$(mysql -h127.0.0.1 -uroot -p123456 lqerp_dev -sN -e \
  "SELECT F_CellAmount FROM lq_tech_general_manager_salary_statistics WHERE F_EmployeeName LIKE '%夏萍%' AND F_StatisticsMonth = '202512'")
AFTER_UPDATE_TIME=$(mysql -h127.0.0.1 -uroot -p123456 lqerp_dev -sN -e \
  "SELECT F_UpdateTime FROM lq_tech_general_manager_salary_statistics WHERE F_EmployeeName LIKE '%夏萍%' AND F_StatisticsMonth = '202512'")
echo "计算后 Cell金额: $AFTER_CELL"
echo "计算后 UpdateTime: $AFTER_UPDATE_TIME"
echo ""

# 6. 验证结果
echo "6. 验证结果..."
EXPECTED_CELL="69838.00"
if [ "$AFTER_CELL" == "$EXPECTED_CELL" ]; then
  echo "✅ Cell金额正确: $AFTER_CELL (预期: $EXPECTED_CELL)"
else
  echo "❌ Cell金额不正确: $AFTER_CELL (预期: $EXPECTED_CELL)"
fi

if [ "$AFTER_UPDATE_TIME" != "$BEFORE_UPDATE_TIME" ]; then
  echo "✅ UpdateTime已更新"
else
  echo "⚠️  UpdateTime未更新"
fi
echo ""

# 7. 查询门店明细
echo "7. 查询门店明细..."
mysql -h127.0.0.1 -uroot -p123456 lqerp_dev -e \
  "SELECT JSON_EXTRACT(F_StoreDetail, '\$[2].StoreName') as StoreName, \
          JSON_EXTRACT(F_StoreDetail, '\$[2].CellAmount') as CellAmount \
   FROM lq_tech_general_manager_salary_statistics \
   WHERE F_EmployeeName LIKE '%夏萍%' AND F_StatisticsMonth = '202512'"
echo ""

echo "=== 测试完成 ==="