MapOperation.jsp 9.12 KB
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ include file="/systeminfo/init_wev8.jsp"%>
<%@ page import="weaver.conn.ConnStatement"%>
<jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="rs2" class="weaver.conn.RecordSet" scope="page" />
<%
	if (!HrmUserVarify.checkUserRight("KT_Knowledge:Maint", user)) {
		response.sendRedirect("/notice/noright.jsp");
		return;
	}

	String operation = Util.fromScreen3(request.getParameter("operation"),user.getLanguage());
	
	String mapId = Util.fromScreen3(request.getParameter("mapId"),user.getLanguage());
	
	String name = Util.fromScreen3(request.getParameter("name"),user.getLanguage());
	String remark = Util.convertInput2DB(request.getParameter("remark"));
	String tempId = Util.getIntValue(request.getParameter("tempId"),1)+"";
	
	String index = Util.null2String(request.getParameter("rownum1"));
	
	String type = Util.null2String(request.getParameter("type"));
	String maptype = Util.null2s(request.getParameter("maptype"),"0");
	String previewimg = Util.null2s(request.getParameter("previewimg"),"0");
	String contents = Util.convertInput2DB(request.getParameter("contents"));
	
	String sql = "";
	
	boolean res = false;
	ConnStatement ConnStatement = null;
	//新增
	if ("add".equals(operation)) {
		sql = "insert into KT_Map (name,remark,tId,deleted,createrId,createDate,createTime,maptype,previewimg) values ('"+name+"',?,"+tempId+",0,"+user.getUID()+",'"+TimeUtil.getCurrentDateString()+"','"+TimeUtil.getOnlyCurrentTimeString()+"',"+maptype+","+previewimg+")";
		if(type.equals("1")){
			sql = "insert into KT_Map (name,remark,docmodecontents,tId,deleted,createrId,createDate,createTime,maptype,previewimg) values ('"+name+"',?,?,"+tempId+",0,"+user.getUID()+",'"+TimeUtil.getCurrentDateString()+"','"+TimeUtil.getOnlyCurrentTimeString()+"',"+maptype+","+previewimg+")";
		}
		
		try{
			ConnStatement = new ConnStatement();
			ConnStatement.setStatementSql(sql);
			ConnStatement.setString(1, remark);
			if(type.equals("1")){
				ConnStatement.setString(2, contents);
			}
			ConnStatement.executeUpdate();
			res = true;
		}
		catch(Exception ex){
			res = false;
		}finally{
			if(null!=ConnStatement){
				ConnStatement.close();
			}
		}
		
		if(res){
			rs.executeSql("select max(id) from KT_Map");
			if(rs.next()){
				mapId = rs.getString(1);
				
				//添加知识点明细
				int num = 0;
			    if(index != null && !"".equals(index)){
			    	num = Integer.parseInt(index);
			    }
				for(int i = 0;i<=num;i++){
			        String title = Util.fromScreen3(request.getParameter("title_"+i),user.getLanguage());
			        String kIds = Util.fromScreen3(request.getParameter("kIds_"+i),user.getLanguage());
			        String rate = Util.getDoubleValue(request.getParameter("rate_"+i),0.00)+"";
			        String sort = Util.getDoubleValue(request.getParameter("sort_"+i),0.00)+"";
			        if(!"".equals(title)){
			        	sql = "insert into KT_MapDetail (mapId,title,rate,sort,deleted) values" 
			        		+ "("+mapId+",'"+title+"',"+rate+","+sort+",0)";
			        	res = rs2.executeSql(sql);
			        	//增加主题与知识点关联
			        	if(res){
			        		rs2.executeSql("select max(id) from KT_MapDetail");
			        		if(rs2.next()){
			        			String tId = rs2.getString(1);
			        			String kindex = Util.fromScreen3(request.getParameter("kindex_"+i),user.getLanguage());
			        			if(!"".equals(kindex)){
			        				String kId = "";
			        				String kRate = "";
			        				int knum = Integer.parseInt(kindex);
			        				for(int j=0;j<knum;j++){
			        					kId = Util.fromScreen3(request.getParameter("kId_"+i+"_"+j),user.getLanguage());
			        					kRate = Util.getDoubleValue(request.getParameter("kRate_"+i+"_"+j),0.00)+"";
			        					if(!kId.equals("")){
			        						rs2.executeSql("insert into KT_ThemeKnowledge(tId,kId,rate,deleted) values("+tId+","+kId+","+kRate+",0)" );
			        					}
			        				}
			        			}
			        			/**
			        			List kIdList = Util.TokenizerString(kIds,",");
			        			for(int j=0;j<kIdList.size();j++){
			        				rs2.executeSql("insert into KT_ThemeKnowledge(tId,kId,deleted) values("+tId+","+(String)kIdList.get(j)+",0)" );
			        			}
			        			*/
			        		}
			        	}
			        }
		      	}
			}
		}
	}
	//编辑
	else if("edit".equals(operation)){
		if(!mapId.equals("")){
			//权限判断
			/**
			if (!HrmUserVarify.checkUserRight("KT_Knowledge:Maint", user)) {
				rs.executeSql("select createrId from KT_Map where id="+mapId);
				String createrId = "";
				if(rs.next()){
					createrId = Util.null2String(rs.getString(1));
				}
				if(!(createrId).equals(user.getUID()+"")){
					response.sendRedirect("/notice/noright.jsp");
					return;
				}
			}*/
			
			sql = "update KT_Map set name='"+name+"',remark=?,tId="+tempId+",updaterId="+user.getUID()+",updateDate='"+TimeUtil.getCurrentDateString()+"',updateTime='"+TimeUtil.getOnlyCurrentTimeString()+"',maptype="+maptype+",previewimg="+previewimg+" where id="+mapId;
			if(type.equals("1")){
				sql = "update KT_Map set name='"+name+"',remark=?,docmodecontents=?,tId="+tempId+",updaterId="+user.getUID()+",updateDate='"+TimeUtil.getCurrentDateString()+"',updateTime='"+TimeUtil.getOnlyCurrentTimeString()+"',maptype="+maptype+",previewimg="+previewimg+" where id="+mapId;
			}
			
			try{
				ConnStatement = new ConnStatement();
				ConnStatement.setStatementSql(sql);
				ConnStatement.setString(1, remark);
				if(type.equals("1")){
					ConnStatement.setString(2, contents);
				}
				ConnStatement.executeUpdate();
				//res = true;
			}
			catch(Exception ex){
				//res = false;
			}finally{
				if(null!=ConnStatement){
					ConnStatement.close();
				}
			}
			
			if(!type.equals("1")){
			
				//查询所有知识地图明细
				List detailIdList = new ArrayList();
				rs.executeSql("select id from KT_MapDetail where deleted=0 and mapId="+mapId);
				while(rs.next()){
					detailIdList.add(rs.getString(1));
				}
				
				//处理知识点明细
				int num = 0;
				if(index != null && !"".equals(index)){
					num = Integer.parseInt(index);
				}
				for(int i=0;i<=num;i++){
					String detailId = Util.fromScreen3(request.getParameter("detailId_"+i),user.getLanguage());
					String title = Util.fromScreen3(request.getParameter("title_"+i),user.getLanguage());
					String kIds = Util.fromScreen3(request.getParameter("kIds_"+i),user.getLanguage());
					String rate = Util.getDoubleValue(request.getParameter("rate_"+i),0.00)+"";
					String sort = Util.getDoubleValue(request.getParameter("sort_"+i),0.00)+"";
					
					if(detailId.equals("")){//新增
						if(!title.equals("")){
							sql = "insert into KT_MapDetail (mapId,title,rate,sort,deleted) values" 
								+ "("+mapId+",'"+title+"',"+rate+","+sort+",0)";
							res = rs2.executeSql(sql);
							//增加主题与知识点关联
							if(res){
								rs2.executeSql("select max(id) from KT_MapDetail");
								if(rs2.next()){
									String tId = rs2.getString(1);
									String kindex = Util.fromScreen3(request.getParameter("kindex_"+i),user.getLanguage());
									if(!"".equals(kindex)){
										String kId = "";
										String kRate = "";
										int knum = Integer.parseInt(kindex);
										for(int j=0;j<knum;j++){
											kId = Util.fromScreen3(request.getParameter("kId_"+i+"_"+j),user.getLanguage());
											kRate = Util.getDoubleValue(request.getParameter("kRate_"+i+"_"+j),0.00)+"";
											if(!kId.equals("")){
												rs2.executeSql("insert into KT_ThemeKnowledge(tId,kId,rate,deleted) values("+tId+","+kId+","+kRate+",0)" );
											}
										}
									}
								}
							}
						}
					}else{//编辑
						if(!title.equals("")){
							sql = "update KT_MapDetail set title='"+title+"',rate="+rate+",sort="+sort+" where id="+detailId; 
							rs.executeSql(sql);
							detailIdList.remove(detailId);
							//删除原知识点关联
							rs.executeSql("delete from KT_ThemeKnowledge where tId="+detailId);
							String kindex = Util.fromScreen3(request.getParameter("kindex_"+i),user.getLanguage());
							if(!"".equals(kindex)){
								String kId = "";
								String kRate = "";
								int knum = Integer.parseInt(kindex);
								for(int j=0;j<knum;j++){
									kId = Util.fromScreen3(request.getParameter("kId_"+i+"_"+j),user.getLanguage());
									kRate = Util.getDoubleValue(request.getParameter("kRate_"+i+"_"+j),0.00)+"";
									if(!kId.equals("")){
										rs2.executeSql("insert into KT_ThemeKnowledge(tId,kId,rate,deleted) values("+detailId+","+kId+","+kRate+",0)" );
									}
								}
							}
						}
					}
				}
				//删除剩余的明细
				for(int i=0;i<detailIdList.size();i++){
					String detailId = (String)detailIdList.get(i);
					//删除明细
					rs.executeSql("update KT_MapDetail set deleted=1 where id="+detailId);
					//删除人员已完成的记录
					rs.executeSql("update KT_ThemeKnowledge set deleted=1 where tId="+detailId);
				}
			}
		}
	}
	
	
	//删除
	if("delete".equals(operation)){
		rs.executeSql("update KT_Map set deleted=1 where id="+mapId);
		return;
	}
	
	response.sendRedirect("/knowledgeMap/util/CommonRefreshOpener.jsp?topage=/knowledgeMap/base/MapView.jsp?mapId="+mapId);
	
%>