مرجع تخصصی برنامه نویسان

بزرگترین انجمن برنامه نویسان فارسی زبان

آموزشگاه برنامه نویسان

تقویم در برنامه تعمیرات پیشگیرانه

جمعه, 31 شهریور 1396 08:22

تقویم در برنامه تعمیرات پیشگیرانه

با سلام .

من دارم رویه برنامه تعمیرات و نگهداری کار میکنم .

تویه کار با تقویمش مشکل دارم .

فکر کنید که من 200 تا ماشین دارم که باید تویه دوره ای خاصی یه کارهای مختلفی مثل روغنکاری یا گریسکاری یا تعویض بلبرینگ یا ... روش انجام بشه .

خوب من میام و تاریخ شروع و پایان و اون کاری که باس رویه ماشین بشه رو تویه جدولم نگه میدارم .

حالا چطور میتونم بفهمم که به تاریخ امروز سر رسید چه کاریه ؟

مثال : 

کار = روغنکاری         -                ماشین  = لیفتراک                  -             تاریخ شروع = 1396/06/20          -         تاریخ پایان =1399/12/29            دوره ی هفتگی

میخوام بدونم دقیقا باس چه کد یا کوئری بزنم ؟

آکادمی برنامه نویسان تلگرام برنامه نویسان
جمعه, 31 شهریور 1396 11:28

نقل قول : تقویم در برنامه تعمیرات پیشگیرانه

یک کوئری بزنید و اطلاعات مربوط به تارخ امروز رو بدست بیارید

اینطوری میتونید متوجه بشید تا امروز چه کارهایی باید انجام بدید

یک Where روی Date بزنید که برابر DateTime.Now باشه

کسانی که از این پست تشکر کرده اند : jafar_palideh,
ﺳﻪ شنبه, 04 مهر 1396 10:05

نقل قول : تقویم در برنامه تعمیرات پیشگیرانه

خوب مشکل من دقیقا همین کوئریه .

چطوره اون دورها رو تویه کوئری با تاریخ شروع جمع کنم و با تاریخ روز مقایسه کنم به این شرط که از تاریخ پایان اون کار نگذشته باشه.

آخه امکان داره که دورهی گردش یه کار روزانه باشه یا امکان داره روزهای هفته باشه یا شاید ماهانه باشه . طبق عکس

کسانی که از این پست تشکر کرده اند :
ﺳﻪ شنبه, 04 مهر 1396 10:19

نقل قول : تقویم در برنامه تعمیرات پیشگیرانه

در کوئری شرط بزارید = یا کوچکر از تاریخ جاری باشه و همچنین انجام نشده باشه

اینطوری میتونید بدست بیارید

دست به کد بشید مشکلات نماایان خواهند شد

کسانی که از این پست تشکر کرده اند : jafar_palideh,
ﺳﻪ شنبه, 04 مهر 1396 10:26

نقل قول : تقویم در برنامه تعمیرات پیشگیرانه

من تویه جمع زدن اون دوره ها با تاریخ شروع و مقایسه اش با تاریخ جاری مشکل دارم

واسه همین یه سمپل میخوام که الگو بردارم .

ممنون میشم نمونه بزارید

بعد اینکه من تاریخ رو شمسی varchar(10) تویه دیتابیس نگه میدارم .

کسانی که از این پست تشکر کرده اند :
ﺳﻪ شنبه, 04 مهر 1396 10:33

نقل قول : تقویم در برنامه تعمیرات پیشگیرانه

من متتاسفانه سمپل ندارم حالا اگر از دوستان ککسی داشت براتون قرار میده

باید تتاریخ را فرمت DateTime قرار دهید وگر نه برای مقایسه به مشکل میخورید

برای ذخیره شمسی از DateTime2 استفاده کنید

کسانی که از این پست تشکر کرده اند : jafar_palideh,
ﺳﻪ شنبه, 04 مهر 1396 10:41

نقل قول : تقویم در برنامه تعمیرات پیشگیرانه

خوب من اومدم و هم تاریخ شمسی رو نگه داشتم از نوع varchar(10) و هم تاریخ میلادی رو از نوع DateTime . دوستان بزرگوار ممنون میشم اگه راهکاری داره ارائه بده . 

جمع تاریخ شروع + هریک از دوره ها و مقایسه با تاریخ جاری در صورتی که کوچکتر از تاریخ پایان باشه

برای دورهای روزانه هم همینطور

به دست آوردن روز جاری بین دو تاریخ شروع و پایان و مقایسه با روز هفته ی جاری 

کسانی که از این پست تشکر کرده اند :
چهارشنبه, 05 مهر 1396 08:22

نقل قول : تقویم در برنامه تعمیرات پیشگیرانه

آقای مدائنی عزیز

این سوال بنده رو میتونید پاسخ بدید ؟

یه جدول دارم که توش 1000 تا رکورد وجود داره که شامل تاریخ شروع و تاریخ پایان و دوره ی تکراره. 
چه کوئری باید بزنم که تمامیه رکوردها رو جست و جو کنه و تاریخ شروع هر رکورد رو با دوره ی تکرار همون رکورد جمع کنه و اگه با تاریخ امروز برابر بود اون رکورد رو نمایش بده ؟

کسانی که از این پست تشکر کرده اند :
چهارشنبه, 05 مهر 1396 09:45

نقل قول : تقویم در برنامه تعمیرات پیشگیرانه

از چه ORM استفاده میکنید ؟

کسانی که از این پست تشکر کرده اند :
چهارشنبه, 05 مهر 1396 09:57

نقل قول : تقویم در برنامه تعمیرات پیشگیرانه

این سوالم دقیقا مربوط به سوال PM بالاست .

من از سی شارپ برای برنامه نویسی و اس کیو ال برای پایگاه داده استفاده میکنم .

تو سی شارپ هم ارتباطم با بانک توسط ADO هست.

کسانی که از این پست تشکر کرده اند :
چهارشنبه, 05 مهر 1396 10:02

نقل قول : تقویم در برنامه تعمیرات پیشگیرانه

کوئری پیچیده ای داره و بدون دیتای پیش فرض نمیشه نوشت

بدون تست نمیشه چنین کوئری رو را ذهن یا حدسی نوشت

کسانی که از این پست تشکر کرده اند : jafar_palideh,
چهارشنبه, 05 مهر 1396 10:12

نقل قول : تقویم در برنامه تعمیرات پیشگیرانه

خوب شما برای دو رکورد میتونید محاسبه کنید ؟

تاریخ شروع                                                     تاریخ پایان                                 دوره (روزانه)

2017/09/23                                            2017/09/30                                    3

2016/01/01                                            2020/07/07                                    6

کسانی که از این پست تشکر کرده اند :
چهارشنبه, 05 مهر 1396 13:13

نقل قول : تقویم در برنامه تعمیرات پیشگیرانه

کوئری سختی نبود آقای مدائنی عزیز .

البته یکی از دوستان راهنمایی فرمودن .

من اینجا میزارم تا الباقی دوستان هم استفاده کنن.

select * from dbo.TblDate t where DATEADD(DAY,t.PeriodDay,t.dateBegin)=cast(GETDATE() as date)
and cast(GETDATE() as date)<= t.DateEnd

کسانی که از این پست تشکر کرده اند : ایمان مدائنی,

ارسال پاسخ برای این تاپیک

ارسال پاسخ مخصوص اعضا سایت می باشد ! میتوانید با حساب کاربری خود وارد سایت شده یا ثبت نام کنید