/**
* 刪除部門 軟刪除:
* <ul>
* 組織機構下存在子機構時
* <li>不允許刪除 組織機構</li>
* </ul>
* <ul>
* 組織機構下存在用戶時
* <li>不允許刪除 組織機構</li>
* </ul>
* <ul>
* 組織機構下 不存在子機構 且 不存在用戶時
* <li>刪除 組織機構-角色 信息</li>
* <li>刪除 組織機構 信息</li>
* </ul>
* @return 刪除的結果信息
*/
@RequestMapping(params = "delForUpdate")
@ResponseBody
public AjaxJson delForUpdate(TSDepart depart, HttpServletRequest request) {
String message = null;
AjaxJson j = new AjaxJson();
depart = systemService.getEntity(TSDepart.class, depart.getId());
message = MutiLangUtil.paramDelSuccess("common.department");
if (depart.getTSDeparts().size() == 0) {
Long userCount = systemService.getCountForJdbcParam("select count(1) from t_s_user_org where org_id= ?",depart.getId());
if(userCount == 0) { // 組織機構下沒有用戶時,該組織機構才允許刪除。
Long emp_num = systemService.getCountForJdbcParam("select count(1) as emp_num from db_jp_employee a where a.depart = ?",depart.getId());
if(emp_num == 0) {//組織裏沒有檔案人員 ,才允許刪除
systemService.executeSql("delete from t_s_role_org where org_id=?", depart.getId());
systemService.delete(depart);
systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
}else {
j.setSuccess(false);
message = "該組織下有人員檔案,請移除後刪除";
}
}else{
message = MutiLangUtil.getLang("common.department.hasuser");
}
} else {
message = "組織機構刪除失敗,不能刪除父級組織";
}
j.setMsg(message);
return j;
}