Admin
দৈনিক ফার্ম লগ
Draft
⚡ দ্রুত লগ
🍄
হার্ভেস্ট
আজকের মোট উৎপাদন — সব পণ্য
খালি
তাজা অয়েস্টার মাশরুম
বাজারযোগ্য, সম্পূর্ণ মাশরুম
ছোট বা সামান্য অসম্পূর্ণ
QC-তে বাদ পড়া
মোট তাজা (kg)
QC পাশ হার
প্রসেসড পণ্য (আউটপুট)
হার্ভেস্ট করা রুম
কোয়ালিটি নিয়ন্ত্রণ
QC পাশ/ফেল, দূষণ ঘটনা
খালি
আজ দূষণের ঘটনা ছিল?
🌱
স্পন ও সাবস্ট্রেট
কেনা, ব্যবহার, ব্যাগ তৈরি
খালি
আজ স্পন কেনা হয়েছে?
দূষণ বা ব্যর্থতার কারণে
স্পন রেট
ব্যাগ সাফল্য হার
⚙️
প্রসেসিং
তাজা→শুকনো→পাউডার রূপান্তর
খালি
তাজা → শুকনো
শুকনো → পাউডার
📦
বিক্রি ও স্টক
আজকের বিক্রয়, দিনশেষের মজুদ
খালি
আজকের বিক্রয়
৳ 0
৳ 0
৳ 0
বিক্রি না হওয়া বা পচে যাওয়া
আজ B2B অর্ডার ছিল?
দিনশেষের মজুদ (ক্লোজিং স্টক)
💰
দৈনিক খরচ
COGS ও পরিচালন ব্যয়
খালি
স্পন সেকশন থেকে অটো-ফিল করুন
৳ 0
🏭
অপারেশন
রুম, ব্যাগ, ব্যাচ, কর্মী
খালি
দূষণ বা সম্পন্ন
আজ যন্ত্রপাতির সমস্যা ছিল?
📝
পর্যবেক্ষণ ও পরিকল্পনা
দৈনিক মন্তব্য, আবহাওয়া, পরের দিনের পরিকল্পনা
খালি
সাম্প্রতিক লগ — শেষ ৩০ দিন
তারিখতাজা (kg)শুকনো (kg)পাউডার (kg) QC পাশ%রাজস্ব (৳)খরচ (৳)নিট (৳) ব্যাগরেটিং
লগ লোড হচ্ছে…
৳ 0 রাজস্ব
৳ 0 খরচ
৳ 0 নিট লাভ
⚡ দ্রুত লগ
CREATE TABLE IF NOT EXISTS farm_daily_logs (
  id BIGSERIAL PRIMARY KEY, log_date DATE NOT NULL UNIQUE, created_at TIMESTAMPTZ DEFAULT NOW(), updated_at TIMESTAMPTZ DEFAULT NOW(),
  harvest_fresh_a NUMERIC(8,3), harvest_fresh_b NUMERIC(8,3), harvest_fresh_rej NUMERIC(8,3),
  harvest_dried NUMERIC(8,3), harvest_powder NUMERIC(8,3), harvest_rooms TEXT[], harvest_primary_batch TEXT, harvest_flush_num INT,
  qc_pass NUMERIC(8,3), qc_fail NUMERIC(8,3), qc_fail_reason TEXT,
  contam_event BOOLEAN DEFAULT FALSE, contam_room TEXT, contam_type TEXT, contam_bags INT, contam_action TEXT,
  spawn_bought_kg NUMERIC(8,3), spawn_price_per_kg NUMERIC(8,2), spawn_supplier TEXT,
  spawn_used_kg NUMERIC(8,3), substrate_kg NUMERIC(8,3), substrate_type TEXT, bags_inoculated INT, bags_discarded INT,
  pr_fresh_in NUMERIC(8,3), pr_dried_out NUMERIC(8,3), pr_dried_in NUMERIC(8,3), pr_powder_out NUMERIC(8,3), pr_notes TEXT,
  s_fresh_kg NUMERIC(8,3), s_fresh_price NUMERIC(8,2), s_dried_kg NUMERIC(8,3), s_dried_price NUMERIC(8,2),
  s_powder_kg NUMERIC(8,3), s_powder_price NUMERIC(8,2), s_orders INT, s_waste NUMERIC(8,3),
  s_b2b_name TEXT, s_b2b_qty NUMERIC(8,3), s_b2b_value NUMERIC(10,2),
  st_fresh NUMERIC(8,3), st_dried NUMERIC(8,3), st_powder NUMERIC(8,3),
  ex_spawn NUMERIC(10,2), ex_substrate NUMERIC(10,2), ex_packaging NUMERIC(10,2), ex_labor NUMERIC(10,2),
  ex_electricity NUMERIC(10,2), ex_transport NUMERIC(10,2), ex_water NUMERIC(10,2), ex_other NUMERIC(10,2), ex_notes TEXT,
  op_rooms INT, op_bags_total INT, op_workers INT, op_shifts INT,
  op_new_batches INT, op_done_batches INT, op_bags_removed INT, op_energy_kwh NUMERIC(8,2),
  op_issue BOOLEAN DEFAULT FALSE, op_issue_desc TEXT,
  n_weather TEXT, n_overall_rating INT, n_observations TEXT, n_tomorrow TEXT, n_unusual TEXT, submitted_by TEXT
);
ALTER TABLE farm_daily_logs ENABLE ROW LEVEL SECURITY;
CREATE POLICY "admin_only" ON farm_daily_logs FOR ALL TO authenticated
  USING (auth.jwt() ->> 'email' = ANY(ARRAY['mushroombangladesh.info@gmail.com','quazishaab@gmail.com']))
  WITH CHECK (auth.jwt() ->> 'email' = ANY(ARRAY['mushroombangladesh.info@gmail.com','quazishaab@gmail.com']));