Blame view

scripts/test/test_tech_gm_cell_amount_final.sh 2.75 KB
0cfc43b9   “wangming”   修复科技部总经理工资计算逻辑及相关...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
  #!/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获取成功: ${TOKEN:0:50}..."
  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. 调用计算接口..."
  RESPONSE=$(curl -s -w "\nHTTP_CODE:%{http_code}" -X POST \
    "http://localhost:2011/api/Extend/lqtechgeneralmanagersalary/calculate/tech-general-manager?year=2025&month=12" \
    -H "Authorization: $TOKEN")
  HTTP_CODE=$(echo "$RESPONSE" | grep "HTTP_CODE" | cut -d: -f2)
  BODY=$(echo "$RESPONSE" | sed '/HTTP_CODE/d')
  
  echo "HTTP状态码: $HTTP_CODE"
  if [ "$HTTP_CODE" = "200" ]; then
    echo "响应: $BODY" | python3 -m json.tool 2>/dev/null || echo "响应: $BODY"
  else
    echo "❌ 接口调用失败"
    echo "响应: $BODY"
  fi
  echo ""
  
  # 4. 等待3秒
  echo "4. 等待3秒..."
  sleep 3
  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 ""
  
  echo "=== 测试完成 ==="