supplychain/build.sh
yumoqing da32159ad9 feat: 供应商和分销商管理模块 (supplychain)
- 7个数据库表: suppliers, supply_contracts, supply_contract_items,
  sub_distributors, distribution_agreements, distribution_agreement_items,
  supplychain_accounting
- CRUD JSON配置 (7个列表 + editable段)
- API端点: create/update/delete (21个) + calculate_accounting + query_discount (2个)
- 前端页面: index.ui + 5个功能页 + menu.ui
- 记账计算: 自动查找有效合同/协议折扣,计算进货金额、分销金额、利润
- 折扣查找优先级: 精确产品 > 产品分类 > 默认折扣
- productid/prodtypeid引用product模块(即将开发)
2026-05-25 15:37:06 +08:00

52 lines
1.3 KiB
Bash

#!/usr/bin/env bash
set -e
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
cd "$SCRIPT_DIR"
# Find Sage root directory
SAGE_ROOT=""
for candidate in "$SCRIPT_DIR/../.." "$HOME/repos/sage" "$HOME/sage"; do
if [ -d "$candidate/wwwroot" ] && [ -d "$candidate/py3/bin" ]; then
SAGE_ROOT="$(cd "$candidate" && pwd)"
break
fi
done
if [ -z "$SAGE_ROOT" ]; then
echo "ERROR: Cannot find Sage root directory"
exit 1
fi
echo "Sage root: $SAGE_ROOT"
# Install module
cd "$SCRIPT_DIR"
$SAGE_ROOT/py3/bin/pip install -e .
# Generate DDL from models
if [ -d "$SCRIPT_DIR/models" ]; then
echo "Generating DDL..."
cd "$SCRIPT_DIR/models"
$SAGE_ROOT/py3/bin/json2ddl mysql . > mysql.ddl.sql
echo "DDL generated: $SCRIPT_DIR/models/mysql.ddl.sql"
fi
# Generate CRUD UI from json definitions
if [ -d "$SCRIPT_DIR/json" ]; then
echo "Generating CRUD UI files..."
cd "$SCRIPT_DIR/json"
for f in *.json; do
echo " Processing $f..."
done
$SAGE_ROOT/py3/bin/xls2ui -m ../models -o ../wwwroot supplychain *.json
echo "CRUD UI files generated."
fi
# Create symlink in Sage wwwroot
echo "Creating wwwroot symlink..."
rm -f "$SAGE_ROOT/wwwroot/supplychain"
ln -s "$SCRIPT_DIR/wwwroot" "$SAGE_ROOT/wwwroot/supplychain"
echo "Build complete."