PKD سامانهٔ کارکنان یک مجموعهٔ تولید سبزیجات است: ثبت ساعات کار با تراشهٔ NFC یا کد QR کنار ردیفهای گلخانه، حتی بدون اینترنت. از اسکنها ساعات کار، نمای گردش کار و گزارش کارکرد به دست میآید. در کنار آن: گفتوگوی تیمی و تماس صوتی، ویدیوهای آموزشی به زبان مادری هر نفر، شمارندهٔ بستههای محصول با دوربین و هوش مصنوعی، و گوشیهای سازمانی در حالت کیوسک. سرور، برنامهٔ وب، اندروید و iOS، همه به دست یک نفر.
نویسنده: عباس حسینی·وب، اندروید، iOS·نرمافزار اختصاصی
یک مجموعهٔ تولید سبزیجات با نیروهای فصلی و ثابت از چند گروه زبانی. پیش از این، کار هر ردیف روی فرمهای کاغذی ثبت میشد؛ نرمافزار حقوق و دستمزد رابط قابلاستفادهای برای اتصال ندارد و وایفای به همهجا نمیرسد. PKD با اسکن تراشهٔ هر ردیف، ثبت کاغذی را کنار میگذارد و اطلاعات موردنیاز دفتر و مدیریت را فراهم میکند: ساعات کار، گزارش کارکرد و تصویری از روز کاری.
تصویر ۱ — روز کاری به شکل نمودارکارکنان ← زمان کار ← گردش کار
هر نوار نمایانگر یک نفر است، هر گره یک فعالیت و پهنای نوار نشاندهندهٔ دقیقههای ثبتشده. معلوم میشود چه کسی، کجا، چه کاری کرده، چقدر طول کشیده و چه چیزی هنوز نیاز به بررسی دارد.
تصویر ۲ — تا سطح ردیفیک بخش، نمای «ردیفها»
برای هر ردیف، دقیقهها، بازههای زمانی و تعداد دفعات کار در آن روز دیده میشود. نمودار بر اساس اولین اسکن مرتب شده و از بالا به پایین، به ترتیب رویدادهای روز خوانده میشود.
تصویر ۳ — برنامهٔ کارکناناکنون · امروز · آموزش
سه پرسش: آیا حضورم ثبت شده؟ الان مشغول چه کاری هستم؟ امروز چه کردهام؟ گفتوگو، عکسها و ویدیوهای آموزشی در نوار پایین قرار دارند.
تصویر ۴ — به زبان مادریآلمانی، لهستانی، اوکراینی، رومانیایی
زبان به حساب کاربری وابسته است، نه به گوشی: رابط کاربری، ویدیوهای آموزشی و پیامها.
امکانات سامانه
ثبت، بررسی، گفتوگو.
ثبت زمان با تراشه
ورود، خروج و هر فعالیت با تراشهٔ NFC روی ردیف یا با کد QR. زمان را سرور تعیین میکند. بدون اینترنت، اسکن روی گوشی منتظر میماند.
گردش کار، پیگیری فعالیتها، وضعیت امروز
روز کاری در نموداری بر اساس بخشها یا ردیفها دیده میشود؛ چند روز را میتوان کنار هم گذاشت و جابهجایی فعالیتها را از دیروز تا امروز پی گرفت. نمای زنده نشان میدهد چه کسانی حاضرند و چه کاری در جریان است.
گزارش ساعات و حقوق
برای هر نفر یک برگهٔ ماهانه با همهٔ روزهای تقویم. هر تغییری به توضیح نیاز دارد. تأیید ماه، PDF، اکسل و تطبیق با نرمافزار حقوق و دستمزد.
گفتوگوی تیمی و تماس
گفتوگوی دونفره و گروهی، پیام صوتی، فایل، تماس اینترنتی. مخاطبان اصلی بالای فهرستاند: رئیس، سرپرست تیم، پشتیبانی.
آموزش به زبان مادری
ویدیوهای کوتاه دربارهٔ قدمهای اول و نکات مهم، به همهٔ زبانهای برنامه.
شمارندهٔ بستههای محصول با دوربین
دوربینی بالای نوار نقاله بستههای محصول را میشمارد، با هوش مصنوعی بر اساس اندازه دستهبندی میکند و بستههای معیوب را مشخص میکند. نتیجه بهصورت زنده، در روند زمانی و در گزارشهای تصویری دیده میشود.
مکانها و تراشهها
بخشها و ردیفها به شکل نقشه. هر ردیف یک کارت با تراشه دارد؛ تراشهها از بخش مدیریت نوشته میشوند.
گوشیهای سازمانی و زیرساخت
گوشیهای سازمانی در حالت کیوسک، بهروزرسانی مرحلهای، هر گوشی یک حساب. پشت صحنه: یک سرور با پشتیبانگیری روزانه و یک نسخهٔ دیگر نزد ارائهدهندهٔ دوم.
تصویر ۵ — شمارندهٔ بستههای محصولضبط صفحه، بدون صدا
دوربین نوار را میبیند، یک رایانهٔ کوچک کنارش میشمارد و دستهبندی میکند، سرور جمعآوری میکند. هر عکس بهعنوان سند در آرشیو میماند و بعداً میتوان دوباره دستهبندیاش کرد.
تصویر ۶ — روند شمارش و نقشهتعداد بستههای محصول در هر روز · نقشهٔ مکانها با تراشهٔ هر ردیف
تصویر ۷ — برگهٔ کارکرد ماهانهکارکنان ← زمان کار ← ساعات
هر روز تقویم یک سطر است. فقط چیزی علامت میخورد که باید روشن شود: خروج ثبتنشده، اسکنی خارج از روال، ثبت بعد از موعد. آخر هفته خطا نیست.
جزئیات فنی
سامانه چطور ساخته شده
یک سرور بهعنوان مرجع دادهها. برنامههای سبک روی گوشی و رایانه. و مدل دادهای که معنای اسکنهای ثبتشده را بعداً تغییر نمیدهد.
Hub سرویسی به زبان Go است که از PostgreSQL استفاده میکند. پروکسی Caddy رابط برنامهنویسی و برنامهٔ وب را زیر یک دامنه ارائه میدهد. دسترسی بیرونی فقط از طریق تونل برقرار میشود.
بخش مدیریت و برنامهٔ گوشی از یک برنامهٔ وب استفاده میکنند. پوستهٔ بومی فقط قابلیتهایی را اضافه میکند که مرورگر ندارد، مانند خواندن تراشه. یکبار انتشار برای همهٔ پلتفرمها.
۲. مدل اسکن
یک تراشه هیچ معنایی در خود ندارد، فقط یک شناسه: اسلات. معنای آن در یک تعریف با تاریخ شروع اعتبار ثبت شده است. هر اسکن یک رویداد تغییرناپذیر است.
گوشی اسلات، شناسهٔ رویداد و ساعت خودش را میفرستد. زمان معتبر را سرور تعیین میکند.
Hub رویداد را با شخص، اسلات، تعریف، زمان و منبع ثبت میکند.
مدت زمان فقط هنگام خواندن محاسبه میشود. اگر کاربری یک ردیف عوض شود، رویدادهای قدیمی همچنان درست میمانند.
اگر یک اسکن دو بار برسد، یک بار حساب میشود.
۳. بدون شبکه
صف انتظار
هر اسکن اول روی گوشی ذخیره میشود و همان لحظه انجامشده به حساب میآید. ارسال بعداً و به ترتیب اسکنها انجام میشود.
زمانها
سرور ساعت گوشی را بررسی میکند، زمانهای نامعقول را به محدودهٔ مجاز برمیگرداند و برای بازبینی علامت میزند.
راهاندازی بدون شبکه
برنامه حتی بعد از چند روز بدون اینترنت بالا میآید و اسکن میکند. یک آزمون خودکار این را در هر تغییر بررسی میکند.
دادههای پایه
فعالیتها، مکانها و ترجمهها روی گوشی ذخیرهاند. مدیریت وضعیت این دادهها و تعداد اسکنهای در انتظار را برای هر گوشی میبیند.
۴. تحلیل و گزارشها
همهٔ محاسبات را Hub انجام میدهد. گردش کار، روند، گزارش ساعات و گزارشهای ایمیلی از توابع یکسان استفاده میکنند.
گردش کار
نمودار سانکی ارتباط کارکنان، فعالیتها و بخشها یا ردیفها را نشان میدهد. جزئیات روی هر گره دیده میشود. چند روز کنار هم قرار میگیرند، اما در یک نمودار ادغام نمیشوند.
پیگیری فعالیت
نشان میدهد یک فعالیت در کدام ردیف پایان یافته یا نیمهکاره مانده و آیا بعداً همانجا ادامه پیدا کرده است. ادامه یعنی همان ردیف و همان فعالیت.
گزارش کارکرد
روزهای کاری بر پایهٔ دورهٔ اشتغال یا مقررات مجموعه تعیین میشوند و تعطیلات رسمی از یک جدول میآیند. هر اصلاحی به توضیح نیاز دارد و قابل مشاهده میماند.
نرمافزار حقوق و دستمزد
رابط قابل استفادهای ندارد. یک رایانهٔ کوچک در شبکهٔ مجموعه پایگاه دادهٔ آن را میخواند و دستورهای نوشتن Hub را اجرا میکند.
۵. گفتوگو، تماس، آموزش
گفتوگو
گفتوگوی دونفره و گروهی، تأیید خواندهشدن، پیام صوتی و فایل. پیوستها در فضای ذخیرهسازی داده نگهداری و از نظر ویروس بررسی میشوند.
تماس
تماس صوتی با WebRTC، رمزگذاریشده بین دستگاهها. اگر اتصال مستقیم برقرار نشود، یک رلهٔ TURN اختصاصی واسطه میشود.
اعلان
اعلانها گوشی را برای تماسها و پیامهای مهم بیدار میکنند. اگر اعلان نرسد، برنامه با بررسی دورهای همچنان تماس ورودی را نشان میدهد.
آموزش
ویدیوهای توضیحی کوتاه، با صداگذاری خودکار برای هر زبان.
پیامها
اصلاحات ساعات کار به زبان خود فرد ارسال میشوند و پاسخ او ترجمهشده برمیگردد. دستیار هوش مصنوعی هم میتواند تماس بگیرد و پرسشهای تکمیلی کوتاه بپرسد.
۶. دستگاهها
حالت کیوسک
یک برنامهٔ کیوسک اختصاصی بهعنوان مدیر دستگاه: فقط PKD و برنامههای مجاز، پایش باتری و صدا، بهروزرسانی مرحلهای.
هر گوشی یک حساب
انتقال حساب به گوشی دیگر با کد QR انجام میشود و از گوشی قبلی خارج میشود. برگههای یدکیِ کد QR هم آمادهاند.
کلید دستگاه
هر دستگاه یک بار جفت میشود و کلید مخصوص خودش را میگیرد. مدیریت هر زمان میتواند آن را مسدود کند.
۷. اجرا و نگهداری
کانتینرها
Hub، پایگاه داده، پروکسی، فضای ذخیرهسازی، ویروسیاب، رلهٔ TURN، تونل و پشتیبانگیری در یک پشتهٔ Docker Compose.
پشتیبانگیری
روزانه یک نسخهٔ کامل از پایگاه داده روی سرور و یک نسخهٔ رمزگذاریشده نزد ارائهدهندهٔ دوم.
جابهجایی سرور
یک اعلان امضاشده زمان تغییر نشانی سرور را به برنامهها خبر میدهد. دستگاهها بهطور خودکار به نشانی تازه متصل میشوند.
۸. مشخصات پروژه
نقش
طراحی مفهومی، معماری، پیادهسازی، اجرا و پشتیبانی
کاربران
نیروهای فصلی و ثابت، سرکارگران، دفتر، مدیریت؛ آلمانی، لهستانی، اوکراینی، رومانیایی