use DateTime;
use yii\helpers\ArrayHelper;
use yii_app\records\Admin;
+use yii_app\records\ProductionCalendar;
class HtmlHelper
{
}
- public static function getWorkDays($m, $y): int
+ public static function getWorkDaysOld($m, $y): int
{
$lastDay = date("t",mktime(0, 0, 0, $m, 1, $y));
$weekdays = 0;
return $weekdays+20;
}
+ public static function getWorkDays($m, $y): int
+ {
+ $firstDay = date($y . "-" . $m . '-01');
+ $lastDay = date($y . "-" . $m . '-t', strtotime($firstDay));
+ $cntWorkDays = 0;
+ while ($firstDay <= $lastDay) {
+ $productionCalendar = ProductionCalendar::findOne(['date' => $firstDay]);
+ $cntWorkDays += $productionCalendar ? $productionCalendar->work : 1;
+ $firstDay = date("Y-m-d", strtotime("+1 day", strtotime($firstDay)));
+ }
+ return $cntWorkDays == 0 ? self::getWorkDaysOld($m, $y) : $cntWorkDays;
+ }
public static function getAdministratorWorkDays($month, $year): int
{