File size: 4,500 Bytes
1075a41
a3a8670
e6bdc5a
37f36df
5cf160f
 
1075a41
5cf160f
 
e6bdc5a
5cf160f
 
 
 
 
 
 
 
 
37f36df
 
 
5cf160f
37f36df
5cf160f
 
37f36df
5cf160f
 
37f36df
5cf160f
 
 
 
 
fc53fed
5cf160f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37f36df
5cf160f
 
 
 
 
37f36df
5cf160f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37f36df
5cf160f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37f36df
5cf160f
 
 
37f36df
5cf160f
 
 
 
 
 
 
 
 
 
 
 
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
import streamlit as st
import pandas as pd
from datetime import datetime
import plotly.express as px
import plotly.graph_objects as go
from io import BytesIO

# Page configuration
st.set_page_config(page_title="مدیریت داده‌های مزرعه", layout="wide")

# Load data
@st.cache_data
def load_data():
    try:
        df = pd.read_csv('پایگاه داده.csv')
        return df
    except Exception as e:
        st.error(f"Error loading data: {str(e)}")
        return pd.DataFrame()

# Initialize session state
if 'data' not in st.session_state:
    st.session_state.data = load_data()

# Main title
st.title("سیستم مدیریت داده‌های مزرعه")

# Create three tabs
tab1, tab2, tab3 = st.tabs(["اطلاعات پایه", "اطلاعات نیتروژن", "اطلاعات ایستگاه‌ها"])

with tab1:
    # Basic Information Form
    st.subheader("ورود اطلاعات پایه")
    with st.form("basic_info_form"):
        col1, col2, col3 = st.columns(3)
        
        with col1:
            farm_id = st.text_input("نماینده")
            channel = st.text_input("کانال")
            department = st.text_input("اداره")
            
        with col2:
            production = st.text_input("تولید")
            area = st.number_input("مساحت داشت", 0.0)
            sub_area = st.number_input("مساحت زیرمجموعه", 0.0)
            
        with col3:
            variety = st.text_input("واریته")
            age = st.text_input("سن")
            date = st.date_input("تاریخ برداشت")
            
        submit_basic = st.form_submit_button("ثبت اطلاعات پایه")
        if submit_basic:
            st.success("اطلاعات پایه با موفقیت ثبت شد")

with tab2:
    # Nitrogen Information Form
    st.subheader("ورود اطلاعات نیتروژن")
    with st.form("nitrogen_info_form"):
        col1, col2 = st.columns(2)
        
        with col1:
            nitrogen_current = st.number_input("نیتروژن فعلی", 0.0)
            nitrogen_std = st.number_input("نیتروژن استاندارد قبلی", 0.0)
            nitrogen_prev = st.number_input("نیتروژن قبلی", 0.0)
            
        with col2:
            nitrogen_std_prev = st.number_input("نیتروژن استاندارد قبلی فعلی", 0.0)
            moisture_current = st.number_input("رطوبت فعلی", 0.0)
            moisture_std = st.number_input("رطوبت استاندارد قبلی", 0.0)
            
        submit_nitrogen = st.form_submit_button("ثبت اطلاعات نیتروژن")
        if submit_nitrogen:
            st.success("اطلاعات نیتروژن با موفقیت ثبت شد")

with tab3:
    # Station Information Form
    st.subheader("ورود اطلاعات ایستگاه‌ها")
    with st.form("station_info_form"):
        col1, col2, col3 = st.columns(3)
        
        with col1:
            station1 = st.number_input("ایستگاه ۱", 0.0)
            station2 = st.number_input("ایستگاه ۲", 0.0)
            station3 = st.number_input("ایستگاه ۳", 0.0)
            
        with col2:
            station4 = st.number_input("ایستگاه ۴", 0.0)
            station5 = st.number_input("ایستگاه ۵", 0.0)
            height_current = st.number_input("ارتفاع هفته جاری", 0.0)
            
        with col3:
            height_prev = st.number_input("ارتفاع هفته گذشته", 0.0)
            growth_current = st.number_input("رشد هفته جاری", 0.0)
            growth_prev = st.number_input("رشد هفته گذشته", 0.0)
            
        submit_station = st.form_submit_button("ثبت اطلاعات ایستگاه‌ها")
        if submit_station:
            st.success("اطلاعات ایستگاه‌ها با موفقیت ثبت شد")

# Display data table
st.header("نمایش داده‌ها")
st.dataframe(st.session_state.data)

# Export functionality
st.header("خروجی داده‌ها")
if st.button("دانلود داده‌ها"):
    output = BytesIO()
    st.session_state.data.to_excel(output, index=False)
    output.seek(0)
    st.download_button(
        label="دانلود فایل اکسل",
        data=output,
        file_name=f"farm_data_export_{datetime.now().strftime('%Y%m%d_%H%M%S')}.xlsx",
        mime="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
    )