| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208 | <?phpnamespace app\admin\controller;use app\admin\common\AdminController;use app\common\api\IntegralProjectApi;use app\common\api\IntegralItemApi;/** * Description of IntegralMgr * 积分管理 * @author sgq */class IntegralMgr extends AdminController {    public function index() {        return view();    }    public function list() {        return json(IntegralProjectApi::getList($this->request->param()));    }    /**     * 添加积分项目     * @return type     */    public function add() {        if ($this->request->isPost()) {            $params = $this->request->param();            return $this->doSave($params);        }        return view("save");    }    /**     * 编辑积分项目     * @return type     */    public function edit() {        $params = $this->request->param();        if ($this->request->isPost()) {            return $this->doSave($params);        }        $row = IntegralProjectApi::getOne($params["id"]);        return view("save", ["row" => $row]);    }    private function doSave($params) {//        if (!$params["type"]) {//            return json(["msg" => "请选择人才类别"]);//        }        $params["type"] = session('user')['type'];        if (!$params["name"]) {            return json(["msg" => "请输入项目名称"]);        }        if (!$params["projectType"]) {            return json(["msg" => "请选择项目类别"]);        }        if (!$params["active"]) {            return json(["msg" => "请设置启用状态"]);        }        if (!$params["limit"]) {            return json(["msg" => "请选择是否上限"]);        }        if ($params["limit"] == 1) {            if (!$params["yearly"]) {                return json(["msg" => "请选择上限方案"]);            }            if (!$params["max"]) {                return json(["msg" => "请填写积分上限"]);            }            if (!is_numeric($params["max"]) || $params["max"] < 1 || $params["max"] != floor($params["max"])) {                return json(["msg" => "积分上限必需是大于0的整数"]);            }        }        if (IntegralProjectApi::chkExist($params["name"], $params["type"], $params["projectType"], $params["id"]))            return json(["msg" => "项目名称已经被使用"]);        $resultStr = $params["id"] ? "编辑" : "添加";        if (IntegralProjectApi::edit($params))            return json(["code" => 200, "msg" => "{$resultStr}积分项目成功"]);        return json(["msg" => "{$resultStr}积分项目失败"]);    }    /**     * 删除积分项目     * @return type     */    public function delete() {        if ($this->request->isPost()) {            $id = $this->request->param("id");            if (IntegralProjectApi::delete($id))                return json(["code" => 200, "msg" => "删除积分项目成功"]);            return json(["msg" => "删除积分项目失败"]);        }    }    public function items() {        return view("items");    }    public function itemList() {        return json(IntegralItemApi::getList($this->request->param()));    }    public function addItem() {        if ($this->request->isPost()) {            $params = $this->request->param();            return $this->doItemSave($params);        }        return view("save_item");    }    public function editItem() {        $params = $this->request->param();        if ($this->request->isPost()) {            return $this->doItemSave($params);        }        $row = IntegralItemApi::getOne($params["id"]);        return view("save_item", ["row" => $row]);    }    private function doItemSave($params) {        if (!$params["projectId"]) {            return json(["msg" => "请选择积分项目"]);        }        if (!$params["name"]) {            return json(["msg" => "请输入标准名称"]);        }        if (!$params["plan"]) {            return json(["msg" => "请选择积分方案"]);        }        if (!$params["unit"]) {            return json(["msg" => "请输入计量单位"]);        }        if (!$params["fstNeedAmount"]) {            return json(["msg" => "请输入首次达成量"]);        }        if (!$params["fstGainPoints"]) {            //return json(["msg" => "请输入首次获得积分"]);        }        if ($params["plan"] == 2) {            if (!$params["stepNeedAmount"]) {                return json(["msg" => "请输入每新增量"]);            }            if (!$params["stepGainPoints"]) {                return json(["msg" => "请输入每新增获得积分"]);            }        }        if (!$params["limit"]) {            return json(["msg" => "请选择是否上限"]);        }        if ($params["limit"] == 1) {            if (!$params["yearly"]) {                return json(["msg" => "请选择上限方案"]);            }            if (!$params["max"]) {                return json(["msg" => "请填写积分上限"]);            }            if (!is_numeric($params["max"]) || $params["max"] < 1 || $params["max"] != floor($params["max"])) {                return json(["msg" => "积分上限必需是大于0的整数"]);            }        }        if (IntegralItemApi::chkExist($params["name"], $params["projectId"], $params["id"]))            return json(["msg" => "名称已经被使用"]);        $resultStr = $params["id"] ? "编辑" : "添加";        if (IntegralItemApi::edit($params))            return json(["code" => 200, "msg" => "{$resultStr}积分标准成功"]);        return json(["msg" => "{$resultStr}积分标准失败"]);    }    public function deleteItem() {        if ($this->request->isPost()) {            $id = $this->request->param("id");            if (IntegralItemApi::delete($id))                return json(["code" => 200, "msg" => "删除积分标准成功"]);            return json(["msg" => "删除积分标准失败"]);        }    }    public function getProjectsByType() {        $type = $this->request->param("type") ?: 0;        $projectType = $this->request->param("projectType") ?: 0;        $where[] = ["type", "=", $type];        $where[] = ["active", "=", 1];        $list = IntegralProjectApi::getAll($where);        return json($list);    }    public function getFilesByType() {        $type = $this->request->param("type") ?: 0;        $where[] = ["type", "=", $type];        $where[] = ["project", "=", 20];        $where[] = ["active", "=", 1];        $list = \app\common\api\FileTypeApi::getAll($where);        return json($list);    }    public function getItemsByProject() {        $projectId = $this->request->param("projectId") ?: 0;        $where[] = ["projectId", "=", $projectId];        $where[] = ["active", "=", 1];        $list = IntegralItemApi::getAll($where);        return json($list);    }}
 |