HrmGroupOperation.jsp 10.6 KB
<%@ page import="weaver.general.Util," %>
<%@ page import="java.util.*,weaver.hrm.*"%>
<%@ page import="weaver.systeminfo.SystemEnv"%>
<%@ page import="org.json.JSONObject"%>
<%@ page import="weaver.hrm.common.Tools"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" %> 
<jsp:useBean id="GroupAction" class="weaver.hrm.group.GroupAction" scope="page" />
<jsp:useBean id="ResourceComInfo" class="weaver.hrm.resource.ResourceComInfo" scope="page" />
<jsp:useBean id="RecordSet" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="PoppupRemindInfoUtil" class="weaver.workflow.msg.PoppupRemindInfoUtil" scope="page" />
<jsp:useBean id="SysMaintenanceLog" class="weaver.systeminfo.SysMaintenanceLog" scope="page" />
<%
User user = HrmUserVarify.getUser (request , response) ;
if(user==null){
	out.println("{\"flag\":false,\"msg\":"+JSONObject.quote(SystemEnv.getHtmlLabelName(2012,user.getLanguage())+"1")+"}");//对不起,您暂时没有权限!
	out.flush();
	return;
}else{
	/*
	String operation = Util.fromScreen(request.getParameter("operation"),user.getLanguage());
	if(!HrmUserVarify.checkUserRight("CustomGroup:Edit", user)&&!operation.equals("savesuggest")) {
		out.println("{\"flag\":false,\"msg\":"+JSONObject.quote(SystemEnv.getHtmlLabelName(2012,user.getLanguage())+"2")+"}");//对不起,您暂时没有权限!
		out.flush();
		return;
	}*/
}
String operation = Util.fromScreen(request.getParameter("operation"),user.getLanguage());
int groupid = Util.getIntValue(request.getParameter("groupid"));
int ownerid = Util.getIntValue(request.getParameter("ownerid"));
String isdialog = Util.null2String(request.getParameter("isdialog"));
String isclose = Util.null2String(request.getParameter("isclose"),"1");
if(isclose.length()==0)isclose="1";
	
String name = Util.null2String(request.getParameter("name"));
String type = Util.null2String(request.getParameter("type"));
String sn = Util.null2String(request.getParameter("sn"));
int uid=user.getUID();
/*权限判断--Begin*/  
boolean cansave=HrmUserVarify.checkUserRight("CustomGroup:Edit", user);
/*权限判断--End*/  
if(operation.equals("addgroup")){
	if(ownerid!=uid&&!cansave){
		response.sendRedirect("/notice/noright.jsp");
    	return;
}
        int flag=0;
        boolean isAdd = false;
        if(groupid==-1){
        	flag=GroupAction.create(name,type,uid,sn);
        	String sql = "select id from HrmGroup where name='" + name + "' and type=" + type + " and owner=" + uid;
        	RecordSet.executeSql(sql);
        	if(RecordSet.next()){
        		groupid = RecordSet.getInt("id");
        	}
        	isAdd = true;
          SysMaintenanceLog.resetParameter();
          SysMaintenanceLog.setRelatedId(groupid);
          SysMaintenanceLog.setRelatedName(name);
          SysMaintenanceLog.setOperateType("1");
          SysMaintenanceLog.setOperateDesc("GroupAction.create");
          SysMaintenanceLog.setOperateItem("163");
          SysMaintenanceLog.setOperateUserid(user.getUID());
          SysMaintenanceLog.setClientAddress(request.getRemoteAddr());
          SysMaintenanceLog.setSysLogInfo();
        }else{
        	flag=GroupAction.update(groupid,name,type,uid,null,sn);
          SysMaintenanceLog.resetParameter();
          SysMaintenanceLog.setRelatedId(groupid);
          SysMaintenanceLog.setRelatedName(name);
          SysMaintenanceLog.setOperateType("2");
          SysMaintenanceLog.setOperateDesc("GroupAction.update");
          SysMaintenanceLog.setOperateItem("163");
          SysMaintenanceLog.setOperateUserid(user.getUID());
          SysMaintenanceLog.setClientAddress(request.getRemoteAddr());
          SysMaintenanceLog.setSysLogInfo();
        }
        if(flag==-1){
        request.getRequestDispatcher("/hrm/group/HrmGroupAdd.jsp?isclose=1").forward(request,response);        
        return;
        }
        session.removeAttribute("grouplist");
 			response.sendRedirect("/hrm/group/HrmGroupAdd.jsp?groupid="+groupid+"&isdialog="+isdialog+"&isclose="+isclose+(isAdd?"&isAdd=1":""));
 }else if(operation.equals("deletegroup")){
				RecordSet.executeSql("select name from hrmgroup where id="+groupid);
				if(RecordSet.next()){
					name = RecordSet.getString("name");
				}
	 			GroupAction.delete(groupid);
        SysMaintenanceLog.resetParameter();
        SysMaintenanceLog.setRelatedId(groupid);
        SysMaintenanceLog.setRelatedName(name);
        SysMaintenanceLog.setOperateType("3");
        SysMaintenanceLog.setOperateDesc("GroupAction.delete");
        SysMaintenanceLog.setOperateItem("163");
        SysMaintenanceLog.setOperateUserid(user.getUID());
        SysMaintenanceLog.setClientAddress(request.getRemoteAddr());
        SysMaintenanceLog.setSysLogInfo();
        session.removeAttribute("grouplist");
        response.sendRedirect("/hrm/group/HrmGroup.jsp");
 }else if(operation.equals("editgroup")){
	if(ownerid!=uid&&!cansave){
		response.sendRedirect("/notice/noright.jsp");
    	return;
}
        //session.removeAttribute("grouplist");
        request.getRequestDispatcher("/hrm/group/HrmGroupAdd.jsp").forward(request,response);
 }else if(operation.equals("savesuggest")){
		//保存建议
		int id = -1;
		String suggesttitle = Util.null2String(request.getParameter("suggesttitle"));
		String suggesttype = Util.null2String(request.getParameter("suggesttype"));
		String content = Util.null2String(request.getParameter("content"));
		String today = Tools.getCurrentDate();
		String sql = "";
		
		sql = " insert into HrmGroupSuggest  ( suggesttitle ,groupid ,suggesttype ,content ,STATUS ,creater ,createdate) "
				+ " VALUES  ( '"+suggesttitle+"' ,"+groupid+" ,"+suggesttype+" ,'"+content+"' , 0 ,"+user.getUID()+" , '"+today+"' )";
		RecordSet.executeSql(sql);
		
		RecordSet.executeSql("select max(id) from HrmGroupSuggest");
		if(RecordSet.next()){
			id = RecordSet.getInt(1);
		}

		//获得要通知的人
		List<String> lsReceiver = new ArrayList<String>();
		lsReceiver.add("1");//通知sysadmin
		sql = " SELECT DISTINCT resourceid FROM SystemRightDetail a, SystemRightRoles b, HrmRoleMembers c, HrmResource d "
				+ " WHERE a.rightid=b.rightid AND b.roleid = c.roleid AND c.resourcetype=1 AND c.resourceid =d.id AND d.subcompanyid1='"+user.getUserSubCompany1()+"' and a.rightdetail='CustomGroup:Edit' ";
		RecordSet.executeSql(sql);
		while(RecordSet.next()){
			lsReceiver.add(RecordSet.getString("resourceid"));
		}
		
		for(String receiver:lsReceiver){
			PoppupRemindInfoUtil.insertPoppupRemindInfo(Util.getIntValue(receiver),25,"0",id);
		}
	 	response.sendRedirect("HrmGroupSuggest.jsp?groupid="+groupid+"&isclose=1");
   return;
	}else if(operation.equals("addsuggest")){
		//增加建议成员
		String id = Util.null2String(request.getParameter("id")); 
		String members = "";
		int status = 0;
		RecordSet.executeSql("select groupid, content, status from HrmGroupSuggest where id = "+id);
		if(RecordSet.next()){
			groupid = RecordSet.getInt("groupid");
			members = Util.null2String(RecordSet.getString("content"));
			status = RecordSet.getInt("status");
		}
		if(status==1){//防止重复执行
			response.sendRedirect("/hrm/group/HrmGroupRemindList.jsp");
			return;
		}
		String[] arrmembers = members.split(",");
		for(int i=0;arrmembers!=null&&i<arrmembers.length;i++){
			if(Util.null2String(arrmembers[i]).length()==0)continue;
			String usertype = Util.null2String(ResourceComInfo.getResourcetype(arrmembers[i]));
			if(usertype.length()==0)usertype="NULL";
			//检查是否已存在该用户,如果已存在,不再新增数据
			String sql = " select count(1) from HrmGroupMembers where groupid="+groupid+" and userid= "+arrmembers[i];
			RecordSet.executeSql(sql);
			if(RecordSet.next()){
				if(RecordSet.getInt(1)>=1){
					continue;
				}
			}
			
		 	sql = " INSERT INTO HrmGroupMembers(groupid,sharetype,userid,usertype,dsporder) " +
									" VALUES  ( "+groupid+",1,"+arrmembers[i]+" , "+usertype+","+(i+1)+") ";
		 	RecordSet.executeSql(sql);
		}
		RecordSet.executeSql("update HrmGroupSuggest set status = 1 where id = "+id);
		//清理已处理的提醒
		String sql=" delete from SysPoppupRemindInfoNew where type=25 and " +
							 " (exists(select t2.id from HrmGroupSuggest t2 where t2.id=SysPoppupRemindInfoNew.requestid and status=1 )"+
							 " or requestid not in (select id from HrmGroupSuggest)) ";
		RecordSet.executeSql(sql);
   	response.sendRedirect("/hrm/group/HrmGroupRemindList.jsp");
   	return;
	}else if(operation.equals("delsuggest")){
		//删除建议成员
		String id = Util.null2String(request.getParameter("id")); 
		String members = "";
		int status =0;
		RecordSet.executeSql("select groupid,content from HrmGroupSuggest where id = "+id);
		if(RecordSet.next()){
			groupid = RecordSet.getInt("groupid");
			members = Util.null2String(RecordSet.getString("content"));
			status = RecordSet.getInt("status");
		}
		if(status==1){//防止重复执行
			response.sendRedirect("/hrm/group/HrmGroupRemindList.jsp");
			return;
		}
		String[] arrmembers = members.split(",");
		for(int i=0;arrmembers!=null&&i<arrmembers.length;i++){
			if(Util.null2String(arrmembers[i]).length()==0)continue;
		 	String sql = " delete from HrmGroupMembers where groupid= "+groupid+" and userid = "+arrmembers[i];
		 	RecordSet.executeSql(sql);
		}
		RecordSet.executeSql("update HrmGroupSuggest set status = 1 where id = "+id);
		//清理已处理的提醒
		String sql=" delete from SysPoppupRemindInfoNew where type=25 and " +
							 " (exists(select t2.id from HrmGroupSuggest t2 where t2.id=SysPoppupRemindInfoNew.requestid and status=1 )"+
							 " or requestid not in (select id from HrmGroupSuggest)) ";
		RecordSet.executeSql(sql);
	  response.sendRedirect("/hrm/group/HrmGroupRemindList.jsp");
	  return;
	}else if(operation.equals("getmsginfo")){
		String id = Util.null2String(request.getParameter("id"));
		String groupname = "";
		String members = "";
		RecordSet.executeSql("select a.groupid,b.name,content from HrmGroupSuggest a, hrmgroup b where a.groupid = b.id and a.id = "+id);
		if(RecordSet.next()){
			groupname = RecordSet.getString("name");
			members = ResourceComInfo.getMulResourcename(Util.null2String(RecordSet.getString("content")));
		}
		out.println("{\"groupname\":"+JSONObject.quote(groupname)+",\"members\":"+JSONObject.quote(members)+"}");
		return;
	}else if(operation.equals("changesuggeststatus")){
		String id = Util.null2String(request.getParameter("id")); 
		RecordSet.executeSql("update HrmGroupSuggest set status = 1 where id = "+id);
		//清理已处理的提醒
		String sql=" delete from SysPoppupRemindInfoNew where type=25 and " +
							 " (exists(select t2.id from HrmGroupSuggest t2 where t2.id=SysPoppupRemindInfoNew.requestid and status=1 )"+
							 " or requestid not in (select id from HrmGroupSuggest)) ";
		RecordSet.executeSql(sql);
		out.println("{\"flag\":true}");
   return;
	}

%>