Selaa lähdekoodia

文件上传题实际

wkeyuan 3 vuotta sitten
vanhempi
commit
d92cb18605

+ 5 - 0
src/main/java/net/diaowen/dwsurvey/controller/question/ResponseController.java

@@ -386,6 +386,11 @@ public class ResponseController {
 			checkboxMaps.put(key, map);
 		}
 		quMaps.put("compCheckboxMaps", checkboxMaps);
+
+		Map<String, Object> uploadFileMaps = WebUtils.getParametersStartingWith(
+				request, "qu_" + QuType.UPLOADFILE + "_");//填空
+		quMaps.put("uploadFileMaps", uploadFileMaps);
+
 		return quMaps;
 	}
 

+ 22 - 0
src/main/java/net/diaowen/dwsurvey/dao/impl/SurveyAnswerDaoImpl.java

@@ -1,6 +1,7 @@
 package net.diaowen.dwsurvey.dao.impl;
 
 import net.diaowen.common.dao.BaseDaoImpl;
+import net.diaowen.common.utils.RandomUtils;
 import net.diaowen.dwsurvey.dao.SurveyAnswerDao;
 import net.diaowen.dwsurvey.entity.*;
 import net.diaowen.dwsurvey.service.SurveyStatsManager;
@@ -94,6 +95,9 @@ public class SurveyAnswerDaoImpl extends BaseDaoImpl<SurveyAnswer, String> imple
 		Map<String,Object> quOrderMaps=quMaps.get("quOrderMaps");
 		anCount+=saveQuOrderMaps(surveyAnswer,quOrderMaps,session);
 
+		Map<String,Object> uploadFileMaps=quMaps.get("uploadFileMaps");
+		anCount+=saveUploadFileMaps(surveyAnswer,uploadFileMaps,session);
+
 		//保存anCount
 		surveyAnswer.setCompleteItemNum(anCount);
 		int isComplete=0;
@@ -393,6 +397,24 @@ public class SurveyAnswerDaoImpl extends BaseDaoImpl<SurveyAnswer, String> imple
 		return answerQuCount;
 	}
 
+	private int saveUploadFileMaps(SurveyAnswer surveyAnswer,
+								   Map<String, Object> fillMaps,Session session) {
+		String surveyId=surveyAnswer.getSurveyId();
+		String surveyAnswerId=surveyAnswer.getId();
+		int answerQuCount=0;
+		for (String key : fillMaps.keySet()) {
+			answerQuCount++;
+			String quId=key.split("_")[0];
+			String answerValue=fillMaps.get(key).toString();
+			String[] answerValues = answerValue.split("___");
+			String randomCode = RandomUtils.randomWordNum(6);
+//			String randomCode = null;
+			AnUplodFile anUplodFile=new AnUplodFile(surveyId,surveyAnswerId,quId,answerValues[0],answerValues[1],randomCode);
+			session.save(anUplodFile);
+		}
+		return answerQuCount;
+	}
+
 	public SurveyStats surveyStatsData(SurveyStats surveyStats){
 		try{
 			StringBuffer sqlBuf=new StringBuffer("select MIN(bg_an_date) firstDate,MAX(bg_an_date) lastDate,count(id) anCount,min(total_time) minTime,avg(total_time) avgTime, ");

+ 7 - 0
src/main/java/net/diaowen/dwsurvey/service/impl/SurveyAnswerManagerImpl.java

@@ -58,6 +58,8 @@ public class SurveyAnswerManagerImpl extends
 	@Autowired
 	private AnOrderManager anOrderManager;
 	@Autowired
+	private AnUploadFileManager anUploadFileManager;
+	@Autowired
 	private SurveyDirectoryManager directoryManager;
 
 	@Override
@@ -166,6 +168,9 @@ public class SurveyAnswerManagerImpl extends
 			if(anOrders!=null){
 				question.setAnOrders(anOrders);
 			}
+		} else if (quType == QuType.UPLOADFILE) {
+			List<AnUplodFile> anUplodFiles = anUploadFileManager.findAnswer(surveyAnswerId,quId);
+			question.setAnUplodFiles(anUplodFiles);
 		}
 		return score;
 	}
@@ -559,6 +564,8 @@ public class SurveyAnswerManagerImpl extends
 					optionName=HtmlUtil.removeTagFromText(optionName);
 					exportUtil.setCell(cellIndex++, titleName+"-"+optionName);
 				}
+			} else if (quType == QuType.UPLOADFILE) {
+				exportUtil.setCell(cellIndex++, titleName);
 			}
 		}