integrated_traffic/src/main/java/com/zcloud/controller/eduStudy/StudentController.java

737 lines
36 KiB
Java
Raw Normal View History

2024-03-06 16:25:53 +08:00
package com.zcloud.controller.eduStudy;
import com.zcloud.controller.base.BaseController;
import com.zcloud.service.eduStudy.*;
import com.zcloud.entity.Page;
import com.zcloud.entity.PageData;
import com.zcloud.entity.Response;
import com.zcloud.entity.TrainingPlanDao;
import com.zcloud.service.corp.CorpInfoService;
import com.zcloud.service.system.DepartmentService;
import com.zcloud.service.system.PostService;
import com.zcloud.service.system.UsersService;
import com.zcloud.util.*;
import fr.opensagres.xdocreport.document.IXDocReport;
import fr.opensagres.xdocreport.document.registry.XDocReportRegistry;
import fr.opensagres.xdocreport.template.IContext;
import fr.opensagres.xdocreport.template.TemplateEngineKind;
import fr.opensagres.xdocreport.template.formatter.FieldsMetadata;
import fr.opensagres.xdocreport.template.formatter.NullImageBehaviour;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.crypto.hash.SimpleHash;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
*
* zhangyue
* 2021-07-03
* www.zcloudchina.com
*/
@Controller
@RequestMapping("/student")
public class StudentController extends BaseController {
public static final String fileNumberPrefix = "XYBH-";
@Autowired
private UsersService usersService;
@Autowired
private StudentService studentService;
@Autowired
private DepartmentService departmentService;
@Autowired
private PostService postService;
@Autowired
private ClassPostService classPostService;
@Autowired
private InitPageDataUtil initPageDataUtil;
@Autowired
private StageStudentRelationService stageStudentRelationService;
@Autowired
private PostPaperService postPaperService;
@Autowired
private ClassService classService;
@Autowired
private CorpInfoService corpInfoService;
/**
*
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/add")
// @RequiresPermissions("student:add")
@ResponseBody
public Object add() throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd.put("USER_ID_CARD", pd.get("USER_ID_CARD").toString().replace("x", "X")); //身份证最后小写x转换成大写X
pd.put("FILE_NUMBER", fileNumberPrefix + DateUtil.getSdfTimesSSS());
if (pd.get("CLASS_ID") == null || Tools.isEmpty(pd.get("CLASS_ID").toString()) || pd.get("ENTERPRISE_ID") == null || Tools.isEmpty(pd.get("ENTERPRISE_ID").toString())) {
map.put("result", "error"); //返回结果
map.put("msg", "数据不全,请联系管理员");
return map;
}
if (!IdcardUtils.validateCard(pd.getString("USER_ID_CARD"))) {
map.put("result", "error"); //返回结果
map.put("msg", "身份证号校验不通过,请核对信息");
return map;
}
// 查询班级信息
PageData classInfo = classService.findById(pd);
// state 不是1 的班级。只允许在 班级内已经有的 部门-工种 下添加学员。
// int fileNum = studentService.findByFileNumber(pd);
String importClassId = (String) pd.get("CLASS_ID");
String idCard = (String) pd.get("USER_ID_CARD");
PageData info = studentService.findByFileNumber(pd);
// 编号如果不为0 那么肯定有记录 user无需添加 身份证比较过了 可以修改班级内的信息
if (!"0".equals(info.get("num").toString())) {
// 库里有数据
if (Integer.valueOf(String.valueOf(info.get("num"))) >= 1) {
// 查一下 是这个档案编号的人 看是不是这个班级里的 是可修改
PageData userCard = studentService.findUserCardByFileNumber(pd);
if (userCard != null && !userCard.get("USER_ID_CARD").toString().equals(idCard)) {
map.put("result", "error"); //返回结果
map.put("msg", "档案编号已经存在。");
return map;
}
// if (!userCard.getString("CLASS_ID").equals(importClassId)) {
// map.put("result", "error"); //返回结果
// map.put("msg", "档案编号已经存在。");
// return map;
// }
}
}
// PageData ent = enterpriseService.findById(pd);
// if (ent == null || ent.get("ENTERPRISE_ID") == null) {
// map.put("result", "error"); //返回结果
// map.put("msg", "被培训企业不存在,请联系管理员");
// return map;
// }
pd.put("STUDENT_ID", this.get32UUID()); //主键
initPageDataUtil.initSave(pd); // 初始化新建时间等基本信息
pd.put("STUDENT_ID", this.get32UUID());
pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID());
pd.put("USERNAME", pd.get("USER_ID_CARD"));
pd.put("ENTERPRISE_ID", pd.getString("ENTERPRISE_ID"));
pd.put("PERSONNELTYPE", "6");// 账号类型
pd.put("CERTIFICATETYPE", "4bed7fac8fe24ad4b5c0c69321fd5916");
pd.put("STATE", "1");
if (pd.get("POST_NAME") == null || StringUtils.isBlank(pd.getString("POST_NAME"))) {
PageData _post = postService.findById(pd);
pd.put("POST_NAME", _post.getString("NAME"));
}
if (pd.get("DEPARTMENT_NAME") == null || StringUtils.isBlank(pd.getString("DEPARTMENT_NAME"))) {
PageData _department = departmentService.findById(pd);
pd.put("DEPARTMENT_NAME", _department.getString("NAME"));
}
// 查询是否有此账号
PageData studentUser = usersService.findByIdCard(pd);
// PageData userCount = usersService.countUserByIdCrd(pageData);
// 此学员没有账号时,添加此账号
if (studentUser == null || studentUser.get("USER_ID") == null) {
studentUser = pd;
studentUser.put("USER_ID", this.get32UUID());
studentUser.put("PASSWORD", new SimpleHash("SHA-1", pd.get("USER_ID_CARD").toString(), "666666").toString()); //密码加密
studentUser.put("ROLE_ID", "ac93b53f01da44eeb9210d557b97a65e");
studentUser.put("STATUS", "0");
studentUser.put("AUTHENTICATION", "0");
studentUser.put("CULTURAL_LEVEL", pd.get("DEGREE_OF_EDUCATION"));
usersService.saveUser(studentUser);
}
pd.put("USER_ID", studentUser.get("USER_ID"));
pd.put("CLASS_ID", pd.get("CLASS_ID"));
// 查看本班级是否添加过这个学员,若添加过,则编辑,若没有,则新增
List<PageData> _student = studentService.findByIdCardInClass(pd);
if (_student != null && _student.size() >= 2) {
map.put("result", "error"); //返回结果
map.put("msg", "本班级存在重复人员,请联系管理员!");
return map;
}
boolean isClassStart = false;
// state 不是1 的班级。只允许在 班级内已经有的 部门-工种 下添加学员。
if (classInfo != null && classInfo.get("STATE") != null && !"1".equals(classInfo.getString("STATE"))) {
isClassStart = true;
}
if (_student == null || _student.size() <= 0) {
// 已开班,增加学习记录
if (isClassStart) {
saveStageStudent(pd);
}
// 已开班,新增学员时校验培训人次
if (isClassStart) {
PageData peoplecount = corpInfoService.peoplecountlist(pd);
int surpluscount = (int) peoplecount.get("PEOPLECOUNT") - Integer.parseInt(peoplecount.get("TRAININGCOUNT").toString()) - 1; //充值总人次-使用人次-该新增学员
if (surpluscount < 0) {
map.put("result", "error"); //返回结果
map.put("msg", "人次不足,请及时续费!");
return map;
}
}
studentService.save(pd);
List<PageData> posts = classPostService.findInClass(pd);
if (posts == null || posts.size() <= 0) {
PageData classPost = new PageData();
classPost.put("CLASSPOST_ID", this.get32UUID());
initPageDataUtil.initSave(classPost);
classPost.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID());
classPost.put("ENTERPRISE_ID", pd.get("ENTERPRISE_ID"));
classPost.put("CLASS_ID", pd.get("CLASS_ID"));
classPost.put("DEPARTMENT_ID", pd.get("DEPARTMENT_ID"));
classPost.put("POST_ID", pd.get("POST_ID"));
PageData post = postService.findById(pd);
if (post == null || post.size() <= 0) {
map.put("result", "error"); //返回结果
map.put("msg", "工种不存在,请联系管理员!");
return map;
}
classPost.put("POST_NAME", post.getString("NAME"));
PageData department = departmentService.findById(classPost);
if (department == null || department.size() <= 0) {
// throw new RuntimeException("数据异常:[部门不存在,请联系管理员]");
map.put("result", "error"); //返回结果
map.put("msg", "部门不存在,请联系管理员!");
return map;
}
classPost.put("DEPARTMENT_NAME", department.getString("NAME"));
classPostService.save(classPost);
}
} else {
if (isClassStart) {
map.put("result", "error"); //返回结果
map.put("msg", "开班后不能添加重复人员!");
return map;
}
// 已开班,新增学员时校验培训人次
if (isClassStart) {
PageData peoplecount = corpInfoService.peoplecountlist(pd);
int surpluscount = (int) peoplecount.get("PEOPLECOUNT") - Integer.parseInt(peoplecount.get("TRAININGCOUNT").toString()) - 1; //充值总人次-使用人次-该新增学员
if (surpluscount < 0) {
map.put("result", "error"); //返回结果
map.put("msg", "人次不足,请及时续费!");
return map;
}
}
List<PageData> posts = classPostService.findInClass(pd);
if (posts == null || posts.size() <= 0) {
PageData classPost = new PageData();
classPost.put("CLASSPOST_ID", this.get32UUID());
initPageDataUtil.initSave(classPost);
classPost.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID());
classPost.put("ENTERPRISE_ID", pd.get("ENTERPRISE_ID"));
classPost.put("CLASS_ID", pd.get("CLASS_ID"));
classPost.put("DEPARTMENT_ID", pd.get("DEPARTMENT_ID"));
classPost.put("POST_ID", pd.get("POST_ID"));
PageData post = postService.findById(pd);
if (post == null || post.size() <= 0) {
map.put("result", "error"); //返回结果
map.put("message", "工种不存在,请联系管理员!");
return map;
}
classPost.put("POST_NAME", post.getString("NAME"));
PageData department = departmentService.findById(classPost);
if (department == null || department.size() <= 0) {
map.put("result", "error"); //返回结果
map.put("message", "部门不存在,请联系管理员!");
return map;
}
classPost.put("DEPARTMENT_NAME", department.getString("NAME"));
classPostService.save(classPost);
// 2、检查旧工种是否有人关联没人关联则删除
List<PageData> _post = classPostService.findInClass(_student.get(0));
if (_post != null && _post.size() <= 1) {
classPostService.deleteByClassPost(_post.get(0));
}
studentService.delete(_student.get(0));
studentService.save(pd);
}
}
map.put("result", errInfo);
return map;
}
/**
*
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/deleteStudent")
// @RequiresPermissions("student:del")
@ResponseBody
public Object deleteStudent() throws Exception {
Map<String, String> map = new HashMap<String, String>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd = studentService.findById(pd);
initPageDataUtil.initEdit(pd);
// 删除学员信息
studentService.delete(pd);
// 查看班级内 是否还有与该学员相同工种的学员,如果没有。则删除班级内工种及相关关系
int samePostCount = studentService.CountByClassPost(pd);
if (samePostCount <= 0) { // 此工种没有学员时,删除工种,及工种关联数据
PageData cp = classPostService.findByPostDept(pd);
pd.put("CLASSPOST_ID", cp.get("CLASSPOST_ID"));
classPostService.delete(pd);
}
// 删除学习记录
stageStudentRelationService.deleteByStu(pd);
map.put("result", errInfo); //返回结果
return map;
}
/**
*
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/goEdit")
// @RequiresPermissions("student:edit")
@ResponseBody
public Object goEdit() throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd = studentService.findById(pd); //根据ID读取
map.put("pd", pd);
map.put("result", errInfo);
return map;
}
/**
*
*
* @param response
* @throws Exception
*/
@RequestMapping(value = "/downExcel")
public void downExcel(HttpServletResponse response) throws Exception {
FileDownload.fileDownload(response, PathUtil.getProjectpath() + Const.FILEPATHFILE + "studentExcelTemplate.xls", "学员导入模板.xls");
}
/**
* ()
*
* @param response
* @throws Exception
*/
@RequestMapping(value = "/downExcelForHealth")
public void downExcelForHealth(HttpServletResponse response) throws Exception {
FileDownload.fileDownload(response, PathUtil.getProjectpath() + Const.FILEPATHFILE + "studentExcelForHealthTemplate.xls", "学员导入模板.xls");
}
public void saveStageStudent(PageData pd) throws Exception {
PageData paper = postPaperService.findByClassPost(pd);
// 保存班级-学员关系
PageData stageStudent = new PageData();
stageStudent.put("STAGESTUDENTRELATION_ID", this.get32UUID());
initPageDataUtil.initSave(stageStudent);
stageStudent.put("USER_ID", pd.get("USER_ID"));
PageData c = classService.findById(pd);
// -----------未用-------
if ("bd73ea91fdcd4ef38ecd6f45a42f26af".equals(c.get("TRAINTYPE"))) {// 全员有考试
stageStudent.put("STAGEEXAMSTATE", "1"); // 阶段考试状态0.不考试 1.未开始 2.考试中 3.考试完成 4.未参加)
} else if ("9cbe83925bbb4d84bc057b5eb5607a53".equals(c.get("TRAINTYPE"))) { // 三岗没有
stageStudent.put("STAGEEXAMSTATE", "0"); // 阶段考试状态0.不考试 1.未开始 2.考试中 3.考试完成 4.未参加)
}
// -------------在用----------
if ("1".equals(c.get("EXAMINATION").toString())) {
stageStudent.put("STAGEEXAMSTATE", "1");
} else {
stageStudent.put("STAGEEXAMSTATE", "0");
}
stageStudent.put("STAGEEXAMSCORE", "-1");
stageStudent.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID());
stageStudent.put("COMPLETE_COURSEWARE", "0");
stageStudent.put("COMPLETE_CLASSHOUR", "0");
stageStudent.put("STUDYSTATE", "0");
stageStudent.put("CLASS_ID", pd.get("CLASS_ID"));
stageStudent.put("STUDENT_ID", pd.get("STUDENT_ID"));
if (paper != null && paper.get("STAGEEXAMPAPERINPUT_ID") != null && Tools.notEmpty(paper.getString("STAGEEXAMPAPERINPUT_ID"))) {
stageStudent.put("STAGEEXAMPAPER_ID", paper.get("STAGEEXAMPAPERINPUT_ID"));
stageStudent.put("PAPER_ID", paper.get("STAGEEXAMPAPERINPUT_ID"));
}
stageStudentRelationService.save(stageStudent);
}
/**
*
*
* @param page
* @throws Exception
*/
@RequestMapping(value = "/classStudentList")
@ResponseBody
public Object classStudentList(Page page) throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
String KEYWORDS = pd.getString("KEYWORDS"); //关键词检索条件
if (Tools.notEmpty(KEYWORDS)) pd.put("KEYWORDS", KEYWORDS.trim());
pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID());
if ("0".equals(Jurisdiction.getIS_MAIN())){
pd.put("USER_ID", Jurisdiction.getUSER_ID());
}
page.setPd(pd);
List<PageData> varList = studentService.list(page); //列出PostPaper列表
map.put("varList", varList);
map.put("page", page);
map.put("result", errInfo);
return map;
}
/**
*
*
* @param page
* @throws Exception
*/
@RequestMapping(value = "/classForHealthStudentList")
@ResponseBody
public Object classForHealthStudentList(Page page) throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
String KEYWORDS = pd.getString("KEYWORDS"); //关键词检索条件
if (Tools.notEmpty(KEYWORDS)) pd.put("KEYWORDS", KEYWORDS.trim());
page.setPd(pd);
List<PageData> varList = studentService.healthlist(page); //列出PostPaper列表
map.put("varList", varList);
map.put("page", page);
map.put("result", errInfo);
return map;
}
/**
*
*
* @param page
* @throws Exception
*/
@RequestMapping(value = "/exportStudentList")
@ResponseBody
public Object exportStudentList(Page page) throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
String KEYWORDS = pd.getString("KEYWORDS"); //关键词检索条件
if (Tools.notEmpty(KEYWORDS)) pd.put("KEYWORDS", KEYWORDS.trim());
pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID());
page.setPd(pd);
List<PageData> varList = studentService.listAllByExoprt(page); //列出PostPaper列表
map.put("varList", varList);
map.put("result", errInfo);
return map;
}
@RequestMapping("/list")
@ResponseBody
public Response list(Page page) throws Exception {
Response response = Response.getResponse();
try {
PageData request = this.getPageData();
request.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID());
if ("0".equals(Jurisdiction.getIS_MAIN())){
request.put("USER_ID", Jurisdiction.getUSER_ID());
}
page.setPd(request);
List<PageData> list = usersService.simplelistPage(page);
response.put("list", list);
response.put("page", page);
return response.OK();
} catch (Exception e) {
e.printStackTrace();
return response.error(e.getMessage());
}
}
@RequestMapping("/getInfo")
@ResponseBody
public Response getInfo() throws Exception {
Response response = Response.getResponse();
try {
PageData request = this.getPageData();
PageData info = usersService.getInfo(request);
response.put("info", info);
return response.OK();
} catch (Exception e) {
e.printStackTrace();
return response.errorMessage(e.getMessage());
}
}
@RequestMapping("/setState")
@ResponseBody
public Response setState() throws Exception {
Response response = Response.getResponse();
try {
PageData request = this.getPageData();
usersService.setState(request);
return response.OK();
} catch (Exception e) {
e.printStackTrace();
return response.errorMessage(e.getMessage());
}
}
@RequestMapping("getLogs")
@ResponseBody
public Response getLogs(Page page) throws Exception {
Response response = Response.getResponse();
try {
PageData request = this.getPageData();
page.setPd(request);
List<PageData> list = studentService.getUserStudyList(page);
response.put("list", list);
response.put("page", page);
return response.OK();
} catch (Exception e) {
e.printStackTrace();
return response.errorMessage(e.getMessage());
}
}
/**
*
*
* @return
*/
@RequestMapping(value = "/getEvaluation")
@ResponseBody
public Object getEvaluation() throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
PageData pageData = studentService.getEvaluation(pd);
map.put("pageData", pageData);
map.put("result", errInfo);
return map;
}
@RequestMapping("/hs")
public void hs(HttpServletResponse response) throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
String now = DateUtil.getSdfTimesSSS();
// 表头
PageData pageData = studentService.getEvaluation(pd);
File file = new File(PathUtil.getProjectpath() + Const.FILEPATHWORDTEMPLATE + "student-estimate.docx");
InputStream mbwj = new FileInputStream(file);
//注册xdocreport实例并加载FreeMarker模板引擎
IXDocReport report = XDocReportRegistry.getRegistry().loadReport(mbwj, TemplateEngineKind.Freemarker);
//创建xdocreport上下文对象
IContext context = report.createContext();
SimpleDateFormat formatdate = new SimpleDateFormat("yyyy年MM月dd日");
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
context.put("value1", Tools.notEmpty(pageData.getString("NAME")) ? pageData.getString("NAME") : "");
context.put("value2", Tools.notEmpty(pageData.getString("USER_ID_CARD")) ? pageData.getString("USER_ID_CARD") : "");
context.put("value3", Tools.notEmpty(pageData.getString("OPERATTIME")) ? formatdate.format(formatter.parse(pageData.getString("OPERATTIME"))) : "");
context.put("value4", Tools.notEmpty(pageData.getString("SEX")) ? pageData.getString("SEX") : "");
context.put("value5", Tools.notEmpty(pageData.getString("DEGREE_OF_EDUCATION")) ? pageData.getString("DEGREE_OF_EDUCATION") : "");
context.put("value6", Tools.notEmpty(pageData.getString("MAJOR")) ? pageData.getString("MAJOR") : "");
context.put("value7", Tools.notEmpty(pageData.getString("DUTIES")) ? pageData.getString("DUTIES") : "");
context.put("value8", Tools.notEmpty(pageData.getString("DEPARTMENT_NAME")) ? pageData.getString("DEPARTMENT_NAME") : "");
context.put("value9", Tools.notEmpty(pageData.getString("POST_NAME")) ? pageData.getString("POST_NAME") : "");
context.put("value10", Tools.notEmpty(pageData.getString("INDUSTRY_ALL_NAME")) ? pageData.getString("INDUSTRY_ALL_NAME") : "");
context.put("value11", Tools.notEmpty(pageData.getString("PHONE")) ? pageData.getString("PHONE") : "");
context.put("value12", Tools.notEmpty(pageData.getString("START_TIME")) ? formatdate.format(formatter.parse(pageData.getString("START_TIME"))) : "");
context.put("value13", Tools.notEmpty(pageData.getString("END_TIME")) ? formatdate.format(formatter.parse(pageData.getString("END_TIME"))) : "");
context.put("value14", Tools.notEmpty(pageData.getString("CLASS_NAME")) ? pageData.getString("CLASS_NAME") : "");
context.put("value15", Tools.notEmpty(pageData.getString("coursewareName")) ? pageData.getString("coursewareName") : "");
context.put("value16", Tools.notEmpty(pageData.getString("STAGEEXAMSCORE")) ? pageData.getString("STAGEEXAMSCORE") : "");
context.put("value17", Tools.notEmpty(pageData.getString("correct")) ? pageData.getString("correct") : "");
context.put("value18", Tools.notEmpty(pageData.getString("error")) ? pageData.getString("error") : "");
context.put("value19", Tools.notEmpty(pageData.getString("errorVideoName")) ? pageData.getString("errorVideoName") : "");
context.put("value20", Tools.notEmpty(pageData.getString("STRENGTHEN_EXAMNAME")) ? pageData.getString("STRENGTHEN_EXAMNAME") : "");
context.put("value21", Tools.notEmpty(pageData.getString("STRENGTHEN_EXAMSCORE")) ? pageData.getString("STRENGTHEN_EXAMSCORE") : "");
context.put("value22", Tools.notEmpty(pageData.getString("STRENGTHEN_OPERATTIME")) ? formatdate.format(formatter.parse(pageData.getString("STRENGTHEN_OPERATTIME"))) : "");
context.put("value23", Tools.notEmpty(pageData.getString("STRENGTHENEXAMSCORE")) ? pageData.getString("STRENGTHENEXAMSCORE") : "");
context.put("value24", Tools.notEmpty(pageData.getString("PERSONNEL_TYPE")) ? pageData.getString("PERSONNEL_TYPE") : "");
List<PageData> strengthenexamrecord = (List<PageData>) pageData.get("strengthenexamrecord");
List<TrainingPlanDao> list1 = new ArrayList<>();
for (int i = 0; i < strengthenexamrecord.size(); i++) {
TrainingPlanDao trainingPlanDao = new TrainingPlanDao();
String questiontype = strengthenexamrecord.get(i).getString("QUESTIONTYPE");
if (("1").equals(questiontype)) {
trainingPlanDao.setValue1("(单选题)");
trainingPlanDao.setValue5(Tools.notEmpty(strengthenexamrecord.get(i).getString("OPTIONA")) ? "A." + strengthenexamrecord.get(i).getString("OPTIONA") : "");
trainingPlanDao.setValue6(Tools.notEmpty(strengthenexamrecord.get(i).getString("OPTIONB")) ? "B." + strengthenexamrecord.get(i).getString("OPTIONB") : "");
trainingPlanDao.setValue7(Tools.notEmpty(strengthenexamrecord.get(i).getString("OPTIONC")) ? "C." + strengthenexamrecord.get(i).getString("OPTIONC") : "");
trainingPlanDao.setValue8(Tools.notEmpty(strengthenexamrecord.get(i).getString("OPTIOND")) ? "D." + strengthenexamrecord.get(i).getString("OPTIOND") : "");
} else if (("2").equals(questiontype)) {
trainingPlanDao.setValue1("(多选题)");
trainingPlanDao.setValue5(Tools.notEmpty(strengthenexamrecord.get(i).getString("OPTIONA")) ? "A." + strengthenexamrecord.get(i).getString("OPTIONA") : "");
trainingPlanDao.setValue6(Tools.notEmpty(strengthenexamrecord.get(i).getString("OPTIONB")) ? "B." + strengthenexamrecord.get(i).getString("OPTIONB") : "");
trainingPlanDao.setValue7(Tools.notEmpty(strengthenexamrecord.get(i).getString("OPTIONC")) ? "C." + strengthenexamrecord.get(i).getString("OPTIONC") : "");
trainingPlanDao.setValue8(Tools.notEmpty(strengthenexamrecord.get(i).getString("OPTIOND")) ? "D." + strengthenexamrecord.get(i).getString("OPTIOND") : "");
} else if (("3").equals(questiontype)) {
trainingPlanDao.setValue1("(判断题)");
trainingPlanDao.setValue5(Tools.notEmpty(strengthenexamrecord.get(i).getString("OPTIONA")) ? "A." + strengthenexamrecord.get(i).getString("OPTIONA") : "");
trainingPlanDao.setValue6(Tools.notEmpty(strengthenexamrecord.get(i).getString("OPTIONB")) ? "B." + strengthenexamrecord.get(i).getString("OPTIONB") : "");
trainingPlanDao.setValue7("");
trainingPlanDao.setValue8("");
} else if (("4").equals(questiontype)) {
trainingPlanDao.setValue1("(填空题)");
trainingPlanDao.setValue5("");
trainingPlanDao.setValue6("");
trainingPlanDao.setValue7("");
trainingPlanDao.setValue8("");
} else {
trainingPlanDao.setValue1("");
trainingPlanDao.setValue5("");
trainingPlanDao.setValue6("");
trainingPlanDao.setValue7("");
trainingPlanDao.setValue8("");
}
trainingPlanDao.setValue2(String.valueOf(i + 1));
trainingPlanDao.setValue3(Tools.notEmpty(strengthenexamrecord.get(i).getString("QUESTIONDRY")) ? strengthenexamrecord.get(i).getString("QUESTIONDRY") : "");
trainingPlanDao.setValue4(Tools.notEmpty(strengthenexamrecord.get(i).getString("SCORE")) ? strengthenexamrecord.get(i).getString("SCORE") : "");
trainingPlanDao.setValue9(Tools.notEmpty(strengthenexamrecord.get(i).getString("ANSWER")) ? strengthenexamrecord.get(i).getString("ANSWER") : "");
trainingPlanDao.setValue10(Tools.notEmpty(strengthenexamrecord.get(i).getString("ANSWERRIGHT")) ? strengthenexamrecord.get(i).getString("ANSWERRIGHT") : "");
trainingPlanDao.setValue11(Tools.notEmpty(strengthenexamrecord.get(i).getString("DESCR")) ? strengthenexamrecord.get(i).getString("DESCR") : "");
list1.add(trainingPlanDao);
}
context.put("list1", list1);
FieldsMetadata fm = report.createFieldsMetadata();
fm.load("list1", TrainingPlanDao.class, true);
// word模板中图片标签对应关系 pic---word模板中图片标签 item-- word模板中图片列表的遍历项即模板中«@before-row[#list list2 as item]» 的item item.pic中的pic 为 后台实体类的图片字段名
fm.addFieldAsImage("pic", "item.pic", NullImageBehaviour.RemoveImageTemplate);
//Word模板中的表格数据对应的集合类型
FileOutputStream out = new FileOutputStream(new File(PathUtil.getProjectpath() + Const.FILEPATHFILE + "安全生产教育培训动态评估报告-" + now + ".docx"));
report.process(context, out);
WordToPdfUtil.docToPdf(PathUtil.getProjectpath() + Const.FILEPATHFILE + "安全生产教育培训动态评估报告-" + now + ".docx",
PathUtil.getProjectpath() + Const.FILEPATHFILE + "安全生产教育培训动态评估报告-" + now + ".pdf");
FileDownload.fileDownload(response, PathUtil.getProjectpath() + Const.FILEPATHFILE +
"安全生产教育培训动态评估报告-" + now + ".pdf", "安全生产教育培训动态评估报告.pdf");
//删除本地word pdf
File word = new File(PathUtil.getProjectpath() + Const.FILEPATHFILE + "安全生产教育培训动态评估报告-" + now + ".docx");
word.delete();
File pdf = new File(PathUtil.getProjectpath() + Const.FILEPATHFILE + "安全生产教育培训动态评估报告-" + now + ".pdf");
pdf.delete();
}
/**
*
*
* @param page
* @throws Exception
*/
@RequestMapping(value = "/studentList")
@ResponseBody
public Object studentList(Page page) throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
String KEYWORDS = pd.getString("KEYWORDS"); //关键词检索条件
if (Tools.notEmpty(KEYWORDS)) pd.put("KEYWORDS", KEYWORDS.trim());
if (org.apache.commons.lang3.StringUtils.isNotBlank(pd.getString("STARTTIME"))) {
pd.put("STARTTIME", pd.getString("STARTTIME") + " 00:00:00");
}
if (org.apache.commons.lang3.StringUtils.isNotBlank(pd.getString("ENDTIME"))) {
pd.put("ENDTIME", pd.getString("ENDTIME") + " 23:59:59");
}
if (org.apache.commons.lang3.StringUtils.isNotBlank(pd.getString("OVERSTARTTIME"))) {
pd.put("OVERSTARTTIME", pd.getString("OVERSTARTTIME") + " 00:00:00");
}
if (org.apache.commons.lang3.StringUtils.isNotBlank(pd.getString("OVERENDTIME"))) {
pd.put("OVERENDTIME", pd.getString("OVERENDTIME") + " 23:59:59");
}
if (org.apache.commons.lang3.StringUtils.isNotBlank(pd.getString("CREATESTARTTIME"))) {
pd.put("CREATESTARTTIME", pd.getString("CREATESTARTTIME") + " 00:00:00");
}
if (org.apache.commons.lang3.StringUtils.isNotBlank(pd.getString("CREATENDTIME"))) {
pd.put("CREATENDTIME", pd.getString("CREATENDTIME") + " 23:59:59");
}
pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID());
page.setPd(pd);
List<PageData> varList = studentService.studentlistPage(page);
map.put("varList", varList);
map.put("page", page);
map.put("result", errInfo);
return map;
}
/**
*
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/derivedRecord")
@ResponseBody
public Object derivedRecord() throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
String KEYWORDS = pd.getString("KEYWORDS"); //关键词检索条件
if (Tools.notEmpty(KEYWORDS)) pd.put("KEYWORDS", KEYWORDS.trim());
if (org.apache.commons.lang3.StringUtils.isNotBlank(pd.getString("STARTTIME"))) {
pd.put("STARTTIME", pd.getString("STARTTIME") + " 00:00:00");
}
if (org.apache.commons.lang3.StringUtils.isNotBlank(pd.getString("ENDTIME"))) {
pd.put("ENDTIME", pd.getString("ENDTIME") + " 23:59:59");
}
if (org.apache.commons.lang3.StringUtils.isNotBlank(pd.getString("OVERSTARTTIME"))) {
pd.put("OVERSTARTTIME", pd.getString("OVERSTARTTIME") + " 00:00:00");
}
if (org.apache.commons.lang3.StringUtils.isNotBlank(pd.getString("OVERENDTIME"))) {
pd.put("OVERENDTIME", pd.getString("OVERENDTIME") + " 23:59:59");
}
if (org.apache.commons.lang3.StringUtils.isNotBlank(pd.getString("CREATESTARTTIME"))) {
pd.put("CREATESTARTTIME", pd.getString("CREATESTARTTIME") + " 00:00:00");
}
if (org.apache.commons.lang3.StringUtils.isNotBlank(pd.getString("CREATENDTIME"))) {
pd.put("CREATENDTIME", pd.getString("CREATENDTIME") + " 23:59:59");
}
pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID());
List<PageData> varList = studentService.derivedRecord(pd);
map.put("varList", varList);
map.put("result", errInfo);
return map;
}
2024-03-06 17:56:01 +08:00
2024-03-06 16:25:53 +08:00
}