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