diff --git a/pom.xml b/pom.xml index 1108c71..b8c1338 100644 --- a/pom.xml +++ b/pom.xml @@ -358,6 +358,38 @@ 1.6.4 + + com.aspose + aspose-words + 15.8.0 + + + + fr.opensagres.xdocreport + fr.opensagres.xdocreport.core + 2.0.2 + + + fr.opensagres.xdocreport + fr.opensagres.xdocreport.document + 2.0.2 + + + fr.opensagres.xdocreport + fr.opensagres.xdocreport.template + 2.0.2 + + + fr.opensagres.xdocreport + fr.opensagres.xdocreport.document.docx + 2.0.2 + + + fr.opensagres.xdocreport + fr.opensagres.xdocreport.template.freemarker + 2.0.2 + + net.sf.json-lib diff --git a/src/main/java/com/zcloud/controller/bus/ArchivesEduManagerController.java b/src/main/java/com/zcloud/controller/bus/ArchivesEduManagerController.java new file mode 100644 index 0000000..ec0f768 --- /dev/null +++ b/src/main/java/com/zcloud/controller/bus/ArchivesEduManagerController.java @@ -0,0 +1,503 @@ +package com.zcloud.controller.bus; + +import com.zcloud.controller.base.BaseController; +import com.zcloud.entity.PageData; +import com.zcloud.entity.system.Dictionaries; +import com.zcloud.service.archives.*; +import com.zcloud.service.bus.CorpInfoService; +import com.zcloud.service.bus.TrainingScheduleService; +import com.zcloud.service.onlinexxks.*; +import com.zcloud.service.system.Users2Service; +import com.zcloud.util.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; + +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.util.*; + +/** + * 说明:年度安全培训教育管理台账 + * 作者:luoxiaobao + * 时间:2021-12-17 + * 官网:www.zcloudchina.com + */ +@Controller +@RequestMapping("/archivesedumanager") +public class ArchivesEduManagerController extends BaseController { + + @Autowired + private ArchivesEduManagerService archivesEduManagerService; + + @Autowired + private CorpInfoService corpInfoService; + + @Autowired + private Users2Service corpUsersService; + @Autowired + private StudyTaskService studyTaskService; + @Autowired + private StageExamService stageExamService; + @Autowired + private StageExamRecordService stageExamRecordService; + @Autowired + private StageStudentRelationService stageStudentRelationService; + @Autowired + private ArchivesFilesService archivesFilesService; + @Autowired + private TrainingScheduleService trainingScheduleService; + @Autowired + private StageexampaperService stageExamPaperService; + @Autowired + private StageExamPaperQuestionService stageExamPaperQuestionService; + @Autowired + private ArchivesPostManService archivesPostManService; + @Autowired + private ArchivesTeacherService archivesTeacherService; + @Autowired + private ArchivesEduPlanService archivesEduPlanService; + @Autowired + private ArchivesCapitalService archivesCapitalService; + + + /**导出一人一档 + * @param + * @throws Exception + */ + @RequestMapping(value="/exportExcelSystemLedger") + public void exportExcelSystemLedger(HttpServletResponse response) throws Exception{ + PageData pd = this.getPageData(); + + String projectPath = PathUtil.getProjectpath(); + List corpList = corpInfoService.getSelectByCorpInfo(pd); + ArrayList corpOutFiles = new ArrayList<>(); + String now = DateUtil.getSdfTimesSSS(); + for (PageData corp : corpList) { + ArrayList userOutfiles = new ArrayList<>(); + List corpUserList = corpUsersService.listAllForExport(corp); + for (PageData user : corpUserList) { + ArrayList userFiles = new ArrayList<>(); + if ("1".equals(user.getString2("ISMAIN"))) { + continue; + } + user.put("projectPath", projectPath); + String USER_NAME = user.getString2("NAME").replaceAll(" ","").replaceAll("\t","")+user.getString("USERNAME"); + now = DateUtil.getSdfTimesSSS(); + File pdf = archivesEduManagerService.registertable(user); + if (pdf != null) { + //人员登记表返回PDF文件 + userFiles.add(pdf); + } + PageData st = new PageData(); + st.put("USER_ID", user.getString2("USER_ID")); + List taskList = studyTaskService.listAll(st); + for (PageData task : taskList) { + now = DateUtil.getSdfTimesSSS(); + List pathList = new ArrayList(); + st.put("STUDYTASK_ID", task.getString2("STUDYTASK_ID")); + List stuList = stageStudentRelationService.listStudentTask(st); + PageData stu = new PageData(); + if (stuList.size() > 0) { + stu = stuList.get(0); + } else { + continue; + } + stu.put("projectPath", projectPath); + stu.put("TYPE_OF_WORK_NAME", user.getString2("TYPE_OF_WORK_NAME")); + stu.put("PERSONNEL_TYPE_NAME",user.getString2("PERSONNEL_TYPE_NAME")); + stu.put("USERAVATARPREFIX", user.getString2("USERAVATARPREFIX")); + stu.put("USERAVATARURL_CONVERT", user.getString2("USERAVATARURL_CONVERT")); + task.put("STAGEEXAM_ID", stu.getString2("STAGEEXAM_ID")); + task.put("USER_ID", user.getString2("USER_ID")); + PageData para = new PageData(); + para.put("CORP_NAME", corp.getString2("CORP_NAME")); + para.put("ENTERPRISE_NAME", corp.getString2("CORP_NAME")); //企业名称 + para.put("ASSESSOR_SIGN", ""); //签字数据 + para.put("RECORDOR_SIGN", ""); //签字数据 + para.put("SAFETYDEPTOR_SIGN", ""); //签字数据 + para.put("SIGNATURE_PATH", stu.getString2("SIGNATURE_PATH")); //签字数据 + para.put("CLASS_ID", task.get("STUDYTASK_ID")); + para.put("POST_ID", stu.get("POST_ID")); + para.put("STUDENT_ID", stu.get("USER_ID")); + List personnelTypeList = new ArrayList<>(); + + List curList = studyTaskService.getcurriculumAllBystudyTaskId(task); // 任务 -- 课件关系 + List coursewaresList = studyTaskService.getAllCourseware(task); //列出StudyTask列表 + + PageData paper = stageExamService.findResult(task); + String wordPathSy = archivesEduManagerService.homepage(stu, para, now, paper, task); + pathList.add(wordPathSy); //首页PDF + String wordPathXszm = archivesEduManagerService.classHour(stu, task, coursewaresList, corp, para, now, paper); + pathList.add(wordPathXszm); //学时证明 +// String wordPathSi = archivesEduManagerService.studyInfo(stu, task, curList, coursewaresList, para, now, corp, paper); +// pathList.add(wordPathSi); // 学习档案 + String wordPathKccl = archivesEduManagerService.curriculumword(stu, task, coursewaresList, corp, now); + pathList.add(wordPathKccl); //课程材料 + if (!Tools.isEmpty(paper.get("QUESTIONLIST"))) { //有试卷就走里边 + String wordPathKjxx = archivesEduManagerService.papermword(stu, task, corp, paper, now); + pathList.add(wordPathKjxx); //考卷信息 + } + String wordPathPxkh = archivesEduManagerService.safelogword(stu, task, coursewaresList, para, corp, paper, now, personnelTypeList); + pathList.add(wordPathPxkh); //培训考核记录 + WordToPdfUtil.mergePdf(pathList, projectPath + Const.FILEPATHFILE + USER_NAME + "-" + task.getString("STUDY_NAME") + "-档案详情-" + now + ".pdf"); + //组装档案详情数据 + userFiles.add(new File(projectPath + Const.FILEPATHFILE + USER_NAME + "-" + task.getString("STUDY_NAME") + "-档案详情-" + now + ".pdf")); + for (Object filepath : pathList) { + new File((String) filepath).delete(); //删除缓存文件 + } + } + if (userFiles.size() == 0) { + System.out.println("学员【" + USER_NAME + "】无一人一档档案记录"); + continue; + } + String path = projectPath + Const.TEMPZIPFILES + USER_NAME + "-" + now + ".zip"; + FileZip.zipList(path, userFiles); + userOutfiles.add(new File(path)); + } + if (userOutfiles.isEmpty()) { + System.out.println("企业【" + corp.getString("CORP_NAME") + "】暂无一人一档档案记录"); + continue; + } + String path = projectPath + Const.TEMPZIPFILES + corp.getString("CORP_NAME") + "一人一档-" + now + ".zip"; + FileZip.zipList(path, userOutfiles); + corpOutFiles.add(new File(path)); + for (File filepath : userOutfiles) { + filepath.delete(); //删除缓存文件 + } + } + if (!corpOutFiles.isEmpty()) { + String path = projectPath + Const.TEMPZIPFILES + "系统一人一档-" + now + ".zip"; + FileZip.zipList(path, corpOutFiles); + for (File filepath : corpOutFiles) { + filepath.delete(); //删除缓存文件 + } + FileDownload.mfFileDownload(response, path, "系统一人一档-" + now + ".zip"); + } + } + + + /**导出到一期一档 + * @param + * @throws Exception + */ + @RequestMapping(value="/exportExcelSystemLedgerEduArchive2") + public void exportExcelSystemLedgerEduArchive2(HttpServletResponse response) throws Exception{ + PageData pd = this.getPageData(); + + String projectPath = PathUtil.getProjectpath(); + List corpList = corpInfoService.getSelectByCorpInfo(pd); + String now = DateUtil.getSdfTimesSSS(); + ArrayList outfiles = new ArrayList<>(); + for (PageData corp : corpList) { + ArrayList userOutfiles = new ArrayList<>(); + PageData st = new PageData(); + st.put("CORPINFO_ID", corp.getString2("CORPINFO_ID")); + List taskList = studyTaskService.listAll(st); + for (PageData task : taskList) { + now = DateUtil.getSdfTimesSSS(); + task.put("projectPath", projectPath); + String className = task.getString("STUDY_NAME"); + ArrayList files = new ArrayList<>(); + PageData af = new PageData(); + af.put("STUDYTASK_ID", task.getString("STUDYTASK_ID")); + ArrayList archivesFiles = new ArrayList<>(); + List fileList = archivesFilesService.listAll(af); + String saveDir= projectPath + Const.FILEPATHFILE; + for (PageData filePd : fileList) { + if ("5".equals(filePd.getString2("TYPE"))) { // 5.安全培训教材会审表 + now = DateUtil.getSdfTimesSSS(); + String url = Const.HTTPFILEURL + filePd.getString("FILE_PATH"); + String name = filePd.getString2("YEAR")+filePd.getString2("FILE_NAME").substring(0, filePd.getString("FILE_NAME").lastIndexOf(".")) + now + filePd.getString2("FILE_NAME").substring(filePd.getString("FILE_NAME").lastIndexOf(".")); + if ("ok".equals(FileDownload.downloadFile(url, name, saveDir))) { + File file = new File(saveDir + name); + archivesFiles.add(file); + } + } + } + if (archivesFiles.size() > 0) { + String path = projectPath + Const.TEMPZIPFILES + "安全培训教材会审表-" + now + ".zip"; + FileZip.zipList(path, archivesFiles); + files.add(new File(path)); + archivesFiles.clear(); + } + // 培训日程安排通知/也可称为培训计划 + List tsList = trainingScheduleService.listAll(task); + if (tsList.size() > 0) { + File pdf = archivesEduManagerService.exportPdfTrainingSchedule(task, tsList); + if (pdf != null) { + //人员登记表返回PDF文件 + files.add(pdf); + } + } + // 安全培训教材或课程讲义 + List coursewaresList = studyTaskService.getAllCourseware(task); //列出StudyTask列表 + if (tsList.size() > 0) { + File pdf = archivesEduManagerService.exportPdfCourseware(task, coursewaresList); + if (pdf != null) { + //培训日程安排通知(也可称为培训计划) + files.add(pdf); + } + } + // 安全培训教育记录及签字表 + List stuList = stageStudentRelationService.listStudentTask(task); //列出StudyTask列表 + if (tsList.size() > 0) { + File pdf = archivesEduManagerService.exportPdfStudyTask(task, coursewaresList,stuList); + if (pdf != null) { + //培训日程安排通知(也可称为培训计划) + files.add(pdf); + } + } + // 培训影像资料 + for (PageData filePd : fileList) { + if ("7".equals(filePd.getString2("TYPE"))) { // 7.培训影像资料 + now = DateUtil.getSdfTimesSSS(); + String url = Const.HTTPFILEURL + filePd.getString("FILE_PATH"); + String name = filePd.getString2("YEAR")+filePd.getString2("FILE_NAME").substring(0, filePd.getString("FILE_NAME").lastIndexOf(".")) + now + filePd.getString2("FILE_NAME").substring(filePd.getString("FILE_NAME").lastIndexOf(".")); + if ("ok".equals(FileDownload.downloadFile(url, name, saveDir))) { + File file = new File(saveDir + name); + archivesFiles.add(file); + } + } + } + if (archivesFiles.size() > 0) { + String path = projectPath + Const.TEMPZIPFILES + "培训影像资料-" + now + ".zip"; + FileZip.zipList(path, archivesFiles); + files.add(new File(path)); + archivesFiles.clear(); + } + + //培训考核试卷 + PageData paper = stageExamPaperService.getDataById(task); + List questionList = stageExamPaperQuestionService.findByExamPaper(task); + File examPaper = archivesEduManagerService.exportPdfExamPaper(task, paper, questionList); + if (examPaper != null) { + files.add(examPaper); + } + + //学员考核成绩统计表 + File archivesStudentScore = archivesEduManagerService.exportPdfArchivesStudentScore(task, coursewaresList, stuList); + if (archivesStudentScore != null) { + files.add(archivesStudentScore); + } + + //学员考核成绩统计表 + List curList = studyTaskService.getcurriculumAllBystudyTaskId(task); // 任务 -- 课件关系 + File archivesReport = archivesEduManagerService.exportPdfArchivesReport(task, curList, stuList); + if (archivesReport != null) { + files.add(archivesReport); + } + // 与培训机构签订的服务合同或者协议复印件 + for (PageData filePd : fileList) { + if ("6".equals(filePd.getString2("TYPE"))) { // 7.与培训机构签订的服务合同或者协议复印件 + now = DateUtil.getSdfTimesSSS(); + String url = Const.HTTPFILEURL + filePd.getString("FILE_PATH"); + String name = filePd.getString2("YEAR")+filePd.getString2("FILE_NAME").substring(0, filePd.getString("FILE_NAME").lastIndexOf(".")) + now + filePd.getString2("FILE_NAME").substring(filePd.getString("FILE_NAME").lastIndexOf(".")); + if ("ok".equals(FileDownload.downloadFile(url, name, saveDir))) { + File file = new File(saveDir + name); + archivesFiles.add(file); + } + } + } + if (archivesFiles.size() > 0) { + String path = projectPath + Const.TEMPZIPFILES + "与培训机构签订的服务合同或者协议复印件-" + now + ".zip"; + FileZip.zipList(path, archivesFiles); + files.add(new File(path)); + archivesFiles.clear(); + } + + if (files.size() > 0) { + String path = projectPath + Const.TEMPZIPFILES + className + "-一期一档-" + now + ".zip"; + FileZip.zipList(path, files); + for (File filepath : files) { + filepath.delete(); //删除缓存文件 + } + userOutfiles.add(new File(path)); + } + } + if (userOutfiles.isEmpty()) { + System.out.println("企业【" + corp.getString("CORP_NAME") + "】暂无一期一档档案记录"); + continue; + } + String path = projectPath + Const.TEMPZIPFILES + corp.getString("CORP_NAME") + "【一期一档】-" + now + ".zip"; + FileZip.zipList(path, userOutfiles); + for (File filepath : userOutfiles) { + filepath.delete(); //删除缓存文件 + } + outfiles.add(new File(path)); + } + if (outfiles.isEmpty()) { + System.out.println("系统暂无一期一档档案记录"); + } else { + String path = projectPath + Const.TEMPZIPFILES + "系统一期一档-" + now + ".zip"; + FileZip.zipList(path, outfiles); + FileDownload.mfFileDownload(response, path, "系统一期一档-" + now + ".zip"); + } + } + + + /**导出到一期一档 + * @param + * @throws Exception + */ + @RequestMapping(value="/exportExcelSystemLedgerEduArchive3") + public void exportExcelSystemLedgerEduArchive3(HttpServletResponse response) throws Exception{ + PageData pd = this.getPageData(); + + String projectPath = PathUtil.getProjectpath(); + List corpList = corpInfoService.getSelectByCorpInfo(pd); + String now = DateUtil.getSdfTimesSSS(); + ArrayList outfiles = new ArrayList<>(); + for (PageData corp : corpList) { + corp.put("projectPath", projectPath); + ArrayList userOutfiles = new ArrayList<>(); + PageData st = new PageData(); + st.put("CORPINFO_ID", corp.getString2("CORPINFO_ID")); + now = DateUtil.getSdfTimesSSS(); + String corpName = corp.getString("CORP_NAME"); + ArrayList files = new ArrayList<>(); + ArrayList archivesFiles = new ArrayList<>(); + List fileList = archivesFilesService.listAll(st); + String saveDir= projectPath + Const.FILEPATHFILE; + // 安全培训教育制度 + for (PageData filePd : fileList) { + if ("1".equals(filePd.getString2("TYPE"))) { // 1.安全培训教育制度 + now = DateUtil.getSdfTimesSSS(); + String url = Const.HTTPFILEURL + filePd.getString("FILE_PATH"); + String name = filePd.getString2("YEAR")+filePd.getString2("FILE_NAME").substring(0, filePd.getString("FILE_NAME").lastIndexOf(".")) + now + filePd.getString2("FILE_NAME").substring(filePd.getString("FILE_NAME").lastIndexOf(".")); + if ("ok".equals(FileDownload.downloadFile(url, name, saveDir))) { + File file = new File(saveDir + name); + archivesFiles.add(file); + } + } + } + if (archivesFiles.size() > 0) { + String path = projectPath + Const.TEMPZIPFILES + "安全培训教育制度-" + now + ".zip"; + FileZip.zipList(path, archivesFiles); + files.add(new File(path)); + archivesFiles.clear(); + } + // 关于任命安全教育主管部门和人员的文件 + for (PageData filePd : fileList) { + if ("2".equals(filePd.getString2("TYPE"))) { // 关于任命安全教育主管部门和人员的文件 + now = DateUtil.getSdfTimesSSS(); + String url = Const.HTTPFILEURL + filePd.getString("FILE_PATH"); + String name = filePd.getString2("YEAR")+filePd.getString2("FILE_NAME").substring(0, filePd.getString("FILE_NAME").lastIndexOf(".")) + now + filePd.getString2("FILE_NAME").substring(filePd.getString("FILE_NAME").lastIndexOf(".")); + if ("ok".equals(FileDownload.downloadFile(url, name, saveDir))) { + File file = new File(saveDir + name); + archivesFiles.add(file); + } + } + } + if (archivesFiles.size() > 0) { + String path = projectPath + Const.TEMPZIPFILES + "关于任命安全教育主管部门和人员的文件-" + now + ".zip"; + FileZip.zipList(path, archivesFiles); + files.add(new File(path)); + archivesFiles.clear(); + } + // 三岗人员管理台账 + List archivesPostManList = archivesPostManService.listAll(corp); + if (archivesPostManList.size() > 0) { + File archivesPostMan = archivesEduManagerService.exportPdfArchivesPostMant(corp, archivesPostManList); + if (archivesPostMan != null) { + files.add(archivesPostMan); + } + } + // 培训需求调查表 + for (PageData filePd : fileList) { + if ("3".equals(filePd.getString2("TYPE"))) { // 培训需求调查表 + now = DateUtil.getSdfTimesSSS(); + String url = Const.HTTPFILEURL + filePd.getString("FILE_PATH"); + String name = filePd.getString2("YEAR")+filePd.getString2("FILE_NAME").substring(0, filePd.getString("FILE_NAME").lastIndexOf(".")) + now + filePd.getString2("FILE_NAME").substring(filePd.getString("FILE_NAME").lastIndexOf(".")); + if ("ok".equals(FileDownload.downloadFile(url, name, saveDir))) { + File file = new File(saveDir + name); + archivesFiles.add(file); + } + } + } + if (archivesFiles.size() > 0) { + String path = projectPath + Const.TEMPZIPFILES + "培训需求调查表-" + now + ".zip"; + FileZip.zipList(path, archivesFiles); + files.add(new File(path)); + archivesFiles.clear(); + } + // 本单位师资管理台账 + List archivesTeacherList = archivesTeacherService.listAll(corp); + if (archivesTeacherList.size() > 0) { + File archivesTeacher = archivesEduManagerService.exportPdfArchivesTeacher(corp, archivesTeacherList); + if (archivesTeacher != null) { + files.add(archivesTeacher); + } + } + // 安全培训教育计划 + List archivesEduPlanList = archivesEduPlanService.listAll(corp); + if (archivesEduPlanList.size() > 0) { + File archivesEduPlan = archivesEduManagerService.exportPdfArchivesEduPlan(corp, archivesEduPlanList); + if (archivesEduPlan != null) { + files.add(archivesEduPlan); + } + } + // 安全培训教育管理台账 + List archivesEduManagerList = archivesEduManagerService.listAll(corp); + if (archivesEduManagerList.size() > 0) { + File archivesEduManager = archivesEduManagerService.exportPdfArchivesEduManager(corp, archivesEduManagerList); + if (archivesEduManager != null) { + files.add(archivesEduManager); + } + } + // 培训资金提取和使用情况管理台账 + List archivesCapitalList = archivesCapitalService.listAll(corp); + if (archivesCapitalList.size() > 0) { + File archivesCapital = archivesEduManagerService.exportPdfArchivesCapital(corp, archivesCapitalList); + if (archivesCapital != null) { + files.add(archivesCapital); + } + } + // 培训条件证明材料 + for (PageData filePd : fileList) { + if ("4".equals(filePd.getString2("TYPE"))) { // 培训条件证明材料 + now = DateUtil.getSdfTimesSSS(); + String url = Const.HTTPFILEURL + filePd.getString("FILE_PATH"); + String name = filePd.getString2("YEAR")+filePd.getString2("FILE_NAME").substring(0, filePd.getString("FILE_NAME").lastIndexOf(".")) + now + filePd.getString2("FILE_NAME").substring(filePd.getString("FILE_NAME").lastIndexOf(".")); + if ("ok".equals(FileDownload.downloadFile(url, name, saveDir))) { + File file = new File(saveDir + name); + archivesFiles.add(file); + } + } + } + if (archivesFiles.size() > 0) { + String path = projectPath + Const.TEMPZIPFILES + "培训条件证明材料-" + now + ".zip"; + FileZip.zipList(path, archivesFiles); + files.add(new File(path)); + archivesFiles.clear(); + } + + + if (files.size() > 0) { + String path = projectPath + Const.TEMPZIPFILES + corpName + "-一企一档-" + now + ".zip"; + FileZip.zipList(path, files); + for (File filepath : files) { + filepath.delete(); //删除缓存文件 + } + userOutfiles.add(new File(path)); + } + if (userOutfiles.isEmpty()) { + System.out.println("企业【" + corp.getString("CORP_NAME") + "】暂无一企一档档案记录"); + continue; + } + String path = projectPath + Const.TEMPZIPFILES + corp.getString("CORP_NAME") + "【一企一档】-" + now + ".zip"; + FileZip.zipList(path, userOutfiles); + for (File filepath : userOutfiles) { + filepath.delete(); //删除缓存文件 + } + outfiles.add(new File(path)); + } + if (outfiles.isEmpty()) { + System.out.println("系统暂无一企一档档案记录"); + } else { + String path = projectPath + Const.TEMPZIPFILES + "系统一企一档-" + now + ".zip"; + FileZip.zipList(path, outfiles); + FileDownload.mfFileDownload(response, path, "系统一企一档-" + now + ".zip"); + } + } +} diff --git a/src/main/java/com/zcloud/controller/bus/CheckRecordController.java b/src/main/java/com/zcloud/controller/bus/CheckRecordController.java index 18cfe4c..b798f6c 100644 --- a/src/main/java/com/zcloud/controller/bus/CheckRecordController.java +++ b/src/main/java/com/zcloud/controller/bus/CheckRecordController.java @@ -10,6 +10,7 @@ import java.util.List; import java.util.Map; import java.util.Set; +import com.zcloud.util.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.transaction.annotation.Transactional; @@ -24,11 +25,6 @@ import com.alibaba.fastjson.JSONObject; import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse; import com.zcloud.controller.base.BaseController; import com.zcloud.entity.Page; -import com.zcloud.util.AliSmsUtil; -import com.zcloud.util.DateUtil; -import com.zcloud.util.Jurisdiction; -import com.zcloud.util.ObjectExcelView; -import com.zcloud.util.Tools; import com.zcloud.entity.PageData; import com.zcloud.service.bus.CheckRecordService; import com.zcloud.service.bus.CorpInfoService; @@ -119,5 +115,32 @@ public class CheckRecordController extends BaseController { map.put("pd", pd); map.put("result", errInfo); return map; - } + } + + /**导出到excel + * @param + * @throws Exception + */ + @RequestMapping(value="/exportExcelSystemLedger") + public ModelAndView exportExcelSystemLedger() throws Exception{ + ModelAndView mv = new ModelAndView(); + PageData pd = this.getPageData(); + + Map dataMap = new HashMap<>(); + List titles = new ArrayList<>(); + titles.add("企业名称"); //1 + titles.add("清单名称"); //2 + titles.add("人员"); //3 + titles.add("检查周期"); //4 + titles.add("检查人"); //5 + titles.add("检查时间"); //6 + titles.add("检查状态"); //7 + dataMap.put("titles", titles); + List list = checkrecordService.listExport(pd); + + dataMap.put("varList", list); + ExcelExportCompressImg erv = new ExcelExportCompressImg(); + mv = new ModelAndView(erv,dataMap); + return mv; + } } diff --git a/src/main/java/com/zcloud/controller/bus/HiddenController.java b/src/main/java/com/zcloud/controller/bus/HiddenController.java index b67993c..cb31831 100644 --- a/src/main/java/com/zcloud/controller/bus/HiddenController.java +++ b/src/main/java/com/zcloud/controller/bus/HiddenController.java @@ -1,11 +1,10 @@ package com.zcloud.controller.bus; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; +import com.zcloud.entity.system.Dictionaries; +import com.zcloud.service.system.*; +import com.zcloud.util.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @@ -15,13 +14,6 @@ import org.apache.shiro.authz.annotation.RequiresPermissions; import com.zcloud.controller.base.BaseController; import com.zcloud.entity.Page; -import com.zcloud.util.Const; -import com.zcloud.util.DateUtil; -import com.zcloud.util.IniFileUtil; -import com.zcloud.util.Jurisdiction; -import com.zcloud.util.ObjectExcelView; -import com.zcloud.util.PathUtil; -import com.zcloud.util.Tools; import net.sf.json.JSONArray; @@ -30,8 +22,6 @@ import com.zcloud.service.bus.HiddenCheckService; import com.zcloud.service.bus.HiddenSchemeService; import com.zcloud.service.bus.HiddenService; import com.zcloud.service.bus.ImgFilesService; -import com.zcloud.service.system.DepartmentService; -import com.zcloud.service.system.UsersService; /** * 说明:隐患表 @@ -51,6 +41,13 @@ public class HiddenController extends BaseController { private HiddenSchemeService hiddenSchemeService; @Autowired private HiddenCheckService hiddenCheckService; + @Autowired + private DictionariesService dictionariesService; + @Autowired + private Users2Service users2Service; + @Autowired + private Department2Service department2Service; + /**新增 * @param * @throws Exception @@ -504,4 +501,364 @@ public class HiddenController extends BaseController { map.put("result", errInfo); return map; } + + /** + * 导出到excel + * + * @param + * @throws Exception + */ + @RequestMapping(value = "/exportExcelSystemLedger") + public ModelAndView exportExcelSystemLedger() throws Exception { + ModelAndView mv = new ModelAndView(); + PageData pd = new PageData(); + pd = this.getPageData(); + + String dicParentId = "5e7cf8620ba54ad89719d0be62133c7a"; + List dicList = dictionariesService.listSubDictByParentId(dicParentId);// 字典 + Map dicMap = new HashMap<>(); + for (Dictionaries pageData : dicList) { + dicMap.put(pageData.getBIANMA(), pageData.getNAME()); + } + + PageData corpIdPd = new PageData(); +// corpIdPd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID());// CORPINFO_ID + Map userMap = new HashMap<>();// 查看企业下的所有用户,根据用户id匹配信息 + List userList = users2Service.listAllUser(corpIdPd); + for (PageData pageData : userList) { + userMap.put(pageData.getString("USER_ID"), pageData.getString("NAME")); + } + Map deparMap = new HashMap<>(); + List deparList = department2Service.listAll(corpIdPd);// 查看企业下的所有部门,根据部门id匹配信息 + for (PageData pageData : deparList) { + deparMap.put(pageData.getString("DEPARTMENT_ID"), pageData.getString("NAME")); + } + + Map sourceMap = new HashMap<>(); + sourceMap.put("1", "隐患快报"); + sourceMap.put("2", "隐患排查"); + sourceMap.put("3", "隐患排查"); + Map stateMap = new HashMap<>(); + stateMap.put("-1", "已过期"); + stateMap.put("0", "未提交"); + stateMap.put("1", "未整改"); + stateMap.put("2", "已整改"); + stateMap.put("3", "待验收"); + stateMap.put("4", "已验收"); + Map rectifType = new HashMap<>(); + rectifType.put("1", "立即整改"); + rectifType.put("2", "限期整改"); + Map haveschemeMap = new HashMap<>(); + haveschemeMap.put("0", "无"); + haveschemeMap.put("1", "有"); + Map ysStatusMap = new HashMap<>(); + ysStatusMap.put("0", "否"); + ysStatusMap.put("1", "是"); + + Map dataMap = new HashMap();// 传给导出页面的数据 +// List imgKeyId = new ArrayList<>();// 需要查询图片的id标识信息 + HashSet imgIds = new HashSet(); +// pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); // 企业id + // 查看隐患信息 + List varOList = hiddenService.listAll(pd); + for (PageData pageData : varOList) { +// imgKeyId.add(pageData.getString("HIDDEN_ID")); + imgIds.add(pageData.getString("HIDDEN_ID")); + } + + // 查询整改方案 + List schemeList = hiddenSchemeService.listExport(pd); + Map schemeMap = new HashMap<>(); + for (PageData pageData : schemeList) { + schemeMap.put(pageData.getString("HIDDEN_ID"), pageData); +// imgKeyId.add(pageData.getString("HIDDEN_ID")); +// imgKeyId.add(pageData.getString("HIDDENSCHEME_ID")); + + imgIds.add(pageData.getString("HIDDENSCHEME_ID")); + } + // 验收信息 + List checkList = hiddenCheckService.listExport(pd); + Map> checkMap = new HashMap<>(); + Integer checkMaxCount = 1; + for (PageData pageData : checkList) { + Integer checkCount = 1; + List vaList = new ArrayList<>(); + if (checkMap.containsKey(pageData.get("HIDDEN_ID"))) { + vaList = checkMap.get(pageData.get("HIDDEN_ID")); + checkCount = vaList.size(); + if (checkMaxCount < checkCount) { + checkMaxCount = checkCount; + } + } + vaList.add(pageData); + checkMap.put(pageData.get("HIDDEN_ID").toString(), vaList); +// imgKeyId.add(pageData.getString("HIDDENCHECK_ID")); + + imgIds.add(pageData.getString("HIDDENCHECK_ID")); + } + + +// String[] imgId = new String[imgKeyId.size()]; +// for (int i = 0; i < imgKeyId.size(); i++) { +// imgId[i] = imgKeyId.get(i); +// } +// String[] imgId = new String[imgIds.size()]; +// for(String imgid : imgIds) { +// imgId[i] = imgid; +// } +// + List imgIdList = new ArrayList<>(); + for(String imgid:imgIds) { + imgIdList.add(imgid); + } + PageData imgpd2 = new PageData(); + String[] imgId =imgIdList.toArray(new String[imgIdList.size()]); + List imgList = new ArrayList(); + if(imgId != null && imgId.length > 0){ + imgpd2.put("ArrayDATA_IDS", imgId); + imgList = imgFilesService.listAllByIds(imgpd2); + } + + + Map imgCount = new HashMap<>(); + Integer imgTypeMaxCount1 = 1, imgTypeMaxCount2 = 1, imgTypeMaxCount3 = 1, imgTypeMaxCount4 = 1, + imgTypeMaxCount5 = 1, imgTypeMaxCount6 = 1, imgTypeMaxCount7 = 1, imgTypeMaxCount8 = 1; + + Map> imgMap = new HashMap<>(); + for (int i = 0; i < imgList.size(); i++) { + if (Tools.isEmpty(imgList.get(i).get("TYPE"))) { + continue; + } + if (Tools.isEmpty(imgList.get(i).get("FOREIGN_KEY"))) { + continue; + } + List list = new ArrayList<>(); + String key = imgList.get(i).getString("FOREIGN_KEY") + ";" + imgList.get(i).get("TYPE"); + if (imgMap.containsKey(key)) { + list = imgMap.get(key); + } + list.add(imgList.get(i).getString("FILEPATH")); + imgMap.put(key, list); + String imgType = imgList.get(i).get("TYPE").toString(); + Integer count = 1; + if (imgCount.containsKey(key)) { + count = imgCount.get(key) + 1; + } + if ("1".equals(imgType)) { + if (imgTypeMaxCount1 < count) { + imgTypeMaxCount1 = count; + } + } + if ("2".equals(imgType)) { + if (imgTypeMaxCount2 < count) { + imgTypeMaxCount2 = count; + } + } + if ("3".equals(imgType)) { + if (imgTypeMaxCount3 < count) { + imgTypeMaxCount3 = count; + } + } + if ("4".equals(imgType)) { + if (imgTypeMaxCount4 < count) { + imgTypeMaxCount4 = count; + } + } + if ("5".equals(imgType)) { + if (imgTypeMaxCount5 < count) { + imgTypeMaxCount5 = count; + } + } + if ("6".equals(imgType)) { + if (imgTypeMaxCount6 < count) { + imgTypeMaxCount6 = count; + } + } + if ("7".equals(imgType)) { + if (imgTypeMaxCount7 < count) { + imgTypeMaxCount7 = count; + } + } + if ("8".equals(imgType)) { + if (imgTypeMaxCount8 < count) { + imgTypeMaxCount8 = count; + } + } + imgCount.put(key, count); + } + List varList = new ArrayList(); + for (PageData pageData : varOList) { + int count = 0; + PageData vpd = new PageData(); + String hidId = pageData.getString("HIDDEN_ID"); + vpd.put("var" + (1 + count), sourceMap.get(pageData.getString("SOURCE"))); + vpd.put("var" + (2 + count), pageData.getString("RISK_UNIT")); + vpd.put("var" + (3 + count), pageData.getString("IDENTIFICATION")); + vpd.put("var" + (4 + count), pageData.getString("RISK_DESCR")); + vpd.put("var" + (5 + count), pageData.getString("LEVEL")); + vpd.put("var" + (6 + count), pageData.getString("CHECK_CONTENT")); + vpd.put("var" + (7 + count), dicMap.get(pageData.getString("HIDDENLEVEL"))); + vpd.put("var" + (8 + count), stateMap.get(pageData.getString("STATE"))); + vpd.put("var" + (9 + count), pageData.getString("HIDDENDESCR")); + vpd.put("var" + (10 + count), pageData.getString("HIDDENPART")); + vpd.put("var" + (11 + count), deparMap.get(pageData.getString("HIDDENFINDDEPT"))); + vpd.put("var" + (12 + count), userMap.get(pageData.getString("CREATOR"))); + vpd.put("var" + (13 + count), pageData.getString("CREATTIME")); + vpd.put("var" + (14 + count), rectifType.get(pageData.getString("RECTIFICATIONTYPE"))); + vpd.put("var" + (15 + count), pageData.getString("RECTIFICATIONDEADLINE")); + List yhImg = imgMap.get(pageData.getString("HIDDEN_ID") + ";3"); + for (int i = 0; i < imgTypeMaxCount3; i++) { + if (null != yhImg) { + if (i < yhImg.size()) { + vpd.put("img" + (16 + i), yhImg.get(i)); + } else { + vpd.put("img" + (16 + i), ""); + } + } else { + vpd.put("img" + (16 + i), ""); + } + + } + count += imgTypeMaxCount3; + vpd.put("var" + (16 + count), pageData.getString("RECTIFYDESCR"));// 整改描述 + vpd.put("var" + (17 + count), deparMap.get(pageData.getString("RECTIFICATIONDEPT")));// 整改部门 + vpd.put("var" + (18 + count), userMap.get(pageData.getString("RECTIFICATIONOR")));// 整改人 + vpd.put("var" + (19 + count), pageData.getString("RECTIFICATIONTIME"));// 整改时间 + List zgImg = imgMap.get(hidId + ";4");// 整改后图片 + for (int i = 0; i < imgTypeMaxCount4; i++) { + if (null != zgImg) { + if (i < zgImg.size()) { + vpd.put("img" + (20 + count + i), zgImg.get(i)); + } else { + vpd.put("img" + (20 + count + i), ""); + } + } else { + vpd.put("img" + (20 + count + i), ""); + } + + } + count += imgTypeMaxCount4; + vpd.put("var" + (20 + count), haveschemeMap.get(pageData.getString("HAVESCHEME")));// 整改方案 + if (schemeMap.containsKey(hidId)) { + PageData schemePd = schemeMap.get(hidId); + if ("1".equals(pageData.getString("HAVESCHEME"))) { + vpd.put("var" + (21 + count), schemePd.getString("SCREENINGDATE"));// 排查日期 + vpd.put("var" + (22 + count), schemePd.getString("LISTNAME"));// 隐患清单 + vpd.put("var" + (23 + count), schemePd.getString("GOVERNSTANDARDS"));// 治理标准要求 + vpd.put("var" + (24 + count), schemePd.getString("GOVERNMETHOD"));// 治理方法 + vpd.put("var" + (25 + count), schemePd.getString("EXPENDITURE"));// 经费和物资的落实 + vpd.put("var" + (26 + count), schemePd.getString("PRINCIPAL"));// 负责治理人员 + vpd.put("var" + (27 + count), schemePd.getString("PROGRAMMING"));// 工时安排 + vpd.put("var" + (28 + count), schemePd.getString("TIMELIMITFOR"));// 时限要求 + vpd.put("var" + (29 + count), pageData.getString("FILEPATH"));// 应急预案附件 + vpd.put("var" + (30 + count), schemePd.getString("JOBREQUIREMENT"));// 工作要求 + vpd.put("var" + (31 + count), schemePd.getString("OTHERBUSINESS"));// 其他事项 + List ysImg = imgMap.get(schemePd.getString("HIDDENSCHEME_ID") + ";8"); + for (int i = 0; i < imgTypeMaxCount8; i++) { + if (null != ysImg) { + if (i < ysImg.size()) { + vpd.put("img" + (32 + count + i), ysImg.get(i));// 方案图片 + } else { + vpd.put("img" + (32 + count + i), ""); + } + } else { + vpd.put("img" + (32 + count + i), ""); + } + } + + } + count += imgTypeMaxCount8; + if (checkMap.containsKey(hidId)) { + List check = checkMap.get(hidId); + for (PageData pageData2 : check) { + vpd.put("var" + (32 + count), ysStatusMap.get(pageData2.getString("CHECKDESCR")));// 验收描述 + vpd.put("var" + (33 + count), pageData2.getString("STATUS"));// 是否合格 + vpd.put("var" + (34 + count), pageData2.getString("CHECKDEPTNAME"));// 验收部门 + vpd.put("var" + (35 + count), pageData2.getString("CHECKORNAME"));// 验收人 + vpd.put("var" + (36 + count), pageData2.getString("CHECK_TIME"));// 验收时间 +// vpd.put("var"+(37+count),pageData2.getString("HIDDENCHECK_ID"));//验收图片 + List ysImg = imgMap.get(pageData2.getString("HIDDENCHECK_ID") + ";5");// 整改后图片 + for (int i = 0; i < imgTypeMaxCount5; i++) { + if (null != ysImg) { + if (i < ysImg.size()) { + vpd.put("img" + (37 + count + i), ysImg.get(i)); + } else { + vpd.put("img" + (37 + count + i), ""); + } + } else { + vpd.put("img" + (37 + count + i), ""); + } + + } + } + + } + } + + varList.add(vpd); + } + + List titles = new ArrayList(); + + titles.add("隐患来源"); // 1 + titles.add("风险点(单元)"); // 2 + titles.add("辨识部位"); // 3 + titles.add("存在风险"); // 4 + titles.add("风险分级"); // 6 + titles.add("检查内容"); // 7 + titles.add("隐患级别"); // 16 + titles.add("隐患状态"); // 17= + titles.add("隐患描述"); // 8 + titles.add("隐患部位"); // 9 + titles.add("隐患发现部门"); // 9 ```````` + titles.add("发现人"); // 10 + titles.add("发现时间"); // 11 + titles.add("整改类型"); // 10 + titles.add("整改期限"); // 11 + for (int i = 0; i < imgTypeMaxCount3; i++) { + titles.add("隐患图片"); // 11 + } + + titles.add("整改描述"); + titles.add("整改部门"); + titles.add("整改人"); + titles.add("整改时间"); + + for (int i = 0; i < imgTypeMaxCount4; i++) { + titles.add("整改后图片"); // 11 + } + + titles.add("整改方案"); + titles.add("排查日期"); + titles.add("隐患清单"); + titles.add("治理标准要求"); + titles.add("治理方法"); + titles.add("经费和物资的落实"); + titles.add("负责治理人员"); + titles.add("工时安排"); + titles.add("时限要求"); + titles.add("应急预案附件"); + titles.add("工作要求"); + titles.add("其他事项"); + for (int i = 0; i < imgTypeMaxCount8; i++) { + titles.add("方案图片"); // 11 + } + for (int i = 0; i < checkMaxCount; i++) { + titles.add("验收描述"); + titles.add("是否合格"); + titles.add("验收部门"); + titles.add("验收人"); + titles.add("验收时间"); + + for (int j = 0; j < imgTypeMaxCount5; j++) { + titles.add("验收图片"); + } + } + dataMap.put("titles", titles); + dataMap.put("varList", varList); + ExcelExportCompressImg erv2 = new ExcelExportCompressImg(); + mv = new ModelAndView(erv2, dataMap); + return mv; + + } } diff --git a/src/main/java/com/zcloud/controller/bus/ListManagerController.java b/src/main/java/com/zcloud/controller/bus/ListManagerController.java new file mode 100644 index 0000000..437076e --- /dev/null +++ b/src/main/java/com/zcloud/controller/bus/ListManagerController.java @@ -0,0 +1,99 @@ +package com.zcloud.controller.bus; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.zcloud.controller.base.BaseController; +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import com.zcloud.service.bus.*; +import com.zcloud.service.system.DepartmentService; +import com.zcloud.util.*; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.servlet.ModelAndView; + +import java.util.*; + +/** + * 说明:清单管理 + * 作者:luoxiaobao + * 时间:2020-12-30 + * 官网:www.zcloudchina.com + */ +@Controller +@RequestMapping("/listmanager") +public class ListManagerController extends BaseController { + + @Autowired + private ListManagerService listmanagerService; + + + /**列表 + * @param page + * @throws Exception + */ + @RequestMapping(value="/list") + @ResponseBody + public Object list(Page page) throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + pd.put("OPERATOR", Jurisdiction.getUsername()); //修改人 + pd.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间 + pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); +// pd.put("ISMAIN", Jurisdiction.getIS_MAIN()); +// pd.put("ISSUPERVISE", Jurisdiction.getISSUPERVISE()); + pd.put("DEPARTMENT_ID", Jurisdiction.getDEPARTMENT_ID()); + String DEPTIDS = pd.getString("DEPTIDS"); + if(Tools.notEmpty(DEPTIDS)) { + String DEPT_IDS[] = DEPTIDS.split(","); + pd.put("DEPT_IDS", DEPT_IDS); + } + pd.put("HIDFORBIDDEN", "no"); //企业 + String KEYWORDS = pd.getString("KEYWORDS"); //关键词检索条件 + if(Tools.notEmpty(KEYWORDS))pd.put("KEYWORDS", KEYWORDS.trim()); + String USERNAME = pd.getString("USERNAME"); //关键词检索条件 + if(Tools.notEmpty(USERNAME))pd.put("USERNAME", USERNAME.trim()); + page.setPd(pd); + List varList = listmanagerService.list(page); //列出ListManager列表 + map.put("varList", varList); + map.put("page", page); + map.put("result", errInfo); + return map; + } + + /**导出到excel + * @param + * @throws Exception + */ + @RequestMapping(value="/exportExcelSystemLedger") + public ModelAndView exportExcelSystemLedger() throws Exception{ + ModelAndView mv = new ModelAndView(); + PageData pd = this.getPageData(); + + Map dataMap = new HashMap<>(); + List titles = new ArrayList<>(); + titles.add("企业名称"); //1 + titles.add("清单名称"); //2 + titles.add("部门"); //3 + titles.add("岗位"); //4 + titles.add("人员"); //5 + titles.add("排查周期"); //6 + titles.add("清单类型"); //7 + titles.add("排查类型"); //8 + titles.add("状态"); //9 + dataMap.put("titles", titles); + List list = listmanagerService.listExport(pd); + + dataMap.put("varList", list); + ExcelExportCompressImg erv = new ExcelExportCompressImg(); + mv = new ModelAndView(erv,dataMap); + return mv; + } + +} diff --git a/src/main/java/com/zcloud/controller/onlinexxks/StageStudentRelationController.java b/src/main/java/com/zcloud/controller/onlinexxks/StageStudentRelationController.java new file mode 100644 index 0000000..0d0d93b --- /dev/null +++ b/src/main/java/com/zcloud/controller/onlinexxks/StageStudentRelationController.java @@ -0,0 +1,63 @@ +package com.zcloud.controller.onlinexxks; + +import com.zcloud.controller.base.BaseController; +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import com.zcloud.service.onlinexxks.StageStudentRelationService; +import com.zcloud.util.*; +import org.apache.shiro.authz.annotation.RequiresPermissions; +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 org.springframework.web.servlet.ModelAndView; + +import java.util.*; + +/** + * 说明:阶段考试学员关系表 + * 作者:luoxiaobao + * 时间:2021-10-08 + * 官网:www.zcloudchina.com + */ +@Controller +@RequestMapping("/stagestudentrelation") +public class StageStudentRelationController extends BaseController { + + @Autowired + private StageStudentRelationService stagestudentrelationService; + + + /**导出到excel + * @param + * @throws Exception + */ + @RequestMapping(value="/exportExcelSystemLedger") + public ModelAndView exportExcelSystemLedger() throws Exception{ + ModelAndView mv = new ModelAndView(); + PageData pd = this.getPageData(); + + Map dataMap = new HashMap<>(); + List titles = new ArrayList<>(); + titles.add("企业名称"); //1 + titles.add("学习任务名称"); //2 + titles.add("培训开始时间"); //3 + titles.add("培训结束时间"); //4 + titles.add("姓名"); //5 + titles.add("电话"); //6 + titles.add("部门"); //7 + titles.add("岗位"); //8 + titles.add("任务学时(分钟)"); //9 + titles.add("已学习学时(分钟)"); //10 + titles.add("学习状态"); //11 + titles.add("考试成绩"); //12 + titles.add("考试结果"); //13 + dataMap.put("titles", titles); + List list = stagestudentrelationService.listExport(pd); + + dataMap.put("varList", list); + ExcelExportCompressImg erv = new ExcelExportCompressImg(); + mv = new ModelAndView(erv,dataMap); + return mv; + } +} diff --git a/src/main/java/com/zcloud/controller/onlinexxks/StudyTaskController.java b/src/main/java/com/zcloud/controller/onlinexxks/StudyTaskController.java new file mode 100644 index 0000000..062795c --- /dev/null +++ b/src/main/java/com/zcloud/controller/onlinexxks/StudyTaskController.java @@ -0,0 +1,61 @@ +package com.zcloud.controller.onlinexxks; + +import com.zcloud.controller.base.BaseController; +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import com.zcloud.service.onlinexxks.*; +import com.zcloud.util.*; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.servlet.ModelAndView; + +import java.util.*; + +/** + * 说明:在线学习考试-任务 + * 作者:luoxiaobao + * 时间:2021-12-20 + * 官网:www.zcloudchina.com + */ +@Controller +@RequestMapping("/studytask") +public class StudyTaskController extends BaseController { + + @Autowired + private StudyTaskService studytaskService; + + /**导出到excel + * @param + * @throws Exception + */ + @RequestMapping(value="/exportExcelSystemLedger") + public ModelAndView exportExcelSystemLedger() throws Exception{ + ModelAndView mv = new ModelAndView(); + PageData pd = this.getPageData(); + + Map dataMap = new HashMap<>(); + List titles = new ArrayList<>(); + titles.add("企业名称"); //1 + titles.add("学习任务名称"); //2 + titles.add("培训行业类型"); //3 + titles.add("岗位培训类型"); //4 + titles.add("培训开始时间"); //5 + titles.add("培训结束时间"); //6 + titles.add("任务课时(分钟)"); //7 + titles.add("应参考人数"); //8 + titles.add("参考人数"); //9 + titles.add("合格人数"); //10 + titles.add("状态"); //11 + dataMap.put("titles", titles); + List list = studytaskService.listExport(pd); + + dataMap.put("varList", list); + ExcelExportCompressImg erv = new ExcelExportCompressImg(); + mv = new ModelAndView(erv,dataMap); + return mv; + } +} diff --git a/src/main/java/com/zcloud/controller/superviseInspect/SuperviseInspectController.java b/src/main/java/com/zcloud/controller/superviseInspect/SuperviseInspectController.java index 6ba7235..1540334 100644 --- a/src/main/java/com/zcloud/controller/superviseInspect/SuperviseInspectController.java +++ b/src/main/java/com/zcloud/controller/superviseInspect/SuperviseInspectController.java @@ -361,4 +361,20 @@ public class SuperviseInspectController extends BaseController { return mv; } + /**导出到excel + * @param + * @throws Exception + */ + @RequestMapping(value="/exportExcelSystemLedger") + public ModelAndView exportExcelSystemLedger() throws Exception{ + ModelAndView mv = new ModelAndView(); + PageData pd = this.getPageData(); + + Map dataMap = superviseinspectService.listExport(pd); + + ExcelExportCompressImg erv = new ExcelExportCompressImg(); + mv = new ModelAndView(erv,dataMap); + return mv; + } + } diff --git a/src/main/java/com/zcloud/controller/superviseInspect/SuperviseInspectHiddenController.java b/src/main/java/com/zcloud/controller/superviseInspect/SuperviseInspectHiddenController.java index 3ff6327..d46df44 100644 --- a/src/main/java/com/zcloud/controller/superviseInspect/SuperviseInspectHiddenController.java +++ b/src/main/java/com/zcloud/controller/superviseInspect/SuperviseInspectHiddenController.java @@ -7,10 +7,7 @@ import com.zcloud.service.superviseInspect.SuperviseInspectFilesService; import com.zcloud.service.superviseInspect.SuperviseInspectHiddenService; import com.zcloud.service.system.DepartmentService; import com.zcloud.service.system.UsersService; -import com.zcloud.util.DateUtil; -import com.zcloud.util.Jurisdiction; -import com.zcloud.util.ObjectExcelView; -import com.zcloud.util.Tools; +import com.zcloud.util.*; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -278,4 +275,20 @@ public class SuperviseInspectHiddenController extends BaseController { return mv; } + /**导出到excel + * @param + * @throws Exception + */ + @RequestMapping(value="/exportExcelSystemLedger") + public ModelAndView exportExcelSystemLedger() throws Exception{ + ModelAndView mv = new ModelAndView(); + PageData pd = this.getPageData(); + + Map dataMap = superviseinspecthiddenService.listExport(pd); + + ExcelExportCompressImg erv = new ExcelExportCompressImg(); + mv = new ModelAndView(erv,dataMap); + return mv; + } + } diff --git a/src/main/java/com/zcloud/controller/system/LoginController.java b/src/main/java/com/zcloud/controller/system/LoginController.java index 48fd805..151be00 100644 --- a/src/main/java/com/zcloud/controller/system/LoginController.java +++ b/src/main/java/com/zcloud/controller/system/LoginController.java @@ -177,13 +177,13 @@ public class LoginController extends BaseController { String errInfo = "success"; // 2023-04-17 新增需求如果当前时间大于10月1号,则不允许登录(房嘉恺) // 2024-11-15 由于商务原因恢复系统登录限制(王鹏) - Date today = new Date(); - Date limit_date = DateUtil.str2Date("2025-01-08 00:00:00"); - if (today.getTime() > limit_date.getTime()){ - errInfo = "error"; - map.put("msg", "系统开小差,请联系管理员"); - return map; - } +// Date today = new Date(); +// Date limit_date = DateUtil.str2Date("2025-01-08 00:00:00"); +// if (today.getTime() > limit_date.getTime()){ +// errInfo = "error"; +// map.put("msg", "系统开小差,请联系管理员"); +// return map; +// } String KEYDATA[] = pd.getString("KEYDATA").replaceAll("qdkjchina", "").split(",qd,"); if(null != KEYDATA && KEYDATA.length == 2){ String USERNAME = KEYDATA[0]; //登录过来的用户名 diff --git a/src/main/java/com/zcloud/controller/system/UsersController.java b/src/main/java/com/zcloud/controller/system/UsersController.java index 60b206c..9fdfe7b 100644 --- a/src/main/java/com/zcloud/controller/system/UsersController.java +++ b/src/main/java/com/zcloud/controller/system/UsersController.java @@ -8,6 +8,8 @@ import java.util.Map; import javax.servlet.http.HttpServletResponse; import com.zcloud.service.bus.ImgFilesService; +import com.zcloud.service.system.*; +import com.zcloud.util.*; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.AuthenticationException; import org.apache.shiro.authc.DisabledAccountException; @@ -33,20 +35,6 @@ import com.zcloud.entity.Page; import com.zcloud.entity.PageData; import com.zcloud.entity.system.Department; import com.zcloud.entity.system.Role; -import com.zcloud.service.system.DepartmentService; -import com.zcloud.service.system.FHlogService; -import com.zcloud.service.system.RoleService; -import com.zcloud.service.system.UeditorService; -import com.zcloud.service.system.UsersService; -import com.zcloud.util.Const; -import com.zcloud.util.FileDownload; -import com.zcloud.util.FileUpload; -import com.zcloud.util.GetPinyin; -import com.zcloud.util.Jurisdiction; -import com.zcloud.util.ObjectExcelRead; -import com.zcloud.util.ObjectExcelView; -import com.zcloud.util.PathUtil; -import com.zcloud.util.Tools; /** * 说明:系统用户处理类 @@ -69,6 +57,8 @@ public class UsersController extends BaseController { private DepartmentService departmentService; @Autowired private ImgFilesService imgFilesService; + @Autowired + private Users2Service corpUsersService; /**用户列表 * @param page * @return @@ -596,6 +586,74 @@ public class UsersController extends BaseController { return map; } + @RequestMapping(value="/goDaochu") + @ResponseBody + public Object goDaochu() throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + List> regList = usersService.getDaochuReglatory(pd); //列出CorpInfo列表 + map.put("regList", regList); + List> preList = usersService.getDaochuPrevention(pd); //列出CorpInfo列表 + map.put("preList", preList); + map.put("result", errInfo); + return map; + } + + /**导出到excel + * @param + * @throws Exception + */ + @RequestMapping(value="/exportExcelDaochu") + public ModelAndView exportExcelDaochu() throws Exception{ + ModelAndView mv = new ModelAndView(); + PageData pd = new PageData(); + pd = this.getPageData(); + + Map dataMap = new HashMap(); + String regKeys [] = pd.get("regKeys").toString().split(","); + String regVals [] = pd.get("regVals").toString().split(","); + String preKeys [] = pd.get("preKeys").toString().split(","); + String preVals [] = pd.get("preVals").toString().split(","); + List titles = new ArrayList(); + titles.add("企业名称"); //1 + titles.add("姓名"); //2 + titles.add("登录账号"); //3 + titles.add("部门"); //4 + titles.add("岗位"); //5 + titles.add("手机号"); //6 + titles.add("性别"); //7 + titles.add("职务"); //8 + titles.add("邮箱"); //9 + titles.add("状态"); //10 + titles.add("是否在线学习人员"); //11 + titles.add("身份证号"); //12 + titles.add("民族"); //13 + titles.add("政治面貌"); //14 + titles.add("出生年月"); //15 + titles.add("文化程度"); //16 + titles.add("人员类型"); //17 + titles.add("职称"); //18 + titles.add("工种"); //19 + titles.add("入职日期"); //20 + titles.add("参加工作日期"); //21 + titles.add("在职情况"); //22 + titles.add("学习人员照片"); //23 + titles.add("证书照片"); //24 + dataMap.put("titles", titles); + List list = new ArrayList<>(); + List regUserList = usersService.listExport(pd, regKeys); + list.addAll(regUserList); + List corpUserList = corpUsersService.listExport(pd, preKeys); + list.addAll(corpUserList); + + dataMap.put("varList", list); + ExcelExportCompressImg erv = new ExcelExportCompressImg(); + mv = new ModelAndView(erv,dataMap); + return mv; + } + /**导出用户信息到EXCEL * @return * @throws Exception diff --git a/src/main/java/com/zcloud/entity/PageData.java b/src/main/java/com/zcloud/entity/PageData.java index b456f41..e6dcbcd 100644 --- a/src/main/java/com/zcloud/entity/PageData.java +++ b/src/main/java/com/zcloud/entity/PageData.java @@ -11,6 +11,7 @@ import java.util.Set; import javax.servlet.http.HttpServletRequest; import com.alibaba.druid.proxy.jdbc.ClobProxyImpl; +import com.zcloud.util.Tools; /** * 说明:参数封装Map @@ -72,6 +73,10 @@ public class PageData extends HashMap implements Map listExport(PageData pd); } diff --git a/src/main/java/com/zcloud/mapper/datasource/superviseInspect/SuperviseInspectMapper.java b/src/main/java/com/zcloud/mapper/datasource/superviseInspect/SuperviseInspectMapper.java index e95e494..652f085 100644 --- a/src/main/java/com/zcloud/mapper/datasource/superviseInspect/SuperviseInspectMapper.java +++ b/src/main/java/com/zcloud/mapper/datasource/superviseInspect/SuperviseInspectMapper.java @@ -53,6 +53,7 @@ public interface SuperviseInspectMapper{ * @throws Exception */ void deleteAll(String[] ArrayDATA_IDS); - + + List listExport(PageData pd); } diff --git a/src/main/java/com/zcloud/mapper/dsno2/archives/ArchivesCapitalMapper.java b/src/main/java/com/zcloud/mapper/dsno2/archives/ArchivesCapitalMapper.java new file mode 100644 index 0000000..3cac782 --- /dev/null +++ b/src/main/java/com/zcloud/mapper/dsno2/archives/ArchivesCapitalMapper.java @@ -0,0 +1,24 @@ +package com.zcloud.mapper.dsno2.archives; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:培训资金提取和使用情况管理台账 + * 作者:luoxiaobao + * 时间:2021-12-17 + * 官网:www.zcloudchina.com + */ +public interface ArchivesCapitalMapper { + + + /**列表(全部) + * @param pd + * @throws Exception + */ + List listAll(PageData pd); + +} + diff --git a/src/main/java/com/zcloud/mapper/dsno2/archives/ArchivesEduManagerMapper.java b/src/main/java/com/zcloud/mapper/dsno2/archives/ArchivesEduManagerMapper.java new file mode 100644 index 0000000..5420491 --- /dev/null +++ b/src/main/java/com/zcloud/mapper/dsno2/archives/ArchivesEduManagerMapper.java @@ -0,0 +1,24 @@ +package com.zcloud.mapper.dsno2.archives; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:年度安全培训教育管理台账 + * 作者:luoxiaobao + * 时间:2021-12-17 + * 官网:www.zcloudchina.com + */ +public interface ArchivesEduManagerMapper { + + + /**列表(全部) + * @param pd + * @throws Exception + */ + List listAll(PageData pd); + +} + diff --git a/src/main/java/com/zcloud/mapper/dsno2/archives/ArchivesEduPlanMapper.java b/src/main/java/com/zcloud/mapper/dsno2/archives/ArchivesEduPlanMapper.java new file mode 100644 index 0000000..b5ceb80 --- /dev/null +++ b/src/main/java/com/zcloud/mapper/dsno2/archives/ArchivesEduPlanMapper.java @@ -0,0 +1,24 @@ +package com.zcloud.mapper.dsno2.archives; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:年度安全培训教育计划 + * 作者:luoxiaobao + * 时间:2021-12-16 + * 官网:www.zcloudchina.com + */ +public interface ArchivesEduPlanMapper{ + + + /**列表(全部) + * @param pd + * @throws Exception + */ + List listAll(PageData pd); + +} + diff --git a/src/main/java/com/zcloud/mapper/dsno2/archives/ArchivesFilesMapper.java b/src/main/java/com/zcloud/mapper/dsno2/archives/ArchivesFilesMapper.java new file mode 100644 index 0000000..18c9018 --- /dev/null +++ b/src/main/java/com/zcloud/mapper/dsno2/archives/ArchivesFilesMapper.java @@ -0,0 +1,59 @@ +package com.zcloud.mapper.dsno2.archives; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:档案文件 + * 作者:luoxiaobao + * 时间:2021-12-14 + * 官网:www.zcloudchina.com + */ +public interface ArchivesFilesMapper { + + /**新增 + * @param pd + * @throws Exception + */ + void save(PageData pd); + + /**删除 + * @param pd + * @throws Exception + */ + void delete(PageData pd); + + /**修改 + * @param pd + * @throws Exception + */ + void edit(PageData pd); + + /**列表 + * @param page + * @throws Exception + */ + List datalistPage(Page page); + + /**列表(全部) + * @param pd + * @throws Exception + */ + List listAll(PageData pd); + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + PageData findById(PageData pd); + + /**批量删除 + * @param ArrayDATA_IDS + * @throws Exception + */ + void deleteAll(String[] ArrayDATA_IDS); + +} + diff --git a/src/main/java/com/zcloud/mapper/dsno2/archives/ArchivesPostManMapper.java b/src/main/java/com/zcloud/mapper/dsno2/archives/ArchivesPostManMapper.java new file mode 100644 index 0000000..ebba80e --- /dev/null +++ b/src/main/java/com/zcloud/mapper/dsno2/archives/ArchivesPostManMapper.java @@ -0,0 +1,24 @@ +package com.zcloud.mapper.dsno2.archives; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:三岗人员管理台账 + * 作者:luoxiaobao + * 时间:2021-12-15 + * 官网:www.zcloudchina.com + */ +public interface ArchivesPostManMapper{ + + + /**列表(全部) + * @param pd + * @throws Exception + */ + List listAll(PageData pd); + +} + diff --git a/src/main/java/com/zcloud/mapper/dsno2/archives/ArchivesTeacherMapper.java b/src/main/java/com/zcloud/mapper/dsno2/archives/ArchivesTeacherMapper.java new file mode 100644 index 0000000..6eb9854 --- /dev/null +++ b/src/main/java/com/zcloud/mapper/dsno2/archives/ArchivesTeacherMapper.java @@ -0,0 +1,24 @@ +package com.zcloud.mapper.dsno2.archives; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:本单位师资管理台账 + * 作者:luoxiaobao + * 时间:2021-12-16 + * 官网:www.zcloudchina.com + */ +public interface ArchivesTeacherMapper{ + + + /**列表(全部) + * @param pd + * @throws Exception + */ + List listAll(PageData pd); + +} + diff --git a/src/main/java/com/zcloud/mapper/dsno2/bus/CheckRecordMapper.java b/src/main/java/com/zcloud/mapper/dsno2/bus/CheckRecordMapper.java index 7f5f3ca..179c6b0 100644 --- a/src/main/java/com/zcloud/mapper/dsno2/bus/CheckRecordMapper.java +++ b/src/main/java/com/zcloud/mapper/dsno2/bus/CheckRecordMapper.java @@ -84,5 +84,7 @@ public interface CheckRecordMapper{ * @return */ List recordByIde(PageData pd); + + List listExport(PageData pd); } diff --git a/src/main/java/com/zcloud/mapper/dsno2/bus/HiddenCheckMapper.java b/src/main/java/com/zcloud/mapper/dsno2/bus/HiddenCheckMapper.java index d71d900..4f08a1c 100644 --- a/src/main/java/com/zcloud/mapper/dsno2/bus/HiddenCheckMapper.java +++ b/src/main/java/com/zcloud/mapper/dsno2/bus/HiddenCheckMapper.java @@ -55,6 +55,7 @@ public interface HiddenCheckMapper{ void deleteAll(String[] ArrayDATA_IDS); PageData findByHidden(PageData pd); - + + List listExport(PageData pd); } diff --git a/src/main/java/com/zcloud/mapper/dsno2/bus/HiddenSchemeMapper.java b/src/main/java/com/zcloud/mapper/dsno2/bus/HiddenSchemeMapper.java index d6bd8d3..506328f 100644 --- a/src/main/java/com/zcloud/mapper/dsno2/bus/HiddenSchemeMapper.java +++ b/src/main/java/com/zcloud/mapper/dsno2/bus/HiddenSchemeMapper.java @@ -65,6 +65,7 @@ public interface HiddenSchemeMapper{ * @throws Exception */ void deleteAll(String[] ArrayDATA_IDS); - + + List listExport(PageData pd); } diff --git a/src/main/java/com/zcloud/mapper/dsno2/bus/ListManagerMapper.java b/src/main/java/com/zcloud/mapper/dsno2/bus/ListManagerMapper.java new file mode 100644 index 0000000..18b758b --- /dev/null +++ b/src/main/java/com/zcloud/mapper/dsno2/bus/ListManagerMapper.java @@ -0,0 +1,26 @@ +package com.zcloud.mapper.dsno2.bus; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:清单管理 + * 作者:luoxiaobao + * 时间:2020-12-30 + * 官网:www.zcloudchina.com + */ +public interface ListManagerMapper { + + + + /**列表 + * @param page + * @throws Exception + */ + List datalistPage(Page page); + + List listExport(PageData pd); +} + diff --git a/src/main/java/com/zcloud/mapper/dsno2/bus/TrainingScheduleMapper.java b/src/main/java/com/zcloud/mapper/dsno2/bus/TrainingScheduleMapper.java new file mode 100644 index 0000000..006df0b --- /dev/null +++ b/src/main/java/com/zcloud/mapper/dsno2/bus/TrainingScheduleMapper.java @@ -0,0 +1,24 @@ +package com.zcloud.mapper.dsno2.bus; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:培训日程安排通知 + * 作者:luoxiaobao + * 时间:2021-12-20 + * 官网:www.zcloudchina.com + */ +public interface TrainingScheduleMapper { + + + /**列表(全部) + * @param pd + * @throws Exception + */ + List listAll(PageData pd); + +} + diff --git a/src/main/java/com/zcloud/mapper/dsno2/onlinexxks/StageExamMapper.java b/src/main/java/com/zcloud/mapper/dsno2/onlinexxks/StageExamMapper.java new file mode 100644 index 0000000..1405b2f --- /dev/null +++ b/src/main/java/com/zcloud/mapper/dsno2/onlinexxks/StageExamMapper.java @@ -0,0 +1,23 @@ +package com.zcloud.mapper.dsno2.onlinexxks; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:阶段考试 + * 作者:luoxiaobao + * 时间:2021-09-15 + * 官网:www.zcloudchina.com + */ +public interface StageExamMapper{ + + /** + * 根据试卷id和用户id获取用户的所答试卷 + * @param pd + * @return + */ + List findByPaperUser(PageData pd); +} + diff --git a/src/main/java/com/zcloud/mapper/dsno2/onlinexxks/StageExamPaperQuestionMapper.java b/src/main/java/com/zcloud/mapper/dsno2/onlinexxks/StageExamPaperQuestionMapper.java new file mode 100644 index 0000000..16185c9 --- /dev/null +++ b/src/main/java/com/zcloud/mapper/dsno2/onlinexxks/StageExamPaperQuestionMapper.java @@ -0,0 +1,24 @@ +package com.zcloud.mapper.dsno2.onlinexxks; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:阶段考试试题中间表 + * 作者:luoxiaobao + * 时间:2021-10-08 + * 官网:www.zcloudchina.com + */ +public interface StageExamPaperQuestionMapper { + + + /**列表(根据试卷ID获取试题数据) + * @param pd + * @throws Exception + */ + List findByExamPaper(PageData pd); + +} + diff --git a/src/main/java/com/zcloud/mapper/dsno2/onlinexxks/StageExamRecordMapper.java b/src/main/java/com/zcloud/mapper/dsno2/onlinexxks/StageExamRecordMapper.java new file mode 100644 index 0000000..5bb65a9 --- /dev/null +++ b/src/main/java/com/zcloud/mapper/dsno2/onlinexxks/StageExamRecordMapper.java @@ -0,0 +1,22 @@ +package com.zcloud.mapper.dsno2.onlinexxks; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:阶段考试记录 + * 作者:luoxiaobao + * 时间:2021-09-15 + * 官网:www.zcloudchina.com + */ +public interface StageExamRecordMapper{ + + /**试卷答题展示(获取答题情况) + * @param + * @throws Exception + */ + List findByExam(PageData pd); +} + diff --git a/src/main/java/com/zcloud/mapper/dsno2/onlinexxks/StageStudentRelationMapper.java b/src/main/java/com/zcloud/mapper/dsno2/onlinexxks/StageStudentRelationMapper.java new file mode 100644 index 0000000..b605f40 --- /dev/null +++ b/src/main/java/com/zcloud/mapper/dsno2/onlinexxks/StageStudentRelationMapper.java @@ -0,0 +1,30 @@ +package com.zcloud.mapper.dsno2.onlinexxks; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:阶段考试学员关系表 + * 作者:luoxiaobao + * 时间:2021-10-08 + * 官网:www.zcloudchina.com + */ +public interface StageStudentRelationMapper { + + + /**列表(全部) + * @param pd + * @throws Exception + */ + List listStudentTask(PageData pd); + + + /**列表(全部) + * @param pd + * @throws Exception + */ + List listExport(PageData pd); +} + diff --git a/src/main/java/com/zcloud/mapper/dsno2/onlinexxks/StageexampaperMapper.java b/src/main/java/com/zcloud/mapper/dsno2/onlinexxks/StageexampaperMapper.java new file mode 100644 index 0000000..8b6d3c7 --- /dev/null +++ b/src/main/java/com/zcloud/mapper/dsno2/onlinexxks/StageexampaperMapper.java @@ -0,0 +1,22 @@ +package com.zcloud.mapper.dsno2.onlinexxks; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:阶段考试试卷表 + * 作者:luoxiaobao + * 时间:2021-07-04 + * 官网:www.zcloudchina.com + */ +public interface StageexampaperMapper{ + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + PageData findById(PageData pd); +} + diff --git a/src/main/java/com/zcloud/mapper/dsno2/onlinexxks/StudyTaskMapper.java b/src/main/java/com/zcloud/mapper/dsno2/onlinexxks/StudyTaskMapper.java new file mode 100644 index 0000000..84d33b9 --- /dev/null +++ b/src/main/java/com/zcloud/mapper/dsno2/onlinexxks/StudyTaskMapper.java @@ -0,0 +1,34 @@ +package com.zcloud.mapper.dsno2.onlinexxks; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:在线学习考试-任务 + * 作者:luoxiaobao + * 时间:2021-12-20 + * 官网:www.zcloudchina.com + */ +public interface StudyTaskMapper { + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + PageData findById(PageData pd); + + + List getcurriculumAllBystudyTaskId(PageData pd); + + + /**全部视频课件+资料课件 + * @param pd + * @throws Exception + */ + List getAllCourseware(PageData pd); + + List listAll(PageData pd); +} + diff --git a/src/main/java/com/zcloud/mapper/dsno2/system/Users2Mapper.java b/src/main/java/com/zcloud/mapper/dsno2/system/Users2Mapper.java index 5d9d1dc..d427953 100644 --- a/src/main/java/com/zcloud/mapper/dsno2/system/Users2Mapper.java +++ b/src/main/java/com/zcloud/mapper/dsno2/system/Users2Mapper.java @@ -117,4 +117,8 @@ public interface Users2Mapper { * @param pd */ void editPassword(PageData pd); + + List listAllUser(PageData pd); + + List listAllForExport(PageData pd); } diff --git a/src/main/java/com/zcloud/service/archives/ArchivesCapitalService.java b/src/main/java/com/zcloud/service/archives/ArchivesCapitalService.java new file mode 100644 index 0000000..b8f1a2b --- /dev/null +++ b/src/main/java/com/zcloud/service/archives/ArchivesCapitalService.java @@ -0,0 +1,24 @@ +package com.zcloud.service.archives; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:培训资金提取和使用情况管理台账 + * 作者:luoxiaobao + * 时间:2021-12-17 + * 官网:www.zcloudchina.com + */ +public interface ArchivesCapitalService { + + + /**列表(全部) + * @param pd + * @throws Exception + */ + List listAll(PageData pd)throws Exception; + +} + diff --git a/src/main/java/com/zcloud/service/archives/ArchivesEduManagerService.java b/src/main/java/com/zcloud/service/archives/ArchivesEduManagerService.java new file mode 100644 index 0000000..a03cea6 --- /dev/null +++ b/src/main/java/com/zcloud/service/archives/ArchivesEduManagerService.java @@ -0,0 +1,147 @@ +package com.zcloud.service.archives; + +import com.zcloud.entity.PageData; +import com.zcloud.entity.system.Dictionaries; + +import java.io.File; +import java.util.List; + +/** + * 说明:年度安全培训教育管理台账 + * 作者:luoxiaobao + * 时间:2021-12-17 + * 官网:www.zcloudchina.com + */ +public interface ArchivesEduManagerService { + + + List listAll(PageData corp) throws Exception; + + /** + * 人员登记表 + * @param stu + * @return + * @throws Exception + */ + File registertable(PageData stu)throws Exception; + /** + * 一人一档详情首页导出word + * @throws Exception + */ + String homepage(PageData student, PageData pd, String now, PageData paper, PageData classInfo) throws Exception; + /** + * 一人一档详情学时证明导出word + * @throws Exception + */ + String classHour(PageData student, PageData classInfo, List coursewaresList, PageData corpinfo, PageData pd, String now, PageData paper) throws Exception; + + /** + * 学员学习档案导出word + * @throws Exception + */ + String studyInfo(PageData student, PageData classInfo, List curList, List coursewaresList, PageData pd, String now, PageData corpinfo, PageData paper) throws Exception; + + /** + * 一人一档详情课程导出word + * @throws Exception + */ + String curriculumword(PageData student, PageData classInfo, List coursewaresList, PageData corpinfo, String now) throws Exception; + + /** + * 一人一档安全培训考核记录导出word + * + * @throws Exception + */ + String practiceword(PageData student, PageData pd, PageData classInfo, PageData corpinfo, String now, List personnelTypeList) throws Exception; + + /** + * 一人一档安全培训考核记录导出word + * + * @throws Exception + */ + String safelogword(PageData student, PageData classInfo, List coursewaresList, PageData pd, PageData corpinfo, PageData paper, String now, List personnelTypeList) throws Exception; + + /** + * 一人一档详情试卷导出word + * + * @throws Exception + */ + String papermword(PageData student, PageData classInfo, PageData corpinfo, PageData paper, String now) throws Exception; + + File exportPdfTrainingSchedule(PageData pd,List tsList) throws Exception; + + File exportPdfCourseware(PageData task, List coursewaresList) throws Exception; + + File exportPdfStudyTask(PageData task, List coursewaresList, List stuList) throws Exception; + + File exportPdfExamPaper(PageData task, PageData paper, List questionList) throws Exception; + + /** + * 培训考核试卷 + * @param task + * @param coursewaresList + * @param stuList + * @return + * @throws Exception + */ + File exportPdfArchivesStudentScore(PageData task, List coursewaresList, List stuList) throws Exception; + + /** + * 培训综合考评报告 + * @param task + * @param curList + * @param stuList + * @return + * @throws Exception + */ + File exportPdfArchivesReport(PageData task, List curList, List stuList) throws Exception; + + + + /** + * 三岗人员管理台账 + * @param corp + * @param archivesPostManList + * @return + * @throws Exception + */ + File exportPdfArchivesPostMant(PageData corp, List archivesPostManList) throws Exception; + + + /** + * 本单位师资管理台账 + * @param corp + * @param archivesTeacherList + * @return + * @throws Exception + */ + File exportPdfArchivesTeacher(PageData corp, List archivesTeacherList) throws Exception; + + /** + * 安全培训教育计划 + * @param corp + * @param archivesEduPlanList + * @return + * @throws Exception + */ + File exportPdfArchivesEduPlan(PageData corp, List archivesEduPlanList) throws Exception; + + /** + * 安全培训教育管理台账 + * @param corp + * @param archivesEduManagerList + * @return + * @throws Exception + */ + File exportPdfArchivesEduManager(PageData corp, List archivesEduManagerList) throws Exception; + + /** + * 培训资金提取和使用情况管理台账 + * @param corp + * @param archivesCapitalList + * @return + * @throws Exception + */ + File exportPdfArchivesCapital(PageData corp, List archivesCapitalList) throws Exception; +} + diff --git a/src/main/java/com/zcloud/service/archives/ArchivesEduPlanService.java b/src/main/java/com/zcloud/service/archives/ArchivesEduPlanService.java new file mode 100644 index 0000000..27435ca --- /dev/null +++ b/src/main/java/com/zcloud/service/archives/ArchivesEduPlanService.java @@ -0,0 +1,23 @@ +package com.zcloud.service.archives; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:年度安全培训教育计划 + * 作者:luoxiaobao + * 时间:2021-12-16 + * 官网:www.zcloudchina.com + */ +public interface ArchivesEduPlanService{ + + /**列表(全部) + * @param pd + * @throws Exception + */ + List listAll(PageData pd)throws Exception; + +} + diff --git a/src/main/java/com/zcloud/service/archives/ArchivesFilesService.java b/src/main/java/com/zcloud/service/archives/ArchivesFilesService.java new file mode 100644 index 0000000..c451791 --- /dev/null +++ b/src/main/java/com/zcloud/service/archives/ArchivesFilesService.java @@ -0,0 +1,59 @@ +package com.zcloud.service.archives; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:档案文件 + * 作者:luoxiaobao + * 时间:2021-12-14 + * 官网:www.zcloudchina.com + */ +public interface ArchivesFilesService { + + /**新增 + * @param pd + * @throws Exception + */ + public void save(PageData pd)throws Exception; + + /**删除 + * @param pd + * @throws Exception + */ + public void delete(PageData pd)throws Exception; + + /**修改 + * @param pd + * @throws Exception + */ + public void edit(PageData pd)throws Exception; + + /**列表 + * @param page + * @throws Exception + */ + public List list(Page page)throws Exception; + + /**列表(全部) + * @param pd + * @throws Exception + */ + public List listAll(PageData pd)throws Exception; + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + public PageData findById(PageData pd)throws Exception; + + /**批量删除 + * @param ArrayDATA_IDS + * @throws Exception + */ + public void deleteAll(String[] ArrayDATA_IDS)throws Exception; + +} + diff --git a/src/main/java/com/zcloud/service/archives/ArchivesPostManService.java b/src/main/java/com/zcloud/service/archives/ArchivesPostManService.java new file mode 100644 index 0000000..052c13f --- /dev/null +++ b/src/main/java/com/zcloud/service/archives/ArchivesPostManService.java @@ -0,0 +1,24 @@ +package com.zcloud.service.archives; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:三岗人员管理台账 + * 作者:luoxiaobao + * 时间:2021-12-15 + * 官网:www.zcloudchina.com + */ +public interface ArchivesPostManService{ + + + /**列表(全部) + * @param pd + * @throws Exception + */ + List listAll(PageData pd)throws Exception; + +} + diff --git a/src/main/java/com/zcloud/service/archives/ArchivesTeacherService.java b/src/main/java/com/zcloud/service/archives/ArchivesTeacherService.java new file mode 100644 index 0000000..51a90ea --- /dev/null +++ b/src/main/java/com/zcloud/service/archives/ArchivesTeacherService.java @@ -0,0 +1,24 @@ +package com.zcloud.service.archives; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:本单位师资管理台账 + * 作者:luoxiaobao + * 时间:2021-12-16 + * 官网:www.zcloudchina.com + */ +public interface ArchivesTeacherService{ + + + /**列表(全部) + * @param pd + * @throws Exception + */ + List listAll(PageData pd)throws Exception; + +} + diff --git a/src/main/java/com/zcloud/service/archives/impl/ArchivesCapitalServiceImpl.java b/src/main/java/com/zcloud/service/archives/impl/ArchivesCapitalServiceImpl.java new file mode 100644 index 0000000..cf51c24 --- /dev/null +++ b/src/main/java/com/zcloud/service/archives/impl/ArchivesCapitalServiceImpl.java @@ -0,0 +1,36 @@ +package com.zcloud.service.archives.impl; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import com.zcloud.mapper.dsno2.archives.ArchivesCapitalMapper; +import com.zcloud.service.archives.ArchivesCapitalService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 说明:培训资金提取和使用情况管理台账 + * 作者:luoxiaobao + * 时间:2021-12-17 + * 官网:www.zcloudchina.com + */ +@Service +@Transactional //开启事物 +public class ArchivesCapitalServiceImpl implements ArchivesCapitalService{ + + @Autowired + private ArchivesCapitalMapper archivescapitalMapper; + + + /**列表(全部) + * @param pd + * @throws Exception + */ + public List listAll(PageData pd)throws Exception{ + return archivescapitalMapper.listAll(pd); + } + +} + diff --git a/src/main/java/com/zcloud/service/archives/impl/ArchivesEduManagerServiceImpl.java b/src/main/java/com/zcloud/service/archives/impl/ArchivesEduManagerServiceImpl.java new file mode 100644 index 0000000..8133d7c --- /dev/null +++ b/src/main/java/com/zcloud/service/archives/impl/ArchivesEduManagerServiceImpl.java @@ -0,0 +1,1351 @@ +package com.zcloud.service.archives.impl; + +import com.zcloud.entity.PageData; +import com.zcloud.entity.system.Dictionaries; +import com.zcloud.entity.word.TrainingPlanDao; +import com.zcloud.mapper.dsno2.archives.ArchivesEduManagerMapper; +import com.zcloud.service.archives.ArchivesEduManagerService; +import com.zcloud.util.*; +import fr.opensagres.xdocreport.document.IXDocReport; +import fr.opensagres.xdocreport.document.images.ByteArrayImageProvider; +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 freemarker.template.Configuration; +import freemarker.template.Template; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.imageio.ImageIO; +import java.awt.image.BufferedImage; +import java.io.*; +import java.math.RoundingMode; +import java.text.DecimalFormat; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.stream.Collectors; + +/** + * 说明:年度安全培训教育管理台账 + * 作者:luoxiaobao + * 时间:2021-12-17 + * 官网:www.zcloudchina.com + */ +@Service +@Transactional //开启事物 +public class ArchivesEduManagerServiceImpl implements ArchivesEduManagerService{ + + @Autowired + private ArchivesEduManagerMapper archivesEduManagerMapper; + + @Override + public List listAll(PageData pd) throws Exception { + return archivesEduManagerMapper.listAll(pd); + } + + /** + * 人员登记表 + * @param stu + * @return + * @throws Exception + */ + public File registertable(PageData stu)throws Exception { + File pdf = null; + String projectPath = stu.getString2("projectPath"); + String now = DateUtil.getSdfTimesSSS(); + File file = new File(projectPath + Const.FILEPATHWORDTEMPLATE + "registerform.docx"); + InputStream mbwj = new FileInputStream(file); + //注册xdocreport实例并加载FreeMarker模板引擎 + IXDocReport report = XDocReportRegistry.getRegistry().loadReport(mbwj, TemplateEngineKind.Freemarker); + //创建xdocreport上下文对象 + IContext context = report.createContext(); + context.put("value1", stu.getString2("NAME").trim()); // 姓名 + context.put("value2", stu.getString2("SEX_NAME")); // 性别 + context.put("value3", stu.getString2("NATION_NAME")); // 民族 + context.put("value4", stu.getString2("POLITICAL_OUTLOOK_NAME")); // 政治面貌 + context.put("value5", stu.getString2("DEGREE_OF_EDUCATION_NAME")); // 文化程序 + context.put("value6", stu.getString2("HEALTH")); // 健康状况 -缺失 + context.put("value7", stu.getString2("DATE_OF_BIRTH")); // 出生年月 + context.put("value8", stu.getString2("USER_ID_CARD")); // 身份证号 + context.put("value9", stu.getString2("UNIVERSITY")); // 毕业院校及专业 -缺失 + + context.put("value10", stu.getString2("DUTIES_NAME")); // 职务/职称 + context.put("value11", stu.getString2("RESIDENCE")); // 户籍所在地 -缺失 + context.put("value12", stu.getString2("WORKING_DATE")); // 参加工作时间 + context.put("value13", stu.getString2("ENTRY_DATE")); // 进入本单位时间 + + context.put("value14", stu.getString2("DEPARTMENT_NAME")); // 入职部门 + context.put("value15", stu.getString2("POST_NAME")); // 岗位名称 + context.put("value16", stu.getString2("PREVIOUS_POST_DATE")); // 之前从事本岗位时间 -缺失 + context.put("value17", stu.getString2("WORK_EXPERIENCE")); // 主要工作经历 -缺失 + context.put("value18", stu.getString2("CERTIFICATES")); // 有关的岗位证书等情况 -缺失 + context.put("value19", stu.getString2("PUNISH")); // 是否受到刑事处罚 -缺失 + context.put("value20", stu.getString2("CORP_NAME")); // 生产经营单位名 + context.put("value21", stu.getString2("FILE_NUMBER")); // 档案编号 + if (Tools.notEmpty(stu.getString2("USERAVATARPREFIX"))) { + String imageFormat = "jpeg"; + if ("data:image/png;base64,".equals(stu.getString2("USERAVATARPREFIX"))) { + imageFormat = "png"; + } + String base64Image = stu.getString2("USERAVATARURL_CONVERT"); + context.put("pic", getImageFromBase64(base64Image, imageFormat)); + } + + FieldsMetadata fm = report.createFieldsMetadata(); + // word模板中图片标签对应关系 pic---word模板中图片标签 item-- word模板中图片列表的遍历项,即模板中«@before-row[#list list2 as item]» 的item item.pic中的pic 为 后台实体类的图片字段名 + fm.addFieldAsImage("pic", "pic", NullImageBehaviour.RemoveImageTemplate); + String name = stu.getString2("NAME").replaceAll(" ","").replaceAll("\t",""); + FileOutputStream out = new FileOutputStream( + new File( + projectPath + Const.FILEPATHFILE + "人员登记表【" + name + stu.getString2("USERNAME") + "】-" + now + ".docx" + )); + report.process(context, out); + WordToPdfUtil.docToPdf( + projectPath + Const.FILEPATHFILE + "人员登记表【" + name + stu.getString2("USERNAME") + "】-" + now + ".docx", + projectPath + Const.FILEPATHFILE + "人员登记表【" + name + stu.getString2("USERNAME") + "】-" + now + ".pdf"); + File word = new File(projectPath + Const.FILEPATHFILE + "人员登记表【" + name + stu.getString2("USERNAME") + "】-" + now + ".docx"); + word.delete(); + pdf = new File(projectPath + Const.FILEPATHFILE + "人员登记表【" + name + stu.getString2("USERNAME") + "】-" + now + ".pdf"); + return pdf; + } + + // 辅助方法:将 Base64 字符串转换为 BufferedImage + private ByteArrayImageProvider getImageFromBase64(String base64Image, String imageFormat) throws IOException { + byte[] imageBytes = Base64.getDecoder().decode(base64Image); + BufferedImage image = ImageIO.read(new ByteArrayInputStream(imageBytes)); + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + ImageIO.write(image, imageFormat, baos); // imageFormat 可以是 "png", "jpeg" 等 + return new ByteArrayImageProvider(baos.toByteArray()); + } + + /** + * 一人一档详情首页导出word + * + * @throws Exception + */ + @Override + public String homepage(PageData student, PageData pd, String now, PageData paper, PageData classInfo) { + try { + Map map = new HashMap(); +// PageData pd = new PageData(); +// pd = this.getPageData(); + File file = new File(student.getString2("projectPath") + Const.FILEPATHWORDTEMPLATE + "homepage.docx"); + InputStream mbwj = new FileInputStream(file); + //注册xdocreport实例并加载FreeMarker模板引擎 + IXDocReport report = XDocReportRegistry.getRegistry().loadReport(mbwj, TemplateEngineKind.Freemarker); + //创建xdocreport上下文对象 + IContext context = report.createContext(); + context.put("value1", student.getString2("FILE_NUMBER")); // 档案编号 + context.put("value2", student.getString2("STUDENT_NAME")); // 姓名 + context.put("value3", student.getString2("USER_ID_CARD")); // 身份证号 + String end_time = ""; + //考试已完成状态,是考试结束日期 + if ("3".equals(student.getString2("STAGEEXAMSTATE"))) { + end_time = !Tools.isEmpty(paper.get("EXAMTIMEEND")) ? paper.getString2("EXAMTIMEEND").substring(0, 10) : student.getString2("PEIXUE_END_TIME"); + //不考试班级,是班级考试结束日期,否则是班级结束日期 + } else { + end_time = student.getString2("PEIXUE_END_TIME"); + } +// StringBuilder sb = new StringBuilder(end_time); +// sb.setCharAt(4, '年'); +// sb.setCharAt(7, '月'); +// sb.setCharAt(10, '日'); +// end_time = sb.toString().substring(0, 11); + context.put("value4", end_time); //建档日期 + context.put("value5", pd.getString2("CORP_NAME")); // 单位名称 + //输出到本地目录 + FileOutputStream out = new FileOutputStream(new File(student.getString2("projectPath") + Const.FILEPATHFILE + "一人一档首页-" + now + ".docx")); + + report.process(context, out); + out.close(); + return student.getString2("projectPath") + Const.FILEPATHFILE + "一人一档首页-" + now + ".docx"; + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + + /** + * 一人一档详情学时证明导出word + * + * @throws Exception + */ + @Override + public String classHour(PageData student, PageData classInfo, List coursewaresList, PageData corpinfo, PageData pd, String now, PageData paper) { + try { + File file = new File(student.getString2("projectPath") + Const.FILEPATHWORDTEMPLATE + "classhour-new.docx"); + InputStream mbwj = new FileInputStream(file); + //注册xdocreport实例并加载FreeMarker模板引擎 + IXDocReport report = XDocReportRegistry.getRegistry().loadReport(mbwj, TemplateEngineKind.Freemarker); + //创建xdocreport上下文对象 + IContext context = report.createContext(); + //创建要替换的文本变量,变量名需对应 + context.put("value1", Tools.notEmpty(student.getString2("FILE_NUMBER")) ? student.getString2("FILE_NUMBER") : ""); //档案编号 + context.put("value2", Tools.notEmpty(student.getString2("STUDENT_NAME")) ? student.getString2("STUDENT_NAME") : ""); //姓名 + context.put("value3", "身份证"); //证件类型 + context.put("value4", Tools.isEmpty(student.get("USER_ID_CARD")) ? "" : student.get("USER_ID_CARD").toString()); //证件编号 + context.put("value5", pd.getString2("CORP_NAME")); //培训单位名称 + context.put("value6", classInfo.getString2("STUDY_NAME")); //任务名称 + String start_time = ""; + String end_time = ""; + //培训已完成状态,培训开始日是学习开始日期 +// if (("0".equals(student.getString2("STAGEEXAMSTATE")) || "3".equals(student.getString2("STAGEEXAMSTATE"))) && +// ("2".equals(student.getString2("STUDYSTATE")) || "3".equals(student.getString2("STUDYSTATE")))) { +// start_time = Tools.notEmpty(student.getString2("STUDENT_CREATTIME")) ? student.getString2("STUDENT_CREATTIME").substring(0, 10) : ""; +// //培训未完成状态,培训开始日是班级开始日期 +// } else { + start_time = student.getString2("PEIXUE_START_TIME"); +// } + //考试班级,培训已完成状态,培训开始日是班级考试结束日期 + if ("3".equals(student.getString2("STAGEEXAMSTATE"))) { + end_time = Tools.notEmpty(paper.getString2("EXAMTIMEEND")) ? paper.getString2("EXAMTIMEEND").substring(0, 10) : student.getString2("PEIXUE_END_TIME"); //培训结束日期 + //不考试班级,培训已完成状态,培训开始日是班级考试结束日期,否则培训开始日是班级结束日期 + }else { + end_time = student.getString2("PEIXUE_END_TIME").substring(0, 10); //培训结束日期 + } + context.put("value7", start_time + "至" + end_time); + context.put("value8", classInfo.getString2("train_type_name")); //培训类型 + Double sum = 0.0; + Double classHourVideo = 0.0, classHourData = 0.0; + int countVideo = 0, countData = 0; + for (int j = 0; j < coursewaresList.size(); j++) { + Double CLASSHOUR = (double) coursewaresList.get(j).get("CLASSHOUR"); + if ("1".equals(coursewaresList.get(j).get("COURSEWARETYPE"))) { + countVideo++; + classHourVideo+=CLASSHOUR; + } else if ("2".equals(coursewaresList.get(j).get("COURSEWARETYPE"))) { + countData++; + classHourData+=CLASSHOUR; + } + } + Double mine = sum / 60; + DecimalFormat df = new DecimalFormat("0.0"); + df.setRoundingMode(RoundingMode.HALF_DOWN); +// Double allClasshour = Double.valueOf(pd.getString2("allClasshour")); + context.put("value9", classHourVideo + "分钟" + "(包含" + countVideo + "个课件"); //分钟数 + context.put("value10", classHourData + "分钟" + "(包含" + countData + "个课件"); //分钟数 + context.put("value11", (classHourVideo + classHourData) + "分钟"); //姓名 + SimpleDateFormat formatdate = new SimpleDateFormat("yyyy年MM月dd日"); + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + if ("3".equals(student.getString2("STAGEEXAMSTATE")) && paper.get("EXAMTIMEEND") != null) { + context.put("value12", paper.getString2("EXAMTIMEEND").substring(0, 10)); //日期 + } else if (student.get("PEIXUE_END_TIME") != null) { + context.put("value12", student.getString2("PEIXUE_END_TIME")); //日期 + } else { + context.put("value12", ""); //日期 + } + +// String path = Const.HTTPFILEURL + corpinfo.getString2("OFFICIAL_SEAL_PATH"); +// URL url = new URL(path); +// HttpURLConnection connection = (HttpURLConnection) new URL(path).openConnection(); +// int state = connection.getResponseCode(); +// if (state == 200) { +// ByteArrayImageProvider byteArrayImageProvider = new ByteArrayImageProvider(url.openStream());//照片 读取网络路径 +// context.put("pic", byteArrayImageProvider); +// } + + FieldsMetadata fm = report.createFieldsMetadata(); + // word模板中图片标签对应关系 pic---word模板中图片标签 item-- word模板中图片列表的遍历项,即模板中«@before-row[#list list2 as item]» 的item item.pic中的pic 为 后台实体类的图片字段名 + fm.addFieldAsImage("pic", "pic", NullImageBehaviour.RemoveImageTemplate); + //输出到本地目录 + FileOutputStream out = new FileOutputStream(new File(student.getString2("projectPath") + Const.FILEPATHFILE + "学时证明-" + now + ".docx")); + report.process(context, out); + out.close(); + return student.getString2("projectPath") + Const.FILEPATHFILE + "学时证明-" + now + ".docx"; + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + + /** + * 学员学习档案导出word + * + * @throws Exception + */ + @Override + public String studyInfo(PageData student, PageData classInfo, List curList, List coursewaresList, PageData pd, String now, PageData corpinfo, PageData paper) { + try { + Map map = new HashMap(); + File file = new File(student.getString2("projectPath") + Const.FILEPATHWORDTEMPLATE + "studentInfo.docx"); + InputStream mbwj = new FileInputStream(file); + //注册xdocreport实例并加载FreeMarker模板引擎 + IXDocReport report = XDocReportRegistry.getRegistry().loadReport(mbwj, TemplateEngineKind.Freemarker); + //创建xdocreport上下文对象 + IContext context = report.createContext(); + context.put("value1", student.getString2("STUDENT_NAME")); // 姓名 + context.put("value2", student.getString2("USER_ID_CARD")); // 身份证号 + context.put("value3", student.getString2("PHONE")); // 电话号码 +// context.put("value4", classInfo.getString2("CODE")); // 班级编码 + context.put("value5", classInfo.getString2("STUDY_NAME")); // 任务名称 + String start_time = ""; + String end_time = ""; + //培训已完成状态,培训开始日是学习开始日期 +// if (("0".equals(student.getString2("STAGEEXAMSTATE")) || "3".equals(student.getString2("STAGEEXAMSTATE"))) && +// ("2".equals(student.getString2("STUDYSTATE")) || "3".equals(student.getString2("STUDYSTATE")))) { +// start_time = Tools.notEmpty(student.getString2("STUDENT_CREATTIME")) ? student.getString2("STUDENT_CREATTIME").substring(0, 10) : ""; +// //培训未完成状态,培训开始日是班级开始日期 +// } else { + start_time = student.getString2("PEIXUE_START_TIME").substring(0, 10); +// } + //考试班级,培训已完成状态,培训开始日是班级考试结束日期 + if ("3".equals(student.getString2("STAGEEXAMSTATE"))) { + end_time = Tools.notEmpty(paper.getString2("EXAMTIMEEND")) ? paper.getString2("EXAMTIMEEND").substring(0, 10) : student.getString2("PEIXUE_END_TIME"); //培训结束日期 + //不考试班级,培训已完成状态,培训开始日是班级考试结束日期,否则培训开始日是班级结束日期 + } else { + end_time = student.getString2("PEIXUE_END_TIME"); //培训结束日期 + } + context.put("value6", start_time + "至" + end_time); + context.put("value7", "线上学习"); // 学习方式 + context.put("value8", "录播"); // 课程形式 + Double classhour = 0.00; + for (int j = 0; j < coursewaresList.size(); j++) { + Double CLASSHOUR = (double) coursewaresList.get(j).get("CLASSHOUR"); + classhour += CLASSHOUR; + } + DecimalFormat df = new DecimalFormat("0.0"); + df.setRoundingMode(RoundingMode.HALF_DOWN); + Double allClasshour = Double.valueOf(pd.getString2("allClasshour")); + context.put("value9", (classhour > allClasshour? df.format(allClasshour):df.format(classhour)) + "学时"); //学时 + // 课程名称 + StringBuffer currnames = new StringBuffer(); + for (PageData curname : curList) { + currnames.append(curname.get("CURRICULUMNAME")).append(","); + } + context.put("value10", currnames.substring(0, currnames.length() - 1)); //培训科目 + context.put("value11", corpinfo.getString2("CORP_NAME")); //单位名称 + + if (Tools.notEmpty(student.getString2("USERAVATARPREFIX"))) { + String imageFormat = "jpeg"; + if ("data:image/png;base64,".equals(student.getString2("USERAVATARPREFIX"))) { + imageFormat = "png"; + } + String base64Image = student.getString2("USERAVATARURL_CONVERT"); + context.put("pic", getImageFromBase64(base64Image, imageFormat)); + } + FieldsMetadata fm = report.createFieldsMetadata(); + // word模板中图片标签对应关系 pic---word模板中图片标签 + fm.addFieldAsImage("pic", "pic", NullImageBehaviour.RemoveImageTemplate); + //输出到本地目录 + FileOutputStream out = new FileOutputStream(new File(student.getString2("projectPath") + Const.FILEPATHFILE + "学员学习档案-" + now + ".docx")); + + report.process(context, out); + out.close(); + return student.getString2("projectPath") + Const.FILEPATHFILE + "学员学习档案-" + now + ".docx"; + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + + /** + * 一人一档详情课程导出word + * + * @throws Exception + */ + public String curriculumword(PageData student, PageData classInfo, List coursewaresList, PageData corpinfo, String now) throws Exception { + try { + File file = new File(student.getString2("projectPath") + Const.FILEPATHWORDTEMPLATE + "curriculum-new.docx"); + InputStream mbwj = new FileInputStream(file); + //注册xdocreport实例并加载FreeMarker模板引擎 + IXDocReport report = XDocReportRegistry.getRegistry().loadReport(mbwj, TemplateEngineKind.Freemarker); + //创建xdocreport上下文对象 + IContext context = report.createContext(); + + context.put("value14", classInfo.getString2("train_type_name")); //培训类型 + context.put("value15", student.getString2("STUDENT_NAME")); //姓名 + context.put("value16", student.getString2("USER_ID_CARD")); //身份证ID + context.put("value17", classInfo.getString2("STUDY_NAME")); //考卷详情班级名称 + + List list1 = new ArrayList<>(); //一共多少航 + for (int i = 0; i < coursewaresList.size(); i++) { + TrainingPlanDao trainingPlanDao = new TrainingPlanDao(); //每行的内容实体类 + trainingPlanDao.setValue1(String.valueOf(i + 1)); //序号 + trainingPlanDao.setValue2(coursewaresList.get(i).getString2("COURSEWARENAME")); //课程名称 + DecimalFormat df = new DecimalFormat("0.0"); //保留一位小数 + Double hour = (Double) coursewaresList.get(i).get("CLASSHOUR"); + trainingPlanDao.setValue3(hour == 0.0 ? "0" : df.format(hour) + "分钟"); //学时 + + trainingPlanDao.setValue4(coursewaresList.get(i).getString2("SPEAKER")); //教师 + + list1.add(trainingPlanDao); + } + context.put("list1", list1); + + FieldsMetadata fm = report.createFieldsMetadata(); + // word模板中图片标签对应关系 pic---word模板中图片标签 item-- word模板中图片列表的遍历项,即模板中«@before-row[#list list2 as item]» 的item item.pic中的pic 为 后台实体类的图片字段名 + fm.addFieldAsImage("pic", "pic", NullImageBehaviour.RemoveImageTemplate); + //Word模板中的表格数据对应的集合类型 + fm.load("list1", TrainingPlanDao.class, true); + //输出到本地目录 + FileOutputStream out = new FileOutputStream(new File(student.getString2("projectPath") + Const.FILEPATHFILE + "课程材料-" + now + ".docx")); + report.process(context, out); + out.close(); + return student.getString2("projectPath") + Const.FILEPATHFILE + "课程材料-" + now + ".docx"; + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + + /** + * 一人一档安全培训考核记录导出word + * + * @throws Exception + */ + public String practiceword(PageData student, PageData pd, PageData classInfo, PageData corpinfo, String now, List personnelTypeList) throws Exception { + try { + Configuration configuration = new Configuration(Configuration.getVersion()); + Template template; + configuration.setDirectoryForTemplateLoading(new File(student.getString2("projectPath") + Const.FILEPATHWORDTEMPLATE)); //课程材料导出word新的------------------- + template = configuration.getTemplate("practice-new.ftl"); + Map context = new HashMap(); + context = new HashMap(); + context.put("practicevalue1", pd.getString2("ENTERPRISE_NAME")); //机构名称 + context.put("practicevalue2", student.getString2("FILE_NUMBER")); //档案编号 + context.put("practicevalue3", student.getString2("STUDENT_NAME")); //姓名 + context.put("practicevalue4", student.getString2("SEX_NAME")); //性别 + context.put("practicevalue5", student.getString2("USER_ID_CARD")); //身份证 + context.put("practicevalue6", student.getString2("DEPARTMENT_NAME")); //部门 + context.put("practicevalue7", student.getString2("POST_NAME")); //工种 + context.put("practicevalue8", ""); //职称 + context.put("practicevalue9", ""); //部门 + context.put("practicevalue10", ""); //工种 + context.put("practicevalue11", ""); //行业类别 + + if (Tools.notEmpty(corpinfo.getString2("OFFICIAL_SEAL_PATH"))) { + context.put("pic", FileUtil.encodeBase64File(Const.HTTPFILEURL + corpinfo.getString2("OFFICIAL_SEAL_PATH"))); + } else { + context.put("pic", ""); + } + if (Tools.notEmpty(pd.getString2("RECORDOR_SIGN"))) { + context.put("pic2", FileUtil.encodeBase64File(Const.HTTPFILEURL + pd.getString2("RECORDOR_SIGN"))); + } else { + context.put("pic2", ""); + } + if (Tools.notEmpty(pd.getString2("ASSESSOR_SIGN"))) { + context.put("pic3", FileUtil.encodeBase64File(Const.HTTPFILEURL + pd.getString2("ASSESSOR_SIGN"))); + } else { + context.put("pic3", ""); + + } + if (Tools.notEmpty(pd.getString2("SAFETYDEPTOR_SIGN"))) { + context.put("pic4", FileUtil.encodeBase64File(Const.HTTPFILEURL + pd.getString2("SAFETYDEPTOR_SIGN"))); + } else { + context.put("pic4", ""); + + } + + // 归档日期 + String str = String.valueOf(classInfo.getString2("END_TIME")); +// StringBuilder sb = new StringBuilder(str); +// sb.setCharAt(4, '年'); +// sb.setCharAt(7, '月'); +// sb.setCharAt(10, '日'); +// str = sb.toString().substring(0, 11); + context.put("practicevalue12", str); + + //根据培训类型和培训级别获取不同的人员类型列表 + List personnelList = new ArrayList<>(); + for (Dictionaries item : personnelTypeList) { + if (!"250aa92d499c47649a5f8302e31fd0ee".equals(item.getDICTIONARIES_ID()) && // 安全生产管理人 + !"5937873e164a42dfb1edda48e6c522a0".equals(item.getDICTIONARIES_ID()) && // 主要负责人 + !"ff3c7ef0adf54447945e3ce87321f286".equals(item.getDICTIONARIES_ID())) { // 特种作业人员 + // 三级教育培训 + if ("d302da12d8724faaa24e5008adab8ce8".equals(classInfo.getString2("POSTTYPE"))) { + // 如果是班组级,剔除人员类型:其他管理人员,技术人员 + if ("c698a92dda3848b9a40d4bcee79f23a3".equals(classInfo.getString2("TRAINLEVEL"))) { + if (!"b4c633078811455bb1a7d3e3fc6f382f".equals(item.getDICTIONARIES_ID()) && // 其他管理人员 + !"ade12787e63f465094ebe871cb70bc88".equals(item.getDICTIONARIES_ID()) && // 技术人员 + !"c9a6fe2ecda04fa6878462855bca0dc2".equals(item.getDICTIONARIES_ID())) { // 其他负责人 + personnelList.add(item); + } + // 如果是车间级,剔除人员类型:其他负责人 + } else if ("7063a46ac41947779299ec325dd080d4".equals(classInfo.getString2("TRAINLEVEL"))) { + if (!"c9a6fe2ecda04fa6878462855bca0dc2".equals(item.getDICTIONARIES_ID())) { // 其他负责人 + personnelList.add(item); + } + } else { + personnelList.add(item); + } + } else { + personnelList.add(item); + } + } + } + Boolean findFlag = false; + for (Dictionaries temp : personnelList) { + if (Tools.notEmpty(student.getString2("PERSONNEL_TYPE")) && temp.getDICTIONARIES_ID().equals(student.get("PERSONNEL_TYPE"))) { + findFlag = true; + } + } + // 人员类型在列表中没有,则默认值是其他 + if (!findFlag) { + context.put("PERSONNEL_TYPE", "524ea69b62c942c9a080bcf5cdab1da0"); + } else { + context.put("PERSONNEL_TYPE", student.get("PERSONNEL_TYPE")); + } + context.put("personnelTypeList", personnelList); + + File outFile = new File(student.getString2("projectPath") + Const.FILEPATHFILE + "师傅带徒弟实习教育-" + now + ".docx"); + Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), + "utf-8"), 10240); + template.process(context, out); + out.close(); + return student.getString2("projectPath") + Const.FILEPATHFILE + "师傅带徒弟实习教育-" + now + ".docx"; + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + + /** + * 一人一档安全培训考核记录导出word + * + * @throws Exception + */ + @Override + public String safelogword(PageData student, PageData classInfo, List coursewaresList, PageData pd, PageData corpinfo, PageData paper, String now, List personnelTypeList) throws Exception { + try { + File file = new File(student.getString2("projectPath") + Const.FILEPATHWORDTEMPLATE + "safelog.docx"); + InputStream safelog = new FileInputStream(file); + //注册xdocreport实例并加载FreeMarker模板引擎 + IXDocReport report = XDocReportRegistry.getRegistry().loadReport(safelog, TemplateEngineKind.Freemarker); + //创建xdocreport上下文对象 + IContext context = report.createContext(); + + context.put("value1", classInfo.getString2("train_type_name")); //培训类型 + context.put("value2", classInfo.getString2("post_type_name")); //岗位类型 + context.put("value3", student.getString2("FILE_NUMBER")); //档案名称 + context.put("value4", student.getString2("STUDENT_NAME")); //姓名 + context.put("value5", student.getString2("SEX_NAME")); //性别 + context.put("value6", student.getString2("USER_ID_CARD")); //身份证 + context.put("value7", student.getString2("DEGREE_OF_EDUCATION_NAME")); //学历 + context.put("value8", student.getString2("MAJOR")); //专业 + context.put("value9", student.getString2("DEPARTMENT_NAME")); //部门 + context.put("value10", student.getString2("DUTIES_NAME")); //职称 + context.put("value11", student.getString2("TYPE_OF_WORK_NAME")); //工种 + context.put("value12", classInfo.getString2("INDUSTRY_ALL_NAME")); //行业类别 + context.put("value13", student.getString2("PHONE")); //联系电话 + context.put("value14", student.getString2("PERSONNEL_TYPE_NAME")); // 人员类型 + context.put("value15", student.getString2("STAGEEXAMSCORE")); // 考试成绩 + + List list = new ArrayList<>(); //一共多少航 + for (int i = 0; i < coursewaresList.size(); i++) { //安全培训及考核实施情况 + TrainingPlanDao trainingPlanDao = new TrainingPlanDao(); //每行的内容实体类 + trainingPlanDao.setValue1(String.valueOf(i + 1)); //序号 + String start_time = classInfo.getString2("PEIXUE_START_TIME"); + String end_time = classInfo.getString2("PEIXUE_END_TIME"); + //考试班级,培训已完成状态,培训开始日是班级考试结束日期 + if ("3".equals(student.getString2("STAGEEXAMSTATE"))) { + end_time = student.getString2("EXAMTIMEEND").substring(0, 10); + } + trainingPlanDao.setValue2(start_time + "至" + end_time); + trainingPlanDao.setValue3("文旅安全平台"); //课时 + trainingPlanDao.setValue4(coursewaresList.get(i).getString2("COURSEWARENAME")); //主要内容 + DecimalFormat df = new DecimalFormat("0.0"); //保留一位小数 + Double hour = (Double) coursewaresList.get(i).get("CLASSHOUR"); + trainingPlanDao.setValue5(hour == 0.0 ? "0" : df.format(hour) + "分钟"); //学时 + trainingPlanDao.setValue6(coursewaresList.get(i).getString2("SPEAKER")); //教师 + list.add(trainingPlanDao); + } + context.put("list", list); + + FieldsMetadata fm = report.createFieldsMetadata(); + //Word模板中的表格数据对应的集合类型 + fm.load("list", TrainingPlanDao.class, true); + FileOutputStream out = new FileOutputStream(new File(student.getString2("projectPath") + Const.FILEPATHFILE + "安全培训考核记录详情-" + now + ".docx")); + report.process(context, out); + out.close(); + return student.getString2("projectPath") + Const.FILEPATHFILE + "安全培训考核记录详情-" + now + ".docx"; + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + + /** + * 一人一档详情试卷导出word + * + * @throws Exception + */ + @Override + public String papermword(PageData student, PageData classInfo, PageData corpinfo, PageData paper, String now) throws Exception { + try { + File file = new File(student.getString2("projectPath") + Const.FILEPATHWORDTEMPLATE + "exam.docx"); + InputStream mbwj = new FileInputStream(file); + //注册xdocreport实例并加载FreeMarker模板引擎 + IXDocReport report = XDocReportRegistry.getRegistry().loadReport(mbwj, TemplateEngineKind.Freemarker); + //创建xdocreport上下文对象 + IContext context = report.createContext(); + + context.put("value17", classInfo.getString2("STUDY_NAME")); //班级名称 + context.put("value18", student.getString2("STUDENT_NAME")); //学生姓名 + + if (paper != null) { + PageData stageexampaperData = (PageData)paper.get("stageexampaperData"); + context.put("value14", classInfo.getString2("STUDY_NAME")); //班级名称 + context.put("value15", stageexampaperData.getString2("EXAMNAME")); //试卷名称 + context.put("value16", stageexampaperData.getString2("EXAMSCORE")); //满分 + if (!Tools.isEmpty(stageexampaperData.get( "CREATTIME"))) { + SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd"); //日期格式 + stageexampaperData.put("CREATTIME", stageexampaperData.getString2("CREATTIME")); + } + context.put("value19", !Tools.isEmpty(paper.get("EXAMTIMEBEGIN")) ? paper.getString2("EXAMTIMEBEGIN") : "未参加考试"); //考试时间 + context.put("value20", paper.getString2("EXAMSCORE")); //考试成绩 + if (paper.get("QUESTIONLIST") != null) { + ArrayList arr = (ArrayList) paper.get("QUESTIONLIST"); + List list1 = new ArrayList<>(); //一共多少航 + for (int i = 0; i < arr.size(); i++) { + PageData p = (PageData) arr.get(i); + TrainingPlanDao trainingPlanDao = new TrainingPlanDao(); //每行的内容实体类 + if ("1".equals(p.getString2("QUESTIONTYPE"))) { + trainingPlanDao.setValue1("单选题"); + trainingPlanDao.setValue5("A: " + p.getString2("OPTIONA")); //A选项 + trainingPlanDao.setValue6("B: " + p.getString2("OPTIONB")); //B选项 + trainingPlanDao.setValue7("C: " + p.getString2("OPTIONC")); //C选项 + trainingPlanDao.setValue8("D: " + p.getString2("OPTIOND")); //D选项 + } else if ("2".equals(p.getString2("QUESTIONTYPE"))) { + trainingPlanDao.setValue1("多选题"); + trainingPlanDao.setValue5("A: " + p.getString2("OPTIONA")); //A选项 + trainingPlanDao.setValue6("B: " + p.getString2("OPTIONB")); //B选项 + trainingPlanDao.setValue7("C: " + p.getString2("OPTIONC")); //C选项 + trainingPlanDao.setValue8("D: " + p.getString2("OPTIOND")); //D选项 + } else if ("3".equals(p.getString2("QUESTIONTYPE"))) { + trainingPlanDao.setValue1("判断题"); + trainingPlanDao.setValue5("A: " + p.getString2("OPTIONA")); //A选项 + trainingPlanDao.setValue6("B: " + p.getString2("OPTIONB")); //B选项 + trainingPlanDao.setValue7(""); //C选项 + trainingPlanDao.setValue8(""); // + } else { + trainingPlanDao.setValue1("填空题"); + trainingPlanDao.setValue5(""); //A选项 + trainingPlanDao.setValue6(""); //B选项 + trainingPlanDao.setValue7(""); //C选项 + trainingPlanDao.setValue8(""); //D选项 + } + trainingPlanDao.setValue2(String.valueOf(i + 1)); //序号 + trainingPlanDao.setValue3(p.getString2("QUESTIONDRY")); //题目 + trainingPlanDao.setValue4(p.getString2("QUESTIONSCORE")); //题目分值 + trainingPlanDao.setValue9(Tools.notEmpty(p.getString2("ANSWER")) ? p.getString2("ANSWER") : ""); //学员答案 + trainingPlanDao.setValue10(Tools.notEmpty(p.getString2("ANSWERRIGHT")) ? p.getString2("ANSWERRIGHT") : ""); //参考答案 + trainingPlanDao.setValue11(Tools.isEmpty(p.getString2("DESCR")) ? "" : p.getString2("DESCR")); //答案解析 + + list1.add(trainingPlanDao); + } + context.put("list1", list1); + } + } else { + context.put("value16", ""); //满分 + context.put("value19", ""); //考试时间 + context.put("value20", ""); //考试成绩 + context.put("list1", new ArrayList<>()); + } + + FieldsMetadata fm = report.createFieldsMetadata(); + // word模板中图片标签对应关系 pic---word模板中图片标签 item-- word模板中图片列表的遍历项,即模板中«@before-row[#list list2 as item]» 的item item.pic中的pic 为 后台实体类的图片字段名 + fm.addFieldAsImage("pic", "pic", NullImageBehaviour.RemoveImageTemplate); + fm.addFieldAsImage("pic2", "pic2", NullImageBehaviour.RemoveImageTemplate); + fm.addFieldAsImage("pic3", "pic3", NullImageBehaviour.RemoveImageTemplate); + //Word模板中的表格数据对应的集合类型 + fm.load("list1", TrainingPlanDao.class, true); + //输出到本地目录 + FileOutputStream out = new FileOutputStream(new File(student.getString2("projectPath") + Const.FILEPATHFILE + "考卷详情-" + now + ".docx")); + report.process(context, out); + out.close(); + return student.getString2("projectPath") + Const.FILEPATHFILE + "考卷详情-" + now + ".docx"; + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + + /** + * 培训日程安排通知(也可称为培训计划) + * @param pd + * @param tsList + * @return + * @throws Exception + */ + @Override + public File exportPdfTrainingSchedule(PageData pd,List tsList) throws Exception { + File pdf = null; + String projectPath = pd.getString2("projectPath"); + String now = DateUtil.getSdfTimesSSS(); + File file = new File(projectPath + Const.FILEPATHWORDTEMPLATE + "trainingSchedule.docx"); + InputStream mbwj = new FileInputStream(file); + //注册xdocreport实例并加载FreeMarker模板引擎 + IXDocReport report = XDocReportRegistry.getRegistry().loadReport(mbwj, TemplateEngineKind.Freemarker); + //创建xdocreport上下文对象 + IContext context = report.createContext(); + context.put("value1", pd.getString2("CORP_NAME").trim()); // 姓名 + + List list1 = new ArrayList<>(); //一共多少航 + for (int i = 0; i < tsList.size(); i++) { + TrainingPlanDao trainingPlanDao = new TrainingPlanDao(); //每行的内容实体类 + trainingPlanDao.setValue1(String.valueOf(i + 1)); //序号 + trainingPlanDao.setValue2(tsList.get(i).getString2("ORGANIZATION_DEPARTMENT")); //培训组织部门 + trainingPlanDao.setValue3(tsList.get(i).getString2("TRAINING_DATE")); //培训日期 + trainingPlanDao.setValue4(tsList.get(i).getString2("TRAINING_TIME")); //培训时间 + trainingPlanDao.setValue5(tsList.get(i).getString2("TRAINING_CONTENT")); //培训内容 + trainingPlanDao.setValue6(tsList.get(i).getString2("TRAINING_METHODS")); //培训方式 + trainingPlanDao.setValue7(tsList.get(i).getString2("TRAINING_OBJECT")); //培训对象 + trainingPlanDao.setValue8(tsList.get(i).getString2("ASSESSMENT_METHOD")); //考核方式 + trainingPlanDao.setValue9(tsList.get(i).getString2("PLACE")); //地点 + trainingPlanDao.setValue10(tsList.get(i).getString2("TRAINING_TEACHER")); //培训教师 + trainingPlanDao.setValue11(tsList.get(i).getString2("FUND_GUARANTEE")); //经费保障 + trainingPlanDao.setValue12(tsList.get(i).getString2("QUALITY_ASSESSMENT")); //质量评估 + list1.add(trainingPlanDao); + } + context.put("list1", list1); + + FieldsMetadata fm = report.createFieldsMetadata(); + // word模板中图片标签对应关系 pic---word模板中图片标签 item-- word模板中图片列表的遍历项,即模板中«@before-row[#list list2 as item]» 的item item.pic中的pic 为 后台实体类的图片字段名 + fm.addFieldAsImage("pic", "pic", NullImageBehaviour.RemoveImageTemplate); + //Word模板中的表格数据对应的集合类型 + fm.load("list1", TrainingPlanDao.class, true); + String name = "培训日程安排通知(也可称为培训计划)"; + FileOutputStream out = new FileOutputStream( + new File( + projectPath + Const.FILEPATHFILE + name + now + ".docx" + )); + report.process(context, out); + WordToPdfUtil.docToPdf( + projectPath + Const.FILEPATHFILE + name + now + ".docx", + projectPath + Const.FILEPATHFILE + name + now + ".pdf"); + File word = new File(projectPath + Const.FILEPATHFILE + name + now + ".docx"); + word.delete(); + pdf = new File(projectPath + Const.FILEPATHFILE + name + now + ".pdf"); + return pdf; + } + + /** + * 安全培训教材或课程讲义 + * @param pd + * @param list + * @return + * @throws Exception + */ + @Override + public File exportPdfCourseware(PageData pd, List list) throws Exception { + File pdf = null; + String projectPath = pd.getString2("projectPath"); + String now = DateUtil.getSdfTimesSSS(); + File file = new File(projectPath + Const.FILEPATHWORDTEMPLATE + "courseware.docx"); + InputStream mbwj = new FileInputStream(file); + //注册xdocreport实例并加载FreeMarker模板引擎 + IXDocReport report = XDocReportRegistry.getRegistry().loadReport(mbwj, TemplateEngineKind.Freemarker); + //创建xdocreport上下文对象 + IContext context = report.createContext(); + context.put("value1", pd.getString2("CORP_NAME").trim()); // 姓名 + + List list1 = new ArrayList<>(); //一共多少航 + for (int i = 0; i < list.size(); i++) { + TrainingPlanDao trainingPlanDao = new TrainingPlanDao(); //每行的内容实体类 + trainingPlanDao.setValue1(list.get(i).getString2("COURSEWARENAME")); //课件名称 + trainingPlanDao.setValue2(list.get(i).getString2("SPEAKER")); //讲师 + trainingPlanDao.setValue3(list.get(i).getString2("COURSEWAREINTRODUCE")); //课件描述 + list1.add(trainingPlanDao); + } + context.put("list1", list1); + + FieldsMetadata fm = report.createFieldsMetadata(); + // word模板中图片标签对应关系 pic---word模板中图片标签 item-- word模板中图片列表的遍历项,即模板中«@before-row[#list list2 as item]» 的item item.pic中的pic 为 后台实体类的图片字段名 + fm.addFieldAsImage("pic", "pic", NullImageBehaviour.RemoveImageTemplate); + //Word模板中的表格数据对应的集合类型 + fm.load("list1", TrainingPlanDao.class, true); + String name = "安全培训教材或课程讲义"; + FileOutputStream out = new FileOutputStream( + new File( + projectPath + Const.FILEPATHFILE + name + now + ".docx" + )); + report.process(context, out); + WordToPdfUtil.docToPdf( + projectPath + Const.FILEPATHFILE + name + now + ".docx", + projectPath + Const.FILEPATHFILE + name + now + ".pdf"); + File word = new File(projectPath + Const.FILEPATHFILE + name + now + ".docx"); + word.delete(); + pdf = new File(projectPath + Const.FILEPATHFILE + name + now + ".pdf"); + return pdf; + } + + @Override + public File exportPdfStudyTask(PageData task, List coursewaresList, List stuList) throws Exception { + File pdf = null; + String projectPath = task.getString2("projectPath"); + String now = DateUtil.getSdfTimesSSS(); + File file = new File(projectPath + Const.FILEPATHWORDTEMPLATE + "archivesStudyTask.docx"); + InputStream mbwj = new FileInputStream(file); + //注册xdocreport实例并加载FreeMarker模板引擎 + IXDocReport report = XDocReportRegistry.getRegistry().loadReport(mbwj, TemplateEngineKind.Freemarker); + //创建xdocreport上下文对象 + Double classHours = 0.0; + String speaker = "",coursewares = ""; + for (int i = 0; i < coursewaresList.size(); i++) { + classHours += (Double) coursewaresList.get(i).get("CLASSHOUR"); + speaker += Tools.isEmpty(coursewaresList.get(i).get("SPEAKER")) ? "" : (coursewaresList.get(i).getString2("SPEAKER")+";"); + coursewares += Tools.isEmpty(coursewaresList.get(i).get("COURSEWARENAME")) ? "" : (coursewaresList.get(i).getString2("COURSEWARENAME")+";"); + } + DecimalFormat df = new DecimalFormat("0.0"); //保留一位小数 + IContext context = report.createContext(); + context.put("value1", task.getString2("CREATTIME")); + context.put("value2", ""); + context.put("value3", stuList.size()+""); + context.put("value4", classHours == 0.0 ? "0" : df.format(classHours) + "分钟"); + context.put("value5", ""); + context.put("value6", speaker.length() == 0 ? speaker : speaker.substring(0, speaker.length()-1)); + context.put("value7", coursewares.length() == 0 ? coursewares : coursewares.substring(0, coursewares.length()-1)); + + List list = new ArrayList<>(); //一共多少航 + for (int i = 0; i < stuList.size(); i++) { + TrainingPlanDao trainingPlanDao = new TrainingPlanDao(); //每行的内容实体类 + trainingPlanDao.setValue1((i+1)+""); //课件名称 + trainingPlanDao.setValue2(stuList.get(i).getString2("DEPARTMENT_NAME")); //部门 + trainingPlanDao.setValue3(stuList.get(i).getString2("STUDENT_NAME")); //姓名 + list.add(trainingPlanDao); + } + context.put("list", list); + + FieldsMetadata fm = report.createFieldsMetadata(); + // word模板中图片标签对应关系 pic---word模板中图片标签 item-- word模板中图片列表的遍历项,即模板中«@before-row[#list list2 as item]» 的item item.pic中的pic 为 后台实体类的图片字段名 + fm.addFieldAsImage("pic", "pic", NullImageBehaviour.RemoveImageTemplate); + //Word模板中的表格数据对应的集合类型 + fm.load("list", TrainingPlanDao.class, true); + String name = "安全培训教育记录及签字表"; + FileOutputStream out = new FileOutputStream( + new File( + projectPath + Const.FILEPATHFILE + name + now + ".docx" + )); + report.process(context, out); + WordToPdfUtil.docToPdf( + projectPath + Const.FILEPATHFILE + name + now + ".docx", + projectPath + Const.FILEPATHFILE + name + now + ".pdf"); + File word = new File(projectPath + Const.FILEPATHFILE + name + now + ".docx"); + word.delete(); + pdf = new File(projectPath + Const.FILEPATHFILE + name + now + ".pdf"); + return pdf; + } + + /** + * 培训考核试卷 + * + * @throws Exception + */ + @Override + public File exportPdfExamPaper(PageData task, PageData paper, List questionList) throws Exception { + File pdf = null; + String projectPath = task.getString2("projectPath"); + String now = DateUtil.getSdfTimesSSS(); + File file = new File(task.getString2("projectPath") + Const.FILEPATHWORDTEMPLATE + "archivesExam.docx"); + InputStream mbwj = new FileInputStream(file); + //注册xdocreport实例并加载FreeMarker模板引擎 + IXDocReport report = XDocReportRegistry.getRegistry().loadReport(mbwj, TemplateEngineKind.Freemarker); + //创建xdocreport上下文对象 + IContext context = report.createContext(); + + context.put("value1", task.getString2("CORP_NAME")); //班级名称 + context.put("value2", task.getString2("STUDY_NAME")); //班级名称 + context.put("value3", paper.getString2("EXAMNAME")); //试卷名称 + context.put("value4", Tools.isEmpty(paper.getString2("EXAMSCORE")) ? "0" : paper.getString2("EXAMSCORE")); //满分 + + List list1 = new ArrayList<>(); //一共多少航 + for (int i = 0; i < questionList.size(); i++) { + PageData p = questionList.get(i); + TrainingPlanDao trainingPlanDao = new TrainingPlanDao(); //每行的内容实体类 + if ("1".equals(p.getString2("QUESTIONTYPE"))) { + trainingPlanDao.setValue1("单选题"); + trainingPlanDao.setValue5("A: " + p.getString2("OPTIONA")); //A选项 + trainingPlanDao.setValue6("B: " + p.getString2("OPTIONB")); //B选项 + trainingPlanDao.setValue7("C: " + p.getString2("OPTIONC")); //C选项 + trainingPlanDao.setValue8("D: " + p.getString2("OPTIOND")); //D选项 + } else if ("2".equals(p.getString2("QUESTIONTYPE"))) { + trainingPlanDao.setValue1("多选题"); + trainingPlanDao.setValue5("A: " + p.getString2("OPTIONA")); //A选项 + trainingPlanDao.setValue6("B: " + p.getString2("OPTIONB")); //B选项 + trainingPlanDao.setValue7("C: " + p.getString2("OPTIONC")); //C选项 + trainingPlanDao.setValue8("D: " + p.getString2("OPTIOND")); //D选项 + } else if ("3".equals(p.getString2("QUESTIONTYPE"))) { + trainingPlanDao.setValue1("判断题"); + trainingPlanDao.setValue5("A: " + p.getString2("OPTIONA")); //A选项 + trainingPlanDao.setValue6("B: " + p.getString2("OPTIONB")); //B选项 + trainingPlanDao.setValue7(""); //C选项 + trainingPlanDao.setValue8(""); // + } else { + trainingPlanDao.setValue1("填空题"); + trainingPlanDao.setValue5(""); //A选项 + trainingPlanDao.setValue6(""); //B选项 + trainingPlanDao.setValue7(""); //C选项 + trainingPlanDao.setValue8(""); //D选项 + } + trainingPlanDao.setValue2(String.valueOf(i + 1)); //序号 + trainingPlanDao.setValue3(p.getString2("QUESTIONDRY")); //题目 + trainingPlanDao.setValue4(p.getString2("QUESTIONSCORE")); //题目分值 +// trainingPlanDao.setValue9(Tools.notEmpty(p.getString2("ANSWER")) ? p.getString2("ANSWER") : ""); //学员答案 +// trainingPlanDao.setValue10(Tools.notEmpty(p.getString2("ANSWERRIGHT")) ? p.getString2("ANSWERRIGHT") : ""); //参考答案 +// trainingPlanDao.setValue11(Tools.isEmpty(p.getString2("DESCR")) ? "" : p.getString2("DESCR")); //答案解析 + + list1.add(trainingPlanDao); + } + context.put("list1", list1); + + FieldsMetadata fm = report.createFieldsMetadata(); + // word模板中图片标签对应关系 pic---word模板中图片标签 item-- word模板中图片列表的遍历项,即模板中«@before-row[#list list2 as item]» 的item item.pic中的pic 为 后台实体类的图片字段名 + fm.addFieldAsImage("pic", "pic", NullImageBehaviour.RemoveImageTemplate); + //Word模板中的表格数据对应的集合类型 + fm.load("list1", TrainingPlanDao.class, true); + String name = "培训考核试卷"; + FileOutputStream out = new FileOutputStream( + new File( + projectPath + Const.FILEPATHFILE + name + now + ".docx" + )); + report.process(context, out); + WordToPdfUtil.docToPdf( + projectPath + Const.FILEPATHFILE + name + now + ".docx", + projectPath + Const.FILEPATHFILE + name + now + ".pdf"); + File word = new File(projectPath + Const.FILEPATHFILE + name + now + ".docx"); + word.delete(); + pdf = new File(projectPath + Const.FILEPATHFILE + name + now + ".pdf"); + return pdf; + } + + /** + * 学员考核成绩统计表 + * + * @throws Exception + */ + @Override + public File exportPdfArchivesStudentScore(PageData task, List coursewaresList, List stuList) throws Exception { + File pdf = null; + String projectPath = task.getString2("projectPath"); + String now = DateUtil.getSdfTimesSSS(); + File file = new File(task.getString2("projectPath") + Const.FILEPATHWORDTEMPLATE + "archivesStudentScore.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日"); + context.put("value1", formatdate.format(new Date())); + context.put("value2", task.getString2("CORP_NAME")); + context.put("value3", task.getString2("STUDY_NAME")); + context.put("value4", task.getString2("PEIXUE_START_TIME") + " 至 " + task.getString2("PEIXUE_END_TIME")); + Double sum = 0.0; + Double classHourVideo = 0.0, classHourData = 0.0; + int countVideo = 0, countData = 0; + for (int j = 0; j < coursewaresList.size(); j++) { + Double CLASSHOUR = (double) coursewaresList.get(j).get("CLASSHOUR"); + if ("1".equals(coursewaresList.get(j).get("COURSEWARETYPE"))) { + countVideo++; + classHourVideo+=CLASSHOUR; + } else if ("2".equals(coursewaresList.get(j).get("COURSEWARETYPE"))) { + countData++; + classHourData+=CLASSHOUR; + } + } + + context.put("value5", String.valueOf(classHourVideo + classHourData)); //试卷名称 + List passList = stuList.stream().filter(item -> Double.parseDouble(item.getString2("STAGEEXAMSCORE")) >= Double.parseDouble(item.getString2("PASSSCORE"))).collect(Collectors.toList()); + List failList = stuList.stream().filter(item -> Double.parseDouble(item.getString2("STAGEEXAMSCORE")) < Double.parseDouble(item.getString2("PASSSCORE"))).collect(Collectors.toList()); + context.put("value6", stuList.size()); //合格人数 + context.put("value7", passList.size()); //合格人数 + + List list1 = new ArrayList<>(); //一共多少航 + for (int i = 0; i < passList.size(); i++) { + PageData p = passList.get(i); + TrainingPlanDao trainingPlanDao = new TrainingPlanDao(); //每行的内容实体类 + trainingPlanDao.setValue1(String.valueOf(i + 1)); + trainingPlanDao.setValue2(p.getString2("STUDENT_NAME")); + trainingPlanDao.setValue3(p.getString2("USER_ID_CARD")); + trainingPlanDao.setValue4(p.getString2("PHONE")); + trainingPlanDao.setValue5(p.getString2("SEX_NAME")); + trainingPlanDao.setValue6(p.getString2("COMPLETE_CLASSHOUR")); + trainingPlanDao.setValue7(p.getString2("STAGEEXAMSCORE")); + + list1.add(trainingPlanDao); + } + context.put("list1", list1); + + List list2 = new ArrayList<>(); //一共多少航 + for (int i = 0; i < failList.size(); i++) { + PageData p = failList.get(i); + TrainingPlanDao trainingPlanDao = new TrainingPlanDao(); //每行的内容实体类 + trainingPlanDao.setValue1(String.valueOf(i + 1)); + trainingPlanDao.setValue2(p.getString2("STUDENT_NAME")); + trainingPlanDao.setValue3(p.getString2("USER_ID_CARD")); + trainingPlanDao.setValue4(p.getString2("PHONE")); + trainingPlanDao.setValue5(p.getString2("SEX_NAME")); + trainingPlanDao.setValue6(p.getString2("COMPLETE_CLASSHOUR")); + trainingPlanDao.setValue7(p.getString2("STAGEEXAMSCORE")); + + list2.add(trainingPlanDao); + } + context.put("list2", list2); + + FieldsMetadata fm = report.createFieldsMetadata(); + // word模板中图片标签对应关系 pic---word模板中图片标签 item-- word模板中图片列表的遍历项,即模板中«@before-row[#list list2 as item]» 的item item.pic中的pic 为 后台实体类的图片字段名 + fm.addFieldAsImage("pic", "pic", NullImageBehaviour.RemoveImageTemplate); + //Word模板中的表格数据对应的集合类型 + fm.load("list1", TrainingPlanDao.class, true); + fm.load("list2", TrainingPlanDao.class, true); + String name = "学员考核成绩统计表"; + FileOutputStream out = new FileOutputStream( + new File( + projectPath + Const.FILEPATHFILE + name + now + ".docx" + )); + report.process(context, out); + WordToPdfUtil.docToPdf( + projectPath + Const.FILEPATHFILE + name + now + ".docx", + projectPath + Const.FILEPATHFILE + name + now + ".pdf"); + File word = new File(projectPath + Const.FILEPATHFILE + name + now + ".docx"); + word.delete(); + pdf = new File(projectPath + Const.FILEPATHFILE + name + now + ".pdf"); + return pdf; + } + + /** + * 学员考核成绩统计表 + * + * @throws Exception + */ + @Override + public File exportPdfArchivesReport(PageData task, List curList, List stuList) throws Exception { + File pdf = null; + String projectPath = task.getString2("projectPath"); + String now = DateUtil.getSdfTimesSSS(); + File file = new File(task.getString2("projectPath") + Const.FILEPATHWORDTEMPLATE + "archivesReport.docx"); + InputStream mbwj = new FileInputStream(file); + //注册xdocreport实例并加载FreeMarker模板引擎 + IXDocReport report = XDocReportRegistry.getRegistry().loadReport(mbwj, TemplateEngineKind.Freemarker); + //创建xdocreport上下文对象 + IContext context = report.createContext(); + + context.put("value1", task.getString2("STUDY_NAME")); + context.put("value2", task.getString2("STUDY_NAME")); + + context.put("value3", ""); + context.put("value4", task.getString2("PEIXUE_END_TIME")); + context.put("value5", "线上考核"); //培训科目 + StringBuffer currnames = new StringBuffer(); + for (PageData curname : curList) { + currnames.append(curname.get("CURRICULUMNAME")).append(","); + } + context.put("value6", currnames.substring(0, currnames.length() - 1)); //培训科目 + List noneList = stuList.stream().filter(item -> "4".equals(item.getString2("STAGEEXAMSTATE"))).collect(Collectors.toList()); + List passList = stuList.stream().filter(item -> Double.parseDouble(item.getString2("STAGEEXAMSCORE")) >= Double.parseDouble(item.getString2("PASSSCORE"))).collect(Collectors.toList()); + context.put("value7", stuList.size()); + int joinCount = stuList.size()-noneList.size(); + context.put("value8", joinCount); + String joinRate = "0%"; + if (stuList.size() > 0) { + double result = (double) joinCount / stuList.size() * 100; // 2.5 + DecimalFormat df = new DecimalFormat("#.##"); // 保留最多2位小数,自动去掉末尾0 + joinRate = df.format(result) + "%"; + } + context.put("value9", joinRate); + context.put("value10", stuList.size()); + context.put("value11", passList.size()); + String passRate = "0%"; + if (stuList.size() > 0) { + double result = (double) passList.size() / stuList.size() * 100; + DecimalFormat df = new DecimalFormat("#.##"); // 保留最多2位小数,自动去掉末尾0 + passRate = df.format(result) + "%"; + } + context.put("value12", passRate); + context.put("value13", ""); + context.put("value14", ""); + + FieldsMetadata fm = report.createFieldsMetadata(); + // word模板中图片标签对应关系 pic---word模板中图片标签 item-- word模板中图片列表的遍历项,即模板中«@before-row[#list list2 as item]» 的item item.pic中的pic 为 后台实体类的图片字段名 + fm.addFieldAsImage("pic", "pic", NullImageBehaviour.RemoveImageTemplate); + String name = "培训综合考评报告"; + FileOutputStream out = new FileOutputStream( + new File( + projectPath + Const.FILEPATHFILE + name + now + ".docx" + )); + report.process(context, out); + WordToPdfUtil.docToPdf( + projectPath + Const.FILEPATHFILE + name + now + ".docx", + projectPath + Const.FILEPATHFILE + name + now + ".pdf"); + File word = new File(projectPath + Const.FILEPATHFILE + name + now + ".docx"); + word.delete(); + pdf = new File(projectPath + Const.FILEPATHFILE + name + now + ".pdf"); + return pdf; + } + + @Override + public File exportPdfArchivesPostMant(PageData corp, List archivesPostManList) throws Exception { + File pdf = null; + String projectPath = corp.getString2("projectPath"); + String now = DateUtil.getSdfTimesSSS(); + File file = new File(corp.getString2("projectPath") + Const.FILEPATHWORDTEMPLATE + "archivesPostMan.docx"); + InputStream mbwj = new FileInputStream(file); + //注册xdocreport实例并加载FreeMarker模板引擎 + IXDocReport report = XDocReportRegistry.getRegistry().loadReport(mbwj, TemplateEngineKind.Freemarker); + //创建xdocreport上下文对象 + IContext context = report.createContext(); + + context.put("value1", corp.getString2("CORP_NAME")); + + List list1 = new ArrayList<>(); //一共多少航 + for (int i = 0; i < archivesPostManList.size(); i++) { + PageData p = archivesPostManList.get(i); + TrainingPlanDao trainingPlanDao = new TrainingPlanDao(); //每行的内容实体类 + trainingPlanDao.setValue1(String.valueOf(i + 1)); + trainingPlanDao.setValue2(p.getString2("NAME")); + trainingPlanDao.setValue3(p.getString2("POST")); + trainingPlanDao.setValue4(p.getString2("PHONE")); + trainingPlanDao.setValue5(p.getString2("CARD_ID")); + trainingPlanDao.setValue6(p.getString2("EFFECTIVE_DATE")); + trainingPlanDao.setValue7(p.getString2("RETRAINING")); + trainingPlanDao.setValue8(p.getString2("YEAR")); + + list1.add(trainingPlanDao); + } + context.put("list1", list1); + + FieldsMetadata fm = report.createFieldsMetadata(); + // word模板中图片标签对应关系 pic---word模板中图片标签 item-- word模板中图片列表的遍历项,即模板中«@before-row[#list list2 as item]» 的item item.pic中的pic 为 后台实体类的图片字段名 + fm.addFieldAsImage("pic", "pic", NullImageBehaviour.RemoveImageTemplate); + //Word模板中的表格数据对应的集合类型 + fm.load("list1", TrainingPlanDao.class, true); + String name = "三岗人员管理台账"; + FileOutputStream out = new FileOutputStream( + new File( + projectPath + Const.FILEPATHFILE + name + now + ".docx" + )); + report.process(context, out); + WordToPdfUtil.docToPdf( + projectPath + Const.FILEPATHFILE + name + now + ".docx", + projectPath + Const.FILEPATHFILE + name + now + ".pdf"); + File word = new File(projectPath + Const.FILEPATHFILE + name + now + ".docx"); + word.delete(); + pdf = new File(projectPath + Const.FILEPATHFILE + name + now + ".pdf"); + return pdf; + } + + @Override + public File exportPdfArchivesTeacher(PageData corp, List archivesTeacherList) throws Exception { + File pdf = null; + String projectPath = corp.getString2("projectPath"); + String now = DateUtil.getSdfTimesSSS(); + File file = new File(corp.getString2("projectPath") + Const.FILEPATHWORDTEMPLATE + "archivesTeacher.docx"); + InputStream mbwj = new FileInputStream(file); + //注册xdocreport实例并加载FreeMarker模板引擎 + IXDocReport report = XDocReportRegistry.getRegistry().loadReport(mbwj, TemplateEngineKind.Freemarker); + //创建xdocreport上下文对象 + IContext context = report.createContext(); + + context.put("value1", corp.getString2("CORP_NAME")); + + List list1 = new ArrayList<>(); //一共多少航 + for (int i = 0; i < archivesTeacherList.size(); i++) { + PageData p = archivesTeacherList.get(i); + TrainingPlanDao trainingPlanDao = new TrainingPlanDao(); //每行的内容实体类 + trainingPlanDao.setValue1(String.valueOf(i + 1)); + trainingPlanDao.setValue2(p.getString2("NAME")); + trainingPlanDao.setValue3(p.getString2("PHONE")); + trainingPlanDao.setValue4(p.getString2("WORK_YEAR")); + trainingPlanDao.setValue5(p.getString2("OCCUPATION")); + trainingPlanDao.setValue6(p.getString2("CARD_ID")); + trainingPlanDao.setValue7(p.getString2("ASSESSMENT_DEPT")); + trainingPlanDao.setValue8(p.getString2("ASSESSMENT_DATE")); + trainingPlanDao.setValue9(p.getString2("ASSESSMENT_RESULT")); + trainingPlanDao.setValue10(p.getString2("DESCR")); + trainingPlanDao.setValue11(p.getString2("YEAR")); + + list1.add(trainingPlanDao); + } + context.put("list1", list1); + + FieldsMetadata fm = report.createFieldsMetadata(); + // word模板中图片标签对应关系 pic---word模板中图片标签 item-- word模板中图片列表的遍历项,即模板中«@before-row[#list list2 as item]» 的item item.pic中的pic 为 后台实体类的图片字段名 + fm.addFieldAsImage("pic", "pic", NullImageBehaviour.RemoveImageTemplate); + //Word模板中的表格数据对应的集合类型 + fm.load("list1", TrainingPlanDao.class, true); + String name = "本单位师资管理台账"; + FileOutputStream out = new FileOutputStream( + new File( + projectPath + Const.FILEPATHFILE + name + now + ".docx" + )); + report.process(context, out); + WordToPdfUtil.docToPdf( + projectPath + Const.FILEPATHFILE + name + now + ".docx", + projectPath + Const.FILEPATHFILE + name + now + ".pdf"); + File word = new File(projectPath + Const.FILEPATHFILE + name + now + ".docx"); + word.delete(); + pdf = new File(projectPath + Const.FILEPATHFILE + name + now + ".pdf"); + return pdf; + } + + @Override + public File exportPdfArchivesEduPlan(PageData corp, List archivesEduPlanList) throws Exception { + File pdf = null; + String projectPath = corp.getString2("projectPath"); + String now = DateUtil.getSdfTimesSSS(); + File file = new File(corp.getString2("projectPath") + Const.FILEPATHWORDTEMPLATE + "archivesEduPlan.docx"); + InputStream mbwj = new FileInputStream(file); + //注册xdocreport实例并加载FreeMarker模板引擎 + IXDocReport report = XDocReportRegistry.getRegistry().loadReport(mbwj, TemplateEngineKind.Freemarker); + //创建xdocreport上下文对象 + IContext context = report.createContext(); + + context.put("value1", corp.getString2("CORP_NAME")); + + List list1 = new ArrayList<>(); //一共多少航 + for (int i = 0; i < archivesEduPlanList.size(); i++) { + PageData p = archivesEduPlanList.get(i); + TrainingPlanDao trainingPlanDao = new TrainingPlanDao(); //每行的内容实体类 + trainingPlanDao.setValue1(String.valueOf(i + 1)); + trainingPlanDao.setValue2(p.getString2("START_DATE")); + trainingPlanDao.setValue3(p.getString2("END_DATE")); + trainingPlanDao.setValue4(p.getString2("TRAINING_OBJECT")); + trainingPlanDao.setValue5(p.getString2("TRAINING_MATERIALS")); + trainingPlanDao.setValue6(p.getString2("TRAINING_METHODS")); + trainingPlanDao.setValue7(p.getString2("ASSESSMENT_METHOD")); + trainingPlanDao.setValue8(p.getString2("CLASS_HOURS")); + trainingPlanDao.setValue9(p.getString2("PLACE")); + trainingPlanDao.setValue10(p.getString2("TRAINING_TEACHERS")); + trainingPlanDao.setValue11(p.getString2("FUND_GUARANTEE")); + trainingPlanDao.setValue12(p.getString2("QUALITY_ASSESSMENT")); + trainingPlanDao.setValue13(p.getString2("YEAR")); + + list1.add(trainingPlanDao); + } + context.put("list1", list1); + + FieldsMetadata fm = report.createFieldsMetadata(); + // word模板中图片标签对应关系 pic---word模板中图片标签 item-- word模板中图片列表的遍历项,即模板中«@before-row[#list list2 as item]» 的item item.pic中的pic 为 后台实体类的图片字段名 + fm.addFieldAsImage("pic", "pic", NullImageBehaviour.RemoveImageTemplate); + //Word模板中的表格数据对应的集合类型 + fm.load("list1", TrainingPlanDao.class, true); + String name = "安全培训教育计划"; + FileOutputStream out = new FileOutputStream( + new File( + projectPath + Const.FILEPATHFILE + name + now + ".docx" + )); + report.process(context, out); + WordToPdfUtil.docToPdf( + projectPath + Const.FILEPATHFILE + name + now + ".docx", + projectPath + Const.FILEPATHFILE + name + now + ".pdf"); + File word = new File(projectPath + Const.FILEPATHFILE + name + now + ".docx"); + word.delete(); + pdf = new File(projectPath + Const.FILEPATHFILE + name + now + ".pdf"); + return pdf; + } + + @Override + public File exportPdfArchivesEduManager(PageData corp, List archivesEduManagerList) throws Exception { + File pdf = null; + String projectPath = corp.getString2("projectPath"); + String now = DateUtil.getSdfTimesSSS(); + File file = new File(corp.getString2("projectPath") + Const.FILEPATHWORDTEMPLATE + "archivesEduManager.docx"); + InputStream mbwj = new FileInputStream(file); + //注册xdocreport实例并加载FreeMarker模板引擎 + IXDocReport report = XDocReportRegistry.getRegistry().loadReport(mbwj, TemplateEngineKind.Freemarker); + //创建xdocreport上下文对象 + IContext context = report.createContext(); + + context.put("value1", corp.getString2("CORP_NAME")); + + List list1 = new ArrayList<>(); //一共多少航 + for (int i = 0; i < archivesEduManagerList.size(); i++) { + PageData p = archivesEduManagerList.get(i); + TrainingPlanDao trainingPlanDao = new TrainingPlanDao(); //每行的内容实体类 + trainingPlanDao.setValue1(String.valueOf(i + 1)); + trainingPlanDao.setValue2(p.getString2("TRAINING_DATE")); + trainingPlanDao.setValue3(p.getString2("TRAINING_OBJECT")); + trainingPlanDao.setValue4(p.getString2("TRAINING_TYPE")); + trainingPlanDao.setValue5(p.getString2("TRAINING_CONTENT")); + trainingPlanDao.setValue6(p.getString2("PERSON_NUMBER")); + trainingPlanDao.setValue7(p.getString2("CLASS_HOURS")); + trainingPlanDao.setValue8(p.getString2("TRAINING_PLACE")); + trainingPlanDao.setValue9(p.getString2("TRAINING_TEACHER")); + trainingPlanDao.setValue10(p.getString2("ASSESSMENT_METHOD")); + trainingPlanDao.setValue11(p.getString2("ASSESSMENT")); + trainingPlanDao.setValue12(p.getString2("YEAR")); + + list1.add(trainingPlanDao); + } + context.put("list1", list1); + + FieldsMetadata fm = report.createFieldsMetadata(); + // word模板中图片标签对应关系 pic---word模板中图片标签 item-- word模板中图片列表的遍历项,即模板中«@before-row[#list list2 as item]» 的item item.pic中的pic 为 后台实体类的图片字段名 + fm.addFieldAsImage("pic", "pic", NullImageBehaviour.RemoveImageTemplate); + //Word模板中的表格数据对应的集合类型 + fm.load("list1", TrainingPlanDao.class, true); + String name = "安全培训教育管理台账"; + FileOutputStream out = new FileOutputStream( + new File( + projectPath + Const.FILEPATHFILE + name + now + ".docx" + )); + report.process(context, out); + WordToPdfUtil.docToPdf( + projectPath + Const.FILEPATHFILE + name + now + ".docx", + projectPath + Const.FILEPATHFILE + name + now + ".pdf"); + File word = new File(projectPath + Const.FILEPATHFILE + name + now + ".docx"); + word.delete(); + pdf = new File(projectPath + Const.FILEPATHFILE + name + now + ".pdf"); + return pdf; + } + + @Override + public File exportPdfArchivesCapital(PageData corp, List archivesCapitalList) throws Exception { + File pdf = null; + String projectPath = corp.getString2("projectPath"); + String now = DateUtil.getSdfTimesSSS(); + File file = new File(corp.getString2("projectPath") + Const.FILEPATHWORDTEMPLATE + "archivesCapital.docx"); + InputStream mbwj = new FileInputStream(file); + //注册xdocreport实例并加载FreeMarker模板引擎 + IXDocReport report = XDocReportRegistry.getRegistry().loadReport(mbwj, TemplateEngineKind.Freemarker); + //创建xdocreport上下文对象 + IContext context = report.createContext(); + + context.put("value1", corp.getString2("CORP_NAME")); + + List list1 = new ArrayList<>(); //一共多少航 + for (int i = 0; i < archivesCapitalList.size(); i++) { + PageData p = archivesCapitalList.get(i); + TrainingPlanDao trainingPlanDao = new TrainingPlanDao(); //每行的内容实体类 + trainingPlanDao.setValue1(String.valueOf(i + 1)); + trainingPlanDao.setValue2(p.getString2("DATE")); + trainingPlanDao.setValue3(p.getString2("AMOUNT")); + trainingPlanDao.setValue4(p.getString2("MATERIAL_COST")); + trainingPlanDao.setValue5(p.getString2("TEACHER_COST")); + trainingPlanDao.setValue6(p.getString2("PAPER_COST")); + trainingPlanDao.setValue7(p.getString2("OUTSIDE_COST")); + trainingPlanDao.setValue8(p.getString2("EQUIPMENT_COST")); + trainingPlanDao.setValue9(p.getString2("TRAIN_COST")); + trainingPlanDao.setValue10(p.getString2("ENTRUST_COST")); + trainingPlanDao.setValue11(p.getString2("OTHER_COST")); + trainingPlanDao.setValue12(p.getString2("BALANCE")); + trainingPlanDao.setValue13(p.getString2("YEAR")); + + list1.add(trainingPlanDao); + } + context.put("list1", list1); + + FieldsMetadata fm = report.createFieldsMetadata(); + // word模板中图片标签对应关系 pic---word模板中图片标签 item-- word模板中图片列表的遍历项,即模板中«@before-row[#list list2 as item]» 的item item.pic中的pic 为 后台实体类的图片字段名 + fm.addFieldAsImage("pic", "pic", NullImageBehaviour.RemoveImageTemplate); + //Word模板中的表格数据对应的集合类型 + fm.load("list1", TrainingPlanDao.class, true); + String name = "培训资金提取和使用情况管理台账"; + FileOutputStream out = new FileOutputStream( + new File( + projectPath + Const.FILEPATHFILE + name + now + ".docx" + )); + report.process(context, out); + WordToPdfUtil.docToPdf( + projectPath + Const.FILEPATHFILE + name + now + ".docx", + projectPath + Const.FILEPATHFILE + name + now + ".pdf"); + File word = new File(projectPath + Const.FILEPATHFILE + name + now + ".docx"); + word.delete(); + pdf = new File(projectPath + Const.FILEPATHFILE + name + now + ".pdf"); + return pdf; + } +} + diff --git a/src/main/java/com/zcloud/service/archives/impl/ArchivesEduPlanServiceImpl.java b/src/main/java/com/zcloud/service/archives/impl/ArchivesEduPlanServiceImpl.java new file mode 100644 index 0000000..7f22b7c --- /dev/null +++ b/src/main/java/com/zcloud/service/archives/impl/ArchivesEduPlanServiceImpl.java @@ -0,0 +1,36 @@ +package com.zcloud.service.archives.impl; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import com.zcloud.mapper.dsno2.archives.ArchivesEduPlanMapper; +import com.zcloud.service.archives.ArchivesEduPlanService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 说明:年度安全培训教育计划 + * 作者:luoxiaobao + * 时间:2021-12-16 + * 官网:www.zcloudchina.com + */ +@Service +@Transactional //开启事物 +public class ArchivesEduPlanServiceImpl implements ArchivesEduPlanService{ + + @Autowired + private ArchivesEduPlanMapper archiveseduplanMapper; + + + /**列表(全部) + * @param pd + * @throws Exception + */ + public List listAll(PageData pd)throws Exception{ + return archiveseduplanMapper.listAll(pd); + } + +} + diff --git a/src/main/java/com/zcloud/service/archives/impl/ArchivesFilesServiceImpl.java b/src/main/java/com/zcloud/service/archives/impl/ArchivesFilesServiceImpl.java new file mode 100644 index 0000000..ed18f5c --- /dev/null +++ b/src/main/java/com/zcloud/service/archives/impl/ArchivesFilesServiceImpl.java @@ -0,0 +1,83 @@ +package com.zcloud.service.archives.impl; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import com.zcloud.mapper.dsno2.archives.ArchivesFilesMapper; +import com.zcloud.service.archives.ArchivesFilesService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 说明:档案文件 + * 作者:luoxiaobao + * 时间:2021-12-14 + * 官网:www.zcloudchina.com + */ +@Service +@Transactional //开启事物 +public class ArchivesFilesServiceImpl implements ArchivesFilesService{ + + @Autowired + private ArchivesFilesMapper archivesfilesMapper; + + /**新增 + * @param pd + * @throws Exception + */ + public void save(PageData pd)throws Exception{ + archivesfilesMapper.save(pd); + } + + /**删除 + * @param pd + * @throws Exception + */ + public void delete(PageData pd)throws Exception{ + archivesfilesMapper.delete(pd); + } + + /**修改 + * @param pd + * @throws Exception + */ + public void edit(PageData pd)throws Exception{ + archivesfilesMapper.edit(pd); + } + + /**列表 + * @param page + * @throws Exception + */ + public List list(Page page)throws Exception{ + return archivesfilesMapper.datalistPage(page); + } + + /**列表(全部) + * @param pd + * @throws Exception + */ + public List listAll(PageData pd)throws Exception{ + return archivesfilesMapper.listAll(pd); + } + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + public PageData findById(PageData pd)throws Exception{ + return archivesfilesMapper.findById(pd); + } + + /**批量删除 + * @param ArrayDATA_IDS + * @throws Exception + */ + public void deleteAll(String[] ArrayDATA_IDS)throws Exception{ + archivesfilesMapper.deleteAll(ArrayDATA_IDS); + } + +} + diff --git a/src/main/java/com/zcloud/service/archives/impl/ArchivesPostManServiceImpl.java b/src/main/java/com/zcloud/service/archives/impl/ArchivesPostManServiceImpl.java new file mode 100644 index 0000000..0c55842 --- /dev/null +++ b/src/main/java/com/zcloud/service/archives/impl/ArchivesPostManServiceImpl.java @@ -0,0 +1,35 @@ +package com.zcloud.service.archives.impl; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import com.zcloud.mapper.dsno2.archives.ArchivesPostManMapper; +import com.zcloud.service.archives.ArchivesPostManService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 说明:三岗人员管理台账 + * 作者:luoxiaobao + * 时间:2021-12-15 + * 官网:www.zcloudchina.com + */ +@Service +@Transactional //开启事物 +public class ArchivesPostManServiceImpl implements ArchivesPostManService{ + + @Autowired + private ArchivesPostManMapper archivesPostManMapper; + + /**列表(全部) + * @param pd + * @throws Exception + */ + public List listAll(PageData pd)throws Exception{ + return archivesPostManMapper.listAll(pd); + } + +} + diff --git a/src/main/java/com/zcloud/service/archives/impl/ArchivesTeacherServiceImpl.java b/src/main/java/com/zcloud/service/archives/impl/ArchivesTeacherServiceImpl.java new file mode 100644 index 0000000..83b02ba --- /dev/null +++ b/src/main/java/com/zcloud/service/archives/impl/ArchivesTeacherServiceImpl.java @@ -0,0 +1,35 @@ +package com.zcloud.service.archives.impl; + +import com.zcloud.entity.PageData; +import com.zcloud.mapper.dsno2.archives.ArchivesTeacherMapper; +import com.zcloud.service.archives.ArchivesTeacherService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 说明:本单位师资管理台账 + * 作者:luoxiaobao + * 时间:2021-12-16 + * 官网:www.zcloudchina.com + */ +@Service +@Transactional //开启事物 +public class ArchivesTeacherServiceImpl implements ArchivesTeacherService{ + + @Autowired + private ArchivesTeacherMapper archivesteacherMapper; + + + /**列表(全部) + * @param pd + * @throws Exception + */ + public List listAll(PageData pd)throws Exception{ + return archivesteacherMapper.listAll(pd); + } + +} + diff --git a/src/main/java/com/zcloud/service/bus/CheckRecordService.java b/src/main/java/com/zcloud/service/bus/CheckRecordService.java index 515dc49..293d5e7 100644 --- a/src/main/java/com/zcloud/service/bus/CheckRecordService.java +++ b/src/main/java/com/zcloud/service/bus/CheckRecordService.java @@ -95,5 +95,7 @@ public interface CheckRecordService{ * @return */ public List recordByIde(PageData pd)throws Exception; + + List listExport(PageData pd)throws Exception; } diff --git a/src/main/java/com/zcloud/service/bus/HiddenCheckService.java b/src/main/java/com/zcloud/service/bus/HiddenCheckService.java index bd4e8df..dd100c8 100644 --- a/src/main/java/com/zcloud/service/bus/HiddenCheckService.java +++ b/src/main/java/com/zcloud/service/bus/HiddenCheckService.java @@ -59,6 +59,13 @@ public interface HiddenCheckService{ * @throws Exception */ public void deleteAll(String[] ArrayDATA_IDS)throws Exception; - + + + + /**列表(全部) + * @param pd + * @throws Exception + */ + List listExport(PageData pd)throws Exception; } diff --git a/src/main/java/com/zcloud/service/bus/HiddenSchemeService.java b/src/main/java/com/zcloud/service/bus/HiddenSchemeService.java index 02b6933..8050353 100644 --- a/src/main/java/com/zcloud/service/bus/HiddenSchemeService.java +++ b/src/main/java/com/zcloud/service/bus/HiddenSchemeService.java @@ -66,6 +66,7 @@ public interface HiddenSchemeService{ * @throws Exception */ public void deleteAll(String[] ArrayDATA_IDS)throws Exception; - + + List listExport(PageData pd)throws Exception; } diff --git a/src/main/java/com/zcloud/service/bus/ListManagerService.java b/src/main/java/com/zcloud/service/bus/ListManagerService.java new file mode 100644 index 0000000..f417ca2 --- /dev/null +++ b/src/main/java/com/zcloud/service/bus/ListManagerService.java @@ -0,0 +1,26 @@ +package com.zcloud.service.bus; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:清单管理 + * 作者:luoxiaobao + * 时间:2020-12-30 + * 官网:www.zcloudchina.com + */ +public interface ListManagerService { + + + + /**列表 + * @param page + * @throws Exception + */ + List list(Page page)throws Exception; + + List listExport(PageData pd); +} + diff --git a/src/main/java/com/zcloud/service/bus/TrainingScheduleService.java b/src/main/java/com/zcloud/service/bus/TrainingScheduleService.java new file mode 100644 index 0000000..4d10421 --- /dev/null +++ b/src/main/java/com/zcloud/service/bus/TrainingScheduleService.java @@ -0,0 +1,23 @@ +package com.zcloud.service.bus; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:培训日程安排通知 + * 作者:luoxiaobao + * 时间:2021-12-20 + * 官网:www.zcloudchina.com + */ +public interface TrainingScheduleService { + + /**列表(全部) + * @param pd + * @throws Exception + */ + List listAll(PageData pd)throws Exception; + +} + diff --git a/src/main/java/com/zcloud/service/bus/impl/CheckRecordServiceImpl.java b/src/main/java/com/zcloud/service/bus/impl/CheckRecordServiceImpl.java index 179d6de..945fefc 100644 --- a/src/main/java/com/zcloud/service/bus/impl/CheckRecordServiceImpl.java +++ b/src/main/java/com/zcloud/service/bus/impl/CheckRecordServiceImpl.java @@ -1,6 +1,9 @@ package com.zcloud.service.bus.impl; +import java.util.ArrayList; import java.util.List; + +import com.zcloud.util.Tools; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -163,5 +166,29 @@ public class CheckRecordServiceImpl implements CheckRecordService{ public List recordByIde(PageData pd)throws Exception{ return checkrecordMapper.recordByIde(pd); } + + @Override + public List listExport(PageData pd) { + List explist = new ArrayList<>(); + List varList = checkrecordMapper.listExport(pd); + for (PageData pd2 : varList) { + int count = 0; + PageData vpd = new PageData(); + String id = pd2.getString("CHECKRECORD_ID"); + vpd.put("var" + (1 + count), pd2.getString("CORP_NAME")); + vpd.put("var" + (2 + count), pd2.getString("LIST_NAME")); // 清单名称 + vpd.put("var" + (3 + count), pd2.getString("PRINCIPALNAME")); //人员 + vpd.put("var" + (4 + count), pd2.getString("DATESTART") + " 至 " + pd2.getString("DATEEND")); //检查周期 + vpd.put("var" + (5 + count), pd2.getString("CHECK_USERS")); //检查人 + vpd.put("var" + (6 + count), pd2.getString("CHECK_TIME")); //检查时间 + String status = "已检查"; + if (!Tools.isEmpty(pd2.get("TYPE")) && "2".equals(pd2.getString("TYPE"))) { + status = "超期未检查"; + } + vpd.put("var" + (7 + count), status); // 检查状态 + explist.add(vpd); + } + return explist; + } } diff --git a/src/main/java/com/zcloud/service/bus/impl/HiddenCheckServiceImpl.java b/src/main/java/com/zcloud/service/bus/impl/HiddenCheckServiceImpl.java index 638c34e..953c8f8 100644 --- a/src/main/java/com/zcloud/service/bus/impl/HiddenCheckServiceImpl.java +++ b/src/main/java/com/zcloud/service/bus/impl/HiddenCheckServiceImpl.java @@ -85,6 +85,14 @@ public class HiddenCheckServiceImpl implements HiddenCheckService{ public void deleteAll(String[] ArrayDATA_IDS)throws Exception{ hiddencheckMapper.deleteAll(ArrayDATA_IDS); } + + /**列表(全部) + * @param pd + * @throws Exception + */ + public List listExport(PageData pd)throws Exception{ + return hiddencheckMapper.listExport(pd); + } } diff --git a/src/main/java/com/zcloud/service/bus/impl/HiddenSchemeServiceImpl.java b/src/main/java/com/zcloud/service/bus/impl/HiddenSchemeServiceImpl.java index 8fc2b6f..e3d0a38 100644 --- a/src/main/java/com/zcloud/service/bus/impl/HiddenSchemeServiceImpl.java +++ b/src/main/java/com/zcloud/service/bus/impl/HiddenSchemeServiceImpl.java @@ -93,6 +93,14 @@ public class HiddenSchemeServiceImpl implements HiddenSchemeService{ public void deleteAll(String[] ArrayDATA_IDS)throws Exception{ hiddenschemeMapper.deleteAll(ArrayDATA_IDS); } + + /**列表(全部) + * @param pd + * @throws Exception + */ + public List listExport(PageData pd)throws Exception{ + return hiddenschemeMapper.listExport(pd); + } } diff --git a/src/main/java/com/zcloud/service/bus/impl/ListManagerServiceImpl.java b/src/main/java/com/zcloud/service/bus/impl/ListManagerServiceImpl.java new file mode 100644 index 0000000..e7ca074 --- /dev/null +++ b/src/main/java/com/zcloud/service/bus/impl/ListManagerServiceImpl.java @@ -0,0 +1,70 @@ +package com.zcloud.service.bus.impl; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import com.zcloud.mapper.dsno2.bus.ListManagerMapper; +import com.zcloud.service.bus.ListManagerService; +import com.zcloud.util.Tools; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * 说明:清单管理 + * 作者:luoxiaobao + * 时间:2020-12-30 + * 官网:www.zcloudchina.com + */ +@Service +@Transactional //开启事物 +public class ListManagerServiceImpl implements ListManagerService{ + + @Autowired + private ListManagerMapper listmanagerMapper; + + + + /**列表 + * @param page + * @throws Exception + */ + public List list(Page page)throws Exception{ + return listmanagerMapper.datalistPage(page); + } + + @Override + public List listExport(PageData pd) { + List explist = new ArrayList<>(); + List varList = listmanagerMapper.listExport(pd); + for (PageData pd2 : varList) { + int count = 0; + PageData vpd = new PageData(); + String id = pd2.getString("LISTMANAGER_ID"); + vpd.put("var" + (1 + count), pd2.getString("CORP_NAME")); + vpd.put("var" + (2 + count), pd2.getString("NAME")); // 清单名称 + vpd.put("var" + (3 + count), pd2.getString("DEPARTMENT_NAME_ALL")); //部门 + vpd.put("var" + (4 + count), pd2.getString("POST_NAME")); //岗位 + vpd.put("var" + (5 + count), pd2.getString("USER_NAME")); //人员 + vpd.put("var" + (6 + count), pd2.getString("PERIODNAME")); //排查周期 + vpd.put("var" + (7 + count), pd2.getString("TYPENAME")); //清单类型 + vpd.put("var" + (8 + count), pd2.getString("SCREENTYPENAME")); // 排查类型 + String listStatus = "启用"; + if (Tools.isEmpty(pd2.get("ISDELETE")) || "0".equals(pd2.getString("ISDELETE"))) { + listStatus = "启用"; + } else if ("1".equals(pd2.getString("ISDELETE"))) { + listStatus = "禁用"; + } else if ("2".equals(pd2.getString("ISDELETE"))) { + listStatus = "已删除"; + } + vpd.put("var" + (9 + count), listStatus); // 状态 + explist.add(vpd); + } + return explist; + } +} + + diff --git a/src/main/java/com/zcloud/service/bus/impl/TrainingScheduleServiceImpl.java b/src/main/java/com/zcloud/service/bus/impl/TrainingScheduleServiceImpl.java new file mode 100644 index 0000000..2b3f450 --- /dev/null +++ b/src/main/java/com/zcloud/service/bus/impl/TrainingScheduleServiceImpl.java @@ -0,0 +1,35 @@ +package com.zcloud.service.bus.impl; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import com.zcloud.mapper.dsno2.bus.TrainingScheduleMapper; +import com.zcloud.service.bus.TrainingScheduleService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 说明:培训日程安排通知 + * 作者:luoxiaobao + * 时间:2021-12-20 + * 官网:www.zcloudchina.com + */ +@Service +@Transactional //开启事物 +public class TrainingScheduleServiceImpl implements TrainingScheduleService{ + + @Autowired + private TrainingScheduleMapper trainingscheduleMapper; + + + /**列表(全部) + * @param pd + * @throws Exception + */ + public List listAll(PageData pd)throws Exception{ + return trainingscheduleMapper.listAll(pd); + } +} + diff --git a/src/main/java/com/zcloud/service/onlinexxks/StageExamPaperQuestionService.java b/src/main/java/com/zcloud/service/onlinexxks/StageExamPaperQuestionService.java new file mode 100644 index 0000000..016d0f1 --- /dev/null +++ b/src/main/java/com/zcloud/service/onlinexxks/StageExamPaperQuestionService.java @@ -0,0 +1,23 @@ +package com.zcloud.service.onlinexxks; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:阶段考试试题中间表 + * 作者:luoxiaobao + * 时间:2021-10-08 + * 官网:www.zcloudchina.com + */ +public interface StageExamPaperQuestionService { + + + /**列表(根据试卷ID获取试题数据) + * @param pd + * @throws Exception + */ + List findByExamPaper(PageData pd) throws Exception; +} + diff --git a/src/main/java/com/zcloud/service/onlinexxks/StageExamRecordService.java b/src/main/java/com/zcloud/service/onlinexxks/StageExamRecordService.java new file mode 100644 index 0000000..7b6aa8f --- /dev/null +++ b/src/main/java/com/zcloud/service/onlinexxks/StageExamRecordService.java @@ -0,0 +1,22 @@ +package com.zcloud.service.onlinexxks; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:阶段考试记录 + * 作者:luoxiaobao + * 时间:2021-09-15 + * 官网:www.zcloudchina.com + */ +public interface StageExamRecordService { + + /**试卷答题展示(获取答题情况) + * @param + * @throws Exception + */ + List findByExam(PageData pd)throws Exception; +} + diff --git a/src/main/java/com/zcloud/service/onlinexxks/StageExamService.java b/src/main/java/com/zcloud/service/onlinexxks/StageExamService.java new file mode 100644 index 0000000..f4fe3a2 --- /dev/null +++ b/src/main/java/com/zcloud/service/onlinexxks/StageExamService.java @@ -0,0 +1,24 @@ +package com.zcloud.service.onlinexxks; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:阶段考试 + * 作者:luoxiaobao + * 时间:2021-09-15 + * 官网:www.zcloudchina.com + */ +public interface StageExamService { + + + /** + * 试卷答题展示 + * @param pd + * @return + */ + PageData findResult(PageData pd)throws Exception; +} + diff --git a/src/main/java/com/zcloud/service/onlinexxks/StageStudentRelationService.java b/src/main/java/com/zcloud/service/onlinexxks/StageStudentRelationService.java new file mode 100644 index 0000000..f70dd2f --- /dev/null +++ b/src/main/java/com/zcloud/service/onlinexxks/StageStudentRelationService.java @@ -0,0 +1,31 @@ +package com.zcloud.service.onlinexxks; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.io.File; +import java.util.List; + +/** + * 说明:阶段考试学员关系表 + * 作者:luoxiaobao + * 时间:2021-10-08 + * 官网:www.zcloudchina.com + */ +public interface StageStudentRelationService { + + + /**列表(全部) + * @param pd + * @throws Exception + */ + List listStudentTask(PageData pd)throws Exception; + + /**列表(全部) + * @param pd + * @throws Exception + */ + List listExport(PageData pd)throws Exception; + +} + diff --git a/src/main/java/com/zcloud/service/onlinexxks/StageexampaperService.java b/src/main/java/com/zcloud/service/onlinexxks/StageexampaperService.java new file mode 100644 index 0000000..8919b20 --- /dev/null +++ b/src/main/java/com/zcloud/service/onlinexxks/StageexampaperService.java @@ -0,0 +1,22 @@ +package com.zcloud.service.onlinexxks; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:阶段考试试卷表 + * 作者:luoxiaobao + * 时间:2021-07-04 + * 官网:www.zcloudchina.com + */ +public interface StageexampaperService { + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + PageData getDataById(PageData pd)throws Exception; +} + diff --git a/src/main/java/com/zcloud/service/onlinexxks/StudyTaskService.java b/src/main/java/com/zcloud/service/onlinexxks/StudyTaskService.java new file mode 100644 index 0000000..cd5b513 --- /dev/null +++ b/src/main/java/com/zcloud/service/onlinexxks/StudyTaskService.java @@ -0,0 +1,30 @@ +package com.zcloud.service.onlinexxks; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:在线学习考试-任务 + * 作者:luoxiaobao + * 时间:2021-12-20 + * 官网:www.zcloudchina.com + */ +public interface StudyTaskService { + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + PageData findById(PageData pd)throws Exception; + + List getcurriculumAllBystudyTaskId(PageData pd)throws Exception; + + List getAllCourseware(PageData pd)throws Exception; + + List listAll(PageData pd)throws Exception; + + List listExport(PageData pd)throws Exception; +} + diff --git a/src/main/java/com/zcloud/service/onlinexxks/impl/StageExamPaperQuestionServiceImpl.java b/src/main/java/com/zcloud/service/onlinexxks/impl/StageExamPaperQuestionServiceImpl.java new file mode 100644 index 0000000..dceb1a1 --- /dev/null +++ b/src/main/java/com/zcloud/service/onlinexxks/impl/StageExamPaperQuestionServiceImpl.java @@ -0,0 +1,37 @@ +package com.zcloud.service.onlinexxks.impl; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import com.zcloud.mapper.dsno2.onlinexxks.*; +import com.zcloud.service.onlinexxks.StageExamPaperQuestionService; +import com.zcloud.util.UuidUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 说明:阶段考试试题中间表 + * 作者:luoxiaobao + * 时间:2021-10-08 + * 官网:www.zcloudchina.com + */ +@Service +@Transactional //开启事物 +public class StageExamPaperQuestionServiceImpl implements StageExamPaperQuestionService{ + + @Autowired + private StageExamPaperQuestionMapper stageexampaperquestionMapper; + + + /**列表(根据试卷ID获取试题数据) + * @param pd + * @throws Exception + */ + @Override + public List findByExamPaper(PageData pd) { + return stageexampaperquestionMapper.findByExamPaper(pd); + } +} + diff --git a/src/main/java/com/zcloud/service/onlinexxks/impl/StageExamRecordServiceImpl.java b/src/main/java/com/zcloud/service/onlinexxks/impl/StageExamRecordServiceImpl.java new file mode 100644 index 0000000..92a1db0 --- /dev/null +++ b/src/main/java/com/zcloud/service/onlinexxks/impl/StageExamRecordServiceImpl.java @@ -0,0 +1,36 @@ +package com.zcloud.service.onlinexxks.impl; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import com.zcloud.mapper.dsno2.onlinexxks.StageExamRecordMapper; +import com.zcloud.service.onlinexxks.StageExamRecordService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 说明:阶段考试记录 + * 作者:luoxiaobao + * 时间:2021-09-15 + * 官网:www.zcloudchina.com + */ +@Service +@Transactional //开启事物 +public class StageExamRecordServiceImpl implements StageExamRecordService{ + + @Autowired + private StageExamRecordMapper stageexamrecordMapper; + + /**试卷答题展示(获取答题情况) + * @param + * @throws Exception + */ + @Override + public List findByExam(PageData pd) throws Exception { + return stageexamrecordMapper.findByExam(pd); + } + +} + diff --git a/src/main/java/com/zcloud/service/onlinexxks/impl/StageExamServiceImpl.java b/src/main/java/com/zcloud/service/onlinexxks/impl/StageExamServiceImpl.java new file mode 100644 index 0000000..99411ce --- /dev/null +++ b/src/main/java/com/zcloud/service/onlinexxks/impl/StageExamServiceImpl.java @@ -0,0 +1,59 @@ +package com.zcloud.service.onlinexxks.impl; + +import com.zcloud.entity.PageData; +import com.zcloud.mapper.dsno2.onlinexxks.StageExamMapper; +import com.zcloud.service.onlinexxks.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 说明:阶段考试 + * 作者:luoxiaobao + * 时间:2021-09-15 + * 官网:www.zcloudchina.com + */ +@Service +@Transactional //开启事物 +public class StageExamServiceImpl implements StageExamService{ + + @Autowired + private StageExamMapper stageExamMapper; + @Autowired + private StageExamRecordService stageExamRecordService; + @Autowired + private StageStudentRelationService stageStudentRelationService; + @Autowired + private StudyTaskService studyTaskService; + @Autowired + private StageexampaperService stageExamPaperService; + @Autowired + private StageExamService stageExamService; + + + /**试卷答题展示 + * @param + * @throws Exception + */ + @Override + public PageData findResult(PageData pd) throws Exception { + List dataList = stageExamMapper.findByPaperUser(pd); // 考试成绩 STAGEEXAM_ID + if (dataList.size()>0) { + PageData data = dataList.get(0); + pd.put("STAGEEXAM_ID", data.getString("STAGEEXAM_ID")); + + List questionList = stageExamRecordService.findByExam(pd); // 考试详情 STAGEEXAM_ID + PageData studyTaskData = studyTaskService.findById(data); //任务 + PageData stageexampaperData = stageExamPaperService.getDataById(data); //试卷 + data.put("studyTaskData", studyTaskData); + data.put("stageexampaperData", stageexampaperData); + data.put("QUESTIONLIST", questionList); + return data; + } + return new PageData(); + } + +} + diff --git a/src/main/java/com/zcloud/service/onlinexxks/impl/StageStudentRelationServiceImpl.java b/src/main/java/com/zcloud/service/onlinexxks/impl/StageStudentRelationServiceImpl.java new file mode 100644 index 0000000..d777427 --- /dev/null +++ b/src/main/java/com/zcloud/service/onlinexxks/impl/StageStudentRelationServiceImpl.java @@ -0,0 +1,88 @@ +package com.zcloud.service.onlinexxks.impl; + +import com.zcloud.entity.PageData; +import com.zcloud.mapper.dsno2.onlinexxks.StageStudentRelationMapper; +import com.zcloud.service.onlinexxks.StageStudentRelationService; +import com.zcloud.util.DateUtil; +import com.zcloud.util.Tools; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * 说明:阶段考试学员关系表 + * 作者:luoxiaobao + * 时间:2021-10-08 + * 官网:www.zcloudchina.com + */ +@Service +@Transactional //开启事物 +public class StageStudentRelationServiceImpl implements StageStudentRelationService{ + + @Autowired + private StageStudentRelationMapper stageStudentRelationMapper; + + @Override + public List listStudentTask(PageData pd) throws Exception { + return stageStudentRelationMapper.listStudentTask(pd); + } + + /**列表(全部) + * @param pd + * @throws Exception + */ + public List listExport(PageData pd)throws Exception{ + List explist = new ArrayList<>(); + List varList = stageStudentRelationMapper.listExport(pd); + for (PageData pd2 : varList) { + int count = 0; + PageData vpd = new PageData(); + String id = pd2.getString("STAGESTUDENTRELATION_ID"); + vpd.put("var" + (1 + count), pd2.getString("CORP_NAME")); + vpd.put("var" + (2 + count), pd2.getString("STUDY_NAME")); // 学习任务名称 + vpd.put("var" + (3 + count), pd2.getString("PEIXUE_START_TIME")); //培训开始时间 + vpd.put("var" + (4 + count), pd2.getString("PEIXUE_END_TIME")); //培训结束时间 + vpd.put("var" + (5 + count), pd2.getString("USER_NAME")); //姓名 + vpd.put("var" + (6 + count), pd2.getString("PHONE")); //电话 + vpd.put("var" + (7 + count), pd2.get("DEPARTMENT_NAME").toString()); //部门 + vpd.put("var" + (8 + count), Tools.isEmpty(pd2.get("POSTNAME")) ? "" : pd2.get("POSTNAME").toString()); // 岗位 + vpd.put("var" + (9 + count), pd2.get("SUM_CLASSHOUR").toString()); // 任务学时(分钟) + vpd.put("var" + (10 + count), pd2.get("COMPLETE_CLASSHOUR").toString()); // 已学习学时(分钟) + Double sum = 0.0; + if (!Tools.isEmpty(pd2.get("SUM_CLASSHOUR"))) { + sum = Double.parseDouble(pd2.get("SUM_CLASSHOUR").toString()); + } + Double complete = 0.0; + if (!Tools.isEmpty(pd2.get("COMPLETE_CLASSHOUR"))) { + complete = Double.parseDouble(pd2.get("COMPLETE_CLASSHOUR").toString()); + } + vpd.put("var" + (11 + count), complete >= sum ? "学习完" : "学习中"); // 学习状态 + vpd.put("var" + (12 + count), "-1".equals(pd2.get("STAGEEXAMSCORE").toString()) ? "-" : pd2.get("STAGEEXAMSCORE").toString()); // 考试成绩 + String status = "已结束"; + Double stageExamScore = 0.0; + if (!Tools.isEmpty(pd2.get("STAGEEXAMSCORE"))) { + stageExamScore = Double.parseDouble(pd2.get("STAGEEXAMSCORE").toString()); + } + Double passScore = 0.0; + if (!Tools.isEmpty(pd2.get("PASSSCORE"))) { + passScore = Double.parseDouble(pd2.get("PASSSCORE").toString()); + } + String now = DateUtil.getDay(); + if ("-1".equals(pd2.get("STAGEEXAMSCORE").toString())) { + status = "未开始"; + } else if (stageExamScore >= passScore) { + status = "已通过"; + } else { + status = "未通过"; + } + vpd.put("var" + (13 + count), status); // 考试结果 + explist.add(vpd); + } + return explist; + } +} + diff --git a/src/main/java/com/zcloud/service/onlinexxks/impl/StageexampaperServiceImpl.java b/src/main/java/com/zcloud/service/onlinexxks/impl/StageexampaperServiceImpl.java new file mode 100644 index 0000000..2fe9464 --- /dev/null +++ b/src/main/java/com/zcloud/service/onlinexxks/impl/StageexampaperServiceImpl.java @@ -0,0 +1,37 @@ +package com.zcloud.service.onlinexxks.impl; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import com.zcloud.mapper.dsno2.onlinexxks.StageexampaperMapper; +import com.zcloud.service.onlinexxks.StageStudentRelationService; +import com.zcloud.service.onlinexxks.StageexampaperService; +import com.zcloud.util.DateUtil; +import com.zcloud.util.Jurisdiction; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.List; + +/** + * 说明:阶段考试试卷表 + * 作者:luoxiaobao + * 时间:2021-07-04 + * 官网:www.zcloudchina.com + */ +@Service +@Transactional //开启事物 +public class StageexampaperServiceImpl implements StageexampaperService{ + + @Autowired + private StageexampaperMapper stageexampaperMapper; + @Autowired + private StageStudentRelationService stageStudentRelationService; + + public PageData getDataById(PageData pd)throws Exception{ + return stageexampaperMapper.findById(pd); + } +} + diff --git a/src/main/java/com/zcloud/service/onlinexxks/impl/StudyTaskServiceImpl.java b/src/main/java/com/zcloud/service/onlinexxks/impl/StudyTaskServiceImpl.java new file mode 100644 index 0000000..dda9fcc --- /dev/null +++ b/src/main/java/com/zcloud/service/onlinexxks/impl/StudyTaskServiceImpl.java @@ -0,0 +1,93 @@ +package com.zcloud.service.onlinexxks.impl; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import com.zcloud.mapper.dsno2.onlinexxks.StudyTaskMapper; +import com.zcloud.service.onlinexxks.StudyTaskService; +import com.zcloud.util.DateUtil; +import com.zcloud.util.Tools; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; +import java.util.List; + +/** + * 说明:在线学习考试-任务 + * 作者:luoxiaobao + * 时间:2021-12-20 + * 官网:www.zcloudchina.com + */ +@Service +@Transactional //开启事物 +public class StudyTaskServiceImpl implements StudyTaskService { + + @Autowired + private StudyTaskMapper studytaskMapper; + + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + public PageData findById(PageData pd)throws Exception{ + return studytaskMapper.findById(pd); + } + + public List getcurriculumAllBystudyTaskId(PageData pd)throws Exception{ + return studytaskMapper.getcurriculumAllBystudyTaskId(pd); + } + + /**全部视频课件+资料课件 + * @param pd + * @throws Exception + */ + public List getAllCourseware(PageData pd)throws Exception{ + return studytaskMapper.getAllCourseware(pd); + } + + /**列表 + * @param page + * @throws Exception + */ + public List listAll(PageData pd)throws Exception{ + return studytaskMapper.listAll(pd); + } + + @Override + public List listExport(PageData pd) throws Exception { + List explist = new ArrayList<>(); + List varList = studytaskMapper.listAll(pd); + for (PageData pd2 : varList) { + int count = 0; + PageData vpd = new PageData(); + String id = pd2.getString("STUDYTASK_ID"); + vpd.put("var" + (1 + count), pd2.getString("CORP_NAME")); + vpd.put("var" + (2 + count), pd2.getString("STUDY_NAME")); // 学习任务名称 + vpd.put("var" + (3 + count), pd2.getString("train_type_name")); //培训行业类型 + vpd.put("var" + (4 + count), pd2.getString("post_type_name")); //岗位培训类型 + vpd.put("var" + (5 + count), pd2.getString("PEIXUE_START_TIME")); //培训开始时间 + vpd.put("var" + (6 + count), pd2.getString("PEIXUE_END_TIME")); //培训结束时间 + vpd.put("var" + (7 + count), pd2.get("SUM_CLASSHOUR").toString()); //任务课时(分钟) + vpd.put("var" + (8 + count), pd2.get("userCount").toString()); // 应参考人数 + vpd.put("var" + (9 + count), pd2.get("cj").toString()); // 参考人数 + vpd.put("var" + (10 + count), pd2.get("hg").toString()); // 合格人数 + String status = "已结束"; + String now = DateUtil.getDay(); + if (DateUtil.getDaySub(now, pd2.getString("PEIXUE_START_TIME")) > 0) { + status = "未开始"; + } else if (DateUtil.getDaySub(pd2.getString("PEIXUE_END_TIME"), now) > 0) { + status = "已结束"; + } else { + status = "进行中"; + } + vpd.put("var" + (11 + count), status); // 状态 + explist.add(vpd); + } + return explist; + } +} + diff --git a/src/main/java/com/zcloud/service/superviseInspect/SuperviseInspectHiddenService.java b/src/main/java/com/zcloud/service/superviseInspect/SuperviseInspectHiddenService.java index df0af63..b8b9801 100644 --- a/src/main/java/com/zcloud/service/superviseInspect/SuperviseInspectHiddenService.java +++ b/src/main/java/com/zcloud/service/superviseInspect/SuperviseInspectHiddenService.java @@ -1,6 +1,8 @@ package com.zcloud.service.superviseInspect; import java.util.List; +import java.util.Map; + import com.zcloud.entity.Page; import com.zcloud.entity.PageData; @@ -61,5 +63,6 @@ public interface SuperviseInspectHiddenService{ */ public void deleteAll(String[] ArrayDATA_IDS)throws Exception; + Map listExport(PageData pd)throws Exception; } diff --git a/src/main/java/com/zcloud/service/superviseInspect/SuperviseInspectService.java b/src/main/java/com/zcloud/service/superviseInspect/SuperviseInspectService.java index 6ab13b5..39e2690 100644 --- a/src/main/java/com/zcloud/service/superviseInspect/SuperviseInspectService.java +++ b/src/main/java/com/zcloud/service/superviseInspect/SuperviseInspectService.java @@ -1,6 +1,8 @@ package com.zcloud.service.superviseInspect; import java.util.List; +import java.util.Map; + import com.zcloud.entity.Page; import com.zcloud.entity.PageData; @@ -53,6 +55,12 @@ public interface SuperviseInspectService{ * @throws Exception */ public void deleteAll(String[] ArrayDATA_IDS)throws Exception; + + /**列表 + * @param + * @throws Exception + */ + Map listExport(PageData pd)throws Exception; } diff --git a/src/main/java/com/zcloud/service/superviseInspect/impl/SuperviseInspectHiddenServiceImpl.java b/src/main/java/com/zcloud/service/superviseInspect/impl/SuperviseInspectHiddenServiceImpl.java index 8af5511..49a493d 100644 --- a/src/main/java/com/zcloud/service/superviseInspect/impl/SuperviseInspectHiddenServiceImpl.java +++ b/src/main/java/com/zcloud/service/superviseInspect/impl/SuperviseInspectHiddenServiceImpl.java @@ -1,6 +1,12 @@ package com.zcloud.service.superviseInspect.impl; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; + +import com.zcloud.service.superviseInspect.SuperviseInspectFilesService; +import com.zcloud.util.Tools; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -21,6 +27,8 @@ public class SuperviseInspectHiddenServiceImpl implements SuperviseInspectHidden @Autowired private SuperviseInspectHiddenMapper superviseinspecthiddenMapper; + @Autowired + private SuperviseInspectFilesService superviseInspectFilesService; /**新增 * @param pd @@ -86,5 +94,152 @@ public class SuperviseInspectHiddenServiceImpl implements SuperviseInspectHidden superviseinspecthiddenMapper.deleteAll(ArrayDATA_IDS); } + @Override + public Map listExport(PageData pd) throws Exception { + Map dataMap = new HashMap<>(); + List varList = new ArrayList<>(); + List dataList = superviseinspecthiddenMapper.listExport(pd); + PageData f = new PageData(); + f.put("TYPE","3"); + List img3List = superviseInspectFilesService.listAll(f); + f.put("TYPE","4"); + List img4List = superviseInspectFilesService.listAll(f); + + Map imgCount = new HashMap<>(); + Integer imgTypeMaxCount3 = 1,imgTypeMaxCount4 = 1; + Map> imgMap = new HashMap<>(); + for (int i = 0; i < img3List.size(); i++) { + if (Tools.isEmpty(img3List.get(i).get("TYPE"))) { + continue; + } + if (Tools.isEmpty(img3List.get(i).get("FOREIGN_KEY"))) { + continue; + } + List list = new ArrayList<>(); + String key = img3List.get(i).getString("FOREIGN_KEY") + ";" + img3List.get(i).get("TYPE"); + if (imgMap.containsKey(key)) { + list = imgMap.get(key); + } + list.add(img3List.get(i).getString("FILEPATH")); + imgMap.put(key, list); + String imgType = img3List.get(i).get("TYPE").toString(); + Integer count = 1; + if (imgCount.containsKey(key)) { + count = imgCount.get(key) + 1; + } + if ("3".equals(imgType)) { + if (imgTypeMaxCount3 < count) { + imgTypeMaxCount3 = count; + } + } + imgCount.put(key, count); + } + for (int i = 0; i < img4List.size(); i++) { + if (Tools.isEmpty(img4List.get(i).get("TYPE"))) { + continue; + } + if (Tools.isEmpty(img4List.get(i).get("FOREIGN_KEY"))) { + continue; + } + List list = new ArrayList<>(); + String key = img4List.get(i).getString("FOREIGN_KEY") + ";" + img4List.get(i).get("TYPE"); + if (imgMap.containsKey(key)) { + list = imgMap.get(key); + } + list.add(img4List.get(i).getString("FILEPATH")); + imgMap.put(key, list); + String imgType = img4List.get(i).get("TYPE").toString(); + Integer count = 1; + if (imgCount.containsKey(key)) { + count = imgCount.get(key) + 1; + } + if ("4".equals(imgType)) { + if (imgTypeMaxCount4 < count) { + imgTypeMaxCount4 = count; + } + } + imgCount.put(key, count); + } + + for (PageData pd2 : dataList) { + int count = 0; + PageData vpd = new PageData(); + String id = pd2.getString("SUPERVISE_INSPECT_HIDDEN_ID"); + vpd.put("var" + (1 + count), pd2.get("CORP_NAME").toString()); // 被检查企业 + vpd.put("var" + (2 + count), Tools.isEmpty(pd2.get("INSPECT_DEPARTMENT_NAME")) ? "" : pd2.get("INSPECT_DEPARTMENT_NAME").toString()); // 检查部门 + vpd.put("var" + (3 + count), Tools.isEmpty(pd2.get("INSPECT_USER_NAME")) ? "" : pd2.get("INSPECT_USER_NAME").toString()); //检查人 + vpd.put("var" + (4 + count), Tools.isEmpty(pd2.get("INSPECTTIME")) ? "" : pd2.get("INSPECTTIME").toString()); //检查时间 + vpd.put("var" + (5 + count), Tools.isEmpty(pd2.get("HIDDENDESCR")) ? "" : pd2.get("HIDDENDESCR").toString()); //隐患描述 + vpd.put("var" + (6 + count), Tools.isEmpty(pd2.get("HIDDENPART")) ? "" : pd2.get("HIDDENPART").toString()); //隐患部位 + vpd.put("var" + (7 + count), Tools.isEmpty(pd2.get("HIDDENLEVELNAME")) ? "" : pd2.get("HIDDENLEVELNAME").toString()); //隐患级别 + vpd.put("var" + (8 + count), Tools.isEmpty(pd2.get("DISCOVER_TIME")) ? "" : pd2.get("DISCOVER_TIME").toString()); // 发现时间 + vpd.put("var" + (9 + count), Tools.isEmpty(pd2.get("RECTIFY_DEADLINE")) ? "" : pd2.get("RECTIFY_DEADLINE").toString()); // 整改截止时间 + vpd.put("var" + (10 + count), Tools.isEmpty(pd2.get("DISPOSE")) ? "" : pd2.get("DISPOSE").toString()); // 隐患处置 + int state = Tools.isEmpty(pd2.get("STATE")) ? 0 : Integer.parseInt(pd2.get("STATE").toString()); + vpd.put("var" + (11 + count), state == 1 ? "待整改" : (state == 2 ? "待复查" : (state == 3 ? "已复查" : ""))); // 隐患状态 + + List yhImg = imgMap.get(id + ";3"); + for (int i = 0; i < imgTypeMaxCount3; i++) { + if (null != yhImg) { + if (i < yhImg.size()) { + vpd.put("img" + (12 + count + i), yhImg.get(i));// 方案图片 + } else { + vpd.put("img" + (12 + count + i), ""); + } + } else { + vpd.put("img" + (12 + count + i), ""); + } + } + count += imgTypeMaxCount3; + vpd.put("var" + (12 + count), state > 1 ? Tools.isEmpty(pd2.get("RECTIFYER_NAME")) ? "" : pd2.get("RECTIFYER_NAME").toString() : ""); // 整改人 + vpd.put("var" + (13 + count), state > 1 ? Tools.isEmpty(pd2.get("RECTIFY_TIME")) ? "" : pd2.get("RECTIFY_TIME").toString() : ""); // 整改时间 + vpd.put("var" + (14 + count), state > 1 ? Tools.isEmpty(pd2.get("RECTIFY_DESCR")) ? "" : pd2.get("RECTIFY_DESCR").toString() : ""); // 整改描述 + List zgImg = imgMap.get(id + ";4"); + for (int i = 0; i < imgTypeMaxCount4; i++) { + if (null != zgImg) { + if (i < zgImg.size()) { + vpd.put("img" + (15 + count + i), zgImg.get(i));// 方案图片 + } else { + vpd.put("img" + (15 + count + i), ""); + } + } else { + vpd.put("img" + (15 + count + i), ""); + } + } + count += imgTypeMaxCount4; + int qualified = Tools.isEmpty(pd2.get("QUALIFIED")) ? 0 : Integer.parseInt(pd2.get("QUALIFIED").toString()); + vpd.put("var" + (15 + count), state > 2 ? (qualified == 1 ? "合格" : (qualified == 0 ? "不合格" : "")) : ""); // 复查结果 + vpd.put("var" + (16 + count), state > 2 ? Tools.isEmpty(pd2.get("REVIEW_TIME")) ? "" : pd2.get("REVIEW_TIME").toString() : ""); // 复查时间 + varList.add(vpd); + } + + dataMap.put("varList", varList); + List titles = new ArrayList(); + titles.add("被检查企业"); //1 + titles.add("检查部门"); //2 + titles.add("检查人"); //3 + titles.add("检查时间"); //4 + titles.add("隐患描述"); //5 + titles.add("隐患部位"); //6 + titles.add("隐患级别"); //7 + titles.add("发现时间"); //8 + titles.add("整改截止时间"); //9 + titles.add("隐患处置"); + titles.add("隐患状态"); + for (int i = 0; i < imgTypeMaxCount3; i++) { + titles.add("隐患图片"); // 9 + } + titles.add("整改人"); //8 + titles.add("整改时间"); //8 + titles.add("整改描述"); //8 + for (int i = 0; i < imgTypeMaxCount4; i++) { + titles.add("整改图片"); // 9 + } + titles.add("复查结果"); //8 + titles.add("复查时间"); //8 + dataMap.put("titles", titles); + return dataMap; + } + } diff --git a/src/main/java/com/zcloud/service/superviseInspect/impl/SuperviseInspectServiceImpl.java b/src/main/java/com/zcloud/service/superviseInspect/impl/SuperviseInspectServiceImpl.java index 07171be..4fe0975 100644 --- a/src/main/java/com/zcloud/service/superviseInspect/impl/SuperviseInspectServiceImpl.java +++ b/src/main/java/com/zcloud/service/superviseInspect/impl/SuperviseInspectServiceImpl.java @@ -1,6 +1,9 @@ package com.zcloud.service.superviseInspect.impl; -import java.util.List; +import java.util.*; + +import com.zcloud.service.superviseInspect.SuperviseInspectFilesService; +import com.zcloud.util.Tools; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -21,7 +24,9 @@ public class SuperviseInspectServiceImpl implements SuperviseInspectService{ @Autowired private SuperviseInspectMapper superviseinspectMapper; - + @Autowired + private SuperviseInspectFilesService superviseInspectFilesService; + /**新增 * @param pd * @throws Exception @@ -77,6 +82,89 @@ public class SuperviseInspectServiceImpl implements SuperviseInspectService{ public void deleteAll(String[] ArrayDATA_IDS)throws Exception{ superviseinspectMapper.deleteAll(ArrayDATA_IDS); } - + + @Override + public Map listExport(PageData pd) throws Exception { + Map dataMap = new HashMap<>(); + List varList = new ArrayList<>(); + List dataList = superviseinspectMapper.listExport(pd); + PageData f = new PageData(); + f.put("TYPE","2"); + List img2List = superviseInspectFilesService.listAll(f); + + Map imgCount = new HashMap<>(); + Integer imgTypeMaxCount2 = 1; + Map> imgMap = new HashMap<>(); + for (int i = 0; i < img2List.size(); i++) { + if (Tools.isEmpty(img2List.get(i).get("TYPE"))) { + continue; + } + if (Tools.isEmpty(img2List.get(i).get("FOREIGN_KEY"))) { + continue; + } + List list = new ArrayList<>(); + String key = img2List.get(i).getString("FOREIGN_KEY") + ";" + img2List.get(i).get("TYPE"); + if (imgMap.containsKey(key)) { + list = imgMap.get(key); + } + list.add(img2List.get(i).getString("FILEPATH")); + imgMap.put(key, list); + String imgType = img2List.get(i).get("TYPE").toString(); + Integer count = 1; + if (imgCount.containsKey(key)) { + count = imgCount.get(key) + 1; + } + if ("2".equals(imgType)) { + if (imgTypeMaxCount2 < count) { + imgTypeMaxCount2 = count; + } + } + imgCount.put(key, count); + } + + for (PageData pd2 : dataList) { + int count = 0; + PageData vpd = new PageData(); + String id = pd2.getString("SUPERVISE_INSPECT_ID"); + vpd.put("var" + (1 + count), pd2.getString("CORP_NAME")); // 被检查企业 + vpd.put("var" + (2 + count), pd2.getString("INSPECT_DEPARTMENT_NAME")); // 检查部门 + vpd.put("var" + (3 + count), pd2.getString("INSPECTTYPENAME")); //检查类型 + vpd.put("var" + (4 + count), pd2.getString("INSPECTTIME")); //检查时间 + vpd.put("var" + (5 + count), pd2.getString("INSPECT_USER_NAME")); //检查人 + vpd.put("var" + (6 + count), Tools.isEmpty(pd2.get("HASEXPERTS")) ? "" : ("1".equals(pd2.get("HASEXPERTS").toString()) ? "是" : "否")); //是否邀请专家 + vpd.put("var" + (7 + count), pd2.getString("CONTENT")); //检查内容 + vpd.put("var" + (8 + count), pd2.get("HIDDENNUM").toString()); // 隐患数量 + + List ysImg = imgMap.get(pd2.getString("SUPERVISE_INSPECT_ID") + ";2"); + for (int i = 0; i < imgTypeMaxCount2; i++) { + if (null != ysImg) { + if (i < ysImg.size()) { + vpd.put("img" + (9 + count + i), ysImg.get(i));// 方案图片 + } else { + vpd.put("img" + (9 + count + i), ""); + } + } else { + vpd.put("img" + (9 + count + i), ""); + } + } + varList.add(vpd); + } + + dataMap.put("varList", varList); + List titles = new ArrayList(); + titles.add("被检查企业"); //1 + titles.add("检查部门"); //2 + titles.add("检查类型"); //3 + titles.add("检查时间"); //4 + titles.add("检查人"); //5 + titles.add("是否邀请专家"); //6 + titles.add("检查内容"); //7 + titles.add("隐患数量"); //8 + for (int i = 0; i < imgTypeMaxCount2; i++) { + titles.add("现场检查照片"); // 9 + } + dataMap.put("titles", titles); + return dataMap; + } } diff --git a/src/main/java/com/zcloud/service/system/Department2Service.java b/src/main/java/com/zcloud/service/system/Department2Service.java index 723f2fb..d4d261b 100644 --- a/src/main/java/com/zcloud/service/system/Department2Service.java +++ b/src/main/java/com/zcloud/service/system/Department2Service.java @@ -87,7 +87,7 @@ public interface Department2Service{ */ public String getDEPARTMENT_IDS(String DEPARTMENT_ID) throws Exception; - public Object listAll(PageData pd)throws Exception; + public List listAll(PageData pd)throws Exception; // public List listAllMent(PageData pd) throws Exception; // diff --git a/src/main/java/com/zcloud/service/system/Users2Service.java b/src/main/java/com/zcloud/service/system/Users2Service.java index de1817d..b20756d 100644 --- a/src/main/java/com/zcloud/service/system/Users2Service.java +++ b/src/main/java/com/zcloud/service/system/Users2Service.java @@ -178,4 +178,10 @@ public interface Users2Service { * @throws Exception */ public void deleteByCorp(PageData pd)throws Exception; + + List listAllForExport(PageData pd)throws Exception; + + List listExport(PageData pd, String[] regKeys)throws Exception; + + List listAllUser(PageData corpIdPd)throws Exception; } diff --git a/src/main/java/com/zcloud/service/system/UsersService.java b/src/main/java/com/zcloud/service/system/UsersService.java index e746bb6..85384a3 100644 --- a/src/main/java/com/zcloud/service/system/UsersService.java +++ b/src/main/java/com/zcloud/service/system/UsersService.java @@ -1,6 +1,7 @@ package com.zcloud.service.system; import java.util.List; +import java.util.Map; import com.zcloud.entity.Page; import com.zcloud.entity.PageData; @@ -214,4 +215,15 @@ public interface UsersService { * @throws Exception */ void editCorpUser(PageData pd)throws Exception; + + List> getDaochuReglatory (PageData pd)throws Exception; + + List> getDaochuPrevention (PageData pd)throws Exception; + + /**用户列表(全部) + * @param pd + * @return + * @throws Exception + */ + List listExport(PageData pd, String[] regKeys)throws Exception; } diff --git a/src/main/java/com/zcloud/service/system/impl/Department2ServiceImpl.java b/src/main/java/com/zcloud/service/system/impl/Department2ServiceImpl.java index fe65260..8eda607 100644 --- a/src/main/java/com/zcloud/service/system/impl/Department2ServiceImpl.java +++ b/src/main/java/com/zcloud/service/system/impl/Department2ServiceImpl.java @@ -69,11 +69,11 @@ public class Department2ServiceImpl implements Department2Service{ } /**列表 - * @param page + * @param * @throws Exception */ public List listAll(PageData pd)throws Exception{ - return (List)departmentMapper.listAll(pd); + return departmentMapper.listAll(pd); } /**通过id获取数据 * @param pd diff --git a/src/main/java/com/zcloud/service/system/impl/Users2ServiceImpl.java b/src/main/java/com/zcloud/service/system/impl/Users2ServiceImpl.java index 7b94ac6..2e5537a 100644 --- a/src/main/java/com/zcloud/service/system/impl/Users2ServiceImpl.java +++ b/src/main/java/com/zcloud/service/system/impl/Users2ServiceImpl.java @@ -1,18 +1,18 @@ package com.zcloud.service.system.impl; -import java.util.List; +import java.util.*; +import com.zcloud.service.bus.ImgFilesService; +import com.zcloud.util.Tools; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import com.zcloud.entity.Page; import com.zcloud.entity.PageData; -import com.zcloud.entity.system.User; -import com.zcloud.mapper.datasource.system.UsersMapper; import com.zcloud.mapper.dsno2.system.Users2Mapper; import com.zcloud.service.system.Users2Service; -import com.zcloud.service.system.UsersService; /** * 说明:用户服务接口实现类 @@ -23,8 +23,11 @@ import com.zcloud.service.system.UsersService; @Transactional //开启事物 public class Users2ServiceImpl implements Users2Service { + private static final Logger log = LoggerFactory.getLogger(Users2ServiceImpl.class); @Autowired private Users2Mapper usersMapper; + @Autowired + private ImgFilesService imgFilesService; /**通过用户名获取用户信息 * @param pd @@ -239,4 +242,105 @@ public class Users2ServiceImpl implements Users2Service { usersMapper.updateUserRole(pd); } + public List listAllForExport(PageData pd)throws Exception{ + return usersMapper.listAllForExport(pd); + } + + /**用户列表(全部) + * @param pd + * @return + * @throws Exception + */ + public List listAllUser(PageData pd)throws Exception{ + return usersMapper.listAllUser(pd); + } + + @Override + public List listExport(PageData pd, String[] regKeys) throws Exception { + List explist = new ArrayList<>(); + List userList = usersMapper.listAllForExport(pd); + + List userCerList = new ArrayList<>(); + PageData userCerPd = new PageData(); + userCerPd.put("TYPE","18"); + userCerList = imgFilesService.listAll(userCerPd); + + Map imgCount = new HashMap<>(); + Integer imgTypeMaxCount18 = 1; + Map> imgMap = new HashMap<>(); + for (int i = 0; i < userCerList.size(); i++) { + if (Tools.isEmpty(userCerList.get(i).get("TYPE"))) { + continue; + } + if (Tools.isEmpty(userCerList.get(i).get("FOREIGN_KEY"))) { + continue; + } + List list = new ArrayList<>(); + String key = userCerList.get(i).getString("FOREIGN_KEY") + ";" + userCerList.get(i).get("TYPE"); + if (imgMap.containsKey(key)) { + list = imgMap.get(key); + } + list.add(userCerList.get(i).getString("FILEPATH")); + imgMap.put(key, list); + String imgType = userCerList.get(i).get("TYPE").toString(); + Integer count = 1; + if (imgCount.containsKey(key)) { + count = imgCount.get(key) + 1; + } + if ("18".equals(imgType)) { + if (imgTypeMaxCount18 < count) { + imgTypeMaxCount18 = count; + } + } + imgCount.put(key, count); + } + for (PageData user : userList) { + int count = 0; + PageData vpd = new PageData(); + String userId = user.getString("USER_ID"); + vpd.put("var" + (1 + count), user.getString("CORP_NAME")); + vpd.put("var" + (2 + count), user.getString("NAME")); // 姓名 + vpd.put("var" + (3 + count), user.getString("USERNAME")); //登录账号 + vpd.put("var" + (4 + count), user.getString("DEPARTMENT_NAME")); //部门 + vpd.put("var" + (5 + count), user.getString("POST_NAME")); //岗位 + vpd.put("var" + (6 + count), user.getString("USERNAME")); //手机号 + vpd.put("var" + (7 + count), user.getString("SEX_NAME")); //性别 + vpd.put("var" + (8 + count), user.getString("DUTIES_NAME")); // 职务 + vpd.put("var" + (9 + count), user.getString("EMAIL")); // 邮箱 + vpd.put("var" + (10 + count), Tools.isEmpty(user.get("STATUS")) ? "" : ("1".equals(user.getString("STATUS")) ? "禁用" : "启用")); // 状态 + vpd.put("var" + (11 + count), Tools.isEmpty(user.get("ISSTUDENT")) ? "" : ("true".equals(user.getString("ISSTUDENT")) ? "是" : "否")); // 是否在线学习人员 + vpd.put("var" + (12 + count), user.getString("USER_ID_CARD")); // 身份证号 + vpd.put("var" + (13 + count), user.getString("NATION_NAME")); // 民族 + vpd.put("var" + (14 + count), user.getString("POLITICAL_OUTLOOK_NAME")); // 政治面貌 + vpd.put("var" + (15 + count), user.getString("DATE_OF_BIRTH")); // 出生年月 + vpd.put("var" + (16 + count), user.getString("DEGREE_OF_EDUCATION_NAME")); // 文化程度 + vpd.put("var" + (17 + count), user.getString("PERSONNEL_TYPE_NAME")); // 人员类型 + vpd.put("var" + (18 + count), user.getString("TITLE_NAME")); // 职称 + vpd.put("var" + (19 + count), user.getString("TYPE_OF_WORK_NAME")); // 工种 + vpd.put("var" + (20 + count), user.getString("ENTRY_DATE")); // 入职日期 + vpd.put("var" + (21 + count), user.getString("WORKING_DATE")); // 参加工作日期 + vpd.put("var" + (22 + count), user.getString("INCUMBENCY_NAME")); // 在职情况 + if (!Tools.isEmpty(user.get("USERAVATARPREFIX")) && !Tools.isEmpty(user.get("USERAVATARURL_CONVERT"))) { + vpd.put("base64" + (23 + count), user.getString("USERAVATARPREFIX")); + vpd.put("base64" + (23 + count) + "_url", user.getString("USERAVATARURL_CONVERT")); + } else { + vpd.put("base64" + (23 + count), ""); + vpd.put("base64" + (23 + count) + "_url", ""); + } + List userCerImg = imgMap.get(userId + ";18"); + for (int i = 0; i < imgTypeMaxCount18; i++) { + if (null != userCerImg) { + if (i < userCerImg.size()) { + vpd.put("img" + (24 + i), userCerImg.get(i)); + } else { + vpd.put("img" + (24 + i), ""); + } + } else { + vpd.put("img" + (24 + i), ""); + } + } + explist.add(vpd); + } + return explist; + } } diff --git a/src/main/java/com/zcloud/service/system/impl/UsersServiceImpl.java b/src/main/java/com/zcloud/service/system/impl/UsersServiceImpl.java index a250bdd..80cb22a 100644 --- a/src/main/java/com/zcloud/service/system/impl/UsersServiceImpl.java +++ b/src/main/java/com/zcloud/service/system/impl/UsersServiceImpl.java @@ -1,7 +1,8 @@ package com.zcloud.service.system.impl; -import java.util.List; +import java.util.*; +import com.zcloud.util.Tools; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -292,4 +293,84 @@ public class UsersServiceImpl implements UsersService { public void editCorpUser (PageData pd) throws Exception{ usersMapper.editCorpUser(pd); } + + public List> getDaochuReglatory (PageData page)throws Exception{ + List> list = new ArrayList<>(); + Map map = new HashMap<>(); + String vals[] = {"姓名","登录账号","部门","职务级别","手机号","性别","职务","邮箱","状态"}; + + String keys[] = {"NAME","USERNAME","DEPARTMENT_NAME","jobLevenName","PHONE","SEX","JOB","EMAIL","STATUS"}; + for (int i =0 ;i(); +// map.put(keys[i],vals[i]); + map.put("name",vals[i]); + map.put("key",keys[i]); + list.add(map); + } + return list; + } + + public List> getDaochuPrevention (PageData page)throws Exception{ + List> list = new ArrayList<>(); + Map map = new HashMap<>(); + String vals[] = { + "姓名","登录账号","部门","岗位","手机号","性别","职务","邮箱","状态" + ,"是否在线学习人员","身份证号","民族" + ,"政治面貌","出生年月","文化程度","人员类型","职称" + ,"工种","入职日期","参加工作日期","在职情况" + ,"学习人员照片","证书照片" + }; + + String keys[] = { + "NAME","USERNAME","DEPARTMENT_NAME","POST_NAME","USERNAME","SEX_NAME","DUTIES_NAME","EMAIL","STATUS" + ,"ISSTUDENT","USER_ID_CARD","NATION_NAME" + ,"POLITICAL_OUTLOOK_NAME","DATE_OF_BIRTH","DEGREE_OF_EDUCATION_NAME","PERSONNEL_TYPE_NAME","TITLE_NAME" + ,"TYPE_OF_WORK_NAME","ENTRY_DATE","WORKING_DATE","INCUMBENCY_NAME","USERAVATAR","userCerImg" + }; + for (int i =0 ;i(); +// map.put(keys[i],vals[i]); + map.put("name",vals[i]); + map.put("key",keys[i]); + list.add(map); + } + return list; + } + + @Override + public List listExport(PageData pd, String[] regKeys) throws Exception { + List varOList = listAll(pd); + + List varList = new ArrayList(); + for(int i=0;i model, + Workbook workbook, HttpServletRequest request, + HttpServletResponse response) throws Exception { + // TODO Auto-generated method stub + String proPath = PathUtil.getProjectpath(); + String beji = Const.HTTPFILEURL; + //beji =beji.replaceAll("\\\\", "/"); + + Date date = new Date(); + XSSFSheet sheet; + XSSFWorkbook book = (XSSFWorkbook) workbook; + sheet = book.createSheet("sheet1"); + + List titles = (List) model.get("titles"); + int len = titles.size(); + XSSFCellStyle headerStyle = book.createCellStyle(); //标题样式 + headerStyle.setAlignment(HorizontalAlignment.CENTER); + headerStyle.setVerticalAlignment(VerticalAlignment.CENTER); + XSSFFont headerFont = book.createFont(); //标题字体 + headerFont.setBold(true); + headerFont.setFontHeightInPoints((short)11); + headerStyle.setFont(headerFont); + short height=25*20; + XSSFRow row = sheet.createRow(0); + if(len>250) { + len = 250; + } + for(int i=0; i250) { + row.createCell(i).setCellValue(title.substring(0, 250)); + }else { + row.createCell(i).setCellValue(title); + } + } + sheet.getRow(0).setHeight(height); + + XSSFCellStyle contentStyle = book.createCellStyle(); //内容样式 + XSSFDrawing patriarch = sheet.createDrawingPatriarch(); + + contentStyle.setAlignment(HorizontalAlignment.CENTER); + List varList = (List) model.get("varList"); + + + int varCount = varList.size(); + for(int i=0; i drawing = sheet.createDrawingPatriarch(); + XSSFClientAnchor anchor1 = new XSSFClientAnchor(0, 0, 0, 0,(short) (j), (i+1), (short) (j+1), (i+2)); + // 6. 添加图片 + drawing.createPicture(anchor1, pictureIdx); + + } + if(vpd.containsKey(imgKey)) { + String varstr = vpd.getString(imgKey) != null ? vpd.getString("img"+(j+1)) : ""; + if(Tools.isEmpty(varstr)) { + continue; + } + URL url = new URL(beji+varstr); + BufferedImage bufferImg = null; + try { + bufferImg = Thumbnails.of(url).scale(0.3).asBufferedImage(); + } catch (Exception e) { + e.printStackTrace(); + } + ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream(); + if(bufferImg != null) { + ImageIO.write(bufferImg, "jpg", byteArrayOut); + XSSFClientAnchor anchor1 = new XSSFClientAnchor(0, 0, 0, 0,(short) (j), (i+1), (short) (j+1), (i+2)); + patriarch.createPicture(anchor1, book.addPicture(byteArrayOut + .toByteArray(), XSSFWorkbook.PICTURE_TYPE_JPEG)); + } + + } + + } + + } + + + // 用户 + String filename = DateUtil.date2Str(date, "yyyyMMddHHmmss"); + String filePath = PathUtil.getProjectpath() + Const.FILEPATHFILE; //文件上传路径 + + FileOutputStream fileOutputStream = null; + System.out.println(filePath); + try { + fileOutputStream = new FileOutputStream(filePath + filename + ".xlsx"); + book.write(fileOutputStream); + fileOutputStream.flush(); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if(fileOutputStream != null){ + try { + fileOutputStream.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + File excel = new File(filePath + filename + ".xlsx"); + FileInputStream in = new FileInputStream(excel); + + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + ZipOutputStream zos = new ZipOutputStream(bos); + try { + + zos.putNextEntry(new ZipEntry(filename+".xlsx")); + byte[] buf = new byte[1024]; + int length; + while ((length = in.read(buf)) > 0) { + zos.write(buf, 0, length); + } + zos.closeEntry(); + } catch (Exception e) { + e.printStackTrace(); + } finally { + + in.close(); + zos.close(); + } + + + + excel.delete(); + response.setHeader("Content-Disposition", "attachment; filename=\"" + filename+".zip" + "\""); + response.setContentType("application/octet-stream;charset=UTF-8"); + OutputStream os = response.getOutputStream(); + os.write(bos.toByteArray()); + os.close(); + } + + + +} diff --git a/src/main/java/com/zcloud/util/FileDownload.java b/src/main/java/com/zcloud/util/FileDownload.java index 7615698..d5e82dd 100644 --- a/src/main/java/com/zcloud/util/FileDownload.java +++ b/src/main/java/com/zcloud/util/FileDownload.java @@ -1,8 +1,16 @@ package com.zcloud.util; import java.io.BufferedOutputStream; +import java.io.IOException; +import java.io.InputStream; import java.io.OutputStream; +import java.net.URL; +import java.net.URLConnection; import java.net.URLEncoder; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.StandardCopyOption; import javax.servlet.http.HttpServletResponse; @@ -59,4 +67,30 @@ public class FileDownload { response.flushBuffer(); } + public static String downloadFile(String fileURL, String fileName, String saveDir) throws IOException { + URL url = new URL(fileURL); + if (isURLExists(fileURL)) { + Path targetPath = Paths.get(saveDir, fileName); + System.out.println("下载附件【 " + fileName + " 】 到 【 " + saveDir + " 】"); + try (InputStream in = url.openStream()) { + Files.copy(in, targetPath, StandardCopyOption.REPLACE_EXISTING); + } + System.out.println("附件【 " + fileName + " 】 下载完成!"); + return "ok"; + } else { + System.out.println("附件【 " + fileName + " 】 已不存在!(路径:" + fileURL + ")"); + return "fail"; + } + } + public static boolean isURLExists(String urlString) { + try { + URL url = new URL(urlString); + URLConnection connection = url.openConnection(); + connection.connect(); + return true; + } catch (IOException e) { + return false; + } + } + } diff --git a/src/main/java/com/zcloud/util/FileUtil.java b/src/main/java/com/zcloud/util/FileUtil.java index fd78a27..7239339 100644 --- a/src/main/java/com/zcloud/util/FileUtil.java +++ b/src/main/java/com/zcloud/util/FileUtil.java @@ -13,11 +13,13 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.RandomAccessFile; +import java.net.HttpURLConnection; import java.net.URL; import java.nio.ByteBuffer; import java.nio.MappedByteBuffer; import java.nio.channels.FileChannel; import java.nio.channels.FileChannel.MapMode; +import java.util.Base64; /** * 说明:文件处理 @@ -358,4 +360,44 @@ public class FileUtil { return fileContent.toString(); } + /** + * 网路路径或本地路径转base64 + * + * @throws Exception + */ + public static String encodeBase64File(String url) throws Exception { + ByteArrayOutputStream outPut = new ByteArrayOutputStream(); //网络路径 + byte[] data = new byte[1024]; + try { + // 创建URL + URL path = new URL(url); + // 创建链接 + HttpURLConnection conn = (HttpURLConnection) path.openConnection(); + conn.setRequestMethod("GET"); + conn.setConnectTimeout(10 * 1000); + + if (conn.getResponseCode() != 200) { + return "fail";//连接失败/链接失效/图片不存在 + } + InputStream inStream = conn.getInputStream(); + int len = -1; + while ((len = inStream.read(data)) != -1) { + outPut.write(data, 0, len); + } + inStream.close(); + } catch (IOException e) { + e.printStackTrace(); + } + // 对字节数组Base64编码 + byte[] encode = Base64.getEncoder().encode(outPut.toByteArray()); + String res = new String(encode); + return res; +// File file = new File(url); //本地路径 +// FileInputStream inputFile = new FileInputStream(file); +// byte[] buffer = new byte[(int) file.length()]; +// inputFile.read(buffer); +// inputFile.close(); +// return new BASE64Encoder().encode(buffer); + } + } diff --git a/src/main/java/com/zcloud/util/FileZip.java b/src/main/java/com/zcloud/util/FileZip.java index fcd2d8c..de77165 100644 --- a/src/main/java/com/zcloud/util/FileZip.java +++ b/src/main/java/com/zcloud/util/FileZip.java @@ -1,8 +1,7 @@ package com.zcloud.util; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; +import java.io.*; +import java.util.List; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; @@ -48,6 +47,47 @@ public class FileZip { in.close(); } } + + + /** + * @param fileName 生成压缩文件的全路径 + * @param files 文件集 + **/ + public static void zipList(String fileName, List files) { + ZipOutputStream outputStream1 = null; + FileOutputStream dest = null; + try { + byte[] data = new byte[1024]; + dest = new FileOutputStream(fileName); + outputStream1 = new ZipOutputStream(new BufferedOutputStream(dest)); + for (int i = 0; i < files.size(); i++) { + int count; + FileInputStream fis = new FileInputStream(files.get(i)); + BufferedInputStream bfs = new BufferedInputStream(fis); + ZipEntry entry = new ZipEntry(files.get(i).getName()); + outputStream1.putNextEntry(entry); + while ((count = bfs.read(data, 0, 1024)) != -1) { + outputStream1.write(data, 0, count); + } + bfs.close(); + fis.close(); + } + } catch (Exception e) { + System.out.println("压缩文件失败1"); + e.printStackTrace(); + } finally { + try { + outputStream1.close(); + dest.close(); + } catch (IOException e) { + System.out.println("压缩文件失败2"); + e.printStackTrace(); + } + } + for (File file : files) { + file.delete(); + } + } public static void main(String [] temp){ try { diff --git a/src/main/java/com/zcloud/util/PathUtil.java b/src/main/java/com/zcloud/util/PathUtil.java index e46f21a..6d1db1d 100644 --- a/src/main/java/com/zcloud/util/PathUtil.java +++ b/src/main/java/com/zcloud/util/PathUtil.java @@ -20,7 +20,7 @@ public class PathUtil { public static String getProjectpath(){ HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); String path = request.getServletContext().getRealPath("/").replaceAll("%20", " ").replaceAll("file:/", "").trim(); - return "/" + path; + return path; } /**获取Classpath diff --git a/src/main/java/com/zcloud/util/Smb.java b/src/main/java/com/zcloud/util/Smb.java index aea89c9..807ff7e 100644 --- a/src/main/java/com/zcloud/util/Smb.java +++ b/src/main/java/com/zcloud/util/Smb.java @@ -14,19 +14,19 @@ import org.springframework.web.multipart.MultipartFile; public class Smb { // 正式 - private static String host="192.168.10.69"; - private static Integer port=22; - private static String user="root"; - private static String password="wljt@123456"; - private static String basePath="/mnt/wlaq/file/"; - - // 测试 -// private static String host="36.133.193.8"; +// private static String host="192.168.10.69"; // private static Integer port=22; // private static String user="root"; -// private static String password="Zykj@zcloud88888"; +// private static String password="wljt@123456"; // private static String basePath="/mnt/wlaq/file/"; + // 测试 + private static String host="192.168.20.240"; + private static Integer port=22; + private static String user="root"; + private static String password="Zcloud@zcloud240"; + private static String basePath="/home/proj/wlaq/apache-tomcat-8.5.100-file/webapps/wlaq/"; + public static void sshSftp(MultipartFile file, String fileName,String path) throws Exception { Session session = null; Channel channel = null; diff --git a/src/main/java/com/zcloud/util/WordToPdfUtil.java b/src/main/java/com/zcloud/util/WordToPdfUtil.java new file mode 100644 index 0000000..646c95c --- /dev/null +++ b/src/main/java/com/zcloud/util/WordToPdfUtil.java @@ -0,0 +1,141 @@ +package com.zcloud.util; + +import com.aspose.words.Document; +import com.aspose.words.ImportFormatMode; +import com.aspose.words.License; +import com.aspose.words.SaveFormat; +import org.springframework.core.io.ClassPathResource; +import org.springframework.core.io.Resource; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.List; + +/** + * word文档转pdf + * + * @author JHY + * @date 2023/03/08 + */ +public class WordToPdfUtil { + public static void main(String[] args) { + // doc 或 docx文档 都可以 + String filePath = "C:\\Users\\Administrator\\Desktop\\档案详情.doc"; + WordToPdfUtil.docToPdf(filePath, filePath + ".pdf"); + } + + + public static boolean mergePdf(List pathList, String pdfPath) throws Exception { + + // 验证License 若不验证则转化出的pdf文档会有水印产生 + if (!getLicense()) { + return false; + } + if (pathList == null || pathList.size() == 0) { + return false; + } + FileOutputStream os = null; + try { + long old = System.currentTimeMillis(); + // 新建一个空白pdf文档 + File file = new File(pdfPath); + os = new FileOutputStream(file); + Document word = new Document(pathList.get(0)); + for (int i = 1; i < pathList.size(); i++) { + Document wordi = new Document(pathList.get(i)); + word.appendDocument(wordi, ImportFormatMode.KEEP_DIFFERENT_STYLES); + } + // 全面支持DOC, DOCX, OOXML, RTF HTML, OpenDocument, PDF,EPUB, XPS, SWF 相互转换 + word.save(os, SaveFormat.PDF); + long now = System.currentTimeMillis(); + // 转化用时 + System.out.println("pdf合并成功,共耗时:" + ((now - old) / 1000.0) + "秒"); + } catch (Exception e) { + e.printStackTrace(); + System.err.println("pdf合并失败:" + e.getMessage()); + return false; + } finally { + if (os != null) { + try { + os.flush(); + os.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + return true; + } + + /** + * 获取aspose证书 + */ + private static boolean getLicense() { + boolean result = false; + InputStream is = null; + try { + Resource resource = new ClassPathResource("license.xml"); + is = resource.getInputStream(); + License aposeLic = new License(); + aposeLic.setLicense(is); + result = true; + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (is != null) { + try { + is.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + return result; + } + + /** + * word转pdf静态方法 + * + * @param wordPath word文件全路径含文件名 + * @param pdfPath pdf输出全路径含文件名 + * @return boolean 成功/失败 + */ + public static boolean docToPdf(String wordPath, String pdfPath) { + // 验证License 若不验证则转化出的pdf文档会有水印产生 + if (!getLicense()) { + return false; + } + FileOutputStream os = null; + try { + long old = System.currentTimeMillis(); + // 新建一个空白pdf文档 + File file = new File(pdfPath); + os = new FileOutputStream(file); + // inPath是将要被转化的word文档 + Document doc = new Document(wordPath); + // 全面支持DOC, DOCX, OOXML, RTF HTML, OpenDocument, PDF,EPUB, XPS, SWF 相互转换 + doc.save(os, SaveFormat.PDF); + long now = System.currentTimeMillis(); + // 转化用时 + System.out.println("word转换pdf成功,共耗时:" + ((now - old) / 1000.0) + "秒"); + } catch (Exception e) { + System.out.println(wordPath); + System.out.println(pdfPath); + System.err.println("word转pdf失败:" + e.getMessage()); + return false; + } finally { + if (os != null) { + try { + os.flush(); + os.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + return true; + } + +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 98fafc7..1023664 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,5 +1,5 @@ spring.application.name=qa-regulatory-wlaq -server.port=7061 +server.port=8461 #开发 spring.profiles.active=dev diff --git a/src/main/resources/mybatis/datasource/superviseInspect/SuperviseInspectFilesMapper.xml b/src/main/resources/mybatis/datasource/superviseInspect/SuperviseInspectFilesMapper.xml index 83222f5..9d3558c 100644 --- a/src/main/resources/mybatis/datasource/superviseInspect/SuperviseInspectFilesMapper.xml +++ b/src/main/resources/mybatis/datasource/superviseInspect/SuperviseInspectFilesMapper.xml @@ -141,7 +141,9 @@ f WHERE f.ISDELETE = '0' - AND f.FOREIGN_KEY = #{FOREIGN_KEY} + + AND f.FOREIGN_KEY = #{FOREIGN_KEY} + AND f.TYPE = #{TYPE} diff --git a/src/main/resources/mybatis/datasource/superviseInspect/SuperviseInspectHiddenMapper.xml b/src/main/resources/mybatis/datasource/superviseInspect/SuperviseInspectHiddenMapper.xml index 4d367f0..7d028f1 100644 --- a/src/main/resources/mybatis/datasource/superviseInspect/SuperviseInspectHiddenMapper.xml +++ b/src/main/resources/mybatis/datasource/superviseInspect/SuperviseInspectHiddenMapper.xml @@ -264,4 +264,35 @@ + + + diff --git a/src/main/resources/mybatis/datasource/superviseInspect/SuperviseInspectMapper.xml b/src/main/resources/mybatis/datasource/superviseInspect/SuperviseInspectMapper.xml index 72a5143..ab15815 100644 --- a/src/main/resources/mybatis/datasource/superviseInspect/SuperviseInspectMapper.xml +++ b/src/main/resources/mybatis/datasource/superviseInspect/SuperviseInspectMapper.xml @@ -150,4 +150,26 @@ #{item} + + + diff --git a/src/main/resources/mybatis/datasource/system/UsersMapper.xml b/src/main/resources/mybatis/datasource/system/UsersMapper.xml index 6f88bd7..1d524e8 100644 --- a/src/main/resources/mybatis/datasource/system/UsersMapper.xml +++ b/src/main/resources/mybatis/datasource/system/UsersMapper.xml @@ -533,10 +533,37 @@ + select + + from + f + where f.ISDELETE = '0' + + and f.CORPINFO_ID = #{CORPINFO_ID} + + + and f.YEAR = #{YEAR} + + order by f.YEAR DESC,f.CREATTIME desc + + + diff --git a/src/main/resources/mybatis/dsno2/archives/ArchivesEduManagerMapper.xml b/src/main/resources/mybatis/dsno2/archives/ArchivesEduManagerMapper.xml new file mode 100644 index 0000000..9eb8259 --- /dev/null +++ b/src/main/resources/mybatis/dsno2/archives/ArchivesEduManagerMapper.xml @@ -0,0 +1,97 @@ + + + + + + + BUS_ARCHIVESEDUMANAGER + + + + + SYS_DICTIONARIES + + + + + f.TRAINING_DATE, + f.TRAINING_OBJECT, + f.TRAINING_TYPE, + f.TRAINING_CONTENT, + f.PERSON_NUMBER, + f.CLASS_HOURS, + f.TRAINING_PLACE, + f.TRAINING_TEACHER, + f.ASSESSMENT_METHOD, + f.ASSESSMENT, + f.CORPINFO_ID, + f.YEAR, + f.ISDELETE, + f.CREATOR, + f.CREATTIME, + f.OPERATOR, + f.OPERATTIME, + f.ARCHIVESEDUMANAGER_ID + + + + + TRAINING_DATE, + TRAINING_OBJECT, + TRAINING_TYPE, + TRAINING_CONTENT, + PERSON_NUMBER, + CLASS_HOURS, + TRAINING_PLACE, + TRAINING_TEACHER, + ASSESSMENT_METHOD, + ASSESSMENT, + CORPINFO_ID, + YEAR, + ISDELETE, + CREATOR, + CREATTIME, + OPERATOR, + OPERATTIME, + ARCHIVESEDUMANAGER_ID + + + + + #{TRAINING_DATE}, + #{TRAINING_OBJECT}, + #{TRAINING_TYPE}, + #{TRAINING_CONTENT}, + #{PERSON_NUMBER}, + #{CLASS_HOURS}, + #{TRAINING_PLACE}, + #{TRAINING_TEACHER}, + #{ASSESSMENT_METHOD}, + #{ASSESSMENT}, + #{CORPINFO_ID}, + #{YEAR}, + #{ISDELETE}, + #{CREATOR}, + #{CREATTIME}, + #{OPERATOR}, + #{OPERATTIME}, + #{ARCHIVESEDUMANAGER_ID} + + + + + + diff --git a/src/main/resources/mybatis/dsno2/archives/ArchivesEduPlanMapper.xml b/src/main/resources/mybatis/dsno2/archives/ArchivesEduPlanMapper.xml new file mode 100644 index 0000000..73276b5 --- /dev/null +++ b/src/main/resources/mybatis/dsno2/archives/ArchivesEduPlanMapper.xml @@ -0,0 +1,100 @@ + + + + + + + BUS_ARCHIVESEDUPLAN + + + + + SYS_DICTIONARIES + + + + + f.START_DATE, + f.END_DATE, + f.TRAINING_OBJECT, + f.TRAINING_MATERIALS, + f.TRAINING_METHODS, + f.ASSESSMENT_METHOD, + f.CLASS_HOURS, + f.PLACE, + f.TRAINING_TEACHERS, + f.FUND_GUARANTEE, + f.QUALITY_ASSESSMENT, + f.CORPINFO_ID, + f.YEAR, + f.ISDELETE, + f.CREATOR, + f.CREATTIME, + f.OPERATOR, + f.OPERATTIME, + f.ARCHIVESEDUPLAN_ID + + + + + START_DATE, + END_DATE, + TRAINING_OBJECT, + TRAINING_MATERIALS, + TRAINING_METHODS, + ASSESSMENT_METHOD, + CLASS_HOURS, + PLACE, + TRAINING_TEACHERS, + FUND_GUARANTEE, + QUALITY_ASSESSMENT, + CORPINFO_ID, + YEAR, + ISDELETE, + CREATOR, + CREATTIME, + OPERATOR, + OPERATTIME, + ARCHIVESEDUPLAN_ID + + + + + #{START_DATE}, + #{END_DATE}, + #{TRAINING_OBJECT}, + #{ TRAINING_MATERIALS}, + #{TRAINING_METHODS}, + #{ASSESSMENT_METHOD}, + #{CLASS_HOURS}, + #{PLACE}, + #{TRAINING_TEACHERS}, + #{FUND_GUARANTEE}, + #{QUALITY_ASSESSMENT}, + #{CORPINFO_ID}, + #{YEAR}, + #{ISDELETE}, + #{CREATOR}, + #{CREATTIME}, + #{OPERATOR}, + #{OPERATTIME}, + #{ARCHIVESEDUPLAN_ID} + + + + + + diff --git a/src/main/resources/mybatis/dsno2/archives/ArchivesFilesMapper.xml b/src/main/resources/mybatis/dsno2/archives/ArchivesFilesMapper.xml new file mode 100644 index 0000000..522b82e --- /dev/null +++ b/src/main/resources/mybatis/dsno2/archives/ArchivesFilesMapper.xml @@ -0,0 +1,145 @@ + + + + + + + BUS_ARCHIVESFILES + + + + + SYS_DICTIONARIES + + + + + f.CORPINFO_ID, + f.YEAR, + f.STUDYTASK_ID, + f.FILE_PATH, + f.FILE_NAME, + f.TYPE, + f.ARCHIVESFILES_ID + + + + + CORPINFO_ID, + YEAR, + STUDYTASK_ID, + FILE_PATH, + FILE_NAME, + TYPE, + ARCHIVESFILES_ID + + + + + #{CORPINFO_ID}, + #{YEAR}, + #{STUDYTASK_ID}, + #{FILE_PATH}, + #{FILE_NAME}, + #{TYPE}, + #{ARCHIVESFILES_ID} + + + + + insert into + + ( + + ) values ( + + ) + + + + + delete from + + where + ARCHIVESFILES_ID = #{ARCHIVESFILES_ID} + + + + + update + + set + CORPINFO_ID = #{CORPINFO_ID}, + YEAR = #{YEAR}, + FILE_PATH = #{FILE_PATH}, + FILE_NAME = #{FILE_NAME}, + TYPE = #{TYPE}, + ARCHIVESFILES_ID = ARCHIVESFILES_ID + where + ARCHIVESFILES_ID = #{ARCHIVESFILES_ID} + + + + + + + + + + + + + + update + + set + ISDELETE = '1' + where + ARCHIVESFILES_ID in + + #{item} + + + + diff --git a/src/main/resources/mybatis/dsno2/archives/ArchivesPostManMapper.xml b/src/main/resources/mybatis/dsno2/archives/ArchivesPostManMapper.xml new file mode 100644 index 0000000..67a3648 --- /dev/null +++ b/src/main/resources/mybatis/dsno2/archives/ArchivesPostManMapper.xml @@ -0,0 +1,85 @@ + + + + + + + BUS_ARCHIVES_POSTMAN + + + + + SYS_DICTIONARIES + + + + + f.NAME, + f.POST, + f.PHONE, + f.CARD_ID, + f.EFFECTIVE_DATE, + f.RETRAINING, + f.CORPINFO_ID, + f.YEAR, + f.ISDELETE, + f.CREATOR, + f.CREATTIME, + f.OPERATOR, + f.OPERATTIME, + f.ARCHIVES_POSTMAN_ID + + + + + NAME, + POST, + PHONE, + CARD_ID, + EFFECTIVE_DATE, + RETRAINING, + CORPINFO_ID, + YEAR, + ISDELETE, + CREATOR, + CREATTIME, + OPERATOR, + OPERATTIME, + ARCHIVES_POSTMAN_ID + + + + + #{NAME}, + #{POST}, + #{PHONE}, + #{CARD_ID}, + #{EFFECTIVE_DATE}, + #{RETRAINING}, + #{CORPINFO_ID}, + #{YEAR}, + #{ISDELETE}, + #{CREATOR}, + #{CREATTIME}, + #{OPERATOR}, + #{OPERATTIME}, + #{ARCHIVES_POSTMAN_ID} + + + + + + diff --git a/src/main/resources/mybatis/dsno2/archives/ArchivesTeacherMapper.xml b/src/main/resources/mybatis/dsno2/archives/ArchivesTeacherMapper.xml new file mode 100644 index 0000000..176960a --- /dev/null +++ b/src/main/resources/mybatis/dsno2/archives/ArchivesTeacherMapper.xml @@ -0,0 +1,94 @@ + + + + + + + BUS_ARCHIVESTEACHER + + + + + SYS_DICTIONARIES + + + + + f.NAME, + f.PHONE, + f.WORK_YEAR, + f.OCCUPATION, + f.CARD_ID, + f.ASSESSMENT_DEPT, + f.ASSESSMENT_DATE, + f.ASSESSMENT_RESULT, + f.DESCR, + f.CORPINFO_ID, + f.YEAR, + f.ISDELETE, + f.CREATOR, + f.CREATTIME, + f.OPERATOR, + f.OPERATTIME, + f.ARCHIVESTEACHER_ID + + + + + NAME, + PHONE, + WORK_YEAR, + OCCUPATION, + CARD_ID, + ASSESSMENT_DEPT, + ASSESSMENT_DATE, + ASSESSMENT_RESULT, + DESCR, + CORPINFO_ID, + YEAR, + ISDELETE, + CREATOR, + CREATTIME, + OPERATOR, + OPERATTIME, + ARCHIVESTEACHER_ID + + + + + #{NAME}, + #{PHONE}, + #{WORK_YEAR}, + #{OCCUPATION}, + #{CARD_ID}, + #{ASSESSMENT_DEPT}, + #{ASSESSMENT_DATE}, + #{ASSESSMENT_RESULT}, + #{DESCR}, + #{CORPINFO_ID}, + #{YEAR}, + #{ISDELETE}, + #{CREATOR}, + #{CREATTIME}, + #{OPERATOR}, + #{OPERATTIME}, + #{ARCHIVESTEACHER_ID} + + + + + + diff --git a/src/main/resources/mybatis/dsno2/bus/CheckRecordMapper.xml b/src/main/resources/mybatis/dsno2/bus/CheckRecordMapper.xml index c007118..920683f 100644 --- a/src/main/resources/mybatis/dsno2/bus/CheckRecordMapper.xml +++ b/src/main/resources/mybatis/dsno2/bus/CheckRecordMapper.xml @@ -752,4 +752,37 @@ ORDER BY f.CHECK_TIME DESC + + + + + diff --git a/src/main/resources/mybatis/dsno2/bus/HiddenCheckMapper.xml b/src/main/resources/mybatis/dsno2/bus/HiddenCheckMapper.xml index 0a3d0b9..fca8b65 100644 --- a/src/main/resources/mybatis/dsno2/bus/HiddenCheckMapper.xml +++ b/src/main/resources/mybatis/dsno2/bus/HiddenCheckMapper.xml @@ -149,4 +149,106 @@ + + diff --git a/src/main/resources/mybatis/dsno2/bus/HiddenMapper.xml b/src/main/resources/mybatis/dsno2/bus/HiddenMapper.xml index 3ed5306..1914e29 100644 --- a/src/main/resources/mybatis/dsno2/bus/HiddenMapper.xml +++ b/src/main/resources/mybatis/dsno2/bus/HiddenMapper.xml @@ -651,7 +651,7 @@ and f.HIDDENLEVEL = #{HIDDENLEVEL} - order by f.CREATTIME desc + order by c.CREATTIME ASC, f.CREATTIME desc diff --git a/src/main/resources/mybatis/dsno2/bus/HiddenSchemeMapper.xml b/src/main/resources/mybatis/dsno2/bus/HiddenSchemeMapper.xml index a8c4d18..f9d93e8 100644 --- a/src/main/resources/mybatis/dsno2/bus/HiddenSchemeMapper.xml +++ b/src/main/resources/mybatis/dsno2/bus/HiddenSchemeMapper.xml @@ -190,4 +190,105 @@ + + diff --git a/src/main/resources/mybatis/dsno2/bus/ListManagerMapper.xml b/src/main/resources/mybatis/dsno2/bus/ListManagerMapper.xml new file mode 100644 index 0000000..e61a0d3 --- /dev/null +++ b/src/main/resources/mybatis/dsno2/bus/ListManagerMapper.xml @@ -0,0 +1,112 @@ + + + + + + + BUS_LISTMANAGER + + + + + SYS_DICTIONARIES + + + + + f.NAME, + f.PERIOD, + f.TYPE, + f.CORPINFO_ID, + f.CREATOR, + f.CREATTIME, + f.OPERATOR, + f.OPERATTIME, + f.ISDELETE, + f.LISTMANAGER_ID, + f.DEPARTMENT_ID, + f.POST_ID, + f.USER_ID, + f.ACOUNT, + f.BCOUNT, + f.CCOUNT, + f.DCOUNT, + f.START_DATE, + f.END_DATE, + f.SCREENTYPE + + + + + NAME, + PERIOD, + TYPE, + CORPINFO_ID, + CREATOR, + CREATTIME, + OPERATOR, + OPERATTIME, + ISDELETE, + LISTMANAGER_ID, + DEPARTMENT_ID, + POST_ID, + USER_ID, + ACOUNT, + BCOUNT, + CCOUNT, + DCOUNT, + START_DATE, + END_DATE, + SCREENTYPE + + + + + #{NAME}, + #{PERIOD}, + #{TYPE}, + #{CORPINFO_ID}, + #{CREATOR}, + #{CREATTIME}, + #{OPERATOR}, + #{OPERATTIME}, + #{ISDELETE}, + #{LISTMANAGER_ID}, + #{DEPARTMENT_ID}, + #{POST_ID}, + #{USER_ID}, + #{ACOUNT}, + #{BCOUNT}, + #{CCOUNT}, + #{DCOUNT}, + #{START_DATE}, + #{END_DATE}, + #{SCREENTYPE} + + + + + diff --git a/src/main/resources/mybatis/dsno2/bus/TrainingScheduleMapper.xml b/src/main/resources/mybatis/dsno2/bus/TrainingScheduleMapper.xml new file mode 100644 index 0000000..f2d4556 --- /dev/null +++ b/src/main/resources/mybatis/dsno2/bus/TrainingScheduleMapper.xml @@ -0,0 +1,100 @@ + + + + + + + BUS_TRAININGSCHEDULE + + + + + SYS_DICTIONARIES + + + + + f.ORGANIZATION_DEPARTMENT, + f.TRAINING_DATE, + f.TRAINING_TIME, + f.TRAINING_CONTENT, + f.TRAINING_METHODS, + f.TRAINING_OBJECT, + f.ASSESSMENT_METHOD, + f.PLACE, + f.TRAINING_TEACHER, + f.FUND_GUARANTEE, + f.QUALITY_ASSESSMENT, + f.CORPINFO_ID, + f.STUDYTASK_ID, + f.ISDELETE, + f.CREATOR, + f.CREATTIME, + f.OPERATOR, + f.OPERATTIME, + f.TRAININGSCHEDULE_ID + + + + + ORGANIZATION_DEPARTMENT, + TRAINING_DATE, + TRAINING_TIME, + TRAINING_CONTENT, + TRAINING_METHODS, + TRAINING_OBJECT, + ASSESSMENT_METHOD, + PLACE, + TRAINING_TEACHER, + FUND_GUARANTEE, + QUALITY_ASSESSMENT, + CORPINFO_ID, + STUDYTASK_ID, + ISDELETE, + CREATOR, + CREATTIME, + OPERATOR, + OPERATTIME, + TRAININGSCHEDULE_ID + + + + + #{ORGANIZATION_DEPARTMENT}, + #{TRAINING_DATE}, + #{TRAINING_TIME}, + #{TRAINING_CONTENT}, + #{TRAINING_METHODS}, + #{TRAINING_OBJECT}, + #{ASSESSMENT_METHOD}, + #{PLACE}, + #{TRAINING_TEACHER}, + #{FUND_GUARANTEE}, + #{QUALITY_ASSESSMENT}, + #{CORPINFO_ID}, + #{STUDYTASK_ID}, + #{ISDELETE}, + #{CREATOR}, + #{CREATTIME}, + #{OPERATOR}, + #{OPERATTIME}, + #{TRAININGSCHEDULE_ID} + + + + + + diff --git a/src/main/resources/mybatis/dsno2/onlinexxks/StageExamMapper.xml b/src/main/resources/mybatis/dsno2/onlinexxks/StageExamMapper.xml new file mode 100644 index 0000000..4d465cc --- /dev/null +++ b/src/main/resources/mybatis/dsno2/onlinexxks/StageExamMapper.xml @@ -0,0 +1,98 @@ + + + + + + + BUS_STAGEEXAM + + + + + SYS_DICTIONARIES + + + + + f.CURRICULUM_ID, + f.STAGEEXAMPAPER_ID, + f.USER_ID, + f.EXAMTIMEBEGIN, + f.EXAMTIMEEND, + f.EXAMQUESTIONNUM, + f.EXAMQUESTIONRIGHT, + f.EXAMQUESTIONWRONG, + f.EXAMSCORE, + f.CREATOR, + f.CREATTIME, + f.OPERATOR, + f.OPERATTIME, + f.ISDELETE, + f.CORPINFO_ID, + f.STUDYTASK_ID, + f.STAGEEXAM_ID + + + + + CURRICULUM_ID, + STAGEEXAMPAPER_ID, + USER_ID, + EXAMTIMEBEGIN, + EXAMTIMEEND, + EXAMQUESTIONNUM, + EXAMQUESTIONRIGHT, + EXAMQUESTIONWRONG, + EXAMSCORE, + CREATOR, + CREATTIME, + OPERATOR, + OPERATTIME, + ISDELETE, + CORPINFO_ID, + STUDYTASK_ID, + STAGEEXAM_ID + + + + + #{CURRICULUM_ID}, + #{STAGEEXAMPAPER_ID}, + #{USER_ID}, + #{EXAMTIMEBEGIN}, + #{EXAMTIMEEND}, + #{EXAMQUESTIONNUM}, + #{EXAMQUESTIONRIGHT}, + #{EXAMQUESTIONWRONG}, + #{EXAMSCORE}, + #{CREATOR}, + #{CREATTIME}, + #{OPERATOR}, + #{OPERATTIME}, + #{ISDELETE}, + #{CORPINFO_ID}, + #{STUDYTASK_ID}, + #{STAGEEXAM_ID} + + + + + + diff --git a/src/main/resources/mybatis/dsno2/onlinexxks/StageExamPaperQuestionMapper.xml b/src/main/resources/mybatis/dsno2/onlinexxks/StageExamPaperQuestionMapper.xml new file mode 100644 index 0000000..c259df2 --- /dev/null +++ b/src/main/resources/mybatis/dsno2/onlinexxks/StageExamPaperQuestionMapper.xml @@ -0,0 +1,90 @@ + + + + + + + BUS_STAGEEXAMPAPERQUESTION + + + + + SYS_DICTIONARIES + + + + + f.STAGEEXAMPAPER_ID, + f.CURRICULUM_ID, + f.COURSEWARE_ID, + f.COURSEWARETYPE, + f.QUESTION_ID, + f.CREATOR, + f.CREATTIME, + f.OPERATOR, + f.OPERATTIME, + f.ISDELETE, + f.CORPINFO_ID, + f.QUESTIONSCORE, + f.STAGEEXAMPAPERQUESTION_ID + + + + + STAGEEXAMPAPER_ID, + CURRICULUM_ID, + COURSEWARE_ID, + COURSEWARETYPE, + QUESTION_ID, + CREATOR, + CREATTIME, + OPERATOR, + OPERATTIME, + ISDELETE, + CORPINFO_ID, + QUESTIONSCORE, + STAGEEXAMPAPERQUESTION_ID + + + + + #{STAGEEXAMPAPER_ID}, + #{CURRICULUM_ID}, + #{COURSEWARE_ID}, + #{COURSEWARETYPE}, + #{QUESTION_ID}, + #{CREATOR}, + #{CREATTIME}, + #{OPERATOR}, + #{OPERATTIME}, + #{ISDELETE}, + #{CORPINFO_ID}, + #{QUESTIONSCORE}, + #{STAGEEXAMPAPERQUESTION_ID} + + + + + + diff --git a/src/main/resources/mybatis/dsno2/onlinexxks/StageExamRecordMapper.xml b/src/main/resources/mybatis/dsno2/onlinexxks/StageExamRecordMapper.xml new file mode 100644 index 0000000..0582f03 --- /dev/null +++ b/src/main/resources/mybatis/dsno2/onlinexxks/StageExamRecordMapper.xml @@ -0,0 +1,104 @@ + + + + + + + BUS_STAGEEXAMRECORD + + + + + SYS_DICTIONARIES + + + + + f.STAGEEXAMPAPER_ID, + f.CURRICULUM_ID, + f.COURSEWARE_ID, + f.COURSEWARETYPE, + f.QUESTION_ID, + f.ANSWER, + f.USER_ID, + f.CREATOR, + f.CREATTIME, + f.OPERATOR, + f.OPERATTIME, + f.ISDELETE, + f.CORPINFO_ID, + f.STAGEEXAM_ID, + f.ANSWERRIGHT, + f.STUDYTASK_ID, + f.STAGEEXAMRECORD_ID + + + + + STAGEEXAMPAPER_ID, + CURRICULUM_ID, + COURSEWARE_ID, + COURSEWARETYPE, + QUESTION_ID, + ANSWER, + USER_ID, + CREATOR, + CREATTIME, + OPERATOR, + OPERATTIME, + ISDELETE, + CORPINFO_ID, + STAGEEXAM_ID, + ANSWERRIGHT, + STUDYTASK_ID, + STAGEEXAMRECORD_ID + + + + + #{STAGEEXAMPAPER_ID}, + #{CURRICULUM_ID}, + #{COURSEWARE_ID}, + #{COURSEWARETYPE}, + #{QUESTION_ID}, + #{ANSWER}, + #{USER_ID}, + #{CREATOR}, + #{CREATTIME}, + #{OPERATOR}, + #{OPERATTIME}, + #{ISDELETE}, + #{CORPINFO_ID}, + #{STAGEEXAM_ID}, + #{ANSWERRIGHT}, + #{STUDYTASK_ID}, + #{STAGEEXAMRECORD_ID} + + + + + + diff --git a/src/main/resources/mybatis/dsno2/onlinexxks/StageStudentRelationMapper.xml b/src/main/resources/mybatis/dsno2/onlinexxks/StageStudentRelationMapper.xml new file mode 100644 index 0000000..2bf6900 --- /dev/null +++ b/src/main/resources/mybatis/dsno2/onlinexxks/StageStudentRelationMapper.xml @@ -0,0 +1,138 @@ + + + + + + + BUS_STAGESTUDENTRELATION + + + + + SYS_DICTIONARIES + + + + + f.STAGEEXAMPAPER_ID, + f.USER_ID, + f.STAGEEXAMSTATE, + f.STAGEEXAMSCORE, + f.CREATOR, + f.CREATTIME, + f.OPERATOR, + f.OPERATTIME, + f.ISDELETE, + f.CORPINFO_ID, + f.STUDYTASK_ID, + f.COMPLETE_COURSEWARE, + f.COMPLETE_CLASSHOUR, + f.STAGESTUDENTRELATION_ID + + + + + STAGEEXAMPAPER_ID, + USER_ID, + STAGEEXAMSTATE, + STAGEEXAMSCORE, + CREATOR, + CREATTIME, + OPERATOR, + OPERATTIME, + ISDELETE, + CORPINFO_ID, + STUDYTASK_ID, + COMPLETE_COURSEWARE, + COMPLETE_CLASSHOUR, + STAGESTUDENTRELATION_ID + + + + + #{STAGEEXAMPAPER_ID}, + #{USER_ID}, + #{STAGEEXAMSTATE}, + #{STAGEEXAMSCORE}, + #{CREATOR}, + #{CREATTIME}, + #{OPERATOR}, + #{OPERATTIME}, + #{ISDELETE}, + #{CORPINFO_ID}, + #{STUDYTASK_ID}, + #{COMPLETE_COURSEWARE}, + #{COMPLETE_CLASSHOUR}, + #{STAGESTUDENTRELATION_ID} + + + + + + + + + diff --git a/src/main/resources/mybatis/dsno2/onlinexxks/StageexampaperMapper.xml b/src/main/resources/mybatis/dsno2/onlinexxks/StageexampaperMapper.xml new file mode 100644 index 0000000..af5fbd0 --- /dev/null +++ b/src/main/resources/mybatis/dsno2/onlinexxks/StageexampaperMapper.xml @@ -0,0 +1,86 @@ + + + + + + + BUS_STAGEEXAMPAPER + + + + + SYS_DICTIONARIES + + + + + f.EXAMNAME, + f.EXAMTIME, + f.ANSWERSHEETTIME, + f.EXAMSCORE, + f.QUESTIONNUM, + f.EXAMSTATE, + f.CREATOR, + f.CREATTIME, + f.OPERATOR, + f.OPERATTIME, + f.ISDELETE, + f.CORPINFO_ID, + f.CURRICULUM_ID, + f.STUDYTASK_ID, + f.PASSSCORE, + f.INPUT_ID, + f.STAGEEXAMPAPER_ID + + + + + EXAMNAME, + EXAMTIME, + ANSWERSHEETTIME, + EXAMSCORE, + QUESTIONNUM, + EXAMSTATE, + CREATOR, + CREATTIME, + OPERATOR, + OPERATTIME, + ISDELETE, + CORPINFO_ID, + STUDYTASK_ID, + PASSSCORE, + INPUT_ID, + STAGEEXAMPAPER_ID + + + + + #{EXAMNAME}, + #{EXAMTIME}, + #{ANSWERSHEETTIME}, + #{EXAMSCORE}, + #{QUESTIONNUM}, + #{EXAMSTATE}, + #{CREATOR}, + #{CREATTIME}, + #{OPERATOR}, + #{OPERATTIME}, + #{ISDELETE}, + #{CORPINFO_ID}, + #{STUDYTASK_ID}, + #{PASSSCORE}, + #{INPUT_ID}, + #{STAGEEXAMPAPER_ID} + + + + + + diff --git a/src/main/resources/mybatis/dsno2/onlinexxks/StudyTaskMapper.xml b/src/main/resources/mybatis/dsno2/onlinexxks/StudyTaskMapper.xml new file mode 100644 index 0000000..1106d96 --- /dev/null +++ b/src/main/resources/mybatis/dsno2/onlinexxks/StudyTaskMapper.xml @@ -0,0 +1,184 @@ + + + + + + + BUS_STUDYTASK + + + + + SYS_DICTIONARIES + + + + + f.STUDY_NAME, + f.TRAINTYPE, + f.POSTTYPE, + f.PEIXUE_START_TIME, + f.PEIXUE_END_TIME, + f.KJ_STATE, + f.GJ_STATE, + f.STAGEEXAMPAPER_ID, + f.STUDY_USER_ID, + f.STUDY_CURRICULUM_ID, + f.CREATOR, + f.CREATTIME, + f.OPERATOR, + f.OPERATTIME, + f.ISDELETE, + f.CORPINFO_ID, + f.STATE, + f.COURSEWARE_COUNT, + f.SUM_CLASSHOUR, + f.STUDYTASK_ID + + + + + STUDY_NAME, + TRAINTYPE, + POSTTYPE, + PEIXUE_START_TIME, + PEIXUE_END_TIME, + KJ_STATE, + GJ_STATE, + STAGEEXAMPAPER_ID, + STUDY_USER_ID, + STUDY_CURRICULUM_ID, + CREATOR, + CREATTIME, + OPERATOR, + OPERATTIME, + ISDELETE, + CORPINFO_ID, + STATE, + COURSEWARE_COUNT, + SUM_CLASSHOUR, + STUDYTASK_ID + + + + + #{STUDY_NAME}, + #{TRAINTYPE}, + #{POSTTYPE}, + #{PEIXUE_START_TIME}, + #{PEIXUE_END_TIME}, + #{KJ_STATE}, + #{GJ_STATE}, + #{STAGEEXAMPAPER_ID}, + #{STUDY_USER_ID}, + #{STUDY_CURRICULUM_ID}, + #{CREATOR}, + #{CREATTIME}, + #{OPERATOR}, + #{OPERATTIME}, + #{ISDELETE}, + #{CORPINFO_ID}, + #{STATE}, + #{COURSEWARE_COUNT}, + #{SUM_CLASSHOUR}, + #{STUDYTASK_ID} + + + + + + + + + + + + + + diff --git a/src/main/resources/mybatis/dsno2/system/Department2Mapper.xml b/src/main/resources/mybatis/dsno2/system/Department2Mapper.xml index f2517b8..fd979e3 100644 --- a/src/main/resources/mybatis/dsno2/system/Department2Mapper.xml +++ b/src/main/resources/mybatis/dsno2/system/Department2Mapper.xml @@ -186,14 +186,18 @@ from where 1=1 - - and PARENT_ID = #{parentId} + + and PARENT_ID = #{parameter} AND - CORPINFO_ID = #{CORPINFO_ID} + CORPINFO_ID = #{CORPINFO_ID} - order by NAME + + AND + PARENT_ID = #{PARENT_ID} + + order by DEP_ORDER asc ,NAME diff --git a/src/main/resources/mybatis/dsno2/system/UsersMapper.xml b/src/main/resources/mybatis/dsno2/system/UsersMapper.xml index 7046dd6..6a6a868 100644 --- a/src/main/resources/mybatis/dsno2/system/UsersMapper.xml +++ b/src/main/resources/mybatis/dsno2/system/UsersMapper.xml @@ -265,62 +265,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" order by u.LAST_LOGIN desc - - - + select + u.USER_ID, + u.USERNAME, + u.PASSWORD, + u.LAST_LOGIN, + u.NAME, + u.IP, + u.EMAIL, + u.NUMBER, + u.PHONE, + r.ROLE_ID, + r.ROLE_NAME + from u, r + where u.ROLE_ID = r.ROLE_ID + and u.USERNAME != 'admin' + + + and + ( + u.USERNAME LIKE CONCAT(CONCAT('%', #{KEYWORDS}),'%') + or + u.EMAIL LIKE CONCAT(CONCAT('%', #{KEYWORDS}),'%') + or + u.NUMBER LIKE CONCAT(CONCAT('%', #{KEYWORDS}),'%') + or + u.NAME LIKE CONCAT(CONCAT('%', #{KEYWORDS}),'%') + or + u.PHONE LIKE CONCAT(CONCAT('%', #{KEYWORDS}),'%') + ) + + + and u.ROLE_ID=#{ROLE_ID} + + + and u.LAST_LOGIN >= #{STRARTTIME} + + + and u.LAST_LOGIN <= #{ENDTIME} + + + AND + u.CORPINFO_ID = #{CORPINFO_ID} + + + AND + u.DEPARTMENT_ID = #{DEPARTMENT_ID} + + + AND + u.POST_ID = #{POST_ID} + + + AND + u.USER_ID != #{LOGINUSERID} + + + AND + u.ISMAIN != '1' + + + AND + u.ISMAIN =#{ISMAIN} + + order by u.DEPARTMENT_ID asc, u.SORT asc,u.LAST_LOGIN desc + + + diff --git a/src/main/webapp/uploadFiles/wordTemplate/archivesCapital.docx b/src/main/webapp/uploadFiles/wordTemplate/archivesCapital.docx new file mode 100644 index 0000000..4b48bf5 --- /dev/null +++ b/src/main/webapp/uploadFiles/wordTemplate/archivesCapital.docx @@ -0,0 +1,34 @@ + 培训资金提取和使用情况管理台账 +单位名称:<<${value1}>> + 序号 +日期 + 费用项目 + 余额 + 年度 + + + 提取金额 + 培训教材教具费 + 师资费 + 试卷印制费 + 外出培训费 + 教学设备、课桌椅等购置维护费 + 培训活动费 + 委托培训费 + 其他与培训有关的直接支出 + + + <<${list1.value1}>> + <<${list1.value2}>> + <<${list1.value3}>> + <<${list1.value4}>> + <<${list1.value5}>> + <<${list1.value6}>> + <<${list1.value7}>> + <<${list1.value8}>> + <<${list1.value9}>> + <<${list1.value10}>> + <<${list1.value11}>> + <<${list1.value12}>> + <<${list1.value13}>> +制表人: 编制日期: 审核人: 审核日期: diff --git a/src/main/webapp/uploadFiles/wordTemplate/archivesEduManager.docx b/src/main/webapp/uploadFiles/wordTemplate/archivesEduManager.docx new file mode 100644 index 0000000..43b21e0 --- /dev/null +++ b/src/main/webapp/uploadFiles/wordTemplate/archivesEduManager.docx @@ -0,0 +1,27 @@ + 安全培训教育管理台账 +单位名称:<<${value1}>> + 序号 +培训时间 + 培训对象 + 培训类型 + 培训内容 + 参加人数 + 培训学时 + 培训地点 + 培训教师 + 考核方式 + 汇总考核情况 + 年度 + <<${list1.value1}>> + <<${list1.value2}>> + <<${list1.value3}>> + <<${list1.value4}>> + <<${list1.value5}>> + <<${list1.value6}>> + <<${list1.value7}>> + <<${list1.value8}>> + <<${list1.value9}>> + <<${list1.value10}>> + <<${list1.value11}>> + <<${list1.value12}>> +填表人: 更新日期: diff --git a/src/main/webapp/uploadFiles/wordTemplate/archivesEduPlan.docx b/src/main/webapp/uploadFiles/wordTemplate/archivesEduPlan.docx new file mode 100644 index 0000000..21ac8a1 --- /dev/null +++ b/src/main/webapp/uploadFiles/wordTemplate/archivesEduPlan.docx @@ -0,0 +1,29 @@ + 安全培训教育计划 +单位名称:<<${value1}>> + 序号 +开始时间 + 结束时间 + 培训对象 + 培训教材 + 培训方式 + 考核方式 + 学时 + 地点 + 培训教师 + 经费保障 + 质量评估 + 年度 + <<${list1.value1}>> + <<${list1.value2}>> + <<${list1.value3}>> + <<${list1.value4}>> + <<${list1.value5}>> + <<${list1.value6}>> + <<${list1.value7}>> + <<${list1.value8}>> + <<${list1.value9}>> + <<${list1.value10}>> + <<${list1.value11}>> + <<${list1.value12}>> + <<${list1.value13}>> + 档案管理人员: 更新日期: diff --git a/src/main/webapp/uploadFiles/wordTemplate/archivesExam.docx b/src/main/webapp/uploadFiles/wordTemplate/archivesExam.docx new file mode 100644 index 0000000..513739e --- /dev/null +++ b/src/main/webapp/uploadFiles/wordTemplate/archivesExam.docx @@ -0,0 +1,17 @@ + +单位名称:<<${value1}>>任务名称:<<${value2}>> + + <<${value3}>> + (满分:<<${value4}>>分) +<<[#list>><<[#if>> +(<<${item.value1}>>)<<${item.value2}>>.<<${item.value3}>> (题目分值:<<${item.value4}>>) + <<${item.value5}>> + <<${item.value6}>> + <<${item.value7}>> + <<${item.value8}>> +<<[#else]>> +(<<${item.value1}>>)<<${item.value2}>>.<<${item.value3}>> (题目分值:<<${item.value4}>>) + <<${item.value5}>> <<${item.value6}>> +<<[/#if]>><<[/#list]>> + + diff --git a/src/main/webapp/uploadFiles/wordTemplate/archivesPostMan.docx b/src/main/webapp/uploadFiles/wordTemplate/archivesPostMan.docx new file mode 100644 index 0000000..471c24c --- /dev/null +++ b/src/main/webapp/uploadFiles/wordTemplate/archivesPostMan.docx @@ -0,0 +1,19 @@ + 三岗人员管理台账 +单位名称:<<${value1}>> + 序号 + 姓名 + 岗位/操作项目 + 电话 + 证书号 + 证书有效期限 + 复训日期 + 年度 + <<${list1.value1}>> + <<${list1.value2}>> + <<${list1.value3}>> + <<${list1.value4}>> + <<${list1.value5}>> + <<${list1.value6}>> + <<${list1.value7}>> + <<${list1.value8}>> + 档案管理人员: 更新日期: diff --git a/src/main/webapp/uploadFiles/wordTemplate/archivesReport.docx b/src/main/webapp/uploadFiles/wordTemplate/archivesReport.docx new file mode 100644 index 0000000..35ce786 --- /dev/null +++ b/src/main/webapp/uploadFiles/wordTemplate/archivesReport.docx @@ -0,0 +1,20 @@ + + <<${value1}>>培训综合考评报告 + + 任务名称 +<<${value2}>> + 培训组织部门 +<<${value3}>> + 评估日期 +<<${value4}>> + 考核方式 +<<${value5}>> + 本次工作培训描述 +本次培训的主要内容是:<<${value6}>>。共应参加人数为<<${value7}>>人,实际参加培训人数为<<${value8}>>人, 参加率为<<${value9}>> + 本次培训考评结论 +本次通过笔试的方式进行了培训效果考核,考核人数为<<${value10}>>人,考核合格人数为<<${value11}>>人, 合格率为<<${value12}>> + 评估负责人 +<<${value13}>> + 参加评估人 +<<${value14}>> + diff --git a/src/main/webapp/uploadFiles/wordTemplate/archivesStudentScore.docx b/src/main/webapp/uploadFiles/wordTemplate/archivesStudentScore.docx new file mode 100644 index 0000000..041bb1d --- /dev/null +++ b/src/main/webapp/uploadFiles/wordTemplate/archivesStudentScore.docx @@ -0,0 +1,46 @@ + 学员统计情况总表 + 报表日期:<<${value1}>> + + 公司名称 + 任务名称 + <<${value2}>> + <<${value3}>> + 培训时间 + 计划课时 + <<${value4}>> + <<${value5}>> + 培训人数 + 合格人数 + <<${value6}>> + <<${value7}>> + 合格学员名单 + 序号 + 姓名 + 身份证 + 手机号 + 性别 + 完成学时 + 结业考试成绩 + <<${list1.value1}>> + <<${list1.value2}>> + <<${list1.value3}>> + <<${list1.value4}>> + <<${list1.value5}>> + <<${list1.value6}>> + <<${list1.value7}>> + 未合格学员名单 + 序号 + 姓名 + 身份证 + 手机号 + 性别 + 完成学时 + 结业考试成绩 + <<${list2.value1}>> + <<${list2.value2}>> + <<${list2.value3}>> + <<${list2.value4}>> + <<${list2.value5}>> + <<${list2.value6}>> + <<${list2.value7}>> + diff --git a/src/main/webapp/uploadFiles/wordTemplate/archivesStudyTask.docx b/src/main/webapp/uploadFiles/wordTemplate/archivesStudyTask.docx new file mode 100644 index 0000000..72594ca --- /dev/null +++ b/src/main/webapp/uploadFiles/wordTemplate/archivesStudyTask.docx @@ -0,0 +1,24 @@ + 安全培训教育记录及签字表 + (□岗前三级培训 □专项培训 □再培训 □日常培训) + + 日期 +<<${value1}>> + 培训地点 +<<${value2}>> + 人数 +<<${value3}>> + 学时 +<<${value4}>> + 培训对象 +<<${value5}>> + 培训教师 +<<${value6}>> +培训内容:<<${value7}>> + 受培训人 + 序号 + 部门 + 姓名 + <<${list.value1}>> + <<${list.value2}>> +<<${list.value3}>> + diff --git a/src/main/webapp/uploadFiles/wordTemplate/archivesTeacher.docx b/src/main/webapp/uploadFiles/wordTemplate/archivesTeacher.docx new file mode 100644 index 0000000..8990abf --- /dev/null +++ b/src/main/webapp/uploadFiles/wordTemplate/archivesTeacher.docx @@ -0,0 +1,25 @@ + 本单位师资管理台账 +单位名称:<<${value1}>> + 序号 + 姓名 + 电话 + 从事本专业工作年限 + 专/兼职 + 证书编号 + 考核部门 + 考核日期 + 考核结果 + 备注 + 年度 + <<${list1.value1}>> + <<${list1.value2}>> + <<${list1.value3}>> + <<${list1.value4}>> + <<${list1.value5}>> + <<${list1.value6}>> + <<${list1.value7}>> + <<${list1.value8}>> + <<${list1.value9}>> + <<${list1.value10}>> + <<${list1.value11}>> + 档案管理人员: 更新日期: diff --git a/src/main/webapp/uploadFiles/wordTemplate/classhour-new.docx b/src/main/webapp/uploadFiles/wordTemplate/classhour-new.docx new file mode 100644 index 0000000..a5c9d43 --- /dev/null +++ b/src/main/webapp/uploadFiles/wordTemplate/classhour-new.docx @@ -0,0 +1,27 @@ + 学时证明 + 姓名 + <<${value2}>> + 证件类型 + <<${value3}>> + 证件编号 + <<${value4}>> + 培训单位名称 + <<${value5}>> + 班级名称 + <<${value6}>> + 培训日期 + <<${value7}>> + 培训类型 + <<${value8}>> + 视频学习时长 + <<${value9}>> + 资料学习时长 + <<${value10}>> + 合计学习时长 + <<${value11}>> + + + + + 培训单位:(盖章) 日期:<<${value12}>> + diff --git a/src/main/webapp/uploadFiles/wordTemplate/courseware.docx b/src/main/webapp/uploadFiles/wordTemplate/courseware.docx new file mode 100644 index 0000000..8c17ec3 --- /dev/null +++ b/src/main/webapp/uploadFiles/wordTemplate/courseware.docx @@ -0,0 +1,8 @@ + <<${value1}>>年度安全再培训 + +<<[#list>> +<<${item.value1}>> + 讲 师:<<${item.value2}>> + 课件描述:<<${item.value3}>> +<<[/#list]>> + diff --git a/src/main/webapp/uploadFiles/wordTemplate/curriculum-new.docx b/src/main/webapp/uploadFiles/wordTemplate/curriculum-new.docx new file mode 100644 index 0000000..6d3ff74 --- /dev/null +++ b/src/main/webapp/uploadFiles/wordTemplate/curriculum-new.docx @@ -0,0 +1,13 @@ + 培训内容 +姓名:<<${value15}>> 身份证号:<<${value16}>> + 班级名称 + <<${value17}>> + 序号 + 课程内容 + <<[#if>>学时<<[#else]>>课时<<[/#if]>> + 讲师 + <<${list1.value1}>> + <<${list1.value2}>> + <<${list1.value3}>> + <<${list1.value4}>> + diff --git a/src/main/webapp/uploadFiles/wordTemplate/exam.docx b/src/main/webapp/uploadFiles/wordTemplate/exam.docx new file mode 100644 index 0000000..8e61158 --- /dev/null +++ b/src/main/webapp/uploadFiles/wordTemplate/exam.docx @@ -0,0 +1,20 @@ + <<${value15}>> + (满分:<<${value16}>>分) +班级名称:<<${value14}>> +姓名:<<${value18}>> +分数:<<${value20}>> +考试时间:<<${value19}>> +签字: +<<[#list>><<[#if>> +(<<${item.value1}>>)<<${item.value2}>>.<<${item.value3}>> (题目分值:<<${item.value4}>> 正确答案:<<${item.value10}>><<[#if>> 学员答案:<<${item.value9}>><<[/#if]>>) + <<${item.value5}>> + <<${item.value6}>> + <<${item.value7}>> + <<${item.value8}>> +<<[#else]>> +(<<${item.value1}>>)<<${item.value2}>>.<<${item.value3}>> (题目分值:<<${item.value4}>> 正确答案:<<${item.value10}>><<[#if>> 学员答案:<<${item.value9}>><<[/#if]>>) + <<${item.value5}>> <<${item.value6}>> +<<[/#if]>><<[/#list]>> + + + diff --git a/src/main/webapp/uploadFiles/wordTemplate/homepage.docx b/src/main/webapp/uploadFiles/wordTemplate/homepage.docx new file mode 100644 index 0000000..304a41d --- /dev/null +++ b/src/main/webapp/uploadFiles/wordTemplate/homepage.docx @@ -0,0 +1,21 @@ + 档案编号:<<${value1}>> + + + + + + 生产经营单位从业人员安全培训档案 + + + + + + + + + + + 姓 名:<<${value2}>> + 身份证号:<<${value3}>> + 建档日期:<<${value4}>> + 单位名称(公章):<<${value5}>> diff --git a/src/main/webapp/uploadFiles/wordTemplate/practice-new.ftl b/src/main/webapp/uploadFiles/wordTemplate/practice-new.ftl new file mode 100644 index 0000000..2bb9647 --- /dev/null +++ b/src/main/webapp/uploadFiles/wordTemplate/practice-new.ftl @@ -0,0 +1,3209 @@ + + + + Administrator + 微信用户 + 1 + 2023-03-08T08:35:00Z + 2023-10-10T06:19:06Z + 1440 + 1 + 0 + 0 + 0 + 0 + 0 + 14 + + + 2052-12.1.0.15712 + 50A65C67EE56442BA5381FDBB58E02F6_12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${pic} + + + + + + + + + + + + + + + + + + + + + + + 生产经营单位师傅带徒弟实习教育安全培训考核记录 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 生产经营单位或安全生产管理机构名称:(盖章) + + + + + + + + + + ${practicevalue1} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 档案编号: + + + + + + + + + + ${practicevalue2} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 姓名 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${practicevalue3} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 性别 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${practicevalue4} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 身份证 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${practicevalue5} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 部门 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${practicevalue6} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 工种 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${practicevalue7} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 实习起止日期 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${practicevalue8} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 实习实际天数 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${practicevalue9} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 师傅姓名 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${practicevalue10} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 工作年限 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${practicevalue11} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 人员类型 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <#list personnelTypeList as ptList><#if ptList.DICTIONARIES_ID == PERSONNEL_TYPE>☑<#else>□${ptList.NAME} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 师傅带徒弟实习教育安全培训及考核实施情况 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 序号 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 培训地点 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 培训主要内容 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 工人师傅 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 考试成绩 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 补考成绩 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 本人签字 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${pic2} + + + + + + + + + + + + + + + + + + + + + + + + + 记录 + + + + + + + + + + + + + + + + 人员 + + + + + + + + + + + + + + + + (签字): + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${pic3} + + + + + + + + + + + + + + + + + + + + + + + + + 考核人员(签字): + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${pic4} + + + + + + + + + + + + + + + + + + + + + + + + + 安全生产管理机构负责人(签章): + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 归档日期: + + + + + + + + + ${practicevalue12} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/uploadFiles/wordTemplate/registerform.docx b/src/main/webapp/uploadFiles/wordTemplate/registerform.docx new file mode 100644 index 0000000..4d2a36f --- /dev/null +++ b/src/main/webapp/uploadFiles/wordTemplate/registerform.docx @@ -0,0 +1,56 @@ + 生产经营单位新入职从业人员登记表 +生产经营单位名称(盖章):<<${value20}>> + 档案编号:<<${value21}>> + 姓 名 + <<${value1}>> + 性 别 + <<${value2}>> + + 民 族 + <<${value3}>> + 政治面貌 + <<${value4}>> + + 文化程度 + <<${value5}>> + 健康状况 + <<${value6}>> + + 出生年月 + <<${value7}>> + 身份证号 + <<${value8}>> + + 毕业院校及专业 + <<${value9}>> + 职务/职称 + <<${value10}>> + 户籍所在地 + <<${value11}>> + 参加工作时间 + <<${value12}>> + 进入本单位时间 + <<${value13}>> + 入职部门 + <<${value14}>> + 岗位名称 + <<${value15}>> + 之前从事本岗位时间 + <<${value16}>> + 主要工作经历 +<<${value17}>> +入职前接受安全培训和考核以及取得安全培训有关的岗位证书等情况 +<<${value18}>> +入职前受过何种有关安全生产的处罚以及是否受到刑事处罚 +<<${value19}>> + 入职统计表相关信息核定情况 +入职人承诺:以上信息已经本人核实,信息真实、有效、完整,如有虚假或欺骗等行为,自愿承担相应的法律责任。 + + 入职人(签字并按指纹): + 承诺日期: 年 月 日 + +生产经营单位核查意见: + + 核查人员(签字): + 核查日期: 年 月 日 + diff --git a/src/main/webapp/uploadFiles/wordTemplate/safelog-new2.ftl b/src/main/webapp/uploadFiles/wordTemplate/safelog-new2.ftl new file mode 100644 index 0000000..739c7e0 --- /dev/null +++ b/src/main/webapp/uploadFiles/wordTemplate/safelog-new2.ftl @@ -0,0 +1,3482 @@ + + + + + 张小尸 + 张小尸 + 1 + 2023-08-08T07:52:00Z + 2023-08-23T00:58:30Z + 4320 + 1 + 180 + 484 + 0 + 0 + 560 + 14 + + + 2052-11.1.0.14309 + 5C4A61BB45B5413F917617B340677BCB_13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${examinevalue14} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 生产经营单位或安全生产管理机构名称:(盖章) + + + + + + + + + + + + + + + + MERGEFIELD ${examinevalue1} + + + + + + + + + + + + + + + + ${examinevalue1} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 档案编号: + + + + + + + + + + + + + + + + + + MERGEFIELD ${examinevalue2} + + + + + + + + + + + + + + + + + + ${examinevalue2} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 姓名 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MERGEFIELD ${examinevalue3} + + + + + + + + + + + + + + + + + + + + ${examinevalue3} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 性别 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MERGEFIELD ${examinevalue4} + + + + + + + + + + + + + + + + + + + + ${examinevalue4} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 身份证号 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MERGEFIELD ${examinevalue5} + + + + + + + + + + + + + + + + + + + + ${examinevalue5} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 学历 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MERGEFIELD ${examinevalue6} + + + + + + + + + + + + + + + + + + + + ${examinevalue6} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 专业 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MERGEFIELD ${examinevalue7} + + + + + + + + + + + + + + + + + + + + ${examinevalue7} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${examinevalue100} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MERGEFIELD ${examinevalue8} + + + + + + + + + + + + + + + + + + + + ${examinevalue8} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 部门 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MERGEFIELD ${examinevalue9} + + + + + + + + + + + + + + + + + + + + ${examinevalue9} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${examinevalue101} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MERGEFIELD ${examinevalue10} + + + + + + + + + + + + + + + + + + + + ${examinevalue10} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 行业类别 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MERGEFIELD ${examinevalue11} + + + + + + + + + + + + + + + + + + + + ${examinevalue11} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 联系电话 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MERGEFIELD ${examinevalue12} + + + + + + + + + + + + + + + + + + + + ${examinevalue12} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 人员类型 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <#list personnelTypeList as ptList><#if ptList.DICTIONARIES_ID == PERSONNEL_TYPE>☑<#else>□${ptList.NAME} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 安全培训及考核实施情况 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 序号 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 培训时间 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 培训地点 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 培训主要内容 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 学时 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 培训讲师 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 考试成绩 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 补考成绩 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 本人签字 + + + + + <#list list2 as list2> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MERGEFIELD ${list2.value1} + + + + + + + + + + + + + + + + + + + + ${list2.value1} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MERGEFIELD ${list2.value2} + + + + + + + + + + + + + + + + + + + + ${list2.value2} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MERGEFIELD ${list2.value3} + + + + + + + + + + + + + + + + + + + + ${list2.value3} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MERGEFIELD ${list2.value4} + + + + + + + + + + + + + + + + + + + + ${list2.value4} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${list2.value5} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MERGEFIELD ${list2.value6} + + + + + + + + + + + + + + + + + + + + ${list2.value6} + + + + + + + + + + + + + + + + + + + + <#if (list2_index??)&&(list2_index==0)> + + <#else> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MERGEFIELD ${list2.value6} + + + + + + + + + + + + + + + + + + + + ${list2.value7} + + + + + + + + + + + + + + + + + + + + <#if (list2_index??)&&(list2_index==0)> + + <#else> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MERGEFIELD ${list2.value6} + + + + + + + + + + + + + + + + + + + + ${list2.value8} + + + + + + + + + + + + + + + + + + + <#if (list2_index??)&&(list2_index==0)> + + <#else> + + + + <#if (list2_index??)&&(list2_index==0)> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${pic2} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${pic5} + + + + + + + + + + + + + + + + + + + ${pic4} + + + + + + + + + + + + + + + + + + ${pic3} + + + + + + + + + + + + + + + + + + + + 记录人员(签字): 考核人员(签字): 安全生产管理机构负责人(签章): 归档日期: + + + + + + + + + + + + + + + + + + MERGEFIELD ${examinevalue13} + + + + + + + + + + + + + + + + + + ${examinevalue13} + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/webapp/uploadFiles/wordTemplate/safelog.docx b/src/main/webapp/uploadFiles/wordTemplate/safelog.docx new file mode 100644 index 0000000..8955790 --- /dev/null +++ b/src/main/webapp/uploadFiles/wordTemplate/safelog.docx @@ -0,0 +1,43 @@ + <<${value1}>>生产经营单位<<${value2}>>安全培训考核记录 + +生产经营单位或安全生产管理机构名称:(盖章) 身份证号:<<${value3}>> + 姓名 +<<${value4}>> + 性别 +<<${value5}>> + 身份证 +<<${value6}>> + 学历 +<<${value7}>> + 专业 +<<${value8}>> + 部门 +<<${value9}>> + 职务 +<<${value10}>> + 工种 +<<${value11}>> + 行业类别 +<<${value12}>> + 联系电话 +<<${value13}>> + 人员类型 +<<${value14}>> + 考试成绩 +<<${value15}>> + 本人签字 + + 安全培训及考核实施情况 + 序号 + 培训时间 + 培训地点 + 培训主要内容 + 学时 + 培训教师 + <<${list.value1}>> + <<${list.value2}>> +<<${list.value3}>> +<<${list.value4}>> + <<${list.value5}>> + <<${list.value6}>> + diff --git a/src/main/webapp/uploadFiles/wordTemplate/studentInfo.docx b/src/main/webapp/uploadFiles/wordTemplate/studentInfo.docx new file mode 100644 index 0000000..c429c56 --- /dev/null +++ b/src/main/webapp/uploadFiles/wordTemplate/studentInfo.docx @@ -0,0 +1,18 @@ + + + 学员学习档案 + + + +姓 名:<<${value1}>> +证件号码:<<${value2}>> +联系电话: <<${value3}>> +班级编号:<<${value4}>> +班级名称:<<${value5}>> + +培训日期:<<${value6}>> +学习方式:<<${value7}>> +课程形式:<<${value8}>> +培训学时:<<${value9}>> +培训科目:<<${value10}>> +单位名称: <<${value11}>> diff --git a/src/main/webapp/uploadFiles/wordTemplate/trainingSchedule.docx b/src/main/webapp/uploadFiles/wordTemplate/trainingSchedule.docx new file mode 100644 index 0000000..54d863e --- /dev/null +++ b/src/main/webapp/uploadFiles/wordTemplate/trainingSchedule.docx @@ -0,0 +1,27 @@ + 培训计划 +单位名称:<<${value1}>> + 序号 + 培训组织部门 + 培训日期 + 培训时间 + 培训内容 + 培训方式 + 培训对象 + 考核方式 + 地点 + 培训教师 + 经费保障 + 质量评估 + <<${list1.value1}>> + <<${list1.value2}>> + <<${list1.value3}>> + <<${list1.value4}>> + <<${list1.value5}>> + <<${list1.value6}>> + <<${list1.value7}>> + <<${list1.value8}>> + <<${list1.value9}>> + <<${list1.value10}>> + <<${list1.value11}>> + <<${list1.value12}>> +