Ejemplo n.º 1
0
 /**
  * 支払いサイトから支払日を取得する
  */
 public function &Result_AdminReportSalesGenkaEdit_getBillingCompanyDataOfPaymentDate(&$data, $targetMonth)
 {
     // 支払いサイト(日)リスト取得
     $enum = new ClientPaymentSiteDayEnum();
     $paymentSiteDayList = $enum->getArray();
     // 支払いサイト
     $paymentSiteMonth = $data['payment_site_month'];
     $paymentSiteDay = $data['payment_site_day'];
     if (empty($paymentSiteMonth) == false && empty($paymentSiteDay) == false) {
         $day = 0;
         // 月末以外の場合は日付を設定
         if ($paymentSiteDay == "6") {
             $paymentSiteMonth = $paymentSiteMonth + 1;
         } else {
             $day = str_replace("日", "", $paymentSiteDayList[$paymentSiteDay]);
         }
         // 対象年・月取得
         $i = strtotime($targetMonth);
         // 対象年と月を取得
         $year = date('Y', $i);
         $month = date('m', $i);
         // 支払日設定
         $paymentDate = mktime(0, 0, 0, $month + $paymentSiteMonth, $day, $year);
         // 一ヶ月先の休日リストを取得
         $holidayList =& DateManager::getHolidayBefore1Month($paymentDate);
         // 直近の支払い日を取得
         $paymentDate = DateManager::getNearestBusinessDay($paymentDate, $holidayList);
         $data['payment_date'] = $paymentDate;
     }
     return $data;
 }