public function deleteDeptAction() { $da = $this->get("we_data_access"); $da_im = $this->get("we_data_access_im"); $request = $this->getRequest(); $deptid = $request->get("dept_id"); //此处为fafa_deptid //返回参数 $success = true; $msg = ""; try { //判断是否有下级部门 $sql = "select count(*) number from im_base_dept where pid=?"; $ds = $da_im->GetData("table", $sql, array((string) $deptid)); if ($ds && $ds["table"]["recordcount"] > 0) { $count = $ds["table"]["rows"][0]["number"]; if ($count > 0) { $success = false; $msg = "不能删除具有下级部门的部门!"; } else { $sql = "select count(*) number from im_employee where deptid=?;"; $ds = $da_im->GetData("table", $sql, array((string) $deptid)); if ($ds && $ds["table"]["recordcount"] > 0) { $count = $ds["table"]["rows"][0]["number"]; if ($count > 0) { $success = false; $msg = "该部门底下有人员,不允许删除 !"; } else { $deptinfo = $this->getDeptInfo($deptid); $deptMrg = new \Justsy\BaseBundle\Management\Dept($da, $da_im, $this->container); $deptdata = $deptMrg->getinfo($deptinfo["deptid"]); //删除部门数据 $sql = "delete from we_department where fafa_deptid=?"; $da->ExecSQL($sql, array((string) $deptid)); //删除im部门 $sql_pid = "select pid from im_base_dept where deptid=?;"; try { $ds_pid = $da_im->GetData("table", $sql_pid, array((string) $deptid)); if ($ds_pid && $ds_pid["table"]["recordcount"] > 0) { $deptdata["pid"] = $ds_pid["table"]["rows"][0]["pid"]; } } catch (\Exception $e) { $deptdata["pid"] = ""; } $sql = "delete from im_base_dept where deptid=?;"; $da_im->ExecSQL($sql, array((string) $deptid)); $msg = "删除部门数据成功!"; $parameter = array("flag" => "all", "title" => "removeDept", "message" => json_encode($deptdata), "container" => $this->container); $sendMessage = new SendMessage($da, $da_im); $sendMessage->sendImMessage($parameter); } } } } else { $success = false; $msg = "删除部门记录失败,请重试!"; } } catch (\Exception $e) { $success = false; $this->get("logger")->err($e->getMessage()); $msg = "删除部门记录失败,请重试!"; } //返回的数据 $result = array("success" => $success, "msg" => $msg); $response = new Response(json_encode($result)); $response->headers->set('Content-Type', 'text/json'); return $response; }