TovaHasi's picture
Update app.py
ae91796
raw
history blame
No virus
3.99 kB
import streamlit as st
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import math
st.set_page_config(
page_title="Ex-stream-ly Cool App",
page_icon="🧊",
layout="wide",
initial_sidebar_state="expanded"
)
st.title("Калькулятор Toyota 📦")
st.subheader('Toyota Material Handling')
st.write("""
тут информация про калькулятор
""")
col1, col2 = st.columns(2)
Number_of_incoming_pallets = st.number_input('Количество поступаемых паллет, паллет/месяц', value=40)
Number_of_pallets_shipped = st.number_input('Количество отгружаемых паллет, паллет/месяц', value=40)
The_average_cost_of_one_product = st.number_input('Средняя стоимость одного товара, руб.', value=3000)
with col1:
The_cost_of_warehouse_maintenance_services = st.number_input('Стоимость услуг по обеспечению склада, руб./месяц', value=50000)
Average_salary = st.number_input('Средняя зарпала, сотрудник', value=50850)
Equipment_breakdown_rate_in_stock = st.number_input('Коэффициент поломки оборудования на складе, %', value=5)
The_cost_of_equipment_repair_in_the_warehouse = st.number_input('Стоимость ремонта оборудования на складе, руб./шт.', value=20000)
The_cost_of_warehouse_information_support = st.number_input('Стоимость информационной поддержки склада, руб./месяц', value=20000)
Spoilage_coefficient = st.number_input('Коэффициент порчи, %', value=0.1)
Number_of_working_hours_per_month = st.number_input('Количество рабочих часов в месяц, час', value=176)
Average_number_of_goods_per_pallet = st.number_input('Среднее количество товаров в одном паллете, шт./палелт', value=120)
Productivity_of_one_employee = st.number_input('Производительность одного сотрудника, паллетомест/час', value=0.2)
with col2:
Price_for_processing_ont_pallet = st.number_input('Цена за обработку 1 паллета, руб.', value=300)
def get_average_number_of_damaged_goods():
return (Number_of_incoming_pallets + Number_of_pallets_shipped) * Spoilage_coefficient * Average_number_of_goods_per_pallet / 100
def get_cnt_emplyes_and_equipment():
The_number_of_pallets_processed_by_one_employee = Productivity_of_one_employee * Number_of_working_hours_per_month
Number_of_employees = math.ceil((Number_of_incoming_pallets + Number_of_pallets_shipped) / The_number_of_pallets_processed_by_one_employee)
return Number_of_employees, Number_of_employees
def get_insource_cost():
Wage_fund = Number_of_employees * Average_salary
The_cost_of_repairing_broken_equipment = Number_of_equipment * The_cost_of_equipment_repair_in_the_warehouse * Equipment_breakdown_rate_in_stock / 100
Spoilage = Average_number_of_damaged_goods * The_average_cost_of_one_product
return [The_cost_of_warehouse_maintenance_services,
Wage_fund,
The_cost_of_warehouse_information_support,
The_cost_of_repairing_broken_equipment,
Spoilage,
The_cost_of_warehouse_maintenance_services + Wage_fund + The_cost_of_repairing_broken_equipment + The_cost_of_warehouse_information_support + Spoilage]
def get_outsource_cost():
pass
if st.button('Расчет эффективности'):
Number_of_employees, Number_of_equipment = get_cnt_emplyes_and_equipment()
Average_number_of_damaged_goods = get_average_number_of_damaged_goods()
insource_cost = get_insource_cost()
st.write(f'Затраты Insource склад {insource_cost}')