From 8728733ad60e1698bb6cf0fa2e428c28a6bffbe7 Mon Sep 17 00:00:00 2001 From: linzhijie <19970921lzj> Date: 星期二, 06 四月 2021 10:34:12 +0800 Subject: [PATCH] 需求提交。 --- src/main/java/com/ots/project/exam/controller/TExamReportController.java | 127 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 126 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/ots/project/exam/controller/TExamReportController.java b/src/main/java/com/ots/project/exam/controller/TExamReportController.java index 320f3df..96f28b2 100644 --- a/src/main/java/com/ots/project/exam/controller/TExamReportController.java +++ b/src/main/java/com/ots/project/exam/controller/TExamReportController.java @@ -40,6 +40,7 @@ import com.ots.project.exam.dto.QuestionObject; import com.ots.project.exam.dto.QuestionReport; import com.ots.project.exam.dto.RelatedParty; +import com.ots.project.exam.mapper.TExamPaperQuestionMapper; import com.ots.project.exam.service.IEntDemographyInfoService; import com.ots.project.exam.service.IEntTestPackageService; import com.ots.project.exam.service.ISysUserExtendService; @@ -122,7 +123,6 @@ private IExamUtilService iExamUtilService; @Autowired private IEntTestPackageService entTestPackageService; - @Autowired private ITExamPaperService itExamPaperService; @@ -198,6 +198,19 @@ } /** + * 娴嬭瘎鍒楄〃 + * @return + */ + @RequiresPermissions("exam:evaluation_report:view") + @GetMapping("/reportView/evaluationReport") + public String evaluationReport(ModelMap mmap) { + //杩斿洖鎵�鏈変骇鍝� + List<TExamPaper> dictList = itExamPaperService.getUserPapers(); + mmap.put("dictList",dictList); + return prefix + "/evaluationReport"; + } + + /** * 鏌ヨ璇勬祴鎶ュ憡鍒楄〃(澶撮儴) */ @RequiresPermissions("exam:hrEmailReport:view") @@ -252,6 +265,45 @@ List<Map<String, String>> filedList = new ArrayList<>(); filedList.add(title); return getDataTable(filedList); + } + + /** + * 鏌ヨ璇勬祴鎶ュ憡鍒楄〃(鏁版嵁鍒�) + * 鏍规嵁鐢ㄦ埛瑙掕壊鏄剧ず涓嶅悓鍒楄〃 + * @param tExamReport + * @return + */ + @RequiresPermissions("exam:report:list") + @PostMapping("/newListData") + @ResponseBody + public TableDataInfo newListData(TExamReport tExamReport) { + startPage(); + List<TExamReport> list = new ArrayList<>(); + // 瀹屾垚鐨� + tExamReport.setFinish(1); + //鏍规嵁鏉冮檺杩斿洖涓嶅悓娴嬭瘎浜哄憳鍒楄〃 + User sysUser = ShiroUtils.getSysUser(); + String userType = sysUser.getUserType(); + if (UserTypeEnum.ENT_USER.getUserType().equals(userType)) { + tExamReport.setUserId(sysUser.getUserId()); + } + //鍒嗛攢鍟嗗彲浠ョ湅鍒板垎閿�鍟嗕笅鐨勪紒涓氫俊鎭� + if (UserTypeEnum.DIS_USER.getUserType().equals(userType)) { + SysUserExtend sysUserExtend = new SysUserExtend(); + sysUserExtend.setParentUserId(sysUser.getUserId()); + List<SysUserExtend> sysUserExtends = sysUserExtendService.selectSysUserExtendList(sysUserExtend); + List<Long> collect = sysUserExtends.stream().map(extend -> extend.getUserId()).collect(Collectors.toList()); + collect.add(sysUser.getUserId()); + tExamReport.setUserIds(collect); + } + + list = tExamReportService.selectViewReportList(tExamReport); + // 澶氳瑷�缈昏瘧 + for (TExamReport tExamReportTemp : list) { + tExamReportTemp.setProductName(examUtilService.getLangOrLocalLangString("", tExamReportTemp.getProductName())); + } + + return getDataTable(list); } /** @@ -381,6 +433,75 @@ // 鎷兼帴鐢熸垚report鐨勯敭鍊煎 User sysUser = ShiroUtils.getSysUser(); + boolean isRight = Objects.equals(UserTypeEnum.SYS_USER.getUserType(), sysUser.getUserType()); + // 浜哄彛瀛﹀彉閲� + // 涓夎 + DataReportHead dataReportHead = new DataReportHead(); + String fileNameResult = EssConfig.getDownloadPath() + examUtilService.getLangOrLocalLangString("", tExamReportList.get(0).getProductName()) + "_DateReport.xlsx"; + + // 鎶妔heet鏀惧湪map閲岄潰 + Map<String, List<List<Object>>> reportResultMap = new HashMap<>(); + + Map<String, Map<String, String>> demograpyMap = new HashMap<>(); + + // 浜哄彛瀛� + setDemograyMap(tExamReportList, dataReportHead, demograpyMap); + + // 鎶ュ憡绫诲瀷 + String reportType = getReportType(tExamReport); + + // 妯$増鐨勫唴瀹� + setDataReportHeader(dataReportHead, reportResultMap, reportType, isRight); + + // Map<sheet鍚�, Map<濮撳悕, Map<key, value>>> 鏁版嵁 + Map<String, Map<String, Map<String, String>>> sheetExcelMap = new HashMap<>(); + + // 濡傛灉鏄疛AQ瑕佽皟鐢ㄦ嘲鍥藉洟闃熺殑鎺ュ彛锛屽鏋滀笉鏄紝鍘昏〃閲岄潰鎵� + setDealTaiData(ids, tExamReportList, reportType, sheetExcelMap); + + // 鏋勯�犲�� + setRportListValue(reportResultMap, demograpyMap, sheetExcelMap, reportType); + + // 寮勬垚鍜屼粬浠師鏉ヤ竴鏍� + setSysHeadToEnglish(tExamReportList, reportResultMap, reportType); + + // 鍐欐枃浠� + writeFile(fileNameResult, reportResultMap); + + // 杩斿洖涓嬭浇 + return AjaxResult.success(examUtilService.getLangOrLocalLangString("", tExamReportList.get(0).getProductName()) + "_DateReport.xlsx"); + } + + // 瀵煎嚭鏁版嵁鎶ュ憡 + @RequiresPermissions("exam:report:export") + @PostMapping("/exportEvaluationReport") + @ResponseBody + public AjaxResult exportReport(TExamReport tExamReport) throws IOException { + // 瀹屾垚鐨� + tExamReport.setFinish(1); + //鏍规嵁鏉冮檺杩斿洖涓嶅悓娴嬭瘎浜哄憳鍒楄〃 + User sysUser = ShiroUtils.getSysUser(); + String userType = sysUser.getUserType(); + if (UserTypeEnum.ENT_USER.getUserType().equals(userType)) { + tExamReport.setUserId(sysUser.getUserId()); + } + //鍒嗛攢鍟嗗彲浠ョ湅鍒板垎閿�鍟嗕笅鐨勪紒涓氫俊鎭� + if (UserTypeEnum.DIS_USER.getUserType().equals(userType)) { + SysUserExtend sysUserExtend = new SysUserExtend(); + sysUserExtend.setParentUserId(sysUser.getUserId()); + List<SysUserExtend> sysUserExtends = sysUserExtendService.selectSysUserExtendList(sysUserExtend); + List<Long> collect = sysUserExtends.stream().map(extend -> extend.getUserId()).collect(Collectors.toList()); + collect.add(sysUser.getUserId()); + tExamReport.setUserIds(collect); + } + //鏌ヨ褰撳墠绛涢�夌粨鏋滈泦 + List<TExamReport> tExamReportList = tExamReportService.selectViewReportList(tExamReport); + //List<Long> getIds = tExamReportList.stream().map(TExamReport::getId).collect(Collectors.toList()); + List<String> getIds = tExamReportList.stream().map(t -> t.getId().toString()).collect(Collectors.toList()); + String[] ids = getIds.stream().toArray(String[]::new); + + // 鎷兼帴鐢熸垚report鐨勯敭鍊煎 + //User sysUser = ShiroUtils.getSysUser(); boolean isRight = Objects.equals(UserTypeEnum.SYS_USER.getUserType(), sysUser.getUserType()); // 浜哄彛瀛﹀彉閲� // 涓夎 @@ -577,6 +698,10 @@ } private void setDataReportHeader(DataReportHead dataReportHead, Map<String, List<List<Object>>> reportResultMap, String reportType, boolean isRight) { + //濡傛灉涓虹┖閲嶆柊鑾峰彇 + if(Objects.isNull(reportType)){ + + } if (Objects.equals(reportType, ReportTypeEnum.RuiLin.getCode())) { setDataReportHeaderRuilin(dataReportHead, reportResultMap, isRight); } else if (Objects.equals(reportType, ReportTypeEnum.CAQ.getCode())) { -- Gitblit v1.9.1