1
0
forked from erp-dev/erp

feat: settlement lineup

This commit is contained in:
2026-03-09 22:40:02 +08:00
parent 86f5dab32b
commit 663276288e
24 changed files with 1730 additions and 33 deletions

View File

@@ -0,0 +1,113 @@
#!/bin/bash
# Flower Database Access - 示例脚本
# 这个脚本演示了如何使用数据库访问skill
set -e
# 数据库连接参数
export DB_HOST="127.0.0.1"
export DB_PORT="5432"
export DB_NAME="flower"
export DB_USER="postgres"
export DB_PASS="postgres"
echo "=== Flower ERP 数据库访问示例 ==="
echo
# 示例1: 查询商户信息
echo "1. 查询商户列表:"
echo "---"
PGPASSWORD=$DB_PASS psql -h $DB_HOST -p $DB_PORT -U $DB_USER -d $DB_NAME -c "
SELECT id, name, type, created_at
FROM basic_info_merchant
ORDER BY created_at DESC
LIMIT 5;
"
echo
# 示例2: 查询最近的销售订单
echo "2. 查询最近10条销售订单:"
echo "---"
PGPASSWORD=$DB_PASS psql -h $DB_HOST -p $DB_PORT -U $DB_USER -d $DB_NAME -c "
SELECT
so.id,
so.sales_date,
c.name as customer_name,
so.status,
so.created_at
FROM business_salesorder so
JOIN basic_info_customer c ON so.customer_id = c.id
ORDER BY so.created_at DESC
LIMIT 10;
"
echo
# 示例3: 查询库存
echo "3. 查询库存状态前10个:"
echo "---"
PGPASSWORD=$DB_PASS psql -h $DB_HOST -p $DB_PORT -U $DB_USER -d $DB_NAME -c "
SELECT
p.name as product_name,
w.name as warehouse,
si.quantity,
p.unit
FROM stock_inventory si
JOIN basic_info_product p ON si.product_id = p.id
JOIN basic_info_warehouse w ON si.warehouse_id = w.id
WHERE si.quantity > 0
ORDER BY si.quantity DESC
LIMIT 10;
"
echo
# 示例4: 查询印染订单统计
echo "4. 印染订单统计最近7天:"
echo "---"
PGPASSWORD=$DB_PASS psql -h $DB_HOST -p $DB_PORT -U $DB_USER -d $DB_NAME -c "
SELECT
DATE(created_at) as date,
COUNT(*) as total_orders,
SUM(CASE WHEN is_urgent THEN 1 ELSE 0 END) as urgent_orders,
SUM(CASE WHEN is_fabric_received THEN 1 ELSE 0 END) as fabric_received
FROM printing_printingorder
WHERE created_at >= CURRENT_DATE - INTERVAL '7 days'
GROUP BY DATE(created_at)
ORDER BY date DESC;
"
echo
# 示例5: 查询开版订单进度
echo "5. 开版订单进度统计:"
echo "---"
PGPASSWORD=$DB_PASS psql -h $DB_HOST -p $DB_PORT -U $DB_USER -d $DB_NAME -c "
SELECT
po.id,
po.style_name,
po.plate_type,
po.urgency_level,
po.is_ordered,
po.created_at
FROM printing_plateorder po
WHERE po.is_invalid = false
ORDER BY po.created_at DESC
LIMIT 10;
"
echo
# 示例6: 查询最大的表
echo "6. 数据库表大小统计前10:"
echo "---"
PGPASSWORD=$DB_PASS psql -h $DB_HOST -p $DB_PORT -U $DB_USER -d $DB_NAME -c "
SELECT
schemaname,
tablename,
pg_size_pretty(pg_total_relation_size(schemaname||'.'||tablename)) as size
FROM pg_tables
WHERE schemaname = 'public'
ORDER BY pg_total_relation_size(schemaname||'.'||tablename) DESC
LIMIT 10;
"
echo
echo "=== 示例完成 ==="
echo "更多查询示例请查看 SKILL.md 文件"