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

708 lines
35 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;
2024-03-22 09:37:32 +08:00
import com.zcloud.entity.*;
2024-03-06 16:25:53 +08:00
import com.zcloud.service.eduStudy.*;
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;
2024-03-27 15:52:48 +08:00
import org.apache.tools.ant.Project;
2024-03-06 16:25:53 +08:00
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;
2024-03-22 09:37:32 +08:00
import java.util.*;
2024-03-06 16:25:53 +08:00
/**
*
* 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 ClassPostService classPostService;
@Autowired
private InitPageDataUtil initPageDataUtil;
@Autowired
private StageStudentRelationService stageStudentRelationService;
@Autowired
private PostPaperService postPaperService;
@Autowired
private ClassService classService;
/**
*
*
* @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();
2024-03-12 17:20:55 +08:00
pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID());
2024-03-22 09:37:32 +08:00
if (pd.get("userIds") != null && !pd.get("userIds").equals("")) {
String userIds[] = pd.get("userIds").toString().split(",");
// List<String> userList = Arrays.asList(userIds);
for (String data : userIds) {
PageData userInfo = new PageData();
userInfo.put("USER_ID", data);
userInfo = usersService.findById(userInfo);
pd.putAll(userInfo);
pd.put("FILE_NUMBER", fileNumberPrefix + DateUtil.getSdfTimesSSS());
if (pd.get("CLASS_ID") == null || Tools.isEmpty(pd.get("CLASS_ID").toString())) {
2024-03-06 16:25:53 +08:00
map.put("result", "error"); //返回结果
2024-03-22 09:37:32 +08:00
map.put("msg", "数据不全,请联系管理员");
2024-03-06 16:25:53 +08:00
return map;
}
2024-03-22 09:37:32 +08:00
// 查询班级信息
PageData classInfo = classService.findById(pd);
// state 不是1 的班级。只允许在 班级内已经有的 部门-工种 下添加学员。
String idCard = (String) userInfo.get("USER_ID_CARD");
2024-03-06 16:25:53 +08:00
2024-03-22 09:37:32 +08:00
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;
}
}
2024-03-06 16:25:53 +08:00
}
2024-03-22 09:37:32 +08:00
pd.put("STUDENT_ID", this.get32UUID()); //主键
initPageDataUtil.initSave(pd); // 初始化新建时间等基本信息
pd.put("STATE", "1");
// 查看本班级是否添加过这个学员,若添加过,则编辑,若没有,则新增
List<PageData> _student = studentService.findByIdCardInClass(pd);
if (_student != null && _student.size() >= 2) {
2024-03-06 16:25:53 +08:00
map.put("result", "error"); //返回结果
2024-03-22 09:37:32 +08:00
map.put("msg", "本班级存在重复人员,请联系管理员!");
2024-03-06 16:25:53 +08:00
return map;
}
2024-03-22 09:37:32 +08:00
boolean isClassStart = false;
// state 不是1 的班级。只允许在 班级内已经有的 部门-工种 下添加学员。
if (classInfo != null && classInfo.get("STATE") != null && !"1".equals(classInfo.getString("STATE"))) {
isClassStart = true;
2024-03-06 16:25:53 +08:00
}
2024-03-22 09:37:32 +08:00
if (_student == null || _student.size() <= 0) {
// 已开班,增加学习记录
if (isClassStart) {
saveStageStudent(pd);
}
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", pd.getString("CORPINFO_ID"));
classPost.put("CLASS_ID", pd.getString("CLASS_ID"));
classPost.put("POST_ID", pd.getString("POST_ID"));
classPost.put("POST_NAME", pd.getString("POST_NAME"));
classPost.put("DEPARTMENT_ID", pd.getString("DEPARTMENT_ID"));
classPost.put("DEPARTMENT_NAME", pd.getString("DEPARTMENT_NAME"));
classPostService.save(classPost);
}
} else {
if (isClassStart) {
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", pd.getString("CORPINFO_ID"));
classPost.put("CLASS_ID", pd.getString("CLASS_ID"));
classPost.put("POST_ID", pd.getString("POST_ID"));
classPost.put("POST_NAME", pd.getString("POST_NAME"));
classPost.put("DEPARTMENT_ID", pd.getString("DEPARTMENT_ID"));
classPost.put("DEPARTMENT_NAME", pd.getString("DEPARTMENT_NAME"));
classPostService.save(classPost);
2024-03-06 16:25:53 +08:00
2024-03-22 09:37:32 +08:00
// 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);
}
2024-03-06 16:25:53 +08:00
}
}
}
2024-03-22 09:37:32 +08:00
PageData editClass = new PageData();
2024-03-25 09:36:21 +08:00
editClass.put("CLASS_ID", pd.getString("CLASS_ID"));
editClass.put("RELEASE_TYPE", pd.getString("RELEASE_TYPE"));
editClass.put("PERSONNEL_TYPES", pd.getString("PERSONNEL_TYPES"));
editClass.put("EXAMINATION", pd.getString("EXAMINATION"));
2024-03-22 09:37:32 +08:00
classService.edit(editClass);
2024-03-06 16:25:53 +08:00
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 ("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());
2024-03-22 09:37:32 +08:00
List<PageData> varList = studentService.list(pd); //列出PostPaper列表
PageData classInfo = classService.findById(pd);
2024-03-06 16:25:53 +08:00
map.put("varList", varList);
2024-03-22 09:37:32 +08:00
map.put("classInfo", classInfo);
2024-03-06 16:25:53 +08:00
map.put("result", errInfo);
return map;
}
2024-03-25 09:36:21 +08:00
2024-03-06 16:25:53 +08:00
/**
*
*
* @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;
}
2024-03-22 09:37:32 +08:00
/**
*
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/exportStudentInfo")
@ResponseBody
public void exportStudent(HttpServletResponse response) 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());
List<PageData> varList = studentService.listAllByExoprt(pd); //列出PostPaper列表
2024-03-25 09:36:21 +08:00
Map<String, Object> objMap = new LinkedHashMap<>();
List<Map<String, Object>> list = new ArrayList<>();
if (varList.size() > 0) {
2024-03-27 15:52:48 +08:00
int num = 1;
2024-03-25 09:36:21 +08:00
for (PageData student : varList) {
2024-03-27 15:52:48 +08:00
objMap = new LinkedHashMap<>();
objMap.put("NUMBER", num);
objMap.put("USER_ID_CARD",student.getString("USER_ID_CARD"));
objMap.put("NAME",student.getString("NAME"));
objMap.put("SEX", "1".equals(student.getString("SEX")) ? "男" : "女");
objMap.put("PHONE",student.getString("PHONE"));
objMap.put("DEPARTMENT_NAME",student.getString("DEPARTMENT_NAME"));
objMap.put("POST_NAME",student.getString("POST_NAME"));
objMap.put("ALL_CLASSHOUR",student.getString("ALL_CLASSHOUR"));
objMap.put("COMPLETE_CLASSHOUR",student.getString("COMPLETE_CLASSHOUR"));
objMap.put("PASSED","0".equals(student.getString("STAGEEXAMSTATE")) ? "不考试" : student.getString("PASSED"));
objMap.put("EXAMSCORE",student.getString("EXAMSCORE"));
2024-03-25 09:36:21 +08:00
switch (student.getString("STUDYSTATE")) {
case "1":
2024-03-27 15:52:48 +08:00
objMap.put("STUDYSTATE","学习中");
2024-03-25 09:36:21 +08:00
break;
case "2":
2024-03-27 15:52:48 +08:00
objMap.put("STUDYSTATE","已学完");
2024-03-25 09:36:21 +08:00
break;
case "3":
2024-03-27 15:52:48 +08:00
objMap.put("STUDYSTATE","已完成");
2024-03-25 09:36:21 +08:00
break;
case "4":
2024-03-27 15:52:48 +08:00
objMap.put("STUDYSTATE","未完成");
2024-03-25 09:36:21 +08:00
break;
case "5":
2024-03-27 15:52:48 +08:00
objMap.put("STUDYSTATE","待评估");
2024-03-25 09:36:21 +08:00
break;
case "6":
2024-03-27 15:52:48 +08:00
objMap.put("STUDYSTATE","评估未合格");
2024-03-25 09:36:21 +08:00
break;
case "0":
2024-03-27 15:52:48 +08:00
objMap.put("STUDYSTATE","未学习");
2024-03-25 09:36:21 +08:00
break;
}
2024-03-27 15:52:48 +08:00
objMap.put("CLASS_NAME",student.getString("CLASS_NAME"));
if (Tools.notEmpty(student.getString("SIGNATURE_PATH"))) {
objMap.put("IMAGE1", student.getString("SIGNATURE_PATH"));
}else {
objMap.put("IMAGE1", null);
}
if (Tools.notEmpty(student.getString("PORTRAIT"))) {
objMap.put("IMAGE2", student.getString("PORTRAIT"));
}else {
objMap.put("IMAGE2", null);
2024-03-25 09:36:21 +08:00
}
2024-03-22 09:37:32 +08:00
list.add(objMap);
2024-03-27 15:52:48 +08:00
num++;
2024-03-22 09:37:32 +08:00
}
}
Object[] objects = objMap.keySet().toArray();
String[] titles = new String[objects.length];
2024-03-25 09:36:21 +08:00
Map<String, String> titleName = new LinkedHashMap<>();
2024-03-27 15:52:48 +08:00
titleName.put("NUMBER", "序号");
2024-03-25 09:36:21 +08:00
titleName.put("USER_ID_CARD", "身份证号");
titleName.put("NAME", "姓名");
titleName.put("SEX", "性别");
titleName.put("PHONE", "手机号");
titleName.put("DEPARTMENT_NAME", "部门");
titleName.put("POST_NAME", "工种");
titleName.put("ALL_CLASSHOUR", "要求总学时");
titleName.put("COMPLETE_CLASSHOUR", "已完成学时");
titleName.put("PASSED", "是否考试通过");
titleName.put("EXAMSCORE", "考试分数");
titleName.put("STUDYSTATE", "学习状态");
titleName.put("CLASS_NAME", "班级名称");
2024-03-27 15:52:48 +08:00
titleName.put("IMAGE1", "用户签字");
titleName.put("IMAGE2", "人像照片");
2024-03-22 09:37:32 +08:00
2024-03-25 09:36:21 +08:00
for (int i = 0; i < titles.length; i++) {
2024-03-22 09:37:32 +08:00
String key = objects[i].toString();
titles[i] = titleName.get(key);
}
String fileName = "学员学习记录";
response.setContentType("application/vnd.ms-excel");
response.addHeader("Content-Disposition", "attachment; filename=" + fileName);
2024-03-25 09:36:21 +08:00
ImageExcelUtil.excelOut(titles, list.size(), list, fileName, response, PathUtil.getProjectpath());
2024-03-22 09:37:32 +08:00
}
2024-03-06 16:25:53 +08:00
@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());
2024-03-25 09:36:21 +08:00
if ("0".equals(Jurisdiction.getIS_MAIN())) {
2024-03-06 16:25:53 +08:00
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
}