Browse Source

Merge remote-tracking branch 'origin/master'

lizeyu 8 months ago
parent
commit
e4add53bb4
39 changed files with 1929 additions and 427 deletions
  1. 2 1
      .idea/.gitignore
  2. 257 175
      lib/GHSCPartyBuild.pdb
  3. 4 4
      lib/GHSCPartyBuild.pdm
  4. 19 0
      lib/数据更新脚本.txt
  5. 27 6
      src/main/java/com/ghsc/partybuild/controller/CheckDataController.java
  6. 8 5
      src/main/java/com/ghsc/partybuild/controller/PartyController.java
  7. 179 0
      src/main/java/com/ghsc/partybuild/controller/ReportDataController.java
  8. 1 1
      src/main/java/com/ghsc/partybuild/controller/app/AppPartyController.java
  9. 2 1
      src/main/java/com/ghsc/partybuild/mapper/CfUsersinfoMapper.java
  10. 1 1
      src/main/java/com/ghsc/partybuild/mapper/PartyCQuery.java
  11. 3 1
      src/main/java/com/ghsc/partybuild/mapper/cquery/PtCheckdataCQuery.java
  12. 15 0
      src/main/java/com/ghsc/partybuild/mapper/cquery/ReportDataCQuery.java
  13. 3 1
      src/main/java/com/ghsc/partybuild/service/CheckDataService.java
  14. 1 1
      src/main/java/com/ghsc/partybuild/service/PartyService.java
  15. 23 0
      src/main/java/com/ghsc/partybuild/service/ReportDataService.java
  16. 8 2
      src/main/java/com/ghsc/partybuild/service/impl/CheckDataServiceImpl.java
  17. 1 1
      src/main/java/com/ghsc/partybuild/service/impl/PEUserServiceImpl.java
  18. 2 2
      src/main/java/com/ghsc/partybuild/service/impl/PartyServiceImpl.java
  19. 5 5
      src/main/java/com/ghsc/partybuild/service/impl/PartyTotalServiceImpl.java
  20. 104 0
      src/main/java/com/ghsc/partybuild/service/impl/ReportDataServiceImpl.java
  21. 2 2
      src/main/java/com/ghsc/partybuild/service/impl/SHYKServiceImpl.java
  22. 15 1
      src/main/resources/mapping/CQuery/PtCheckdataCQuery.xml
  23. 68 0
      src/main/resources/mapping/CQuery/PtReportDataCQuery.xml
  24. 24 24
      src/main/resources/mapping/CfUsersMapper.xml
  25. 6 0
      src/main/resources/mapping/PartyCQuery.xml
  26. 125 125
      src/main/resources/mapping/SHYKCQuery.xml
  27. 1 1
      src/main/resources/static/app/js/service.js
  28. 28 1
      src/main/resources/static/app/main/app.js
  29. 3 3
      src/main/resources/static/app/main/party/checkData/list.html
  30. 4 4
      src/main/resources/static/app/main/party/checkNameList/list.html
  31. 63 54
      src/main/resources/static/app/main/party/checkNameList/list.js
  32. 20 1
      src/main/resources/static/app/main/party/checkScore/list.html
  33. 2 4
      src/main/resources/static/app/main/party/checkScore/list.js
  34. 52 0
      src/main/resources/static/app/main/party/reportData/edit.html
  35. 158 0
      src/main/resources/static/app/main/party/reportData/list.html
  36. 222 0
      src/main/resources/static/app/main/party/reportData/list.js
  37. 96 0
      src/main/resources/static/app/main/party/reportScore/edit.html
  38. 165 0
      src/main/resources/static/app/main/party/reportScore/list.html
  39. 210 0
      src/main/resources/static/app/main/party/reportScore/list.js

+ 2 - 1
.idea/.gitignore

@@ -6,4 +6,5 @@
 # Datasource local storage ignored files
 /dataSources/
 /dataSources.local.xml
-*.iml
+.idea/
+/GHSCPartyBuild.iml

File diff suppressed because it is too large
+ 257 - 175
lib/GHSCPartyBuild.pdb


+ 4 - 4
lib/GHSCPartyBuild.pdm

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<?PowerDesigner AppLocale="UTF16" ID="{21F993B5-F4E8-4C5D-A940-7854A8E66458}" Label="" LastModificationDate="1720504986" Name="GHSCPartyBuild" Objects="3088" Symbols="217" Target="MySQL 5.0" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.0.0.3514"?>
+<?PowerDesigner AppLocale="UTF16" ID="{21F993B5-F4E8-4C5D-A940-7854A8E66458}" Label="" LastModificationDate="1720665999" Name="GHSCPartyBuild" Objects="3088" Symbols="217" Target="MySQL 5.0" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.0.0.3514"?>
 <!-- do not edit this file -->
 
 <Model xmlns:a="attribute" xmlns:c="collection" xmlns:o="object">
@@ -47143,9 +47143,9 @@ LABL 0 新宋体,8,N</a:FontList>
 <a:Code>reportResult</a:Code>
 <a:CreationDate>1719992078</a:CreationDate>
 <a:Creator>qiao</a:Creator>
-<a:ModificationDate>1719992430</a:ModificationDate>
-<a:Modifier>qiao</a:Modifier>
-<a:Comment>评议结果</a:Comment>
+<a:ModificationDate>1720665999</a:ModificationDate>
+<a:Modifier>zq</a:Modifier>
+<a:Comment>评议结果字典reportResult:1、优秀2、好3、一般4、差</a:Comment>
 <a:DataType>int</a:DataType>
 </o:Column>
 <o:Column Id="o2981">

+ 19 - 0
lib/数据更新脚本.txt

@@ -11,6 +11,25 @@ VALUES ('3c57eec8-fcb7-4cbd-a910-92633f2d8874', 'f0c4fa7f9f3c4fb6bd56aac608b7ad3
 INSERT INTO CF_MENU (MENUID, APPLICATIONID, PARENTMENUID, MNUSYSTEM, MENUORDER, MENUNO, MENUNAME, MENUPROGRAM, MENUPIC, MENUDESC, ISVISIBLE, ISLEAF, ISBLANK)
 VALUES ('e1c6f537-cc54-4f39-939a-afb65ae7086b', 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', '9912122b-15d2-4e93-ac5e-06e4b091ee65', null, 5, '../main/index-dsj.html#!/showDjdsj_dwdt', '党务动态', null, null, null, 1, 1, 1);
 
+--7.05
+update cf_menu set MENUNO='home.reportDataScore',MENUNAME='述职评议评分' where MENUID='2237844c-2194-430f-bef7-ea68469c9f33';
+
+--7.06
+INSERT INTO CF_MENU (MENUID, APPLICATIONID, PARENTMENUID, MNUSYSTEM, MENUORDER, MENUNO, MENUNAME, MENUPROGRAM, MENUPIC, MENUDESC, ISVISIBLE, ISLEAF, ISBLANK)
+VALUES ('4c6f7f03-453e-4fd1-af0e-61f702ee649b', 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', '1137844c-2194-430f-bef7-ea68469c9f33', null, 1, 'reportData.generate', '生成述职名单', null, null, '', 0, 1, null);
+INSERT INTO CF_MENU (MENUID, APPLICATIONID, PARENTMENUID, MNUSYSTEM, MENUORDER, MENUNO, MENUNAME, MENUPROGRAM, MENUPIC, MENUDESC, ISVISIBLE, ISLEAF, ISBLANK)
+VALUES ('56f0b4b0-467a-4b15-b394-e5f86542921c', 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', '1137844c-2194-430f-bef7-ea68469c9f33', null, 2, 'reportData.downZip', '打包下载', null, null, '', 0, 1, null);
+
+INSERT INTO `cf_dictionary` (`DICTIONARYID`, `DICKEY`, `DICVALUE`, `DICTYPEKEY`, `DICTYPE`, `APPLICATIONID`, `DICNOTE`, `OPERATETIME`, `OPERATESTATE`, `SYNCSTATE`)
+VALUES ('23f5e615-b16a-re1c-829d-cc85c2a00001', 1, '优秀', 'reportResult', 2, 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', NULL, '2022-04-01 15:45:10', 'a', 'n');
+INSERT INTO `cf_dictionary` (`DICTIONARYID`, `DICKEY`, `DICVALUE`, `DICTYPEKEY`, `DICTYPE`, `APPLICATIONID`, `DICNOTE`, `OPERATETIME`, `OPERATESTATE`, `SYNCSTATE`)
+VALUES ('23f5e615-b16a-re2c-829d-dd85c2a00002', 2, '好', 'reportResult', 2, 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', NULL, '2022-04-01 15:45:10', 'a', 'n');
+INSERT INTO `cf_dictionary` (`DICTIONARYID`, `DICKEY`, `DICVALUE`, `DICTYPEKEY`, `DICTYPE`, `APPLICATIONID`, `DICNOTE`, `OPERATETIME`, `OPERATESTATE`, `SYNCSTATE`)
+VALUES ('23f5e615-b16a-re3c-829d-dd85c2a00002', 3, '一般', 'reportResult', 2, 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', NULL, '2022-04-01 15:45:10', 'a', 'n');
+INSERT INTO `cf_dictionary` (`DICTIONARYID`, `DICKEY`, `DICVALUE`, `DICTYPEKEY`, `DICTYPE`, `APPLICATIONID`, `DICNOTE`, `OPERATETIME`, `OPERATESTATE`, `SYNCSTATE`)
+VALUES ('23f5e615-b16a-re4c-829d-dd85c2a00002', 4, '差', 'reportResult', 2, 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', NULL, '2022-04-01 15:45:10', 'a', 'n');
+
+
 
 -- 2024.7.11 专题建设
 -- ----------------------------

+ 27 - 6
src/main/java/com/ghsc/partybuild/controller/CheckDataController.java

@@ -38,6 +38,8 @@ public class CheckDataController {
     private DateUtils dateUtils;
     @Autowired
     FtpHelper ftpHelper;
+    @Autowired
+    RoleService roleService;
 
     @ResponseBody
     @GetMapping("/getCheckNameList")
@@ -48,15 +50,32 @@ public class CheckDataController {
         return result;
     }
 
+    @ResponseBody
+    @GetMapping("/getCheckPartyList")
+    public RequsetData<List<HashMap<String, Object>>> getCheckPartyList(Integer year, Integer quarter) {
+        RequsetData<List<HashMap<String, Object>>> result = new RequsetData<>();
+        result.setItem(checkDataService.getCheckPartyList(year, quarter));
+        return result;
+    }
+
     @ResponseBody
     @GetMapping("/getCheckScoreList")
     public RequsetData<PageInfo<HashMap<String, Object>>> getCheckScoreList(int pageindex, int pagesize, Integer year, Integer quarter, String dzzdm
-            , String checkUserName, Float minScore,Float maxScore,Integer recordStatus) {
+            , String checkUserName, Float minScore, Float maxScore, Integer recordStatus) {
         RequsetData<PageInfo<HashMap<String, Object>>> result = new RequsetData<>();
-        result.setItem(checkDataService.getCheckScoreList(pageindex, pagesize,year,  quarter,  dzzdm,  checkUserName,  minScore, maxScore, recordStatus));
+        //管理员看到所有数据
+        final boolean isAdmin = isAdmin(userService.getLoginUser().getUserid());
+        String checkuserid=userService.getLoginUser().getUserid();
+        if(isAdmin){
+            checkuserid="";
+        }
+        result.setItem(checkDataService.getCheckScoreList(pageindex, pagesize, year, quarter, dzzdm, checkUserName, minScore, maxScore, recordStatus,checkuserid));
         return result;
     }
-
+    private boolean isAdmin(String userId){
+        List<CfUserrolesKey> cfURModel = roleService.getRoleUsersByRoleName("管理员");
+        return cfURModel.stream().anyMatch(x->x.getUserid().equals(userId));
+    }
     @ResponseBody
     @PostMapping("/saveCheckNameList")
     public RequsetData<Integer> saveCheckNameList(@RequestBody JSONObject mJson) {
@@ -153,13 +172,15 @@ public class CheckDataController {
         }
         return res;
     }
+
     @ResponseBody
     @GetMapping("/getCheckquestionList")
-    public RequsetData<List<PtCheckquestion> > getCheckquestionList(String scoreId) {
-        RequsetData<List<PtCheckquestion> > result = new RequsetData<>();
+    public RequsetData<List<PtCheckquestion>> getCheckquestionList(String scoreId) {
+        RequsetData<List<PtCheckquestion>> result = new RequsetData<>();
         result.setItem(checkDataService.getCheckquestionList(scoreId));
         return result;
     }
+
     @ResponseBody
     @GetMapping("/getCheckdata")
     public RequsetData<PtCheckdata> getCheckdata(String id) {
@@ -217,7 +238,7 @@ public class CheckDataController {
     public String downCheckDataZip(HttpServletResponse response,
                                    String year,
                                    HttpServletRequest request) {
-        ZipOutputStream out=null;
+        ZipOutputStream out = null;
         String fileName = String.format("%s年度考核材料.zip", year);
         try {
             ByteArrayOutputStream fileOStream = new ByteArrayOutputStream();

+ 8 - 5
src/main/java/com/ghsc/partybuild/controller/PartyController.java

@@ -52,7 +52,7 @@ public class PartyController {
                                                                        @RequestParam(required = false) String zzlb, @RequestParam(required = false) String jczzfl, @RequestParam(required = false) String jldzzrq_begin,
                                                                        @RequestParam(required = false) String jldzzrq_end, @RequestParam(required = false) String isContainParent, @RequestParam(required = false) Integer zzfbType, @RequestParam(required = false) Integer hjYear,
                                                                        @RequestParam(required = false) String zzlbList, @RequestParam(required = false) String ssdzzdm, @RequestParam(required = false) Integer dwjb
-            , @RequestParam(required = false) String jmrq_begintime, @RequestParam(required = false) String jmrq_endtime,@RequestParam(required = false) String partyGroupId) {
+            , @RequestParam(required = false) String jmrq_begintime, @RequestParam(required = false) String jmrq_endtime,@RequestParam(required = false) String partyGroupId,@RequestParam(required = false)String notIncludeDzzdmStr) {
 
         jldzzrq_begin = dateUtils.strFormat_short(jldzzrq_begin);
         jldzzrq_end = dateUtils.strFormat_short(jldzzrq_end);
@@ -64,9 +64,12 @@ public class PartyController {
         if (!stringUtils.IsNullOrEmpty(zzlbList)) {
             zzlbStrList = Arrays.asList(zzlbList.split(","));
         }
-
+        List<String> notIncludeDzzdmList = new ArrayList<>();
+        if (!stringUtils.IsNullOrEmpty(notIncludeDzzdmStr)) {
+            notIncludeDzzdmList = Arrays.asList(notIncludeDzzdmStr.split(","));
+        }
         RequsetData<PageInfo<HashMap<String, Object>>> result = new RequsetData<>();
-        result.setItem(partyService.getPartyList(pageIndex, pageSize, parentcode, dzzmc, dzzdm, zzlb, jczzfl, jldzzrq_begin, jldzzrq_end, isContainParent, zzfbType, hjYear, zzlbStrList, ssdzzdm, dwjb,jmrq_begintime,jmrq_endtime,null,partyGroupId));
+        result.setItem(partyService.getPartyList(pageIndex, pageSize, parentcode, dzzmc, dzzdm, zzlb, jczzfl, jldzzrq_begin, jldzzrq_end, isContainParent, zzfbType, hjYear, zzlbStrList, ssdzzdm, dwjb,jmrq_begintime,jmrq_endtime,null,partyGroupId,notIncludeDzzdmList));
         return result;
     }
 
@@ -90,7 +93,7 @@ public class PartyController {
         }
 
         /**查询数据**/
-        List<HashMap<String, Object>> dataList = partyService.getPartyList(1, 1000000, parentcode, dzzmc, dzzdm, zzlb, jczzfl, jldzzrq_begin, jldzzrq_end, isContainParent, zzfbType, sfhj, zzlbStrList, ssdzzdm, dwjb,jmrq_begintime,jmrq_endtime,null,partyGroupId).getList();
+        List<HashMap<String, Object>> dataList = partyService.getPartyList(1, 1000000, parentcode, dzzmc, dzzdm, zzlb, jczzfl, jldzzrq_begin, jldzzrq_end, isContainParent, zzfbType, sfhj, zzlbStrList, ssdzzdm, dwjb,jmrq_begintime,jmrq_endtime,null,partyGroupId,null).getList();
 
         ExcelHelper excelHelper = new ExcelHelper();
         ExcelHelper.ExcelData data = excelHelper.new ExcelData();
@@ -298,7 +301,7 @@ public class PartyController {
         jldzzrq_end = dateUtils.strFormat_short(jldzzrq_end);
 
         /**查询数据**/
-        List<HashMap<String, Object>> dataList = partyService.getPartyList(1, 1000000, parentcode, dzzmc, dzzdm, zzlb, jczzfl, jldzzrq_begin, jldzzrq_end, isContainParent, null, null, null, ssdzzdm, null,null,null,null,partyGroupId).getList();
+        List<HashMap<String, Object>> dataList = partyService.getPartyList(1, 1000000, parentcode, dzzmc, dzzdm, zzlb, jczzfl, jldzzrq_begin, jldzzrq_end, isContainParent, null, null, null, ssdzzdm, null,null,null,null,partyGroupId,null).getList();
 
         ExcelHelper excelHelper = new ExcelHelper();
         ExcelHelper.ExcelData data = excelHelper.new ExcelData();

+ 179 - 0
src/main/java/com/ghsc/partybuild/controller/ReportDataController.java

@@ -0,0 +1,179 @@
+package com.ghsc.partybuild.controller;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.ghsc.partybuild.controller.jsonmodel.RequsetData;
+import com.ghsc.partybuild.model.CfUserrolesKey;
+import com.ghsc.partybuild.model.PtChecknamelist;
+import com.ghsc.partybuild.model.PtCheckparty;
+import com.ghsc.partybuild.model.PtReportscore;
+import com.ghsc.partybuild.service.*;
+import com.ghsc.partybuild.util.DateUtils;
+import com.ghsc.partybuild.util.FtpHelper;
+import com.github.pagehelper.PageInfo;
+import org.apache.commons.net.ftp.FTP;
+import org.apache.commons.net.ftp.FTPClient;
+import org.apache.tools.zip.ZipEntry;
+import org.apache.tools.zip.ZipOutputStream;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.net.URLEncoder;
+import java.util.Base64;
+import java.util.HashMap;
+import java.util.List;
+
+@RestController
+@RequestMapping(value = "/api/reportData")
+public class ReportDataController {
+    @Resource
+    private ReportDataService reportDataService;
+    @Autowired
+    private UserService userService;
+    @Autowired
+    private DateUtils dateUtils;
+    @Autowired
+    FtpHelper ftpHelper;
+    @Autowired
+    LeaderAdminService leaderAdminService;
+    @Autowired
+    RoleService roleService;
+
+    @ResponseBody
+    @GetMapping("/getReportdataList")
+    public RequsetData<PageInfo<HashMap<String, Object>>> getReportdataList(int pageindex, int pagesize, Integer year, String dzzdm, String reportUserName) {
+        RequsetData<PageInfo<HashMap<String, Object>>> result = new RequsetData<>();
+        String reportUserId = userService.getLoginUser().getUserid();
+        //管理员看到所有数据
+        final boolean isAdmin = isAdmin(userService.getLoginUser().getUserid());
+        if(isAdmin){
+            reportUserId="";
+        }
+        result.setItem(reportDataService.getReportdataList(pageindex, pagesize, year, dzzdm, reportUserName,reportUserId));
+        return result;
+    }
+    @ResponseBody
+    @GetMapping("/getReportScoreList")
+    public RequsetData<PageInfo<HashMap<String, Object>>> getReportScoreList(int pageindex, int pagesize, Integer year, String dzzdm, String reportUserName,Integer reportResult) {
+        RequsetData<PageInfo<HashMap<String, Object>>> result = new RequsetData<>();
+        result.setItem(reportDataService.getReportScoreList(pageindex, pagesize, year, dzzdm, reportUserName,null,reportResult));
+        return result;
+    }
+
+    private boolean isAdmin(String userId){
+        List<CfUserrolesKey> cfURModel = roleService.getRoleUsersByRoleName("管理员");
+       return cfURModel.stream().anyMatch(x->x.getUserid().equals(userId));
+    }
+
+    @ResponseBody
+    @PostMapping("/saveReportData")
+    public RequsetData<Integer> saveReportData(@RequestBody JSONObject mJson) {
+        RequsetData<Integer> res = new RequsetData<>();
+        try {
+            Integer year = mJson.getInteger("year");
+            JSONArray userlist = mJson.getJSONArray("userlist");
+
+            String userId = userService.getLoginUser().getUserid();
+            String userName = userService.getUserInfobyId(userService.getLoginUser().getUserid()).getName();
+            int id = reportDataService.saveReportData(year, userId, userName, userlist);
+            res.setItem(id);
+            res.setMsg("保存成功!");
+        } catch (Exception ex) {
+            res.setMsg("保存失败:" + ex.getMessage());
+            res.setSuccess(false);
+        }
+        return res;
+    }
+    @ResponseBody
+    @PostMapping("/saveReportScore")
+    public RequsetData<Integer> saveReportScore(@RequestBody PtReportscore dataModel) {
+        RequsetData<Integer> res = new RequsetData<>();
+        try {
+            String userId = userService.getLoginUser().getUserid();
+            String userName = userService.getUserInfobyId(userService.getLoginUser().getUserid()).getName();
+            dataModel.setUpdateuserid(userId);
+            dataModel.setUpdateusername(userName);
+            dataModel.setCreateuserid(userId);
+            dataModel.setCreateusername(userName);
+            int id = reportDataService.saveReportScore(dataModel);
+            res.setItem(id);
+            res.setMsg("保存成功!");
+        } catch (Exception ex) {
+            res.setMsg("保存失败:" + ex.getMessage());
+            res.setSuccess(false);
+        }
+        return res;
+    }
+    @ResponseBody
+    @GetMapping("/changeReportDataStatus")
+    public RequsetData<Integer> changeReportDataStatus(String reportId) {
+        RequsetData<Integer> res = new RequsetData<>();
+        res.setMsg("操作成功!");
+        String userId = userService.getLoginUser().getUserid();
+        String userName = userService.getUserInfobyId(userService.getLoginUser().getUserid()).getName();
+        res.setItem(reportDataService.changeReportDataStatus(reportId,userId, userName));
+        return res;
+    }
+    @RequestMapping("/downReportDataZip")
+    public String downReportDataZip(HttpServletResponse response,
+                                   String year,
+                                   HttpServletRequest request) {
+        ZipOutputStream out=null;
+        String fileName = String.format("%s年度述职材料.zip", year);
+        try {
+            ByteArrayOutputStream fileOStream = new ByteArrayOutputStream();
+            out = new ZipOutputStream(fileOStream);
+            out.setEncoding("gbk");
+            List<HashMap<String, Object>> dataList = reportDataService.getReportDataFleList(year);
+            FTPClient ftpClient = new FTPClient();
+            ftpHelper.connectToServer(ftpClient);
+            ftpClient.enterLocalPassiveMode();
+            ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
+
+            for (HashMap<String, Object> item : dataList) {
+                //打包显示的文件名
+                String fileExt = item.get("fileurl").toString().substring(item.get("fileurl").toString().lastIndexOf(".")).toLowerCase();
+                out.putNextEntry(new ZipEntry(String.format("%s_%s(%s)%s", item.get("dzzdm").toString(), item.get("reportusername"), item.get("dzzmc"), fileExt)));
+                ftpClient.retrieveFile(item.get("fileurl").toString(), out);
+                out.flush();
+                out.closeEntry();
+            }
+            ftpHelper.closeConnect(ftpClient);
+            //所有文件写完后一定要关闭输出流,否则文件下载会不完整。
+            out.flush();
+            out.close();
+            //将zip文件写入响应
+            String name;
+            String agent = request.getHeader("USER-AGENT");
+            if (agent != null && agent.toLowerCase().indexOf("firefox") > 0) {
+                name = "=?UTF-8?B?" + (Base64.getEncoder().encodeToString(fileName.getBytes("UTF-8"))) + "?=";
+            } else {
+                name = URLEncoder.encode(fileName, "UTF-8");
+            }
+            response.setContentType("application/force-download");// 设置强制下载不打开
+            response.setContentType("multipart/form-data;charset=UTF-8");
+            response.setContentType("application/octet-stream");
+            response.addHeader("Content-Disposition", "attachment;filename=" + name);
+
+            OutputStream os = response.getOutputStream();
+            fileOStream.writeTo(os);
+            os.flush();
+        } catch (Exception e) {
+            if (out != null) {
+                try {
+                    out.close();
+                } catch (IOException ie) {
+                    ie.printStackTrace();
+                }
+            }
+            throw new RuntimeException();
+        }
+        return "";
+    }
+}

+ 1 - 1
src/main/java/com/ghsc/partybuild/controller/app/AppPartyController.java

@@ -115,7 +115,7 @@ public class AppPartyController {
 
         RequsetData<PageInfo<HashMap<String, Object>>> result = new RequsetData<>();
 
-        result.setItem(partyService.getPartyList(pageIndex, pageSize, parentCode, dzzmc, dzzdm, null, null, jldzzrq_begin, jldzzrq_end, isContainParent, null, null, zzlbList, null, dwjb, jmrq_begintime, jmrq_endtime, jczzflList, partyGroupId));
+        result.setItem(partyService.getPartyList(pageIndex, pageSize, parentCode, dzzmc, dzzdm, null, null, jldzzrq_begin, jldzzrq_end, isContainParent, null, null, zzlbList, null, dwjb, jmrq_begintime, jmrq_endtime, jczzflList, partyGroupId,null));
 
         return result;
 

+ 2 - 1
src/main/java/com/ghsc/partybuild/mapper/CfUsersinfoMapper.java

@@ -5,7 +5,8 @@ import com.ghsc.partybuild.model.CfUsersinfoExample;
 import java.util.List;
 import org.apache.ibatis.annotations.Param;
 
-public interface CfUsersinfoMapper {
+public interface
+CfUsersinfoMapper {
     long countByExample(CfUsersinfoExample example);
 
     int deleteByExample(CfUsersinfoExample example);

+ 1 - 1
src/main/java/com/ghsc/partybuild/mapper/PartyCQuery.java

@@ -51,7 +51,7 @@ public interface PartyCQuery {
                                                   @Param("zzlb") String zzlb, @Param("jczzfl") String jczzfl, @Param("jldzzrq_begin") String jldzzrq_begin,
                                                   @Param("jldzzrq_end") String jldzzrq_end, @Param("isContainParent") String isContainParent, @Param("zzfbType") Integer zzfbType, @Param("hjYear") Integer hjYear, @Param("zzlbStrList") List<String> zzlbStrList,
                                                   @Param("ssdzzdm") String ssdzzdm, @Param("dwjb") Integer dwjb, @Param("jmrq_begintime") String jmrq_begintime, @Param("jmrq_endtime") String jmrq_endtime,
-                                                  @Param("jczzflList") List<String> jczzflList,@Param("partyGroupId") String partyGroupId);
+                                                  @Param("jczzflList") List<String> jczzflList,@Param("partyGroupId") String partyGroupId,@Param("notIncludeDzzdmList") List<String> notIncludeDzzdmList);
 
     /**
      * 党组织信息

+ 3 - 1
src/main/java/com/ghsc/partybuild/mapper/cquery/PtCheckdataCQuery.java

@@ -11,9 +11,11 @@ public interface PtCheckdataCQuery {
 
     List<HashMap<String,Object>> selectCheckNameList(Integer year, Integer quarter, String dzzdm, String checkUserName, String partyCode,Integer recordStatus);
 
+    List<HashMap<String,Object>> selectCheckPartyList(Integer year, Integer quarter);
+
     List<HashMap<String,Object>> selectCheckDataList(Integer year, String dzzdm, String remark);
 
     List<HashMap<String,Object>> selectCheckDataFleList(@Param("year") String year);
 
-    List<HashMap<String,Object>> selectCheckScoreList(Integer year, Integer quarter, String dzzdm, String checkUserName, Float minScore,Float maxScore,Integer recordStatus);
+    List<HashMap<String,Object>> selectCheckScoreList(Integer year, Integer quarter, String dzzdm, String checkUserName, Float minScore,Float maxScore,Integer recordStatus,String checkuserid);
 }

+ 15 - 0
src/main/java/com/ghsc/partybuild/mapper/cquery/ReportDataCQuery.java

@@ -0,0 +1,15 @@
+package com.ghsc.partybuild.mapper.cquery;
+
+import org.apache.ibatis.annotations.Param;
+
+import java.util.HashMap;
+import java.util.List;
+
+public interface ReportDataCQuery {
+
+    List<HashMap<String,Object>> selectReportdataList(Integer year, String dzzdm, String reportUserName,String reportUserId);
+
+    List<HashMap<String,Object>> selectReportDataFleList(@Param("year") String year);
+
+    List<HashMap<String,Object>> selectReportScoreList(Integer year, String dzzdm, String reportUserName,String reportUserId,Integer reportResult);
+}

+ 3 - 1
src/main/java/com/ghsc/partybuild/service/CheckDataService.java

@@ -10,6 +10,8 @@ public interface CheckDataService {
 
     PageInfo<HashMap<String, Object>> getCheckNameList(int pageIndex, int pageSize, Integer year, Integer quarter, String dzzdm, String checkUserName, String partyCode, Integer recordStatus);
 
+    List<HashMap<String, Object>>  getCheckPartyList(Integer year, Integer quarter);
+
     int saveCheckNameList(PtChecknamelist item , List<PtCheckparty> checkPartyList);
 
     Integer deleteCheckNameList(List<String>  nameIdList);
@@ -26,7 +28,7 @@ public interface CheckDataService {
 
     PtCheckdata getCheckdata(String id);
 
-    PageInfo<HashMap<String, Object>> getCheckScoreList(int pageIndex, int pageSize, Integer year, Integer quarter, String dzzdm, String checkUserName, Float minScore,Float maxScore,Integer recordStatus);
+    PageInfo<HashMap<String, Object>> getCheckScoreList(int pageIndex, int pageSize, Integer year, Integer quarter, String dzzdm, String checkUserName, Float minScore,Float maxScore,Integer recordStatus,String checkuserid);
 
     int saveCheckScore(PtCheckscore item, List<PtCheckquestion> questionList);
 

+ 1 - 1
src/main/java/com/ghsc/partybuild/service/PartyService.java

@@ -57,7 +57,7 @@ public interface PartyService {
      * @return
      */
     PageInfo<HashMap<String, Object>> getPartyList(int pageNum, int pageSize, String parentCode, String dzzmc, String dzzdm, String zzlb, String jczzfl, String jldzzrqBegin, String jldzzrqEnd, String isContainParent, Integer zzfbType
-            , Integer hjYear, List<String> zzlbStrList, String ssdzzmc, Integer dwjb, String jmrqBegintime, String jmrqEndtime,List<String> jczzflList,String partyGroupId);
+            , Integer hjYear, List<String> zzlbStrList, String ssdzzmc, Integer dwjb, String jmrqBegintime, String jmrqEndtime,List<String> jczzflList,String partyGroupId,List<String> notIncludeDzzdmList);
 
 
     /**

+ 23 - 0
src/main/java/com/ghsc/partybuild/service/ReportDataService.java

@@ -0,0 +1,23 @@
+package com.ghsc.partybuild.service;
+
+import com.alibaba.fastjson.JSONArray;
+import com.ghsc.partybuild.model.PtChecknamelist;
+import com.ghsc.partybuild.model.PtReportscore;
+import com.github.pagehelper.PageInfo;
+
+import java.util.HashMap;
+import java.util.List;
+
+public interface ReportDataService {
+    PageInfo<HashMap<String, Object>> getReportdataList(int pageIndex, int pageSize, Integer year, String dzzdm, String reportUserName,String reportUserId);
+
+    int saveReportData(Integer year, String userId, String userName, JSONArray userlist);
+
+    Integer changeReportDataStatus(String reportId, String userId, String userName);
+
+    List<HashMap<String, Object>> getReportDataFleList(String year);
+
+    PageInfo<HashMap<String, Object>> getReportScoreList(int pageIndex, int pageSize, Integer year, String dzzdm, String reportUserName,String reportUserId,Integer reportResult);
+
+    int saveReportScore(PtReportscore dataModel);
+}

+ 8 - 2
src/main/java/com/ghsc/partybuild/service/impl/CheckDataServiceImpl.java

@@ -40,7 +40,13 @@ public class CheckDataServiceImpl implements CheckDataService {
 
         return result;
     }
+    @Override
+    public List<HashMap<String, Object>>  getCheckPartyList(Integer year, Integer quarter) {
+
+        List<HashMap<String, Object>> list = checkdataCQuery.selectCheckPartyList(year, quarter);
 
+        return list;
+    }
     @Override
     @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
     public int saveCheckNameList(PtChecknamelist item, List<PtCheckparty> checkPartyList) {
@@ -176,10 +182,10 @@ public class CheckDataServiceImpl implements CheckDataService {
     }
 
     @Override
-    public PageInfo<HashMap<String, Object>> getCheckScoreList(int pageIndex, int pageSize, Integer year, Integer quarter, String dzzdm, String checkUserName, Float minScore,Float maxScore,Integer recordStatus) {
+    public PageInfo<HashMap<String, Object>> getCheckScoreList(int pageIndex, int pageSize, Integer year, Integer quarter, String dzzdm, String checkUserName, Float minScore,Float maxScore,Integer recordStatus,String checkuserid) {
 
         PageHelper.startPage(pageIndex, pageSize);
-        List<HashMap<String, Object>> list = checkdataCQuery.selectCheckScoreList( year,  quarter,  dzzdm,  checkUserName,  minScore, maxScore, recordStatus);
+        List<HashMap<String, Object>> list = checkdataCQuery.selectCheckScoreList( year,  quarter,  dzzdm,  checkUserName,  minScore, maxScore, recordStatus,checkuserid);
 
         PageInfo<HashMap<String, Object>> result = new PageInfo(list);
 

+ 1 - 1
src/main/java/com/ghsc/partybuild/service/impl/PEUserServiceImpl.java

@@ -198,7 +198,7 @@ public class PEUserServiceImpl implements PEUserService {
         return result;*/
 
         PageHelper.startPage(page, rows);
-        List<HashMap<String, Object>> list = partyCquery.selectPartyList(appConfig.gddwdm, null, null, dzzdm, null, null, null, null, null, zzfbType, null, null, ssdzzdm, null, null, null,null,null);
+        List<HashMap<String, Object>> list = partyCquery.selectPartyList(appConfig.gddwdm, null, null, dzzdm, null, null, null, null, null, zzfbType, null, null, ssdzzdm, null, null, null,null,null,null);
 
         List<String> dzzdmList = list.stream().map(it -> it.get("DZZDM").toString()).collect(Collectors.toList());
 

+ 2 - 2
src/main/java/com/ghsc/partybuild/service/impl/PartyServiceImpl.java

@@ -111,11 +111,11 @@ public class PartyServiceImpl implements PartyService {
     @Override
     public PageInfo<HashMap<String, Object>> getPartyList(int pageNum, int pageSize, String parentCode, String dzzmc, String dzzdm, String zzlb, String jczzfl, String jldzzrqBegin, String jldzzrqEnd,
                                                           String isContainParent, Integer zzfbType, Integer hjYear, List<String> zzlbStrList, String ssdzzmc, Integer dwjb, String jmrqBegintime, String jmrqEndtime,
-                                                          List<String> jczzflList, String partyGroupId) {
+                                                          List<String> jczzflList, String partyGroupId,List<String> notIncludeDzzdmList) {
 
 
         PageHelper.startPage(pageNum, pageSize);
-        List<HashMap<String, Object>> list = partyCquery.selectPartyList(appConfig.gddwdm, parentCode, dzzmc, dzzdm, zzlb, jczzfl, jldzzrqBegin, jldzzrqEnd, isContainParent, zzfbType, hjYear, zzlbStrList, ssdzzmc, dwjb, jmrqBegintime, jmrqEndtime, jczzflList, partyGroupId);
+        List<HashMap<String, Object>> list = partyCquery.selectPartyList(appConfig.gddwdm, parentCode, dzzmc, dzzdm, zzlb, jczzfl, jldzzrqBegin, jldzzrqEnd, isContainParent, zzfbType, hjYear, zzlbStrList, ssdzzmc, dwjb, jmrqBegintime, jmrqEndtime, jczzflList, partyGroupId,notIncludeDzzdmList);
 
 
         PageInfo<HashMap<String, Object>> result = new PageInfo(list);

+ 5 - 5
src/main/java/com/ghsc/partybuild/service/impl/PartyTotalServiceImpl.java

@@ -52,7 +52,7 @@ public class PartyTotalServiceImpl implements PartyTotalService {
     public PageInfo<HashMap<String, Object>> getPartyTotalList(int pageNum, int pageSize, String dzzdm, Integer year) {
 
         PageHelper.startPage(pageNum, pageSize);
-        List<HashMap<String, Object>> list = partyCquery.selectPartyList(appConfig.gddwdm, null, null, dzzdm, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
+        List<HashMap<String, Object>> list = partyCquery.selectPartyList(appConfig.gddwdm, null, null, dzzdm, null, null, null, null, null, null, null, null, null, null, null, null, null, null,null);
 
         List<String> dzzdmList = list.stream().map(it -> it.get("DZZDM").toString()).collect(Collectors.toList());
 
@@ -174,7 +174,7 @@ public class PartyTotalServiceImpl implements PartyTotalService {
     public PageInfo<HashMap<String, Object>> getPartyDetailList(int pageNum, int pageSize, String dzzdm, Integer year, String dzzmc) {
 
         PageHelper.startPage(pageNum, pageSize);
-        List<HashMap<String, Object>> list = partyCquery.selectPartyList(appConfig.gddwdm, null, dzzmc, dzzdm, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
+        List<HashMap<String, Object>> list = partyCquery.selectPartyList(appConfig.gddwdm, null, dzzmc, dzzdm, null, null, null, null, null, null, null, null, null, null, null, null, null, null,null);
 
         List<String> dzzdmList = list.stream().map(it -> it.get("DZZDM").toString()).collect(Collectors.toList());
 
@@ -259,7 +259,7 @@ public class PartyTotalServiceImpl implements PartyTotalService {
     public PageInfo<HashMap<String, Object>> getUserTotalList(int pageNum, int pageSize, String dzzdm, Integer year, String dzzmc) {
 
         PageHelper.startPage(pageNum, pageSize);
-        List<HashMap<String, Object>> list = partyCquery.selectPartyList(appConfig.gddwdm, null, dzzmc, dzzdm, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
+        List<HashMap<String, Object>> list = partyCquery.selectPartyList(appConfig.gddwdm, null, dzzmc, dzzdm, null, null, null, null, null, null, null, null, null, null, null, null, null, null,null);
 
         List<String> dzzdmList = list.stream().map(it -> it.get("DZZDM").toString()).collect(Collectors.toList());
 
@@ -312,7 +312,7 @@ public class PartyTotalServiceImpl implements PartyTotalService {
     @Override
     public PageInfo<HashMap<String, Object>> getZxzxxFaTotalList(int pageNum, int pageSize, String dzzdm, Integer year, String ssdzzdm) {
         PageHelper.startPage(pageNum, pageSize);
-        List<HashMap<String, Object>> list = partyCquery.selectPartyList(appConfig.gddwdm, null, null, dzzdm, null, null, null, null, null, null, null, null, ssdzzdm, null, null, null, null, null);
+        List<HashMap<String, Object>> list = partyCquery.selectPartyList(appConfig.gddwdm, null, null, dzzdm, null, null, null, null, null, null, null, null, ssdzzdm, null, null, null, null, null,null);
 
         List<String> dzzdmList = list.stream().map(it -> it.get("DZZDM").toString()).collect(Collectors.toList());
 
@@ -661,7 +661,7 @@ public class PartyTotalServiceImpl implements PartyTotalService {
     @Override
     public PageInfo<HashMap<String, Object>> getPartyduesQuarterTotalList(int pageNum, int pageSize, Integer year, String dzzdm, String ssdzzdm) {
         PageHelper.startPage(pageNum, pageSize);
-        List<HashMap<String, Object>> list = partyCquery.selectPartyList(appConfig.gddwdm, null, null, dzzdm, null, null, null, null, null, null, null, null, ssdzzdm, null, null, null, null, null);
+        List<HashMap<String, Object>> list = partyCquery.selectPartyList(appConfig.gddwdm, null, null, dzzdm, null, null, null, null, null, null, null, null, ssdzzdm, null, null, null, null, null,null);
 
         List<String> dzzdmList = list.stream().map(it -> it.get("DZZDM").toString()).collect(Collectors.toList());
 

+ 104 - 0
src/main/java/com/ghsc/partybuild/service/impl/ReportDataServiceImpl.java

@@ -0,0 +1,104 @@
+package com.ghsc.partybuild.service.impl;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.ghsc.partybuild.mapper.PtReportdataMapper;
+import com.ghsc.partybuild.mapper.PtReportscoreMapper;
+import com.ghsc.partybuild.mapper.cquery.ReportDataCQuery;
+import com.ghsc.partybuild.model.PtReportdata;
+import com.ghsc.partybuild.model.PtReportdataExample;
+import com.ghsc.partybuild.model.PtReportscore;
+import com.ghsc.partybuild.service.ReportDataService;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.*;
+
+@Service("reportDataService")
+public class ReportDataServiceImpl implements ReportDataService {
+    @Autowired
+    private PtReportdataMapper reportdataMapper;
+    @Autowired
+    private ReportDataCQuery reportDataCQuery;
+    @Autowired
+    private PtReportscoreMapper reportscoreMapper;
+
+    @Override
+    public PageInfo<HashMap<String, Object>> getReportdataList(int pageIndex, int pageSize, Integer year, String dzzdm, String reportUserName, String reportUserId) {
+
+        PageHelper.startPage(pageIndex, pageSize);
+        List<HashMap<String, Object>> list = reportDataCQuery.selectReportdataList(year, dzzdm, reportUserName, reportUserId);
+
+        PageInfo<HashMap<String, Object>> result = new PageInfo(list);
+
+        return result;
+    }
+
+    @Override
+    public PageInfo<HashMap<String, Object>> getReportScoreList(int pageIndex, int pageSize, Integer year, String dzzdm, String reportUserName, String reportUserId, Integer reportResult) {
+
+        PageHelper.startPage(pageIndex, pageSize);
+        List<HashMap<String, Object>> list = reportDataCQuery.selectReportScoreList(year, dzzdm, reportUserName, reportUserId, reportResult);
+
+        PageInfo<HashMap<String, Object>> result = new PageInfo(list);
+
+        return result;
+    }
+
+    @Override
+    public int saveReportScore(PtReportscore dataModel) {
+        PtReportscore dbItem = reportscoreMapper.selectByPrimaryKey(dataModel.getScoreid());
+
+        dataModel.setUpdatetime(new Date());
+        dataModel.setCreatetime(new Date());
+        if (dbItem == null) {
+            reportscoreMapper.insertSelective(dataModel);
+        } else {
+            reportscoreMapper.updateByPrimaryKeySelective(dataModel);
+        }
+        return 1;
+    }
+
+    @Override
+    public int saveReportData(Integer year, String userId, String userName, JSONArray userlist) {
+        for (int n = 0; n < userlist.size(); n++) {
+            JSONObject user = (JSONObject) userlist.get(n);
+            PtReportdataExample example = new PtReportdataExample();
+            example.or().andYearEqualTo(year).andReportuseridEqualTo(user.getString("RYBM"));
+            PtReportdata data = reportdataMapper.selectByExample(example).stream().findFirst().orElse(null);
+            if (data == null) {
+                data = new PtReportdata();
+                data.setReportid(UUID.randomUUID().toString());
+                data.setReportuserid(user.getString("RYBM"));
+                data.setReportusername(user.getString("XM"));
+                data.setYear(year);
+                data.setDzzdm(user.getString("SZDZBDM"));
+                data.setRecordstatus(0);
+                data.setCreatetime(new Date());
+                data.setCreateuserid(userId);
+                data.setCreateusername(userName);
+                reportdataMapper.insertSelective(data);
+            }
+        }
+        ;
+        return 1;
+    }
+
+    @Override
+    public Integer changeReportDataStatus(String reportId, String userId, String userName) {
+        PtReportdata record = new PtReportdata();
+        record.setReportid(reportId);
+        record.setRecordstatus(1);
+        record.setUpdatetime(new Date());
+        record.setUpdateuserid(userId);
+        record.setUpdateusername(userName);
+        return reportdataMapper.updateByPrimaryKeySelective(record);
+    }
+
+    @Override
+    public List<HashMap<String, Object>> getReportDataFleList(String year) {
+        return reportDataCQuery.selectReportDataFleList(year);
+    }
+}

+ 2 - 2
src/main/java/com/ghsc/partybuild/service/impl/SHYKServiceImpl.java

@@ -895,7 +895,7 @@ public class SHYKServiceImpl implements SHYKService {
         zzlbStrList.add("500");
 
         PageHelper.startPage(page, rows);
-        List<HashMap<String, Object>> list = partyCquery.selectPartyList(appConfig.gddwdm, null, null, dzzdm, null, null, null, null, null, null, null, zzlbStrList, ssdzzdm, null, null, null, null, null);
+        List<HashMap<String, Object>> list = partyCquery.selectPartyList(appConfig.gddwdm, null, null, dzzdm, null, null, null, null, null, null, null, zzlbStrList, ssdzzdm, null, null, null, null, null,null);
 
         for (HashMap<String, Object> party : list) {
             List<HashMap<String, Object>> totalList = shykcQuery.selectMeetingTotalNew(party.get("DZZDM").toString(), year, quarter, month1Bt, month1Et, month2Bt, month2Et, month3Bt, month3Et);
@@ -1140,7 +1140,7 @@ public class SHYKServiceImpl implements SHYKService {
     @Override
     public int savePartyPlanMulti(PartyPlanMultiVo dataModel, String dataDzzdm, List<MeetingTargetVo> targetList, String userId) {
         int count = 0;
-        List<HashMap<String, Object>> partyList = partyCquery.selectPartyList(appConfig.gddwdm, null, null, dataDzzdm, dataModel.getPartyType(), null, null, null, null, null, null, null, null, null, null, null, null, null);
+        List<HashMap<String, Object>> partyList = partyCquery.selectPartyList(appConfig.gddwdm, null, null, dataDzzdm, dataModel.getPartyType(), null, null, null, null, null, null, null, null, null, null, null, null, null,null);
         List<String> dzzdms = partyList.stream().map(it -> it.get("DZZDM").toString()).collect(Collectors.toList());
 
         ShykPartytargetExample exp = new ShykPartytargetExample();

+ 15 - 1
src/main/resources/mapping/CQuery/PtCheckdataCQuery.xml

@@ -34,7 +34,18 @@
         </if>
         order by pcnl.year,pcnl.quarter,pcnl.createTime desc
     </select>
-
+    <select id="selectCheckPartyList" resultType="java.util.HashMap">
+        select year,quarter,pcp.partycode,pcp.partyname from pt_checkParty pcp
+        inner join pt_checkNameList pcnl on pcnl.nameId=pcp.nameId
+        <where>
+            <if test="year != null">
+                and pcnl.year = #{year}
+            </if>
+            <if test="quarter != null">
+                and pcnl.quarter = #{quarter}
+            </if>
+        </where>
+    </select>
     <select id="selectCheckDataList" resultType="java.util.HashMap">
         select  pcd.dataid, pcd.dzzdm, pcd.year, pcd.leadingdepartment, pcd.checkdatauserid, pcd.checkdatausername, pcd.recordstatus,
                 pcd.createtime, pcd.createuserid, pcd.createusername, pcd.updatetime, pcd.updateuserid, pcd.updateusername, pcd.remark
@@ -74,6 +85,9 @@
         inner join (select pcn.year,pcn.quarter, pcn.checkUserId,pcp.partyCode  from pt_checkNameList pcn inner join pt_checkParty pcp on pcn.nameId=pcp.nameId ) cp on pcs.dzzdm=cp.partyCode and pcs.checkUserId=cp.checkUserId
         and cp.year=pcs.year and cp.quarter=pcs.quarter
         <where>
+            <if test="checkuserid != null and checkuserid != ''">
+                and pcs.checkuserid =#{checkuserid}
+            </if>
             <if test="year != null">
                 and pcs.year = #{year}
             </if>

+ 68 - 0
src/main/resources/mapping/CQuery/PtReportDataCQuery.xml

@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.ghsc.partybuild.mapper.cquery.ReportDataCQuery">
+
+    <select id="selectReportdataList" resultType="java.util.HashMap">
+        select prd.reportid, prd.dzzdm, prd.year, prd.reportuserid, prd.reportusername, prd.recordstatus,
+        prd.createtime, prd.createuserid, prd.createusername, prd.updatetime, prd.updateuserid, prd.updateusername
+        ,zz.dzzmc,file.filenames from pt_reportdata prd
+        inner join ZZ_ZZQKXX zz on prd.dzzdm = zz.DZZDM
+        left join(
+        select fl.FILEREFID, GROUP_CONCAT(FILENAME order by FILENAME SEPARATOR ', ') as filenames
+        from cf_file fl
+        group by fl.FILEREFID
+        ) file on prd.reportId =file.FILEREFID
+        <where>
+            <if test="year != null">
+                and prd.year = #{year}
+            </if>
+            <if test="dzzdm != null and dzzdm != ''">
+                and prd.dzzdm like concat('%',#{dzzdm},'%')
+            </if>
+            <if test="reportUserName != null and reportUserName != ''">
+                and prd.reportUserName =#{reportUserName}
+            </if>
+            <if test="reportUserId != null and reportUserId != ''">
+                and prd.reportUserId =#{reportUserId}
+            </if>
+        </where>
+    </select>
+    <select id="selectReportDataFleList" resultType="java.util.HashMap" parameterType="java.lang.String">
+        select prd.reportid, prd.dzzdm, prd.year, prd.reportuserid, prd.reportusername, prd.recordstatus,
+        prd.createtime, prd.createuserid, prd.createusername, prd.updatetime, prd.updateuserid, prd.updateusername
+        ,zz.dzzmc,cf.filename,cf.fileurl
+        from pt_reportdata prd inner join ZZ_ZZQKXX zz on prd.dzzdm = zz.DZZDM
+        left join cf_file cf on prd.reportid = cf.FILEREFID
+        where prd.recordstatus=1
+        <if test="year != null and year != ''">
+            and prd.year = #{year}
+        </if>
+    </select>
+
+    <select id="selectReportScoreList" resultType="java.util.HashMap">
+        select prd.reportid, prd.dzzdm, prd.year, prd.reportuserid, prd.reportusername
+        ,ifnull(prs.scoreid,UUID()) scoreid, prs.writtenscore, prs.scenescore, prs.dailyscore, ifnull(prs.total,0) total, prs.remark, prs.reportresult, prs.createtime, prs.createuserid, prs.createusername, prs.updatetime, prs.updateuserid, prs.updateusername
+        ,zz.dzzmc,dic.DICVALUE as reportresultname from pt_reportdata prd
+        inner join ZZ_ZZQKXX zz on prd.dzzdm = zz.DZZDM
+        left join pt_reportScore prs on prd.reportId = prs.reportId
+        left join CF_DICTIONARY dic on prs.reportResult=dic.DICKEY and dic.DICTYPEKEY='reportResult'
+        <where>
+            and prd.recordstatus=1
+            <if test="year != null">
+                and prd.year = #{year}
+            </if>
+            <if test="dzzdm != null and dzzdm != ''">
+                and prd.dzzdm like concat('%',#{dzzdm},'%')
+            </if>
+            <if test="reportUserName != null and reportUserName != ''">
+                and prd.reportUserName =#{reportUserName}
+            </if>
+            <if test="reportUserId != null and reportUserId != ''">
+                and prd.reportUserId =#{reportUserId}
+            </if>
+            <if test="reportResult != null">
+                and prs.reportResult = #{reportResult}
+            </if>
+        </where>
+    </select>
+</mapper>

+ 24 - 24
src/main/resources/mapping/CfUsersMapper.xml

@@ -89,7 +89,7 @@
     </if>
   </select>
   <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
-    select 
+    select
     <include refid="Base_Column_List" />
     from cf_users
     where USERID = #{userid,jdbcType=VARCHAR}
@@ -105,14 +105,14 @@
     </if>
   </delete>
   <insert id="insert" parameterType="com.ghsc.partybuild.model.CfUsers">
-    insert into cf_users (USERID, APPLICATIONID, USERNAME, 
-      ISANONYMOUS, LASTACTIVITYDATE, USERPWD, 
-      FORCELOGINOUT, OAUSERID, OAUSERSFZ
-      )
-    values (#{userid,jdbcType=VARCHAR}, #{applicationid,jdbcType=VARCHAR}, #{username,jdbcType=VARCHAR}, 
-      #{isanonymous,jdbcType=INTEGER}, #{lastactivitydate,jdbcType=TIMESTAMP}, #{userpwd,jdbcType=VARCHAR}, 
-      #{forceloginout,jdbcType=DECIMAL}, #{oauserid,jdbcType=VARCHAR}, #{oausersfz,jdbcType=VARCHAR}
-      )
+    insert into cf_users (USERID, APPLICATIONID, USERNAME,
+                          ISANONYMOUS, LASTACTIVITYDATE, USERPWD,
+                          FORCELOGINOUT, OAUSERID, OAUSERSFZ
+    )
+    values (#{userid,jdbcType=VARCHAR}, #{applicationid,jdbcType=VARCHAR}, #{username,jdbcType=VARCHAR},
+            #{isanonymous,jdbcType=INTEGER}, #{lastactivitydate,jdbcType=TIMESTAMP}, #{userpwd,jdbcType=VARCHAR},
+            #{forceloginout,jdbcType=DECIMAL}, #{oauserid,jdbcType=VARCHAR}, #{oausersfz,jdbcType=VARCHAR}
+           )
   </insert>
   <insert id="insertSelective" parameterType="com.ghsc.partybuild.model.CfUsers">
     insert into cf_users
@@ -219,14 +219,14 @@
   <update id="updateByExample" parameterType="map">
     update cf_users
     set USERID = #{record.userid,jdbcType=VARCHAR},
-      APPLICATIONID = #{record.applicationid,jdbcType=VARCHAR},
-      USERNAME = #{record.username,jdbcType=VARCHAR},
-      ISANONYMOUS = #{record.isanonymous,jdbcType=INTEGER},
-      LASTACTIVITYDATE = #{record.lastactivitydate,jdbcType=TIMESTAMP},
-      USERPWD = #{record.userpwd,jdbcType=VARCHAR},
-      FORCELOGINOUT = #{record.forceloginout,jdbcType=DECIMAL},
-      OAUSERID = #{record.oauserid,jdbcType=VARCHAR},
-      OAUSERSFZ = #{record.oausersfz,jdbcType=VARCHAR}
+    APPLICATIONID = #{record.applicationid,jdbcType=VARCHAR},
+    USERNAME = #{record.username,jdbcType=VARCHAR},
+    ISANONYMOUS = #{record.isanonymous,jdbcType=INTEGER},
+    LASTACTIVITYDATE = #{record.lastactivitydate,jdbcType=TIMESTAMP},
+    USERPWD = #{record.userpwd,jdbcType=VARCHAR},
+    FORCELOGINOUT = #{record.forceloginout,jdbcType=DECIMAL},
+    OAUSERID = #{record.oauserid,jdbcType=VARCHAR},
+    OAUSERSFZ = #{record.oausersfz,jdbcType=VARCHAR}
     <if test="_parameter != null">
       <include refid="Update_By_Example_Where_Clause" />
     </if>
@@ -264,13 +264,13 @@
   <update id="updateByPrimaryKey" parameterType="com.ghsc.partybuild.model.CfUsers">
     update cf_users
     set APPLICATIONID = #{applicationid,jdbcType=VARCHAR},
-      USERNAME = #{username,jdbcType=VARCHAR},
-      ISANONYMOUS = #{isanonymous,jdbcType=INTEGER},
-      LASTACTIVITYDATE = #{lastactivitydate,jdbcType=TIMESTAMP},
-      USERPWD = #{userpwd,jdbcType=VARCHAR},
-      FORCELOGINOUT = #{forceloginout,jdbcType=DECIMAL},
-      OAUSERID = #{oauserid,jdbcType=VARCHAR},
-      OAUSERSFZ = #{oausersfz,jdbcType=VARCHAR}
+        USERNAME = #{username,jdbcType=VARCHAR},
+        ISANONYMOUS = #{isanonymous,jdbcType=INTEGER},
+        LASTACTIVITYDATE = #{lastactivitydate,jdbcType=TIMESTAMP},
+        USERPWD = #{userpwd,jdbcType=VARCHAR},
+        FORCELOGINOUT = #{forceloginout,jdbcType=DECIMAL},
+        OAUSERID = #{oauserid,jdbcType=VARCHAR},
+        OAUSERSFZ = #{oausersfz,jdbcType=VARCHAR}
     where USERID = #{userid,jdbcType=VARCHAR}
   </update>
 </mapper>

+ 6 - 0
src/main/resources/mapping/PartyCQuery.xml

@@ -149,6 +149,12 @@
         <if test="partyGroupId != null and partyGroupId != ''">
             and partyGroup.GROUPID like concat('%',#{partyGroupId},'%')
         </if>
+        <if test="notIncludeDzzdmList != null and notIncludeDzzdmList.size()>0">
+            and p.DZZDM not  in
+            <foreach collection="notIncludeDzzdmList" item="dzzdm" index="index" open="(" close=")" separator=",">
+                #{dzzdm}
+            </foreach>
+        </if>
         order by PARENTCODE,NODECODE
     </select>
 

+ 125 - 125
src/main/resources/mapping/SHYKCQuery.xml

@@ -36,22 +36,22 @@
         inner join ZZ_ZZQKXX z on m.partycode=z.dzzdm
         inner join ZZ_ZZQKXX dw on SUBSTR(m.partycode,1,12)=dw.DZZDM
         inner join (
-            select t.meetingId
-                 , GROUP_CONCAT(shykType order by shykType SEPARATOR ', ') as shykTypes
-                 , GROUP_CONCAT(dic.DICVALUE order by shykType SEPARATOR ', ') as shykTypeNames
-                   from SHYK_Meeting_Type t
-                   inner join cf_dictionary dic on t.shykType = dic.DICKEY and dic.DICTYPEKEY = 'shykType'
-                   where 1=1
-            group by meetingId
+        select t.meetingId
+        , GROUP_CONCAT(shykType order by shykType SEPARATOR ', ') as shykTypes
+        , GROUP_CONCAT(dic.DICVALUE order by shykType SEPARATOR ', ') as shykTypeNames
+        from SHYK_Meeting_Type t
+        inner join cf_dictionary dic on t.shykType = dic.DICKEY and dic.DICTYPEKEY = 'shykType'
+        where 1=1
+        group by meetingId
         ) st on m.meetingId = st.meetingId
         <if test="shykType != null and shykType.size()>0">
             inner join (
-                select meetingId from SHYK_Meeting_Type where 1=1
-                and shykType in
-                <foreach collection="shykType" item="shyktype" index="index" open="(" close=")" separator=",">
+            select meetingId from SHYK_Meeting_Type where 1=1
+            and shykType in
+            <foreach collection="shykType" item="shyktype" index="index" open="(" close=")" separator=",">
                 #{shyktype}
             </foreach>
-                group by meetingId
+            group by meetingId
             ) tt on m.meetingId = tt.meetingId
         </if>
         where 1=1 and m.OPERATESTATE in ('A','M')
@@ -131,30 +131,30 @@
 
     <select id="selectMeetingUserList" resultType="java.util.HashMap">
         select mu.MEETINGUSERID, mu.MEETINGID,mu.USERNAME,mu.USERCODE, mu.PARTYNAME,mu.PARTYCODE,
-        mu.SIGNINSTATUS,mu.SIGNINUSERCODE,mu.SIGNINUSERNAME,mu.SIGNINTIME,mu.CHECKINSTATUS,
-        mu.CHECKINUSERCODE,mu.CHECKINUSERNAME, mu.CHECKINTIME,mu.USERREMARK,mu.APPROVESTATUS, mu.APPROVEOPINION,
-        mu.APPROVEUSERCODE,mu.APPROVEUSERNAME,mu.MAKEUUPSTUDY,
-        u.XM,u.SFZH,u.JG,p.DZZMC,xb.HZMC as XBMC,mu.USERCODE as RYBM,u.RYJBXXBS,u.SZDZBDM,
-        (case when ue.MEETINGUSERID is not null then 1 else 0 end) as ISEVALUATE
+               mu.SIGNINSTATUS,mu.SIGNINUSERCODE,mu.SIGNINUSERNAME,mu.SIGNINTIME,mu.CHECKINSTATUS,
+               mu.CHECKINUSERCODE,mu.CHECKINUSERNAME, mu.CHECKINTIME,mu.USERREMARK,mu.APPROVESTATUS, mu.APPROVEOPINION,
+               mu.APPROVEUSERCODE,mu.APPROVEUSERNAME,mu.MAKEUUPSTUDY,
+               u.XM,u.SFZH,u.JG,p.DZZMC,xb.HZMC as XBMC,mu.USERCODE as RYBM,u.RYJBXXBS,u.SZDZBDM,
+               (case when ue.MEETINGUSERID is not null then 1 else 0 end) as ISEVALUATE
         from SHYK_MeetingUser mu
-        inner join VM_RYJBXX u on mu.USERCODE = u.RYBM
-        inner join ZZ_ZZQKXX p on u.SZDZBDM=p.DZZDM
-        left join zd_xbm xb on u.XB=xb.BM -- 性别
-        left join SHYK_USEREVALUATE ue on mu.MEETINGUSERID=ue.MEETINGUSERID and ue.OPERATESTATE not in('D')
+                 inner join VM_RYJBXX u on mu.USERCODE = u.RYBM
+                 inner join ZZ_ZZQKXX p on u.SZDZBDM=p.DZZDM
+                 left join zd_xbm xb on u.XB=xb.BM -- 性别
+                 left join SHYK_USEREVALUATE ue on mu.MEETINGUSERID=ue.MEETINGUSERID and ue.OPERATESTATE not in('D')
         where mu.MEETINGID=#{meetingId}
-        and mu.OPERATESTATE <![CDATA[ <> ]]> 'D'
+          and mu.OPERATESTATE <![CDATA[ <> ]]> 'D'
         order by mu.PARTYCODE,mu.USERCODE
     </select>
-    
+
     <select id="selectMeetingDemocracyReviewList" resultType="com.ghsc.partybuild.vo.shyk.MeetingDemocracyReviewVo">
         select mdr.democracyreviewid ,mdr.meetingid,mdr.usercode,mdr.startdate,mdr.enddate,mdr.democracyreviewresulttype
-        ,mdr.createtime,mdr.createuserid,mdr.updatetime,mdr.updateuserid
-        ,p.dzzdm as partyCode,p.dzzmc as partyName,us.xm as userName
-        ,dic.DICVALUE as democracyReviewResultTypeName
+             ,mdr.createtime,mdr.createuserid,mdr.updatetime,mdr.updateuserid
+             ,p.dzzdm as partyCode,p.dzzmc as partyName,us.xm as userName
+             ,dic.DICVALUE as democracyReviewResultTypeName
         from SHYK_Meeting_DemocracyReview mdr
-        inner join vm_ryjbxx us on mdr.userCode = us.rybm
-        inner join zz_zzqkxx p on us.SZDZBDM = p.dzzdm
-        inner join cf_dictionary dic on dic.DICKEY = mdr.democracyreviewresulttype and dic.DICTYPEKEY='DemocracyReviewResultType'
+                 inner join vm_ryjbxx us on mdr.userCode = us.rybm
+                 inner join zz_zzqkxx p on us.SZDZBDM = p.dzzdm
+                 inner join cf_dictionary dic on dic.DICKEY = mdr.democracyreviewresulttype and dic.DICTYPEKEY='DemocracyReviewResultType'
         where mdr.meetingId = #{meetingId}
         order by p.dzzdm,CONVERT(us.XM USING gbk)
     </select>
@@ -162,7 +162,7 @@
     <select id="selectMeetingTypeList" resultType="com.ghsc.partybuild.vo.shyk.MeetingTypeVo">
         select mt.meetingid,mt.shyktype,dic.DICVALUE as shykTypeName
         from SHYK_Meeting_Type mt
-        inner join cf_dictionary dic on dic.DICKEY = mt.shykType and dic.DICTYPEKEY='shykType'
+                 inner join cf_dictionary dic on dic.DICKEY = mt.shykType and dic.DICTYPEKEY='shykType'
         where mt.meetingId = #{meetingId}
         order by mt.shykType
     </select>
@@ -176,7 +176,7 @@
     <!--删除会议成员-->
     <update id="deteteMeetingUser" parameterType="java.lang.String">
         update SHYK_MeetingUser set OPERATESTATE='D',OPERATETIME=sysdate(),SYNCSTATE='N' where MEETINGID=#{meetingId}
-        and OPERATESTATE <![CDATA[ <> ]]> 'D'
+                                                                                           and OPERATESTATE <![CDATA[ <> ]]> 'D'
     </update>
 
     <!--删除会议民主评议成员-->
@@ -192,13 +192,13 @@
     <!--删除会议议题-->
     <update id="deleteMeetingTopic" parameterType="java.lang.String">
         update shyk_meetingtopic set OPERATESTATE='D',OPERATETIME=sysdate(),SYNCSTATE='N' where MEETINGID=#{meetingId}
-        and OPERATESTATE <![CDATA[ <> ]]> 'D'
+                                                                                            and OPERATESTATE <![CDATA[ <> ]]> 'D'
     </update>
 
     <!--删除会议决议-->
     <update id="deleteMeetingDecision" parameterType="java.lang.String">
         update SHYK_MeetingDecision set OPERATESTATE='D',OPERATETIME=sysdate(),SYNCSTATE='N' where MEETINGID=#{meetingId}
-        and OPERATESTATE <![CDATA[ <> ]]> 'D'
+                                                                                               and OPERATESTATE <![CDATA[ <> ]]> 'D'
     </update>
 
     <!--删除会议-->
@@ -209,12 +209,12 @@
     <!--会议历史地址-->
     <select id="selectHistoryAddressList" resultType="java.util.HashMap">
         select MEETINGADDRESS from (
-        select MEETINGADDRESS,max(CREATETIME) CREATETIME from SHYK_MEETING m
-        where 1=1
-        and m.OPERATESTATE <![CDATA[ <> ]]> 'D'
-        and m.CREATEUSERID=#{userId}
-        group by MEETINGADDRESS
-        ) meet order by CREATETIME desc
+                                       select MEETINGADDRESS,max(CREATETIME) CREATETIME from SHYK_MEETING m
+                                       where 1=1
+                                         and m.OPERATESTATE <![CDATA[ <> ]]> 'D'
+                                         and m.CREATEUSERID=#{userId}
+                                       group by MEETINGADDRESS
+                                   ) meet order by CREATETIME desc
     </select>
 
     <!--统计三会一课-->
@@ -291,7 +291,7 @@
         ) t1
         order by dzzdm,yy,quarter,shyktype,month_order
         ) t1
-           -- piv ot (max(num) for month_order in ('1' as month_first,'2' AS month_second,'3' AS month_third ))
+        -- piv ot (max(num) for month_order in ('1' as month_first,'2' AS month_second,'3' AS month_third ))
         order by dzzdm,yy,quarter,shyktype
         ) t1
         where 1=1
@@ -306,27 +306,27 @@
 
     <select id="selectMeetingTotalNew" resultType="java.util.HashMap">
         select #{dzzdm} as DZZDM,#{year} as YY,#{quarter} as QUARTER,SHYKTYPE,
-        sum(case
-        when BEGINTIME >= date_format(#{month1_bt},'%Y-%m-%d') and BEGINTIME <![CDATA[ < ]]> date_format(#{month1_et},'%Y-%m-%d')
-        then 1
-        else 0 end) as MONTH1,
-        sum(case
-        when BEGINTIME >= date_format(#{month2_bt},'%Y-%m-%d') and BEGINTIME <![CDATA[ < ]]> date_format(#{month2_bt},'%Y-%m-%d')
-        then 1
-        else 0 end) as MONTH2,
-        sum(case
-        when BEGINTIME >= date_format(#{month3_bt},'%Y-%m-%d') and BEGINTIME <![CDATA[ < ]]> date_format(#{month3_bt},'%Y-%m-%d')
-        then 1
-        else 0 end) as MONTH3,
-        count(1) as YEARCOUNT,
-        sum(case when QUARTER(BEGINTIME)=1 then 1 else 0 end) as QUARTERCOUNT1,
-        sum(case when QUARTER(BEGINTIME)=2 then 1 else 0 end) as QUARTERCOUNT2,
-        sum(case when QUARTER(BEGINTIME)=3 then 1 else 0 end) as QUARTERCOUNT3,
-        sum(case when QUARTER(BEGINTIME)=4 then 1 else 0 end) as QUARTERCOUNT4
+               sum(case
+                       when BEGINTIME >= date_format(#{month1_bt},'%Y-%m-%d') and BEGINTIME <![CDATA[ < ]]> date_format(#{month1_et},'%Y-%m-%d')
+                           then 1
+                       else 0 end) as MONTH1,
+               sum(case
+                       when BEGINTIME >= date_format(#{month2_bt},'%Y-%m-%d') and BEGINTIME <![CDATA[ < ]]> date_format(#{month2_bt},'%Y-%m-%d')
+                           then 1
+                       else 0 end) as MONTH2,
+               sum(case
+                       when BEGINTIME >= date_format(#{month3_bt},'%Y-%m-%d') and BEGINTIME <![CDATA[ < ]]> date_format(#{month3_bt},'%Y-%m-%d')
+                           then 1
+                       else 0 end) as MONTH3,
+               count(1) as YEARCOUNT,
+               sum(case when QUARTER(BEGINTIME)=1 then 1 else 0 end) as QUARTERCOUNT1,
+               sum(case when QUARTER(BEGINTIME)=2 then 1 else 0 end) as QUARTERCOUNT2,
+               sum(case when QUARTER(BEGINTIME)=3 then 1 else 0 end) as QUARTERCOUNT3,
+               sum(case when QUARTER(BEGINTIME)=4 then 1 else 0 end) as QUARTERCOUNT4
         from SHYK_MEETING
         where 1=1 and OPERATESTATE not in('D') and SHYKSTATUS not in (2) -- 排除已取消
-        and PARTYCODE =#{dzzdm}
-        and Extract(year from BEGINTIME)=#{year}
+          and PARTYCODE =#{dzzdm}
+          and Extract(year from BEGINTIME)=#{year}
         group by #{dzzdm},SHYKTYPE
         order by SHYKTYPE
     </select>
@@ -431,7 +431,7 @@
             </if>
         </if>
         <if test="shykType != null">
-             and m.SHYKTYPE=#{shykType}
+            and m.SHYKTYPE=#{shykType}
         </if>
         <if test="meetingName != null and meetingName != ''">
             and topic.TOPICNAME like concat('%',#{meetingName},'%')
@@ -457,14 +457,14 @@
     <select id="selectMeetingEvaluateProjectList" resultMap="meetingEvaluateProjectMap">
         select dic.DICKEY as SHYKEVALUATETYPE,dic.DICVALUE as PROJECTNAME,ue.PROJECTID,ue.USEREVALUATEID,ue.SHYKEVALUATERESULTTYPE,ue.SHYKEVALUATERESULTTYPENAME,ue.RECOMMEND
         from (select * from CF_DICTIONARY where DICTYPEKEY='shykEvaluateType') dic
-          left join (
+                 left join (
             select p.SHYKEVALUATETYPE,p.PROJECTID,p.USEREVALUATEID,p.SHYKEVALUATERESULTTYPE,dicResult.DICVALUE as SHYKEVALUATERESULTTYPENAME,p.RECOMMEND
             from SHYK_USEREVALUATE ue
-            inner join SHYK_USEREVALUATEPROJECT p on p.USEREVALUATEID=ue.USEREVALUATEID
-            inner join CF_DICTIONARY dicResult on p.SHYKEVALUATERESULTTYPE=dicResult.DICKEY and dicResult.DICTYPEKEY='shykEvaluateResultType'
+                     inner join SHYK_USEREVALUATEPROJECT p on p.USEREVALUATEID=ue.USEREVALUATEID
+                     inner join CF_DICTIONARY dicResult on p.SHYKEVALUATERESULTTYPE=dicResult.DICKEY and dicResult.DICTYPEKEY='shykEvaluateResultType'
             where ue.OPERATESTATE not in('D') and p.OPERATESTATE not in('D')
-            and ue.MEETINGUSERID=#{meetingUserId}
-          ) ue on dic.DICKEY=ue.SHYKEVALUATETYPE
+              and ue.MEETINGUSERID=#{meetingUserId}
+        ) ue on dic.DICKEY=ue.SHYKEVALUATETYPE
         where 1=1
         order by dic.DICKEY
     </select>
@@ -473,45 +473,45 @@
     <!--删除评分项-->
     <update id="deleteMeetingEvaluateProject" parameterType="java.lang.String">
         update SHYK_USEREVALUATEPROJECT set OPERATESTATE='D',OPERATETIME=sysdate(),SYNCSTATE='N' where USEREVALUATEID=#{userevaluateId}
-        and OPERATESTATE <![CDATA[ <> ]]> 'D'
+                                                                                                   and OPERATESTATE <![CDATA[ <> ]]> 'D'
     </update>
 
 
     <select id="selectMeetingPlanTotalList" resultType="java.util.HashMap">
         select ztp.SHYKTYPE,
         (case ztp.SHYKTYPE
-            when 1 then '党员大会'
-            when 2 then '支委会'
-            when 3 then '党小组会'
-            when 4 then '党课'
-            else '' end) as shykTypeName,
+        when 1 then '党员大会'
+        when 2 then '支委会'
+        when 3 then '党小组会'
+        when 4 then '党课'
+        else '' end) as shykTypeName,
         ztp.DZZDM, ztp.DZZMC, ztp.planType,
         (case ztp.PLANTYPE when 1 then '每月一次'
-            when 2 then '每季度一次'
-            when 3 then '每半年一次'
-            when 4 then '每年一次'
-            else '' end) as planTypeName,
+        when 2 then '每季度一次'
+        when 3 then '每半年一次'
+        when 4 then '每年一次'
+        else '' end) as planTypeName,
         sum(
-          case when m.MEETINGID is not null and ztp.PLANTYPE = 1 and date_format(m.BEGINTIME,'%Y') =  #{year} and date_format(m.BEGINTIME,'%m') = #{month} then 1 -- 每月一次
-          when m.MEETINGID is not null and ztp.PLANTYPE = 2 and date_format(m.BEGINTIME,'%Y') = #{year} and QUARTER(m.BEGINTIME) = #{quarter} then 1 -- 每季度一次
-          when m.MEETINGID is not null and ztp.PLANTYPE = 3 and date_format(m.BEGINTIME,'%Y') = #{year} and  #{quarter} in(1,2) and QUARTER(m.BEGINTIME) in (1,2) then 1 -- 每半年一次
-          when m.MEETINGID is not null and ztp.PLANTYPE = 3 and date_format(m.BEGINTIME,'%Y') = #{year} and  #{quarter} in(3,4) and QUARTER(m.BEGINTIME) in (3,4) then 1 -- 每半年一次
-          when m.MEETINGID is not null and ztp.PLANTYPE = 4 and date_format(m.BEGINTIME,'%Y') = #{year} then 1
-          else 0 end -- 每年一次
+        case when m.MEETINGID is not null and ztp.PLANTYPE = 1 and date_format(m.BEGINTIME,'%Y') =  #{year} and date_format(m.BEGINTIME,'%m') = #{month} then 1 -- 每月一次
+        when m.MEETINGID is not null and ztp.PLANTYPE = 2 and date_format(m.BEGINTIME,'%Y') = #{year} and QUARTER(m.BEGINTIME) = #{quarter} then 1 -- 每季度一次
+        when m.MEETINGID is not null and ztp.PLANTYPE = 3 and date_format(m.BEGINTIME,'%Y') = #{year} and  #{quarter} in(1,2) and QUARTER(m.BEGINTIME) in (1,2) then 1 -- 每半年一次
+        when m.MEETINGID is not null and ztp.PLANTYPE = 3 and date_format(m.BEGINTIME,'%Y') = #{year} and  #{quarter} in(3,4) and QUARTER(m.BEGINTIME) in (3,4) then 1 -- 每半年一次
+        when m.MEETINGID is not null and ztp.PLANTYPE = 4 and date_format(m.BEGINTIME,'%Y') = #{year} then 1
+        else 0 end -- 每年一次
         ) as planCount
         from (
-             select t1.SHYKTYPE,
-             z.DZZDM,
-             z.DZZMC,
-             (case t1.SHYKTYPE
-             when 1 then pn.PLANTYPE_USER
-             when 2 then pn.PLANTYPE_BRANCH
-             when 3 then pn.PLANTYPE_GROUP
-             when 4 then pn.PLANTYPE_CLASS
-             else 99 end) as planType
-             from (select level SHYKTYPE from dual connect by 0 + level <![CDATA[ <= 4 ]]>) t1,
-             ZZ_ZZQKXX z
-             inner join SHYK_PARTYPLAN pn on pn.PARTYCODE = z.DZZDM
+        select t1.SHYKTYPE,
+        z.DZZDM,
+        z.DZZMC,
+        (case t1.SHYKTYPE
+        when 1 then pn.PLANTYPE_USER
+        when 2 then pn.PLANTYPE_BRANCH
+        when 3 then pn.PLANTYPE_GROUP
+        when 4 then pn.PLANTYPE_CLASS
+        else 99 end) as planType
+        from (select level SHYKTYPE from dual connect by 0 + level <![CDATA[ <= 4 ]]>) t1,
+        ZZ_ZZQKXX z
+        inner join SHYK_PARTYPLAN pn on pn.PARTYCODE = z.DZZDM
         ) ztp
         left join SHYK_MEETING m on ztp.DZZDM = m.PARTYCODE and ztp.SHYKTYPE = m.SHYKTYPE and m.OPERATESTATE not in('D') and m.SHYKSTATUS not in (2) -- 排除已取消
         where 1=1
@@ -526,40 +526,40 @@
 
     <select id="selectMyMeetingListForApp" resultType="java.util.HashMap">
         SELECT m.MEETINGID,
-       m.MEETINGNAME,
-       m.SHYKTYPE,
-       z.DZZMC as PARTYNAME ,
-       m.PARTYCODE,
-       m.MEETINGADDRESS,
-       m.CHAIRUSER,
-       m.RECORDUSER,
-       m.BEGINTIME,
-       m.ENDTIME,
-       m.ISTEMP,
-       m.SHYKSTATUS,
-       m.CREATETIME,
-       m.CREATEUSERID,
-       m.CREATEUSERNAME,
-       m.UPDATETIME,
-       m.UPDATEUSERID,
-       m.UPDATEUSERNAME,
-       m.MEETINGAPPROVESTATUS,
-       m.MEETINGAPPROVEUSERNAME,
-       dw.DZZMC as DWMC,
-       m.DECISIONSTATUS,-- 决议填写状态 0保存中,1已提交
-       ISUPLOADIMG, -- 是否上传会议图片 0未上传,1已上传
-       MEETINGRECORDSTATE,-- 会议填写状态 0保存中,1已提交
-       ROUND((ENDTIME - BEGINTIME) * 24,2) as MEETINGTIME, -- 会议时长(小时)
-       (case
-         when BEGINTIME > sysdate() then 1 else 2 end ) as STATUS, -- 1会议未开始,2会议已开始
-       (sysdate()-ENDTIME) as endLongTime -- 会议结束时长
+               m.MEETINGNAME,
+               m.SHYKTYPE,
+               z.DZZMC as PARTYNAME ,
+               m.PARTYCODE,
+               m.MEETINGADDRESS,
+               m.CHAIRUSER,
+               m.RECORDUSER,
+               m.BEGINTIME,
+               m.ENDTIME,
+               m.ISTEMP,
+               m.SHYKSTATUS,
+               m.CREATETIME,
+               m.CREATEUSERID,
+               m.CREATEUSERNAME,
+               m.UPDATETIME,
+               m.UPDATEUSERID,
+               m.UPDATEUSERNAME,
+               m.MEETINGAPPROVESTATUS,
+               m.MEETINGAPPROVEUSERNAME,
+               dw.DZZMC as DWMC,
+               m.DECISIONSTATUS,-- 决议填写状态 0保存中,1已提交
+               ISUPLOADIMG, -- 是否上传会议图片 0未上传,1已上传
+               MEETINGRECORDSTATE,-- 会议填写状态 0保存中,1已提交
+               ROUND((ENDTIME - BEGINTIME) * 24,2) as MEETINGTIME, -- 会议时长(小时)
+               (case
+                    when BEGINTIME > sysdate() then 1 else 2 end ) as STATUS, -- 1会议未开始,2会议已开始
+               (sysdate()-ENDTIME) as endLongTime -- 会议结束时长
         FROM SHYK_MEETING m
-        inner join ZZ_ZZQKXX z on m.PARTYCODE=z.DZZDM
-        inner join ZZ_ZZQKXX dw on SUBSTR(m.PARTYCODE,1,12)=dw.DZZDM
-        inner join SHYK_MEETINGUSER us on m.MEETINGID = us.MEETINGID
+                 inner join ZZ_ZZQKXX z on m.PARTYCODE=z.DZZDM
+                 inner join ZZ_ZZQKXX dw on SUBSTR(m.PARTYCODE,1,12)=dw.DZZDM
+                 inner join SHYK_MEETINGUSER us on m.MEETINGID = us.MEETINGID
         where 1=1 and m.OPERATESTATE <![CDATA[ <> ]]> 'D' and m.SHYKSTATUS <![CDATA[ <> ]]> 2
-        and us.OPERATESTATE <![CDATA[ <> ]]> 'D'
-        and us.USERCODE = #{userId}
+          and us.OPERATESTATE <![CDATA[ <> ]]> 'D'
+          and us.USERCODE = #{userId}
         order by BEGINTIME desc
     </select>
 
@@ -576,7 +576,7 @@
                  inner join cf_dictionary dic_target on pt.targetType = dic_target.DICKEY and dic_target.DICTYPEKEY='SHYK_PartyPlan'
         order by pt.partyCode,pt.shykType
     </select>
-    
+
     <select id="selectMeetingMonthTotalList" resultType="com.ghsc.partybuild.vo.shyk.MeetingMonthTotalVo">
         select m.partyCode,t.shykType,year(m.BEGINTIME) as year,month(m.BEGINTIME) as month,count(1) as count
         from SHYK_MEETING m

+ 1 - 1
src/main/resources/static/app/js/service.js

@@ -1,4 +1,4 @@
-/**
+/**
  ---------------------------------------
  方法:bsselectdata //列表选择
  引用:

+ 28 - 1
src/main/resources/static/app/main/app.js

@@ -3874,7 +3874,34 @@
                     return $ocLazyLoad.load('../main/party/checkData/list.js?' + window.sysVersion);
                 }]
             }
-        });;
+        }).state("home.checkScore", {
+            url: "checkScore",
+            templateUrl: "../main/party/checkScore/list.html?" + window.sysVersion,
+            controller: "checkScoreCtrl",
+            resolve: {
+                load: ['$ocLazyLoad', function ($ocLazyLoad) {
+                    return $ocLazyLoad.load('../main/party/checkScore/list.js?' + window.sysVersion);
+                }]
+            }
+        }).state("home.reportData", {
+            url: "reportData",
+            templateUrl: "../main/party/reportData/list.html?" + window.sysVersion,
+            controller: "reportDataCtrl",
+            resolve: {
+                load: ['$ocLazyLoad', function ($ocLazyLoad) {
+                    return $ocLazyLoad.load('../main/party/reportData/list.js?' + window.sysVersion);
+                }]
+            }
+        }).state("home.reportDataScore", {
+            url: "reportDataScore",
+            templateUrl: "../main/party/reportScore/list.html?" + window.sysVersion,
+            controller: "reportDataScoreCtrl",
+            resolve: {
+                load: ['$ocLazyLoad', function ($ocLazyLoad) {
+                    return $ocLazyLoad.load('../main/party/reportScore/list.js?' + window.sysVersion);
+                }]
+            }
+        });
 
         $bsRouterStateProvider.copyUrlState($stateProvider.getStates());
 

+ 3 - 3
src/main/resources/static/app/main/party/checkData/list.html

@@ -86,7 +86,7 @@
                             <button class="btn  btn-default1"
                                     ng-click="export()">导出
                             </button>
-                            <button class="btn btn-default1" role-permission-code="ztdrxx.btn.btnAdd"
+                            <button class="btn btn-default1"
                                     ng-click="add()">新增
                             </button>
                         </div>
@@ -140,13 +140,13 @@
                                 <tbody>
                                 <tr ng-repeat="it in dataList" zero-table-height>
                                     <td class="text-center">
-                                        <button role-permission-code="ztdrxx.btn.btnEdit"
+                                        <button
                                                 class="btn td-btn bg-light-green waves-effect"
                                                 ng-click="edit(it.dataid)"
                                                 title="修改">
                                             修改
                                         </button>
-                                        <button role-permission-code="ztdrxx.btn.btnDel"
+                                        <button
                                                 class="btn td-btn bg-pink waves-effect"
                                                 ng-click="delete(it.dataid)" title="删除">
                                             删除

+ 4 - 4
src/main/resources/static/app/main/party/checkNameList/list.html

@@ -138,7 +138,7 @@
                             <button class="btn  btn-default1"
                                     ng-click="export()">导出
                             </button>
-                            <button class="btn btn-default1" role-permission-code="ztdrxx.btn.btnAdd"
+                            <button class="btn btn-default1"
                                     ng-click="add()">新增
                             </button>
                         </div>
@@ -180,7 +180,7 @@
 
                                 </tr>
                                 <tr ng-if="pageInfo.ptotal==0">
-                                    <td colspan="9" style="text-align:center">暂无数据</td>
+                                    <td colspan="11" style="text-align:center">暂无数据</td>
                                 </tr>
                                 </tbody>
                             </table>
@@ -207,13 +207,13 @@
                                                 title="禁用">
                                             禁用
                                         </button>
-                                        <button role-permission-code="ztdrxx.btn.btnEdit"
+                                        <button
                                                 class="btn td-btn bg-light-green waves-effect"
                                                 ng-click="edit(it.nameid)"
                                                 title="修改">
                                             修改
                                         </button>
-                                        <button role-permission-code="ztdrxx.btn.btnDel"
+                                        <button
                                                 class="btn td-btn bg-pink waves-effect"
                                                 ng-click="delete(it.nameid)" title="删除">
                                             删除

+ 63 - 54
src/main/resources/static/app/main/party/checkNameList/list.js

@@ -1,5 +1,5 @@
 (function ($app) {
-    $app.module('gtPartyApp').controller('checkNameListCtrl', function ($scope, $http, $modal, $ocLazyLoad, $timeout,$alert, $loading, $state, AuthUser, $partySelect,$stateParams,$bsRouterState) {
+    $app.module('gtPartyApp').controller('checkNameListCtrl', function ($scope, $http, $modal, $ocLazyLoad, $timeout, $alert, $loading, $state, AuthUser, $partySelect, $stateParams, $bsRouterState) {
         $state.params = $bsRouterState.$params($scope);
         $scope.isShow = false;
         $scope.moreTxt = "更多";
@@ -106,7 +106,7 @@
         };
         $scope.getQuartersList();
 
-        $scope.enableStatusList=[];
+        $scope.enableStatusList = [];
         $scope.getEnableStatusList = function () {
             $http({
                 method: 'get',
@@ -131,7 +131,7 @@
             });
         };
 
-        var editCtrl = function ($scope, $http,$partySelect) {
+        var editCtrl = function ($scope, $http, $partySelect) {
             $scope.params = editModal.params;
             $scope.dataModel = editModal.data;
 
@@ -159,8 +159,32 @@
                     }
                 }
             };
+            $scope.selectPartyList = [];
+            $scope.loadselectPartyList=()=>{
+                if ($scope.dataModel.year != null && $scope.dataModel.quarter != null) {
+                    $http
+                    ({
+                        method: 'get', url: '../../api/checkdata/getCheckPartyList', params: {
+                            year: $scope.dataModel.year,
+                            quarter: $scope.dataModel.quarter
+                        }
+                    }).then(function (result) {
+                        $scope.selectPartyList = [];
+                        angular.forEach(result.data.item, (it) => {
+                            $scope.selectPartyList.push(it.partycode);
+                        });
+                        $scope.selectPartyOption.selectParams.notIncludeDzzdmStr = $scope.selectPartyList.join(",");
+                    });
+                }
+            }
+            $scope.$watch("dataModel.year", function () {
+                $scope.loadselectPartyList();
+            });
+            $scope.$watch("dataModel.quarter", function () {
+                $scope.loadselectPartyList();
+            });
 
-            $scope.checkPartyList=[];
+            $scope.checkPartyList = [];
             //选择人员
             $scope.selectPartyOption = {
                 url: '../../api/party/getPartyList',
@@ -174,31 +198,20 @@
                 selectedLabeData: $scope.dataModel.partynames,
                 selectedJData: [],
                 selectParams: {
-                    zzlbList:'400',
-                    dzzdm: $scope.dataModel.takecarepartycode || AuthUser.getUser().DataDzzdm
+                    zzlbList: '400',
+                    dzzdm: $scope.dataModel.takecarepartycode || AuthUser.getUser().DataDzzdm,
                 },
                 onSelect: function (value) {
-                    /*$scope.checkPartyList=[];
-                    if (selecteds && selecteds.length > 0) {
-                        selecteds.forEach(val => {
-                            if ($scope.checkPartyList.filter(it => it.partycode == val.DZZDM).length == 0) {
-                                $scope.checkPartyList.push({
-                                    partycode: val.DZZDM,
-                                    partyname: val.DZZMC,
-                                });
-                            }
-                        });
-                    }*/
                 }
             };
-            $scope.getCheckPartyList=()=>{
-                $scope.checkPartyList=[];
-                var partcodes =$scope.selectPartyOption.selectedValueData.split(",");
-                var partynames =$scope.selectPartyOption.selectedLabeData.split(",");
-                for (var i=0;i<partcodes.length;i++){
+            $scope.getCheckPartyList = () => {
+                $scope.checkPartyList = [];
+                var partcodes = $scope.selectPartyOption.selectedValueData.split(",");
+                var partynames = $scope.selectPartyOption.selectedLabeData.split(",");
+                for (var i = 0; i < partcodes.length; i++) {
                     $scope.checkPartyList.push({
                         partycode: partcodes[i],
-                        partyname:partynames[i],
+                        partyname: partynames[i],
                     });
                 }
             };
@@ -211,8 +224,8 @@
                         method: "post",
                         url: "../../api/checkdata/saveCheckNameList",
                         data: {
-                            dataModel:$scope.dataModel,
-                            checkPartyList:$scope.checkPartyList
+                            dataModel: $scope.dataModel,
+                            checkPartyList: $scope.checkPartyList
                         }
                     }).then(function (result) {
                         $loading.hide();
@@ -221,8 +234,7 @@
                             //重新刷新列表
                             $scope.loadData();
                             $scope.$hide();
-                        }
-                        else {
+                        } else {
                             $scope.showMsg('失败', result.data.msg);
                         }
                     }, function (resp) {
@@ -232,7 +244,7 @@
                 }
             };
         };
-        editCtrl.$inject = ['$scope', '$http','$partySelect'];
+        editCtrl.$inject = ['$scope', '$http', '$partySelect'];
         //定义模态框
         var editModal = $modal({
             resolve: {
@@ -261,7 +273,7 @@
                 }
             }).then(function (result) {
                 if (result.data.item) {
-                    editModal.data  = result.data.item;
+                    editModal.data = result.data.item;
                     editModal.params = {
                         title: '修改名单'
                     };
@@ -286,36 +298,36 @@
                 });
             }
         };
-        $scope.changeStatus = function (id,status) {
+        $scope.changeStatus = function (id, status) {
 
-                $http({
-                    url: "../../api/checkdata/changeCheckNameListStatus",
-                    method: 'post',
-                    data: {nameIdList: id,recordStatus:status}
-                }).then(function (result) {
-                    $scope.showMsg("消息", result.data.msg);
-                    if (result.data.success) {
-                        $scope.loadData();
-                    }
-                });
+            $http({
+                url: "../../api/checkdata/changeCheckNameListStatus",
+                method: 'post',
+                data: {nameIdList: id, recordStatus: status}
+            }).then(function (result) {
+                $scope.showMsg("消息", result.data.msg);
+                if (result.data.success) {
+                    $scope.loadData();
+                }
+            });
         };
-        $scope.disable=()=>{
+        $scope.disable = () => {
             var nameidList = $scope.dataList.filter(it => it.rowChecked == true).map(it => it.nameid);
 
             if (nameidList.length == 0) {
                 $scope.showMsg('消息', "请选择需要禁用的数据");
                 return false;
             }
-            $scope.changeStatus(nameidList,0);
+            $scope.changeStatus(nameidList, 0);
         }
-        $scope.enable=()=>{
+        $scope.enable = () => {
             var nameidList = $scope.dataList.filter(it => it.rowChecked == true).map(it => it.nameid);
 
             if (nameidList.length == 0) {
                 $scope.showMsg('消息', "请选择需要启用的数据");
                 return false;
             }
-            $scope.changeStatus(nameidList,1);
+            $scope.changeStatus(nameidList, 1);
         }
         $scope.export = function () {
             if ($scope.selectparams.dzzdm != "") {
@@ -339,14 +351,11 @@
             });
 
         };
-        $scope.isShowClick = function(){
-            $scope.isShow=!$scope.isShow;
-            if($scope.moreTxt == "更多")
-            {
+        $scope.isShowClick = function () {
+            $scope.isShow = !$scope.isShow;
+            if ($scope.moreTxt == "更多") {
                 $scope.moreTxt = "收起";
-            }
-            else if($scope.moreTxt == "收起")
-            {
+            } else if ($scope.moreTxt == "收起") {
                 $scope.moreTxt = "更多";
             }
         };
@@ -354,15 +363,15 @@
             $scope.selectparams.isunfold = !$scope.selectparams.isunfold;
             $scope.$emit('menudatas.toggle', !$scope.selectparams.isunfold);
         };
-        $scope.reset  = function () {
+        $scope.reset = function () {
 
             $scope.selectparams.year = null;
             $scope.selectparams.quarter = null;
             $scope.selectparams.selectdzzmc = '';
-            $scope.selectparams.checkUserName ='';
+            $scope.selectparams.checkUserName = '';
             $scope.selectparams.partyName = '';
             $scope.selectparams.partyCode = '';
             $scope.selectparams.recordStatus = null;
-         }
+        }
     });
 })(angular);

+ 20 - 1
src/main/resources/static/app/main/party/checkScore/list.html

@@ -12,6 +12,7 @@
              data-zzfbtype="selectparams.zzfbType"
              data-isunfold="selectparams.isunfold"
              data-defaultselected="selectparams.defaultselected"
+             data-datadzzdm="selectparams.datadzzdm"
         ></div>
         <div class="dj-list-content">
             <div class="card">
@@ -69,6 +70,24 @@
                                     </div>
                                 </div>
                                 <div class="row clearfix form-inline" ng-show="isShow">
+                                    <div class="col-lg2 col-md-2 dj-label">
+                                        <label>评分</label>
+                                    </div>
+                                    <div class="col-lg2 col-md-2">
+                                        <div class="form-group" style="display:flex;">
+                                            <div class="form-line">
+                                                <input name="minScore" class="form-control" type="number"
+                                                       ng-model="selectparams.minScore" ng-keypress="($event.which === 13)?search():0"
+                                                       placeholder=""/>
+                                            </div>
+                                            <span style="margin: 6px 10px 0px 10px;text-align: center;">至</span>
+                                            <div class="form-line">
+                                                <input name="maxScore" class="form-control" type="number"
+                                                       ng-model="selectparams.maxScore" ng-keypress="($event.which === 13)?search():0"
+                                                       placeholder=""/>
+                                            </div>
+                                        </div>
+                                    </div>
                                     <div class="col-lg-2 col-md-2 dj-label">
                                         <label>状态</label>
                                     </div>
@@ -145,7 +164,7 @@
                                     <td>{{it.recordstatusname}}</td>
                                 </tr>
                                 <tr ng-if="pageInfo.ptotal==0">
-                                    <td colspan="9" style="text-align:center">暂无数据</td>
+                                    <td colspan="12" style="text-align:center">暂无数据</td>
                                 </tr>
                                 </tbody>
                             </table>

+ 2 - 4
src/main/resources/static/app/main/party/checkScore/list.js

@@ -17,10 +17,9 @@
             'selectdzzdm': '',
             selectdzzmc: '',
             defaultselected: $state.params.dzzdm,
-            parentcode: AuthUser.getUser().ParentDpCode,
+            parentcode: AuthUser.getUser().ParentDpCode.substring(0,12),
             parentname: AuthUser.getUser().ParentDpName,
-            szdzzdm: AuthUser.getUser().DPCode,
-            szdzzmc: AuthUser.getUser().DPName,
+            datadzzdm:AuthUser.getUser().gddwdm,
             dzzdm: '',
             dzzmc: '',
             quarter: null,
@@ -28,7 +27,6 @@
             year: null,
             minScore: null,
             maxScore: null,
-            userid: AuthUser.getUser().Id,
             onlyshow_dw: $stateParams.type == 1 ? 1 : 0,
             remark: '',
         };

+ 52 - 0
src/main/resources/static/app/main/party/reportData/edit.html

@@ -0,0 +1,52 @@
+<div class="modal" tabindex="-1" role="dialog">
+    <div class="modal-dialog" style="width: 900px;">
+        <div class="card">
+            <div class="header">
+                <button type="button" class="close" ng-click="$hide()">&times;</button>
+                <h4 class="modal-title">{{params.title}}</h4>
+            </div>
+            <div activate-input class="body">
+                <form class="form-horizontal" role="form" id="editForm"
+                      name="editForm" ng-submit="save(editForm.$valid)" novalidate>
+                    <div class="dj-formtable">
+                        <table class="dj-table">
+                            <tr>
+                                <th>年份</th>
+                                <td ng-class="{ 'has-error' : this.editForm.year.$invalid &&  this.editForm.$submitted}">
+                                    <input name="year" class="form-control" ng-model="dataModel.year"
+                                           data-date-type="string" data-date-format="yyyy" type="text"
+                                           data-start-view="2" data-min-view="2" autoclose="true" bs-datepicker
+                                           ng-required="true"/>
+                                    <span ng-show="this.editForm.year.$invalid && this.editForm.$submitted"
+                                          class="error">必填.</span>
+                                </td>
+                            </tr>
+                            <tr>
+                                <th>
+                                    选择成员
+                                </th>
+                                <td ng-class="{ 'has-error' : this.editForm.checkusername.$invalid &&  this.editForm.$submitted}">
+                                    <div class="input-group input-group-search"
+                                         data-dataoptions="selectUserlist"
+                                         title="选择成员" bsselectdata-pro>
+                                        <input name="checkusername" type="text" ng-model="selectUserlist.selectedLabeData"
+                                               class="form-control" ng-required="true"
+                                               ng-disabled="true"/>
+                                        <span class="input-group-addon"><i class="material-icons">search</i></span>
+                                    </div>
+                                    <span ng-show="this.editForm.checkusername.$invalid && this.editForm.$submitted"
+                                          class="error">必填.</span>
+                                </td>
+                            </tr>
+                        </table>
+                    </div>
+
+                    <div class="form_foot">
+                        <button type="button" class="btn btn-default" ng-click="$hide()">取消</button>
+                        <button type="submit" class="btn btn-primary" form="editForm">提交</button>
+                    </div>
+                </form>
+            </div>
+        </div>
+    </div>
+</div>

+ 158 - 0
src/main/resources/static/app/main/party/reportData/list.html

@@ -0,0 +1,158 @@
+<titlemenu></titlemenu>
+<div class="dj-list">
+    <div class="dj-list-body">
+        <div party-tree data-selectdzzdm="selectparams.selectdzzdm" data-selectdzzmc="selectparams.selectdzzmc"
+             data-isshowxz="0"
+             data-parentcode="selectparams.parentcode"
+             data-parentname="selectparams.parentname"
+             data-dzzdm="selectparams.szdzzdm" data-userid="selectparams.userid"
+             data-dzzmc="selectparams.szdzzmc"
+             data-showtogglebtn="true"
+             data-onlyshowdw="selectparams.onlyshow_dw"
+             data-zzfbtype="selectparams.zzfbType"
+             data-isunfold="selectparams.isunfold"
+             data-defaultselected="selectparams.defaultselected"
+        ></div>
+        <div class="dj-list-content">
+            <div class="card">
+                <div activate-input activate-select class="header search-header">
+                    <div fold-partytree data-isunfold="selectparams.isunfold"></div>
+                    <div class="search-param-panel">
+                        <div class="search-input">
+                            <form class="form-horizontal">
+                                <div class="row clearfix form-inline">
+                                    <div class="col-lg-2 col-md-2 dj-label">
+                                        <label>当前选中组织</label>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2">
+                                        <div class="form-group">
+                                            <div class="form-line">
+                                                <div class="input-group input-group-search">
+                                                    <input name="selectdzzmc" type="text" style="min-width: 90px"
+                                                           ng-model="selectparams.selectdzzmc" class="form-control"
+                                                           ng-disabled="true"/>
+                                                    <span class="input-group-addon"
+                                                          ng-click="setisunfold()">选择</span>
+                                                </div>
+                                            </div>
+                                        </div>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2 dj-label">
+                                        <label>年度</label>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2">
+                                        <div class="form-group">
+                                            <div class="form-line">
+                                                <select class="form-control show-tick" ng-model="selectparams.year" ng-change="search()"
+                                                        ng-options="type.dickey as type.dicvalue for type in yearList"
+                                                        class="form-control"
+                                                        name="year">
+                                                    <option value="" selected>--全部--</option>
+                                                </select>
+                                            </div>
+                                        </div>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2">
+                                        <label>姓名</label>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2">
+                                        <div class="form-group">
+                                            <div class="form-line">
+                                                <input name="reportUserName" class="form-control" type="text"
+                                                       ng-model="selectparams.reportUserName"
+                                                       placeholder=""/>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </div>
+                            </form>
+                        </div>
+                        <div class="search-btn" style="margin-right: 20px;">
+                            <div style="min-width: 13em">
+                                 <button class="btn btn-default1"
+                                        ng-click="search()">查询
+                                </button>
+                                <button  class="btn btn-default1 btn-reset"
+                                        ng-click="reset()">重置
+                                </button>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="search-btn" style="margin-right: 20px;">
+                        <div style="float: right">
+                            <button class="btn  btn-default1" role-permission-code="reportData.generate"
+                                    ng-click="generate()">生成述职名单
+                            </button>
+                            <button class="btn btn-default1" role-permission-code="reportData.downZip"
+                                    ng-click="export()">打包下载
+                            </button>
+                        </div>
+                    </div>
+                </div>
+                <div class="body">
+                    <div class="zero-list-table-panel">
+                        <div class="zero-source-table-div">
+                            <table class="table table-bordered table-striped table-hover js-basic-example dataTable text-nowrap">
+                                <thead>
+                                <tr>
+                                    <th class="th-select" th-select-all datalist="dataList"></th>
+                                    <th>序号</th>
+                                    <th>所在组织</th>
+                                    <th>姓名</th>
+                                    <th>年度</th>
+                                    <th>是否已上传</th>
+                                    <th>述职材料名称</th>
+                                    <th>上传人</th>
+                                    <th>上传时间</th>
+                                </tr>
+                                </thead>
+                                <tbody>
+                                <tr ng-repeat="it in dataList">
+                                    <td class="text-center">
+                                        <input type="checkbox" id="{{pageId}}_md_checkbox_{{$index+1}}" class="filled-in chk-col-red" ng-model="it.rowChecked" />
+                                        <label class="checkbox_lable" style="top:6px;"
+                                               for="{{pageId}}_md_checkbox_{{$index+1}}"></label>
+                                    </td>
+                                    <td scope="row" class="text-center">
+                                        {{selectparams.pagesize*(selectparams.pageindex-1)+$index+1}}
+                                    </td>
+                                    <td>{{it.dzzmc}}</td>
+                                    <td>{{it.reportusername}}</td>
+                                    <td class="text-center">{{it.year}}</td>
+                                    <td>{{it.recordstatus==1?"已上传":"未上传"}}</td>
+                                    <td>{{it.filenames}}</td>
+                                    <td>{{it.updateusername}}</td>
+                                    <td>{{it.updatetime|date:'yyyy-MM-dd'}}</td>
+                                </tr>
+                                <tr ng-if="pageInfo.ptotal==0">
+                                    <td colspan="11" style="text-align:center">暂无数据</td>
+                                </tr>
+                                </tbody>
+                            </table>
+                        </div>
+                        <div class="zero-target-table-div">
+                            <table class="table table-bordered table-striped table-hover js-basic-example dataTable text-nowrap">
+                                <thead>
+                                <th>操作</th>
+                                </thead>
+                                <tbody>
+                                <tr ng-repeat="it in dataList" zero-table-height>
+                                    <td class="text-center">
+                                        <button
+                                                class="btn td-btn bg-pink waves-effect"
+                                                ng-click="uploadFile(it.reportid)" title="上传">
+                                            上传
+                                        </button>
+                                    </td>
+                                </tr>
+                                </tbody>
+                            </table>
+                        </div>
+                    </div>
+                    <pagination data-pageindex="selectparams.pageindex" data-pagesize="selectparams.pagesize"
+                                data-ptotal="pageInfo.ptotal"></pagination>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>

+ 222 - 0
src/main/resources/static/app/main/party/reportData/list.js

@@ -0,0 +1,222 @@
+(function ($app) {
+    $app.module('gtPartyApp').controller('reportDataCtrl', function ($scope, $http, $modal, $ocLazyLoad, $timeout, $alert, $loading, $state, AuthUser, $bsfiles, $partySelect, $stateParams, $bsRouterState) {
+        $state.params = $bsRouterState.$params($scope);
+        $scope.isShow = false;
+        $scope.moreTxt = "更多";
+        $scope.pageId = "checkNameList";
+
+        //定义数据集合
+        $scope.dataList = []; //列表数据
+        $scope.yearList = [];
+        $scope.quarterList = [];
+
+        //初始化查询参数
+        $scope.selectparams = {
+            isunfold: false,//组织结构树展开收缩
+            'pageindex': 1,
+            'pagesize': 10,
+            'selectdzzdm': '',
+            selectdzzmc: '',
+            defaultselected: $state.params.dzzdm,
+            parentcode: AuthUser.getUser().ParentDpCode,
+            parentname: AuthUser.getUser().ParentDpName,
+            szdzzdm: AuthUser.getUser().DPCode,
+            szdzzmc: AuthUser.getUser().DPName,
+            dzzdm: '',
+            dzzmc: '',
+            recordStatus: null,
+            year: null,
+            userid: AuthUser.getUser().Id,
+            onlyshow_dw: $stateParams.type == 1 ? 1 : 0,
+            reportUserName: '',
+            partyCode: '',
+            partyName: ''
+        };
+
+        $scope.pageInfo = {ptotal: 0};
+        //监视页数变化
+        $scope.$watch("selectparams.pageindex", function (newVal, oldVal) {
+            if ($scope.pageInfo.ptotal > 0) {
+                $scope.loadData();
+            }
+        });
+        //监视党组织选中变化
+        $scope.$watch("selectparams.selectdzzdm", function (newVal, oldVal) {
+            if (newVal != '' && newVal != null) {
+
+                if ($scope.selectparams.defaultselected != "" && $scope.selectparams.defaultselected != null &&
+                    $scope.selectparams.defaultselected != $scope.selectparams.selectdzzdm)
+                    return;
+                $scope.selectparams.defaultselected = "";
+                $scope.selectparams.dzzdm = $scope.selectparams.selectdzzdm;
+                $scope.loadData();
+            }
+        });
+
+        //查询
+        $scope.search = function () {
+            $scope.loadData();
+        };
+        $scope.getYearsList = function () {
+            $http({
+                method: 'get',
+                url: '../../api/dictionary/getDictionaryListByDicTypeKey',
+                params: {dicTypeKey: 'years'}
+            }).then(function (result) {
+                $scope.yearList = result.data;
+            }, function (resp) {
+
+            });
+        };
+        $scope.getYearsList();
+
+        //加载列表数据
+        $scope.loadData = function () {
+            $http
+            ({
+                method: 'get', url: '../../api/reportData/getReportdataList', params: $scope.selectparams
+            }).then(function (result) {
+                $scope.dataList = result.data.item.list;
+                $scope.pageInfo.ptotal = result.data.item.total;
+            });
+        };
+
+        var editCtrl = function ($scope, $http, $partySelect) {
+            $scope.params = editModal.params;
+            $scope.dataModel = editModal.data;
+            $scope.userlist = [];
+
+            $scope.selectUserlist = {
+                url: '../../api/partyUser/getPartyUserList',
+                title: '人员选择',
+                isMulti: true,
+                selectData: {xm: '姓名', szdzb: '所在组织架构'},
+                columns: {XM: '姓名', XBMC: '性别', JG: '籍贯', DZZMC: '所在组织架构'},
+                selectLabelKey: 'XM',
+                selectValuekey: 'RYJBXXBS',
+                selectedValueData: '',
+                selectedLabeData: '',
+                selectedJData: [],
+                selectParams: {
+                    ryzt: '2,3',
+                    dzzdm: AuthUser.getUser().DataDzzdm
+                },
+                onSelect: function (selectIds, selecteds) {
+                    $scope.userlist = selecteds;
+                }
+            };
+
+            //保存
+            $scope.save = function (isflag) {
+                if (isflag) {
+                    $loading.show();
+                    $http({
+                        method: "post",
+                        url: "../../api/reportData/saveReportData",
+                        data: {
+                            year: $scope.dataModel.year,
+                            userlist: $scope.userlist
+                        }
+                    }).then(function (result) {
+                        $loading.hide();
+                        if (result.data.success) {
+                            $scope.showMsg('成功', result.data.msg);
+                            //重新刷新列表
+                            $scope.loadData();
+                            $scope.$hide();
+                        } else {
+                            $scope.showMsg('失败', result.data.msg);
+                        }
+                    }, function (resp) {
+                        $loading.hide();
+                        $scope.showMsg('错误', '服务器错误');
+                    });
+                }
+            };
+        };
+        editCtrl.$inject = ['$scope', '$http', '$partySelect'];
+        //定义模态框
+        var editModal = $modal({
+            resolve: {
+                load: ['$ocLazyLoad', function ($ocLazyLoad) {
+                }]
+            },
+            scope: $scope,
+            controller: editCtrl,
+            templateUrl: '../main/party/reportData/edit.html',
+            show: false,
+            animation: 'am-fade-and-slide-top'
+        });
+
+        //新增编辑
+        $scope.generate = function () {
+            editModal.params = {
+                title: '生成述职名单'
+            };
+            editModal.data = {};
+            editModal.$promise.then(editModal.show);
+        };
+
+        $scope.uploadFile = function (reportId) {
+            $bsfiles.addFile({
+                selectdata: {FileRefID: reportId, pageindex: 1, pagesize: 10, ptotal: 0},
+                readonly: false,
+                filetype: 1,
+                typeparams: {
+                    types: ['doc', 'docx', 'xls', 'xlsx', 'pdf'],
+                    errormsg: '不允许上传的文件格式'
+                }
+            }).then(function (fid) {
+                $http({
+                    method: 'get',
+                    url: '../../api/reportData/changeReportDataStatus',
+                    params: {reportId: reportId}
+                }).then(function (result) {
+                    $scope.loadData();
+                }, function (resp) {
+                });
+            });
+        }
+        $scope.export = function () {
+            if ($scope.selectparams.year == '' || $scope.selectparams.year == null) {
+                $scope.showMsg("消息", '请选择年度');
+                return;
+            }
+            var params = "?1=1";
+            for (var p in $scope.selectparams) {
+                if ($scope.selectparams[p] !== '' && $scope.selectparams[p] !== null)
+                    params += ("&" + p + "=" + encodeURI($scope.selectparams[p]));
+            }
+            window.open('../../api/reportData/downReportDataZip' + params);
+        };
+
+        $scope.showMsg = function (title, content) {
+            $alert({
+                title: title + ':',
+                content: content,
+                placement: 'top',
+                type: 'info',
+                show: true,
+                duration: 3
+            });
+
+        };
+        $scope.isShowClick = function () {
+            $scope.isShow = !$scope.isShow;
+            if ($scope.moreTxt == "更多") {
+                $scope.moreTxt = "收起";
+            } else if ($scope.moreTxt == "收起") {
+                $scope.moreTxt = "更多";
+            }
+        };
+        $scope.setisunfold = function () {
+            $scope.selectparams.isunfold = !$scope.selectparams.isunfold;
+            $scope.$emit('menudatas.toggle', !$scope.selectparams.isunfold);
+        };
+        $scope.reset = function () {
+            $scope.selectparams.year = null;
+            $scope.selectparams.selectdzzmc = '';
+            $scope.selectparams.reportUserName = '';
+        }
+    });
+})(angular);

+ 96 - 0
src/main/resources/static/app/main/party/reportScore/edit.html

@@ -0,0 +1,96 @@
+<div class="modal" tabindex="-1" role="dialog">
+    <div class="modal-dialog" style="width: 900px;">
+        <div class="card">
+            <div class="header">
+                <button type="button" class="close" ng-click="$hide()">&times;</button>
+                <h4 class="modal-title">{{params.title}}</h4>
+            </div>
+            <div activate-input class="body">
+                <form class="form-horizontal" role="form" id="editForm"
+                      name="editForm" ng-submit="save(editForm.$valid)" novalidate>
+                    <div class="dj-formtable">
+                        <table class="dj-table">
+                            <tr>
+                                <th style="width: 20%">
+                                    姓名
+                                </th>
+                                <td style="width: 20%">
+                                    {{dataModel.reportusername}}
+                                </td>
+                                <th style="width: 20%">所在党组织</th>
+                                <td >
+                                    {{dataModel.dzzmc}}
+                                </td>
+                            </tr>
+                            <tr>
+                                <th>年份</th>
+                                <td>
+                                    {{dataModel.year}}
+                                </td>
+                                <th>书面述职评分</th>
+                                <td ng-class="{ 'has-error' : this.editForm.writtenscore.$invalid &&  this.editForm.$submitted}">
+                                    <input name="writtenscore" class="form-control"
+                                           ng-required="true" type="number" ng-pattern="/^[0-9]+(.[0-9]{2})?$/" step="0.01"
+                                           ng-model="dataModel.writtenscore"/>
+                                    <label ng-show="this.editForm.writtenscore.$invalid &&  this.editForm.$submitted"
+                                           class="error">请输入正确评分.</label>
+                                </td>
+                            </tr>
+                            <tr>
+                                <th>现场述职评分</th>
+                                <td ng-class="{ 'has-error' : this.editForm.scenescore.$invalid &&  this.editForm.$submitted}">
+                                    <input name="scenescore" class="form-control"
+                                           ng-required="true" type="number" ng-pattern="/^[0-9]+(.[0-9]{2})?$/" step="0.01"
+                                           ng-model="dataModel.scenescore"/>
+                                    <label ng-show="this.editForm.scenescore.$invalid &&  this.editForm.$submitted"
+                                           class="error">请输入正确评分.</label>
+                                </td>
+                                <th>日常党建工作考核评分</th>
+                                <td ng-class="{ 'has-error' : this.editForm.dailyscore.$invalid &&  this.editForm.$submitted}">
+                                    <input name="dailyscore" class="form-control"
+                                           ng-required="true" type="number" ng-pattern="/^[0-9]+(.[0-9]{2})?$/" step="0.01"
+                                           ng-model="dataModel.dailyscore"/>
+                                    <label ng-show="this.editForm.dailyscore.$invalid &&  this.editForm.$submitted"
+                                           class="error">请输入正确评分.</label>
+                                </td>
+                            </tr>
+                            <tr>
+                                <th>述职评分(总分)</th>
+                                <td ng-class="{ 'has-error' : this.editForm.total.$invalid &&  this.editForm.$submitted}">
+                                    <input name="total" class="form-control"
+                                           ng-required="true" type="number" ng-pattern="/^[0-9]+(.[0-9]{2})?$/" step="0.01"
+                                           ng-model="dataModel.total"/>
+                                    <label ng-show="this.editForm.total.$invalid &&  this.editForm.$submitted"
+                                           class="error">请输入正确评分.</label>
+                                </td>
+                                <th>评议结果</th>
+                                <td ng-class="{ 'has-error' : this.editForm.reportresult.$invalid &&  this.editForm.$submitted}">
+                                    <select class="form-control show-tick" ng-model="dataModel.reportresult"
+                                            ng-options="type.dickey as type.dicvalue for type in reportResultList"
+                                            class="form-control"
+                                            name="reportresult" ng-required="true">
+                                        <option value="" selected>--全部--</option>
+                                    </select>
+                                    <span ng-show="this.editForm.reportresult.$invalid &&  this.editForm.$submitted"
+                                          class="error">必填.</span>
+                                </td>
+                            </tr>
+                            <tr>
+                                <th >备注</th>
+                                <td colspan="5">
+                                   <textarea name="remark" ng-model="dataModel.remark"
+                                             class="form-control" rows="3"></textarea>
+                                </td>
+                            </tr>
+                        </table>
+                    </div>
+                    <bsfiles ng-model="reqFileModel"/>
+                    <div class="form_foot">
+                        <button type="button" class="btn btn-default" ng-click="$hide()">取消</button>
+                        <button type="submit" class="btn btn-primary" form="editForm">提交</button>
+                    </div>
+                </form>
+            </div>
+        </div>
+    </div>
+</div>

+ 165 - 0
src/main/resources/static/app/main/party/reportScore/list.html

@@ -0,0 +1,165 @@
+<titlemenu></titlemenu>
+<div class="dj-list">
+    <div class="dj-list-body">
+        <div party-tree data-selectdzzdm="selectparams.selectdzzdm" data-selectdzzmc="selectparams.selectdzzmc"
+             data-isshowxz="0"
+             data-parentcode="selectparams.parentcode"
+             data-parentname="selectparams.parentname"
+             data-dzzdm="selectparams.szdzzdm" data-userid="selectparams.userid"
+             data-dzzmc="selectparams.szdzzmc"
+             data-showtogglebtn="true"
+             data-onlyshowdw="selectparams.onlyshow_dw"
+             data-zzfbtype="selectparams.zzfbType"
+             data-isunfold="selectparams.isunfold"
+             data-defaultselected="selectparams.defaultselected"
+        ></div>
+        <div class="dj-list-content">
+            <div class="card">
+                <div activate-input activate-select class="header search-header">
+                    <div fold-partytree data-isunfold="selectparams.isunfold"></div>
+                    <div class="search-param-panel">
+                        <div class="search-input">
+                            <form class="form-horizontal">
+                                <div class="row clearfix form-inline">
+                                    <div class="col-lg-2 col-md-2 dj-label">
+                                        <label>当前选中组织</label>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2">
+                                        <div class="form-group">
+                                            <div class="form-line">
+                                                <div class="input-group input-group-search">
+                                                    <input name="selectdzzmc" type="text" style="min-width: 90px"
+                                                           ng-model="selectparams.selectdzzmc" class="form-control"
+                                                           ng-disabled="true"/>
+                                                    <span class="input-group-addon"
+                                                          ng-click="setisunfold()">选择</span>
+                                                </div>
+                                            </div>
+                                        </div>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2 dj-label">
+                                        <label>年度</label>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2">
+                                        <div class="form-group">
+                                            <div class="form-line">
+                                                <select class="form-control show-tick" ng-model="selectparams.year" ng-change="search()"
+                                                        ng-options="type.dickey as type.dicvalue for type in yearList"
+                                                        class="form-control"
+                                                        name="year">
+                                                    <option value="" selected>--全部--</option>
+                                                </select>
+                                            </div>
+                                        </div>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2">
+                                        <label>核查人员姓名</label>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2">
+                                        <div class="form-group">
+                                            <div class="form-line">
+                                                <input name="reportUserName" class="form-control" type="text"
+                                                       ng-model="selectparams.reportUserName"
+                                                       placeholder=""/>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </div>
+                                <div class="row clearfix form-inline" ng-show="isShow">
+                                    <div class="col-lg-2 col-md-2 dj-label">
+                                        <label>评议结果</label>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2">
+                                        <div class="form-group">
+                                            <div class="form-line">
+                                                <select class="form-control show-tick" ng-model="selectparams.reportResult" ng-change="search()"
+                                                        ng-options="type.dickey as type.dicvalue for type in reportResultList"
+                                                        class="form-control"
+                                                        name="reportResult">
+                                                    <option value="" selected>--全部--</option>
+                                                </select>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </div>
+                            </form>
+                        </div>
+                        <div class="search-btn" style="margin-right: 20px;">
+                            <div style="min-width: 13em">
+                                <span class="moreSpan" ng-click="isShowClick()" style='padding-right:1em;cursor:pointer;'>{{moreTxt}}<i class="material-icons" style="position: relative;top:7px;">{{isShow ? 'expand_less' : 'expand_more'}}</i></span>
+                                <button class="btn btn-default1"
+                                        ng-click="search()">查询
+                                </button>
+                                <button  class="btn btn-default1 btn-reset"
+                                        ng-click="reset()">重置
+                                </button>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="search-btn" style="margin-right: 20px;">
+                        <div style="float: right">
+                        </div>
+                    </div>
+                </div>
+                <div class="body">
+                    <div class="zero-list-table-panel">
+                        <div class="zero-source-table-div">
+                            <table class="table table-bordered table-striped table-hover js-basic-example dataTable text-nowrap">
+                                <thead>
+                                <tr>
+                                    <th>序号</th>
+                                    <th>所在组织</th>
+                                    <th>姓名</th>
+                                    <th>年度</th>
+                                    <th>述职评分(总分)</th>
+                                    <th>评议结果</th>
+                                    <th>录入人</th>
+                                    <th>录入时间</th>
+                                </tr>
+                                </thead>
+                                <tbody>
+                                <tr ng-repeat="it in dataList">
+                                    <td scope="row" class="text-center">
+                                        {{selectparams.pagesize*(selectparams.pageindex-1)+$index+1}}
+                                    </td>
+                                    <td>{{it.dzzmc}}</td>
+                                    <td>{{it.reportusername}}</td>
+                                    <td class="text-center">{{it.year}}</td>
+                                    <td class="text-center">{{it.total}}</td>
+                                    <td>{{it.reportresultname}}</td>
+                                    <td class="text-center">{{it.updateusername}}</td>
+                                    <td>{{it.updatetime|date:'yyyy-MM-dd'}}</td>
+                                </tr>
+                                <tr ng-if="pageInfo.ptotal==0">
+                                    <td colspan="9" style="text-align:center">暂无数据</td>
+                                </tr>
+                                </tbody>
+                            </table>
+                        </div>
+                        <div class="zero-target-table-div">
+                            <table class="table table-bordered table-striped table-hover js-basic-example dataTable text-nowrap">
+                                <thead>
+                                <th>操作</th>
+                                </thead>
+                                <tbody>
+                                <tr ng-repeat="it in dataList" zero-table-height>
+                                    <td class="text-center">
+
+                                        <button
+                                                class="btn td-btn bg-pink waves-effect"
+                                                ng-click="score(it)" title="评分">
+                                            评分
+                                        </button>
+                                    </td>
+                                </tr>
+                                </tbody>
+                            </table>
+                        </div>
+                    </div>
+                    <pagination data-pageindex="selectparams.pageindex" data-pagesize="selectparams.pagesize"
+                                data-ptotal="pageInfo.ptotal"></pagination>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>

+ 210 - 0
src/main/resources/static/app/main/party/reportScore/list.js

@@ -0,0 +1,210 @@
+(function ($app) {
+    $app.module('gtPartyApp').controller('reportDataScoreCtrl', function ($scope, $http, $modal, $ocLazyLoad, $timeout, $alert, $loading, $state, AuthUser, $partySelect, $stateParams, $bsRouterState) {
+        $state.params = $bsRouterState.$params($scope);
+        $scope.isShow = false;
+        $scope.moreTxt = "更多";
+        $scope.pageId = "checkNameList";
+
+        //定义数据集合
+        $scope.dataList = []; //列表数据
+        $scope.yearList = [];
+        $scope.quarterList = [];
+
+        //初始化查询参数
+        $scope.selectparams = {
+            isunfold: false,//组织结构树展开收缩
+            'pageindex': 1,
+            'pagesize': 10,
+            'selectdzzdm': '',
+            selectdzzmc: '',
+            defaultselected: $state.params.dzzdm,
+            parentcode: AuthUser.getUser().ParentDpCode,
+            parentname: AuthUser.getUser().ParentDpName,
+            szdzzdm: AuthUser.getUser().DPCode,
+            szdzzmc: AuthUser.getUser().DPName,
+            dzzdm: '',
+            dzzmc: '',
+            reportResult: null,
+            year: null,
+            userid: AuthUser.getUser().Id,
+            onlyshow_dw: $stateParams.type == 1 ? 1 : 0,
+            reportUserName: '',
+            partyCode: '',
+            partyName: ''
+        };
+
+        $scope.pageInfo = {ptotal: 0};
+        //监视页数变化
+        $scope.$watch("selectparams.pageindex", function (newVal, oldVal) {
+            if ($scope.pageInfo.ptotal > 0) {
+                $scope.loadData();
+            }
+        });
+        //监视党组织选中变化
+        $scope.$watch("selectparams.selectdzzdm", function (newVal, oldVal) {
+            if (newVal != '' && newVal != null) {
+
+                if ($scope.selectparams.defaultselected != "" && $scope.selectparams.defaultselected != null &&
+                    $scope.selectparams.defaultselected != $scope.selectparams.selectdzzdm)
+                    return;
+
+                $scope.selectparams.defaultselected = "";
+
+                $scope.selectparams.dzzdm = $scope.selectparams.selectdzzdm;
+                $scope.loadData();
+            }
+        });
+
+        //查询
+        $scope.search = function () {
+            $scope.loadData();
+        };
+        $scope.getYearsList = function () {
+            $http({
+                method: 'get',
+                url: '../../api/dictionary/getDictionaryListByDicTypeKey',
+                params: {dicTypeKey: 'years'}
+            }).then(function (result) {
+                $scope.yearList = result.data;
+            }, function (resp) {
+
+            });
+        };
+        $scope.getYearsList();
+
+
+        $scope.reportResultList = [];
+        $scope.getReportResultList = function () {
+            $http({
+                method: 'get',
+                url: '../../api/dictionary/getDictionaryListByDicTypeKey',
+                params: {dicTypeKey: 'reportResult'}
+            }).then(function (result) {
+                $scope.reportResultList = result.data;
+            }, function (resp) {
+
+            });
+        };
+        $scope.getReportResultList();
+
+        //加载列表数据
+        $scope.loadData = function () {
+            $http
+            ({
+                method: 'get', url: '../../api/reportData/getReportScoreList', params: $scope.selectparams
+            }).then(function (result) {
+                $scope.dataList = result.data.item.list;
+                $scope.pageInfo.ptotal = result.data.item.total;
+            });
+        };
+
+        var editCtrl = function ($scope, $http, $partySelect) {
+            $scope.params = editModal.params;
+            $scope.dataModel = editModal.data;
+            $scope.reportResultList = $scope.$parent.$parent.reportResultList;
+
+            $scope.reqFileModel = {
+                selectdata: {FileRefID: $scope.dataModel.scoreid, pageindex: 1, pagesize: 10, ptotal: 0},//查询参数:FileRefID为文件关联ID
+                filetype: 71,//文件类型
+                items: [],//列表数据地址
+                readonly: false,//是否只能查看
+                title: '附件',
+                addFileButton: '上传',
+                typeparams: {
+                    types: ['jpg', 'bmp', 'png', 'gif', 'jpe', 'jpeg', 'txt', 'pdf', 'doc', 'docx', 'xls', 'xlsx'],
+                    errormsg: '格式必须为*.jpg,*.gif,*.png,*.bmp,*.jpe,*.jpeg,*.txt,*.pdf,*.doc,*.docx,*.xls,*.xlsx等格式'
+                }
+            };
+            //保存
+            $scope.save = function (isflag) {
+                if (isflag) {
+                    $loading.show();
+                    $http({
+                        method: "post",
+                        url: "../../api/reportData/saveReportScore",
+                        data: $scope.dataModel
+                    }).then(function (result) {
+                        $loading.hide();
+                        if (result.data.success) {
+                            $scope.showMsg('成功', result.data.msg);
+                            //重新刷新列表
+                            $scope.loadData();
+                            $scope.$hide();
+                        } else {
+                            $scope.showMsg('失败', result.data.msg);
+                        }
+                    }, function (resp) {
+                        $loading.hide();
+                        $scope.showMsg('错误', '服务器错误');
+                    });
+                }
+            };
+        };
+        editCtrl.$inject = ['$scope', '$http', '$partySelect'];
+        //定义模态框
+        var editModal = $modal({
+            resolve: {
+                load: ['$ocLazyLoad', function ($ocLazyLoad) {
+                }]
+            },
+            scope: $scope,
+            controller: editCtrl,
+            templateUrl: '../main/party/reportScore/edit.html',
+            show: false,
+            animation: 'am-fade-and-slide-top'
+        });
+
+        //新增编辑
+        $scope.score = function (it) {
+            editModal.params = {
+                title: ' 述职评议评分'
+            };
+            editModal.data = it;
+            editModal.$promise.then(editModal.show);
+        };
+
+        $scope.export = function () {
+            if ($scope.selectparams.dzzdm != "") {
+                var params = "?1=1";
+                for (var p in $scope.selectparams) {
+                    if ($scope.selectparams[p] !== '' && $scope.selectparams[p] !== null)
+                        params += ("&" + p + "=" + encodeURI($scope.selectparams[p]));
+                }
+                window.open('../../api/partyTowExt/exportZtdrxx' + params);
+            }
+        };
+
+        $scope.showMsg = function (title, content) {
+            $alert({
+                title: title + ':',
+                content: content,
+                placement: 'top',
+                type: 'info',
+                show: true,
+                duration: 3
+            });
+
+        };
+        $scope.isShowClick = function () {
+            $scope.isShow = !$scope.isShow;
+            if ($scope.moreTxt == "更多") {
+                $scope.moreTxt = "收起";
+            } else if ($scope.moreTxt == "收起") {
+                $scope.moreTxt = "更多";
+            }
+        };
+        $scope.setisunfold = function () {
+            $scope.selectparams.isunfold = !$scope.selectparams.isunfold;
+            $scope.$emit('menudatas.toggle', !$scope.selectparams.isunfold);
+        };
+        $scope.reset = function () {
+
+            $scope.selectparams.year = null;
+            $scope.selectparams.selectdzzmc = '';
+            $scope.selectparams.reportUserName = '';
+            $scope.selectparams.partyName = '';
+            $scope.selectparams.partyCode = '';
+            $scope.selectparams.reportResult = null;
+        }
+    });
+})(angular);