Commit a90499a4 authored by 王国存's avatar 王国存

定时任务-问卷、问题、选项、上报记录表生成

parent a92d9153
package com.tiptimes.ctrl;
/**
* 问卷表、选线表名称枚举
**/
public enum QuestionEnum {
BASIC_INFORMATION("基本信息"),
SPACE_NAME("众创空间名称"),
AFFILIATED_UNIVERSITY("所属高校"),
PERSON_NAME("填报人姓名"),
CONTACT_NUMBER("联系电话"),
MAKER_SPACE("众创空间场地情况"),
SPACE_INNOVATION("众创空间面积"),
SPACE_NUMBER("众创空间提供工位数"),
LEASE_VENUE("是否租赁场地"),
IS_LEASE_VENUE("是否租赁场地"),
LIVE_PHOTO("每块场地实景照片"),
FULL_STATUS("众创空间配备专职工作人员情况"),
FULL_STATUS_NAME("姓名"),
FULL_STATUS_OFFICE("所在处室"),
FULL_STATUS_DEPARTMENT("所在科室"),
FULL_STATUS_POSITION("职务"),
FULL_STATUS_PHONE("联系方式"),
FULL_STATUS_JOB("是否专职"),
FULL_STATUS_DESCRIPTION("关于众创空间运营情况的相关说明"),
INCUBATED_ENTERPRISES("入孵企业情况"),
ENTERPRISES_NAME("企业名称"),
ENTERPRISES_PROF("是否提交学信网截图或8年以内学历证明"),
ENTERPRISES_EQUITY("是否提交股权证明"),
ENTERPRISES_INCUBATION("是否提交入孵协议"),
ENTERPRISES_NEWLY("是否为本年度新入驻"),
JOB_CREATION("新增就业情况"),
JOB_NAME("企业名称"),
JOB_PERSONNAME("员工姓名"),
JOB_EVIDENCE("发送社保或三方协议佐证材料"),
JOB_ADDPOST("是否为本考核期内新增岗位"),
ENTREPRENEURSHIP_COURSES("开设创新创业课程情况"),
ENTREPRENEURSHIP_NAME("课程名称"),
ENTREPRENEURSHIP_TEACHER("任课老师"),
ENTREPRENEURSHIP_HOURS("学时"),
ENTREPRENEURSHIP_CREDIT("学分"),
ENTREPRENEURSHIP_SCREENSHOT("是否发送学校教务系统的排课截图或导出文件"),
ENTREPRENEURSHIP_COURSEWARE("是否发送课程大纲或授课课件"),
ENTREPRENEURSHIP_INTRODUCE("是否发送教师介绍"),
ENTREPRENEURSHIP_VIDEO_DISPLAY("是否有视频展示"),
ENTREPRENEURSHIP_NETWORK_CONNECTION("视频展示网络连接"),
ENTREPRENEURSHIP_DEMONSTRATION("有意愿参与联盟组织的高校教育示范课评选"),
ENTREPRENEURSHIP_MENTOR("签约创业导师情况"),
MENTOR_TNAME("导师姓名"),
MENTOR_SEX("性别"),
MENTOR_EDUCATIONAL("学历"),
MENTOR_PHONE("联系电话"),
MENTOR_UNIT("单位"),
MENTOR_POSITION("职务"),
MENTOR_PROFESSIONA("职称"),
MENTOR_SIGNING_DATE("签约日期"),
MENTOR_SIGNING_DURATION("签约时长"),
MENTOR_TUTORING_CATEGORY("擅长辅导类别"),
MENTOR_TUTORING_INDUSTRY("擅长辅导行业"),
MENTOR_INTERNET_COMPETITION("参评国家“互联网+”大赛"),
MENTOR_PARTICIPATION_YEAR("参评年份"),
MENTOR_GUIDE_TRACK("指导赛道"),
MENTOR_SUPPORTING_MATERIAL("是否发送佐证材料"),
MENTOR_ENTREPRENEURIAL_MENTOR("教育部入库创业导师"),
MENTOR_SUPPORTING_MATERIAL_ONE("是否发送佐证材料"),
ENTREPRENEURSHIP_ACTIVITIES("组织双创活动情况"),
ACTIVITIES_TIME("时间"),
ACTIVITIES_THEME("主题"),
ACTIVITIES_ACTIVITY_TYPE("活动类型"),
ACTIVITIES_ACTIVITY_NEWS("平台中有活动新闻"),
ACTIVITIES_ACTIVITY_PHOTOT("新闻中含1张以上活动照片"),
COMPETITION_SITUATION("参赛情况"),
SITUATION_NAME("赛事名称"),
SITUATION_UNIT("主办单位"),
SITUATION_ENTRY_NAME("列举1个参赛项目名称"),
INNOVATION_ENTREPRENEURSHIP("本年创新创业工作经费(万元)"),
INNOVATION_APPROPRIATION("本年创新创业工作经费(万元)"),
INNOVATION_PROOF_PHOTOGRAPH("由财务部门出具的相关证明照片或PDF"),
MAKER_INFORMATION ("申报成功高校众创空间联盟发布的创新创业研究课题信息"),
MAKER_SUBJECT_NUMBER("课题编号"),
MAKER_SUBJECT_NAME ("课题名称"),
MAKER_SUBJECT_PERSON ("课题负责人姓名"),
INCUBATED_ENTERPRISE("在孵企业销售收入或累计合同额情况"),
INCUBATED_NAME("企业名称"),
INCUBATED_AMOUNT("合同金额"),
INCUBATED_MATERIAL("是否发送佐证材料"),
INCUBATED_FINANCING_NAME("融资企业名称"),
INCUBATED_FINANCING_AMOUNT("融资金额"),
INCUBATED_FINANCING_MODE("融资方式"),
INCUBATED_MATERIAL_ONE("发送佐证材料"),
WEEK_ACTIVITIES("主办或承办市级及以上级别路演、双创周活动"),
ACTIVITIES_NAME("活动名称"),
ACTIVITIES_DEVELOPMENT("活动开展形式"),
ACTIVITIES_HOST("市级及以上主办单位名称"),
LISTING_SITUATION("在孵企业在OTC高校板挂牌情况"),
SITUATION_BATCH("挂牌批次"),
SITUATION_PROJECT_NAME("项目名称"),
PROPERTY_RIGHTS("在孵企业新增知识产权(包括专利、软著等)"),
PROPERTY_NAME("企业名称"),
PROPERTY_TIME("获得时间"),
PROPERTY_PROPERTY("获得产权类型"),
PROPERTY_NYMBER("编号"),
PROPERTY_SEND("发送佐证材料"),
AWARD_SITUATION("获得“互联网+”大赛全国赛事奖项情况"),
AWARD_TRACK("赛道"),
AWARD_AWARD("获得奖项"),
AWARD_TEAM("获奖团队"),
AWARD_PROJECT("获奖项目"),
AWARD_SEND("发送佐证材料"),
AWARDS_COMPETITION("获得创客马拉松大赛及市教委组织的其他双创大赛奖项情况"),
COMPETITION_NAME("赛事名称"),
COMPETITION_ORGANIZATION("市教委组织赛事"),
COMPETITION_AWARD("获得奖项"),
COMPETITION_TEAM("获奖团队"),
COMPETITION_PROJECT("获奖项目"),
COMPETITION_SEND("发送佐证材料"),
TOPSTATUS("入选天津市创业拔尖项目情况"),
TOPSTATUS_YEAR("入选年份"),
TOPSTATUS_NAME("项目名称"),
TOPSTATUS_ITEM("是否结项"),
TOPSTATUS_EXCELLENT_PROJECT("是否评为结项优秀项目"),
NATIONAL_RECORD("是否为国家级备案众创空间"),
BOOLEAN_NATIONAL_RECORD("是否为国家级备案众创空间"),
NATIONAL_ENTREPRENEURSHIP("是否为国家创业孵化示范基地"),
BOOLEAN_NATIONAL_ENTREPRENEURSHIP("是否为国家创业孵化示范基地")
;
private final String questionCode;
QuestionEnum(String questionCode){
this.questionCode = questionCode;
}
public String getQuestionCode() {
return questionCode;
}
}
package com.tiptimes.ctrl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.tiptimes.model.*;
......@@ -7,12 +8,10 @@ import com.tiptimes.service.FileService;
import com.tiptimes.service.QuestionnaireService;
import com.tiptimes.util.*;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
......@@ -30,6 +29,7 @@ import java.util.*;
@Controller
@RequestMapping({"/questionnaire"})
public class QuestionnaireCtrl {
@Autowired
private QuestionnaireService questionnaireService;
......@@ -38,8 +38,7 @@ public class QuestionnaireCtrl {
private static String fileUrl = "";
public QuestionnaireCtrl() {
}
public QuestionnaireCtrl() { }
/**
* 数据上报
......@@ -58,7 +57,7 @@ public class QuestionnaireCtrl {
if(recordId==null) {
recordId=this.questionnaireService.insertRecord(new Record(questionnaire.getId(),questionnaire.getQuestionnaireName(),
0,questionnaire.getWritePeople(),questionnaire.getPhoneNumber(),questionnaire.getCreateName(),
new Date(),questionnaire.getCreateId()));
new Date(),questionnaire.getCreateId(),questionnaire.getQnYear()));
}
Record record=this.questionnaireService.selectById(recordId);
if(record.getProcessStatus()==1||record.getProcessStatus()==3) {
......@@ -448,4 +447,27 @@ public class QuestionnaireCtrl {
map.put("msg","审核出错稍后再试!");
return map;
}
/**
* 实现问卷表、问题表、选项表每年定时生成
* @param
* @return
*/
@RequestMapping(value = {"/generateTableTask"})
@ResponseBody
public Map<String, Object> generateTableTask() {
return questionnaireService.generateTableTask();
}
/**
* 实现上报记录表每年定时生成
* @param
* @return
*/
@RequestMapping(value = {"/generateRecordTask"})
@ResponseBody
public Map<String, Object> generateRecordTask() {
return questionnaireService.generateRecordTask();
}
}
\ No newline at end of file
package com.tiptimes.ctrl;
import java.util.Date;
public class QuestionnaireVo {
// 问卷名称
private String questionnaireName;
// 问卷状态 1:启用(默认值);0:停用'
private int status;
// 创建时间
private Date createTime;
// 创建者
private String createBy;
// 年份
private int qnYear;
public int getQnYear() {
return qnYear;
}
public void setQnYear(int qnYear) {
this.qnYear = qnYear;
}
public String getQuestionnaireName() {
return questionnaireName;
}
public void setQuestionnaireName(String questionnaireName) {
this.questionnaireName = questionnaireName;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public String getCreateBy() {
return createBy;
}
public void setCreateBy(String createBy) {
this.createBy = createBy;
}
}
package com.tiptimes.ctrl;
import com.tiptimes.service.QuestionnaireService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.Date;
@EnableScheduling
@Component
public class ScheduledJob {
@Autowired
private QuestionnaireService questionnaireService;
// @Scheduled(cron = "0 0 23 1 1 ?")
@Scheduled(cron = "0 0 17 * * ?")
@Async
public void generateTableTask(){
System.out.print(Thread.currentThread().getName() + " cron = 0 0 23 1 1 ? --- " + new Date() + "---START-01");
questionnaireService.generateTableTask();
System.out.print(Thread.currentThread().getName() + " cron = 0 0 23 1 1 ? --- " + new Date() + "---End-01");
try{
Thread.sleep(2000);
}catch(Exception e){
e.printStackTrace();
}
}
}
package com.tiptimes.dao;
import com.tiptimes.model.Answer;
import com.tiptimes.model.PerformanceSummary;
import com.tiptimes.model.Record;
import com.tiptimes.model.Review;
import com.tiptimes.ctrl.QuestionnaireVo;
import com.tiptimes.model.*;
import com.tiptimes.model.exportDTO.*;
import org.apache.ibatis.annotations.Param;
......@@ -11,6 +9,20 @@ import java.util.List;
public interface QuestionnaireDao {
Long insertQuestionnaire(QuestionnaireVo questionnaireVo);
Integer queryQuestionsId(@Param("qnYear") Integer qnYear);
int insertQuestions(Questions questions);
List<Questions> queryQuestionsList(@Param("qnYear") Integer qnYear);
int insertOptions(Options options);
List<Record> queryRecordList(Record record);
Questionnaire queryQuestionnaireList(@Param("qnYear") Integer qnYear);
Long selectRecordId(@Param("questionnaireUuid")Long questionnaireUuid,
@Param("createId")String createId);
......
......@@ -14,6 +14,7 @@ public class Questionnaire {//问卷相关数据返回Vo
private String phoneNumber;//联系方式
private Integer type; //0暂存 1上报
private String writePeople;//填报人
private Integer qnYear; //上报年份
private List<Review>reviewList;//审核备注
public String getWritePeople() {
......@@ -112,12 +113,21 @@ public class Questionnaire {//问卷相关数据返回Vo
this.phoneNumber = phoneNumber;
}
public Questionnaire(Long id, String questionnaireName, int status, String createBy, Date createTime) {
public Integer getQnYear() {
return qnYear;
}
public void setQnYear(Integer qnYear) {
this.qnYear = qnYear;
}
public Questionnaire(Long id, String questionnaireName, int status, String createBy, Date createTime,Integer qnYear) {
this.id = id;
this.questionnaireName = questionnaireName;
this.status = status;
this.createBy = createBy;
this.createTime = createTime;
this.qnYear = qnYear;
}
public Questionnaire() {
......
......@@ -14,9 +14,18 @@ public class Record {//上报记录表
private String createId;//上报人员唯一标识
private List<Review> reviews;//评审备注
private String writePeople;//填报人
private Integer qnYear; //上报年份
private Integer start;
private Integer length;
public Integer getQnYear() {
return qnYear;
}
public void setQnYear(Integer qnYear) {
this.qnYear = qnYear;
}
public Integer getStart() {
return start;
}
......@@ -125,7 +134,7 @@ public class Record {//上报记录表
}
public Record(Long questionnaireUuid, String questionnaireName, Integer processStatus, String phoneNumber,
String createBy,String writePeople, Date createTime, String createId) {
String createBy,String writePeople, Date createTime, String createId,Integer qnYear) {
this.questionnaireUuid = questionnaireUuid;
this.questionnaireName = questionnaireName;
this.processStatus = processStatus;
......@@ -134,5 +143,6 @@ public class Record {//上报记录表
this.createBy = createBy;
this.createTime = createTime;
this.createId = createId;
this.qnYear = qnYear;
}
}
......@@ -115,6 +115,10 @@ public interface QuestionnaireService {
Integer saveReview(List<Review> reviews) throws Exception;
Map<String,Object> modifyRecordStatusByRecordId(Long recordId);
Map<String,Object> generateTableTask();
Map<String,Object> generateRecordTask();
}
package com.tiptimes.service.impl;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
......@@ -8,16 +7,14 @@ import com.alibaba.excel.write.metadata.style.WriteCellStyle;
import com.alibaba.excel.write.metadata.style.WriteFont;
import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
import com.alibaba.excel.write.style.column.SimpleColumnWidthStyleStrategy;
//import com.tiptimes.ctrl.ExcelFillCellMergeStrategy;
import com.tiptimes.ctrl.ExcelFillCellMergeStrategy;
import com.tiptimes.ctrl.QuestionEnum;
import com.tiptimes.ctrl.QuestionnaireVo;
import com.tiptimes.dao.QuestionnaireDao;
import com.tiptimes.model.Answer;
import com.tiptimes.model.PerformanceSummary;
import com.tiptimes.model.Record;
import com.tiptimes.model.Review;
import com.tiptimes.model.*;
import com.tiptimes.model.exportDTO.*;
import com.tiptimes.service.QuestionnaireService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.ss.usermodel.VerticalAlignment;
......@@ -27,14 +24,11 @@ import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileOutputStream;
import java.net.URLEncoder;
import java.util.*;
@Service
public class QuestionnaireServiceImpl implements QuestionnaireService {
@Autowired
private QuestionnaireDao questionnaireDao;
......@@ -103,7 +97,8 @@ public class QuestionnaireServiceImpl implements QuestionnaireService {
if(reviewList != null){
//查询结果为一条数据,并且状态都是通过,更新列表状态为3
if(reviewList.size() == 1 && reviewList.get(0).getApprovalStatus() == 1 && reviews.containsAll(list) && list.containsAll(reviews)){
if(reviewList.size() == 1 && reviewList.get(0).getApprovalStatus() == 1 && reviews.containsAll(list)
&& list.containsAll(reviews)){
record.setProcessStatus(3);
}else if(reviewList.size() > 1 ){
//既有通过和驳回,更新列表状态为2-驳回
......@@ -193,7 +188,8 @@ public class QuestionnaireServiceImpl implements QuestionnaireService {
* @param recordId 上报记录id
*/
@Override
public void exportFullTimeWorkPerson(HttpServletRequest request, HttpServletResponse response, String index, String recordId){
public void exportFullTimeWorkPerson(HttpServletRequest request, HttpServletResponse response, String index,
String recordId){
try {
WriteCellStyle headWriteCellStyle = new WriteCellStyle();
//设置背景颜色
......@@ -214,7 +210,8 @@ public class QuestionnaireServiceImpl implements QuestionnaireService {
//设置 水平居中
contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER);
// 这个策略是 头是头的样式 内容是内容的样式
HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle);
HorizontalCellStyleStrategy horizontalCellStyleStrategy =
new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle);
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
......@@ -228,7 +225,9 @@ public class QuestionnaireServiceImpl implements QuestionnaireService {
case "1":
//导出文件名称
String fileName_a = "基础指标一";
response.setHeader("Content-disposition", "attachment;filename=" + new String((fileName_a).getBytes("gb2312"), "ISO-8859-1") + ".xlsx");
response.setHeader("Content-disposition", "attachment;filename=" +
new String((fileName_a).getBytes("gb2312"),
"ISO-8859-1") + ".xlsx");
//查询数据
List<SiteCondition> siteConditionList = questionnaireDao.selectSiteConditionList();
if (siteConditionList != null) {
......@@ -237,7 +236,8 @@ public class QuestionnaireServiceImpl implements QuestionnaireService {
siteConditionList.get(i).setIndex(i+1);
}
//生成excel
EasyExcel.write(response.getOutputStream(),SiteCondition.class).sheet("众创空间场地情况与是否租赁场地").
EasyExcel.write(response.getOutputStream(),SiteCondition.class)
.sheet("众创空间场地情况与是否租赁场地").
registerWriteHandler(horizontalCellStyleStrategy)
.registerWriteHandler(new SimpleColumnWidthStyleStrategy(30))
.registerWriteHandler(new ExcelFillCellMergeStrategy(mergeRowIndex,mergeColumeIndex))
......@@ -941,4 +941,356 @@ public class QuestionnaireServiceImpl implements QuestionnaireService {
return map;
}
}
/**
* 每年定时生成 问卷表、问题表和选线表的数据
*/
@Override
@Transactional
public Map<String,Object> generateTableTask(){
Map<String,Object> tblMap = new HashMap<>();
QuestionnaireVo questionnaireVo = new QuestionnaireVo();
// 获取系统当前年
Calendar calendar = Calendar.getInstance();
questionnaireVo.setQuestionnaireName(calendar.get(Calendar.YEAR) + "季度问卷");
questionnaireVo.setStatus(1);
questionnaireVo.setCreateTime(new Date());
questionnaireVo.setCreateBy("姗姗老师");
questionnaireVo.setQnYear(calendar.get(Calendar.YEAR));
Long result = questionnaireDao.insertQuestionnaire(questionnaireVo);
if(result > 0){
// 根据问卷表的年份查询最新入库的数据id
int line = questionnaireDao.queryQuestionsId(calendar.get(Calendar.YEAR));
// 插入问题表的数据t_questions,添加成功进入选项表的入库操作
addQuestions(line);
// 获取到t_questions标的id,根据每个问题的选项进行入库操作
Integer qnYear = calendar.get(Calendar.YEAR);
addOptions(qnYear);
tblMap.put("code",200);
tblMap.put("result",true);
tblMap.put("msg","生成数据表成功!");
return tblMap;
}else {
tblMap.put("code",500);
tblMap.put("result",false);
tblMap.put("msg","生成数据表失败!");
return tblMap;
}
}
/**
* 每年定时生成问题表数据
* @param line
* @return string
*/
@Transactional
public String addQuestions(Integer line){
int rtn = 0;
List<String> questionList = Arrays.asList(QuestionEnum.BASIC_INFORMATION.getQuestionCode(),
QuestionEnum.MAKER_SPACE.getQuestionCode(),QuestionEnum.LEASE_VENUE.getQuestionCode(),
QuestionEnum.FULL_STATUS.getQuestionCode(),QuestionEnum.INCUBATED_ENTERPRISES.getQuestionCode(),
QuestionEnum.JOB_CREATION.getQuestionCode(),QuestionEnum.ENTREPRENEURSHIP_COURSES.getQuestionCode(),
QuestionEnum.ENTREPRENEURSHIP_MENTOR.getQuestionCode(),
QuestionEnum.ENTREPRENEURSHIP_ACTIVITIES.getQuestionCode(),
QuestionEnum.COMPETITION_SITUATION.getQuestionCode(),
QuestionEnum.INNOVATION_ENTREPRENEURSHIP.getQuestionCode(),
QuestionEnum.MAKER_INFORMATION.getQuestionCode(),QuestionEnum.INCUBATED_ENTERPRISE.getQuestionCode(),
QuestionEnum.WEEK_ACTIVITIES.getQuestionCode(),QuestionEnum.LISTING_SITUATION.getQuestionCode(),
QuestionEnum.PROPERTY_RIGHTS.getQuestionCode(),QuestionEnum.AWARD_SITUATION.getQuestionCode(),
QuestionEnum.AWARDS_COMPETITION.getQuestionCode(),QuestionEnum.TOPSTATUS.getQuestionCode(),
QuestionEnum.NATIONAL_RECORD.getQuestionCode(),QuestionEnum.NATIONAL_ENTREPRENEURSHIP.getQuestionCode());
for(String str : questionList){
// 保存问题表
Questions question = new Questions();
question.setQuestionnaireUuid(Long.valueOf(line));
question.setQuestion(str);
question.setStatus(1);
question.setCreateTime(new Date());
rtn = questionnaireDao.insertQuestions(question);
}
return String.valueOf(rtn);
}
/**
* 每年定时生成选项表数据
* @param qnYear
* @return string
*/
@Transactional
public String addOptions(Integer qnYear){
int rtn = 0;
try {
// 获取当前年份的问题集合
List<Questions> questionsList = questionnaireDao.queryQuestionsList(qnYear);
if (questionsList != null ) {
for (Questions questions : questionsList){
if (questions.getQuestion().equals(QuestionEnum.BASIC_INFORMATION.getQuestionCode())){
// 基本信息
List<String> optionsList = Arrays.asList(QuestionEnum.SPACE_NAME.getQuestionCode(),
QuestionEnum.AFFILIATED_UNIVERSITY.getQuestionCode(),
QuestionEnum.PERSON_NAME.getQuestionCode(),
QuestionEnum.CONTACT_NUMBER.getQuestionCode());
// 调取保存方法
insertOptions(questions.getId(),optionsList);
} else if (questions.getQuestion().equals(QuestionEnum.MAKER_SPACE.getQuestionCode())) {
// 众创空间场地情况
List<String> optionsList = Arrays.asList(QuestionEnum.SPACE_INNOVATION.getQuestionCode(),
QuestionEnum.SPACE_NUMBER.getQuestionCode());
// 调取保存方法
insertOptions(questions.getId(),optionsList);
} else if (questions.getQuestion().equals(QuestionEnum.LEASE_VENUE.getQuestionCode())) {
// 是否租赁场地
List<String> optionsList = Arrays.asList(QuestionEnum.IS_LEASE_VENUE.getQuestionCode(),
QuestionEnum.LIVE_PHOTO.getQuestionCode());
// 调取保存方法
insertOptions(questions.getId(),optionsList);
} else if (questions.getQuestion().equals(QuestionEnum.FULL_STATUS.getQuestionCode())) {
// 众创空间配备专职工作人员情况
List<String> optionsList = Arrays.asList(QuestionEnum.FULL_STATUS_NAME.getQuestionCode(),
QuestionEnum.FULL_STATUS_OFFICE.getQuestionCode(),
QuestionEnum.FULL_STATUS_DEPARTMENT.getQuestionCode(),
QuestionEnum.FULL_STATUS_POSITION.getQuestionCode(),
QuestionEnum.FULL_STATUS_PHONE.getQuestionCode(),
QuestionEnum.FULL_STATUS_JOB.getQuestionCode(),
QuestionEnum.FULL_STATUS_DESCRIPTION.getQuestionCode());
// 调取保存方法
insertOptions(questions.getId(),optionsList);
} else if (questions.getQuestion().equals(QuestionEnum.INCUBATED_ENTERPRISES.getQuestionCode())) {
// 入孵企业情况
List<String> optionsList = Arrays.asList(QuestionEnum.ENTERPRISES_NAME.getQuestionCode(),
QuestionEnum.ENTERPRISES_PROF.getQuestionCode(),
QuestionEnum.ENTERPRISES_EQUITY.getQuestionCode(),
QuestionEnum.ENTERPRISES_INCUBATION.getQuestionCode(),
QuestionEnum.ENTERPRISES_NEWLY.getQuestionCode());
// 调取保存方法
insertOptions(questions.getId(),optionsList);
} else if (questions.getQuestion().equals(QuestionEnum.JOB_CREATION.getQuestionCode())) {
// 新增就业情况
List<String> optionsList = Arrays.asList(QuestionEnum.JOB_NAME.getQuestionCode(),
QuestionEnum.JOB_PERSONNAME.getQuestionCode(),
QuestionEnum.JOB_EVIDENCE.getQuestionCode(),
QuestionEnum.JOB_ADDPOST.getQuestionCode());
// 调取保存方法
insertOptions(questions.getId(),optionsList);
} else if (questions.getQuestion().equals(QuestionEnum.ENTREPRENEURSHIP_COURSES.getQuestionCode())){
// 开设创新创业课程情况
List<String> optionsList = Arrays.asList(QuestionEnum.ENTREPRENEURSHIP_NAME.getQuestionCode(),
QuestionEnum.ENTREPRENEURSHIP_TEACHER.getQuestionCode(),
QuestionEnum.ENTREPRENEURSHIP_HOURS.getQuestionCode(),
QuestionEnum.ENTREPRENEURSHIP_CREDIT.getQuestionCode(),
QuestionEnum.ENTREPRENEURSHIP_SCREENSHOT.getQuestionCode(),
QuestionEnum.ENTREPRENEURSHIP_COURSEWARE.getQuestionCode(),
QuestionEnum.ENTREPRENEURSHIP_INTRODUCE.getQuestionCode(),
QuestionEnum.ENTREPRENEURSHIP_VIDEO_DISPLAY.getQuestionCode(),
QuestionEnum.ENTREPRENEURSHIP_NETWORK_CONNECTION.getQuestionCode(),
QuestionEnum.ENTREPRENEURSHIP_DEMONSTRATION.getQuestionCode());
// 调取保存方法
insertOptions(questions.getId(),optionsList);
} else if (questions.getQuestion().equals(QuestionEnum.ENTREPRENEURSHIP_MENTOR.getQuestionCode())){
// 签约创业导师情况
List<String> optionsList = Arrays.asList(QuestionEnum.MENTOR_TNAME.getQuestionCode(),
QuestionEnum.MENTOR_SEX.getQuestionCode(),
QuestionEnum.MENTOR_EDUCATIONAL.getQuestionCode(),
QuestionEnum.MENTOR_PHONE.getQuestionCode(),
QuestionEnum.MENTOR_UNIT.getQuestionCode(),
QuestionEnum.MENTOR_POSITION.getQuestionCode(),
QuestionEnum.MENTOR_PROFESSIONA.getQuestionCode(),
QuestionEnum.MENTOR_SIGNING_DATE.getQuestionCode(),
QuestionEnum.MENTOR_SIGNING_DURATION.getQuestionCode(),
QuestionEnum.MENTOR_TUTORING_CATEGORY.getQuestionCode(),
QuestionEnum.MENTOR_TUTORING_INDUSTRY.getQuestionCode(),
QuestionEnum.MENTOR_INTERNET_COMPETITION.getQuestionCode(),
QuestionEnum.MENTOR_PARTICIPATION_YEAR.getQuestionCode(),
QuestionEnum.MENTOR_GUIDE_TRACK.getQuestionCode(),
QuestionEnum.MENTOR_SUPPORTING_MATERIAL.getQuestionCode(),
QuestionEnum.MENTOR_ENTREPRENEURIAL_MENTOR.getQuestionCode(),
QuestionEnum.MENTOR_SUPPORTING_MATERIAL_ONE.getQuestionCode());
// 调取保存方法
insertOptions(questions.getId(),optionsList);
} else if (questions.getQuestion().equals(
QuestionEnum.ENTREPRENEURSHIP_ACTIVITIES.getQuestionCode())){
// 组织双创活动情况
List<String> optionsList = Arrays.asList(QuestionEnum.ACTIVITIES_TIME.getQuestionCode(),
QuestionEnum.ACTIVITIES_THEME.getQuestionCode(),
QuestionEnum.ACTIVITIES_ACTIVITY_TYPE.getQuestionCode(),
QuestionEnum.ACTIVITIES_ACTIVITY_NEWS.getQuestionCode(),
QuestionEnum.ACTIVITIES_ACTIVITY_PHOTOT.getQuestionCode());
// 调取保存方法
insertOptions(questions.getId(),optionsList);
} else if (questions.getQuestion().equals(QuestionEnum.COMPETITION_SITUATION.getQuestionCode())){
// 参赛情况
List<String> optionsList = Arrays.asList(QuestionEnum.SITUATION_NAME.getQuestionCode(),
QuestionEnum.SITUATION_UNIT.getQuestionCode(),
QuestionEnum.SITUATION_ENTRY_NAME.getQuestionCode());
// 调取保存方法
insertOptions(questions.getId(),optionsList);
} else if (questions.getQuestion().equals(
QuestionEnum.INNOVATION_ENTREPRENEURSHIP.getQuestionCode())){
// 本年创新创业工作经费(万元)
List<String> optionsList = Arrays.asList(QuestionEnum.INNOVATION_APPROPRIATION.getQuestionCode(),
QuestionEnum.INNOVATION_PROOF_PHOTOGRAPH.getQuestionCode());
// 调取保存方法
insertOptions(questions.getId(),optionsList);
} else if (questions.getQuestion().equals(QuestionEnum.MAKER_INFORMATION.getQuestionCode())){
// 申报成功高校众创空间联盟发布的创新创业研究课题信息
List<String> optionsList = Arrays.asList(QuestionEnum.MAKER_SUBJECT_NUMBER.getQuestionCode(),
QuestionEnum.MAKER_SUBJECT_NAME.getQuestionCode(),
QuestionEnum.MAKER_SUBJECT_PERSON.getQuestionCode());
// 调取保存方法
insertOptions(questions.getId(),optionsList);
} else if (questions.getQuestion().equals(QuestionEnum.INCUBATED_ENTERPRISE.getQuestionCode())){
// 在孵企业销售收入或累计合同额情况
List<String> optionsList = Arrays.asList(QuestionEnum.INCUBATED_NAME.getQuestionCode(),
QuestionEnum.INCUBATED_AMOUNT.getQuestionCode(),
QuestionEnum.INCUBATED_MATERIAL.getQuestionCode(),
QuestionEnum.INCUBATED_FINANCING_NAME.getQuestionCode(),
QuestionEnum.INCUBATED_FINANCING_AMOUNT.getQuestionCode(),
QuestionEnum.INCUBATED_FINANCING_MODE.getQuestionCode(),
QuestionEnum.INCUBATED_MATERIAL_ONE.getQuestionCode());
// 调取保存方法
insertOptions(questions.getId(),optionsList);
} else if (questions.getQuestion().equals(QuestionEnum.WEEK_ACTIVITIES.getQuestionCode())){
// 主办或承办市级及以上级别路演、双创周活动
List<String> optionsList = Arrays.asList(QuestionEnum.ACTIVITIES_NAME.getQuestionCode(),
QuestionEnum.ACTIVITIES_DEVELOPMENT.getQuestionCode(),
QuestionEnum.ACTIVITIES_HOST.getQuestionCode());
// 调取保存方法
insertOptions(questions.getId(),optionsList);
} else if (questions.getQuestion().equals(QuestionEnum.LISTING_SITUATION.getQuestionCode())){
// 在孵企业在OTC高校板挂牌情况
List<String> optionsList = Arrays.asList(QuestionEnum.SITUATION_BATCH.getQuestionCode(),
QuestionEnum.SITUATION_PROJECT_NAME.getQuestionCode());
// 调取保存方法
insertOptions(questions.getId(),optionsList);
} else if (questions.getQuestion().equals(QuestionEnum.PROPERTY_RIGHTS.getQuestionCode())){
// 在孵企业新增知识产权(包括专利、软著等)
List<String> optionsList = Arrays.asList(QuestionEnum.PROPERTY_NAME.getQuestionCode(),
QuestionEnum.PROPERTY_TIME.getQuestionCode(),
QuestionEnum.PROPERTY_PROPERTY.getQuestionCode(),
QuestionEnum.PROPERTY_NYMBER.getQuestionCode(),
QuestionEnum.PROPERTY_SEND.getQuestionCode());
// 调取保存方法
insertOptions(questions.getId(),optionsList);
} else if (questions.getQuestion().equals(QuestionEnum.AWARD_SITUATION.getQuestionCode())){
// 获得“互联网+”大赛全国赛事奖项情况
List<String> optionsList = Arrays.asList(QuestionEnum.AWARD_TRACK.getQuestionCode(),
QuestionEnum.AWARD_AWARD.getQuestionCode(),
QuestionEnum.AWARD_TEAM.getQuestionCode(),
QuestionEnum.AWARD_PROJECT.getQuestionCode(),
QuestionEnum.AWARD_SEND.getQuestionCode());
// 调取保存方法
insertOptions(questions.getId(),optionsList);
} else if (questions.getQuestion().equals(QuestionEnum.AWARDS_COMPETITION.getQuestionCode())){
// 获得创客马拉松大赛及市教委组织的其他双创大赛奖项情况
List<String> optionsList = Arrays.asList(QuestionEnum.COMPETITION_NAME.getQuestionCode(),
QuestionEnum.COMPETITION_ORGANIZATION.getQuestionCode(),
QuestionEnum.COMPETITION_AWARD.getQuestionCode(),
QuestionEnum.COMPETITION_TEAM.getQuestionCode(),
QuestionEnum.COMPETITION_PROJECT.getQuestionCode(),
QuestionEnum.COMPETITION_SEND.getQuestionCode());
// 调取保存方法
insertOptions(questions.getId(),optionsList);
} else if (questions.getQuestion().equals(QuestionEnum.TOPSTATUS.getQuestionCode())){
// 入选天津市创业拔尖项目情况
List<String> optionsList = Arrays.asList(QuestionEnum.TOPSTATUS_YEAR.getQuestionCode(),
QuestionEnum.TOPSTATUS_NAME.getQuestionCode(),
QuestionEnum.TOPSTATUS_ITEM.getQuestionCode(),
QuestionEnum.TOPSTATUS_EXCELLENT_PROJECT.getQuestionCode());
// 调取保存方法
insertOptions(questions.getId(),optionsList);
} else if (questions.getQuestion().equals(QuestionEnum.NATIONAL_RECORD.getQuestionCode())){
// 是否为国家级备案众创空间
List<String> optionsList = Arrays.asList(QuestionEnum.BOOLEAN_NATIONAL_RECORD.getQuestionCode());
// 调取保存方法
insertOptions(questions.getId(),optionsList);
} else if (questions.getQuestion().equals(
QuestionEnum.NATIONAL_ENTREPRENEURSHIP.getQuestionCode())){
// 是否为国家创业孵化示范基地
List<String> optionsList = Arrays.asList(
QuestionEnum.BOOLEAN_NATIONAL_ENTREPRENEURSHIP.getQuestionCode());
// 调取保存方法
insertOptions(questions.getId(),optionsList);
}
}
}
} catch (Exception e){
e.printStackTrace();
}
return String.valueOf(rtn);
}
/**
* 保存选项表数据
*/
private int insertOptions (Long id,List<String> optionsList){
if (StringUtils.isEmpty(String.valueOf(id))){
return 0;
}
int rtn = 0;
Options options = new Options();
// 获取问题表主键
options.setQuestionId(id);
for (String str : optionsList){
options.setOptionValue(str);
options.setStatus(1);
rtn = questionnaireDao.insertOptions(options);
}
return rtn;
}
/**
* 每年生成上报记录数据
*/
@Override
public Map<String,Object> generateRecordTask(){
Map<String,Object> tblMap = new HashMap<>();
Long rtn = 0L;
try{
// 获取系统当前年
Calendar calendar = Calendar.getInstance();
// 查询问卷表的年份和问卷名称
Questionnaire questionnaire = questionnaireDao.queryQuestionnaireList(calendar.get(Calendar.YEAR));
// 查询上报记录相关数据,用于保存数据使用
Record record = new Record();
List<Record> recordList = questionnaireDao.queryRecordList(record);
if (recordList != null || questionnaire != null){
for (Record rd : recordList){
// 创建对象
Record recordTbl = new Record();
recordTbl.setQuestionnaireUuid(questionnaire.getId());
recordTbl.setQuestionnaireName(questionnaire.getQuestionnaireName());
recordTbl.setProcessStatus(rd.getProcessStatus());
recordTbl.setCreateTime(new Date());
recordTbl.setCreateBy(rd.getCreateBy());
recordTbl.setWritePeople(rd.getWritePeople());
recordTbl.setPhoneNumber(rd.getPhoneNumber());
recordTbl.setCreateId(rd.getCreateId());
recordTbl.setQnYear(calendar.get(Calendar.YEAR) );
rtn = questionnaireDao.insertRecord(recordTbl);
}
}
}catch(Exception e){
e.printStackTrace();
}
if (rtn > 0){
tblMap.put("code",200);
tblMap.put("result",true);
tblMap.put("msg","生成数据表成功!");
return tblMap;
} else {
tblMap.put("code",500);
tblMap.put("result",false);
tblMap.put("msg","生成数据表失败!");
return tblMap;
}
}
}
......@@ -3,29 +3,57 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.tiptimes.dao.QuestionnaireDao">
<insert id="insertQuestionnaire" useGeneratedKeys="true" keyProperty="id">
INSERT INTO t_questionnaire(questionnaire_name,status,create_time,create_by,qn_year)
VALUES(#{questionnaireName},#{status},#{createTime},#{createBy},#{qnYear})
</insert>
<!--根据年份查询问卷的id-->
<select id="queryQuestionsId" parameterType="Integer" resultType="Integer">
select id from t_questionnaire where <if test="qnYear != null and qnYear != ''">qn_year = #{qnYear}</if>
</select>
<insert id="insertQuestions" parameterType="com.tiptimes.model.Questions" >
INSERT INTO t_questions(questionnaire_uuid,question,status,create_time)
VALUES(#{questionnaireUuid},#{question},#{status},#{createTime})
</insert>
<!--根据年份查询问题集合-->
<select id="queryQuestionsList" parameterType="Integer" resultType="com.tiptimes.model.Questions">
SELECT tq.id,tq.questionnaire_uuid AS questionnaireUuid,tq.question FROM t_questions tq
LEFT JOIN t_questionnaire qn ON qn.id = tq.questionnaire_uuid
WHERE <if test="qnYear != null and qnYear != ''">qn.qn_year = #{qnYear}</if>
</select>
<insert id="insertOptions" parameterType="com.tiptimes.model.Options" >
INSERT INTO t_options(question_id,option_value,status)
VALUES(#{questionId},#{optionValue},#{status})
</insert>
<!--查询商报记录相关数据,用于生成每年的数据使用-->
<select id="queryRecordList" resultType="com.tiptimes.model.Record">
SELECT
create_by AS createBy,
write_people AS writePeople,
phone_number AS phoneNumber,
create_id AS createId,
process_status AS processStatus
FROM
t_record
WHERE questionnaire_uuid = 1
</select>
<!--查询商报记录相关数据,用于生成每年的数据使用-->
<select id="queryQuestionnaireList" parameterType="Integer" resultType="com.tiptimes.model.Questionnaire">
select id,questionnaire_name as questionnaireName,qn_year as qnYear from t_questionnaire
where <if test="qnYear != null and qnYear != ''">qn_year = #{qnYear}</if>
</select>
<insert id="insertRecord" useGeneratedKeys="true" keyProperty="id">
INSERT INTO t_record
(
questionnaire_uuid,
questionnaire_name,
process_status,
phone_number,
create_time,
create_by,
create_id,
write_people
)
VALUES
(
#{questionnaireUuid},
#{questionnaireName},
#{processStatus},
#{phoneNumber},
#{createTime},
#{createBy},
#{createId},
#{writePeople}
)
INSERT INTO t_record(questionnaire_uuid,questionnaire_name,process_status,phone_number,create_time,
create_by,create_id,write_people,qn_year)
VALUES(#{questionnaireUuid},#{questionnaireName},#{processStatus},#{phoneNumber},#{createTime},
#{createBy},#{createId},#{writePeople},#{qnYear})
</insert>
<insert id="insertAnswer" parameterType="com.tiptimes.model.Answer">
......@@ -54,34 +82,19 @@
</update>
<delete id="delAnswer">
DELETE FROM
t_answer
WHERE
record_id=#{recordId}
DELETE FROM t_answer WHERE record_id=#{recordId}
</delete>
<delete id="delView">
DELETE FROM
t_review
WHERE
record_id=#{recordId} and questions_id =#{questionsId}
DELETE FROM t_review WHERE record_id=#{recordId} and questions_id =#{questionsId}
</delete>
<select id="selectRecordId" resultType="java.lang.Long">
SELECT id FROM t_record
WHERE questionnaire_uuid=#{questionnaireUuid} AND
create_id = #{createId}
SELECT id FROM t_record WHERE questionnaire_uuid=#{questionnaireUuid} AND create_id = #{createId}
</select>
<select id="selectAnswerByRecordId" resultType="com.tiptimes.model.Answer">
SELECT
options_id AS 'optionsId',
`value`,
`group`
FROM
t_answer
WHERE
record_id =#{recordId}
SELECT options_id AS 'optionsId',`value`,`group` FROM t_answer WHERE record_id =#{recordId}
</select>
<select id="selectReviewByRecordId" resultType="com.tiptimes.model.Review">
......@@ -95,10 +108,8 @@
</select>
<select id="selectById" resultType="com.tiptimes.model.Record">
SELECT process_status AS 'processStatus',reason,create_by AS 'createBy',
phone_number AS 'phoneNumber'
FROM t_record
WHERE id=#{recordId}
SELECT process_status AS 'processStatus',reason,create_by AS 'createBy',phone_number AS 'phoneNumber'
FROM t_record WHERE id=#{recordId}
</select>
<select id="selectRecordList" resultType="com.tiptimes.model.Record">
......@@ -579,7 +590,7 @@
WHERE record_id = #{recordId} and options_id = #{optionsId}
</update>
<!--查询审批页面各个问题是否都是通过状态,封信列表的审批状态使用-->
<!--查询审批页面各个问题是否都是通过状态,审批列表的审批状态使用-->
<select id="selectAnswerByStatus" resultType="com.tiptimes.model.Review">
SELECT
DISTINCT approval_status
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment