예제 #1
0
파일: _checkvis.php 프로젝트: yonkon/diplom
    print "<div style='overflow:auto; background:white; border: 1px solid gray; height: 78px'>" . "<table cellpadding=0 cellspacing=0 style='font-size:8pt; margin-left:2px;'>" . "<tr style='color:gray'><td>Сотрудник</td><td style='width:10px' nowrap></td><td>Занятость</td></tr>";
    // Филиал сотрудника. Если нет филиала, то используем 8 часов раб день
    $worklong = 0;
    if ($_SESSION["user"]["data"]["filial_id"]) {
        $fil = fils_get($_SESSION["user"]["data"]["filial_id"]);
        $dweek = date("w", $date) - 1;
        if ($dweek == -1) {
            $dweek = 6;
        }
        fils_getworktime($fil, $dweek, $st, $en);
        $worklong = $en - $st;
    }
    if (!$worklong) {
        $worklong = 480;
    }
    foreach ($users as $u) {
        print "<tr><td>" . $u["fio"] . "</td><td></td><td>" . round(100 * $u["visits_sum"] / $worklong) . "%</td></tr>";
    }
    print "</table></div>";
} else {
    $meetings = db::get_arrays("SELECT tm_start, tm_finish, station_id FROM " . TABLE_VISITS . " WHERE user_id = " . $uid . " AND date = " . $date);
    if ($meetings) {
        print "<div style='font-size:10pt'>";
        foreach ($meetings as $r) {
            print utils_cvt_i2times($r["tm_start"]) . "-" . utils_cvt_i2times($r["tm_finish"]) . ' - ' . get_station_name($r['station_id']) . "<br>";
        }
        print "</div>";
    } else {
        print "на выбранную дату у сотрудника нет встреч";
    }
}
예제 #2
0
파일: edit.php 프로젝트: yonkon/diplom
     $t1 = $frm->TimePic(210, $ypos, 80, $filial["tm_open"]);
     $frm->Label("по", 300, $ypos);
     $t2 = $frm->TimePic(320, $ypos, 80, $filial["tm_close"]);
     $cb = $frm->Checkbox(420, $ypos, false, 1);
     $frm->Label("выходной", 440, $ypos);
     $b = $frm->Button("Добавить", 510, $ypos - 4);
     $b->Event = "fils_add_day_info('" . $frm->idname . "', '" . $s->idname . "', '" . $t1->idname . "','" . $t2->idname . "','" . $cb->idname . "', " . $id . ");";
 }
 if (is_array($filial["tm_special"]) && count($filial["tm_special"])) {
     $ypos += 10;
     ksort($filial["tm_special"]);
     foreach ($filial["tm_special"] as $k => $f) {
         if ($f["w"]) {
             $s = "выходной";
         } else {
             $s = "с " . utils_cvt_i2times($f["s"]) . " по " . utils_cvt_i2times($f["e"]);
         }
         $frm->Label($day_names[$k] . ":", 20, $ypos += 30);
         $frm->Label($s, 110, $ypos);
         $frm->Label("<a href='#' onclick='fils_reset_day(\"" . $frm->idname . "\", " . $k . ", " . $id . "); return false;'>сбросить</a>", 230, $ypos);
         //$b = $frm->Button("Сбросить день", 220, $ypos-4);
         //$b->Event = "fils_reset_day('".$frm->idname."', ".$k.", ".$id.");";
     }
 }
 $frm->Label("Доход, %", 10, $ypos += 50);
 $frm->Label("Расход, %", 100, $ypos);
 $t = $frm->Tracker(10, $ypos += 20, 80, $filial["profit"] * 100);
 $t->linkName = 'profit';
 $t->MaxVal = 100;
 $t->MinVal = 0;
 $t->AddValidator(new CGUI_VALIDATOR_09());
예제 #3
0
파일: functions.php 프로젝트: yonkon/diplom
function editvisit_exec($Frm, $Err)
{
    global $vis_statuses;
    if (!$Err) {
        $changes = array();
        $vis = Meeting::find($Frm->GetNmValueI("vid"));
        if (!$vis) {
            $Frm->_gui->ERR("Встреча не найдена");
            return false;
        }
        $sum = $Frm->GetNmValueI("summa");
        $sumf = $Frm->GetNmValueI("summaf");
        $targ = $Frm->GetNmValueH("about");
        $stat = $Frm->GetNmValueI("status");
        $rep = $Frm->GetNmValueH("report");
        $dt = explode("-", $Frm->GetNmValue("date"));
        $dt = mktime(0, 0, 0, $dt[1], $dt[0], $dt[2]);
        $tms = $Frm->GetNmValueI("start");
        $tme = $Frm->GetNmValueI("finish");
        if ($stat != 1 && $sumf > 0) {
            $Frm->_gui->ERR("Фактическая сумма не может быть изменена, если встреча не проведена");
            return false;
        }
        if ($stat == 1 && $sum > $sumf) {
            $Frm->_gui->ERR("Фактическая сумма " . $sumf . " " . $GLOBALS["ofc_currency"] . " меньше суммы, которую нужно получить " . $sum . " " . $GLOBALS["ofc_currency"]);
            return false;
        }
        if ($sum != $vis["summa"]) {
            $changes[] = "'деньги' с " . $vis["summa"] . " на " . $sum . " " . $GLOBALS["ofc_currency"];
        }
        if ($sumf != $vis["summaf"]) {
            $changes[] = "'деньги фактически' с " . $vis["summaf"] . " на " . $sumf . " " . $GLOBALS["ofc_currency"];
        }
        if ($targ != $vis["about"]) {
            $changes[] = "'цель'";
        }
        if ($stat != $vis["status"]) {
            $changes[] = "'статус' с '" . $vis_statuses[$vis["status"]] . "' на '" . $vis_statuses[$stat] . "'";
        }
        if ($rep != $vis["report"]) {
            $changes[] = "'отчет'";
        }
        if ($dt != $vis["date"]) {
            $changes[] = "'дата встречи' с " . date("d-m-Y", $vis["date"]) . " на " . date("d-m-Y", $dt);
        }
        if ($tms != $vis["tm_start"]) {
            $changes[] = "'начало' с " . utils_cvt_i2times($vis["tm_start"]) . " на " . utils_cvt_i2times($tms);
        }
        if ($tme != $vis["tm_finish"]) {
            $changes[] = "'окончание' с " . utils_cvt_i2times($vis["tm_finish"]) . " на " . utils_cvt_i2times($tme);
        }
        $station_id = 0;
        $opisanie_klienta = "";
        $opisanie_pyti = "";
        if ($vis['filial_id'] == -1) {
            $station_id = $Frm->GetNmValueI("station");
            $opisanie_klienta = $Frm->GetNmValueH("opisanie_klienta");
            $opisanie_pyti = $Frm->GetNmValueH("opisanie_pyti");
            if ($station_id != $vis["station_id"]) {
                $changes[] = "'станция' с " . get_station_name($vis["station_id"]) . " на " . get_station_name($station_id);
            }
            if ($opisanie_klienta != $vis["opisanie_klienta"]) {
                $changes[] = "'описание клиента' с '" . $vis["opisanie_klienta"] . "' на '" . $opisanie_klienta . "'";
            }
            if ($opisanie_pyti != $vis["opisanie_pyti"]) {
                $changes[] = "'описание пути' с '" . $vis["opisanie_pyti"] . "' на '" . $opisanie_pyti . "'";
            }
        }
        if ($sumf > $sum) {
            $Frm->_gui->ERR("Фактическая сумма не может превышать " . $sum . " " . $GLOBALS["ofc_currency"]);
            return;
        }
        if ($tms > $tme) {
            $Frm->_gui->ERR("Некорректно задано время");
            return;
        }
        if ($stat && !$rep) {
            $Frm->_gui->ERR("Необходим отчет о встрече");
            return;
        }
        $msg = "Произошли следующие изменения по встрече №" . $vis["id"] . ":<br>";
        foreach ($changes as $c) {
            $msg .= $c . "<br>";
        }
        $msg .= "<a href='?section=vis&subsection=2&visit=" . $vis["id"] . "'>Перейти к просмотру</a>";
        Meeting::update($vis["id"], array("date" => $dt, "status" => $stat, "tm_start" => $tms, "tm_finish" => $tme, "about" => $targ, "summa" => $sum, "summaf" => $sumf, "report" => $rep, "opisanie_klienta" => $opisanie_klienta, "opisanie_pyti" => $opisanie_pyti, "station_id" => $station_id));
        Order::update($vis["order_id"], array('oplata_kln' => $sumf));
        $Frm->_gui->OK("Сохранено");
        // Письмо тому кто проводит если статус 0
        if (count($changes) && $vis["status"] == 0) {
            //$to, $from, $subj, $text, $prior, $srok, $parent=0, $order=0, $klient=0, $visit=0, $tender=0
            $msg_id = mls_Send("u" . $vis["user_id"], "u" . $_SESSION["user"]["data"]["id"], "Изменение параметров встречи №" . $vis["id"], $msg, 1, 0, 0, $vis["order_id"], $vis["client_id"], $vis["id"], 0);
            \Components\Classes\Author::enqueue_message_to_email($msg_id, array($vis["user_id"]), \Components\Entity\EmailNotificationType::TO_AUTHOR_ON_ORDER_CHANGE);
        }
    }
}
예제 #4
0
파일: gui_form.php 프로젝트: yonkon/diplom
 function GetHTML()
 {
     $out = "<div class='cgui_form_text'  style='width: " . $this->width . "px; margin-left:" . $this->left . "px; margin-top: " . $this->top . "px;'>" . "\n";
     $out .= parent::GetHTML() . "\n";
     $out .= "<input type='text' name='" . $this->name . "' id='" . $this->idname . "' value='" . utils_cvt_i2times($this->Value) . "' style='position: absolute; width:" . $this->width . "px'>" . "\n";
     $out .= "<div id='" . $this->idname . "_timepicker' class='timepicker_box'></div></div>" . "\n";
     $out .= "<script>" . "\n" . "jQuery(function(){ timepicker_init('" . $this->idname . "', " . $this->min_time . ", " . $this->max_time . ", " . $this->min_step . "); });" . "\n" . "</script>" . "\n";
     $out .= "<script>" . "\n" . "function timepicker_se_" . $this->idname . "(val){" . $this->setTimeEventCode . "}" . "\n" . "</script>" . "\n";
     return $out;
 }
예제 #5
0
파일: functions.php 프로젝트: yonkon/diplom
function tp_getopenclose($value, $row, $table, &$info)
{
    return utils_cvt_i2times($row["tm_open"]) . " - " . utils_cvt_i2times($row["tm_close"]);
}