save code
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
from typing import List
|
||||
from typing import List, Optional
|
||||
from fastapi import APIRouter, Depends, HTTPException, status
|
||||
from sqlalchemy.orm import Session
|
||||
from app.database.database import get_db
|
||||
@@ -16,11 +16,32 @@ router = APIRouter(prefix="/projects", tags=["项目管理"])
|
||||
def get_projects(
|
||||
skip: int = 0,
|
||||
limit: int = 100,
|
||||
start_date: Optional[str] = None,
|
||||
end_date: Optional[str] = None,
|
||||
min_budget: Optional[int] = None,
|
||||
max_budget: Optional[int] = None,
|
||||
db: Session = Depends(get_db),
|
||||
current_user: User = Depends(get_current_active_user)
|
||||
):
|
||||
"""获取项目列表"""
|
||||
projects = db.query(Project).offset(skip).limit(limit).all()
|
||||
projects = db.query(Project)
|
||||
|
||||
# 按开始日期筛选
|
||||
if start_date:
|
||||
projects = projects.filter(Project.start_date >= start_date)
|
||||
|
||||
# 按结束日期筛选
|
||||
if end_date:
|
||||
projects = projects.filter(Project.end_date <= end_date)
|
||||
|
||||
# 按预算范围筛选
|
||||
if min_budget is not None:
|
||||
projects = projects.filter(Project.budget >= min_budget)
|
||||
|
||||
if max_budget is not None:
|
||||
projects = projects.filter(Project.budget <= max_budget)
|
||||
|
||||
projects = projects.offset(skip).limit(limit).all()
|
||||
return projects
|
||||
|
||||
|
||||
@@ -38,12 +59,24 @@ def create_project(
|
||||
)
|
||||
# 创建新项目
|
||||
db_project = Project(
|
||||
project_code=project.project_code,
|
||||
name=project.name,
|
||||
project_type=project.project_type,
|
||||
description=project.description,
|
||||
department=project.department,
|
||||
contract_amount=project.contract_amount,
|
||||
project_manager=project.project_manager,
|
||||
client_company=project.client_company,
|
||||
client_contact=project.client_contact,
|
||||
contract_date=project.contract_date,
|
||||
budget=project.budget,
|
||||
start_date=project.start_date,
|
||||
end_date=project.end_date,
|
||||
planned_end_date=project.planned_end_date,
|
||||
actual_end_date=project.actual_end_date,
|
||||
progress=project.progress,
|
||||
actual_received_amount=project.actual_received_amount,
|
||||
payment_completion_rate=project.payment_completion_rate,
|
||||
payment_terms=project.payment_terms,
|
||||
status=project.status,
|
||||
created_by=current_user.id
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user