Cần giúp đỡ - động não lớp lập lịch php


8

Tôi chưa bao giờ viết một lớp php trước đây từ đầu. Nhưng tôi đoán bạn phải bắt đầu từ đâu đó phải không? Tôi đã có một ý tưởng, nhưng cần sự giúp đỡ về logic. Xin vui lòng cho tôi biết những gì bạn nghĩ. Dưới đây là tốc ký rõ ràng. Trong các giai đoạn lập kế hoạch.

Class - 
 -> type (recurring, single, day)
 -> Recurring days (4,2,3,4,1,2....etc. for odd schedules- need even pairs)
 -> Shift Type (onshift, vacation, medical, etc...)
 -> Emp Id
 -> Start
 -> End
 -> Location Id
 -> Hours per day
 -> Day start time

 get schedule ( by account/location/company/unit/crew/individual )
      select single entries
      separate array into days (1 day) increments
      if single entries have linking day entries, replace array with day entry information
      return mysql array of days for the time period;

 set schedule ( dates, emp id)
      if recurring
          if already exisits || conflicts with existing
              error
          create recurring template in db table
          create single db entries using recurring days for 1 year
      if single
          if date is between dates already in db || more than 1 year out
              error
          else
              insert into db
      if day
          if no existing single range
             error
          else
             insert into db under day table, with id linking to id of existing single.

 remove recurringOnly(emp id)
      delete all entries with recurring id

 remove all entries( from this date forward, emp id )
      delete entries with start date > date

 cronUpdate( cron start / end dates)
      if cron start / end dates
           delete anything with dates bigger than nextUpdate (to make sure no errors)
           select recurring db entries with nextUpdate between cron start/ end
           insert into db the next set of "recurring days" for the employee
           update nextUpdate date for employee
      else - error
php  mysql 

+1 cho mã giả. Tuy nhiên, bạn có thể cụ thể hơn về logic mà bạn đang tìm kiếm trợ giúp không?
Jordan

Logan, danh tiếng cho bạn vì muốn làm điều này một cách chính xác và thực sự động não cho quá trình của bạn. Tôi yêu người dùng như bạn. Nhưng chính xác những gì bạn cần giúp đỡ với?
Levi Morrison

Tôi lo lắng về lịch trình nhận được, nơi tôi chia thành gia số ngày. Tôi nghĩ rằng nó có thể khá chuyên sâu về cpu, đặc biệt là khi lên lịch cho cả một bộ phận mọi người. Ngoài ra, nó sẽ có rất nhiều dữ liệu xfer'd trở lại trang. Nhưng tôi không thể thấy bất kỳ cách nào khác để có thể cập nhật thông tin từng ngày được điều chỉnh.

@Logan: Bạn có thể xây dựng sơ đồ lớp UML cho lớp của mình không? Đó sẽ là sự giúp đỡ tốt hơn.
Victor

Câu trả lời:


1

Dữ liệu đầu tiên mà bạn liệt kê có thể là các thuộc tính. Hãy nhớ đặt các thuộc tính thành riêng tư và phương thức getters và setters công khai. Sau đó, bạn có thể tạo các phương thức dựa trên các thuật toán bạn đã có. đó là một ý tưởng hay để mã hóa lớp của bạn trong một tệp duy nhất có cùng tên với lớp của bạn để giúp tổ chức dự án của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.